@evomap/evolver-core 2.0.0 → 2.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (91) hide show
  1. package/dist/algo/antiDistill.js +1 -167
  2. package/dist/algo/bans.js +1 -33
  3. package/dist/algo/candidateAssembly.js +1 -273
  4. package/dist/algo/capabilityCandidates.js +1 -146
  5. package/dist/algo/confidence.js +1 -196
  6. package/dist/algo/conversationSniffer.js +1 -149
  7. package/dist/algo/cycleEngine.js +1 -625
  8. package/dist/algo/cycleFailureClassifier.js +1 -112
  9. package/dist/algo/epigenetics.js +1 -41
  10. package/dist/algo/evolutionEvent.js +1 -24
  11. package/dist/algo/exploration.js +1 -68
  12. package/dist/algo/geneHealth.js +1 -17
  13. package/dist/algo/geneIntake.js +1 -128
  14. package/dist/algo/genePromotion.js +1 -53
  15. package/dist/algo/geneSelection.js +1 -546
  16. package/dist/algo/index.js +1 -22
  17. package/dist/algo/memoryGraph.js +1 -86
  18. package/dist/algo/mutation.js +1 -22
  19. package/dist/algo/orchestrator.js +1 -87
  20. package/dist/algo/publishEligibility.js +1 -52
  21. package/dist/algo/solidify.js +1 -63
  22. package/dist/algo/strategyPresets.js +1 -61
  23. package/dist/algo/ucb1.js +1 -156
  24. package/dist/benchmark/antiGeneBenchmark.js +1 -252
  25. package/dist/benchmark/antiGeneImpact.js +1 -34
  26. package/dist/benchmark/antiGeneRollout.js +1 -269
  27. package/dist/benchmark/benchmark.js +1 -26
  28. package/dist/benchmark/evolutionThesisSolver.js +1 -41
  29. package/dist/benchmark/index.js +1 -7
  30. package/dist/benchmark/selectionFlatAbstention.js +1 -481
  31. package/dist/benchmark/thesis.js +1 -150
  32. package/dist/benchmark/triggerShift.js +1 -106
  33. package/dist/cycle/cycleTimeline.js +1 -74
  34. package/dist/cycle/index.js +1 -2
  35. package/dist/cycle/stateMachine.js +1 -25
  36. package/dist/hub/agentDirectory.js +1 -104
  37. package/dist/hub/assetCallLog.js +1 -195
  38. package/dist/hub/bindings.js +1 -121
  39. package/dist/hub/capability.js +1 -1
  40. package/dist/hub/conversationDistiller.js +1 -264
  41. package/dist/hub/fake.js +1 -70
  42. package/dist/hub/hubReview.js +1 -106
  43. package/dist/hub/index.js +1 -11
  44. package/dist/hub/ingest.js +1 -15
  45. package/dist/hub/questionGenerator.js +1 -408
  46. package/dist/hub/reuseDecision.js +1 -127
  47. package/dist/hub/sanitize.js +1 -322
  48. package/dist/material/boundary.js +1 -14
  49. package/dist/material/consumer.js +1 -55
  50. package/dist/material/emit.js +1 -52
  51. package/dist/material/factory.js +1 -25
  52. package/dist/material/index.js +1 -9
  53. package/dist/material/materialArchive.js +1 -466
  54. package/dist/material/materialStore.js +1 -69
  55. package/dist/material/sampling.js +1 -39
  56. package/dist/material/sources.js +1 -33
  57. package/dist/material/watermark.js +1 -76
  58. package/dist/personality/drift.js +1 -106
  59. package/dist/personality/events.js +1 -37
  60. package/dist/personality/evolveOps.js +1 -93
  61. package/dist/personality/index.js +1 -11
  62. package/dist/personality/mutate.js +1 -39
  63. package/dist/personality/pivot.js +1 -22
  64. package/dist/personality/prompt.js +1 -62
  65. package/dist/personality/riskGate.js +1 -80
  66. package/dist/personality/schema.js +1 -119
  67. package/dist/personality/select.js +1 -71
  68. package/dist/personality/stats.js +1 -82
  69. package/dist/personality/store.js +1 -92
  70. package/dist/schema/common.js +1 -17
  71. package/dist/schema/evolutionGraph.js +1 -187
  72. package/dist/schema/index.js +1 -6
  73. package/dist/schema/material.js +1 -50
  74. package/dist/schema/problem.js +1 -45
  75. package/dist/schema/proofOfWork.js +1 -9
  76. package/dist/schema/signal.js +1 -19
  77. package/dist/signals/curriculum.js +1 -202
  78. package/dist/signals/cycleHistoryFromEvents.js +1 -105
  79. package/dist/signals/expand.js +1 -293
  80. package/dist/signals/extractor.js +1 -82
  81. package/dist/signals/index.js +1 -8
  82. package/dist/signals/metaSignals.js +1 -200
  83. package/dist/signals/signalGate.js +1 -40
  84. package/dist/signals/taskDomain.js +1 -43
  85. package/dist/signals/traceSignals.js +1 -123
  86. package/dist/strategy/constraintAblation.js +1 -2820
  87. package/dist/strategy/constraintAblationPredicates.js +1 -339
  88. package/dist/strategy/experiment.js +1 -63
  89. package/dist/strategy/index.js +1 -3
  90. package/dist/strategy/strategyPoint.js +1 -23
  91. package/package.json +1 -1
