@loxia-labs/loxia-autopilot-one 1.0.15 → 1.0.16
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/README.md +2 -2
- package/bin/cli.js +1 -1
- package/bin/loxia-terminal-v2.js +1 -1
- package/bin/loxia-terminal.js +1 -1
- package/bin/start-with-terminal.js +1 -1
- package/package.json +1 -1
- package/scripts/install-scanners.js +1 -1
- package/src/analyzers/CSSAnalyzer.js +1 -1
- package/src/analyzers/ConfigValidator.js +1 -1
- package/src/analyzers/ESLintAnalyzer.js +1 -1
- package/src/analyzers/JavaScriptAnalyzer.js +1 -1
- package/src/analyzers/PrettierFormatter.js +1 -1
- package/src/analyzers/PythonAnalyzer.js +1 -1
- package/src/analyzers/SecurityAnalyzer.js +1 -1
- package/src/analyzers/TypeScriptAnalyzer.js +1 -1
- package/src/analyzers/codeCloneDetector/analyzer.js +1 -1
- package/src/analyzers/codeCloneDetector/detector.js +1 -1
- package/src/analyzers/codeCloneDetector/index.js +1 -1
- package/src/analyzers/codeCloneDetector/parser.js +1 -1
- package/src/analyzers/codeCloneDetector/reporter.js +1 -1
- package/src/analyzers/codeCloneDetector/scanner.js +1 -1
- package/src/core/agentPool.js +1 -1
- package/src/core/agentScheduler.js +1 -1
- package/src/core/contextManager.js +1 -1
- package/src/core/messageProcessor.js +1 -1
- package/src/core/orchestrator.js +1 -1
- package/src/core/stateManager.js +1 -1
- package/src/index.js +1 -1
- package/src/interfaces/cli.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/advancedFeatures.test.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/agentControl.test.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/agents.test.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/components.test.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/connection.test.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/enhancements.test.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/imports.test.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/messages.test.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/tools.test.js +1 -1
- package/src/interfaces/terminal/api/apiClient.js +1 -1
- package/src/interfaces/terminal/api/messageRouter.js +1 -1
- package/src/interfaces/terminal/api/session.js +1 -1
- package/src/interfaces/terminal/api/websocket.js +1 -1
- package/src/interfaces/terminal/components/AgentCreator.js +1 -1
- package/src/interfaces/terminal/components/AgentEditor.js +1 -1
- package/src/interfaces/terminal/components/AgentSwitcher.js +1 -1
- package/src/interfaces/terminal/components/ErrorBoundary.js +1 -1
- package/src/interfaces/terminal/components/ErrorPanel.js +1 -1
- package/src/interfaces/terminal/components/Header.js +1 -1
- package/src/interfaces/terminal/components/HelpPanel.js +1 -1
- package/src/interfaces/terminal/components/InputBox.js +1 -1
- package/src/interfaces/terminal/components/Layout.js +1 -1
- package/src/interfaces/terminal/components/LoadingSpinner.js +1 -1
- package/src/interfaces/terminal/components/MessageList.js +1 -1
- package/src/interfaces/terminal/components/MultilineTextInput.js +1 -1
- package/src/interfaces/terminal/components/SearchPanel.js +1 -1
- package/src/interfaces/terminal/components/SettingsPanel.js +1 -1
- package/src/interfaces/terminal/components/StatusBar.js +1 -1
- package/src/interfaces/terminal/components/TextInput.js +1 -1
- package/src/interfaces/terminal/config/agentEditorConstants.js +1 -1
- package/src/interfaces/terminal/config/constants.js +1 -1
- package/src/interfaces/terminal/index.js +1 -1
- package/src/interfaces/terminal/state/useAgentControl.js +1 -1
- package/src/interfaces/terminal/state/useAgents.js +1 -1
- package/src/interfaces/terminal/state/useConnection.js +1 -1
- package/src/interfaces/terminal/state/useMessages.js +1 -1
- package/src/interfaces/terminal/state/useTools.js +1 -1
- package/src/interfaces/terminal/utils/debugLogger.js +1 -1
- package/src/interfaces/terminal/utils/settingsStorage.js +1 -1
- package/src/interfaces/terminal/utils/theme.js +1 -1
- package/src/interfaces/webServer.js +1 -1
- package/src/modules/fileExplorer/controller.js +1 -1
- package/src/modules/fileExplorer/index.js +1 -1
- package/src/modules/fileExplorer/middleware.js +1 -1
- package/src/modules/fileExplorer/routes.js +1 -1
- package/src/services/agentActivityService.js +1 -1
- package/src/services/aiService.js +1 -1
- package/src/services/apiKeyManager.js +1 -1
- package/src/services/benchmarkService.js +1 -1
- package/src/services/budgetService.js +1 -1
- package/src/services/contextInjectionService.js +1 -1
- package/src/services/conversationCompactionService.js +1 -1
- package/src/services/errorHandler.js +1 -1
- package/src/services/fileAttachmentService.js +1 -1
- package/src/services/modelRouterService.js +1 -1
- package/src/services/modelsService.js +1 -1
- package/src/services/qualityInspector.js +1 -1
- package/src/services/tokenCountingService.js +1 -1
- package/src/tools/agentCommunicationTool.js +1 -1
- package/src/tools/agentDelayTool.js +1 -1
- package/src/tools/asyncToolManager.js +1 -1
- package/src/tools/baseTool.js +1 -1
- package/src/tools/browserTool.js +1 -1
- package/src/tools/cloneDetectionTool.js +1 -1
- package/src/tools/dependencyResolverTool.js +1 -1
- package/src/tools/fileContentReplaceTool.js +1 -1
- package/src/tools/fileSystemTool.js +1 -1
- package/src/tools/fileTreeTool.js +1 -1
- package/src/tools/imageTool.js +1 -1
- package/src/tools/importAnalyzerTool.js +1 -1
- package/src/tools/jobDoneTool.js +1 -1
- package/src/tools/seekTool.js +1 -1
- package/src/tools/staticAnalysisTool.js +1 -1
- package/src/tools/taskManagerTool.js +1 -1
- package/src/tools/terminalTool.js +1 -1
- package/src/tools/webTool.js +1 -1
- package/src/types/agent.js +1 -1
- package/src/types/contextReference.js +1 -1
- package/src/types/conversation.js +1 -1
- package/src/types/toolCommand.js +1 -1
- package/src/utilities/attachmentValidator.js +1 -1
- package/src/utilities/configManager.js +1 -1
- package/src/utilities/constants.js +1 -1
- package/src/utilities/directoryAccessManager.js +1 -1
- package/src/utilities/fileProcessor.js +1 -1
- package/src/utilities/logger.js +1 -1
- package/src/utilities/tagParser.js +1 -1
- package/src/utilities/toolConstants.js +1 -1
- package/src/utilities/userDataDir.js +1 -1
- package/web-ui/build/index.html +2 -2
- package/web-ui/build/static/index-DFmFvOoy.css +1 -0
- package/web-ui/build/static/{index-CR8edPA3.js → index-DOk0l6Kf.js} +73 -73
- package/web-ui/build/static/index-uN7nOVvZ.css +0 -1
package/src/tools/seekTool.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
function a0_0x20a3(){const _0x47f688=['u2vHCMnOihrLCM0G','zxHLy3v0zq','zNjVBq','Bg9Nz2vY','ihnLyxjJAcb0zxjTCWOTie1HEca','BM90rM91BMq','x19WEwnHy2HLx18','zMLSzvbHDgG','lNb5','CMvZB2X2zq','y3DK','ihrVDgfSig1HDgnOzxmGAw4G','tufyx0zjtevtx1bfuL9trufsq0G','zgLZDa','lNn2zW','Bwf4','AxnqyxrOqwnJzxnZAwjSzq','zMLSzvbHDgHZ','zM9YBwf0uMvZDwX0CW','lMrSBa','lMnVBMy','y292zxjHz2u','Aw5JBhvKzxm','D3jPDgvfBMfIBgvKrgLYzwn0B3jPzxm','Bwf0y2HLC0j5vgvYBq','zxjYB3i','rMLSzsbWyxrOia','lMDPDa','mtaZmJK4nerVAKHXsq','ks4Gu29TzsbTyxrJAgvZig1HEsbUB3qGyMuGC2HVD24UcG','BwvZC2fNzq','lNnV','DhjPBq','mJrdvMT0zwm','icHPCYbHigrPCMvJDg9YEsWGBM90igeGzMLSzsK','lNHTBa','C2vHCMnOvgvYBxm','lNnJC3m','ndGWnZC2DfzTB3fW','C2vLA0nVBMzPzW','zM91BMq','lM1VDG','AxneAxjLy3rVCNK','lNr0zG','y3vZDg9TvMfSAwrHDgvqyxjHBwv0zxjZ','ig1HDgnOzxmGDg90ywWkicaGia','CMvHzgrPCG','D29YA2LUz0rPCMvJDg9YEq','CMvHze9UBhLeAxjLy3rVCMLLCW','DgvZDa','nti2mZjPEeTHwMK','lMjTCa','mZK2mdu1q0DWtuPH','icaTia','lMH0BwW','CMvZB2X2zuzPBgvqyxrOCW','yMfZzw5HBwu','oIbWyxrOihrYyxzLCNnHBcaOlI4Pig5VDcbHBgXVD2vKigzVCIbZzwn1CML0Eq','C3vIC3rYAw5N','Bwf0y2HLC1bHDhrLCM4','xcqM','DgLTzw91Da','lMDV','rgLYzwn0B3j5ig5VDcbMB3vUzcbMB3iGz2XVyIbWyxr0zxjU','lMr5BgLI','lMrHDa','CMvSyxrPDMu','lNrVBwW','rMfPBgvKihrVihbHCNnLihnLzwSGCgfYyw1LDgvYCW','C2L6zq','igzPBguOCYKUcG','C2HVDwXKu2TPCezPBgu','zw50CMLLCW','lMLUAq','lIbvC2uGBw9YzsbZCgvJAwzPyYbMAwXLihbHDhrLCM5ZlG','zxHLyW','y2XLyw51Ca','rKLmrvmGtK9uiezpvu5eoGO','ChvZAa','AgfZ','DMvUzg9Y','z2v0uMvXDwLYzwrqyxjHBwv0zxjZ','mJeXndyZz1LIsu9R','CMvWBgfJzq','BgvUz3rO','Dg9mB3DLCKnHC2u','tufyx1rpvefmx01bvenirvm','C3rYAw5N','kIOV','Aw5MBW','qMfZzsbKAxjLy3rVCNKGBM90igzVDw5KigzVCIbNBg9IihbHDhrLCM4','BgLUzu51BwjLCG','rMLSzsb0B28GBgfYz2uGka','zxnJyxbLuMvNrxHW','CgfYC2u','tufyx0zjtevFu0LArq','z2v0rgvZy3jPChrPB24','ywrK','CM91BMq','AxnbCNjHEq','twf4Aw11BsbKAxjLy3rVCNKGzgvWDgGGCMvHy2HLza','C3rHDa','BwLU','4PQG77IpicbnyxHPBxvTig1HDgnOzxmGBgLTAxqGCMvHy2HLzcaO','rxjYB3iGCMvHzgLUzYbKAxjLy3rVCNK','vxnPBMCGywDLBNqGy29UzMLNDxjLzcbKAxjLy3rVCNKGywnJzxnZ','twf4Aw11BsbTyxrJAgvZihbLCIbMAwXLihjLywnOzwq','u2vLAYb0B29Sigv4zwn1DgLVBIbMywLSzwq','C2vLAW','lMDPzG','lI4U','lNbUzW','zxHWyw5Kr2XVyLbHDhrLCM4','D2fYBG','lNnXBgL0zq','lMnZCW','BwfW','Aw5KzxHpzG','oIbTDxn0igjLigeGBM9UlwvTChr5ihn0CMLUzW','CgfYC2vqyxjHBwv0zxjZ','ntq4mtyZt1jjD05g','BgLUzunVBNrLBNq','B3v0','rMfPBgvKihrVihjLywqGzMLSztOG','C3bSAxq','lNrHCG','CMvHzezPBgu','tufyx01bvenirvnFuevsx0zjteu','lMPZ','tufyx0rjuKvdve9swv9ervbusa','qxqGBgvHC3qGB25LihnLyxjJAcb0zxjTigLZihjLCxvPCMvK','lMPHDMe','AM9PBG','lNPPCa','mtC1ode4CuTPu1nY','DgvYBq','icHUB3qGysbYzwD1BgfYigzPBguP','Bwf0y2HLCW','tufyx1nfqvjdsf9urvjnuW','iIaO'];a0_0x20a3=function(){return _0x47f688;};return a0_0x20a3();}const a0_0x9dac87=a0_0x5140;(function(_0x2ee0f0,_0x266a28){const _0x480ed5=a0_0x5140,_0x35f762=_0x2ee0f0();while(!![]){try{const _0x49f4d2=parseInt(_0x480ed5(0x11e))/0x1+parseInt(_0x480ed5(0xe6))/0x2+parseInt(_0x480ed5(0xd8))/0x3+parseInt(_0x480ed5(0x112))/0x4+-parseInt(_0x480ed5(0x120))/0x5+-parseInt(_0x480ed5(0x108))/0x6+parseInt(_0x480ed5(0xb2))/0x7*(-parseInt(_0x480ed5(0x10d))/0x8);if(_0x49f4d2===_0x266a28)break;else _0x35f762['push'](_0x35f762['shift']());}catch(_0x1a51fe){_0x35f762['push'](_0x35f762['shift']());}}}(a0_0x20a3,0x18c4e));import{BaseTool}from'./baseTool.js';function a0_0x5140(_0x52bd22,_0x447376){_0x52bd22=_0x52bd22-0xa3;const _0x20a3ef=a0_0x20a3();let _0x5140bf=_0x20a3ef[_0x52bd22];if(a0_0x5140['pVorZP']===undefined){var _0x3555e2=function(_0x3268cb){const _0xe80e4d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x6a542e='',_0x14461c='';for(let _0x5e285f=0x0,_0x34cc36,_0x1889ea,_0x179479=0x0;_0x1889ea=_0x3268cb['charAt'](_0x179479++);~_0x1889ea&&(_0x34cc36=_0x5e285f%0x4?_0x34cc36*0x40+_0x1889ea:_0x1889ea,_0x5e285f++%0x4)?_0x6a542e+=String['fromCharCode'](0xff&_0x34cc36>>(-0x2*_0x5e285f&0x6)):0x0){_0x1889ea=_0xe80e4d['indexOf'](_0x1889ea);}for(let _0x38938a=0x0,_0x22e9ec=_0x6a542e['length'];_0x38938a<_0x22e9ec;_0x38938a++){_0x14461c+='%'+('00'+_0x6a542e['charCodeAt'](_0x38938a)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x14461c);};a0_0x5140['oaaUnR']=_0x3555e2,a0_0x5140['iIPASl']={},a0_0x5140['pVorZP']=!![];}const _0x4de0b3=_0x20a3ef[0x0],_0x2179a8=_0x52bd22+_0x4de0b3,_0xa66d30=a0_0x5140['iIPASl'][_0x2179a8];return!_0xa66d30?(_0x5140bf=a0_0x5140['oaaUnR'](_0x5140bf),a0_0x5140['iIPASl'][_0x2179a8]=_0x5140bf):_0x5140bf=_0xa66d30,_0x5140bf;}import a0_0x6a542e from'../utilities/tagParser.js';import{promises as a0_0x14461c}from'fs';import a0_0x5e285f from'path';const SEEK_CONFIG={'MAX_FILE_SIZE':0xa*0x400*0x400,'MAX_FILES_PER_SEARCH':0x3e8,'MAX_MATCHES_PER_FILE':0x64,'MAX_TOTAL_MATCHES':0x1f4,'MAX_SEARCH_TERMS':0x32,'MAX_FILE_PATHS':0x64,'MAX_DIRECTORY_DEPTH':0x14,'MAX_LINE_CONTENT_LENGTH':0xc8,'CONTEXT_LINES_BEFORE':0x0,'CONTEXT_LINES_AFTER':0x0},FILE_ENCODING='utf-8',BINARY_EXTENSIONS=new Set([a0_0x9dac87(0xcf),'.jpg','.jpeg',a0_0x9dac87(0xcd),a0_0x9dac87(0x11f),'.ico',a0_0x9dac87(0xfa),'.pdf',a0_0x9dac87(0xe5),a0_0x9dac87(0xdd),'.gz','.rar','.7z','.exe',a0_0x9dac87(0xff),a0_0x9dac87(0x10b),a0_0x9dac87(0x12c),'.mp3','.mp4','.avi',a0_0x9dac87(0x115),'.wmv','.woff','.woff2',a0_0x9dac87(0x117),'.eot','.bin',a0_0x9dac87(0x12d),'.db',a0_0x9dac87(0xd2)]);class SeekTool extends BaseTool{constructor(_0x34cc36={},_0x1889ea=null){const _0xbfaf11=a0_0x9dac87;super(_0x34cc36,_0x1889ea),this['requiresProject']=!![],this['isAsync']=!![],this[_0xbfaf11(0x129)]=_0x34cc36['timeout']||0x1d4c0,this['seekConfig']={...SEEK_CONFIG,..._0x34cc36['seekConfig']};}[a0_0x9dac87(0xc0)](){const _0x570a99=a0_0x9dac87;return'\x0aSeek\x20Tool:\x20Search\x20for\x20specific\x20content\x20within\x20project\x20files.\x20Ideal\x20for\x20verifying\x20imports,\x20function\x20usage,\x20and\x20variable\x20references.\x0a\x0aUSAGE:\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22seek\x22,\x0a\x20\x20\x22filePaths\x22:\x20[\x22src/**/*.js\x22,\x20\x22package.json\x22],\x0a\x20\x20\x22searchTerms\x22:\x20[\x22import\x20React\x22,\x20\x22useState\x22]\x0a}\x0a```\x0a\x0aPARAMETERS:\x0a-\x20filePaths:\x20Array\x20of\x20file\x20paths\x20or\x20glob\x20patterns\x0a-\x20searchTerms:\x20Array\x20of\x20search\x20strings\x20(case-sensitive,\x20exact\x20match)\x0a\x0aGLOB\x20PATTERNS:\x0a-\x20*.js\x20\x20\x20\x20\x20\x20\x20\x20\x20-\x20All\x20.js\x20files\x20in\x20directory\x0a-\x20**/*.js\x20\x20\x20\x20\x20\x20-\x20All\x20.js\x20files\x20recursively\x0a-\x20src/**/*.jsx\x20-\x20All\x20.jsx\x20files\x20under\x20src/\x0a\x0aEXAMPLES:\x0a\x0aFind\x20function\x20usage:\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22seek\x22,\x0a\x20\x20\x22filePaths\x22:\x20[\x22src/components/*.js\x22,\x20\x22src/utils/helpers.js\x22],\x0a\x20\x20\x22searchTerms\x22:\x20[\x22function\x20handleSubmit\x22,\x20\x22useState(\x22]\x0a}\x0a```\x0a\x0aVerify\x20imports:\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22seek\x22,\x0a\x20\x20\x22filePaths\x22:\x20[\x22src/components/Header.js\x22],\x0a\x20\x20\x22searchTerms\x22:\x20[\x22import\x20React\x22,\x20\x22from\x20\x27react\x27\x22]\x0a}\x0a```\x0a\x0aSearch\x20all\x20JS\x20files:\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22seek\x22,\x0a\x20\x20\x22filePaths\x22:\x20[\x22src/**/*.js\x22],\x0a\x20\x20\x22searchTerms\x22:\x20[\x22apiClient\x22,\x20\x22config.apiUrl\x22]\x0a}\x0a```\x0a\x0aLIMITS:\x0a-\x20Max\x20'+SEEK_CONFIG[_0x570a99(0xf8)]+'\x20files\x20per\x20search\x0a-\x20Max\x20'+SEEK_CONFIG[_0x570a99(0xea)]+_0x570a99(0xf0)+SEEK_CONFIG[_0x570a99(0xbf)]/(0x400*0x400)+'MB\x20per\x20file\x0a-\x20Max\x20'+SEEK_CONFIG[_0x570a99(0xb6)]+_0x570a99(0x119);}[a0_0x9dac87(0xd7)](_0x179479){const _0x2afa09=a0_0x9dac87;try{if(_0x179479[_0x2afa09(0x10c)]()['startsWith']('{')){const _0x3c7f89=JSON[_0x2afa09(0xbe)](_0x179479);return{'filePaths':_0x3c7f89['filePaths']||[],'searchTerms':_0x3c7f89['searchTerms']||[]};}const _0x38938a={'filePaths':[],'searchTerms':[]},_0x22e9ec=/<in-files>([\s\S]*?)<\/in-files>/i,_0x474186=_0x22e9ec['exec'](_0x179479);if(_0x474186){const _0x4ccbf4=_0x474186[0x1];_0x38938a['filePaths']=_0x4ccbf4[_0x2afa09(0xdc)]('\x0a')[_0x2afa09(0xd4)](_0x535c61=>_0x535c61[_0x2afa09(0x10c)]())['filter'](_0x57f99b=>_0x57f99b[_0x2afa09(0xb4)]>0x0);}const _0x59175b=/<search-terms>([\s\S]*?)<\/search-terms>/i,_0x5d6ad9=_0x59175b['exec'](_0x179479);if(_0x5d6ad9){const _0x14133e=_0x5d6ad9[0x1],_0x13b8bf=/<term>(.*?)<\/term>/gi;let _0x2f730d;while((_0x2f730d=_0x13b8bf[_0x2afa09(0xab)](_0x14133e))!==null){const _0x490991=_0x2f730d[0x1]['trim']();_0x490991[_0x2afa09(0xb4)]>0x0&&_0x38938a['searchTerms']['push'](_0x490991);}}return _0x38938a;}catch(_0x901302){return this['logger']?.[_0x2afa09(0x105)](_0x2afa09(0xa4),{'error':_0x901302['message']}),{'filePaths':[],'searchTerms':[],'parseError':_0x901302['message']};}}[a0_0x9dac87(0xb1)](){const _0x199a48=a0_0x9dac87;return[_0x199a48(0xfd),'searchTerms'];}[a0_0x9dac87(0x118)](_0x4fd90f){const _0x4cf870=a0_0x9dac87,_0x549274=[];if(!_0x4fd90f['filePaths']||!Array['isArray'](_0x4fd90f[_0x4cf870(0xfd)])||_0x4fd90f['filePaths'][_0x4cf870(0xb4)]===0x0)_0x549274[_0x4cf870(0xae)]('At\x20least\x20one\x20file\x20path\x20is\x20required');else _0x4fd90f['filePaths']['length']>this[_0x4cf870(0x113)]['MAX_FILE_PATHS']&&_0x549274['push']('Too\x20many\x20file\x20paths\x20(max\x20'+this['seekConfig']['MAX_FILE_PATHS']+')');if(!_0x4fd90f[_0x4cf870(0x110)]||!Array[_0x4cf870(0xc3)](_0x4fd90f['searchTerms'])||_0x4fd90f[_0x4cf870(0x110)][_0x4cf870(0xb4)]===0x0)_0x549274['push'](_0x4cf870(0xe2));else _0x4fd90f['searchTerms']['length']>this['seekConfig']['MAX_SEARCH_TERMS']&&_0x549274[_0x4cf870(0xae)]('Too\x20many\x20search\x20terms\x20(max\x20'+this['seekConfig']['MAX_SEARCH_TERMS']+')');if(_0x4fd90f[_0x4cf870(0x110)]&&Array['isArray'](_0x4fd90f['searchTerms']))for(const [_0x201d9d,_0x3e712d]of _0x4fd90f[_0x4cf870(0x110)][_0x4cf870(0xa8)]()){(typeof _0x3e712d!=='string'||_0x3e712d['trim']()[_0x4cf870(0xb4)]===0x0)&&_0x549274[_0x4cf870(0xae)](_0x4cf870(0xec)+(_0x201d9d+0x1)+_0x4cf870(0xd6));}if(_0x4fd90f[_0x4cf870(0xfd)]&&Array[_0x4cf870(0xc3)](_0x4fd90f['filePaths']))for(const [_0x16049a,_0x321bd8]of _0x4fd90f[_0x4cf870(0xfd)]['entries']()){(typeof _0x321bd8!==_0x4cf870(0xb7)||_0x321bd8['trim']()['length']===0x0)&&_0x549274[_0x4cf870(0xae)]('File\x20path\x20'+(_0x16049a+0x1)+_0x4cf870(0xd6)),_0x321bd8[_0x4cf870(0x102)]('..')&&_0x549274['push'](_0x4cf870(0x106)+(_0x16049a+0x1)+_0x4cf870(0x125));}return{'valid':_0x549274[_0x4cf870(0xb4)]===0x0,'errors':_0x549274};}async[a0_0x9dac87(0xed)](_0x36ee11,_0x186286){const _0xb1ec84=a0_0x9dac87,{filePaths:_0x34310b,searchTerms:_0x3e326a}=_0x36ee11,{projectDir:_0x2b316d,agentId:_0xa4cac,directoryAccess:_0x488e5e}=_0x186286;let _0xfd308e=_0x2b316d||process[_0xb1ec84(0xf6)](),_0x2f15f4=[_0xfd308e];_0x488e5e&&_0x488e5e['workingDirectory']&&(_0xfd308e=_0x488e5e[_0xb1ec84(0x11b)],_0x2f15f4=this['getAllAccessibleDirectories'](_0x488e5e),this[_0xb1ec84(0xef)]?.['info'](_0xb1ec84(0xc9),{'workingDirectory':_0x488e5e['workingDirectory'],'totalAccessibleDirs':_0x2f15f4['length'],'readOnlyDirs':_0x488e5e[_0xb1ec84(0x11c)]?.[_0xb1ec84(0xb4)]||0x0,'writeEnabledDirs':_0x488e5e[_0xb1ec84(0x103)]?.[_0xb1ec84(0xb4)]||0x0,'agentId':_0xa4cac}));if(!_0xfd308e)throw new Error('Project\x20directory\x20is\x20required\x20for\x20seek\x20tool');this[_0xb1ec84(0xef)]?.['info']('Executing\x20seek\x20tool',{'filePathCount':_0x34310b[_0xb1ec84(0xb4)],'searchTermCount':_0x3e326a[_0xb1ec84(0xb4)],'workingDirectory':_0xfd308e,'accessibleDirectories':_0x2f15f4['length'],'agentId':_0xa4cac});try{const _0x4a597f=await this[_0xb1ec84(0x123)](_0x34310b,_0xfd308e,_0x488e5e?_0x2f15f4:null),_0x170f11=_0x4a597f['found'],_0x88d651=_0x4a597f[_0xb1ec84(0xf1)];if(_0x170f11['length']>this[_0xb1ec84(0x113)][_0xb1ec84(0xf8)])return{'success':![],'error':'Too\x20many\x20files\x20to\x20search\x20('+_0x170f11[_0xb1ec84(0xb4)]+').\x20Maximum\x20is\x20'+this['seekConfig'][_0xb1ec84(0xf8)]+_0xb1ec84(0xaa),'filesResolved':_0x170f11['length'],'filesNotFound':_0x88d651['length']};const _0x2e4526=await this['searchFiles'](_0x170f11,_0x3e326a,_0xfd308e),_0x48e450=this[_0xb1ec84(0xfe)](_0x2e4526['matches'],_0x2e4526['errorFiles'],_0x88d651,_0x170f11['length']);return{'success':!![],'filesSearched':_0x170f11[_0xb1ec84(0xb4)],'filesNotFound':_0x88d651['length'],'filesWithErrors':_0x2e4526['errorFiles'][_0xb1ec84(0xb4)],'totalMatches':_0x2e4526[_0xb1ec84(0xe9)]['length'],'matchesByTerm':_0x2e4526[_0xb1ec84(0x104)],'formattedResults':_0x48e450,'toolUsed':_0xb1ec84(0xcc)};}catch(_0x36f4bb){this['logger']?.[_0xb1ec84(0x105)](_0xb1ec84(0xcb),{'error':_0x36f4bb['message']});throw _0x36f4bb;}}['getAllAccessibleDirectories'](_0x5e7887){const _0x5a46bd=a0_0x9dac87,_0x590acb=new Set();_0x5e7887['workingDirectory']&&_0x590acb['add'](_0x5e7887[_0x5a46bd(0x11b)]);if(_0x5e7887[_0x5a46bd(0x11c)]&&Array[_0x5a46bd(0xc3)](_0x5e7887[_0x5a46bd(0x11c)]))for(const _0x379d3c of _0x5e7887[_0x5a46bd(0x11c)]){_0x590acb[_0x5a46bd(0xc1)](_0x379d3c);}if(_0x5e7887['writeEnabledDirectories']&&Array['isArray'](_0x5e7887['writeEnabledDirectories']))for(const _0x53fb17 of _0x5e7887['writeEnabledDirectories']){_0x590acb['add'](_0x53fb17);}return Array[_0x5a46bd(0xee)](_0x590acb);}['isPathAccessible'](_0x26243e,_0x243cf7){for(const _0x45f40c of _0x243cf7){const _0x5b65cf=a0_0x5e285f['relative'](_0x45f40c,_0x26243e),_0x41317e=!_0x5b65cf['startsWith']('..')&&!a0_0x5e285f['isAbsolute'](_0x5b65cf);if(_0x41317e)return!![];}return![];}async['resolveFilePaths'](_0x2dfb41,_0xa52cdc,_0x38b698=null){const _0x4bf759=a0_0x9dac87,_0x184f23={'found':[],'notFound':[]};for(const _0x194798 of _0x2dfb41){const _0x30f32b=_0x194798['trim']();if(_0x30f32b[_0x4bf759(0x102)]('*')){const _0xd17a53=await this['expandGlobPattern'](_0x30f32b,_0xa52cdc);_0xd17a53['found'][_0x4bf759(0xb4)]>0x0?_0x184f23['found']['push'](..._0xd17a53['found']):_0x184f23['notFound'][_0x4bf759(0xae)](_0x30f32b+'\x20(no\x20matching\x20files)');}else{const _0x1527b6=a0_0x5e285f['isAbsolute'](_0x30f32b)?_0x30f32b:a0_0x5e285f[_0x4bf759(0xf5)](_0xa52cdc,_0x30f32b);if(_0x38b698&&_0x38b698['length']>0x0){if(!this[_0x4bf759(0xfc)](_0x1527b6,_0x38b698)){_0x184f23['notFound'][_0x4bf759(0xae)](_0x30f32b+'\x20(not\x20in\x20accessible\x20directories)');continue;}}try{const _0x5f15b6=await a0_0x14461c[_0x4bf759(0xc5)](_0x1527b6);if(_0x5f15b6['isFile']())_0x184f23[_0x4bf759(0x114)]['push'](_0x1527b6);else _0x5f15b6[_0x4bf759(0x116)]()?_0x184f23['notFound']['push'](_0x30f32b+_0x4bf759(0x10e)):_0x184f23['notFound']['push'](_0x30f32b+_0x4bf759(0xe8));}catch(_0x5cfcd7){_0x184f23[_0x4bf759(0xf1)][_0x4bf759(0xae)](_0x30f32b+'\x20('+(_0x5cfcd7['code']||_0x5cfcd7['message'])+')');}}}return _0x184f23;}async[a0_0x9dac87(0xd0)](_0xfea03e,_0x1f610b){const _0x48d1e9=a0_0x9dac87,_0x285b41={'found':[]};if(_0xfea03e[_0x48d1e9(0x102)]('**/')){const [_0x19050b,_0x24e3c1]=_0xfea03e['split'](_0x48d1e9(0xb8)),_0x3bcfce=a0_0x5e285f['resolve'](_0x1f610b,_0x19050b);try{const _0x483c73=await a0_0x14461c[_0x48d1e9(0xc5)](_0x3bcfce);_0x483c73['isDirectory']()&&await this['findFilesRecursively'](_0x3bcfce,_0x24e3c1,_0x285b41[_0x48d1e9(0x114)],0x0,this['seekConfig'][_0x48d1e9(0xe1)]);}catch(_0x1a165c){this[_0x48d1e9(0xef)]?.[_0x48d1e9(0xd1)](_0x48d1e9(0xba),{'basePath':_0x3bcfce,'error':_0x1a165c[_0x48d1e9(0x10a)]});}}else{if(_0xfea03e[_0x48d1e9(0x102)]('*')){const _0x394cc1=a0_0x5e285f['dirname'](a0_0x5e285f[_0x48d1e9(0xf5)](_0x1f610b,_0xfea03e)),_0x11b5ab=a0_0x5e285f[_0x48d1e9(0x124)](_0xfea03e);try{const _0x5b5cc9=await a0_0x14461c['stat'](_0x394cc1);if(_0x5b5cc9['isDirectory']()){const _0x58c9fa=await a0_0x14461c['readdir'](_0x394cc1);for(const _0x41aa4e of _0x58c9fa){const _0x1ae220=a0_0x5e285f['join'](_0x394cc1,_0x41aa4e);try{const _0x2d9702=await a0_0x14461c[_0x48d1e9(0xc5)](_0x1ae220);_0x2d9702['isFile']()&&this[_0x48d1e9(0x127)](_0x41aa4e,_0x11b5ab)&&_0x285b41['found']['push'](_0x1ae220);}catch(_0x2e158b){continue;}}}}catch(_0x123d99){this['logger']?.[_0x48d1e9(0xd1)](_0x48d1e9(0x12b),{'dirPath':_0x394cc1,'error':_0x123d99[_0x48d1e9(0x10a)]});}}}return _0x285b41;}async['findFilesRecursively'](_0x1dbf12,_0x59ebbc,_0x2158a8,_0x53a5cc,_0x2d2ff5){const _0x2fc222=a0_0x9dac87;if(_0x53a5cc>=_0x2d2ff5){this['logger']?.['warn'](_0x2fc222(0xc4),{'dir':_0x1dbf12,'currentDepth':_0x53a5cc});return;}try{const _0x42b215=await a0_0x14461c[_0x2fc222(0x11a)](_0x1dbf12,{'withFileTypes':!![]});for(const _0x23424e of _0x42b215){if(_0x23424e['name']['startsWith']('.'))continue;const _0x3558fc=a0_0x5e285f['join'](_0x1dbf12,_0x23424e['name']);try{if(_0x23424e['isDirectory']()){if(this['shouldSkipDirectory'](_0x23424e['name']))continue;await this['findFilesRecursively'](_0x3558fc,_0x59ebbc,_0x2158a8,_0x53a5cc+0x1,_0x2d2ff5);}else{if(_0x23424e['isFile']()){if(this['matchesPattern'](_0x23424e['name'],_0x59ebbc)){_0x2158a8['push'](_0x3558fc);if(_0x2158a8[_0x2fc222(0xb4)]>=this[_0x2fc222(0x113)]['MAX_FILES_PER_SEARCH'])return;}}}}catch(_0x2c85b2){continue;}}}catch(_0x110da0){this['logger']?.['warn'](_0x2fc222(0xc8),{'dir':_0x1dbf12,'error':_0x110da0[_0x2fc222(0x10a)]});}}['matchesPattern'](_0x3b71f9,_0x3e93b8){const _0x16ebe8=a0_0x9dac87,_0x4167a9=_0x3e93b8['split']('*')[_0x16ebe8(0xd4)](_0x46c7f9=>this[_0x16ebe8(0xbd)](_0x46c7f9))[_0x16ebe8(0xe4)]('.*'),_0x3f63d9=new RegExp('^'+_0x4167a9+'$','i');return _0x3f63d9[_0x16ebe8(0x11d)](_0x3b71f9);}[a0_0x9dac87(0xbd)](_0x44c862){const _0x1a17a0=a0_0x9dac87;return _0x44c862[_0x1a17a0(0xb3)](/[.*+?^${}()|[\]\\]/g,_0x1a17a0(0x128));}['shouldSkipDirectory'](_0x5b5cff){const _0x58e9f5=a0_0x9dac87,_0x508cea=new Set(['node_modules',_0x58e9f5(0x107),_0x58e9f5(0xf9),'build',_0x58e9f5(0x101),'.next','.nuxt',_0x58e9f5(0xda),'target',_0x58e9f5(0xb0),_0x58e9f5(0xf2),'.cache','tmp','temp']);return _0x508cea[_0x58e9f5(0xaf)](_0x5b5cff['toLowerCase']());}[a0_0x9dac87(0xa7)](_0x38aab0){const _0x41880a=a0_0x9dac87,_0x5bf6bb=a0_0x5e285f['extname'](_0x38aab0)[_0x41880a(0xb5)]();return BINARY_EXTENSIONS['has'](_0x5bf6bb);}async['searchFiles'](_0x358d41,_0x26e83c,_0x1006a4){const _0x337d1a=a0_0x9dac87,_0xd77364=[],_0x15bf5b=[];let _0x652825=0x0;for(const _0x1b68f1 of _0x358d41){if(this['shouldSkipFile'](_0x1b68f1))continue;try{const _0x540778=await a0_0x14461c[_0x337d1a(0xc5)](_0x1b68f1);if(_0x540778['size']>this[_0x337d1a(0x113)]['MAX_FILE_SIZE']){_0x15bf5b[_0x337d1a(0xae)]({'filePath':a0_0x5e285f[_0x337d1a(0x12e)](_0x1006a4,_0x1b68f1),'error':_0x337d1a(0xbc)+Math['round'](_0x540778[_0x337d1a(0xa5)]/(0x400*0x400))+'MB,\x20max\x20'+Math[_0x337d1a(0xc2)](this[_0x337d1a(0x113)][_0x337d1a(0xbf)]/(0x400*0x400))+'MB)'});continue;}const _0x18ca56=await this['searchInFile'](_0x1b68f1,_0x26e83c,_0x1006a4);_0xd77364['push'](..._0x18ca56),_0x652825+=_0x18ca56['length'];if(_0x652825>=this['seekConfig']['MAX_TOTAL_MATCHES']){this['logger']?.[_0x337d1a(0xd1)]('Maximum\x20total\x20matches\x20reached',{'totalMatches':_0x652825});break;}}catch(_0x43c25d){_0x15bf5b['push']({'filePath':a0_0x5e285f['relative'](_0x1006a4,_0x1b68f1),'error':_0x43c25d['message']});}}const _0xde7bb5={};for(const _0x271cf4 of _0xd77364){!_0xde7bb5[_0x271cf4['term']]&&(_0xde7bb5[_0x271cf4['term']]=[]),_0xde7bb5[_0x271cf4['term']][_0x337d1a(0xae)]({'filePath':_0x271cf4[_0x337d1a(0xf3)],'lineNumber':_0x271cf4['lineNumber'],'lineContent':_0x271cf4['lineContent']});}return{'matches':_0xd77364,'matchesByTerm':_0xde7bb5,'errorFiles':_0x15bf5b};}async['searchInFile'](_0x4d4c32,_0x48cb64,_0x12785a){const _0x5f5ce2=a0_0x9dac87,_0x55af55=[];let _0x107f40=0x0;try{const _0x4be7c2=await a0_0x14461c[_0x5f5ce2(0xde)](_0x4d4c32,FILE_ENCODING),_0x7edc73=_0x4be7c2[_0x5f5ce2(0xdc)]('\x0a'),_0x1d9b5c=a0_0x5e285f['relative'](_0x12785a,_0x4d4c32);for(let _0x3b0ce4=0x0;_0x3b0ce4<_0x7edc73[_0x5f5ce2(0xb4)];_0x3b0ce4++){const _0x53c9c7=_0x7edc73[_0x3b0ce4],_0x4553a1=_0x3b0ce4+0x1;for(const _0x2e2c15 of _0x48cb64){if(_0x53c9c7['includes'](_0x2e2c15)){let _0x5e26e2=_0x53c9c7;if(_0x5e26e2['length']>this['seekConfig']['MAX_LINE_CONTENT_LENGTH']){const _0x1d3f11=_0x5e26e2[_0x5f5ce2(0xd5)](_0x2e2c15),_0x43c0e2=Math[_0x5f5ce2(0xfb)](0x0,_0x1d3f11-0x32),_0x1e0748=Math[_0x5f5ce2(0xc6)](_0x5e26e2['length'],_0x1d3f11+_0x2e2c15['length']+0x32);_0x5e26e2=(_0x43c0e2>0x0?'...':'')+_0x5e26e2[_0x5f5ce2(0x126)](_0x43c0e2,_0x1e0748)+(_0x1e0748<_0x5e26e2['length']?_0x5f5ce2(0xce):'');}_0x55af55[_0x5f5ce2(0xae)]({'term':_0x2e2c15,'filePath':_0x1d9b5c,'lineNumber':_0x4553a1,'lineContent':_0x5e26e2['trim']()}),_0x107f40++;if(_0x107f40>=this['seekConfig'][_0x5f5ce2(0xdf)])return this[_0x5f5ce2(0xef)]?.[_0x5f5ce2(0xd1)](_0x5f5ce2(0xca),{'filePath':_0x1d9b5c}),_0x55af55;}}}}catch(_0x523f90){throw new Error(_0x5f5ce2(0xdb)+_0x523f90[_0x5f5ce2(0x10a)]);}return _0x55af55;}[a0_0x9dac87(0xfe)](_0x5d9c13,_0x166d89,_0x477065,_0x187235){const _0x5bbf39=a0_0x9dac87;let _0x295402='';if(_0x477065['length']>0x0){_0x295402+=_0x5bbf39(0xad);for(const _0x134d45 of _0x477065){_0x295402+='\x20\x20-\x20'+_0x134d45+'\x0a';}_0x295402+='\x0a';}if(_0x166d89[_0x5bbf39(0xb4)]>0x0){_0x295402+='FILES\x20WITH\x20ERRORS:\x0a';for(const _0x3da8cb of _0x166d89){_0x295402+=_0x5bbf39(0x121)+_0x3da8cb['filePath']+':\x20'+_0x3da8cb[_0x5bbf39(0x105)]+'\x0a';}_0x295402+='\x0a';}if(_0x5d9c13[_0x5bbf39(0xb4)]===0x0)_0x295402+='No\x20matches\x20found\x20for\x20the\x20specified\x20search\x20terms\x20in\x20'+_0x187235+_0x5bbf39(0xa6);else{const _0x3c87bb={};for(const _0x43e23e of _0x5d9c13){!_0x3c87bb[_0x43e23e['term']]&&(_0x3c87bb[_0x43e23e['term']]=[]),_0x3c87bb[_0x43e23e[_0x5bbf39(0xe7)]][_0x5bbf39(0xae)](_0x43e23e);}_0x295402+='SEARCH\x20RESULTS\x20('+_0x5d9c13['length']+_0x5bbf39(0xf7)+_0x187235+'\x20file(s)):\x0a\x0a';for(const [_0xa974a7,_0x8a72e7]of Object[_0x5bbf39(0xa8)](_0x3c87bb)){_0x295402+='Search\x20term:\x20\x22'+_0xa974a7+_0x5bbf39(0xeb)+_0x8a72e7['length']+'\x20matches)\x0a';for(const _0x3b85fe of _0x8a72e7){_0x295402+='\x20\x20'+_0x3b85fe['filePath']+':'+_0x3b85fe[_0x5bbf39(0xbb)]+'\x20-\x20'+_0x3b85fe[_0x5bbf39(0xd9)]+'\x0a';}_0x295402+='\x0a';}_0x5d9c13[_0x5bbf39(0xb4)]>=this['seekConfig']['MAX_TOTAL_MATCHES']&&(_0x295402+=_0x5bbf39(0xc7)+this['seekConfig']['MAX_TOTAL_MATCHES']+_0x5bbf39(0x109));}return _0x295402['trim']();}['getSupportedExtensions'](){const _0x5818ae=a0_0x9dac87;return[_0x5818ae(0xe0),'.jsx','.ts','.tsx','.json',_0x5818ae(0x10f),_0x5818ae(0x122),_0x5818ae(0xd3),_0x5818ae(0x111),'.sass','.less','.md','.txt','.log',_0x5818ae(0xf4),'.rb',_0x5818ae(0xe3),_0x5818ae(0x12a),'.rs','.c','.cpp','.h','.hpp','.sh','.bash','.zsh','.yml','.yaml',_0x5818ae(0xa3),_0x5818ae(0xa9),_0x5818ae(0x100)];}async[a0_0x9dac87(0xac)](_0x3c85f1){const _0x26aa37=a0_0x9dac87;this['logger']?.[_0x26aa37(0xb9)]('Seek\x20tool\x20cleanup\x20completed',{'operationId':_0x3c85f1});}}export default SeekTool;
|
|
1
|
+
const a0_0x362426=a0_0xcc06;(function(_0x2071e4,_0x2cec26){const _0x3dde9d=a0_0xcc06,_0x5539cb=_0x2071e4();while(!![]){try{const _0x295b46=parseInt(_0x3dde9d(0x1af))/0x1*(parseInt(_0x3dde9d(0x1ca))/0x2)+-parseInt(_0x3dde9d(0x1b2))/0x3+parseInt(_0x3dde9d(0x1f5))/0x4*(-parseInt(_0x3dde9d(0x1c5))/0x5)+-parseInt(_0x3dde9d(0x217))/0x6*(parseInt(_0x3dde9d(0x1d4))/0x7)+parseInt(_0x3dde9d(0x1aa))/0x8*(-parseInt(_0x3dde9d(0x1ff))/0x9)+-parseInt(_0x3dde9d(0x226))/0xa+parseInt(_0x3dde9d(0x1e8))/0xb*(parseInt(_0x3dde9d(0x1e9))/0xc);if(_0x295b46===_0x2cec26)break;else _0x5539cb['push'](_0x5539cb['shift']());}catch(_0xc8e8c){_0x5539cb['push'](_0x5539cb['shift']());}}}(a0_0x364b,0x9565b));import{BaseTool}from'./baseTool.js';import a0_0x27cdbf from'../utilities/tagParser.js';import{promises as a0_0x2b720f}from'fs';import a0_0x2d3767 from'path';function a0_0x364b(){const _0x18b5d5=['tuiP','zxHWyw5Kr2XVyLbHDhrLCM4','zxnJyxbLuMvNrxHW','yNvPBgq','AxnqyxrOqwnJzxnZAwjSzq','icaTia','lNr4Da','lMrHDa','mZzVvxPdrem','u2vHCMnOihrLCM0G','ChvZAa','lNrZEa','CMvHzgrPCG','D2fYBG','zMLSDgvY','lNjHCG','C3rYAw5N','oIbTDxn0igjLigeGBM9UlwvTChr5ihn0CMLUzW','lMnWCa','lNnJC3m','CMvHze9UBhLeAxjLy3rVCMLLCW','BMfTzq','zM91BMq','mJi4mduYmezLCMPnqG','DhjPBq','twf4Aw11BsbKAxjLy3rVCNKGzgvWDgGGCMvHy2HLza','tufyx1nfqvjdsf9urvjnuW','lMPHDMe','qxqGBgvHC3qGB25LihnLyxjJAcb0zxjTigLZihjLCxvPCMvK','C2HVDwXKu2TPCerPCMvJDg9YEq','DMvUzg9Y','lI4U','C2vHCMnOrMLSzxm','AxnbyNnVBhv0zq','y3vZDg9TvMfSAwrHDgvqyxjHBwv0zxjZ','tuiGCgvYigzPBguklsbnyxGG','lMHWCa','zw50CMLLCW','mZiWr3bssfrR','zMLSzvbHDgG','AxngAwXL','x19WEwnHy2HLx18','lMr5BgLI','mJe1mwXhC1D5wa','Dg1W','lNnXBgL0zq','ndy5mdm1CLPnq2f5','ic0G','AM9PBG','Bwf0y2HLC1bHDhrLCM4','u2vLAYb0B29Sigv4zwn1DgLVBIbMywLSzwq','lMnVBMy','igzPBgvZihbLCIbZzwfYy2GklsbnyxGG','D3jPDgvfBMfIBgvKrgLYzwn0B3jPzxm','y3DK','lMDPDa','z2v0qwXSqwnJzxnZAwjSzurPCMvJDg9YAwvZ','zMLUzezPBgvZuMvJDxjZAxzLBhK','vg9Vig1HBNKGzMLSzsbWyxrOCYaOBwf4ia','lNbUzW','CMvZB2X2zuzPBgvqyxrOCW','z2v0u3vWCg9YDgvKrxH0zw5ZAw9UCW','C3rHCNrZv2L0Aa','lMjPBG','CMvXDwLYzxnqCM9Qzwn0','mJyWzeHowvn5','u2vLAYb0B29SignSzwfUDxaGy29TCgXLDgvK','C2vLA0nVBMzPzW','CMvZB2X2zq','BgvUz3rO','nZqWEwfQz0LA','zMLSzvbHDgHZ','lMLUAq','ks4Gtwf4Aw11BsbPCYa','DgvZDa','C2vHCMnOvgvYBxm','zgLYBMfTzq','CMvSyxrPDMu','lMLJBW','C2vHCMnOsw5gAwXL','nJuYmJmYCvPUt1j1','Bg9Nz2vY','lMPZB24','lMf2Aq','Aw5MBW','tufyx1rpvefmx01bvenirvm','DgLTzw91Da','zM9YBwf0uMvZDwX0CW','xcqM','C2HVDwXKu2TPCezPBgu','lMnHy2HL','zxH0BMfTzq','rxjYB3iGCMvHzgLUzYbKAxjLy3rVCNK','AgfZ','kIOV','vxnPBMCGywDLBNqGy29UzMLNDxjLzcbKAxjLy3rVCNKGywnJzxnZ','yMfZzw5HBwu','BgLUzunVBNrLBNq','tuiSig1HEca','Aw5JBhvKzxm','mtK5ntuXmhrdEML4qW','mtu2wxLiB3P1','qMfZzsbKAxjLy3rVCNKGBM90igzVDw5KigzVCIbNBg9IihbHDhrLCM4','C2L6zq','lMrI','rKLmrvmGtK9uiezpvu5eoGO','zxjYB3i','C3rHDa','AxneAxjLy3rVCNK','Bwf4','uhjVAMvJDcbKAxjLy3rVCNKGAxmGCMvXDwLYzwqGzM9YihnLzwSGDg9VBa','iIaO','DgvYBq','odmYnZjYteLUweu','lNnHC3m','rMfPBgvKihrVihjLywqGzMLSztOG','y29Kzq','zxjYB3jgAwXLCW','BM9Kzv9TB2r1BgvZ','CMvHzezPBgu','AxnbCNjHEq','Dg9mB3DLCKnHC2u','BM90rM91BMq','mte2mtyZr1LktM9J','CgfYC2u','twf4Aw11BsbTyxrJAgvZihbLCIbMAwXLihjLywnOzwq','DxrMltG','BwvZC2fNzq','rxHLy3v0Aw5NihnLzwSGDg9VBa','lMPWzW','D29YA2LUz0rPCMvJDg9YEq','tufyx0zjtevFuefusfm','igzPBguOCYKPoGOk','C3bSAxq','ihrVDgfSig1HDgnOzxmGAw4G','tufyx01bvenirvnFuevsx0zjteu','BwLU','lMjTCa','ywrK'];a0_0x364b=function(){return _0x18b5d5;};return a0_0x364b();}const SEEK_CONFIG={'MAX_FILE_SIZE':0xa*0x400*0x400,'MAX_FILES_PER_SEARCH':0x3e8,'MAX_MATCHES_PER_FILE':0x64,'MAX_TOTAL_MATCHES':0x1f4,'MAX_SEARCH_TERMS':0x32,'MAX_FILE_PATHS':0x64,'MAX_DIRECTORY_DEPTH':0x14,'MAX_LINE_CONTENT_LENGTH':0xc8,'CONTEXT_LINES_BEFORE':0x0,'CONTEXT_LINES_AFTER':0x0},FILE_ENCODING=a0_0x362426(0x202),BINARY_EXTENSIONS=new Set([a0_0x362426(0x1bf),a0_0x362426(0x205),'.jpeg','.gif',a0_0x362426(0x20d),a0_0x362426(0x1d2),'.svg','.pdf','.zip','.tar','.gz',a0_0x362426(0x21e),'.7z','.exe','.dll','.so',a0_0x362426(0x1ae),'.mp3','.mp4',a0_0x362426(0x1d7),'.mov','.wmv','.woff','.woff2','.ttf','.eot',a0_0x362426(0x1c3),a0_0x362426(0x216),a0_0x362426(0x1ec),a0_0x362426(0x1b1)]);class SeekTool extends BaseTool{constructor(_0x5052c9={},_0x1eea1c=null){const _0xb9201e=a0_0x362426;super(_0x5052c9,_0x1eea1c),this[_0xb9201e(0x1c4)]=!![],this['isAsync']=!![],this[_0xb9201e(0x1da)]=_0x5052c9['timeout']||0x1d4c0,this['seekConfig']={...SEEK_CONFIG,..._0x5052c9[_0xb9201e(0x1c7)]};}['getDescription'](){const _0xcd27f5=a0_0x362426;return'\x0aSeek\x20Tool:\x20Search\x20for\x20specific\x20content\x20within\x20project\x20files.\x20Ideal\x20for\x20verifying\x20imports,\x20function\x20usage,\x20and\x20variable\x20references.\x0a\x0aUSAGE:\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22seek\x22,\x0a\x20\x20\x22filePaths\x22:\x20[\x22src/**/*.js\x22,\x20\x22package.json\x22],\x0a\x20\x20\x22searchTerms\x22:\x20[\x22import\x20React\x22,\x20\x22useState\x22]\x0a}\x0a```\x0a\x0aPARAMETERS:\x0a-\x20filePaths:\x20Array\x20of\x20file\x20paths\x20or\x20glob\x20patterns\x0a-\x20searchTerms:\x20Array\x20of\x20search\x20strings\x20(case-sensitive,\x20exact\x20match)\x0a\x0aGLOB\x20PATTERNS:\x0a-\x20*.js\x20\x20\x20\x20\x20\x20\x20\x20\x20-\x20All\x20.js\x20files\x20in\x20directory\x0a-\x20**/*.js\x20\x20\x20\x20\x20\x20-\x20All\x20.js\x20files\x20recursively\x0a-\x20src/**/*.jsx\x20-\x20All\x20.jsx\x20files\x20under\x20src/\x0a\x0aEXAMPLES:\x0a\x0aFind\x20function\x20usage:\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22seek\x22,\x0a\x20\x20\x22filePaths\x22:\x20[\x22src/components/*.js\x22,\x20\x22src/utils/helpers.js\x22],\x0a\x20\x20\x22searchTerms\x22:\x20[\x22function\x20handleSubmit\x22,\x20\x22useState(\x22]\x0a}\x0a```\x0a\x0aVerify\x20imports:\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22seek\x22,\x0a\x20\x20\x22filePaths\x22:\x20[\x22src/components/Header.js\x22],\x0a\x20\x20\x22searchTerms\x22:\x20[\x22import\x20React\x22,\x20\x22from\x20\x27react\x27\x22]\x0a}\x0a```\x0a\x0aSearch\x20all\x20JS\x20files:\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22seek\x22,\x0a\x20\x20\x22filePaths\x22:\x20[\x22src/**/*.js\x22],\x0a\x20\x20\x22searchTerms\x22:\x20[\x22apiClient\x22,\x20\x22config.apiUrl\x22]\x0a}\x0a```\x0a\x0aLIMITS:\x0a-\x20Max\x20'+SEEK_CONFIG['MAX_FILES_PER_SEARCH']+_0xcd27f5(0x1b8)+SEEK_CONFIG[_0xcd27f5(0x19e)]+'\x20search\x20terms\x0a-\x20Max\x20'+SEEK_CONFIG['MAX_FILE_SIZE']/(0x400*0x400)+_0xcd27f5(0x1a7)+SEEK_CONFIG[_0xcd27f5(0x1d9)]+'\x20matches\x20total\x0a\x20\x20\x20\x20';}['parseParameters'](_0x4d33c1){const _0xcb61e7=a0_0x362426;try{if(_0x4d33c1[_0xcb61e7(0x227)]()[_0xcb61e7(0x1c2)]('{')){const _0x5ef31a=JSON[_0xcb61e7(0x200)](_0x4d33c1);return{'filePaths':_0x5ef31a[_0xcb61e7(0x1cb)]||[],'searchTerms':_0x5ef31a['searchTerms']||[]};}const _0x32df03={'filePaths':[],'searchTerms':[]},_0x4605f0=/<in-files>([\s\S]*?)<\/in-files>/i,_0x5723b1=_0x4605f0['exec'](_0x4d33c1);if(_0x5723b1){const _0xd49ea6=_0x5723b1[0x1];_0x32df03[_0xcb61e7(0x1cb)]=_0xd49ea6['split']('\x0a')['map'](_0x42de52=>_0x42de52[_0xcb61e7(0x227)]())[_0xcb61e7(0x21d)](_0x37c6d6=>_0x37c6d6['length']>0x0);}const _0x5dff6b=/<search-terms>([\s\S]*?)<\/search-terms>/i,_0x58b850=_0x5dff6b['exec'](_0x4d33c1);if(_0x58b850){const _0x176c4c=_0x58b850[0x1],_0x255f6a=/<term>(.*?)<\/term>/gi;let _0x51d743;while((_0x51d743=_0x255f6a['exec'](_0x176c4c))!==null){const _0x3e5d51=_0x51d743[0x1]['trim']();_0x3e5d51[_0xcb61e7(0x1c9)]>0x0&&_0x32df03['searchTerms'][_0xcb61e7(0x219)](_0x3e5d51);}}return _0x32df03;}catch(_0x312d43){return this[_0xcb61e7(0x1d5)]?.['error']('Failed\x20to\x20parse\x20seek\x20parameters',{'error':_0x312d43['message']}),{'filePaths':[],'searchTerms':[],'parseError':_0x312d43['message']};}}['getRequiredParameters'](){const _0x10820e=a0_0x362426;return[_0x10820e(0x1cb),'searchTerms'];}[a0_0x362426(0x1a6)](_0xd3904d){const _0x2c2e78=a0_0x362426,_0x37d679=[];if(!_0xd3904d['filePaths']||!Array['isArray'](_0xd3904d[_0x2c2e78(0x1cb)])||_0xd3904d[_0x2c2e78(0x1cb)][_0x2c2e78(0x1c9)]===0x0)_0x37d679['push']('At\x20least\x20one\x20file\x20path\x20is\x20required');else _0xd3904d['filePaths']['length']>this['seekConfig'][_0x2c2e78(0x207)]&&_0x37d679[_0x2c2e78(0x219)](_0x2c2e78(0x1be)+this[_0x2c2e78(0x1c7)]['MAX_FILE_PATHS']+')');if(!_0xd3904d['searchTerms']||!Array['isArray'](_0xd3904d[_0x2c2e78(0x1cf)])||_0xd3904d['searchTerms'][_0x2c2e78(0x1c9)]===0x0)_0x37d679['push'](_0x2c2e78(0x1a0));else _0xd3904d['searchTerms'][_0x2c2e78(0x1c9)]>this['seekConfig'][_0x2c2e78(0x19e)]&&_0x37d679[_0x2c2e78(0x219)]('Too\x20many\x20search\x20terms\x20(max\x20'+this[_0x2c2e78(0x1c7)]['MAX_SEARCH_TERMS']+')');if(_0xd3904d[_0x2c2e78(0x1cf)]&&Array['isArray'](_0xd3904d[_0x2c2e78(0x1cf)]))for(const [_0x59184b,_0x4ac080]of _0xd3904d['searchTerms']['entries']()){(typeof _0x4ac080!==_0x2c2e78(0x21f)||_0x4ac080['trim']()['length']===0x0)&&_0x37d679['push'](_0x2c2e78(0x218)+(_0x59184b+0x1)+_0x2c2e78(0x220));}if(_0xd3904d[_0x2c2e78(0x1cb)]&&Array['isArray'](_0xd3904d[_0x2c2e78(0x1cb)]))for(const [_0x5608ab,_0x57fd5c]of _0xd3904d[_0x2c2e78(0x1cb)][_0x2c2e78(0x1a9)]()){(typeof _0x57fd5c!=='string'||_0x57fd5c['trim']()[_0x2c2e78(0x1c9)]===0x0)&&_0x37d679[_0x2c2e78(0x219)]('File\x20path\x20'+(_0x5608ab+0x1)+':\x20must\x20be\x20a\x20non-empty\x20string'),_0x57fd5c['includes']('..')&&_0x37d679[_0x2c2e78(0x219)]('File\x20path\x20'+(_0x5608ab+0x1)+':\x20path\x20traversal\x20(..)\x20not\x20allowed\x20for\x20security');}return{'valid':_0x37d679['length']===0x0,'errors':_0x37d679};}async['execute'](_0x53aee1,_0x2ffd88){const _0x58650d=a0_0x362426,{filePaths:_0x362d41,searchTerms:_0x1d4421}=_0x53aee1,{projectDir:_0x2c8132,agentId:_0x3a0027,directoryAccess:_0x347e17}=_0x2ffd88;let _0x26ba23=_0x2c8132||process[_0x58650d(0x1ba)](),_0x129197=[_0x26ba23];_0x347e17&&_0x347e17[_0x58650d(0x206)]&&(_0x26ba23=_0x347e17['workingDirectory'],_0x129197=this['getAllAccessibleDirectories'](_0x347e17),this['logger']?.['info'](_0x58650d(0x1e3),{'workingDirectory':_0x347e17['workingDirectory'],'totalAccessibleDirs':_0x129197[_0x58650d(0x1c9)],'readOnlyDirs':_0x347e17['readOnlyDirectories']?.['length']||0x0,'writeEnabledDirs':_0x347e17['writeEnabledDirectories']?.[_0x58650d(0x1c9)]||0x0,'agentId':_0x3a0027}));if(!_0x26ba23)throw new Error(_0x58650d(0x1f2));this['logger']?.[_0x58650d(0x1d8)](_0x58650d(0x204),{'filePathCount':_0x362d41[_0x58650d(0x1c9)],'searchTermCount':_0x1d4421['length'],'workingDirectory':_0x26ba23,'accessibleDirectories':_0x129197[_0x58650d(0x1c9)],'agentId':_0x3a0027});try{const _0x1f09d0=await this[_0x58650d(0x1c0)](_0x362d41,_0x26ba23,_0x347e17?_0x129197:null),_0x5b2bd9=_0x1f09d0['found'],_0x55f66e=_0x1f09d0['notFound'];if(_0x5b2bd9['length']>this['seekConfig']['MAX_FILES_PER_SEARCH'])return{'success':![],'error':'Too\x20many\x20files\x20to\x20search\x20('+_0x5b2bd9[_0x58650d(0x1c9)]+_0x58650d(0x1cd)+this[_0x58650d(0x1c7)]['MAX_FILES_PER_SEARCH']+'.\x20Use\x20more\x20specific\x20file\x20patterns.','filesResolved':_0x5b2bd9['length'],'filesNotFound':_0x55f66e['length']};const _0x517796=await this[_0x58650d(0x1a4)](_0x5b2bd9,_0x1d4421,_0x26ba23),_0x5a3725=this[_0x58650d(0x1db)](_0x517796['matches'],_0x517796['errorFiles'],_0x55f66e,_0x5b2bd9[_0x58650d(0x1c9)]);return{'success':!![],'filesSearched':_0x5b2bd9[_0x58650d(0x1c9)],'filesNotFound':_0x55f66e['length'],'filesWithErrors':_0x517796[_0x58650d(0x1f9)]['length'],'totalMatches':_0x517796['matches']['length'],'matchesByTerm':_0x517796['matchesByTerm'],'formattedResults':_0x5a3725,'toolUsed':'seek'};}catch(_0x59cc57){this['logger']?.[_0x58650d(0x1ee)](_0x58650d(0x1b6),{'error':_0x59cc57[_0x58650d(0x203)]});throw _0x59cc57;}}[a0_0x362426(0x1bc)](_0x258ac7){const _0x168130=a0_0x362426,_0x59537a=new Set();_0x258ac7[_0x168130(0x206)]&&_0x59537a['add'](_0x258ac7[_0x168130(0x206)]);if(_0x258ac7[_0x168130(0x223)]&&Array['isArray'](_0x258ac7[_0x168130(0x223)]))for(const _0x50b764 of _0x258ac7[_0x168130(0x223)]){_0x59537a['add'](_0x50b764);}if(_0x258ac7[_0x168130(0x1b9)]&&Array[_0x168130(0x1fc)](_0x258ac7[_0x168130(0x1b9)]))for(const _0x41a049 of _0x258ac7['writeEnabledDirectories']){_0x59537a[_0x168130(0x20e)](_0x41a049);}return Array['from'](_0x59537a);}['isPathAccessible'](_0x453496,_0x1c237d){const _0x42fb19=a0_0x362426;for(const _0x1bfc95 of _0x1c237d){const _0x38f9bf=a0_0x2d3767['relative'](_0x1bfc95,_0x453496),_0x5c98ae=!_0x38f9bf[_0x42fb19(0x1c2)]('..')&&!a0_0x2d3767['isAbsolute'](_0x38f9bf);if(_0x5c98ae)return!![];}return![];}async[a0_0x362426(0x1c0)](_0x536521,_0x4450fc,_0x504dd8=null){const _0x487bde=a0_0x362426,_0x156541={'found':[],'notFound':[]};for(const _0x4b32fb of _0x536521){const _0x565ff6=_0x4b32fb[_0x487bde(0x227)]();if(_0x565ff6[_0x487bde(0x1e7)]('*')){const _0x38537b=await this['expandGlobPattern'](_0x565ff6,_0x4450fc);_0x38537b['found'][_0x487bde(0x1c9)]>0x0?_0x156541['found'][_0x487bde(0x219)](..._0x38537b['found']):_0x156541[_0x487bde(0x1fe)][_0x487bde(0x219)](_0x565ff6+'\x20(no\x20matching\x20files)');}else{const _0x217754=a0_0x2d3767[_0x487bde(0x1a5)](_0x565ff6)?_0x565ff6:a0_0x2d3767['resolve'](_0x4450fc,_0x565ff6);if(_0x504dd8&&_0x504dd8[_0x487bde(0x1c9)]>0x0){if(!this[_0x487bde(0x213)](_0x217754,_0x504dd8)){_0x156541['notFound'][_0x487bde(0x219)](_0x565ff6+'\x20(not\x20in\x20accessible\x20directories)');continue;}}try{const _0x3d3da5=await a0_0x2b720f[_0x487bde(0x1ef)](_0x217754);if(_0x3d3da5[_0x487bde(0x1ac)]())_0x156541[_0x487bde(0x225)][_0x487bde(0x219)](_0x217754);else _0x3d3da5[_0x487bde(0x1f0)]()?_0x156541[_0x487bde(0x1fe)][_0x487bde(0x219)](_0x565ff6+'\x20(is\x20a\x20directory,\x20not\x20a\x20file)'):_0x156541['notFound']['push'](_0x565ff6+'\x20(not\x20a\x20regular\x20file)');}catch(_0x457f5c){_0x156541[_0x487bde(0x1fe)]['push'](_0x565ff6+'\x20('+(_0x457f5c[_0x487bde(0x1f8)]||_0x457f5c[_0x487bde(0x203)])+')');}}}return _0x156541;}async[a0_0x362426(0x210)](_0x598ff2,_0x2b25bd){const _0x2aa89e=a0_0x362426,_0x27a356={'found':[]};if(_0x598ff2['includes'](_0x2aa89e(0x1e2))){const [_0x4d1ab6,_0x235c33]=_0x598ff2['split']('**/'),_0x2fd0da=a0_0x2d3767[_0x2aa89e(0x1c8)](_0x2b25bd,_0x4d1ab6);try{const _0x36931b=await a0_0x2b720f['stat'](_0x2fd0da);_0x36931b[_0x2aa89e(0x1f0)]()&&await this['findFilesRecursively'](_0x2fd0da,_0x235c33,_0x27a356[_0x2aa89e(0x225)],0x0,this['seekConfig']['MAX_DIRECTORY_DEPTH']);}catch(_0x355e98){this['logger']?.[_0x2aa89e(0x21c)](_0x2aa89e(0x1ea),{'basePath':_0x2fd0da,'error':_0x355e98[_0x2aa89e(0x203)]});}}else{if(_0x598ff2[_0x2aa89e(0x1e7)]('*')){const _0x3140a4=a0_0x2d3767[_0x2aa89e(0x1d0)](a0_0x2d3767[_0x2aa89e(0x1c8)](_0x2b25bd,_0x598ff2)),_0x5ad185=a0_0x2d3767[_0x2aa89e(0x1e4)](_0x598ff2);try{const _0x9d532f=await a0_0x2b720f['stat'](_0x3140a4);if(_0x9d532f[_0x2aa89e(0x1f0)]()){const _0x40c66e=await a0_0x2b720f['readdir'](_0x3140a4);for(const _0x20b968 of _0x40c66e){const _0x232733=a0_0x2d3767[_0x2aa89e(0x1b4)](_0x3140a4,_0x20b968);try{const _0x4fd703=await a0_0x2b720f['stat'](_0x232733);_0x4fd703[_0x2aa89e(0x1ac)]()&&this[_0x2aa89e(0x1b5)](_0x20b968,_0x5ad185)&&_0x27a356[_0x2aa89e(0x225)]['push'](_0x232733);}catch(_0x1f4c03){continue;}}}}catch(_0x35d63f){this[_0x2aa89e(0x1d5)]?.[_0x2aa89e(0x21c)]('Directory\x20not\x20found\x20for\x20glob\x20pattern',{'dirPath':_0x3140a4,'error':_0x35d63f['message']});}}}return _0x27a356;}async['findFilesRecursively'](_0x280d2e,_0x219b3c,_0x533221,_0x420af0,_0x35cf68){const _0x39e34a=a0_0x362426;if(_0x420af0>=_0x35cf68){this[_0x39e34a(0x1d5)]?.[_0x39e34a(0x21c)](_0x39e34a(0x19d),{'dir':_0x280d2e,'currentDepth':_0x420af0});return;}try{const _0x5887d7=await a0_0x2b720f[_0x39e34a(0x21b)](_0x280d2e,{'withFileTypes':!![]});for(const _0x538a74 of _0x5887d7){if(_0x538a74['name']['startsWith']('.'))continue;const _0x1c0e32=a0_0x2d3767[_0x39e34a(0x1b4)](_0x280d2e,_0x538a74['name']);try{if(_0x538a74['isDirectory']()){if(this[_0x39e34a(0x1a1)](_0x538a74[_0x39e34a(0x224)]))continue;await this[_0x39e34a(0x1bd)](_0x1c0e32,_0x219b3c,_0x533221,_0x420af0+0x1,_0x35cf68);}else{if(_0x538a74[_0x39e34a(0x1ac)]()){if(this[_0x39e34a(0x1b5)](_0x538a74['name'],_0x219b3c)){_0x533221[_0x39e34a(0x219)](_0x1c0e32);if(_0x533221['length']>=this[_0x39e34a(0x1c7)]['MAX_FILES_PER_SEARCH'])return;}}}}catch(_0x16e22f){continue;}}}catch(_0x53fe45){this['logger']?.['warn'](_0x39e34a(0x1e0),{'dir':_0x280d2e,'error':_0x53fe45['message']});}}[a0_0x362426(0x1b5)](_0x5b5141,_0x32b8d3){const _0x180e09=a0_0x362426,_0x15c0f3=_0x32b8d3[_0x180e09(0x209)]('*')['map'](_0x1e6360=>this['escapeRegExp'](_0x1e6360))[_0x180e09(0x1b4)]('.*'),_0x18274b=new RegExp('^'+_0x15c0f3+'$','i');return _0x18274b[_0x180e09(0x1ce)](_0x5b5141);}[a0_0x362426(0x211)](_0x18e280){const _0x28606e=a0_0x362426;return _0x18e280['replace'](/[.*+?^${}()|[\]\\]/g,_0x28606e(0x1dc));}['shouldSkipDirectory'](_0x3dcdda){const _0x21061f=a0_0x362426,_0x29823f=new Set([_0x21061f(0x1fa),_0x21061f(0x1bb),'dist',_0x21061f(0x212),'coverage','.next','.nuxt','out','target',_0x21061f(0x1a2),_0x21061f(0x1ad),_0x21061f(0x1de),_0x21061f(0x1b0),'temp']);return _0x29823f['has'](_0x3dcdda['toLowerCase']());}['shouldSkipFile'](_0x1a3f16){const _0x14014b=a0_0x362426,_0x91005e=a0_0x2d3767[_0x14014b(0x1df)](_0x1a3f16)[_0x14014b(0x1fd)]();return BINARY_EXTENSIONS[_0x14014b(0x1e1)](_0x91005e);}async['searchFiles'](_0x4e4e2d,_0x1c7a3a,_0x4fd503){const _0x2c6bb9=a0_0x362426,_0x40cd22=[],_0x5635db=[];let _0x3fadd2=0x0;for(const _0x38a7ad of _0x4e4e2d){if(this[_0x2c6bb9(0x1dd)](_0x38a7ad))continue;try{const _0x2631d1=await a0_0x2b720f[_0x2c6bb9(0x1ef)](_0x38a7ad);if(_0x2631d1[_0x2c6bb9(0x1eb)]>this[_0x2c6bb9(0x1c7)]['MAX_FILE_SIZE']){_0x5635db['push']({'filePath':a0_0x2d3767['relative'](_0x4fd503,_0x38a7ad),'error':'File\x20too\x20large\x20('+Math['round'](_0x2631d1['size']/(0x400*0x400))+_0x2c6bb9(0x1e6)+Math['round'](this[_0x2c6bb9(0x1c7)]['MAX_FILE_SIZE']/(0x400*0x400))+_0x2c6bb9(0x20f)});continue;}const _0x582f4e=await this[_0x2c6bb9(0x1d3)](_0x38a7ad,_0x1c7a3a,_0x4fd503);_0x40cd22['push'](..._0x582f4e),_0x3fadd2+=_0x582f4e[_0x2c6bb9(0x1c9)];if(_0x3fadd2>=this[_0x2c6bb9(0x1c7)][_0x2c6bb9(0x1d9)]){this[_0x2c6bb9(0x1d5)]?.['warn']('Maximum\x20total\x20matches\x20reached',{'totalMatches':_0x3fadd2});break;}}catch(_0x182f1b){_0x5635db[_0x2c6bb9(0x219)]({'filePath':a0_0x2d3767[_0x2c6bb9(0x1d1)](_0x4fd503,_0x38a7ad),'error':_0x182f1b['message']});}}const _0x13cb2c={};for(const _0x282c9b of _0x40cd22){!_0x13cb2c[_0x282c9b[_0x2c6bb9(0x1f4)]]&&(_0x13cb2c[_0x282c9b[_0x2c6bb9(0x1f4)]]=[]),_0x13cb2c[_0x282c9b[_0x2c6bb9(0x1f4)]]['push']({'filePath':_0x282c9b['filePath'],'lineNumber':_0x282c9b['lineNumber'],'lineContent':_0x282c9b['lineContent']});}return{'matches':_0x40cd22,'matchesByTerm':_0x13cb2c,'errorFiles':_0x5635db};}async[a0_0x362426(0x1d3)](_0x1bcbbe,_0x32936c,_0x33224e){const _0x7e2fb2=a0_0x362426,_0x537298=[];let _0x917f95=0x0;try{const _0x280da8=await a0_0x2b720f[_0x7e2fb2(0x1fb)](_0x1bcbbe,FILE_ENCODING),_0x3695a8=_0x280da8['split']('\x0a'),_0x381625=a0_0x2d3767[_0x7e2fb2(0x1d1)](_0x33224e,_0x1bcbbe);for(let _0x546c62=0x0;_0x546c62<_0x3695a8[_0x7e2fb2(0x1c9)];_0x546c62++){const _0x319c51=_0x3695a8[_0x546c62],_0x42577e=_0x546c62+0x1;for(const _0x18f43d of _0x32936c){if(_0x319c51[_0x7e2fb2(0x1e7)](_0x18f43d)){let _0x556f5a=_0x319c51;if(_0x556f5a[_0x7e2fb2(0x1c9)]>this[_0x7e2fb2(0x1c7)]['MAX_LINE_CONTENT_LENGTH']){const _0x34b1ed=_0x556f5a['indexOf'](_0x18f43d),_0x521f86=Math[_0x7e2fb2(0x1f1)](0x0,_0x34b1ed-0x32),_0xc4ce7f=Math[_0x7e2fb2(0x20c)](_0x556f5a[_0x7e2fb2(0x1c9)],_0x34b1ed+_0x18f43d['length']+0x32);_0x556f5a=(_0x521f86>0x0?'...':'')+_0x556f5a['substring'](_0x521f86,_0xc4ce7f)+(_0xc4ce7f<_0x556f5a[_0x7e2fb2(0x1c9)]?_0x7e2fb2(0x1a3):'');}_0x537298[_0x7e2fb2(0x219)]({'term':_0x18f43d,'filePath':_0x381625,'lineNumber':_0x42577e,'lineContent':_0x556f5a['trim']()}),_0x917f95++;if(_0x917f95>=this[_0x7e2fb2(0x1c7)][_0x7e2fb2(0x20b)])return this[_0x7e2fb2(0x1d5)]?.['warn'](_0x7e2fb2(0x201),{'filePath':_0x381625}),_0x537298;}}}}catch(_0x21d388){throw new Error(_0x7e2fb2(0x1f7)+_0x21d388[_0x7e2fb2(0x203)]);}return _0x537298;}['formatResults'](_0x238328,_0x4584cf,_0x1c8315,_0x44ea8a){const _0x478baf=a0_0x362426;let _0x2d4054='';if(_0x1c8315['length']>0x0){_0x2d4054+=_0x478baf(0x1ed);for(const _0x5ac57b of _0x1c8315){_0x2d4054+='\x20\x20-\x20'+_0x5ac57b+'\x0a';}_0x2d4054+='\x0a';}if(_0x4584cf['length']>0x0){_0x2d4054+='FILES\x20WITH\x20ERRORS:\x0a';for(const _0x246c95 of _0x4584cf){_0x2d4054+=_0x478baf(0x214)+_0x246c95['filePath']+':\x20'+_0x246c95[_0x478baf(0x1ee)]+'\x0a';}_0x2d4054+='\x0a';}if(_0x238328['length']===0x0)_0x2d4054+='No\x20matches\x20found\x20for\x20the\x20specified\x20search\x20terms\x20in\x20'+_0x44ea8a+'\x20file(s).\x0a';else{const _0x59823a={};for(const _0x5cb01f of _0x238328){!_0x59823a[_0x5cb01f['term']]&&(_0x59823a[_0x5cb01f[_0x478baf(0x1f4)]]=[]),_0x59823a[_0x5cb01f[_0x478baf(0x1f4)]][_0x478baf(0x219)](_0x5cb01f);}_0x2d4054+='SEARCH\x20RESULTS\x20('+_0x238328['length']+_0x478baf(0x20a)+_0x44ea8a+_0x478baf(0x208);for(const [_0x5439a6,_0x30d8a8]of Object['entries'](_0x59823a)){_0x2d4054+='Search\x20term:\x20\x22'+_0x5439a6+_0x478baf(0x1f3)+_0x30d8a8[_0x478baf(0x1c9)]+'\x20matches)\x0a';for(const _0x1d0d92 of _0x30d8a8){_0x2d4054+='\x20\x20'+_0x1d0d92[_0x478baf(0x1ab)]+':'+_0x1d0d92['lineNumber']+_0x478baf(0x1b3)+_0x1d0d92[_0x478baf(0x1e5)]+'\x0a';}_0x2d4054+='\x0a';}_0x238328['length']>=this[_0x478baf(0x1c7)][_0x478baf(0x1d9)]&&(_0x2d4054+='⚠️\x20\x20Maximum\x20matches\x20limit\x20reached\x20('+this['seekConfig'][_0x478baf(0x1d9)]+').\x20Some\x20matches\x20may\x20not\x20be\x20shown.\x0a');}return _0x2d4054['trim']();}[a0_0x362426(0x1c1)](){const _0x220de7=a0_0x362426;return['.js','.jsx','.ts',_0x220de7(0x21a),_0x220de7(0x1d6),'.xml','.html','.css',_0x220de7(0x222),_0x220de7(0x1f6),'.less','.md',_0x220de7(0x215),'.log','.py','.rb',_0x220de7(0x19f),'.go','.rs','.c',_0x220de7(0x221),'.h',_0x220de7(0x1a8),'.sh','.bash','.zsh','.yml','.yaml','.toml',_0x220de7(0x1cc),_0x220de7(0x1b7)];}async['cleanup'](_0x1dad2a){const _0xc1f465=a0_0x362426;this[_0xc1f465(0x1d5)]?.[_0xc1f465(0x1d8)](_0xc1f465(0x1c6),{'operationId':_0x1dad2a});}}function a0_0xcc06(_0x547656,_0x13ebec){_0x547656=_0x547656-0x19d;const _0x364bf4=a0_0x364b();let _0xcc06a7=_0x364bf4[_0x547656];if(a0_0xcc06['jIZEOG']===undefined){var _0x3b89ea=function(_0x91745f){const _0x9c6e64='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x27cdbf='',_0x2b720f='';for(let _0x2d3767=0x0,_0x5052c9,_0x1eea1c,_0x4d33c1=0x0;_0x1eea1c=_0x91745f['charAt'](_0x4d33c1++);~_0x1eea1c&&(_0x5052c9=_0x2d3767%0x4?_0x5052c9*0x40+_0x1eea1c:_0x1eea1c,_0x2d3767++%0x4)?_0x27cdbf+=String['fromCharCode'](0xff&_0x5052c9>>(-0x2*_0x2d3767&0x6)):0x0){_0x1eea1c=_0x9c6e64['indexOf'](_0x1eea1c);}for(let _0x32df03=0x0,_0x4605f0=_0x27cdbf['length'];_0x32df03<_0x4605f0;_0x32df03++){_0x2b720f+='%'+('00'+_0x27cdbf['charCodeAt'](_0x32df03)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2b720f);};a0_0xcc06['mhYhxE']=_0x3b89ea,a0_0xcc06['ekRNlj']={},a0_0xcc06['jIZEOG']=!![];}const _0x511ec2=_0x364bf4[0x0],_0x310d66=_0x547656+_0x511ec2,_0x15de4c=a0_0xcc06['ekRNlj'][_0x310d66];return!_0x15de4c?(_0xcc06a7=a0_0xcc06['mhYhxE'](_0xcc06a7),a0_0xcc06['ekRNlj'][_0x310d66]=_0xcc06a7):_0xcc06a7=_0x15de4c,_0xcc06a7;}export default SeekTool;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function a0_0x5a9a(_0x871805,_0x41e332){_0x871805=_0x871805-0xe6;const _0x1894b7=a0_0x1894();let _0x5a9a2=_0x1894b7[_0x871805];if(a0_0x5a9a['YjmeVg']===undefined){var _0x231d23=function(_0x868d47){const _0xc21328='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1461e6='',_0x52db54='';for(let _0xa7c7dc=0x0,_0x34daa3,_0x51307e,_0x3bdfb9=0x0;_0x51307e=_0x868d47['charAt'](_0x3bdfb9++);~_0x51307e&&(_0x34daa3=_0xa7c7dc%0x4?_0x34daa3*0x40+_0x51307e:_0x51307e,_0xa7c7dc++%0x4)?_0x1461e6+=String['fromCharCode'](0xff&_0x34daa3>>(-0x2*_0xa7c7dc&0x6)):0x0){_0x51307e=_0xc21328['indexOf'](_0x51307e);}for(let _0x4d9003=0x0,_0x2abd43=_0x1461e6['length'];_0x4d9003<_0x2abd43;_0x4d9003++){_0x52db54+='%'+('00'+_0x1461e6['charCodeAt'](_0x4d9003)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x52db54);};a0_0x5a9a['SVYIsI']=_0x231d23,a0_0x5a9a['euYOAn']={},a0_0x5a9a['YjmeVg']=!![];}const _0x1bb687=_0x1894b7[0x0],_0x156408=_0x871805+_0x1bb687,_0x5a7e53=a0_0x5a9a['euYOAn'][_0x156408];return!_0x5a7e53?(_0x5a9a2=a0_0x5a9a['SVYIsI'](_0x5a9a2),a0_0x5a9a['euYOAn'][_0x156408]=_0x5a9a2):_0x5a9a2=_0x5a7e53,_0x5a9a2;}const a0_0x2c6d5a=a0_0x5a9a;(function(_0x21a2de,_0x4cd188){const _0x693aeb=a0_0x5a9a,_0x190688=_0x21a2de();while(!![]){try{const _0x124b3f=-parseInt(_0x693aeb(0x1b9))/0x1*(-parseInt(_0x693aeb(0x10d))/0x2)+parseInt(_0x693aeb(0x1ba))/0x3+-parseInt(_0x693aeb(0x150))/0x4*(parseInt(_0x693aeb(0x122))/0x5)+parseInt(_0x693aeb(0xfb))/0x6+parseInt(_0x693aeb(0x143))/0x7*(parseInt(_0x693aeb(0x11d))/0x8)+-parseInt(_0x693aeb(0x104))/0x9*(-parseInt(_0x693aeb(0xfc))/0xa)+-parseInt(_0x693aeb(0x191))/0xb;if(_0x124b3f===_0x4cd188)break;else _0x190688['push'](_0x190688['shift']());}catch(_0x4cb8ed){_0x190688['push'](_0x190688['shift']());}}}(a0_0x1894,0x7dee0));import{BaseTool}from'./baseTool.js';import a0_0x1461e6 from'../utilities/tagParser.js';import a0_0x52db54 from'../utilities/directoryAccessManager.js';import a0_0xa7c7dc from'fs/promises';import a0_0x34daa3 from'path';function a0_0x1894(){const _0x5e9d82=['y2HHBMDLCW','zgLYzwn0B3j5qwnJzxnZtwfUywDLCG','lMvZBgLUDhjJlMPZB24','BgLUzxndAgfUz2vK','rvHuru5tsu9ox1rpx0XbtKDvquDf','z2v0q29UzMLNvMfSAwrHDg9Y','ugfYC2vKifn0yxrPy0fUywX5C2LZihrVB2WGCgfYyw1LDgvYCW','zxjYB3i','DMfSAwrHDgvdB25MAwDgAwXL','C2v0','v3jPDguGywnJzxnZigrLBMLLzdOG','icHTyxGG','vw5ZDxbWB3j0zwqGzMLSzsb0ExbL','Bg9Nz2vY','D2fYBMLUz3m','zxnSAw50','uMvHzcbHy2nLC3mGzgvUAwvKoIa','yw5HBhL6zuzPBgu','Dg90ywXbBMfSExnLCW','Dg9mB3DLCKnHC2u','z2v0vgLTzq','BgfUz3vHz2u','nJi5nZu5q0rQwezw','mtmZntK2t2zXB3nw','BgvUz3rO','AxntDxbWB3j0zwq','zM9YBwf0DgvK','rMfPBgvKihrVigzVCM1HDca','Cgf0DgvYBG','oIb1BMTUB3DUigfJDgLVBIb0ExbLoIa','Bwf4q29Uy3vYCMvUDe9WzxjHDgLVBNm','DMfSAwrHDgvdB25MAwDeAxjLy3rVCNK','y2fJAgviAxrZ','lNLHBwW','zMLSDgvY','DgLTzw91Da','AMf2yxnJCMLWDa','rMfPBgvKihrVigzPEca','BwvZC2fNzq','Dw5RBM93BG','D3jPDguTzMLSzq','C3vIC3rYAw5N','z2v0uhjLDhrPzxjgB3jTyxr0zxi','zML4zwq','lMvUDG','oIbMAwXLlxbHDgGGAxmGCMvXDwLYzwqGzM9YihzHBgLKyxrLlwnVBMzPzW','yw5HBhL6zwq','lMDPDgH1yG','C2XPy2u','v0fstKLorW','ChjLDhrPzxi','zgv0zwn0rNjHBwv3B3jR','CMf3q29UDgvUDa','AM9PBG','zxHLyW','vfLqrvnduKLqva','C2vJDxjPDhLty2fUuhjVAMvJDa','qu5btfLtsvnFveLnru9vva','CMvHzgrPCG','BwfW','ntG4mJa0rgPLAuzj','nZbHt010sNi','DMfSAwrHDguTy29UzMLN','ChL0Ag9U','lMvZBgLUDhjJlMPZ','zxH0BMfTzq','yw5HBhL6zxjZ','rMfPBgvKihrVigXVywqGyw5HBhL6zxi','ufLuse9o','nZiXmtK3BMDhDKT1','x19WEwnHy2HLx18','q1nt','BM93','zML4','vg9Vig1HBNKGy29UzMLNigzPBgvZoIa','DMfSAwrHDgvszwfKqwnJzxnZ','CM91BMq','Bwf4lwvYCM9YCW','mKnRAKjRuG','CgfYC2vbDhrYAwj1DgvZ','DMfSAwrHDguTy29UzMLNlwrPCMvJDg9YEq','zML4zwrdB3vUDa','rvjst1i','zM9YBwf0rMLSzq','su5gtW','C2TPCc10zxn0lwzPBgvZ','qw5HBhL6Aw5NigjHDgnO','yw5HBhLZAxndywnOzq','lI4Vyw5HBhL6zxjZl0PHDMfty3jPChrbBMfSExPLCI5QCW','u0vwrvjjvfK','Aw5JBhvKzs13yxjUAw5NCW','CMvTywLUAw5NrxjYB3jZ','z2v0ugfYyw1LDgvYu2nOzw1H','CMvHzezPBgu','mtmZnJe2EgzcAg9A','zMLSzvbHDgG','lMDPDa','rMfPBgvKihrVihbHCNnLihn0yxrPyYbHBMfSExnPCYbWyxjHBwv0zxjZoIa','zML4rMLSzq','nJbVugDzA0W','Dhj1zq','zgLZDa','CMvZB2X2zq','z2v0ugvYzM9YBwfUy2vnzxrYAwnZ','D29YA2zSB3DZ','y3DK','B2jQzwn0','lNzLBNy','BM9Kzv9TB2r1BgvZ','oIbKAxjLy3rVCNKGAxmGCMvXDwLYzwqGzM9YihnLy3vYAxr5lxnJyw4TChjVAMvJDa','qxqGBgvHC3qGB25LigfJDgLVBIbPCYbYzxf1AxjLza','q1jjveLdquW','z2v0rvnmAw50qw5HBhL6zxi','CMvHC29U','Bwv0CMLJCW','Aw5KzxHpzG','zM9YrwfJAa','ufLuse9ox0zsqu1fv09ss1m','ywn0Aw9UCW','zM9YBwf0DgvYCW','lNrM','z2v0u2vJDxjPDhLbBMfSExPLCG','yw5HBhL6zs1WCM9Qzwn0','rMLSzsbMAxHLzcbHBMqGD3jPDhrLBG','yMfZzw5HBwu','zMLUzenVBMzPz0zPBgvZ','rMfPBgvKihrVihnLy3vYAxr5ihnJyw4G','zMLSzs1WyxrO','u3rHDgLJigfUywX5C2LZigfJDgLVBIbMywLSzwq','DhLWzq','zgLYzwn0B3j5','Bwf4rMLSzxnqzxjcyxrJAa','mZvxsuPmweC','tefor1vbr0u','ChvZAa','Bwf4ugfYywXSzwXgAwXLCW','yw5HBhL6zvbYB2PLy3q','C2vJDxjPDhKTC2nHBI1WCM9Qzwn0','Dg90ywXbBMfSExnPC1rPBwu','C3rYAw5N','C2nHBM5LCG','DMfSAwrHDgu','AxneAxjLy3rVCNK','zw5HyMXLq2fJAgu','C2L6zq','ntK2mJbXvejrsgy','y29UDgvUDa','Dg9ju09tDhjPBMC','CgfJA2fNzs5QC29U','Aw5JBhvKzvDHCM5PBMDZ','lMvUDI5LEgfTCgXL','y3jPDgLJywW','Dhj1BMnHDgvK','zMLSzxncEuXHBMD1ywDL','lNbYzxr0AwvYCMmUANnVBG','lMPZB24','DxbKyxrLu3vTBwfYEq','igj5DgvZicHTyxGG','zgLNzxn0','lNbYzxr0AwvYCMm','C2vJDxjPDhKTC2nHBG','zMLSzxm','D2fYBG','Aw5JBhvKzxm','y3jLyxrLuMvSyxrPDMvqyxrO','AZHZ','yw5HBhL6zq','DhnJB25MAwCUANnVBG','rNjHBwv3B3jRigrLDgvJDgLVBIbMywLSzwq','zxjYB3jZ','y3nZ','DhjPBq','yxjYyxK','zg9JA2vYlwnVBxbVC2uUEwfTBa','y29TCgXLDgvK','zMXVB3i','rg9JA2vYzMLSzq','B25qCM9NCMvZCW','DxrMltG','DgvYCMfMB3jT','kIOVkI57ANmSANn4lg1QCYXJANmSDhmSDhn4lhb5Fq','Aw5MBW','rMfPBgvKihrVigfUywX5EMuGzMLSzsbPBIbWCM9Qzwn0','Bwf4rxjYB3jZ','oIbMAwXLlxbHDgGGAxmGCMvXDwLYzwqGzM9YihnLy3vYAxr5lxnJyw4','CgfYC2vqyxjHBwv0zxjZ','qwn0Aw9Uia','oIb0ExbLigLZihjLCxvPCMvK','C2vJDxjPDhLty2fUrMLSzq','ywXSB3DLza','DxnLq29UDgvUDeHHC2G','zMLUzezPBgvZ','CgfYC2u','zw50CMLLCW','D3jPDgvgAwXL','CgfYywXSzwXbBMfSExnPCW','C2v2zxjPDhK','BM9YBwfSAxPL','u2vJDxjPDhKGC2nHBM5PBMCGB25SEsbZDxbWB3j0CYbkyxzHu2nYAxb0lcbuExbLu2nYAxb0lcbHBMqGuhL0Ag9UigzPBgvZ','zgvWzw5Kzw5JAwvZ','CMvZDwX0','Agv4','C2TPCfrLC3rgAwXLCW','zgv0zwn0tgfUz3vHz2u','ywXS','zMLSzxnbBMfSExPLza','lI4Vyw5HBhL6zxjZl1r5Cgvty3jPChrbBMfSExPLCI5QCW','zgvIDwC','zgv0zwn0sLngCMfTzxDVCMS','AxnbyNnVBhv0zq','nZK0mZa3ofjqvxfYqG','y29UzMLN','lI4Vyw5HBhL6zxjZl1b5DgHVBKfUywX5EMvYlMPZ','y2f0zwDVCNK','C3rHDa','sKfwqvnduKLqva','rLjbtuvxt1jlx01btKLgrvnuuW','DMvUDG','rMLSzsb0B28GBgfYz2u6ia','y2XLyxjdywnOzq','AxnbC3LUyW','BMfTzq','kIOVkI57ANmSANn4lg1QCYXJANmSDhmSDhn4lhb5lgnZCYXZy3nZlhnHC3mSBgvZC30','Dg90ywXdCML0AwnHBa','q0fdsevFrfvsqvrjt04','zM9YBwf0','Bwf4rMLSzvnPEMu','C3vTBwfYEq'];a0_0x1894=function(){return _0x5e9d82;};return a0_0x1894();}import a0_0x51307e from'crypto';import{STATIC_ANALYSIS,TOOL_STATUS,SYSTEM_DEFAULTS}from'../utilities/constants.js';class StaticAnalysisTool extends BaseTool{constructor(_0x3bdfb9={},_0x4d9003=null){const _0x1d1835=a0_0x5a9a;super(_0x3bdfb9,_0x4d9003),this['requiresProject']=!![],this[_0x1d1835(0x19b)]=![],this['timeout']=_0x3bdfb9[_0x1d1835(0x1c6)]||STATIC_ANALYSIS[_0x1d1835(0xf8)],this[_0x1d1835(0x1c1)]=_0x3bdfb9[_0x1d1835(0x1c1)]||0x1,this[_0x1d1835(0x1a1)]=_0x3bdfb9[_0x1d1835(0x1a1)]||STATIC_ANALYSIS['MAX_FILE_SIZE_FOR_ANALYSIS'],this['maxFilesPerBatch']=_0x3bdfb9['maxFilesPerBatch']||STATIC_ANALYSIS['MAX_FILES_PER_BATCH'],this[_0x1d1835(0x14e)]=_0x3bdfb9['enableCache']!==![]&&STATIC_ANALYSIS['ENABLE_CACHE'],this[_0x1d1835(0x116)]=new Map(),this['cacheExpiry']=STATIC_ANALYSIS[_0x1d1835(0x19f)],this[_0x1d1835(0x182)]=_0x3bdfb9[_0x1d1835(0x182)]!==![],this[_0x1d1835(0x146)]=_0x3bdfb9['maxParallelFiles']||0xa,this['useContentHash']=_0x3bdfb9['useContentHash']!==![],this['metrics']={'totalAnalyses':0x0,'cacheHits':0x0,'cacheMisses':0x0,'totalAnalysisTime':0x0,'filesAnalyzed':0x0,'parallelBatches':0x0},this[_0x1d1835(0x1a4)]=new a0_0x52db54(_0x3bdfb9,_0x4d9003),this['analyzers']={'javascript':null,'typescript':null,'python':null,'css':null,'scss':null,'less':null,'eslint':null,'security':null,'config':null},this['formatters']={'prettier':null};}['getDescription'](){const _0x3a7205=a0_0x5a9a;return'\x0aStatic\x20Code\x20Analysis\x20Tool:\x20Analyze\x20code\x20files\x20for\x20errors\x20without\x20execution\x0a\x0aThis\x20tool\x20performs\x20static\x20analysis\x20on\x20code\x20files\x20to\x20find\x20syntax\x20errors,\x20type\x20errors,\x20import\x20issues,\x20and\x20other\x20problems\x20without\x20running\x20the\x20code.\x20It\x20uses\x20official\x20language\x20parsers\x20for\x20accurate\x20results.\x0a\x0aSUPPORTED\x20LANGUAGES:\x0a-\x20JavaScript\x20(.js,\x20.jsx,\x20.mjs,\x20.cjs)\x0a-\x20TypeScript\x20(.ts,\x20.tsx)\x0a-\x20Python\x20(.py)\x0a-\x20CSS\x20(.css)\x0a-\x20SCSS\x20(.scss,\x20.sass)\x0a-\x20LESS\x20(.less)\x0a\x0aUSAGE:\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22staticanalysis\x22,\x0a\x20\x20\x22actions\x22:\x20[\x0a\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x22type\x22:\x20\x22analyze\x22,\x0a\x20\x20\x20\x20\x20\x20\x22filePath\x22:\x20\x22src/index.js\x22\x0a\x20\x20\x20\x20},\x0a\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x22type\x22:\x20\x22analyze-project\x22,\x0a\x20\x20\x20\x20\x20\x20\x22directory\x22:\x20\x22src\x22,\x0a\x20\x20\x20\x20\x20\x20\x22pattern\x22:\x20\x22**/*.{js,ts,py}\x22\x0a\x20\x20\x20\x20}\x0a\x20\x20]\x0a}\x0a```\x0a\x0aACTION\x20TYPES:\x0a-\x20analyze:\x20Analyze\x20a\x20single\x20file\x0a-\x20analyze-project:\x20Analyze\x20all\x20files\x20in\x20a\x20directory\x0a-\x20fix:\x20Auto-fix\x20code\x20issues\x0a-\x20format:\x20Format\x20code\x20with\x20Prettier\x0a-\x20security-scan:\x20Scan\x20for\x20security\x20vulnerabilities\x0a-\x20security-scan-project:\x20Scan\x20entire\x20project\x20for\x20security\x20issues\x0a-\x20validate-config:\x20Validate\x20configuration\x20files\x0a-\x20validate-config-directory:\x20Validate\x20all\x20config\x20files\x20in\x20directory\x0a\x0aPARAMETERS:\x0a-\x20filePath:\x20Path\x20to\x20file\x20to\x20analyze\x20(for\x20single\x20file\x20actions)\x0a-\x20directory:\x20Directory\x20to\x20analyze\x20(for\x20project-wide\x20actions)\x0a-\x20pattern:\x20Glob\x20pattern\x20for\x20files\x20to\x20include\x20(optional)\x0a-\x20includeWarnings:\x20Include\x20warnings\x20in\x20results\x20(true/false,\x20default:\x20true)\x0a-\x20maxErrors:\x20Maximum\x20number\x20of\x20errors\x20to\x20return\x20(default:\x20all)\x0a-\x20writeFile:\x20Write\x20fixed/formatted\x20content\x20back\x20to\x20file\x20(for\x20fix/format\x20actions)\x0a\x0aEXAMPLES:\x0a\x0a1.\x20Analyze\x20a\x20single\x20JavaScript\x20file:\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22staticanalysis\x22,\x0a\x20\x20\x22actions\x22:\x20[{\x20\x22type\x22:\x20\x22analyze\x22,\x20\x22filePath\x22:\x20\x22src/app.js\x22\x20}]\x0a}\x0a```\x0a\x0a2.\x20Analyze\x20all\x20files\x20in\x20a\x20directory:\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22staticanalysis\x22,\x0a\x20\x20\x22actions\x22:\x20[{\x20\x22type\x22:\x20\x22analyze-project\x22,\x20\x22directory\x22:\x20\x22src\x22,\x20\x22pattern\x22:\x20\x22**/*.js\x22\x20}]\x0a}\x0a```\x0a\x0a3.\x20Auto-fix\x20code\x20issues:\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22staticanalysis\x22,\x0a\x20\x20\x22actions\x22:\x20[{\x20\x22type\x22:\x20\x22fix\x22,\x20\x22filePath\x22:\x20\x22src/app.js\x22,\x20\x22writeFile\x22:\x20true\x20}]\x0a}\x0a```\x0a\x0a4.\x20Security\x20scan\x20a\x20project:\x0a```json\x0a{\x0a\x20\x20\x22toolId\x22:\x20\x22staticanalysis\x22,\x0a\x20\x20\x22actions\x22:\x20[{\x20\x22type\x22:\x20\x22security-scan-project\x22,\x20\x22directory\x22:\x20\x22src\x22\x20}]\x0a}\x0a```\x0a\x0aOUTPUT\x20FORMAT:\x0aReturns\x20structured\x20error\x20information\x20with:\x20file,\x20line,\x20column,\x20severity,\x20rule,\x20message,\x20category,\x20fixable,\x20suggestion\x0a\x0aLIMITATIONS:\x0a-\x20File\x20size\x20limit:\x20'+Math['round'](this[_0x3a7205(0x1a1)]/0x400/0x400)+'MB\x20per\x20file\x0a-\x20Batch\x20limit:\x20'+this[_0x3a7205(0x142)]+'\x20files\x20per\x20operation\x0a-\x20Analysis\x20timeout:\x20'+this[_0x3a7205(0x1c6)]/0x3e8+'\x20seconds\x0a\x20\x20\x20\x20';}[a0_0x2c6d5a(0x178)](_0x2abd43){const _0x20f8da=a0_0x2c6d5a;try{const _0x2bfa04={},_0x470181=[];this['logger']?.[_0x20f8da(0x18e)]('StaticAnalysis\x20tool\x20parsing\x20parameters',{'contentLength':_0x2abd43['length'],'contentPreview':_0x2abd43[_0x20f8da(0xe8)](0x0,0xc8)});const _0x50dfdc=/<analyze\s+(.+?)\/>/g;let _0x238332;while((_0x238332=_0x50dfdc['exec'](_0x2abd43))!==null){const _0x43c868=_0x238332[0x1]['trim'](),_0x3b4e58=new a0_0x1461e6(),_0x1dec04=_0x3b4e58[_0x20f8da(0x10e)](_0x43c868),_0x21a68c={'type':_0x20f8da(0x165),..._0x1dec04};_0x21a68c[_0x20f8da(0x13e)]&&(_0x21a68c['filePath']=_0x21a68c[_0x20f8da(0x13e)],delete _0x21a68c[_0x20f8da(0x13e)]),_0x21a68c['include-warnings']&&(_0x21a68c['includeWarnings']=_0x21a68c[_0x20f8da(0x119)]===_0x20f8da(0x123),delete _0x21a68c[_0x20f8da(0x119)]),_0x21a68c['max-errors']&&(_0x21a68c[_0x20f8da(0x176)]=parseInt(_0x21a68c['max-errors'],0xa),delete _0x21a68c['max-errors']),_0x470181[_0x20f8da(0x145)](_0x21a68c);}const _0x26aede=/<analyze-project\s+(.+?)\/>/g;while((_0x238332=_0x26aede[_0x20f8da(0xf5)](_0x2abd43))!==null){const _0xc6a6eb=_0x238332[0x1][_0x20f8da(0x16a)](),_0x4b6cf8=new a0_0x1461e6(),_0x23d1f7=_0x4b6cf8[_0x20f8da(0x10e)](_0xc6a6eb),_0x483a5b={'type':'analyze-project',..._0x23d1f7};_0x483a5b['include-warnings']&&(_0x483a5b[_0x20f8da(0x154)]=_0x483a5b[_0x20f8da(0x119)]===_0x20f8da(0x123),delete _0x483a5b[_0x20f8da(0x119)]),_0x483a5b['max-errors']&&(_0x483a5b[_0x20f8da(0x176)]=parseInt(_0x483a5b['max-errors'],0xa),delete _0x483a5b[_0x20f8da(0x10c)]),_0x470181['push'](_0x483a5b);}const _0x241fff=/<fix\s+(.+?)\/>/g;while((_0x238332=_0x241fff[_0x20f8da(0xf5)](_0x2abd43))!==null){const _0x42f51b=_0x238332[0x1][_0x20f8da(0x16a)](),_0x42a65f=new a0_0x1461e6(),_0x22da16=_0x42a65f[_0x20f8da(0x10e)](_0x42f51b),_0x22bc0d={'type':'fix',..._0x22da16};_0x22bc0d[_0x20f8da(0x13e)]&&(_0x22bc0d[_0x20f8da(0x11e)]=_0x22bc0d['file-path'],delete _0x22bc0d[_0x20f8da(0x13e)]),_0x22bc0d[_0x20f8da(0xe7)]&&(_0x22bc0d['writeFile']=_0x22bc0d[_0x20f8da(0xe7)]===_0x20f8da(0x123),delete _0x22bc0d['write-file']),_0x470181[_0x20f8da(0x145)](_0x22bc0d);}const _0x519553=/<format\s+(.+?)\/>/g;while((_0x238332=_0x519553['exec'](_0x2abd43))!==null){const _0x110772=_0x238332[0x1][_0x20f8da(0x16a)](),_0x14c69f=new a0_0x1461e6(),_0x185f0b=_0x14c69f['parseAttributes'](_0x110772),_0x35a028={'type':_0x20f8da(0x1a0),..._0x185f0b};_0x35a028['file-path']&&(_0x35a028[_0x20f8da(0x11e)]=_0x35a028['file-path'],delete _0x35a028['file-path']),_0x35a028['write-file']&&(_0x35a028['writeFile']=_0x35a028['write-file']==='true',delete _0x35a028[_0x20f8da(0xe7)]),_0x470181[_0x20f8da(0x145)](_0x35a028);}const _0x45f332=/<security-scan\s+(.+?)\/>/g;while((_0x238332=_0x45f332['exec'](_0x2abd43))!==null){const _0x11cd8c=_0x238332[0x1][_0x20f8da(0x16a)](),_0x8c3d1c=new a0_0x1461e6(),_0x4234f6=_0x8c3d1c['parseAttributes'](_0x11cd8c),_0xc3ae1={'type':_0x20f8da(0x15f),..._0x4234f6};_0xc3ae1[_0x20f8da(0x13e)]&&(_0xc3ae1['filePath']=_0xc3ae1[_0x20f8da(0x13e)],delete _0xc3ae1['file-path']),_0xc3ae1[_0x20f8da(0x114)]&&(_0xc3ae1['skipTestFiles']=_0xc3ae1['skip-test-files']===_0x20f8da(0x123),delete _0xc3ae1['skip-test-files']),_0x470181[_0x20f8da(0x145)](_0xc3ae1);}const _0x43c99f=/<security-scan-project\s+(.+?)\/>/g;while((_0x238332=_0x43c99f['exec'](_0x2abd43))!==null){const _0xea0004=_0x238332[0x1]['trim'](),_0x350f2e=new a0_0x1461e6(),_0x1cef3d=_0x350f2e['parseAttributes'](_0xea0004),_0x384f51={'type':'security-scan-project',..._0x1cef3d};_0x384f51['skip-test-files']&&(_0x384f51[_0x20f8da(0x189)]=_0x384f51['skip-test-files']==='true',delete _0x384f51['skip-test-files']),_0x470181[_0x20f8da(0x145)](_0x384f51);}const _0x1a6278=/<validate-config\s+(.+?)\/>/g;while((_0x238332=_0x1a6278['exec'](_0x2abd43))!==null){const _0xe587b=_0x238332[0x1][_0x20f8da(0x16a)](),_0x36edec=new a0_0x1461e6(),_0x58186c=_0x36edec[_0x20f8da(0x10e)](_0xe587b),_0x551871={'type':_0x20f8da(0xfd),..._0x58186c};_0x551871[_0x20f8da(0x13e)]&&(_0x551871['filePath']=_0x551871[_0x20f8da(0x13e)],delete _0x551871['file-path']),_0x470181[_0x20f8da(0x145)](_0x551871);}const _0x24a035=/<validate-config-directory\s+(.+?)\/>/g;while((_0x238332=_0x24a035['exec'](_0x2abd43))!==null){const _0x177273=_0x238332[0x1][_0x20f8da(0x16a)](),_0x3ed538=new a0_0x1461e6(),_0x47195a=_0x3ed538['parseAttributes'](_0x177273),_0x5d7556={'type':_0x20f8da(0x10f),..._0x47195a};_0x470181['push'](_0x5d7556);}return _0x2bfa04['actions']=_0x470181,_0x2bfa04[_0x20f8da(0xf3)]=_0x2abd43[_0x20f8da(0x16a)](),this[_0x20f8da(0x1b0)]?.[_0x20f8da(0x18e)](_0x20f8da(0x1a9),{'totalActions':_0x470181[_0x20f8da(0x1bb)],'actionTypes':_0x470181['map'](_0x1703ce=>_0x1703ce['type'])}),_0x2bfa04;}catch(_0x362a09){throw new Error(_0x20f8da(0x120)+_0x362a09[_0x20f8da(0x1c9)]);}}['getRequiredParameters'](){const _0xfcf34b=a0_0x2c6d5a;return[_0xfcf34b(0x135)];}['customValidateParameters'](_0x58569f){const _0x42bd69=a0_0x2c6d5a,_0x587736=[];if(!_0x58569f['actions']||!Array['isArray'](_0x58569f['actions'])||_0x58569f[_0x42bd69(0x135)]['length']===0x0)_0x587736['push'](_0x42bd69(0x12d));else{for(const [_0x2e5989,_0x5e0c5c]of _0x58569f['actions'][_0x42bd69(0x180)]()){if(!_0x5e0c5c['type']){_0x587736[_0x42bd69(0x145)]('Action\x20'+(_0x2e5989+0x1)+_0x42bd69(0x17a));continue;}switch(_0x5e0c5c['type']){case'analyze':!_0x5e0c5c[_0x42bd69(0x11e)]&&_0x587736['push'](_0x42bd69(0x179)+(_0x2e5989+0x1)+':\x20file-path\x20is\x20required\x20for\x20analyze');break;case _0x42bd69(0x139):!_0x5e0c5c[_0x42bd69(0x141)]&&_0x587736['push'](_0x42bd69(0x179)+(_0x2e5989+0x1)+':\x20directory\x20is\x20required\x20for\x20analyze-project');break;case _0x42bd69(0x108):!_0x5e0c5c['filePath']&&_0x587736['push']('Action\x20'+(_0x2e5989+0x1)+':\x20file-path\x20is\x20required\x20for\x20fix');break;case'format':!_0x5e0c5c[_0x42bd69(0x11e)]&&_0x587736[_0x42bd69(0x145)](_0x42bd69(0x179)+(_0x2e5989+0x1)+':\x20file-path\x20is\x20required\x20for\x20format');break;case _0x42bd69(0x15f):!_0x5e0c5c[_0x42bd69(0x11e)]&&_0x587736['push'](_0x42bd69(0x179)+(_0x2e5989+0x1)+_0x42bd69(0x177));break;case _0x42bd69(0x148):!_0x5e0c5c[_0x42bd69(0x141)]&&_0x587736['push']('Action\x20'+(_0x2e5989+0x1)+_0x42bd69(0x12c));break;case _0x42bd69(0xfd):!_0x5e0c5c[_0x42bd69(0x11e)]&&_0x587736[_0x42bd69(0x145)](_0x42bd69(0x179)+(_0x2e5989+0x1)+_0x42bd69(0xec));break;case'validate-config-directory':!_0x5e0c5c['directory']&&_0x587736[_0x42bd69(0x145)](_0x42bd69(0x179)+(_0x2e5989+0x1)+':\x20directory\x20is\x20required\x20for\x20validate-config-directory');break;default:_0x587736['push'](_0x42bd69(0x179)+(_0x2e5989+0x1)+_0x42bd69(0x1c0)+_0x5e0c5c[_0x42bd69(0x140)]);}}_0x58569f['actions']['length']>this[_0x42bd69(0x142)]&&_0x587736['push']('Too\x20many\x20actions:\x20'+_0x58569f[_0x42bd69(0x135)][_0x42bd69(0x1bb)]+'\x20(max\x20'+this[_0x42bd69(0x142)]+')');}return{'valid':_0x587736[_0x42bd69(0x1bb)]===0x0,'errors':_0x587736};}async['execute'](_0x357a39,_0x558153){const _0x1303bc=a0_0x2c6d5a,{actions:_0x539e01}=_0x357a39,{projectDir:_0x44c2bd,agentId:_0x5ade0e,directoryAccess:_0x4c00dc}=_0x558153,_0xeedffd=_0x4c00dc||this[_0x1303bc(0x1a4)]['createDirectoryAccess']({'workingDirectory':_0x44c2bd||process['cwd'](),'writeEnabledDirectories':[_0x44c2bd||process[_0x1303bc(0x128)]()],'restrictToProject':!![]}),_0x2345ee=this['directoryAccessManager']['getWorkingDirectory'](_0xeedffd),_0x5e5e77={'files':[],'summary':{'totalFiles':0x0,'totalErrors':0x0,'totalWarnings':0x0,'totalInfo':0x0,'errorsByCategory':{},'filesByLanguage':{},'filesWithErrors':0x0}};for(const _0x2ee7a6 of _0x539e01){try{let _0x331ccc;switch(_0x2ee7a6[_0x1303bc(0x140)]){case'analyze':_0x331ccc=await this[_0x1303bc(0x1b4)](_0x2ee7a6[_0x1303bc(0x11e)],_0x2345ee,_0xeedffd,_0x2ee7a6);_0x331ccc&&(_0x5e5e77[_0x1303bc(0x160)][_0x1303bc(0x145)](_0x331ccc),this['updateSummary'](_0x5e5e77[_0x1303bc(0x1a2)],_0x331ccc));break;case'analyze-project':const _0xe0711c=await this['analyzeProject'](_0x2ee7a6['directory'],_0x2ee7a6[_0x1303bc(0x1bf)],_0x2345ee,_0xeedffd,_0x2ee7a6);_0x5e5e77['files']['push'](..._0xe0711c);for(const _0x1a51c0 of _0xe0711c){this[_0x1303bc(0x15b)](_0x5e5e77[_0x1303bc(0x1a2)],_0x1a51c0);}break;case _0x1303bc(0x108):_0x331ccc=await this['fixFile'](_0x2ee7a6['filePath'],_0x2345ee,_0xeedffd,_0x2ee7a6);_0x331ccc&&_0x5e5e77['files']['push'](_0x331ccc);break;case _0x1303bc(0x1a0):_0x331ccc=await this['formatFile'](_0x2ee7a6['filePath'],_0x2345ee,_0xeedffd,_0x2ee7a6);_0x331ccc&&_0x5e5e77['files']['push'](_0x331ccc);break;case'security-scan':_0x331ccc=await this[_0x1303bc(0x17b)](_0x2ee7a6[_0x1303bc(0x11e)],_0x2345ee,_0xeedffd,_0x2ee7a6);_0x331ccc&&(_0x5e5e77['files']['push'](_0x331ccc),this['updateSummary'](_0x5e5e77['summary'],_0x331ccc));break;case'security-scan-project':const _0x490b03=await this['securityScanProject'](_0x2ee7a6[_0x1303bc(0x141)],_0x2ee7a6[_0x1303bc(0x1bf)],_0x2345ee,_0xeedffd,_0x2ee7a6);_0x5e5e77[_0x1303bc(0x160)]['push'](..._0x490b03);for(const _0x325cba of _0x490b03){this[_0x1303bc(0x15b)](_0x5e5e77['summary'],_0x325cba);}break;case'validate-config':_0x331ccc=await this[_0x1303bc(0x1ab)](_0x2ee7a6[_0x1303bc(0x11e)],_0x2345ee,_0xeedffd,_0x2ee7a6);_0x331ccc&&(_0x5e5e77[_0x1303bc(0x160)][_0x1303bc(0x145)](_0x331ccc),this['updateSummary'](_0x5e5e77[_0x1303bc(0x1a2)],_0x331ccc));break;case'validate-config-directory':const _0x3f5664=await this[_0x1303bc(0x1c2)](_0x2ee7a6['directory'],_0x2345ee,_0xeedffd,_0x2ee7a6);_0x5e5e77[_0x1303bc(0x160)]['push'](..._0x3f5664);for(const _0x1f105e of _0x3f5664){this['updateSummary'](_0x5e5e77[_0x1303bc(0x1a2)],_0x1f105e);}break;default:throw new Error('Unknown\x20action\x20type:\x20'+_0x2ee7a6['type']);}}catch(_0x2ccac9){this[_0x1303bc(0x1b0)]?.[_0x1303bc(0x1aa)](_0x1303bc(0x13f),{'action':_0x2ee7a6[_0x1303bc(0x140)],'error':_0x2ccac9[_0x1303bc(0x1c9)]}),_0x5e5e77['files'][_0x1303bc(0x145)]({'file':_0x2ee7a6['filePath']||_0x2ee7a6['directory'],'error':_0x2ccac9['message'],'success':![]});}}return{'success':!![],'results':_0x5e5e77,'toolUsed':'staticanalysis','performance':this[_0x1303bc(0x126)]()};}async['analyzeFile'](_0x127c0,_0x2763ab,_0x5e9078,_0x1f69b4={}){const _0x352569=a0_0x2c6d5a,_0x30910c=a0_0x34daa3['isAbsolute'](_0x127c0)?a0_0x34daa3['normalize'](_0x127c0):a0_0x34daa3[_0x352569(0x125)](_0x2763ab,_0x127c0),_0x474d49=this['directoryAccessManager'][_0x352569(0x10a)](_0x30910c,_0x5e9078);if(!_0x474d49[_0x352569(0x17c)])throw new Error('Read\x20access\x20denied:\x20'+_0x474d49[_0x352569(0x130)]);try{const _0x237d60=await a0_0xa7c7dc['stat'](_0x30910c);if(_0x237d60[_0x352569(0x14f)]>this['maxFileSize'])throw new Error('File\x20too\x20large:\x20'+_0x237d60['size']+_0x352569(0x15c)+this['maxFileSize']+')');const _0x15015d=this['detectLanguage'](_0x30910c);if(!_0x15015d)return{'file':this['directoryAccessManager']['createRelativePath'](_0x30910c,_0x5e9078),'fullPath':_0x30910c,'language':_0x352569(0xe6),'errors':[],'warnings':[],'info':[],'skipped':!![],'skipReason':_0x352569(0x1af)};const _0x1d1f0a=await a0_0xa7c7dc[_0x352569(0x11c)](_0x30910c,'utf-8'),_0x41f55d=this['useContentHash']?this['computeContentHash'](_0x1d1f0a):null,_0x475dfe=this[_0x352569(0x17d)]?_0x30910c+':'+_0x41f55d:_0x30910c+':'+_0x237d60['mtime'][_0x352569(0x1b7)]();if(this[_0x352569(0x14e)]&&this['analysisCache']['has'](_0x475dfe)){const _0x40bbf5=this['analysisCache']['get'](_0x475dfe);if(Date[_0x352569(0x107)]()-_0x40bbf5['timestamp']<this['cacheExpiry'])return this[_0x352569(0x1b0)]?.[_0x352569(0x18e)]('Using\x20cached\x20analysis\x20result',{'file':_0x30910c}),this['metrics']['cacheHits']++,this[_0x352569(0x131)]['totalAnalyses']++,_0x40bbf5[_0x352569(0x187)];}this[_0x352569(0x131)]['cacheMisses']++,this[_0x352569(0x131)][_0x352569(0x1b5)]++;const _0x3a3e18=await this['getAnalyzer'](_0x15015d);if(!_0x3a3e18)return{'file':this[_0x352569(0x1a4)]['createRelativePath'](_0x30910c,_0x5e9078),'fullPath':_0x30910c,'language':_0x15015d,'errors':[],'warnings':[],'info':[],'skipped':!![],'skipReason':'No\x20analyzer\x20available\x20for\x20'+_0x15015d};const _0x3a1064=Date[_0x352569(0x107)](),_0x4e80e6=await _0x3a3e18['analyze'](_0x30910c,_0x1d1f0a,{'workingDir':_0x2763ab,'accessConfig':_0x5e9078,'framework':await this[_0x352569(0xf2)](_0x2763ab,_0x15015d)}),_0x52f169=Date['now']()-_0x3a1064;this[_0x352569(0x131)][_0x352569(0x149)]+=_0x52f169,this[_0x352569(0x131)]['filesAnalyzed']++;const _0x3492f7={'file':this['directoryAccessManager'][_0x352569(0x163)](_0x30910c,_0x5e9078),'fullPath':_0x30910c,'language':_0x15015d,'framework':await this['detectFramework'](_0x2763ab,_0x15015d),'errors':_0x4e80e6['filter'](_0x16ecf5=>_0x16ecf5['severity']===STATIC_ANALYSIS[_0x352569(0x118)][_0x352569(0x111)]),'warnings':_0x1f69b4[_0x352569(0x154)]!==![]?_0x4e80e6[_0x352569(0x1c5)](_0x4866f3=>_0x4866f3['severity']===STATIC_ANALYSIS[_0x352569(0x118)]['WARNING']):[],'info':_0x4e80e6[_0x352569(0x1c5)](_0x4e2dff=>_0x4e2dff['severity']===STATIC_ANALYSIS['SEVERITY'][_0x352569(0x113)]),'totalIssues':_0x4e80e6[_0x352569(0x1bb)],'analyzed':!![],'timestamp':new Date()['toISOString']()};return _0x1f69b4[_0x352569(0x176)]&&_0x3492f7['errors'][_0x352569(0x1bb)]>_0x1f69b4['maxErrors']&&(_0x3492f7['errors']=_0x3492f7[_0x352569(0x168)]['slice'](0x0,_0x1f69b4[_0x352569(0x176)]),_0x3492f7[_0x352569(0x157)]=!![]),this[_0x352569(0x14e)]&&this[_0x352569(0x116)][_0x352569(0x1ac)](_0x475dfe,{'result':_0x3492f7,'timestamp':Date['now']()}),_0x3492f7;}catch(_0x20811b){throw new Error('Failed\x20to\x20analyze\x20'+_0x127c0+':\x20'+_0x20811b[_0x352569(0x1c9)]);}}async[a0_0x2c6d5a(0x147)](_0x219ef3,_0x5cb032,_0x3201ee,_0x126a28,_0x21fdc1={}){const _0x199390=a0_0x2c6d5a,_0x34b06e=a0_0x34daa3['isAbsolute'](_0x219ef3)?a0_0x34daa3[_0x199390(0x184)](_0x219ef3):a0_0x34daa3['resolve'](_0x3201ee,_0x219ef3),_0x299b82=this[_0x199390(0x1a4)][_0x199390(0x10a)](_0x34b06e,_0x126a28);if(!_0x299b82[_0x199390(0x17c)])throw new Error('Read\x20access\x20denied:\x20'+_0x299b82['reason']);const _0x121374=await this['findFiles'](_0x34b06e,_0x5cb032);if(_0x121374[_0x199390(0x1bb)]>this['maxFilesPerBatch'])throw new Error('Too\x20many\x20files:\x20'+_0x121374['length']+_0x199390(0x1ae)+this[_0x199390(0x142)]+')');const _0x365134=[];if(this['parallelAnalysis']&&_0x121374['length']>0x1){this[_0x199390(0x1b0)]?.['debug']('Using\x20parallel\x20analysis',{'totalFiles':_0x121374['length'],'batchSize':this['maxParallelFiles']});for(let _0x2ce238=0x0;_0x2ce238<_0x121374['length'];_0x2ce238+=this[_0x199390(0x146)]){const _0x2f5090=_0x121374['slice'](_0x2ce238,_0x2ce238+this[_0x199390(0x146)]);this['metrics']['parallelBatches']++;const _0x51785a={'completed':_0x2ce238,'total':_0x121374[_0x199390(0x1bb)],'percentage':Math['round'](_0x2ce238/_0x121374[_0x199390(0x1bb)]*0x64)};_0x21fdc1['onProgress']&&_0x21fdc1[_0x199390(0x170)](_0x51785a);this['logger']?.['debug'](_0x199390(0x115),{'batch':Math[_0x199390(0x16e)](_0x2ce238/this[_0x199390(0x146)])+0x1,'filesInBatch':_0x2f5090['length'],'progress':_0x51785a[_0x199390(0x16d)]+'/'+_0x51785a['total']});const _0x4ddd93=_0x2f5090['map'](async _0x2c9561=>{const _0x3e4bb0=_0x199390;try{const _0x4fbed0=await this[_0x3e4bb0(0x1b4)](_0x2c9561,_0x3201ee,_0x126a28,_0x21fdc1);return _0x4fbed0;}catch(_0x504c31){return this['logger']?.[_0x3e4bb0(0x161)]('Failed\x20to\x20analyze\x20file\x20in\x20project',{'file':_0x2c9561,'error':_0x504c31[_0x3e4bb0(0x1c9)]}),{'file':this['directoryAccessManager']['createRelativePath'](_0x2c9561,_0x126a28),'fullPath':_0x2c9561,'error':_0x504c31[_0x3e4bb0(0x1c9)],'success':![]};}}),_0x22210e=await Promise[_0x199390(0x18b)](_0x4ddd93);_0x365134[_0x199390(0x145)](..._0x22210e[_0x199390(0x1c5)](_0x556b8b=>_0x556b8b!==null));}_0x21fdc1['onProgress']&&_0x21fdc1[_0x199390(0x170)]({'completed':_0x121374['length'],'total':_0x121374['length'],'percentage':0x64});}else for(const _0x4877b9 of _0x121374){try{const _0x487216=await this['analyzeFile'](_0x4877b9,_0x3201ee,_0x126a28,_0x21fdc1);_0x487216&&_0x365134['push'](_0x487216);}catch(_0x396e9e){this[_0x199390(0x1b0)]?.['warn'](_0x199390(0x175),{'file':_0x4877b9,'error':_0x396e9e[_0x199390(0x1c9)]}),_0x365134['push']({'file':this['directoryAccessManager']['createRelativePath'](_0x4877b9,_0x126a28),'fullPath':_0x4877b9,'error':_0x396e9e['message'],'success':![]});}}return _0x365134;}async[a0_0x2c6d5a(0x121)](_0x35d3bf,_0x18beed,_0x523e79,_0x1fde71={}){const _0x19124b=a0_0x2c6d5a,_0x10aea6=a0_0x34daa3['isAbsolute'](_0x35d3bf)?a0_0x34daa3['normalize'](_0x35d3bf):a0_0x34daa3[_0x19124b(0x125)](_0x18beed,_0x35d3bf),_0x217f05=this['directoryAccessManager']['validateReadAccess'](_0x10aea6,_0x523e79);if(!_0x217f05['allowed'])throw new Error(_0x19124b(0x1b3)+_0x217f05['reason']);if(_0x1fde71['writeFile']){const _0x3a98cb=this[_0x19124b(0x1a4)]['validateWriteAccess'](_0x10aea6,_0x523e79);if(!_0x3a98cb[_0x19124b(0x17c)])throw new Error(_0x19124b(0x1ad)+_0x3a98cb[_0x19124b(0x130)]);}try{const _0x30d4f1=await a0_0xa7c7dc[_0x19124b(0x11c)](_0x10aea6,_0x19124b(0x171)),_0x48f7c2=await this[_0x19124b(0x12f)](),_0x110d86=await _0x48f7c2['fix'](_0x10aea6,_0x30d4f1,{'workingDir':_0x18beed,'accessConfig':_0x523e79,'framework':await this[_0x19124b(0xf2)](_0x18beed,this[_0x19124b(0x18a)](_0x10aea6))});return _0x1fde71[_0x19124b(0x181)]&&_0x110d86['fixed']&&(await a0_0xa7c7dc[_0x19124b(0x181)](_0x10aea6,_0x110d86['content'],'utf-8'),this['logger']?.[_0x19124b(0x174)](_0x19124b(0x13a),{'file':_0x10aea6})),{'file':this[_0x19124b(0x1a4)]['createRelativePath'](_0x10aea6,_0x523e79),'fullPath':_0x10aea6,'action':'fix','fixed':_0x110d86['fixed'],'fixedCount':_0x110d86[_0x19124b(0x110)],'remainingErrors':_0x110d86[_0x19124b(0x11a)],'remainingWarnings':_0x110d86['remainingWarnings'],'changes':_0x110d86['changes'],'written':!!(_0x1fde71[_0x19124b(0x181)]&&_0x110d86[_0x19124b(0xea)]),'preview':!_0x1fde71[_0x19124b(0x181)]&&_0x110d86['fixed']?_0x110d86['content']:undefined};}catch(_0x3f1a9f){throw new Error(_0x19124b(0x1c8)+_0x35d3bf+':\x20'+_0x3f1a9f[_0x19124b(0x1c9)]);}}async[a0_0x2c6d5a(0x112)](_0x78364,_0x565298,_0x2594dd,_0x15d8d1={}){const _0x450ec3=a0_0x2c6d5a,_0x39d15e=a0_0x34daa3['isAbsolute'](_0x78364)?a0_0x34daa3['normalize'](_0x78364):a0_0x34daa3['resolve'](_0x565298,_0x78364),_0x2a7531=this['directoryAccessManager'][_0x450ec3(0x10a)](_0x39d15e,_0x2594dd);if(!_0x2a7531['allowed'])throw new Error(_0x450ec3(0x1b3)+_0x2a7531[_0x450ec3(0x130)]);if(_0x15d8d1['writeFile']){const _0x54b164=this['directoryAccessManager']['validateWriteAccess'](_0x39d15e,_0x2594dd);if(!_0x54b164['allowed'])throw new Error(_0x450ec3(0x1ad)+_0x54b164['reason']);}try{const _0x1098a9=await a0_0xa7c7dc['readFile'](_0x39d15e,'utf-8'),_0x46ca67=await this[_0x450ec3(0xe9)]();if(!_0x46ca67[_0x450ec3(0x1bc)](_0x39d15e))return{'file':this['directoryAccessManager'][_0x450ec3(0x163)](_0x39d15e,_0x2594dd),'fullPath':_0x39d15e,'action':_0x450ec3(0x1a0),'formatted':![],'skipped':!![],'skipReason':'File\x20type\x20not\x20supported\x20by\x20Prettier'};const _0xcd43ad=await _0x46ca67['format'](_0x39d15e,_0x1098a9,{'workingDir':_0x565298,'accessConfig':_0x2594dd});return _0x15d8d1[_0x450ec3(0x181)]&&_0xcd43ad[_0x450ec3(0x1bd)]&&(await a0_0xa7c7dc['writeFile'](_0x39d15e,_0xcd43ad[_0x450ec3(0x151)],'utf-8'),this['logger']?.[_0x450ec3(0x174)]('File\x20formatted\x20and\x20written',{'file':_0x39d15e})),{'file':this[_0x450ec3(0x1a4)][_0x450ec3(0x163)](_0x39d15e,_0x2594dd),'fullPath':_0x39d15e,'action':'format','formatted':_0xcd43ad[_0x450ec3(0x1bd)],'linesChanged':_0xcd43ad[_0x450ec3(0x1a6)],'changes':_0xcd43ad[_0x450ec3(0x1a3)],'written':!!(_0x15d8d1['writeFile']&&_0xcd43ad['formatted']),'preview':!_0x15d8d1['writeFile']&&_0xcd43ad[_0x450ec3(0x1bd)]?_0xcd43ad['content']:undefined};}catch(_0x35fc17){throw new Error(_0x450ec3(0x1be)+_0x78364+':\x20'+_0x35fc17[_0x450ec3(0x1c9)]);}}async['securityScanFile'](_0x1b048b,_0x109b74,_0x525e01,_0x2e76dc={}){const _0x42dedd=a0_0x2c6d5a,_0x313084=a0_0x34daa3['isAbsolute'](_0x1b048b)?a0_0x34daa3['normalize'](_0x1b048b):a0_0x34daa3[_0x42dedd(0x125)](_0x109b74,_0x1b048b),_0x40117d=this['directoryAccessManager']['validateReadAccess'](_0x313084,_0x525e01);if(!_0x40117d[_0x42dedd(0x17c)])throw new Error('Read\x20access\x20denied:\x20'+_0x40117d[_0x42dedd(0x130)]);try{const _0x5c567e=await a0_0xa7c7dc[_0x42dedd(0x195)](_0x313084);if(_0x5c567e['size']>this['maxFileSize'])throw new Error(_0x42dedd(0x199)+_0x5c567e[_0x42dedd(0x14f)]+_0x42dedd(0x15c)+this[_0x42dedd(0x1a1)]+')');const _0x4d8609=this['detectLanguage'](_0x313084);if(!_0x4d8609||![_0x42dedd(0x1c7),'typescript',_0x42dedd(0xfe)][_0x42dedd(0x162)](_0x4d8609))return{'file':this['directoryAccessManager'][_0x42dedd(0x163)](_0x313084,_0x525e01),'fullPath':_0x313084,'language':_0x4d8609||_0x42dedd(0xe6),'issues':[],'skipped':!![],'skipReason':_0x42dedd(0x185)};const _0xa87c5d=await a0_0xa7c7dc[_0x42dedd(0x11c)](_0x313084,'utf-8'),_0x1463e0=await this['getSecurityAnalyzer'](),_0x67f499=await _0x1463e0[_0x42dedd(0x165)](_0x313084,_0xa87c5d,{'skipTestFiles':_0x2e76dc[_0x42dedd(0x189)]!==![]}),_0x338fa0={'file':this['directoryAccessManager'][_0x42dedd(0x163)](_0x313084,_0x525e01),'fullPath':_0x313084,'language':_0x4d8609,'action':'security-scan','critical':_0x67f499['filter'](_0x261768=>_0x261768['severity']===STATIC_ANALYSIS['SEVERITY']['CRITICAL']),'errors':_0x67f499[_0x42dedd(0x1c5)](_0x5b335c=>_0x5b335c['severity']===STATIC_ANALYSIS['SEVERITY'][_0x42dedd(0x111)]),'warnings':_0x67f499[_0x42dedd(0x1c5)](_0x495694=>_0x495694[_0x42dedd(0x183)]===STATIC_ANALYSIS[_0x42dedd(0x118)][_0x42dedd(0xf0)]),'info':_0x67f499[_0x42dedd(0x1c5)](_0x18db67=>_0x18db67[_0x42dedd(0x183)]===STATIC_ANALYSIS['SEVERITY']['INFO']),'totalIssues':_0x67f499[_0x42dedd(0x1bb)],'analyzed':!![],'scannersUsed':_0x67f499['map'](_0x2e9106=>_0x2e9106[_0x42dedd(0x14b)])['filter']((_0x12a3d6,_0x21482e,_0x102684)=>_0x102684[_0x42dedd(0x132)](_0x12a3d6)===_0x21482e),'timestamp':new Date()[_0x42dedd(0x152)]()};return _0x338fa0;}catch(_0x1439c9){throw new Error(_0x42dedd(0x13d)+_0x1b048b+':\x20'+_0x1439c9[_0x42dedd(0x1c9)]);}}async[a0_0x2c6d5a(0xf7)](_0x17f75e,_0x3d3d51,_0x443b57,_0x34a820,_0x34e1b0={}){const _0x515c82=a0_0x2c6d5a,_0x1fa468=a0_0x34daa3['isAbsolute'](_0x17f75e)?a0_0x34daa3[_0x515c82(0x184)](_0x17f75e):a0_0x34daa3['resolve'](_0x443b57,_0x17f75e),_0x1989fd=this[_0x515c82(0x1a4)][_0x515c82(0x10a)](_0x1fa468,_0x34a820);if(!_0x1989fd[_0x515c82(0x17c)])throw new Error(_0x515c82(0x1b3)+_0x1989fd['reason']);const _0xe2ab6b=await this[_0x515c82(0x138)](),_0x238b78=await _0xe2ab6b['analyzeProject'](_0x1fa468,'javascript',_0x34e1b0),_0x357375=_0x3d3d51||_0x515c82(0x173),_0x17c692=await this['findFiles'](_0x1fa468,_0x357375);if(_0x17c692[_0x515c82(0x1bb)]>this['maxFilesPerBatch'])throw new Error('Too\x20many\x20files:\x20'+_0x17c692[_0x515c82(0x1bb)]+'\x20(max\x20'+this['maxFilesPerBatch']+')');const _0x4ea316=[];if(this[_0x515c82(0x182)]&&_0x17c692['length']>0x1){this['logger']?.['debug']('Using\x20parallel\x20security\x20scanning',{'totalFiles':_0x17c692[_0x515c82(0x1bb)],'batchSize':this[_0x515c82(0x146)]});for(let _0x32850b=0x0;_0x32850b<_0x17c692['length'];_0x32850b+=this['maxParallelFiles']){const _0x48a70a=_0x17c692[_0x515c82(0xef)](_0x32850b,_0x32850b+this['maxParallelFiles']);_0x34e1b0['onProgress']&&_0x34e1b0[_0x515c82(0x170)]({'completed':_0x32850b,'total':_0x17c692[_0x515c82(0x1bb)],'percentage':Math['round'](_0x32850b/_0x17c692[_0x515c82(0x1bb)]*0x64)});const _0x1e5db1=_0x48a70a[_0x515c82(0xfa)](async _0xc1c791=>{const _0x3a98e4=_0x515c82;try{return await this[_0x3a98e4(0x17b)](_0xc1c791,_0x443b57,_0x34a820,_0x34e1b0);}catch(_0x86e914){return this[_0x3a98e4(0x1b0)]?.['warn']('Failed\x20to\x20security\x20scan\x20file\x20in\x20project',{'file':_0xc1c791,'error':_0x86e914[_0x3a98e4(0x1c9)]}),{'file':this['directoryAccessManager']['createRelativePath'](_0xc1c791,_0x34a820),'fullPath':_0xc1c791,'error':_0x86e914[_0x3a98e4(0x1c9)],'success':![]};}}),_0x454b92=await Promise[_0x515c82(0x18b)](_0x1e5db1);_0x4ea316[_0x515c82(0x145)](..._0x454b92[_0x515c82(0x1c5)](_0x43d4db=>_0x43d4db!==null));}_0x34e1b0['onProgress']&&_0x34e1b0[_0x515c82(0x170)]({'completed':_0x17c692[_0x515c82(0x1bb)],'total':_0x17c692['length'],'percentage':0x64});}else for(const _0x313027 of _0x17c692){try{const _0x112c99=await this[_0x515c82(0x17b)](_0x313027,_0x443b57,_0x34a820,_0x34e1b0);_0x112c99&&_0x4ea316['push'](_0x112c99);}catch(_0x5b89a0){this['logger']?.[_0x515c82(0x161)]('Failed\x20to\x20security\x20scan\x20file\x20in\x20project',{'file':_0x313027,'error':_0x5b89a0['message']}),_0x4ea316['push']({'file':this[_0x515c82(0x1a4)]['createRelativePath'](_0x313027,_0x34a820),'fullPath':_0x313027,'error':_0x5b89a0[_0x515c82(0x1c9)],'success':![]});}}return _0x238b78['length']>0x0&&_0x4ea316[_0x515c82(0x145)]({'file':a0_0x34daa3[_0x515c82(0xf4)](_0x1fa468,_0x515c82(0x153)),'fullPath':a0_0x34daa3['join'](_0x1fa468,'package.json'),'action':'dependency-scan','critical':_0x238b78['filter'](_0x498097=>_0x498097[_0x515c82(0x183)]===STATIC_ANALYSIS['SEVERITY'][_0x515c82(0x12e)]),'errors':_0x238b78[_0x515c82(0x1c5)](_0x1f8071=>_0x1f8071[_0x515c82(0x183)]===STATIC_ANALYSIS[_0x515c82(0x118)]['ERROR']),'warnings':_0x238b78[_0x515c82(0x1c5)](_0x1e0f1c=>_0x1e0f1c['severity']===STATIC_ANALYSIS['SEVERITY'][_0x515c82(0xf0)]),'info':_0x238b78[_0x515c82(0x1c5)](_0x487649=>_0x487649[_0x515c82(0x183)]===STATIC_ANALYSIS['SEVERITY']['INFO']),'totalIssues':_0x238b78[_0x515c82(0x1bb)],'analyzed':!![],'scannersUsed':['npm-audit'],'timestamp':new Date()['toISOString']()}),_0x4ea316;}async[a0_0x2c6d5a(0x1ab)](_0x104f9b,_0x2f1051,_0x5589d1,_0x4346c8={}){const _0x1da4f0=a0_0x2c6d5a,_0x566f77=a0_0x34daa3[_0x1da4f0(0x190)](_0x104f9b)?a0_0x34daa3[_0x1da4f0(0x184)](_0x104f9b):a0_0x34daa3[_0x1da4f0(0x125)](_0x2f1051,_0x104f9b),_0x29820a=this['directoryAccessManager']['validateReadAccess'](_0x566f77,_0x5589d1);if(!_0x29820a['allowed'])throw new Error(_0x1da4f0(0x1b3)+_0x29820a['reason']);try{const _0x436a6e=await a0_0xa7c7dc['stat'](_0x566f77);if(_0x436a6e[_0x1da4f0(0x14f)]>this['maxFileSize'])throw new Error('File\x20too\x20large:\x20'+_0x436a6e[_0x1da4f0(0x14f)]+'\x20bytes\x20(max\x20'+this['maxFileSize']+')');const _0x2453e1=await this[_0x1da4f0(0x1a8)](),_0x16316c=await _0x2453e1[_0x1da4f0(0x14c)](_0x566f77,_0x4346c8),_0x3e8e5a={'file':this['directoryAccessManager'][_0x1da4f0(0x163)](_0x566f77,_0x5589d1),'fullPath':_0x566f77,'action':_0x1da4f0(0xfd),'critical':_0x16316c['filter'](_0x5ba815=>_0x5ba815[_0x1da4f0(0x183)]===STATIC_ANALYSIS['SEVERITY'][_0x1da4f0(0x12e)]),'errors':_0x16316c['filter'](_0x1c28ed=>_0x1c28ed['severity']===STATIC_ANALYSIS[_0x1da4f0(0x118)]['ERROR']),'warnings':_0x16316c['filter'](_0x342439=>_0x342439['severity']===STATIC_ANALYSIS[_0x1da4f0(0x118)]['WARNING']),'info':_0x16316c[_0x1da4f0(0x1c5)](_0x28f911=>_0x28f911['severity']===STATIC_ANALYSIS[_0x1da4f0(0x118)]['INFO']),'totalIssues':_0x16316c['length'],'analyzed':!![],'validatorsUsed':_0x16316c[_0x1da4f0(0xfa)](_0x2e51f4=>_0x2e51f4['validator'])['filter']((_0x3e9b75,_0x18531a,_0x16e6e8)=>_0x16e6e8[_0x1da4f0(0x132)](_0x3e9b75)===_0x18531a),'timestamp':new Date()['toISOString']()};return _0x3e8e5a;}catch(_0xd15b91){throw new Error('Failed\x20to\x20validate\x20config\x20'+_0x104f9b+':\x20'+_0xd15b91[_0x1da4f0(0x1c9)]);}}async['validateConfigDirectory'](_0x4bc912,_0x5bee87,_0x33af4e,_0x204c7d={}){const _0x2ef4b6=a0_0x2c6d5a,_0x28aa4c=a0_0x34daa3['isAbsolute'](_0x4bc912)?a0_0x34daa3[_0x2ef4b6(0x184)](_0x4bc912):a0_0x34daa3['resolve'](_0x5bee87,_0x4bc912),_0x9c91ef=this[_0x2ef4b6(0x1a4)]['validateReadAccess'](_0x28aa4c,_0x33af4e);if(!_0x9c91ef['allowed'])throw new Error('Read\x20access\x20denied:\x20'+_0x9c91ef['reason']);const _0x35f690=await this['findConfigFiles'](_0x28aa4c);if(_0x35f690[_0x2ef4b6(0x1bb)]>this['maxFilesPerBatch'])throw new Error(_0x2ef4b6(0x109)+_0x35f690['length']+_0x2ef4b6(0x1ae)+this['maxFilesPerBatch']+')');const _0x47a2d6=[];for(const _0x506a12 of _0x35f690){try{const _0x2790d3=await this['validateConfigFile'](_0x506a12,_0x5bee87,_0x33af4e,_0x204c7d);_0x2790d3&&_0x47a2d6['push'](_0x2790d3);}catch(_0x4d3947){this[_0x2ef4b6(0x1b0)]?.[_0x2ef4b6(0x161)]('Failed\x20to\x20validate\x20config\x20file',{'file':_0x506a12,'error':_0x4d3947['message']}),_0x47a2d6['push']({'file':this[_0x2ef4b6(0x1a4)]['createRelativePath'](_0x506a12,_0x33af4e),'fullPath':_0x506a12,'error':_0x4d3947['message'],'success':![]});}}return _0x47a2d6;}async[a0_0x2c6d5a(0x13c)](_0x1b0532){const _0x2a4c8a=a0_0x2c6d5a,_0x515f30=[],_0x38b6ef=[_0x2a4c8a(0x153),_0x2a4c8a(0x166),_0x2a4c8a(0x16f),'docker-compose.yml',_0x2a4c8a(0x16c),_0x2a4c8a(0xeb),_0x2a4c8a(0x155),_0x2a4c8a(0xff),_0x2a4c8a(0x1a5),_0x2a4c8a(0x15e),_0x2a4c8a(0x159)],_0x2c2618=['.yml',_0x2a4c8a(0x1c4),_0x2a4c8a(0x15a),_0x2a4c8a(0x137),'.tfvars'],_0x28a490=async _0x9fcd4a=>{const _0x6a4684=_0x2a4c8a,_0x2e101d=await a0_0xa7c7dc['readdir'](_0x9fcd4a,{'withFileTypes':!![]});for(const _0x176a0e of _0x2e101d){const _0x461612=a0_0x34daa3[_0x6a4684(0xf4)](_0x9fcd4a,_0x176a0e[_0x6a4684(0x19c)]);if(_0x176a0e[_0x6a4684(0x14d)]()){if(_0x176a0e['name']===_0x6a4684(0xee)||_0x176a0e[_0x6a4684(0x19c)]==='kubernetes'||_0x176a0e[_0x6a4684(0x19c)]===_0x6a4684(0x164)||_0x176a0e[_0x6a4684(0x19c)]===_0x6a4684(0x172))await _0x28a490(_0x461612);else{if(!['node_modules','.git',_0x6a4684(0x124),'build']['includes'](_0x176a0e['name']))continue;}}else{if(_0x176a0e['isFile']()){if(_0x38b6ef[_0x6a4684(0x162)](_0x176a0e['name']))_0x515f30[_0x6a4684(0x145)](_0x461612);else{const _0x16ffd8=a0_0x34daa3[_0x6a4684(0x100)](_0x176a0e['name'])[_0x6a4684(0x1b6)]();if(_0x2c2618['includes'](_0x16ffd8)){const _0x43aa35=a0_0x34daa3[_0x6a4684(0x13b)](a0_0x34daa3['dirname'](_0x461612));(_0x43aa35==='kubernetes'||_0x43aa35==='k8s'||_0x43aa35==='terraform'||_0x43aa35===_0x6a4684(0x127))&&_0x515f30[_0x6a4684(0x145)](_0x461612);}}}}}};return await _0x28a490(_0x1b0532),_0x515f30;}['detectLanguage'](_0x32ee88){const _0x3fde15=a0_0x2c6d5a,_0x58f26a=a0_0x34daa3['extname'](_0x32ee88)['toLowerCase']();return STATIC_ANALYSIS[_0x3fde15(0x1a7)][_0x58f26a]||null;}async[a0_0x2c6d5a(0xf2)](_0x23cfee,_0x4b48c5){const _0x34cea9=a0_0x2c6d5a;try{if(_0x4b48c5===STATIC_ANALYSIS[_0x34cea9(0x144)][_0x34cea9(0x196)]||_0x4b48c5===STATIC_ANALYSIS['LANGUAGE']['TYPESCRIPT'])return await this['detectJSFramework'](_0x23cfee);if(_0x4b48c5===STATIC_ANALYSIS[_0x34cea9(0x144)]['PYTHON'])return await this['detectPythonFramework'](_0x23cfee);return null;}catch(_0x411f70){return this[_0x34cea9(0x1b0)]?.[_0x34cea9(0x18e)](_0x34cea9(0x167),{'error':_0x411f70['message']}),null;}}async[a0_0x2c6d5a(0x18f)](_0x1a4c46){const _0x21d87d=a0_0x2c6d5a;try{const _0x1aec7c=a0_0x34daa3['join'](_0x1a4c46,STATIC_ANALYSIS[_0x21d87d(0x197)]['JAVASCRIPT']),_0xf02630=await a0_0xa7c7dc['readFile'](_0x1aec7c,'utf-8'),_0x43caa1=JSON[_0x21d87d(0x17f)](_0xf02630),_0x54db19={..._0x43caa1[_0x21d87d(0x186)],..._0x43caa1['devDependencies']};for(const [_0x2acdf0,_0x1a0d74]of Object[_0x21d87d(0x180)](STATIC_ANALYSIS['JS_FRAMEWORKS'])){if(_0x54db19[_0x1a0d74])return _0x2acdf0['toLowerCase']();}return null;}catch(_0x4ead98){return null;}}async['detectPythonFramework'](_0x517b69){const _0x16d807=a0_0x2c6d5a;try{const _0xd55f25=a0_0x34daa3[_0x16d807(0xf4)](_0x517b69,STATIC_ANALYSIS[_0x16d807(0x197)][_0x16d807(0x103)]),_0x223e35=await a0_0xa7c7dc[_0x16d807(0x11c)](_0xd55f25,_0x16d807(0x171));for(const [_0x5ef957,_0x1200b1]of Object['entries'](STATIC_ANALYSIS['PYTHON_FRAMEWORKS'])){if(_0x223e35[_0x16d807(0x1b6)]()[_0x16d807(0x162)](_0x1200b1))return _0x5ef957['toLowerCase']();}return null;}catch(_0x415abf){try{const _0x53c067=a0_0x34daa3['join'](_0x517b69,STATIC_ANALYSIS[_0x16d807(0x197)]['PYTHON_POETRY']),_0x164f6a=await a0_0xa7c7dc[_0x16d807(0x11c)](_0x53c067,_0x16d807(0x171));for(const [_0x4dd725,_0x47d22d]of Object['entries'](STATIC_ANALYSIS[_0x16d807(0x134)])){if(_0x164f6a[_0x16d807(0x1b6)]()['includes'](_0x47d22d))return _0x4dd725['toLowerCase']();}}catch{}return null;}}async[a0_0x2c6d5a(0x17e)](_0x3bb576,_0x2f729d){const _0x4828e5=a0_0x2c6d5a,_0x55684e=[],_0x11c2cb=_0x2f729d||_0x4828e5(0x19d),_0x3c1187=_0x1c9725=>{const _0x21c2ce=_0x4828e5,_0x2f36f5=[],_0x34e601=_0x1c9725['match'](/\*\.\{([^}]+)\}/);if(_0x34e601){const _0x3bba7f=_0x34e601[0x1]['split'](',')['map'](_0x3c1e80=>_0x3c1e80[_0x21c2ce(0x16a)]());_0x3bba7f[_0x21c2ce(0x133)](_0x4dd7e0=>_0x2f36f5[_0x21c2ce(0x145)](_0x4dd7e0['startsWith']('.')?_0x4dd7e0:'.'+_0x4dd7e0));}else{const _0x599777=_0x1c9725['match'](/\*\.([a-z]+)$/i);if(_0x599777){const _0x5c5d40=_0x599777[0x1];_0x2f36f5['push'](_0x5c5d40['startsWith']('.')?_0x5c5d40:'.'+_0x5c5d40);}}if(_0x2f36f5[_0x21c2ce(0x1bb)]===0x0)return null;return _0x2f36f5;},_0x2f5a81=_0x3c1187(_0x11c2cb),_0x296c81=async _0x2d0328=>{const _0x327818=_0x4828e5,_0x2f40f4=await a0_0xa7c7dc[_0x327818(0xf9)](_0x2d0328,{'withFileTypes':!![]});for(const _0x2bc61e of _0x2f40f4){const _0x4bfbb4=a0_0x34daa3[_0x327818(0xf4)](_0x2d0328,_0x2bc61e[_0x327818(0x19c)]);if(_0x2bc61e[_0x327818(0x14d)]())![_0x327818(0x12b),_0x327818(0x11f),'dist','build',_0x327818(0x105),_0x327818(0x12a),_0x327818(0x198)][_0x327818(0x162)](_0x2bc61e['name'])&&await _0x296c81(_0x4bfbb4);else{if(_0x2bc61e['isFile']()){const _0xcd70b6=a0_0x34daa3[_0x327818(0x100)](_0x2bc61e['name'])['toLowerCase']();STATIC_ANALYSIS[_0x327818(0x1a7)][_0xcd70b6]&&((_0x2f5a81===null||_0x2f5a81[_0x327818(0x162)](_0xcd70b6))&&_0x55684e['push'](_0x4bfbb4));}}}};return await _0x296c81(_0x3bb576),_0x55684e;}async['getAnalyzer'](_0x6c5945){const _0x5d13e4=a0_0x2c6d5a;try{if(_0x6c5945===STATIC_ANALYSIS[_0x5d13e4(0x144)][_0x5d13e4(0x196)]){if(!this['analyzers']['javascript']){const {default:_0x5f4f76}=await import(_0x5d13e4(0x117));this['analyzers'][_0x5d13e4(0x1c7)]=new _0x5f4f76(this['logger']);}return this['analyzers'][_0x5d13e4(0x1c7)];}if(_0x6c5945===STATIC_ANALYSIS['LANGUAGE'][_0x5d13e4(0xf6)]){if(!this['analyzers']['typescript']){const {default:_0x30c09b}=await import(_0x5d13e4(0x18d));this['analyzers']['typescript']=new _0x30c09b(this[_0x5d13e4(0x1b0)]);}return this[_0x5d13e4(0x101)]['typescript'];}if(_0x6c5945===STATIC_ANALYSIS['LANGUAGE']['PYTHON']){if(!this[_0x5d13e4(0x101)][_0x5d13e4(0xfe)]){const {default:_0x31ee31}=await import(_0x5d13e4(0x193));this[_0x5d13e4(0x101)][_0x5d13e4(0xfe)]=new _0x31ee31(this[_0x5d13e4(0x1b0)]);}return this['analyzers'][_0x5d13e4(0xfe)];}if(_0x6c5945===STATIC_ANALYSIS['LANGUAGE'][_0x5d13e4(0x106)]||_0x6c5945===STATIC_ANALYSIS['LANGUAGE']['SCSS']||_0x6c5945===STATIC_ANALYSIS['LANGUAGE']['LESS']){if(!this[_0x5d13e4(0x101)][_0x5d13e4(0x169)]){const {default:_0x45a7f1}=await import('../analyzers/CSSAnalyzer.js');this['analyzers']['css']=new _0x45a7f1(this[_0x5d13e4(0x1b0)]);}return this['analyzers'][_0x5d13e4(0x169)];}return null;}catch(_0xdea815){return this[_0x5d13e4(0x1b0)]?.[_0x5d13e4(0x1aa)](_0x5d13e4(0x102),{'language':_0x6c5945,'error':_0xdea815[_0x5d13e4(0x1c9)]}),null;}}async[a0_0x2c6d5a(0x12f)](){const _0x4b5fa9=a0_0x2c6d5a;if(!this['analyzers'][_0x4b5fa9(0x1b2)]){const {default:_0x5e1d30}=await import('../analyzers/ESLintAnalyzer.js');this[_0x4b5fa9(0x101)][_0x4b5fa9(0x1b2)]=new _0x5e1d30(this[_0x4b5fa9(0x1b0)]);}return this['analyzers']['eslint'];}async['getPrettierFormatter'](){const _0x37be7e=a0_0x2c6d5a;if(!this[_0x37be7e(0x136)][_0x37be7e(0xf1)]){const {default:_0x582bb0}=await import('../analyzers/PrettierFormatter.js');this[_0x37be7e(0x136)]['prettier']=new _0x582bb0(this[_0x37be7e(0x1b0)]);}return this['formatters'][_0x37be7e(0xf1)];}async['getSecurityAnalyzer'](){const _0x5f3a1b=a0_0x2c6d5a;if(!this[_0x5f3a1b(0x101)]['security']){const {default:_0x2ffa29}=await import('../analyzers/SecurityAnalyzer.js');this['analyzers']['security']=new _0x2ffa29(this[_0x5f3a1b(0x1b0)]);}return this['analyzers']['security'];}async['getConfigValidator'](){const _0x319ab6=a0_0x2c6d5a;if(!this['analyzers']['config']){const {default:_0x2aea11}=await import('../analyzers/ConfigValidator.js');this['analyzers'][_0x319ab6(0x192)]=new _0x2aea11(this[_0x319ab6(0x1b0)]);}return this[_0x319ab6(0x101)]['config'];}[a0_0x2c6d5a(0x15b)](_0x2f8b38,_0x2ef98c){const _0x367988=a0_0x2c6d5a;if(_0x2ef98c[_0x367988(0xed)]){_0x2f8b38['totalFiles']++;const _0x269d26=_0x2ef98c['critical']?.[_0x367988(0x1bb)]||0x0,_0x16d57c=_0x2ef98c['errors']?.[_0x367988(0x1bb)]||0x0,_0x2660f6=_0x2ef98c[_0x367988(0x1b1)]?.['length']||0x0,_0x498a63=_0x2ef98c[_0x367988(0x174)]?.['length']||0x0;_0x2f8b38[_0x367988(0x19e)]===undefined&&(_0x2f8b38['totalCritical']=0x0);_0x2f8b38['totalCritical']+=_0x269d26,_0x2f8b38['totalErrors']+=_0x16d57c,_0x2f8b38['totalWarnings']+=_0x2660f6,_0x2f8b38['totalInfo']+=_0x498a63;(_0x269d26>0x0||_0x16d57c>0x0)&&_0x2f8b38['filesWithErrors']++;_0x2ef98c['language']&&(_0x2f8b38['filesByLanguage'][_0x2ef98c[_0x367988(0x1b8)]]=(_0x2f8b38[_0x367988(0x158)][_0x2ef98c[_0x367988(0x1b8)]]||0x0)+0x1);const _0x3424ef=[..._0x2ef98c[_0x367988(0x156)]||[],..._0x2ef98c['errors']||[],..._0x2ef98c['warnings']||[]];for(const _0x3ad547 of _0x3424ef){_0x3ad547[_0x367988(0x194)]&&(_0x2f8b38['errorsByCategory'][_0x3ad547['category']]=(_0x2f8b38['errorsByCategory'][_0x3ad547[_0x367988(0x194)]]||0x0)+0x1);}}}['computeContentHash'](_0x5609ba){const _0x3157a5=a0_0x2c6d5a;return a0_0x51307e['createHash']('sha256')['update'](_0x5609ba)[_0x3157a5(0x15d)](_0x3157a5(0x188))[_0x3157a5(0xe8)](0x0,0x10);}['getPerformanceMetrics'](){const _0x26f0db=a0_0x2c6d5a,_0x2d25dc=this['metrics'][_0x26f0db(0x1b5)]>0x0?this[_0x26f0db(0x131)][_0x26f0db(0x1c3)]/this['metrics']['totalAnalyses']*0x64:0x0,_0xbfef02=this['metrics']['filesAnalyzed']>0x0?this['metrics'][_0x26f0db(0x149)]/this['metrics'][_0x26f0db(0x18c)]:0x0;return{...this[_0x26f0db(0x131)],'cacheHitRate':Math[_0x26f0db(0x10b)](_0x2d25dc*0xa)/0xa,'averageAnalysisTime':Math['round'](_0xbfef02),'cacheSize':this['analysisCache'][_0x26f0db(0x14f)]};}['resetPerformanceMetrics'](){const _0x1aefc6=a0_0x2c6d5a;this[_0x1aefc6(0x131)]={'totalAnalyses':0x0,'cacheHits':0x0,'cacheMisses':0x0,'totalAnalysisTime':0x0,'filesAnalyzed':0x0,'parallelBatches':0x0};}[a0_0x2c6d5a(0x19a)](){const _0x968be8=a0_0x2c6d5a;this[_0x968be8(0x116)]['clear'](),this[_0x968be8(0x1b0)]?.[_0x968be8(0x18e)]('Analysis\x20cache\x20cleared');}['getSupportedActions'](){const _0x1ffe98=a0_0x2c6d5a;return[_0x1ffe98(0x165),_0x1ffe98(0x139),'fix',_0x1ffe98(0x1a0),_0x1ffe98(0x15f),'security-scan-project',_0x1ffe98(0xfd),_0x1ffe98(0x10f)];}[a0_0x2c6d5a(0x11b)](){const _0x244211=a0_0x2c6d5a;return{'type':_0x244211(0x129),'properties':{'actions':{'type':_0x244211(0x16b),'minItems':0x1,'items':{'type':_0x244211(0x129),'properties':{'type':{'type':_0x244211(0x14a),'enum':this['getSupportedActions']()},'filePath':{'type':'string'},'directory':{'type':'string'},'pattern':{'type':'string'},'includeWarnings':{'type':'boolean'},'maxErrors':{'type':'number'}},'required':[_0x244211(0x140)]}}},'required':[_0x244211(0x135)]};}}export default StaticAnalysisTool;
|
|
1
|
+
const a0_0x248c67=a0_0x5d03;(function(_0x2c515b,_0x4c22ea){const _0x5befcd=a0_0x5d03,_0x405def=_0x2c515b();while(!![]){try{const _0x10494d=parseInt(_0x5befcd(0x267))/0x1+parseInt(_0x5befcd(0x255))/0x2*(parseInt(_0x5befcd(0x242))/0x3)+-parseInt(_0x5befcd(0x245))/0x4*(parseInt(_0x5befcd(0x1fd))/0x5)+parseInt(_0x5befcd(0x29a))/0x6+-parseInt(_0x5befcd(0x1ee))/0x7*(-parseInt(_0x5befcd(0x2c0))/0x8)+parseInt(_0x5befcd(0x220))/0x9+-parseInt(_0x5befcd(0x225))/0xa;if(_0x10494d===_0x4c22ea)break;else _0x405def['push'](_0x405def['shift']());}catch(_0xb1053b){_0x405def['push'](_0x405def['shift']());}}}(a0_0x1a95,0xac7c4));import{BaseTool}from'./baseTool.js';import a0_0x382312 from'../utilities/tagParser.js';import a0_0x228d3e from'../utilities/directoryAccessManager.js';import a0_0x429762 from'fs/promises';function a0_0x1a95(){const _0x10847f=['zM9YBwf0DgvK','rMLSzsbMB3jTyxr0zwqGyw5KihDYAxr0zw4','Dg90ywXbBMfSExnLCW','ywXSB3DLza','Bg9Nz2vY','y2fJAgvfEhbPCNK','B2jQzwn0','zMLUzezPBgvZ','D2fYBMLUz3m','lNLTBa','Bwf4q29Uy3vYCMvUDe9WzxjHDgLVBNm','zMLSzs1WyxrO','mta1ntC1CfrXEfDO','zgLNzxn0','C3vTBwfYEq','DxrMltG','BgvUz3rO','lMvZBgLUDhjJlMPZB24','Bwf4rMLSzvnPEMu','lNbYzxr0AwvYCMm','rMfPBgvKihrVihnLy3vYAxr5ihnJyw4GzMLSzsbPBIbWCM9Qzwn0','lI4Vyw5HBhL6zxjZl0vttgLUDefUywX5EMvYlMPZ','rLjbtuvxt1jlx01btKLgrvnuuW','BM93','su5gtW','DMfSAwrHDgvdB25MAwDeAxjLy3rVCNK','DgvYCMfMB3jT','zxHLy3v0zq','DMfSAwrHDguTy29UzMLN','zxjYB3i','ufLuse9ox1bprvrswq','CgfYC2vqyxjHBwv0zxjZ','CMf3q29UDgvUDa','AM9PBG','C2vJDxjPDhKTC2nHBG','q0fdsevFrfvsqvrjt04','Aw5MBW','Bwf4rMLSzxnqzxjcyxrJAa','y3jPDgLJywW','yw5HBhL6zq','zMLSDgvY','AxngAwXL','DxnLq29UDgvUDeHHC2G','zgLYBMfTzq','zMLSzxnbBMfSExPLza','zxH0BMfTzq','CMvZzxrqzxjMB3jTyw5Jzu1LDhjPy3m','mZmZmJmYmMfSB0XNrW','Dg90ywXbBMfSExnPC1rPBwu','yw5HBhL6zuzPBgu','C2vJDxjPDhLty2fUrMLSzq','CgfJA2fNzs5QC29U','mte4mZa0mZbZAgzPrum','zML4','vfLqrvnduKLqva','u0vwrvjjvfK','Bwf4ugfYywXSzwXgAwXLCW','y3vZDg9TvMfSAwrHDgvqyxjHBwv0zxjZ','igzPBgvZihbLCIbVCgvYyxrPB24klsbbBMfSExnPCYb0Aw1LB3v0oIa','yw5HBhLZAxndywnOzq','rg9JA2vYzMLSzq','A3vIzxjUzxrLCW','sLnFrLjbtuvxt1jluW','DMfSAwrHDg9Y','C3vIC3rYAw5N','y29UzMLN','zgvWzw5Kzw5JEs1Zy2fU','zxjYB3jZ','Dw5RBM93BG','zxnSAw50','C2v2zxjPDhK','zM9YBwf0rMLSzq','oIbKAxjLy3rVCNKGAxmGCMvXDwLYzwqGzM9YigfUywX5EMuTChjVAMvJDa','D3jPDguTzMLSzq','v3jPDguGywnJzxnZigrLBMLLzdOG','zw50CMLLCW','z2v0ugvYzM9YBwfUy2vnzxrYAwnZ','vg9Vig1HBNKGy29UzMLNigzPBgvZoIa','zM9YBwf0','DxbKyxrL','zgLYzwn0B3j5qwnJzxnZtwfUywDLCG','m1L6EwXZqG','BMfTzq','lI4Vyw5HBhL6zxjZl1nLy3vYAxr5qw5HBhL6zxiUANm','mJeYu2DZDK1I','qwn0Aw9Uia','y2HHBMDLCW','zw5HyMXLq2fJAgu','Bwf4rxjYB3jZ','u3rHDgLJqw5HBhLZAxmGDg9VBcbWyxjZAw5NihbHCMfTzxrLCNm','yw5HBhL6zwq','y2XLyxjdywnOzq','yMfZzw5HBwu','yw5HBhL6zxjZ','zg9JA2vYlwnVBxbVC2uUEwfTBa','vxnPBMCGCgfYywXSzwWGC2vJDxjPDhKGC2nHBM5PBMC','Dhj1zq','oIbMAwXLlxbHDgGGAxmGCMvXDwLYzwqGzM9YigzPEa','AMf2yxnJCMLWDa','Dg9ju09tDhjPBMC','ndeZmJGYyvruru10','z2v0rvnmAw50qw5HBhL6zxi','Aw5JBhvKzvDHCM5PBMDZ','zMLSzvbHDgG','oIbMAwXLlxbHDgGGAxmGCMvXDwLYzwqGzM9YihzHBgLKyxrLlwnVBMzPzW','lMvUDI5LEgfTCgXL','zMLUzenVBMzPz0zPBgvZ','zgv0zwn0rNjHBwv3B3jR','zMLSzxm','CgfYC2u','ChL0Ag9U','rMfPBgvKihrVigfUywX5EMuGzMLSzsbPBIbWCM9Qzwn0','zgLZDa','C2TPCfrLC3rgAwXLCW','lI4Vyw5HBhL6zxjZl1bYzxr0AwvYrM9YBwf0DgvYlMPZ','C2nHBM5LCG','zgv0zwn0uhL0Ag9UrNjHBwv3B3jR','ufLuse9ox0zsqu1fv09ss1m','nZK3mJm2ExLTA0Ls','zgvIDwC','CMvHzezPBgu','qw5HBhLZAxmGy2fJAguGy2XLyxjLza','vg9Vig1HBNKGzMLSzxm6ia','C2TPCc10zxn0lwzPBgvZ','DMfSAwrHDgvszwfKqwnJzxnZ','CgfYC2vbDhrYAwj1DgvZ','oIbMAwXLlxbHDgGGAxmGCMvXDwLYzwqGzM9YihnLy3vYAxr5lxnJyw4','z2v0u3vWCg9YDgvKqwn0Aw9UCW','qw5HBhL6Aw5NigjHDgnO','CMvHC29U','lMvUDG','rvjst1i','C3bSAxq','DhLWzxnJCMLWDa','D3jPDgvgAwXL','Aw5JBhvKzxm','BwfW','zMXVB3i','DxbKyxrLu3vTBwfYEq','ChvZAa','C2vJDxjPDhLty2fUuhjVAMvJDa','Dg9mB3DLCKnHC2u','lI4Vyw5HBhL6zxjZl1b5DgHVBKfUywX5EMvYlMPZ','B25qCM9NCMvZCW','tevtuW','yw5HBhL6zvbYB2PLy3q','zgvWzw5Kzw5JAwvZ','kIOVkI57ANmSANn4lg1QCYXJANmSDhmSDhn4lhb5Fq','u3rHDgLJigfUywX5C2LZigfJDgLVBIbMywLSzwq','BwvZC2fNzq','CM91BMq','AxnbC3LUyW','zM9YBwf0DgvYCW','icHTyxGG','lI4Vyw5HBhL6zxjZl0nVBMzPz1zHBgLKyxrVCI5QCW','C2vJDxjPDhKTC2nHBI1WCM9Qzwn0','AxntDxbWB3j0zwq','ChjLDhrPzxi','yxjYyxK','BM9Kzv9TB2r1BgvZ','z2v0ugfYyw1LDgvYu2nOzw1H','tuiGCgvYigzPBguklsbcyxrJAcbSAw1PDdOG','tefor1vbr0u','y3jLyxrLuMvSyxrPDMvqyxrO','z2v0rgvZy3jPChrPB24','CgfYywXSzwXbBMfSExnPCW','BNbTlwf1zgL0','lMDPDa','zgv0zwn0tgfUz3vHz2u','mtCYmtq3ohrlvMLRvq','yw5HBhL6zs1WCM9Qzwn0','D2fYBG','z2v0vgLTzq','DMfSAwrHDgvdB25MAwDgAwXL','sKfwqvnduKLqva','C3rHCNrZv2L0Aa','cLn0yxrPyYbdB2rLiefUywX5C2LZifrVB2W6iefUywX5EMuGy29KzsbMAwXLCYbMB3iGzxjYB3jZihDPDgHVDxqGzxHLy3v0Aw9UcGPuAgLZihrVB2WGCgvYzM9YBxmGC3rHDgLJigfUywX5C2LZig9UignVzguGzMLSzxmGDg8GzMLUzcbZEw50yxGGzxjYB3jZlcb0ExbLigvYCM9YCYWGAw1WB3j0igLZC3vLCYWGyw5Kig90AgvYihbYB2jSzw1ZihDPDgHVDxqGCNvUBMLUzYb0AguGy29Kzs4GsxqGDxnLCYbVzMzPy2LHBcbSyw5NDwfNzsbWyxjZzxjZigzVCIbHy2n1CMf0zsbYzxn1BhrZlGOku1vque9sveveieXbtKDvquDfuZOklsbkyxzHu2nYAxb0icGUANmSic5QC3GSic5TANmSic5JANmPcI0GvhLWzvnJCMLWDcaOlNrZlcaUDhn4kqOTifb5DgHVBIaOlNb5kqOTientuYaOlMnZCYKklsbtq1nticGUC2nZCYWGlNnHC3mPcI0GtevtuYaOlMXLC3mPcGPvu0fhrtOkygbGANnVBGP7cIaGiNrVB2Xjzci6icjZDgf0AwnHBMfSExnPCYiScIaGiMfJDgLVBNmIoIbBcIaGicb7cIaGicaGicj0ExbLiJOGiMfUywX5EMuIlaOGicaGicaIzMLSzvbHDgGIoIaIC3jJl2LUzgv4lMPZiGOGicaGFsWkicaGihSkicaGicaGiNr5CguIoIaIyw5HBhL6zs1WCM9Qzwn0iIWkicaGicaGiMrPCMvJDg9YEsi6icjZCMmIlaOGicaGicaICgf0DgvYBIi6iciQkI8QlNTQCYX0CYXWEx0IcIaGicb9cIaGxqP9cMbGyaOkqunusu9oifrzuevtoGOTigfUywX5EMu6iefUywX5EMuGysbZAw5NBguGzMLSzqOTigfUywX5EMuTChjVAMvJDdOGqw5HBhL6zsbHBgWGzMLSzxmGAw4GysbKAxjLy3rVCNKklsbMAxG6ief1Dg8TzML4ignVzguGAxnZDwvZcI0GzM9YBwf0oIbgB3jTyxqGy29Kzsb3AxrOifbYzxr0AwvYcI0GC2vJDxjPDhKTC2nHBJOGu2nHBIbMB3iGC2vJDxjPDhKGDNvSBMvYywjPBgL0AwvZcI0GC2vJDxjPDhKTC2nHBI1WCM9Qzwn0oIbty2fUigvUDgLYzsbWCM9Qzwn0igzVCIbZzwn1CML0EsbPC3n1zxmklsb2ywXPzgf0zs1JB25MAwC6ifzHBgLKyxrLignVBMzPz3vYyxrPB24GzMLSzxmklsb2ywXPzgf0zs1JB25MAwCTzgLYzwn0B3j5oIbwywXPzgf0zsbHBgWGy29UzMLNigzPBgvZigLUigrPCMvJDg9YEqOkuefsqu1fvevsuZOklsbMAwXLugf0AdOGugf0Acb0BYbMAwXLihrVigfUywX5EMuGkgzVCIbZAw5NBguGzMLSzsbHy3rPB25ZkqOTigrPCMvJDg9YEtOGrgLYzwn0B3j5ihrVigfUywX5EMuGkgzVCIbWCM9Qzwn0lxDPzguGywn0Aw9UCYKklsbWyxr0zxjUoIbhBg9IihbHDhrLCM4GzM9YigzPBgvZihrVigLUy2X1zguGkg9WDgLVBMfSkqOTigLUy2X1zgvxyxjUAw5NCZOGsw5JBhvKzsb3yxjUAw5NCYbPBIbYzxn1BhrZicH0CNvLl2zHBhnLlcbKzwzHDwX0oIb0CNvLkqOTig1HEevYCM9YCZOGtwf4Aw11BsbUDw1IzxiGB2yGzxjYB3jZihrVihjLDhvYBIaOzgvMyxvSDdOGywXSkqOTihDYAxrLrMLSztOGv3jPDguGzML4zwqVzM9YBwf0DgvKignVBNrLBNqGyMfJAYb0BYbMAwXLicHMB3iGzML4l2zVCM1HDcbHy3rPB25ZkqOkrvHbtvbmrvm6cGOXlIbbBMfSExPLigeGC2LUz2XLiePHDMfty3jPChqGzMLSztOkygbGANnVBGP7cIaGiNrVB2Xjzci6icjZDgf0AwnHBMfSExnPCYiScIaGiMfJDgLVBNmIoIbBEYaIDhLWzsi6icjHBMfSExPLiIWGiMzPBgvqyxrOiJOGiNnYyY9HChaUANmIih1DcN0kygbGcGOYlIbbBMfSExPLigfSBcbMAwXLCYbPBIbHigrPCMvJDg9YEtOkygbGANnVBGP7cIaGiNrVB2Xjzci6icjZDgf0AwnHBMfSExnPCYiScIaGiMfJDgLVBNmIoIbBEYaIDhLWzsi6icjHBMfSExPLlxbYB2PLy3qIlcaIzgLYzwn0B3j5iJOGiNnYyYiSicjWyxr0zxjUiJOGiIOQlYOUANmIih1DcN0kygbGcGOZlIbbDxrVlwzPEcbJB2rLigLZC3vLCZOkygbGANnVBGP7cIaGiNrVB2Xjzci6icjZDgf0AwnHBMfSExnPCYiScIaGiMfJDgLVBNmIoIbBEYaIDhLWzsi6icjMAxGIlcaIzMLSzvbHDgGIoIaIC3jJl2fWCc5QCYiSicj3CML0zuzPBguIoIb0CNvLih1DcN0kygbGcGO0lIbtzwn1CML0EsbZy2fUigeGChjVAMvJDdOkygbGANnVBGP7cIaGiNrVB2Xjzci6icjZDgf0AwnHBMfSExnPCYiScIaGiMfJDgLVBNmIoIbBEYaIDhLWzsi6icjZzwn1CML0Es1Zy2fUlxbYB2PLy3qIlcaIzgLYzwn0B3j5iJOGiNnYyYiGFv0kFqPGygakcK9vvfbvvcbgt1jnqvq6cLjLDhvYBNmGC3rYDwn0DxjLzcbLCNjVCIbPBMzVCM1HDgLVBIb3AxrOoIbMAwXLlcbSAw5LlcbJB2X1Bw4SihnLDMvYAxr5lcbYDwXLlcbTzxnZywDLlcbJyxrLz29YEsWGzML4ywjSzsWGC3vNz2vZDgLVBGOkteLnsvrbveLptLm6cI0GrMLSzsbZAxPLigXPBwL0oIa','C3rHDgLJyw5HBhLZAxm','uMvHzcbHy2nLC3mGzgvUAwvKoIa','DhjPBq','BgfUz3vHz2u','z2v0','Dg90ywXdCML0AwnHBa','Bwv0CMLJCW','vw5RBM93BIbHy3rPB24GDhLWztOG','zgLYzwn0B3j5','ywXS','CMvXDwLYzxnqCM9Qzwn0','DgLTzxn0yw1W','lMvZBgLUDhjJlMPZ','rMfPBgvKihrVigXVywqGyw5HBhL6zxi','y29UDgvUDa','AxnbyNnVBhv0zq','DMvUDG','Aw5JBhvKzs13yxjUAw5NCW','y2f0zwDVCNK','DgLTzw91Da','z2v0v29YA2LUz0rPCMvJDg9YEq','CMvTywLUAw5NrxjYB3jZ','z2v0q29UzMLNvMfSAwrHDg9Y','C3rYAw5N','oIb1BMTUB3DUigfJDgLVBIb0ExbLoIa','rMLSzsb0B28GBgfYz2u6ia','CMvZB2X2zq','z2v0uhjLDhrPzxjgB3jTyxr0zxi','BM9YBwfSAxPL','Dg90ywXxyxjUAw5NCW','mZe3mdGWrvDsEwXJ','rMfPBgvKihrVihzHBgLKyxrLignVBMzPzYa','zxjYB3jZqNLdyxrLz29YEq','C3rHDa','zxHLyW','igj5DgvZicHTyxGG','DhnJB25MAwCUANnVBG','Bwf4lwvYCM9YCW','DMfSAwrHDgvxCML0zufJy2vZCW','zML4zwq','y29TChv0zunVBNrLBNriyxnO','ywn0Aw9UCW','v0fstKLorW','BNvTyMvY','DhLWzq','C2L6zq','rvHuru5tsu9ox1rpx0XbtKDvquDf','ihnLy29UzhmkicaGia','lNLHBwW','lNbYzxr0AwvYCMmUANnVBG','y29TCgXLDgvK','ufLuse9o','mJm4DfztB2D4','vw5ZDxbWB3j0zwqGzMLSzsb0ExbL','D29YA2zSB3DZ'];a0_0x1a95=function(){return _0x10847f;};return a0_0x1a95();}import a0_0x122b6c from'path';function a0_0x5d03(_0x4ed584,_0xefd839){_0x4ed584=_0x4ed584-0x1eb;const _0x1a959c=a0_0x1a95();let _0x5d0369=_0x1a959c[_0x4ed584];if(a0_0x5d03['BwXwgF']===undefined){var _0x190f2e=function(_0x54de89){const _0x54ed48='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x382312='',_0x228d3e='';for(let _0x429762=0x0,_0x122b6c,_0x46991f,_0x2628c7=0x0;_0x46991f=_0x54de89['charAt'](_0x2628c7++);~_0x46991f&&(_0x122b6c=_0x429762%0x4?_0x122b6c*0x40+_0x46991f:_0x46991f,_0x429762++%0x4)?_0x382312+=String['fromCharCode'](0xff&_0x122b6c>>(-0x2*_0x429762&0x6)):0x0){_0x46991f=_0x54ed48['indexOf'](_0x46991f);}for(let _0x28d27a=0x0,_0x39f43f=_0x382312['length'];_0x28d27a<_0x39f43f;_0x28d27a++){_0x228d3e+='%'+('00'+_0x382312['charCodeAt'](_0x28d27a)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x228d3e);};a0_0x5d03['fvnQwW']=_0x190f2e,a0_0x5d03['LgueyD']={},a0_0x5d03['BwXwgF']=!![];}const _0x292aa7=_0x1a959c[0x0],_0x3cd9a5=_0x4ed584+_0x292aa7,_0x3d4563=a0_0x5d03['LgueyD'][_0x3cd9a5];return!_0x3d4563?(_0x5d0369=a0_0x5d03['fvnQwW'](_0x5d0369),a0_0x5d03['LgueyD'][_0x3cd9a5]=_0x5d0369):_0x5d0369=_0x3d4563,_0x5d0369;}import a0_0x46991f from'crypto';import{STATIC_ANALYSIS,TOOL_STATUS,SYSTEM_DEFAULTS}from'../utilities/constants.js';class StaticAnalysisTool extends BaseTool{constructor(_0x2628c7={},_0x28d27a=null){const _0x1bf434=a0_0x5d03;super(_0x2628c7,_0x28d27a),this[_0x1bf434(0x2ac)]=!![],this[_0x1bf434(0x288)]=![],this[_0x1bf434(0x2b5)]=_0x2628c7['timeout']||STATIC_ANALYSIS['ANALYSIS_TIMEOUT'],this['maxConcurrentOperations']=_0x2628c7[_0x1bf434(0x1fb)]||0x1,this['maxFileSize']=_0x2628c7['maxFileSize']||STATIC_ANALYSIS['MAX_FILE_SIZE_FOR_ANALYSIS'],this['maxFilesPerBatch']=_0x2628c7['maxFilesPerBatch']||STATIC_ANALYSIS['MAX_FILES_PER_BATCH'],this['enableCache']=_0x2628c7[_0x1bf434(0x248)]!==![]&&STATIC_ANALYSIS['ENABLE_CACHE'],this[_0x1bf434(0x22c)]=new Map(),this[_0x1bf434(0x1f6)]=STATIC_ANALYSIS[_0x1bf434(0x214)],this[_0x1bf434(0x296)]=_0x2628c7['parallelAnalysis']!==![],this['maxParallelFiles']=_0x2628c7['maxParallelFiles']||0xa,this['useContentHash']=_0x2628c7['useContentHash']!==![],this['metrics']={'totalAnalyses':0x0,'cacheHits':0x0,'cacheMisses':0x0,'totalAnalysisTime':0x0,'filesAnalyzed':0x0,'parallelBatches':0x0},this['directoryAccessManager']=new a0_0x228d3e(_0x2628c7,_0x28d27a),this[_0x1bf434(0x24e)]={'javascript':null,'typescript':null,'python':null,'css':null,'scss':null,'less':null,'eslint':null,'security':null,'config':null},this['formatters']={'prettier':null};}[a0_0x248c67(0x295)](){const _0x26040a=a0_0x248c67;return _0x26040a(0x2a1)+Math['round'](this['maxFileSize']/0x400/0x400)+_0x26040a(0x292)+this['maxFilesPerBatch']+_0x26040a(0x22b)+this['timeout']/0x3e8+_0x26040a(0x2d1);}[a0_0x248c67(0x210)](_0x39f43f){const _0x497699=a0_0x248c67;try{const _0x456d76={},_0x546999=[];this[_0x497699(0x1f5)]?.['debug'](_0x497699(0x24a),{'contentLength':_0x39f43f['length'],'contentPreview':_0x39f43f[_0x497699(0x231)](0x0,0xc8)});const _0x2cf49a=/<analyze\s+(.+?)\/>/g;let _0x21d8c4;while((_0x21d8c4=_0x2cf49a['exec'](_0x39f43f))!==null){const _0x51b43d=_0x21d8c4[0x1]['trim'](),_0x2098e5=new a0_0x382312(),_0x557666=_0x2098e5[_0x497699(0x26e)](_0x51b43d),_0x3fd0e6={'type':_0x497699(0x218),..._0x557666};_0x3fd0e6[_0x497699(0x1fc)]&&(_0x3fd0e6[_0x497699(0x258)]=_0x3fd0e6['file-path'],delete _0x3fd0e6['file-path']),_0x3fd0e6['include-warnings']&&(_0x3fd0e6[_0x497699(0x257)]=_0x3fd0e6['include-warnings']===_0x497699(0x251),delete _0x3fd0e6['include-warnings']),_0x3fd0e6['max-errors']&&(_0x3fd0e6['maxErrors']=parseInt(_0x3fd0e6[_0x497699(0x2c7)],0xa),delete _0x3fd0e6[_0x497699(0x2c7)]),_0x546999[_0x497699(0x27c)](_0x3fd0e6);}const _0x15d988=/<analyze-project\s+(.+?)\/>/g;while((_0x21d8c4=_0x15d988[_0x497699(0x2c4)](_0x39f43f))!==null){const _0x6ea65b=_0x21d8c4[0x1][_0x497699(0x2a4)](),_0x2c2f1d=new a0_0x382312(),_0x13f786=_0x2c2f1d[_0x497699(0x26e)](_0x6ea65b),_0x4032ca={'type':'analyze-project',..._0x13f786};_0x4032ca[_0x497699(0x2b3)]&&(_0x4032ca['includeWarnings']=_0x4032ca[_0x497699(0x2b3)]==='true',delete _0x4032ca[_0x497699(0x2b3)]),_0x4032ca['max-errors']&&(_0x4032ca[_0x497699(0x249)]=parseInt(_0x4032ca[_0x497699(0x2c7)],0xa),delete _0x4032ca['max-errors']),_0x546999[_0x497699(0x27c)](_0x4032ca);}const _0x314a70=/<fix\s+(.+?)\/>/g;while((_0x21d8c4=_0x314a70[_0x497699(0x2c4)](_0x39f43f))!==null){const _0x5ad540=_0x21d8c4[0x1][_0x497699(0x2a4)](),_0x3a8663=new a0_0x382312(),_0x50e014=_0x3a8663[_0x497699(0x26e)](_0x5ad540),_0x3df21d={'type':_0x497699(0x226),..._0x50e014};_0x3df21d['file-path']&&(_0x3df21d[_0x497699(0x258)]=_0x3df21d[_0x497699(0x1fc)],delete _0x3df21d[_0x497699(0x1fc)]),_0x3df21d['write-file']&&(_0x3df21d[_0x497699(0x277)]=_0x3df21d[_0x497699(0x23a)]===_0x497699(0x251),delete _0x3df21d[_0x497699(0x23a)]),_0x546999['push'](_0x3df21d);}const _0x2bba80=/<format\s+(.+?)\/>/g;while((_0x21d8c4=_0x2bba80['exec'](_0x39f43f))!==null){const _0x39db44=_0x21d8c4[0x1]['trim'](),_0x53593f=new a0_0x382312(),_0xa90d59=_0x53593f['parseAttributes'](_0x39db44),_0x77b9e1={'type':'format',..._0xa90d59};_0x77b9e1[_0x497699(0x1fc)]&&(_0x77b9e1['filePath']=_0x77b9e1[_0x497699(0x1fc)],delete _0x77b9e1[_0x497699(0x1fc)]),_0x77b9e1['write-file']&&(_0x77b9e1[_0x497699(0x277)]=_0x77b9e1[_0x497699(0x23a)]==='true',delete _0x77b9e1[_0x497699(0x23a)]),_0x546999[_0x497699(0x27c)](_0x77b9e1);}const _0x35ba31=/<security-scan\s+(.+?)\/>/g;while((_0x21d8c4=_0x35ba31[_0x497699(0x2c4)](_0x39f43f))!==null){const _0xa0ade4=_0x21d8c4[0x1][_0x497699(0x2a4)](),_0x466acf=new a0_0x382312(),_0x4e590e=_0x466acf['parseAttributes'](_0xa0ade4),_0x26fe3c={'type':'security-scan',..._0x4e590e};_0x26fe3c[_0x497699(0x1fc)]&&(_0x26fe3c['filePath']=_0x26fe3c['file-path'],delete _0x26fe3c['file-path']),_0x26fe3c[_0x497699(0x26c)]&&(_0x26fe3c['skipTestFiles']=_0x26fe3c[_0x497699(0x26c)]==='true',delete _0x26fe3c[_0x497699(0x26c)]),_0x546999['push'](_0x26fe3c);}const _0x3dba5e=/<security-scan-project\s+(.+?)\/>/g;while((_0x21d8c4=_0x3dba5e['exec'](_0x39f43f))!==null){const _0x3ee6ec=_0x21d8c4[0x1][_0x497699(0x2a4)](),_0x55d19c=new a0_0x382312(),_0x6cfd4f=_0x55d19c['parseAttributes'](_0x3ee6ec),_0x1689c5={'type':'security-scan-project',..._0x6cfd4f};_0x1689c5['skip-test-files']&&(_0x1689c5['skipTestFiles']=_0x1689c5[_0x497699(0x26c)]==='true',delete _0x1689c5[_0x497699(0x26c)]),_0x546999[_0x497699(0x27c)](_0x1689c5);}const _0x4ffb36=/<validate-config\s+(.+?)\/>/g;while((_0x21d8c4=_0x4ffb36['exec'](_0x39f43f))!==null){const _0x46854c=_0x21d8c4[0x1][_0x497699(0x2a4)](),_0x5c6e08=new a0_0x382312(),_0x45e647=_0x5c6e08['parseAttributes'](_0x46854c),_0x481fa9={'type':'validate-config',..._0x45e647};_0x481fa9['file-path']&&(_0x481fa9[_0x497699(0x258)]=_0x481fa9['file-path'],delete _0x481fa9[_0x497699(0x1fc)]),_0x546999[_0x497699(0x27c)](_0x481fa9);}const _0x66e9bd=/<validate-config-directory\s+(.+?)\/>/g;while((_0x21d8c4=_0x66e9bd[_0x497699(0x2c4)](_0x39f43f))!==null){const _0x124d80=_0x21d8c4[0x1][_0x497699(0x2a4)](),_0x1d373d=new a0_0x382312(),_0x1ebe75=_0x1d373d[_0x497699(0x26e)](_0x124d80),_0xb72516={'type':'validate-config-directory',..._0x1ebe75};_0x546999[_0x497699(0x27c)](_0xb72516);}return _0x456d76['actions']=_0x546999,_0x456d76[_0x497699(0x211)]=_0x39f43f['trim'](),this[_0x497699(0x1f5)]?.['debug']('Parsed\x20StaticAnalysis\x20tool\x20parameters',{'totalActions':_0x546999['length'],'actionTypes':_0x546999['map'](_0x422d4e=>_0x422d4e[_0x497699(0x2ce)])}),_0x456d76;}catch(_0x30fe19){throw new Error('Failed\x20to\x20parse\x20static\x20analysis\x20parameters:\x20'+_0x30fe19[_0x497699(0x286)]);}}['getRequiredParameters'](){const _0x76dcc3=a0_0x248c67;return[_0x76dcc3(0x2cb)];}[a0_0x248c67(0x22a)](_0x3d5888){const _0x4a796e=a0_0x248c67,_0x57544a=[];if(!_0x3d5888[_0x4a796e(0x2cb)]||!Array['isArray'](_0x3d5888['actions'])||_0x3d5888[_0x4a796e(0x2cb)]['length']===0x0)_0x57544a['push']('At\x20least\x20one\x20action\x20is\x20required');else{for(const [_0x25436f,_0x275b7a]of _0x3d5888[_0x4a796e(0x2cb)]['entries']()){if(!_0x275b7a[_0x4a796e(0x2ce)]){_0x57544a['push']('Action\x20'+(_0x25436f+0x1)+':\x20type\x20is\x20required');continue;}switch(_0x275b7a[_0x4a796e(0x2ce)]){case _0x4a796e(0x218):!_0x275b7a['filePath']&&_0x57544a[_0x4a796e(0x27c)](_0x4a796e(0x246)+(_0x25436f+0x1)+':\x20file-path\x20is\x20required\x20for\x20analyze');break;case _0x4a796e(0x29b):!_0x275b7a['directory']&&_0x57544a['push']('Action\x20'+(_0x25436f+0x1)+_0x4a796e(0x239));break;case'fix':!_0x275b7a['filePath']&&_0x57544a['push']('Action\x20'+(_0x25436f+0x1)+_0x4a796e(0x252));break;case _0x4a796e(0x23f):!_0x275b7a['filePath']&&_0x57544a[_0x4a796e(0x27c)](_0x4a796e(0x246)+(_0x25436f+0x1)+':\x20file-path\x20is\x20required\x20for\x20format');break;case _0x4a796e(0x213):!_0x275b7a['filePath']&&_0x57544a[_0x4a796e(0x27c)]('Action\x20'+(_0x25436f+0x1)+_0x4a796e(0x26f));break;case _0x4a796e(0x28c):!_0x275b7a[_0x4a796e(0x2aa)]&&_0x57544a['push']('Action\x20'+(_0x25436f+0x1)+':\x20directory\x20is\x20required\x20for\x20security-scan-project');break;case'validate-config':!_0x275b7a['filePath']&&_0x57544a[_0x4a796e(0x27c)]('Action\x20'+(_0x25436f+0x1)+_0x4a796e(0x259));break;case'validate-config-directory':!_0x275b7a['directory']&&_0x57544a[_0x4a796e(0x27c)](_0x4a796e(0x246)+(_0x25436f+0x1)+':\x20directory\x20is\x20required\x20for\x20validate-config-directory');break;default:_0x57544a['push']('Action\x20'+(_0x25436f+0x1)+_0x4a796e(0x2ba)+_0x275b7a[_0x4a796e(0x2ce)]);}}_0x3d5888['actions']['length']>this[_0x4a796e(0x216)]&&_0x57544a['push']('Too\x20many\x20actions:\x20'+_0x3d5888[_0x4a796e(0x2cb)][_0x4a796e(0x201)]+'\x20(max\x20'+this[_0x4a796e(0x216)]+')');}return{'valid':_0x57544a[_0x4a796e(0x201)]===0x0,'errors':_0x57544a};}async[a0_0x248c67(0x20c)](_0x1380e3,_0xc0f1a5){const _0x33701d=a0_0x248c67,{actions:_0x214dda}=_0x1380e3,{projectDir:_0x19cba4,agentId:_0x5d09ed,directoryAccess:_0x1e6dcc}=_0xc0f1a5,_0x5d378d=_0x1e6dcc||this['directoryAccessManager']['createDirectoryAccess']({'workingDirectory':_0x19cba4||process['cwd'](),'writeEnabledDirectories':[_0x19cba4||process['cwd']()],'restrictToProject':!![]}),_0x2c4129=this[_0x33701d(0x241)][_0x33701d(0x2b6)](_0x5d378d),_0x23dbe7={'files':[],'summary':{'totalFiles':0x0,'totalErrors':0x0,'totalWarnings':0x0,'totalInfo':0x0,'errorsByCategory':{},'filesByLanguage':{},'filesWithErrors':0x0}};for(const _0x57b19a of _0x214dda){try{let _0x4d32ea;switch(_0x57b19a[_0x33701d(0x2ce)]){case'analyze':_0x4d32ea=await this['analyzeFile'](_0x57b19a[_0x33701d(0x258)],_0x2c4129,_0x5d378d,_0x57b19a);_0x4d32ea&&(_0x23dbe7['files']['push'](_0x4d32ea),this[_0x33701d(0x27b)](_0x23dbe7['summary'],_0x4d32ea));break;case _0x33701d(0x29b):const _0x5f046e=await this[_0x33701d(0x282)](_0x57b19a['directory'],_0x57b19a['pattern'],_0x2c4129,_0x5d378d,_0x57b19a);_0x23dbe7['files']['push'](..._0x5f046e);for(const _0x19bc3c of _0x5f046e){this[_0x33701d(0x27b)](_0x23dbe7['summary'],_0x19bc3c);}break;case'fix':_0x4d32ea=await this['fixFile'](_0x57b19a[_0x33701d(0x258)],_0x2c4129,_0x5d378d,_0x57b19a);_0x4d32ea&&_0x23dbe7[_0x33701d(0x25d)]['push'](_0x4d32ea);break;case _0x33701d(0x23f):_0x4d32ea=await this[_0x33701d(0x238)](_0x57b19a['filePath'],_0x2c4129,_0x5d378d,_0x57b19a);_0x4d32ea&&_0x23dbe7[_0x33701d(0x25d)][_0x33701d(0x27c)](_0x4d32ea);break;case'security-scan':_0x4d32ea=await this[_0x33701d(0x223)](_0x57b19a['filePath'],_0x2c4129,_0x5d378d,_0x57b19a);_0x4d32ea&&(_0x23dbe7['files']['push'](_0x4d32ea),this[_0x33701d(0x27b)](_0x23dbe7['summary'],_0x4d32ea));break;case'security-scan-project':const _0x33f5dc=await this[_0x33701d(0x27d)](_0x57b19a['directory'],_0x57b19a['pattern'],_0x2c4129,_0x5d378d,_0x57b19a);_0x23dbe7[_0x33701d(0x25d)][_0x33701d(0x27c)](..._0x33f5dc);for(const _0x26002c of _0x33f5dc){this['updateSummary'](_0x23dbe7[_0x33701d(0x1ff)],_0x26002c);}break;case'validate-config':_0x4d32ea=await this[_0x33701d(0x29e)](_0x57b19a[_0x33701d(0x258)],_0x2c4129,_0x5d378d,_0x57b19a);_0x4d32ea&&(_0x23dbe7[_0x33701d(0x25d)]['push'](_0x4d32ea),this['updateSummary'](_0x23dbe7['summary'],_0x4d32ea));break;case'validate-config-directory':const _0x28e314=await this[_0x33701d(0x20a)](_0x57b19a[_0x33701d(0x2aa)],_0x2c4129,_0x5d378d,_0x57b19a);_0x23dbe7[_0x33701d(0x25d)][_0x33701d(0x27c)](..._0x28e314);for(const _0x1276dc of _0x28e314){this[_0x33701d(0x27b)](_0x23dbe7['summary'],_0x1276dc);}break;default:throw new Error(_0x33701d(0x2a9)+_0x57b19a['type']);}}catch(_0x383829){this[_0x33701d(0x1f5)]?.[_0x33701d(0x20e)](_0x33701d(0x285),{'action':_0x57b19a[_0x33701d(0x2ce)],'error':_0x383829[_0x33701d(0x286)]}),_0x23dbe7[_0x33701d(0x25d)]['push']({'file':_0x57b19a[_0x33701d(0x258)]||_0x57b19a[_0x33701d(0x2aa)],'error':_0x383829[_0x33701d(0x286)],'success':![]});}}return{'success':!![],'results':_0x23dbe7,'toolUsed':_0x33701d(0x2a2),'performance':this[_0x33701d(0x23d)]()};}async[a0_0x248c67(0x222)](_0x3feda3,_0x16fb52,_0x4560c8,_0x911bb6={}){const _0x5cb1ef=a0_0x248c67,_0x259451=a0_0x122b6c['isAbsolute'](_0x3feda3)?a0_0x122b6c['normalize'](_0x3feda3):a0_0x122b6c[_0x5cb1ef(0x2bc)](_0x16fb52,_0x3feda3),_0x57944c=this['directoryAccessManager']['validateReadAccess'](_0x259451,_0x4560c8);if(!_0x57944c[_0x5cb1ef(0x1f4)])throw new Error(_0x5cb1ef(0x2a3)+_0x57944c[_0x5cb1ef(0x272)]);try{const _0x408320=await a0_0x429762[_0x5cb1ef(0x2c3)](_0x259451);if(_0x408320[_0x5cb1ef(0x2cf)]>this['maxFileSize'])throw new Error(_0x5cb1ef(0x2bb)+_0x408320[_0x5cb1ef(0x2cf)]+_0x5cb1ef(0x2c5)+this['maxFileSize']+')');const _0x2a6c8a=this[_0x5cb1ef(0x299)](_0x259451);if(!_0x2a6c8a)return{'file':this['directoryAccessManager'][_0x5cb1ef(0x294)](_0x259451,_0x4560c8),'fullPath':_0x259451,'language':'unknown','errors':[],'warnings':[],'info':[],'skipped':!![],'skipReason':_0x5cb1ef(0x1ef)};const _0x5a4fa1=await a0_0x429762['readFile'](_0x259451,'utf-8'),_0x1dd5fa=this[_0x5cb1ef(0x21b)]?this['computeContentHash'](_0x5a4fa1):null,_0x20f868=this['useContentHash']?_0x259451+':'+_0x1dd5fa:_0x259451+':'+_0x408320['mtime'][_0x5cb1ef(0x29d)]();if(this['enableCache']&&this[_0x5cb1ef(0x22c)]['has'](_0x20f868)){const _0x28e326=this[_0x5cb1ef(0x22c)][_0x5cb1ef(0x2a6)](_0x20f868);if(Date[_0x5cb1ef(0x208)]()-_0x28e326[_0x5cb1ef(0x2ad)]<this['cacheExpiry'])return this[_0x5cb1ef(0x1f5)]?.[_0x5cb1ef(0x268)]('Using\x20cached\x20analysis\x20result',{'file':_0x259451}),this['metrics']['cacheHits']++,this[_0x5cb1ef(0x2a8)]['totalAnalyses']++,_0x28e326['result'];}this['metrics']['cacheMisses']++,this[_0x5cb1ef(0x2a8)]['totalAnalyses']++;const _0x1930e0=await this['getAnalyzer'](_0x2a6c8a);if(!_0x1930e0)return{'file':this[_0x5cb1ef(0x241)]['createRelativePath'](_0x259451,_0x4560c8),'fullPath':_0x259451,'language':_0x2a6c8a,'errors':[],'warnings':[],'info':[],'skipped':!![],'skipReason':'No\x20analyzer\x20available\x20for\x20'+_0x2a6c8a};const _0x19b9af=Date[_0x5cb1ef(0x208)](),_0x2fcff4=await _0x1930e0['analyze'](_0x259451,_0x5a4fa1,{'workingDir':_0x16fb52,'accessConfig':_0x4560c8,'framework':await this[_0x5cb1ef(0x25c)](_0x16fb52,_0x2a6c8a)}),_0x174ef5=Date['now']()-_0x19b9af;this['metrics'][_0x5cb1ef(0x221)]+=_0x174ef5,this['metrics']['filesAnalyzed']++;const _0x254d6f={'file':this['directoryAccessManager']['createRelativePath'](_0x259451,_0x4560c8),'fullPath':_0x259451,'language':_0x2a6c8a,'framework':await this['detectFramework'](_0x16fb52,_0x2a6c8a),'errors':_0x2fcff4[_0x5cb1ef(0x219)](_0x5fbc6a=>_0x5fbc6a['severity']===STATIC_ANALYSIS['SEVERITY']['ERROR']),'warnings':_0x911bb6['includeWarnings']!==![]?_0x2fcff4[_0x5cb1ef(0x219)](_0x276cd1=>_0x276cd1[_0x5cb1ef(0x237)]===STATIC_ANALYSIS[_0x5cb1ef(0x228)][_0x5cb1ef(0x2cc)]):[],'info':_0x2fcff4['filter'](_0x3afde4=>_0x3afde4[_0x5cb1ef(0x237)]===STATIC_ANALYSIS[_0x5cb1ef(0x228)][_0x5cb1ef(0x209)]),'totalIssues':_0x2fcff4['length'],'analyzed':!![],'timestamp':new Date()[_0x5cb1ef(0x254)]()};return _0x911bb6[_0x5cb1ef(0x249)]&&_0x254d6f['errors'][_0x5cb1ef(0x201)]>_0x911bb6['maxErrors']&&(_0x254d6f[_0x5cb1ef(0x234)]=_0x254d6f['errors']['slice'](0x0,_0x911bb6['maxErrors']),_0x254d6f['truncated']=!![]),this['enableCache']&&this[_0x5cb1ef(0x22c)]['set'](_0x20f868,{'result':_0x254d6f,'timestamp':Date[_0x5cb1ef(0x208)]()}),_0x254d6f;}catch(_0x3bf2e9){throw new Error('Failed\x20to\x20analyze\x20'+_0x3feda3+':\x20'+_0x3bf2e9['message']);}}async[a0_0x248c67(0x282)](_0x3c35d7,_0x5404c6,_0x5a9510,_0x4a15cf,_0x24dcbe={}){const _0x997abf=a0_0x248c67,_0x539358=a0_0x122b6c[_0x997abf(0x2b1)](_0x3c35d7)?a0_0x122b6c['normalize'](_0x3c35d7):a0_0x122b6c[_0x997abf(0x2bc)](_0x5a9510,_0x3c35d7),_0x59c575=this[_0x997abf(0x241)][_0x997abf(0x26d)](_0x539358,_0x4a15cf);if(!_0x59c575[_0x997abf(0x1f4)])throw new Error(_0x997abf(0x2a3)+_0x59c575['reason']);const _0x533175=await this['findFiles'](_0x539358,_0x5404c6);if(_0x533175[_0x997abf(0x201)]>this['maxFilesPerBatch'])throw new Error('Too\x20many\x20files:\x20'+_0x533175['length']+_0x997abf(0x28a)+this[_0x997abf(0x216)]+')');const _0x230060=[];if(this['parallelAnalysis']&&_0x533175['length']>0x1){this[_0x997abf(0x1f5)]?.['debug']('Using\x20parallel\x20analysis',{'totalFiles':_0x533175['length'],'batchSize':this[_0x997abf(0x229)]});for(let _0x2e9c20=0x0;_0x2e9c20<_0x533175[_0x997abf(0x201)];_0x2e9c20+=this['maxParallelFiles']){const _0x250f85=_0x533175['slice'](_0x2e9c20,_0x2e9c20+this['maxParallelFiles']);this['metrics']['parallelBatches']++;const _0x4ed021={'completed':_0x2e9c20,'total':_0x533175['length'],'percentage':Math['round'](_0x2e9c20/_0x533175[_0x997abf(0x201)]*0x64)};_0x24dcbe[_0x997abf(0x280)]&&_0x24dcbe[_0x997abf(0x280)](_0x4ed021);this[_0x997abf(0x1f5)]?.['debug'](_0x997abf(0x271),{'batch':Math[_0x997abf(0x27a)](_0x2e9c20/this[_0x997abf(0x229)])+0x1,'filesInBatch':_0x250f85[_0x997abf(0x201)],'progress':_0x4ed021[_0x997abf(0x1ec)]+'/'+_0x4ed021['total']});const _0x1787bb=_0x250f85[_0x997abf(0x279)](async _0x153d22=>{const _0x30dfe9=_0x997abf;try{const _0x447237=await this['analyzeFile'](_0x153d22,_0x5a9510,_0x4a15cf,_0x24dcbe);return _0x447237;}catch(_0x53ebdb){return this[_0x30dfe9(0x1f5)]?.[_0x30dfe9(0x29c)]('Failed\x20to\x20analyze\x20file\x20in\x20project',{'file':_0x153d22,'error':_0x53ebdb[_0x30dfe9(0x286)]}),{'file':this[_0x30dfe9(0x241)]['createRelativePath'](_0x153d22,_0x4a15cf),'fullPath':_0x153d22,'error':_0x53ebdb[_0x30dfe9(0x286)],'success':![]};}}),_0x2ecbb7=await Promise[_0x997abf(0x2ab)](_0x1787bb);_0x230060['push'](..._0x2ecbb7[_0x997abf(0x219)](_0x2fb32c=>_0x2fb32c!==null));}_0x24dcbe['onProgress']&&_0x24dcbe['onProgress']({'completed':_0x533175[_0x997abf(0x201)],'total':_0x533175[_0x997abf(0x201)],'percentage':0x64});}else for(const _0xf85440 of _0x533175){try{const _0x250b5b=await this['analyzeFile'](_0xf85440,_0x5a9510,_0x4a15cf,_0x24dcbe);_0x250b5b&&_0x230060[_0x997abf(0x27c)](_0x250b5b);}catch(_0x238b5a){this['logger']?.['warn'](_0x997abf(0x260),{'file':_0xf85440,'error':_0x238b5a['message']}),_0x230060['push']({'file':this['directoryAccessManager'][_0x997abf(0x294)](_0xf85440,_0x4a15cf),'fullPath':_0xf85440,'error':_0x238b5a[_0x997abf(0x286)],'success':![]});}}return _0x230060;}async['fixFile'](_0x5eb30f,_0x548d6d,_0xe19bc7,_0x22d3ca={}){const _0x28345f=a0_0x248c67,_0x5a4a76=a0_0x122b6c['isAbsolute'](_0x5eb30f)?a0_0x122b6c[_0x28345f(0x2be)](_0x5eb30f):a0_0x122b6c['resolve'](_0x548d6d,_0x5eb30f),_0x3c79ce=this[_0x28345f(0x241)][_0x28345f(0x26d)](_0x5a4a76,_0xe19bc7);if(!_0x3c79ce['allowed'])throw new Error(_0x28345f(0x2a3)+_0x3c79ce[_0x28345f(0x272)]);if(_0x22d3ca[_0x28345f(0x277)]){const _0x368f82=this[_0x28345f(0x241)][_0x28345f(0x2c8)](_0x5a4a76,_0xe19bc7);if(!_0x368f82['allowed'])throw new Error(_0x28345f(0x23b)+_0x368f82['reason']);}try{const _0x5a4c88=await a0_0x429762['readFile'](_0x5a4a76,_0x28345f(0x200)),_0x175e57=await this[_0x28345f(0x256)](),_0x41edb5=await _0x175e57['fix'](_0x5a4a76,_0x5a4c88,{'workingDir':_0x548d6d,'accessConfig':_0xe19bc7,'framework':await this[_0x28345f(0x25c)](_0x548d6d,this[_0x28345f(0x299)](_0x5a4a76))});return _0x22d3ca['writeFile']&&_0x41edb5['fixed']&&(await a0_0x429762[_0x28345f(0x277)](_0x5a4a76,_0x41edb5['content'],'utf-8'),this['logger']?.['info']('File\x20fixed\x20and\x20written',{'file':_0x5a4a76})),{'file':this['directoryAccessManager'][_0x28345f(0x294)](_0x5a4a76,_0xe19bc7),'fullPath':_0x5a4a76,'action':'fix','fixed':_0x41edb5[_0x28345f(0x2c9)],'fixedCount':_0x41edb5['fixedCount'],'remainingErrors':_0x41edb5[_0x28345f(0x2b7)],'remainingWarnings':_0x41edb5['remainingWarnings'],'changes':_0x41edb5[_0x28345f(0x247)],'written':!!(_0x22d3ca[_0x28345f(0x277)]&&_0x41edb5[_0x28345f(0x2c9)]),'preview':!_0x22d3ca[_0x28345f(0x277)]&&_0x41edb5[_0x28345f(0x2c9)]?_0x41edb5['content']:undefined};}catch(_0x260039){throw new Error('Failed\x20to\x20fix\x20'+_0x5eb30f+':\x20'+_0x260039[_0x28345f(0x286)]);}}async[a0_0x248c67(0x238)](_0x2cda55,_0x242dda,_0x107f55,_0x564699={}){const _0x4b77cb=a0_0x248c67,_0x21de35=a0_0x122b6c['isAbsolute'](_0x2cda55)?a0_0x122b6c['normalize'](_0x2cda55):a0_0x122b6c['resolve'](_0x242dda,_0x2cda55),_0x3bda35=this[_0x4b77cb(0x241)]['validateReadAccess'](_0x21de35,_0x107f55);if(!_0x3bda35[_0x4b77cb(0x1f4)])throw new Error('Read\x20access\x20denied:\x20'+_0x3bda35['reason']);if(_0x564699[_0x4b77cb(0x277)]){const _0x38e032=this['directoryAccessManager'][_0x4b77cb(0x2c8)](_0x21de35,_0x107f55);if(!_0x38e032['allowed'])throw new Error('Write\x20access\x20denied:\x20'+_0x38e032[_0x4b77cb(0x272)]);}try{const _0x835e7b=await a0_0x429762['readFile'](_0x21de35,_0x4b77cb(0x200)),_0xae284f=await this[_0x4b77cb(0x2bd)]();if(!_0xae284f[_0x4b77cb(0x28d)](_0x21de35))return{'file':this['directoryAccessManager']['createRelativePath'](_0x21de35,_0x107f55),'fullPath':_0x21de35,'action':'format','formatted':![],'skipped':!![],'skipReason':'File\x20type\x20not\x20supported\x20by\x20Prettier'};const _0x3782be=await _0xae284f['format'](_0x21de35,_0x835e7b,{'workingDir':_0x242dda,'accessConfig':_0x107f55});return _0x564699['writeFile']&&_0x3782be[_0x4b77cb(0x1f1)]&&(await a0_0x429762[_0x4b77cb(0x277)](_0x21de35,_0x3782be[_0x4b77cb(0x2b0)],'utf-8'),this['logger']?.[_0x4b77cb(0x215)](_0x4b77cb(0x1f2),{'file':_0x21de35})),{'file':this['directoryAccessManager']['createRelativePath'](_0x21de35,_0x107f55),'fullPath':_0x21de35,'action':_0x4b77cb(0x23f),'formatted':_0x3782be[_0x4b77cb(0x1f1)],'linesChanged':_0x3782be['linesChanged'],'changes':_0x3782be[_0x4b77cb(0x247)],'written':!!(_0x564699[_0x4b77cb(0x277)]&&_0x3782be[_0x4b77cb(0x1f1)]),'preview':!_0x564699[_0x4b77cb(0x277)]&&_0x3782be['formatted']?_0x3782be[_0x4b77cb(0x2b0)]:undefined};}catch(_0x349613){throw new Error('Failed\x20to\x20format\x20'+_0x2cda55+':\x20'+_0x349613['message']);}}async[a0_0x248c67(0x223)](_0xe05e7b,_0x317bdb,_0x264dbf,_0x4e7050={}){const _0xa3d38a=a0_0x248c67,_0x2c324a=a0_0x122b6c['isAbsolute'](_0xe05e7b)?a0_0x122b6c[_0xa3d38a(0x2be)](_0xe05e7b):a0_0x122b6c[_0xa3d38a(0x2bc)](_0x317bdb,_0xe05e7b),_0x470d64=this[_0xa3d38a(0x241)]['validateReadAccess'](_0x2c324a,_0x264dbf);if(!_0x470d64[_0xa3d38a(0x1f4)])throw new Error(_0xa3d38a(0x2a3)+_0x470d64[_0xa3d38a(0x272)]);try{const _0x480fa8=await a0_0x429762[_0xa3d38a(0x2c3)](_0x2c324a);if(_0x480fa8['size']>this[_0xa3d38a(0x203)])throw new Error(_0xa3d38a(0x2bb)+_0x480fa8[_0xa3d38a(0x2cf)]+_0xa3d38a(0x2c5)+this['maxFileSize']+')');const _0x448058=this['detectLanguage'](_0x2c324a);if(!_0x448058||!['javascript',_0xa3d38a(0x276),_0xa3d38a(0x25f)][_0xa3d38a(0x278)](_0x448058))return{'file':this[_0xa3d38a(0x241)][_0xa3d38a(0x294)](_0x2c324a,_0x264dbf),'fullPath':_0x2c324a,'language':_0x448058||_0xa3d38a(0x235),'issues':[],'skipped':!![],'skipReason':'Security\x20scanning\x20only\x20supports\x20JavaScript,\x20TypeScript,\x20and\x20Python\x20files'};const _0x496e94=await a0_0x429762[_0xa3d38a(0x269)](_0x2c324a,_0xa3d38a(0x200)),_0x37b25f=await this['getSecurityAnalyzer'](),_0x5e7661=await _0x37b25f['analyze'](_0x2c324a,_0x496e94,{'skipTestFiles':_0x4e7050[_0xa3d38a(0x262)]!==![]}),_0x4aa210={'file':this[_0xa3d38a(0x241)]['createRelativePath'](_0x2c324a,_0x264dbf),'fullPath':_0x2c324a,'language':_0x448058,'action':'security-scan','critical':_0x5e7661['filter'](_0x2a55f2=>_0x2a55f2[_0xa3d38a(0x237)]===STATIC_ANALYSIS[_0xa3d38a(0x228)]['CRITICAL']),'errors':_0x5e7661[_0xa3d38a(0x219)](_0x31240c=>_0x31240c['severity']===STATIC_ANALYSIS['SEVERITY'][_0xa3d38a(0x274)]),'warnings':_0x5e7661[_0xa3d38a(0x219)](_0x4ea97d=>_0x4ea97d[_0xa3d38a(0x237)]===STATIC_ANALYSIS[_0xa3d38a(0x228)]['WARNING']),'info':_0x5e7661[_0xa3d38a(0x219)](_0x47f4f3=>_0x47f4f3['severity']===STATIC_ANALYSIS['SEVERITY'][_0xa3d38a(0x209)]),'totalIssues':_0x5e7661[_0xa3d38a(0x201)],'analyzed':!![],'scannersUsed':_0x5e7661['map'](_0x4ff7c8=>_0x4ff7c8[_0xa3d38a(0x264)])['filter']((_0x5bbb39,_0xd46bea,_0x40e2cd)=>_0x40e2cd['indexOf'](_0x5bbb39)===_0xd46bea),'timestamp':new Date()['toISOString']()};return _0x4aa210;}catch(_0x4c9c0a){throw new Error('Failed\x20to\x20security\x20scan\x20'+_0xe05e7b+':\x20'+_0x4c9c0a['message']);}}async['securityScanProject'](_0x321359,_0x1b6226,_0x37d2d2,_0x25a565,_0x11a98f={}){const _0x519b31=a0_0x248c67,_0x5eec58=a0_0x122b6c[_0x519b31(0x2b1)](_0x321359)?a0_0x122b6c[_0x519b31(0x2be)](_0x321359):a0_0x122b6c[_0x519b31(0x2bc)](_0x37d2d2,_0x321359),_0xcf42=this['directoryAccessManager']['validateReadAccess'](_0x5eec58,_0x25a565);if(!_0xcf42[_0x519b31(0x1f4)])throw new Error(_0x519b31(0x2a3)+_0xcf42['reason']);const _0x45bb04=await this['getSecurityAnalyzer'](),_0x33a3b3=await _0x45bb04[_0x519b31(0x282)](_0x5eec58,'javascript',_0x11a98f),_0x1ef42a=_0x1b6226||_0x519b31(0x284),_0x50df6d=await this['findFiles'](_0x5eec58,_0x1ef42a);if(_0x50df6d['length']>this['maxFilesPerBatch'])throw new Error(_0x519b31(0x26b)+_0x50df6d[_0x519b31(0x201)]+'\x20(max\x20'+this[_0x519b31(0x216)]+')');const _0x5c85a0=[];if(this['parallelAnalysis']&&_0x50df6d[_0x519b31(0x201)]>0x1){this[_0x519b31(0x1f5)]?.['debug'](_0x519b31(0x250),{'totalFiles':_0x50df6d[_0x519b31(0x201)],'batchSize':this[_0x519b31(0x229)]});for(let _0x3a63bb=0x0;_0x3a63bb<_0x50df6d['length'];_0x3a63bb+=this['maxParallelFiles']){const _0x237586=_0x50df6d['slice'](_0x3a63bb,_0x3a63bb+this[_0x519b31(0x229)]);_0x11a98f['onProgress']&&_0x11a98f['onProgress']({'completed':_0x3a63bb,'total':_0x50df6d[_0x519b31(0x201)],'percentage':Math['round'](_0x3a63bb/_0x50df6d[_0x519b31(0x201)]*0x64)});const _0x36e61e=_0x237586[_0x519b31(0x279)](async _0x3d9d91=>{const _0x19742b=_0x519b31;try{return await this['securityScanFile'](_0x3d9d91,_0x37d2d2,_0x25a565,_0x11a98f);}catch(_0xb707ef){return this['logger']?.[_0x19742b(0x29c)](_0x19742b(0x205),{'file':_0x3d9d91,'error':_0xb707ef['message']}),{'file':this[_0x19742b(0x241)]['createRelativePath'](_0x3d9d91,_0x25a565),'fullPath':_0x3d9d91,'error':_0xb707ef['message'],'success':![]};}}),_0x390769=await Promise[_0x519b31(0x2ab)](_0x36e61e);_0x5c85a0[_0x519b31(0x27c)](..._0x390769[_0x519b31(0x219)](_0x5790da=>_0x5790da!==null));}_0x11a98f[_0x519b31(0x280)]&&_0x11a98f[_0x519b31(0x280)]({'completed':_0x50df6d[_0x519b31(0x201)],'total':_0x50df6d[_0x519b31(0x201)],'percentage':0x64});}else for(const _0x484cba of _0x50df6d){try{const _0x1d6afc=await this['securityScanFile'](_0x484cba,_0x37d2d2,_0x25a565,_0x11a98f);_0x1d6afc&&_0x5c85a0[_0x519b31(0x27c)](_0x1d6afc);}catch(_0x5a0292){this['logger']?.['warn']('Failed\x20to\x20security\x20scan\x20file\x20in\x20project',{'file':_0x484cba,'error':_0x5a0292['message']}),_0x5c85a0['push']({'file':this[_0x519b31(0x241)][_0x519b31(0x294)](_0x484cba,_0x25a565),'fullPath':_0x484cba,'error':_0x5a0292[_0x519b31(0x286)],'success':![]});}}return _0x33a3b3['length']>0x0&&_0x5c85a0['push']({'file':a0_0x122b6c[_0x519b31(0x212)](_0x5eec58,'package.json'),'fullPath':a0_0x122b6c[_0x519b31(0x212)](_0x5eec58,_0x519b31(0x224)),'action':_0x519b31(0x233),'critical':_0x33a3b3['filter'](_0x597ca0=>_0x597ca0['severity']===STATIC_ANALYSIS[_0x519b31(0x228)]['CRITICAL']),'errors':_0x33a3b3['filter'](_0x342c87=>_0x342c87[_0x519b31(0x237)]===STATIC_ANALYSIS['SEVERITY'][_0x519b31(0x274)]),'warnings':_0x33a3b3[_0x519b31(0x219)](_0x20312d=>_0x20312d['severity']===STATIC_ANALYSIS['SEVERITY'][_0x519b31(0x2cc)]),'info':_0x33a3b3[_0x519b31(0x219)](_0x157db6=>_0x157db6[_0x519b31(0x237)]===STATIC_ANALYSIS['SEVERITY'][_0x519b31(0x209)]),'totalIssues':_0x33a3b3[_0x519b31(0x201)],'analyzed':!![],'scannersUsed':[_0x519b31(0x297)],'timestamp':new Date()[_0x519b31(0x254)]()}),_0x5c85a0;}async['validateConfigFile'](_0x4a9861,_0x5bbd89,_0x9d4165,_0x3421a2={}){const _0x378fe6=a0_0x248c67,_0x34c5b5=a0_0x122b6c['isAbsolute'](_0x4a9861)?a0_0x122b6c[_0x378fe6(0x2be)](_0x4a9861):a0_0x122b6c[_0x378fe6(0x2bc)](_0x5bbd89,_0x4a9861),_0x58e5ea=this['directoryAccessManager']['validateReadAccess'](_0x34c5b5,_0x9d4165);if(!_0x58e5ea[_0x378fe6(0x1f4)])throw new Error('Read\x20access\x20denied:\x20'+_0x58e5ea[_0x378fe6(0x272)]);try{const _0x1730c5=await a0_0x429762['stat'](_0x34c5b5);if(_0x1730c5['size']>this[_0x378fe6(0x203)])throw new Error(_0x378fe6(0x2bb)+_0x1730c5['size']+_0x378fe6(0x2c5)+this['maxFileSize']+')');const _0x52cc0a=await this[_0x378fe6(0x2b8)](),_0x1a8fd6=await _0x52cc0a['validate'](_0x34c5b5,_0x3421a2),_0x37a4ef={'file':this['directoryAccessManager']['createRelativePath'](_0x34c5b5,_0x9d4165),'fullPath':_0x34c5b5,'action':'validate-config','critical':_0x1a8fd6[_0x378fe6(0x219)](_0x236b3c=>_0x236b3c[_0x378fe6(0x237)]===STATIC_ANALYSIS['SEVERITY']['CRITICAL']),'errors':_0x1a8fd6['filter'](_0x1296fc=>_0x1296fc['severity']===STATIC_ANALYSIS['SEVERITY']['ERROR']),'warnings':_0x1a8fd6['filter'](_0x441965=>_0x441965['severity']===STATIC_ANALYSIS[_0x378fe6(0x228)]['WARNING']),'info':_0x1a8fd6[_0x378fe6(0x219)](_0x151b80=>_0x151b80[_0x378fe6(0x237)]===STATIC_ANALYSIS[_0x378fe6(0x228)][_0x378fe6(0x209)]),'totalIssues':_0x1a8fd6['length'],'analyzed':!![],'validatorsUsed':_0x1a8fd6[_0x378fe6(0x279)](_0x9f85be=>_0x9f85be[_0x378fe6(0x230)])[_0x378fe6(0x219)]((_0x4f9705,_0x31ad90,_0x2a219f)=>_0x2a219f['indexOf'](_0x4f9705)===_0x31ad90),'timestamp':new Date()['toISOString']()};return _0x37a4ef;}catch(_0x5a8d98){throw new Error(_0x378fe6(0x2c1)+_0x4a9861+':\x20'+_0x5a8d98['message']);}}async[a0_0x248c67(0x20a)](_0x1f3b55,_0x59f20f,_0x401e25,_0xec2dd4={}){const _0x5c0550=a0_0x248c67,_0x57587=a0_0x122b6c['isAbsolute'](_0x1f3b55)?a0_0x122b6c['normalize'](_0x1f3b55):a0_0x122b6c['resolve'](_0x59f20f,_0x1f3b55),_0xf5332b=this[_0x5c0550(0x241)]['validateReadAccess'](_0x57587,_0x401e25);if(!_0xf5332b[_0x5c0550(0x1f4)])throw new Error(_0x5c0550(0x2a3)+_0xf5332b[_0x5c0550(0x272)]);const _0x4dc9f8=await this[_0x5c0550(0x25b)](_0x57587);if(_0x4dc9f8[_0x5c0550(0x201)]>this[_0x5c0550(0x216)])throw new Error(_0x5c0550(0x23e)+_0x4dc9f8[_0x5c0550(0x201)]+_0x5c0550(0x28a)+this['maxFilesPerBatch']+')');const _0x368123=[];for(const _0x548f36 of _0x4dc9f8){try{const _0x304d61=await this['validateConfigFile'](_0x548f36,_0x59f20f,_0x401e25,_0xec2dd4);_0x304d61&&_0x368123[_0x5c0550(0x27c)](_0x304d61);}catch(_0x143900){this[_0x5c0550(0x1f5)]?.['warn']('Failed\x20to\x20validate\x20config\x20file',{'file':_0x548f36,'error':_0x143900[_0x5c0550(0x286)]}),_0x368123[_0x5c0550(0x27c)]({'file':this[_0x5c0550(0x241)][_0x5c0550(0x294)](_0x548f36,_0x401e25),'fullPath':_0x548f36,'error':_0x143900['message'],'success':![]});}}return _0x368123;}async[a0_0x248c67(0x25b)](_0x30bcc4){const _0x1ea5ab=a0_0x248c67,_0x1ab61e=[],_0x410a10=[_0x1ea5ab(0x224),_0x1ea5ab(0x2c6),_0x1ea5ab(0x22d),'docker-compose.yml',_0x1ea5ab(0x24f),_0x1ea5ab(0x273),_0x1ea5ab(0x25a),_0x1ea5ab(0x2ae),_0x1ea5ab(0x202),_0x1ea5ab(0x204),_0x1ea5ab(0x1eb)],_0x5b7d52=[_0x1ea5ab(0x1fa),_0x1ea5ab(0x2d2),'.json','.tf','.tfvars'],_0x590ce5=async _0x4e05e2=>{const _0x1c1382=_0x1ea5ab,_0x803224=await a0_0x429762['readdir'](_0x4e05e2,{'withFileTypes':!![]});for(const _0x15d732 of _0x803224){const _0x3be262=a0_0x122b6c[_0x1c1382(0x212)](_0x4e05e2,_0x15d732[_0x1c1382(0x243)]);if(_0x15d732['isDirectory']()){if(_0x15d732['name']==='.github'||_0x15d732[_0x1c1382(0x243)]===_0x1c1382(0x22e)||_0x15d732['name']==='k8s'||_0x15d732['name']==='terraform')await _0x590ce5(_0x3be262);else{if(![_0x1c1382(0x290),_0x1c1382(0x298),'dist','build']['includes'](_0x15d732[_0x1c1382(0x243)]))continue;}}else{if(_0x15d732[_0x1c1382(0x21a)]()){if(_0x410a10['includes'](_0x15d732[_0x1c1382(0x243)]))_0x1ab61e['push'](_0x3be262);else{const _0x9d91bf=a0_0x122b6c['extname'](_0x15d732['name'])[_0x1c1382(0x27e)]();if(_0x5b7d52['includes'](_0x9d91bf)){const _0x374b21=a0_0x122b6c[_0x1c1382(0x24d)](a0_0x122b6c[_0x1c1382(0x21c)](_0x3be262));(_0x374b21===_0x1c1382(0x22e)||_0x374b21==='k8s'||_0x374b21===_0x1c1382(0x20b)||_0x374b21===_0x1c1382(0x1f0))&&_0x1ab61e[_0x1c1382(0x27c)](_0x3be262);}}}}}};return await _0x590ce5(_0x30bcc4),_0x1ab61e;}['detectLanguage'](_0x2317b0){const _0xed913c=a0_0x248c67,_0x19b77b=a0_0x122b6c[_0xed913c(0x21e)](_0x2317b0)[_0xed913c(0x27e)]();return STATIC_ANALYSIS[_0xed913c(0x2d0)][_0x19b77b]||null;}async['detectFramework'](_0x3288b9,_0x52cddb){const _0x4cc5fd=a0_0x248c67;try{if(_0x52cddb===STATIC_ANALYSIS[_0x4cc5fd(0x293)]['JAVASCRIPT']||_0x52cddb===STATIC_ANALYSIS['LANGUAGE']['TYPESCRIPT'])return await this['detectJSFramework'](_0x3288b9);if(_0x52cddb===STATIC_ANALYSIS[_0x4cc5fd(0x293)]['PYTHON'])return await this[_0x4cc5fd(0x265)](_0x3288b9);return null;}catch(_0x20026b){return this['logger']?.[_0x4cc5fd(0x268)]('Framework\x20detection\x20failed',{'error':_0x20026b[_0x4cc5fd(0x286)]}),null;}}async['detectJSFramework'](_0xbcaac){const _0x795eba=a0_0x248c67;try{const _0xcf5aad=a0_0x122b6c[_0x795eba(0x212)](_0xbcaac,STATIC_ANALYSIS['FRAMEWORK_MANIFESTS']['JAVASCRIPT']),_0x3c0469=await a0_0x429762[_0x795eba(0x269)](_0xcf5aad,'utf-8'),_0x19a0ec=JSON[_0x795eba(0x25e)](_0x3c0469),_0x45195e={..._0x19a0ec[_0x795eba(0x283)],..._0x19a0ec['devDependencies']};for(const [_0x34560a,_0x2387ed]of Object[_0x795eba(0x23c)](STATIC_ANALYSIS[_0x795eba(0x22f)])){if(_0x45195e[_0x2387ed])return _0x34560a['toLowerCase']();}return null;}catch(_0x4959bc){return null;}}async[a0_0x248c67(0x265)](_0x2066a7){const _0x203453=a0_0x248c67;try{const _0x4dde1a=a0_0x122b6c['join'](_0x2066a7,STATIC_ANALYSIS[_0x203453(0x207)][_0x203453(0x1ed)]),_0x560c1e=await a0_0x429762[_0x203453(0x269)](_0x4dde1a,_0x203453(0x200));for(const [_0x1305c7,_0x3b19b4]of Object[_0x203453(0x23c)](STATIC_ANALYSIS[_0x203453(0x266)])){if(_0x560c1e[_0x203453(0x27e)]()[_0x203453(0x278)](_0x3b19b4))return _0x1305c7['toLowerCase']();}return null;}catch(_0x25339a){try{const _0x3dd30e=a0_0x122b6c['join'](_0x2066a7,STATIC_ANALYSIS[_0x203453(0x207)][_0x203453(0x20f)]),_0x45e681=await a0_0x429762['readFile'](_0x3dd30e,_0x203453(0x200));for(const [_0x259d41,_0x5be25d]of Object['entries'](STATIC_ANALYSIS[_0x203453(0x266)])){if(_0x45e681['toLowerCase']()['includes'](_0x5be25d))return _0x259d41['toLowerCase']();}}catch{}return null;}}async[a0_0x248c67(0x1f8)](_0x54c18f,_0x43a8c9){const _0xd779b8=[],_0x12a931=_0x43a8c9||'**/*.{js,jsx,mjs,cjs,ts,tsx,py,css,scss,sass,less}',_0x5465fc=_0xfa5c55=>{const _0x2ef6f6=a0_0x5d03,_0x492d34=[],_0x550e8c=_0xfa5c55['match'](/\*\.\{([^}]+)\}/);if(_0x550e8c){const _0x3a35cd=_0x550e8c[0x1][_0x2ef6f6(0x275)](',')[_0x2ef6f6(0x279)](_0x41edf8=>_0x41edf8['trim']());_0x3a35cd['forEach'](_0x27b409=>_0x492d34['push'](_0x27b409[_0x2ef6f6(0x2a0)]('.')?_0x27b409:'.'+_0x27b409));}else{const _0x3dfddf=_0xfa5c55['match'](/\*\.([a-z]+)$/i);if(_0x3dfddf){const _0x790028=_0x3dfddf[0x1];_0x492d34[_0x2ef6f6(0x27c)](_0x790028[_0x2ef6f6(0x2a0)]('.')?_0x790028:'.'+_0x790028);}}if(_0x492d34[_0x2ef6f6(0x201)]===0x0)return null;return _0x492d34;},_0x3a1b74=_0x5465fc(_0x12a931),_0x514fe1=async _0x343a67=>{const _0x56fa11=a0_0x5d03,_0x2274e2=await a0_0x429762['readdir'](_0x343a67,{'withFileTypes':!![]});for(const _0xb75d0b of _0x2274e2){const _0x416298=a0_0x122b6c['join'](_0x343a67,_0xb75d0b[_0x56fa11(0x243)]);if(_0xb75d0b['isDirectory']())!['node_modules',_0x56fa11(0x298),_0x56fa11(0x261),'build','__pycache__','.venv',_0x56fa11(0x2b2)][_0x56fa11(0x278)](_0xb75d0b[_0x56fa11(0x243)])&&await _0x514fe1(_0x416298);else{if(_0xb75d0b[_0x56fa11(0x21a)]()){const _0x53d0ba=a0_0x122b6c['extname'](_0xb75d0b['name'])['toLowerCase']();STATIC_ANALYSIS['EXTENSION_TO_LANGUAGE'][_0x53d0ba]&&((_0x3a1b74===null||_0x3a1b74['includes'](_0x53d0ba))&&_0xd779b8['push'](_0x416298));}}}};return await _0x514fe1(_0x54c18f),_0xd779b8;}async['getAnalyzer'](_0x187caf){const _0x428899=a0_0x248c67;try{if(_0x187caf===STATIC_ANALYSIS['LANGUAGE'][_0x428899(0x29f)]){if(!this['analyzers']['javascript']){const {default:_0x4a50ea}=await import('../analyzers/JavaScriptAnalyzer.js');this[_0x428899(0x24e)][_0x428899(0x253)]=new _0x4a50ea(this[_0x428899(0x1f5)]);}return this[_0x428899(0x24e)][_0x428899(0x253)];}if(_0x187caf===STATIC_ANALYSIS[_0x428899(0x293)][_0x428899(0x227)]){if(!this[_0x428899(0x24e)]['typescript']){const {default:_0x4a2942}=await import('../analyzers/TypeScriptAnalyzer.js');this[_0x428899(0x24e)]['typescript']=new _0x4a2942(this['logger']);}return this[_0x428899(0x24e)][_0x428899(0x276)];}if(_0x187caf===STATIC_ANALYSIS[_0x428899(0x293)]['PYTHON']){if(!this['analyzers'][_0x428899(0x25f)]){const {default:_0x1cfe8e}=await import(_0x428899(0x27f));this['analyzers'][_0x428899(0x25f)]=new _0x1cfe8e(this[_0x428899(0x1f5)]);}return this['analyzers']['python'];}if(_0x187caf===STATIC_ANALYSIS[_0x428899(0x293)]['CSS']||_0x187caf===STATIC_ANALYSIS['LANGUAGE']['SCSS']||_0x187caf===STATIC_ANALYSIS['LANGUAGE'][_0x428899(0x281)]){if(!this[_0x428899(0x24e)]['css']){const {default:_0x43bf70}=await import('../analyzers/CSSAnalyzer.js');this[_0x428899(0x24e)]['css']=new _0x43bf70(this[_0x428899(0x1f5)]);}return this[_0x428899(0x24e)]['css'];}return null;}catch(_0x23e336){return this[_0x428899(0x1f5)]?.['error'](_0x428899(0x2af),{'language':_0x187caf,'error':_0x23e336['message']}),null;}}async['getESLintAnalyzer'](){const _0x20dbf1=a0_0x248c67;if(!this['analyzers'][_0x20dbf1(0x236)]){const {default:_0x27c1ad}=await import(_0x20dbf1(0x206));this[_0x20dbf1(0x24e)][_0x20dbf1(0x236)]=new _0x27c1ad(this['logger']);}return this['analyzers']['eslint'];}async[a0_0x248c67(0x2bd)](){const _0x22a0bd=a0_0x248c67;if(!this[_0x22a0bd(0x289)][_0x22a0bd(0x28e)]){const {default:_0x5183e2}=await import(_0x22a0bd(0x263));this[_0x22a0bd(0x289)]['prettier']=new _0x5183e2(this['logger']);}return this[_0x22a0bd(0x289)]['prettier'];}async['getSecurityAnalyzer'](){const _0x52dd23=a0_0x248c67;if(!this[_0x52dd23(0x24e)]['security']){const {default:_0x17b2ac}=await import(_0x52dd23(0x244));this['analyzers']['security']=new _0x17b2ac(this[_0x52dd23(0x1f5)]);}return this['analyzers']['security'];}async[a0_0x248c67(0x2b8)](){const _0x566406=a0_0x248c67;if(!this[_0x566406(0x24e)][_0x566406(0x232)]){const {default:_0x487bcf}=await import(_0x566406(0x28b));this['analyzers']['config']=new _0x487bcf(this[_0x566406(0x1f5)]);}return this[_0x566406(0x24e)]['config'];}[a0_0x248c67(0x27b)](_0x411fb2,_0x9def43){const _0x3e307=a0_0x248c67;if(_0x9def43[_0x3e307(0x24b)]){_0x411fb2['totalFiles']++;const _0x3246a7=_0x9def43[_0x3e307(0x217)]?.['length']||0x0,_0x303a21=_0x9def43['errors']?.['length']||0x0,_0x391570=_0x9def43[_0x3e307(0x1f9)]?.['length']||0x0,_0x21fdd4=_0x9def43[_0x3e307(0x215)]?.['length']||0x0;_0x411fb2[_0x3e307(0x2a7)]===undefined&&(_0x411fb2[_0x3e307(0x2a7)]=0x0);_0x411fb2['totalCritical']+=_0x3246a7,_0x411fb2['totalErrors']+=_0x303a21,_0x411fb2[_0x3e307(0x2bf)]+=_0x391570,_0x411fb2['totalInfo']+=_0x21fdd4;(_0x3246a7>0x0||_0x303a21>0x0)&&_0x411fb2['filesWithErrors']++;_0x9def43[_0x3e307(0x2a5)]&&(_0x411fb2['filesByLanguage'][_0x9def43[_0x3e307(0x2a5)]]=(_0x411fb2['filesByLanguage'][_0x9def43[_0x3e307(0x2a5)]]||0x0)+0x1);const _0x2e915f=[..._0x9def43[_0x3e307(0x217)]||[],..._0x9def43['errors']||[],..._0x9def43[_0x3e307(0x1f9)]||[]];for(const _0x4da050 of _0x2e915f){_0x4da050[_0x3e307(0x2b4)]&&(_0x411fb2[_0x3e307(0x2c2)][_0x4da050['category']]=(_0x411fb2[_0x3e307(0x2c2)][_0x4da050[_0x3e307(0x2b4)]]||0x0)+0x1);}}}[a0_0x248c67(0x2ca)](_0x1e4555){const _0xbf7818=a0_0x248c67;return a0_0x46991f['createHash']('sha256')[_0xbf7818(0x240)](_0x1e4555)[_0xbf7818(0x1fe)]('hex')[_0xbf7818(0x231)](0x0,0x10);}['getPerformanceMetrics'](){const _0x5bd62f=a0_0x248c67,_0x270199=this[_0x5bd62f(0x2a8)][_0x5bd62f(0x1f3)]>0x0?this['metrics']['cacheHits']/this[_0x5bd62f(0x2a8)]['totalAnalyses']*0x64:0x0,_0x4562d1=this['metrics'][_0x5bd62f(0x21d)]>0x0?this[_0x5bd62f(0x2a8)][_0x5bd62f(0x221)]/this['metrics'][_0x5bd62f(0x21d)]:0x0;return{...this['metrics'],'cacheHitRate':Math['round'](_0x270199*0xa)/0xa,'averageAnalysisTime':Math[_0x5bd62f(0x287)](_0x4562d1),'cacheSize':this[_0x5bd62f(0x22c)]['size']};}[a0_0x248c67(0x21f)](){const _0x3513c9=a0_0x248c67;this[_0x3513c9(0x2a8)]={'totalAnalyses':0x0,'cacheHits':0x0,'cacheMisses':0x0,'totalAnalysisTime':0x0,'filesAnalyzed':0x0,'parallelBatches':0x0};}[a0_0x248c67(0x24c)](){const _0x380067=a0_0x248c67;this['analysisCache']['clear'](),this['logger']?.[_0x380067(0x268)](_0x380067(0x26a));}[a0_0x248c67(0x270)](){const _0x53b390=a0_0x248c67;return[_0x53b390(0x218),_0x53b390(0x29b),_0x53b390(0x226),_0x53b390(0x23f),'security-scan',_0x53b390(0x28c),_0x53b390(0x20d),'validate-config-directory'];}[a0_0x248c67(0x291)](){const _0x55b6dd=a0_0x248c67;return{'type':_0x55b6dd(0x1f7),'properties':{'actions':{'type':_0x55b6dd(0x28f),'minItems':0x1,'items':{'type':'object','properties':{'type':{'type':_0x55b6dd(0x2b9),'enum':this[_0x55b6dd(0x270)]()},'filePath':{'type':'string'},'directory':{'type':'string'},'pattern':{'type':'string'},'includeWarnings':{'type':'boolean'},'maxErrors':{'type':_0x55b6dd(0x2cd)}},'required':['type']}}},'required':['actions']};}}export default StaticAnalysisTool;
|