@loxia-labs/loxia-autopilot-one 1.0.15 → 1.0.17

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 (122) hide show
  1. package/README.md +2 -2
  2. package/bin/cli.js +1 -1
  3. package/bin/loxia-terminal-v2.js +1 -1
  4. package/bin/loxia-terminal.js +1 -1
  5. package/bin/start-with-terminal.js +1 -1
  6. package/package.json +1 -1
  7. package/scripts/install-scanners.js +1 -1
  8. package/src/analyzers/CSSAnalyzer.js +1 -1
  9. package/src/analyzers/ConfigValidator.js +1 -1
  10. package/src/analyzers/ESLintAnalyzer.js +1 -1
  11. package/src/analyzers/JavaScriptAnalyzer.js +1 -1
  12. package/src/analyzers/PrettierFormatter.js +1 -1
  13. package/src/analyzers/PythonAnalyzer.js +1 -1
  14. package/src/analyzers/SecurityAnalyzer.js +1 -1
  15. package/src/analyzers/TypeScriptAnalyzer.js +1 -1
  16. package/src/analyzers/codeCloneDetector/analyzer.js +1 -1
  17. package/src/analyzers/codeCloneDetector/detector.js +1 -1
  18. package/src/analyzers/codeCloneDetector/index.js +1 -1
  19. package/src/analyzers/codeCloneDetector/parser.js +1 -1
  20. package/src/analyzers/codeCloneDetector/reporter.js +1 -1
  21. package/src/analyzers/codeCloneDetector/scanner.js +1 -1
  22. package/src/core/agentPool.js +1 -1
  23. package/src/core/agentScheduler.js +1 -1
  24. package/src/core/contextManager.js +1 -1
  25. package/src/core/messageProcessor.js +1 -1
  26. package/src/core/orchestrator.js +1 -1
  27. package/src/core/stateManager.js +1 -1
  28. package/src/index.js +1 -1
  29. package/src/interfaces/cli.js +1 -1
  30. package/src/interfaces/terminal/__tests__/smoke/advancedFeatures.test.js +1 -1
  31. package/src/interfaces/terminal/__tests__/smoke/agentControl.test.js +1 -1
  32. package/src/interfaces/terminal/__tests__/smoke/agents.test.js +1 -1
  33. package/src/interfaces/terminal/__tests__/smoke/components.test.js +1 -1
  34. package/src/interfaces/terminal/__tests__/smoke/connection.test.js +1 -1
  35. package/src/interfaces/terminal/__tests__/smoke/enhancements.test.js +1 -1
  36. package/src/interfaces/terminal/__tests__/smoke/imports.test.js +1 -1
  37. package/src/interfaces/terminal/__tests__/smoke/messages.test.js +1 -1
  38. package/src/interfaces/terminal/__tests__/smoke/tools.test.js +1 -1
  39. package/src/interfaces/terminal/api/apiClient.js +1 -1
  40. package/src/interfaces/terminal/api/messageRouter.js +1 -1
  41. package/src/interfaces/terminal/api/session.js +1 -1
  42. package/src/interfaces/terminal/api/websocket.js +1 -1
  43. package/src/interfaces/terminal/components/AgentCreator.js +1 -1
  44. package/src/interfaces/terminal/components/AgentEditor.js +1 -1
  45. package/src/interfaces/terminal/components/AgentSwitcher.js +1 -1
  46. package/src/interfaces/terminal/components/ErrorBoundary.js +1 -1
  47. package/src/interfaces/terminal/components/ErrorPanel.js +1 -1
  48. package/src/interfaces/terminal/components/Header.js +1 -1
  49. package/src/interfaces/terminal/components/HelpPanel.js +1 -1
  50. package/src/interfaces/terminal/components/InputBox.js +1 -1
  51. package/src/interfaces/terminal/components/Layout.js +1 -1
  52. package/src/interfaces/terminal/components/LoadingSpinner.js +1 -1
  53. package/src/interfaces/terminal/components/MessageList.js +1 -1
  54. package/src/interfaces/terminal/components/MultilineTextInput.js +1 -1
  55. package/src/interfaces/terminal/components/SearchPanel.js +1 -1
  56. package/src/interfaces/terminal/components/SettingsPanel.js +1 -1
  57. package/src/interfaces/terminal/components/StatusBar.js +1 -1
  58. package/src/interfaces/terminal/components/TextInput.js +1 -1
  59. package/src/interfaces/terminal/config/agentEditorConstants.js +1 -1
  60. package/src/interfaces/terminal/config/constants.js +1 -1
  61. package/src/interfaces/terminal/index.js +1 -1
  62. package/src/interfaces/terminal/state/useAgentControl.js +1 -1
  63. package/src/interfaces/terminal/state/useAgents.js +1 -1
  64. package/src/interfaces/terminal/state/useConnection.js +1 -1
  65. package/src/interfaces/terminal/state/useMessages.js +1 -1
  66. package/src/interfaces/terminal/state/useTools.js +1 -1
  67. package/src/interfaces/terminal/utils/debugLogger.js +1 -1
  68. package/src/interfaces/terminal/utils/settingsStorage.js +1 -1
  69. package/src/interfaces/terminal/utils/theme.js +1 -1
  70. package/src/interfaces/webServer.js +1 -1
  71. package/src/modules/fileExplorer/controller.js +1 -1
  72. package/src/modules/fileExplorer/index.js +1 -1
  73. package/src/modules/fileExplorer/middleware.js +1 -1
  74. package/src/modules/fileExplorer/routes.js +1 -1
  75. package/src/services/agentActivityService.js +1 -1
  76. package/src/services/aiService.js +1 -1
  77. package/src/services/apiKeyManager.js +1 -1
  78. package/src/services/benchmarkService.js +1 -1
  79. package/src/services/budgetService.js +1 -1
  80. package/src/services/contextInjectionService.js +1 -1
  81. package/src/services/conversationCompactionService.js +1 -1
  82. package/src/services/errorHandler.js +1 -1
  83. package/src/services/fileAttachmentService.js +1 -1
  84. package/src/services/modelRouterService.js +1 -1
  85. package/src/services/modelsService.js +1 -1
  86. package/src/services/qualityInspector.js +1 -1
  87. package/src/services/tokenCountingService.js +1 -1
  88. package/src/tools/agentCommunicationTool.js +1 -1
  89. package/src/tools/agentDelayTool.js +1 -1
  90. package/src/tools/asyncToolManager.js +1 -1
  91. package/src/tools/baseTool.js +1 -1
  92. package/src/tools/browserTool.js +1 -1
  93. package/src/tools/cloneDetectionTool.js +1 -1
  94. package/src/tools/dependencyResolverTool.js +1 -1
  95. package/src/tools/fileContentReplaceTool.js +1 -1
  96. package/src/tools/fileSystemTool.js +1 -1
  97. package/src/tools/fileTreeTool.js +1 -1
  98. package/src/tools/imageTool.js +1 -1
  99. package/src/tools/importAnalyzerTool.js +1 -1
  100. package/src/tools/jobDoneTool.js +1 -1
  101. package/src/tools/seekTool.js +1 -1
  102. package/src/tools/staticAnalysisTool.js +1 -1
  103. package/src/tools/taskManagerTool.js +1 -1
  104. package/src/tools/terminalTool.js +1 -1
  105. package/src/tools/webTool.js +1 -1
  106. package/src/types/agent.js +1 -1
  107. package/src/types/contextReference.js +1 -1
  108. package/src/types/conversation.js +1 -1
  109. package/src/types/toolCommand.js +1 -1
  110. package/src/utilities/attachmentValidator.js +1 -1
  111. package/src/utilities/configManager.js +1 -1
  112. package/src/utilities/constants.js +1 -1
  113. package/src/utilities/directoryAccessManager.js +1 -1
  114. package/src/utilities/fileProcessor.js +1 -1
  115. package/src/utilities/logger.js +1 -1
  116. package/src/utilities/tagParser.js +1 -1
  117. package/src/utilities/toolConstants.js +1 -1
  118. package/src/utilities/userDataDir.js +1 -1
  119. package/web-ui/build/index.html +2 -2
  120. package/web-ui/build/static/index-CRkOpV4k.css +1 -0
  121. package/web-ui/build/static/{index-CR8edPA3.js → index-DzOU48ux.js} +98 -79
  122. package/web-ui/build/static/index-uN7nOVvZ.css +0 -1