@@ -1,167 +1 @@
1
- import { createHash } from 'node:crypto';
2
- export const ANTI_DISTILL_MIN_FAILURES = 2;
3
- export const ANTI_DISTILL_TRIGGER_OVERLAP_MIN = 0.6;
4
- function asStrings(value) {
5
- if (!Array.isArray(value))
6
- return [];
7
- return [...new Set(value.map(String).map((item) => item.trim()).filter(Boolean))];
8
- }
9
- function stringField(record, key) {
10
- const value = record[key];
11
- return typeof value === 'string' && value.trim() ? value : undefined;
12
- }
13
- function isFailedCapsule(record) {
14
- if (record.type !== 'Capsule')
15
- return false;
16
- const outcome = record['outcome'];
17
- return Boolean(outcome && typeof outcome === 'object' && !Array.isArray(outcome)
18
- && outcome.status === 'failed');
19
- }
20
- function capsuleId(record, index) {
21
- return stringField(record, 'asset_id') ?? stringField(record, 'id') ?? `capsule:${index}`;
22
- }
23
- function capsuleDigest(record, index) {
24
- if (!isFailedCapsule(record))
25
- return null;
26
- const trigger = asStrings(record['trigger']);
27
- if (trigger.length === 0)
28
- return null;
29
- return {
30
- capsuleId: capsuleId(record, index),
31
- trigger,
32
- ...(stringField(record, 'gene') ? { gene: stringField(record, 'gene') } : {}),
33
- ...(stringField(record, 'summary') ? { summary: stringField(record, 'summary') } : {}),
34
- ...(record['outcome'] !== undefined ? { outcome: record['outcome'] } : {}),
35
- ...(record['proof_of_work'] !== undefined ? { proofOfWork: record['proof_of_work'] } : {}),
36
- };
37
- }
38
- function stableCapsuleView(capsule) {
39
- return {
40
- capsuleId: capsule.capsuleId,
41
- trigger: [...capsule.trigger].sort(),
42
- ...(capsule.gene ? { gene: capsule.gene } : {}),
43
- ...(capsule.summary ? { summary: capsule.summary } : {}),
44
- ...(capsule.outcome !== undefined ? { outcome: capsule.outcome } : {}),
45
- ...(capsule.proofOfWork !== undefined ? { proofOfWork: capsule.proofOfWork } : {}),
46
- };
47
- }
48
- function canonicalHashValue(value) {
49
- if (value === null || typeof value !== 'object')
50
- return value;
51
- if (Array.isArray(value))
52
- return value.map(canonicalHashValue);
53
- return Object.fromEntries(Object.entries(value)
54
- .sort(([left], [right]) => left.localeCompare(right))
55
- .map(([key, item]) => [key, canonicalHashValue(item)]));
56
- }
57
- function hashStable(value) {
58
- return createHash('sha256').update(JSON.stringify(canonicalHashValue(value))).digest('hex');
59
- }
60
- export function triggerOverlapScore(a, b) {
61
- const left = new Set(a.map(String).filter(Boolean));
62
- const right = new Set(b.map(String).filter(Boolean));
63
- if (left.size === 0 || right.size === 0)
64
- return 0;
65
- let hit = 0;
66
- for (const token of left)
67
- if (right.has(token))
68
- hit += 1;
69
- return hit / new Set([...left, ...right]).size;
70
- }
71
- function compatibleWithCluster(capsule, cluster, overlapMin) {
72
- let total = 0;
73
- for (const existing of cluster.capsules) {
74
- const overlap = triggerOverlapScore(capsule.trigger, existing.trigger);
75
- if (overlap < overlapMin)
76
- return { ok: false, avg: overlap };
77
- total += overlap;
78
- }
79
- return { ok: true, avg: cluster.capsules.length > 0 ? total / cluster.capsules.length : 1 };
80
- }
81
- function recurringTrigger(capsules, minFailures) {
82
- const counts = new Map();
83
- for (const capsule of capsules) {
84
- for (const token of capsule.trigger)
85
- counts.set(token, (counts.get(token) ?? 0) + 1);
86
- }
87
- return [...counts.entries()]
88
- .filter(([, count]) => count >= minFailures)
89
- .map(([token]) => token)
90
- .sort();
91
- }
92
- function sharedTrigger(capsules) {
93
- return recurringTrigger(capsules, capsules.length);
94
- }
95
- function clusterId(capsules) {
96
- return `anti_cluster_${hashStable(capsules.map(stableCapsuleView)).slice(0, 16)}`;
97
- }
98
- function toFailureCluster(cluster, minFailures) {
99
- const capsules = [...cluster.capsules].sort((a, b) => a.capsuleId.localeCompare(b.capsuleId));
100
- return {
101
- clusterId: clusterId(capsules),
102
- trigger: recurringTrigger(capsules, minFailures),
103
- sharedTrigger: sharedTrigger(capsules),
104
- capsuleIds: capsules.map((capsule) => capsule.capsuleId),
105
- genes: [...new Set(capsules.map((capsule) => capsule.gene).filter((gene) => Boolean(gene)))].sort(),
106
- failureCapsules: capsules,
107
- };
108
- }
109
- function positiveInteger(value, fallback) {
110
- return Number.isSafeInteger(value) && value !== undefined && value > 0 ? value : fallback;
111
- }
112
- function nonNegativeInteger(value, fallback) {
113
- return Number.isSafeInteger(value) && value !== undefined && value >= 0 ? value : fallback;
114
- }
115
- function overlapThreshold(value) {
116
- return typeof value === 'number' && Number.isFinite(value) && value >= 0 && value <= 1
117
- ? value
118
- : ANTI_DISTILL_TRIGGER_OVERLAP_MIN;
119
- }
120
- export function collectAntiDistillInput(capsules, opts = {}) {
121
- const minFailures = positiveInteger(opts.minFailures, ANTI_DISTILL_MIN_FAILURES);
122
- const overlapMin = overlapThreshold(opts.triggerOverlapMin);
123
- const failedCapsuleCount = capsules.filter(isFailedCapsule).length;
124
- const seen = new Set();
125
- const failed = capsules
126
- .map((record, index) => capsuleDigest(record, index))
127
- .filter((capsule) => capsule !== null)
128
- .filter((capsule) => {
129
- if (seen.has(capsule.capsuleId))
130
- return false;
131
- seen.add(capsule.capsuleId);
132
- return true;
133
- })
134
- .sort((a, b) => a.capsuleId.localeCompare(b.capsuleId));
135
- const clusters = [];
136
- for (const capsule of failed) {
137
- let bestIndex = -1;
138
- let bestScore = -1;
139
- for (let i = 0; i < clusters.length; i += 1) {
140
- const score = compatibleWithCluster(capsule, clusters[i], overlapMin);
141
- if (score.ok && score.avg > bestScore) {
142
- bestIndex = i;
143
- bestScore = score.avg;
144
- }
145
- }
146
- if (bestIndex >= 0)
147
- clusters[bestIndex].capsules.push(capsule);
148
- else
149
- clusters.push({ capsules: [capsule] });
150
- }
151
- const failureClusters = clusters
152
- .filter((cluster) => cluster.capsules.length >= minFailures)
153
- .map((cluster) => toFailureCluster(cluster, minFailures))
154
- .sort((a, b) => b.failureCapsules.length - a.failureCapsules.length
155
- || a.trigger.join('\0').localeCompare(b.trigger.join('\0'))
156
- || a.capsuleIds.join('\0').localeCompare(b.capsuleIds.join('\0')))
157
- .slice(0, opts.maxClusters !== undefined ? nonNegativeInteger(opts.maxClusters, clusters.length) : clusters.length);
158
- return {
159
- dataHash: hashStable(failureClusters.map((cluster) => ({
160
- trigger: cluster.trigger,
161
- capsuleIds: cluster.capsuleIds,
162
- }))),
163
- failedCapsuleCount,
164
- clusterableFailureCount: failed.length,
165
- failureClusters,
166
- };
167
- }
1
+ (function(_0x199bb5,_0x398aa2){const _0x568ff2=_0x4c29,_0x3750ac=_0x199bb5();while(!![]){try{const _0x5e6fb3=parseInt(_0x568ff2(0xd1,'\x45\x49\x65\x5d'))/(0x5*-0x481+-0x2*-0x1eb+0xd*0x170)+-parseInt(_0x568ff2(0x82,'\x24\x5a\x71\x67'))/(-0x209+-0x1d44+0x1f4f*0x1)*(-parseInt(_0x568ff2(0xbb,'\x30\x74\x4b\x63'))/(-0x1b7+0x4a8*-0x5+0x1902))+-parseInt(_0x568ff2(0xc7,'\x4e\x47\x5a\x30'))/(0x1b6b+0x2*-0x1f9+-0x1775)*(-parseInt(_0x568ff2(0x9d,'\x30\x74\x4b\x63'))/(0x1215+0xfcb+-0x51*0x6b))+-parseInt(_0x568ff2(0x80,'\x4e\x47\x5a\x30'))/(-0x1e95*0x1+-0xb1*-0x16+0xf65*0x1)*(-parseInt(_0x568ff2(0xda,'\x65\x50\x24\x37'))/(-0x1d50+-0x32*-0x80+0x457*0x1))+-parseInt(_0x568ff2(0x8a,'\x6d\x64\x5b\x7a'))/(0x3*0xc9d+0x64e+-0x2c1d)*(-parseInt(_0x568ff2(0xae,'\x42\x21\x74\x6a'))/(-0xa49+0x9*-0xa3+-0x1*-0x100d))+-parseInt(_0x568ff2(0x11a,'\x51\x69\x65\x53'))/(-0x16a5+-0xd3*0x2+0x1855)*(-parseInt(_0x568ff2(0xb3,'\x37\x37\x62\x63'))/(-0x11f0+-0x95f+-0xdad*-0x2))+parseInt(_0x568ff2(0xfa,'\x65\x50\x24\x37'))/(-0x1*0xff4+0x5*-0x77a+0x3562)*(-parseInt(_0x568ff2(0xc9,'\x65\x50\x24\x37'))/(0x19dc+0x42a*0x9+-0x3f49));if(_0x5e6fb3===_0x398aa2)break;else _0x3750ac['push'](_0x3750ac['shift']());}catch(_0x31ec31){_0x3750ac['push'](_0x3750ac['shift']());}}}(_0x5ed0,0x237*-0x7cf+0x10cdcd+0xf57a9*0x1));import{createHash}from'\x6e\x6f\x64\x65\x3a\x63\x72\x79\x70\x74\x6f';export const ANTI_DISTILL_MIN_FAILURES=-0xa79*-0x1+-0x1*-0x1d4b+-0x27c2;export const ANTI_DISTILL_TRIGGER_OVERLAP_MIN=0xf9e+0x2*-0xd57+0xb10+0.6;function asStrings(_0x2fb2a3){const _0x540cc1=_0x4c29;if(!Array[_0x540cc1(0x118,'\x63\x6a\x32\x77')](_0x2fb2a3))return[];return[...new Set(_0x2fb2a3[_0x540cc1(0xab,'\x58\x73\x38\x66')](String)['\x6d\x61\x70'](_0x5de2df=>_0x5de2df['\x74\x72\x69\x6d']())[_0x540cc1(0x108,'\x50\x4c\x6b\x65')](Boolean))];}function stringField(_0x30eb5a,_0x4b5d27){const _0xe23c40=_0x4c29,_0x3631b5=_0x30eb5a[_0x4b5d27];return typeof _0x3631b5===_0xe23c40(0xf6,'\x55\x4f\x38\x57')&&_0x3631b5[_0xe23c40(0xe2,'\x64\x4d\x29\x73')]()?_0x3631b5:undefined;}function isFailedCapsule(_0x10d853){const _0x59cb4f=_0x4c29;if(_0x10d853[_0x59cb4f(0x83,'\x41\x46\x70\x69')]!==_0x59cb4f(0xc3,'\x43\x68\x78\x6e'))return![];const _0x2be976=_0x10d853[_0x59cb4f(0xce,'\x61\x58\x74\x50')];return Boolean(_0x2be976&&typeof _0x2be976===_0x59cb4f(0x103,'\x64\x4d\x29\x73')&&!Array[_0x59cb4f(0xe3,'\x41\x46\x70\x69')](_0x2be976)&&_0x2be976[_0x59cb4f(0xb1,'\x5d\x47\x4d\x4b')]==='\x66\x61\x69\x6c\x65\x64');}function capsuleId(_0x57b6eb,_0x2d197a){const _0x3effad=_0x4c29;return stringField(_0x57b6eb,_0x3effad(0xf0,'\x26\x63\x58\x67'))??stringField(_0x57b6eb,'\x69\x64')??_0x3effad(0xdf,'\x30\x69\x65\x40')+_0x2d197a;}function capsuleDigest(_0x1b9093,_0x36697d){const _0x30b7ea=_0x4c29;if(!isFailedCapsule(_0x1b9093))return null;const _0x17b867=asStrings(_0x1b9093[_0x30b7ea(0x87,'\x56\x44\x55\x21')]);if(_0x17b867['\x6c\x65\x6e\x67\x74\x68']===-0x15d0+0x2269+-0xc99)return null;return{'\x63\x61\x70\x73\x75\x6c\x65\x49\x64':capsuleId(_0x1b9093,_0x36697d),'\x74\x72\x69\x67\x67\x65\x72':_0x17b867,...stringField(_0x1b9093,_0x30b7ea(0x84,'\x58\x73\x38\x66'))?{'\x67\x65\x6e\x65':stringField(_0x1b9093,_0x30b7ea(0x84,'\x58\x73\x38\x66'))}:{},...stringField(_0x1b9093,_0x30b7ea(0xd8,'\x57\x73\x54\x53'))?{'\x73\x75\x6d\x6d\x61\x72\x79':stringField(_0x1b9093,_0x30b7ea(0x111,'\x65\x50\x24\x37'))}:{},..._0x1b9093['\x6f\x75\x74\x63\x6f\x6d\x65']!==undefined?{'\x6f\x75\x74\x63\x6f\x6d\x65':_0x1b9093[_0x30b7ea(0xf4,'\x24\x5a\x71\x67')]}:{},..._0x1b9093[_0x30b7ea(0x106,'\x50\x4c\x6b\x65')+_0x30b7ea(0x10b,'\x66\x72\x4c\x31')]!==undefined?{'\x70\x72\x6f\x6f\x66\x4f\x66\x57\x6f\x72\x6b':_0x1b9093[_0x30b7ea(0x113,'\x61\x58\x74\x50')+'\x5f\x77\x6f\x72\x6b']}:{}};}function stableCapsuleView(_0x69b5cb){const _0x20cb66=_0x4c29;return{'\x63\x61\x70\x73\x75\x6c\x65\x49\x64':_0x69b5cb[_0x20cb66(0xf9,'\x51\x69\x65\x53')+'\x64'],'\x74\x72\x69\x67\x67\x65\x72':[..._0x69b5cb[_0x20cb66(0xad,'\x55\x4b\x44\x6b')]][_0x20cb66(0xa8,'\x33\x55\x6f\x2a')](),..._0x69b5cb[_0x20cb66(0xd5,'\x24\x5a\x71\x67')]?{'\x67\x65\x6e\x65':_0x69b5cb[_0x20cb66(0xa0,'\x6a\x55\x30\x73')]}:{},..._0x69b5cb[_0x20cb66(0x11e,'\x71\x30\x50\x75')]?{'\x73\x75\x6d\x6d\x61\x72\x79':_0x69b5cb[_0x20cb66(0xed,'\x37\x37\x62\x63')]}:{},..._0x69b5cb[_0x20cb66(0x97,'\x6f\x6e\x45\x4d')]!==undefined?{'\x6f\x75\x74\x63\x6f\x6d\x65':_0x69b5cb[_0x20cb66(0x119,'\x30\x74\x4b\x63')]}:{},..._0x69b5cb[_0x20cb66(0xac,'\x30\x67\x77\x42')+_0x20cb66(0xd4,'\x61\x58\x74\x50')]!==undefined?{'\x70\x72\x6f\x6f\x66\x4f\x66\x57\x6f\x72\x6b':_0x69b5cb[_0x20cb66(0xcb,'\x51\x69\x65\x53')+_0x20cb66(0x122,'\x50\x4b\x36\x53')]}:{}};}function canonicalHashValue(_0x243222){const _0x1f2b75=_0x4c29;if(_0x243222===null||typeof _0x243222!==_0x1f2b75(0x116,'\x51\x69\x65\x53'))return _0x243222;if(Array['\x69\x73\x41\x72\x72\x61\x79'](_0x243222))return _0x243222[_0x1f2b75(0xf7,'\x42\x21\x74\x6a')](canonicalHashValue);return Object[_0x1f2b75(0xf1,'\x61\x58\x74\x50')+_0x1f2b75(0x7e,'\x4a\x64\x75\x4f')](Object[_0x1f2b75(0x121,'\x6f\x6e\x45\x4d')](_0x243222)[_0x1f2b75(0xf3,'\x57\x73\x54\x53')](([_0x1bd89d],[_0x1eaaa7])=>_0x1bd89d[_0x1f2b75(0xbe,'\x51\x69\x65\x53')+_0x1f2b75(0x124,'\x4d\x74\x61\x53')](_0x1eaaa7))[_0x1f2b75(0xef,'\x71\x30\x50\x75')](([_0x51ff5f,_0x3adf96])=>[_0x51ff5f,canonicalHashValue(_0x3adf96)]));}function _0x5ed0(){const _0x21d9e7=['\x57\x50\x46\x64\x4f\x5a\x30\x49\x57\x50\x70\x64\x50\x6d\x6f\x32','\x66\x77\x79\x6f\x57\x36\x6c\x63\x48\x64\x42\x64\x47\x57','\x76\x64\x64\x64\x47\x68\x65','\x43\x38\x6b\x66\x57\x4f\x4e\x64\x54\x38\x6f\x6c\x77\x61','\x70\x53\x6f\x63\x57\x4f\x62\x56','\x72\x6d\x6b\x68\x57\x50\x52\x64\x4a\x53\x6b\x6a\x41\x6d\x6b\x58\x76\x6d\x6f\x50','\x57\x4f\x57\x59\x57\x34\x6c\x63\x4e\x57\x35\x50','\x57\x34\x44\x64\x71\x57','\x61\x53\x6b\x67\x57\x37\x4c\x53\x57\x35\x52\x63\x51\x61','\x64\x68\x75\x78','\x72\x53\x6f\x50\x79\x43\x6b\x31\x57\x4f\x74\x63\x48\x38\x6b\x56','\x61\x49\x42\x63\x4b\x73\x54\x44\x57\x51\x79\x6b','\x79\x4d\x35\x76\x77\x47','\x63\x6d\x6b\x4c\x70\x53\x6b\x45\x57\x35\x54\x6e\x6d\x53\x6b\x33\x42\x53\x6b\x67\x57\x36\x79','\x57\x37\x79\x61\x78\x6d\x6b\x63\x6d\x4b\x37\x63\x51\x71','\x76\x43\x6f\x66\x71\x38\x6f\x39\x74\x47','\x69\x43\x6f\x63\x57\x50\x66\x36\x57\x4f\x71\x2f\x57\x37\x4a\x63\x54\x71','\x65\x47\x65\x6f','\x57\x52\x69\x4a\x57\x34\x30','\x57\x50\x4b\x59\x57\x35\x74\x63\x4a\x47','\x57\x50\x31\x44\x6b\x57','\x67\x38\x6b\x69\x57\x37\x47\x67\x57\x50\x33\x63\x49\x6d\x6f\x76','\x69\x53\x6b\x74\x57\x52\x65\x4b\x43\x68\x4f\x4c','\x57\x52\x6d\x56\x57\x35\x76\x6e\x6e\x43\x6f\x46','\x66\x72\x38\x41\x6a\x38\x6f\x5a\x57\x50\x6a\x38\x57\x4f\x4b','\x6b\x31\x69\x70\x57\x50\x50\x56\x57\x36\x76\x6d\x57\x35\x6a\x33\x76\x49\x30\x76\x61\x57','\x74\x6d\x6b\x44\x57\x36\x70\x64\x4f\x6d\x6b\x36\x75\x43\x6b\x59\x57\x51\x30','\x72\x68\x7a\x75\x57\x37\x5a\x64\x4c\x4a\x64\x63\x51\x43\x6b\x49\x57\x4f\x72\x38','\x57\x51\x57\x6d\x45\x43\x6b\x6c\x64\x33\x52\x63\x4d\x38\x6b\x61','\x70\x43\x6f\x46\x57\x50\x31\x30\x57\x4f\x34\x76\x57\x35\x33\x63\x4a\x71','\x57\x36\x46\x64\x48\x38\x6b\x39\x57\x36\x75','\x6f\x72\x70\x63\x4d\x59\x7a\x32','\x57\x36\x71\x42\x57\x36\x62\x55\x57\x51\x2f\x63\x49\x58\x75','\x70\x53\x6b\x64\x66\x53\x6b\x55\x57\x37\x64\x63\x47\x6d\x6b\x32','\x57\x37\x7a\x6b\x57\x52\x42\x63\x4a\x71','\x57\x35\x54\x56\x57\x50\x33\x64\x4d\x76\x4f\x54\x45\x4e\x50\x6e\x57\x4f\x71\x73\x75\x43\x6f\x4b','\x78\x4e\x6a\x69','\x75\x76\x58\x6b\x57\x37\x61\x55\x57\x36\x4e\x63\x54\x6d\x6f\x30\x57\x51\x64\x63\x4d\x6d\x6b\x41\x57\x4f\x71','\x57\x36\x71\x43\x57\x37\x38','\x57\x37\x2f\x63\x48\x6d\x6f\x77\x57\x36\x47','\x57\x36\x74\x64\x48\x53\x6b\x56\x57\x37\x4c\x63\x6a\x57','\x66\x4a\x65\x68','\x65\x73\x6c\x64\x4c\x53\x6f\x74\x57\x35\x53\x52\x57\x34\x61','\x64\x59\x46\x64\x4d\x53\x6f\x6d\x57\x35\x38','\x72\x4e\x66\x7a\x57\x37\x37\x64\x54\x59\x52\x63\x51\x6d\x6b\x44\x57\x4f\x39\x74','\x79\x43\x6b\x46\x57\x50\x5a\x64\x51\x53\x6f\x48\x73\x68\x72\x58','\x57\x4f\x68\x64\x47\x58\x30','\x62\x38\x6b\x6f\x57\x36\x76\x52\x57\x34\x52\x63\x54\x53\x6f\x57\x6a\x71','\x57\x50\x53\x6b\x57\x34\x56\x64\x48\x38\x6f\x67\x57\x37\x6e\x66\x43\x47','\x57\x36\x70\x64\x4e\x43\x6f\x75\x57\x50\x6a\x79\x57\x36\x54\x35\x57\x4f\x75','\x62\x72\x79\x6f','\x6f\x59\x6c\x63\x51\x74\x35\x6e','\x57\x4f\x74\x63\x4c\x4d\x61\x56','\x41\x38\x6b\x63\x68\x53\x6f\x2b\x57\x52\x33\x64\x55\x32\x30','\x42\x48\x58\x6f\x57\x34\x47','\x57\x4f\x42\x64\x4a\x71\x71\x71','\x57\x34\x42\x64\x48\x74\x57','\x57\x51\x56\x64\x4b\x6d\x6b\x6d\x57\x52\x53\x37\x72\x38\x6b\x75\x57\x50\x75\x72\x57\x50\x65','\x57\x36\x70\x64\x47\x6d\x6b\x4e\x57\x36\x50\x71\x6d\x77\x57','\x57\x50\x30\x73\x57\x52\x5a\x64\x4a\x75\x38','\x57\x35\x68\x63\x51\x4c\x33\x64\x4b\x59\x4f\x76','\x57\x36\x68\x64\x49\x53\x6f\x64','\x57\x37\x56\x63\x47\x6d\x6f\x69\x57\x37\x34\x68\x45\x38\x6b\x44\x57\x52\x75','\x64\x53\x6f\x61\x57\x34\x70\x64\x50\x38\x6b\x6c\x44\x38\x6b\x56','\x57\x52\x2f\x63\x4a\x43\x6f\x6f\x57\x35\x4b\x54\x57\x34\x33\x63\x4a\x4d\x47','\x57\x36\x48\x65\x57\x52\x71','\x57\x4f\x50\x49\x57\x51\x4a\x64\x50\x74\x65\x66\x79\x49\x65','\x57\x36\x30\x43\x57\x37\x54\x47\x57\x4f\x78\x63\x49\x61\x71\x59','\x63\x53\x6b\x35\x57\x34\x71\x62\x57\x4f\x4f','\x65\x74\x4a\x64\x49\x43\x6f\x6b','\x57\x37\x46\x63\x4c\x6d\x6f\x6d\x57\x36\x34\x44\x45\x53\x6b\x44','\x68\x6d\x6f\x6a\x7a\x38\x6b\x4a\x57\x50\x68\x63\x4a\x38\x6b\x44','\x66\x38\x6b\x42\x57\x36\x44\x58\x57\x35\x68\x63\x56\x71','\x57\x34\x70\x64\x47\x74\x71','\x57\x36\x33\x64\x4e\x43\x6f\x43\x57\x51\x6a\x62\x57\x37\x6a\x56\x57\x34\x53','\x6c\x53\x6f\x6d\x57\x4f\x6a\x4f\x57\x50\x30\x32\x57\x35\x37\x63\x4b\x57','\x72\x4e\x39\x78\x57\x37\x52\x63\x50\x4c\x6c\x63\x47\x53\x6b\x77\x57\x52\x35\x67\x74\x53\x6b\x37','\x57\x52\x46\x63\x4a\x53\x6f\x37\x57\x34\x75\x56\x57\x34\x68\x63\x49\x71','\x57\x52\x6d\x78\x57\x37\x5a\x64\x49\x6d\x6f\x46\x57\x4f\x34\x6a\x67\x53\x6b\x31\x71\x4d\x30','\x57\x37\x52\x63\x56\x4b\x50\x71\x57\x50\x56\x63\x56\x68\x30\x46','\x57\x34\x34\x43\x45\x38\x6b\x6f\x57\x36\x64\x64\x4a\x33\x37\x63\x53\x43\x6f\x50\x57\x52\x56\x63\x4b\x47','\x62\x47\x75\x75\x57\x51\x58\x49\x57\x51\x4e\x63\x4c\x53\x6f\x71','\x57\x36\x65\x62\x57\x37\x31\x4a','\x44\x47\x62\x71\x57\x34\x4f\x56\x57\x52\x75','\x70\x53\x6b\x75\x67\x6d\x6b\x53\x57\x36\x75','\x57\x50\x2f\x63\x48\x4d\x6d\x4e\x57\x51\x6e\x55','\x57\x35\x58\x79\x57\x4f\x4a\x63\x4e\x6d\x6b\x74\x57\x52\x53\x34\x71\x4a\x43\x49\x57\x52\x72\x4c\x57\x50\x71','\x64\x61\x65\x74\x57\x51\x44\x4a\x57\x52\x6d','\x71\x32\x66\x78\x68\x73\x44\x5a\x57\x50\x4e\x64\x4b\x61','\x6c\x6d\x6b\x42\x57\x36\x65\x73\x57\x4f\x2f\x63\x47\x43\x6f\x63','\x76\x78\x50\x75\x62\x49\x72\x45','\x57\x50\x75\x4c\x72\x4c\x6d\x4f\x57\x37\x43','\x71\x53\x6b\x6d\x57\x37\x6c\x64\x4f\x43\x6b\x51','\x76\x33\x7a\x74\x72\x53\x6f\x4d','\x57\x50\x38\x52\x57\x34\x52\x63\x49\x48\x39\x2b','\x57\x36\x30\x68\x57\x37\x48\x35\x57\x51\x78\x63\x4c\x61','\x72\x58\x33\x64\x47\x49\x62\x2b\x6e\x31\x71\x4e\x57\x51\x70\x63\x48\x71','\x61\x5a\x75\x6a\x57\x51\x33\x64\x55\x61\x78\x63\x54\x57','\x66\x38\x6b\x68\x57\x37\x71\x51\x57\x4f\x52\x64\x52\x61','\x62\x64\x69\x6e\x57\x51\x46\x64\x56\x48\x6c\x63\x56\x61','\x57\x35\x33\x64\x4a\x5a\x79\x70','\x57\x37\x53\x43\x57\x37\x54\x49\x57\x51\x42\x63\x55\x72\x38\x4d','\x57\x4f\x34\x6f\x57\x34\x4e\x64\x4d\x6d\x6f\x73\x57\x36\x39\x54\x75\x47','\x74\x6d\x6b\x64\x57\x50\x46\x63\x55\x43\x6f\x44\x6e\x43\x6b\x39\x46\x43\x6f\x53\x6b\x73\x64\x63\x4b\x61','\x69\x53\x6f\x70\x57\x50\x48\x2b\x57\x4f\x53\x55','\x62\x47\x75\x75\x57\x51\x58\x59\x57\x52\x38','\x57\x4f\x71\x43\x57\x37\x4a\x64\x4d\x43\x6f\x76\x57\x36\x6a\x58','\x75\x43\x6f\x49\x43\x53\x6f\x6d\x57\x4f\x6e\x41\x70\x57','\x46\x6d\x6b\x42\x57\x34\x53\x4f\x57\x35\x39\x51\x57\x35\x64\x63\x4e\x38\x6f\x67\x57\x50\x4a\x64\x4e\x6d\x6b\x6b','\x63\x38\x6b\x6e\x57\x37\x39\x39\x57\x35\x5a\x63\x52\x47','\x57\x36\x46\x63\x56\x33\x62\x77\x57\x50\x52\x63\x56\x65\x79\x2b','\x57\x35\x56\x63\x50\x4c\x2f\x64\x47\x64\x53\x70','\x57\x37\x7a\x71\x57\x51\x4e\x63\x4c\x6d\x6b\x6a\x57\x4f\x79\x79','\x45\x6d\x6b\x58\x57\x52\x47\x6f\x43\x68\x69\x6f\x57\x51\x43','\x57\x4f\x50\x4e\x57\x52\x57','\x57\x52\x61\x4f\x57\x34\x31\x6c\x6f\x43\x6f\x69\x6c\x71','\x57\x36\x42\x63\x48\x4d\x34','\x45\x33\x76\x6f\x78\x43\x6f\x4a\x57\x4f\x52\x63\x47\x53\x6f\x4d','\x57\x4f\x6d\x77\x57\x52\x4a\x64\x4a\x78\x75','\x57\x51\x6c\x64\x4b\x38\x6f\x62\x57\x35\x4b','\x57\x51\x34\x77\x44\x38\x6b\x69\x62\x4d\x30','\x70\x53\x6b\x61\x57\x36\x71\x62\x57\x4f\x33\x63\x4c\x47','\x57\x36\x79\x70\x57\x36\x71','\x57\x34\x6e\x68\x71\x61','\x57\x34\x4c\x64\x71\x38\x6f\x48\x57\x51\x46\x63\x50\x6d\x6b\x33\x57\x36\x4b','\x6b\x66\x69\x6a\x57\x50\x39\x54\x57\x50\x47\x67\x57\x37\x58\x43\x42\x61\x34','\x57\x36\x43\x6c\x57\x37\x50\x51\x57\x52\x74\x63\x4a\x47','\x57\x51\x37\x63\x47\x53\x6f\x2b\x57\x36\x75\x4a\x72\x53\x6b\x6a','\x44\x53\x6b\x69\x6c\x38\x6f\x50','\x71\x59\x64\x64\x4e\x78\x57','\x45\x71\x72\x6f\x57\x35\x34\x55\x57\x52\x65\x7a\x57\x37\x47','\x57\x37\x78\x63\x52\x68\x62\x44\x57\x4f\x4a\x63\x51\x31\x65\x59','\x77\x38\x6b\x6f\x57\x37\x52\x64\x54\x6d\x6b\x4f\x77\x6d\x6b\x4c','\x65\x4a\x70\x63\x4f\x47\x64\x63\x47\x5a\x6d\x4d\x46\x47','\x57\x52\x4b\x4a\x57\x35\x44\x45\x6a\x6d\x6f\x66','\x57\x51\x78\x63\x47\x6d\x6f\x36\x57\x52\x4f\x70\x42\x63\x79\x74\x65\x53\x6b\x69\x57\x37\x62\x74\x57\x4f\x61','\x66\x43\x6f\x75\x57\x35\x30','\x57\x50\x2f\x64\x48\x58\x4b','\x57\x34\x46\x64\x4b\x57\x75\x6a\x57\x50\x74\x64\x4f\x43\x6f\x62','\x57\x4f\x47\x58\x76\x43\x6f\x70','\x57\x37\x52\x63\x4d\x67\x5a\x64\x56\x43\x6f\x4e','\x68\x53\x6f\x69\x57\x51\x64\x63\x4f\x43\x6f\x2b\x63\x38\x6f\x56\x57\x50\x64\x63\x48\x38\x6f\x57\x67\x4a\x61\x44','\x57\x52\x78\x63\x4e\x38\x6f\x34\x57\x34\x6d\x32\x57\x34\x4a\x63\x4e\x33\x34','\x57\x37\x4e\x63\x48\x43\x6f\x43','\x57\x50\x53\x58\x78\x6d\x6f\x70\x6a\x71','\x57\x35\x74\x63\x4f\x4b\x68\x64\x4c\x64\x4f\x6c\x65\x38\x6f\x56','\x57\x4f\x34\x4b\x73\x6d\x6f\x46\x6f\x30\x75\x36','\x69\x6d\x6f\x65\x57\x50\x58\x44\x57\x4f\x4b\x5a\x57\x35\x46\x63\x52\x57','\x57\x52\x4f\x5a\x57\x34\x31\x41\x70\x38\x6f\x61\x6f\x57','\x57\x4f\x48\x57\x57\x51\x56\x64\x53\x5a\x61\x32\x42\x4a\x79','\x42\x38\x6b\x71\x6c\x57','\x70\x6d\x6f\x48\x57\x52\x4a\x63\x4e\x47\x64\x64\x4d\x61','\x57\x4f\x6d\x4f\x57\x37\x33\x63\x49\x47\x31\x2b\x63\x32\x61','\x57\x4f\x56\x64\x47\x38\x6f\x45\x77\x47\x74\x64\x51\x33\x65','\x63\x38\x6f\x63\x44\x6d\x6f\x41\x57\x50\x7a\x73\x64\x71','\x57\x4f\x75\x37\x75\x53\x6f\x65','\x57\x4f\x5a\x63\x54\x53\x6f\x51\x57\x52\x43\x47\x57\x52\x37\x64\x49\x32\x4b','\x65\x75\x37\x63\x4c\x78\x65','\x65\x74\x56\x64\x4b\x53\x6f\x44\x57\x35\x38','\x57\x35\x7a\x4d\x64\x38\x6f\x55\x6e\x65\x30\x55\x57\x36\x6c\x64\x53\x71','\x66\x38\x6b\x67\x57\x36\x39\x39','\x57\x52\x57\x32\x57\x50\x78\x64\x49\x33\x69','\x74\x63\x74\x64\x47\x61','\x64\x61\x53\x45\x57\x51\x66\x37\x57\x52\x37\x63\x53\x6d\x6f\x38','\x68\x38\x6f\x7a\x46\x43\x6b\x4e\x57\x4f\x52\x63\x49\x47','\x6b\x43\x6f\x4e\x57\x51\x42\x63\x4e\x47','\x57\x35\x52\x63\x4f\x4b\x4e\x64\x50\x63\x6d\x73\x62\x43\x6f\x73','\x44\x38\x6b\x2f\x57\x51\x53\x43\x41\x78\x53\x4f\x57\x4f\x65','\x73\x73\x74\x64\x47\x57','\x57\x51\x42\x63\x4a\x6d\x6f\x4e\x57\x35\x38\x4c\x57\x36\x56\x63\x4e\x66\x4f','\x66\x62\x79\x75\x57\x51\x44\x57\x57\x52\x37\x63\x47\x71'];_0x5ed0=function(){return _0x21d9e7;};return _0x5ed0();}function hashStable(_0x4ce063){const _0x373adc=_0x4c29;return createHash(_0x373adc(0x110,'\x55\x4f\x38\x57'))[_0x373adc(0x10c,'\x45\x49\x65\x5d')](JSON[_0x373adc(0x123,'\x66\x72\x4c\x31')+'\x79'](canonicalHashValue(_0x4ce063)))['\x64\x69\x67\x65\x73\x74'](_0x373adc(0xe6,'\x42\x21\x74\x6a'));}export function triggerOverlapScore(_0x4af45b,_0x39fd59){const _0x53d2ac=_0x4c29,_0x5f11a5=new Set(_0x4af45b[_0x53d2ac(0x128,'\x61\x58\x74\x50')](String)[_0x53d2ac(0x9a,'\x33\x55\x6f\x2a')](Boolean)),_0x501f8c=new Set(_0x39fd59['\x6d\x61\x70'](String)[_0x53d2ac(0x127,'\x43\x68\x78\x6e')](Boolean));if(_0x5f11a5[_0x53d2ac(0x125,'\x59\x4c\x4b\x4b')]===0x39e+0x26bb+-0x2a59||_0x501f8c[_0x53d2ac(0xc1,'\x45\x49\x65\x5d')]===0x56*0x3+-0x14b+-0x49*-0x1)return 0x18*0x16e+-0x1e83+0x8b*-0x7;let _0x4b12a0=0x3*-0x11f+0x3*0x26d+-0x1*0x3ea;for(const _0x9b399d of _0x5f11a5)if(_0x501f8c[_0x53d2ac(0x8b,'\x37\x37\x62\x63')](_0x9b399d))_0x4b12a0+=-0x1d*-0x3d+-0xe2*-0x14+-0x1890;return _0x4b12a0/new Set([..._0x5f11a5,..._0x501f8c])[_0x53d2ac(0xa3,'\x55\x4f\x38\x57')];}function compatibleWithCluster(_0xd8c6ba,_0x476bfc,_0x19f59c){const _0x2604cc=_0x4c29;let _0x5b5dfe=-0x14*0x17+0x26e3+-0x2517;for(const _0x3f4a11 of _0x476bfc[_0x2604cc(0xec,'\x24\x5a\x71\x67')]){if(_0x2604cc(0xe1,'\x69\x5a\x57\x31')!=='\x74\x76\x54\x49\x6f'){const _0x4dd844=triggerOverlapScore(_0xd8c6ba[_0x2604cc(0xe8,'\x6d\x64\x5b\x7a')],_0x3f4a11[_0x2604cc(0xaf,'\x6d\x69\x4b\x79')]);if(_0x4dd844<_0x19f59c)return{'\x6f\x6b':![],'\x61\x76\x67':_0x4dd844};_0x5b5dfe+=_0x4dd844;}else{const _0x364d4e=_0x3a1836(_0x5ccb35,_0x577033[_0x16944e],_0x530fc0);_0x364d4e['\x6f\x6b']&&_0x364d4e[_0x2604cc(0xeb,'\x30\x69\x65\x40')]>_0x3855ff&&(_0x39fb29=_0x6e3c59,_0x229c40=_0x364d4e[_0x2604cc(0xc2,'\x79\x5a\x61\x68')]);}}return{'\x6f\x6b':!![],'\x61\x76\x67':_0x476bfc[_0x2604cc(0x85,'\x4e\x47\x5a\x30')][_0x2604cc(0x81,'\x61\x58\x74\x50')]>-0x1f6b*-0x1+-0x223f+-0x1*-0x2d4?_0x5b5dfe/_0x476bfc[_0x2604cc(0x9f,'\x40\x42\x54\x56')]['\x6c\x65\x6e\x67\x74\x68']:-0x6d*-0x3d+0x1e00+-0x37f8};}function recurringTrigger(_0x424497,_0x218024){const _0xe618a0=_0x4c29,_0x46a5a2=new Map();for(const _0x5631c0 of _0x424497){if(_0xe618a0(0xcd,'\x69\x5a\x57\x31')!=='\x76\x6e\x43\x6b\x4f'){for(const _0x3836a7 of _0x5631c0[_0xe618a0(0xcf,'\x6f\x45\x72\x32')])_0x46a5a2[_0xe618a0(0x8c,'\x73\x45\x4a\x23')](_0x3836a7,(_0x46a5a2[_0xe618a0(0xc0,'\x6f\x6e\x45\x4d')](_0x3836a7)??-0x18c0+-0x17dd+0x309d)+(-0x537+0x72b*-0x2+0x2*0x9c7));}else{if(_0x58469e[_0xe618a0(0xe4,'\x4e\x47\x5a\x30')]!=='\x43\x61\x70\x73\x75\x6c\x65')return![];const _0xa76376=_0x25f3b7[_0xe618a0(0xf5,'\x37\x50\x31\x41')];return _0x2462f4(_0xa76376&&typeof _0xa76376===_0xe618a0(0x11b,'\x55\x4f\x38\x57')&&!_0x14da9f[_0xe618a0(0x8d,'\x42\x21\x74\x6a')](_0xa76376)&&_0xa76376[_0xe618a0(0xd6,'\x6d\x64\x5b\x7a')]===_0xe618a0(0x117,'\x55\x4b\x44\x6b'));}}return[..._0x46a5a2[_0xe618a0(0x9c,'\x50\x51\x61\x28')]()][_0xe618a0(0xb6,'\x55\x4f\x38\x57')](([,_0x38d6c4])=>_0x38d6c4>=_0x218024)[_0xe618a0(0xd2,'\x50\x4c\x6b\x65')](([_0x4e0c71])=>_0x4e0c71)[_0xe618a0(0x112,'\x42\x21\x74\x6a')]();}function sharedTrigger(_0x2c858b){const _0x28af3f=_0x4c29;return recurringTrigger(_0x2c858b,_0x2c858b[_0x28af3f(0xa7,'\x37\x50\x31\x41')]);}function clusterId(_0xb7538a){const _0x363476=_0x4c29;return _0x363476(0xdb,'\x5d\x47\x4d\x4b')+_0x363476(0xe9,'\x4d\x74\x61\x53')+hashStable(_0xb7538a[_0x363476(0xb7,'\x6d\x69\x4b\x79')](stableCapsuleView))[_0x363476(0xa1,'\x57\x73\x54\x53')](0x22af+0x3fb*-0x1+-0x1eb4,0x16*0x131+-0x1*0x11d9+-0x84d);}function toFailureCluster(_0x5a26e1,_0x5a1994){const _0x1a5c3d=_0x4c29,_0x5116af=[..._0x5a26e1[_0x1a5c3d(0x98,'\x26\x63\x58\x67')]][_0x1a5c3d(0xb2,'\x51\x69\x65\x53')]((_0x436f1c,_0x4943e7)=>_0x436f1c[_0x1a5c3d(0x7f,'\x4a\x64\x75\x4f')+'\x64'][_0x1a5c3d(0xaa,'\x79\x71\x43\x52')+'\x6d\x70\x61\x72\x65'](_0x4943e7[_0x1a5c3d(0xdd,'\x55\x4f\x38\x57')+'\x64']));return{'\x63\x6c\x75\x73\x74\x65\x72\x49\x64':clusterId(_0x5116af),'\x74\x72\x69\x67\x67\x65\x72':recurringTrigger(_0x5116af,_0x5a1994),'\x73\x68\x61\x72\x65\x64\x54\x72\x69\x67\x67\x65\x72':sharedTrigger(_0x5116af),'\x63\x61\x70\x73\x75\x6c\x65\x49\x64\x73':_0x5116af[_0x1a5c3d(0x99,'\x41\x46\x70\x69')](_0x4658ac=>_0x4658ac[_0x1a5c3d(0xc8,'\x56\x44\x55\x21')+'\x64']),'\x67\x65\x6e\x65\x73':[...new Set(_0x5116af[_0x1a5c3d(0xb5,'\x4a\x64\x75\x4f')](_0xf550aa=>_0xf550aa[_0x1a5c3d(0x8e,'\x56\x55\x58\x54')])[_0x1a5c3d(0xb4,'\x45\x49\x65\x5d')](_0x214c75=>Boolean(_0x214c75)))][_0x1a5c3d(0xd0,'\x71\x30\x50\x75')](),'\x66\x61\x69\x6c\x75\x72\x65\x43\x61\x70\x73\x75\x6c\x65\x73':_0x5116af};}function positiveInteger(_0x1d4060,_0x3f7987){const _0x43fbc5=_0x4c29;return Number[_0x43fbc5(0xfd,'\x6b\x61\x34\x64')+_0x43fbc5(0x102,'\x6f\x45\x72\x32')](_0x1d4060)&&_0x1d4060!==undefined&&_0x1d4060>0x227a+0x1cb4+-0x3f2e?_0x1d4060:_0x3f7987;}function _0x4c29(_0x690f58,_0x1777a7){_0x690f58=_0x690f58-(0x1145*-0x1+0x2a*0x97+-0x703*0x1);const _0x2a9b3a=_0x5ed0();let _0x3483de=_0x2a9b3a[_0x690f58];if(_0x4c29['\x50\x76\x53\x6b\x75\x43']===undefined){var _0x238e62=function(_0x2c6e2d){const _0x244cbd='\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 _0x58e7dd='',_0x293baa='';for(let _0x4bb54b=-0x1c*0xee+-0x16b2+-0x3f*-0xc6,_0x417459,_0x403fe4,_0x464458=0x25c4+-0xf03+-0x16c1;_0x403fe4=_0x2c6e2d['\x63\x68\x61\x72\x41\x74'](_0x464458++);~_0x403fe4&&(_0x417459=_0x4bb54b%(-0x18a7*0x1+0x220f*0x1+0x4b2*-0x2)?_0x417459*(-0xb*0x30a+-0xf97+-0x3145*-0x1)+_0x403fe4:_0x403fe4,_0x4bb54b++%(-0x7fa+-0x943+0x277*0x7))?_0x58e7dd+=String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](-0x182a+0x165e+0x37*0xd&_0x417459>>(-(-0x79d+-0x8ec+0x108b)*_0x4bb54b&0xef*-0x3+-0x568+0x83b*0x1)):-0x8bc*-0x2+-0x1802*-0x1+-0x297a){_0x403fe4=_0x244cbd['\x69\x6e\x64\x65\x78\x4f\x66'](_0x403fe4);}for(let _0x1f45b4=0x10c5+0x1484+0x17*-0x19f,_0x429749=_0x58e7dd['\x6c\x65\x6e\x67\x74\x68'];_0x1f45b4<_0x429749;_0x1f45b4++){_0x293baa+='\x25'+('\x30\x30'+_0x58e7dd['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x1f45b4)['\x74\x6f\x53\x74\x72\x69\x6e\x67'](-0x26b*0xb+-0x1ac7+-0x9*-0x5f0))['\x73\x6c\x69\x63\x65'](-(0x1218+-0xa6*0xb+-0xaf4));}return decodeURIComponent(_0x293baa);};const _0x216951=function(_0x523571,_0x3a44ae){let _0xf4f4b4=[],_0x20502f=0x21*0x3e+0xbb*0x17+0x241*-0xb,_0x27a97c,_0x3df4ac='';_0x523571=_0x238e62(_0x523571);let _0x9d9d01;for(_0x9d9d01=-0x13df+-0x681+0x1a60;_0x9d9d01<-0x17b1+-0x1*-0x8c7+0xfea;_0x9d9d01++){_0xf4f4b4[_0x9d9d01]=_0x9d9d01;}for(_0x9d9d01=0x1*-0x48f+-0x4*0x193+0xadb;_0x9d9d01<-0xfbc+-0x11f4*0x1+-0x1158*-0x2;_0x9d9d01++){_0x20502f=(_0x20502f+_0xf4f4b4[_0x9d9d01]+_0x3a44ae['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x9d9d01%_0x3a44ae['\x6c\x65\x6e\x67\x74\x68']))%(0x13f7*0x1+0x1*0x2f1+-0x15e8),_0x27a97c=_0xf4f4b4[_0x9d9d01],_0xf4f4b4[_0x9d9d01]=_0xf4f4b4[_0x20502f],_0xf4f4b4[_0x20502f]=_0x27a97c;}_0x9d9d01=0x1*0xd31+0x1f19+0x1625*-0x2,_0x20502f=-0xc*-0x6c+0x2602+-0x1*0x2b12;for(let _0x3790d3=0xe2c+-0xb3*-0x31+-0x306f;_0x3790d3<_0x523571['\x6c\x65\x6e\x67\x74\x68'];_0x3790d3++){_0x9d9d01=(_0x9d9d01+(0x166*0xf+-0x210c+0xc13))%(0x2074+-0x1847+-0x72d),_0x20502f=(_0x20502f+_0xf4f4b4[_0x9d9d01])%(-0x1dd*0x3+0x8e4+-0x24d),_0x27a97c=_0xf4f4b4[_0x9d9d01],_0xf4f4b4[_0x9d9d01]=_0xf4f4b4[_0x20502f],_0xf4f4b4[_0x20502f]=_0x27a97c,_0x3df4ac+=String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](_0x523571['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x3790d3)^_0xf4f4b4[(_0xf4f4b4[_0x9d9d01]+_0xf4f4b4[_0x20502f])%(-0x7*-0x18a+-0x76*0x43+-0x2*-0xa8e)]);}return _0x3df4ac;};_0x4c29['\x55\x69\x66\x4b\x7a\x42']=_0x216951,_0x4c29['\x6a\x41\x69\x70\x68\x6c']={},_0x4c29['\x50\x76\x53\x6b\x75\x43']=!![];}const _0x7b5b9b=_0x2a9b3a[0x3ff+-0x2f5+0x26*-0x7],_0x18e289=_0x690f58+_0x7b5b9b,_0x558c1a=_0x4c29['\x6a\x41\x69\x70\x68\x6c'][_0x18e289];return!_0x558c1a?(_0x4c29['\x50\x78\x66\x70\x4d\x59']===undefined&&(_0x4c29['\x50\x78\x66\x70\x4d\x59']=!![]),_0x3483de=_0x4c29['\x55\x69\x66\x4b\x7a\x42'](_0x3483de,_0x1777a7),_0x4c29['\x6a\x41\x69\x70\x68\x6c'][_0x18e289]=_0x3483de):_0x3483de=_0x558c1a,_0x3483de;}function nonNegativeInteger(_0x12ce3e,_0xed06c0){const _0x2ac855=_0x4c29;return Number[_0x2ac855(0x9b,'\x45\x49\x65\x5d')+'\x74\x65\x67\x65\x72'](_0x12ce3e)&&_0x12ce3e!==undefined&&_0x12ce3e>=0x1a06*0x1+0x1fd0+-0x39d6?_0x12ce3e:_0xed06c0;}function overlapThreshold(_0x209e47){const _0x2d6b03=_0x4c29;return typeof _0x209e47===_0x2d6b03(0x126,'\x2a\x55\x5b\x65')&&Number[_0x2d6b03(0xee,'\x30\x67\x77\x42')](_0x209e47)&&_0x209e47>=-0x4a*-0x25+0x1850*0x1+0x1*-0x2302&&_0x209e47<=0x4dd+0xcda+-0x11b6?_0x209e47:ANTI_DISTILL_TRIGGER_OVERLAP_MIN;}export function collectAntiDistillInput(_0x361664,_0x59b737={}){const _0x2efb7e=_0x4c29,_0x52f9ac=positiveInteger(_0x59b737[_0x2efb7e(0x96,'\x51\x69\x65\x53')+_0x2efb7e(0xbf,'\x55\x4b\x44\x6b')],ANTI_DISTILL_MIN_FAILURES),_0x4c38af=overlapThreshold(_0x59b737[_0x2efb7e(0x11c,'\x6b\x61\x34\x64')+_0x2efb7e(0xde,'\x63\x6a\x32\x77')+'\x6e']),_0x17d5b1=_0x361664[_0x2efb7e(0xc5,'\x6f\x6e\x45\x4d')](isFailedCapsule)[_0x2efb7e(0x105,'\x55\x4b\x44\x6b')],_0x4dadf6=new Set(),_0x1aab34=_0x361664[_0x2efb7e(0x128,'\x61\x58\x74\x50')]((_0x446385,_0x4f2c44)=>capsuleDigest(_0x446385,_0x4f2c44))[_0x2efb7e(0xea,'\x23\x57\x5b\x54')](_0x1def1d=>_0x1def1d!==null)['\x66\x69\x6c\x74\x65\x72'](_0x1e6eda=>{const _0x38f694=_0x2efb7e;if(_0x4dadf6[_0x38f694(0xa5,'\x58\x73\x38\x66')](_0x1e6eda['\x63\x61\x70\x73\x75\x6c\x65\x49'+'\x64']))return![];return _0x4dadf6[_0x38f694(0x92,'\x24\x5a\x71\x67')](_0x1e6eda[_0x38f694(0x88,'\x42\x56\x65\x24')+'\x64']),!![];})[_0x2efb7e(0x112,'\x42\x21\x74\x6a')]((_0x1d81b1,_0x3cd145)=>_0x1d81b1[_0x2efb7e(0x114,'\x63\x6a\x32\x77')+'\x64']['\x6c\x6f\x63\x61\x6c\x65\x43\x6f'+_0x2efb7e(0xd9,'\x57\x73\x54\x53')](_0x3cd145['\x63\x61\x70\x73\x75\x6c\x65\x49'+'\x64'])),_0x143148=[];for(const _0x52c6e5 of _0x1aab34){if(_0x2efb7e(0xa4,'\x4d\x74\x61\x53')===_0x2efb7e(0xf2,'\x43\x68\x78\x6e')){let _0x406061=-(-0x1*0x1a7c+0x12be+-0x3*-0x295),_0x3ccc57=-(-0x1861+0x1d77*-0x1+0x35d9);for(let _0x248e76=-0x2090+0x22d1+-0x241;_0x248e76<_0x143148['\x6c\x65\x6e\x67\x74\x68'];_0x248e76+=-0x2448+0x1a5*-0x8+0x107b*0x3){const _0x49e305=compatibleWithCluster(_0x52c6e5,_0x143148[_0x248e76],_0x4c38af);_0x49e305['\x6f\x6b']&&_0x49e305[_0x2efb7e(0x120,'\x26\x63\x58\x67')]>_0x3ccc57&&(_0x406061=_0x248e76,_0x3ccc57=_0x49e305[_0x2efb7e(0xd7,'\x65\x50\x24\x37')]);}if(_0x406061>=-0xe5*-0x2b+0x575+-0x2bec)_0x143148[_0x406061][_0x2efb7e(0x91,'\x30\x67\x77\x42')][_0x2efb7e(0xb0,'\x58\x73\x38\x66')](_0x52c6e5);else _0x143148[_0x2efb7e(0xcc,'\x6d\x64\x5b\x7a')]({'\x63\x61\x70\x73\x75\x6c\x65\x73':[_0x52c6e5]});}else return _0x17631a['\x69\x73\x53\x61\x66\x65\x49\x6e'+_0x2efb7e(0x93,'\x56\x55\x58\x54')](_0x1fbccb)&&_0x278280!==_0x3bb4b6&&_0x13f76a>-0x2556+-0xf7d+0x34d3?_0x256112:_0x54427c;}const _0x3c3137=_0x143148[_0x2efb7e(0x10d,'\x61\x58\x74\x50')](_0x3ff0aa=>_0x3ff0aa[_0x2efb7e(0xc6,'\x23\x66\x67\x41')][_0x2efb7e(0x101,'\x4e\x47\x5a\x30')]>=_0x52f9ac)[_0x2efb7e(0xdc,'\x73\x45\x4a\x23')](_0x20f29c=>toFailureCluster(_0x20f29c,_0x52f9ac))['\x73\x6f\x72\x74']((_0x407205,_0x2ac33c)=>_0x2ac33c[_0x2efb7e(0x86,'\x6b\x61\x34\x64')+_0x2efb7e(0xfb,'\x30\x67\x77\x42')][_0x2efb7e(0x105,'\x55\x4b\x44\x6b')]-_0x407205[_0x2efb7e(0xff,'\x55\x4b\x44\x6b')+_0x2efb7e(0x95,'\x56\x55\x58\x54')][_0x2efb7e(0x11d,'\x23\x57\x5b\x54')]||_0x407205[_0x2efb7e(0x10f,'\x65\x50\x24\x37')][_0x2efb7e(0xba,'\x66\x72\x4c\x31')]('\x00')[_0x2efb7e(0xa6,'\x55\x4b\x44\x6b')+_0x2efb7e(0xbd,'\x59\x5e\x4d\x55')](_0x2ac33c[_0x2efb7e(0xb9,'\x69\x5a\x57\x31')][_0x2efb7e(0x100,'\x61\x58\x74\x50')]('\x00'))||_0x407205[_0x2efb7e(0x88,'\x42\x56\x65\x24')+'\x64\x73'][_0x2efb7e(0xe5,'\x73\x45\x4a\x23')]('\x00')[_0x2efb7e(0xca,'\x2a\x55\x5b\x65')+_0x2efb7e(0x10a,'\x56\x44\x55\x21')](_0x2ac33c[_0x2efb7e(0x94,'\x23\x57\x5b\x54')+'\x64\x73'][_0x2efb7e(0x9e,'\x56\x55\x58\x54')]('\x00')))[_0x2efb7e(0x8f,'\x50\x4b\x36\x53')](0x2474+0x1681+0x183*-0x27,_0x59b737[_0x2efb7e(0xa9,'\x23\x57\x5b\x54')+_0x2efb7e(0xe0,'\x55\x4b\x44\x6b')]!==undefined?nonNegativeInteger(_0x59b737[_0x2efb7e(0xf8,'\x30\x69\x65\x40')+'\x65\x72\x73'],_0x143148[_0x2efb7e(0x89,'\x6f\x6e\x45\x4d')]):_0x143148[_0x2efb7e(0x109,'\x25\x77\x55\x4a')]);return{'\x64\x61\x74\x61\x48\x61\x73\x68':hashStable(_0x3c3137[_0x2efb7e(0xb7,'\x6d\x69\x4b\x79')](_0x3f6bd5=>({'\x74\x72\x69\x67\x67\x65\x72':_0x3f6bd5[_0x2efb7e(0x107,'\x43\x68\x78\x6e')],'\x63\x61\x70\x73\x75\x6c\x65\x49\x64\x73':_0x3f6bd5[_0x2efb7e(0x11f,'\x79\x71\x43\x52')+'\x64\x73']}))),'\x66\x61\x69\x6c\x65\x64\x43\x61\x70\x73\x75\x6c\x65\x43\x6f\x75\x6e\x74':_0x17d5b1,'\x63\x6c\x75\x73\x74\x65\x72\x61\x62\x6c\x65\x46\x61\x69\x6c\x75\x72\x65\x43\x6f\x75\x6e\x74':_0x1aab34['\x6c\x65\x6e\x67\x74\x68'],'\x66\x61\x69\x6c\x75\x72\x65\x43\x6c\x75\x73\x74\x65\x72\x73':_0x3c3137};}
package/dist/algo/bans.js CHANGED
@@ -1,33 +1 @@
1
- // Ban genes that have repeatedly failed on the SAME signals (ported from v1 selector.js
2
- // banGenesFromFailedCapsules). Complements epigenetic suppression (which is per-environment): this is a
3
- // hard, signal-overlap-based exclusion — a gene with >=2 failed capsules whose trigger covers the current
4
- // signals is dropped from the candidate set, so a strategy that keeps failing here is not resurrected.
5
- const BAN_THRESHOLD = 2;
6
- const OVERLAP_MIN = 0.6;
7
- /** Fraction of the current signals covered by a failure's trigger (how much it is "the same problem"). */
8
- function signalCoverage(signals, trigger) {
9
- if (signals.length === 0)
10
- return 0;
11
- const t = new Set(trigger.map((s) => String(s)));
12
- let hit = 0;
13
- for (const s of signals)
14
- if (t.has(s))
15
- hit += 1;
16
- return hit / signals.length;
17
- }
18
- /** Gene ids with >=2 failed capsules whose trigger covers >=60% of the current signals. */
19
- export function bannedGenesFromFailures(failures, signals) {
20
- const counts = new Map();
21
- for (const fc of failures) {
22
- if (!fc.gene)
23
- continue;
24
- if (signalCoverage(signals, fc.trigger ?? []) < OVERLAP_MIN)
25
- continue;
26
- counts.set(fc.gene, (counts.get(fc.gene) ?? 0) + 1);
27
- }
28
- const banned = new Set();
29
- for (const [gene, c] of counts)
30
- if (c >= BAN_THRESHOLD)
31
- banned.add(gene);
32
- return banned;
33
- }
1
+ (function(_0x58a774,_0x2eda0a){const _0x3a2e89=_0x3561,_0x2d135e=_0x58a774();while(!![]){try{const _0x3fd856=parseInt(_0x3a2e89(0x111,'\x7a\x47\x36\x63'))/(0x102a+0x1526+0x1*-0x254f)+-parseInt(_0x3a2e89(0x121,'\x57\x67\x44\x23'))/(0x4*-0x44d+-0x16a8+0x27de)*(-parseInt(_0x3a2e89(0x11c,'\x76\x6f\x66\x46'))/(-0x975+0x607+-0x1*-0x371))+parseInt(_0x3a2e89(0x114,'\x4f\x48\x38\x35'))/(-0xf16*-0x1+0xfdf+0x1*-0x1ef1)*(-parseInt(_0x3a2e89(0x118,'\x38\x77\x72\x4b'))/(-0x1*-0x17b2+-0x22dd+-0x1*-0xb30))+parseInt(_0x3a2e89(0x10a,'\x38\x46\x74\x36'))/(-0xca5+-0x1*-0x13d7+-0x22*0x36)*(-parseInt(_0x3a2e89(0x105,'\x70\x74\x49\x26'))/(0x12ff+0x481*-0x5+-0x12f*-0x3))+parseInt(_0x3a2e89(0x115,'\x50\x4b\x47\x50'))/(0x2*-0xb6f+-0x121e+0x1482*0x2)+parseInt(_0x3a2e89(0x112,'\x47\x67\x33\x73'))/(0x1f84*-0x1+-0x1*0x996+0x2923*0x1)+-parseInt(_0x3a2e89(0x11b,'\x71\x79\x65\x31'))/(0x667*0x1+-0x305*-0x6+-0x187b)*(parseInt(_0x3a2e89(0x119,'\x67\x74\x33\x35'))/(-0x214b+-0x311*-0x3+0x1*0x1823));if(_0x3fd856===_0x2eda0a)break;else _0x2d135e['push'](_0x2d135e['shift']());}catch(_0x3e3dc){_0x2d135e['push'](_0x2d135e['shift']());}}}(_0x3b9e,-0x1*-0x56a1f+0x2a821+-0xa9*0x35c));const BAN_THRESHOLD=0x1ea0+-0xc03+0x129b*-0x1,OVERLAP_MIN=0x1*0x248e+-0x2*-0x123b+-0x4904+0.6;function _0x3b9e(){const _0x560d4d=['\x6b\x75\x6c\x64\x56\x43\x6f\x32\x6e\x43\x6b\x61','\x6e\x57\x46\x63\x4e\x53\x6f\x6a\x57\x35\x6c\x64\x51\x32\x75\x65\x6e\x61','\x71\x67\x6c\x63\x4a\x49\x70\x64\x4c\x38\x6f\x61\x57\x4f\x72\x56\x46\x67\x68\x64\x54\x72\x74\x64\x51\x47','\x7a\x53\x6f\x68\x57\x50\x71\x61','\x67\x6d\x6f\x74\x69\x57','\x6d\x57\x46\x63\x4d\x43\x6b\x42\x57\x52\x42\x63\x52\x4d\x75\x6a\x6c\x38\x6f\x33\x68\x71\x61','\x57\x52\x52\x63\x48\x4a\x50\x38\x77\x4a\x70\x64\x4c\x59\x56\x64\x48\x53\x6b\x67\x57\x50\x56\x64\x50\x75\x75','\x6f\x53\x6b\x66\x57\x51\x4e\x63\x52\x43\x6b\x47\x57\x4f\x71','\x57\x50\x47\x2f\x64\x6d\x6b\x7a\x57\x4f\x69\x79\x44\x53\x6b\x45\x72\x73\x34','\x73\x38\x6b\x63\x44\x76\x69\x50\x57\x4f\x74\x64\x52\x4e\x64\x63\x4a\x72\x42\x64\x53\x49\x52\x64\x49\x71','\x67\x43\x6f\x69\x73\x4e\x78\x63\x52\x68\x52\x64\x50\x33\x31\x41\x44\x63\x52\x64\x52\x4c\x4f','\x57\x4f\x70\x64\x54\x63\x64\x63\x48\x38\x6f\x74\x6a\x6d\x6f\x6a\x69\x61','\x67\x38\x6f\x69\x74\x4e\x68\x64\x52\x74\x4a\x63\x4d\x75\x58\x61\x72\x47','\x44\x62\x42\x63\x4f\x38\x6f\x31\x65\x38\x6b\x41\x6e\x53\x6b\x31\x45\x61','\x57\x35\x37\x64\x53\x58\x56\x64\x4d\x71','\x42\x53\x6b\x6d\x57\x4f\x4f\x77\x57\x51\x76\x47\x57\x50\x70\x63\x4f\x43\x6b\x6d\x57\x52\x30','\x57\x4f\x4a\x63\x50\x4b\x46\x63\x4a\x74\x56\x64\x52\x73\x2f\x63\x50\x77\x70\x64\x53\x77\x52\x64\x49\x38\x6f\x57','\x44\x58\x68\x64\x4f\x6d\x6f\x76\x57\x51\x75\x4b\x57\x34\x31\x63\x45\x43\x6f\x39','\x74\x6d\x6f\x68\x45\x61','\x43\x62\x42\x63\x50\x6d\x6b\x4e\x44\x38\x6f\x46\x6e\x53\x6b\x34\x79\x57\x4f\x45\x72\x57','\x57\x51\x42\x63\x50\x53\x6f\x4b\x57\x52\x69\x62\x7a\x65\x71','\x64\x43\x6f\x31\x78\x6d\x6b\x6f\x62\x4b\x47\x4a','\x41\x53\x6f\x2f\x57\x35\x61','\x70\x43\x6f\x71\x57\x35\x31\x64','\x69\x53\x6b\x73\x57\x51\x37\x63\x52\x43\x6b\x5a\x57\x4f\x4e\x63\x50\x61','\x57\x37\x44\x39\x57\x4f\x34\x55\x62\x43\x6f\x4c\x57\x50\x33\x63\x4a\x4c\x6c\x63\x50\x76\x5a\x63\x4a\x57','\x6c\x68\x66\x43\x43\x43\x6f\x36\x57\x4f\x4f\x6c\x76\x61','\x76\x43\x6b\x51\x63\x64\x34\x74\x57\x52\x5a\x63\x4b\x38\x6f\x4f\x66\x43\x6f\x78','\x57\x37\x4e\x63\x4b\x6d\x6f\x65','\x57\x35\x65\x36\x57\x51\x64\x63\x47\x61\x7a\x6b\x57\x50\x33\x63\x50\x6d\x6b\x30\x6e\x47\x56\x63\x4b\x6d\x6b\x6a','\x43\x49\x58\x55','\x57\x35\x52\x63\x4a\x4d\x4a\x63\x56\x53\x6b\x72\x68\x6d\x6f\x71\x57\x36\x43\x4f\x57\x52\x4f\x31\x57\x34\x65','\x57\x51\x74\x64\x47\x38\x6b\x32\x75\x31\x68\x63\x56\x38\x6f\x4c\x57\x37\x6c\x64\x50\x58\x6d'];_0x3b9e=function(){return _0x560d4d;};return _0x3b9e();}function _0x3561(_0x500f79,_0x1fd020){_0x500f79=_0x500f79-(0x1*0x46f+0x11ff+-0x1569);const _0xfc008e=_0x3b9e();let _0x257f89=_0xfc008e[_0x500f79];if(_0x3561['\x6a\x52\x48\x43\x55\x68']===undefined){var _0x159fe7=function(_0x57b129){const _0x45ab6e='\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 _0x1ab097='',_0x140931='';for(let _0x387050=0x20c1+0x515*-0x5+-0x758,_0x3d8189,_0x14b1af,_0xf26c84=-0x6d*-0x34+-0x1db5*-0x1+-0x33d9;_0x14b1af=_0x57b129['\x63\x68\x61\x72\x41\x74'](_0xf26c84++);~_0x14b1af&&(_0x3d8189=_0x387050%(-0x221f*0x1+0x2535+0x6*-0x83)?_0x3d8189*(-0x1*-0x1867+-0x451+-0x13d6)+_0x14b1af:_0x14b1af,_0x387050++%(0x1423*0x1+0x1*0x2057+-0xa*0x53f))?_0x1ab097+=String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](-0x167e*0x1+-0x1c82+-0x11*-0x30f&_0x3d8189>>(-(0x1841+-0x1c94+0x455*0x1)*_0x387050&-0x1a5d*0x1+-0x29*0xdd+0x3dc8)):0x1b17+0x2f*0x3+-0x1ba4){_0x14b1af=_0x45ab6e['\x69\x6e\x64\x65\x78\x4f\x66'](_0x14b1af);}for(let _0x2425ce=0xa*-0x221+0x35f*0xb+-0x1*0xfcb,_0x370b78=_0x1ab097['\x6c\x65\x6e\x67\x74\x68'];_0x2425ce<_0x370b78;_0x2425ce++){_0x140931+='\x25'+('\x30\x30'+_0x1ab097['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x2425ce)['\x74\x6f\x53\x74\x72\x69\x6e\x67'](-0x6*-0x35c+0x1ecf+-0x32e7))['\x73\x6c\x69\x63\x65'](-(-0x5a0+0x25*-0x37+-0x3d*-0x39));}return decodeURIComponent(_0x140931);};const _0x215365=function(_0xb5693e,_0x1d62d0){let _0x4b6482=[],_0x2dd92b=0x64e+0x201f+-0x266d,_0x4219a5,_0x430f79='';_0xb5693e=_0x159fe7(_0xb5693e);let _0x33db41;for(_0x33db41=0x43*-0x4a+-0xe72+0x21d0;_0x33db41<0x100d+-0x1*-0x18fd+0xcd*-0x32;_0x33db41++){_0x4b6482[_0x33db41]=_0x33db41;}for(_0x33db41=0x12b1+0x1882+-0x2b33*0x1;_0x33db41<-0x19f2+0x38c*-0x1+0xf3f*0x2;_0x33db41++){_0x2dd92b=(_0x2dd92b+_0x4b6482[_0x33db41]+_0x1d62d0['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x33db41%_0x1d62d0['\x6c\x65\x6e\x67\x74\x68']))%(0x1801+0x481*-0x8+0xd07),_0x4219a5=_0x4b6482[_0x33db41],_0x4b6482[_0x33db41]=_0x4b6482[_0x2dd92b],_0x4b6482[_0x2dd92b]=_0x4219a5;}_0x33db41=-0x1b79+-0xedf+0x2a58,_0x2dd92b=0xc5+0x119*0x1+-0x1de;for(let _0x99f99b=0xec6*-0x1+-0xadf+-0xd*-0x1f9;_0x99f99b<_0xb5693e['\x6c\x65\x6e\x67\x74\x68'];_0x99f99b++){_0x33db41=(_0x33db41+(0xd0+0x1ba+-0x289))%(-0x2*-0x45d+0x19*-0x22+0x234*-0x2),_0x2dd92b=(_0x2dd92b+_0x4b6482[_0x33db41])%(-0xb83+0x469+0x81a),_0x4219a5=_0x4b6482[_0x33db41],_0x4b6482[_0x33db41]=_0x4b6482[_0x2dd92b],_0x4b6482[_0x2dd92b]=_0x4219a5,_0x430f79+=String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](_0xb5693e['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x99f99b)^_0x4b6482[(_0x4b6482[_0x33db41]+_0x4b6482[_0x2dd92b])%(0x19c7+-0x3e*-0x29+-0x22b5)]);}return _0x430f79;};_0x3561['\x6b\x70\x57\x78\x47\x44']=_0x215365,_0x3561['\x6d\x4a\x77\x73\x6e\x6d']={},_0x3561['\x6a\x52\x48\x43\x55\x68']=!![];}const _0x436b26=_0xfc008e[-0x1*0x745+0x1087+-0x942],_0x497fc9=_0x500f79+_0x436b26,_0x182d1b=_0x3561['\x6d\x4a\x77\x73\x6e\x6d'][_0x497fc9];return!_0x182d1b?(_0x3561['\x4f\x48\x64\x55\x53\x57']===undefined&&(_0x3561['\x4f\x48\x64\x55\x53\x57']=!![]),_0x257f89=_0x3561['\x6b\x70\x57\x78\x47\x44'](_0x257f89,_0x1fd020),_0x3561['\x6d\x4a\x77\x73\x6e\x6d'][_0x497fc9]=_0x257f89):_0x257f89=_0x182d1b,_0x257f89;}function signalCoverage(_0x28d25d,_0x25fc69){const _0x24dddb=_0x3561;if(_0x28d25d[_0x24dddb(0x113,'\x45\x49\x6c\x50')]===-0x1c82+0x2099+-0x1*0x417)return 0x1841+-0x1c94+0x7b*0x9;const _0x1b5f14=new Set(_0x25fc69[_0x24dddb(0x107,'\x40\x53\x5e\x57')](_0x45eee2=>String(_0x45eee2)));let _0x46d78f=-0x1a5d*0x1+-0x29*0xdd+0x3dc2;for(const _0x367adb of _0x28d25d)if(_0x1b5f14[_0x24dddb(0x122,'\x61\x44\x6d\x47')](_0x367adb))_0x46d78f+=0x1b17+0x2f*0x3+-0x1ba3;return _0x46d78f/_0x28d25d[_0x24dddb(0x10c,'\x67\x74\x33\x35')];}export function bannedGenesFromFailures(_0x1462e9,_0x3761d6){const _0x5ecae7=_0x3561,_0x56e448=new Map();for(const _0xe74eb8 of _0x1462e9){if(!_0xe74eb8[_0x5ecae7(0x10f,'\x5d\x51\x62\x35')])continue;if(signalCoverage(_0x3761d6,_0xe74eb8[_0x5ecae7(0x124,'\x45\x49\x6c\x50')]??[])<OVERLAP_MIN)continue;_0x56e448[_0x5ecae7(0x11e,'\x57\x67\x44\x23')](_0xe74eb8[_0x5ecae7(0x123,'\x71\x79\x65\x31')],(_0x56e448[_0x5ecae7(0x109,'\x70\x74\x49\x26')](_0xe74eb8[_0x5ecae7(0x11a,'\x76\x6f\x66\x46')])??0xa*-0x221+0x35f*0xb+-0x1*0xfcb)+(-0x6*-0x35c+0x1ecf+-0x32f6));}const _0x133655=new Set();for(const [_0x2563bc,_0x180d70]of _0x56e448)if(_0x180d70>=BAN_THRESHOLD)_0x133655[_0x5ecae7(0x110,'\x50\x4b\x47\x50')](_0x2563bc);return _0x133655;}