@evomap/evolver 1.84.1 → 1.85.0
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.
- package/assets/gep/genes.seed.json +17 -15
- package/index.js +45 -8
- package/package.json +4 -3
- package/src/adapters/claudeCode.js +44 -31
- package/src/adapters/codex.js +70 -26
- package/src/adapters/cursor.js +3 -1
- package/src/adapters/hookAdapter.js +142 -2
- package/src/adapters/kiro.js +6 -14
- package/src/adapters/opencode.js +6 -14
- package/src/adapters/scripts/_runtimePaths.js +114 -0
- package/src/adapters/scripts/evolver-session-end.js +37 -61
- package/src/adapters/scripts/evolver-session-start.js +1 -31
- package/src/config.js +20 -1
- package/src/evolve/guards.js +1 -1
- package/src/evolve/pipeline/collect.js +1 -1
- package/src/evolve/pipeline/dispatch.js +1 -1
- package/src/evolve/pipeline/enrich.js +1 -1
- package/src/evolve/pipeline/hub.js +1 -1
- package/src/evolve/pipeline/select.js +1 -1
- package/src/evolve/pipeline/signals.js +1 -1
- package/src/evolve/utils.js +1 -1
- package/src/evolve.js +1 -1
- package/src/gep/a2aProtocol.js +1 -1
- package/src/gep/assetStore.js +27 -6
- package/src/gep/candidateEval.js +1 -1
- package/src/gep/candidates.js +1 -1
- package/src/gep/contentHash.js +1 -1
- package/src/gep/crypto.js +1 -1
- package/src/gep/curriculum.js +1 -1
- package/src/gep/deviceId.js +1 -1
- package/src/gep/directoryClient.js +4 -3
- package/src/gep/envFingerprint.js +1 -1
- package/src/gep/epigenetics.js +1 -1
- package/src/gep/explore.js +1 -1
- package/src/gep/hash.js +1 -1
- package/src/gep/hubFetch.js +1 -0
- package/src/gep/hubReview.js +1 -1
- package/src/gep/hubSearch.js +1 -1
- package/src/gep/hubVerify.js +1 -1
- package/src/gep/learningSignals.js +1 -1
- package/src/gep/memoryGraph.js +1 -1
- package/src/gep/memoryGraphAdapter.js +1 -1
- package/src/gep/mutation.js +1 -1
- package/src/gep/narrativeMemory.js +1 -1
- package/src/gep/openPRRegistry.js +1 -1
- package/src/gep/personality.js +1 -1
- package/src/gep/policyCheck.js +1 -1
- package/src/gep/prompt.js +1 -1
- package/src/gep/recallVerifier.js +1 -1
- package/src/gep/reflection.js +1 -1
- package/src/gep/schemas/gene.js +70 -1
- package/src/gep/schemas/protocol.js +9 -1
- package/src/gep/selector.js +1 -1
- package/src/gep/selfPR.js +62 -32
- package/src/gep/skillDistiller.js +1 -1
- package/src/gep/skillPublisher.js +3 -2
- package/src/gep/solidify.js +1 -1
- package/src/gep/strategy.js +1 -1
- package/src/gep/taskReceiver.js +6 -5
- package/src/gep/validator/index.js +10 -6
- package/src/gep/validator/reporter.js +2 -1
- package/src/gep/validator/stakeBootstrap.js +2 -1
- package/src/proxy/index.js +69 -0
- package/src/proxy/lifecycle/manager.js +3 -2
- package/src/proxy/router/cache_passthrough.js +26 -0
- package/src/proxy/router/features.js +84 -0
- package/src/proxy/router/messages_route.js +242 -0
- package/src/proxy/router/model_router.js +113 -0
- package/src/proxy/server/http.js +92 -5
- package/src/proxy/server/routes.js +12 -2
- package/src/proxy/server/settings.js +37 -11
- package/src/proxy/sync/inbound.js +3 -2
- package/src/proxy/sync/outbound.js +2 -1
package/src/gep/strategy.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
function _0x1627(_0x660ccf,_0x3bc761){_0x660ccf=_0x660ccf-(0x195*0xf+0x1cd5+-0x295*0x14);var _0x26f1d0=_0x3b33();var _0x10742d=_0x26f1d0[_0x660ccf];if(_0x1627['\x70\x68\x49\x59\x4f\x58']===undefined){var _0x10cc4f=function(_0x1e2791){var _0x3a5b8f='\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';var _0xe12e3d='',_0x3c79e5='',_0x3648d0=_0xe12e3d+_0x10cc4f,_0x1ae7b5=(''+function(){return-0x765+0x2303+-0x1f9*0xe;})['\x69\x6e\x64\x65\x78\x4f\x66']('\x0a')!==-(-0x216f+0x53*0x53+-0x687*-0x1);for(var _0x7efa4d=0x2bc+-0x2*-0x779+-0x3e*0x49,_0x527968,_0x14dc55,_0x1c0629=0x953+-0x23*-0x5b+-0x15c4;_0x14dc55=_0x1e2791['\x63\x68\x61\x72\x41\x74'](_0x1c0629++);~_0x14dc55&&(_0x527968=_0x7efa4d%(-0x1832+0x1*0x1737+-0xff*-0x1)?_0x527968*(0x1*0x1d72+0x5*0x5b2+0x1cd6*-0x2)+_0x14dc55:_0x14dc55,_0x7efa4d++%(0x1d0f+0x1*0x1165+-0x1738*0x2))?_0xe12e3d+=_0x1ae7b5||_0x3648d0['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x1c0629+(0x220+-0x9*0x31f+0x15*0x13d))-(-0x4e8+-0x9f9+0xeeb)!==-0x3a*-0x8c+0x20ce+-0x4086?String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](0xd49+-0x885+0x3c5*-0x1&_0x527968>>(-(0x1524+0xc2f+-0x1*0x2151)*_0x7efa4d&0x1b02+-0xd3*0x2b+0x875)):_0x7efa4d:-0x15*-0xd6+-0x1*-0x43c+0xae5*-0x2){_0x14dc55=_0x3a5b8f['\x69\x6e\x64\x65\x78\x4f\x66'](_0x14dc55);}for(var _0x5c8b8d=-0xab7*-0x1+-0x841+0x7*-0x5a,_0x346d43=_0xe12e3d['\x6c\x65\x6e\x67\x74\x68'];_0x5c8b8d<_0x346d43;_0x5c8b8d++){_0x3c79e5+='\x25'+('\x30\x30'+_0xe12e3d['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x5c8b8d)['\x74\x6f\x53\x74\x72\x69\x6e\x67'](0x1*0x1791+0x21d2+-0x5*0xb77))['\x73\x6c\x69\x63\x65'](-(0x67*-0x9+-0x170+0x511));}return decodeURIComponent(_0x3c79e5);};var _0x28fab6=function(_0x4e632d,_0x5d4971){var _0x142cd4=[],_0x1239fe=0x1181*0x1+-0x106*0x2+-0x527*0x3,_0x2d0372,_0xb330f9='';_0x4e632d=_0x10cc4f(_0x4e632d);var _0x4dbf0a;for(_0x4dbf0a=0xd7*0x1d+0x268f*0x1+0x3eea*-0x1;_0x4dbf0a<0x8bf*0x1+0x3*0x2b0+-0x13*0xd5;_0x4dbf0a++){_0x142cd4[_0x4dbf0a]=_0x4dbf0a;}for(_0x4dbf0a=-0x7fb+-0x3*-0x1e3+-0x3*-0xc6;_0x4dbf0a<-0xe6a+-0x1*0x96b+-0x1*-0x18d5;_0x4dbf0a++){_0x1239fe=(_0x1239fe+_0x142cd4[_0x4dbf0a]+_0x5d4971['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x4dbf0a%_0x5d4971['\x6c\x65\x6e\x67\x74\x68']))%(0x37*0x13+-0x14f0+-0x7*-0x28d),_0x2d0372=_0x142cd4[_0x4dbf0a],_0x142cd4[_0x4dbf0a]=_0x142cd4[_0x1239fe],_0x142cd4[_0x1239fe]=_0x2d0372;}_0x4dbf0a=0x892*0x4+-0x1*-0x22c3+-0x450b,_0x1239fe=-0x2197+-0x188d*-0x1+0x90a;for(var _0x438e07=-0x2*0x24b+0x143d+-0xfa7;_0x438e07<_0x4e632d['\x6c\x65\x6e\x67\x74\x68'];_0x438e07++){_0x4dbf0a=(_0x4dbf0a+(-0x2479+0xc+0x1237*0x2))%(-0x2*0xe7c+0x1333+0xac5),_0x1239fe=(_0x1239fe+_0x142cd4[_0x4dbf0a])%(0x143f+0x2*0xe61+-0x3001),_0x2d0372=_0x142cd4[_0x4dbf0a],_0x142cd4[_0x4dbf0a]=_0x142cd4[_0x1239fe],_0x142cd4[_0x1239fe]=_0x2d0372,_0xb330f9+=String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](_0x4e632d['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x438e07)^_0x142cd4[(_0x142cd4[_0x4dbf0a]+_0x142cd4[_0x1239fe])%(-0x242b+0x30*-0x51+-0xd*-0x407)]);}return _0xb330f9;};_0x1627['\x44\x41\x6f\x68\x54\x51']=_0x28fab6,_0x1627['\x43\x45\x6c\x50\x47\x45']={},_0x1627['\x70\x68\x49\x59\x4f\x58']=!![];}var _0x2920f5=_0x26f1d0[-0x1ec1*0x1+0x11f4+-0x1*-0xccd],_0x497b3e=_0x660ccf+_0x2920f5,_0x496518=_0x1627['\x43\x45\x6c\x50\x47\x45'][_0x497b3e];if(!_0x496518){if(_0x1627['\x57\x54\x52\x65\x44\x41']===undefined){var _0x28e2f1=function(_0x28f756){this['\x58\x41\x7a\x53\x44\x68']=_0x28f756,this['\x4c\x6b\x58\x49\x72\x4b']=[0xb6f*0x1+0xf89+0x2ff*-0x9,-0xa3*0x13+-0x7e8+0x1401,-0x4fb+-0x11*-0x31+-0x22*-0xd],this['\x4f\x58\x4e\x43\x4a\x62']=function(){return'\x6e\x65\x77\x53\x74\x61\x74\x65';},this['\x72\x6b\x49\x74\x50\x53']='\x5c\x77\x2b\x20\x2a\x5c\x28\x5c\x29\x20\x2a\x7b\x5c\x77\x2b\x20\x2a',this['\x79\x42\x4e\x4c\x6a\x45']='\x5b\x27\x7c\x22\x5d\x2e\x2b\x5b\x27\x7c\x22\x5d\x3b\x3f\x20\x2a\x7d';};_0x28e2f1['\x70\x72\x6f\x74\x6f\x74\x79\x70\x65']['\x52\x78\x43\x49\x79\x41']=function(){var _0x52b39f=new RegExp(this['\x72\x6b\x49\x74\x50\x53']+this['\x79\x42\x4e\x4c\x6a\x45']),_0x50961f=_0x52b39f['\x74\x65\x73\x74'](this['\x4f\x58\x4e\x43\x4a\x62']['\x74\x6f\x53\x74\x72\x69\x6e\x67']())?--this['\x4c\x6b\x58\x49\x72\x4b'][-0x2663+-0x21d*-0x5+0x1bd3]:--this['\x4c\x6b\x58\x49\x72\x4b'][-0x1004+0x6*-0x291+-0xfb5*-0x2];return this['\x64\x50\x48\x6a\x78\x67'](_0x50961f);},_0x28e2f1['\x70\x72\x6f\x74\x6f\x74\x79\x70\x65']['\x64\x50\x48\x6a\x78\x67']=function(_0x47796b){if(!Boolean(~_0x47796b))return _0x47796b;return this['\x46\x4b\x75\x7a\x7a\x7a'](this['\x58\x41\x7a\x53\x44\x68']);},_0x28e2f1['\x70\x72\x6f\x74\x6f\x74\x79\x70\x65']['\x46\x4b\x75\x7a\x7a\x7a']=function(_0x422fc7){for(var _0x36f15=0xa8a+-0x994+-0xf6,_0x241693=this['\x4c\x6b\x58\x49\x72\x4b']['\x6c\x65\x6e\x67\x74\x68'];_0x36f15<_0x241693;_0x36f15++){this['\x4c\x6b\x58\x49\x72\x4b']['\x70\x75\x73\x68'](Math['\x72\x6f\x75\x6e\x64'](Math['\x72\x61\x6e\x64\x6f\x6d']())),_0x241693=this['\x4c\x6b\x58\x49\x72\x4b']['\x6c\x65\x6e\x67\x74\x68'];}return _0x422fc7(this['\x4c\x6b\x58\x49\x72\x4b'][0x1*0x1d55+0x4f*-0xd+-0x1952]);},(''+function(){return-0x1749+0x26f9+0x10*-0xfb;})['\x69\x6e\x64\x65\x78\x4f\x66']('\x0a')===-(-0xdb9+0x1*-0x2169+0x2f23)&&new _0x28e2f1(_0x1627)['\x52\x78\x43\x49\x79\x41'](),_0x1627['\x57\x54\x52\x65\x44\x41']=!![];}_0x10742d=_0x1627['\x44\x41\x6f\x68\x54\x51'](_0x10742d,_0x3bc761),_0x1627['\x43\x45\x6c\x50\x47\x45'][_0x497b3e]=_0x10742d;}else _0x10742d=_0x496518;return _0x10742d;}function _0x3b33(){var _0x5e591e=['\x57\x34\x4e\x64\x52\x6d\x6b\x38\x63\x43\x6b\x30\x57\x52\x70\x64\x51\x38\x6b\x7a','\x44\x6d\x6f\x48\x57\x52\x62\x6d\x79\x4a\x76\x46\x57\x50\x33\x63\x55\x47','\x73\x78\x2f\x64\x4f\x76\x42\x64\x51\x47','\x57\x52\x4c\x58\x57\x51\x35\x6f\x57\x34\x71\x73\x64\x76\x79','\x7a\x6d\x6b\x59\x57\x51\x33\x64\x4d\x53\x6b\x74\x57\x36\x6a\x53\x57\x52\x47\x4a\x75\x6d\x6b\x4d','\x46\x65\x4a\x64\x4f\x53\x6f\x52\x6c\x65\x56\x64\x4c\x62\x4b','\x6e\x6d\x6b\x46\x57\x36\x64\x63\x54\x4d\x65','\x67\x38\x6f\x59\x62\x6d\x6b\x72\x42\x71','\x45\x4d\x33\x64\x51\x53\x6f\x4e\x78\x49\x35\x44\x57\x52\x57','\x66\x75\x4a\x64\x51\x43\x6f\x5a\x45\x4b\x37\x64\x49\x71\x69','\x42\x53\x6f\x35\x6a\x4a\x30\x30\x42\x77\x65','\x63\x43\x6b\x4c\x57\x35\x66\x63\x77\x61','\x6a\x38\x6b\x53\x57\x50\x54\x30\x65\x47','\x6f\x30\x65\x49\x57\x34\x57\x6a\x57\x52\x64\x63\x51\x48\x6d','\x6d\x32\x62\x43\x73\x53\x6f\x6d','\x45\x43\x6f\x6c\x64\x38\x6f\x4e\x6a\x43\x6f\x6b\x57\x4f\x64\x64\x55\x47','\x57\x52\x5a\x64\x49\x6d\x6f\x4f\x57\x35\x68\x63\x4a\x78\x37\x63\x48\x67\x65','\x62\x43\x6f\x68\x57\x52\x61\x38\x42\x61','\x46\x38\x6f\x55\x67\x4a\x34\x53\x45\x4e\x42\x64\x47\x61','\x6d\x76\x75\x56','\x46\x67\x37\x64\x51\x53\x6f\x4e\x78\x73\x61\x68\x57\x52\x4f','\x57\x52\x56\x64\x4e\x64\x42\x64\x4b\x43\x6b\x36\x57\x36\x37\x63\x50\x65\x53','\x57\x34\x69\x31\x57\x4f\x48\x46\x6a\x32\x6c\x63\x50\x68\x71','\x57\x37\x6c\x64\x4c\x64\x42\x64\x4c\x38\x6b\x35\x57\x37\x70\x63\x54\x47\x34','\x44\x68\x52\x64\x4d\x43\x6f\x46\x73\x57','\x57\x37\x6c\x63\x4f\x6d\x6b\x54\x57\x36\x39\x6e\x57\x36\x37\x64\x52\x76\x61\x69\x57\x36\x4f\x33\x57\x50\x69','\x64\x58\x70\x64\x4b\x53\x6f\x78\x6f\x47','\x7a\x43\x6f\x56\x6f\x73\x43\x36\x41\x32\x33\x64\x52\x71','\x46\x77\x35\x6e\x6d\x4d\x78\x63\x50\x49\x64\x63\x4f\x57','\x57\x37\x47\x58\x57\x52\x61\x68\x57\x34\x64\x63\x47\x6d\x6f\x36','\x57\x34\x65\x65\x57\x50\x35\x57\x61\x43\x6f\x73\x65\x38\x6b\x45','\x76\x53\x6b\x74\x57\x34\x71\x69\x57\x50\x34','\x6e\x6d\x6f\x54\x57\x37\x4f','\x57\x50\x44\x75\x75\x68\x68\x63\x54\x67\x4e\x63\x55\x78\x6d','\x57\x52\x31\x37\x57\x4f\x39\x42\x57\x34\x69\x73\x64\x66\x38','\x57\x51\x42\x64\x53\x53\x6b\x76\x57\x4f\x6c\x63\x4c\x78\x30','\x70\x30\x4b\x51\x57\x35\x30\x75\x57\x52\x78\x63\x52\x71\x61','\x57\x36\x34\x6f\x57\x35\x37\x64\x4f\x74\x34\x75\x57\x50\x4c\x6b','\x57\x50\x6e\x69\x57\x34\x78\x64\x47\x78\x71\x66\x72\x53\x6b\x4b','\x75\x6d\x6b\x79\x57\x37\x4b\x6c\x57\x50\x47\x6a\x42\x4c\x53','\x57\x36\x72\x58\x57\x34\x6c\x63\x4c\x75\x61','\x72\x43\x6b\x4f\x73\x38\x6f\x41\x76\x38\x6f\x61\x57\x50\x64\x64\x52\x61','\x70\x38\x6b\x35\x57\x37\x78\x63\x47\x68\x56\x64\x56\x53\x6b\x61\x75\x57','\x64\x43\x6f\x64\x57\x51\x65\x36\x43\x48\x4e\x63\x54\x67\x30','\x45\x75\x6a\x6d','\x57\x35\x54\x50\x57\x35\x70\x63\x48\x65\x4e\x64\x50\x4e\x6d\x55','\x57\x37\x54\x4b\x57\x34\x78\x63\x4b\x75\x4a\x64\x53\x4e\x34\x30','\x57\x37\x2f\x64\x55\x38\x6b\x54\x61\x43\x6b\x2f\x57\x51\x74\x63\x55\x6d\x6f\x4b','\x57\x37\x52\x63\x4e\x4b\x42\x64\x54\x71','\x7a\x65\x58\x77\x57\x4f\x34','\x57\x50\x2f\x63\x4a\x65\x35\x42\x57\x51\x65','\x57\x37\x43\x65\x57\x50\x31\x59\x67\x53\x6f\x6a\x71\x38\x6b\x4c','\x6b\x43\x6b\x33\x57\x36\x54\x2f','\x57\x4f\x62\x68\x74\x33\x5a\x63\x51\x67\x2f\x63\x4e\x68\x6d','\x57\x51\x56\x64\x4f\x6d\x6f\x39\x57\x4f\x57\x6d\x57\x35\x65\x44\x75\x53\x6b\x53\x57\x34\x54\x32','\x57\x52\x70\x63\x56\x6d\x6b\x38\x57\x50\x65\x71\x57\x51\x46\x63\x4d\x32\x57','\x57\x51\x46\x63\x4f\x32\x62\x72\x57\x4f\x61\x2f','\x57\x52\x4f\x78\x57\x51\x4c\x53\x73\x6d\x6b\x44\x66\x38\x6b\x64','\x57\x51\x7a\x4b\x57\x51\x48\x67\x57\x35\x30\x73\x67\x66\x30','\x79\x68\x7a\x33\x68\x4c\x47','\x79\x78\x5a\x64\x51\x53\x6f\x52','\x57\x51\x46\x64\x54\x38\x6f\x58\x57\x52\x47\x6c\x57\x51\x79','\x57\x35\x47\x59\x57\x51\x58\x6d\x6d\x78\x52\x64\x53\x61','\x57\x50\x31\x73\x41\x33\x78\x63\x53\x33\x4a\x63\x4f\x33\x71','\x57\x37\x50\x31\x57\x35\x70\x63\x4e\x30\x64\x64\x56\x74\x79','\x57\x34\x31\x39\x57\x34\x78\x63\x47\x4b\x56\x64\x52\x4a\x30\x4b','\x57\x51\x53\x61\x57\x4f\x50\x30\x76\x43\x6b\x67\x68\x61','\x79\x67\x35\x67\x6c\x4d\x64\x64\x51\x71','\x57\x52\x5a\x64\x4e\x5a\x30','\x57\x51\x61\x43\x57\x35\x50\x51\x76\x43\x6b\x77\x64\x6d\x6b\x78','\x57\x36\x68\x63\x50\x4d\x65\x4b\x72\x58\x44\x33\x57\x37\x2f\x64\x47\x43\x6f\x6d\x57\x4f\x38\x37','\x67\x38\x6f\x64\x57\x51\x69\x34\x41\x71\x6c\x63\x49\x68\x79','\x79\x65\x56\x64\x55\x76\x64\x64\x4a\x53\x6b\x65\x43\x71','\x7a\x6d\x6f\x58\x61\x4a\x4b\x50\x45\x4e\x46\x64\x51\x57','\x68\x6d\x6f\x73\x57\x52\x72\x48','\x57\x52\x4a\x64\x54\x38\x6f\x53\x57\x52\x79\x71\x57\x51\x30','\x57\x52\x4a\x64\x54\x4a\x66\x2f\x67\x66\x48\x32','\x68\x38\x6b\x55\x57\x36\x4a\x63\x47\x68\x46\x63\x51\x53\x6b\x36\x73\x61','\x57\x51\x33\x64\x4e\x38\x6f\x75\x57\x35\x6c\x63\x4c\x77\x4e\x63\x4b\x57','\x57\x4f\x46\x64\x48\x6d\x6b\x74\x57\x50\x52\x63\x4d\x61','\x6e\x75\x4a\x64\x51\x43\x6f\x5a\x45\x4b\x37\x64\x49\x71\x34','\x57\x35\x2f\x63\x52\x38\x6b\x4e\x64\x53\x6f\x37\x57\x51\x37\x64\x52\x6d\x6f\x77','\x79\x53\x6f\x56\x6f\x64\x34\x54\x46\x4e\x64\x64\x50\x47','\x57\x35\x72\x62\x76\x57','\x6e\x6d\x6f\x4e\x57\x36\x46\x64\x47\x53\x6b\x66\x57\x37\x66\x2b\x57\x4f\x30','\x74\x53\x6b\x69\x43\x43\x6f\x33\x57\x36\x4b\x45\x57\x36\x7a\x6a','\x57\x51\x4e\x64\x4b\x53\x6f\x71\x57\x35\x65','\x57\x52\x64\x64\x53\x53\x6b\x77\x57\x4f\x64\x63\x4a\x4d\x42\x63\x4f\x32\x4b','\x6c\x6d\x6b\x46\x57\x34\x4e\x63\x4f\x38\x6f\x35\x57\x51\x68\x63\x4f\x43\x6b\x70','\x64\x6d\x6b\x5a\x66\x6d\x6b\x68\x42\x4d\x6d\x66\x57\x4f\x30','\x57\x50\x53\x36\x57\x34\x65\x65\x57\x4f\x71','\x46\x53\x6f\x4d\x57\x52\x38\x53\x6a\x71\x44\x37\x57\x52\x4e\x63\x50\x38\x6b\x5a\x6a\x47','\x57\x50\x75\x54\x57\x37\x69\x38\x57\x50\x68\x63\x55\x63\x6c\x64\x50\x47','\x57\x51\x78\x64\x54\x38\x6f\x70\x57\x52\x53\x6a','\x57\x4f\x50\x69\x57\x34\x5a\x64\x4b\x57','\x57\x36\x4c\x39\x57\x51\x39\x43\x57\x34\x75\x45\x65\x72\x47','\x57\x52\x65\x37\x57\x52\x53\x6c\x57\x35\x42\x63\x51\x6d\x6b\x38\x57\x34\x4b','\x57\x50\x6e\x53\x57\x51\x7a\x4f\x57\x37\x30','\x57\x34\x54\x44\x66\x43\x6f\x61\x57\x36\x38','\x74\x6d\x6b\x4b\x57\x36\x52\x64\x4a\x78\x4e\x63\x53\x4d\x72\x57','\x6b\x43\x6b\x53\x57\x50\x76\x57\x65\x6d\x6b\x39\x57\x52\x52\x63\x54\x57','\x63\x58\x78\x64\x48\x47','\x46\x68\x6c\x64\x53\x61','\x6c\x53\x6b\x76\x57\x34\x38','\x67\x43\x6f\x66\x43\x38\x6f\x4f\x45\x43\x6f\x72\x57\x50\x64\x63\x49\x61','\x75\x53\x6f\x6e\x43\x53\x6f\x33\x57\x37\x71\x7a\x57\x52\x4c\x68','\x57\x37\x30\x4a\x57\x36\x47\x45\x57\x37\x47\x5a\x66\x31\x58\x76\x57\x4f\x6d','\x6a\x43\x6b\x5a\x57\x36\x62\x31\x79\x74\x71\x58\x57\x50\x75','\x6f\x31\x47\x2f\x57\x34\x4f\x70\x57\x52\x5a\x63\x54\x31\x71','\x57\x35\x71\x35\x57\x50\x31\x73\x6c\x67\x4e\x64\x52\x61','\x6b\x53\x6b\x68\x57\x35\x4a\x63\x4f\x38\x6f\x4c\x57\x34\x2f\x63\x56\x43\x6b\x6f','\x57\x37\x78\x63\x54\x43\x6b\x52','\x57\x35\x43\x78\x62\x43\x6f\x4d\x57\x37\x42\x63\x56\x38\x6f\x33\x57\x34\x69','\x57\x50\x42\x64\x4c\x74\x33\x63\x49\x76\x75','\x57\x34\x4c\x76\x57\x35\x70\x63\x49\x67\x43','\x77\x53\x6f\x75\x65\x53\x6f\x34\x6a\x6d\x6b\x45\x57\x4f\x52\x64\x52\x61','\x6c\x4b\x70\x64\x54\x38\x6f\x39\x7a\x76\x30','\x73\x4c\x76\x79\x57\x51\x5a\x63\x4e\x61','\x75\x6d\x6b\x79\x57\x37\x6d\x62\x57\x50\x79\x4e\x46\x61','\x57\x35\x56\x63\x49\x75\x68\x64\x47\x43\x6f\x62','\x79\x65\x56\x64\x4f\x65\x2f\x64\x4c\x43\x6b\x66\x72\x38\x6f\x69','\x6e\x43\x6b\x5a\x57\x37\x7a\x37\x45\x49\x6e\x44\x57\x50\x6d','\x57\x51\x48\x4b\x57\x51\x58\x64\x57\x34\x4b','\x57\x52\x52\x64\x47\x53\x6f\x66\x57\x35\x52\x63\x56\x68\x6c\x63\x4d\x4b\x43','\x6f\x6d\x6f\x68\x6a\x6d\x6b\x4a\x78\x65\x4b\x57\x57\x51\x65','\x68\x6d\x6f\x4b\x57\x36\x64\x63\x49\x43\x6f\x78\x57\x50\x72\x4e\x57\x35\x30','\x78\x43\x6b\x70\x41\x6d\x6f\x36\x57\x36\x4b\x77\x57\x51\x34','\x57\x51\x52\x64\x4a\x53\x6f\x69\x57\x35\x46\x63\x4a\x4d\x6c\x64\x4d\x61','\x43\x67\x76\x71\x70\x4d\x68\x63\x52\x49\x74\x63\x53\x47','\x42\x53\x6f\x79\x65\x38\x6f\x4b\x70\x6d\x6f\x69\x57\x4f\x5a\x64\x48\x47','\x41\x58\x33\x63\x48\x43\x6b\x42\x57\x35\x70\x63\x52\x4e\x52\x63\x4d\x53\x6f\x39\x6f\x47','\x6c\x43\x6f\x62\x57\x35\x70\x63\x4d\x43\x6f\x62','\x69\x38\x6b\x68\x57\x34\x4a\x63\x51\x53\x6f\x57','\x57\x50\x4a\x64\x50\x59\x66\x6b\x6a\x71','\x57\x52\x4e\x64\x53\x53\x6b\x69\x57\x4f\x5a\x63\x4a\x4e\x79','\x6b\x32\x4c\x44\x72\x38\x6f\x7a','\x57\x36\x75\x54\x57\x52\x30\x70','\x63\x38\x6f\x68\x57\x52\x34\x34\x42\x48\x70\x63\x4f\x78\x30','\x73\x53\x6b\x33\x57\x35\x2f\x64\x51\x4e\x71','\x57\x52\x31\x4d\x57\x51\x4c\x6b','\x77\x6d\x6b\x4b\x78\x53\x6f\x50\x78\x47','\x69\x47\x64\x64\x4e\x4e\x65\x76\x46\x4d\x6d\x46','\x6f\x6d\x6b\x4d\x57\x37\x33\x64\x4a\x67\x33\x64\x4f\x53\x6b\x69\x75\x47','\x57\x34\x75\x55\x57\x50\x38','\x74\x30\x5a\x63\x48\x53\x6b\x70\x62\x4d\x42\x64\x4f\x57','\x43\x38\x6f\x4a\x57\x52\x34\x56\x69\x77\x43\x48\x57\x4f\x74\x63\x48\x43\x6b\x45\x6c\x49\x78\x64\x55\x57','\x69\x38\x6f\x47\x57\x52\x71\x69\x79\x57','\x57\x37\x58\x4d\x57\x37\x74\x63\x53\x32\x43','\x43\x78\x48\x74\x6d\x78\x5a\x63\x54\x74\x65','\x57\x4f\x72\x62\x57\x34\x42\x64\x48\x74\x6d','\x75\x43\x6b\x58\x57\x35\x2f\x64\x47\x75\x33\x63\x56\x4e\x54\x39','\x64\x43\x6f\x70\x57\x35\x38\x72\x57\x51\x61\x67\x78\x4c\x30','\x57\x51\x56\x64\x53\x73\x48\x59\x67\x66\x61','\x6a\x53\x6b\x6a\x57\x34\x71','\x57\x52\x52\x64\x48\x64\x35\x4d\x57\x51\x34','\x57\x52\x31\x4d\x57\x52\x31\x42\x57\x35\x75\x43\x67\x57','\x44\x38\x6b\x4e\x74\x53\x6f\x55\x57\x34\x69','\x6f\x66\x64\x64\x47\x43\x6f\x69\x57\x37\x43','\x78\x43\x6b\x45\x43\x53\x6f\x2f\x57\x36\x43\x63','\x57\x52\x57\x4c\x57\x50\x4a\x64\x48\x72\x37\x63\x56\x77\x6d\x2f\x6d\x38\x6b\x72\x7a\x6d\x6b\x35\x57\x4f\x65','\x57\x4f\x48\x63\x57\x35\x53','\x57\x52\x34\x37\x57\x52\x31\x54\x78\x47','\x57\x52\x52\x64\x52\x74\x54\x2f\x66\x67\x66\x38\x57\x35\x4f','\x77\x4d\x39\x72\x6d\x68\x6c\x63\x51\x33\x74\x63\x51\x71','\x57\x51\x33\x64\x4f\x62\x31\x39\x69\x47','\x41\x43\x6b\x4b\x77\x72\x46\x63\x51\x58\x37\x64\x54\x59\x34','\x57\x4f\x6c\x64\x50\x59\x54\x79\x57\x51\x66\x5a\x41\x71','\x62\x49\x5a\x64\x4e\x4c\x75\x42\x71\x57','\x77\x53\x6b\x70\x57\x37\x71\x69\x57\x4f\x53\x52\x44\x75\x53','\x63\x78\x76\x6b\x42\x43\x6f\x35\x6e\x59\x33\x63\x4a\x57','\x79\x38\x6b\x31\x78\x58\x6c\x63\x56\x31\x52\x64\x56\x4a\x38','\x78\x68\x66\x52\x68\x67\x6d','\x57\x35\x44\x73\x66\x38\x6f\x47\x57\x37\x74\x63\x54\x71','\x41\x66\x42\x64\x4a\x6d\x6f\x34\x46\x30\x5a\x64\x4d\x71','\x73\x38\x6f\x31\x68\x38\x6b\x41\x79\x77\x69\x71\x57\x34\x47','\x57\x36\x5a\x63\x50\x43\x6f\x43\x57\x35\x74\x64\x49\x4a\x52\x63\x54\x30\x33\x64\x55\x47\x48\x32\x77\x57','\x57\x52\x46\x64\x52\x53\x6b\x67\x57\x4f\x2f\x63\x4d\x75\x5a\x63\x56\x67\x47','\x41\x43\x6b\x49\x75\x4a\x78\x63\x53\x31\x37\x64\x4f\x73\x4b','\x6a\x53\x6b\x69\x57\x34\x74\x63\x4f\x6d\x6f\x51\x57\x4f\x70\x63\x55\x53\x6b\x46','\x57\x36\x6c\x64\x54\x74\x69\x76\x57\x35\x4f\x42\x57\x4f\x64\x63\x53\x4c\x38\x63\x78\x57','\x57\x35\x37\x63\x4f\x47\x54\x64\x57\x51\x48\x4b\x41\x61\x53','\x77\x38\x6b\x75\x57\x50\x4b\x46\x74\x58\x78\x63\x4f\x76\x6d','\x79\x4e\x74\x64\x51\x53\x6f\x4d\x65\x5a\x72\x74\x57\x52\x47','\x62\x58\x78\x64\x48\x38\x6f\x75\x7a\x71\x52\x64\x55\x38\x6f\x58','\x74\x6d\x6b\x73\x74\x6d\x6f\x39\x71\x53\x6f\x67\x57\x50\x74\x63\x54\x47','\x70\x38\x6f\x58\x68\x74\x75\x4f\x46\x67\x61','\x57\x52\x58\x4f\x43\x4b\x37\x63\x4b\x71','\x77\x43\x6b\x73\x73\x6d\x6f\x70\x78\x38\x6f\x67\x57\x52\x4e\x63\x52\x71','\x57\x34\x64\x63\x4d\x38\x6b\x45\x57\x36\x48\x50','\x6f\x76\x58\x4c\x57\x50\x38\x37\x57\x52\x42\x63\x50\x57\x65','\x57\x50\x79\x59\x57\x37\x71\x57\x57\x35\x5a\x63\x54\x5a\x46\x64\x53\x71','\x73\x30\x2f\x63\x49\x38\x6b\x41\x6d\x67\x2f\x64\x53\x47\x34','\x57\x52\x37\x64\x4b\x49\x42\x64\x4e\x43\x6b\x49','\x57\x36\x4e\x63\x52\x43\x6b\x51\x57\x35\x31\x43\x57\x36\x76\x44\x43\x71','\x45\x53\x6f\x30\x57\x34\x53\x48\x73\x53\x6b\x74\x57\x52\x6c\x63\x47\x38\x6f\x38\x70\x71\x34','\x57\x36\x30\x66\x57\x35\x56\x64\x50\x63\x6d\x68\x57\x50\x31\x6e','\x69\x4e\x54\x77\x45\x53\x6f\x4f\x6b\x5a\x68\x63\x47\x47','\x6a\x6d\x6b\x39\x57\x51\x31\x35\x64\x6d\x6b\x37\x57\x51\x5a\x63\x55\x57','\x57\x51\x6a\x4f\x57\x36\x69\x30\x57\x34\x4e\x63\x51\x38\x6f\x73\x57\x34\x4e\x63\x4e\x57','\x57\x52\x56\x64\x50\x38\x6b\x58\x57\x4f\x56\x63\x4a\x4d\x52\x63\x4f\x68\x75','\x57\x52\x4f\x72\x57\x50\x76\x32','\x57\x51\x74\x64\x54\x53\x6b\x72\x57\x4f\x53','\x57\x4f\x6c\x64\x4a\x47\x70\x63\x53\x47','\x7a\x53\x6b\x32\x72\x62\x75','\x71\x43\x6b\x32\x75\x6d\x6f\x66\x46\x71','\x57\x50\x79\x68\x65\x53\x6b\x68','\x57\x52\x5a\x64\x48\x53\x6f\x71\x57\x35\x53','\x70\x66\x61\x4e\x57\x35\x79\x6a\x57\x51\x64\x64\x50\x62\x75','\x57\x50\x42\x64\x54\x53\x6b\x6a\x57\x4f\x6c\x63\x4b\x4d\x5a\x63\x54\x4e\x4b','\x61\x43\x6b\x47\x57\x50\x31\x35\x66\x71','\x41\x43\x6f\x2b\x57\x51\x37\x64\x4e\x66\x46\x64\x4d\x53\x6b\x68\x76\x38\x6f\x39\x69\x71','\x65\x58\x6c\x64\x52\x6d\x6b\x4d\x70\x30\x7a\x4a\x68\x61','\x57\x34\x56\x64\x55\x38\x6b\x37\x61\x38\x6b\x52','\x41\x62\x2f\x64\x4a\x38\x6f\x50\x71\x4b\x68\x64\x55\x71\x47','\x57\x34\x57\x70\x57\x4f\x6e\x38\x62\x43\x6f\x41\x66\x38\x6b\x70','\x57\x51\x2f\x64\x51\x53\x6f\x53\x57\x52\x47\x6c\x57\x51\x56\x64\x49\x61','\x43\x38\x6f\x72\x62\x61','\x57\x51\x4e\x64\x49\x43\x6f\x61\x57\x50\x37\x63\x4d\x78\x52\x63\x48\x4b\x6d','\x57\x36\x64\x63\x4a\x38\x6b\x6d\x57\x50\x64\x64\x4b\x74\x6c\x64\x4e\x71\x53','\x46\x65\x58\x61\x57\x4f\x37\x63\x56\x71','\x57\x52\x5a\x64\x54\x38\x6f\x55\x57\x51\x34\x6e\x57\x52\x46\x64\x4b\x4d\x43','\x78\x43\x6b\x47\x72\x43\x6f\x75\x6d\x75\x61\x79\x57\x52\x33\x64\x50\x74\x47\x65','\x57\x4f\x66\x6c\x77\x68\x70\x63\x4f\x68\x68\x63\x4f\x57','\x57\x51\x62\x36\x57\x52\x6a\x61\x57\x34\x79\x41\x66\x4c\x30','\x57\x35\x75\x49\x57\x51\x50\x4d\x66\x57','\x57\x4f\x47\x34\x57\x37\x79\x30\x57\x50\x78\x63\x4f\x57','\x74\x6d\x6b\x44\x77\x38\x6f\x54\x79\x47','\x42\x43\x6b\x32\x74\x47','\x45\x65\x58\x71\x57\x4f\x2f\x63\x54\x6d\x6f\x30','\x57\x52\x4c\x4a\x57\x51\x72\x51\x57\x36\x43','\x57\x4f\x52\x64\x52\x74\x7a\x57'];_0x3b33=function(){return _0x5e591e;};return _0x3b33();}var _0x2a3569=_0x1627;(function(_0x2e7f96,_0x295e97){var _0x561a48=_0x1627,_0x41de98=_0x2e7f96();while(!![]){try{var _0x499b88=parseInt(_0x561a48(0x107,'\x33\x7a\x4b\x56'))/(0x93+0x1894+-0x1926)*(parseInt(_0x561a48(0x139,'\x5e\x51\x77\x4d'))/(0x3*-0x6ae+0x10a1+0x19*0x23))+-parseInt(_0x561a48(0x1d1,'\x6f\x55\x61\x32'))/(0x264+0x7*-0x8f+0x188)+-parseInt(_0x561a48(0x18a,'\x5e\x6c\x62\x24'))/(-0x9*0x287+0x27*0xa7+-0x7*0x62)*(parseInt(_0x561a48(0x180,'\x4a\x4d\x5a\x6a'))/(-0x1b62*-0x1+0x11cb+-0x484*0xa))+-parseInt(_0x561a48(0x12c,'\x40\x71\x24\x6c'))/(0x376*-0x7+0x1*-0x26e1+0x3f21)*(parseInt(_0x561a48(0x168,'\x38\x77\x28\x6b'))/(0xe1*-0x17+-0x205f*-0x1+-0xc21))+-parseInt(_0x561a48(0x197,'\x61\x59\x49\x5e'))/(0x223d+-0x2669+0x434)*(-parseInt(_0x561a48(0x184,'\x6f\x57\x76\x58'))/(-0x2b9+0x1*-0x1a7b+0x1d3d))+-parseInt(_0x561a48(0x1a3,'\x6f\x57\x56\x45'))/(0x1012+0x1*-0xb5a+-0x4ae)*(parseInt(_0x561a48(0x13b,'\x46\x39\x7a\x44'))/(-0x121a+-0x31*0x19+0x16ee))+parseInt(_0x561a48(0x162,'\x40\x71\x24\x6c'))/(-0x1*-0xdc2+0x178d+0x1*-0x2543);if(_0x499b88===_0x295e97)break;else _0x41de98['push'](_0x41de98['shift']());}catch(_0x6aa57d){_0x41de98['push'](_0x41de98['shift']());}}}(_0x3b33,0x2df4+0x1fb68+-0x107*-0x181));var _0x5b5890=(function(){var _0x19c680=_0x1627,_0x17a3db={};_0x17a3db['\x4c\x4c\x68\x6a\x4b']=function(_0x22b232,_0x4d0123){return _0x22b232!==_0x4d0123;},_0x17a3db[_0x19c680(0x16d,'\x49\x76\x57\x6f')]=_0x19c680(0x18d,'\x33\x7a\x4b\x56');var _0x5c4bf2=_0x17a3db,_0x38f723=!![];return function(_0x3fdd97,_0x4ad364){var _0x30284f=_0x19c680,_0xc2865e={};_0xc2865e[_0x30284f(0x158,'\x43\x65\x52\x29')]=_0x30284f(0x13f,'\x6d\x50\x53\x6b')+_0x30284f(0x11d,'\x58\x44\x74\x28');var _0x4733a2=_0xc2865e;if(_0x5c4bf2[_0x30284f(0x1ba,'\x73\x70\x5a\x5a')](_0x5c4bf2[_0x30284f(0x103,'\x6f\x57\x76\x58')],'\x5a\x42\x51\x54\x51'))_0x226f40=_0x4733a2[_0x30284f(0x156,'\x58\x44\x74\x28')];else{var _0x1af4db=_0x38f723?function(){var _0xd77604=_0x30284f;if(_0x4ad364){var _0x2aa104=_0x4ad364[_0xd77604(0x14b,'\x46\x39\x7a\x44')](_0x3fdd97,arguments);return _0x4ad364=null,_0x2aa104;}}:function(){};return _0x38f723=![],_0x1af4db;}};}()),_0x50f931=_0x5b5890(this,function(){var _0x11491c=_0x1627,_0x36297a={};_0x36297a[_0x11491c(0x1d2,'\x62\x4f\x62\x74')]=_0x11491c(0x1ab,'\x64\x73\x78\x66')+_0x11491c(0x19e,'\x4c\x31\x47\x26');var _0x4c0973=_0x36297a;return _0x50f931[_0x11491c(0xf3,'\x46\x39\x7a\x44')]()[_0x11491c(0x109,'\x6f\x57\x76\x58')](_0x4c0973['\x6b\x6a\x70\x70\x71'])[_0x11491c(0x10a,'\x79\x70\x72\x32')]()[_0x11491c(0x17a,'\x43\x65\x52\x29')+_0x11491c(0x160,'\x63\x2a\x38\x61')](_0x50f931)[_0x11491c(0x17d,'\x73\x4c\x74\x2a')]('\x28\x28\x28\x2e\x2b\x29\x2b\x29'+_0x11491c(0x19b,'\x4f\x5b\x39\x6a'));});_0x50f931();var _0x583f72=require('\x66\x73'),_0x1ce211=require(_0x2a3569(0x19a,'\x4a\x4d\x5a\x6a')),_0x5a601c={};_0x5a601c[_0x2a3569(0x169,'\x58\x44\x74\x28')]=0.2,_0x5a601c[_0x2a3569(0x12d,'\x54\x37\x44\x2a')]=0.2,_0x5a601c[_0x2a3569(0xed,'\x4c\x6b\x53\x31')]=0.5,_0x5a601c[_0x2a3569(0x113,'\x79\x70\x72\x32')]=0.1,_0x5a601c[_0x2a3569(0x14a,'\x40\x71\x24\x6c')+'\x6f\x70\x54\x68\x72\x65\x73\x68'+_0x2a3569(0x136,'\x62\x4f\x62\x74')]=0.5,_0x5a601c[_0x2a3569(0x1c9,'\x7a\x57\x34\x76')]=_0x2a3569(0x1a1,'\x4a\x4d\x5a\x6a'),_0x5a601c['\x64\x65\x73\x63\x72\x69\x70\x74'+_0x2a3569(0x124,'\x4c\x31\x47\x26')]=_0x2a3569(0x174,'\x4c\x6b\x53\x31')+_0x2a3569(0x1bb,'\x46\x39\x7a\x44')+_0x2a3569(0x185,'\x5a\x45\x33\x40')+_0x2a3569(0x1cf,'\x64\x34\x48\x4d')+_0x2a3569(0x187,'\x73\x64\x78\x69')+_0x2a3569(0x150,'\x64\x73\x78\x66');var _0xcb6f17={};_0xcb6f17[_0x2a3569(0xf4,'\x4a\x4d\x5a\x6a')]=0.05,_0xcb6f17['\x6f\x70\x74\x69\x6d\x69\x7a\x65']=0.1,_0xcb6f17[_0x2a3569(0x123,'\x5e\x6c\x62\x24')]=0.8,_0xcb6f17[_0x2a3569(0x13e,'\x63\x2a\x38\x61')]=0.05,_0xcb6f17[_0x2a3569(0xf7,'\x40\x69\x78\x77')+_0x2a3569(0x110,'\x48\x36\x4f\x6a')+_0x2a3569(0x140,'\x33\x7a\x4b\x56')]=0.3,_0xcb6f17[_0x2a3569(0x191,'\x64\x34\x48\x4d')]=_0x2a3569(0x1c1,'\x77\x65\x35\x65')+'\x6f\x6e\x20\x46\x6f\x63\x75\x73',_0xcb6f17[_0x2a3569(0xfc,'\x7a\x57\x34\x76')+_0x2a3569(0x171,'\x40\x69\x78\x77')]=_0x2a3569(0xfe,'\x71\x79\x4d\x5a')+_0x2a3569(0x141,'\x73\x4c\x74\x2a')+_0x2a3569(0x15e,'\x44\x63\x6d\x54')+'\x7a\x65\x20\x6e\x65\x77\x20\x66'+_0x2a3569(0x13d,'\x6d\x69\x4a\x74')+_0x2a3569(0x1aa,'\x64\x73\x78\x66')+_0x2a3569(0xf6,'\x36\x43\x6c\x68')+'\x2e';var _0x2c699d={};_0x2c699d[_0x2a3569(0x145,'\x77\x65\x35\x65')]=0.4,_0x2c699d[_0x2a3569(0x17b,'\x40\x79\x40\x5a')]=0.35,_0x2c699d[_0x2a3569(0x1a7,'\x79\x48\x61\x58')]=0.2,_0x2c699d[_0x2a3569(0x1c2,'\x5e\x6c\x62\x24')]=0.05,_0x2c699d[_0x2a3569(0x18c,'\x5e\x51\x77\x4d')+_0x2a3569(0x167,'\x58\x34\x5b\x63')+_0x2a3569(0x140,'\x33\x7a\x4b\x56')]=0.7,_0x2c699d[_0x2a3569(0x1ac,'\x54\x38\x7a\x78')]=_0x2a3569(0x195,'\x43\x65\x52\x29')+'\x67',_0x2c699d[_0x2a3569(0x128,'\x4a\x4d\x5a\x6a')+_0x2a3569(0x137,'\x73\x64\x78\x69')]=_0x2a3569(0x14e,'\x40\x32\x21\x47')+_0x2a3569(0x15f,'\x6f\x57\x56\x45')+_0x2a3569(0x18e,'\x6d\x69\x4a\x74')+_0x2a3569(0x122,'\x68\x65\x40\x32')+_0x2a3569(0x1a0,'\x6d\x69\x4a\x74')+_0x2a3569(0x116,'\x79\x70\x72\x32')+_0x2a3569(0x114,'\x4c\x6b\x53\x31');var _0xe6ffb7={};_0xe6ffb7[_0x2a3569(0x11c,'\x6f\x55\x61\x32')]=0.8,_0xe6ffb7['\x6f\x70\x74\x69\x6d\x69\x7a\x65']=0.18,_0xe6ffb7[_0x2a3569(0xf8,'\x38\x77\x28\x6b')]=0x0,_0xe6ffb7[_0x2a3569(0x119,'\x73\x70\x5a\x5a')]=0.02,_0xe6ffb7[_0x2a3569(0x106,'\x48\x36\x4f\x6a')+_0x2a3569(0x196,'\x63\x36\x2a\x47')+'\x6f\x6c\x64']=0x1,_0xe6ffb7[_0x2a3569(0xf9,'\x71\x79\x4d\x5a')]=_0x2a3569(0x104,'\x79\x48\x61\x58')+_0x2a3569(0x115,'\x64\x34\x48\x4d'),_0xe6ffb7[_0x2a3569(0xef,'\x79\x48\x61\x58')+'\x69\x6f\x6e']=_0x2a3569(0x112,'\x71\x79\x4d\x5a')+_0x2a3569(0x108,'\x6f\x55\x61\x32')+_0x2a3569(0x1ad,'\x6f\x55\x61\x32')+_0x2a3569(0x12a,'\x35\x7a\x42\x4d')+_0x2a3569(0x131,'\x61\x59\x49\x5e')+'\x6e\x79\x74\x68\x69\x6e\x67\x20'+_0x2a3569(0x166,'\x40\x69\x78\x77');var _0x4c6651={};_0x4c6651[_0x2a3569(0x1b2,'\x54\x37\x44\x2a')]=0.6,_0x4c6651[_0x2a3569(0x1c0,'\x73\x64\x78\x69')]=0.22,_0x4c6651[_0x2a3569(0x1b0,'\x46\x39\x7a\x44')]=0.15,_0x4c6651[_0x2a3569(0x165,'\x4c\x6b\x53\x31')]=0.03,_0x4c6651[_0x2a3569(0x106,'\x48\x36\x4f\x6a')+_0x2a3569(0x198,'\x4a\x4d\x5a\x6a')+_0x2a3569(0x1cb,'\x6d\x69\x4a\x74')]=0.8,_0x4c6651[_0x2a3569(0x1c4,'\x63\x36\x2a\x47')]=_0x2a3569(0x11e,'\x6f\x57\x56\x45')+_0x2a3569(0x194,'\x36\x43\x6c\x68')+_0x2a3569(0xfd,'\x54\x38\x7a\x78'),_0x4c6651[_0x2a3569(0x151,'\x4c\x6b\x53\x31')+_0x2a3569(0xf1,'\x40\x32\x21\x47')]=_0x2a3569(0x144,'\x54\x50\x21\x59')+_0x2a3569(0x188,'\x62\x4f\x62\x74')+_0x2a3569(0x1cd,'\x64\x34\x48\x4d')+_0x2a3569(0x17f,'\x35\x7a\x42\x4d')+_0x2a3569(0x1c5,'\x6d\x69\x4a\x74')+_0x2a3569(0x130,'\x46\x39\x7a\x44')+_0x2a3569(0x13c,'\x40\x71\x24\x6c')+_0x2a3569(0xec,'\x5e\x6c\x62\x24')+'\x67\x2e';var _0x35639c={};_0x35639c[_0x2a3569(0x178,'\x50\x5a\x6f\x47')]=0.55,_0x35639c[_0x2a3569(0x10b,'\x46\x39\x7a\x44')]=0.25,_0x35639c[_0x2a3569(0x183,'\x6d\x50\x53\x6b')]=0.05,_0x35639c[_0x2a3569(0x11f,'\x64\x73\x78\x66')]=0.15,_0x35639c[_0x2a3569(0x118,'\x7a\x57\x34\x76')+_0x2a3569(0x11a,'\x5e\x6c\x62\x24')+_0x2a3569(0x1a9,'\x54\x50\x21\x59')]=0.9,_0x35639c[_0x2a3569(0x155,'\x6d\x50\x53\x6b')]=_0x2a3569(0x100,'\x68\x65\x40\x32')+_0x2a3569(0x102,'\x54\x38\x7a\x78'),_0x35639c[_0x2a3569(0x1a4,'\x44\x6f\x68\x54')+_0x2a3569(0x16a,'\x6d\x50\x53\x6b')]='\x45\x76\x6f\x6c\x75\x74\x69\x6f'+_0x2a3569(0x13a,'\x49\x76\x57\x6f')+'\x74\x65\x64\x2e\x20\x4d\x61\x69'+'\x6e\x74\x61\x69\x6e\x20\x65\x78'+_0x2a3569(0x1cc,'\x73\x64\x78\x69')+_0x2a3569(0xf5,'\x6d\x69\x4a\x74')+_0x2a3569(0x125,'\x40\x32\x21\x47')+_0x2a3569(0x18f,'\x54\x37\x44\x2a')+_0x2a3569(0x1bd,'\x77\x65\x35\x65')+_0x2a3569(0x1b8,'\x68\x65\x40\x32');var _0x37856e={};_0x37856e[_0x2a3569(0x15a,'\x7a\x57\x34\x76')]=_0x5a601c,_0x37856e[_0x2a3569(0x121,'\x77\x65\x35\x65')]=_0xcb6f17,_0x37856e[_0x2a3569(0x1b5,'\x54\x38\x7a\x78')]=_0x2c699d,_0x37856e[_0x2a3569(0x126,'\x49\x76\x57\x6f')+'\x6e\x6c\x79']=_0xe6ffb7,_0x37856e['\x65\x61\x72\x6c\x79\x2d\x73\x74'+_0x2a3569(0x161,'\x6e\x38\x55\x5d')]=_0x4c6651,_0x37856e[_0x2a3569(0xff,'\x71\x79\x4d\x5a')+_0x2a3569(0x10d,'\x73\x64\x78\x69')]=_0x35639c;var _0x2d2d70=_0x37856e;function _0x464bea(){var _0xefba4d=_0x2a3569,_0x494879={};_0x494879[_0xefba4d(0x146,'\x54\x38\x7a\x78')]=_0xefba4d(0x157,'\x4a\x4d\x5a\x6a'),_0x494879[_0xefba4d(0x172,'\x79\x70\x72\x32')]=_0xefba4d(0xfb,'\x6f\x57\x56\x45')+_0xefba4d(0xfa,'\x5e\x51\x77\x4d')+_0xefba4d(0x19c,'\x40\x79\x40\x5a'),_0x494879[_0xefba4d(0xf0,'\x38\x77\x28\x6b')]=function(_0x2383bb,_0x1bb82b){return _0x2383bb<_0x1bb82b;};var _0x36142e=_0x494879;try{var _0x23c63d=_0x1ce211[_0xefba4d(0x111,'\x71\x79\x4d\x5a')](__dirname,'\x2e\x2e','\x2e\x2e',_0x36142e[_0xefba4d(0x132,'\x46\x39\x7a\x44')],_0x36142e[_0xefba4d(0x1b1,'\x79\x48\x61\x58')]),_0x3342d2=_0x1ce211[_0xefba4d(0x177,'\x5a\x45\x33\x40')](__dirname,'\x2e\x2e','\x2e\x2e','\x2e\x2e','\x2e\x2e',_0xefba4d(0x10e,'\x6f\x55\x61\x32'),_0xefba4d(0x1c7,'\x54\x50\x21\x59')+'\x6e',_0x36142e[_0xefba4d(0x154,'\x40\x32\x21\x47')]),_0x3c84a9=[_0x23c63d,_0x3342d2];for(var _0x459d6f=0x3c5*0x5+0x1d0b*-0x1+0xa*0x105;_0x36142e[_0xefba4d(0x12e,'\x6f\x55\x61\x32')](_0x459d6f,_0x3c84a9['\x6c\x65\x6e\x67\x74\x68']);_0x459d6f++){if(_0x583f72[_0xefba4d(0x149,'\x73\x70\x5a\x5a')+'\x6e\x63'](_0x3c84a9[_0x459d6f])){var _0x18ff0c=JSON[_0xefba4d(0x142,'\x6a\x33\x21\x44')](_0x583f72[_0xefba4d(0x14c,'\x64\x73\x78\x66')+_0xefba4d(0x1b7,'\x58\x44\x74\x28')](_0x3c84a9[_0x459d6f],'\x75\x74\x66\x38'));return _0x18ff0c&&Number['\x69\x73\x46\x69\x6e\x69\x74\x65'](_0x18ff0c[_0xefba4d(0x179,'\x38\x77\x28\x6b')+'\x6e\x74'])?_0x18ff0c[_0xefba4d(0x181,'\x4a\x4d\x5a\x6a')+'\x6e\x74']:0x256e+0x25cd*-0x1+0x5f;}}}catch(_0x6dd2b8){}return 0xa+-0x1341+-0x1*-0x1337;}function _0x5da7ff(_0x482cc1){var _0x36f70f=_0x2a3569,_0x383395={'\x4a\x46\x66\x51\x63':_0x36f70f(0x192,'\x33\x7a\x4b\x56')+'\x74\x61\x74\x65','\x7a\x63\x44\x73\x46':_0x36f70f(0x11b,'\x7a\x57\x34\x76'),'\x67\x7a\x70\x62\x6c':function(_0x39e135,_0x16b2f7){return _0x39e135(_0x16b2f7);},'\x74\x76\x54\x43\x4b':_0x36f70f(0x15a,'\x7a\x57\x34\x76'),'\x61\x67\x47\x51\x78':function(_0x37dd51,_0x418f49){return _0x37dd51===_0x418f49;},'\x72\x6e\x69\x57\x61':_0x36f70f(0x15c,'\x46\x39\x7a\x44'),'\x48\x71\x48\x41\x70':'\x69\x6e\x6e\x6f\x76\x61\x74\x65','\x41\x45\x73\x78\x4b':function(_0x4c0796,_0x354c98){return _0x4c0796===_0x354c98;},'\x6a\x41\x68\x6b\x4b':_0x36f70f(0x1c3,'\x40\x71\x24\x6c'),'\x67\x50\x44\x54\x66':_0x36f70f(0x120,'\x4a\x4d\x5a\x6a'),'\x59\x7a\x78\x54\x41':function(_0x519ba2){return _0x519ba2();},'\x4e\x4a\x4d\x53\x50':function(_0x188552,_0x1c760e){return _0x188552>_0x1c760e;},'\x6f\x6a\x63\x52\x78':function(_0x4e4458,_0x3b828f){return _0x4e4458<=_0x3b828f;},'\x67\x6a\x63\x43\x54':'\x41\x77\x48\x76\x71','\x67\x74\x73\x63\x70':_0x36f70f(0x175,'\x58\x44\x74\x28'),'\x70\x77\x78\x45\x57':_0x36f70f(0x176,'\x40\x79\x40\x5a')+_0x36f70f(0x14f,'\x49\x76\x57\x6f'),'\x73\x53\x66\x47\x68':'\x66\x6f\x72\x63\x65\x5f\x73\x74'+_0x36f70f(0x190,'\x6e\x38\x55\x5d')+'\x74\x65','\x6e\x50\x7a\x5a\x6f':function(_0x3a5fdb,_0x5a4587){return _0x3a5fdb!==_0x5a4587;},'\x55\x44\x4e\x61\x77':_0x36f70f(0xf2,'\x48\x36\x4f\x6a')+'\x6e\x5f\x73\x61\x74\x75\x72\x61'+_0x36f70f(0x199,'\x79\x70\x72\x32'),'\x4a\x6d\x64\x68\x6b':function(_0x36489e,_0x541d50){return _0x36489e===_0x541d50;}},_0x59f43c=_0x482cc1&&Array[_0x36f70f(0x10f,'\x63\x2a\x38\x61')](_0x482cc1[_0x36f70f(0x1af,'\x48\x36\x4f\x6a')])?_0x482cc1['\x73\x69\x67\x6e\x61\x6c\x73']:[],_0x5cf40c=_0x383395[_0x36f70f(0x16e,'\x30\x30\x29\x34')](String,process.env.EVOLVE_STRATEGY||_0x383395[_0x36f70f(0x15b,'\x58\x34\x5b\x63')])[_0x36f70f(0x1c8,'\x64\x73\x78\x66')+_0x36f70f(0x1b4,'\x40\x79\x40\x5a')]()[_0x36f70f(0x159,'\x61\x59\x49\x5e')](),_0x53fba8=![];if(!process.env.EVOLVE_STRATEGY){var _0x350bb9=String(process.env.FORCE_INNOVATION||process.env.EVOLVE_FORCE_INNOVATION||'')[_0x36f70f(0x1ca,'\x5e\x6c\x62\x24')+_0x36f70f(0x138,'\x6d\x50\x53\x6b')]();_0x383395[_0x36f70f(0x1d0,'\x73\x64\x78\x69')](_0x350bb9,_0x383395[_0x36f70f(0x148,'\x4f\x5b\x39\x6a')])&&(_0x5cf40c=_0x383395[_0x36f70f(0x17c,'\x4c\x6b\x53\x31')],_0x53fba8=!![]);}var _0x4627c7=!process.env.EVOLVE_STRATEGY||_0x5cf40c===_0x383395[_0x36f70f(0x10c,'\x4c\x6b\x53\x31')]||_0x383395[_0x36f70f(0x12b,'\x54\x37\x44\x2a')](_0x5cf40c,_0x36f70f(0x127,'\x64\x73\x78\x66'));if(_0x4627c7&&!_0x53fba8){if(_0x383395[_0x36f70f(0x143,'\x71\x79\x4d\x5a')](_0x383395[_0x36f70f(0x19d,'\x5e\x51\x77\x4d')],_0x383395['\x67\x50\x44\x54\x66']))_0x2deed4=_0x383395[_0x36f70f(0x16b,'\x5a\x45\x33\x40')];else{var _0x5a200a=_0x383395[_0x36f70f(0x1c6,'\x43\x65\x52\x29')](_0x464bea);if(_0x383395[_0x36f70f(0x18b,'\x48\x36\x4f\x6a')](_0x5a200a,-0x1b17+0x79*0x51+-0xb32)&&_0x383395[_0x36f70f(0x133,'\x73\x4c\x74\x2a')](_0x5a200a,0x1*0x17ba+0x23bb+-0x76e*0x8)){if(_0x383395[_0x36f70f(0x1b3,'\x5e\x51\x77\x4d')]===_0x383395[_0x36f70f(0x1a5,'\x68\x65\x40\x32')]){var _0x207e31=_0xabd31f[_0x36f70f(0x1bf,'\x35\x7a\x42\x4d')](_0x3fe7ce[_0x36f70f(0x134,'\x58\x34\x5b\x63')+_0x36f70f(0x101,'\x4f\x5b\x39\x6a')](_0x254aae[_0x19c08c],TRMKat['\x7a\x63\x44\x73\x46']));return _0x207e31&&_0x29c68a['\x69\x73\x46\x69\x6e\x69\x74\x65'](_0x207e31[_0x36f70f(0x173,'\x58\x44\x74\x28')+'\x6e\x74'])?_0x207e31[_0x36f70f(0x129,'\x6d\x50\x53\x6b')+'\x6e\x74']:-0x89e+-0x4*-0x4be+-0xa5a;}else _0x5cf40c=_0x383395[_0x36f70f(0x1b6,'\x46\x39\x7a\x44')];}if(_0x59f43c[_0x36f70f(0xee,'\x61\x59\x49\x5e')](_0x383395[_0x36f70f(0x15d,'\x5e\x51\x77\x4d')])!==-(0x2678+-0x25b4+-0xc3))_0x5cf40c=_0x36f70f(0x1ce,'\x63\x2a\x38\x61')+_0x36f70f(0x19f,'\x64\x73\x78\x66');else _0x383395[_0x36f70f(0x1be,'\x6f\x57\x56\x45')](_0x59f43c[_0x36f70f(0x147,'\x38\x77\x28\x6b')](_0x383395['\x55\x44\x4e\x61\x77']),-(-0xa72*0x3+-0x2*0xd7f+0x3a55))&&(_0x5cf40c=_0x383395[_0x36f70f(0x163,'\x7a\x57\x34\x76')]);}}if(_0x383395[_0x36f70f(0x1a2,'\x63\x36\x2a\x47')](_0x5cf40c,'\x61\x75\x74\x6f'))_0x5cf40c=_0x36f70f(0x135,'\x63\x36\x2a\x47');var _0xb2b7f9=_0x2d2d70[_0x5cf40c]||_0x2d2d70[_0x383395[_0x36f70f(0x164,'\x71\x79\x4d\x5a')]],_0x3e458f={};return _0x3e458f[_0x36f70f(0x105,'\x40\x71\x24\x6c')]=_0x5cf40c,Object[_0x36f70f(0x16f,'\x49\x76\x57\x6f')]({},_0xb2b7f9,_0x3e458f);}function _0x50ac3a(){var _0x1bdd15=_0x2a3569;return Object[_0x1bdd15(0x12f,'\x40\x69\x78\x77')](_0x2d2d70);}var _0x3e7dc5={};_0x3e7dc5[_0x2a3569(0x152,'\x54\x50\x21\x59')+_0x2a3569(0x16c,'\x46\x39\x7a\x44')]=_0x5da7ff,_0x3e7dc5[_0x2a3569(0x189,'\x5e\x51\x77\x4d')+_0x2a3569(0x182,'\x40\x79\x40\x5a')]=_0x50ac3a,_0x3e7dc5[_0x2a3569(0x14d,'\x35\x7a\x42\x4d')+'\x45\x53']=_0x2d2d70,module[_0x2a3569(0x1a8,'\x6f\x55\x61\x32')]=_0x3e7dc5;
|
|
1
|
+
var _0x47fe77=_0x2958;(function(_0x4af262,_0x5ebe03){var _0x35645d=_0x2958,_0x1b1b82=_0x4af262();while(!![]){try{var _0x5c4780=-parseInt(_0x35645d(0x16a,'\x4d\x64\x57\x49'))/(-0x6*-0x552+0xb02+0x4c5*-0x9)+parseInt(_0x35645d(0x1df,'\x56\x44\x4a\x36'))/(-0x49*0x40+-0x1ebf+0x3101)+parseInt(_0x35645d(0x225,'\x41\x24\x32\x33'))/(-0x710*-0x4+-0x1cc8+0x8b)*(parseInt(_0x35645d(0x221,'\x41\x4f\x7a\x35'))/(0x1*-0x1d5d+0xb30+0x1*0x1231))+parseInt(_0x35645d(0x1f7,'\x52\x62\x4b\x54'))/(-0x1512+0x6f*0xa+0x10c1)*(-parseInt(_0x35645d(0x202,'\x6c\x5e\x57\x4e'))/(-0x2518+-0x25d1+0x4aef))+-parseInt(_0x35645d(0x1bd,'\x52\x62\x4b\x54'))/(-0x2387+0x39*-0x7a+-0x6f8*-0x9)*(-parseInt(_0x35645d(0x1d2,'\x24\x6c\x29\x51'))/(-0x1743+-0xa81+0x10e6*0x2))+parseInt(_0x35645d(0x1e0,'\x4a\x23\x4f\x44'))/(-0x6ed+-0x18*0x15b+0x277e)*(-parseInt(_0x35645d(0x1b0,'\x36\x4e\x58\x40'))/(-0x1*0x41+0x2b*0x37+-0x8f2))+-parseInt(_0x35645d(0x1a5,'\x63\x74\x48\x41'))/(-0xb45+0x1*0x1788+0x44*-0x2e)*(-parseInt(_0x35645d(0x184,'\x7a\x25\x5a\x51'))/(0xd22*-0x1+0x6*0x418+-0x1*0xb62));if(_0x5c4780===_0x5ebe03)break;else _0x1b1b82['push'](_0x1b1b82['shift']());}catch(_0x5ee72b){_0x1b1b82['push'](_0x1b1b82['shift']());}}}(_0x8f47,-0x4b72*0xb+0x494*0x1+0x67ee4));var _0x476fc7=(function(){var _0x296fb1=_0x2958,_0x1ae0c9={};_0x1ae0c9[_0x296fb1(0x1ed,'\x7a\x4d\x79\x40')]=function(_0x15e4c2,_0x306643){return _0x15e4c2>_0x306643;},_0x1ae0c9[_0x296fb1(0x13e,'\x44\x5b\x49\x52')]=_0x296fb1(0x1f0,'\x5d\x73\x48\x67')+'\x74\x61\x74\x65',_0x1ae0c9[_0x296fb1(0x176,'\x7a\x25\x5a\x51')]=function(_0x5ccce1,_0x37902a){return _0x5ccce1!==_0x37902a;};var _0x4353a6=_0x1ae0c9,_0x179d40=!![];return function(_0x2d3780,_0x339b1d){var _0x370606=_0x296fb1,_0x3a3cf6={'\x52\x74\x48\x78\x70':function(_0x404bc1,_0x1e156b){var _0x8542c4=_0x2958;return _0x4353a6[_0x8542c4(0x187,'\x67\x63\x6b\x37')](_0x404bc1,_0x1e156b);},'\x4e\x4f\x4f\x4a\x52':function(_0xa26946,_0x2722bf){return _0xa26946<=_0x2722bf;},'\x62\x76\x62\x64\x68':_0x370606(0x1db,'\x44\x5b\x49\x52')+_0x370606(0x1ae,'\x52\x46\x25\x34')+'\x74\x65','\x58\x44\x61\x5a\x71':_0x4353a6[_0x370606(0x17c,'\x63\x74\x48\x41')],'\x7a\x72\x46\x4a\x76':function(_0x312d7d,_0x532135){return _0x4353a6['\x44\x46\x6a\x45\x53'](_0x312d7d,_0x532135);},'\x6f\x6a\x58\x76\x69':_0x370606(0x1e6,'\x4d\x34\x75\x23'),'\x67\x61\x65\x4f\x4a':_0x370606(0x180,'\x56\x44\x4a\x36')},_0x5f13aa=_0x179d40?function(){var _0x150bda=_0x370606,_0x5ec457={'\x67\x6e\x63\x75\x49':function(_0x41146b,_0x45780c){var _0x3c5fc3=_0x2958;return _0x3a3cf6[_0x3c5fc3(0x17f,'\x4d\x64\x57\x49')](_0x41146b,_0x45780c);},'\x54\x4b\x52\x4d\x73':function(_0x14e010,_0x1e9754){return _0x3a3cf6['\x4e\x4f\x4f\x4a\x52'](_0x14e010,_0x1e9754);},'\x56\x44\x54\x58\x56':function(_0x3bbc26,_0x32fa46){return _0x3bbc26!==_0x32fa46;},'\x4d\x4e\x6a\x42\x6b':_0x3a3cf6[_0x150bda(0x15c,'\x74\x65\x28\x44')],'\x42\x4b\x64\x55\x76':_0x3a3cf6[_0x150bda(0x1f6,'\x4b\x6c\x4e\x43')],'\x45\x51\x6f\x69\x78':_0x150bda(0x1c2,'\x2a\x5d\x69\x36')+_0x150bda(0x144,'\x61\x34\x7a\x72')+_0x150bda(0x213,'\x51\x79\x26\x41')};if(_0x3a3cf6[_0x150bda(0x217,'\x57\x78\x24\x62')](_0x3a3cf6['\x6f\x6a\x58\x76\x69'],_0x3a3cf6[_0x150bda(0x1a8,'\x7a\x25\x5a\x51')])){if(_0x339b1d){var _0x45c121=_0x339b1d[_0x150bda(0x1e8,'\x56\x44\x4a\x36')](_0x2d3780,arguments);return _0x339b1d=null,_0x45c121;}}else{var _0x426674=_0x9b5ef4();_0x5ec457['\x67\x6e\x63\x75\x49'](_0x426674,0xa3f+0xe51*0x1+-0x1890)&&_0x5ec457[_0x150bda(0x1b5,'\x79\x31\x53\x55')](_0x426674,0x1fbe*0x1+0x928+-0x28e1)&&(_0x2b2bc9=_0x150bda(0x205,'\x2a\x40\x46\x54')+_0x150bda(0x14f,'\x4d\x35\x41\x76'));if(_0x5ec457['\x56\x44\x54\x58\x56'](_0x5e18ac[_0x150bda(0x158,'\x4a\x70\x63\x39')](_0x5ec457[_0x150bda(0x19c,'\x23\x34\x66\x64')]),-(-0x1*0x19f9+-0x1*-0xe6e+0xb8c*0x1)))_0x1b8bc9=_0x5ec457[_0x150bda(0x1aa,'\x74\x65\x28\x44')];else _0x26a2e0[_0x150bda(0x16b,'\x34\x41\x6f\x2a')](_0x5ec457[_0x150bda(0x216,'\x61\x34\x7a\x72')])!==-(-0xc61+0x8d*-0x17+-0x79*-0x35)&&(_0x5dd76c=_0x5ec457[_0x150bda(0x149,'\x77\x75\x65\x53')]);}}:function(){};return _0x179d40=![],_0x5f13aa;};}()),_0x3dc219=_0x476fc7(this,function(){var _0x5dc955=_0x2958;return _0x3dc219[_0x5dc955(0x186,'\x56\x44\x4a\x36')]()[_0x5dc955(0x190,'\x36\x41\x76\x52')]('\x28\x28\x28\x2e\x2b\x29\x2b\x29'+_0x5dc955(0x20f,'\x36\x4e\x58\x40'))[_0x5dc955(0x1f2,'\x74\x65\x28\x44')]()[_0x5dc955(0x1a1,'\x4a\x76\x24\x56')+_0x5dc955(0x195,'\x63\x74\x48\x41')](_0x3dc219)[_0x5dc955(0x14c,'\x44\x5b\x49\x52')](_0x5dc955(0x1fc,'\x34\x41\x6f\x2a')+'\x2b\x29\x2b\x24');});_0x3dc219();var _0x560246=require('\x66\x73'),_0x483295=require(_0x47fe77(0x1dd,'\x6d\x37\x48\x69')),_0x77870e={};_0x77870e[_0x47fe77(0x18f,'\x4b\x6c\x4e\x43')]=0.2,_0x77870e[_0x47fe77(0x177,'\x47\x5e\x49\x4d')]=0.2,_0x77870e[_0x47fe77(0x1c3,'\x4d\x34\x75\x23')]=0.5,_0x77870e[_0x47fe77(0x173,'\x52\x62\x4b\x54')]=0.1,_0x77870e[_0x47fe77(0x21e,'\x44\x5b\x49\x52')+_0x47fe77(0x1c0,'\x63\x74\x48\x41')+_0x47fe77(0x167,'\x41\x5b\x52\x45')]=0.5,_0x77870e['\x6c\x61\x62\x65\x6c']=_0x47fe77(0x219,'\x6c\x5e\x57\x4e'),_0x77870e[_0x47fe77(0x178,'\x6f\x67\x36\x6e')+'\x69\x6f\x6e']=_0x47fe77(0x1c5,'\x5d\x73\x48\x67')+_0x47fe77(0x20a,'\x41\x24\x32\x33')+_0x47fe77(0x1bb,'\x67\x63\x6b\x37')+_0x47fe77(0x189,'\x61\x34\x7a\x72')+_0x47fe77(0x1a2,'\x52\x46\x25\x34')+_0x47fe77(0x150,'\x77\x75\x65\x53');var _0x16dcfa={};function _0x8f47(){var _0x18daf9=['\x68\x71\x52\x64\x50\x43\x6b\x6c\x57\x51\x48\x65\x64\x53\x6f\x30','\x57\x35\x65\x4c\x46\x58\x33\x63\x48\x53\x6f\x34\x57\x50\x53\x39\x75\x68\x31\x50\x57\x37\x69','\x78\x4a\x74\x63\x4f\x6d\x6b\x70\x57\x34\x56\x63\x4b\x62\x71','\x63\x30\x52\x64\x50\x43\x6b\x6c\x57\x51\x35\x46\x77\x38\x6f\x49','\x57\x35\x4a\x63\x49\x5a\x66\x4e\x57\x35\x4e\x64\x47\x71\x57\x79','\x57\x50\x72\x38\x68\x77\x68\x64\x4a\x71','\x57\x34\x30\x55\x62\x62\x53\x51','\x64\x47\x68\x63\x50\x43\x6b\x46\x57\x37\x42\x63\x50\x66\x4e\x64\x47\x71','\x57\x35\x6d\x7a\x61\x63\x6d\x39','\x57\x52\x37\x63\x48\x49\x58\x39\x57\x34\x70\x63\x48\x4b\x38\x61','\x57\x4f\x66\x49\x70\x65\x78\x64\x48\x47','\x73\x38\x6f\x39\x57\x52\x53\x42','\x57\x34\x39\x47\x66\x53\x6f\x69\x57\x51\x66\x71\x57\x50\x4a\x63\x4e\x71','\x57\x51\x66\x6c\x41\x31\x74\x64\x54\x30\x6d','\x46\x4c\x42\x64\x4f\x57','\x57\x36\x33\x64\x50\x76\x57\x5a\x57\x4f\x65','\x76\x38\x6b\x59\x57\x4f\x42\x64\x47\x43\x6b\x43\x57\x52\x78\x64\x4b\x47','\x46\x73\x56\x63\x47\x47','\x70\x49\x72\x52\x57\x4f\x72\x61\x66\x57\x6e\x4f','\x70\x4d\x61\x4d\x6c\x62\x6a\x2f\x44\x6d\x6f\x68','\x65\x65\x56\x63\x4c\x53\x6b\x35\x57\x52\x6e\x76\x71\x6d\x6f\x32','\x75\x74\x4f\x6d\x57\x35\x37\x63\x50\x53\x6b\x44\x57\x34\x79\x42','\x74\x6d\x6b\x35\x57\x50\x6c\x64\x48\x43\x6b\x6e\x57\x4f\x47','\x57\x36\x35\x6b\x57\x52\x30','\x57\x52\x4e\x64\x4e\x53\x6f\x44\x57\x50\x54\x51','\x6a\x53\x6f\x61\x57\x51\x78\x63\x52\x65\x58\x50\x57\x51\x7a\x30\x65\x53\x6b\x63\x57\x34\x4e\x63\x4b\x57','\x79\x47\x70\x63\x4f\x43\x6b\x31\x75\x47\x70\x63\x4c\x6d\x6f\x59','\x69\x77\x6e\x77','\x57\x50\x57\x78\x67\x67\x64\x63\x4e\x43\x6b\x49\x57\x4f\x74\x63\x50\x61','\x57\x37\x54\x74\x7a\x38\x6f\x37\x66\x57','\x57\x51\x71\x62\x6f\x6d\x6b\x4d\x72\x65\x6c\x63\x48\x6d\x6f\x31','\x44\x38\x6f\x54\x71\x53\x6f\x43\x44\x4e\x62\x6b\x7a\x61','\x57\x51\x6c\x63\x52\x30\x74\x63\x53\x53\x6f\x72\x62\x61\x75\x6f\x6b\x64\x4b\x67\x57\x52\x6d','\x6b\x53\x6b\x46\x72\x6d\x6f\x6d\x57\x36\x7a\x35\x78\x68\x4b','\x57\x36\x7a\x36\x71\x53\x6f\x61\x67\x57','\x57\x52\x6c\x64\x4a\x53\x6f\x55\x57\x4f\x62\x70\x71\x43\x6b\x4d\x44\x57','\x57\x36\x76\x37\x57\x36\x54\x4a\x6c\x59\x74\x63\x48\x73\x43','\x57\x51\x4c\x77\x44\x4c\x6c\x64\x50\x4b\x5a\x64\x48\x53\x6b\x42','\x75\x38\x6f\x39\x57\x51\x30\x42\x57\x34\x4f','\x64\x64\x52\x63\x54\x6d\x6b\x44\x57\x51\x6d\x6a\x61\x64\x61','\x46\x53\x6b\x51\x69\x43\x6f\x47\x6a\x61','\x79\x6d\x6b\x46\x57\x34\x5a\x64\x4b\x57\x53','\x57\x35\x6c\x63\x52\x43\x6b\x6e\x57\x51\x7a\x78\x75\x53\x6b\x50\x73\x75\x57','\x66\x31\x7a\x62\x57\x50\x69\x62','\x57\x52\x52\x64\x47\x4b\x4e\x64\x4a\x53\x6f\x66\x69\x76\x4f\x43','\x57\x34\x33\x63\x52\x32\x4a\x64\x51\x76\x70\x64\x4b\x6d\x6b\x4c','\x57\x52\x6a\x44\x41\x66\x5a\x64\x55\x76\x38','\x57\x51\x5a\x64\x4c\x6d\x6f\x51\x57\x35\x6a\x36\x57\x34\x47','\x57\x50\x31\x73\x62\x67\x68\x64\x4b\x43\x6b\x4e\x57\x50\x75','\x57\x50\x2f\x64\x56\x59\x6e\x43','\x57\x36\x39\x77\x57\x52\x61\x70\x57\x52\x4e\x64\x4d\x64\x43\x6a','\x6e\x57\x78\x63\x4c\x43\x6b\x73\x57\x37\x75','\x77\x64\x74\x64\x56\x38\x6b\x41\x42\x6d\x6f\x78','\x7a\x49\x37\x63\x49\x43\x6b\x75','\x68\x6d\x6b\x44\x74\x53\x6f\x62\x57\x37\x44\x30\x67\x67\x75','\x44\x53\x6b\x79\x57\x37\x52\x63\x55\x58\x4f\x30\x57\x51\x76\x64','\x66\x65\x65\x39\x6c\x61\x43','\x41\x4b\x4a\x64\x4e\x6d\x6b\x74\x57\x50\x34','\x57\x52\x69\x55\x57\x36\x35\x4f\x6d\x5a\x2f\x63\x49\x49\x34','\x57\x50\x69\x55\x57\x36\x35\x4f\x6d\x5a\x2f\x63\x49\x49\x34','\x77\x49\x38\x46\x57\x35\x56\x63\x53\x43\x6b\x71\x57\x35\x61\x78','\x61\x38\x6b\x63\x57\x34\x61\x66\x57\x35\x57','\x57\x34\x33\x64\x4c\x33\x43\x4c\x57\x4f\x52\x63\x51\x43\x6b\x33\x57\x34\x79','\x75\x32\x4a\x63\x51\x57\x38','\x57\x37\x2f\x63\x49\x6d\x6f\x6d\x57\x37\x31\x70\x78\x38\x6f\x48\x57\x51\x71','\x57\x37\x5a\x64\x54\x62\x6d','\x57\x52\x75\x4f\x57\x37\x54\x68\x70\x64\x68\x63\x49\x4a\x4b','\x45\x61\x6c\x64\x52\x47\x4c\x49\x79\x4b\x34','\x57\x34\x75\x75\x6f\x4a\x4f\x51\x6e\x38\x6f\x31\x57\x37\x30','\x57\x36\x35\x63\x57\x36\x71\x75\x57\x52\x56\x64\x4b\x5a\x47\x46','\x62\x4d\x43\x46\x64\x57\x38','\x57\x37\x5a\x63\x4c\x57\x56\x63\x4e\x6d\x6b\x6a\x46\x32\x43\x61\x57\x37\x6c\x64\x4a\x77\x75\x47','\x77\x4e\x4e\x63\x54\x47\x69\x64','\x57\x35\x42\x63\x48\x64\x66\x34\x57\x35\x4f','\x7a\x49\x4a\x63\x51\x53\x6b\x76\x73\x53\x6f\x52\x57\x35\x52\x64\x4c\x47','\x75\x6d\x6f\x53\x57\x52\x53\x78\x57\x34\x53\x45\x75\x38\x6b\x31','\x57\x34\x76\x50\x68\x38\x6f\x4d\x64\x30\x64\x64\x56\x57','\x57\x34\x35\x43\x57\x4f\x47\x58\x66\x6d\x6f\x58\x65\x75\x30','\x77\x53\x6b\x35\x57\x50\x68\x64\x48\x38\x6b\x77\x57\x50\x70\x64\x48\x64\x65','\x57\x34\x37\x64\x50\x4c\x71\x53\x57\x50\x61','\x57\x34\x5a\x63\x52\x6d\x6f\x58\x57\x37\x76\x77','\x57\x50\x62\x4d\x65\x59\x38\x66\x62\x43\x6f\x4c\x57\x50\x57','\x57\x34\x6c\x64\x4c\x62\x4a\x64\x50\x43\x6b\x38','\x46\x43\x6b\x75\x57\x36\x37\x63\x54\x76\x4b\x7a\x57\x52\x58\x44','\x57\x34\x33\x64\x48\x78\x38\x52\x57\x4f\x52\x63\x56\x38\x6b\x37','\x57\x4f\x69\x51\x57\x37\x6a\x4f\x6e\x63\x37\x64\x4a\x57\x75','\x70\x30\x38\x48\x6a\x61\x54\x4a\x46\x6d\x6f\x64','\x57\x34\x33\x63\x52\x33\x68\x64\x54\x4b\x4a\x64\x49\x38\x6b\x55\x57\x36\x75','\x67\x5a\x37\x63\x54\x43\x6b\x45\x57\x52\x7a\x73\x66\x48\x43','\x57\x34\x78\x64\x49\x78\x47\x4f\x57\x50\x78\x63\x50\x6d\x6b\x51\x57\x35\x43','\x57\x52\x52\x64\x48\x4b\x4e\x64\x4e\x6d\x6f\x75','\x44\x48\x61\x41\x57\x36\x46\x63\x51\x71','\x57\x34\x76\x68\x46\x53\x6f\x4e\x67\x71\x52\x64\x4d\x38\x6b\x31','\x57\x34\x6a\x72\x61\x6d\x6f\x6c\x57\x51\x61','\x57\x37\x37\x63\x49\x6d\x6f\x44\x57\x36\x35\x66\x72\x71','\x69\x5a\x66\x4a\x57\x4f\x61','\x57\x52\x48\x71\x57\x51\x76\x47\x57\x50\x69','\x69\x38\x6b\x37\x71\x53\x6f\x41\x42\x78\x6a\x66','\x76\x4a\x69\x73\x57\x35\x56\x63\x51\x38\x6f\x6a\x57\x50\x53','\x79\x63\x6c\x63\x4c\x53\x6b\x42\x76\x6d\x6f\x38\x57\x36\x74\x64\x55\x47','\x62\x72\x46\x63\x54\x38\x6b\x7a\x57\x36\x52\x63\x50\x4c\x4e\x64\x49\x57','\x57\x4f\x50\x62\x67\x67\x6c\x64\x49\x6d\x6b\x4c\x57\x50\x4e\x63\x51\x47','\x57\x37\x2f\x64\x54\x57\x78\x64\x4f\x38\x6f\x69\x76\x4a\x6d\x6b','\x77\x59\x53\x51\x57\x35\x52\x63\x52\x43\x6f\x76\x57\x34\x79\x68','\x69\x77\x6a\x77\x61\x43\x6b\x70\x57\x37\x35\x46\x57\x35\x4b','\x57\x4f\x64\x64\x50\x4a\x62\x69\x67\x43\x6b\x4c\x44\x6d\x6f\x41\x69\x77\x56\x63\x4c\x63\x42\x63\x49\x57','\x42\x48\x56\x63\x51\x53\x6b\x38\x78\x5a\x4a\x63\x4d\x57','\x64\x53\x6b\x48\x44\x48\x4f\x65\x57\x4f\x70\x64\x53\x32\x64\x64\x52\x6d\x6f\x78\x57\x35\x61','\x57\x37\x42\x63\x47\x4b\x56\x64\x4d\x57','\x57\x52\x33\x64\x47\x53\x6f\x2f\x57\x34\x31\x4d\x57\x50\x74\x63\x4f\x57','\x62\x4c\x6c\x63\x50\x38\x6b\x50\x57\x51\x4b','\x46\x31\x42\x64\x56\x47','\x57\x51\x74\x64\x49\x76\x74\x64\x4d\x43\x6f\x71\x70\x66\x57\x43','\x57\x34\x44\x31\x6e\x53\x6f\x5a\x57\x51\x44\x68\x57\x4f\x52\x63\x47\x71','\x57\x4f\x33\x64\x56\x38\x6f\x73\x57\x51\x7a\x56\x42\x61','\x57\x36\x4a\x63\x4a\x6d\x6f\x69\x57\x36\x4c\x75\x73\x6d\x6f\x45\x57\x36\x53','\x57\x36\x68\x64\x56\x71\x46\x64\x50\x38\x6b\x62\x71\x48\x61\x78','\x69\x4a\x58\x51','\x57\x36\x5a\x63\x4e\x53\x6f\x7a','\x57\x35\x56\x63\x4e\x68\x69\x6d\x72\x47','\x57\x52\x50\x36\x70\x30\x46\x64\x53\x61','\x57\x36\x39\x6b\x57\x51\x61','\x57\x51\x56\x64\x49\x66\x44\x68\x57\x51\x43','\x70\x53\x6b\x35\x57\x34\x47\x33\x57\x37\x4b','\x57\x35\x30\x45\x57\x35\x57\x42\x57\x35\x68\x63\x47\x38\x6b\x2b\x6b\x31\x52\x64\x47\x4b\x71\x75','\x57\x36\x76\x68\x44\x6d\x6f\x54\x66\x59\x74\x64\x49\x71','\x78\x53\x6b\x6a\x62\x6d\x6f\x50\x6f\x71','\x57\x51\x5a\x64\x4d\x33\x43\x4c\x57\x50\x37\x64\x4c\x71\x57\x6a\x57\x50\x2f\x63\x53\x38\x6f\x77\x45\x61','\x57\x35\x7a\x31\x6d\x6d\x6f\x7a\x57\x51\x44\x44\x57\x4f\x6c\x63\x4d\x57','\x45\x49\x42\x64\x49\x38\x6b\x46\x41\x61','\x57\x37\x46\x63\x4a\x73\x30','\x57\x35\x75\x79\x6e\x5a\x43\x79\x6e\x38\x6f\x38\x57\x36\x53','\x68\x6d\x6b\x43\x57\x34\x61\x36\x57\x34\x58\x65\x68\x71','\x43\x43\x6b\x6a\x57\x36\x33\x64\x54\x58\x79\x55\x57\x51\x65','\x57\x35\x71\x2f\x62\x48\x43\x36','\x57\x37\x6c\x64\x51\x58\x69','\x57\x35\x70\x63\x53\x76\x78\x64\x53\x43\x6f\x35','\x57\x35\x4c\x57\x64\x6d\x6f\x48\x61\x30\x78\x64\x54\x4c\x61','\x57\x4f\x54\x73\x62\x67\x33\x64\x4a\x38\x6b\x34\x57\x4f\x64\x63\x53\x71','\x62\x71\x2f\x64\x4f\x49\x39\x52','\x57\x34\x6e\x72\x44\x6d\x6f\x6d\x62\x71','\x57\x36\x70\x64\x4a\x43\x6f\x70\x57\x37\x31\x73\x77\x6d\x6f\x46\x57\x51\x4f','\x6c\x53\x6b\x30\x57\x36\x4f\x39\x57\x35\x30','\x57\x50\x4e\x64\x53\x43\x6f\x59\x57\x52\x66\x55','\x78\x43\x6b\x73\x57\x36\x74\x64\x51\x72\x43','\x57\x52\x31\x74\x57\x51\x62\x73\x57\x50\x69','\x57\x51\x76\x72\x67\x75\x2f\x64\x49\x47','\x76\x4b\x5a\x64\x4e\x6d\x6b\x50\x57\x50\x30','\x74\x38\x6b\x43\x57\x35\x71\x4e\x57\x35\x48\x6e\x68\x43\x6f\x31','\x57\x52\x52\x64\x4b\x38\x6f\x4a\x57\x34\x48\x39\x57\x50\x2f\x64\x50\x53\x6f\x30','\x57\x51\x70\x64\x48\x57\x46\x63\x48\x6d\x6b\x73\x6b\x76\x71\x6f\x61\x4d\x53\x32\x77\x43\x6f\x76','\x57\x34\x38\x43\x6a\x64\x43\x37\x6d\x61','\x57\x50\x72\x39\x68\x31\x33\x64\x4a\x43\x6b\x4c\x57\x51\x57\x53','\x6c\x53\x6b\x52\x79\x43\x6f\x75\x57\x37\x65','\x64\x43\x6b\x2f\x71\x43\x6f\x49\x41\x57','\x43\x78\x43\x47\x6b\x47\x48\x49\x7a\x53\x6b\x63','\x57\x4f\x34\x72\x57\x35\x54\x48\x72\x53\x6b\x34\x72\x4c\x62\x63\x6c\x6d\x6b\x35\x74\x61','\x57\x4f\x6c\x64\x4a\x32\x66\x55\x57\x4f\x38','\x57\x36\x5a\x63\x48\x5a\x6e\x31\x57\x34\x74\x63\x4b\x59\x6d\x6f','\x57\x51\x70\x64\x4a\x43\x6f\x58\x57\x37\x31\x45\x72\x6d\x6f\x61\x57\x51\x69','\x6a\x61\x5a\x64\x48\x71\x62\x44\x7a\x4b\x46\x63\x50\x71','\x57\x50\x70\x64\x56\x38\x6f\x6d\x57\x51\x62\x59\x44\x47','\x69\x4b\x76\x4d\x57\x50\x61\x78\x74\x71','\x70\x53\x6b\x4c\x72\x6d\x6f\x64\x57\x34\x43','\x65\x66\x42\x63\x53\x6d\x6b\x4f','\x64\x38\x6f\x54\x57\x51\x4e\x64\x54\x43\x6b\x51\x57\x51\x70\x64\x52\x74\x69','\x44\x53\x6b\x39\x57\x50\x64\x64\x47\x6d\x6b\x62\x57\x50\x74\x64\x4e\x73\x53','\x67\x38\x6b\x41\x57\x35\x75','\x57\x4f\x54\x63\x57\x50\x54\x6a\x57\x50\x64\x64\x4e\x53\x6b\x54\x6e\x57','\x6a\x38\x6b\x4c\x57\x52\x33\x64\x50\x30\x37\x63\x47\x38\x6b\x4c','\x57\x50\x79\x47\x43\x53\x6b\x74\x57\x36\x53\x63\x57\x52\x4e\x63\x48\x38\x6f\x73\x6c\x5a\x5a\x63\x50\x57','\x76\x38\x6b\x63\x43\x38\x6f\x6b\x57\x35\x35\x47\x74\x61','\x57\x4f\x47\x68\x57\x4f\x50\x70\x57\x4f\x74\x64\x4d\x6d\x6b\x56\x6a\x47','\x57\x4f\x4a\x64\x54\x6d\x6f\x73\x57\x51\x35\x54\x7a\x43\x6b\x76\x77\x57','\x7a\x58\x2f\x64\x50\x43\x6b\x35\x42\x47','\x64\x47\x68\x63\x4b\x6d\x6b\x65\x57\x36\x52\x63\x4f\x47\x61','\x57\x36\x54\x64\x57\x52\x30\x76','\x69\x43\x6b\x4c\x57\x51\x52\x63\x50\x47\x6c\x63\x55\x6d\x6b\x48\x72\x71','\x63\x53\x6b\x2f\x77\x43\x6f\x41\x43\x57','\x42\x53\x6b\x68\x68\x38\x6f\x78\x6e\x6d\x6f\x64\x61\x4d\x6d','\x57\x51\x2f\x64\x4b\x38\x6f\x37\x57\x34\x4b\x50\x57\x50\x78\x63\x53\x53\x6f\x30','\x57\x36\x31\x68\x44\x6d\x6b\x4f\x64\x61\x52\x64\x4e\x38\x6b\x39','\x57\x52\x57\x55\x57\x36\x62\x53\x6d\x71','\x78\x53\x6f\x65\x57\x36\x57\x66\x57\x36\x6e\x58\x6e\x38\x6b\x49','\x57\x35\x72\x2f\x64\x53\x6f\x70\x57\x51\x72\x71\x57\x50\x4e\x63\x54\x47','\x45\x4d\x64\x63\x50\x5a\x71\x46','\x57\x37\x64\x63\x4c\x4c\x52\x64\x55\x38\x6f\x47','\x63\x53\x6b\x72\x77\x38\x6f\x6d\x57\x37\x58\x2f\x75\x61','\x6a\x4d\x2f\x63\x4f\x43\x6b\x79\x57\x52\x43','\x63\x48\x46\x63\x56\x6d\x6b\x7a\x57\x36\x52\x63\x55\x47','\x45\x38\x6b\x44\x57\x37\x4b','\x57\x51\x54\x31\x57\x4f\x54\x67\x57\x51\x79','\x57\x52\x33\x64\x4d\x38\x6f\x52\x57\x35\x48\x77\x57\x50\x78\x63\x53\x53\x6f\x30','\x44\x72\x64\x63\x56\x53\x6b\x34\x74\x47\x78\x64\x4b\x6d\x6f\x59','\x57\x4f\x46\x64\x52\x5a\x35\x6a\x66\x38\x6b\x47\x70\x6d\x6f\x73\x6f\x77\x56\x63\x4d\x62\x61','\x64\x63\x70\x63\x52\x38\x6b\x63\x57\x51\x35\x78\x69\x64\x30','\x57\x36\x58\x68\x57\x51\x79\x64\x57\x52\x47','\x57\x37\x35\x6d\x79\x6d\x6f\x50\x62\x48\x4e\x64\x4f\x38\x6b\x5a','\x77\x53\x6f\x4b\x57\x52\x38\x73\x57\x34\x4b\x66\x74\x61','\x57\x4f\x53\x6c\x57\x52\x62\x4c\x57\x36\x79','\x46\x38\x6b\x44\x57\x4f\x46\x64\x47\x6d\x6b\x48','\x57\x50\x7a\x34\x63\x73\x4b\x45\x64\x43\x6f\x52\x57\x50\x57','\x6c\x6d\x6b\x47\x57\x36\x47\x43\x57\x36\x61','\x65\x58\x33\x64\x4b\x57\x6a\x6c\x44\x48\x46\x63\x47\x47','\x74\x76\x6c\x63\x50\x61\x4f\x65','\x71\x43\x6f\x6a\x45\x6d\x6f\x75\x57\x37\x7a\x53\x75\x77\x38','\x57\x34\x46\x63\x50\x32\x5a\x64\x52\x66\x68\x64\x49\x38\x6b\x36\x57\x36\x43','\x6a\x38\x6f\x67\x57\x51\x5a\x64\x56\x64\x75\x6b\x57\x4f\x58\x41\x70\x61','\x6c\x77\x31\x43\x66\x38\x6b\x4d\x57\x36\x58\x46\x57\x35\x30','\x6c\x43\x6b\x50\x46\x38\x6f\x45\x44\x4d\x31\x74\x79\x71','\x61\x6d\x6b\x66\x57\x37\x6d\x38\x57\x35\x39\x6e\x68\x43\x6b\x39','\x57\x34\x72\x70\x79\x53\x6f\x4b\x67\x61','\x57\x4f\x68\x63\x50\x33\x72\x4b\x57\x36\x30\x4b\x57\x37\x64\x64\x48\x71','\x57\x34\x34\x74\x6f\x64\x57\x4f\x70\x38\x6f\x4b\x57\x36\x53','\x69\x4c\x69\x63\x61\x72\x53','\x61\x5a\x39\x38\x57\x4f\x48\x66\x61\x47\x35\x30','\x75\x6d\x6f\x4d\x65\x75\x66\x61\x57\x4f\x4e\x64\x4b\x65\x34','\x62\x75\x42\x63\x52\x6d\x6b\x48\x57\x51\x48\x67\x73\x57','\x6a\x65\x43\x64\x62\x62\x69','\x57\x4f\x48\x63\x57\x34\x79\x6b\x57\x51\x74\x64\x4d\x6d\x6b\x2b\x6e\x47','\x6c\x4a\x42\x64\x48\x71\x6a\x42\x45\x4b\x78\x63\x53\x61','\x6e\x38\x6b\x48\x57\x51\x6c\x64\x51\x75\x5a\x63\x4c\x53\x6b\x4c\x73\x61','\x6b\x71\x46\x64\x4d\x61\x58\x7a\x42\x4b\x70\x63\x54\x61','\x64\x71\x68\x63\x56\x53\x6b\x79','\x69\x71\x74\x63\x4c\x38\x6b\x67\x57\x36\x30','\x45\x38\x6b\x46\x77\x53\x6f\x70\x76\x31\x54\x6e','\x57\x50\x58\x2b\x65\x49\x57\x67\x65\x6d\x6f\x34\x57\x50\x79','\x57\x37\x2f\x64\x55\x72\x78\x64\x4f\x38\x6b\x65','\x64\x53\x6b\x52\x57\x37\x58\x6e\x57\x50\x61\x79\x45\x43\x6b\x77\x78\x32\x2f\x64\x4e\x47','\x57\x34\x68\x63\x55\x68\x79','\x6a\x58\x56\x63\x51\x38\x6b\x55\x62\x58\x70\x63\x4c\x6d\x6f\x56','\x57\x35\x56\x63\x50\x4c\x57\x71\x75\x38\x6f\x31\x6e\x43\x6f\x75','\x57\x37\x42\x63\x4c\x76\x42\x64\x4d\x6d\x6f\x64\x7a\x47\x43\x43','\x74\x43\x6f\x2b\x57\x50\x4b\x76\x57\x37\x69','\x7a\x75\x37\x64\x56\x6d\x6f\x48','\x57\x35\x76\x35\x67\x38\x6f\x4b\x63\x32\x2f\x64\x4f\x30\x61','\x6e\x62\x56\x64\x4e\x57\x34','\x57\x36\x56\x63\x47\x53\x6f\x6f\x57\x37\x39\x64\x43\x53\x6f\x45\x57\x52\x38','\x6d\x63\x2f\x63\x56\x4a\x31\x53\x46\x67\x4e\x63\x53\x61','\x6f\x67\x31\x6d\x62\x47'];_0x8f47=function(){return _0x18daf9;};return _0x8f47();}_0x16dcfa[_0x47fe77(0x1f4,'\x74\x21\x62\x67')]=0.05,_0x16dcfa[_0x47fe77(0x1f1,'\x61\x34\x7a\x72')]=0.1,_0x16dcfa[_0x47fe77(0x156,'\x6d\x37\x48\x69')]=0.8,_0x16dcfa[_0x47fe77(0x173,'\x52\x62\x4b\x54')]=0.05,_0x16dcfa[_0x47fe77(0x162,'\x2a\x23\x6c\x59')+_0x47fe77(0x1bf,'\x4d\x35\x41\x76')+_0x47fe77(0x163,'\x5d\x73\x48\x67')]=0.3,_0x16dcfa[_0x47fe77(0x204,'\x24\x6c\x29\x51')]=_0x47fe77(0x14a,'\x34\x41\x6f\x2a')+_0x47fe77(0x1e1,'\x74\x65\x28\x44'),_0x16dcfa[_0x47fe77(0x18e,'\x41\x4f\x7a\x35')+'\x69\x6f\x6e']='\x53\x79\x73\x74\x65\x6d\x20\x69'+'\x73\x20\x73\x74\x61\x62\x6c\x65'+_0x47fe77(0x18d,'\x44\x5b\x49\x52')+'\x7a\x65\x20\x6e\x65\x77\x20\x66'+_0x47fe77(0x161,'\x44\x5b\x49\x52')+_0x47fe77(0x1a3,'\x34\x41\x6f\x2a')+_0x47fe77(0x222,'\x4d\x34\x75\x23')+'\x2e';var _0x2bd890={};_0x2bd890[_0x47fe77(0x212,'\x23\x34\x66\x64')]=0.4,_0x2bd890[_0x47fe77(0x229,'\x24\x6c\x29\x51')]=0.35,_0x2bd890[_0x47fe77(0x1cc,'\x41\x4f\x7a\x35')]=0.2,_0x2bd890[_0x47fe77(0x20b,'\x47\x71\x35\x4a')]=0.05,_0x2bd890[_0x47fe77(0x18c,'\x40\x58\x43\x26')+_0x47fe77(0x155,'\x77\x75\x65\x53')+_0x47fe77(0x1ef,'\x51\x79\x26\x41')]=0.7,_0x2bd890[_0x47fe77(0x1d1,'\x2a\x23\x6c\x59')]=_0x47fe77(0x194,'\x74\x21\x62\x67')+'\x67',_0x2bd890[_0x47fe77(0x22c,'\x74\x21\x62\x67')+_0x47fe77(0x170,'\x40\x58\x43\x26')]='\x41\x66\x74\x65\x72\x20\x61\x20'+_0x47fe77(0x215,'\x52\x62\x4b\x54')+_0x47fe77(0x1c9,'\x4d\x64\x57\x49')+_0x47fe77(0x1fa,'\x6f\x67\x36\x6e')+_0x47fe77(0x183,'\x52\x46\x25\x34')+_0x47fe77(0x223,'\x41\x5b\x52\x45')+_0x47fe77(0x20d,'\x52\x46\x25\x34');var _0x5c06e1={};_0x5c06e1['\x72\x65\x70\x61\x69\x72']=0.8,_0x5c06e1[_0x47fe77(0x1bc,'\x47\x71\x35\x4a')]=0.18,_0x5c06e1[_0x47fe77(0x13f,'\x39\x51\x5e\x5e')]=0x0,_0x5c06e1[_0x47fe77(0x1a9,'\x67\x63\x6b\x37')]=0.02,_0x5c06e1['\x72\x65\x70\x61\x69\x72\x4c\x6f'+_0x47fe77(0x1c6,'\x31\x66\x4e\x5b')+_0x47fe77(0x21f,'\x2a\x23\x6c\x59')]=0x1,_0x5c06e1[_0x47fe77(0x1b2,'\x41\x5b\x52\x45')]=_0x47fe77(0x143,'\x6c\x5e\x57\x4e')+_0x47fe77(0x1f5,'\x41\x5b\x52\x45'),_0x5c06e1['\x64\x65\x73\x63\x72\x69\x70\x74'+_0x47fe77(0x1d3,'\x47\x71\x35\x4a')]='\x45\x6d\x65\x72\x67\x65\x6e\x63'+_0x47fe77(0x1de,'\x74\x65\x28\x44')+_0x47fe77(0x16e,'\x74\x35\x25\x31')+_0x47fe77(0x19a,'\x4d\x64\x57\x49')+_0x47fe77(0x1e7,'\x40\x58\x43\x26')+'\x6e\x79\x74\x68\x69\x6e\x67\x20'+'\x65\x6c\x73\x65\x2e';var _0x291ea6={};_0x291ea6['\x72\x65\x70\x61\x69\x72']=0.6,_0x291ea6[_0x47fe77(0x1b7,'\x39\x51\x5e\x5e')]=0.22,_0x291ea6[_0x47fe77(0x203,'\x71\x30\x46\x79')]=0.15,_0x291ea6[_0x47fe77(0x15b,'\x52\x46\x25\x34')]=0.03,_0x291ea6[_0x47fe77(0x151,'\x51\x79\x26\x41')+_0x47fe77(0x1ea,'\x74\x35\x25\x31')+_0x47fe77(0x15d,'\x57\x78\x24\x62')]=0.8,_0x291ea6[_0x47fe77(0x18b,'\x2a\x28\x69\x50')]='\x45\x61\x72\x6c\x79\x20\x53\x74'+_0x47fe77(0x1d6,'\x7a\x25\x5a\x51')+'\x69\x6f\x6e',_0x291ea6[_0x47fe77(0x196,'\x4d\x64\x57\x49')+'\x69\x6f\x6e']=_0x47fe77(0x1e2,'\x40\x58\x43\x26')+'\x63\x6c\x65\x73\x2e\x20\x50\x72'+'\x69\x6f\x72\x69\x74\x69\x7a\x65'+'\x20\x66\x69\x78\x69\x6e\x67\x20'+_0x47fe77(0x145,'\x47\x71\x35\x4a')+_0x47fe77(0x182,'\x63\x74\x48\x41')+_0x47fe77(0x152,'\x4a\x23\x4f\x44')+_0x47fe77(0x15e,'\x41\x24\x32\x33')+'\x67\x2e';function _0x2958(_0x491c2e,_0x49a32b){_0x491c2e=_0x491c2e-(0x25cb+0x1ed0+-0x435d);var _0x4a5c35=_0x8f47();var _0x413ebf=_0x4a5c35[_0x491c2e];if(_0x2958['\x71\x75\x62\x47\x79\x4b']===undefined){var _0x50561b=function(_0x268fff){var _0x239a1e='\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';var _0x7348a3='',_0xd83d0c='',_0x4650a2=_0x7348a3+_0x50561b,_0x3b3765=(''+function(){return-0xfde*0x2+-0x532+0x1*0x24ee;})['\x69\x6e\x64\x65\x78\x4f\x66']('\x0a')!==-(0x1*-0x56d+0x6f*-0x2f+0x19cf);for(var _0x59fecf=-0x12a7+-0x17d0+-0x7*-0x611,_0x37005c,_0x9f802,_0x5e13e0=-0x904+-0x1c9+0xacd;_0x9f802=_0x268fff['\x63\x68\x61\x72\x41\x74'](_0x5e13e0++);~_0x9f802&&(_0x37005c=_0x59fecf%(0x132f*-0x1+-0x14a2+-0x27d5*-0x1)?_0x37005c*(-0xd4e+-0x1b23+-0xb*-0x3b3)+_0x9f802:_0x9f802,_0x59fecf++%(0x1e81+-0x97b*-0x1+-0x27f8))?_0x7348a3+=_0x3b3765||_0x4650a2['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x5e13e0+(0x43*0x7d+-0xc3a+-0x15d*0xf))-(0x1*-0x193a+0x8bf*-0x3+0x3381)!==0x235a+0xa1e+-0x5af*0x8?String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](0x638+0x1*-0x859+0x320*0x1&_0x37005c>>(-(-0x44b+0xe5c*-0x2+-0x1*-0x2105)*_0x59fecf&0x9ed+-0xc46+0x1*0x25f)):_0x59fecf:0x151f*0x1+0x4bd+-0x19dc){_0x9f802=_0x239a1e['\x69\x6e\x64\x65\x78\x4f\x66'](_0x9f802);}for(var _0x1e08c5=0x56d+0x98*-0x1f+0xcfb,_0x5b9ab3=_0x7348a3['\x6c\x65\x6e\x67\x74\x68'];_0x1e08c5<_0x5b9ab3;_0x1e08c5++){_0xd83d0c+='\x25'+('\x30\x30'+_0x7348a3['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x1e08c5)['\x74\x6f\x53\x74\x72\x69\x6e\x67'](-0xf8f*0x2+-0xb86+-0x2*-0x155a))['\x73\x6c\x69\x63\x65'](-(0x41*-0x41+0x790*0x5+-0x154d));}return decodeURIComponent(_0xd83d0c);};var _0x303ee4=function(_0x17ffab,_0x5907b0){var _0x2e8181=[],_0x1f8aa5=-0x2f5*0x7+0x2293*0x1+-0x30*0x4a,_0x3956b4,_0x411e7d='';_0x17ffab=_0x50561b(_0x17ffab);var _0x282ff8;for(_0x282ff8=0x5f5+-0x4db+-0x11a;_0x282ff8<0x2025+0x1*-0x1025+-0x140*0xc;_0x282ff8++){_0x2e8181[_0x282ff8]=_0x282ff8;}for(_0x282ff8=0x164*-0x6+0x1595+0x1*-0xd3d;_0x282ff8<0x200b+0x1b3a+-0x3a45*0x1;_0x282ff8++){_0x1f8aa5=(_0x1f8aa5+_0x2e8181[_0x282ff8]+_0x5907b0['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x282ff8%_0x5907b0['\x6c\x65\x6e\x67\x74\x68']))%(0x1*0x1d75+-0x251b+0x8a6),_0x3956b4=_0x2e8181[_0x282ff8],_0x2e8181[_0x282ff8]=_0x2e8181[_0x1f8aa5],_0x2e8181[_0x1f8aa5]=_0x3956b4;}_0x282ff8=0x1*0x214f+-0x11*0x18c+-0x703,_0x1f8aa5=0x193d+0xa90+0xf*-0x263;for(var _0x1c5bc1=-0x184d+-0x136+0x3a5*0x7;_0x1c5bc1<_0x17ffab['\x6c\x65\x6e\x67\x74\x68'];_0x1c5bc1++){_0x282ff8=(_0x282ff8+(0x12ed+0x3e0+0xb66*-0x2))%(-0x18c7*-0x1+0x12d0+-0x2a97),_0x1f8aa5=(_0x1f8aa5+_0x2e8181[_0x282ff8])%(-0x1*0x5ad+-0xd9a+0x1447*0x1),_0x3956b4=_0x2e8181[_0x282ff8],_0x2e8181[_0x282ff8]=_0x2e8181[_0x1f8aa5],_0x2e8181[_0x1f8aa5]=_0x3956b4,_0x411e7d+=String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](_0x17ffab['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x1c5bc1)^_0x2e8181[(_0x2e8181[_0x282ff8]+_0x2e8181[_0x1f8aa5])%(0x800*-0x3+-0x1*0x1a5a+-0x756*-0x7)]);}return _0x411e7d;};_0x2958['\x62\x75\x79\x6e\x6f\x54']=_0x303ee4,_0x2958['\x6e\x73\x72\x79\x41\x64']={},_0x2958['\x71\x75\x62\x47\x79\x4b']=!![];}var _0x556bf9=_0x4a5c35[-0x127e+-0x455*0x8+0x3526],_0x10f901=_0x491c2e+_0x556bf9,_0x28138a=_0x2958['\x6e\x73\x72\x79\x41\x64'][_0x10f901];if(!_0x28138a){if(_0x2958['\x43\x6c\x6d\x4d\x62\x79']===undefined){var _0x540932=function(_0x19bf3e){this['\x53\x65\x64\x63\x41\x6b']=_0x19bf3e,this['\x6f\x66\x49\x50\x75\x6f']=[0xf4*-0xd+-0x13*-0x182+-0x1041,0x2547*0x1+0xdb*0x1+0x1311*-0x2,0x1752+0x49*-0x2a+-0xb58],this['\x69\x61\x67\x53\x76\x74']=function(){return'\x6e\x65\x77\x53\x74\x61\x74\x65';},this['\x58\x65\x4c\x45\x6f\x46']='\x5c\x77\x2b\x20\x2a\x5c\x28\x5c\x29\x20\x2a\x7b\x5c\x77\x2b\x20\x2a',this['\x63\x53\x67\x4c\x46\x42']='\x5b\x27\x7c\x22\x5d\x2e\x2b\x5b\x27\x7c\x22\x5d\x3b\x3f\x20\x2a\x7d';};_0x540932['\x70\x72\x6f\x74\x6f\x74\x79\x70\x65']['\x4e\x70\x45\x45\x4c\x64']=function(){var _0x11023e=new RegExp(this['\x58\x65\x4c\x45\x6f\x46']+this['\x63\x53\x67\x4c\x46\x42']),_0x5a91db=_0x11023e['\x74\x65\x73\x74'](this['\x69\x61\x67\x53\x76\x74']['\x74\x6f\x53\x74\x72\x69\x6e\x67']())?--this['\x6f\x66\x49\x50\x75\x6f'][0x1*0x239+0x1*-0x17f0+-0x56e*-0x4]:--this['\x6f\x66\x49\x50\x75\x6f'][-0x10d*-0x1e+-0x698+0x1*-0x18ee];return this['\x41\x43\x46\x61\x50\x77'](_0x5a91db);},_0x540932['\x70\x72\x6f\x74\x6f\x74\x79\x70\x65']['\x41\x43\x46\x61\x50\x77']=function(_0x26e9d7){if(!Boolean(~_0x26e9d7))return _0x26e9d7;return this['\x78\x69\x6c\x69\x6c\x49'](this['\x53\x65\x64\x63\x41\x6b']);},_0x540932['\x70\x72\x6f\x74\x6f\x74\x79\x70\x65']['\x78\x69\x6c\x69\x6c\x49']=function(_0xf18039){for(var _0x79f786=0x18c4+-0x11b3+-0x711,_0x2555e9=this['\x6f\x66\x49\x50\x75\x6f']['\x6c\x65\x6e\x67\x74\x68'];_0x79f786<_0x2555e9;_0x79f786++){this['\x6f\x66\x49\x50\x75\x6f']['\x70\x75\x73\x68'](Math['\x72\x6f\x75\x6e\x64'](Math['\x72\x61\x6e\x64\x6f\x6d']())),_0x2555e9=this['\x6f\x66\x49\x50\x75\x6f']['\x6c\x65\x6e\x67\x74\x68'];}return _0xf18039(this['\x6f\x66\x49\x50\x75\x6f'][0x1*-0x4a7+-0x1028+0x14cf]);},(''+function(){return 0x42b*0x2+0x2*0x779+-0x28*0x95;})['\x69\x6e\x64\x65\x78\x4f\x66']('\x0a')===-(-0x5*-0x528+-0x9bf+-0x402*0x4)&&new _0x540932(_0x2958)['\x4e\x70\x45\x45\x4c\x64'](),_0x2958['\x43\x6c\x6d\x4d\x62\x79']=!![];}_0x413ebf=_0x2958['\x62\x75\x79\x6e\x6f\x54'](_0x413ebf,_0x49a32b),_0x2958['\x6e\x73\x72\x79\x41\x64'][_0x10f901]=_0x413ebf;}else _0x413ebf=_0x28138a;return _0x413ebf;}var _0xdc07d9={};_0xdc07d9[_0x47fe77(0x20c,'\x71\x30\x46\x79')]=0.55,_0xdc07d9[_0x47fe77(0x210,'\x41\x5b\x52\x45')]=0.25,_0xdc07d9['\x69\x6e\x6e\x6f\x76\x61\x74\x65']=0.05,_0xdc07d9[_0x47fe77(0x1b4,'\x24\x6c\x29\x51')]=0.15,_0xdc07d9[_0x47fe77(0x1b3,'\x34\x41\x6f\x2a')+_0x47fe77(0x1d5,'\x36\x4e\x58\x40')+_0x47fe77(0x1ac,'\x52\x62\x4b\x54')]=0.9,_0xdc07d9[_0x47fe77(0x1a4,'\x6c\x5e\x57\x4e')]=_0x47fe77(0x1b9,'\x41\x4f\x7a\x35')+'\x74\x61\x74\x65',_0xdc07d9['\x64\x65\x73\x63\x72\x69\x70\x74'+_0x47fe77(0x1f9,'\x6d\x37\x48\x69')]=_0x47fe77(0x1ff,'\x67\x63\x6b\x37')+_0x47fe77(0x17b,'\x44\x5b\x49\x52')+_0x47fe77(0x19f,'\x41\x69\x61\x39')+_0x47fe77(0x21a,'\x77\x75\x65\x53')+_0x47fe77(0x1e5,'\x4a\x23\x4f\x44')+_0x47fe77(0x21c,'\x7a\x4d\x79\x40')+_0x47fe77(0x141,'\x52\x62\x4b\x54')+_0x47fe77(0x154,'\x2a\x23\x6c\x59')+_0x47fe77(0x1d4,'\x4a\x70\x63\x39')+'\x65\x63\x74\x69\x6f\x6e\x73\x2e';var _0x52abae={};_0x52abae[_0x47fe77(0x218,'\x6c\x5e\x57\x4e')]=_0x77870e,_0x52abae[_0x47fe77(0x19b,'\x4b\x6c\x4e\x43')]=_0x16dcfa,_0x52abae[_0x47fe77(0x185,'\x4d\x34\x75\x23')]=_0x2bd890,_0x52abae[_0x47fe77(0x1af,'\x4a\x70\x63\x39')+_0x47fe77(0x1ec,'\x57\x78\x24\x62')]=_0x5c06e1,_0x52abae[_0x47fe77(0x1f3,'\x77\x75\x65\x53')+_0x47fe77(0x1c7,'\x74\x65\x28\x44')]=_0x291ea6,_0x52abae[_0x47fe77(0x22b,'\x5b\x51\x28\x41')+_0x47fe77(0x1e9,'\x24\x6c\x29\x51')]=_0xdc07d9;var _0x907afd=_0x52abae;function _0x23f02a(){var _0x4c6a8b=_0x47fe77,_0x3bae6f={};_0x3bae6f[_0x4c6a8b(0x191,'\x67\x63\x6b\x37')]=_0x4c6a8b(0x1ab,'\x4a\x23\x4f\x44'),_0x3bae6f[_0x4c6a8b(0x1ce,'\x4a\x23\x4f\x44')]=_0x4c6a8b(0x1f8,'\x4a\x70\x63\x39')+'\x6e\x5f\x73\x74\x61\x74\x65\x2e'+_0x4c6a8b(0x1cd,'\x4a\x23\x4f\x44'),_0x3bae6f[_0x4c6a8b(0x168,'\x2a\x28\x69\x50')]=_0x4c6a8b(0x153,'\x6f\x67\x36\x6e')+'\x6e',_0x3bae6f[_0x4c6a8b(0x224,'\x61\x34\x7a\x72')]=_0x4c6a8b(0x1d8,'\x57\x78\x24\x62');var _0x2b3105=_0x3bae6f;try{var _0x5c38e1=_0x483295[_0x4c6a8b(0x20e,'\x6f\x67\x36\x6e')](__dirname,'\x2e\x2e','\x2e\x2e',_0x2b3105[_0x4c6a8b(0x169,'\x63\x74\x48\x41')],_0x2b3105[_0x4c6a8b(0x209,'\x36\x41\x76\x52')]),_0x3df003=_0x483295[_0x4c6a8b(0x197,'\x41\x69\x61\x39')](__dirname,'\x2e\x2e','\x2e\x2e','\x2e\x2e','\x2e\x2e',_0x2b3105[_0x4c6a8b(0x140,'\x2a\x23\x6c\x59')],_0x2b3105[_0x4c6a8b(0x179,'\x41\x4f\x7a\x35')],_0x2b3105[_0x4c6a8b(0x181,'\x57\x78\x24\x62')]),_0x553249=[_0x5c38e1,_0x3df003];for(var _0x5dc522=0x195b*-0x1+0x1*-0xc73+0x25ce;_0x5dc522<_0x553249[_0x4c6a8b(0x160,'\x4b\x6c\x4e\x43')];_0x5dc522++){if(_0x560246[_0x4c6a8b(0x1b1,'\x2a\x40\x46\x54')+'\x6e\x63'](_0x553249[_0x5dc522])){var _0x24181b=JSON[_0x4c6a8b(0x148,'\x41\x24\x32\x33')](_0x560246[_0x4c6a8b(0x171,'\x4d\x34\x75\x23')+_0x4c6a8b(0x21d,'\x5b\x71\x5b\x24')](_0x553249[_0x5dc522],_0x2b3105[_0x4c6a8b(0x14e,'\x4d\x64\x57\x49')]));return _0x24181b&&Number['\x69\x73\x46\x69\x6e\x69\x74\x65'](_0x24181b['\x63\x79\x63\x6c\x65\x43\x6f\x75'+'\x6e\x74'])?_0x24181b[_0x4c6a8b(0x1d9,'\x47\x5e\x49\x4d')+'\x6e\x74']:-0x2*0x372+0x19*0x67+-0x32b;}}}catch(_0x5490ed){}return-0x8*-0x13c+0x637+0x55d*-0x3;}function _0x11bf79(_0x49825f){var _0x16cc0a=_0x47fe77,_0x49d152={'\x48\x66\x72\x6c\x77':_0x16cc0a(0x214,'\x67\x63\x6b\x37')+'\x74\x61\x74\x65','\x73\x42\x50\x44\x64':_0x16cc0a(0x1cb,'\x41\x69\x61\x39'),'\x77\x7a\x77\x73\x78':function(_0x2acda9,_0x437558){return _0x2acda9(_0x437558);},'\x50\x77\x44\x64\x6d':function(_0x122ac4,_0x4ef897){return _0x122ac4===_0x4ef897;},'\x4f\x78\x64\x44\x6a':_0x16cc0a(0x192,'\x74\x65\x28\x44'),'\x6a\x53\x52\x48\x74':function(_0x4f6b49,_0x4fe154){return _0x4f6b49!==_0x4fe154;},'\x43\x55\x4f\x48\x4d':_0x16cc0a(0x14b,'\x74\x35\x25\x31'),'\x72\x62\x56\x6b\x54':_0x16cc0a(0x147,'\x7a\x4d\x79\x40'),'\x53\x6f\x4f\x78\x52':function(_0x10fe76,_0x1ca67b){return _0x10fe76===_0x1ca67b;},'\x78\x6b\x4e\x70\x75':function(_0x63c9dd,_0x30bf42){return _0x63c9dd===_0x30bf42;},'\x5a\x68\x73\x6e\x4f':_0x16cc0a(0x15a,'\x7a\x25\x5a\x51'),'\x44\x52\x63\x6c\x44':function(_0x5ae939,_0x328426){return _0x5ae939&&_0x328426;},'\x53\x61\x75\x4d\x79':function(_0xa7eda5){return _0xa7eda5();},'\x41\x41\x65\x64\x45':function(_0x44ea85,_0x59bf66){return _0x44ea85<=_0x59bf66;},'\x6f\x4a\x7a\x74\x67':_0x16cc0a(0x1e3,'\x56\x44\x4a\x36'),'\x6c\x56\x6b\x46\x50':'\x65\x61\x72\x6c\x79\x2d\x73\x74'+_0x16cc0a(0x142,'\x7a\x4d\x79\x40'),'\x75\x57\x51\x41\x6d':_0x16cc0a(0x1dc,'\x41\x63\x21\x6c')+_0x16cc0a(0x1be,'\x6d\x37\x48\x69')+'\x74\x65','\x4f\x66\x6a\x54\x6f':_0x16cc0a(0x1ba,'\x5b\x71\x5b\x24'),'\x6c\x77\x67\x51\x71':function(_0x37a3f6,_0x7370ff){return _0x37a3f6!==_0x7370ff;},'\x49\x4c\x49\x4b\x42':_0x16cc0a(0x1d0,'\x39\x51\x5e\x5e')+_0x16cc0a(0x1ca,'\x41\x4f\x7a\x35')+'\x74\x69\x6f\x6e','\x49\x63\x79\x72\x6e':function(_0x27ebce,_0x34a5a1){return _0x27ebce===_0x34a5a1;}},_0x20b052=_0x49825f&&Array[_0x16cc0a(0x19d,'\x4a\x23\x4f\x44')](_0x49825f[_0x16cc0a(0x172,'\x63\x74\x48\x41')])?_0x49825f[_0x16cc0a(0x22a,'\x47\x5e\x49\x4d')]:[],_0x1e17f4=String(process.env.EVOLVE_STRATEGY||_0x49d152[_0x16cc0a(0x1c4,'\x61\x34\x7a\x72')])[_0x16cc0a(0x228,'\x51\x79\x26\x41')+_0x16cc0a(0x175,'\x2a\x23\x6c\x59')]()[_0x16cc0a(0x1da,'\x41\x4f\x7a\x35')](),_0x274552=![];if(!process.env.EVOLVE_STRATEGY){var _0x29f92b=_0x49d152[_0x16cc0a(0x1fb,'\x34\x41\x6f\x2a')](String,process.env.FORCE_INNOVATION||process.env.EVOLVE_FORCE_INNOVATION||'')[_0x16cc0a(0x1a6,'\x74\x35\x25\x31')+_0x16cc0a(0x164,'\x44\x5b\x49\x52')]();if(_0x49d152[_0x16cc0a(0x211,'\x4a\x23\x4f\x44')](_0x29f92b,_0x49d152[_0x16cc0a(0x17a,'\x34\x41\x6f\x2a')])){if(_0x49d152[_0x16cc0a(0x200,'\x34\x41\x6f\x2a')](_0x49d152[_0x16cc0a(0x1b8,'\x63\x74\x48\x41')],_0x16cc0a(0x22d,'\x7a\x4d\x79\x40')))return _0x4abef2[_0x16cc0a(0x19e,'\x41\x5b\x52\x45')](_0x568f38);else _0x1e17f4=_0x49d152[_0x16cc0a(0x1d7,'\x24\x6c\x29\x51')],_0x274552=!![];}}var _0xd4ab1c=!process.env.EVOLVE_STRATEGY||_0x49d152['\x53\x6f\x4f\x78\x52'](_0x1e17f4,_0x49d152[_0x16cc0a(0x174,'\x4d\x34\x75\x23')])||_0x49d152[_0x16cc0a(0x17d,'\x4b\x6c\x4e\x43')](_0x1e17f4,_0x49d152[_0x16cc0a(0x226,'\x5b\x71\x5b\x24')]);if(_0x49d152[_0x16cc0a(0x1ad,'\x4d\x64\x57\x49')](_0xd4ab1c,!_0x274552)){var _0x4b6ab6=_0x49d152[_0x16cc0a(0x16c,'\x4a\x76\x24\x56')](_0x23f02a);_0x4b6ab6>-0x9b0*0x2+-0x62*0x41+-0x203*-0x16&&_0x49d152[_0x16cc0a(0x1b6,'\x74\x21\x62\x67')](_0x4b6ab6,0x1ae4+-0xacf*-0x2+-0x307d)&&(_0x49d152[_0x16cc0a(0x165,'\x36\x4e\x58\x40')]===_0x16cc0a(0x207,'\x52\x62\x4b\x54')?_0x1e17f4=_0x49d152['\x6c\x56\x6b\x46\x50']:_0x21043b=_0x49d152[_0x16cc0a(0x1c1,'\x34\x41\x6f\x2a')]);if(_0x49d152[_0x16cc0a(0x1e4,'\x4d\x34\x75\x23')](_0x20b052[_0x16cc0a(0x1ee,'\x74\x21\x62\x67')](_0x49d152[_0x16cc0a(0x1c8,'\x61\x34\x7a\x72')]),-(0x7f4+-0x1b0f+0x4*0x4c7)))_0x49d152[_0x16cc0a(0x16f,'\x23\x34\x66\x64')](_0x16cc0a(0x1a7,'\x5b\x71\x5b\x24'),_0x49d152[_0x16cc0a(0x188,'\x4d\x35\x41\x76')])?_0x33727e='\x65\x61\x72\x6c\x79\x2d\x73\x74'+'\x61\x62\x69\x6c\x69\x7a\x65':_0x1e17f4=_0x49d152[_0x16cc0a(0x1a0,'\x4d\x35\x41\x76')];else _0x49d152[_0x16cc0a(0x21b,'\x63\x74\x48\x41')](_0x20b052['\x69\x6e\x64\x65\x78\x4f\x66'](_0x49d152['\x49\x4c\x49\x4b\x42']),-(0x1dc5+-0xc57+-0x116d*0x1))&&(_0x1e17f4=_0x49d152[_0x16cc0a(0x227,'\x40\x58\x43\x26')]);}if(_0x49d152[_0x16cc0a(0x17e,'\x52\x62\x4b\x54')](_0x1e17f4,_0x49d152[_0x16cc0a(0x166,'\x56\x44\x4a\x36')]))_0x1e17f4=_0x49d152[_0x16cc0a(0x206,'\x4a\x76\x24\x56')];var _0x6ed20c=_0x907afd[_0x1e17f4]||_0x907afd[_0x49d152['\x73\x42\x50\x44\x64']],_0x5691ab={};return _0x5691ab[_0x16cc0a(0x14d,'\x5d\x73\x48\x67')]=_0x1e17f4,Object[_0x16cc0a(0x1eb,'\x71\x30\x46\x79')]({},_0x6ed20c,_0x5691ab);}function _0x1577d2(){return Object['\x6b\x65\x79\x73'](_0x907afd);}var _0x585b14={};_0x585b14[_0x47fe77(0x146,'\x2a\x40\x46\x54')+'\x74\x72\x61\x74\x65\x67\x79']=_0x11bf79,_0x585b14[_0x47fe77(0x15f,'\x74\x35\x25\x31')+_0x47fe77(0x220,'\x6c\x5e\x57\x4e')]=_0x1577d2,_0x585b14[_0x47fe77(0x201,'\x4b\x6c\x4e\x43')+'\x45\x53']=_0x907afd,module['\x65\x78\x70\x6f\x72\x74\x73']=_0x585b14;
|
package/src/gep/taskReceiver.js
CHANGED
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
|
|
9
9
|
const { getNodeId, buildHubHeaders } = require('./a2aProtocol');
|
|
10
10
|
const { resolveHubUrl } = require('../config');
|
|
11
|
+
const { hubFetch } = require('./hubFetch');
|
|
11
12
|
const { createTask, validateTask } = require('./schemas/task');
|
|
12
13
|
|
|
13
14
|
function buildAuthHeaders() {
|
|
@@ -61,7 +62,7 @@ async function fetchTasks(opts) {
|
|
|
61
62
|
const controller = new AbortController();
|
|
62
63
|
const timer = setTimeout(() => controller.abort(), 8000);
|
|
63
64
|
|
|
64
|
-
const res = await
|
|
65
|
+
const res = await hubFetch(url, {
|
|
65
66
|
method: 'POST',
|
|
66
67
|
headers: buildAuthHeaders(),
|
|
67
68
|
body: JSON.stringify(msg),
|
|
@@ -368,7 +369,7 @@ async function claimTask(taskId, opts) {
|
|
|
368
369
|
body.commitment_deadline = opts.commitment_deadline;
|
|
369
370
|
}
|
|
370
371
|
|
|
371
|
-
const res = await
|
|
372
|
+
const res = await hubFetch(url, {
|
|
372
373
|
method: 'POST',
|
|
373
374
|
headers: buildAuthHeaders(),
|
|
374
375
|
body: JSON.stringify(body),
|
|
@@ -397,7 +398,7 @@ async function completeTask(taskId, assetId) {
|
|
|
397
398
|
const controller = new AbortController();
|
|
398
399
|
const timer = setTimeout(() => controller.abort(), 5000);
|
|
399
400
|
|
|
400
|
-
const res = await
|
|
401
|
+
const res = await hubFetch(url, {
|
|
401
402
|
method: 'POST',
|
|
402
403
|
headers: buildAuthHeaders(),
|
|
403
404
|
body: JSON.stringify({ task_id: taskId, asset_id: assetId, node_id: nodeId }),
|
|
@@ -448,7 +449,7 @@ async function claimWorkerTask(taskId) {
|
|
|
448
449
|
const controller = new AbortController();
|
|
449
450
|
const timer = setTimeout(() => controller.abort(), 5000);
|
|
450
451
|
|
|
451
|
-
const res = await
|
|
452
|
+
const res = await hubFetch(url, {
|
|
452
453
|
method: 'POST',
|
|
453
454
|
headers: buildAuthHeaders(),
|
|
454
455
|
body: JSON.stringify({ task_id: taskId, node_id: nodeId }),
|
|
@@ -472,7 +473,7 @@ async function completeWorkerTask(assignmentId, resultAssetId) {
|
|
|
472
473
|
const controller = new AbortController();
|
|
473
474
|
const timer = setTimeout(() => controller.abort(), 5000);
|
|
474
475
|
|
|
475
|
-
const res = await
|
|
476
|
+
const res = await hubFetch(url, {
|
|
476
477
|
method: 'POST',
|
|
477
478
|
headers: buildAuthHeaders(),
|
|
478
479
|
body: JSON.stringify({ assignment_id: assignmentId, node_id: nodeId, result_asset_id: resultAssetId }),
|
|
@@ -9,7 +9,8 @@
|
|
|
9
9
|
// or cannot sandbox-execute will simply skip and try again next cycle.
|
|
10
10
|
'use strict';
|
|
11
11
|
|
|
12
|
-
const { getNodeId, buildHubHeaders
|
|
12
|
+
const { getNodeId, buildHubHeaders } = require('../a2aProtocol');
|
|
13
|
+
const { hubFetch } = require('../hubFetch');
|
|
13
14
|
const { runInSandbox, runPreflight } = require('./sandboxExecutor');
|
|
14
15
|
const { buildReportPayload, submitReport } = require('./reporter');
|
|
15
16
|
const { ensureValidatorStake } = require('./stakeBootstrap');
|
|
@@ -35,10 +36,13 @@ function isValidatorEnabled() {
|
|
|
35
36
|
}
|
|
36
37
|
|
|
37
38
|
function resolveHubUrl() {
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
39
|
+
// Always go through config.resolveHubUrl() — it reads the same env vars
|
|
40
|
+
// getHubUrl() reads plus EVOLVER_DEFAULT_HUB_URL, falls back to the
|
|
41
|
+
// PUBLIC_DEFAULT_HUB_URL constant, and enforces the https schema check
|
|
42
|
+
// (with EVOMAP_HUB_ALLOW_INSECURE=1 as the explicit escape hatch).
|
|
43
|
+
// Preferring the raw getHubUrl() here would let an http:// URL slip past
|
|
44
|
+
// this frame; hubFetch would still catch it, but the in-validator code
|
|
45
|
+
// path should not look like it accepts an unvalidated URL.
|
|
42
46
|
return resolveDefaultHubUrl();
|
|
43
47
|
}
|
|
44
48
|
|
|
@@ -74,7 +78,7 @@ async function fetchValidationTasks() {
|
|
|
74
78
|
};
|
|
75
79
|
|
|
76
80
|
try {
|
|
77
|
-
const res = await
|
|
81
|
+
const res = await hubFetch(url, {
|
|
78
82
|
method: 'POST',
|
|
79
83
|
headers: buildHubHeaders(),
|
|
80
84
|
body: JSON.stringify(msg),
|
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
|
|
8
8
|
const crypto = require('crypto');
|
|
9
9
|
const { buildHubHeaders, getHubUrl, getNodeId } = require('../a2aProtocol');
|
|
10
|
+
const { hubFetch } = require('../hubFetch');
|
|
10
11
|
const { captureEnvFingerprint } = require('../envFingerprint');
|
|
11
12
|
const { resolveHubUrl: resolveDefaultHubUrl } = require('../../config');
|
|
12
13
|
|
|
@@ -172,7 +173,7 @@ async function submitReport(payload) {
|
|
|
172
173
|
};
|
|
173
174
|
|
|
174
175
|
try {
|
|
175
|
-
const res = await
|
|
176
|
+
const res = await hubFetch(url, {
|
|
176
177
|
method: 'POST',
|
|
177
178
|
headers: buildHubHeaders(),
|
|
178
179
|
body: JSON.stringify(msg),
|
|
@@ -29,6 +29,7 @@ const fs = require('fs');
|
|
|
29
29
|
const path = require('path');
|
|
30
30
|
const os = require('os');
|
|
31
31
|
const { buildHubHeaders, getHubUrl, getNodeId } = require('../a2aProtocol');
|
|
32
|
+
const { hubFetch } = require('../hubFetch');
|
|
32
33
|
const { resolveHubUrl: resolveDefaultHubUrl } = require('../../config');
|
|
33
34
|
|
|
34
35
|
const DEFAULT_STAKE_AMOUNT = Number(process.env.EVOLVER_VALIDATOR_STAKE_AMOUNT) || 100;
|
|
@@ -235,7 +236,7 @@ async function ensureValidatorStake(opts) {
|
|
|
235
236
|
let res;
|
|
236
237
|
let text = '';
|
|
237
238
|
try {
|
|
238
|
-
res = await
|
|
239
|
+
res = await hubFetch(url, {
|
|
239
240
|
method: 'POST',
|
|
240
241
|
headers: buildHubHeaders(),
|
|
241
242
|
body: JSON.stringify(body),
|
package/src/proxy/index.js
CHANGED
|
@@ -5,6 +5,7 @@ const os = require('os');
|
|
|
5
5
|
const { MailboxStore } = require('./mailbox/store');
|
|
6
6
|
const { ProxyHttpServer } = require('./server/http');
|
|
7
7
|
const { buildRoutes } = require('./server/routes');
|
|
8
|
+
const { buildMessagesHandler } = require('./router/messages_route');
|
|
8
9
|
const { SyncEngine } = require('./sync/engine');
|
|
9
10
|
const { LifecycleManager } = require('./lifecycle/manager');
|
|
10
11
|
const { TaskMonitor } = require('./task/monitor');
|
|
@@ -21,6 +22,7 @@ class EvoMapProxy {
|
|
|
21
22
|
this.port = opts.port;
|
|
22
23
|
this.logger = opts.logger || console;
|
|
23
24
|
this._skillPath = opts.skillPath || null;
|
|
25
|
+
this._anthropicBaseUrl = (opts.anthropicBaseUrl || process.env.EVOMAP_ANTHROPIC_BASE_URL || 'https://api.anthropic.com').replace(/\/+$/, '');
|
|
24
26
|
|
|
25
27
|
this.store = null;
|
|
26
28
|
this.server = null;
|
|
@@ -93,11 +95,17 @@ class EvoMapProxy {
|
|
|
93
95
|
atpGet: (endpoint, query) => this._proxyHttp(endpoint, null, { method: 'GET', query }),
|
|
94
96
|
};
|
|
95
97
|
|
|
98
|
+
const messagesHandler = buildMessagesHandler({
|
|
99
|
+
anthropicProxy: (reqPath, body, opts) => this._proxyAnthropic(reqPath, body, opts),
|
|
100
|
+
logger: this.logger,
|
|
101
|
+
});
|
|
102
|
+
|
|
96
103
|
const routes = buildRoutes(this.store, proxyHandlers, this.taskMonitor, {
|
|
97
104
|
dmHandler: this.dmHandler,
|
|
98
105
|
skillUpdater: this.skillUpdater,
|
|
99
106
|
sessionHandler: this.sessionHandler,
|
|
100
107
|
getHubMailboxStatus: () => this._getHubMailboxStatus(),
|
|
108
|
+
messagesHandler,
|
|
101
109
|
});
|
|
102
110
|
|
|
103
111
|
const OUTBOUND_ROUTES = [
|
|
@@ -222,6 +230,67 @@ class EvoMapProxy {
|
|
|
222
230
|
return res.json();
|
|
223
231
|
}
|
|
224
232
|
|
|
233
|
+
// Phase C slice 4 + token mediation: relay to api.anthropic.com. The
|
|
234
|
+
// route layer applies router rewrite and decides stream vs. JSON; this
|
|
235
|
+
// method forwards the request and exposes the response shape.
|
|
236
|
+
//
|
|
237
|
+
// Allowed forward headers (lowercased): x-api-key, anthropic-version,
|
|
238
|
+
// and anything matching anthropic-* (anthropic-beta, etc.). Everything
|
|
239
|
+
// else (host, authorization, cookie, content-length, ...) is dropped
|
|
240
|
+
// so the inbound proxy-auth header never leaks upstream.
|
|
241
|
+
//
|
|
242
|
+
// Token mediation: the proxy server's `Authorization: Bearer <token>`
|
|
243
|
+
// header is consumed by ProxyHttpServer for self-auth and stripped
|
|
244
|
+
// here, so clients (e.g. Claude Code) can authenticate to the proxy
|
|
245
|
+
// with `ANTHROPIC_AUTH_TOKEN=<proxy_token>` without losing the ability
|
|
246
|
+
// to reach Anthropic upstream. When the client did not pass x-api-key,
|
|
247
|
+
// the proxy substitutes its own ANTHROPIC_API_KEY / ANTHROPIC_AUTH_TOKEN
|
|
248
|
+
// env var on the upstream request. Env is read per-request so creds
|
|
249
|
+
// can be hot-swapped without restart, matching the EVOMAP_MODEL_*
|
|
250
|
+
// policy in README.
|
|
251
|
+
async _proxyAnthropic(reqPath, body, opts = {}) {
|
|
252
|
+
const baseUrl = (opts.baseUrl || this._anthropicBaseUrl || '').replace(/\/+$/, '');
|
|
253
|
+
const inbound = opts.inboundHeaders || {};
|
|
254
|
+
const timeoutMs = opts.timeoutMs || 60_000;
|
|
255
|
+
|
|
256
|
+
const fwd = { 'content-type': 'application/json' };
|
|
257
|
+
for (const [k, v] of Object.entries(inbound)) {
|
|
258
|
+
if (v === undefined || v === null) continue;
|
|
259
|
+
const lk = k.toLowerCase();
|
|
260
|
+
if (lk === 'x-api-key' || lk === 'anthropic-version' || lk.startsWith('anthropic-')) {
|
|
261
|
+
fwd[lk] = Array.isArray(v) ? v.join(', ') : String(v);
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
|
|
265
|
+
if (!fwd['x-api-key']) {
|
|
266
|
+
if (process.env.ANTHROPIC_API_KEY) {
|
|
267
|
+
fwd['x-api-key'] = process.env.ANTHROPIC_API_KEY;
|
|
268
|
+
} else if (process.env.ANTHROPIC_AUTH_TOKEN) {
|
|
269
|
+
fwd['authorization'] = `Bearer ${process.env.ANTHROPIC_AUTH_TOKEN}`;
|
|
270
|
+
}
|
|
271
|
+
}
|
|
272
|
+
|
|
273
|
+
const endpoint = `${baseUrl}${reqPath}`;
|
|
274
|
+
const res = await fetch(endpoint, {
|
|
275
|
+
method: 'POST',
|
|
276
|
+
headers: fwd,
|
|
277
|
+
body: JSON.stringify(body || {}),
|
|
278
|
+
signal: AbortSignal.timeout(timeoutMs),
|
|
279
|
+
});
|
|
280
|
+
|
|
281
|
+
const headers = Object.fromEntries(res.headers.entries());
|
|
282
|
+
const contentType = (headers['content-type'] || '').toLowerCase();
|
|
283
|
+
const isStream = contentType.includes('text/event-stream');
|
|
284
|
+
|
|
285
|
+
return {
|
|
286
|
+
status: res.status,
|
|
287
|
+
headers,
|
|
288
|
+
stream: isStream ? res.body : null,
|
|
289
|
+
json: isStream ? null : () => res.json(),
|
|
290
|
+
text: () => res.text(),
|
|
291
|
+
};
|
|
292
|
+
}
|
|
293
|
+
|
|
225
294
|
async _getHubMailboxStatus() {
|
|
226
295
|
if (!this.hubUrl) return { error: 'Hub not configured' };
|
|
227
296
|
const nodeId = this.lifecycle.nodeId;
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
const { PROXY_PROTOCOL_VERSION } = require('../mailbox/store');
|
|
4
4
|
const crypto = require('crypto');
|
|
5
|
+
const { hubFetch } = require('../../gep/hubFetch');
|
|
5
6
|
|
|
6
7
|
const DEFAULT_HEARTBEAT_INTERVAL = 360_000;
|
|
7
8
|
const HELLO_TIMEOUT = 15_000;
|
|
@@ -137,7 +138,7 @@ class LifecycleManager {
|
|
|
137
138
|
};
|
|
138
139
|
|
|
139
140
|
try {
|
|
140
|
-
const res = await
|
|
141
|
+
const res = await hubFetch(endpoint, {
|
|
141
142
|
method: 'POST',
|
|
142
143
|
headers: this._buildHeaders(),
|
|
143
144
|
body: JSON.stringify(body),
|
|
@@ -317,7 +318,7 @@ class LifecycleManager {
|
|
|
317
318
|
};
|
|
318
319
|
|
|
319
320
|
try {
|
|
320
|
-
const res = await
|
|
321
|
+
const res = await hubFetch(endpoint, {
|
|
321
322
|
method: 'POST',
|
|
322
323
|
headers: this._buildHeaders(),
|
|
323
324
|
body: JSON.stringify(body),
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
// Rewrites the `model` field on an Anthropic /v1/messages request body
|
|
4
|
+
// without touching the `messages` array. The Anthropic prompt cache keys
|
|
5
|
+
// off the (model + messages + system + tools) tuple including any
|
|
6
|
+
// per-block `cache_control: { type: "ephemeral" }` markers. Since we
|
|
7
|
+
// only swap the top-level model string, all cache_control breakpoints
|
|
8
|
+
// the client placed remain intact and the cache prefix the client
|
|
9
|
+
// established with prior turns continues to hit.
|
|
10
|
+
//
|
|
11
|
+
// This is a pure function: it returns a shallow clone, never mutates
|
|
12
|
+
// the input. Callers pass a fresh body each request so deep cloning
|
|
13
|
+
// would be wasted work.
|
|
14
|
+
//
|
|
15
|
+
// Why a fresh module under src/proxy/router/: this is the second
|
|
16
|
+
// utility for Phase C alongside model_router.js. Bundling them into a
|
|
17
|
+
// shared dir keeps slice 4+ from sprawling helpers across src/proxy/.
|
|
18
|
+
|
|
19
|
+
function rewriteModel(body, newModel) {
|
|
20
|
+
if (!body || typeof body !== 'object') return body;
|
|
21
|
+
if (!newModel || typeof newModel !== 'string') return body;
|
|
22
|
+
if (body.model === newModel) return body;
|
|
23
|
+
return { ...body, model: newModel };
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
module.exports = { rewriteModel };
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
// Stateless feature extraction for the Anthropic /v1/messages request body.
|
|
4
|
+
// Mirrors the field shapes consumed by model_router.js so pickForTurn can
|
|
5
|
+
// classify without per-session state. Phase C's "empty history" mode means
|
|
6
|
+
// last_assistant_output_tokens / last_assistant_stop_reason are always 0 /
|
|
7
|
+
// null; the JS classifier never reads stop_reason anyway (verified in the
|
|
8
|
+
// fixture round-trip; documented in model_router.js).
|
|
9
|
+
|
|
10
|
+
const PLAN_RE = /\b(plan|design|architect|brainstorm|outline|think through|let'?s think)\b/i;
|
|
11
|
+
const SIMPLE_LOOKUP_MAX_CHARS = 80;
|
|
12
|
+
|
|
13
|
+
function lastMessageOfRole(messages, role) {
|
|
14
|
+
if (!Array.isArray(messages)) return null;
|
|
15
|
+
for (let i = messages.length - 1; i >= 0; i--) {
|
|
16
|
+
const m = messages[i];
|
|
17
|
+
if (m && m.role === role) return m;
|
|
18
|
+
}
|
|
19
|
+
return null;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
function blocksOf(msg) {
|
|
23
|
+
if (!msg) return [];
|
|
24
|
+
const c = msg.content;
|
|
25
|
+
if (typeof c === 'string') return [{ type: 'text', text: c }];
|
|
26
|
+
return Array.isArray(c) ? c : [];
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
function tailUserText(messages) {
|
|
30
|
+
if (!Array.isArray(messages) || messages.length === 0) return '';
|
|
31
|
+
const tail = messages[messages.length - 1];
|
|
32
|
+
if (!tail || tail.role !== 'user') return '';
|
|
33
|
+
return blocksOf(tail)
|
|
34
|
+
.filter((b) => b && b.type === 'text' && typeof b.text === 'string')
|
|
35
|
+
.map((b) => b.text)
|
|
36
|
+
.join('\n');
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
function extractFeatures(body) {
|
|
40
|
+
const messages = Array.isArray(body && body.messages) ? body.messages : [];
|
|
41
|
+
|
|
42
|
+
const lastAssistant = lastMessageOfRole(messages, 'assistant');
|
|
43
|
+
const lastAssistantBlocks = blocksOf(lastAssistant);
|
|
44
|
+
const toolCallCount = lastAssistantBlocks.filter((b) => b && b.type === 'tool_use').length;
|
|
45
|
+
|
|
46
|
+
const tail = messages[messages.length - 1];
|
|
47
|
+
const tailIsUser = !!(tail && tail.role === 'user');
|
|
48
|
+
const tailBlocks = blocksOf(tail);
|
|
49
|
+
const lastUserIsToolResultOnly = tailIsUser
|
|
50
|
+
&& tailBlocks.length > 0
|
|
51
|
+
&& tailBlocks.every((b) => b && b.type === 'tool_result');
|
|
52
|
+
|
|
53
|
+
const userText = tailUserText(messages);
|
|
54
|
+
const userRequestedPlanning = userText.length > 0 && PLAN_RE.test(userText);
|
|
55
|
+
const userSimpleLookup = userText.length > 0
|
|
56
|
+
&& !lastUserIsToolResultOnly
|
|
57
|
+
&& !userRequestedPlanning
|
|
58
|
+
&& userText.trim().length <= SIMPLE_LOOKUP_MAX_CHARS;
|
|
59
|
+
|
|
60
|
+
// last_assistant_stop_reason is gated by the classifier's
|
|
61
|
+
// post_tool_result_synthesis branch (model_router.js parity invariant).
|
|
62
|
+
// We don't have the real Anthropic response on the request side, but the
|
|
63
|
+
// shape of the last assistant message lets us reconstruct it deterministically:
|
|
64
|
+
// an assistant message with any tool_use block must have ended with
|
|
65
|
+
// stop_reason: 'tool_use' (otherwise the API would not have returned that
|
|
66
|
+
// block); a text-only assistant message ended with 'end_turn' ('Stop' in the
|
|
67
|
+
// Rust enum). Only 'ToolUse' is read by the classifier.
|
|
68
|
+
let stopReason = null;
|
|
69
|
+
if (lastAssistant) {
|
|
70
|
+
stopReason = toolCallCount > 0 ? 'ToolUse' : 'Stop';
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
return {
|
|
74
|
+
last_assistant_tool_call_count: toolCallCount,
|
|
75
|
+
last_assistant_had_tool_call: toolCallCount > 0,
|
|
76
|
+
last_user_is_tool_result_only: lastUserIsToolResultOnly,
|
|
77
|
+
user_requested_planning: userRequestedPlanning,
|
|
78
|
+
user_simple_lookup: userSimpleLookup,
|
|
79
|
+
last_assistant_output_tokens: 0,
|
|
80
|
+
last_assistant_stop_reason: stopReason,
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
module.exports = { extractFeatures, PLAN_RE, SIMPLE_LOOKUP_MAX_CHARS };
|