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

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 (116) hide show
  1. package/bin/cli.js +1 -1
  2. package/bin/loxia-terminal-v2.js +1 -1
  3. package/bin/loxia-terminal.js +1 -1
  4. package/bin/start-with-terminal.js +1 -1
  5. package/package.json +1 -2
  6. package/scripts/install-scanners.js +1 -1
  7. package/src/analyzers/CSSAnalyzer.js +1 -1
  8. package/src/analyzers/ConfigValidator.js +1 -1
  9. package/src/analyzers/ESLintAnalyzer.js +1 -1
  10. package/src/analyzers/JavaScriptAnalyzer.js +1 -1
  11. package/src/analyzers/PrettierFormatter.js +1 -1
  12. package/src/analyzers/PythonAnalyzer.js +1 -1
  13. package/src/analyzers/SecurityAnalyzer.js +1 -1
  14. package/src/analyzers/TypeScriptAnalyzer.js +1 -1
  15. package/src/analyzers/codeCloneDetector/analyzer.js +1 -1
  16. package/src/analyzers/codeCloneDetector/detector.js +1 -1
  17. package/src/analyzers/codeCloneDetector/index.js +1 -1
  18. package/src/analyzers/codeCloneDetector/parser.js +1 -1
  19. package/src/analyzers/codeCloneDetector/reporter.js +1 -1
  20. package/src/analyzers/codeCloneDetector/scanner.js +1 -1
  21. package/src/core/agentPool.js +1 -1
  22. package/src/core/agentScheduler.js +1 -1
  23. package/src/core/contextManager.js +1 -1
  24. package/src/core/messageProcessor.js +1 -1
  25. package/src/core/orchestrator.js +1 -1
  26. package/src/core/stateManager.js +1 -1
  27. package/src/index.js +1 -1
  28. package/src/interfaces/cli.js +1 -1
  29. package/src/interfaces/terminal/__tests__/smoke/advancedFeatures.test.js +1 -1
  30. package/src/interfaces/terminal/__tests__/smoke/agentControl.test.js +1 -1
  31. package/src/interfaces/terminal/__tests__/smoke/agents.test.js +1 -1
  32. package/src/interfaces/terminal/__tests__/smoke/components.test.js +1 -1
  33. package/src/interfaces/terminal/__tests__/smoke/connection.test.js +1 -1
  34. package/src/interfaces/terminal/__tests__/smoke/enhancements.test.js +1 -1
  35. package/src/interfaces/terminal/__tests__/smoke/imports.test.js +1 -1
  36. package/src/interfaces/terminal/__tests__/smoke/messages.test.js +1 -1
  37. package/src/interfaces/terminal/__tests__/smoke/tools.test.js +1 -1
  38. package/src/interfaces/terminal/api/apiClient.js +1 -1
  39. package/src/interfaces/terminal/api/messageRouter.js +1 -1
  40. package/src/interfaces/terminal/api/session.js +1 -1
  41. package/src/interfaces/terminal/api/websocket.js +1 -1
  42. package/src/interfaces/terminal/components/AgentCreator.js +1 -1
  43. package/src/interfaces/terminal/components/AgentEditor.js +1 -1
  44. package/src/interfaces/terminal/components/AgentSwitcher.js +1 -1
  45. package/src/interfaces/terminal/components/ErrorBoundary.js +1 -1
  46. package/src/interfaces/terminal/components/ErrorPanel.js +1 -1
  47. package/src/interfaces/terminal/components/Header.js +1 -1
  48. package/src/interfaces/terminal/components/HelpPanel.js +1 -1
  49. package/src/interfaces/terminal/components/InputBox.js +1 -1
  50. package/src/interfaces/terminal/components/Layout.js +1 -1
  51. package/src/interfaces/terminal/components/LoadingSpinner.js +1 -1
  52. package/src/interfaces/terminal/components/MessageList.js +1 -1
  53. package/src/interfaces/terminal/components/MultilineTextInput.js +1 -1
  54. package/src/interfaces/terminal/components/SearchPanel.js +1 -1
  55. package/src/interfaces/terminal/components/SettingsPanel.js +1 -1
  56. package/src/interfaces/terminal/components/StatusBar.js +1 -1
  57. package/src/interfaces/terminal/components/TextInput.js +1 -1
  58. package/src/interfaces/terminal/config/agentEditorConstants.js +1 -1
  59. package/src/interfaces/terminal/config/constants.js +1 -1
  60. package/src/interfaces/terminal/index.js +1 -1
  61. package/src/interfaces/terminal/state/useAgentControl.js +1 -1
  62. package/src/interfaces/terminal/state/useAgents.js +1 -1
  63. package/src/interfaces/terminal/state/useConnection.js +1 -1
  64. package/src/interfaces/terminal/state/useMessages.js +1 -1
  65. package/src/interfaces/terminal/state/useTools.js +1 -1
  66. package/src/interfaces/terminal/utils/debugLogger.js +1 -1
  67. package/src/interfaces/terminal/utils/settingsStorage.js +1 -1
  68. package/src/interfaces/terminal/utils/theme.js +1 -1
  69. package/src/interfaces/webServer.js +1 -1
  70. package/src/modules/fileExplorer/controller.js +1 -1
  71. package/src/modules/fileExplorer/index.js +1 -1
  72. package/src/modules/fileExplorer/middleware.js +1 -1
  73. package/src/modules/fileExplorer/routes.js +1 -1
  74. package/src/services/aiService.js +1 -1
  75. package/src/services/apiKeyManager.js +1 -1
  76. package/src/services/benchmarkService.js +1 -1
  77. package/src/services/budgetService.js +1 -1
  78. package/src/services/contextInjectionService.js +1 -1
  79. package/src/services/conversationCompactionService.js +1 -1
  80. package/src/services/errorHandler.js +1 -1
  81. package/src/services/fileAttachmentService.js +1 -1
  82. package/src/services/modelRouterService.js +1 -1
  83. package/src/services/modelsService.js +1 -1
  84. package/src/services/qualityInspector.js +1 -1
  85. package/src/services/tokenCountingService.js +1 -1
  86. package/src/tools/agentCommunicationTool.js +1 -1
  87. package/src/tools/agentDelayTool.js +1 -1
  88. package/src/tools/asyncToolManager.js +1 -1
  89. package/src/tools/baseTool.js +1 -1
  90. package/src/tools/browserTool.js +1 -1
  91. package/src/tools/cloneDetectionTool.js +1 -1
  92. package/src/tools/dependencyResolverTool.js +1 -1
  93. package/src/tools/fileContentReplaceTool.js +1 -1
  94. package/src/tools/fileSystemTool.js +1 -1
  95. package/src/tools/fileTreeTool.js +1 -1
  96. package/src/tools/imageTool.js +1 -1
  97. package/src/tools/importAnalyzerTool.js +1 -1
  98. package/src/tools/jobDoneTool.js +1 -1
  99. package/src/tools/seekTool.js +1 -1
  100. package/src/tools/staticAnalysisTool.js +1 -1
  101. package/src/tools/taskManagerTool.js +1 -1
  102. package/src/tools/terminalTool.js +1 -1
  103. package/src/tools/webTool.js +1 -1
  104. package/src/types/agent.js +1 -1
  105. package/src/types/contextReference.js +1 -1
  106. package/src/types/conversation.js +1 -1
  107. package/src/types/toolCommand.js +1 -1
  108. package/src/utilities/attachmentValidator.js +1 -1
  109. package/src/utilities/configManager.js +1 -1
  110. package/src/utilities/constants.js +1 -1
  111. package/src/utilities/directoryAccessManager.js +1 -1
  112. package/src/utilities/fileProcessor.js +1 -1
  113. package/src/utilities/logger.js +1 -1
  114. package/src/utilities/tagParser.js +1 -1
  115. package/src/utilities/toolConstants.js +1 -1
  116. package/src/utilities/userDataDir.js +1 -1
