@loxia-labs/loxia-autopilot-one 1.0.13 → 1.0.14

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.
Files changed (118) hide show
  1. package/README.md +7 -3
  2. package/bin/cli.js +1 -1
  3. package/bin/loxia-terminal-v2.js +1 -1
  4. package/bin/loxia-terminal.js +1 -1
  5. package/bin/start-with-terminal.js +1 -1
  6. package/package.json +1 -1
  7. package/scripts/install-scanners.js +1 -1
  8. package/src/analyzers/CSSAnalyzer.js +1 -1
  9. package/src/analyzers/ConfigValidator.js +1 -1
  10. package/src/analyzers/ESLintAnalyzer.js +1 -1
  11. package/src/analyzers/JavaScriptAnalyzer.js +1 -1
  12. package/src/analyzers/PrettierFormatter.js +1 -1
  13. package/src/analyzers/PythonAnalyzer.js +1 -1
  14. package/src/analyzers/SecurityAnalyzer.js +1 -1
  15. package/src/analyzers/TypeScriptAnalyzer.js +1 -1
  16. package/src/analyzers/codeCloneDetector/analyzer.js +1 -1
  17. package/src/analyzers/codeCloneDetector/detector.js +1 -1
  18. package/src/analyzers/codeCloneDetector/index.js +1 -1
  19. package/src/analyzers/codeCloneDetector/parser.js +1 -1
  20. package/src/analyzers/codeCloneDetector/reporter.js +1 -1
  21. package/src/analyzers/codeCloneDetector/scanner.js +1 -1
  22. package/src/core/agentPool.js +1 -1
  23. package/src/core/agentScheduler.js +1 -1
  24. package/src/core/contextManager.js +1 -1
  25. package/src/core/messageProcessor.js +1 -1
  26. package/src/core/orchestrator.js +1 -1
  27. package/src/core/stateManager.js +1 -1
  28. package/src/index.js +1 -1
  29. package/src/interfaces/cli.js +1 -1
  30. package/src/interfaces/terminal/__tests__/smoke/advancedFeatures.test.js +1 -1
  31. package/src/interfaces/terminal/__tests__/smoke/agentControl.test.js +1 -1
  32. package/src/interfaces/terminal/__tests__/smoke/agents.test.js +1 -1
  33. package/src/interfaces/terminal/__tests__/smoke/components.test.js +1 -1
  34. package/src/interfaces/terminal/__tests__/smoke/connection.test.js +1 -1
  35. package/src/interfaces/terminal/__tests__/smoke/enhancements.test.js +1 -1
  36. package/src/interfaces/terminal/__tests__/smoke/imports.test.js +1 -1
  37. package/src/interfaces/terminal/__tests__/smoke/messages.test.js +1 -1
  38. package/src/interfaces/terminal/__tests__/smoke/tools.test.js +1 -1
  39. package/src/interfaces/terminal/api/apiClient.js +1 -1
  40. package/src/interfaces/terminal/api/messageRouter.js +1 -1
  41. package/src/interfaces/terminal/api/session.js +1 -1
  42. package/src/interfaces/terminal/api/websocket.js +1 -1
  43. package/src/interfaces/terminal/components/AgentCreator.js +1 -1
  44. package/src/interfaces/terminal/components/AgentEditor.js +1 -1
  45. package/src/interfaces/terminal/components/AgentSwitcher.js +1 -1
  46. package/src/interfaces/terminal/components/ErrorBoundary.js +1 -1
  47. package/src/interfaces/terminal/components/ErrorPanel.js +1 -1
  48. package/src/interfaces/terminal/components/Header.js +1 -1
  49. package/src/interfaces/terminal/components/HelpPanel.js +1 -1
  50. package/src/interfaces/terminal/components/InputBox.js +1 -1
  51. package/src/interfaces/terminal/components/Layout.js +1 -1
  52. package/src/interfaces/terminal/components/LoadingSpinner.js +1 -1
  53. package/src/interfaces/terminal/components/MessageList.js +1 -1
  54. package/src/interfaces/terminal/components/MultilineTextInput.js +1 -1
  55. package/src/interfaces/terminal/components/SearchPanel.js +1 -1
  56. package/src/interfaces/terminal/components/SettingsPanel.js +1 -1
  57. package/src/interfaces/terminal/components/StatusBar.js +1 -1
  58. package/src/interfaces/terminal/components/TextInput.js +1 -1
  59. package/src/interfaces/terminal/config/agentEditorConstants.js +1 -1
  60. package/src/interfaces/terminal/config/constants.js +1 -1
  61. package/src/interfaces/terminal/index.js +1 -1
  62. package/src/interfaces/terminal/state/useAgentControl.js +1 -1
  63. package/src/interfaces/terminal/state/useAgents.js +1 -1
  64. package/src/interfaces/terminal/state/useConnection.js +1 -1
  65. package/src/interfaces/terminal/state/useMessages.js +1 -1
  66. package/src/interfaces/terminal/state/useTools.js +1 -1
  67. package/src/interfaces/terminal/utils/debugLogger.js +1 -1
  68. package/src/interfaces/terminal/utils/settingsStorage.js +1 -1
  69. package/src/interfaces/terminal/utils/theme.js +1 -1
  70. package/src/interfaces/webServer.js +1 -1
  71. package/src/modules/fileExplorer/controller.js +1 -1
  72. package/src/modules/fileExplorer/index.js +1 -1
  73. package/src/modules/fileExplorer/middleware.js +1 -1
  74. package/src/modules/fileExplorer/routes.js +1 -1
  75. package/src/services/agentActivityService.js +1 -0
  76. package/src/services/aiService.js +1 -1
  77. package/src/services/apiKeyManager.js +1 -1
  78. package/src/services/benchmarkService.js +1 -1
  79. package/src/services/budgetService.js +1 -1
  80. package/src/services/contextInjectionService.js +1 -1
  81. package/src/services/conversationCompactionService.js +1 -1
  82. package/src/services/errorHandler.js +1 -1
  83. package/src/services/fileAttachmentService.js +1 -1
  84. package/src/services/modelRouterService.js +1 -1
  85. package/src/services/modelsService.js +1 -1
  86. package/src/services/qualityInspector.js +1 -1
  87. package/src/services/tokenCountingService.js +1 -1
  88. package/src/tools/agentCommunicationTool.js +1 -1
  89. package/src/tools/agentDelayTool.js +1 -1
  90. package/src/tools/asyncToolManager.js +1 -1
  91. package/src/tools/baseTool.js +1 -1
  92. package/src/tools/browserTool.js +1 -1
  93. package/src/tools/cloneDetectionTool.js +1 -1
  94. package/src/tools/dependencyResolverTool.js +1 -1
  95. package/src/tools/fileContentReplaceTool.js +1 -1
  96. package/src/tools/fileSystemTool.js +1 -1
  97. package/src/tools/fileTreeTool.js +1 -1
  98. package/src/tools/imageTool.js +1 -1
  99. package/src/tools/importAnalyzerTool.js +1 -1
  100. package/src/tools/jobDoneTool.js +1 -1
  101. package/src/tools/seekTool.js +1 -1
  102. package/src/tools/staticAnalysisTool.js +1 -1
  103. package/src/tools/taskManagerTool.js +1 -1
  104. package/src/tools/terminalTool.js +1 -1
  105. package/src/tools/webTool.js +1 -1
  106. package/src/types/agent.js +1 -1
  107. package/src/types/contextReference.js +1 -1
  108. package/src/types/conversation.js +1 -1
  109. package/src/types/toolCommand.js +1 -1
  110. package/src/utilities/attachmentValidator.js +1 -1
  111. package/src/utilities/configManager.js +1 -1
  112. package/src/utilities/constants.js +1 -1
  113. package/src/utilities/directoryAccessManager.js +1 -1
  114. package/src/utilities/fileProcessor.js +1 -1
  115. package/src/utilities/logger.js +1 -1
  116. package/src/utilities/tagParser.js +1 -1
  117. package/src/utilities/toolConstants.js +1 -1
  118. package/src/utilities/userDataDir.js +1 -1
