@evomap/evolver 1.89.10 → 1.89.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (112) hide show
  1. package/.cursor/BUGBOT.md +182 -0
  2. package/.env.example +68 -0
  3. package/.git-commit-guard-token +1 -0
  4. package/.github/CODEOWNERS +63 -0
  5. package/.github/ISSUE_TEMPLATE/good_first_issue.md +23 -0
  6. package/.github/pull_request_template.md +45 -0
  7. package/.github/workflows/test.yml +75 -0
  8. package/CHANGELOG.md +1367 -0
  9. package/README.ja-JP.md +1 -1
  10. package/README.ko-KR.md +1 -1
  11. package/README.md +90 -536
  12. package/README.public.md +578 -0
  13. package/README.zh-CN.md +1 -1
  14. package/SECURITY.md +108 -0
  15. package/assets/gep/events.jsonl +3 -0
  16. package/examples/atp-consumer-quickstart.md +100 -0
  17. package/examples/hello-world.md +38 -0
  18. package/index.js +5 -3
  19. package/package.json +6 -18
  20. package/proxy-package.json +39 -0
  21. package/public.manifest.json +145 -0
  22. package/src/adapters/scripts/evolver-session-end.js +18 -37
  23. package/src/atp/atpExecute.js +27 -71
  24. package/src/atp/serviceHelper.js +28 -36
  25. package/src/config.js +17 -0
  26. package/src/evolve/guards.js +721 -1
  27. package/src/evolve/pipeline/collect.js +1283 -1
  28. package/src/evolve/pipeline/dispatch.js +421 -1
  29. package/src/evolve/pipeline/enrich.js +440 -1
  30. package/src/evolve/pipeline/hub.js +319 -1
  31. package/src/evolve/pipeline/select.js +274 -1
  32. package/src/evolve/pipeline/signals.js +206 -1
  33. package/src/evolve/utils.js +264 -1
  34. package/src/evolve.js +350 -1
  35. package/src/gep/a2aProtocol.js +4463 -1
  36. package/src/gep/antiAbuseTelemetry.js +233 -1
  37. package/src/gep/autoDistillConv.js +205 -1
  38. package/src/gep/autoDistillLlm.js +315 -1
  39. package/src/gep/candidateEval.js +92 -1
  40. package/src/gep/candidates.js +198 -1
  41. package/src/gep/contentHash.js +30 -1
  42. package/src/gep/conversationDistiller.js +270 -0
  43. package/src/gep/conversationSniffer.js +266 -1
  44. package/src/gep/crypto.js +89 -1
  45. package/src/gep/curriculum.js +163 -1
  46. package/src/gep/deviceId.js +218 -1
  47. package/src/gep/envFingerprint.js +118 -1
  48. package/src/gep/epigenetics.js +31 -1
  49. package/src/gep/execBridge.js +712 -1
  50. package/src/gep/explore.js +289 -1
  51. package/src/gep/hash.js +15 -1
  52. package/src/gep/hubFetch.js +608 -1
  53. package/src/gep/hubReview.js +207 -1
  54. package/src/gep/hubSearch.js +526 -1
  55. package/src/gep/hubVerify.js +306 -1
  56. package/src/gep/learningSignals.js +89 -1
  57. package/src/gep/memoryGraph.js +1449 -1
  58. package/src/gep/memoryGraphAdapter.js +203 -1
  59. package/src/gep/mutation.js +203 -1
  60. package/src/gep/narrativeMemory.js +108 -1
  61. package/src/gep/oauthLogin.js +9 -3
  62. package/src/gep/openPRRegistry.js +205 -1
  63. package/src/gep/personality.js +423 -1
  64. package/src/gep/policyCheck.js +599 -1
  65. package/src/gep/privacyClient.js +10 -9
  66. package/src/gep/prompt.js +836 -1
  67. package/src/gep/questionGenerator.js +103 -0
  68. package/src/gep/recallInject.js +409 -1
  69. package/src/gep/recallVerifier.js +318 -1
  70. package/src/gep/reflection.js +177 -1
  71. package/src/gep/savingsCore.js +112 -1
  72. package/src/gep/selector.js +602 -1
  73. package/src/gep/signals.js +85 -17
  74. package/src/gep/skillDistiller.js +1294 -1
  75. package/src/gep/solidify.js +1699 -1
  76. package/src/gep/strategy.js +136 -1
  77. package/src/gep/tokenSavings.js +95 -1
  78. package/src/gep/workspaceKeychain.js +174 -1
  79. package/src/proxy/extensions/traceControl.js +109 -1
  80. package/src/proxy/index.js +100 -3
  81. package/src/proxy/inject.js +52 -1
  82. package/src/proxy/lifecycle/manager.js +108 -7
  83. package/src/proxy/server/routes.js +41 -7
  84. package/src/proxy/server/settings.js +6 -2
  85. package/src/proxy/sync/engine.js +31 -15
  86. package/src/proxy/sync/inbound.js +87 -9
  87. package/src/proxy/sync/outbound.js +57 -4
  88. package/src/proxy/trace/extractor.js +1403 -1
  89. package/src/proxy/trace/usage.js +105 -1
  90. package/CONTRIBUTING.md +0 -19
  91. package/assets/cover.png +0 -0
  92. package/scripts/a2a_export.js +0 -63
  93. package/scripts/a2a_ingest.js +0 -79
  94. package/scripts/a2a_promote.js +0 -118
  95. package/scripts/analyze_by_skill.js +0 -121
  96. package/scripts/build_binaries.js +0 -479
  97. package/scripts/check-changelog.js +0 -166
  98. package/scripts/extract_log.js +0 -85
  99. package/scripts/generate_history.js +0 -75
  100. package/scripts/gep_append_event.js +0 -96
  101. package/scripts/gep_personality_report.js +0 -234
  102. package/scripts/human_report.js +0 -147
  103. package/scripts/recall-verify-report.js +0 -234
  104. package/scripts/recover_loop.js +0 -61
  105. package/scripts/refresh_stars_badge.js +0 -168
  106. package/scripts/seed-merchants.js +0 -91
  107. package/scripts/suggest_version.js +0 -89
  108. package/scripts/validate-modules.js +0 -38
  109. package/scripts/validate-suite.js +0 -78
  110. package/skills/index.json +0 -14
  111. /package/assets/gep/{genes.seed.json → genes.json} +0 -0
  112. /package/{skills → bundled-skills}/_meta/SKILL.md +0 -0
