@loxia-labs/loxia-autopilot-one 1.0.6 → 1.0.8

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/README.md +2 -2
  2. package/bin/cli.js +1 -1
  3. package/bin/loxia-terminal-v2.js +1 -1
  4. package/bin/loxia-terminal.js +1 -1
  5. package/bin/start-with-terminal.js +1 -1
  6. package/package.json +1 -1
  7. package/scripts/install-scanners.js +1 -1
  8. package/src/analyzers/CSSAnalyzer.js +1 -1
  9. package/src/analyzers/ConfigValidator.js +1 -1
  10. package/src/analyzers/ESLintAnalyzer.js +1 -1
  11. package/src/analyzers/JavaScriptAnalyzer.js +1 -1
  12. package/src/analyzers/PrettierFormatter.js +1 -1
  13. package/src/analyzers/PythonAnalyzer.js +1 -1
  14. package/src/analyzers/SecurityAnalyzer.js +1 -1
  15. package/src/analyzers/TypeScriptAnalyzer.js +1 -1
  16. package/src/analyzers/codeCloneDetector/analyzer.js +1 -1
  17. package/src/analyzers/codeCloneDetector/detector.js +1 -1
  18. package/src/analyzers/codeCloneDetector/index.js +1 -1
  19. package/src/analyzers/codeCloneDetector/parser.js +1 -1
  20. package/src/analyzers/codeCloneDetector/reporter.js +1 -1
  21. package/src/analyzers/codeCloneDetector/scanner.js +1 -1
  22. package/src/core/agentPool.js +1 -1
  23. package/src/core/agentScheduler.js +1 -1
  24. package/src/core/contextManager.js +1 -1
  25. package/src/core/messageProcessor.js +1 -1
  26. package/src/core/orchestrator.js +1 -1
  27. package/src/core/stateManager.js +1 -1
  28. package/src/index.js +1 -1
  29. package/src/interfaces/cli.js +1 -1
  30. package/src/interfaces/terminal/__tests__/smoke/advancedFeatures.test.js +1 -1
  31. package/src/interfaces/terminal/__tests__/smoke/agentControl.test.js +1 -1
  32. package/src/interfaces/terminal/__tests__/smoke/agents.test.js +1 -1
  33. package/src/interfaces/terminal/__tests__/smoke/components.test.js +1 -1
  34. package/src/interfaces/terminal/__tests__/smoke/connection.test.js +1 -1
  35. package/src/interfaces/terminal/__tests__/smoke/enhancements.test.js +1 -1
  36. package/src/interfaces/terminal/__tests__/smoke/imports.test.js +1 -1
  37. package/src/interfaces/terminal/__tests__/smoke/messages.test.js +1 -1
  38. package/src/interfaces/terminal/__tests__/smoke/tools.test.js +1 -1
  39. package/src/interfaces/terminal/api/apiClient.js +1 -1
  40. package/src/interfaces/terminal/api/messageRouter.js +1 -1
  41. package/src/interfaces/terminal/api/session.js +1 -1
  42. package/src/interfaces/terminal/api/websocket.js +1 -1
  43. package/src/interfaces/terminal/components/AgentCreator.js +1 -1
  44. package/src/interfaces/terminal/components/AgentEditor.js +1 -1
  45. package/src/interfaces/terminal/components/AgentSwitcher.js +1 -1
  46. package/src/interfaces/terminal/components/ErrorBoundary.js +1 -1
  47. package/src/interfaces/terminal/components/ErrorPanel.js +1 -1
  48. package/src/interfaces/terminal/components/Header.js +1 -1
  49. package/src/interfaces/terminal/components/HelpPanel.js +1 -1
  50. package/src/interfaces/terminal/components/InputBox.js +1 -1
  51. package/src/interfaces/terminal/components/Layout.js +1 -1
  52. package/src/interfaces/terminal/components/LoadingSpinner.js +1 -1
  53. package/src/interfaces/terminal/components/MessageList.js +1 -1
  54. package/src/interfaces/terminal/components/MultilineTextInput.js +1 -1
  55. package/src/interfaces/terminal/components/SearchPanel.js +1 -1
  56. package/src/interfaces/terminal/components/SettingsPanel.js +1 -1
  57. package/src/interfaces/terminal/components/StatusBar.js +1 -1
  58. package/src/interfaces/terminal/components/TextInput.js +1 -1
  59. package/src/interfaces/terminal/config/agentEditorConstants.js +1 -1
  60. package/src/interfaces/terminal/config/constants.js +1 -1
  61. package/src/interfaces/terminal/index.js +1 -1
  62. package/src/interfaces/terminal/state/useAgentControl.js +1 -1
  63. package/src/interfaces/terminal/state/useAgents.js +1 -1
  64. package/src/interfaces/terminal/state/useConnection.js +1 -1
  65. package/src/interfaces/terminal/state/useMessages.js +1 -1
  66. package/src/interfaces/terminal/state/useTools.js +1 -1
  67. package/src/interfaces/terminal/utils/debugLogger.js +1 -1
  68. package/src/interfaces/terminal/utils/settingsStorage.js +1 -1
  69. package/src/interfaces/terminal/utils/theme.js +1 -1
  70. package/src/interfaces/webServer.js +1 -1
  71. package/src/modules/fileExplorer/controller.js +1 -1
  72. package/src/modules/fileExplorer/index.js +1 -1
  73. package/src/modules/fileExplorer/middleware.js +1 -1
  74. package/src/modules/fileExplorer/routes.js +1 -1
  75. package/src/services/aiService.js +1 -1
  76. package/src/services/apiKeyManager.js +1 -1
  77. package/src/services/benchmarkService.js +1 -1
  78. package/src/services/budgetService.js +1 -1
  79. package/src/services/contextInjectionService.js +1 -1
  80. package/src/services/conversationCompactionService.js +1 -1
  81. package/src/services/errorHandler.js +1 -1
  82. package/src/services/fileAttachmentService.js +1 -1
  83. package/src/services/modelRouterService.js +1 -1
  84. package/src/services/modelsService.js +1 -1
  85. package/src/services/qualityInspector.js +1 -1
  86. package/src/services/tokenCountingService.js +1 -1
  87. package/src/tools/agentCommunicationTool.js +1 -1
  88. package/src/tools/agentDelayTool.js +1 -1
  89. package/src/tools/asyncToolManager.js +1 -1
  90. package/src/tools/baseTool.js +1 -1
  91. package/src/tools/browserTool.js +1 -1
  92. package/src/tools/cloneDetectionTool.js +1 -1
  93. package/src/tools/dependencyResolverTool.js +1 -1
  94. package/src/tools/fileContentReplaceTool.js +1 -1
  95. package/src/tools/fileSystemTool.js +1 -1
  96. package/src/tools/fileTreeTool.js +1 -1
  97. package/src/tools/imageTool.js +1 -1
  98. package/src/tools/importAnalyzerTool.js +1 -1
  99. package/src/tools/jobDoneTool.js +1 -1
  100. package/src/tools/seekTool.js +1 -1
  101. package/src/tools/staticAnalysisTool.js +1 -1
  102. package/src/tools/taskManagerTool.js +1 -1
  103. package/src/tools/terminalTool.js +1 -1
  104. package/src/tools/webTool.js +1 -1
  105. package/src/types/agent.js +1 -1
  106. package/src/types/contextReference.js +1 -1
  107. package/src/types/conversation.js +1 -1
  108. package/src/types/toolCommand.js +1 -1
  109. package/src/utilities/attachmentValidator.js +1 -1
  110. package/src/utilities/configManager.js +1 -1
  111. package/src/utilities/constants.js +1 -1
  112. package/src/utilities/directoryAccessManager.js +1 -1
  113. package/src/utilities/fileProcessor.js +1 -1
  114. package/src/utilities/logger.js +1 -1
  115. package/src/utilities/tagParser.js +1 -1
  116. package/src/utilities/toolConstants.js +1 -1
  117. package/web-ui/build/index.html +2 -2
  118. package/web-ui/build/static/index-BmKxmRe3.css +1 -0
  119. package/web-ui/build/static/{index-CX8ZfpGw.js → index-BzXbDs8z.js} +69 -69
  120. package/web-ui/build/static/index-Dwg_JrlO.css +0 -1