@@ -1 +1 @@
1
- const a0_0x186a40=a0_0x44cf;(function(_0x1406e7,_0x29056b){const _0x4bd7c8=a0_0x44cf,_0x248d26=_0x1406e7();while(!![]){try{const _0x2fc86e=-parseInt(_0x4bd7c8(0x1bb))/0x1*(-parseInt(_0x4bd7c8(0x1c3))/0x2)+-parseInt(_0x4bd7c8(0x1cf))/0x3+parseInt(_0x4bd7c8(0x1de))/0x4*(parseInt(_0x4bd7c8(0x1ed))/0x5)+-parseInt(_0x4bd7c8(0x1c9))/0x6*(parseInt(_0x4bd7c8(0x1bd))/0x7)+parseInt(_0x4bd7c8(0x1ea))/0x8+-parseInt(_0x4bd7c8(0x1e1))/0x9*(-parseInt(_0x4bd7c8(0x1d5))/0xa)+-parseInt(_0x4bd7c8(0x1dd))/0xb;if(_0x2fc86e===_0x29056b)break;else _0x248d26['push'](_0x248d26['shift']());}catch(_0x2dc091){_0x248d26['push'](_0x248d26['shift']());}}}(a0_0x13d7,0xed47d));function a0_0x13d7(){const _0x5db75e=['tw9KDwXLuMvZB2X1DgLVBKTPBMq','u1Lovefy','mJe0mduWtwvXAhvj','z2v0u3LUDgfJDgLJrgLHz25VC3rPy3m','rgLHz25VC3rPy0nHDgvNB3j5','BgvUz3rO','CgfYC2veAwfNBM9ZDgLJCW','tgf0zxn0','mJuZmde5nfz3r1L5wq','u3vNz2vZDgLVBG','su1qt1ju','rvjst1i','v0fstKLorW','qw5HBhLZAxmGzMfPBgvKoIa','nZuWwhDutLD6','y29TCgLSzxjpChrPB25Z','y3jLyxrLuhjVz3jHBq','z2v0u3rHCNq','BgLUzq','A2LUza','z2v0u2vTyw50AwneAwfNBM9ZDgLJCW','z2v0tgLUzufUzenOyxjHy3rLCK9Mug9ZAxrPB24','mti2nZGYn2fzsurbBG','mtm3mKz1r3bZDG','y2f0zwDVCNK','Dw5RBM93BG','mta5mdm1uwHvq0nZ','yw5HBhL6zq','u2vTyw50AwmGyw5HBhLZAxmGC2TPChbLza','C3rHCNq','zMLSDgvY','uMvHy3q','vfLqrq','C3LUDgf4lwvYCM9Y','u3LUDgf4igvYCM9Y','ntu1otC2uxzkvLf0','q0furuDpuLK','v2fYBMLUzW','mtq4nJbHvwTRv1u','Bg9Nz2vY','u2nYAxb0vgfYz2v0','zM9YrwfJAenOAwXK','muzQr0DJBG','u0vwrvjjvfK','mJe3BurwveDL','sNn4rw1PDa','zM9YBwf0rgLHz25VC3rPyW','BwvZC2fNzvrLEhq','ChvZAa','u3LUDgf4s2LUza','mJa3nZKYnM1itfvxCW','rvnozxH0','C2v2zxjPDhK','zMXHDhrLBKrPywDUB3n0AwnnzxnZywDLvgv4Da'];a0_0x13d7=function(){return _0x5db75e;};return a0_0x13d7();}function a0_0x44cf(_0x4970d9,_0x23c702){_0x4970d9=_0x4970d9-0x1b8;const _0x13d7e1=a0_0x13d7();let _0x44cf64=_0x13d7e1[_0x4970d9];if(a0_0x44cf['MbiCql']===undefined){var _0x4cbc38=function(_0x480c38){const _0x44143d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x447573='',_0x3aadd2='';for(let _0x44c17b=0x0,_0x5a4b60,_0x4b03d3,_0x5a88ee=0x0;_0x4b03d3=_0x480c38['charAt'](_0x5a88ee++);~_0x4b03d3&&(_0x5a4b60=_0x44c17b%0x4?_0x5a4b60*0x40+_0x4b03d3:_0x4b03d3,_0x44c17b++%0x4)?_0x447573+=String['fromCharCode'](0xff&_0x5a4b60>>(-0x2*_0x44c17b&0x6)):0x0){_0x4b03d3=_0x44143d['indexOf'](_0x4b03d3);}for(let _0x53e091=0x0,_0x22d666=_0x447573['length'];_0x53e091<_0x22d666;_0x53e091++){_0x3aadd2+='%'+('00'+_0x447573['charCodeAt'](_0x53e091)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3aadd2);};a0_0x44cf['FREILL']=_0x4cbc38,a0_0x44cf['NudKcX']={},a0_0x44cf['MbiCql']=!![];}const _0x5b6437=_0x13d7e1[0x0],_0x4e8cbd=_0x4970d9+_0x5b6437,_0x382c39=a0_0x44cf['NudKcX'][_0x4e8cbd];return!_0x382c39?(_0x44cf64=a0_0x44cf['FREILL'](_0x44cf64),a0_0x44cf['NudKcX'][_0x4e8cbd]=_0x44cf64):_0x44cf64=_0x382c39,_0x44cf64;}import a0_0x447573 from'typescript';import a0_0x3aadd2 from'path';import{STATIC_ANALYSIS}from'../utilities/constants.js';class JavaScriptAnalyzer{constructor(_0x44c17b=null){const _0x56bef6=a0_0x44cf;this['logger']=_0x44c17b,this['compilerOptions']={'allowJs':!![],'checkJs':!![],'noEmit':!![],'jsx':a0_0x447573[_0x56bef6(0x1be)][_0x56bef6(0x1e6)],'target':a0_0x447573[_0x56bef6(0x1b9)]['Latest'],'module':a0_0x447573['ModuleKind'][_0x56bef6(0x1c4)],'moduleResolution':a0_0x447573[_0x56bef6(0x1c7)]['NodeJs'],'esModuleInterop':!![],'skipLibCheck':!![],'strict':![],'noImplicitAny':![]};}async[a0_0x186a40(0x1e2)](_0x5a4b60,_0x4b03d3,_0x5a88ee={}){const _0x3abc77=a0_0x186a40;try{const _0x53e091=[],_0x22d666=a0_0x447573['createSourceFile'](_0x5a4b60,_0x4b03d3,a0_0x447573['ScriptTarget'][_0x3abc77(0x1ce)],!![]),_0x2e9d59=this['getSyntacticDiagnostics'](_0x22d666);_0x53e091['push'](..._0x2e9d59);const _0x4f14a6=await this['getSemanticDiagnostics'](_0x5a4b60,_0x4b03d3);return _0x53e091['push'](..._0x4f14a6),this['logger']?.['debug']('JavaScript\x20analysis\x20completed',{'file':_0x5a4b60,'totalDiagnostics':_0x53e091['length'],'errors':_0x53e091[_0x3abc77(0x1e5)](_0x1589de=>_0x1589de['severity']===STATIC_ANALYSIS['SEVERITY']['ERROR'])['length'],'warnings':_0x53e091[_0x3abc77(0x1e5)](_0x429411=>_0x429411[_0x3abc77(0x1c5)]===STATIC_ANALYSIS['SEVERITY'][_0x3abc77(0x1d3)])['length']}),_0x53e091;}catch(_0x2d996b){return this[_0x3abc77(0x1b8)]?.['error']('JavaScript\x20analysis\x20failed',{'file':_0x5a4b60,'error':_0x2d996b['message']}),[{'file':_0x5a4b60,'line':0x0,'column':0x0,'severity':STATIC_ANALYSIS[_0x3abc77(0x1bc)]['ERROR'],'rule':'analyzer-error','message':_0x3abc77(0x1d4)+_0x2d996b['message'],'category':STATIC_ANALYSIS['CATEGORY']['SYNTAX']}];}}[a0_0x186a40(0x1ca)](_0x22dfbd){const _0x4058ea=a0_0x186a40,_0x5d9dcf=[],_0x3a2fa5=_0x1801b3=>{const _0x447ca5=a0_0x44cf;if(_0x1801b3[_0x447ca5(0x1da)]===a0_0x447573[_0x447ca5(0x1c2)]['Unknown']){const _0x3b050f=_0x22dfbd[_0x447ca5(0x1dc)](_0x1801b3[_0x447ca5(0x1d8)]());_0x5d9dcf['push']({'file':_0x22dfbd['fileName'],'line':_0x3b050f[_0x447ca5(0x1d9)]+0x1,'column':_0x3b050f['character']+0x1,'severity':STATIC_ANALYSIS[_0x447ca5(0x1bc)]['ERROR'],'rule':_0x447ca5(0x1e8),'message':_0x447ca5(0x1e9),'category':STATIC_ANALYSIS[_0x447ca5(0x1eb)]['SYNTAX'],'fixable':![]});}a0_0x447573[_0x447ca5(0x1ba)](_0x1801b3,_0x3a2fa5);};_0x3a2fa5(_0x22dfbd);if(_0x22dfbd[_0x4058ea(0x1cd)]&&_0x22dfbd[_0x4058ea(0x1cd)][_0x4058ea(0x1cc)]>0x0)for(const _0x2a053a of _0x22dfbd['parseDiagnostics']){_0x5d9dcf['push'](this['formatDiagnostic'](_0x2a053a,_0x22dfbd));}return _0x5d9dcf;}async[a0_0x186a40(0x1db)](_0x83c44b,_0xd7910a){const _0x2803d9=a0_0x186a40,_0x165b7c=[];try{const _0x34f3c8=a0_0x447573['createSourceFile'](_0x83c44b,_0xd7910a,a0_0x447573['ScriptTarget'][_0x2803d9(0x1ce)],!![]),_0x5960fb={'getSourceFile':_0x24b4d7=>{if(_0x24b4d7===_0x83c44b)return _0x34f3c8;return undefined;},'getDefaultLibFileName':()=>'lib.d.ts','writeFile':()=>{},'getCurrentDirectory':()=>a0_0x3aadd2['dirname'](_0x83c44b),'getDirectories':()=>[],'fileExists':_0x4ef50c=>_0x4ef50c===_0x83c44b,'readFile':_0x1a4783=>{if(_0x1a4783===_0x83c44b)return _0xd7910a;return undefined;},'getCanonicalFileName':_0x473bdc=>_0x473bdc,'useCaseSensitiveFileNames':()=>!![],'getNewLine':()=>'\x0a'},_0x2b087e=a0_0x447573[_0x2803d9(0x1d7)]({'rootNames':[_0x83c44b],'options':this[_0x2803d9(0x1d6)],'host':_0x5960fb}),_0x288653=_0x2b087e[_0x2803d9(0x1db)](_0x34f3c8);for(const _0x189d86 of _0x288653){_0x165b7c[_0x2803d9(0x1c1)](this['formatDiagnostic'](_0x189d86,_0x34f3c8));}}catch(_0x2ea503){this[_0x2803d9(0x1b8)]?.['debug'](_0x2803d9(0x1e3),{'file':_0x83c44b,'reason':_0x2ea503['message']});}return _0x165b7c;}[a0_0x186a40(0x1bf)](_0x74c122,_0x33d22d){const _0x27a48e=a0_0x186a40;let _0x50f79c=0x0,_0x141f7f=0x0;if(_0x74c122['file']&&_0x74c122['start']!==undefined){const _0x4d389c=_0x74c122['file'][_0x27a48e(0x1dc)](_0x74c122['start']);_0x50f79c=_0x4d389c['line']+0x1,_0x141f7f=_0x4d389c['character']+0x1;}else{if(_0x33d22d&&_0x74c122[_0x27a48e(0x1e4)]!==undefined){const _0x3b6eee=_0x33d22d[_0x27a48e(0x1dc)](_0x74c122['start']);_0x50f79c=_0x3b6eee[_0x27a48e(0x1d9)]+0x1,_0x141f7f=_0x3b6eee['character']+0x1;}}const _0xda7297=a0_0x447573[_0x27a48e(0x1c6)](_0x74c122[_0x27a48e(0x1c0)],'\x0a');let _0x45a6e1;switch(_0x74c122[_0x27a48e(0x1df)]){case a0_0x447573['DiagnosticCategory']['Error']:_0x45a6e1=STATIC_ANALYSIS['SEVERITY'][_0x27a48e(0x1d2)];break;case a0_0x447573['DiagnosticCategory'][_0x27a48e(0x1ec)]:_0x45a6e1=STATIC_ANALYSIS[_0x27a48e(0x1bc)][_0x27a48e(0x1d3)];break;case a0_0x447573[_0x27a48e(0x1cb)]['Message']:case a0_0x447573[_0x27a48e(0x1cb)][_0x27a48e(0x1d0)]:_0x45a6e1=STATIC_ANALYSIS['SEVERITY']['INFO'];break;default:_0x45a6e1=STATIC_ANALYSIS['SEVERITY']['ERROR'];}let _0x1a53fd=STATIC_ANALYSIS[_0x27a48e(0x1eb)][_0x27a48e(0x1c8)];const _0x140ea5=_0x74c122['code'];if(_0x140ea5>=0x7d0&&_0x140ea5<0xbb8)_0x1a53fd=STATIC_ANALYSIS[_0x27a48e(0x1eb)][_0x27a48e(0x1e7)];else{if(_0x140ea5>=0x3e8&&_0x140ea5<0x7d0)_0x1a53fd=STATIC_ANALYSIS[_0x27a48e(0x1eb)]['SYNTAX'];else _0x140ea5>=0x8fc&&_0x140ea5<0x960&&(_0x1a53fd=STATIC_ANALYSIS['CATEGORY'][_0x27a48e(0x1d1)]);}return(_0xda7297['toLowerCase']()['includes']('cannot\x20find\x20module')||_0xda7297['toLowerCase']()['includes']('import'))&&(_0x1a53fd=STATIC_ANALYSIS['CATEGORY']['IMPORT']),{'file':_0x74c122['file']?.['fileName']||_0x33d22d?.['fileName']||_0x27a48e(0x1e0),'line':_0x50f79c,'column':_0x141f7f,'severity':_0x45a6e1,'rule':'TS'+_0x140ea5,'message':_0xda7297,'category':_0x1a53fd,'fixable':![],'code':_0x74c122['code']};}}export default JavaScriptAnalyzer;
1
+ const a0_0x5e4f40=a0_0x2599;(function(_0x260a9d,_0x36a7a6){const _0x3e0413=a0_0x2599,_0x468791=_0x260a9d();while(!![]){try{const _0xea0ba4=-parseInt(_0x3e0413(0x1ee))/0x1+-parseInt(_0x3e0413(0x1f7))/0x2+-parseInt(_0x3e0413(0x1e6))/0x3*(parseInt(_0x3e0413(0x1e0))/0x4)+parseInt(_0x3e0413(0x1e3))/0x5*(-parseInt(_0x3e0413(0x1f5))/0x6)+parseInt(_0x3e0413(0x1e1))/0x7+parseInt(_0x3e0413(0x1f4))/0x8+-parseInt(_0x3e0413(0x1fb))/0x9*(-parseInt(_0x3e0413(0x1fa))/0xa);if(_0xea0ba4===_0x36a7a6)break;else _0x468791['push'](_0x468791['shift']());}catch(_0x4357f7){_0x468791['push'](_0x468791['shift']());}}}(a0_0x1bf8,0xb5f47));import a0_0x187189 from'typescript';import a0_0x104915 from'path';function a0_0x2599(_0x38aa02,_0x47b862){_0x38aa02=_0x38aa02-0x1d1;const _0x1bf862=a0_0x1bf8();let _0x2599c3=_0x1bf862[_0x38aa02];if(a0_0x2599['WHLKNX']===undefined){var _0x5c3d5e=function(_0x1bbcfc){const _0x337c68='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x187189='',_0x104915='';for(let _0x41de2b=0x0,_0x52cd9f,_0x24d2b0,_0x18f5e9=0x0;_0x24d2b0=_0x1bbcfc['charAt'](_0x18f5e9++);~_0x24d2b0&&(_0x52cd9f=_0x41de2b%0x4?_0x52cd9f*0x40+_0x24d2b0:_0x24d2b0,_0x41de2b++%0x4)?_0x187189+=String['fromCharCode'](0xff&_0x52cd9f>>(-0x2*_0x41de2b&0x6)):0x0){_0x24d2b0=_0x337c68['indexOf'](_0x24d2b0);}for(let _0x4ac428=0x0,_0x5df054=_0x187189['length'];_0x4ac428<_0x5df054;_0x4ac428++){_0x104915+='%'+('00'+_0x187189['charCodeAt'](_0x4ac428)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x104915);};a0_0x2599['CjPEYZ']=_0x5c3d5e,a0_0x2599['UOwttV']={},a0_0x2599['WHLKNX']=!![];}const _0x14ace6=_0x1bf862[0x0],_0x3592dd=_0x38aa02+_0x14ace6,_0x503797=a0_0x2599['UOwttV'][_0x3592dd];return!_0x503797?(_0x2599c3=a0_0x2599['CjPEYZ'](_0x2599c3),a0_0x2599['UOwttV'][_0x3592dd]=_0x2599c3):_0x2599c3=_0x503797,_0x2599c3;}function a0_0x1bf8(){const _0x20447c=['yw5HBhL6zq','BwvZC2fNzq','ChvZAa','u3vNz2vZDgLVBG','v0fstKLorW','mta1nJe1odrhrgPLEhG','mZmXmJzfqwzMBui','y2f0zwDVCNK','odm5nta2Chfys0Te','tw9KDwXLuMvZB2X1DgLVBKTPBMq','y3jLyxrLu291CMnLrMLSzq','mtbJwe5mzNK','mtG3ndu3mJjMB2D3s2S','zMLSzu5HBwu','sMf2yvnJCMLWDcbHBMfSExnPCYbJB21WBgv0zwq','C3rHCNq','CgfYC2veAwfNBM9ZDgLJCW','y29TCgLSzxjpChrPB25Z','C3LUDgf4lwvYCM9Y','zgvIDwC','Bg9Nz2vY','z2v0tgLUzufUzenOyxjHy3rLCK9Mug9ZAxrPB24','rgLHz25VC3rPy0nHDgvNB3j5','u2nYAxb0vgfYz2v0','BgLUzq','Aw5JBhvKzxm','y3jLyxrLuhjVz3jHBq','tw9KDwXLs2LUza','zMLSzq','y29Kzq','z2v0u3rHCNq','u3LUDgf4s2LUza','zMXHDhrLBKrPywDUB3n0AwnnzxnZywDLvgv4Da','y2HHCMfJDgvY','rvjst1i','q0furuDpuLK','zMLSDgvY','u1Lovefy','mJe3ndHnvLzeufi','mJu0mty4nK9SAhvKBW','tgf0zxn0','mti5mhPWwhLWsW','u2vTyw50AwmGyw5HBhLZAxmGC2TPChbLza','C2v2zxjPDhK','ntG4sNPgzgzL','BwvZC2fNzvrLEhq','u0vwrvjjvfK','rvnozxH0','z2v0u2vTyw50AwneAwfNBM9ZDgLJCW','zM9YBwf0rgLHz25VC3rPyW','A2LUza','Dg9mB3DLCKnHC2u','mteXmdq0BNDlqK9U'];a0_0x1bf8=function(){return _0x20447c;};return a0_0x1bf8();}import{STATIC_ANALYSIS}from'../utilities/constants.js';class JavaScriptAnalyzer{constructor(_0x41de2b=null){const _0x2f9d1a=a0_0x2599;this['logger']=_0x41de2b,this[_0x2f9d1a(0x200)]={'allowJs':!![],'checkJs':!![],'noEmit':!![],'jsx':a0_0x187189['JsxEmit']['React'],'target':a0_0x187189[_0x2f9d1a(0x1d1)][_0x2f9d1a(0x1e2)],'module':a0_0x187189[_0x2f9d1a(0x1d5)][_0x2f9d1a(0x1e9)],'moduleResolution':a0_0x187189[_0x2f9d1a(0x1f8)]['NodeJs'],'esModuleInterop':!![],'skipLibCheck':!![],'strict':![],'noImplicitAny':![]};}async[a0_0x5e4f40(0x1ef)](_0x52cd9f,_0x24d2b0,_0x18f5e9={}){const _0x16907d=a0_0x5e4f40;try{const _0x4ac428=[],_0x5df054=a0_0x187189[_0x16907d(0x1f9)](_0x52cd9f,_0x24d2b0,a0_0x187189['ScriptTarget'][_0x16907d(0x1e2)],!![]),_0x9fe30c=this['getSyntacticDiagnostics'](_0x5df054);_0x4ac428[_0x16907d(0x1f1)](..._0x9fe30c);const _0x40317c=await this[_0x16907d(0x1ea)](_0x52cd9f,_0x24d2b0);return _0x4ac428[_0x16907d(0x1f1)](..._0x40317c),this['logger']?.['debug'](_0x16907d(0x1fd),{'file':_0x52cd9f,'totalDiagnostics':_0x4ac428['length'],'errors':_0x4ac428['filter'](_0x2dc458=>_0x2dc458['severity']===STATIC_ANALYSIS[_0x16907d(0x1e8)]['ERROR'])['length'],'warnings':_0x4ac428[_0x16907d(0x1de)](_0x43ba2a=>_0x43ba2a[_0x16907d(0x1e5)]===STATIC_ANALYSIS['SEVERITY'][_0x16907d(0x1f3)])['length']}),_0x4ac428;}catch(_0x36d281){return this['logger']?.['error']('JavaScript\x20analysis\x20failed',{'file':_0x52cd9f,'error':_0x36d281['message']}),[{'file':_0x52cd9f,'line':0x0,'column':0x0,'severity':STATIC_ANALYSIS[_0x16907d(0x1e8)][_0x16907d(0x1dc)],'rule':'analyzer-error','message':'Analysis\x20failed:\x20'+_0x36d281['message'],'category':STATIC_ANALYSIS['CATEGORY']['SYNTAX']}];}}['getSyntacticDiagnostics'](_0x1131c2){const _0x458e41=a0_0x5e4f40,_0x3e9ca3=[],_0x1c7543=_0xeebfee=>{const _0x2038f4=a0_0x2599;if(_0xeebfee[_0x2038f4(0x1ec)]===a0_0x187189[_0x2038f4(0x1d9)]['Unknown']){const _0x47b85c=_0x1131c2[_0x2038f4(0x204)](_0xeebfee[_0x2038f4(0x1d8)]());_0x3e9ca3['push']({'file':_0x1131c2[_0x2038f4(0x1fc)],'line':_0x47b85c['line']+0x1,'column':_0x47b85c['character']+0x1,'severity':STATIC_ANALYSIS['SEVERITY'][_0x2038f4(0x1dc)],'rule':_0x2038f4(0x201),'message':'Syntax\x20error','category':STATIC_ANALYSIS[_0x2038f4(0x1dd)]['SYNTAX'],'fixable':![]});}a0_0x187189['forEachChild'](_0xeebfee,_0x1c7543);};_0x1c7543(_0x1131c2);if(_0x1131c2[_0x458e41(0x1ff)]&&_0x1131c2[_0x458e41(0x1ff)]['length']>0x0)for(const _0x380043 of _0x1131c2[_0x458e41(0x1ff)]){_0x3e9ca3['push'](this['formatDiagnostic'](_0x380043,_0x1131c2));}return _0x3e9ca3;}async[a0_0x5e4f40(0x1ea)](_0x22d237,_0x4fd76c){const _0x5b2680=a0_0x5e4f40,_0x15f005=[];try{const _0x130479=a0_0x187189['createSourceFile'](_0x22d237,_0x4fd76c,a0_0x187189[_0x5b2680(0x1d1)]['Latest'],!![]),_0x46a884={'getSourceFile':_0x3fb571=>{if(_0x3fb571===_0x22d237)return _0x130479;return undefined;},'getDefaultLibFileName':()=>'lib.d.ts','writeFile':()=>{},'getCurrentDirectory':()=>a0_0x104915['dirname'](_0x22d237),'getDirectories':()=>[],'fileExists':_0x17bbc2=>_0x17bbc2===_0x22d237,'readFile':_0x246e61=>{if(_0x246e61===_0x22d237)return _0x4fd76c;return undefined;},'getCanonicalFileName':_0x5f151b=>_0x5f151b,'useCaseSensitiveFileNames':()=>!![],'getNewLine':()=>'\x0a'},_0x58ede2=a0_0x187189[_0x5b2680(0x1d4)]({'rootNames':[_0x22d237],'options':this['compilerOptions'],'host':_0x46a884}),_0x20d89f=_0x58ede2[_0x5b2680(0x1ea)](_0x130479);for(const _0x3cc701 of _0x20d89f){_0x15f005[_0x5b2680(0x1f1)](this['formatDiagnostic'](_0x3cc701,_0x130479));}}catch(_0x402743){this[_0x5b2680(0x203)]?.[_0x5b2680(0x202)](_0x5b2680(0x1e4),{'file':_0x22d237,'reason':_0x402743[_0x5b2680(0x1f0)]});}return _0x15f005;}[a0_0x5e4f40(0x1eb)](_0x540101,_0x14dc9b){const _0x5c11d8=a0_0x5e4f40;let _0x19689d=0x0,_0x2253cd=0x0;if(_0x540101['file']&&_0x540101[_0x5c11d8(0x1fe)]!==undefined){const _0x18e048=_0x540101['file'][_0x5c11d8(0x204)](_0x540101['start']);_0x19689d=_0x18e048[_0x5c11d8(0x1d2)]+0x1,_0x2253cd=_0x18e048[_0x5c11d8(0x1db)]+0x1;}else{if(_0x14dc9b&&_0x540101['start']!==undefined){const _0x3c3817=_0x14dc9b[_0x5c11d8(0x204)](_0x540101[_0x5c11d8(0x1fe)]);_0x19689d=_0x3c3817[_0x5c11d8(0x1d2)]+0x1,_0x2253cd=_0x3c3817[_0x5c11d8(0x1db)]+0x1;}}const _0x235c40=a0_0x187189[_0x5c11d8(0x1da)](_0x540101[_0x5c11d8(0x1e7)],'\x0a');let _0x339acc;switch(_0x540101[_0x5c11d8(0x1f6)]){case a0_0x187189['DiagnosticCategory']['Error']:_0x339acc=STATIC_ANALYSIS['SEVERITY'][_0x5c11d8(0x1dc)];break;case a0_0x187189['DiagnosticCategory']['Warning']:_0x339acc=STATIC_ANALYSIS[_0x5c11d8(0x1e8)][_0x5c11d8(0x1f3)];break;case a0_0x187189['DiagnosticCategory']['Message']:case a0_0x187189[_0x5c11d8(0x205)][_0x5c11d8(0x1f2)]:_0x339acc=STATIC_ANALYSIS[_0x5c11d8(0x1e8)]['INFO'];break;default:_0x339acc=STATIC_ANALYSIS['SEVERITY']['ERROR'];}let _0x90a606=STATIC_ANALYSIS['CATEGORY'][_0x5c11d8(0x1df)];const _0x807cc7=_0x540101['code'];if(_0x807cc7>=0x7d0&&_0x807cc7<0xbb8)_0x90a606=STATIC_ANALYSIS['CATEGORY']['TYPE'];else{if(_0x807cc7>=0x3e8&&_0x807cc7<0x7d0)_0x90a606=STATIC_ANALYSIS[_0x5c11d8(0x1dd)][_0x5c11d8(0x1df)];else _0x807cc7>=0x8fc&&_0x807cc7<0x960&&(_0x90a606=STATIC_ANALYSIS['CATEGORY']['IMPORT']);}return(_0x235c40[_0x5c11d8(0x1ed)]()[_0x5c11d8(0x1d3)]('cannot\x20find\x20module')||_0x235c40['toLowerCase']()[_0x5c11d8(0x1d3)]('import'))&&(_0x90a606=STATIC_ANALYSIS[_0x5c11d8(0x1dd)]['IMPORT']),{'file':_0x540101[_0x5c11d8(0x1d6)]?.[_0x5c11d8(0x1fc)]||_0x14dc9b?.[_0x5c11d8(0x1fc)]||'unknown','line':_0x19689d,'column':_0x2253cd,'severity':_0x339acc,'rule':'TS'+_0x807cc7,'message':_0x235c40,'category':_0x90a606,'fixable':![],'code':_0x540101[_0x5c11d8(0x1d7)]};}}export default JavaScriptAnalyzer;
@@ -1 +1 @@
1
- function a0_0x59d6(_0x41ea32,_0x2c4a0){_0x41ea32=_0x41ea32-0x1b1;const _0x3a25c0=a0_0x3a25();let _0x59d6b4=_0x3a25c0[_0x41ea32];if(a0_0x59d6['rCnhkv']===undefined){var _0x1637d5=function(_0x121d3b){const _0x220cc2='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5b95c4='',_0x252e7f='';for(let _0x28e649=0x0,_0x3db417,_0x5501ba,_0x21c665=0x0;_0x5501ba=_0x121d3b['charAt'](_0x21c665++);~_0x5501ba&&(_0x3db417=_0x28e649%0x4?_0x3db417*0x40+_0x5501ba:_0x5501ba,_0x28e649++%0x4)?_0x5b95c4+=String['fromCharCode'](0xff&_0x3db417>>(-0x2*_0x28e649&0x6)):0x0){_0x5501ba=_0x220cc2['indexOf'](_0x5501ba);}for(let _0x3615b5=0x0,_0x25dc51=_0x5b95c4['length'];_0x3615b5<_0x25dc51;_0x3615b5++){_0x252e7f+='%'+('00'+_0x5b95c4['charCodeAt'](_0x3615b5)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x252e7f);};a0_0x59d6['tGgAkn']=_0x1637d5,a0_0x59d6['YfwROa']={},a0_0x59d6['rCnhkv']=!![];}const _0x605471=_0x3a25c0[0x0],_0x19c7b6=_0x41ea32+_0x605471,_0x102bb3=a0_0x59d6['YfwROa'][_0x19c7b6];return!_0x102bb3?(_0x59d6b4=a0_0x59d6['tGgAkn'](_0x59d6b4),a0_0x59d6['YfwROa'][_0x19c7b6]=_0x59d6b4):_0x59d6b4=_0x102bb3,_0x59d6b4;}const a0_0x3a543d=a0_0x59d6;(function(_0xbd8411,_0x17194b){const _0x59ad62=a0_0x59d6,_0x1e176d=_0xbd8411();while(!![]){try{const _0x1ea3ad=parseInt(_0x59ad62(0x1e0))/0x1+parseInt(_0x59ad62(0x1c1))/0x2*(parseInt(_0x59ad62(0x1b3))/0x3)+parseInt(_0x59ad62(0x1cc))/0x4+parseInt(_0x59ad62(0x1b1))/0x5*(-parseInt(_0x59ad62(0x1cd))/0x6)+parseInt(_0x59ad62(0x1bf))/0x7*(-parseInt(_0x59ad62(0x1db))/0x8)+-parseInt(_0x59ad62(0x1c7))/0x9*(parseInt(_0x59ad62(0x1d3))/0xa)+parseInt(_0x59ad62(0x1cb))/0xb;if(_0x1ea3ad===_0x17194b)break;else _0x1e176d['push'](_0x1e176d['shift']());}catch(_0x17c892){_0x1e176d['push'](_0x1e176d['shift']());}}}(a0_0x3a25,0x34353));import a0_0x5b95c4 from'prettier';import a0_0x252e7f from'path';import a0_0x28e649 from'fs/promises';class PrettierFormatter{constructor(_0x3db417=null){this['logger']=_0x3db417,this['configCache']=new Map();}async[a0_0x3a543d(0x1b9)](_0x5501ba,_0x21c665,_0x3615b5={}){const _0x3d6219=a0_0x3a543d;try{const _0x25dc51=await this['getPrettierConfig'](_0x5501ba,_0x3615b5[_0x3d6219(0x1c9)]),_0x30d1aa=this[_0x3d6219(0x1bd)](_0x5501ba),_0x102123=await a0_0x5b95c4['format'](_0x21c665,{..._0x25dc51,'filepath':_0x5501ba,'parser':_0x30d1aa}),_0x17e442=_0x102123!==_0x21c665;return{'formatted':_0x17e442,'content':_0x102123,'original':_0x21c665,'changes':_0x17e442?this['describeChanges'](_0x21c665,_0x102123):[],'linesChanged':_0x17e442?this[_0x3d6219(0x1d6)](_0x21c665,_0x102123):0x0};}catch(_0x4d79ff){this['logger']?.['error'](_0x3d6219(0x1d1),{'file':_0x5501ba,'error':_0x4d79ff['message']});throw new Error('Prettier\x20formatting\x20failed:\x20'+_0x4d79ff[_0x3d6219(0x1b8)]);}}async[a0_0x3a543d(0x1d5)](_0x105183,_0x20f862,_0x2222e2={}){const _0x31d8b1=a0_0x3a543d;try{const _0x1dd7d8=await this[_0x31d8b1(0x1b5)](_0x105183,_0x2222e2[_0x31d8b1(0x1c9)]),_0x3e620a=this[_0x31d8b1(0x1bd)](_0x105183),_0x4b9b4a=await a0_0x5b95c4[_0x31d8b1(0x1b9)](_0x20f862,{..._0x1dd7d8,'filepath':_0x105183,'parser':_0x3e620a});return _0x4b9b4a!==_0x20f862;}catch(_0x15edbc){return this['logger']?.[_0x31d8b1(0x1cf)](_0x31d8b1(0x1be),{'file':_0x105183,'error':_0x15edbc[_0x31d8b1(0x1b8)]}),![];}}async[a0_0x3a543d(0x1b5)](_0x5f58a0,_0x27c2af){const _0x2cb435=a0_0x3a543d,_0x39d3e7=_0x27c2af||a0_0x252e7f['dirname'](_0x5f58a0);if(this[_0x2cb435(0x1c4)]['has'](_0x39d3e7))return this['configCache']['get'](_0x39d3e7);let _0x3509a1={};if(_0x27c2af)try{const _0x1ca91b=await a0_0x5b95c4[_0x2cb435(0x1b2)](_0x5f58a0,{'config':_0x27c2af});_0x1ca91b&&(this['logger']?.[_0x2cb435(0x1d9)](_0x2cb435(0x1dd),{'workingDir':_0x27c2af}),_0x3509a1=_0x1ca91b);}catch(_0xcd5ef5){this['logger']?.['debug']('No Prettier config found, using defaults');}const defaultConfig={'semi':!![],'singleQuote':!![],'tabWidth':0x2,'trailingComma':_0x2cb435(0x1c2),'printWidth':0x64,'arrowParens':'avoid','endOfLine':'lf',..._0x3509a1};return this['configCache']['set'](_0x39d3e7,defaultConfig),defaultConfig;}[a0_0x3a543d(0x1bd)](_0x172e5b){const _0x4690f1=a0_0x3a543d,_0x444184=a0_0x252e7f['extname'](_0x172e5b)['toLowerCase'](),_0x20edcb={'.js':_0x4690f1(0x1de),'.jsx':'babel','.mjs':'babel','.cjs':_0x4690f1(0x1de),'.ts':_0x4690f1(0x1d7),'.tsx':'typescript','.json':'json','.json5':_0x4690f1(0x1ba),'.css':_0x4690f1(0x1ce),'.scss':_0x4690f1(0x1e1),'.less':'less','.html':_0x4690f1(0x1d2),'.vue':'vue','.md':'markdown','.yaml':_0x4690f1(0x1bb),'.yml':'yaml'};return _0x20edcb[_0x444184]||'babel';}['describeChanges'](_0x51136c,_0x49cb88){const _0x442fb4=a0_0x3a543d,_0x2b3b72=[],_0x50c365=_0x51136c[_0x442fb4(0x1dc)]('\x0a'),_0x54f39b=_0x49cb88[_0x442fb4(0x1dc)]('\x0a'),_0x366bf1=Math[_0x442fb4(0x1c5)](_0x50c365['length'],_0x54f39b['length']);for(let _0x37d224=0x0;_0x37d224<_0x366bf1;_0x37d224++){const _0x4266e7=_0x50c365[_0x37d224],_0x2b81d5=_0x54f39b[_0x37d224];_0x4266e7!==_0x2b81d5&&_0x2b3b72[_0x442fb4(0x1d4)]({'line':_0x37d224+0x1,'type':_0x4266e7!==undefined&&_0x2b81d5!==undefined?_0x442fb4(0x1b6):_0x4266e7!==undefined?'removed':_0x442fb4(0x1c3),'original':_0x4266e7||'','formatted':_0x2b81d5||''});}return _0x2b3b72;}['countChangedLines'](_0x3d4efd,_0x26e8d1){const _0x15a4c8=a0_0x3a543d,_0x494b97=_0x3d4efd[_0x15a4c8(0x1dc)]('\x0a'),_0x2c1d52=_0x26e8d1[_0x15a4c8(0x1dc)]('\x0a');let _0x2473a4=0x0;const _0x487d3f=Math[_0x15a4c8(0x1c5)](_0x494b97['length'],_0x2c1d52['length']);for(let _0x512aa9=0x0;_0x512aa9<_0x487d3f;_0x512aa9++){_0x494b97[_0x512aa9]!==_0x2c1d52[_0x512aa9]&&_0x2473a4++;}return _0x2473a4;}['getSupportedExtensions'](){const _0x135d61=a0_0x3a543d;return[_0x135d61(0x1c8),'.jsx',_0x135d61(0x1b7),'.cjs',_0x135d61(0x1da),'.tsx','.json',_0x135d61(0x1b4),_0x135d61(0x1c6),'.scss',_0x135d61(0x1d8),_0x135d61(0x1df),'.vue','.md','.yaml',_0x135d61(0x1c0)];}[a0_0x3a543d(0x1d0)](_0x1b5f0a){const _0x538532=a0_0x3a543d,_0x100426=a0_0x252e7f['extname'](_0x1b5f0a)[_0x538532(0x1ca)]();return this[_0x538532(0x1bc)]()['includes'](_0x100426);}}export default PrettierFormatter;function a0_0x3a25(){const _0xbd2392=['ChvZAa','y2HLy2S','y291BNrdAgfUz2vKtgLUzxm','DhLWzxnJCMLWDa','lMXLC3m','zgvIDwC','lNrZ','mte0odu1mLjdtxD0Eq','C3bSAxq','rM91BMqGuhjLDhrPzxiGy29UzMLN','yMfIzwW','lMH0BwW','mtq2nJqYwxrsuwvb','C2nZCW','mtbkuujfAMy','CMvZB2X2zunVBMzPzW','mtvxwKrpDhO','lMPZB241','z2v0uhjLDhrPzxjdB25MAwC','Bw9KAwzPzwq','lM1QCW','BwvZC2fNzq','zM9YBwf0','ANnVBJu','EwfTBa','z2v0u3vWCg9YDgvKrxH0zw5ZAw9UCW','z2v0ugfYC2vY','uhjLDhrPzxiGy2HLy2SGzMfPBgvK','n0LkBfnIwa','lNLTBa','mte2nti0CNLcyMfc','zxm1','ywrKzwq','y29UzMLNq2fJAgu','Bwf4','lMnZCW','odu1yvHYz1Dk','lMPZ','D29YA2LUz0rPCG','Dg9mB3DLCKnHC2u','mJiZmZa3n21RqLrRDa','nZGXmdiWvw53ue1s','mZa0otu2r3jrsMTu','y3nZ','D2fYBG','AxntDxbWB3j0zwq','uhjLDhrPzxiGzM9YBwf0DgLUzYbMywLSzwq','AhrTBa','mZK3mdbrBxzru0q'];a0_0x3a25=function(){return _0xbd2392;};return a0_0x3a25();}
1
+ function a0_0x40cd(_0x3d72a5,_0x345b7d){_0x3d72a5=_0x3d72a5-0x12e;const _0x1bf00c=a0_0x1bf0();let _0x40cdb0=_0x1bf00c[_0x3d72a5];if(a0_0x40cd['yGATAa']===undefined){var _0x21631f=function(_0x39107b){const _0x10efc4='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4e574c='',_0x59d8c0='';for(let _0x40054b=0x0,_0x3b0ea4,_0x58b44a,_0x18385b=0x0;_0x58b44a=_0x39107b['charAt'](_0x18385b++);~_0x58b44a&&(_0x3b0ea4=_0x40054b%0x4?_0x3b0ea4*0x40+_0x58b44a:_0x58b44a,_0x40054b++%0x4)?_0x4e574c+=String['fromCharCode'](0xff&_0x3b0ea4>>(-0x2*_0x40054b&0x6)):0x0){_0x58b44a=_0x10efc4['indexOf'](_0x58b44a);}for(let _0x3e6e6c=0x0,_0x580f75=_0x4e574c['length'];_0x3e6e6c<_0x580f75;_0x3e6e6c++){_0x59d8c0+='%'+('00'+_0x4e574c['charCodeAt'](_0x3e6e6c)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x59d8c0);};a0_0x40cd['JTelfL']=_0x21631f,a0_0x40cd['LuZxNN']={},a0_0x40cd['yGATAa']=!![];}const _0x5c31e8=_0x1bf00c[0x0],_0x1417de=_0x3d72a5+_0x5c31e8,_0x929871=a0_0x40cd['LuZxNN'][_0x1417de];return!_0x929871?(_0x40cdb0=a0_0x40cd['JTelfL'](_0x40cdb0),a0_0x40cd['LuZxNN'][_0x1417de]=_0x40cdb0):_0x40cdb0=_0x929871,_0x40cdb0;}const a0_0x28a915=a0_0x40cd;(function(_0x25ef86,_0x53dafc){const _0x34f434=a0_0x40cd,_0x5f61f=_0x25ef86();while(!![]){try{const _0x4b8f69=parseInt(_0x34f434(0x12f))/0x1+-parseInt(_0x34f434(0x14a))/0x2+-parseInt(_0x34f434(0x141))/0x3+parseInt(_0x34f434(0x137))/0x4+-parseInt(_0x34f434(0x151))/0x5*(parseInt(_0x34f434(0x154))/0x6)+parseInt(_0x34f434(0x13b))/0x7+parseInt(_0x34f434(0x152))/0x8;if(_0x4b8f69===_0x53dafc)break;else _0x5f61f['push'](_0x5f61f['shift']());}catch(_0x37ad3b){_0x5f61f['push'](_0x5f61f['shift']());}}}(a0_0x1bf0,0x517e7));import a0_0x4e574c from'prettier';import a0_0x59d8c0 from'path';import a0_0x40054b from'fs/promises';function a0_0x1bf0(){const _0x4d3a1c=['CMvZB2X2zunVBMzPzW','mZe4ndC5mhDkyK5Uwa','BgvZCW','lMPZEa','lMPZB24','lMnQCW','zxH0BMfTzq','nde2ndC4zuDuCLb5','Bw9KAwzPzwq','lNrZEa','uhjLDhrPzxiGy2HLy2SGzMfPBgvK','BgvUz3rO','C3bSAxq','C2v0','zM9YBwf0','uhjLDhrPzxiGzM9YBwf0DgLUzYbMywLSzwq6ia','mtiXodGYohvNsKD4vG','rM91BMqGuhjLDhrPzxiGy29UzMLN','BwvZC2fNzq','z2v0uhjLDhrPzxjdB25MAwC','z2v0u3vWCg9YDgvKrxH0zw5ZAw9UCW','zgLYBMfTzq','lM1QCW','nJvgAfL4yuy','mZu2mdi1nNzHDNrxCq','yMfIzwW','mJu2mJa2svnOrvHH','ANnVBJu','Bwf4','y291BNrdAgfUz2vKtgLUzxm','lMXLC3m','yxzVAwq','Bg9Nz2vY','mteWmdq2u3P0u0jw','DhLWzxnJCMLWDa','zgvZy3jPyMvdAgfUz2vZ','z2v0ugfYC2vY','zxm1','BwfYA2rVD24','y29UzMLNq2fJAgu','uhjLDhrPzxiGzM9YBwf0DgLUzYbMywLSzwq','mJuWodqXnNjOy2PQsq','D29YA2LUz0rPCG','EwfTBa'];a0_0x1bf0=function(){return _0x4d3a1c;};return a0_0x1bf0();}class PrettierFormatter{constructor(_0x3b0ea4=null){const _0x592546=a0_0x40cd;this[_0x592546(0x12e)]=_0x3b0ea4,this[_0x592546(0x135)]=new Map();}async[a0_0x28a915(0x148)](_0x58b44a,_0x18385b,_0x3e6e6c={}){const _0x1ec5d6=a0_0x28a915;try{const _0x580f75=await this[_0x1ec5d6(0x14d)](_0x58b44a,_0x3e6e6c['workingDir']),_0x3c591a=this['getParser'](_0x58b44a),_0x507889=await a0_0x4e574c['format'](_0x18385b,{..._0x580f75,'filepath':_0x58b44a,'parser':_0x3c591a}),_0x18583a=_0x507889!==_0x18385b;return{'formatted':_0x18583a,'content':_0x507889,'original':_0x18385b,'changes':_0x18583a?this[_0x1ec5d6(0x131)](_0x18385b,_0x507889):[],'linesChanged':_0x18583a?this['countChangedLines'](_0x18385b,_0x507889):0x0};}catch(_0x2a0344){this['logger']?.['error'](_0x1ec5d6(0x136),{'file':_0x58b44a,'error':_0x2a0344[_0x1ec5d6(0x14c)]});throw new Error(_0x1ec5d6(0x149)+_0x2a0344['message']);}}async['check'](_0x388661,_0x3f46ac,_0x1a955b={}){const _0x542fb6=a0_0x28a915;try{const _0x293d1d=await this[_0x542fb6(0x14d)](_0x388661,_0x1a955b[_0x542fb6(0x138)]),_0x4a11f2=this['getParser'](_0x388661),_0x5f4079=await a0_0x4e574c[_0x542fb6(0x148)](_0x3f46ac,{..._0x293d1d,'filepath':_0x388661,'parser':_0x4a11f2});return _0x5f4079!==_0x3f46ac;}catch(_0x36f5b9){return this['logger']?.['warn'](_0x542fb6(0x144),{'file':_0x388661,'error':_0x36f5b9[_0x542fb6(0x14c)]}),![];}}async['getPrettierConfig'](_0x1f0cf6,_0x56c20e){const _0x5e232f=a0_0x28a915,_0x4bf885=_0x56c20e||a0_0x59d8c0[_0x5e232f(0x14f)](_0x1f0cf6);if(this['configCache']['has'](_0x4bf885))return this['configCache']['get'](_0x4bf885);let _0x3cb0e5={};if(_0x56c20e)try{const _0x20c71b=await a0_0x4e574c[_0x5e232f(0x13a)](_0x1f0cf6,{'config':_0x56c20e});_0x20c71b&&(this['logger']?.['debug'](_0x5e232f(0x14b),{'workingDir':_0x56c20e}),_0x3cb0e5=_0x20c71b);}catch(_0x209671){this['logger']?.['debug']('No Prettier config found, using defaults');}const defaultConfig={'semi':!![],'singleQuote':!![],'tabWidth':0x2,'trailingComma':_0x5e232f(0x133),'printWidth':0x64,'arrowParens':_0x5e232f(0x159),'endOfLine':'lf',..._0x3cb0e5};return this[_0x5e232f(0x135)][_0x5e232f(0x147)](_0x4bf885,defaultConfig),defaultConfig;}[a0_0x28a915(0x132)](_0x331053){const _0x1ee34f=a0_0x28a915,_0x2cf6a4=a0_0x59d8c0['extname'](_0x331053)['toLowerCase'](),_0x27f679={'.js':_0x1ee34f(0x153),'.jsx':_0x1ee34f(0x153),'.mjs':'babel','.cjs':_0x1ee34f(0x153),'.ts':_0x1ee34f(0x130),'.tsx':'typescript','.json':'json','.json5':_0x1ee34f(0x155),'.css':'css','.scss':'scss','.less':_0x1ee34f(0x13c),'.html':'html','.vue':'vue','.md':_0x1ee34f(0x134),'.yaml':_0x1ee34f(0x139),'.yml':_0x1ee34f(0x139)};return _0x27f679[_0x2cf6a4]||_0x1ee34f(0x153);}['describeChanges'](_0x1bbcbd,_0x18aaab){const _0x366c37=a0_0x28a915,_0x28db49=[],_0xa0c42f=_0x1bbcbd[_0x366c37(0x146)]('\x0a'),_0x12194a=_0x18aaab['split']('\x0a'),_0x3e62e1=Math[_0x366c37(0x156)](_0xa0c42f['length'],_0x12194a['length']);for(let _0x5f14db=0x0;_0x5f14db<_0x3e62e1;_0x5f14db++){const _0x2bf8e8=_0xa0c42f[_0x5f14db],_0xda1cc6=_0x12194a[_0x5f14db];_0x2bf8e8!==_0xda1cc6&&_0x28db49['push']({'line':_0x5f14db+0x1,'type':_0x2bf8e8!==undefined&&_0xda1cc6!==undefined?_0x366c37(0x142):_0x2bf8e8!==undefined?'removed':'added','original':_0x2bf8e8||'','formatted':_0xda1cc6||''});}return _0x28db49;}[a0_0x28a915(0x157)](_0xe85164,_0x11e986){const _0x755155=a0_0x28a915,_0x3e7931=_0xe85164['split']('\x0a'),_0x3f13a9=_0x11e986[_0x755155(0x146)]('\x0a');let _0xd18cfa=0x0;const _0x170079=Math[_0x755155(0x156)](_0x3e7931['length'],_0x3f13a9[_0x755155(0x145)]);for(let _0x5b1951=0x0;_0x5b1951<_0x170079;_0x5b1951++){_0x3e7931[_0x5b1951]!==_0x3f13a9[_0x5b1951]&&_0xd18cfa++;}return _0xd18cfa;}[a0_0x28a915(0x14e)](){const _0x70e42b=a0_0x28a915;return['.js',_0x70e42b(0x13d),_0x70e42b(0x150),_0x70e42b(0x13f),'.ts',_0x70e42b(0x143),_0x70e42b(0x13e),'.json5','.css','.scss',_0x70e42b(0x158),'.html','.vue','.md','.yaml','.yml'];}['isSupported'](_0x518624){const _0x862d9b=a0_0x28a915,_0x259ef9=a0_0x59d8c0[_0x862d9b(0x140)](_0x518624)['toLowerCase']();return this['getSupportedExtensions']()['includes'](_0x259ef9);}}export default PrettierFormatter;
@@ -1 +1 @@
1
- const a0_0x2079d8=a0_0x366e;(function(_0x55459e,_0x6b0431){const _0x363b9f=a0_0x366e,_0x58ba1d=_0x55459e();while(!![]){try{const _0x3e2833=parseInt(_0x363b9f(0xa8))/0x1*(parseInt(_0x363b9f(0xad))/0x2)+parseInt(_0x363b9f(0x9f))/0x3+-parseInt(_0x363b9f(0x90))/0x4+parseInt(_0x363b9f(0x97))/0x5+-parseInt(_0x363b9f(0x9b))/0x6+parseInt(_0x363b9f(0xac))/0x7+parseInt(_0x363b9f(0xa2))/0x8;if(_0x3e2833===_0x6b0431)break;else _0x58ba1d['push'](_0x58ba1d['shift']());}catch(_0x442e6f){_0x58ba1d['push'](_0x58ba1d['shift']());}}}(a0_0x4a7f,0x6ccd4));import{spawn}from'child_process';import{STATIC_ANALYSIS}from'../utilities/constants.js';function a0_0x4a7f(){const _0x6532ef=['zxjYB3jZ','zMLSDgvY','mJi5nJK2meTKvgPVqq','C3LUDgf4x2nOzwnRxW','y29SDw1U','D2fYBG','mZm1otK3me5UEvPlqq','BwvZC2fNzq','ChL0Ag9UmW','C3vJy2vZCW','mta2nZi4nMjjAM5Pwq','v0fstKLorW','zgvIDwC','mJKWmJK2ogLRy1HeBa','C3rKzxjY','AM9PBG','rMfPBgvKihrVihbHCNnLifb5DgHVBIbZEw50yxGGy2HLy2SGCMvZDwX0','BgLUzq','uhL0Ag9UigfUywX5C2LZignVBxbSzxrLza','mxnyB2XytG','ChvZAa','CNvUq29TBwfUza','Dg1WzgLY','mtm0ndy1ohbkrxvSvq','otq2ote0rfvOExPj','zgf0yq','u3LUDgf4rxjYB3i','CNvUuhL0Ag9Uu2nYAxb0','Dw5SAw5R','lNb5','ChL0Ag9Uq29TBwfUza','BgvUz3rO','D3jPDgvgAwXL','y2HLy2TtEw50yxG','cMLTCg9YDcbHC3qkAw1WB3j0ihn5CWPPBxbVCNqGANnVBGOkzgvMignOzwnRx3n5BNrHEcHMAwXLCgf0AcK6cIaGicb0CNK6cIaGicaGicaGD2L0AcbVCgvUkgzPBgvWyxrOlcaNCICSigvUy29KAw5NpsD1DgyTocCPigfZigy6cIaGicaGicaGicaGihnVDxjJzsa9igyUCMvHzcGPcGOGicaGicaGicmGvhj5ihrVihbHCNnLihrOzsbMAwXLcIaGicaGicaGyxn0lNbHCNnLkhnVDxjJzsWGzMLSzw5HBwu9zMLSzxbHDgGPcGOGicaGicaGicmGswyGC3vJy2vZC2z1BcWGBM8GzxjYB3jZcIaGicaGicaGChjPBNqOANnVBI5KDw1WCYH7iNn1y2nLC3mIoIbuCNvLlcaIzxjYB3jZiJOGw119ksKkcIaGicbLEgnLChqGu3LUDgf4rxjYB3iGyxmGztOkicaGicaGicbLCNjVCIa9ihSkicaGicaGicaGicaGiMzPBguIoIbMAwXLCgf0AcWkicaGicaGicaGicaGiMXPBMuIoIbLlMXPBMvUBYbVCIaXlaOGicaGicaGicaGicaIy29SDw1UiJOGzs5VzMzZzxqGB3iGmsWkicaGicaGicaGicaGiM1LC3nHz2uIoIbZDhiOzs5TC2CPlaOGicaGicaGicaGicaIDgv4Dci6iguUDgv4Dc5ZDhjPCcGPigLMiguUDgv4DcbLBhnLiciIcIaGicaGicaGFqOGicaGicaGihbYAw50kgPZB24UzhvTChmOEYjZDwnJzxnZiJOGrMfSC2uSicjLCNjVCNmIoIbBzxjYB3jDFsKPcGOGicaGzxHJzxb0iev4y2vWDgLVBIbHCYbLoGOGicaGicaGigvYCM9Yid0GEWOGicaGicaGicaGicaIzMLSzsi6igzPBgvWyxrOlaOGicaGicaGicaGicaIBgLUzsi6ideScIaGicaGicaGicaGicjJB2X1Bw4IoIaXlaOGicaGicaGicaGicaIBwvZC2fNzsi6ihn0CIHLksWkicaGicaGicaGicaGiNrLEhqIoIaIiGOGicaGicaGih0kicaGicaGicbWCMLUDcHQC29UlMr1BxbZkhSIC3vJy2vZCYi6iezHBhnLlcaIzxjYB3jZiJOGw2vYCM9Yxx0PkqOkAwyGx19Uyw1Lx18Gpt0GiL9FBwfPBL9FiJOkicaGigLMigXLBIHZExmUyxjNDIKGpIaXoGOGicaGicaGignOzwnRx3n5BNrHEcHZExmUyxjNDLSXxsKkicaGigvSC2u6cIaGicaGicaGChjPBNqOANnVBI5KDw1WCYH7iNn1y2nLC3mIoIbgywXZzsWGiMvYCM9YCYi6ifT7iM1LC3nHz2uIoIaItM8GzMLSzsbZCgvJAwzPzwqIFv19ksKk','u0vwrvjjvfK','C3rKB3v0','DgfYz2v0xW','ls12zxjZAw9U','BM93','DxrMltG','uhL0Ag9UigfUywX5C2LZigzHAwXLza','C3vWCg9YDhnbDxrVrML4','rvjst1i','mZm1mtCXnM9tqwH5yG','z2v0uhL0Ag9Uq29TBwfUza','Bg9Nz2vY','Dg9tDhjPBMC','q29TBwfUzcb0Aw1LB3v0'];a0_0x4a7f=function(){return _0x6532ef;};return a0_0x4a7f();}function a0_0x366e(_0xd725f8,_0x4ff2f9){_0xd725f8=_0xd725f8-0x8f;const _0x4a7f47=a0_0x4a7f();let _0x366ee9=_0x4a7f47[_0xd725f8];if(a0_0x366e['LErqjF']===undefined){var _0x1f3ae3=function(_0x53e96a){const _0x3920f8='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1a087f='',_0x9c6156='';for(let _0x5cfc81=0x0,_0x3c2cd4,_0x3d8082,_0x3cf9ac=0x0;_0x3d8082=_0x53e96a['charAt'](_0x3cf9ac++);~_0x3d8082&&(_0x3c2cd4=_0x5cfc81%0x4?_0x3c2cd4*0x40+_0x3d8082:_0x3d8082,_0x5cfc81++%0x4)?_0x1a087f+=String['fromCharCode'](0xff&_0x3c2cd4>>(-0x2*_0x5cfc81&0x6)):0x0){_0x3d8082=_0x3920f8['indexOf'](_0x3d8082);}for(let _0x435151=0x0,_0x186a3f=_0x1a087f['length'];_0x435151<_0x186a3f;_0x435151++){_0x9c6156+='%'+('00'+_0x1a087f['charCodeAt'](_0x435151)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x9c6156);};a0_0x366e['yNorls']=_0x1f3ae3,a0_0x366e['mEdidD']={},a0_0x366e['LErqjF']=!![];}const _0x4ee898=_0x4a7f47[0x0],_0x3feac7=_0xd725f8+_0x4ee898,_0x5aa140=a0_0x366e['mEdidD'][_0x3feac7];return!_0x5aa140?(_0x366ee9=a0_0x366e['yNorls'](_0x366ee9),a0_0x366e['mEdidD'][_0x3feac7]=_0x366ee9):_0x366ee9=_0x5aa140,_0x366ee9;}import a0_0x1a087f from'fs/promises';import a0_0x9c6156 from'path';import a0_0x5cfc81 from'os';class PythonAnalyzer{constructor(_0x3c2cd4=null){const _0x3d7ca9=a0_0x366e;this[_0x3d7ca9(0x92)]=_0x3c2cd4,this[_0x3d7ca9(0xb3)]=null;}async['analyze'](_0x3d8082,_0x3cf9ac,_0x435151={}){const _0x14ba3b=a0_0x366e;try{const _0x186a3f=[],_0x54d87f=await this[_0x14ba3b(0x91)]();if(!_0x54d87f)return this['logger']?.[_0x14ba3b(0x9a)]('Python\x20not\x20available,\x20skipping\x20analysis'),[];const _0x16d18e=await this['checkSyntax'](_0x3d8082,_0x3cf9ac,_0x54d87f);return _0x186a3f[_0x14ba3b(0xa9)](..._0x16d18e),this[_0x14ba3b(0x92)]?.[_0x14ba3b(0xa1)](_0x14ba3b(0xa7),{'file':_0x3d8082,'totalDiagnostics':_0x186a3f['length'],'errors':_0x186a3f[_0x14ba3b(0x96)](_0x54c12e=>_0x54c12e['severity']===STATIC_ANALYSIS['SEVERITY'][_0x14ba3b(0x8f)])[_0x14ba3b(0xb4)],'warnings':_0x186a3f[_0x14ba3b(0x96)](_0x4f0551=>_0x4f0551['severity']===STATIC_ANALYSIS['SEVERITY'][_0x14ba3b(0xa0)])[_0x14ba3b(0xb4)]}),_0x186a3f;}catch(_0x2d141c){return this[_0x14ba3b(0x92)]?.['error'](_0x14ba3b(0xbe),{'file':_0x3d8082,'error':_0x2d141c['message']}),[];}}async[a0_0x2079d8(0xb6)](_0x38832a,_0x3935b4,_0x2eaa85){const _0x400f80=a0_0x2079d8,_0x5c94b7=[],_0x471624=a0_0x5cfc81[_0x400f80(0xab)](),_0x36e6e8=a0_0x9c6156[_0x400f80(0xa4)](_0x471624,_0x400f80(0x98)+Date[_0x400f80(0xbc)]()+_0x400f80(0xb2)),_0x46e24a=a0_0x9c6156[_0x400f80(0xa4)](_0x471624,_0x400f80(0xba)+Date['now']()+_0x400f80(0xb2));try{await a0_0x1a087f['writeFile'](_0x46e24a,_0x3935b4,'utf-8');const _0x5e8ff7=_0x400f80(0xb7);await a0_0x1a087f[_0x400f80(0xb5)](_0x36e6e8,_0x5e8ff7,_0x400f80(0xbd));const _0x45050d=await this[_0x400f80(0xb0)](_0x2eaa85,_0x36e6e8,[_0x46e24a]);try{const _0x207596=JSON['parse'](_0x45050d[_0x400f80(0xb9)]);if(!_0x207596[_0x400f80(0x9e)]&&_0x207596['errors'])for(const _0x2f108e of _0x207596[_0x400f80(0x95)]){_0x5c94b7[_0x400f80(0xa9)]({'file':_0x38832a,'line':_0x2f108e[_0x400f80(0xa6)]||0x1,'column':_0x2f108e[_0x400f80(0x99)]||0x1,'severity':STATIC_ANALYSIS[_0x400f80(0xb8)][_0x400f80(0x8f)],'rule':_0x400f80(0xaf),'message':_0x2f108e['message'],'category':STATIC_ANALYSIS['CATEGORY']['SYNTAX'],'fixable':![],'source':'python-ast','code':_0x2f108e['text']||undefined});}}catch(_0x1501dd){this[_0x400f80(0x92)]?.['warn'](_0x400f80(0xa5),{'error':_0x1501dd[_0x400f80(0x9c)],'stdout':_0x45050d[_0x400f80(0xb9)]});}}finally{try{await a0_0x1a087f[_0x400f80(0xb1)](_0x36e6e8),await a0_0x1a087f[_0x400f80(0xb1)](_0x46e24a);}catch{}}return _0x5c94b7;}async[a0_0x2079d8(0x91)](){const _0x27013e=a0_0x2079d8;if(this[_0x27013e(0xb3)])return this[_0x27013e(0xb3)];const _0x4945f9=[_0x27013e(0x9d),'python'];for(const _0x168736 of _0x4945f9){try{const _0x5a07b3=await this[_0x27013e(0xaa)](_0x168736,[_0x27013e(0xbb)]);if(_0x5a07b3['success'])return this[_0x27013e(0xb3)]=_0x168736,this['logger']?.['debug']('Found\x20Python\x20command',{'command':_0x168736,'version':_0x5a07b3[_0x27013e(0xb9)]['trim']()}),_0x168736;}catch{}}return null;}async[a0_0x2079d8(0xb0)](_0x56b052,_0x511ff1,_0x48d430=[]){const _0x3d0e9b=a0_0x2079d8;return this[_0x3d0e9b(0xaa)](_0x56b052,[_0x511ff1,..._0x48d430]);}async['runCommand'](_0x52377c,_0x40f42d=[],_0x305ebd={}){return new Promise((_0x3578e0,_0x1ae6ea)=>{const _0x23fa4c=a0_0x366e,_0x20ff51=spawn(_0x52377c,_0x40f42d,{..._0x305ebd,'shell':!![]});let _0x52a590='',_0x875ba5='';_0x20ff51['stdout']?.['on'](_0x23fa4c(0xae),_0x2095f2=>{const _0x345832=_0x23fa4c;_0x52a590+=_0x2095f2[_0x345832(0x93)]();}),_0x20ff51[_0x23fa4c(0xa3)]?.['on'](_0x23fa4c(0xae),_0x13688c=>{_0x875ba5+=_0x13688c['toString']();}),_0x20ff51['on']('error',_0xe87746=>{_0x1ae6ea(_0xe87746);}),_0x20ff51['on']('close',_0x38a7cf=>{_0x3578e0({'success':_0x38a7cf===0x0,'code':_0x38a7cf,'stdout':_0x52a590,'stderr':_0x875ba5});}),setTimeout(()=>{const _0x6d2b64=_0x23fa4c;_0x20ff51['kill'](),_0x1ae6ea(new Error(_0x6d2b64(0x94)));},0x2710);});}['getSupportedExtensions'](){return['.py'];}[a0_0x2079d8(0xbf)](){return![];}}export default PythonAnalyzer;
1
+ const a0_0x8d163a=a0_0x416c;(function(_0x7e8191,_0x12153e){const _0x44d914=a0_0x416c,_0x27444=_0x7e8191();while(!![]){try{const _0x193afa=parseInt(_0x44d914(0x177))/0x1*(parseInt(_0x44d914(0x17f))/0x2)+-parseInt(_0x44d914(0x188))/0x3*(parseInt(_0x44d914(0x187))/0x4)+parseInt(_0x44d914(0x17c))/0x5+parseInt(_0x44d914(0x18f))/0x6*(parseInt(_0x44d914(0x18d))/0x7)+-parseInt(_0x44d914(0x192))/0x8+-parseInt(_0x44d914(0x16d))/0x9+parseInt(_0x44d914(0x193))/0xa;if(_0x193afa===_0x12153e)break;else _0x27444['push'](_0x27444['shift']());}catch(_0x4c65cd){_0x27444['push'](_0x27444['shift']());}}}(a0_0x3d33,0x48d2c));function a0_0x3d33(){const _0x110f7e=['ls12zxjZAw9U','D2fYBG','BwvZC2fNzq','n3zns2PssG','ChL0Ag9Uq29TBwfUza','mZu3nJe3nfrnCfvxDW','ChL0Ag9UmW','q0furuDpuLK','mJeYnJG1nNfjEevkqG','nJm4ndqWtMD0whzv','ChL0Ag9UlwfZDa','ChvZAa','DxrMltG','Dgv4Da','Dg9tDhjPBMC','C3rKzxjY','rvjst1i','cMLTCg9YDcbHC3qkAw1WB3j0ihn5CWPPBxbVCNqGANnVBGOkzgvMignOzwnRx3n5BNrHEcHMAwXLCgf0AcK6cIaGicb0CNK6cIaGicaGicaGD2L0AcbVCgvUkgzPBgvWyxrOlcaNCICSigvUy29KAw5NpsD1DgyTocCPigfZigy6cIaGicaGicaGicaGihnVDxjJzsa9igyUCMvHzcGPcGOGicaGicaGicmGvhj5ihrVihbHCNnLihrOzsbMAwXLcIaGicaGicaGyxn0lNbHCNnLkhnVDxjJzsWGzMLSzw5HBwu9zMLSzxbHDgGPcGOGicaGicaGicmGswyGC3vJy2vZC2z1BcWGBM8GzxjYB3jZcIaGicaGicaGChjPBNqOANnVBI5KDw1WCYH7iNn1y2nLC3mIoIbuCNvLlcaIzxjYB3jZiJOGw119ksKkcIaGicbLEgnLChqGu3LUDgf4rxjYB3iGyxmGztOkicaGicaGicbLCNjVCIa9ihSkicaGicaGicaGicaGiMzPBguIoIbMAwXLCgf0AcWkicaGicaGicaGicaGiMXPBMuIoIbLlMXPBMvUBYbVCIaXlaOGicaGicaGicaGicaIy29SDw1UiJOGzs5VzMzZzxqGB3iGmsWkicaGicaGicaGicaGiM1LC3nHz2uIoIbZDhiOzs5TC2CPlaOGicaGicaGicaGicaIDgv4Dci6iguUDgv4Dc5ZDhjPCcGPigLMiguUDgv4DcbLBhnLiciIcIaGicaGicaGFqOGicaGicaGihbYAw50kgPZB24UzhvTChmOEYjZDwnJzxnZiJOGrMfSC2uSicjLCNjVCNmIoIbBzxjYB3jDFsKPcGOGicaGzxHJzxb0iev4y2vWDgLVBIbHCYbLoGOGicaGicaGigvYCM9Yid0GEWOGicaGicaGicaGicaIzMLSzsi6igzPBgvWyxrOlaOGicaGicaGicaGicaIBgLUzsi6ideScIaGicaGicaGicaGicjJB2X1Bw4IoIaXlaOGicaGicaGicaGicaIBwvZC2fNzsi6ihn0CIHLksWkicaGicaGicaGicaGiNrLEhqIoIaIiGOGicaGicaGih0kicaGicaGicbWCMLUDcHQC29UlMr1BxbZkhSIC3vJy2vZCYi6iezHBhnLlcaIzxjYB3jZiJOGw2vYCM9Yxx0PkqOkAwyGx19Uyw1Lx18Gpt0GiL9FBwfPBL9FiJOkicaGigLMigXLBIHZExmUyxjNDIKGpIaXoGOGicaGicaGignOzwnRx3n5BNrHEcHZExmUyxjNDLSXxsKkicaGigvSC2u6cIaGicaGicaGChjPBNqOANnVBI5KDw1WCYH7iNn1y2nLC3mIoIbgywXZzsWGiMvYCM9YCYi6ifT7iM1LC3nHz2uIoIaItM8GzMLSzsbZCgvJAwzPzwqIFv19ksKk','D3jPDgvgAwXL','CgfYC2u','zgf0yq','mZK3nJqZne5ItwzSvW','BgLUzq','zgvIDwC','BgvUz3rO','yw5HBhL6zq','lNb5','A2LSBa','C3rKB3v0','u0vwrvjjvfK','zxjYB3i','mxHJBhfiyW','CNvUq29TBwfUza','CNvUuhL0Ag9Uu2nYAxb0','z2v0u3vWCg9YDgvKrxH0zw5ZAw9UCW','rMfPBgvKihrVihbHCNnLifb5DgHVBIbZEw50yxGGy2HLy2SGCMvZDwX0','mtuYndKZnu5duKv4va','BM93','DhjPBq','mta5otKYzwjvEer4','rM91BMqGuhL0Ag9UignVBw1HBMq','q29TBwfUzcb0Aw1LB3v0','Bg9Nz2vY','uhL0Ag9UigfUywX5C2LZigzHAwXLza','C3vJy2vZCW','zxjYB3jZ','Dw5SAw5R','nZzsDNDLzLe','mJe5m2zPCgrnzG','uhL0Ag9UigfUywX5C2LZignVBxbSzxrLza'];a0_0x3d33=function(){return _0x110f7e;};return a0_0x3d33();}function a0_0x416c(_0x4b29cc,_0x4280f2){_0x4b29cc=_0x4b29cc-0x166;const _0x3d33b9=a0_0x3d33();let _0x416c36=_0x3d33b9[_0x4b29cc];if(a0_0x416c['Fqdyid']===undefined){var _0x2e04f8=function(_0x2c0311){const _0x48b847='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x416b5d='',_0xc727a4='';for(let _0x2a35a1=0x0,_0x150a1b,_0x1b96f5,_0x47d418=0x0;_0x1b96f5=_0x2c0311['charAt'](_0x47d418++);~_0x1b96f5&&(_0x150a1b=_0x2a35a1%0x4?_0x150a1b*0x40+_0x1b96f5:_0x1b96f5,_0x2a35a1++%0x4)?_0x416b5d+=String['fromCharCode'](0xff&_0x150a1b>>(-0x2*_0x2a35a1&0x6)):0x0){_0x1b96f5=_0x48b847['indexOf'](_0x1b96f5);}for(let _0x38c747=0x0,_0x11d9bf=_0x416b5d['length'];_0x38c747<_0x11d9bf;_0x38c747++){_0xc727a4+='%'+('00'+_0x416b5d['charCodeAt'](_0x38c747)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xc727a4);};a0_0x416c['EMrJOB']=_0x2e04f8,a0_0x416c['ikRKce']={},a0_0x416c['Fqdyid']=!![];}const _0x111822=_0x3d33b9[0x0],_0x2ace6e=_0x4b29cc+_0x111822,_0x852b14=a0_0x416c['ikRKce'][_0x2ace6e];return!_0x852b14?(_0x416c36=a0_0x416c['EMrJOB'](_0x416c36),a0_0x416c['ikRKce'][_0x2ace6e]=_0x416c36):_0x416c36=_0x852b14,_0x416c36;}import{spawn}from'child_process';import{STATIC_ANALYSIS}from'../utilities/constants.js';import a0_0x416b5d from'fs/promises';import a0_0xc727a4 from'path';import a0_0x2a35a1 from'os';class PythonAnalyzer{constructor(_0x150a1b=null){this['logger']=_0x150a1b,this['pythonCommand']=null;}async[a0_0x8d163a(0x171)](_0x1b96f5,_0x47d418,_0x38c747={}){const _0x18cdf8=a0_0x8d163a;try{const _0x11d9bf=[],_0x4233ac=await this['getPythonCommand']();if(!_0x4233ac)return this[_0x18cdf8(0x182)]?.[_0x18cdf8(0x18b)]('Python\x20not\x20available,\x20skipping\x20analysis'),[];const _0x110203=await this['checkSyntax'](_0x1b96f5,_0x47d418,_0x4233ac);return _0x11d9bf[_0x18cdf8(0x195)](..._0x110203),this['logger']?.['debug'](_0x18cdf8(0x189),{'file':_0x1b96f5,'totalDiagnostics':_0x11d9bf[_0x18cdf8(0x170)],'errors':_0x11d9bf['filter'](_0x342aa8=>_0x342aa8['severity']===STATIC_ANALYSIS[_0x18cdf8(0x175)][_0x18cdf8(0x168)])['length'],'warnings':_0x11d9bf['filter'](_0x55e738=>_0x55e738['severity']===STATIC_ANALYSIS['SEVERITY']['WARNING'])[_0x18cdf8(0x170)]}),_0x11d9bf;}catch(_0x8730fe){return this['logger']?.[_0x18cdf8(0x176)](_0x18cdf8(0x183),{'file':_0x1b96f5,'error':_0x8730fe[_0x18cdf8(0x18c)]}),[];}}async['checkSyntax'](_0x99eac1,_0x24ebff,_0x198f1e){const _0x273b94=a0_0x8d163a,_0x5bae1c=[],_0x584ceb=a0_0x2a35a1['tmpdir'](),_0x44cb65=a0_0xc727a4['join'](_0x584ceb,'syntax_check_'+Date['now']()+_0x273b94(0x172)),_0x497c9d=a0_0xc727a4['join'](_0x584ceb,'target_'+Date[_0x273b94(0x17d)]()+'.py');try{await a0_0x416b5d['writeFile'](_0x497c9d,_0x24ebff,_0x273b94(0x196));const _0x5ed59f=_0x273b94(0x169);await a0_0x416b5d[_0x273b94(0x16a)](_0x44cb65,_0x5ed59f,_0x273b94(0x196));const _0x19438f=await this[_0x273b94(0x179)](_0x198f1e,_0x44cb65,[_0x497c9d]);try{const _0x1f68f1=JSON[_0x273b94(0x16b)](_0x19438f['stdout']);if(!_0x1f68f1['success']&&_0x1f68f1[_0x273b94(0x185)])for(const _0x19da43 of _0x1f68f1['errors']){_0x5bae1c['push']({'file':_0x99eac1,'line':_0x19da43[_0x273b94(0x16e)]||0x1,'column':_0x19da43['column']||0x1,'severity':STATIC_ANALYSIS['SEVERITY'][_0x273b94(0x168)],'rule':'SyntaxError','message':_0x19da43[_0x273b94(0x18c)],'category':STATIC_ANALYSIS[_0x273b94(0x191)]['SYNTAX'],'fixable':![],'source':_0x273b94(0x194),'code':_0x19da43[_0x273b94(0x197)]||undefined});}}catch(_0x21951c){this[_0x273b94(0x182)]?.[_0x273b94(0x18b)](_0x273b94(0x17b),{'error':_0x21951c[_0x273b94(0x18c)],'stdout':_0x19438f[_0x273b94(0x174)]});}}finally{try{await a0_0x416b5d[_0x273b94(0x186)](_0x44cb65),await a0_0x416b5d['unlink'](_0x497c9d);}catch{}}return _0x5bae1c;}async['getPythonCommand'](){const _0x4abbb1=a0_0x8d163a;if(this[_0x4abbb1(0x18e)])return this['pythonCommand'];const _0x526b2a=[_0x4abbb1(0x190),'python'];for(const _0x4ec23c of _0x526b2a){try{const _0x3da343=await this[_0x4abbb1(0x178)](_0x4ec23c,[_0x4abbb1(0x18a)]);if(_0x3da343[_0x4abbb1(0x184)])return this['pythonCommand']=_0x4ec23c,this[_0x4abbb1(0x182)]?.[_0x4abbb1(0x16f)](_0x4abbb1(0x180),{'command':_0x4ec23c,'version':_0x3da343[_0x4abbb1(0x174)][_0x4abbb1(0x17e)]()}),_0x4ec23c;}catch{}}return null;}async['runPythonScript'](_0x16416b,_0x357640,_0x4955c7=[]){return this['runCommand'](_0x16416b,[_0x357640,..._0x4955c7]);}async[a0_0x8d163a(0x178)](_0x193939,_0x28f40c=[],_0x341f61={}){return new Promise((_0x4cde53,_0x27978f)=>{const _0x480668=a0_0x416c,_0x36dabd=spawn(_0x193939,_0x28f40c,{..._0x341f61,'shell':!![]});let _0x217636='',_0x4c4061='';_0x36dabd['stdout']?.['on'](_0x480668(0x16c),_0x2ef52a=>{const _0x1a3af0=_0x480668;_0x217636+=_0x2ef52a[_0x1a3af0(0x166)]();}),_0x36dabd[_0x480668(0x167)]?.['on']('data',_0xb63d01=>{_0x4c4061+=_0xb63d01['toString']();}),_0x36dabd['on']('error',_0x22ce45=>{_0x27978f(_0x22ce45);}),_0x36dabd['on']('close',_0x172e87=>{_0x4cde53({'success':_0x172e87===0x0,'code':_0x172e87,'stdout':_0x217636,'stderr':_0x4c4061});}),setTimeout(()=>{const _0x38baa6=_0x480668;_0x36dabd[_0x38baa6(0x173)](),_0x27978f(new Error(_0x38baa6(0x181)));},0x2710);});}[a0_0x8d163a(0x17a)](){return['.py'];}['supportsAutoFix'](){return![];}}export default PythonAnalyzer;
@@ -1 +1 @@
1
- const a0_0x3449c6=a0_0x548f;function a0_0x548f(_0x2ee8cf,_0x5cea74){_0x2ee8cf=_0x2ee8cf-0x1c3;const _0x1baabc=a0_0x1baa();let _0x548f53=_0x1baabc[_0x2ee8cf];if(a0_0x548f['AnKDLF']===undefined){var _0x97b8f8=function(_0x1e4e4a){const _0x1d4722='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2a2b22='',_0x1703e6='';for(let _0x2266d2=0x0,_0x342183,_0x582b4c,_0x5a818e=0x0;_0x582b4c=_0x1e4e4a['charAt'](_0x5a818e++);~_0x582b4c&&(_0x342183=_0x2266d2%0x4?_0x342183*0x40+_0x582b4c:_0x582b4c,_0x2266d2++%0x4)?_0x2a2b22+=String['fromCharCode'](0xff&_0x342183>>(-0x2*_0x2266d2&0x6)):0x0){_0x582b4c=_0x1d4722['indexOf'](_0x582b4c);}for(let _0x33b7ea=0x0,_0x2c5a46=_0x2a2b22['length'];_0x33b7ea<_0x2c5a46;_0x33b7ea++){_0x1703e6+='%'+('00'+_0x2a2b22['charCodeAt'](_0x33b7ea)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1703e6);};a0_0x548f['crXaXB']=_0x97b8f8,a0_0x548f['IqDdqu']={},a0_0x548f['AnKDLF']=!![];}const _0x31ab0f=_0x1baabc[0x0],_0x4a85c9=_0x2ee8cf+_0x31ab0f,_0x404d98=a0_0x548f['IqDdqu'][_0x4a85c9];return!_0x404d98?(_0x548f53=a0_0x548f['crXaXB'](_0x548f53),a0_0x548f['IqDdqu'][_0x4a85c9]=_0x548f53):_0x548f53=_0x404d98,_0x548f53;}(function(_0x22b6b7,_0x538466){const _0x18b54a=a0_0x548f,_0x3cc589=_0x22b6b7();while(!![]){try{const _0x5a5f78=parseInt(_0x18b54a(0x204))/0x1+-parseInt(_0x18b54a(0x222))/0x2+-parseInt(_0x18b54a(0x21c))/0x3+-parseInt(_0x18b54a(0x1ef))/0x4+-parseInt(_0x18b54a(0x1cb))/0x5*(-parseInt(_0x18b54a(0x221))/0x6)+-parseInt(_0x18b54a(0x213))/0x7*(parseInt(_0x18b54a(0x1f2))/0x8)+parseInt(_0x18b54a(0x1cc))/0x9*(parseInt(_0x18b54a(0x212))/0xa);if(_0x5a5f78===_0x538466)break;else _0x3cc589['push'](_0x3cc589['shift']());}catch(_0x3360ed){_0x3cc589['push'](_0x3cc589['shift']());}}}(a0_0x1baa,0x434a0));import{exec}from'child_process';import{promisify}from'util';import a0_0x2a2b22 from'path';import a0_0x1703e6 from'fs/promises';import{STATIC_ANALYSIS}from'../utilities/constants.js';const execAsync=promisify(exec);class SecurityAnalyzer{constructor(_0x2266d2=null){const _0x4511bd=a0_0x548f;this['logger']=_0x2266d2,this[_0x4511bd(0x1ed)]=null,this['scannerCache']=new Map(),this['localScannerDir']=a0_0x2a2b22['join'](process[_0x4511bd(0x241)](),_0x4511bd(0x1e7),_0x4511bd(0x1da));}async['detectAvailableScanners'](){const _0x3e277e=a0_0x548f;if(this[_0x3e277e(0x1ed)]!==null)return this['availableScanners'];const _0x342183={'semgrep':![],'bandit':![],'npmAudit':![],'pipAudit':![],'eslintSecurity':![]};try{const _0x582b4c=a0_0x2a2b22[_0x3e277e(0x1d9)](this[_0x3e277e(0x231)],'semgrep');try{await a0_0x1703e6[_0x3e277e(0x1ff)](_0x582b4c),_0x342183['semgrep']=!![],this[_0x3e277e(0x21d)]?.['debug'](_0x3e277e(0x220));}catch{await execAsync('semgrep\x20--version',{'timeout':0x1388}),_0x342183['semgrep']=!![],this[_0x3e277e(0x21d)]?.[_0x3e277e(0x1d5)]('Semgrep\x20scanner\x20detected\x20(system)');}}catch(_0x5a818e){this[_0x3e277e(0x21d)]?.['debug'](_0x3e277e(0x1c5),{'error':_0x5a818e[_0x3e277e(0x1fc)]});}try{await execAsync(_0x3e277e(0x1d1),{'timeout':0x1388}),_0x342183['bandit']=!![],this['logger']?.['debug'](_0x3e277e(0x214));}catch(_0x33b7ea){this['logger']?.['debug'](_0x3e277e(0x232),{'error':_0x33b7ea['message']});}try{await execAsync('npm\x20--version',{'timeout':0x1388}),_0x342183[_0x3e277e(0x20d)]=!![],this[_0x3e277e(0x21d)]?.['debug']('npm\x20audit\x20available');}catch(_0x2c5a46){this['logger']?.['debug']('npm\x20not\x20available',{'error':_0x2c5a46['message']});}try{await execAsync('pip-audit\x20--version',{'timeout':0x1388}),_0x342183[_0x3e277e(0x1e2)]=!![],this[_0x3e277e(0x21d)]?.['debug'](_0x3e277e(0x1e1));}catch(_0x5c9b50){this['logger']?.['debug']('pip-audit\x20not\x20available',{'error':_0x5c9b50[_0x3e277e(0x1fc)]});}try{const _0x47ba16=await execAsync(_0x3e277e(0x1f4),{'timeout':0x1388,'cwd':process[_0x3e277e(0x241)]()}),_0x28cd27=JSON[_0x3e277e(0x22c)](_0x47ba16['stdout']);_0x28cd27['dependencies']&&_0x28cd27['dependencies'][_0x3e277e(0x226)]&&(_0x342183[_0x3e277e(0x234)]=!![],this['logger']?.[_0x3e277e(0x1d5)]('eslint-plugin-security\x20detected'));}catch(_0x57bda1){this['logger']?.['debug'](_0x3e277e(0x239),{'error':_0x57bda1[_0x3e277e(0x1fc)]});}return this['availableScanners']=_0x342183,_0x342183;}async[a0_0x3449c6(0x215)](_0x45dd40,_0x38592f,_0x578ef3={}){const _0x4dd4ae=a0_0x3449c6,_0x2b0d4b=[],_0x4bdd2c=await this['detectAvailableScanners'](),_0x20824f=this[_0x4dd4ae(0x1d7)](_0x45dd40);if(_0x578ef3['skipTestFiles']!==![]&&this[_0x4dd4ae(0x210)](_0x45dd40))return this['logger']?.['debug']('Skipping\x20test\x20file\x20for\x20security\x20scan',{'filePath':_0x45dd40}),[];if(_0x20824f==='javascript'||_0x20824f===_0x4dd4ae(0x203)){if(_0x4bdd2c['semgrep']){const _0x249edf=await this[_0x4dd4ae(0x233)](_0x45dd40,[_0x20824f],_0x578ef3);_0x2b0d4b[_0x4dd4ae(0x229)](..._0x249edf);}if(_0x4bdd2c['eslintSecurity']){const _0x10fbf6=await this[_0x4dd4ae(0x205)](_0x45dd40,_0x38592f,_0x578ef3);_0x2b0d4b['push'](..._0x10fbf6);}}if(_0x20824f===_0x4dd4ae(0x1e3)){if(_0x4bdd2c[_0x4dd4ae(0x22e)]){const _0x18d58e=await this[_0x4dd4ae(0x1cd)](_0x45dd40,_0x578ef3);_0x2b0d4b[_0x4dd4ae(0x229)](..._0x18d58e);}if(_0x4bdd2c['semgrep']){const _0x5a84d0=await this[_0x4dd4ae(0x233)](_0x45dd40,[_0x20824f],_0x578ef3);_0x2b0d4b['push'](..._0x5a84d0);}}return _0x2b0d4b[_0x4dd4ae(0x1cf)]===0x0&&!this['hasScannersForLanguage'](_0x4bdd2c,_0x20824f)&&this['logger']?.['warn']('No\x20security\x20scanners\x20available\x20for\x20language',{'language':_0x20824f,'filePath':_0x45dd40}),this['normalizeResults'](_0x2b0d4b);}async[a0_0x3449c6(0x20b)](_0x32e8e3,_0x2d4e84,_0x2af951={}){const _0x371188=a0_0x3449c6,_0x25dd61=[],_0x43a1d0=await this['detectAvailableScanners']();if(_0x2d4e84==='javascript'||_0x2d4e84==='typescript'){if(_0x43a1d0[_0x371188(0x20d)]){const _0x3c5e1e=await this[_0x371188(0x22b)](_0x32e8e3,_0x2af951);_0x25dd61[_0x371188(0x229)](..._0x3c5e1e);}}if(_0x2d4e84==='python'){if(_0x43a1d0['pipAudit']){const _0x351588=await this['runPipAudit'](_0x32e8e3,_0x2af951);_0x25dd61['push'](..._0x351588);}}return this[_0x371188(0x21e)](_0x25dd61);}async[a0_0x3449c6(0x233)](_0x58fea9,_0x44881a,_0x120282={}){const _0x594a4d=a0_0x3449c6;try{const _0x3b6980=a0_0x2a2b22['dirname'](_0x58fea9),_0x3a26d2=await execAsync('semgrep\x20--config=auto\x20--json\x20\x22'+_0x58fea9+'\x22',{'maxBuffer':0xa*0x400*0x400,'timeout':0x7530,'cwd':_0x3b6980}),_0x1f1fe8=JSON[_0x594a4d(0x22c)](_0x3a26d2[_0x594a4d(0x209)]);return this[_0x594a4d(0x23b)](_0x1f1fe8);}catch(_0x1725fd){if(_0x1725fd['stdout'])try{const _0x3a3589=JSON[_0x594a4d(0x22c)](_0x1725fd[_0x594a4d(0x209)]);return this['parseSemgrepResults'](_0x3a3589);}catch(_0x4056bd){this['logger']?.['error']('Failed\x20to\x20parse\x20Semgrep\x20output',{'error':_0x4056bd[_0x594a4d(0x1fc)],'stdout':_0x1725fd[_0x594a4d(0x209)]});}return this['logger']?.['error']('Semgrep\x20scan\x20failed',{'error':_0x1725fd[_0x594a4d(0x1fc)]}),[];}}[a0_0x3449c6(0x23b)](_0x33d1f0){const _0x6b1989=a0_0x3449c6,_0x255ac6=[];if(_0x33d1f0[_0x6b1989(0x228)]&&Array[_0x6b1989(0x1f5)](_0x33d1f0['results']))for(const _0x88bdc6 of _0x33d1f0[_0x6b1989(0x228)]){_0x255ac6[_0x6b1989(0x229)]({'file':_0x88bdc6['path'],'line':_0x88bdc6[_0x6b1989(0x1fe)]?.[_0x6b1989(0x1d0)]||0x1,'column':_0x88bdc6['start']?.['col']||0x1,'severity':this[_0x6b1989(0x202)](_0x88bdc6[_0x6b1989(0x1c4)]?.['severity']),'rule':_0x88bdc6['check_id'],'message':_0x88bdc6['extra']?.['message']||_0x88bdc6['extra']?.[_0x6b1989(0x236)]||_0x6b1989(0x1f7),'category':'security','scanner':'semgrep','cwe':_0x88bdc6[_0x6b1989(0x1c4)]?.[_0x6b1989(0x1ee)]?.[_0x6b1989(0x211)],'owasp':_0x88bdc6[_0x6b1989(0x1c4)]?.[_0x6b1989(0x1ee)]?.[_0x6b1989(0x1e6)],'confidence':_0x88bdc6[_0x6b1989(0x1c4)]?.[_0x6b1989(0x1ee)]?.['confidence'],'references':_0x88bdc6[_0x6b1989(0x1c4)]?.[_0x6b1989(0x1ee)]?.[_0x6b1989(0x238)]});}return _0x255ac6;}async['runBandit'](_0x27c0ff,_0x574f79={}){const _0x91712a=a0_0x3449c6;try{const _0x1ff5e4=await execAsync('bandit\x20-f\x20json\x20\x22'+_0x27c0ff+'\x22',{'maxBuffer':0xa*0x400*0x400,'timeout':0x7530}),_0x4e79fc=JSON[_0x91712a(0x22c)](_0x1ff5e4[_0x91712a(0x209)]);return this[_0x91712a(0x20c)](_0x4e79fc);}catch(_0x13846e){if(_0x13846e['stdout'])try{const _0x46ce85=JSON[_0x91712a(0x22c)](_0x13846e['stdout']);return this['parseBanditResults'](_0x46ce85);}catch(_0x57fb52){this[_0x91712a(0x21d)]?.['error']('Failed\x20to\x20parse\x20Bandit\x20output',{'error':_0x57fb52[_0x91712a(0x1fc)]});}return this[_0x91712a(0x21d)]?.[_0x91712a(0x21f)](_0x91712a(0x23d),{'error':_0x13846e[_0x91712a(0x1fc)]}),[];}}[a0_0x3449c6(0x20c)](_0x10a9bb){const _0x2c939a=a0_0x3449c6,_0x382b7b=[];if(_0x10a9bb['results']&&Array[_0x2c939a(0x1f5)](_0x10a9bb['results']))for(const _0x15906c of _0x10a9bb[_0x2c939a(0x228)]){_0x382b7b['push']({'file':_0x15906c[_0x2c939a(0x1f0)],'line':_0x15906c[_0x2c939a(0x216)]||0x1,'column':_0x15906c['col_offset']||0x1,'severity':this['mapBanditSeverity'](_0x15906c[_0x2c939a(0x1fd)]),'rule':_0x15906c['test_id'],'message':_0x15906c[_0x2c939a(0x1dd)],'category':'security','scanner':_0x2c939a(0x22e),'cwe':_0x15906c['issue_cwe']?.['id']?'CWE-'+_0x15906c[_0x2c939a(0x1c8)]['id']:null,'confidence':_0x15906c['issue_confidence'],'moreInfo':_0x15906c[_0x2c939a(0x1ca)]});}return _0x382b7b;}async[a0_0x3449c6(0x205)](_0xa3603d,_0x331f77,_0x108651={}){const _0x3b5de6=a0_0x3449c6;try{const {ESLint:_0xac55f3}=await import(_0x3b5de6(0x20f)),_0x3152cf=new _0xac55f3({'overrideConfig':{'plugins':[_0x3b5de6(0x201)],'extends':[_0x3b5de6(0x1d8)],'parserOptions':{'ecmaVersion':_0x3b5de6(0x21b),'sourceType':'module'}},'useEslintrc':![]}),_0xac0e4e=await _0x3152cf['lintText'](_0x331f77,{'filePath':_0xa3603d});return this[_0x3b5de6(0x1de)](_0xac0e4e,_0xa3603d);}catch(_0x5e0e0b){return this[_0x3b5de6(0x21d)]?.[_0x3b5de6(0x21f)]('ESLint\x20security\x20scan\x20failed',{'error':_0x5e0e0b['message'],'filePath':_0xa3603d}),[];}}[a0_0x3449c6(0x1de)](_0x53fad1,_0xbcd899){const _0x108f6f=a0_0x3449c6,_0x3862d9=[];for(const _0x3a8fcc of _0x53fad1){if(_0x3a8fcc[_0x108f6f(0x223)]&&Array['isArray'](_0x3a8fcc['messages']))for(const _0x354524 of _0x3a8fcc[_0x108f6f(0x223)]){_0x354524['ruleId']&&_0x354524[_0x108f6f(0x1df)][_0x108f6f(0x1fa)]('security/')&&_0x3862d9[_0x108f6f(0x229)]({'file':_0xbcd899,'line':_0x354524['line']||0x1,'column':_0x354524['column']||0x1,'severity':this[_0x108f6f(0x1dc)](_0x354524[_0x108f6f(0x1ce)]),'rule':_0x354524[_0x108f6f(0x1df)],'message':_0x354524[_0x108f6f(0x1fc)],'category':'security','scanner':_0x108f6f(0x1e8),'fixable':_0x354524['fix']!==undefined});}}return _0x3862d9;}async[a0_0x3449c6(0x22b)](_0x5cd965,_0x12c57e={}){const _0x3e88f1=a0_0x3449c6;try{const _0x22004b=a0_0x2a2b22['join'](_0x5cd965,_0x3e88f1(0x1c9));try{await a0_0x1703e6['access'](_0x22004b);}catch{return this['logger']?.['debug'](_0x3e88f1(0x219)),[];}const _0xf8f0a4=await execAsync('npm\x20audit\x20--json',{'cwd':_0x5cd965,'maxBuffer':0xa*0x400*0x400,'timeout':0xea60}),_0x56937a=JSON[_0x3e88f1(0x22c)](_0xf8f0a4['stdout']);return this['parseNpmAuditResults'](_0x56937a);}catch(_0x282221){if(_0x282221['stdout'])try{const _0x14ddf7=JSON[_0x3e88f1(0x22c)](_0x282221['stdout']);return this[_0x3e88f1(0x1c7)](_0x14ddf7);}catch(_0x1c908c){this[_0x3e88f1(0x21d)]?.[_0x3e88f1(0x21f)]('Failed\x20to\x20parse\x20npm\x20audit\x20output',{'error':_0x1c908c['message']});}return[];}}['parseNpmAuditResults'](_0x549703){const _0x2a8265=a0_0x3449c6,_0x32c376=[];if(_0x549703[_0x2a8265(0x1f3)])for(const [_0xecdd5,_0x4b28c8]of Object[_0x2a8265(0x225)](_0x549703['vulnerabilities'])){_0x32c376['push']({'file':'package.json','line':0x1,'column':0x1,'severity':this[_0x2a8265(0x20e)](_0x4b28c8['severity']),'rule':_0x2a8265(0x1e4)+(_0x4b28c8[_0x2a8265(0x22f)][0x0]?.[_0x2a8265(0x1f1)]||'advisory'),'message':_0xecdd5+':\x20'+(_0x4b28c8['via'][0x0]?.[_0x2a8265(0x23a)]||_0x2a8265(0x1d2)),'category':_0x2a8265(0x201),'scanner':'npm-audit','package':_0xecdd5,'vulnerableVersions':_0x4b28c8[_0x2a8265(0x22a)],'patchedVersions':_0x4b28c8[_0x2a8265(0x1f9)]?_0x2a8265(0x217):'None','cve':_0x4b28c8['via'][0x0]?.['cve'],'cvss':_0x4b28c8['via'][0x0]?.['cvss'],'references':_0x4b28c8[_0x2a8265(0x22f)][0x0]?.['url']?[_0x4b28c8[_0x2a8265(0x22f)][0x0]['url']]:[]});}return _0x32c376;}async['runPipAudit'](_0xa69761,_0xf1bf07={}){const _0x1015e7=a0_0x3449c6;try{const requirementsPath=a0_0x2a2b22['join'](_0xa69761,'requirements.txt');try{await a0_0x1703e6['access'](requirementsPath);}catch{return this[_0x1015e7(0x21d)]?.['debug'](_0x1015e7(0x206)),[];}const _0x5f562d=await execAsync(_0x1015e7(0x1eb),{'cwd':_0xa69761,'maxBuffer':0xa*0x400*0x400,'timeout':0xea60}),_0x2ce39f=JSON[_0x1015e7(0x22c)](_0x5f562d['stdout']);return this['parsePipAuditResults'](_0x2ce39f);}catch(_0x26fbfa){if(_0x26fbfa['stdout'])try{const _0x147798=JSON[_0x1015e7(0x22c)](_0x26fbfa[_0x1015e7(0x209)]);return this[_0x1015e7(0x23f)](_0x147798);}catch(_0x4cdbab){this[_0x1015e7(0x21d)]?.['error']('Failed\x20to\x20parse\x20pip-audit\x20output',{'error':_0x4cdbab['message']});}return[];}}[a0_0x3449c6(0x23f)](_0x5d37ee){const _0x29f8f5=a0_0x3449c6,_0x52021e=[];if(_0x5d37ee['dependencies']&&Array['isArray'](_0x5d37ee[_0x29f8f5(0x218)]))for(const _0x2c5904 of _0x5d37ee['dependencies']){if(_0x2c5904[_0x29f8f5(0x1c3)]&&Array[_0x29f8f5(0x1f5)](_0x2c5904[_0x29f8f5(0x1c3)]))for(const _0x373d05 of _0x2c5904['vulns']){_0x52021e[_0x29f8f5(0x229)]({'file':_0x29f8f5(0x1ec),'line':0x1,'column':0x1,'severity':this[_0x29f8f5(0x23c)](_0x373d05['severity']),'rule':_0x373d05['id'],'message':_0x2c5904[_0x29f8f5(0x227)]+':\x20'+(_0x373d05['description']||_0x29f8f5(0x1d2)),'category':'security','scanner':_0x29f8f5(0x1c6),'package':_0x2c5904[_0x29f8f5(0x227)],'vulnerableVersion':_0x2c5904['version'],'fixedVersions':_0x373d05['fix_versions'],'references':_0x373d05[_0x29f8f5(0x1f8)]||[]});}}return _0x52021e;}['detectLanguage'](_0x3df64d){const _0x5cf117=a0_0x3449c6,_0x523c06=a0_0x2a2b22[_0x5cf117(0x20a)](_0x3df64d)[_0x5cf117(0x1db)](),_0x19cd09={'.js':_0x5cf117(0x1e5),'.jsx':_0x5cf117(0x1e5),'.mjs':_0x5cf117(0x1e5),'.cjs':_0x5cf117(0x1e5),'.ts':'typescript','.tsx':'typescript','.py':_0x5cf117(0x1e3)};return _0x19cd09[_0x523c06]||null;}[a0_0x3449c6(0x210)](_0x3ef910){const _0x4c1f55=a0_0x3449c6,_0x538b78=[/\.test\./,/\.spec\./,/__tests__\//,/\/tests?\//,/\.test$/,/\.spec$/];return _0x538b78[_0x4c1f55(0x1e0)](_0x57656c=>_0x57656c['test'](_0x3ef910));}[a0_0x3449c6(0x235)](_0x46a147,_0x89492f){const _0x26af6f=a0_0x3449c6;if(_0x89492f==='javascript'||_0x89492f===_0x26af6f(0x203))return _0x46a147[_0x26af6f(0x1d4)]||_0x46a147[_0x26af6f(0x234)];if(_0x89492f==='python')return _0x46a147['bandit']||_0x46a147[_0x26af6f(0x1d4)];return![];}['normalizeResults'](_0x416389){const _0x519d71=a0_0x3449c6;return _0x416389['map'](_0x38201c=>({'file':_0x38201c['file'],'line':_0x38201c['line']||0x1,'column':_0x38201c['column']||0x1,'severity':_0x38201c['severity']||STATIC_ANALYSIS[_0x519d71(0x22d)]['WARNING'],'rule':_0x38201c[_0x519d71(0x23e)]||'unknown','message':_0x38201c['message']||'Security\x20issue\x20detected','category':'security','scanner':_0x38201c['scanner'],'cwe':_0x38201c[_0x519d71(0x211)]||null,'owasp':_0x38201c['owasp']||null,'confidence':_0x38201c['confidence']||null,'fixable':_0x38201c[_0x519d71(0x1fb)]||![],'remediation':_0x38201c['remediation']||_0x38201c[_0x519d71(0x208)]||null,'references':_0x38201c['references']||[],'package':_0x38201c['package']||null}));}['mapSemgrepSeverity'](_0x29bd45){const _0x199d70=a0_0x3449c6,_0x6fa4c6={'ERROR':STATIC_ANALYSIS[_0x199d70(0x22d)]['CRITICAL'],'WARNING':STATIC_ANALYSIS['SEVERITY'][_0x199d70(0x1d6)],'INFO':STATIC_ANALYSIS['SEVERITY']['WARNING']};return _0x6fa4c6[_0x29bd45?.['toUpperCase']()]||STATIC_ANALYSIS[_0x199d70(0x22d)][_0x199d70(0x240)];}['mapBanditSeverity'](_0x3ace7b){const _0x4bc80a=a0_0x3449c6,_0x14d60d={'HIGH':STATIC_ANALYSIS[_0x4bc80a(0x22d)][_0x4bc80a(0x200)],'MEDIUM':STATIC_ANALYSIS['SEVERITY']['ERROR'],'LOW':STATIC_ANALYSIS[_0x4bc80a(0x22d)]['WARNING']};return _0x14d60d[_0x3ace7b?.[_0x4bc80a(0x21a)]()]||STATIC_ANALYSIS[_0x4bc80a(0x22d)]['WARNING'];}[a0_0x3449c6(0x1dc)](_0x13b7fd){const _0x2c6cfe=a0_0x3449c6;return _0x13b7fd===0x2?STATIC_ANALYSIS[_0x2c6cfe(0x22d)]['ERROR']:STATIC_ANALYSIS[_0x2c6cfe(0x22d)]['WARNING'];}['mapNpmSeverity'](_0x4507fb){const _0x3dd029=a0_0x3449c6,_0x2d052b={'critical':STATIC_ANALYSIS['SEVERITY']['CRITICAL'],'high':STATIC_ANALYSIS['SEVERITY']['CRITICAL'],'moderate':STATIC_ANALYSIS['SEVERITY'][_0x3dd029(0x1d6)],'low':STATIC_ANALYSIS[_0x3dd029(0x22d)]['WARNING'],'info':STATIC_ANALYSIS[_0x3dd029(0x22d)][_0x3dd029(0x1f6)]};return _0x2d052b[_0x4507fb?.['toLowerCase']()]||STATIC_ANALYSIS[_0x3dd029(0x22d)][_0x3dd029(0x240)];}['mapPipAuditSeverity'](_0x4baf03){const _0x2a6409=a0_0x3449c6;if(!_0x4baf03)return STATIC_ANALYSIS[_0x2a6409(0x22d)]['ERROR'];const _0x177984={'critical':STATIC_ANALYSIS['SEVERITY'][_0x2a6409(0x200)],'high':STATIC_ANALYSIS['SEVERITY']['CRITICAL'],'medium':STATIC_ANALYSIS['SEVERITY'][_0x2a6409(0x1d6)],'low':STATIC_ANALYSIS[_0x2a6409(0x22d)][_0x2a6409(0x240)]};return _0x177984[_0x4baf03?.['toLowerCase']()]||STATIC_ANALYSIS['SEVERITY'][_0x2a6409(0x1d6)];}async['getScannerStatus'](){const _0x5eaa42=await this['detectAvailableScanners']();return{'scanners':_0x5eaa42,'recommendations':this['getInstallRecommendations'](_0x5eaa42)};}['getInstallRecommendations'](_0xcc5829){const _0x4d4e8d=a0_0x3449c6,_0x54144a=[];return!_0xcc5829[_0x4d4e8d(0x1d4)]&&_0x54144a['push']({'scanner':_0x4d4e8d(0x1d3),'reason':'Multi-language\x20SAST\x20with\x20extensive\x20security\x20rules','install':'pip\x20install\x20semgrep\x20OR\x20use\x20Docker:\x20docker\x20pull\x20returntocorp/semgrep','priority':_0x4d4e8d(0x207)}),!_0xcc5829[_0x4d4e8d(0x22e)]&&_0x54144a[_0x4d4e8d(0x229)]({'scanner':'Bandit','reason':'Python\x20security\x20scanner','install':'pip\x20install\x20bandit','priority':'medium'}),!_0xcc5829['eslintSecurity']&&_0x54144a['push']({'scanner':'eslint-plugin-security','reason':_0x4d4e8d(0x237),'install':_0x4d4e8d(0x224),'priority':_0x4d4e8d(0x230)}),!_0xcc5829[_0x4d4e8d(0x1e2)]&&_0x54144a[_0x4d4e8d(0x229)]({'scanner':_0x4d4e8d(0x1c6),'reason':_0x4d4e8d(0x1ea),'install':_0x4d4e8d(0x242),'priority':_0x4d4e8d(0x1e9)}),_0x54144a;}}export default SecurityAnalyzer;function a0_0x1baa(){const _0x488fdf=['qMfUzgL0ig5VDcbHDMfPBgfIBgu','CNvUu2vTz3jLCa','zxnSAw50u2vJDxjPDhK','AgfZu2nHBM5LCNngB3jmyw5NDwfNzq','BgLUzxm','sMf2yvnJCMLWDc9uExbLu2nYAxb0ihnLy3vYAxr5ihj1BgvZ','CMvMzxjLBMnLCW','zxnSAw50lxbSDwDPBI1Zzwn1CML0EsbUB3qGyxzHAwXHyMXL','DgL0Bgu','CgfYC2vtzw1NCMvWuMvZDwX0CW','BwfWugLWqxvKAxrtzxzLCML0Eq','qMfUzgL0ihnJyw4GzMfPBgvK','CNvSzq','CgfYC2vqAxbbDwrPDfjLC3vSDhm','v0fstKLorW','y3DK','CgLWigLUC3rHBgWGCgLWlwf1zgL0','DNvSBNm','zxH0CMe','u2vTz3jLCcbUB3qGyxzHAwXHyMXL','CgLWlwf1zgL0','CgfYC2voCg1bDwrPDfjLC3vSDhm','AxnZDwvFy3DL','CgfJA2fNzs5QC29U','Bw9Yzv9PBMzV','mtq1D1z6z1nL','mtCXAgLwzfv4','CNvUqMfUzgL0','C2v2zxjPDhK','BgvUz3rO','BgLUzq','yMfUzgL0ic0TDMvYC2LVBG','u2vJDxjPDhKGDNvSBMvYywjPBgL0Eq','u2vTz3jLCa','C2vTz3jLCa','zgvIDwC','rvjst1i','zgv0zwn0tgfUz3vHz2u','CgX1z2LUoNnLy3vYAxr5l3jLy29TBwvUzgvK','AM9PBG','lNnJyw5UzxjZ','Dg9mB3DLCKnHC2u','BwfWrvnmAw50u2v2zxjPDhK','AxnZDwvFDgv4Da','CgfYC2vfu0XPBNrszxn1BhrZ','CNvSzuLK','C29Tzq','CgLWlwf1zgL0igrLDgvJDgvK','CgLWqxvKAxq','ChL0Ag9U','BNbTlq','AMf2yxnJCMLWDa','B3DHC3a','BM9Kzv9TB2r1BgvZ','zxnSAw50lxnLy3vYAxr5','Bg93','uhL0Ag9UigrLCgvUzgvUy3KGDNvSBMvYywjPBgL0EsbZy2fUBMvY','CgLWlwf1zgL0ic0TzM9YBwf0igPZB24','CMvXDwLYzw1LBNrZlNr4Da','yxzHAwXHyMXLu2nHBM5LCNm','Bwv0ywrHDge','mtu3nJuYmhLryu95Ca','zMLSzw5HBwu','C291CMnL','nJe4mZjJzePhzuC','DNvSBMvYywjPBgL0AwvZ','BNbTigXPC3qGzxnSAw50lxbSDwDPBI1Zzwn1CML0EsaTlwrLChrOptaGls1QC29U','AxnbCNjHEq','su5gtW','u2vJDxjPDhKGAxnZDwuGzgv0zwn0zwq','ywXPyxnLCW','zML4qxzHAwXHyMXL','C3rHCNrZv2L0Aa','zML4ywjSzq','BwvZC2fNzq','AxnZDwvFC2v2zxjPDhK','C3rHCNq','ywnJzxnZ','q1jjveLdquW','C2vJDxjPDhK','BwfWu2vTz3jLCfnLDMvYAxr5','DhLWzxnJCMLWDa','ndGWnZC3DM5PAKfW','CNvUrvnmAw50u2vJDxjPDhK','tM8GCMvXDwLYzw1LBNrZlNr4DcbMB3vUzcWGC2TPChbPBMCGCgLWlwf1zgL0','AgLNAa','Bw9YzuLUzM8','C3rKB3v0','zxH0BMfTzq','yw5HBhL6zvbYB2PLy3q','CgfYC2vcyw5KAxrszxn1BhrZ','BNbTqxvKAxq','BwfWtNbTu2v2zxjPDhK','zxnSAw50','Axnuzxn0rMLSzq','y3DL','mZK0ntGWu1jzqMX5','mJm4Eezvzgj5','qMfUzgL0ihnJyw5UzxiGzgv0zwn0zwq','yw5HBhL6zq','BgLUzv9UDw1Izxi','qxzHAwXHyMXL','zgvWzw5Kzw5JAwvZ','tM8GCgfJA2fNzs5QC29UigzVDw5KlcbZA2LWCgLUzYbUCg0GyxvKAxq','Dg9vChbLCKnHC2u','Bgf0zxn0','odmWmJu2C05gy1fP','Bg9Nz2vY','BM9YBwfSAxPLuMvZDwX0CW','zxjYB3i','u2vTz3jLCcbZy2fUBMvYigrLDgvJDgvKicHSB2nHBcK','odK4nZr3CurlsK8','oteXmtCYCeTssLbm','BwvZC2fNzxm','BNbTigLUC3rHBgWGls1ZyxzLlwrLDIbLC2XPBNqTCgX1z2LUlxnLy3vYAxr5','zw50CMLLCW','zxnSAw50lxbSDwDPBI1Zzwn1CML0Eq','BMfTzq','CMvZDwX0CW','ChvZAa','CMfUz2u','CNvUtNbTqxvKAxq','CgfYC2u','u0vwrvjjvfK','yMfUzgL0','DMLH','BwvKAxvT','Bg9JywXty2fUBMvYrgLY'];a0_0x1baa=function(){return _0x488fdf;};return a0_0x1baa();}
1
+ function a0_0x5375(_0x36e79b,_0x17c8e7){_0x36e79b=_0x36e79b-0x16e;const _0x1eba08=a0_0x1eba();let _0x537520=_0x1eba08[_0x36e79b];if(a0_0x5375['OquPsQ']===undefined){var _0x2f5abc=function(_0x245dcf){const _0x14e44f='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3c561f='',_0x415bab='';for(let _0x1ac569=0x0,_0x27fb1c,_0x58537e,_0x4a6537=0x0;_0x58537e=_0x245dcf['charAt'](_0x4a6537++);~_0x58537e&&(_0x27fb1c=_0x1ac569%0x4?_0x27fb1c*0x40+_0x58537e:_0x58537e,_0x1ac569++%0x4)?_0x3c561f+=String['fromCharCode'](0xff&_0x27fb1c>>(-0x2*_0x1ac569&0x6)):0x0){_0x58537e=_0x14e44f['indexOf'](_0x58537e);}for(let _0xc98941=0x0,_0x360102=_0x3c561f['length'];_0xc98941<_0x360102;_0xc98941++){_0x415bab+='%'+('00'+_0x3c561f['charCodeAt'](_0xc98941)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x415bab);};a0_0x5375['FaLSXT']=_0x2f5abc,a0_0x5375['ZrVAJl']={},a0_0x5375['OquPsQ']=!![];}const _0x45505a=_0x1eba08[0x0],_0x3625c3=_0x36e79b+_0x45505a,_0x9191a1=a0_0x5375['ZrVAJl'][_0x3625c3];return!_0x9191a1?(_0x537520=a0_0x5375['FaLSXT'](_0x537520),a0_0x5375['ZrVAJl'][_0x3625c3]=_0x537520):_0x537520=_0x9191a1,_0x537520;}const a0_0x992d57=a0_0x5375;(function(_0x11ea73,_0x2e1b78){const _0x2fa5b5=a0_0x5375,_0x21bdaf=_0x11ea73();while(!![]){try{const _0x1c245a=-parseInt(_0x2fa5b5(0x1a2))/0x1*(parseInt(_0x2fa5b5(0x1b5))/0x2)+-parseInt(_0x2fa5b5(0x17f))/0x3*(parseInt(_0x2fa5b5(0x1a7))/0x4)+-parseInt(_0x2fa5b5(0x1c0))/0x5+-parseInt(_0x2fa5b5(0x181))/0x6*(-parseInt(_0x2fa5b5(0x172))/0x7)+-parseInt(_0x2fa5b5(0x1ed))/0x8+parseInt(_0x2fa5b5(0x1ae))/0x9*(-parseInt(_0x2fa5b5(0x188))/0xa)+parseInt(_0x2fa5b5(0x194))/0xb;if(_0x1c245a===_0x2e1b78)break;else _0x21bdaf['push'](_0x21bdaf['shift']());}catch(_0x4043f9){_0x21bdaf['push'](_0x21bdaf['shift']());}}}(a0_0x1eba,0x2d60f));import{exec}from'child_process';import{promisify}from'util';import a0_0x3c561f from'path';import a0_0x415bab from'fs/promises';function a0_0x1eba(){const _0x33b846=['AxnZDwvFy3DL','zML4qxzHAwXHyMXL','zxnSAw50lxbSDwDPBI1Zzwn1CML0EsbUB3qGyxzHAwXHyMXL','BNbTlwf1zgL0','CgfYC2vqAxbbDwrPDfjLC3vSDhm','zxnSAw50lxbSDwDPBI1Zzwn1CML0EsbKzxrLy3rLza','CNvSzq','AMf2yxnJCMLWDa','CgfYC2vfu0XPBNrszxn1BhrZ','BNbTigf1zgL0igf2ywLSywjSzq','Bw9YzuLUzM8','ntqYmtiWq3D5y1v3','AxnbCNjHEq','y29UzMLKzw5Jzq','zgvIDwC','y29SDw1U','mZa5otzhBu5ewhK','zgvWzw5Kzw5JAwvZ','C2v2zxjPDhK','tM8GC2vJDxjPDhKGC2nHBM5LCNmGyxzHAwXHyMXLigzVCIbSyw5NDwfNzq','BgLUzxm','qxzHAwXHyMXL','CgfYC2voCg1bDwrPDfjLC3vSDhm','ywXPyxnLCW','zxjYB3i','z2v0u2nHBM5LCLn0yxr1CW','C2vJDxjPDhKV','u0vwrvjjvfK','yMfUzgL0','odm0ntu1yNPvC3P1','qMfUzgL0ihnJyw4GzMfPBgvK','mJq2rhrPqxvx','CMvZDwX0CW','Bwv0ywrHDge','CgfYC2vcyw5KAxrszxn1BhrZ','CNvUtNbTqxvKAxq','CMvMzxjLBMnLCW','CgLWlwf1zgL0','mtbLwvD0ALa','u2vJDxjPDhKGAxnZDwuGzgv0zwn0zwq','zgLYBMfTzq','BM9YBwfSAxPLuMvZDwX0CW','Axnuzxn0rMLSzq','DNvSBNm','Dg9vChbLCKnHC2u','DgL0Bgu','BwfWtNbTu2v2zxjPDhK','CgLWlwf1zgL0ic0TzM9YBwf0igPZB24','Bw9Yzv9PBMzV','y2HLy2TFAwq','mti4nZi3odn0EvrsAeC','C2vJDxjPDhK','u2vTz3jLCa','q1jjveLdquW','yMfUzgL0ic1MigPZB24GiG','BwvZC2fNzq','CgfJA2fNzq','tM8GCMvXDwLYzw1LBNrZlNr4DcbMB3vUzcWGC2TPChbPBMCGCgLWlwf1zgL0','ChL0Ag9U','rMfPBgvKihrVihbHCNnLifnLBwDYzxaGB3v0Chv0','zw50CMLLCW','DgvZDa','D2fYBG','C3rKB3v0','mu56zMfPsq','zML4x3zLCNnPB25Z','DMvYC2LVBG','rvnmAw50ihnLy3vYAxr5ihnJyw4GzMfPBgvK','BwfWrvnmAw50u2v2zxjPDhK','ngzgu05cva','CNvUqMfUzgL0','q1Dflq','zxnSAw50u2vJDxjPDhK','CNvSzuLK','C291CMnL','BwfWqMfUzgL0u2v2zxjPDhK','mtK0mtKYmwTivMTzrG','CgLWqxvKAxq','AgfZu2nHBM5LCNngB3jmyw5NDwfNzq','yw5HBhL6zq','yw5HBhL6zvbYB2PLy3q','u2vJDxjPDhKGDNvSBMvYywjPBgL0Eq','rvjst1i','nZi1mteYq1L4u252','CMvXDwLYzw1LBNrZlNr4Da','DhLWzxnJCMLWDa','zML4','C2TPCfrLC3rgAwXLCW','BNbTqxvKAxq','u2vTz3jLCcbZy2fUigzHAwXLza','CgLWigLUC3rHBgWGyMfUzgL0','Dg9mB3DLCKnHC2u','qMfUzgL0ihnJyw5UzxiGzgv0zwn0zwq','tM8GCgfJA2fNzs5QC29UigzVDw5KlcbZA2LWCgLUzYbUCg0GyxvKAxq','mtiWodi3nvLfterNAa','BNbTig5VDcbHDMfPBgfIBgu','CgfYC2u','BwvZC2fNzxm','DMLH','z2v0sw5ZDgfSBfjLy29TBwvUzgf0Aw9UCW','Bg9Nz2vY','zML4ywjSzq','CgfJA2fNzs5QC29U','u2vTz3jLCcbZy2fUBMvYigrLDgvJDgvKicHSB2nHBcK','AM9PBG','su5gtW','zgv0zwn0tgfUz3vHz2u','DxjS','zxH0CMe','ChvZAa','qMfUzgL0ig5VDcbHDMfPBgfIBgu','y29S','BMfTzq','CNvUu2vTz3jLCa','zxnSAw50lxbSDwDPBI1Zzwn1CML0Eq','zgv0zwn0qxzHAwXHyMXLu2nHBM5LCNm','CNvUrvnmAw50u2vJDxjPDhK','C3rHCNq','v0fstKLorW','C2vTz3jLCa','y3DK','Bg93','BgLUzv9UDw1Izxi','AxnZDwvFy29UzMLKzw5Jzq','CgLWlwf1zgL0ig5VDcbHDMfPBgfIBgu','AxnZDwvFDgv4Da','yMfUzgL0ic0TDMvYC2LVBG','BM9Kzv9TB2r1BgvZ'];a0_0x1eba=function(){return _0x33b846;};return a0_0x1eba();}import{STATIC_ANALYSIS}from'../utilities/constants.js';const execAsync=promisify(exec);class SecurityAnalyzer{constructor(_0x1ac569=null){const _0x566422=a0_0x5375;this[_0x566422(0x1c6)]=_0x1ac569,this['availableScanners']=null,this['scannerCache']=new Map(),this['localScannerDir']=a0_0x3c561f[_0x566422(0x1ca)](process[_0x566422(0x1da)](),_0x566422(0x1e1),'.scanners');}async['detectAvailableScanners'](){const _0x336260=a0_0x5375;if(this['availableScanners']!==null)return this['availableScanners'];const _0x27fb1c={'semgrep':![],'bandit':![],'npmAudit':![],'pipAudit':![],'eslintSecurity':![]};try{const _0x58537e=a0_0x3c561f[_0x336260(0x1ca)](this['localScannerDir'],'semgrep');try{await a0_0x415bab['access'](_0x58537e),_0x27fb1c['semgrep']=!![],this[_0x336260(0x1c6)]?.[_0x336260(0x170)](_0x336260(0x1c9));}catch{await execAsync('semgrep\x20--version',{'timeout':0x1388}),_0x27fb1c[_0x336260(0x1d9)]=!![],this['logger']?.[_0x336260(0x170)]('Semgrep\x20scanner\x20detected\x20(system)');}}catch(_0x4a6537){this['logger']?.['debug']('Semgrep\x20not\x20available',{'error':_0x4a6537[_0x336260(0x199)]});}try{await execAsync(_0x336260(0x1e0),{'timeout':0x1388}),_0x27fb1c['bandit']=!![],this[_0x336260(0x1c6)]?.[_0x336260(0x170)](_0x336260(0x1be));}catch(_0xc98941){this['logger']?.[_0x336260(0x170)](_0x336260(0x1d0),{'error':_0xc98941[_0x336260(0x199)]});}try{await execAsync('npm\x20--version',{'timeout':0x1388}),_0x27fb1c[_0x336260(0x1ba)]=!![],this[_0x336260(0x1c6)]?.['debug'](_0x336260(0x1eb));}catch(_0x360102){this['logger']?.[_0x336260(0x170)](_0x336260(0x1c1),{'error':_0x360102[_0x336260(0x199)]});}try{await execAsync('pip-audit\x20--version',{'timeout':0x1388}),_0x27fb1c['pipAudit']=!![],this['logger']?.[_0x336260(0x170)]('pip-audit\x20detected');}catch(_0x1f752e){this[_0x336260(0x1c6)]?.[_0x336260(0x170)](_0x336260(0x1de),{'error':_0x1f752e['message']});}try{const _0x314786=await execAsync('npm\x20list\x20eslint-plugin-security\x20--depth=0\x20--json',{'timeout':0x1388,'cwd':process['cwd']()}),_0x2ed512=JSON[_0x336260(0x1c2)](_0x314786['stdout']);_0x2ed512[_0x336260(0x173)]&&_0x2ed512['dependencies']['eslint-plugin-security']&&(_0x27fb1c['eslintSecurity']=!![],this[_0x336260(0x1c6)]?.[_0x336260(0x170)](_0x336260(0x1e7)));}catch(_0x232e48){this['logger']?.['debug'](_0x336260(0x1e4),{'error':_0x232e48['message']});}return this['availableScanners']=_0x27fb1c,_0x27fb1c;}async[a0_0x992d57(0x1b1)](_0x23da31,_0x505772,_0x64fa92={}){const _0x1586fd=a0_0x992d57,_0x2bf63c=[],_0x32bdbc=await this['detectAvailableScanners'](),_0x46c2f7=this[_0x1586fd(0x1cc)](_0x23da31);if(_0x64fa92[_0x1586fd(0x1b9)]!==![]&&this[_0x1586fd(0x18c)](_0x23da31))return this[_0x1586fd(0x1c6)]?.[_0x1586fd(0x170)]('Skipping\x20test\x20file\x20for\x20security\x20scan',{'filePath':_0x23da31}),[];if(_0x46c2f7===_0x1586fd(0x1e9)||_0x46c2f7===_0x1586fd(0x1b7)){if(_0x32bdbc['semgrep']){const _0x4d6f23=await this[_0x1586fd(0x1d3)](_0x23da31,[_0x46c2f7],_0x64fa92);_0x2bf63c['push'](..._0x4d6f23);}if(_0x32bdbc[_0x1586fd(0x1aa)]){const _0x5634a0=await this[_0x1586fd(0x1d6)](_0x23da31,_0x505772,_0x64fa92);_0x2bf63c[_0x1586fd(0x1cf)](..._0x5634a0);}}if(_0x46c2f7===_0x1586fd(0x19c)){if(_0x32bdbc['bandit']){const _0x5719c8=await this[_0x1586fd(0x1a8)](_0x23da31,_0x64fa92);_0x2bf63c[_0x1586fd(0x1cf)](..._0x5719c8);}if(_0x32bdbc['semgrep']){const _0x5923fa=await this['runSemgrep'](_0x23da31,[_0x46c2f7],_0x64fa92);_0x2bf63c[_0x1586fd(0x1cf)](..._0x5923fa);}}return _0x2bf63c['length']===0x0&&!this[_0x1586fd(0x1b0)](_0x32bdbc,_0x46c2f7)&&this['logger']?.[_0x1586fd(0x1a0)](_0x1586fd(0x175),{'language':_0x46c2f7,'filePath':_0x23da31}),this['normalizeResults'](_0x2bf63c);}async[a0_0x992d57(0x1b2)](_0x39cd5e,_0xed3248,_0x30fd3f={}){const _0x333716=a0_0x992d57,_0x198678=[],_0x24643a=await this[_0x333716(0x1d5)]();if(_0xed3248===_0x333716(0x1e9)||_0xed3248==='typescript'){if(_0x24643a['npmAudit']){const _0x141ff9=await this['runNpmAudit'](_0x39cd5e,_0x30fd3f);_0x198678[_0x333716(0x1cf)](..._0x141ff9);}}if(_0xed3248===_0x333716(0x19c)){if(_0x24643a['pipAudit']){const _0x6f9f79=await this['runPipAudit'](_0x39cd5e,_0x30fd3f);_0x198678['push'](..._0x6f9f79);}}return this['normalizeResults'](_0x198678);}async['runSemgrep'](_0x58edf7,_0x478d3e,_0x2defb3={}){const _0x4c3f4e=a0_0x992d57;try{const _0x5899a6=a0_0x3c561f[_0x4c3f4e(0x18a)](_0x58edf7),_0x194114=await execAsync('semgrep\x20--config=auto\x20--json\x20\x22'+_0x58edf7+'\x22',{'maxBuffer':0xa*0x400*0x400,'timeout':0x7530,'cwd':_0x5899a6}),_0x502914=JSON[_0x4c3f4e(0x1c2)](_0x194114[_0x4c3f4e(0x1a1)]);return this['parseSemgrepResults'](_0x502914);}catch(_0xe3b428){if(_0xe3b428[_0x4c3f4e(0x1a1)])try{const _0x2ccbc7=JSON[_0x4c3f4e(0x1c2)](_0xe3b428[_0x4c3f4e(0x1a1)]);return this['parseSemgrepResults'](_0x2ccbc7);}catch(_0x1d298c){this[_0x4c3f4e(0x1c6)]?.['error'](_0x4c3f4e(0x19d),{'error':_0x1d298c['message'],'stdout':_0xe3b428[_0x4c3f4e(0x1a1)]});}return this[_0x4c3f4e(0x1c6)]?.['error'](_0x4c3f4e(0x1bb),{'error':_0xe3b428[_0x4c3f4e(0x199)]}),[];}}['parseSemgrepResults'](_0x59c329){const _0x1cfaff=a0_0x992d57,_0x553b9b=[];if(_0x59c329['results']&&Array[_0x1cfaff(0x16e)](_0x59c329[_0x1cfaff(0x182)]))for(const _0x3d7b37 of _0x59c329[_0x1cfaff(0x182)]){_0x553b9b['push']({'file':_0x3d7b37['path'],'line':_0x3d7b37['start']?.['line']||0x1,'column':_0x3d7b37[_0x1cfaff(0x1d7)]?.[_0x1cfaff(0x1d1)]||0x1,'severity':this['mapSemgrepSeverity'](_0x3d7b37[_0x1cfaff(0x1ce)]?.['severity']),'rule':_0x3d7b37[_0x1cfaff(0x193)],'message':_0x3d7b37['extra']?.[_0x1cfaff(0x199)]||_0x3d7b37['extra']?.[_0x1cfaff(0x176)]||_0x1cfaff(0x189),'category':'security','scanner':'semgrep','cwe':_0x3d7b37[_0x1cfaff(0x1ce)]?.[_0x1cfaff(0x183)]?.['cwe'],'owasp':_0x3d7b37['extra']?.['metadata']?.['owasp'],'confidence':_0x3d7b37[_0x1cfaff(0x1ce)]?.[_0x1cfaff(0x183)]?.[_0x1cfaff(0x16f)],'references':_0x3d7b37[_0x1cfaff(0x1ce)]?.['metadata']?.[_0x1cfaff(0x186)]});}return _0x553b9b;}async[a0_0x992d57(0x1a8)](_0x31e074,_0xcf8ce3={}){const _0x2c6939=a0_0x992d57;try{const _0x15c499=await execAsync(_0x2c6939(0x198)+_0x31e074+'\x22',{'maxBuffer':0xa*0x400*0x400,'timeout':0x7530}),_0x4704de=JSON['parse'](_0x15c499[_0x2c6939(0x1a1)]);return this[_0x2c6939(0x184)](_0x4704de);}catch(_0x2aabd3){if(_0x2aabd3['stdout'])try{const _0x5e42f4=JSON[_0x2c6939(0x1c2)](_0x2aabd3['stdout']);return this[_0x2c6939(0x184)](_0x5e42f4);}catch(_0x4292d6){this[_0x2c6939(0x1c6)]?.[_0x2c6939(0x17a)]('Failed\x20to\x20parse\x20Bandit\x20output',{'error':_0x4292d6['message']});}return this['logger']?.['error'](_0x2c6939(0x180),{'error':_0x2aabd3[_0x2c6939(0x199)]}),[];}}[a0_0x992d57(0x184)](_0x2ecbbe){const _0x2d552a=a0_0x992d57,_0x1e495a=[];if(_0x2ecbbe['results']&&Array['isArray'](_0x2ecbbe['results']))for(const _0x4104ab of _0x2ecbbe['results']){_0x1e495a['push']({'file':_0x4104ab['filename'],'line':_0x4104ab[_0x2d552a(0x1dc)]||0x1,'column':_0x4104ab['col_offset']||0x1,'severity':this['mapBanditSeverity'](_0x4104ab['issue_severity']),'rule':_0x4104ab['test_id'],'message':_0x4104ab[_0x2d552a(0x1df)],'category':'security','scanner':'bandit','cwe':_0x4104ab[_0x2d552a(0x1e2)]?.['id']?_0x2d552a(0x1a9)+_0x4104ab['issue_cwe']['id']:null,'confidence':_0x4104ab[_0x2d552a(0x1dd)],'moreInfo':_0x4104ab[_0x2d552a(0x192)]});}return _0x1e495a;}async[a0_0x992d57(0x1d6)](_0x2d22bf,_0xd02dd3,_0x4a72a9={}){const _0xc16222=a0_0x992d57;try{const {ESLint:_0x2d0993}=await import('eslint'),_0x380df6=new _0x2d0993({'overrideConfig':{'plugins':[_0xc16222(0x195)],'extends':['plugin:security/recommended'],'parserOptions':{'ecmaVersion':'latest','sourceType':'module'}},'useEslintrc':![]}),_0x4a37b7=await _0x380df6['lintText'](_0xd02dd3,{'filePath':_0x2d22bf});return this[_0xc16222(0x1ea)](_0x4a37b7,_0x2d22bf);}catch(_0x288c99){return this['logger']?.[_0xc16222(0x17a)](_0xc16222(0x1a5),{'error':_0x288c99[_0xc16222(0x199)],'filePath':_0x2d22bf}),[];}}[a0_0x992d57(0x1ea)](_0x27b9a6,_0x5d2fad){const _0x3c6ecb=a0_0x992d57,_0x921f33=[];for(const _0xe3b259 of _0x27b9a6){if(_0xe3b259['messages']&&Array['isArray'](_0xe3b259['messages']))for(const _0xd536e4 of _0xe3b259[_0x3c6ecb(0x1c3)]){_0xd536e4[_0x3c6ecb(0x1ab)]&&_0xd536e4['ruleId']['startsWith'](_0x3c6ecb(0x17c))&&_0x921f33['push']({'file':_0x5d2fad,'line':_0xd536e4['line']||0x1,'column':_0xd536e4[_0x3c6ecb(0x171)]||0x1,'severity':this[_0x3c6ecb(0x1a6)](_0xd536e4['severity']),'rule':_0xd536e4[_0x3c6ecb(0x1ab)],'message':_0xd536e4['message'],'category':_0x3c6ecb(0x195),'scanner':'eslint-security','fixable':_0xd536e4[_0x3c6ecb(0x1b8)]!==undefined});}}return _0x921f33;}async[a0_0x992d57(0x185)](_0x4e21e9,_0x57ca1={}){const _0x2dcfe6=a0_0x992d57;try{const _0x3b5c57=a0_0x3c561f['join'](_0x4e21e9,_0x2dcfe6(0x1c8));try{await a0_0x415bab['access'](_0x3b5c57);}catch{return this['logger']?.['debug'](_0x2dcfe6(0x1bf)),[];}const _0x145214=await execAsync('npm\x20audit\x20--json',{'cwd':_0x4e21e9,'maxBuffer':0xa*0x400*0x400,'timeout':0xea60}),_0x3cf6e1=JSON['parse'](_0x145214[_0x2dcfe6(0x1a1)]);return this[_0x2dcfe6(0x178)](_0x3cf6e1);}catch(_0x35db56){if(_0x35db56[_0x2dcfe6(0x1a1)])try{const _0x480023=JSON['parse'](_0x35db56[_0x2dcfe6(0x1a1)]);return this[_0x2dcfe6(0x178)](_0x480023);}catch(_0x389847){this['logger']?.['error']('Failed\x20to\x20parse\x20npm\x20audit\x20output',{'error':_0x389847['message']});}return[];}}['parseNpmAuditResults'](_0x1e5bf3){const _0x2ed97d=a0_0x992d57,_0x3ba9d9=[];if(_0x1e5bf3['vulnerabilities'])for(const [_0x15a2d1,_0x5957d7]of Object[_0x2ed97d(0x19e)](_0x1e5bf3['vulnerabilities'])){_0x3ba9d9[_0x2ed97d(0x1cf)]({'file':'package.json','line':0x1,'column':0x1,'severity':this[_0x2ed97d(0x190)](_0x5957d7[_0x2ed97d(0x174)]),'rule':'npm-'+(_0x5957d7[_0x2ed97d(0x1c4)][0x0]?.[_0x2ed97d(0x1ac)]||'advisory'),'message':_0x15a2d1+':\x20'+(_0x5957d7[_0x2ed97d(0x1c4)][0x0]?.[_0x2ed97d(0x18f)]||'Security\x20vulnerability'),'category':_0x2ed97d(0x195),'scanner':_0x2ed97d(0x1e5),'package':_0x15a2d1,'vulnerableVersions':_0x5957d7['range'],'patchedVersions':_0x5957d7[_0x2ed97d(0x1e3)]?_0x2ed97d(0x177):'None','cve':_0x5957d7[_0x2ed97d(0x1c4)][0x0]?.['cve'],'cvss':_0x5957d7[_0x2ed97d(0x1c4)][0x0]?.['cvss'],'references':_0x5957d7[_0x2ed97d(0x1c4)][0x0]?.['url']?[_0x5957d7['via'][0x0][_0x2ed97d(0x1cd)]]:[]});}return _0x3ba9d9;}async['runPipAudit'](_0x54236f,_0x7bad99={}){const _0x4fb38=a0_0x992d57;try{const requirementsPath=a0_0x3c561f[_0x4fb38(0x1ca)](_0x54236f,_0x4fb38(0x1b6));try{await a0_0x415bab['access'](requirementsPath);}catch{return this['logger']?.['debug'](_0x4fb38(0x19b)),[];}const _0x4e37b9=await execAsync(_0x4fb38(0x191),{'cwd':_0x54236f,'maxBuffer':0xa*0x400*0x400,'timeout':0xea60}),_0x4eb157=JSON['parse'](_0x4e37b9['stdout']);return this['parsePipAuditResults'](_0x4eb157);}catch(_0x553b43){if(_0x553b43['stdout'])try{const _0x1b9da1=JSON[_0x4fb38(0x1c2)](_0x553b43[_0x4fb38(0x1a1)]);return this[_0x4fb38(0x1e6)](_0x1b9da1);}catch(_0x4c38d7){this[_0x4fb38(0x1c6)]?.['error']('Failed\x20to\x20parse\x20pip-audit\x20output',{'error':_0x4c38d7['message']});}return[];}}['parsePipAuditResults'](_0xb03396){const _0x3349cb=a0_0x992d57,_0x532124=[];if(_0xb03396['dependencies']&&Array[_0x3349cb(0x16e)](_0xb03396[_0x3349cb(0x173)]))for(const _0x13ef38 of _0xb03396['dependencies']){if(_0x13ef38[_0x3349cb(0x18d)]&&Array['isArray'](_0x13ef38['vulns']))for(const _0x21dfd0 of _0x13ef38[_0x3349cb(0x18d)]){_0x532124['push']({'file':_0x3349cb(0x1b6),'line':0x1,'column':0x1,'severity':this['mapPipAuditSeverity'](_0x21dfd0['severity']),'rule':_0x21dfd0['id'],'message':_0x13ef38[_0x3349cb(0x1d2)]+':\x20'+(_0x21dfd0['description']||_0x3349cb(0x1b3)),'category':'security','scanner':_0x3349cb(0x187),'package':_0x13ef38['name'],'vulnerableVersion':_0x13ef38[_0x3349cb(0x1a4)],'fixedVersions':_0x21dfd0[_0x3349cb(0x1a3)],'references':_0x21dfd0[_0x3349cb(0x179)]||[]});}}return _0x532124;}['detectLanguage'](_0xdc0fb9){const _0x2c2507=a0_0x992d57,_0x4051e2=a0_0x3c561f['extname'](_0xdc0fb9)[_0x2c2507(0x1bd)](),_0x23a0ec={'.js':_0x2c2507(0x1e9),'.jsx':'javascript','.mjs':'javascript','.cjs':'javascript','.ts':_0x2c2507(0x1b7),'.tsx':_0x2c2507(0x1b7),'.py':'python'};return _0x23a0ec[_0x4051e2]||null;}[a0_0x992d57(0x18c)](_0x1c519a){const _0x4222be=a0_0x992d57,_0x102616=[/\.test\./,/\.spec\./,/__tests__\//,/\/tests?\//,/\.test$/,/\.spec$/];return _0x102616['some'](_0x57c6e5=>_0x57c6e5[_0x4222be(0x19f)](_0x1c519a));}[a0_0x992d57(0x1b0)](_0x3ef669,_0x4df42a){const _0x3f0b91=a0_0x992d57;if(_0x4df42a==='javascript'||_0x4df42a===_0x3f0b91(0x1b7))return _0x3ef669['semgrep']||_0x3ef669[_0x3f0b91(0x1aa)];if(_0x4df42a===_0x3f0b91(0x19c))return _0x3ef669[_0x3f0b91(0x17e)]||_0x3ef669[_0x3f0b91(0x1d9)];return![];}[a0_0x992d57(0x18b)](_0x43ead6){const _0x43612=a0_0x992d57;return _0x43ead6['map'](_0x2af538=>({'file':_0x2af538['file'],'line':_0x2af538['line']||0x1,'column':_0x2af538[_0x43612(0x171)]||0x1,'severity':_0x2af538[_0x43612(0x174)]||STATIC_ANALYSIS[_0x43612(0x17d)][_0x43612(0x1d8)],'rule':_0x2af538[_0x43612(0x1e8)]||'unknown','message':_0x2af538['message']||_0x43612(0x189),'category':'security','scanner':_0x2af538['scanner'],'cwe':_0x2af538['cwe']||null,'owasp':_0x2af538['owasp']||null,'confidence':_0x2af538['confidence']||null,'fixable':_0x2af538[_0x43612(0x1c7)]||![],'remediation':_0x2af538['remediation']||_0x2af538[_0x43612(0x1ec)]||null,'references':_0x2af538[_0x43612(0x186)]||[],'package':_0x2af538[_0x43612(0x19a)]||null}));}['mapSemgrepSeverity'](_0x13ba50){const _0x4885b2=a0_0x992d57,_0x184c9e={'ERROR':STATIC_ANALYSIS['SEVERITY']['CRITICAL'],'WARNING':STATIC_ANALYSIS['SEVERITY'][_0x4885b2(0x1b4)],'INFO':STATIC_ANALYSIS[_0x4885b2(0x17d)][_0x4885b2(0x1d8)]};return _0x184c9e[_0x13ba50?.[_0x4885b2(0x18e)]()]||STATIC_ANALYSIS['SEVERITY']['WARNING'];}[a0_0x992d57(0x1ad)](_0x498c99){const _0x9a04b1=a0_0x992d57,_0x900b7c={'HIGH':STATIC_ANALYSIS[_0x9a04b1(0x17d)]['CRITICAL'],'MEDIUM':STATIC_ANALYSIS['SEVERITY'][_0x9a04b1(0x1b4)],'LOW':STATIC_ANALYSIS['SEVERITY']['WARNING']};return _0x900b7c[_0x498c99?.['toUpperCase']()]||STATIC_ANALYSIS[_0x9a04b1(0x17d)][_0x9a04b1(0x1d8)];}['mapESLintSeverity'](_0x28c73d){const _0x39be6f=a0_0x992d57;return _0x28c73d===0x2?STATIC_ANALYSIS['SEVERITY']['ERROR']:STATIC_ANALYSIS['SEVERITY'][_0x39be6f(0x1d8)];}[a0_0x992d57(0x190)](_0x35314f){const _0x550c58=a0_0x992d57,_0x2bc604={'critical':STATIC_ANALYSIS['SEVERITY'][_0x550c58(0x197)],'high':STATIC_ANALYSIS[_0x550c58(0x17d)][_0x550c58(0x197)],'moderate':STATIC_ANALYSIS['SEVERITY'][_0x550c58(0x1b4)],'low':STATIC_ANALYSIS[_0x550c58(0x17d)][_0x550c58(0x1d8)],'info':STATIC_ANALYSIS['SEVERITY'][_0x550c58(0x1cb)]};return _0x2bc604[_0x35314f?.[_0x550c58(0x1bd)]()]||STATIC_ANALYSIS['SEVERITY']['WARNING'];}['mapPipAuditSeverity'](_0x1a35fb){const _0x55ed55=a0_0x992d57;if(!_0x1a35fb)return STATIC_ANALYSIS['SEVERITY'][_0x55ed55(0x1b4)];const _0x3a61f7={'critical':STATIC_ANALYSIS['SEVERITY'][_0x55ed55(0x197)],'high':STATIC_ANALYSIS[_0x55ed55(0x17d)]['CRITICAL'],'medium':STATIC_ANALYSIS['SEVERITY'][_0x55ed55(0x1b4)],'low':STATIC_ANALYSIS['SEVERITY']['WARNING']};return _0x3a61f7[_0x1a35fb?.[_0x55ed55(0x1bd)]()]||STATIC_ANALYSIS[_0x55ed55(0x17d)]['ERROR'];}async[a0_0x992d57(0x17b)](){const _0x40a4c2=await this['detectAvailableScanners']();return{'scanners':_0x40a4c2,'recommendations':this['getInstallRecommendations'](_0x40a4c2)};}[a0_0x992d57(0x1c5)](_0x40449c){const _0xce22df=a0_0x992d57,_0x18eafd=[];return!_0x40449c[_0xce22df(0x1d9)]&&_0x18eafd['push']({'scanner':_0xce22df(0x196),'reason':'Multi-language\x20SAST\x20with\x20extensive\x20security\x20rules','install':'pip\x20install\x20semgrep\x20OR\x20use\x20Docker:\x20docker\x20pull\x20returntocorp/semgrep','priority':'high'}),!_0x40449c[_0xce22df(0x17e)]&&_0x18eafd['push']({'scanner':'Bandit','reason':'Python\x20security\x20scanner','install':_0xce22df(0x1bc),'priority':'medium'}),!_0x40449c[_0xce22df(0x1aa)]&&_0x18eafd['push']({'scanner':_0xce22df(0x1d4),'reason':'JavaScript/TypeScript\x20security\x20rules','install':'npm\x20install\x20--save-dev\x20eslint-plugin-security','priority':'medium'}),!_0x40449c[_0xce22df(0x1af)]&&_0x18eafd[_0xce22df(0x1cf)]({'scanner':_0xce22df(0x187),'reason':'Python\x20dependency\x20vulnerability\x20scanner','install':'pip\x20install\x20pip-audit','priority':_0xce22df(0x1db)}),_0x18eafd;}}export default SecurityAnalyzer;
@@ -1 +1 @@
1
- const a0_0x293cb5=a0_0x1e5c;(function(_0x55652a,_0x2cc3ad){const _0x3bdc04=a0_0x1e5c,_0x5cf6e9=_0x55652a();while(!![]){try{const _0x25fc8e=parseInt(_0x3bdc04(0xbb))/0x1*(parseInt(_0x3bdc04(0x96))/0x2)+parseInt(_0x3bdc04(0xa8))/0x3*(parseInt(_0x3bdc04(0x9f))/0x4)+parseInt(_0x3bdc04(0xb4))/0x5+parseInt(_0x3bdc04(0xa3))/0x6+-parseInt(_0x3bdc04(0xab))/0x7+-parseInt(_0x3bdc04(0xa1))/0x8+-parseInt(_0x3bdc04(0xae))/0x9*(parseInt(_0x3bdc04(0xb9))/0xa);if(_0x25fc8e===_0x2cc3ad)break;else _0x5cf6e9['push'](_0x5cf6e9['shift']());}catch(_0x441bf4){_0x5cf6e9['push'](_0x5cf6e9['shift']());}}}(a0_0x1519,0xcb51b));import a0_0x142c68 from'typescript';import a0_0xcff81a from'path';function a0_0x1e5c(_0x3f3202,_0x1cdd86){_0x3f3202=_0x3f3202-0x94;const _0x15198e=a0_0x1519();let _0x1e5c0f=_0x15198e[_0x3f3202];if(a0_0x1e5c['vGhzkH']===undefined){var _0x411783=function(_0x20e88a){const _0x43f20c='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x142c68='',_0xcff81a='';for(let _0x2918e0=0x0,_0x3d75b7,_0x4f304b,_0x3b9e47=0x0;_0x4f304b=_0x20e88a['charAt'](_0x3b9e47++);~_0x4f304b&&(_0x3d75b7=_0x2918e0%0x4?_0x3d75b7*0x40+_0x4f304b:_0x4f304b,_0x2918e0++%0x4)?_0x142c68+=String['fromCharCode'](0xff&_0x3d75b7>>(-0x2*_0x2918e0&0x6)):0x0){_0x4f304b=_0x43f20c['indexOf'](_0x4f304b);}for(let _0x511ca8=0x0,_0x31f404=_0x142c68['length'];_0x511ca8<_0x31f404;_0x511ca8++){_0xcff81a+='%'+('00'+_0x142c68['charCodeAt'](_0x511ca8)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xcff81a);};a0_0x1e5c['OvjFzx']=_0x411783,a0_0x1e5c['VabIhB']={},a0_0x1e5c['vGhzkH']=!![];}const _0x4e6b8e=_0x15198e[0x0],_0xa4a728=_0x3f3202+_0x4e6b8e,_0x271918=a0_0x1e5c['VabIhB'][_0xa4a728];return!_0x271918?(_0x1e5c0f=a0_0x1e5c['OvjFzx'](_0x1e5c0f),a0_0x1e5c['VabIhB'][_0xa4a728]=_0x1e5c0f):_0x1e5c0f=_0x271918,_0x1e5c0f;}import{STATIC_ANALYSIS}from'../utilities/constants.js';function a0_0x1519(){const _0x98c755=['BgLUzq','BgvUz3rO','rxjYB3i','vhLWzvnJCMLWDcbHBMfSExnPCYbJB21WBgv0zwq','mtjHsw1mu0C','y29TCgLSzxjpChrPB25Z','ntm2mdiZmKfmq1jWtq','Aw5JBhvKzxm','mte0mdeXneTrqwvpzq','u2vTyw50AwmGyw5HBhLZAxmGzw5JB3vUDgvYzwqGzxjYB3i','q0furuDpuLK','y2HHCMfJDgvY','tw9KDwXLuMvZB2X1DgLVBKTPBMq','mtyYote1mfnHBNbmuW','rgLHz25VC3rPy0nHDgvNB3j5','zgvIDwC','mJuXmZy1muHWuKn6yW','Bg9Nz2vY','tM9KzuPZ','mtGXnZe5Axrvy0XZ','zMLSzu5HBwu','y2fUBM90igzPBMqGBw9KDwXL','y3jLyxrLu291CMnLrMLSzq','C3rHCNq','zMLSDgvY','mtGWmtyZmgj0tfnKva','u1Lovefy','tw9KDwXLs2LUza','zgLYBMfTzq','C2v2zxjPDhK','ntKWyw5PCNLY','CgfYC2veAwfNBM9ZDgLJCW','otyWmuDdz0DVBq','rvnozxH0','zMLSzq','z2v0u3LUDgfJDgLJrgLHz25VC3rPy3m','y29Kzq','z2v0u2vTyw50AwneAwfNBM9ZDgLJCW','rvjst1i','mtGYuw9Yy216','su5gtW','y2XHC3m','u0vwrvjjvfK','z2v0tgLUzufUzenOyxjHy3rLCK9Mug9ZAxrPB24'];a0_0x1519=function(){return _0x98c755;};return a0_0x1519();}class TypeScriptAnalyzer{constructor(_0x2918e0=null){const _0x90856=a0_0x1e5c;this['logger']=_0x2918e0,this[_0x90856(0xa0)]={'noEmit':!![],'jsx':a0_0x142c68['JsxEmit']['React'],'target':a0_0x142c68['ScriptTarget']['Latest'],'module':a0_0x142c68[_0x90856(0xb6)][_0x90856(0xbc)],'moduleResolution':a0_0x142c68[_0x90856(0xa7)][_0x90856(0xad)],'esModuleInterop':!![],'skipLibCheck':!![],'strict':!![],'noImplicitAny':!![],'strictNullChecks':!![],'strictFunctionTypes':!![],'allowJs':![]};}async['analyze'](_0x3d75b7,_0x4f304b,_0x3b9e47={}){const _0x55b381=a0_0x1e5c;try{const _0x511ca8=[],_0x31f404=a0_0x142c68[_0x55b381(0xb1)](_0x3d75b7,_0x4f304b,a0_0x142c68['ScriptTarget']['Latest'],!![]),_0x3bb075=this[_0x55b381(0xbe)](_0x31f404);_0x511ca8['push'](..._0x3bb075);const _0x2ea54d=await this['getSemanticDiagnostics'](_0x3d75b7,_0x4f304b);return _0x511ca8['push'](..._0x2ea54d),this['logger']?.[_0x55b381(0xaa)](_0x55b381(0x9e),{'file':_0x3d75b7,'totalDiagnostics':_0x511ca8['length'],'errors':_0x511ca8['filter'](_0x1650f5=>_0x1650f5[_0x55b381(0xb8)]===STATIC_ANALYSIS[_0x55b381(0x99)][_0x55b381(0x95)])['length'],'warnings':_0x511ca8[_0x55b381(0xb3)](_0x5679f0=>_0x5679f0[_0x55b381(0xb8)]===STATIC_ANALYSIS['SEVERITY']['WARNING'])[_0x55b381(0x9c)]}),_0x511ca8;}catch(_0x2d9201){return this['logger']?.['error']('TypeScript\x20analysis\x20failed',{'file':_0x3d75b7,'error':_0x2d9201['message']}),[{'file':_0x3d75b7,'line':0x0,'column':0x0,'severity':STATIC_ANALYSIS[_0x55b381(0x99)][_0x55b381(0x95)],'rule':'analyzer-error','message':'Analysis\x20failed:\x20'+_0x2d9201['message'],'category':STATIC_ANALYSIS[_0x55b381(0xa5)]['SYNTAX']}];}}['getSyntacticDiagnostics'](_0x437916){const _0x3ec7d0=a0_0x1e5c,_0x15052e=[];if(_0x437916[_0x3ec7d0(0xba)]&&_0x437916[_0x3ec7d0(0xba)][_0x3ec7d0(0x9c)]>0x0)for(const _0x518a53 of _0x437916['parseDiagnostics']){_0x15052e['push'](this['formatDiagnostic'](_0x518a53,_0x437916));}return _0x15052e;}async[a0_0x293cb5(0x94)](_0x268382,_0x2e28dd){const _0x540d4a=a0_0x293cb5,_0x1249bc=[];try{const _0x220da6=a0_0x142c68['createSourceFile'](_0x268382,_0x2e28dd,a0_0x142c68['ScriptTarget']['Latest'],!![]),_0x3fa4ae={'getSourceFile':_0xcec5e6=>{if(_0xcec5e6===_0x268382)return _0x220da6;return undefined;},'getDefaultLibFileName':()=>'lib.d.ts','writeFile':()=>{},'getCurrentDirectory':()=>a0_0xcff81a[_0x540d4a(0xb7)](_0x268382),'getDirectories':()=>[],'fileExists':_0x5db7b4=>_0x5db7b4===_0x268382,'readFile':_0x4f4ec6=>{if(_0x4f4ec6===_0x268382)return _0x2e28dd;return undefined;},'getCanonicalFileName':_0x2a535c=>_0x2a535c,'useCaseSensitiveFileNames':()=>!![],'getNewLine':()=>'\x0a'},_0x19acb4=a0_0x142c68['createProgram']({'rootNames':[_0x268382],'options':this['compilerOptions'],'host':_0x3fa4ae}),_0xfc26bb=_0x19acb4[_0x540d4a(0xbe)](_0x220da6),_0x53083e=_0x19acb4['getSemanticDiagnostics'](_0x220da6);for(const _0x413e4b of[..._0xfc26bb,..._0x53083e]){_0x1249bc['push'](this['formatDiagnostic'](_0x413e4b,_0x220da6));}}catch(_0x2d5cdd){this[_0x540d4a(0xac)]?.['debug'](_0x540d4a(0xa4),{'file':_0x268382,'error':_0x2d5cdd['message']});}return _0x1249bc;}['formatDiagnostic'](_0x66e82b,_0x1f6cd3){const _0x4f4f99=a0_0x293cb5;let _0x37a67b=0x0,_0x20c0ae=0x0;if(_0x66e82b[_0x4f4f99(0xbd)]&&_0x66e82b[_0x4f4f99(0xb2)]!==undefined){const _0x5b2109=_0x66e82b[_0x4f4f99(0xbd)][_0x4f4f99(0x9a)](_0x66e82b[_0x4f4f99(0xb2)]);_0x37a67b=_0x5b2109['line']+0x1,_0x20c0ae=_0x5b2109['character']+0x1;}else{if(_0x1f6cd3&&_0x66e82b[_0x4f4f99(0xb2)]!==undefined){const _0x3fc93d=_0x1f6cd3['getLineAndCharacterOfPosition'](_0x66e82b['start']);_0x37a67b=_0x3fc93d[_0x4f4f99(0x9b)]+0x1,_0x20c0ae=_0x3fc93d[_0x4f4f99(0xa6)]+0x1;}}const _0x8cd171=a0_0x142c68['flattenDiagnosticMessageText'](_0x66e82b['messageText'],'\x0a');let _0x3e2f9e;switch(_0x66e82b['category']){case a0_0x142c68[_0x4f4f99(0xa9)][_0x4f4f99(0x9d)]:_0x3e2f9e=STATIC_ANALYSIS['SEVERITY'][_0x4f4f99(0x95)];break;case a0_0x142c68['DiagnosticCategory']['Warning']:_0x3e2f9e=STATIC_ANALYSIS['SEVERITY']['WARNING'];break;case a0_0x142c68[_0x4f4f99(0xa9)]['Message']:case a0_0x142c68[_0x4f4f99(0xa9)]['Suggestion']:_0x3e2f9e=STATIC_ANALYSIS['SEVERITY'][_0x4f4f99(0x97)];break;default:_0x3e2f9e=STATIC_ANALYSIS[_0x4f4f99(0x99)][_0x4f4f99(0x95)];}let _0x51c4b3=STATIC_ANALYSIS[_0x4f4f99(0xa5)][_0x4f4f99(0xb5)];const _0x3f1cde=_0x66e82b[_0x4f4f99(0xbf)];if(_0x3f1cde>=0x7d0&&_0x3f1cde<0xbb8)_0x51c4b3=STATIC_ANALYSIS[_0x4f4f99(0xa5)]['TYPE'];else{if(_0x3f1cde>=0x3e8&&_0x3f1cde<0x7d0)_0x51c4b3=STATIC_ANALYSIS['CATEGORY']['SYNTAX'];else _0x3f1cde>=0x8fc&&_0x3f1cde<0x960&&(_0x51c4b3=STATIC_ANALYSIS[_0x4f4f99(0xa5)]['IMPORT']);}const _0x3fed1f=_0x8cd171['toLowerCase']();if(_0x3fed1f[_0x4f4f99(0xa2)](_0x4f4f99(0xb0))||_0x3fed1f['includes']('import')||_0x3fed1f['includes']('export'))_0x51c4b3=STATIC_ANALYSIS['CATEGORY']['IMPORT'];else(_0x3fed1f['includes']('type')||_0x3fed1f['includes']('interface')||_0x3fed1f[_0x4f4f99(0xa2)](_0x4f4f99(0x98)))&&(_0x51c4b3=STATIC_ANALYSIS['CATEGORY']['TYPE']);return{'file':_0x66e82b[_0x4f4f99(0xbd)]?.['fileName']||_0x1f6cd3?.[_0x4f4f99(0xaf)]||'unknown','line':_0x37a67b,'column':_0x20c0ae,'severity':_0x3e2f9e,'rule':'TS'+_0x3f1cde,'message':_0x8cd171,'category':_0x51c4b3,'fixable':![],'code':_0x66e82b[_0x4f4f99(0xbf)]};}}export default TypeScriptAnalyzer;
1
+ const a0_0x321975=a0_0xcf17;(function(_0x2e6a51,_0xf6509b){const _0x194b8b=a0_0xcf17,_0x4fbfde=_0x2e6a51();while(!![]){try{const _0x5213d4=parseInt(_0x194b8b(0x1a2))/0x1+-parseInt(_0x194b8b(0x19d))/0x2+parseInt(_0x194b8b(0x194))/0x3+parseInt(_0x194b8b(0x189))/0x4+-parseInt(_0x194b8b(0x1a1))/0x5+parseInt(_0x194b8b(0x188))/0x6+parseInt(_0x194b8b(0x177))/0x7*(parseInt(_0x194b8b(0x18d))/0x8);if(_0x5213d4===_0xf6509b)break;else _0x4fbfde['push'](_0x4fbfde['shift']());}catch(_0x2977e5){_0x4fbfde['push'](_0x4fbfde['shift']());}}}(a0_0x1581,0x53722));import a0_0x167038 from'typescript';function a0_0xcf17(_0x3af5a3,_0x3b0a16){_0x3af5a3=_0x3af5a3-0x174;const _0x15816c=a0_0x1581();let _0xcf17cf=_0x15816c[_0x3af5a3];if(a0_0xcf17['qrweUv']===undefined){var _0x110dc0=function(_0x49c9cc){const _0x480787='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x167038='',_0x5aa981='';for(let _0x2c8bab=0x0,_0x471fac,_0x33662b,_0x53fdf0=0x0;_0x33662b=_0x49c9cc['charAt'](_0x53fdf0++);~_0x33662b&&(_0x471fac=_0x2c8bab%0x4?_0x471fac*0x40+_0x33662b:_0x33662b,_0x2c8bab++%0x4)?_0x167038+=String['fromCharCode'](0xff&_0x471fac>>(-0x2*_0x2c8bab&0x6)):0x0){_0x33662b=_0x480787['indexOf'](_0x33662b);}for(let _0x278454=0x0,_0x3bd77f=_0x167038['length'];_0x278454<_0x3bd77f;_0x278454++){_0x5aa981+='%'+('00'+_0x167038['charCodeAt'](_0x278454)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5aa981);};a0_0xcf17['DzapDo']=_0x110dc0,a0_0xcf17['VwRMGF']={},a0_0xcf17['qrweUv']=!![];}const _0x25efc4=_0x15816c[0x0],_0x3505eb=_0x3af5a3+_0x25efc4,_0x1169fa=a0_0xcf17['VwRMGF'][_0x3505eb];return!_0x1169fa?(_0xcf17cf=a0_0xcf17['DzapDo'](_0xcf17cf),a0_0xcf17['VwRMGF'][_0x3505eb]=_0xcf17cf):_0xcf17cf=_0x1169fa,_0xcf17cf;}import a0_0x5aa981 from'path';import{STATIC_ANALYSIS}from'../utilities/constants.js';class TypeScriptAnalyzer{constructor(_0x2c8bab=null){const _0x4c8d96=a0_0xcf17;this['logger']=_0x2c8bab,this['compilerOptions']={'noEmit':!![],'jsx':a0_0x167038['JsxEmit'][_0x4c8d96(0x191)],'target':a0_0x167038['ScriptTarget']['Latest'],'module':a0_0x167038['ModuleKind']['ESNext'],'moduleResolution':a0_0x167038[_0x4c8d96(0x18b)]['NodeJs'],'esModuleInterop':!![],'skipLibCheck':!![],'strict':!![],'noImplicitAny':!![],'strictNullChecks':!![],'strictFunctionTypes':!![],'allowJs':![]};}async[a0_0x321975(0x19c)](_0x471fac,_0x33662b,_0x53fdf0={}){const _0x2f67a0=a0_0x321975;try{const _0x278454=[],_0x3bd77f=a0_0x167038[_0x2f67a0(0x182)](_0x471fac,_0x33662b,a0_0x167038['ScriptTarget'][_0x2f67a0(0x175)],!![]),_0x574171=this[_0x2f67a0(0x17a)](_0x3bd77f);_0x278454['push'](..._0x574171);const _0x35513a=await this[_0x2f67a0(0x18f)](_0x471fac,_0x33662b);return _0x278454[_0x2f67a0(0x176)](..._0x35513a),this['logger']?.['debug']('TypeScript\x20analysis\x20completed',{'file':_0x471fac,'totalDiagnostics':_0x278454[_0x2f67a0(0x18e)],'errors':_0x278454[_0x2f67a0(0x174)](_0x16a88c=>_0x16a88c[_0x2f67a0(0x181)]===STATIC_ANALYSIS['SEVERITY']['ERROR'])['length'],'warnings':_0x278454[_0x2f67a0(0x174)](_0x2577c5=>_0x2577c5['severity']===STATIC_ANALYSIS[_0x2f67a0(0x178)]['WARNING'])['length']}),_0x278454;}catch(_0x5b392b){return this[_0x2f67a0(0x17c)]?.[_0x2f67a0(0x17d)]('TypeScript\x20analysis\x20failed',{'file':_0x471fac,'error':_0x5b392b['message']}),[{'file':_0x471fac,'line':0x0,'column':0x0,'severity':STATIC_ANALYSIS['SEVERITY'][_0x2f67a0(0x190)],'rule':'analyzer-error','message':'Analysis\x20failed:\x20'+_0x5b392b['message'],'category':STATIC_ANALYSIS[_0x2f67a0(0x196)]['SYNTAX']}];}}[a0_0x321975(0x17a)](_0x120c30){const _0x478c41=a0_0x321975,_0x5a0aea=[];if(_0x120c30['parseDiagnostics']&&_0x120c30['parseDiagnostics'][_0x478c41(0x18e)]>0x0)for(const _0x5f48a3 of _0x120c30[_0x478c41(0x180)]){_0x5a0aea['push'](this[_0x478c41(0x179)](_0x5f48a3,_0x120c30));}return _0x5a0aea;}async['getSemanticDiagnostics'](_0x238bde,_0x17f851){const _0x3bcfb9=a0_0x321975,_0x3f31f2=[];try{const _0x4d5348=a0_0x167038['createSourceFile'](_0x238bde,_0x17f851,a0_0x167038['ScriptTarget']['Latest'],!![]),_0xbf9d47={'getSourceFile':_0x276eec=>{if(_0x276eec===_0x238bde)return _0x4d5348;return undefined;},'getDefaultLibFileName':()=>'lib.d.ts','writeFile':()=>{},'getCurrentDirectory':()=>a0_0x5aa981['dirname'](_0x238bde),'getDirectories':()=>[],'fileExists':_0x3f2db7=>_0x3f2db7===_0x238bde,'readFile':_0x12a038=>{if(_0x12a038===_0x238bde)return _0x17f851;return undefined;},'getCanonicalFileName':_0x4c05ba=>_0x4c05ba,'useCaseSensitiveFileNames':()=>!![],'getNewLine':()=>'\x0a'},_0x554365=a0_0x167038['createProgram']({'rootNames':[_0x238bde],'options':this[_0x3bcfb9(0x19b)],'host':_0xbf9d47}),_0x58e237=_0x554365[_0x3bcfb9(0x17a)](_0x4d5348),_0x297b34=_0x554365['getSemanticDiagnostics'](_0x4d5348);for(const _0x2af21c of[..._0x58e237,..._0x297b34]){_0x3f31f2['push'](this['formatDiagnostic'](_0x2af21c,_0x4d5348));}}catch(_0x17e8f5){this['logger']?.[_0x3bcfb9(0x197)]('Semantic\x20analysis\x20encountered\x20error',{'file':_0x238bde,'error':_0x17e8f5[_0x3bcfb9(0x17f)]});}return _0x3f31f2;}[a0_0x321975(0x179)](_0x2a450d,_0x5ca76f){const _0xdf78d7=a0_0x321975;let _0x539f06=0x0,_0x6526b7=0x0;if(_0x2a450d['file']&&_0x2a450d[_0xdf78d7(0x184)]!==undefined){const _0x1749a5=_0x2a450d['file']['getLineAndCharacterOfPosition'](_0x2a450d['start']);_0x539f06=_0x1749a5['line']+0x1,_0x6526b7=_0x1749a5['character']+0x1;}else{if(_0x5ca76f&&_0x2a450d[_0xdf78d7(0x184)]!==undefined){const _0x2ded19=_0x5ca76f[_0xdf78d7(0x183)](_0x2a450d[_0xdf78d7(0x184)]);_0x539f06=_0x2ded19[_0xdf78d7(0x185)]+0x1,_0x6526b7=_0x2ded19[_0xdf78d7(0x19f)]+0x1;}}const _0xce720d=a0_0x167038[_0xdf78d7(0x18a)](_0x2a450d[_0xdf78d7(0x187)],'\x0a');let _0x118aed;switch(_0x2a450d['category']){case a0_0x167038[_0xdf78d7(0x186)]['Error']:_0x118aed=STATIC_ANALYSIS[_0xdf78d7(0x178)][_0xdf78d7(0x190)];break;case a0_0x167038[_0xdf78d7(0x186)]['Warning']:_0x118aed=STATIC_ANALYSIS['SEVERITY']['WARNING'];break;case a0_0x167038['DiagnosticCategory']['Message']:case a0_0x167038[_0xdf78d7(0x186)][_0xdf78d7(0x195)]:_0x118aed=STATIC_ANALYSIS['SEVERITY'][_0xdf78d7(0x19a)];break;default:_0x118aed=STATIC_ANALYSIS[_0xdf78d7(0x178)][_0xdf78d7(0x190)];}let _0x261b48=STATIC_ANALYSIS['CATEGORY'][_0xdf78d7(0x19e)];const _0x42a7bf=_0x2a450d[_0xdf78d7(0x198)];if(_0x42a7bf>=0x7d0&&_0x42a7bf<0xbb8)_0x261b48=STATIC_ANALYSIS['CATEGORY'][_0xdf78d7(0x17e)];else{if(_0x42a7bf>=0x3e8&&_0x42a7bf<0x7d0)_0x261b48=STATIC_ANALYSIS['CATEGORY']['SYNTAX'];else _0x42a7bf>=0x8fc&&_0x42a7bf<0x960&&(_0x261b48=STATIC_ANALYSIS['CATEGORY'][_0xdf78d7(0x17b)]);}const _0x24ea3f=_0xce720d[_0xdf78d7(0x199)]();if(_0x24ea3f['includes']('cannot\x20find\x20module')||_0x24ea3f['includes']('import')||_0x24ea3f['includes']('export'))_0x261b48=STATIC_ANALYSIS[_0xdf78d7(0x196)][_0xdf78d7(0x17b)];else(_0x24ea3f[_0xdf78d7(0x193)](_0xdf78d7(0x192))||_0x24ea3f[_0xdf78d7(0x193)](_0xdf78d7(0x1a0))||_0x24ea3f['includes']('class'))&&(_0x261b48=STATIC_ANALYSIS['CATEGORY'][_0xdf78d7(0x17e)]);return{'file':_0x2a450d['file']?.[_0xdf78d7(0x18c)]||_0x5ca76f?.[_0xdf78d7(0x18c)]||'unknown','line':_0x539f06,'column':_0x6526b7,'severity':_0x118aed,'rule':'TS'+_0x42a7bf,'message':_0xce720d,'category':_0x261b48,'fixable':![],'code':_0x2a450d['code']};}}function a0_0x1581(){const _0x12ba77=['tw9KDwXLuMvZB2X1DgLVBKTPBMq','zMLSzu5HBwu','mJC4odqWtwzJzgT4','BgvUz3rO','z2v0u2vTyw50AwneAwfNBM9ZDgLJCW','rvjst1i','uMvHy3q','DhLWzq','Aw5JBhvKzxm','mtGZouPSt2Plwa','u3vNz2vZDgLVBG','q0furuDpuLK','zgvIDwC','y29Kzq','Dg9mB3DLCKnHC2u','su5gtW','y29TCgLSzxjpChrPB25Z','yw5HBhL6zq','nJmWmJrsuhH6wue','u1Lovefy','y2HHCMfJDgvY','Aw50zxjMywnL','mtCWmJe3mgf6t0fyDq','ndq0otiWz1Hdq3Lx','zMLSDgvY','tgf0zxn0','ChvZAa','n3ziwvvPua','u0vwrvjjvfK','zM9YBwf0rgLHz25VC3rPyW','z2v0u3LUDgfJDgLJrgLHz25VC3rPy3m','su1qt1ju','Bg9Nz2vY','zxjYB3i','vfLqrq','BwvZC2fNzq','CgfYC2veAwfNBM9ZDgLJCW','C2v2zxjPDhK','y3jLyxrLu291CMnLrMLSzq','z2v0tgLUzufUzenOyxjHy3rLCK9Mug9ZAxrPB24','C3rHCNq','BgLUzq','rgLHz25VC3rPy0nHDgvNB3j5','BwvZC2fNzvrLEhq','nJG1nZeWsxbrDg9Y','ndC2mJy4s3zzDunR','zMXHDhrLBKrPywDUB3n0AwnnzxnZywDLvgv4Da'];a0_0x1581=function(){return _0x12ba77;};return a0_0x1581();}export default TypeScriptAnalyzer;
@@ -1 +1 @@
1
- function a0_0x4255(_0x55278c,_0x24d456){_0x55278c=_0x55278c-0x141;const _0x45d9f6=a0_0x45d9();let _0x4255d2=_0x45d9f6[_0x55278c];if(a0_0x4255['PckgGS']===undefined){var _0x127e36=function(_0x11eb37){const _0x113db5='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x19ef3e='',_0x2779fc='';for(let _0x29e737=0x0,_0x205230,_0x3d11bd,_0x32e6e6=0x0;_0x3d11bd=_0x11eb37['charAt'](_0x32e6e6++);~_0x3d11bd&&(_0x205230=_0x29e737%0x4?_0x205230*0x40+_0x3d11bd:_0x3d11bd,_0x29e737++%0x4)?_0x19ef3e+=String['fromCharCode'](0xff&_0x205230>>(-0x2*_0x29e737&0x6)):0x0){_0x3d11bd=_0x113db5['indexOf'](_0x3d11bd);}for(let _0x4f1541=0x0,_0x5d8dd=_0x19ef3e['length'];_0x4f1541<_0x5d8dd;_0x4f1541++){_0x2779fc+='%'+('00'+_0x19ef3e['charCodeAt'](_0x4f1541)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2779fc);};a0_0x4255['NVZRFr']=_0x127e36,a0_0x4255['xJCgAh']={},a0_0x4255['PckgGS']=!![];}const _0x175daf=_0x45d9f6[0x0],_0x12c499=_0x55278c+_0x175daf,_0x1a0d8e=a0_0x4255['xJCgAh'][_0x12c499];return!_0x1a0d8e?(_0x4255d2=a0_0x4255['NVZRFr'](_0x4255d2),a0_0x4255['xJCgAh'][_0x12c499]=_0x4255d2):_0x4255d2=_0x1a0d8e,_0x4255d2;}function a0_0x45d9(){const _0x2924b1=['nde2ntmYngLNq2nWvW','ChvZAa','twfRzsbMDxr1CMuGy2HHBMDLCYbLyxnPzxiGyw5KigXLC3mGzxjYB3iTChjVBMu','Dhj1BMnHDgvdB2rL','Aw1Wywn0u2nVCMu','mI4GuMvWBgfJzsbHBgWGAw5ZDgfUy2vZihDPDgGGDgHLigv4DhjHy3rLzcb2zxjZAw9U','C29YDa','y2fSy3vSyxrLtwv0CMLJCW','y29UC3q','y29UzMLN','zwXZzq','ms4Gq3jLyxrLigeGBMv3ignSyxnZihrVigvUy2fWC3vSyxrLihrOAxmGzNvUy3rPB25HBgL0Eq','Bg93','AM9PBG','twv0Ag9K','zM9YrwfJAa','DhLWzq','igrPzMzLCMvUDcbMAwXLCW','DMfY','Dg9Rzw5dB3vUDa','BwfW','zM9Y','CMvWBgfJzq','igr1CgXPy2f0zwqGBgLUzxmGB2yGy29Kzq','zhvWBgLJyxrLzeXPBMvZ','CM91BMq','y2fSy3vSyxrLsw1Wywn0u2nVCMu','BgvUz3rO','rwXPBwLUyxrLia','y3jLyxrLrNvUy3rPB25oyw1L','yxzLCMfNzuXPBMvdB3vUDa','ms4GrxH0CMfJDcb0AguGzhvWBgLJyxrLzcbJB2rLihvZAw5Nia','zgv0zxjTAw5LuMvMywn0B3jPBMDtDhjHDgvNEq','C29Tzq','C2XPy2u','ihDVDwXKigLTChjVDMuGBwfPBNrHAw5HyMLSAxr5','mJq5mZqXnePJv2TQrG','lcbHBMqGCMvKDwnLignVzguGC2L6zq','y2HHCKf0','C3bSAxq','mtm3mZu1mezpqMTJrW','AgLNAa','igXVy2f0Aw9UCW','BwvKAxvT','Bg9N','Aw5JBhvKzxm','zw5KtgLUzq','C3rHCNrmAw5L','zxH0CMfJDc1TB2r1Bgu','lIbuAgLZigLZigeGAgLNAc1PBxbHy3qGCMvMywn0B3jPBMCGB3bWB3j0Dw5PDhK','C3vNz2vZDe5HBwu','y29Kzq','mJKZnJi4mg9hqM1WzW','ihrPBwvZ','zMLSzxndB3zLCMvK','zxH0CMfJDc1JBgfZCW','ndCWntG4me5Vy0vovq','Aw5ZDgfUy2vdB3vUDa','ms4Gq3jLyxrLigeGBMv3igz1BMn0Aw9Uig5HBwvKicC','nc4Gq29UC2LKzxiGzgvWzw5Kzw5JEsbPBMPLy3rPB24GzM9YigjLDhrLCIb0zxn0ywjPBgL0Eq','zxH0CMfJDc1MDw5JDgLVBG','ns4GvxbKyxrLigfUEsbIDwLSzcbJB25MAwD1CMf0Aw9UCYbPzIbUzwvKzwq','mZG0ndyZmwrJzLblzG','z2vUzxjHDgvszwzHy3rVCMLUz0fKDMLJzq','BwLU','zgv0zxjTAw5LuhjPB3jPDhK','zxH0CMfJDgvKrNvUy3rPB24','mI4Gtw92zsb0AguGzhvWBgLJyxrLzcbSB2DPyYbPBNrVihrOAxmGzNvUy3rPB24','sw1WCM92zsbTywLUDgfPBMfIAwXPDhKGyNKGy2vUDhjHBgL6Aw5NigXVz2LJigLUig9UzsbWBgfJzq','zxn0Aw1HDgvfzMzVCNq','sw1WCM92zsbJB2rLig9Yz2fUAxPHDgLVBIbHy3jVC3mG','yMXVy2TZ','y29UzMLKzw5Jzq','CMvKDwnL','mZe4otnxD1vXr1C','Bgv0','uMvKDwnLihjPC2SGB2yGAw5JB25ZAxn0zw50ignOyw5NzxmGywnYB3nZia','zNvUy3rPB24','mY4GrxHWB3j0ihrOzsbUzwnLC3nHCNKGzNvUy3rPB25Zl2nSyxnZzxm','qw5HBhL6Aw5NignSB25LCYbMB3iGCMvMywn0B3jPBMCGB3bWB3j0Dw5PDgLLCY4UlG'];a0_0x45d9=function(){return _0x2924b1;};return a0_0x45d9();}const a0_0x308c64=a0_0x4255;(function(_0x13faa3,_0xae5568){const _0x321098=a0_0x4255,_0x9625a1=_0x13faa3();while(!![]){try{const _0x32f3eb=-parseInt(_0x321098(0x14e))/0x1+parseInt(_0x321098(0x17c))/0x2+-parseInt(_0x321098(0x188))/0x3+-parseInt(_0x321098(0x154))/0x4+parseInt(_0x321098(0x18c))/0x5+parseInt(_0x321098(0x178))/0x6+parseInt(_0x321098(0x142))/0x7;if(_0x32f3eb===_0xae5568)break;else _0x9625a1['push'](_0x9625a1['shift']());}catch(_0x1fd74d){_0x9625a1['push'](_0x9625a1['shift']());}}}(a0_0x45d9,0x84061));export class RefactoringAnalyzer{constructor(_0x19ef3e){const _0x393387=a0_0x4255;this[_0x393387(0x15d)]=_0x19ef3e;}['analyzeClones'](_0x2779fc){const _0x52e6e8=a0_0x4255;return console[_0x52e6e8(0x180)](_0x52e6e8(0x153)),_0x2779fc['map']((_0x29e737,_0x205230)=>{const _0x488723=_0x52e6e8,_0x3d11bd=this[_0x488723(0x15b)](_0x29e737),_0x32e6e6=this[_0x488723(0x143)](_0x29e737,_0x3d11bd);return{'id':'clone-'+(_0x205230+0x1),'type':_0x29e737['type'],'confidence':_0x29e737[_0x488723(0x14c)],'instances':_0x29e737[_0x488723(0x14b)]['map'](_0x4f1541=>({'file':_0x4f1541['file'],'startLine':_0x4f1541[_0x488723(0x183)],'endLine':_0x4f1541[_0x488723(0x182)],'code':this[_0x488723(0x157)](_0x4f1541['code']),'fullCode':_0x4f1541['code'],'blockType':_0x4f1541[_0x488723(0x164)]})),'metrics':_0x3d11bd,'refactoringAdvice':_0x32e6e6};})['sort']((_0x5d8dd,_0x5d5416)=>_0x5d5416['metrics'][_0x52e6e8(0x158)]-_0x5d8dd['metrics']['impactScore']);}['calculateMetrics'](_0x5d0d8f){const _0x230cce=a0_0x4255,_0x265fd2=_0x5d0d8f[_0x230cce(0x14b)],_0x5143a9=_0x5d0d8f[_0x230cce(0x167)],_0x362992=this['averageLineCount'](_0x265fd2),_0x56aa04=_0x265fd2[_0x230cce(0x16f)],_0x5168eb=this[_0x230cce(0x16e)](_0x5143a9,_0x362992,_0x56aa04,_0x5d0d8f['confidence']),_0x33be1b=_0x362992*(_0x56aa04-0x1),_0x54c1da=_0x5143a9*(_0x56aa04-0x1);return{'tokenCount':_0x5143a9,'lineCount':_0x362992,'instanceCount':_0x56aa04,'duplicatedLines':_0x33be1b,'duplicatedTokens':_0x54c1da,'impactScore':parseFloat(_0x5168eb['toFixed'](0x2)),'filesCovered':new Set(_0x265fd2[_0x230cce(0x168)](_0x449727=>_0x449727['file']))['size']};}['calculateImpactScore'](_0x513bc4,_0x42801c,_0x430346,_0x56809c){const _0x1a9ec3=a0_0x4255,_0x4f78a7=Math['log10'](_0x513bc4+0x1)*0x2,_0x132bd1=Math['log2'](_0x430346+0x1)*0x3,_0x24c7e5=_0x56809c*0x2,_0x3e8501=Math[_0x1a9ec3(0x144)](_0x42801c/0xa,0x3);return _0x4f78a7+_0x132bd1+_0x24c7e5+_0x3e8501;}[a0_0x308c64(0x143)](_0xd716f,_0x9f1a18){const _0x34a909=a0_0x308c64,_0xbb473a=this[_0x34a909(0x174)](_0xd716f,_0x9f1a18),_0x23ac0b=this[_0x34a909(0x145)](_0x9f1a18),_0x3c4c63=this['suggestName'](_0xd716f),_0x20dba4=this['generateReasoning'](_0xd716f,_0x9f1a18,_0xbb473a),_0x1e5975=this[_0x34a909(0x149)](_0x9f1a18,_0xbb473a),_0x2d4928=this['describeBenefits'](_0x9f1a18);return{'priority':_0x23ac0b,'strategy':_0xbb473a,'suggestedName':_0x3c4c63,'reasoning':_0x20dba4,'estimatedEffort':_0x1e5975,'benefits':_0x2d4928,'actionableSteps':this['generateActionableSteps'](_0xbb473a,_0x3c4c63,_0x9f1a18)};}['determineRefactoringStrategy'](_0x6a8b,_0x564786){const _0x4f1c65=a0_0x308c64,{tokenCount:_0x36630f,lineCount:_0x11cfbd,instanceCount:_0x12fe99,filesCovered:_0xbaaffa}=_0x564786,_0x233bde=_0x6a8b[_0x4f1c65(0x14b)]['map'](_0x4166aa=>_0x4166aa['type']),_0x306e68=_0x233bde['some'](_0x4eef91=>_0x4eef91[_0x4f1c65(0x181)]('Function')||_0x4eef91['includes'](_0x4f1c65(0x162))),_0x5a437b=_0x233bde[_0x4f1c65(0x175)](_0x14f9dc=>_0x14f9dc[_0x4f1c65(0x181)]('Class'));if(_0x5a437b&&_0x11cfbd>0x32)return'extract-module';else{if(_0xbaaffa>0x2&&_0x36630f>0x64)return'extract-module';else{if(_0x306e68||_0x11cfbd>=0xa&&_0x11cfbd<=0x32)return'extract-function';else{if(_0x11cfbd>0x32)return _0x4f1c65(0x18b);else return _0x11cfbd<0xa?'extract-constant-or-utility':_0x4f1c65(0x190);}}}}[a0_0x308c64(0x145)](_0x2f3e6f){const _0x1024d2=a0_0x308c64,{impactScore:_0x118f2a}=_0x2f3e6f;if(_0x118f2a>=0x8)return _0x1024d2(0x17d);if(_0x118f2a>=0x5)return'medium';return'low';}[a0_0x308c64(0x186)](_0x4ffb9d){const _0x517c23=a0_0x308c64,_0x674ad4=_0x4ffb9d[_0x517c23(0x14b)][_0x517c23(0x168)](_0x1809d0=>_0x1809d0[_0x517c23(0x187)])[_0x517c23(0x161)]('\x20'),_0x15a5af=_0x674ad4['match'](/[a-zA-Z_$][a-zA-Z0-9_$]*/g)||[],_0x523138={};_0x15a5af[_0x517c23(0x163)](_0x36bb59=>{const _0x405baa=_0x517c23;if([_0x405baa(0x15c),_0x405baa(0x14f),_0x405baa(0x166),_0x405baa(0x151),'return','if',_0x405baa(0x15e),_0x405baa(0x169),'while']['includes'](_0x36bb59))return;_0x523138[_0x36bb59]=(_0x523138[_0x36bb59]||0x0)+0x1;});const _0x30e1f1=Object['entries'](_0x523138)[_0x517c23(0x15a)]((_0x5bc53c,_0x2756f0)=>_0x2756f0[0x1]-_0x5bc53c[0x1])[_0x517c23(0x176)](0x0,0x3);if(_0x30e1f1[_0x517c23(0x16f)]>0x0){const _0x3ba4b2=_0x30e1f1[_0x517c23(0x168)](([_0x3ce51c])=>_0x3ce51c);return this[_0x517c23(0x171)](_0x3ba4b2);}return _0x517c23(0x146);}[a0_0x308c64(0x171)](_0x391581){const _0x4e2978=a0_0x308c64;if(_0x391581['length']===0x0)return _0x4e2978(0x146);return _0x391581[0x0]+_0x391581[_0x4e2978(0x176)](0x1)[_0x4e2978(0x168)](_0x45cc43=>_0x45cc43[_0x4e2978(0x17a)](0x0)['toUpperCase']()+_0x45cc43['slice'](0x1))['join']('');}['generateReasoning'](_0x2bc57f,_0x3f2800,_0x4457a9){const _0x48be7d=a0_0x308c64,{instanceCount:_0x25364b,duplicatedLines:_0xa3b620,filesCovered:_0x3f7d70}=_0x3f2800;let _0x547336='This\x20'+_0x2bc57f[_0x48be7d(0x164)]+'\x20code\x20pattern\x20appears\x20'+_0x25364b+_0x48be7d(0x189);return _0x3f7d70>0x1&&(_0x547336+='\x20across\x20'+_0x3f7d70+_0x48be7d(0x165)),_0x547336+=',\x20resulting\x20in\x20'+_0xa3b620+'\x20duplicated\x20lines.\x20',_0x547336+='Refactoring\x20to\x20'+_0x4457a9[_0x48be7d(0x16a)](/-/g,'\x20')+_0x48be7d(0x177),_0x25364b>=0x3&&(_0x547336+=', reduce bugs from inconsistent changes'),_0x547336+=_0x48be7d(0x179),_0x3f2800[_0x48be7d(0x158)]>=0x8&&(_0x547336+=_0x48be7d(0x185)),_0x547336+'.';}[a0_0x308c64(0x149)](_0x28ba80,_0x4441af){const _0x3956e8=a0_0x308c64,{lineCount:_0x1a9b94,instanceCount:_0x2146dc,filesCovered:_0x58a434}=_0x28ba80;let _0x26781b=0x0;_0x26781b+=Math['min'](_0x1a9b94/0xa,0x5),_0x26781b+=_0x2146dc*0.5,_0x26781b+=_0x58a434*0.5;if(_0x4441af===_0x3956e8(0x184))_0x26781b+=0x3;else{if(_0x4441af==='extract-class')_0x26781b+=0x2;else _0x4441af==='extract-function'&&(_0x26781b+=0x1);}if(_0x26781b<=0x3)return _0x3956e8(0x160);if(_0x26781b<=0x7)return _0x3956e8(0x17f);return _0x3956e8(0x17d);}['describeBenefits'](_0x3cbadb){const _0x377b8a=a0_0x308c64,_0xe2af83=[];return _0xe2af83['push'](_0x377b8a(0x170)+_0x3cbadb[_0x377b8a(0x16c)]+_0x377b8a(0x16b)),_0xe2af83['push'](_0x377b8a(0x148)),_0x3cbadb[_0x377b8a(0x18d)]>=0x3&&_0xe2af83['push'](_0x377b8a(0x150)+_0x3cbadb['instanceCount']+_0x377b8a(0x17e)),_0x3cbadb['filesCovered']>0x2&&_0xe2af83[_0x377b8a(0x155)](_0x377b8a(0x14a)+_0x3cbadb[_0x377b8a(0x18a)]+'\x20files'),_0xe2af83[_0x377b8a(0x155)](_0x377b8a(0x156)),_0xe2af83;}['generateActionableSteps'](_0x1ad73e,_0x332ac1,_0x37b1af){const _0x43e55f=a0_0x308c64,_0x1bdc43=[];switch(_0x1ad73e){case'extract-function':_0x1bdc43['push'](_0x43e55f(0x18e)+_0x332ac1+'\x27'),_0x1bdc43[_0x43e55f(0x155)](_0x43e55f(0x147)),_0x1bdc43['push']('3. Identify parameters needed from the surrounding context'),_0x1bdc43['push']('4.\x20Replace\x20all\x20instances\x20with\x20calls\x20to\x20the\x20new\x20function'),_0x1bdc43['push']('5.\x20Test\x20to\x20ensure\x20behavior\x20is\x20preserved');break;case _0x43e55f(0x18b):_0x1bdc43[_0x43e55f(0x155)](_0x43e55f(0x15f)),_0x1bdc43['push']('2.\x20Move\x20related\x20methods\x20and\x20properties\x20into\x20the\x20class'),_0x1bdc43[_0x43e55f(0x155)]('3.\x20Update\x20all\x20instances\x20to\x20use\x20the\x20new\x20class'),_0x1bdc43[_0x43e55f(0x155)](_0x43e55f(0x18f));break;case _0x43e55f(0x184):_0x1bdc43[_0x43e55f(0x155)]('1.\x20Create\x20a\x20new\x20module/file\x20for\x20this\x20shared\x20functionality'),_0x1bdc43[_0x43e55f(0x155)]('2.\x20Move\x20the\x20duplicated\x20code\x20into\x20the\x20new\x20module'),_0x1bdc43['push'](_0x43e55f(0x152)),_0x1bdc43[_0x43e55f(0x155)]('4. Update all files to import from the new module'),_0x1bdc43['push'](_0x43e55f(0x141));break;default:_0x1bdc43[_0x43e55f(0x155)](_0x43e55f(0x173)+_0x1ad73e[_0x43e55f(0x16a)](/-/g,'\x20')),_0x1bdc43[_0x43e55f(0x155)](_0x43e55f(0x159)),_0x1bdc43['push']('3.\x20Test\x20thoroughly');}return _0x1bdc43;}['truncateCode'](_0x580f71,_0x22c14d=0xa){const _0x3ddec0=a0_0x308c64,_0x29e95d=_0x580f71[_0x3ddec0(0x17b)]('\x0a');if(_0x29e95d[_0x3ddec0(0x16f)]<=_0x22c14d)return _0x580f71;return _0x29e95d['slice'](0x0,_0x22c14d)[_0x3ddec0(0x161)]('\x0a')+'\x0a...\x20(truncated)';}[a0_0x308c64(0x172)](_0x18d6d4){const _0x2cd29f=a0_0x308c64,_0x534577=_0x18d6d4[_0x2cd29f(0x14d)]((_0x4d3e89,_0x4743de)=>_0x4d3e89+(_0x4743de[_0x2cd29f(0x182)]-_0x4743de[_0x2cd29f(0x183)]+0x1),0x0);return Math[_0x2cd29f(0x16d)](_0x534577/_0x18d6d4['length']);}}
1
+ const a0_0x311197=a0_0x3621;(function(_0x37d010,_0x5585e5){const _0x4b336a=a0_0x3621,_0x1bca3d=_0x37d010();while(!![]){try{const _0x5965c9=-parseInt(_0x4b336a(0xf3))/0x1+-parseInt(_0x4b336a(0xd5))/0x2+parseInt(_0x4b336a(0xc1))/0x3*(parseInt(_0x4b336a(0xf8))/0x4)+parseInt(_0x4b336a(0xee))/0x5+parseInt(_0x4b336a(0x106))/0x6+parseInt(_0x4b336a(0xe5))/0x7*(-parseInt(_0x4b336a(0xd9))/0x8)+parseInt(_0x4b336a(0xcc))/0x9;if(_0x5965c9===_0x5585e5)break;else _0x1bca3d['push'](_0x1bca3d['shift']());}catch(_0xee260a){_0x1bca3d['push'](_0x1bca3d['shift']());}}}(a0_0xa2fd,0xd8518));function a0_0xa2fd(){const _0xcd4c5e=['AgLNAa','Bg9Nmta','yxzLCMfNzuXPBMvdB3vUDa','y29UzMLKzw5Jzq','BwvKAxvT','zMLSzxndB3zLCMvK','y2HHCKf0','C2L6zq','y2XVBMuT','m1feqKvJwG','C2XPy2u','ihDVDwXKigLTChjVDMuGBwfPBNrHAw5HyMLSAxr5','Dhj1BMnHDgvdB2rL','mY4GvxbKyxrLigfSBcbPBNn0yw5JzxmGDg8GDxnLihrOzsbUzxCGy2XHC3m','igrPzMzLCMvUDcbMAwXLCW','C29Tzq','y2fSy3vSyxrLtwv0CMLJCW','cI4UlIaODhj1BMnHDgvKkq','y29Kzq','CM91BMq','mZa5nJq0ndz6t0vuwMW','Dg9gAxHLza','zxH0CMfJDgvKrNvUy3rPB24','mI4Gtw92zsbYzwXHDgvKig1LDgHVzhmGyw5KihbYB3bLCNrPzxmGAw50BYb0AguGy2XHC3m','twfRzsbMDxr1CMuGy2HHBMDLCYbLyxnPzxiGyw5KigXLC3mGzxjYB3iTChjVBMu','ms4Gq3jLyxrLigeGBMv3igz1BMn0Aw9Uig5HBwvKicC','ms4GrxH0CMfJDcb0AguGzhvWBgLJyxrLzcbJB2rLihvZAw5Nia','ChvZAa','z2vUzxjHDgvby3rPB25HyMXLu3rLChm','mJC2ndmYognbsMfwtq','mI4GuMvWBgfJzsbHBgWGAw5ZDgfUy2vZihDPDgGGDgHLigv4DhjHy3rLzcb2zxjZAw9U','Bg93','C3rHCNrmAw5L','oePAtxbysW','zM9YrwfJAa','sw1WCM92zsbTywLUDgfPBMfIAwXPDhKGyNKGy2vUDhjHBgL6Aw5NigXVz2LJigLUig9UzsbWBgfJzq','Aw5ZDgfUy2vdB3vUDa','mI4Gtw92zsb0AguGzhvWBgLJyxrLzcbJB2rLigLUDg8GDgHLig5LDYbTB2r1Bgu','Bwf0y2G','zw50CMLLCW','y29UzMLN','zxH0CMfJDc1JB25ZDgfUDc1VCI11DgLSAxr5','z2vUzxjHDgvszwfZB25PBMC','zgv0zxjTAw5LuMvMywn0B3jPBMDtDhjHDgvNEq','rwXPBwLUyxrLia','odeZntCYovbLEwXrza','q2XHC3m','zxH0CMfJDc1TB2r1Bgu','igr1CgXPy2f0zwqGBgLUzxmGB2yGy29Kzq','mY4GvgvZDcb0Ag9YB3vNAgX5','lcbYzxn1BhrPBMCGAw4G','BgvUz3rO','zxn0Aw1HDgvfzMzVCNq','DhLWzq','nteYotq2nw9RswrXEa','twv0Ag9K','zgv0zxjTAw5LuhjPB3jPDhK','qw5HBhL6Aw5NignSB25LCYbMB3iGCMvMywn0B3jPBMCGB3bWB3j0Dw5PDgLLCY4UlG','zxH0CMfJDc1JBgfZCW','mtyZnJaXnLbrAvrtta','igzPBgvZ','zxH0CMfJDc1MDw5JDgLVBG','lcbHBMqGCMvKDwnLignVzguGC2L6zq','ms4Gq3jLyxrLigeGBMv3ignSyxnZihrVigvUy2fWC3vSyxrLihrOAxmGzNvUy3rPB25HBgL0Eq','mtqZmdqZnNf0rvvxuW','y2fSy3vSyxrLsw1Wywn0u2nVCMu','BwLU','BwfW','yw5HBhL6zunSB25LCW','ns4GvxbKyxrLigfUEsbIDwLSzcbJB25MAwD1CMf0Aw9UCYbPzIbUzwvKzwq','ignVzguGCgf0DgvYBIbHChbLyxjZia','Aw5JBhvKzxm','zhvWBgLJyxrLzeXPBMvZ','AM9PBG','yMXVy2TZ','mY4GrxHWB3j0ihrOzsbUzwnLC3nHCNKGzNvUy3rPB25Zl2nSyxnZzxm','C3vNz2vZDe5HBwu','DMfY','mtq1ndGYnKviuLjutq','z2vUzxjHDgvszwzHy3rVCMLUz0fKDMLJzq','Dg9Rzw5dB3vUDa'];a0_0xa2fd=function(){return _0xcd4c5e;};return a0_0xa2fd();}function a0_0x3621(_0x463edc,_0x275fb8){_0x463edc=_0x463edc-0xba;const _0xa2fde7=a0_0xa2fd();let _0x3621d7=_0xa2fde7[_0x463edc];if(a0_0x3621['ovFfTx']===undefined){var _0x2c95df=function(_0x1d6388){const _0x584953='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x37103c='',_0x1b195a='';for(let _0x5737d4=0x0,_0x486a21,_0x3e0ce5,_0x2f3542=0x0;_0x3e0ce5=_0x1d6388['charAt'](_0x2f3542++);~_0x3e0ce5&&(_0x486a21=_0x5737d4%0x4?_0x486a21*0x40+_0x3e0ce5:_0x3e0ce5,_0x5737d4++%0x4)?_0x37103c+=String['fromCharCode'](0xff&_0x486a21>>(-0x2*_0x5737d4&0x6)):0x0){_0x3e0ce5=_0x584953['indexOf'](_0x3e0ce5);}for(let _0x549eb3=0x0,_0x3e6838=_0x37103c['length'];_0x549eb3<_0x3e6838;_0x549eb3++){_0x1b195a+='%'+('00'+_0x37103c['charCodeAt'](_0x549eb3)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1b195a);};a0_0x3621['WzVfHL']=_0x2c95df,a0_0x3621['ssdEVg']={},a0_0x3621['ovFfTx']=!![];}const _0x51e5bd=_0xa2fde7[0x0],_0x4bcb66=_0x463edc+_0x51e5bd,_0x31bf0e=a0_0x3621['ssdEVg'][_0x4bcb66];return!_0x31bf0e?(_0x3621d7=a0_0x3621['WzVfHL'](_0x3621d7),a0_0x3621['ssdEVg'][_0x4bcb66]=_0x3621d7):_0x3621d7=_0x31bf0e,_0x3621d7;}export class RefactoringAnalyzer{constructor(_0x37103c){const _0x3c7966=a0_0x3621;this[_0x3c7966(0xe0)]=_0x37103c;}[a0_0x311197(0xfc)](_0x1b195a){const _0x7f598d=a0_0x311197;return console['log'](_0x7f598d(0xf1)),_0x1b195a[_0x7f598d(0xfb)]((_0x5737d4,_0x486a21)=>{const _0x5326a3=_0x7f598d,_0x3e0ce5=this['calculateMetrics'](_0x5737d4),_0x2f3542=this[_0x5326a3(0x107)](_0x5737d4,_0x3e0ce5);return{'id':_0x5326a3(0xc0)+(_0x486a21+0x1),'type':_0x5737d4['type'],'confidence':_0x5737d4['confidence'],'instances':_0x5737d4[_0x5326a3(0x102)]['map'](_0x549eb3=>({'file':_0x549eb3['file'],'startLine':_0x549eb3[_0x5326a3(0xd8)],'endLine':_0x549eb3['endLine'],'code':this[_0x5326a3(0xc4)](_0x549eb3[_0x5326a3(0xca)]),'fullCode':_0x549eb3[_0x5326a3(0xca)],'blockType':_0x549eb3[_0x5326a3(0xed)]})),'metrics':_0x3e0ce5,'refactoringAdvice':_0x2f3542};})['sort']((_0x3e6838,_0x2e80a1)=>_0x2e80a1['metrics']['impactScore']-_0x3e6838['metrics']['impactScore']);}[a0_0x311197(0xc8)](_0x3197eb){const _0x4915b=a0_0x311197,_0x182caa=_0x3197eb[_0x4915b(0x102)],_0x280537=_0x3197eb[_0x4915b(0x108)],_0x51ce9d=this[_0x4915b(0xba)](_0x182caa),_0x3f37d7=_0x182caa[_0x4915b(0xeb)],_0x1baf2d=this[_0x4915b(0xf9)](_0x280537,_0x51ce9d,_0x3f37d7,_0x3197eb[_0x4915b(0xbb)]),_0xa0ee7b=_0x51ce9d*(_0x3f37d7-0x1),_0x12dcae=_0x280537*(_0x3f37d7-0x1);return{'tokenCount':_0x280537,'lineCount':_0x51ce9d,'instanceCount':_0x3f37d7,'duplicatedLines':_0xa0ee7b,'duplicatedTokens':_0x12dcae,'impactScore':parseFloat(_0x1baf2d[_0x4915b(0xcd)](0x2)),'filesCovered':new Set(_0x182caa[_0x4915b(0xfb)](_0x37e13a=>_0x37e13a['file']))[_0x4915b(0xbf)]};}['calculateImpactScore'](_0x2e874c,_0x386ab9,_0x51b8ab,_0x4105de){const _0x405ee4=a0_0x311197,_0x3260ed=Math[_0x405ee4(0x10a)](_0x2e874c+0x1)*0x2,_0x2ef7db=Math['log2'](_0x51b8ab+0x1)*0x3,_0x541b84=_0x4105de*0x2,_0x296c61=Math['min'](_0x386ab9/0xa,0x3);return _0x3260ed+_0x2ef7db+_0x541b84+_0x296c61;}['generateRefactoringAdvice'](_0x1d5c01,_0x32f894){const _0x529ca9=a0_0x311197,_0x475acb=this[_0x529ca9(0xe3)](_0x1d5c01,_0x32f894),_0x20ae8a=this[_0x529ca9(0xf0)](_0x32f894),_0x420b39=this[_0x529ca9(0x104)](_0x1d5c01),_0x11d6b8=this['generateReasoning'](_0x1d5c01,_0x32f894,_0x475acb),_0x1d0d8d=this[_0x529ca9(0xec)](_0x32f894,_0x475acb),_0x1bf754=this['describeBenefits'](_0x32f894);return{'priority':_0x20ae8a,'strategy':_0x475acb,'suggestedName':_0x420b39,'reasoning':_0x11d6b8,'estimatedEffort':_0x1d0d8d,'benefits':_0x1bf754,'actionableSteps':this[_0x529ca9(0xd4)](_0x475acb,_0x420b39,_0x32f894)};}['determineRefactoringStrategy'](_0x5a8c6d,_0x4aaa6b){const _0x5ec8cc=a0_0x311197,{tokenCount:_0x52bb95,lineCount:_0x1b0940,instanceCount:_0x580a7e,filesCovered:_0x263a28}=_0x4aaa6b,_0x1d9096=_0x5a8c6d['blocks']['map'](_0x1767b0=>_0x1767b0['type']),_0x24791f=_0x1d9096[_0x5ec8cc(0xc7)](_0x37071b=>_0x37071b[_0x5ec8cc(0xff)]('Function')||_0x37071b['includes'](_0x5ec8cc(0xef))),_0x534ec4=_0x1d9096['some'](_0x4dd10e=>_0x4dd10e[_0x5ec8cc(0xff)](_0x5ec8cc(0xe6)));if(_0x534ec4&&_0x1b0940>0x32)return _0x5ec8cc(0xe7);else{if(_0x263a28>0x2&&_0x52bb95>0x64)return'extract-module';else{if(_0x24791f||_0x1b0940>=0xa&&_0x1b0940<=0x32)return'extract-function';else{if(_0x1b0940>0x32)return _0x5ec8cc(0xf2);else return _0x1b0940<0xa?_0x5ec8cc(0xe1):'extract-function';}}}}['determinePriority'](_0x1064fb){const _0x2726f6=a0_0x311197,{impactScore:_0x5bcfba}=_0x1064fb;if(_0x5bcfba>=0x8)return _0x2726f6(0x109);if(_0x5bcfba>=0x5)return'medium';return _0x2726f6(0xd7);}['suggestName'](_0x47603b){const _0x58d73b=a0_0x311197,_0x5aefcf=_0x47603b[_0x58d73b(0x102)]['map'](_0x1e9532=>_0x1e9532['code'])['join']('\x20'),_0x190b48=_0x5aefcf[_0x58d73b(0xde)](/[a-zA-Z_$][a-zA-Z0-9_$]*/g)||[],_0x10662c={};_0x190b48[_0x58d73b(0xda)](_0x4ecab5=>{const _0x532b16=_0x58d73b;if(['const','let',_0x532b16(0x105),'function','return','if','else','for','while'][_0x532b16(0xff)](_0x4ecab5))return;_0x10662c[_0x4ecab5]=(_0x10662c[_0x4ecab5]||0x0)+0x1;});const _0x390ed3=Object[_0x58d73b(0xdf)](_0x10662c)['sort']((_0x692aa2,_0x44c7fa)=>_0x44c7fa[0x1]-_0x692aa2[0x1])['slice'](0x0,0x3);if(_0x390ed3['length']>0x0){const _0x32c3fa=_0x390ed3['map'](([_0x5d26bb])=>_0x5d26bb);return this['createFunctionName'](_0x32c3fa);}return'extractedFunction';}['createFunctionName'](_0x564944){const _0x500325=a0_0x311197;if(_0x564944[_0x500325(0xeb)]===0x0)return _0x500325(0xce);return _0x564944[0x0]+_0x564944['slice'](0x1)['map'](_0x5c7f69=>_0x5c7f69[_0x500325(0xbe)](0x0)['toUpperCase']()+_0x5c7f69['slice'](0x1))[_0x500325(0x101)]('');}[a0_0x311197(0xe2)](_0x1d1f1a,_0x4069ba,_0x134efc){const _0x1e1229=a0_0x311197,{instanceCount:_0x350548,duplicatedLines:_0x1ea0b6,filesCovered:_0x4a2767}=_0x4069ba;let _0x550e55='This\x20'+_0x1d1f1a['type']+_0x1e1229(0xfe)+_0x350548+'\x20times';return _0x4a2767>0x1&&(_0x550e55+='\x20across\x20'+_0x4a2767+_0x1e1229(0xc6)),_0x550e55+=_0x1e1229(0xea)+_0x1ea0b6+'\x20duplicated\x20lines.\x20',_0x550e55+='Refactoring\x20to\x20'+_0x134efc['replace'](/-/g,'\x20')+_0x1e1229(0xc3),_0x350548>=0x3&&(_0x550e55+=', reduce bugs from inconsistent changes'),_0x550e55+=_0x1e1229(0xf6),_0x4069ba['impactScore']>=0x8&&(_0x550e55+='.\x20This\x20is\x20a\x20high-impact\x20refactoring\x20opportunity'),_0x550e55+'.';}[a0_0x311197(0xec)](_0x250f71,_0x5096ab){const _0x30c9fa=a0_0x311197,{lineCount:_0x54fae7,instanceCount:_0xf1661b,filesCovered:_0xaa1381}=_0x250f71;let _0x259143=0x0;_0x259143+=Math[_0x30c9fa(0xfa)](_0x54fae7/0xa,0x5),_0x259143+=_0xf1661b*0.5,_0x259143+=_0xaa1381*0.5;if(_0x5096ab===_0x30c9fa(0xe7))_0x259143+=0x3;else{if(_0x5096ab==='extract-class')_0x259143+=0x2;else _0x5096ab===_0x30c9fa(0xf5)&&(_0x259143+=0x1);}if(_0x259143<=0x3)return _0x30c9fa(0xd7);if(_0x259143<=0x7)return _0x30c9fa(0xbc);return _0x30c9fa(0x109);}['describeBenefits'](_0x49bc14){const _0x29b0d1=a0_0x311197,_0x2f23be=[];return _0x2f23be[_0x29b0d1(0xd3)](_0x29b0d1(0xe4)+_0x49bc14[_0x29b0d1(0x100)]+_0x29b0d1(0xe8)),_0x2f23be[_0x29b0d1(0xd3)](_0x29b0d1(0xdb)),_0x49bc14['instanceCount']>=0x3&&_0x2f23be[_0x29b0d1(0xd3)]('Reduce\x20risk\x20of\x20inconsistent\x20changes\x20across\x20'+_0x49bc14[_0x29b0d1(0xdc)]+'\x20locations'),_0x49bc14[_0x29b0d1(0xbd)]>0x2&&_0x2f23be['push']('Improve\x20code\x20organization\x20across\x20'+_0x49bc14['filesCovered']+_0x29b0d1(0xf4)),_0x2f23be['push'](_0x29b0d1(0xd0)),_0x2f23be;}['generateActionableSteps'](_0x3ff78f,_0x48c975,_0x39f9d2){const _0x34038f=a0_0x311197,_0xed81fe=[];switch(_0x3ff78f){case _0x34038f(0xf5):_0xed81fe['push'](_0x34038f(0xd1)+_0x48c975+'\x27'),_0xed81fe[_0x34038f(0xd3)]('2.\x20Move\x20the\x20duplicated\x20logic\x20into\x20this\x20function'),_0xed81fe['push']('3. Identify parameters needed from the surrounding context'),_0xed81fe['push']('4.\x20Replace\x20all\x20instances\x20with\x20calls\x20to\x20the\x20new\x20function'),_0xed81fe['push']('5.\x20Test\x20to\x20ensure\x20behavior\x20is\x20preserved');break;case _0x34038f(0xf2):_0xed81fe[_0x34038f(0xd3)](_0x34038f(0xf7)),_0xed81fe['push'](_0x34038f(0xcf)),_0xed81fe['push'](_0x34038f(0xc5)),_0xed81fe[_0x34038f(0xd3)]('4.\x20Consider\x20dependency\x20injection\x20for\x20better\x20testability');break;case'extract-module':_0xed81fe['push']('1.\x20Create\x20a\x20new\x20module/file\x20for\x20this\x20shared\x20functionality'),_0xed81fe[_0x34038f(0xd3)](_0x34038f(0xdd)),_0xed81fe['push'](_0x34038f(0x103)),_0xed81fe[_0x34038f(0xd3)]('4. Update all files to import from the new module'),_0xed81fe['push'](_0x34038f(0xfd));break;default:_0xed81fe[_0x34038f(0xd3)](_0x34038f(0xd2)+_0x3ff78f['replace'](/-/g,'\x20')),_0xed81fe[_0x34038f(0xd3)](_0x34038f(0xd6)),_0xed81fe[_0x34038f(0xd3)](_0x34038f(0xe9));}return _0xed81fe;}['truncateCode'](_0x5f5deb,_0x2207a6=0xa){const _0x1178b0=a0_0x311197,_0x26bd79=_0x5f5deb['split']('\x0a');if(_0x26bd79[_0x1178b0(0xeb)]<=_0x2207a6)return _0x5f5deb;return _0x26bd79[_0x1178b0(0xc2)](0x0,_0x2207a6)['join']('\x0a')+_0x1178b0(0xc9);}['averageLineCount'](_0x1a2326){const _0x474634=a0_0x311197,_0x429efa=_0x1a2326['reduce']((_0x5cd99a,_0x13f54f)=>_0x5cd99a+(_0x13f54f['endLine']-_0x13f54f['startLine']+0x1),0x0);return Math[_0x474634(0xcb)](_0x429efa/_0x1a2326[_0x474634(0xeb)]);}}
@@ -1 +1 @@
1
- function a0_0x29fd(){const _0x234fea=['zw50CMLLCW','BgvUz3rO','zMLSBa','BwfW','mti3oduWmtrcBfbzuwO','Dg9Rzw5Z','mJmYodvzzxL5qwG','ywrK','CgfYC2vY','AgfZ','mtqZnJmYmNPRzxL1Ba','C2LTAwXHCML0EvrOCMvZAg9Sza','nJy4mdy5nLrZCfzdqW','nJe5ndm4nfPeC1vdta','mtb2shLxwMG','C2LTAwXHCG','rM91BMqG','ChvZAa','BwLUvg9Rzw5Z','yxbWCM94Aw1HDgvmq1m','y2fSy3vSyxrLqMXVy2TtAw1PBgfYAxr5','mtj3qwrpuwe','Bwf4','ndy5mty4mKX4ugTWEG','C2XPy2u','ntrODujSseS','Bg9N','y2fSy3vSyxrLr3jVDxbdB25MAwrLBMnL','z3jVDxbcEuHHC2G','mta3mJGYou9mCfviwG','zMLSDgvY','mNjTCLz3uG','zMLUzfnPBwLSyxjdBg9Uzxm','qw5HBhL6Aw5Nia'];a0_0x29fd=function(){return _0x234fea;};return a0_0x29fd();}const a0_0x21947b=a0_0x495f;function a0_0x495f(_0x5241a1,_0x49994e){_0x5241a1=_0x5241a1-0x128;const _0x29fdf7=a0_0x29fd();let _0x495f02=_0x29fdf7[_0x5241a1];if(a0_0x495f['YlfXro']===undefined){var _0xb38d28=function(_0x26ece8){const _0x2b184a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xb79aa4='',_0x5650a8='';for(let _0x4dd688=0x0,_0x28d581,_0x79a5e5,_0x398730=0x0;_0x79a5e5=_0x26ece8['charAt'](_0x398730++);~_0x79a5e5&&(_0x28d581=_0x4dd688%0x4?_0x28d581*0x40+_0x79a5e5:_0x79a5e5,_0x4dd688++%0x4)?_0xb79aa4+=String['fromCharCode'](0xff&_0x28d581>>(-0x2*_0x4dd688&0x6)):0x0){_0x79a5e5=_0x2b184a['indexOf'](_0x79a5e5);}for(let _0x1f8316=0x0,_0x290d59=_0xb79aa4['length'];_0x1f8316<_0x290d59;_0x1f8316++){_0x5650a8+='%'+('00'+_0xb79aa4['charCodeAt'](_0x1f8316)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5650a8);};a0_0x495f['JTYzde']=_0xb38d28,a0_0x495f['LyrJQD']={},a0_0x495f['YlfXro']=!![];}const _0x4a64a4=_0x29fdf7[0x0],_0x18f0f9=_0x5241a1+_0x4a64a4,_0x4a68be=a0_0x495f['LyrJQD'][_0x18f0f9];return!_0x4a68be?(_0x495f02=a0_0x495f['JTYzde'](_0x495f02),a0_0x495f['LyrJQD'][_0x18f0f9]=_0x495f02):_0x495f02=_0x4a68be,_0x495f02;}(function(_0x55c6b8,_0x694b24){const _0x597a70=a0_0x495f,_0x4b2d66=_0x55c6b8();while(!![]){try{const _0x556d3d=parseInt(_0x597a70(0x12f))/0x1*(parseInt(_0x597a70(0x131))/0x2)+parseInt(_0x597a70(0x13e))/0x3*(parseInt(_0x597a70(0x149))/0x4)+-parseInt(_0x597a70(0x13a))/0x5*(parseInt(_0x597a70(0x12b))/0x6)+-parseInt(_0x597a70(0x141))/0x7+parseInt(_0x597a70(0x140))/0x8+-parseInt(_0x597a70(0x129))/0x9+-parseInt(_0x597a70(0x142))/0xa*(parseInt(_0x597a70(0x138))/0xb);if(_0x556d3d===_0x694b24)break;else _0x4b2d66['push'](_0x4b2d66['shift']());}catch(_0x302d21){_0x4b2d66['push'](_0x4b2d66['shift']());}}}(a0_0x29fd,0xb3291));export class CloneDetector{constructor(_0xb79aa4,_0x5650a8){const _0x51c43f=a0_0x495f;this['config']=_0xb79aa4,this[_0x51c43f(0x13c)]=_0x5650a8;}['detectClones'](_0x4dd688){const _0xa1a550=a0_0x495f;console[_0xa1a550(0x12c)]('Detecting\x20clones...');const _0x28d581=[],_0x79a5e5=[];for(const _0x290d59 of _0x4dd688){_0x79a5e5[_0xa1a550(0x145)](..._0x290d59['blocks']);}console[_0xa1a550(0x12c)](_0xa1a550(0x133)+_0x79a5e5[_0xa1a550(0x135)]+'\x20code\x20blocks');const _0x398730=this[_0xa1a550(0x12e)](_0x79a5e5);for(const [_0x3c3127,_0x2c7382]of Object[_0xa1a550(0x134)](_0x398730)){_0x2c7382['length']>0x1&&_0x28d581[_0xa1a550(0x145)]({'type':'exact','confidence':0x1,'blocks':_0x2c7382,'tokenCount':_0x2c7382[0x0]['tokens'][_0xa1a550(0x135)]});}const _0x1f8316=this['findSimilarClones'](_0x79a5e5);return _0x28d581['push'](..._0x1f8316),console['log'](_0xa1a550(0x144)+_0x28d581['length']+'\x20clone\x20groups'),_0x28d581;}[a0_0x21947b(0x12e)](_0x1c77f0){const _0x27ecc5=a0_0x21947b,_0x14ad08={};for(const _0x29b229 of _0x1c77f0){if(_0x29b229['tokens'][_0x27ecc5(0x135)]<this['config'][_0x27ecc5(0x146)])continue;!_0x14ad08[_0x29b229['hash']]&&(_0x14ad08[_0x29b229['hash']]=[]),_0x14ad08[_0x29b229['hash']]['push'](_0x29b229);}return _0x14ad08;}[a0_0x21947b(0x132)](_0x1d8b9b){const _0x182758=a0_0x21947b,_0x2dc7be=[],processed=new Set(),_0x38eca5=_0x1d8b9b['filter'](_0x47088c=>_0x47088c[_0x182758(0x139)]['length']>=this['config'][_0x182758(0x146)]);for(let _0x26a77d=0x0;_0x26a77d<_0x38eca5[_0x182758(0x135)];_0x26a77d++){const _0x11b146=_0x38eca5[_0x26a77d],_0xedc944=[_0x11b146];if(processed[_0x182758(0x13d)](_0x11b146['id']))continue;for(let _0x3d0082=_0x26a77d+0x1;_0x3d0082<_0x38eca5['length'];_0x3d0082++){const _0x5e4299=_0x38eca5[_0x3d0082];if(processed['has'](_0x5e4299['id']))continue;if(_0x11b146['hash']===_0x5e4299['hash'])continue;const _0x238c8c=this[_0x182758(0x148)](_0x11b146,_0x5e4299);_0x238c8c>=this['config'][_0x182758(0x13f)]&&(_0xedc944[_0x182758(0x145)](_0x5e4299),processed[_0x182758(0x13b)](_0x5e4299['id']));}_0xedc944['length']>0x1&&(processed['add'](_0x11b146['id']),_0x2dc7be[_0x182758(0x145)]({'type':_0x182758(0x143),'confidence':this[_0x182758(0x12d)](_0xedc944),'blocks':_0xedc944,'tokenCount':Math[_0x182758(0x128)](..._0xedc944[_0x182758(0x137)](_0x43b770=>_0x43b770['tokens']['length']))}));}return _0x2dc7be;}['calculateBlockSimilarity'](_0x41b92a,_0x5400e7){const _0x34c08b=a0_0x21947b,_0x76c93b=_0x41b92a[_0x34c08b(0x139)],_0x1084f4=_0x5400e7[_0x34c08b(0x139)],_0x2bbdb2=Math['min'](_0x76c93b['length'],_0x1084f4[_0x34c08b(0x135)])/Math[_0x34c08b(0x128)](_0x76c93b[_0x34c08b(0x135)],_0x1084f4['length']);if(_0x2bbdb2<0.7)return 0x0;const _0x55c74f=this['longestCommonSubsequence'](_0x76c93b,_0x1084f4),_0x8c954c=0x2*_0x55c74f/(_0x76c93b['length']+_0x1084f4['length']);return _0x8c954c;}['longestCommonSubsequence'](_0x1b9b81,_0x2a5bca){const _0x33ba22=a0_0x21947b,_0xfbdc49=_0x1b9b81['length'],_0x39482e=_0x2a5bca[_0x33ba22(0x135)];if(_0xfbdc49*_0x39482e>0x186a0)return this['approximateLCS'](_0x1b9b81,_0x2a5bca);const _0x450618=Array(_0xfbdc49+0x1)[_0x33ba22(0x136)](0x0)['map'](()=>Array(_0x39482e+0x1)['fill'](0x0));for(let _0x32fb40=0x1;_0x32fb40<=_0xfbdc49;_0x32fb40++){for(let _0x4e1286=0x1;_0x4e1286<=_0x39482e;_0x4e1286++){_0x1b9b81[_0x32fb40-0x1]===_0x2a5bca[_0x4e1286-0x1]?_0x450618[_0x32fb40][_0x4e1286]=_0x450618[_0x32fb40-0x1][_0x4e1286-0x1]+0x1:_0x450618[_0x32fb40][_0x4e1286]=Math[_0x33ba22(0x128)](_0x450618[_0x32fb40-0x1][_0x4e1286],_0x450618[_0x32fb40][_0x4e1286-0x1]);}}return _0x450618[_0xfbdc49][_0x39482e];}[a0_0x21947b(0x147)](_0x1650c5,_0x14935b){const _0x150e1c=a0_0x21947b,_0xbd0b3f=0x64;let _0x394cdd=0x0;for(let _0x423a7a=0x0;_0x423a7a<_0x1650c5['length'];_0x423a7a+=_0xbd0b3f){const _0x1074d3=_0x1650c5['slice'](_0x423a7a,_0x423a7a+_0xbd0b3f),_0x5b19a1=new Set(_0x14935b[_0x150e1c(0x12a)](Math[_0x150e1c(0x128)](0x0,_0x423a7a-_0xbd0b3f),_0x423a7a+_0xbd0b3f*0x2));_0x394cdd+=_0x1074d3[_0x150e1c(0x130)](_0x1d4926=>_0x5b19a1['has'](_0x1d4926))[_0x150e1c(0x135)];}return _0x394cdd;}[a0_0x21947b(0x12d)](_0x3acc1d){const _0xdf5f15=a0_0x21947b;if(_0x3acc1d['length']===0x0)return 0x0;let _0x489e42=0x0,_0x1d0028=0x0;for(let _0x419101=0x0;_0x419101<_0x3acc1d['length'];_0x419101++){for(let _0xec4a9f=_0x419101+0x1;_0xec4a9f<_0x3acc1d[_0xdf5f15(0x135)];_0xec4a9f++){_0x489e42+=this['calculateBlockSimilarity'](_0x3acc1d[_0x419101],_0x3acc1d[_0xec4a9f]),_0x1d0028++;}}return _0x1d0028>0x0?_0x489e42/_0x1d0028:0x0;}}
1
+ function a0_0x1d7f(){const _0x3dfeb1=['nNbSu1LQAW','CgfYC2vY','Dg9Rzw5Z','C2LTAwXHCML0EvrOCMvZAg9Sza','yMXVy2TZ','mJC5ngfOv2fyEq','mtqZmZi0m21KB0r5wa','nZC4oe5xCvrmzW','C2LTAwXHCG','AgfZAa','C2XPy2u','y2fSy3vSyxrLqMXVy2TtAw1PBgfYAxr5','ignVzguGyMXVy2TZ','y2fSy3vSyxrLr3jVDxbdB25MAwrLBMnL','nZqYndaWvervwvfK','BgvUz3rO','ntCXmhDktKD5AG','ChvZAa','yxbWCM94Aw1HDgvmq1m','Bwf4','z3jVDxbcEuHHC2G','mtzXBgnoAxe','mtu3mJyWnhrAzxbAva','rgv0zwn0Aw5NignSB25LCY4UlG','odGXowTlwfPVsa','AgfZ','rM91BMqG','zMLSDgvY','zMLUzfnPBwLSyxjdBg9Uzxm','mte2n2zIA21mAa','zgv0zwn0q2XVBMvZ','ndjWwwzOCxm','qw5HBhL6Aw5Nia','Bg9Uz2vZDenVBw1VBLn1yNnLCxvLBMnL','Bg9N','mZe1svf5qwzT','zMLSBa'];a0_0x1d7f=function(){return _0x3dfeb1;};return a0_0x1d7f();}function a0_0x53d3(_0xc37141,_0xdea7c9){_0xc37141=_0xc37141-0x1dd;const _0x1d7f38=a0_0x1d7f();let _0x53d33c=_0x1d7f38[_0xc37141];if(a0_0x53d3['YEmXIf']===undefined){var _0x2bea21=function(_0x6a8007){const _0xf82c78='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x31fe24='',_0x5548c4='';for(let _0x4dcc51=0x0,_0x2a03d6,_0x565293,_0x451c26=0x0;_0x565293=_0x6a8007['charAt'](_0x451c26++);~_0x565293&&(_0x2a03d6=_0x4dcc51%0x4?_0x2a03d6*0x40+_0x565293:_0x565293,_0x4dcc51++%0x4)?_0x31fe24+=String['fromCharCode'](0xff&_0x2a03d6>>(-0x2*_0x4dcc51&0x6)):0x0){_0x565293=_0xf82c78['indexOf'](_0x565293);}for(let _0x4f46c9=0x0,_0x47ced1=_0x31fe24['length'];_0x4f46c9<_0x47ced1;_0x4f46c9++){_0x5548c4+='%'+('00'+_0x31fe24['charCodeAt'](_0x4f46c9)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5548c4);};a0_0x53d3['GpUBxl']=_0x2bea21,a0_0x53d3['QptJYQ']={},a0_0x53d3['YEmXIf']=!![];}const _0x498f57=_0x1d7f38[0x0],_0x32613f=_0xc37141+_0x498f57,_0x3f7c0e=a0_0x53d3['QptJYQ'][_0x32613f];return!_0x3f7c0e?(_0x53d33c=a0_0x53d3['GpUBxl'](_0x53d33c),a0_0x53d3['QptJYQ'][_0x32613f]=_0x53d33c):_0x53d33c=_0x3f7c0e,_0x53d33c;}const a0_0x1de5ff=a0_0x53d3;(function(_0x4208dd,_0x331c3e){const _0x23d169=a0_0x53d3,_0xf0758a=_0x4208dd();while(!![]){try{const _0x77b498=-parseInt(_0x23d169(0x1e9))/0x1+-parseInt(_0x23d169(0x1f0))/0x2*(parseInt(_0x23d169(0x1ee))/0x3)+-parseInt(_0x23d169(0x1e7))/0x4+parseInt(_0x23d169(0x1df))/0x5*(parseInt(_0x23d169(0x1f6))/0x6)+parseInt(_0x23d169(0x1fc))/0x7*(parseInt(_0x23d169(0x1e6))/0x8)+parseInt(_0x23d169(0x1f4))/0x9*(parseInt(_0x23d169(0x1e1))/0xa)+parseInt(_0x23d169(0x1fb))/0xb*(parseInt(_0x23d169(0x1fd))/0xc);if(_0x77b498===_0x331c3e)break;else _0xf0758a['push'](_0xf0758a['shift']());}catch(_0x1f12e2){_0xf0758a['push'](_0xf0758a['shift']());}}}(a0_0x1d7f,0x5137e));export class CloneDetector{constructor(_0x31fe24,_0x5548c4){const _0x266854=a0_0x53d3;this['config']=_0x31fe24,this[_0x266854(0x1f7)]=_0x5548c4;}[a0_0x1de5ff(0x1ef)](_0x4dcc51){const _0x5b724f=a0_0x1de5ff;console['log'](_0x5b724f(0x1e8));const _0x2a03d6=[],_0x565293=[];for(const _0x47ced1 of _0x4dcc51){_0x565293['push'](..._0x47ced1[_0x5b724f(0x1fa)]);}console[_0x5b724f(0x1f3)](_0x5b724f(0x1f1)+_0x565293[_0x5b724f(0x1e0)]+_0x5b724f(0x1dd));const _0x451c26=this[_0x5b724f(0x1e5)](_0x565293);for(const [_0xebd4b2,_0xbdc632]of Object['entries'](_0x451c26)){_0xbdc632[_0x5b724f(0x1e0)]>0x1&&_0x2a03d6[_0x5b724f(0x1e2)]({'type':'exact','confidence':0x1,'blocks':_0xbdc632,'tokenCount':_0xbdc632[0x0][_0x5b724f(0x1f8)][_0x5b724f(0x1e0)]});}const _0x4f46c9=this[_0x5b724f(0x1ed)](_0x565293);return _0x2a03d6[_0x5b724f(0x1e2)](..._0x4f46c9),console[_0x5b724f(0x1f3)](_0x5b724f(0x1eb)+_0x2a03d6['length']+'\x20clone\x20groups'),_0x2a03d6;}[a0_0x1de5ff(0x1e5)](_0x2e50ab){const _0x59048d=a0_0x1de5ff,_0x4b1a97={};for(const _0xbeac26 of _0x2e50ab){if(_0xbeac26['tokens']['length']<this['config']['minTokens'])continue;!_0x4b1a97[_0xbeac26[_0x59048d(0x1ff)]]&&(_0x4b1a97[_0xbeac26['hash']]=[]),_0x4b1a97[_0xbeac26['hash']]['push'](_0xbeac26);}return _0x4b1a97;}['findSimilarClones'](_0x33a3f7){const _0x4a485d=a0_0x1de5ff,_0x3dc305=[],processed=new Set(),_0x29794d=_0x33a3f7[_0x4a485d(0x1ec)](_0x2a0a2b=>_0x2a0a2b['tokens']['length']>=this['config']['minTokens']);for(let _0x2146d7=0x0;_0x2146d7<_0x29794d[_0x4a485d(0x1e0)];_0x2146d7++){const _0x38d728=_0x29794d[_0x2146d7],_0x1bf23f=[_0x38d728];if(processed['has'](_0x38d728['id']))continue;for(let _0x3630cd=_0x2146d7+0x1;_0x3630cd<_0x29794d[_0x4a485d(0x1e0)];_0x3630cd++){const _0x358dd9=_0x29794d[_0x3630cd];if(processed['has'](_0x358dd9['id']))continue;if(_0x38d728[_0x4a485d(0x1ff)]===_0x358dd9[_0x4a485d(0x1ff)])continue;const _0x5124b9=this[_0x4a485d(0x201)](_0x38d728,_0x358dd9);_0x5124b9>=this['config'][_0x4a485d(0x1f9)]&&(_0x1bf23f['push'](_0x358dd9),processed['add'](_0x358dd9['id']));}_0x1bf23f[_0x4a485d(0x1e0)]>0x1&&(processed['add'](_0x38d728['id']),_0x3dc305[_0x4a485d(0x1e2)]({'type':_0x4a485d(0x1fe),'confidence':this[_0x4a485d(0x1de)](_0x1bf23f),'blocks':_0x1bf23f,'tokenCount':Math[_0x4a485d(0x1e4)](..._0x1bf23f['map'](_0x4bf866=>_0x4bf866[_0x4a485d(0x1f8)][_0x4a485d(0x1e0)]))}));}return _0x3dc305;}['calculateBlockSimilarity'](_0x4121fd,_0x420818){const _0x3250e2=a0_0x1de5ff,_0x16cca0=_0x4121fd[_0x3250e2(0x1f8)],_0x80fc3d=_0x420818['tokens'],_0x33f170=Math['min'](_0x16cca0['length'],_0x80fc3d['length'])/Math['max'](_0x16cca0['length'],_0x80fc3d['length']);if(_0x33f170<0.7)return 0x0;const _0x2df7e4=this[_0x3250e2(0x1f2)](_0x16cca0,_0x80fc3d),_0x493816=0x2*_0x2df7e4/(_0x16cca0[_0x3250e2(0x1e0)]+_0x80fc3d[_0x3250e2(0x1e0)]);return _0x493816;}[a0_0x1de5ff(0x1f2)](_0x3df6a8,_0x4ac013){const _0x1d7b88=a0_0x1de5ff,_0x14d043=_0x3df6a8['length'],_0x3a644f=_0x4ac013[_0x1d7b88(0x1e0)];if(_0x14d043*_0x3a644f>0x186a0)return this[_0x1d7b88(0x1e3)](_0x3df6a8,_0x4ac013);const _0x212c0f=Array(_0x14d043+0x1)[_0x1d7b88(0x1f5)](0x0)['map'](()=>Array(_0x3a644f+0x1)[_0x1d7b88(0x1f5)](0x0));for(let _0x1de1e4=0x1;_0x1de1e4<=_0x14d043;_0x1de1e4++){for(let _0x1e0cd2=0x1;_0x1e0cd2<=_0x3a644f;_0x1e0cd2++){_0x3df6a8[_0x1de1e4-0x1]===_0x4ac013[_0x1e0cd2-0x1]?_0x212c0f[_0x1de1e4][_0x1e0cd2]=_0x212c0f[_0x1de1e4-0x1][_0x1e0cd2-0x1]+0x1:_0x212c0f[_0x1de1e4][_0x1e0cd2]=Math['max'](_0x212c0f[_0x1de1e4-0x1][_0x1e0cd2],_0x212c0f[_0x1de1e4][_0x1e0cd2-0x1]);}}return _0x212c0f[_0x14d043][_0x3a644f];}['approximateLCS'](_0x5f2ea4,_0x2dbcfa){const _0x7e1a88=a0_0x1de5ff,_0xfaff0c=0x64;let _0x115d23=0x0;for(let _0x540c51=0x0;_0x540c51<_0x5f2ea4[_0x7e1a88(0x1e0)];_0x540c51+=_0xfaff0c){const _0x5e1267=_0x5f2ea4[_0x7e1a88(0x200)](_0x540c51,_0x540c51+_0xfaff0c),_0x2524d4=new Set(_0x2dbcfa[_0x7e1a88(0x200)](Math[_0x7e1a88(0x1e4)](0x0,_0x540c51-_0xfaff0c),_0x540c51+_0xfaff0c*0x2));_0x115d23+=_0x5e1267['filter'](_0x33d617=>_0x2524d4[_0x7e1a88(0x1ea)](_0x33d617))['length'];}return _0x115d23;}[a0_0x1de5ff(0x1de)](_0x66b568){const _0x36dfa6=a0_0x1de5ff;if(_0x66b568[_0x36dfa6(0x1e0)]===0x0)return 0x0;let _0x1760a3=0x0,_0x4db89f=0x0;for(let _0x3863dc=0x0;_0x3863dc<_0x66b568[_0x36dfa6(0x1e0)];_0x3863dc++){for(let _0x22f12c=_0x3863dc+0x1;_0x22f12c<_0x66b568[_0x36dfa6(0x1e0)];_0x22f12c++){_0x1760a3+=this[_0x36dfa6(0x201)](_0x66b568[_0x3863dc],_0x66b568[_0x22f12c]),_0x4db89f++;}}return _0x4db89f>0x0?_0x1760a3/_0x4db89f:0x0;}}