@@ -1 +1,306 @@
1
- const _0x37dc32=_0x42d6;(function(_0x548ac1,_0x2b7c7d){const _0x525ff4=_0x42d6,_0x5e8864=_0x548ac1();while(!![]){try{const _0x252854=-parseInt(_0x525ff4(0x251,'\x64\x28\x63\x47'))/(0x1386+-0x1*0x236b+-0x5*-0x32e)*(parseInt(_0x525ff4(0x326,'\x68\x37\x53\x46'))/(-0xdb2+0x4a*0x1+0x22*0x65))+parseInt(_0x525ff4(0x1e0,'\x79\x52\x6a\x59'))/(-0x2492*-0x1+-0x1*-0x9c3+-0x2e52)+parseInt(_0x525ff4(0x20f,'\x44\x40\x37\x6a'))/(0x169*-0x2+0x12ab+0x243*-0x7)*(-parseInt(_0x525ff4(0x1ce,'\x73\x48\x62\x6a'))/(0x59*0x6b+-0x1488+-0x10a6))+-parseInt(_0x525ff4(0x293,'\x54\x5e\x38\x32'))/(0x1*-0xaae+0x3*0x2f3+0x1db)+-parseInt(_0x525ff4(0x28a,'\x44\x6e\x32\x50'))/(0x23+-0x20f4+0x20d8)*(-parseInt(_0x525ff4(0x193,'\x2a\x6b\x41\x73'))/(0xc66+-0xe81*-0x1+-0x3*0x8f5))+parseInt(_0x525ff4(0x319,'\x73\x48\x62\x6a'))/(0xf*0xe3+-0xd04+0x2*-0x20)*(-parseInt(_0x525ff4(0x270,'\x4f\x6a\x30\x6b'))/(0x4*-0x16+-0x1f2e+0x1f90))+parseInt(_0x525ff4(0x1ef,'\x5b\x77\x2a\x71'))/(0x94*0x6+0x176a+-0x1ad7*0x1);if(_0x252854===_0x2b7c7d)break;else _0x5e8864['push'](_0x5e8864['shift']());}catch(_0x5ce902){_0x5e8864['push'](_0x5e8864['shift']());}}}(_0x52b4,-0x4b43*-0x7+0x9c5f2*-0x1+0x8713*0x2a));const _0x56a9f6=(function(){const _0x568a70=_0x42d6,_0x179c56={};_0x179c56[_0x568a70(0x19a,'\x29\x32\x41\x5d')]=function(_0xd419cd,_0x32613c){return _0xd419cd!==_0x32613c;},_0x179c56[_0x568a70(0x306,'\x55\x55\x28\x75')]=_0x568a70(0x1fc,'\x2a\x6b\x41\x73')+'\x69\x66\x74\x5f\x64\x65\x74\x65'+'\x63\x74\x65\x64',_0x179c56['\x77\x62\x59\x73\x68']=function(_0x3493d0,_0x1e1cd1){return _0x3493d0!==_0x1e1cd1;},_0x179c56[_0x568a70(0x2f2,'\x2a\x6b\x41\x73')]=_0x568a70(0x30e,'\x5b\x37\x36\x5a'),_0x179c56[_0x568a70(0x2fd,'\x2a\x6b\x41\x73')]=_0x568a70(0x184,'\x70\x45\x62\x55');const _0x248c20=_0x179c56;let _0x546619=!![];return function(_0x48fc8c,_0x25b90c){const _0x455397=_0x568a70,_0x1d0208={'\x75\x77\x57\x6d\x45':_0x455397(0x34a,'\x68\x50\x68\x35'),'\x5a\x56\x45\x4f\x64':function(_0x4f92b3,_0x856f41){const _0x49f10b=_0x455397;return _0x248c20[_0x49f10b(0x227,'\x45\x5e\x38\x6b')](_0x4f92b3,_0x856f41);},'\x4d\x75\x68\x77\x6d':_0x455397(0x2de,'\x71\x74\x26\x34'),'\x4e\x76\x77\x6f\x61':_0x248c20[_0x455397(0x1e7,'\x74\x37\x35\x59')]};if(_0x248c20[_0x455397(0x2e0,'\x75\x70\x35\x62')](_0x248c20[_0x455397(0x25d,'\x68\x37\x53\x46')],_0x248c20[_0x455397(0x1f4,'\x26\x4a\x40\x35')])){const _0x59ce75=_0x546619?function(){const _0x159365=_0x455397,_0x2fe9d9={};_0x2fe9d9[_0x159365(0x24a,'\x2a\x6b\x41\x73')]=_0x159365(0x19c,'\x38\x66\x42\x42'),_0x2fe9d9[_0x159365(0x2e5,'\x55\x55\x28\x75')]=_0x1d0208[_0x159365(0x1bd,'\x70\x39\x4f\x5e')];const _0x32f242=_0x2fe9d9;if(_0x1d0208[_0x159365(0x1d7,'\x73\x6c\x6d\x57')](_0x1d0208[_0x159365(0x1d4,'\x5b\x37\x36\x5a')],_0x159365(0x2ba,'\x54\x5e\x38\x32'))){if(_0x25b90c){const _0x316781=_0x25b90c[_0x159365(0x27f,'\x26\x4a\x40\x35')](_0x48fc8c,arguments);return _0x25b90c=null,_0x316781;}}else return _0x13ed82['\x63\x72\x65\x61\x74\x65\x48\x6d'+'\x61\x63'](_0x32f242[_0x159365(0x2df,'\x4f\x34\x32\x26')],_0x1718f8)[_0x159365(0x33b,'\x47\x33\x77\x6f')](_0x477434)[_0x159365(0x1c0,'\x47\x33\x77\x6f')](_0x32f242['\x66\x44\x50\x4c\x71']);}:function(){};return _0x546619=![],_0x59ce75;}else{const _0x4a08dc={};return _0x4a08dc['\x6f\x6b']=![],_0x4a08dc[_0x455397(0x302,'\x23\x64\x25\x6d')]=_0x1d0208[_0x455397(0x1c4,'\x4f\x6a\x30\x6b')],_0x4a08dc[_0x455397(0x340,'\x44\x40\x37\x6a')]=!![],_0x4a08dc;}};}()),_0x3ed085=_0x56a9f6(this,function(){const _0x4445c7=_0x42d6,_0x383f22={};_0x383f22[_0x4445c7(0x2b2,'\x73\x48\x62\x6a')]=_0x4445c7(0x21c,'\x4a\x44\x4f\x34')+_0x4445c7(0x1ec,'\x54\x5e\x38\x32');const _0x5e47ee=_0x383f22;return _0x3ed085[_0x4445c7(0x1a9,'\x4a\x44\x4f\x34')]()[_0x4445c7(0x2ad,'\x44\x40\x37\x6a')](_0x5e47ee[_0x4445c7(0x2c8,'\x75\x70\x35\x62')])[_0x4445c7(0x2a9,'\x44\x40\x37\x6a')]()[_0x4445c7(0x276,'\x5b\x37\x36\x5a')+_0x4445c7(0x277,'\x79\x52\x6a\x59')](_0x3ed085)[_0x4445c7(0x223,'\x30\x28\x26\x25')](_0x5e47ee[_0x4445c7(0x308,'\x32\x7a\x64\x38')]);});_0x3ed085();const _0x8aa588=require(_0x37dc32(0x28f,'\x53\x24\x70\x66')),_0x30a660=require('\x66\x73'),_0x1b09a6=require(_0x37dc32(0x332,'\x68\x50\x68\x35')),{hubFetch:_0x141743}=require(_0x37dc32(0x1d9,'\x29\x32\x41\x5d')+'\x63\x68'),{withFileLock:_0x2cb333}=require(_0x37dc32(0x199,'\x23\x64\x25\x6d')+_0x37dc32(0x1cc,'\x75\x70\x35\x62'));function _0x52b4(){const _0x463a76=['\x72\x6d\x6b\x4a\x67\x4c\x2f\x63\x4a\x61','\x57\x51\x74\x64\x55\x53\x6b\x44\x77\x43\x6b\x76\x6e\x38\x6f\x78\x57\x51\x4f','\x63\x64\x4e\x63\x4e\x6d\x6f\x69\x57\x35\x75','\x57\x37\x43\x79\x63\x43\x6f\x38\x57\x52\x69','\x57\x4f\x38\x41\x57\x4f\x4e\x63\x49\x47','\x57\x4f\x4b\x34\x57\x52\x68\x63\x4c\x31\x57\x54\x6a\x47','\x57\x36\x38\x4d\x57\x50\x65\x53\x61\x73\x39\x4c\x6a\x61','\x57\x35\x64\x64\x4c\x67\x48\x4d\x57\x34\x6d','\x6f\x77\x68\x63\x52\x53\x6b\x79\x57\x50\x53\x79','\x6e\x43\x6b\x66\x79\x53\x6f\x7a\x7a\x47','\x67\x43\x6b\x34\x57\x4f\x66\x30\x57\x35\x62\x64','\x57\x52\x4c\x2f\x6e\x33\x54\x47','\x73\x30\x56\x63\x54\x61\x4a\x63\x56\x72\x56\x63\x4b\x62\x53','\x6b\x72\x56\x63\x4a\x6d\x6f\x38\x57\x37\x65\x50\x7a\x38\x6b\x5a','\x57\x4f\x68\x64\x47\x53\x6b\x4e\x57\x36\x5a\x63\x51\x47','\x6d\x38\x6b\x42\x57\x4f\x38\x69\x6e\x61','\x74\x53\x6b\x6a\x66\x31\x2f\x64\x56\x57','\x45\x4a\x64\x63\x4c\x4e\x58\x4b\x57\x51\x69','\x57\x35\x50\x59\x63\x4d\x78\x63\x4c\x61','\x57\x36\x78\x63\x50\x43\x6b\x6c\x57\x34\x4b\x74\x6d\x38\x6b\x75\x57\x35\x4f','\x57\x51\x74\x64\x56\x53\x6b\x4c\x57\x34\x42\x63\x4e\x47','\x63\x61\x56\x63\x4e\x43\x6f\x2f\x57\x37\x4b','\x57\x52\x42\x63\x48\x75\x35\x64\x57\x37\x6d\x43','\x57\x37\x72\x45\x69\x49\x74\x64\x55\x74\x38\x36\x63\x57','\x6b\x72\x50\x58\x63\x61\x44\x6d','\x57\x37\x39\x74\x57\x4f\x34','\x57\x50\x4b\x43\x57\x4f\x64\x63\x4c\x53\x6b\x77\x57\x4f\x34\x54','\x57\x36\x30\x32\x64\x6d\x6f\x30\x57\x50\x47','\x46\x43\x6b\x52\x57\x50\x78\x63\x55\x76\x61','\x57\x51\x46\x64\x50\x38\x6b\x67\x73\x61','\x46\x43\x6b\x39\x6a\x57\x5a\x63\x4b\x47','\x57\x37\x57\x31\x57\x52\x33\x64\x53\x48\x43\x74\x75\x75\x76\x32\x57\x4f\x47\x5a\x57\x36\x4b','\x73\x43\x6b\x37\x64\x58\x37\x63\x4c\x71','\x57\x36\x53\x38\x62\x53\x6f\x31\x57\x52\x64\x63\x51\x43\x6b\x4b\x57\x50\x43','\x57\x4f\x72\x33\x6d\x6d\x6b\x58\x57\x35\x53','\x74\x48\x68\x63\x4c\x43\x6b\x70\x57\x35\x53','\x57\x52\x39\x58\x62\x38\x6b\x7a\x57\x51\x38','\x57\x50\x2f\x63\x4b\x63\x35\x54\x57\x36\x38','\x57\x4f\x70\x63\x54\x71\x54\x45\x57\x34\x79','\x57\x37\x50\x44\x57\x50\x6c\x63\x4e\x71\x5a\x63\x4e\x6d\x6b\x69\x41\x71','\x74\x58\x70\x63\x47\x38\x6f\x37\x76\x47','\x57\x52\x78\x63\x4a\x66\x30\x63\x57\x51\x6d','\x57\x34\x46\x64\x52\x43\x6f\x78\x62\x4b\x37\x64\x49\x65\x4a\x64\x50\x71','\x57\x50\x33\x63\x50\x38\x6f\x6d\x62\x57','\x6f\x68\x70\x63\x4d\x43\x6b\x50\x57\x4f\x43','\x74\x53\x6f\x77\x57\x35\x79\x47\x63\x4c\x62\x70\x57\x37\x75\x39\x6c\x64\x56\x64\x4b\x57','\x66\x31\x75\x33\x43\x49\x4e\x63\x48\x30\x43','\x57\x50\x72\x58\x57\x34\x43\x64\x57\x52\x46\x64\x48\x65\x4c\x47','\x62\x43\x6f\x65\x57\x50\x33\x63\x4d\x38\x6f\x66','\x68\x38\x6f\x55\x77\x77\x33\x64\x52\x32\x30\x42\x6a\x74\x69\x5a\x79\x38\x6f\x62\x73\x71','\x63\x6d\x6f\x71\x57\x37\x47\x6b','\x57\x36\x38\x42\x57\x4f\x6a\x6b\x61\x38\x6b\x74\x57\x50\x33\x63\x4f\x71','\x45\x53\x6f\x52\x57\x4f\x53\x37\x78\x6d\x6b\x47','\x69\x78\x33\x63\x47\x43\x6b\x2b\x57\x4f\x75','\x62\x43\x6b\x51\x57\x4f\x7a\x53\x57\x34\x58\x45\x41\x71','\x66\x4c\x75\x51\x7a\x4a\x5a\x63\x49\x61','\x46\x49\x42\x63\x51\x6d\x6b\x4d\x57\x50\x75','\x57\x36\x72\x6a\x70\x58\x33\x64\x55\x72\x71\x38\x66\x71','\x57\x50\x69\x36\x76\x66\x4c\x36\x57\x52\x75\x49\x62\x61','\x6e\x6d\x6b\x57\x79\x6d\x6f\x71\x44\x57','\x57\x52\x4c\x48\x67\x4d\x39\x4e','\x57\x52\x57\x46\x57\x35\x33\x64\x4b\x61','\x57\x4f\x37\x63\x53\x76\x4e\x64\x4f\x43\x6f\x31','\x57\x50\x65\x4d\x76\x72\x47','\x57\x50\x57\x6a\x76\x73\x42\x64\x52\x68\x30\x59\x57\x4f\x33\x64\x54\x68\x35\x56\x57\x34\x54\x56\x57\x52\x4f','\x57\x50\x34\x67\x71\x58\x48\x5a','\x57\x52\x7a\x58\x65\x53\x6b\x58\x57\x37\x58\x39','\x61\x33\x71\x54\x43\x57','\x44\x32\x48\x4e\x57\x51\x48\x47','\x68\x53\x6f\x57\x57\x50\x64\x63\x48\x38\x6f\x70','\x78\x38\x6f\x74\x79\x47\x4e\x63\x49\x47','\x66\x53\x6f\x64\x57\x4f\x35\x55\x41\x65\x4c\x62\x63\x71','\x6d\x77\x33\x63\x53\x53\x6b\x72\x57\x4f\x34\x44\x75\x57','\x79\x43\x6f\x49\x57\x50\x39\x36\x68\x43\x6f\x5a\x66\x61','\x57\x35\x6c\x64\x48\x33\x35\x45','\x57\x52\x68\x64\x4f\x53\x6b\x43\x57\x34\x6c\x63\x51\x47','\x57\x51\x62\x39\x66\x53\x6b\x48\x57\x37\x31\x36\x42\x38\x6b\x4b','\x63\x43\x6b\x47\x57\x4f\x39\x4a\x57\x34\x35\x56\x41\x6d\x6f\x68','\x65\x38\x6b\x66\x57\x50\x66\x57','\x57\x50\x75\x36\x74\x71','\x6a\x43\x6f\x56\x57\x51\x6c\x63\x47\x38\x6f\x45\x57\x37\x56\x64\x4d\x71','\x66\x43\x6f\x6a\x57\x37\x39\x72','\x57\x34\x33\x63\x53\x38\x6b\x62\x57\x35\x65\x53','\x57\x36\x54\x70\x70\x71\x78\x64\x4c\x47','\x61\x32\x56\x63\x48\x43\x6b\x41\x57\x52\x53','\x6d\x57\x58\x5a\x62\x72\x50\x68\x41\x47\x65','\x66\x43\x6f\x48\x57\x50\x62\x57\x7a\x47','\x57\x51\x75\x75\x57\x4f\x74\x63\x53\x65\x38','\x57\x51\x7a\x33\x66\x53\x6b\x37\x57\x36\x6d','\x79\x67\x58\x57\x57\x50\x75','\x57\x35\x5a\x64\x4b\x67\x4b','\x43\x77\x66\x59\x57\x51\x31\x6b','\x57\x34\x78\x63\x51\x53\x6b\x61\x57\x35\x69\x4a','\x74\x66\x52\x63\x53\x75\x75','\x57\x51\x46\x64\x50\x38\x6b\x46\x73\x6d\x6b\x45\x6c\x53\x6f\x42\x57\x52\x34','\x57\x50\x64\x64\x52\x43\x6b\x74\x72\x43\x6b\x74','\x74\x38\x6b\x43\x57\x37\x54\x48\x6c\x78\x4e\x64\x4b\x48\x30','\x57\x50\x43\x50\x57\x52\x64\x63\x4a\x76\x6d\x54\x6b\x49\x65','\x69\x57\x2f\x63\x4d\x6d\x6f\x2f\x57\x36\x4f','\x57\x51\x68\x64\x52\x43\x6b\x66\x77\x6d\x6b\x76\x61\x53\x6f\x6b\x57\x50\x75','\x78\x66\x5a\x63\x50\x72\x6c\x63\x56\x71','\x57\x37\x5a\x63\x47\x64\x62\x31\x57\x36\x37\x64\x51\x71\x54\x59','\x57\x34\x7a\x41\x67\x57','\x57\x50\x46\x63\x53\x77\x6c\x64\x47\x53\x6f\x47','\x73\x4d\x79\x50','\x68\x38\x6b\x6d\x74\x58\x5a\x63\x50\x57','\x73\x43\x6b\x4f\x67\x67\x68\x63\x47\x57','\x57\x37\x69\x73\x57\x4f\x48\x42\x67\x6d\x6b\x67\x57\x4f\x33\x63\x48\x57','\x61\x43\x6b\x61\x57\x51\x54\x6f\x57\x37\x38','\x78\x38\x6f\x6d\x57\x34\x30\x2f\x65\x4b\x57\x58\x57\x50\x30','\x57\x52\x46\x63\x49\x65\x34\x76\x57\x4f\x62\x64\x57\x52\x33\x64\x55\x57','\x69\x53\x6b\x43\x57\x50\x72\x4a\x78\x71','\x46\x76\x4e\x63\x4f\x72\x6c\x63\x48\x61','\x6b\x67\x52\x63\x4f\x6d\x6f\x54\x57\x50\x50\x4c\x57\x50\x64\x63\x56\x47','\x57\x37\x39\x42\x57\x50\x46\x63\x4c\x57','\x75\x63\x33\x63\x4c\x43\x6f\x78\x7a\x57','\x76\x4d\x75\x55\x65\x53\x6f\x7a\x66\x47','\x57\x4f\x75\x71\x57\x50\x75','\x46\x63\x56\x63\x4f\x53\x6f\x72\x73\x4b\x6c\x64\x4c\x57','\x57\x36\x37\x63\x53\x43\x6b\x6c\x57\x35\x71\x63\x66\x53\x6b\x49\x57\x35\x65','\x57\x4f\x57\x6e\x57\x51\x64\x63\x51\x4c\x43','\x67\x43\x6f\x47\x57\x36\x72\x35\x6d\x47','\x57\x4f\x7a\x69\x57\x37\x52\x63\x50\x77\x79','\x67\x6d\x6b\x43\x57\x4f\x6a\x61\x79\x57','\x57\x51\x6c\x63\x54\x76\x30\x44\x57\x35\x50\x55\x57\x37\x7a\x63','\x57\x51\x68\x64\x51\x38\x6b\x59\x57\x36\x52\x63\x4b\x4d\x44\x4a\x57\x37\x57','\x68\x53\x6b\x63\x57\x50\x57\x38\x73\x47\x50\x32\x57\x35\x30','\x79\x4e\x44\x35\x57\x4f\x65','\x57\x36\x64\x64\x4b\x4e\x34\x56\x57\x52\x68\x63\x51\x66\x35\x65\x42\x76\x64\x63\x4e\x53\x6f\x50\x43\x71','\x57\x50\x54\x77\x6d\x67\x48\x34','\x70\x77\x4e\x63\x4f\x43\x6b\x43','\x57\x51\x42\x64\x52\x38\x6b\x4e\x57\x37\x64\x63\x50\x71','\x57\x37\x38\x2f\x63\x38\x6f\x34\x57\x50\x4a\x63\x50\x43\x6b\x79\x57\x50\x43','\x57\x36\x37\x63\x55\x6d\x6b\x39\x57\x34\x34\x69\x6b\x38\x6b\x49\x57\x34\x30','\x57\x51\x78\x64\x4e\x43\x6b\x4a\x57\x35\x33\x63\x51\x57','\x75\x74\x5a\x63\x47\x6d\x6b\x37\x57\x50\x61','\x74\x53\x6b\x4a\x69\x66\x64\x64\x4b\x47','\x57\x4f\x4f\x71\x57\x50\x4e\x63\x55\x38\x6b\x6d\x57\x50\x4b\x78\x57\x52\x61','\x57\x34\x34\x6e\x57\x50\x72\x45\x69\x61','\x75\x65\x4a\x63\x4f\x59\x6c\x63\x51\x57\x33\x63\x4a\x71\x47','\x42\x38\x6b\x66\x57\x51\x56\x63\x51\x75\x42\x64\x51\x31\x69\x70','\x57\x37\x35\x2b\x57\x51\x37\x63\x47\x58\x6d','\x57\x52\x4a\x63\x49\x49\x39\x30','\x6c\x43\x6b\x45\x57\x52\x71\x46\x6b\x61','\x42\x74\x78\x63\x4d\x68\x50\x59','\x57\x50\x2f\x64\x55\x43\x6b\x37\x57\x34\x2f\x63\x54\x71','\x57\x52\x6e\x48\x57\x34\x4e\x63\x49\x76\x61','\x57\x50\x4b\x41\x57\x4f\x37\x63\x4e\x6d\x6b\x76','\x57\x37\x6d\x74\x57\x4f\x6e\x67\x6b\x71','\x57\x4f\x57\x38\x57\x52\x46\x63\x4c\x30\x4b\x56\x6a\x57','\x76\x31\x52\x63\x56\x48\x5a\x63\x4f\x58\x53','\x57\x52\x7a\x35\x61\x43\x6b\x31','\x57\x34\x72\x71\x63\x4e\x30','\x79\x73\x52\x63\x52\x43\x6f\x72\x78\x61','\x57\x50\x46\x64\x48\x38\x6b\x76\x57\x36\x64\x63\x4d\x32\x5a\x63\x53\x64\x69','\x68\x53\x6b\x77\x57\x50\x48\x48\x57\x36\x30','\x57\x50\x58\x44\x6d\x43\x6b\x58\x57\x52\x52\x63\x4e\x53\x6f\x6f','\x57\x52\x46\x63\x4c\x5a\x72\x31\x57\x37\x61','\x66\x47\x72\x2f\x69\x64\x53','\x57\x50\x37\x63\x4c\x47\x62\x47\x57\x34\x79','\x57\x37\x4f\x52\x61\x53\x6f\x57\x57\x4f\x6c\x63\x50\x43\x6b\x61\x57\x50\x38','\x6e\x53\x6b\x72\x57\x51\x53\x50\x62\x57','\x7a\x38\x6f\x63\x57\x36\x75\x37\x69\x6d\x6f\x78\x57\x51\x4a\x64\x48\x5a\x38','\x63\x38\x6b\x65\x73\x72\x47','\x57\x4f\x30\x76\x57\x50\x52\x63\x4b\x31\x61','\x57\x52\x42\x63\x48\x64\x6a\x37','\x57\x51\x6c\x64\x55\x53\x6b\x48\x57\x37\x70\x63\x4a\x4d\x61','\x69\x53\x6b\x77\x57\x51\x6e\x41\x57\x34\x4f','\x64\x53\x6f\x69\x57\x52\x64\x63\x48\x6d\x6f\x33','\x57\x4f\x52\x63\x4b\x33\x4e\x64\x50\x53\x6f\x33\x57\x51\x65\x41\x57\x34\x47','\x61\x4c\x6c\x63\x48\x6d\x6b\x33\x57\x4f\x65','\x79\x43\x6f\x4d\x57\x50\x69','\x72\x6d\x6b\x36\x57\x51\x5a\x63\x4b\x33\x30','\x6b\x38\x6b\x6a\x74\x53\x6f\x6e\x75\x57','\x57\x51\x2f\x63\x56\x4d\x64\x64\x56\x6d\x6f\x78','\x57\x50\x44\x42\x6e\x57','\x43\x58\x6c\x63\x4f\x53\x6b\x76\x57\x4f\x57','\x41\x53\x6b\x4b\x57\x52\x64\x63\x4e\x65\x71','\x57\x4f\x47\x35\x75\x58\x76\x31','\x78\x64\x5a\x63\x4b\x67\x54\x59\x57\x51\x71\x53','\x77\x72\x78\x63\x49\x77\x4c\x63\x57\x4f\x2f\x64\x54\x38\x6b\x42','\x57\x37\x33\x64\x55\x66\x72\x38\x57\x35\x4c\x66\x75\x62\x57','\x70\x43\x6f\x73\x57\x37\x74\x64\x51\x47\x52\x63\x53\x71\x79\x66\x57\x34\x33\x63\x52\x57\x69\x51\x57\x36\x65','\x67\x43\x6b\x47\x57\x4f\x4c\x4a\x57\x34\x61','\x79\x30\x31\x4e\x57\x4f\x44\x6a','\x76\x4b\x4a\x63\x53\x72\x68\x63\x50\x47\x42\x63\x4e\x64\x69','\x57\x4f\x52\x63\x49\x32\x6c\x64\x52\x6d\x6f\x38','\x57\x37\x4c\x7a\x57\x51\x4e\x63\x4e\x61\x56\x63\x52\x43\x6b\x55\x43\x47','\x70\x77\x4b\x50\x73\x47\x65','\x57\x50\x76\x38\x57\x34\x75\x6c\x57\x52\x68\x64\x49\x66\x76\x70','\x43\x73\x74\x63\x53\x53\x6f\x76','\x61\x53\x6b\x50\x57\x50\x47','\x79\x33\x65\x61\x66\x43\x6f\x49','\x44\x65\x33\x64\x4d\x53\x6b\x4f\x57\x51\x4c\x33\x77\x6d\x6b\x6a\x57\x35\x6c\x63\x50\x43\x6b\x37\x73\x61','\x57\x51\x52\x63\x49\x30\x4b\x44\x57\x51\x39\x65\x57\x52\x74\x64\x47\x71','\x57\x37\x4b\x6b\x57\x52\x38\x39\x6d\x61','\x57\x50\x31\x6d\x6b\x53\x6b\x53\x57\x51\x2f\x63\x47\x6d\x6f\x34\x6e\x71','\x57\x4f\x66\x34\x61\x4b\x72\x75','\x45\x6d\x6f\x32\x57\x4f\x76\x39\x63\x6d\x6f\x6a\x66\x43\x6f\x6d','\x57\x52\x68\x63\x49\x49\x48\x50\x57\x37\x42\x64\x52\x72\x54\x4a','\x77\x53\x6b\x35\x67\x47','\x68\x30\x69\x32\x42\x4a\x4f','\x57\x51\x62\x75\x57\x37\x46\x63\x52\x75\x43','\x57\x52\x43\x4b\x57\x51\x5a\x63\x48\x57','\x78\x62\x4a\x63\x4c\x76\x76\x6e','\x73\x4c\x52\x63\x50\x72\x74\x63\x4f\x71\x2f\x63\x4b\x61\x53','\x6d\x68\x5a\x63\x53\x6d\x6b\x71\x57\x50\x30\x65\x72\x71','\x57\x50\x76\x7a\x6d\x33\x72\x36','\x6b\x43\x6f\x36\x57\x51\x68\x63\x4e\x6d\x6f\x67','\x44\x30\x57\x6c\x61\x38\x6f\x46','\x57\x50\x38\x38\x73\x62\x48\x58\x57\x51\x53\x4f','\x57\x52\x7a\x39\x57\x34\x43\x56\x57\x52\x69','\x57\x36\x42\x63\x50\x6d\x6b\x30\x57\x35\x38\x76\x6b\x43\x6b\x48\x57\x35\x4f','\x57\x51\x5a\x63\x4b\x76\x38\x6f\x57\x36\x79','\x57\x51\x4e\x63\x49\x65\x53','\x57\x52\x78\x64\x4f\x43\x6b\x72\x78\x47','\x6b\x6d\x6b\x50\x72\x38\x6f\x34\x45\x4d\x46\x64\x4d\x57','\x57\x4f\x33\x63\x4a\x4d\x42\x64\x50\x53\x6f\x33\x57\x51\x65\x47\x57\x34\x38','\x57\x35\x50\x71\x63\x68\x42\x63\x54\x57','\x57\x34\x4f\x64\x45\x38\x6f\x51\x57\x36\x4a\x64\x48\x6d\x6b\x42\x63\x67\x33\x63\x49\x65\x2f\x63\x50\x48\x43','\x57\x4f\x66\x36\x62\x66\x48\x46\x57\x34\x4b\x4e\x57\x37\x30','\x79\x5a\x46\x63\x53\x38\x6b\x57\x57\x4f\x4b','\x62\x6d\x6f\x47\x57\x37\x44\x61','\x57\x50\x64\x64\x48\x38\x6b\x67\x57\x35\x70\x63\x49\x71','\x77\x4c\x5a\x63\x52\x47\x33\x63\x55\x57\x43','\x61\x73\x56\x63\x49\x43\x6f\x49\x57\x35\x71','\x68\x43\x6f\x6d\x57\x4f\x39\x4e\x43\x4c\x6d','\x57\x51\x72\x57\x57\x35\x65\x71\x57\x50\x30','\x57\x51\x75\x6f\x57\x34\x74\x64\x47\x65\x4e\x64\x54\x53\x6f\x66\x74\x53\x6f\x46\x76\x43\x6f\x31\x57\x35\x4a\x63\x4e\x47','\x71\x59\x2f\x63\x4b\x43\x6f\x59\x78\x47','\x63\x6d\x6f\x71\x57\x4f\x44\x32\x79\x68\x48\x62\x6c\x47','\x57\x52\x44\x51\x62\x38\x6b\x37\x57\x37\x30','\x57\x37\x72\x62\x57\x50\x69','\x57\x37\x4b\x78\x57\x50\x6e\x72\x65\x6d\x6b\x6e\x57\x50\x65','\x65\x68\x34\x50\x75\x72\x4b','\x67\x6d\x6f\x66\x57\x4f\x6c\x63\x50\x61','\x74\x4c\x43\x41\x6d\x6d\x6f\x34','\x42\x43\x6b\x65\x61\x47\x33\x63\x48\x71','\x63\x53\x6f\x72\x57\x50\x50\x52\x42\x30\x62\x6e\x6d\x61','\x66\x5a\x64\x63\x4b\x53\x6f\x2f\x57\x36\x4b','\x41\x32\x6e\x57\x57\x4f\x62\x74\x57\x50\x52\x64\x4d\x43\x6b\x4f','\x57\x4f\x53\x37\x57\x51\x74\x63\x49\x66\x71\x4b\x6a\x48\x47','\x68\x38\x6f\x4b\x57\x51\x76\x66\x75\x71','\x45\x43\x6b\x7a\x57\x51\x64\x63\x56\x4e\x64\x64\x51\x75\x69\x55','\x75\x6d\x6f\x66\x43\x59\x5a\x63\x4e\x53\x6b\x4d\x79\x6d\x6b\x73','\x57\x36\x68\x64\x53\x62\x79\x78\x57\x34\x44\x74\x57\x36\x4c\x66','\x6c\x64\x50\x6d\x6a\x71\x43','\x57\x34\x4c\x41\x66\x31\x2f\x63\x55\x64\x48\x5a\x57\x37\x6d','\x57\x36\x37\x63\x53\x6d\x6b\x61\x57\x34\x6d\x2f','\x71\x4d\x75\x37\x6d\x53\x6f\x46\x64\x4c\x64\x64\x52\x47','\x63\x43\x6f\x6c\x57\x34\x31\x67\x67\x67\x52\x64\x54\x71\x53','\x79\x38\x6b\x75\x6c\x78\x78\x63\x53\x30\x68\x63\x4b\x57','\x57\x4f\x78\x64\x56\x6d\x6b\x6f\x46\x38\x6b\x42','\x76\x4c\x74\x63\x4d\x61\x4e\x63\x52\x71','\x64\x53\x6f\x62\x57\x37\x39\x61\x63\x77\x53','\x57\x50\x50\x74\x63\x53\x6b\x55\x57\x4f\x65','\x57\x4f\x68\x63\x52\x38\x6f\x45\x65\x61','\x66\x43\x6f\x4a\x57\x37\x4c\x63\x70\x71','\x68\x6d\x6b\x72\x74\x58\x64\x63\x52\x43\x6b\x30\x78\x53\x6f\x59','\x57\x51\x58\x67\x57\x37\x52\x63\x51\x4d\x30','\x43\x4a\x42\x63\x4b\x38\x6f\x64\x41\x47','\x57\x4f\x70\x64\x52\x38\x6b\x45\x41\x43\x6b\x75','\x41\x43\x6b\x62\x57\x50\x74\x63\x52\x68\x79','\x57\x50\x64\x64\x4e\x6d\x6b\x63\x57\x36\x2f\x63\x4a\x4d\x74\x63\x4e\x71','\x6a\x33\x70\x64\x53\x6d\x6b\x62\x62\x5a\x56\x63\x48\x6d\x6b\x59\x62\x68\x4a\x64\x4d\x53\x6b\x7a\x57\x37\x52\x64\x4c\x57','\x57\x52\x33\x64\x4a\x38\x6b\x44\x79\x53\x6b\x59','\x65\x58\x68\x63\x4b\x6d\x6f\x37\x57\x34\x30','\x57\x36\x31\x72\x57\x50\x4a\x63\x4e\x72\x4b','\x57\x4f\x34\x75\x57\x50\x4e\x63\x4b\x6d\x6b\x72','\x70\x57\x66\x34\x70\x49\x71','\x57\x37\x43\x72\x57\x4f\x48\x72','\x76\x65\x78\x63\x53\x58\x74\x63\x56\x74\x56\x63\x47\x61\x6d','\x57\x50\x44\x73\x6a\x43\x6b\x5a\x57\x52\x6c\x63\x4e\x43\x6f\x6f','\x79\x78\x44\x4b\x57\x4f\x6e\x69','\x57\x52\x74\x64\x52\x43\x6b\x61\x79\x38\x6b\x46\x66\x43\x6f\x42\x57\x4f\x38','\x57\x51\x58\x51\x76\x53\x6f\x64\x57\x50\x37\x63\x4d\x43\x6b\x39\x57\x52\x62\x44','\x57\x50\x4e\x63\x53\x30\x53\x78\x57\x37\x69','\x6c\x47\x39\x4d\x62\x48\x39\x46\x41\x47','\x69\x4b\x5a\x63\x4d\x53\x6b\x38\x57\x4f\x71','\x57\x37\x34\x32\x57\x50\x30\x58','\x57\x52\x50\x31\x66\x6d\x6b\x33','\x57\x52\x52\x64\x49\x43\x6b\x61\x72\x6d\x6b\x35','\x6d\x68\x42\x63\x4b\x63\x54\x32\x57\x4f\x7a\x2b\x69\x71','\x6c\x6d\x6f\x4a\x57\x51\x70\x63\x4e\x53\x6f\x45\x57\x37\x68\x64\x4d\x71','\x57\x51\x4e\x63\x48\x30\x30\x42\x57\x34\x4f','\x71\x43\x6b\x4b\x57\x4f\x4e\x63\x53\x75\x4b','\x57\x37\x35\x71\x57\x4f\x2f\x63\x4f\x61\x30','\x57\x36\x57\x54\x61\x43\x6b\x50','\x63\x53\x6f\x72\x57\x50\x50\x52\x42\x30\x61','\x6a\x4d\x5a\x63\x4f\x43\x6f\x6e\x57\x35\x50\x67','\x57\x50\x48\x6c\x6a\x43\x6b\x35\x57\x34\x69','\x66\x63\x56\x63\x55\x53\x6f\x39\x57\x37\x43','\x69\x48\x74\x63\x4a\x43\x6f\x31\x57\x36\x53\x5a','\x6d\x67\x5a\x63\x50\x6d\x6b\x42\x57\x51\x47','\x57\x51\x2f\x63\x47\x6d\x6f\x45\x62\x32\x71','\x72\x38\x6f\x4c\x57\x51\x58\x66\x70\x47','\x57\x51\x72\x58\x57\x4f\x47\x2b\x61\x74\x72\x66','\x57\x52\x7a\x39\x57\x37\x74\x63\x53\x4d\x34','\x57\x4f\x68\x63\x50\x68\x47\x2f\x57\x35\x4b','\x7a\x53\x6f\x4c\x57\x4f\x58\x4c\x61\x6d\x6f\x34\x66\x43\x6f\x52','\x57\x52\x78\x64\x51\x38\x6b\x74\x57\x36\x6c\x63\x4d\x67\x66\x7a\x57\x36\x4f','\x57\x50\x33\x63\x52\x43\x6f\x75\x66\x4b\x6c\x64\x4b\x75\x4a\x64\x51\x71','\x57\x36\x6a\x67\x57\x50\x6c\x63\x4c\x71\x52\x63\x51\x47','\x57\x4f\x5a\x63\x4d\x30\x65\x74\x57\x37\x61','\x78\x4a\x56\x63\x47\x32\x66\x4b','\x57\x51\x74\x64\x51\x53\x6b\x54\x78\x53\x6b\x79','\x6f\x6d\x6b\x61\x57\x52\x69\x72','\x57\x51\x42\x64\x56\x6d\x6b\x50\x57\x37\x70\x63\x4e\x4c\x76\x76\x57\x37\x69','\x6c\x43\x6f\x59\x57\x52\x4a\x63\x47\x38\x6f\x6c\x57\x36\x2f\x64\x52\x33\x65','\x76\x53\x6b\x59\x57\x36\x6d\x47\x70\x38\x6b\x4e\x57\x51\x52\x64\x48\x61','\x57\x36\x76\x4f\x67\x58\x5a\x64\x52\x71','\x68\x64\x62\x33\x6a\x38\x6f\x78\x6d\x77\x5a\x64\x55\x6d\x6b\x65','\x43\x6d\x6b\x65\x57\x37\x47\x2b\x65\x47','\x57\x4f\x6e\x53\x57\x35\x71\x46\x57\x52\x46\x64\x4b\x4c\x6e\x78','\x41\x59\x64\x63\x52\x6d\x6b\x57\x57\x4f\x4c\x6d','\x6c\x48\x64\x63\x49\x38\x6f\x5a','\x57\x50\x42\x64\x52\x53\x6b\x43\x79\x38\x6b\x72','\x57\x52\x50\x53\x62\x4b\x44\x75','\x71\x53\x6f\x4b\x79\x5a\x42\x63\x4d\x61','\x70\x53\x6b\x59\x57\x35\x6a\x4a\x63\x38\x6f\x61\x6f\x38\x6f\x35\x57\x37\x43','\x57\x52\x4a\x64\x56\x38\x6b\x41\x57\x34\x33\x63\x4f\x47','\x6e\x75\x6d\x45\x79\x61\x38','\x57\x52\x74\x64\x4c\x6d\x6b\x59\x57\x37\x46\x63\x49\x47','\x70\x6d\x6b\x76\x57\x4f\x54\x5a\x57\x36\x53','\x6d\x53\x6b\x78\x57\x52\x6d\x42\x6f\x43\x6f\x57','\x6d\x71\x66\x58\x61\x61\x66\x36\x44\x4a\x61','\x57\x52\x46\x64\x52\x43\x6b\x4e\x73\x6d\x6b\x74\x61\x38\x6f\x42\x57\x52\x69','\x57\x4f\x68\x63\x51\x78\x70\x64\x4d\x53\x6f\x44','\x57\x37\x66\x51\x6c\x49\x64\x64\x4b\x71','\x57\x52\x4a\x64\x48\x53\x6b\x32\x57\x37\x56\x63\x51\x57','\x57\x4f\x61\x38\x57\x52\x42\x63\x48\x71','\x6d\x4d\x65\x76\x71\x4a\x30','\x57\x50\x68\x64\x48\x38\x6b\x63\x57\x36\x37\x63\x4e\x71','\x75\x38\x6b\x4a\x57\x36\x43\x54','\x70\x6d\x6b\x32\x57\x51\x66\x33\x57\x35\x75','\x57\x36\x7a\x4c\x69\x65\x4e\x63\x54\x47','\x57\x51\x44\x4d\x57\x37\x69\x70\x57\x50\x65','\x57\x37\x6c\x64\x48\x66\x35\x67\x57\x35\x71','\x57\x50\x76\x54\x63\x66\x6e\x31','\x57\x37\x47\x6d\x57\x50\x6e\x71\x61\x57','\x57\x52\x35\x36\x57\x36\x30\x6c\x57\x4f\x69','\x7a\x6d\x6b\x52\x57\x36\x4f\x37\x67\x61','\x6f\x43\x6b\x5a\x57\x51\x4f\x44\x68\x57','\x57\x37\x54\x70\x69\x49\x4e\x64\x53\x47','\x64\x49\x5a\x63\x55\x38\x6f\x74\x57\x36\x30','\x70\x65\x78\x63\x54\x6d\x6b\x77\x57\x51\x79','\x44\x49\x5a\x63\x53\x38\x6b\x36\x57\x50\x38','\x57\x52\x6e\x6b\x62\x43\x6b\x49\x57\x37\x75','\x57\x52\x46\x63\x49\x4a\x6e\x55','\x6a\x33\x68\x63\x4f\x53\x6f\x31\x71\x66\x4e\x64\x4f\x53\x6f\x70','\x79\x59\x52\x63\x54\x6d\x6b\x52','\x57\x50\x78\x63\x54\x58\x35\x79\x57\x35\x53','\x62\x78\x37\x63\x53\x43\x6b\x34\x57\x51\x75','\x43\x63\x5a\x63\x4d\x4d\x62\x42','\x75\x53\x6f\x66\x57\x51\x58\x74\x72\x78\x78\x64\x56\x48\x34','\x57\x4f\x61\x7a\x57\x52\x4a\x63\x52\x32\x75','\x65\x38\x6f\x6a\x57\x37\x58\x6c\x6d\x47','\x57\x50\x37\x64\x4d\x53\x6b\x7a\x57\x36\x38','\x57\x52\x66\x55\x57\x36\x70\x63\x51\x4b\x50\x62\x76\x32\x75','\x78\x66\x42\x63\x56\x47\x37\x63\x55\x58\x56\x63\x51\x48\x71','\x7a\x32\x4c\x35\x57\x4f\x39\x72\x57\x51\x56\x64\x4d\x6d\x6b\x66','\x66\x53\x6b\x4d\x57\x4f\x4b\x53\x65\x53\x6f\x6d\x57\x51\x4e\x64\x47\x47','\x57\x37\x61\x30\x57\x52\x2f\x63\x4b\x75\x58\x2f\x43\x75\x7a\x72','\x43\x78\x76\x59\x57\x4f\x31\x6f\x57\x50\x65','\x72\x31\x44\x4d\x57\x52\x58\x33','\x6d\x38\x6b\x68\x57\x51\x72\x69\x42\x61','\x57\x36\x75\x34\x57\x50\x34\x5a\x68\x64\x6a\x74','\x57\x4f\x54\x38\x65\x4c\x6e\x54\x57\x34\x65\x48','\x6d\x38\x6b\x55\x79\x43\x6f\x6c\x72\x47','\x46\x43\x6b\x38\x65\x4d\x78\x64\x55\x57','\x76\x66\x75\x59\x42\x49\x74\x63\x4c\x4b\x43\x64','\x57\x50\x47\x4e\x78\x58\x44\x4b\x57\x51\x6d\x66\x63\x57','\x57\x50\x4e\x63\x51\x43\x6f\x56\x6b\x33\x30','\x57\x50\x33\x64\x4f\x43\x6b\x4a\x57\x36\x5a\x64\x4d\x32\x44\x76\x57\x37\x6d','\x76\x73\x5a\x63\x55\x6d\x6b\x4f\x57\x52\x75','\x57\x34\x37\x64\x4c\x4a\x70\x64\x50\x43\x6f\x37\x57\x50\x61\x34\x57\x36\x6e\x62','\x57\x4f\x57\x2f\x44\x58\x72\x42','\x71\x47\x5a\x63\x4d\x4d\x6d','\x76\x6d\x6f\x64\x41\x64\x68\x63\x4c\x43\x6b\x68\x79\x6d\x6b\x79','\x65\x38\x6f\x6b\x57\x4f\x66\x53','\x57\x51\x78\x63\x4c\x59\x39\x55\x57\x36\x46\x64\x4d\x71\x44\x53','\x57\x50\x70\x63\x56\x73\x48\x30\x57\x37\x4f','\x57\x52\x2f\x64\x4a\x6d\x6b\x6d\x78\x38\x6b\x78','\x57\x50\x74\x63\x4a\x67\x2f\x64\x50\x53\x6f\x52\x57\x50\x75\x6b\x57\x34\x61','\x57\x50\x39\x49\x66\x78\x6a\x6a','\x67\x53\x6b\x59\x78\x4a\x70\x63\x54\x61','\x43\x64\x46\x63\x54\x6d\x6f\x42\x71\x61','\x57\x51\x6a\x35\x61\x43\x6b\x38','\x57\x50\x44\x56\x57\x35\x74\x63\x4b\x78\x6d','\x57\x36\x72\x33\x61\x68\x46\x63\x49\x61','\x57\x35\x4b\x4e\x57\x50\x79\x38','\x57\x37\x70\x63\x51\x43\x6b\x71\x57\x35\x6d\x6a\x6a\x38\x6b\x55\x57\x34\x75','\x72\x38\x6b\x34\x65\x4c\x78\x64\x4d\x6d\x6f\x56\x57\x51\x7a\x78','\x57\x34\x66\x36\x66\x61','\x44\x63\x64\x63\x4f\x53\x6b\x51\x57\x4f\x4c\x67\x57\x4f\x56\x63\x50\x57','\x6a\x38\x6b\x4d\x74\x38\x6f\x55\x7a\x57','\x41\x59\x4e\x63\x4c\x78\x48\x4a\x57\x52\x6d','\x66\x6d\x6f\x73\x57\x52\x66\x75\x41\x71','\x57\x52\x75\x50\x57\x50\x56\x63\x48\x31\x34','\x7a\x68\x79\x65\x6e\x38\x6f\x70','\x57\x36\x38\x53\x57\x4f\x4f\x57\x62\x57','\x65\x53\x6f\x63\x57\x37\x48\x45\x61\x32\x33\x64\x56\x47','\x79\x73\x64\x63\x56\x53\x6f\x61','\x74\x43\x6b\x48\x62\x33\x78\x63\x48\x71','\x42\x53\x6f\x68\x42\x4a\x6c\x63\x51\x71','\x57\x51\x6e\x49\x57\x34\x56\x63\x53\x4c\x66\x68\x41\x61','\x6c\x53\x6f\x5a\x57\x50\x52\x63\x4e\x6d\x6f\x6c','\x57\x51\x42\x63\x4a\x73\x6e\x30','\x43\x59\x74\x63\x4f\x43\x6f\x6f\x46\x57','\x57\x50\x57\x57\x74\x4a\x54\x31\x57\x51\x53\x49\x67\x61','\x57\x37\x4b\x51\x57\x4f\x4f\x32\x67\x5a\x54\x46\x6f\x57','\x57\x52\x50\x39\x64\x71','\x57\x4f\x33\x63\x4f\x38\x6f\x6c\x65\x47','\x64\x6d\x6f\x72\x57\x4f\x34\x36','\x7a\x64\x6c\x63\x51\x30\x39\x2b\x57\x52\x5a\x64\x47\x43\x6b\x50','\x6d\x6d\x6b\x61\x72\x72\x52\x63\x50\x53\x6b\x32\x75\x38\x6f\x58','\x72\x61\x37\x63\x50\x67\x39\x6b\x57\x4f\x37\x64\x53\x53\x6b\x75','\x6b\x72\x39\x46\x6a\x4a\x47','\x6f\x59\x4e\x63\x53\x61','\x73\x43\x6f\x79\x72\x74\x56\x63\x49\x43\x6b\x66\x42\x43\x6b\x42','\x57\x36\x76\x42\x61\x68\x2f\x63\x4a\x61','\x6e\x62\x4a\x63\x49\x38\x6f\x30\x57\x35\x34\x55\x42\x53\x6b\x6a','\x57\x51\x50\x63\x64\x68\x35\x6a','\x57\x52\x76\x39\x6c\x53\x6b\x7a\x57\x50\x79','\x6f\x43\x6b\x69\x74\x58\x52\x63\x4d\x71','\x6f\x43\x6b\x4f\x43\x6d\x6f\x31\x71\x71','\x57\x52\x42\x63\x4d\x76\x30\x79\x57\x51\x48\x6e\x57\x52\x4a\x64\x55\x61','\x72\x6d\x6b\x56\x57\x36\x69\x69\x64\x61','\x67\x6d\x6f\x43\x57\x37\x44\x62\x68\x4e\x64\x64\x49\x62\x75','\x6e\x4e\x64\x63\x50\x43\x6b\x42','\x62\x53\x6b\x71\x74\x43\x6f\x36\x74\x57','\x57\x4f\x46\x63\x52\x43\x6f\x69','\x72\x53\x6b\x2f\x57\x51\x68\x63\x52\x68\x79','\x57\x4f\x54\x79\x6b\x53\x6b\x38\x57\x52\x34','\x67\x75\x43\x47','\x57\x51\x64\x63\x47\x64\x7a\x32\x57\x36\x70\x64\x56\x61\x53','\x68\x38\x6b\x65\x74\x57\x52\x63\x50\x47','\x6c\x43\x6f\x7a\x57\x51\x4a\x63\x4e\x53\x6f\x43','\x6f\x6d\x6f\x6b\x57\x37\x39\x71\x62\x4d\x42\x64\x56\x57','\x57\x36\x76\x75\x57\x50\x4a\x63\x47\x59\x57','\x72\x38\x6b\x4d\x61\x4c\x33\x64\x4e\x53\x6f\x76\x57\x52\x62\x78','\x57\x50\x34\x54\x75\x57\x76\x4b\x57\x52\x75\x45\x65\x57','\x68\x6d\x6b\x76\x57\x51\x54\x52\x57\x35\x30','\x57\x51\x62\x31\x57\x36\x70\x63\x51\x4c\x61','\x73\x53\x6f\x73\x44\x5a\x46\x63\x49\x43\x6b\x7a','\x57\x51\x46\x64\x4a\x6d\x6b\x45\x57\x36\x69','\x72\x47\x74\x63\x4c\x77\x44\x79\x57\x4f\x61','\x77\x6d\x6f\x34\x57\x4f\x72\x62\x57\x35\x44\x4b\x78\x38\x6f\x35','\x63\x43\x6f\x33\x57\x37\x31\x4f\x6f\x47','\x57\x52\x62\x48\x57\x35\x6d\x42\x57\x52\x71','\x66\x71\x37\x63\x4e\x38\x6f\x58\x57\x34\x4b','\x77\x38\x6b\x4c\x64\x74\x4e\x63\x4c\x74\x76\x46\x64\x47','\x79\x49\x74\x63\x54\x43\x6b\x2b','\x57\x52\x6e\x72\x57\x4f\x62\x6d\x61\x53\x6b\x66\x57\x4f\x64\x63\x48\x61','\x57\x4f\x68\x63\x4b\x53\x6f\x44\x70\x75\x79','\x62\x74\x68\x63\x52\x38\x6f\x5a\x57\x37\x71','\x57\x4f\x47\x39\x77\x30\x71\x4c\x57\x37\x61','\x57\x36\x76\x31\x70\x5a\x2f\x64\x56\x47','\x70\x43\x6b\x36\x57\x4f\x38\x46\x61\x71','\x71\x53\x6b\x58\x57\x37\x79\x4f\x66\x43\x6b\x52\x57\x52\x37\x64\x4e\x47','\x77\x38\x6b\x49\x64\x4d\x75','\x57\x50\x79\x34\x57\x52\x68\x63\x49\x31\x65\x38\x6a\x47','\x57\x36\x6a\x63\x57\x50\x64\x64\x4a\x61','\x57\x50\x35\x56\x57\x35\x65\x67\x57\x51\x5a\x64\x4a\x31\x38','\x57\x52\x58\x5a\x57\x37\x34\x41\x57\x51\x4b','\x69\x4e\x68\x63\x53\x53\x6b\x76\x57\x51\x79','\x6d\x66\x46\x63\x55\x43\x6b\x72\x57\x4f\x57','\x64\x38\x6f\x62\x57\x37\x31\x68\x67\x68\x64\x64\x53\x48\x4f','\x57\x50\x31\x34\x63\x75\x4b','\x61\x38\x6b\x6c\x57\x52\x7a\x4c\x73\x57\x58\x30\x57\x35\x6d','\x57\x36\x7a\x75\x69\x49\x70\x64\x51\x61\x4f\x61\x68\x47','\x57\x35\x30\x54\x75\x47\x4b\x37\x57\x50\x76\x57\x57\x34\x42\x64\x53\x43\x6f\x46\x57\x34\x4a\x63\x4d\x38\x6f\x38','\x43\x33\x44\x2f\x57\x50\x48\x46\x57\x52\x6c\x64\x4c\x43\x6b\x42','\x57\x51\x78\x63\x4e\x77\x65\x53\x57\x35\x47','\x71\x6d\x6b\x6b\x57\x34\x4b\x70\x70\x71'];_0x52b4=function(){return _0x463a76;};return _0x52b4();}function _0x1d1086(_0x4c905e,_0x241b41){const _0x545c98=_0x37dc32,_0x13923b={};_0x13923b[_0x545c98(0x2c5,'\x32\x7a\x64\x38')]=_0x545c98(0x215,'\x5b\x77\x2a\x71');const _0x4b0b38=_0x13923b;return _0x8aa588[_0x545c98(0x24f,'\x37\x29\x5a\x52')+'\x61\x63'](_0x545c98(0x19c,'\x38\x66\x42\x42'),_0x4c905e)[_0x545c98(0x1c7,'\x51\x41\x4b\x59')](_0x241b41)[_0x545c98(0x1f1,'\x68\x50\x68\x35')](_0x4b0b38[_0x545c98(0x1ae,'\x31\x55\x75\x64')]);}function _0x42d6(_0x47908d,_0x4bf6a0){_0x47908d=_0x47908d-(-0x81*0x2b+-0xe20+0x19*0x17e);const _0x2a820f=_0x52b4();let _0x22c386=_0x2a820f[_0x47908d];if(_0x42d6['\x68\x4b\x63\x65\x67\x75']===undefined){var _0x5b83ac=function(_0x54abb5){const _0x46a832='\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 _0x172016='',_0x48bc67='',_0x48333f=_0x172016+_0x5b83ac,_0x23b3cc=(''+function(){return-0x236d+-0x1c1*0x15+0x4842;})['\x69\x6e\x64\x65\x78\x4f\x66']('\x0a')!==-(0x47e+0x2*0x3b2+-0xbe1);for(let _0x39631e=-0x170c+0x16bf*-0x1+-0x2dcb*-0x1,_0x51eedd,_0x364f8c,_0x1ee966=0x26a1+-0x1743+-0xf5e;_0x364f8c=_0x54abb5['\x63\x68\x61\x72\x41\x74'](_0x1ee966++);~_0x364f8c&&(_0x51eedd=_0x39631e%(0xf4*-0x18+-0x19ad+-0x1*-0x3091)?_0x51eedd*(0x3f7+0x13a1+-0x1758)+_0x364f8c:_0x364f8c,_0x39631e++%(0x19e1+0x6c1*0x3+-0xa4*0x48))?_0x172016+=_0x23b3cc||_0x48333f['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x1ee966+(0xd*0x84+0xf1a+-0x15c4))-(-0x543+0x1*0x121f+-0xcd2)!==-0x10ee+0x1137+-0x49?String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](-0xdc8+-0x21ca*-0x1+-0x1303&_0x51eedd>>(-(0x1d42+-0x8aa*0x2+-0xda*0xe)*_0x39631e&-0x15a6+0x1e33+-0x887)):_0x39631e:-0x248f*0x1+-0x25*-0x2+0x26b*0xf){_0x364f8c=_0x46a832['\x69\x6e\x64\x65\x78\x4f\x66'](_0x364f8c);}for(let _0x1b8d19=-0x640*0x1+-0x7*0x149+0xf3f,_0x555f81=_0x172016['\x6c\x65\x6e\x67\x74\x68'];_0x1b8d19<_0x555f81;_0x1b8d19++){_0x48bc67+='\x25'+('\x30\x30'+_0x172016['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x1b8d19)['\x74\x6f\x53\x74\x72\x69\x6e\x67'](-0x43*0x7f+-0x167*-0x1a+-0x1*0x329))['\x73\x6c\x69\x63\x65'](-(-0x1471*-0x1+-0x17*0x1ab+-0x3*-0x5fa));}return decodeURIComponent(_0x48bc67);};const _0x251b8f=function(_0x9cd992,_0x476368){let _0x1398eb=[],_0x5c1600=0x3*-0xca3+0x23be+0x22b,_0x12f2c0,_0x590e13='';_0x9cd992=_0x5b83ac(_0x9cd992);let _0x45af47;for(_0x45af47=0x2*-0x44f+0xe63+-0x5c5;_0x45af47<-0x9e*0x2f+0x2060+-0x25e;_0x45af47++){_0x1398eb[_0x45af47]=_0x45af47;}for(_0x45af47=0x1*0x1c5e+0x853*-0x1+-0x1*0x140b;_0x45af47<0x446*0x1+0x2033+-0x2379;_0x45af47++){_0x5c1600=(_0x5c1600+_0x1398eb[_0x45af47]+_0x476368['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x45af47%_0x476368['\x6c\x65\x6e\x67\x74\x68']))%(-0x1fc6+-0x1b5b+0x3c21),_0x12f2c0=_0x1398eb[_0x45af47],_0x1398eb[_0x45af47]=_0x1398eb[_0x5c1600],_0x1398eb[_0x5c1600]=_0x12f2c0;}_0x45af47=0x1b3d*-0x1+0x537+0xb03*0x2,_0x5c1600=-0x1f21+-0x404+0x3*0xbb7;for(let _0x27b2fe=0x2*0x2ef+-0x3ad*-0x5+-0x183f;_0x27b2fe<_0x9cd992['\x6c\x65\x6e\x67\x74\x68'];_0x27b2fe++){_0x45af47=(_0x45af47+(0x2*-0xfba+-0x25cf*0x1+0x1a*0x2aa))%(-0x1be4+-0x14f+0x1e33),_0x5c1600=(_0x5c1600+_0x1398eb[_0x45af47])%(0xf6*0x26+-0x14*-0x1ed+-0x4a08),_0x12f2c0=_0x1398eb[_0x45af47],_0x1398eb[_0x45af47]=_0x1398eb[_0x5c1600],_0x1398eb[_0x5c1600]=_0x12f2c0,_0x590e13+=String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](_0x9cd992['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x27b2fe)^_0x1398eb[(_0x1398eb[_0x45af47]+_0x1398eb[_0x5c1600])%(-0x1be7+0x1f40+-0x259)]);}return _0x590e13;};_0x42d6['\x4c\x4b\x64\x4c\x59\x45']=_0x251b8f,_0x42d6['\x66\x44\x4d\x5a\x4f\x6c']={},_0x42d6['\x68\x4b\x63\x65\x67\x75']=!![];}const _0x2bd5e0=_0x2a820f[-0x1*-0x10ad+-0x242c+0x137f],_0x2c66bd=_0x47908d+_0x2bd5e0,_0x590a6c=_0x42d6['\x66\x44\x4d\x5a\x4f\x6c'][_0x2c66bd];if(!_0x590a6c){if(_0x42d6['\x63\x71\x51\x63\x52\x55']===undefined){const _0x53e803=function(_0x19d35d){this['\x51\x44\x73\x54\x62\x4b']=_0x19d35d,this['\x76\x4b\x6f\x4a\x46\x78']=[-0xf22+0x1ab1+0xae*-0x11,-0x19be+0x2132+-0x774,0x1628*-0x1+-0x1*-0x57d+0x11*0xfb],this['\x58\x68\x4d\x6f\x75\x6b']=function(){return'\x6e\x65\x77\x53\x74\x61\x74\x65';},this['\x59\x59\x67\x45\x59\x59']='\x5c\x77\x2b\x20\x2a\x5c\x28\x5c\x29\x20\x2a\x7b\x5c\x77\x2b\x20\x2a',this['\x75\x59\x4c\x69\x6c\x76']='\x5b\x27\x7c\x22\x5d\x2e\x2b\x5b\x27\x7c\x22\x5d\x3b\x3f\x20\x2a\x7d';};_0x53e803['\x70\x72\x6f\x74\x6f\x74\x79\x70\x65']['\x7a\x66\x71\x79\x76\x71']=function(){const _0xeaed52=new RegExp(this['\x59\x59\x67\x45\x59\x59']+this['\x75\x59\x4c\x69\x6c\x76']),_0x25669d=_0xeaed52['\x74\x65\x73\x74'](this['\x58\x68\x4d\x6f\x75\x6b']['\x74\x6f\x53\x74\x72\x69\x6e\x67']())?--this['\x76\x4b\x6f\x4a\x46\x78'][-0x27d*0x7+-0x2*-0xf33+-0xcfa]:--this['\x76\x4b\x6f\x4a\x46\x78'][0xf99+0xea9*-0x1+-0xf0];return this['\x6e\x42\x5a\x6e\x66\x4e'](_0x25669d);},_0x53e803['\x70\x72\x6f\x74\x6f\x74\x79\x70\x65']['\x6e\x42\x5a\x6e\x66\x4e']=function(_0x474c96){if(!Boolean(~_0x474c96))return _0x474c96;return this['\x73\x48\x59\x56\x4b\x63'](this['\x51\x44\x73\x54\x62\x4b']);},_0x53e803['\x70\x72\x6f\x74\x6f\x74\x79\x70\x65']['\x73\x48\x59\x56\x4b\x63']=function(_0x3ae422){for(let _0x4c85bd=0x23a3+0x26fe+-0x4aa1,_0xd87702=this['\x76\x4b\x6f\x4a\x46\x78']['\x6c\x65\x6e\x67\x74\x68'];_0x4c85bd<_0xd87702;_0x4c85bd++){this['\x76\x4b\x6f\x4a\x46\x78']['\x70\x75\x73\x68'](Math['\x72\x6f\x75\x6e\x64'](Math['\x72\x61\x6e\x64\x6f\x6d']())),_0xd87702=this['\x76\x4b\x6f\x4a\x46\x78']['\x6c\x65\x6e\x67\x74\x68'];}return _0x3ae422(this['\x76\x4b\x6f\x4a\x46\x78'][0x25*-0x103+-0x782+-0xb1*-0x41]);},(''+function(){return-0xea7+0x2182+0x1*-0x12db;})['\x69\x6e\x64\x65\x78\x4f\x66']('\x0a')===-(0x2373+0x1*0x12b1+-0x1*0x3623)&&new _0x53e803(_0x42d6)['\x7a\x66\x71\x79\x76\x71'](),_0x42d6['\x63\x71\x51\x63\x52\x55']=!![];}_0x22c386=_0x42d6['\x4c\x4b\x64\x4c\x59\x45'](_0x22c386,_0x4bf6a0),_0x42d6['\x66\x44\x4d\x5a\x4f\x6c'][_0x2c66bd]=_0x22c386;}else _0x22c386=_0x590a6c;return _0x22c386;}function _0x18ec42(_0x275f0d){const _0x14acb1=_0x37dc32,_0x117034={};_0x117034[_0x14acb1(0x2fe,'\x5b\x77\x2a\x71')]=_0x14acb1(0x1c5,'\x23\x74\x5d\x55'),_0x117034[_0x14acb1(0x240,'\x70\x39\x4f\x5e')]=function(_0x3f134d,_0x587008){return _0x3f134d||_0x587008;};const _0x12a06b=_0x117034;return _0x8aa588[_0x14acb1(0x249,'\x70\x39\x4f\x5e')+'\x73\x68'](_0x12a06b[_0x14acb1(0x256,'\x2a\x6b\x41\x73')])['\x75\x70\x64\x61\x74\x65'](String(_0x12a06b[_0x14acb1(0x21b,'\x2a\x6b\x41\x73')](_0x275f0d,'')))[_0x14acb1(0x291,'\x69\x35\x63\x62')](_0x14acb1(0x224,'\x42\x36\x57\x5b'))[_0x14acb1(0x266,'\x2a\x6b\x41\x73')](0x18ad+-0x1*-0x7e5+0x1*-0x2092,0x19a5*0x1+0x1228+0x1*-0x2bbd);}function _0x21c8ce({geneId:_0x43312a,signals:_0x361a5b,mutation:_0x47e83d}){const _0x2b25cd=_0x37dc32,_0x2cb2dc={'\x6e\x41\x6e\x6d\x44':function(_0x4e05f5){return _0x4e05f5();},'\x56\x74\x7a\x52\x6b':_0x2b25cd(0x1cf,'\x79\x52\x6a\x59'),'\x6e\x6d\x62\x79\x58':function(_0x452209,_0x4089ab){return _0x452209(_0x4089ab);},'\x70\x77\x75\x4f\x45':_0x2b25cd(0x220,'\x74\x37\x35\x59')+_0x2b25cd(0x207,'\x68\x50\x68\x35'),'\x55\x78\x71\x72\x64':_0x2b25cd(0x1e3,'\x64\x34\x24\x6f'),'\x68\x47\x67\x70\x57':_0x2b25cd(0x26e,'\x2a\x6b\x41\x73'),'\x4d\x48\x68\x59\x44':function(_0x37d566,_0x2c1a72){return _0x37d566(_0x2c1a72);},'\x48\x41\x67\x5a\x62':function(_0x19589e,_0x523155){return _0x19589e||_0x523155;},'\x78\x6f\x53\x68\x43':function(_0x46a9b8,_0x4e7ff1,_0x5f4a66){return _0x46a9b8(_0x4e7ff1,_0x5f4a66);},'\x61\x52\x70\x76\x7a':function(_0xb601cc,_0x30c55a){return _0xb601cc||_0x30c55a;}};let _0x96a71=null;try{if(_0x2cb2dc[_0x2b25cd(0x2ab,'\x75\x70\x35\x62')]!==_0x2cb2dc[_0x2b25cd(0x1eb,'\x41\x42\x2a\x70')]){var _0x3e4917=_0xf670ad[_0x2b25cd(0x2b6,'\x70\x39\x4f\x5e')](_0x2cb2dc[_0x2b25cd(0x1b2,'\x37\x29\x5a\x52')](_0x1dc7c6));const _0x2b5426={};_0x2b5426['\x72\x65\x63\x75\x72\x73\x69\x76'+'\x65']=!![];if(!_0x845289[_0x2b25cd(0x18d,'\x38\x66\x42\x42')+'\x6e\x63'](_0x3e4917))_0x11cf70['\x6d\x6b\x64\x69\x72\x53\x79\x6e'+'\x63'](_0x3e4917,_0x2b5426);}else _0x96a71=_0x2cb2dc[_0x2b25cd(0x274,'\x41\x42\x2a\x70')](require,_0x2cb2dc[_0x2b25cd(0x32f,'\x41\x42\x2a\x70')])[_0x2b25cd(0x238,'\x42\x36\x57\x5b')+_0x2b25cd(0x2f5,'\x75\x70\x35\x62')]();}catch(_0xca7d5a){}if(!_0x96a71)return null;let _0x4ba7fa=null;try{_0x4ba7fa=_0x2cb2dc[_0x2b25cd(0x2a7,'\x4c\x36\x43\x28')](require,_0x2cb2dc['\x70\x77\x75\x4f\x45'])[_0x2b25cd(0x2c1,'\x75\x70\x35\x62')+'\x64']();}catch(_0x2178bd){}if(!_0x4ba7fa)return null;const _0x3dd1b6=_0x8aa588[_0x2b25cd(0x322,'\x38\x66\x42\x42')+'\x73\x68'](_0x2cb2dc[_0x2b25cd(0x21e,'\x4a\x44\x4f\x34')])[_0x2b25cd(0x31a,'\x28\x78\x38\x72')](_0x96a71)[_0x2b25cd(0x1c0,'\x47\x33\x77\x6f')](_0x2cb2dc[_0x2b25cd(0x2b0,'\x44\x40\x37\x6a')]),_0xf8c603=Date['\x6e\x6f\x77'](),_0x212ac=_0x2cb2dc[_0x2b25cd(0x243,'\x23\x64\x25\x6d')](_0x18ec42,JSON[_0x2b25cd(0x329,'\x42\x36\x76\x28')+'\x79'](Array[_0x2b25cd(0x2aa,'\x6d\x78\x7a\x4b')](_0x361a5b)?_0x361a5b[_0x2b25cd(0x23f,'\x47\x33\x77\x6f')](-0x38*-0x76+0x53*0xb+-0x9cb*0x3,0x1c32+-0xbbd*0x1+-0x106d):[])),_0x426d11=_0x2cb2dc['\x4d\x48\x68\x59\x44'](_0x18ec42,JSON[_0x2b25cd(0x210,'\x45\x5e\x38\x6b')+'\x79'](_0x2cb2dc['\x48\x41\x67\x5a\x62'](_0x47e83d,{}))),_0x1cc1aa=[_0x4ba7fa,_0x43312a||'',_0x212ac,_0x426d11,_0x2cb2dc[_0x2b25cd(0x313,'\x44\x40\x37\x6a')](String,_0xf8c603)][_0x2b25cd(0x32a,'\x69\x35\x63\x62')]('\x7c'),_0x4d738f=_0x2cb2dc[_0x2b25cd(0x358,'\x69\x25\x4e\x68')](_0x1d1086,_0x3dd1b6,_0x1cc1aa);return{'\x6e\x6f\x64\x65\x49\x64':_0x4ba7fa,'\x6e\x6f\x64\x65\x53\x65\x63\x72\x65\x74':_0x96a71,'\x62\x6f\x64\x79':{'\x73\x65\x6e\x64\x65\x72\x5f\x69\x64':_0x4ba7fa,'\x67\x65\x6e\x65\x5f\x69\x64':_0x2cb2dc[_0x2b25cd(0x30a,'\x68\x50\x68\x35')](_0x43312a,''),'\x73\x69\x67\x6e\x61\x6c\x73\x5f\x68\x61\x73\x68':_0x212ac,'\x6d\x75\x74\x61\x74\x69\x6f\x6e\x5f\x68\x61\x73\x68':_0x426d11,'\x74\x73':_0xf8c603,'\x63\x6c\x69\x65\x6e\x74\x5f\x73\x69\x67\x6e\x61\x74\x75\x72\x65':_0x4d738f}};}function _0x35fdef({geneId:_0x7dc80d,signals:_0x224028,mutation:_0x36c7c2}){const _0x3ac5d3=_0x37dc32,_0x3eed8a={'\x73\x6d\x71\x44\x5a':function(_0x2d6147,_0x8a5a95){return _0x2d6147===_0x8a5a95;},'\x74\x42\x7a\x4b\x66':_0x3ac5d3(0x2d8,'\x73\x48\x62\x6a'),'\x65\x73\x47\x72\x65':_0x3ac5d3(0x2ac,'\x53\x24\x70\x66'),'\x4d\x7a\x49\x70\x6c':function(_0x2367e3,_0xf49680){return _0x2367e3(_0xf49680);},'\x46\x42\x61\x74\x48':function(_0x1cb2a6,_0x278d9a){return _0x1cb2a6(_0x278d9a);},'\x6c\x75\x55\x55\x44':function(_0x11db14,_0x375f50){return _0x11db14>=_0x375f50;},'\x6f\x78\x67\x51\x5a':function(_0x18841d,_0xe31a7a){return _0x18841d+_0xe31a7a;},'\x66\x79\x4b\x6c\x74':function(_0x13e887,_0x43336d){return _0x13e887+_0x43336d;},'\x52\x4c\x44\x63\x65':function(_0x14dca2){return _0x14dca2();},'\x43\x65\x67\x68\x63':_0x3ac5d3(0x34c,'\x69\x35\x63\x62'),'\x77\x6a\x4d\x62\x4b':_0x3ac5d3(0x20b,'\x4c\x36\x43\x28'),'\x45\x66\x68\x4e\x61':_0x3ac5d3(0x232,'\x70\x39\x4f\x5e'),'\x75\x77\x43\x4d\x75':function(_0x42d272,_0xd42838){return _0x42d272<_0xd42838;},'\x57\x79\x41\x64\x6b':function(_0x1ea5e4,_0xf5362){return _0x1ea5e4===_0xf5362;},'\x67\x41\x77\x61\x52':_0x3ac5d3(0x294,'\x73\x6c\x6d\x57'),'\x4d\x6e\x63\x6b\x4b':_0x3ac5d3(0x2d0,'\x32\x7a\x64\x38'),'\x63\x6b\x6d\x57\x57':function(_0x744f82,_0x37484a){return _0x744f82(_0x37484a);},'\x57\x6f\x64\x59\x51':_0x3ac5d3(0x1c8,'\x54\x5e\x38\x32'),'\x66\x4e\x75\x46\x77':_0x3ac5d3(0x1bf,'\x6b\x4d\x5e\x2a'),'\x61\x6e\x73\x65\x4c':_0x3ac5d3(0x27b,'\x4f\x34\x32\x26'),'\x74\x42\x41\x44\x64':_0x3ac5d3(0x26a,'\x54\x5e\x38\x32')+'\x72\x6c','\x4a\x53\x50\x6d\x4d':function(_0x4520a5,_0x169e71){return _0x4520a5(_0x169e71);},'\x76\x59\x4b\x6b\x78':_0x3ac5d3(0x352,'\x42\x36\x76\x28')+_0x3ac5d3(0x245,'\x53\x24\x70\x66'),'\x70\x6b\x50\x58\x51':function(_0x1a4f5f,_0x4cd201){return _0x1a4f5f+_0x4cd201;},'\x50\x67\x6a\x44\x64':_0x3ac5d3(0x311,'\x44\x40\x37\x6a')+_0x3ac5d3(0x22d,'\x4a\x44\x4f\x34')+_0x3ac5d3(0x208,'\x28\x78\x38\x72'),'\x48\x50\x69\x49\x4e':_0x3ac5d3(0x2e4,'\x31\x55\x75\x64')+_0x3ac5d3(0x1e9,'\x38\x66\x42\x42'),'\x43\x48\x59\x4f\x74':function(_0x18934b,_0x42a1d0){return _0x18934b+_0x42a1d0;},'\x43\x4c\x45\x63\x6c':function(_0x1034fd,_0x49ecec,_0x400633){return _0x1034fd(_0x49ecec,_0x400633);},'\x6a\x43\x58\x58\x70':_0x3ac5d3(0x29a,'\x26\x4a\x40\x35')},_0x3442cc=(process.env.A2A_HUB_URL||'')[_0x3ac5d3(0x187,'\x5b\x37\x36\x5a')](/\/+$/,''),_0x5dcd81={};_0x5dcd81['\x6f\x6b']=![],_0x5dcd81[_0x3ac5d3(0x278,'\x28\x30\x5a\x78')]=_0x3eed8a[_0x3ac5d3(0x1b8,'\x69\x25\x4e\x68')],_0x5dcd81[_0x3ac5d3(0x1e5,'\x2a\x6b\x41\x73')]=!![];if(!_0x3442cc)return Promise[_0x3ac5d3(0x2c4,'\x51\x41\x4b\x59')](_0x5dcd81);const _0x24072b={};_0x24072b['\x67\x65\x6e\x65\x49\x64']=_0x7dc80d,_0x24072b['\x73\x69\x67\x6e\x61\x6c\x73']=_0x224028,_0x24072b[_0x3ac5d3(0x18c,'\x6b\x4d\x5e\x2a')]=_0x36c7c2;const _0x410269=_0x3eed8a[_0x3ac5d3(0x2d1,'\x68\x50\x68\x35')](_0x21c8ce,_0x24072b),_0x123865={};_0x123865['\x6f\x6b']=![],_0x123865[_0x3ac5d3(0x302,'\x23\x64\x25\x6d')]=_0x3eed8a[_0x3ac5d3(0x18e,'\x2a\x6b\x41\x73')],_0x123865['\x6f\x66\x66\x6c\x69\x6e\x65']=!![];if(!_0x410269)return Promise[_0x3ac5d3(0x1a1,'\x45\x5e\x38\x6b')](_0x123865);const _0x5652da=_0x3eed8a[_0x3ac5d3(0x323,'\x29\x32\x41\x5d')](_0x3442cc,_0x3eed8a[_0x3ac5d3(0x2b4,'\x75\x70\x35\x62')]),_0x360d8e=_0x3eed8a[_0x3ac5d3(0x2d5,'\x29\x32\x41\x5d')](require,_0x3ac5d3(0x2a4,'\x71\x74\x26\x34')+'\x67')[_0x3ac5d3(0x318,'\x64\x28\x63\x47')+_0x3ac5d3(0x34d,'\x4f\x34\x32\x26')+_0x3ac5d3(0x264,'\x43\x7a\x32\x45')+'\x53']||-0x2*0x742+-0x165f+0x1*0x4bf3,_0x596ae9={'\x43\x6f\x6e\x74\x65\x6e\x74\x2d\x54\x79\x70\x65':_0x3eed8a[_0x3ac5d3(0x25b,'\x70\x45\x62\x55')],'\x41\x75\x74\x68\x6f\x72\x69\x7a\x61\x74\x69\x6f\x6e':_0x3eed8a['\x43\x48\x59\x4f\x74'](_0x3ac5d3(0x262,'\x47\x33\x77\x6f'),_0x410269[_0x3ac5d3(0x28b,'\x41\x42\x2a\x70')+'\x65\x74'])};return _0x3eed8a[_0x3ac5d3(0x19b,'\x4f\x6a\x30\x6b')](_0x141743,_0x5652da,{'\x6d\x65\x74\x68\x6f\x64':_0x3eed8a[_0x3ac5d3(0x1ad,'\x71\x74\x26\x34')],'\x68\x65\x61\x64\x65\x72\x73':_0x596ae9,'\x62\x6f\x64\x79':JSON[_0x3ac5d3(0x29d,'\x69\x35\x63\x62')+'\x79'](_0x410269[_0x3ac5d3(0x1b3,'\x42\x36\x57\x5b')]),'\x73\x69\x67\x6e\x61\x6c':AbortSignal[_0x3ac5d3(0x1c9,'\x42\x36\x57\x5b')](_0x360d8e)})[_0x3ac5d3(0x2c6,'\x45\x72\x68\x65')](function(_0x1df050){const _0x5e1b0a=_0x3ac5d3,_0x439947={'\x47\x46\x6b\x72\x44':function(_0x9110fc,_0x16c626){const _0x5acac4=_0x42d6;return _0x3eed8a[_0x5acac4(0x257,'\x26\x4a\x40\x35')](_0x9110fc,_0x16c626);},'\x49\x67\x53\x75\x66':_0x5e1b0a(0x2d7,'\x45\x72\x68\x65'),'\x4d\x52\x7a\x71\x42':function(_0x5f341b,_0x9e1847){return _0x3eed8a['\x6c\x75\x55\x55\x44'](_0x5f341b,_0x9e1847);},'\x55\x6c\x7a\x6b\x55':function(_0x421dce,_0x713b47){const _0x20e01f=_0x5e1b0a;return _0x3eed8a[_0x20e01f(0x22a,'\x4a\x44\x4f\x34')](_0x421dce,_0x713b47);},'\x6a\x4e\x6d\x50\x51':function(_0x1ea869,_0x400abd){const _0x373ef2=_0x5e1b0a;return _0x3eed8a[_0x373ef2(0x345,'\x26\x4a\x40\x35')](_0x1ea869,_0x400abd);},'\x7a\x78\x68\x6e\x79':_0x5e1b0a(0x1d2,'\x74\x37\x35\x59'),'\x4e\x66\x46\x4c\x57':function(_0x24296e){const _0x3e5d28=_0x5e1b0a;return _0x3eed8a[_0x3e5d28(0x280,'\x30\x28\x26\x25')](_0x24296e);},'\x4b\x64\x63\x6c\x55':function(_0x8b6775){return _0x8b6775();},'\x6e\x75\x6b\x79\x4c':_0x3eed8a[_0x5e1b0a(0x20e,'\x75\x70\x35\x62')]};if(_0x3eed8a[_0x5e1b0a(0x1f3,'\x28\x78\x38\x72')](_0x3eed8a[_0x5e1b0a(0x327,'\x38\x66\x42\x42')],_0x3eed8a[_0x5e1b0a(0x2eb,'\x75\x70\x35\x62')]))return _0x439947[_0x5e1b0a(0x342,'\x6d\x78\x7a\x4b')](_0xf6c894,_0x439947['\x49\x67\x53\x75\x66'])[_0x5e1b0a(0x348,'\x38\x66\x42\x42')+_0x5e1b0a(0x28d,'\x44\x40\x37\x6a')]();else{_0x3eed8a[_0x5e1b0a(0x1ea,'\x69\x25\x4e\x68')](_0x1df050['\x73\x74\x61\x74\x75\x73'],0x1cc9+0x94+-0x1b69)&&_0x335c7a();if(!_0x1df050['\x6f\x6b']){if(_0x3eed8a[_0x5e1b0a(0x236,'\x74\x37\x35\x59')](_0x3eed8a[_0x5e1b0a(0x305,'\x64\x28\x63\x47')],_0x5e1b0a(0x1ba,'\x41\x42\x2a\x70')))return _0x1df050[_0x5e1b0a(0x341,'\x73\x6c\x6d\x57')]()[_0x5e1b0a(0x346,'\x5b\x37\x36\x5a')](function(_0x16df30){const _0x14b83f=_0x5e1b0a,_0x1c32b3=_0x439947['\x4d\x52\x7a\x71\x42'](_0x1df050[_0x14b83f(0x1b9,'\x2a\x6b\x41\x73')],-0xada+0x3*-0x6e6+-0x43*-0x80);return{'\x6f\x6b':![],'\x65\x72\x72\x6f\x72':_0x439947[_0x14b83f(0x2b9,'\x4f\x6a\x30\x6b')](_0x439947[_0x14b83f(0x299,'\x28\x30\x5a\x78')](_0x439947[_0x14b83f(0x25c,'\x69\x25\x4e\x68')](_0x439947[_0x14b83f(0x301,'\x41\x42\x2a\x70')],_0x1df050[_0x14b83f(0x255,'\x4c\x4d\x45\x75')]),'\x3a\x20'),_0x16df30[_0x14b83f(0x185,'\x44\x6e\x32\x50')](0x1*0xe5f+-0x175*0x19+0x1*0x160e,-0x327+0x11*-0x73+0x1*0xb92)),'\x6f\x66\x66\x6c\x69\x6e\x65':_0x1c32b3};});else try{const _0x43237e=_0x50ac2e['\x64\x69\x72\x6e\x61\x6d\x65'](_0x439947[_0x5e1b0a(0x2d6,'\x64\x34\x24\x6f')](_0x1a4089)),_0x3aa887={};_0x3aa887['\x72\x65\x63\x75\x72\x73\x69\x76'+'\x65']=!![];if(!_0x2cb81d[_0x5e1b0a(0x1aa,'\x55\x55\x28\x75')+'\x6e\x63'](_0x43237e))_0x279a18[_0x5e1b0a(0x2f4,'\x51\x41\x4b\x59')+'\x63'](_0x43237e,_0x3aa887);_0x3ad369[_0x5e1b0a(0x1c6,'\x55\x55\x28\x75')+'\x65\x53\x79\x6e\x63'](_0x439947[_0x5e1b0a(0x353,'\x5b\x77\x2a\x71')](_0x5ec66e),_0x439947[_0x5e1b0a(0x2e7,'\x31\x55\x75\x64')](_0x510fec,_0x412483['\x6e\x6f\x77']()),_0x439947[_0x5e1b0a(0x310,'\x47\x33\x77\x6f')]);}catch(_0x4da6a5){}}return _0x1df050[_0x5e1b0a(0x1ee,'\x38\x66\x42\x42')]()[_0x5e1b0a(0x346,'\x5b\x37\x36\x5a')](function(_0x359bd6){const _0x343c62=_0x5e1b0a,_0x1db26b={};_0x1db26b[_0x343c62(0x1db,'\x32\x7a\x64\x38')]=_0x343c62(0x214,'\x5b\x37\x36\x5a');const _0x423775=_0x1db26b;return _0x3eed8a['\x73\x6d\x71\x44\x5a'](_0x3eed8a['\x74\x42\x7a\x4b\x66'],_0x3eed8a['\x65\x73\x47\x72\x65'])?_0x2837aa[_0x343c62(0x247,'\x5b\x77\x2a\x71')](_0x71e8bd[_0x343c62(0x186,'\x28\x30\x5a\x78')](),_0x423775[_0x343c62(0x33c,'\x69\x35\x63\x62')],_0x343c62(0x190,'\x42\x36\x76\x28')):(_0x359bd6&&_0x359bd6['\x6f\x6b']&&_0x359bd6[_0x343c62(0x29f,'\x28\x78\x38\x72')+_0x343c62(0x289,'\x5b\x77\x2a\x71')]&&_0x3eed8a[_0x343c62(0x1a4,'\x43\x61\x6d\x53')](_0x5c6bd8,_0x359bd6[_0x343c62(0x2a0,'\x45\x5e\x38\x6b')+_0x343c62(0x248,'\x73\x6c\x6d\x57')]),_0x359bd6);});}})[_0x3ac5d3(0x2bb,'\x42\x36\x57\x5b')](function(_0x3e6d03){const _0x1855c3=_0x3ac5d3;if(_0x3eed8a[_0x1855c3(0x35a,'\x31\x55\x75\x64')](_0x3eed8a[_0x1855c3(0x260,'\x70\x45\x62\x55')],_0x3eed8a['\x61\x6e\x73\x65\x4c']))return _0x5ed5f7['\x63\x72\x65\x61\x74\x65\x48\x61'+'\x73\x68'](zSPBmp[_0x1855c3(0x201,'\x4c\x36\x43\x28')])[_0x1855c3(0x2dd,'\x54\x5e\x38\x32')](zSPBmp[_0x1855c3(0x2bc,'\x51\x41\x4b\x59')](_0x134b87,_0x68a030||''))[_0x1855c3(0x2d3,'\x4f\x6a\x30\x6b')](zSPBmp[_0x1855c3(0x320,'\x6b\x4d\x5e\x2a')])[_0x1855c3(0x23e,'\x64\x28\x63\x47')](0x1111*-0x1+-0x1cc3+0x2dd4,-0x2*0x79f+-0x1*0x5ff+-0x154d*-0x1);else{const _0x28022b={};return _0x28022b['\x6f\x6b']=![],_0x28022b[_0x1855c3(0x24c,'\x5b\x37\x36\x5a')]=_0x3e6d03[_0x1855c3(0x1dd,'\x28\x30\x5a\x78')],_0x28022b[_0x1855c3(0x1a3,'\x43\x61\x6d\x53')]=!![],_0x28022b;}});}var _0x3a1726=null,_0x637685=null;function _0x5bb80f(){const _0xa06cbc=_0x37dc32,_0x316e1c={'\x68\x63\x76\x55\x4a':function(_0x5167c3){return _0x5167c3();},'\x6b\x56\x54\x68\x69':function(_0x2353b7,_0x37216d){return _0x2353b7===_0x37216d;},'\x52\x56\x5a\x46\x54':_0xa06cbc(0x222,'\x73\x6c\x6d\x57'),'\x65\x68\x64\x64\x47':'\x6c\x79\x63\x45\x75','\x69\x48\x58\x77\x6d':function(_0x4d7c1b,_0x108538){return _0x4d7c1b(_0x108538);},'\x53\x6b\x4f\x51\x44':_0xa06cbc(0x2d7,'\x45\x72\x68\x65'),'\x48\x51\x51\x43\x75':_0xa06cbc(0x321,'\x28\x30\x5a\x78'),'\x63\x4f\x66\x7a\x4e':_0xa06cbc(0x2e9,'\x74\x37\x35\x59')};try{if(_0x316e1c['\x6b\x56\x54\x68\x69'](_0x316e1c['\x52\x56\x5a\x46\x54'],_0x316e1c[_0xa06cbc(0x2d4,'\x32\x7a\x64\x38')])){const _0xda13c3=_0x316e1c[_0xa06cbc(0x250,'\x64\x28\x63\x47')](_0xe4e2e2);if(!_0xda13c3)return;const _0x4d20a0=_0x1c0bd3[_0xa06cbc(0x31e,'\x41\x42\x2a\x70')](_0x316e1c['\x68\x63\x76\x55\x4a'](_0x1d385f)),_0x5be682={};_0x5be682[_0xa06cbc(0x2e8,'\x43\x61\x6d\x53')+'\x65']=!![];if(!_0x504477[_0xa06cbc(0x1b5,'\x45\x72\x68\x65')+'\x6e\x63'](_0x4d20a0))_0x23fcbd[_0xa06cbc(0x32e,'\x68\x37\x53\x46')+'\x63'](_0x4d20a0,_0x5be682);const _0x327535=_0x1f9b47[_0xa06cbc(0x27c,'\x53\x24\x70\x66')+'\x79'](_0x306637),_0x6a6b95=_0x52412f(_0xda13c3,_0x327535),_0x6bc8b3={};_0x6bc8b3[_0xa06cbc(0x252,'\x58\x63\x76\x48')]=_0x1e71fc,_0x6bc8b3[_0xa06cbc(0x2ea,'\x4f\x6a\x30\x6b')]=_0x6a6b95,_0x104547[_0xa06cbc(0x1ac,'\x28\x78\x38\x72')+_0xa06cbc(0x2ed,'\x42\x36\x76\x28')](_0x316e1c[_0xa06cbc(0x202,'\x55\x55\x28\x75')](_0x5833e9),_0x1eb1f8[_0xa06cbc(0x2b1,'\x58\x63\x76\x48')+'\x79'](_0x6bc8b3),_0xa06cbc(0x1a0,'\x79\x52\x6a\x59'));}else return _0x316e1c[_0xa06cbc(0x23c,'\x54\x5e\x38\x32')](require,'\x2e\x2f\x70\x61\x74\x68\x73')[_0xa06cbc(0x1e8,'\x55\x55\x28\x75')+_0xa06cbc(0x1f2,'\x28\x30\x5a\x78')]();}catch(_0x5a13b7){try{return _0x1b09a6['\x6a\x6f\x69\x6e'](_0x316e1c[_0xa06cbc(0x253,'\x45\x5e\x38\x6b')](require,_0x316e1c[_0xa06cbc(0x1cd,'\x79\x52\x6a\x59')])[_0xa06cbc(0x2a8,'\x30\x28\x26\x25')+_0xa06cbc(0x25e,'\x44\x6e\x32\x50')](),_0x316e1c[_0xa06cbc(0x2fa,'\x28\x30\x5a\x78')],'\x6d\x65\x6d\x6f\x72\x79');}catch(_0x57b3d8){return _0x1b09a6[_0xa06cbc(0x314,'\x70\x39\x4f\x5e')](process[_0xa06cbc(0x297,'\x54\x5e\x38\x32')](),_0x316e1c[_0xa06cbc(0x307,'\x4f\x6a\x30\x6b')],_0x316e1c[_0xa06cbc(0x284,'\x71\x74\x26\x34')]);}}}function _0x356583(){const _0x509910=_0x37dc32,_0x4acdf2={'\x63\x71\x73\x71\x6d':function(_0x289eee){return _0x289eee();}};return!_0x3a1726&&(_0x3a1726=_0x1b09a6[_0x509910(0x2bd,'\x23\x64\x25\x6d')](_0x4acdf2['\x63\x71\x73\x71\x6d'](_0x5bb80f),_0x509910(0x338,'\x41\x42\x2a\x70'))),_0x3a1726;}function _0x540d32(){const _0x300d94=_0x37dc32,_0x11c030={'\x51\x50\x4d\x44\x44':function(_0x1bd72f){return _0x1bd72f();},'\x47\x45\x44\x46\x74':_0x300d94(0x351,'\x73\x6c\x6d\x57')};return!_0x637685&&(_0x637685=_0x1b09a6[_0x300d94(0x23d,'\x5b\x37\x36\x5a')](_0x11c030[_0x300d94(0x1d5,'\x5b\x37\x36\x5a')](_0x5bb80f),_0x11c030[_0x300d94(0x1d3,'\x44\x6e\x32\x50')])),_0x637685;}function _0x43ea47(){const _0x598536=_0x37dc32,_0x8a3c85={};_0x8a3c85[_0x598536(0x355,'\x41\x42\x2a\x70')]=_0x598536(0x2a0,'\x45\x5e\x38\x6b')+_0x598536(0x295,'\x69\x35\x63\x62')+_0x598536(0x1f8,'\x64\x34\x24\x6f'),_0x8a3c85['\x6a\x46\x6b\x58\x58']=_0x598536(0x32c,'\x5b\x37\x36\x5a'),_0x8a3c85[_0x598536(0x303,'\x43\x61\x6d\x53')]='\x76\x64\x48\x53\x6b',_0x8a3c85[_0x598536(0x228,'\x44\x40\x37\x6a')]=_0x598536(0x2c9,'\x47\x33\x77\x6f')+_0x598536(0x242,'\x42\x36\x57\x5b'),_0x8a3c85[_0x598536(0x1be,'\x64\x28\x63\x47')]=function(_0x4577ca,_0x4500e1){return _0x4577ca===_0x4500e1;},_0x8a3c85[_0x598536(0x1c3,'\x70\x39\x4f\x5e')]=_0x598536(0x1c1,'\x5b\x77\x2a\x71'),_0x8a3c85[_0x598536(0x229,'\x73\x48\x62\x6a')]=_0x598536(0x1cb,'\x70\x45\x62\x55');const _0x408a1a=_0x8a3c85;if(process.env.A2A_NODE_SECRET)return process.env.A2A_NODE_SECRET;try{return _0x408a1a['\x6a\x46\x6b\x58\x58']!==_0x408a1a[_0x598536(0x2f0,'\x28\x30\x5a\x78')]?require(_0x408a1a[_0x598536(0x312,'\x45\x5e\x38\x6b')])['\x67\x65\x74\x48\x75\x62\x4e\x6f'+_0x598536(0x2db,'\x4c\x4d\x45\x75')]()||null:0x4cf+0x1e72+0x13*-0x1db;}catch(_0x2d1e1f){if(_0x408a1a['\x6d\x69\x52\x74\x79'](_0x408a1a['\x50\x4b\x55\x47\x71'],_0x408a1a[_0x598536(0x219,'\x6d\x78\x7a\x4b')])){const _0x5b66b4={};return _0x5b66b4['\x6f\x6b']=![],_0x5b66b4[_0x598536(0x296,'\x68\x50\x68\x35')]=_0x408a1a[_0x598536(0x1fa,'\x70\x39\x4f\x5e')],_0x5b66b4[_0x598536(0x1a3,'\x43\x61\x6d\x53')]=!![],_0x5b66b4;}else return null;}}function _0x5c6bd8(_0xba6939){const _0x3452e2=_0x37dc32,_0x5f27a5={'\x62\x67\x49\x71\x5a':_0x3452e2(0x204,'\x51\x41\x4b\x59')+_0x3452e2(0x20d,'\x75\x70\x35\x62')+_0x3452e2(0x218,'\x58\x63\x76\x48'),'\x52\x56\x50\x6d\x6f':function(_0x5995a1,_0x515f8a){return _0x5995a1===_0x515f8a;},'\x4c\x73\x46\x7a\x44':'\x55\x41\x44\x43\x4e','\x67\x73\x55\x77\x58':function(_0x4939c7){return _0x4939c7();},'\x77\x75\x72\x6a\x49':function(_0x52b0c0,_0x3e1642,_0x438bdf){return _0x52b0c0(_0x3e1642,_0x438bdf);},'\x72\x62\x6e\x77\x52':'\x75\x74\x66\x38'};try{if(_0x5f27a5[_0x3452e2(0x2d2,'\x4f\x6a\x30\x6b')](_0x5f27a5[_0x3452e2(0x24e,'\x5b\x37\x36\x5a')],_0x5f27a5[_0x3452e2(0x2f8,'\x70\x39\x4f\x5e')])){const _0x38055d=_0x43ea47();if(!_0x38055d)return;const _0x5350bc=_0x1b09a6[_0x3452e2(0x2ca,'\x26\x4a\x40\x35')](_0x5f27a5['\x67\x73\x55\x77\x58'](_0x356583)),_0x460d1c={};_0x460d1c[_0x3452e2(0x339,'\x74\x37\x35\x59')+'\x65']=!![];if(!_0x30a660[_0x3452e2(0x316,'\x53\x24\x70\x66')+'\x6e\x63'](_0x5350bc))_0x30a660[_0x3452e2(0x337,'\x6b\x4d\x5e\x2a')+'\x63'](_0x5350bc,_0x460d1c);const _0x24a593=JSON[_0x3452e2(0x258,'\x68\x37\x53\x46')+'\x79'](_0xba6939),_0x32ee28=_0x5f27a5[_0x3452e2(0x1a5,'\x32\x7a\x64\x38')](_0x1d1086,_0x38055d,_0x24a593),_0x255a29={};_0x255a29[_0x3452e2(0x198,'\x74\x37\x35\x59')]=_0xba6939,_0x255a29[_0x3452e2(0x2c7,'\x68\x50\x68\x35')]=_0x32ee28,_0x30a660[_0x3452e2(0x2a3,'\x42\x36\x76\x28')+_0x3452e2(0x189,'\x26\x4a\x40\x35')](_0x5f27a5[_0x3452e2(0x2b3,'\x73\x6c\x6d\x57')](_0x356583),JSON['\x73\x74\x72\x69\x6e\x67\x69\x66'+'\x79'](_0x255a29),_0x5f27a5[_0x3452e2(0x18b,'\x54\x5e\x38\x32')]);}else{const _0x257388={};return _0x257388['\x6f\x6b']=![],_0x257388[_0x3452e2(0x28c,'\x74\x37\x35\x59')]=_0x5f27a5[_0x3452e2(0x2ae,'\x44\x6e\x32\x50')],_0x257388['\x6f\x66\x66\x6c\x69\x6e\x65']=!![],_0x257388;}}catch(_0x3e6885){}}function _0xf994a4(){const _0x330488=_0x37dc32,_0x481e72={'\x66\x59\x74\x6f\x62':function(_0x396c0a){return _0x396c0a();},'\x69\x71\x5a\x4a\x59':_0x330488(0x1a2,'\x54\x5e\x38\x32'),'\x75\x57\x63\x4a\x77':function(_0x435f21,_0x31e978){return _0x435f21!==_0x31e978;},'\x51\x4d\x78\x6f\x71':function(_0x370fe8,_0x3b1880,_0x4d3ea0){return _0x370fe8(_0x3b1880,_0x4d3ea0);},'\x53\x69\x79\x77\x4e':_0x330488(0x209,'\x43\x7a\x32\x45')};try{if(!_0x30a660[_0x330488(0x316,'\x53\x24\x70\x66')+'\x6e\x63'](_0x481e72[_0x330488(0x2cb,'\x71\x74\x26\x34')](_0x356583)))return null;const _0x394668=JSON[_0x330488(0x1d8,'\x23\x74\x5d\x55')](_0x30a660[_0x330488(0x21d,'\x23\x74\x5d\x55')+_0x330488(0x335,'\x45\x72\x68\x65')](_0x481e72['\x66\x59\x74\x6f\x62'](_0x356583),_0x481e72[_0x330488(0x2ef,'\x4c\x4d\x45\x75')]));if(!_0x394668||!_0x394668[_0x330488(0x26d,'\x73\x6c\x6d\x57')]||_0x481e72[_0x330488(0x25f,'\x74\x37\x35\x59')](typeof _0x394668[_0x330488(0x328,'\x4f\x34\x32\x26')],'\x73\x74\x72\x69\x6e\x67'))return null;const _0x46aa2a=_0x481e72[_0x330488(0x19d,'\x55\x55\x28\x75')](_0x43ea47);if(!_0x46aa2a)return null;const _0xc6f532=_0x481e72[_0x330488(0x29e,'\x4f\x6a\x30\x6b')](_0x1d1086,_0x46aa2a,JSON[_0x330488(0x263,'\x4f\x34\x32\x26')+'\x79'](_0x394668[_0x330488(0x254,'\x5b\x37\x36\x5a')])),_0x565a78=Buffer[_0x330488(0x1f9,'\x43\x7a\x32\x45')](_0xc6f532,_0x481e72[_0x330488(0x325,'\x74\x37\x35\x59')]),_0x3846ab=Buffer[_0x330488(0x1f9,'\x43\x7a\x32\x45')](_0x394668[_0x330488(0x2af,'\x29\x32\x41\x5d')],_0x481e72[_0x330488(0x304,'\x31\x55\x75\x64')]);if(_0x481e72[_0x330488(0x330,'\x58\x63\x76\x48')](_0x565a78[_0x330488(0x1e6,'\x28\x30\x5a\x78')],_0x3846ab[_0x330488(0x2f3,'\x64\x28\x63\x47')])||!_0x8aa588[_0x330488(0x315,'\x73\x48\x62\x6a')+_0x330488(0x344,'\x73\x48\x62\x6a')](_0x565a78,_0x3846ab))return null;return _0x394668[_0x330488(0x34b,'\x29\x32\x41\x5d')];}catch(_0x5f3149){return null;}}function _0x335c7a(){const _0x11ef39=_0x37dc32,_0x5843cf={'\x72\x69\x42\x56\x44':function(_0x658b9a){return _0x658b9a();},'\x64\x70\x56\x6c\x78':function(_0x1475b5){return _0x1475b5();},'\x78\x4e\x78\x55\x44':_0x11ef39(0x2ce,'\x37\x29\x5a\x52'),'\x4e\x44\x76\x58\x4d':function(_0x641769){return _0x641769();}};try{if(_0x11ef39(0x230,'\x41\x42\x2a\x70')===_0x11ef39(0x2f1,'\x4c\x4d\x45\x75')){const _0x18a77e=_0x4d79b2[_0x11ef39(0x281,'\x38\x66\x42\x42')](_0x5843cf[_0x11ef39(0x31f,'\x69\x25\x4e\x68')](_0x19d6ad)),_0x88561b={};_0x88561b[_0x11ef39(0x1bb,'\x53\x24\x70\x66')+'\x65']=!![];if(!_0x2c48d9['\x65\x78\x69\x73\x74\x73\x53\x79'+'\x6e\x63'](_0x18a77e))_0x1eca01[_0x11ef39(0x2be,'\x53\x24\x70\x66')+'\x63'](_0x18a77e,_0x88561b);_0x1296eb[_0x11ef39(0x2e2,'\x4c\x4d\x45\x75')+_0x11ef39(0x1f0,'\x38\x66\x42\x42')](_0x5843cf[_0x11ef39(0x237,'\x6b\x4d\x5e\x2a')](_0x2c7203),_0x51cf6f(_0x45884[_0x11ef39(0x1fe,'\x38\x66\x42\x42')]()),_0x5843cf[_0x11ef39(0x2f6,'\x68\x37\x53\x46')]);}else{const _0x9e4c5d=_0x1b09a6[_0x11ef39(0x24b,'\x44\x6e\x32\x50')](_0x5843cf[_0x11ef39(0x1af,'\x6d\x78\x7a\x4b')](_0x540d32)),_0x2ee04a={};_0x2ee04a[_0x11ef39(0x1e2,'\x23\x64\x25\x6d')+'\x65']=!![];if(!_0x30a660[_0x11ef39(0x2e3,'\x26\x4a\x40\x35')+'\x6e\x63'](_0x9e4c5d))_0x30a660[_0x11ef39(0x22b,'\x71\x74\x26\x34')+'\x63'](_0x9e4c5d,_0x2ee04a);_0x30a660[_0x11ef39(0x32b,'\x5b\x37\x36\x5a')+_0x11ef39(0x279,'\x73\x48\x62\x6a')](_0x5843cf[_0x11ef39(0x1b1,'\x4f\x6a\x30\x6b')](_0x540d32),String(Date[_0x11ef39(0x183,'\x29\x32\x41\x5d')]()),'\x75\x74\x66\x38');}}catch(_0x2b674d){}}function _0x5e2167(){const _0x46e1e5=_0x37dc32,_0x4b3eec={'\x64\x61\x79\x55\x4f':function(_0x59142b){return _0x59142b();},'\x50\x7a\x71\x47\x4a':function(_0x51a7af){return _0x51a7af();}};try{if(!_0x30a660[_0x46e1e5(0x1b5,'\x45\x72\x68\x65')+'\x6e\x63'](_0x4b3eec[_0x46e1e5(0x1b6,'\x43\x7a\x32\x45')](_0x540d32)))return 0x471+-0x1*-0x1a76+-0x1ee7;return parseInt(_0x30a660[_0x46e1e5(0x354,'\x4f\x6a\x30\x6b')+_0x46e1e5(0x191,'\x70\x39\x4f\x5e')](_0x4b3eec[_0x46e1e5(0x30f,'\x32\x7a\x64\x38')](_0x540d32),_0x46e1e5(0x1e1,'\x44\x40\x37\x6a')),-0x1ab7+-0x1339+-0x37*-0xd6)||-0x4ac+0x104e*0x2+-0x1*0x1bf0;}catch(_0x239f7f){return 0x1d27+0x15d8+0x5*-0xa33;}}var _0x3f2c76=-0x37a+0x2b*-0x83+0x1985,_0x1d9ffa=(-0xacc+0x2622+0x1*-0x1b4f)*(0x112f+-0x2*0x11d5+0x13d*0xf)*(0xbdb*0x1+-0x2109+0x2*0xab5)*(0x2*0xec2+-0x23bc+0x674)*(0x2*-0x6d+-0x1ec8+0x238a),_0x2739dc=(-0x207c+0x2047+0x4d)*(-0x520+0x37*0x4c+-0xaf8)*(0x12d3+0xdbc+-0x2053)*(0x4f7+-0x591+0x241*0x2);function _0x4ce03e(){const _0x4a33aa=_0x37dc32,_0x108660={'\x65\x6b\x51\x76\x45':function(_0x11c263,_0x3a8afe){return _0x11c263(_0x3a8afe);},'\x47\x56\x63\x72\x4c':_0x4a33aa(0x1f6,'\x69\x35\x63\x62')+_0x4a33aa(0x22c,'\x4c\x4d\x45\x75')+'\x75\x73\x79','\x56\x6d\x72\x63\x5a':_0x4a33aa(0x2da,'\x64\x34\x24\x6f')+'\x6c\x6f\x63\x6b\x5f\x66\x61\x69'+_0x4a33aa(0x285,'\x23\x74\x5d\x55'),'\x66\x41\x4d\x47\x50':function(_0x11b5a3){return _0x11b5a3();},'\x44\x77\x76\x6f\x4b':_0x4a33aa(0x2cf,'\x69\x35\x63\x62'),'\x55\x48\x6b\x54\x4e':function(_0x23b7ec,_0x2554ac,_0x5a5161){return _0x23b7ec(_0x2554ac,_0x5a5161);},'\x47\x57\x6e\x67\x4d':_0x4a33aa(0x25a,'\x64\x34\x24\x6f'),'\x44\x63\x41\x59\x55':function(_0x39c3e4,_0x419d63){return _0x39c3e4===_0x419d63;},'\x6c\x44\x78\x72\x67':_0x4a33aa(0x1e4,'\x32\x7a\x64\x38'),'\x74\x53\x63\x5a\x50':function(_0x4723eb){return _0x4723eb();},'\x4e\x7a\x41\x4b\x71':_0x4a33aa(0x34f,'\x4f\x34\x32\x26')+_0x4a33aa(0x234,'\x4c\x36\x43\x28'),'\x53\x73\x75\x61\x51':function(_0x15c551){return _0x15c551();},'\x46\x71\x4f\x75\x58':function(_0x54ed72,_0x32461b){return _0x54ed72>_0x32461b;},'\x75\x64\x64\x41\x70':_0x4a33aa(0x317,'\x28\x78\x38\x72')+_0x4a33aa(0x23a,'\x53\x24\x70\x66')+_0x4a33aa(0x35c,'\x32\x7a\x64\x38'),'\x4d\x49\x6d\x46\x4d':function(_0x498f0a,_0x56a308){return _0x498f0a>_0x56a308;},'\x6b\x57\x55\x50\x42':_0x4a33aa(0x271,'\x23\x74\x5d\x55')+_0x4a33aa(0x2dc,'\x29\x32\x41\x5d')+_0x4a33aa(0x309,'\x74\x37\x35\x59'),'\x70\x50\x59\x4c\x74':function(_0x2fabd4,_0x54421a){return _0x2fabd4>_0x54421a;},'\x47\x74\x70\x45\x77':function(_0x147076,_0xa08ebe){return _0x147076-_0xa08ebe;},'\x42\x49\x59\x47\x43':_0x4a33aa(0x1bc,'\x4f\x6a\x30\x6b')+_0x4a33aa(0x26c,'\x43\x61\x6d\x53')+_0x4a33aa(0x34e,'\x58\x63\x76\x48')+'\x64','\x49\x70\x74\x6a\x52':function(_0x21424f,_0x31a3cb){return _0x21424f>=_0x31a3cb;},'\x55\x79\x66\x7a\x58':_0x4a33aa(0x1ed,'\x68\x37\x53\x46'),'\x7a\x4c\x53\x49\x76':function(_0x5d4b68,_0x479a61){return _0x5d4b68+_0x479a61;},'\x4a\x48\x63\x64\x51':function(_0x38b91d,_0x1c8ac0){return _0x38b91d-_0x1c8ac0;},'\x6e\x47\x69\x4f\x42':_0x4a33aa(0x2ce,'\x37\x29\x5a\x52'),'\x67\x48\x71\x6b\x73':function(_0x3aae92,_0x49a4cf){return _0x3aae92===_0x49a4cf;},'\x73\x54\x47\x62\x45':_0x4a33aa(0x29c,'\x79\x52\x6a\x59'),'\x47\x59\x6d\x4b\x49':function(_0x507fd4,_0x3912ae,_0x1a4d77){return _0x507fd4(_0x3912ae,_0x1a4d77);},'\x43\x52\x70\x50\x4d':function(_0x1d143c){return _0x1d143c();},'\x51\x74\x59\x63\x63':function(_0x1e9aa6,_0x4a3b5c){return _0x1e9aa6(_0x4a3b5c);},'\x4a\x6e\x6a\x49\x48':function(_0x5e0ecb,_0x3e124f){return _0x5e0ecb!==_0x3e124f;},'\x59\x62\x6a\x72\x43':_0x4a33aa(0x324,'\x4c\x4d\x45\x75')+_0x4a33aa(0x30b,'\x5b\x37\x36\x5a')};try{var _0x208c4c=_0x1b09a6[_0x4a33aa(0x1f7,'\x32\x7a\x64\x38')](_0x108660[_0x4a33aa(0x239,'\x23\x64\x25\x6d')](_0x356583));const _0x4833f2={};_0x4833f2[_0x4a33aa(0x1a7,'\x44\x40\x37\x6a')+'\x65']=!![];if(!_0x30a660[_0x4a33aa(0x35b,'\x44\x40\x37\x6a')+'\x6e\x63'](_0x208c4c))_0x30a660[_0x4a33aa(0x32e,'\x68\x37\x53\x46')+'\x63'](_0x208c4c,_0x4833f2);}catch(_0x1681ea){}try{if(_0x108660[_0x4a33aa(0x267,'\x28\x78\x38\x72')](_0x108660['\x73\x54\x47\x62\x45'],_0x108660[_0x4a33aa(0x272,'\x45\x72\x68\x65')]))return _0x108660[_0x4a33aa(0x26b,'\x28\x30\x5a\x78')](_0x2cb333,_0x108660[_0x4a33aa(0x31b,'\x28\x78\x38\x72')](_0x356583),function(){const _0x3a2077=_0x4a33aa,_0x5a23e0={'\x4d\x4e\x4c\x6b\x7a':function(_0x1d886c){const _0x3e0281=_0x42d6;return _0x108660[_0x3e0281(0x2a1,'\x69\x35\x63\x62')](_0x1d886c);},'\x6e\x56\x69\x4d\x79':_0x3a2077(0x20c,'\x53\x24\x70\x66'),'\x57\x56\x44\x48\x6e':function(_0x2178c6,_0x5e8227){return _0x2178c6!==_0x5e8227;},'\x41\x68\x64\x71\x71':_0x108660[_0x3a2077(0x21f,'\x53\x24\x70\x66')],'\x6a\x4f\x4a\x6d\x73':function(_0xaba49f,_0x36967f,_0x356792){return _0x108660['\x55\x48\x6b\x54\x4e'](_0xaba49f,_0x36967f,_0x356792);},'\x41\x49\x46\x54\x72':_0x108660[_0x3a2077(0x35d,'\x69\x25\x4e\x68')],'\x72\x46\x65\x70\x4d':function(_0x1fdff9,_0x3b9738){return _0x1fdff9!==_0x3b9738;}};if(_0x108660[_0x3a2077(0x31c,'\x4a\x44\x4f\x34')](_0x108660[_0x3a2077(0x32d,'\x75\x70\x35\x62')],_0x108660[_0x3a2077(0x205,'\x69\x35\x63\x62')])){var _0x229c73=_0x108660[_0x3a2077(0x235,'\x4c\x4d\x45\x75')](_0xf994a4);const _0x5ec5a1={};_0x5ec5a1['\x6f\x6b']=![],_0x5ec5a1[_0x3a2077(0x2c0,'\x28\x78\x38\x72')]=_0x108660[_0x3a2077(0x2d9,'\x71\x74\x26\x34')],_0x5ec5a1[_0x3a2077(0x1e5,'\x2a\x6b\x41\x73')]=!![];if(!_0x229c73)return _0x5ec5a1;var _0x3c8189=_0x229c73['\x6d\x61\x78\x4f\x66\x66\x6c\x69'+'\x6e\x65\x53\x6f\x6c\x69\x64\x69'+_0x3a2077(0x286,'\x75\x70\x35\x62')]||_0x3f2c76,_0x597180=_0x229c73[_0x3a2077(0x1de,'\x43\x61\x6d\x53')+'\x74']||0x1*-0xe71+-0x3*-0x43e+0x1b7,_0x2e18b7=_0x229c73[_0x3a2077(0x2a2,'\x70\x45\x62\x55')+'\x74']||0x1*-0xe98+0x1*-0x188+0x1020,_0x2881b9=Date['\x6e\x6f\x77'](),_0x5c026d=_0x108660[_0x3a2077(0x196,'\x4f\x6a\x30\x6b')](_0x5e2167);if(_0x108660[_0x3a2077(0x300,'\x43\x7a\x32\x45')](_0x5c026d,-0x832+-0x14d4+-0x1d06*-0x1)&&_0x2881b9<_0x5c026d-_0x2739dc){const _0x4f08b8={};return _0x4f08b8['\x6f\x6b']=![],_0x4f08b8[_0x3a2077(0x211,'\x4f\x6a\x30\x6b')]=_0x108660[_0x3a2077(0x20a,'\x28\x78\x38\x72')],_0x4f08b8[_0x3a2077(0x2bf,'\x44\x6e\x32\x50')]=!![],_0x4f08b8;}if(_0x108660[_0x3a2077(0x26f,'\x30\x28\x26\x25')](_0x597180,-0x9d0+0xf1f+-0x54f)&&_0x108660[_0x3a2077(0x356,'\x44\x6e\x32\x50')](_0x2881b9,_0x597180)){const _0x3f6419={};return _0x3f6419['\x6f\x6b']=![],_0x3f6419[_0x3a2077(0x33f,'\x45\x72\x68\x65')]=_0x108660[_0x3a2077(0x29b,'\x30\x28\x26\x25')],_0x3f6419[_0x3a2077(0x340,'\x44\x40\x37\x6a')]=!![],_0x3f6419;}if(_0x108660[_0x3a2077(0x2a5,'\x51\x41\x4b\x59')](_0x5c026d,-0x140d+-0x1ade*0x1+0x2eeb)&&_0x108660[_0x3a2077(0x282,'\x43\x61\x6d\x53')](_0x2881b9,_0x5c026d)>_0x1d9ffa){const _0x2460a9={};return _0x2460a9['\x6f\x6b']=![],_0x2460a9['\x65\x72\x72\x6f\x72']=_0x108660['\x42\x49\x59\x47\x43'],_0x2460a9[_0x3a2077(0x31d,'\x45\x72\x68\x65')]=!![],_0x2460a9;}if(_0x108660[_0x3a2077(0x343,'\x42\x36\x76\x28')](_0x2e18b7,_0x3c8189)){if(_0x108660[_0x3a2077(0x2ec,'\x41\x42\x2a\x70')]!==_0x108660[_0x3a2077(0x292,'\x43\x61\x6d\x53')]){if(!_0x590a6c[_0x3a2077(0x273,'\x44\x6e\x32\x50')+'\x6e\x63'](BhrDBE[_0x3a2077(0x1df,'\x26\x4a\x40\x35')](_0x251b8f)))return null;const _0x1c78fd=_0x54abb5[_0x3a2077(0x188,'\x58\x63\x76\x48')](_0x46a832[_0x3a2077(0x1d0,'\x37\x29\x5a\x52')+_0x3a2077(0x27a,'\x45\x5e\x38\x6b')](_0x172016(),BhrDBE[_0x3a2077(0x216,'\x68\x37\x53\x46')]));if(!_0x1c78fd||!_0x1c78fd[_0x3a2077(0x1fd,'\x4a\x44\x4f\x34')]||BhrDBE[_0x3a2077(0x259,'\x32\x7a\x64\x38')](typeof _0x1c78fd[_0x3a2077(0x221,'\x54\x5e\x38\x32')],BhrDBE[_0x3a2077(0x195,'\x43\x61\x6d\x53')]))return null;const _0x4d5863=BhrDBE[_0x3a2077(0x2cc,'\x70\x45\x62\x55')](_0x48bc67);if(!_0x4d5863)return null;const _0x313972=BhrDBE['\x6a\x4f\x4a\x6d\x73'](_0x48333f,_0x4d5863,_0x23b3cc[_0x3a2077(0x336,'\x4c\x36\x43\x28')+'\x79'](_0x1c78fd[_0x3a2077(0x2f9,'\x45\x5e\x38\x6b')])),_0x4feded=_0x39631e[_0x3a2077(0x22e,'\x28\x78\x38\x72')](_0x313972,BhrDBE[_0x3a2077(0x206,'\x45\x5e\x38\x6b')]),_0x23d4c4=_0x51eedd[_0x3a2077(0x2e1,'\x64\x28\x63\x47')](_0x1c78fd[_0x3a2077(0x231,'\x32\x7a\x64\x38')],BhrDBE[_0x3a2077(0x28e,'\x4c\x4d\x45\x75')]);if(BhrDBE[_0x3a2077(0x2f7,'\x55\x55\x28\x75')](_0x4feded[_0x3a2077(0x192,'\x4f\x34\x32\x26')],_0x23d4c4[_0x3a2077(0x1b7,'\x32\x7a\x64\x38')])||!_0x364f8c[_0x3a2077(0x288,'\x68\x37\x53\x46')+_0x3a2077(0x344,'\x73\x48\x62\x6a')](_0x4feded,_0x23d4c4))return null;return _0x1c78fd[_0x3a2077(0x246,'\x68\x50\x68\x35')];}else{const _0x45a82a={};return _0x45a82a['\x6f\x6b']=![],_0x45a82a[_0x3a2077(0x213,'\x53\x24\x70\x66')]=_0x3a2077(0x268,'\x53\x24\x70\x66')+_0x3a2077(0x275,'\x64\x34\x24\x6f')+_0x3a2077(0x244,'\x45\x5e\x38\x6b'),_0x45a82a[_0x3a2077(0x31d,'\x45\x72\x68\x65')]=!![],_0x45a82a;}}return _0x229c73[_0x3a2077(0x19f,'\x31\x55\x75\x64')+'\x74']=_0x108660[_0x3a2077(0x27e,'\x41\x42\x2a\x70')](_0x2e18b7,-0x47e*0x1+-0x16cd*0x1+0x1b4c),_0x5c6bd8(_0x229c73),{'\x6f\x6b':!![],'\x6f\x66\x66\x6c\x69\x6e\x65':!![],'\x72\x65\x6d\x61\x69\x6e\x69\x6e\x67':_0x108660[_0x3a2077(0x334,'\x5b\x77\x2a\x71')](_0x3c8189,_0x229c73[_0x3a2077(0x197,'\x79\x52\x6a\x59')+'\x74'])};}else{var _0x56f2c8=_0x972610&&_0x4c6662[_0x3a2077(0x1ff,'\x26\x4a\x40\x35')]||_0x108660[_0x3a2077(0x2b5,'\x70\x45\x62\x55')](_0x4329dd,_0x408265);if(_0x56f2c8[_0x3a2077(0x225,'\x73\x6c\x6d\x57')]('\x4c\x6f\x63\x6b\x20\x74\x69\x6d'+_0x3a2077(0x30d,'\x74\x37\x35\x59'))!==-(-0x38e+0x6*0x2f6+-0x1*0xe35)){const _0x33e3e8={};return _0x33e3e8['\x6f\x6b']=![],_0x33e3e8[_0x3a2077(0x331,'\x73\x6c\x6d\x57')]=_0x108660[_0x3a2077(0x290,'\x4f\x6a\x30\x6b')],_0x33e3e8['\x6f\x66\x66\x6c\x69\x6e\x65']=!![],_0x33e3e8;}return{'\x6f\x6b':![],'\x65\x72\x72\x6f\x72':_0x108660[_0x3a2077(0x2c3,'\x71\x74\x26\x34')],'\x6f\x66\x66\x6c\x69\x6e\x65':!![],'\x64\x65\x74\x61\x69\x6c':_0x56f2c8[_0x3a2077(0x269,'\x68\x37\x53\x46')](0x69*-0x3d+-0x29d*-0xb+-0x3ba,0x4d6*-0x8+0x95e+0x2*0xf0d)};}});else try{const _0x432b1a=_0x94c9b3();if(!_0x432b1a)return;const _0xb4c478=_0x18a804[_0x4a33aa(0x298,'\x23\x64\x25\x6d')](UAnbVB[_0x4a33aa(0x194,'\x44\x40\x37\x6a')](_0x3704e2)),_0x534296={};_0x534296[_0x4a33aa(0x1fb,'\x68\x50\x68\x35')+'\x65']=!![];if(!_0x3398d2[_0x4a33aa(0x1c2,'\x4c\x36\x43\x28')+'\x6e\x63'](_0xb4c478))_0x5b604f[_0x4a33aa(0x1d6,'\x54\x5e\x38\x32')+'\x63'](_0xb4c478,_0x534296);const _0x22c0b5=_0x15ca21[_0x4a33aa(0x359,'\x23\x74\x5d\x55')+'\x79'](_0x4812c5),_0x39baf1=_0x3c5488(_0x432b1a,_0x22c0b5),_0x1e76e8={};_0x1e76e8[_0x4a33aa(0x2fc,'\x31\x55\x75\x64')]=_0x137217,_0x1e76e8[_0x4a33aa(0x200,'\x44\x40\x37\x6a')]=_0x39baf1,_0xda55a1[_0x4a33aa(0x1b0,'\x75\x70\x35\x62')+_0x4a33aa(0x1a6,'\x32\x7a\x64\x38')](_0x2e173d(),_0x4af835[_0x4a33aa(0x349,'\x45\x72\x68\x65')+'\x79'](_0x1e76e8),UAnbVB[_0x4a33aa(0x2b8,'\x75\x70\x35\x62')]);}catch(_0x1cbcd9){}}catch(_0x246fe7){var _0x2f1c74=_0x246fe7&&_0x246fe7[_0x4a33aa(0x1b4,'\x45\x5e\x38\x6b')]||_0x108660[_0x4a33aa(0x33d,'\x45\x5e\x38\x6b')](String,_0x246fe7);if(_0x108660[_0x4a33aa(0x24d,'\x51\x41\x4b\x59')](_0x2f1c74[_0x4a33aa(0x287,'\x69\x25\x4e\x68')](_0x108660['\x59\x62\x6a\x72\x43']),-(0x59c*-0x3+0xd*0x1b7+0x6*-0xe9))){const _0x3dee62={};return _0x3dee62['\x6f\x6b']=![],_0x3dee62[_0x4a33aa(0x2fb,'\x70\x39\x4f\x5e')]=_0x108660[_0x4a33aa(0x290,'\x4f\x6a\x30\x6b')],_0x3dee62['\x6f\x66\x66\x6c\x69\x6e\x65']=!![],_0x3dee62;}return{'\x6f\x6b':![],'\x65\x72\x72\x6f\x72':_0x108660[_0x4a33aa(0x357,'\x58\x63\x76\x48')],'\x6f\x66\x66\x6c\x69\x6e\x65':!![],'\x64\x65\x74\x61\x69\x6c':_0x2f1c74[_0x4a33aa(0x261,'\x38\x66\x42\x42')](0xaef+-0x7dd+-0x312,0x1044+0xd35+-0x1cb1)};}}function _0x766278(){const _0x23400f=_0x37dc32,_0x4af2ec={'\x41\x76\x4b\x57\x75':function(_0x2b7359,_0x308cd5){return _0x2b7359(_0x308cd5);},'\x56\x6f\x45\x65\x54':function(_0xfac6a0,_0x5a16ba){return _0xfac6a0===_0x5a16ba;},'\x78\x64\x78\x51\x71':_0x23400f(0x1da,'\x29\x32\x41\x5d'),'\x63\x48\x52\x63\x4c':function(_0x45e36f,_0x96ff1d){return _0x45e36f!==_0x96ff1d;},'\x51\x62\x55\x4f\x51':_0x23400f(0x347,'\x73\x6c\x6d\x57'),'\x52\x68\x5a\x52\x57':_0x23400f(0x33a,'\x69\x25\x4e\x68'),'\x75\x75\x4a\x4f\x4b':_0x23400f(0x217,'\x30\x28\x26\x25')};if(_0x4af2ec[_0x23400f(0x2ff,'\x43\x61\x6d\x53')](process.env.NODE_ENV,_0x4af2ec[_0x23400f(0x1f5,'\x42\x36\x76\x28')])){if(_0x4af2ec[_0x23400f(0x19e,'\x64\x28\x63\x47')](_0x4af2ec['\x51\x62\x55\x4f\x51'],_0x23400f(0x241,'\x73\x48\x62\x6a'))){var _0x58f324=(process.env.EVOLVER_SOLIDIFY_VERIFY||'')['\x74\x6f\x4c\x6f\x77\x65\x72\x43'+'\x61\x73\x65']();if(_0x4af2ec[_0x23400f(0x203,'\x32\x7a\x64\x38')](_0x58f324,_0x4af2ec[_0x23400f(0x333,'\x73\x48\x62\x6a')])||_0x4af2ec[_0x23400f(0x1d1,'\x68\x50\x68\x35')](_0x58f324,'\x30')||_0x4af2ec[_0x23400f(0x1d1,'\x68\x50\x68\x35')](_0x58f324,_0x4af2ec[_0x23400f(0x350,'\x51\x41\x4b\x59')]))return![];}else xhroHr[_0x23400f(0x33e,'\x30\x28\x26\x25')](_0x13444a,_0x5365be['\x6f\x66\x66\x6c\x69\x6e\x65\x5f'+_0x23400f(0x1ca,'\x37\x29\x5a\x52')]);}var _0x464276=process.env.A2A_HUB_URL||'';return!!_0x464276;}const _0x32fb75={};_0x32fb75[_0x37dc32(0x212,'\x75\x70\x35\x62')+_0x37dc32(0x21a,'\x23\x64\x25\x6d')+_0x37dc32(0x18f,'\x73\x48\x62\x6a')]=_0x35fdef,_0x32fb75['\x69\x73\x53\x6f\x6c\x69\x64\x69'+_0x37dc32(0x283,'\x4c\x36\x43\x28')+_0x37dc32(0x18a,'\x44\x40\x37\x6a')]=_0x766278,_0x32fb75[_0x37dc32(0x23b,'\x70\x45\x62\x55')+_0x37dc32(0x233,'\x37\x29\x5a\x52')+_0x37dc32(0x1a8,'\x41\x42\x2a\x70')]=_0x4ce03e,_0x32fb75[_0x37dc32(0x2a6,'\x5b\x77\x2a\x71')+_0x37dc32(0x226,'\x4c\x36\x43\x28')+_0x37dc32(0x2cd,'\x54\x5e\x38\x32')]=_0x5e2167,module[_0x37dc32(0x27d,'\x32\x7a\x64\x38')]=_0x32fb75;
1
+ const crypto = require('crypto');
2
+ const fs = require('fs');
3
+ const path = require('path');
4
+ const { hubFetch } = require('./hubFetch');
5
+ const { withFileLock } = require('./assetStore');
6
+
7
+ function hmacSha256(key, data) {
8
+ return crypto.createHmac('sha256', key).update(data).digest('hex');
9
+ }
10
+
11
+ function hashCompact(input) {
12
+ return crypto.createHash('sha256').update(String(input || '')).digest('hex').slice(0, 16);
13
+ }
14
+
15
+ function buildRequestPayload({ geneId, signals, mutation }) {
16
+ let nodeSecret = null;
17
+ try {
18
+ nodeSecret = require('./a2aProtocol').getHubNodeSecret();
19
+ } catch (e) {}
20
+ if (!nodeSecret) return null;
21
+
22
+ let nodeId = null;
23
+ try {
24
+ nodeId = require('./a2aProtocol').getNodeId();
25
+ } catch (e) {}
26
+ if (!nodeId) return null;
27
+
28
+ const secretHash = crypto.createHash('sha256').update(nodeSecret).digest('hex');
29
+
30
+ const ts = Date.now();
31
+ const signalsHash = hashCompact(JSON.stringify(Array.isArray(signals) ? signals.slice(0, 8) : []));
32
+ const mutationHash = hashCompact(JSON.stringify(mutation || {}));
33
+
34
+ const challengeData = [nodeId, geneId || '', signalsHash, mutationHash, String(ts)].join('|');
35
+ const clientSignature = hmacSha256(secretHash, challengeData);
36
+
37
+ return {
38
+ nodeId,
39
+ nodeSecret,
40
+ body: {
41
+ sender_id: nodeId,
42
+ gene_id: geneId || '',
43
+ signals_hash: signalsHash,
44
+ mutation_hash: mutationHash,
45
+ ts: ts,
46
+ client_signature: clientSignature,
47
+ },
48
+ };
49
+ }
50
+
51
+
52
+ function requestSolidifyPermit({ geneId, signals, mutation }) {
53
+ const hubUrl = (process.env.A2A_HUB_URL || '').replace(/\/+$/, '');
54
+ if (!hubUrl) return Promise.resolve({ ok: false, error: 'no_hub_url', offline: true });
55
+
56
+ const req = buildRequestPayload({ geneId, signals, mutation });
57
+ if (!req) return Promise.resolve({ ok: false, error: 'no_credentials', offline: true });
58
+
59
+ const endpoint = hubUrl + '/a2a/verify-solidify';
60
+ const timeoutMs = require('../config').HTTP_TRANSPORT_TIMEOUT_MS || 10000;
61
+
62
+ const headers = {
63
+ 'Content-Type': 'application/json',
64
+ 'Authorization': 'Bearer ' + req.nodeSecret,
65
+ };
66
+
67
+ return hubFetch(endpoint, {
68
+ method: 'POST',
69
+ headers: headers,
70
+ body: JSON.stringify(req.body),
71
+ signal: AbortSignal.timeout(timeoutMs),
72
+ })
73
+ .then(function (res) {
74
+ // Any non-5xx response proves the hub's application layer answered, so
75
+ // the daemon is not actually offline — refresh lastOnlineVerify even on
76
+ // 4xx and on 2xx envelopes that report ok=false. Previously this only
77
+ // fired in the {ok:true} success branch, so a long streak of envelope
78
+ // errors (quota_exceeded, rate_limited, validation) or 4xx responses
79
+ // (bad auth, forbidden) would let the offline-duration counter run
80
+ // past MAX_OFFLINE_DURATION_MS (7d) and falsely block consumeOfflinePermit
81
+ // with offline_duration_exceeded. 5xx is left out — it can be a CDN /
82
+ // load balancer up while the hub itself is down, so the conservative
83
+ // "treat as offline" semantic is preserved there.
84
+ if (res.status < 500) {
85
+ recordLastOnlineVerify();
86
+ }
87
+ if (!res.ok) {
88
+ return res.text().then(function (t) {
89
+ // 5xx = hub/infra down → treat as offline so consumeOfflinePermit fires.
90
+ // 4xx = explicit rejection (bad auth, quota exceeded) → not offline.
91
+ const offline = res.status >= 500;
92
+ return { ok: false, error: 'HTTP ' + res.status + ': ' + t.slice(0, 200), offline };
93
+ });
94
+ }
95
+ return res.json().then(function (result) {
96
+ if (result && result.ok && result.offline_token) {
97
+ cacheOfflineToken(result.offline_token);
98
+ }
99
+ return result;
100
+ });
101
+ })
102
+ .catch(function (err) {
103
+ return { ok: false, error: err.message, offline: true };
104
+ });
105
+ }
106
+
107
+ // --- Offline token management ---
108
+
109
+ var _OFFLINE_TOKEN_FILE = null;
110
+ var _LAST_VERIFY_FILE = null;
111
+
112
+ function getMemDir() {
113
+ try {
114
+ return require('./paths').getMemoryDir();
115
+ } catch (e) {
116
+ try {
117
+ return path.join(require('./paths').getRepoRoot(), '.evolver', 'memory');
118
+ } catch (e2) {
119
+ return path.join(process.cwd(), '.evolver', 'memory');
120
+ }
121
+ }
122
+ }
123
+
124
+ function offlineTokenPath() {
125
+ if (!_OFFLINE_TOKEN_FILE) {
126
+ _OFFLINE_TOKEN_FILE = path.join(getMemDir(), '.ot');
127
+ }
128
+ return _OFFLINE_TOKEN_FILE;
129
+ }
130
+
131
+ function lastVerifyPath() {
132
+ if (!_LAST_VERIFY_FILE) {
133
+ _LAST_VERIFY_FILE = path.join(getMemDir(), '.lv');
134
+ }
135
+ return _LAST_VERIFY_FILE;
136
+ }
137
+
138
+ // Offline token integrity (C2): the .ot file is an anti-tamper quota counter,
139
+ // not a credential — encryption is the wrong primitive. Sign the token with
140
+ // HMAC-SHA256 keyed off nodeSecret instead. A cloned install carries a stale
141
+ // secret-signed token; HMAC verification fails on the first offline read and
142
+ // the token is rejected. Online verification rotates the secret, so legit
143
+ // re-issuance is automatic.
144
+ function getNodeSecret() {
145
+ // Env var first — matches a2aProtocol.getHubNodeSecret() priority and lets
146
+ // the HMAC path work in environments where a2aProtocol can't be required.
147
+ if (process.env.A2A_NODE_SECRET) return process.env.A2A_NODE_SECRET;
148
+ try { return require('./a2aProtocol').getHubNodeSecret() || null; } catch (e) { return null; }
149
+ }
150
+
151
+ function cacheOfflineToken(token) {
152
+ try {
153
+ const nodeSecret = getNodeSecret();
154
+ if (!nodeSecret) return;
155
+ const dir = path.dirname(offlineTokenPath());
156
+ if (!fs.existsSync(dir)) fs.mkdirSync(dir, { recursive: true });
157
+ // HMAC stability: token field names must NOT be integer-like strings.
158
+ // V8's JSON.stringify sorts integer-keyed properties numerically while
159
+ // preserving insertion order for non-integer keys; an all-digit field
160
+ // would re-order between cache and load and break verification.
161
+ const data = JSON.stringify(token);
162
+ const hmac = hmacSha256(nodeSecret, data);
163
+ fs.writeFileSync(offlineTokenPath(), JSON.stringify({ data: token, hmac }), 'utf8');
164
+ } catch (e) {}
165
+ }
166
+
167
+ function loadOfflineToken() {
168
+ try {
169
+ if (!fs.existsSync(offlineTokenPath())) return null;
170
+ const stored = JSON.parse(fs.readFileSync(offlineTokenPath(), 'utf8'));
171
+ if (!stored || !stored.data || typeof stored.hmac !== 'string') return null;
172
+ const nodeSecret = getNodeSecret();
173
+ if (!nodeSecret) return null;
174
+ const expected = hmacSha256(nodeSecret, JSON.stringify(stored.data));
175
+ // Hex-encode the HMAC bytes for comparison: 32-byte buffers, not 64-byte
176
+ // ASCII representations. Length pre-check guards timingSafeEqual which
177
+ // throws on mismatched lengths.
178
+ const expBuf = Buffer.from(expected, 'hex');
179
+ const gotBuf = Buffer.from(stored.hmac, 'hex');
180
+ if (expBuf.length !== gotBuf.length || !crypto.timingSafeEqual(expBuf, gotBuf)) {
181
+ return null;
182
+ }
183
+ return stored.data;
184
+ } catch (e) {
185
+ return null;
186
+ }
187
+ }
188
+
189
+ function recordLastOnlineVerify() {
190
+ try {
191
+ const dir = path.dirname(lastVerifyPath());
192
+ if (!fs.existsSync(dir)) fs.mkdirSync(dir, { recursive: true });
193
+ fs.writeFileSync(lastVerifyPath(), String(Date.now()), 'utf8');
194
+ } catch (e) {}
195
+ }
196
+
197
+ function getLastOnlineVerifyTs() {
198
+ try {
199
+ if (!fs.existsSync(lastVerifyPath())) return 0;
200
+ return parseInt(fs.readFileSync(lastVerifyPath(), 'utf8'), 10) || 0;
201
+ } catch (e) {
202
+ return 0;
203
+ }
204
+ }
205
+
206
+ var MAX_OFFLINE_SOLIDIFIES = 10;
207
+ var MAX_OFFLINE_DURATION_MS = 7 * 24 * 60 * 60 * 1000;
208
+ var MAX_CLOCK_DRIFT_MS = 24 * 60 * 60 * 1000;
209
+
210
+ // The offline-permit pipeline is `loadOfflineToken → check cap →
211
+ // cacheOfflineToken` (read → check → write). Within a single Node process
212
+ // the chain is synchronous so no intra-process race, but two cooperating
213
+ // processes (daemon + CLI `evolver solidify`) hitting the path at the same
214
+ // moment could both read the same `usedCount`, both pass the cap check,
215
+ // and both increment-and-write — the local counter then trailed reality
216
+ // and the offline quota could be exceeded by N for N concurrent callers.
217
+ // Hub-side enforcement catches this on the next online verify, but the
218
+ // audit posture is wrong locally.
219
+ //
220
+ // Reuse `withFileLock` from assetStore.js — same `src/gep/` directory,
221
+ // already battle-tested for multi-process read-modify-write of memory-dir
222
+ // files, and uses PID-liveness (`process.kill(pid, 0)`) for stale
223
+ // detection plus an Atomics-or-busy-wait fallback for the retry sleep.
224
+ // withFileLock throws on acquire timeout; we map that to a specific
225
+ // `offline_permit_busy` result so callers (daemon heartbeat / CLI
226
+ // solidify) can distinguish "contended" from "permit denied" and retry
227
+ // next cycle.
228
+ function consumeOfflinePermit() {
229
+ // Ensure the memory directory exists before withFileLock tries to
230
+ // create `<memDir>/.ot.lock`. Pre-refactor, the function always
231
+ // returned a structured envelope (loadOfflineToken / cacheOfflineToken
232
+ // both swallow errors internally); after the refactor a fresh install
233
+ // without the memory dir would throw ENOENT from _acquireLock and
234
+ // bubble past the Lock-timeout catch below, breaking the never-throw
235
+ // contract (Bugbot PR #157 R2 Low).
236
+ try {
237
+ var dir = path.dirname(offlineTokenPath());
238
+ if (!fs.existsSync(dir)) fs.mkdirSync(dir, { recursive: true });
239
+ } catch (_) { /* fall through — caught by the wrapper below */ }
240
+
241
+ try {
242
+ return withFileLock(offlineTokenPath(), function () {
243
+ var token = loadOfflineToken();
244
+ if (!token) return { ok: false, error: 'no_offline_token', offline: true };
245
+
246
+ var maxSolidifies = token.maxOfflineSolidifies || MAX_OFFLINE_SOLIDIFIES;
247
+ var expiresAt = token.expiresAt || 0;
248
+ var usedCount = token.usedCount || 0;
249
+ var now = Date.now();
250
+
251
+ var lastOnline = getLastOnlineVerifyTs();
252
+ if (lastOnline > 0 && now < lastOnline - MAX_CLOCK_DRIFT_MS) {
253
+ return { ok: false, error: 'clock_drift_detected', offline: true };
254
+ }
255
+
256
+ if (expiresAt > 0 && now > expiresAt) {
257
+ return { ok: false, error: 'offline_token_expired', offline: true };
258
+ }
259
+
260
+ if (lastOnline > 0 && (now - lastOnline) > MAX_OFFLINE_DURATION_MS) {
261
+ return { ok: false, error: 'offline_duration_exceeded', offline: true };
262
+ }
263
+
264
+ if (usedCount >= maxSolidifies) {
265
+ return { ok: false, error: 'offline_quota_exhausted', offline: true };
266
+ }
267
+
268
+ token.usedCount = usedCount + 1;
269
+ cacheOfflineToken(token);
270
+ return { ok: true, offline: true, remaining: maxSolidifies - token.usedCount };
271
+ });
272
+ } catch (e) {
273
+ // Preserve the "always returns a structured envelope" contract that
274
+ // the pre-refactor consumeOfflinePermit had (loadOfflineToken and
275
+ // cacheOfflineToken both swallowed FS errors internally).
276
+ //
277
+ // - "Lock timeout" → another process holds the lock past the
278
+ // acquire deadline. Surface as busy so the caller's heartbeat
279
+ // loop can retry on the next cycle.
280
+ // - Any other error (ENOENT/EACCES on the lock file, FS misconfig)
281
+ // → report as offline_lock_failed with the original message
282
+ // truncated. The daemon's solidify.js call site treats !ok as
283
+ // a recoverable hint, not a crash trigger.
284
+ var msg = (e && e.message) || String(e);
285
+ if (msg.indexOf('Lock timeout') !== -1) {
286
+ return { ok: false, error: 'offline_permit_busy', offline: true };
287
+ }
288
+ return { ok: false, error: 'offline_lock_failed', offline: true, detail: msg.slice(0, 200) };
289
+ }
290
+ }
291
+
292
+ function isSolidifyVerifyEnabled() {
293
+ if (process.env.NODE_ENV === 'test') {
294
+ var v = (process.env.EVOLVER_SOLIDIFY_VERIFY || '').toLowerCase();
295
+ if (v === 'false' || v === '0' || v === 'off') return false;
296
+ }
297
+ var hubUrl = process.env.A2A_HUB_URL || '';
298
+ return !!hubUrl;
299
+ }
300
+
301
+ module.exports = {
302
+ requestSolidifyPermit,
303
+ isSolidifyVerifyEnabled,
304
+ consumeOfflinePermit,
305
+ getLastOnlineVerifyTs,
306
+ };