@@ -1 +1 @@
1
- function a0_0x434f(){const _0x301b1d=['y2f0zwDVCNK','tw9KDwXLuMvZB2X1DgLVBKTPBMq','v0fstKLorW','BgvUz3rO','zMLSzu5HBwu','u3vNz2vZDgLVBG','y3jLyxrLu291CMnLrMLSzq','sMf2yvnJCMLWDcbHBMfSExnPCYbJB21WBgv0zwq','nZy0ntqXC0rzCxzW','rxjYB3i','zgvIDwC','z2v0u3LUDgfJDgLJrgLHz25VC3rPy3m','A2LUza','tgf0zxn0','z2v0tgLUzufUzenOyxjHy3rLCK9Mug9ZAxrPB24','ChvZAa','mJm5mJKWuxf4EfDe','nJa2nZG5mgzmBxbwDq','mZbXsfrbtKK','tM9KzuPZ','vfLqrq','tw9KDwXLs2LUza','u2nYAxb0vgfYz2v0','uMvHy3q','nfjZBhvAEG','mJb3rKjVBeS','y2fUBM90igzPBMqGBw9KDwXL','BgLIlMqUDhm','nJK3otq2nfbXtKfjqG','nda4mJe5n1fWy1rIzW','y2HHCMfJDgvY','BgLUzq','C3LUDgf4lwvYCM9Y','rvnozxH0','mZu5mtK5txfjruLq','zMLSDgvY','C3rHCNq','rgLHz25VC3rPy0nHDgvNB3j5','Aw5JBhvKzxm','zM9YBwf0rgLHz25VC3rPyW','BwvZC2fNzvrLEhq','zxjYB3i','u0vwrvjjvfK','zMLSzq','u1Lovefy','BwvZC2fNzq','q0furuDpuLK','su1qt1ju','z2v0u2vTyw50AwneAwfNBM9ZDgLJCW','vw5RBM93BG','Bg9Nz2vY','rvjst1i','y29Kzq','mJiWnti2nxPIs3z5Ea','twvZC2fNzq'];a0_0x434f=function(){return _0x301b1d;};return a0_0x434f();}const a0_0x229689=a0_0x24d6;(function(_0x112900,_0x563f29){const _0x51b8b4=a0_0x24d6,_0x4eae99=_0x112900();while(!![]){try{const _0x4b6572=-parseInt(_0x51b8b4(0xb2))/0x1+parseInt(_0x51b8b4(0xa0))/0x2*(parseInt(_0x51b8b4(0xa2))/0x3)+parseInt(_0x51b8b4(0xa8))/0x4*(-parseInt(_0x51b8b4(0x8e))/0x5)+-parseInt(_0x51b8b4(0xa1))/0x6+parseInt(_0x51b8b4(0xad))/0x7+parseInt(_0x51b8b4(0xac))/0x8+parseInt(_0x51b8b4(0x98))/0x9*(-parseInt(_0x51b8b4(0xa9))/0xa);if(_0x4b6572===_0x563f29)break;else _0x4eae99['push'](_0x4eae99['shift']());}catch(_0x5545c8){_0x4eae99['push'](_0x4eae99['shift']());}}}(a0_0x434f,0xa3b7d));import a0_0x43c90a from'typescript';function a0_0x24d6(_0x325656,_0x239a9a){_0x325656=_0x325656-0x8c;const _0x434f7f=a0_0x434f();let _0x24d6fe=_0x434f7f[_0x325656];if(a0_0x24d6['qAmroS']===undefined){var _0x4fdc69=function(_0x45fad1){const _0xa8f276='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x43c90a='',_0x213998='';for(let _0xfcf4de=0x0,_0x259768,_0x16d818,_0xb70b33=0x0;_0x16d818=_0x45fad1['charAt'](_0xb70b33++);~_0x16d818&&(_0x259768=_0xfcf4de%0x4?_0x259768*0x40+_0x16d818:_0x16d818,_0xfcf4de++%0x4)?_0x43c90a+=String['fromCharCode'](0xff&_0x259768>>(-0x2*_0xfcf4de&0x6)):0x0){_0x16d818=_0xa8f276['indexOf'](_0x16d818);}for(let _0x34e9d8=0x0,_0x132252=_0x43c90a['length'];_0x34e9d8<_0x132252;_0x34e9d8++){_0x213998+='%'+('00'+_0x43c90a['charCodeAt'](_0x34e9d8)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x213998);};a0_0x24d6['EvHoRq']=_0x4fdc69,a0_0x24d6['fUBVsg']={},a0_0x24d6['qAmroS']=!![];}const _0x5bb5c2=_0x434f7f[0x0],_0x20bd1d=_0x325656+_0x5bb5c2,_0xc2ebcb=a0_0x24d6['fUBVsg'][_0x20bd1d];return!_0xc2ebcb?(_0x24d6fe=a0_0x24d6['EvHoRq'](_0x24d6fe),a0_0x24d6['fUBVsg'][_0x20bd1d]=_0x24d6fe):_0x24d6fe=_0xc2ebcb,_0x24d6fe;}import a0_0x213998 from'path';import{STATIC_ANALYSIS}from'../utilities/constants.js';class JavaScriptAnalyzer{constructor(_0xfcf4de=null){const _0x4c2097=a0_0x24d6;this['logger']=_0xfcf4de,this['compilerOptions']={'allowJs':!![],'checkJs':!![],'noEmit':!![],'jsx':a0_0x43c90a['JsxEmit'][_0x4c2097(0xa7)],'target':a0_0x43c90a['ScriptTarget']['Latest'],'module':a0_0x43c90a[_0x4c2097(0xa5)][_0x4c2097(0xb1)],'moduleResolution':a0_0x43c90a[_0x4c2097(0x91)][_0x4c2097(0xa3)],'esModuleInterop':!![],'skipLibCheck':!![],'strict':![],'noImplicitAny':![]};}async['analyze'](_0x259768,_0x16d818,_0xb70b33={}){const _0x47ce41=a0_0x24d6;try{const _0x34e9d8=[],_0x132252=a0_0x43c90a[_0x47ce41(0x96)](_0x259768,_0x16d818,a0_0x43c90a['ScriptTarget'][_0x47ce41(0x9d)],!![]),_0x35b05f=this['getSyntacticDiagnostics'](_0x132252);_0x34e9d8['push'](..._0x35b05f);const _0x526e1e=await this[_0x47ce41(0xc0)](_0x259768,_0x16d818);return _0x34e9d8[_0x47ce41(0x9f)](..._0x526e1e),this[_0x47ce41(0xc2)]?.[_0x47ce41(0x9a)](_0x47ce41(0x97),{'file':_0x259768,'totalDiagnostics':_0x34e9d8['length'],'errors':_0x34e9d8[_0x47ce41(0xb3)](_0x22168c=>_0x22168c['severity']===STATIC_ANALYSIS[_0x47ce41(0xba)][_0x47ce41(0x8c)])[_0x47ce41(0x93)],'warnings':_0x34e9d8['filter'](_0x3d6209=>_0x3d6209['severity']===STATIC_ANALYSIS['SEVERITY'][_0x47ce41(0x92)])[_0x47ce41(0x93)]}),_0x34e9d8;}catch(_0x2ce582){return this[_0x47ce41(0xc2)]?.[_0x47ce41(0xb9)]('JavaScript\x20analysis\x20failed',{'file':_0x259768,'error':_0x2ce582['message']}),[{'file':_0x259768,'line':0x0,'column':0x0,'severity':STATIC_ANALYSIS['SEVERITY']['ERROR'],'rule':'analyzer-error','message':'Analysis\x20failed:\x20'+_0x2ce582[_0x47ce41(0xbd)],'category':STATIC_ANALYSIS[_0x47ce41(0xbe)][_0x47ce41(0xbc)]}];}}[a0_0x229689(0x9b)](_0x2638d7){const _0x147b79=a0_0x229689,_0x14a609=[],_0x3d0098=_0x28c898=>{const _0x3fbdc3=a0_0x24d6;if(_0x28c898[_0x3fbdc3(0x9c)]===a0_0x43c90a['SyntaxKind'][_0x3fbdc3(0xc1)]){const _0x56e0de=_0x2638d7[_0x3fbdc3(0x9e)](_0x28c898['getStart']());_0x14a609['push']({'file':_0x2638d7['fileName'],'line':_0x56e0de['line']+0x1,'column':_0x56e0de['character']+0x1,'severity':STATIC_ANALYSIS[_0x3fbdc3(0xba)]['ERROR'],'rule':_0x3fbdc3(0xb0),'message':'Syntax\x20error','category':STATIC_ANALYSIS['CATEGORY']['SYNTAX'],'fixable':![]});}a0_0x43c90a['forEachChild'](_0x28c898,_0x3d0098);};_0x3d0098(_0x2638d7);if(_0x2638d7['parseDiagnostics']&&_0x2638d7['parseDiagnostics']['length']>0x0)for(const _0x4cfc6b of _0x2638d7['parseDiagnostics']){_0x14a609['push'](this[_0x147b79(0xb7)](_0x4cfc6b,_0x2638d7));}return _0x14a609;}async['getSemanticDiagnostics'](_0x5cb26b,_0x22993d){const _0x5060ce=a0_0x229689,_0x35075b=[];try{const _0xc6a5e5=a0_0x43c90a['createSourceFile'](_0x5cb26b,_0x22993d,a0_0x43c90a[_0x5060ce(0xa6)]['Latest'],!![]),_0x1bba44={'getSourceFile':_0x3dbd0b=>{if(_0x3dbd0b===_0x5cb26b)return _0xc6a5e5;return undefined;},'getDefaultLibFileName':()=>_0x5060ce(0xab),'writeFile':()=>{},'getCurrentDirectory':()=>a0_0x213998['dirname'](_0x5cb26b),'getDirectories':()=>[],'fileExists':_0x43e11c=>_0x43e11c===_0x5cb26b,'readFile':_0x3f9893=>{if(_0x3f9893===_0x5cb26b)return _0x22993d;return undefined;},'getCanonicalFileName':_0x197600=>_0x197600,'useCaseSensitiveFileNames':()=>!![],'getNewLine':()=>'\x0a'},_0x175a5d=a0_0x43c90a['createProgram']({'rootNames':[_0x5cb26b],'options':this['compilerOptions'],'host':_0x1bba44}),_0x58c244=_0x175a5d['getSemanticDiagnostics'](_0xc6a5e5);for(const _0x4d1961 of _0x58c244){_0x35075b['push'](this['formatDiagnostic'](_0x4d1961,_0xc6a5e5));}}catch(_0x2fa013){this['logger']?.['debug']('Semantic\x20analysis\x20skipped',{'file':_0x5cb26b,'reason':_0x2fa013[_0x5060ce(0xbd)]});}return _0x35075b;}['formatDiagnostic'](_0x108958,_0x24c254){const _0xe33f86=a0_0x229689;let _0x4ee57f=0x0,_0x193914=0x0;if(_0x108958['file']&&_0x108958['start']!==undefined){const _0x99eeff=_0x108958[_0xe33f86(0xbb)]['getLineAndCharacterOfPosition'](_0x108958['start']);_0x4ee57f=_0x99eeff['line']+0x1,_0x193914=_0x99eeff[_0xe33f86(0xae)]+0x1;}else{if(_0x24c254&&_0x108958[_0xe33f86(0xb4)]!==undefined){const _0x140966=_0x24c254['getLineAndCharacterOfPosition'](_0x108958['start']);_0x4ee57f=_0x140966[_0xe33f86(0xaf)]+0x1,_0x193914=_0x140966['character']+0x1;}}const _0x505649=a0_0x43c90a['flattenDiagnosticMessageText'](_0x108958[_0xe33f86(0xb8)],'\x0a');let _0x4dd21a;switch(_0x108958[_0xe33f86(0x90)]){case a0_0x43c90a['DiagnosticCategory'][_0xe33f86(0x99)]:_0x4dd21a=STATIC_ANALYSIS['SEVERITY'][_0xe33f86(0x8c)];break;case a0_0x43c90a[_0xe33f86(0xb5)]['Warning']:_0x4dd21a=STATIC_ANALYSIS[_0xe33f86(0xba)][_0xe33f86(0x92)];break;case a0_0x43c90a[_0xe33f86(0xb5)][_0xe33f86(0x8f)]:case a0_0x43c90a['DiagnosticCategory'][_0xe33f86(0x95)]:_0x4dd21a=STATIC_ANALYSIS['SEVERITY']['INFO'];break;default:_0x4dd21a=STATIC_ANALYSIS['SEVERITY']['ERROR'];}let _0xf7c64=STATIC_ANALYSIS[_0xe33f86(0xbe)]['SYNTAX'];const _0x5aae08=_0x108958['code'];if(_0x5aae08>=0x7d0&&_0x5aae08<0xbb8)_0xf7c64=STATIC_ANALYSIS[_0xe33f86(0xbe)][_0xe33f86(0xa4)];else{if(_0x5aae08>=0x3e8&&_0x5aae08<0x7d0)_0xf7c64=STATIC_ANALYSIS[_0xe33f86(0xbe)][_0xe33f86(0xbc)];else _0x5aae08>=0x8fc&&_0x5aae08<0x960&&(_0xf7c64=STATIC_ANALYSIS[_0xe33f86(0xbe)]['IMPORT']);}return(_0x505649['toLowerCase']()[_0xe33f86(0xb6)](_0xe33f86(0xaa))||_0x505649['toLowerCase']()['includes']('import'))&&(_0xf7c64=STATIC_ANALYSIS[_0xe33f86(0xbe)][_0xe33f86(0xbf)]),{'file':_0x108958['file']?.[_0xe33f86(0x94)]||_0x24c254?.['fileName']||'unknown','line':_0x4ee57f,'column':_0x193914,'severity':_0x4dd21a,'rule':'TS'+_0x5aae08,'message':_0x505649,'category':_0xf7c64,'fixable':![],'code':_0x108958[_0xe33f86(0x8d)]};}}export default JavaScriptAnalyzer;
1
+ const a0_0x5fcd60=a0_0x4c3c;(function(_0x1ee33a,_0x4a2c0d){const _0x30a5db=a0_0x4c3c,_0x39a8a7=_0x1ee33a();while(!![]){try{const _0x295e30=parseInt(_0x30a5db(0x1d7))/0x1+-parseInt(_0x30a5db(0x1c7))/0x2+-parseInt(_0x30a5db(0x1dc))/0x3+parseInt(_0x30a5db(0x1d5))/0x4*(-parseInt(_0x30a5db(0x1e6))/0x5)+parseInt(_0x30a5db(0x1e5))/0x6*(-parseInt(_0x30a5db(0x1cb))/0x7)+-parseInt(_0x30a5db(0x1c0))/0x8+-parseInt(_0x30a5db(0x1cd))/0x9*(-parseInt(_0x30a5db(0x1b7))/0xa);if(_0x295e30===_0x4a2c0d)break;else _0x39a8a7['push'](_0x39a8a7['shift']());}catch(_0x33558c){_0x39a8a7['push'](_0x39a8a7['shift']());}}}(a0_0x5f4d,0x9f008));import a0_0x389b1c from'typescript';function a0_0x5f4d(){const _0x7f17ba=['Dw5RBM93BG','vfLqrq','u1Lovefy','CgfYC2veAwfNBM9ZDgLJCW','z2v0u2vTyw50AwneAwfNBM9ZDgLJCW','nZaXmMjrCLjLrq','z2v0tgLUzufUzenOyxjHy3rLCK9Mug9ZAxrPB24','nte4nJiYrvHSyw1o','y29TCgLSzxjpChrPB25Z','v2fYBMLUzW','uMvHy3q','BgLIlMqUDhm','mZm1mte5mMjTEgfjyW','u3LUDgf4s2LUza','BgLUzq','zMLSzu5HBwu','BgvUz3rO','z2v0u3rHCNq','zgvIDwC','yw5HBhL6zxiTzxjYB3i','u3LUDgf4igvYCM9Y','ndm4mdbgru9rs0C','nJu1z2vMC1LK','rgLHz25VC3rPy0nHDgvNB3j5','u0vwrvjjvfK','q0furuDpuLK','rvnozxH0','y2fUBM90igzPBMqGBw9KDwXL','tw9KDwXLs2LUza','yw5HBhL6zq','v0fstKLorW','mtuXmhj4q2jmuG','qw5HBhLZAxmGzMfPBgvKoIa','zM9YBwf0rgLHz25VC3rPyW','C3rHCNq','y3jLyxrLuhjVz3jHBq','BwvZC2fNzq','u3vNz2vZDgLVBG','ChvZAa','zMLSDgvY','otu3nJe4nhfeBhD4uG','u2nYAxb0vgfYz2v0','y2f0zwDVCNK','zgLYBMfTzq','zMLSzq','y2HHCMfJDgvY','rvjst1i','mtaXndq2nLDovKzgrG','Aw5JBhvKzxm','tgf0zxn0','Bg9Nz2vY','nZiXyLrgAMHK','C2v2zxjPDhK','mJm0nty3CgXSsu5P','y29Kzq','A2LUza'];a0_0x5f4d=function(){return _0x7f17ba;};return a0_0x5f4d();}import a0_0x2a30d7 from'path';import{STATIC_ANALYSIS}from'../utilities/constants.js';function a0_0x4c3c(_0x5443bc,_0x462109){_0x5443bc=_0x5443bc-0x1b3;const _0x5f4d57=a0_0x5f4d();let _0x4c3c7c=_0x5f4d57[_0x5443bc];if(a0_0x4c3c['uHdzJR']===undefined){var _0x499ce5=function(_0x474e9b){const _0x35f1a3='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x389b1c='',_0x2a30d7='';for(let _0x598987=0x0,_0x57b2ac,_0x1d722c,_0x18cfee=0x0;_0x1d722c=_0x474e9b['charAt'](_0x18cfee++);~_0x1d722c&&(_0x57b2ac=_0x598987%0x4?_0x57b2ac*0x40+_0x1d722c:_0x1d722c,_0x598987++%0x4)?_0x389b1c+=String['fromCharCode'](0xff&_0x57b2ac>>(-0x2*_0x598987&0x6)):0x0){_0x1d722c=_0x35f1a3['indexOf'](_0x1d722c);}for(let _0x8f6c9e=0x0,_0x24274c=_0x389b1c['length'];_0x8f6c9e<_0x24274c;_0x8f6c9e++){_0x2a30d7+='%'+('00'+_0x389b1c['charCodeAt'](_0x8f6c9e)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2a30d7);};a0_0x4c3c['ovgfkc']=_0x499ce5,a0_0x4c3c['xnOmwv']={},a0_0x4c3c['uHdzJR']=!![];}const _0x399e8a=_0x5f4d57[0x0],_0x25a9eb=_0x5443bc+_0x399e8a,_0x56d519=a0_0x4c3c['xnOmwv'][_0x25a9eb];return!_0x56d519?(_0x4c3c7c=a0_0x4c3c['ovgfkc'](_0x4c3c7c),a0_0x4c3c['xnOmwv'][_0x25a9eb]=_0x4c3c7c):_0x4c3c7c=_0x56d519,_0x4c3c7c;}class JavaScriptAnalyzer{constructor(_0x598987=null){const _0x151d68=a0_0x4c3c;this[_0x151d68(0x1ca)]=_0x598987,this['compilerOptions']={'allowJs':!![],'checkJs':!![],'noEmit':!![],'jsx':a0_0x389b1c['JsxEmit'][_0x151d68(0x1da)],'target':a0_0x389b1c[_0x151d68(0x1c1)][_0x151d68(0x1c9)],'module':a0_0x389b1c[_0x151d68(0x1b4)][_0x151d68(0x1ea)],'moduleResolution':a0_0x389b1c['ModuleResolutionKind']['NodeJs'],'esModuleInterop':!![],'skipLibCheck':!![],'strict':![],'noImplicitAny':![]};}async[a0_0x5fcd60(0x1b5)](_0x57b2ac,_0x1d722c,_0x18cfee={}){const _0x3b14d6=a0_0x5fcd60;try{const _0x8f6c9e=[],_0x24274c=a0_0x389b1c['createSourceFile'](_0x57b2ac,_0x1d722c,a0_0x389b1c['ScriptTarget']['Latest'],!![]),_0x91abb3=this['getSyntacticDiagnostics'](_0x24274c);_0x8f6c9e[_0x3b14d6(0x1be)](..._0x91abb3);const _0x2f9764=await this['getSemanticDiagnostics'](_0x57b2ac,_0x1d722c);return _0x8f6c9e['push'](..._0x2f9764),this['logger']?.['debug']('JavaScript\x20analysis\x20completed',{'file':_0x57b2ac,'totalDiagnostics':_0x8f6c9e[_0x3b14d6(0x1e0)],'errors':_0x8f6c9e[_0x3b14d6(0x1bf)](_0x26c7be=>_0x26c7be[_0x3b14d6(0x1cc)]===STATIC_ANALYSIS[_0x3b14d6(0x1e8)][_0x3b14d6(0x1c6)])['length'],'warnings':_0x8f6c9e['filter'](_0x18efb0=>_0x18efb0['severity']===STATIC_ANALYSIS['SEVERITY'][_0x3b14d6(0x1b6)])['length']}),_0x8f6c9e;}catch(_0x5d56a4){return this['logger']?.['error']('JavaScript\x20analysis\x20failed',{'file':_0x57b2ac,'error':_0x5d56a4['message']}),[{'file':_0x57b2ac,'line':0x0,'column':0x0,'severity':STATIC_ANALYSIS['SEVERITY']['ERROR'],'rule':_0x3b14d6(0x1e3),'message':_0x3b14d6(0x1b8)+_0x5d56a4[_0x3b14d6(0x1bc)],'category':STATIC_ANALYSIS['CATEGORY'][_0x3b14d6(0x1d2)]}];}}['getSyntacticDiagnostics'](_0x527f55){const _0x2a874d=a0_0x5fcd60,_0x4f5023=[],_0x2d652e=_0x19ab8f=>{const _0x1ed268=a0_0x4c3c;if(_0x19ab8f[_0x1ed268(0x1cf)]===a0_0x389b1c[_0x1ed268(0x1dd)]['Unknown']){const _0x261165=_0x527f55[_0x1ed268(0x1d6)](_0x19ab8f[_0x1ed268(0x1e1)]());_0x4f5023[_0x1ed268(0x1be)]({'file':_0x527f55[_0x1ed268(0x1df)],'line':_0x261165['line']+0x1,'column':_0x261165[_0x1ed268(0x1c5)]+0x1,'severity':STATIC_ANALYSIS[_0x1ed268(0x1e8)]['ERROR'],'rule':'syntax-error','message':_0x1ed268(0x1e4),'category':STATIC_ANALYSIS['CATEGORY']['SYNTAX'],'fixable':![]});}a0_0x389b1c['forEachChild'](_0x19ab8f,_0x2d652e);};_0x2d652e(_0x527f55);if(_0x527f55['parseDiagnostics']&&_0x527f55[_0x2a874d(0x1d3)][_0x2a874d(0x1e0)]>0x0)for(const _0xe47917 of _0x527f55[_0x2a874d(0x1d3)]){_0x4f5023['push'](this[_0x2a874d(0x1b9)](_0xe47917,_0x527f55));}return _0x4f5023;}async[a0_0x5fcd60(0x1d4)](_0x5f7bdc,_0x111eb5){const _0x31b14a=a0_0x5fcd60,_0x116a65=[];try{const _0xfa451d=a0_0x389b1c['createSourceFile'](_0x5f7bdc,_0x111eb5,a0_0x389b1c[_0x31b14a(0x1c1)][_0x31b14a(0x1c9)],!![]),_0x7193f3={'getSourceFile':_0x2b0d99=>{if(_0x2b0d99===_0x5f7bdc)return _0xfa451d;return undefined;},'getDefaultLibFileName':()=>_0x31b14a(0x1db),'writeFile':()=>{},'getCurrentDirectory':()=>a0_0x2a30d7[_0x31b14a(0x1c3)](_0x5f7bdc),'getDirectories':()=>[],'fileExists':_0x237f9c=>_0x237f9c===_0x5f7bdc,'readFile':_0x58b468=>{if(_0x58b468===_0x5f7bdc)return _0x111eb5;return undefined;},'getCanonicalFileName':_0xfb6b4e=>_0xfb6b4e,'useCaseSensitiveFileNames':()=>!![],'getNewLine':()=>'\x0a'},_0x8174e7=a0_0x389b1c[_0x31b14a(0x1bb)]({'rootNames':[_0x5f7bdc],'options':this[_0x31b14a(0x1d8)],'host':_0x7193f3}),_0x18fdc3=_0x8174e7[_0x31b14a(0x1d4)](_0xfa451d);for(const _0x5d43d5 of _0x18fdc3){_0x116a65[_0x31b14a(0x1be)](this[_0x31b14a(0x1b9)](_0x5d43d5,_0xfa451d));}}catch(_0x4feeca){this[_0x31b14a(0x1ca)]?.[_0x31b14a(0x1e2)]('Semantic\x20analysis\x20skipped',{'file':_0x5f7bdc,'reason':_0x4feeca['message']});}return _0x116a65;}[a0_0x5fcd60(0x1b9)](_0x530dfc,_0x35afcf){const _0x27861e=a0_0x5fcd60;let _0x3cbf2c=0x0,_0x515409=0x0;if(_0x530dfc[_0x27861e(0x1c4)]&&_0x530dfc[_0x27861e(0x1ba)]!==undefined){const _0x118c2a=_0x530dfc['file'][_0x27861e(0x1d6)](_0x530dfc['start']);_0x3cbf2c=_0x118c2a['line']+0x1,_0x515409=_0x118c2a[_0x27861e(0x1c5)]+0x1;}else{if(_0x35afcf&&_0x530dfc['start']!==undefined){const _0x2877f8=_0x35afcf[_0x27861e(0x1d6)](_0x530dfc['start']);_0x3cbf2c=_0x2877f8[_0x27861e(0x1de)]+0x1,_0x515409=_0x2877f8['character']+0x1;}}const _0x216f43=a0_0x389b1c['flattenDiagnosticMessageText'](_0x530dfc['messageText'],'\x0a');let _0x417a3b;switch(_0x530dfc[_0x27861e(0x1c2)]){case a0_0x389b1c[_0x27861e(0x1e7)]['Error']:_0x417a3b=STATIC_ANALYSIS[_0x27861e(0x1e8)]['ERROR'];break;case a0_0x389b1c['DiagnosticCategory'][_0x27861e(0x1d9)]:_0x417a3b=STATIC_ANALYSIS[_0x27861e(0x1e8)]['WARNING'];break;case a0_0x389b1c['DiagnosticCategory']['Message']:case a0_0x389b1c[_0x27861e(0x1e7)][_0x27861e(0x1bd)]:_0x417a3b=STATIC_ANALYSIS['SEVERITY']['INFO'];break;default:_0x417a3b=STATIC_ANALYSIS['SEVERITY'][_0x27861e(0x1c6)];}let _0x1fe78a=STATIC_ANALYSIS['CATEGORY']['SYNTAX'];const _0x455429=_0x530dfc['code'];if(_0x455429>=0x7d0&&_0x455429<0xbb8)_0x1fe78a=STATIC_ANALYSIS['CATEGORY'][_0x27861e(0x1d1)];else{if(_0x455429>=0x3e8&&_0x455429<0x7d0)_0x1fe78a=STATIC_ANALYSIS['CATEGORY'][_0x27861e(0x1d2)];else _0x455429>=0x8fc&&_0x455429<0x960&&(_0x1fe78a=STATIC_ANALYSIS['CATEGORY']['IMPORT']);}return(_0x216f43['toLowerCase']()[_0x27861e(0x1c8)](_0x27861e(0x1b3))||_0x216f43['toLowerCase']()[_0x27861e(0x1c8)]('import'))&&(_0x1fe78a=STATIC_ANALYSIS[_0x27861e(0x1e9)]['IMPORT']),{'file':_0x530dfc['file']?.[_0x27861e(0x1df)]||_0x35afcf?.['fileName']||_0x27861e(0x1d0),'line':_0x3cbf2c,'column':_0x515409,'severity':_0x417a3b,'rule':'TS'+_0x455429,'message':_0x216f43,'category':_0x1fe78a,'fixable':![],'code':_0x530dfc[_0x27861e(0x1ce)]};}}export default JavaScriptAnalyzer;
@@ -1 +1 @@
1
- const a0_0x43d8ba=a0_0x1f4a;(function(_0x615fa4,_0x249b2d){const _0xf6489e=a0_0x1f4a,_0x3824b8=_0x615fa4();while(!![]){try{const _0x5ce900=-parseInt(_0xf6489e(0x1d3))/0x1*(-parseInt(_0xf6489e(0x1b8))/0x2)+-parseInt(_0xf6489e(0x1b9))/0x3*(parseInt(_0xf6489e(0x1b1))/0x4)+-parseInt(_0xf6489e(0x1bb))/0x5+parseInt(_0xf6489e(0x1b6))/0x6+-parseInt(_0xf6489e(0x1b0))/0x7*(parseInt(_0xf6489e(0x1c1))/0x8)+parseInt(_0xf6489e(0x1cb))/0x9+parseInt(_0xf6489e(0x1c8))/0xa;if(_0x5ce900===_0x249b2d)break;else _0x3824b8['push'](_0x3824b8['shift']());}catch(_0x56a8d8){_0x3824b8['push'](_0x3824b8['shift']());}}}(a0_0x4161,0xa2c91));import a0_0x5df10a from'prettier';import a0_0x48b1ec from'path';import a0_0x145dee from'fs/promises';class PrettierFormatter{constructor(_0x513c26=null){const _0x2bfab9=a0_0x1f4a;this[_0x2bfab9(0x1dc)]=_0x513c26,this['configCache']=new Map();}async[a0_0x43d8ba(0x1cc)](_0x52739d,_0x359b79,_0x22a074={}){const _0x1ba105=a0_0x43d8ba;try{const _0x2d96de=await this[_0x1ba105(0x1ce)](_0x52739d,_0x22a074['workingDir']),_0x4d66e1=this['getParser'](_0x52739d),_0x2e3d9c=await a0_0x5df10a[_0x1ba105(0x1cc)](_0x359b79,{..._0x2d96de,'filepath':_0x52739d,'parser':_0x4d66e1}),_0x434a90=_0x2e3d9c!==_0x359b79;return{'formatted':_0x434a90,'content':_0x2e3d9c,'original':_0x359b79,'changes':_0x434a90?this['describeChanges'](_0x359b79,_0x2e3d9c):[],'linesChanged':_0x434a90?this[_0x1ba105(0x1c4)](_0x359b79,_0x2e3d9c):0x0};}catch(_0x3ff21d){this['logger']?.[_0x1ba105(0x1d5)]('Prettier\x20formatting\x20failed',{'file':_0x52739d,'error':_0x3ff21d[_0x1ba105(0x1c3)]});throw new Error(_0x1ba105(0x1db)+_0x3ff21d[_0x1ba105(0x1c3)]);}}async['check'](_0x325789,_0x1353ae,_0x1dcf60={}){const _0x17d3c2=a0_0x43d8ba;try{const _0x595b69=await this[_0x17d3c2(0x1ce)](_0x325789,_0x1dcf60['workingDir']),_0xf2b5bb=this['getParser'](_0x325789),_0x153c17=await a0_0x5df10a[_0x17d3c2(0x1cc)](_0x1353ae,{..._0x595b69,'filepath':_0x325789,'parser':_0xf2b5bb});return _0x153c17!==_0x1353ae;}catch(_0x4de38c){return this['logger']?.[_0x17d3c2(0x1c5)]('Prettier\x20check\x20failed',{'file':_0x325789,'error':_0x4de38c['message']}),![];}}async['getPrettierConfig'](_0x56468c,_0x1e6ca8){const _0x29a6d9=a0_0x43d8ba,_0xdda85a=_0x1e6ca8||a0_0x48b1ec['dirname'](_0x56468c);if(this[_0x29a6d9(0x1d0)]['has'](_0xdda85a))return this['configCache']['get'](_0xdda85a);let _0x3c0d26={};if(_0x1e6ca8)try{const _0x3da3b8=await a0_0x5df10a['resolveConfig'](_0x56468c,{'config':_0x1e6ca8});_0x3da3b8&&(this['logger']?.['debug'](_0x29a6d9(0x1bf),{'workingDir':_0x1e6ca8}),_0x3c0d26=_0x3da3b8);}catch(_0x3a2a49){this[_0x29a6d9(0x1dc)]?.[_0x29a6d9(0x1d4)]('No Prettier config found, using defaults');}const defaultConfig={'semi':!![],'singleQuote':!![],'tabWidth':0x2,'trailingComma':'es5','printWidth':0x64,'arrowParens':_0x29a6d9(0x1b7),'endOfLine':'lf',..._0x3c0d26};return this['configCache']['set'](_0xdda85a,defaultConfig),defaultConfig;}[a0_0x43d8ba(0x1d6)](_0x12f93c){const _0x408e51=a0_0x43d8ba,_0x5eac32=a0_0x48b1ec['extname'](_0x12f93c)['toLowerCase'](),_0x53d720={'.js':_0x408e51(0x1c2),'.jsx':_0x408e51(0x1c2),'.mjs':'babel','.cjs':_0x408e51(0x1c2),'.ts':_0x408e51(0x1bd),'.tsx':'typescript','.json':_0x408e51(0x1cd),'.json5':_0x408e51(0x1be),'.css':_0x408e51(0x1d7),'.scss':_0x408e51(0x1af),'.less':'less','.html':'html','.vue':'vue','.md':_0x408e51(0x1d1),'.yaml':'yaml','.yml':_0x408e51(0x1bc)};return _0x53d720[_0x5eac32]||_0x408e51(0x1c2);}[a0_0x43d8ba(0x1c7)](_0x3b7fc5,_0x843b0b){const _0x38dbed=a0_0x43d8ba,_0xf3fb0f=[],_0x2d863b=_0x3b7fc5[_0x38dbed(0x1d8)]('\x0a'),_0x2ce3b5=_0x843b0b[_0x38dbed(0x1d8)]('\x0a'),_0x2a5001=Math['max'](_0x2d863b[_0x38dbed(0x1cf)],_0x2ce3b5['length']);for(let _0x267c3a=0x0;_0x267c3a<_0x2a5001;_0x267c3a++){const _0x5f234c=_0x2d863b[_0x267c3a],_0x16738d=_0x2ce3b5[_0x267c3a];_0x5f234c!==_0x16738d&&_0xf3fb0f[_0x38dbed(0x1ca)]({'line':_0x267c3a+0x1,'type':_0x5f234c!==undefined&&_0x16738d!==undefined?_0x38dbed(0x1c9):_0x5f234c!==undefined?'removed':_0x38dbed(0x1b2),'original':_0x5f234c||'','formatted':_0x16738d||''});}return _0xf3fb0f;}[a0_0x43d8ba(0x1c4)](_0x4d1139,_0x4fbaa4){const _0x3eea8d=a0_0x43d8ba,_0x23e1d7=_0x4d1139[_0x3eea8d(0x1d8)]('\x0a'),_0x5be446=_0x4fbaa4['split']('\x0a');let _0xb98b89=0x0;const _0x42591d=Math['max'](_0x23e1d7[_0x3eea8d(0x1cf)],_0x5be446[_0x3eea8d(0x1cf)]);for(let _0x524d35=0x0;_0x524d35<_0x42591d;_0x524d35++){_0x23e1d7[_0x524d35]!==_0x5be446[_0x524d35]&&_0xb98b89++;}return _0xb98b89;}[a0_0x43d8ba(0x1ba)](){const _0x4bddc1=a0_0x43d8ba;return[_0x4bddc1(0x1c0),'.jsx','.mjs','.cjs','.ts',_0x4bddc1(0x1b4),'.json',_0x4bddc1(0x1c6),_0x4bddc1(0x1d2),_0x4bddc1(0x1b3),'.less','.html','.vue',_0x4bddc1(0x1da),'.yaml','.yml'];}[a0_0x43d8ba(0x1d9)](_0x271865){const _0x4a8d50=a0_0x43d8ba,_0x226180=a0_0x48b1ec['extname'](_0x271865)[_0x4a8d50(0x1b5)]();return this['getSupportedExtensions']()['includes'](_0x226180);}}function a0_0x1f4a(_0x6e57e6,_0x3fb7bc){_0x6e57e6=_0x6e57e6-0x1af;const _0x4161b8=a0_0x4161();let _0x1f4a04=_0x4161b8[_0x6e57e6];if(a0_0x1f4a['eKispp']===undefined){var _0x53b595=function(_0x42356e){const _0x2fbc44='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5df10a='',_0x48b1ec='';for(let _0x145dee=0x0,_0x513c26,_0x52739d,_0x359b79=0x0;_0x52739d=_0x42356e['charAt'](_0x359b79++);~_0x52739d&&(_0x513c26=_0x145dee%0x4?_0x513c26*0x40+_0x52739d:_0x52739d,_0x145dee++%0x4)?_0x5df10a+=String['fromCharCode'](0xff&_0x513c26>>(-0x2*_0x145dee&0x6)):0x0){_0x52739d=_0x2fbc44['indexOf'](_0x52739d);}for(let _0x22a074=0x0,_0x2d96de=_0x5df10a['length'];_0x22a074<_0x2d96de;_0x22a074++){_0x48b1ec+='%'+('00'+_0x5df10a['charCodeAt'](_0x22a074)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x48b1ec);};a0_0x1f4a['ZnEXBE']=_0x53b595,a0_0x1f4a['RGspHC']={},a0_0x1f4a['eKispp']=!![];}const _0x517746=_0x4161b8[0x0],_0x5ae733=_0x6e57e6+_0x517746,_0x55f9f9=a0_0x1f4a['RGspHC'][_0x5ae733];return!_0x55f9f9?(_0x1f4a04=a0_0x1f4a['ZnEXBE'](_0x1f4a04),a0_0x1f4a['RGspHC'][_0x5ae733]=_0x1f4a04):_0x1f4a04=_0x55f9f9,_0x1f4a04;}export default PrettierFormatter;function a0_0x4161(){const _0x468e80=['lNrZEa','Dg9mB3DLCKnHC2u','nZq2mdCWmefszNHUqW','yxzVAwq','otC2mNjYweTotW','mJu4oty2oufnELHrBW','z2v0u3vWCg9YDgvKrxH0zw5ZAw9UCW','ntuZoduWnuzxtfPorq','EwfTBa','DhLWzxnJCMLWDa','ANnVBJu','rM91BMqGuhjLDhrPzxiGy29UzMLN','lMPZ','off2wKHhyG','yMfIzwW','BwvZC2fNzq','y291BNrdAgfUz2vKtgLUzxm','D2fYBG','lMPZB241','zgvZy3jPyMvdAgfUz2vZ','mtaWmZaWmJbAD1zetuO','Bw9KAwzPzwq','ChvZAa','nJi4mZe4ogfhrxDwvq','zM9YBwf0','ANnVBG','z2v0uhjLDhrPzxjdB25MAwC','BgvUz3rO','y29UzMLNq2fJAgu','BwfYA2rVD24','lMnZCW','mtqZy21TyMTm','zgvIDwC','zxjYB3i','z2v0ugfYC2vY','y3nZ','C3bSAxq','AxntDxbWB3j0zwq','lM1K','uhjLDhrPzxiGzM9YBwf0DgLUzYbMywLSzwq6ia','Bg9Nz2vY','C2nZCW','nZaZndeXoe5mu0XYsW','nhHRDxrbsW','ywrKzwq','lNnJC3m'];a0_0x4161=function(){return _0x468e80;};return a0_0x4161();}
1
+ const a0_0x4dc000=a0_0x320c;(function(_0x4e1d73,_0x193c1d){const _0x55855b=a0_0x320c,_0x17b646=_0x4e1d73();while(!![]){try{const _0x38cf88=-parseInt(_0x55855b(0x203))/0x1+-parseInt(_0x55855b(0x1fa))/0x2*(parseInt(_0x55855b(0x200))/0x3)+parseInt(_0x55855b(0x1ed))/0x4+parseInt(_0x55855b(0x1f7))/0x5+parseInt(_0x55855b(0x1fc))/0x6*(-parseInt(_0x55855b(0x1f1))/0x7)+parseInt(_0x55855b(0x207))/0x8*(-parseInt(_0x55855b(0x1fd))/0x9)+parseInt(_0x55855b(0x205))/0xa*(parseInt(_0x55855b(0x1e5))/0xb);if(_0x38cf88===_0x193c1d)break;else _0x17b646['push'](_0x17b646['shift']());}catch(_0x4df7b5){_0x17b646['push'](_0x17b646['shift']());}}}(a0_0x34d0,0x545ed));import a0_0x2c735d from'prettier';import a0_0x71787e from'path';function a0_0x320c(_0x4e4408,_0x6e9a4f){_0x4e4408=_0x4e4408-0x1e1;const _0x34d068=a0_0x34d0();let _0x320c9d=_0x34d068[_0x4e4408];if(a0_0x320c['WyDhiI']===undefined){var _0x21f811=function(_0x52d1b1){const _0x5f3c46='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2c735d='',_0x71787e='';for(let _0x25e7ac=0x0,_0x55f02d,_0x73ea0e,_0x6023a4=0x0;_0x73ea0e=_0x52d1b1['charAt'](_0x6023a4++);~_0x73ea0e&&(_0x55f02d=_0x25e7ac%0x4?_0x55f02d*0x40+_0x73ea0e:_0x73ea0e,_0x25e7ac++%0x4)?_0x2c735d+=String['fromCharCode'](0xff&_0x55f02d>>(-0x2*_0x25e7ac&0x6)):0x0){_0x73ea0e=_0x5f3c46['indexOf'](_0x73ea0e);}for(let _0x1d0f5a=0x0,_0xd761f9=_0x2c735d['length'];_0x1d0f5a<_0xd761f9;_0x1d0f5a++){_0x71787e+='%'+('00'+_0x2c735d['charCodeAt'](_0x1d0f5a)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x71787e);};a0_0x320c['xuknFE']=_0x21f811,a0_0x320c['VSKWtT']={},a0_0x320c['WyDhiI']=!![];}const _0x510ed5=_0x34d068[0x0],_0x26565d=_0x4e4408+_0x510ed5,_0x289adc=a0_0x320c['VSKWtT'][_0x26565d];return!_0x289adc?(_0x320c9d=a0_0x320c['xuknFE'](_0x320c9d),a0_0x320c['VSKWtT'][_0x26565d]=_0x320c9d):_0x320c9d=_0x289adc,_0x320c9d;}function a0_0x34d0(){const _0x44d87b=['C3bSAxq','mtC4nJG0wwPUzu5S','yxzVAwq','lMPZ','z2v0uhjLDhrPzxjdB25MAwC','zgvZy3jPyMvdAgfUz2vZ','lMnQCW','uhjLDhrPzxiGzM9YBwf0DgLUzYbMywLSzwq','zxjYB3i','mtC2mZuXmM9Wv1zsBq','y3nZ','lM1K','yMfIzwW','mtiXmdm3meD6CwDprG','y291BNrdAgfUz2vKtgLUzxm','Aw5JBhvKzxm','ANnVBJu','lNrZ','lNLHBwW','mZm5ode3nu1oqLfZBa','AhrTBa','zxm1','mJeXmtHRzMrQq3G','z2v0u3vWCg9YDgvKrxH0zw5ZAw9UCW','mtHoq0zurM4','ouvRvKPKuW','z2v0','lNrZEa','mtiZDxfPwgji','lM1QCW','DhLWzxnJCMLWDa','ndG1mteWCfrrB09k','Bg9Nz2vY','nZGWELrtB3zu','BgvUz3rO','ndG0mty0mhLJugjACW','C2nZCW','DNvL','y29UzMLNq2fJAgu','BwfYA2rVD24'];a0_0x34d0=function(){return _0x44d87b;};return a0_0x34d0();}import a0_0x25e7ac from'fs/promises';class PrettierFormatter{constructor(_0x55f02d=null){const _0x22319c=a0_0x320c;this['logger']=_0x55f02d,this[_0x22319c(0x1e2)]=new Map();}async['format'](_0x73ea0e,_0x6023a4,_0x1d0f5a={}){const _0xab6d1d=a0_0x320c;try{const _0xd761f9=await this[_0xab6d1d(0x1e8)](_0x73ea0e,_0x1d0f5a['workingDir']),_0x5350ca=this['getParser'](_0x73ea0e),_0xe818b2=await a0_0x2c735d['format'](_0x6023a4,{..._0xd761f9,'filepath':_0x73ea0e,'parser':_0x5350ca}),_0x5a7b52=_0xe818b2!==_0x6023a4;return{'formatted':_0x5a7b52,'content':_0xe818b2,'original':_0x6023a4,'changes':_0x5a7b52?this['describeChanges'](_0x6023a4,_0xe818b2):[],'linesChanged':_0x5a7b52?this[_0xab6d1d(0x1f2)](_0x6023a4,_0xe818b2):0x0};}catch(_0x1717ad){this['logger']?.[_0xab6d1d(0x1ec)](_0xab6d1d(0x1eb),{'file':_0x73ea0e,'error':_0x1717ad['message']});throw new Error('Prettier\x20formatting\x20failed:\x20'+_0x1717ad['message']);}}async['check'](_0x1f5764,_0x48e620,_0x300a0b={}){const _0x238ff0=a0_0x320c;try{const _0x3fafb6=await this[_0x238ff0(0x1e8)](_0x1f5764,_0x300a0b['workingDir']),_0x4f3c9e=this['getParser'](_0x1f5764),_0x358585=await a0_0x2c735d['format'](_0x48e620,{..._0x3fafb6,'filepath':_0x1f5764,'parser':_0x4f3c9e});return _0x358585!==_0x48e620;}catch(_0xdf9d68){return this['logger']?.['warn']('Prettier\x20check\x20failed',{'file':_0x1f5764,'error':_0xdf9d68['message']}),![];}}async[a0_0x4dc000(0x1e8)](_0x114730,_0x1ded59){const _0x35fef2=a0_0x4dc000,_0x421e93=_0x1ded59||a0_0x71787e['dirname'](_0x114730);if(this['configCache']['has'](_0x421e93))return this['configCache'][_0x35fef2(0x1fe)](_0x421e93);let _0x58599e={};if(_0x1ded59)try{const _0x48a49e=await a0_0x2c735d['resolveConfig'](_0x114730,{'config':_0x1ded59});_0x48a49e&&(this[_0x35fef2(0x204)]?.['debug']('Found\x20Prettier\x20config',{'workingDir':_0x1ded59}),_0x58599e=_0x48a49e);}catch(_0x4c7184){this[_0x35fef2(0x204)]?.['debug']('No Prettier config found, using defaults');}const defaultConfig={'semi':!![],'singleQuote':!![],'tabWidth':0x2,'trailingComma':_0x35fef2(0x1f9),'printWidth':0x64,'arrowParens':_0x35fef2(0x1e6),'endOfLine':'lf',..._0x58599e};return this[_0x35fef2(0x1e2)]['set'](_0x421e93,defaultConfig),defaultConfig;}['getParser'](_0x5da45c){const _0x5119fb=a0_0x4dc000,_0x202d3b=a0_0x71787e['extname'](_0x5da45c)['toLowerCase'](),_0x474536={'.js':'babel','.jsx':'babel','.mjs':'babel','.cjs':_0x5119fb(0x1f0),'.ts':'typescript','.tsx':_0x5119fb(0x202),'.json':'json','.json5':_0x5119fb(0x1f4),'.css':_0x5119fb(0x1ee),'.scss':_0x5119fb(0x208),'.less':'less','.html':_0x5119fb(0x1f8),'.vue':_0x5119fb(0x1e1),'.md':_0x5119fb(0x1e3),'.yaml':'yaml','.yml':'yaml'};return _0x474536[_0x202d3b]||_0x5119fb(0x1f0);}[a0_0x4dc000(0x1e9)](_0x1b9dbf,_0x14d753){const _0x45f119=[],_0x273dba=_0x1b9dbf['split']('\x0a'),_0x39fd59=_0x14d753['split']('\x0a'),_0x1254f5=Math['max'](_0x273dba['length'],_0x39fd59['length']);for(let _0x136bd7=0x0;_0x136bd7<_0x1254f5;_0x136bd7++){const _0x37c32b=_0x273dba[_0x136bd7],_0x907da4=_0x39fd59[_0x136bd7];_0x37c32b!==_0x907da4&&_0x45f119['push']({'line':_0x136bd7+0x1,'type':_0x37c32b!==undefined&&_0x907da4!==undefined?'modified':_0x37c32b!==undefined?'removed':'added','original':_0x37c32b||'','formatted':_0x907da4||''});}return _0x45f119;}[a0_0x4dc000(0x1f2)](_0x46d4fb,_0x486923){const _0x23fc1f=a0_0x4dc000,_0x419503=_0x46d4fb[_0x23fc1f(0x1e4)]('\x0a'),_0x2c2a90=_0x486923[_0x23fc1f(0x1e4)]('\x0a');let _0x160cf1=0x0;const _0x10bf7f=Math['max'](_0x419503['length'],_0x2c2a90[_0x23fc1f(0x206)]);for(let _0x47c150=0x0;_0x47c150<_0x10bf7f;_0x47c150++){_0x419503[_0x47c150]!==_0x2c2a90[_0x47c150]&&_0x160cf1++;}return _0x160cf1;}[a0_0x4dc000(0x1fb)](){const _0x2ca934=a0_0x4dc000;return[_0x2ca934(0x1e7),'.jsx',_0x2ca934(0x201),_0x2ca934(0x1ea),_0x2ca934(0x1f5),_0x2ca934(0x1ff),'.json','.json5','.css','.scss','.less','.html','.vue',_0x2ca934(0x1ef),_0x2ca934(0x1f6),'.yml'];}['isSupported'](_0x385d3b){const _0x54573a=a0_0x4dc000,_0x418e34=a0_0x71787e['extname'](_0x385d3b)['toLowerCase']();return this[_0x54573a(0x1fb)]()[_0x54573a(0x1f3)](_0x418e34);}}export default PrettierFormatter;
@@ -1 +1 @@
1
- const a0_0x2166ee=a0_0x5e5a;(function(_0x384f6d,_0x309f3b){const _0x9b775=a0_0x5e5a,_0x3769cf=_0x384f6d();while(!![]){try{const _0x452e24=parseInt(_0x9b775(0x1ad))/0x1*(parseInt(_0x9b775(0x1aa))/0x2)+parseInt(_0x9b775(0x1b9))/0x3*(-parseInt(_0x9b775(0x190))/0x4)+-parseInt(_0x9b775(0x1bc))/0x5*(parseInt(_0x9b775(0x1b2))/0x6)+parseInt(_0x9b775(0x19d))/0x7+parseInt(_0x9b775(0x1a4))/0x8*(parseInt(_0x9b775(0x18f))/0x9)+parseInt(_0x9b775(0x19a))/0xa+-parseInt(_0x9b775(0x192))/0xb;if(_0x452e24===_0x309f3b)break;else _0x3769cf['push'](_0x3769cf['shift']());}catch(_0x1136ab){_0x3769cf['push'](_0x3769cf['shift']());}}}(a0_0x4653,0xae8a7));import{spawn}from'child_process';function a0_0x4653(){const _0x47fbba=['DgfYz2v0xW','u0vwrvjjvfK','yw5HBhL6zq','ChvZAa','DhjPBq','mtmWnde0mJbMEuHcrwS','DxrMltG','u1Lovefy','nZmYntKYC0LetMT6','cMLTCg9YDcbHC3qkAw1WB3j0ihn5CWPPBxbVCNqGANnVBGOkzgvMignOzwnRx3n5BNrHEcHMAwXLCgf0AcK6cIaGicb0CNK6cIaGicaGicaGD2L0AcbVCgvUkgzPBgvWyxrOlcaNCICSigvUy29KAw5NpsD1DgyTocCPigfZigy6cIaGicaGicaGicaGihnVDxjJzsa9igyUCMvHzcGPcGOGicaGicaGicmGvhj5ihrVihbHCNnLihrOzsbMAwXLcIaGicaGicaGyxn0lNbHCNnLkhnVDxjJzsWGzMLSzw5HBwu9zMLSzxbHDgGPcGOGicaGicaGicmGswyGC3vJy2vZC2z1BcWGBM8GzxjYB3jZcIaGicaGicaGChjPBNqOANnVBI5KDw1WCYH7iNn1y2nLC3mIoIbuCNvLlcaIzxjYB3jZiJOGw119ksKkcIaGicbLEgnLChqGu3LUDgf4rxjYB3iGyxmGztOkicaGicaGicbLCNjVCIa9ihSkicaGicaGicaGicaGiMzPBguIoIbMAwXLCgf0AcWkicaGicaGicaGicaGiMXPBMuIoIbLlMXPBMvUBYbVCIaXlaOGicaGicaGicaGicaIy29SDw1UiJOGzs5VzMzZzxqGB3iGmsWkicaGicaGicaGicaGiM1LC3nHz2uIoIbZDhiOzs5TC2CPlaOGicaGicaGicaGicaIDgv4Dci6iguUDgv4Dc5ZDhjPCcGPigLMiguUDgv4DcbLBhnLiciIcIaGicaGicaGFqOGicaGicaGihbYAw50kgPZB24UzhvTChmOEYjZDwnJzxnZiJOGrMfSC2uSicjLCNjVCNmIoIbBzxjYB3jDFsKPcGOGicaGzxHJzxb0iev4y2vWDgLVBIbHCYbLoGOGicaGicaGigvYCM9Yid0GEWOGicaGicaGicaGicaIzMLSzsi6igzPBgvWyxrOlaOGicaGicaGicaGicaIBgLUzsi6ideScIaGicaGicaGicaGicjJB2X1Bw4IoIaXlaOGicaGicaGicaGicaIBwvZC2fNzsi6ihn0CIHLksWkicaGicaGicaGicaGiNrLEhqIoIaIiGOGicaGicaGih0kicaGicaGicbWCMLUDcHQC29UlMr1BxbZkhSIC3vJy2vZCYi6iezHBhnLlcaIzxjYB3jZiJOGw2vYCM9Yxx0PkqOkAwyGx19Uyw1Lx18Gpt0GiL9FBwfPBL9FiJOkicaGigLMigXLBIHZExmUyxjNDIKGpIaXoGOGicaGicaGignOzwnRx3n5BNrHEcHZExmUyxjNDLSXxsKkicaGigvSC2u6cIaGicaGicaGChjPBNqOANnVBI5KDw1WCYH7iNn1y2nLC3mIoIbgywXZzsWGiMvYCM9YCYi6ifT7iM1LC3nHz2uIoIaItM8GzMLSzsbZCgvJAwzPzwqIFv19ksKk','lNb5','y29SDw1U','AM9PBG','zgf0yq','C3rKB3v0','mZa2nfD6BuDhyW','uhL0Ag9UigfUywX5C2LZignVBxbSzxrLza','Bg9Nz2vY','z2v0u3vWCg9YDgvKrxH0zw5ZAw9UCW','BgvUz3rO','Dgv4Da','nZi5ngDXsKffsW','CNvUq29TBwfUza','ChL0Ag9U','mJm5sefNCxvY','C2v2zxjPDhK','BwvZC2fNzq','u3LUDgf4rxjYB3i','D3jPDgvgAwXL','mJiYCLnpA2PX','zxjYB3jZ','C3vJy2vZCW','ls12zxjZAw9U','rvjst1i','zxjYB3i','ChL0Ag9Uq29TBwfUza','ndCYmJaZEMDSDfL4','y2XVC2u','Dw5SAw5R','nZqWmJbRvw1lDNq','ChL0Ag9UlwfZDa','Dg9tDhjPBMC','A2LSBa','q29TBwfUzcb0Aw1LB3v0','C3rKzxjY','C3LUDgf4x2nOzwnRxW','C3vWCg9YDhnbDxrVrML4','mJK1mJbHshvTtLO','mJbyywTIzNe','BM93','mtyZnty5odLKB2TwwKu','BgLUzq','z2v0uhL0Ag9Uq29TBwfUza'];a0_0x4653=function(){return _0x47fbba;};return a0_0x4653();}import{STATIC_ANALYSIS}from'../utilities/constants.js';function a0_0x5e5a(_0x536bd2,_0x259808){_0x536bd2=_0x536bd2-0x18d;const _0x4653ba=a0_0x4653();let _0x5e5a61=_0x4653ba[_0x536bd2];if(a0_0x5e5a['UWjCmh']===undefined){var _0x354e19=function(_0x807898){const _0x3e6229='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4b5d71='',_0x5878e4='';for(let _0x507708=0x0,_0x388062,_0x4cc464,_0x3d2098=0x0;_0x4cc464=_0x807898['charAt'](_0x3d2098++);~_0x4cc464&&(_0x388062=_0x507708%0x4?_0x388062*0x40+_0x4cc464:_0x4cc464,_0x507708++%0x4)?_0x4b5d71+=String['fromCharCode'](0xff&_0x388062>>(-0x2*_0x507708&0x6)):0x0){_0x4cc464=_0x3e6229['indexOf'](_0x4cc464);}for(let _0x12ffb6=0x0,_0x4c8cba=_0x4b5d71['length'];_0x12ffb6<_0x4c8cba;_0x12ffb6++){_0x5878e4+='%'+('00'+_0x4b5d71['charCodeAt'](_0x12ffb6)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5878e4);};a0_0x5e5a['NNVeUd']=_0x354e19,a0_0x5e5a['ekEaok']={},a0_0x5e5a['UWjCmh']=!![];}const _0x4594ff=_0x4653ba[0x0],_0x286c2c=_0x536bd2+_0x4594ff,_0xfd9713=a0_0x5e5a['ekEaok'][_0x286c2c];return!_0xfd9713?(_0x5e5a61=a0_0x5e5a['NNVeUd'](_0x5e5a61),a0_0x5e5a['ekEaok'][_0x286c2c]=_0x5e5a61):_0x5e5a61=_0xfd9713,_0x5e5a61;}import a0_0x4b5d71 from'fs/promises';import a0_0x5878e4 from'path';import a0_0x507708 from'os';class PythonAnalyzer{constructor(_0x388062=null){const _0x3ef3e6=a0_0x5e5a;this['logger']=_0x388062,this[_0x3ef3e6(0x1b8)]=null;}async[a0_0x2166ee(0x197)](_0x4cc464,_0x3d2098,_0x12ffb6={}){const _0x47242b=a0_0x2166ee;try{const _0x4c8cba=[],_0x564fb=await this[_0x47242b(0x194)]();if(!_0x564fb)return this[_0x47242b(0x1a6)]?.['warn']('Python\x20not\x20available,\x20skipping\x20analysis'),[];const _0x16dd36=await this['checkSyntax'](_0x4cc464,_0x3d2098,_0x564fb);return _0x4c8cba[_0x47242b(0x198)](..._0x16dd36),this['logger']?.['debug'](_0x47242b(0x1a5),{'file':_0x4cc464,'totalDiagnostics':_0x4c8cba[_0x47242b(0x1a8)],'errors':_0x4c8cba['filter'](_0x529147=>_0x529147[_0x47242b(0x1ae)]===STATIC_ANALYSIS[_0x47242b(0x196)]['ERROR'])['length'],'warnings':_0x4c8cba['filter'](_0x20ca37=>_0x20ca37['severity']===STATIC_ANALYSIS['SEVERITY']['WARNING'])['length']}),_0x4c8cba;}catch(_0x4d889d){return this[_0x47242b(0x1a6)]?.[_0x47242b(0x1b7)]('Python\x20analysis\x20failed',{'file':_0x4cc464,'error':_0x4d889d['message']}),[];}}async['checkSyntax'](_0x346085,_0x2f73e3,_0x1940fb){const _0x4b9e13=a0_0x2166ee,_0x28b0e1=[],_0x5bd50c=a0_0x507708['tmpdir'](),_0x2be73d=a0_0x5878e4[_0x4b9e13(0x1a1)](_0x5bd50c,_0x4b9e13(0x18d)+Date[_0x4b9e13(0x191)]()+_0x4b9e13(0x19f)),_0x44b4d7=a0_0x5878e4['join'](_0x5bd50c,_0x4b9e13(0x195)+Date['now']()+_0x4b9e13(0x19f));try{await a0_0x4b5d71[_0x4b9e13(0x1b1)](_0x44b4d7,_0x2f73e3,_0x4b9e13(0x19b));const _0x11b134=_0x4b9e13(0x19e);await a0_0x4b5d71['writeFile'](_0x2be73d,_0x11b134,_0x4b9e13(0x19b));const _0x58ec49=await this['runPythonScript'](_0x1940fb,_0x2be73d,[_0x44b4d7]);try{const _0xa44521=JSON['parse'](_0x58ec49[_0x4b9e13(0x1a3)]);if(!_0xa44521['success']&&_0xa44521['errors'])for(const _0x41f514 of _0xa44521[_0x4b9e13(0x1b3)]){_0x28b0e1['push']({'file':_0x346085,'line':_0x41f514[_0x4b9e13(0x193)]||0x1,'column':_0x41f514[_0x4b9e13(0x1a0)]||0x1,'severity':STATIC_ANALYSIS[_0x4b9e13(0x196)][_0x4b9e13(0x1b6)],'rule':_0x4b9e13(0x1b0),'message':_0x41f514[_0x4b9e13(0x1af)],'category':STATIC_ANALYSIS['CATEGORY'][_0x4b9e13(0x19c)],'fixable':![],'source':_0x4b9e13(0x1bd),'code':_0x41f514[_0x4b9e13(0x1a9)]||undefined});}}catch(_0x268db2){this['logger']?.['warn']('Failed\x20to\x20parse\x20Python\x20syntax\x20check\x20result',{'error':_0x268db2[_0x4b9e13(0x1af)],'stdout':_0x58ec49['stdout']});}}finally{try{await a0_0x4b5d71['unlink'](_0x2be73d),await a0_0x4b5d71[_0x4b9e13(0x1bb)](_0x44b4d7);}catch{}}return _0x28b0e1;}async['getPythonCommand'](){const _0x267753=a0_0x2166ee;if(this[_0x267753(0x1b8)])return this[_0x267753(0x1b8)];const _0x4b8f0c=['python3',_0x267753(0x1ac)];for(const _0x83df85 of _0x4b8f0c){try{const _0x5b53a9=await this['runCommand'](_0x83df85,[_0x267753(0x1b5)]);if(_0x5b53a9[_0x267753(0x1b4)])return this[_0x267753(0x1b8)]=_0x83df85,this[_0x267753(0x1a6)]?.['debug']('Found\x20Python\x20command',{'command':_0x83df85,'version':_0x5b53a9[_0x267753(0x1a3)][_0x267753(0x199)]()}),_0x83df85;}catch{}}return null;}async['runPythonScript'](_0x12ebe9,_0x23c7a6,_0x246c64=[]){const _0x530975=a0_0x2166ee;return this[_0x530975(0x1ab)](_0x12ebe9,[_0x23c7a6,..._0x246c64]);}async[a0_0x2166ee(0x1ab)](_0x4e02ae,_0x2d9c3a=[],_0x300b94={}){return new Promise((_0x48f36c,_0x2cd669)=>{const _0x4ff5a4=a0_0x5e5a,_0x12fbde=spawn(_0x4e02ae,_0x2d9c3a,{..._0x300b94,'shell':!![]});let _0x43d3d3='',_0x49ef15='';_0x12fbde[_0x4ff5a4(0x1a3)]?.['on']('data',_0x383ee2=>{_0x43d3d3+=_0x383ee2['toString']();}),_0x12fbde[_0x4ff5a4(0x1c1)]?.['on'](_0x4ff5a4(0x1a2),_0x48ae5d=>{const _0x3630f5=_0x4ff5a4;_0x49ef15+=_0x48ae5d[_0x3630f5(0x1be)]();}),_0x12fbde['on'](_0x4ff5a4(0x1b7),_0x3e2aba=>{_0x2cd669(_0x3e2aba);}),_0x12fbde['on'](_0x4ff5a4(0x1ba),_0x3f89ba=>{_0x48f36c({'success':_0x3f89ba===0x0,'code':_0x3f89ba,'stdout':_0x43d3d3,'stderr':_0x49ef15});}),setTimeout(()=>{const _0x22a63c=_0x4ff5a4;_0x12fbde[_0x22a63c(0x1bf)](),_0x2cd669(new Error(_0x22a63c(0x1c0)));},0x2710);});}[a0_0x2166ee(0x1a7)](){const _0x1410fb=a0_0x2166ee;return[_0x1410fb(0x19f)];}[a0_0x2166ee(0x18e)](){return![];}}export default PythonAnalyzer;
1
+ function a0_0x1957(_0x9205b8,_0x24dc31){_0x9205b8=_0x9205b8-0x193;const _0x4168b4=a0_0x4168();let _0x1957f6=_0x4168b4[_0x9205b8];if(a0_0x1957['aSHSyY']===undefined){var _0x3da667=function(_0x676f83){const _0x46ad1f='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5aa338='',_0x41576d='';for(let _0x102faa=0x0,_0x20a1c4,_0x3803d8,_0x25c600=0x0;_0x3803d8=_0x676f83['charAt'](_0x25c600++);~_0x3803d8&&(_0x20a1c4=_0x102faa%0x4?_0x20a1c4*0x40+_0x3803d8:_0x3803d8,_0x102faa++%0x4)?_0x5aa338+=String['fromCharCode'](0xff&_0x20a1c4>>(-0x2*_0x102faa&0x6)):0x0){_0x3803d8=_0x46ad1f['indexOf'](_0x3803d8);}for(let _0xb46f92=0x0,_0x7379b2=_0x5aa338['length'];_0xb46f92<_0x7379b2;_0xb46f92++){_0x41576d+='%'+('00'+_0x5aa338['charCodeAt'](_0xb46f92)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x41576d);};a0_0x1957['DCIKts']=_0x3da667,a0_0x1957['MNGZIp']={},a0_0x1957['aSHSyY']=!![];}const _0x3bca48=_0x4168b4[0x0],_0x20e40a=_0x9205b8+_0x3bca48,_0x8441b=a0_0x1957['MNGZIp'][_0x20e40a];return!_0x8441b?(_0x1957f6=a0_0x1957['DCIKts'](_0x1957f6),a0_0x1957['MNGZIp'][_0x20e40a]=_0x1957f6):_0x1957f6=_0x8441b,_0x1957f6;}const a0_0x1abf53=a0_0x1957;function a0_0x4168(){const _0x30a722=['zMLSDgvY','CgfYC2u','y2XVC2u','mtq4ntzyCu50swu','A2LSBa','CNvUuhL0Ag9Uu2nYAxb0','AM9PBG','rvjst1i','ChL0Ag9Uq29TBwfUza','uhL0Ag9UigfUywX5C2LZigzHAwXLza','lNb5','DxrMltG','mJGYoeHez3vdCq','BgvUz3rO','C3rKzxjY','D3jPDgvgAwXL','zxjYB3jZ','u3LUDgf4rxjYB3i','q29TBwfUzcb0Aw1LB3v0','Bg9Nz2vY','u0vwrvjjvfK','nda2nty4mdDSCgnOu3e','DgfYz2v0xW','v0fstKLorW','BM93','nty2mJuZmgv1B3HUqW','rMfPBgvKihrVihbHCNnLifb5DgHVBIbZEw50yxGGy2HLy2SGCMvZDwX0','ls12zxjZAw9U','nJy4ode2oeH4qMXPrq','zgf0yq','mZu2nJaWmMf2C0Tvva','Dg9tDhjPBMC','rM91BMqGuhL0Ag9UignVBw1HBMq','C3rKB3v0','C2v2zxjPDhK','ndC5nZe4BfftvenW','mtK5mde2CunPvuf3','Dg1WzgLY','q0furuDpuLK','CNvUq29TBwfUza','zgvIDwC','DhjPBq','nwH5BNPrBa','BwvZC2fNzq','C3vJy2vZCW'];a0_0x4168=function(){return _0x30a722;};return a0_0x4168();}(function(_0x16f53b,_0x330e0d){const _0x3a7f3e=a0_0x1957,_0x5e8343=_0x16f53b();while(!![]){try{const _0x46ada6=parseInt(_0x3a7f3e(0x198))/0x1+-parseInt(_0x3a7f3e(0x1bf))/0x2+-parseInt(_0x3a7f3e(0x197))/0x3+-parseInt(_0x3a7f3e(0x1bd))/0x4*(parseInt(_0x3a7f3e(0x19e))/0x5)+-parseInt(_0x3a7f3e(0x1ba))/0x6+parseInt(_0x3a7f3e(0x1ad))/0x7*(parseInt(_0x3a7f3e(0x1a4))/0x8)+parseInt(_0x3a7f3e(0x1b6))/0x9;if(_0x46ada6===_0x330e0d)break;else _0x5e8343['push'](_0x5e8343['shift']());}catch(_0x3566eb){_0x5e8343['push'](_0x5e8343['shift']());}}}(a0_0x4168,0xddabb));import{spawn}from'child_process';import{STATIC_ANALYSIS}from'../utilities/constants.js';import a0_0x5aa338 from'fs/promises';import a0_0x41576d from'path';import a0_0x102faa from'os';class PythonAnalyzer{constructor(_0x20a1c4=null){const _0x39c0af=a0_0x1957;this[_0x39c0af(0x1b4)]=_0x20a1c4,this['pythonCommand']=null;}async['analyze'](_0x3803d8,_0x25c600,_0xb46f92={}){const _0x5a3a94=a0_0x1957;try{const _0x7379b2=[],_0x14480b=await this['getPythonCommand']();if(!_0x14480b)return this[_0x5a3a94(0x1b4)]?.['warn']('Python\x20not\x20available,\x20skipping\x20analysis'),[];const _0x5d0ef1=await this['checkSyntax'](_0x3803d8,_0x25c600,_0x14480b);return _0x7379b2['push'](..._0x5d0ef1),this[_0x5a3a94(0x1b4)]?.[_0x5a3a94(0x19c)]('Python\x20analysis\x20completed',{'file':_0x3803d8,'totalDiagnostics':_0x7379b2['length'],'errors':_0x7379b2[_0x5a3a94(0x1a1)](_0xe78100=>_0xe78100[_0x5a3a94(0x196)]===STATIC_ANALYSIS[_0x5a3a94(0x1b5)][_0x5a3a94(0x1a8)])[_0x5a3a94(0x1ae)],'warnings':_0x7379b2['filter'](_0x4d439b=>_0x4d439b['severity']===STATIC_ANALYSIS[_0x5a3a94(0x1b5)][_0x5a3a94(0x1b8)])['length']}),_0x7379b2;}catch(_0x29e643){return this['logger']?.['error'](_0x5a3a94(0x1aa),{'file':_0x3803d8,'error':_0x29e643['message']}),[];}}async['checkSyntax'](_0xaf1c00,_0x298181,_0x54dbba){const _0x11f4ac=a0_0x1957,_0x2f2747=[],_0x37b0a9=a0_0x102faa[_0x11f4ac(0x199)](),_0x2c38d5=a0_0x41576d[_0x11f4ac(0x1a7)](_0x37b0a9,'syntax_check_'+Date['now']()+_0x11f4ac(0x1ab)),_0x24d519=a0_0x41576d[_0x11f4ac(0x1a7)](_0x37b0a9,_0x11f4ac(0x1b7)+Date[_0x11f4ac(0x1b9)]()+'.py');try{await a0_0x5aa338[_0x11f4ac(0x1b0)](_0x24d519,_0x298181,_0x11f4ac(0x1ac));const _0x50b0fa='\x0aimport\x20ast\x0aimport\x20sys\x0aimport\x20json\x0a\x0adef\x20check_syntax(filepath):\x0a\x20\x20\x20\x20try:\x0a\x20\x20\x20\x20\x20\x20\x20\x20with\x20open(filepath,\x20\x27r\x27,\x20encoding=\x27utf-8\x27)\x20as\x20f:\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20source\x20=\x20f.read()\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20#\x20Try\x20to\x20parse\x20the\x20file\x0a\x20\x20\x20\x20\x20\x20\x20\x20ast.parse(source,\x20filename=filepath)\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20#\x20If\x20successful,\x20no\x20errors\x0a\x20\x20\x20\x20\x20\x20\x20\x20print(json.dumps({\x22success\x22:\x20True,\x20\x22errors\x22:\x20[]}))\x0a\x0a\x20\x20\x20\x20except\x20SyntaxError\x20as\x20e:\x0a\x20\x20\x20\x20\x20\x20\x20\x20error\x20=\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22file\x22:\x20filepath,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22line\x22:\x20e.lineno\x20or\x201,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22column\x22:\x20e.offset\x20or\x201,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22message\x22:\x20str(e.msg),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22text\x22:\x20e.text.strip()\x20if\x20e.text\x20else\x20\x22\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20print(json.dumps({\x22success\x22:\x20False,\x20\x22errors\x22:\x20[error]}))\x0a\x0a\x20\x20\x20\x20except\x20Exception\x20as\x20e:\x0a\x20\x20\x20\x20\x20\x20\x20\x20error\x20=\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22file\x22:\x20filepath,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22line\x22:\x201,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22column\x22:\x201,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22message\x22:\x20str(e),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22text\x22:\x20\x22\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20print(json.dumps({\x22success\x22:\x20False,\x20\x22errors\x22:\x20[error]}))\x0a\x0aif\x20__name__\x20==\x20\x22__main__\x22:\x0a\x20\x20\x20\x20if\x20len(sys.argv)\x20>\x201:\x0a\x20\x20\x20\x20\x20\x20\x20\x20check_syntax(sys.argv[1])\x0a\x20\x20\x20\x20else:\x0a\x20\x20\x20\x20\x20\x20\x20\x20print(json.dumps({\x22success\x22:\x20False,\x20\x22errors\x22:\x20[{\x22message\x22:\x20\x22No\x20file\x20specified\x22}]}))\x0a';await a0_0x5aa338[_0x11f4ac(0x1b0)](_0x2c38d5,_0x50b0fa,_0x11f4ac(0x1ac));const _0x6f97a3=await this[_0x11f4ac(0x1a6)](_0x54dbba,_0x2c38d5,[_0x24d519]);try{const _0x401457=JSON[_0x11f4ac(0x1a2)](_0x6f97a3['stdout']);if(!_0x401457[_0x11f4ac(0x1a0)]&&_0x401457[_0x11f4ac(0x1b1)])for(const _0x3c0c3d of _0x401457['errors']){_0x2f2747['push']({'file':_0xaf1c00,'line':_0x3c0c3d['line']||0x1,'column':_0x3c0c3d['column']||0x1,'severity':STATIC_ANALYSIS['SEVERITY']['ERROR'],'rule':_0x11f4ac(0x1b2),'message':_0x3c0c3d[_0x11f4ac(0x19f)],'category':STATIC_ANALYSIS[_0x11f4ac(0x19a)]['SYNTAX'],'fixable':![],'source':'python-ast','code':_0x3c0c3d['text']||undefined});}}catch(_0x206c15){this['logger']?.['warn'](_0x11f4ac(0x1bb),{'error':_0x206c15['message'],'stdout':_0x6f97a3['stdout']});}}finally{try{await a0_0x5aa338['unlink'](_0x2c38d5),await a0_0x5aa338['unlink'](_0x24d519);}catch{}}return _0x2f2747;}async['getPythonCommand'](){const _0x3dc3a8=a0_0x1957;if(this['pythonCommand'])return this[_0x3dc3a8(0x1a9)];const _0x54cdd6=['python3','python'];for(const _0x3d306d of _0x54cdd6){try{const _0x7b7335=await this['runCommand'](_0x3d306d,[_0x3dc3a8(0x1bc)]);if(_0x7b7335[_0x3dc3a8(0x1a0)])return this['pythonCommand']=_0x3d306d,this[_0x3dc3a8(0x1b4)]?.[_0x3dc3a8(0x19c)](_0x3dc3a8(0x194),{'command':_0x3d306d,'version':_0x7b7335[_0x3dc3a8(0x195)][_0x3dc3a8(0x19d)]()}),_0x3d306d;}catch{}}return null;}async[a0_0x1abf53(0x1a6)](_0x2464f6,_0x1a75eb,_0x1f105f=[]){const _0x47da6a=a0_0x1abf53;return this[_0x47da6a(0x19b)](_0x2464f6,[_0x1a75eb,..._0x1f105f]);}async['runCommand'](_0xf1eca4,_0x1a7fe5=[],_0x107b81={}){return new Promise((_0x1f0980,_0x458eb5)=>{const _0x59334a=a0_0x1957,_0x4a3420=spawn(_0xf1eca4,_0x1a7fe5,{..._0x107b81,'shell':!![]});let _0x56f362='',_0x25ab52='';_0x4a3420['stdout']?.['on'](_0x59334a(0x1be),_0x430de1=>{const _0x1ba9f9=_0x59334a;_0x56f362+=_0x430de1[_0x1ba9f9(0x193)]();}),_0x4a3420[_0x59334a(0x1af)]?.['on'](_0x59334a(0x1be),_0x2bd721=>{_0x25ab52+=_0x2bd721['toString']();}),_0x4a3420['on']('error',_0x2f2513=>{_0x458eb5(_0x2f2513);}),_0x4a3420['on'](_0x59334a(0x1a3),_0x18aee6=>{_0x1f0980({'success':_0x18aee6===0x0,'code':_0x18aee6,'stdout':_0x56f362,'stderr':_0x25ab52});}),setTimeout(()=>{const _0x16f11b=_0x59334a;_0x4a3420[_0x16f11b(0x1a5)](),_0x458eb5(new Error(_0x16f11b(0x1b3)));},0x2710);});}['getSupportedExtensions'](){const _0xacdb2f=a0_0x1abf53;return[_0xacdb2f(0x1ab)];}['supportsAutoFix'](){return![];}}export default PythonAnalyzer;
@@ -1 +1 @@
1
- const a0_0x51e380=a0_0x4ea2;function a0_0x4ea2(_0x31c304,_0x1875af){_0x31c304=_0x31c304-0x1df;const _0x3b9ad8=a0_0x3b9a();let _0x4ea224=_0x3b9ad8[_0x31c304];if(a0_0x4ea2['vDBreR']===undefined){var _0x13312b=function(_0x21b34c){const _0x1a7219='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x36f659='',_0x2b9d52='';for(let _0x2d20ba=0x0,_0x1db417,_0xa065b0,_0x1fca68=0x0;_0xa065b0=_0x21b34c['charAt'](_0x1fca68++);~_0xa065b0&&(_0x1db417=_0x2d20ba%0x4?_0x1db417*0x40+_0xa065b0:_0xa065b0,_0x2d20ba++%0x4)?_0x36f659+=String['fromCharCode'](0xff&_0x1db417>>(-0x2*_0x2d20ba&0x6)):0x0){_0xa065b0=_0x1a7219['indexOf'](_0xa065b0);}for(let _0x408553=0x0,_0x538a67=_0x36f659['length'];_0x408553<_0x538a67;_0x408553++){_0x2b9d52+='%'+('00'+_0x36f659['charCodeAt'](_0x408553)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2b9d52);};a0_0x4ea2['NOlpRO']=_0x13312b,a0_0x4ea2['nVtiDY']={},a0_0x4ea2['vDBreR']=!![];}const _0x1a0210=_0x3b9ad8[0x0],_0x43adc1=_0x31c304+_0x1a0210,_0x40d49d=a0_0x4ea2['nVtiDY'][_0x43adc1];return!_0x40d49d?(_0x4ea224=a0_0x4ea2['NOlpRO'](_0x4ea224),a0_0x4ea2['nVtiDY'][_0x43adc1]=_0x4ea224):_0x4ea224=_0x40d49d,_0x4ea224;}function a0_0x3b9a(){const _0x1d4cc2=['zxjYB3i','BM9YBwfSAxPLuMvZDwX0CW','C2v2zxjPDhK','AMf2yxnJCMLWDa','C3rHCNq','zgvIDwC','y3DL','yw5HBhL6zvbYB2PLy3q','C2vTz3jLCcaTlxzLCNnPB24','rMfPBgvKihrVihbHCNnLiejHBMrPDcbVDxrWDxq','zgvWzw5Kzw5JAwvZ','CgfYC2vtzw1NCMvWuMvZDwX0CW','mJm2odC0nKfIu0DnAq','BgLUzq','mty4ndC4mwDIA1j6qq','BMfTzq','DhLWzxnJCMLWDa','CgfJA2fNzq','ChvZAa','C2vJDxjPDhK','CNvUtNbTqxvKAxq','AM9PBG','z2v0sw5ZDgfSBfjLy29TBwvUzgf0Aw9UCW','sMf2yvnJCMLWDc9uExbLu2nYAxb0ihnLy3vYAxr5ihj1BgvZ','D2fYBG','CgLWigLUC3rHBgWGCgLWlwf1zgL0','BgvUz3rO','DxjS','CgfYC2u','yMfUzgL0','zxnSAw50lxbSDwDPBI1Zzwn1CML0Eq','BwfWugLWqxvKAxrtzxzLCML0Eq','zxH0CMe','u2vJDxjPDhKGDNvSBMvYywjPBgL0Eq','u2vTz3jLCcbUB3qGyxzHAwXHyMXL','zgv0zwn0tgfUz3vHz2u','BwfWu2vTz3jLCfnLDMvYAxr5','CNvUqMfUzgL0','C3rKB3v0','zML4x3zLCNnPB25Z','Axnuzxn0rMLSzq','lNnJyw5UzxjZ','ywnJzxnZ','rMfPBgvKihrVihbHCNnLifnLBwDYzxaGB3v0Chv0','AgfZu2nHBM5LCNngB3jmyw5NDwfNzq','mJGYntv5tNLXBwu','Dg9vChbLCKnHC2u','Bg93','BwfWtNbTu2v2zxjPDhK','Bg9JywXty2fUBMvYrgLY','q1jjveLdquW','BNbTigLUC3rHBgWGls1ZyxzLlwrLDIbLC2XPBNqTCgX1z2LUlxnLy3vYAxr5','DMvYC2LVBG','mty1nJKYngPqqvnwrW','AgLNAa','Bg9Nz2vY','C2nHBM5LCKnHy2HL','u0vwrvjjvfK','ohfsr0TktW','Bw9KDwXL','y3zZCW','Bgf0zxn0','zgLYBMfTzq','ChL0Ag9U','BwvKAxvT','txvSDgKTBgfUz3vHz2uGu0ftvcb3AxrOigv4DgvUC2L2zsbZzwn1CML0EsbYDwXLCW','C2vJDxjPDhKV','mtC3nJCYtMXIyLvd','odiYyLfrEfHR','CMvZDwX0CW','y3DK','zxnSAw50u2vJDxjPDhK','qMfUzgL0ihnJyw4GzMfPBgvK','zxnSAw50lxbSDwDPBI1Zzwn1CML0EsbKzxrLy3rLza','zgvZy3jPChrPB24','C2vTz3jLCa','Dg9mB3DLCKnHC2u','B3DHC3a','mtiWodi5nLvpqvbJwG','CMfUz2u','CgfYC2vcyw5KAxrszxn1BhrZ','Dw5RBM93BG','y29UzMLKzw5Jzq','DNvSBMvYywjPBgL0AwvZ','DMLH','C29Tzq','BgLUzv9UDw1Izxi','rvjst1i','BNbTlwf1zgL0','zxH0BMfTzq','qxzHAwXHyMXL','Bw9YzuLUzM8','uhL0Ag9UihnLy3vYAxr5ihnJyw5Uzxi','CNvUu2vTz3jLCa','zMLSzq','C2TPCfrLC3rgAwXLCW','tM8GCMvXDwLYzw1LBNrZlNr4DcbMB3vUzcWGC2TPChbPBMCGCgLWlwf1zgL0','BNbTig5VDcbHDMfPBgfIBgu','CgLWlwf1zgL0','BwfWqMfUzgL0u2v2zxjPDhK','CgfYC2vfu0XPBNrszxn1BhrZ','yMfUzgL0ic0TDMvYC2LVBG','BwvZC2fNzq','qMfUzgL0','CgLWlwf1zgL0ic0TzM9YBwf0igPZB24','zgv0zwn0qxzHAwXHyMXLu2nHBM5LCNm','zML4ywjSzq','yw5HBhL6zq','qMfUzgL0ihnJyw5UzxiGzgv0zwn0zwq','CMvMzxjLBMnLCW','v0fstKLorW','AxnZDwvFy29UzMLKzw5Jzq','Bwv0ywrHDge','AxnbCNjHEq','y2HLy2TFAwq','BNbTigf1zgL0igf2ywLSywjSzq','ywr2AxnVCNK','u2vJDxjPDhKGAxnZDwuGzgv0zwn0zwq','y3zL','CNvUugLWqxvKAxq','CgLWqxvKAxq','u2vTz3jLCcbZy2fUigzHAwXLza','CgfYC2voCg1bDwrPDfjLC3vSDhm','mtu2ndm3ngvHruTnvW','BwfWrvnmAw50u2v2zxjPDhK','qMfUzgL0ig5VDcbHDMfPBgfIBgu'];a0_0x3b9a=function(){return _0x1d4cc2;};return a0_0x3b9a();}(function(_0x248e3d,_0x1d4471){const _0x5aebaa=a0_0x4ea2,_0x1471d6=_0x248e3d();while(!![]){try{const _0x26700f=parseInt(_0x5aebaa(0x239))/0x1+-parseInt(_0x5aebaa(0x1f3))/0x2+-parseInt(_0x5aebaa(0x22b))/0x3+parseInt(_0x5aebaa(0x244))/0x4+-parseInt(_0x5aebaa(0x223))/0x5*(-parseInt(_0x5aebaa(0x23a))/0x6)+parseInt(_0x5aebaa(0x204))/0x7+parseInt(_0x5aebaa(0x230))/0x8*(parseInt(_0x5aebaa(0x202))/0x9);if(_0x26700f===_0x1d4471)break;else _0x1471d6['push'](_0x1471d6['shift']());}catch(_0x481803){_0x1471d6['push'](_0x1471d6['shift']());}}}(a0_0x3b9a,0x67593));import{exec}from'child_process';import{promisify}from'util';import a0_0x36f659 from'path';import a0_0x2b9d52 from'fs/promises';import{STATIC_ANALYSIS}from'../utilities/constants.js';const execAsync=promisify(exec);class SecurityAnalyzer{constructor(_0x2d20ba=null){const _0x1bc22c=a0_0x4ea2;this[_0x1bc22c(0x22d)]=_0x2d20ba,this['availableScanners']=null,this[_0x1bc22c(0x22e)]=new Map(),this[_0x1bc22c(0x227)]=a0_0x36f659[_0x1bc22c(0x20b)](process[_0x1bc22c(0x23c)](),'node_modules',_0x1bc22c(0x21f));}async['detectAvailableScanners'](){const _0x3f6505=a0_0x4ea2;if(this['availableScanners']!==null)return this['availableScanners'];const _0x1db417={'semgrep':![],'bandit':![],'npmAudit':![],'pipAudit':![],'eslintSecurity':![]};try{const _0xa065b0=a0_0x36f659[_0x3f6505(0x20b)](this['localScannerDir'],_0x3f6505(0x241));try{await a0_0x2b9d52[_0x3f6505(0x220)](_0xa065b0),_0x1db417['semgrep']=!![],this['logger']?.[_0x3f6505(0x1fb)]('Semgrep\x20scanner\x20detected\x20(local)');}catch{await execAsync(_0x3f6505(0x1fe),{'timeout':0x1388}),_0x1db417[_0x3f6505(0x241)]=!![],this['logger']?.['debug']('Semgrep\x20scanner\x20detected\x20(system)');}}catch(_0x1fca68){this[_0x3f6505(0x22d)]?.['debug'](_0x3f6505(0x218),{'error':_0x1fca68['message']});}try{await execAsync(_0x3f6505(0x25b),{'timeout':0x1388}),_0x1db417[_0x3f6505(0x213)]=!![],this[_0x3f6505(0x22d)]?.['debug'](_0x3f6505(0x1e4));}catch(_0x408553){this['logger']?.[_0x3f6505(0x1fb)](_0x3f6505(0x1f5),{'error':_0x408553['message']});}try{await execAsync('npm\x20--version',{'timeout':0x1388}),_0x1db417['npmAudit']=!![],this['logger']?.['debug'](_0x3f6505(0x1eb));}catch(_0x538a67){this[_0x3f6505(0x22d)]?.['debug'](_0x3f6505(0x257),{'error':_0x538a67[_0x3f6505(0x25c)]});}try{await execAsync('pip-audit\x20--version',{'timeout':0x1388}),_0x1db417['pipAudit']=!![],this[_0x3f6505(0x22d)]?.['debug']('pip-audit\x20detected');}catch(_0x5a21c6){this[_0x3f6505(0x22d)]?.['debug']('pip-audit\x20not\x20available',{'error':_0x5a21c6[_0x3f6505(0x25c)]});}try{const _0x3fafe4=await execAsync('npm\x20list\x20eslint-plugin-security\x20--depth=0\x20--json',{'timeout':0x1388,'cwd':process['cwd']()}),_0x1dcee6=JSON['parse'](_0x3fafe4[_0x3f6505(0x21c)]);_0x1dcee6[_0x3f6505(0x200)]&&_0x1dcee6['dependencies'][_0x3f6505(0x214)]&&(_0x1db417['eslintSecurity']=!![],this['logger']?.[_0x3f6505(0x1fb)](_0x3f6505(0x23f)));}catch(_0x693efa){this['logger']?.[_0x3f6505(0x1fb)]('eslint-plugin-security\x20not\x20available',{'error':_0x693efa['message']});}return this['availableScanners']=_0x1db417,_0x1db417;}async[a0_0x51e380(0x1e3)](_0x2556c5,_0x129d19,_0x4bce85={}){const _0x4e98cd=a0_0x51e380,_0x4652b1=[],_0x43caa4=await this['detectAvailableScanners'](),_0x274e49=this[_0x4e98cd(0x219)](_0x2556c5);if(_0x4bce85[_0x4e98cd(0x255)]!==![]&&this[_0x4e98cd(0x21e)](_0x2556c5))return this[_0x4e98cd(0x22d)]?.[_0x4e98cd(0x1fb)]('Skipping\x20test\x20file\x20for\x20security\x20scan',{'filePath':_0x2556c5}),[];if(_0x274e49===_0x4e98cd(0x1f9)||_0x274e49===_0x4e98cd(0x206)){if(_0x43caa4[_0x4e98cd(0x241)]){const _0x53812f=await this[_0x4e98cd(0x253)](_0x2556c5,[_0x274e49],_0x4bce85);_0x4652b1[_0x4e98cd(0x208)](..._0x53812f);}if(_0x43caa4[_0x4e98cd(0x23d)]){const _0x1dee9a=await this['runESLintSecurity'](_0x2556c5,_0x129d19,_0x4bce85);_0x4652b1['push'](..._0x1dee9a);}}if(_0x274e49===_0x4e98cd(0x235)){if(_0x43caa4['bandit']){const _0xec0659=await this[_0x4e98cd(0x21b)](_0x2556c5,_0x4bce85);_0x4652b1[_0x4e98cd(0x208)](..._0xec0659);}if(_0x43caa4['semgrep']){const _0x3e3606=await this[_0x4e98cd(0x253)](_0x2556c5,[_0x274e49],_0x4bce85);_0x4652b1[_0x4e98cd(0x208)](..._0x3e3606);}}return _0x4652b1[_0x4e98cd(0x210)]===0x0&&!this['hasScannersForLanguage'](_0x43caa4,_0x274e49)&&this[_0x4e98cd(0x22d)]?.[_0x4e98cd(0x20e)]('No\x20security\x20scanners\x20available\x20for\x20language',{'language':_0x274e49,'filePath':_0x2556c5}),this[_0x4e98cd(0x1f7)](_0x4652b1);}async[a0_0x51e380(0x1fd)](_0x18574a,_0x19bbe2,_0x36d6be={}){const _0x459565=a0_0x51e380,_0x58d80c=[],_0x2153cb=await this[_0x459565(0x1e1)]();if(_0x19bbe2===_0x459565(0x1f9)||_0x19bbe2===_0x459565(0x206)){if(_0x2153cb['npmAudit']){const _0x506d49=await this[_0x459565(0x20a)](_0x18574a,_0x36d6be);_0x58d80c[_0x459565(0x208)](..._0x506d49);}}if(_0x19bbe2==='python'){if(_0x2153cb['pipAudit']){const _0x2fe642=await this[_0x459565(0x1ef)](_0x18574a,_0x36d6be);_0x58d80c['push'](..._0x2fe642);}}return this['normalizeResults'](_0x58d80c);}async[a0_0x51e380(0x253)](_0x220d42,_0x2dbbe7,_0x315f95={}){const _0x33f28a=a0_0x51e380;try{const _0x1f6aeb=a0_0x36f659[_0x33f28a(0x234)](_0x220d42),_0x20061f=await execAsync('semgrep\x20--config=auto\x20--json\x20\x22'+_0x220d42+'\x22',{'maxBuffer':0xa*0x400*0x400,'timeout':0x7530,'cwd':_0x1f6aeb}),_0x3d65ff=JSON['parse'](_0x20061f[_0x33f28a(0x21c)]);return this[_0x33f28a(0x201)](_0x3d65ff);}catch(_0x2bc980){if(_0x2bc980['stdout'])try{const _0x2d7ffe=JSON[_0x33f28a(0x212)](_0x2bc980[_0x33f28a(0x21c)]);return this['parseSemgrepResults'](_0x2d7ffe);}catch(_0x79782e){this['logger']?.['error'](_0x33f28a(0x221),{'error':_0x79782e[_0x33f28a(0x25c)],'stdout':_0x2bc980[_0x33f28a(0x21c)]});}return this[_0x33f28a(0x22d)]?.['error'](_0x33f28a(0x1f1),{'error':_0x2bc980['message']}),[];}}['parseSemgrepResults'](_0x255e2f){const _0x3523af=a0_0x51e380,_0x535af8=[];if(_0x255e2f[_0x3523af(0x23b)]&&Array[_0x3523af(0x1e9)](_0x255e2f[_0x3523af(0x23b)]))for(const _0x3e05f0 of _0x255e2f['results']){_0x535af8['push']({'file':_0x3e05f0['path'],'line':_0x3e05f0[_0x3523af(0x1fa)]?.[_0x3523af(0x203)]||0x1,'column':_0x3e05f0['start']?.['col']||0x1,'severity':this['mapSemgrepSeverity'](_0x3e05f0['extra']?.[_0x3523af(0x1f8)]),'rule':_0x3e05f0[_0x3523af(0x1ea)],'message':_0x3e05f0[_0x3523af(0x216)]?.[_0x3523af(0x25c)]||_0x3e05f0['extra']?.['lines']||_0x3523af(0x1ed),'category':'security','scanner':'semgrep','cwe':_0x3e05f0['extra']?.[_0x3523af(0x1e8)]?.[_0x3523af(0x1fc)],'owasp':_0x3e05f0['extra']?.[_0x3523af(0x1e8)]?.[_0x3523af(0x243)],'confidence':_0x3e05f0['extra']?.['metadata']?.['confidence'],'references':_0x3e05f0[_0x3523af(0x216)]?.[_0x3523af(0x1e8)]?.[_0x3523af(0x1e5)]});}return _0x535af8;}async['runBandit'](_0x5e614e,_0x53b85f={}){const _0x3e05e5=a0_0x51e380;try{const _0x3be196=await execAsync('bandit\x20-f\x20json\x20\x22'+_0x5e614e+'\x22',{'maxBuffer':0xa*0x400*0x400,'timeout':0x7530}),_0x22681a=JSON['parse'](_0x3be196['stdout']);return this[_0x3e05e5(0x246)](_0x22681a);}catch(_0x2e2f1b){if(_0x2e2f1b['stdout'])try{const _0x464207=JSON['parse'](_0x2e2f1b['stdout']);return this[_0x3e05e5(0x246)](_0x464207);}catch(_0x4f1a70){this[_0x3e05e5(0x22d)]?.['error'](_0x3e05e5(0x1ff),{'error':_0x4f1a70['message']});}return this[_0x3e05e5(0x22d)]?.['error'](_0x3e05e5(0x23e),{'error':_0x2e2f1b[_0x3e05e5(0x25c)]}),[];}}['parseBanditResults'](_0x4f2e13){const _0x5e6289=a0_0x51e380,_0x3df862=[];if(_0x4f2e13['results']&&Array[_0x5e6289(0x1e9)](_0x4f2e13[_0x5e6289(0x23b)]))for(const _0x7c3898 of _0x4f2e13[_0x5e6289(0x23b)]){_0x3df862['push']({'file':_0x7c3898['filename'],'line':_0x7c3898[_0x5e6289(0x24c)]||0x1,'column':_0x7c3898['col_offset']||0x1,'severity':this[_0x5e6289(0x259)](_0x7c3898['issue_severity']),'rule':_0x7c3898['test_id'],'message':_0x7c3898['issue_text'],'category':'security','scanner':'bandit','cwe':_0x7c3898['issue_cwe']?.['id']?'CWE-'+_0x7c3898['issue_cwe']['id']:null,'confidence':_0x7c3898[_0x5e6289(0x1e7)],'moreInfo':_0x7c3898['more_info']});}return _0x3df862;}async['runESLintSecurity'](_0x45657c,_0x33914f,_0x2dd32a={}){const _0xde886=a0_0x51e380;try{const {ESLint:_0x60a5d5}=await import('eslint'),_0x2c1216=new _0x60a5d5({'overrideConfig':{'plugins':[_0xde886(0x209)],'extends':['plugin:security/recommended'],'parserOptions':{'ecmaVersion':_0xde886(0x233),'sourceType':_0xde886(0x231)}},'useEslintrc':![]}),_0x2a0e48=await _0x2c1216['lintText'](_0x33914f,{'filePath':_0x45657c});return this['parseESLintResults'](_0x2a0e48,_0x45657c);}catch(_0xa13dde){return this['logger']?.[_0xde886(0x1f6)]('ESLint\x20security\x20scan\x20failed',{'error':_0xa13dde[_0xde886(0x25c)],'filePath':_0x45657c}),[];}}[a0_0x51e380(0x25a)](_0xb15888,_0x348fe9){const _0x543a3a=a0_0x51e380,_0x54180d=[];for(const _0x34ec5 of _0xb15888){if(_0x34ec5['messages']&&Array['isArray'](_0x34ec5['messages']))for(const _0x211728 of _0x34ec5['messages']){_0x211728['ruleId']&&_0x211728['ruleId']['startsWith'](_0x543a3a(0x238))&&_0x54180d['push']({'file':_0x348fe9,'line':_0x211728['line']||0x1,'column':_0x211728['column']||0x1,'severity':this[_0x543a3a(0x1f4)](_0x211728[_0x543a3a(0x1f8)]),'rule':_0x211728['ruleId'],'message':_0x211728[_0x543a3a(0x25c)],'category':'security','scanner':'eslint-security','fixable':_0x211728['fix']!==undefined});}}return _0x54180d;}async[a0_0x51e380(0x20a)](_0x102763,_0x19db90={}){const _0x14b4a5=a0_0x51e380;try{const _0x355926=a0_0x36f659['join'](_0x102763,'package.json');try{await a0_0x2b9d52['access'](_0x355926);}catch{return this['logger']?.[_0x14b4a5(0x1fb)]('No\x20package.json\x20found,\x20skipping\x20npm\x20audit'),[];}const _0x25cca3=await execAsync('npm\x20audit\x20--json',{'cwd':_0x102763,'maxBuffer':0xa*0x400*0x400,'timeout':0xea60}),_0x493202=JSON['parse'](_0x25cca3['stdout']);return this[_0x14b4a5(0x1f2)](_0x493202);}catch(_0x2cb43a){if(_0x2cb43a['stdout'])try{const _0x5c9c4b=JSON[_0x14b4a5(0x212)](_0x2cb43a['stdout']);return this['parseNpmAuditResults'](_0x5c9c4b);}catch(_0x345b41){this[_0x14b4a5(0x22d)]?.[_0x14b4a5(0x1f6)]('Failed\x20to\x20parse\x20npm\x20audit\x20output',{'error':_0x345b41[_0x14b4a5(0x25c)]});}return[];}}[a0_0x51e380(0x1f2)](_0x1d153b){const _0x218bf8=a0_0x51e380,_0x485bf8=[];if(_0x1d153b['vulnerabilities'])for(const [_0x5c215c,_0x41841e]of Object['entries'](_0x1d153b[_0x218bf8(0x249)])){_0x485bf8[_0x218bf8(0x208)]({'file':'package.json','line':0x1,'column':0x1,'severity':this[_0x218bf8(0x226)](_0x41841e['severity']),'rule':'npm-'+(_0x41841e[_0x218bf8(0x24a)][0x0]?.['source']||_0x218bf8(0x1ec)),'message':_0x5c215c+':\x20'+(_0x41841e[_0x218bf8(0x24a)][0x0]?.['title']||'Security\x20vulnerability'),'category':'security','scanner':_0x218bf8(0x24e),'package':_0x5c215c,'vulnerableVersions':_0x41841e[_0x218bf8(0x245)],'patchedVersions':_0x41841e['fixAvailable']?_0x218bf8(0x250):'None','cve':_0x41841e[_0x218bf8(0x24a)][0x0]?.[_0x218bf8(0x1ee)],'cvss':_0x41841e['via'][0x0]?.[_0x218bf8(0x232)],'references':_0x41841e[_0x218bf8(0x24a)][0x0]?.[_0x218bf8(0x211)]?[_0x41841e[_0x218bf8(0x24a)][0x0][_0x218bf8(0x211)]]:[]});}return _0x485bf8;}async[a0_0x51e380(0x1ef)](_0x52f894,_0x535a92={}){const _0x185845=a0_0x51e380;try{const requirementsPath=a0_0x36f659[_0x185845(0x20b)](_0x52f894,'requirements.txt');try{await a0_0x2b9d52[_0x185845(0x220)](requirementsPath);}catch{return this[_0x185845(0x22d)]?.['debug'](_0x185845(0x256)),[];}const _0x3aaedf=await execAsync(_0x185845(0x1e0),{'cwd':_0x52f894,'maxBuffer':0xa*0x400*0x400,'timeout':0xea60}),_0x436b94=JSON['parse'](_0x3aaedf[_0x185845(0x21c)]);return this['parsePipAuditResults'](_0x436b94);}catch(_0x3747fb){if(_0x3747fb[_0x185845(0x21c)])try{const _0x44da56=JSON['parse'](_0x3747fb[_0x185845(0x21c)]);return this['parsePipAuditResults'](_0x44da56);}catch(_0x24b60d){this['logger']?.['error']('Failed\x20to\x20parse\x20pip-audit\x20output',{'error':_0x24b60d[_0x185845(0x25c)]});}return[];}}['parsePipAuditResults'](_0x36eab7){const _0x1ce68f=a0_0x51e380,_0x260a49=[];if(_0x36eab7[_0x1ce68f(0x200)]&&Array['isArray'](_0x36eab7['dependencies']))for(const _0x496fa1 of _0x36eab7['dependencies']){if(_0x496fa1['vulns']&&Array[_0x1ce68f(0x1e9)](_0x496fa1['vulns']))for(const _0x292725 of _0x496fa1['vulns']){_0x260a49['push']({'file':'requirements.txt','line':0x1,'column':0x1,'severity':this[_0x1ce68f(0x215)](_0x292725['severity']),'rule':_0x292725['id'],'message':_0x496fa1[_0x1ce68f(0x205)]+':\x20'+(_0x292725[_0x1ce68f(0x240)]||_0x1ce68f(0x217)),'category':'security','scanner':_0x1ce68f(0x258),'package':_0x496fa1[_0x1ce68f(0x205)],'vulnerableVersion':_0x496fa1[_0x1ce68f(0x22a)],'fixedVersions':_0x292725[_0x1ce68f(0x21d)],'references':_0x292725['aliases']||[]});}}return _0x260a49;}[a0_0x51e380(0x219)](_0x568356){const _0x32e0c4=a0_0x51e380,_0x3ee385=a0_0x36f659[_0x32e0c4(0x24f)](_0x568356)[_0x32e0c4(0x242)](),_0x303442={'.js':'javascript','.jsx':_0x32e0c4(0x1f9),'.mjs':'javascript','.cjs':'javascript','.ts':_0x32e0c4(0x206),'.tsx':'typescript','.py':'python'};return _0x303442[_0x3ee385]||null;}['isTestFile'](_0x336585){const _0x21b650=a0_0x51e380,_0x3ac404=[/\.test\./,/\.spec\./,/__tests__\//,/\/tests?\//,/\.test$/,/\.spec$/];return _0x3ac404[_0x21b650(0x24b)](_0x39a1be=>_0x39a1be['test'](_0x336585));}[a0_0x51e380(0x222)](_0x179c94,_0xbda199){const _0x4ea00a=a0_0x51e380;if(_0xbda199===_0x4ea00a(0x1f9)||_0xbda199===_0x4ea00a(0x206))return _0x179c94['semgrep']||_0x179c94[_0x4ea00a(0x23d)];if(_0xbda199==='python')return _0x179c94['bandit']||_0x179c94['semgrep'];return![];}['normalizeResults'](_0x2c9318){const _0x24db9f=a0_0x51e380;return _0x2c9318['map'](_0x1585e9=>({'file':_0x1585e9[_0x24db9f(0x254)],'line':_0x1585e9[_0x24db9f(0x203)]||0x1,'column':_0x1585e9['column']||0x1,'severity':_0x1585e9[_0x24db9f(0x1f8)]||STATIC_ANALYSIS['SEVERITY'][_0x24db9f(0x1e6)],'rule':_0x1585e9['rule']||_0x24db9f(0x247),'message':_0x1585e9[_0x24db9f(0x25c)]||_0x24db9f(0x1ed),'category':_0x24db9f(0x209),'scanner':_0x1585e9['scanner'],'cwe':_0x1585e9['cwe']||null,'owasp':_0x1585e9[_0x24db9f(0x243)]||null,'confidence':_0x1585e9[_0x24db9f(0x248)]||null,'fixable':_0x1585e9[_0x24db9f(0x1e2)]||![],'remediation':_0x1585e9['remediation']||_0x1585e9[_0x24db9f(0x251)]||null,'references':_0x1585e9['references']||[],'package':_0x1585e9[_0x24db9f(0x207)]||null}));}[a0_0x51e380(0x21a)](_0x7eeabc){const _0x205b38=a0_0x51e380,_0x3be576={'ERROR':STATIC_ANALYSIS[_0x205b38(0x22f)]['CRITICAL'],'WARNING':STATIC_ANALYSIS[_0x205b38(0x22f)][_0x205b38(0x24d)],'INFO':STATIC_ANALYSIS[_0x205b38(0x22f)][_0x205b38(0x1e6)]};return _0x3be576[_0x7eeabc?.[_0x205b38(0x224)]()]||STATIC_ANALYSIS[_0x205b38(0x22f)]['WARNING'];}[a0_0x51e380(0x259)](_0x3f865c){const _0x3b38a3=a0_0x51e380,_0xba0692={'HIGH':STATIC_ANALYSIS['SEVERITY']['CRITICAL'],'MEDIUM':STATIC_ANALYSIS[_0x3b38a3(0x22f)][_0x3b38a3(0x24d)],'LOW':STATIC_ANALYSIS[_0x3b38a3(0x22f)][_0x3b38a3(0x1e6)]};return _0xba0692[_0x3f865c?.[_0x3b38a3(0x224)]()]||STATIC_ANALYSIS[_0x3b38a3(0x22f)][_0x3b38a3(0x1e6)];}['mapESLintSeverity'](_0xd2a997){const _0x258d57=a0_0x51e380;return _0xd2a997===0x2?STATIC_ANALYSIS['SEVERITY'][_0x258d57(0x24d)]:STATIC_ANALYSIS['SEVERITY']['WARNING'];}[a0_0x51e380(0x226)](_0x1cf001){const _0x5efea4=a0_0x51e380,_0x3ce3f9={'critical':STATIC_ANALYSIS['SEVERITY']['CRITICAL'],'high':STATIC_ANALYSIS[_0x5efea4(0x22f)]['CRITICAL'],'moderate':STATIC_ANALYSIS['SEVERITY']['ERROR'],'low':STATIC_ANALYSIS[_0x5efea4(0x22f)][_0x5efea4(0x1e6)],'info':STATIC_ANALYSIS[_0x5efea4(0x22f)]['INFO']};return _0x3ce3f9[_0x1cf001?.[_0x5efea4(0x242)]()]||STATIC_ANALYSIS[_0x5efea4(0x22f)][_0x5efea4(0x1e6)];}[a0_0x51e380(0x215)](_0x17399a){const _0x38bb7f=a0_0x51e380;if(!_0x17399a)return STATIC_ANALYSIS[_0x38bb7f(0x22f)]['ERROR'];const _0x44cec5={'critical':STATIC_ANALYSIS['SEVERITY'][_0x38bb7f(0x228)],'high':STATIC_ANALYSIS[_0x38bb7f(0x22f)]['CRITICAL'],'medium':STATIC_ANALYSIS[_0x38bb7f(0x22f)]['ERROR'],'low':STATIC_ANALYSIS['SEVERITY'][_0x38bb7f(0x1e6)]};return _0x44cec5[_0x17399a?.[_0x38bb7f(0x242)]()]||STATIC_ANALYSIS[_0x38bb7f(0x22f)]['ERROR'];}async['getScannerStatus'](){const _0xc27721=a0_0x51e380,_0x4f6d46=await this[_0xc27721(0x1e1)]();return{'scanners':_0x4f6d46,'recommendations':this[_0xc27721(0x20c)](_0x4f6d46)};}[a0_0x51e380(0x20c)](_0x7177e9){const _0x306de0=a0_0x51e380,_0x3b1d1c=[];return!_0x7177e9['semgrep']&&_0x3b1d1c[_0x306de0(0x208)]({'scanner':'Semgrep','reason':_0x306de0(0x237),'install':'pip\x20install\x20semgrep\x20OR\x20use\x20Docker:\x20docker\x20pull\x20returntocorp/semgrep','priority':_0x306de0(0x22c)}),!_0x7177e9['bandit']&&_0x3b1d1c['push']({'scanner':_0x306de0(0x1df),'reason':_0x306de0(0x252),'install':'pip\x20install\x20bandit','priority':'medium'}),!_0x7177e9[_0x306de0(0x23d)]&&_0x3b1d1c['push']({'scanner':'eslint-plugin-security','reason':_0x306de0(0x20d),'install':_0x306de0(0x229),'priority':_0x306de0(0x236)}),!_0x7177e9[_0x306de0(0x1f0)]&&_0x3b1d1c['push']({'scanner':_0x306de0(0x258),'reason':'Python\x20dependency\x20vulnerability\x20scanner','install':_0x306de0(0x20f),'priority':_0x306de0(0x225)}),_0x3b1d1c;}}export default SecurityAnalyzer;
1
+ function a0_0x256c(_0x154486,_0x3e5919){_0x154486=_0x154486-0x7f;const _0x2627cc=a0_0x2627();let _0x256c23=_0x2627cc[_0x154486];if(a0_0x256c['IweFlq']===undefined){var _0x415ca1=function(_0x5111e2){const _0x3ea0a7='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3f135a='',_0x4d6b67='';for(let _0x3cab2c=0x0,_0x30d481,_0x403b69,_0x1a9561=0x0;_0x403b69=_0x5111e2['charAt'](_0x1a9561++);~_0x403b69&&(_0x30d481=_0x3cab2c%0x4?_0x30d481*0x40+_0x403b69:_0x403b69,_0x3cab2c++%0x4)?_0x3f135a+=String['fromCharCode'](0xff&_0x30d481>>(-0x2*_0x3cab2c&0x6)):0x0){_0x403b69=_0x3ea0a7['indexOf'](_0x403b69);}for(let _0x1e7e64=0x0,_0xd0c578=_0x3f135a['length'];_0x1e7e64<_0xd0c578;_0x1e7e64++){_0x4d6b67+='%'+('00'+_0x3f135a['charCodeAt'](_0x1e7e64)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4d6b67);};a0_0x256c['isPdcS']=_0x415ca1,a0_0x256c['gjbALN']={},a0_0x256c['IweFlq']=!![];}const _0x4bcdf2=_0x2627cc[0x0],_0x78f87=_0x154486+_0x4bcdf2,_0x193609=a0_0x256c['gjbALN'][_0x78f87];return!_0x193609?(_0x256c23=a0_0x256c['isPdcS'](_0x256c23),a0_0x256c['gjbALN'][_0x78f87]=_0x256c23):_0x256c23=_0x193609,_0x256c23;}const a0_0x438a33=a0_0x256c;(function(_0x619700,_0x4cd5de){const _0x5a1c49=a0_0x256c,_0xd20f6a=_0x619700();while(!![]){try{const _0x480ccf=-parseInt(_0x5a1c49(0xe9))/0x1+parseInt(_0x5a1c49(0x80))/0x2+-parseInt(_0x5a1c49(0xef))/0x3+parseInt(_0x5a1c49(0x97))/0x4*(parseInt(_0x5a1c49(0x9f))/0x5)+parseInt(_0x5a1c49(0x86))/0x6*(-parseInt(_0x5a1c49(0x8e))/0x7)+parseInt(_0x5a1c49(0xe6))/0x8+parseInt(_0x5a1c49(0xa6))/0x9;if(_0x480ccf===_0x4cd5de)break;else _0xd20f6a['push'](_0xd20f6a['shift']());}catch(_0x11d67d){_0xd20f6a['push'](_0xd20f6a['shift']());}}}(a0_0x2627,0xa9882));import{exec}from'child_process';import{promisify}from'util';import a0_0x3f135a from'path';import a0_0x4d6b67 from'fs/promises';import{STATIC_ANALYSIS}from'../utilities/constants.js';const execAsync=promisify(exec);class SecurityAnalyzer{constructor(_0x3cab2c=null){const _0x209fdf=a0_0x256c;this[_0x209fdf(0xa5)]=_0x3cab2c,this[_0x209fdf(0xc1)]=null,this[_0x209fdf(0x94)]=new Map(),this[_0x209fdf(0xc5)]=a0_0x3f135a['join'](process[_0x209fdf(0xdc)](),'node_modules','.scanners');}async['detectAvailableScanners'](){const _0x555f21=a0_0x256c;if(this[_0x555f21(0xc1)]!==null)return this['availableScanners'];const _0x30d481={'semgrep':![],'bandit':![],'npmAudit':![],'pipAudit':![],'eslintSecurity':![]};try{const _0x403b69=a0_0x3f135a['join'](this['localScannerDir'],'semgrep');try{await a0_0x4d6b67[_0x555f21(0xdf)](_0x403b69),_0x30d481['semgrep']=!![],this['logger']?.['debug']('Semgrep\x20scanner\x20detected\x20(local)');}catch{await execAsync('semgrep\x20--version',{'timeout':0x1388}),_0x30d481[_0x555f21(0x92)]=!![],this['logger']?.[_0x555f21(0xfc)](_0x555f21(0xaf));}}catch(_0x1a9561){this['logger']?.['debug'](_0x555f21(0xe1),{'error':_0x1a9561['message']});}try{await execAsync(_0x555f21(0xc4),{'timeout':0x1388}),_0x30d481[_0x555f21(0xec)]=!![],this[_0x555f21(0xa5)]?.[_0x555f21(0xfc)](_0x555f21(0x104));}catch(_0x1e7e64){this[_0x555f21(0xa5)]?.[_0x555f21(0xfc)](_0x555f21(0x8b),{'error':_0x1e7e64['message']});}try{await execAsync('npm\x20--version',{'timeout':0x1388}),_0x30d481[_0x555f21(0x8a)]=!![],this['logger']?.[_0x555f21(0xfc)]('npm\x20audit\x20available');}catch(_0xd0c578){this['logger']?.[_0x555f21(0xfc)]('npm\x20not\x20available',{'error':_0xd0c578[_0x555f21(0x99)]});}try{await execAsync(_0x555f21(0xc3),{'timeout':0x1388}),_0x30d481[_0x555f21(0xbd)]=!![],this['logger']?.['debug'](_0x555f21(0xc2));}catch(_0x4b3d2e){this[_0x555f21(0xa5)]?.[_0x555f21(0xfc)]('pip-audit\x20not\x20available',{'error':_0x4b3d2e['message']});}try{const _0x5ec9ef=await execAsync('npm\x20list\x20eslint-plugin-security\x20--depth=0\x20--json',{'timeout':0x1388,'cwd':process['cwd']()}),_0x3fd856=JSON[_0x555f21(0xce)](_0x5ec9ef['stdout']);_0x3fd856['dependencies']&&_0x3fd856[_0x555f21(0xe8)]['eslint-plugin-security']&&(_0x30d481['eslintSecurity']=!![],this['logger']?.['debug']('eslint-plugin-security\x20detected'));}catch(_0x4a62d7){this['logger']?.['debug'](_0x555f21(0xcc),{'error':_0x4a62d7[_0x555f21(0x99)]});}return this['availableScanners']=_0x30d481,_0x30d481;}async['analyze'](_0x30a2f,_0x316ca8,_0x48d230={}){const _0x42d07c=a0_0x256c,_0x26604a=[],_0x21f0a7=await this['detectAvailableScanners'](),_0x5970db=this['detectLanguage'](_0x30a2f);if(_0x48d230[_0x42d07c(0xb0)]!==![]&&this['isTestFile'](_0x30a2f))return this[_0x42d07c(0xa5)]?.['debug'](_0x42d07c(0xab),{'filePath':_0x30a2f}),[];if(_0x5970db==='javascript'||_0x5970db===_0x42d07c(0xf1)){if(_0x21f0a7[_0x42d07c(0x92)]){const _0x281aa1=await this['runSemgrep'](_0x30a2f,[_0x5970db],_0x48d230);_0x26604a[_0x42d07c(0xc6)](..._0x281aa1);}if(_0x21f0a7['eslintSecurity']){const _0x1bc210=await this['runESLintSecurity'](_0x30a2f,_0x316ca8,_0x48d230);_0x26604a['push'](..._0x1bc210);}}if(_0x5970db===_0x42d07c(0xdd)){if(_0x21f0a7[_0x42d07c(0xec)]){const _0xe758b=await this['runBandit'](_0x30a2f,_0x48d230);_0x26604a['push'](..._0xe758b);}if(_0x21f0a7[_0x42d07c(0x92)]){const _0x447438=await this['runSemgrep'](_0x30a2f,[_0x5970db],_0x48d230);_0x26604a['push'](..._0x447438);}}return _0x26604a[_0x42d07c(0xe4)]===0x0&&!this[_0x42d07c(0x9d)](_0x21f0a7,_0x5970db)&&this['logger']?.[_0x42d07c(0xfa)](_0x42d07c(0xb6),{'language':_0x5970db,'filePath':_0x30a2f}),this['normalizeResults'](_0x26604a);}async['analyzeProject'](_0x3831d4,_0x3e06a4,_0x264ea9={}){const _0x3db1a8=a0_0x256c,_0x39b667=[],_0x104cb7=await this['detectAvailableScanners']();if(_0x3e06a4===_0x3db1a8(0xa2)||_0x3e06a4===_0x3db1a8(0xf1)){if(_0x104cb7['npmAudit']){const _0x318afe=await this['runNpmAudit'](_0x3831d4,_0x264ea9);_0x39b667[_0x3db1a8(0xc6)](..._0x318afe);}}if(_0x3e06a4===_0x3db1a8(0xdd)){if(_0x104cb7['pipAudit']){const _0x471a30=await this['runPipAudit'](_0x3831d4,_0x264ea9);_0x39b667['push'](..._0x471a30);}}return this[_0x3db1a8(0xba)](_0x39b667);}async['runSemgrep'](_0x433d04,_0x168073,_0x260759={}){const _0x161ad1=a0_0x256c;try{const _0x434eab=a0_0x3f135a[_0x161ad1(0x107)](_0x433d04),_0x1ddd47=await execAsync(_0x161ad1(0xbb)+_0x433d04+'\x22',{'maxBuffer':0xa*0x400*0x400,'timeout':0x7530,'cwd':_0x434eab}),_0x331dbf=JSON[_0x161ad1(0xce)](_0x1ddd47['stdout']);return this[_0x161ad1(0x88)](_0x331dbf);}catch(_0x4f5875){if(_0x4f5875['stdout'])try{const _0x4174d2=JSON[_0x161ad1(0xce)](_0x4f5875[_0x161ad1(0x93)]);return this['parseSemgrepResults'](_0x4174d2);}catch(_0x4653a7){this[_0x161ad1(0xa5)]?.['error'](_0x161ad1(0xa0),{'error':_0x4653a7[_0x161ad1(0x99)],'stdout':_0x4f5875['stdout']});}return this[_0x161ad1(0xa5)]?.[_0x161ad1(0xa9)](_0x161ad1(0xf8),{'error':_0x4f5875['message']}),[];}}['parseSemgrepResults'](_0x5134b0){const _0x4c3e91=a0_0x256c,_0x3aa14f=[];if(_0x5134b0['results']&&Array['isArray'](_0x5134b0[_0x4c3e91(0xbe)]))for(const _0x15bed5 of _0x5134b0[_0x4c3e91(0xbe)]){_0x3aa14f[_0x4c3e91(0xc6)]({'file':_0x15bed5[_0x4c3e91(0x84)],'line':_0x15bed5[_0x4c3e91(0xcb)]?.['line']||0x1,'column':_0x15bed5['start']?.['col']||0x1,'severity':this['mapSemgrepSeverity'](_0x15bed5['extra']?.[_0x4c3e91(0xd6)]),'rule':_0x15bed5[_0x4c3e91(0x10b)],'message':_0x15bed5['extra']?.[_0x4c3e91(0x99)]||_0x15bed5[_0x4c3e91(0x7f)]?.[_0x4c3e91(0xae)]||'Security\x20issue\x20detected','category':_0x4c3e91(0xb3),'scanner':_0x4c3e91(0x92),'cwe':_0x15bed5['extra']?.['metadata']?.[_0x4c3e91(0xb8)],'owasp':_0x15bed5[_0x4c3e91(0x7f)]?.[_0x4c3e91(0x9a)]?.['owasp'],'confidence':_0x15bed5[_0x4c3e91(0x7f)]?.['metadata']?.['confidence'],'references':_0x15bed5['extra']?.[_0x4c3e91(0x9a)]?.[_0x4c3e91(0xcf)]});}return _0x3aa14f;}async[a0_0x438a33(0xe7)](_0x370e66,_0x3f1710={}){const _0x509595=a0_0x438a33;try{const _0x48e3c9=await execAsync(_0x509595(0x8c)+_0x370e66+'\x22',{'maxBuffer':0xa*0x400*0x400,'timeout':0x7530}),_0x49c6ca=JSON['parse'](_0x48e3c9[_0x509595(0x93)]);return this[_0x509595(0xa8)](_0x49c6ca);}catch(_0x497581){if(_0x497581['stdout'])try{const _0x53b1ef=JSON[_0x509595(0xce)](_0x497581[_0x509595(0x93)]);return this[_0x509595(0xa8)](_0x53b1ef);}catch(_0x17de4b){this[_0x509595(0xa5)]?.[_0x509595(0xa9)](_0x509595(0xd0),{'error':_0x17de4b['message']});}return this['logger']?.['error'](_0x509595(0xea),{'error':_0x497581['message']}),[];}}[a0_0x438a33(0xa8)](_0x50b427){const _0x578693=a0_0x438a33,_0x3a2f88=[];if(_0x50b427['results']&&Array['isArray'](_0x50b427['results']))for(const _0x2f4e10 of _0x50b427[_0x578693(0xbe)]){_0x3a2f88['push']({'file':_0x2f4e10['filename'],'line':_0x2f4e10['line_number']||0x1,'column':_0x2f4e10['col_offset']||0x1,'severity':this['mapBanditSeverity'](_0x2f4e10[_0x578693(0xa7)]),'rule':_0x2f4e10['test_id'],'message':_0x2f4e10[_0x578693(0xfb)],'category':_0x578693(0xb3),'scanner':'bandit','cwe':_0x2f4e10[_0x578693(0xe5)]?.['id']?_0x578693(0xdb)+_0x2f4e10['issue_cwe']['id']:null,'confidence':_0x2f4e10['issue_confidence'],'moreInfo':_0x2f4e10[_0x578693(0xed)]});}return _0x3a2f88;}async['runESLintSecurity'](_0x21fd36,_0x4cf76b,_0x3d8ffa={}){const _0x174eb6=a0_0x438a33;try{const {ESLint:_0xc42b10}=await import('eslint'),_0xa0a696=new _0xc42b10({'overrideConfig':{'plugins':['security'],'extends':[_0x174eb6(0x10a)],'parserOptions':{'ecmaVersion':_0x174eb6(0xe0),'sourceType':'module'}},'useEslintrc':![]}),_0x1bb633=await _0xa0a696[_0x174eb6(0xc8)](_0x4cf76b,{'filePath':_0x21fd36});return this[_0x174eb6(0xf2)](_0x1bb633,_0x21fd36);}catch(_0x111ef3){return this['logger']?.['error']('ESLint\x20security\x20scan\x20failed',{'error':_0x111ef3[_0x174eb6(0x99)],'filePath':_0x21fd36}),[];}}['parseESLintResults'](_0x804b32,_0x3f5189){const _0x230a76=a0_0x438a33,_0x2e6daa=[];for(const _0xaa448d of _0x804b32){if(_0xaa448d[_0x230a76(0xf7)]&&Array[_0x230a76(0xcd)](_0xaa448d['messages']))for(const _0x9c4606 of _0xaa448d['messages']){_0x9c4606[_0x230a76(0xf9)]&&_0x9c4606['ruleId']['startsWith'](_0x230a76(0xda))&&_0x2e6daa['push']({'file':_0x3f5189,'line':_0x9c4606[_0x230a76(0x109)]||0x1,'column':_0x9c4606[_0x230a76(0xb9)]||0x1,'severity':this[_0x230a76(0xaa)](_0x9c4606[_0x230a76(0xd6)]),'rule':_0x9c4606[_0x230a76(0xf9)],'message':_0x9c4606[_0x230a76(0x99)],'category':'security','scanner':_0x230a76(0xc9),'fixable':_0x9c4606['fix']!==undefined});}}return _0x2e6daa;}async[a0_0x438a33(0xf5)](_0x8fedae,_0x17a362={}){const _0x143aff=a0_0x438a33;try{const _0x565c64=a0_0x3f135a[_0x143aff(0x95)](_0x8fedae,_0x143aff(0xd2));try{await a0_0x4d6b67['access'](_0x565c64);}catch{return this[_0x143aff(0xa5)]?.['debug'](_0x143aff(0x8f)),[];}const _0x5d83cf=await execAsync(_0x143aff(0xb5),{'cwd':_0x8fedae,'maxBuffer':0xa*0x400*0x400,'timeout':0xea60}),_0x535c89=JSON['parse'](_0x5d83cf[_0x143aff(0x93)]);return this['parseNpmAuditResults'](_0x535c89);}catch(_0x562381){if(_0x562381[_0x143aff(0x93)])try{const _0x399d72=JSON[_0x143aff(0xce)](_0x562381[_0x143aff(0x93)]);return this[_0x143aff(0x89)](_0x399d72);}catch(_0x34534e){this[_0x143aff(0xa5)]?.[_0x143aff(0xa9)](_0x143aff(0x82),{'error':_0x34534e[_0x143aff(0x99)]});}return[];}}['parseNpmAuditResults'](_0x48dbd0){const _0x467431=a0_0x438a33,_0x80af5f=[];if(_0x48dbd0['vulnerabilities'])for(const [_0x4c2c44,_0x110cef]of Object[_0x467431(0x101)](_0x48dbd0['vulnerabilities'])){_0x80af5f['push']({'file':'package.json','line':0x1,'column':0x1,'severity':this[_0x467431(0xb7)](_0x110cef[_0x467431(0xd6)]),'rule':'npm-'+(_0x110cef[_0x467431(0x98)][0x0]?.[_0x467431(0xf0)]||_0x467431(0xbc)),'message':_0x4c2c44+':\x20'+(_0x110cef['via'][0x0]?.['title']||'Security\x20vulnerability'),'category':'security','scanner':_0x467431(0x81),'package':_0x4c2c44,'vulnerableVersions':_0x110cef[_0x467431(0xf4)],'patchedVersions':_0x110cef[_0x467431(0x106)]?_0x467431(0xa4):_0x467431(0x102),'cve':_0x110cef['via'][0x0]?.['cve'],'cvss':_0x110cef[_0x467431(0x98)][0x0]?.[_0x467431(0xd5)],'references':_0x110cef[_0x467431(0x98)][0x0]?.[_0x467431(0x108)]?[_0x110cef['via'][0x0]['url']]:[]});}return _0x80af5f;}async[a0_0x438a33(0xe2)](_0x139c64,_0x47af3f={}){const _0x2302d5=a0_0x438a33;try{const requirementsPath=a0_0x3f135a['join'](_0x139c64,_0x2302d5(0xd1));try{await a0_0x4d6b67['access'](requirementsPath);}catch{return this['logger']?.['debug'](_0x2302d5(0x100)),[];}const _0x6b429c=await execAsync(_0x2302d5(0xc7),{'cwd':_0x139c64,'maxBuffer':0xa*0x400*0x400,'timeout':0xea60}),_0x23301c=JSON[_0x2302d5(0xce)](_0x6b429c[_0x2302d5(0x93)]);return this['parsePipAuditResults'](_0x23301c);}catch(_0x53a432){if(_0x53a432['stdout'])try{const _0x11a46f=JSON['parse'](_0x53a432[_0x2302d5(0x93)]);return this['parsePipAuditResults'](_0x11a46f);}catch(_0x19e6de){this[_0x2302d5(0xa5)]?.[_0x2302d5(0xa9)](_0x2302d5(0xac),{'error':_0x19e6de['message']});}return[];}}[a0_0x438a33(0xd7)](_0x23961e){const _0x33a8aa=a0_0x438a33,_0x2088c9=[];if(_0x23961e['dependencies']&&Array[_0x33a8aa(0xcd)](_0x23961e[_0x33a8aa(0xe8)]))for(const _0x5717a7 of _0x23961e[_0x33a8aa(0xe8)]){if(_0x5717a7[_0x33a8aa(0x87)]&&Array[_0x33a8aa(0xcd)](_0x5717a7['vulns']))for(const _0x41813c of _0x5717a7[_0x33a8aa(0x87)]){_0x2088c9['push']({'file':'requirements.txt','line':0x1,'column':0x1,'severity':this[_0x33a8aa(0xa3)](_0x41813c[_0x33a8aa(0xd6)]),'rule':_0x41813c['id'],'message':_0x5717a7['name']+':\x20'+(_0x41813c[_0x33a8aa(0xf6)]||'Security\x20vulnerability'),'category':'security','scanner':'pip-audit','package':_0x5717a7[_0x33a8aa(0xee)],'vulnerableVersion':_0x5717a7[_0x33a8aa(0xde)],'fixedVersions':_0x41813c['fix_versions'],'references':_0x41813c[_0x33a8aa(0xb2)]||[]});}}return _0x2088c9;}[a0_0x438a33(0xd3)](_0x1ba0c4){const _0x1f5b35=a0_0x438a33,_0x181742=a0_0x3f135a[_0x1f5b35(0x8d)](_0x1ba0c4)[_0x1f5b35(0x9e)](),_0x5e8911={'.js':_0x1f5b35(0xa2),'.jsx':'javascript','.mjs':'javascript','.cjs':'javascript','.ts':_0x1f5b35(0xf1),'.tsx':_0x1f5b35(0xf1),'.py':'python'};return _0x5e8911[_0x181742]||null;}[a0_0x438a33(0xeb)](_0x2fce35){const _0x3290ec=a0_0x438a33,_0xac4d38=[/\.test\./,/\.spec\./,/__tests__\//,/\/tests?\//,/\.test$/,/\.spec$/];return _0xac4d38[_0x3290ec(0x90)](_0x41c57c=>_0x41c57c[_0x3290ec(0xff)](_0x2fce35));}[a0_0x438a33(0x9d)](_0x5cf2ac,_0x4d9d98){const _0x528f70=a0_0x438a33;if(_0x4d9d98===_0x528f70(0xa2)||_0x4d9d98==='typescript')return _0x5cf2ac['semgrep']||_0x5cf2ac['eslintSecurity'];if(_0x4d9d98==='python')return _0x5cf2ac[_0x528f70(0xec)]||_0x5cf2ac[_0x528f70(0x92)];return![];}[a0_0x438a33(0xba)](_0xbc3544){const _0xb71bd=a0_0x438a33;return _0xbc3544[_0xb71bd(0xb1)](_0x56d225=>({'file':_0x56d225['file'],'line':_0x56d225['line']||0x1,'column':_0x56d225[_0xb71bd(0xb9)]||0x1,'severity':_0x56d225['severity']||STATIC_ANALYSIS['SEVERITY']['WARNING'],'rule':_0x56d225['rule']||'unknown','message':_0x56d225['message']||_0xb71bd(0xca),'category':'security','scanner':_0x56d225[_0xb71bd(0xbf)],'cwe':_0x56d225['cwe']||null,'owasp':_0x56d225[_0xb71bd(0x96)]||null,'confidence':_0x56d225[_0xb71bd(0xb4)]||null,'fixable':_0x56d225[_0xb71bd(0x105)]||![],'remediation':_0x56d225['remediation']||_0x56d225['moreInfo']||null,'references':_0x56d225[_0xb71bd(0xcf)]||[],'package':_0x56d225['package']||null}));}['mapSemgrepSeverity'](_0x18a42e){const _0x1312a0=a0_0x438a33,_0x5ee822={'ERROR':STATIC_ANALYSIS['SEVERITY']['CRITICAL'],'WARNING':STATIC_ANALYSIS[_0x1312a0(0x9c)][_0x1312a0(0x91)],'INFO':STATIC_ANALYSIS[_0x1312a0(0x9c)]['WARNING']};return _0x5ee822[_0x18a42e?.[_0x1312a0(0x103)]()]||STATIC_ANALYSIS['SEVERITY'][_0x1312a0(0xad)];}[a0_0x438a33(0xd4)](_0x418e0f){const _0x33f746=a0_0x438a33,_0x3eefa3={'HIGH':STATIC_ANALYSIS['SEVERITY'][_0x33f746(0xd9)],'MEDIUM':STATIC_ANALYSIS['SEVERITY'][_0x33f746(0x91)],'LOW':STATIC_ANALYSIS['SEVERITY'][_0x33f746(0xad)]};return _0x3eefa3[_0x418e0f?.[_0x33f746(0x103)]()]||STATIC_ANALYSIS[_0x33f746(0x9c)]['WARNING'];}[a0_0x438a33(0xaa)](_0x133e28){const _0x58a04f=a0_0x438a33;return _0x133e28===0x2?STATIC_ANALYSIS[_0x58a04f(0x9c)]['ERROR']:STATIC_ANALYSIS['SEVERITY']['WARNING'];}[a0_0x438a33(0xb7)](_0xb88aa){const _0x44ca11=a0_0x438a33,_0x471a92={'critical':STATIC_ANALYSIS[_0x44ca11(0x9c)]['CRITICAL'],'high':STATIC_ANALYSIS['SEVERITY'][_0x44ca11(0xd9)],'moderate':STATIC_ANALYSIS[_0x44ca11(0x9c)]['ERROR'],'low':STATIC_ANALYSIS['SEVERITY'][_0x44ca11(0xad)],'info':STATIC_ANALYSIS[_0x44ca11(0x9c)][_0x44ca11(0xd8)]};return _0x471a92[_0xb88aa?.[_0x44ca11(0x9e)]()]||STATIC_ANALYSIS['SEVERITY']['WARNING'];}[a0_0x438a33(0xa3)](_0x4ee92d){const _0x11140f=a0_0x438a33;if(!_0x4ee92d)return STATIC_ANALYSIS['SEVERITY'][_0x11140f(0x91)];const _0x4e6357={'critical':STATIC_ANALYSIS[_0x11140f(0x9c)]['CRITICAL'],'high':STATIC_ANALYSIS['SEVERITY'][_0x11140f(0xd9)],'medium':STATIC_ANALYSIS['SEVERITY']['ERROR'],'low':STATIC_ANALYSIS['SEVERITY']['WARNING']};return _0x4e6357[_0x4ee92d?.[_0x11140f(0x9e)]()]||STATIC_ANALYSIS['SEVERITY'][_0x11140f(0x91)];}async['getScannerStatus'](){const _0x50aab7=await this['detectAvailableScanners']();return{'scanners':_0x50aab7,'recommendations':this['getInstallRecommendations'](_0x50aab7)};}[a0_0x438a33(0xf3)](_0x59a9be){const _0x3d0407=a0_0x438a33,_0x2efa3f=[];return!_0x59a9be[_0x3d0407(0x92)]&&_0x2efa3f[_0x3d0407(0xc6)]({'scanner':_0x3d0407(0xc0),'reason':'Multi-language\x20SAST\x20with\x20extensive\x20security\x20rules','install':'pip\x20install\x20semgrep\x20OR\x20use\x20Docker:\x20docker\x20pull\x20returntocorp/semgrep','priority':'high'}),!_0x59a9be[_0x3d0407(0xec)]&&_0x2efa3f[_0x3d0407(0xc6)]({'scanner':_0x3d0407(0x83),'reason':_0x3d0407(0x9b),'install':_0x3d0407(0xfd),'priority':'medium'}),!_0x59a9be['eslintSecurity']&&_0x2efa3f[_0x3d0407(0xc6)]({'scanner':'eslint-plugin-security','reason':'JavaScript/TypeScript\x20security\x20rules','install':_0x3d0407(0x85),'priority':_0x3d0407(0xfe)}),!_0x59a9be[_0x3d0407(0xbd)]&&_0x2efa3f[_0x3d0407(0xc6)]({'scanner':'pip-audit','reason':_0x3d0407(0xe3),'install':'pip\x20install\x20pip-audit','priority':_0x3d0407(0xa1)}),_0x2efa3f;}}function a0_0x2627(){const _0x2b1b69=['Dg9vChbLCKnHC2u','qMfUzgL0ihnJyw5UzxiGzgv0zwn0zwq','zML4ywjSzq','zML4qxzHAwXHyMXL','zgLYBMfTzq','DxjS','BgLUzq','CgX1z2LUoNnLy3vYAxr5l3jLy29TBwvUzgvK','y2HLy2TFAwq','zxH0CMe','odG5ndCYyvfNzwjg','BNbTlwf1zgL0','rMfPBgvKihrVihbHCNnLig5WBsbHDwrPDcbVDxrWDxq','qMfUzgL0','Cgf0Aa','BNbTigLUC3rHBgWGls1ZyxzLlwrLDIbLC2XPBNqTCgX1z2LUlxnLy3vYAxr5','ntrMs1HIqK4','DNvSBNm','CgfYC2vtzw1NCMvWuMvZDwX0CW','CgfYC2voCg1bDwrPDfjLC3vSDhm','BNbTqxvKAxq','qMfUzgL0ig5VDcbHDMfPBgfIBgu','yMfUzgL0ic1MigPZB24GiG','zxH0BMfTzq','ndi0mJu2DLnpEuvV','tM8GCgfJA2fNzs5QC29UigzVDw5KlcbZA2LWCgLUzYbUCg0GyxvKAxq','C29Tzq','rvjst1i','C2vTz3jLCa','C3rKB3v0','C2nHBM5LCKnHy2HL','AM9PBG','B3DHC3a','ngrrAeTOwa','DMLH','BwvZC2fNzq','Bwv0ywrHDge','uhL0Ag9UihnLy3vYAxr5ihnJyw5Uzxi','u0vwrvjjvfK','AgfZu2nHBM5LCNngB3jmyw5NDwfNzq','Dg9mB3DLCKnHC2u','mtGXndq2nwDSr0P1CG','rMfPBgvKihrVihbHCNnLifnLBwDYzxaGB3v0Chv0','Bg93','AMf2yxnJCMLWDa','BwfWugLWqxvKAxrtzxzLCML0Eq','qxzHAwXHyMXL','Bg9Nz2vY','otiYndK2neDUvg9Rra','AxnZDwvFC2v2zxjPDhK','CgfYC2vcyw5KAxrszxn1BhrZ','zxjYB3i','BwfWrvnmAw50u2v2zxjPDhK','u2TPChbPBMCGDgvZDcbMAwXLigzVCIbZzwn1CML0EsbZy2fU','rMfPBgvKihrVihbHCNnLihbPCc1HDwrPDcbVDxrWDxq','v0fstKLorW','BgLUzxm','u2vTz3jLCcbZy2fUBMvYigrLDgvJDgvKicHZExn0zw0P','C2TPCfrLC3rgAwXLCW','BwfW','ywXPyxnLCW','C2vJDxjPDhK','y29UzMLKzw5Jzq','BNbTigf1zgL0ic0TANnVBG','tM8GC2vJDxjPDhKGC2nHBM5LCNmGyxzHAwXHyMXLigzVCIbSyw5NDwfNzq','BwfWtNbTu2v2zxjPDhK','y3DL','y29SDw1U','BM9YBwfSAxPLuMvZDwX0CW','C2vTz3jLCcaTlwnVBMzPzZ1HDxrVic0TANnVBIaI','ywr2AxnVCNK','CgLWqxvKAxq','CMvZDwX0CW','C2nHBM5LCG','u2vTz3jLCa','yxzHAwXHyMXLu2nHBM5LCNm','CgLWlwf1zgL0igrLDgvJDgvK','CgLWlwf1zgL0ic0TDMvYC2LVBG','yMfUzgL0ic0TDMvYC2LVBG','Bg9JywXty2fUBMvYrgLY','ChvZAa','CgLWlwf1zgL0ic0TzM9YBwf0igPZB24','BgLUDfrLEhq','zxnSAw50lxnLy3vYAxr5','u2vJDxjPDhKGAxnZDwuGzgv0zwn0zwq','C3rHCNq','zxnSAw50lxbSDwDPBI1Zzwn1CML0EsbUB3qGyxzHAwXHyMXL','AxnbCNjHEq','CgfYC2u','CMvMzxjLBMnLCW','rMfPBgvKihrVihbHCNnLiejHBMrPDcbVDxrWDxq','CMvXDwLYzw1LBNrZlNr4Da','CgfJA2fNzs5QC29U','zgv0zwn0tgfUz3vHz2u','BwfWqMfUzgL0u2v2zxjPDhK','y3zZCW','C2v2zxjPDhK','CgfYC2vqAxbbDwrPDfjLC3vSDhm','su5gtW','q1jjveLdquW','C2vJDxjPDhKV','q1Dflq','y3DK','ChL0Ag9U','DMvYC2LVBG','ywnJzxnZ','Bgf0zxn0','u2vTz3jLCcbUB3qGyxzHAwXHyMXL','CNvUugLWqxvKAxq','uhL0Ag9UigrLCgvUzgvUy3KGDNvSBMvYywjPBgL0EsbZy2fUBMvY','BgvUz3rO','AxnZDwvFy3DL','mtKZnJC5mLHHyvPXtG','CNvUqMfUzgL0','zgvWzw5Kzw5JAwvZ','nJi0mdy5t21hvLrP','qMfUzgL0ihnJyw4GzMfPBgvK','Axnuzxn0rMLSzq','yMfUzgL0','Bw9Yzv9PBMzV','BMfTzq','nJmYmZqZDMjzz0Tt','C291CMnL','DhLWzxnJCMLWDa','CgfYC2vfu0XPBNrszxn1BhrZ','z2v0sw5ZDgfSBfjLy29TBwvUzgf0Aw9UCW','CMfUz2u','CNvUtNbTqxvKAxq','zgvZy3jPChrPB24','BwvZC2fNzxm','u2vTz3jLCcbZy2fUigzHAwXLza','CNvSzuLK','D2fYBG','AxnZDwvFDgv4Da','zgvIDwC','CgLWigLUC3rHBgWGyMfUzgL0','BwvKAxvT','DgvZDa','tM8GCMvXDwLYzw1LBNrZlNr4DcbMB3vUzcWGC2TPChbPBMCGCgLWlwf1zgL0','zw50CMLLCW','tM9Uzq'];a0_0x2627=function(){return _0x2b1b69;};return a0_0x2627();}export default SecurityAnalyzer;
@@ -1 +1 @@
1
- function a0_0x5efb(_0x24a6d2,_0x29d4fa){_0x24a6d2=_0x24a6d2-0x160;const _0x15c493=a0_0x15c4();let _0x5efbec=_0x15c493[_0x24a6d2];if(a0_0x5efb['vsMFrw']===undefined){var _0xd0b863=function(_0x5a1912){const _0x166cfa='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2ba7a8='',_0x402162='';for(let _0x5ec157=0x0,_0x10d92a,_0x3bba9d,_0x401f18=0x0;_0x3bba9d=_0x5a1912['charAt'](_0x401f18++);~_0x3bba9d&&(_0x10d92a=_0x5ec157%0x4?_0x10d92a*0x40+_0x3bba9d:_0x3bba9d,_0x5ec157++%0x4)?_0x2ba7a8+=String['fromCharCode'](0xff&_0x10d92a>>(-0x2*_0x5ec157&0x6)):0x0){_0x3bba9d=_0x166cfa['indexOf'](_0x3bba9d);}for(let _0x4779a2=0x0,_0x223f02=_0x2ba7a8['length'];_0x4779a2<_0x223f02;_0x4779a2++){_0x402162+='%'+('00'+_0x2ba7a8['charCodeAt'](_0x4779a2)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x402162);};a0_0x5efb['gHfueF']=_0xd0b863,a0_0x5efb['csfQXy']={},a0_0x5efb['vsMFrw']=!![];}const _0x4f39c1=_0x15c493[0x0],_0x39d5e5=_0x24a6d2+_0x4f39c1,_0x4820b0=a0_0x5efb['csfQXy'][_0x39d5e5];return!_0x4820b0?(_0x5efbec=a0_0x5efb['gHfueF'](_0x5efbec),a0_0x5efb['csfQXy'][_0x39d5e5]=_0x5efbec):_0x5efbec=_0x4820b0,_0x5efbec;}const a0_0x1046c6=a0_0x5efb;(function(_0x105203,_0xd37721){const _0x4d1390=a0_0x5efb,_0xa02417=_0x105203();while(!![]){try{const _0x4f4ec0=-parseInt(_0x4d1390(0x179))/0x1+parseInt(_0x4d1390(0x171))/0x2*(-parseInt(_0x4d1390(0x18c))/0x3)+parseInt(_0x4d1390(0x184))/0x4*(-parseInt(_0x4d1390(0x189))/0x5)+-parseInt(_0x4d1390(0x168))/0x6+parseInt(_0x4d1390(0x162))/0x7*(parseInt(_0x4d1390(0x175))/0x8)+parseInt(_0x4d1390(0x193))/0x9*(-parseInt(_0x4d1390(0x160))/0xa)+parseInt(_0x4d1390(0x161))/0xb;if(_0x4f4ec0===_0xd37721)break;else _0xa02417['push'](_0xa02417['shift']());}catch(_0x4c5b49){_0xa02417['push'](_0xa02417['shift']());}}}(a0_0x15c4,0xd6f6d));import a0_0x2ba7a8 from'typescript';import a0_0x402162 from'path';import{STATIC_ANALYSIS}from'../utilities/constants.js';function a0_0x15c4(){const _0x273988=['mte3mZe1nJnkvKz0yLa','Dw5RBM93BG','CgfYC2veAwfNBM9ZDgLJCW','u2nYAxb0vgfYz2v0','mtbYy1jLsxu','ndG1mtK4ntztCNP2t3y','n3rdqNLLvG','twvZC2fNzq','y2fUBM90igzPBMqGBw9KDwXL','C3rHCNq','BgvUz3rO','zM9YBwf0rgLHz25VC3rPyW','mZyZndiZmeTrBg5TsW','y3jLyxrLu291CMnLrMLSzq','su1qt1ju','yw5HBhL6zxiTzxjYB3i','z2v0u2vTyw50AwneAwfNBM9ZDgLJCW','rvjst1i','u3vNz2vZDgLVBG','v0fstKLorW','sNn4rw1PDa','nZKXoe1grNHKCG','rgLHz25VC3rPy0nHDgvNB3j5','Aw5JBhvKzxm','su5gtW','odCXodm1mMfgrMH2va','u0vwrvjjvfK','vfLqrq','q0furuDpuLK','otiXotiZCu11vMnO','y2HHCMfJDgvY','vhLWzvnJCMLWDcbHBMfSExnPCYbJB21WBgv0zwq','u1Lovefy','ChvZAa','Aw50zxjMywnL','C2v2zxjPDhK','y2XHC3m','y29Kzq','zMXHDhrLBKrPywDUB3n0AwnnzxnZywDLvgv4Da','BgLIlMqUDhm','ndK1nta0nhDrEhj3Cq','BwvZC2fNzq','Dg9mB3DLCKnHC2u','zMLSDgvY','v2fYBMLUzW','nwDYz0Thva','z2v0tgLUzufUzenOyxjHy3rLCK9Mug9ZAxrPB24','Bg9Nz2vY','nde3CujUy21k','zgvIDwC','zMLSzq','u2vTyw50AwmGyw5HBhLZAxmGzw5JB3vUDgvYzwqGzxjYB3i','vhLWzvnJCMLWDcbHBMfSExnPCYbMywLSzwq','uMvHy3q','tgf0zxn0'];a0_0x15c4=function(){return _0x273988;};return a0_0x15c4();}class TypeScriptAnalyzer{constructor(_0x5ec157=null){const _0x4f788b=a0_0x5efb;this['logger']=_0x5ec157,this['compilerOptions']={'noEmit':!![],'jsx':a0_0x2ba7a8[_0x4f788b(0x170)][_0x4f788b(0x191)],'target':a0_0x2ba7a8['ScriptTarget'][_0x4f788b(0x192)],'module':a0_0x2ba7a8['ModuleKind']['ESNext'],'moduleResolution':a0_0x2ba7a8['ModuleResolutionKind']['NodeJs'],'esModuleInterop':!![],'skipLibCheck':!![],'strict':!![],'noImplicitAny':!![],'strictNullChecks':!![],'strictFunctionTypes':!![],'allowJs':![]};}async['analyze'](_0x10d92a,_0x3bba9d,_0x401f18={}){const _0x42b73e=a0_0x5efb;try{const _0x4779a2=[],_0x223f02=a0_0x2ba7a8[_0x42b73e(0x169)](_0x10d92a,_0x3bba9d,a0_0x2ba7a8['ScriptTarget']['Latest'],!![]),_0x33239e=this['getSyntacticDiagnostics'](_0x223f02);_0x4779a2['push'](..._0x33239e);const _0x3da6a6=await this['getSemanticDiagnostics'](_0x10d92a,_0x3bba9d);return _0x4779a2[_0x42b73e(0x17d)](..._0x3da6a6),this[_0x42b73e(0x18b)]?.['debug'](_0x42b73e(0x17b),{'file':_0x10d92a,'totalDiagnostics':_0x4779a2[_0x42b73e(0x166)],'errors':_0x4779a2[_0x42b73e(0x187)](_0x25b6f0=>_0x25b6f0['severity']===STATIC_ANALYSIS['SEVERITY']['ERROR'])[_0x42b73e(0x166)],'warnings':_0x4779a2['filter'](_0x81cb9b=>_0x81cb9b[_0x42b73e(0x17f)]===STATIC_ANALYSIS['SEVERITY'][_0x42b73e(0x16f)])[_0x42b73e(0x166)]}),_0x4779a2;}catch(_0x2b229a){return this[_0x42b73e(0x18b)]?.['error'](_0x42b73e(0x190),{'file':_0x10d92a,'error':_0x2b229a['message']}),[{'file':_0x10d92a,'line':0x0,'column':0x0,'severity':STATIC_ANALYSIS[_0x42b73e(0x176)]['ERROR'],'rule':_0x42b73e(0x16b),'message':'Analysis\x20failed:\x20'+_0x2b229a[_0x42b73e(0x185)],'category':STATIC_ANALYSIS[_0x42b73e(0x178)]['SYNTAX']}];}}['getSyntacticDiagnostics'](_0x5f3dd4){const _0x5c1ae0=a0_0x5efb,_0x328b02=[];if(_0x5f3dd4['parseDiagnostics']&&_0x5f3dd4[_0x5c1ae0(0x195)][_0x5c1ae0(0x166)]>0x0)for(const _0x591387 of _0x5f3dd4['parseDiagnostics']){_0x328b02[_0x5c1ae0(0x17d)](this['formatDiagnostic'](_0x591387,_0x5f3dd4));}return _0x328b02;}async[a0_0x1046c6(0x16c)](_0xf0a761,_0x55d7b8){const _0x4d7ed0=a0_0x1046c6,_0x10103a=[];try{const _0x6b04d6=a0_0x2ba7a8['createSourceFile'](_0xf0a761,_0x55d7b8,a0_0x2ba7a8[_0x4d7ed0(0x196)]['Latest'],!![]),_0x3b7c38={'getSourceFile':_0x1e337e=>{if(_0x1e337e===_0xf0a761)return _0x6b04d6;return undefined;},'getDefaultLibFileName':()=>_0x4d7ed0(0x183),'writeFile':()=>{},'getCurrentDirectory':()=>a0_0x402162['dirname'](_0xf0a761),'getDirectories':()=>[],'fileExists':_0x191169=>_0x191169===_0xf0a761,'readFile':_0x5dad57=>{if(_0x5dad57===_0xf0a761)return _0x55d7b8;return undefined;},'getCanonicalFileName':_0x5e4d11=>_0x5e4d11,'useCaseSensitiveFileNames':()=>!![],'getNewLine':()=>'\x0a'},_0x49566f=a0_0x2ba7a8['createProgram']({'rootNames':[_0xf0a761],'options':this['compilerOptions'],'host':_0x3b7c38}),_0x5ddd69=_0x49566f['getSyntacticDiagnostics'](_0x6b04d6),_0x29e8a4=_0x49566f['getSemanticDiagnostics'](_0x6b04d6);for(const _0x4793e9 of[..._0x5ddd69,..._0x29e8a4]){_0x10103a['push'](this['formatDiagnostic'](_0x4793e9,_0x6b04d6));}}catch(_0x46b6bc){this[_0x4d7ed0(0x18b)]?.[_0x4d7ed0(0x18d)](_0x4d7ed0(0x18f),{'file':_0xf0a761,'error':_0x46b6bc['message']});}return _0x10103a;}[a0_0x1046c6(0x167)](_0x3356fe,_0x328c36){const _0x1eb309=a0_0x1046c6;let _0x3b3af6=0x0,_0x57c279=0x0;if(_0x3356fe[_0x1eb309(0x18e)]&&_0x3356fe[_0x1eb309(0x165)]!==undefined){const _0x2bbabf=_0x3356fe['file'][_0x1eb309(0x18a)](_0x3356fe[_0x1eb309(0x165)]);_0x3b3af6=_0x2bbabf['line']+0x1,_0x57c279=_0x2bbabf['character']+0x1;}else{if(_0x328c36&&_0x3356fe[_0x1eb309(0x165)]!==undefined){const _0x286382=_0x328c36[_0x1eb309(0x18a)](_0x3356fe[_0x1eb309(0x165)]);_0x3b3af6=_0x286382['line']+0x1,_0x57c279=_0x286382[_0x1eb309(0x17a)]+0x1;}}const _0x4a006f=a0_0x2ba7a8[_0x1eb309(0x182)](_0x3356fe['messageText'],'\x0a');let _0x9a8b3e;switch(_0x3356fe['category']){case a0_0x2ba7a8[_0x1eb309(0x172)]['Error']:_0x9a8b3e=STATIC_ANALYSIS[_0x1eb309(0x176)][_0x1eb309(0x16d)];break;case a0_0x2ba7a8['DiagnosticCategory'][_0x1eb309(0x188)]:_0x9a8b3e=STATIC_ANALYSIS['SEVERITY']['WARNING'];break;case a0_0x2ba7a8['DiagnosticCategory'][_0x1eb309(0x163)]:case a0_0x2ba7a8['DiagnosticCategory'][_0x1eb309(0x16e)]:_0x9a8b3e=STATIC_ANALYSIS[_0x1eb309(0x176)][_0x1eb309(0x174)];break;default:_0x9a8b3e=STATIC_ANALYSIS['SEVERITY'][_0x1eb309(0x16d)];}let _0x441a04=STATIC_ANALYSIS['CATEGORY'][_0x1eb309(0x17c)];const _0x3205e9=_0x3356fe[_0x1eb309(0x181)];if(_0x3205e9>=0x7d0&&_0x3205e9<0xbb8)_0x441a04=STATIC_ANALYSIS['CATEGORY'][_0x1eb309(0x177)];else{if(_0x3205e9>=0x3e8&&_0x3205e9<0x7d0)_0x441a04=STATIC_ANALYSIS['CATEGORY'][_0x1eb309(0x17c)];else _0x3205e9>=0x8fc&&_0x3205e9<0x960&&(_0x441a04=STATIC_ANALYSIS['CATEGORY']['IMPORT']);}const _0x2d47c7=_0x4a006f[_0x1eb309(0x186)]();if(_0x2d47c7[_0x1eb309(0x173)](_0x1eb309(0x164))||_0x2d47c7[_0x1eb309(0x173)]('import')||_0x2d47c7['includes']('export'))_0x441a04=STATIC_ANALYSIS[_0x1eb309(0x178)][_0x1eb309(0x16a)];else(_0x2d47c7['includes']('type')||_0x2d47c7[_0x1eb309(0x173)](_0x1eb309(0x17e))||_0x2d47c7[_0x1eb309(0x173)](_0x1eb309(0x180)))&&(_0x441a04=STATIC_ANALYSIS['CATEGORY'][_0x1eb309(0x177)]);return{'file':_0x3356fe['file']?.['fileName']||_0x328c36?.['fileName']||_0x1eb309(0x194),'line':_0x3b3af6,'column':_0x57c279,'severity':_0x9a8b3e,'rule':'TS'+_0x3205e9,'message':_0x4a006f,'category':_0x441a04,'fixable':![],'code':_0x3356fe['code']};}}export default TypeScriptAnalyzer;
1
+ const a0_0x1708f6=a0_0x2a1e;(function(_0x54e1ac,_0x3a6f6e){const _0x5dd267=a0_0x2a1e,_0x47e4e0=_0x54e1ac();while(!![]){try{const _0x3d3762=-parseInt(_0x5dd267(0x1c0))/0x1*(-parseInt(_0x5dd267(0x1a2))/0x2)+parseInt(_0x5dd267(0x1a3))/0x3+parseInt(_0x5dd267(0x19f))/0x4+-parseInt(_0x5dd267(0x1a9))/0x5+-parseInt(_0x5dd267(0x1c4))/0x6*(parseInt(_0x5dd267(0x1ac))/0x7)+parseInt(_0x5dd267(0x1a8))/0x8*(parseInt(_0x5dd267(0x1a0))/0x9)+parseInt(_0x5dd267(0x1b8))/0xa;if(_0x3d3762===_0x3a6f6e)break;else _0x47e4e0['push'](_0x47e4e0['shift']());}catch(_0x45483b){_0x47e4e0['push'](_0x47e4e0['shift']());}}}(a0_0x269a,0xa0e5c));import a0_0x4a541a from'typescript';import a0_0x50fd7a from'path';import{STATIC_ANALYSIS}from'../utilities/constants.js';function a0_0x269a(){const _0x28cd6b=['nJe4ndqXmgLNy1bTsa','y3jLyxrLu291CMnLrMLSzq','u1Lovefy','mZu4mdqZCffXuvL1','v0fstKLorW','y2HHCMfJDgvY','BgvUz3rO','Dw5RBM93BG','tgf0zxn0','z2v0u3LUDgfJDgLJrgLHz25VC3rPy3m','BwvZC2fNzq','vhLWzvnJCMLWDcbHBMfSExnPCYbJB21WBgv0zwq','Bg9Nz2vY','v2fYBMLUzW','twvZC2fNzq','nJqWmJmYmhjprgrpuq','y3jLyxrLuhjVz3jHBq','tM9KzuPZ','rvjst1i','z2v0tgLUzufUzenOyxjHy3rLCK9Mug9ZAxrPB24','ChvZAa','u0vwrvjjvfK','vhLWzvnJCMLWDcbHBMfSExnPCYbMywLSzwq','mJGXndfjveTLB0i','zMXHDhrLBKrPywDUB3n0AwnnzxnZywDLvgv4Da','zM9YBwf0rgLHz25VC3rPyW','rxjYB3i','mtmYB0rWEfPO','vfLqrq','zMLSDgvY','rgLHz25VC3rPy0nHDgvNB3j5','Aw5JBhvKzxm','DhLWzq','q0furuDpuLK','u2nYAxb0vgfYz2v0','qw5HBhLZAxmGzMfPBgvKoIa','ndG1mJm2BKP4qxbe','mJDHyLHoEva','CgfYC2veAwfNBM9ZDgLJCW','nJbrCfPvt2e','ndeWmZK0te9ID0T2','y2XHC3m','sNn4rw1PDa','zgLYBMfTzq','zMLSzu5HBwu','mZqWoty3mNPKA0zVAq'];a0_0x269a=function(){return _0x28cd6b;};return a0_0x269a();}class TypeScriptAnalyzer{constructor(_0x284fba=null){const _0x61dd4b=a0_0x2a1e;this[_0x61dd4b(0x1b5)]=_0x284fba,this['compilerOptions']={'noEmit':!![],'jsx':a0_0x4a541a[_0x61dd4b(0x1a5)]['React'],'target':a0_0x4a541a[_0x61dd4b(0x1cb)]['Latest'],'module':a0_0x4a541a['ModuleKind']['ESNext'],'moduleResolution':a0_0x4a541a['ModuleResolutionKind'][_0x61dd4b(0x1ba)],'esModuleInterop':!![],'skipLibCheck':!![],'strict':!![],'noImplicitAny':!![],'strictNullChecks':!![],'strictFunctionTypes':!![],'allowJs':![]};}async['analyze'](_0x35e37d,_0x456da5,_0x16901c={}){const _0x1094f3=a0_0x2a1e;try{const _0x27d323=[],_0x208d2f=a0_0x4a541a[_0x1094f3(0x1aa)](_0x35e37d,_0x456da5,a0_0x4a541a[_0x1094f3(0x1cb)][_0x1094f3(0x1b1)],!![]),_0x198dba=this[_0x1094f3(0x1b2)](_0x208d2f);_0x27d323[_0x1094f3(0x1bd)](..._0x198dba);const _0x20aed7=await this['getSemanticDiagnostics'](_0x35e37d,_0x456da5);return _0x27d323[_0x1094f3(0x1bd)](..._0x20aed7),this['logger']?.['debug'](_0x1094f3(0x1b4),{'file':_0x35e37d,'totalDiagnostics':_0x27d323['length'],'errors':_0x27d323[_0x1094f3(0x1c6)](_0x17783b=>_0x17783b['severity']===STATIC_ANALYSIS[_0x1094f3(0x1be)]['ERROR'])[_0x1094f3(0x1af)],'warnings':_0x27d323[_0x1094f3(0x1c6)](_0x3001b9=>_0x3001b9['severity']===STATIC_ANALYSIS[_0x1094f3(0x1be)][_0x1094f3(0x1ad)])['length']}),_0x27d323;}catch(_0x53b0b9){return this[_0x1094f3(0x1b5)]?.['error'](_0x1094f3(0x1bf),{'file':_0x35e37d,'error':_0x53b0b9['message']}),[{'file':_0x35e37d,'line':0x0,'column':0x0,'severity':STATIC_ANALYSIS[_0x1094f3(0x1be)]['ERROR'],'rule':'analyzer-error','message':_0x1094f3(0x19e)+_0x53b0b9['message'],'category':STATIC_ANALYSIS['CATEGORY'][_0x1094f3(0x1ab)]}];}}[a0_0x1708f6(0x1b2)](_0x14e2a1){const _0x460118=a0_0x1708f6,_0x17c222=[];if(_0x14e2a1[_0x460118(0x1a1)]&&_0x14e2a1['parseDiagnostics']['length']>0x0)for(const _0x439fa5 of _0x14e2a1['parseDiagnostics']){_0x17c222[_0x460118(0x1bd)](this[_0x460118(0x1c2)](_0x439fa5,_0x14e2a1));}return _0x17c222;}async['getSemanticDiagnostics'](_0x358dc5,_0x145096){const _0x46aebc=a0_0x1708f6,_0x4a2541=[];try{const _0x10d9a5=a0_0x4a541a['createSourceFile'](_0x358dc5,_0x145096,a0_0x4a541a[_0x46aebc(0x1cb)][_0x46aebc(0x1b1)],!![]),_0x5431f3={'getSourceFile':_0x3f0782=>{if(_0x3f0782===_0x358dc5)return _0x10d9a5;return undefined;},'getDefaultLibFileName':()=>'lib.d.ts','writeFile':()=>{},'getCurrentDirectory':()=>a0_0x50fd7a[_0x46aebc(0x1a6)](_0x358dc5),'getDirectories':()=>[],'fileExists':_0x1f6a7f=>_0x1f6a7f===_0x358dc5,'readFile':_0x4406e0=>{if(_0x4406e0===_0x358dc5)return _0x145096;return undefined;},'getCanonicalFileName':_0x2b0633=>_0x2b0633,'useCaseSensitiveFileNames':()=>!![],'getNewLine':()=>'\x0a'},_0x5f0808=a0_0x4a541a[_0x46aebc(0x1b9)]({'rootNames':[_0x358dc5],'options':this['compilerOptions'],'host':_0x5431f3}),_0x3c1728=_0x5f0808['getSyntacticDiagnostics'](_0x10d9a5),_0x59926d=_0x5f0808['getSemanticDiagnostics'](_0x10d9a5);for(const _0x3711d7 of[..._0x3c1728,..._0x59926d]){_0x4a2541['push'](this['formatDiagnostic'](_0x3711d7,_0x10d9a5));}}catch(_0x8e5750){this[_0x46aebc(0x1b5)]?.['debug']('Semantic\x20analysis\x20encountered\x20error',{'file':_0x358dc5,'error':_0x8e5750[_0x46aebc(0x1b3)]});}return _0x4a2541;}[a0_0x1708f6(0x1c2)](_0x25a9e5,_0x556b5e){const _0x15544c=a0_0x1708f6;let _0x580341=0x0,_0x4e78cd=0x0;if(_0x25a9e5['file']&&_0x25a9e5['start']!==undefined){const _0x39d8be=_0x25a9e5['file']['getLineAndCharacterOfPosition'](_0x25a9e5['start']);_0x580341=_0x39d8be['line']+0x1,_0x4e78cd=_0x39d8be['character']+0x1;}else{if(_0x556b5e&&_0x25a9e5['start']!==undefined){const _0x9ebdf=_0x556b5e[_0x15544c(0x1bc)](_0x25a9e5['start']);_0x580341=_0x9ebdf['line']+0x1,_0x4e78cd=_0x9ebdf[_0x15544c(0x1ae)]+0x1;}}const _0x34c85f=a0_0x4a541a[_0x15544c(0x1c1)](_0x25a9e5['messageText'],'\x0a');let _0x9a68f0;switch(_0x25a9e5['category']){case a0_0x4a541a[_0x15544c(0x1c7)][_0x15544c(0x1c3)]:_0x9a68f0=STATIC_ANALYSIS[_0x15544c(0x1be)][_0x15544c(0x1bb)];break;case a0_0x4a541a[_0x15544c(0x1c7)][_0x15544c(0x1b6)]:_0x9a68f0=STATIC_ANALYSIS['SEVERITY'][_0x15544c(0x1ad)];break;case a0_0x4a541a['DiagnosticCategory'][_0x15544c(0x1b7)]:case a0_0x4a541a[_0x15544c(0x1c7)]['Suggestion']:_0x9a68f0=STATIC_ANALYSIS['SEVERITY']['INFO'];break;default:_0x9a68f0=STATIC_ANALYSIS[_0x15544c(0x1be)]['ERROR'];}let _0x866f2f=STATIC_ANALYSIS['CATEGORY']['SYNTAX'];const _0x163e18=_0x25a9e5['code'];if(_0x163e18>=0x7d0&&_0x163e18<0xbb8)_0x866f2f=STATIC_ANALYSIS[_0x15544c(0x1ca)]['TYPE'];else{if(_0x163e18>=0x3e8&&_0x163e18<0x7d0)_0x866f2f=STATIC_ANALYSIS[_0x15544c(0x1ca)][_0x15544c(0x1ab)];else _0x163e18>=0x8fc&&_0x163e18<0x960&&(_0x866f2f=STATIC_ANALYSIS['CATEGORY']['IMPORT']);}const _0x330dc6=_0x34c85f['toLowerCase']();if(_0x330dc6['includes']('cannot\x20find\x20module')||_0x330dc6[_0x15544c(0x1c8)]('import')||_0x330dc6[_0x15544c(0x1c8)]('export'))_0x866f2f=STATIC_ANALYSIS['CATEGORY']['IMPORT'];else(_0x330dc6[_0x15544c(0x1c8)](_0x15544c(0x1c9))||_0x330dc6[_0x15544c(0x1c8)]('interface')||_0x330dc6['includes'](_0x15544c(0x1a4)))&&(_0x866f2f=STATIC_ANALYSIS['CATEGORY'][_0x15544c(0x1c5)]);return{'file':_0x25a9e5['file']?.[_0x15544c(0x1a7)]||_0x556b5e?.[_0x15544c(0x1a7)]||_0x15544c(0x1b0),'line':_0x580341,'column':_0x4e78cd,'severity':_0x9a68f0,'rule':'TS'+_0x163e18,'message':_0x34c85f,'category':_0x866f2f,'fixable':![],'code':_0x25a9e5['code']};}}function a0_0x2a1e(_0x58a3a8,_0x39a61f){_0x58a3a8=_0x58a3a8-0x19e;const _0x269aa9=a0_0x269a();let _0x2a1eea=_0x269aa9[_0x58a3a8];if(a0_0x2a1e['jCCbZA']===undefined){var _0x5dd53a=function(_0xfb0f6c){const _0x21d19c='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4a541a='',_0x50fd7a='';for(let _0x284fba=0x0,_0x35e37d,_0x456da5,_0x16901c=0x0;_0x456da5=_0xfb0f6c['charAt'](_0x16901c++);~_0x456da5&&(_0x35e37d=_0x284fba%0x4?_0x35e37d*0x40+_0x456da5:_0x456da5,_0x284fba++%0x4)?_0x4a541a+=String['fromCharCode'](0xff&_0x35e37d>>(-0x2*_0x284fba&0x6)):0x0){_0x456da5=_0x21d19c['indexOf'](_0x456da5);}for(let _0x27d323=0x0,_0x208d2f=_0x4a541a['length'];_0x27d323<_0x208d2f;_0x27d323++){_0x50fd7a+='%'+('00'+_0x4a541a['charCodeAt'](_0x27d323)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x50fd7a);};a0_0x2a1e['NWgsaX']=_0x5dd53a,a0_0x2a1e['LAgQOv']={},a0_0x2a1e['jCCbZA']=!![];}const _0x2f3688=_0x269aa9[0x0],_0x8b534c=_0x58a3a8+_0x2f3688,_0x393551=a0_0x2a1e['LAgQOv'][_0x8b534c];return!_0x393551?(_0x2a1eea=a0_0x2a1e['NWgsaX'](_0x2a1eea),a0_0x2a1e['LAgQOv'][_0x8b534c]=_0x2a1eea):_0x2a1eea=_0x393551,_0x2a1eea;}export default TypeScriptAnalyzer;
@@ -1 +1 @@
1
- const a0_0x30ad35=a0_0x4712;function a0_0x401b(){const _0x570c99=['uMvMywn0B3jPBMCGDg8G','D2HPBgu','Bg9N','C2L6zq','nc4GuMvWBgfJzsbHBgWGAw5ZDgfUy2vZihDPDgGGy2fSBhmGDg8GDgHLig5LDYbMDw5JDgLVBG','AgLNAa','mI4Gtw92zsbYzwXHDgvKig1LDgHVzhmGyw5KihbYB3bLCNrPzxmGAw50BYb0AguGy2XHC3m','C3rHCNrmAw5L','zxH0CMfJDc1MDw5JDgLVBG','CM91BMq','z2vUzxjHDgvby3rPB25HyMXLu3rLChm','ndC0mte3nKfqy2XYqq','CMvWBgfJzq','zxH0CMfJDc1TB2r1Bgu','Aw5JBhvKzxm','sw1WCM92zsbJB2rLig9Yz2fUAxPHDgLVBIbHy3jVC3mG','zgv0zxjTAw5LuhjPB3jPDhK','oty0mJi0mvzACevwqG','zgvZy3jPyMvczw5LzML0CW','zM9Y','BwfW','mI4GuMvWBgfJzsbHBgWGAw5ZDgfUy2vZihDPDgGGDgHLigv4DhjHy3rLzcb2zxjZAw9U','igzPBgvZ','mZaYmZjzAfLhyxu','C29Tzq','y3jLyxrLrNvUy3rPB25oyw1L','sw1WCM92zsbTywLUDgfPBMfIAwXPDhKGyNKGy2vUDhjHBgL6Aw5NigXVz2LJigLUig9UzsbWBgfJzq','ChvZAa','zM9YrwfJAa','zw50CMLLCW','y2fSy3vSyxrLtwv0CMLJCW','zw5KtgLUzq','igXVy2f0Aw9UCW','y2fSy3vSyxrLsw1Wywn0u2nVCMu','y29Kzq','nc4Gq29UC2LKzxiGzgvWzw5Kzw5JEsbPBMPLy3rPB24GzM9YigjLDhrLCIb0zxn0ywjPBgL0Eq','mY4GrxHWB3j0ihrOzsbUzwnLC3nHCNKGzNvUy3rPB25Zl2nSyxnZzxm','C3vNz2vZDe5HBwu','DMfY','Bg93','zxH0CMfJDc1JBgfZCW','ms4Gq3jLyxrLigeGBMv3ig1VzhvSzs9MAwXLigzVCIb0AgLZihnOyxjLzcbMDw5JDgLVBMfSAxr5','C2XPy2u','ms4GrxH0CMfJDcb0AguGzhvWBgLJyxrLzcbJB2rLihvZAw5Nia','y2HHCKf0','zwXZzq','igr1CgXPy2f0zwqGBgLUzxmUia','ndG0mtK1mZbmC2PfvfC','C29YDa','z2vUzxjHDgvszwzHy3rVCMLUz0fKDMLJzq','mJeYn2TTCLPXEa','mty5ofrABxjyyG','Dg9Rzw5dB3vUDa','yxzLCMfNzuXPBMvdB3vUDa','nJu2ywjRqLD1','BwvKAxvT','nZi1EePMwMTj','Bg9Nmta','Dg9gAxHLza','cI4UlIaODhj1BMnHDgvKkq','zxn0Aw1HDgvfzMzVCNq','AM9PBG','nZaYotLStfvYu1m','mY4GvxbKyxrLigfSBcbPBNn0yw5JzxmGDg8GDxnLihrOzsbUzxCGy2XHC3m','yMXVy2TZ','Aw1Wywn0u2nVCMu','mI4Gtw92zsb0AguGzhvWBgLJyxrLzcbSB2DPyYbPBNrVihrOAxmGzNvUy3rPB24','BgvUz3rO','qw5HBhL6Aw5NignSB25LCYbMB3iGCMvMywn0B3jPBMCGB3bWB3j0Dw5PDgLLCY4UlG','y29UzMLKzw5Jzq','Aw5ZDgfUy2vdB3vUDa','zgv0zxjTAw5LuMvMywn0B3jPBMDtDhjHDgvNEq','Bwv0CMLJCW','mZGWotyZsufou0XY','y29UzMLN','zhvWBgLJyxrLzeXPBMvZ'];a0_0x401b=function(){return _0x570c99;};return a0_0x401b();}function a0_0x4712(_0x5ba57f,_0x312d33){_0x5ba57f=_0x5ba57f-0xaf;const _0x401b50=a0_0x401b();let _0x471230=_0x401b50[_0x5ba57f];if(a0_0x4712['HuCpOU']===undefined){var _0x3a2956=function(_0x2c2089){const _0x5785bc='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3cf039='',_0x6dc748='';for(let _0x4dd13a=0x0,_0x31c6a2,_0x39dac8,_0xaa5d9f=0x0;_0x39dac8=_0x2c2089['charAt'](_0xaa5d9f++);~_0x39dac8&&(_0x31c6a2=_0x4dd13a%0x4?_0x31c6a2*0x40+_0x39dac8:_0x39dac8,_0x4dd13a++%0x4)?_0x3cf039+=String['fromCharCode'](0xff&_0x31c6a2>>(-0x2*_0x4dd13a&0x6)):0x0){_0x39dac8=_0x5785bc['indexOf'](_0x39dac8);}for(let _0x3dd183=0x0,_0x292ba5=_0x3cf039['length'];_0x3dd183<_0x292ba5;_0x3dd183++){_0x6dc748+='%'+('00'+_0x3cf039['charCodeAt'](_0x3dd183)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x6dc748);};a0_0x4712['CxNWeP']=_0x3a2956,a0_0x4712['JfWKXE']={},a0_0x4712['HuCpOU']=!![];}const _0x48749a=_0x401b50[0x0],_0x23d3e2=_0x5ba57f+_0x48749a,_0x4c2554=a0_0x4712['JfWKXE'][_0x23d3e2];return!_0x4c2554?(_0x471230=a0_0x4712['CxNWeP'](_0x471230),a0_0x4712['JfWKXE'][_0x23d3e2]=_0x471230):_0x471230=_0x4c2554,_0x471230;}(function(_0x174058,_0x2eec57){const _0x1057d5=a0_0x4712,_0x55df09=_0x174058();while(!![]){try{const _0x1e5f73=parseInt(_0x1057d5(0xb1))/0x1+parseInt(_0x1057d5(0xe7))/0x2*(-parseInt(_0x1057d5(0xe6))/0x3)+-parseInt(_0x1057d5(0xcb))/0x4*(parseInt(_0x1057d5(0xec))/0x5)+-parseInt(_0x1057d5(0xbf))/0x6+-parseInt(_0x1057d5(0xc5))/0x7+parseInt(_0x1057d5(0xea))/0x8*(-parseInt(_0x1057d5(0xf2))/0x9)+parseInt(_0x1057d5(0xe3))/0xa;if(_0x1e5f73===_0x2eec57)break;else _0x55df09['push'](_0x55df09['shift']());}catch(_0x2e653a){_0x55df09['push'](_0x55df09['shift']());}}}(a0_0x401b,0xaf068));export class RefactoringAnalyzer{constructor(_0x3cf039){const _0x4de2f9=a0_0x4712;this[_0x4de2f9(0xb2)]=_0x3cf039;}['analyzeClones'](_0x6dc748){const _0x18c491=a0_0x4712;return console[_0x18c491(0xb6)](_0x18c491(0xf8)),_0x6dc748[_0x18c491(0xc8)]((_0x4dd13a,_0x31c6a2)=>{const _0x13863c=_0x18c491,_0x39dac8=this[_0x13863c(0xd2)](_0x4dd13a),_0xaa5d9f=this[_0x13863c(0xe5)](_0x4dd13a,_0x39dac8);return{'id':'clone-'+(_0x31c6a2+0x1),'type':_0x4dd13a['type'],'confidence':_0x4dd13a['confidence'],'instances':_0x4dd13a[_0x13863c(0xf4)]['map'](_0x3dd183=>({'file':_0x3dd183['file'],'startLine':_0x3dd183[_0x13863c(0xbb)],'endLine':_0x3dd183[_0x13863c(0xd3)],'code':this['truncateCode'](_0x3dd183[_0x13863c(0xd6)]),'fullCode':_0x3dd183['code'],'blockType':_0x3dd183['type']})),'metrics':_0x39dac8,'refactoringAdvice':_0xaa5d9f};})['sort']((_0x292ba5,_0x18eb28)=>_0x18eb28['metrics'][_0x18c491(0xf5)]-_0x292ba5[_0x18c491(0xb0)][_0x18c491(0xf5)]);}['calculateMetrics'](_0x56429f){const _0x22cdd0=a0_0x4712,_0xc2b7e5=_0x56429f['blocks'],_0x47c9ab=_0x56429f[_0x22cdd0(0xe8)],_0x43de9d=this[_0x22cdd0(0xe9)](_0xc2b7e5),_0x16d998=_0xc2b7e5[_0x22cdd0(0xf7)],_0x129091=this['calculateImpactScore'](_0x47c9ab,_0x43de9d,_0x16d998,_0x56429f[_0x22cdd0(0xf9)]),_0x44a26c=_0x43de9d*(_0x16d998-0x1),_0x4c52ba=_0x47c9ab*(_0x16d998-0x1);return{'tokenCount':_0x47c9ab,'lineCount':_0x43de9d,'instanceCount':_0x16d998,'duplicatedLines':_0x44a26c,'duplicatedTokens':_0x4c52ba,'impactScore':parseFloat(_0x129091[_0x22cdd0(0xee)](0x2)),'filesCovered':new Set(_0xc2b7e5['map'](_0x46cc41=>_0x46cc41['file']))[_0x22cdd0(0xb7)]};}[a0_0x30ad35(0xd5)](_0x4f5b65,_0x5381a4,_0x477a6a,_0x1780ae){const _0x28edfd=a0_0x30ad35,_0x52963f=Math[_0x28edfd(0xed)](_0x4f5b65+0x1)*0x2,_0xa406e8=Math['log2'](_0x477a6a+0x1)*0x3,_0x35541d=_0x1780ae*0x2,_0x173698=Math['min'](_0x5381a4/0xa,0x3);return _0x52963f+_0xa406e8+_0x35541d+_0x173698;}['generateRefactoringAdvice'](_0x13a2f0,_0xfbda87){const _0x36ac81=a0_0x30ad35,_0x38af36=this[_0x36ac81(0xaf)](_0x13a2f0,_0xfbda87),_0x19a839=this['determinePriority'](_0xfbda87),_0x295bae=this['suggestName'](_0x13a2f0),_0x535411=this['generateReasoning'](_0x13a2f0,_0xfbda87,_0x38af36),_0x51cd5c=this[_0x36ac81(0xf0)](_0xfbda87,_0x38af36),_0x5224bb=this[_0x36ac81(0xc6)](_0xfbda87);return{'priority':_0x19a839,'strategy':_0x38af36,'suggestedName':_0x295bae,'reasoning':_0x535411,'estimatedEffort':_0x51cd5c,'benefits':_0x5224bb,'actionableSteps':this['generateActionableSteps'](_0x38af36,_0x295bae,_0xfbda87)};}[a0_0x30ad35(0xaf)](_0x2555ba,_0x572338){const _0x105f39=a0_0x30ad35,{tokenCount:_0x151a60,lineCount:_0x164969,instanceCount:_0x269c34,filesCovered:_0x13a52b}=_0x572338,_0x51ff90=_0x2555ba['blocks']['map'](_0x982549=>_0x982549['type']),_0x52f82a=_0x51ff90[_0x105f39(0xcc)](_0x500961=>_0x500961['includes']('Function')||_0x500961[_0x105f39(0xc2)]('Method')),_0x3b7339=_0x51ff90['some'](_0x4406bc=>_0x4406bc['includes']('Class'));if(_0x3b7339&&_0x164969>0x32)return'extract-module';else{if(_0x13a52b>0x2&&_0x151a60>0x64)return'extract-module';else{if(_0x52f82a||_0x164969>=0xa&&_0x164969<=0x32)return'extract-function';else{if(_0x164969>0x32)return'extract-class';else return _0x164969<0xa?'extract-constant-or-utility':_0x105f39(0xbc);}}}}[a0_0x30ad35(0xc4)](_0x447360){const _0x2ca1f6=a0_0x30ad35,{impactScore:_0x166ece}=_0x447360;if(_0x166ece>=0x8)return _0x2ca1f6(0xb9);if(_0x166ece>=0x5)return _0x2ca1f6(0xeb);return _0x2ca1f6(0xdb);}[a0_0x30ad35(0xd9)](_0x4abda5){const _0x55c00a=a0_0x30ad35,_0x15ca35=_0x4abda5[_0x55c00a(0xf4)]['map'](_0x396c41=>_0x396c41[_0x55c00a(0xd6)])[_0x55c00a(0xf1)]('\x20'),_0xa65196=_0x15ca35['match'](/[a-zA-Z_$][a-zA-Z0-9_$]*/g)||[],_0x1ffb92={};_0xa65196[_0x55c00a(0xd0)](_0x57fb66=>{const _0x557795=_0x55c00a;if(['const','let',_0x557795(0xda),'function','return','if',_0x557795(0xe1),_0x557795(0xc7),_0x557795(0xb5)][_0x557795(0xc2)](_0x57fb66))return;_0x1ffb92[_0x57fb66]=(_0x1ffb92[_0x57fb66]||0x0)+0x1;});const _0x133246=Object[_0x55c00a(0xd1)](_0x1ffb92)[_0x55c00a(0xe4)]((_0x4b344e,_0x2d63a)=>_0x2d63a[0x1]-_0x4b344e[0x1])['slice'](0x0,0x3);if(_0x133246['length']>0x0){const _0x47bef7=_0x133246['map'](([_0x2de080])=>_0x2de080);return this[_0x55c00a(0xcd)](_0x47bef7);}return'extractedFunction';}['createFunctionName'](_0xd0454a){const _0x38035e=a0_0x30ad35;if(_0xd0454a['length']===0x0)return'extractedFunction';return _0xd0454a[0x0]+_0xd0454a[_0x38035e(0xde)](0x1)['map'](_0xaa3c9b=>_0xaa3c9b[_0x38035e(0xe0)](0x0)['toUpperCase']()+_0xaa3c9b['slice'](0x1))['join']('');}['generateReasoning'](_0x22f788,_0x3f194a,_0x1cfe6c){const _0x4233f3=a0_0x30ad35,{instanceCount:_0x10c74b,duplicatedLines:_0x4434fb,filesCovered:_0x1f8e44}=_0x3f194a;let _0x505115='This\x20'+_0x22f788['type']+'\x20code\x20pattern\x20appears\x20'+_0x10c74b+'\x20times';return _0x1f8e44>0x1&&(_0x505115+='\x20across\x20'+_0x1f8e44+'\x20different\x20files'),_0x505115+=',\x20resulting\x20in\x20'+_0x4434fb+_0x4233f3(0xe2),_0x505115+=_0x4233f3(0xb4)+_0x1cfe6c['replace'](/-/g,'\x20')+'\x20would\x20improve\x20maintainability',_0x10c74b>=0x3&&(_0x505115+=', reduce bugs from inconsistent changes'),_0x505115+=',\x20and\x20reduce\x20code\x20size',_0x3f194a[_0x4233f3(0xf5)]>=0x8&&(_0x505115+='.\x20This\x20is\x20a\x20high-impact\x20refactoring\x20opportunity'),_0x505115+'.';}['estimateEffort'](_0x3541f0,_0x3a78da){const _0x5019ad=a0_0x30ad35,{lineCount:_0x57c22a,instanceCount:_0x5e2f35,filesCovered:_0x4d573c}=_0x3541f0;let _0x5642be=0x0;_0x5642be+=Math['min'](_0x57c22a/0xa,0x5),_0x5642be+=_0x5e2f35*0.5,_0x5642be+=_0x4d573c*0.5;if(_0x3a78da===_0x5019ad(0xc1))_0x5642be+=0x3;else{if(_0x3a78da===_0x5019ad(0xdc))_0x5642be+=0x2;else _0x3a78da==='extract-function'&&(_0x5642be+=0x1);}if(_0x5642be<=0x3)return _0x5019ad(0xdb);if(_0x5642be<=0x7)return'medium';return _0x5019ad(0xb9);}['describeBenefits'](_0x268ec8){const _0x5c7322=a0_0x30ad35,_0x482849=[];return _0x482849['push']('Eliminate\x20'+_0x268ec8[_0x5c7322(0xb3)]+'\x20duplicated\x20lines\x20of\x20code'),_0x482849[_0x5c7322(0xcf)](_0x5c7322(0xce)),_0x268ec8[_0x5c7322(0xfa)]>=0x3&&_0x482849['push']('Reduce\x20risk\x20of\x20inconsistent\x20changes\x20across\x20'+_0x268ec8[_0x5c7322(0xfa)]+_0x5c7322(0xd4)),_0x268ec8['filesCovered']>0x2&&_0x482849['push'](_0x5c7322(0xc3)+_0x268ec8['filesCovered']+_0x5c7322(0xca)),_0x482849[_0x5c7322(0xcf)]('Make\x20future\x20changes\x20easier\x20and\x20less\x20error-prone'),_0x482849;}[a0_0x30ad35(0xbe)](_0x5b5019,_0x585995,_0x9bf5e0){const _0x217c9a=a0_0x30ad35,_0x55ab7c=[];switch(_0x5b5019){case'extract-function':_0x55ab7c[_0x217c9a(0xcf)]('1.\x20Create\x20a\x20new\x20function\x20named\x20\x27'+_0x585995+'\x27'),_0x55ab7c[_0x217c9a(0xcf)](_0x217c9a(0xf6)),_0x55ab7c['push']('3. Identify parameters needed from the surrounding context'),_0x55ab7c['push'](_0x217c9a(0xb8)),_0x55ab7c[_0x217c9a(0xcf)]('5.\x20Test\x20to\x20ensure\x20behavior\x20is\x20preserved');break;case _0x217c9a(0xdc):_0x55ab7c['push']('1.\x20Create\x20a\x20new\x20class\x20to\x20encapsulate\x20this\x20functionality'),_0x55ab7c[_0x217c9a(0xcf)](_0x217c9a(0xba)),_0x55ab7c[_0x217c9a(0xcf)](_0x217c9a(0xf3)),_0x55ab7c[_0x217c9a(0xcf)](_0x217c9a(0xd7));break;case _0x217c9a(0xc1):_0x55ab7c[_0x217c9a(0xcf)](_0x217c9a(0xdd)),_0x55ab7c['push']('2.\x20Move\x20the\x20duplicated\x20code\x20into\x20the\x20new\x20module'),_0x55ab7c['push'](_0x217c9a(0xd8)),_0x55ab7c[_0x217c9a(0xcf)]('4. Update all files to import from the new module'),_0x55ab7c[_0x217c9a(0xcf)]('5.\x20Update\x20any\x20build\x20configurations\x20if\x20needed');break;default:_0x55ab7c['push'](_0x217c9a(0xdf)+_0x5b5019[_0x217c9a(0xc0)](/-/g,'\x20')),_0x55ab7c['push'](_0x217c9a(0xc9)),_0x55ab7c[_0x217c9a(0xcf)]('3.\x20Test\x20thoroughly');}return _0x55ab7c;}['truncateCode'](_0x322d6b,_0x5dee7d=0xa){const _0x23b40b=a0_0x30ad35,_0x3a918d=_0x322d6b['split']('\x0a');if(_0x3a918d[_0x23b40b(0xf7)]<=_0x5dee7d)return _0x322d6b;return _0x3a918d['slice'](0x0,_0x5dee7d)['join']('\x0a')+_0x23b40b(0xef);}['averageLineCount'](_0x5bfbb5){const _0x3a7e00=a0_0x30ad35,_0x88f214=_0x5bfbb5['reduce']((_0x2bc882,_0x3e12b6)=>_0x2bc882+(_0x3e12b6['endLine']-_0x3e12b6['startLine']+0x1),0x0);return Math[_0x3a7e00(0xbd)](_0x88f214/_0x5bfbb5[_0x3a7e00(0xf7)]);}}
1
+ const a0_0x10e5cc=a0_0x4a51;(function(_0x32a4ca,_0x255b37){const _0x37441c=a0_0x4a51,_0x29d115=_0x32a4ca();while(!![]){try{const _0x488058=parseInt(_0x37441c(0xa8))/0x1+parseInt(_0x37441c(0xb5))/0x2*(-parseInt(_0x37441c(0xac))/0x3)+parseInt(_0x37441c(0x9f))/0x4+-parseInt(_0x37441c(0x8f))/0x5*(parseInt(_0x37441c(0x85))/0x6)+-parseInt(_0x37441c(0x90))/0x7+-parseInt(_0x37441c(0x9a))/0x8+parseInt(_0x37441c(0xb4))/0x9;if(_0x488058===_0x255b37)break;else _0x29d115['push'](_0x29d115['shift']());}catch(_0x2f4d04){_0x29d115['push'](_0x29d115['shift']());}}}(a0_0x3fda,0xb1b29));export class RefactoringAnalyzer{constructor(_0x17c323){this['config']=_0x17c323;}['analyzeClones'](_0x536292){const _0x6533c3=a0_0x4a51;return console[_0x6533c3(0x7a)](_0x6533c3(0x8b)),_0x536292[_0x6533c3(0xa9)]((_0x4217e4,_0x4eb0b2)=>{const _0x31c142=_0x6533c3,_0x179814=this[_0x31c142(0x94)](_0x4217e4),_0x4ac867=this['generateRefactoringAdvice'](_0x4217e4,_0x179814);return{'id':_0x31c142(0x86)+(_0x4eb0b2+0x1),'type':_0x4217e4['type'],'confidence':_0x4217e4['confidence'],'instances':_0x4217e4['blocks']['map'](_0x2ddb69=>({'file':_0x2ddb69['file'],'startLine':_0x2ddb69['startLine'],'endLine':_0x2ddb69[_0x31c142(0xb1)],'code':this['truncateCode'](_0x2ddb69['code']),'fullCode':_0x2ddb69['code'],'blockType':_0x2ddb69['type']})),'metrics':_0x179814,'refactoringAdvice':_0x4ac867};})['sort']((_0x24679b,_0x2a157c)=>_0x2a157c[_0x6533c3(0xb6)]['impactScore']-_0x24679b['metrics']['impactScore']);}[a0_0x10e5cc(0x94)](_0x555386){const _0x48118e=a0_0x10e5cc,_0x29c2c8=_0x555386['blocks'],_0x504e31=_0x555386[_0x48118e(0x7b)],_0x582a8e=this['averageLineCount'](_0x29c2c8),_0x8ab28a=_0x29c2c8['length'],_0xea5e58=this[_0x48118e(0xa5)](_0x504e31,_0x582a8e,_0x8ab28a,_0x555386['confidence']),_0x560335=_0x582a8e*(_0x8ab28a-0x1),_0x4b0250=_0x504e31*(_0x8ab28a-0x1);return{'tokenCount':_0x504e31,'lineCount':_0x582a8e,'instanceCount':_0x8ab28a,'duplicatedLines':_0x560335,'duplicatedTokens':_0x4b0250,'impactScore':parseFloat(_0xea5e58[_0x48118e(0x7e)](0x2)),'filesCovered':new Set(_0x29c2c8[_0x48118e(0xa9)](_0x578c95=>_0x578c95['file']))[_0x48118e(0xaa)]};}['calculateImpactScore'](_0x2f5287,_0x2c9731,_0x46769d,_0x4b180d){const _0x4a1d72=a0_0x10e5cc,_0x1f6a78=Math[_0x4a1d72(0xb0)](_0x2f5287+0x1)*0x2,_0x4cacc0=Math['log2'](_0x46769d+0x1)*0x3,_0x53a8a1=_0x4b180d*0x2,_0x5806d4=Math[_0x4a1d72(0x87)](_0x2c9731/0xa,0x3);return _0x1f6a78+_0x4cacc0+_0x53a8a1+_0x5806d4;}[a0_0x10e5cc(0x84)](_0x483744,_0x27f556){const _0x1af2e6=a0_0x10e5cc,_0xe816d3=this['determineRefactoringStrategy'](_0x483744,_0x27f556),_0x4a3965=this['determinePriority'](_0x27f556),_0x339c61=this[_0x1af2e6(0x9b)](_0x483744),_0x131c25=this['generateReasoning'](_0x483744,_0x27f556,_0xe816d3),_0x24e481=this['estimateEffort'](_0x27f556,_0xe816d3),_0x3378c8=this['describeBenefits'](_0x27f556);return{'priority':_0x4a3965,'strategy':_0xe816d3,'suggestedName':_0x339c61,'reasoning':_0x131c25,'estimatedEffort':_0x24e481,'benefits':_0x3378c8,'actionableSteps':this['generateActionableSteps'](_0xe816d3,_0x339c61,_0x27f556)};}['determineRefactoringStrategy'](_0x2c1a30,_0xd4fd1f){const _0x47670d=a0_0x10e5cc,{tokenCount:_0x13da68,lineCount:_0x289a5d,instanceCount:_0x5f01e6,filesCovered:_0x49f430}=_0xd4fd1f,_0x405cb0=_0x2c1a30['blocks'][_0x47670d(0xa9)](_0x5552ba=>_0x5552ba[_0x47670d(0x93)]),_0x5051e5=_0x405cb0[_0x47670d(0x79)](_0x4f1e03=>_0x4f1e03['includes']('Function')||_0x4f1e03[_0x47670d(0x7d)](_0x47670d(0xaf))),_0x5cace4=_0x405cb0[_0x47670d(0x79)](_0x316b4b=>_0x316b4b['includes']('Class'));if(_0x5cace4&&_0x289a5d>0x32)return'extract-module';else{if(_0x49f430>0x2&&_0x13da68>0x64)return'extract-module';else{if(_0x5051e5||_0x289a5d>=0xa&&_0x289a5d<=0x32)return'extract-function';else{if(_0x289a5d>0x32)return'extract-class';else return _0x289a5d<0xa?'extract-constant-or-utility':_0x47670d(0x8d);}}}}['determinePriority'](_0x260d6f){const _0x389d19=a0_0x10e5cc,{impactScore:_0x2493c8}=_0x260d6f;if(_0x2493c8>=0x8)return'high';if(_0x2493c8>=0x5)return _0x389d19(0x80);return _0x389d19(0x98);}[a0_0x10e5cc(0x9b)](_0xa3064e){const _0x15d2e7=a0_0x10e5cc,_0x212cdc=_0xa3064e[_0x15d2e7(0x9d)][_0x15d2e7(0xa9)](_0x1c581f=>_0x1c581f[_0x15d2e7(0xae)])['join']('\x20'),_0x20f391=_0x212cdc['match'](/[a-zA-Z_$][a-zA-Z0-9_$]*/g)||[],_0x1c6e29={};_0x20f391['forEach'](_0x3ca69e=>{const _0x35d61a=_0x15d2e7;if([_0x35d61a(0xa3),_0x35d61a(0x8c),'var','function','return','if','else',_0x35d61a(0xba),_0x35d61a(0x96)]['includes'](_0x3ca69e))return;_0x1c6e29[_0x3ca69e]=(_0x1c6e29[_0x3ca69e]||0x0)+0x1;});const _0x129afb=Object['entries'](_0x1c6e29)['sort']((_0x35ec16,_0x1e2658)=>_0x1e2658[0x1]-_0x35ec16[0x1])['slice'](0x0,0x3);if(_0x129afb['length']>0x0){const _0x41cef1=_0x129afb[_0x15d2e7(0xa9)](([_0x4360ec])=>_0x4360ec);return this[_0x15d2e7(0xb3)](_0x41cef1);}return'extractedFunction';}[a0_0x10e5cc(0xb3)](_0x11991b){const _0x43d6bb=a0_0x10e5cc;if(_0x11991b['length']===0x0)return'extractedFunction';return _0x11991b[0x0]+_0x11991b[_0x43d6bb(0xb8)](0x1)['map'](_0x35f01c=>_0x35f01c['charAt'](0x0)[_0x43d6bb(0x97)]()+_0x35f01c[_0x43d6bb(0xb8)](0x1))[_0x43d6bb(0x8a)]('');}['generateReasoning'](_0x1622a5,_0x29e532,_0x357b5e){const _0x32b50b=a0_0x10e5cc,{instanceCount:_0x366dc3,duplicatedLines:_0x48e39c,filesCovered:_0x1ec3a2}=_0x29e532;let _0x1afc3a='This\x20'+_0x1622a5['type']+_0x32b50b(0xb7)+_0x366dc3+'\x20times';return _0x1ec3a2>0x1&&(_0x1afc3a+='\x20across\x20'+_0x1ec3a2+'\x20different\x20files'),_0x1afc3a+=_0x32b50b(0xa6)+_0x48e39c+'\x20duplicated\x20lines.\x20',_0x1afc3a+=_0x32b50b(0x95)+_0x357b5e['replace'](/-/g,'\x20')+'\x20would\x20improve\x20maintainability',_0x366dc3>=0x3&&(_0x1afc3a+=', reduce bugs from inconsistent changes'),_0x1afc3a+=_0x32b50b(0x92),_0x29e532['impactScore']>=0x8&&(_0x1afc3a+='.\x20This\x20is\x20a\x20high-impact\x20refactoring\x20opportunity'),_0x1afc3a+'.';}['estimateEffort'](_0x15b9c2,_0x28f3a7){const _0x5a62c1=a0_0x10e5cc,{lineCount:_0xa7a3b4,instanceCount:_0x509f51,filesCovered:_0xdc8bec}=_0x15b9c2;let _0x517dee=0x0;_0x517dee+=Math[_0x5a62c1(0x87)](_0xa7a3b4/0xa,0x5),_0x517dee+=_0x509f51*0.5,_0x517dee+=_0xdc8bec*0.5;if(_0x28f3a7===_0x5a62c1(0x91))_0x517dee+=0x3;else{if(_0x28f3a7==='extract-class')_0x517dee+=0x2;else _0x28f3a7===_0x5a62c1(0x8d)&&(_0x517dee+=0x1);}if(_0x517dee<=0x3)return _0x5a62c1(0x98);if(_0x517dee<=0x7)return'medium';return _0x5a62c1(0xb9);}[a0_0x10e5cc(0x99)](_0x44b14d){const _0x5b18a7=a0_0x10e5cc,_0x20d37a=[];return _0x20d37a['push']('Eliminate\x20'+_0x44b14d[_0x5b18a7(0xa4)]+_0x5b18a7(0xa2)),_0x20d37a[_0x5b18a7(0xab)]('Improve\x20maintainability\x20by\x20centralizing\x20logic\x20in\x20one\x20place'),_0x44b14d['instanceCount']>=0x3&&_0x20d37a['push']('Reduce\x20risk\x20of\x20inconsistent\x20changes\x20across\x20'+_0x44b14d[_0x5b18a7(0x82)]+_0x5b18a7(0xa0)),_0x44b14d['filesCovered']>0x2&&_0x20d37a['push']('Improve\x20code\x20organization\x20across\x20'+_0x44b14d['filesCovered']+_0x5b18a7(0x9e)),_0x20d37a['push']('Make\x20future\x20changes\x20easier\x20and\x20less\x20error-prone'),_0x20d37a;}['generateActionableSteps'](_0x180a48,_0x16ace4,_0x4ee78f){const _0x192347=a0_0x10e5cc,_0x30b3e8=[];switch(_0x180a48){case _0x192347(0x8d):_0x30b3e8[_0x192347(0xab)]('1.\x20Create\x20a\x20new\x20function\x20named\x20\x27'+_0x16ace4+'\x27'),_0x30b3e8['push'](_0x192347(0x7f)),_0x30b3e8[_0x192347(0xab)]('3. Identify parameters needed from the surrounding context'),_0x30b3e8[_0x192347(0xab)]('4.\x20Replace\x20all\x20instances\x20with\x20calls\x20to\x20the\x20new\x20function'),_0x30b3e8['push'](_0x192347(0x7c));break;case _0x192347(0x89):_0x30b3e8['push']('1.\x20Create\x20a\x20new\x20class\x20to\x20encapsulate\x20this\x20functionality'),_0x30b3e8['push'](_0x192347(0xa1)),_0x30b3e8[_0x192347(0xab)]('3.\x20Update\x20all\x20instances\x20to\x20use\x20the\x20new\x20class'),_0x30b3e8['push']('4.\x20Consider\x20dependency\x20injection\x20for\x20better\x20testability');break;case'extract-module':_0x30b3e8[_0x192347(0xab)]('1.\x20Create\x20a\x20new\x20module/file\x20for\x20this\x20shared\x20functionality'),_0x30b3e8['push'](_0x192347(0xad)),_0x30b3e8[_0x192347(0xab)]('3.\x20Export\x20the\x20necessary\x20functions/classes'),_0x30b3e8['push']('4. Update all files to import from the new module'),_0x30b3e8[_0x192347(0xab)]('5.\x20Update\x20any\x20build\x20configurations\x20if\x20needed');break;default:_0x30b3e8[_0x192347(0xab)]('1.\x20Extract\x20the\x20duplicated\x20code\x20using\x20'+_0x180a48['replace'](/-/g,'\x20')),_0x30b3e8['push']('2.\x20Replace\x20all\x20instances\x20with\x20the\x20extracted\x20version'),_0x30b3e8[_0x192347(0xab)](_0x192347(0xb2));}return _0x30b3e8;}[a0_0x10e5cc(0x81)](_0x103770,_0x298e84=0xa){const _0x19f8aa=a0_0x10e5cc,_0x1514e1=_0x103770[_0x19f8aa(0x83)]('\x0a');if(_0x1514e1['length']<=_0x298e84)return _0x103770;return _0x1514e1['slice'](0x0,_0x298e84)['join']('\x0a')+'\x0a...\x20(truncated)';}['averageLineCount'](_0x490879){const _0xcfc3a5=a0_0x10e5cc,_0x4fe602=_0x490879[_0xcfc3a5(0x8e)]((_0x4a4fa9,_0x3002b6)=>_0x4a4fa9+(_0x3002b6[_0xcfc3a5(0xb1)]-_0x3002b6[_0xcfc3a5(0x88)]+0x1),0x0);return Math[_0xcfc3a5(0x9c)](_0x4fe602/_0x490879[_0xcfc3a5(0xa7)]);}}function a0_0x4a51(_0x420adb,_0x2f4131){_0x420adb=_0x420adb-0x79;const _0x3fda76=a0_0x3fda();let _0x4a514d=_0x3fda76[_0x420adb];if(a0_0x4a51['BlMegA']===undefined){var _0x3aa073=function(_0x3bcea9){const _0x25d175='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x17c323='',_0x536292='';for(let _0x4217e4=0x0,_0x4eb0b2,_0x179814,_0x4ac867=0x0;_0x179814=_0x3bcea9['charAt'](_0x4ac867++);~_0x179814&&(_0x4eb0b2=_0x4217e4%0x4?_0x4eb0b2*0x40+_0x179814:_0x179814,_0x4217e4++%0x4)?_0x17c323+=String['fromCharCode'](0xff&_0x4eb0b2>>(-0x2*_0x4217e4&0x6)):0x0){_0x179814=_0x25d175['indexOf'](_0x179814);}for(let _0x2ddb69=0x0,_0x24679b=_0x17c323['length'];_0x2ddb69<_0x24679b;_0x2ddb69++){_0x536292+='%'+('00'+_0x17c323['charCodeAt'](_0x2ddb69)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x536292);};a0_0x4a51['gZmyrR']=_0x3aa073,a0_0x4a51['YcJYJB']={},a0_0x4a51['BlMegA']=!![];}const _0x3344b2=_0x3fda76[0x0],_0x1ab01f=_0x420adb+_0x3344b2,_0x3eadf3=a0_0x4a51['YcJYJB'][_0x1ab01f];return!_0x3eadf3?(_0x4a514d=a0_0x4a51['gZmyrR'](_0x4a514d),a0_0x4a51['YcJYJB'][_0x1ab01f]=_0x4a514d):_0x4a514d=_0x3eadf3,_0x4a514d;}function a0_0x3fda(){const _0x121a3b=['Dg9Rzw5dB3vUDa','ns4GvgvZDcb0BYbLBNn1CMuGyMvOyxzPB3iGAxmGChjLC2vYDMvK','Aw5JBhvKzxm','Dg9gAxHLza','mI4Gtw92zsb0AguGzhvWBgLJyxrLzcbSB2DPyYbPBNrVihrOAxmGzNvUy3rPB24','BwvKAxvT','Dhj1BMnHDgvdB2rL','Aw5ZDgfUy2vdB3vUDa','C3bSAxq','z2vUzxjHDgvszwzHy3rVCMLUz0fKDMLJzq','mtiWquDhBfzi','y2XVBMuT','BwLU','C3rHCNrmAw5L','zxH0CMfJDc1JBgfZCW','AM9PBG','qw5HBhL6Aw5NignSB25LCYbMB3iGCMvMywn0B3jPBMCGB3bWB3j0Dw5PDgLLCY4UlG','Bgv0','zxH0CMfJDc1MDw5JDgLVBG','CMvKDwnL','mJK2mJK1vgX6B0nX','ndmZnZCZmLvAwvvQDa','zxH0CMfJDc1TB2r1Bgu','lcbHBMqGCMvKDwnLignVzguGC2L6zq','DhLWzq','y2fSy3vSyxrLtwv0CMLJCW','uMvMywn0B3jPBMCGDg8G','D2HPBgu','Dg9vChbLCKnHC2u','Bg93','zgvZy3jPyMvczw5LzML0CW','nZq5ntKYogTlBMLbEq','C3vNz2vZDe5HBwu','CM91BMq','yMXVy2TZ','igzPBgvZ','ndi1mJuWneXHzeTfsa','igXVy2f0Aw9UCW','mI4Gtw92zsbYzwXHDgvKig1LDgHVzhmGyw5KihbYB3bLCNrPzxmGAw50BYb0AguGy2XHC3m','igr1CgXPy2f0zwqGBgLUzxmGB2yGy29Kzq','y29UC3q','zhvWBgLJyxrLzeXPBMvZ','y2fSy3vSyxrLsw1Wywn0u2nVCMu','lcbYzxn1BhrPBMCGAw4G','BgvUz3rO','ntG5ntm5BxDWCezV','BwfW','C2L6zq','ChvZAa','oduZnZfdzLrSuNy','mI4Gtw92zsb0AguGzhvWBgLJyxrLzcbJB2rLigLUDg8GDgHLig5LDYbTB2r1Bgu','y29Kzq','twv0Ag9K','Bg9Nmta','zw5KtgLUzq','mY4GvgvZDcb0Ag9YB3vNAgX5','y3jLyxrLrNvUy3rPB25oyw1L','mJiYndm4nZHSzMPxAKu','ndzcsNvzDue','Bwv0CMLJCW','ignVzguGCgf0DgvYBIbHChbLyxjZia','C2XPy2u','AgLNAa','zM9Y','C29Tzq','Bg9N'];a0_0x3fda=function(){return _0x121a3b;};return a0_0x3fda();}
@@ -1 +1 @@
1
- const a0_0x35c306=a0_0x3994;function a0_0x3994(_0x1ea599,_0x3a597e){_0x1ea599=_0x1ea599-0x78;const _0xbc4476=a0_0xbc44();let _0x399419=_0xbc4476[_0x1ea599];if(a0_0x3994['XxXbUa']===undefined){var _0x5c8dd1=function(_0x4ec2d1){const _0xf423ef='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x466968='',_0x1775db='';for(let _0x5e5d96=0x0,_0x493014,_0x5541b6,_0x486f79=0x0;_0x5541b6=_0x4ec2d1['charAt'](_0x486f79++);~_0x5541b6&&(_0x493014=_0x5e5d96%0x4?_0x493014*0x40+_0x5541b6:_0x5541b6,_0x5e5d96++%0x4)?_0x466968+=String['fromCharCode'](0xff&_0x493014>>(-0x2*_0x5e5d96&0x6)):0x0){_0x5541b6=_0xf423ef['indexOf'](_0x5541b6);}for(let _0x2050ae=0x0,_0x224b63=_0x466968['length'];_0x2050ae<_0x224b63;_0x2050ae++){_0x1775db+='%'+('00'+_0x466968['charCodeAt'](_0x2050ae)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1775db);};a0_0x3994['RwOmJh']=_0x5c8dd1,a0_0x3994['jGEkJx']={},a0_0x3994['XxXbUa']=!![];}const _0x32366f=_0xbc4476[0x0],_0x4496d5=_0x1ea599+_0x32366f,_0x1bde65=a0_0x3994['jGEkJx'][_0x4496d5];return!_0x1bde65?(_0x399419=a0_0x3994['RwOmJh'](_0x399419),a0_0x3994['jGEkJx'][_0x4496d5]=_0x399419):_0x399419=_0x1bde65,_0x399419;}(function(_0x2ca522,_0x1b5773){const _0x2ed136=a0_0x3994,_0x4f783b=_0x2ca522();while(!![]){try{const _0x4c4654=parseInt(_0x2ed136(0x7d))/0x1+parseInt(_0x2ed136(0x8f))/0x2+-parseInt(_0x2ed136(0x81))/0x3+parseInt(_0x2ed136(0x97))/0x4+parseInt(_0x2ed136(0x98))/0x5+parseInt(_0x2ed136(0x89))/0x6*(-parseInt(_0x2ed136(0x90))/0x7)+-parseInt(_0x2ed136(0x95))/0x8*(parseInt(_0x2ed136(0x7f))/0x9);if(_0x4c4654===_0x1b5773)break;else _0x4f783b['push'](_0x4f783b['shift']());}catch(_0x1990e0){_0x4f783b['push'](_0x4f783b['shift']());}}}(a0_0xbc44,0xd3f5d));export class CloneDetector{constructor(_0x466968,_0x1775db){const _0x374af1=a0_0x3994;this['config']=_0x466968,this[_0x374af1(0x93)]=_0x1775db;}['detectClones'](_0x5e5d96){const _0x7a16a8=a0_0x3994;console['log']('Detecting\x20clones...');const _0x493014=[],_0x5541b6=[];for(const _0x224b63 of _0x5e5d96){_0x5541b6[_0x7a16a8(0x83)](..._0x224b63['blocks']);}console['log']('Analyzing\x20'+_0x5541b6[_0x7a16a8(0x91)]+_0x7a16a8(0x8a));const _0x486f79=this[_0x7a16a8(0x87)](_0x5541b6);for(const [_0x1adf6c,_0x1daa2f]of Object[_0x7a16a8(0x86)](_0x486f79)){_0x1daa2f[_0x7a16a8(0x91)]>0x1&&_0x493014[_0x7a16a8(0x83)]({'type':'exact','confidence':0x1,'blocks':_0x1daa2f,'tokenCount':_0x1daa2f[0x0][_0x7a16a8(0x7c)]['length']});}const _0x2050ae=this[_0x7a16a8(0x96)](_0x5541b6);return _0x493014[_0x7a16a8(0x83)](..._0x2050ae),console[_0x7a16a8(0x82)](_0x7a16a8(0x84)+_0x493014[_0x7a16a8(0x91)]+_0x7a16a8(0x94)),_0x493014;}['groupByHash'](_0x5ebe63){const _0xf40e2d=a0_0x3994,_0x5d13dd={};for(const _0x24423f of _0x5ebe63){if(_0x24423f[_0xf40e2d(0x7c)][_0xf40e2d(0x91)]<this[_0xf40e2d(0x8b)][_0xf40e2d(0x85)])continue;!_0x5d13dd[_0x24423f['hash']]&&(_0x5d13dd[_0x24423f['hash']]=[]),_0x5d13dd[_0x24423f['hash']][_0xf40e2d(0x83)](_0x24423f);}return _0x5d13dd;}['findSimilarClones'](_0x2bb13d){const _0x250963=a0_0x3994,_0x38e7a3=[],processed=new Set(),_0x3ba4d0=_0x2bb13d['filter'](_0x41ecff=>_0x41ecff[_0x250963(0x7c)]['length']>=this[_0x250963(0x8b)][_0x250963(0x85)]);for(let _0x4ad04d=0x0;_0x4ad04d<_0x3ba4d0[_0x250963(0x91)];_0x4ad04d++){const _0x5599d0=_0x3ba4d0[_0x4ad04d],_0x395c93=[_0x5599d0];if(processed['has'](_0x5599d0['id']))continue;for(let _0x16465c=_0x4ad04d+0x1;_0x16465c<_0x3ba4d0[_0x250963(0x91)];_0x16465c++){const _0x490717=_0x3ba4d0[_0x16465c];if(processed[_0x250963(0x8d)](_0x490717['id']))continue;if(_0x5599d0['hash']===_0x490717[_0x250963(0x7a)])continue;const _0x14f1e7=this[_0x250963(0x79)](_0x5599d0,_0x490717);_0x14f1e7>=this[_0x250963(0x8b)]['similarityThreshold']&&(_0x395c93['push'](_0x490717),processed[_0x250963(0x78)](_0x490717['id']));}_0x395c93[_0x250963(0x91)]>0x1&&(processed[_0x250963(0x78)](_0x5599d0['id']),_0x38e7a3['push']({'type':_0x250963(0x80),'confidence':this[_0x250963(0x8c)](_0x395c93),'blocks':_0x395c93,'tokenCount':Math[_0x250963(0x8e)](..._0x395c93[_0x250963(0x88)](_0x2362fc=>_0x2362fc['tokens']['length']))}));}return _0x38e7a3;}['calculateBlockSimilarity'](_0x124b17,_0x2c233a){const _0x277702=a0_0x3994,_0x38f5d8=_0x124b17[_0x277702(0x7c)],_0x3257dc=_0x2c233a[_0x277702(0x7c)],_0x15f556=Math[_0x277702(0x7b)](_0x38f5d8['length'],_0x3257dc[_0x277702(0x91)])/Math['max'](_0x38f5d8['length'],_0x3257dc[_0x277702(0x91)]);if(_0x15f556<0.7)return 0x0;const _0x1db334=this[_0x277702(0x7e)](_0x38f5d8,_0x3257dc),_0x22de4b=0x2*_0x1db334/(_0x38f5d8[_0x277702(0x91)]+_0x3257dc['length']);return _0x22de4b;}[a0_0x35c306(0x7e)](_0x28f9bf,_0x399667){const _0x29a449=a0_0x35c306,_0x25cb08=_0x28f9bf[_0x29a449(0x91)],_0x4f4548=_0x399667['length'];if(_0x25cb08*_0x4f4548>0x186a0)return this['approximateLCS'](_0x28f9bf,_0x399667);const _0x560fa4=Array(_0x25cb08+0x1)['fill'](0x0)[_0x29a449(0x88)](()=>Array(_0x4f4548+0x1)[_0x29a449(0x92)](0x0));for(let _0x4f28c8=0x1;_0x4f28c8<=_0x25cb08;_0x4f28c8++){for(let _0x40bd99=0x1;_0x40bd99<=_0x4f4548;_0x40bd99++){_0x28f9bf[_0x4f28c8-0x1]===_0x399667[_0x40bd99-0x1]?_0x560fa4[_0x4f28c8][_0x40bd99]=_0x560fa4[_0x4f28c8-0x1][_0x40bd99-0x1]+0x1:_0x560fa4[_0x4f28c8][_0x40bd99]=Math[_0x29a449(0x8e)](_0x560fa4[_0x4f28c8-0x1][_0x40bd99],_0x560fa4[_0x4f28c8][_0x40bd99-0x1]);}}return _0x560fa4[_0x25cb08][_0x4f4548];}['approximateLCS'](_0x19666d,_0x39a3a5){const _0x286f67=a0_0x35c306,_0x583fa4=0x64;let _0x1456e3=0x0;for(let _0x33383e=0x0;_0x33383e<_0x19666d[_0x286f67(0x91)];_0x33383e+=_0x583fa4){const _0x1c1b6a=_0x19666d['slice'](_0x33383e,_0x33383e+_0x583fa4),_0x108e67=new Set(_0x39a3a5['slice'](Math[_0x286f67(0x8e)](0x0,_0x33383e-_0x583fa4),_0x33383e+_0x583fa4*0x2));_0x1456e3+=_0x1c1b6a['filter'](_0x2ff404=>_0x108e67['has'](_0x2ff404))[_0x286f67(0x91)];}return _0x1456e3;}['calculateGroupConfidence'](_0x542332){const _0x237fb9=a0_0x35c306;if(_0x542332[_0x237fb9(0x91)]===0x0)return 0x0;let _0xf156b9=0x0,_0x22ef88=0x0;for(let _0xba146f=0x0;_0xba146f<_0x542332[_0x237fb9(0x91)];_0xba146f++){for(let _0x40e17f=_0xba146f+0x1;_0x40e17f<_0x542332[_0x237fb9(0x91)];_0x40e17f++){_0xf156b9+=this['calculateBlockSimilarity'](_0x542332[_0xba146f],_0x542332[_0x40e17f]),_0x22ef88++;}}return _0x22ef88>0x0?_0xf156b9/_0x22ef88:0x0;}}function a0_0xbc44(){const _0x535767=['zMLSBa','CgfYC2vY','ignSB25LigDYB3vWCW','mZyWntziA0DgqxK','zMLUzfnPBwLSyxjdBg9Uzxm','mJu5mte2ofHrEfzurG','ode4nZiZnwXptMDWCa','ywrK','y2fSy3vSyxrLqMXVy2TtAw1PBgfYAxr5','AgfZAa','BwLU','Dg9Rzw5Z','nZKXmdeYB3DIwuvp','Bg9Uz2vZDenVBw1VBLn1yNnLCxvLBMnL','mJaZnhL0uMLmra','C2LTAwXHCG','mZyXnZmYogTVANLuCa','Bg9N','ChvZAa','rM91BMqG','BwLUvg9Rzw5Z','zw50CMLLCW','z3jVDxbcEuHHC2G','BwfW','mtu2v21Qu1zy','ignVzguGyMXVy2TZ','y29UzMLN','y2fSy3vSyxrLr3jVDxbdB25MAwrLBMnL','AgfZ','Bwf4','mZa5ntK2y2jSvfbp','mZCYodLIB2jsyuu','BgvUz3rO'];a0_0xbc44=function(){return _0x535767;};return a0_0xbc44();}
1
+ function a0_0x4980(_0x3e4579,_0x2a81f3){_0x3e4579=_0x3e4579-0x179;const _0x652172=a0_0x6521();let _0x49800b=_0x652172[_0x3e4579];if(a0_0x4980['JCiPQG']===undefined){var _0x192fed=function(_0x122b36){const _0x1c141d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1fee35='',_0x278818='';for(let _0x54ddb5=0x0,_0xe16b40,_0x52dde9,_0x80ca36=0x0;_0x52dde9=_0x122b36['charAt'](_0x80ca36++);~_0x52dde9&&(_0xe16b40=_0x54ddb5%0x4?_0xe16b40*0x40+_0x52dde9:_0x52dde9,_0x54ddb5++%0x4)?_0x1fee35+=String['fromCharCode'](0xff&_0xe16b40>>(-0x2*_0x54ddb5&0x6)):0x0){_0x52dde9=_0x1c141d['indexOf'](_0x52dde9);}for(let _0x48baa1=0x0,_0x1d86ee=_0x1fee35['length'];_0x48baa1<_0x1d86ee;_0x48baa1++){_0x278818+='%'+('00'+_0x1fee35['charCodeAt'](_0x48baa1)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x278818);};a0_0x4980['GuRBHe']=_0x192fed,a0_0x4980['dZrTSC']={},a0_0x4980['JCiPQG']=!![];}const _0x39efa4=_0x652172[0x0],_0x16058b=_0x3e4579+_0x39efa4,_0x5cf983=a0_0x4980['dZrTSC'][_0x16058b];return!_0x5cf983?(_0x49800b=a0_0x4980['GuRBHe'](_0x49800b),a0_0x4980['dZrTSC'][_0x16058b]=_0x49800b):_0x49800b=_0x5cf983,_0x49800b;}function a0_0x6521(){const _0x3ec1bf=['ywrK','ignSB25LigDYB3vWCW','odC4DNDWsxrk','mteZndrKBxjru0u','Dg9Rzw5Z','rgv0zwn0Aw5NignSB25LCY4UlG','y2fSy3vSyxrLr3jVDxbdB25MAwrLBMnL','yMXVy2TZ','mJe4oeL1rxvOvq','nJy2v0vTtfnK','C2XPy2u','Bg9N','mtiYwNz1swn3','mZeXntm4mfbjuuTLEq','mJm2mvHNEKnpsa','BwLU','AgfZ','Bwf4','qw5HBhL6Aw5Nia','BwLUvg9Rzw5Z','mtb5DeXTwxG','BwfW','mJy1mZK4mgPUDfDAAa','ChvZAa','BgvUz3rO','zMLSDgvY','C2LTAwXHCG','AgfZAa','mte0mZa4ntLttKjyzxy','mZa4mdC3n0Htrwzssa'];a0_0x6521=function(){return _0x3ec1bf;};return a0_0x6521();}const a0_0x1d9e77=a0_0x4980;(function(_0x1e9d21,_0x50a19f){const _0x496d4f=a0_0x4980,_0x5a7f15=_0x1e9d21();while(!![]){try{const _0x5dc0b4=parseInt(_0x496d4f(0x179))/0x1*(parseInt(_0x496d4f(0x18d))/0x2)+-parseInt(_0x496d4f(0x17b))/0x3*(parseInt(_0x496d4f(0x193))/0x4)+-parseInt(_0x496d4f(0x183))/0x5+parseInt(_0x496d4f(0x17a))/0x6+-parseInt(_0x496d4f(0x18a))/0x7+parseInt(_0x496d4f(0x18e))/0x8*(parseInt(_0x496d4f(0x194))/0x9)+parseInt(_0x496d4f(0x181))/0xa*(parseInt(_0x496d4f(0x189))/0xb);if(_0x5dc0b4===_0x50a19f)break;else _0x5a7f15['push'](_0x5a7f15['shift']());}catch(_0x98ccd8){_0x5a7f15['push'](_0x5a7f15['shift']());}}}(a0_0x6521,0x4d065));export class CloneDetector{constructor(_0x1fee35,_0x278818){this['config']=_0x1fee35,this['parser']=_0x278818;}['detectClones'](_0x54ddb5){const _0x6c900c=a0_0x4980;console[_0x6c900c(0x196)](_0x6c900c(0x190));const _0xe16b40=[],_0x52dde9=[];for(const _0x1d86ee of _0x54ddb5){_0x52dde9[_0x6c900c(0x184)](..._0x1d86ee[_0x6c900c(0x192)]);}console['log'](_0x6c900c(0x17f)+_0x52dde9['length']+'\x20code\x20blocks');const _0x80ca36=this['groupByHash'](_0x52dde9);for(const [_0x4a75cb,_0x82fd7]of Object['entries'](_0x80ca36)){_0x82fd7[_0x6c900c(0x185)]>0x1&&_0xe16b40[_0x6c900c(0x184)]({'type':'exact','confidence':0x1,'blocks':_0x82fd7,'tokenCount':_0x82fd7[0x0][_0x6c900c(0x18f)]['length']});}const _0x48baa1=this['findSimilarClones'](_0x52dde9);return _0xe16b40['push'](..._0x48baa1),console[_0x6c900c(0x196)]('Found\x20'+_0xe16b40['length']+_0x6c900c(0x18c)),_0xe16b40;}['groupByHash'](_0x2cf81c){const _0xef28d5=a0_0x4980,_0x564875={};for(const _0x2fbfd6 of _0x2cf81c){if(_0x2fbfd6['tokens'][_0xef28d5(0x185)]<this['config'][_0xef28d5(0x180)])continue;!_0x564875[_0x2fbfd6['hash']]&&(_0x564875[_0x2fbfd6[_0xef28d5(0x188)]]=[]),_0x564875[_0x2fbfd6[_0xef28d5(0x188)]]['push'](_0x2fbfd6);}return _0x564875;}['findSimilarClones'](_0x394adb){const _0xf79c7b=a0_0x4980,_0x3c6657=[],processed=new Set(),_0x258609=_0x394adb[_0xf79c7b(0x186)](_0x49a235=>_0x49a235['tokens']['length']>=this['config'][_0xf79c7b(0x180)]);for(let _0x1bada1=0x0;_0x1bada1<_0x258609[_0xf79c7b(0x185)];_0x1bada1++){const _0x11620f=_0x258609[_0x1bada1],_0x1900a1=[_0x11620f];if(processed[_0xf79c7b(0x17d)](_0x11620f['id']))continue;for(let _0x7bba9f=_0x1bada1+0x1;_0x7bba9f<_0x258609['length'];_0x7bba9f++){const _0x54ec8d=_0x258609[_0x7bba9f];if(processed[_0xf79c7b(0x17d)](_0x54ec8d['id']))continue;if(_0x11620f['hash']===_0x54ec8d['hash'])continue;const _0x4974d6=this['calculateBlockSimilarity'](_0x11620f,_0x54ec8d);_0x4974d6>=this['config']['similarityThreshold']&&(_0x1900a1[_0xf79c7b(0x184)](_0x54ec8d),processed['add'](_0x54ec8d['id']));}_0x1900a1['length']>0x1&&(processed[_0xf79c7b(0x18b)](_0x11620f['id']),_0x3c6657[_0xf79c7b(0x184)]({'type':_0xf79c7b(0x187),'confidence':this[_0xf79c7b(0x191)](_0x1900a1),'blocks':_0x1900a1,'tokenCount':Math['max'](..._0x1900a1[_0xf79c7b(0x182)](_0x2f1991=>_0x2f1991[_0xf79c7b(0x18f)]['length']))}));}return _0x3c6657;}['calculateBlockSimilarity'](_0x275229,_0xbb6466){const _0x34eb95=a0_0x4980,_0x476d4a=_0x275229['tokens'],_0xf38f43=_0xbb6466[_0x34eb95(0x18f)],_0x1c646a=Math[_0x34eb95(0x17c)](_0x476d4a[_0x34eb95(0x185)],_0xf38f43[_0x34eb95(0x185)])/Math[_0x34eb95(0x17e)](_0x476d4a[_0x34eb95(0x185)],_0xf38f43['length']);if(_0x1c646a<0.7)return 0x0;const _0xfe2406=this['longestCommonSubsequence'](_0x476d4a,_0xf38f43),_0x1ed0fe=0x2*_0xfe2406/(_0x476d4a['length']+_0xf38f43[_0x34eb95(0x185)]);return _0x1ed0fe;}['longestCommonSubsequence'](_0x4baede,_0x518bed){const _0x1cf24a=a0_0x4980,_0x1c13e9=_0x4baede['length'],_0x2e5bf2=_0x518bed['length'];if(_0x1c13e9*_0x2e5bf2>0x186a0)return this['approximateLCS'](_0x4baede,_0x518bed);const _0x17830b=Array(_0x1c13e9+0x1)['fill'](0x0)[_0x1cf24a(0x182)](()=>Array(_0x2e5bf2+0x1)['fill'](0x0));for(let _0x3d02d0=0x1;_0x3d02d0<=_0x1c13e9;_0x3d02d0++){for(let _0x5e7a7d=0x1;_0x5e7a7d<=_0x2e5bf2;_0x5e7a7d++){_0x4baede[_0x3d02d0-0x1]===_0x518bed[_0x5e7a7d-0x1]?_0x17830b[_0x3d02d0][_0x5e7a7d]=_0x17830b[_0x3d02d0-0x1][_0x5e7a7d-0x1]+0x1:_0x17830b[_0x3d02d0][_0x5e7a7d]=Math['max'](_0x17830b[_0x3d02d0-0x1][_0x5e7a7d],_0x17830b[_0x3d02d0][_0x5e7a7d-0x1]);}}return _0x17830b[_0x1c13e9][_0x2e5bf2];}['approximateLCS'](_0x5e82d4,_0x43403e){const _0x2569fb=a0_0x4980,_0x1c06f4=0x64;let _0x31caf3=0x0;for(let _0x44810f=0x0;_0x44810f<_0x5e82d4['length'];_0x44810f+=_0x1c06f4){const _0x3de6c1=_0x5e82d4[_0x2569fb(0x195)](_0x44810f,_0x44810f+_0x1c06f4),_0x1c3bf5=new Set(_0x43403e['slice'](Math[_0x2569fb(0x17e)](0x0,_0x44810f-_0x1c06f4),_0x44810f+_0x1c06f4*0x2));_0x31caf3+=_0x3de6c1[_0x2569fb(0x186)](_0x398653=>_0x1c3bf5['has'](_0x398653))['length'];}return _0x31caf3;}[a0_0x1d9e77(0x191)](_0x4c4408){const _0x5495d5=a0_0x1d9e77;if(_0x4c4408[_0x5495d5(0x185)]===0x0)return 0x0;let _0x710c38=0x0,_0x5d6fd1=0x0;for(let _0x5d3f54=0x0;_0x5d3f54<_0x4c4408[_0x5495d5(0x185)];_0x5d3f54++){for(let _0x4afa7d=_0x5d3f54+0x1;_0x4afa7d<_0x4c4408['length'];_0x4afa7d++){_0x710c38+=this['calculateBlockSimilarity'](_0x4c4408[_0x5d3f54],_0x4c4408[_0x4afa7d]),_0x5d6fd1++;}}return _0x5d6fd1>0x0?_0x710c38/_0x5d6fd1:0x0;}}