@evomap/evolver 1.90.0 → 2.0.0-beta.1

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 (231) hide show
  1. package/README.md +27 -564
  2. package/bin/evolver-llm-proxy.js +3 -0
  3. package/bin/evolver-mcp.js +2 -0
  4. package/bin/evolver-proxy.js +3 -0
  5. package/bin/evolver.js +4 -0
  6. package/index.js +1 -3670
  7. package/package.json +32 -62
  8. package/CONTRIBUTING.md +0 -19
  9. package/LICENSE +0 -641
  10. package/README.ja-JP.md +0 -521
  11. package/README.ko-KR.md +0 -520
  12. package/README.zh-CN.md +0 -531
  13. package/SKILL.md +0 -365
  14. package/assets/cover.png +0 -0
  15. package/assets/gep/genes.seed.json +0 -496
  16. package/conformance/savings-core/constants.json +0 -30
  17. package/conformance/savings-core/golden-vectors.json +0 -333
  18. package/scripts/a2a_export.js +0 -63
  19. package/scripts/a2a_ingest.js +0 -79
  20. package/scripts/a2a_promote.js +0 -118
  21. package/scripts/analyze_by_skill.js +0 -121
  22. package/scripts/build_binaries.js +0 -479
  23. package/scripts/check-changelog.js +0 -166
  24. package/scripts/extract_log.js +0 -85
  25. package/scripts/generate_history.js +0 -75
  26. package/scripts/gep_append_event.js +0 -96
  27. package/scripts/gep_personality_report.js +0 -234
  28. package/scripts/human_report.js +0 -147
  29. package/scripts/recall-verify-report.js +0 -234
  30. package/scripts/recover_loop.js +0 -61
  31. package/scripts/refresh_stars_badge.js +0 -168
  32. package/scripts/seed-merchants.js +0 -91
  33. package/scripts/skill2recipes.js +0 -118
  34. package/scripts/suggest_version.js +0 -89
  35. package/scripts/validate-modules.js +0 -38
  36. package/scripts/validate-suite.js +0 -78
  37. package/src/adapters/claudeCode.js +0 -194
  38. package/src/adapters/codex.js +0 -216
  39. package/src/adapters/cursor.js +0 -91
  40. package/src/adapters/hookAdapter.js +0 -469
  41. package/src/adapters/kiro.js +0 -195
  42. package/src/adapters/opencode.js +0 -326
  43. package/src/adapters/scripts/_lockPaths.js +0 -74
  44. package/src/adapters/scripts/_memoryFiltering.js +0 -35
  45. package/src/adapters/scripts/_runtimePaths.js +0 -440
  46. package/src/adapters/scripts/evolver-session-end.js +0 -321
  47. package/src/adapters/scripts/evolver-session-start.js +0 -587
  48. package/src/adapters/scripts/evolver-signal-detect.js +0 -98
  49. package/src/adapters/scripts/evolver-task-recall.js +0 -173
  50. package/src/atp/atpExecute.js +0 -283
  51. package/src/atp/atpTaskPickup.js +0 -233
  52. package/src/atp/autoBuyer.js +0 -382
  53. package/src/atp/autoDeliver.js +0 -215
  54. package/src/atp/cli.js +0 -354
  55. package/src/atp/cliAutobuyPrompt.js +0 -154
  56. package/src/atp/consumerAgent.js +0 -157
  57. package/src/atp/defaultHandler.js +0 -69
  58. package/src/atp/heartbeatSignalsHandler.js +0 -254
  59. package/src/atp/hubClient.js +0 -317
  60. package/src/atp/index.js +0 -38
  61. package/src/atp/merchantAgent.js +0 -118
  62. package/src/atp/protocol.js +0 -41
  63. package/src/atp/questionComposer.js +0 -133
  64. package/src/atp/serviceHelper.js +0 -92
  65. package/src/canary.js +0 -13
  66. package/src/config.js +0 -351
  67. package/src/evolve/guards.js +0 -1
  68. package/src/evolve/pipeline/collect.js +0 -1
  69. package/src/evolve/pipeline/dispatch.js +0 -1
  70. package/src/evolve/pipeline/enrich.js +0 -1
  71. package/src/evolve/pipeline/hub.js +0 -1
  72. package/src/evolve/pipeline/select.js +0 -1
  73. package/src/evolve/pipeline/signals.js +0 -1
  74. package/src/evolve/utils.js +0 -1
  75. package/src/evolve.js +0 -1
  76. package/src/experiment/agentRunner.js +0 -229
  77. package/src/experiment/cli.js +0 -159
  78. package/src/experiment/comparison.js +0 -233
  79. package/src/experiment/metrics.js +0 -75
  80. package/src/forceUpdate.js +0 -991
  81. package/src/gep/a2a.js +0 -173
  82. package/src/gep/a2aProtocol.js +0 -1
  83. package/src/gep/analyzer.js +0 -35
  84. package/src/gep/antiAbuseTelemetry.js +0 -1
  85. package/src/gep/assetCallLog.js +0 -197
  86. package/src/gep/assetStore.js +0 -723
  87. package/src/gep/assets.js +0 -36
  88. package/src/gep/autoDistillConv.js +0 -1
  89. package/src/gep/autoDistillLlm.js +0 -1
  90. package/src/gep/bridge.js +0 -138
  91. package/src/gep/candidateEval.js +0 -1
  92. package/src/gep/candidates.js +0 -1
  93. package/src/gep/claimNudge.js +0 -121
  94. package/src/gep/cliContracts.js +0 -1190
  95. package/src/gep/contentHash.js +0 -1
  96. package/src/gep/conversationDistiller.js +0 -1
  97. package/src/gep/conversationSniffer.js +0 -1
  98. package/src/gep/crypto.js +0 -1
  99. package/src/gep/curriculum.js +0 -1
  100. package/src/gep/deviceId.js +0 -1
  101. package/src/gep/directoryClient.js +0 -115
  102. package/src/gep/envFingerprint.js +0 -1
  103. package/src/gep/epigenetics.js +0 -1
  104. package/src/gep/execBridge.js +0 -1
  105. package/src/gep/executionTrace.js +0 -291
  106. package/src/gep/explore.js +0 -1
  107. package/src/gep/featureFlags.js +0 -121
  108. package/src/gep/gitOps.js +0 -265
  109. package/src/gep/hash.js +0 -1
  110. package/src/gep/hostErrorClassifier.js +0 -34
  111. package/src/gep/hubFetch.js +0 -1
  112. package/src/gep/hubReview.js +0 -1
  113. package/src/gep/hubSearch.js +0 -1
  114. package/src/gep/hubVerify.js +0 -1
  115. package/src/gep/idleScheduler.js +0 -400
  116. package/src/gep/issueReporter.js +0 -416
  117. package/src/gep/learningSignals.js +0 -1
  118. package/src/gep/llmReview.js +0 -92
  119. package/src/gep/localStateAwareness.js +0 -243
  120. package/src/gep/mailboxTransport.js +0 -119
  121. package/src/gep/memoryGraph.js +0 -1
  122. package/src/gep/memoryGraphAdapter.js +0 -1
  123. package/src/gep/mutation.js +0 -1
  124. package/src/gep/narrativeMemory.js +0 -1
  125. package/src/gep/oauthLogin.js +0 -181
  126. package/src/gep/openPRRegistry.js +0 -1
  127. package/src/gep/paths.js +0 -522
  128. package/src/gep/personality.js +0 -1
  129. package/src/gep/policyCheck.js +0 -1
  130. package/src/gep/portable.js +0 -103
  131. package/src/gep/privacyClient.js +0 -235
  132. package/src/gep/prompt.js +0 -1
  133. package/src/gep/questionGenerator.js +0 -518
  134. package/src/gep/recallInject.js +0 -1
  135. package/src/gep/recallVerifier.js +0 -1
  136. package/src/gep/reflection.js +0 -1
  137. package/src/gep/sanitize.js +0 -264
  138. package/src/gep/savingsCore.js +0 -1
  139. package/src/gep/schemas/capsule.js +0 -170
  140. package/src/gep/schemas/gene.js +0 -154
  141. package/src/gep/schemas/index.js +0 -8
  142. package/src/gep/schemas/protocol.js +0 -51
  143. package/src/gep/schemas/task.js +0 -74
  144. package/src/gep/selector.js +0 -1
  145. package/src/gep/selfPR.js +0 -469
  146. package/src/gep/signals.js +0 -776
  147. package/src/gep/skill2gep.js +0 -1056
  148. package/src/gep/skill2gepAudit.js +0 -303
  149. package/src/gep/skill2recipes.js +0 -511
  150. package/src/gep/skillDistiller.js +0 -1
  151. package/src/gep/skillPublisher.js +0 -358
  152. package/src/gep/solidify.js +0 -1
  153. package/src/gep/strategy.js +0 -1
  154. package/src/gep/taskReceiver.js +0 -575
  155. package/src/gep/tokenSavings.js +0 -1
  156. package/src/gep/trajectoryExport.js +0 -1
  157. package/src/gep/validationReport.js +0 -55
  158. package/src/gep/validator/index.js +0 -411
  159. package/src/gep/validator/reporter.js +0 -210
  160. package/src/gep/validator/sandboxExecutor.js +0 -480
  161. package/src/gep/validator/stakeBootstrap.js +0 -357
  162. package/src/gep/workspaceKeychain.js +0 -1
  163. package/src/ops/cleanup.js +0 -80
  164. package/src/ops/commentary.js +0 -60
  165. package/src/ops/health_check.js +0 -104
  166. package/src/ops/index.js +0 -11
  167. package/src/ops/innovation.js +0 -67
  168. package/src/ops/lifecycle.js +0 -798
  169. package/src/ops/self_repair.js +0 -76
  170. package/src/ops/skills_monitor.js +0 -147
  171. package/src/ops/trigger.js +0 -33
  172. package/src/proxy/clientSettings.js +0 -405
  173. package/src/proxy/envelope.js +0 -59
  174. package/src/proxy/extensions/dmHandler.js +0 -45
  175. package/src/proxy/extensions/sessionHandler.js +0 -141
  176. package/src/proxy/extensions/skillUpdater.js +0 -64
  177. package/src/proxy/extensions/traceControl.js +0 -1
  178. package/src/proxy/index.js +0 -1395
  179. package/src/proxy/inject.js +0 -1
  180. package/src/proxy/lifecycle/manager.js +0 -1568
  181. package/src/proxy/mailbox/state.js +0 -207
  182. package/src/proxy/mailbox/store.js +0 -602
  183. package/src/proxy/router/cache_passthrough.js +0 -26
  184. package/src/proxy/router/features.js +0 -84
  185. package/src/proxy/router/gemini_route.js +0 -154
  186. package/src/proxy/router/messages_route.js +0 -535
  187. package/src/proxy/router/model_router.js +0 -113
  188. package/src/proxy/router/models_route.js +0 -52
  189. package/src/proxy/router/ollama_route.js +0 -103
  190. package/src/proxy/router/responses_route.js +0 -170
  191. package/src/proxy/router/vertex_route.js +0 -110
  192. package/src/proxy/server/http.js +0 -363
  193. package/src/proxy/server/routes.js +0 -558
  194. package/src/proxy/server/settings.js +0 -115
  195. package/src/proxy/sync/engine.js +0 -179
  196. package/src/proxy/sync/inbound.js +0 -211
  197. package/src/proxy/sync/outbound.js +0 -361
  198. package/src/proxy/task/monitor.js +0 -131
  199. package/src/proxy/trace/extractor.js +0 -1
  200. package/src/proxy/trace/usage.js +0 -1
  201. package/src/solo/breaker.js +0 -25
  202. package/src/solo/gitGuard.js +0 -65
  203. package/src/webui/client/clientJs/assets.js +0 -111
  204. package/src/webui/client/clientJs/bootstrap.js +0 -92
  205. package/src/webui/client/clientJs/common.js +0 -77
  206. package/src/webui/client/clientJs/i18n.js +0 -366
  207. package/src/webui/client/clientJs/index.js +0 -35
  208. package/src/webui/client/clientJs/interactions.js +0 -351
  209. package/src/webui/client/clientJs/overview.js +0 -152
  210. package/src/webui/client/clientJs/personality.js +0 -285
  211. package/src/webui/client/clientJs/pipelines.js +0 -330
  212. package/src/webui/client/indexHtml.js +0 -221
  213. package/src/webui/client/static.js +0 -23
  214. package/src/webui/client/stylesCss.js +0 -639
  215. package/src/webui/client/vendor/README.md +0 -15
  216. package/src/webui/client/vendor/echarts.min.js +0 -45
  217. package/src/webui/index.js +0 -14
  218. package/src/webui/observer/assets.js +0 -146
  219. package/src/webui/observer/index.js +0 -37
  220. package/src/webui/observer/interactions.js +0 -127
  221. package/src/webui/observer/jsonl.js +0 -75
  222. package/src/webui/observer/paths.js +0 -46
  223. package/src/webui/observer/personality.js +0 -43
  224. package/src/webui/observer/pipelineEvents.js +0 -58
  225. package/src/webui/observer/redact.js +0 -63
  226. package/src/webui/observer/runs.js +0 -356
  227. package/src/webui/observer/safety.js +0 -57
  228. package/src/webui/observer/skills.js +0 -70
  229. package/src/webui/observer/status.js +0 -71
  230. package/src/webui/server/http.js +0 -138
  231. package/src/webui/server/routes.js +0 -41
