@evomap/evolver 1.89.3 → 1.89.4

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 (104) 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 +1237 -0
  9. package/README.md +86 -528
  10. package/README.public.md +569 -0
  11. package/SECURITY.md +108 -0
  12. package/assets/gep/events.jsonl +3 -0
  13. package/examples/atp-consumer-quickstart.md +100 -0
  14. package/examples/hello-world.md +38 -0
  15. package/index.js +30 -1
  16. package/package.json +6 -17
  17. package/proxy-package.json +39 -0
  18. package/public.manifest.json +143 -0
  19. package/src/config.js +23 -0
  20. package/src/evolve/guards.js +721 -1
  21. package/src/evolve/pipeline/collect.js +1283 -1
  22. package/src/evolve/pipeline/dispatch.js +421 -1
  23. package/src/evolve/pipeline/enrich.js +440 -1
  24. package/src/evolve/pipeline/hub.js +319 -1
  25. package/src/evolve/pipeline/select.js +274 -1
  26. package/src/evolve/pipeline/signals.js +206 -1
  27. package/src/evolve/utils.js +264 -1
  28. package/src/evolve.js +350 -1
  29. package/src/experiment/agentRunner.js +229 -0
  30. package/src/experiment/cli.js +159 -0
  31. package/src/experiment/comparison.js +233 -0
  32. package/src/experiment/metrics.js +75 -0
  33. package/src/forceUpdate.js +147 -59
  34. package/src/gep/a2aProtocol.js +4455 -1
  35. package/src/gep/antiAbuseTelemetry.js +233 -0
  36. package/src/gep/autoDistillConv.js +205 -1
  37. package/src/gep/autoDistillLlm.js +315 -1
  38. package/src/gep/candidateEval.js +92 -1
  39. package/src/gep/candidates.js +198 -1
  40. package/src/gep/contentHash.js +30 -1
  41. package/src/gep/conversationSniffer.js +266 -1
  42. package/src/gep/crypto.js +89 -1
  43. package/src/gep/curriculum.js +163 -1
  44. package/src/gep/deviceId.js +218 -1
  45. package/src/gep/envFingerprint.js +118 -1
  46. package/src/gep/epigenetics.js +31 -1
  47. package/src/gep/execBridge.js +711 -1
  48. package/src/gep/explore.js +289 -1
  49. package/src/gep/hash.js +15 -1
  50. package/src/gep/hubFetch.js +359 -1
  51. package/src/gep/hubReview.js +207 -1
  52. package/src/gep/hubSearch.js +526 -1
  53. package/src/gep/hubVerify.js +306 -1
  54. package/src/gep/learningSignals.js +89 -1
  55. package/src/gep/memoryGraph.js +1374 -1
  56. package/src/gep/memoryGraphAdapter.js +203 -1
  57. package/src/gep/mutation.js +203 -1
  58. package/src/gep/narrativeMemory.js +108 -1
  59. package/src/gep/openPRRegistry.js +205 -1
  60. package/src/gep/personality.js +423 -1
  61. package/src/gep/policyCheck.js +599 -1
  62. package/src/gep/prompt.js +836 -1
  63. package/src/gep/recallInject.js +409 -1
  64. package/src/gep/recallVerifier.js +318 -1
  65. package/src/gep/reflection.js +177 -1
  66. package/src/gep/sanitize.js +9 -0
  67. package/src/gep/selector.js +602 -1
  68. package/src/gep/skillDistiller.js +1294 -1
  69. package/src/gep/solidify.js +1699 -1
  70. package/src/gep/strategy.js +136 -1
  71. package/src/gep/tokenSavings.js +88 -1
  72. package/src/gep/validator/sandboxExecutor.js +29 -1
  73. package/src/gep/workspaceKeychain.js +174 -1
  74. package/src/proxy/extensions/traceControl.js +99 -1
  75. package/src/proxy/index.js +10 -1
  76. package/src/proxy/inject.js +52 -1
  77. package/src/proxy/lifecycle/manager.js +19 -0
  78. package/src/proxy/mailbox/store.js +2 -1
  79. package/src/proxy/router/messages_route.js +5 -2
  80. package/src/proxy/trace/extractor.js +646 -1
  81. package/src/proxy/trace/usage.js +105 -1
  82. package/CONTRIBUTING.md +0 -19
  83. package/assets/cover.png +0 -0
  84. package/scripts/a2a_export.js +0 -63
  85. package/scripts/a2a_ingest.js +0 -79
  86. package/scripts/a2a_promote.js +0 -118
  87. package/scripts/analyze_by_skill.js +0 -121
  88. package/scripts/build_binaries.js +0 -479
  89. package/scripts/check-changelog.js +0 -166
  90. package/scripts/extract_log.js +0 -85
  91. package/scripts/generate_history.js +0 -75
  92. package/scripts/gep_append_event.js +0 -96
  93. package/scripts/gep_personality_report.js +0 -234
  94. package/scripts/human_report.js +0 -147
  95. package/scripts/recall-verify-report.js +0 -234
  96. package/scripts/recover_loop.js +0 -61
  97. package/scripts/refresh_stars_badge.js +0 -168
  98. package/scripts/seed-merchants.js +0 -91
  99. package/scripts/suggest_version.js +0 -89
  100. package/scripts/validate-modules.js +0 -38
  101. package/scripts/validate-suite.js +0 -78
  102. package/skills/index.json +0 -14
  103. /package/assets/gep/{genes.seed.json → genes.json} +0 -0
  104. /package/{skills → bundled-skills}/_meta/SKILL.md +0 -0
