@loxia-labs/loxia-autopilot-one 1.0.11 → 1.0.12

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 (120) hide show
  1. package/bin/cli.js +1 -1
  2. package/bin/loxia-terminal-v2.js +1 -1
  3. package/bin/loxia-terminal.js +1 -1
  4. package/bin/start-with-terminal.js +1 -1
  5. package/package.json +1 -1
  6. package/scripts/install-scanners.js +1 -1
  7. package/src/analyzers/CSSAnalyzer.js +1 -1
  8. package/src/analyzers/ConfigValidator.js +1 -1
  9. package/src/analyzers/ESLintAnalyzer.js +1 -1
  10. package/src/analyzers/JavaScriptAnalyzer.js +1 -1
  11. package/src/analyzers/PrettierFormatter.js +1 -1
  12. package/src/analyzers/PythonAnalyzer.js +1 -1
  13. package/src/analyzers/SecurityAnalyzer.js +1 -1
  14. package/src/analyzers/TypeScriptAnalyzer.js +1 -1
  15. package/src/analyzers/codeCloneDetector/analyzer.js +1 -1
  16. package/src/analyzers/codeCloneDetector/detector.js +1 -1
  17. package/src/analyzers/codeCloneDetector/index.js +1 -1
  18. package/src/analyzers/codeCloneDetector/parser.js +1 -1
  19. package/src/analyzers/codeCloneDetector/reporter.js +1 -1
  20. package/src/analyzers/codeCloneDetector/scanner.js +1 -1
  21. package/src/core/agentPool.js +1 -1
  22. package/src/core/agentScheduler.js +1 -1
  23. package/src/core/contextManager.js +1 -1
  24. package/src/core/messageProcessor.js +1 -1
  25. package/src/core/orchestrator.js +1 -1
  26. package/src/core/stateManager.js +1 -1
  27. package/src/index.js +1 -1
  28. package/src/interfaces/cli.js +1 -1
  29. package/src/interfaces/terminal/__tests__/smoke/advancedFeatures.test.js +1 -1
  30. package/src/interfaces/terminal/__tests__/smoke/agentControl.test.js +1 -1
  31. package/src/interfaces/terminal/__tests__/smoke/agents.test.js +1 -1
  32. package/src/interfaces/terminal/__tests__/smoke/components.test.js +1 -1
  33. package/src/interfaces/terminal/__tests__/smoke/connection.test.js +1 -1
  34. package/src/interfaces/terminal/__tests__/smoke/enhancements.test.js +1 -1
  35. package/src/interfaces/terminal/__tests__/smoke/imports.test.js +1 -1
  36. package/src/interfaces/terminal/__tests__/smoke/messages.test.js +1 -1
  37. package/src/interfaces/terminal/__tests__/smoke/tools.test.js +1 -1
  38. package/src/interfaces/terminal/api/apiClient.js +1 -1
  39. package/src/interfaces/terminal/api/messageRouter.js +1 -1
  40. package/src/interfaces/terminal/api/session.js +1 -1
  41. package/src/interfaces/terminal/api/websocket.js +1 -1
  42. package/src/interfaces/terminal/components/AgentCreator.js +1 -1
  43. package/src/interfaces/terminal/components/AgentEditor.js +1 -1
  44. package/src/interfaces/terminal/components/AgentSwitcher.js +1 -1
  45. package/src/interfaces/terminal/components/ErrorBoundary.js +1 -1
  46. package/src/interfaces/terminal/components/ErrorPanel.js +1 -1
  47. package/src/interfaces/terminal/components/Header.js +1 -1
  48. package/src/interfaces/terminal/components/HelpPanel.js +1 -1
  49. package/src/interfaces/terminal/components/InputBox.js +1 -1
  50. package/src/interfaces/terminal/components/Layout.js +1 -1
  51. package/src/interfaces/terminal/components/LoadingSpinner.js +1 -1
  52. package/src/interfaces/terminal/components/MessageList.js +1 -1
  53. package/src/interfaces/terminal/components/MultilineTextInput.js +1 -1
  54. package/src/interfaces/terminal/components/SearchPanel.js +1 -1
  55. package/src/interfaces/terminal/components/SettingsPanel.js +1 -1
  56. package/src/interfaces/terminal/components/StatusBar.js +1 -1
  57. package/src/interfaces/terminal/components/TextInput.js +1 -1
  58. package/src/interfaces/terminal/config/agentEditorConstants.js +1 -1
  59. package/src/interfaces/terminal/config/constants.js +1 -1
  60. package/src/interfaces/terminal/index.js +1 -1
  61. package/src/interfaces/terminal/state/useAgentControl.js +1 -1
  62. package/src/interfaces/terminal/state/useAgents.js +1 -1
  63. package/src/interfaces/terminal/state/useConnection.js +1 -1
  64. package/src/interfaces/terminal/state/useMessages.js +1 -1
  65. package/src/interfaces/terminal/state/useTools.js +1 -1
  66. package/src/interfaces/terminal/utils/debugLogger.js +1 -1
  67. package/src/interfaces/terminal/utils/settingsStorage.js +1 -1
  68. package/src/interfaces/terminal/utils/theme.js +1 -1
  69. package/src/interfaces/webServer.js +1 -1
  70. package/src/modules/fileExplorer/controller.js +1 -1
  71. package/src/modules/fileExplorer/index.js +1 -1
  72. package/src/modules/fileExplorer/middleware.js +1 -1
  73. package/src/modules/fileExplorer/routes.js +1 -1
  74. package/src/services/aiService.js +1 -1
  75. package/src/services/apiKeyManager.js +1 -1
  76. package/src/services/benchmarkService.js +1 -1
  77. package/src/services/budgetService.js +1 -1
  78. package/src/services/contextInjectionService.js +1 -1
  79. package/src/services/conversationCompactionService.js +1 -1
  80. package/src/services/errorHandler.js +1 -1
  81. package/src/services/fileAttachmentService.js +1 -1
  82. package/src/services/modelRouterService.js +1 -1
  83. package/src/services/modelsService.js +1 -1
  84. package/src/services/qualityInspector.js +1 -1
  85. package/src/services/tokenCountingService.js +1 -1
  86. package/src/tools/agentCommunicationTool.js +1 -1
  87. package/src/tools/agentDelayTool.js +1 -1
  88. package/src/tools/asyncToolManager.js +1 -1
  89. package/src/tools/baseTool.js +1 -1
  90. package/src/tools/browserTool.js +1 -1
  91. package/src/tools/cloneDetectionTool.js +1 -1
  92. package/src/tools/dependencyResolverTool.js +1 -1
  93. package/src/tools/fileContentReplaceTool.js +1 -1
  94. package/src/tools/fileSystemTool.js +1 -1
  95. package/src/tools/fileTreeTool.js +1 -1
  96. package/src/tools/imageTool.js +1 -1
  97. package/src/tools/importAnalyzerTool.js +1 -1
  98. package/src/tools/jobDoneTool.js +1 -1
  99. package/src/tools/seekTool.js +1 -1
  100. package/src/tools/staticAnalysisTool.js +1 -1
  101. package/src/tools/taskManagerTool.js +1 -1
  102. package/src/tools/terminalTool.js +1 -1
  103. package/src/tools/webTool.js +1 -1
  104. package/src/types/agent.js +1 -1
  105. package/src/types/contextReference.js +1 -1
  106. package/src/types/conversation.js +1 -1
  107. package/src/types/toolCommand.js +1 -1
  108. package/src/utilities/attachmentValidator.js +1 -1
  109. package/src/utilities/configManager.js +1 -1
  110. package/src/utilities/constants.js +1 -1
  111. package/src/utilities/directoryAccessManager.js +1 -1
  112. package/src/utilities/fileProcessor.js +1 -1
  113. package/src/utilities/logger.js +1 -1
  114. package/src/utilities/tagParser.js +1 -1
  115. package/src/utilities/toolConstants.js +1 -1
  116. package/src/utilities/userDataDir.js +1 -0
  117. package/web-ui/build/index.html +2 -2
  118. package/web-ui/build/static/{index-C5X7qBNF.js → index-DXN850Y2.js} +69 -65
  119. package/web-ui/build/static/index-an-YRzUX.css +1 -0
  120. package/web-ui/build/static/index-g2UFuTwG.css +0 -1