package/src/evolve.js DELETED
@@ -1 +0,0 @@
1
- function _0x152c(_0x41fe65,_0x9e4658){_0x41fe65=_0x41fe65-(-0x1cb5+0x1d7*0x7+-0x6f*-0x29);const _0x491555=_0x3aeb();let _0x4866c7=_0x491555[_0x41fe65];if(_0x152c['\x49\x69\x76\x61\x72\x4b']===undefined){var _0x20cc4e=function(_0x171a9a){const _0x3240e5='\x61\x62\x63\x64\x65\x66\x67\x68\x69\x6a\x6b\x6c\x6d\x6e\x6f\x70\x71\x72\x73\x74\x75\x76\x77\x78\x79\x7a\x41\x42\x43\x44\x45\x46\x47\x48\x49\x4a\x4b\x4c\x4d\x4e\x4f\x50\x51\x52\x53\x54\x55\x56\x57\x58\x59\x5a\x30\x31\x32\x33\x34\x35\x36\x37\x38\x39\x2b\x2f\x3d';let _0x3d98fb='',_0x3ae95f='',_0x52de53=_0x3d98fb+_0x20cc4e,_0x1cb6e5=(''+function(){return-0x20f5+0x2510+0x41b*-0x1;})['\x69\x6e\x64\x65\x78\x4f\x66']('\x0a')!==-(-0x49c+0xc*0x1eb+-0x1267);for(let _0x241970=0x96b*0x1+0x2*0x1133+-0x2bd1,_0x32d244,_0x3515e7,_0x2f111d=0x21*0x6b+-0x23f3*-0x1+0x2*-0x18df;_0x3515e7=_0x171a9a['\x63\x68\x61\x72\x41\x74'](_0x2f111d++);~_0x3515e7&&(_0x32d244=_0x241970%(0x182c*0x1+0x5c7*0x6+-0x1*0x3ad2)?_0x32d244*(0x545+0x2*0xc17+-0x23f*0xd)+_0x3515e7:_0x3515e7,_0x241970++%(-0x2278+-0xd0e*-0x1+0x156e))?_0x3d98fb+=_0x1cb6e5||_0x52de53['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x2f111d+(-0x12ee+-0x2221*-0x1+0x1*-0xf29))-(-0xb27+-0x1*-0x221a+-0x16e9)!==0x11*0x157+-0x11d+-0x15aa?String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](-0x2*0x5d7+0x6ed*-0x5+0x2f4e&_0x32d244>>(-(0x50*0x31+0x23*-0x15+-0x3*0x425)*_0x241970&-0x1c0b+-0x2d6*0x5+0x2a3f)):_0x241970:-0x1c*-0x133+0x59*0x7+-0x2403){_0x3515e7=_0x3240e5['\x69\x6e\x64\x65\x78\x4f\x66'](_0x3515e7);}for(let _0x4d61bd=-0x1e37+-0x202e+-0x3e65*-0x1,_0x309ec5=_0x3d98fb['\x6c\x65\x6e\x67\x74\x68'];_0x4d61bd<_0x309ec5;_0x4d61bd++){_0x3ae95f+='\x25'+('\x30\x30'+_0x3d98fb['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x4d61bd)['\x74\x6f\x53\x74\x72\x69\x6e\x67'](0x107e+0xa9b+0x3*-0x903))['\x73\x6c\x69\x63\x65'](-(0x1b18+-0xac8+0x827*-0x2));}return decodeURIComponent(_0x3ae95f);};const _0x55f30c=function(_0x36f5ab,_0x1e0dc5){let _0x578f28=[],_0x4928fa=-0x1c50+-0x181d*0x1+0x346d,_0x419085,_0x4ef8c9='';_0x36f5ab=_0x20cc4e(_0x36f5ab);let _0x905036;for(_0x905036=0x1*-0x1520+-0x1b2f+0x304f;_0x905036<-0xb7c+-0x179f+0x4f*0x75;_0x905036++){_0x578f28[_0x905036]=_0x905036;}for(_0x905036=0xe67*-0x1+0x2e*-0x66+-0x3*-0xae9;_0x905036<-0x1a6*0x4+-0x5*0x44f+0x1d23;_0x905036++){_0x4928fa=(_0x4928fa+_0x578f28[_0x905036]+_0x1e0dc5['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x905036%_0x1e0dc5['\x6c\x65\x6e\x67\x74\x68']))%(-0x2f0*-0x9+0x56f+-0x1edf),_0x419085=_0x578f28[_0x905036],_0x578f28[_0x905036]=_0x578f28[_0x4928fa],_0x578f28[_0x4928fa]=_0x419085;}_0x905036=-0x80*0x1+-0xa1b+0xa9b,_0x4928fa=-0x4ea+-0x2058+-0x2542*-0x1;for(let _0x3f7187=-0x1da7+0x148*-0x14+-0x3*-0x126d;_0x3f7187<_0x36f5ab['\x6c\x65\x6e\x67\x74\x68'];_0x3f7187++){_0x905036=(_0x905036+(-0x435+-0x76d+0xba3))%(-0x807+0x22dc+-0x19d5*0x1),_0x4928fa=(_0x4928fa+_0x578f28[_0x905036])%(-0x1236+0x2*-0x10a2+0x347a),_0x419085=_0x578f28[_0x905036],_0x578f28[_0x905036]=_0x578f28[_0x4928fa],_0x578f28[_0x4928fa]=_0x419085,_0x4ef8c9+=String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](_0x36f5ab['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x3f7187)^_0x578f28[(_0x578f28[_0x905036]+_0x578f28[_0x4928fa])%(0x9*-0x33b+-0x6f4+0x2507*0x1)]);}return _0x4ef8c9;};_0x152c['\x44\x56\x68\x6d\x77\x79']=_0x55f30c,_0x152c['\x49\x4f\x6f\x6e\x7a\x74']={},_0x152c['\x49\x69\x76\x61\x72\x4b']=!![];}const _0x463069=_0x491555[0x50+-0xb7d+-0xb2d*-0x1],_0x2bc6d7=_0x41fe65+_0x463069,_0x2c198a=_0x152c['\x49\x4f\x6f\x6e\x7a\x74'][_0x2bc6d7];if(!_0x2c198a){if(_0x152c['\x73\x65\x74\x75\x50\x46']===undefined){const _0x15310b=function(_0x132926){this['\x51\x75\x6a\x67\x6c\x56']=_0x132926,this['\x72\x6d\x48\x67\x70\x6c']=[-0xb2*-0x33+0x1521+-0x2*0x1c4b,-0x1f74+-0x16fc*0x1+0x1b38*0x2,-0x11a9+0x8d2*-0x3+-0x5*-0x8d3],this['\x53\x70\x67\x41\x75\x6a']=function(){return'\x6e\x65\x77\x53\x74\x61\x74\x65';},this['\x51\x68\x63\x63\x55\x56']='\x5c\x77\x2b\x20\x2a\x5c\x28\x5c\x29\x20\x2a\x7b\x5c\x77\x2b\x20\x2a',this['\x70\x65\x67\x78\x55\x68']='\x5b\x27\x7c\x22\x5d\x2e\x2b\x5b\x27\x7c\x22\x5d\x3b\x3f\x20\x2a\x7d';};_0x15310b['\x70\x72\x6f\x74\x6f\x74\x79\x70\x65']['\x50\x7a\x4b\x4e\x76\x58']=function(){const _0x5358cc=new RegExp(this['\x51\x68\x63\x63\x55\x56']+this['\x70\x65\x67\x78\x55\x68']),_0x5cdb64=_0x5358cc['\x74\x65\x73\x74'](this['\x53\x70\x67\x41\x75\x6a']['\x74\x6f\x53\x74\x72\x69\x6e\x67']())?--this['\x72\x6d\x48\x67\x70\x6c'][-0xd94+-0x2*-0x505+0x38b*0x1]:--this['\x72\x6d\x48\x67\x70\x6c'][0x1e48+-0x38*0xb1+-0x6c*-0x14];return this['\x50\x62\x4c\x43\x74\x63'](_0x5cdb64);},_0x15310b['\x70\x72\x6f\x74\x6f\x74\x79\x70\x65']['\x50\x62\x4c\x43\x74\x63']=function(_0x328fe2){if(!Boolean(~_0x328fe2))return _0x328fe2;return this['\x41\x74\x61\x4b\x61\x47'](this['\x51\x75\x6a\x67\x6c\x56']);},_0x15310b['\x70\x72\x6f\x74\x6f\x74\x79\x70\x65']['\x41\x74\x61\x4b\x61\x47']=function(_0x154789){for(let _0x254662=-0x20f7+-0x68e*-0x3+0xd4d*0x1,_0x4fa961=this['\x72\x6d\x48\x67\x70\x6c']['\x6c\x65\x6e\x67\x74\x68'];_0x254662<_0x4fa961;_0x254662++){this['\x72\x6d\x48\x67\x70\x6c']['\x70\x75\x73\x68'](Math['\x72\x6f\x75\x6e\x64'](Math['\x72\x61\x6e\x64\x6f\x6d']())),_0x4fa961=this['\x72\x6d\x48\x67\x70\x6c']['\x6c\x65\x6e\x67\x74\x68'];}return _0x154789(this['\x72\x6d\x48\x67\x70\x6c'][-0x1319*0x1+0x9f2+-0x927*-0x1]);},(''+function(){return 0x1f0a+-0x4*0x13+-0xa*0x313;})['\x69\x6e\x64\x65\x78\x4f\x66']('\x0a')===-(-0xc95*-0x1+-0xad8+-0x1bc)&&new _0x15310b(_0x152c)['\x50\x7a\x4b\x4e\x76\x58'](),_0x152c['\x73\x65\x74\x75\x50\x46']=!![];}_0x4866c7=_0x152c['\x44\x56\x68\x6d\x77\x79'](_0x4866c7,_0x9e4658),_0x152c['\x49\x4f\x6f\x6e\x7a\x74'][_0x2bc6d7]=_0x4866c7;}else _0x4866c7=_0x2c198a;return _0x4866c7;}const _0x286397=_0x152c;(function(_0x20833c,_0x232bfc){const _0x53439f=_0x152c,_0x4fcee0=_0x20833c();while(!![]){try{const _0x5de1ad=-parseInt(_0x53439f(0x1fe,'\x62\x4f\x74\x54'))/(0x8be+0xa1*0x18+-0x17d5*0x1)+parseInt(_0x53439f(0x2f8,'\x54\x5a\x40\x67'))/(-0xe5+-0x5*-0x287+-0xbbc)*(-parseInt(_0x53439f(0x392,'\x7a\x4f\x36\x33'))/(0x1*0x1d39+0x2578+-0x6ab*0xa))+parseInt(_0x53439f(0x335,'\x6b\x51\x65\x59'))/(0x17d4*0x1+0xc40+-0x2410)*(-parseInt(_0x53439f(0x322,'\x63\x51\x6f\x58'))/(-0xc2f+0x1a51+0x1*-0xe1d))+parseInt(_0x53439f(0x3ee,'\x7a\x2a\x34\x4a'))/(0x16c+-0x12b+-0x3b)+parseInt(_0x53439f(0x261,'\x61\x61\x72\x78'))/(-0x1c95+0x1*-0x20e+0x622*0x5)*(parseInt(_0x53439f(0x29a,'\x6e\x56\x54\x50'))/(-0xe6+0x118*0x2+-0x142))+parseInt(_0x53439f(0x259,'\x5b\x68\x32\x7a'))/(0x25fb+0x37*-0x7f+-0xaa9)*(-parseInt(_0x53439f(0x407,'\x6e\x56\x54\x50'))/(0xf4*0x28+-0xfe0+-0x1636))+parseInt(_0x53439f(0x39c,'\x78\x50\x4b\x57'))/(-0x2f*-0x6+-0x1e14*0x1+0x1d05)*(parseInt(_0x53439f(0x423,'\x5d\x62\x32\x6c'))/(0x1177+-0x1b97+0x1b2*0x6));if(_0x5de1ad===_0x232bfc)break;else _0x4fcee0['push'](_0x4fcee0['shift']());}catch(_0x5576ab){_0x4fcee0['push'](_0x4fcee0['shift']());}}}(_0x3aeb,-0x2d406+-0x57d9e+0xf918b));const _0x48e7e7=(function(){const _0x37ae5e=_0x152c,_0x5f2c7f={};_0x5f2c7f[_0x37ae5e(0x245,'\x38\x31\x4a\x4f')]=function(_0x114c34,_0x4dd9d7){return _0x114c34!==_0x4dd9d7;},_0x5f2c7f[_0x37ae5e(0x3eb,'\x6d\x74\x74\x53')]='\x41\x48\x76\x6b\x61',_0x5f2c7f[_0x37ae5e(0x2f3,'\x6d\x59\x34\x50')]='\x57\x52\x42\x52\x4b';const _0x24b4e3=_0x5f2c7f;let _0x31afe2=!![];return function(_0x5d356b,_0x38bcda){const _0xec4fc4=_0x37ae5e;if(_0x24b4e3['\x67\x49\x43\x76\x75'](_0x24b4e3[_0xec4fc4(0x3cb,'\x59\x5d\x74\x28')],_0x24b4e3[_0xec4fc4(0x3d3,'\x2a\x71\x6d\x53')])){const _0x2e735=_0x31afe2?function(){const _0xf217ed=_0xec4fc4;if(_0x38bcda){const _0x58e676=_0x38bcda[_0xf217ed(0x253,'\x5b\x68\x32\x7a')](_0x5d356b,arguments);return _0x38bcda=null,_0x58e676;}}:function(){};return _0x31afe2=![],_0x2e735;}else{const _0x369693=_0x36ba68['\x66\x69\x6c\x74\x65\x72'](function(_0x6e8ba9){const _0x139996=_0xec4fc4;return _0x6e8ba9[_0x139996(0x302,'\x25\x4d\x52\x50')]===_0x139996(0x22f,'\x25\x4d\x52\x50');})[_0xec4fc4(0x413,'\x52\x49\x7a\x59')](function(_0x2ae25f){const _0x572ae5=_0xec4fc4;return _0x2ae25f[_0x572ae5(0x286,'\x78\x50\x4b\x57')];})[_0xec4fc4(0x289,'\x74\x6c\x57\x5d')]('');return _0x369693[_0xec4fc4(0x2c5,'\x77\x21\x6f\x28')]();}};}()),_0x460361=_0x48e7e7(this,function(){const _0x41086b=_0x152c;return _0x460361[_0x41086b(0x293,'\x6d\x59\x34\x50')]()[_0x41086b(0x327,'\x34\x24\x6f\x78')](_0x41086b(0x225,'\x4a\x49\x74\x51')+_0x41086b(0x329,'\x77\x21\x6f\x28'))[_0x41086b(0x37f,'\x77\x21\x6f\x28')]()[_0x41086b(0x36f,'\x2a\x71\x6d\x53')+_0x41086b(0x2c4,'\x6d\x74\x74\x53')](_0x460361)[_0x41086b(0x201,'\x63\x40\x36\x45')]('\x28\x28\x28\x2e\x2b\x29\x2b\x29'+_0x41086b(0x34a,'\x37\x46\x31\x6f'));});_0x460361();const _0x128eb8=require('\x66\x73'),_0x1b38d9=require(_0x286397(0x219,'\x4a\x49\x74\x51')),_0x43e723=require('\x6f\x73'),{execSync:_0x64434c,execFile:_0xd7ae77}=require(_0x286397(0x1f7,'\x45\x75\x72\x64')+_0x286397(0x23a,'\x32\x77\x63\x77')),_0x550ffd=(0xed8+0x35*0x9+0xfb*-0x11)*(0x1ef*0x3+-0x17ff+-0x1632*-0x1)*(-0x1d3f+-0x1e*-0x36+-0x3*-0x8f9),{getRepoRoot:_0x5c52fe,getMemoryDir:_0x15efec,getAgentSessionsDir:_0x7e7735,getEvomapPath:_0x8d9e36}=require(_0x286397(0x324,'\x6d\x74\x74\x53')+_0x286397(0x24a,'\x78\x58\x54\x30')),{ensureAssetFiles:_0x51b036}=require(_0x286397(0x328,'\x4e\x38\x4f\x28')+_0x286397(0x348,'\x4f\x26\x7a\x63')),_0x135fb4=_0x5c52fe();function _0x3aeb(){const _0x37265e=['\x57\x4f\x50\x74\x57\x36\x56\x64\x50\x43\x6b\x65\x57\x4f\x4f','\x69\x78\x4a\x64\x4d\x6d\x6f\x4c\x57\x50\x53\x2f\x57\x37\x65','\x74\x67\x68\x64\x56\x6d\x6b\x54\x57\x50\x53\x6e\x57\x4f\x65\x58','\x57\x50\x5a\x64\x4c\x73\x6a\x62\x57\x4f\x47\x75\x57\x37\x7a\x46','\x66\x53\x6b\x4a\x45\x4e\x61\x42\x72\x62\x47','\x64\x65\x76\x79\x57\x51\x44\x2f\x41\x57','\x57\x51\x70\x64\x51\x66\x50\x6b\x57\x52\x74\x64\x4d\x57','\x57\x51\x44\x54\x57\x50\x65\x54\x73\x38\x6f\x36\x57\x50\x71\x70','\x62\x38\x6f\x35\x57\x35\x5a\x64\x47\x4e\x57\x71\x46\x67\x47','\x71\x30\x2f\x64\x52\x6d\x6b\x66\x57\x37\x65','\x78\x32\x2f\x64\x4b\x38\x6f\x68\x57\x52\x47','\x57\x36\x34\x71\x65\x38\x6f\x5a\x57\x34\x2f\x64\x52\x73\x68\x64\x4d\x57','\x65\x62\x4a\x63\x4c\x47','\x69\x6d\x6b\x59\x78\x4b\x42\x63\x53\x6d\x6f\x71\x57\x35\x46\x63\x52\x57','\x68\x75\x6a\x68\x57\x51\x53','\x57\x34\x2f\x64\x4c\x38\x6f\x4e\x57\x34\x68\x63\x53\x59\x64\x64\x4a\x43\x6b\x48','\x57\x37\x76\x35\x57\x35\x33\x64\x51\x30\x70\x64\x50\x6d\x6b\x71\x6d\x47','\x57\x36\x65\x72\x68\x53\x6b\x46','\x79\x64\x52\x64\x54\x6d\x6b\x57\x43\x72\x71\x44\x57\x34\x65','\x57\x37\x35\x70\x57\x52\x69\x77\x72\x47','\x6b\x71\x42\x64\x56\x73\x61\x79','\x57\x34\x68\x64\x4e\x76\x69\x66\x42\x61','\x6c\x59\x68\x64\x47\x76\x37\x63\x54\x57','\x57\x35\x47\x67\x57\x50\x69\x51\x6d\x53\x6f\x47\x57\x51\x6e\x4e','\x6a\x4b\x6e\x4e\x57\x51\x50\x75','\x57\x4f\x78\x63\x4e\x4d\x4b\x34\x68\x53\x6f\x38\x57\x52\x69\x67','\x6b\x6d\x6f\x36\x57\x34\x37\x64\x50\x77\x47','\x57\x4f\x70\x64\x4e\x57\x6e\x6c\x71\x43\x6b\x30','\x77\x38\x6f\x70\x57\x36\x42\x64\x53\x38\x6b\x4e','\x74\x38\x6b\x34\x66\x43\x6b\x65\x57\x50\x53','\x79\x31\x4e\x64\x4a\x59\x6a\x42','\x6e\x74\x78\x64\x47\x78\x33\x63\x4e\x43\x6b\x53\x70\x6d\x6f\x42','\x6d\x6d\x6b\x6d\x57\x51\x70\x63\x47\x4a\x56\x63\x50\x47','\x77\x30\x56\x64\x51\x38\x6b\x54\x57\x34\x50\x4d\x57\x52\x33\x63\x4d\x61','\x42\x76\x4e\x64\x53\x49\x72\x6a','\x57\x51\x4c\x4e\x57\x50\x44\x48\x6f\x61','\x70\x43\x6f\x57\x64\x47\x37\x64\x50\x38\x6b\x6c\x57\x4f\x5a\x63\x55\x61\x72\x51\x71\x49\x4c\x4f','\x72\x61\x48\x67\x70\x68\x53','\x43\x5a\x35\x38\x63\x71','\x57\x36\x72\x32\x57\x34\x6c\x64\x4f\x47','\x6e\x53\x6f\x74\x57\x34\x70\x64\x47\x57','\x61\x4b\x4f\x78\x74\x71','\x41\x5a\x72\x4a','\x69\x53\x6b\x41\x57\x34\x61\x62\x57\x37\x50\x69\x67\x59\x4b','\x57\x4f\x70\x64\x4d\x59\x44\x6d\x57\x50\x34\x55\x57\x37\x31\x49','\x42\x38\x6b\x78\x57\x34\x53\x75','\x62\x73\x52\x64\x4e\x65\x37\x63\x4f\x61','\x57\x35\x56\x64\x4d\x4d\x69\x4b\x6a\x6d\x6f\x31\x57\x52\x6d','\x57\x52\x5a\x64\x4b\x64\x39\x36\x7a\x71','\x72\x75\x46\x64\x4a\x38\x6f\x75','\x57\x50\x30\x57\x41\x65\x7a\x7a','\x69\x4d\x6e\x66\x57\x51\x35\x58\x57\x36\x62\x50\x57\x52\x30','\x57\x36\x44\x6e\x57\x36\x46\x64\x49\x75\x65','\x6a\x67\x69\x4d\x72\x32\x43','\x57\x36\x4f\x6c\x61\x38\x6b\x45\x67\x76\x50\x43\x65\x57','\x70\x63\x31\x36\x57\x52\x38\x37\x66\x43\x6f\x32','\x57\x4f\x70\x63\x54\x67\x4b\x4a\x69\x38\x6f\x4e','\x57\x50\x76\x63\x57\x36\x74\x64\x54\x53\x6b\x4a\x57\x50\x56\x63\x4c\x6d\x6f\x78','\x57\x37\x33\x63\x56\x57\x30\x76\x57\x37\x6c\x63\x48\x6d\x6f\x38\x61\x4a\x58\x62\x57\x4f\x57\x53\x7a\x57','\x41\x38\x6b\x47\x67\x38\x6b\x6e','\x57\x52\x70\x63\x56\x49\x64\x64\x4f\x64\x47','\x64\x6d\x6b\x4c\x46\x4e\x43\x70','\x46\x30\x74\x64\x55\x48\x39\x31','\x57\x50\x37\x63\x55\x4e\x50\x67\x77\x4d\x46\x63\x4f\x74\x57','\x64\x66\x6e\x41\x57\x51\x66\x55\x44\x38\x6b\x42','\x57\x51\x6c\x64\x51\x65\x44\x45\x57\x51\x68\x64\x4c\x6d\x6b\x52','\x77\x77\x4f\x6a\x57\x35\x4e\x64\x4f\x62\x6e\x4e\x46\x61','\x63\x6d\x6b\x42\x57\x4f\x74\x64\x55\x61','\x57\x4f\x4e\x64\x4e\x78\x62\x6f\x57\x4f\x79','\x57\x34\x56\x64\x4a\x75\x69\x52\x74\x43\x6f\x2f\x6c\x6d\x6b\x65','\x66\x76\x42\x63\x4e\x73\x71\x72\x57\x4f\x6c\x64\x50\x63\x79','\x57\x52\x4a\x64\x48\x53\x6b\x4b\x43\x73\x2f\x63\x4c\x49\x62\x34','\x79\x77\x44\x59\x57\x35\x56\x64\x55\x57','\x6c\x38\x6f\x51\x77\x75\x42\x63\x55\x6d\x6b\x67\x57\x50\x37\x63\x47\x71','\x57\x34\x46\x64\x47\x53\x6f\x55\x57\x35\x79','\x6b\x74\x70\x64\x4e\x59\x65\x2f','\x57\x50\x56\x64\x49\x61\x72\x62','\x6b\x4e\x4f\x53\x78\x38\x6f\x6c','\x57\x4f\x56\x64\x4d\x75\x35\x75\x57\x51\x6d','\x57\x52\x78\x63\x4e\x58\x5a\x64\x4c\x73\x46\x64\x49\x71\x48\x4f','\x65\x78\x65\x6a\x45\x43\x6f\x4d','\x65\x76\x31\x76\x57\x51\x47\x68\x62\x47','\x6e\x38\x6b\x6f\x42\x6d\x6b\x63\x7a\x68\x39\x2f\x57\x50\x53','\x68\x43\x6b\x71\x57\x35\x30','\x70\x67\x74\x63\x48\x4d\x52\x64\x4f\x38\x6f\x32\x57\x37\x34\x4e','\x6d\x59\x4c\x47\x57\x4f\x38\x6e','\x57\x4f\x4a\x63\x56\x68\x50\x61\x72\x47','\x79\x30\x56\x64\x4d\x38\x6b\x55\x57\x36\x34','\x64\x6d\x6b\x42\x57\x52\x4e\x63\x4b\x6d\x6f\x44\x57\x4f\x62\x47\x46\x61','\x57\x34\x79\x48\x6d\x38\x6b\x4a\x62\x77\x58\x53','\x57\x34\x6e\x51\x57\x34\x68\x64\x54\x66\x5a\x64\x52\x53\x6b\x6d\x70\x47','\x57\x34\x42\x64\x4c\x31\x65','\x63\x48\x56\x64\x51\x53\x6b\x68\x76\x71','\x74\x4e\x6c\x64\x50\x38\x6b\x76\x57\x4f\x71\x66\x57\x50\x79','\x6b\x6d\x6b\x42\x57\x51\x5a\x63\x4b\x73\x52\x63\x51\x78\x47\x6e','\x61\x72\x46\x64\x48\x5a\x4b\x42','\x45\x53\x6b\x53\x75\x58\x79','\x61\x57\x4a\x64\x50\x65\x37\x63\x55\x47','\x64\x4c\x56\x63\x4f\x77\x64\x64\x4c\x47','\x57\x34\x53\x78\x77\x6d\x6f\x57\x57\x52\x52\x63\x56\x47','\x57\x35\x4b\x72\x72\x47','\x7a\x59\x52\x64\x50\x43\x6f\x6a','\x57\x37\x62\x58\x57\x52\x71\x79\x73\x78\x4e\x64\x54\x6d\x6b\x37','\x57\x34\x2f\x64\x4d\x6d\x6f\x4e\x57\x35\x4e\x63\x4c\x71','\x65\x53\x6b\x4f\x41\x4d\x38\x70\x72\x58\x4a\x63\x54\x61','\x57\x51\x37\x64\x50\x33\x4c\x49\x57\x52\x75','\x6f\x43\x6b\x66\x77\x32\x38\x34','\x75\x72\x33\x63\x4c\x4a\x57\x71\x78\x38\x6f\x32\x61\x71','\x57\x36\x79\x42\x62\x6d\x6f\x5a\x57\x37\x4e\x64\x4f\x5a\x61','\x57\x50\x62\x7a\x57\x36\x4e\x64\x54\x6d\x6b\x76\x57\x50\x64\x64\x4b\x57','\x42\x38\x6b\x4f\x62\x6d\x6b\x42\x57\x52\x4b','\x6d\x38\x6b\x68\x57\x34\x53','\x42\x49\x54\x30\x67\x68\x5a\x63\x54\x38\x6f\x31\x6b\x57','\x65\x4b\x54\x65\x57\x52\x72\x57','\x57\x36\x33\x63\x4b\x38\x6f\x62\x57\x52\x33\x63\x49\x61','\x79\x6d\x6b\x53\x71\x31\x70\x63\x52\x43\x6f\x69','\x57\x34\x69\x59\x75\x38\x6f\x76\x57\x52\x71','\x57\x35\x42\x64\x4b\x38\x6f\x41\x57\x37\x74\x63\x4a\x71','\x73\x66\x79\x42\x75\x65\x6a\x2b\x57\x51\x31\x57','\x43\x53\x6f\x67\x57\x51\x4a\x63\x4b\x59\x64\x63\x4f\x4e\x43\x34','\x6c\x38\x6b\x66\x57\x51\x74\x63\x48\x49\x4f','\x57\x37\x58\x39\x68\x47\x30\x43','\x66\x53\x6b\x4e\x57\x36\x47\x78\x57\x35\x53','\x62\x72\x70\x63\x4c\x71\x43\x37\x57\x51\x68\x63\x48\x48\x69','\x65\x61\x78\x63\x4b\x63\x53\x2b\x66\x53\x6f\x41\x61\x57','\x74\x6d\x6b\x41\x57\x35\x56\x63\x56\x47\x33\x64\x55\x38\x6f\x7a\x57\x34\x53','\x6a\x4e\x4c\x6f\x57\x52\x53\x43\x6f\x31\x69\x35','\x6f\x6d\x6b\x36\x57\x51\x6c\x63\x4f\x4a\x38','\x57\x51\x64\x64\x4d\x33\x4c\x4a\x57\x50\x47','\x6f\x49\x64\x64\x4f\x53\x6b\x75\x42\x57','\x57\x50\x4e\x63\x4f\x75\x53\x79\x66\x71','\x78\x43\x6b\x31\x57\x51\x56\x63\x49\x4c\x6d','\x44\x67\x79\x67\x57\x36\x5a\x64\x52\x71','\x63\x76\x6c\x64\x48\x43\x6b\x6f\x57\x51\x65\x2b\x57\x52\x7a\x61','\x57\x52\x31\x50\x57\x35\x70\x64\x53\x31\x74\x64\x52\x43\x6f\x6c\x76\x57','\x76\x6d\x6b\x64\x72\x65\x78\x63\x53\x6d\x6f\x69\x57\x37\x46\x63\x52\x57','\x57\x37\x79\x5a\x76\x43\x6f\x54\x57\x52\x68\x63\x55\x65\x50\x4a','\x46\x5a\x33\x64\x4f\x53\x6f\x64\x57\x52\x52\x63\x54\x61','\x44\x43\x6b\x56\x57\x52\x64\x63\x50\x33\x37\x63\x4e\x43\x6f\x61\x74\x61','\x43\x63\x46\x63\x4c\x32\x52\x64\x49\x6d\x6b\x2f\x57\x35\x34\x49','\x69\x53\x6b\x55\x57\x37\x52\x63\x55\x59\x4f','\x72\x68\x42\x64\x51\x38\x6b\x64\x57\x50\x47\x6f\x57\x50\x76\x36','\x6a\x43\x6b\x6b\x73\x43\x6b\x46\x44\x71','\x57\x4f\x6d\x7a\x57\x36\x33\x64\x54\x38\x6b\x73','\x57\x35\x31\x55\x6c\x61\x34\x6f','\x70\x73\x44\x38\x57\x4f\x79\x5a\x64\x6d\x6f\x61\x57\x37\x43','\x67\x32\x2f\x64\x54\x58\x50\x62\x57\x35\x39\x57\x57\x52\x38','\x6d\x67\x50\x65\x57\x50\x7a\x65','\x57\x36\x38\x5a\x61\x53\x6f\x30\x57\x37\x4e\x64\x53\x64\x61','\x6d\x4d\x4c\x49\x57\x52\x39\x47\x57\x37\x31\x65\x57\x51\x4f','\x57\x52\x42\x63\x47\x32\x4c\x67\x77\x4e\x74\x63\x52\x74\x71','\x57\x37\x37\x63\x52\x62\x46\x64\x4a\x5a\x4f','\x6f\x53\x6f\x37\x62\x75\x68\x63\x4d\x53\x6f\x74\x57\x35\x46\x63\x51\x57\x47','\x73\x77\x37\x64\x55\x71\x4c\x6c\x57\x34\x76\x32\x57\x50\x34','\x57\x35\x68\x63\x56\x58\x68\x64\x49\x58\x4b','\x72\x76\x56\x64\x4b\x53\x6f\x65\x57\x50\x47\x51\x57\x34\x38\x71','\x65\x6d\x6b\x75\x57\x37\x64\x63\x55\x57\x38','\x6d\x59\x4e\x64\x47\x4c\x2f\x63\x48\x38\x6b\x34\x6f\x47','\x70\x4a\x62\x4e\x57\x50\x47\x4d\x63\x38\x6f\x61\x57\x36\x53','\x57\x52\x5a\x64\x53\x71\x35\x4b\x57\x51\x38','\x57\x35\x64\x64\x4d\x43\x6f\x53\x57\x35\x43','\x70\x32\x42\x63\x4e\x31\x4a\x64\x4d\x47','\x57\x36\x31\x4d\x57\x51\x43\x72','\x41\x53\x6b\x57\x72\x76\x4e\x63\x50\x57','\x72\x4b\x68\x64\x4e\x53\x6b\x70\x57\x52\x75','\x44\x31\x64\x64\x47\x53\x6f\x73\x57\x51\x58\x4c\x57\x37\x69\x4f','\x74\x33\x37\x64\x56\x38\x6b\x31\x57\x4f\x47\x41','\x46\x65\x33\x64\x4a\x53\x6f\x7a','\x6f\x4d\x2f\x63\x4b\x76\x56\x64\x4c\x38\x6b\x37\x57\x35\x34','\x66\x74\x4a\x63\x4e\x61\x4b\x74','\x61\x5a\x50\x51\x57\x52\x38\x37','\x57\x37\x66\x54\x57\x35\x33\x64\x54\x75\x65','\x57\x34\x47\x46\x77\x43\x6b\x4b\x57\x52\x52\x63\x56\x4c\x31\x49','\x57\x4f\x78\x63\x48\x67\x38\x35\x69\x38\x6b\x37\x57\x52\x72\x44','\x57\x4f\x7a\x4d\x57\x4f\x71\x4e\x45\x38\x6b\x37\x57\x51\x76\x73','\x57\x50\x76\x67\x77\x53\x6f\x64\x57\x51\x5a\x63\x4f\x66\x44\x69','\x46\x31\x52\x64\x48\x61','\x57\x4f\x68\x64\x4e\x63\x50\x67\x57\x50\x75','\x57\x34\x47\x67\x78\x43\x6f\x33\x57\x51\x56\x63\x56\x33\x58\x30','\x78\x77\x50\x36\x57\x4f\x65\x33\x69\x77\x38\x63','\x7a\x49\x4c\x4e\x66\x78\x68\x64\x4f\x43\x6b\x34','\x57\x37\x38\x78\x67\x53\x6b\x75','\x57\x36\x43\x68\x62\x6d\x6b\x32\x62\x57','\x57\x36\x34\x71\x66\x6d\x6b\x45\x6b\x65\x6e\x77\x66\x71','\x57\x36\x43\x72\x65\x61','\x65\x65\x76\x6a','\x57\x50\x5a\x63\x4d\x67\x38\x34','\x44\x4e\x39\x5a\x57\x51\x4c\x57\x57\x36\x62\x4f\x57\x52\x71','\x62\x75\x61\x6e\x75\x66\x62\x57\x57\x51\x43','\x57\x51\x52\x64\x4f\x31\x62\x45\x57\x50\x46\x64\x4d\x53\x6b\x36\x65\x57','\x78\x67\x6c\x64\x4f\x43\x6b\x4f\x57\x51\x69','\x76\x53\x6b\x69\x57\x4f\x33\x63\x4a\x67\x5a\x63\x51\x6d\x6b\x7a','\x71\x57\x39\x2b\x62\x68\x53','\x67\x72\x70\x64\x4c\x49\x66\x71\x57\x4f\x42\x63\x55\x49\x38','\x57\x51\x74\x64\x53\x75\x6c\x63\x55\x33\x35\x79\x57\x4f\x6c\x64\x48\x53\x6b\x45\x7a\x64\x71','\x66\x68\x35\x65\x57\x52\x39\x75','\x57\x4f\x6e\x72\x75\x38\x6f\x48\x57\x51\x2f\x64\x4f\x31\x39\x53','\x57\x4f\x6a\x58\x62\x43\x6f\x74\x69\x43\x6b\x75\x78\x6d\x6f\x4e','\x78\x66\x78\x64\x4b\x6d\x6b\x6a\x57\x35\x79','\x71\x4e\x79\x6b\x57\x36\x46\x64\x54\x38\x6b\x6f','\x57\x34\x70\x64\x4f\x77\x39\x6b\x72\x63\x2f\x63\x51\x73\x4b','\x6f\x68\x68\x63\x50\x38\x6b\x61','\x70\x43\x6f\x42\x57\x34\x38','\x63\x43\x6b\x31\x69\x64\x4b','\x57\x50\x42\x64\x52\x71\x35\x56\x71\x47','\x57\x4f\x4e\x63\x51\x33\x58\x6b\x72\x4d\x33\x63\x4f\x74\x71','\x57\x4f\x4a\x63\x4a\x66\x4c\x36\x42\x47','\x57\x4f\x42\x63\x50\x67\x7a\x67\x45\x71','\x57\x51\x4e\x63\x4e\x47\x2f\x64\x48\x64\x42\x64\x56\x5a\x6a\x58','\x6b\x63\x4e\x64\x53\x71\x6d\x53\x57\x34\x5a\x64\x4f\x73\x30','\x57\x36\x4f\x6b\x65\x53\x6f\x44\x57\x52\x4a\x64\x49\x4a\x64\x64\x48\x61','\x57\x34\x52\x63\x55\x43\x6f\x51\x57\x51\x5a\x64\x47\x71','\x57\x36\x70\x63\x47\x6d\x6f\x6b\x57\x50\x64\x63\x49\x4b\x52\x64\x56\x57','\x68\x47\x64\x63\x54\x53\x6b\x68\x57\x34\x50\x43\x57\x4f\x64\x63\x4a\x48\x61','\x69\x43\x6f\x54\x75\x4b\x64\x63\x55\x53\x6f\x71\x57\x34\x4a\x63\x50\x61','\x57\x4f\x53\x67\x57\x50\x57\x58\x6f\x53\x6b\x4b\x57\x4f\x6e\x50','\x57\x37\x4b\x42\x66\x53\x6f\x4b\x57\x35\x37\x64\x52\x74\x4e\x64\x4c\x47','\x71\x78\x69\x46\x57\x37\x30','\x57\x52\x4e\x64\x51\x65\x7a\x70\x57\x51\x2f\x64\x47\x6d\x6b\x52','\x57\x51\x6a\x49\x57\x4f\x69\x38\x46\x38\x6b\x53\x57\x52\x61\x55','\x57\x50\x2f\x64\x4d\x58\x39\x46\x75\x61','\x68\x76\x4c\x64\x57\x51\x6d','\x64\x30\x61\x6b\x44\x31\x48\x36\x57\x51\x43','\x65\x6d\x6b\x78\x57\x35\x70\x63\x56\x71','\x57\x52\x6e\x69\x61\x38\x6f\x6d\x6f\x6d\x6b\x63\x45\x53\x6f\x6b','\x45\x66\x68\x64\x4c\x47','\x57\x34\x43\x62\x57\x50\x4f','\x6e\x59\x44\x50','\x57\x34\x33\x63\x55\x4d\x43\x70\x76\x33\x6c\x63\x52\x74\x53','\x57\x35\x54\x72\x6f\x58\x61\x65','\x57\x34\x68\x63\x53\x78\x38\x65\x6a\x38\x6f\x50\x57\x50\x43','\x57\x37\x64\x63\x56\x58\x5a\x64\x4f\x59\x39\x55\x57\x37\x74\x64\x55\x57','\x73\x67\x37\x64\x52\x64\x35\x42\x57\x34\x6e\x32\x57\x51\x47','\x78\x33\x7a\x43\x57\x35\x38','\x61\x4a\x37\x63\x55\x6d\x6f\x4c','\x57\x37\x62\x53\x57\x50\x79\x67\x74\x4e\x5a\x64\x51\x61','\x6b\x64\x58\x56\x57\x50\x38\x62\x61\x43\x6f\x39\x57\x37\x65','\x57\x4f\x2f\x64\x4e\x49\x62\x61\x57\x52\x66\x44\x57\x34\x6a\x4a','\x57\x34\x52\x64\x4e\x38\x6f\x55','\x71\x6d\x6f\x6d\x57\x37\x52\x64\x4c\x6d\x6b\x55\x57\x35\x47\x31\x6e\x47','\x57\x4f\x56\x64\x48\x63\x62\x6e\x57\x51\x65\x6f','\x57\x4f\x52\x63\x50\x49\x68\x64\x55\x47\x30','\x6d\x53\x6b\x6a\x78\x38\x6b\x4e\x76\x61','\x57\x52\x4e\x64\x47\x4c\x44\x76\x57\x51\x30','\x6e\x63\x64\x63\x4d\x63\x4f\x74','\x57\x51\x54\x33\x57\x50\x53\x4c\x43\x57','\x57\x35\x6e\x68\x57\x36\x33\x64\x4a\x4e\x56\x64\x4c\x43\x6b\x4e\x70\x57','\x57\x36\x75\x6f\x67\x47','\x70\x68\x52\x63\x4c\x77\x70\x64\x48\x57','\x61\x43\x6f\x6c\x57\x36\x4a\x64\x4c\x6d\x6b\x6d\x57\x35\x58\x35\x42\x57','\x71\x53\x6b\x73\x57\x4f\x33\x63\x4b\x4c\x30','\x6d\x31\x6e\x33\x57\x4f\x75\x76','\x43\x38\x6b\x53\x65\x53\x6f\x69\x57\x37\x74\x63\x4d\x4b\x74\x63\x47\x61','\x57\x34\x54\x6f\x57\x34\x46\x64\x53\x31\x52\x64\x4c\x6d\x6b\x73\x63\x71','\x57\x52\x6e\x33\x57\x50\x72\x57','\x6a\x6d\x6b\x6f\x75\x43\x6b\x34\x45\x78\x44\x4f','\x57\x37\x74\x63\x53\x66\x70\x64\x52\x73\x39\x52\x57\x51\x4a\x64\x55\x57','\x57\x34\x39\x6f\x57\x35\x75\x58\x6d\x43\x6f\x51\x57\x35\x31\x51','\x57\x50\x62\x2f\x69\x6d\x6f\x5a\x63\x57','\x57\x37\x62\x33\x57\x52\x4b\x6e\x44\x47','\x57\x36\x31\x54\x57\x51\x69\x72','\x7a\x49\x39\x4c\x65\x74\x68\x63\x52\x43\x6f\x39','\x6d\x68\x37\x63\x4a\x67\x6c\x64\x4d\x57','\x63\x43\x6b\x36\x57\x4f\x4a\x63\x54\x57','\x57\x4f\x53\x70\x57\x4f\x53\x2b\x6e\x38\x6f\x4f\x57\x50\x66\x55','\x79\x43\x6b\x45\x57\x34\x4f\x66\x57\x36\x69\x36\x63\x4a\x79','\x57\x51\x76\x4f\x57\x35\x69\x55\x44\x38\x6b\x5a\x57\x52\x4b\x79','\x57\x36\x37\x64\x55\x38\x6f\x4f\x57\x37\x64\x63\x4a\x57','\x61\x53\x6b\x63\x57\x36\x5a\x64\x4c\x53\x6b\x63\x57\x35\x57\x4d\x6d\x61','\x74\x78\x4a\x64\x50\x38\x6b\x4b\x57\x4f\x6d\x45','\x6d\x77\x78\x63\x47\x47','\x65\x48\x4e\x64\x4d\x5a\x4b\x6b\x57\x50\x37\x63\x56\x63\x6d','\x43\x49\x39\x49\x72\x71','\x57\x35\x4c\x33\x6e\x71\x30','\x57\x50\x4e\x64\x4e\x58\x39\x46\x78\x6d\x6b\x5a\x57\x35\x6d','\x57\x4f\x39\x41\x57\x36\x64\x64\x53\x43\x6f\x71\x57\x4f\x74\x63\x4d\x38\x6f\x44','\x6b\x4a\x4e\x64\x53\x53\x6b\x35','\x78\x62\x6c\x64\x4c\x6d\x6f\x57\x57\x51\x61','\x57\x36\x6a\x51\x57\x37\x70\x64\x54\x65\x42\x64\x50\x6d\x6b\x77\x6b\x57','\x57\x36\x7a\x4d\x57\x4f\x71\x4e\x45\x53\x6b\x53\x57\x52\x61\x70','\x44\x38\x6f\x47\x57\x36\x4a\x64\x49\x43\x6b\x64\x57\x34\x71\x31\x6f\x57','\x62\x33\x33\x64\x4f\x6d\x6b\x55\x57\x4f\x6d\x65','\x57\x52\x72\x34\x57\x36\x46\x64\x53\x53\x6b\x30','\x57\x4f\x6c\x64\x4c\x73\x31\x63\x57\x50\x47\x76','\x6a\x4a\x4e\x64\x51\x43\x6b\x36\x79\x30\x35\x47\x57\x4f\x4f','\x65\x5a\x78\x64\x55\x53\x6b\x35\x42\x66\x6e\x44\x57\x4f\x47','\x64\x75\x69\x4e\x72\x53\x6f\x68','\x7a\x5a\x46\x64\x4e\x38\x6f\x71\x57\x52\x5a\x63\x54\x76\x74\x63\x4f\x61','\x63\x75\x69\x63\x7a\x38\x6f\x78\x71\x73\x47\x4d','\x6e\x43\x6b\x42\x57\x34\x47\x68','\x69\x38\x6b\x4c\x57\x34\x47\x6d\x57\x34\x61','\x78\x78\x37\x64\x56\x53\x6b\x4b','\x79\x6d\x6b\x5a\x57\x51\x4e\x63\x52\x71','\x6a\x30\x6a\x30\x57\x52\x62\x32','\x77\x38\x6f\x35\x57\x36\x6c\x64\x4c\x6d\x6b\x47','\x57\x52\x7a\x51\x57\x51\x6d\x44\x75\x67\x34','\x79\x74\x46\x64\x56\x53\x6b\x45\x57\x36\x34','\x44\x38\x6b\x53\x45\x75\x64\x63\x4f\x61','\x64\x66\x6d\x72\x79\x6d\x6f\x54\x76\x59\x47','\x57\x37\x4e\x63\x49\x53\x6f\x36\x6a\x71\x4e\x63\x49\x63\x50\x33','\x67\x30\x4f\x6d\x76\x57','\x71\x33\x4a\x64\x55\x53\x6b\x56','\x44\x43\x6b\x4d\x68\x38\x6b\x67','\x74\x4e\x2f\x64\x56\x4c\x75','\x57\x36\x34\x38\x62\x43\x6b\x79\x6b\x65\x31\x44\x6e\x57','\x69\x4d\x47\x70\x43\x32\x79','\x41\x43\x6b\x6c\x57\x50\x52\x63\x4c\x66\x30\x63\x41\x67\x56\x64\x4a\x43\x6b\x6c','\x57\x51\x4e\x63\x48\x72\x5a\x64\x47\x47','\x79\x63\x5a\x64\x52\x43\x6f\x71\x57\x50\x33\x63\x50\x76\x74\x63\x50\x61','\x6d\x38\x6b\x78\x57\x34\x79\x78\x57\x36\x6e\x50\x66\x59\x38','\x78\x38\x6b\x43\x57\x52\x5a\x63\x4d\x68\x53','\x6d\x33\x69\x56\x76\x53\x6f\x42\x46\x47\x6d\x72','\x57\x34\x6a\x73\x57\x52\x79\x44\x75\x4d\x4e\x64\x54\x6d\x6b\x4d','\x57\x51\x4a\x63\x4d\x71\x68\x64\x48\x62\x42\x64\x56\x47\x72\x32','\x77\x77\x42\x64\x54\x6d\x6b\x47\x57\x50\x38','\x73\x76\x42\x64\x4f\x43\x6b\x4e\x57\x37\x4b\x6b\x57\x50\x68\x63\x4b\x57','\x70\x32\x6e\x51\x6f\x4d\x56\x64\x55\x38\x6b\x4c\x63\x47','\x57\x51\x71\x6f\x68\x53\x6b\x62\x6b\x75\x7a\x72\x68\x61','\x57\x37\x64\x63\x55\x43\x6f\x67\x57\x4f\x74\x63\x4b\x71','\x6d\x77\x2f\x63\x49\x32\x4a\x64\x49\x53\x6b\x2b','\x6a\x6d\x6f\x46\x57\x35\x5a\x64\x51\x65\x71','\x42\x74\x72\x54\x65\x57','\x6d\x6d\x6f\x44\x57\x35\x4e\x64\x4d\x76\x6d\x6f\x46\x68\x4b','\x57\x4f\x2f\x64\x50\x53\x6b\x4b\x44\x47\x4e\x63\x49\x47\x58\x31','\x57\x34\x72\x59\x70\x72\x54\x6a\x42\x53\x6b\x4b\x57\x34\x47','\x72\x78\x4f\x67\x57\x37\x61','\x57\x50\x66\x37\x6f\x6d\x6f\x74\x66\x38\x6b\x30\x78\x6d\x6f\x57','\x6f\x63\x78\x63\x4c\x4d\x52\x64\x4b\x53\x6b\x5a\x57\x35\x47\x48','\x57\x36\x34\x71\x65\x38\x6b\x63\x67\x30\x6e\x6d\x67\x47','\x67\x71\x70\x64\x51\x6d\x6b\x39\x43\x71','\x6b\x38\x6f\x76\x57\x34\x74\x64\x49\x78\x38\x72\x41\x4c\x69','\x57\x50\x44\x33\x70\x53\x6f\x6d\x61\x43\x6b\x4f\x77\x6d\x6f\x77','\x57\x34\x47\x6b\x76\x38\x6f\x53\x57\x50\x6c\x63\x56\x57','\x69\x73\x6c\x64\x56\x53\x6b\x6b\x69\x4e\x4c\x42\x57\x4f\x4f','\x44\x4d\x72\x33\x57\x52\x72\x4e\x57\x51\x4c\x30\x57\x52\x38','\x65\x47\x64\x64\x4b\x59\x47\x63\x78\x38\x6f\x31\x63\x47','\x63\x58\x37\x64\x55\x62\x61\x79','\x46\x6d\x6b\x53\x69\x43\x6b\x6a\x57\x51\x37\x63\x4d\x4b\x6c\x63\x47\x61','\x71\x4d\x4e\x64\x47\x43\x6b\x77\x57\x35\x57','\x79\x38\x6b\x4e\x77\x76\x68\x63\x4f\x43\x6f\x75','\x57\x37\x74\x63\x4b\x38\x6f\x4b\x57\x4f\x2f\x63\x4a\x30\x52\x64\x55\x43\x6f\x61','\x7a\x43\x6b\x54\x78\x4c\x47','\x57\x37\x4c\x37\x57\x36\x2f\x63\x50\x31\x64\x64\x52\x38\x6b\x72\x67\x61','\x57\x51\x52\x64\x54\x76\x31\x45\x57\x52\x74\x64\x47\x6d\x6b\x44\x61\x47','\x63\x38\x6b\x4e\x46\x77\x53','\x43\x38\x6f\x6d\x57\x34\x70\x64\x4e\x78\x75\x6b\x43\x68\x71','\x6c\x38\x6b\x45\x57\x52\x4e\x63\x49\x61\x71','\x77\x4b\x75\x78\x43\x53\x6f\x32\x74\x67\x7a\x4f','\x61\x43\x6f\x6a\x57\x4f\x56\x63\x48\x63\x42\x63\x4f\x4d\x71\x35','\x61\x58\x70\x64\x4d\x59\x53\x74\x57\x4f\x4e\x63\x4d\x4a\x4b','\x6c\x4d\x70\x63\x49\x4d\x68\x64\x52\x43\x6b\x35\x57\x34\x34\x4e','\x72\x43\x6f\x45\x57\x34\x2f\x64\x49\x43\x6b\x64\x57\x35\x4b\x4b\x6d\x61','\x57\x34\x47\x58\x70\x71\x79\x42\x79\x43\x6b\x4d\x57\x34\x4b','\x6e\x59\x4c\x39\x57\x50\x38\x41\x64\x43\x6f\x58\x57\x35\x71','\x57\x52\x52\x64\x4f\x31\x48\x65\x57\x51\x37\x64\x4d\x6d\x6b\x44\x61\x47','\x75\x38\x6b\x49\x42\x67\x75\x42\x76\x48\x68\x63\x53\x57','\x46\x43\x6b\x4e\x72\x66\x70\x63\x4f\x43\x6f\x56\x57\x35\x56\x63\x53\x47','\x46\x38\x6b\x59\x71\x31\x64\x63\x53\x47','\x64\x76\x4c\x6a\x57\x52\x57\x77','\x63\x76\x4a\x63\x50\x66\x56\x64\x55\x38\x6b\x72\x57\x36\x6a\x4f','\x6e\x4c\x68\x64\x4a\x43\x6f\x74\x57\x35\x65\x51\x57\x34\x38\x4d','\x44\x74\x72\x4f\x67\x61','\x6c\x6d\x6b\x67\x57\x34\x57\x70\x57\x37\x71','\x65\x6d\x6b\x72\x41\x68\x53\x74','\x57\x35\x35\x71\x67\x53\x6b\x51','\x44\x38\x6b\x31\x57\x51\x52\x63\x52\x4b\x6c\x63\x49\x47','\x57\x51\x78\x63\x4a\x4d\x47\x31','\x69\x4d\x6e\x41\x57\x52\x76\x30\x57\x36\x58\x31\x57\x50\x4b','\x57\x34\x72\x32\x68\x62\x4b\x35','\x78\x68\x79\x79\x57\x36\x42\x64\x54\x43\x6b\x62\x57\x51\x30','\x41\x4a\x35\x33\x64\x4e\x4e\x64\x53\x6d\x6b\x34','\x66\x58\x64\x64\x50\x57\x79\x35','\x57\x34\x30\x68\x57\x50\x65\x52\x6f\x38\x6f\x32','\x77\x68\x30\x69\x57\x37\x4e\x64\x4f\x43\x6b\x63\x57\x51\x33\x63\x47\x71','\x61\x57\x37\x63\x4b\x64\x53\x72\x72\x43\x6f\x57\x67\x71','\x67\x76\x4b\x6f\x79\x38\x6f\x58\x74\x63\x6d\x65','\x57\x36\x68\x63\x4b\x38\x6f\x72\x57\x51\x2f\x63\x48\x76\x5a\x64\x55\x43\x6f\x4a','\x6e\x57\x5a\x64\x54\x53\x6b\x35\x42\x61','\x68\x5a\x57\x6f\x57\x36\x70\x64\x55\x38\x6b\x6b\x57\x52\x37\x63\x4c\x57','\x57\x34\x48\x43\x57\x37\x42\x64\x52\x43\x6b\x45','\x65\x76\x4c\x69\x57\x52\x53\x37\x67\x30\x61\x42','\x57\x36\x78\x63\x4c\x6d\x6f\x49\x6d\x66\x78\x64\x48\x33\x76\x6d\x68\x43\x6b\x38\x43\x38\x6b\x4e\x57\x51\x61','\x57\x36\x38\x78\x66\x53\x6b\x77\x69\x4b\x76\x6c\x66\x57','\x57\x36\x34\x35\x43\x6d\x6f\x73\x57\x52\x79','\x6d\x68\x4c\x4e\x57\x52\x6a\x48','\x70\x43\x6b\x73\x79\x4e\x65\x43','\x67\x76\x66\x69\x57\x52\x38\x73\x67\x4b\x65\x31','\x57\x52\x7a\x36\x57\x34\x52\x64\x4a\x53\x6b\x2f','\x66\x43\x6b\x36\x57\x36\x43\x33\x57\x35\x38','\x57\x36\x79\x41\x76\x53\x6f\x33\x57\x50\x6d','\x63\x66\x33\x64\x54\x6d\x6b\x54\x57\x34\x48\x43\x57\x52\x46\x63\x4a\x71','\x57\x51\x6e\x37\x57\x50\x53\x37\x79\x53\x6b\x50\x57\x4f\x79\x65','\x57\x50\x6a\x41\x57\x50\x61\x42\x43\x57','\x57\x36\x52\x63\x4b\x38\x6f\x6c\x57\x50\x56\x63\x49\x65\x43','\x63\x4c\x66\x76\x57\x37\x58\x62','\x57\x34\x79\x50\x76\x43\x6f\x38\x57\x52\x79','\x57\x51\x33\x63\x4d\x61\x46\x64\x47\x49\x46\x64\x49\x47\x58\x30','\x43\x43\x6b\x72\x57\x34\x37\x64\x4e\x32\x4c\x6c\x41\x32\x38','\x43\x53\x6f\x62\x57\x50\x6e\x73\x57\x51\x65\x51\x74\x4a\x31\x45\x68\x4d\x56\x64\x55\x62\x30','\x57\x34\x6e\x2f\x6f\x47\x71\x6d\x42\x61','\x6e\x32\x78\x63\x4a\x67\x65','\x57\x52\x2f\x63\x48\x61\x52\x64\x48\x72\x78\x64\x50\x72\x66\x57','\x61\x73\x70\x64\x51\x32\x6c\x63\x4a\x47','\x57\x37\x74\x63\x55\x48\x79','\x43\x43\x6b\x53\x57\x51\x56\x63\x50\x66\x33\x63\x49\x6d\x6f\x77\x43\x47','\x63\x61\x46\x64\x4a\x72\x34\x73','\x66\x38\x6b\x6b\x57\x35\x2f\x63\x52\x64\x2f\x64\x54\x38\x6f\x42\x57\x35\x57','\x68\x75\x71\x34\x73\x33\x6d','\x71\x4e\x42\x64\x4f\x38\x6f\x49\x57\x52\x38','\x57\x37\x64\x64\x51\x78\x43\x49\x73\x57','\x57\x52\x33\x64\x4f\x4c\x48\x69','\x57\x34\x75\x6c\x76\x53\x6f\x68\x57\x52\x64\x63\x4f\x31\x31\x50','\x46\x6d\x6b\x63\x57\x4f\x64\x63\x4a\x4c\x38','\x57\x34\x6d\x72\x71\x57','\x57\x34\x56\x63\x4e\x43\x6f\x47\x57\x51\x78\x63\x53\x47','\x72\x4c\x47\x74\x57\x37\x42\x64\x4a\x71','\x57\x52\x6c\x63\x55\x67\x71\x4b\x66\x57','\x46\x67\x37\x64\x4c\x6d\x6b\x67\x57\x50\x53','\x57\x34\x4e\x63\x56\x6d\x6f\x39\x57\x51\x4a\x63\x4b\x47','\x67\x30\x37\x64\x4a\x49\x6a\x4a\x57\x37\x50\x62\x57\x50\x69','\x57\x52\x4e\x63\x4e\x58\x5a\x64\x48\x73\x33\x64\x56\x47','\x41\x30\x53\x74\x57\x36\x46\x64\x55\x57','\x57\x4f\x72\x37\x6c\x43\x6f\x4b\x6b\x6d\x6b\x55\x72\x6d\x6f\x57','\x57\x37\x37\x63\x56\x47\x65\x79\x57\x37\x4e\x63\x49\x53\x6f\x2b\x6c\x62\x6e\x4e\x57\x51\x71\x76\x73\x61','\x57\x4f\x64\x63\x47\x4d\x44\x6f\x75\x61','\x66\x38\x6b\x72\x57\x34\x5a\x63\x52\x61','\x57\x37\x4e\x63\x56\x74\x2f\x64\x4f\x73\x39\x36\x57\x50\x42\x64\x56\x57','\x57\x34\x62\x37\x6b\x58\x53\x69\x42\x38\x6b\x47','\x57\x37\x61\x4a\x57\x50\x57\x32\x6d\x6d\x6f\x57\x57\x50\x76\x49','\x57\x4f\x70\x64\x4a\x49\x66\x64\x76\x6d\x6b\x34\x57\x37\x61\x30','\x62\x38\x6b\x75\x57\x37\x61\x62\x57\x37\x34','\x57\x51\x2f\x63\x4d\x71\x56\x64\x48\x61','\x57\x37\x78\x63\x4b\x38\x6f\x6a\x57\x50\x4e\x63\x4e\x31\x56\x64\x4a\x6d\x6f\x4f','\x57\x52\x33\x64\x4c\x43\x6b\x30\x43\x61\x78\x63\x49\x47\x44\x50','\x66\x53\x6b\x4a\x45\x32\x71\x46','\x57\x50\x54\x2f\x70\x61','\x67\x32\x50\x64\x57\x50\x31\x51','\x7a\x77\x33\x64\x54\x43\x6f\x70\x57\x51\x61','\x57\x52\x68\x63\x49\x6d\x6b\x4b\x42\x61\x56\x63\x4b\x63\x72\x33','\x72\x66\x6c\x64\x47\x74\x4b\x53\x77\x43\x6f\x57\x62\x43\x6f\x48','\x43\x4c\x2f\x64\x4b\x43\x6f\x64\x57\x50\x47\x5a\x57\x34\x71\x71','\x62\x71\x6c\x63\x4e\x49\x53','\x70\x43\x6f\x67\x57\x36\x46\x64\x50\x32\x4f','\x57\x52\x74\x63\x48\x76\x71\x5a\x67\x47','\x57\x50\x68\x64\x53\x43\x6b\x79\x73\x74\x52\x63\x55\x58\x50\x69','\x6b\x43\x6b\x65\x74\x6d\x6b\x63','\x57\x50\x4e\x64\x48\x61\x44\x57\x57\x51\x38','\x57\x35\x2f\x64\x53\x78\x71\x63\x44\x71','\x57\x34\x5a\x64\x47\x38\x6f\x4d\x57\x34\x34','\x6d\x32\x56\x63\x49\x67\x4f','\x57\x35\x64\x63\x55\x61\x42\x64\x54\x64\x30','\x42\x53\x6f\x46\x57\x37\x4a\x64\x4e\x78\x52\x64\x54\x4a\x4b\x6e\x6c\x4d\x7a\x65\x57\x4f\x65\x47','\x6f\x68\x4a\x63\x4c\x32\x64\x64\x4a\x61','\x72\x4e\x69\x7a\x57\x37\x53','\x71\x30\x42\x64\x4b\x43\x6b\x71\x57\x50\x4f','\x67\x59\x42\x63\x50\x4b\x30','\x77\x77\x62\x6c\x57\x35\x4e\x64\x47\x71\x38\x4d\x46\x57','\x43\x43\x6b\x6a\x57\x52\x33\x63\x50\x4b\x47','\x43\x48\x48\x52\x63\x68\x42\x64\x4f\x57','\x66\x68\x56\x64\x53\x72\x31\x6b\x57\x34\x62\x54\x57\x51\x6d','\x57\x50\x42\x64\x4e\x47\x31\x74\x57\x50\x4b','\x65\x43\x6b\x71\x57\x35\x6c\x63\x53\x71\x6c\x64\x50\x43\x6f\x4d\x57\x34\x79','\x57\x52\x2f\x64\x52\x66\x44\x67\x57\x51\x68\x64\x4c\x6d\x6b\x52\x76\x71','\x46\x6d\x6b\x55\x78\x4c\x78\x63\x53\x61','\x57\x35\x48\x55\x70\x61\x4b\x44\x42\x43\x6b\x41\x57\x34\x69','\x65\x48\x52\x63\x4e\x59\x75\x76','\x64\x4b\x57\x73\x76\x31\x72\x4c','\x6c\x73\x30\x47\x57\x50\x4b\x4e\x66\x53\x6b\x37\x57\x52\x53','\x69\x6d\x6b\x64\x74\x6d\x6b\x61\x44\x65\x76\x39\x57\x50\x38','\x77\x31\x46\x64\x53\x6d\x6b\x32','\x64\x32\x6d\x4c\x77\x38\x6f\x59','\x42\x38\x6b\x4f\x61\x53\x6b\x61','\x57\x34\x2f\x64\x47\x6d\x6f\x62\x57\x35\x78\x63\x56\x72\x64\x64\x56\x38\x6b\x35','\x45\x31\x78\x64\x48\x43\x6f\x45\x57\x4f\x6d\x77\x57\x35\x47\x54','\x57\x52\x78\x63\x4d\x67\x47\x57\x6a\x6d\x6f\x30\x57\x37\x31\x75','\x77\x62\x4f\x7a\x57\x37\x53\x4f\x72\x53\x6b\x4b\x57\x52\x4e\x64\x4b\x43\x6b\x53\x57\x37\x79','\x57\x4f\x52\x63\x4c\x71\x35\x64\x77\x43\x6b\x57\x57\x35\x47\x32','\x57\x50\x42\x64\x4d\x4e\x50\x43\x57\x4f\x4f','\x6c\x4d\x2f\x63\x48\x68\x33\x64\x4e\x43\x6b\x2b','\x61\x6d\x6b\x42\x57\x34\x52\x63\x56\x72\x37\x64\x4f\x38\x6f\x43\x57\x35\x65','\x57\x4f\x78\x64\x4e\x59\x6e\x43\x76\x47','\x57\x37\x53\x46\x61\x38\x6f\x4f','\x57\x36\x58\x58\x57\x51\x71\x43\x76\x78\x56\x64\x50\x71','\x41\x6d\x6b\x4e\x71\x33\x6c\x63\x53\x6d\x6f\x41\x57\x35\x2f\x63\x54\x61','\x57\x51\x74\x64\x56\x62\x76\x38\x7a\x71','\x57\x36\x4f\x6b\x66\x53\x6b\x44\x7a\x72\x61\x79','\x76\x62\x4b\x67\x7a\x43\x6f\x52\x76\x64\x61\x47','\x57\x37\x61\x34\x57\x50\x47\x54\x70\x6d\x6f\x52\x57\x4f\x6e\x50','\x6a\x78\x58\x41\x57\x50\x54\x50','\x57\x35\x31\x59\x6f\x72\x57\x70\x7a\x38\x6b\x33\x57\x34\x57','\x57\x52\x72\x33\x57\x34\x4a\x64\x47\x38\x6b\x5a','\x6f\x47\x2f\x63\x4b\x74\x30\x56','\x62\x61\x74\x64\x4b\x53\x6b\x72\x76\x47\x43','\x57\x37\x57\x57\x57\x52\x6d\x44\x74\x32\x33\x64\x53\x6d\x6b\x38','\x57\x4f\x74\x64\x4e\x59\x50\x6c','\x57\x37\x66\x38\x57\x35\x43','\x45\x43\x6b\x37\x57\x52\x71','\x6c\x4d\x78\x63\x4c\x33\x53','\x57\x51\x65\x2b\x57\x4f\x68\x63\x53\x47\x68\x64\x48\x6d\x6b\x55\x61\x6d\x6f\x74\x57\x4f\x4f\x65','\x42\x64\x6c\x64\x4c\x64\x52\x63\x4a\x53\x6b\x71\x57\x36\x69\x6e\x44\x58\x38\x70','\x70\x66\x62\x33\x57\x4f\x47\x52','\x79\x64\x35\x57\x6b\x78\x68\x64\x55\x53\x6b\x34','\x57\x52\x7a\x49\x57\x4f\x79\x47','\x65\x6d\x6b\x6d\x57\x35\x46\x63\x54\x71','\x57\x50\x33\x64\x4e\x58\x35\x6a\x71\x43\x6b\x70\x57\x35\x47\x4d','\x65\x59\x70\x64\x51\x43\x6b\x32\x73\x57','\x6d\x6d\x6b\x69\x76\x38\x6b\x66\x79\x67\x34','\x43\x6d\x6b\x35\x65\x38\x6b\x67\x57\x52\x2f\x63\x4d\x65\x52\x63\x4d\x71','\x57\x36\x5a\x63\x4d\x43\x6f\x6d\x57\x50\x69','\x41\x64\x64\x64\x48\x4b\x52\x63\x4a\x43\x6b\x48\x6a\x38\x6f\x72','\x57\x51\x64\x64\x4f\x76\x31\x6f\x57\x52\x4b','\x62\x4b\x4f\x6a','\x64\x76\x30\x6b\x75\x76\x62\x30\x57\x52\x7a\x6e','\x57\x36\x71\x5a\x74\x6d\x6f\x4f\x57\x52\x43','\x57\x36\x34\x52\x57\x35\x50\x4d\x70\x43\x6f\x5a\x57\x37\x35\x75','\x75\x71\x4a\x64\x4f\x43\x6f\x58\x57\x50\x30','\x6c\x74\x46\x64\x51\x57','\x67\x4c\x54\x67\x57\x51\x44\x4f','\x72\x78\x6c\x64\x54\x38\x6f\x48\x57\x34\x75\x67\x57\x50\x58\x58','\x57\x35\x6d\x74\x62\x38\x6b\x4d\x61\x47','\x6b\x77\x70\x63\x49\x67\x4f','\x79\x43\x6b\x4a\x76\x76\x52\x63\x53\x6d\x6f\x79','\x76\x78\x56\x64\x54\x75\x6e\x6d\x57\x34\x66\x47','\x45\x67\x6e\x4d\x57\x52\x39\x54\x57\x36\x50\x52\x57\x52\x53','\x57\x36\x31\x36\x57\x51\x38\x61','\x66\x62\x46\x64\x4d\x59\x38\x41\x57\x34\x57','\x41\x53\x6b\x70\x57\x35\x64\x64\x50\x78\x47\x56\x46\x4d\x38','\x57\x37\x52\x63\x48\x47\x68\x64\x4b\x74\x68\x63\x4f\x4b\x76\x7a','\x74\x67\x68\x64\x56\x6d\x6b\x54\x57\x50\x53\x6e\x57\x4f\x66\x61','\x70\x38\x6f\x74\x57\x34\x42\x64\x47\x78\x75\x66\x42\x76\x4b','\x76\x43\x6f\x50\x42\x68\x75\x76\x74\x57\x56\x63\x4f\x47','\x78\x66\x74\x64\x51\x38\x6f\x67\x57\x51\x6d','\x45\x6d\x6b\x2f\x57\x51\x52\x63\x52\x31\x2f\x63\x48\x71','\x68\x43\x6b\x70\x57\x34\x42\x63\x4a\x61\x61','\x68\x73\x46\x64\x4b\x59\x69\x37','\x57\x4f\x64\x64\x4d\x71\x48\x46\x72\x47','\x57\x35\x70\x64\x48\x6d\x6f\x56\x57\x50\x47','\x57\x36\x69\x71\x65\x61','\x63\x63\x6a\x43\x57\x52\x30\x63','\x66\x4c\x31\x50\x57\x51\x4f\x37','\x63\x59\x35\x42\x57\x4f\x4f\x42','\x6f\x4d\x6e\x58','\x6d\x6d\x6b\x55\x61\x38\x6b\x6a\x57\x51\x37\x63\x4b\x66\x47','\x57\x34\x61\x61\x57\x51\x4f\x78\x64\x71','\x57\x51\x42\x64\x55\x4b\x78\x63\x56\x4e\x34\x55\x57\x36\x56\x64\x55\x53\x6b\x4f\x77\x62\x65\x75\x57\x4f\x4f','\x43\x53\x6b\x31\x57\x52\x42\x63\x50\x75\x52\x63\x4d\x43\x6f\x4e\x77\x61','\x57\x4f\x66\x2f\x57\x34\x42\x64\x54\x6d\x6b\x66','\x57\x36\x5a\x63\x48\x43\x6f\x6b\x57\x50\x69','\x57\x34\x61\x46\x72\x61','\x62\x30\x4a\x64\x51\x38\x6b\x59\x57\x34\x66\x67\x57\x52\x56\x63\x4b\x71','\x6e\x53\x6b\x67\x57\x51\x74\x63\x49\x57','\x57\x36\x72\x4e\x57\x34\x65','\x66\x76\x44\x77\x57\x51\x4f\x78\x62\x31\x61','\x6b\x75\x38\x6e\x43\x61','\x64\x4a\x33\x64\x4c\x38\x6b\x44\x7a\x61','\x43\x53\x6b\x4f\x68\x38\x6b\x67','\x57\x34\x34\x72\x77\x53\x6f\x57\x57\x52\x52\x63\x4f\x4c\x53','\x6d\x32\x31\x34\x57\x52\x39\x4e\x57\x51\x4b','\x45\x4e\x53\x4f\x57\x35\x5a\x64\x4a\x71','\x57\x37\x70\x64\x53\x77\x71\x49\x43\x61','\x62\x43\x6b\x6f\x57\x34\x37\x63\x54\x62\x75','\x65\x6d\x6b\x34\x57\x35\x52\x63\x4b\x62\x71','\x44\x38\x6b\x2f\x57\x50\x70\x63\x51\x76\x4e\x63\x47\x38\x6f\x6e\x71\x57','\x71\x48\x7a\x53\x6f\x68\x71','\x57\x4f\x6d\x75\x72\x38\x6f\x52\x57\x52\x68\x63\x4f\x61','\x57\x4f\x33\x64\x4f\x6d\x6b\x61\x79\x71\x4b','\x75\x53\x6f\x6e\x57\x34\x74\x63\x4b\x61\x74\x64\x48\x38\x6f\x73\x57\x34\x4f','\x44\x73\x33\x64\x56\x43\x6f\x6d\x57\x51\x57','\x57\x34\x34\x77\x57\x50\x71\x53\x6b\x53\x6f\x33\x57\x51\x6e\x31','\x57\x50\x58\x70\x64\x53\x6f\x72\x67\x71','\x57\x50\x4a\x64\x52\x47\x7a\x79\x45\x61','\x57\x35\x78\x63\x47\x38\x6f\x78\x57\x50\x33\x63\x54\x71','\x57\x35\x71\x71\x76\x57'];_0x3aeb=function(){return _0x37265e;};return _0x3aeb();}function _0x3feb9f(..._0x1c09a2){const _0x12d326=_0x286397,_0x57aec5={'\x4b\x73\x59\x6c\x4a':function(_0x1c1480,_0x164244){return _0x1c1480(_0x164244);},'\x78\x63\x76\x45\x54':_0x12d326(0x364,'\x25\x4d\x52\x50'),'\x58\x6d\x70\x57\x4e':_0x12d326(0x20a,'\x59\x32\x45\x6c')+'\x5d'};if(_0x57aec5[_0x12d326(0x2b7,'\x6b\x51\x65\x59')](String,process.env.EVOLVER_VERBOSE||'')['\x74\x6f\x4c\x6f\x77\x65\x72\x43'+_0x12d326(0x212,'\x78\x58\x54\x30')]()!==_0x57aec5[_0x12d326(0x3a0,'\x7a\x4f\x36\x33')])return;_0x1c09a2[_0x12d326(0x205,'\x25\x4d\x52\x50')](_0x57aec5[_0x12d326(0x22a,'\x7a\x29\x26\x38')]),console[_0x12d326(0x240,'\x6d\x59\x34\x50')][_0x12d326(0x358,'\x63\x40\x36\x45')](console,_0x1c09a2);}let _0x7666d3=-0x247e+-0x2388+0x4806;function _0x455535(_0xd3999b){const _0x5051d1=_0x286397,_0x1f0219={};_0x1f0219[_0x5051d1(0x39e,'\x4d\x4c\x26\x4b')]=function(_0x26220f,_0x22f995){return _0x26220f===_0x22f995;},_0x1f0219['\x50\x71\x63\x6c\x47']=_0x5051d1(0x349,'\x64\x6e\x51\x51'),_0x1f0219[_0x5051d1(0x2ad,'\x74\x6e\x31\x61')]='\x4f\x54\x63\x58\x6b',_0x1f0219[_0x5051d1(0x2ae,'\x6e\x56\x54\x50')]=function(_0x1ccdb2,_0x166942){return _0x1ccdb2===_0x166942;},_0x1f0219[_0x5051d1(0x3f8,'\x61\x61\x72\x78')]=function(_0x4f657e,_0x2aff6e){return _0x4f657e===_0x2aff6e;},_0x1f0219['\x41\x4d\x57\x42\x72']=_0x5051d1(0x367,'\x5d\x62\x32\x6c'),_0x1f0219[_0x5051d1(0x25c,'\x52\x49\x7a\x59')]='\x73\x74\x72\x69\x6e\x67';const _0x5d3559=_0x1f0219;if(!_0xd3999b)return null;const _0x530c4c=_0xd3999b[_0x5051d1(0x228,'\x62\x4f\x74\x54')]('\x0a');for(const _0x59e089 of _0x530c4c){if(!_0x59e089['\x74\x72\x69\x6d']())continue;try{if(_0x5d3559[_0x5051d1(0x353,'\x6e\x56\x54\x50')](_0x5d3559[_0x5051d1(0x3e3,'\x38\x31\x4a\x4f')],_0x5d3559[_0x5051d1(0x351,'\x52\x49\x5e\x33')])){const _0x57c4c8=JSON['\x70\x61\x72\x73\x65'](_0x59e089),_0x1e8059=_0x57c4c8[_0x5051d1(0x3d2,'\x78\x50\x4b\x57')]||_0x57c4c8;if(_0x5d3559[_0x5051d1(0x320,'\x78\x50\x4b\x57')](_0x1e8059[_0x5051d1(0x3fa,'\x6e\x56\x54\x50')],_0x5051d1(0x40f,'\x52\x49\x5e\x33'))||_0x5d3559[_0x5051d1(0x3e4,'\x7a\x2a\x34\x4a')](_0x1e8059[_0x5051d1(0x3c9,'\x78\x50\x4b\x57')],_0x5d3559['\x41\x4d\x57\x42\x72'])){const _0x4a2b92=_0x1e8059[_0x5051d1(0x24f,'\x6d\x74\x74\x53')];if(Array[_0x5051d1(0x34b,'\x25\x4d\x52\x50')](_0x4a2b92)){const _0x46ddbb=_0x4a2b92['\x66\x69\x6c\x74\x65\x72'](function(_0x3ba54b){const _0x1f3c7d=_0x5051d1;return _0x5d3559[_0x1f3c7d(0x345,'\x43\x48\x48\x77')](_0x3ba54b[_0x1f3c7d(0x287,'\x78\x58\x54\x30')],_0x5d3559[_0x1f3c7d(0x27d,'\x6e\x37\x44\x4f')]);})[_0x5051d1(0x247,'\x6d\x74\x74\x53')](function(_0x141f95){const _0x253365=_0x5051d1;return _0x141f95[_0x253365(0x286,'\x78\x50\x4b\x57')];})[_0x5051d1(0x288,'\x7a\x4f\x36\x33')]('');return _0x46ddbb[_0x5051d1(0x2ac,'\x32\x77\x63\x77')]();}else{if(typeof _0x4a2b92===_0x5d3559[_0x5051d1(0x426,'\x37\x46\x31\x6f')])return _0x4a2b92[_0x5051d1(0x21a,'\x5b\x68\x32\x7a')]();}}}else try{_0x2e207f[_0x5051d1(0x3c2,'\x6e\x56\x54\x50')+'\x6e\x63'](_0x2f1400['\x6a\x6f\x69\x6e'](_0x235b1b,_0x37d0f2));}catch(_0x4adb5c){}}catch(_0x4b4b4e){}}return null;}function _0x406f6b(){const _0x4476f2=_0x286397,_0x4ed11f={'\x42\x72\x52\x65\x57':function(_0x43ecd6,_0x53e065){return _0x43ecd6!==_0x53e065;},'\x44\x76\x62\x45\x57':_0x4476f2(0x20d,'\x38\x31\x4a\x4f'),'\x42\x6a\x73\x74\x48':function(_0x558da0,_0x352202){return _0x558da0-_0x352202;},'\x6c\x51\x66\x68\x45':_0x4476f2(0x398,'\x25\x4d\x52\x50')+_0x4476f2(0x305,'\x61\x61\x72\x78')+'\x69\x70\x70\x65\x64\x20\x28\x64'+_0x4476f2(0x2a2,'\x64\x6e\x51\x51')+_0x4476f2(0x283,'\x4a\x49\x74\x51'),'\x4f\x4a\x58\x54\x6e':_0x4476f2(0x2e4,'\x34\x24\x6f\x78'),'\x46\x50\x44\x63\x46':function(_0xa63cf8,_0x2735c2,_0x4e86dd){return _0xa63cf8(_0x2735c2,_0x4e86dd);},'\x70\x70\x74\x66\x67':function(_0x22dd75,_0x32abf1){return _0x22dd75(_0x32abf1);},'\x69\x68\x6e\x79\x4a':function(_0x3cf42c,_0x3e01ad){return _0x3cf42c===_0x3e01ad;},'\x49\x6f\x6f\x42\x78':function(_0x1eae34,_0x2f3fe3){return _0x1eae34!==_0x2f3fe3;},'\x53\x6a\x52\x56\x50':_0x4476f2(0x405,'\x34\x24\x6f\x78'),'\x50\x66\x55\x61\x49':function(_0x3b1bed,_0xf2156d){return _0x3b1bed-_0xf2156d;},'\x77\x4b\x78\x63\x59':'\x2e\x6a\x73\x6f\x6e\x6c','\x61\x6a\x4d\x4f\x75':_0x4476f2(0x242,'\x59\x32\x45\x6c'),'\x77\x5a\x6d\x6e\x6e':_0x4476f2(0x41e,'\x32\x36\x5e\x30'),'\x53\x4c\x6f\x41\x71':function(_0x43dcd8,_0x3b6e32){return _0x43dcd8(_0x3b6e32);},'\x59\x47\x57\x64\x65':function(_0x452b96,_0x34ec58){return _0x452b96===_0x34ec58;},'\x63\x71\x6c\x6b\x76':_0x4476f2(0x404,'\x52\x49\x5e\x33'),'\x53\x75\x72\x61\x49':function(_0x130084){return _0x130084();},'\x45\x4d\x68\x45\x6c':'\x6f\x70\x65\x6e\x63\x6c\x61\x77','\x74\x6a\x4e\x63\x63':function(_0x388e40,_0x355cb1){return _0x388e40===_0x355cb1;},'\x54\x59\x62\x53\x65':_0x4476f2(0x412,'\x59\x5d\x74\x28'),'\x49\x6e\x55\x4c\x4a':function(_0x527651){return _0x527651();},'\x45\x71\x75\x7a\x73':function(_0x17e5bd,_0xa4e2e8){return _0x17e5bd&&_0xa4e2e8;},'\x42\x50\x6d\x55\x53':function(_0xbf9f52){return _0xbf9f52();},'\x79\x57\x63\x43\x77':function(_0x388334){return _0x388334();},'\x6b\x46\x67\x74\x4b':function(_0x519be7){return _0x519be7();},'\x48\x4b\x61\x50\x50':function(_0x1abe66){return _0x1abe66();}};function _0x4df97f(){const _0x28a8ba=_0x4476f2,_0x2291de={};_0x2291de[_0x28a8ba(0x386,'\x7a\x59\x4f\x2a')]=_0x4ed11f[_0x28a8ba(0x239,'\x2a\x71\x6d\x53')];const _0xfa99c2=_0x2291de;if(_0x4ed11f[_0x28a8ba(0x402,'\x4d\x4c\x26\x4b')]!==_0x4ed11f[_0x28a8ba(0x375,'\x77\x21\x6f\x28')])_0x26c8c9[_0x28a8ba(0x343,'\x23\x6f\x62\x48')](_0xfa99c2[_0x28a8ba(0x25d,'\x32\x77\x63\x77')]);else{if(!_0x52dad7)return null;try{const _0x247aa8=_0x4ed11f[_0x28a8ba(0x2ec,'\x5b\x68\x32\x7a')](_0x6d8e72,_0x52dad7,-0x241c+-0x174+0x2593);if(!_0x247aa8||_0x247aa8[_0x28a8ba(0x237,'\x50\x54\x37\x5a')]===0xfb2*-0x2+-0x4a*0x4e+0x35f0)return null;_0x247aa8['\x73\x6f\x72\x74'](function(_0x17b3df,_0x343e84){const _0x706cfc=_0x28a8ba;if(_0x4ed11f[_0x706cfc(0x323,'\x6d\x59\x34\x50')](_0x4ed11f[_0x706cfc(0x2fa,'\x63\x51\x6f\x58')],_0x706cfc(0x2ff,'\x32\x36\x5e\x30')))return;else return _0x4ed11f[_0x706cfc(0x28e,'\x37\x54\x39\x24')](_0x343e84[_0x706cfc(0x381,'\x7a\x2a\x34\x4a')],_0x17b3df[_0x706cfc(0x371,'\x43\x48\x48\x77')]);});const _0x423555=_0x510a23(_0x247aa8[0x13f9*0x1+0x250f+-0x3908][_0x28a8ba(0x3b8,'\x59\x5d\x74\x28')],0x4606+0x467d+0x4c83*-0x1);return _0x4ed11f[_0x28a8ba(0x2f0,'\x43\x48\x48\x77')](_0x455535,_0x423555);}catch(_0x5a8d1a){return null;}}}function _0x357f57(){const _0x3e53a7=_0x4476f2,_0x254de9={};_0x254de9[_0x3e53a7(0x2e0,'\x6e\x56\x54\x50')]=_0x4ed11f[_0x3e53a7(0x3ff,'\x34\x24\x6f\x78')];const _0x217772=_0x254de9;if(_0x4ed11f[_0x3e53a7(0x41b,'\x74\x73\x41\x47')](_0x4ed11f['\x61\x6a\x4d\x4f\x75'],_0x4ed11f[_0x3e53a7(0x2c9,'\x6e\x56\x54\x50')])){const _0x2f6b3e={};_0x2f6b3e['\x42\x43\x52\x6c\x42']=function(_0x3a85c6,_0x56c6f5){return _0x3a85c6-_0x56c6f5;};const _0x337458=_0x2f6b3e;if(!_0x482f11[_0x3e53a7(0x312,'\x6d\x74\x74\x53')+'\x6e\x63'](_0x507b2e))return null;const _0x1bf1f3=_0x1babd7['\x72\x65\x61\x64\x64\x69\x72\x53'+_0x3e53a7(0x319,'\x62\x4f\x74\x54')](_0xd75a0a)['\x66\x69\x6c\x74\x65\x72'](function(_0x4945b7){const _0x42186a=_0x3e53a7;return _0x4945b7[_0x42186a(0x26b,'\x47\x50\x29\x31')](_0x217772[_0x42186a(0x304,'\x37\x46\x31\x6f')]);})[_0x3e53a7(0x213,'\x50\x54\x37\x5a')](function(_0x200100){const _0x3fc11b=_0x3e53a7;return{'\x70\x61\x74\x68':_0x54535c[_0x3fc11b(0x3a1,'\x78\x50\x4b\x57')](_0x19fc9f,_0x200100),'\x74\x69\x6d\x65':_0x30d927[_0x3fc11b(0x299,'\x38\x31\x4a\x4f')](_0x51682c['\x6a\x6f\x69\x6e'](_0x13988e,_0x200100))[_0x3fc11b(0x3ca,'\x7a\x2a\x34\x4a')][_0x3fc11b(0x297,'\x23\x6f\x62\x48')]()};})[_0x3e53a7(0x214,'\x63\x40\x36\x45')](function(_0x8966dc,_0x3c2e6f){const _0x4acf6c=_0x3e53a7;return _0x337458[_0x4acf6c(0x2ca,'\x59\x5d\x74\x28')](_0x3c2e6f[_0x4acf6c(0x419,'\x5e\x2a\x4b\x5b')],_0x8966dc[_0x4acf6c(0x33f,'\x5b\x68\x32\x7a')]);});if(!_0x1bf1f3||_0x4ed11f[_0x3e53a7(0x2c7,'\x6d\x41\x26\x66')](_0x1bf1f3['\x6c\x65\x6e\x67\x74\x68'],0x7*-0x173+-0x10a1*-0x1+-0x67c))return null;const _0x4d39b7=_0x58abcb(_0x1bf1f3[-0x1dc+-0x1*0x124d+0x1429]['\x70\x61\x74\x68'],-0x266f+-0x1dfc+0x137*0x6d);return _0x4ed11f[_0x3e53a7(0x3c5,'\x54\x5a\x40\x67')](_0x32a8f5,_0x4d39b7);}else try{if(_0x4ed11f['\x49\x6f\x6f\x42\x78'](_0x3e53a7(0x37e,'\x74\x6e\x31\x61'),_0x4ed11f[_0x3e53a7(0x3d9,'\x74\x6a\x46\x54')]))try{return{'\x6e\x61\x6d\x65':_0x2b428e,'\x74\x69\x6d\x65':_0x2bb877[_0x3e53a7(0x394,'\x77\x21\x6f\x28')](_0x4e98b6[_0x3e53a7(0x271,'\x7a\x29\x26\x38')](_0xb2b412,_0x19769b))['\x6d\x74\x69\x6d\x65'][_0x3e53a7(0x35f,'\x45\x75\x72\x64')]()};}catch(_0x151f0c){return null;}else{if(!_0x128eb8[_0x3e53a7(0x3b7,'\x6e\x56\x54\x50')+'\x6e\x63'](_0x57aa8b))return null;const _0x561643=_0x128eb8[_0x3e53a7(0x2f9,'\x4f\x26\x7a\x63')+_0x3e53a7(0x2b3,'\x5b\x68\x32\x7a')](_0x57aa8b)[_0x3e53a7(0x2c3,'\x6d\x74\x74\x53')](function(_0x519459){const _0x987b6f=_0x3e53a7;return _0x519459[_0x987b6f(0x3a8,'\x7a\x29\x26\x38')](_0x217772[_0x987b6f(0x2e2,'\x74\x73\x41\x47')]);})['\x6d\x61\x70'](function(_0x186f39){const _0x4d11a3=_0x3e53a7;return{'\x70\x61\x74\x68':_0x1b38d9[_0x4d11a3(0x21f,'\x4d\x4c\x26\x4b')](_0x57aa8b,_0x186f39),'\x74\x69\x6d\x65':_0x128eb8[_0x4d11a3(0x3f6,'\x5b\x68\x32\x7a')](_0x1b38d9[_0x4d11a3(0x3f0,'\x63\x40\x36\x45')](_0x57aa8b,_0x186f39))[_0x4d11a3(0x366,'\x63\x40\x36\x45')]['\x67\x65\x74\x54\x69\x6d\x65']()};})[_0x3e53a7(0x1f8,'\x6b\x51\x65\x59')](function(_0x3d4438,_0x387229){const _0x219e22=_0x3e53a7;return _0x4ed11f[_0x219e22(0x2e3,'\x50\x54\x37\x5a')](_0x4ed11f[_0x219e22(0x290,'\x32\x77\x63\x77')],_0x4ed11f[_0x219e22(0x23d,'\x23\x6f\x62\x48')])?{'\x6e\x61\x6d\x65':_0x273321,'\x74\x69\x6d\x65':_0x309d07[_0x219e22(0x380,'\x74\x6e\x31\x61')](_0x46d5d9[_0x219e22(0x38e,'\x6e\x37\x44\x4f')](_0x26a30f,_0x397635))[_0x219e22(0x366,'\x63\x40\x36\x45')][_0x219e22(0x2bd,'\x37\x46\x31\x6f')]()}:_0x4ed11f[_0x219e22(0x23f,'\x23\x6f\x62\x48')](_0x387229[_0x219e22(0x3a5,'\x34\x24\x6f\x78')],_0x3d4438[_0x219e22(0x383,'\x37\x46\x31\x6f')]);});if(!_0x561643||_0x561643[_0x3e53a7(0x266,'\x6e\x56\x54\x50')]===0x1a6*-0x8+-0x235a+0x147*0x26)return null;const _0x549beb=_0x4ed11f[_0x3e53a7(0x2a4,'\x6e\x56\x54\x50')](_0x510a23,_0x561643[-0xd*0x118+-0x3b*0x2f+0x79*0x35][_0x3e53a7(0x339,'\x34\x24\x6f\x78')],0x2067+-0x3508+0x54a1);return _0x4ed11f['\x53\x4c\x6f\x41\x71'](_0x455535,_0x549beb);}}catch(_0x2ae110){return null;}}if(_0x4ed11f[_0x4476f2(0x258,'\x66\x6a\x42\x62')](_0x46c759,_0x4ed11f[_0x4476f2(0x1f4,'\x5e\x2a\x4b\x5b')]))return _0x4ed11f[_0x4476f2(0x25e,'\x4d\x4c\x26\x4b')](_0x4df97f);if(_0x4ed11f[_0x4476f2(0x363,'\x25\x4d\x52\x50')](_0x46c759,_0x4ed11f[_0x4476f2(0x256,'\x78\x50\x4b\x57')]))return _0x4ed11f[_0x4476f2(0x21c,'\x74\x6a\x46\x54')](_0x357f57);if(_0x4ed11f[_0x4476f2(0x2fc,'\x5b\x68\x32\x7a')](_0x46c759,_0x4ed11f[_0x4476f2(0x3e8,'\x4a\x49\x74\x51')]))return _0x357f57()||_0x4ed11f['\x49\x6e\x55\x4c\x4a'](_0x4df97f);const _0x31d4a3=_0x128eb8['\x65\x78\x69\x73\x74\x73\x53\x79'+'\x6e\x63'](_0x57aa8b),_0x54b9dd=!!(_0x52dad7||process.env.CURSOR_TRACE_DIR||process.env.CURSOR_BACKGROUND_TRANSCRIPTS_DIR);if(_0x4ed11f[_0x4476f2(0x422,'\x63\x51\x6f\x58')](_0x31d4a3,_0x54b9dd))return _0x4ed11f[_0x4476f2(0x226,'\x77\x21\x6f\x28')](_0x357f57)||_0x4ed11f[_0x4476f2(0x32c,'\x32\x77\x63\x77')](_0x4df97f);if(_0x31d4a3)return _0x4ed11f['\x6b\x46\x67\x74\x4b'](_0x357f57);if(_0x54b9dd)return _0x4ed11f[_0x4476f2(0x36b,'\x6d\x41\x26\x66')](_0x4df97f);return null;}try{require(_0x286397(0x36d,'\x37\x46\x31\x6f'))[_0x286397(0x3cd,'\x50\x54\x37\x5a')]({'\x70\x61\x74\x68':_0x1b38d9[_0x286397(0x38e,'\x6e\x37\x44\x4f')](_0x135fb4,_0x286397(0x28d,'\x7a\x2a\x34\x4a')),'\x71\x75\x69\x65\x74':!![]});}catch(_0x57873b){}const _0x440fae=require(_0x286397(0x36c,'\x7a\x59\x4f\x2a')+_0x286397(0x241,'\x6e\x37\x44\x4f')),_0x310fd1=require('\x2e\x2f\x65\x76\x6f\x6c\x76\x65'+_0x286397(0x26d,'\x54\x5a\x40\x67')+_0x286397(0x1ff,'\x32\x77\x63\x77')+'\x74'),_0x6278c=require(_0x286397(0x336,'\x54\x5a\x40\x67')+_0x286397(0x39d,'\x7a\x29\x26\x38')+_0x286397(0x416,'\x66\x6a\x42\x62')+'\x73'),_0x3af06d=require(_0x286397(0x3da,'\x34\x24\x6f\x78')+_0x286397(0x3b9,'\x7a\x4f\x36\x33')+_0x286397(0x2ef,'\x38\x31\x4a\x4f')),_0x8d4b65=require(_0x286397(0x235,'\x59\x5d\x74\x28')+_0x286397(0x42b,'\x4f\x26\x7a\x63')+_0x286397(0x3c0,'\x43\x48\x48\x77')),_0x4b74a2=require(_0x286397(0x2d7,'\x5d\x62\x32\x6c')+_0x286397(0x220,'\x37\x54\x39\x24')+_0x286397(0x3a7,'\x63\x40\x36\x45')),_0xf5960f=require(_0x286397(0x209,'\x74\x6e\x31\x61')+_0x286397(0x248,'\x6b\x51\x65\x59')+_0x286397(0x210,'\x25\x4d\x52\x50')+'\x63\x68'),{collectTranscriptFiles:_0x6d8e72,readFileHead:_0x510a23}=require('\x2e\x2f\x65\x76\x6f\x6c\x76\x65'+_0x286397(0x387,'\x25\x4d\x52\x50')),_0x135dcf=process[_0x286397(0x2aa,'\x6d\x41\x26\x66')][_0x286397(0x2d8,'\x5d\x62\x32\x6c')](-0x6b9+0x8b0+0x1*-0x1f5),_0x1f7b56=_0x135dcf[_0x286397(0x2c8,'\x59\x5d\x74\x28')](_0x286397(0x2eb,'\x63\x40\x36\x45')),_0x4f0437=_0x135dcf[_0x286397(0x3d5,'\x34\x24\x6f\x78')](_0x286397(0x3ed,'\x7a\x4f\x36\x33')+'\x6e');let _0x2cf109=_0x135dcf[_0x286397(0x2c6,'\x25\x4d\x52\x50')](_0x286397(0x28f,'\x74\x73\x41\x47'))||String(process.env.RANDOM_DRIFT||'')[_0x286397(0x3cf,'\x6d\x59\x34\x50')+_0x286397(0x3f3,'\x63\x51\x6f\x58')]()==='\x74\x72\x75\x65';const _0x26e0cb=_0x15efec(),_0x53fc4f=process.env.AGENT_NAME||_0x286397(0x24e,'\x6e\x37\x44\x4f'),_0x57aa8b=_0x7e7735(),_0x52dad7=process.env.EVOLVER_CURSOR_TRANSCRIPTS_DIR||'',_0x46c759=(process.env.EVOLVER_SESSION_SOURCE||'\x61\x75\x74\x6f')['\x74\x6f\x4c\x6f\x77\x65\x72\x43'+_0x286397(0x26c,'\x5e\x2a\x4b\x5b')]();try{const _0x10645c={};_0x10645c[_0x286397(0x395,'\x7a\x2a\x34\x4a')+'\x65']=!![];if(!_0x128eb8[_0x286397(0x3e7,'\x4a\x49\x74\x51')+'\x6e\x63'](_0x26e0cb))_0x128eb8[_0x286397(0x28c,'\x32\x36\x5e\x30')+'\x63'](_0x26e0cb,_0x10645c);}catch(_0x7465ff){console[_0x286397(0x425,'\x34\x24\x6f\x78')](_0x286397(0x268,'\x7a\x4f\x36\x33')+_0x286397(0x3bc,'\x5d\x62\x32\x6c')+_0x286397(0x344,'\x4e\x38\x4f\x28')+_0x286397(0x2db,'\x2a\x71\x6d\x53')+_0x286397(0x331,'\x2a\x71\x6d\x53')+_0x286397(0x360,'\x63\x51\x6f\x58')+_0x286397(0x2f2,'\x4f\x26\x7a\x63')+_0x286397(0x30c,'\x6d\x74\x74\x53')+_0x286397(0x32b,'\x59\x5d\x74\x28'),_0x7465ff&&_0x7465ff[_0x286397(0x264,'\x59\x5d\x74\x28')]||_0x7465ff);}function _0x5be9f1(){const _0x1888c2=_0x286397,_0x6e4dd4={'\x44\x48\x4b\x74\x52':_0x1888c2(0x35e,'\x4a\x49\x74\x51'),'\x70\x4f\x71\x70\x57':function(_0x1c7216,_0x500ab6){return _0x1c7216<_0x500ab6;},'\x74\x46\x64\x48\x78':function(_0x55ea40,_0x36b93b){return _0x55ea40-_0x36b93b;},'\x66\x75\x71\x68\x62':function(_0x11d163,_0x394862){return _0x11d163===_0x394862;},'\x71\x62\x7a\x4b\x44':_0x1888c2(0x200,'\x6e\x56\x54\x50'),'\x49\x51\x72\x70\x49':_0x1888c2(0x39a,'\x37\x46\x31\x6f'),'\x46\x54\x6b\x72\x66':_0x1888c2(0x32f,'\x4e\x38\x4f\x28'),'\x70\x63\x53\x54\x52':'\x61\x45\x4c\x52\x74','\x46\x63\x44\x58\x66':function(_0x50cebb,_0x58cdd5,_0x11de4e){return _0x50cebb(_0x58cdd5,_0x11de4e);},'\x6c\x55\x57\x54\x78':function(_0x96c67f,_0x30a674,_0x2e06b0){return _0x96c67f(_0x30a674,_0x2e06b0);},'\x5a\x51\x41\x66\x53':function(_0x4533de,_0x33f4ae){return _0x4533de(_0x33f4ae);},'\x6e\x57\x6e\x68\x61':function(_0x1bc081){return _0x1bc081();},'\x79\x71\x78\x54\x6c':function(_0x25898a,_0x26d63c){return _0x25898a!==_0x26d63c;},'\x6a\x51\x43\x54\x78':_0x1888c2(0x23e,'\x71\x48\x4e\x6d'),'\x4b\x46\x78\x50\x50':function(_0x5328f1,_0xf35c9d){return _0x5328f1>_0xf35c9d;},'\x69\x41\x6d\x72\x45':_0x1888c2(0x314,'\x78\x50\x4b\x57'),'\x58\x70\x48\x6a\x66':function(_0x378b35,_0x1c8bc3){return _0x378b35===_0x1c8bc3;},'\x6f\x4c\x67\x51\x6b':_0x1888c2(0x2a8,'\x64\x6e\x51\x51')};_0x6e4dd4['\x6e\x57\x6e\x68\x61'](_0x33beb8);try{if(!_0x128eb8[_0x1888c2(0x25b,'\x59\x32\x45\x6c')+'\x6e\x63'](_0x57aa8b))return;const _0x3d7ac3=_0x128eb8[_0x1888c2(0x263,'\x32\x36\x5e\x30')+_0x1888c2(0x25f,'\x6d\x74\x74\x53')](_0x57aa8b)[_0x1888c2(0x1f5,'\x74\x6c\x57\x5d')](_0x40498a=>_0x40498a[_0x1888c2(0x3f1,'\x52\x49\x5e\x33')](_0x1888c2(0x257,'\x6d\x74\x74\x53'))),_0x246664=_0x3d7ac3[_0x1888c2(0x306,'\x37\x46\x31\x6f')](_0x3ae22f=>_0x3ae22f['\x73\x74\x61\x72\x74\x73\x57\x69'+'\x74\x68'](_0x1888c2(0x270,'\x78\x58\x54\x30')+_0x1888c2(0x2b5,'\x23\x6f\x62\x48')));for(const _0x5463fe of _0x246664){if(_0x6e4dd4[_0x1888c2(0x3f5,'\x2a\x71\x6d\x53')](_0x6e4dd4[_0x1888c2(0x3b2,'\x6b\x51\x65\x59')],_0x1888c2(0x2c2,'\x63\x40\x36\x45')))try{_0x128eb8[_0x1888c2(0x42d,'\x5b\x68\x32\x7a')+'\x6e\x63'](_0x1b38d9[_0x1888c2(0x249,'\x5d\x62\x32\x6c')](_0x57aa8b,_0x5463fe));}catch(_0x21658b){}else return _0x3ca228[_0x1888c2(0x31d,'\x6e\x56\x54\x50')](_0x1888c2(0x379,'\x37\x46\x31\x6f'));}_0x6e4dd4[_0x1888c2(0x396,'\x50\x54\x37\x5a')](_0x246664[_0x1888c2(0x3e9,'\x4d\x4c\x26\x4b')],-0x25b9+0x1*-0x150d+-0x3ac6*-0x1)&&console[_0x1888c2(0x240,'\x6d\x59\x34\x50')](_0x1888c2(0x2f6,'\x4e\x38\x4f\x28')+_0x1888c2(0x2dc,'\x5e\x2a\x4b\x5b')+_0x1888c2(0x250,'\x6d\x59\x34\x50')+_0x246664[_0x1888c2(0x3e9,'\x4d\x4c\x26\x4b')]+(_0x1888c2(0x377,'\x4a\x49\x74\x51')+_0x1888c2(0x337,'\x59\x32\x45\x6c')+'\x73\x73\x69\x6f\x6e\x28\x73\x29'+'\x2e'));const _0x5f52ca=_0x3d7ac3[_0x1888c2(0x260,'\x38\x31\x4a\x4f')]-_0x246664[_0x1888c2(0x27b,'\x32\x77\x63\x77')];if(_0x5f52ca<-0xb95*0x2+0x1fc*0xc+-0x6*0xb)return;console[_0x1888c2(0x240,'\x6d\x59\x34\x50')]('\x5b\x4d\x61\x69\x6e\x74\x65\x6e'+_0x1888c2(0x34d,'\x32\x36\x5e\x30')+_0x1888c2(0x2c0,'\x54\x5a\x40\x67')+_0x5f52ca+(_0x1888c2(0x2d6,'\x74\x6c\x57\x5d')+_0x1888c2(0x232,'\x52\x49\x5e\x33')+'\x72\x63\x68\x69\x76\x69\x6e\x67'+_0x1888c2(0x3c8,'\x61\x61\x72\x78')+_0x1888c2(0x3cc,'\x6d\x74\x74\x53')));const _0x39040c=_0x1b38d9[_0x1888c2(0x289,'\x74\x6c\x57\x5d')](_0x57aa8b,_0x6e4dd4['\x69\x41\x6d\x72\x45']),_0x5227ae={};_0x5227ae[_0x1888c2(0x3d6,'\x5e\x2a\x4b\x5b')+'\x65']=!![];if(!_0x128eb8['\x65\x78\x69\x73\x74\x73\x53\x79'+'\x6e\x63'](_0x39040c))_0x128eb8[_0x1888c2(0x1fc,'\x61\x61\x72\x78')+'\x63'](_0x39040c,_0x5227ae);const _0x251ed3=_0x3d7ac3[_0x1888c2(0x2c3,'\x6d\x74\x74\x53')](_0x4419c7=>!_0x4419c7[_0x1888c2(0x330,'\x52\x49\x5e\x33')+'\x74\x68'](_0x1888c2(0x233,'\x37\x46\x31\x6f')+_0x1888c2(0x276,'\x37\x54\x39\x24')))[_0x1888c2(0x227,'\x74\x6a\x46\x54')](_0x409aac=>{const _0x5226db=_0x1888c2;try{return _0x6e4dd4['\x66\x75\x71\x68\x62'](_0x6e4dd4[_0x5226db(0x352,'\x45\x75\x72\x64')],_0x6e4dd4[_0x5226db(0x26a,'\x61\x61\x72\x78')])?_0x3a0b00[_0x5226db(0x383,'\x37\x46\x31\x6f')]-_0x216f53[_0x5226db(0x315,'\x7a\x29\x26\x38')]:{'\x6e\x61\x6d\x65':_0x409aac,'\x74\x69\x6d\x65':_0x128eb8[_0x5226db(0x34c,'\x23\x6f\x62\x48')](_0x1b38d9[_0x5226db(0x3b5,'\x54\x5a\x40\x67')](_0x57aa8b,_0x409aac))[_0x5226db(0x355,'\x4a\x49\x74\x51')][_0x5226db(0x218,'\x78\x50\x4b\x57')]()};}catch(_0xac998d){if(_0x6e4dd4[_0x5226db(0x25a,'\x77\x21\x6f\x28')](_0x6e4dd4[_0x5226db(0x3e1,'\x59\x5d\x74\x28')],_0x6e4dd4[_0x5226db(0x2d5,'\x6d\x41\x26\x66')])){if(_0x432a13[_0x5226db(0x312,'\x6d\x74\x74\x53')+'\x6e\x63'](_0x10a26b)){const _0x452b9e=_0x5cc65f[_0x5226db(0x2bf,'\x2a\x71\x6d\x53')](_0x18616a[_0x5226db(0x406,'\x52\x49\x7a\x59')+_0x5226db(0x3ce,'\x74\x73\x41\x47')](_0x3bd3dd,_0x6e4dd4[_0x5226db(0x2c1,'\x37\x54\x39\x24')]));if(_0x452b9e[_0x5226db(0x2a7,'\x66\x6a\x42\x62')+_0x5226db(0x2f7,'\x63\x51\x6f\x58')]&&_0x6e4dd4[_0x5226db(0x278,'\x6d\x59\x34\x50')](_0x6e4dd4[_0x5226db(0x27a,'\x7a\x4f\x36\x33')](_0x48089a,new _0x162910(_0x452b9e[_0x5226db(0x34f,'\x7a\x59\x4f\x2a')+'\x6b\x65\x64\x41\x74'])[_0x5226db(0x33e,'\x74\x6c\x57\x5d')]()),_0x1b478e))return;}}else return null;}})[_0x1888c2(0x3d4,'\x59\x32\x45\x6c')](Boolean)[_0x1888c2(0x393,'\x52\x49\x5e\x33')]((_0x1dbf1b,_0x1b3269)=>_0x1dbf1b[_0x1888c2(0x384,'\x50\x54\x37\x5a')]-_0x1b3269['\x74\x69\x6d\x65']),_0x3bc19a=_0x251ed3[_0x1888c2(0x42f,'\x54\x5a\x40\x67')](-0x4ed*0x1+-0x1a90+-0x1*-0x1f7d,_0x251ed3[_0x1888c2(0x3b3,'\x54\x5a\x40\x67')]-(-0x1*0xe6f+-0x1da1+-0x16*-0x203));for(const _0x10ef00 of _0x3bc19a){const _0x48ae08=_0x1b38d9[_0x1888c2(0x38d,'\x37\x46\x31\x6f')](_0x57aa8b,_0x10ef00['\x6e\x61\x6d\x65']),_0x565e65=_0x1b38d9[_0x1888c2(0x211,'\x32\x36\x5e\x30')](_0x39040c,_0x10ef00[_0x1888c2(0x421,'\x63\x40\x36\x45')]);_0x128eb8[_0x1888c2(0x3bd,'\x2a\x71\x6d\x53')+'\x6e\x63'](_0x48ae08,_0x565e65);}if(_0x6e4dd4[_0x1888c2(0x207,'\x32\x77\x63\x77')](_0x3bc19a[_0x1888c2(0x2b1,'\x71\x48\x4e\x6d')],0x1896+-0x427*-0x5+-0x2d59)){if(_0x6e4dd4[_0x1888c2(0x274,'\x2a\x71\x6d\x53')](_0x6e4dd4[_0x1888c2(0x2d4,'\x6d\x74\x74\x53')],_0x6e4dd4['\x6f\x4c\x67\x51\x6b']))console[_0x1888c2(0x34e,'\x6d\x41\x26\x66')]('\x5b\x4d\x61\x69\x6e\x74\x65\x6e'+_0x1888c2(0x267,'\x4a\x49\x74\x51')+'\x63\x68\x69\x76\x65\x64\x20'+_0x3bc19a[_0x1888c2(0x2e9,'\x77\x21\x6f\x28')]+(_0x1888c2(0x369,'\x7a\x2a\x34\x4a')+'\x20')+_0x39040c);else return null;}}catch(_0x3d08bc){if(_0x6e4dd4[_0x1888c2(0x238,'\x5b\x68\x32\x7a')](_0x1888c2(0x224,'\x6d\x74\x74\x53'),_0x1888c2(0x41a,'\x7a\x4f\x36\x33')))console[_0x1888c2(0x2b6,'\x4e\x38\x4f\x28')](_0x1888c2(0x40c,'\x59\x32\x45\x6c')+_0x1888c2(0x2b4,'\x63\x40\x36\x45')+_0x1888c2(0x388,'\x77\x21\x6f\x28')+_0x3d08bc[_0x1888c2(0x31c,'\x74\x6c\x57\x5d')]);else{if(!_0x38aea4)return null;try{const _0x39e156=shQImh[_0x1888c2(0x3f2,'\x37\x54\x39\x24')](_0x3f9f79,_0x2bde76,0x115b*-0x2+-0x10e+0x23c7);if(!_0x39e156||shQImh[_0x1888c2(0x3e0,'\x6d\x59\x34\x50')](_0x39e156[_0x1888c2(0x37b,'\x32\x36\x5e\x30')],0x3b*0x22+0x248*-0x4+0x6*0x37))return null;_0x39e156[_0x1888c2(0x409,'\x5b\x68\x32\x7a')](function(_0x570ab5,_0x338d7e){const _0x2dc261=_0x1888c2;return shQImh[_0x2dc261(0x254,'\x5b\x68\x32\x7a')](_0x338d7e[_0x2dc261(0x26e,'\x62\x4f\x74\x54')],_0x570ab5[_0x2dc261(0x22b,'\x63\x40\x36\x45')]);});const _0x4d4666=shQImh['\x6c\x55\x57\x54\x78'](_0x35d9a6,_0x39e156[0x1ff7+0x1058+-0x304f][_0x1888c2(0x204,'\x47\x50\x29\x31')],-0x16b1+-0x3*0x1087+0x8846);return shQImh[_0x1888c2(0x3f9,'\x79\x43\x79\x6d')](_0x31d3a4,_0x4d4666);}catch(_0x4adab8){return null;}}}}function _0x33beb8(){const _0xa97f0b=_0x286397,_0x248c99={'\x57\x55\x4d\x75\x4a':function(_0x41606a,_0x3449d9){return _0x41606a===_0x3449d9;},'\x4c\x47\x58\x64\x56':_0xa97f0b(0x251,'\x34\x24\x6f\x78'),'\x78\x6e\x4e\x76\x75':function(_0x468bfe,_0x47f0c1){return _0x468bfe(_0x47f0c1);},'\x51\x63\x46\x65\x75':function(_0x5b559f,_0x208b1e){return _0x5b559f||_0x208b1e;},'\x69\x54\x4e\x56\x7a':function(_0x32278b,_0x124cfa){return _0x32278b!==_0x124cfa;},'\x65\x46\x62\x6f\x41':'\x65\x76\x6f\x6c\x76\x65\x72\x2e'+_0xa97f0b(0x420,'\x6d\x41\x26\x66'),'\x56\x52\x6a\x49\x66':function(_0x4b9703,_0x5b4c7c){return _0x4b9703(_0x5b4c7c);},'\x6d\x49\x7a\x66\x75':_0xa97f0b(0x22e,'\x6d\x59\x34\x50')+'\x77','\x4b\x64\x62\x73\x4c':function(_0x50bd23,_0x21ec28){return _0x50bd23===_0x21ec28;},'\x59\x55\x73\x6a\x73':_0xa97f0b(0x24d,'\x74\x6a\x46\x54'),'\x4d\x6b\x45\x59\x4e':function(_0x2a62a0,_0x2eea6b){return _0x2a62a0(_0x2eea6b);},'\x43\x47\x44\x56\x69':_0xa97f0b(0x3f4,'\x50\x54\x37\x5a')+_0xa97f0b(0x1f3,'\x43\x48\x48\x77')+_0xa97f0b(0x321,'\x2a\x71\x6d\x53')+'\x6e','\x64\x53\x6f\x47\x70':function(_0x46c670,_0x296ca2){return _0x46c670*_0x296ca2;},'\x7a\x68\x4d\x5a\x66':function(_0x2e6851,_0xca8817){return _0x2e6851*_0xca8817;},'\x4c\x57\x70\x55\x75':function(_0x5ff634,_0x657f3d){return _0x5ff634===_0x657f3d;},'\x52\x4e\x62\x70\x44':_0xa97f0b(0x3f7,'\x74\x6c\x57\x5d'),'\x77\x62\x6f\x53\x4a':_0xa97f0b(0x269,'\x6b\x51\x65\x59'),'\x4a\x4d\x71\x50\x57':_0xa97f0b(0x23b,'\x6d\x41\x26\x66'),'\x71\x4c\x51\x4c\x48':function(_0x3a741d,_0x38455a){return _0x3a741d-_0x38455a;},'\x58\x52\x57\x4f\x74':_0xa97f0b(0x42e,'\x6e\x56\x54\x50')+_0xa97f0b(0x246,'\x4d\x4c\x26\x4b'),'\x75\x75\x72\x69\x4f':_0xa97f0b(0x292,'\x43\x48\x48\x77'),'\x74\x6d\x52\x4b\x72':_0xa97f0b(0x3ea,'\x71\x48\x4e\x6d'),'\x4a\x6a\x4a\x71\x52':_0xa97f0b(0x357,'\x47\x50\x29\x31'),'\x46\x66\x55\x63\x6f':function(_0x13d0df,_0x27d002,_0x27c011,_0x15f0b3,_0x136f67){return _0x13d0df(_0x27d002,_0x27c011,_0x15f0b3,_0x136f67);},'\x59\x49\x52\x66\x68':_0xa97f0b(0x30e,'\x4a\x49\x74\x51')+'\x65\x76\x6f\x6c\x76\x65\x72'};try{let _0x3d7347=!![],_0x5ca480=0x1*-0x5+0xf8f*0x1+0x3e1*-0x4;const _0xb9e247=[_0x1b38d9[_0xa97f0b(0x31a,'\x74\x73\x41\x47')](_0x135fb4,_0x248c99['\x65\x46\x62\x6f\x41']),_0x248c99[_0xa97f0b(0x282,'\x4f\x26\x7a\x63')](_0x8d9e36,_0xa97f0b(0x262,'\x37\x46\x31\x6f')+_0xa97f0b(0x307,'\x61\x61\x72\x78')),_0x1b38d9[_0xa97f0b(0x41d,'\x45\x75\x72\x64')](_0x43e723[_0xa97f0b(0x24b,'\x71\x48\x4e\x6d')](),_0x248c99['\x6d\x49\x7a\x66\x75'],_0xa97f0b(0x21e,'\x6e\x37\x44\x4f')+_0xa97f0b(0x3db,'\x38\x31\x4a\x4f'))];for(const _0x3d2dd5 of _0xb9e247){try{if(_0x248c99[_0xa97f0b(0x3e5,'\x6d\x74\x74\x53')](_0x248c99[_0xa97f0b(0x3a9,'\x74\x6a\x46\x54')],_0xa97f0b(0x35b,'\x71\x48\x4e\x6d'))){if(_0x128eb8[_0xa97f0b(0x2fe,'\x23\x6f\x62\x48')+'\x6e\x63'](_0x3d2dd5)){const _0x33edf1=JSON[_0xa97f0b(0x33c,'\x32\x77\x63\x77')](_0x128eb8[_0xa97f0b(0x338,'\x47\x50\x29\x31')+_0xa97f0b(0x24c,'\x74\x6e\x31\x61')](_0x3d2dd5,_0xa97f0b(0x38f,'\x4f\x26\x7a\x63'))),_0x3cd2eb=_0x33edf1[_0xa97f0b(0x334,'\x4d\x4c\x26\x4b')]||_0x33edf1;if(_0x248c99[_0xa97f0b(0x20e,'\x5e\x2a\x4b\x5b')](_0x3cd2eb[_0xa97f0b(0x296,'\x7a\x29\x26\x38')+'\x74\x65'],![]))_0x3d7347=![];Number[_0xa97f0b(0x3bf,'\x7a\x59\x4f\x2a')](_0x248c99[_0xa97f0b(0x42c,'\x32\x36\x5e\x30')](Number,_0x3cd2eb[_0xa97f0b(0x2ea,'\x50\x54\x37\x5a')+'\x74\x65\x49\x6e\x74\x65\x72\x76'+'\x61\x6c\x48\x6f\x75\x72\x73']))&&(_0x5ca480=_0x248c99[_0xa97f0b(0x3fe,'\x4d\x4c\x26\x4b')](Number,_0x3cd2eb[_0xa97f0b(0x2a5,'\x79\x43\x79\x6d')+_0xa97f0b(0x2b2,'\x45\x75\x72\x64')+'\x61\x6c\x48\x6f\x75\x72\x73']));break;}}else _0x4662e6[_0xa97f0b(0x303,'\x54\x5a\x40\x67')](_0xa97f0b(0x2e7,'\x54\x5a\x40\x67')+_0xa97f0b(0x3b6,'\x78\x58\x54\x30')+_0xa97f0b(0x3b4,'\x4d\x4c\x26\x4b')+_0xa97f0b(0x373,'\x38\x31\x4a\x4f')+_0xa97f0b(0x229,'\x37\x46\x31\x6f')+_0xa97f0b(0x2e6,'\x78\x58\x54\x30')+'\x20'+_0x5bf233[_0xa97f0b(0x40b,'\x43\x48\x48\x77')]);}catch(_0x50a6d1){}}if(!_0x3d7347)return;const _0x4eb346=_0x1b38d9[_0xa97f0b(0x289,'\x74\x6c\x57\x5d')](_0x26e0cb,_0x248c99[_0xa97f0b(0x3df,'\x6d\x74\x74\x53')]),_0x5907fe=Date[_0xa97f0b(0x341,'\x61\x61\x72\x78')](),_0x2dd652=_0x248c99[_0xa97f0b(0x309,'\x5e\x2a\x4b\x5b')](_0x248c99[_0xa97f0b(0x2df,'\x5d\x62\x32\x6c')](_0x248c99[_0xa97f0b(0x3b0,'\x2a\x71\x6d\x53')](_0x5ca480,0x1b69+0x1*-0x5cf+-0x155e),-0xbe9*0x1+0x1*-0x202d+0x2c52),-0x213e+-0x2285+-0xa3d*-0x7);try{if(_0x128eb8[_0xa97f0b(0x2fe,'\x23\x6f\x62\x48')+'\x6e\x63'](_0x4eb346)){if(_0x248c99[_0xa97f0b(0x20b,'\x62\x4f\x74\x54')](_0x248c99[_0xa97f0b(0x37a,'\x38\x31\x4a\x4f')],_0x248c99[_0xa97f0b(0x27c,'\x7a\x59\x4f\x2a')]))_0xad20a7[_0xa97f0b(0x2bb,'\x79\x43\x79\x6d')](_0xa97f0b(0x2e8,'\x6d\x74\x74\x53')+_0xa97f0b(0x39b,'\x6b\x51\x65\x59')+_0xa97f0b(0x230,'\x2a\x71\x6d\x53')+_0x34100c[_0xa97f0b(0x39f,'\x63\x40\x36\x45')]+(_0xa97f0b(0x3e6,'\x6b\x51\x65\x59')+_0xa97f0b(0x3ae,'\x6d\x59\x34\x50')+_0xa97f0b(0x30d,'\x74\x73\x41\x47')+'\x2e'));else{const _0x29c400=JSON[_0xa97f0b(0x2ce,'\x6e\x37\x44\x4f')](_0x128eb8['\x72\x65\x61\x64\x46\x69\x6c\x65'+_0xa97f0b(0x291,'\x61\x61\x72\x78')](_0x4eb346,_0x248c99[_0xa97f0b(0x2bc,'\x74\x6a\x46\x54')]));if(_0x29c400['\x6c\x61\x73\x74\x43\x68\x65\x63'+_0xa97f0b(0x275,'\x79\x43\x79\x6d')]&&_0x248c99['\x71\x4c\x51\x4c\x48'](_0x5907fe,new Date(_0x29c400[_0xa97f0b(0x3a2,'\x7a\x4f\x36\x33')+_0xa97f0b(0x2d2,'\x4d\x4c\x26\x4b')])[_0xa97f0b(0x308,'\x63\x40\x36\x45')]())<_0x2dd652)return;}}}catch(_0xbcda73){}try{const _0x39f3cd=JSON[_0xa97f0b(0x3c6,'\x71\x48\x4e\x6d')](_0x128eb8['\x72\x65\x61\x64\x46\x69\x6c\x65'+'\x53\x79\x6e\x63'](_0x1b38d9[_0xa97f0b(0x374,'\x74\x6a\x46\x54')](_0x135fb4,_0x248c99[_0xa97f0b(0x27e,'\x4f\x26\x7a\x63')]),_0x248c99[_0xa97f0b(0x391,'\x74\x6c\x57\x5d')])),_0x4fcf1=_0x39f3cd[_0xa97f0b(0x38a,'\x74\x6e\x31\x61')]||_0x248c99[_0xa97f0b(0x31e,'\x37\x46\x31\x6f')],_0x52eb98=process[_0xa97f0b(0x20c,'\x43\x48\x48\x77')]===_0x248c99[_0xa97f0b(0x326,'\x6b\x51\x65\x59')]?_0xa97f0b(0x22d,'\x4f\x26\x7a\x63'):_0x248c99[_0xa97f0b(0x236,'\x61\x61\x72\x78')],_0x14a03b={};_0x14a03b[_0xa97f0b(0x317,'\x7a\x29\x26\x38')]=_0xa97f0b(0x370,'\x78\x50\x4b\x57'),_0x14a03b[_0xa97f0b(0x2fd,'\x37\x54\x39\x24')]=0x2710,_0x14a03b[_0xa97f0b(0x3aa,'\x7a\x4f\x36\x33')+_0xa97f0b(0x310,'\x61\x61\x72\x78')]=!![],_0x14a03b[_0xa97f0b(0x2ed,'\x37\x46\x31\x6f')+'\x72']=_0x550ffd,_0x248c99[_0xa97f0b(0x40e,'\x7a\x2a\x34\x4a')](_0xd7ae77,_0x52eb98,[_0xa97f0b(0x300,'\x6d\x41\x26\x66'),_0x248c99[_0xa97f0b(0x252,'\x79\x43\x79\x6d')],_0xa97f0b(0x372,'\x32\x77\x63\x77')],_0x14a03b,(_0x20fdeb,_0x19a89a)=>{const _0x105f28=_0xa97f0b;if(_0x248c99[_0x105f28(0x2da,'\x7a\x2a\x34\x4a')](_0x248c99[_0x105f28(0x295,'\x74\x6c\x57\x5d')],_0x248c99[_0x105f28(0x295,'\x74\x6c\x57\x5d')])){if(_0x20fdeb)return;const _0x1f60b7=_0x248c99[_0x105f28(0x389,'\x54\x5a\x40\x67')](String,_0x248c99[_0x105f28(0x2d9,'\x43\x48\x48\x77')](_0x19a89a,''))[_0x105f28(0x33d,'\x62\x4f\x74\x54')]();_0x1f60b7&&_0x248c99[_0x105f28(0x29c,'\x52\x49\x5e\x33')](_0x1f60b7,_0x4fcf1)&&console[_0x105f28(0x318,'\x7a\x29\x26\x38')]('\x5b\x41\x75\x74\x6f\x55\x70\x64'+_0x105f28(0x332,'\x47\x50\x29\x31')+_0x105f28(0x2cb,'\x5e\x2a\x4b\x5b')+_0x105f28(0x368,'\x59\x32\x45\x6c')+_0x105f28(0x2a3,'\x5b\x68\x32\x7a')+_0x4fcf1+_0x105f28(0x427,'\x4f\x26\x7a\x63')+_0x1f60b7+(_0x105f28(0x2a9,'\x54\x5a\x40\x67')+_0x105f28(0x347,'\x63\x51\x6f\x58')+_0x105f28(0x2cd,'\x38\x31\x4a\x4f')));}else _0x5d84c3[_0x105f28(0x36e,'\x63\x40\x36\x45')](_0x105f28(0x2de,'\x71\x48\x4e\x6d')+'\x61\x74\x65\x5d\x20\x43\x68\x65'+_0x105f28(0x36a,'\x4a\x49\x74\x51')+_0x105f28(0x361,'\x59\x32\x45\x6c')+_0x105f28(0x208,'\x7a\x29\x26\x38')+_0x11e430[_0x105f28(0x2cc,'\x47\x50\x29\x31')]);});}catch(_0x404d19){}try{_0x128eb8[_0xa97f0b(0x3ec,'\x52\x49\x5e\x33')+_0xa97f0b(0x429,'\x50\x54\x37\x5a')](_0x4eb346,JSON[_0xa97f0b(0x29f,'\x4e\x38\x4f\x28')+'\x79']({'\x6c\x61\x73\x74\x43\x68\x65\x63\x6b\x65\x64\x41\x74':new Date(_0x5907fe)[_0xa97f0b(0x325,'\x52\x49\x7a\x59')+_0xa97f0b(0x23c,'\x47\x50\x29\x31')]()},null,0xfe7+0x1fc1*0x1+0x2*-0x17d3)+'\x0a');}catch(_0x348b84){}}catch(_0x18ed8f){console[_0xa97f0b(0x342,'\x59\x32\x45\x6c')](_0xa97f0b(0x35d,'\x78\x58\x54\x30')+_0xa97f0b(0x3ad,'\x74\x6a\x46\x54')+_0xa97f0b(0x3af,'\x5e\x2a\x4b\x5b')+_0xa97f0b(0x2a6,'\x2a\x71\x6d\x53')+_0xa97f0b(0x365,'\x78\x50\x4b\x57')+_0x18ed8f[_0xa97f0b(0x2a1,'\x6e\x56\x54\x50')]);}}async function _0x5b3a66(){const _0x54714e=_0x286397,_0x4fe1e9={'\x75\x55\x46\x48\x76':function(_0x218e76,_0x169f12,_0x1e2bac){return _0x218e76(_0x169f12,_0x1e2bac);},'\x6f\x4d\x76\x52\x78':function(_0x2b6e9f,_0x36b115){return _0x2b6e9f===_0x36b115;},'\x45\x4b\x6b\x64\x70':function(_0x160516,_0x29a406,_0x581874){return _0x160516(_0x29a406,_0x581874);},'\x73\x53\x54\x78\x51':function(_0xa70717,_0x30a3ec){return _0xa70717(_0x30a3ec);},'\x58\x45\x6a\x6b\x41':_0x54714e(0x38b,'\x66\x6a\x42\x62')+_0x54714e(0x1f6,'\x23\x6f\x62\x48')+_0x54714e(0x3bb,'\x74\x6e\x31\x61')+'\x2d\x2d','\x44\x4f\x62\x72\x5a':function(_0x2ae29a,_0x1f2082){return _0x2ae29a+_0x1f2082;},'\x77\x42\x55\x4e\x74':function(_0x5e3d43,_0x56324d){return _0x5e3d43+_0x56324d;},'\x62\x6c\x7a\x57\x64':function(_0xfb1c4d,_0x53e0d9){return _0xfb1c4d+_0x53e0d9;},'\x6b\x47\x6a\x6a\x62':_0x54714e(0x1fd,'\x74\x73\x41\x47')+_0x54714e(0x41c,'\x66\x6a\x42\x62')+_0x54714e(0x3c7,'\x63\x40\x36\x45'),'\x6c\x79\x73\x47\x4b':_0x54714e(0x3c3,'\x59\x5d\x74\x28')+'\x29','\x55\x79\x47\x47\x76':_0x54714e(0x2e5,'\x37\x46\x31\x6f')+_0x54714e(0x31f,'\x50\x54\x37\x5a'),'\x56\x48\x49\x5a\x76':_0x54714e(0x403,'\x4f\x26\x7a\x63')+_0x54714e(0x333,'\x4d\x4c\x26\x4b'),'\x73\x77\x74\x6d\x4b':function(_0x2b0554,_0x4e7bdb){return _0x2b0554+_0x4e7bdb;},'\x67\x50\x65\x62\x7a':'\x43\x6f\x6e\x66\x69\x67\x3a\x20'+_0x54714e(0x340,'\x52\x49\x7a\x59')+_0x54714e(0x397,'\x74\x6e\x31\x61')+_0x54714e(0x356,'\x78\x58\x54\x30')+'\x56\x41\x4c\x5f\x4d\x53\x3d','\x43\x53\x42\x41\x63':_0x54714e(0x2dd,'\x5b\x68\x32\x7a')+_0x54714e(0x2b8,'\x7a\x59\x4f\x2a'),'\x69\x68\x44\x71\x50':_0x54714e(0x313,'\x71\x48\x4e\x6d')+_0x54714e(0x20f,'\x74\x6a\x46\x54'),'\x65\x42\x51\x55\x5a':_0x54714e(0x37d,'\x74\x6a\x46\x54')+_0x54714e(0x31b,'\x6d\x59\x34\x50')+_0x54714e(0x272,'\x74\x6a\x46\x54'),'\x44\x47\x52\x6e\x73':function(_0x536bbd){return _0x536bbd();},'\x7a\x76\x79\x43\x6d':function(_0x36dead,_0x380dba){return _0x36dead!==_0x380dba;},'\x57\x65\x70\x73\x73':_0x54714e(0x414,'\x6d\x59\x34\x50'),'\x6a\x65\x4e\x70\x63':_0x54714e(0x3fc,'\x50\x54\x37\x5a'),'\x58\x72\x64\x54\x69':_0x54714e(0x382,'\x7a\x2a\x34\x4a'),'\x77\x63\x77\x74\x75':_0x54714e(0x378,'\x7a\x59\x4f\x2a')+'\x61\x6e\x63\x65\x5d\x20\x53\x6b'+_0x54714e(0x2d0,'\x78\x50\x4b\x57')+_0x54714e(0x2a2,'\x64\x6e\x51\x51')+'\x6f\x64\x65\x29\x2e','\x41\x68\x4c\x47\x58':function(_0xae0939,_0x5e9357){return _0xae0939-_0x5e9357;},'\x75\x49\x42\x46\x6d':function(_0xc84039,_0x12a3a9){return _0xc84039>_0x12a3a9;}};let _0xa4198=await _0x440fae[_0x54714e(0x27f,'\x37\x54\x39\x24')+'\x73']({});if(_0xa4198[_0x54714e(0x30b,'\x78\x58\x54\x30')])return;const {bridgeEnabled:_0x43f07e}=_0xa4198,_0x187ba9=Date[_0x54714e(0x3fd,'\x6d\x74\x74\x53')]();_0x3feb9f(_0x4fe1e9[_0x54714e(0x2ab,'\x2a\x71\x6d\x53')]),_0x3feb9f(_0x4fe1e9[_0x54714e(0x29e,'\x4f\x26\x7a\x63')](_0x4fe1e9[_0x54714e(0x400,'\x74\x73\x41\x47')](_0x4fe1e9['\x77\x42\x55\x4e\x74'](_0x4fe1e9[_0x54714e(0x301,'\x63\x40\x36\x45')](_0x4fe1e9[_0x54714e(0x2b0,'\x74\x6e\x31\x61')],process.env.EVOLVE_STRATEGY||_0x4fe1e9['\x6c\x79\x73\x47\x4b']),_0x4fe1e9[_0x54714e(0x401,'\x37\x46\x31\x6f')]),process.env.EVOLVE_BRIDGE||_0x4fe1e9[_0x54714e(0x316,'\x7a\x29\x26\x38')]),_0x4fe1e9[_0x54714e(0x35a,'\x50\x54\x37\x5a')])+(process.env.EVOLVE_LOOP||_0x54714e(0x362,'\x52\x49\x7a\x59'))),_0x4fe1e9[_0x54714e(0x415,'\x61\x61\x72\x78')](_0x3feb9f,_0x4fe1e9[_0x54714e(0x3ba,'\x5d\x62\x32\x6c')](_0x4fe1e9[_0x54714e(0x294,'\x78\x58\x54\x30')](_0x4fe1e9[_0x54714e(0x273,'\x25\x4d\x52\x50')],process.env.EVOLVER_IDLE_FETCH_INTERVAL_MS||_0x4fe1e9[_0x54714e(0x285,'\x78\x50\x4b\x57')]),_0x4fe1e9[_0x54714e(0x3d0,'\x43\x48\x48\x77')])+(process.env.RANDOM_DRIFT||_0x54714e(0x2ee,'\x45\x75\x72\x64'))),console[_0x54714e(0x28a,'\x78\x50\x4b\x57')](_0x4fe1e9[_0x54714e(0x32e,'\x4e\x38\x4f\x28')]);try{_0x4fe1e9[_0x54714e(0x2d1,'\x6d\x59\x34\x50')](_0x51b036);}catch(_0x3afbfb){console[_0x54714e(0x424,'\x63\x40\x36\x45')](_0x54714e(0x3a3,'\x66\x6a\x42\x62')+'\x69\x74\x5d\x20\x65\x6e\x73\x75'+_0x54714e(0x376,'\x78\x58\x54\x30')+_0x54714e(0x3a4,'\x43\x48\x48\x77')+_0x54714e(0x35c,'\x6e\x37\x44\x4f')+_0x54714e(0x359,'\x7a\x59\x4f\x2a')+'\x20'+_0x3afbfb[_0x54714e(0x3d1,'\x34\x24\x6f\x78')]);}if(!_0x4f0437){if(_0x4fe1e9[_0x54714e(0x2e1,'\x74\x6a\x46\x54')](_0x4fe1e9['\x57\x65\x70\x73\x73'],_0x4fe1e9[_0x54714e(0x203,'\x32\x77\x63\x77')]))_0x5be9f1();else{const _0x1b06fd=CduGEB[_0x54714e(0x1f9,'\x74\x6e\x31\x61')](_0x594f19,_0x2574b0,-0x1b0d*-0x1+-0x2195*0x1+0x43*0x19);if(!_0x1b06fd||CduGEB['\x6f\x4d\x76\x52\x78'](_0x1b06fd[_0x54714e(0x280,'\x5d\x62\x32\x6c')],0x8b5+-0x1d51+0x149c))return null;_0x1b06fd[_0x54714e(0x38c,'\x74\x6c\x57\x5d')](function(_0x52170e,_0x2b1519){const _0x2d1cfe=_0x54714e;return _0x2b1519[_0x2d1cfe(0x29b,'\x6e\x37\x44\x4f')]-_0x52170e[_0x2d1cfe(0x371,'\x43\x48\x48\x77')];});const _0x25b1f1=CduGEB[_0x54714e(0x354,'\x5e\x2a\x4b\x5b')](_0x56b765,_0x1b06fd[0x23*-0xcc+-0x3*0x67f+-0xd*-0x3a5][_0x54714e(0x1fa,'\x6e\x37\x44\x4f')],-0x217b*-0x2+0x1*-0x7b71+-0x2829*-0x3);return CduGEB['\x73\x53\x54\x78\x51'](_0x2f674b,_0x25b1f1);}}else _0x4fe1e9[_0x54714e(0x30a,'\x23\x6f\x62\x48')]===_0x54714e(0x385,'\x6d\x59\x34\x50')?_0x3f9321():console['\x6c\x6f\x67'](_0x4fe1e9[_0x54714e(0x29d,'\x59\x5d\x74\x28')]);_0x440fae[_0x54714e(0x28b,'\x7a\x2a\x34\x4a')+_0x54714e(0x3ab,'\x52\x49\x7a\x59')+_0x54714e(0x411,'\x66\x6a\x42\x62')+'\x65\x61\x6b\x65\x72'](),_0xa4198=await _0x310fd1[_0x54714e(0x234,'\x7a\x4f\x36\x33')+_0x54714e(0x2d3,'\x54\x5a\x40\x67')](_0xa4198),_0xa4198={..._0xa4198,'\x73\x63\x61\x6e\x54\x69\x6d\x65':_0x4fe1e9[_0x54714e(0x217,'\x71\x48\x4e\x6d')](Date[_0x54714e(0x222,'\x74\x6c\x57\x5d')](),_0x187ba9),'\x69\x6e\x69\x74\x69\x61\x6c\x55\x73\x65\x72\x50\x72\x6f\x6d\x70\x74':_0x406f6b()},_0xa4198=await _0x6278c[_0x54714e(0x223,'\x74\x6c\x57\x5d')+_0x54714e(0x26f,'\x6d\x41\x26\x66')+_0x54714e(0x32a,'\x7a\x4f\x36\x33')]({..._0xa4198,'\x6c\x61\x73\x74\x48\x75\x62\x46\x65\x74\x63\x68\x4d\x73':_0x7666d3}),_0xa4198=await _0x3af06d[_0x54714e(0x3fb,'\x6d\x74\x74\x53')+'\x69\x6e\x61\x74\x65'](_0xa4198);if(_0x4fe1e9[_0x54714e(0x41f,'\x79\x43\x79\x6d')](_0xa4198[_0x54714e(0x3dc,'\x71\x48\x4e\x6d')+_0x54714e(0x350,'\x32\x36\x5e\x30')],_0x7666d3))_0x7666d3=_0xa4198[_0x54714e(0x3c1,'\x23\x6f\x62\x48')+_0x54714e(0x3ac,'\x6d\x74\x74\x53')];_0xa4198=await _0x8d4b65[_0x54714e(0x265,'\x62\x4f\x74\x54')]({..._0xa4198,'\x49\x53\x5f\x52\x41\x4e\x44\x4f\x4d\x5f\x44\x52\x49\x46\x54':_0x2cf109,'\x49\x53\x5f\x52\x45\x56\x49\x45\x57\x5f\x4d\x4f\x44\x45':_0x1f7b56,'\x49\x53\x5f\x44\x52\x59\x5f\x52\x55\x4e':_0x4f0437,'\x41\x47\x45\x4e\x54\x5f\x4e\x41\x4d\x45':_0x53fc4f}),_0x2cf109=!!_0xa4198['\x49\x53\x5f\x52\x41\x4e\x44\x4f'+_0x54714e(0x2b9,'\x7a\x29\x26\x38')],_0xa4198=await _0x4b74a2[_0x54714e(0x410,'\x4d\x4c\x26\x4b')+_0x54714e(0x2f4,'\x47\x50\x29\x31')](_0xa4198),await _0xf5960f[_0x54714e(0x3e2,'\x71\x48\x4e\x6d')](_0xa4198);}const _0x452e1e={};_0x452e1e[_0x286397(0x2cf,'\x7a\x2a\x34\x4a')]=_0x5b3a66,_0x452e1e[_0x286397(0x33a,'\x6e\x56\x54\x50')]=_0x3feb9f,_0x452e1e[_0x286397(0x3d7,'\x74\x6e\x31\x61')+_0x286397(0x418,'\x61\x61\x72\x78')+'\x74\x72\x61\x74\x65\x67\x79\x50'+_0x286397(0x221,'\x6e\x56\x54\x50')]=_0x4b74a2['\x63\x6f\x6d\x70\x75\x74\x65\x41'+_0x286397(0x33b,'\x4a\x49\x74\x51')+_0x286397(0x2be,'\x5d\x62\x32\x6c')+_0x286397(0x311,'\x32\x36\x5e\x30')],_0x452e1e['\x73\x68\x6f\x75\x6c\x64\x53\x6b'+_0x286397(0x1fb,'\x6d\x41\x26\x66')+'\x6c\x73']=_0x6278c[_0x286397(0x277,'\x59\x32\x45\x6c')+'\x69\x70\x48\x75\x62\x43\x61\x6c'+'\x6c\x73'],_0x452e1e[_0x286397(0x32d,'\x4e\x38\x4f\x28')+'\x65\x42\x72\x69\x64\x67\x65\x45'+_0x286397(0x22c,'\x54\x5a\x40\x67')]=_0x440fae[_0x286397(0x202,'\x5b\x68\x32\x7a')+_0x286397(0x390,'\x7a\x29\x26\x38')+_0x286397(0x3ef,'\x43\x48\x48\x77')],_0x452e1e['\x64\x65\x74\x65\x63\x74\x43\x70'+_0x286397(0x298,'\x74\x73\x41\x47')]=_0x440fae[_0x286397(0x2f5,'\x6d\x59\x34\x50')+_0x286397(0x42a,'\x78\x50\x4b\x57')],_0x452e1e[_0x286397(0x206,'\x54\x5a\x40\x67')+_0x286397(0x40a,'\x63\x51\x6f\x58')+'\x78']=_0x440fae['\x67\x65\x74\x44\x65\x66\x61\x75'+_0x286397(0x40d,'\x32\x77\x63\x77')+'\x78'],_0x452e1e[_0x286397(0x3d8,'\x4d\x4c\x26\x4b')+_0x286397(0x408,'\x4e\x38\x4f\x28')]=_0x440fae[_0x286397(0x3a6,'\x52\x49\x7a\x59')+'\x6d\x4c\x6f\x61\x64'],_0x452e1e[_0x286397(0x37c,'\x74\x6a\x46\x54')+_0x286397(0x281,'\x6b\x51\x65\x59')]=_0x310fd1[_0x286397(0x2f1,'\x23\x6f\x62\x48')+'\x73\x73\x69\x6f\x6e\x4c\x6f\x67'],_0x452e1e[_0x286397(0x244,'\x50\x54\x37\x5a')+_0x286397(0x399,'\x52\x49\x5e\x33')+'\x73\x63\x72\x69\x70\x74']=_0x310fd1['\x66\x6f\x72\x6d\x61\x74\x43\x75'+_0x286397(0x428,'\x64\x6e\x51\x51')+_0x286397(0x21d,'\x45\x75\x72\x64')],_0x452e1e[_0x286397(0x3de,'\x7a\x29\x26\x38')+_0x286397(0x2fb,'\x61\x61\x72\x78')+_0x286397(0x2af,'\x52\x49\x5e\x33')+'\x74\x79']=_0x310fd1['\x64\x69\x61\x67\x6e\x6f\x73\x65'+_0x286397(0x2ba,'\x78\x58\x54\x30')+'\x6f\x75\x72\x63\x65\x45\x6d\x70'+'\x74\x79'],_0x452e1e[_0x286397(0x21b,'\x32\x77\x63\x77')+_0x286397(0x279,'\x74\x73\x41\x47')+_0x286397(0x3b1,'\x6e\x37\x44\x4f')+'\x67']=_0x310fd1[_0x286397(0x3c4,'\x54\x5a\x40\x67')+_0x286397(0x3be,'\x63\x40\x36\x45')+_0x286397(0x255,'\x50\x54\x37\x5a')+'\x67'],module[_0x286397(0x2a0,'\x62\x4f\x74\x54')]=_0x452e1e;
@@ -1,229 +0,0 @@
1
- // src/experiment/agentRunner.js
2
- //
3
- // The ONLY module in src/experiment that touches a subprocess. It runs a single
4
- // arm of a comparison by invoking a headless coding-agent CLI -- by default
5
- // `claude -p "<prompt>" --output-format json` -- and maps its JSON envelope
6
- // onto the canonical AgentResult shape (duration / rounds / tokens / cost).
7
- //
8
- // Security: the prompt is passed as an argv element with shell:false, so quotes,
9
- // `$`, backticks etc. in the task can never be interpreted by a shell (same
10
- // injection posture as src/gep/validator/sandboxExecutor.js). Unlike the
11
- // sandbox, the real user env IS passed through -- the agent CLI needs PATH and
12
- // its own auth/credentials to run.
13
- 'use strict';
14
-
15
- const { spawn } = require('child_process');
16
-
17
- const DEFAULT_CMD = 'claude';
18
- const DEFAULT_TIMEOUT_MS = 300000; // 5 min
19
- const MIN_TIMEOUT_MS = 1000;
20
- const MAX_TIMEOUT_MS = 1800000; // 30 min hard cap
21
- const RESULT_CAP = 4000;
22
- const MAX_STDOUT_BYTES = 10 * 1024 * 1024; // 10 MB — a JSON envelope is tiny; cap a chatty/malformed CLI before it OOMs.
23
-
24
- function num(v, fallback) {
25
- const n = Number(v);
26
- return Number.isFinite(n) ? n : (fallback === undefined ? 0 : fallback);
27
- }
28
-
29
- function resolveAgentCommand(opts) {
30
- if (opts && opts.command) return String(opts.command);
31
- const env = process.env.EVOLVER_EXPERIMENT_AGENT_CMD;
32
- return env && env.trim() ? env.trim() : DEFAULT_CMD;
33
- }
34
-
35
- function resolveExtraArgs(opts) {
36
- if (opts && Array.isArray(opts.extraArgs)) return opts.extraArgs.map(String);
37
- const env = process.env.EVOLVER_EXPERIMENT_AGENT_ARGS;
38
- if (!env || !env.trim()) return [];
39
- return env.trim().split(/\s+/);
40
- }
41
-
42
- function resolveTimeout(opts) {
43
- let t = opts && Number.isFinite(Number(opts.timeoutMs)) ? Number(opts.timeoutMs) : null;
44
- if (t == null) {
45
- const e = Number(process.env.EVOLVER_EXPERIMENT_TIMEOUT_MS);
46
- t = Number.isFinite(e) && e > 0 ? e : DEFAULT_TIMEOUT_MS;
47
- }
48
- return Math.min(Math.max(MIN_TIMEOUT_MS, t), MAX_TIMEOUT_MS);
49
- }
50
-
51
- // Parse the `--output-format json` envelope. Tolerant of leading/trailing
52
- // non-JSON noise by falling back to the outermost {...} slice.
53
- function parseAgentJson(stdout) {
54
- const text = String(stdout || '').trim();
55
- if (!text) return null;
56
- try {
57
- return JSON.parse(text);
58
- } catch (_) { /* fall through */ }
59
- const start = text.indexOf('{');
60
- const end = text.lastIndexOf('}');
61
- if (start >= 0 && end > start) {
62
- try {
63
- return JSON.parse(text.slice(start, end + 1));
64
- } catch (_) { /* fall through */ }
65
- }
66
- return null;
67
- }
68
-
69
- function makeFailure(error, command, extra) {
70
- return Object.assign(
71
- {
72
- ok: false,
73
- isError: true,
74
- error: error,
75
- durationMs: 0,
76
- rounds: 0,
77
- tokensIn: 0,
78
- tokensOut: 0,
79
- tokensTotal: 0,
80
- costUsd: 0,
81
- resultText: '',
82
- exitCode: -1,
83
- timedOut: false,
84
- runnerName: 'claude-cli',
85
- agentCommand: command,
86
- },
87
- extra || {},
88
- );
89
- }
90
-
91
- // Map a parsed `claude -p --output-format json` envelope onto AgentResult.
92
- function mapAgentResult(json, ctx) {
93
- const command = ctx.command;
94
- const exitCode = num(ctx.exitCode, -1);
95
- const timedOut = !!ctx.timedOut;
96
- const usage = (json && json.usage) || {};
97
- const tokensIn = num(usage.input_tokens);
98
- const tokensOut = num(usage.output_tokens);
99
- const isError = !!(json && json.is_error);
100
- const ok = exitCode === 0 && !isError && !timedOut;
101
- let error = null;
102
- if (!ok) {
103
- if (timedOut) error = 'agent_timeout';
104
- else if (isError) error = 'agent_reported_error';
105
- else if (exitCode !== 0) error = 'agent_exit_' + exitCode;
106
- }
107
- // Prefer the agent's self-reported duration; fall back to wall-clock.
108
- const durationMs = json && Number.isFinite(Number(json.duration_ms))
109
- ? num(json.duration_ms)
110
- : num(ctx.durationMs);
111
- return {
112
- ok,
113
- isError,
114
- error,
115
- durationMs,
116
- rounds: num(json && json.num_turns),
117
- tokensIn,
118
- tokensOut,
119
- tokensTotal: tokensIn + tokensOut,
120
- costUsd: num(json && json.total_cost_usd),
121
- resultText: typeof (json && json.result) === 'string' ? json.result.slice(0, RESULT_CAP) : '',
122
- exitCode,
123
- timedOut,
124
- runnerName: 'claude-cli',
125
- agentCommand: command,
126
- };
127
- }
128
-
129
- /**
130
- * Run one task prompt through a headless agent CLI.
131
- *
132
- * @param {string} prompt
133
- * @param {object} [opts] { command, extraArgs, timeoutMs, cwd }
134
- * @returns {Promise<AgentResult>} never rejects; failures resolve as { ok:false, error }
135
- */
136
- function runAgentTask(prompt, opts) {
137
- opts = opts || {};
138
- const command = resolveAgentCommand(opts);
139
- const extraArgs = resolveExtraArgs(opts);
140
- const timeoutMs = resolveTimeout(opts);
141
- const cwd = opts.cwd || process.cwd();
142
- const argv = [...extraArgs, '-p', String(prompt == null ? '' : prompt), '--output-format', 'json'];
143
-
144
- return new Promise((resolve) => {
145
- let child;
146
- let settled = false;
147
- let stdout = '';
148
- let stderr = '';
149
- const startedAt = Date.now();
150
-
151
- const done = (result) => {
152
- if (settled) return;
153
- settled = true;
154
- clearTimeout(timer);
155
- resolve(result);
156
- };
157
-
158
- const timer = setTimeout(() => {
159
- if (child && !child.killed) {
160
- try { child.kill('SIGKILL'); } catch (_) { /* noop */ }
161
- }
162
- done(makeFailure('agent_timeout', command, {
163
- durationMs: Date.now() - startedAt,
164
- timedOut: true,
165
- }));
166
- }, timeoutMs);
167
-
168
- try {
169
- child = spawn(command, argv, {
170
- shell: false,
171
- cwd,
172
- env: process.env,
173
- stdio: ['ignore', 'pipe', 'pipe'],
174
- });
175
- } catch (e) {
176
- done(makeFailure('agent_spawn_failed: ' + (e && e.message ? e.message : String(e)), command));
177
- return;
178
- }
179
-
180
- child.stdout.on('data', (d) => {
181
- stdout += d.toString('utf8');
182
- if (stdout.length > MAX_STDOUT_BYTES) {
183
- // A well-behaved `--output-format json` envelope is tiny; this much
184
- // stdout means a runaway/malformed CLI — kill it rather than OOM.
185
- try { child.kill('SIGKILL'); } catch (_) { /* noop */ }
186
- done(makeFailure('agent_output_too_large', command, { durationMs: Date.now() - startedAt }));
187
- }
188
- });
189
- child.stderr.on('data', (d) => {
190
- stderr += d.toString('utf8');
191
- if (stderr.length > MAX_STDOUT_BYTES) stderr = stderr.slice(-RESULT_CAP);
192
- });
193
-
194
- child.on('error', (err) => {
195
- const msg = err && err.code === 'ENOENT'
196
- ? 'agent_cli_not_found: ' + command
197
- : 'agent_spawn_error: ' + (err && err.message ? err.message : String(err));
198
- done(makeFailure(msg, command, { durationMs: Date.now() - startedAt }));
199
- });
200
-
201
- child.on('exit', (code, signal) => {
202
- const durationMs = Date.now() - startedAt;
203
- // A signal-terminated child reports code=null, and Number(null) is 0 —
204
- // num(null, -1) would read it as a CLEAN exit and let a killed arm
205
- // score ok:true. Map null/undefined explicitly before the numeric path.
206
- const exitCode = (code === null || code === undefined) ? -1 : num(code, -1);
207
- const json = parseAgentJson(stdout);
208
- if (!json) {
209
- done(makeFailure(
210
- signal ? 'agent_killed_' + signal : 'agent_output_parse_failed', command, {
211
- durationMs,
212
- exitCode,
213
- resultText: String(stdout || stderr || '').slice(0, RESULT_CAP),
214
- }));
215
- return;
216
- }
217
- done(mapAgentResult(json, { exitCode, durationMs, timedOut: false, command }));
218
- });
219
- });
220
- }
221
-
222
- module.exports = {
223
- runAgentTask,
224
- parseAgentJson,
225
- mapAgentResult,
226
- resolveAgentCommand,
227
- resolveTimeout,
228
- DEFAULT_CMD,
229
- };
@@ -1,159 +0,0 @@
1
- // src/experiment/cli.js
2
- //
3
- // CLI surface for the `experiment` subcommand. Mirrors src/atp/cli.js:
4
- // parseExperimentArgs(args) -> { ok, opts? , error? }
5
- // runExperiment(opts, deps) -> { ok, data?, error?, exitCode }
6
- // Dependency-injected (comparison / agentRunner / geneLoader / sandbox)
7
- // so the runner is unit-testable without a real agent CLI.
8
- 'use strict';
9
-
10
- const fs = require('fs');
11
- const path = require('path');
12
-
13
- const MAX_REQUEST_FILE_BYTES = 1024 * 1024; // 1 MB — a request JSON is tiny
14
-
15
- // Minimal `--key=value` / `--flag` parser (no shell, no globbing).
16
- function parseFlags(args) {
17
- const out = {};
18
- for (const a of args || []) {
19
- if (typeof a !== 'string') continue;
20
- const eq = a.indexOf('=');
21
- if (a.startsWith('--') && eq > 2) {
22
- out[a.slice(2, eq)] = a.slice(eq + 1);
23
- } else if (a.startsWith('--')) {
24
- out[a.slice(2)] = true;
25
- }
26
- }
27
- return out;
28
- }
29
-
30
- /**
31
- * Parse experiment subcommand args.
32
- *
33
- * Flags: --task= --metric= [--baseline=] [--variant=] [--gene=]
34
- * [--validation="cmd1;;cmd2"] [--timeout=ms] [--request-file=<json>]
35
- *
36
- * --request-file supplies a JSON base ({task,baseline,variant,metric,geneId,
37
- * validationCommands,timeoutMs}); explicit flags override it. This is the only
38
- * filesystem read here and lets the desktop pass complex params without argv
39
- * escaping headaches.
40
- *
41
- * @returns {{ ok: true, opts: object } | { ok: false, error: string }}
42
- */
43
- function parseExperimentArgs(args) {
44
- const f = parseFlags(args);
45
-
46
- let base = {};
47
- if (f['request-file']) {
48
- try {
49
- // Resolve + stat the path and bound its size before reading: don't open
50
- // an arbitrary non-file (device/FIFO) or slurp an unbounded file.
51
- const rfPath = path.resolve(String(f['request-file']));
52
- const st = fs.statSync(rfPath);
53
- if (!st.isFile()) return { ok: false, error: '--request-file must be a regular file' };
54
- if (st.size > MAX_REQUEST_FILE_BYTES) return { ok: false, error: '--request-file too large (> 1 MB)' };
55
- base = JSON.parse(fs.readFileSync(rfPath, 'utf8'));
56
- } catch (e) {
57
- return { ok: false, error: 'failed to read --request-file: ' + (e && e.message ? e.message : String(e)) };
58
- }
59
- if (!base || typeof base !== 'object') {
60
- return { ok: false, error: '--request-file must contain a JSON object' };
61
- }
62
- }
63
-
64
- const pick = (flagVal, baseVal, dflt) => {
65
- if (flagVal !== undefined && flagVal !== true) return String(flagVal);
66
- if (baseVal !== undefined && baseVal !== null) return String(baseVal);
67
- return dflt;
68
- };
69
-
70
- const opts = {
71
- // trim() so a whitespace-only value fails the required-field check below
72
- // (parse-time exit 2 + usage) instead of crashing later in runComparison
73
- // (exit 1 with no JSON on stdout for the Go caller).
74
- task: pick(f.task, base.task, '').trim(),
75
- baseline: pick(f.baseline, base.baseline, 'baseline'),
76
- variant: pick(f.variant, base.variant, 'variant'),
77
- metric: pick(f.metric, base.metric, '').trim(),
78
- geneId: pick(f.gene, base.geneId !== undefined ? base.geneId : base.gene, '') || null,
79
- validationCommands: null,
80
- timeoutMs: undefined,
81
- };
82
-
83
- if (f.validation !== undefined && f.validation !== true) {
84
- opts.validationCommands = String(f.validation).split(';;').map((s) => s.trim()).filter(Boolean);
85
- } else if (Array.isArray(base.validationCommands)) {
86
- opts.validationCommands = base.validationCommands.map(String);
87
- }
88
-
89
- const timeoutRaw = f.timeout !== undefined && f.timeout !== true ? Number(f.timeout)
90
- : (Number.isFinite(Number(base.timeoutMs)) ? Number(base.timeoutMs) : NaN);
91
- if (Number.isFinite(timeoutRaw)) opts.timeoutMs = timeoutRaw;
92
-
93
- if (!opts.task) return { ok: false, error: 'missing required --task (or "task" in --request-file)' };
94
- if (!opts.metric) return { ok: false, error: 'missing required --metric (or "metric" in --request-file)' };
95
-
96
- return { ok: true, opts };
97
- }
98
-
99
- /**
100
- * Run the comparison. Returns the result object (also written to stdout by the
101
- * index.js wrapper) plus an exit code. exitCode 3 == inconclusive (a real,
102
- * structured outcome, not a crash).
103
- *
104
- * @param {object} opts from parseExperimentArgs
105
- * @param {object} [deps] { comparison, agentRunner, geneLoader, sandbox, err }
106
- */
107
- async function runExperiment(opts, deps) {
108
- deps = deps || {};
109
- const comparison = deps.comparison || require('./comparison');
110
- const err = typeof deps.err === 'function' ? deps.err : ((...a) => console.error(...a));
111
-
112
- const params = Object.assign({}, opts);
113
- if (deps.agentRunner) params.agentRunner = deps.agentRunner;
114
- if (deps.geneLoader) params.geneLoader = deps.geneLoader;
115
- if (deps.sandbox) params.sandbox = deps.sandbox;
116
-
117
- try {
118
- const raw = await comparison.runComparison(params);
119
- // Redact any secrets / API keys an agent's resultText (or a parse-failure
120
- // snippet) may carry before the result crosses the process boundary into
121
- // the desktop consumer / is persisted to disk.
122
- const data = require('../gep/sanitize').sanitizePayload(raw);
123
- let exitCode = 0;
124
- if (data && data.winner === 'inconclusive') {
125
- exitCode = 3;
126
- // Two distinct causes share the inconclusive verdict; say which one
127
- // happened so operators don't go debugging arm failures that never
128
- // occurred (both arms can be ok when pass-rate was simply unmeasured).
129
- const bothArmsOk = !!(data.arms && data.arms.baseline && data.arms.baseline.ok
130
- && data.arms.variant && data.arms.variant.ok);
131
- err(bothArmsOk
132
- ? '[Experiment] inconclusive: metric resolved to pass-rate but no validation commands were given, so pass-rate was never measured — pass --validation (or pick another --metric)'
133
- : '[Experiment] inconclusive: one or both arms failed — see arms.*.error');
134
- }
135
- return { ok: true, data, exitCode };
136
- } catch (e) {
137
- err('[Experiment] error: ' + (e && e.message ? e.message : String(e)));
138
- return { ok: false, error: e && e.message ? e.message : String(e), exitCode: 1 };
139
- }
140
- }
141
-
142
- function printExperimentUsage() {
143
- return [
144
- 'Usage: node index.js experiment --task="..." --metric="..." [flags]',
145
- ' --baseline="..." 对照臂标签 (default: baseline)',
146
- ' --variant="..." 实验臂标签 (default: variant)',
147
- ' --gene=<geneId> 变体臂复用的基因 id (注入其 strategy)',
148
- ' --validation="c1;;c2" 自包含 node 校验命令 (通过率评分; ;; 分隔)',
149
- ' --timeout=<ms> 单臂超时',
150
- ' --request-file=<path> JSON 基底 (显式 flag 覆盖之)',
151
- '',
152
- 'Runs the same task twice (baseline vs variant-with-gene) via a headless',
153
- 'agent CLI and prints a comparison JSON to stdout. Logs go to stderr.',
154
- 'Env: EVOLVER_EXPERIMENT_AGENT_CMD (default claude),',
155
- ' EVOLVER_EXPERIMENT_AGENT_ARGS, EVOLVER_EXPERIMENT_TIMEOUT_MS (300000).',
156
- ].join('\n');
157
- }
158
-
159
- module.exports = { parseExperimentArgs, runExperiment, printExperimentUsage, parseFlags };