@@ -0,0 +1,233 @@
1
+ 'use strict';
2
+
3
+ const crypto = require('crypto');
4
+ const fs = require('fs');
5
+ const os = require('os');
6
+ const path = require('path');
7
+
8
+ const { captureEnvFingerprint, envFingerprintKey } = require('./envFingerprint');
9
+
10
+ const SCHEMA_VERSION = 'anti_abuse.v1';
11
+ const REDACTION_VERSION = 'anti_abuse_redaction.v1';
12
+ const DEFAULT_TTL_DAYS = 90;
13
+ const MAX_HASH_FILE_BYTES = 10 * 1024 * 1024;
14
+
15
+ function nowIso(now) {
16
+ if (now instanceof Date) return now.toISOString();
17
+ if (typeof now === 'string' && now) return now;
18
+ return new Date().toISOString();
19
+ }
20
+
21
+ function boolFromEnv(value) {
22
+ const v = String(value || '').trim().toLowerCase();
23
+ return v === '1' || v === 'true' || v === 'yes' || v === 'on';
24
+ }
25
+
26
+ function hmacPseudonym(value, opts) {
27
+ const raw = value == null ? '' : String(value);
28
+ const salt = opts && opts.salt ? String(opts.salt) : '';
29
+ const purpose = opts && opts.purpose ? String(opts.purpose) : 'anti_abuse';
30
+ if (!raw || !salt) return null;
31
+ return crypto.createHmac('sha256', salt).update(purpose).update('\0').update(raw).digest('hex').slice(0, 32);
32
+ }
33
+
34
+ function sha256File(filePath) {
35
+ let stat;
36
+ try {
37
+ stat = fs.statSync(filePath);
38
+ } catch (_) {
39
+ return null;
40
+ }
41
+ if (!stat.isFile() || stat.size > MAX_HASH_FILE_BYTES) return null;
42
+ const hash = crypto.createHash('sha256');
43
+ hash.update(fs.readFileSync(filePath));
44
+ return hash.digest('hex');
45
+ }
46
+
47
+ function safeJsonFile(filePath) {
48
+ try {
49
+ return JSON.parse(fs.readFileSync(filePath, 'utf8'));
50
+ } catch (_) {
51
+ return null;
52
+ }
53
+ }
54
+
55
+ function filePermissionClass(filePath) {
56
+ let stat;
57
+ try {
58
+ stat = fs.statSync(filePath);
59
+ } catch (_) {
60
+ return 'missing';
61
+ }
62
+ if (!stat.isFile()) return 'not_file';
63
+ const mode = stat.mode & 0o777;
64
+ if ((mode & 0o077) === 0) return 'owner_only';
65
+ if ((mode & 0o007) !== 0) return 'world_accessible';
66
+ return 'group_accessible';
67
+ }
68
+
69
+ // The integrity envelope fingerprints the INSTALLED @evomap/evolver package
70
+ // — its package.json, CLI entry, and lockfiles — not the user's project.
71
+ // __dirname tracks this file inside the install (<pkg>/src/gep/), so two
72
+ // levels up is the package root in every install mode (dev clone, npm
73
+ // global, npx cache). Hashing getRepoRoot() (the user's project) here would
74
+ // make hub-side integrity checks compare workspace files against
75
+ // evolver_version, mismatching on every npm/global install.
76
+ function getEvolverPackageRoot() {
77
+ return path.resolve(__dirname, '..', '..');
78
+ }
79
+
80
+ // Containment gate for EVERY file the integrity envelope reads: resolve the
81
+ // candidate through symlinks and require it to stay inside the package root.
82
+ // Default-on heartbeat collection must not grow an out-of-tree file-read
83
+ // side effect — not via a tampered bin.evolver, and not via a symlinked
84
+ // package.json / lockfile either (each read is up to MAX_HASH_FILE_BYTES).
85
+ // Returns the real path when contained, else null (missing files land here
86
+ // too, matching sha256File's old null-on-ENOENT behavior).
87
+ function containedRealPath(root, candidate) {
88
+ try {
89
+ const realRoot = fs.realpathSync(root);
90
+ const real = fs.realpathSync(candidate);
91
+ return real.startsWith(realRoot + path.sep) ? real : null;
92
+ } catch (_) {
93
+ return null;
94
+ }
95
+ }
96
+
97
+ function collectIntegrityHashes(packageRoot) {
98
+ const root = packageRoot || getEvolverPackageRoot();
99
+ const pkgPath = containedRealPath(root, path.join(root, 'package.json'));
100
+ const pkg = (pkgPath && safeJsonFile(pkgPath)) || {};
101
+ const bin = pkg && pkg.bin && typeof pkg.bin.evolver === 'string' ? pkg.bin.evolver : null;
102
+ const binPath = bin ? containedRealPath(root, path.resolve(root, bin)) : null;
103
+ const lockfiles = ['package-lock.json', 'pnpm-lock.yaml', 'yarn.lock', 'bun.lockb'];
104
+ const lockfile_hashes = {};
105
+ for (const name of lockfiles) {
106
+ const p = containedRealPath(root, path.join(root, name));
107
+ const digest = p ? sha256File(p) : null;
108
+ if (digest) lockfile_hashes[name] = digest;
109
+ }
110
+ return {
111
+ package_json_hash: pkgPath ? sha256File(pkgPath) : null,
112
+ cli_entry_hash: binPath ? sha256File(binPath) : null,
113
+ lockfile_hashes,
114
+ };
115
+ }
116
+
117
+ function settingsPermissionClass(env) {
118
+ const e = env || process.env;
119
+ const settingsDir = e.EVOLVER_SETTINGS_DIR || path.join(os.homedir(), '.evolver');
120
+ return filePermissionClass(path.join(settingsDir, 'settings.json'));
121
+ }
122
+
123
+ function normalizeTaskMetrics(taskMeta) {
124
+ const meta = taskMeta && typeof taskMeta === 'object' ? taskMeta : {};
125
+ const metrics = meta.task_metrics && typeof meta.task_metrics === 'object' ? meta.task_metrics : null;
126
+ if (!metrics) return null;
127
+ return {
128
+ pending: Number.isFinite(Number(metrics.pending)) ? Number(metrics.pending) : null,
129
+ claimed: Number.isFinite(Number(metrics.claimed)) ? Number(metrics.claimed) : null,
130
+ completed: Number.isFinite(Number(metrics.completed)) ? Number(metrics.completed) : null,
131
+ failed: Number.isFinite(Number(metrics.failed)) ? Number(metrics.failed) : null,
132
+ avg_completion_ms: Number.isFinite(Number(metrics.avg_completion_ms)) ? Number(metrics.avg_completion_ms) : null,
133
+ };
134
+ }
135
+
136
+ function ttlDays(env) {
137
+ const raw = Number(env && env.EVOLVER_ANTI_ABUSE_TTL_DAYS);
138
+ return Number.isFinite(raw) && raw > 0 ? Math.floor(raw) : DEFAULT_TTL_DAYS;
139
+ }
140
+
141
+ function unavailable(field, reason, expectedSource) {
142
+ return {
143
+ field,
144
+ reason,
145
+ expected_source: expectedSource || 'hub_server',
146
+ };
147
+ }
148
+
149
+ function buildHeartbeatAntiAbuseTelemetry(opts) {
150
+ const options = opts || {};
151
+ const env = options.env || process.env;
152
+ const fp = options.envFingerprint || captureEnvFingerprint();
153
+ const salt = options.salt != null ? options.salt : env.EVOLVER_ANTI_ABUSE_SALT;
154
+ const saltId = options.saltId || env.EVOLVER_ANTI_ABUSE_SALT_ID || (salt ? 'env' : null);
155
+ const packageRoot = options.packageRoot || getEvolverPackageRoot();
156
+ const devicePseudonym = hmacPseudonym(fp && fp.device_id, { salt, purpose: 'device' });
157
+ const workspacePseudonym = hmacPseudonym(process.cwd(), { salt, purpose: 'workspace' });
158
+ const missing = [];
159
+ if (!devicePseudonym) missing.push(unavailable('device_pseudonym', 'anti_abuse_salt_missing', 'signed_policy_or_env'));
160
+ if (!workspacePseudonym) missing.push(unavailable('workspace_pseudonym', 'anti_abuse_salt_missing', 'signed_policy_or_env'));
161
+ missing.push(
162
+ unavailable('client_ip', 'server_observed_required', 'hub_edge'),
163
+ unavailable('asn', 'server_observed_required', 'hub_edge'),
164
+ unavailable('proxy_vpn_tor_datacenter_class', 'server_observed_required', 'hub_edge'),
165
+ unavailable('account_security', 'account_service_required', 'hub_account'),
166
+ unavailable('payout_method_token', 'payments_service_required', 'hub_payments'),
167
+ unavailable('risk_action_case', 'risk_engine_required', 'hub_risk')
168
+ );
169
+
170
+ return {
171
+ schema_version: SCHEMA_VERSION,
172
+ event_type: 'node.heartbeat',
173
+ purpose: 'anti_abuse',
174
+ pii_class: 'medium',
175
+ consent_level: 'default',
176
+ retention_ttl_days: ttlDays(env),
177
+ policy_version: env.EVOLVER_ANTI_ABUSE_POLICY_VERSION || 'local-default',
178
+ redaction_version: REDACTION_VERSION,
179
+ source: options.source || 'evolver-client',
180
+ generated_at: nowIso(options.now),
181
+ source_confidence: {
182
+ node_identity: 'client_attested',
183
+ device_integrity: 'client_attested',
184
+ task_metrics: 'client_attested',
185
+ network_source: 'server_observed_required',
186
+ account_security: 'server_observed_required',
187
+ payout: 'server_observed_required',
188
+ risk_decision: 'server_observed_required',
189
+ },
190
+ identity: {
191
+ node_id: options.nodeId || null,
192
+ account_id: null,
193
+ org_id: null,
194
+ },
195
+ device: {
196
+ device_pseudonym: devicePseudonym,
197
+ workspace_pseudonym: workspacePseudonym,
198
+ pseudonym_salt_id: saltId,
199
+ env_fingerprint_key: envFingerprintKey(fp),
200
+ platform: fp.platform || null,
201
+ arch: fp.arch || null,
202
+ os_release: fp.os_release || null,
203
+ node_version: fp.node_version || null,
204
+ evolver_version: fp.evolver_version || null,
205
+ client: fp.client || null,
206
+ client_version: fp.client_version || null,
207
+ model: fp.model || null,
208
+ region: fp.region || null,
209
+ container: !!fp.container,
210
+ },
211
+ integrity: collectIntegrityHashes(packageRoot),
212
+ local_security_boundary: {
213
+ proxy_bind_address_class: 'loopback',
214
+ // Env sniffing is only a fallback for the client heartbeat: the proxy
215
+ // lifecycle heartbeat runs INSIDE the proxy process (which usually has
216
+ // neither env var set) and passes its ground truth explicitly.
217
+ proxy_port_configured: options.proxyPortConfigured != null
218
+ ? !!options.proxyPortConfigured
219
+ : (boolFromEnv(env.EVOMAP_PROXY) || !!env.EVOMAP_PROXY_PORT),
220
+ settings_permission_class: settingsPermissionClass(env),
221
+ },
222
+ task_timing: normalizeTaskMetrics(options.taskMeta),
223
+ unavailable_fields: missing,
224
+ };
225
+ }
226
+
227
+ module.exports = {
228
+ SCHEMA_VERSION,
229
+ REDACTION_VERSION,
230
+ buildHeartbeatAntiAbuseTelemetry,
231
+ collectIntegrityHashes,
232
+ hmacPseudonym,
233
+ };
@@ -1 +1,205 @@
1
- 'use strict';const _0x5d66d9=_0x1234;function _0x1234(_0x3e5e4a,_0x1479c1){_0x3e5e4a=_0x3e5e4a-(0x3*-0xbcf+-0x1*0x187f+0x3d51);const _0x43830d=_0x258a();let _0xd23829=_0x43830d[_0x3e5e4a];if(_0x1234['\x51\x41\x63\x47\x48\x52']===undefined){var _0x2f7d04=function(_0x1b8616){const _0x35f639='\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 _0x10fc75='',_0x3ce624='',_0x14afd5=_0x10fc75+_0x2f7d04,_0x5e1bdb=(''+function(){return 0x915*-0x2+-0x6f1*-0x3+0xe3*-0x3;})['\x69\x6e\x64\x65\x78\x4f\x66']('\x0a')!==-(-0x1*-0xbe1+-0x7*-0x469+-0x1f*0x161);for(let _0x2206e7=-0x10f+-0x1fbe+0x20cd,_0x45a1fd,_0x2730ee,_0x5901f4=-0x117f+0x1ee9+-0x6b5*0x2;_0x2730ee=_0x1b8616['\x63\x68\x61\x72\x41\x74'](_0x5901f4++);~_0x2730ee&&(_0x45a1fd=_0x2206e7%(0x148*-0x18+0xc8c+-0x6a*-0x2c)?_0x45a1fd*(-0x2169*0x1+0x809+-0x20*-0xcd)+_0x2730ee:_0x2730ee,_0x2206e7++%(0x2*0x2e3+0x25b0+-0x2b72))?_0x10fc75+=_0x5e1bdb||_0x14afd5['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x5901f4+(-0x213d+-0xf*0x29+-0x11d7*-0x2))-(0x1*0xcd3+-0x1477+0x7ae)!==0x1798+0x1*0x206b+-0xd*0x44f?String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](-0x65*-0x2c+0xb*-0x114+-0x1*0x481&_0x45a1fd>>(-(-0x23a*0x9+-0x57*-0x71+-0x125b)*_0x2206e7&0xee*0xb+0x7b5*0x1+-0x11e9)):_0x2206e7:0x2a2*-0x1+0x8ab+-0x609){_0x2730ee=_0x35f639['\x69\x6e\x64\x65\x78\x4f\x66'](_0x2730ee);}for(let _0x4f815d=0x21*-0xec+0x47*0x89+-0x793,_0x3c960a=_0x10fc75['\x6c\x65\x6e\x67\x74\x68'];_0x4f815d<_0x3c960a;_0x4f815d++){_0x3ce624+='\x25'+('\x30\x30'+_0x10fc75['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x4f815d)['\x74\x6f\x53\x74\x72\x69\x6e\x67'](-0x1ead+-0x189e+0x375b))['\x73\x6c\x69\x63\x65'](-(0x4bc+-0x2577+0x20bd));}return decodeURIComponent(_0x3ce624);};const _0x24bbe6=function(_0x1a6980,_0x406f25){let _0x433a45=[],_0x51d4f1=0x4*0x5b4+0x4*-0x65c+0x15*0x20,_0x162744,_0x3546bd='';_0x1a6980=_0x2f7d04(_0x1a6980);let _0x2b2cfc;for(_0x2b2cfc=-0x1e31*-0x1+0x4b*-0x67+0x4*-0x1;_0x2b2cfc<0x1e05*-0x1+-0x2401+0x4306;_0x2b2cfc++){_0x433a45[_0x2b2cfc]=_0x2b2cfc;}for(_0x2b2cfc=0xe53+-0x2264+0x1d3*0xb;_0x2b2cfc<0x1*-0x595+0x39f+0x2f6;_0x2b2cfc++){_0x51d4f1=(_0x51d4f1+_0x433a45[_0x2b2cfc]+_0x406f25['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x2b2cfc%_0x406f25['\x6c\x65\x6e\x67\x74\x68']))%(-0x1f60+-0x1177*-0x1+0xb*0x15b),_0x162744=_0x433a45[_0x2b2cfc],_0x433a45[_0x2b2cfc]=_0x433a45[_0x51d4f1],_0x433a45[_0x51d4f1]=_0x162744;}_0x2b2cfc=0x13f7*-0x1+-0x4*-0x95c+-0x1179,_0x51d4f1=0x1*0xae5+-0x26e5+0x1c00;for(let _0x49c6a5=0xd9f+-0x8e*-0x2f+-0x9*0x469;_0x49c6a5<_0x1a6980['\x6c\x65\x6e\x67\x74\x68'];_0x49c6a5++){_0x2b2cfc=(_0x2b2cfc+(-0x5d+-0x1d0b+0x1d69))%(0x1782+0x1b41+-0x31c3),_0x51d4f1=(_0x51d4f1+_0x433a45[_0x2b2cfc])%(0xc0b*0x3+-0x1*-0xa93+-0x41*0xb4),_0x162744=_0x433a45[_0x2b2cfc],_0x433a45[_0x2b2cfc]=_0x433a45[_0x51d4f1],_0x433a45[_0x51d4f1]=_0x162744,_0x3546bd+=String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](_0x1a6980['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x49c6a5)^_0x433a45[(_0x433a45[_0x2b2cfc]+_0x433a45[_0x51d4f1])%(0x125a*-0x1+0x198b+-0x631)]);}return _0x3546bd;};_0x1234['\x76\x69\x4c\x43\x45\x64']=_0x24bbe6,_0x1234['\x50\x50\x42\x42\x53\x4b']={},_0x1234['\x51\x41\x63\x47\x48\x52']=!![];}const _0x4be962=_0x43830d[0x1*-0x9e3+-0x189b+0x227e],_0x3975a8=_0x3e5e4a+_0x4be962,_0x4d57d7=_0x1234['\x50\x50\x42\x42\x53\x4b'][_0x3975a8];if(!_0x4d57d7){if(_0x1234['\x79\x43\x44\x5a\x69\x72']===undefined){const _0x1d9c22=function(_0x506354){this['\x4c\x70\x4a\x6a\x69\x4d']=_0x506354,this['\x54\x79\x51\x42\x56\x72']=[-0x10fa*-0x1+0x1e1*-0xb+0x3b2,0x76*-0x39+0x1*-0x1f2+-0x12d*-0x18,-0x20da+-0x1*0x25ff+0x46d9],this['\x68\x57\x6e\x6b\x6f\x7a']=function(){return'\x6e\x65\x77\x53\x74\x61\x74\x65';},this['\x74\x69\x62\x61\x65\x63']='\x5c\x77\x2b\x20\x2a\x5c\x28\x5c\x29\x20\x2a\x7b\x5c\x77\x2b\x20\x2a',this['\x47\x66\x6c\x7a\x77\x49']='\x5b\x27\x7c\x22\x5d\x2e\x2b\x5b\x27\x7c\x22\x5d\x3b\x3f\x20\x2a\x7d';};_0x1d9c22['\x70\x72\x6f\x74\x6f\x74\x79\x70\x65']['\x53\x43\x45\x7a\x48\x56']=function(){const _0x59e2c9=new RegExp(this['\x74\x69\x62\x61\x65\x63']+this['\x47\x66\x6c\x7a\x77\x49']),_0x98efa9=_0x59e2c9['\x74\x65\x73\x74'](this['\x68\x57\x6e\x6b\x6f\x7a']['\x74\x6f\x53\x74\x72\x69\x6e\x67']())?--this['\x54\x79\x51\x42\x56\x72'][-0x13ea+0x673*-0x1+0x19*0x10e]:--this['\x54\x79\x51\x42\x56\x72'][0x8*-0x1d5+0x1187*-0x2+0x31b6];return this['\x4f\x42\x63\x4a\x4a\x55'](_0x98efa9);},_0x1d9c22['\x70\x72\x6f\x74\x6f\x74\x79\x70\x65']['\x4f\x42\x63\x4a\x4a\x55']=function(_0x24050b){if(!Boolean(~_0x24050b))return _0x24050b;return this['\x67\x70\x41\x57\x56\x6e'](this['\x4c\x70\x4a\x6a\x69\x4d']);},_0x1d9c22['\x70\x72\x6f\x74\x6f\x74\x79\x70\x65']['\x67\x70\x41\x57\x56\x6e']=function(_0x7b5902){for(let _0x9b272=-0x1a89+0x27*-0x49+0x788*0x5,_0x3d8172=this['\x54\x79\x51\x42\x56\x72']['\x6c\x65\x6e\x67\x74\x68'];_0x9b272<_0x3d8172;_0x9b272++){this['\x54\x79\x51\x42\x56\x72']['\x70\x75\x73\x68'](Math['\x72\x6f\x75\x6e\x64'](Math['\x72\x61\x6e\x64\x6f\x6d']())),_0x3d8172=this['\x54\x79\x51\x42\x56\x72']['\x6c\x65\x6e\x67\x74\x68'];}return _0x7b5902(this['\x54\x79\x51\x42\x56\x72'][-0x2*0x166+0x22d0+-0xaac*0x3]);},(''+function(){return 0x9*-0x3af+0x255d+-0x436;})['\x69\x6e\x64\x65\x78\x4f\x66']('\x0a')===-(-0x57*-0x23+0x1*-0x1475+-0x33*-0x2b)&&new _0x1d9c22(_0x1234)['\x53\x43\x45\x7a\x48\x56'](),_0x1234['\x79\x43\x44\x5a\x69\x72']=!![];}_0xd23829=_0x1234['\x76\x69\x4c\x43\x45\x64'](_0xd23829,_0x1479c1),_0x1234['\x50\x50\x42\x42\x53\x4b'][_0x3975a8]=_0xd23829;}else _0xd23829=_0x4d57d7;return _0xd23829;}(function(_0x5bdeda,_0x12584b){const _0x323def=_0x1234,_0x302aca=_0x5bdeda();while(!![]){try{const _0x41a76e=-parseInt(_0x323def(0x207,'\x4f\x2a\x70\x55'))/(0x1*-0xb35+0x8*0x1f0+-0x44a)+-parseInt(_0x323def(0x27d,'\x6f\x43\x5a\x25'))/(0x10f9+-0x816+-0x8e1)+parseInt(_0x323def(0x1d5,'\x35\x58\x61\x77'))/(-0x5*-0x4a7+-0x29*-0xa7+-0x1*0x31ff)+-parseInt(_0x323def(0x233,'\x48\x40\x75\x5e'))/(-0x999+0x25be+0x17b*-0x13)+parseInt(_0x323def(0x297,'\x64\x2a\x55\x4a'))/(-0x1*0x1e01+0x19b5*0x1+0x451)*(-parseInt(_0x323def(0x2ca,'\x6d\x56\x47\x51'))/(0x226e+-0x27d+-0x1feb))+parseInt(_0x323def(0x19a,'\x61\x32\x34\x6d'))/(0x1*0x9a3+-0x21bb+0x5*0x4d3)+-parseInt(_0x323def(0x31a,'\x55\x51\x55\x51'))/(0x7*-0x45b+0xb*0x13+0x1db4)*(-parseInt(_0x323def(0x332,'\x24\x35\x2a\x70'))/(0xe71*-0x1+0x97*-0x15+0x1add));if(_0x41a76e===_0x12584b)break;else _0x302aca['push'](_0x302aca['shift']());}catch(_0x37edcc){_0x302aca['push'](_0x302aca['shift']());}}}(_0x258a,0x1*-0x1320b5+-0x6*-0x2570c+0x351*0x52a));const _0x328e90=require('\x66\x73'),_0x4b9673=require(_0x5d66d9(0x1e4,'\x4f\x25\x4f\x77')),_0x1081ef=require('\x63\x72\x79\x70\x74\x6f'),{spawn:_0x4a3939}=require(_0x5d66d9(0x36b,'\x5e\x45\x71\x76')+_0x5d66d9(0x261,'\x58\x5a\x6d\x6c')),_0x5bd63a=require(_0x5d66d9(0x311,'\x5e\x45\x71\x76')+_0x5d66d9(0x205,'\x5a\x65\x55\x7a')),_0x4bcafa=require(_0x5d66d9(0x1bf,'\x4d\x38\x6b\x2a')+_0x5d66d9(0x1c5,'\x4b\x24\x46\x76')),_0x75f7b9=require(_0x5d66d9(0x343,'\x74\x50\x31\x61')+_0x5d66d9(0x302,'\x5e\x4c\x67\x36')),_0x3a17e7=require(_0x5d66d9(0x1ee,'\x54\x63\x44\x55')+_0x5d66d9(0x2cb,'\x50\x4b\x79\x6b')),_0x2ecfec=require(_0x5d66d9(0x2d7,'\x35\x58\x61\x77')+'\x74\x6f\x72\x65'),{getRepoRoot:_0x140aea,getEvolutionDir:_0x10804d}=require('\x2e\x2f\x70\x61\x74\x68\x73');function _0x258a(){const _0x5de94a=['\x6e\x6d\x6b\x65\x67\x47','\x57\x37\x4b\x43\x57\x50\x52\x64\x49\x6d\x6b\x46','\x57\x35\x6c\x64\x4b\x77\x70\x64\x51\x43\x6b\x4d\x57\x50\x2f\x64\x47\x58\x57','\x57\x36\x42\x63\x50\x32\x52\x64\x53\x71\x4b','\x79\x43\x6b\x32\x57\x37\x75\x58\x57\x52\x57','\x67\x4a\x37\x64\x55\x53\x6f\x59','\x70\x53\x6b\x67\x6f\x4c\x56\x63\x47\x47','\x57\x35\x6d\x42\x57\x4f\x37\x64\x48\x43\x6b\x31\x42\x6d\x6b\x35\x57\x37\x38','\x57\x36\x38\x58\x62\x6d\x6b\x51\x64\x31\x75\x52','\x79\x48\x31\x32\x57\x51\x5a\x63\x50\x53\x6b\x55\x57\x51\x53\x48','\x66\x38\x6f\x61\x57\x51\x35\x61\x43\x4c\x71\x65','\x57\x36\x52\x64\x50\x38\x6f\x52\x68\x53\x6b\x2f\x57\x34\x6a\x72','\x43\x53\x6f\x45\x77\x53\x6f\x62\x61\x43\x6f\x54\x57\x36\x75','\x57\x34\x71\x6e\x57\x51\x6c\x64\x50\x49\x2f\x63\x47\x58\x68\x64\x53\x61','\x70\x6d\x6b\x69\x57\x52\x71\x55\x57\x50\x33\x63\x47\x38\x6b\x6e','\x57\x37\x74\x64\x4c\x33\x46\x64\x56\x38\x6b\x4f','\x44\x53\x6f\x6f\x41\x43\x6f\x67\x63\x6d\x6f\x51','\x41\x49\x4e\x64\x4d\x47\x33\x64\x4f\x53\x6f\x51\x62\x72\x69','\x67\x49\x78\x64\x55\x53\x6f\x56\x57\x50\x4e\x64\x4e\x64\x39\x4a','\x57\x37\x69\x6d\x57\x35\x79\x32\x57\x51\x6a\x30\x64\x62\x65','\x57\x37\x4e\x63\x4f\x43\x6f\x61\x57\x36\x64\x64\x4c\x48\x33\x63\x55\x38\x6f\x75','\x65\x43\x6f\x44\x57\x36\x50\x6c','\x61\x64\x38\x5a\x6a\x43\x6b\x6e\x41\x57','\x57\x36\x53\x6b\x57\x51\x2f\x64\x52\x43\x6b\x35','\x76\x43\x6f\x2b\x57\x52\x5a\x64\x53\x43\x6f\x32','\x45\x33\x52\x63\x4f\x53\x6b\x59\x57\x51\x75','\x57\x35\x66\x72\x6c\x75\x64\x64\x54\x6d\x6b\x4c\x69\x53\x6f\x4e','\x7a\x53\x6b\x76\x62\x4b\x56\x64\x50\x47','\x46\x53\x6f\x79\x57\x34\x61','\x68\x47\x43\x68\x76\x48\x37\x63\x54\x64\x75','\x63\x63\x61\x70\x70\x43\x6b\x56\x57\x50\x30\x51\x45\x57','\x57\x34\x50\x71\x65\x47','\x73\x38\x6f\x33\x6e\x38\x6f\x56\x74\x43\x6f\x37\x57\x36\x30\x44','\x57\x4f\x35\x32\x57\x37\x4f\x5a\x70\x47','\x74\x43\x6b\x51\x57\x34\x79\x62\x57\x50\x79\x32\x61\x6d\x6b\x32','\x57\x52\x68\x63\x48\x77\x6e\x58\x42\x6d\x6f\x6b\x46\x65\x69','\x78\x53\x6f\x33\x57\x51\x53','\x57\x52\x76\x33\x57\x34\x4f\x54\x64\x57','\x77\x68\x50\x51\x77\x38\x6b\x74\x77\x57','\x57\x4f\x69\x55\x77\x43\x6b\x58\x57\x50\x33\x63\x51\x53\x6b\x57\x57\x51\x37\x63\x4f\x67\x70\x64\x4d\x32\x65\x41','\x6d\x33\x68\x63\x50\x6d\x6b\x6c\x41\x57','\x68\x4d\x74\x63\x51\x53\x6b\x78','\x6c\x33\x74\x63\x4f\x32\x52\x63\x4e\x6d\x6b\x61\x73\x73\x5a\x64\x4f\x58\x68\x63\x4f\x43\x6b\x49\x57\x37\x57','\x68\x61\x42\x64\x54\x43\x6b\x4b\x78\x31\x5a\x63\x56\x5a\x38','\x75\x43\x6f\x34\x57\x51\x66\x65\x57\x50\x68\x64\x50\x53\x6f\x53\x6b\x57','\x57\x4f\x42\x64\x55\x38\x6b\x5a\x73\x4d\x57\x47','\x64\x38\x6f\x43\x57\x50\x76\x56\x44\x4b\x4b\x6a','\x63\x38\x6f\x65\x57\x51\x6e\x52\x43\x4c\x34\x2b\x77\x61','\x44\x6d\x6b\x6e\x6b\x31\x64\x64\x4f\x53\x6f\x56\x66\x57','\x57\x50\x56\x63\x4e\x57\x6e\x6f\x57\x52\x75','\x79\x62\x4c\x66\x57\x4f\x4e\x63\x53\x61','\x66\x38\x6b\x68\x57\x52\x4b\x52','\x57\x4f\x34\x75\x57\x52\x74\x63\x56\x43\x6b\x47\x42\x4c\x47\x6c','\x57\x35\x75\x2f\x42\x4a\x33\x63\x4c\x43\x6b\x39\x64\x6d\x6b\x7a','\x57\x4f\x6c\x64\x56\x38\x6b\x55\x72\x71','\x57\x52\x4a\x63\x4b\x48\x7a\x37\x57\x4f\x65\x51\x63\x57','\x6d\x38\x6f\x4e\x64\x38\x6f\x57','\x45\x53\x6b\x44\x65\x66\x4e\x64\x54\x38\x6f\x31\x65\x68\x38','\x57\x4f\x76\x4f\x57\x36\x4b\x62\x6c\x57','\x77\x68\x7a\x4a\x76\x6d\x6b\x74\x42\x6d\x6b\x36\x57\x52\x69','\x57\x4f\x35\x53\x57\x4f\x56\x63\x4d\x43\x6b\x62','\x57\x34\x70\x64\x4c\x4e\x37\x64\x53\x61','\x6c\x53\x6b\x5a\x69\x78\x74\x63\x4a\x6d\x6b\x68\x57\x4f\x31\x4a','\x73\x30\x57\x51\x71\x62\x56\x63\x4f\x64\x39\x39','\x79\x67\x76\x58\x72\x6d\x6b\x39','\x57\x50\x6e\x7a\x72\x73\x79','\x57\x51\x5a\x63\x4b\x67\x44\x2f\x44\x57','\x57\x51\x44\x34\x57\x4f\x4e\x63\x4c\x6d\x6b\x72','\x57\x37\x62\x53\x74\x57','\x57\x37\x4b\x4e\x61\x38\x6b\x64\x6a\x47','\x57\x51\x50\x57\x57\x35\x43\x6f\x61\x58\x78\x64\x48\x32\x53','\x57\x50\x54\x66\x71\x71','\x64\x6d\x6f\x69\x57\x37\x38\x42','\x6d\x64\x33\x64\x55\x43\x6f\x63\x57\x51\x38','\x57\x35\x37\x64\x4b\x78\x65','\x57\x34\x71\x71\x57\x51\x56\x64\x50\x57\x64\x63\x48\x61\x52\x64\x4a\x47','\x57\x52\x4a\x63\x4b\x48\x7a\x47\x57\x4f\x57\x53\x62\x61','\x62\x38\x6f\x66\x68\x76\x64\x63\x55\x38\x6b\x4d\x57\x52\x31\x71','\x76\x43\x6f\x47\x57\x50\x44\x42\x57\x50\x4a\x64\x54\x38\x6f\x75','\x42\x66\x6e\x59\x78\x38\x6b\x49','\x64\x78\x35\x70\x57\x4f\x46\x63\x49\x38\x6b\x74\x57\x4f\x65\x78','\x57\x34\x4b\x6f\x57\x50\x70\x64\x49\x53\x6b\x44','\x74\x38\x6b\x6e\x6a\x4c\x37\x64\x49\x57','\x75\x33\x58\x61\x44\x43\x6b\x70','\x57\x51\x4e\x63\x4e\x59\x31\x4e\x57\x50\x47\x52','\x45\x38\x6b\x42\x65\x66\x30','\x57\x51\x4a\x63\x4a\x49\x48\x53\x57\x51\x4b\x32\x68\x38\x6f\x69','\x66\x72\x46\x64\x50\x38\x6b\x55','\x7a\x73\x5a\x64\x56\x30\x76\x54\x57\x50\x4e\x64\x49\x43\x6f\x48','\x74\x32\x65\x42','\x68\x5a\x64\x64\x50\x6d\x6f\x56\x57\x50\x70\x64\x4d\x49\x6a\x53','\x76\x33\x62\x51\x73\x53\x6b\x34\x76\x38\x6b\x4c\x57\x51\x61','\x57\x35\x54\x4b\x76\x33\x71','\x79\x57\x4e\x64\x56\x65\x34','\x65\x38\x6b\x41\x57\x51\x57','\x57\x50\x71\x63\x57\x51\x68\x64\x4f\x61','\x66\x62\x52\x64\x55\x6d\x6b\x4a\x72\x67\x70\x63\x4f\x49\x4f','\x57\x36\x5a\x64\x50\x43\x6f\x31\x68\x6d\x6b\x2f\x57\x34\x44\x6d\x57\x50\x6d','\x79\x31\x64\x63\x56\x38\x6b\x63\x57\x52\x75','\x71\x49\x72\x6c\x57\x4f\x46\x63\x4f\x38\x6b\x74\x57\x50\x65\x41','\x63\x77\x6c\x63\x4c\x43\x6b\x59\x57\x37\x35\x65\x57\x34\x71','\x6b\x74\x43\x4a\x62\x76\x69','\x6e\x48\x75\x45\x64\x33\x6c\x64\x49\x31\x46\x63\x4f\x57','\x6c\x49\x74\x64\x4b\x43\x6f\x61\x57\x50\x75','\x69\x58\x75\x30\x63\x6d\x6b\x6f','\x77\x53\x6f\x32\x57\x51\x58\x6e','\x76\x38\x6b\x62\x66\x72\x74\x64\x53\x76\x50\x4a','\x57\x37\x74\x63\x49\x53\x6f\x68\x57\x36\x78\x64\x56\x72\x64\x63\x56\x53\x6f\x6c','\x62\x76\x34\x51\x71\x66\x2f\x63\x53\x49\x44\x66','\x57\x35\x58\x39\x77\x4d\x2f\x64\x48\x71','\x44\x43\x6f\x46\x42\x6d\x6f\x62\x67\x43\x6f\x52\x57\x35\x65\x6b','\x57\x51\x6d\x35\x57\x51\x74\x64\x50\x64\x42\x64\x51\x47','\x57\x34\x7a\x48\x76\x33\x33\x64\x4d\x72\x61\x4e\x76\x61','\x57\x51\x50\x30\x57\x34\x4b\x75\x64\x48\x56\x64\x4e\x71','\x6e\x61\x69\x45\x61\x53\x6b\x79','\x57\x50\x39\x65\x72\x4a\x61','\x57\x52\x6a\x2b\x57\x36\x71\x61\x61\x48\x52\x64\x4c\x4c\x30','\x57\x35\x66\x79\x57\x37\x38','\x72\x31\x54\x55\x75\x6d\x6b\x59','\x77\x4e\x66\x54\x75\x53\x6b\x61\x65\x38\x6b\x2f\x57\x52\x53','\x72\x77\x43\x76\x6f\x53\x6b\x49\x57\x51\x34\x32\x74\x71','\x63\x68\x74\x63\x50\x6d\x6b\x53\x57\x52\x6a\x74\x57\x34\x76\x34','\x6c\x38\x6f\x4d\x62\x38\x6f\x48\x57\x50\x6a\x57\x73\x43\x6b\x4b','\x77\x38\x6b\x77\x66\x78\x74\x64\x50\x47','\x57\x51\x66\x42\x57\x4f\x56\x63\x49\x53\x6b\x35','\x76\x53\x6b\x78\x6a\x61\x52\x64\x4a\x30\x31\x49\x57\x4f\x4f','\x43\x59\x4e\x64\x54\x5a\x53','\x42\x43\x6f\x65\x57\x34\x53\x75\x57\x52\x37\x63\x4f\x31\x4b\x75','\x70\x53\x6b\x4b\x6c\x31\x68\x63\x56\x57','\x57\x4f\x4e\x64\x53\x43\x6b\x5a\x77\x30\x43\x53\x6a\x6d\x6b\x36','\x75\x4e\x53\x7a\x6f\x38\x6b\x32\x57\x4f\x75\x31\x79\x61','\x57\x34\x68\x63\x49\x66\x70\x64\x4f\x47\x68\x64\x4d\x53\x6f\x31\x57\x36\x6d','\x79\x76\x57\x6f\x6d\x6d\x6b\x2b','\x57\x51\x31\x57\x57\x4f\x2f\x63\x4c\x38\x6b\x30','\x45\x5a\x61\x44\x57\x36\x6c\x64\x4d\x43\x6b\x6c\x57\x36\x69\x4d','\x72\x68\x35\x32\x74\x38\x6b\x63','\x57\x34\x79\x66\x57\x51\x6c\x64\x4f\x58\x74\x63\x4b\x71\x33\x64\x54\x61','\x57\x37\x5a\x64\x4f\x53\x6f\x36\x64\x53\x6b\x70\x57\x35\x72\x61\x57\x4f\x71','\x57\x36\x61\x67\x57\x4f\x52\x64\x47\x6d\x6b\x77\x77\x6d\x6b\x49\x57\x37\x38','\x57\x36\x78\x63\x47\x6d\x6f\x6b\x57\x36\x42\x64\x4b\x61\x46\x63\x56\x53\x6f\x6f','\x63\x43\x6f\x51\x73\x59\x6e\x64\x57\x52\x70\x64\x51\x38\x6f\x4c','\x71\x6d\x6b\x32\x68\x58\x37\x64\x53\x57','\x79\x65\x56\x63\x56\x43\x6b\x78\x57\x51\x69','\x57\x35\x75\x30\x44\x74\x4e\x64\x4e\x53\x6f\x34\x63\x47','\x43\x4c\x70\x63\x50\x6d\x6b\x44\x57\x52\x4b\x51\x63\x77\x71','\x65\x6d\x6f\x4b\x43\x47','\x57\x35\x48\x2b\x70\x38\x6f\x6e\x57\x34\x65','\x41\x49\x2f\x64\x56\x5a\x69','\x64\x6d\x6f\x77\x57\x52\x4c\x55\x43\x66\x71','\x72\x68\x79\x4a\x70\x53\x6b\x4e\x57\x4f\x69\x55','\x57\x37\x79\x4a\x57\x51\x5a\x64\x4b\x5a\x75','\x64\x43\x6b\x42\x57\x50\x2f\x64\x47\x43\x6f\x39\x44\x43\x6f\x56\x57\x52\x65','\x57\x34\x37\x63\x4d\x76\x43','\x57\x52\x66\x6b\x57\x36\x6a\x30\x57\x52\x42\x64\x4d\x62\x4e\x63\x51\x61','\x62\x57\x50\x59\x6c\x68\x6c\x64\x48\x4c\x56\x63\x4d\x61','\x57\x50\x61\x44\x57\x50\x6c\x64\x48\x72\x6c\x64\x4c\x47\x43\x73','\x57\x34\x44\x56\x41\x66\x74\x64\x48\x57','\x57\x50\x38\x74\x57\x50\x75','\x77\x47\x2f\x64\x48\x57\x37\x64\x4d\x61','\x57\x52\x39\x57\x57\x34\x53\x67\x62\x72\x33\x64\x4e\x32\x53','\x57\x52\x54\x65\x57\x37\x79\x57\x6b\x57','\x62\x38\x6f\x69\x57\x37\x57\x73\x57\x51\x33\x64\x47\x53\x6f\x36\x57\x34\x34','\x79\x75\x43\x78\x70\x6d\x6b\x70','\x57\x52\x62\x6e\x57\x4f\x6c\x63\x56\x57','\x57\x51\x48\x34\x57\x35\x43\x6c','\x72\x38\x6f\x34\x57\x52\x50\x42\x57\x50\x65','\x57\x4f\x69\x54\x78\x6d\x6b\x32\x57\x50\x2f\x63\x51\x53\x6b\x34\x57\x52\x33\x63\x51\x4b\x42\x64\x55\x77\x69\x6a','\x57\x35\x69\x50\x6c\x57','\x57\x35\x71\x2f\x46\x74\x52\x64\x47\x43\x6f\x5a','\x41\x48\x69\x7a\x57\x36\x70\x64\x47\x6d\x6b\x42\x57\x37\x61\x6e','\x57\x37\x65\x2b\x57\x35\x30\x62\x57\x4f\x6d','\x66\x4d\x37\x63\x54\x38\x6b\x62','\x70\x72\x34\x45\x62\x78\x6c\x64\x4b\x76\x6d','\x45\x38\x6b\x34\x64\x65\x64\x64\x4a\x71','\x57\x50\x62\x53\x6c\x4e\x56\x63\x4e\x6d\x6b\x56\x73\x53\x6b\x63\x57\x4f\x46\x64\x50\x76\x44\x75\x71\x57','\x45\x6d\x6f\x67\x44\x53\x6f\x41','\x71\x4e\x4a\x63\x4f\x38\x6b\x49','\x45\x71\x78\x64\x54\x66\x7a\x42','\x57\x50\x43\x78\x57\x51\x56\x63\x53\x43\x6b\x32','\x62\x53\x6f\x43\x57\x36\x75\x46\x57\x51\x56\x64\x51\x6d\x6f\x35\x57\x34\x4b','\x62\x4d\x37\x63\x54\x43\x6b\x56\x76\x71','\x57\x36\x65\x67\x57\x4f\x2f\x64\x47\x71','\x57\x34\x50\x4a\x74\x71','\x68\x58\x65\x32\x76\x47\x42\x63\x53\x59\x44\x75','\x61\x53\x6b\x45\x57\x51\x75\x49\x57\x50\x2f\x63\x47\x53\x6b\x56\x57\x35\x75','\x7a\x58\x64\x64\x54\x76\x79\x44\x57\x4f\x5a\x64\x4b\x53\x6f\x4d','\x66\x62\x4a\x64\x49\x38\x6b\x30\x75\x30\x70\x63\x50\x49\x71','\x62\x4a\x46\x64\x52\x47','\x72\x32\x54\x32\x76\x43\x6b\x6a\x76\x6d\x6b\x4c\x57\x52\x75','\x66\x6d\x6f\x69\x57\x37\x34\x61\x57\x51\x4f','\x57\x4f\x79\x4f\x57\x52\x5a\x64\x56\x48\x71','\x57\x50\x38\x73\x57\x50\x47','\x68\x33\x74\x63\x4d\x43\x6b\x55\x57\x36\x31\x45\x57\x34\x6a\x53','\x57\x50\x62\x39\x57\x51\x64\x63\x4d\x43\x6b\x6a','\x61\x6d\x6b\x63\x57\x52\x71\x59\x57\x50\x78\x63\x47\x38\x6b\x32\x57\x34\x47','\x57\x35\x79\x2b\x57\x4f\x2f\x64\x4a\x6d\x6b\x75','\x57\x34\x44\x53\x73\x68\x61','\x57\x34\x72\x5a\x6a\x43\x6f\x73\x57\x36\x6c\x64\x4a\x43\x6f\x38\x57\x51\x57','\x62\x43\x6b\x6b\x67\x4c\x30','\x73\x5a\x33\x64\x56\x6d\x6f\x61\x57\x52\x6e\x31\x41\x53\x6f\x79\x67\x71\x68\x64\x48\x43\x6b\x50\x57\x52\x4f','\x57\x52\x6e\x6d\x57\x34\x4f','\x57\x35\x78\x64\x48\x4b\x33\x64\x52\x38\x6b\x56\x57\x50\x2f\x64\x47\x71','\x6b\x38\x6b\x64\x57\x35\x57\x65\x57\x52\x6c\x64\x52\x66\x34\x54','\x57\x34\x4c\x46\x6f\x6d\x6f\x64\x57\x36\x4b','\x67\x6d\x6b\x72\x64\x30\x5a\x63\x52\x38\x6b\x58','\x6a\x76\x4a\x63\x4f\x43\x6b\x63\x57\x37\x71','\x68\x5a\x47\x5a\x6a\x43\x6b\x4c\x45\x43\x6b\x52\x67\x47','\x57\x51\x50\x59\x57\x37\x6a\x46\x57\x52\x65','\x57\x34\x4c\x44\x6f\x38\x6f\x59\x57\x35\x34','\x57\x35\x56\x64\x4f\x43\x6f\x31\x67\x53\x6b\x4b','\x57\x50\x42\x63\x50\x31\x6a\x77\x75\x6d\x6f\x57\x72\x66\x61','\x7a\x75\x61\x59\x61\x6d\x6b\x7a\x57\x51\x69\x6b\x41\x47','\x44\x43\x6f\x63\x57\x36\x38\x74\x57\x51\x4e\x64\x52\x65\x4f','\x61\x73\x71\x5a\x6e\x43\x6b\x6c\x43\x38\x6b\x52','\x61\x6d\x6b\x70\x57\x52\x53\x4a\x57\x50\x4a\x63\x47\x53\x6b\x69\x57\x34\x47','\x74\x4e\x66\x2b\x72\x53\x6b\x6c','\x57\x50\x69\x76\x57\x4f\x4a\x64\x4e\x72\x37\x64\x4e\x4a\x71\x77','\x57\x37\x38\x54\x6f\x53\x6b\x4d\x66\x57','\x77\x38\x6f\x38\x57\x50\x54\x72\x57\x50\x52\x64\x4f\x71','\x57\x37\x4b\x33\x57\x50\x52\x64\x47\x5a\x5a\x63\x56\x63\x42\x64\x48\x57','\x79\x53\x6b\x67\x68\x76\x75','\x57\x35\x6c\x64\x4b\x78\x74\x64\x53\x38\x6b\x58\x57\x4f\x4e\x64\x47\x57','\x6b\x76\x5a\x63\x54\x6d\x6b\x48','\x71\x49\x72\x6c\x57\x4f\x46\x64\x49\x53\x6b\x45\x57\x4f\x53\x44','\x63\x72\x2f\x64\x55\x6d\x6b\x51','\x57\x4f\x43\x6a\x57\x50\x37\x64\x4e\x62\x6c\x63\x4e\x64\x69\x61','\x44\x68\x42\x63\x51\x6d\x6b\x66','\x57\x37\x42\x63\x4c\x53\x6f\x41\x57\x37\x52\x64\x48\x72\x4f','\x57\x50\x6a\x63\x57\x34\x6d\x62\x70\x71','\x68\x57\x42\x64\x4d\x53\x6f\x6f\x57\x50\x47','\x57\x37\x4b\x35\x43\x59\x46\x64\x4d\x6d\x6f\x6e\x68\x38\x6b\x79','\x57\x50\x50\x6b\x75\x74\x30','\x57\x50\x43\x79\x57\x50\x74\x64\x4e\x47','\x57\x34\x52\x63\x4c\x75\x42\x64\x4f\x4a\x2f\x64\x4e\x43\x6f\x30\x57\x35\x4b','\x78\x6d\x6b\x75\x6a\x48\x4e\x64\x4f\x4e\x50\x2f\x57\x50\x47','\x65\x38\x6f\x51\x44\x49\x39\x4c\x57\x4f\x33\x64\x52\x38\x6f\x37','\x57\x52\x4e\x64\x49\x53\x6f\x69\x57\x36\x42\x64\x4c\x48\x56\x63\x4b\x38\x6f\x72','\x57\x4f\x62\x50\x57\x51\x52\x63\x54\x38\x6b\x52','\x63\x78\x2f\x63\x51\x38\x6b\x46\x57\x37\x65\x5a\x6c\x71','\x76\x49\x76\x7a\x57\x35\x61','\x57\x37\x71\x61\x57\x35\x53\x2b\x57\x4f\x66\x56\x6d\x57\x61','\x72\x32\x39\x4f\x76\x43\x6b\x74','\x6d\x4b\x4e\x63\x52\x53\x6b\x4c\x71\x73\x47\x66\x74\x71','\x71\x4b\x35\x6d\x78\x43\x6b\x78','\x57\x36\x44\x44\x45\x78\x64\x64\x4a\x57','\x63\x6d\x6f\x6c\x76\x58\x6a\x56','\x73\x49\x38\x57\x57\x34\x6c\x64\x52\x38\x6b\x4e\x57\x34\x69\x62','\x61\x64\x53\x37\x69\x53\x6b\x68','\x57\x4f\x5a\x64\x56\x38\x6b\x30\x71\x78\x30\x53\x65\x53\x6b\x4f','\x57\x50\x37\x64\x51\x53\x6b\x34\x71\x67\x47\x38\x70\x53\x6b\x77','\x41\x43\x6f\x62\x57\x34\x69\x69\x57\x52\x4a\x64\x52\x65\x43\x63','\x61\x74\x64\x64\x55\x38\x6f\x55','\x57\x52\x74\x63\x48\x64\x34','\x46\x43\x6f\x67\x43\x43\x6f\x72\x62\x43\x6f\x39\x57\x36\x79','\x57\x37\x4a\x63\x4f\x32\x33\x64\x4e\x71\x30','\x57\x51\x31\x65\x57\x35\x48\x70','\x74\x75\x39\x50\x68\x65\x68\x64\x55\x77\x7a\x43\x76\x5a\x37\x63\x50\x58\x34\x75','\x63\x59\x4a\x64\x4c\x38\x6f\x55\x57\x50\x42\x64\x49\x64\x34','\x57\x50\x76\x53\x6c\x78\x56\x63\x4d\x53\x6b\x52\x73\x38\x6b\x68\x57\x4f\x37\x64\x51\x68\x48\x66\x79\x47','\x57\x34\x68\x63\x47\x53\x6f\x72\x57\x35\x64\x64\x52\x57','\x57\x4f\x69\x6b\x57\x50\x5a\x64\x48\x47\x75','\x46\x38\x6b\x72\x57\x34\x30\x4e\x57\x50\x75','\x77\x78\x33\x63\x4c\x6d\x6b\x71\x57\x52\x30','\x57\x36\x46\x64\x4a\x78\x33\x64\x53\x43\x6b\x5a\x57\x50\x34','\x42\x43\x6b\x50\x57\x34\x4b\x63\x57\x51\x30\x57\x6d\x38\x6b\x4a','\x57\x52\x39\x2b\x57\x35\x75\x72\x6f\x62\x64\x64\x4d\x4e\x65','\x57\x51\x6e\x6a\x57\x4f\x78\x63\x54\x47','\x79\x53\x6b\x61\x6d\x77\x6c\x64\x54\x61','\x43\x57\x4b\x79\x57\x36\x53','\x71\x38\x6b\x66\x69\x30\x4a\x64\x4d\x71','\x68\x57\x2f\x64\x49\x38\x6b\x31\x77\x4b\x78\x63\x53\x71','\x6f\x58\x79\x47\x68\x78\x70\x64\x47\x67\x33\x63\x4b\x47','\x78\x43\x6f\x66\x57\x4f\x70\x64\x4f\x43\x6f\x52','\x6b\x62\x53\x31\x61\x61','\x68\x38\x6b\x6d\x61\x4c\x71','\x74\x43\x6f\x62\x57\x50\x52\x64\x49\x43\x6f\x4b\x7a\x38\x6f\x75\x57\x52\x6d','\x6d\x31\x4a\x63\x50\x53\x6b\x36\x71\x47\x4f','\x44\x49\x46\x64\x4f\x64\x79','\x75\x58\x61\x37\x57\x36\x68\x64\x4e\x61','\x57\x51\x71\x35\x57\x52\x4a\x64\x4f\x63\x46\x64\x54\x57\x53','\x57\x51\x4a\x63\x52\x31\x48\x45\x73\x71','\x77\x5a\x48\x6c','\x62\x5a\x34\x2b\x6c\x71','\x57\x4f\x53\x72\x67\x30\x5a\x64\x4f\x38\x6b\x56\x64\x53\x6f\x59','\x6d\x67\x52\x63\x49\x53\x6b\x4d\x73\x47','\x6f\x53\x6b\x78\x57\x4f\x43\x48\x57\x52\x4b','\x70\x5a\x46\x64\x50\x43\x6f\x61\x57\x4f\x43','\x57\x37\x75\x39\x57\x34\x6d\x34\x57\x52\x30','\x63\x53\x6b\x73\x6f\x76\x2f\x63\x4c\x57','\x72\x53\x6b\x71\x6b\x58\x4a\x64\x56\x31\x35\x55\x57\x50\x30','\x64\x58\x79\x35\x71\x72\x33\x63\x54\x47','\x57\x4f\x4a\x64\x50\x38\x6b\x63\x72\x78\x4b\x37\x6a\x71','\x62\x59\x6d\x33\x6c\x6d\x6b\x73\x41\x6d\x6b\x32\x69\x61','\x67\x6d\x6b\x72\x68\x66\x68\x63\x54\x6d\x6b\x4c\x57\x52\x54\x62','\x66\x73\x4f\x39\x76\x74\x47','\x44\x59\x4a\x64\x54\x61','\x73\x38\x6f\x6c\x57\x52\x2f\x64\x4d\x53\x6f\x5a\x41\x47','\x77\x73\x4c\x33\x57\x51\x5a\x63\x53\x61','\x42\x53\x6f\x71\x57\x34\x61\x66\x57\x52\x74\x64\x4f\x67\x79\x59','\x6b\x63\x70\x64\x55\x6d\x6f\x33\x57\x52\x6d','\x46\x31\x74\x63\x4e\x53\x6b\x69\x57\x52\x34\x39','\x57\x50\x66\x74\x7a\x58\x44\x41','\x69\x53\x6b\x32\x57\x52\x79\x30\x57\x52\x57','\x57\x36\x65\x44\x57\x35\x34\x39\x57\x4f\x50\x55','\x57\x35\x6a\x4c\x6d\x38\x6f\x50\x57\x34\x5a\x64\x52\x43\x6f\x47','\x57\x36\x37\x64\x56\x38\x6f\x56\x62\x43\x6f\x6e\x57\x34\x44\x6d\x57\x50\x6d','\x45\x43\x6f\x75\x43\x43\x6f\x42\x61\x43\x6f\x30\x57\x36\x43\x62','\x61\x43\x6b\x78\x57\x4f\x4f\x30\x57\x50\x33\x63\x4b\x38\x6b\x6f','\x77\x49\x4e\x64\x55\x53\x6f\x55\x57\x51\x34\x6f\x57\x50\x72\x68\x57\x4f\x52\x63\x56\x43\x6f\x41\x57\x52\x4a\x63\x55\x71','\x57\x4f\x50\x4a\x41\x71\x31\x62','\x57\x50\x33\x64\x4a\x6d\x6b\x78\x77\x66\x79','\x57\x36\x78\x63\x47\x6d\x6f\x69\x57\x36\x64\x64\x4a\x72\x4f','\x62\x5a\x34\x2b\x6c\x43\x6f\x70\x46\x38\x6b\x51\x65\x71','\x57\x35\x37\x63\x4f\x6d\x6f\x4c\x57\x36\x78\x64\x4a\x71','\x75\x53\x6f\x64\x57\x52\x33\x64\x4e\x53\x6f\x30\x43\x53\x6f\x4b\x57\x52\x34','\x57\x50\x42\x63\x52\x47\x30\x4f\x34\x4f\x6f\x35\x46\x57\x68\x64\x4e\x71','\x57\x50\x39\x4a\x71\x59\x31\x51','\x62\x64\x64\x64\x55\x61','\x78\x77\x78\x63\x51\x38\x6b\x6b\x57\x37\x76\x4e\x70\x43\x6f\x70','\x69\x53\x6b\x4b\x68\x4d\x5a\x63\x4c\x47','\x67\x5a\x74\x64\x51\x43\x6f\x49\x57\x52\x70\x64\x4b\x49\x76\x58','\x43\x53\x6f\x45\x77\x53\x6f\x41\x64\x6d\x6f\x52\x57\x36\x4f','\x66\x66\x4a\x63\x4e\x38\x6b\x45\x76\x61','\x57\x4f\x47\x41\x57\x51\x56\x63\x4d\x38\x6b\x39\x44\x4b\x53\x6b','\x57\x35\x37\x64\x4b\x75\x33\x64\x52\x53\x6b\x4d\x57\x50\x4e\x64\x4c\x48\x43','\x42\x61\x6d\x44\x57\x36\x52\x64\x54\x6d\x6b\x67\x57\x37\x61\x4d','\x68\x4d\x74\x63\x4f\x6d\x6b\x65\x57\x35\x34\x4a\x6e\x38\x6f\x66','\x76\x49\x70\x64\x4c\x68\x37\x64\x51\x76\x7a\x57\x7a\x49\x72\x53\x57\x34\x6c\x64\x4f\x38\x6b\x61','\x57\x36\x61\x7a\x43\x5a\x56\x64\x48\x57','\x57\x37\x4b\x44\x57\x4f\x33\x63\x4e\x61','\x57\x50\x4c\x4a\x42\x49\x6a\x31','\x75\x38\x6f\x57\x57\x52\x54\x43\x57\x50\x33\x64\x52\x53\x6f\x46\x6c\x57','\x75\x4d\x4e\x63\x52\x53\x6b\x63\x57\x50\x30','\x65\x77\x6c\x63\x52\x43\x6b\x74\x57\x37\x75\x49','\x61\x43\x6f\x61\x57\x51\x72\x47\x79\x31\x69','\x6f\x68\x70\x63\x4b\x57','\x57\x51\x56\x63\x47\x33\x54\x31','\x57\x50\x43\x6d\x73\x57\x74\x63\x54\x53\x6f\x34\x44\x6d\x6f\x57\x57\x36\x4e\x63\x47\x78\x53\x79\x76\x71','\x62\x4e\x78\x63\x4f\x58\x46\x63\x50\x57','\x57\x37\x53\x68\x57\x51\x74\x64\x4f\x62\x53','\x62\x4d\x6c\x63\x4c\x59\x52\x63\x56\x47\x61\x63\x7a\x61','\x68\x68\x4a\x63\x51\x57','\x57\x34\x6e\x53\x64\x43\x6f\x32\x57\x34\x70\x64\x4d\x38\x6f\x36\x57\x51\x57','\x67\x49\x68\x64\x51\x43\x6f\x58\x57\x50\x4e\x64\x56\x49\x72\x33','\x78\x73\x34\x67\x57\x36\x2f\x64\x50\x57','\x71\x73\x64\x64\x53\x4a\x46\x64\x47\x43\x6f\x43\x66\x71','\x62\x38\x6f\x71\x57\x4f\x72\x62\x45\x47','\x6f\x58\x75\x56\x68\x4b\x4a\x64\x47\x76\x56\x63\x4a\x57','\x57\x4f\x64\x64\x53\x43\x6b\x30\x71\x57','\x41\x47\x4b\x31\x57\x35\x33\x64\x56\x38\x6b\x38\x57\x37\x43\x47','\x57\x35\x74\x64\x48\x31\x46\x64\x4e\x53\x6b\x76','\x63\x4a\x64\x64\x55\x6d\x6f\x4e\x57\x50\x78\x64\x4b\x4a\x50\x53','\x57\x52\x6a\x79\x57\x4f\x44\x4c\x57\x35\x79\x50\x75\x62\x46\x64\x4b\x38\x6b\x43\x64\x38\x6b\x6f\x61\x47','\x62\x67\x56\x63\x49\x6d\x6b\x66\x45\x59\x65\x37\x46\x57','\x7a\x53\x6b\x62\x6a\x62\x38','\x71\x64\x35\x72\x57\x50\x37\x63\x55\x6d\x6b\x45\x57\x4f\x53\x44','\x69\x53\x6b\x47\x69\x4b\x37\x63\x54\x71','\x57\x4f\x71\x6e\x57\x51\x33\x64\x53\x58\x79','\x45\x61\x6c\x64\x55\x4b\x44\x45\x57\x4f\x57','\x57\x37\x7a\x64\x71\x4d\x64\x64\x53\x47','\x57\x36\x4a\x64\x4e\x4d\x79','\x57\x52\x47\x56\x57\x4f\x70\x64\x4a\x59\x30','\x44\x73\x70\x64\x51\x49\x30','\x76\x78\x53\x44\x69\x53\x6b\x5a\x57\x4f\x69','\x68\x74\x4a\x64\x50\x6d\x6f\x51','\x67\x5a\x79\x48\x6b\x71','\x63\x61\x6d\x77\x6c\x4e\x65','\x57\x4f\x35\x65\x57\x50\x33\x63\x4e\x53\x6b\x52','\x57\x4f\x43\x78\x57\x51\x37\x63\x54\x6d\x6b\x33\x46\x67\x69\x6f','\x6f\x58\x53\x58\x63\x78\x78\x64\x4a\x66\x37\x63\x4c\x71','\x63\x68\x64\x63\x4a\x73\x52\x63\x53\x58\x61','\x69\x53\x6f\x58\x69\x53\x6f\x33\x57\x4f\x58\x51\x43\x71','\x74\x32\x65\x46','\x66\x62\x38\x52\x74\x71','\x6e\x6d\x6f\x38\x67\x6d\x6f\x50\x57\x50\x62\x52\x7a\x43\x6b\x45','\x57\x34\x6e\x7a\x6a\x38\x6f\x6d\x57\x34\x65','\x57\x51\x33\x63\x4a\x33\x7a\x39\x71\x43\x6f\x6e\x41\x67\x4b','\x7a\x38\x6f\x47\x57\x50\x42\x64\x47\x38\x6f\x45','\x57\x52\x6a\x2b\x57\x34\x4b\x6b\x62\x48\x4a\x64\x4d\x4e\x47','\x75\x43\x6b\x4e\x62\x4c\x37\x64\x55\x57','\x46\x38\x6b\x41\x65\x57','\x67\x43\x6f\x6d\x57\x51\x7a\x52','\x76\x43\x6b\x7a\x64\x77\x52\x64\x4c\x57','\x57\x35\x2f\x63\x55\x53\x6f\x51\x57\x35\x6c\x64\x53\x47','\x65\x38\x6f\x32\x7a\x57','\x57\x34\x75\x57\x57\x52\x52\x64\x4f\x63\x4b','\x72\x53\x6f\x6c\x57\x50\x62\x6f\x57\x4f\x61','\x79\x43\x6f\x6b\x57\x4f\x42\x64\x49\x6d\x6f\x5a\x41\x38\x6f\x4e\x57\x52\x57','\x68\x58\x65\x32\x75\x59\x33\x63\x50\x74\x54\x65','\x57\x36\x78\x63\x4c\x6d\x6f\x4b\x57\x36\x42\x64\x49\x57','\x6d\x72\x71\x49','\x63\x58\x46\x64\x55\x6d\x6b\x56\x75\x4c\x68\x63\x4f\x49\x69','\x6e\x38\x6f\x50\x64\x38\x6f\x51','\x57\x35\x6c\x64\x4b\x78\x74\x64\x53\x38\x6b\x58\x57\x4f\x4e\x64\x47\x58\x57','\x57\x4f\x6d\x70\x57\x50\x4a\x63\x53\x6d\x6b\x5a\x41\x31\x75','\x57\x35\x6c\x64\x4b\x4d\x6c\x64\x51\x6d\x6b\x43\x57\x4f\x56\x64\x4b\x47','\x63\x6d\x6b\x6b\x61\x65\x37\x63\x48\x43\x6b\x4d\x57\x52\x54\x75','\x57\x51\x6e\x43\x57\x4f\x4e\x63\x54\x38\x6b\x64\x57\x50\x68\x63\x4b\x61','\x57\x34\x62\x55\x78\x4d\x56\x64\x4d\x61','\x57\x51\x4a\x63\x4a\x49\x48\x37\x57\x4f\x69\x58','\x76\x77\x43\x44\x6d\x53\x6b\x50\x57\x4f\x79\x4a\x77\x57','\x57\x37\x42\x63\x4c\x67\x64\x64\x54\x48\x79','\x6e\x76\x74\x63\x51\x38\x6b\x4c\x73\x62\x79\x36\x76\x61','\x57\x36\x5a\x64\x50\x43\x6f\x31\x68\x6d\x6b\x2f\x57\x34\x62\x65\x57\x50\x61','\x6b\x48\x38\x47\x67\x33\x4a\x64\x49\x57','\x78\x53\x6f\x31\x57\x51\x72\x6e\x57\x4f\x42\x64\x4b\x43\x6f\x68\x6b\x57','\x57\x52\x44\x61\x57\x34\x50\x75\x57\x50\x42\x64\x50\x71','\x44\x47\x43\x70\x57\x36\x79','\x57\x36\x61\x4a\x70\x38\x6b\x52\x68\x68\x75\x36\x46\x47','\x77\x43\x6b\x72\x6c\x72\x74\x64\x50\x68\x7a\x39\x57\x50\x47','\x57\x37\x68\x64\x52\x4d\x46\x64\x54\x6d\x6b\x6f','\x57\x51\x56\x63\x48\x77\x75','\x57\x36\x34\x71\x57\x52\x74\x64\x4c\x38\x6b\x39\x73\x6d\x6b\x52','\x57\x36\x65\x6f\x57\x37\x6d\x6b\x57\x50\x6d','\x57\x37\x38\x39\x6e\x43\x6b\x75\x64\x30\x4f\x51\x44\x61','\x70\x4b\x74\x63\x47\x6d\x6b\x4b\x57\x35\x34\x77\x63\x38\x6f\x5a','\x41\x53\x6f\x75\x57\x35\x57\x73\x57\x52\x52\x64\x55\x76\x4f\x69','\x6d\x6d\x6f\x43\x6f\x53\x6f\x74\x57\x4f\x6d','\x57\x37\x34\x6d\x57\x4f\x52\x64\x4c\x38\x6b\x2b\x75\x57','\x65\x53\x6b\x38\x57\x4f\x30\x48\x57\x4f\x75','\x57\x35\x56\x63\x48\x66\x2f\x64\x54\x74\x52\x64\x53\x43\x6f\x31\x57\x36\x43','\x42\x61\x6d\x44\x57\x37\x33\x64\x4e\x38\x6b\x62','\x79\x58\x74\x64\x54\x75\x39\x6e\x57\x4f\x5a\x64\x4a\x53\x6f\x77','\x57\x36\x4b\x48\x70\x38\x6b\x4a\x67\x4b\x6e\x4a','\x57\x36\x7a\x45\x76\x31\x68\x64\x48\x57','\x57\x36\x6c\x64\x51\x38\x6f\x52','\x57\x34\x44\x6e\x57\x34\x52\x63\x4b\x65\x74\x63\x49\x4d\x57\x79\x57\x4f\x64\x63\x48\x4d\x39\x38\x57\x35\x71','\x62\x59\x75\x52\x65\x43\x6b\x64\x42\x53\x6b\x32\x67\x47','\x44\x48\x70\x64\x4f\x30\x54\x41\x57\x50\x79','\x44\x31\x37\x63\x54\x43\x6b\x76\x57\x51\x61','\x57\x51\x56\x63\x47\x33\x54\x31\x6b\x6d\x6f\x68\x44\x68\x6d','\x63\x43\x6f\x67\x57\x36\x47\x77','\x57\x50\x5a\x64\x4d\x57\x70\x63\x4f\x4d\x52\x63\x49\x6d\x6b\x31\x57\x37\x47\x44\x65\x43\x6b\x4b\x57\x36\x44\x55','\x57\x52\x4c\x68\x57\x50\x53','\x75\x4e\x7a\x4f\x73\x6d\x6b\x63\x71\x71','\x57\x36\x65\x44\x57\x35\x69','\x57\x37\x33\x64\x52\x38\x6f\x36\x64\x53\x6b\x4b\x57\x34\x50\x77\x57\x50\x71','\x57\x35\x76\x58\x68\x6d\x6f\x31\x57\x37\x6c\x64\x56\x38\x6f\x38','\x57\x36\x52\x63\x49\x4b\x52\x64\x56\x48\x69','\x43\x6d\x6f\x71\x57\x35\x30\x76\x57\x4f\x74\x64\x52\x65\x43\x74','\x57\x36\x43\x39\x66\x43\x6b\x65\x61\x57','\x57\x37\x7a\x68\x65\x65\x64\x64\x52\x53\x6b\x50\x70\x38\x6f\x50','\x42\x64\x70\x64\x56\x72\x33\x64\x48\x43\x6f\x71\x68\x71\x71','\x64\x6d\x6f\x77\x57\x51\x69','\x63\x61\x57\x58\x73\x61','\x44\x48\x64\x64\x4f\x65\x44\x74\x57\x50\x5a\x64\x55\x38\x6f\x47','\x75\x43\x6b\x72\x6f\x72\x33\x64\x53\x4b\x76\x55\x57\x50\x30','\x6c\x6d\x6b\x2f\x6f\x4c\x42\x63\x4f\x57','\x63\x4d\x4a\x63\x55\x43\x6b\x5a\x57\x37\x48\x7a','\x63\x38\x6b\x70\x57\x51\x79\x56','\x62\x38\x6f\x67\x57\x36\x69\x66\x57\x50\x64\x64\x4a\x38\x6f\x2f\x57\x35\x71','\x57\x4f\x7a\x46\x72\x5a\x48\x38\x57\x52\x33\x64\x50\x61','\x76\x38\x6b\x43\x57\x37\x57\x6a\x57\x52\x78\x64\x4e\x6d\x6f\x59\x57\x34\x79','\x61\x53\x6f\x6c\x57\x50\x76\x48\x44\x4c\x6d\x6e\x78\x61','\x79\x53\x6f\x63\x44\x53\x6f\x68\x61\x43\x6f\x53','\x73\x38\x6b\x71\x57\x36\x47\x34\x57\x51\x71\x77\x64\x43\x6b\x78','\x57\x4f\x43\x46\x57\x51\x56\x63\x52\x6d\x6b\x33\x41\x47','\x57\x34\x31\x46\x64\x76\x57','\x57\x51\x33\x63\x4a\x33\x7a\x51\x41\x53\x6f\x6b','\x42\x48\x42\x64\x54\x48\x64\x64\x4a\x57','\x57\x34\x34\x32\x57\x36\x6d\x42\x57\x51\x4c\x79\x6c\x59\x65','\x75\x38\x6f\x6b\x57\x52\x42\x64\x4c\x38\x6f\x57','\x6e\x48\x75\x32','\x6a\x76\x46\x63\x4d\x6d\x6b\x70\x57\x36\x79','\x73\x53\x6f\x50\x57\x50\x4e\x64\x4e\x38\x6f\x78','\x61\x78\x70\x63\x48\x63\x52\x64\x53\x61\x43\x4c\x79\x57','\x57\x51\x37\x63\x48\x61\x76\x4e\x57\x50\x4f\x36\x68\x53\x6f\x2f','\x63\x4e\x42\x63\x56\x49\x70\x63\x50\x57','\x57\x35\x79\x37\x42\x4a\x52\x64\x49\x57','\x7a\x71\x78\x64\x53\x76\x66\x73\x57\x50\x79','\x7a\x6d\x6b\x50\x57\x34\x34\x41','\x62\x43\x6f\x65\x57\x52\x4c\x56','\x6f\x38\x6f\x63\x79\x63\x4c\x6a','\x57\x51\x4e\x63\x53\x73\x72\x2b\x57\x51\x69','\x57\x35\x76\x46\x64\x65\x46\x64\x4f\x57','\x57\x52\x62\x72\x57\x34\x30\x46','\x57\x52\x52\x63\x48\x32\x44\x54\x77\x53\x6f\x66\x42\x57','\x67\x38\x6f\x4b\x41\x58\x58\x50\x57\x4f\x74\x64\x47\x6d\x6f\x32','\x57\x35\x6e\x5a\x61\x53\x6f\x33\x57\x37\x6c\x64\x55\x53\x6f\x48\x57\x51\x30','\x68\x53\x6f\x70\x57\x50\x52\x64\x4a\x38\x6f\x4f\x6c\x38\x6f\x2b\x57\x51\x61','\x57\x34\x64\x64\x55\x4c\x33\x64\x4d\x38\x6b\x70','\x46\x53\x6f\x69\x57\x37\x65\x73\x57\x52\x46\x64\x55\x66\x71','\x7a\x47\x53\x6f\x57\x34\x2f\x64\x49\x71','\x66\x38\x6f\x54\x57\x36\x79\x46\x57\x50\x4f','\x57\x34\x6a\x63\x45\x67\x37\x64\x55\x47','\x57\x50\x62\x59\x57\x52\x4a\x63\x54\x6d\x6b\x6b','\x57\x52\x39\x44\x7a\x74\x50\x47','\x57\x50\x31\x57\x57\x36\x53\x4d\x65\x47','\x64\x5a\x4a\x64\x50\x6d\x6f\x59\x57\x50\x6c\x64\x49\x71','\x57\x4f\x39\x6b\x57\x35\x58\x30\x57\x52\x79','\x67\x48\x38\x58\x73\x72\x46\x63\x50\x71\x31\x77','\x61\x6d\x6f\x6b\x57\x51\x35\x49','\x74\x62\x71\x6c\x57\x34\x33\x64\x56\x47','\x57\x52\x5a\x63\x48\x78\x4c\x56\x6b\x6d\x6f\x61\x43\x4d\x34','\x67\x58\x2f\x64\x55\x6d\x6b\x59\x75\x30\x69','\x72\x43\x6f\x38\x57\x51\x4c\x42\x57\x50\x56\x64\x52\x61','\x63\x5a\x69\x57\x63\x30\x75','\x57\x4f\x66\x30\x72\x59\x44\x2b\x57\x51\x42\x64\x50\x71','\x57\x36\x71\x37\x62\x6d\x6b\x4e\x68\x66\x71\x53\x79\x47','\x69\x4c\x68\x63\x50\x53\x6b\x38\x73\x71\x65\x32\x75\x57','\x7a\x61\x35\x38\x57\x51\x46\x63\x51\x6d\x6b\x32\x57\x51\x79\x48','\x68\x61\x42\x64\x50\x6d\x6b\x51\x74\x57','\x65\x62\x38\x52\x75\x73\x33\x63\x4f\x63\x7a\x64','\x57\x52\x31\x79\x57\x35\x4a\x63\x4c\x43\x6f\x4f\x64\x38\x6f\x34\x57\x37\x66\x72\x57\x37\x6c\x64\x4b\x4e\x66\x36','\x46\x47\x74\x64\x54\x30\x43','\x78\x78\x66\x4a','\x74\x43\x6f\x63\x57\x4f\x42\x64\x4d\x6d\x6f\x49','\x71\x78\x4e\x63\x4f\x6d\x6b\x4f\x57\x35\x5a\x63\x4b\x4e\x30\x53','\x66\x43\x6f\x43\x57\x36\x4b\x67\x57\x51\x52\x64\x54\x6d\x6f\x5a\x57\x34\x4f','\x6d\x72\x79\x54\x64\x77\x78\x64\x54\x4b\x42\x63\x4e\x71','\x41\x6d\x6f\x79\x57\x34\x69\x6e','\x57\x34\x4f\x43\x68\x53\x6b\x5a\x6b\x71','\x57\x37\x35\x6b\x76\x67\x68\x64\x4d\x71','\x6b\x65\x37\x63\x47\x43\x6b\x47\x71\x57\x30\x44\x72\x71','\x57\x51\x2f\x64\x56\x53\x6f\x5a\x61\x38\x6b\x6f\x57\x4f\x6e\x72\x57\x4f\x38','\x57\x34\x68\x63\x4b\x4e\x42\x64\x54\x43\x6b\x57\x57\x50\x37\x64\x4a\x58\x71','\x57\x4f\x48\x31\x46\x74\x52\x64\x4e\x43\x6f\x34\x63\x53\x6b\x2f','\x45\x6d\x6b\x68\x65\x71','\x57\x34\x42\x64\x4d\x43\x6f\x70\x69\x38\x6b\x53\x57\x36\x39\x36\x57\x52\x71','\x79\x6d\x6f\x39\x57\x50\x62\x6d\x57\x52\x57','\x61\x38\x6f\x39\x65\x43\x6f\x47\x57\x50\x4b','\x57\x36\x74\x63\x47\x6d\x6f\x69\x57\x36\x68\x64\x47\x72\x57','\x57\x51\x7a\x6b\x57\x34\x76\x72\x57\x51\x42\x64\x52\x57\x74\x63\x51\x71','\x44\x74\x7a\x68\x57\x51\x56\x63\x51\x47','\x64\x4a\x74\x64\x50\x53\x6f\x4a','\x57\x4f\x34\x30\x57\x52\x64\x64\x53\x74\x4f','\x57\x4f\x7a\x51\x57\x36\x76\x58\x57\x51\x42\x64\x4a\x59\x74\x63\x49\x71','\x46\x43\x6b\x50\x57\x34\x4b\x59\x57\x4f\x61\x38\x70\x38\x6b\x46','\x57\x34\x58\x6e\x63\x4c\x33\x64\x51\x53\x6b\x47','\x61\x74\x69\x5a\x6a\x43\x6b\x4b\x44\x43\x6b\x50\x67\x47','\x42\x73\x37\x64\x53\x4a\x52\x64\x47\x53\x6f\x6f\x66\x61\x71','\x73\x53\x6f\x41\x57\x4f\x52\x64\x4c\x53\x6f\x33\x44\x53\x6f\x34\x57\x4f\x38','\x57\x50\x62\x73\x46\x73\x7a\x47\x57\x52\x5a\x64\x53\x61','\x57\x35\x57\x6e\x57\x51\x52\x64\x51\x57\x74\x63\x4d\x72\x42\x64\x56\x57','\x44\x71\x56\x64\x50\x62\x68\x64\x54\x57','\x57\x51\x5a\x63\x4e\x61\x76\x43\x57\x50\x71','\x57\x51\x38\x4c\x57\x52\x2f\x63\x56\x53\x6b\x69','\x78\x30\x34\x52\x6a\x43\x6b\x31','\x57\x51\x38\x4b\x57\x51\x4a\x63\x4b\x38\x6b\x36','\x76\x33\x62\x51\x78\x38\x6b\x67\x72\x57','\x45\x76\x64\x63\x52\x53\x6b\x73\x57\x52\x65\x53\x66\x68\x38','\x77\x53\x6f\x69\x43\x53\x6f\x48\x69\x47','\x77\x31\x37\x63\x51\x38\x6b\x77\x57\x50\x4b','\x63\x6d\x6f\x6d\x57\x35\x38\x6b\x57\x51\x68\x64\x49\x61'];_0x258a=function(){return _0x5de94a;};return _0x258a();}function _0x2af316(_0x33f3e1,_0x1522e7){const _0x1e2040=_0x5d66d9,_0x54f2f1={'\x72\x71\x56\x5a\x61':'\x6d\x76\x70\x57\x58','\x6e\x65\x64\x74\x66':function(_0x22401d,_0x14ceb3){return _0x22401d===_0x14ceb3;},'\x45\x67\x78\x6e\x4c':_0x1e2040(0x2ce,'\x31\x6a\x38\x76')+_0x1e2040(0x183,'\x31\x6a\x38\x76'),'\x7a\x6e\x7a\x7a\x6c':function(_0xb5c50a){return _0xb5c50a();},'\x62\x52\x79\x50\x59':function(_0x5b1fd1,_0x19a635,_0x1f5bd6){return _0x5b1fd1(_0x19a635,_0x1f5bd6);},'\x52\x72\x77\x43\x4e':function(_0x400231,_0x508c2e){return _0x400231>_0x508c2e;}},_0x3754df=(function(){const _0x56b595=_0x1e2040,_0x33d30a={'\x54\x6b\x6e\x70\x44':_0x56b595(0x266,'\x70\x40\x55\x61')+_0x56b595(0x383,'\x53\x74\x6e\x78')+_0x56b595(0x372,'\x29\x34\x31\x4b')+_0x56b595(0x312,'\x54\x63\x44\x55'),'\x65\x49\x71\x46\x63':function(_0x40a628,_0x5b47b9){const _0xc1a6e9=_0x56b595;return _0x54f2f1[_0xc1a6e9(0x184,'\x50\x4b\x79\x6b')](_0x40a628,_0x5b47b9);},'\x6d\x64\x59\x6c\x77':_0x56b595(0x373,'\x50\x26\x5a\x66')};let _0x30d841=!![];return function(_0x173e24,_0x50da75){const _0x6aeea7=_0x56b595;if(_0x54f2f1[_0x6aeea7(0x238,'\x6f\x43\x5a\x25')]!==_0x6aeea7(0x2c3,'\x4f\x25\x4f\x77')){const _0x4af011=_0x30d841?function(){const _0x23e758=_0x6aeea7,_0x441d44={};_0x441d44[_0x23e758(0x165,'\x55\x51\x55\x51')]=_0x33d30a[_0x23e758(0x1a4,'\x70\x40\x55\x61')];const _0xf12855=_0x441d44;if(_0x33d30a['\x65\x49\x71\x46\x63'](_0x33d30a[_0x23e758(0x2a6,'\x30\x6c\x40\x55')],_0x33d30a[_0x23e758(0x2a0,'\x57\x72\x30\x44')])){if(_0x50da75){const _0x136525=_0x50da75[_0x23e758(0x2c8,'\x4e\x6c\x6f\x41')](_0x173e24,arguments);return _0x50da75=null,_0x136525;}}else return _0xf0d0bf[_0x23e758(0x2a9,'\x31\x2a\x67\x39')](_0x132730(),_0xf12855[_0x23e758(0x16f,'\x58\x5a\x6d\x6c')]);}:function(){};return _0x30d841=![],_0x4af011;}else try{return _0x4a40ea[_0x6aeea7(0x190,'\x64\x2a\x55\x4a')](_0x5ddad7);}catch(_0x3ae8bb){return null;}};}()),_0x5ab1e2=_0x3754df(this,function(){const _0x1112a9=_0x1e2040;return _0x5ab1e2[_0x1112a9(0x30d,'\x54\x63\x44\x55')]()['\x73\x65\x61\x72\x63\x68'](_0x54f2f1[_0x1112a9(0x289,'\x28\x78\x39\x6d')])[_0x1112a9(0x193,'\x4f\x2a\x70\x55')]()[_0x1112a9(0x18a,'\x24\x35\x2a\x70')+_0x1112a9(0x26e,'\x65\x6f\x70\x24')](_0x5ab1e2)[_0x1112a9(0x2dc,'\x4d\x38\x6b\x2a')](_0x54f2f1[_0x1112a9(0x344,'\x6d\x56\x47\x51')]);});_0x54f2f1[_0x1e2040(0x1aa,'\x7a\x37\x4b\x6f')](_0x5ab1e2);const _0x3d2178=_0x54f2f1['\x62\x52\x79\x50\x59'](parseInt,process.env[_0x33f3e1]||'',0x2086+0x1610+-0x4*0xda3);return Number[_0x1e2040(0x2d4,'\x4b\x24\x46\x76')](_0x3d2178)&&_0x54f2f1[_0x1e2040(0x2bf,'\x67\x6c\x49\x4c')](_0x3d2178,-0x36*0x10+0x87*-0x9+0x81f)?_0x3d2178:_0x1522e7;}const _0x226091=()=>_0x2af316(_0x5d66d9(0x1a6,'\x5e\x45\x71\x76')+_0x5d66d9(0x2c7,'\x74\x50\x31\x61')+_0x5d66d9(0x1d1,'\x28\x78\x39\x6d'),0xfc2586+0x1*-0x495f5a+0x96d0d4),_0x40e06a=()=>_0x2af316('\x45\x56\x4f\x4c\x56\x45\x52\x5f'+_0x5d66d9(0x2e1,'\x56\x30\x6e\x45')+_0x5d66d9(0x1c9,'\x67\x6c\x49\x4c')+_0x5d66d9(0x252,'\x4d\x38\x6b\x2a'),0x8d2+-0x13a0+0xaee),_0x555ded=()=>_0x2af316(_0x5d66d9(0x234,'\x4b\x24\x46\x76')+_0x5d66d9(0x272,'\x61\x32\x34\x6d')+_0x5d66d9(0x362,'\x6f\x43\x5a\x25'),0x13*0x49+0x1df8+-0x2323);function _0x16f289(_0x115f92){const _0x638de7=_0x5d66d9,_0x6b1fd5={};_0x6b1fd5[_0x638de7(0x201,'\x4f\x4a\x26\x31')]=function(_0x2bf07c,_0x1c2d92){return _0x2bf07c!==_0x1c2d92;},_0x6b1fd5[_0x638de7(0x242,'\x34\x36\x26\x6f')]=_0x638de7(0x342,'\x7a\x37\x4b\x6f'),_0x6b1fd5[_0x638de7(0x292,'\x50\x26\x5a\x66')]=_0x638de7(0x204,'\x70\x40\x55\x61')+_0x638de7(0x20b,'\x72\x7a\x29\x59')+'\x76',_0x6b1fd5[_0x638de7(0x237,'\x50\x26\x5a\x66')]=_0x638de7(0x2ae,'\x56\x30\x6e\x45');const _0x12fbfb=_0x6b1fd5;try{if(_0x12fbfb[_0x638de7(0x21f,'\x53\x74\x6e\x78')](_0x638de7(0x2a2,'\x4f\x2a\x70\x55'),_0x12fbfb[_0x638de7(0x33c,'\x31\x6a\x38\x76')]))_0x328e90[_0x638de7(0x18b,'\x4f\x4a\x26\x31')+_0x638de7(0x1ad,'\x76\x28\x74\x6e')](_0x5bd63a[_0x638de7(0x21e,'\x76\x28\x74\x6e')+'\x72\x4c\x6f\x67\x50\x61\x74\x68'](),JSON[_0x638de7(0x305,'\x31\x6a\x38\x76')+'\x79'](Object[_0x638de7(0x1b6,'\x4d\x38\x6b\x2a')]({'\x61\x74':new Date()[_0x638de7(0x304,'\x57\x26\x50\x58')+_0x638de7(0x1fa,'\x57\x26\x50\x58')](),'\x63\x6f\x6d\x70\x6f\x6e\x65\x6e\x74':_0x12fbfb[_0x638de7(0x2b8,'\x34\x36\x26\x6f')]},_0x115f92))+'\x0a',_0x12fbfb[_0x638de7(0x20c,'\x4d\x38\x6b\x2a')]);else{const _0x35fce9=_0x2cc1d2[_0x638de7(0x287,'\x70\x40\x55\x61')+_0x638de7(0x1bd,'\x48\x4d\x51\x6d')+'\x74\x65']()||{},_0x5dce81=_0x35fce9[_0x638de7(0x374,'\x59\x24\x55\x69')+_0x638de7(0x223,'\x65\x6f\x70\x24')]||{},_0x196316={};return _0x196316[_0x638de7(0x321,'\x5e\x6a\x58\x30')]=_0x5dce81[_0x638de7(0x357,'\x4f\x2a\x70\x55')]||{},_0x196316[_0x638de7(0x246,'\x77\x28\x70\x72')]=_0x5dce81[_0x638de7(0x2b4,'\x29\x34\x31\x4b')]||{},_0x196316;}}catch(_0xd3653e){}}function _0xe09b20(){const _0x25bc47=_0x5d66d9;try{const _0x120715=_0x5bd63a[_0x25bc47(0x213,'\x31\x6a\x38\x76')+_0x25bc47(0x363,'\x58\x5a\x6d\x6c')+'\x74\x65']()||{},_0x47c42a=_0x120715[_0x25bc47(0x295,'\x64\x2a\x55\x4a')+_0x25bc47(0x1b3,'\x4e\x6c\x6f\x41')]||{},_0x488308={};return _0x488308['\x62\x79\x5f\x68\x61\x73\x68']=_0x47c42a[_0x25bc47(0x35d,'\x48\x4d\x51\x6d')]||{},_0x488308[_0x25bc47(0x19c,'\x5e\x4c\x67\x36')]=_0x47c42a[_0x25bc47(0x32a,'\x25\x69\x66\x53')]||{},_0x488308;}catch(_0x2814fe){const _0xc4dd7f={};return _0xc4dd7f[_0x25bc47(0x168,'\x5e\x45\x71\x76')]={},_0xc4dd7f[_0x25bc47(0x206,'\x4f\x4a\x26\x31')]={},_0xc4dd7f;}}function _0x1907cf(_0x49858c){const _0x53aa99=_0x5d66d9,_0x426d57={'\x46\x51\x75\x68\x4d':function(_0x3495f7){return _0x3495f7();}};return _0x426d57[_0x53aa99(0x26d,'\x5e\x4c\x67\x36')](_0xe09b20)[_0x53aa99(0x357,'\x4f\x2a\x70\x55')][_0x49858c]||null;}function _0x10be15(_0x20f13e){const _0x3e386a=_0x5d66d9,_0x5a9523={'\x6d\x48\x61\x78\x66':function(_0x33a517){return _0x33a517();}};return _0x5a9523[_0x3e386a(0x20f,'\x31\x5b\x7a\x6e')](_0xe09b20)[_0x3e386a(0x26f,'\x6d\x56\x47\x51')][_0x20f13e]||null;}function _0xf37497(_0x328248){const _0x18ceb8=_0x5d66d9,_0x5a03b5={'\x68\x4b\x6f\x43\x75':function(_0x3f724d){return _0x3f724d();},'\x70\x50\x65\x4e\x62':function(_0xafcaff,_0x4392de){return _0xafcaff<=_0x4392de;},'\x46\x47\x62\x59\x45':_0x18ceb8(0x27b,'\x58\x5a\x6d\x6c')},_0x4799f1=Object[_0x18ceb8(0x17e,'\x61\x32\x34\x6d')](_0x328248),_0x173c2b=_0x5a03b5[_0x18ceb8(0x30c,'\x53\x74\x6e\x78')](_0x40e06a);if(_0x5a03b5[_0x18ceb8(0x336,'\x34\x36\x26\x6f')](_0x4799f1[_0x18ceb8(0x320,'\x59\x24\x55\x69')],_0x173c2b))return _0x328248;const _0x2cfbad=_0xadfc2f=>{const _0x3b1bf9=_0x18ceb8,_0x475a98=_0x328248[_0xadfc2f];return Math['\x6d\x61\x78'](Date[_0x3b1bf9(0x355,'\x53\x74\x6e\x78')](_0x475a98[_0x3b1bf9(0x37c,'\x70\x40\x55\x61')+_0x3b1bf9(0x222,'\x30\x6c\x40\x55')]||0x4*0x841+-0x120a+-0xefa)||-0x1567+0x6d2*-0x3+0x29dd,Date[_0x3b1bf9(0x178,'\x76\x28\x74\x6e')](_0x475a98['\x6c\x61\x73\x74\x5f\x61\x74\x74'+_0x3b1bf9(0x2af,'\x65\x6f\x70\x24')]||0x14+-0x1a35+0x1a21)||-0xac0+0x9*-0x1af+0x19e7);},_0xae83fe=_0x4799f1[_0x18ceb8(0x285,'\x7a\x37\x4b\x6f')](_0x1be731=>!_0x328248[_0x1be731]['\x73\x68\x61\x64\x6f\x77\x65\x64'+_0x18ceb8(0x2f3,'\x50\x26\x5a\x66')])[_0x18ceb8(0x2f8,'\x31\x6a\x38\x76')]((_0x57a25f,_0x279542)=>_0x2cfbad(_0x57a25f)-_0x2cfbad(_0x279542)),_0x935f31=_0x4799f1['\x66\x69\x6c\x74\x65\x72'](_0x234b43=>_0x328248[_0x234b43][_0x18ceb8(0x1f4,'\x48\x4d\x51\x6d')+_0x18ceb8(0x337,'\x58\x5a\x6d\x6c')])[_0x18ceb8(0x32b,'\x77\x28\x70\x72')]((_0x3e31a1,_0x1a44d8)=>_0x2cfbad(_0x3e31a1)-_0x2cfbad(_0x1a44d8));let _0x2b683d=_0x4799f1[_0x18ceb8(0x221,'\x5e\x6a\x58\x30')];for(const _0x217731 of _0xae83fe[_0x18ceb8(0x2ee,'\x7a\x37\x4b\x6f')](_0x935f31)){if(_0x5a03b5[_0x18ceb8(0x2ab,'\x63\x62\x47\x54')]!==_0x5a03b5[_0x18ceb8(0x169,'\x2a\x4e\x23\x33')])return![];else{if(_0x5a03b5[_0x18ceb8(0x29e,'\x57\x26\x50\x58')](_0x2b683d,_0x173c2b))break;delete _0x328248[_0x217731],_0x2b683d--;}}return _0x328248;}function _0x2d0346(_0x474822,_0x324b88){const _0x2c41a4=_0x5d66d9,_0x2aea72={'\x71\x4d\x62\x6d\x45':function(_0x54f0ea,_0x31f4d8,_0x556dd4){return _0x54f0ea(_0x31f4d8,_0x556dd4);},'\x76\x77\x4c\x54\x79':function(_0x5d9d40,_0x3d119c){return _0x5d9d40(_0x3d119c);},'\x78\x48\x4b\x58\x4d':_0x2c41a4(0x32e,'\x7a\x37\x4b\x6f')+_0x2c41a4(0x32c,'\x44\x61\x70\x42')+_0x2c41a4(0x301,'\x4f\x4a\x26\x31'),'\x57\x41\x46\x6d\x58':function(_0x5ea1e9){return _0x5ea1e9();},'\x64\x74\x49\x43\x73':function(_0x382266){return _0x382266();},'\x49\x41\x70\x54\x4c':function(_0x4fbbda,_0x3aa4df){return _0x4fbbda!==_0x3aa4df;},'\x4d\x76\x47\x6f\x6c':_0x2c41a4(0x1b8,'\x31\x6a\x38\x76'),'\x57\x64\x58\x64\x48':function(_0x465f44,_0x10fe2d){return _0x465f44!==_0x10fe2d;},'\x58\x41\x75\x63\x6c':_0x2c41a4(0x245,'\x30\x6c\x40\x55'),'\x65\x48\x48\x6d\x42':function(_0x56ee45,_0x505b51){return _0x56ee45===_0x505b51;},'\x54\x7a\x75\x78\x5a':_0x2c41a4(0x2b0,'\x63\x62\x47\x54')+_0x2c41a4(0x279,'\x50\x4b\x79\x6b')+_0x2c41a4(0x192,'\x6f\x43\x5a\x25'),'\x63\x6b\x6c\x5a\x6c':'\x51\x75\x70\x44\x6a','\x46\x43\x6f\x72\x69':function(_0x325078,_0x37bd89){return _0x325078+_0x37bd89;}};try{if(_0x2aea72[_0x2c41a4(0x212,'\x50\x26\x5a\x66')](_0x2aea72[_0x2c41a4(0x2b9,'\x31\x5b\x7a\x6e')],_0x2aea72[_0x2c41a4(0x1e9,'\x67\x6c\x49\x4c')])){const _0x10c218={};_0x10c218[_0x2c41a4(0x243,'\x61\x2a\x35\x70')+_0x2c41a4(0x17c,'\x67\x6c\x49\x4c')+_0x2c41a4(0x317,'\x76\x28\x74\x6e')]=!![],_0x2aea72[_0x2c41a4(0x358,'\x4f\x25\x4f\x77')](_0x16767a,_0x3a4f30[_0x2c41a4(0x240,'\x72\x7a\x29\x59')],_0x10c218),_0x2aea72[_0x2c41a4(0x2ea,'\x25\x69\x66\x53')](_0x3c2944,{'\x73\x74\x61\x74\x75\x73':_0x2aea72[_0x2c41a4(0x2e0,'\x6f\x43\x5a\x25')],'\x76\x61\x6c\x69\x64\x61\x74\x69\x6f\x6e':_0x524649['\x76\x61\x6c\x69\x64\x61\x74\x69'+'\x6f\x6e']});const _0x8fe085={};return _0x8fe085['\x6f\x6b']=![],_0x8fe085[_0x2c41a4(0x17b,'\x35\x58\x61\x77')]=_0x2aea72[_0x2c41a4(0x208,'\x31\x5b\x7a\x6e')],_0x8fe085[_0x2c41a4(0x366,'\x31\x5b\x7a\x6e')]=_0x585b94,_0x8fe085;}else{const _0x19fed1=_0x5bd63a[_0x2c41a4(0x349,'\x25\x69\x66\x53')+_0x2c41a4(0x2d0,'\x4f\x25\x4f\x77')+'\x74\x65']()||{},_0x365397={};_0x365397[_0x2c41a4(0x364,'\x23\x35\x36\x4b')]=0x1,_0x365397[_0x2c41a4(0x25d,'\x61\x2a\x35\x70')]={},_0x365397[_0x2c41a4(0x26f,'\x6d\x56\x47\x51')]={};if(!_0x19fed1[_0x2c41a4(0x295,'\x64\x2a\x55\x4a')+'\x74\x69\x6c\x6c']||_0x2aea72[_0x2c41a4(0x2da,'\x76\x28\x74\x6e')](typeof _0x19fed1[_0x2c41a4(0x25f,'\x50\x26\x5a\x66')+_0x2c41a4(0x330,'\x5e\x4c\x67\x36')],_0x2aea72['\x58\x41\x75\x63\x6c']))_0x19fed1[_0x2c41a4(0x257,'\x24\x35\x2a\x70')+'\x74\x69\x6c\x6c']=_0x365397;if(!_0x19fed1[_0x2c41a4(0x236,'\x74\x50\x31\x61')+_0x2c41a4(0x250,'\x5e\x6a\x58\x30')][_0x2c41a4(0x323,'\x44\x61\x70\x42')])_0x19fed1[_0x2c41a4(0x22e,'\x4f\x25\x4f\x77')+_0x2c41a4(0x326,'\x4f\x4a\x26\x31')][_0x2c41a4(0x1d4,'\x31\x6a\x38\x76')]={};const _0x4fe6be={};_0x4fe6be[_0x2c41a4(0x2e5,'\x57\x26\x50\x58')+_0x2c41a4(0x17a,'\x6f\x6f\x6e\x5e')]=null,_0x4fe6be[_0x2c41a4(0x25c,'\x5e\x4c\x67\x36')+'\x5f\x61\x74']=null,_0x4fe6be['\x66\x61\x69\x6c\x65\x64\x5f\x61'+_0x2c41a4(0x260,'\x34\x36\x26\x6f')]=0x0,_0x4fe6be[_0x2c41a4(0x2c9,'\x24\x35\x2a\x70')+_0x2c41a4(0x288,'\x55\x51\x55\x51')]=null;const _0x13a5ea=_0x19fed1[_0x2c41a4(0x354,'\x70\x40\x55\x61')+_0x2c41a4(0x1ed,'\x72\x7a\x29\x59')][_0x2c41a4(0x203,'\x55\x51\x55\x51')][_0x474822]||_0x4fe6be;for(const _0x1ce852 of Object[_0x2c41a4(0x23d,'\x57\x26\x50\x58')](_0x324b88)){if(_0x2aea72['\x65\x48\x48\x6d\x42'](_0x1ce852,_0x2aea72[_0x2c41a4(0x333,'\x7a\x37\x4b\x6f')])){if(_0x2aea72[_0x2c41a4(0x1e3,'\x57\x72\x30\x44')]===_0x2aea72[_0x2c41a4(0x1e3,'\x57\x72\x30\x44')]){if(_0x324b88[_0x1ce852])_0x13a5ea['\x66\x61\x69\x6c\x65\x64\x5f\x61'+_0x2c41a4(0x1c1,'\x61\x32\x34\x6d')]=_0x2aea72[_0x2c41a4(0x21b,'\x35\x58\x61\x77')](_0x2aea72[_0x2c41a4(0x2ea,'\x25\x69\x66\x53')](Number,_0x13a5ea[_0x2c41a4(0x322,'\x5e\x6a\x58\x30')+_0x2c41a4(0x296,'\x31\x5b\x7a\x6e')])||0xa65*0x2+0x19e2+0x74*-0x67,-0x1a*-0xed+-0x12d9+-0x4*0x14e);continue;}else{const _0x299be3=_0x10a43a[_0x2c41a4(0x306,'\x48\x40\x75\x5e')+_0x2c41a4(0x235,'\x48\x4d\x51\x6d')](_0x2aea72[_0x2c41a4(0x1c0,'\x34\x36\x26\x6f')](_0x302d0f),_0x2c41a4(0x352,'\x61\x2a\x35\x70')),_0x281132=_0x299be3[_0x2c41a4(0x1c4,'\x7a\x37\x4b\x6f')]('\x0a')[_0x2c41a4(0x210,'\x31\x6a\x38\x76')](_0x43cf42=>_0x43cf42[_0x2c41a4(0x28f,'\x24\x35\x2a\x70')]())[_0x2c41a4(0x29b,'\x61\x2a\x35\x70')](_0x362737)['\x6d\x61\x70'](_0x133e35=>{const _0x597093=_0x2c41a4;try{return _0x548a0d[_0x597093(0x37a,'\x7a\x37\x4b\x6f')](_0x133e35);}catch(_0x3019b8){return null;}})[_0x2c41a4(0x303,'\x5a\x65\x55\x7a')](_0x361587);return _0x281132[_0x2c41a4(0x1ca,'\x72\x7a\x29\x59')](-_0x2aea72['\x64\x74\x49\x43\x73'](_0x54286d));}}_0x13a5ea[_0x1ce852]=_0x324b88[_0x1ce852];}return _0x19fed1['\x63\x6f\x6e\x76\x5f\x64\x69\x73'+_0x2c41a4(0x223,'\x65\x6f\x70\x24')][_0x2c41a4(0x33f,'\x25\x69\x66\x53')][_0x474822]=_0x13a5ea,_0xf37497(_0x19fed1[_0x2c41a4(0x34e,'\x7a\x37\x4b\x6f')+_0x2c41a4(0x350,'\x50\x4b\x79\x6b')][_0x2c41a4(0x25d,'\x61\x2a\x35\x70')]),_0x5bd63a['\x77\x72\x69\x74\x65\x44\x69\x73'+_0x2c41a4(0x265,'\x4b\x24\x46\x76')+_0x2c41a4(0x16b,'\x28\x78\x39\x6d')](_0x19fed1),!![];}}catch(_0x4a8607){return![];}}function _0x36f42d(_0x189e5d,_0x570887){const _0x2a412c=_0x5d66d9,_0x1007e4={};_0x1007e4[_0x2a412c(0x1d6,'\x4d\x38\x6b\x2a')]=function(_0x4999ec,_0xebcbfa){return _0x4999ec!==_0xebcbfa;},_0x1007e4[_0x2a412c(0x17d,'\x48\x40\x75\x5e')]=_0x2a412c(0x276,'\x4f\x4a\x26\x31');const _0x166925=_0x1007e4;try{const _0x1505d5=_0x5bd63a[_0x2a412c(0x24b,'\x65\x6f\x70\x24')+_0x2a412c(0x268,'\x76\x28\x74\x6e')+'\x74\x65']()||{},_0x33b232={};_0x33b232['\x76\x65\x72\x73\x69\x6f\x6e']=0x1,_0x33b232['\x62\x79\x5f\x68\x61\x73\x68']={},_0x33b232[_0x2a412c(0x341,'\x76\x28\x74\x6e')]={};if(!_0x1505d5[_0x2a412c(0x2dd,'\x56\x30\x6e\x45')+_0x2a412c(0x1e5,'\x50\x26\x5a\x66')]||_0x166925[_0x2a412c(0x2de,'\x74\x50\x31\x61')](typeof _0x1505d5[_0x2a412c(0x2b1,'\x55\x51\x55\x51')+_0x2a412c(0x326,'\x4f\x4a\x26\x31')],_0x2a412c(0x239,'\x50\x4b\x79\x6b')))_0x1505d5['\x63\x6f\x6e\x76\x5f\x64\x69\x73'+'\x74\x69\x6c\x6c']=_0x33b232;if(!_0x1505d5[_0x2a412c(0x35e,'\x4d\x38\x6b\x2a')+_0x2a412c(0x23f,'\x31\x6a\x38\x76')]['\x62\x79\x5f\x73\x6c\x75\x67'])_0x1505d5['\x63\x6f\x6e\x76\x5f\x64\x69\x73'+_0x2a412c(0x177,'\x23\x35\x36\x4b')][_0x2a412c(0x206,'\x4f\x4a\x26\x31')]={};return _0x1505d5[_0x2a412c(0x1dc,'\x23\x35\x36\x4b')+_0x2a412c(0x2d1,'\x29\x34\x31\x4b')][_0x2a412c(0x26f,'\x6d\x56\x47\x51')][_0x189e5d]=Object[_0x2a412c(0x27f,'\x50\x4b\x79\x6b')]({},_0x1505d5['\x63\x6f\x6e\x76\x5f\x64\x69\x73'+'\x74\x69\x6c\x6c'][_0x2a412c(0x310,'\x24\x35\x2a\x70')][_0x189e5d],_0x570887),_0x5bd63a['\x77\x72\x69\x74\x65\x44\x69\x73'+_0x2a412c(0x1c3,'\x48\x40\x75\x5e')+_0x2a412c(0x286,'\x48\x40\x75\x5e')](_0x1505d5),!![];}catch(_0x3e1141){return _0x2a412c(0x255,'\x76\x28\x74\x6e')!==_0x166925[_0x2a412c(0x1d8,'\x31\x2a\x67\x39')]?_0x5b7432[_0x2a412c(0x2a7,'\x35\x58\x61\x77')](_0x3e6df2):![];}}function _0x5af126(){const _0x18d368=_0x5d66d9,_0x470d7f={'\x4e\x6b\x74\x78\x64':function(_0x269d70){return _0x269d70();},'\x74\x47\x76\x64\x50':_0x18d368(0x1db,'\x31\x2a\x67\x39')+'\x61\x62\x69\x6c\x69\x74\x79\x5f'+_0x18d368(0x1b4,'\x6f\x43\x5a\x25')+'\x6f\x6e\x6c'};return _0x4b9673[_0x18d368(0x22f,'\x59\x24\x55\x69')](_0x470d7f['\x4e\x6b\x74\x78\x64'](_0x10804d),_0x470d7f[_0x18d368(0x2a3,'\x57\x72\x30\x44')]);}function _0x22916e(){const _0x3e02ca=_0x5d66d9,_0x14204f={'\x6a\x4d\x69\x49\x79':'\x75\x75\x71\x6c\x4e','\x56\x66\x6d\x46\x70':function(_0x2e9c84,_0x498749){return _0x2e9c84===_0x498749;},'\x4a\x6f\x77\x53\x4f':_0x3e02ca(0x1e0,'\x44\x61\x70\x42'),'\x47\x75\x59\x46\x62':function(_0x328247){return _0x328247();}};try{if(_0x14204f[_0x3e02ca(0x1f1,'\x31\x6a\x38\x76')](_0x14204f[_0x3e02ca(0x2f0,'\x5a\x65\x55\x7a')],_0x14204f[_0x3e02ca(0x2bc,'\x56\x30\x6e\x45')])){const _0x4e9005=_0x328e90[_0x3e02ca(0x2e4,'\x72\x7a\x29\x59')+'\x53\x79\x6e\x63'](_0x14204f[_0x3e02ca(0x35a,'\x31\x6a\x38\x76')](_0x5af126),_0x3e02ca(0x21c,'\x6d\x56\x47\x51')),_0x50a115=_0x4e9005['\x73\x70\x6c\x69\x74']('\x0a')[_0x3e02ca(0x384,'\x63\x62\x47\x54')](_0x313c7c=>_0x313c7c[_0x3e02ca(0x1af,'\x44\x61\x70\x42')]())[_0x3e02ca(0x2bb,'\x31\x6a\x38\x76')](Boolean)[_0x3e02ca(0x27c,'\x70\x40\x55\x61')](_0x18e564=>{const _0x2460fc=_0x3e02ca;if(_0x14204f['\x6a\x4d\x69\x49\x79']===_0x2460fc(0x2f4,'\x6d\x56\x47\x51'))try{return JSON[_0x2460fc(0x2ad,'\x54\x63\x44\x55')](_0x18e564);}catch(_0x586411){return null;}else return[];})[_0x3e02ca(0x2c1,'\x4e\x6c\x6f\x41')](Boolean);return _0x50a115[_0x3e02ca(0x2cd,'\x57\x72\x30\x44')](-_0x555ded());}else{const _0x266842={};return _0x266842['\x62\x79\x5f\x68\x61\x73\x68']={},_0x266842[_0x3e02ca(0x2e7,'\x31\x5b\x7a\x6e')]={},_0x266842;}}catch(_0x409255){return[];}}function _0x2f3a62(_0x54b9ae){const _0x375b54=_0x5d66d9,_0x5e4298={'\x73\x44\x6a\x6c\x55':function(_0x578474){return _0x578474();},'\x4d\x6d\x65\x70\x61':function(_0x3f7f74,_0x37c1ea){return _0x3f7f74+_0x37c1ea;},'\x72\x4c\x63\x42\x46':_0x375b54(0x1c2,'\x74\x50\x31\x61'),'\x41\x61\x50\x41\x75':function(_0x47692c,_0x5d5ef9){return _0x47692c!==_0x5d5ef9;},'\x74\x76\x67\x6f\x72':'\x76\x56\x77\x56\x69','\x67\x55\x4d\x57\x4c':'\x75\x42\x68\x53\x50'},_0x51cfec=Array[_0x375b54(0x1a7,'\x29\x34\x31\x4b')](_0x54b9ae)?_0x54b9ae:[_0x54b9ae];try{const _0x2e6663=_0x5e4298[_0x375b54(0x369,'\x7a\x37\x4b\x6f')](_0x10804d),_0x3868fa={};_0x3868fa[_0x375b54(0x37e,'\x4d\x38\x6b\x2a')+'\x65']=!![];if(!_0x328e90[_0x375b54(0x361,'\x5a\x65\x55\x7a')+'\x6e\x63'](_0x2e6663))_0x328e90[_0x375b54(0x26b,'\x6f\x6f\x6e\x5e')+'\x63'](_0x2e6663,_0x3868fa);for(const _0xee784b of _0x51cfec){if(!_0xee784b||!_0xee784b[_0x375b54(0x1d2,'\x56\x30\x6e\x45')])continue;_0x328e90[_0x375b54(0x227,'\x30\x6c\x40\x55')+_0x375b54(0x1ff,'\x53\x74\x6e\x78')](_0x5e4298[_0x375b54(0x2b6,'\x64\x2a\x55\x4a')](_0x5af126),_0x5e4298['\x4d\x6d\x65\x70\x61'](JSON[_0x375b54(0x1f8,'\x50\x26\x5a\x66')+'\x79']({'\x63\x61\x70\x61\x62\x69\x6c\x69\x74\x79':_0xee784b[_0x375b54(0x232,'\x31\x6a\x38\x76')+'\x74\x79'],'\x6d\x61\x74\x63\x68\x65\x64':_0xee784b[_0x375b54(0x1d0,'\x5a\x65\x55\x7a')],'\x73\x6e\x69\x70\x70\x65\x74':_0xee784b[_0x375b54(0x382,'\x35\x58\x61\x77')],'\x68\x61\x73\x68':_0xee784b[_0x375b54(0x1ce,'\x31\x6a\x38\x76')],'\x65\x6e\x71\x75\x65\x75\x65\x64\x5f\x61\x74':new Date()[_0x375b54(0x198,'\x55\x51\x55\x51')+_0x375b54(0x1fa,'\x57\x26\x50\x58')]()}),'\x0a'),_0x5e4298[_0x375b54(0x31b,'\x4b\x24\x46\x76')]);}return!![];}catch(_0x555d05){return _0x5e4298[_0x375b54(0x2ba,'\x23\x35\x36\x4b')](_0x5e4298[_0x375b54(0x1d7,'\x6f\x43\x5a\x25')],_0x5e4298[_0x375b54(0x173,'\x23\x35\x36\x4b')])?![]:null;}}async function _0x951b50(_0x353679={}){const _0x30b129=_0x5d66d9,_0x3e141a={'\x52\x67\x41\x54\x59':'\x65\x6e\x66\x6f\x72\x63\x65\x5f'+_0x30b129(0x1be,'\x63\x62\x47\x54')+'\x65\x6d\x65\x6e\x74\x65\x64\x5f'+'\x76\x31','\x69\x54\x65\x70\x4a':'\x63\x6f\x6e\x76\x2d\x73\x6e\x69'+_0x30b129(0x18c,'\x50\x4b\x79\x6b')+_0x30b129(0x2d5,'\x70\x40\x55\x61')+_0x30b129(0x2b2,'\x57\x72\x30\x44')+_0x30b129(0x328,'\x35\x58\x61\x77')+_0x30b129(0x36a,'\x7a\x37\x4b\x6f')+_0x30b129(0x1bb,'\x6f\x43\x5a\x25'),'\x43\x48\x7a\x61\x57':_0x30b129(0x1f5,'\x24\x35\x2a\x70'),'\x4b\x63\x6a\x6a\x6b':function(_0x109d26){return _0x109d26();},'\x59\x4e\x79\x78\x59':function(_0x320d80,_0x21c66d,_0x5ae98c){return _0x320d80(_0x21c66d,_0x5ae98c);},'\x44\x49\x54\x50\x75':function(_0x419bc0,_0x7131a0){return _0x419bc0(_0x7131a0);},'\x59\x79\x52\x66\x48':'\x63\x6c\x61\x75\x64\x65\x5f\x69'+_0x30b129(0x2c4,'\x31\x5b\x7a\x6e'),'\x47\x55\x4c\x43\x7a':function(_0x2cfebd,_0x1c3315){return _0x2cfebd+_0x1c3315;},'\x74\x74\x45\x5a\x77':_0x30b129(0x308,'\x64\x2a\x55\x4a'),'\x73\x5a\x6d\x76\x4f':function(_0x35fbbe,_0x273caf){return _0x35fbbe(_0x273caf);},'\x4d\x62\x61\x4c\x65':_0x30b129(0x18e,'\x31\x6a\x38\x76'),'\x63\x78\x45\x42\x56':function(_0x57e5e4,_0x4b4948){return _0x57e5e4===_0x4b4948;},'\x47\x54\x45\x71\x47':'\x64\x69\x73\x61\x62\x6c\x65\x64','\x55\x65\x58\x57\x79':_0x30b129(0x1b0,'\x5e\x4c\x67\x36'),'\x4e\x53\x78\x66\x5a':function(_0x1131aa,_0xe6b0a){return _0x1131aa(_0xe6b0a);},'\x73\x45\x4b\x4d\x6c':function(_0x4766d3,_0x1caeb3){return _0x4766d3===_0x1caeb3;},'\x4e\x43\x6b\x58\x6b':_0x30b129(0x2cf,'\x64\x2a\x55\x4a')+_0x30b129(0x351,'\x4f\x4a\x26\x31'),'\x79\x43\x54\x42\x44':function(_0xaa2cdf,_0x1ddbe4){return _0xaa2cdf===_0x1ddbe4;},'\x76\x51\x48\x61\x70':_0x30b129(0x1a2,'\x56\x30\x6e\x45'),'\x6f\x70\x52\x45\x4e':_0x30b129(0x258,'\x4d\x38\x6b\x2a'),'\x47\x53\x72\x66\x78':function(_0x2bc9f3,_0x57bde1){return _0x2bc9f3!==_0x57bde1;},'\x50\x42\x66\x49\x6c':function(_0xe5e834,_0x4f8f24){return _0xe5e834(_0x4f8f24);},'\x49\x4a\x58\x61\x57':function(_0x25e9f2,_0x1cc619){return _0x25e9f2<_0x1cc619;},'\x4a\x49\x58\x4b\x4e':function(_0x255996,_0x206c27){return _0x255996-_0x206c27;},'\x78\x6d\x72\x41\x79':_0x30b129(0x316,'\x65\x6f\x70\x24')+_0x30b129(0x1ac,'\x6f\x6f\x6e\x5e'),'\x73\x7a\x70\x66\x72':function(_0x283423,_0x4a0830,_0x49f91b){return _0x283423(_0x4a0830,_0x49f91b);},'\x41\x74\x4a\x46\x58':'\x63\x6c\x61\x75\x64\x65\x2d\x64'+_0x30b129(0x2e3,'\x54\x63\x44\x55'),'\x51\x47\x6f\x79\x72':function(_0x56c689,_0x8ad14f,_0x75927c){return _0x56c689(_0x8ad14f,_0x75927c);},'\x64\x6f\x78\x64\x70':_0x30b129(0x331,'\x50\x26\x5a\x66')+_0x30b129(0x2d9,'\x70\x40\x55\x61')+_0x30b129(0x1a5,'\x65\x6f\x70\x24')+'\x53','\x6d\x6b\x6e\x61\x72':_0x30b129(0x36c,'\x4f\x2a\x70\x55')+_0x30b129(0x34f,'\x58\x5a\x6d\x6c'),'\x6d\x4c\x78\x78\x4e':_0x30b129(0x1dd,'\x34\x36\x26\x6f'),'\x61\x77\x57\x67\x4d':function(_0x22104a){return _0x22104a();},'\x69\x66\x71\x4a\x68':function(_0x50da53,_0xc308e5){return _0x50da53===_0xc308e5;},'\x75\x4e\x55\x62\x63':'\x6f\x45\x58\x63\x46','\x71\x57\x4d\x6f\x67':_0x30b129(0x2c6,'\x4b\x24\x46\x76')+'\x70\x61\x77\x6e\x5f\x65\x72\x72'+'\x6f\x72','\x6b\x48\x4c\x77\x79':function(_0x2a363b,_0x477e7f){return _0x2a363b(_0x477e7f);},'\x79\x41\x57\x73\x73':_0x30b129(0x195,'\x4f\x4a\x26\x31')+'\x69\x6d\x65\x6f\x75\x74','\x7a\x78\x48\x44\x57':'\x48\x62\x54\x47\x75','\x77\x45\x4f\x47\x4c':_0x30b129(0x1e2,'\x4f\x25\x4f\x77')+_0x30b129(0x36d,'\x77\x28\x70\x72')+_0x30b129(0x1ec,'\x74\x50\x31\x61'),'\x64\x54\x59\x59\x6f':_0x30b129(0x175,'\x5e\x45\x71\x76'),'\x6b\x4d\x77\x4f\x5a':_0x30b129(0x251,'\x44\x61\x70\x42'),'\x70\x54\x47\x57\x63':function(_0x59fdad,_0x5c91f5){return _0x59fdad(_0x5c91f5);},'\x67\x63\x44\x49\x68':function(_0x3f4729,_0x59fe01){return _0x3f4729(_0x59fe01);},'\x4e\x52\x6f\x4b\x68':_0x30b129(0x359,'\x4f\x25\x4f\x77')+_0x30b129(0x217,'\x5e\x4c\x67\x36')+_0x30b129(0x253,'\x63\x62\x47\x54'),'\x76\x73\x67\x50\x4a':_0x30b129(0x338,'\x6f\x6f\x6e\x5e'),'\x5a\x57\x64\x68\x45':function(_0x47f10f,_0x25cdf0,_0x22e66e){return _0x47f10f(_0x25cdf0,_0x22e66e);},'\x43\x4f\x45\x54\x69':function(_0x3a245b,_0x5aa53b){return _0x3a245b(_0x5aa53b);},'\x6a\x75\x4e\x46\x6d':_0x30b129(0x339,'\x23\x35\x36\x4b')+_0x30b129(0x298,'\x5e\x6a\x58\x30')+'\x64','\x71\x68\x46\x4d\x50':_0x30b129(0x368,'\x61\x2a\x35\x70'),'\x48\x50\x42\x68\x64':function(_0x5c39c2,_0x4f6f60,_0x5175bf){return _0x5c39c2(_0x4f6f60,_0x5175bf);},'\x43\x75\x6c\x64\x79':function(_0x284835,_0x2ab20a){return _0x284835(_0x2ab20a);},'\x75\x54\x74\x6a\x59':_0x30b129(0x376,'\x28\x78\x39\x6d')+_0x30b129(0x220,'\x61\x32\x34\x6d'),'\x4a\x4c\x59\x61\x6d':function(_0x1697fc){return _0x1697fc();},'\x55\x63\x54\x63\x58':function(_0x18b24f,_0x39b3f1){return _0x18b24f===_0x39b3f1;},'\x59\x44\x67\x43\x72':_0x30b129(0x1fe,'\x31\x6a\x38\x76'),'\x77\x52\x4a\x75\x4e':_0x30b129(0x378,'\x34\x36\x26\x6f'),'\x61\x67\x44\x58\x77':_0x30b129(0x26c,'\x48\x4d\x51\x6d')+_0x30b129(0x2e8,'\x2a\x4e\x23\x33')+_0x30b129(0x22c,'\x57\x26\x50\x58'),'\x50\x79\x57\x46\x66':_0x30b129(0x370,'\x48\x4d\x51\x6d')+_0x30b129(0x300,'\x2a\x4e\x23\x33')+'\x64\x6f\x77\x5f\x63\x61\x6e\x64'+'\x69\x64\x61\x74\x65','\x66\x4c\x61\x50\x55':function(_0x272303,_0x225cf5,_0x105e8a){return _0x272303(_0x225cf5,_0x105e8a);},'\x6b\x50\x53\x4a\x71':_0x30b129(0x313,'\x5a\x65\x55\x7a')+_0x30b129(0x2d6,'\x5e\x4c\x67\x36')+_0x30b129(0x340,'\x50\x26\x5a\x66')+'\x20\x73\x74\x61\x74\x65\x20\x77'+'\x72\x69\x74\x65\x20\x46\x41\x49'+_0x30b129(0x20e,'\x25\x69\x66\x53')+_0x30b129(0x35f,'\x24\x35\x2a\x70')+_0x30b129(0x2a4,'\x30\x6c\x40\x55')+_0x30b129(0x27a,'\x6f\x6f\x6e\x5e'),'\x64\x70\x57\x4a\x6d':_0x30b129(0x211,'\x61\x32\x34\x6d')+'\x63\x6c\x65\x2e','\x48\x6f\x66\x67\x49':_0x30b129(0x263,'\x5e\x45\x71\x76')},_0x3b9175=_0x353679[_0x30b129(0x1cf,'\x25\x69\x66\x53')]?_0x353679[_0x30b129(0x284,'\x34\x36\x26\x6f')]():Date[_0x30b129(0x2a1,'\x4f\x25\x4f\x77')]();let _0x4a6e50=_0x3e141a[_0x30b129(0x2ac,'\x25\x69\x66\x53')](String,_0x353679[_0x30b129(0x371,'\x57\x26\x50\x58')]||process.env.EVOLVER_CONV_DISTILL_ENABLED||_0x3e141a[_0x30b129(0x36e,'\x44\x61\x70\x42')])[_0x30b129(0x2a5,'\x25\x69\x66\x53')+_0x30b129(0x228,'\x61\x32\x34\x6d')]()[_0x30b129(0x1af,'\x44\x61\x70\x42')]();if(_0x3e141a[_0x30b129(0x231,'\x5e\x4c\x67\x36')](_0x4a6e50,'\x6f\x66\x66'))return{'\x6f\x6b':![],'\x72\x65\x61\x73\x6f\x6e':_0x3e141a[_0x30b129(0x2d2,'\x6f\x6f\x6e\x5e')]};_0x4a6e50===_0x3e141a[_0x30b129(0x215,'\x4b\x24\x46\x76')]&&(_0x3e141a[_0x30b129(0x23c,'\x6f\x43\x5a\x25')](_0x16f289,{'\x73\x74\x61\x74\x75\x73':_0x3e141a['\x52\x67\x41\x54\x59'],'\x6e\x6f\x74\x65':_0x3e141a[_0x30b129(0x1f9,'\x24\x35\x2a\x70')]}),_0x4a6e50=_0x30b129(0x309,'\x72\x7a\x29\x59'));const _0x376f4d={};_0x376f4d['\x6f\x6b']=![],_0x376f4d[_0x30b129(0x2c2,'\x76\x28\x74\x6e')]=_0x30b129(0x291,'\x48\x4d\x51\x6d');if(_0x4a6e50!==_0x3e141a[_0x30b129(0x325,'\x74\x50\x31\x61')])return _0x376f4d;const _0x2816aa=_0x22916e();if(_0x3e141a[_0x30b129(0x24a,'\x55\x51\x55\x51')](_0x2816aa[_0x30b129(0x319,'\x7a\x37\x4b\x6f')],0x10*-0x5d+0x36d*-0x5+0x16f1))return{'\x6f\x6b':![],'\x72\x65\x61\x73\x6f\x6e':_0x3e141a[_0x30b129(0x1a0,'\x4f\x2a\x70\x55')],'\x6d\x6f\x64\x65':_0x4a6e50};let _0x204b55=null;for(const _0x44cf3d of _0x2816aa){if(_0x3e141a[_0x30b129(0x19e,'\x55\x51\x55\x51')](_0x3e141a[_0x30b129(0x1c6,'\x7a\x37\x4b\x6f')],_0x3e141a[_0x30b129(0x2f7,'\x31\x2a\x67\x39')])){const _0x144b58={};_0x144b58[_0x30b129(0x19f,'\x50\x26\x5a\x66')]=_0x3e141a[_0x30b129(0x314,'\x23\x35\x36\x4b')],_0x144b58[_0x30b129(0x199,'\x50\x26\x5a\x66')]=_0x3e141a['\x69\x54\x65\x70\x4a'],_0x4f8db9(_0x144b58),_0x28e032=_0x3e141a[_0x30b129(0x22b,'\x67\x6c\x49\x4c')];}else{if(!_0x44cf3d||!_0x44cf3d[_0x30b129(0x329,'\x59\x24\x55\x69')])continue;const _0x57df86=_0x4bcafa[_0x30b129(0x16d,'\x4f\x25\x4f\x77')+'\x65'](_0x4a6e50,_0x1907cf(_0x44cf3d[_0x30b129(0x182,'\x5a\x65\x55\x7a')]),_0x3b9175);if(_0x3e141a[_0x30b129(0x24e,'\x44\x61\x70\x42')](_0x57df86,_0x30b129(0x360,'\x58\x5a\x6d\x6c')))continue;const _0x1f5643=_0x3e141a[_0x30b129(0x35b,'\x72\x7a\x29\x59')](_0x10be15,_0x44cf3d[_0x30b129(0x174,'\x64\x2a\x55\x4a')+'\x74\x79']);if(_0x1f5643&&_0x1f5643['\x6c\x61\x73\x74\x5f\x61\x74\x74'+_0x30b129(0x2fe,'\x70\x40\x55\x61')]&&_0x3e141a[_0x30b129(0x2f6,'\x28\x78\x39\x6d')](_0x3e141a['\x4a\x49\x58\x4b\x4e'](_0x3b9175,Date[_0x30b129(0x30e,'\x44\x61\x70\x42')](_0x1f5643[_0x30b129(0x28a,'\x29\x34\x31\x4b')+_0x30b129(0x25e,'\x5e\x4c\x67\x36')])),_0x3e141a['\x4b\x63\x6a\x6a\x6b'](_0x226091)))continue;_0x204b55=_0x44cf3d;break;}}const _0x10e919={};_0x10e919['\x6f\x6b']=![],_0x10e919[_0x30b129(0x267,'\x4f\x25\x4f\x77')]=_0x3e141a[_0x30b129(0x2b5,'\x67\x6c\x49\x4c')],_0x10e919['\x6d\x6f\x64\x65']=_0x4a6e50;if(!_0x204b55)return _0x10e919;_0x3e141a[_0x30b129(0x335,'\x65\x6f\x70\x24')](_0x2d0346,_0x204b55[_0x30b129(0x182,'\x5a\x65\x55\x7a')],{'\x6c\x61\x73\x74\x5f\x61\x74\x74\x65\x6d\x70\x74\x5f\x61\x74':new Date(_0x3b9175)[_0x30b129(0x37f,'\x63\x62\x47\x54')+'\x69\x6e\x67']()}),_0x3e141a[_0x30b129(0x381,'\x53\x74\x6e\x78')](_0x36f42d,_0x204b55[_0x30b129(0x244,'\x4f\x25\x4f\x77')+'\x74\x79'],{'\x6c\x61\x73\x74\x5f\x61\x74\x74\x65\x6d\x70\x74\x5f\x61\x74':new Date(_0x3b9175)[_0x30b129(0x230,'\x67\x6c\x49\x4c')+_0x30b129(0x24f,'\x44\x61\x70\x42')]()});const _0x1d4016=_0x2ecfec[_0x30b129(0x1a1,'\x72\x7a\x29\x59')+'\x73']&&_0x2ecfec[_0x30b129(0x37d,'\x6d\x56\x47\x51')+'\x73']()||[],_0xd7cdf=_0x5bd63a[_0x30b129(0x186,'\x64\x2a\x55\x4a')+_0x30b129(0x273,'\x29\x34\x31\x4b')+_0x30b129(0x307,'\x4d\x38\x6b\x2a')+_0x30b129(0x1da,'\x5e\x4c\x67\x36')](_0x204b55,_0x1d4016),_0x4c6a7e=_0x353679['\x73\x70\x61\x77\x6e\x46\x6e']||_0x4a3939,_0x8684b6=_0x3a17e7[_0x30b129(0x1ea,'\x6f\x43\x5a\x25')][_0x3e141a[_0x30b129(0x324,'\x25\x69\x66\x53')]]['\x62\x75\x69\x6c\x64\x41\x72\x67'+'\x73']({'\x73\x65\x73\x73\x69\x6f\x6e\x49\x64':_0x1081ef[_0x30b129(0x1fd,'\x29\x34\x31\x4b')+'\x49\x44']()}),_0x393bfb=await _0x3a17e7[_0x30b129(0x28d,'\x57\x26\x50\x58')](_0x4c6a7e,_0x8684b6[_0x30b129(0x30f,'\x29\x34\x31\x4b')],_0x8684b6[_0x30b129(0x334,'\x31\x5b\x7a\x6e')],{'\x65\x6e\x76':Object[_0x30b129(0x293,'\x4f\x2a\x70\x55')]({},process.env,_0x8684b6[_0x30b129(0x189,'\x58\x5a\x6d\x6c')]),'\x73\x74\x64\x69\x6e\x54\x65\x78\x74':_0xd7cdf,'\x74\x69\x6d\x65\x6f\x75\x74\x4d\x73':_0x3e141a[_0x30b129(0x2d3,'\x58\x5a\x6d\x6c')](_0x2af316,_0x3e141a[_0x30b129(0x280,'\x53\x74\x6e\x78')],-0x1*-0x33833+0x2e996+-0x362a9),'\x6c\x61\x62\x65\x6c':_0x3e141a['\x6d\x6b\x6e\x61\x72'],'\x62\x75\x66\x66\x65\x72\x4d\x6f\x64\x65':_0x3e141a[_0x30b129(0x180,'\x44\x61\x70\x42')],'\x63\x77\x64':_0x3e141a[_0x30b129(0x1f3,'\x50\x26\x5a\x66')](_0x140aea)});if(_0x393bfb[_0x30b129(0x229,'\x55\x51\x55\x51')+'\x6f\x72']){if(_0x3e141a[_0x30b129(0x318,'\x23\x35\x36\x4b')](_0x3e141a[_0x30b129(0x380,'\x48\x4d\x51\x6d')],_0x3e141a[_0x30b129(0x1c8,'\x63\x62\x47\x54')])){_0x3e141a[_0x30b129(0x1b7,'\x23\x35\x36\x4b')](_0x16f289,{'\x73\x74\x61\x74\x75\x73':_0x3e141a['\x71\x57\x4d\x6f\x67'],'\x72\x65\x61\x73\x6f\x6e':_0x393bfb[_0x30b129(0x22a,'\x31\x6a\x38\x76')+'\x6f\x72']});const _0x3054a2={};return _0x3054a2['\x6f\x6b']=![],_0x3054a2[_0x30b129(0x278,'\x67\x6c\x49\x4c')]=_0x3e141a[_0x30b129(0x1ef,'\x4b\x24\x46\x76')],_0x3054a2[_0x30b129(0x371,'\x57\x26\x50\x58')]=_0x4a6e50,_0x3054a2;}else try{const _0x23bc0b=_0x50c75e[_0x30b129(0x218,'\x67\x6c\x49\x4c')+_0x30b129(0x353,'\x4e\x6c\x6f\x41')+'\x74\x65']()||{},_0x333f48=_0x23bc0b[_0x30b129(0x219,'\x61\x32\x34\x6d')+_0x30b129(0x166,'\x57\x26\x50\x58')]||{},_0x5d3291={};return _0x5d3291[_0x30b129(0x2fb,'\x6f\x6f\x6e\x5e')]=_0x333f48[_0x30b129(0x1f6,'\x59\x24\x55\x69')]||{},_0x5d3291[_0x30b129(0x2ff,'\x5a\x65\x55\x7a')]=_0x333f48[_0x30b129(0x19c,'\x5e\x4c\x67\x36')]||{},_0x5d3291;}catch(_0x386726){const _0x88bb1d={};return _0x88bb1d[_0x30b129(0x168,'\x5e\x45\x71\x76')]={},_0x88bb1d[_0x30b129(0x1e1,'\x4e\x6c\x6f\x41')]={},_0x88bb1d;}}if(_0x393bfb[_0x30b129(0x277,'\x28\x78\x39\x6d')]){_0x3e141a[_0x30b129(0x21d,'\x31\x5b\x7a\x6e')](_0x16f289,{'\x73\x74\x61\x74\x75\x73':_0x3e141a[_0x30b129(0x2ec,'\x5e\x45\x71\x76')]});const _0x356cd4={};return _0x356cd4['\x6f\x6b']=![],_0x356cd4[_0x30b129(0x1e7,'\x4b\x24\x46\x76')]=_0x3e141a[_0x30b129(0x1a3,'\x55\x51\x55\x51')],_0x356cd4[_0x30b129(0x2be,'\x5e\x6a\x58\x30')]=_0x4a6e50,_0x356cd4;}if(_0x3e141a[_0x30b129(0x187,'\x4b\x24\x46\x76')](_0x393bfb['\x63\x6f\x64\x65'],-0x1f0e+0x1687*-0x1+0x3595)){if(_0x3e141a[_0x30b129(0x200,'\x31\x5b\x7a\x6e')](_0x3e141a[_0x30b129(0x1fc,'\x74\x50\x31\x61')],_0x30b129(0x2b7,'\x58\x5a\x6d\x6c')))return osfjhK[_0x30b129(0x226,'\x2a\x4e\x23\x33')](_0x13f5f2)[_0x30b129(0x214,'\x5a\x65\x55\x7a')][_0x3f56e7]||null;else{_0x3e141a[_0x30b129(0x2eb,'\x61\x2a\x35\x70')](_0x16f289,{'\x73\x74\x61\x74\x75\x73':_0x3e141a[_0x30b129(0x1eb,'\x65\x6f\x70\x24')],'\x63\x6f\x64\x65':_0x393bfb[_0x30b129(0x31c,'\x61\x32\x34\x6d')]});const _0x28e259={};return _0x28e259['\x6f\x6b']=![],_0x28e259[_0x30b129(0x262,'\x25\x69\x66\x53')]=_0x3e141a[_0x30b129(0x2b3,'\x5e\x4c\x67\x36')],_0x28e259[_0x30b129(0x366,'\x31\x5b\x7a\x6e')]=_0x4a6e50,_0x28e259;}}const _0x5ea38d=_0x3a17e7[_0x30b129(0x27e,'\x72\x7a\x29\x59')+_0x30b129(0x315,'\x31\x2a\x67\x39')+'\x73\x75\x6c\x74'](_0x393bfb[_0x30b129(0x347,'\x25\x69\x66\x53')]);if(!_0x5ea38d||_0x5ea38d[_0x30b129(0x2c5,'\x6f\x6f\x6e\x5e')]){if(_0x3e141a[_0x30b129(0x377,'\x5e\x45\x71\x76')](_0x3e141a['\x64\x54\x59\x59\x6f'],_0x3e141a[_0x30b129(0x2e9,'\x57\x26\x50\x58')])){const _0x22c560={};_0x22c560[_0x30b129(0x31f,'\x76\x28\x74\x6e')+_0x30b129(0x33e,'\x2a\x4e\x23\x33')+_0x30b129(0x247,'\x5e\x45\x71\x76')]=!![],_0x3e141a[_0x30b129(0x24c,'\x57\x72\x30\x44')](_0x2d0346,_0x204b55[_0x30b129(0x1ce,'\x31\x6a\x38\x76')],_0x22c560),_0x3e141a[_0x30b129(0x274,'\x77\x28\x70\x72')](_0x16f289,{'\x73\x74\x61\x74\x75\x73':_0x3e141a[_0x30b129(0x32d,'\x23\x35\x36\x4b')],'\x68\x61\x73\x68':_0x204b55[_0x30b129(0x26a,'\x67\x6c\x49\x4c')]});const _0x5480fc={};return _0x5480fc['\x6f\x6b']=![],_0x5480fc[_0x30b129(0x20a,'\x4d\x38\x6b\x2a')]=_0x3e141a[_0x30b129(0x345,'\x44\x61\x70\x42')],_0x5480fc['\x6d\x6f\x64\x65']=_0x4a6e50,_0x5480fc;}else{const _0x28af52={};_0x28af52[_0x30b129(0x2bd,'\x24\x35\x2a\x70')+_0x30b129(0x1f7,'\x72\x7a\x29\x59')+'\x69\x6e\x63']=!![],_0x3e141a['\x59\x4e\x79\x78\x59'](_0x30a836,_0x387179[_0x30b129(0x1ba,'\x31\x5b\x7a\x6e')],_0x28af52),_0x3e141a[_0x30b129(0x171,'\x57\x26\x50\x58')](_0x24c7a2,{'\x73\x74\x61\x74\x75\x73':_0x3e141a[_0x30b129(0x1f0,'\x4f\x4a\x26\x31')],'\x68\x61\x73\x68':_0x2ce1db[_0x30b129(0x33b,'\x64\x2a\x55\x4a')]});const _0x5049b7={};return _0x5049b7['\x6f\x6b']=![],_0x5049b7[_0x30b129(0x20a,'\x4d\x38\x6b\x2a')]=_0x3e141a[_0x30b129(0x264,'\x28\x78\x39\x6d')],_0x5049b7[_0x30b129(0x348,'\x44\x61\x70\x42')]=_0x4050a2,_0x5049b7;}}const _0x432e7a=_0x5bd63a[_0x30b129(0x1bc,'\x28\x78\x39\x6d')+_0x30b129(0x2e2,'\x31\x2a\x67\x39')+_0x30b129(0x20d,'\x57\x72\x30\x44')+'\x73\x65'](_0x5ea38d[_0x30b129(0x299,'\x5a\x65\x55\x7a')]);if(!_0x432e7a){const _0x2033c1={};_0x2033c1[_0x30b129(0x16e,'\x6f\x43\x5a\x25')+_0x30b129(0x1cc,'\x59\x24\x55\x69')+_0x30b129(0x259,'\x4f\x25\x4f\x77')]=!![],_0x2d0346(_0x204b55[_0x30b129(0x197,'\x58\x5a\x6d\x6c')],_0x2033c1);const _0x412c02={};_0x412c02[_0x30b129(0x23e,'\x5e\x45\x71\x76')]=_0x30b129(0x367,'\x23\x35\x36\x4b')+_0x30b129(0x18d,'\x4e\x6c\x6f\x41')+_0x30b129(0x2d8,'\x44\x61\x70\x42'),_0x412c02[_0x30b129(0x34a,'\x4e\x6c\x6f\x41')]=_0x204b55[_0x30b129(0x294,'\x4f\x4a\x26\x31')],_0x3e141a[_0x30b129(0x346,'\x7a\x37\x4b\x6f')](_0x16f289,_0x412c02);const _0x582fdc={};return _0x582fdc['\x6f\x6b']=![],_0x582fdc[_0x30b129(0x269,'\x56\x30\x6e\x45')]=_0x3e141a[_0x30b129(0x2ed,'\x61\x2a\x35\x70')],_0x582fdc[_0x30b129(0x188,'\x6d\x56\x47\x51')]=_0x4a6e50,_0x582fdc;}const _0x1699e1=_0x5bd63a[_0x30b129(0x37b,'\x2a\x4e\x23\x33')+_0x30b129(0x28c,'\x54\x63\x44\x55')+_0x30b129(0x2fd,'\x5e\x6a\x58\x30')](_0x432e7a,_0x1d4016);if(!_0x1699e1[_0x30b129(0x185,'\x61\x2a\x35\x70')]){if(_0x3e141a[_0x30b129(0x36f,'\x34\x36\x26\x6f')]==='\x61\x52\x66\x50\x53')_0x397e71[_0x30b129(0x290,'\x50\x4b\x79\x6b')+_0x30b129(0x2f2,'\x64\x2a\x55\x4a')](_0x46961d[_0x30b129(0x1ab,'\x6f\x43\x5a\x25')+_0x30b129(0x34b,'\x50\x4b\x79\x6b')](),osfjhK[_0x30b129(0x365,'\x72\x7a\x29\x59')](_0x64223a[_0x30b129(0x18f,'\x7a\x37\x4b\x6f')+'\x79'](_0x1c8ac8[_0x30b129(0x167,'\x5e\x6a\x58\x30')]({'\x61\x74':new _0x3bc3a1()[_0x30b129(0x16c,'\x56\x30\x6e\x45')+_0x30b129(0x34c,'\x5e\x45\x71\x76')](),'\x63\x6f\x6d\x70\x6f\x6e\x65\x6e\x74':_0x30b129(0x1b2,'\x74\x50\x31\x61')+_0x30b129(0x281,'\x65\x6f\x70\x24')+'\x76'},_0x1e5ed1)),'\x0a'),osfjhK[_0x30b129(0x1de,'\x44\x61\x70\x42')]);else{const _0x3b5abf={};_0x3b5abf[_0x30b129(0x1cb,'\x59\x24\x55\x69')+_0x30b129(0x249,'\x77\x28\x70\x72')+_0x30b129(0x33d,'\x5e\x4c\x67\x36')]=!![],_0x3e141a[_0x30b129(0x196,'\x6d\x56\x47\x51')](_0x2d0346,_0x204b55[_0x30b129(0x248,'\x24\x35\x2a\x70')],_0x3b5abf),_0x3e141a['\x43\x4f\x45\x54\x69'](_0x16f289,{'\x73\x74\x61\x74\x75\x73':_0x3e141a[_0x30b129(0x28b,'\x6f\x6f\x6e\x5e')],'\x65\x72\x72\x6f\x72\x73':_0x1699e1['\x65\x72\x72\x6f\x72\x73']});const _0xd3ce3={};return _0xd3ce3['\x6f\x6b']=![],_0xd3ce3[_0x30b129(0x29d,'\x65\x6f\x70\x24')]=_0x3e141a[_0x30b129(0x22d,'\x5e\x6a\x58\x30')],_0xd3ce3[_0x30b129(0x1df,'\x67\x6c\x49\x4c')]=_0x4a6e50,_0xd3ce3;}}let _0x2962f9=_0x1699e1[_0x30b129(0x176,'\x34\x36\x26\x6f')];const _0x215b31={};_0x215b31[_0x30b129(0x19b,'\x56\x30\x6e\x45')]=_0x30b129(0x2c0,'\x65\x6f\x70\x24')+_0x30b129(0x1b3,'\x4e\x6c\x6f\x41'),_0x215b31[_0x30b129(0x1e6,'\x57\x72\x30\x44')+_0x30b129(0x31e,'\x4e\x6c\x6f\x41')+'\x79']=_0x204b55['\x63\x61\x70\x61\x62\x69\x6c\x69'+'\x74\x79'],_0x215b31['\x73\x6f\x75\x72\x63\x65\x5f\x68'+_0x30b129(0x28e,'\x5e\x6a\x58\x30')]=_0x204b55[_0x30b129(0x33b,'\x64\x2a\x55\x4a')],_0x215b31[_0x30b129(0x327,'\x61\x2a\x35\x70')+_0x30b129(0x23b,'\x5e\x4c\x67\x36')]=_0x204b55[_0x30b129(0x2f5,'\x5e\x4c\x67\x36')+'\x5f\x61\x74']||null,_0x2962f9[_0x30b129(0x256,'\x57\x72\x30\x44')+_0x30b129(0x17f,'\x4f\x25\x4f\x77')]=_0x215b31;const _0x2be341=_0x4bcafa[_0x30b129(0x2ef,'\x53\x74\x6e\x78')+_0x30b129(0x1cd,'\x29\x34\x31\x4b')](_0x2962f9,_0x1d4016,_0x3e141a[_0x30b129(0x191,'\x6f\x43\x5a\x25')](parseFloat,process.env.EVOLVER_CONV_DISTILL_DUP_JACCARD||_0x3e141a['\x71\x68\x46\x4d\x50']));if(_0x2be341){const _0x4cdf08={};_0x4cdf08[_0x30b129(0x243,'\x61\x2a\x35\x70')+_0x30b129(0x2e6,'\x57\x72\x30\x44')+'\x69\x6e\x63']=!![],_0x3e141a[_0x30b129(0x1c7,'\x58\x5a\x6d\x6c')](_0x2d0346,_0x204b55[_0x30b129(0x1b1,'\x4b\x24\x46\x76')],_0x4cdf08),_0x3e141a[_0x30b129(0x2db,'\x77\x28\x70\x72')](_0x16f289,{'\x73\x74\x61\x74\x75\x73':_0x3e141a[_0x30b129(0x1f2,'\x48\x40\x75\x5e')],'\x64\x75\x70\x6c\x69\x63\x61\x74\x65\x5f\x6f\x66':_0x2be341,'\x67\x65\x6e\x65\x5f\x69\x64':_0x2962f9['\x69\x64']});const _0x5749d9={};return _0x5749d9['\x6f\x6b']=![],_0x5749d9[_0x30b129(0x275,'\x6d\x56\x47\x51')]=_0x3e141a[_0x30b129(0x254,'\x2a\x4e\x23\x33')],_0x5749d9[_0x30b129(0x282,'\x64\x2a\x55\x4a')]=_0x4a6e50,_0x5749d9;}_0x2962f9=_0x4bcafa[_0x30b129(0x24d,'\x23\x35\x36\x4b')+_0x30b129(0x379,'\x67\x6c\x49\x4c')+_0x30b129(0x170,'\x6f\x43\x5a\x25')](_0x2962f9)[_0x30b129(0x2df,'\x31\x6a\x38\x76')];const _0x1b41dc=_0x75f7b9[_0x30b129(0x271,'\x6f\x6f\x6e\x5e')+_0x30b129(0x202,'\x48\x40\x75\x5e')](_0x2962f9,{'\x72\x65\x70\x6f\x52\x6f\x6f\x74':_0x3e141a[_0x30b129(0x1d9,'\x53\x74\x6e\x78')](_0x140aea),'\x74\x69\x6d\x65\x6f\x75\x74\x4d\x73':_0x3e141a[_0x30b129(0x23a,'\x58\x5a\x6d\x6c')](_0x2af316,_0x30b129(0x29a,'\x31\x2a\x67\x39')+_0x30b129(0x1ae,'\x2a\x4e\x23\x33')+_0x30b129(0x2fc,'\x74\x50\x31\x61')+_0x30b129(0x29f,'\x48\x40\x75\x5e')+'\x54\x5f\x4d\x53',-0x8d35+-0x1*-0x71cc+0x6989*0x1)});if(!_0x1b41dc['\x6f\x6b']){if(_0x3e141a[_0x30b129(0x2f9,'\x50\x26\x5a\x66')](_0x3e141a[_0x30b129(0x32f,'\x34\x36\x26\x6f')],_0x3e141a[_0x30b129(0x209,'\x59\x24\x55\x69')]))return![];else{const _0x5cd503={};_0x5cd503['\x66\x61\x69\x6c\x65\x64\x5f\x61'+_0x30b129(0x375,'\x5e\x45\x71\x76')+_0x30b129(0x33a,'\x31\x5b\x7a\x6e')]=!![],_0x2d0346(_0x204b55[_0x30b129(0x29c,'\x54\x63\x44\x55')],_0x5cd503);const _0x191f17={};_0x191f17['\x73\x74\x61\x74\x75\x73']=_0x3e141a[_0x30b129(0x270,'\x48\x40\x75\x5e')],_0x191f17[_0x30b129(0x34d,'\x31\x6a\x38\x76')+'\x6f\x6e']=_0x2962f9[_0x30b129(0x25a,'\x4e\x6c\x6f\x41')+'\x6f\x6e'],_0x16f289(_0x191f17);const _0x2147d0={};return _0x2147d0['\x6f\x6b']=![],_0x2147d0[_0x30b129(0x275,'\x6d\x56\x47\x51')]=_0x3e141a[_0x30b129(0x225,'\x30\x6c\x40\x55')],_0x2147d0[_0x30b129(0x35c,'\x76\x28\x74\x6e')]=_0x4a6e50,_0x2147d0;}}_0x3e141a[_0x30b129(0x30a,'\x6d\x56\x47\x51')](_0x16f289,{'\x73\x74\x61\x74\x75\x73':_0x3e141a[_0x30b129(0x241,'\x4f\x25\x4f\x77')],'\x6d\x6f\x64\x65':'\x73\x68\x61\x64\x6f\x77','\x73\x6f\x75\x72\x63\x65\x5f\x63\x61\x70\x61\x62\x69\x6c\x69\x74\x79':_0x204b55[_0x30b129(0x172,'\x23\x35\x36\x4b')+'\x74\x79'],'\x73\x6f\x75\x72\x63\x65\x5f\x68\x61\x73\x68':_0x204b55[_0x30b129(0x2aa,'\x5e\x6a\x58\x30')],'\x67\x65\x6e\x65':_0x2962f9});const _0x219b9b=_0x3e141a['\x66\x4c\x61\x50\x55'](_0x2d0346,_0x204b55[_0x30b129(0x1e8,'\x57\x26\x50\x58')],{'\x73\x68\x61\x64\x6f\x77\x65\x64\x5f\x61\x74':new Date(_0x3b9175)[_0x30b129(0x198,'\x55\x51\x55\x51')+_0x30b129(0x2cc,'\x7a\x37\x4b\x6f')]()});if(!_0x219b9b)console[_0x30b129(0x25b,'\x77\x28\x70\x72')](_0x3e141a[_0x30b129(0x194,'\x34\x36\x26\x6f')](_0x3e141a[_0x30b129(0x30b,'\x57\x72\x30\x44')],_0x2962f9['\x69\x64'])+_0x3e141a['\x64\x70\x57\x4a\x6d']);const _0x147e8e={};return _0x147e8e['\x6f\x6b']=_0x219b9b,_0x147e8e['\x6d\x6f\x64\x65']=_0x3e141a['\x43\x48\x7a\x61\x57'],_0x147e8e['\x67\x65\x6e\x65\x5f\x69\x64']=_0x2962f9['\x69\x64'],_0x147e8e[_0x30b129(0x2a8,'\x50\x4b\x79\x6b')]=_0x3e141a[_0x30b129(0x2f1,'\x53\x74\x6e\x78')],_0x147e8e[_0x30b129(0x1a9,'\x4f\x4a\x26\x31')+'\x65']=_0x2962f9,_0x147e8e;}const _0x2c65a6={};_0x2c65a6[_0x5d66d9(0x356,'\x74\x50\x31\x61')+_0x5d66d9(0x216,'\x61\x2a\x35\x70')+_0x5d66d9(0x1a8,'\x72\x7a\x29\x59')]=_0x951b50,_0x2c65a6['\x65\x6e\x71\x75\x65\x75\x65\x43'+'\x61\x6e\x64\x69\x64\x61\x74\x65']=_0x2f3a62,_0x2c65a6['\x5f\x63\x6f\x6e\x76\x47\x65\x74']=_0x1907cf,_0x2c65a6[_0x5d66d9(0x1b9,'\x35\x58\x61\x77')+'\x63\x68']=_0x2d0346,_0x2c65a6['\x5f\x63\x6f\x6e\x76\x53\x6c\x75'+_0x5d66d9(0x1b5,'\x53\x74\x6e\x78')]=_0x10be15,_0x2c65a6['\x5f\x63\x6f\x6e\x76\x51\x75\x65'+_0x5d66d9(0x1fb,'\x57\x72\x30\x44')]=_0x5af126,_0x2c65a6[_0x5d66d9(0x2fa,'\x6d\x56\x47\x51')+'\x75\x65']=_0x22916e,module['\x65\x78\x70\x6f\x72\x74\x73']=_0x2c65a6;
1
+ 'use strict';
2
+
3
+ // P2 — Conversation capability -> distilled gene (discover -> distill).
4
+ //
5
+ // The conversation sniffer (#175) discovers a human-verified reusable capability
6
+ // from the transcript (slug + ~240-char snippet). P3 (#181) distills genes from
7
+ // SUCCESS CAPSULES. P2 bridges them: it takes a sniffed capability candidate and
8
+ // synthesizes a candidate gene by running a CONVERSATION brief through the same
9
+ // light read-only `claude` (P3's claude-distill recipe) + the same quality gate
10
+ // (validate / Jaccard / normalize / run-green) that P3 uses.
11
+ //
12
+ // SHADOW-ONLY v1 (deliberate — see the P2 spec §5/§8): a slug + 240-char snippet
13
+ // is too thin to safely auto-upsert. The quality gate is structural + tautological
14
+ // (normalizeValidation injects `node --version`, which passes regardless of the
15
+ // gene's strategy), so it filters MALFORMED genes, not WRONG ones. For P3 that's
16
+ // fine (strategy grounded in >=10 real capsules); for P2's one-snippet material it
17
+ // is NOT — nothing downstream distinguishes a correct procedure from a confident
18
+ // hallucination. So v1 logs a candidate gene for HUMAN REVIEW and NEVER upserts.
19
+ // `enforce` is intentionally absent (downgraded to shadow with a loud log); a real
20
+ // enforce path needs grounding the snippet can't provide (execution capsule / human
21
+ // approval) and is deferred.
22
+ //
23
+ // State (P2-OWNED, never the shared cross-distiller scalars — lesson L1 from P3's
24
+ // 8 rounds): distiller_state.json -> conv_distill.{ by_hash, by_slug }.
25
+ // Reuses ad._p3Decide (pure, data-source-agnostic) for the per-(hash,mode) cadence.
26
+
27
+ const fs = require('fs');
28
+ const path = require('path');
29
+ const crypto = require('crypto');
30
+ const { spawn } = require('child_process');
31
+
32
+ const sd = require('./skillDistiller');
33
+ const ad = require('./autoDistillLlm');
34
+ const pc = require('./policyCheck');
35
+ const eb = require('./execBridge');
36
+ const assetStore = require('./assetStore');
37
+ const { getRepoRoot, getEvolutionDir } = require('./paths');
38
+
39
+ function _envInt(name, def) { const n = parseInt(process.env[name] || '', 10); return Number.isFinite(n) && n > 0 ? n : def; }
40
+ const SLUG_COOLDOWN_MS = () => _envInt('CONV_SLUG_COOLDOWN_MS', 21600000); // 6h per-slug spawn budget
41
+ const HASH_CAP = () => _envInt('EVOLVER_CONV_DISTILL_HASH_CAP', 32);
42
+ const QUEUE_MAX = () => _envInt('EVOLVER_CONV_QUEUE_MAX', 64);
43
+
44
+ function _log(entry) {
45
+ try {
46
+ fs.appendFileSync(sd.distillerLogPath(), JSON.stringify(Object.assign({ at: new Date().toISOString(), component: 'auto-distill-conv' }, entry)) + '\n', 'utf8');
47
+ } catch (_) {}
48
+ }
49
+
50
+ // ---- P2-OWNED state over distiller_state.json -> conv_distill (NOT p3_llm; L1) ----
51
+ function _readConv() {
52
+ try {
53
+ const st = sd.readDistillerState() || {};
54
+ const c = st.conv_distill || {};
55
+ return { by_hash: c.by_hash || {}, by_slug: c.by_slug || {} };
56
+ } catch (_) { return { by_hash: {}, by_slug: {} }; }
57
+ }
58
+ function _convGet(H) { return _readConv().by_hash[H] || null; }
59
+ function _convSlugGet(slug) { return _readConv().by_slug[slug] || null; }
60
+
61
+ function _convCap(byHash) {
62
+ const keys = Object.keys(byHash);
63
+ const cap = HASH_CAP();
64
+ if (keys.length <= cap) return byHash;
65
+ const age = (k) => { const r = byHash[k]; return Math.max(Date.parse(r.shadowed_at || 0) || 0, Date.parse(r.last_attempt_at || 0) || 0); };
66
+ const nonTerminal = keys.filter((k) => !byHash[k].shadowed_at).sort((a, b) => age(a) - age(b));
67
+ const terminal = keys.filter((k) => byHash[k].shadowed_at).sort((a, b) => age(a) - age(b));
68
+ let n = keys.length;
69
+ for (const k of nonTerminal.concat(terminal)) { if (n <= cap) break; delete byHash[k]; n--; }
70
+ return byHash;
71
+ }
72
+
73
+ // Patch conv_distill.by_hash[H]. Returns ok boolean (caller fails closed).
74
+ function _convPatch(H, patch) {
75
+ try {
76
+ const st = sd.readDistillerState() || {};
77
+ if (!st.conv_distill || typeof st.conv_distill !== 'object') st.conv_distill = { version: 1, by_hash: {}, by_slug: {} };
78
+ if (!st.conv_distill.by_hash) st.conv_distill.by_hash = {};
79
+ const cur = st.conv_distill.by_hash[H] || { shadowed_at: null, enforced_at: null, failed_attempts: 0, last_attempt_at: null };
80
+ for (const k of Object.keys(patch)) {
81
+ if (k === 'failed_attempts_inc') { if (patch[k]) cur.failed_attempts = (Number(cur.failed_attempts) || 0) + 1; continue; }
82
+ cur[k] = patch[k];
83
+ }
84
+ st.conv_distill.by_hash[H] = cur;
85
+ _convCap(st.conv_distill.by_hash);
86
+ sd.writeDistillerState(st);
87
+ return true;
88
+ } catch (_) { return false; }
89
+ }
90
+ function _convSlugPatch(slug, patch) {
91
+ try {
92
+ const st = sd.readDistillerState() || {};
93
+ if (!st.conv_distill || typeof st.conv_distill !== 'object') st.conv_distill = { version: 1, by_hash: {}, by_slug: {} };
94
+ if (!st.conv_distill.by_slug) st.conv_distill.by_slug = {};
95
+ st.conv_distill.by_slug[slug] = Object.assign({}, st.conv_distill.by_slug[slug], patch);
96
+ sd.writeDistillerState(st);
97
+ return true;
98
+ } catch (_) { return false; }
99
+ }
100
+
101
+ // ---- queue (P2-owned transport; NOT the shared distill_request.json) ----
102
+ function _convQueuePath() { return path.join(getEvolutionDir(), 'conv_capability_queue.jsonl'); }
103
+ function _readQueue() {
104
+ try {
105
+ const raw = fs.readFileSync(_convQueuePath(), 'utf8');
106
+ const rows = raw.split('\n').map((l) => l.trim()).filter(Boolean).map((l) => { try { return JSON.parse(l); } catch (_) { return null; } }).filter(Boolean);
107
+ return rows.slice(-QUEUE_MAX());
108
+ } catch (_) { return []; }
109
+ }
110
+ // Append sniffer candidate(s). Best-effort; called from signals.js at sniff time.
111
+ function enqueueCandidate(candidates) {
112
+ const arr = Array.isArray(candidates) ? candidates : [candidates];
113
+ try {
114
+ const dir = getEvolutionDir();
115
+ if (!fs.existsSync(dir)) fs.mkdirSync(dir, { recursive: true });
116
+ for (const c of arr) {
117
+ if (!c || !c.hash) continue;
118
+ fs.appendFileSync(_convQueuePath(), JSON.stringify({ capability: c.capability, matched: c.matched, snippet: c.snippet, hash: c.hash, enqueued_at: new Date().toISOString() }) + '\n', 'utf8');
119
+ }
120
+ return true;
121
+ } catch (_) { return false; }
122
+ }
123
+
124
+ // ---------------------------------------------------------------------------
125
+ // autoDistillConversation — pick one queued candidate, synthesize a gene via
126
+ // the conversation brief + P3 quality gate, log it for human review. SHADOW ONLY.
127
+ // ---------------------------------------------------------------------------
128
+ async function autoDistillConversation(opts = {}) {
129
+ const now = opts.now ? opts.now() : Date.now();
130
+ let mode = String(opts.mode || process.env.EVOLVER_CONV_DISTILL_ENABLED || 'off').toLowerCase().trim();
131
+ if (mode === 'off') return { ok: false, reason: 'disabled' };
132
+ if (mode === 'enforce') {
133
+ // v1: enforce (auto-upsert) is NOT implemented — conversation-snippet material
134
+ // is too thin to safely write to genes.json. Downgrade to shadow, loudly.
135
+ _log({ status: 'enforce_not_implemented_v1', note: 'conv-snippet too thin to auto-upsert; running shadow' });
136
+ mode = 'shadow';
137
+ }
138
+ if (mode !== 'shadow') return { ok: false, reason: 'disabled' };
139
+
140
+ const queue = _readQueue();
141
+ if (queue.length === 0) return { ok: false, reason: 'queue_empty', mode };
142
+
143
+ // Pick one candidate the cadence machine says is fresh. by_hash is the authority.
144
+ let cand = null;
145
+ for (const entry of queue) {
146
+ if (!entry || !entry.hash) continue;
147
+ const dec = ad._p3Decide(mode, _convGet(entry.hash), now); // reused pure cadence fn
148
+ if (dec !== 'spawn') continue;
149
+ const slugRec = _convSlugGet(entry.capability);
150
+ if (slugRec && slugRec.last_attempt_at && (now - Date.parse(slugRec.last_attempt_at)) < SLUG_COOLDOWN_MS()) continue;
151
+ cand = entry; break;
152
+ }
153
+ if (!cand) return { ok: false, reason: 'nothing_ready', mode };
154
+
155
+ // Arm BEFORE spawn (crash-idempotency).
156
+ _convPatch(cand.hash, { last_attempt_at: new Date(now).toISOString() });
157
+ _convSlugPatch(cand.capability, { last_attempt_at: new Date(now).toISOString() });
158
+
159
+ const existing = (assetStore.loadGenes && assetStore.loadGenes()) || [];
160
+ const prompt = sd.buildConversationDistillPrompt(cand, existing);
161
+
162
+ const spawnFn = opts.spawnFn || spawn;
163
+ // claude requires --session-id to be a valid UUID (caught by E2E). cand.hash
164
+ // is a 16-hex sniffer hash, NOT a UUID — use a fresh UUID like P3 does.
165
+ const built = eb.RECIPES['claude-distill'].buildArgs({ sessionId: crypto.randomUUID() });
166
+ const r = await eb.runChild(spawnFn, built.bin, built.args, {
167
+ env: Object.assign({}, process.env, built.env),
168
+ stdinText: prompt,
169
+ timeoutMs: _envInt('EVOLVE_DISTILL_TIMEOUT_MS', 180000),
170
+ label: 'conv-distill', bufferMode: 'tail', cwd: getRepoRoot(),
171
+ });
172
+
173
+ if (r.spawnError) { _log({ status: 'claude_spawn_error', reason: r.spawnError }); return { ok: false, reason: 'claude_spawn_error', mode }; }
174
+ if (r.timedOut) { _log({ status: 'claude_timeout' }); return { ok: false, reason: 'claude_timeout', mode }; }
175
+ if (r.code !== 0) { _log({ status: 'claude_nonzero_exit', code: r.code }); return { ok: false, reason: 'claude_nonzero_exit', mode }; }
176
+
177
+ const envelope = eb.tryParseClaudeResult(r.stdout);
178
+ if (!envelope || envelope.is_error) { _convPatch(cand.hash, { failed_attempts_inc: true }); _log({ status: 'claude_is_error', hash: cand.hash }); return { ok: false, reason: 'claude_is_error', mode }; }
179
+ const rawGene = sd.extractJsonFromLlmResponse(envelope.result);
180
+ if (!rawGene) { _convPatch(cand.hash, { failed_attempts_inc: true }); _log({ status: 'no_gene_in_response', hash: cand.hash }); return { ok: false, reason: 'no_gene_in_response', mode }; }
181
+
182
+ // QUALITY GATE — reused from P3. Structural + run-green only (see module header).
183
+ const v = sd.validateSynthesizedGene(rawGene, existing);
184
+ if (!v.valid) { _convPatch(cand.hash, { failed_attempts_inc: true }); _log({ status: 'validation_failed', errors: v.errors }); return { ok: false, reason: 'validation_failed', mode }; }
185
+ let gene = v.gene;
186
+ gene._distilled_meta = { via: 'conv-distill', source_capability: cand.capability, source_hash: cand.hash, observed_at: cand.enqueued_at || null };
187
+
188
+ const dupId = ad.jaccardDuplicate(gene, existing, parseFloat(process.env.EVOLVER_CONV_DISTILL_DUP_JACCARD || '0.8'));
189
+ if (dupId) { _convPatch(cand.hash, { failed_attempts_inc: true }); _log({ status: 'near_duplicate', duplicate_of: dupId, gene_id: gene.id }); return { ok: false, reason: 'near_duplicate', mode }; }
190
+
191
+ gene = ad.normalizeValidation(gene).gene;
192
+ const vg = pc.runValidations(gene, { repoRoot: getRepoRoot(), timeoutMs: _envInt('EVOLVE_DISTILL_VALIDATION_TIMEOUT_MS', 20000) });
193
+ if (!vg.ok) { _convPatch(cand.hash, { failed_attempts_inc: true }); _log({ status: 'light_validation_failed', validation: gene.validation }); return { ok: false, reason: 'light_validation_failed', mode }; }
194
+
195
+ // SHADOW TERMINAL — surface the FULL candidate gene for human review. NEVER upsert.
196
+ _log({ status: 'conv_distill_shadow_candidate', mode: 'shadow', source_capability: cand.capability, source_hash: cand.hash, gene });
197
+ const ok = _convPatch(cand.hash, { shadowed_at: new Date(now).toISOString() });
198
+ if (!ok) console.warn('[P2] conv-distill shadow state write FAILED — may re-surface candidate ' + gene.id + ' next cycle.');
199
+ return { ok, mode: 'shadow', gene_id: gene.id, reason: 'shadowed', candidate: gene };
200
+ }
201
+
202
+ module.exports = {
203
+ autoDistillConversation, enqueueCandidate,
204
+ _convGet, _convPatch, _convSlugGet, _convQueuePath, _readQueue, // for tests
205
+ };