@@ -1 +1 @@
1
- function a0_0x59c1(){const _0x589637=['odmYodm5r3v1shPv','lMvZBgLUDhjJlMPZB24','CgfYC2vYt3b0Aw9UCW','BwvZC2fNzxm','DNvL','q0furuDpuLK','BM8TDw5YzwfJAgfIBgu','zM9YBwf0twvZC2fNzq','z2v0rvnmAw50sw5ZDgfUy2u','mti0mZm5oeL3yuPovG','uevsrK9stufoq0u','EhnZ','C2vJDxjPDhK','zxnSAw50','Bwf4','zxH0zw5KCW','ywnJzxnZ','Bg9Nz2vY','lMvZBgLUDhjJlMnQCW','zxnSAw50oNjLy29TBwvUzgvK','zMLSDgvY','qKvtvf9quKfdveLdrq','zxjYB3i','zML4','rvjst1i','B3v0Chv0','ywrKzwq','mZbgy25cDvC','AM9PBG','v0fstKLorW','zML4ywjSzvDHCM5PBMDdB3vUDa','u0vdvvjjvfK','BwvZC2fNzq','C3bSAxq','zw5Kq29SDw1U','u0vwrvjjvfK','C2v2zxjPDhK','y2f0zwDVCML6zvj1Bgu','zxnSAw50lMnVBMzPzY5QCW','Bw9KAwzPzwq','Aw5JBhvKzxm','BgLUDfrLEhq','mKzJz0Lswq','lMPZEa','BgvUz3rO','mJq1CgDxue1y','nJu2ntCXvK5QvNPt','ndGWmJHmr1Dct2y','z2v0u3vWCg9YDgvKrxH0zw5ZAw9UCW','zML4ywjSzuvYCM9Yq291BNq','D2fYBG','mZe0nZe5AMDyEvLd','mJe1mdqYneDKzMzdta','lMPZ','BM8TDw5Kzwy','lMnQCW','BM8TzxzHBa','rvnmAw50igfUywX5C2LZignVBxbSzxrLza','su1qt1ju','C2v0DgLUz3m','z2v0rvnmAw50q29UzMLN','CgvYzM9YBwfUy2u','lM1QCW','u1rzteu','ywX3yxLZ','mZiWmZm3oxjhBNvJBW','BgLUzq'];a0_0x59c1=function(){return _0x589637;};return a0_0x59c1();}const a0_0x5e6a11=a0_0x2c00;(function(_0x57a0f0,_0x4ef4b1){const _0x3ab6b3=a0_0x2c00,_0x2c3265=_0x57a0f0();while(!![]){try{const _0x2a5804=parseInt(_0x3ab6b3(0x113))/0x1*(-parseInt(_0x3ab6b3(0x10a))/0x2)+-parseInt(_0x3ab6b3(0x10e))/0x3+-parseInt(_0x3ab6b3(0x10f))/0x4*(parseInt(_0x3ab6b3(0x10d))/0x5)+parseInt(_0x3ab6b3(0x12c))/0x6+-parseInt(_0x3ab6b3(0x123))/0x7+parseInt(_0x3ab6b3(0x114))/0x8+-parseInt(_0x3ab6b3(0x121))/0x9*(-parseInt(_0x3ab6b3(0x13e))/0xa);if(_0x2a5804===_0x4ef4b1)break;else _0x2c3265['push'](_0x2c3265['shift']());}catch(_0x1e2b9d){_0x2c3265['push'](_0x2c3265['shift']());}}}(a0_0x59c1,0x49f55));import{ESLint}from'eslint';import a0_0x120887 from'path';import a0_0x37a3cf from'fs/promises';function a0_0x2c00(_0xf2e3e8,_0x59bf14){_0xf2e3e8=_0xf2e3e8-0x108;const _0x59c17e=a0_0x59c1();let _0x2c0024=_0x59c17e[_0xf2e3e8];if(a0_0x2c00['fFppdb']===undefined){var _0x57146b=function(_0x1d0039){const _0x2b99e4='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x120887='',_0x37a3cf='';for(let _0x21c319=0x0,_0x75177a,_0x4d5ac1,_0x476719=0x0;_0x4d5ac1=_0x1d0039['charAt'](_0x476719++);~_0x4d5ac1&&(_0x75177a=_0x21c319%0x4?_0x75177a*0x40+_0x4d5ac1:_0x4d5ac1,_0x21c319++%0x4)?_0x120887+=String['fromCharCode'](0xff&_0x75177a>>(-0x2*_0x21c319&0x6)):0x0){_0x4d5ac1=_0x2b99e4['indexOf'](_0x4d5ac1);}for(let _0xd4aa06=0x0,_0x2fae67=_0x120887['length'];_0xd4aa06<_0x2fae67;_0xd4aa06++){_0x37a3cf+='%'+('00'+_0x120887['charCodeAt'](_0xd4aa06)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x37a3cf);};a0_0x2c00['qtrImm']=_0x57146b,a0_0x2c00['XMrsCP']={},a0_0x2c00['fFppdb']=!![];}const _0x7fdfc3=_0x59c17e[0x0],_0x13b7fd=_0xf2e3e8+_0x7fdfc3,_0x3db9bf=a0_0x2c00['XMrsCP'][_0x13b7fd];return!_0x3db9bf?(_0x2c0024=a0_0x2c00['qtrImm'](_0x2c0024),a0_0x2c00['XMrsCP'][_0x13b7fd]=_0x2c0024):_0x2c0024=_0x3db9bf,_0x2c0024;}import{STATIC_ANALYSIS}from'../utilities/constants.js';class ESLintAnalyzer{constructor(_0x21c319=null){const _0x3de43e=a0_0x2c00;this[_0x3de43e(0x134)]=_0x21c319,this['eslintCache']=new Map();}async['analyze'](_0x75177a,_0x4d5ac1,_0x476719={}){const _0x531511=a0_0x2c00;try{const _0xd4aa06=await this[_0x531511(0x12b)](_0x476719),_0x2fae67=await _0xd4aa06[_0x531511(0x109)](_0x4d5ac1,{'filePath':_0x75177a,'warnIgnored':![]}),_0x1db662=[];if(_0x2fae67&&_0x2fae67['length']>0x0){const _0x302a0b=_0x2fae67[0x0];for(const _0x536321 of _0x302a0b[_0x531511(0x126)]){_0x1db662['push'](this['formatMessage'](_0x536321,_0x75177a));}}return this[_0x531511(0x134)]?.['debug'](_0x531511(0x119),{'file':_0x75177a,'totalDiagnostics':_0x1db662[_0x531511(0x10c)],'errors':_0x1db662[_0x531511(0x137)](_0x1ecab2=>_0x1ecab2['severity']===STATIC_ANALYSIS[_0x531511(0x146)]['ERROR'])['length'],'warnings':_0x1db662[_0x531511(0x137)](_0x55cb84=>_0x55cb84[_0x531511(0x147)]===STATIC_ANALYSIS['SEVERITY'][_0x531511(0x140)])[_0x531511(0x10c)]}),_0x1db662;}catch(_0x495ec7){return this['logger']?.['error']('ESLint\x20analysis\x20failed',{'file':_0x75177a,'error':_0x495ec7[_0x531511(0x143)]}),[];}}async[a0_0x5e6a11(0x13a)](_0x6df84f,_0x1c80cb,_0x3230d2={}){const _0x84a1c8=a0_0x5e6a11;try{const _0x412387=await this['getESLintInstance']({..._0x3230d2,'fix':!![]}),_0x5ea442=await _0x412387[_0x84a1c8(0x109)](_0x1c80cb,{'filePath':_0x6df84f,'warnIgnored':![]});if(_0x5ea442&&_0x5ea442['length']>0x0){const _0x30df7e=_0x5ea442[0x0];return{'fixed':_0x30df7e[_0x84a1c8(0x13c)]!==undefined,'content':_0x30df7e[_0x84a1c8(0x13c)]||_0x1c80cb,'fixedCount':_0x30df7e[_0x84a1c8(0x111)]+_0x30df7e[_0x84a1c8(0x141)],'remainingErrors':_0x30df7e['errorCount']-_0x30df7e['fixableErrorCount'],'remainingWarnings':_0x30df7e['warningCount']-_0x30df7e[_0x84a1c8(0x141)],'changes':_0x30df7e[_0x84a1c8(0x13c)]?this['describeChanges'](_0x1c80cb,_0x30df7e['output']):[]};}return{'fixed':![],'content':_0x1c80cb,'fixedCount':0x0,'remainingErrors':0x0,'remainingWarnings':0x0,'changes':[]};}catch(_0x4dcb53){this['logger']?.['error']('ESLint\x20fix\x20failed',{'file':_0x6df84f,'error':_0x4dcb53['message']});throw new Error('ESLint\x20fix\x20failed:\x20'+_0x4dcb53['message']);}}async[a0_0x5e6a11(0x12b)](_0x162b97={}){const {workingDir:_0x3eabd4,fix:fix=![],framework:_0x51311c}=_0x162b97,_0x4fda3f=await this['getESLintConfig'](_0x3eabd4,_0x51311c),_0x145e54=new ESLint({'fix':fix,'useEslintrc':!![],'overrideConfig':_0x4fda3f,'errorOnUnmatchedPattern':![]});return _0x145e54;}async[a0_0x5e6a11(0x11c)](_0x90411a,_0x34593f){const _0x4e34c1=a0_0x5e6a11,_0x1f8aa4={'env':{'browser':!![],'es2021':!![],'node':!![]},'parserOptions':{'ecmaVersion':'latest','sourceType':'module'},'rules':{'no-unused-vars':'warn','no-undef':_0x4e34c1(0x139),'no-console':'off','semi':[_0x4e34c1(0x112),_0x4e34c1(0x120)],'quotes':[_0x4e34c1(0x112),'single',{'avoidEscape':!![]}]}};if(_0x34593f==='react')_0x1f8aa4[_0x4e34c1(0x132)]=[_0x4e34c1(0x136)],_0x1f8aa4[_0x4e34c1(0x125)]['ecmaFeatures']={'jsx':!![]},_0x1f8aa4[_0x4e34c1(0x11b)]={'react':{'version':'detect'}};else _0x34593f===_0x4e34c1(0x127)?_0x1f8aa4['extends']=[_0x4e34c1(0x136)]:_0x1f8aa4[_0x4e34c1(0x132)]=['eslint:recommended'];if(_0x90411a){const _0x52c0b8=['.eslintrc.js',_0x4e34c1(0x135),_0x4e34c1(0x124),_0x4e34c1(0x149)];for(const _0x393441 of _0x52c0b8){try{const _0x303c81=a0_0x120887[_0x4e34c1(0x13f)](_0x90411a,_0x393441);return await a0_0x37a3cf[_0x4e34c1(0x133)](_0x303c81),this['logger']?.['debug']('Found\x20ESLint\x20config',{'configFile':_0x393441}),{};}catch{}}}return _0x1f8aa4;}[a0_0x5e6a11(0x12a)](_0x274ea3,_0x4b6174){const _0x54444b=a0_0x5e6a11;return{'file':_0x4b6174,'line':_0x274ea3[_0x54444b(0x122)]||0x1,'column':_0x274ea3['column']||0x1,'endLine':_0x274ea3['endLine'],'endColumn':_0x274ea3[_0x54444b(0x145)],'severity':_0x274ea3['severity']===0x2?STATIC_ANALYSIS['SEVERITY'][_0x54444b(0x13b)]:STATIC_ANALYSIS['SEVERITY'][_0x54444b(0x140)],'rule':_0x274ea3['ruleId']||_0x54444b(0x130),'message':_0x274ea3[_0x54444b(0x143)],'category':this[_0x54444b(0x148)](_0x274ea3['ruleId']),'fixable':_0x274ea3['fix']!==undefined,'source':_0x54444b(0x130)};}[a0_0x5e6a11(0x148)](_0x3347e2){const _0x42d0ca=a0_0x5e6a11;if(!_0x3347e2)return STATIC_ANALYSIS[_0x42d0ca(0x128)]['STYLE'];if(_0x3347e2['includes'](_0x42d0ca(0x12f))||_0x3347e2[_0x42d0ca(0x108)](_0x42d0ca(0x12e))||_0x3347e2===_0x42d0ca(0x118)||_0x3347e2==='no-implied-eval')return STATIC_ANALYSIS['CATEGORY'][_0x42d0ca(0x142)];if(_0x3347e2[_0x42d0ca(0x108)](_0x42d0ca(0x11d))||_0x3347e2==='no-await-in-loop'||_0x3347e2==='prefer-promise-reject-errors')return STATIC_ANALYSIS['CATEGORY'][_0x42d0ca(0x12d)];if(_0x3347e2[_0x42d0ca(0x108)]('import')||_0x3347e2===_0x42d0ca(0x116))return STATIC_ANALYSIS['CATEGORY'][_0x42d0ca(0x11a)];if(_0x3347e2['includes']('best-practices')||_0x3347e2==='no-unused-vars'||_0x3347e2===_0x42d0ca(0x129)||_0x3347e2==='no-var')return STATIC_ANALYSIS['CATEGORY'][_0x42d0ca(0x138)];return STATIC_ANALYSIS[_0x42d0ca(0x128)][_0x42d0ca(0x11f)];}['describeChanges'](_0x534c07,_0x4e1db6){const _0x41577d=a0_0x5e6a11,_0x46a6e8=[],_0x425d8d=_0x534c07['split']('\x0a'),_0x36b8f4=_0x4e1db6[_0x41577d(0x144)]('\x0a'),_0x1d3689=Math[_0x41577d(0x131)](_0x425d8d[_0x41577d(0x10c)],_0x36b8f4['length']);for(let _0x25a71f=0x0;_0x25a71f<_0x1d3689;_0x25a71f++){const _0x16fe45=_0x425d8d[_0x25a71f]||'',_0x2b2b80=_0x36b8f4[_0x25a71f]||'';_0x16fe45!==_0x2b2b80&&_0x46a6e8['push']({'line':_0x25a71f+0x1,'type':_0x16fe45&&_0x2b2b80?_0x41577d(0x14a):_0x16fe45?'removed':_0x41577d(0x13d),'original':_0x16fe45,'fixed':_0x2b2b80});}return _0x46a6e8;}[a0_0x5e6a11(0x110)](){const _0x52d77c=a0_0x5e6a11;return[_0x52d77c(0x115),_0x52d77c(0x10b),_0x52d77c(0x11e),_0x52d77c(0x117)];}['supportsAutoFix'](){return!![];}}export default ESLintAnalyzer;
1
+ const a0_0x3d0303=a0_0x366f;(function(_0x1c6825,_0x450635){const _0x43d3eb=a0_0x366f,_0x57b61b=_0x1c6825();while(!![]){try{const _0x1b3969=-parseInt(_0x43d3eb(0x147))/0x1*(-parseInt(_0x43d3eb(0x136))/0x2)+parseInt(_0x43d3eb(0x125))/0x3+-parseInt(_0x43d3eb(0x141))/0x4*(-parseInt(_0x43d3eb(0x12b))/0x5)+parseInt(_0x43d3eb(0x149))/0x6*(-parseInt(_0x43d3eb(0x13c))/0x7)+parseInt(_0x43d3eb(0x135))/0x8*(parseInt(_0x43d3eb(0x115))/0x9)+-parseInt(_0x43d3eb(0x122))/0xa+parseInt(_0x43d3eb(0x13d))/0xb*(-parseInt(_0x43d3eb(0x116))/0xc);if(_0x1b3969===_0x450635)break;else _0x57b61b['push'](_0x57b61b['shift']());}catch(_0x22bfca){_0x57b61b['push'](_0x57b61b['shift']());}}}(a0_0x361d,0x1b26b));import{ESLint}from'eslint';function a0_0x366f(_0x920103,_0xa66d1c){_0x920103=_0x920103-0x113;const _0x361d23=a0_0x361d();let _0x366f2d=_0x361d23[_0x920103];if(a0_0x366f['yjosSq']===undefined){var _0x136e62=function(_0x4ce2dc){const _0x532159='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4239b9='',_0x4a1faa='';for(let _0x262556=0x0,_0x3d7629,_0x79fb06,_0x1a4f71=0x0;_0x79fb06=_0x4ce2dc['charAt'](_0x1a4f71++);~_0x79fb06&&(_0x3d7629=_0x262556%0x4?_0x3d7629*0x40+_0x79fb06:_0x79fb06,_0x262556++%0x4)?_0x4239b9+=String['fromCharCode'](0xff&_0x3d7629>>(-0x2*_0x262556&0x6)):0x0){_0x79fb06=_0x532159['indexOf'](_0x79fb06);}for(let _0x38fcc4=0x0,_0x41117=_0x4239b9['length'];_0x38fcc4<_0x41117;_0x38fcc4++){_0x4a1faa+='%'+('00'+_0x4239b9['charCodeAt'](_0x38fcc4)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4a1faa);};a0_0x366f['jjUPHL']=_0x136e62,a0_0x366f['MgRPyY']={},a0_0x366f['yjosSq']=!![];}const _0x4c771a=_0x361d23[0x0],_0x1983c3=_0x920103+_0x4c771a,_0x4645aa=a0_0x366f['MgRPyY'][_0x1983c3];return!_0x4645aa?(_0x366f2d=a0_0x366f['jjUPHL'](_0x366f2d),a0_0x366f['MgRPyY'][_0x1983c3]=_0x366f2d):_0x366f2d=_0x4645aa,_0x366f2d;}import a0_0x4239b9 from'path';import a0_0x4a1faa from'fs/promises';import{STATIC_ANALYSIS}from'../utilities/constants.js';class ESLintAnalyzer{constructor(_0x262556=null){const _0x2094e0=a0_0x366f;this[_0x2094e0(0x150)]=_0x262556,this['eslintCache']=new Map();}async[a0_0x3d0303(0x134)](_0x3d7629,_0x79fb06,_0x1a4f71={}){const _0x32d0bd=a0_0x3d0303;try{const _0x38fcc4=await this['getESLintInstance'](_0x1a4f71),_0x41117=await _0x38fcc4['lintText'](_0x79fb06,{'filePath':_0x3d7629,'warnIgnored':![]}),_0x4f4512=[];if(_0x41117&&_0x41117['length']>0x0){const _0x3b74e6=_0x41117[0x0];for(const _0x1aa1ea of _0x3b74e6[_0x32d0bd(0x120)]){_0x4f4512[_0x32d0bd(0x14b)](this[_0x32d0bd(0x137)](_0x1aa1ea,_0x3d7629));}}return this['logger']?.[_0x32d0bd(0x132)](_0x32d0bd(0x148),{'file':_0x3d7629,'totalDiagnostics':_0x4f4512['length'],'errors':_0x4f4512[_0x32d0bd(0x12e)](_0x3b4729=>_0x3b4729['severity']===STATIC_ANALYSIS[_0x32d0bd(0x12d)][_0x32d0bd(0x114)])['length'],'warnings':_0x4f4512['filter'](_0xb5a608=>_0xb5a608[_0x32d0bd(0x11b)]===STATIC_ANALYSIS['SEVERITY'][_0x32d0bd(0x126)])['length']}),_0x4f4512;}catch(_0x3f7a59){return this['logger']?.[_0x32d0bd(0x146)](_0x32d0bd(0x121),{'file':_0x3d7629,'error':_0x3f7a59['message']}),[];}}async['fix'](_0x519e91,_0xb435db,_0x8dcfee={}){const _0xbd961b=a0_0x3d0303;try{const _0x1aab9f=await this['getESLintInstance']({..._0x8dcfee,'fix':!![]}),_0x5788e1=await _0x1aab9f[_0xbd961b(0x11e)](_0xb435db,{'filePath':_0x519e91,'warnIgnored':![]});if(_0x5788e1&&_0x5788e1['length']>0x0){const _0x27a4f5=_0x5788e1[0x0];return{'fixed':_0x27a4f5['output']!==undefined,'content':_0x27a4f5[_0xbd961b(0x143)]||_0xb435db,'fixedCount':_0x27a4f5[_0xbd961b(0x113)]+_0x27a4f5['fixableWarningCount'],'remainingErrors':_0x27a4f5[_0xbd961b(0x117)]-_0x27a4f5['fixableErrorCount'],'remainingWarnings':_0x27a4f5[_0xbd961b(0x129)]-_0x27a4f5['fixableWarningCount'],'changes':_0x27a4f5['output']?this['describeChanges'](_0xb435db,_0x27a4f5[_0xbd961b(0x143)]):[]};}return{'fixed':![],'content':_0xb435db,'fixedCount':0x0,'remainingErrors':0x0,'remainingWarnings':0x0,'changes':[]};}catch(_0x17f8cd){this['logger']?.[_0xbd961b(0x146)]('ESLint\x20fix\x20failed',{'file':_0x519e91,'error':_0x17f8cd['message']});throw new Error('ESLint\x20fix\x20failed:\x20'+_0x17f8cd[_0xbd961b(0x123)]);}}async['getESLintInstance'](_0xb3db22={}){const _0x332ec4=a0_0x3d0303,{workingDir:_0x23e278,fix:fix=![],framework:_0x2cdd28}=_0xb3db22,_0x2bf2f2=await this[_0x332ec4(0x127)](_0x23e278,_0x2cdd28),_0x38b819=new ESLint({'fix':fix,'useEslintrc':!![],'overrideConfig':_0x2bf2f2,'errorOnUnmatchedPattern':![]});return _0x38b819;}async[a0_0x3d0303(0x127)](_0x5e2ff3,_0x41c54a){const _0x564a04=a0_0x3d0303,_0xfdb0c8={'env':{'browser':!![],'es2021':!![],'node':!![]},'parserOptions':{'ecmaVersion':_0x564a04(0x124),'sourceType':'module'},'rules':{'no-unused-vars':_0x564a04(0x14d),'no-undef':'error','no-console':'off','semi':['warn','always'],'quotes':['warn',_0x564a04(0x138),{'avoidEscape':!![]}]}};if(_0x41c54a===_0x564a04(0x12c))_0xfdb0c8['extends']=[_0x564a04(0x13e)],_0xfdb0c8[_0x564a04(0x139)]['ecmaFeatures']={'jsx':!![]},_0xfdb0c8['settings']={'react':{'version':_0x564a04(0x13f)}};else _0x41c54a==='vue'?_0xfdb0c8['extends']=['eslint:recommended']:_0xfdb0c8['extends']=['eslint:recommended'];if(_0x5e2ff3){const _0x2f9112=['.eslintrc.js',_0x564a04(0x13b),_0x564a04(0x14c),_0x564a04(0x13a)];for(const _0x595e13 of _0x2f9112){try{const _0x38f5bd=a0_0x4239b9['join'](_0x5e2ff3,_0x595e13);return await a0_0x4a1faa['access'](_0x38f5bd),this[_0x564a04(0x150)]?.[_0x564a04(0x132)](_0x564a04(0x12f),{'configFile':_0x595e13}),{};}catch{}}}return _0xfdb0c8;}['formatMessage'](_0x4171c8,_0x5d7f78){const _0x42db7e=a0_0x3d0303;return{'file':_0x5d7f78,'line':_0x4171c8['line']||0x1,'column':_0x4171c8['column']||0x1,'endLine':_0x4171c8[_0x42db7e(0x118)],'endColumn':_0x4171c8[_0x42db7e(0x11c)],'severity':_0x4171c8[_0x42db7e(0x11b)]===0x2?STATIC_ANALYSIS['SEVERITY'][_0x42db7e(0x114)]:STATIC_ANALYSIS['SEVERITY'][_0x42db7e(0x126)],'rule':_0x4171c8[_0x42db7e(0x14e)]||_0x42db7e(0x11f),'message':_0x4171c8['message'],'category':this['categorizeRule'](_0x4171c8['ruleId']),'fixable':_0x4171c8['fix']!==undefined,'source':_0x42db7e(0x11f)};}[a0_0x3d0303(0x133)](_0xaf9dd7){const _0x16734f=a0_0x3d0303;if(!_0xaf9dd7)return STATIC_ANALYSIS['CATEGORY'][_0x16734f(0x14a)];if(_0xaf9dd7['includes']('security')||_0xaf9dd7['includes']('xss')||_0xaf9dd7==='no-eval'||_0xaf9dd7==='no-implied-eval')return STATIC_ANALYSIS[_0x16734f(0x145)][_0x16734f(0x142)];if(_0xaf9dd7['includes']('performance')||_0xaf9dd7==='no-await-in-loop'||_0xaf9dd7==='prefer-promise-reject-errors')return STATIC_ANALYSIS['CATEGORY'][_0x16734f(0x130)];if(_0xaf9dd7['includes']('import')||_0xaf9dd7===_0x16734f(0x14f))return STATIC_ANALYSIS[_0x16734f(0x145)][_0x16734f(0x128)];if(_0xaf9dd7['includes']('best-practices')||_0xaf9dd7==='no-unused-vars'||_0xaf9dd7===_0x16734f(0x11a)||_0xaf9dd7===_0x16734f(0x12a))return STATIC_ANALYSIS[_0x16734f(0x145)][_0x16734f(0x131)];return STATIC_ANALYSIS[_0x16734f(0x145)][_0x16734f(0x14a)];}['describeChanges'](_0x3f3330,_0x42e8f4){const _0x105f0a=a0_0x3d0303,_0xac666e=[],_0x111e59=_0x3f3330[_0x105f0a(0x144)]('\x0a'),_0x448291=_0x42e8f4['split']('\x0a'),_0x2c128b=Math['max'](_0x111e59['length'],_0x448291['length']);for(let _0x74e6ae=0x0;_0x74e6ae<_0x2c128b;_0x74e6ae++){const _0x2c2b79=_0x111e59[_0x74e6ae]||'',_0x418cb9=_0x448291[_0x74e6ae]||'';_0x2c2b79!==_0x418cb9&&_0xac666e[_0x105f0a(0x14b)]({'line':_0x74e6ae+0x1,'type':_0x2c2b79&&_0x418cb9?'modified':_0x2c2b79?'removed':'added','original':_0x2c2b79,'fixed':_0x418cb9});}return _0xac666e;}['getSupportedExtensions'](){const _0x1f3f6a=a0_0x3d0303;return[_0x1f3f6a(0x11d),_0x1f3f6a(0x119),'.mjs','.cjs'];}[a0_0x3d0303(0x140)](){return!![];}}function a0_0x361d(){const _0x75f09f=['v0fstKLorW','z2v0rvnmAw50q29UzMLN','su1qt1ju','D2fYBMLUz0nVDw50','BM8TDMfY','otCZntK1zwPKufre','CMvHy3q','u0vwrvjjvfK','zMLSDgvY','rM91BMqGrvnmAw50ignVBMzPzW','uevsrK9stufoq0u','qKvtvf9quKfdveLdrq','zgvIDwC','y2f0zwDVCML6zvj1Bgu','yw5HBhL6zq','nJCXmMziDgHYrW','mte5mNjIrwPiza','zM9YBwf0twvZC2fNzq','C2LUz2XL','CgfYC2vYt3b0Aw9UCW','zxnSAw50lMnVBMzPzY5QCW','lMvZBgLUDhjJlMnQCW','ndyWnJyZBLvMALbY','odu0mtvkB0PWzuK','zxnSAw50oNjLy29TBwvUzgvK','zgv0zwn0','C3vWCg9YDhnbDxrVrML4','nfHICMfsyG','u0vdvvjjvfK','B3v0Chv0','C3bSAxq','q0furuDpuLK','zxjYB3i','otHgBfnjEuW','rvnmAw50igfUywX5C2LZignVBxbSzxrLza','mtjtCg9WDKK','u1rzteu','ChvZAa','lMvZBgLUDhjJlMPZB24','D2fYBG','CNvSzuLK','BM8TDw5Kzwy','Bg9Nz2vY','zML4ywjSzuvYCM9Yq291BNq','rvjst1i','mZmZteTYtLjV','mtjqEfPKqxG','zxjYB3jdB3vUDa','zw5KtgLUzq','lMPZEa','BM8TDw5YzwfJAgfIBgu','C2v2zxjPDhK','zw5Kq29SDw1U','lMPZ','BgLUDfrLEhq','zxnSAw50','BwvZC2fNzxm','rvnmAw50igfUywX5C2LZigzHAwXLza','nJe4nZGWuLbRuunJ','BwvZC2fNzq','Bgf0zxn0','odq5mdzfsvHiBKW'];a0_0x361d=function(){return _0x75f09f;};return a0_0x361d();}export default ESLintAnalyzer;
@@ -1 +1 @@
1
- const a0_0x5fcd60=a0_0x4c3c;(function(_0x1ee33a,_0x4a2c0d){const _0x30a5db=a0_0x4c3c,_0x39a8a7=_0x1ee33a();while(!![]){try{const _0x295e30=parseInt(_0x30a5db(0x1d7))/0x1+-parseInt(_0x30a5db(0x1c7))/0x2+-parseInt(_0x30a5db(0x1dc))/0x3+parseInt(_0x30a5db(0x1d5))/0x4*(-parseInt(_0x30a5db(0x1e6))/0x5)+parseInt(_0x30a5db(0x1e5))/0x6*(-parseInt(_0x30a5db(0x1cb))/0x7)+-parseInt(_0x30a5db(0x1c0))/0x8+-parseInt(_0x30a5db(0x1cd))/0x9*(-parseInt(_0x30a5db(0x1b7))/0xa);if(_0x295e30===_0x4a2c0d)break;else _0x39a8a7['push'](_0x39a8a7['shift']());}catch(_0x33558c){_0x39a8a7['push'](_0x39a8a7['shift']());}}}(a0_0x5f4d,0x9f008));import a0_0x389b1c from'typescript';function a0_0x5f4d(){const _0x7f17ba=['Dw5RBM93BG','vfLqrq','u1Lovefy','CgfYC2veAwfNBM9ZDgLJCW','z2v0u2vTyw50AwneAwfNBM9ZDgLJCW','nZaXmMjrCLjLrq','z2v0tgLUzufUzenOyxjHy3rLCK9Mug9ZAxrPB24','nte4nJiYrvHSyw1o','y29TCgLSzxjpChrPB25Z','v2fYBMLUzW','uMvHy3q','BgLIlMqUDhm','mZm1mte5mMjTEgfjyW','u3LUDgf4s2LUza','BgLUzq','zMLSzu5HBwu','BgvUz3rO','z2v0u3rHCNq','zgvIDwC','yw5HBhL6zxiTzxjYB3i','u3LUDgf4igvYCM9Y','ndm4mdbgru9rs0C','nJu1z2vMC1LK','rgLHz25VC3rPy0nHDgvNB3j5','u0vwrvjjvfK','q0furuDpuLK','rvnozxH0','y2fUBM90igzPBMqGBw9KDwXL','tw9KDwXLs2LUza','yw5HBhL6zq','v0fstKLorW','mtuXmhj4q2jmuG','qw5HBhLZAxmGzMfPBgvKoIa','zM9YBwf0rgLHz25VC3rPyW','C3rHCNq','y3jLyxrLuhjVz3jHBq','BwvZC2fNzq','u3vNz2vZDgLVBG','ChvZAa','zMLSDgvY','otu3nJe4nhfeBhD4uG','u2nYAxb0vgfYz2v0','y2f0zwDVCNK','zgLYBMfTzq','zMLSzq','y2HHCMfJDgvY','rvjst1i','mtaXndq2nLDovKzgrG','Aw5JBhvKzxm','tgf0zxn0','Bg9Nz2vY','nZiXyLrgAMHK','C2v2zxjPDhK','mJm0nty3CgXSsu5P','y29Kzq','A2LUza'];a0_0x5f4d=function(){return _0x7f17ba;};return a0_0x5f4d();}import a0_0x2a30d7 from'path';import{STATIC_ANALYSIS}from'../utilities/constants.js';function a0_0x4c3c(_0x5443bc,_0x462109){_0x5443bc=_0x5443bc-0x1b3;const _0x5f4d57=a0_0x5f4d();let _0x4c3c7c=_0x5f4d57[_0x5443bc];if(a0_0x4c3c['uHdzJR']===undefined){var _0x499ce5=function(_0x474e9b){const _0x35f1a3='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x389b1c='',_0x2a30d7='';for(let _0x598987=0x0,_0x57b2ac,_0x1d722c,_0x18cfee=0x0;_0x1d722c=_0x474e9b['charAt'](_0x18cfee++);~_0x1d722c&&(_0x57b2ac=_0x598987%0x4?_0x57b2ac*0x40+_0x1d722c:_0x1d722c,_0x598987++%0x4)?_0x389b1c+=String['fromCharCode'](0xff&_0x57b2ac>>(-0x2*_0x598987&0x6)):0x0){_0x1d722c=_0x35f1a3['indexOf'](_0x1d722c);}for(let _0x8f6c9e=0x0,_0x24274c=_0x389b1c['length'];_0x8f6c9e<_0x24274c;_0x8f6c9e++){_0x2a30d7+='%'+('00'+_0x389b1c['charCodeAt'](_0x8f6c9e)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2a30d7);};a0_0x4c3c['ovgfkc']=_0x499ce5,a0_0x4c3c['xnOmwv']={},a0_0x4c3c['uHdzJR']=!![];}const _0x399e8a=_0x5f4d57[0x0],_0x25a9eb=_0x5443bc+_0x399e8a,_0x56d519=a0_0x4c3c['xnOmwv'][_0x25a9eb];return!_0x56d519?(_0x4c3c7c=a0_0x4c3c['ovgfkc'](_0x4c3c7c),a0_0x4c3c['xnOmwv'][_0x25a9eb]=_0x4c3c7c):_0x4c3c7c=_0x56d519,_0x4c3c7c;}class JavaScriptAnalyzer{constructor(_0x598987=null){const _0x151d68=a0_0x4c3c;this[_0x151d68(0x1ca)]=_0x598987,this['compilerOptions']={'allowJs':!![],'checkJs':!![],'noEmit':!![],'jsx':a0_0x389b1c['JsxEmit'][_0x151d68(0x1da)],'target':a0_0x389b1c[_0x151d68(0x1c1)][_0x151d68(0x1c9)],'module':a0_0x389b1c[_0x151d68(0x1b4)][_0x151d68(0x1ea)],'moduleResolution':a0_0x389b1c['ModuleResolutionKind']['NodeJs'],'esModuleInterop':!![],'skipLibCheck':!![],'strict':![],'noImplicitAny':![]};}async[a0_0x5fcd60(0x1b5)](_0x57b2ac,_0x1d722c,_0x18cfee={}){const _0x3b14d6=a0_0x5fcd60;try{const _0x8f6c9e=[],_0x24274c=a0_0x389b1c['createSourceFile'](_0x57b2ac,_0x1d722c,a0_0x389b1c['ScriptTarget']['Latest'],!![]),_0x91abb3=this['getSyntacticDiagnostics'](_0x24274c);_0x8f6c9e[_0x3b14d6(0x1be)](..._0x91abb3);const _0x2f9764=await this['getSemanticDiagnostics'](_0x57b2ac,_0x1d722c);return _0x8f6c9e['push'](..._0x2f9764),this['logger']?.['debug']('JavaScript\x20analysis\x20completed',{'file':_0x57b2ac,'totalDiagnostics':_0x8f6c9e[_0x3b14d6(0x1e0)],'errors':_0x8f6c9e[_0x3b14d6(0x1bf)](_0x26c7be=>_0x26c7be[_0x3b14d6(0x1cc)]===STATIC_ANALYSIS[_0x3b14d6(0x1e8)][_0x3b14d6(0x1c6)])['length'],'warnings':_0x8f6c9e['filter'](_0x18efb0=>_0x18efb0['severity']===STATIC_ANALYSIS['SEVERITY'][_0x3b14d6(0x1b6)])['length']}),_0x8f6c9e;}catch(_0x5d56a4){return this['logger']?.['error']('JavaScript\x20analysis\x20failed',{'file':_0x57b2ac,'error':_0x5d56a4['message']}),[{'file':_0x57b2ac,'line':0x0,'column':0x0,'severity':STATIC_ANALYSIS['SEVERITY']['ERROR'],'rule':_0x3b14d6(0x1e3),'message':_0x3b14d6(0x1b8)+_0x5d56a4[_0x3b14d6(0x1bc)],'category':STATIC_ANALYSIS['CATEGORY'][_0x3b14d6(0x1d2)]}];}}['getSyntacticDiagnostics'](_0x527f55){const _0x2a874d=a0_0x5fcd60,_0x4f5023=[],_0x2d652e=_0x19ab8f=>{const _0x1ed268=a0_0x4c3c;if(_0x19ab8f[_0x1ed268(0x1cf)]===a0_0x389b1c[_0x1ed268(0x1dd)]['Unknown']){const _0x261165=_0x527f55[_0x1ed268(0x1d6)](_0x19ab8f[_0x1ed268(0x1e1)]());_0x4f5023[_0x1ed268(0x1be)]({'file':_0x527f55[_0x1ed268(0x1df)],'line':_0x261165['line']+0x1,'column':_0x261165[_0x1ed268(0x1c5)]+0x1,'severity':STATIC_ANALYSIS[_0x1ed268(0x1e8)]['ERROR'],'rule':'syntax-error','message':_0x1ed268(0x1e4),'category':STATIC_ANALYSIS['CATEGORY']['SYNTAX'],'fixable':![]});}a0_0x389b1c['forEachChild'](_0x19ab8f,_0x2d652e);};_0x2d652e(_0x527f55);if(_0x527f55['parseDiagnostics']&&_0x527f55[_0x2a874d(0x1d3)][_0x2a874d(0x1e0)]>0x0)for(const _0xe47917 of _0x527f55[_0x2a874d(0x1d3)]){_0x4f5023['push'](this[_0x2a874d(0x1b9)](_0xe47917,_0x527f55));}return _0x4f5023;}async[a0_0x5fcd60(0x1d4)](_0x5f7bdc,_0x111eb5){const _0x31b14a=a0_0x5fcd60,_0x116a65=[];try{const _0xfa451d=a0_0x389b1c['createSourceFile'](_0x5f7bdc,_0x111eb5,a0_0x389b1c[_0x31b14a(0x1c1)][_0x31b14a(0x1c9)],!![]),_0x7193f3={'getSourceFile':_0x2b0d99=>{if(_0x2b0d99===_0x5f7bdc)return _0xfa451d;return undefined;},'getDefaultLibFileName':()=>_0x31b14a(0x1db),'writeFile':()=>{},'getCurrentDirectory':()=>a0_0x2a30d7[_0x31b14a(0x1c3)](_0x5f7bdc),'getDirectories':()=>[],'fileExists':_0x237f9c=>_0x237f9c===_0x5f7bdc,'readFile':_0x58b468=>{if(_0x58b468===_0x5f7bdc)return _0x111eb5;return undefined;},'getCanonicalFileName':_0xfb6b4e=>_0xfb6b4e,'useCaseSensitiveFileNames':()=>!![],'getNewLine':()=>'\x0a'},_0x8174e7=a0_0x389b1c[_0x31b14a(0x1bb)]({'rootNames':[_0x5f7bdc],'options':this[_0x31b14a(0x1d8)],'host':_0x7193f3}),_0x18fdc3=_0x8174e7[_0x31b14a(0x1d4)](_0xfa451d);for(const _0x5d43d5 of _0x18fdc3){_0x116a65[_0x31b14a(0x1be)](this[_0x31b14a(0x1b9)](_0x5d43d5,_0xfa451d));}}catch(_0x4feeca){this[_0x31b14a(0x1ca)]?.[_0x31b14a(0x1e2)]('Semantic\x20analysis\x20skipped',{'file':_0x5f7bdc,'reason':_0x4feeca['message']});}return _0x116a65;}[a0_0x5fcd60(0x1b9)](_0x530dfc,_0x35afcf){const _0x27861e=a0_0x5fcd60;let _0x3cbf2c=0x0,_0x515409=0x0;if(_0x530dfc[_0x27861e(0x1c4)]&&_0x530dfc[_0x27861e(0x1ba)]!==undefined){const _0x118c2a=_0x530dfc['file'][_0x27861e(0x1d6)](_0x530dfc['start']);_0x3cbf2c=_0x118c2a['line']+0x1,_0x515409=_0x118c2a[_0x27861e(0x1c5)]+0x1;}else{if(_0x35afcf&&_0x530dfc['start']!==undefined){const _0x2877f8=_0x35afcf[_0x27861e(0x1d6)](_0x530dfc['start']);_0x3cbf2c=_0x2877f8[_0x27861e(0x1de)]+0x1,_0x515409=_0x2877f8['character']+0x1;}}const _0x216f43=a0_0x389b1c['flattenDiagnosticMessageText'](_0x530dfc['messageText'],'\x0a');let _0x417a3b;switch(_0x530dfc[_0x27861e(0x1c2)]){case a0_0x389b1c[_0x27861e(0x1e7)]['Error']:_0x417a3b=STATIC_ANALYSIS[_0x27861e(0x1e8)]['ERROR'];break;case a0_0x389b1c['DiagnosticCategory'][_0x27861e(0x1d9)]:_0x417a3b=STATIC_ANALYSIS[_0x27861e(0x1e8)]['WARNING'];break;case a0_0x389b1c['DiagnosticCategory']['Message']:case a0_0x389b1c[_0x27861e(0x1e7)][_0x27861e(0x1bd)]:_0x417a3b=STATIC_ANALYSIS['SEVERITY']['INFO'];break;default:_0x417a3b=STATIC_ANALYSIS['SEVERITY'][_0x27861e(0x1c6)];}let _0x1fe78a=STATIC_ANALYSIS['CATEGORY']['SYNTAX'];const _0x455429=_0x530dfc['code'];if(_0x455429>=0x7d0&&_0x455429<0xbb8)_0x1fe78a=STATIC_ANALYSIS['CATEGORY'][_0x27861e(0x1d1)];else{if(_0x455429>=0x3e8&&_0x455429<0x7d0)_0x1fe78a=STATIC_ANALYSIS['CATEGORY'][_0x27861e(0x1d2)];else _0x455429>=0x8fc&&_0x455429<0x960&&(_0x1fe78a=STATIC_ANALYSIS['CATEGORY']['IMPORT']);}return(_0x216f43['toLowerCase']()[_0x27861e(0x1c8)](_0x27861e(0x1b3))||_0x216f43['toLowerCase']()[_0x27861e(0x1c8)]('import'))&&(_0x1fe78a=STATIC_ANALYSIS[_0x27861e(0x1e9)]['IMPORT']),{'file':_0x530dfc['file']?.[_0x27861e(0x1df)]||_0x35afcf?.['fileName']||_0x27861e(0x1d0),'line':_0x3cbf2c,'column':_0x515409,'severity':_0x417a3b,'rule':'TS'+_0x455429,'message':_0x216f43,'category':_0x1fe78a,'fixable':![],'code':_0x530dfc[_0x27861e(0x1ce)]};}}export default JavaScriptAnalyzer;
1
+ const a0_0x1e9b09=a0_0x5ccc;(function(_0x37d8f3,_0x124492){const _0x2ce13c=a0_0x5ccc,_0x19216c=_0x37d8f3();while(!![]){try{const _0xf13213=parseInt(_0x2ce13c(0x1ef))/0x1+parseInt(_0x2ce13c(0x1f2))/0x2*(parseInt(_0x2ce13c(0x1d8))/0x3)+parseInt(_0x2ce13c(0x1f7))/0x4*(-parseInt(_0x2ce13c(0x1fc))/0x5)+-parseInt(_0x2ce13c(0x1dd))/0x6+-parseInt(_0x2ce13c(0x203))/0x7+parseInt(_0x2ce13c(0x1d4))/0x8*(parseInt(_0x2ce13c(0x202))/0x9)+-parseInt(_0x2ce13c(0x1eb))/0xa;if(_0xf13213===_0x124492)break;else _0x19216c['push'](_0x19216c['shift']());}catch(_0x483bf0){_0x19216c['push'](_0x19216c['shift']());}}}(a0_0x359b,0xe986c));import a0_0x7209c1 from'typescript';function a0_0x359b(){const _0x549e75=['sNn4rw1PDa','zMLSDgvY','C2v2zxjPDhK','BgLUzq','sMf2yvnJCMLWDcbHBMfSExnPCYbMywLSzwq','Aw5JBhvKzxm','BwvZC2fNzq','ntyZnJuWCer4rNvo','su1qt1ju','u0vwrvjjvfK','y3jLyxrLuhjVz3jHBq','mtCXntK4n1Pushfdqq','u2nYAxb0vgfYz2v0','rgLHz25VC3rPy0nHDgvNB3j5','nty2rxbeDej1','zM9YrwfJAenOAwXK','rxjYB3i','BwvZC2fNzvrLEhq','q0furuDpuLK','mtjMD0jiugK','Dg9mB3DLCKnHC2u','y2HHCMfJDgvY','ChvZAa','zxjYB3i','mJiYntaXmhzbAuL3uW','zM9YBwf0rgLHz25VC3rPyW','v0fstKLorW','Bg9Nz2vY','u1Lovefy','CgfYC2veAwfNBM9ZDgLJCW','ntrvDxLxBuC','nJm3nti1n3zJCMf6AG','zMLSzq','rvjst1i','tM9KzuPZ','mti0mtKXmKPiC2jIDq','y3jLyxrLu291CMnLrMLSzq','C3rHCNq','sMf2yvnJCMLWDcbHBMfSExnPCYbJB21WBgv0zwq','mtm4mZz1uejjDM8','A2LUza','tw9KDwXLuMvZB2X1DgLVBKTPBMq','qw5HBhLZAxmGzMfPBgvKoIa','zgvIDwC','nde2mZGYnMLQEwnoAG','Dw5RBM93BG','u3vNz2vZDgLVBG','vfLqrq','y29TCgLSzxjpChrPB25Z','z2v0u3LUDgfJDgLJrgLHz25VC3rPy3m','zMLSzu5HBwu'];a0_0x359b=function(){return _0x549e75;};return a0_0x359b();}import a0_0x19b316 from'path';import{STATIC_ANALYSIS}from'../utilities/constants.js';function a0_0x5ccc(_0x3fa2e6,_0x2110c0){_0x3fa2e6=_0x3fa2e6-0x1d3;const _0x359b2b=a0_0x359b();let _0x5ccc2c=_0x359b2b[_0x3fa2e6];if(a0_0x5ccc['tviKyE']===undefined){var _0x3cb360=function(_0x4aaf3c){const _0x34b993='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x7209c1='',_0x19b316='';for(let _0x3ba4c1=0x0,_0x4cdcaf,_0x1f7bcb,_0x22a1fe=0x0;_0x1f7bcb=_0x4aaf3c['charAt'](_0x22a1fe++);~_0x1f7bcb&&(_0x4cdcaf=_0x3ba4c1%0x4?_0x4cdcaf*0x40+_0x1f7bcb:_0x1f7bcb,_0x3ba4c1++%0x4)?_0x7209c1+=String['fromCharCode'](0xff&_0x4cdcaf>>(-0x2*_0x3ba4c1&0x6)):0x0){_0x1f7bcb=_0x34b993['indexOf'](_0x1f7bcb);}for(let _0x23f660=0x0,_0x464389=_0x7209c1['length'];_0x23f660<_0x464389;_0x23f660++){_0x19b316+='%'+('00'+_0x7209c1['charCodeAt'](_0x23f660)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x19b316);};a0_0x5ccc['PkiukS']=_0x3cb360,a0_0x5ccc['uCXEbo']={},a0_0x5ccc['tviKyE']=!![];}const _0x413966=_0x359b2b[0x0],_0x1c838b=_0x3fa2e6+_0x413966,_0x43f4e5=a0_0x5ccc['uCXEbo'][_0x1c838b];return!_0x43f4e5?(_0x5ccc2c=a0_0x5ccc['PkiukS'](_0x5ccc2c),a0_0x5ccc['uCXEbo'][_0x1c838b]=_0x5ccc2c):_0x5ccc2c=_0x43f4e5,_0x5ccc2c;}class JavaScriptAnalyzer{constructor(_0x3ba4c1=null){const _0x169b11=a0_0x5ccc;this['logger']=_0x3ba4c1,this[_0x169b11(0x1e1)]={'allowJs':!![],'checkJs':!![],'noEmit':!![],'jsx':a0_0x7209c1[_0x169b11(0x1e4)]['React'],'target':a0_0x7209c1[_0x169b11(0x1f0)]['Latest'],'module':a0_0x7209c1['ModuleKind']['ESNext'],'moduleResolution':a0_0x7209c1[_0x169b11(0x1da)][_0x169b11(0x1d3)],'esModuleInterop':!![],'skipLibCheck':!![],'strict':![],'noImplicitAny':![]};}async['analyze'](_0x4cdcaf,_0x1f7bcb,_0x22a1fe={}){const _0x2df72c=a0_0x5ccc;try{const _0x23f660=[],_0x464389=a0_0x7209c1[_0x2df72c(0x1d5)](_0x4cdcaf,_0x1f7bcb,a0_0x7209c1[_0x2df72c(0x1f0)]['Latest'],!![]),_0x4ae5d8=this['getSyntacticDiagnostics'](_0x464389);_0x23f660[_0x2df72c(0x1fa)](..._0x4ae5d8);const _0x3723eb=await this['getSemanticDiagnostics'](_0x4cdcaf,_0x1f7bcb);return _0x23f660[_0x2df72c(0x1fa)](..._0x3723eb),this['logger']?.[_0x2df72c(0x1dc)](_0x2df72c(0x1d7),{'file':_0x4cdcaf,'totalDiagnostics':_0x23f660['length'],'errors':_0x23f660[_0x2df72c(0x1e5)](_0x33cca2=>_0x33cca2[_0x2df72c(0x1e6)]===STATIC_ANALYSIS[_0x2df72c(0x1ed)][_0x2df72c(0x205)])['length'],'warnings':_0x23f660[_0x2df72c(0x1e5)](_0x2b2d00=>_0x2b2d00['severity']===STATIC_ANALYSIS['SEVERITY'][_0x2df72c(0x1fe)])['length']}),_0x23f660;}catch(_0x336880){return this[_0x2df72c(0x1ff)]?.[_0x2df72c(0x1fb)](_0x2df72c(0x1e8),{'file':_0x4cdcaf,'error':_0x336880[_0x2df72c(0x1ea)]}),[{'file':_0x4cdcaf,'line':0x0,'column':0x0,'severity':STATIC_ANALYSIS[_0x2df72c(0x1ed)][_0x2df72c(0x205)],'rule':'analyzer-error','message':_0x2df72c(0x1db)+_0x336880['message'],'category':STATIC_ANALYSIS['CATEGORY']['SYNTAX']}];}}[a0_0x1e9b09(0x1e2)](_0x5459b6){const _0x374a8a=a0_0x1e9b09,_0x4f0b79=[],_0x384fc8=_0x330457=>{const _0x21bd74=a0_0x5ccc;if(_0x330457[_0x21bd74(0x1d9)]===a0_0x7209c1['SyntaxKind']['Unknown']){const _0x5f00b1=_0x5459b6['getLineAndCharacterOfPosition'](_0x330457['getStart']());_0x4f0b79[_0x21bd74(0x1fa)]({'file':_0x5459b6[_0x21bd74(0x1e3)],'line':_0x5f00b1[_0x21bd74(0x1e7)]+0x1,'column':_0x5f00b1['character']+0x1,'severity':STATIC_ANALYSIS[_0x21bd74(0x1ed)]['ERROR'],'rule':'syntax-error','message':'Syntax\x20error','category':STATIC_ANALYSIS[_0x21bd74(0x1f6)][_0x21bd74(0x200)],'fixable':![]});}a0_0x7209c1[_0x21bd74(0x1f3)](_0x330457,_0x384fc8);};_0x384fc8(_0x5459b6);if(_0x5459b6['parseDiagnostics']&&_0x5459b6[_0x374a8a(0x201)]['length']>0x0)for(const _0xb5d7a5 of _0x5459b6[_0x374a8a(0x201)]){_0x4f0b79['push'](this[_0x374a8a(0x1fd)](_0xb5d7a5,_0x5459b6));}return _0x4f0b79;}async['getSemanticDiagnostics'](_0x319269,_0x34096a){const _0x24727f=a0_0x1e9b09,_0x57bf9c=[];try{const _0xd58c21=a0_0x7209c1['createSourceFile'](_0x319269,_0x34096a,a0_0x7209c1[_0x24727f(0x1f0)]['Latest'],!![]),_0x3f4b13={'getSourceFile':_0x10a1f0=>{if(_0x10a1f0===_0x319269)return _0xd58c21;return undefined;},'getDefaultLibFileName':()=>'lib.d.ts','writeFile':()=>{},'getCurrentDirectory':()=>a0_0x19b316['dirname'](_0x319269),'getDirectories':()=>[],'fileExists':_0xc5c5c9=>_0xc5c5c9===_0x319269,'readFile':_0x2c8435=>{if(_0x2c8435===_0x319269)return _0x34096a;return undefined;},'getCanonicalFileName':_0x4da3b7=>_0x4da3b7,'useCaseSensitiveFileNames':()=>!![],'getNewLine':()=>'\x0a'},_0x178310=a0_0x7209c1[_0x24727f(0x1ee)]({'rootNames':[_0x319269],'options':this[_0x24727f(0x1e1)],'host':_0x3f4b13}),_0x32e014=_0x178310['getSemanticDiagnostics'](_0xd58c21);for(const _0x129faf of _0x32e014){_0x57bf9c[_0x24727f(0x1fa)](this[_0x24727f(0x1fd)](_0x129faf,_0xd58c21));}}catch(_0x197218){this['logger']?.[_0x24727f(0x1dc)]('Semantic\x20analysis\x20skipped',{'file':_0x319269,'reason':_0x197218[_0x24727f(0x1ea)]});}return _0x57bf9c;}[a0_0x1e9b09(0x1fd)](_0x4fd048,_0x3e536d){const _0x3721ce=a0_0x1e9b09;let _0x244301=0x0,_0x51b041=0x0;if(_0x4fd048['file']&&_0x4fd048[_0x3721ce(0x1d6)]!==undefined){const _0x15fb1c=_0x4fd048[_0x3721ce(0x204)]['getLineAndCharacterOfPosition'](_0x4fd048['start']);_0x244301=_0x15fb1c['line']+0x1,_0x51b041=_0x15fb1c[_0x3721ce(0x1f9)]+0x1;}else{if(_0x3e536d&&_0x4fd048[_0x3721ce(0x1d6)]!==undefined){const _0x635d17=_0x3e536d['getLineAndCharacterOfPosition'](_0x4fd048[_0x3721ce(0x1d6)]);_0x244301=_0x635d17[_0x3721ce(0x1e7)]+0x1,_0x51b041=_0x635d17['character']+0x1;}}const _0x1145b7=a0_0x7209c1['flattenDiagnosticMessageText'](_0x4fd048[_0x3721ce(0x1f5)],'\x0a');let _0x460211;switch(_0x4fd048['category']){case a0_0x7209c1['DiagnosticCategory'][_0x3721ce(0x1f4)]:_0x460211=STATIC_ANALYSIS[_0x3721ce(0x1ed)][_0x3721ce(0x205)];break;case a0_0x7209c1[_0x3721ce(0x1f1)]['Warning']:_0x460211=STATIC_ANALYSIS[_0x3721ce(0x1ed)]['WARNING'];break;case a0_0x7209c1['DiagnosticCategory']['Message']:case a0_0x7209c1[_0x3721ce(0x1f1)][_0x3721ce(0x1df)]:_0x460211=STATIC_ANALYSIS['SEVERITY']['INFO'];break;default:_0x460211=STATIC_ANALYSIS[_0x3721ce(0x1ed)]['ERROR'];}let _0x22c152=STATIC_ANALYSIS['CATEGORY']['SYNTAX'];const _0xf0dc50=_0x4fd048['code'];if(_0xf0dc50>=0x7d0&&_0xf0dc50<0xbb8)_0x22c152=STATIC_ANALYSIS['CATEGORY'][_0x3721ce(0x1e0)];else{if(_0xf0dc50>=0x3e8&&_0xf0dc50<0x7d0)_0x22c152=STATIC_ANALYSIS['CATEGORY']['SYNTAX'];else _0xf0dc50>=0x8fc&&_0xf0dc50<0x960&&(_0x22c152=STATIC_ANALYSIS['CATEGORY'][_0x3721ce(0x1ec)]);}return(_0x1145b7[_0x3721ce(0x1f8)]()['includes']('cannot\x20find\x20module')||_0x1145b7['toLowerCase']()[_0x3721ce(0x1e9)]('import'))&&(_0x22c152=STATIC_ANALYSIS[_0x3721ce(0x1f6)]['IMPORT']),{'file':_0x4fd048[_0x3721ce(0x204)]?.[_0x3721ce(0x1e3)]||_0x3e536d?.['fileName']||_0x3721ce(0x1de),'line':_0x244301,'column':_0x51b041,'severity':_0x460211,'rule':'TS'+_0xf0dc50,'message':_0x1145b7,'category':_0x22c152,'fixable':![],'code':_0x4fd048['code']};}}export default JavaScriptAnalyzer;
@@ -1 +1 @@
1
- const a0_0x4dc000=a0_0x320c;(function(_0x4e1d73,_0x193c1d){const _0x55855b=a0_0x320c,_0x17b646=_0x4e1d73();while(!![]){try{const _0x38cf88=-parseInt(_0x55855b(0x203))/0x1+-parseInt(_0x55855b(0x1fa))/0x2*(parseInt(_0x55855b(0x200))/0x3)+parseInt(_0x55855b(0x1ed))/0x4+parseInt(_0x55855b(0x1f7))/0x5+parseInt(_0x55855b(0x1fc))/0x6*(-parseInt(_0x55855b(0x1f1))/0x7)+parseInt(_0x55855b(0x207))/0x8*(-parseInt(_0x55855b(0x1fd))/0x9)+parseInt(_0x55855b(0x205))/0xa*(parseInt(_0x55855b(0x1e5))/0xb);if(_0x38cf88===_0x193c1d)break;else _0x17b646['push'](_0x17b646['shift']());}catch(_0x4df7b5){_0x17b646['push'](_0x17b646['shift']());}}}(a0_0x34d0,0x545ed));import a0_0x2c735d from'prettier';import a0_0x71787e from'path';function a0_0x320c(_0x4e4408,_0x6e9a4f){_0x4e4408=_0x4e4408-0x1e1;const _0x34d068=a0_0x34d0();let _0x320c9d=_0x34d068[_0x4e4408];if(a0_0x320c['WyDhiI']===undefined){var _0x21f811=function(_0x52d1b1){const _0x5f3c46='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2c735d='',_0x71787e='';for(let _0x25e7ac=0x0,_0x55f02d,_0x73ea0e,_0x6023a4=0x0;_0x73ea0e=_0x52d1b1['charAt'](_0x6023a4++);~_0x73ea0e&&(_0x55f02d=_0x25e7ac%0x4?_0x55f02d*0x40+_0x73ea0e:_0x73ea0e,_0x25e7ac++%0x4)?_0x2c735d+=String['fromCharCode'](0xff&_0x55f02d>>(-0x2*_0x25e7ac&0x6)):0x0){_0x73ea0e=_0x5f3c46['indexOf'](_0x73ea0e);}for(let _0x1d0f5a=0x0,_0xd761f9=_0x2c735d['length'];_0x1d0f5a<_0xd761f9;_0x1d0f5a++){_0x71787e+='%'+('00'+_0x2c735d['charCodeAt'](_0x1d0f5a)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x71787e);};a0_0x320c['xuknFE']=_0x21f811,a0_0x320c['VSKWtT']={},a0_0x320c['WyDhiI']=!![];}const _0x510ed5=_0x34d068[0x0],_0x26565d=_0x4e4408+_0x510ed5,_0x289adc=a0_0x320c['VSKWtT'][_0x26565d];return!_0x289adc?(_0x320c9d=a0_0x320c['xuknFE'](_0x320c9d),a0_0x320c['VSKWtT'][_0x26565d]=_0x320c9d):_0x320c9d=_0x289adc,_0x320c9d;}function a0_0x34d0(){const _0x44d87b=['C3bSAxq','mtC4nJG0wwPUzu5S','yxzVAwq','lMPZ','z2v0uhjLDhrPzxjdB25MAwC','zgvZy3jPyMvdAgfUz2vZ','lMnQCW','uhjLDhrPzxiGzM9YBwf0DgLUzYbMywLSzwq','zxjYB3i','mtC2mZuXmM9Wv1zsBq','y3nZ','lM1K','yMfIzwW','mtiXmdm3meD6CwDprG','y291BNrdAgfUz2vKtgLUzxm','Aw5JBhvKzxm','ANnVBJu','lNrZ','lNLHBwW','mZm5ode3nu1oqLfZBa','AhrTBa','zxm1','mJeXmtHRzMrQq3G','z2v0u3vWCg9YDgvKrxH0zw5ZAw9UCW','mtHoq0zurM4','ouvRvKPKuW','z2v0','lNrZEa','mtiZDxfPwgji','lM1QCW','DhLWzxnJCMLWDa','ndG1mteWCfrrB09k','Bg9Nz2vY','nZGWELrtB3zu','BgvUz3rO','ndG0mty0mhLJugjACW','C2nZCW','DNvL','y29UzMLNq2fJAgu','BwfYA2rVD24'];a0_0x34d0=function(){return _0x44d87b;};return a0_0x34d0();}import a0_0x25e7ac from'fs/promises';class PrettierFormatter{constructor(_0x55f02d=null){const _0x22319c=a0_0x320c;this['logger']=_0x55f02d,this[_0x22319c(0x1e2)]=new Map();}async['format'](_0x73ea0e,_0x6023a4,_0x1d0f5a={}){const _0xab6d1d=a0_0x320c;try{const _0xd761f9=await this[_0xab6d1d(0x1e8)](_0x73ea0e,_0x1d0f5a['workingDir']),_0x5350ca=this['getParser'](_0x73ea0e),_0xe818b2=await a0_0x2c735d['format'](_0x6023a4,{..._0xd761f9,'filepath':_0x73ea0e,'parser':_0x5350ca}),_0x5a7b52=_0xe818b2!==_0x6023a4;return{'formatted':_0x5a7b52,'content':_0xe818b2,'original':_0x6023a4,'changes':_0x5a7b52?this['describeChanges'](_0x6023a4,_0xe818b2):[],'linesChanged':_0x5a7b52?this[_0xab6d1d(0x1f2)](_0x6023a4,_0xe818b2):0x0};}catch(_0x1717ad){this['logger']?.[_0xab6d1d(0x1ec)](_0xab6d1d(0x1eb),{'file':_0x73ea0e,'error':_0x1717ad['message']});throw new Error('Prettier\x20formatting\x20failed:\x20'+_0x1717ad['message']);}}async['check'](_0x1f5764,_0x48e620,_0x300a0b={}){const _0x238ff0=a0_0x320c;try{const _0x3fafb6=await this[_0x238ff0(0x1e8)](_0x1f5764,_0x300a0b['workingDir']),_0x4f3c9e=this['getParser'](_0x1f5764),_0x358585=await a0_0x2c735d['format'](_0x48e620,{..._0x3fafb6,'filepath':_0x1f5764,'parser':_0x4f3c9e});return _0x358585!==_0x48e620;}catch(_0xdf9d68){return this['logger']?.['warn']('Prettier\x20check\x20failed',{'file':_0x1f5764,'error':_0xdf9d68['message']}),![];}}async[a0_0x4dc000(0x1e8)](_0x114730,_0x1ded59){const _0x35fef2=a0_0x4dc000,_0x421e93=_0x1ded59||a0_0x71787e['dirname'](_0x114730);if(this['configCache']['has'](_0x421e93))return this['configCache'][_0x35fef2(0x1fe)](_0x421e93);let _0x58599e={};if(_0x1ded59)try{const _0x48a49e=await a0_0x2c735d['resolveConfig'](_0x114730,{'config':_0x1ded59});_0x48a49e&&(this[_0x35fef2(0x204)]?.['debug']('Found\x20Prettier\x20config',{'workingDir':_0x1ded59}),_0x58599e=_0x48a49e);}catch(_0x4c7184){this[_0x35fef2(0x204)]?.['debug']('No Prettier config found, using defaults');}const defaultConfig={'semi':!![],'singleQuote':!![],'tabWidth':0x2,'trailingComma':_0x35fef2(0x1f9),'printWidth':0x64,'arrowParens':_0x35fef2(0x1e6),'endOfLine':'lf',..._0x58599e};return this[_0x35fef2(0x1e2)]['set'](_0x421e93,defaultConfig),defaultConfig;}['getParser'](_0x5da45c){const _0x5119fb=a0_0x4dc000,_0x202d3b=a0_0x71787e['extname'](_0x5da45c)['toLowerCase'](),_0x474536={'.js':'babel','.jsx':'babel','.mjs':'babel','.cjs':_0x5119fb(0x1f0),'.ts':'typescript','.tsx':_0x5119fb(0x202),'.json':'json','.json5':_0x5119fb(0x1f4),'.css':_0x5119fb(0x1ee),'.scss':_0x5119fb(0x208),'.less':'less','.html':_0x5119fb(0x1f8),'.vue':_0x5119fb(0x1e1),'.md':_0x5119fb(0x1e3),'.yaml':'yaml','.yml':'yaml'};return _0x474536[_0x202d3b]||_0x5119fb(0x1f0);}[a0_0x4dc000(0x1e9)](_0x1b9dbf,_0x14d753){const _0x45f119=[],_0x273dba=_0x1b9dbf['split']('\x0a'),_0x39fd59=_0x14d753['split']('\x0a'),_0x1254f5=Math['max'](_0x273dba['length'],_0x39fd59['length']);for(let _0x136bd7=0x0;_0x136bd7<_0x1254f5;_0x136bd7++){const _0x37c32b=_0x273dba[_0x136bd7],_0x907da4=_0x39fd59[_0x136bd7];_0x37c32b!==_0x907da4&&_0x45f119['push']({'line':_0x136bd7+0x1,'type':_0x37c32b!==undefined&&_0x907da4!==undefined?'modified':_0x37c32b!==undefined?'removed':'added','original':_0x37c32b||'','formatted':_0x907da4||''});}return _0x45f119;}[a0_0x4dc000(0x1f2)](_0x46d4fb,_0x486923){const _0x23fc1f=a0_0x4dc000,_0x419503=_0x46d4fb[_0x23fc1f(0x1e4)]('\x0a'),_0x2c2a90=_0x486923[_0x23fc1f(0x1e4)]('\x0a');let _0x160cf1=0x0;const _0x10bf7f=Math['max'](_0x419503['length'],_0x2c2a90[_0x23fc1f(0x206)]);for(let _0x47c150=0x0;_0x47c150<_0x10bf7f;_0x47c150++){_0x419503[_0x47c150]!==_0x2c2a90[_0x47c150]&&_0x160cf1++;}return _0x160cf1;}[a0_0x4dc000(0x1fb)](){const _0x2ca934=a0_0x4dc000;return[_0x2ca934(0x1e7),'.jsx',_0x2ca934(0x201),_0x2ca934(0x1ea),_0x2ca934(0x1f5),_0x2ca934(0x1ff),'.json','.json5','.css','.scss','.less','.html','.vue',_0x2ca934(0x1ef),_0x2ca934(0x1f6),'.yml'];}['isSupported'](_0x385d3b){const _0x54573a=a0_0x4dc000,_0x418e34=a0_0x71787e['extname'](_0x385d3b)['toLowerCase']();return this[_0x54573a(0x1fb)]()[_0x54573a(0x1f3)](_0x418e34);}}export default PrettierFormatter;
1
+ const a0_0x436aa7=a0_0x3b37;(function(_0x2c54f5,_0x431947){const _0x2dcbd5=a0_0x3b37,_0x5ae496=_0x2c54f5();while(!![]){try{const _0x4cfe5b=parseInt(_0x2dcbd5(0x1e9))/0x1*(-parseInt(_0x2dcbd5(0x20c))/0x2)+parseInt(_0x2dcbd5(0x1e7))/0x3*(parseInt(_0x2dcbd5(0x1f2))/0x4)+-parseInt(_0x2dcbd5(0x1f0))/0x5*(parseInt(_0x2dcbd5(0x1f7))/0x6)+parseInt(_0x2dcbd5(0x203))/0x7*(parseInt(_0x2dcbd5(0x1ee))/0x8)+parseInt(_0x2dcbd5(0x1e1))/0x9*(parseInt(_0x2dcbd5(0x1dc))/0xa)+-parseInt(_0x2dcbd5(0x1e4))/0xb+-parseInt(_0x2dcbd5(0x1e8))/0xc*(-parseInt(_0x2dcbd5(0x1fb))/0xd);if(_0x4cfe5b===_0x431947)break;else _0x5ae496['push'](_0x5ae496['shift']());}catch(_0x979012){_0x5ae496['push'](_0x5ae496['shift']());}}}(a0_0x35da,0xc7530));import a0_0x4dfb15 from'prettier';import a0_0x1db9ed from'path';import a0_0x5abeda from'fs/promises';function a0_0x35da(){const _0x2a5849=['zxjYB3i','yMfIzwW','mteXnJu2odDJrfD2Aeu','BgvZCW','lNz1zq','y2HLy2S','lMH0BwW','Dg9mB3DLCKnHC2u','C2nZCW','lMXLC3m','mtaYodi1mwnjqxvQDG','DhLWzxnJCMLWDa','uhjLDhrPzxiGy2HLy2SGzMfPBgvK','BwvZC2fNzq','zgLYBMfTzq','C3bSAxq','zgvZy3jPyMvdAgfUz2vZ','Bw9KAwzPzwq','CMvZB2X2zunVBMzPzW','mZrND2DSsKW','C2v0','z2v0u3vWCg9YDgvKrxH0zw5ZAw9UCW','lM1K','AhrTBa','y29UzMLNq2fJAgu','mJeWodmZmev2DgDpza','Bg9Nz2vY','lNnJC3m','lMPZ','z2v0ugfYC2vY','oxLxr2HLtW','lMPZEa','zgvIDwC','mJaZnZKXnwLhvgjlAW','zxH0BMfTzq','lNrZEa','nJm0mJa5ugjzv3ne','mtjKExj4vg8','nJe1odbOwLLbvwq','lMPZB241','y291BNrdAgfUz2vKtgLUzxm','EwfTBa','lMnQCW','mZjJwhn6t2W','DNvL','mZmYodGXmejbze1zzq','Bwf4','mJbPBe5WExK','rM91BMqGuhjLDhrPzxiGy29UzMLN','D29YA2LUz0rPCG','zM9YBwf0','lMnZCW','nLb1uujYqq','AgfZ'];a0_0x35da=function(){return _0x2a5849;};return a0_0x35da();}function a0_0x3b37(_0x4501f9,_0x5a9de0){_0x4501f9=_0x4501f9-0x1dc;const _0x35dabf=a0_0x35da();let _0x3b379d=_0x35dabf[_0x4501f9];if(a0_0x3b37['IGKYCw']===undefined){var _0x125a77=function(_0x4e82a4){const _0x3c33db='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4dfb15='',_0x1db9ed='';for(let _0x5abeda=0x0,_0x1db358,_0x2ef572,_0x741fb=0x0;_0x2ef572=_0x4e82a4['charAt'](_0x741fb++);~_0x2ef572&&(_0x1db358=_0x5abeda%0x4?_0x1db358*0x40+_0x2ef572:_0x2ef572,_0x5abeda++%0x4)?_0x4dfb15+=String['fromCharCode'](0xff&_0x1db358>>(-0x2*_0x5abeda&0x6)):0x0){_0x2ef572=_0x3c33db['indexOf'](_0x2ef572);}for(let _0x356687=0x0,_0x2327a2=_0x4dfb15['length'];_0x356687<_0x2327a2;_0x356687++){_0x1db9ed+='%'+('00'+_0x4dfb15['charCodeAt'](_0x356687)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1db9ed);};a0_0x3b37['kQqwOK']=_0x125a77,a0_0x3b37['MDweYh']={},a0_0x3b37['IGKYCw']=!![];}const _0x13abc6=_0x35dabf[0x0],_0x392c66=_0x4501f9+_0x13abc6,_0x33ee11=a0_0x3b37['MDweYh'][_0x392c66];return!_0x33ee11?(_0x3b379d=a0_0x3b37['kQqwOK'](_0x3b379d),a0_0x3b37['MDweYh'][_0x392c66]=_0x3b379d):_0x3b379d=_0x33ee11,_0x3b379d;}class PrettierFormatter{constructor(_0x1db358=null){this['logger']=_0x1db358,this['configCache']=new Map();}async[a0_0x436aa7(0x1f5)](_0x2ef572,_0x741fb,_0x356687={}){const _0x10fbc1=a0_0x436aa7;try{const _0x2327a2=await this['getPrettierConfig'](_0x2ef572,_0x356687[_0x10fbc1(0x1f4)]),_0x4516eb=this[_0x10fbc1(0x1e0)](_0x2ef572),_0x4724a4=await a0_0x4dfb15['format'](_0x741fb,{..._0x2327a2,'filepath':_0x2ef572,'parser':_0x4516eb}),_0x3abf67=_0x4724a4!==_0x741fb;return{'formatted':_0x3abf67,'content':_0x4724a4,'original':_0x741fb,'changes':_0x3abf67?this[_0x10fbc1(0x209)](_0x741fb,_0x4724a4):[],'linesChanged':_0x3abf67?this['countChangedLines'](_0x741fb,_0x4724a4):0x0};}catch(_0x4db2c6){this[_0x10fbc1(0x1dd)]?.[_0x10fbc1(0x1f9)]('Prettier\x20formatting\x20failed',{'file':_0x2ef572,'error':_0x4db2c6['message']});throw new Error('Prettier\x20formatting\x20failed:\x20'+_0x4db2c6[_0x10fbc1(0x206)]);}}async[a0_0x436aa7(0x1fe)](_0x31df35,_0x4e8e97,_0x3fd238={}){const _0x7fc53a=a0_0x436aa7;try{const _0x3fa004=await this['getPrettierConfig'](_0x31df35,_0x3fd238[_0x7fc53a(0x1f4)]),_0x93ff29=this[_0x7fc53a(0x1e0)](_0x31df35),_0x6b7270=await a0_0x4dfb15['format'](_0x4e8e97,{..._0x3fa004,'filepath':_0x31df35,'parser':_0x93ff29});return _0x6b7270!==_0x4e8e97;}catch(_0x553b07){return this['logger']?.['warn'](_0x7fc53a(0x205),{'file':_0x31df35,'error':_0x553b07[_0x7fc53a(0x206)]}),![];}}async['getPrettierConfig'](_0x39b6c9,_0x38b08c){const _0x176efb=a0_0x436aa7,_0x1cf475=_0x38b08c||a0_0x1db9ed[_0x176efb(0x207)](_0x39b6c9);if(this['configCache'][_0x176efb(0x1f8)](_0x1cf475))return this['configCache']['get'](_0x1cf475);let _0x18f03f={};if(_0x38b08c)try{const _0x5491de=await a0_0x4dfb15[_0x176efb(0x20b)](_0x39b6c9,{'config':_0x38b08c});_0x5491de&&(this[_0x176efb(0x1dd)]?.['debug'](_0x176efb(0x1f3),{'workingDir':_0x38b08c}),_0x18f03f=_0x5491de);}catch(_0x4e48ad){this['logger']?.[_0x176efb(0x1e3)]('No Prettier config found, using defaults');}const defaultConfig={'semi':!![],'singleQuote':!![],'tabWidth':0x2,'trailingComma':'es5','printWidth':0x64,'arrowParens':'avoid','endOfLine':'lf',..._0x18f03f};return this[_0x176efb(0x211)][_0x176efb(0x20d)](_0x1cf475,defaultConfig),defaultConfig;}[a0_0x436aa7(0x1e0)](_0x38a40d){const _0x268dcd=a0_0x436aa7,_0x4e02ed=a0_0x1db9ed['extname'](_0x38a40d)[_0x268dcd(0x200)](),_0x1a99c3={'.js':_0x268dcd(0x1fa),'.jsx':'babel','.mjs':'babel','.cjs':_0x268dcd(0x1fa),'.ts':_0x268dcd(0x204),'.tsx':'typescript','.json':'json','.json5':'json5','.css':'css','.scss':_0x268dcd(0x201),'.less':_0x268dcd(0x1fc),'.html':_0x268dcd(0x210),'.vue':_0x268dcd(0x1ef),'.md':'markdown','.yaml':_0x268dcd(0x1ec),'.yml':'yaml'};return _0x1a99c3[_0x4e02ed]||'babel';}[a0_0x436aa7(0x209)](_0x3d3057,_0x51d533){const _0xd1614a=a0_0x436aa7,_0x310a60=[],_0x364f9f=_0x3d3057['split']('\x0a'),_0x164951=_0x51d533['split']('\x0a'),_0xde917b=Math[_0xd1614a(0x1f1)](_0x364f9f['length'],_0x164951['length']);for(let _0x125888=0x0;_0x125888<_0xde917b;_0x125888++){const _0x1cd3d5=_0x364f9f[_0x125888],_0x38b8d9=_0x164951[_0x125888];_0x1cd3d5!==_0x38b8d9&&_0x310a60['push']({'line':_0x125888+0x1,'type':_0x1cd3d5!==undefined&&_0x38b8d9!==undefined?_0xd1614a(0x20a):_0x1cd3d5!==undefined?'removed':'added','original':_0x1cd3d5||'','formatted':_0x38b8d9||''});}return _0x310a60;}[a0_0x436aa7(0x1eb)](_0x2aec6b,_0x58b628){const _0x479031=a0_0x436aa7,_0x27ded8=_0x2aec6b['split']('\x0a'),_0x388ded=_0x58b628[_0x479031(0x208)]('\x0a');let _0x3b22f3=0x0;const _0x3e359f=Math[_0x479031(0x1f1)](_0x27ded8['length'],_0x388ded['length']);for(let _0x3efb5a=0x0;_0x3efb5a<_0x3e359f;_0x3efb5a++){_0x27ded8[_0x3efb5a]!==_0x388ded[_0x3efb5a]&&_0x3b22f3++;}return _0x3b22f3;}['getSupportedExtensions'](){const _0x2965de=a0_0x436aa7;return[_0x2965de(0x1df),_0x2965de(0x1e2),'.mjs',_0x2965de(0x1ed),'.ts',_0x2965de(0x1e6),'.json',_0x2965de(0x1ea),_0x2965de(0x1f6),_0x2965de(0x1de),_0x2965de(0x202),_0x2965de(0x1ff),_0x2965de(0x1fd),_0x2965de(0x20f),'.yaml','.yml'];}['isSupported'](_0x226205){const _0x3e3a1d=a0_0x436aa7,_0x5a3a8d=a0_0x1db9ed[_0x3e3a1d(0x1e5)](_0x226205)['toLowerCase']();return this[_0x3e3a1d(0x20e)]()['includes'](_0x5a3a8d);}}export default PrettierFormatter;
@@ -1 +1 @@
1
- function a0_0x1957(_0x9205b8,_0x24dc31){_0x9205b8=_0x9205b8-0x193;const _0x4168b4=a0_0x4168();let _0x1957f6=_0x4168b4[_0x9205b8];if(a0_0x1957['aSHSyY']===undefined){var _0x3da667=function(_0x676f83){const _0x46ad1f='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5aa338='',_0x41576d='';for(let _0x102faa=0x0,_0x20a1c4,_0x3803d8,_0x25c600=0x0;_0x3803d8=_0x676f83['charAt'](_0x25c600++);~_0x3803d8&&(_0x20a1c4=_0x102faa%0x4?_0x20a1c4*0x40+_0x3803d8:_0x3803d8,_0x102faa++%0x4)?_0x5aa338+=String['fromCharCode'](0xff&_0x20a1c4>>(-0x2*_0x102faa&0x6)):0x0){_0x3803d8=_0x46ad1f['indexOf'](_0x3803d8);}for(let _0xb46f92=0x0,_0x7379b2=_0x5aa338['length'];_0xb46f92<_0x7379b2;_0xb46f92++){_0x41576d+='%'+('00'+_0x5aa338['charCodeAt'](_0xb46f92)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x41576d);};a0_0x1957['DCIKts']=_0x3da667,a0_0x1957['MNGZIp']={},a0_0x1957['aSHSyY']=!![];}const _0x3bca48=_0x4168b4[0x0],_0x20e40a=_0x9205b8+_0x3bca48,_0x8441b=a0_0x1957['MNGZIp'][_0x20e40a];return!_0x8441b?(_0x1957f6=a0_0x1957['DCIKts'](_0x1957f6),a0_0x1957['MNGZIp'][_0x20e40a]=_0x1957f6):_0x1957f6=_0x8441b,_0x1957f6;}const a0_0x1abf53=a0_0x1957;function a0_0x4168(){const _0x30a722=['zMLSDgvY','CgfYC2u','y2XVC2u','mtq4ntzyCu50swu','A2LSBa','CNvUuhL0Ag9Uu2nYAxb0','AM9PBG','rvjst1i','ChL0Ag9Uq29TBwfUza','uhL0Ag9UigfUywX5C2LZigzHAwXLza','lNb5','DxrMltG','mJGYoeHez3vdCq','BgvUz3rO','C3rKzxjY','D3jPDgvgAwXL','zxjYB3jZ','u3LUDgf4rxjYB3i','q29TBwfUzcb0Aw1LB3v0','Bg9Nz2vY','u0vwrvjjvfK','nda2nty4mdDSCgnOu3e','DgfYz2v0xW','v0fstKLorW','BM93','nty2mJuZmgv1B3HUqW','rMfPBgvKihrVihbHCNnLifb5DgHVBIbZEw50yxGGy2HLy2SGCMvZDwX0','ls12zxjZAw9U','nJy4ode2oeH4qMXPrq','zgf0yq','mZu2nJaWmMf2C0Tvva','Dg9tDhjPBMC','rM91BMqGuhL0Ag9UignVBw1HBMq','C3rKB3v0','C2v2zxjPDhK','ndC5nZe4BfftvenW','mtK5mde2CunPvuf3','Dg1WzgLY','q0furuDpuLK','CNvUq29TBwfUza','zgvIDwC','DhjPBq','nwH5BNPrBa','BwvZC2fNzq','C3vJy2vZCW'];a0_0x4168=function(){return _0x30a722;};return a0_0x4168();}(function(_0x16f53b,_0x330e0d){const _0x3a7f3e=a0_0x1957,_0x5e8343=_0x16f53b();while(!![]){try{const _0x46ada6=parseInt(_0x3a7f3e(0x198))/0x1+-parseInt(_0x3a7f3e(0x1bf))/0x2+-parseInt(_0x3a7f3e(0x197))/0x3+-parseInt(_0x3a7f3e(0x1bd))/0x4*(parseInt(_0x3a7f3e(0x19e))/0x5)+-parseInt(_0x3a7f3e(0x1ba))/0x6+parseInt(_0x3a7f3e(0x1ad))/0x7*(parseInt(_0x3a7f3e(0x1a4))/0x8)+parseInt(_0x3a7f3e(0x1b6))/0x9;if(_0x46ada6===_0x330e0d)break;else _0x5e8343['push'](_0x5e8343['shift']());}catch(_0x3566eb){_0x5e8343['push'](_0x5e8343['shift']());}}}(a0_0x4168,0xddabb));import{spawn}from'child_process';import{STATIC_ANALYSIS}from'../utilities/constants.js';import a0_0x5aa338 from'fs/promises';import a0_0x41576d from'path';import a0_0x102faa from'os';class PythonAnalyzer{constructor(_0x20a1c4=null){const _0x39c0af=a0_0x1957;this[_0x39c0af(0x1b4)]=_0x20a1c4,this['pythonCommand']=null;}async['analyze'](_0x3803d8,_0x25c600,_0xb46f92={}){const _0x5a3a94=a0_0x1957;try{const _0x7379b2=[],_0x14480b=await this['getPythonCommand']();if(!_0x14480b)return this[_0x5a3a94(0x1b4)]?.['warn']('Python\x20not\x20available,\x20skipping\x20analysis'),[];const _0x5d0ef1=await this['checkSyntax'](_0x3803d8,_0x25c600,_0x14480b);return _0x7379b2['push'](..._0x5d0ef1),this[_0x5a3a94(0x1b4)]?.[_0x5a3a94(0x19c)]('Python\x20analysis\x20completed',{'file':_0x3803d8,'totalDiagnostics':_0x7379b2['length'],'errors':_0x7379b2[_0x5a3a94(0x1a1)](_0xe78100=>_0xe78100[_0x5a3a94(0x196)]===STATIC_ANALYSIS[_0x5a3a94(0x1b5)][_0x5a3a94(0x1a8)])[_0x5a3a94(0x1ae)],'warnings':_0x7379b2['filter'](_0x4d439b=>_0x4d439b['severity']===STATIC_ANALYSIS[_0x5a3a94(0x1b5)][_0x5a3a94(0x1b8)])['length']}),_0x7379b2;}catch(_0x29e643){return this['logger']?.['error'](_0x5a3a94(0x1aa),{'file':_0x3803d8,'error':_0x29e643['message']}),[];}}async['checkSyntax'](_0xaf1c00,_0x298181,_0x54dbba){const _0x11f4ac=a0_0x1957,_0x2f2747=[],_0x37b0a9=a0_0x102faa[_0x11f4ac(0x199)](),_0x2c38d5=a0_0x41576d[_0x11f4ac(0x1a7)](_0x37b0a9,'syntax_check_'+Date['now']()+_0x11f4ac(0x1ab)),_0x24d519=a0_0x41576d[_0x11f4ac(0x1a7)](_0x37b0a9,_0x11f4ac(0x1b7)+Date[_0x11f4ac(0x1b9)]()+'.py');try{await a0_0x5aa338[_0x11f4ac(0x1b0)](_0x24d519,_0x298181,_0x11f4ac(0x1ac));const _0x50b0fa='\x0aimport\x20ast\x0aimport\x20sys\x0aimport\x20json\x0a\x0adef\x20check_syntax(filepath):\x0a\x20\x20\x20\x20try:\x0a\x20\x20\x20\x20\x20\x20\x20\x20with\x20open(filepath,\x20\x27r\x27,\x20encoding=\x27utf-8\x27)\x20as\x20f:\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20source\x20=\x20f.read()\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20#\x20Try\x20to\x20parse\x20the\x20file\x0a\x20\x20\x20\x20\x20\x20\x20\x20ast.parse(source,\x20filename=filepath)\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20#\x20If\x20successful,\x20no\x20errors\x0a\x20\x20\x20\x20\x20\x20\x20\x20print(json.dumps({\x22success\x22:\x20True,\x20\x22errors\x22:\x20[]}))\x0a\x0a\x20\x20\x20\x20except\x20SyntaxError\x20as\x20e:\x0a\x20\x20\x20\x20\x20\x20\x20\x20error\x20=\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22file\x22:\x20filepath,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22line\x22:\x20e.lineno\x20or\x201,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22column\x22:\x20e.offset\x20or\x201,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22message\x22:\x20str(e.msg),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22text\x22:\x20e.text.strip()\x20if\x20e.text\x20else\x20\x22\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20print(json.dumps({\x22success\x22:\x20False,\x20\x22errors\x22:\x20[error]}))\x0a\x0a\x20\x20\x20\x20except\x20Exception\x20as\x20e:\x0a\x20\x20\x20\x20\x20\x20\x20\x20error\x20=\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22file\x22:\x20filepath,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22line\x22:\x201,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22column\x22:\x201,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22message\x22:\x20str(e),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22text\x22:\x20\x22\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20print(json.dumps({\x22success\x22:\x20False,\x20\x22errors\x22:\x20[error]}))\x0a\x0aif\x20__name__\x20==\x20\x22__main__\x22:\x0a\x20\x20\x20\x20if\x20len(sys.argv)\x20>\x201:\x0a\x20\x20\x20\x20\x20\x20\x20\x20check_syntax(sys.argv[1])\x0a\x20\x20\x20\x20else:\x0a\x20\x20\x20\x20\x20\x20\x20\x20print(json.dumps({\x22success\x22:\x20False,\x20\x22errors\x22:\x20[{\x22message\x22:\x20\x22No\x20file\x20specified\x22}]}))\x0a';await a0_0x5aa338[_0x11f4ac(0x1b0)](_0x2c38d5,_0x50b0fa,_0x11f4ac(0x1ac));const _0x6f97a3=await this[_0x11f4ac(0x1a6)](_0x54dbba,_0x2c38d5,[_0x24d519]);try{const _0x401457=JSON[_0x11f4ac(0x1a2)](_0x6f97a3['stdout']);if(!_0x401457[_0x11f4ac(0x1a0)]&&_0x401457[_0x11f4ac(0x1b1)])for(const _0x3c0c3d of _0x401457['errors']){_0x2f2747['push']({'file':_0xaf1c00,'line':_0x3c0c3d['line']||0x1,'column':_0x3c0c3d['column']||0x1,'severity':STATIC_ANALYSIS['SEVERITY']['ERROR'],'rule':_0x11f4ac(0x1b2),'message':_0x3c0c3d[_0x11f4ac(0x19f)],'category':STATIC_ANALYSIS[_0x11f4ac(0x19a)]['SYNTAX'],'fixable':![],'source':'python-ast','code':_0x3c0c3d['text']||undefined});}}catch(_0x206c15){this['logger']?.['warn'](_0x11f4ac(0x1bb),{'error':_0x206c15['message'],'stdout':_0x6f97a3['stdout']});}}finally{try{await a0_0x5aa338['unlink'](_0x2c38d5),await a0_0x5aa338['unlink'](_0x24d519);}catch{}}return _0x2f2747;}async['getPythonCommand'](){const _0x3dc3a8=a0_0x1957;if(this['pythonCommand'])return this[_0x3dc3a8(0x1a9)];const _0x54cdd6=['python3','python'];for(const _0x3d306d of _0x54cdd6){try{const _0x7b7335=await this['runCommand'](_0x3d306d,[_0x3dc3a8(0x1bc)]);if(_0x7b7335[_0x3dc3a8(0x1a0)])return this['pythonCommand']=_0x3d306d,this[_0x3dc3a8(0x1b4)]?.[_0x3dc3a8(0x19c)](_0x3dc3a8(0x194),{'command':_0x3d306d,'version':_0x7b7335[_0x3dc3a8(0x195)][_0x3dc3a8(0x19d)]()}),_0x3d306d;}catch{}}return null;}async[a0_0x1abf53(0x1a6)](_0x2464f6,_0x1a75eb,_0x1f105f=[]){const _0x47da6a=a0_0x1abf53;return this[_0x47da6a(0x19b)](_0x2464f6,[_0x1a75eb,..._0x1f105f]);}async['runCommand'](_0xf1eca4,_0x1a7fe5=[],_0x107b81={}){return new Promise((_0x1f0980,_0x458eb5)=>{const _0x59334a=a0_0x1957,_0x4a3420=spawn(_0xf1eca4,_0x1a7fe5,{..._0x107b81,'shell':!![]});let _0x56f362='',_0x25ab52='';_0x4a3420['stdout']?.['on'](_0x59334a(0x1be),_0x430de1=>{const _0x1ba9f9=_0x59334a;_0x56f362+=_0x430de1[_0x1ba9f9(0x193)]();}),_0x4a3420[_0x59334a(0x1af)]?.['on'](_0x59334a(0x1be),_0x2bd721=>{_0x25ab52+=_0x2bd721['toString']();}),_0x4a3420['on']('error',_0x2f2513=>{_0x458eb5(_0x2f2513);}),_0x4a3420['on'](_0x59334a(0x1a3),_0x18aee6=>{_0x1f0980({'success':_0x18aee6===0x0,'code':_0x18aee6,'stdout':_0x56f362,'stderr':_0x25ab52});}),setTimeout(()=>{const _0x16f11b=_0x59334a;_0x4a3420[_0x16f11b(0x1a5)](),_0x458eb5(new Error(_0x16f11b(0x1b3)));},0x2710);});}['getSupportedExtensions'](){const _0xacdb2f=a0_0x1abf53;return[_0xacdb2f(0x1ab)];}['supportsAutoFix'](){return![];}}export default PythonAnalyzer;
1
+ const a0_0x58c86d=a0_0x3858;(function(_0x3b9a7a,_0x4d195b){const _0x3b66e3=a0_0x3858,_0x25e3a3=_0x3b9a7a();while(!![]){try{const _0x52ec04=parseInt(_0x3b66e3(0x20c))/0x1+parseInt(_0x3b66e3(0x201))/0x2*(-parseInt(_0x3b66e3(0x1f6))/0x3)+parseInt(_0x3b66e3(0x1f2))/0x4*(parseInt(_0x3b66e3(0x1eb))/0x5)+-parseInt(_0x3b66e3(0x1fe))/0x6*(-parseInt(_0x3b66e3(0x219))/0x7)+-parseInt(_0x3b66e3(0x20a))/0x8+parseInt(_0x3b66e3(0x1f4))/0x9*(-parseInt(_0x3b66e3(0x205))/0xa)+parseInt(_0x3b66e3(0x1f7))/0xb*(parseInt(_0x3b66e3(0x1e9))/0xc);if(_0x52ec04===_0x4d195b)break;else _0x25e3a3['push'](_0x25e3a3['shift']());}catch(_0x2872a7){_0x25e3a3['push'](_0x25e3a3['shift']());}}}(a0_0x8c87,0x9c7e7));import{spawn}from'child_process';function a0_0x3858(_0x7c8c58,_0x234a64){_0x7c8c58=_0x7c8c58-0x1e9;const _0x8c8788=a0_0x8c87();let _0x385856=_0x8c8788[_0x7c8c58];if(a0_0x3858['xTdrte']===undefined){var _0x210001=function(_0x320c9f){const _0x23e667='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x279eaf='',_0x2cdba3='';for(let _0x4c03ea=0x0,_0x46e3d5,_0x57dc5f,_0x3ada3f=0x0;_0x57dc5f=_0x320c9f['charAt'](_0x3ada3f++);~_0x57dc5f&&(_0x46e3d5=_0x4c03ea%0x4?_0x46e3d5*0x40+_0x57dc5f:_0x57dc5f,_0x4c03ea++%0x4)?_0x279eaf+=String['fromCharCode'](0xff&_0x46e3d5>>(-0x2*_0x4c03ea&0x6)):0x0){_0x57dc5f=_0x23e667['indexOf'](_0x57dc5f);}for(let _0x1670ee=0x0,_0x3f0876=_0x279eaf['length'];_0x1670ee<_0x3f0876;_0x1670ee++){_0x2cdba3+='%'+('00'+_0x279eaf['charCodeAt'](_0x1670ee)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2cdba3);};a0_0x3858['hIJCVC']=_0x210001,a0_0x3858['iNtuDV']={},a0_0x3858['xTdrte']=!![];}const _0x4344ea=_0x8c8788[0x0],_0x88151f=_0x7c8c58+_0x4344ea,_0x2c5170=a0_0x3858['iNtuDV'][_0x88151f];return!_0x2c5170?(_0x385856=a0_0x3858['hIJCVC'](_0x385856),a0_0x3858['iNtuDV'][_0x88151f]=_0x385856):_0x385856=_0x2c5170,_0x385856;}import{STATIC_ANALYSIS}from'../utilities/constants.js';function a0_0x8c87(){const _0x3d97a4=['CgfYC2u','z2v0uhL0Ag9Uq29TBwfUza','BM93','mte3nZy0mZbdtMfxyM4','ls12zxjZAw9U','rMfPBgvKihrVihbHCNnLifb5DgHVBIbZEw50yxGGy2HLy2SGCMvZDwX0','BgvUz3rO','D2fYBG','mZm0ntmZnNrgtu9vAa','ChL0Ag9Uq29TBwfUza','nJe4mJKWEKXJr3ns','zxjYB3jZ','zgvIDwC','C3LUDgf4x2nOzwnRxW','BgLUzq','Dg9tDhjPBMC','C3vJy2vZCW','q29TBwfUzcb0Aw1LB3v0','C3rKzxjY','Dg1WzgLY','yw5HBhL6zq','u0vwrvjjvfK','CNvUq29TBwfUza','mtq1mty1m0nID3vwrG','CNvUuhL0Ag9Uu2nYAxb0','ChvZAa','mtjRD1nVrKC','lNb5','nuXwwwDsyq','zxjYB3i','DxrMltG','y29SDw1U','zgf0yq','Dgv4Da','zMLSDgvY','ndqZmdm1nM5dshnTtq','BwvZC2fNzq','ourus3PPrq','D3jPDgvgAwXL','mJu0nZi0mefyugrUta','ntGZntqZnfHptujtCG','rM91BMqGuhL0Ag9UignVBw1HBMq','Bg9Nz2vY','DgfYz2v0xW','y2XVC2u','Dw5SAw5R','uhL0Ag9Uig5VDcbHDMfPBgfIBguSihnRAxbWAw5NigfUywX5C2LZ','mJrRANPPBuO','C3rKB3v0','rvjst1i','mNvsCw1HzW'];a0_0x8c87=function(){return _0x3d97a4;};return a0_0x8c87();}import a0_0x279eaf from'fs/promises';import a0_0x2cdba3 from'path';import a0_0x4c03ea from'os';class PythonAnalyzer{constructor(_0x46e3d5=null){const _0x23a7a5=a0_0x3858;this[_0x23a7a5(0x1f9)]=_0x46e3d5,this[_0x23a7a5(0x20b)]=null;}async[a0_0x58c86d(0x216)](_0x57dc5f,_0x3ada3f,_0x1670ee={}){const _0x1d3e0e=a0_0x58c86d;try{const _0x3f0876=[],_0x57a5ea=await this[_0x1d3e0e(0x203)]();if(!_0x57a5ea)return this['logger']?.['warn'](_0x1d3e0e(0x1fd)),[];const _0x3162ea=await this['checkSyntax'](_0x57dc5f,_0x3ada3f,_0x57a5ea);return _0x3f0876[_0x1d3e0e(0x21b)](..._0x3162ea),this['logger']?.['debug']('Python\x20analysis\x20completed',{'file':_0x57dc5f,'totalDiagnostics':_0x3f0876[_0x1d3e0e(0x208)],'errors':_0x3f0876['filter'](_0x36ee17=>_0x36ee17['severity']===STATIC_ANALYSIS['SEVERITY'][_0x1d3e0e(0x200)])['length'],'warnings':_0x3f0876[_0x1d3e0e(0x1f1)](_0x2e5246=>_0x2e5246['severity']===STATIC_ANALYSIS[_0x1d3e0e(0x217)]['WARNING'])['length']}),_0x3f0876;}catch(_0x2d9409){return this['logger']?.[_0x1d3e0e(0x1ec)]('Python\x20analysis\x20failed',{'file':_0x57dc5f,'error':_0x2d9409[_0x1d3e0e(0x1f3)]}),[];}}async['checkSyntax'](_0x32f046,_0x3187be,_0xeed012){const _0x4d902b=a0_0x58c86d,_0x235219=[],_0x359a97=a0_0x4c03ea[_0x4d902b(0x215)](),_0x3d2090=a0_0x2cdba3['join'](_0x359a97,_0x4d902b(0x20f)+Date[_0x4d902b(0x204)]()+'.py'),_0x402418=a0_0x2cdba3['join'](_0x359a97,_0x4d902b(0x1fa)+Date[_0x4d902b(0x204)]()+_0x4d902b(0x1ea));try{await a0_0x279eaf['writeFile'](_0x402418,_0x3187be,'utf-8');const _0x37ce5e='\x0aimport\x20ast\x0aimport\x20sys\x0aimport\x20json\x0a\x0adef\x20check_syntax(filepath):\x0a\x20\x20\x20\x20try:\x0a\x20\x20\x20\x20\x20\x20\x20\x20with\x20open(filepath,\x20\x27r\x27,\x20encoding=\x27utf-8\x27)\x20as\x20f:\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20source\x20=\x20f.read()\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20#\x20Try\x20to\x20parse\x20the\x20file\x0a\x20\x20\x20\x20\x20\x20\x20\x20ast.parse(source,\x20filename=filepath)\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20#\x20If\x20successful,\x20no\x20errors\x0a\x20\x20\x20\x20\x20\x20\x20\x20print(json.dumps({\x22success\x22:\x20True,\x20\x22errors\x22:\x20[]}))\x0a\x0a\x20\x20\x20\x20except\x20SyntaxError\x20as\x20e:\x0a\x20\x20\x20\x20\x20\x20\x20\x20error\x20=\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22file\x22:\x20filepath,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22line\x22:\x20e.lineno\x20or\x201,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22column\x22:\x20e.offset\x20or\x201,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22message\x22:\x20str(e.msg),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22text\x22:\x20e.text.strip()\x20if\x20e.text\x20else\x20\x22\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20print(json.dumps({\x22success\x22:\x20False,\x20\x22errors\x22:\x20[error]}))\x0a\x0a\x20\x20\x20\x20except\x20Exception\x20as\x20e:\x0a\x20\x20\x20\x20\x20\x20\x20\x20error\x20=\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22file\x22:\x20filepath,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22line\x22:\x201,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22column\x22:\x201,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22message\x22:\x20str(e),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22text\x22:\x20\x22\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20print(json.dumps({\x22success\x22:\x20False,\x20\x22errors\x22:\x20[error]}))\x0a\x0aif\x20__name__\x20==\x20\x22__main__\x22:\x0a\x20\x20\x20\x20if\x20len(sys.argv)\x20>\x201:\x0a\x20\x20\x20\x20\x20\x20\x20\x20check_syntax(sys.argv[1])\x0a\x20\x20\x20\x20else:\x0a\x20\x20\x20\x20\x20\x20\x20\x20print(json.dumps({\x22success\x22:\x20False,\x20\x22errors\x22:\x20[{\x22message\x22:\x20\x22No\x20file\x20specified\x22}]}))\x0a';await a0_0x279eaf[_0x4d902b(0x1f5)](_0x3d2090,_0x37ce5e,_0x4d902b(0x1ed));const _0x379305=await this['runPythonScript'](_0xeed012,_0x3d2090,[_0x402418]);try{const _0x2e964f=JSON[_0x4d902b(0x202)](_0x379305['stdout']);if(!_0x2e964f[_0x4d902b(0x212)]&&_0x2e964f[_0x4d902b(0x20d)])for(const _0x244796 of _0x2e964f['errors']){_0x235219[_0x4d902b(0x21b)]({'file':_0x32f046,'line':_0x244796[_0x4d902b(0x210)]||0x1,'column':_0x244796[_0x4d902b(0x1ee)]||0x1,'severity':STATIC_ANALYSIS[_0x4d902b(0x217)]['ERROR'],'rule':'SyntaxError','message':_0x244796['message'],'category':STATIC_ANALYSIS['CATEGORY']['SYNTAX'],'fixable':![],'source':'python-ast','code':_0x244796[_0x4d902b(0x1f0)]||undefined});}}catch(_0x151757){this[_0x4d902b(0x1f9)]?.[_0x4d902b(0x209)](_0x4d902b(0x207),{'error':_0x151757['message'],'stdout':_0x379305['stdout']});}}finally{try{await a0_0x279eaf['unlink'](_0x3d2090),await a0_0x279eaf[_0x4d902b(0x1fc)](_0x402418);}catch{}}return _0x235219;}async[a0_0x58c86d(0x203)](){const _0x39f70f=a0_0x58c86d;if(this[_0x39f70f(0x20b)])return this[_0x39f70f(0x20b)];const _0x5c0b6b=['python3','python'];for(const _0x35883e of _0x5c0b6b){try{const _0x5b016c=await this[_0x39f70f(0x218)](_0x35883e,[_0x39f70f(0x206)]);if(_0x5b016c['success'])return this[_0x39f70f(0x20b)]=_0x35883e,this['logger']?.[_0x39f70f(0x20e)](_0x39f70f(0x1f8),{'command':_0x35883e,'version':_0x5b016c['stdout']['trim']()}),_0x35883e;}catch{}}return null;}async[a0_0x58c86d(0x21a)](_0x39b85d,_0x4fa005,_0x4d98b0=[]){const _0x32ca3b=a0_0x58c86d;return this[_0x32ca3b(0x218)](_0x39b85d,[_0x4fa005,..._0x4d98b0]);}async['runCommand'](_0x4d95f2,_0xc63ef9=[],_0x2b3394={}){return new Promise((_0x3c8c87,_0x40f93b)=>{const _0x14fa35=a0_0x3858,_0x45df83=spawn(_0x4d95f2,_0xc63ef9,{..._0x2b3394,'shell':!![]});let _0x129191='',_0x55d0ce='';_0x45df83[_0x14fa35(0x1ff)]?.['on'](_0x14fa35(0x1ef),_0x57d5b7=>{_0x129191+=_0x57d5b7['toString']();}),_0x45df83[_0x14fa35(0x214)]?.['on']('data',_0x332921=>{const _0x45b412=_0x14fa35;_0x55d0ce+=_0x332921[_0x45b412(0x211)]();}),_0x45df83['on'](_0x14fa35(0x1ec),_0x1ee724=>{_0x40f93b(_0x1ee724);}),_0x45df83['on'](_0x14fa35(0x1fb),_0x3d74f5=>{_0x3c8c87({'success':_0x3d74f5===0x0,'code':_0x3d74f5,'stdout':_0x129191,'stderr':_0x55d0ce});}),setTimeout(()=>{const _0x59d80c=_0x14fa35;_0x45df83['kill'](),_0x40f93b(new Error(_0x59d80c(0x213)));},0x2710);});}['getSupportedExtensions'](){return['.py'];}['supportsAutoFix'](){return![];}}export default PythonAnalyzer;
@@ -1 +1 @@
1
- function a0_0x256c(_0x154486,_0x3e5919){_0x154486=_0x154486-0x7f;const _0x2627cc=a0_0x2627();let _0x256c23=_0x2627cc[_0x154486];if(a0_0x256c['IweFlq']===undefined){var _0x415ca1=function(_0x5111e2){const _0x3ea0a7='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3f135a='',_0x4d6b67='';for(let _0x3cab2c=0x0,_0x30d481,_0x403b69,_0x1a9561=0x0;_0x403b69=_0x5111e2['charAt'](_0x1a9561++);~_0x403b69&&(_0x30d481=_0x3cab2c%0x4?_0x30d481*0x40+_0x403b69:_0x403b69,_0x3cab2c++%0x4)?_0x3f135a+=String['fromCharCode'](0xff&_0x30d481>>(-0x2*_0x3cab2c&0x6)):0x0){_0x403b69=_0x3ea0a7['indexOf'](_0x403b69);}for(let _0x1e7e64=0x0,_0xd0c578=_0x3f135a['length'];_0x1e7e64<_0xd0c578;_0x1e7e64++){_0x4d6b67+='%'+('00'+_0x3f135a['charCodeAt'](_0x1e7e64)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4d6b67);};a0_0x256c['isPdcS']=_0x415ca1,a0_0x256c['gjbALN']={},a0_0x256c['IweFlq']=!![];}const _0x4bcdf2=_0x2627cc[0x0],_0x78f87=_0x154486+_0x4bcdf2,_0x193609=a0_0x256c['gjbALN'][_0x78f87];return!_0x193609?(_0x256c23=a0_0x256c['isPdcS'](_0x256c23),a0_0x256c['gjbALN'][_0x78f87]=_0x256c23):_0x256c23=_0x193609,_0x256c23;}const a0_0x438a33=a0_0x256c;(function(_0x619700,_0x4cd5de){const _0x5a1c49=a0_0x256c,_0xd20f6a=_0x619700();while(!![]){try{const _0x480ccf=-parseInt(_0x5a1c49(0xe9))/0x1+parseInt(_0x5a1c49(0x80))/0x2+-parseInt(_0x5a1c49(0xef))/0x3+parseInt(_0x5a1c49(0x97))/0x4*(parseInt(_0x5a1c49(0x9f))/0x5)+parseInt(_0x5a1c49(0x86))/0x6*(-parseInt(_0x5a1c49(0x8e))/0x7)+parseInt(_0x5a1c49(0xe6))/0x8+parseInt(_0x5a1c49(0xa6))/0x9;if(_0x480ccf===_0x4cd5de)break;else _0xd20f6a['push'](_0xd20f6a['shift']());}catch(_0x11d67d){_0xd20f6a['push'](_0xd20f6a['shift']());}}}(a0_0x2627,0xa9882));import{exec}from'child_process';import{promisify}from'util';import a0_0x3f135a from'path';import a0_0x4d6b67 from'fs/promises';import{STATIC_ANALYSIS}from'../utilities/constants.js';const execAsync=promisify(exec);class SecurityAnalyzer{constructor(_0x3cab2c=null){const _0x209fdf=a0_0x256c;this[_0x209fdf(0xa5)]=_0x3cab2c,this[_0x209fdf(0xc1)]=null,this[_0x209fdf(0x94)]=new Map(),this[_0x209fdf(0xc5)]=a0_0x3f135a['join'](process[_0x209fdf(0xdc)](),'node_modules','.scanners');}async['detectAvailableScanners'](){const _0x555f21=a0_0x256c;if(this[_0x555f21(0xc1)]!==null)return this['availableScanners'];const _0x30d481={'semgrep':![],'bandit':![],'npmAudit':![],'pipAudit':![],'eslintSecurity':![]};try{const _0x403b69=a0_0x3f135a['join'](this['localScannerDir'],'semgrep');try{await a0_0x4d6b67[_0x555f21(0xdf)](_0x403b69),_0x30d481['semgrep']=!![],this['logger']?.['debug']('Semgrep\x20scanner\x20detected\x20(local)');}catch{await execAsync('semgrep\x20--version',{'timeout':0x1388}),_0x30d481[_0x555f21(0x92)]=!![],this['logger']?.[_0x555f21(0xfc)](_0x555f21(0xaf));}}catch(_0x1a9561){this['logger']?.['debug'](_0x555f21(0xe1),{'error':_0x1a9561['message']});}try{await execAsync(_0x555f21(0xc4),{'timeout':0x1388}),_0x30d481[_0x555f21(0xec)]=!![],this[_0x555f21(0xa5)]?.[_0x555f21(0xfc)](_0x555f21(0x104));}catch(_0x1e7e64){this[_0x555f21(0xa5)]?.[_0x555f21(0xfc)](_0x555f21(0x8b),{'error':_0x1e7e64['message']});}try{await execAsync('npm\x20--version',{'timeout':0x1388}),_0x30d481[_0x555f21(0x8a)]=!![],this['logger']?.[_0x555f21(0xfc)]('npm\x20audit\x20available');}catch(_0xd0c578){this['logger']?.[_0x555f21(0xfc)]('npm\x20not\x20available',{'error':_0xd0c578[_0x555f21(0x99)]});}try{await execAsync(_0x555f21(0xc3),{'timeout':0x1388}),_0x30d481[_0x555f21(0xbd)]=!![],this['logger']?.['debug'](_0x555f21(0xc2));}catch(_0x4b3d2e){this[_0x555f21(0xa5)]?.[_0x555f21(0xfc)]('pip-audit\x20not\x20available',{'error':_0x4b3d2e['message']});}try{const _0x5ec9ef=await execAsync('npm\x20list\x20eslint-plugin-security\x20--depth=0\x20--json',{'timeout':0x1388,'cwd':process['cwd']()}),_0x3fd856=JSON[_0x555f21(0xce)](_0x5ec9ef['stdout']);_0x3fd856['dependencies']&&_0x3fd856[_0x555f21(0xe8)]['eslint-plugin-security']&&(_0x30d481['eslintSecurity']=!![],this['logger']?.['debug']('eslint-plugin-security\x20detected'));}catch(_0x4a62d7){this['logger']?.['debug'](_0x555f21(0xcc),{'error':_0x4a62d7[_0x555f21(0x99)]});}return this['availableScanners']=_0x30d481,_0x30d481;}async['analyze'](_0x30a2f,_0x316ca8,_0x48d230={}){const _0x42d07c=a0_0x256c,_0x26604a=[],_0x21f0a7=await this['detectAvailableScanners'](),_0x5970db=this['detectLanguage'](_0x30a2f);if(_0x48d230[_0x42d07c(0xb0)]!==![]&&this['isTestFile'](_0x30a2f))return this[_0x42d07c(0xa5)]?.['debug'](_0x42d07c(0xab),{'filePath':_0x30a2f}),[];if(_0x5970db==='javascript'||_0x5970db===_0x42d07c(0xf1)){if(_0x21f0a7[_0x42d07c(0x92)]){const _0x281aa1=await this['runSemgrep'](_0x30a2f,[_0x5970db],_0x48d230);_0x26604a[_0x42d07c(0xc6)](..._0x281aa1);}if(_0x21f0a7['eslintSecurity']){const _0x1bc210=await this['runESLintSecurity'](_0x30a2f,_0x316ca8,_0x48d230);_0x26604a['push'](..._0x1bc210);}}if(_0x5970db===_0x42d07c(0xdd)){if(_0x21f0a7[_0x42d07c(0xec)]){const _0xe758b=await this['runBandit'](_0x30a2f,_0x48d230);_0x26604a['push'](..._0xe758b);}if(_0x21f0a7[_0x42d07c(0x92)]){const _0x447438=await this['runSemgrep'](_0x30a2f,[_0x5970db],_0x48d230);_0x26604a['push'](..._0x447438);}}return _0x26604a[_0x42d07c(0xe4)]===0x0&&!this[_0x42d07c(0x9d)](_0x21f0a7,_0x5970db)&&this['logger']?.[_0x42d07c(0xfa)](_0x42d07c(0xb6),{'language':_0x5970db,'filePath':_0x30a2f}),this['normalizeResults'](_0x26604a);}async['analyzeProject'](_0x3831d4,_0x3e06a4,_0x264ea9={}){const _0x3db1a8=a0_0x256c,_0x39b667=[],_0x104cb7=await this['detectAvailableScanners']();if(_0x3e06a4===_0x3db1a8(0xa2)||_0x3e06a4===_0x3db1a8(0xf1)){if(_0x104cb7['npmAudit']){const _0x318afe=await this['runNpmAudit'](_0x3831d4,_0x264ea9);_0x39b667[_0x3db1a8(0xc6)](..._0x318afe);}}if(_0x3e06a4===_0x3db1a8(0xdd)){if(_0x104cb7['pipAudit']){const _0x471a30=await this['runPipAudit'](_0x3831d4,_0x264ea9);_0x39b667['push'](..._0x471a30);}}return this[_0x3db1a8(0xba)](_0x39b667);}async['runSemgrep'](_0x433d04,_0x168073,_0x260759={}){const _0x161ad1=a0_0x256c;try{const _0x434eab=a0_0x3f135a[_0x161ad1(0x107)](_0x433d04),_0x1ddd47=await execAsync(_0x161ad1(0xbb)+_0x433d04+'\x22',{'maxBuffer':0xa*0x400*0x400,'timeout':0x7530,'cwd':_0x434eab}),_0x331dbf=JSON[_0x161ad1(0xce)](_0x1ddd47['stdout']);return this[_0x161ad1(0x88)](_0x331dbf);}catch(_0x4f5875){if(_0x4f5875['stdout'])try{const _0x4174d2=JSON[_0x161ad1(0xce)](_0x4f5875[_0x161ad1(0x93)]);return this['parseSemgrepResults'](_0x4174d2);}catch(_0x4653a7){this[_0x161ad1(0xa5)]?.['error'](_0x161ad1(0xa0),{'error':_0x4653a7[_0x161ad1(0x99)],'stdout':_0x4f5875['stdout']});}return this[_0x161ad1(0xa5)]?.[_0x161ad1(0xa9)](_0x161ad1(0xf8),{'error':_0x4f5875['message']}),[];}}['parseSemgrepResults'](_0x5134b0){const _0x4c3e91=a0_0x256c,_0x3aa14f=[];if(_0x5134b0['results']&&Array['isArray'](_0x5134b0[_0x4c3e91(0xbe)]))for(const _0x15bed5 of _0x5134b0[_0x4c3e91(0xbe)]){_0x3aa14f[_0x4c3e91(0xc6)]({'file':_0x15bed5[_0x4c3e91(0x84)],'line':_0x15bed5[_0x4c3e91(0xcb)]?.['line']||0x1,'column':_0x15bed5['start']?.['col']||0x1,'severity':this['mapSemgrepSeverity'](_0x15bed5['extra']?.[_0x4c3e91(0xd6)]),'rule':_0x15bed5[_0x4c3e91(0x10b)],'message':_0x15bed5['extra']?.[_0x4c3e91(0x99)]||_0x15bed5[_0x4c3e91(0x7f)]?.[_0x4c3e91(0xae)]||'Security\x20issue\x20detected','category':_0x4c3e91(0xb3),'scanner':_0x4c3e91(0x92),'cwe':_0x15bed5['extra']?.['metadata']?.[_0x4c3e91(0xb8)],'owasp':_0x15bed5[_0x4c3e91(0x7f)]?.[_0x4c3e91(0x9a)]?.['owasp'],'confidence':_0x15bed5[_0x4c3e91(0x7f)]?.['metadata']?.['confidence'],'references':_0x15bed5['extra']?.[_0x4c3e91(0x9a)]?.[_0x4c3e91(0xcf)]});}return _0x3aa14f;}async[a0_0x438a33(0xe7)](_0x370e66,_0x3f1710={}){const _0x509595=a0_0x438a33;try{const _0x48e3c9=await execAsync(_0x509595(0x8c)+_0x370e66+'\x22',{'maxBuffer':0xa*0x400*0x400,'timeout':0x7530}),_0x49c6ca=JSON['parse'](_0x48e3c9[_0x509595(0x93)]);return this[_0x509595(0xa8)](_0x49c6ca);}catch(_0x497581){if(_0x497581['stdout'])try{const _0x53b1ef=JSON[_0x509595(0xce)](_0x497581[_0x509595(0x93)]);return this[_0x509595(0xa8)](_0x53b1ef);}catch(_0x17de4b){this[_0x509595(0xa5)]?.[_0x509595(0xa9)](_0x509595(0xd0),{'error':_0x17de4b['message']});}return this['logger']?.['error'](_0x509595(0xea),{'error':_0x497581['message']}),[];}}[a0_0x438a33(0xa8)](_0x50b427){const _0x578693=a0_0x438a33,_0x3a2f88=[];if(_0x50b427['results']&&Array['isArray'](_0x50b427['results']))for(const _0x2f4e10 of _0x50b427[_0x578693(0xbe)]){_0x3a2f88['push']({'file':_0x2f4e10['filename'],'line':_0x2f4e10['line_number']||0x1,'column':_0x2f4e10['col_offset']||0x1,'severity':this['mapBanditSeverity'](_0x2f4e10[_0x578693(0xa7)]),'rule':_0x2f4e10['test_id'],'message':_0x2f4e10[_0x578693(0xfb)],'category':_0x578693(0xb3),'scanner':'bandit','cwe':_0x2f4e10[_0x578693(0xe5)]?.['id']?_0x578693(0xdb)+_0x2f4e10['issue_cwe']['id']:null,'confidence':_0x2f4e10['issue_confidence'],'moreInfo':_0x2f4e10[_0x578693(0xed)]});}return _0x3a2f88;}async['runESLintSecurity'](_0x21fd36,_0x4cf76b,_0x3d8ffa={}){const _0x174eb6=a0_0x438a33;try{const {ESLint:_0xc42b10}=await import('eslint'),_0xa0a696=new _0xc42b10({'overrideConfig':{'plugins':['security'],'extends':[_0x174eb6(0x10a)],'parserOptions':{'ecmaVersion':_0x174eb6(0xe0),'sourceType':'module'}},'useEslintrc':![]}),_0x1bb633=await _0xa0a696[_0x174eb6(0xc8)](_0x4cf76b,{'filePath':_0x21fd36});return this[_0x174eb6(0xf2)](_0x1bb633,_0x21fd36);}catch(_0x111ef3){return this['logger']?.['error']('ESLint\x20security\x20scan\x20failed',{'error':_0x111ef3[_0x174eb6(0x99)],'filePath':_0x21fd36}),[];}}['parseESLintResults'](_0x804b32,_0x3f5189){const _0x230a76=a0_0x438a33,_0x2e6daa=[];for(const _0xaa448d of _0x804b32){if(_0xaa448d[_0x230a76(0xf7)]&&Array[_0x230a76(0xcd)](_0xaa448d['messages']))for(const _0x9c4606 of _0xaa448d['messages']){_0x9c4606[_0x230a76(0xf9)]&&_0x9c4606['ruleId']['startsWith'](_0x230a76(0xda))&&_0x2e6daa['push']({'file':_0x3f5189,'line':_0x9c4606[_0x230a76(0x109)]||0x1,'column':_0x9c4606[_0x230a76(0xb9)]||0x1,'severity':this[_0x230a76(0xaa)](_0x9c4606[_0x230a76(0xd6)]),'rule':_0x9c4606[_0x230a76(0xf9)],'message':_0x9c4606[_0x230a76(0x99)],'category':'security','scanner':_0x230a76(0xc9),'fixable':_0x9c4606['fix']!==undefined});}}return _0x2e6daa;}async[a0_0x438a33(0xf5)](_0x8fedae,_0x17a362={}){const _0x143aff=a0_0x438a33;try{const _0x565c64=a0_0x3f135a[_0x143aff(0x95)](_0x8fedae,_0x143aff(0xd2));try{await a0_0x4d6b67['access'](_0x565c64);}catch{return this[_0x143aff(0xa5)]?.['debug'](_0x143aff(0x8f)),[];}const _0x5d83cf=await execAsync(_0x143aff(0xb5),{'cwd':_0x8fedae,'maxBuffer':0xa*0x400*0x400,'timeout':0xea60}),_0x535c89=JSON['parse'](_0x5d83cf[_0x143aff(0x93)]);return this['parseNpmAuditResults'](_0x535c89);}catch(_0x562381){if(_0x562381[_0x143aff(0x93)])try{const _0x399d72=JSON[_0x143aff(0xce)](_0x562381[_0x143aff(0x93)]);return this[_0x143aff(0x89)](_0x399d72);}catch(_0x34534e){this[_0x143aff(0xa5)]?.[_0x143aff(0xa9)](_0x143aff(0x82),{'error':_0x34534e[_0x143aff(0x99)]});}return[];}}['parseNpmAuditResults'](_0x48dbd0){const _0x467431=a0_0x438a33,_0x80af5f=[];if(_0x48dbd0['vulnerabilities'])for(const [_0x4c2c44,_0x110cef]of Object[_0x467431(0x101)](_0x48dbd0['vulnerabilities'])){_0x80af5f['push']({'file':'package.json','line':0x1,'column':0x1,'severity':this[_0x467431(0xb7)](_0x110cef[_0x467431(0xd6)]),'rule':'npm-'+(_0x110cef[_0x467431(0x98)][0x0]?.[_0x467431(0xf0)]||_0x467431(0xbc)),'message':_0x4c2c44+':\x20'+(_0x110cef['via'][0x0]?.['title']||'Security\x20vulnerability'),'category':'security','scanner':_0x467431(0x81),'package':_0x4c2c44,'vulnerableVersions':_0x110cef[_0x467431(0xf4)],'patchedVersions':_0x110cef[_0x467431(0x106)]?_0x467431(0xa4):_0x467431(0x102),'cve':_0x110cef['via'][0x0]?.['cve'],'cvss':_0x110cef[_0x467431(0x98)][0x0]?.[_0x467431(0xd5)],'references':_0x110cef[_0x467431(0x98)][0x0]?.[_0x467431(0x108)]?[_0x110cef['via'][0x0]['url']]:[]});}return _0x80af5f;}async[a0_0x438a33(0xe2)](_0x139c64,_0x47af3f={}){const _0x2302d5=a0_0x438a33;try{const requirementsPath=a0_0x3f135a['join'](_0x139c64,_0x2302d5(0xd1));try{await a0_0x4d6b67['access'](requirementsPath);}catch{return this['logger']?.['debug'](_0x2302d5(0x100)),[];}const _0x6b429c=await execAsync(_0x2302d5(0xc7),{'cwd':_0x139c64,'maxBuffer':0xa*0x400*0x400,'timeout':0xea60}),_0x23301c=JSON[_0x2302d5(0xce)](_0x6b429c[_0x2302d5(0x93)]);return this['parsePipAuditResults'](_0x23301c);}catch(_0x53a432){if(_0x53a432['stdout'])try{const _0x11a46f=JSON['parse'](_0x53a432[_0x2302d5(0x93)]);return this['parsePipAuditResults'](_0x11a46f);}catch(_0x19e6de){this[_0x2302d5(0xa5)]?.[_0x2302d5(0xa9)](_0x2302d5(0xac),{'error':_0x19e6de['message']});}return[];}}[a0_0x438a33(0xd7)](_0x23961e){const _0x33a8aa=a0_0x438a33,_0x2088c9=[];if(_0x23961e['dependencies']&&Array[_0x33a8aa(0xcd)](_0x23961e[_0x33a8aa(0xe8)]))for(const _0x5717a7 of _0x23961e[_0x33a8aa(0xe8)]){if(_0x5717a7[_0x33a8aa(0x87)]&&Array[_0x33a8aa(0xcd)](_0x5717a7['vulns']))for(const _0x41813c of _0x5717a7[_0x33a8aa(0x87)]){_0x2088c9['push']({'file':'requirements.txt','line':0x1,'column':0x1,'severity':this[_0x33a8aa(0xa3)](_0x41813c[_0x33a8aa(0xd6)]),'rule':_0x41813c['id'],'message':_0x5717a7['name']+':\x20'+(_0x41813c[_0x33a8aa(0xf6)]||'Security\x20vulnerability'),'category':'security','scanner':'pip-audit','package':_0x5717a7[_0x33a8aa(0xee)],'vulnerableVersion':_0x5717a7[_0x33a8aa(0xde)],'fixedVersions':_0x41813c['fix_versions'],'references':_0x41813c[_0x33a8aa(0xb2)]||[]});}}return _0x2088c9;}[a0_0x438a33(0xd3)](_0x1ba0c4){const _0x1f5b35=a0_0x438a33,_0x181742=a0_0x3f135a[_0x1f5b35(0x8d)](_0x1ba0c4)[_0x1f5b35(0x9e)](),_0x5e8911={'.js':_0x1f5b35(0xa2),'.jsx':'javascript','.mjs':'javascript','.cjs':'javascript','.ts':_0x1f5b35(0xf1),'.tsx':_0x1f5b35(0xf1),'.py':'python'};return _0x5e8911[_0x181742]||null;}[a0_0x438a33(0xeb)](_0x2fce35){const _0x3290ec=a0_0x438a33,_0xac4d38=[/\.test\./,/\.spec\./,/__tests__\//,/\/tests?\//,/\.test$/,/\.spec$/];return _0xac4d38[_0x3290ec(0x90)](_0x41c57c=>_0x41c57c[_0x3290ec(0xff)](_0x2fce35));}[a0_0x438a33(0x9d)](_0x5cf2ac,_0x4d9d98){const _0x528f70=a0_0x438a33;if(_0x4d9d98===_0x528f70(0xa2)||_0x4d9d98==='typescript')return _0x5cf2ac['semgrep']||_0x5cf2ac['eslintSecurity'];if(_0x4d9d98==='python')return _0x5cf2ac[_0x528f70(0xec)]||_0x5cf2ac[_0x528f70(0x92)];return![];}[a0_0x438a33(0xba)](_0xbc3544){const _0xb71bd=a0_0x438a33;return _0xbc3544[_0xb71bd(0xb1)](_0x56d225=>({'file':_0x56d225['file'],'line':_0x56d225['line']||0x1,'column':_0x56d225[_0xb71bd(0xb9)]||0x1,'severity':_0x56d225['severity']||STATIC_ANALYSIS['SEVERITY']['WARNING'],'rule':_0x56d225['rule']||'unknown','message':_0x56d225['message']||_0xb71bd(0xca),'category':'security','scanner':_0x56d225[_0xb71bd(0xbf)],'cwe':_0x56d225['cwe']||null,'owasp':_0x56d225[_0xb71bd(0x96)]||null,'confidence':_0x56d225[_0xb71bd(0xb4)]||null,'fixable':_0x56d225[_0xb71bd(0x105)]||![],'remediation':_0x56d225['remediation']||_0x56d225['moreInfo']||null,'references':_0x56d225[_0xb71bd(0xcf)]||[],'package':_0x56d225['package']||null}));}['mapSemgrepSeverity'](_0x18a42e){const _0x1312a0=a0_0x438a33,_0x5ee822={'ERROR':STATIC_ANALYSIS['SEVERITY']['CRITICAL'],'WARNING':STATIC_ANALYSIS[_0x1312a0(0x9c)][_0x1312a0(0x91)],'INFO':STATIC_ANALYSIS[_0x1312a0(0x9c)]['WARNING']};return _0x5ee822[_0x18a42e?.[_0x1312a0(0x103)]()]||STATIC_ANALYSIS['SEVERITY'][_0x1312a0(0xad)];}[a0_0x438a33(0xd4)](_0x418e0f){const _0x33f746=a0_0x438a33,_0x3eefa3={'HIGH':STATIC_ANALYSIS['SEVERITY'][_0x33f746(0xd9)],'MEDIUM':STATIC_ANALYSIS['SEVERITY'][_0x33f746(0x91)],'LOW':STATIC_ANALYSIS['SEVERITY'][_0x33f746(0xad)]};return _0x3eefa3[_0x418e0f?.[_0x33f746(0x103)]()]||STATIC_ANALYSIS[_0x33f746(0x9c)]['WARNING'];}[a0_0x438a33(0xaa)](_0x133e28){const _0x58a04f=a0_0x438a33;return _0x133e28===0x2?STATIC_ANALYSIS[_0x58a04f(0x9c)]['ERROR']:STATIC_ANALYSIS['SEVERITY']['WARNING'];}[a0_0x438a33(0xb7)](_0xb88aa){const _0x44ca11=a0_0x438a33,_0x471a92={'critical':STATIC_ANALYSIS[_0x44ca11(0x9c)]['CRITICAL'],'high':STATIC_ANALYSIS['SEVERITY'][_0x44ca11(0xd9)],'moderate':STATIC_ANALYSIS[_0x44ca11(0x9c)]['ERROR'],'low':STATIC_ANALYSIS['SEVERITY'][_0x44ca11(0xad)],'info':STATIC_ANALYSIS[_0x44ca11(0x9c)][_0x44ca11(0xd8)]};return _0x471a92[_0xb88aa?.[_0x44ca11(0x9e)]()]||STATIC_ANALYSIS['SEVERITY']['WARNING'];}[a0_0x438a33(0xa3)](_0x4ee92d){const _0x11140f=a0_0x438a33;if(!_0x4ee92d)return STATIC_ANALYSIS['SEVERITY'][_0x11140f(0x91)];const _0x4e6357={'critical':STATIC_ANALYSIS[_0x11140f(0x9c)]['CRITICAL'],'high':STATIC_ANALYSIS['SEVERITY'][_0x11140f(0xd9)],'medium':STATIC_ANALYSIS['SEVERITY']['ERROR'],'low':STATIC_ANALYSIS['SEVERITY']['WARNING']};return _0x4e6357[_0x4ee92d?.[_0x11140f(0x9e)]()]||STATIC_ANALYSIS['SEVERITY'][_0x11140f(0x91)];}async['getScannerStatus'](){const _0x50aab7=await this['detectAvailableScanners']();return{'scanners':_0x50aab7,'recommendations':this['getInstallRecommendations'](_0x50aab7)};}[a0_0x438a33(0xf3)](_0x59a9be){const _0x3d0407=a0_0x438a33,_0x2efa3f=[];return!_0x59a9be[_0x3d0407(0x92)]&&_0x2efa3f[_0x3d0407(0xc6)]({'scanner':_0x3d0407(0xc0),'reason':'Multi-language\x20SAST\x20with\x20extensive\x20security\x20rules','install':'pip\x20install\x20semgrep\x20OR\x20use\x20Docker:\x20docker\x20pull\x20returntocorp/semgrep','priority':'high'}),!_0x59a9be[_0x3d0407(0xec)]&&_0x2efa3f[_0x3d0407(0xc6)]({'scanner':_0x3d0407(0x83),'reason':_0x3d0407(0x9b),'install':_0x3d0407(0xfd),'priority':'medium'}),!_0x59a9be['eslintSecurity']&&_0x2efa3f[_0x3d0407(0xc6)]({'scanner':'eslint-plugin-security','reason':'JavaScript/TypeScript\x20security\x20rules','install':_0x3d0407(0x85),'priority':_0x3d0407(0xfe)}),!_0x59a9be[_0x3d0407(0xbd)]&&_0x2efa3f[_0x3d0407(0xc6)]({'scanner':'pip-audit','reason':_0x3d0407(0xe3),'install':'pip\x20install\x20pip-audit','priority':_0x3d0407(0xa1)}),_0x2efa3f;}}function a0_0x2627(){const _0x2b1b69=['Dg9vChbLCKnHC2u','qMfUzgL0ihnJyw5UzxiGzgv0zwn0zwq','zML4ywjSzq','zML4qxzHAwXHyMXL','zgLYBMfTzq','DxjS','BgLUzq','CgX1z2LUoNnLy3vYAxr5l3jLy29TBwvUzgvK','y2HLy2TFAwq','zxH0CMe','odG5ndCYyvfNzwjg','BNbTlwf1zgL0','rMfPBgvKihrVihbHCNnLig5WBsbHDwrPDcbVDxrWDxq','qMfUzgL0','Cgf0Aa','BNbTigLUC3rHBgWGls1ZyxzLlwrLDIbLC2XPBNqTCgX1z2LUlxnLy3vYAxr5','ntrMs1HIqK4','DNvSBNm','CgfYC2vtzw1NCMvWuMvZDwX0CW','CgfYC2voCg1bDwrPDfjLC3vSDhm','BNbTqxvKAxq','qMfUzgL0ig5VDcbHDMfPBgfIBgu','yMfUzgL0ic1MigPZB24GiG','zxH0BMfTzq','ndi0mJu2DLnpEuvV','tM8GCgfJA2fNzs5QC29UigzVDw5KlcbZA2LWCgLUzYbUCg0GyxvKAxq','C29Tzq','rvjst1i','C2vTz3jLCa','C3rKB3v0','C2nHBM5LCKnHy2HL','AM9PBG','B3DHC3a','ngrrAeTOwa','DMLH','BwvZC2fNzq','Bwv0ywrHDge','uhL0Ag9UihnLy3vYAxr5ihnJyw5Uzxi','u0vwrvjjvfK','AgfZu2nHBM5LCNngB3jmyw5NDwfNzq','Dg9mB3DLCKnHC2u','mtGXndq2nwDSr0P1CG','rMfPBgvKihrVihbHCNnLifnLBwDYzxaGB3v0Chv0','Bg93','AMf2yxnJCMLWDa','BwfWugLWqxvKAxrtzxzLCML0Eq','qxzHAwXHyMXL','Bg9Nz2vY','otiYndK2neDUvg9Rra','AxnZDwvFC2v2zxjPDhK','CgfYC2vcyw5KAxrszxn1BhrZ','zxjYB3i','BwfWrvnmAw50u2v2zxjPDhK','u2TPChbPBMCGDgvZDcbMAwXLigzVCIbZzwn1CML0EsbZy2fU','rMfPBgvKihrVihbHCNnLihbPCc1HDwrPDcbVDxrWDxq','v0fstKLorW','BgLUzxm','u2vTz3jLCcbZy2fUBMvYigrLDgvJDgvKicHZExn0zw0P','C2TPCfrLC3rgAwXLCW','BwfW','ywXPyxnLCW','C2vJDxjPDhK','y29UzMLKzw5Jzq','BNbTigf1zgL0ic0TANnVBG','tM8GC2vJDxjPDhKGC2nHBM5LCNmGyxzHAwXHyMXLigzVCIbSyw5NDwfNzq','BwfWtNbTu2v2zxjPDhK','y3DL','y29SDw1U','BM9YBwfSAxPLuMvZDwX0CW','C2vTz3jLCcaTlwnVBMzPzZ1HDxrVic0TANnVBIaI','ywr2AxnVCNK','CgLWqxvKAxq','CMvZDwX0CW','C2nHBM5LCG','u2vTz3jLCa','yxzHAwXHyMXLu2nHBM5LCNm','CgLWlwf1zgL0igrLDgvJDgvK','CgLWlwf1zgL0ic0TDMvYC2LVBG','yMfUzgL0ic0TDMvYC2LVBG','Bg9JywXty2fUBMvYrgLY','ChvZAa','CgLWlwf1zgL0ic0TzM9YBwf0igPZB24','BgLUDfrLEhq','zxnSAw50lxnLy3vYAxr5','u2vJDxjPDhKGAxnZDwuGzgv0zwn0zwq','C3rHCNq','zxnSAw50lxbSDwDPBI1Zzwn1CML0EsbUB3qGyxzHAwXHyMXL','AxnbCNjHEq','CgfYC2u','CMvMzxjLBMnLCW','rMfPBgvKihrVihbHCNnLiejHBMrPDcbVDxrWDxq','CMvXDwLYzw1LBNrZlNr4Da','CgfJA2fNzs5QC29U','zgv0zwn0tgfUz3vHz2u','BwfWqMfUzgL0u2v2zxjPDhK','y3zZCW','C2v2zxjPDhK','CgfYC2vqAxbbDwrPDfjLC3vSDhm','su5gtW','q1jjveLdquW','C2vJDxjPDhKV','q1Dflq','y3DK','ChL0Ag9U','DMvYC2LVBG','ywnJzxnZ','Bgf0zxn0','u2vTz3jLCcbUB3qGyxzHAwXHyMXL','CNvUugLWqxvKAxq','uhL0Ag9UigrLCgvUzgvUy3KGDNvSBMvYywjPBgL0EsbZy2fUBMvY','BgvUz3rO','AxnZDwvFy3DL','mtKZnJC5mLHHyvPXtG','CNvUqMfUzgL0','zgvWzw5Kzw5JAwvZ','nJi0mdy5t21hvLrP','qMfUzgL0ihnJyw4GzMfPBgvK','Axnuzxn0rMLSzq','yMfUzgL0','Bw9Yzv9PBMzV','BMfTzq','nJmYmZqZDMjzz0Tt','C291CMnL','DhLWzxnJCMLWDa','CgfYC2vfu0XPBNrszxn1BhrZ','z2v0sw5ZDgfSBfjLy29TBwvUzgf0Aw9UCW','CMfUz2u','CNvUtNbTqxvKAxq','zgvZy3jPChrPB24','BwvZC2fNzxm','u2vTz3jLCcbZy2fUigzHAwXLza','CNvSzuLK','D2fYBG','AxnZDwvFDgv4Da','zgvIDwC','CgLWigLUC3rHBgWGyMfUzgL0','BwvKAxvT','DgvZDa','tM8GCMvXDwLYzw1LBNrZlNr4DcbMB3vUzcWGC2TPChbPBMCGCgLWlwf1zgL0','zw50CMLLCW','tM9Uzq'];a0_0x2627=function(){return _0x2b1b69;};return a0_0x2627();}export default SecurityAnalyzer;
1
+ function a0_0x552d(){const _0x19a075=['Bwv0ywrHDge','AxnZDwvFC2v2zxjPDhK','z2v0u2nHBM5LCLn0yxr1CW','DxjS','BgLUDfrLEhq','nte4otjAr05lz3O','zxjYB3i','uhL0Ag9UihnLy3vYAxr5ihnJyw5Uzxi','BNbTigf1zgL0igf2ywLSywjSzq','CMvZDwX0CW','C2vJDxjPDhK','BNbTqxvKAxq','y3zL','zgvWzw5Kzw5JAwvZ','Bg9Nz2vY','CgfYC2vcyw5KAxrszxn1BhrZ','rvnmAw50ihnLy3vYAxr5ihnJyw4GzMfPBgvK','y29UzMLKzw5Jzq','C3rKB3v0','y29S','y29Sx29MzNnLDa','CgLWigLUC3rHBgWGCgLWlwf1zgL0','zgLYBMfTzq','q1jjveLdquW','zgvZy3jPChrPB24','C2vTz3jLCa','u2vJDxjPDhKGDNvSBMvYywjPBgL0Eq','u2TPChbPBMCGDgvZDcbMAwXLigzVCIbZzwn1CML0EsbZy2fU','su5gtW','Cgf0Aa','CgfJA2fNzq','BgLUzq','CgX1z2LUoNnLy3vYAxr5l3jLy29TBwvUzgvK','BwvZC2fNzxm','DMLH','DhLWzxnJCMLWDa','AxnbCNjHEq','DNvSBMvYywjPBgL0AwvZ','C2vJDxjPDhKV','zgv0zwn0qxzHAwXHyMXLu2nHBM5LCNm','zxnSAw50','BwfWqMfUzgL0u2v2zxjPDhK','y3DK','CgLWlwf1zgL0igrLDgvJDgvK','mJe2mdq3DNzUz2v3','yw5HBhL6zvbYB2PLy3q','mJKXmhb2s1HTBW','C2vTz3jLCcaTlxzLCNnPB24','mZq2mZaXnhPetwvRAa','BNbTig5VDcbHDMfPBgfIBgu','u2vJDxjPDhKGAxnZDwuGzgv0zwn0zwq','CgLWqxvKAxq','BwfWu2vTz3jLCfnLDMvYAxr5','Bw9Yzv9PBMzV','AMf2yxnJCMLWDa','qMfUzgL0ihnJyw5UzxiGzgv0zwn0zwq','CgLWlwf1zgL0ic0TDMvYC2LVBG','ywXPyxnLCW','zgv0zwn0tgfUz3vHz2u','mtv1yuDMs3e','CNvUrvnmAw50u2vJDxjPDhK','v0fstKLorW','ChL0Ag9U','u2vTz3jLCcbZy2fUigzHAwXLza','ChvZAa','CNvSzuLK','BgvUz3rO','AxnZDwvFy29UzMLKzw5Jzq','ntbnCgXet0O','B3DHC3a','zMLSzw5HBwu','zxH0CMe','AgLNAa','yxzHAwXHyMXLu2nHBM5LCNm','zML4ywjSzq','zML4qxzHAwXHyMXL','rvjst1i','BMfTzq','u0vwrvjjvfK','Dw5RBM93BG','lNnJyw5UzxjZ','ntu4mtCXvNzVquDW','CNvUqMfUzgL0','uhL0Ag9UigrLCgvUzgvUy3KGDNvSBMvYywjPBgL0EsbZy2fUBMvY','BM9YBwfSAxPLuMvZDwX0CW','mtmXnJK2odrPy2H3z3u','C3rHCNrZv2L0Aa','y29SDw1U','CMfUz2u','BNbTigXPC3qGzxnSAw50lxbSDwDPBI1Zzwn1CML0EsaTlwrLChrOptaGls1QC29U','ode1mJmYmeH2CfbivW','nJm0mNjMBejIvW','zML4x3zLCNnPB25Z','CgfYC2vfu0XPBNrszxn1BhrZ','zxnSAw50lxbSDwDPBI1Zzwn1CML0Eq','CMvTzwrPyxrPB24','u2vTz3jLCcbUB3qGyxzHAwXHyMXL','CgfYC2u','ywr2AxnVCNK','sMf2yvnJCMLWDc9uExbLu2nYAxb0ihnLy3vYAxr5ihj1BgvZ','zxnSAw50lxbSDwDPBI1Zzwn1CML0EsbKzxrLy3rLza','CNvUugLWqxvKAxq','qMfUzgL0ihnJyw4GzMfPBgvK','CgfJA2fNzs5QC29U','BwvZC2fNzq','C2v2zxjPDhK','CgfYC2vqAxbbDwrPDfjLC3vSDhm','CMvXDwLYzw1LBNrZlNr4Da','D2fYBG','txvSDgKTBgfUz3vHz2uGu0ftvcb3AxrOigv4DgvUC2L2zsbZzwn1CML0EsbYDwXLCW','qMfUzgL0','yMfUzgL0','offewe91rq','CgfYC2voCg1bDwrPDfjLC3vSDhm','AgfZu2nHBM5LCNngB3jmyw5NDwfNzq','Bg9JywXty2fUBMvYrgLY','zxnSAw50u2vJDxjPDhK','u2vTz3jLCcbZy2fUBMvYigrLDgvJDgvKicHZExn0zw0P','AM9PBG','DMvYC2LVBG','rMfPBgvKihrVihbHCNnLiejHBMrPDcbVDxrWDxq','zxnSAw50lxbSDwDPBI1Zzwn1CML0EsbUB3qGyxzHAwXHyMXL','qMfUzgL0ig5VDcbHDMfPBgfIBgu','AxnZDwvFy3DL','BwfWugLWqxvKAxrtzxzLCML0Eq','zgvIDwC','CgLWlwf1zgL0ig5VDcbHDMfPBgfIBgu','BM9Kzv9TB2r1BgvZ','u2vTz3jLCcbZy2fUBMvYigrLDgvJDgvKicHSB2nHBcK'];a0_0x552d=function(){return _0x19a075;};return a0_0x552d();}const a0_0x27a49b=a0_0x3a4b;function a0_0x3a4b(_0x5d7828,_0x119e35){_0x5d7828=_0x5d7828-0xb1;const _0x552d6=a0_0x552d();let _0x3a4b68=_0x552d6[_0x5d7828];if(a0_0x3a4b['iVPmSb']===undefined){var _0x1b5a7a=function(_0x33a909){const _0x4a80ff='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x20953e='',_0x384840='';for(let _0x26b5c5=0x0,_0x4855d6,_0x1a31ab,_0x426068=0x0;_0x1a31ab=_0x33a909['charAt'](_0x426068++);~_0x1a31ab&&(_0x4855d6=_0x26b5c5%0x4?_0x4855d6*0x40+_0x1a31ab:_0x1a31ab,_0x26b5c5++%0x4)?_0x20953e+=String['fromCharCode'](0xff&_0x4855d6>>(-0x2*_0x26b5c5&0x6)):0x0){_0x1a31ab=_0x4a80ff['indexOf'](_0x1a31ab);}for(let _0x3c8752=0x0,_0x26f76d=_0x20953e['length'];_0x3c8752<_0x26f76d;_0x3c8752++){_0x384840+='%'+('00'+_0x20953e['charCodeAt'](_0x3c8752)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x384840);};a0_0x3a4b['KRsxcr']=_0x1b5a7a,a0_0x3a4b['quTsXl']={},a0_0x3a4b['iVPmSb']=!![];}const _0x525911=_0x552d6[0x0],_0x26493a=_0x5d7828+_0x525911,_0x147e19=a0_0x3a4b['quTsXl'][_0x26493a];return!_0x147e19?(_0x3a4b68=a0_0x3a4b['KRsxcr'](_0x3a4b68),a0_0x3a4b['quTsXl'][_0x26493a]=_0x3a4b68):_0x3a4b68=_0x147e19,_0x3a4b68;}(function(_0x312331,_0x4703eb){const _0x3eb9f4=a0_0x3a4b,_0x6fc238=_0x312331();while(!![]){try{const _0x2e7c59=-parseInt(_0x3eb9f4(0xfa))/0x1*(-parseInt(_0x3eb9f4(0xbd))/0x2)+-parseInt(_0x3eb9f4(0xfe))/0x3+parseInt(_0x3eb9f4(0xd3))/0x4*(-parseInt(_0x3eb9f4(0x109))/0x5)+parseInt(_0x3eb9f4(0xfc))/0x6*(parseInt(_0x3eb9f4(0x129))/0x7)+-parseInt(_0x3eb9f4(0x128))/0x8+-parseInt(_0x3eb9f4(0x11f))/0x9*(-parseInt(_0x3eb9f4(0x112))/0xa)+parseInt(_0x3eb9f4(0x123))/0xb;if(_0x2e7c59===_0x4703eb)break;else _0x6fc238['push'](_0x6fc238['shift']());}catch(_0x56a583){_0x6fc238['push'](_0x6fc238['shift']());}}}(a0_0x552d,0x92270));import{exec}from'child_process';import{promisify}from'util';import a0_0x20953e from'path';import a0_0x384840 from'fs/promises';import{STATIC_ANALYSIS}from'../utilities/constants.js';const execAsync=promisify(exec);class SecurityAnalyzer{constructor(_0x26b5c5=null){const _0x43209a=a0_0x3a4b;this[_0x43209a(0xdc)]=_0x26b5c5,this['availableScanners']=null,this['scannerCache']=new Map(),this[_0x43209a(0xc0)]=a0_0x20953e[_0x43209a(0xc3)](process['cwd'](),_0x43209a(0xcc),_0x43209a(0x11e));}async[a0_0x27a49b(0xf5)](){const _0x89c317=a0_0x27a49b;if(this[_0x89c317(0x117)]!==null)return this['availableScanners'];const _0x4855d6={'semgrep':![],'bandit':![],'npmAudit':![],'pipAudit':![],'eslintSecurity':![]};try{const _0x1a31ab=a0_0x20953e['join'](this[_0x89c317(0xc0)],_0x89c317(0xe7));try{await a0_0x384840['access'](_0x1a31ab),_0x4855d6[_0x89c317(0xe7)]=!![],this[_0x89c317(0xdc)]?.['debug'](_0x89c317(0xcd));}catch{await execAsync(_0x89c317(0xfd),{'timeout':0x1388}),_0x4855d6[_0x89c317(0xe7)]=!![],this[_0x89c317(0xdc)]?.[_0x89c317(0xca)](_0x89c317(0xc2));}}catch(_0x426068){this[_0x89c317(0xdc)]?.[_0x89c317(0xca)](_0x89c317(0x12e),{'error':_0x426068['message']});}try{await execAsync('bandit\x20--version',{'timeout':0x1388}),_0x4855d6[_0x89c317(0xbc)]=!![],this[_0x89c317(0xdc)]?.['debug'](_0x89c317(0x105));}catch(_0x3c8752){this[_0x89c317(0xdc)]?.['debug'](_0x89c317(0xc7),{'error':_0x3c8752['message']});}try{await execAsync('npm\x20--version',{'timeout':0x1388}),_0x4855d6[_0x89c317(0xd9)]=!![],this[_0x89c317(0xdc)]?.[_0x89c317(0xca)](_0x89c317(0xd6));}catch(_0x26f76d){this[_0x89c317(0xdc)]?.[_0x89c317(0xca)](_0x89c317(0xff),{'error':_0x26f76d['message']});}try{await execAsync(_0x89c317(0x106),{'timeout':0x1388}),_0x4855d6['pipAudit']=!![],this[_0x89c317(0xdc)]?.[_0x89c317(0xca)](_0x89c317(0xf9));}catch(_0x8e1b99){this[_0x89c317(0xdc)]?.[_0x89c317(0xca)](_0x89c317(0xcb),{'error':_0x8e1b99[_0x89c317(0xb5)]});}try{const _0x261aaf=await execAsync(_0x89c317(0x127),{'timeout':0x1388,'cwd':process[_0x89c317(0xf8)]()}),_0x29eac1=JSON['parse'](_0x261aaf[_0x89c317(0xe0)]);_0x29eac1[_0x89c317(0xdb)]&&_0x29eac1['dependencies'][_0x89c317(0x12c)]&&(_0x4855d6['eslintSecurity']=!![],this[_0x89c317(0xdc)]?.[_0x89c317(0xca)](_0x89c317(0xb1)));}catch(_0x2c4b0f){this[_0x89c317(0xdc)]?.[_0x89c317(0xca)](_0x89c317(0xc6),{'error':_0x2c4b0f[_0x89c317(0xb5)]});}return this['availableScanners']=_0x4855d6,_0x4855d6;}async['analyze'](_0x5c21cf,_0xb865db,_0x329c06={}){const _0x3ed3ab=a0_0x27a49b,_0x3d1d65=[],_0x2d6ae1=await this['detectAvailableScanners'](),_0x14c563=this[_0x3ed3ab(0x108)](_0x5c21cf);if(_0x329c06['skipTestFiles']!==![]&&this['isTestFile'](_0x5c21cf))return this[_0x3ed3ab(0xdc)]?.['debug'](_0x3ed3ab(0xe9),{'filePath':_0x5c21cf}),[];if(_0x14c563==='javascript'||_0x14c563===_0x3ed3ab(0xf1)){if(_0x2d6ae1['semgrep']){const _0x5424b7=await this['runSemgrep'](_0x5c21cf,[_0x14c563],_0x329c06);_0x3d1d65[_0x3ed3ab(0x10e)](..._0x5424b7);}if(_0x2d6ae1[_0x3ed3ab(0xc1)]){const _0x4d51b3=await this[_0x3ed3ab(0x10a)](_0x5c21cf,_0xb865db,_0x329c06);_0x3d1d65[_0x3ed3ab(0x10e)](..._0x4d51b3);}}if(_0x14c563===_0x3ed3ab(0x10c)){if(_0x2d6ae1['bandit']){const _0x537a20=await this['runBandit'](_0x5c21cf,_0x329c06);_0x3d1d65['push'](..._0x537a20);}if(_0x2d6ae1['semgrep']){const _0x454712=await this['runSemgrep'](_0x5c21cf,[_0x14c563],_0x329c06);_0x3d1d65[_0x3ed3ab(0x10e)](..._0x454712);}}return _0x3d1d65[_0x3ed3ab(0x110)]===0x0&&!this['hasScannersForLanguage'](_0x2d6ae1,_0x14c563)&&this['logger']?.[_0x3ed3ab(0xb9)]('No\x20security\x20scanners\x20available\x20for\x20language',{'language':_0x14c563,'filePath':_0x5c21cf}),this['normalizeResults'](_0x3d1d65);}async[a0_0x27a49b(0xfb)](_0x364f94,_0x248076,_0x2db5bf={}){const _0x13c2c7=a0_0x27a49b,_0x3d7114=[],_0x22e0d1=await this[_0x13c2c7(0xf5)]();if(_0x248076==='javascript'||_0x248076==='typescript'){if(_0x22e0d1[_0x13c2c7(0xd9)]){const _0x2e8d66=await this['runNpmAudit'](_0x364f94,_0x2db5bf);_0x3d7114['push'](..._0x2e8d66);}}if(_0x248076==='python'){if(_0x22e0d1['pipAudit']){const _0x42ad57=await this[_0x13c2c7(0xb2)](_0x364f94,_0x2db5bf);_0x3d7114[_0x13c2c7(0x10e)](..._0x42ad57);}}return this['normalizeResults'](_0x3d7114);}async['runSemgrep'](_0x3a922c,_0x146d4c,_0xcaa07a={}){const _0x38bc9d=a0_0x27a49b;try{const _0x35f836=a0_0x20953e[_0x38bc9d(0xe4)](_0x3a922c),_0x2860d6=await execAsync('semgrep\x20--config=auto\x20--json\x20\x22'+_0x3a922c+'\x22',{'maxBuffer':0xa*0x400*0x400,'timeout':0x7530,'cwd':_0x35f836}),_0x50e08c=JSON['parse'](_0x2860d6[_0x38bc9d(0xe0)]);return this['parseSemgrepResults'](_0x50e08c);}catch(_0x300ba8){if(_0x300ba8[_0x38bc9d(0xe0)])try{const _0x216a3e=JSON['parse'](_0x300ba8[_0x38bc9d(0xe0)]);return this['parseSemgrepResults'](_0x216a3e);}catch(_0x55da1b){this[_0x38bc9d(0xdc)]?.['error']('Failed\x20to\x20parse\x20Semgrep\x20output',{'error':_0x55da1b['message'],'stdout':_0x300ba8['stdout']});}return this['logger']?.[_0x38bc9d(0xd4)](_0x38bc9d(0x10d),{'error':_0x300ba8[_0x38bc9d(0xb5)]}),[];}}['parseSemgrepResults'](_0x85402c){const _0x12b0c0=a0_0x27a49b,_0x490baa=[];if(_0x85402c[_0x12b0c0(0xd7)]&&Array['isArray'](_0x85402c['results']))for(const _0x4fc929 of _0x85402c['results']){_0x490baa[_0x12b0c0(0x10e)]({'file':_0x4fc929[_0x12b0c0(0xeb)],'line':_0x4fc929['start']?.[_0x12b0c0(0xed)]||0x1,'column':_0x4fc929['start']?.[_0x12b0c0(0xe1)]||0x1,'severity':this[_0x12b0c0(0x102)](_0x4fc929['extra']?.['severity']),'rule':_0x4fc929['check_id'],'message':_0x4fc929[_0x12b0c0(0x115)]?.['message']||_0x4fc929['extra']?.['lines']||'Security\x20issue\x20detected','category':'security','scanner':'semgrep','cwe':_0x4fc929['extra']?.['metadata']?.['cwe'],'owasp':_0x4fc929[_0x12b0c0(0x115)]?.[_0x12b0c0(0xce)]?.['owasp'],'confidence':_0x4fc929[_0x12b0c0(0x115)]?.['metadata']?.[_0x12b0c0(0xdf)],'references':_0x4fc929[_0x12b0c0(0x115)]?.[_0x12b0c0(0xce)]?.['references']});}return _0x490baa;}async[a0_0x27a49b(0x120)](_0x5a32ff,_0x5a0b3e={}){const _0x39d140=a0_0x27a49b;try{const _0x1b4434=await execAsync('bandit\x20-f\x20json\x20\x22'+_0x5a32ff+'\x22',{'maxBuffer':0xa*0x400*0x400,'timeout':0x7530}),_0x1aa472=JSON['parse'](_0x1b4434[_0x39d140(0xe0)]);return this[_0x39d140(0xdd)](_0x1aa472);}catch(_0x3153bf){if(_0x3153bf[_0x39d140(0xe0)])try{const _0x4103f8=JSON['parse'](_0x3153bf['stdout']);return this['parseBanditResults'](_0x4103f8);}catch(_0x24cdd){this[_0x39d140(0xdc)]?.[_0x39d140(0xd4)](_0x39d140(0xc5),{'error':_0x24cdd['message']});}return this['logger']?.['error'](_0x39d140(0xb3),{'error':_0x3153bf['message']}),[];}}['parseBanditResults'](_0x291a10){const _0x4bc445=a0_0x27a49b,_0x9ab178=[];if(_0x291a10[_0x4bc445(0xd7)]&&Array['isArray'](_0x291a10[_0x4bc445(0xd7)]))for(const _0x50e3c1 of _0x291a10['results']){_0x9ab178[_0x4bc445(0x10e)]({'file':_0x50e3c1[_0x4bc445(0x114)],'line':_0x50e3c1['line_number']||0x1,'column':_0x50e3c1[_0x4bc445(0xe2)]||0x1,'severity':this[_0x4bc445(0xf7)](_0x50e3c1[_0x4bc445(0xcf)]),'rule':_0x50e3c1['test_id'],'message':_0x50e3c1['issue_text'],'category':_0x4bc445(0xd8),'scanner':'bandit','cwe':_0x50e3c1[_0x4bc445(0xc8)]?.['id']?'CWE-'+_0x50e3c1['issue_cwe']['id']:null,'confidence':_0x50e3c1[_0x4bc445(0x111)],'moreInfo':_0x50e3c1[_0x4bc445(0x103)]});}return _0x9ab178;}async['runESLintSecurity'](_0x4a0286,_0x21d4f6,_0x489f96={}){const _0x314db1=a0_0x27a49b;try{const {ESLint:_0x4e95f3}=await import(_0x314db1(0xf6)),_0x12e2e0=new _0x4e95f3({'overrideConfig':{'plugins':[_0x314db1(0xd8)],'extends':[_0x314db1(0xee)],'parserOptions':{'ecmaVersion':'latest','sourceType':'module'}},'useEslintrc':![]}),_0x42a9ad=await _0x12e2e0[_0x314db1(0xd2)](_0x21d4f6,{'filePath':_0x4a0286});return this[_0x314db1(0x12b)](_0x42a9ad,_0x4a0286);}catch(_0x1bec54){return this['logger']?.['error'](_0x314db1(0xde),{'error':_0x1bec54['message'],'filePath':_0x4a0286}),[];}}[a0_0x27a49b(0x12b)](_0x50854b,_0x2e5bd3){const _0x15635a=a0_0x27a49b,_0x472536=[];for(const _0x1265b3 of _0x50854b){if(_0x1265b3['messages']&&Array[_0x15635a(0xf2)](_0x1265b3[_0x15635a(0xef)]))for(const _0x1857ca of _0x1265b3[_0x15635a(0xef)]){_0x1857ca['ruleId']&&_0x1857ca[_0x15635a(0x10f)][_0x15635a(0x124)](_0x15635a(0xf4))&&_0x472536['push']({'file':_0x2e5bd3,'line':_0x1857ca['line']||0x1,'column':_0x1857ca[_0x15635a(0x125)]||0x1,'severity':this['mapESLintSeverity'](_0x1857ca[_0x15635a(0xb6)]),'rule':_0x1857ca[_0x15635a(0x10f)],'message':_0x1857ca['message'],'category':_0x15635a(0xd8),'scanner':'eslint-security','fixable':_0x1857ca['fix']!==undefined});}}return _0x472536;}async['runNpmAudit'](_0x4b600b,_0x519006={}){const _0x2244d6=a0_0x27a49b;try{const _0x48bf04=a0_0x20953e['join'](_0x4b600b,'package.json');try{await a0_0x384840['access'](_0x48bf04);}catch{return this[_0x2244d6(0xdc)]?.[_0x2244d6(0xca)]('No\x20package.json\x20found,\x20skipping\x20npm\x20audit'),[];}const _0x3e16be=await execAsync('npm\x20audit\x20--json',{'cwd':_0x4b600b,'maxBuffer':0xa*0x400*0x400,'timeout':0xea60}),_0x5b3c5f=JSON[_0x2244d6(0x12f)](_0x3e16be['stdout']);return this[_0x2244d6(0xbe)](_0x5b3c5f);}catch(_0x9f20d0){if(_0x9f20d0['stdout'])try{const _0x42433e=JSON[_0x2244d6(0x12f)](_0x9f20d0[_0x2244d6(0xe0)]);return this['parseNpmAuditResults'](_0x42433e);}catch(_0x271bcb){this['logger']?.['error']('Failed\x20to\x20parse\x20npm\x20audit\x20output',{'error':_0x271bcb[_0x2244d6(0xb5)]});}return[];}}[a0_0x27a49b(0xbe)](_0x409320){const _0x32bbe9=a0_0x27a49b,_0x13abf6=[];if(_0x409320['vulnerabilities'])for(const [_0x4670ed,_0x1ae65a]of Object['entries'](_0x409320[_0x32bbe9(0xf3)])){_0x13abf6[_0x32bbe9(0x10e)]({'file':_0x32bbe9(0xb4),'line':0x1,'column':0x1,'severity':this['mapNpmSeverity'](_0x1ae65a['severity']),'rule':'npm-'+(_0x1ae65a['via'][0x0]?.['source']||_0x32bbe9(0x130)),'message':_0x4670ed+':\x20'+(_0x1ae65a['via'][0x0]?.['title']||_0x32bbe9(0xe8)),'category':'security','scanner':'npm-audit','package':_0x4670ed,'vulnerableVersions':_0x1ae65a[_0x32bbe9(0x126)],'patchedVersions':_0x1ae65a[_0x32bbe9(0x119)]?'Available':'None','cve':_0x1ae65a[_0x32bbe9(0xf0)][0x0]?.[_0x32bbe9(0xda)],'cvss':_0x1ae65a[_0x32bbe9(0xf0)][0x0]?.['cvss'],'references':_0x1ae65a['via'][0x0]?.[_0x32bbe9(0xd1)]?[_0x1ae65a[_0x32bbe9(0xf0)][0x0]['url']]:[]});}return _0x13abf6;}async[a0_0x27a49b(0xb2)](_0x506ba9,_0x3f4b71={}){const _0xb7011=a0_0x27a49b;try{const requirementsPath=a0_0x20953e['join'](_0x506ba9,_0xb7011(0xb8));try{await a0_0x384840['access'](requirementsPath);}catch{return this['logger']?.[_0xb7011(0xca)]('No\x20requirements.txt\x20found,\x20skipping\x20pip-audit'),[];}const _0x29f35d=await execAsync('pip-audit\x20--format\x20json',{'cwd':_0x506ba9,'maxBuffer':0xa*0x400*0x400,'timeout':0xea60}),_0x5ddf39=JSON[_0xb7011(0x12f)](_0x29f35d[_0xb7011(0xe0)]);return this[_0xb7011(0xb7)](_0x5ddf39);}catch(_0x385313){if(_0x385313[_0xb7011(0xe0)])try{const _0x2d4bb8=JSON[_0xb7011(0x12f)](_0x385313['stdout']);return this['parsePipAuditResults'](_0x2d4bb8);}catch(_0x1a7f5f){this[_0xb7011(0xdc)]?.['error']('Failed\x20to\x20parse\x20pip-audit\x20output',{'error':_0x1a7f5f[_0xb7011(0xb5)]});}return[];}}[a0_0x27a49b(0xb7)](_0x1be385){const _0x480431=a0_0x27a49b,_0x1cd4d6=[];if(_0x1be385[_0x480431(0xdb)]&&Array[_0x480431(0xf2)](_0x1be385[_0x480431(0xdb)]))for(const _0x4f19c9 of _0x1be385[_0x480431(0xdb)]){if(_0x4f19c9['vulns']&&Array[_0x480431(0xf2)](_0x4f19c9['vulns']))for(const _0x5caa37 of _0x4f19c9['vulns']){_0x1cd4d6[_0x480431(0x10e)]({'file':'requirements.txt','line':0x1,'column':0x1,'severity':this['mapPipAuditSeverity'](_0x5caa37[_0x480431(0xb6)]),'rule':_0x5caa37['id'],'message':_0x4f19c9[_0x480431(0x11b)]+':\x20'+(_0x5caa37[_0x480431(0xe6)]||'Security\x20vulnerability'),'category':'security','scanner':'pip-audit','package':_0x4f19c9[_0x480431(0x11b)],'vulnerableVersion':_0x4f19c9[_0x480431(0xc4)],'fixedVersions':_0x5caa37[_0x480431(0x12a)],'references':_0x5caa37[_0x480431(0x107)]||[]});}}return _0x1cd4d6;}['detectLanguage'](_0x9527d5){const _0x37d146=a0_0x27a49b,_0x6ef423=a0_0x20953e['extname'](_0x9527d5)['toLowerCase'](),_0x4877c4={'.js':_0x37d146(0x104),'.jsx':'javascript','.mjs':_0x37d146(0x104),'.cjs':_0x37d146(0x104),'.ts':'typescript','.tsx':'typescript','.py':_0x37d146(0x10c)};return _0x4877c4[_0x6ef423]||null;}['isTestFile'](_0x18f347){const _0x2984a1=[/\.test\./,/\.spec\./,/__tests__\//,/\/tests?\//,/\.test$/,/\.spec$/];return _0x2984a1['some'](_0x312f1c=>_0x312f1c['test'](_0x18f347));}[a0_0x27a49b(0xbf)](_0x6b3161,_0x5fcc7a){const _0x6f7f93=a0_0x27a49b;if(_0x5fcc7a==='javascript'||_0x5fcc7a===_0x6f7f93(0xf1))return _0x6b3161['semgrep']||_0x6b3161['eslintSecurity'];if(_0x5fcc7a===_0x6f7f93(0x10c))return _0x6b3161[_0x6f7f93(0xbc)]||_0x6b3161[_0x6f7f93(0xe7)];return![];}[a0_0x27a49b(0x122)](_0x5ab808){const _0x3584f5=a0_0x27a49b;return _0x5ab808['map'](_0x486b76=>({'file':_0x486b76['file'],'line':_0x486b76[_0x3584f5(0xed)]||0x1,'column':_0x486b76['column']||0x1,'severity':_0x486b76['severity']||STATIC_ANALYSIS[_0x3584f5(0x11c)]['WARNING'],'rule':_0x486b76['rule']||_0x3584f5(0x11d),'message':_0x486b76['message']||_0x3584f5(0x100),'category':'security','scanner':_0x486b76['scanner'],'cwe':_0x486b76['cwe']||null,'owasp':_0x486b76[_0x3584f5(0x113)]||null,'confidence':_0x486b76['confidence']||null,'fixable':_0x486b76[_0x3584f5(0x118)]||![],'remediation':_0x486b76[_0x3584f5(0x12d)]||_0x486b76['moreInfo']||null,'references':_0x486b76['references']||[],'package':_0x486b76[_0x3584f5(0xec)]||null}));}[a0_0x27a49b(0x102)](_0x220e78){const _0xaaa8b3=a0_0x27a49b,_0x2ddb34={'ERROR':STATIC_ANALYSIS[_0xaaa8b3(0x11c)]['CRITICAL'],'WARNING':STATIC_ANALYSIS['SEVERITY'][_0xaaa8b3(0x11a)],'INFO':STATIC_ANALYSIS['SEVERITY'][_0xaaa8b3(0x10b)]};return _0x2ddb34[_0x220e78?.['toUpperCase']()]||STATIC_ANALYSIS['SEVERITY'][_0xaaa8b3(0x10b)];}[a0_0x27a49b(0xf7)](_0x54a9dd){const _0x28e87c=a0_0x27a49b,_0x593227={'HIGH':STATIC_ANALYSIS[_0x28e87c(0x11c)]['CRITICAL'],'MEDIUM':STATIC_ANALYSIS['SEVERITY'][_0x28e87c(0x11a)],'LOW':STATIC_ANALYSIS['SEVERITY']['WARNING']};return _0x593227[_0x54a9dd?.['toUpperCase']()]||STATIC_ANALYSIS[_0x28e87c(0x11c)]['WARNING'];}['mapESLintSeverity'](_0x46919d){const _0x5702c7=a0_0x27a49b;return _0x46919d===0x2?STATIC_ANALYSIS['SEVERITY']['ERROR']:STATIC_ANALYSIS[_0x5702c7(0x11c)]['WARNING'];}['mapNpmSeverity'](_0x2f88ec){const _0x2faad8=a0_0x27a49b,_0x18c660={'critical':STATIC_ANALYSIS['SEVERITY'][_0x2faad8(0xe5)],'high':STATIC_ANALYSIS[_0x2faad8(0x11c)][_0x2faad8(0xe5)],'moderate':STATIC_ANALYSIS[_0x2faad8(0x11c)]['ERROR'],'low':STATIC_ANALYSIS['SEVERITY']['WARNING'],'info':STATIC_ANALYSIS['SEVERITY'][_0x2faad8(0xea)]};return _0x18c660[_0x2f88ec?.['toLowerCase']()]||STATIC_ANALYSIS['SEVERITY']['WARNING'];}[a0_0x27a49b(0xc9)](_0x7eacbf){const _0x4d655e=a0_0x27a49b;if(!_0x7eacbf)return STATIC_ANALYSIS[_0x4d655e(0x11c)][_0x4d655e(0x11a)];const _0x28c7e4={'critical':STATIC_ANALYSIS['SEVERITY']['CRITICAL'],'high':STATIC_ANALYSIS[_0x4d655e(0x11c)][_0x4d655e(0xe5)],'medium':STATIC_ANALYSIS['SEVERITY']['ERROR'],'low':STATIC_ANALYSIS[_0x4d655e(0x11c)]['WARNING']};return _0x28c7e4[_0x7eacbf?.['toLowerCase']()]||STATIC_ANALYSIS['SEVERITY']['ERROR'];}async[a0_0x27a49b(0xd0)](){const _0x471069=a0_0x27a49b,_0x56e9ec=await this[_0x471069(0xf5)]();return{'scanners':_0x56e9ec,'recommendations':this['getInstallRecommendations'](_0x56e9ec)};}['getInstallRecommendations'](_0x433133){const _0x52d29c=a0_0x27a49b,_0x66d815=[];return!_0x433133[_0x52d29c(0xe7)]&&_0x66d815[_0x52d29c(0x10e)]({'scanner':'Semgrep','reason':_0x52d29c(0xba),'install':'pip\x20install\x20semgrep\x20OR\x20use\x20Docker:\x20docker\x20pull\x20returntocorp/semgrep','priority':_0x52d29c(0x116)}),!_0x433133['bandit']&&_0x66d815['push']({'scanner':_0x52d29c(0xbb),'reason':_0x52d29c(0xd5),'install':'pip\x20install\x20bandit','priority':'medium'}),!_0x433133[_0x52d29c(0xc1)]&&_0x66d815['push']({'scanner':_0x52d29c(0x12c),'reason':_0x52d29c(0x131),'install':'npm\x20install\x20--save-dev\x20eslint-plugin-security','priority':'medium'}),!_0x433133[_0x52d29c(0x101)]&&_0x66d815[_0x52d29c(0x10e)]({'scanner':'pip-audit','reason':_0x52d29c(0x121),'install':_0x52d29c(0xe3),'priority':'low'}),_0x66d815;}}export default SecurityAnalyzer;
@@ -1 +1 @@
1
- const a0_0x1708f6=a0_0x2a1e;(function(_0x54e1ac,_0x3a6f6e){const _0x5dd267=a0_0x2a1e,_0x47e4e0=_0x54e1ac();while(!![]){try{const _0x3d3762=-parseInt(_0x5dd267(0x1c0))/0x1*(-parseInt(_0x5dd267(0x1a2))/0x2)+parseInt(_0x5dd267(0x1a3))/0x3+parseInt(_0x5dd267(0x19f))/0x4+-parseInt(_0x5dd267(0x1a9))/0x5+-parseInt(_0x5dd267(0x1c4))/0x6*(parseInt(_0x5dd267(0x1ac))/0x7)+parseInt(_0x5dd267(0x1a8))/0x8*(parseInt(_0x5dd267(0x1a0))/0x9)+parseInt(_0x5dd267(0x1b8))/0xa;if(_0x3d3762===_0x3a6f6e)break;else _0x47e4e0['push'](_0x47e4e0['shift']());}catch(_0x45483b){_0x47e4e0['push'](_0x47e4e0['shift']());}}}(a0_0x269a,0xa0e5c));import a0_0x4a541a from'typescript';import a0_0x50fd7a from'path';import{STATIC_ANALYSIS}from'../utilities/constants.js';function a0_0x269a(){const _0x28cd6b=['nJe4ndqXmgLNy1bTsa','y3jLyxrLu291CMnLrMLSzq','u1Lovefy','mZu4mdqZCffXuvL1','v0fstKLorW','y2HHCMfJDgvY','BgvUz3rO','Dw5RBM93BG','tgf0zxn0','z2v0u3LUDgfJDgLJrgLHz25VC3rPy3m','BwvZC2fNzq','vhLWzvnJCMLWDcbHBMfSExnPCYbJB21WBgv0zwq','Bg9Nz2vY','v2fYBMLUzW','twvZC2fNzq','nJqWmJmYmhjprgrpuq','y3jLyxrLuhjVz3jHBq','tM9KzuPZ','rvjst1i','z2v0tgLUzufUzenOyxjHy3rLCK9Mug9ZAxrPB24','ChvZAa','u0vwrvjjvfK','vhLWzvnJCMLWDcbHBMfSExnPCYbMywLSzwq','mJGXndfjveTLB0i','zMXHDhrLBKrPywDUB3n0AwnnzxnZywDLvgv4Da','zM9YBwf0rgLHz25VC3rPyW','rxjYB3i','mtmYB0rWEfPO','vfLqrq','zMLSDgvY','rgLHz25VC3rPy0nHDgvNB3j5','Aw5JBhvKzxm','DhLWzq','q0furuDpuLK','u2nYAxb0vgfYz2v0','qw5HBhLZAxmGzMfPBgvKoIa','ndG1mJm2BKP4qxbe','mJDHyLHoEva','CgfYC2veAwfNBM9ZDgLJCW','nJbrCfPvt2e','ndeWmZK0te9ID0T2','y2XHC3m','sNn4rw1PDa','zgLYBMfTzq','zMLSzu5HBwu','mZqWoty3mNPKA0zVAq'];a0_0x269a=function(){return _0x28cd6b;};return a0_0x269a();}class TypeScriptAnalyzer{constructor(_0x284fba=null){const _0x61dd4b=a0_0x2a1e;this[_0x61dd4b(0x1b5)]=_0x284fba,this['compilerOptions']={'noEmit':!![],'jsx':a0_0x4a541a[_0x61dd4b(0x1a5)]['React'],'target':a0_0x4a541a[_0x61dd4b(0x1cb)]['Latest'],'module':a0_0x4a541a['ModuleKind']['ESNext'],'moduleResolution':a0_0x4a541a['ModuleResolutionKind'][_0x61dd4b(0x1ba)],'esModuleInterop':!![],'skipLibCheck':!![],'strict':!![],'noImplicitAny':!![],'strictNullChecks':!![],'strictFunctionTypes':!![],'allowJs':![]};}async['analyze'](_0x35e37d,_0x456da5,_0x16901c={}){const _0x1094f3=a0_0x2a1e;try{const _0x27d323=[],_0x208d2f=a0_0x4a541a[_0x1094f3(0x1aa)](_0x35e37d,_0x456da5,a0_0x4a541a[_0x1094f3(0x1cb)][_0x1094f3(0x1b1)],!![]),_0x198dba=this[_0x1094f3(0x1b2)](_0x208d2f);_0x27d323[_0x1094f3(0x1bd)](..._0x198dba);const _0x20aed7=await this['getSemanticDiagnostics'](_0x35e37d,_0x456da5);return _0x27d323[_0x1094f3(0x1bd)](..._0x20aed7),this['logger']?.['debug'](_0x1094f3(0x1b4),{'file':_0x35e37d,'totalDiagnostics':_0x27d323['length'],'errors':_0x27d323[_0x1094f3(0x1c6)](_0x17783b=>_0x17783b['severity']===STATIC_ANALYSIS[_0x1094f3(0x1be)]['ERROR'])[_0x1094f3(0x1af)],'warnings':_0x27d323[_0x1094f3(0x1c6)](_0x3001b9=>_0x3001b9['severity']===STATIC_ANALYSIS[_0x1094f3(0x1be)][_0x1094f3(0x1ad)])['length']}),_0x27d323;}catch(_0x53b0b9){return this[_0x1094f3(0x1b5)]?.['error'](_0x1094f3(0x1bf),{'file':_0x35e37d,'error':_0x53b0b9['message']}),[{'file':_0x35e37d,'line':0x0,'column':0x0,'severity':STATIC_ANALYSIS[_0x1094f3(0x1be)]['ERROR'],'rule':'analyzer-error','message':_0x1094f3(0x19e)+_0x53b0b9['message'],'category':STATIC_ANALYSIS['CATEGORY'][_0x1094f3(0x1ab)]}];}}[a0_0x1708f6(0x1b2)](_0x14e2a1){const _0x460118=a0_0x1708f6,_0x17c222=[];if(_0x14e2a1[_0x460118(0x1a1)]&&_0x14e2a1['parseDiagnostics']['length']>0x0)for(const _0x439fa5 of _0x14e2a1['parseDiagnostics']){_0x17c222[_0x460118(0x1bd)](this[_0x460118(0x1c2)](_0x439fa5,_0x14e2a1));}return _0x17c222;}async['getSemanticDiagnostics'](_0x358dc5,_0x145096){const _0x46aebc=a0_0x1708f6,_0x4a2541=[];try{const _0x10d9a5=a0_0x4a541a['createSourceFile'](_0x358dc5,_0x145096,a0_0x4a541a[_0x46aebc(0x1cb)][_0x46aebc(0x1b1)],!![]),_0x5431f3={'getSourceFile':_0x3f0782=>{if(_0x3f0782===_0x358dc5)return _0x10d9a5;return undefined;},'getDefaultLibFileName':()=>'lib.d.ts','writeFile':()=>{},'getCurrentDirectory':()=>a0_0x50fd7a[_0x46aebc(0x1a6)](_0x358dc5),'getDirectories':()=>[],'fileExists':_0x1f6a7f=>_0x1f6a7f===_0x358dc5,'readFile':_0x4406e0=>{if(_0x4406e0===_0x358dc5)return _0x145096;return undefined;},'getCanonicalFileName':_0x2b0633=>_0x2b0633,'useCaseSensitiveFileNames':()=>!![],'getNewLine':()=>'\x0a'},_0x5f0808=a0_0x4a541a[_0x46aebc(0x1b9)]({'rootNames':[_0x358dc5],'options':this['compilerOptions'],'host':_0x5431f3}),_0x3c1728=_0x5f0808['getSyntacticDiagnostics'](_0x10d9a5),_0x59926d=_0x5f0808['getSemanticDiagnostics'](_0x10d9a5);for(const _0x3711d7 of[..._0x3c1728,..._0x59926d]){_0x4a2541['push'](this['formatDiagnostic'](_0x3711d7,_0x10d9a5));}}catch(_0x8e5750){this[_0x46aebc(0x1b5)]?.['debug']('Semantic\x20analysis\x20encountered\x20error',{'file':_0x358dc5,'error':_0x8e5750[_0x46aebc(0x1b3)]});}return _0x4a2541;}[a0_0x1708f6(0x1c2)](_0x25a9e5,_0x556b5e){const _0x15544c=a0_0x1708f6;let _0x580341=0x0,_0x4e78cd=0x0;if(_0x25a9e5['file']&&_0x25a9e5['start']!==undefined){const _0x39d8be=_0x25a9e5['file']['getLineAndCharacterOfPosition'](_0x25a9e5['start']);_0x580341=_0x39d8be['line']+0x1,_0x4e78cd=_0x39d8be['character']+0x1;}else{if(_0x556b5e&&_0x25a9e5['start']!==undefined){const _0x9ebdf=_0x556b5e[_0x15544c(0x1bc)](_0x25a9e5['start']);_0x580341=_0x9ebdf['line']+0x1,_0x4e78cd=_0x9ebdf[_0x15544c(0x1ae)]+0x1;}}const _0x34c85f=a0_0x4a541a[_0x15544c(0x1c1)](_0x25a9e5['messageText'],'\x0a');let _0x9a68f0;switch(_0x25a9e5['category']){case a0_0x4a541a[_0x15544c(0x1c7)][_0x15544c(0x1c3)]:_0x9a68f0=STATIC_ANALYSIS[_0x15544c(0x1be)][_0x15544c(0x1bb)];break;case a0_0x4a541a[_0x15544c(0x1c7)][_0x15544c(0x1b6)]:_0x9a68f0=STATIC_ANALYSIS['SEVERITY'][_0x15544c(0x1ad)];break;case a0_0x4a541a['DiagnosticCategory'][_0x15544c(0x1b7)]:case a0_0x4a541a[_0x15544c(0x1c7)]['Suggestion']:_0x9a68f0=STATIC_ANALYSIS['SEVERITY']['INFO'];break;default:_0x9a68f0=STATIC_ANALYSIS[_0x15544c(0x1be)]['ERROR'];}let _0x866f2f=STATIC_ANALYSIS['CATEGORY']['SYNTAX'];const _0x163e18=_0x25a9e5['code'];if(_0x163e18>=0x7d0&&_0x163e18<0xbb8)_0x866f2f=STATIC_ANALYSIS[_0x15544c(0x1ca)]['TYPE'];else{if(_0x163e18>=0x3e8&&_0x163e18<0x7d0)_0x866f2f=STATIC_ANALYSIS[_0x15544c(0x1ca)][_0x15544c(0x1ab)];else _0x163e18>=0x8fc&&_0x163e18<0x960&&(_0x866f2f=STATIC_ANALYSIS['CATEGORY']['IMPORT']);}const _0x330dc6=_0x34c85f['toLowerCase']();if(_0x330dc6['includes']('cannot\x20find\x20module')||_0x330dc6[_0x15544c(0x1c8)]('import')||_0x330dc6[_0x15544c(0x1c8)]('export'))_0x866f2f=STATIC_ANALYSIS['CATEGORY']['IMPORT'];else(_0x330dc6[_0x15544c(0x1c8)](_0x15544c(0x1c9))||_0x330dc6[_0x15544c(0x1c8)]('interface')||_0x330dc6['includes'](_0x15544c(0x1a4)))&&(_0x866f2f=STATIC_ANALYSIS['CATEGORY'][_0x15544c(0x1c5)]);return{'file':_0x25a9e5['file']?.[_0x15544c(0x1a7)]||_0x556b5e?.[_0x15544c(0x1a7)]||_0x15544c(0x1b0),'line':_0x580341,'column':_0x4e78cd,'severity':_0x9a68f0,'rule':'TS'+_0x163e18,'message':_0x34c85f,'category':_0x866f2f,'fixable':![],'code':_0x25a9e5['code']};}}function a0_0x2a1e(_0x58a3a8,_0x39a61f){_0x58a3a8=_0x58a3a8-0x19e;const _0x269aa9=a0_0x269a();let _0x2a1eea=_0x269aa9[_0x58a3a8];if(a0_0x2a1e['jCCbZA']===undefined){var _0x5dd53a=function(_0xfb0f6c){const _0x21d19c='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4a541a='',_0x50fd7a='';for(let _0x284fba=0x0,_0x35e37d,_0x456da5,_0x16901c=0x0;_0x456da5=_0xfb0f6c['charAt'](_0x16901c++);~_0x456da5&&(_0x35e37d=_0x284fba%0x4?_0x35e37d*0x40+_0x456da5:_0x456da5,_0x284fba++%0x4)?_0x4a541a+=String['fromCharCode'](0xff&_0x35e37d>>(-0x2*_0x284fba&0x6)):0x0){_0x456da5=_0x21d19c['indexOf'](_0x456da5);}for(let _0x27d323=0x0,_0x208d2f=_0x4a541a['length'];_0x27d323<_0x208d2f;_0x27d323++){_0x50fd7a+='%'+('00'+_0x4a541a['charCodeAt'](_0x27d323)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x50fd7a);};a0_0x2a1e['NWgsaX']=_0x5dd53a,a0_0x2a1e['LAgQOv']={},a0_0x2a1e['jCCbZA']=!![];}const _0x2f3688=_0x269aa9[0x0],_0x8b534c=_0x58a3a8+_0x2f3688,_0x393551=a0_0x2a1e['LAgQOv'][_0x8b534c];return!_0x393551?(_0x2a1eea=a0_0x2a1e['NWgsaX'](_0x2a1eea),a0_0x2a1e['LAgQOv'][_0x8b534c]=_0x2a1eea):_0x2a1eea=_0x393551,_0x2a1eea;}export default TypeScriptAnalyzer;
1
+ const a0_0x121a4b=a0_0x19bc;(function(_0x333dbe,_0xe2c87d){const _0x15b40e=a0_0x19bc,_0x5529cc=_0x333dbe();while(!![]){try{const _0x4ae86b=parseInt(_0x15b40e(0x169))/0x1*(-parseInt(_0x15b40e(0x173))/0x2)+-parseInt(_0x15b40e(0x164))/0x3+-parseInt(_0x15b40e(0x14d))/0x4*(parseInt(_0x15b40e(0x179))/0x5)+-parseInt(_0x15b40e(0x162))/0x6*(-parseInt(_0x15b40e(0x178))/0x7)+-parseInt(_0x15b40e(0x15e))/0x8+parseInt(_0x15b40e(0x14f))/0x9*(parseInt(_0x15b40e(0x17c))/0xa)+parseInt(_0x15b40e(0x152))/0xb;if(_0x4ae86b===_0xe2c87d)break;else _0x5529cc['push'](_0x5529cc['shift']());}catch(_0x28a6c2){_0x5529cc['push'](_0x5529cc['shift']());}}}(a0_0x4ab9,0x22eae));function a0_0x19bc(_0x5dd93c,_0x4fb402){_0x5dd93c=_0x5dd93c-0x14a;const _0x4ab9c0=a0_0x4ab9();let _0x19bc34=_0x4ab9c0[_0x5dd93c];if(a0_0x19bc['KyBOSI']===undefined){var _0x4d9537=function(_0x29ae21){const _0x4c59ca='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x362fe8='',_0x3936f4='';for(let _0x2b6e0d=0x0,_0x48d693,_0x1ec572,_0x3cbd87=0x0;_0x1ec572=_0x29ae21['charAt'](_0x3cbd87++);~_0x1ec572&&(_0x48d693=_0x2b6e0d%0x4?_0x48d693*0x40+_0x1ec572:_0x1ec572,_0x2b6e0d++%0x4)?_0x362fe8+=String['fromCharCode'](0xff&_0x48d693>>(-0x2*_0x2b6e0d&0x6)):0x0){_0x1ec572=_0x4c59ca['indexOf'](_0x1ec572);}for(let _0x417088=0x0,_0x3f3b67=_0x362fe8['length'];_0x417088<_0x3f3b67;_0x417088++){_0x3936f4+='%'+('00'+_0x362fe8['charCodeAt'](_0x417088)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3936f4);};a0_0x19bc['xZuvRs']=_0x4d9537,a0_0x19bc['FNqBqv']={},a0_0x19bc['KyBOSI']=!![];}const _0x2b59df=_0x4ab9c0[0x0],_0x21168c=_0x5dd93c+_0x2b59df,_0x2a2baf=a0_0x19bc['FNqBqv'][_0x21168c];return!_0x2a2baf?(_0x19bc34=a0_0x19bc['xZuvRs'](_0x19bc34),a0_0x19bc['FNqBqv'][_0x21168c]=_0x19bc34):_0x19bc34=_0x2a2baf,_0x19bc34;}import a0_0x362fe8 from'typescript';import a0_0x3936f4 from'path';import{STATIC_ANALYSIS}from'../utilities/constants.js';function a0_0x4ab9(){const _0x3b731b=['tw9KDwXLuMvZB2X1DgLVBKTPBMq','ndvJyMzxrhq','y2XHC3m','y2HHCMfJDgvY','mZa3odK5oufZtunZwG','z2v0tgLUzufUzenOyxjHy3rLCK9Mug9ZAxrPB24','Aw5JBhvKzxm','y29TCgLSzxjpChrPB25Z','tM9KzuPZ','qw5HBhLZAxmGzMfPBgvKoIa','zgLYBMfTzq','rvjst1i','zMXHDhrLBKrPywDUB3n0AwnnzxnZywDLvgv4Da','q0furuDpuLK','zM9YBwf0rgLHz25VC3rPyW','zgvIDwC','mZmXnJq4CwPmtu1P','vhLWzvnJCMLWDcbHBMfSExnPCYbJB21WBgv0zwq','su1qt1ju','tw9KDwXLs2LUza','mZK2mtjXu1HVtxe','u1Lovefy','mteWmty5q3PxA1np','tgf0zxn0','Bg9Nz2vY','C3rHCNq','u3vNz2vZDgLVBG','mJzlu0L5yLe','BwvZC2fNzq','rgLHz25VC3rPy0nHDgvNB3j5','z2v0u3LUDgfJDgLJrgLHz25VC3rPy3m','zMLSDgvY','CgfYC2veAwfNBM9ZDgLJCW','BgvUz3rO','sNn4rw1PDa','zMLSzu5HBwu','twvZC2fNzq','mtaZotbJshrjsLK','y3jLyxrLu291CMnLrMLSzq','u0vwrvjjvfK','su5gtW','u2nYAxb0vgfYz2v0','odrwrgv3CfC','nduWndq1vLzvDMr4','BgLUzq','y2f0zwDVCNK','ntm0odeWt2Lvsg9Q','DhLWzq','z2v0u2vTyw50AwneAwfNBM9ZDgLJCW','vfLqrq','Aw50zxjMywnL','Dw5RBM93BG','C2v2zxjPDhK','ChvZAa','v2fYBMLUzW','mtjXrKnJEfC'];a0_0x4ab9=function(){return _0x3b731b;};return a0_0x4ab9();}class TypeScriptAnalyzer{constructor(_0x2b6e0d=null){const _0x1b4f0d=a0_0x19bc;this['logger']=_0x2b6e0d,this[_0x1b4f0d(0x155)]={'noEmit':!![],'jsx':a0_0x362fe8[_0x1b4f0d(0x170)]['React'],'target':a0_0x362fe8[_0x1b4f0d(0x177)][_0x1b4f0d(0x165)],'module':a0_0x362fe8[_0x1b4f0d(0x161)]['ESNext'],'moduleResolution':a0_0x362fe8[_0x1b4f0d(0x14e)][_0x1b4f0d(0x156)],'esModuleInterop':!![],'skipLibCheck':!![],'strict':!![],'noImplicitAny':!![],'strictNullChecks':!![],'strictFunctionTypes':!![],'allowJs':![]};}async['analyze'](_0x48d693,_0x1ec572,_0x3cbd87={}){const _0x28b5be=a0_0x19bc;try{const _0x417088=[],_0x3f3b67=a0_0x362fe8['createSourceFile'](_0x48d693,_0x1ec572,a0_0x362fe8['ScriptTarget'][_0x28b5be(0x165)],!![]),_0x2d529c=this[_0x28b5be(0x16c)](_0x3f3b67);_0x417088['push'](..._0x2d529c);const _0x201c5e=await this[_0x28b5be(0x17e)](_0x48d693,_0x1ec572);return _0x417088['push'](..._0x201c5e),this[_0x28b5be(0x166)]?.[_0x28b5be(0x15d)](_0x28b5be(0x15f),{'file':_0x48d693,'totalDiagnostics':_0x417088['length'],'errors':_0x417088[_0x28b5be(0x16d)](_0x1f3c80=>_0x1f3c80['severity']===STATIC_ANALYSIS['SEVERITY']['ERROR'])['length'],'warnings':_0x417088['filter'](_0x2ad967=>_0x2ad967[_0x28b5be(0x14a)]===STATIC_ANALYSIS[_0x28b5be(0x175)]['WARNING'])[_0x28b5be(0x16f)]}),_0x417088;}catch(_0x378188){return this['logger']?.['error']('TypeScript\x20analysis\x20failed',{'file':_0x48d693,'error':_0x378188[_0x28b5be(0x16a)]}),[{'file':_0x48d693,'line':0x0,'column':0x0,'severity':STATIC_ANALYSIS['SEVERITY']['ERROR'],'rule':'analyzer-error','message':_0x28b5be(0x157)+_0x378188[_0x28b5be(0x16a)],'category':STATIC_ANALYSIS['CATEGORY']['SYNTAX']}];}}[a0_0x121a4b(0x16c)](_0x1b6c88){const _0x20bbd8=a0_0x121a4b,_0x453d3a=[];if(_0x1b6c88[_0x20bbd8(0x16e)]&&_0x1b6c88['parseDiagnostics']['length']>0x0)for(const _0x93f60a of _0x1b6c88['parseDiagnostics']){_0x453d3a[_0x20bbd8(0x14b)](this['formatDiagnostic'](_0x93f60a,_0x1b6c88));}return _0x453d3a;}async[a0_0x121a4b(0x17e)](_0x4aacf4,_0x26deeb){const _0x5b81dd=a0_0x121a4b,_0x4a5574=[];try{const _0x39d688=a0_0x362fe8[_0x5b81dd(0x174)](_0x4aacf4,_0x26deeb,a0_0x362fe8['ScriptTarget'][_0x5b81dd(0x165)],!![]),_0x525e24={'getSourceFile':_0x88da54=>{if(_0x88da54===_0x4aacf4)return _0x39d688;return undefined;},'getDefaultLibFileName':()=>'lib.d.ts','writeFile':()=>{},'getCurrentDirectory':()=>a0_0x3936f4[_0x5b81dd(0x158)](_0x4aacf4),'getDirectories':()=>[],'fileExists':_0x3c5974=>_0x3c5974===_0x4aacf4,'readFile':_0x4b2441=>{if(_0x4b2441===_0x4aacf4)return _0x26deeb;return undefined;},'getCanonicalFileName':_0x3138a9=>_0x3138a9,'useCaseSensitiveFileNames':()=>!![],'getNewLine':()=>'\x0a'},_0x1d6346=a0_0x362fe8['createProgram']({'rootNames':[_0x4aacf4],'options':this['compilerOptions'],'host':_0x525e24}),_0x5e61fa=_0x1d6346['getSyntacticDiagnostics'](_0x39d688),_0x49c0ce=_0x1d6346[_0x5b81dd(0x17e)](_0x39d688);for(const _0x320541 of[..._0x5e61fa,..._0x49c0ce]){_0x4a5574[_0x5b81dd(0x14b)](this[_0x5b81dd(0x15c)](_0x320541,_0x39d688));}}catch(_0x4ae08b){this['logger']?.[_0x5b81dd(0x15d)]('Semantic\x20analysis\x20encountered\x20error',{'file':_0x4aacf4,'error':_0x4ae08b[_0x5b81dd(0x16a)]});}return _0x4a5574;}[a0_0x121a4b(0x15c)](_0x3675cf,_0x7d7af){const _0x371a48=a0_0x121a4b;let _0x145735=0x0,_0x2e0199=0x0;if(_0x3675cf['file']&&_0x3675cf[_0x371a48(0x167)]!==undefined){const _0x201c65=_0x3675cf['file'][_0x371a48(0x153)](_0x3675cf[_0x371a48(0x167)]);_0x145735=_0x201c65['line']+0x1,_0x2e0199=_0x201c65[_0x371a48(0x151)]+0x1;}else{if(_0x7d7af&&_0x3675cf['start']!==undefined){const _0x540758=_0x7d7af['getLineAndCharacterOfPosition'](_0x3675cf[_0x371a48(0x167)]);_0x145735=_0x540758[_0x371a48(0x17a)]+0x1,_0x2e0199=_0x540758[_0x371a48(0x151)]+0x1;}}const _0x219cbd=a0_0x362fe8[_0x371a48(0x15a)](_0x3675cf['messageText'],'\x0a');let _0x2e26ce;switch(_0x3675cf[_0x371a48(0x17b)]){case a0_0x362fe8['DiagnosticCategory']['Error']:_0x2e26ce=STATIC_ANALYSIS[_0x371a48(0x175)][_0x371a48(0x159)];break;case a0_0x362fe8[_0x371a48(0x16b)][_0x371a48(0x14c)]:_0x2e26ce=STATIC_ANALYSIS[_0x371a48(0x175)]['WARNING'];break;case a0_0x362fe8['DiagnosticCategory'][_0x371a48(0x172)]:case a0_0x362fe8['DiagnosticCategory'][_0x371a48(0x168)]:_0x2e26ce=STATIC_ANALYSIS[_0x371a48(0x175)][_0x371a48(0x176)];break;default:_0x2e26ce=STATIC_ANALYSIS['SEVERITY'][_0x371a48(0x159)];}let _0x569eee=STATIC_ANALYSIS[_0x371a48(0x15b)][_0x371a48(0x163)];const _0x4de718=_0x3675cf['code'];if(_0x4de718>=0x7d0&&_0x4de718<0xbb8)_0x569eee=STATIC_ANALYSIS['CATEGORY']['TYPE'];else{if(_0x4de718>=0x3e8&&_0x4de718<0x7d0)_0x569eee=STATIC_ANALYSIS[_0x371a48(0x15b)][_0x371a48(0x163)];else _0x4de718>=0x8fc&&_0x4de718<0x960&&(_0x569eee=STATIC_ANALYSIS[_0x371a48(0x15b)][_0x371a48(0x160)]);}const _0x383e0c=_0x219cbd['toLowerCase']();if(_0x383e0c['includes']('cannot\x20find\x20module')||_0x383e0c[_0x371a48(0x154)]('import')||_0x383e0c[_0x371a48(0x154)]('export'))_0x569eee=STATIC_ANALYSIS['CATEGORY']['IMPORT'];else(_0x383e0c['includes'](_0x371a48(0x17d))||_0x383e0c['includes'](_0x371a48(0x180))||_0x383e0c[_0x371a48(0x154)](_0x371a48(0x150)))&&(_0x569eee=STATIC_ANALYSIS[_0x371a48(0x15b)][_0x371a48(0x17f)]);return{'file':_0x3675cf['file']?.['fileName']||_0x7d7af?.[_0x371a48(0x171)]||_0x371a48(0x181),'line':_0x145735,'column':_0x2e0199,'severity':_0x2e26ce,'rule':'TS'+_0x4de718,'message':_0x219cbd,'category':_0x569eee,'fixable':![],'code':_0x3675cf['code']};}}export default TypeScriptAnalyzer;
@@ -1 +1 @@
1
- const a0_0x10e5cc=a0_0x4a51;(function(_0x32a4ca,_0x255b37){const _0x37441c=a0_0x4a51,_0x29d115=_0x32a4ca();while(!![]){try{const _0x488058=parseInt(_0x37441c(0xa8))/0x1+parseInt(_0x37441c(0xb5))/0x2*(-parseInt(_0x37441c(0xac))/0x3)+parseInt(_0x37441c(0x9f))/0x4+-parseInt(_0x37441c(0x8f))/0x5*(parseInt(_0x37441c(0x85))/0x6)+-parseInt(_0x37441c(0x90))/0x7+-parseInt(_0x37441c(0x9a))/0x8+parseInt(_0x37441c(0xb4))/0x9;if(_0x488058===_0x255b37)break;else _0x29d115['push'](_0x29d115['shift']());}catch(_0x2f4d04){_0x29d115['push'](_0x29d115['shift']());}}}(a0_0x3fda,0xb1b29));export class RefactoringAnalyzer{constructor(_0x17c323){this['config']=_0x17c323;}['analyzeClones'](_0x536292){const _0x6533c3=a0_0x4a51;return console[_0x6533c3(0x7a)](_0x6533c3(0x8b)),_0x536292[_0x6533c3(0xa9)]((_0x4217e4,_0x4eb0b2)=>{const _0x31c142=_0x6533c3,_0x179814=this[_0x31c142(0x94)](_0x4217e4),_0x4ac867=this['generateRefactoringAdvice'](_0x4217e4,_0x179814);return{'id':_0x31c142(0x86)+(_0x4eb0b2+0x1),'type':_0x4217e4['type'],'confidence':_0x4217e4['confidence'],'instances':_0x4217e4['blocks']['map'](_0x2ddb69=>({'file':_0x2ddb69['file'],'startLine':_0x2ddb69['startLine'],'endLine':_0x2ddb69[_0x31c142(0xb1)],'code':this['truncateCode'](_0x2ddb69['code']),'fullCode':_0x2ddb69['code'],'blockType':_0x2ddb69['type']})),'metrics':_0x179814,'refactoringAdvice':_0x4ac867};})['sort']((_0x24679b,_0x2a157c)=>_0x2a157c[_0x6533c3(0xb6)]['impactScore']-_0x24679b['metrics']['impactScore']);}[a0_0x10e5cc(0x94)](_0x555386){const _0x48118e=a0_0x10e5cc,_0x29c2c8=_0x555386['blocks'],_0x504e31=_0x555386[_0x48118e(0x7b)],_0x582a8e=this['averageLineCount'](_0x29c2c8),_0x8ab28a=_0x29c2c8['length'],_0xea5e58=this[_0x48118e(0xa5)](_0x504e31,_0x582a8e,_0x8ab28a,_0x555386['confidence']),_0x560335=_0x582a8e*(_0x8ab28a-0x1),_0x4b0250=_0x504e31*(_0x8ab28a-0x1);return{'tokenCount':_0x504e31,'lineCount':_0x582a8e,'instanceCount':_0x8ab28a,'duplicatedLines':_0x560335,'duplicatedTokens':_0x4b0250,'impactScore':parseFloat(_0xea5e58[_0x48118e(0x7e)](0x2)),'filesCovered':new Set(_0x29c2c8[_0x48118e(0xa9)](_0x578c95=>_0x578c95['file']))[_0x48118e(0xaa)]};}['calculateImpactScore'](_0x2f5287,_0x2c9731,_0x46769d,_0x4b180d){const _0x4a1d72=a0_0x10e5cc,_0x1f6a78=Math[_0x4a1d72(0xb0)](_0x2f5287+0x1)*0x2,_0x4cacc0=Math['log2'](_0x46769d+0x1)*0x3,_0x53a8a1=_0x4b180d*0x2,_0x5806d4=Math[_0x4a1d72(0x87)](_0x2c9731/0xa,0x3);return _0x1f6a78+_0x4cacc0+_0x53a8a1+_0x5806d4;}[a0_0x10e5cc(0x84)](_0x483744,_0x27f556){const _0x1af2e6=a0_0x10e5cc,_0xe816d3=this['determineRefactoringStrategy'](_0x483744,_0x27f556),_0x4a3965=this['determinePriority'](_0x27f556),_0x339c61=this[_0x1af2e6(0x9b)](_0x483744),_0x131c25=this['generateReasoning'](_0x483744,_0x27f556,_0xe816d3),_0x24e481=this['estimateEffort'](_0x27f556,_0xe816d3),_0x3378c8=this['describeBenefits'](_0x27f556);return{'priority':_0x4a3965,'strategy':_0xe816d3,'suggestedName':_0x339c61,'reasoning':_0x131c25,'estimatedEffort':_0x24e481,'benefits':_0x3378c8,'actionableSteps':this['generateActionableSteps'](_0xe816d3,_0x339c61,_0x27f556)};}['determineRefactoringStrategy'](_0x2c1a30,_0xd4fd1f){const _0x47670d=a0_0x10e5cc,{tokenCount:_0x13da68,lineCount:_0x289a5d,instanceCount:_0x5f01e6,filesCovered:_0x49f430}=_0xd4fd1f,_0x405cb0=_0x2c1a30['blocks'][_0x47670d(0xa9)](_0x5552ba=>_0x5552ba[_0x47670d(0x93)]),_0x5051e5=_0x405cb0[_0x47670d(0x79)](_0x4f1e03=>_0x4f1e03['includes']('Function')||_0x4f1e03[_0x47670d(0x7d)](_0x47670d(0xaf))),_0x5cace4=_0x405cb0[_0x47670d(0x79)](_0x316b4b=>_0x316b4b['includes']('Class'));if(_0x5cace4&&_0x289a5d>0x32)return'extract-module';else{if(_0x49f430>0x2&&_0x13da68>0x64)return'extract-module';else{if(_0x5051e5||_0x289a5d>=0xa&&_0x289a5d<=0x32)return'extract-function';else{if(_0x289a5d>0x32)return'extract-class';else return _0x289a5d<0xa?'extract-constant-or-utility':_0x47670d(0x8d);}}}}['determinePriority'](_0x260d6f){const _0x389d19=a0_0x10e5cc,{impactScore:_0x2493c8}=_0x260d6f;if(_0x2493c8>=0x8)return'high';if(_0x2493c8>=0x5)return _0x389d19(0x80);return _0x389d19(0x98);}[a0_0x10e5cc(0x9b)](_0xa3064e){const _0x15d2e7=a0_0x10e5cc,_0x212cdc=_0xa3064e[_0x15d2e7(0x9d)][_0x15d2e7(0xa9)](_0x1c581f=>_0x1c581f[_0x15d2e7(0xae)])['join']('\x20'),_0x20f391=_0x212cdc['match'](/[a-zA-Z_$][a-zA-Z0-9_$]*/g)||[],_0x1c6e29={};_0x20f391['forEach'](_0x3ca69e=>{const _0x35d61a=_0x15d2e7;if([_0x35d61a(0xa3),_0x35d61a(0x8c),'var','function','return','if','else',_0x35d61a(0xba),_0x35d61a(0x96)]['includes'](_0x3ca69e))return;_0x1c6e29[_0x3ca69e]=(_0x1c6e29[_0x3ca69e]||0x0)+0x1;});const _0x129afb=Object['entries'](_0x1c6e29)['sort']((_0x35ec16,_0x1e2658)=>_0x1e2658[0x1]-_0x35ec16[0x1])['slice'](0x0,0x3);if(_0x129afb['length']>0x0){const _0x41cef1=_0x129afb[_0x15d2e7(0xa9)](([_0x4360ec])=>_0x4360ec);return this[_0x15d2e7(0xb3)](_0x41cef1);}return'extractedFunction';}[a0_0x10e5cc(0xb3)](_0x11991b){const _0x43d6bb=a0_0x10e5cc;if(_0x11991b['length']===0x0)return'extractedFunction';return _0x11991b[0x0]+_0x11991b[_0x43d6bb(0xb8)](0x1)['map'](_0x35f01c=>_0x35f01c['charAt'](0x0)[_0x43d6bb(0x97)]()+_0x35f01c[_0x43d6bb(0xb8)](0x1))[_0x43d6bb(0x8a)]('');}['generateReasoning'](_0x1622a5,_0x29e532,_0x357b5e){const _0x32b50b=a0_0x10e5cc,{instanceCount:_0x366dc3,duplicatedLines:_0x48e39c,filesCovered:_0x1ec3a2}=_0x29e532;let _0x1afc3a='This\x20'+_0x1622a5['type']+_0x32b50b(0xb7)+_0x366dc3+'\x20times';return _0x1ec3a2>0x1&&(_0x1afc3a+='\x20across\x20'+_0x1ec3a2+'\x20different\x20files'),_0x1afc3a+=_0x32b50b(0xa6)+_0x48e39c+'\x20duplicated\x20lines.\x20',_0x1afc3a+=_0x32b50b(0x95)+_0x357b5e['replace'](/-/g,'\x20')+'\x20would\x20improve\x20maintainability',_0x366dc3>=0x3&&(_0x1afc3a+=', reduce bugs from inconsistent changes'),_0x1afc3a+=_0x32b50b(0x92),_0x29e532['impactScore']>=0x8&&(_0x1afc3a+='.\x20This\x20is\x20a\x20high-impact\x20refactoring\x20opportunity'),_0x1afc3a+'.';}['estimateEffort'](_0x15b9c2,_0x28f3a7){const _0x5a62c1=a0_0x10e5cc,{lineCount:_0xa7a3b4,instanceCount:_0x509f51,filesCovered:_0xdc8bec}=_0x15b9c2;let _0x517dee=0x0;_0x517dee+=Math[_0x5a62c1(0x87)](_0xa7a3b4/0xa,0x5),_0x517dee+=_0x509f51*0.5,_0x517dee+=_0xdc8bec*0.5;if(_0x28f3a7===_0x5a62c1(0x91))_0x517dee+=0x3;else{if(_0x28f3a7==='extract-class')_0x517dee+=0x2;else _0x28f3a7===_0x5a62c1(0x8d)&&(_0x517dee+=0x1);}if(_0x517dee<=0x3)return _0x5a62c1(0x98);if(_0x517dee<=0x7)return'medium';return _0x5a62c1(0xb9);}[a0_0x10e5cc(0x99)](_0x44b14d){const _0x5b18a7=a0_0x10e5cc,_0x20d37a=[];return _0x20d37a['push']('Eliminate\x20'+_0x44b14d[_0x5b18a7(0xa4)]+_0x5b18a7(0xa2)),_0x20d37a[_0x5b18a7(0xab)]('Improve\x20maintainability\x20by\x20centralizing\x20logic\x20in\x20one\x20place'),_0x44b14d['instanceCount']>=0x3&&_0x20d37a['push']('Reduce\x20risk\x20of\x20inconsistent\x20changes\x20across\x20'+_0x44b14d[_0x5b18a7(0x82)]+_0x5b18a7(0xa0)),_0x44b14d['filesCovered']>0x2&&_0x20d37a['push']('Improve\x20code\x20organization\x20across\x20'+_0x44b14d['filesCovered']+_0x5b18a7(0x9e)),_0x20d37a['push']('Make\x20future\x20changes\x20easier\x20and\x20less\x20error-prone'),_0x20d37a;}['generateActionableSteps'](_0x180a48,_0x16ace4,_0x4ee78f){const _0x192347=a0_0x10e5cc,_0x30b3e8=[];switch(_0x180a48){case _0x192347(0x8d):_0x30b3e8[_0x192347(0xab)]('1.\x20Create\x20a\x20new\x20function\x20named\x20\x27'+_0x16ace4+'\x27'),_0x30b3e8['push'](_0x192347(0x7f)),_0x30b3e8[_0x192347(0xab)]('3. Identify parameters needed from the surrounding context'),_0x30b3e8[_0x192347(0xab)]('4.\x20Replace\x20all\x20instances\x20with\x20calls\x20to\x20the\x20new\x20function'),_0x30b3e8['push'](_0x192347(0x7c));break;case _0x192347(0x89):_0x30b3e8['push']('1.\x20Create\x20a\x20new\x20class\x20to\x20encapsulate\x20this\x20functionality'),_0x30b3e8['push'](_0x192347(0xa1)),_0x30b3e8[_0x192347(0xab)]('3.\x20Update\x20all\x20instances\x20to\x20use\x20the\x20new\x20class'),_0x30b3e8['push']('4.\x20Consider\x20dependency\x20injection\x20for\x20better\x20testability');break;case'extract-module':_0x30b3e8[_0x192347(0xab)]('1.\x20Create\x20a\x20new\x20module/file\x20for\x20this\x20shared\x20functionality'),_0x30b3e8['push'](_0x192347(0xad)),_0x30b3e8[_0x192347(0xab)]('3.\x20Export\x20the\x20necessary\x20functions/classes'),_0x30b3e8['push']('4. Update all files to import from the new module'),_0x30b3e8[_0x192347(0xab)]('5.\x20Update\x20any\x20build\x20configurations\x20if\x20needed');break;default:_0x30b3e8[_0x192347(0xab)]('1.\x20Extract\x20the\x20duplicated\x20code\x20using\x20'+_0x180a48['replace'](/-/g,'\x20')),_0x30b3e8['push']('2.\x20Replace\x20all\x20instances\x20with\x20the\x20extracted\x20version'),_0x30b3e8[_0x192347(0xab)](_0x192347(0xb2));}return _0x30b3e8;}[a0_0x10e5cc(0x81)](_0x103770,_0x298e84=0xa){const _0x19f8aa=a0_0x10e5cc,_0x1514e1=_0x103770[_0x19f8aa(0x83)]('\x0a');if(_0x1514e1['length']<=_0x298e84)return _0x103770;return _0x1514e1['slice'](0x0,_0x298e84)['join']('\x0a')+'\x0a...\x20(truncated)';}['averageLineCount'](_0x490879){const _0xcfc3a5=a0_0x10e5cc,_0x4fe602=_0x490879[_0xcfc3a5(0x8e)]((_0x4a4fa9,_0x3002b6)=>_0x4a4fa9+(_0x3002b6[_0xcfc3a5(0xb1)]-_0x3002b6[_0xcfc3a5(0x88)]+0x1),0x0);return Math[_0xcfc3a5(0x9c)](_0x4fe602/_0x490879[_0xcfc3a5(0xa7)]);}}function a0_0x4a51(_0x420adb,_0x2f4131){_0x420adb=_0x420adb-0x79;const _0x3fda76=a0_0x3fda();let _0x4a514d=_0x3fda76[_0x420adb];if(a0_0x4a51['BlMegA']===undefined){var _0x3aa073=function(_0x3bcea9){const _0x25d175='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x17c323='',_0x536292='';for(let _0x4217e4=0x0,_0x4eb0b2,_0x179814,_0x4ac867=0x0;_0x179814=_0x3bcea9['charAt'](_0x4ac867++);~_0x179814&&(_0x4eb0b2=_0x4217e4%0x4?_0x4eb0b2*0x40+_0x179814:_0x179814,_0x4217e4++%0x4)?_0x17c323+=String['fromCharCode'](0xff&_0x4eb0b2>>(-0x2*_0x4217e4&0x6)):0x0){_0x179814=_0x25d175['indexOf'](_0x179814);}for(let _0x2ddb69=0x0,_0x24679b=_0x17c323['length'];_0x2ddb69<_0x24679b;_0x2ddb69++){_0x536292+='%'+('00'+_0x17c323['charCodeAt'](_0x2ddb69)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x536292);};a0_0x4a51['gZmyrR']=_0x3aa073,a0_0x4a51['YcJYJB']={},a0_0x4a51['BlMegA']=!![];}const _0x3344b2=_0x3fda76[0x0],_0x1ab01f=_0x420adb+_0x3344b2,_0x3eadf3=a0_0x4a51['YcJYJB'][_0x1ab01f];return!_0x3eadf3?(_0x4a514d=a0_0x4a51['gZmyrR'](_0x4a514d),a0_0x4a51['YcJYJB'][_0x1ab01f]=_0x4a514d):_0x4a514d=_0x3eadf3,_0x4a514d;}function a0_0x3fda(){const _0x121a3b=['Dg9Rzw5dB3vUDa','ns4GvgvZDcb0BYbLBNn1CMuGyMvOyxzPB3iGAxmGChjLC2vYDMvK','Aw5JBhvKzxm','Dg9gAxHLza','mI4Gtw92zsb0AguGzhvWBgLJyxrLzcbSB2DPyYbPBNrVihrOAxmGzNvUy3rPB24','BwvKAxvT','Dhj1BMnHDgvdB2rL','Aw5ZDgfUy2vdB3vUDa','C3bSAxq','z2vUzxjHDgvszwzHy3rVCMLUz0fKDMLJzq','mtiWquDhBfzi','y2XVBMuT','BwLU','C3rHCNrmAw5L','zxH0CMfJDc1JBgfZCW','AM9PBG','qw5HBhL6Aw5NignSB25LCYbMB3iGCMvMywn0B3jPBMCGB3bWB3j0Dw5PDgLLCY4UlG','Bgv0','zxH0CMfJDc1MDw5JDgLVBG','CMvKDwnL','mJK2mJK1vgX6B0nX','ndmZnZCZmLvAwvvQDa','zxH0CMfJDc1TB2r1Bgu','lcbHBMqGCMvKDwnLignVzguGC2L6zq','DhLWzq','y2fSy3vSyxrLtwv0CMLJCW','uMvMywn0B3jPBMCGDg8G','D2HPBgu','Dg9vChbLCKnHC2u','Bg93','zgvZy3jPyMvczw5LzML0CW','nZq5ntKYogTlBMLbEq','C3vNz2vZDe5HBwu','CM91BMq','yMXVy2TZ','igzPBgvZ','ndi1mJuWneXHzeTfsa','igXVy2f0Aw9UCW','mI4Gtw92zsbYzwXHDgvKig1LDgHVzhmGyw5KihbYB3bLCNrPzxmGAw50BYb0AguGy2XHC3m','igr1CgXPy2f0zwqGBgLUzxmGB2yGy29Kzq','y29UC3q','zhvWBgLJyxrLzeXPBMvZ','y2fSy3vSyxrLsw1Wywn0u2nVCMu','lcbYzxn1BhrPBMCGAw4G','BgvUz3rO','ntG5ntm5BxDWCezV','BwfW','C2L6zq','ChvZAa','oduZnZfdzLrSuNy','mI4Gtw92zsb0AguGzhvWBgLJyxrLzcbJB2rLigLUDg8GDgHLig5LDYbTB2r1Bgu','y29Kzq','twv0Ag9K','Bg9Nmta','zw5KtgLUzq','mY4GvgvZDcb0Ag9YB3vNAgX5','y3jLyxrLrNvUy3rPB25oyw1L','mJiYndm4nZHSzMPxAKu','ndzcsNvzDue','Bwv0CMLJCW','ignVzguGCgf0DgvYBIbHChbLyxjZia','C2XPy2u','AgLNAa','zM9Y','C29Tzq','Bg9N'];a0_0x3fda=function(){return _0x121a3b;};return a0_0x3fda();}
1
+ function a0_0x1cd9(_0xc8b283,_0x23f9c7){_0xc8b283=_0xc8b283-0xb0;const _0x1688b8=a0_0x1688();let _0x1cd942=_0x1688b8[_0xc8b283];if(a0_0x1cd9['NJKmUQ']===undefined){var _0x252b8b=function(_0x5cedf2){const _0x2502bb='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x7c4310='',_0x3259f5='';for(let _0x38c2ec=0x0,_0x17e4b9,_0x245465,_0x5c91c2=0x0;_0x245465=_0x5cedf2['charAt'](_0x5c91c2++);~_0x245465&&(_0x17e4b9=_0x38c2ec%0x4?_0x17e4b9*0x40+_0x245465:_0x245465,_0x38c2ec++%0x4)?_0x7c4310+=String['fromCharCode'](0xff&_0x17e4b9>>(-0x2*_0x38c2ec&0x6)):0x0){_0x245465=_0x2502bb['indexOf'](_0x245465);}for(let _0x840b59=0x0,_0x425e68=_0x7c4310['length'];_0x840b59<_0x425e68;_0x840b59++){_0x3259f5+='%'+('00'+_0x7c4310['charCodeAt'](_0x840b59)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3259f5);};a0_0x1cd9['BcEHzI']=_0x252b8b,a0_0x1cd9['TZIzFL']={},a0_0x1cd9['NJKmUQ']=!![];}const _0x398f30=_0x1688b8[0x0],_0x3e15ea=_0xc8b283+_0x398f30,_0x111bf6=a0_0x1cd9['TZIzFL'][_0x3e15ea];return!_0x111bf6?(_0x1cd942=a0_0x1cd9['BcEHzI'](_0x1cd942),a0_0x1cd9['TZIzFL'][_0x3e15ea]=_0x1cd942):_0x1cd942=_0x111bf6,_0x1cd942;}const a0_0x15882f=a0_0x1cd9;(function(_0x4e0c6b,_0x1a52c4){const _0x4a2688=a0_0x1cd9,_0x7f400a=_0x4e0c6b();while(!![]){try{const _0x408cb3=-parseInt(_0x4a2688(0xb1))/0x1+-parseInt(_0x4a2688(0xcf))/0x2*(parseInt(_0x4a2688(0xb5))/0x3)+-parseInt(_0x4a2688(0xc2))/0x4+-parseInt(_0x4a2688(0xc7))/0x5+parseInt(_0x4a2688(0xee))/0x6+-parseInt(_0x4a2688(0xd8))/0x7+parseInt(_0x4a2688(0xbb))/0x8*(parseInt(_0x4a2688(0xd5))/0x9);if(_0x408cb3===_0x1a52c4)break;else _0x7f400a['push'](_0x7f400a['shift']());}catch(_0x52dcfa){_0x7f400a['push'](_0x7f400a['shift']());}}}(a0_0x1688,0xd32b4));function a0_0x1688(){const _0x3a0cb5=['Aw1Wywn0u2nVCMu','ndK5ogLnywj1Bq','Bwv0CMLJCW','BwfW','y2HHCKf0','ms4Gq3jLyxrLigeGBMv3igz1BMn0Aw9Uig5HBwvKicC','C3bSAxq','mJyZn0LMzezrwa','mI4Gtw92zsbYzwXHDgvKig1LDgHVzhmGyw5KihbYB3bLCNrPzxmGAw50BYb0AguGy2XHC3m','y3jLyxrLrNvUy3rPB25oyw1L','nJqXmtC1nxbnD1LnBa','ns4GvgvZDcb0BYbLBNn1CMuGyMvOyxzPB3iGAxmGChjLC2vYDMvK','C29YDa','Bg9Nmta','AgLNAa','Dg9gAxHLza','ihrPBwvZ','z2vUzxjHDgvby3rPB25HyMXLu3rLChm','zxH0CMfJDc1TB2r1Bgu','mY4GvxbKyxrLigfSBcbPBNn0yw5JzxmGDg8GDxnLihrOzsbUzxCGy2XHC3m','DMfY','vgHPCYa','y29UzMLKzw5Jzq','yxzLCMfNzuXPBMvdB3vUDa','CMvKDwnL','y29Kzq','zxH0CMfJDc1JBgfZCW','zw5KtgLUzq','C2L6zq','zgv0zxjTAw5LuhjPB3jPDhK','Aw5JBhvKzxm','ms4Gq3jLyxrLigeGBMv3ig1VzhvSzs9MAwXLigzVCIb0AgLZihnOyxjLzcbMDw5JDgLVBMfSAxr5','nda0odCYmKzIternwq','zgvZy3jPyMvczw5LzML0CW','zgv0zxjTAw5LuMvMywn0B3jPBMDtDhjHDgvNEq','sw1WCM92zsbJB2rLig9Yz2fUAxPHDgLVBIbHy3jVC3mG','yMXVy2TZ','C3rHCNrmAw5L','z2vUzxjHDgvszwfZB25PBMC','mtq3ntmZmhb3u2nbtW','zxH0CMfJDgvKrNvUy3rPB24','uMvMywn0B3jPBMCGDg8G','ChvZAa','nJq1seTQqurs','Bg9N','zNvUy3rPB24','C2XPy2u','mY4GvgvZDcb0Ag9YB3vNAgX5','zwXZzq','mteYmJmYu3nst2T1','igXVy2f0Aw9UCW','zxn0Aw1HDgvfzMzVCNq','zMLSzxndB3zLCMvK','C3vNz2vZDe5HBwu','z2vUzxjHDgvszwzHy3rVCMLUz0fKDMLJzq','y29UC3q','nJGXodiWqLrVB1rN','mI4GuMvWBgfJzsbHBgWGAw5ZDgfUy2vZihDPDgGGDgHLigv4DhjHy3rLzcb2zxjZAw9U','y2fSy3vSyxrLtwv0CMLJCW','zxH0CMfJDc1JB25ZDgfUDc1VCI11DgLSAxr5','BwvKAxvT','ndeWnJuWnxrezK5QzG','ms4Gq3jLyxrLigeGBMv3ignSyxnZihrVigvUy2fWC3vSyxrLihrOAxmGzNvUy3rPB25HBgL0Eq','igzPBgvZ','Bg93','BgvUz3rO','Dg9Rzw5dB3vUDa','C29Tzq'];a0_0x1688=function(){return _0x3a0cb5;};return a0_0x1688();}export class RefactoringAnalyzer{constructor(_0x7c4310){this['config']=_0x7c4310;}['analyzeClones'](_0x3259f5){const _0x14e97d=a0_0x1cd9;return console[_0x14e97d(0xb6)]('Analyzing\x20clones\x20for\x20refactoring\x20opportunities...'),_0x3259f5[_0x14e97d(0xd1)]((_0x38c2ec,_0x17e4b9)=>{const _0x1c472b=_0x14e97d,_0x245465=this[_0x1c472b(0xc4)](_0x38c2ec),_0x5c91c2=this[_0x1c472b(0xc0)](_0x38c2ec,_0x245465);return{'id':'clone-'+(_0x17e4b9+0x1),'type':_0x38c2ec['type'],'confidence':_0x38c2ec[_0x1c472b(0xe4)],'instances':_0x38c2ec[_0x1c472b(0xf2)][_0x1c472b(0xd1)](_0x840b59=>({'file':_0x840b59['file'],'startLine':_0x840b59[_0x1c472b(0xf3)],'endLine':_0x840b59[_0x1c472b(0xe9)],'code':this['truncateCode'](_0x840b59[_0x1c472b(0xe7)]),'fullCode':_0x840b59['code'],'blockType':_0x840b59['type']})),'metrics':_0x245465,'refactoringAdvice':_0x5c91c2};})[_0x14e97d(0xda)]((_0x425e68,_0x5534ff)=>_0x5534ff['metrics'][_0x14e97d(0xce)]-_0x425e68[_0x14e97d(0xd0)]['impactScore']);}['calculateMetrics'](_0xffe4a7){const _0x4c8e4d=a0_0x1cd9,_0x58a6fb=_0xffe4a7['blocks'],_0x44f2ac=_0xffe4a7[_0x4c8e4d(0xcc)],_0x2af1d4=this[_0x4c8e4d(0xe5)](_0x58a6fb),_0xd395ff=_0x58a6fb['length'],_0x1d2adc=this['calculateImpactScore'](_0x44f2ac,_0x2af1d4,_0xd395ff,_0xffe4a7['confidence']),_0x21f4d7=_0x2af1d4*(_0xd395ff-0x1),_0x2d384c=_0x44f2ac*(_0xd395ff-0x1);return{'tokenCount':_0x44f2ac,'lineCount':_0x2af1d4,'instanceCount':_0xd395ff,'duplicatedLines':_0x21f4d7,'duplicatedTokens':_0x2d384c,'impactScore':parseFloat(_0x1d2adc[_0x4c8e4d(0xdd)](0x2)),'filesCovered':new Set(_0x58a6fb[_0x4c8e4d(0xd1)](_0x50247e=>_0x50247e['file']))[_0x4c8e4d(0xea)]};}['calculateImpactScore'](_0x4a97b3,_0x77631e,_0xea1376,_0x26302c){const _0x30f8c8=a0_0x1cd9,_0x32841b=Math[_0x30f8c8(0xdb)](_0x4a97b3+0x1)*0x2,_0x42b91d=Math['log2'](_0xea1376+0x1)*0x3,_0x485597=_0x26302c*0x2,_0x45fb8c=Math['min'](_0x77631e/0xa,0x3);return _0x32841b+_0x42b91d+_0x485597+_0x45fb8c;}[a0_0x15882f(0xc0)](_0x1a732e,_0x5b5435){const _0x293a8d=a0_0x15882f,_0x55a248=this[_0x293a8d(0xf0)](_0x1a732e,_0x5b5435),_0x213346=this[_0x293a8d(0xeb)](_0x5b5435),_0x2c5965=this[_0x293a8d(0xbf)](_0x1a732e),_0x237b9c=this[_0x293a8d(0xb0)](_0x1a732e,_0x5b5435,_0x55a248),_0x3d1c30=this[_0x293a8d(0xbd)](_0x5b5435,_0x55a248),_0x448a9d=this['describeBenefits'](_0x5b5435);return{'priority':_0x213346,'strategy':_0x55a248,'suggestedName':_0x2c5965,'reasoning':_0x237b9c,'estimatedEffort':_0x3d1c30,'benefits':_0x448a9d,'actionableSteps':this['generateActionableSteps'](_0x55a248,_0x2c5965,_0x5b5435)};}[a0_0x15882f(0xf0)](_0x37cb7d,_0x2db4f9){const _0x2d0388=a0_0x15882f,{tokenCount:_0x30c346,lineCount:_0xa59ee2,instanceCount:_0x28dbd9,filesCovered:_0x254cff}=_0x2db4f9,_0x201971=_0x37cb7d['blocks'][_0x2d0388(0xd1)](_0x280c6e=>_0x280c6e['type']),_0x4cb0ee=_0x201971[_0x2d0388(0xcd)](_0xa3635e=>_0xa3635e[_0x2d0388(0xec)]('Function')||_0xa3635e['includes']('Method')),_0x21277c=_0x201971[_0x2d0388(0xcd)](_0x2e8346=>_0x2e8346[_0x2d0388(0xec)]('Class'));if(_0x21277c&&_0xa59ee2>0x32)return'extract-module';else{if(_0x254cff>0x2&&_0x30c346>0x64)return _0x2d0388(0xe0);else{if(_0x4cb0ee||_0xa59ee2>=0xa&&_0xa59ee2<=0x32)return'extract-function';else{if(_0xa59ee2>0x32)return'extract-class';else return _0xa59ee2<0xa?_0x2d0388(0xc5):'extract-function';}}}}[a0_0x15882f(0xeb)](_0x5374c4){const {impactScore:_0x33bb45}=_0x5374c4;if(_0x33bb45>=0x8)return'high';if(_0x33bb45>=0x5)return'medium';return'low';}['suggestName'](_0x1ff920){const _0x469bf6=a0_0x15882f,_0x464945=_0x1ff920['blocks'][_0x469bf6(0xd1)](_0x3b01b6=>_0x3b01b6['code'])['join']('\x20'),_0x338515=_0x464945['match'](/[a-zA-Z_$][a-zA-Z0-9_$]*/g)||[],_0x303f43={};_0x338515['forEach'](_0x1c26cf=>{const _0x163fe0=_0x469bf6;if([_0x163fe0(0xc1),'let',_0x163fe0(0xe2),_0x163fe0(0xb7),'return','if',_0x163fe0(0xba),'for','while'][_0x163fe0(0xec)](_0x1c26cf))return;_0x303f43[_0x1c26cf]=(_0x303f43[_0x1c26cf]||0x0)+0x1;});const _0x5cdc72=Object['entries'](_0x303f43)[_0x469bf6(0xda)]((_0x64270f,_0x460e66)=>_0x460e66[0x1]-_0x64270f[0x1])[_0x469bf6(0xb8)](0x0,0x3);if(_0x5cdc72[_0x469bf6(0xcb)]>0x0){const _0xabe91b=_0x5cdc72['map'](([_0x5a7172])=>_0x5a7172);return this['createFunctionName'](_0xabe91b);}return'extractedFunction';}[a0_0x15882f(0xd7)](_0x12b3e4){const _0x343cee=a0_0x15882f;if(_0x12b3e4['length']===0x0)return _0x343cee(0xb2);return _0x12b3e4[0x0]+_0x12b3e4[_0x343cee(0xb8)](0x1)['map'](_0x3b1e6d=>_0x3b1e6d[_0x343cee(0xd2)](0x0)['toUpperCase']()+_0x3b1e6d['slice'](0x1))['join']('');}[a0_0x15882f(0xb0)](_0xdc5029,_0x2f8058,_0x667351){const _0x48101f=a0_0x15882f,{instanceCount:_0x133b74,duplicatedLines:_0x7aabe1,filesCovered:_0x46aff7}=_0x2f8058;let _0x45c2b5=_0x48101f(0xe3)+_0xdc5029['type']+'\x20code\x20pattern\x20appears\x20'+_0x133b74+_0x48101f(0xde);return _0x46aff7>0x1&&(_0x45c2b5+='\x20across\x20'+_0x46aff7+'\x20different\x20files'),_0x45c2b5+=',\x20resulting\x20in\x20'+_0x7aabe1+'\x20duplicated\x20lines.\x20',_0x45c2b5+=_0x48101f(0xb3)+_0x667351['replace'](/-/g,'\x20')+'\x20would\x20improve\x20maintainability',_0x133b74>=0x3&&(_0x45c2b5+=', reduce bugs from inconsistent changes'),_0x45c2b5+=',\x20and\x20reduce\x20code\x20size',_0x2f8058['impactScore']>=0x8&&(_0x45c2b5+='.\x20This\x20is\x20a\x20high-impact\x20refactoring\x20opportunity'),_0x45c2b5+'.';}['estimateEffort'](_0x183e12,_0xb005b9){const _0x50b324=a0_0x15882f,{lineCount:_0xa0e69,instanceCount:_0x239a87,filesCovered:_0x4ff8cc}=_0x183e12;let _0x36d14a=0x0;_0x36d14a+=Math['min'](_0xa0e69/0xa,0x5),_0x36d14a+=_0x239a87*0.5,_0x36d14a+=_0x4ff8cc*0.5;if(_0xb005b9===_0x50b324(0xe0))_0x36d14a+=0x3;else{if(_0xb005b9==='extract-class')_0x36d14a+=0x2;else _0xb005b9==='extract-function'&&(_0x36d14a+=0x1);}if(_0x36d14a<=0x3)return _0x50b324(0xca);if(_0x36d14a<=0x7)return _0x50b324(0xc6);return _0x50b324(0xdc);}[a0_0x15882f(0xef)](_0x4c7b88){const _0x6620d8=a0_0x15882f,_0x506714=[];return _0x506714['push']('Eliminate\x20'+_0x4c7b88['duplicatedLines']+'\x20duplicated\x20lines\x20of\x20code'),_0x506714[_0x6620d8(0xb4)]('Improve\x20maintainability\x20by\x20centralizing\x20logic\x20in\x20one\x20place'),_0x4c7b88['instanceCount']>=0x3&&_0x506714[_0x6620d8(0xb4)]('Reduce\x20risk\x20of\x20inconsistent\x20changes\x20across\x20'+_0x4c7b88['instanceCount']+_0x6620d8(0xbc)),_0x4c7b88[_0x6620d8(0xbe)]>0x2&&_0x506714[_0x6620d8(0xb4)](_0x6620d8(0xf1)+_0x4c7b88['filesCovered']+_0x6620d8(0xc9)),_0x506714['push']('Make\x20future\x20changes\x20easier\x20and\x20less\x20error-prone'),_0x506714;}[a0_0x15882f(0xdf)](_0x264ea6,_0x2bc358,_0x2aa9b5){const _0x1aa855=a0_0x15882f,_0x37ff55=[];switch(_0x264ea6){case'extract-function':_0x37ff55[_0x1aa855(0xb4)](_0x1aa855(0xd3)+_0x2bc358+'\x27'),_0x37ff55['push']('2.\x20Move\x20the\x20duplicated\x20logic\x20into\x20this\x20function'),_0x37ff55[_0x1aa855(0xb4)]('3. Identify parameters needed from the surrounding context'),_0x37ff55[_0x1aa855(0xb4)]('4.\x20Replace\x20all\x20instances\x20with\x20calls\x20to\x20the\x20new\x20function'),_0x37ff55[_0x1aa855(0xb4)](_0x1aa855(0xd9));break;case _0x1aa855(0xe8):_0x37ff55[_0x1aa855(0xb4)](_0x1aa855(0xc8)),_0x37ff55[_0x1aa855(0xb4)](_0x1aa855(0xd6)),_0x37ff55[_0x1aa855(0xb4)](_0x1aa855(0xe1)),_0x37ff55['push']('4.\x20Consider\x20dependency\x20injection\x20for\x20better\x20testability');break;case _0x1aa855(0xe0):_0x37ff55['push'](_0x1aa855(0xed)),_0x37ff55['push']('2.\x20Move\x20the\x20duplicated\x20code\x20into\x20the\x20new\x20module'),_0x37ff55['push']('3.\x20Export\x20the\x20necessary\x20functions/classes'),_0x37ff55['push']('4. Update all files to import from the new module'),_0x37ff55['push']('5.\x20Update\x20any\x20build\x20configurations\x20if\x20needed');break;default:_0x37ff55['push']('1.\x20Extract\x20the\x20duplicated\x20code\x20using\x20'+_0x264ea6['replace'](/-/g,'\x20')),_0x37ff55[_0x1aa855(0xb4)](_0x1aa855(0xc3)),_0x37ff55['push'](_0x1aa855(0xb9));}return _0x37ff55;}['truncateCode'](_0x692983,_0x180cf5=0xa){const _0x4fd695=a0_0x15882f,_0x16bb97=_0x692983[_0x4fd695(0xd4)]('\x0a');if(_0x16bb97[_0x4fd695(0xcb)]<=_0x180cf5)return _0x692983;return _0x16bb97['slice'](0x0,_0x180cf5)['join']('\x0a')+'\x0a...\x20(truncated)';}[a0_0x15882f(0xe5)](_0x221fc2){const _0x4d708b=a0_0x15882f,_0x4b65b0=_0x221fc2[_0x4d708b(0xe6)]((_0x595b34,_0x21985b)=>_0x595b34+(_0x21985b['endLine']-_0x21985b['startLine']+0x1),0x0);return Math['round'](_0x4b65b0/_0x221fc2['length']);}}