@@ -1 +1 @@
1
- const a0_0x3604d5=a0_0x30ea;(function(_0x45cb50,_0x3e29ec){const _0x589341=a0_0x30ea,_0x4c019a=_0x45cb50();while(!![]){try{const _0x1911d1=-parseInt(_0x589341(0x172))/0x1*(-parseInt(_0x589341(0x170))/0x2)+parseInt(_0x589341(0x16a))/0x3+parseInt(_0x589341(0x180))/0x4+-parseInt(_0x589341(0x174))/0x5*(parseInt(_0x589341(0x164))/0x6)+parseInt(_0x589341(0x17a))/0x7+-parseInt(_0x589341(0x173))/0x8+-parseInt(_0x589341(0x183))/0x9*(parseInt(_0x589341(0x185))/0xa);if(_0x1911d1===_0x3e29ec)break;else _0x4c019a['push'](_0x4c019a['shift']());}catch(_0x474613){_0x4c019a['push'](_0x4c019a['shift']());}}}(a0_0x49bf,0x30b71));function a0_0x30ea(_0x544a20,_0x24f3eb){_0x544a20=_0x544a20-0x161;const _0x49bf34=a0_0x49bf();let _0x30ea31=_0x49bf34[_0x544a20];if(a0_0x30ea['jjFzFH']===undefined){var _0x2c84b3=function(_0x493788){const _0x398d86='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2f1abf='',_0x2ae0b7='';for(let _0x3343f1=0x0,_0x6bf1f1,_0x57ca9b,_0x4674bc=0x0;_0x57ca9b=_0x493788['charAt'](_0x4674bc++);~_0x57ca9b&&(_0x6bf1f1=_0x3343f1%0x4?_0x6bf1f1*0x40+_0x57ca9b:_0x57ca9b,_0x3343f1++%0x4)?_0x2f1abf+=String['fromCharCode'](0xff&_0x6bf1f1>>(-0x2*_0x3343f1&0x6)):0x0){_0x57ca9b=_0x398d86['indexOf'](_0x57ca9b);}for(let _0x1f0dc6=0x0,_0xa6e894=_0x2f1abf['length'];_0x1f0dc6<_0xa6e894;_0x1f0dc6++){_0x2ae0b7+='%'+('00'+_0x2f1abf['charCodeAt'](_0x1f0dc6)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2ae0b7);};a0_0x30ea['IAxOuL']=_0x2c84b3,a0_0x30ea['iOeVOf']={},a0_0x30ea['jjFzFH']=!![];}const _0x367ade=_0x49bf34[0x0],_0x57119a=_0x544a20+_0x367ade,_0xc94bd2=a0_0x30ea['iOeVOf'][_0x57119a];return!_0xc94bd2?(_0x30ea31=a0_0x30ea['IAxOuL'](_0x30ea31),a0_0x30ea['iOeVOf'][_0x57119a]=_0x30ea31):_0x30ea31=_0xc94bd2,_0x30ea31;}import a0_0x2f1abf from'typescript';import a0_0x2ae0b7 from'path';function a0_0x49bf(){const _0x1e8309=['z2v0u3LUDgfJDgLJrgLHz25VC3rPy3m','CgfYC2veAwfNBM9ZDgLJCW','su5gtW','rgLHz25VC3rPy0nHDgvNB3j5','BgLUzq','z2v0u3rHCNq','v2fYBMLUzW','nte0mZa4qursr2zL','rvjst1i','y29Kzq','u3vNz2vZDgLVBG','zMLSzu5HBwu','y2HHCMfJDgvY','odC4mJu2DKzrDNHM','y29TCgLSzxjpChrPB25Z','zM9YrwfJAenOAwXK','u3LUDgf4igvYCM9Y','u3LUDgf4s2LUza','zMLSzq','mM9ZyuvyAa','BgvUz3rO','ndu3ndzlDKPku0S','mJCWndy0mgX3txLKsq','mtbKC2LjsMi','zM9YBwf0rgLHz25VC3rPyW','yw5HBhL6zxiTzxjYB3i','u0vwrvjjvfK','BwvZC2fNzq','BwvZC2fNzvrLEhq','mtG0otqWmfD5AxHWwa','v0fstKLorW','u2nYAxb0vgfYz2v0','yw5HBhL6zq','u2vTyw50AwmGyw5HBhLZAxmGC2TPChbLza','ChvZAa','odGZmZm2ug15AhD6','zMXHDhrLBKrPywDUB3n0AwnnzxnZywDLvgv4Da','rvnozxH0','ouHwr1zwAq','Bg9Nz2vY','mte0ndC5mg1fA2v4sq','C3rHCNq','Dg9mB3DLCKnHC2u','zgvIDwC','y3jLyxrLu291CMnLrMLSzq','vfLqrq','C3LUDgf4lwvYCM9Y','q0furuDpuLK','twvZC2fNzq','u1Lovefy','tgf0zxn0','C2v2zxjPDhK'];a0_0x49bf=function(){return _0x1e8309;};return a0_0x49bf();}import{STATIC_ANALYSIS}from'../utilities/constants.js';class JavaScriptAnalyzer{constructor(_0x3343f1=null){const _0x5c1c07=a0_0x30ea;this['logger']=_0x3343f1,this[_0x5c1c07(0x16b)]={'allowJs':!![],'checkJs':!![],'noEmit':!![],'jsx':a0_0x2f1abf['JsxEmit']['React'],'target':a0_0x2f1abf['ScriptTarget'][_0x5c1c07(0x18f)],'module':a0_0x2f1abf['ModuleKind'][_0x5c1c07(0x182)],'moduleResolution':a0_0x2f1abf['ModuleResolutionKind']['NodeJs'],'esModuleInterop':!![],'skipLibCheck':!![],'strict':![],'noImplicitAny':![]};}async[a0_0x3604d5(0x17d)](_0x6bf1f1,_0x57ca9b,_0x4674bc={}){const _0x380348=a0_0x3604d5;try{const _0x1f0dc6=[],_0xa6e894=a0_0x2f1abf['createSourceFile'](_0x6bf1f1,_0x57ca9b,a0_0x2f1abf['ScriptTarget'][_0x380348(0x18f)],!![]),_0x35f512=this[_0x380348(0x191)](_0xa6e894);_0x1f0dc6[_0x380348(0x17f)](..._0x35f512);const _0x21620c=await this['getSemanticDiagnostics'](_0x6bf1f1,_0x57ca9b);return _0x1f0dc6['push'](..._0x21620c),this['logger']?.[_0x380348(0x188)]('JavaScript\x20analysis\x20completed',{'file':_0x6bf1f1,'totalDiagnostics':_0x1f0dc6[_0x380348(0x171)],'errors':_0x1f0dc6['filter'](_0x3a7a96=>_0x3a7a96[_0x380348(0x190)]===STATIC_ANALYSIS['SEVERITY']['ERROR'])[_0x380348(0x171)],'warnings':_0x1f0dc6['filter'](_0x5c6b7b=>_0x5c6b7b[_0x380348(0x190)]===STATIC_ANALYSIS['SEVERITY'][_0x380348(0x17b)])['length']}),_0x1f0dc6;}catch(_0x1309b6){return this['logger']?.['error']('JavaScript\x20analysis\x20failed',{'file':_0x6bf1f1,'error':_0x1309b6[_0x380348(0x178)]}),[{'file':_0x6bf1f1,'line':0x0,'column':0x0,'severity':STATIC_ANALYSIS['SEVERITY']['ERROR'],'rule':_0x380348(0x176),'message':'Analysis\x20failed:\x20'+_0x1309b6[_0x380348(0x178)],'category':STATIC_ANALYSIS[_0x380348(0x18c)][_0x380348(0x18e)]}];}}[a0_0x3604d5(0x191)](_0x22579c){const _0x46ad90=a0_0x3604d5,_0x44f026=[],_0x5abdfb=_0x22e680=>{const _0x38d870=a0_0x30ea;if(_0x22e680['kind']===a0_0x2f1abf[_0x38d870(0x16e)]['Unknown']){const _0x119e67=_0x22579c['getLineAndCharacterOfPosition'](_0x22e680[_0x38d870(0x162)]());_0x44f026[_0x38d870(0x17f)]({'file':_0x22579c['fileName'],'line':_0x119e67[_0x38d870(0x161)]+0x1,'column':_0x119e67['character']+0x1,'severity':STATIC_ANALYSIS[_0x38d870(0x177)]['ERROR'],'rule':_0x38d870(0x18b),'message':_0x38d870(0x16d),'category':STATIC_ANALYSIS['CATEGORY'][_0x38d870(0x18e)],'fixable':![]});}a0_0x2f1abf[_0x38d870(0x16c)](_0x22e680,_0x5abdfb);};_0x5abdfb(_0x22579c);if(_0x22579c['parseDiagnostics']&&_0x22579c[_0x46ad90(0x192)]['length']>0x0)for(const _0x4ecee9 of _0x22579c['parseDiagnostics']){_0x44f026[_0x46ad90(0x17f)](this[_0x46ad90(0x175)](_0x4ecee9,_0x22579c));}return _0x44f026;}async['getSemanticDiagnostics'](_0x407234,_0x1b9a7c){const _0x3b48ea=a0_0x3604d5,_0xdeab70=[];try{const _0x160089=a0_0x2f1abf[_0x3b48ea(0x189)](_0x407234,_0x1b9a7c,a0_0x2f1abf[_0x3b48ea(0x17c)][_0x3b48ea(0x18f)],!![]),_0x3dc26a={'getSourceFile':_0x8559ff=>{if(_0x8559ff===_0x407234)return _0x160089;return undefined;},'getDefaultLibFileName':()=>'lib.d.ts','writeFile':()=>{},'getCurrentDirectory':()=>a0_0x2ae0b7['dirname'](_0x407234),'getDirectories':()=>[],'fileExists':_0x296baf=>_0x296baf===_0x407234,'readFile':_0x1a68f2=>{if(_0x1a68f2===_0x407234)return _0x1b9a7c;return undefined;},'getCanonicalFileName':_0x33ed7d=>_0x33ed7d,'useCaseSensitiveFileNames':()=>!![],'getNewLine':()=>'\x0a'},_0x475f94=a0_0x2f1abf['createProgram']({'rootNames':[_0x407234],'options':this['compilerOptions'],'host':_0x3dc26a}),_0x485dce=_0x475f94['getSemanticDiagnostics'](_0x160089);for(const _0xf2b4a of _0x485dce){_0xdeab70['push'](this['formatDiagnostic'](_0xf2b4a,_0x160089));}}catch(_0x47376e){this[_0x3b48ea(0x184)]?.[_0x3b48ea(0x188)](_0x3b48ea(0x17e),{'file':_0x407234,'reason':_0x47376e[_0x3b48ea(0x178)]});}return _0xdeab70;}['formatDiagnostic'](_0x5e5c4e,_0x4a5414){const _0x3bd9ed=a0_0x3604d5;let _0x544490=0x0,_0x5b492b=0x0;if(_0x5e5c4e[_0x3bd9ed(0x16f)]&&_0x5e5c4e[_0x3bd9ed(0x186)]!==undefined){const _0x51a02b=_0x5e5c4e['file']['getLineAndCharacterOfPosition'](_0x5e5c4e['start']);_0x544490=_0x51a02b[_0x3bd9ed(0x161)]+0x1,_0x5b492b=_0x51a02b[_0x3bd9ed(0x169)]+0x1;}else{if(_0x4a5414&&_0x5e5c4e[_0x3bd9ed(0x186)]!==undefined){const _0x25fecf=_0x4a5414['getLineAndCharacterOfPosition'](_0x5e5c4e['start']);_0x544490=_0x25fecf['line']+0x1,_0x5b492b=_0x25fecf['character']+0x1;}}const _0x5772d4=a0_0x2f1abf[_0x3bd9ed(0x181)](_0x5e5c4e[_0x3bd9ed(0x179)],'\x0a');let _0x5f30f3;switch(_0x5e5c4e['category']){case a0_0x2f1abf['DiagnosticCategory']['Error']:_0x5f30f3=STATIC_ANALYSIS['SEVERITY'][_0x3bd9ed(0x165)];break;case a0_0x2f1abf[_0x3bd9ed(0x194)][_0x3bd9ed(0x163)]:_0x5f30f3=STATIC_ANALYSIS['SEVERITY'][_0x3bd9ed(0x17b)];break;case a0_0x2f1abf['DiagnosticCategory'][_0x3bd9ed(0x18d)]:case a0_0x2f1abf[_0x3bd9ed(0x194)][_0x3bd9ed(0x167)]:_0x5f30f3=STATIC_ANALYSIS['SEVERITY'][_0x3bd9ed(0x193)];break;default:_0x5f30f3=STATIC_ANALYSIS['SEVERITY'][_0x3bd9ed(0x165)];}let _0x1a46b3=STATIC_ANALYSIS['CATEGORY']['SYNTAX'];const _0x1fe976=_0x5e5c4e[_0x3bd9ed(0x166)];if(_0x1fe976>=0x7d0&&_0x1fe976<0xbb8)_0x1a46b3=STATIC_ANALYSIS['CATEGORY'][_0x3bd9ed(0x18a)];else{if(_0x1fe976>=0x3e8&&_0x1fe976<0x7d0)_0x1a46b3=STATIC_ANALYSIS[_0x3bd9ed(0x18c)][_0x3bd9ed(0x18e)];else _0x1fe976>=0x8fc&&_0x1fe976<0x960&&(_0x1a46b3=STATIC_ANALYSIS[_0x3bd9ed(0x18c)]['IMPORT']);}return(_0x5772d4[_0x3bd9ed(0x187)]()['includes']('cannot\x20find\x20module')||_0x5772d4[_0x3bd9ed(0x187)]()['includes']('import'))&&(_0x1a46b3=STATIC_ANALYSIS['CATEGORY']['IMPORT']),{'file':_0x5e5c4e['file']?.[_0x3bd9ed(0x168)]||_0x4a5414?.['fileName']||'unknown','line':_0x544490,'column':_0x5b492b,'severity':_0x5f30f3,'rule':'TS'+_0x1fe976,'message':_0x5772d4,'category':_0x1a46b3,'fixable':![],'code':_0x5e5c4e['code']};}}export default JavaScriptAnalyzer;
1
+ function a0_0x434f(){const _0x301b1d=['y2f0zwDVCNK','tw9KDwXLuMvZB2X1DgLVBKTPBMq','v0fstKLorW','BgvUz3rO','zMLSzu5HBwu','u3vNz2vZDgLVBG','y3jLyxrLu291CMnLrMLSzq','sMf2yvnJCMLWDcbHBMfSExnPCYbJB21WBgv0zwq','nZy0ntqXC0rzCxzW','rxjYB3i','zgvIDwC','z2v0u3LUDgfJDgLJrgLHz25VC3rPy3m','A2LUza','tgf0zxn0','z2v0tgLUzufUzenOyxjHy3rLCK9Mug9ZAxrPB24','ChvZAa','mJm5mJKWuxf4EfDe','nJa2nZG5mgzmBxbwDq','mZbXsfrbtKK','tM9KzuPZ','vfLqrq','tw9KDwXLs2LUza','u2nYAxb0vgfYz2v0','uMvHy3q','nfjZBhvAEG','mJb3rKjVBeS','y2fUBM90igzPBMqGBw9KDwXL','BgLIlMqUDhm','nJK3otq2nfbXtKfjqG','nda4mJe5n1fWy1rIzW','y2HHCMfJDgvY','BgLUzq','C3LUDgf4lwvYCM9Y','rvnozxH0','mZu5mtK5txfjruLq','zMLSDgvY','C3rHCNq','rgLHz25VC3rPy0nHDgvNB3j5','Aw5JBhvKzxm','zM9YBwf0rgLHz25VC3rPyW','BwvZC2fNzvrLEhq','zxjYB3i','u0vwrvjjvfK','zMLSzq','u1Lovefy','BwvZC2fNzq','q0furuDpuLK','su1qt1ju','z2v0u2vTyw50AwneAwfNBM9ZDgLJCW','vw5RBM93BG','Bg9Nz2vY','rvjst1i','y29Kzq','mJiWnti2nxPIs3z5Ea','twvZC2fNzq'];a0_0x434f=function(){return _0x301b1d;};return a0_0x434f();}const a0_0x229689=a0_0x24d6;(function(_0x112900,_0x563f29){const _0x51b8b4=a0_0x24d6,_0x4eae99=_0x112900();while(!![]){try{const _0x4b6572=-parseInt(_0x51b8b4(0xb2))/0x1+parseInt(_0x51b8b4(0xa0))/0x2*(parseInt(_0x51b8b4(0xa2))/0x3)+parseInt(_0x51b8b4(0xa8))/0x4*(-parseInt(_0x51b8b4(0x8e))/0x5)+-parseInt(_0x51b8b4(0xa1))/0x6+parseInt(_0x51b8b4(0xad))/0x7+parseInt(_0x51b8b4(0xac))/0x8+parseInt(_0x51b8b4(0x98))/0x9*(-parseInt(_0x51b8b4(0xa9))/0xa);if(_0x4b6572===_0x563f29)break;else _0x4eae99['push'](_0x4eae99['shift']());}catch(_0x5545c8){_0x4eae99['push'](_0x4eae99['shift']());}}}(a0_0x434f,0xa3b7d));import a0_0x43c90a from'typescript';function a0_0x24d6(_0x325656,_0x239a9a){_0x325656=_0x325656-0x8c;const _0x434f7f=a0_0x434f();let _0x24d6fe=_0x434f7f[_0x325656];if(a0_0x24d6['qAmroS']===undefined){var _0x4fdc69=function(_0x45fad1){const _0xa8f276='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x43c90a='',_0x213998='';for(let _0xfcf4de=0x0,_0x259768,_0x16d818,_0xb70b33=0x0;_0x16d818=_0x45fad1['charAt'](_0xb70b33++);~_0x16d818&&(_0x259768=_0xfcf4de%0x4?_0x259768*0x40+_0x16d818:_0x16d818,_0xfcf4de++%0x4)?_0x43c90a+=String['fromCharCode'](0xff&_0x259768>>(-0x2*_0xfcf4de&0x6)):0x0){_0x16d818=_0xa8f276['indexOf'](_0x16d818);}for(let _0x34e9d8=0x0,_0x132252=_0x43c90a['length'];_0x34e9d8<_0x132252;_0x34e9d8++){_0x213998+='%'+('00'+_0x43c90a['charCodeAt'](_0x34e9d8)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x213998);};a0_0x24d6['EvHoRq']=_0x4fdc69,a0_0x24d6['fUBVsg']={},a0_0x24d6['qAmroS']=!![];}const _0x5bb5c2=_0x434f7f[0x0],_0x20bd1d=_0x325656+_0x5bb5c2,_0xc2ebcb=a0_0x24d6['fUBVsg'][_0x20bd1d];return!_0xc2ebcb?(_0x24d6fe=a0_0x24d6['EvHoRq'](_0x24d6fe),a0_0x24d6['fUBVsg'][_0x20bd1d]=_0x24d6fe):_0x24d6fe=_0xc2ebcb,_0x24d6fe;}import a0_0x213998 from'path';import{STATIC_ANALYSIS}from'../utilities/constants.js';class JavaScriptAnalyzer{constructor(_0xfcf4de=null){const _0x4c2097=a0_0x24d6;this['logger']=_0xfcf4de,this['compilerOptions']={'allowJs':!![],'checkJs':!![],'noEmit':!![],'jsx':a0_0x43c90a['JsxEmit'][_0x4c2097(0xa7)],'target':a0_0x43c90a['ScriptTarget']['Latest'],'module':a0_0x43c90a[_0x4c2097(0xa5)][_0x4c2097(0xb1)],'moduleResolution':a0_0x43c90a[_0x4c2097(0x91)][_0x4c2097(0xa3)],'esModuleInterop':!![],'skipLibCheck':!![],'strict':![],'noImplicitAny':![]};}async['analyze'](_0x259768,_0x16d818,_0xb70b33={}){const _0x47ce41=a0_0x24d6;try{const _0x34e9d8=[],_0x132252=a0_0x43c90a[_0x47ce41(0x96)](_0x259768,_0x16d818,a0_0x43c90a['ScriptTarget'][_0x47ce41(0x9d)],!![]),_0x35b05f=this['getSyntacticDiagnostics'](_0x132252);_0x34e9d8['push'](..._0x35b05f);const _0x526e1e=await this[_0x47ce41(0xc0)](_0x259768,_0x16d818);return _0x34e9d8[_0x47ce41(0x9f)](..._0x526e1e),this[_0x47ce41(0xc2)]?.[_0x47ce41(0x9a)](_0x47ce41(0x97),{'file':_0x259768,'totalDiagnostics':_0x34e9d8['length'],'errors':_0x34e9d8[_0x47ce41(0xb3)](_0x22168c=>_0x22168c['severity']===STATIC_ANALYSIS[_0x47ce41(0xba)][_0x47ce41(0x8c)])[_0x47ce41(0x93)],'warnings':_0x34e9d8['filter'](_0x3d6209=>_0x3d6209['severity']===STATIC_ANALYSIS['SEVERITY'][_0x47ce41(0x92)])[_0x47ce41(0x93)]}),_0x34e9d8;}catch(_0x2ce582){return this[_0x47ce41(0xc2)]?.[_0x47ce41(0xb9)]('JavaScript\x20analysis\x20failed',{'file':_0x259768,'error':_0x2ce582['message']}),[{'file':_0x259768,'line':0x0,'column':0x0,'severity':STATIC_ANALYSIS['SEVERITY']['ERROR'],'rule':'analyzer-error','message':'Analysis\x20failed:\x20'+_0x2ce582[_0x47ce41(0xbd)],'category':STATIC_ANALYSIS[_0x47ce41(0xbe)][_0x47ce41(0xbc)]}];}}[a0_0x229689(0x9b)](_0x2638d7){const _0x147b79=a0_0x229689,_0x14a609=[],_0x3d0098=_0x28c898=>{const _0x3fbdc3=a0_0x24d6;if(_0x28c898[_0x3fbdc3(0x9c)]===a0_0x43c90a['SyntaxKind'][_0x3fbdc3(0xc1)]){const _0x56e0de=_0x2638d7[_0x3fbdc3(0x9e)](_0x28c898['getStart']());_0x14a609['push']({'file':_0x2638d7['fileName'],'line':_0x56e0de['line']+0x1,'column':_0x56e0de['character']+0x1,'severity':STATIC_ANALYSIS[_0x3fbdc3(0xba)]['ERROR'],'rule':_0x3fbdc3(0xb0),'message':'Syntax\x20error','category':STATIC_ANALYSIS['CATEGORY']['SYNTAX'],'fixable':![]});}a0_0x43c90a['forEachChild'](_0x28c898,_0x3d0098);};_0x3d0098(_0x2638d7);if(_0x2638d7['parseDiagnostics']&&_0x2638d7['parseDiagnostics']['length']>0x0)for(const _0x4cfc6b of _0x2638d7['parseDiagnostics']){_0x14a609['push'](this[_0x147b79(0xb7)](_0x4cfc6b,_0x2638d7));}return _0x14a609;}async['getSemanticDiagnostics'](_0x5cb26b,_0x22993d){const _0x5060ce=a0_0x229689,_0x35075b=[];try{const _0xc6a5e5=a0_0x43c90a['createSourceFile'](_0x5cb26b,_0x22993d,a0_0x43c90a[_0x5060ce(0xa6)]['Latest'],!![]),_0x1bba44={'getSourceFile':_0x3dbd0b=>{if(_0x3dbd0b===_0x5cb26b)return _0xc6a5e5;return undefined;},'getDefaultLibFileName':()=>_0x5060ce(0xab),'writeFile':()=>{},'getCurrentDirectory':()=>a0_0x213998['dirname'](_0x5cb26b),'getDirectories':()=>[],'fileExists':_0x43e11c=>_0x43e11c===_0x5cb26b,'readFile':_0x3f9893=>{if(_0x3f9893===_0x5cb26b)return _0x22993d;return undefined;},'getCanonicalFileName':_0x197600=>_0x197600,'useCaseSensitiveFileNames':()=>!![],'getNewLine':()=>'\x0a'},_0x175a5d=a0_0x43c90a['createProgram']({'rootNames':[_0x5cb26b],'options':this['compilerOptions'],'host':_0x1bba44}),_0x58c244=_0x175a5d['getSemanticDiagnostics'](_0xc6a5e5);for(const _0x4d1961 of _0x58c244){_0x35075b['push'](this['formatDiagnostic'](_0x4d1961,_0xc6a5e5));}}catch(_0x2fa013){this['logger']?.['debug']('Semantic\x20analysis\x20skipped',{'file':_0x5cb26b,'reason':_0x2fa013[_0x5060ce(0xbd)]});}return _0x35075b;}['formatDiagnostic'](_0x108958,_0x24c254){const _0xe33f86=a0_0x229689;let _0x4ee57f=0x0,_0x193914=0x0;if(_0x108958['file']&&_0x108958['start']!==undefined){const _0x99eeff=_0x108958[_0xe33f86(0xbb)]['getLineAndCharacterOfPosition'](_0x108958['start']);_0x4ee57f=_0x99eeff['line']+0x1,_0x193914=_0x99eeff[_0xe33f86(0xae)]+0x1;}else{if(_0x24c254&&_0x108958[_0xe33f86(0xb4)]!==undefined){const _0x140966=_0x24c254['getLineAndCharacterOfPosition'](_0x108958['start']);_0x4ee57f=_0x140966[_0xe33f86(0xaf)]+0x1,_0x193914=_0x140966['character']+0x1;}}const _0x505649=a0_0x43c90a['flattenDiagnosticMessageText'](_0x108958[_0xe33f86(0xb8)],'\x0a');let _0x4dd21a;switch(_0x108958[_0xe33f86(0x90)]){case a0_0x43c90a['DiagnosticCategory'][_0xe33f86(0x99)]:_0x4dd21a=STATIC_ANALYSIS['SEVERITY'][_0xe33f86(0x8c)];break;case a0_0x43c90a[_0xe33f86(0xb5)]['Warning']:_0x4dd21a=STATIC_ANALYSIS[_0xe33f86(0xba)][_0xe33f86(0x92)];break;case a0_0x43c90a[_0xe33f86(0xb5)][_0xe33f86(0x8f)]:case a0_0x43c90a['DiagnosticCategory'][_0xe33f86(0x95)]:_0x4dd21a=STATIC_ANALYSIS['SEVERITY']['INFO'];break;default:_0x4dd21a=STATIC_ANALYSIS['SEVERITY']['ERROR'];}let _0xf7c64=STATIC_ANALYSIS[_0xe33f86(0xbe)]['SYNTAX'];const _0x5aae08=_0x108958['code'];if(_0x5aae08>=0x7d0&&_0x5aae08<0xbb8)_0xf7c64=STATIC_ANALYSIS[_0xe33f86(0xbe)][_0xe33f86(0xa4)];else{if(_0x5aae08>=0x3e8&&_0x5aae08<0x7d0)_0xf7c64=STATIC_ANALYSIS[_0xe33f86(0xbe)][_0xe33f86(0xbc)];else _0x5aae08>=0x8fc&&_0x5aae08<0x960&&(_0xf7c64=STATIC_ANALYSIS[_0xe33f86(0xbe)]['IMPORT']);}return(_0x505649['toLowerCase']()[_0xe33f86(0xb6)](_0xe33f86(0xaa))||_0x505649['toLowerCase']()['includes']('import'))&&(_0xf7c64=STATIC_ANALYSIS[_0xe33f86(0xbe)][_0xe33f86(0xbf)]),{'file':_0x108958['file']?.[_0xe33f86(0x94)]||_0x24c254?.['fileName']||'unknown','line':_0x4ee57f,'column':_0x193914,'severity':_0x4dd21a,'rule':'TS'+_0x5aae08,'message':_0x505649,'category':_0xf7c64,'fixable':![],'code':_0x108958[_0xe33f86(0x8d)]};}}export default JavaScriptAnalyzer;
@@ -1 +1 @@
1
- function a0_0x21a6(_0x1fa6cb,_0xb861ef){_0x1fa6cb=_0x1fa6cb-0x1ee;const _0x2f8422=a0_0x2f84();let _0x21a651=_0x2f8422[_0x1fa6cb];if(a0_0x21a6['INRUbI']===undefined){var _0x165c84=function(_0x1fcd3a){const _0x4f908a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1389ee='',_0x5342d8='';for(let _0x1d63ce=0x0,_0x34c62c,_0x49da7c,_0x42cd69=0x0;_0x49da7c=_0x1fcd3a['charAt'](_0x42cd69++);~_0x49da7c&&(_0x34c62c=_0x1d63ce%0x4?_0x34c62c*0x40+_0x49da7c:_0x49da7c,_0x1d63ce++%0x4)?_0x1389ee+=String['fromCharCode'](0xff&_0x34c62c>>(-0x2*_0x1d63ce&0x6)):0x0){_0x49da7c=_0x4f908a['indexOf'](_0x49da7c);}for(let _0x3a68fb=0x0,_0x1385b4=_0x1389ee['length'];_0x3a68fb<_0x1385b4;_0x3a68fb++){_0x5342d8+='%'+('00'+_0x1389ee['charCodeAt'](_0x3a68fb)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5342d8);};a0_0x21a6['hCLtLv']=_0x165c84,a0_0x21a6['LXTMFH']={},a0_0x21a6['INRUbI']=!![];}const _0x5a4cfd=_0x2f8422[0x0],_0x121ae6=_0x1fa6cb+_0x5a4cfd,_0x4ec07a=a0_0x21a6['LXTMFH'][_0x121ae6];return!_0x4ec07a?(_0x21a651=a0_0x21a6['hCLtLv'](_0x21a651),a0_0x21a6['LXTMFH'][_0x121ae6]=_0x21a651):_0x21a651=_0x4ec07a,_0x21a651;}const a0_0x45a3b1=a0_0x21a6;(function(_0xc647d8,_0x387ea8){const _0x50c3aa=a0_0x21a6,_0x42a930=_0xc647d8();while(!![]){try{const _0x99839c=parseInt(_0x50c3aa(0x212))/0x1+parseInt(_0x50c3aa(0x20e))/0x2+parseInt(_0x50c3aa(0x202))/0x3*(-parseInt(_0x50c3aa(0x204))/0x4)+-parseInt(_0x50c3aa(0x1f6))/0x5+-parseInt(_0x50c3aa(0x1fe))/0x6+parseInt(_0x50c3aa(0x1f5))/0x7+parseInt(_0x50c3aa(0x215))/0x8;if(_0x99839c===_0x387ea8)break;else _0x42a930['push'](_0x42a930['shift']());}catch(_0x3731b8){_0x42a930['push'](_0x42a930['shift']());}}}(a0_0x2f84,0x52381));import a0_0x1389ee from'prettier';import a0_0x5342d8 from'path';import a0_0x1d63ce from'fs/promises';class PrettierFormatter{constructor(_0x34c62c=null){this['logger']=_0x34c62c,this['configCache']=new Map();}async['format'](_0x49da7c,_0x42cd69,_0x3a68fb={}){const _0x1aff45=a0_0x21a6;try{const _0x1385b4=await this['getPrettierConfig'](_0x49da7c,_0x3a68fb[_0x1aff45(0x20b)]),_0x1fdf83=this['getParser'](_0x49da7c),_0x320940=await a0_0x1389ee['format'](_0x42cd69,{..._0x1385b4,'filepath':_0x49da7c,'parser':_0x1fdf83}),_0x5f176f=_0x320940!==_0x42cd69;return{'formatted':_0x5f176f,'content':_0x320940,'original':_0x42cd69,'changes':_0x5f176f?this['describeChanges'](_0x42cd69,_0x320940):[],'linesChanged':_0x5f176f?this[_0x1aff45(0x1f8)](_0x42cd69,_0x320940):0x0};}catch(_0x2ebef9){this[_0x1aff45(0x203)]?.['error']('Prettier\x20formatting\x20failed',{'file':_0x49da7c,'error':_0x2ebef9['message']});throw new Error(_0x1aff45(0x205)+_0x2ebef9['message']);}}async[a0_0x45a3b1(0x210)](_0x51e5a3,_0x2f59d1,_0x448768={}){const _0x180ae3=a0_0x45a3b1;try{const _0x5445b0=await this['getPrettierConfig'](_0x51e5a3,_0x448768[_0x180ae3(0x20b)]),_0x127bde=this[_0x180ae3(0x213)](_0x51e5a3),_0x3ff1a7=await a0_0x1389ee[_0x180ae3(0x20c)](_0x2f59d1,{..._0x5445b0,'filepath':_0x51e5a3,'parser':_0x127bde});return _0x3ff1a7!==_0x2f59d1;}catch(_0x3f85d5){return this['logger']?.['warn']('Prettier\x20check\x20failed',{'file':_0x51e5a3,'error':_0x3f85d5['message']}),![];}}async[a0_0x45a3b1(0x1f4)](_0x4bd723,_0x387bd1){const _0x50d7eb=a0_0x45a3b1,_0x4ff866=_0x387bd1||a0_0x5342d8['dirname'](_0x4bd723);if(this[_0x50d7eb(0x20f)][_0x50d7eb(0x206)](_0x4ff866))return this[_0x50d7eb(0x20f)][_0x50d7eb(0x1fc)](_0x4ff866);let _0x32ffe9={};if(_0x387bd1)try{const _0x9723c9=await a0_0x1389ee[_0x50d7eb(0x207)](_0x4bd723,{'config':_0x387bd1});_0x9723c9&&(this[_0x50d7eb(0x203)]?.['debug'](_0x50d7eb(0x211),{'workingDir':_0x387bd1}),_0x32ffe9=_0x9723c9);}catch(_0x43de39){this['logger']?.['debug']('No Prettier config found, using defaults');}const defaultConfig={'semi':!![],'singleQuote':!![],'tabWidth':0x2,'trailingComma':'es5','printWidth':0x64,'arrowParens':'avoid','endOfLine':'lf',..._0x32ffe9};return this['configCache'][_0x50d7eb(0x1fd)](_0x4ff866,defaultConfig),defaultConfig;}['getParser'](_0x53f058){const _0x14a725=a0_0x45a3b1,_0x19a953=a0_0x5342d8[_0x14a725(0x1f3)](_0x53f058)[_0x14a725(0x1f7)](),_0x44d76a={'.js':_0x14a725(0x214),'.jsx':'babel','.mjs':_0x14a725(0x214),'.cjs':_0x14a725(0x214),'.ts':'typescript','.tsx':'typescript','.json':_0x14a725(0x201),'.json5':_0x14a725(0x208),'.css':'css','.scss':_0x14a725(0x200),'.less':_0x14a725(0x1f9),'.html':'html','.vue':'vue','.md':_0x14a725(0x20d),'.yaml':_0x14a725(0x209),'.yml':'yaml'};return _0x44d76a[_0x19a953]||'babel';}['describeChanges'](_0x5b34de,_0x1fc808){const _0x437f75=a0_0x45a3b1,_0x5a77f4=[],_0x58bc53=_0x5b34de['split']('\x0a'),_0x354a3c=_0x1fc808['split']('\x0a'),_0x5359f4=Math['max'](_0x58bc53[_0x437f75(0x1f0)],_0x354a3c[_0x437f75(0x1f0)]);for(let _0x3d3c3e=0x0;_0x3d3c3e<_0x5359f4;_0x3d3c3e++){const _0x10720a=_0x58bc53[_0x3d3c3e],_0x162179=_0x354a3c[_0x3d3c3e];_0x10720a!==_0x162179&&_0x5a77f4['push']({'line':_0x3d3c3e+0x1,'type':_0x10720a!==undefined&&_0x162179!==undefined?_0x437f75(0x20a):_0x10720a!==undefined?'removed':_0x437f75(0x1f1),'original':_0x10720a||'','formatted':_0x162179||''});}return _0x5a77f4;}['countChangedLines'](_0x47fd46,_0x1e4f6d){const _0x24c02e=a0_0x45a3b1,_0x30490b=_0x47fd46['split']('\x0a'),_0x15c7ac=_0x1e4f6d[_0x24c02e(0x1fb)]('\x0a');let _0x345fd6=0x0;const _0x4e2f7a=Math[_0x24c02e(0x1f2)](_0x30490b[_0x24c02e(0x1f0)],_0x15c7ac['length']);for(let _0x5a8466=0x0;_0x5a8466<_0x4e2f7a;_0x5a8466++){_0x30490b[_0x5a8466]!==_0x15c7ac[_0x5a8466]&&_0x345fd6++;}return _0x345fd6;}['getSupportedExtensions'](){const _0x232060=a0_0x45a3b1;return['.js','.jsx','.mjs','.cjs',_0x232060(0x1ff),'.tsx','.json','.json5','.css','.scss',_0x232060(0x1fa),'.html',_0x232060(0x1ef),'.md',_0x232060(0x1ee),'.yml'];}['isSupported'](_0x38076b){const _0x1c6041=a0_0x5342d8['extname'](_0x38076b)['toLowerCase']();return this['getSupportedExtensions']()['includes'](_0x1c6041);}}export default PrettierFormatter;function a0_0x2f84(){const _0xc9d9f3=['lNLHBwW','lNz1zq','BgvUz3rO','ywrKzwq','Bwf4','zxH0BMfTzq','z2v0uhjLDhrPzxjdB25MAwC','mZy4oteWnxzZDhvJta','mtC0nZKWnvLkvfnHAG','Dg9mB3DLCKnHC2u','y291BNrdAgfUz2vKtgLUzxm','BgvZCW','lMXLC3m','C3bSAxq','z2v0','C2v0','mZm0otuWnKnAA3fZtW','lNrZ','C2nZCW','ANnVBG','nJuXs25ksxLp','Bg9Nz2vY','ntmZmKHnr0XXsq','uhjLDhrPzxiGzM9YBwf0DgLUzYbMywLSzwq6ia','AgfZ','CMvZB2X2zunVBMzPzW','ANnVBJu','EwfTBa','Bw9KAwzPzwq','D29YA2LUz0rPCG','zM9YBwf0','BwfYA2rVD24','nti1odq0r1vKtxrN','y29UzMLNq2fJAgu','y2HLy2S','rM91BMqGuhjLDhrPzxiGy29UzMLN','mZC3nZG3vKLSre55','z2v0ugfYC2vY','yMfIzwW','mJKYoteWnfHIr2DwwG'];a0_0x2f84=function(){return _0xc9d9f3;};return a0_0x2f84();}
1
+ const a0_0x43d8ba=a0_0x1f4a;(function(_0x615fa4,_0x249b2d){const _0xf6489e=a0_0x1f4a,_0x3824b8=_0x615fa4();while(!![]){try{const _0x5ce900=-parseInt(_0xf6489e(0x1d3))/0x1*(-parseInt(_0xf6489e(0x1b8))/0x2)+-parseInt(_0xf6489e(0x1b9))/0x3*(parseInt(_0xf6489e(0x1b1))/0x4)+-parseInt(_0xf6489e(0x1bb))/0x5+parseInt(_0xf6489e(0x1b6))/0x6+-parseInt(_0xf6489e(0x1b0))/0x7*(parseInt(_0xf6489e(0x1c1))/0x8)+parseInt(_0xf6489e(0x1cb))/0x9+parseInt(_0xf6489e(0x1c8))/0xa;if(_0x5ce900===_0x249b2d)break;else _0x3824b8['push'](_0x3824b8['shift']());}catch(_0x56a8d8){_0x3824b8['push'](_0x3824b8['shift']());}}}(a0_0x4161,0xa2c91));import a0_0x5df10a from'prettier';import a0_0x48b1ec from'path';import a0_0x145dee from'fs/promises';class PrettierFormatter{constructor(_0x513c26=null){const _0x2bfab9=a0_0x1f4a;this[_0x2bfab9(0x1dc)]=_0x513c26,this['configCache']=new Map();}async[a0_0x43d8ba(0x1cc)](_0x52739d,_0x359b79,_0x22a074={}){const _0x1ba105=a0_0x43d8ba;try{const _0x2d96de=await this[_0x1ba105(0x1ce)](_0x52739d,_0x22a074['workingDir']),_0x4d66e1=this['getParser'](_0x52739d),_0x2e3d9c=await a0_0x5df10a[_0x1ba105(0x1cc)](_0x359b79,{..._0x2d96de,'filepath':_0x52739d,'parser':_0x4d66e1}),_0x434a90=_0x2e3d9c!==_0x359b79;return{'formatted':_0x434a90,'content':_0x2e3d9c,'original':_0x359b79,'changes':_0x434a90?this['describeChanges'](_0x359b79,_0x2e3d9c):[],'linesChanged':_0x434a90?this[_0x1ba105(0x1c4)](_0x359b79,_0x2e3d9c):0x0};}catch(_0x3ff21d){this['logger']?.[_0x1ba105(0x1d5)]('Prettier\x20formatting\x20failed',{'file':_0x52739d,'error':_0x3ff21d[_0x1ba105(0x1c3)]});throw new Error(_0x1ba105(0x1db)+_0x3ff21d[_0x1ba105(0x1c3)]);}}async['check'](_0x325789,_0x1353ae,_0x1dcf60={}){const _0x17d3c2=a0_0x43d8ba;try{const _0x595b69=await this[_0x17d3c2(0x1ce)](_0x325789,_0x1dcf60['workingDir']),_0xf2b5bb=this['getParser'](_0x325789),_0x153c17=await a0_0x5df10a[_0x17d3c2(0x1cc)](_0x1353ae,{..._0x595b69,'filepath':_0x325789,'parser':_0xf2b5bb});return _0x153c17!==_0x1353ae;}catch(_0x4de38c){return this['logger']?.[_0x17d3c2(0x1c5)]('Prettier\x20check\x20failed',{'file':_0x325789,'error':_0x4de38c['message']}),![];}}async['getPrettierConfig'](_0x56468c,_0x1e6ca8){const _0x29a6d9=a0_0x43d8ba,_0xdda85a=_0x1e6ca8||a0_0x48b1ec['dirname'](_0x56468c);if(this[_0x29a6d9(0x1d0)]['has'](_0xdda85a))return this['configCache']['get'](_0xdda85a);let _0x3c0d26={};if(_0x1e6ca8)try{const _0x3da3b8=await a0_0x5df10a['resolveConfig'](_0x56468c,{'config':_0x1e6ca8});_0x3da3b8&&(this['logger']?.['debug'](_0x29a6d9(0x1bf),{'workingDir':_0x1e6ca8}),_0x3c0d26=_0x3da3b8);}catch(_0x3a2a49){this[_0x29a6d9(0x1dc)]?.[_0x29a6d9(0x1d4)]('No Prettier config found, using defaults');}const defaultConfig={'semi':!![],'singleQuote':!![],'tabWidth':0x2,'trailingComma':'es5','printWidth':0x64,'arrowParens':_0x29a6d9(0x1b7),'endOfLine':'lf',..._0x3c0d26};return this['configCache']['set'](_0xdda85a,defaultConfig),defaultConfig;}[a0_0x43d8ba(0x1d6)](_0x12f93c){const _0x408e51=a0_0x43d8ba,_0x5eac32=a0_0x48b1ec['extname'](_0x12f93c)['toLowerCase'](),_0x53d720={'.js':_0x408e51(0x1c2),'.jsx':_0x408e51(0x1c2),'.mjs':'babel','.cjs':_0x408e51(0x1c2),'.ts':_0x408e51(0x1bd),'.tsx':'typescript','.json':_0x408e51(0x1cd),'.json5':_0x408e51(0x1be),'.css':_0x408e51(0x1d7),'.scss':_0x408e51(0x1af),'.less':'less','.html':'html','.vue':'vue','.md':_0x408e51(0x1d1),'.yaml':'yaml','.yml':_0x408e51(0x1bc)};return _0x53d720[_0x5eac32]||_0x408e51(0x1c2);}[a0_0x43d8ba(0x1c7)](_0x3b7fc5,_0x843b0b){const _0x38dbed=a0_0x43d8ba,_0xf3fb0f=[],_0x2d863b=_0x3b7fc5[_0x38dbed(0x1d8)]('\x0a'),_0x2ce3b5=_0x843b0b[_0x38dbed(0x1d8)]('\x0a'),_0x2a5001=Math['max'](_0x2d863b[_0x38dbed(0x1cf)],_0x2ce3b5['length']);for(let _0x267c3a=0x0;_0x267c3a<_0x2a5001;_0x267c3a++){const _0x5f234c=_0x2d863b[_0x267c3a],_0x16738d=_0x2ce3b5[_0x267c3a];_0x5f234c!==_0x16738d&&_0xf3fb0f[_0x38dbed(0x1ca)]({'line':_0x267c3a+0x1,'type':_0x5f234c!==undefined&&_0x16738d!==undefined?_0x38dbed(0x1c9):_0x5f234c!==undefined?'removed':_0x38dbed(0x1b2),'original':_0x5f234c||'','formatted':_0x16738d||''});}return _0xf3fb0f;}[a0_0x43d8ba(0x1c4)](_0x4d1139,_0x4fbaa4){const _0x3eea8d=a0_0x43d8ba,_0x23e1d7=_0x4d1139[_0x3eea8d(0x1d8)]('\x0a'),_0x5be446=_0x4fbaa4['split']('\x0a');let _0xb98b89=0x0;const _0x42591d=Math['max'](_0x23e1d7[_0x3eea8d(0x1cf)],_0x5be446[_0x3eea8d(0x1cf)]);for(let _0x524d35=0x0;_0x524d35<_0x42591d;_0x524d35++){_0x23e1d7[_0x524d35]!==_0x5be446[_0x524d35]&&_0xb98b89++;}return _0xb98b89;}[a0_0x43d8ba(0x1ba)](){const _0x4bddc1=a0_0x43d8ba;return[_0x4bddc1(0x1c0),'.jsx','.mjs','.cjs','.ts',_0x4bddc1(0x1b4),'.json',_0x4bddc1(0x1c6),_0x4bddc1(0x1d2),_0x4bddc1(0x1b3),'.less','.html','.vue',_0x4bddc1(0x1da),'.yaml','.yml'];}[a0_0x43d8ba(0x1d9)](_0x271865){const _0x4a8d50=a0_0x43d8ba,_0x226180=a0_0x48b1ec['extname'](_0x271865)[_0x4a8d50(0x1b5)]();return this['getSupportedExtensions']()['includes'](_0x226180);}}function a0_0x1f4a(_0x6e57e6,_0x3fb7bc){_0x6e57e6=_0x6e57e6-0x1af;const _0x4161b8=a0_0x4161();let _0x1f4a04=_0x4161b8[_0x6e57e6];if(a0_0x1f4a['eKispp']===undefined){var _0x53b595=function(_0x42356e){const _0x2fbc44='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5df10a='',_0x48b1ec='';for(let _0x145dee=0x0,_0x513c26,_0x52739d,_0x359b79=0x0;_0x52739d=_0x42356e['charAt'](_0x359b79++);~_0x52739d&&(_0x513c26=_0x145dee%0x4?_0x513c26*0x40+_0x52739d:_0x52739d,_0x145dee++%0x4)?_0x5df10a+=String['fromCharCode'](0xff&_0x513c26>>(-0x2*_0x145dee&0x6)):0x0){_0x52739d=_0x2fbc44['indexOf'](_0x52739d);}for(let _0x22a074=0x0,_0x2d96de=_0x5df10a['length'];_0x22a074<_0x2d96de;_0x22a074++){_0x48b1ec+='%'+('00'+_0x5df10a['charCodeAt'](_0x22a074)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x48b1ec);};a0_0x1f4a['ZnEXBE']=_0x53b595,a0_0x1f4a['RGspHC']={},a0_0x1f4a['eKispp']=!![];}const _0x517746=_0x4161b8[0x0],_0x5ae733=_0x6e57e6+_0x517746,_0x55f9f9=a0_0x1f4a['RGspHC'][_0x5ae733];return!_0x55f9f9?(_0x1f4a04=a0_0x1f4a['ZnEXBE'](_0x1f4a04),a0_0x1f4a['RGspHC'][_0x5ae733]=_0x1f4a04):_0x1f4a04=_0x55f9f9,_0x1f4a04;}export default PrettierFormatter;function a0_0x4161(){const _0x468e80=['lNrZEa','Dg9mB3DLCKnHC2u','nZq2mdCWmefszNHUqW','yxzVAwq','otC2mNjYweTotW','mJu4oty2oufnELHrBW','z2v0u3vWCg9YDgvKrxH0zw5ZAw9UCW','ntuZoduWnuzxtfPorq','EwfTBa','DhLWzxnJCMLWDa','ANnVBJu','rM91BMqGuhjLDhrPzxiGy29UzMLN','lMPZ','off2wKHhyG','yMfIzwW','BwvZC2fNzq','y291BNrdAgfUz2vKtgLUzxm','D2fYBG','lMPZB241','zgvZy3jPyMvdAgfUz2vZ','mtaWmZaWmJbAD1zetuO','Bw9KAwzPzwq','ChvZAa','nJi4mZe4ogfhrxDwvq','zM9YBwf0','ANnVBG','z2v0uhjLDhrPzxjdB25MAwC','BgvUz3rO','y29UzMLNq2fJAgu','BwfYA2rVD24','lMnZCW','mtqZy21TyMTm','zgvIDwC','zxjYB3i','z2v0ugfYC2vY','y3nZ','C3bSAxq','AxntDxbWB3j0zwq','lM1K','uhjLDhrPzxiGzM9YBwf0DgLUzYbMywLSzwq6ia','Bg9Nz2vY','C2nZCW','nZaZndeXoe5mu0XYsW','nhHRDxrbsW','ywrKzwq','lNnJC3m'];a0_0x4161=function(){return _0x468e80;};return a0_0x4161();}
@@ -1 +1 @@
1
- const a0_0x1d112c=a0_0x2c92;(function(_0x1929e6,_0x57f635){const _0x372fa6=a0_0x2c92,_0x48dfe6=_0x1929e6();while(!![]){try{const _0x1a65b2=-parseInt(_0x372fa6(0xdd))/0x1+parseInt(_0x372fa6(0xde))/0x2+-parseInt(_0x372fa6(0xbf))/0x3*(parseInt(_0x372fa6(0xc7))/0x4)+parseInt(_0x372fa6(0xc2))/0x5*(parseInt(_0x372fa6(0xda))/0x6)+parseInt(_0x372fa6(0xd4))/0x7*(parseInt(_0x372fa6(0xc8))/0x8)+parseInt(_0x372fa6(0xb9))/0x9*(-parseInt(_0x372fa6(0xcd))/0xa)+parseInt(_0x372fa6(0xce))/0xb;if(_0x1a65b2===_0x57f635)break;else _0x48dfe6['push'](_0x48dfe6['shift']());}catch(_0x470781){_0x48dfe6['push'](_0x48dfe6['shift']());}}}(a0_0x1f59,0x6593d));function a0_0x2c92(_0x106144,_0xfb56d5){_0x106144=_0x106144-0xb6;const _0x1f59f4=a0_0x1f59();let _0x2c92bb=_0x1f59f4[_0x106144];if(a0_0x2c92['ZoGlIy']===undefined){var _0x7e8bc2=function(_0x330feb){const _0x29f701='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2f18b2='',_0x2e5a6a='';for(let _0x5a9ff0=0x0,_0x39181a,_0x1dc747,_0x24f24d=0x0;_0x1dc747=_0x330feb['charAt'](_0x24f24d++);~_0x1dc747&&(_0x39181a=_0x5a9ff0%0x4?_0x39181a*0x40+_0x1dc747:_0x1dc747,_0x5a9ff0++%0x4)?_0x2f18b2+=String['fromCharCode'](0xff&_0x39181a>>(-0x2*_0x5a9ff0&0x6)):0x0){_0x1dc747=_0x29f701['indexOf'](_0x1dc747);}for(let _0x551fe4=0x0,_0x2ed84e=_0x2f18b2['length'];_0x551fe4<_0x2ed84e;_0x551fe4++){_0x2e5a6a+='%'+('00'+_0x2f18b2['charCodeAt'](_0x551fe4)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2e5a6a);};a0_0x2c92['MsgaXN']=_0x7e8bc2,a0_0x2c92['CsIanp']={},a0_0x2c92['ZoGlIy']=!![];}const _0x1393a0=_0x1f59f4[0x0],_0x615142=_0x106144+_0x1393a0,_0x51c37f=a0_0x2c92['CsIanp'][_0x615142];return!_0x51c37f?(_0x2c92bb=a0_0x2c92['MsgaXN'](_0x2c92bb),a0_0x2c92['CsIanp'][_0x615142]=_0x2c92bb):_0x2c92bb=_0x51c37f,_0x2c92bb;}import{spawn}from'child_process';import{STATIC_ANALYSIS}from'../utilities/constants.js';import a0_0x2f18b2 from'fs/promises';import a0_0x2e5a6a from'path';function a0_0x1f59(){const _0x4cb416=['ChL0Ag9UlwfZDa','CNvUuhL0Ag9Uu2nYAxb0','mJq2vuHWrgLx','v0fstKLorW','AM9PBG','nurWB3P6qW','DgfYz2v0xW','DxrMltG','Bg9Nz2vY','y2HLy2TtEw50yxG','mtC0mZjvr0fhreK','mteZnde2rLP3ug5j','BwvZC2fNzq','z2v0uhL0Ag9Uq29TBwfUza','rMfPBgvKihrVihbHCNnLifb5DgHVBIbZEw50yxGGy2HLy2SGCMvZDwX0','zMLSDgvY','mJGWDvzXrfnn','mtm5oty3m3brqKX2uW','CNvUq29TBwfUza','zgf0yq','C2v2zxjPDhK','C3rKB3v0','D2fYBG','mte5r1jWDeXA','Dg1WzgLY','y2XVC2u','rvjst1i','zxjYB3jZ','uhL0Ag9UigfUywX5C2LZigzHAwXLza','mJyZntG2nLLJzfbuDa','zgvIDwC','yw5HBhL6zq','mJK2nZCWz3LSu0nm','mteWmduZnKfSuMvvBG','q29TBwfUzcb0Aw1LB3v0','C3vJy2vZCW','rM91BMqGuhL0Ag9UignVBw1HBMq','ChL0Ag9Uq29TBwfUza','BgvUz3rO','Dgv4Da','oti0ntDIyLrUvgS','BgLUzq','ls12zxjZAw9U','CgfYC2u'];a0_0x1f59=function(){return _0x4cb416;};return a0_0x1f59();}import a0_0x5a9ff0 from'os';class PythonAnalyzer{constructor(_0x39181a=null){const _0x1d92a0=a0_0x2c92;this[_0x1d92a0(0xc5)]=_0x39181a,this['pythonCommand']=null;}async[a0_0x1d112c(0xdc)](_0x1dc747,_0x24f24d,_0x551fe4={}){const _0x2a3f0e=a0_0x1d112c;try{const _0x2ed84e=[],_0x4c66e7=await this[_0x2a3f0e(0xca)]();if(!_0x4c66e7)return this[_0x2a3f0e(0xc5)]?.[_0x2a3f0e(0xd3)]('Python\x20not\x20available,\x20skipping\x20analysis'),[];const _0x8d5fd4=await this[_0x2a3f0e(0xc6)](_0x1dc747,_0x24f24d,_0x4c66e7);return _0x2ed84e['push'](..._0x8d5fd4),this[_0x2a3f0e(0xc5)]?.[_0x2a3f0e(0xdb)]('Python\x20analysis\x20completed',{'file':_0x1dc747,'totalDiagnostics':_0x2ed84e['length'],'errors':_0x2ed84e[_0x2a3f0e(0xcc)](_0x5b73dc=>_0x5b73dc[_0x2a3f0e(0xd1)]===STATIC_ANALYSIS['SEVERITY'][_0x2a3f0e(0xd7)])[_0x2a3f0e(0xb7)],'warnings':_0x2ed84e[_0x2a3f0e(0xcc)](_0x133c63=>_0x133c63[_0x2a3f0e(0xd1)]===STATIC_ANALYSIS['SEVERITY'][_0x2a3f0e(0xc0)])[_0x2a3f0e(0xb7)]}),_0x2ed84e;}catch(_0x4e8e46){return this['logger']?.['error'](_0x2a3f0e(0xd9),{'file':_0x1dc747,'error':_0x4e8e46[_0x2a3f0e(0xc9)]}),[];}}async['checkSyntax'](_0xf5974c,_0x5ba799,_0x5e8505){const _0x32b8ca=a0_0x1d112c,_0x14beca=[],_0x1405fa=a0_0x5a9ff0[_0x32b8ca(0xd5)](),_0x5d8c42=a0_0x2e5a6a[_0x32b8ca(0xc1)](_0x1405fa,'syntax_check_'+Date['now']()+'.py'),_0x1adf34=a0_0x2e5a6a[_0x32b8ca(0xc1)](_0x1405fa,_0x32b8ca(0xc3)+Date['now']()+'.py');try{await a0_0x2f18b2['writeFile'](_0x1adf34,_0x5ba799,_0x32b8ca(0xc4));const _0x4dfd9a='\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_0x2f18b2['writeFile'](_0x5d8c42,_0x4dfd9a,_0x32b8ca(0xc4));const _0x379538=await this[_0x32b8ca(0xbe)](_0x5e8505,_0x5d8c42,[_0x1adf34]);try{const _0x1df7b9=JSON[_0x32b8ca(0xbc)](_0x379538['stdout']);if(!_0x1df7b9[_0x32b8ca(0xe0)]&&_0x1df7b9[_0x32b8ca(0xd8)])for(const _0xc97530 of _0x1df7b9['errors']){_0x14beca['push']({'file':_0xf5974c,'line':_0xc97530[_0x32b8ca(0xba)]||0x1,'column':_0xc97530['column']||0x1,'severity':STATIC_ANALYSIS['SEVERITY'][_0x32b8ca(0xd7)],'rule':'SyntaxError','message':_0xc97530[_0x32b8ca(0xc9)],'category':STATIC_ANALYSIS['CATEGORY']['SYNTAX'],'fixable':![],'source':_0x32b8ca(0xbd),'code':_0xc97530[_0x32b8ca(0xb8)]||undefined});}}catch(_0x2471c9){this['logger']?.[_0x32b8ca(0xd3)](_0x32b8ca(0xcb),{'error':_0x2471c9[_0x32b8ca(0xc9)],'stdout':_0x379538[_0x32b8ca(0xd2)]});}}finally{try{await a0_0x2f18b2['unlink'](_0x5d8c42),await a0_0x2f18b2['unlink'](_0x1adf34);}catch{}}return _0x14beca;}async['getPythonCommand'](){const _0x58fbb9=a0_0x1d112c;if(this['pythonCommand'])return this['pythonCommand'];const _0x2695a2=['python3','python'];for(const _0xb9f1de of _0x2695a2){try{const _0x4c68c2=await this[_0x58fbb9(0xcf)](_0xb9f1de,[_0x58fbb9(0xbb)]);if(_0x4c68c2[_0x58fbb9(0xe0)])return this[_0x58fbb9(0xb6)]=_0xb9f1de,this['logger']?.[_0x58fbb9(0xdb)](_0x58fbb9(0xe1),{'command':_0xb9f1de,'version':_0x4c68c2[_0x58fbb9(0xd2)]['trim']()}),_0xb9f1de;}catch{}}return null;}async[a0_0x1d112c(0xbe)](_0x42ac55,_0x499525,_0x27b5d1=[]){const _0x5004c5=a0_0x1d112c;return this[_0x5004c5(0xcf)](_0x42ac55,[_0x499525,..._0x27b5d1]);}async[a0_0x1d112c(0xcf)](_0x2fcb73,_0xa88f3d=[],_0x4de21a={}){return new Promise((_0x521db5,_0x22590f)=>{const _0x34c845=a0_0x2c92,_0x271104=spawn(_0x2fcb73,_0xa88f3d,{..._0x4de21a,'shell':!![]});let _0x513988='',_0x4d9328='';_0x271104[_0x34c845(0xd2)]?.['on']('data',_0xeba9a3=>{_0x513988+=_0xeba9a3['toString']();}),_0x271104['stderr']?.['on'](_0x34c845(0xd0),_0x2196c8=>{_0x4d9328+=_0x2196c8['toString']();}),_0x271104['on']('error',_0x719534=>{_0x22590f(_0x719534);}),_0x271104['on'](_0x34c845(0xd6),_0x1c443a=>{_0x521db5({'success':_0x1c443a===0x0,'code':_0x1c443a,'stdout':_0x513988,'stderr':_0x4d9328});}),setTimeout(()=>{const _0x29bd72=_0x34c845;_0x271104['kill'](),_0x22590f(new Error(_0x29bd72(0xdf)));},0x2710);});}['getSupportedExtensions'](){return['.py'];}['supportsAutoFix'](){return![];}}export default PythonAnalyzer;
1
+ const a0_0x2166ee=a0_0x5e5a;(function(_0x384f6d,_0x309f3b){const _0x9b775=a0_0x5e5a,_0x3769cf=_0x384f6d();while(!![]){try{const _0x452e24=parseInt(_0x9b775(0x1ad))/0x1*(parseInt(_0x9b775(0x1aa))/0x2)+parseInt(_0x9b775(0x1b9))/0x3*(-parseInt(_0x9b775(0x190))/0x4)+-parseInt(_0x9b775(0x1bc))/0x5*(parseInt(_0x9b775(0x1b2))/0x6)+parseInt(_0x9b775(0x19d))/0x7+parseInt(_0x9b775(0x1a4))/0x8*(parseInt(_0x9b775(0x18f))/0x9)+parseInt(_0x9b775(0x19a))/0xa+-parseInt(_0x9b775(0x192))/0xb;if(_0x452e24===_0x309f3b)break;else _0x3769cf['push'](_0x3769cf['shift']());}catch(_0x1136ab){_0x3769cf['push'](_0x3769cf['shift']());}}}(a0_0x4653,0xae8a7));import{spawn}from'child_process';function a0_0x4653(){const _0x47fbba=['DgfYz2v0xW','u0vwrvjjvfK','yw5HBhL6zq','ChvZAa','DhjPBq','mtmWnde0mJbMEuHcrwS','DxrMltG','u1Lovefy','nZmYntKYC0LetMT6','cMLTCg9YDcbHC3qkAw1WB3j0ihn5CWPPBxbVCNqGANnVBGOkzgvMignOzwnRx3n5BNrHEcHMAwXLCgf0AcK6cIaGicb0CNK6cIaGicaGicaGD2L0AcbVCgvUkgzPBgvWyxrOlcaNCICSigvUy29KAw5NpsD1DgyTocCPigfZigy6cIaGicaGicaGicaGihnVDxjJzsa9igyUCMvHzcGPcGOGicaGicaGicmGvhj5ihrVihbHCNnLihrOzsbMAwXLcIaGicaGicaGyxn0lNbHCNnLkhnVDxjJzsWGzMLSzw5HBwu9zMLSzxbHDgGPcGOGicaGicaGicmGswyGC3vJy2vZC2z1BcWGBM8GzxjYB3jZcIaGicaGicaGChjPBNqOANnVBI5KDw1WCYH7iNn1y2nLC3mIoIbuCNvLlcaIzxjYB3jZiJOGw119ksKkcIaGicbLEgnLChqGu3LUDgf4rxjYB3iGyxmGztOkicaGicaGicbLCNjVCIa9ihSkicaGicaGicaGicaGiMzPBguIoIbMAwXLCgf0AcWkicaGicaGicaGicaGiMXPBMuIoIbLlMXPBMvUBYbVCIaXlaOGicaGicaGicaGicaIy29SDw1UiJOGzs5VzMzZzxqGB3iGmsWkicaGicaGicaGicaGiM1LC3nHz2uIoIbZDhiOzs5TC2CPlaOGicaGicaGicaGicaIDgv4Dci6iguUDgv4Dc5ZDhjPCcGPigLMiguUDgv4DcbLBhnLiciIcIaGicaGicaGFqOGicaGicaGihbYAw50kgPZB24UzhvTChmOEYjZDwnJzxnZiJOGrMfSC2uSicjLCNjVCNmIoIbBzxjYB3jDFsKPcGOGicaGzxHJzxb0iev4y2vWDgLVBIbHCYbLoGOGicaGicaGigvYCM9Yid0GEWOGicaGicaGicaGicaIzMLSzsi6igzPBgvWyxrOlaOGicaGicaGicaGicaIBgLUzsi6ideScIaGicaGicaGicaGicjJB2X1Bw4IoIaXlaOGicaGicaGicaGicaIBwvZC2fNzsi6ihn0CIHLksWkicaGicaGicaGicaGiNrLEhqIoIaIiGOGicaGicaGih0kicaGicaGicbWCMLUDcHQC29UlMr1BxbZkhSIC3vJy2vZCYi6iezHBhnLlcaIzxjYB3jZiJOGw2vYCM9Yxx0PkqOkAwyGx19Uyw1Lx18Gpt0GiL9FBwfPBL9FiJOkicaGigLMigXLBIHZExmUyxjNDIKGpIaXoGOGicaGicaGignOzwnRx3n5BNrHEcHZExmUyxjNDLSXxsKkicaGigvSC2u6cIaGicaGicaGChjPBNqOANnVBI5KDw1WCYH7iNn1y2nLC3mIoIbgywXZzsWGiMvYCM9YCYi6ifT7iM1LC3nHz2uIoIaItM8GzMLSzsbZCgvJAwzPzwqIFv19ksKk','lNb5','y29SDw1U','AM9PBG','zgf0yq','C3rKB3v0','mZa2nfD6BuDhyW','uhL0Ag9UigfUywX5C2LZignVBxbSzxrLza','Bg9Nz2vY','z2v0u3vWCg9YDgvKrxH0zw5ZAw9UCW','BgvUz3rO','Dgv4Da','nZi5ngDXsKffsW','CNvUq29TBwfUza','ChL0Ag9U','mJm5sefNCxvY','C2v2zxjPDhK','BwvZC2fNzq','u3LUDgf4rxjYB3i','D3jPDgvgAwXL','mJiYCLnpA2PX','zxjYB3jZ','C3vJy2vZCW','ls12zxjZAw9U','rvjst1i','zxjYB3i','ChL0Ag9Uq29TBwfUza','ndCYmJaZEMDSDfL4','y2XVC2u','Dw5SAw5R','nZqWmJbRvw1lDNq','ChL0Ag9UlwfZDa','Dg9tDhjPBMC','A2LSBa','q29TBwfUzcb0Aw1LB3v0','C3rKzxjY','C3LUDgf4x2nOzwnRxW','C3vWCg9YDhnbDxrVrML4','mJK1mJbHshvTtLO','mJbyywTIzNe','BM93','mtyZnty5odLKB2TwwKu','BgLUzq','z2v0uhL0Ag9Uq29TBwfUza'];a0_0x4653=function(){return _0x47fbba;};return a0_0x4653();}import{STATIC_ANALYSIS}from'../utilities/constants.js';function a0_0x5e5a(_0x536bd2,_0x259808){_0x536bd2=_0x536bd2-0x18d;const _0x4653ba=a0_0x4653();let _0x5e5a61=_0x4653ba[_0x536bd2];if(a0_0x5e5a['UWjCmh']===undefined){var _0x354e19=function(_0x807898){const _0x3e6229='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4b5d71='',_0x5878e4='';for(let _0x507708=0x0,_0x388062,_0x4cc464,_0x3d2098=0x0;_0x4cc464=_0x807898['charAt'](_0x3d2098++);~_0x4cc464&&(_0x388062=_0x507708%0x4?_0x388062*0x40+_0x4cc464:_0x4cc464,_0x507708++%0x4)?_0x4b5d71+=String['fromCharCode'](0xff&_0x388062>>(-0x2*_0x507708&0x6)):0x0){_0x4cc464=_0x3e6229['indexOf'](_0x4cc464);}for(let _0x12ffb6=0x0,_0x4c8cba=_0x4b5d71['length'];_0x12ffb6<_0x4c8cba;_0x12ffb6++){_0x5878e4+='%'+('00'+_0x4b5d71['charCodeAt'](_0x12ffb6)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5878e4);};a0_0x5e5a['NNVeUd']=_0x354e19,a0_0x5e5a['ekEaok']={},a0_0x5e5a['UWjCmh']=!![];}const _0x4594ff=_0x4653ba[0x0],_0x286c2c=_0x536bd2+_0x4594ff,_0xfd9713=a0_0x5e5a['ekEaok'][_0x286c2c];return!_0xfd9713?(_0x5e5a61=a0_0x5e5a['NNVeUd'](_0x5e5a61),a0_0x5e5a['ekEaok'][_0x286c2c]=_0x5e5a61):_0x5e5a61=_0xfd9713,_0x5e5a61;}import a0_0x4b5d71 from'fs/promises';import a0_0x5878e4 from'path';import a0_0x507708 from'os';class PythonAnalyzer{constructor(_0x388062=null){const _0x3ef3e6=a0_0x5e5a;this['logger']=_0x388062,this[_0x3ef3e6(0x1b8)]=null;}async[a0_0x2166ee(0x197)](_0x4cc464,_0x3d2098,_0x12ffb6={}){const _0x47242b=a0_0x2166ee;try{const _0x4c8cba=[],_0x564fb=await this[_0x47242b(0x194)]();if(!_0x564fb)return this[_0x47242b(0x1a6)]?.['warn']('Python\x20not\x20available,\x20skipping\x20analysis'),[];const _0x16dd36=await this['checkSyntax'](_0x4cc464,_0x3d2098,_0x564fb);return _0x4c8cba[_0x47242b(0x198)](..._0x16dd36),this['logger']?.['debug'](_0x47242b(0x1a5),{'file':_0x4cc464,'totalDiagnostics':_0x4c8cba[_0x47242b(0x1a8)],'errors':_0x4c8cba['filter'](_0x529147=>_0x529147[_0x47242b(0x1ae)]===STATIC_ANALYSIS[_0x47242b(0x196)]['ERROR'])['length'],'warnings':_0x4c8cba['filter'](_0x20ca37=>_0x20ca37['severity']===STATIC_ANALYSIS['SEVERITY']['WARNING'])['length']}),_0x4c8cba;}catch(_0x4d889d){return this[_0x47242b(0x1a6)]?.[_0x47242b(0x1b7)]('Python\x20analysis\x20failed',{'file':_0x4cc464,'error':_0x4d889d['message']}),[];}}async['checkSyntax'](_0x346085,_0x2f73e3,_0x1940fb){const _0x4b9e13=a0_0x2166ee,_0x28b0e1=[],_0x5bd50c=a0_0x507708['tmpdir'](),_0x2be73d=a0_0x5878e4[_0x4b9e13(0x1a1)](_0x5bd50c,_0x4b9e13(0x18d)+Date[_0x4b9e13(0x191)]()+_0x4b9e13(0x19f)),_0x44b4d7=a0_0x5878e4['join'](_0x5bd50c,_0x4b9e13(0x195)+Date['now']()+_0x4b9e13(0x19f));try{await a0_0x4b5d71[_0x4b9e13(0x1b1)](_0x44b4d7,_0x2f73e3,_0x4b9e13(0x19b));const _0x11b134=_0x4b9e13(0x19e);await a0_0x4b5d71['writeFile'](_0x2be73d,_0x11b134,_0x4b9e13(0x19b));const _0x58ec49=await this['runPythonScript'](_0x1940fb,_0x2be73d,[_0x44b4d7]);try{const _0xa44521=JSON['parse'](_0x58ec49[_0x4b9e13(0x1a3)]);if(!_0xa44521['success']&&_0xa44521['errors'])for(const _0x41f514 of _0xa44521[_0x4b9e13(0x1b3)]){_0x28b0e1['push']({'file':_0x346085,'line':_0x41f514[_0x4b9e13(0x193)]||0x1,'column':_0x41f514[_0x4b9e13(0x1a0)]||0x1,'severity':STATIC_ANALYSIS[_0x4b9e13(0x196)][_0x4b9e13(0x1b6)],'rule':_0x4b9e13(0x1b0),'message':_0x41f514[_0x4b9e13(0x1af)],'category':STATIC_ANALYSIS['CATEGORY'][_0x4b9e13(0x19c)],'fixable':![],'source':_0x4b9e13(0x1bd),'code':_0x41f514[_0x4b9e13(0x1a9)]||undefined});}}catch(_0x268db2){this['logger']?.['warn']('Failed\x20to\x20parse\x20Python\x20syntax\x20check\x20result',{'error':_0x268db2[_0x4b9e13(0x1af)],'stdout':_0x58ec49['stdout']});}}finally{try{await a0_0x4b5d71['unlink'](_0x2be73d),await a0_0x4b5d71[_0x4b9e13(0x1bb)](_0x44b4d7);}catch{}}return _0x28b0e1;}async['getPythonCommand'](){const _0x267753=a0_0x2166ee;if(this[_0x267753(0x1b8)])return this[_0x267753(0x1b8)];const _0x4b8f0c=['python3',_0x267753(0x1ac)];for(const _0x83df85 of _0x4b8f0c){try{const _0x5b53a9=await this['runCommand'](_0x83df85,[_0x267753(0x1b5)]);if(_0x5b53a9[_0x267753(0x1b4)])return this[_0x267753(0x1b8)]=_0x83df85,this[_0x267753(0x1a6)]?.['debug']('Found\x20Python\x20command',{'command':_0x83df85,'version':_0x5b53a9[_0x267753(0x1a3)][_0x267753(0x199)]()}),_0x83df85;}catch{}}return null;}async['runPythonScript'](_0x12ebe9,_0x23c7a6,_0x246c64=[]){const _0x530975=a0_0x2166ee;return this[_0x530975(0x1ab)](_0x12ebe9,[_0x23c7a6,..._0x246c64]);}async[a0_0x2166ee(0x1ab)](_0x4e02ae,_0x2d9c3a=[],_0x300b94={}){return new Promise((_0x48f36c,_0x2cd669)=>{const _0x4ff5a4=a0_0x5e5a,_0x12fbde=spawn(_0x4e02ae,_0x2d9c3a,{..._0x300b94,'shell':!![]});let _0x43d3d3='',_0x49ef15='';_0x12fbde[_0x4ff5a4(0x1a3)]?.['on']('data',_0x383ee2=>{_0x43d3d3+=_0x383ee2['toString']();}),_0x12fbde[_0x4ff5a4(0x1c1)]?.['on'](_0x4ff5a4(0x1a2),_0x48ae5d=>{const _0x3630f5=_0x4ff5a4;_0x49ef15+=_0x48ae5d[_0x3630f5(0x1be)]();}),_0x12fbde['on'](_0x4ff5a4(0x1b7),_0x3e2aba=>{_0x2cd669(_0x3e2aba);}),_0x12fbde['on'](_0x4ff5a4(0x1ba),_0x3f89ba=>{_0x48f36c({'success':_0x3f89ba===0x0,'code':_0x3f89ba,'stdout':_0x43d3d3,'stderr':_0x49ef15});}),setTimeout(()=>{const _0x22a63c=_0x4ff5a4;_0x12fbde[_0x22a63c(0x1bf)](),_0x2cd669(new Error(_0x22a63c(0x1c0)));},0x2710);});}[a0_0x2166ee(0x1a7)](){const _0x1410fb=a0_0x2166ee;return[_0x1410fb(0x19f)];}[a0_0x2166ee(0x18e)](){return![];}}export default PythonAnalyzer;
@@ -1 +1 @@
1
- const a0_0x43e3be=a0_0x8b64;(function(_0x477cbb,_0x4eb0aa){const _0x4f942e=a0_0x8b64,_0x1f4d65=_0x477cbb();while(!![]){try{const _0x1c4245=-parseInt(_0x4f942e(0x14f))/0x1+-parseInt(_0x4f942e(0x16d))/0x2*(parseInt(_0x4f942e(0x102))/0x3)+-parseInt(_0x4f942e(0x172))/0x4*(-parseInt(_0x4f942e(0x150))/0x5)+parseInt(_0x4f942e(0xfd))/0x6*(parseInt(_0x4f942e(0x10d))/0x7)+-parseInt(_0x4f942e(0x114))/0x8*(-parseInt(_0x4f942e(0x16e))/0x9)+parseInt(_0x4f942e(0x127))/0xa*(-parseInt(_0x4f942e(0x12b))/0xb)+-parseInt(_0x4f942e(0x11b))/0xc*(-parseInt(_0x4f942e(0x101))/0xd);if(_0x1c4245===_0x4eb0aa)break;else _0x1f4d65['push'](_0x1f4d65['shift']());}catch(_0x4c516b){_0x1f4d65['push'](_0x1f4d65['shift']());}}}(a0_0x249a,0xc6a98));import{exec}from'child_process';import{promisify}from'util';import a0_0x2ab5bc from'path';import a0_0x465072 from'fs/promises';function a0_0x8b64(_0x346fd9,_0x1df3cd){_0x346fd9=_0x346fd9-0xf6;const _0x249a5f=a0_0x249a();let _0x8b640f=_0x249a5f[_0x346fd9];if(a0_0x8b64['rFJWcJ']===undefined){var _0x77485c=function(_0x46de03){const _0x2df089='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2ab5bc='',_0x465072='';for(let _0xa97499=0x0,_0x2431a5,_0x421436,_0x166012=0x0;_0x421436=_0x46de03['charAt'](_0x166012++);~_0x421436&&(_0x2431a5=_0xa97499%0x4?_0x2431a5*0x40+_0x421436:_0x421436,_0xa97499++%0x4)?_0x2ab5bc+=String['fromCharCode'](0xff&_0x2431a5>>(-0x2*_0xa97499&0x6)):0x0){_0x421436=_0x2df089['indexOf'](_0x421436);}for(let _0x315ada=0x0,_0x3e2e77=_0x2ab5bc['length'];_0x315ada<_0x3e2e77;_0x315ada++){_0x465072+='%'+('00'+_0x2ab5bc['charCodeAt'](_0x315ada)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x465072);};a0_0x8b64['QaBpUm']=_0x77485c,a0_0x8b64['VGSoDs']={},a0_0x8b64['rFJWcJ']=!![];}const _0x51b504=_0x249a5f[0x0],_0x3fb9e2=_0x346fd9+_0x51b504,_0xc8c87d=a0_0x8b64['VGSoDs'][_0x3fb9e2];return!_0xc8c87d?(_0x8b640f=a0_0x8b64['QaBpUm'](_0x8b640f),a0_0x8b64['VGSoDs'][_0x3fb9e2]=_0x8b640f):_0x8b640f=_0xc8c87d,_0x8b640f;}import{STATIC_ANALYSIS}from'../utilities/constants.js';const execAsync=promisify(exec);class SecurityAnalyzer{constructor(_0xa97499=null){const _0x444ada=a0_0x8b64;this['logger']=_0xa97499,this['availableScanners']=null,this[_0x444ada(0x120)]=new Map(),this[_0x444ada(0x112)]=a0_0x2ab5bc[_0x444ada(0x14a)](process['cwd'](),'node_modules',_0x444ada(0x151));}async['detectAvailableScanners'](){const _0x4be49c=a0_0x8b64;if(this[_0x4be49c(0x15a)]!==null)return this['availableScanners'];const _0x2431a5={'semgrep':![],'bandit':![],'npmAudit':![],'pipAudit':![],'eslintSecurity':![]};try{const _0x421436=a0_0x2ab5bc['join'](this['localScannerDir'],'semgrep');try{await a0_0x465072['access'](_0x421436),_0x2431a5['semgrep']=!![],this['logger']?.[_0x4be49c(0x167)]('Semgrep\x20scanner\x20detected\x20(local)');}catch{await execAsync('semgrep\x20--version',{'timeout':0x1388}),_0x2431a5[_0x4be49c(0x155)]=!![],this[_0x4be49c(0x169)]?.['debug'](_0x4be49c(0x11c));}}catch(_0x166012){this['logger']?.['debug']('Semgrep\x20not\x20available',{'error':_0x166012[_0x4be49c(0x126)]});}try{await execAsync('bandit\x20--version',{'timeout':0x1388}),_0x2431a5[_0x4be49c(0x12a)]=!![],this['logger']?.[_0x4be49c(0x167)]('Bandit\x20scanner\x20detected');}catch(_0x315ada){this['logger']?.['debug']('Bandit\x20not\x20available',{'error':_0x315ada[_0x4be49c(0x126)]});}try{await execAsync(_0x4be49c(0x179),{'timeout':0x1388}),_0x2431a5['npmAudit']=!![],this[_0x4be49c(0x169)]?.['debug'](_0x4be49c(0x13e));}catch(_0x3e2e77){this[_0x4be49c(0x169)]?.['debug']('npm\x20not\x20available',{'error':_0x3e2e77[_0x4be49c(0x126)]});}try{await execAsync('pip-audit\x20--version',{'timeout':0x1388}),_0x2431a5[_0x4be49c(0x125)]=!![],this[_0x4be49c(0x169)]?.[_0x4be49c(0x167)](_0x4be49c(0x170));}catch(_0x511c10){this[_0x4be49c(0x169)]?.['debug'](_0x4be49c(0x160),{'error':_0x511c10['message']});}try{const _0x3c4c68=await execAsync('npm\x20list\x20eslint-plugin-security\x20--depth=0\x20--json',{'timeout':0x1388,'cwd':process[_0x4be49c(0x100)]()}),_0x497e9=JSON['parse'](_0x3c4c68['stdout']);_0x497e9['dependencies']&&_0x497e9[_0x4be49c(0x104)]['eslint-plugin-security']&&(_0x2431a5['eslintSecurity']=!![],this['logger']?.[_0x4be49c(0x167)](_0x4be49c(0x145)));}catch(_0x4d4630){this[_0x4be49c(0x169)]?.['debug'](_0x4be49c(0x11d),{'error':_0x4d4630[_0x4be49c(0x126)]});}return this['availableScanners']=_0x2431a5,_0x2431a5;}async[a0_0x43e3be(0x153)](_0x2d272a,_0x3d7d5f,_0x264841={}){const _0x588a6d=a0_0x43e3be,_0x3db177=[],_0x46e765=await this['detectAvailableScanners'](),_0x3ee777=this['detectLanguage'](_0x2d272a);if(_0x264841[_0x588a6d(0x131)]!==![]&&this[_0x588a6d(0xff)](_0x2d272a))return this[_0x588a6d(0x169)]?.[_0x588a6d(0x167)](_0x588a6d(0x148),{'filePath':_0x2d272a}),[];if(_0x3ee777===_0x588a6d(0x134)||_0x3ee777==='typescript'){if(_0x46e765[_0x588a6d(0x155)]){const _0x21048e=await this[_0x588a6d(0xfb)](_0x2d272a,[_0x3ee777],_0x264841);_0x3db177[_0x588a6d(0x157)](..._0x21048e);}if(_0x46e765['eslintSecurity']){const _0x227923=await this['runESLintSecurity'](_0x2d272a,_0x3d7d5f,_0x264841);_0x3db177[_0x588a6d(0x157)](..._0x227923);}}if(_0x3ee777===_0x588a6d(0x161)){if(_0x46e765[_0x588a6d(0x12a)]){const _0x55eb46=await this['runBandit'](_0x2d272a,_0x264841);_0x3db177['push'](..._0x55eb46);}if(_0x46e765[_0x588a6d(0x155)]){const _0x4000e4=await this[_0x588a6d(0xfb)](_0x2d272a,[_0x3ee777],_0x264841);_0x3db177['push'](..._0x4000e4);}}return _0x3db177[_0x588a6d(0x12f)]===0x0&&!this['hasScannersForLanguage'](_0x46e765,_0x3ee777)&&this['logger']?.[_0x588a6d(0x13b)](_0x588a6d(0x156),{'language':_0x3ee777,'filePath':_0x2d272a}),this['normalizeResults'](_0x3db177);}async['analyzeProject'](_0x2c34df,_0x4d1805,_0x27b96c={}){const _0x2e3e11=a0_0x43e3be,_0x246655=[],_0x26302a=await this[_0x2e3e11(0x12e)]();if(_0x4d1805==='javascript'||_0x4d1805===_0x2e3e11(0x138)){if(_0x26302a['npmAudit']){const _0x5a0946=await this['runNpmAudit'](_0x2c34df,_0x27b96c);_0x246655[_0x2e3e11(0x157)](..._0x5a0946);}}if(_0x4d1805==='python'){if(_0x26302a['pipAudit']){const _0x4a42fd=await this[_0x2e3e11(0x107)](_0x2c34df,_0x27b96c);_0x246655[_0x2e3e11(0x157)](..._0x4a42fd);}}return this['normalizeResults'](_0x246655);}async[a0_0x43e3be(0xfb)](_0x182059,_0xa14364,_0x82fc62={}){const _0x4f5ea7=a0_0x43e3be;try{const _0x321a9e=a0_0x2ab5bc[_0x4f5ea7(0x10b)](_0x182059),_0xb8acc9=await execAsync(_0x4f5ea7(0x16b)+_0x182059+'\x22',{'maxBuffer':0xa*0x400*0x400,'timeout':0x7530,'cwd':_0x321a9e}),_0x4150f6=JSON['parse'](_0xb8acc9['stdout']);return this['parseSemgrepResults'](_0x4150f6);}catch(_0x308b2b){if(_0x308b2b[_0x4f5ea7(0x103)])try{const _0x4bb145=JSON[_0x4f5ea7(0x121)](_0x308b2b['stdout']);return this[_0x4f5ea7(0x11e)](_0x4bb145);}catch(_0x91e016){this[_0x4f5ea7(0x169)]?.[_0x4f5ea7(0x111)]('Failed\x20to\x20parse\x20Semgrep\x20output',{'error':_0x91e016['message'],'stdout':_0x308b2b['stdout']});}return this[_0x4f5ea7(0x169)]?.[_0x4f5ea7(0x111)](_0x4f5ea7(0x159),{'error':_0x308b2b['message']}),[];}}['parseSemgrepResults'](_0xbab56f){const _0x2de0e1=a0_0x43e3be,_0x3933f6=[];if(_0xbab56f[_0x2de0e1(0x10a)]&&Array['isArray'](_0xbab56f['results']))for(const _0x3df8ab of _0xbab56f['results']){_0x3933f6[_0x2de0e1(0x157)]({'file':_0x3df8ab['path'],'line':_0x3df8ab['start']?.['line']||0x1,'column':_0x3df8ab['start']?.['col']||0x1,'severity':this['mapSemgrepSeverity'](_0x3df8ab[_0x2de0e1(0x129)]?.[_0x2de0e1(0x110)]),'rule':_0x3df8ab[_0x2de0e1(0x162)],'message':_0x3df8ab['extra']?.[_0x2de0e1(0x126)]||_0x3df8ab[_0x2de0e1(0x129)]?.[_0x2de0e1(0x165)]||_0x2de0e1(0x175),'category':_0x2de0e1(0xfe),'scanner':'semgrep','cwe':_0x3df8ab['extra']?.['metadata']?.['cwe'],'owasp':_0x3df8ab[_0x2de0e1(0x129)]?.['metadata']?.[_0x2de0e1(0x17a)],'confidence':_0x3df8ab['extra']?.['metadata']?.['confidence'],'references':_0x3df8ab[_0x2de0e1(0x129)]?.[_0x2de0e1(0x106)]?.['references']});}return _0x3933f6;}async['runBandit'](_0x246fde,_0x33df34={}){const _0xddfc07=a0_0x43e3be;try{const _0x44d888=await execAsync('bandit\x20-f\x20json\x20\x22'+_0x246fde+'\x22',{'maxBuffer':0xa*0x400*0x400,'timeout':0x7530}),_0x44d3c5=JSON[_0xddfc07(0x121)](_0x44d888[_0xddfc07(0x103)]);return this['parseBanditResults'](_0x44d3c5);}catch(_0x2fd7ae){if(_0x2fd7ae[_0xddfc07(0x103)])try{const _0x1f2e08=JSON['parse'](_0x2fd7ae['stdout']);return this[_0xddfc07(0x136)](_0x1f2e08);}catch(_0xdd7418){this['logger']?.['error']('Failed\x20to\x20parse\x20Bandit\x20output',{'error':_0xdd7418[_0xddfc07(0x126)]});}return this['logger']?.['error'](_0xddfc07(0x141),{'error':_0x2fd7ae['message']}),[];}}[a0_0x43e3be(0x136)](_0x5de34e){const _0x3a38c9=a0_0x43e3be,_0x1137dc=[];if(_0x5de34e[_0x3a38c9(0x10a)]&&Array[_0x3a38c9(0x12c)](_0x5de34e[_0x3a38c9(0x10a)]))for(const _0x3a702e of _0x5de34e[_0x3a38c9(0x10a)]){_0x1137dc[_0x3a38c9(0x157)]({'file':_0x3a702e['filename'],'line':_0x3a702e[_0x3a38c9(0x132)]||0x1,'column':_0x3a702e[_0x3a38c9(0x113)]||0x1,'severity':this[_0x3a38c9(0x105)](_0x3a702e['issue_severity']),'rule':_0x3a702e['test_id'],'message':_0x3a702e[_0x3a38c9(0x108)],'category':_0x3a38c9(0xfe),'scanner':_0x3a38c9(0x12a),'cwe':_0x3a702e[_0x3a38c9(0x12d)]?.['id']?_0x3a38c9(0x158)+_0x3a702e['issue_cwe']['id']:null,'confidence':_0x3a702e['issue_confidence'],'moreInfo':_0x3a702e[_0x3a38c9(0x152)]});}return _0x1137dc;}async[a0_0x43e3be(0xfc)](_0x5351e8,_0x9bda22,_0x381b42={}){const _0x46bd3a=a0_0x43e3be;try{const {ESLint:_0xb98b21}=await import('eslint'),_0x28165b=new _0xb98b21({'overrideConfig':{'plugins':['security'],'extends':['plugin:security/recommended'],'parserOptions':{'ecmaVersion':_0x46bd3a(0x13f),'sourceType':_0x46bd3a(0x13c)}},'useEslintrc':![]}),_0x25c03e=await _0x28165b[_0x46bd3a(0x11a)](_0x9bda22,{'filePath':_0x5351e8});return this[_0x46bd3a(0x143)](_0x25c03e,_0x5351e8);}catch(_0x5a4f4a){return this[_0x46bd3a(0x169)]?.['error']('ESLint\x20security\x20scan\x20failed',{'error':_0x5a4f4a['message'],'filePath':_0x5351e8}),[];}}[a0_0x43e3be(0x143)](_0xfa8df9,_0x25e328){const _0x229385=a0_0x43e3be,_0x34dd5d=[];for(const _0x789020 of _0xfa8df9){if(_0x789020[_0x229385(0x133)]&&Array[_0x229385(0x12c)](_0x789020[_0x229385(0x133)]))for(const _0x1ca2ae of _0x789020['messages']){_0x1ca2ae[_0x229385(0xf8)]&&_0x1ca2ae[_0x229385(0xf8)][_0x229385(0x176)](_0x229385(0x119))&&_0x34dd5d[_0x229385(0x157)]({'file':_0x25e328,'line':_0x1ca2ae[_0x229385(0x174)]||0x1,'column':_0x1ca2ae['column']||0x1,'severity':this[_0x229385(0x16a)](_0x1ca2ae['severity']),'rule':_0x1ca2ae['ruleId'],'message':_0x1ca2ae['message'],'category':_0x229385(0xfe),'scanner':'eslint-security','fixable':_0x1ca2ae[_0x229385(0x10e)]!==undefined});}}return _0x34dd5d;}async[a0_0x43e3be(0x117)](_0x15c1e5,_0x47cee0={}){const _0x32b028=a0_0x43e3be;try{const _0xaf641a=a0_0x2ab5bc['join'](_0x15c1e5,_0x32b028(0x168));try{await a0_0x465072['access'](_0xaf641a);}catch{return this[_0x32b028(0x169)]?.[_0x32b028(0x167)]('No\x20package.json\x20found,\x20skipping\x20npm\x20audit'),[];}const _0x14f542=await execAsync(_0x32b028(0x14c),{'cwd':_0x15c1e5,'maxBuffer':0xa*0x400*0x400,'timeout':0xea60}),_0x2d4914=JSON['parse'](_0x14f542['stdout']);return this[_0x32b028(0x116)](_0x2d4914);}catch(_0x2bcbf6){if(_0x2bcbf6['stdout'])try{const _0x1efd23=JSON['parse'](_0x2bcbf6['stdout']);return this['parseNpmAuditResults'](_0x1efd23);}catch(_0x50559c){this[_0x32b028(0x169)]?.[_0x32b028(0x111)](_0x32b028(0x15e),{'error':_0x50559c['message']});}return[];}}[a0_0x43e3be(0x116)](_0x2c1b7a){const _0x1bfbb5=a0_0x43e3be,_0x290e34=[];if(_0x2c1b7a['vulnerabilities'])for(const [_0x6086b1,_0x402ae2]of Object[_0x1bfbb5(0xf6)](_0x2c1b7a[_0x1bfbb5(0x164)])){_0x290e34['push']({'file':_0x1bfbb5(0x168),'line':0x1,'column':0x1,'severity':this['mapNpmSeverity'](_0x402ae2['severity']),'rule':'npm-'+(_0x402ae2[_0x1bfbb5(0x15f)][0x0]?.[_0x1bfbb5(0x15d)]||'advisory'),'message':_0x6086b1+':\x20'+(_0x402ae2['via'][0x0]?.[_0x1bfbb5(0x16f)]||'Security\x20vulnerability'),'category':'security','scanner':_0x1bfbb5(0x14d),'package':_0x6086b1,'vulnerableVersions':_0x402ae2[_0x1bfbb5(0x139)],'patchedVersions':_0x402ae2[_0x1bfbb5(0x115)]?_0x1bfbb5(0x15c):'None','cve':_0x402ae2[_0x1bfbb5(0x15f)][0x0]?.[_0x1bfbb5(0x154)],'cvss':_0x402ae2['via'][0x0]?.[_0x1bfbb5(0x15b)],'references':_0x402ae2['via'][0x0]?.[_0x1bfbb5(0x140)]?[_0x402ae2[_0x1bfbb5(0x15f)][0x0]['url']]:[]});}return _0x290e34;}async[a0_0x43e3be(0x107)](_0x52f7f6,_0x3b2a7b={}){const _0x571efd=a0_0x43e3be;try{const requirementsPath=a0_0x2ab5bc['join'](_0x52f7f6,'requirements.txt');try{await a0_0x465072[_0x571efd(0x137)](requirementsPath);}catch{return this['logger']?.['debug'](_0x571efd(0x109)),[];}const _0x2c4901=await execAsync('pip-audit\x20--format\x20json',{'cwd':_0x52f7f6,'maxBuffer':0xa*0x400*0x400,'timeout':0xea60}),_0x5f0735=JSON[_0x571efd(0x121)](_0x2c4901[_0x571efd(0x103)]);return this[_0x571efd(0x10f)](_0x5f0735);}catch(_0x5c0762){if(_0x5c0762[_0x571efd(0x103)])try{const _0xf82ff3=JSON[_0x571efd(0x121)](_0x5c0762['stdout']);return this['parsePipAuditResults'](_0xf82ff3);}catch(_0x1f1698){this['logger']?.[_0x571efd(0x111)]('Failed\x20to\x20parse\x20pip-audit\x20output',{'error':_0x1f1698[_0x571efd(0x126)]});}return[];}}['parsePipAuditResults'](_0x51e835){const _0x25e02c=a0_0x43e3be,_0x32cbf9=[];if(_0x51e835['dependencies']&&Array[_0x25e02c(0x12c)](_0x51e835[_0x25e02c(0x104)]))for(const _0x262093 of _0x51e835[_0x25e02c(0x104)]){if(_0x262093[_0x25e02c(0x142)]&&Array['isArray'](_0x262093['vulns']))for(const _0x2f5fe4 of _0x262093['vulns']){_0x32cbf9[_0x25e02c(0x157)]({'file':_0x25e02c(0xf7),'line':0x1,'column':0x1,'severity':this['mapPipAuditSeverity'](_0x2f5fe4['severity']),'rule':_0x2f5fe4['id'],'message':_0x262093['name']+':\x20'+(_0x2f5fe4['description']||_0x25e02c(0x177)),'category':_0x25e02c(0xfe),'scanner':'pip-audit','package':_0x262093[_0x25e02c(0x178)],'vulnerableVersion':_0x262093['version'],'fixedVersions':_0x2f5fe4['fix_versions'],'references':_0x2f5fe4['aliases']||[]});}}return _0x32cbf9;}[a0_0x43e3be(0x128)](_0x1e6493){const _0x290767=a0_0x43e3be,_0x53257f=a0_0x2ab5bc['extname'](_0x1e6493)[_0x290767(0x123)](),_0x1506e0={'.js':_0x290767(0x134),'.jsx':'javascript','.mjs':_0x290767(0x134),'.cjs':'javascript','.ts':'typescript','.tsx':_0x290767(0x138),'.py':_0x290767(0x161)};return _0x1506e0[_0x53257f]||null;}[a0_0x43e3be(0xff)](_0x4b5a88){const _0x10c81d=a0_0x43e3be,_0x55f019=[/\.test\./,/\.spec\./,/__tests__\//,/\/tests?\//,/\.test$/,/\.spec$/];return _0x55f019[_0x10c81d(0x173)](_0x4411c2=>_0x4411c2['test'](_0x4b5a88));}[a0_0x43e3be(0x13a)](_0x4c3c0b,_0x1f137a){const _0x5186db=a0_0x43e3be;if(_0x1f137a==='javascript'||_0x1f137a===_0x5186db(0x138))return _0x4c3c0b['semgrep']||_0x4c3c0b[_0x5186db(0x16c)];if(_0x1f137a===_0x5186db(0x161))return _0x4c3c0b[_0x5186db(0x12a)]||_0x4c3c0b[_0x5186db(0x155)];return![];}['normalizeResults'](_0x5c60cc){const _0x33f78e=a0_0x43e3be;return _0x5c60cc[_0x33f78e(0x14b)](_0x49127e=>({'file':_0x49127e['file'],'line':_0x49127e[_0x33f78e(0x174)]||0x1,'column':_0x49127e['column']||0x1,'severity':_0x49127e['severity']||STATIC_ANALYSIS['SEVERITY']['WARNING'],'rule':_0x49127e['rule']||'unknown','message':_0x49127e[_0x33f78e(0x126)]||_0x33f78e(0x175),'category':_0x33f78e(0xfe),'scanner':_0x49127e[_0x33f78e(0x124)],'cwe':_0x49127e['cwe']||null,'owasp':_0x49127e[_0x33f78e(0x17a)]||null,'confidence':_0x49127e['confidence']||null,'fixable':_0x49127e[_0x33f78e(0x144)]||![],'remediation':_0x49127e[_0x33f78e(0x135)]||_0x49127e['moreInfo']||null,'references':_0x49127e['references']||[],'package':_0x49127e['package']||null}));}['mapSemgrepSeverity'](_0x3ea8e4){const _0x1f19d6=a0_0x43e3be,_0x507942={'ERROR':STATIC_ANALYSIS['SEVERITY']['CRITICAL'],'WARNING':STATIC_ANALYSIS['SEVERITY'][_0x1f19d6(0x122)],'INFO':STATIC_ANALYSIS[_0x1f19d6(0x166)]['WARNING']};return _0x507942[_0x3ea8e4?.['toUpperCase']()]||STATIC_ANALYSIS[_0x1f19d6(0x166)][_0x1f19d6(0x13d)];}[a0_0x43e3be(0x105)](_0x46d685){const _0x449d25=a0_0x43e3be,_0x31bc72={'HIGH':STATIC_ANALYSIS['SEVERITY']['CRITICAL'],'MEDIUM':STATIC_ANALYSIS[_0x449d25(0x166)][_0x449d25(0x122)],'LOW':STATIC_ANALYSIS['SEVERITY'][_0x449d25(0x13d)]};return _0x31bc72[_0x46d685?.['toUpperCase']()]||STATIC_ANALYSIS['SEVERITY'][_0x449d25(0x13d)];}['mapESLintSeverity'](_0x49ade0){const _0x5a4c12=a0_0x43e3be;return _0x49ade0===0x2?STATIC_ANALYSIS[_0x5a4c12(0x166)][_0x5a4c12(0x122)]:STATIC_ANALYSIS['SEVERITY'][_0x5a4c12(0x13d)];}['mapNpmSeverity'](_0x499269){const _0xfef57f=a0_0x43e3be,_0xbaee8f={'critical':STATIC_ANALYSIS['SEVERITY'][_0xfef57f(0x130)],'high':STATIC_ANALYSIS[_0xfef57f(0x166)][_0xfef57f(0x130)],'moderate':STATIC_ANALYSIS['SEVERITY']['ERROR'],'low':STATIC_ANALYSIS['SEVERITY']['WARNING'],'info':STATIC_ANALYSIS[_0xfef57f(0x166)][_0xfef57f(0x14e)]};return _0xbaee8f[_0x499269?.[_0xfef57f(0x123)]()]||STATIC_ANALYSIS['SEVERITY']['WARNING'];}[a0_0x43e3be(0xf9)](_0x12756d){const _0x15a397=a0_0x43e3be;if(!_0x12756d)return STATIC_ANALYSIS['SEVERITY']['ERROR'];const _0x35a6f9={'critical':STATIC_ANALYSIS[_0x15a397(0x166)][_0x15a397(0x130)],'high':STATIC_ANALYSIS['SEVERITY'][_0x15a397(0x130)],'medium':STATIC_ANALYSIS['SEVERITY'][_0x15a397(0x122)],'low':STATIC_ANALYSIS['SEVERITY'][_0x15a397(0x13d)]};return _0x35a6f9[_0x12756d?.[_0x15a397(0x123)]()]||STATIC_ANALYSIS['SEVERITY'][_0x15a397(0x122)];}async['getScannerStatus'](){const _0xf40417=a0_0x43e3be,_0xf75526=await this['detectAvailableScanners']();return{'scanners':_0xf75526,'recommendations':this[_0xf40417(0x149)](_0xf75526)};}[a0_0x43e3be(0x149)](_0x457603){const _0x58d5ae=a0_0x43e3be,_0x341e10=[];return!_0x457603['semgrep']&&_0x341e10['push']({'scanner':'Semgrep','reason':'Multi-language\x20SAST\x20with\x20extensive\x20security\x20rules','install':_0x58d5ae(0x147),'priority':_0x58d5ae(0x163)}),!_0x457603['bandit']&&_0x341e10['push']({'scanner':_0x58d5ae(0xfa),'reason':_0x58d5ae(0x11f),'install':_0x58d5ae(0x146),'priority':'medium'}),!_0x457603[_0x58d5ae(0x16c)]&&_0x341e10[_0x58d5ae(0x157)]({'scanner':'eslint-plugin-security','reason':'JavaScript/TypeScript\x20security\x20rules','install':_0x58d5ae(0x10c),'priority':'medium'}),!_0x457603[_0x58d5ae(0x125)]&&_0x341e10[_0x58d5ae(0x157)]({'scanner':'pip-audit','reason':_0x58d5ae(0x171),'install':'pip\x20install\x20pip-audit','priority':_0x58d5ae(0x118)}),_0x341e10;}}export default SecurityAnalyzer;function a0_0x249a(){const _0x36e4ab=['D2fYBG','Bw9KDwXL','v0fstKLorW','BNbTigf1zgL0igf2ywLSywjSzq','Bgf0zxn0','DxjS','qMfUzgL0ihnJyw4GzMfPBgvK','DNvSBNm','CgfYC2vfu0XPBNrszxn1BhrZ','zML4ywjSzq','zxnSAw50lxbSDwDPBI1Zzwn1CML0EsbKzxrLy3rLza','CgLWigLUC3rHBgWGyMfUzgL0','CgLWigLUC3rHBgWGC2vTz3jLCcbpuIb1C2uGrg9JA2vYoIbKB2nRzxiGChvSBcbYzxr1CM50B2nVCNaVC2vTz3jLCa','u2TPChbPBMCGDgvZDcbMAwXLigzVCIbZzwn1CML0EsbZy2fU','z2v0sw5ZDgfSBfjLy29TBwvUzgf0Aw9UCW','AM9PBG','BwfW','BNbTigf1zgL0ic0TANnVBG','BNbTlwf1zgL0','su5gtW','mtm3ndCYvu1KBM1Q','mte1wgveEeL3','lNnJyw5UzxjZ','Bw9Yzv9PBMzV','yw5HBhL6zq','y3zL','C2vTz3jLCa','tM8GC2vJDxjPDhKGC2nHBM5LCNmGyxzHAwXHyMXLigzVCIbSyw5NDwfNzq','ChvZAa','q1Dflq','u2vTz3jLCcbZy2fUigzHAwXLza','yxzHAwXHyMXLu2nHBM5LCNm','y3zZCW','qxzHAwXHyMXL','C291CMnL','rMfPBgvKihrVihbHCNnLig5WBsbHDwrPDcbVDxrWDxq','DMLH','CgLWlwf1zgL0ig5VDcbHDMfPBgfIBgu','ChL0Ag9U','y2HLy2TFAwq','AgLNAa','DNvSBMvYywjPBgL0AwvZ','BgLUzxm','u0vwrvjjvfK','zgvIDwC','CgfJA2fNzs5QC29U','Bg9Nz2vY','BwfWrvnmAw50u2v2zxjPDhK','C2vTz3jLCcaTlwnVBMzPzZ1HDxrVic0TANnVBIaI','zxnSAw50u2vJDxjPDhK','mteWotK4nKzSD1PhyW','otblzhzRqNO','DgL0Bgu','CgLWlwf1zgL0igrLDgvJDgvK','uhL0Ag9UigrLCgvUzgvUy3KGDNvSBMvYywjPBgL0EsbZy2fUBMvY','mta3nJeYEvnwtxnr','C29Tzq','BgLUzq','u2vJDxjPDhKGAxnZDwuGzgv0zwn0zwq','C3rHCNrZv2L0Aa','u2vJDxjPDhKGDNvSBMvYywjPBgL0Eq','BMfTzq','BNbTic0TDMvYC2LVBG','B3DHC3a','zw50CMLLCW','CMvXDwLYzw1LBNrZlNr4Da','CNvSzuLK','BwfWugLWqxvKAxrtzxzLCML0Eq','qMfUzgL0','CNvUu2vTz3jLCa','CNvUrvnmAw50u2vJDxjPDhK','ntG3nZy2s2z0AxzR','C2vJDxjPDhK','Axnuzxn0rMLSzq','y3DK','mte3svnbEvnZ','m29gB3npAW','C3rKB3v0','zgvWzw5Kzw5JAwvZ','BwfWqMfUzgL0u2v2zxjPDhK','Bwv0ywrHDge','CNvUugLWqxvKAxq','AxnZDwvFDgv4Da','tM8GCMvXDwLYzw1LBNrZlNr4DcbMB3vUzcWGC2TPChbPBMCGCgLWlwf1zgL0','CMvZDwX0CW','zgLYBMfTzq','BNbTigLUC3rHBgWGls1ZyxzLlwrLDIbLC2XPBNqTCgX1z2LUlxnLy3vYAxr5','mtrOBgjSqM8','zML4','CgfYC2vqAxbbDwrPDfjLC3vSDhm','C2v2zxjPDhK','zxjYB3i','Bg9JywXty2fUBMvYrgLY','y29Sx29MzNnLDa','ndy1nZa0EeLbvK1m','zML4qxzHAwXHyMXL','CgfYC2voCg1bDwrPDfjLC3vSDhm','CNvUtNbTqxvKAxq','Bg93','C2vJDxjPDhKV','BgLUDfrLEhq','mta2odK5nMzlu2TwEG','u2vTz3jLCcbZy2fUBMvYigrLDgvJDgvKicHZExn0zw0P','zxnSAw50lxbSDwDPBI1Zzwn1CML0EsbUB3qGyxzHAwXHyMXL','CgfYC2vtzw1NCMvWuMvZDwX0CW','uhL0Ag9UihnLy3vYAxr5ihnJyw5Uzxi','C2nHBM5LCKnHy2HL','CgfYC2u','rvjst1i','Dg9mB3DLCKnHC2u','C2nHBM5LCG','CgLWqxvKAxq','BwvZC2fNzq','nJKYmZGZmgnmr292Aa','zgv0zwn0tgfUz3vHz2u','zxH0CMe','yMfUzgL0','mtf1Dwffrgq','AxnbCNjHEq','AxnZDwvFy3DL','zgv0zwn0qxzHAwXHyMXLu2nHBM5LCNm','BgvUz3rO','q1jjveLdquW','C2TPCfrLC3rgAwXLCW','BgLUzv9UDw1Izxi','BwvZC2fNzxm','AMf2yxnJCMLWDa','CMvTzwrPyxrPB24','CgfYC2vcyw5KAxrszxn1BhrZ','ywnJzxnZ','DhLWzxnJCMLWDa','CMfUz2u','AgfZu2nHBM5LCNngB3jmyw5NDwfNzq'];a0_0x249a=function(){return _0x36e4ab;};return a0_0x249a();}
1
+ const a0_0x51e380=a0_0x4ea2;function a0_0x4ea2(_0x31c304,_0x1875af){_0x31c304=_0x31c304-0x1df;const _0x3b9ad8=a0_0x3b9a();let _0x4ea224=_0x3b9ad8[_0x31c304];if(a0_0x4ea2['vDBreR']===undefined){var _0x13312b=function(_0x21b34c){const _0x1a7219='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x36f659='',_0x2b9d52='';for(let _0x2d20ba=0x0,_0x1db417,_0xa065b0,_0x1fca68=0x0;_0xa065b0=_0x21b34c['charAt'](_0x1fca68++);~_0xa065b0&&(_0x1db417=_0x2d20ba%0x4?_0x1db417*0x40+_0xa065b0:_0xa065b0,_0x2d20ba++%0x4)?_0x36f659+=String['fromCharCode'](0xff&_0x1db417>>(-0x2*_0x2d20ba&0x6)):0x0){_0xa065b0=_0x1a7219['indexOf'](_0xa065b0);}for(let _0x408553=0x0,_0x538a67=_0x36f659['length'];_0x408553<_0x538a67;_0x408553++){_0x2b9d52+='%'+('00'+_0x36f659['charCodeAt'](_0x408553)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2b9d52);};a0_0x4ea2['NOlpRO']=_0x13312b,a0_0x4ea2['nVtiDY']={},a0_0x4ea2['vDBreR']=!![];}const _0x1a0210=_0x3b9ad8[0x0],_0x43adc1=_0x31c304+_0x1a0210,_0x40d49d=a0_0x4ea2['nVtiDY'][_0x43adc1];return!_0x40d49d?(_0x4ea224=a0_0x4ea2['NOlpRO'](_0x4ea224),a0_0x4ea2['nVtiDY'][_0x43adc1]=_0x4ea224):_0x4ea224=_0x40d49d,_0x4ea224;}function a0_0x3b9a(){const _0x1d4cc2=['zxjYB3i','BM9YBwfSAxPLuMvZDwX0CW','C2v2zxjPDhK','AMf2yxnJCMLWDa','C3rHCNq','zgvIDwC','y3DL','yw5HBhL6zvbYB2PLy3q','C2vTz3jLCcaTlxzLCNnPB24','rMfPBgvKihrVihbHCNnLiejHBMrPDcbVDxrWDxq','zgvWzw5Kzw5JAwvZ','CgfYC2vtzw1NCMvWuMvZDwX0CW','mJm2odC0nKfIu0DnAq','BgLUzq','mty4ndC4mwDIA1j6qq','BMfTzq','DhLWzxnJCMLWDa','CgfJA2fNzq','ChvZAa','C2vJDxjPDhK','CNvUtNbTqxvKAxq','AM9PBG','z2v0sw5ZDgfSBfjLy29TBwvUzgf0Aw9UCW','sMf2yvnJCMLWDc9uExbLu2nYAxb0ihnLy3vYAxr5ihj1BgvZ','D2fYBG','CgLWigLUC3rHBgWGCgLWlwf1zgL0','BgvUz3rO','DxjS','CgfYC2u','yMfUzgL0','zxnSAw50lxbSDwDPBI1Zzwn1CML0Eq','BwfWugLWqxvKAxrtzxzLCML0Eq','zxH0CMe','u2vJDxjPDhKGDNvSBMvYywjPBgL0Eq','u2vTz3jLCcbUB3qGyxzHAwXHyMXL','zgv0zwn0tgfUz3vHz2u','BwfWu2vTz3jLCfnLDMvYAxr5','CNvUqMfUzgL0','C3rKB3v0','zML4x3zLCNnPB25Z','Axnuzxn0rMLSzq','lNnJyw5UzxjZ','ywnJzxnZ','rMfPBgvKihrVihbHCNnLifnLBwDYzxaGB3v0Chv0','AgfZu2nHBM5LCNngB3jmyw5NDwfNzq','mJGYntv5tNLXBwu','Dg9vChbLCKnHC2u','Bg93','BwfWtNbTu2v2zxjPDhK','Bg9JywXty2fUBMvYrgLY','q1jjveLdquW','BNbTigLUC3rHBgWGls1ZyxzLlwrLDIbLC2XPBNqTCgX1z2LUlxnLy3vYAxr5','DMvYC2LVBG','mty1nJKYngPqqvnwrW','AgLNAa','Bg9Nz2vY','C2nHBM5LCKnHy2HL','u0vwrvjjvfK','ohfsr0TktW','Bw9KDwXL','y3zZCW','Bgf0zxn0','zgLYBMfTzq','ChL0Ag9U','BwvKAxvT','txvSDgKTBgfUz3vHz2uGu0ftvcb3AxrOigv4DgvUC2L2zsbZzwn1CML0EsbYDwXLCW','C2vJDxjPDhKV','mtC3nJCYtMXIyLvd','odiYyLfrEfHR','CMvZDwX0CW','y3DK','zxnSAw50u2vJDxjPDhK','qMfUzgL0ihnJyw4GzMfPBgvK','zxnSAw50lxbSDwDPBI1Zzwn1CML0EsbKzxrLy3rLza','zgvZy3jPChrPB24','C2vTz3jLCa','Dg9mB3DLCKnHC2u','B3DHC3a','mtiWodi5nLvpqvbJwG','CMfUz2u','CgfYC2vcyw5KAxrszxn1BhrZ','Dw5RBM93BG','y29UzMLKzw5Jzq','DNvSBMvYywjPBgL0AwvZ','DMLH','C29Tzq','BgLUzv9UDw1Izxi','rvjst1i','BNbTlwf1zgL0','zxH0BMfTzq','qxzHAwXHyMXL','Bw9YzuLUzM8','uhL0Ag9UihnLy3vYAxr5ihnJyw5Uzxi','CNvUu2vTz3jLCa','zMLSzq','C2TPCfrLC3rgAwXLCW','tM8GCMvXDwLYzw1LBNrZlNr4DcbMB3vUzcWGC2TPChbPBMCGCgLWlwf1zgL0','BNbTig5VDcbHDMfPBgfIBgu','CgLWlwf1zgL0','BwfWqMfUzgL0u2v2zxjPDhK','CgfYC2vfu0XPBNrszxn1BhrZ','yMfUzgL0ic0TDMvYC2LVBG','BwvZC2fNzq','qMfUzgL0','CgLWlwf1zgL0ic0TzM9YBwf0igPZB24','zgv0zwn0qxzHAwXHyMXLu2nHBM5LCNm','zML4ywjSzq','yw5HBhL6zq','qMfUzgL0ihnJyw5UzxiGzgv0zwn0zwq','CMvMzxjLBMnLCW','v0fstKLorW','AxnZDwvFy29UzMLKzw5Jzq','Bwv0ywrHDge','AxnbCNjHEq','y2HLy2TFAwq','BNbTigf1zgL0igf2ywLSywjSzq','ywr2AxnVCNK','u2vJDxjPDhKGAxnZDwuGzgv0zwn0zwq','y3zL','CNvUugLWqxvKAxq','CgLWqxvKAxq','u2vTz3jLCcbZy2fUigzHAwXLza','CgfYC2voCg1bDwrPDfjLC3vSDhm','mtu2ndm3ngvHruTnvW','BwfWrvnmAw50u2v2zxjPDhK','qMfUzgL0ig5VDcbHDMfPBgfIBgu'];a0_0x3b9a=function(){return _0x1d4cc2;};return a0_0x3b9a();}(function(_0x248e3d,_0x1d4471){const _0x5aebaa=a0_0x4ea2,_0x1471d6=_0x248e3d();while(!![]){try{const _0x26700f=parseInt(_0x5aebaa(0x239))/0x1+-parseInt(_0x5aebaa(0x1f3))/0x2+-parseInt(_0x5aebaa(0x22b))/0x3+parseInt(_0x5aebaa(0x244))/0x4+-parseInt(_0x5aebaa(0x223))/0x5*(-parseInt(_0x5aebaa(0x23a))/0x6)+parseInt(_0x5aebaa(0x204))/0x7+parseInt(_0x5aebaa(0x230))/0x8*(parseInt(_0x5aebaa(0x202))/0x9);if(_0x26700f===_0x1d4471)break;else _0x1471d6['push'](_0x1471d6['shift']());}catch(_0x481803){_0x1471d6['push'](_0x1471d6['shift']());}}}(a0_0x3b9a,0x67593));import{exec}from'child_process';import{promisify}from'util';import a0_0x36f659 from'path';import a0_0x2b9d52 from'fs/promises';import{STATIC_ANALYSIS}from'../utilities/constants.js';const execAsync=promisify(exec);class SecurityAnalyzer{constructor(_0x2d20ba=null){const _0x1bc22c=a0_0x4ea2;this[_0x1bc22c(0x22d)]=_0x2d20ba,this['availableScanners']=null,this[_0x1bc22c(0x22e)]=new Map(),this[_0x1bc22c(0x227)]=a0_0x36f659[_0x1bc22c(0x20b)](process[_0x1bc22c(0x23c)](),'node_modules',_0x1bc22c(0x21f));}async['detectAvailableScanners'](){const _0x3f6505=a0_0x4ea2;if(this['availableScanners']!==null)return this['availableScanners'];const _0x1db417={'semgrep':![],'bandit':![],'npmAudit':![],'pipAudit':![],'eslintSecurity':![]};try{const _0xa065b0=a0_0x36f659[_0x3f6505(0x20b)](this['localScannerDir'],_0x3f6505(0x241));try{await a0_0x2b9d52[_0x3f6505(0x220)](_0xa065b0),_0x1db417['semgrep']=!![],this['logger']?.[_0x3f6505(0x1fb)]('Semgrep\x20scanner\x20detected\x20(local)');}catch{await execAsync(_0x3f6505(0x1fe),{'timeout':0x1388}),_0x1db417[_0x3f6505(0x241)]=!![],this['logger']?.['debug']('Semgrep\x20scanner\x20detected\x20(system)');}}catch(_0x1fca68){this[_0x3f6505(0x22d)]?.['debug'](_0x3f6505(0x218),{'error':_0x1fca68['message']});}try{await execAsync(_0x3f6505(0x25b),{'timeout':0x1388}),_0x1db417[_0x3f6505(0x213)]=!![],this[_0x3f6505(0x22d)]?.['debug'](_0x3f6505(0x1e4));}catch(_0x408553){this['logger']?.[_0x3f6505(0x1fb)](_0x3f6505(0x1f5),{'error':_0x408553['message']});}try{await execAsync('npm\x20--version',{'timeout':0x1388}),_0x1db417['npmAudit']=!![],this['logger']?.['debug'](_0x3f6505(0x1eb));}catch(_0x538a67){this[_0x3f6505(0x22d)]?.['debug'](_0x3f6505(0x257),{'error':_0x538a67[_0x3f6505(0x25c)]});}try{await execAsync('pip-audit\x20--version',{'timeout':0x1388}),_0x1db417['pipAudit']=!![],this[_0x3f6505(0x22d)]?.['debug']('pip-audit\x20detected');}catch(_0x5a21c6){this[_0x3f6505(0x22d)]?.['debug']('pip-audit\x20not\x20available',{'error':_0x5a21c6[_0x3f6505(0x25c)]});}try{const _0x3fafe4=await execAsync('npm\x20list\x20eslint-plugin-security\x20--depth=0\x20--json',{'timeout':0x1388,'cwd':process['cwd']()}),_0x1dcee6=JSON['parse'](_0x3fafe4[_0x3f6505(0x21c)]);_0x1dcee6[_0x3f6505(0x200)]&&_0x1dcee6['dependencies'][_0x3f6505(0x214)]&&(_0x1db417['eslintSecurity']=!![],this['logger']?.[_0x3f6505(0x1fb)](_0x3f6505(0x23f)));}catch(_0x693efa){this['logger']?.[_0x3f6505(0x1fb)]('eslint-plugin-security\x20not\x20available',{'error':_0x693efa['message']});}return this['availableScanners']=_0x1db417,_0x1db417;}async[a0_0x51e380(0x1e3)](_0x2556c5,_0x129d19,_0x4bce85={}){const _0x4e98cd=a0_0x51e380,_0x4652b1=[],_0x43caa4=await this['detectAvailableScanners'](),_0x274e49=this[_0x4e98cd(0x219)](_0x2556c5);if(_0x4bce85[_0x4e98cd(0x255)]!==![]&&this[_0x4e98cd(0x21e)](_0x2556c5))return this[_0x4e98cd(0x22d)]?.[_0x4e98cd(0x1fb)]('Skipping\x20test\x20file\x20for\x20security\x20scan',{'filePath':_0x2556c5}),[];if(_0x274e49===_0x4e98cd(0x1f9)||_0x274e49===_0x4e98cd(0x206)){if(_0x43caa4[_0x4e98cd(0x241)]){const _0x53812f=await this[_0x4e98cd(0x253)](_0x2556c5,[_0x274e49],_0x4bce85);_0x4652b1[_0x4e98cd(0x208)](..._0x53812f);}if(_0x43caa4[_0x4e98cd(0x23d)]){const _0x1dee9a=await this['runESLintSecurity'](_0x2556c5,_0x129d19,_0x4bce85);_0x4652b1['push'](..._0x1dee9a);}}if(_0x274e49===_0x4e98cd(0x235)){if(_0x43caa4['bandit']){const _0xec0659=await this[_0x4e98cd(0x21b)](_0x2556c5,_0x4bce85);_0x4652b1[_0x4e98cd(0x208)](..._0xec0659);}if(_0x43caa4['semgrep']){const _0x3e3606=await this[_0x4e98cd(0x253)](_0x2556c5,[_0x274e49],_0x4bce85);_0x4652b1[_0x4e98cd(0x208)](..._0x3e3606);}}return _0x4652b1[_0x4e98cd(0x210)]===0x0&&!this['hasScannersForLanguage'](_0x43caa4,_0x274e49)&&this[_0x4e98cd(0x22d)]?.[_0x4e98cd(0x20e)]('No\x20security\x20scanners\x20available\x20for\x20language',{'language':_0x274e49,'filePath':_0x2556c5}),this[_0x4e98cd(0x1f7)](_0x4652b1);}async[a0_0x51e380(0x1fd)](_0x18574a,_0x19bbe2,_0x36d6be={}){const _0x459565=a0_0x51e380,_0x58d80c=[],_0x2153cb=await this[_0x459565(0x1e1)]();if(_0x19bbe2===_0x459565(0x1f9)||_0x19bbe2===_0x459565(0x206)){if(_0x2153cb['npmAudit']){const _0x506d49=await this[_0x459565(0x20a)](_0x18574a,_0x36d6be);_0x58d80c[_0x459565(0x208)](..._0x506d49);}}if(_0x19bbe2==='python'){if(_0x2153cb['pipAudit']){const _0x2fe642=await this[_0x459565(0x1ef)](_0x18574a,_0x36d6be);_0x58d80c['push'](..._0x2fe642);}}return this['normalizeResults'](_0x58d80c);}async[a0_0x51e380(0x253)](_0x220d42,_0x2dbbe7,_0x315f95={}){const _0x33f28a=a0_0x51e380;try{const _0x1f6aeb=a0_0x36f659[_0x33f28a(0x234)](_0x220d42),_0x20061f=await execAsync('semgrep\x20--config=auto\x20--json\x20\x22'+_0x220d42+'\x22',{'maxBuffer':0xa*0x400*0x400,'timeout':0x7530,'cwd':_0x1f6aeb}),_0x3d65ff=JSON['parse'](_0x20061f[_0x33f28a(0x21c)]);return this[_0x33f28a(0x201)](_0x3d65ff);}catch(_0x2bc980){if(_0x2bc980['stdout'])try{const _0x2d7ffe=JSON[_0x33f28a(0x212)](_0x2bc980[_0x33f28a(0x21c)]);return this['parseSemgrepResults'](_0x2d7ffe);}catch(_0x79782e){this['logger']?.['error'](_0x33f28a(0x221),{'error':_0x79782e[_0x33f28a(0x25c)],'stdout':_0x2bc980[_0x33f28a(0x21c)]});}return this[_0x33f28a(0x22d)]?.['error'](_0x33f28a(0x1f1),{'error':_0x2bc980['message']}),[];}}['parseSemgrepResults'](_0x255e2f){const _0x3523af=a0_0x51e380,_0x535af8=[];if(_0x255e2f[_0x3523af(0x23b)]&&Array[_0x3523af(0x1e9)](_0x255e2f[_0x3523af(0x23b)]))for(const _0x3e05f0 of _0x255e2f['results']){_0x535af8['push']({'file':_0x3e05f0['path'],'line':_0x3e05f0[_0x3523af(0x1fa)]?.[_0x3523af(0x203)]||0x1,'column':_0x3e05f0['start']?.['col']||0x1,'severity':this['mapSemgrepSeverity'](_0x3e05f0['extra']?.[_0x3523af(0x1f8)]),'rule':_0x3e05f0[_0x3523af(0x1ea)],'message':_0x3e05f0[_0x3523af(0x216)]?.[_0x3523af(0x25c)]||_0x3e05f0['extra']?.['lines']||_0x3523af(0x1ed),'category':'security','scanner':'semgrep','cwe':_0x3e05f0['extra']?.[_0x3523af(0x1e8)]?.[_0x3523af(0x1fc)],'owasp':_0x3e05f0['extra']?.[_0x3523af(0x1e8)]?.[_0x3523af(0x243)],'confidence':_0x3e05f0['extra']?.['metadata']?.['confidence'],'references':_0x3e05f0[_0x3523af(0x216)]?.[_0x3523af(0x1e8)]?.[_0x3523af(0x1e5)]});}return _0x535af8;}async['runBandit'](_0x5e614e,_0x53b85f={}){const _0x3e05e5=a0_0x51e380;try{const _0x3be196=await execAsync('bandit\x20-f\x20json\x20\x22'+_0x5e614e+'\x22',{'maxBuffer':0xa*0x400*0x400,'timeout':0x7530}),_0x22681a=JSON['parse'](_0x3be196['stdout']);return this[_0x3e05e5(0x246)](_0x22681a);}catch(_0x2e2f1b){if(_0x2e2f1b['stdout'])try{const _0x464207=JSON['parse'](_0x2e2f1b['stdout']);return this[_0x3e05e5(0x246)](_0x464207);}catch(_0x4f1a70){this[_0x3e05e5(0x22d)]?.['error'](_0x3e05e5(0x1ff),{'error':_0x4f1a70['message']});}return this[_0x3e05e5(0x22d)]?.['error'](_0x3e05e5(0x23e),{'error':_0x2e2f1b[_0x3e05e5(0x25c)]}),[];}}['parseBanditResults'](_0x4f2e13){const _0x5e6289=a0_0x51e380,_0x3df862=[];if(_0x4f2e13['results']&&Array[_0x5e6289(0x1e9)](_0x4f2e13[_0x5e6289(0x23b)]))for(const _0x7c3898 of _0x4f2e13[_0x5e6289(0x23b)]){_0x3df862['push']({'file':_0x7c3898['filename'],'line':_0x7c3898[_0x5e6289(0x24c)]||0x1,'column':_0x7c3898['col_offset']||0x1,'severity':this[_0x5e6289(0x259)](_0x7c3898['issue_severity']),'rule':_0x7c3898['test_id'],'message':_0x7c3898['issue_text'],'category':'security','scanner':'bandit','cwe':_0x7c3898['issue_cwe']?.['id']?'CWE-'+_0x7c3898['issue_cwe']['id']:null,'confidence':_0x7c3898[_0x5e6289(0x1e7)],'moreInfo':_0x7c3898['more_info']});}return _0x3df862;}async['runESLintSecurity'](_0x45657c,_0x33914f,_0x2dd32a={}){const _0xde886=a0_0x51e380;try{const {ESLint:_0x60a5d5}=await import('eslint'),_0x2c1216=new _0x60a5d5({'overrideConfig':{'plugins':[_0xde886(0x209)],'extends':['plugin:security/recommended'],'parserOptions':{'ecmaVersion':_0xde886(0x233),'sourceType':_0xde886(0x231)}},'useEslintrc':![]}),_0x2a0e48=await _0x2c1216['lintText'](_0x33914f,{'filePath':_0x45657c});return this['parseESLintResults'](_0x2a0e48,_0x45657c);}catch(_0xa13dde){return this['logger']?.[_0xde886(0x1f6)]('ESLint\x20security\x20scan\x20failed',{'error':_0xa13dde[_0xde886(0x25c)],'filePath':_0x45657c}),[];}}[a0_0x51e380(0x25a)](_0xb15888,_0x348fe9){const _0x543a3a=a0_0x51e380,_0x54180d=[];for(const _0x34ec5 of _0xb15888){if(_0x34ec5['messages']&&Array['isArray'](_0x34ec5['messages']))for(const _0x211728 of _0x34ec5['messages']){_0x211728['ruleId']&&_0x211728['ruleId']['startsWith'](_0x543a3a(0x238))&&_0x54180d['push']({'file':_0x348fe9,'line':_0x211728['line']||0x1,'column':_0x211728['column']||0x1,'severity':this[_0x543a3a(0x1f4)](_0x211728[_0x543a3a(0x1f8)]),'rule':_0x211728['ruleId'],'message':_0x211728[_0x543a3a(0x25c)],'category':'security','scanner':'eslint-security','fixable':_0x211728['fix']!==undefined});}}return _0x54180d;}async[a0_0x51e380(0x20a)](_0x102763,_0x19db90={}){const _0x14b4a5=a0_0x51e380;try{const _0x355926=a0_0x36f659['join'](_0x102763,'package.json');try{await a0_0x2b9d52['access'](_0x355926);}catch{return this['logger']?.[_0x14b4a5(0x1fb)]('No\x20package.json\x20found,\x20skipping\x20npm\x20audit'),[];}const _0x25cca3=await execAsync('npm\x20audit\x20--json',{'cwd':_0x102763,'maxBuffer':0xa*0x400*0x400,'timeout':0xea60}),_0x493202=JSON['parse'](_0x25cca3['stdout']);return this[_0x14b4a5(0x1f2)](_0x493202);}catch(_0x2cb43a){if(_0x2cb43a['stdout'])try{const _0x5c9c4b=JSON[_0x14b4a5(0x212)](_0x2cb43a['stdout']);return this['parseNpmAuditResults'](_0x5c9c4b);}catch(_0x345b41){this[_0x14b4a5(0x22d)]?.[_0x14b4a5(0x1f6)]('Failed\x20to\x20parse\x20npm\x20audit\x20output',{'error':_0x345b41[_0x14b4a5(0x25c)]});}return[];}}[a0_0x51e380(0x1f2)](_0x1d153b){const _0x218bf8=a0_0x51e380,_0x485bf8=[];if(_0x1d153b['vulnerabilities'])for(const [_0x5c215c,_0x41841e]of Object['entries'](_0x1d153b[_0x218bf8(0x249)])){_0x485bf8[_0x218bf8(0x208)]({'file':'package.json','line':0x1,'column':0x1,'severity':this[_0x218bf8(0x226)](_0x41841e['severity']),'rule':'npm-'+(_0x41841e[_0x218bf8(0x24a)][0x0]?.['source']||_0x218bf8(0x1ec)),'message':_0x5c215c+':\x20'+(_0x41841e[_0x218bf8(0x24a)][0x0]?.['title']||'Security\x20vulnerability'),'category':'security','scanner':_0x218bf8(0x24e),'package':_0x5c215c,'vulnerableVersions':_0x41841e[_0x218bf8(0x245)],'patchedVersions':_0x41841e['fixAvailable']?_0x218bf8(0x250):'None','cve':_0x41841e[_0x218bf8(0x24a)][0x0]?.[_0x218bf8(0x1ee)],'cvss':_0x41841e['via'][0x0]?.[_0x218bf8(0x232)],'references':_0x41841e[_0x218bf8(0x24a)][0x0]?.[_0x218bf8(0x211)]?[_0x41841e[_0x218bf8(0x24a)][0x0][_0x218bf8(0x211)]]:[]});}return _0x485bf8;}async[a0_0x51e380(0x1ef)](_0x52f894,_0x535a92={}){const _0x185845=a0_0x51e380;try{const requirementsPath=a0_0x36f659[_0x185845(0x20b)](_0x52f894,'requirements.txt');try{await a0_0x2b9d52[_0x185845(0x220)](requirementsPath);}catch{return this[_0x185845(0x22d)]?.['debug'](_0x185845(0x256)),[];}const _0x3aaedf=await execAsync(_0x185845(0x1e0),{'cwd':_0x52f894,'maxBuffer':0xa*0x400*0x400,'timeout':0xea60}),_0x436b94=JSON['parse'](_0x3aaedf[_0x185845(0x21c)]);return this['parsePipAuditResults'](_0x436b94);}catch(_0x3747fb){if(_0x3747fb[_0x185845(0x21c)])try{const _0x44da56=JSON['parse'](_0x3747fb[_0x185845(0x21c)]);return this['parsePipAuditResults'](_0x44da56);}catch(_0x24b60d){this['logger']?.['error']('Failed\x20to\x20parse\x20pip-audit\x20output',{'error':_0x24b60d[_0x185845(0x25c)]});}return[];}}['parsePipAuditResults'](_0x36eab7){const _0x1ce68f=a0_0x51e380,_0x260a49=[];if(_0x36eab7[_0x1ce68f(0x200)]&&Array['isArray'](_0x36eab7['dependencies']))for(const _0x496fa1 of _0x36eab7['dependencies']){if(_0x496fa1['vulns']&&Array[_0x1ce68f(0x1e9)](_0x496fa1['vulns']))for(const _0x292725 of _0x496fa1['vulns']){_0x260a49['push']({'file':'requirements.txt','line':0x1,'column':0x1,'severity':this[_0x1ce68f(0x215)](_0x292725['severity']),'rule':_0x292725['id'],'message':_0x496fa1[_0x1ce68f(0x205)]+':\x20'+(_0x292725[_0x1ce68f(0x240)]||_0x1ce68f(0x217)),'category':'security','scanner':_0x1ce68f(0x258),'package':_0x496fa1[_0x1ce68f(0x205)],'vulnerableVersion':_0x496fa1[_0x1ce68f(0x22a)],'fixedVersions':_0x292725[_0x1ce68f(0x21d)],'references':_0x292725['aliases']||[]});}}return _0x260a49;}[a0_0x51e380(0x219)](_0x568356){const _0x32e0c4=a0_0x51e380,_0x3ee385=a0_0x36f659[_0x32e0c4(0x24f)](_0x568356)[_0x32e0c4(0x242)](),_0x303442={'.js':'javascript','.jsx':_0x32e0c4(0x1f9),'.mjs':'javascript','.cjs':'javascript','.ts':_0x32e0c4(0x206),'.tsx':'typescript','.py':'python'};return _0x303442[_0x3ee385]||null;}['isTestFile'](_0x336585){const _0x21b650=a0_0x51e380,_0x3ac404=[/\.test\./,/\.spec\./,/__tests__\//,/\/tests?\//,/\.test$/,/\.spec$/];return _0x3ac404[_0x21b650(0x24b)](_0x39a1be=>_0x39a1be['test'](_0x336585));}[a0_0x51e380(0x222)](_0x179c94,_0xbda199){const _0x4ea00a=a0_0x51e380;if(_0xbda199===_0x4ea00a(0x1f9)||_0xbda199===_0x4ea00a(0x206))return _0x179c94['semgrep']||_0x179c94[_0x4ea00a(0x23d)];if(_0xbda199==='python')return _0x179c94['bandit']||_0x179c94['semgrep'];return![];}['normalizeResults'](_0x2c9318){const _0x24db9f=a0_0x51e380;return _0x2c9318['map'](_0x1585e9=>({'file':_0x1585e9[_0x24db9f(0x254)],'line':_0x1585e9[_0x24db9f(0x203)]||0x1,'column':_0x1585e9['column']||0x1,'severity':_0x1585e9[_0x24db9f(0x1f8)]||STATIC_ANALYSIS['SEVERITY'][_0x24db9f(0x1e6)],'rule':_0x1585e9['rule']||_0x24db9f(0x247),'message':_0x1585e9[_0x24db9f(0x25c)]||_0x24db9f(0x1ed),'category':_0x24db9f(0x209),'scanner':_0x1585e9['scanner'],'cwe':_0x1585e9['cwe']||null,'owasp':_0x1585e9[_0x24db9f(0x243)]||null,'confidence':_0x1585e9[_0x24db9f(0x248)]||null,'fixable':_0x1585e9[_0x24db9f(0x1e2)]||![],'remediation':_0x1585e9['remediation']||_0x1585e9[_0x24db9f(0x251)]||null,'references':_0x1585e9['references']||[],'package':_0x1585e9[_0x24db9f(0x207)]||null}));}[a0_0x51e380(0x21a)](_0x7eeabc){const _0x205b38=a0_0x51e380,_0x3be576={'ERROR':STATIC_ANALYSIS[_0x205b38(0x22f)]['CRITICAL'],'WARNING':STATIC_ANALYSIS[_0x205b38(0x22f)][_0x205b38(0x24d)],'INFO':STATIC_ANALYSIS[_0x205b38(0x22f)][_0x205b38(0x1e6)]};return _0x3be576[_0x7eeabc?.[_0x205b38(0x224)]()]||STATIC_ANALYSIS[_0x205b38(0x22f)]['WARNING'];}[a0_0x51e380(0x259)](_0x3f865c){const _0x3b38a3=a0_0x51e380,_0xba0692={'HIGH':STATIC_ANALYSIS['SEVERITY']['CRITICAL'],'MEDIUM':STATIC_ANALYSIS[_0x3b38a3(0x22f)][_0x3b38a3(0x24d)],'LOW':STATIC_ANALYSIS[_0x3b38a3(0x22f)][_0x3b38a3(0x1e6)]};return _0xba0692[_0x3f865c?.[_0x3b38a3(0x224)]()]||STATIC_ANALYSIS[_0x3b38a3(0x22f)][_0x3b38a3(0x1e6)];}['mapESLintSeverity'](_0xd2a997){const _0x258d57=a0_0x51e380;return _0xd2a997===0x2?STATIC_ANALYSIS['SEVERITY'][_0x258d57(0x24d)]:STATIC_ANALYSIS['SEVERITY']['WARNING'];}[a0_0x51e380(0x226)](_0x1cf001){const _0x5efea4=a0_0x51e380,_0x3ce3f9={'critical':STATIC_ANALYSIS['SEVERITY']['CRITICAL'],'high':STATIC_ANALYSIS[_0x5efea4(0x22f)]['CRITICAL'],'moderate':STATIC_ANALYSIS['SEVERITY']['ERROR'],'low':STATIC_ANALYSIS[_0x5efea4(0x22f)][_0x5efea4(0x1e6)],'info':STATIC_ANALYSIS[_0x5efea4(0x22f)]['INFO']};return _0x3ce3f9[_0x1cf001?.[_0x5efea4(0x242)]()]||STATIC_ANALYSIS[_0x5efea4(0x22f)][_0x5efea4(0x1e6)];}[a0_0x51e380(0x215)](_0x17399a){const _0x38bb7f=a0_0x51e380;if(!_0x17399a)return STATIC_ANALYSIS[_0x38bb7f(0x22f)]['ERROR'];const _0x44cec5={'critical':STATIC_ANALYSIS['SEVERITY'][_0x38bb7f(0x228)],'high':STATIC_ANALYSIS[_0x38bb7f(0x22f)]['CRITICAL'],'medium':STATIC_ANALYSIS[_0x38bb7f(0x22f)]['ERROR'],'low':STATIC_ANALYSIS['SEVERITY'][_0x38bb7f(0x1e6)]};return _0x44cec5[_0x17399a?.[_0x38bb7f(0x242)]()]||STATIC_ANALYSIS[_0x38bb7f(0x22f)]['ERROR'];}async['getScannerStatus'](){const _0xc27721=a0_0x51e380,_0x4f6d46=await this[_0xc27721(0x1e1)]();return{'scanners':_0x4f6d46,'recommendations':this[_0xc27721(0x20c)](_0x4f6d46)};}[a0_0x51e380(0x20c)](_0x7177e9){const _0x306de0=a0_0x51e380,_0x3b1d1c=[];return!_0x7177e9['semgrep']&&_0x3b1d1c[_0x306de0(0x208)]({'scanner':'Semgrep','reason':_0x306de0(0x237),'install':'pip\x20install\x20semgrep\x20OR\x20use\x20Docker:\x20docker\x20pull\x20returntocorp/semgrep','priority':_0x306de0(0x22c)}),!_0x7177e9['bandit']&&_0x3b1d1c['push']({'scanner':_0x306de0(0x1df),'reason':_0x306de0(0x252),'install':'pip\x20install\x20bandit','priority':'medium'}),!_0x7177e9[_0x306de0(0x23d)]&&_0x3b1d1c['push']({'scanner':'eslint-plugin-security','reason':_0x306de0(0x20d),'install':_0x306de0(0x229),'priority':_0x306de0(0x236)}),!_0x7177e9[_0x306de0(0x1f0)]&&_0x3b1d1c['push']({'scanner':_0x306de0(0x258),'reason':'Python\x20dependency\x20vulnerability\x20scanner','install':_0x306de0(0x20f),'priority':_0x306de0(0x225)}),_0x3b1d1c;}}export default SecurityAnalyzer;
@@ -1 +1 @@
1
- (function(_0x22264c,_0x50c3ca){const _0x11305a=a0_0x5db8,_0x9ad5e0=_0x22264c();while(!![]){try{const _0x3828e3=parseInt(_0x11305a(0x197))/0x1+parseInt(_0x11305a(0x176))/0x2*(parseInt(_0x11305a(0x172))/0x3)+-parseInt(_0x11305a(0x19a))/0x4+-parseInt(_0x11305a(0x183))/0x5+-parseInt(_0x11305a(0x186))/0x6*(-parseInt(_0x11305a(0x18a))/0x7)+-parseInt(_0x11305a(0x17a))/0x8+-parseInt(_0x11305a(0x170))/0x9*(parseInt(_0x11305a(0x171))/0xa);if(_0x3828e3===_0x50c3ca)break;else _0x9ad5e0['push'](_0x9ad5e0['shift']());}catch(_0x1cc1f7){_0x9ad5e0['push'](_0x9ad5e0['shift']());}}}(a0_0x3ce9,0x890fe));function a0_0x5db8(_0x46ce6c,_0x1314bc){_0x46ce6c=_0x46ce6c-0x16e;const _0x3ce9f9=a0_0x3ce9();let _0x5db8e7=_0x3ce9f9[_0x46ce6c];if(a0_0x5db8['rJQbME']===undefined){var _0x28f3b5=function(_0x2529fa){const _0x5cbd58='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x14ce2f='',_0x1481b5='';for(let _0x5e4e4a=0x0,_0x42ffbb,_0x28989f,_0x4b216e=0x0;_0x28989f=_0x2529fa['charAt'](_0x4b216e++);~_0x28989f&&(_0x42ffbb=_0x5e4e4a%0x4?_0x42ffbb*0x40+_0x28989f:_0x28989f,_0x5e4e4a++%0x4)?_0x14ce2f+=String['fromCharCode'](0xff&_0x42ffbb>>(-0x2*_0x5e4e4a&0x6)):0x0){_0x28989f=_0x5cbd58['indexOf'](_0x28989f);}for(let _0x4d2b87=0x0,_0x154e34=_0x14ce2f['length'];_0x4d2b87<_0x154e34;_0x4d2b87++){_0x1481b5+='%'+('00'+_0x14ce2f['charCodeAt'](_0x4d2b87)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1481b5);};a0_0x5db8['fZhywc']=_0x28f3b5,a0_0x5db8['tFHFwe']={},a0_0x5db8['rJQbME']=!![];}const _0x4e20c7=_0x3ce9f9[0x0],_0xec0c9d=_0x46ce6c+_0x4e20c7,_0x2e4067=a0_0x5db8['tFHFwe'][_0xec0c9d];return!_0x2e4067?(_0x5db8e7=a0_0x5db8['fZhywc'](_0x5db8e7),a0_0x5db8['tFHFwe'][_0xec0c9d]=_0x5db8e7):_0x5db8e7=_0x2e4067,_0x5db8e7;}import a0_0x14ce2f from'typescript';function a0_0x3ce9(){const _0x556b98=['BwvZC2fNzvrLEhq','CgfYC2veAwfNBM9ZDgLJCW','z2v0tgLUzufUzenOyxjHy3rLCK9Mug9ZAxrPB24','rxjYB3i','rgLHz25VC3rPy0nHDgvNB3j5','q0furuDpuLK','vfLqrq','mZeWndyZmfHWDNDdra','zxjYB3i','Bg9Nz2vY','ndu0oti2nLn0vvLpwq','Dw5RBM93BG','zM9YBwf0rgLHz25VC3rPyW','DhLWzq','n3fMCgjwuW','BgvUz3rO','BwvZC2fNzq','C2v2zxjPDhK','y2f0zwDVCNK','Aw5JBhvKzxm','zgLYBMfTzq','u2nYAxb0vgfYz2v0','y2HHCMfJDgvY','rvnozxH0','zgvIDwC','u0vwrvjjvfK','Aw50zxjMywnL','nJa4mZi4EfnoCe1h','tw9KDwXLuMvZB2X1DgLVBKTPBMq','y2fUBM90igzPBMqGBw9KDwXL','mtuWntmXmKTgzePkwG','u2vTyw50AwmGyw5HBhLZAxmGzw5JB3vUDgvYzwqGzxjYB3i','zMLSzu5HBwu','y3jLyxrLu291CMnLrMLSzq','su1qt1ju','zMLSDgvY','rvjst1i','zMLSzq','y29TCgLSzxjpChrPB25Z','uMvHy3q','mZi0ntq5C3biC2Tm','mJbTshf2uLq','mtaYnKjUCwvJDG','vhLWzvnJCMLWDcbHBMfSExnPCYbJB21WBgv0zwq','zMXHDhrLBKrPywDUB3n0AwnnzxnZywDLvgv4Da','z2v0u2vTyw50AwneAwfNBM9ZDgLJCW','nJa4mNb0su5tEa','tgf0zxn0','ChvZAa','C3rHCNq','nJiWnJiZmMnyrg9fuW','v0fstKLorW'];a0_0x3ce9=function(){return _0x556b98;};return a0_0x3ce9();}import a0_0x1481b5 from'path';import{STATIC_ANALYSIS}from'../utilities/constants.js';class TypeScriptAnalyzer{constructor(_0x5e4e4a=null){const _0x3a5a2d=a0_0x5db8;this[_0x3a5a2d(0x185)]=_0x5e4e4a,this[_0x3a5a2d(0x16e)]={'noEmit':!![],'jsx':a0_0x14ce2f['JsxEmit'][_0x3a5a2d(0x16f)],'target':a0_0x14ce2f[_0x3a5a2d(0x191)][_0x3a5a2d(0x177)],'module':a0_0x14ce2f['ModuleKind'][_0x3a5a2d(0x193)],'moduleResolution':a0_0x14ce2f[_0x3a5a2d(0x198)]['NodeJs'],'esModuleInterop':!![],'skipLibCheck':!![],'strict':!![],'noImplicitAny':!![],'strictNullChecks':!![],'strictFunctionTypes':!![],'allowJs':![]};}async['analyze'](_0x42ffbb,_0x28989f,_0x4b216e={}){const _0x5a6fda=a0_0x5db8;try{const _0x4d2b87=[],_0x154e34=a0_0x14ce2f[_0x5a6fda(0x19d)](_0x42ffbb,_0x28989f,a0_0x14ce2f['ScriptTarget']['Latest'],!![]),_0xf69970=this['getSyntacticDiagnostics'](_0x154e34);_0x4d2b87['push'](..._0xf69970);const _0x84e9ef=await this[_0x5a6fda(0x175)](_0x42ffbb,_0x28989f);return _0x4d2b87[_0x5a6fda(0x178)](..._0x84e9ef),this[_0x5a6fda(0x185)]?.[_0x5a6fda(0x194)](_0x5a6fda(0x173),{'file':_0x42ffbb,'totalDiagnostics':_0x4d2b87['length'],'errors':_0x4d2b87['filter'](_0x4ff6b8=>_0x4ff6b8[_0x5a6fda(0x18d)]===STATIC_ANALYSIS['SEVERITY']['ERROR'])[_0x5a6fda(0x18b)],'warnings':_0x4d2b87[_0x5a6fda(0x19f)](_0x488679=>_0x488679['severity']===STATIC_ANALYSIS[_0x5a6fda(0x195)][_0x5a6fda(0x17b)])['length']}),_0x4d2b87;}catch(_0x9ea159){return this[_0x5a6fda(0x185)]?.[_0x5a6fda(0x184)]('TypeScript\x20analysis\x20failed',{'file':_0x42ffbb,'error':_0x9ea159['message']}),[{'file':_0x42ffbb,'line':0x0,'column':0x0,'severity':STATIC_ANALYSIS['SEVERITY']['ERROR'],'rule':'analyzer-error','message':'Analysis\x20failed:\x20'+_0x9ea159[_0x5a6fda(0x18c)],'category':STATIC_ANALYSIS['CATEGORY']['SYNTAX']}];}}['getSyntacticDiagnostics'](_0x31deb4){const _0x49f1f6=a0_0x5db8,_0x2cc56c=[];if(_0x31deb4[_0x49f1f6(0x17d)]&&_0x31deb4[_0x49f1f6(0x17d)]['length']>0x0)for(const _0x46a78d of _0x31deb4['parseDiagnostics']){_0x2cc56c[_0x49f1f6(0x178)](this[_0x49f1f6(0x188)](_0x46a78d,_0x31deb4));}return _0x2cc56c;}async['getSemanticDiagnostics'](_0x2bae1c,_0x85758c){const _0x5555b9=a0_0x5db8,_0x516a7e=[];try{const _0x31ee00=a0_0x14ce2f['createSourceFile'](_0x2bae1c,_0x85758c,a0_0x14ce2f[_0x5555b9(0x191)][_0x5555b9(0x177)],!![]),_0x442c04={'getSourceFile':_0x385693=>{if(_0x385693===_0x2bae1c)return _0x31ee00;return undefined;},'getDefaultLibFileName':()=>'lib.d.ts','writeFile':()=>{},'getCurrentDirectory':()=>a0_0x1481b5[_0x5555b9(0x190)](_0x2bae1c),'getDirectories':()=>[],'fileExists':_0x5c58fa=>_0x5c58fa===_0x2bae1c,'readFile':_0x48ecf0=>{if(_0x48ecf0===_0x2bae1c)return _0x85758c;return undefined;},'getCanonicalFileName':_0x59f452=>_0x59f452,'useCaseSensitiveFileNames':()=>!![],'getNewLine':()=>'\x0a'},_0x4110c7=a0_0x14ce2f['createProgram']({'rootNames':[_0x2bae1c],'options':this['compilerOptions'],'host':_0x442c04}),_0x5a4350=_0x4110c7['getSyntacticDiagnostics'](_0x31ee00),_0x200d3c=_0x4110c7[_0x5555b9(0x175)](_0x31ee00);for(const _0x520ae7 of[..._0x5a4350,..._0x200d3c]){_0x516a7e[_0x5555b9(0x178)](this['formatDiagnostic'](_0x520ae7,_0x31ee00));}}catch(_0x4a2319){this[_0x5555b9(0x185)]?.[_0x5555b9(0x194)](_0x5555b9(0x19b),{'file':_0x2bae1c,'error':_0x4a2319[_0x5555b9(0x18c)]});}return _0x516a7e;}['formatDiagnostic'](_0x458b55,_0x364eb1){const _0x1ee555=a0_0x5db8;let _0x26c279=0x0,_0x214c56=0x0;if(_0x458b55[_0x1ee555(0x1a1)]&&_0x458b55[_0x1ee555(0x179)]!==undefined){const _0x2d0dce=_0x458b55[_0x1ee555(0x1a1)][_0x1ee555(0x17e)](_0x458b55['start']);_0x26c279=_0x2d0dce['line']+0x1,_0x214c56=_0x2d0dce[_0x1ee555(0x192)]+0x1;}else{if(_0x364eb1&&_0x458b55[_0x1ee555(0x179)]!==undefined){const _0x15f3cf=_0x364eb1[_0x1ee555(0x17e)](_0x458b55['start']);_0x26c279=_0x15f3cf['line']+0x1,_0x214c56=_0x15f3cf[_0x1ee555(0x192)]+0x1;}}const _0x16e2db=a0_0x14ce2f[_0x1ee555(0x174)](_0x458b55[_0x1ee555(0x17c)],'\x0a');let _0x1a86f9;switch(_0x458b55[_0x1ee555(0x18e)]){case a0_0x14ce2f['DiagnosticCategory'][_0x1ee555(0x17f)]:_0x1a86f9=STATIC_ANALYSIS['SEVERITY'][_0x1ee555(0x1a0)];break;case a0_0x14ce2f['DiagnosticCategory']['Warning']:_0x1a86f9=STATIC_ANALYSIS[_0x1ee555(0x195)]['WARNING'];break;case a0_0x14ce2f[_0x1ee555(0x180)]['Message']:case a0_0x14ce2f['DiagnosticCategory']['Suggestion']:_0x1a86f9=STATIC_ANALYSIS[_0x1ee555(0x195)]['INFO'];break;default:_0x1a86f9=STATIC_ANALYSIS['SEVERITY'][_0x1ee555(0x1a0)];}let _0x123884=STATIC_ANALYSIS[_0x1ee555(0x181)]['SYNTAX'];const _0x383fe3=_0x458b55['code'];if(_0x383fe3>=0x7d0&&_0x383fe3<0xbb8)_0x123884=STATIC_ANALYSIS['CATEGORY']['TYPE'];else{if(_0x383fe3>=0x3e8&&_0x383fe3<0x7d0)_0x123884=STATIC_ANALYSIS['CATEGORY']['SYNTAX'];else _0x383fe3>=0x8fc&&_0x383fe3<0x960&&(_0x123884=STATIC_ANALYSIS['CATEGORY'][_0x1ee555(0x19e)]);}const _0x5da5d1=_0x16e2db['toLowerCase']();if(_0x5da5d1['includes'](_0x1ee555(0x199))||_0x5da5d1[_0x1ee555(0x18f)]('import')||_0x5da5d1[_0x1ee555(0x18f)]('export'))_0x123884=STATIC_ANALYSIS['CATEGORY']['IMPORT'];else(_0x5da5d1['includes'](_0x1ee555(0x189))||_0x5da5d1['includes'](_0x1ee555(0x196))||_0x5da5d1[_0x1ee555(0x18f)]('class'))&&(_0x123884=STATIC_ANALYSIS['CATEGORY'][_0x1ee555(0x182)]);return{'file':_0x458b55['file']?.[_0x1ee555(0x19c)]||_0x364eb1?.['fileName']||_0x1ee555(0x187),'line':_0x26c279,'column':_0x214c56,'severity':_0x1a86f9,'rule':'TS'+_0x383fe3,'message':_0x16e2db,'category':_0x123884,'fixable':![],'code':_0x458b55['code']};}}export default TypeScriptAnalyzer;
1
+ function a0_0x5efb(_0x24a6d2,_0x29d4fa){_0x24a6d2=_0x24a6d2-0x160;const _0x15c493=a0_0x15c4();let _0x5efbec=_0x15c493[_0x24a6d2];if(a0_0x5efb['vsMFrw']===undefined){var _0xd0b863=function(_0x5a1912){const _0x166cfa='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2ba7a8='',_0x402162='';for(let _0x5ec157=0x0,_0x10d92a,_0x3bba9d,_0x401f18=0x0;_0x3bba9d=_0x5a1912['charAt'](_0x401f18++);~_0x3bba9d&&(_0x10d92a=_0x5ec157%0x4?_0x10d92a*0x40+_0x3bba9d:_0x3bba9d,_0x5ec157++%0x4)?_0x2ba7a8+=String['fromCharCode'](0xff&_0x10d92a>>(-0x2*_0x5ec157&0x6)):0x0){_0x3bba9d=_0x166cfa['indexOf'](_0x3bba9d);}for(let _0x4779a2=0x0,_0x223f02=_0x2ba7a8['length'];_0x4779a2<_0x223f02;_0x4779a2++){_0x402162+='%'+('00'+_0x2ba7a8['charCodeAt'](_0x4779a2)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x402162);};a0_0x5efb['gHfueF']=_0xd0b863,a0_0x5efb['csfQXy']={},a0_0x5efb['vsMFrw']=!![];}const _0x4f39c1=_0x15c493[0x0],_0x39d5e5=_0x24a6d2+_0x4f39c1,_0x4820b0=a0_0x5efb['csfQXy'][_0x39d5e5];return!_0x4820b0?(_0x5efbec=a0_0x5efb['gHfueF'](_0x5efbec),a0_0x5efb['csfQXy'][_0x39d5e5]=_0x5efbec):_0x5efbec=_0x4820b0,_0x5efbec;}const a0_0x1046c6=a0_0x5efb;(function(_0x105203,_0xd37721){const _0x4d1390=a0_0x5efb,_0xa02417=_0x105203();while(!![]){try{const _0x4f4ec0=-parseInt(_0x4d1390(0x179))/0x1+parseInt(_0x4d1390(0x171))/0x2*(-parseInt(_0x4d1390(0x18c))/0x3)+parseInt(_0x4d1390(0x184))/0x4*(-parseInt(_0x4d1390(0x189))/0x5)+-parseInt(_0x4d1390(0x168))/0x6+parseInt(_0x4d1390(0x162))/0x7*(parseInt(_0x4d1390(0x175))/0x8)+parseInt(_0x4d1390(0x193))/0x9*(-parseInt(_0x4d1390(0x160))/0xa)+parseInt(_0x4d1390(0x161))/0xb;if(_0x4f4ec0===_0xd37721)break;else _0xa02417['push'](_0xa02417['shift']());}catch(_0x4c5b49){_0xa02417['push'](_0xa02417['shift']());}}}(a0_0x15c4,0xd6f6d));import a0_0x2ba7a8 from'typescript';import a0_0x402162 from'path';import{STATIC_ANALYSIS}from'../utilities/constants.js';function a0_0x15c4(){const _0x273988=['mte3mZe1nJnkvKz0yLa','Dw5RBM93BG','CgfYC2veAwfNBM9ZDgLJCW','u2nYAxb0vgfYz2v0','mtbYy1jLsxu','ndG1mtK4ntztCNP2t3y','n3rdqNLLvG','twvZC2fNzq','y2fUBM90igzPBMqGBw9KDwXL','C3rHCNq','BgvUz3rO','zM9YBwf0rgLHz25VC3rPyW','mZyZndiZmeTrBg5TsW','y3jLyxrLu291CMnLrMLSzq','su1qt1ju','yw5HBhL6zxiTzxjYB3i','z2v0u2vTyw50AwneAwfNBM9ZDgLJCW','rvjst1i','u3vNz2vZDgLVBG','v0fstKLorW','sNn4rw1PDa','nZKXoe1grNHKCG','rgLHz25VC3rPy0nHDgvNB3j5','Aw5JBhvKzxm','su5gtW','odCXodm1mMfgrMH2va','u0vwrvjjvfK','vfLqrq','q0furuDpuLK','otiXotiZCu11vMnO','y2HHCMfJDgvY','vhLWzvnJCMLWDcbHBMfSExnPCYbJB21WBgv0zwq','u1Lovefy','ChvZAa','Aw50zxjMywnL','C2v2zxjPDhK','y2XHC3m','y29Kzq','zMXHDhrLBKrPywDUB3n0AwnnzxnZywDLvgv4Da','BgLIlMqUDhm','ndK1nta0nhDrEhj3Cq','BwvZC2fNzq','Dg9mB3DLCKnHC2u','zMLSDgvY','v2fYBMLUzW','nwDYz0Thva','z2v0tgLUzufUzenOyxjHy3rLCK9Mug9ZAxrPB24','Bg9Nz2vY','nde3CujUy21k','zgvIDwC','zMLSzq','u2vTyw50AwmGyw5HBhLZAxmGzw5JB3vUDgvYzwqGzxjYB3i','vhLWzvnJCMLWDcbHBMfSExnPCYbMywLSzwq','uMvHy3q','tgf0zxn0'];a0_0x15c4=function(){return _0x273988;};return a0_0x15c4();}class TypeScriptAnalyzer{constructor(_0x5ec157=null){const _0x4f788b=a0_0x5efb;this['logger']=_0x5ec157,this['compilerOptions']={'noEmit':!![],'jsx':a0_0x2ba7a8[_0x4f788b(0x170)][_0x4f788b(0x191)],'target':a0_0x2ba7a8['ScriptTarget'][_0x4f788b(0x192)],'module':a0_0x2ba7a8['ModuleKind']['ESNext'],'moduleResolution':a0_0x2ba7a8['ModuleResolutionKind']['NodeJs'],'esModuleInterop':!![],'skipLibCheck':!![],'strict':!![],'noImplicitAny':!![],'strictNullChecks':!![],'strictFunctionTypes':!![],'allowJs':![]};}async['analyze'](_0x10d92a,_0x3bba9d,_0x401f18={}){const _0x42b73e=a0_0x5efb;try{const _0x4779a2=[],_0x223f02=a0_0x2ba7a8[_0x42b73e(0x169)](_0x10d92a,_0x3bba9d,a0_0x2ba7a8['ScriptTarget']['Latest'],!![]),_0x33239e=this['getSyntacticDiagnostics'](_0x223f02);_0x4779a2['push'](..._0x33239e);const _0x3da6a6=await this['getSemanticDiagnostics'](_0x10d92a,_0x3bba9d);return _0x4779a2[_0x42b73e(0x17d)](..._0x3da6a6),this[_0x42b73e(0x18b)]?.['debug'](_0x42b73e(0x17b),{'file':_0x10d92a,'totalDiagnostics':_0x4779a2[_0x42b73e(0x166)],'errors':_0x4779a2[_0x42b73e(0x187)](_0x25b6f0=>_0x25b6f0['severity']===STATIC_ANALYSIS['SEVERITY']['ERROR'])[_0x42b73e(0x166)],'warnings':_0x4779a2['filter'](_0x81cb9b=>_0x81cb9b[_0x42b73e(0x17f)]===STATIC_ANALYSIS['SEVERITY'][_0x42b73e(0x16f)])[_0x42b73e(0x166)]}),_0x4779a2;}catch(_0x2b229a){return this[_0x42b73e(0x18b)]?.['error'](_0x42b73e(0x190),{'file':_0x10d92a,'error':_0x2b229a['message']}),[{'file':_0x10d92a,'line':0x0,'column':0x0,'severity':STATIC_ANALYSIS[_0x42b73e(0x176)]['ERROR'],'rule':_0x42b73e(0x16b),'message':'Analysis\x20failed:\x20'+_0x2b229a[_0x42b73e(0x185)],'category':STATIC_ANALYSIS[_0x42b73e(0x178)]['SYNTAX']}];}}['getSyntacticDiagnostics'](_0x5f3dd4){const _0x5c1ae0=a0_0x5efb,_0x328b02=[];if(_0x5f3dd4['parseDiagnostics']&&_0x5f3dd4[_0x5c1ae0(0x195)][_0x5c1ae0(0x166)]>0x0)for(const _0x591387 of _0x5f3dd4['parseDiagnostics']){_0x328b02[_0x5c1ae0(0x17d)](this['formatDiagnostic'](_0x591387,_0x5f3dd4));}return _0x328b02;}async[a0_0x1046c6(0x16c)](_0xf0a761,_0x55d7b8){const _0x4d7ed0=a0_0x1046c6,_0x10103a=[];try{const _0x6b04d6=a0_0x2ba7a8['createSourceFile'](_0xf0a761,_0x55d7b8,a0_0x2ba7a8[_0x4d7ed0(0x196)]['Latest'],!![]),_0x3b7c38={'getSourceFile':_0x1e337e=>{if(_0x1e337e===_0xf0a761)return _0x6b04d6;return undefined;},'getDefaultLibFileName':()=>_0x4d7ed0(0x183),'writeFile':()=>{},'getCurrentDirectory':()=>a0_0x402162['dirname'](_0xf0a761),'getDirectories':()=>[],'fileExists':_0x191169=>_0x191169===_0xf0a761,'readFile':_0x5dad57=>{if(_0x5dad57===_0xf0a761)return _0x55d7b8;return undefined;},'getCanonicalFileName':_0x5e4d11=>_0x5e4d11,'useCaseSensitiveFileNames':()=>!![],'getNewLine':()=>'\x0a'},_0x49566f=a0_0x2ba7a8['createProgram']({'rootNames':[_0xf0a761],'options':this['compilerOptions'],'host':_0x3b7c38}),_0x5ddd69=_0x49566f['getSyntacticDiagnostics'](_0x6b04d6),_0x29e8a4=_0x49566f['getSemanticDiagnostics'](_0x6b04d6);for(const _0x4793e9 of[..._0x5ddd69,..._0x29e8a4]){_0x10103a['push'](this['formatDiagnostic'](_0x4793e9,_0x6b04d6));}}catch(_0x46b6bc){this[_0x4d7ed0(0x18b)]?.[_0x4d7ed0(0x18d)](_0x4d7ed0(0x18f),{'file':_0xf0a761,'error':_0x46b6bc['message']});}return _0x10103a;}[a0_0x1046c6(0x167)](_0x3356fe,_0x328c36){const _0x1eb309=a0_0x1046c6;let _0x3b3af6=0x0,_0x57c279=0x0;if(_0x3356fe[_0x1eb309(0x18e)]&&_0x3356fe[_0x1eb309(0x165)]!==undefined){const _0x2bbabf=_0x3356fe['file'][_0x1eb309(0x18a)](_0x3356fe[_0x1eb309(0x165)]);_0x3b3af6=_0x2bbabf['line']+0x1,_0x57c279=_0x2bbabf['character']+0x1;}else{if(_0x328c36&&_0x3356fe[_0x1eb309(0x165)]!==undefined){const _0x286382=_0x328c36[_0x1eb309(0x18a)](_0x3356fe[_0x1eb309(0x165)]);_0x3b3af6=_0x286382['line']+0x1,_0x57c279=_0x286382[_0x1eb309(0x17a)]+0x1;}}const _0x4a006f=a0_0x2ba7a8[_0x1eb309(0x182)](_0x3356fe['messageText'],'\x0a');let _0x9a8b3e;switch(_0x3356fe['category']){case a0_0x2ba7a8[_0x1eb309(0x172)]['Error']:_0x9a8b3e=STATIC_ANALYSIS[_0x1eb309(0x176)][_0x1eb309(0x16d)];break;case a0_0x2ba7a8['DiagnosticCategory'][_0x1eb309(0x188)]:_0x9a8b3e=STATIC_ANALYSIS['SEVERITY']['WARNING'];break;case a0_0x2ba7a8['DiagnosticCategory'][_0x1eb309(0x163)]:case a0_0x2ba7a8['DiagnosticCategory'][_0x1eb309(0x16e)]:_0x9a8b3e=STATIC_ANALYSIS[_0x1eb309(0x176)][_0x1eb309(0x174)];break;default:_0x9a8b3e=STATIC_ANALYSIS['SEVERITY'][_0x1eb309(0x16d)];}let _0x441a04=STATIC_ANALYSIS['CATEGORY'][_0x1eb309(0x17c)];const _0x3205e9=_0x3356fe[_0x1eb309(0x181)];if(_0x3205e9>=0x7d0&&_0x3205e9<0xbb8)_0x441a04=STATIC_ANALYSIS['CATEGORY'][_0x1eb309(0x177)];else{if(_0x3205e9>=0x3e8&&_0x3205e9<0x7d0)_0x441a04=STATIC_ANALYSIS['CATEGORY'][_0x1eb309(0x17c)];else _0x3205e9>=0x8fc&&_0x3205e9<0x960&&(_0x441a04=STATIC_ANALYSIS['CATEGORY']['IMPORT']);}const _0x2d47c7=_0x4a006f[_0x1eb309(0x186)]();if(_0x2d47c7[_0x1eb309(0x173)](_0x1eb309(0x164))||_0x2d47c7[_0x1eb309(0x173)]('import')||_0x2d47c7['includes']('export'))_0x441a04=STATIC_ANALYSIS[_0x1eb309(0x178)][_0x1eb309(0x16a)];else(_0x2d47c7['includes']('type')||_0x2d47c7[_0x1eb309(0x173)](_0x1eb309(0x17e))||_0x2d47c7[_0x1eb309(0x173)](_0x1eb309(0x180)))&&(_0x441a04=STATIC_ANALYSIS['CATEGORY'][_0x1eb309(0x177)]);return{'file':_0x3356fe['file']?.['fileName']||_0x328c36?.['fileName']||_0x1eb309(0x194),'line':_0x3b3af6,'column':_0x57c279,'severity':_0x9a8b3e,'rule':'TS'+_0x3205e9,'message':_0x4a006f,'category':_0x441a04,'fixable':![],'code':_0x3356fe['code']};}}export default TypeScriptAnalyzer;
@@ -1 +1 @@
1
- const a0_0x40a274=a0_0x4123;function a0_0x3028(){const _0x45ff77=['Aw5JBhvKzxm','nZmYmff6wwPMAW','zhvWBgLJyxrLzeXPBMvZ','y29Kzq','CMvKDwnL','zMLSzq','mJq1mZeXoe9etfLUAq','Aw1Wywn0u2nVCMu','ChvZAa','igzPBgvZ','zxH0CMfJDc1TB2r1Bgu','z2vUzxjHDgvszwzHy3rVCMLUz0fKDMLJzq','nc4Gq29UC2LKzxiGzgvWzw5Kzw5JEsbPBMPLy3rPB24GzM9YigjLDhrLCIb0zxn0ywjPBgL0Eq','C3vNz2vZDe5HBwu','y2fSy3vSyxrLsw1Wywn0u2nVCMu','sw1WCM92zsbJB2rLig9Yz2fUAxPHDgLVBIbHy3jVC3mG','twv0Ag9K','Bg9Nmta','y2HHCKf0','zM9Y','AM9PBG','z2vUzxjHDgvby3rPB25HyMXLu3rLChm','Dhj1BMnHDgvdB2rL','Bg9N','BwfW','zw5KtgLUzq','zxH0CMfJDgvKrNvUy3rPB24','mte0nda5mvH4y0jAwq','uMvMywn0B3jPBMCGDg8G','CMv0DxjU','mJeYoty3Ew9pDur6','igXVy2f0Aw9UCW','rNvUy3rPB24','zgv0zxjTAw5LuhjPB3jPDhK','C2L6zq','C2XPy2u','BgvUz3rO','ofvMAvDvCG','C29YDa','Bg93','igr1CgXPy2f0zwqGBgLUzxmGB2yGy29Kzq','ignVzguGCgf0DgvYBIbHChbLyxjZia','ms4GrxH0CMfJDcb0AguGzhvWBgLJyxrLzcbJB2rLihvZAw5Nia','Aw5ZDgfUy2vdB3vUDa','AgLNAa','nJCXnZCXmgngze1rua','Dg9Rzw5dB3vUDa','zgvZy3jPyMvczw5LzML0CW','BwLU','C3rHCNrmAw5L','ns4GvgvZDcb0BYbLBNn1CMuGyMvOyxzPB3iGAxmGChjLC2vYDMvK','zxH0CMfJDc1MDw5JDgLVBG','twfRzsbMDxr1CMuGy2HHBMDLCYbLyxnPzxiGyw5KigXLC3mGzxjYB3iTChjVBMu','zxn0Aw1HDgvfzMzVCNq','C29Tzq','ihrPBwvZ','y29UzMLKzw5Jzq','DhLWzq','nc4GuMvWBgfJzsbHBgWGAw5ZDgfUy2vZihDPDgGGy2fSBhmGDg8GDgHLig5LDYbMDw5JDgLVBG','yxzLCMfNzuXPBMvdB3vUDa','ms4Gq3jLyxrLigeGBMv3ignSyxnZihrVigvUy2fWC3vSyxrLihrOAxmGzNvUy3rPB25HBgL0Eq','y2fSy3vSyxrLtwv0CMLJCW','lIbuAgLZigLZigeGAgLNAc1PBxbHy3qGCMvMywn0B3jPBMCGB3bWB3j0Dw5PDhK','mJuZmZmZnhHNC0HiEa','Dg9vChbLCKnHC2u','nta4nJGWvNffD1Pz','zxH0CMfJDc1JB25ZDgfUDc1VCI11DgLSAxr5','mI4Gtw92zsb0AguGzhvWBgLJyxrLzcbSB2DPyYbPBNrVihrOAxmGzNvUy3rPB24','zxH0CMfJDc1JBgfZCW','mtrwuMTtC3i','BwvKAxvT','yMXVy2TZ','mZy4mwrTrNzzzq','zMLSzxndB3zLCMvK','zw50CMLLCW'];a0_0x3028=function(){return _0x45ff77;};return a0_0x3028();}(function(_0x577c6a,_0x4128c8){const _0x5acef8=a0_0x4123,_0x6fab88=_0x577c6a();while(!![]){try{const _0x1584f1=-parseInt(_0x5acef8(0xbb))/0x1+parseInt(_0x5acef8(0x94))/0x2+parseInt(_0x5acef8(0xbe))/0x3*(parseInt(_0x5acef8(0xc5))/0x4)+-parseInt(_0x5acef8(0x96))/0x5+-parseInt(_0x5acef8(0xa6))/0x6*(-parseInt(_0x5acef8(0x9a))/0x7)+-parseInt(_0x5acef8(0xa1))/0x8*(-parseInt(_0x5acef8(0x9d))/0x9)+-parseInt(_0x5acef8(0x82))/0xa;if(_0x1584f1===_0x4128c8)break;else _0x6fab88['push'](_0x6fab88['shift']());}catch(_0x13cca8){_0x6fab88['push'](_0x6fab88['shift']());}}}(a0_0x3028,0xa6bec));function a0_0x4123(_0x165d29,_0x37d5cc){_0x165d29=_0x165d29-0x7e;const _0x3028a1=a0_0x3028();let _0x412356=_0x3028a1[_0x165d29];if(a0_0x4123['yhxPUP']===undefined){var _0x56f003=function(_0x1248c6){const _0x2a75c5='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xbe00b3='',_0x4ce804='';for(let _0x233bad=0x0,_0x5230ff,_0x268233,_0x5a4090=0x0;_0x268233=_0x1248c6['charAt'](_0x5a4090++);~_0x268233&&(_0x5230ff=_0x233bad%0x4?_0x5230ff*0x40+_0x268233:_0x268233,_0x233bad++%0x4)?_0xbe00b3+=String['fromCharCode'](0xff&_0x5230ff>>(-0x2*_0x233bad&0x6)):0x0){_0x268233=_0x2a75c5['indexOf'](_0x268233);}for(let _0x5f0c95=0x0,_0x367984=_0xbe00b3['length'];_0x5f0c95<_0x367984;_0x5f0c95++){_0x4ce804+='%'+('00'+_0xbe00b3['charCodeAt'](_0x5f0c95)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4ce804);};a0_0x4123['KIZTGb']=_0x56f003,a0_0x4123['yHllQg']={},a0_0x4123['yhxPUP']=!![];}const _0x2d93cb=_0x3028a1[0x0],_0xc0b93e=_0x165d29+_0x2d93cb,_0x5bdfbb=a0_0x4123['yHllQg'][_0xc0b93e];return!_0x5bdfbb?(_0x412356=a0_0x4123['KIZTGb'](_0x412356),a0_0x4123['yHllQg'][_0xc0b93e]=_0x412356):_0x412356=_0x5bdfbb,_0x412356;}export class RefactoringAnalyzer{constructor(_0xbe00b3){this['config']=_0xbe00b3;}['analyzeClones'](_0x4ce804){const _0x2804cd=a0_0x4123;return console[_0x2804cd(0xb7)]('Analyzing\x20clones\x20for\x20refactoring\x20opportunities...'),_0x4ce804['map']((_0x233bad,_0x5230ff)=>{const _0x3987af=_0x2804cd,_0x268233=this[_0x3987af(0x92)](_0x233bad),_0x5a4090=this[_0x3987af(0xab)](_0x233bad,_0x268233);return{'id':'clone-'+(_0x5230ff+0x1),'type':_0x233bad[_0x3987af(0x8e)],'confidence':_0x233bad[_0x3987af(0x8d)],'instances':_0x233bad[_0x3987af(0x9c)]['map'](_0x5f0c95=>({'file':_0x5f0c95['file'],'startLine':_0x5f0c95[_0x3987af(0x86)],'endLine':_0x5f0c95[_0x3987af(0xb9)],'code':this['truncateCode'](_0x5f0c95[_0x3987af(0xa3)]),'fullCode':_0x5f0c95[_0x3987af(0xa3)],'blockType':_0x5f0c95[_0x3987af(0x8e)]})),'metrics':_0x268233,'refactoringAdvice':_0x5a4090};})['sort']((_0x367984,_0x5e81f2)=>_0x5e81f2['metrics']['impactScore']-_0x367984['metrics'][_0x2804cd(0xa7)]);}['calculateMetrics'](_0x5d6094){const _0xb84f2a=a0_0x4123,_0x159559=_0x5d6094['blocks'],_0x567e02=_0x5d6094[_0xb84f2a(0x83)],_0x266ce2=this['averageLineCount'](_0x159559),_0x122595=_0x159559['length'],_0x591793=this['calculateImpactScore'](_0x567e02,_0x266ce2,_0x122595,_0x5d6094['confidence']),_0x1ba241=_0x266ce2*(_0x122595-0x1),_0x2bdc25=_0x567e02*(_0x122595-0x1);return{'tokenCount':_0x567e02,'lineCount':_0x266ce2,'instanceCount':_0x122595,'duplicatedLines':_0x1ba241,'duplicatedTokens':_0x2bdc25,'impactScore':parseFloat(_0x591793['toFixed'](0x2)),'filesCovered':new Set(_0x159559[_0xb84f2a(0xb8)](_0x1e510f=>_0x1e510f[_0xb84f2a(0xa5)]))[_0xb84f2a(0xc2)]};}[a0_0x40a274(0xae)](_0x54aabd,_0x548651,_0x15fe60,_0x460a14){const _0x33ef1b=a0_0x40a274,_0x29680b=Math[_0x33ef1b(0xb1)](_0x54aabd+0x1)*0x2,_0xfe707f=Math['log2'](_0x15fe60+0x1)*0x3,_0x3dd062=_0x460a14*0x2,_0x208541=Math[_0x33ef1b(0x85)](_0x548651/0xa,0x3);return _0x29680b+_0xfe707f+_0x3dd062+_0x208541;}[a0_0x40a274(0xab)](_0x53bd5c,_0x487a7e){const _0x20b7ab=a0_0x40a274,_0x316a52=this['determineRefactoringStrategy'](_0x53bd5c,_0x487a7e),_0x3b9c71=this[_0x20b7ab(0xc1)](_0x487a7e),_0x33a7fb=this[_0x20b7ab(0xad)](_0x53bd5c),_0x1b24ca=this['generateReasoning'](_0x53bd5c,_0x487a7e,_0x316a52),_0x393f64=this[_0x20b7ab(0x8a)](_0x487a7e,_0x316a52),_0x442ef6=this[_0x20b7ab(0x84)](_0x487a7e);return{'priority':_0x3b9c71,'strategy':_0x316a52,'suggestedName':_0x33a7fb,'reasoning':_0x1b24ca,'estimatedEffort':_0x393f64,'benefits':_0x442ef6,'actionableSteps':this[_0x20b7ab(0xb5)](_0x316a52,_0x33a7fb,_0x487a7e)};}['determineRefactoringStrategy'](_0x334159,_0x4cca0a){const _0xc3b068=a0_0x40a274,{tokenCount:_0x5d7cda,lineCount:_0x1cd844,instanceCount:_0x4b4f60,filesCovered:_0x3e46fa}=_0x4cca0a,_0x192200=_0x334159['blocks'][_0xc3b068(0xb8)](_0x5f1718=>_0x5f1718['type']),_0x226683=_0x192200['some'](_0x13af2e=>_0x13af2e['includes'](_0xc3b068(0xc0))||_0x13af2e[_0xc3b068(0xa0)](_0xc3b068(0xb0))),_0x46a5e6=_0x192200[_0xc3b068(0x8b)](_0x162961=>_0x162961[_0xc3b068(0xa0)]('Class'));if(_0x46a5e6&&_0x1cd844>0x32)return'extract-module';else{if(_0x3e46fa>0x2&&_0x5d7cda>0x64)return _0xc3b068(0xaa);else{if(_0x226683||_0x1cd844>=0xa&&_0x1cd844<=0x32)return _0xc3b068(0x88);else{if(_0x1cd844>0x32)return _0xc3b068(0x99);else return _0x1cd844<0xa?_0xc3b068(0x97):'extract-function';}}}}['determinePriority'](_0x4ba09c){const _0x1d848c=a0_0x40a274,{impactScore:_0x39c680}=_0x4ba09c;if(_0x39c680>=0x8)return'high';if(_0x39c680>=0x5)return _0x1d848c(0x9b);return'low';}[a0_0x40a274(0xad)](_0x1920bc){const _0x39a8ae=a0_0x40a274,_0xfb98a2=_0x1920bc[_0x39a8ae(0x9c)][_0x39a8ae(0xb8)](_0x11e378=>_0x11e378['code'])[_0x39a8ae(0xb4)]('\x20'),_0xc3a24b=_0xfb98a2['match'](/[a-zA-Z_$][a-zA-Z0-9_$]*/g)||[],_0x59aee6={};_0xc3a24b['forEach'](_0x22213e=>{const _0x3a848c=_0x39a8ae;if(['const','let','var','function',_0x3a848c(0xbd),'if','else',_0x3a848c(0xb3),'while'][_0x3a848c(0xa0)](_0x22213e))return;_0x59aee6[_0x22213e]=(_0x59aee6[_0x22213e]||0x0)+0x1;});const _0x95785=Object[_0x39a8ae(0x9f)](_0x59aee6)[_0x39a8ae(0xc6)]((_0x36585c,_0x37f620)=>_0x37f620[0x1]-_0x36585c[0x1])[_0x39a8ae(0xc3)](0x0,0x3);if(_0x95785['length']>0x0){const _0x4b4d40=_0x95785[_0x39a8ae(0xb8)](([_0x3c9c6f])=>_0x3c9c6f);return this['createFunctionName'](_0x4b4d40);}return _0x39a8ae(0xba);}['createFunctionName'](_0x25b4a9){const _0x58c460=a0_0x40a274;if(_0x25b4a9[_0x58c460(0xc4)]===0x0)return'extractedFunction';return _0x25b4a9[0x0]+_0x25b4a9['slice'](0x1)['map'](_0x3e97a7=>_0x3e97a7[_0x58c460(0xb2)](0x0)[_0x58c460(0x95)]()+_0x3e97a7[_0x58c460(0xc3)](0x1))[_0x58c460(0xb4)]('');}['generateReasoning'](_0xdb0b29,_0x281472,_0x13c8a0){const _0x458bbe=a0_0x40a274,{instanceCount:_0x23f22f,duplicatedLines:_0xd1d897,filesCovered:_0x643769}=_0x281472;let _0x25f658='This\x20'+_0xdb0b29[_0x458bbe(0x8e)]+_0x458bbe(0x7e)+_0x23f22f+_0x458bbe(0x8c);return _0x643769>0x1&&(_0x25f658+='\x20across\x20'+_0x643769+'\x20different\x20files'),_0x25f658+=',\x20resulting\x20in\x20'+_0xd1d897+'\x20duplicated\x20lines.\x20',_0x25f658+=_0x458bbe(0xbc)+_0x13c8a0['replace'](/-/g,'\x20')+'\x20would\x20improve\x20maintainability',_0x23f22f>=0x3&&(_0x25f658+=', reduce bugs from inconsistent changes'),_0x25f658+=',\x20and\x20reduce\x20code\x20size',_0x281472[_0x458bbe(0xa7)]>=0x8&&(_0x25f658+=_0x458bbe(0x93)),_0x25f658+'.';}[a0_0x40a274(0x8a)](_0x2f65ff,_0x467f02){const _0xb8b559=a0_0x40a274,{lineCount:_0xd6dbd8,instanceCount:_0x3172ad,filesCovered:_0x5a479b}=_0x2f65ff;let _0x367b95=0x0;_0x367b95+=Math[_0xb8b559(0x85)](_0xd6dbd8/0xa,0x5),_0x367b95+=_0x3172ad*0.5,_0x367b95+=_0x5a479b*0.5;if(_0x467f02==='extract-module')_0x367b95+=0x3;else{if(_0x467f02===_0xb8b559(0x99))_0x367b95+=0x2;else _0x467f02==='extract-function'&&(_0x367b95+=0x1);}if(_0x367b95<=0x3)return _0xb8b559(0xc7);if(_0x367b95<=0x7)return _0xb8b559(0x9b);return _0xb8b559(0x81);}['describeBenefits'](_0x45d32d){const _0x2e2c53=a0_0x40a274,_0x3937a6=[];return _0x3937a6[_0x2e2c53(0xa8)]('Eliminate\x20'+_0x45d32d[_0x2e2c53(0xa2)]+_0x2e2c53(0xc8)),_0x3937a6['push']('Improve\x20maintainability\x20by\x20centralizing\x20logic\x20in\x20one\x20place'),_0x45d32d[_0x2e2c53(0x80)]>=0x3&&_0x3937a6[_0x2e2c53(0xa8)]('Reduce\x20risk\x20of\x20inconsistent\x20changes\x20across\x20'+_0x45d32d[_0x2e2c53(0x80)]+_0x2e2c53(0xbf)),_0x45d32d[_0x2e2c53(0x9e)]>0x2&&_0x3937a6[_0x2e2c53(0xa8)](_0x2e2c53(0xaf)+_0x45d32d[_0x2e2c53(0x9e)]+_0x2e2c53(0xa9)),_0x3937a6[_0x2e2c53(0xa8)](_0x2e2c53(0x89)),_0x3937a6;}['generateActionableSteps'](_0x110e7d,_0x5520a3,_0xec9152){const _0x3339ac=a0_0x40a274,_0x46a4b7=[];switch(_0x110e7d){case'extract-function':_0x46a4b7['push']('1.\x20Create\x20a\x20new\x20function\x20named\x20\x27'+_0x5520a3+'\x27'),_0x46a4b7['push'](_0x3339ac(0x98)),_0x46a4b7['push']('3. Identify parameters needed from the surrounding context'),_0x46a4b7['push'](_0x3339ac(0x8f)),_0x46a4b7[_0x3339ac(0xa8)](_0x3339ac(0x87));break;case'extract-class':_0x46a4b7['push'](_0x3339ac(0x91)),_0x46a4b7[_0x3339ac(0xa8)]('2.\x20Move\x20related\x20methods\x20and\x20properties\x20into\x20the\x20class'),_0x46a4b7[_0x3339ac(0xa8)]('3.\x20Update\x20all\x20instances\x20to\x20use\x20the\x20new\x20class'),_0x46a4b7['push'](_0x3339ac(0xac));break;case _0x3339ac(0xaa):_0x46a4b7[_0x3339ac(0xa8)]('1.\x20Create\x20a\x20new\x20module/file\x20for\x20this\x20shared\x20functionality'),_0x46a4b7['push']('2.\x20Move\x20the\x20duplicated\x20code\x20into\x20the\x20new\x20module'),_0x46a4b7[_0x3339ac(0xa8)]('3.\x20Export\x20the\x20necessary\x20functions/classes'),_0x46a4b7['push']('4. Update all files to import from the new module'),_0x46a4b7['push']('5.\x20Update\x20any\x20build\x20configurations\x20if\x20needed');break;default:_0x46a4b7['push'](_0x3339ac(0x7f)+_0x110e7d['replace'](/-/g,'\x20')),_0x46a4b7['push']('2.\x20Replace\x20all\x20instances\x20with\x20the\x20extracted\x20version'),_0x46a4b7['push']('3.\x20Test\x20thoroughly');}return _0x46a4b7;}[a0_0x40a274(0xb6)](_0x3e6677,_0x2b31b7=0xa){const _0x3abc1a=a0_0x40a274,_0x329e70=_0x3e6677['split']('\x0a');if(_0x329e70['length']<=_0x2b31b7)return _0x3e6677;return _0x329e70[_0x3abc1a(0xc3)](0x0,_0x2b31b7)['join']('\x0a')+'\x0a...\x20(truncated)';}[a0_0x40a274(0x90)](_0x6c63af){const _0x24d82b=a0_0x40a274,_0x4f5e2a=_0x6c63af[_0x24d82b(0xa4)]((_0x391cb3,_0x1fcf60)=>_0x391cb3+(_0x1fcf60[_0x24d82b(0xb9)]-_0x1fcf60['startLine']+0x1),0x0);return Math['round'](_0x4f5e2a/_0x6c63af['length']);}}
1
+ const a0_0x30ad35=a0_0x4712;function a0_0x401b(){const _0x570c99=['uMvMywn0B3jPBMCGDg8G','D2HPBgu','Bg9N','C2L6zq','nc4GuMvWBgfJzsbHBgWGAw5ZDgfUy2vZihDPDgGGy2fSBhmGDg8GDgHLig5LDYbMDw5JDgLVBG','AgLNAa','mI4Gtw92zsbYzwXHDgvKig1LDgHVzhmGyw5KihbYB3bLCNrPzxmGAw50BYb0AguGy2XHC3m','C3rHCNrmAw5L','zxH0CMfJDc1MDw5JDgLVBG','CM91BMq','z2vUzxjHDgvby3rPB25HyMXLu3rLChm','ndC0mte3nKfqy2XYqq','CMvWBgfJzq','zxH0CMfJDc1TB2r1Bgu','Aw5JBhvKzxm','sw1WCM92zsbJB2rLig9Yz2fUAxPHDgLVBIbHy3jVC3mG','zgv0zxjTAw5LuhjPB3jPDhK','oty0mJi0mvzACevwqG','zgvZy3jPyMvczw5LzML0CW','zM9Y','BwfW','mI4GuMvWBgfJzsbHBgWGAw5ZDgfUy2vZihDPDgGGDgHLigv4DhjHy3rLzcb2zxjZAw9U','igzPBgvZ','mZaYmZjzAfLhyxu','C29Tzq','y3jLyxrLrNvUy3rPB25oyw1L','sw1WCM92zsbTywLUDgfPBMfIAwXPDhKGyNKGy2vUDhjHBgL6Aw5NigXVz2LJigLUig9UzsbWBgfJzq','ChvZAa','zM9YrwfJAa','zw50CMLLCW','y2fSy3vSyxrLtwv0CMLJCW','zw5KtgLUzq','igXVy2f0Aw9UCW','y2fSy3vSyxrLsw1Wywn0u2nVCMu','y29Kzq','nc4Gq29UC2LKzxiGzgvWzw5Kzw5JEsbPBMPLy3rPB24GzM9YigjLDhrLCIb0zxn0ywjPBgL0Eq','mY4GrxHWB3j0ihrOzsbUzwnLC3nHCNKGzNvUy3rPB25Zl2nSyxnZzxm','C3vNz2vZDe5HBwu','DMfY','Bg93','zxH0CMfJDc1JBgfZCW','ms4Gq3jLyxrLigeGBMv3ig1VzhvSzs9MAwXLigzVCIb0AgLZihnOyxjLzcbMDw5JDgLVBMfSAxr5','C2XPy2u','ms4GrxH0CMfJDcb0AguGzhvWBgLJyxrLzcbJB2rLihvZAw5Nia','y2HHCKf0','zwXZzq','igr1CgXPy2f0zwqGBgLUzxmUia','ndG0mtK1mZbmC2PfvfC','C29YDa','z2vUzxjHDgvszwzHy3rVCMLUz0fKDMLJzq','mJeYn2TTCLPXEa','mty5ofrABxjyyG','Dg9Rzw5dB3vUDa','yxzLCMfNzuXPBMvdB3vUDa','nJu2ywjRqLD1','BwvKAxvT','nZi1EePMwMTj','Bg9Nmta','Dg9gAxHLza','cI4UlIaODhj1BMnHDgvKkq','zxn0Aw1HDgvfzMzVCNq','AM9PBG','nZaYotLStfvYu1m','mY4GvxbKyxrLigfSBcbPBNn0yw5JzxmGDg8GDxnLihrOzsbUzxCGy2XHC3m','yMXVy2TZ','Aw1Wywn0u2nVCMu','mI4Gtw92zsb0AguGzhvWBgLJyxrLzcbSB2DPyYbPBNrVihrOAxmGzNvUy3rPB24','BgvUz3rO','qw5HBhL6Aw5NignSB25LCYbMB3iGCMvMywn0B3jPBMCGB3bWB3j0Dw5PDgLLCY4UlG','y29UzMLKzw5Jzq','Aw5ZDgfUy2vdB3vUDa','zgv0zxjTAw5LuMvMywn0B3jPBMDtDhjHDgvNEq','Bwv0CMLJCW','mZGWotyZsufou0XY','y29UzMLN','zhvWBgLJyxrLzeXPBMvZ'];a0_0x401b=function(){return _0x570c99;};return a0_0x401b();}function a0_0x4712(_0x5ba57f,_0x312d33){_0x5ba57f=_0x5ba57f-0xaf;const _0x401b50=a0_0x401b();let _0x471230=_0x401b50[_0x5ba57f];if(a0_0x4712['HuCpOU']===undefined){var _0x3a2956=function(_0x2c2089){const _0x5785bc='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3cf039='',_0x6dc748='';for(let _0x4dd13a=0x0,_0x31c6a2,_0x39dac8,_0xaa5d9f=0x0;_0x39dac8=_0x2c2089['charAt'](_0xaa5d9f++);~_0x39dac8&&(_0x31c6a2=_0x4dd13a%0x4?_0x31c6a2*0x40+_0x39dac8:_0x39dac8,_0x4dd13a++%0x4)?_0x3cf039+=String['fromCharCode'](0xff&_0x31c6a2>>(-0x2*_0x4dd13a&0x6)):0x0){_0x39dac8=_0x5785bc['indexOf'](_0x39dac8);}for(let _0x3dd183=0x0,_0x292ba5=_0x3cf039['length'];_0x3dd183<_0x292ba5;_0x3dd183++){_0x6dc748+='%'+('00'+_0x3cf039['charCodeAt'](_0x3dd183)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x6dc748);};a0_0x4712['CxNWeP']=_0x3a2956,a0_0x4712['JfWKXE']={},a0_0x4712['HuCpOU']=!![];}const _0x48749a=_0x401b50[0x0],_0x23d3e2=_0x5ba57f+_0x48749a,_0x4c2554=a0_0x4712['JfWKXE'][_0x23d3e2];return!_0x4c2554?(_0x471230=a0_0x4712['CxNWeP'](_0x471230),a0_0x4712['JfWKXE'][_0x23d3e2]=_0x471230):_0x471230=_0x4c2554,_0x471230;}(function(_0x174058,_0x2eec57){const _0x1057d5=a0_0x4712,_0x55df09=_0x174058();while(!![]){try{const _0x1e5f73=parseInt(_0x1057d5(0xb1))/0x1+parseInt(_0x1057d5(0xe7))/0x2*(-parseInt(_0x1057d5(0xe6))/0x3)+-parseInt(_0x1057d5(0xcb))/0x4*(parseInt(_0x1057d5(0xec))/0x5)+-parseInt(_0x1057d5(0xbf))/0x6+-parseInt(_0x1057d5(0xc5))/0x7+parseInt(_0x1057d5(0xea))/0x8*(-parseInt(_0x1057d5(0xf2))/0x9)+parseInt(_0x1057d5(0xe3))/0xa;if(_0x1e5f73===_0x2eec57)break;else _0x55df09['push'](_0x55df09['shift']());}catch(_0x2e653a){_0x55df09['push'](_0x55df09['shift']());}}}(a0_0x401b,0xaf068));export class RefactoringAnalyzer{constructor(_0x3cf039){const _0x4de2f9=a0_0x4712;this[_0x4de2f9(0xb2)]=_0x3cf039;}['analyzeClones'](_0x6dc748){const _0x18c491=a0_0x4712;return console[_0x18c491(0xb6)](_0x18c491(0xf8)),_0x6dc748[_0x18c491(0xc8)]((_0x4dd13a,_0x31c6a2)=>{const _0x13863c=_0x18c491,_0x39dac8=this[_0x13863c(0xd2)](_0x4dd13a),_0xaa5d9f=this[_0x13863c(0xe5)](_0x4dd13a,_0x39dac8);return{'id':'clone-'+(_0x31c6a2+0x1),'type':_0x4dd13a['type'],'confidence':_0x4dd13a['confidence'],'instances':_0x4dd13a[_0x13863c(0xf4)]['map'](_0x3dd183=>({'file':_0x3dd183['file'],'startLine':_0x3dd183[_0x13863c(0xbb)],'endLine':_0x3dd183[_0x13863c(0xd3)],'code':this['truncateCode'](_0x3dd183[_0x13863c(0xd6)]),'fullCode':_0x3dd183['code'],'blockType':_0x3dd183['type']})),'metrics':_0x39dac8,'refactoringAdvice':_0xaa5d9f};})['sort']((_0x292ba5,_0x18eb28)=>_0x18eb28['metrics'][_0x18c491(0xf5)]-_0x292ba5[_0x18c491(0xb0)][_0x18c491(0xf5)]);}['calculateMetrics'](_0x56429f){const _0x22cdd0=a0_0x4712,_0xc2b7e5=_0x56429f['blocks'],_0x47c9ab=_0x56429f[_0x22cdd0(0xe8)],_0x43de9d=this[_0x22cdd0(0xe9)](_0xc2b7e5),_0x16d998=_0xc2b7e5[_0x22cdd0(0xf7)],_0x129091=this['calculateImpactScore'](_0x47c9ab,_0x43de9d,_0x16d998,_0x56429f[_0x22cdd0(0xf9)]),_0x44a26c=_0x43de9d*(_0x16d998-0x1),_0x4c52ba=_0x47c9ab*(_0x16d998-0x1);return{'tokenCount':_0x47c9ab,'lineCount':_0x43de9d,'instanceCount':_0x16d998,'duplicatedLines':_0x44a26c,'duplicatedTokens':_0x4c52ba,'impactScore':parseFloat(_0x129091[_0x22cdd0(0xee)](0x2)),'filesCovered':new Set(_0xc2b7e5['map'](_0x46cc41=>_0x46cc41['file']))[_0x22cdd0(0xb7)]};}[a0_0x30ad35(0xd5)](_0x4f5b65,_0x5381a4,_0x477a6a,_0x1780ae){const _0x28edfd=a0_0x30ad35,_0x52963f=Math[_0x28edfd(0xed)](_0x4f5b65+0x1)*0x2,_0xa406e8=Math['log2'](_0x477a6a+0x1)*0x3,_0x35541d=_0x1780ae*0x2,_0x173698=Math['min'](_0x5381a4/0xa,0x3);return _0x52963f+_0xa406e8+_0x35541d+_0x173698;}['generateRefactoringAdvice'](_0x13a2f0,_0xfbda87){const _0x36ac81=a0_0x30ad35,_0x38af36=this[_0x36ac81(0xaf)](_0x13a2f0,_0xfbda87),_0x19a839=this['determinePriority'](_0xfbda87),_0x295bae=this['suggestName'](_0x13a2f0),_0x535411=this['generateReasoning'](_0x13a2f0,_0xfbda87,_0x38af36),_0x51cd5c=this[_0x36ac81(0xf0)](_0xfbda87,_0x38af36),_0x5224bb=this[_0x36ac81(0xc6)](_0xfbda87);return{'priority':_0x19a839,'strategy':_0x38af36,'suggestedName':_0x295bae,'reasoning':_0x535411,'estimatedEffort':_0x51cd5c,'benefits':_0x5224bb,'actionableSteps':this['generateActionableSteps'](_0x38af36,_0x295bae,_0xfbda87)};}[a0_0x30ad35(0xaf)](_0x2555ba,_0x572338){const _0x105f39=a0_0x30ad35,{tokenCount:_0x151a60,lineCount:_0x164969,instanceCount:_0x269c34,filesCovered:_0x13a52b}=_0x572338,_0x51ff90=_0x2555ba['blocks']['map'](_0x982549=>_0x982549['type']),_0x52f82a=_0x51ff90[_0x105f39(0xcc)](_0x500961=>_0x500961['includes']('Function')||_0x500961[_0x105f39(0xc2)]('Method')),_0x3b7339=_0x51ff90['some'](_0x4406bc=>_0x4406bc['includes']('Class'));if(_0x3b7339&&_0x164969>0x32)return'extract-module';else{if(_0x13a52b>0x2&&_0x151a60>0x64)return'extract-module';else{if(_0x52f82a||_0x164969>=0xa&&_0x164969<=0x32)return'extract-function';else{if(_0x164969>0x32)return'extract-class';else return _0x164969<0xa?'extract-constant-or-utility':_0x105f39(0xbc);}}}}[a0_0x30ad35(0xc4)](_0x447360){const _0x2ca1f6=a0_0x30ad35,{impactScore:_0x166ece}=_0x447360;if(_0x166ece>=0x8)return _0x2ca1f6(0xb9);if(_0x166ece>=0x5)return _0x2ca1f6(0xeb);return _0x2ca1f6(0xdb);}[a0_0x30ad35(0xd9)](_0x4abda5){const _0x55c00a=a0_0x30ad35,_0x15ca35=_0x4abda5[_0x55c00a(0xf4)]['map'](_0x396c41=>_0x396c41[_0x55c00a(0xd6)])[_0x55c00a(0xf1)]('\x20'),_0xa65196=_0x15ca35['match'](/[a-zA-Z_$][a-zA-Z0-9_$]*/g)||[],_0x1ffb92={};_0xa65196[_0x55c00a(0xd0)](_0x57fb66=>{const _0x557795=_0x55c00a;if(['const','let',_0x557795(0xda),'function','return','if',_0x557795(0xe1),_0x557795(0xc7),_0x557795(0xb5)][_0x557795(0xc2)](_0x57fb66))return;_0x1ffb92[_0x57fb66]=(_0x1ffb92[_0x57fb66]||0x0)+0x1;});const _0x133246=Object[_0x55c00a(0xd1)](_0x1ffb92)[_0x55c00a(0xe4)]((_0x4b344e,_0x2d63a)=>_0x2d63a[0x1]-_0x4b344e[0x1])['slice'](0x0,0x3);if(_0x133246['length']>0x0){const _0x47bef7=_0x133246['map'](([_0x2de080])=>_0x2de080);return this[_0x55c00a(0xcd)](_0x47bef7);}return'extractedFunction';}['createFunctionName'](_0xd0454a){const _0x38035e=a0_0x30ad35;if(_0xd0454a['length']===0x0)return'extractedFunction';return _0xd0454a[0x0]+_0xd0454a[_0x38035e(0xde)](0x1)['map'](_0xaa3c9b=>_0xaa3c9b[_0x38035e(0xe0)](0x0)['toUpperCase']()+_0xaa3c9b['slice'](0x1))['join']('');}['generateReasoning'](_0x22f788,_0x3f194a,_0x1cfe6c){const _0x4233f3=a0_0x30ad35,{instanceCount:_0x10c74b,duplicatedLines:_0x4434fb,filesCovered:_0x1f8e44}=_0x3f194a;let _0x505115='This\x20'+_0x22f788['type']+'\x20code\x20pattern\x20appears\x20'+_0x10c74b+'\x20times';return _0x1f8e44>0x1&&(_0x505115+='\x20across\x20'+_0x1f8e44+'\x20different\x20files'),_0x505115+=',\x20resulting\x20in\x20'+_0x4434fb+_0x4233f3(0xe2),_0x505115+=_0x4233f3(0xb4)+_0x1cfe6c['replace'](/-/g,'\x20')+'\x20would\x20improve\x20maintainability',_0x10c74b>=0x3&&(_0x505115+=', reduce bugs from inconsistent changes'),_0x505115+=',\x20and\x20reduce\x20code\x20size',_0x3f194a[_0x4233f3(0xf5)]>=0x8&&(_0x505115+='.\x20This\x20is\x20a\x20high-impact\x20refactoring\x20opportunity'),_0x505115+'.';}['estimateEffort'](_0x3541f0,_0x3a78da){const _0x5019ad=a0_0x30ad35,{lineCount:_0x57c22a,instanceCount:_0x5e2f35,filesCovered:_0x4d573c}=_0x3541f0;let _0x5642be=0x0;_0x5642be+=Math['min'](_0x57c22a/0xa,0x5),_0x5642be+=_0x5e2f35*0.5,_0x5642be+=_0x4d573c*0.5;if(_0x3a78da===_0x5019ad(0xc1))_0x5642be+=0x3;else{if(_0x3a78da===_0x5019ad(0xdc))_0x5642be+=0x2;else _0x3a78da==='extract-function'&&(_0x5642be+=0x1);}if(_0x5642be<=0x3)return _0x5019ad(0xdb);if(_0x5642be<=0x7)return'medium';return _0x5019ad(0xb9);}['describeBenefits'](_0x268ec8){const _0x5c7322=a0_0x30ad35,_0x482849=[];return _0x482849['push']('Eliminate\x20'+_0x268ec8[_0x5c7322(0xb3)]+'\x20duplicated\x20lines\x20of\x20code'),_0x482849[_0x5c7322(0xcf)](_0x5c7322(0xce)),_0x268ec8[_0x5c7322(0xfa)]>=0x3&&_0x482849['push']('Reduce\x20risk\x20of\x20inconsistent\x20changes\x20across\x20'+_0x268ec8[_0x5c7322(0xfa)]+_0x5c7322(0xd4)),_0x268ec8['filesCovered']>0x2&&_0x482849['push'](_0x5c7322(0xc3)+_0x268ec8['filesCovered']+_0x5c7322(0xca)),_0x482849[_0x5c7322(0xcf)]('Make\x20future\x20changes\x20easier\x20and\x20less\x20error-prone'),_0x482849;}[a0_0x30ad35(0xbe)](_0x5b5019,_0x585995,_0x9bf5e0){const _0x217c9a=a0_0x30ad35,_0x55ab7c=[];switch(_0x5b5019){case'extract-function':_0x55ab7c[_0x217c9a(0xcf)]('1.\x20Create\x20a\x20new\x20function\x20named\x20\x27'+_0x585995+'\x27'),_0x55ab7c[_0x217c9a(0xcf)](_0x217c9a(0xf6)),_0x55ab7c['push']('3. Identify parameters needed from the surrounding context'),_0x55ab7c['push'](_0x217c9a(0xb8)),_0x55ab7c[_0x217c9a(0xcf)]('5.\x20Test\x20to\x20ensure\x20behavior\x20is\x20preserved');break;case _0x217c9a(0xdc):_0x55ab7c['push']('1.\x20Create\x20a\x20new\x20class\x20to\x20encapsulate\x20this\x20functionality'),_0x55ab7c[_0x217c9a(0xcf)](_0x217c9a(0xba)),_0x55ab7c[_0x217c9a(0xcf)](_0x217c9a(0xf3)),_0x55ab7c[_0x217c9a(0xcf)](_0x217c9a(0xd7));break;case _0x217c9a(0xc1):_0x55ab7c[_0x217c9a(0xcf)](_0x217c9a(0xdd)),_0x55ab7c['push']('2.\x20Move\x20the\x20duplicated\x20code\x20into\x20the\x20new\x20module'),_0x55ab7c['push'](_0x217c9a(0xd8)),_0x55ab7c[_0x217c9a(0xcf)]('4. Update all files to import from the new module'),_0x55ab7c[_0x217c9a(0xcf)]('5.\x20Update\x20any\x20build\x20configurations\x20if\x20needed');break;default:_0x55ab7c['push'](_0x217c9a(0xdf)+_0x5b5019[_0x217c9a(0xc0)](/-/g,'\x20')),_0x55ab7c['push'](_0x217c9a(0xc9)),_0x55ab7c[_0x217c9a(0xcf)]('3.\x20Test\x20thoroughly');}return _0x55ab7c;}['truncateCode'](_0x322d6b,_0x5dee7d=0xa){const _0x23b40b=a0_0x30ad35,_0x3a918d=_0x322d6b['split']('\x0a');if(_0x3a918d[_0x23b40b(0xf7)]<=_0x5dee7d)return _0x322d6b;return _0x3a918d['slice'](0x0,_0x5dee7d)['join']('\x0a')+_0x23b40b(0xef);}['averageLineCount'](_0x5bfbb5){const _0x3a7e00=a0_0x30ad35,_0x88f214=_0x5bfbb5['reduce']((_0x2bc882,_0x3e12b6)=>_0x2bc882+(_0x3e12b6['endLine']-_0x3e12b6['startLine']+0x1),0x0);return Math[_0x3a7e00(0xbd)](_0x88f214/_0x5bfbb5[_0x3a7e00(0xf7)]);}}
@@ -1 +1 @@
1
- function a0_0x32c4(_0x18004d,_0x2f6514){_0x18004d=_0x18004d-0x6e;const _0x36dc41=a0_0x36dc();let _0x32c45e=_0x36dc41[_0x18004d];if(a0_0x32c4['wESqPX']===undefined){var _0x1396ab=function(_0x511b3a){const _0x1c2283='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x53d2ed='',_0x3691dd='';for(let _0x36ca4e=0x0,_0x296728,_0x3cc1d8,_0x124a8e=0x0;_0x3cc1d8=_0x511b3a['charAt'](_0x124a8e++);~_0x3cc1d8&&(_0x296728=_0x36ca4e%0x4?_0x296728*0x40+_0x3cc1d8:_0x3cc1d8,_0x36ca4e++%0x4)?_0x53d2ed+=String['fromCharCode'](0xff&_0x296728>>(-0x2*_0x36ca4e&0x6)):0x0){_0x3cc1d8=_0x1c2283['indexOf'](_0x3cc1d8);}for(let _0x2b1f06=0x0,_0x309c84=_0x53d2ed['length'];_0x2b1f06<_0x309c84;_0x2b1f06++){_0x3691dd+='%'+('00'+_0x53d2ed['charCodeAt'](_0x2b1f06)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3691dd);};a0_0x32c4['cWvKag']=_0x1396ab,a0_0x32c4['GHfLzO']={},a0_0x32c4['wESqPX']=!![];}const _0x3f458c=_0x36dc41[0x0],_0xd4c85f=_0x18004d+_0x3f458c,_0x56c210=a0_0x32c4['GHfLzO'][_0xd4c85f];return!_0x56c210?(_0x32c45e=a0_0x32c4['cWvKag'](_0x32c45e),a0_0x32c4['GHfLzO'][_0xd4c85f]=_0x32c45e):_0x32c45e=_0x56c210,_0x32c45e;}const a0_0x1bdce5=a0_0x32c4;(function(_0x30f7d5,_0x3c9088){const _0x30a1f2=a0_0x32c4,_0x1edf13=_0x30f7d5();while(!![]){try{const _0x11d9b0=parseInt(_0x30a1f2(0x75))/0x1*(-parseInt(_0x30a1f2(0x8a))/0x2)+parseInt(_0x30a1f2(0x76))/0x3*(-parseInt(_0x30a1f2(0x7b))/0x4)+parseInt(_0x30a1f2(0x7a))/0x5*(-parseInt(_0x30a1f2(0x8c))/0x6)+-parseInt(_0x30a1f2(0x72))/0x7*(-parseInt(_0x30a1f2(0x8d))/0x8)+-parseInt(_0x30a1f2(0x85))/0x9+-parseInt(_0x30a1f2(0x79))/0xa*(-parseInt(_0x30a1f2(0x80))/0xb)+parseInt(_0x30a1f2(0x90))/0xc;if(_0x11d9b0===_0x3c9088)break;else _0x1edf13['push'](_0x1edf13['shift']());}catch(_0x388068){_0x1edf13['push'](_0x1edf13['shift']());}}}(a0_0x36dc,0x1a8d5));export class CloneDetector{constructor(_0x53d2ed,_0x3691dd){const _0x4525e1=a0_0x32c4;this[_0x4525e1(0x7f)]=_0x53d2ed,this[_0x4525e1(0x86)]=_0x3691dd;}[a0_0x1bdce5(0x71)](_0x36ca4e){const _0xffa381=a0_0x1bdce5;console[_0xffa381(0x82)](_0xffa381(0x91));const _0x296728=[],_0x3cc1d8=[];for(const _0x309c84 of _0x36ca4e){_0x3cc1d8[_0xffa381(0x83)](..._0x309c84['blocks']);}console['log']('Analyzing\x20'+_0x3cc1d8[_0xffa381(0x73)]+'\x20code\x20blocks');const _0x124a8e=this['groupByHash'](_0x3cc1d8);for(const [_0x239552,_0x527b40]of Object[_0xffa381(0x88)](_0x124a8e)){_0x527b40[_0xffa381(0x73)]>0x1&&_0x296728[_0xffa381(0x83)]({'type':_0xffa381(0x84),'confidence':0x1,'blocks':_0x527b40,'tokenCount':_0x527b40[0x0]['tokens']['length']});}const _0x2b1f06=this[_0xffa381(0x78)](_0x3cc1d8);return _0x296728['push'](..._0x2b1f06),console[_0xffa381(0x82)](_0xffa381(0x77)+_0x296728[_0xffa381(0x73)]+_0xffa381(0x87)),_0x296728;}['groupByHash'](_0xe78be6){const _0x2ec86d=a0_0x1bdce5,_0x2d8d78={};for(const _0x4e0b3a of _0xe78be6){if(_0x4e0b3a[_0x2ec86d(0x7e)][_0x2ec86d(0x73)]<this['config'][_0x2ec86d(0x81)])continue;!_0x2d8d78[_0x4e0b3a['hash']]&&(_0x2d8d78[_0x4e0b3a[_0x2ec86d(0x74)]]=[]),_0x2d8d78[_0x4e0b3a[_0x2ec86d(0x74)]][_0x2ec86d(0x83)](_0x4e0b3a);}return _0x2d8d78;}[a0_0x1bdce5(0x78)](_0x40dc84){const _0x2e14a8=a0_0x1bdce5,_0x5d2b98=[],processed=new Set(),_0x3e69dc=_0x40dc84[_0x2e14a8(0x8b)](_0xf87981=>_0xf87981[_0x2e14a8(0x7e)]['length']>=this[_0x2e14a8(0x7f)][_0x2e14a8(0x81)]);for(let _0x18dd17=0x0;_0x18dd17<_0x3e69dc['length'];_0x18dd17++){const _0x2a3ea0=_0x3e69dc[_0x18dd17],_0x70a8ef=[_0x2a3ea0];if(processed[_0x2e14a8(0x70)](_0x2a3ea0['id']))continue;for(let _0x3b0a64=_0x18dd17+0x1;_0x3b0a64<_0x3e69dc[_0x2e14a8(0x73)];_0x3b0a64++){const _0x33020b=_0x3e69dc[_0x3b0a64];if(processed[_0x2e14a8(0x70)](_0x33020b['id']))continue;if(_0x2a3ea0[_0x2e14a8(0x74)]===_0x33020b[_0x2e14a8(0x74)])continue;const _0x46c9aa=this[_0x2e14a8(0x7d)](_0x2a3ea0,_0x33020b);_0x46c9aa>=this[_0x2e14a8(0x7f)]['similarityThreshold']&&(_0x70a8ef['push'](_0x33020b),processed[_0x2e14a8(0x8e)](_0x33020b['id']));}_0x70a8ef['length']>0x1&&(processed['add'](_0x2a3ea0['id']),_0x5d2b98[_0x2e14a8(0x83)]({'type':'similar','confidence':this['calculateGroupConfidence'](_0x70a8ef),'blocks':_0x70a8ef,'tokenCount':Math[_0x2e14a8(0x89)](..._0x70a8ef[_0x2e14a8(0x92)](_0x3c914b=>_0x3c914b[_0x2e14a8(0x7e)][_0x2e14a8(0x73)]))}));}return _0x5d2b98;}['calculateBlockSimilarity'](_0x12bbaf,_0x11f79e){const _0x5785dc=a0_0x1bdce5,_0x1ac149=_0x12bbaf[_0x5785dc(0x7e)],_0x59e795=_0x11f79e['tokens'],_0x371622=Math['min'](_0x1ac149['length'],_0x59e795['length'])/Math['max'](_0x1ac149['length'],_0x59e795['length']);if(_0x371622<0.7)return 0x0;const _0x2168e2=this[_0x5785dc(0x6e)](_0x1ac149,_0x59e795),_0x499d04=0x2*_0x2168e2/(_0x1ac149[_0x5785dc(0x73)]+_0x59e795[_0x5785dc(0x73)]);return _0x499d04;}[a0_0x1bdce5(0x6e)](_0x4330f6,_0x1fd70d){const _0x53880c=a0_0x1bdce5,_0x165316=_0x4330f6['length'],_0x13b883=_0x1fd70d[_0x53880c(0x73)];if(_0x165316*_0x13b883>0x186a0)return this['approximateLCS'](_0x4330f6,_0x1fd70d);const _0x19be82=Array(_0x165316+0x1)[_0x53880c(0x8f)](0x0)[_0x53880c(0x92)](()=>Array(_0x13b883+0x1)['fill'](0x0));for(let _0x7af2bb=0x1;_0x7af2bb<=_0x165316;_0x7af2bb++){for(let _0x5785f1=0x1;_0x5785f1<=_0x13b883;_0x5785f1++){_0x4330f6[_0x7af2bb-0x1]===_0x1fd70d[_0x5785f1-0x1]?_0x19be82[_0x7af2bb][_0x5785f1]=_0x19be82[_0x7af2bb-0x1][_0x5785f1-0x1]+0x1:_0x19be82[_0x7af2bb][_0x5785f1]=Math[_0x53880c(0x89)](_0x19be82[_0x7af2bb-0x1][_0x5785f1],_0x19be82[_0x7af2bb][_0x5785f1-0x1]);}}return _0x19be82[_0x165316][_0x13b883];}[a0_0x1bdce5(0x6f)](_0xc8d1b2,_0x1d1577){const _0x41267c=a0_0x1bdce5,_0x425209=0x64;let _0x21258a=0x0;for(let _0x1b3a07=0x0;_0x1b3a07<_0xc8d1b2[_0x41267c(0x73)];_0x1b3a07+=_0x425209){const _0x463e30=_0xc8d1b2['slice'](_0x1b3a07,_0x1b3a07+_0x425209),_0x24e5fe=new Set(_0x1d1577[_0x41267c(0x7c)](Math['max'](0x0,_0x1b3a07-_0x425209),_0x1b3a07+_0x425209*0x2));_0x21258a+=_0x463e30[_0x41267c(0x8b)](_0x5f2b7d=>_0x24e5fe[_0x41267c(0x70)](_0x5f2b7d))['length'];}return _0x21258a;}['calculateGroupConfidence'](_0xb455cb){const _0x4b8eda=a0_0x1bdce5;if(_0xb455cb['length']===0x0)return 0x0;let _0x346861=0x0,_0x29a353=0x0;for(let _0x14d9c7=0x0;_0x14d9c7<_0xb455cb[_0x4b8eda(0x73)];_0x14d9c7++){for(let _0x49db9f=_0x14d9c7+0x1;_0x49db9f<_0xb455cb[_0x4b8eda(0x73)];_0x49db9f++){_0x346861+=this['calculateBlockSimilarity'](_0xb455cb[_0x14d9c7],_0xb455cb[_0x49db9f]),_0x29a353++;}}return _0x29a353>0x0?_0x346861/_0x29a353:0x0;}}function a0_0x36dc(){const _0x4d0f19=['BgvUz3rO','AgfZAa','ngfOCgPeta','otLyugrhsNG','rM91BMqG','zMLUzfnPBwLSyxjdBg9Uzxm','mtaWmtbWy2jbwey','mti1BwHbvhne','mtqWnhv1DMHMtq','C2XPy2u','y2fSy3vSyxrLqMXVy2TtAw1PBgfYAxr5','Dg9Rzw5Z','y29UzMLN','ndqWAun4yKz5','BwLUvg9Rzw5Z','Bg9N','ChvZAa','zxHHy3q','nZC0nZy1qwX3seXK','CgfYC2vY','ignSB25LigDYB3vWCW','zw50CMLLCW','Bwf4','mZKYmtjQCgrOBxa','zMLSDgvY','ndiYmdrHzvzWr3K','mJu3mtyWA0LuBLvd','ywrK','zMLSBa','ndy2mJe2ogPsqwDpsW','rgv0zwn0Aw5NignSB25LCY4UlG','BwfW','Bg9Uz2vZDenVBw1VBLn1yNnLCxvLBMnL','yxbWCM94Aw1HDgvmq1m','AgfZ','zgv0zwn0q2XVBMvZ','n1r0vxPyrW'];a0_0x36dc=function(){return _0x4d0f19;};return a0_0x36dc();}
1
+ const a0_0x35c306=a0_0x3994;function a0_0x3994(_0x1ea599,_0x3a597e){_0x1ea599=_0x1ea599-0x78;const _0xbc4476=a0_0xbc44();let _0x399419=_0xbc4476[_0x1ea599];if(a0_0x3994['XxXbUa']===undefined){var _0x5c8dd1=function(_0x4ec2d1){const _0xf423ef='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x466968='',_0x1775db='';for(let _0x5e5d96=0x0,_0x493014,_0x5541b6,_0x486f79=0x0;_0x5541b6=_0x4ec2d1['charAt'](_0x486f79++);~_0x5541b6&&(_0x493014=_0x5e5d96%0x4?_0x493014*0x40+_0x5541b6:_0x5541b6,_0x5e5d96++%0x4)?_0x466968+=String['fromCharCode'](0xff&_0x493014>>(-0x2*_0x5e5d96&0x6)):0x0){_0x5541b6=_0xf423ef['indexOf'](_0x5541b6);}for(let _0x2050ae=0x0,_0x224b63=_0x466968['length'];_0x2050ae<_0x224b63;_0x2050ae++){_0x1775db+='%'+('00'+_0x466968['charCodeAt'](_0x2050ae)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1775db);};a0_0x3994['RwOmJh']=_0x5c8dd1,a0_0x3994['jGEkJx']={},a0_0x3994['XxXbUa']=!![];}const _0x32366f=_0xbc4476[0x0],_0x4496d5=_0x1ea599+_0x32366f,_0x1bde65=a0_0x3994['jGEkJx'][_0x4496d5];return!_0x1bde65?(_0x399419=a0_0x3994['RwOmJh'](_0x399419),a0_0x3994['jGEkJx'][_0x4496d5]=_0x399419):_0x399419=_0x1bde65,_0x399419;}(function(_0x2ca522,_0x1b5773){const _0x2ed136=a0_0x3994,_0x4f783b=_0x2ca522();while(!![]){try{const _0x4c4654=parseInt(_0x2ed136(0x7d))/0x1+parseInt(_0x2ed136(0x8f))/0x2+-parseInt(_0x2ed136(0x81))/0x3+parseInt(_0x2ed136(0x97))/0x4+parseInt(_0x2ed136(0x98))/0x5+parseInt(_0x2ed136(0x89))/0x6*(-parseInt(_0x2ed136(0x90))/0x7)+-parseInt(_0x2ed136(0x95))/0x8*(parseInt(_0x2ed136(0x7f))/0x9);if(_0x4c4654===_0x1b5773)break;else _0x4f783b['push'](_0x4f783b['shift']());}catch(_0x1990e0){_0x4f783b['push'](_0x4f783b['shift']());}}}(a0_0xbc44,0xd3f5d));export class CloneDetector{constructor(_0x466968,_0x1775db){const _0x374af1=a0_0x3994;this['config']=_0x466968,this[_0x374af1(0x93)]=_0x1775db;}['detectClones'](_0x5e5d96){const _0x7a16a8=a0_0x3994;console['log']('Detecting\x20clones...');const _0x493014=[],_0x5541b6=[];for(const _0x224b63 of _0x5e5d96){_0x5541b6[_0x7a16a8(0x83)](..._0x224b63['blocks']);}console['log']('Analyzing\x20'+_0x5541b6[_0x7a16a8(0x91)]+_0x7a16a8(0x8a));const _0x486f79=this[_0x7a16a8(0x87)](_0x5541b6);for(const [_0x1adf6c,_0x1daa2f]of Object[_0x7a16a8(0x86)](_0x486f79)){_0x1daa2f[_0x7a16a8(0x91)]>0x1&&_0x493014[_0x7a16a8(0x83)]({'type':'exact','confidence':0x1,'blocks':_0x1daa2f,'tokenCount':_0x1daa2f[0x0][_0x7a16a8(0x7c)]['length']});}const _0x2050ae=this[_0x7a16a8(0x96)](_0x5541b6);return _0x493014[_0x7a16a8(0x83)](..._0x2050ae),console[_0x7a16a8(0x82)](_0x7a16a8(0x84)+_0x493014[_0x7a16a8(0x91)]+_0x7a16a8(0x94)),_0x493014;}['groupByHash'](_0x5ebe63){const _0xf40e2d=a0_0x3994,_0x5d13dd={};for(const _0x24423f of _0x5ebe63){if(_0x24423f[_0xf40e2d(0x7c)][_0xf40e2d(0x91)]<this[_0xf40e2d(0x8b)][_0xf40e2d(0x85)])continue;!_0x5d13dd[_0x24423f['hash']]&&(_0x5d13dd[_0x24423f['hash']]=[]),_0x5d13dd[_0x24423f['hash']][_0xf40e2d(0x83)](_0x24423f);}return _0x5d13dd;}['findSimilarClones'](_0x2bb13d){const _0x250963=a0_0x3994,_0x38e7a3=[],processed=new Set(),_0x3ba4d0=_0x2bb13d['filter'](_0x41ecff=>_0x41ecff[_0x250963(0x7c)]['length']>=this[_0x250963(0x8b)][_0x250963(0x85)]);for(let _0x4ad04d=0x0;_0x4ad04d<_0x3ba4d0[_0x250963(0x91)];_0x4ad04d++){const _0x5599d0=_0x3ba4d0[_0x4ad04d],_0x395c93=[_0x5599d0];if(processed['has'](_0x5599d0['id']))continue;for(let _0x16465c=_0x4ad04d+0x1;_0x16465c<_0x3ba4d0[_0x250963(0x91)];_0x16465c++){const _0x490717=_0x3ba4d0[_0x16465c];if(processed[_0x250963(0x8d)](_0x490717['id']))continue;if(_0x5599d0['hash']===_0x490717[_0x250963(0x7a)])continue;const _0x14f1e7=this[_0x250963(0x79)](_0x5599d0,_0x490717);_0x14f1e7>=this[_0x250963(0x8b)]['similarityThreshold']&&(_0x395c93['push'](_0x490717),processed[_0x250963(0x78)](_0x490717['id']));}_0x395c93[_0x250963(0x91)]>0x1&&(processed[_0x250963(0x78)](_0x5599d0['id']),_0x38e7a3['push']({'type':_0x250963(0x80),'confidence':this[_0x250963(0x8c)](_0x395c93),'blocks':_0x395c93,'tokenCount':Math[_0x250963(0x8e)](..._0x395c93[_0x250963(0x88)](_0x2362fc=>_0x2362fc['tokens']['length']))}));}return _0x38e7a3;}['calculateBlockSimilarity'](_0x124b17,_0x2c233a){const _0x277702=a0_0x3994,_0x38f5d8=_0x124b17[_0x277702(0x7c)],_0x3257dc=_0x2c233a[_0x277702(0x7c)],_0x15f556=Math[_0x277702(0x7b)](_0x38f5d8['length'],_0x3257dc[_0x277702(0x91)])/Math['max'](_0x38f5d8['length'],_0x3257dc[_0x277702(0x91)]);if(_0x15f556<0.7)return 0x0;const _0x1db334=this[_0x277702(0x7e)](_0x38f5d8,_0x3257dc),_0x22de4b=0x2*_0x1db334/(_0x38f5d8[_0x277702(0x91)]+_0x3257dc['length']);return _0x22de4b;}[a0_0x35c306(0x7e)](_0x28f9bf,_0x399667){const _0x29a449=a0_0x35c306,_0x25cb08=_0x28f9bf[_0x29a449(0x91)],_0x4f4548=_0x399667['length'];if(_0x25cb08*_0x4f4548>0x186a0)return this['approximateLCS'](_0x28f9bf,_0x399667);const _0x560fa4=Array(_0x25cb08+0x1)['fill'](0x0)[_0x29a449(0x88)](()=>Array(_0x4f4548+0x1)[_0x29a449(0x92)](0x0));for(let _0x4f28c8=0x1;_0x4f28c8<=_0x25cb08;_0x4f28c8++){for(let _0x40bd99=0x1;_0x40bd99<=_0x4f4548;_0x40bd99++){_0x28f9bf[_0x4f28c8-0x1]===_0x399667[_0x40bd99-0x1]?_0x560fa4[_0x4f28c8][_0x40bd99]=_0x560fa4[_0x4f28c8-0x1][_0x40bd99-0x1]+0x1:_0x560fa4[_0x4f28c8][_0x40bd99]=Math[_0x29a449(0x8e)](_0x560fa4[_0x4f28c8-0x1][_0x40bd99],_0x560fa4[_0x4f28c8][_0x40bd99-0x1]);}}return _0x560fa4[_0x25cb08][_0x4f4548];}['approximateLCS'](_0x19666d,_0x39a3a5){const _0x286f67=a0_0x35c306,_0x583fa4=0x64;let _0x1456e3=0x0;for(let _0x33383e=0x0;_0x33383e<_0x19666d[_0x286f67(0x91)];_0x33383e+=_0x583fa4){const _0x1c1b6a=_0x19666d['slice'](_0x33383e,_0x33383e+_0x583fa4),_0x108e67=new Set(_0x39a3a5['slice'](Math[_0x286f67(0x8e)](0x0,_0x33383e-_0x583fa4),_0x33383e+_0x583fa4*0x2));_0x1456e3+=_0x1c1b6a['filter'](_0x2ff404=>_0x108e67['has'](_0x2ff404))[_0x286f67(0x91)];}return _0x1456e3;}['calculateGroupConfidence'](_0x542332){const _0x237fb9=a0_0x35c306;if(_0x542332[_0x237fb9(0x91)]===0x0)return 0x0;let _0xf156b9=0x0,_0x22ef88=0x0;for(let _0xba146f=0x0;_0xba146f<_0x542332[_0x237fb9(0x91)];_0xba146f++){for(let _0x40e17f=_0xba146f+0x1;_0x40e17f<_0x542332[_0x237fb9(0x91)];_0x40e17f++){_0xf156b9+=this['calculateBlockSimilarity'](_0x542332[_0xba146f],_0x542332[_0x40e17f]),_0x22ef88++;}}return _0x22ef88>0x0?_0xf156b9/_0x22ef88:0x0;}}function a0_0xbc44(){const _0x535767=['zMLSBa','CgfYC2vY','ignSB25LigDYB3vWCW','mZyWntziA0DgqxK','zMLUzfnPBwLSyxjdBg9Uzxm','mJu5mte2ofHrEfzurG','ode4nZiZnwXptMDWCa','ywrK','y2fSy3vSyxrLqMXVy2TtAw1PBgfYAxr5','AgfZAa','BwLU','Dg9Rzw5Z','nZKXmdeYB3DIwuvp','Bg9Uz2vZDenVBw1VBLn1yNnLCxvLBMnL','mJaZnhL0uMLmra','C2LTAwXHCG','mZyXnZmYogTVANLuCa','Bg9N','ChvZAa','rM91BMqG','BwLUvg9Rzw5Z','zw50CMLLCW','z3jVDxbcEuHHC2G','BwfW','mtu2v21Qu1zy','ignVzguGyMXVy2TZ','y29UzMLN','y2fSy3vSyxrLr3jVDxbdB25MAwrLBMnL','AgfZ','Bwf4','mZa5ntK2y2jSvfbp','mZCYodLIB2jsyuu','BgvUz3rO'];a0_0xbc44=function(){return _0x535767;};return a0_0xbc44();}