@@ -1 +1 @@
1
- const a0_0x17b811=a0_0x4d63;(function(_0x23a779,_0x3a45d5){const _0x5cc8d3=a0_0x4d63,_0x20c33f=_0x23a779();while(!![]){try{const _0xba501a=parseInt(_0x5cc8d3(0x1b0))/0x1+-parseInt(_0x5cc8d3(0x1ad))/0x2+-parseInt(_0x5cc8d3(0x1bf))/0x3*(parseInt(_0x5cc8d3(0x1a9))/0x4)+-parseInt(_0x5cc8d3(0x1b4))/0x5*(parseInt(_0x5cc8d3(0x1a7))/0x6)+-parseInt(_0x5cc8d3(0x1c1))/0x7*(-parseInt(_0x5cc8d3(0x19e))/0x8)+-parseInt(_0x5cc8d3(0x1ba))/0x9*(parseInt(_0x5cc8d3(0x1c5))/0xa)+-parseInt(_0x5cc8d3(0x1bc))/0xb*(-parseInt(_0x5cc8d3(0x193))/0xc);if(_0xba501a===_0x3a45d5)break;else _0x20c33f['push'](_0x20c33f['shift']());}catch(_0x24457c){_0x20c33f['push'](_0x20c33f['shift']());}}}(a0_0x2c25,0xd268c));function a0_0x4d63(_0x4f9831,_0x312325){_0x4f9831=_0x4f9831-0x193;const _0x2c256d=a0_0x2c25();let _0x4d6357=_0x2c256d[_0x4f9831];if(a0_0x4d63['cKcoDH']===undefined){var _0x547855=function(_0x261883){const _0xc0523c='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1e4065='',_0x485852='';for(let _0x2e0bd8=0x0,_0x38ed7a,_0x4203ec,_0x36725b=0x0;_0x4203ec=_0x261883['charAt'](_0x36725b++);~_0x4203ec&&(_0x38ed7a=_0x2e0bd8%0x4?_0x38ed7a*0x40+_0x4203ec:_0x4203ec,_0x2e0bd8++%0x4)?_0x1e4065+=String['fromCharCode'](0xff&_0x38ed7a>>(-0x2*_0x2e0bd8&0x6)):0x0){_0x4203ec=_0xc0523c['indexOf'](_0x4203ec);}for(let _0x234fcc=0x0,_0x75d7a=_0x1e4065['length'];_0x234fcc<_0x75d7a;_0x234fcc++){_0x485852+='%'+('00'+_0x1e4065['charCodeAt'](_0x234fcc)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x485852);};a0_0x4d63['KCoJYN']=_0x547855,a0_0x4d63['WGICOa']={},a0_0x4d63['cKcoDH']=!![];}const _0x5098bc=_0x2c256d[0x0],_0x379060=_0x4f9831+_0x5098bc,_0x127706=a0_0x4d63['WGICOa'][_0x379060];return!_0x127706?(_0x4d6357=a0_0x4d63['KCoJYN'](_0x4d6357),a0_0x4d63['WGICOa'][_0x379060]=_0x4d6357):_0x4d6357=_0x127706,_0x4d6357;}import a0_0x1e4065 from'typescript';import a0_0x485852 from'path';import{STATIC_ANALYSIS}from'../utilities/constants.js';class JavaScriptAnalyzer{constructor(_0x2e0bd8=null){const _0x375f9b=a0_0x4d63;this['logger']=_0x2e0bd8,this[_0x375f9b(0x1af)]={'allowJs':!![],'checkJs':!![],'noEmit':!![],'jsx':a0_0x1e4065[_0x375f9b(0x1b2)][_0x375f9b(0x1a4)],'target':a0_0x1e4065[_0x375f9b(0x1c3)]['Latest'],'module':a0_0x1e4065['ModuleKind'][_0x375f9b(0x1c4)],'moduleResolution':a0_0x1e4065[_0x375f9b(0x1bd)][_0x375f9b(0x19a)],'esModuleInterop':!![],'skipLibCheck':!![],'strict':![],'noImplicitAny':![]};}async['analyze'](_0x38ed7a,_0x4203ec,_0x36725b={}){const _0x395c3a=a0_0x4d63;try{const _0x234fcc=[],_0x75d7a=a0_0x1e4065['createSourceFile'](_0x38ed7a,_0x4203ec,a0_0x1e4065[_0x395c3a(0x1c3)][_0x395c3a(0x199)],!![]),_0x5ab48e=this['getSyntacticDiagnostics'](_0x75d7a);_0x234fcc[_0x395c3a(0x1a5)](..._0x5ab48e);const _0x484d22=await this[_0x395c3a(0x1b7)](_0x38ed7a,_0x4203ec);return _0x234fcc['push'](..._0x484d22),this[_0x395c3a(0x1a6)]?.['debug']('JavaScript\x20analysis\x20completed',{'file':_0x38ed7a,'totalDiagnostics':_0x234fcc['length'],'errors':_0x234fcc['filter'](_0x4ffdc4=>_0x4ffdc4[_0x395c3a(0x1b9)]===STATIC_ANALYSIS[_0x395c3a(0x19d)][_0x395c3a(0x1a8)])['length'],'warnings':_0x234fcc[_0x395c3a(0x1bb)](_0x3ea523=>_0x3ea523[_0x395c3a(0x1b9)]===STATIC_ANALYSIS['SEVERITY']['WARNING'])['length']}),_0x234fcc;}catch(_0x455a60){return this['logger']?.[_0x395c3a(0x1c7)]('JavaScript\x20analysis\x20failed',{'file':_0x38ed7a,'error':_0x455a60['message']}),[{'file':_0x38ed7a,'line':0x0,'column':0x0,'severity':STATIC_ANALYSIS[_0x395c3a(0x19d)]['ERROR'],'rule':_0x395c3a(0x1aa),'message':_0x395c3a(0x1b3)+_0x455a60[_0x395c3a(0x196)],'category':STATIC_ANALYSIS['CATEGORY']['SYNTAX']}];}}['getSyntacticDiagnostics'](_0x3392f3){const _0x773a1e=a0_0x4d63,_0x2e7789=[],_0x2d167a=_0xf77822=>{const _0x36b116=a0_0x4d63;if(_0xf77822[_0x36b116(0x1a2)]===a0_0x1e4065[_0x36b116(0x1ae)][_0x36b116(0x1c0)]){const _0xdcc5c7=_0x3392f3[_0x36b116(0x1a0)](_0xf77822[_0x36b116(0x1c2)]());_0x2e7789[_0x36b116(0x1a5)]({'file':_0x3392f3['fileName'],'line':_0xdcc5c7['line']+0x1,'column':_0xdcc5c7['character']+0x1,'severity':STATIC_ANALYSIS[_0x36b116(0x19d)]['ERROR'],'rule':_0x36b116(0x1b1),'message':_0x36b116(0x19c),'category':STATIC_ANALYSIS['CATEGORY']['SYNTAX'],'fixable':![]});}a0_0x1e4065[_0x36b116(0x1ac)](_0xf77822,_0x2d167a);};_0x2d167a(_0x3392f3);if(_0x3392f3[_0x773a1e(0x19f)]&&_0x3392f3[_0x773a1e(0x19f)]['length']>0x0)for(const _0x37d56e of _0x3392f3['parseDiagnostics']){_0x2e7789[_0x773a1e(0x1a5)](this['formatDiagnostic'](_0x37d56e,_0x3392f3));}return _0x2e7789;}async[a0_0x17b811(0x1b7)](_0x105649,_0x301d0d){const _0x52a441=a0_0x17b811,_0x4a1ce0=[];try{const _0x47c1b2=a0_0x1e4065['createSourceFile'](_0x105649,_0x301d0d,a0_0x1e4065['ScriptTarget'][_0x52a441(0x199)],!![]),_0x87eabc={'getSourceFile':_0xc97a2d=>{if(_0xc97a2d===_0x105649)return _0x47c1b2;return undefined;},'getDefaultLibFileName':()=>'lib.d.ts','writeFile':()=>{},'getCurrentDirectory':()=>a0_0x485852['dirname'](_0x105649),'getDirectories':()=>[],'fileExists':_0x23c37c=>_0x23c37c===_0x105649,'readFile':_0x43c9b5=>{if(_0x43c9b5===_0x105649)return _0x301d0d;return undefined;},'getCanonicalFileName':_0x2fc714=>_0x2fc714,'useCaseSensitiveFileNames':()=>!![],'getNewLine':()=>'\x0a'},_0x3ea49d=a0_0x1e4065['createProgram']({'rootNames':[_0x105649],'options':this[_0x52a441(0x1af)],'host':_0x87eabc}),_0x189e27=_0x3ea49d['getSemanticDiagnostics'](_0x47c1b2);for(const _0x47b68a of _0x189e27){_0x4a1ce0[_0x52a441(0x1a5)](this['formatDiagnostic'](_0x47b68a,_0x47c1b2));}}catch(_0x23d1e0){this[_0x52a441(0x1a6)]?.[_0x52a441(0x197)]('Semantic\x20analysis\x20skipped',{'file':_0x105649,'reason':_0x23d1e0['message']});}return _0x4a1ce0;}['formatDiagnostic'](_0x37bbed,_0xb5e5e2){const _0xc0202d=a0_0x17b811;let _0x41108=0x0,_0x405370=0x0;if(_0x37bbed['file']&&_0x37bbed['start']!==undefined){const _0x43dc30=_0x37bbed['file']['getLineAndCharacterOfPosition'](_0x37bbed[_0xc0202d(0x1c6)]);_0x41108=_0x43dc30[_0xc0202d(0x1c9)]+0x1,_0x405370=_0x43dc30[_0xc0202d(0x1b8)]+0x1;}else{if(_0xb5e5e2&&_0x37bbed['start']!==undefined){const _0x32cde2=_0xb5e5e2['getLineAndCharacterOfPosition'](_0x37bbed['start']);_0x41108=_0x32cde2[_0xc0202d(0x1c9)]+0x1,_0x405370=_0x32cde2['character']+0x1;}}const _0x40f22d=a0_0x1e4065['flattenDiagnosticMessageText'](_0x37bbed['messageText'],'\x0a');let _0x398c9c;switch(_0x37bbed['category']){case a0_0x1e4065[_0xc0202d(0x1a3)]['Error']:_0x398c9c=STATIC_ANALYSIS[_0xc0202d(0x19d)]['ERROR'];break;case a0_0x1e4065[_0xc0202d(0x1a3)][_0xc0202d(0x1c8)]:_0x398c9c=STATIC_ANALYSIS[_0xc0202d(0x19d)][_0xc0202d(0x1be)];break;case a0_0x1e4065['DiagnosticCategory']['Message']:case a0_0x1e4065['DiagnosticCategory']['Suggestion']:_0x398c9c=STATIC_ANALYSIS['SEVERITY'][_0xc0202d(0x194)];break;default:_0x398c9c=STATIC_ANALYSIS['SEVERITY'][_0xc0202d(0x1a8)];}let _0x5ac4a4=STATIC_ANALYSIS[_0xc0202d(0x1a1)]['SYNTAX'];const _0x395a0b=_0x37bbed[_0xc0202d(0x1b5)];if(_0x395a0b>=0x7d0&&_0x395a0b<0xbb8)_0x5ac4a4=STATIC_ANALYSIS['CATEGORY']['TYPE'];else{if(_0x395a0b>=0x3e8&&_0x395a0b<0x7d0)_0x5ac4a4=STATIC_ANALYSIS[_0xc0202d(0x1a1)]['SYNTAX'];else _0x395a0b>=0x8fc&&_0x395a0b<0x960&&(_0x5ac4a4=STATIC_ANALYSIS['CATEGORY']['IMPORT']);}return(_0x40f22d[_0xc0202d(0x1ab)]()[_0xc0202d(0x198)]('cannot\x20find\x20module')||_0x40f22d[_0xc0202d(0x1ab)]()['includes']('import'))&&(_0x5ac4a4=STATIC_ANALYSIS['CATEGORY'][_0xc0202d(0x195)]),{'file':_0x37bbed['file']?.[_0xc0202d(0x1b6)]||_0xb5e5e2?.[_0xc0202d(0x1b6)]||_0xc0202d(0x19b),'line':_0x41108,'column':_0x405370,'severity':_0x398c9c,'rule':'TS'+_0x395a0b,'message':_0x40f22d,'category':_0x5ac4a4,'fixable':![],'code':_0x37bbed[_0xc0202d(0x1b5)]};}}export default JavaScriptAnalyzer;function a0_0x2c25(){const _0x5b21e9=['BgLUzq','mJrcDejqwMW','su5gtW','su1qt1ju','BwvZC2fNzq','zgvIDwC','Aw5JBhvKzxm','tgf0zxn0','tM9KzuPZ','Dw5RBM93BG','u3LUDgf4igvYCM9Y','u0vwrvjjvfK','ndbJsxDqDe0','CgfYC2veAwfNBM9ZDgLJCW','z2v0tgLUzufUzenOyxjHy3rLCK9Mug9ZAxrPB24','q0furuDpuLK','A2LUza','rgLHz25VC3rPy0nHDgvNB3j5','uMvHy3q','ChvZAa','Bg9Nz2vY','mJe0ndr5AwLgs0i','rvjst1i','nfvmBwDvzq','yw5HBhL6zxiTzxjYB3i','Dg9mB3DLCKnHC2u','zM9YrwfJAenOAwXK','nteWotyWz3Pjs25s','u3LUDgf4s2LUza','y29TCgLSzxjpChrPB25Z','mtq2otC1nejmEMzsAW','C3LUDgf4lwvYCM9Y','sNn4rw1PDa','qw5HBhLZAxmGzMfPBgvKoIa','otG1yvb4r0nM','y29Kzq','zMLSzu5HBwu','z2v0u2vTyw50AwneAwfNBM9ZDgLJCW','y2HHCMfJDgvY','C2v2zxjPDhK','mtmZnJuWovbwuwfvEG','zMLSDgvY','mte5mtq5ntHRA0z2t0q','tw9KDwXLuMvZB2X1DgLVBKTPBMq','v0fstKLorW','nduZodq4mxfcrNjRzq','vw5RBM93BG','nda4otyXrffZr2vu','z2v0u3rHCNq','u2nYAxb0vgfYz2v0','rvnozxH0','ndb6A01QuKe','C3rHCNq','zxjYB3i','v2fYBMLUzW'];a0_0x2c25=function(){return _0x5b21e9;};return a0_0x2c25();}
1
+ const a0_0x406365=a0_0x57d1;(function(_0x372b35,_0x14befc){const _0x3fafac=a0_0x57d1,_0x3e918b=_0x372b35();while(!![]){try{const _0x3091e6=-parseInt(_0x3fafac(0x19a))/0x1+parseInt(_0x3fafac(0x179))/0x2+-parseInt(_0x3fafac(0x18a))/0x3*(parseInt(_0x3fafac(0x1a1))/0x4)+parseInt(_0x3fafac(0x19e))/0x5+-parseInt(_0x3fafac(0x194))/0x6*(-parseInt(_0x3fafac(0x19d))/0x7)+parseInt(_0x3fafac(0x1a0))/0x8+-parseInt(_0x3fafac(0x184))/0x9*(parseInt(_0x3fafac(0x19c))/0xa);if(_0x3091e6===_0x14befc)break;else _0x3e918b['push'](_0x3e918b['shift']());}catch(_0x1ce79c){_0x3e918b['push'](_0x3e918b['shift']());}}}(a0_0x4023,0x5ecd8));import a0_0x838cf3 from'typescript';function a0_0x57d1(_0x3715df,_0x280c4a){_0x3715df=_0x3715df-0x170;const _0x402369=a0_0x4023();let _0x57d1be=_0x402369[_0x3715df];if(a0_0x57d1['LrgFWs']===undefined){var _0x1265ce=function(_0xf078cd){const _0xaa49da='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x838cf3='',_0x4b3af8='';for(let _0x352ad7=0x0,_0x562696,_0x582b38,_0x2c6d11=0x0;_0x582b38=_0xf078cd['charAt'](_0x2c6d11++);~_0x582b38&&(_0x562696=_0x352ad7%0x4?_0x562696*0x40+_0x582b38:_0x582b38,_0x352ad7++%0x4)?_0x838cf3+=String['fromCharCode'](0xff&_0x562696>>(-0x2*_0x352ad7&0x6)):0x0){_0x582b38=_0xaa49da['indexOf'](_0x582b38);}for(let _0x51030e=0x0,_0x3b5dbf=_0x838cf3['length'];_0x51030e<_0x3b5dbf;_0x51030e++){_0x4b3af8+='%'+('00'+_0x838cf3['charCodeAt'](_0x51030e)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4b3af8);};a0_0x57d1['OWBtSO']=_0x1265ce,a0_0x57d1['wueuAx']={},a0_0x57d1['LrgFWs']=!![];}const _0x2dcd43=_0x402369[0x0],_0x4ca3bc=_0x3715df+_0x2dcd43,_0x1fd932=a0_0x57d1['wueuAx'][_0x4ca3bc];return!_0x1fd932?(_0x57d1be=a0_0x57d1['OWBtSO'](_0x57d1be),a0_0x57d1['wueuAx'][_0x4ca3bc]=_0x57d1be):_0x57d1be=_0x1fd932,_0x57d1be;}import a0_0x4b3af8 from'path';import{STATIC_ANALYSIS}from'../utilities/constants.js';class JavaScriptAnalyzer{constructor(_0x352ad7=null){const _0x17931f=a0_0x57d1;this[_0x17931f(0x19f)]=_0x352ad7,this[_0x17931f(0x1a2)]={'allowJs':!![],'checkJs':!![],'noEmit':!![],'jsx':a0_0x838cf3['JsxEmit'][_0x17931f(0x189)],'target':a0_0x838cf3['ScriptTarget'][_0x17931f(0x183)],'module':a0_0x838cf3[_0x17931f(0x191)][_0x17931f(0x192)],'moduleResolution':a0_0x838cf3['ModuleResolutionKind']['NodeJs'],'esModuleInterop':!![],'skipLibCheck':!![],'strict':![],'noImplicitAny':![]};}async['analyze'](_0x562696,_0x582b38,_0x2c6d11={}){const _0x1cd762=a0_0x57d1;try{const _0x51030e=[],_0x3b5dbf=a0_0x838cf3[_0x1cd762(0x176)](_0x562696,_0x582b38,a0_0x838cf3[_0x1cd762(0x185)]['Latest'],!![]),_0x50eb86=this[_0x1cd762(0x173)](_0x3b5dbf);_0x51030e[_0x1cd762(0x19b)](..._0x50eb86);const _0x5c4ac6=await this['getSemanticDiagnostics'](_0x562696,_0x582b38);return _0x51030e[_0x1cd762(0x19b)](..._0x5c4ac6),this['logger']?.[_0x1cd762(0x181)]('JavaScript\x20analysis\x20completed',{'file':_0x562696,'totalDiagnostics':_0x51030e[_0x1cd762(0x17d)],'errors':_0x51030e[_0x1cd762(0x180)](_0x490f42=>_0x490f42[_0x1cd762(0x17a)]===STATIC_ANALYSIS[_0x1cd762(0x193)]['ERROR'])['length'],'warnings':_0x51030e['filter'](_0x165bd6=>_0x165bd6['severity']===STATIC_ANALYSIS['SEVERITY']['WARNING'])['length']}),_0x51030e;}catch(_0x2f974f){return this[_0x1cd762(0x19f)]?.['error']('JavaScript\x20analysis\x20failed',{'file':_0x562696,'error':_0x2f974f['message']}),[{'file':_0x562696,'line':0x0,'column':0x0,'severity':STATIC_ANALYSIS[_0x1cd762(0x193)]['ERROR'],'rule':'analyzer-error','message':'Analysis\x20failed:\x20'+_0x2f974f[_0x1cd762(0x17e)],'category':STATIC_ANALYSIS[_0x1cd762(0x17c)][_0x1cd762(0x178)]}];}}[a0_0x406365(0x173)](_0x26bab4){const _0x432ffe=a0_0x406365,_0x56a1c6=[],_0x5099e8=_0x52226f=>{const _0x1a54d9=a0_0x57d1;if(_0x52226f['kind']===a0_0x838cf3['SyntaxKind']['Unknown']){const _0xe3a67=_0x26bab4['getLineAndCharacterOfPosition'](_0x52226f['getStart']());_0x56a1c6[_0x1a54d9(0x19b)]({'file':_0x26bab4['fileName'],'line':_0xe3a67['line']+0x1,'column':_0xe3a67[_0x1a54d9(0x170)]+0x1,'severity':STATIC_ANALYSIS[_0x1a54d9(0x193)][_0x1a54d9(0x187)],'rule':_0x1a54d9(0x186),'message':_0x1a54d9(0x198),'category':STATIC_ANALYSIS['CATEGORY'][_0x1a54d9(0x178)],'fixable':![]});}a0_0x838cf3[_0x1a54d9(0x172)](_0x52226f,_0x5099e8);};_0x5099e8(_0x26bab4);if(_0x26bab4[_0x432ffe(0x171)]&&_0x26bab4[_0x432ffe(0x171)][_0x432ffe(0x17d)]>0x0)for(const _0x52f0e5 of _0x26bab4['parseDiagnostics']){_0x56a1c6['push'](this[_0x432ffe(0x195)](_0x52f0e5,_0x26bab4));}return _0x56a1c6;}async[a0_0x406365(0x196)](_0x26c37e,_0x31b16e){const _0xe14f6f=a0_0x406365,_0x502e42=[];try{const _0x58d6c5=a0_0x838cf3[_0xe14f6f(0x176)](_0x26c37e,_0x31b16e,a0_0x838cf3[_0xe14f6f(0x185)][_0xe14f6f(0x183)],!![]),_0x4ed780={'getSourceFile':_0x57db1e=>{if(_0x57db1e===_0x26c37e)return _0x58d6c5;return undefined;},'getDefaultLibFileName':()=>_0xe14f6f(0x17f),'writeFile':()=>{},'getCurrentDirectory':()=>a0_0x4b3af8[_0xe14f6f(0x174)](_0x26c37e),'getDirectories':()=>[],'fileExists':_0x3f50cf=>_0x3f50cf===_0x26c37e,'readFile':_0x4ddc87=>{if(_0x4ddc87===_0x26c37e)return _0x31b16e;return undefined;},'getCanonicalFileName':_0x15276b=>_0x15276b,'useCaseSensitiveFileNames':()=>!![],'getNewLine':()=>'\x0a'},_0x15916a=a0_0x838cf3[_0xe14f6f(0x18b)]({'rootNames':[_0x26c37e],'options':this['compilerOptions'],'host':_0x4ed780}),_0x117efd=_0x15916a['getSemanticDiagnostics'](_0x58d6c5);for(const _0x28df4b of _0x117efd){_0x502e42['push'](this[_0xe14f6f(0x195)](_0x28df4b,_0x58d6c5));}}catch(_0x35793a){this['logger']?.['debug']('Semantic\x20analysis\x20skipped',{'file':_0x26c37e,'reason':_0x35793a[_0xe14f6f(0x17e)]});}return _0x502e42;}[a0_0x406365(0x195)](_0x9a5cb1,_0x546356){const _0x464804=a0_0x406365;let _0x35a37b=0x0,_0x2ebc1=0x0;if(_0x9a5cb1[_0x464804(0x188)]&&_0x9a5cb1['start']!==undefined){const _0x3ceaed=_0x9a5cb1[_0x464804(0x188)]['getLineAndCharacterOfPosition'](_0x9a5cb1[_0x464804(0x182)]);_0x35a37b=_0x3ceaed[_0x464804(0x190)]+0x1,_0x2ebc1=_0x3ceaed[_0x464804(0x170)]+0x1;}else{if(_0x546356&&_0x9a5cb1['start']!==undefined){const _0xc5cbbf=_0x546356[_0x464804(0x18e)](_0x9a5cb1['start']);_0x35a37b=_0xc5cbbf[_0x464804(0x190)]+0x1,_0x2ebc1=_0xc5cbbf[_0x464804(0x170)]+0x1;}}const _0x1738c0=a0_0x838cf3[_0x464804(0x18f)](_0x9a5cb1[_0x464804(0x18d)],'\x0a');let _0xf6303d;switch(_0x9a5cb1['category']){case a0_0x838cf3['DiagnosticCategory'][_0x464804(0x177)]:_0xf6303d=STATIC_ANALYSIS['SEVERITY'][_0x464804(0x187)];break;case a0_0x838cf3['DiagnosticCategory']['Warning']:_0xf6303d=STATIC_ANALYSIS[_0x464804(0x193)]['WARNING'];break;case a0_0x838cf3[_0x464804(0x18c)]['Message']:case a0_0x838cf3['DiagnosticCategory'][_0x464804(0x197)]:_0xf6303d=STATIC_ANALYSIS[_0x464804(0x193)][_0x464804(0x17b)];break;default:_0xf6303d=STATIC_ANALYSIS[_0x464804(0x193)][_0x464804(0x187)];}let _0x1e5f87=STATIC_ANALYSIS['CATEGORY'][_0x464804(0x178)];const _0x5848d1=_0x9a5cb1['code'];if(_0x5848d1>=0x7d0&&_0x5848d1<0xbb8)_0x1e5f87=STATIC_ANALYSIS[_0x464804(0x17c)]['TYPE'];else{if(_0x5848d1>=0x3e8&&_0x5848d1<0x7d0)_0x1e5f87=STATIC_ANALYSIS['CATEGORY'][_0x464804(0x178)];else _0x5848d1>=0x8fc&&_0x5848d1<0x960&&(_0x1e5f87=STATIC_ANALYSIS['CATEGORY']['IMPORT']);}return(_0x1738c0['toLowerCase']()[_0x464804(0x175)]('cannot\x20find\x20module')||_0x1738c0['toLowerCase']()['includes']('import'))&&(_0x1e5f87=STATIC_ANALYSIS['CATEGORY']['IMPORT']),{'file':_0x9a5cb1[_0x464804(0x188)]?.['fileName']||_0x546356?.['fileName']||_0x464804(0x199),'line':_0x35a37b,'column':_0x2ebc1,'severity':_0xf6303d,'rule':'TS'+_0x5848d1,'message':_0x1738c0,'category':_0x1e5f87,'fixable':![],'code':_0x9a5cb1['code']};}}function a0_0x4023(){const _0xadb659=['zMLSzq','uMvHy3q','mZi4nJe3vLPnwer3','y3jLyxrLuhjVz3jHBq','rgLHz25VC3rPy0nHDgvNB3j5','BwvZC2fNzvrLEhq','z2v0tgLUzufUzenOyxjHy3rLCK9Mug9ZAxrPB24','zMXHDhrLBKrPywDUB3n0AwnnzxnZywDLvgv4Da','BgLUzq','tw9KDwXLs2LUza','rvnozxH0','u0vwrvjjvfK','mZa3mduWruTps1zn','zM9YBwf0rgLHz25VC3rPyW','z2v0u2vTyw50AwneAwfNBM9ZDgLJCW','u3vNz2vZDgLVBG','u3LUDgf4igvYCM9Y','Dw5RBM93BG','mJC5ndmYu0TZwNf5','ChvZAa','mtb3qvPdBuu','ntzHyxzMCKy','mtKZntiXnurPzg9Zva','Bg9Nz2vY','nZi5mdu2sNzmqvH4','mJrft3vgBui','y29TCgLSzxjpChrPB25Z','y2HHCMfJDgvY','CgfYC2veAwfNBM9ZDgLJCW','zM9YrwfJAenOAwXK','z2v0u3LUDgfJDgLJrgLHz25VC3rPy3m','zgLYBMfTzq','Aw5JBhvKzxm','y3jLyxrLu291CMnLrMLSzq','rxjYB3i','u1Lovefy','mta0ode0ng96BgrVwa','C2v2zxjPDhK','su5gtW','q0furuDpuLK','BgvUz3rO','BwvZC2fNzq','BgLIlMqUDhm','zMLSDgvY','zgvIDwC','C3rHCNq','tgf0zxn0','nZGWmdiXseviAffW','u2nYAxb0vgfYz2v0','C3LUDgf4lwvYCM9Y','rvjst1i'];a0_0x4023=function(){return _0xadb659;};return a0_0x4023();}export default JavaScriptAnalyzer;
@@ -1 +1 @@
1
- function a0_0x401c(_0x5f261c,_0x432528){_0x5f261c=_0x5f261c-0x1c5;const _0x70bee5=a0_0x70be();let _0x401c47=_0x70bee5[_0x5f261c];if(a0_0x401c['WJzuBk']===undefined){var _0x3400ac=function(_0x277be9){const _0x1c2a29='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x58db76='',_0x4d46f6='';for(let _0x43f8c3=0x0,_0x553eb9,_0x10b0ca,_0x2c1228=0x0;_0x10b0ca=_0x277be9['charAt'](_0x2c1228++);~_0x10b0ca&&(_0x553eb9=_0x43f8c3%0x4?_0x553eb9*0x40+_0x10b0ca:_0x10b0ca,_0x43f8c3++%0x4)?_0x58db76+=String['fromCharCode'](0xff&_0x553eb9>>(-0x2*_0x43f8c3&0x6)):0x0){_0x10b0ca=_0x1c2a29['indexOf'](_0x10b0ca);}for(let _0x4097f7=0x0,_0x5170a0=_0x58db76['length'];_0x4097f7<_0x5170a0;_0x4097f7++){_0x4d46f6+='%'+('00'+_0x58db76['charCodeAt'](_0x4097f7)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4d46f6);};a0_0x401c['gcgscX']=_0x3400ac,a0_0x401c['XvUrMs']={},a0_0x401c['WJzuBk']=!![];}const _0x5ae251=_0x70bee5[0x0],_0x1108ad=_0x5f261c+_0x5ae251,_0x530dea=a0_0x401c['XvUrMs'][_0x1108ad];return!_0x530dea?(_0x401c47=a0_0x401c['gcgscX'](_0x401c47),a0_0x401c['XvUrMs'][_0x1108ad]=_0x401c47):_0x401c47=_0x530dea,_0x401c47;}const a0_0x636af0=a0_0x401c;function a0_0x70be(){const _0x27856d=['lNLTBa','CMvTB3zLza','C2v0','lNrZ','mJGYrNL2BMPL','y29UzMLNq2fJAgu','Bw9KAwzPzwq','ntmWt21ACuDi','yMfIzwW','lNrZEa','ChvZAa','EwfTBa','AhrTBa','mZq2n251CKfnva','otC5ndaWB3jSthfq','D29YA2LUz0rPCG','mte3mJy1mLvLwKjfuW','zgLYBMfTzq','rM91BMqGuhjLDhrPzxiGy29UzMLN','y291BNrdAgfUz2vKtgLUzxm','zM9YBwf0','mta5odu3m3frDLfQsq','nti3nevTrKnXEq','DhLWzxnJCMLWDa','lMXLC3m','C3bSAxq','ANnVBG','ndmYndqXow9nAg9YEG','lMnQCW','zxm1','zgvIDwC','z2v0u3vWCg9YDgvKrxH0zw5ZAw9UCW','ywrKzwq','uhjLDhrPzxiGzM9YBwf0DgLUzYbMywLSzwq','BwvZC2fNzq','oty0mtu4mhfdwe1Xzq','uhjLDhrPzxiGzM9YBwf0DgLUzYbMywLSzwq6ia','zxH0BMfTzq','mJr6BwDJA1C','z2v0uhjLDhrPzxjdB25MAwC','Dg9mB3DLCKnHC2u','lMH0BwW','lMPZB24'];a0_0x70be=function(){return _0x27856d;};return a0_0x70be();}(function(_0x5559fe,_0x4f6f38){const _0x19874b=a0_0x401c,_0x1af59b=_0x5559fe();while(!![]){try{const _0xb72cef=-parseInt(_0x19874b(0x1e7))/0x1*(parseInt(_0x19874b(0x1de))/0x2)+parseInt(_0x19874b(0x1ea))/0x3+-parseInt(_0x19874b(0x1e8))/0x4+-parseInt(_0x19874b(0x1e1))/0x5*(parseInt(_0x19874b(0x1c5))/0x6)+-parseInt(_0x19874b(0x1ef))/0x7*(-parseInt(_0x19874b(0x1d5))/0x8)+-parseInt(_0x19874b(0x1ca))/0x9+parseInt(_0x19874b(0x1d2))/0xa;if(_0xb72cef===_0x4f6f38)break;else _0x1af59b['push'](_0x1af59b['shift']());}catch(_0xc8286e){_0x1af59b['push'](_0x1af59b['shift']());}}}(a0_0x70be,0x7e961));import a0_0x58db76 from'prettier';import a0_0x4d46f6 from'path';import a0_0x43f8c3 from'fs/promises';class PrettierFormatter{constructor(_0x553eb9=null){this['logger']=_0x553eb9,this['configCache']=new Map();}async['format'](_0x10b0ca,_0x2c1228,_0x4097f7={}){const _0x12f7da=a0_0x401c;try{const _0x5170a0=await this['getPrettierConfig'](_0x10b0ca,_0x4097f7[_0x12f7da(0x1e9)]),_0x4e9921=this['getParser'](_0x10b0ca),_0x47c824=await a0_0x58db76['format'](_0x2c1228,{..._0x5170a0,'filepath':_0x10b0ca,'parser':_0x4e9921}),_0x5c5048=_0x47c824!==_0x2c1228;return{'formatted':_0x5c5048,'content':_0x47c824,'original':_0x2c1228,'changes':_0x5c5048?this['describeChanges'](_0x2c1228,_0x47c824):[],'linesChanged':_0x5c5048?this['countChangedLines'](_0x2c1228,_0x47c824):0x0};}catch(_0x4337cd){this['logger']?.['error'](_0x12f7da(0x1d0),{'file':_0x10b0ca,'error':_0x4337cd[_0x12f7da(0x1d1)]});throw new Error(_0x12f7da(0x1d3)+_0x4337cd['message']);}}async['check'](_0x881564,_0x327d50,_0x48db02={}){const _0x539b92=a0_0x401c;try{const _0x5406bd=await this[_0x539b92(0x1d6)](_0x881564,_0x48db02['workingDir']),_0x37f3b2=this['getParser'](_0x881564),_0x174c29=await a0_0x58db76[_0x539b92(0x1ee)](_0x327d50,{..._0x5406bd,'filepath':_0x881564,'parser':_0x37f3b2});return _0x174c29!==_0x327d50;}catch(_0x43e6e9){return this['logger']?.['warn']('Prettier\x20check\x20failed',{'file':_0x881564,'error':_0x43e6e9[_0x539b92(0x1d1)]}),![];}}async[a0_0x636af0(0x1d6)](_0x248fd0,_0x2e126c){const _0x42816c=a0_0x636af0,_0x52bc40=_0x2e126c||a0_0x4d46f6[_0x42816c(0x1eb)](_0x248fd0);if(this[_0x42816c(0x1df)]['has'](_0x52bc40))return this['configCache']['get'](_0x52bc40);let _0x4848d1={};if(_0x2e126c)try{const _0x2a3fa6=await a0_0x58db76['resolveConfig'](_0x248fd0,{'config':_0x2e126c});_0x2a3fa6&&(this['logger']?.['debug'](_0x42816c(0x1ec),{'workingDir':_0x2e126c}),_0x4848d1=_0x2a3fa6);}catch(_0x1c51b2){this['logger']?.[_0x42816c(0x1cd)]('No Prettier config found, using defaults');}const defaultConfig={'semi':!![],'singleQuote':!![],'tabWidth':0x2,'trailingComma':_0x42816c(0x1cc),'printWidth':0x64,'arrowParens':'avoid','endOfLine':'lf',..._0x4848d1};return this['configCache'][_0x42816c(0x1dc)](_0x52bc40,defaultConfig),defaultConfig;}['getParser'](_0x4180d1){const _0x255589=a0_0x636af0,_0x15113a=a0_0x4d46f6[_0x255589(0x1d4)](_0x4180d1)[_0x255589(0x1d7)](),_0x13c02f={'.js':'babel','.jsx':'babel','.mjs':_0x255589(0x1e2),'.cjs':_0x255589(0x1e2),'.ts':_0x255589(0x1c6),'.tsx':'typescript','.json':_0x255589(0x1c9),'.json5':'json5','.css':'css','.scss':'scss','.less':'less','.html':_0x255589(0x1e6),'.vue':'vue','.md':'markdown','.yaml':_0x255589(0x1e5),'.yml':_0x255589(0x1e5)};return _0x13c02f[_0x15113a]||'babel';}['describeChanges'](_0x1af001,_0x4b27f9){const _0x4f60dd=a0_0x636af0,_0x9502bf=[],_0x1dc793=_0x1af001[_0x4f60dd(0x1c8)]('\x0a'),_0x3287d5=_0x4b27f9[_0x4f60dd(0x1c8)]('\x0a'),_0x220746=Math['max'](_0x1dc793['length'],_0x3287d5['length']);for(let _0x2b3cc1=0x0;_0x2b3cc1<_0x220746;_0x2b3cc1++){const _0x68c702=_0x1dc793[_0x2b3cc1],_0xc256fc=_0x3287d5[_0x2b3cc1];_0x68c702!==_0xc256fc&&_0x9502bf[_0x4f60dd(0x1e4)]({'line':_0x2b3cc1+0x1,'type':_0x68c702!==undefined&&_0xc256fc!==undefined?_0x4f60dd(0x1e0):_0x68c702!==undefined?_0x4f60dd(0x1db):_0x4f60dd(0x1cf),'original':_0x68c702||'','formatted':_0xc256fc||''});}return _0x9502bf;}[a0_0x636af0(0x1ed)](_0x8f975a,_0x564e44){const _0x51f58e=a0_0x636af0,_0x1b0c1c=_0x8f975a['split']('\x0a'),_0x1bd926=_0x564e44[_0x51f58e(0x1c8)]('\x0a');let _0x187b99=0x0;const _0x4bbac6=Math['max'](_0x1b0c1c['length'],_0x1bd926['length']);for(let _0x51e74c=0x0;_0x51e74c<_0x4bbac6;_0x51e74c++){_0x1b0c1c[_0x51e74c]!==_0x1bd926[_0x51e74c]&&_0x187b99++;}return _0x187b99;}[a0_0x636af0(0x1ce)](){const _0x5095c1=a0_0x636af0;return['.js','.jsx','.mjs',_0x5095c1(0x1cb),_0x5095c1(0x1dd),_0x5095c1(0x1e3),_0x5095c1(0x1d9),'.json5','.css','.scss',_0x5095c1(0x1c7),_0x5095c1(0x1d8),'.vue','.md','.yaml',_0x5095c1(0x1da)];}['isSupported'](_0x3174b8){const _0x5817d8=a0_0x636af0,_0x520b44=a0_0x4d46f6['extname'](_0x3174b8)['toLowerCase']();return this[_0x5817d8(0x1ce)]()['includes'](_0x520b44);}}export default PrettierFormatter;
1
+ const a0_0x137879=a0_0x1922;(function(_0x1437e0,_0x5c8d8d){const _0x163325=a0_0x1922,_0x357460=_0x1437e0();while(!![]){try{const _0x269f88=-parseInt(_0x163325(0xfc))/0x1*(-parseInt(_0x163325(0x10f))/0x2)+-parseInt(_0x163325(0x102))/0x3*(-parseInt(_0x163325(0x10b))/0x4)+parseInt(_0x163325(0x107))/0x5+-parseInt(_0x163325(0xef))/0x6+-parseInt(_0x163325(0xf9))/0x7*(parseInt(_0x163325(0x10a))/0x8)+parseInt(_0x163325(0xea))/0x9+-parseInt(_0x163325(0xf4))/0xa;if(_0x269f88===_0x5c8d8d)break;else _0x357460['push'](_0x357460['shift']());}catch(_0x4a415f){_0x357460['push'](_0x357460['shift']());}}}(a0_0x6407,0x9838b));import a0_0x1ee269 from'prettier';function a0_0x6407(){const _0x2d700c=['mJa1nZnAu1PswMy','C3bSAxq','BgvUz3rO','mJmWnNj3Bw1gDG','EwfTBa','lM1K','y29UzMLNq2fJAgu','CMvTB3zLza','Aw5JBhvKzxm','mty3mdf6zez0Cfe','uhjLDhrPzxiGy2HLy2SGzMfPBgvK','AhrTBa','zM9YBwf0','z2v0uhjLDhrPzxjdB25MAwC','mJC5nZq1nxjOsLzyra','DNvL','z2v0','ntG0A3z6Bu1z','mJyWyu12BKv2','yMfIzwW','lM1QCW','y291BNrdAgfUz2vKtgLUzxm','ndGYzxjcq3jj','z2v0ugfYC2vY','AgfZ','z2v0u3vWCg9YDgvKrxH0zw5ZAw9UCW','lMnQCW','lNLTBa','nZK5mJe1m0rduNfIyq','BwvZC2fNzq','zxH0BMfTzq','DhLWzxnJCMLWDa','Bg9Nz2vY','nJG3ntyWnfrUu1vLuq','zgvZy3jPyMvdAgfUz2vZ','zxjYB3i','lNz1zq','zgvIDwC','mZGXmti5mfbkyNfLwG','lNnJC3m','ywrKzwq','AxntDxbWB3j0zwq','Dg9mB3DLCKnHC2u'];a0_0x6407=function(){return _0x2d700c;};return a0_0x6407();}function a0_0x1922(_0xd791d,_0x19cea8){_0xd791d=_0xd791d-0xe8;const _0x6407b6=a0_0x6407();let _0x192239=_0x6407b6[_0xd791d];if(a0_0x1922['zKXZbz']===undefined){var _0x4566a0=function(_0x3aa7dd){const _0x31e83e='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1ee269='',_0x59f8f1='';for(let _0x1b8b5b=0x0,_0x35531d,_0x300ec5,_0xa2acd5=0x0;_0x300ec5=_0x3aa7dd['charAt'](_0xa2acd5++);~_0x300ec5&&(_0x35531d=_0x1b8b5b%0x4?_0x35531d*0x40+_0x300ec5:_0x300ec5,_0x1b8b5b++%0x4)?_0x1ee269+=String['fromCharCode'](0xff&_0x35531d>>(-0x2*_0x1b8b5b&0x6)):0x0){_0x300ec5=_0x31e83e['indexOf'](_0x300ec5);}for(let _0x1b2bf9=0x0,_0x2a6b10=_0x1ee269['length'];_0x1b2bf9<_0x2a6b10;_0x1b2bf9++){_0x59f8f1+='%'+('00'+_0x1ee269['charCodeAt'](_0x1b2bf9)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x59f8f1);};a0_0x1922['kImVcr']=_0x4566a0,a0_0x1922['ZnCwoG']={},a0_0x1922['zKXZbz']=!![];}const _0x4a5f51=_0x6407b6[0x0],_0xc024b0=_0xd791d+_0x4a5f51,_0x2640a9=a0_0x1922['ZnCwoG'][_0xc024b0];return!_0x2640a9?(_0x192239=a0_0x1922['kImVcr'](_0x192239),a0_0x1922['ZnCwoG'][_0xc024b0]=_0x192239):_0x192239=_0x2640a9,_0x192239;}import a0_0x59f8f1 from'path';import a0_0x1b8b5b from'fs/promises';class PrettierFormatter{constructor(_0x35531d=null){const _0x21e33b=a0_0x1922;this[_0x21e33b(0xee)]=_0x35531d,this[_0x21e33b(0xff)]=new Map();}async['format'](_0x300ec5,_0xa2acd5,_0x1b2bf9={}){const _0x3e8f95=a0_0x1922;try{const _0x2a6b10=await this['getPrettierConfig'](_0x300ec5,_0x1b2bf9['workingDir']),_0x46c62c=this['getParser'](_0x300ec5),_0x1e14be=await a0_0x1ee269[_0x3e8f95(0x105)](_0xa2acd5,{..._0x2a6b10,'filepath':_0x300ec5,'parser':_0x46c62c}),_0x1c7049=_0x1e14be!==_0xa2acd5;return{'formatted':_0x1c7049,'content':_0x1e14be,'original':_0xa2acd5,'changes':_0x1c7049?this['describeChanges'](_0xa2acd5,_0x1e14be):[],'linesChanged':_0x1c7049?this[_0x3e8f95(0x10e)](_0xa2acd5,_0x1e14be):0x0};}catch(_0x45cd6e){this[_0x3e8f95(0xee)]?.[_0x3e8f95(0xf1)]('Prettier\x20formatting\x20failed',{'file':_0x300ec5,'error':_0x45cd6e['message']});throw new Error('Prettier\x20formatting\x20failed:\x20'+_0x45cd6e['message']);}}async['check'](_0x1ece30,_0x3a56a4,_0x4f62cb={}){const _0x1b271a=a0_0x1922;try{const _0x4fa2df=await this[_0x1b271a(0x106)](_0x1ece30,_0x4f62cb['workingDir']),_0x598798=this['getParser'](_0x1ece30),_0x58b36d=await a0_0x1ee269[_0x1b271a(0x105)](_0x3a56a4,{..._0x4fa2df,'filepath':_0x1ece30,'parser':_0x598798});return _0x58b36d!==_0x3a56a4;}catch(_0x3d70d3){return this['logger']?.['warn'](_0x1b271a(0x103),{'file':_0x1ece30,'error':_0x3d70d3[_0x1b271a(0xeb)]}),![];}}async['getPrettierConfig'](_0x5ab98b,_0x314041){const _0x5a2d3a=a0_0x1922,_0x45a07d=_0x314041||a0_0x59f8f1['dirname'](_0x5ab98b);if(this[_0x5a2d3a(0xff)][_0x5a2d3a(0x111)](_0x45a07d))return this['configCache'][_0x5a2d3a(0x109)](_0x45a07d);let _0x474dc7={};if(_0x314041)try{const _0x5438fb=await a0_0x1ee269['resolveConfig'](_0x5ab98b,{'config':_0x314041});_0x5438fb&&(this['logger']?.[_0x5a2d3a(0xf3)]('Found\x20Prettier\x20config',{'workingDir':_0x314041}),_0x474dc7=_0x5438fb);}catch(_0x84d6cd){this['logger']?.['debug']('No Prettier config found, using defaults');}const defaultConfig={'semi':!![],'singleQuote':!![],'tabWidth':0x2,'trailingComma':'es5','printWidth':0x64,'arrowParens':'avoid','endOfLine':'lf',..._0x474dc7};return this[_0x5a2d3a(0xff)]['set'](_0x45a07d,defaultConfig),defaultConfig;}[a0_0x137879(0x110)](_0xc05deb){const _0xda0557=a0_0x137879,_0xb4dcb4=a0_0x59f8f1[_0xda0557(0xec)](_0xc05deb)[_0xda0557(0xf8)](),_0xc5c109={'.js':'babel','.jsx':'babel','.mjs':'babel','.cjs':'babel','.ts':_0xda0557(0xed),'.tsx':'typescript','.json':'json','.json5':'json5','.css':'css','.scss':'scss','.less':'less','.html':_0xda0557(0x104),'.vue':_0xda0557(0x108),'.md':'markdown','.yaml':_0xda0557(0xfd),'.yml':_0xda0557(0xfd)};return _0xc5c109[_0xb4dcb4]||_0xda0557(0x10c);}[a0_0x137879(0xf0)](_0x2a3b8a,_0x3f1807){const _0x1439ec=a0_0x137879,_0x3e2217=[],_0x3a5ffc=_0x2a3b8a['split']('\x0a'),_0x3af5fc=_0x3f1807[_0x1439ec(0xfa)]('\x0a'),_0x40a53e=Math['max'](_0x3a5ffc[_0x1439ec(0xfb)],_0x3af5fc['length']);for(let _0x14087c=0x0;_0x14087c<_0x40a53e;_0x14087c++){const _0x234675=_0x3a5ffc[_0x14087c],_0x41e2e5=_0x3af5fc[_0x14087c];_0x234675!==_0x41e2e5&&_0x3e2217['push']({'line':_0x14087c+0x1,'type':_0x234675!==undefined&&_0x41e2e5!==undefined?'modified':_0x234675!==undefined?_0x1439ec(0x100):_0x1439ec(0xf6),'original':_0x234675||'','formatted':_0x41e2e5||''});}return _0x3e2217;}['countChangedLines'](_0x496426,_0x5bb0b9){const _0x4b275d=a0_0x137879,_0x1406b7=_0x496426[_0x4b275d(0xfa)]('\x0a'),_0x31263f=_0x5bb0b9[_0x4b275d(0xfa)]('\x0a');let _0x3a6c22=0x0;const _0x525cd7=Math['max'](_0x1406b7[_0x4b275d(0xfb)],_0x31263f[_0x4b275d(0xfb)]);for(let _0x12ec35=0x0;_0x12ec35<_0x525cd7;_0x12ec35++){_0x1406b7[_0x12ec35]!==_0x31263f[_0x12ec35]&&_0x3a6c22++;}return _0x3a6c22;}['getSupportedExtensions'](){const _0x42a0a7=a0_0x137879;return['.js','.jsx',_0x42a0a7(0x10d),_0x42a0a7(0xe8),'.ts','.tsx','.json','.json5','.css',_0x42a0a7(0xf5),'.less','.html',_0x42a0a7(0xf2),_0x42a0a7(0xfe),'.yaml',_0x42a0a7(0xe9)];}[a0_0x137879(0xf7)](_0x21723a){const _0x59fd22=a0_0x137879,_0x213bee=a0_0x59f8f1[_0x59fd22(0xec)](_0x21723a)[_0x59fd22(0xf8)]();return this[_0x59fd22(0x112)]()[_0x59fd22(0x101)](_0x213bee);}}export default PrettierFormatter;
@@ -1 +1 @@
1
- const a0_0xe19561=a0_0x2170;(function(_0x300a72,_0x25b516){const _0x54024b=a0_0x2170,_0x3d7791=_0x300a72();while(!![]){try{const _0x3499e4=-parseInt(_0x54024b(0x1db))/0x1+parseInt(_0x54024b(0x1c5))/0x2+-parseInt(_0x54024b(0x1c4))/0x3+-parseInt(_0x54024b(0x1bf))/0x4*(-parseInt(_0x54024b(0x1bb))/0x5)+-parseInt(_0x54024b(0x1e0))/0x6+parseInt(_0x54024b(0x1bd))/0x7+parseInt(_0x54024b(0x1bc))/0x8;if(_0x3499e4===_0x25b516)break;else _0x3d7791['push'](_0x3d7791['shift']());}catch(_0x434942){_0x3d7791['push'](_0x3d7791['shift']());}}}(a0_0x3777,0x237e9));import{spawn}from'child_process';import{STATIC_ANALYSIS}from'../utilities/constants.js';import a0_0x598f72 from'fs/promises';function a0_0x2170(_0x4f5255,_0x41e303){_0x4f5255=_0x4f5255-0x1bb;const _0x3777f7=a0_0x3777();let _0x217073=_0x3777f7[_0x4f5255];if(a0_0x2170['PnIjXj']===undefined){var _0x1ab443=function(_0xb74b6){const _0x193258='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x598f72='',_0x10f2d7='';for(let _0x114844=0x0,_0x1a29ad,_0x1e5702,_0x5adc24=0x0;_0x1e5702=_0xb74b6['charAt'](_0x5adc24++);~_0x1e5702&&(_0x1a29ad=_0x114844%0x4?_0x1a29ad*0x40+_0x1e5702:_0x1e5702,_0x114844++%0x4)?_0x598f72+=String['fromCharCode'](0xff&_0x1a29ad>>(-0x2*_0x114844&0x6)):0x0){_0x1e5702=_0x193258['indexOf'](_0x1e5702);}for(let _0x4add81=0x0,_0x451786=_0x598f72['length'];_0x4add81<_0x451786;_0x4add81++){_0x10f2d7+='%'+('00'+_0x598f72['charCodeAt'](_0x4add81)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x10f2d7);};a0_0x2170['dEbEMP']=_0x1ab443,a0_0x2170['RrHHpw']={},a0_0x2170['PnIjXj']=!![];}const _0x19da50=_0x3777f7[0x0],_0x856bf0=_0x4f5255+_0x19da50,_0x5a02ad=a0_0x2170['RrHHpw'][_0x856bf0];return!_0x5a02ad?(_0x217073=a0_0x2170['dEbEMP'](_0x217073),a0_0x2170['RrHHpw'][_0x856bf0]=_0x217073):_0x217073=_0x5a02ad,_0x217073;}import a0_0x10f2d7 from'path';import a0_0x114844 from'os';class PythonAnalyzer{constructor(_0x1a29ad=null){const _0x10384a=a0_0x2170;this[_0x10384a(0x1d5)]=_0x1a29ad,this['pythonCommand']=null;}async[a0_0xe19561(0x1c0)](_0x1e5702,_0x5adc24,_0x4add81={}){const _0x2471a8=a0_0xe19561;try{const _0x451786=[],_0x198790=await this[_0x2471a8(0x1e3)]();if(!_0x198790)return this[_0x2471a8(0x1d5)]?.[_0x2471a8(0x1cd)](_0x2471a8(0x1d8)),[];const _0xdd38dd=await this[_0x2471a8(0x1e4)](_0x1e5702,_0x5adc24,_0x198790);return _0x451786[_0x2471a8(0x1da)](..._0xdd38dd),this[_0x2471a8(0x1d5)]?.['debug'](_0x2471a8(0x1d6),{'file':_0x1e5702,'totalDiagnostics':_0x451786[_0x2471a8(0x1d4)],'errors':_0x451786['filter'](_0x513535=>_0x513535[_0x2471a8(0x1d7)]===STATIC_ANALYSIS['SEVERITY'][_0x2471a8(0x1d0)])[_0x2471a8(0x1d4)],'warnings':_0x451786[_0x2471a8(0x1d3)](_0x59128e=>_0x59128e['severity']===STATIC_ANALYSIS['SEVERITY'][_0x2471a8(0x1cb)])['length']}),_0x451786;}catch(_0x219a69){return this[_0x2471a8(0x1d5)]?.[_0x2471a8(0x1dc)](_0x2471a8(0x1e5),{'file':_0x1e5702,'error':_0x219a69[_0x2471a8(0x1ca)]}),[];}}async['checkSyntax'](_0x25e4b0,_0x397dd9,_0x35e4c8){const _0x47a876=a0_0xe19561,_0x13d934=[],_0x3df30a=a0_0x114844['tmpdir'](),_0x5db11a=a0_0x10f2d7[_0x47a876(0x1c8)](_0x3df30a,'syntax_check_'+Date['now']()+_0x47a876(0x1be)),_0x4d7596=a0_0x10f2d7['join'](_0x3df30a,'target_'+Date[_0x47a876(0x1e1)]()+_0x47a876(0x1be));try{await a0_0x598f72[_0x47a876(0x1e6)](_0x4d7596,_0x397dd9,'utf-8');const _0x3e58bc='\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_0x598f72['writeFile'](_0x5db11a,_0x3e58bc,_0x47a876(0x1cc));const _0xf969f0=await this[_0x47a876(0x1de)](_0x35e4c8,_0x5db11a,[_0x4d7596]);try{const _0xeca5c1=JSON['parse'](_0xf969f0[_0x47a876(0x1d9)]);if(!_0xeca5c1['success']&&_0xeca5c1['errors'])for(const _0x2bf7a0 of _0xeca5c1[_0x47a876(0x1cf)]){_0x13d934[_0x47a876(0x1da)]({'file':_0x25e4b0,'line':_0x2bf7a0['line']||0x1,'column':_0x2bf7a0['column']||0x1,'severity':STATIC_ANALYSIS['SEVERITY'][_0x47a876(0x1d0)],'rule':'SyntaxError','message':_0x2bf7a0['message'],'category':STATIC_ANALYSIS['CATEGORY'][_0x47a876(0x1c9)],'fixable':![],'source':'python-ast','code':_0x2bf7a0['text']||undefined});}}catch(_0x4b5839){this['logger']?.[_0x47a876(0x1cd)]('Failed\x20to\x20parse\x20Python\x20syntax\x20check\x20result',{'error':_0x4b5839['message'],'stdout':_0xf969f0[_0x47a876(0x1d9)]});}}finally{try{await a0_0x598f72['unlink'](_0x5db11a),await a0_0x598f72['unlink'](_0x4d7596);}catch{}}return _0x13d934;}async[a0_0xe19561(0x1e3)](){const _0x2602a7=a0_0xe19561;if(this['pythonCommand'])return this[_0x2602a7(0x1e2)];const _0x32d4cd=[_0x2602a7(0x1c3),'python'];for(const _0x6204ab of _0x32d4cd){try{const _0x5962f1=await this[_0x2602a7(0x1c2)](_0x6204ab,['--version']);if(_0x5962f1['success'])return this['pythonCommand']=_0x6204ab,this[_0x2602a7(0x1d5)]?.[_0x2602a7(0x1d2)]('Found\x20Python\x20command',{'command':_0x6204ab,'version':_0x5962f1[_0x2602a7(0x1d9)][_0x2602a7(0x1dd)]()}),_0x6204ab;}catch{}}return null;}async['runPythonScript'](_0x104f7d,_0x147137,_0x2892b5=[]){return this['runCommand'](_0x104f7d,[_0x147137,..._0x2892b5]);}async['runCommand'](_0x30de50,_0x3c72d5=[],_0x4f7e01={}){return new Promise((_0x367d5c,_0xfc0d)=>{const _0x4da4d9=a0_0x2170,_0x549567=spawn(_0x30de50,_0x3c72d5,{..._0x4f7e01,'shell':!![]});let _0x530a2b='',_0xdc66ab='';_0x549567['stdout']?.['on'](_0x4da4d9(0x1d1),_0x126e74=>{const _0x365a2d=_0x4da4d9;_0x530a2b+=_0x126e74[_0x365a2d(0x1ce)]();}),_0x549567['stderr']?.['on'](_0x4da4d9(0x1d1),_0x1ca740=>{_0xdc66ab+=_0x1ca740['toString']();}),_0x549567['on']('error',_0x2e1853=>{_0xfc0d(_0x2e1853);}),_0x549567['on'](_0x4da4d9(0x1c1),_0x4dc5d4=>{_0x367d5c({'success':_0x4dc5d4===0x0,'code':_0x4dc5d4,'stdout':_0x530a2b,'stderr':_0xdc66ab});}),setTimeout(()=>{const _0x558c45=_0x4da4d9;_0x549567[_0x558c45(0x1c7)](),_0xfc0d(new Error(_0x558c45(0x1c6)));},0x2710);});}[a0_0xe19561(0x1df)](){const _0x4269fc=a0_0xe19561;return[_0x4269fc(0x1be)];}['supportsAutoFix'](){return![];}}export default PythonAnalyzer;function a0_0x3777(){const _0x367458=['mtbmzKrvAfu','mtu5nZy2nfb0y1DpzG','mte3nZiWnhPeweTusa','lNb5','mti4otKYAfHuv0D3','yw5HBhL6zq','y2XVC2u','CNvUq29TBwfUza','ChL0Ag9UmW','ndKWndy3EeThEvfU','mtC1mZeYy0vRvujL','q29TBwfUzcb0Aw1LB3v0','A2LSBa','AM9PBG','u1Lovefy','BwvZC2fNzq','v0fstKLorW','DxrMltG','D2fYBG','Dg9tDhjPBMC','zxjYB3jZ','rvjst1i','zgf0yq','zgvIDwC','zMLSDgvY','BgvUz3rO','Bg9Nz2vY','uhL0Ag9UigfUywX5C2LZignVBxbSzxrLza','C2v2zxjPDhK','uhL0Ag9Uig5VDcbHDMfPBgfIBguSihnRAxbWAw5NigfUywX5C2LZ','C3rKB3v0','ChvZAa','mtGYmdqZBM1ICffH','zxjYB3i','DhjPBq','CNvUuhL0Ag9Uu2nYAxb0','z2v0u3vWCg9YDgvKrxH0zw5ZAw9UCW','mtC0nJKWqKDAD3j4','BM93','ChL0Ag9Uq29TBwfUza','z2v0uhL0Ag9Uq29TBwfUza','y2HLy2TtEw50yxG','uhL0Ag9UigfUywX5C2LZigzHAwXLza','D3jPDgvgAwXL'];a0_0x3777=function(){return _0x367458;};return a0_0x3777();}
1
+ const a0_0x2ef1d1=a0_0x1f2f;(function(_0x52c9de,_0x13a6f0){const _0x282ac2=a0_0x1f2f,_0x191f21=_0x52c9de();while(!![]){try{const _0x5da796=parseInt(_0x282ac2(0x150))/0x1*(-parseInt(_0x282ac2(0x142))/0x2)+parseInt(_0x282ac2(0x15f))/0x3+-parseInt(_0x282ac2(0x161))/0x4*(-parseInt(_0x282ac2(0x13f))/0x5)+-parseInt(_0x282ac2(0x145))/0x6*(-parseInt(_0x282ac2(0x13c))/0x7)+parseInt(_0x282ac2(0x163))/0x8*(-parseInt(_0x282ac2(0x146))/0x9)+parseInt(_0x282ac2(0x162))/0xa*(parseInt(_0x282ac2(0x140))/0xb)+-parseInt(_0x282ac2(0x167))/0xc;if(_0x5da796===_0x13a6f0)break;else _0x191f21['push'](_0x191f21['shift']());}catch(_0x587263){_0x191f21['push'](_0x191f21['shift']());}}}(a0_0x5982,0xbefbc));import{spawn}from'child_process';import{STATIC_ANALYSIS}from'../utilities/constants.js';import a0_0xf9004c from'fs/promises';import a0_0x174627 from'path';function a0_0x5982(){const _0x17f70b=['zgf0yq','C3vWCg9YDhnbDxrVrML4','zxjYB3jZ','DxrMltG','C3rKB3v0','mJeYmZq4mwzMvLjLCG','y2XVC2u','nJe5ntG0neLfEvHeEG','otCWyLr4y3jo','mZKZntq0sfnbrgjV','ChL0Ag9Uq29TBwfUza','z2v0uhL0Ag9Uq29TBwfUza','D3jPDgvgAwXL','mZaXmZK3nJrLqMzWruK','A2LSBa','cMLTCg9YDcbHC3qkAw1WB3j0ihn5CWPPBxbVCNqGANnVBGOkzgvMignOzwnRx3n5BNrHEcHMAwXLCgf0AcK6cIaGicb0CNK6cIaGicaGicaGD2L0AcbVCgvUkgzPBgvWyxrOlcaNCICSigvUy29KAw5NpsD1DgyTocCPigfZigy6cIaGicaGicaGicaGihnVDxjJzsa9igyUCMvHzcGPcGOGicaGicaGicmGvhj5ihrVihbHCNnLihrOzsbMAwXLcIaGicaGicaGyxn0lNbHCNnLkhnVDxjJzsWGzMLSzw5HBwu9zMLSzxbHDgGPcGOGicaGicaGicmGswyGC3vJy2vZC2z1BcWGBM8GzxjYB3jZcIaGicaGicaGChjPBNqOANnVBI5KDw1WCYH7iNn1y2nLC3mIoIbuCNvLlcaIzxjYB3jZiJOGw119ksKkcIaGicbLEgnLChqGu3LUDgf4rxjYB3iGyxmGztOkicaGicaGicbLCNjVCIa9ihSkicaGicaGicaGicaGiMzPBguIoIbMAwXLCgf0AcWkicaGicaGicaGicaGiMXPBMuIoIbLlMXPBMvUBYbVCIaXlaOGicaGicaGicaGicaIy29SDw1UiJOGzs5VzMzZzxqGB3iGmsWkicaGicaGicaGicaGiM1LC3nHz2uIoIbZDhiOzs5TC2CPlaOGicaGicaGicaGicaIDgv4Dci6iguUDgv4Dc5ZDhjPCcGPigLMiguUDgv4DcbLBhnLiciIcIaGicaGicaGFqOGicaGicaGihbYAw50kgPZB24UzhvTChmOEYjZDwnJzxnZiJOGrMfSC2uSicjLCNjVCNmIoIbBzxjYB3jDFsKPcGOGicaGzxHJzxb0iev4y2vWDgLVBIbHCYbLoGOGicaGicaGigvYCM9Yid0GEWOGicaGicaGicaGicaIzMLSzsi6igzPBgvWyxrOlaOGicaGicaGicaGicaIBgLUzsi6ideScIaGicaGicaGicaGicjJB2X1Bw4IoIaXlaOGicaGicaGicaGicaIBwvZC2fNzsi6ihn0CIHLksWkicaGicaGicaGicaGiNrLEhqIoIaIiGOGicaGicaGih0kicaGicaGicbWCMLUDcHQC29UlMr1BxbZkhSIC3vJy2vZCYi6iezHBhnLlcaIzxjYB3jZiJOGw2vYCM9Yxx0PkqOkAwyGx19Uyw1Lx18Gpt0GiL9FBwfPBL9FiJOkicaGigLMigXLBIHZExmUyxjNDIKGpIaXoGOGicaGicaGignOzwnRx3n5BNrHEcHZExmUyxjNDLSXxsKkicaGigvSC2u6cIaGicaGicaGChjPBNqOANnVBI5KDw1WCYH7iNn1y2nLC3mIoIbgywXZzsWGiMvYCM9YCYi6ifT7iM1LC3nHz2uIoIaItM8GzMLSzsbZCgvJAwzPzwqIFv19ksKk','q0furuDpuLK','n1nIuKfYsa','ChL0Ag9U','rMfPBgvKihrVihbHCNnLifb5DgHVBIbZEw50yxGGy2HLy2SGCMvZDwX0','nw5iAw53Ca','mtq0nZi3tuPuBhzu','BgvUz3rO','ndG0CefiDfLd','u0vwrvjjvfK','z2v0u3vWCg9YDgvKrxH0zw5ZAw9UCW','ndq5odyZoffHyLzOzG','mtCXyLLjv0Hw','zgvIDwC','D2fYBG','ls12zxjZAw9U','BwvZC2fNzq','zMLSDgvY','C3rKzxjY','Dg9tDhjPBMC','Bg9Nz2vY','yw5HBhL6zq','mJi0wfr1BKPw','uhL0Ag9Uig5VDcbHDMfPBgfIBguSihnRAxbWAw5NigfUywX5C2LZ','q29TBwfUzcb0Aw1LB3v0','ChvZAa','y2HLy2TtEw50yxG','Dg1WzgLY','u1Lovefy','zxjYB3i','rM91BMqGuhL0Ag9UignVBw1HBMq','lNb5'];a0_0x5982=function(){return _0x17f70b;};return a0_0x5982();}import a0_0x4ea95f from'os';class PythonAnalyzer{constructor(_0x155b55=null){const _0x45d04a=a0_0x1f2f;this[_0x45d04a(0x14e)]=_0x155b55,this[_0x45d04a(0x164)]=null;}async[a0_0x2ef1d1(0x14f)](_0x554012,_0x10050e,_0x509483={}){const _0xffe371=a0_0x2ef1d1;try{const _0x2c6b51=[],_0x38f325=await this['getPythonCommand']();if(!_0x38f325)return this['logger']?.[_0xffe371(0x148)](_0xffe371(0x151)),[];const _0x39f973=await this['checkSyntax'](_0x554012,_0x10050e,_0x38f325);return _0x2c6b51[_0xffe371(0x153)](..._0x39f973),this['logger']?.[_0xffe371(0x147)]('Python\x20analysis\x20completed',{'file':_0x554012,'totalDiagnostics':_0x2c6b51[_0xffe371(0x141)],'errors':_0x2c6b51[_0xffe371(0x14b)](_0x210497=>_0x210497['severity']===STATIC_ANALYSIS[_0xffe371(0x143)]['ERROR'])[_0xffe371(0x141)],'warnings':_0x2c6b51['filter'](_0x1936b7=>_0x1936b7['severity']===STATIC_ANALYSIS[_0xffe371(0x143)]['WARNING'])[_0xffe371(0x141)]}),_0x2c6b51;}catch(_0x517a93){return this[_0xffe371(0x14e)]?.[_0xffe371(0x157)]('Python\x20analysis\x20failed',{'file':_0x554012,'error':_0x517a93[_0xffe371(0x14a)]}),[];}}async[a0_0x2ef1d1(0x154)](_0x448132,_0x570814,_0x50cfe1){const _0x3216cb=a0_0x2ef1d1,_0x53d09f=[],_0x393381=a0_0x4ea95f[_0x3216cb(0x155)](),_0x15a964=a0_0x174627['join'](_0x393381,'syntax_check_'+Date['now']()+_0x3216cb(0x159)),_0x51da1d=a0_0x174627['join'](_0x393381,'target_'+Date['now']()+_0x3216cb(0x159));try{await a0_0xf9004c[_0x3216cb(0x166)](_0x51da1d,_0x570814,_0x3216cb(0x15d));const _0x39f59a=_0x3216cb(0x13a);await a0_0xf9004c[_0x3216cb(0x166)](_0x15a964,_0x39f59a,'utf-8');const _0x519cd0=await this['runPythonScript'](_0x50cfe1,_0x15a964,[_0x51da1d]);try{const _0x537a02=JSON['parse'](_0x519cd0[_0x3216cb(0x15e)]);if(!_0x537a02['success']&&_0x537a02['errors'])for(const _0x2e3bfe of _0x537a02[_0x3216cb(0x15c)]){_0x53d09f['push']({'file':_0x448132,'line':_0x2e3bfe['line']||0x1,'column':_0x2e3bfe['column']||0x1,'severity':STATIC_ANALYSIS[_0x3216cb(0x143)]['ERROR'],'rule':'SyntaxError','message':_0x2e3bfe[_0x3216cb(0x14a)],'category':STATIC_ANALYSIS[_0x3216cb(0x13b)][_0x3216cb(0x156)],'fixable':![],'source':'python-ast','code':_0x2e3bfe['text']||undefined});}}catch(_0x1dbf30){this[_0x3216cb(0x14e)]?.[_0x3216cb(0x148)](_0x3216cb(0x13e),{'error':_0x1dbf30['message'],'stdout':_0x519cd0['stdout']});}}finally{try{await a0_0xf9004c['unlink'](_0x15a964),await a0_0xf9004c['unlink'](_0x51da1d);}catch{}}return _0x53d09f;}async[a0_0x2ef1d1(0x165)](){const _0x223fd0=a0_0x2ef1d1;if(this['pythonCommand'])return this['pythonCommand'];const _0x122c68=['python3',_0x223fd0(0x13d)];for(const _0x2ca7df of _0x122c68){try{const _0x450c92=await this['runCommand'](_0x2ca7df,[_0x223fd0(0x149)]);if(_0x450c92['success'])return this['pythonCommand']=_0x2ca7df,this[_0x223fd0(0x14e)]?.['debug'](_0x223fd0(0x158),{'command':_0x2ca7df,'version':_0x450c92['stdout']['trim']()}),_0x2ca7df;}catch{}}return null;}async['runPythonScript'](_0x2a4078,_0x987128,_0x4a85b2=[]){return this['runCommand'](_0x2a4078,[_0x987128,..._0x4a85b2]);}async['runCommand'](_0x904d0a,_0x3c1214=[],_0x47ea47={}){return new Promise((_0xcd7790,_0x33209b)=>{const _0x809437=a0_0x1f2f,_0x1bbdcb=spawn(_0x904d0a,_0x3c1214,{..._0x47ea47,'shell':!![]});let _0x10da95='',_0x6cfccc='';_0x1bbdcb[_0x809437(0x15e)]?.['on']('data',_0x31e3ce=>{const _0x39551c=_0x809437;_0x10da95+=_0x31e3ce[_0x39551c(0x14d)]();}),_0x1bbdcb[_0x809437(0x14c)]?.['on'](_0x809437(0x15a),_0x5cd779=>{_0x6cfccc+=_0x5cd779['toString']();}),_0x1bbdcb['on'](_0x809437(0x157),_0x22895d=>{_0x33209b(_0x22895d);}),_0x1bbdcb['on'](_0x809437(0x160),_0x1c6933=>{_0xcd7790({'success':_0x1c6933===0x0,'code':_0x1c6933,'stdout':_0x10da95,'stderr':_0x6cfccc});}),setTimeout(()=>{const _0x3eda44=_0x809437;_0x1bbdcb[_0x3eda44(0x168)](),_0x33209b(new Error(_0x3eda44(0x152)));},0x2710);});}[a0_0x2ef1d1(0x144)](){const _0x3ac843=a0_0x2ef1d1;return[_0x3ac843(0x159)];}[a0_0x2ef1d1(0x15b)](){return![];}}function a0_0x1f2f(_0x29deaa,_0xe9d211){_0x29deaa=_0x29deaa-0x13a;const _0x598299=a0_0x5982();let _0x1f2f5f=_0x598299[_0x29deaa];if(a0_0x1f2f['csjayQ']===undefined){var _0x1162ec=function(_0x30e8b5){const _0x4d0684='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xf9004c='',_0x174627='';for(let _0x4ea95f=0x0,_0x155b55,_0x554012,_0x10050e=0x0;_0x554012=_0x30e8b5['charAt'](_0x10050e++);~_0x554012&&(_0x155b55=_0x4ea95f%0x4?_0x155b55*0x40+_0x554012:_0x554012,_0x4ea95f++%0x4)?_0xf9004c+=String['fromCharCode'](0xff&_0x155b55>>(-0x2*_0x4ea95f&0x6)):0x0){_0x554012=_0x4d0684['indexOf'](_0x554012);}for(let _0x509483=0x0,_0x2c6b51=_0xf9004c['length'];_0x509483<_0x2c6b51;_0x509483++){_0x174627+='%'+('00'+_0xf9004c['charCodeAt'](_0x509483)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x174627);};a0_0x1f2f['XowYhG']=_0x1162ec,a0_0x1f2f['NignqV']={},a0_0x1f2f['csjayQ']=!![];}const _0x5e85bd=_0x598299[0x0],_0x3b6994=_0x29deaa+_0x5e85bd,_0x5d797e=a0_0x1f2f['NignqV'][_0x3b6994];return!_0x5d797e?(_0x1f2f5f=a0_0x1f2f['XowYhG'](_0x1f2f5f),a0_0x1f2f['NignqV'][_0x3b6994]=_0x1f2f5f):_0x1f2f5f=_0x5d797e,_0x1f2f5f;}export default PythonAnalyzer;
@@ -1 +1 @@
1
- function a0_0xab2e(_0x511aed,_0x2081fb){_0x511aed=_0x511aed-0x16f;const _0x5aa9b8=a0_0x5aa9();let _0xab2ee9=_0x5aa9b8[_0x511aed];if(a0_0xab2e['ABxICz']===undefined){var _0x57d5da=function(_0x40e4a4){const _0x446922='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x41c490='',_0xf94c0d='';for(let _0x29d298=0x0,_0x82f2d4,_0x3ec4ec,_0x22654b=0x0;_0x3ec4ec=_0x40e4a4['charAt'](_0x22654b++);~_0x3ec4ec&&(_0x82f2d4=_0x29d298%0x4?_0x82f2d4*0x40+_0x3ec4ec:_0x3ec4ec,_0x29d298++%0x4)?_0x41c490+=String['fromCharCode'](0xff&_0x82f2d4>>(-0x2*_0x29d298&0x6)):0x0){_0x3ec4ec=_0x446922['indexOf'](_0x3ec4ec);}for(let _0x43558f=0x0,_0x118ef4=_0x41c490['length'];_0x43558f<_0x118ef4;_0x43558f++){_0xf94c0d+='%'+('00'+_0x41c490['charCodeAt'](_0x43558f)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xf94c0d);};a0_0xab2e['wbokYv']=_0x57d5da,a0_0xab2e['zEkeaT']={},a0_0xab2e['ABxICz']=!![];}const _0x46b096=_0x5aa9b8[0x0],_0x125736=_0x511aed+_0x46b096,_0x1c6056=a0_0xab2e['zEkeaT'][_0x125736];return!_0x1c6056?(_0xab2ee9=a0_0xab2e['wbokYv'](_0xab2ee9),a0_0xab2e['zEkeaT'][_0x125736]=_0xab2ee9):_0xab2ee9=_0x1c6056,_0xab2ee9;}const a0_0x3af026=a0_0xab2e;function a0_0x5aa9(){const _0x20ea01=['y29S','zgvWzw5Kzw5JAwvZ','mtu4n2zgvLvcAa','yxzHAwXHyMXLu2nHBM5LCNm','mtGWmtG3ntzKCeXiBMW','ywXPyxnLCW','Dw5RBM93BG','C2vJDxjPDhKV','BNbTigf1zgL0igf2ywLSywjSzq','C2vTz3jLCa','zxH0CMe','C2vJDxjPDhK','BM9Kzv9TB2r1BgvZ','CNvUqMfUzgL0','CMvZDwX0CW','ChvZAa','DNvSBNm','C3rKB3v0','mtq3otuWmuv4BxjhvW','DMLH','CMvMzxjLBMnLCW','BgLUzq','BM9YBwfSAxPLuMvZDwX0CW','zxjYB3i','otiYnhjpBfLJuG','zgv0zwn0tgfUz3vHz2u','lNnJyw5UzxjZ','CgLWigLUC3rHBgWGC2vTz3jLCcbpuIb1C2uGrg9JA2vYoIbKB2nRzxiGChvSBcbYzxr1CM50B2nVCNaVC2vTz3jLCa','C2v2zxjPDhK','rvjst1i','yMfUzgL0ic1MigPZB24GiG','DMvYC2LVBG','BwvZC2fNzq','y29Sx29MzNnLDa','u2TPChbPBMCGDgvZDcbMAwXLigzVCIbZzwn1CML0EsbZy2fU','CgfYC2u','v0fstKLorW','CgfYC2vcyw5KAxrszxn1BhrZ','u2vTz3jLCa','tM8GCgfJA2fNzs5QC29UigzVDw5KlcbZA2LWCgLUzYbUCg0GyxvKAxq','y29SDw1U','CNvSzuLK','AxnZDwvFy29UzMLKzw5Jzq','BgLUzxm','Bg9Nz2vY','CgLWqxvKAxq','z2v0sw5ZDgfSBfjLy29TBwvUzgf0Aw9UCW','u2vTz3jLCcbZy2fUBMvYigrLDgvJDgvKicHZExn0zw0P','CgX1z2LUoNnLy3vYAxr5l3jLy29TBwvUzgvK','AxnZDwvFy3DL','nMr6D3HwyW','y29UzMLKzw5Jzq','BwfWtNbTu2v2zxjPDhK','mJrcy2vtEfa','CgfYC2voCg1bDwrPDfjLC3vSDhm','zgLYBMfTzq','y3DK','ntiYogHIsgLjEG','tM9Uzq','CNvUu2vTz3jLCa','C3rHCNq','y2HLy2TFAwq','CNvUrvnmAw50u2vJDxjPDhK','CNvUtNbTqxvKAxq','BNbTqxvKAxq','CgLWlwf1zgL0','zgv0zwn0qxzHAwXHyMXLu2nHBM5LCNm','C29Tzq','CMvXDwLYzw1LBNrZlNr4Da','odKXmJCZoxfszKHUyG','B3DHC3a','Dg9mB3DLCKnHC2u','u0vwrvjjvfK','CgLWlwf1zgL0ic0TzM9YBwf0igPZB24','BMfTzq','BwfWrvnmAw50u2v2zxjPDhK','mtu4q3bvDMXc','sMf2yvnJCMLWDc9uExbLu2nYAxb0ihnLy3vYAxr5ihj1BgvZ','ndi2ntu5s1LIBg9I','Bg9JywXty2fUBMvYrgLY','u2vTz3jLCcbZy2fUigzHAwXLza','CgLWlwf1zgL0igrLDgvJDgvK','CgfJA2fNzq','DNvSBMvYywjPBgL0AwvZ','q1Dflq','zxnSAw50lxbSDwDPBI1Zzwn1CML0Eq','Dg9vChbLCKnHC2u','C2TPCfrLC3rgAwXLCW','Bw9YzuLUzM8','yw5HBhL6zq','u2vJDxjPDhKGAxnZDwuGzgv0zwn0zwq','AxnZDwvFDgv4Da','mJCXoti4nvngDvnHvG','AMf2yxnJCMLWDa','Axnuzxn0rMLSzq','zgvIDwC','BNbTlwf1zgL0','CgfYC2vfu0XPBNrszxn1BhrZ','y3DL','mJbozLD6uNe','BwvZC2fNzxm','zxnSAw50lxnLy3vYAxr5','zxnSAw50lxbSDwDPBI1Zzwn1CML0EsbKzxrLy3rLza','DhLWzxnJCMLWDa','uhL0Ag9UihnLy3vYAxr5ihnJyw5Uzxi','zxnSAw50u2vJDxjPDhK','C2nHBM5LCKnHy2HL','CgfYC2vtzw1NCMvWuMvZDwX0CW','CgfJA2fNzs5QC29U','Bwv0ywrHDge','BwfWugLWqxvKAxrtzxzLCML0Eq','rMfPBgvKihrVihbHCNnLig5WBsbHDwrPDcbVDxrWDxq','Cgf0Aa','ChL0Ag9U','DxjS','zMLSzw5HBwu','q1jjveLdquW','CgLWlwf1zgL0ig5VDcbHDMfPBgfIBgu'];a0_0x5aa9=function(){return _0x20ea01;};return a0_0x5aa9();}(function(_0x44cf42,_0x25ec69){const _0x353ea5=a0_0xab2e,_0x1c646c=_0x44cf42();while(!![]){try{const _0x36b7a7=-parseInt(_0x353ea5(0x1ac))/0x1*(parseInt(_0x353ea5(0x1e0))/0x2)+parseInt(_0x353ea5(0x196))/0x3*(-parseInt(_0x353ea5(0x1cd))/0x4)+parseInt(_0x353ea5(0x17a))/0x5*(-parseInt(_0x353ea5(0x1c6))/0x6)+parseInt(_0x353ea5(0x1e2))/0x7*(-parseInt(_0x353ea5(0x1c9))/0x8)+parseInt(_0x353ea5(0x1a6))/0x9*(parseInt(_0x353ea5(0x181))/0xa)+parseInt(_0x353ea5(0x1d9))/0xb+parseInt(_0x353ea5(0x198))/0xc;if(_0x36b7a7===_0x25ec69)break;else _0x1c646c['push'](_0x1c646c['shift']());}catch(_0x3d0531){_0x1c646c['push'](_0x1c646c['shift']());}}}(a0_0x5aa9,0x788ff));import{exec}from'child_process';import{promisify}from'util';import a0_0x41c490 from'path';import a0_0xf94c0d from'fs/promises';import{STATIC_ANALYSIS}from'../utilities/constants.js';const execAsync=promisify(exec);class SecurityAnalyzer{constructor(_0x29d298=null){const _0x45976a=a0_0xab2e;this['logger']=_0x29d298,this['availableScanners']=null,this[_0x45976a(0x188)]=new Map(),this['localScannerDir']=a0_0x41c490['join'](process[_0x45976a(0x1cc)](),_0x45976a(0x1a0),_0x45976a(0x1ae));}async[a0_0x3af026(0x1d6)](){const _0x3191b3=a0_0x3af026;if(this[_0x3191b3(0x197)]!==null)return this[_0x3191b3(0x197)];const _0x82f2d4={'semgrep':![],'bandit':![],'npmAudit':![],'pipAudit':![],'eslintSecurity':![]};try{const _0x3ec4ec=a0_0x41c490['join'](this[_0x3191b3(0x1e3)],_0x3191b3(0x19d));try{await a0_0xf94c0d['access'](_0x3ec4ec),_0x82f2d4['semgrep']=!![],this['logger']?.[_0x3191b3(0x17d)]('Semgrep\x20scanner\x20detected\x20(local)');}catch{await execAsync('semgrep\x20--version',{'timeout':0x1388}),_0x82f2d4[_0x3191b3(0x19d)]=!![],this[_0x3191b3(0x1c0)]?.[_0x3191b3(0x17d)](_0x3191b3(0x1c3));}}catch(_0x22654b){this['logger']?.['debug']('Semgrep\x20not\x20available',{'error':_0x22654b[_0x3191b3(0x1b4)]});}try{await execAsync('bandit\x20--version',{'timeout':0x1388}),_0x82f2d4['bandit']=!![],this['logger']?.['debug']('Bandit\x20scanner\x20detected');}catch(_0x43558f){this['logger']?.[_0x3191b3(0x17d)]('Bandit\x20not\x20available',{'error':_0x43558f['message']});}try{await execAsync('npm\x20--version',{'timeout':0x1388}),_0x82f2d4[_0x3191b3(0x1d4)]=!![],this[_0x3191b3(0x1c0)]?.['debug'](_0x3191b3(0x19c));}catch(_0x118ef4){this['logger']?.['debug']('npm\x20not\x20available',{'error':_0x118ef4[_0x3191b3(0x1b4)]});}try{await execAsync('pip-audit\x20--version',{'timeout':0x1388}),_0x82f2d4['pipAudit']=!![],this['logger']?.[_0x3191b3(0x17d)](_0x3191b3(0x16f));}catch(_0xaecce4){this[_0x3191b3(0x1c0)]?.[_0x3191b3(0x17d)](_0x3191b3(0x193),{'error':_0xaecce4['message']});}try{const _0x7ddaeb=await execAsync('npm\x20list\x20eslint-plugin-security\x20--depth=0\x20--json',{'timeout':0x1388,'cwd':process['cwd']()}),_0xadcd9=JSON[_0x3191b3(0x1b7)](_0x7ddaeb[_0x3191b3(0x1a5)]);_0xadcd9[_0x3191b3(0x195)]&&_0xadcd9['dependencies'][_0x3191b3(0x173)]&&(_0x82f2d4['eslintSecurity']=!![],this[_0x3191b3(0x1c0)]?.[_0x3191b3(0x17d)](_0x3191b3(0x184)));}catch(_0x5e46bb){this[_0x3191b3(0x1c0)]?.['debug']('eslint-plugin-security\x20not\x20available',{'error':_0x5e46bb[_0x3191b3(0x1b4)]});}return this['availableScanners']=_0x82f2d4,_0x82f2d4;}async[a0_0x3af026(0x177)](_0x5626b5,_0x4c7aff,_0x5dcee0={}){const _0x56f084=a0_0x3af026,_0x5e1079=[],_0x213a42=await this['detectAvailableScanners'](),_0x541668=this['detectLanguage'](_0x5626b5);if(_0x5dcee0[_0x56f084(0x175)]!==![]&&this[_0x56f084(0x17c)](_0x5626b5))return this[_0x56f084(0x1c0)]?.[_0x56f084(0x17d)](_0x56f084(0x1b6),{'filePath':_0x5626b5}),[];if(_0x541668===_0x56f084(0x17b)||_0x541668===_0x56f084(0x185)){if(_0x213a42[_0x56f084(0x19d)]){const _0x27ea1b=await this[_0x56f084(0x1cf)](_0x5626b5,[_0x541668],_0x5dcee0);_0x5e1079['push'](..._0x27ea1b);}if(_0x213a42[_0x56f084(0x187)]){const _0x3fb475=await this[_0x56f084(0x1d2)](_0x5626b5,_0x4c7aff,_0x5dcee0);_0x5e1079['push'](..._0x3fb475);}}if(_0x541668===_0x56f084(0x18f)){if(_0x213a42['bandit']){const _0x4fdb6d=await this['runBandit'](_0x5626b5,_0x5dcee0);_0x5e1079['push'](..._0x4fdb6d);}if(_0x213a42['semgrep']){const _0x3664b5=await this['runSemgrep'](_0x5626b5,[_0x541668],_0x5dcee0);_0x5e1079['push'](..._0x3664b5);}}return _0x5e1079['length']===0x0&&!this['hasScannersForLanguage'](_0x213a42,_0x541668)&&this['logger']?.['warn']('No\x20security\x20scanners\x20available\x20for\x20language',{'language':_0x541668,'filePath':_0x5626b5}),this[_0x56f084(0x1aa)](_0x5e1079);}async['analyzeProject'](_0x5c4429,_0x4c873b,_0x1e7af3={}){const _0x1933dc=a0_0x3af026,_0x56a931=[],_0x2ba275=await this['detectAvailableScanners']();if(_0x4c873b===_0x1933dc(0x17b)||_0x4c873b==='typescript'){if(_0x2ba275['npmAudit']){const _0x155480=await this[_0x1933dc(0x1d3)](_0x5c4429,_0x1e7af3);_0x56a931[_0x1933dc(0x1a3)](..._0x155480);}}if(_0x4c873b===_0x1933dc(0x18f)){if(_0x2ba275[_0x1933dc(0x1c1)]){const _0x4ebfa4=await this['runPipAudit'](_0x5c4429,_0x1e7af3);_0x56a931['push'](..._0x4ebfa4);}}return this['normalizeResults'](_0x56a931);}async[a0_0x3af026(0x1cf)](_0x401fee,_0x59ae76,_0x3bbc45={}){const _0x25ca8b=a0_0x3af026;try{const _0x491c29=a0_0x41c490[_0x25ca8b(0x1cb)](_0x401fee),_0x208300=await execAsync('semgrep\x20--config=auto\x20--json\x20\x22'+_0x401fee+'\x22',{'maxBuffer':0xa*0x400*0x400,'timeout':0x7530,'cwd':_0x491c29}),_0x39cedd=JSON['parse'](_0x208300[_0x25ca8b(0x1a5)]);return this[_0x25ca8b(0x189)](_0x39cedd);}catch(_0x27d715){if(_0x27d715['stdout'])try{const _0x3b170a=JSON['parse'](_0x27d715['stdout']);return this['parseSemgrepResults'](_0x3b170a);}catch(_0x4470d6){this[_0x25ca8b(0x1c0)]?.['error']('Failed\x20to\x20parse\x20Semgrep\x20output',{'error':_0x4470d6[_0x25ca8b(0x1b4)],'stdout':_0x27d715['stdout']});}return this['logger']?.[_0x25ca8b(0x1ab)](_0x25ca8b(0x1e4),{'error':_0x27d715['message']}),[];}}['parseSemgrepResults'](_0x2b0c80){const _0x3457ce=a0_0x3af026,_0x514f2e=[];if(_0x2b0c80[_0x3457ce(0x1a2)]&&Array['isArray'](_0x2b0c80[_0x3457ce(0x1a2)]))for(const _0x4f10d8 of _0x2b0c80[_0x3457ce(0x1a2)]){_0x514f2e['push']({'file':_0x4f10d8[_0x3457ce(0x18e)],'line':_0x4f10d8['start']?.[_0x3457ce(0x1a9)]||0x1,'column':_0x4f10d8[_0x3457ce(0x1d0)]?.[_0x3457ce(0x194)]||0x1,'severity':this['mapSemgrepSeverity'](_0x4f10d8[_0x3457ce(0x19e)]?.[_0x3457ce(0x1b0)]),'rule':_0x4f10d8[_0x3457ce(0x1d1)],'message':_0x4f10d8[_0x3457ce(0x19e)]?.['message']||_0x4f10d8[_0x3457ce(0x19e)]?.[_0x3457ce(0x1bf)]||_0x3457ce(0x178),'category':'security','scanner':'semgrep','cwe':_0x4f10d8['extra']?.['metadata']?.[_0x3457ce(0x180)],'owasp':_0x4f10d8['extra']?.[_0x3457ce(0x18b)]?.[_0x3457ce(0x1da)],'confidence':_0x4f10d8['extra']?.[_0x3457ce(0x18b)]?.[_0x3457ce(0x1c7)],'references':_0x4f10d8['extra']?.[_0x3457ce(0x18b)]?.[_0x3457ce(0x1a8)]});}return _0x514f2e;}async[a0_0x3af026(0x1a1)](_0x4ac52e,_0x1747a0={}){const _0x430de7=a0_0x3af026;try{const _0x1c2626=await execAsync(_0x430de7(0x1b2)+_0x4ac52e+'\x22',{'maxBuffer':0xa*0x400*0x400,'timeout':0x7530}),_0x32c04d=JSON[_0x430de7(0x1b7)](_0x1c2626[_0x430de7(0x1a5)]);return this[_0x430de7(0x1b9)](_0x32c04d);}catch(_0x166c4c){if(_0x166c4c[_0x430de7(0x1a5)])try{const _0x4a0e08=JSON['parse'](_0x166c4c[_0x430de7(0x1a5)]);return this[_0x430de7(0x1b9)](_0x4a0e08);}catch(_0x3af3ab){this[_0x430de7(0x1c0)]?.['error']('Failed\x20to\x20parse\x20Bandit\x20output',{'error':_0x3af3ab['message']});}return this['logger']?.[_0x430de7(0x1ab)]('Bandit\x20scan\x20failed',{'error':_0x166c4c['message']}),[];}}['parseBanditResults'](_0x30866b){const _0x4ea54e=a0_0x3af026,_0x112006=[];if(_0x30866b['results']&&Array['isArray'](_0x30866b[_0x4ea54e(0x1a2)]))for(const _0x206eef of _0x30866b['results']){_0x112006['push']({'file':_0x206eef[_0x4ea54e(0x191)],'line':_0x206eef['line_number']||0x1,'column':_0x206eef[_0x4ea54e(0x1b5)]||0x1,'severity':this['mapBanditSeverity'](_0x206eef['issue_severity']),'rule':_0x206eef['test_id'],'message':_0x206eef[_0x4ea54e(0x179)],'category':'security','scanner':'bandit','cwe':_0x206eef[_0x4ea54e(0x1c5)]?.['id']?_0x4ea54e(0x172)+_0x206eef['issue_cwe']['id']:null,'confidence':_0x206eef[_0x4ea54e(0x1be)],'moreInfo':_0x206eef['more_info']});}return _0x112006;}async['runESLintSecurity'](_0x3fc2cb,_0x176128,_0xe74c40={}){const _0x26bb9f=a0_0x3af026;try{const {ESLint:_0x56dfb2}=await import('eslint'),_0x508fcf=new _0x56dfb2({'overrideConfig':{'plugins':[_0x26bb9f(0x19f)],'extends':[_0x26bb9f(0x1c4)],'parserOptions':{'ecmaVersion':'latest','sourceType':'module'}},'useEslintrc':![]}),_0x2b3dc5=await _0x508fcf['lintText'](_0x176128,{'filePath':_0x3fc2cb});return this[_0x26bb9f(0x17f)](_0x2b3dc5,_0x3fc2cb);}catch(_0x559e3b){return this[_0x26bb9f(0x1c0)]?.['error']('ESLint\x20security\x20scan\x20failed',{'error':_0x559e3b['message'],'filePath':_0x3fc2cb}),[];}}[a0_0x3af026(0x17f)](_0x523be1,_0x16f8fa){const _0x396d3c=a0_0x3af026,_0x1ff07f=[];for(const _0x3d8c04 of _0x523be1){if(_0x3d8c04['messages']&&Array['isArray'](_0x3d8c04[_0x396d3c(0x182)]))for(const _0x105be0 of _0x3d8c04[_0x396d3c(0x182)]){_0x105be0[_0x396d3c(0x1bd)]&&_0x105be0[_0x396d3c(0x1bd)]['startsWith'](_0x396d3c(0x19b))&&_0x1ff07f[_0x396d3c(0x1a3)]({'file':_0x16f8fa,'line':_0x105be0[_0x396d3c(0x1a9)]||0x1,'column':_0x105be0[_0x396d3c(0x1bc)]||0x1,'severity':this[_0x396d3c(0x1df)](_0x105be0['severity']),'rule':_0x105be0['ruleId'],'message':_0x105be0[_0x396d3c(0x1b4)],'category':'security','scanner':_0x396d3c(0x183),'fixable':_0x105be0['fix']!==undefined});}}return _0x1ff07f;}async['runNpmAudit'](_0x2f5286,_0x270025={}){const _0xb88e30=a0_0x3af026;try{const _0x448346=a0_0x41c490['join'](_0x2f5286,_0xb88e30(0x18a));try{await a0_0xf94c0d['access'](_0x448346);}catch{return this['logger']?.['debug'](_0xb88e30(0x1bb)),[];}const _0x3f19d3=await execAsync('npm\x20audit\x20--json',{'cwd':_0x2f5286,'maxBuffer':0xa*0x400*0x400,'timeout':0xea60}),_0x1daf3c=JSON[_0xb88e30(0x1b7)](_0x3f19d3['stdout']);return this[_0xb88e30(0x1ca)](_0x1daf3c);}catch(_0x4fddca){if(_0x4fddca[_0xb88e30(0x1a5)])try{const _0x4934fd=JSON[_0xb88e30(0x1b7)](_0x4fddca['stdout']);return this['parseNpmAuditResults'](_0x4934fd);}catch(_0x2d6f05){this[_0xb88e30(0x1c0)]?.['error'](_0xb88e30(0x18d),{'error':_0x2d6f05['message']});}return[];}}['parseNpmAuditResults'](_0x4de78e){const _0x713297=a0_0x3af026,_0x367553=[];if(_0x4de78e['vulnerabilities'])for(const [_0x2eb6b0,_0x51139c]of Object['entries'](_0x4de78e[_0x713297(0x171)])){_0x367553['push']({'file':'package.json','line':0x1,'column':0x1,'severity':this['mapNpmSeverity'](_0x51139c[_0x713297(0x1b0)]),'rule':'npm-'+(_0x51139c[_0x713297(0x1a7)][0x0]?.['source']||'advisory'),'message':_0x2eb6b0+':\x20'+(_0x51139c[_0x713297(0x1a7)][0x0]?.['title']||'Security\x20vulnerability'),'category':'security','scanner':_0x713297(0x17e),'package':_0x2eb6b0,'vulnerableVersions':_0x51139c['range'],'patchedVersions':_0x51139c['fixAvailable']?'Available':_0x713297(0x1ce),'cve':_0x51139c['via'][0x0]?.['cve'],'cvss':_0x51139c[_0x713297(0x1a7)][0x0]?.['cvss'],'references':_0x51139c['via'][0x0]?.[_0x713297(0x190)]?[_0x51139c['via'][0x0][_0x713297(0x190)]]:[]});}return _0x367553;}async['runPipAudit'](_0x5f136a,_0x370147={}){const _0x1ce2d5=a0_0x3af026;try{const requirementsPath=a0_0x41c490['join'](_0x5f136a,'requirements.txt');try{await a0_0xf94c0d['access'](requirementsPath);}catch{return this[_0x1ce2d5(0x1c0)]?.[_0x1ce2d5(0x17d)]('No\x20requirements.txt\x20found,\x20skipping\x20pip-audit'),[];}const _0x429a13=await execAsync(_0x1ce2d5(0x1dd),{'cwd':_0x5f136a,'maxBuffer':0xa*0x400*0x400,'timeout':0xea60}),_0x2248eb=JSON['parse'](_0x429a13[_0x1ce2d5(0x1a5)]);return this['parsePipAuditResults'](_0x2248eb);}catch(_0x22ed47){if(_0x22ed47['stdout'])try{const _0x542926=JSON[_0x1ce2d5(0x1b7)](_0x22ed47[_0x1ce2d5(0x1a5)]);return this['parsePipAuditResults'](_0x542926);}catch(_0x3d5fd3){this['logger']?.['error']('Failed\x20to\x20parse\x20pip-audit\x20output',{'error':_0x3d5fd3['message']});}return[];}}['parsePipAuditResults'](_0x32ed88){const _0x53517b=a0_0x3af026,_0x2f90ab=[];if(_0x32ed88[_0x53517b(0x195)]&&Array['isArray'](_0x32ed88['dependencies']))for(const _0x1d34d5 of _0x32ed88[_0x53517b(0x195)]){if(_0x1d34d5['vulns']&&Array['isArray'](_0x1d34d5['vulns']))for(const _0x381d38 of _0x1d34d5[_0x53517b(0x1a4)]){_0x2f90ab[_0x53517b(0x1a3)]({'file':_0x53517b(0x1d8),'line':0x1,'column':0x1,'severity':this[_0x53517b(0x18c)](_0x381d38['severity']),'rule':_0x381d38['id'],'message':_0x1d34d5[_0x53517b(0x1de)]+':\x20'+(_0x381d38['description']||'Security\x20vulnerability'),'category':_0x53517b(0x19f),'scanner':_0x53517b(0x1d5),'package':_0x1d34d5['name'],'vulnerableVersion':_0x1d34d5[_0x53517b(0x1b3)],'fixedVersions':_0x381d38['fix_versions'],'references':_0x381d38[_0x53517b(0x199)]||[]});}}return _0x2f90ab;}[a0_0x3af026(0x1ad)](_0x41a7ca){const _0x28d5ad=a0_0x3af026,_0x245f3d=a0_0x41c490['extname'](_0x41a7ca)['toLowerCase'](),_0x5f6588={'.js':_0x28d5ad(0x17b),'.jsx':'javascript','.mjs':_0x28d5ad(0x17b),'.cjs':_0x28d5ad(0x17b),'.ts':_0x28d5ad(0x185),'.tsx':'typescript','.py':_0x28d5ad(0x18f)};return _0x5f6588[_0x245f3d]||null;}[a0_0x3af026(0x17c)](_0x338020){const _0x17e046=a0_0x3af026,_0x589b2c=[/\.test\./,/\.spec\./,/__tests__\//,/\/tests?\//,/\.test$/,/\.spec$/];return _0x589b2c[_0x17e046(0x1d7)](_0x2f2277=>_0x2f2277['test'](_0x338020));}['hasScannersForLanguage'](_0x19964f,_0x29fb57){const _0x59ac37=a0_0x3af026;if(_0x29fb57==='javascript'||_0x29fb57==='typescript')return _0x19964f['semgrep']||_0x19964f['eslintSecurity'];if(_0x29fb57===_0x59ac37(0x18f))return _0x19964f['bandit']||_0x19964f['semgrep'];return![];}[a0_0x3af026(0x1aa)](_0x3daed1){const _0x32c2a2=a0_0x3af026;return _0x3daed1['map'](_0x31d151=>({'file':_0x31d151['file'],'line':_0x31d151['line']||0x1,'column':_0x31d151[_0x32c2a2(0x1bc)]||0x1,'severity':_0x31d151[_0x32c2a2(0x1b0)]||STATIC_ANALYSIS['SEVERITY']['WARNING'],'rule':_0x31d151['rule']||_0x32c2a2(0x19a),'message':_0x31d151[_0x32c2a2(0x1b4)]||'Security\x20issue\x20detected','category':'security','scanner':_0x31d151['scanner'],'cwe':_0x31d151[_0x32c2a2(0x180)]||null,'owasp':_0x31d151['owasp']||null,'confidence':_0x31d151[_0x32c2a2(0x1c7)]||null,'fixable':_0x31d151['fixable']||![],'remediation':_0x31d151['remediation']||_0x31d151[_0x32c2a2(0x176)]||null,'references':_0x31d151[_0x32c2a2(0x1a8)]||[],'package':_0x31d151[_0x32c2a2(0x170)]||null}));}['mapSemgrepSeverity'](_0x54d885){const _0x32e285=a0_0x3af026,_0x282624={'ERROR':STATIC_ANALYSIS['SEVERITY'][_0x32e285(0x192)],'WARNING':STATIC_ANALYSIS[_0x32e285(0x1dc)]['ERROR'],'INFO':STATIC_ANALYSIS[_0x32e285(0x1dc)]['WARNING']};return _0x282624[_0x54d885?.[_0x32e285(0x174)]()]||STATIC_ANALYSIS[_0x32e285(0x1dc)][_0x32e285(0x1b8)];}['mapBanditSeverity'](_0x22b4ca){const _0x438038=a0_0x3af026,_0x28160e={'HIGH':STATIC_ANALYSIS[_0x438038(0x1dc)][_0x438038(0x192)],'MEDIUM':STATIC_ANALYSIS['SEVERITY']['ERROR'],'LOW':STATIC_ANALYSIS['SEVERITY']['WARNING']};return _0x28160e[_0x22b4ca?.['toUpperCase']()]||STATIC_ANALYSIS['SEVERITY'][_0x438038(0x1b8)];}['mapESLintSeverity'](_0x1bc16a){const _0x39286e=a0_0x3af026;return _0x1bc16a===0x2?STATIC_ANALYSIS['SEVERITY']['ERROR']:STATIC_ANALYSIS[_0x39286e(0x1dc)][_0x39286e(0x1b8)];}[a0_0x3af026(0x1c8)](_0x23d8cb){const _0x5f5369=a0_0x3af026,_0x3be271={'critical':STATIC_ANALYSIS[_0x5f5369(0x1dc)]['CRITICAL'],'high':STATIC_ANALYSIS['SEVERITY']['CRITICAL'],'moderate':STATIC_ANALYSIS['SEVERITY'][_0x5f5369(0x1b1)],'low':STATIC_ANALYSIS['SEVERITY'][_0x5f5369(0x1b8)],'info':STATIC_ANALYSIS[_0x5f5369(0x1dc)]['INFO']};return _0x3be271[_0x23d8cb?.[_0x5f5369(0x1db)]()]||STATIC_ANALYSIS['SEVERITY'][_0x5f5369(0x1b8)];}['mapPipAuditSeverity'](_0x518489){const _0x5613e9=a0_0x3af026;if(!_0x518489)return STATIC_ANALYSIS[_0x5613e9(0x1dc)][_0x5613e9(0x1b1)];const _0x2e397a={'critical':STATIC_ANALYSIS[_0x5613e9(0x1dc)]['CRITICAL'],'high':STATIC_ANALYSIS['SEVERITY'][_0x5613e9(0x192)],'medium':STATIC_ANALYSIS['SEVERITY']['ERROR'],'low':STATIC_ANALYSIS[_0x5613e9(0x1dc)]['WARNING']};return _0x2e397a[_0x518489?.['toLowerCase']()]||STATIC_ANALYSIS[_0x5613e9(0x1dc)][_0x5613e9(0x1b1)];}async['getScannerStatus'](){const _0x2c553d=a0_0x3af026,_0xf57cc4=await this[_0x2c553d(0x1d6)]();return{'scanners':_0xf57cc4,'recommendations':this[_0x2c553d(0x1c2)](_0xf57cc4)};}['getInstallRecommendations'](_0x2ae0bf){const _0x3903a6=a0_0x3af026,_0x307eb2=[];return!_0x2ae0bf[_0x3903a6(0x19d)]&&_0x307eb2['push']({'scanner':_0x3903a6(0x1ba),'reason':'Multi-language\x20SAST\x20with\x20extensive\x20security\x20rules','install':_0x3903a6(0x1af),'priority':'high'}),!_0x2ae0bf['bandit']&&_0x307eb2[_0x3903a6(0x1a3)]({'scanner':'Bandit','reason':_0x3903a6(0x186),'install':'pip\x20install\x20bandit','priority':'medium'}),!_0x2ae0bf['eslintSecurity']&&_0x307eb2['push']({'scanner':'eslint-plugin-security','reason':_0x3903a6(0x1e1),'install':'npm\x20install\x20--save-dev\x20eslint-plugin-security','priority':'medium'}),!_0x2ae0bf[_0x3903a6(0x1c1)]&&_0x307eb2['push']({'scanner':'pip-audit','reason':'Python\x20dependency\x20vulnerability\x20scanner','install':'pip\x20install\x20pip-audit','priority':'low'}),_0x307eb2;}}export default SecurityAnalyzer;
1
+ function a0_0x51dc(_0x494c77,_0x14131f){_0x494c77=_0x494c77-0xd0;const _0x256b0d=a0_0x256b();let _0x51dc04=_0x256b0d[_0x494c77];if(a0_0x51dc['gStzQb']===undefined){var _0x5c5ade=function(_0x2ff081){const _0x8bf54c='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x59ba5c='',_0x5cb32b='';for(let _0x3c8091=0x0,_0x1bb973,_0xd38f34,_0x211609=0x0;_0xd38f34=_0x2ff081['charAt'](_0x211609++);~_0xd38f34&&(_0x1bb973=_0x3c8091%0x4?_0x1bb973*0x40+_0xd38f34:_0xd38f34,_0x3c8091++%0x4)?_0x59ba5c+=String['fromCharCode'](0xff&_0x1bb973>>(-0x2*_0x3c8091&0x6)):0x0){_0xd38f34=_0x8bf54c['indexOf'](_0xd38f34);}for(let _0x4e7473=0x0,_0x80c13=_0x59ba5c['length'];_0x4e7473<_0x80c13;_0x4e7473++){_0x5cb32b+='%'+('00'+_0x59ba5c['charCodeAt'](_0x4e7473)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5cb32b);};a0_0x51dc['ZfJsbj']=_0x5c5ade,a0_0x51dc['BdIoHH']={},a0_0x51dc['gStzQb']=!![];}const _0x27486b=_0x256b0d[0x0],_0x107283=_0x494c77+_0x27486b,_0x3f7080=a0_0x51dc['BdIoHH'][_0x107283];return!_0x3f7080?(_0x51dc04=a0_0x51dc['ZfJsbj'](_0x51dc04),a0_0x51dc['BdIoHH'][_0x107283]=_0x51dc04):_0x51dc04=_0x3f7080,_0x51dc04;}const a0_0x3d5947=a0_0x51dc;(function(_0x3a5e13,_0x5130b7){const _0x15de8b=a0_0x51dc,_0x2ce71a=_0x3a5e13();while(!![]){try{const _0x5664fb=-parseInt(_0x15de8b(0xf3))/0x1*(-parseInt(_0x15de8b(0x122))/0x2)+-parseInt(_0x15de8b(0x120))/0x3*(parseInt(_0x15de8b(0xea))/0x4)+-parseInt(_0x15de8b(0x123))/0x5+-parseInt(_0x15de8b(0x12c))/0x6*(-parseInt(_0x15de8b(0x10d))/0x7)+parseInt(_0x15de8b(0x13d))/0x8*(parseInt(_0x15de8b(0x10a))/0x9)+parseInt(_0x15de8b(0xd7))/0xa*(parseInt(_0x15de8b(0x127))/0xb)+-parseInt(_0x15de8b(0x13b))/0xc;if(_0x5664fb===_0x5130b7)break;else _0x2ce71a['push'](_0x2ce71a['shift']());}catch(_0x3b0dc1){_0x2ce71a['push'](_0x2ce71a['shift']());}}}(a0_0x256b,0x36f64));import{exec}from'child_process';import{promisify}from'util';import a0_0x59ba5c from'path';import a0_0x5cb32b from'fs/promises';function a0_0x256b(){const _0x27a718=['C3rKB3v0','z2v0u2nHBM5LCLn0yxr1CW','zgvWzw5Kzw5JAwvZ','DgvZDf9Pza','C2vJDxjPDhK','DNvSBMvYywjPBgL0AwvZ','zw50CMLLCW','u2vJDxjPDhKGDNvSBMvYywjPBgL0Eq','DgvZDa','CMvMzxjLBMnLCW','Bw9YzuLUzM8','yMfUzgL0','CMvZDwX0CW','AxnbCNjHEq','BwfWtNbTu2v2zxjPDhK','ywr2AxnVCNK','m2XzwfHWvW','CNvUrvnmAw50u2vJDxjPDhK','mtaYCLbWDKrf','mJm3odeWzeroCMzs','C2vTz3jLCa','AxnZDwvFC2v2zxjPDhK','y29S','otuYotniyxnhshC','BNbTig5VDcbHDMfPBgfIBgu','DMLH','CgLWqxvKAxq','zxH0CMe','mJK0CfvIuhn5','qxzHAwXHyMXL','C3rHCNq','BwvKAxvT','Bgf0zxn0','CgLWlwf1zgL0igrLDgvJDgvK','rvnmAw50ihnLy3vYAxr5ihnJyw4GzMfPBgvK','z2v0sw5ZDgfSBfjLy29TBwvUzgf0Aw9UCW','ChvZAa','AM9PBG','q1Dflq','zgLYBMfTzq','ChL0Ag9U','y3DL','lNnJyw5UzxjZ','ndC1mZy5mK15vxblEq','BwfWrvnmAw50u2v2zxjPDhK','mZqWogPfAKfsAa','CNvUu2vTz3jLCa','BwvZC2fNzxm','zgv0zwn0tgfUz3vHz2u','DhLWzxnJCMLWDa','BM9YBwfSAxPLuMvZDwX0CW','zgv0zwn0qxzHAwXHyMXLu2nHBM5LCNm','yMfUzgL0ic1MigPZB24GiG','zxnSAw50lxbSDwDPBI1Zzwn1CML0EsbUB3qGyxzHAwXHyMXL','zgvIDwC','uhL0Ag9UihnLy3vYAxr5ihnJyw5Uzxi','Bwv0ywrHDge','AxnZDwvFy3DL','CgLWlwf1zgL0ig5VDcbHDMfPBgfIBgu','zxnSAw50lxbSDwDPBI1Zzwn1CML0Eq','tM8GCgfJA2fNzs5QC29UigzVDw5KlcbZA2LWCgLUzYbUCg0GyxvKAxq','Dg9vChbLCKnHC2u','Cgf0Aa','yxzHAwXHyMXLu2nHBM5LCNm','v0fstKLorW','zxnSAw50lxnLy3vYAxr5','CNvSzuLK','ndeWqwvcrg9X','C2vTz3jLCcaTlwnVBMzPzZ1HDxrVic0TANnVBIaI','CgfYC2u','B3DHC3a','BgLUzq','ywXPyxnLCW','CgLWlwf1zgL0ic0TDMvYC2LVBG','BwvZC2fNzq','sMf2yvnJCMLWDc9uExbLu2nYAxb0ihnLy3vYAxr5ihj1BgvZ','CgfYC2vcyw5KAxrszxn1BhrZ','CgLWlwf1zgL0ic0TzM9YBwf0igPZB24','CgLWlwf1zgL0','u2vTz3jLCcbZy2fUigzHAwXLza','zMLSzq','Bg93','Bw9Yzv9PBMzV','zML4ywjSzq','u2TPChbPBMCGDgvZDcbMAwXLigzVCIbZzwn1CML0EsbZy2fU','BNbTqxvKAxq','ntKZodCYuxfetMTJ','C29Tzq','yw5HBhL6zq','qMfUzgL0ihnJyw4GzMfPBgvK','u2vJDxjPDhKGAxnZDwuGzgv0zwn0zwq','BMfTzq','DNvSBNm','Bw9KDwXL','CNvUtNbTqxvKAxq','ndq2oxvuAvrRvW','BNbTlwf1zgL0','zML4x3zLCNnPB25Z','Bg9Nz2vY','ywnJzxnZ','AMf2yxnJCMLWDa','CgfYC2vqAxbbDwrPDfjLC3vSDhm','q1jjveLdquW','AgfZu2nHBM5LCNngB3jmyw5NDwfNzq','zxnSAw50u2vJDxjPDhK','C2v2zxjPDhK','tM9Uzq','yMfUzgL0ic0TDMvYC2LVBG','u0vwrvjjvfK','C2vJDxjPDhKV','CMvXDwLYzw1LBNrZlNr4Da','zxnSAw50','BNbTlq','y29Sx29MzNnLDa','CgfJA2fNzs5QC29U','rvjst1i','CgfYC2voCg1bDwrPDfjLC3vSDhm','Dw5RBM93BG','mZG5n3rjt1DKuW','zxjYB3i','CgfYC2vfu0XPBNrszxn1BhrZ','nZeWnuXTrLrcEq','BwfWqMfUzgL0u2v2zxjPDhK','rMfPBgvKihrVihbHCNnLiejHBMrPDcbVDxrWDxq'];a0_0x256b=function(){return _0x27a718;};return a0_0x256b();}import{STATIC_ANALYSIS}from'../utilities/constants.js';const execAsync=promisify(exec);class SecurityAnalyzer{constructor(_0x3c8091=null){const _0x4b28e5=a0_0x51dc;this[_0x4b28e5(0xf6)]=_0x3c8091,this['availableScanners']=null,this['scannerCache']=new Map(),this['localScannerDir']=a0_0x59ba5c[_0x4b28e5(0x135)](process['cwd'](),'node_modules',_0x4b28e5(0x13a));}async['detectAvailableScanners'](){const _0x560865=a0_0x51dc;if(this[_0x560865(0xd3)]!==null)return this[_0x560865(0xd3)];const _0x1bb973={'semgrep':![],'bandit':![],'npmAudit':![],'pipAudit':![],'eslintSecurity':![]};try{const _0xd38f34=a0_0x59ba5c[_0x560865(0x135)](this['localScannerDir'],'semgrep');try{await a0_0x5cb32b[_0x560865(0xf7)](_0xd38f34),_0x1bb973['semgrep']=!![],this[_0x560865(0xf6)]?.[_0x560865(0x146)]('Semgrep\x20scanner\x20detected\x20(local)');}catch{await execAsync('semgrep\x20--version',{'timeout':0x1388}),_0x1bb973[_0x560865(0x124)]=!![],this['logger']?.[_0x560865(0x146)]('Semgrep\x20scanner\x20detected\x20(system)');}}catch(_0x211609){this[_0x560865(0xf6)]?.['debug']('Semgrep\x20not\x20available',{'error':_0x211609[_0x560865(0xde)]});}try{await execAsync(_0x560865(0xff),{'timeout':0x1388}),_0x1bb973[_0x560865(0x11b)]=!![],this['logger']?.[_0x560865(0x146)]('Bandit\x20scanner\x20detected');}catch(_0x4e7473){this[_0x560865(0xf6)]?.[_0x560865(0x146)]('Bandit\x20not\x20available',{'error':_0x4e7473['message']});}try{await execAsync('npm\x20--version',{'timeout':0x1388}),_0x1bb973[_0x560865(0xe9)]=!![],this[_0x560865(0xf6)]?.['debug']('npm\x20audit\x20available');}catch(_0x80c13){this[_0x560865(0xf6)]?.[_0x560865(0x146)](_0x560865(0x128),{'error':_0x80c13[_0x560865(0xde)]});}try{await execAsync(_0x560865(0xdd),{'timeout':0x1388}),_0x1bb973[_0x560865(0x12a)]=!![],this[_0x560865(0xf6)]?.[_0x560865(0x146)](_0x560865(0x131));}catch(_0x3b6408){this[_0x560865(0xf6)]?.['debug'](_0x560865(0x14a),{'error':_0x3b6408[_0x560865(0xde)]});}try{const _0x71ddc3=await execAsync('npm\x20list\x20eslint-plugin-security\x20--depth=0\x20--json',{'timeout':0x1388,'cwd':process['cwd']()}),_0x581828=JSON[_0x560865(0xd9)](_0x71ddc3[_0x560865(0x110)]);_0x581828['dependencies']&&_0x581828['dependencies'][_0x560865(0x14b)]&&(_0x1bb973['eslintSecurity']=!![],this['logger']?.[_0x560865(0x146)]('eslint-plugin-security\x20detected'));}catch(_0x32abc9){this['logger']?.[_0x560865(0x146)](_0x560865(0x145),{'error':_0x32abc9[_0x560865(0xde)]});}return this['availableScanners']=_0x1bb973,_0x1bb973;}async[a0_0x3d5947(0xec)](_0x13181c,_0x381e47,_0x2861bd={}){const _0x1d3a63=a0_0x3d5947,_0x4ac426=[],_0x5a7d4c=await this['detectAvailableScanners'](),_0xd656f7=this[_0x1d3a63(0x140)](_0x13181c);if(_0x2861bd['skipTestFiles']!==![]&&this['isTestFile'](_0x13181c))return this[_0x1d3a63(0xf6)]?.[_0x1d3a63(0x146)](_0x1d3a63(0xe8),{'filePath':_0x13181c}),[];if(_0xd656f7===_0x1d3a63(0xf8)||_0xd656f7==='typescript'){if(_0x5a7d4c['semgrep']){const _0x14fb22=await this['runSemgrep'](_0x13181c,[_0xd656f7],_0x2861bd);_0x4ac426['push'](..._0x14fb22);}if(_0x5a7d4c['eslintSecurity']){const _0xc294fc=await this['runESLintSecurity'](_0x13181c,_0x381e47,_0x2861bd);_0x4ac426['push'](..._0xc294fc);}}if(_0xd656f7===_0x1d3a63(0x138)){if(_0x5a7d4c[_0x1d3a63(0x11b)]){const _0x3ba96f=await this['runBandit'](_0x13181c,_0x2861bd);_0x4ac426['push'](..._0x3ba96f);}if(_0x5a7d4c[_0x1d3a63(0x124)]){const _0x4022c2=await this[_0x1d3a63(0x13e)](_0x13181c,[_0xd656f7],_0x2861bd);_0x4ac426['push'](..._0x4022c2);}}return _0x4ac426['length']===0x0&&!this['hasScannersForLanguage'](_0x5a7d4c,_0xd656f7)&&this[_0x1d3a63(0xf6)]?.['warn']('No\x20security\x20scanners\x20available\x20for\x20language',{'language':_0xd656f7,'filePath':_0x13181c}),this[_0x1d3a63(0x142)](_0x4ac426);}async['analyzeProject'](_0x1e328a,_0x549ccb,_0x3b5bef={}){const _0x1b2024=a0_0x3d5947,_0x19a656=[],_0x48a48d=await this[_0x1b2024(0x143)]();if(_0x549ccb===_0x1b2024(0xf8)||_0x549ccb==='typescript'){if(_0x48a48d[_0x1b2024(0xe9)]){const _0x37e1fe=await this[_0x1b2024(0xf2)](_0x1e328a,_0x3b5bef);_0x19a656['push'](..._0x37e1fe);}}if(_0x549ccb===_0x1b2024(0x138)){if(_0x48a48d['pipAudit']){const _0x1cbb46=await this['runPipAudit'](_0x1e328a,_0x3b5bef);_0x19a656[_0x1b2024(0x134)](..._0x1cbb46);}}return this[_0x1b2024(0x142)](_0x19a656);}async['runSemgrep'](_0x36e5fc,_0x3e23f2,_0x1e6b2b={}){const _0x2ccd02=a0_0x3d5947;try{const _0x1c56af=a0_0x59ba5c[_0x2ccd02(0x137)](_0x36e5fc),_0x16e741=await execAsync(_0x2ccd02(0xd8)+_0x36e5fc+'\x22',{'maxBuffer':0xa*0x400*0x400,'timeout':0x7530,'cwd':_0x1c56af}),_0x2a42bc=JSON['parse'](_0x16e741[_0x2ccd02(0x110)]);return this['parseSemgrepResults'](_0x2a42bc);}catch(_0x42d52f){if(_0x42d52f['stdout'])try{const _0x329bdf=JSON[_0x2ccd02(0xd9)](_0x42d52f['stdout']);return this['parseSemgrepResults'](_0x329bdf);}catch(_0x21f163){this[_0x2ccd02(0xf6)]?.['error']('Failed\x20to\x20parse\x20Semgrep\x20output',{'error':_0x21f163[_0x2ccd02(0xde)],'stdout':_0x42d52f[_0x2ccd02(0x110)]});}return this['logger']?.['error'](_0x2ccd02(0xe3),{'error':_0x42d52f['message']}),[];}}['parseSemgrepResults'](_0x53548a){const _0x2b3ac8=a0_0x3d5947,_0x4b5e58=[];if(_0x53548a['results']&&Array[_0x2b3ac8(0x11d)](_0x53548a[_0x2b3ac8(0x11c)]))for(const _0x813818 of _0x53548a['results']){_0x4b5e58['push']({'file':_0x813818[_0x2b3ac8(0xd2)],'line':_0x813818[_0x2b3ac8(0x12e)]?.['line']||0x1,'column':_0x813818[_0x2b3ac8(0x12e)]?.[_0x2b3ac8(0x126)]||0x1,'severity':this['mapSemgrepSeverity'](_0x813818[_0x2b3ac8(0x12b)]?.['severity']),'rule':_0x813818['check_id'],'message':_0x813818[_0x2b3ac8(0x12b)]?.[_0x2b3ac8(0xde)]||_0x813818['extra']?.['lines']||_0x2b3ac8(0xee),'category':_0x2b3ac8(0x114),'scanner':'semgrep','cwe':_0x813818[_0x2b3ac8(0x12b)]?.['metadata']?.['cwe'],'owasp':_0x813818['extra']?.[_0x2b3ac8(0x148)]?.['owasp'],'confidence':_0x813818[_0x2b3ac8(0x12b)]?.[_0x2b3ac8(0x148)]?.['confidence'],'references':_0x813818['extra']?.['metadata']?.['references']});}return _0x4b5e58;}async['runBandit'](_0x132cf9,_0x56c738={}){const _0x523a47=a0_0x3d5947;try{const _0x2fc166=await execAsync(_0x523a47(0x144)+_0x132cf9+'\x22',{'maxBuffer':0xa*0x400*0x400,'timeout':0x7530}),_0x19cca9=JSON['parse'](_0x2fc166[_0x523a47(0x110)]);return this['parseBanditResults'](_0x19cca9);}catch(_0x50413f){if(_0x50413f['stdout'])try{const _0xdc4391=JSON[_0x523a47(0xd9)](_0x50413f['stdout']);return this[_0x523a47(0xe0)](_0xdc4391);}catch(_0x404895){this['logger']?.['error'](_0x523a47(0x10f),{'error':_0x404895['message']});}return this['logger']?.['error'](_0x523a47(0xed),{'error':_0x50413f['message']}),[];}}['parseBanditResults'](_0x598760){const _0x3165b2=a0_0x3d5947,_0x276fde=[];if(_0x598760['results']&&Array[_0x3165b2(0x11d)](_0x598760[_0x3165b2(0x11c)]))for(const _0x57cf9c of _0x598760[_0x3165b2(0x11c)]){_0x276fde['push']({'file':_0x57cf9c['filename'],'line':_0x57cf9c['line_number']||0x1,'column':_0x57cf9c[_0x3165b2(0x105)]||0x1,'severity':this[_0x3165b2(0x10e)](_0x57cf9c[_0x3165b2(0x125)]),'rule':_0x57cf9c[_0x3165b2(0x113)],'message':_0x57cf9c['issue_text'],'category':'security','scanner':_0x3165b2(0x11b),'cwe':_0x57cf9c['issue_cwe']?.['id']?_0x3165b2(0x136)+_0x57cf9c[_0x3165b2(0x149)]['id']:null,'confidence':_0x57cf9c['issue_confidence'],'moreInfo':_0x57cf9c[_0x3165b2(0xe6)]});}return _0x276fde;}async[a0_0x3d5947(0x121)](_0x732610,_0x3e294c,_0x4d3c32={}){const _0x5b8383=a0_0x3d5947;try{const {ESLint:_0x41c3d6}=await import(_0x5b8383(0x103)),_0x5f369e=new _0x41c3d6({'overrideConfig':{'plugins':['security'],'extends':['plugin:security/recommended'],'parserOptions':{'ecmaVersion':_0x5b8383(0x130),'sourceType':_0x5b8383(0xf1)}},'useEslintrc':![]}),_0x315119=await _0x5f369e['lintText'](_0x3e294c,{'filePath':_0x732610});return this[_0x5b8383(0x10c)](_0x315119,_0x732610);}catch(_0xef50e){return this[_0x5b8383(0xf6)]?.[_0x5b8383(0x10b)](_0x5b8383(0x132),{'error':_0xef50e[_0x5b8383(0xde)],'filePath':_0x732610}),[];}}[a0_0x3d5947(0x10c)](_0x59a798,_0x527f0e){const _0x1665fc=a0_0x3d5947,_0x465810=[];for(const _0x5791a5 of _0x59a798){if(_0x5791a5[_0x1665fc(0x13f)]&&Array[_0x1665fc(0x11d)](_0x5791a5[_0x1665fc(0x13f)]))for(const _0x46b044 of _0x5791a5[_0x1665fc(0x13f)]){_0x46b044[_0x1665fc(0xd6)]&&_0x46b044[_0x1665fc(0xd6)]['startsWith'](_0x1665fc(0x101))&&_0x465810[_0x1665fc(0x134)]({'file':_0x527f0e,'line':_0x46b044['line']||0x1,'column':_0x46b044['column']||0x1,'severity':this[_0x1665fc(0x13c)](_0x46b044['severity']),'rule':_0x46b044['ruleId'],'message':_0x46b044[_0x1665fc(0xde)],'category':_0x1665fc(0x114),'scanner':_0x1665fc(0xd5),'fixable':_0x46b044['fix']!==undefined});}}return _0x465810;}async[a0_0x3d5947(0xf2)](_0x3ac44f,_0x1e06de={}){const _0x192044=a0_0x3d5947;try{const _0x2b216b=a0_0x59ba5c[_0x192044(0x135)](_0x3ac44f,_0x192044(0x106));try{await a0_0x5cb32b['access'](_0x2b216b);}catch{return this[_0x192044(0xf6)]?.[_0x192044(0x146)](_0x192044(0xd0)),[];}const _0x835c8c=await execAsync('npm\x20audit\x20--json',{'cwd':_0x3ac44f,'maxBuffer':0xa*0x400*0x400,'timeout':0xea60}),_0x3c86f8=JSON[_0x192044(0xd9)](_0x835c8c['stdout']);return this[_0x192044(0x108)](_0x3c86f8);}catch(_0x387e56){if(_0x387e56[_0x192044(0x110)])try{const _0x102593=JSON[_0x192044(0xd9)](_0x387e56[_0x192044(0x110)]);return this[_0x192044(0x108)](_0x102593);}catch(_0x2994b8){this['logger']?.[_0x192044(0x10b)]('Failed\x20to\x20parse\x20npm\x20audit\x20output',{'error':_0x2994b8['message']});}return[];}}[a0_0x3d5947(0x108)](_0x4630af){const _0xa7ec5f=a0_0x3d5947,_0x42e26a=[];if(_0x4630af['vulnerabilities'])for(const [_0x2087a9,_0x435de2]of Object[_0xa7ec5f(0x116)](_0x4630af[_0xa7ec5f(0x115)])){_0x42e26a[_0xa7ec5f(0x134)]({'file':'package.json','line':0x1,'column':0x1,'severity':this[_0xa7ec5f(0x11e)](_0x435de2[_0xa7ec5f(0xfd)]),'rule':_0xa7ec5f(0x104)+(_0x435de2['via'][0x0]?.['source']||_0xa7ec5f(0x11f)),'message':_0x2087a9+':\x20'+(_0x435de2['via'][0x0]?.['title']||_0xa7ec5f(0x117)),'category':_0xa7ec5f(0x114),'scanner':_0xa7ec5f(0xf4),'package':_0x2087a9,'vulnerableVersions':_0x435de2['range'],'patchedVersions':_0x435de2['fixAvailable']?_0xa7ec5f(0x12d):_0xa7ec5f(0xfe),'cve':_0x435de2['via'][0x0]?.['cve'],'cvss':_0x435de2['via'][0x0]?.['cvss'],'references':_0x435de2['via'][0x0]?.['url']?[_0x435de2[_0xa7ec5f(0x129)][0x0]['url']]:[]});}return _0x42e26a;}async['runPipAudit'](_0x5e3c0b,_0x421476={}){const _0x4728cb=a0_0x3d5947;try{const requirementsPath=a0_0x59ba5c['join'](_0x5e3c0b,'requirements.txt');try{await a0_0x5cb32b['access'](requirementsPath);}catch{return this['logger']?.[_0x4728cb(0x146)]('No\x20requirements.txt\x20found,\x20skipping\x20pip-audit'),[];}const _0x44be13=await execAsync(_0x4728cb(0xe1),{'cwd':_0x5e3c0b,'maxBuffer':0xa*0x400*0x400,'timeout':0xea60}),_0x7e95e7=JSON['parse'](_0x44be13[_0x4728cb(0x110)]);return this[_0x4728cb(0xf9)](_0x7e95e7);}catch(_0x10bdf9){if(_0x10bdf9[_0x4728cb(0x110)])try{const _0xc9760d=JSON[_0x4728cb(0xd9)](_0x10bdf9[_0x4728cb(0x110)]);return this['parsePipAuditResults'](_0xc9760d);}catch(_0x3b82a1){this[_0x4728cb(0xf6)]?.[_0x4728cb(0x10b)]('Failed\x20to\x20parse\x20pip-audit\x20output',{'error':_0x3b82a1['message']});}return[];}}['parsePipAuditResults'](_0x341ddb){const _0xa37378=a0_0x3d5947,_0x286b63=[];if(_0x341ddb[_0xa37378(0x112)]&&Array['isArray'](_0x341ddb[_0xa37378(0x112)]))for(const _0x598fd2 of _0x341ddb[_0xa37378(0x112)]){if(_0x598fd2[_0xa37378(0xf0)]&&Array['isArray'](_0x598fd2['vulns']))for(const _0x2b61f3 of _0x598fd2[_0xa37378(0xf0)]){_0x286b63['push']({'file':_0xa37378(0x102),'line':0x1,'column':0x1,'severity':this['mapPipAuditSeverity'](_0x2b61f3['severity']),'rule':_0x2b61f3['id'],'message':_0x598fd2['name']+':\x20'+(_0x2b61f3['description']||'Security\x20vulnerability'),'category':_0xa37378(0x114),'scanner':_0xa37378(0xe2),'package':_0x598fd2[_0xa37378(0xef)],'vulnerableVersion':_0x598fd2['version'],'fixedVersions':_0x2b61f3[_0xa37378(0xf5)],'references':_0x2b61f3[_0xa37378(0xdc)]||[]});}}return _0x286b63;}[a0_0x3d5947(0x140)](_0x56cdee){const _0x33be40=a0_0x3d5947,_0x5c5d13=a0_0x59ba5c['extname'](_0x56cdee)['toLowerCase'](),_0x3cd4cd={'.js':'javascript','.jsx':_0x33be40(0xf8),'.mjs':'javascript','.cjs':'javascript','.ts':'typescript','.tsx':'typescript','.py':_0x33be40(0x138)};return _0x3cd4cd[_0x5c5d13]||null;}['isTestFile'](_0x4c993a){const _0x3f4333=a0_0x3d5947,_0x513c89=[/\.test\./,/\.spec\./,/__tests__\//,/\/tests?\//,/\.test$/,/\.spec$/];return _0x513c89[_0x3f4333(0xeb)](_0x40ff86=>_0x40ff86[_0x3f4333(0x118)](_0x4c993a));}[a0_0x3d5947(0xfb)](_0x58882c,_0x21e061){const _0x2203d2=a0_0x3d5947;if(_0x21e061==='javascript'||_0x21e061===_0x2203d2(0x141))return _0x58882c[_0x2203d2(0x124)]||_0x58882c['eslintSecurity'];if(_0x21e061===_0x2203d2(0x138))return _0x58882c[_0x2203d2(0x11b)]||_0x58882c['semgrep'];return![];}['normalizeResults'](_0x463741){const _0x267f34=a0_0x3d5947;return _0x463741['map'](_0x2a1dbb=>({'file':_0x2a1dbb[_0x267f34(0xe4)],'line':_0x2a1dbb[_0x267f34(0xdb)]||0x1,'column':_0x2a1dbb['column']||0x1,'severity':_0x2a1dbb['severity']||STATIC_ANALYSIS['SEVERITY']['WARNING'],'rule':_0x2a1dbb['rule']||_0x267f34(0x109),'message':_0x2a1dbb[_0x267f34(0xde)]||_0x267f34(0xee),'category':'security','scanner':_0x2a1dbb['scanner'],'cwe':_0x2a1dbb[_0x267f34(0x139)]||null,'owasp':_0x2a1dbb[_0x267f34(0xda)]||null,'confidence':_0x2a1dbb['confidence']||null,'fixable':_0x2a1dbb[_0x267f34(0xe7)]||![],'remediation':_0x2a1dbb['remediation']||_0x2a1dbb[_0x267f34(0x11a)]||null,'references':_0x2a1dbb[_0x267f34(0x119)]||[],'package':_0x2a1dbb['package']||null}));}['mapSemgrepSeverity'](_0xae436d){const _0xfd7654=a0_0x3d5947,_0x494eb2={'ERROR':STATIC_ANALYSIS[_0xfd7654(0x100)]['CRITICAL'],'WARNING':STATIC_ANALYSIS['SEVERITY'][_0xfd7654(0x107)],'INFO':STATIC_ANALYSIS['SEVERITY'][_0xfd7654(0xd4)]};return _0x494eb2[_0xae436d?.[_0xfd7654(0xd1)]()]||STATIC_ANALYSIS[_0xfd7654(0x100)][_0xfd7654(0xd4)];}['mapBanditSeverity'](_0x3f00a5){const _0x5b956d=a0_0x3d5947,_0x41c724={'HIGH':STATIC_ANALYSIS['SEVERITY']['CRITICAL'],'MEDIUM':STATIC_ANALYSIS['SEVERITY'][_0x5b956d(0x107)],'LOW':STATIC_ANALYSIS['SEVERITY'][_0x5b956d(0xd4)]};return _0x41c724[_0x3f00a5?.['toUpperCase']()]||STATIC_ANALYSIS['SEVERITY'][_0x5b956d(0xd4)];}['mapESLintSeverity'](_0x2eef4d){const _0x4d82fe=a0_0x3d5947;return _0x2eef4d===0x2?STATIC_ANALYSIS[_0x4d82fe(0x100)][_0x4d82fe(0x107)]:STATIC_ANALYSIS[_0x4d82fe(0x100)][_0x4d82fe(0xd4)];}['mapNpmSeverity'](_0x1c4a20){const _0x377041=a0_0x3d5947,_0xe439b2={'critical':STATIC_ANALYSIS['SEVERITY']['CRITICAL'],'high':STATIC_ANALYSIS[_0x377041(0x100)][_0x377041(0xfa)],'moderate':STATIC_ANALYSIS[_0x377041(0x100)]['ERROR'],'low':STATIC_ANALYSIS[_0x377041(0x100)]['WARNING'],'info':STATIC_ANALYSIS[_0x377041(0x100)]['INFO']};return _0xe439b2[_0x1c4a20?.['toLowerCase']()]||STATIC_ANALYSIS[_0x377041(0x100)][_0x377041(0xd4)];}['mapPipAuditSeverity'](_0x95bf83){const _0xb2c136=a0_0x3d5947;if(!_0x95bf83)return STATIC_ANALYSIS['SEVERITY']['ERROR'];const _0x3a7f61={'critical':STATIC_ANALYSIS['SEVERITY'][_0xb2c136(0xfa)],'high':STATIC_ANALYSIS['SEVERITY'][_0xb2c136(0xfa)],'medium':STATIC_ANALYSIS[_0xb2c136(0x100)][_0xb2c136(0x107)],'low':STATIC_ANALYSIS['SEVERITY']['WARNING']};return _0x3a7f61[_0x95bf83?.['toLowerCase']()]||STATIC_ANALYSIS['SEVERITY'][_0xb2c136(0x107)];}async[a0_0x3d5947(0x111)](){const _0x57735b=a0_0x3d5947,_0x2f863c=await this['detectAvailableScanners']();return{'scanners':_0x2f863c,'recommendations':this[_0x57735b(0x133)](_0x2f863c)};}['getInstallRecommendations'](_0x334f3c){const _0x497613=a0_0x3d5947,_0x1f1fd8=[];return!_0x334f3c[_0x497613(0x124)]&&_0x1f1fd8['push']({'scanner':'Semgrep','reason':'Multi-language\x20SAST\x20with\x20extensive\x20security\x20rules','install':'pip\x20install\x20semgrep\x20OR\x20use\x20Docker:\x20docker\x20pull\x20returntocorp/semgrep','priority':'high'}),!_0x334f3c['bandit']&&_0x1f1fd8[_0x497613(0x134)]({'scanner':'Bandit','reason':_0x497613(0x147),'install':'pip\x20install\x20bandit','priority':_0x497613(0x12f)}),!_0x334f3c[_0x497613(0xfc)]&&_0x1f1fd8[_0x497613(0x134)]({'scanner':_0x497613(0x14b),'reason':_0x497613(0xdf),'install':'npm\x20install\x20--save-dev\x20eslint-plugin-security','priority':_0x497613(0x12f)}),!_0x334f3c[_0x497613(0x12a)]&&_0x1f1fd8[_0x497613(0x134)]({'scanner':_0x497613(0xe2),'reason':'Python\x20dependency\x20vulnerability\x20scanner','install':'pip\x20install\x20pip-audit','priority':_0x497613(0xe5)}),_0x1f1fd8;}}export default SecurityAnalyzer;
@@ -1 +1 @@
1
- const a0_0x199c9b=a0_0x42ef;function a0_0x570d(){const _0x3c1825=['ntzADNLhwLu','rvnozxH0','y3jLyxrLu291CMnLrMLSzq','ChvZAa','BgLUzq','Dw5RBM93BG','zMLSzu5HBwu','zxjYB3i','Dg9mB3DLCKnHC2u','mJGYngXlBgvdvW','u3vNz2vZDgLVBG','BgLIlMqUDhm','mJa4ndrzu0f6Ae8','vhLWzvnJCMLWDcbHBMfSExnPCYbJB21WBgv0zwq','mJq1ndK3A1veA3Hv','vhLWzvnJCMLWDcbHBMfSExnPCYbMywLSzwq','mte0ntC4mfzxC2DKBW','nZe0AhrJtKPP','tgf0zxn0','sNn4rw1PDa','y2HHCMfJDgvY','qw5HBhLZAxmGzMfPBgvKoIa','BwvZC2fNzq','C3rHCNq','owPTEMfdCW','zMLSDgvY','zMLSzq','zM9YBwf0rgLHz25VC3rPyW','v0fstKLorW','y3jLyxrLuhjVz3jHBq','su1qt1ju','CgfYC2veAwfNBM9ZDgLJCW','rgLHz25VC3rPy0nHDgvNB3j5','z2v0u3LUDgfJDgLJrgLHz25VC3rPy3m','rvjst1i','DhLWzq','mtrywLjzzeO','Aw5JBhvKzxm','y2fUBM90igzPBMqGBw9KDwXL','vfLqrq','mJq2ntaZmen6wMPNvW','u2nYAxb0vgfYz2v0','mZa3ntC2nw5IsMviCG','zgLYBMfTzq','z2v0u2vTyw50AwneAwfNBM9ZDgLJCW','BgvUz3rO','y29TCgLSzxjpChrPB25Z','zgvIDwC','Bg9Nz2vY','u0vwrvjjvfK','oda0odGYy2H3BKz5','Aw50zxjMywnL','q0furuDpuLK','tw9KDwXLuMvZB2X1DgLVBKTPBMq'];a0_0x570d=function(){return _0x3c1825;};return a0_0x570d();}(function(_0x47d40d,_0xe7f29e){const _0x432ff2=a0_0x42ef,_0xac623c=_0x47d40d();while(!![]){try{const _0x2ecc03=parseInt(_0x432ff2(0xd4))/0x1*(parseInt(_0x432ff2(0xf2))/0x2)+parseInt(_0x432ff2(0xf7))/0x3*(parseInt(_0x432ff2(0xef))/0x4)+parseInt(_0x432ff2(0xf6))/0x5+-parseInt(_0x432ff2(0xe2))/0x6+-parseInt(_0x432ff2(0xf4))/0x7*(parseInt(_0x432ff2(0xe6))/0x8)+parseInt(_0x432ff2(0xc8))/0x9*(parseInt(_0x432ff2(0xd8))/0xa)+-parseInt(_0x432ff2(0xda))/0xb;if(_0x2ecc03===_0xe7f29e)break;else _0xac623c['push'](_0xac623c['shift']());}catch(_0x2303ac){_0xac623c['push'](_0xac623c['shift']());}}}(a0_0x570d,0x1fd20));import a0_0xe6b2f9 from'typescript';import a0_0x4d7363 from'path';import{STATIC_ANALYSIS}from'../utilities/constants.js';class TypeScriptAnalyzer{constructor(_0xc6821b=null){const _0x115f78=a0_0x42ef;this['logger']=_0xc6821b,this['compilerOptions']={'noEmit':!![],'jsx':a0_0xe6b2f9[_0x115f78(0xc3)]['React'],'target':a0_0xe6b2f9['ScriptTarget']['Latest'],'module':a0_0xe6b2f9['ModuleKind'][_0x115f78(0xe7)],'moduleResolution':a0_0xe6b2f9[_0x115f78(0xe5)]['NodeJs'],'esModuleInterop':!![],'skipLibCheck':!![],'strict':!![],'noImplicitAny':!![],'strictNullChecks':!![],'strictFunctionTypes':!![],'allowJs':![]};}async['analyze'](_0xf58809,_0x416cc8,_0x241572={}){const _0x210113=a0_0x42ef;try{const _0x4f4623=[],_0x503b77=a0_0xe6b2f9[_0x210113(0xe8)](_0xf58809,_0x416cc8,a0_0xe6b2f9['ScriptTarget'][_0x210113(0xf8)],!![]),_0x22b462=this[_0x210113(0xd1)](_0x503b77);_0x4f4623[_0x210113(0xe9)](..._0x22b462);const _0x50c63f=await this[_0x210113(0xdc)](_0xf58809,_0x416cc8);return _0x4f4623['push'](..._0x50c63f),this[_0x210113(0xe0)]?.['debug'](_0x210113(0xf3),{'file':_0xf58809,'totalDiagnostics':_0x4f4623[_0x210113(0xdd)],'errors':_0x4f4623[_0x210113(0xc9)](_0x162ecf=>_0x162ecf['severity']===STATIC_ANALYSIS[_0x210113(0xe1)][_0x210113(0xd2)])['length'],'warnings':_0x4f4623['filter'](_0x12d1ee=>_0x12d1ee['severity']===STATIC_ANALYSIS['SEVERITY'][_0x210113(0xcc)])['length']}),_0x4f4623;}catch(_0x50c2c2){return this[_0x210113(0xe0)]?.[_0x210113(0xed)](_0x210113(0xf5),{'file':_0xf58809,'error':_0x50c2c2[_0x210113(0xc6)]}),[{'file':_0xf58809,'line':0x0,'column':0x0,'severity':STATIC_ANALYSIS[_0x210113(0xe1)][_0x210113(0xd2)],'rule':'analyzer-error','message':_0x210113(0xc5)+_0x50c2c2[_0x210113(0xc6)],'category':STATIC_ANALYSIS[_0x210113(0xe4)]['SYNTAX']}];}}[a0_0x199c9b(0xd1)](_0x29c467){const _0x4391ed=a0_0x199c9b,_0x201fc1=[];if(_0x29c467[_0x4391ed(0xcf)]&&_0x29c467[_0x4391ed(0xcf)]['length']>0x0)for(const _0x4d687b of _0x29c467[_0x4391ed(0xcf)]){_0x201fc1[_0x4391ed(0xe9)](this['formatDiagnostic'](_0x4d687b,_0x29c467));}return _0x201fc1;}async['getSemanticDiagnostics'](_0x400ad9,_0x20e0d9){const _0x221c84=a0_0x199c9b,_0x13a7c5=[];try{const _0x350945=a0_0xe6b2f9['createSourceFile'](_0x400ad9,_0x20e0d9,a0_0xe6b2f9[_0x221c84(0xd9)][_0x221c84(0xf8)],!![]),_0x535299={'getSourceFile':_0x413483=>{if(_0x413483===_0x400ad9)return _0x350945;return undefined;},'getDefaultLibFileName':()=>_0x221c84(0xf1),'writeFile':()=>{},'getCurrentDirectory':()=>a0_0x4d7363[_0x221c84(0xdb)](_0x400ad9),'getDirectories':()=>[],'fileExists':_0x1ccb1f=>_0x1ccb1f===_0x400ad9,'readFile':_0x118723=>{if(_0x118723===_0x400ad9)return _0x20e0d9;return undefined;},'getCanonicalFileName':_0x382af9=>_0x382af9,'useCaseSensitiveFileNames':()=>!![],'getNewLine':()=>'\x0a'},_0x4689d2=a0_0xe6b2f9[_0x221c84(0xcd)]({'rootNames':[_0x400ad9],'options':this[_0x221c84(0xde)],'host':_0x535299}),_0x4ec4fd=_0x4689d2[_0x221c84(0xd1)](_0x350945),_0x1de6e3=_0x4689d2[_0x221c84(0xdc)](_0x350945);for(const _0x39fc7a of[..._0x4ec4fd,..._0x1de6e3]){_0x13a7c5['push'](this[_0x221c84(0xcb)](_0x39fc7a,_0x350945));}}catch(_0x382d21){this['logger']?.[_0x221c84(0xdf)]('Semantic\x20analysis\x20encountered\x20error',{'file':_0x400ad9,'error':_0x382d21[_0x221c84(0xc6)]});}return _0x13a7c5;}['formatDiagnostic'](_0x54f6a4,_0x2b2246){const _0x521aab=a0_0x199c9b;let _0x38d840=0x0,_0x59e549=0x0;if(_0x54f6a4[_0x521aab(0xca)]&&_0x54f6a4['start']!==undefined){const _0x142c65=_0x54f6a4[_0x521aab(0xca)]['getLineAndCharacterOfPosition'](_0x54f6a4['start']);_0x38d840=_0x142c65[_0x521aab(0xea)]+0x1,_0x59e549=_0x142c65[_0x521aab(0xc4)]+0x1;}else{if(_0x2b2246&&_0x54f6a4[_0x521aab(0xc7)]!==undefined){const _0x4b4450=_0x2b2246['getLineAndCharacterOfPosition'](_0x54f6a4['start']);_0x38d840=_0x4b4450['line']+0x1,_0x59e549=_0x4b4450['character']+0x1;}}const _0x22bf1f=a0_0xe6b2f9['flattenDiagnosticMessageText'](_0x54f6a4['messageText'],'\x0a');let _0x433479;switch(_0x54f6a4['category']){case a0_0xe6b2f9[_0x521aab(0xd0)]['Error']:_0x433479=STATIC_ANALYSIS[_0x521aab(0xe1)]['ERROR'];break;case a0_0xe6b2f9['DiagnosticCategory']['Warning']:_0x433479=STATIC_ANALYSIS[_0x521aab(0xe1)][_0x521aab(0xcc)];break;case a0_0xe6b2f9[_0x521aab(0xd0)]['Message']:case a0_0xe6b2f9['DiagnosticCategory'][_0x521aab(0xf0)]:_0x433479=STATIC_ANALYSIS['SEVERITY']['INFO'];break;default:_0x433479=STATIC_ANALYSIS[_0x521aab(0xe1)][_0x521aab(0xd2)];}let _0x54124b=STATIC_ANALYSIS['CATEGORY']['SYNTAX'];const _0x410a7a=_0x54f6a4['code'];if(_0x410a7a>=0x7d0&&_0x410a7a<0xbb8)_0x54124b=STATIC_ANALYSIS[_0x521aab(0xe4)]['TYPE'];else{if(_0x410a7a>=0x3e8&&_0x410a7a<0x7d0)_0x54124b=STATIC_ANALYSIS['CATEGORY']['SYNTAX'];else _0x410a7a>=0x8fc&&_0x410a7a<0x960&&(_0x54124b=STATIC_ANALYSIS['CATEGORY']['IMPORT']);}const _0x5ef464=_0x22bf1f[_0x521aab(0xee)]();if(_0x5ef464[_0x521aab(0xd5)](_0x521aab(0xd6))||_0x5ef464[_0x521aab(0xd5)]('import')||_0x5ef464['includes']('export'))_0x54124b=STATIC_ANALYSIS[_0x521aab(0xe4)][_0x521aab(0xce)];else(_0x5ef464['includes'](_0x521aab(0xd3))||_0x5ef464['includes'](_0x521aab(0xe3))||_0x5ef464[_0x521aab(0xd5)]('class'))&&(_0x54124b=STATIC_ANALYSIS[_0x521aab(0xe4)][_0x521aab(0xd7)]);return{'file':_0x54f6a4[_0x521aab(0xca)]?.['fileName']||_0x2b2246?.[_0x521aab(0xec)]||_0x521aab(0xeb),'line':_0x38d840,'column':_0x59e549,'severity':_0x433479,'rule':'TS'+_0x410a7a,'message':_0x22bf1f,'category':_0x54124b,'fixable':![],'code':_0x54f6a4['code']};}}function a0_0x42ef(_0x16cf4d,_0x2fbcba){_0x16cf4d=_0x16cf4d-0xc3;const _0x570d93=a0_0x570d();let _0x42ef8f=_0x570d93[_0x16cf4d];if(a0_0x42ef['SQityJ']===undefined){var _0x23d741=function(_0x40ff98){const _0x3e3c71='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xe6b2f9='',_0x4d7363='';for(let _0xc6821b=0x0,_0xf58809,_0x416cc8,_0x241572=0x0;_0x416cc8=_0x40ff98['charAt'](_0x241572++);~_0x416cc8&&(_0xf58809=_0xc6821b%0x4?_0xf58809*0x40+_0x416cc8:_0x416cc8,_0xc6821b++%0x4)?_0xe6b2f9+=String['fromCharCode'](0xff&_0xf58809>>(-0x2*_0xc6821b&0x6)):0x0){_0x416cc8=_0x3e3c71['indexOf'](_0x416cc8);}for(let _0x4f4623=0x0,_0x503b77=_0xe6b2f9['length'];_0x4f4623<_0x503b77;_0x4f4623++){_0x4d7363+='%'+('00'+_0xe6b2f9['charCodeAt'](_0x4f4623)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4d7363);};a0_0x42ef['DGlBso']=_0x23d741,a0_0x42ef['VFCCjt']={},a0_0x42ef['SQityJ']=!![];}const _0x55f19b=_0x570d93[0x0],_0x19c75c=_0x16cf4d+_0x55f19b,_0x1301fd=a0_0x42ef['VFCCjt'][_0x19c75c];return!_0x1301fd?(_0x42ef8f=a0_0x42ef['DGlBso'](_0x42ef8f),a0_0x42ef['VFCCjt'][_0x19c75c]=_0x42ef8f):_0x42ef8f=_0x1301fd,_0x42ef8f;}export default TypeScriptAnalyzer;
1
+ const a0_0xa06782=a0_0x54d4;function a0_0x4f6e(){const _0x349455=['mtvICLzNBfq','rgLHz25VC3rPy0nHDgvNB3j5','zMLSzu5HBwu','odqZnZq4DKPTvM93','BgLUzq','u1Lovefy','rvnozxH0','zMXHDhrLBKrPywDUB3n0AwnnzxnZywDLvgv4Da','y2f0zwDVCNK','BwvZC2fNzq','mtm3mdaXChr3EvjR','C3rHCNq','q0furuDpuLK','zM9YBwf0rgLHz25VC3rPyW','u3vNz2vZDgLVBG','Aw5JBhvKzxm','zgvIDwC','y2fUBM90igzPBMqGBw9KDwXL','u0vwrvjjvfK','y2XHC3m','BgvUz3rO','y2HHCMfJDgvY','u2nYAxb0vgfYz2v0','z2v0u3LUDgfJDgLJrgLHz25VC3rPy3m','v2fYBMLUzW','mZK0nZq3mNj1BK5Vva','mtbfwuLIC08','twvZC2fNzq','ChvZAa','C2v2zxjPDhK','v0fstKLorW','CgfYC2veAwfNBM9ZDgLJCW','yw5HBhL6zq','vfLqrq','u2vTyw50AwmGyw5HBhLZAxmGzw5JB3vUDgvYzwqGzxjYB3i','vhLWzvnJCMLWDcbHBMfSExnPCYbJB21WBgv0zwq','z2v0tgLUzufUzenOyxjHy3rLCK9Mug9ZAxrPB24','mtC3mJG3nhDpq0nwqW','BwvZC2fNzvrLEhq','zMLSzq','qw5HBhLZAxmGzMfPBgvKoIa','mZC0nJG5n25yD1LREa','Bg9Nz2vY','zgLYBMfTzq','nM9Otu5pEq','mtuZmda2DxDevMvt','Dg9mB3DLCKnHC2u','y29Kzq','tM9KzuPZ','tgf0zxn0','mtzOAhbzsKG','ndiXnJqWohvQtur2wa','tw9KDwXLuMvZB2X1DgLVBKTPBMq'];a0_0x4f6e=function(){return _0x349455;};return a0_0x4f6e();}(function(_0x14223d,_0x3aa4e1){const _0x106368=a0_0x54d4,_0x3b8ff5=_0x14223d();while(!![]){try{const _0x2a3b26=-parseInt(_0x106368(0x1ee))/0x1+parseInt(_0x106368(0x1f3))/0x2*(-parseInt(_0x106368(0x200))/0x3)+-parseInt(_0x106368(0x1f9))/0x4*(-parseInt(_0x106368(0x1f6))/0x5)+-parseInt(_0x106368(0x222))/0x6*(-parseInt(_0x106368(0x1f4))/0x7)+-parseInt(_0x106368(0x20f))/0x8+-parseInt(_0x106368(0x21b))/0x9+parseInt(_0x106368(0x210))/0xa*(parseInt(_0x106368(0x21f))/0xb);if(_0x2a3b26===_0x3aa4e1)break;else _0x3b8ff5['push'](_0x3b8ff5['shift']());}catch(_0x375b7d){_0x3b8ff5['push'](_0x3b8ff5['shift']());}}}(a0_0x4f6e,0x599ac));import a0_0x1a9427 from'typescript';function a0_0x54d4(_0xf5e8a5,_0x4bf07f){_0xf5e8a5=_0xf5e8a5-0x1ee;const _0x4f6e78=a0_0x4f6e();let _0x54d4c1=_0x4f6e78[_0xf5e8a5];if(a0_0x54d4['lLeHWz']===undefined){var _0x3c91e2=function(_0x81733){const _0x467d60='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1a9427='',_0x398a87='';for(let _0x1f68cc=0x0,_0x3eacc3,_0x119305,_0x46817e=0x0;_0x119305=_0x81733['charAt'](_0x46817e++);~_0x119305&&(_0x3eacc3=_0x1f68cc%0x4?_0x3eacc3*0x40+_0x119305:_0x119305,_0x1f68cc++%0x4)?_0x1a9427+=String['fromCharCode'](0xff&_0x3eacc3>>(-0x2*_0x1f68cc&0x6)):0x0){_0x119305=_0x467d60['indexOf'](_0x119305);}for(let _0x37d185=0x0,_0x58b79e=_0x1a9427['length'];_0x37d185<_0x58b79e;_0x37d185++){_0x398a87+='%'+('00'+_0x1a9427['charCodeAt'](_0x37d185)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x398a87);};a0_0x54d4['NRrGqU']=_0x3c91e2,a0_0x54d4['TyMrEL']={},a0_0x54d4['lLeHWz']=!![];}const _0x56c922=_0x4f6e78[0x0],_0x4525bd=_0xf5e8a5+_0x56c922,_0x17f8d9=a0_0x54d4['TyMrEL'][_0x4525bd];return!_0x17f8d9?(_0x54d4c1=a0_0x54d4['NRrGqU'](_0x54d4c1),a0_0x54d4['TyMrEL'][_0x4525bd]=_0x54d4c1):_0x54d4c1=_0x17f8d9,_0x54d4c1;}import a0_0x398a87 from'path';import{STATIC_ANALYSIS}from'../utilities/constants.js';class TypeScriptAnalyzer{constructor(_0x1f68cc=null){const _0x318fd8=a0_0x54d4;this[_0x318fd8(0x220)]=_0x1f68cc,this['compilerOptions']={'noEmit':!![],'jsx':a0_0x1a9427['JsxEmit']['React'],'target':a0_0x1a9427[_0x318fd8(0x20c)]['Latest'],'module':a0_0x1a9427['ModuleKind'][_0x318fd8(0x1fc)],'moduleResolution':a0_0x1a9427[_0x318fd8(0x1f5)][_0x318fd8(0x1f1)],'esModuleInterop':!![],'skipLibCheck':!![],'strict':!![],'noImplicitAny':!![],'strictNullChecks':!![],'strictFunctionTypes':!![],'allowJs':![]};}async[a0_0xa06782(0x216)](_0x3eacc3,_0x119305,_0x46817e={}){const _0x43e6d4=a0_0xa06782;try{const _0x37d185=[],_0x58b79e=a0_0x1a9427['createSourceFile'](_0x3eacc3,_0x119305,a0_0x1a9427[_0x43e6d4(0x20c)][_0x43e6d4(0x1f2)],!![]),_0x27d342=this[_0x43e6d4(0x20d)](_0x58b79e);_0x37d185['push'](..._0x27d342);const _0x61cf98=await this['getSemanticDiagnostics'](_0x3eacc3,_0x119305);return _0x37d185[_0x43e6d4(0x212)](..._0x61cf98),this[_0x43e6d4(0x220)]?.[_0x43e6d4(0x206)](_0x43e6d4(0x219),{'file':_0x3eacc3,'totalDiagnostics':_0x37d185[_0x43e6d4(0x20a)],'errors':_0x37d185['filter'](_0x566840=>_0x566840[_0x43e6d4(0x213)]===STATIC_ANALYSIS[_0x43e6d4(0x208)]['ERROR'])[_0x43e6d4(0x20a)],'warnings':_0x37d185['filter'](_0x27dd3f=>_0x27dd3f[_0x43e6d4(0x213)]===STATIC_ANALYSIS[_0x43e6d4(0x208)][_0x43e6d4(0x214)])[_0x43e6d4(0x20a)]}),_0x37d185;}catch(_0x2f41c4){return this['logger']?.['error']('TypeScript\x20analysis\x20failed',{'file':_0x3eacc3,'error':_0x2f41c4[_0x43e6d4(0x1ff)]}),[{'file':_0x3eacc3,'line':0x0,'column':0x0,'severity':STATIC_ANALYSIS[_0x43e6d4(0x208)]['ERROR'],'rule':'analyzer-error','message':_0x43e6d4(0x21e)+_0x2f41c4[_0x43e6d4(0x1ff)],'category':STATIC_ANALYSIS['CATEGORY']['SYNTAX']}];}}['getSyntacticDiagnostics'](_0x1df269){const _0x2ff597=a0_0xa06782,_0xd8978d=[];if(_0x1df269[_0x2ff597(0x215)]&&_0x1df269[_0x2ff597(0x215)][_0x2ff597(0x20a)]>0x0)for(const _0xf7103d of _0x1df269['parseDiagnostics']){_0xd8978d[_0x2ff597(0x212)](this['formatDiagnostic'](_0xf7103d,_0x1df269));}return _0xd8978d;}async['getSemanticDiagnostics'](_0x44370f,_0xfa40d){const _0x4a81cd=a0_0xa06782,_0x250d79=[];try{const _0x27f06d=a0_0x1a9427['createSourceFile'](_0x44370f,_0xfa40d,a0_0x1a9427['ScriptTarget']['Latest'],!![]),_0x594e53={'getSourceFile':_0x171d28=>{if(_0x171d28===_0x44370f)return _0x27f06d;return undefined;},'getDefaultLibFileName':()=>'lib.d.ts','writeFile':()=>{},'getCurrentDirectory':()=>a0_0x398a87[_0x4a81cd(0x221)](_0x44370f),'getDirectories':()=>[],'fileExists':_0x234c64=>_0x234c64===_0x44370f,'readFile':_0x12f25b=>{if(_0x12f25b===_0x44370f)return _0xfa40d;return undefined;},'getCanonicalFileName':_0x483840=>_0x483840,'useCaseSensitiveFileNames':()=>!![],'getNewLine':()=>'\x0a'},_0x2fc02e=a0_0x1a9427['createProgram']({'rootNames':[_0x44370f],'options':this['compilerOptions'],'host':_0x594e53}),_0x2f0f25=_0x2fc02e[_0x4a81cd(0x20d)](_0x27f06d),_0x54b2f9=_0x2fc02e['getSemanticDiagnostics'](_0x27f06d);for(const _0x592905 of[..._0x2f0f25,..._0x54b2f9]){_0x250d79['push'](this['formatDiagnostic'](_0x592905,_0x27f06d));}}catch(_0x402bec){this[_0x4a81cd(0x220)]?.['debug'](_0x4a81cd(0x218),{'file':_0x44370f,'error':_0x402bec[_0x4a81cd(0x1ff)]});}return _0x250d79;}[a0_0xa06782(0x203)](_0xd3d104,_0x2a31d7){const _0x49600c=a0_0xa06782;let _0x53d1c8=0x0,_0x3dc969=0x0;if(_0xd3d104[_0x49600c(0x21d)]&&_0xd3d104[_0x49600c(0x201)]!==undefined){const _0x269b5a=_0xd3d104[_0x49600c(0x21d)]['getLineAndCharacterOfPosition'](_0xd3d104['start']);_0x53d1c8=_0x269b5a[_0x49600c(0x1fa)]+0x1,_0x3dc969=_0x269b5a['character']+0x1;}else{if(_0x2a31d7&&_0xd3d104[_0x49600c(0x201)]!==undefined){const _0x151333=_0x2a31d7[_0x49600c(0x21a)](_0xd3d104['start']);_0x53d1c8=_0x151333['line']+0x1,_0x3dc969=_0x151333[_0x49600c(0x20b)]+0x1;}}const _0x107605=a0_0x1a9427[_0x49600c(0x1fd)](_0xd3d104[_0x49600c(0x21c)],'\x0a');let _0x4e67d2;switch(_0xd3d104[_0x49600c(0x1fe)]){case a0_0x1a9427[_0x49600c(0x1f7)]['Error']:_0x4e67d2=STATIC_ANALYSIS[_0x49600c(0x208)]['ERROR'];break;case a0_0x1a9427[_0x49600c(0x1f7)][_0x49600c(0x20e)]:_0x4e67d2=STATIC_ANALYSIS['SEVERITY']['WARNING'];break;case a0_0x1a9427['DiagnosticCategory'][_0x49600c(0x211)]:case a0_0x1a9427['DiagnosticCategory'][_0x49600c(0x204)]:_0x4e67d2=STATIC_ANALYSIS[_0x49600c(0x208)]['INFO'];break;default:_0x4e67d2=STATIC_ANALYSIS['SEVERITY']['ERROR'];}let _0x49a0c4=STATIC_ANALYSIS[_0x49600c(0x202)]['SYNTAX'];const _0x58b326=_0xd3d104[_0x49600c(0x1f0)];if(_0x58b326>=0x7d0&&_0x58b326<0xbb8)_0x49a0c4=STATIC_ANALYSIS[_0x49600c(0x202)]['TYPE'];else{if(_0x58b326>=0x3e8&&_0x58b326<0x7d0)_0x49a0c4=STATIC_ANALYSIS[_0x49600c(0x202)][_0x49600c(0x1fb)];else _0x58b326>=0x8fc&&_0x58b326<0x960&&(_0x49a0c4=STATIC_ANALYSIS[_0x49600c(0x202)]['IMPORT']);}const _0x50377f=_0x107605[_0x49600c(0x1ef)]();if(_0x50377f[_0x49600c(0x205)](_0x49600c(0x207))||_0x50377f['includes']('import')||_0x50377f['includes']('export'))_0x49a0c4=STATIC_ANALYSIS['CATEGORY']['IMPORT'];else(_0x50377f['includes']('type')||_0x50377f['includes']('interface')||_0x50377f['includes'](_0x49600c(0x209)))&&(_0x49a0c4=STATIC_ANALYSIS[_0x49600c(0x202)][_0x49600c(0x217)]);return{'file':_0xd3d104['file']?.['fileName']||_0x2a31d7?.[_0x49600c(0x1f8)]||'unknown','line':_0x53d1c8,'column':_0x3dc969,'severity':_0x4e67d2,'rule':'TS'+_0x58b326,'message':_0x107605,'category':_0x49a0c4,'fixable':![],'code':_0xd3d104['code']};}}export default TypeScriptAnalyzer;
@@ -1 +1 @@
1
- function a0_0x4bf0(){const _0x2a804c=['CM91BMq','AgLNAa','z2vUzxjHDgvszwfZB25PBMC','D2HPBgu','yMXVy2TZ','y29UzMLN','Aw5JBhvKzxm','z2vUzxjHDgvszwzHy3rVCMLUz0fKDMLJzq','y3jLyxrLrNvUy3rPB25oyw1L','C3rHCNrmAw5L','igr1CgXPy2f0zwqGBgLUzxmUia','Aw1Wywn0u2nVCMu','ChvZAa','C3vNz2vZDe5HBwu','zw5KtgLUzq','BwvKAxvT','cI4UlIaODhj1BMnHDgvKkq','nte0nZqYwezkEfPp','igXVy2f0Aw9UCW','zgvZy3jPyMvczw5LzML0CW','Bg9N','igfJCM9ZCYa','mI4GuMvWBgfJzsbHBgWGAw5ZDgfUy2vZihDPDgGGDgHLigv4DhjHy3rLzcb2zxjZAw9U','y2fSy3vSyxrLtwv0CMLJCW','z2vUzxjHDgvby3rPB25HyMXLu3rLChm','C29Tzq','Bg93','mZi5mZiYr094wMjj','mtyXnZC3n2nczeDWvG','zxH0CMfJDgvKrNvUy3rPB24','Aw5ZDgfUy2vdB3vUDa','BwfW','zxH0CMfJDc1TB2r1Bgu','Bwf0y2G','zwXZzq','vgHPCYa','BgvUz3rO','CMvWBgfJzq','CMvKDwnL','Dhj1BMnHDgvdB2rL','zgv0zxjTAw5LuMvMywn0B3jPBMDtDhjHDgvNEq','ns4GvxbKyxrLigfUEsbIDwLSzcbJB25MAwD1CMf0Aw9UCYbPzIbUzwvKzwq','Dg9gAxHLza','zMLSzxndB3zLCMvK','yw5HBhL6zunSB25LCW','nc4GuMvWBgfJzsbHBgWGAw5ZDgfUy2vZihDPDgGGy2fSBhmGDg8GDgHLig5LDYbMDw5JDgLVBG','mtqWmJy3nfbqzfr1Aq','y29Kzq','zxH0CMfJDc1MDw5JDgLVBG','Dg9Rzw5dB3vUDa','mJuWota0tNfoDM9n','ms4Gq3jLyxrLigeGBMv3ignSyxnZihrVigvUy2fWC3vSyxrLihrOAxmGzNvUy3rPB25HBgL0Eq','zMLSzq','y29UzMLKzw5Jzq','C29YDa','mI4Gtw92zsb0AguGzhvWBgLJyxrLzcbSB2DPyYbPBNrVihrOAxmGzNvUy3rPB24','mJm2mJi0yuXKA1vb','ndu4mdvTueHxEMK','Dg9vChbLCKnHC2u','q2XHC3m','zxn0Aw1HDgvfzMzVCNq','AM9PBG','BwLU','DhLWzq','ms4GrxH0CMfJDcb0AguGzhvWBgLJyxrLzcbJB2rLihvZAw5Nia','zxH0CMfJDc1JBgfZCW','zgv0zxjTAw5LuhjPB3jPDhK','C2XPy2u','twv0Ag9K','CMv0DxjU'];a0_0x4bf0=function(){return _0x2a804c;};return a0_0x4bf0();}const a0_0x23c83a=a0_0x21c5;function a0_0x21c5(_0x366f23,_0x4da73f){_0x366f23=_0x366f23-0x1f3;const _0x4bf01a=a0_0x4bf0();let _0x21c599=_0x4bf01a[_0x366f23];if(a0_0x21c5['FFYLuF']===undefined){var _0x3e1119=function(_0xd0787b){const _0x55f2bf='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x547c08='',_0xe0d6ed='';for(let _0x40eb16=0x0,_0xd2040a,_0x1a2b6a,_0x19385a=0x0;_0x1a2b6a=_0xd0787b['charAt'](_0x19385a++);~_0x1a2b6a&&(_0xd2040a=_0x40eb16%0x4?_0xd2040a*0x40+_0x1a2b6a:_0x1a2b6a,_0x40eb16++%0x4)?_0x547c08+=String['fromCharCode'](0xff&_0xd2040a>>(-0x2*_0x40eb16&0x6)):0x0){_0x1a2b6a=_0x55f2bf['indexOf'](_0x1a2b6a);}for(let _0x33a525=0x0,_0x3d486b=_0x547c08['length'];_0x33a525<_0x3d486b;_0x33a525++){_0xe0d6ed+='%'+('00'+_0x547c08['charCodeAt'](_0x33a525)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xe0d6ed);};a0_0x21c5['AuQRGT']=_0x3e1119,a0_0x21c5['TDAeVt']={},a0_0x21c5['FFYLuF']=!![];}const _0x4d7066=_0x4bf01a[0x0],_0x545aff=_0x366f23+_0x4d7066,_0x29ac2c=a0_0x21c5['TDAeVt'][_0x545aff];return!_0x29ac2c?(_0x21c599=a0_0x21c5['AuQRGT'](_0x21c599),a0_0x21c5['TDAeVt'][_0x545aff]=_0x21c599):_0x21c599=_0x29ac2c,_0x21c599;}(function(_0x2654bd,_0x158080){const _0x3b52b3=a0_0x21c5,_0x5907c6=_0x2654bd();while(!![]){try{const _0x53d70a=-parseInt(_0x3b52b3(0x218))/0x1+-parseInt(_0x3b52b3(0x1f7))/0x2+parseInt(_0x3b52b3(0x201))/0x3+parseInt(_0x3b52b3(0x21e))/0x4+parseInt(_0x3b52b3(0x21f))/0x5+parseInt(_0x3b52b3(0x214))/0x6+parseInt(_0x3b52b3(0x202))/0x7;if(_0x53d70a===_0x158080)break;else _0x5907c6['push'](_0x5907c6['shift']());}catch(_0x22916b){_0x5907c6['push'](_0x5907c6['shift']());}}}(a0_0x4bf0,0x20dce));export class RefactoringAnalyzer{constructor(_0x547c08){const _0x5e6686=a0_0x21c5;this[_0x5e6686(0x231)]=_0x547c08;}[a0_0x23c83a(0x212)](_0xe0d6ed){const _0x2b0c6f=a0_0x23c83a;return console[_0x2b0c6f(0x1fa)]('Analyzing\x20clones\x20for\x20refactoring\x20opportunities...'),_0xe0d6ed['map']((_0x40eb16,_0xd2040a)=>{const _0x2fc9cc=_0x2b0c6f,_0x1a2b6a=this[_0x2fc9cc(0x1fd)](_0x40eb16),_0x19385a=this['generateRefactoringAdvice'](_0x40eb16,_0x1a2b6a);return{'id':'clone-'+(_0xd2040a+0x1),'type':_0x40eb16['type'],'confidence':_0x40eb16[_0x2fc9cc(0x21b)],'instances':_0x40eb16[_0x2fc9cc(0x230)]['map'](_0x33a525=>({'file':_0x33a525[_0x2fc9cc(0x21a)],'startLine':_0x33a525['startLine'],'endLine':_0x33a525['endLine'],'code':this[_0x2fc9cc(0x20d)](_0x33a525[_0x2fc9cc(0x215)]),'fullCode':_0x33a525[_0x2fc9cc(0x215)],'blockType':_0x33a525['type']})),'metrics':_0x1a2b6a,'refactoringAdvice':_0x19385a};})[_0x2b0c6f(0x21c)]((_0x3d486b,_0x127d36)=>_0x127d36['metrics'][_0x2b0c6f(0x237)]-_0x3d486b['metrics'][_0x2b0c6f(0x237)]);}['calculateMetrics'](_0x1e1217){const _0x83c363=a0_0x23c83a,_0x123c32=_0x1e1217['blocks'],_0x1a8d8e=_0x1e1217[_0x83c363(0x217)],_0x180ba0=this['averageLineCount'](_0x123c32),_0x2ebcc8=_0x123c32[_0x83c363(0x20a)],_0x16e116=this['calculateImpactScore'](_0x1a8d8e,_0x180ba0,_0x2ebcc8,_0x1e1217[_0x83c363(0x21b)]),_0x338495=_0x180ba0*(_0x2ebcc8-0x1),_0x138196=_0x1a8d8e*(_0x2ebcc8-0x1);return{'tokenCount':_0x1a8d8e,'lineCount':_0x180ba0,'instanceCount':_0x2ebcc8,'duplicatedLines':_0x338495,'duplicatedTokens':_0x138196,'impactScore':parseFloat(_0x16e116[_0x83c363(0x210)](0x2)),'filesCovered':new Set(_0x123c32[_0x83c363(0x205)](_0x1a09bf=>_0x1a09bf['file']))['size']};}['calculateImpactScore'](_0x582219,_0x3dd1b5,_0x52c934,_0x33599d){const _0x34b17d=a0_0x23c83a,_0x184a89=Math['log10'](_0x582219+0x1)*0x2,_0xf31819=Math['log2'](_0x52c934+0x1)*0x3,_0x3b1f4c=_0x33599d*0x2,_0xaef145=Math[_0x34b17d(0x224)](_0x3dd1b5/0xa,0x3);return _0x184a89+_0xf31819+_0x3b1f4c+_0xaef145;}[a0_0x23c83a(0x233)](_0x3681f1,_0x44f204){const _0x1e92fd=a0_0x23c83a,_0x2001ad=this[_0x1e92fd(0x20e)](_0x3681f1,_0x44f204),_0x115d96=this[_0x1e92fd(0x228)](_0x44f204),_0x80ef42=this[_0x1e92fd(0x1f3)](_0x3681f1),_0x2d71e2=this['generateReasoning'](_0x3681f1,_0x44f204,_0x2001ad),_0x33743d=this[_0x1e92fd(0x222)](_0x44f204,_0x2001ad),_0x16cd0c=this[_0x1e92fd(0x1f9)](_0x44f204);return{'priority':_0x115d96,'strategy':_0x2001ad,'suggestedName':_0x80ef42,'reasoning':_0x2d71e2,'estimatedEffort':_0x33743d,'benefits':_0x16cd0c,'actionableSteps':this['generateActionableSteps'](_0x2001ad,_0x80ef42,_0x44f204)};}['determineRefactoringStrategy'](_0x131f5c,_0x31c1ff){const _0x5bb5c9=a0_0x23c83a,{tokenCount:_0xbc5e9f,lineCount:_0x3c581c,instanceCount:_0x419e98,filesCovered:_0xbc85f0}=_0x31c1ff,_0x32f68e=_0x131f5c['blocks'][_0x5bb5c9(0x205)](_0x214cfd=>_0x214cfd[_0x5bb5c9(0x225)]),_0x2db07b=_0x32f68e[_0x5bb5c9(0x1ff)](_0xda9bb5=>_0xda9bb5['includes']('Function')||_0xda9bb5[_0x5bb5c9(0x232)](_0x5bb5c9(0x22a))),_0xfe7162=_0x32f68e[_0x5bb5c9(0x1ff)](_0x335e3f=>_0x335e3f[_0x5bb5c9(0x232)](_0x5bb5c9(0x221)));if(_0xfe7162&&_0x3c581c>0x32)return'extract-module';else{if(_0xbc85f0>0x2&&_0xbc5e9f>0x64)return'extract-module';else{if(_0x2db07b||_0x3c581c>=0xa&&_0x3c581c<=0x32)return'extract-function';else{if(_0x3c581c>0x32)return'extract-class';else return _0x3c581c<0xa?'extract-constant-or-utility':'extract-function';}}}}['determinePriority'](_0x53dbcd){const _0x164969=a0_0x23c83a,{impactScore:_0x4355c8}=_0x53dbcd;if(_0x4355c8>=0x8)return _0x164969(0x22d);if(_0x4355c8>=0x5)return _0x164969(0x1f5);return _0x164969(0x200);}[a0_0x23c83a(0x1f3)](_0x1ad095){const _0x2d32ca=a0_0x23c83a,_0x571a4d=_0x1ad095['blocks']['map'](_0x455342=>_0x455342[_0x2d32ca(0x215)])[_0x2d32ca(0x223)]('\x20'),_0x4f7264=_0x571a4d[_0x2d32ca(0x207)](/[a-zA-Z_$][a-zA-Z0-9_$]*/g)||[],_0x33e87c={};_0x4f7264['forEach'](_0x3dba69=>{const _0x52b91f=_0x2d32ca;if(['const','let','var','function',_0x52b91f(0x22b),'if',_0x52b91f(0x208),'for',_0x52b91f(0x22f)][_0x52b91f(0x232)](_0x3dba69))return;_0x33e87c[_0x3dba69]=(_0x33e87c[_0x3dba69]||0x0)+0x1;});const _0x144e64=Object['entries'](_0x33e87c)['sort']((_0x169158,_0x3126b8)=>_0x3126b8[0x1]-_0x169158[0x1])['slice'](0x0,0x3);if(_0x144e64['length']>0x0){const _0xd4ce52=_0x144e64[_0x2d32ca(0x205)](([_0x406738])=>_0x406738);return this[_0x2d32ca(0x234)](_0xd4ce52);}return _0x2d32ca(0x203);}[a0_0x23c83a(0x234)](_0x3a28d9){const _0x1f4abe=a0_0x23c83a;if(_0x3a28d9['length']===0x0)return'extractedFunction';return _0x3a28d9[0x0]+_0x3a28d9['slice'](0x1)[_0x1f4abe(0x205)](_0x45b8d5=>_0x45b8d5['charAt'](0x0)[_0x1f4abe(0x220)]()+_0x45b8d5['slice'](0x1))[_0x1f4abe(0x223)]('');}[a0_0x23c83a(0x22e)](_0x218f4b,_0x1ee55c,_0x4a74bb){const _0x2feb1e=a0_0x23c83a,{instanceCount:_0x561df4,duplicatedLines:_0x3a597d,filesCovered:_0x16b103}=_0x1ee55c;let _0x5f3fe7=_0x2feb1e(0x209)+_0x218f4b['type']+'\x20code\x20pattern\x20appears\x20'+_0x561df4+'\x20times';return _0x16b103>0x1&&(_0x5f3fe7+=_0x2feb1e(0x1fb)+_0x16b103+'\x20different\x20files'),_0x5f3fe7+=',\x20resulting\x20in\x20'+_0x3a597d+_0x2feb1e(0x236),_0x5f3fe7+='Refactoring\x20to\x20'+_0x4a74bb[_0x2feb1e(0x20b)](/-/g,'\x20')+'\x20would\x20improve\x20maintainability',_0x561df4>=0x3&&(_0x5f3fe7+=', reduce bugs from inconsistent changes'),_0x5f3fe7+=',\x20and\x20reduce\x20code\x20size',_0x1ee55c['impactScore']>=0x8&&(_0x5f3fe7+='.\x20This\x20is\x20a\x20high-impact\x20refactoring\x20opportunity'),_0x5f3fe7+'.';}[a0_0x23c83a(0x222)](_0x348bc4,_0x181b63){const _0x3f8118=a0_0x23c83a,{lineCount:_0x14b719,instanceCount:_0x1581e4,filesCovered:_0x45ce93}=_0x348bc4;let _0x31458d=0x0;_0x31458d+=Math[_0x3f8118(0x224)](_0x14b719/0xa,0x5),_0x31458d+=_0x1581e4*0.5,_0x31458d+=_0x45ce93*0.5;if(_0x181b63===_0x3f8118(0x206))_0x31458d+=0x3;else{if(_0x181b63===_0x3f8118(0x227))_0x31458d+=0x2;else _0x181b63===_0x3f8118(0x216)&&(_0x31458d+=0x1);}if(_0x31458d<=0x3)return'low';if(_0x31458d<=0x7)return _0x3f8118(0x1f5);return'high';}[a0_0x23c83a(0x1f9)](_0x418251){const _0x28dc15=a0_0x23c83a,_0x2beeb0=[];return _0x2beeb0['push']('Eliminate\x20'+_0x418251['duplicatedLines']+'\x20duplicated\x20lines\x20of\x20code'),_0x2beeb0[_0x28dc15(0x238)]('Improve\x20maintainability\x20by\x20centralizing\x20logic\x20in\x20one\x20place'),_0x418251[_0x28dc15(0x204)]>=0x3&&_0x2beeb0['push']('Reduce\x20risk\x20of\x20inconsistent\x20changes\x20across\x20'+_0x418251['instanceCount']+_0x28dc15(0x1f8)),_0x418251[_0x28dc15(0x211)]>0x2&&_0x2beeb0['push']('Improve\x20code\x20organization\x20across\x20'+_0x418251[_0x28dc15(0x211)]+'\x20files'),_0x2beeb0[_0x28dc15(0x238)]('Make\x20future\x20changes\x20easier\x20and\x20less\x20error-prone'),_0x2beeb0;}[a0_0x23c83a(0x1fe)](_0x2ea3ad,_0x5df02a,_0x539e7f){const _0x15eddd=a0_0x23c83a,_0x54f7f5=[];switch(_0x2ea3ad){case _0x15eddd(0x216):_0x54f7f5[_0x15eddd(0x238)]('1.\x20Create\x20a\x20new\x20function\x20named\x20\x27'+_0x5df02a+'\x27'),_0x54f7f5['push'](_0x15eddd(0x21d)),_0x54f7f5[_0x15eddd(0x238)]('3. Identify parameters needed from the surrounding context'),_0x54f7f5[_0x15eddd(0x238)](_0x15eddd(0x213)),_0x54f7f5['push']('5.\x20Test\x20to\x20ensure\x20behavior\x20is\x20preserved');break;case'extract-class':_0x54f7f5[_0x15eddd(0x238)](_0x15eddd(0x219)),_0x54f7f5['push']('2.\x20Move\x20related\x20methods\x20and\x20properties\x20into\x20the\x20class'),_0x54f7f5['push']('3.\x20Update\x20all\x20instances\x20to\x20use\x20the\x20new\x20class'),_0x54f7f5[_0x15eddd(0x238)]('4.\x20Consider\x20dependency\x20injection\x20for\x20better\x20testability');break;case _0x15eddd(0x206):_0x54f7f5['push']('1.\x20Create\x20a\x20new\x20module/file\x20for\x20this\x20shared\x20functionality'),_0x54f7f5[_0x15eddd(0x238)]('2.\x20Move\x20the\x20duplicated\x20code\x20into\x20the\x20new\x20module'),_0x54f7f5[_0x15eddd(0x238)]('3.\x20Export\x20the\x20necessary\x20functions/classes'),_0x54f7f5['push']('4. Update all files to import from the new module'),_0x54f7f5['push'](_0x15eddd(0x20f));break;default:_0x54f7f5[_0x15eddd(0x238)](_0x15eddd(0x226)+_0x2ea3ad[_0x15eddd(0x20b)](/-/g,'\x20')),_0x54f7f5[_0x15eddd(0x238)](_0x15eddd(0x1fc)),_0x54f7f5['push']('3.\x20Test\x20thoroughly');}return _0x54f7f5;}[a0_0x23c83a(0x20d)](_0x1ac3df,_0x1dfa19=0xa){const _0x4dd366=a0_0x23c83a,_0x431c3a=_0x1ac3df['split']('\x0a');if(_0x431c3a['length']<=_0x1dfa19)return _0x1ac3df;return _0x431c3a[_0x4dd366(0x229)](0x0,_0x1dfa19)['join']('\x0a')+_0x4dd366(0x1f6);}['averageLineCount'](_0x4f265c){const _0x20dadf=a0_0x23c83a,_0x8830f1=_0x4f265c[_0x20dadf(0x20c)]((_0x541f30,_0x5177d6)=>_0x541f30+(_0x5177d6[_0x20dadf(0x1f4)]-_0x5177d6[_0x20dadf(0x235)]+0x1),0x0);return Math[_0x20dadf(0x22c)](_0x8830f1/_0x4f265c[_0x20dadf(0x20a)]);}}
1
+ const a0_0x160ad8=a0_0x158e;function a0_0xe41f(){const _0x32401b=['y2HHCKf0','ms4Gq3jLyxrLigeGBMv3ignSyxnZihrVigvUy2fWC3vSyxrLihrOAxmGzNvUy3rPB25HBgL0Eq','AM9PBG','mI4GuMvWBgfJzsbHBgWGAw5ZDgfUy2vZihDPDgGGDgHLigv4DhjHy3rLzcb2zxjZAw9U','ns4GvgvZDcb0BYbLBNn1CMuGyMvOyxzPB3iGAxmGChjLC2vYDMvK','y29Kzq','y2XVBMuT','C3bSAxq','DhLWzq','BgvUz3rO','BwvKAxvT','CMvKDwnL','yxzLCMfNzuXPBMvdB3vUDa','zM9Y','AgLNAa','C2XPy2u','lIbuAgLZigLZigeGAgLNAc1PBxbHy3qGCMvMywn0B3jPBMCGB3bWB3j0Dw5PDhK','mti3otbqAvb1yum','ChvZAa','sw1WCM92zsbJB2rLig9Yz2fUAxPHDgLVBIbHy3jVC3mG','mtK1mdmWou93vK55Eq','y2fSy3vSyxrLsw1Wywn0u2nVCMu','Aw5JBhvKzxm','CMvWBgfJzq','Aw1Wywn0u2nVCMu','igXVy2f0Aw9UCW','zw5KtgLUzq','otGZnJG4uxDNBK9P','mtG2nMTnwKXNuG','igzPBgvZ','mI4Gtw92zsbYzwXHDgvKig1LDgHVzhmGyw5KihbYB3bLCNrPzxmGAw50BYb0AguGy2XHC3m','zxH0CMfJDc1MDw5JDgLVBG','z2vUzxjHDgvszwzHy3rVCMLUz0fKDMLJzq','igr1CgXPy2f0zwqGBgLUzxmUia','odC3nZq5Eunmyufz','zwXZzq','q2XHC3m','C3vNz2vZDe5HBwu','ogHJthvMsq','mZK2ndHxzKzeC28','mJu5nLz4DgjjwG','mtbxswrXsgm','z2vUzxjHDgvszwfZB25PBMC','twv0Ag9K','C29YDa','zgvZy3jPyMvczw5LzML0CW','igfJCM9ZCYa','nJmXntGYn0Pjq3vnva','ms4GrxH0CMfJDcb0AguGzhvWBgLJyxrLzcbJB2rLihvZAw5Nia','zgv0zxjTAw5LuMvMywn0B3jPBMDtDhjHDgvNEq','sw1WCM92zsbTywLUDgfPBMfIAwXPDhKGyNKGy2vUDhjHBgL6Aw5NigXVz2LJigLUig9UzsbWBgfJzq','C3rHCNrmAw5L','lcbHBMqGCMvKDwnLignVzguGC2L6zq','ms4Gq3jLyxrLigeGBMv3ig1VzhvSzs9MAwXLigzVCIb0AgLZihnOyxjLzcbMDw5JDgLVBMfSAxr5','Dg9vChbLCKnHC2u','ndy4odeYwxDoAg5e','vgHPCYa','mxzVq0fXAW','y3jLyxrLrNvUy3rPB25oyw1L','Bwf0y2G','BwfW','zM9YrwfJAa','Bwv0CMLJCW','zxH0CMfJDc1TB2r1Bgu','z2vUzxjHDgvby3rPB25HyMXLu3rLChm','yMXVy2TZ','BwLU','zMLSzxndB3zLCMvK','zxn0Aw1HDgvfzMzVCNq','zMLSzq','yw5HBhL6zunSB25LCW','Dg9Rzw5dB3vUDa','twfRzsbMDxr1CMuGy2HHBMDLCYbLyxnPzxiGyw5KigXLC3mGzxjYB3iTChjVBMu'];a0_0xe41f=function(){return _0x32401b;};return a0_0xe41f();}function a0_0x158e(_0x1557a2,_0x45310b){_0x1557a2=_0x1557a2-0xc2;const _0xe41f84=a0_0xe41f();let _0x158e51=_0xe41f84[_0x1557a2];if(a0_0x158e['yYqTVe']===undefined){var _0x898850=function(_0x4533b9){const _0x2f88f3='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x476b91='',_0x383c6f='';for(let _0xc53d1d=0x0,_0x4023de,_0x566f67,_0x24da62=0x0;_0x566f67=_0x4533b9['charAt'](_0x24da62++);~_0x566f67&&(_0x4023de=_0xc53d1d%0x4?_0x4023de*0x40+_0x566f67:_0x566f67,_0xc53d1d++%0x4)?_0x476b91+=String['fromCharCode'](0xff&_0x4023de>>(-0x2*_0xc53d1d&0x6)):0x0){_0x566f67=_0x2f88f3['indexOf'](_0x566f67);}for(let _0x3b7e0f=0x0,_0x2982df=_0x476b91['length'];_0x3b7e0f<_0x2982df;_0x3b7e0f++){_0x383c6f+='%'+('00'+_0x476b91['charCodeAt'](_0x3b7e0f)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x383c6f);};a0_0x158e['FhzVEX']=_0x898850,a0_0x158e['TnARPn']={},a0_0x158e['yYqTVe']=!![];}const _0x9ba0b2=_0xe41f84[0x0],_0x1e5ae0=_0x1557a2+_0x9ba0b2,_0xb157f5=a0_0x158e['TnARPn'][_0x1e5ae0];return!_0xb157f5?(_0x158e51=a0_0x158e['FhzVEX'](_0x158e51),a0_0x158e['TnARPn'][_0x1e5ae0]=_0x158e51):_0x158e51=_0xb157f5,_0x158e51;}(function(_0x5d5f6b,_0x30a854){const _0xd43f=a0_0x158e,_0x29922a=_0x5d5f6b();while(!![]){try{const _0xddb9f6=-parseInt(_0xd43f(0x100))/0x1*(parseInt(_0xd43f(0xfe))/0x2)+parseInt(_0xd43f(0xe9))/0x3+-parseInt(_0xd43f(0xe2))/0x4+parseInt(_0xd43f(0xd8))/0x5*(parseInt(_0xd43f(0xe3))/0x6)+parseInt(_0xd43f(0xf6))/0x7*(parseInt(_0xd43f(0xed))/0x8)+-parseInt(_0xd43f(0xdb))/0x9*(parseInt(_0xd43f(0xf0))/0xa)+-parseInt(_0xd43f(0xef))/0xb*(parseInt(_0xd43f(0xee))/0xc);if(_0xddb9f6===_0x30a854)break;else _0x29922a['push'](_0x29922a['shift']());}catch(_0x172e41){_0x29922a['push'](_0x29922a['shift']());}}}(a0_0xe41f,0x7d649));export class RefactoringAnalyzer{constructor(_0x476b91){this['config']=_0x476b91;}[a0_0x160ad8(0xc4)](_0x383c6f){const _0x212a8f=a0_0x160ad8;return console['log']('Analyzing\x20clones\x20for\x20refactoring\x20opportunities...'),_0x383c6f['map']((_0xc53d1d,_0x4023de)=>{const _0x35f91e=a0_0x158e,_0x566f67=this['calculateMetrics'](_0xc53d1d),_0x24da62=this[_0x35f91e(0xe7)](_0xc53d1d,_0x566f67);return{'id':_0x35f91e(0xcd)+(_0x4023de+0x1),'type':_0xc53d1d[_0x35f91e(0xcf)],'confidence':_0xc53d1d['confidence'],'instances':_0xc53d1d[_0x35f91e(0x108)]['map'](_0x3b7e0f=>({'file':_0x3b7e0f[_0x35f91e(0xc3)],'startLine':_0x3b7e0f[_0x35f91e(0xfa)],'endLine':_0x3b7e0f['endLine'],'code':this['truncateCode'](_0x3b7e0f['code']),'fullCode':_0x3b7e0f[_0x35f91e(0xcc)],'blockType':_0x3b7e0f['type']})),'metrics':_0x566f67,'refactoringAdvice':_0x24da62};})['sort']((_0x2982df,_0x1843c8)=>_0x1843c8[_0x212a8f(0x105)][_0x212a8f(0xdf)]-_0x2982df['metrics']['impactScore']);}['calculateMetrics'](_0x330b4d){const _0x48c59d=a0_0x160ad8,_0x1ead8c=_0x330b4d['blocks'],_0x419970=_0x330b4d[_0x48c59d(0xc5)],_0x201879=this['averageLineCount'](_0x1ead8c),_0x29073d=_0x1ead8c['length'],_0x550801=this['calculateImpactScore'](_0x419970,_0x201879,_0x29073d,_0x330b4d['confidence']),_0x65e019=_0x201879*(_0x29073d-0x1),_0x6de37e=_0x419970*(_0x29073d-0x1);return{'tokenCount':_0x419970,'lineCount':_0x201879,'instanceCount':_0x29073d,'duplicatedLines':_0x65e019,'duplicatedTokens':_0x6de37e,'impactScore':parseFloat(_0x550801['toFixed'](0x2)),'filesCovered':new Set(_0x1ead8c['map'](_0x291405=>_0x291405[_0x48c59d(0xc3)]))['size']};}[a0_0x160ad8(0xdc)](_0x2a097b,_0x22a388,_0x22fa9b,_0x2bc06c){const _0x3e780f=a0_0x160ad8,_0x4e770f=Math['log10'](_0x2a097b+0x1)*0x2,_0x704859=Math['log2'](_0x22fa9b+0x1)*0x3,_0x1fb18d=_0x2bc06c*0x2,_0x1fba79=Math[_0x3e780f(0x109)](_0x22a388/0xa,0x3);return _0x4e770f+_0x704859+_0x1fb18d+_0x1fba79;}[a0_0x160ad8(0xe7)](_0x2f958b,_0x3e0d3c){const _0x5ba89d=a0_0x160ad8,_0x345cdf=this['determineRefactoringStrategy'](_0x2f958b,_0x3e0d3c),_0xb63c2c=this['determinePriority'](_0x3e0d3c),_0x55e31d=this['suggestName'](_0x2f958b),_0x1e66f0=this[_0x5ba89d(0xf1)](_0x2f958b,_0x3e0d3c,_0x345cdf),_0x319685=this[_0x5ba89d(0xc2)](_0x3e0d3c,_0x345cdf),_0x5ee6e6=this['describeBenefits'](_0x3e0d3c);return{'priority':_0xb63c2c,'strategy':_0x345cdf,'suggestedName':_0x55e31d,'reasoning':_0x1e66f0,'estimatedEffort':_0x319685,'benefits':_0x5ee6e6,'actionableSteps':this['generateActionableSteps'](_0x345cdf,_0x55e31d,_0x3e0d3c)};}[a0_0x160ad8(0xf8)](_0x507341,_0x2cbe63){const _0x5cf275=a0_0x160ad8,{tokenCount:_0x1ab6f8,lineCount:_0x26366f,instanceCount:_0x2ff224,filesCovered:_0x4708dd}=_0x2cbe63,_0x4921a0=_0x507341[_0x5cf275(0x108)]['map'](_0x33a3ed=>_0x33a3ed[_0x5cf275(0xcf)]),_0x52542a=_0x4921a0['some'](_0x42d284=>_0x42d284[_0x5cf275(0xdd)]('Function')||_0x42d284['includes'](_0x5cf275(0xf2))),_0x6421c1=_0x4921a0['some'](_0x15f3e4=>_0x15f3e4['includes'](_0x5cf275(0xeb)));if(_0x6421c1&&_0x26366f>0x32)return'extract-module';else{if(_0x4708dd>0x2&&_0x1ab6f8>0x64)return _0x5cf275(0x106);else{if(_0x52542a||_0x26366f>=0xa&&_0x26366f<=0x32)return'extract-function';else{if(_0x26366f>0x32)return'extract-class';else return _0x26366f<0xa?'extract-constant-or-utility':'extract-function';}}}}['determinePriority'](_0x52ecf2){const _0x5b696a=a0_0x160ad8,{impactScore:_0x2aaa95}=_0x52ecf2;if(_0x2aaa95>=0x8)return _0x5b696a(0xd5);if(_0x2aaa95>=0x5)return _0x5b696a(0xd1);return'low';}[a0_0x160ad8(0xec)](_0x4c04ca){const _0x186d9b=a0_0x160ad8,_0x3ad781=_0x4c04ca['blocks']['map'](_0x1f5c0e=>_0x1f5c0e[_0x186d9b(0xcc)])['join']('\x20'),_0x178fdd=_0x3ad781[_0x186d9b(0x102)](/[a-zA-Z_$][a-zA-Z0-9_$]*/g)||[],_0x589954={};_0x178fdd[_0x186d9b(0x104)](_0x315f09=>{const _0x1eddee=_0x186d9b;if(['const','let','var','function','return','if',_0x1eddee(0xea),_0x1eddee(0xd4),'while'][_0x1eddee(0xdd)](_0x315f09))return;_0x589954[_0x315f09]=(_0x589954[_0x315f09]||0x0)+0x1;});const _0x4a3192=Object['entries'](_0x589954)[_0x186d9b(0xf3)]((_0x4cdf09,_0x576696)=>_0x576696[0x1]-_0x4cdf09[0x1])[_0x186d9b(0xd6)](0x0,0x3);if(_0x4a3192[_0x186d9b(0xd0)]>0x0){const _0x135534=_0x4a3192['map'](([_0x4914e0])=>_0x4914e0);return this[_0x186d9b(0x101)](_0x135534);}return'extractedFunction';}['createFunctionName'](_0x5c2ec5){const _0x37feb8=a0_0x160ad8;if(_0x5c2ec5['length']===0x0)return'extractedFunction';return _0x5c2ec5[0x0]+_0x5c2ec5[_0x37feb8(0xd6)](0x1)[_0x37feb8(0x103)](_0x17f2aa=>_0x17f2aa[_0x37feb8(0xc7)](0x0)[_0x37feb8(0xfd)]()+_0x17f2aa[_0x37feb8(0xd6)](0x1))[_0x37feb8(0xc9)]('');}['generateReasoning'](_0x1c4e50,_0x57e390,_0x321932){const _0x5c7c91=a0_0x160ad8,{instanceCount:_0x5c4e89,duplicatedLines:_0x18eec6,filesCovered:_0x545398}=_0x57e390;let _0x18e73b=_0x5c7c91(0xff)+_0x1c4e50[_0x5c7c91(0xcf)]+'\x20code\x20pattern\x20appears\x20'+_0x5c4e89+'\x20times';return _0x545398>0x1&&(_0x18e73b+=_0x5c7c91(0xf5)+_0x545398+'\x20different\x20files'),_0x18e73b+=',\x20resulting\x20in\x20'+_0x18eec6+_0x5c7c91(0xe8),_0x18e73b+='Refactoring\x20to\x20'+_0x321932['replace'](/-/g,'\x20')+'\x20would\x20improve\x20maintainability',_0x5c4e89>=0x3&&(_0x18e73b+=', reduce bugs from inconsistent changes'),_0x18e73b+=_0x5c7c91(0xfb),_0x57e390['impactScore']>=0x8&&(_0x18e73b+=_0x5c7c91(0xd7)),_0x18e73b+'.';}['estimateEffort'](_0x553bc8,_0x2ce878){const _0xb32ec3=a0_0x160ad8,{lineCount:_0x5931f8,instanceCount:_0x42400e,filesCovered:_0x3b987a}=_0x553bc8;let _0x31083c=0x0;_0x31083c+=Math['min'](_0x5931f8/0xa,0x5),_0x31083c+=_0x42400e*0.5,_0x31083c+=_0x3b987a*0.5;if(_0x2ce878==='extract-module')_0x31083c+=0x3;else{if(_0x2ce878==='extract-class')_0x31083c+=0x2;else _0x2ce878===_0xb32ec3(0xe6)&&(_0x31083c+=0x1);}if(_0x31083c<=0x3)return'low';if(_0x31083c<=0x7)return'medium';return _0xb32ec3(0xd5);}[a0_0x160ad8(0xf4)](_0x1c350d){const _0x4975db=a0_0x160ad8,_0x3348ab=[];return _0x3348ab[_0x4975db(0xd9)]('Eliminate\x20'+_0x1c350d['duplicatedLines']+'\x20duplicated\x20lines\x20of\x20code'),_0x3348ab['push'](_0x4975db(0xf9)),_0x1c350d['instanceCount']>=0x3&&_0x3348ab[_0x4975db(0xd9)]('Reduce\x20risk\x20of\x20inconsistent\x20changes\x20across\x20'+_0x1c350d['instanceCount']+_0x4975db(0xe0)),_0x1c350d[_0x4975db(0x10a)]>0x2&&_0x3348ab['push'](_0x4975db(0xda)+_0x1c350d[_0x4975db(0x10a)]+_0x4975db(0xe4)),_0x3348ab['push'](_0x4975db(0xc6)),_0x3348ab;}[a0_0x160ad8(0x107)](_0x282eca,_0x4515cd,_0x5bf139){const _0xd42369=a0_0x160ad8,_0x235eca=[];switch(_0x282eca){case _0xd42369(0xe6):_0x235eca[_0xd42369(0xd9)]('1.\x20Create\x20a\x20new\x20function\x20named\x20\x27'+_0x4515cd+'\x27'),_0x235eca['push']('2.\x20Move\x20the\x20duplicated\x20logic\x20into\x20this\x20function'),_0x235eca[_0xd42369(0xd9)]('3. Identify parameters needed from the surrounding context'),_0x235eca['push']('4.\x20Replace\x20all\x20instances\x20with\x20calls\x20to\x20the\x20new\x20function'),_0x235eca[_0xd42369(0xd9)](_0xd42369(0xcb));break;case'extract-class':_0x235eca[_0xd42369(0xd9)](_0xd42369(0xc8)),_0x235eca['push'](_0xd42369(0xe5)),_0x235eca[_0xd42369(0xd9)]('3.\x20Update\x20all\x20instances\x20to\x20use\x20the\x20new\x20class'),_0x235eca[_0xd42369(0xd9)]('4.\x20Consider\x20dependency\x20injection\x20for\x20better\x20testability');break;case'extract-module':_0x235eca['push'](_0xd42369(0xfc)),_0x235eca['push']('2.\x20Move\x20the\x20duplicated\x20code\x20into\x20the\x20new\x20module'),_0x235eca['push']('3.\x20Export\x20the\x20necessary\x20functions/classes'),_0x235eca['push']('4. Update all files to import from the new module'),_0x235eca['push']('5.\x20Update\x20any\x20build\x20configurations\x20if\x20needed');break;default:_0x235eca[_0xd42369(0xd9)](_0xd42369(0xf7)+_0x282eca[_0xd42369(0xde)](/-/g,'\x20')),_0x235eca[_0xd42369(0xd9)](_0xd42369(0xca)),_0x235eca[_0xd42369(0xd9)]('3.\x20Test\x20thoroughly');}return _0x235eca;}['truncateCode'](_0x248a63,_0x3a2f92=0xa){const _0x5ac9ef=a0_0x160ad8,_0x582824=_0x248a63[_0x5ac9ef(0xce)]('\x0a');if(_0x582824['length']<=_0x3a2f92)return _0x248a63;return _0x582824['slice'](0x0,_0x3a2f92)['join']('\x0a')+'\x0a...\x20(truncated)';}[a0_0x160ad8(0xd3)](_0x6eed25){const _0x3be295=a0_0x160ad8,_0x2e4b3d=_0x6eed25[_0x3be295(0xd2)]((_0x1c6696,_0x1a92ed)=>_0x1c6696+(_0x1a92ed[_0x3be295(0xe1)]-_0x1a92ed[_0x3be295(0xfa)]+0x1),0x0);return Math['round'](_0x2e4b3d/_0x6eed25[_0x3be295(0xd0)]);}}
@@ -1 +1 @@
1
- const a0_0x229772=a0_0x3c76;function a0_0x1e46(){const _0xb53b6d=['zMLSBa','mta4nLvLq0rnCa','y29UzMLN','ndHltMrbthu','Bwf4','nJKYnZqXr3LPDeX2','ignSB25LigDYB3vWCW','yxbWCM94Aw1HDgvmq1m','Bg9N','nJG0nZiXofPcyNHjyq','AgfZ','ChvZAa','mte5ndz4rKXIsw0','otCWody0zeHeBhfr','ywrK','yMXVy2TZ','mteYotbkwLzSvMm','mtHMDNv4ANO','zMLUzfnPBwLSyxjdBg9Uzxm','z3jVDxbcEuHHC2G','zw50CMLLCW','BwLUvg9Rzw5Z','otuYmdq1u3P6wM96','y2fSy3vSyxrLqMXVy2TtAw1PBgfYAxr5','C2XPy2u','mJa2odC0m01OBNfAsa','ignVzguGyMXVy2TZ','Bg9Uz2vZDenVBw1VBLn1yNnLCxvLBMnL','zxHHy3q','zMLSDgvY','CgfYC2vY','Dg9Rzw5Z','AgfZAa','BgvUz3rO','oda5q3jIywX4'];a0_0x1e46=function(){return _0xb53b6d;};return a0_0x1e46();}function a0_0x3c76(_0x2a9769,_0xeff401){_0x2a9769=_0x2a9769-0xcb;const _0x1e4673=a0_0x1e46();let _0x3c7672=_0x1e4673[_0x2a9769];if(a0_0x3c76['SmsQtX']===undefined){var _0x10aecf=function(_0x272194){const _0x41c407='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x34f527='',_0x55bd88='';for(let _0x5b7dd5=0x0,_0x2ce495,_0x478469,_0x3d5c78=0x0;_0x478469=_0x272194['charAt'](_0x3d5c78++);~_0x478469&&(_0x2ce495=_0x5b7dd5%0x4?_0x2ce495*0x40+_0x478469:_0x478469,_0x5b7dd5++%0x4)?_0x34f527+=String['fromCharCode'](0xff&_0x2ce495>>(-0x2*_0x5b7dd5&0x6)):0x0){_0x478469=_0x41c407['indexOf'](_0x478469);}for(let _0x1ef46a=0x0,_0x4e41ce=_0x34f527['length'];_0x1ef46a<_0x4e41ce;_0x1ef46a++){_0x55bd88+='%'+('00'+_0x34f527['charCodeAt'](_0x1ef46a)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x55bd88);};a0_0x3c76['bZUDrY']=_0x10aecf,a0_0x3c76['Nxpwvo']={},a0_0x3c76['SmsQtX']=!![];}const _0x92c68f=_0x1e4673[0x0],_0xda9ee=_0x2a9769+_0x92c68f,_0x2b6c02=a0_0x3c76['Nxpwvo'][_0xda9ee];return!_0x2b6c02?(_0x3c7672=a0_0x3c76['bZUDrY'](_0x3c7672),a0_0x3c76['Nxpwvo'][_0xda9ee]=_0x3c7672):_0x3c7672=_0x2b6c02,_0x3c7672;}(function(_0x51f98d,_0x584388){const _0x1e57c2=a0_0x3c76,_0x3e9c80=_0x51f98d();while(!![]){try{const _0x16dfb2=-parseInt(_0x1e57c2(0xd7))/0x1*(-parseInt(_0x1e57c2(0xd9))/0x2)+-parseInt(_0x1e57c2(0xce))/0x3+parseInt(_0x1e57c2(0xe5))/0x4+-parseInt(_0x1e57c2(0xcb))/0x5*(-parseInt(_0x1e57c2(0xe9))/0x6)+-parseInt(_0x1e57c2(0xdd))/0x7*(parseInt(_0x1e57c2(0xdb))/0x8)+-parseInt(_0x1e57c2(0xe1))/0x9+-parseInt(_0x1e57c2(0xe8))/0xa*(-parseInt(_0x1e57c2(0xe4))/0xb);if(_0x16dfb2===_0x584388)break;else _0x3e9c80['push'](_0x3e9c80['shift']());}catch(_0x4e4934){_0x3e9c80['push'](_0x3e9c80['shift']());}}}(a0_0x1e46,0x6a3db));export class CloneDetector{constructor(_0x34f527,_0x55bd88){const _0x91a5fe=a0_0x3c76;this[_0x91a5fe(0xda)]=_0x34f527,this[_0x91a5fe(0xd3)]=_0x55bd88;}['detectClones'](_0x5b7dd5){const _0x4414ba=a0_0x3c76;console[_0x4414ba(0xe0)]('Detecting\x20clones...');const _0x2ce495=[],_0x478469=[];for(const _0x4e41ce of _0x5b7dd5){_0x478469[_0x4414ba(0xe3)](..._0x4e41ce[_0x4414ba(0xe7)]);}console[_0x4414ba(0xe0)]('Analyzing\x20'+_0x478469[_0x4414ba(0xd6)]+_0x4414ba(0xcf));const _0x3d5c78=this['groupByHash'](_0x478469);for(const [_0x5d0b2a,_0x4e5631]of Object[_0x4414ba(0xec)](_0x3d5c78)){_0x4e5631[_0x4414ba(0xd6)]>0x1&&_0x2ce495[_0x4414ba(0xe3)]({'type':_0x4414ba(0xd1),'confidence':0x1,'blocks':_0x4e5631,'tokenCount':_0x4e5631[0x0]['tokens'][_0x4414ba(0xd6)]});}const _0x1ef46a=this[_0x4414ba(0xea)](_0x478469);return _0x2ce495[_0x4414ba(0xe3)](..._0x1ef46a),console[_0x4414ba(0xe0)]('Found\x20'+_0x2ce495[_0x4414ba(0xd6)]+_0x4414ba(0xde)),_0x2ce495;}[a0_0x229772(0xeb)](_0x26bcd2){const _0x92e4e5=a0_0x229772,_0x2aaed6={};for(const _0x188f1b of _0x26bcd2){if(_0x188f1b['tokens']['length']<this['config'][_0x92e4e5(0xed)])continue;!_0x2aaed6[_0x188f1b[_0x92e4e5(0xd5)]]&&(_0x2aaed6[_0x188f1b['hash']]=[]),_0x2aaed6[_0x188f1b[_0x92e4e5(0xd5)]][_0x92e4e5(0xe3)](_0x188f1b);}return _0x2aaed6;}['findSimilarClones'](_0x4d4130){const _0xb04462=a0_0x229772,_0x10a8cb=[],processed=new Set(),_0x2efbd1=_0x4d4130[_0xb04462(0xd2)](_0x32f1ef=>_0x32f1ef[_0xb04462(0xd4)]['length']>=this['config']['minTokens']);for(let _0x392afd=0x0;_0x392afd<_0x2efbd1[_0xb04462(0xd6)];_0x392afd++){const _0x24c8b5=_0x2efbd1[_0x392afd],_0x374379=[_0x24c8b5];if(processed['has'](_0x24c8b5['id']))continue;for(let _0x1ad3e5=_0x392afd+0x1;_0x1ad3e5<_0x2efbd1['length'];_0x1ad3e5++){const _0x205f92=_0x2efbd1[_0x1ad3e5];if(processed[_0xb04462(0xe2)](_0x205f92['id']))continue;if(_0x24c8b5[_0xb04462(0xd5)]===_0x205f92['hash'])continue;const _0xdc884e=this[_0xb04462(0xcc)](_0x24c8b5,_0x205f92);_0xdc884e>=this[_0xb04462(0xda)]['similarityThreshold']&&(_0x374379[_0xb04462(0xe3)](_0x205f92),processed[_0xb04462(0xe6)](_0x205f92['id']));}_0x374379[_0xb04462(0xd6)]>0x1&&(processed['add'](_0x24c8b5['id']),_0x10a8cb[_0xb04462(0xe3)]({'type':'similar','confidence':this['calculateGroupConfidence'](_0x374379),'blocks':_0x374379,'tokenCount':Math['max'](..._0x374379['map'](_0xb67b4=>_0xb67b4['tokens']['length']))}));}return _0x10a8cb;}['calculateBlockSimilarity'](_0x10cd1d,_0xc3e668){const _0x20e73a=a0_0x229772,_0x2e10c4=_0x10cd1d['tokens'],_0x590133=_0xc3e668['tokens'],_0x3f4c65=Math['min'](_0x2e10c4['length'],_0x590133['length'])/Math['max'](_0x2e10c4['length'],_0x590133[_0x20e73a(0xd6)]);if(_0x3f4c65<0.7)return 0x0;const _0x2b2e76=this[_0x20e73a(0xd0)](_0x2e10c4,_0x590133),_0x42565c=0x2*_0x2b2e76/(_0x2e10c4[_0x20e73a(0xd6)]+_0x590133['length']);return _0x42565c;}[a0_0x229772(0xd0)](_0x522531,_0x1f236e){const _0x4a00f7=a0_0x229772,_0x367b66=_0x522531['length'],_0x941e81=_0x1f236e['length'];if(_0x367b66*_0x941e81>0x186a0)return this['approximateLCS'](_0x522531,_0x1f236e);const _0x125acc=Array(_0x367b66+0x1)[_0x4a00f7(0xd8)](0x0)['map'](()=>Array(_0x941e81+0x1)[_0x4a00f7(0xd8)](0x0));for(let _0x2d33fe=0x1;_0x2d33fe<=_0x367b66;_0x2d33fe++){for(let _0x50abdd=0x1;_0x50abdd<=_0x941e81;_0x50abdd++){_0x522531[_0x2d33fe-0x1]===_0x1f236e[_0x50abdd-0x1]?_0x125acc[_0x2d33fe][_0x50abdd]=_0x125acc[_0x2d33fe-0x1][_0x50abdd-0x1]+0x1:_0x125acc[_0x2d33fe][_0x50abdd]=Math[_0x4a00f7(0xdc)](_0x125acc[_0x2d33fe-0x1][_0x50abdd],_0x125acc[_0x2d33fe][_0x50abdd-0x1]);}}return _0x125acc[_0x367b66][_0x941e81];}[a0_0x229772(0xdf)](_0x1277e2,_0x28e04f){const _0x42a05f=a0_0x229772,_0x1a9751=0x64;let _0x19c31f=0x0;for(let _0x27f95d=0x0;_0x27f95d<_0x1277e2[_0x42a05f(0xd6)];_0x27f95d+=_0x1a9751){const _0x544c20=_0x1277e2[_0x42a05f(0xcd)](_0x27f95d,_0x27f95d+_0x1a9751),_0x392f15=new Set(_0x28e04f['slice'](Math[_0x42a05f(0xdc)](0x0,_0x27f95d-_0x1a9751),_0x27f95d+_0x1a9751*0x2));_0x19c31f+=_0x544c20[_0x42a05f(0xd2)](_0x3f44be=>_0x392f15[_0x42a05f(0xe2)](_0x3f44be))[_0x42a05f(0xd6)];}return _0x19c31f;}['calculateGroupConfidence'](_0x246390){const _0x445872=a0_0x229772;if(_0x246390[_0x445872(0xd6)]===0x0)return 0x0;let _0x11e624=0x0,_0x459832=0x0;for(let _0xc9d5fc=0x0;_0xc9d5fc<_0x246390['length'];_0xc9d5fc++){for(let _0x559174=_0xc9d5fc+0x1;_0x559174<_0x246390[_0x445872(0xd6)];_0x559174++){_0x11e624+=this['calculateBlockSimilarity'](_0x246390[_0xc9d5fc],_0x246390[_0x559174]),_0x459832++;}}return _0x459832>0x0?_0x11e624/_0x459832:0x0;}}
1
+ const a0_0x34f4ca=a0_0x1e53;function a0_0x1e53(_0xc90ae3,_0x459a30){_0xc90ae3=_0xc90ae3-0x94;const _0x59e062=a0_0x59e0();let _0x1e5346=_0x59e062[_0xc90ae3];if(a0_0x1e53['UCGeKK']===undefined){var _0x401693=function(_0x39ad53){const _0x3d429d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x794726='',_0x1a4a81='';for(let _0x57d6c5=0x0,_0x576e4d,_0x4dfcd1,_0x5234e9=0x0;_0x4dfcd1=_0x39ad53['charAt'](_0x5234e9++);~_0x4dfcd1&&(_0x576e4d=_0x57d6c5%0x4?_0x576e4d*0x40+_0x4dfcd1:_0x4dfcd1,_0x57d6c5++%0x4)?_0x794726+=String['fromCharCode'](0xff&_0x576e4d>>(-0x2*_0x57d6c5&0x6)):0x0){_0x4dfcd1=_0x3d429d['indexOf'](_0x4dfcd1);}for(let _0x29af7d=0x0,_0x596a35=_0x794726['length'];_0x29af7d<_0x596a35;_0x29af7d++){_0x1a4a81+='%'+('00'+_0x794726['charCodeAt'](_0x29af7d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1a4a81);};a0_0x1e53['WNapPG']=_0x401693,a0_0x1e53['nnhNFT']={},a0_0x1e53['UCGeKK']=!![];}const _0x11821f=_0x59e062[0x0],_0x12ca4b=_0xc90ae3+_0x11821f,_0x5cd11a=a0_0x1e53['nnhNFT'][_0x12ca4b];return!_0x5cd11a?(_0x1e5346=a0_0x1e53['WNapPG'](_0x1e5346),a0_0x1e53['nnhNFT'][_0x12ca4b]=_0x1e5346):_0x1e5346=_0x5cd11a,_0x1e5346;}(function(_0x48ceef,_0x3281a5){const _0xaca062=a0_0x1e53,_0x2aefb8=_0x48ceef();while(!![]){try{const _0x31d032=parseInt(_0xaca062(0x9e))/0x1*(parseInt(_0xaca062(0xa6))/0x2)+parseInt(_0xaca062(0xaf))/0x3+parseInt(_0xaca062(0xae))/0x4*(-parseInt(_0xaca062(0xad))/0x5)+parseInt(_0xaca062(0x98))/0x6+-parseInt(_0xaca062(0xb0))/0x7+-parseInt(_0xaca062(0xaa))/0x8*(parseInt(_0xaca062(0x94))/0x9)+-parseInt(_0xaca062(0xa8))/0xa*(-parseInt(_0xaca062(0x9f))/0xb);if(_0x31d032===_0x3281a5)break;else _0x2aefb8['push'](_0x2aefb8['shift']());}catch(_0x556a9f){_0x2aefb8['push'](_0x2aefb8['shift']());}}}(a0_0x59e0,0x5bd27));export class CloneDetector{constructor(_0x794726,_0x1a4a81){const _0x4a281d=a0_0x1e53;this[_0x4a281d(0x9c)]=_0x794726,this['parser']=_0x1a4a81;}['detectClones'](_0x57d6c5){const _0x3fea68=a0_0x1e53;console['log']('Detecting\x20clones...');const _0x576e4d=[],_0x4dfcd1=[];for(const _0x596a35 of _0x57d6c5){_0x4dfcd1[_0x3fea68(0xa1)](..._0x596a35['blocks']);}console[_0x3fea68(0xa7)]('Analyzing\x20'+_0x4dfcd1[_0x3fea68(0x99)]+'\x20code\x20blocks');const _0x5234e9=this['groupByHash'](_0x4dfcd1);for(const [_0x86f6e2,_0x30bd95]of Object['entries'](_0x5234e9)){_0x30bd95['length']>0x1&&_0x576e4d[_0x3fea68(0xa1)]({'type':'exact','confidence':0x1,'blocks':_0x30bd95,'tokenCount':_0x30bd95[0x0]['tokens']['length']});}const _0x29af7d=this[_0x3fea68(0x95)](_0x4dfcd1);return _0x576e4d['push'](..._0x29af7d),console[_0x3fea68(0xa7)](_0x3fea68(0x9b)+_0x576e4d[_0x3fea68(0x99)]+'\x20clone\x20groups'),_0x576e4d;}['groupByHash'](_0x19d688){const _0x77fc8a=a0_0x1e53,_0x1e8771={};for(const _0x519fc9 of _0x19d688){if(_0x519fc9[_0x77fc8a(0xa5)][_0x77fc8a(0x99)]<this[_0x77fc8a(0x9c)][_0x77fc8a(0xb1)])continue;!_0x1e8771[_0x519fc9[_0x77fc8a(0xa3)]]&&(_0x1e8771[_0x519fc9[_0x77fc8a(0xa3)]]=[]),_0x1e8771[_0x519fc9[_0x77fc8a(0xa3)]]['push'](_0x519fc9);}return _0x1e8771;}['findSimilarClones'](_0xee3bb){const _0x54a68d=a0_0x1e53,_0x33672d=[],processed=new Set(),_0x234e15=_0xee3bb['filter'](_0x478333=>_0x478333[_0x54a68d(0xa5)][_0x54a68d(0x99)]>=this['config'][_0x54a68d(0xb1)]);for(let _0x47ec60=0x0;_0x47ec60<_0x234e15[_0x54a68d(0x99)];_0x47ec60++){const _0x4bbea5=_0x234e15[_0x47ec60],_0x1ecc49=[_0x4bbea5];if(processed[_0x54a68d(0xa9)](_0x4bbea5['id']))continue;for(let _0x1f3556=_0x47ec60+0x1;_0x1f3556<_0x234e15[_0x54a68d(0x99)];_0x1f3556++){const _0x41b518=_0x234e15[_0x1f3556];if(processed['has'](_0x41b518['id']))continue;if(_0x4bbea5[_0x54a68d(0xa3)]===_0x41b518['hash'])continue;const _0x4c6c89=this[_0x54a68d(0xa4)](_0x4bbea5,_0x41b518);_0x4c6c89>=this['config'][_0x54a68d(0xab)]&&(_0x1ecc49[_0x54a68d(0xa1)](_0x41b518),processed[_0x54a68d(0xa2)](_0x41b518['id']));}_0x1ecc49['length']>0x1&&(processed['add'](_0x4bbea5['id']),_0x33672d['push']({'type':_0x54a68d(0x96),'confidence':this[_0x54a68d(0x9a)](_0x1ecc49),'blocks':_0x1ecc49,'tokenCount':Math['max'](..._0x1ecc49[_0x54a68d(0x9d)](_0x37b333=>_0x37b333[_0x54a68d(0xa5)]['length']))}));}return _0x33672d;}['calculateBlockSimilarity'](_0x263e01,_0x3ed1e4){const _0x39a129=a0_0x1e53,_0xfb12fc=_0x263e01[_0x39a129(0xa5)],_0x136657=_0x3ed1e4['tokens'],_0x58fc68=Math['min'](_0xfb12fc[_0x39a129(0x99)],_0x136657[_0x39a129(0x99)])/Math['max'](_0xfb12fc['length'],_0x136657['length']);if(_0x58fc68<0.7)return 0x0;const _0x4875a8=this[_0x39a129(0xa0)](_0xfb12fc,_0x136657),_0x10b807=0x2*_0x4875a8/(_0xfb12fc[_0x39a129(0x99)]+_0x136657['length']);return _0x10b807;}[a0_0x34f4ca(0xa0)](_0x408d7d,_0x458fbf){const _0x853b21=a0_0x34f4ca,_0x5a0a7f=_0x408d7d['length'],_0x1e473b=_0x458fbf[_0x853b21(0x99)];if(_0x5a0a7f*_0x1e473b>0x186a0)return this['approximateLCS'](_0x408d7d,_0x458fbf);const _0x5caba8=Array(_0x5a0a7f+0x1)['fill'](0x0)[_0x853b21(0x9d)](()=>Array(_0x1e473b+0x1)['fill'](0x0));for(let _0x5d30b8=0x1;_0x5d30b8<=_0x5a0a7f;_0x5d30b8++){for(let _0x400f5b=0x1;_0x400f5b<=_0x1e473b;_0x400f5b++){_0x408d7d[_0x5d30b8-0x1]===_0x458fbf[_0x400f5b-0x1]?_0x5caba8[_0x5d30b8][_0x400f5b]=_0x5caba8[_0x5d30b8-0x1][_0x400f5b-0x1]+0x1:_0x5caba8[_0x5d30b8][_0x400f5b]=Math['max'](_0x5caba8[_0x5d30b8-0x1][_0x400f5b],_0x5caba8[_0x5d30b8][_0x400f5b-0x1]);}}return _0x5caba8[_0x5a0a7f][_0x1e473b];}[a0_0x34f4ca(0xac)](_0x1a4c4e,_0x53464b){const _0xa128e8=a0_0x34f4ca,_0x5c31ee=0x64;let _0x34348b=0x0;for(let _0x34f72a=0x0;_0x34f72a<_0x1a4c4e['length'];_0x34f72a+=_0x5c31ee){const _0x15d5ad=_0x1a4c4e['slice'](_0x34f72a,_0x34f72a+_0x5c31ee),_0x17ea2d=new Set(_0x53464b[_0xa128e8(0x97)](Math['max'](0x0,_0x34f72a-_0x5c31ee),_0x34f72a+_0x5c31ee*0x2));_0x34348b+=_0x15d5ad['filter'](_0x184455=>_0x17ea2d[_0xa128e8(0xa9)](_0x184455))[_0xa128e8(0x99)];}return _0x34348b;}['calculateGroupConfidence'](_0x365f03){const _0x34e0e6=a0_0x34f4ca;if(_0x365f03['length']===0x0)return 0x0;let _0x87ac44=0x0,_0x519fe8=0x0;for(let _0x28438b=0x0;_0x28438b<_0x365f03['length'];_0x28438b++){for(let _0x309347=_0x28438b+0x1;_0x309347<_0x365f03[_0x34e0e6(0x99)];_0x309347++){_0x87ac44+=this[_0x34e0e6(0xa4)](_0x365f03[_0x28438b],_0x365f03[_0x309347]),_0x519fe8++;}}return _0x519fe8>0x0?_0x87ac44/_0x519fe8:0x0;}}function a0_0x59e0(){const _0x4d717c=['mtm5mdmZntbmsgT2tfi','AgfZ','ntm2mdGWzgXWq2Pp','C2LTAwXHCML0EvrOCMvZAg9Sza','yxbWCM94Aw1HDgvmq1m','mtG1mJm2mgzZA2zNsq','ohPhqwzutW','mZa1nJC5wg10t09i','mJG3mtq3n2XmvNLtwq','BwLUvg9Rzw5Z','otLrywPVEe0','zMLUzfnPBwLSyxjdBg9Uzxm','C2LTAwXHCG','C2XPy2u','mJu0nJi4nMjXB0jbta','BgvUz3rO','y2fSy3vSyxrLr3jVDxbdB25MAwrLBMnL','rM91BMqG','y29UzMLN','BwfW','mZq3nZu5Cuj4z2T5','mtfoywL0re4','Bg9Uz2vZDenVBw1VBLn1yNnLCxvLBMnL','ChvZAa','ywrK','AgfZAa','y2fSy3vSyxrLqMXVy2TtAw1PBgfYAxr5','Dg9Rzw5Z','mKTnvLLKvW','Bg9N'];a0_0x59e0=function(){return _0x4d717c;};return a0_0x59e0();}