@privacyscrubber/mcp-server 2.4.1 → 2.4.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.well-known/mcp/server-card.json +78 -0
- package/LICENSE +23 -0
- package/README.md +1 -1
- package/index.js +153 -47
- package/install.js +66 -3
- package/manifest.json +1 -1
- package/package.json +5 -1
- package/pii-masking-run.js +16 -11
- package/ps-license-manager.cjs +11 -261
- package/ps-license-manager.js +11 -261
- package/ps-pii-engine.cjs +8 -3608
- package/ps-pii-engine.js +8 -3608
- package/scrubber-core.cjs +8 -1801
- package/server.json +3 -3
package/pii-masking-run.js
CHANGED
|
@@ -27,7 +27,7 @@ const cmdIndex = args.indexOf("--");
|
|
|
27
27
|
|
|
28
28
|
if (args.includes("--version") || args.includes("-v")) {
|
|
29
29
|
const pkgPath = path.resolve(__dirname, './package.json');
|
|
30
|
-
let version = '2.4.
|
|
30
|
+
let version = '2.4.3';
|
|
31
31
|
try { version = JSON.parse(fs.readFileSync(pkgPath, 'utf8')).version; } catch (_) {}
|
|
32
32
|
console.log(`ps-guard / pii-masking-run v${version} (PrivacyScrubber MCP)`);
|
|
33
33
|
process.exit(0);
|
|
@@ -250,18 +250,23 @@ function performSanitization(text) {
|
|
|
250
250
|
if (!license.isPro && result.tokenMap) {
|
|
251
251
|
// Free tier: check for secrets and warn
|
|
252
252
|
let hasSecrets = false;
|
|
253
|
+
const SECRET_TOKEN_RE = /^\[(?:SECRET|API_TOKEN|AWS_KEY|JWT_TOKEN|STRIPE_KEY|OPENAI_KEY|DB_URI)_\d+\]$/;
|
|
253
254
|
Object.entries(result.tokenMap).forEach(([token, original]) => {
|
|
254
|
-
let isSecret =
|
|
255
|
-
|
|
256
|
-
detector
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
255
|
+
let isSecret = SECRET_TOKEN_RE.test(token);
|
|
256
|
+
if (!isSecret) {
|
|
257
|
+
for (const detector of DEVOPS_SECRETS_DETECTOR) {
|
|
258
|
+
detector.regex.lastIndex = 0;
|
|
259
|
+
if (detector.regex.test(original)) {
|
|
260
|
+
isSecret = true;
|
|
261
|
+
break;
|
|
262
|
+
}
|
|
260
263
|
}
|
|
261
264
|
}
|
|
262
265
|
if (isSecret) {
|
|
263
266
|
hasSecrets = true;
|
|
264
267
|
result.scrubbedText = result.scrubbedText.replaceAll(token, '[SECRET_BLOCKED_UPGRADE_TO_PRO]');
|
|
268
|
+
delete result.tokenMap[token];
|
|
269
|
+
delete localSessionMap[token];
|
|
265
270
|
}
|
|
266
271
|
});
|
|
267
272
|
|
|
@@ -280,7 +285,7 @@ function buildCisoAuditTelemetry(currentTokenMap = {}) {
|
|
|
280
285
|
const keys = Array.isArray(currentTokenMap) ? currentTokenMap : Object.keys(currentTokenMap);
|
|
281
286
|
for (const t of keys) {
|
|
282
287
|
const tokenStr = typeof t === 'string' ? t : (t.token || t.mask || '');
|
|
283
|
-
const match = tokenStr.match(/\[([A-
|
|
288
|
+
const match = tokenStr.match(/\[([A-Z0-9_]+)_\d+\]/);
|
|
284
289
|
const baseType = match ? match[1] : (tokenStr.replace(/\[|\]/g, '').replace(/_[0-9]+$/, '') || 'CUSTOM');
|
|
285
290
|
entities[baseType] = (entities[baseType] || 0) + 1;
|
|
286
291
|
totalCount++;
|
|
@@ -289,7 +294,7 @@ function buildCisoAuditTelemetry(currentTokenMap = {}) {
|
|
|
289
294
|
const types = Object.keys(entities);
|
|
290
295
|
let riskLevel = 'LOW EXPOSURE';
|
|
291
296
|
if (totalCount > 0) {
|
|
292
|
-
const hasHighRisk = types.some(t => ['ID', 'SSN', 'CREDIT_CARD', 'PASSPORT', 'BANK', 'API_KEY', 'SECRET', 'PASSWORD', 'MRN', 'KEY'].includes(t));
|
|
297
|
+
const hasHighRisk = types.some(t => ['ID', 'SSN', 'CREDIT_CARD', 'PASSPORT', 'BANK', 'API_KEY', 'SECRET', 'PASSWORD', 'MRN', 'KEY', 'AWS_KEY', 'STRIPE_KEY', 'JWT_TOKEN', 'API_TOKEN'].includes(t));
|
|
293
298
|
if (hasHighRisk || types.length >= 3 || totalCount >= 10) {
|
|
294
299
|
riskLevel = 'CRITICAL (HIGH EXPOSURE)';
|
|
295
300
|
} else if (types.length >= 2 || totalCount >= 3) {
|
|
@@ -399,7 +404,7 @@ function buildPsr2Receipt(tokenMap, timestamp = new Date().toISOString()) {
|
|
|
399
404
|
const labels = (tokenMap && typeof tokenMap === 'object' ? Object.keys(tokenMap) : []).slice().sort();
|
|
400
405
|
const counts = {};
|
|
401
406
|
for (const t of labels) {
|
|
402
|
-
const m = t.match(
|
|
407
|
+
const m = String(t).trim().match(/^(?:\[|<|\{\{|__)([A-Z0-9_]+)_\d+(?:\]|>|\}\}|__)$/);
|
|
403
408
|
const type = m ? m[1] : 'CUSTOM';
|
|
404
409
|
counts[type] = (counts[type] || 0) + 1;
|
|
405
410
|
}
|
|
@@ -436,7 +441,7 @@ function emitProofFeedback() {
|
|
|
436
441
|
const hasSecrets = (telemetry.types || []).some(t => ['API_KEY', 'SECRET', 'PASSWORD', 'TOKEN', 'KEY', 'CREDIT_CARD', 'BANK', 'ID', 'SSN'].includes(t));
|
|
437
442
|
if (hasSecrets || totalMasked >= 3) {
|
|
438
443
|
process.stderr.write(`\x1b[33m[ps-guard] Saved credentials/PII from model egress. Star the project: https://github.com/moxno/privacyscrubber-mcp\x1b[0m\n`);
|
|
439
|
-
process.stderr.write(`\x1b[90m One-click CLI: gh repo star moxno/privacyscrubber-mcp |
|
|
444
|
+
process.stderr.write(`\x1b[90m One-click CLI: gh repo star moxno/privacyscrubber-mcp | Feedback: https://privacyscrubber.com/uninstall/?mode=feedback&src=cli\x1b[0m\n`);
|
|
440
445
|
}
|
|
441
446
|
} else if (args.includes("--verbose")) {
|
|
442
447
|
process.stderr.write(`\x1b[36m[ps-guard] 0 item(s) masked · 0 bytes egress · Zero-Trust RAM verified\x1b[0m\n`);
|
package/ps-license-manager.cjs
CHANGED
|
@@ -1,261 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
exp = exp / 2n;
|
|
12
|
-
base = (base * base) % mod;
|
|
13
|
-
}
|
|
14
|
-
return res;
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
function bigIntToString(bi) {
|
|
18
|
-
let hex = bi.toString(16);
|
|
19
|
-
if (hex.length % 2 !== 0) hex = '0' + hex;
|
|
20
|
-
let str = '';
|
|
21
|
-
for (let i = 0; i < hex.length; i += 2) {
|
|
22
|
-
str += String.fromCharCode(parseInt(hex.substr(i, 2), 16));
|
|
23
|
-
}
|
|
24
|
-
return str;
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
function stringToBigInt(str) {
|
|
28
|
-
let hex = '';
|
|
29
|
-
for (let i = 0; i < str.length; i++) {
|
|
30
|
-
hex += str.charCodeAt(i).toString(16).padStart(2, '0');
|
|
31
|
-
}
|
|
32
|
-
return BigInt('0x' + hex);
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
function sha256(ascii) {
|
|
36
|
-
function rightRotate(value, amount) { return (value>>>amount) | (value<<(32 - amount)); }
|
|
37
|
-
var mathPow = Math.pow; var maxWord = mathPow(2, 32);
|
|
38
|
-
var lengthProperty = 'length'; var i, j;
|
|
39
|
-
var result = ''; var words = []; var asciiBitLength = ascii[lengthProperty]*8;
|
|
40
|
-
var hash = sha256.h = sha256.h || [];
|
|
41
|
-
var k = sha256.k = sha256.k || [];
|
|
42
|
-
var primeCounter = k[lengthProperty];
|
|
43
|
-
var isComposite = {};
|
|
44
|
-
for (var candidate = 2; primeCounter < 64; candidate++) {
|
|
45
|
-
if (!isComposite[candidate]) {
|
|
46
|
-
for (i = 0; i < 313; i += candidate) { isComposite[i] = candidate; }
|
|
47
|
-
hash[primeCounter] = (mathPow(candidate, .5)*maxWord)|0;
|
|
48
|
-
k[primeCounter++] = (mathPow(candidate, 1/3)*maxWord)|0;
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
ascii += '\x80';
|
|
52
|
-
while (ascii[lengthProperty]%64 - 56) ascii += '\x00';
|
|
53
|
-
for (i = 0; i < ascii[lengthProperty]; i++) {
|
|
54
|
-
j = ascii.charCodeAt(i);
|
|
55
|
-
if (j>>8) return;
|
|
56
|
-
words[i>>2] |= j << ((3 - i)%4)*8;
|
|
57
|
-
}
|
|
58
|
-
words[words[lengthProperty]] = ((asciiBitLength/maxWord)|0);
|
|
59
|
-
words[words[lengthProperty]] = (asciiBitLength)
|
|
60
|
-
for (j = 0; j < words[lengthProperty];) {
|
|
61
|
-
var w = words.slice(j, j += 16);
|
|
62
|
-
var oldHash = hash;
|
|
63
|
-
hash = hash.slice(0, 8);
|
|
64
|
-
for (i = 0; i < 64; i++) {
|
|
65
|
-
var w15 = w[i - 15], w2 = w[i - 2];
|
|
66
|
-
var a = hash[0], e = hash[4];
|
|
67
|
-
var temp1 = hash[7] + (rightRotate(e, 6) ^ rightRotate(e, 11) ^ rightRotate(e, 25)) + ((e&hash[5])^((~e)&hash[6])) + k[i] + (w[i] = (i < 16) ? w[i] : (w[i - 16] + (rightRotate(w15, 7) ^ rightRotate(w15, 18) ^ (w15>>>3)) + w[i - 7] + (rightRotate(w2, 17) ^ rightRotate(w2, 19) ^ (w2>>>10)))|0);
|
|
68
|
-
var temp2 = (rightRotate(a, 2) ^ rightRotate(a, 13) ^ rightRotate(a, 22)) + ((a&hash[1])^(a&hash[2])^(hash[1]&hash[2]));
|
|
69
|
-
hash = [(temp1 + temp2)|0].concat(hash);
|
|
70
|
-
hash[4] = (hash[4] + temp1)|0;
|
|
71
|
-
}
|
|
72
|
-
for (i = 0; i < 8; i++) { hash[i] = (hash[i] + oldHash[i])|0; }
|
|
73
|
-
}
|
|
74
|
-
for (i = 0; i < 8; i++) {
|
|
75
|
-
for (j = 3; j + 1; j--) {
|
|
76
|
-
var b = (hash[i]>>(j*8))&255;
|
|
77
|
-
result += ((b < 16) ? 0 : '') + b.toString(16);
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
return result;
|
|
81
|
-
}
|
|
82
|
-
// ── END LICENSE CRYPTO ──
|
|
83
|
-
|
|
84
|
-
class LicenseManager {
|
|
85
|
-
/**
|
|
86
|
-
* Validates a license key universally across all environments.
|
|
87
|
-
* @param {string} key - The license key.
|
|
88
|
-
* @param {object} options - Options mapping to environment specifics.
|
|
89
|
-
* @returns {object} { valid: boolean, tier: string|null, reason?: string, expires?: number }
|
|
90
|
-
*/
|
|
91
|
-
static validate(key, options = {}) {
|
|
92
|
-
if (!key) return { valid: false, tier: null, reason: "No key provided" };
|
|
93
|
-
const rawKey = key.trim();
|
|
94
|
-
const k = rawKey.toUpperCase();
|
|
95
|
-
const parts = k.split('-');
|
|
96
|
-
|
|
97
|
-
const now = options.mockTime !== undefined && options.mockTime !== null ? options.mockTime : Date.now();
|
|
98
|
-
let lastSeen = 0;
|
|
99
|
-
|
|
100
|
-
if (options.storage) {
|
|
101
|
-
lastSeen = parseInt(options.storage.getItem('ps_last_seen_time') || '0', 10);
|
|
102
|
-
if (options.mockTime === undefined || options.mockTime === null) {
|
|
103
|
-
options.storage.setItem('ps_last_seen_time', now.toString());
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
// Clock rollback guard
|
|
108
|
-
if ((options.mockTime === undefined || options.mockTime === null) && now < lastSeen) {
|
|
109
|
-
if (options.onAnomaly) options.onAnomaly();
|
|
110
|
-
return { valid: false, tier: null, reason: "Clock rollback anomaly detected" };
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
const _atob = typeof atob !== 'undefined' ? atob : (str) => Buffer.from(str, 'base64').toString('binary');
|
|
114
|
-
|
|
115
|
-
// 1. Process Pilot Keys (RSA-1024 Encrypted Timestamps)
|
|
116
|
-
if (k.startsWith('PS-PILOT-')) {
|
|
117
|
-
try {
|
|
118
|
-
const payload = rawKey.substring(9);
|
|
119
|
-
const binary = _atob(payload);
|
|
120
|
-
const bytes = new Uint8Array(binary.length);
|
|
121
|
-
for (let i = 0; i < binary.length; i++) {
|
|
122
|
-
bytes[i] = binary.charCodeAt(i);
|
|
123
|
-
}
|
|
124
|
-
let hex = '';
|
|
125
|
-
for (let i = 0; i < bytes.length; i++) {
|
|
126
|
-
hex += bytes[i].toString(16).padStart(2, '0');
|
|
127
|
-
}
|
|
128
|
-
const S = BigInt('0x' + hex);
|
|
129
|
-
|
|
130
|
-
const M = modPow(S, PUBLIC_KEY_E, PUBLIC_KEY_N);
|
|
131
|
-
const decryptedStr = bigIntToString(M);
|
|
132
|
-
|
|
133
|
-
if (decryptedStr.startsWith('ZTDS-PILOT-')) {
|
|
134
|
-
const expDate = parseInt(decryptedStr.substring(11), 10);
|
|
135
|
-
if (!isNaN(expDate)) {
|
|
136
|
-
if (now < expDate) return { valid: true, tier: 'TEAMS', expires: expDate };
|
|
137
|
-
|
|
138
|
-
if (options.onExpired) options.onExpired('Pilot');
|
|
139
|
-
return { valid: false, tier: null, reason: "Pilot expired" };
|
|
140
|
-
}
|
|
141
|
-
}
|
|
142
|
-
} catch(e) {
|
|
143
|
-
return { valid: false, tier: null, reason: "Pilot decryption failed" };
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
|
|
147
|
-
// 1.5. Process RSA Signed Keys (PS-RSA-...)
|
|
148
|
-
if (k.startsWith('PS-RSA-')) {
|
|
149
|
-
try {
|
|
150
|
-
const payload = rawKey.substring(7);
|
|
151
|
-
const binary = _atob(payload);
|
|
152
|
-
const bytes = new Uint8Array(binary.length);
|
|
153
|
-
for (let i = 0; i < binary.length; i++) {
|
|
154
|
-
bytes[i] = binary.charCodeAt(i);
|
|
155
|
-
}
|
|
156
|
-
let hex = '';
|
|
157
|
-
for (let i = 0; i < bytes.length; i++) {
|
|
158
|
-
hex += bytes[i].toString(16).padStart(2, '0');
|
|
159
|
-
}
|
|
160
|
-
const S = BigInt('0x' + hex);
|
|
161
|
-
|
|
162
|
-
const M = modPow(S, PUBLIC_KEY_E, PUBLIC_KEY_N);
|
|
163
|
-
const decryptedStr = bigIntToString(M);
|
|
164
|
-
|
|
165
|
-
if (decryptedStr.startsWith('ZTDS-LIC-')) {
|
|
166
|
-
const pieces = decryptedStr.split('-');
|
|
167
|
-
if (pieces.length >= 5) {
|
|
168
|
-
const tier = pieces[2];
|
|
169
|
-
const expires = parseInt(pieces[4], 10);
|
|
170
|
-
if (!isNaN(expires)) {
|
|
171
|
-
if (now < expires) return { valid: true, tier: tier, expires: expires };
|
|
172
|
-
|
|
173
|
-
if (options.onExpired) options.onExpired('RSA');
|
|
174
|
-
return { valid: false, tier: null, reason: "RSA key expired" };
|
|
175
|
-
}
|
|
176
|
-
}
|
|
177
|
-
}
|
|
178
|
-
} catch(e) {
|
|
179
|
-
return { valid: false, tier: null, reason: "RSA decryption failed" };
|
|
180
|
-
}
|
|
181
|
-
}
|
|
182
|
-
|
|
183
|
-
// 2. Process Modern Prefixed Keys (v1.4.2+ Salted Checksum)
|
|
184
|
-
if (parts.length === 4 && parts[0] === 'PS' && ['PRO', 'TEAMS', 'SDK', 'OEM', 'ENTERPRISE'].includes(parts[1])) {
|
|
185
|
-
const tier = parts[1];
|
|
186
|
-
const core = parts[2];
|
|
187
|
-
const checksum = parts[3];
|
|
188
|
-
const salt = "ZTDS_SALT_2026_!@#";
|
|
189
|
-
const input = core + salt + tier;
|
|
190
|
-
let sum = 0;
|
|
191
|
-
for (let i = 0; i < input.length; i++) {
|
|
192
|
-
sum += input.charCodeAt(i) * (i + 1);
|
|
193
|
-
}
|
|
194
|
-
const expectedChecksum = (sum % 9999).toString().padStart(4, '0');
|
|
195
|
-
if (checksum === expectedChecksum) {
|
|
196
|
-
return { valid: true, tier: tier };
|
|
197
|
-
}
|
|
198
|
-
}
|
|
199
|
-
|
|
200
|
-
// 3. Process Standard RS256 JWTs (eyJ...)
|
|
201
|
-
if (rawKey.startsWith('eyJ') && rawKey.split('.').length === 3) {
|
|
202
|
-
try {
|
|
203
|
-
const [b64Header, b64Payload, b64Signature] = rawKey.split('.');
|
|
204
|
-
|
|
205
|
-
let sigStr = b64Signature.replace(/-/g, '+').replace(/_/g, '/');
|
|
206
|
-
while (sigStr.length % 4) sigStr += '=';
|
|
207
|
-
const binarySig = _atob(sigStr);
|
|
208
|
-
let hexSig = '';
|
|
209
|
-
for (let i = 0; i < binarySig.length; i++) {
|
|
210
|
-
hexSig += binarySig.charCodeAt(i).toString(16).padStart(2, '0');
|
|
211
|
-
}
|
|
212
|
-
|
|
213
|
-
const S = BigInt('0x' + hexSig);
|
|
214
|
-
const M = modPow(S, PUBLIC_KEY_E, PUBLIC_KEY_N);
|
|
215
|
-
|
|
216
|
-
let mHex = M.toString(16);
|
|
217
|
-
if (mHex.length % 2 !== 0) mHex = '0' + mHex;
|
|
218
|
-
|
|
219
|
-
const expectedHash = sha256(b64Header + '.' + b64Payload);
|
|
220
|
-
|
|
221
|
-
if (mHex.endsWith(expectedHash)) {
|
|
222
|
-
const payloadJson = _atob(b64Payload.replace(/-/g, '+').replace(/_/g, '/'));
|
|
223
|
-
const payload = JSON.parse(payloadJson);
|
|
224
|
-
|
|
225
|
-
if (payload.exp && (now / 1000) < payload.exp) {
|
|
226
|
-
return { valid: true, tier: payload.tier || 'PRO', expires: payload.exp * 1000 };
|
|
227
|
-
} else {
|
|
228
|
-
if (options.onExpired) options.onExpired('JWT');
|
|
229
|
-
return { valid: false, tier: null, reason: "JWT expired" };
|
|
230
|
-
}
|
|
231
|
-
}
|
|
232
|
-
} catch(e) {
|
|
233
|
-
return { valid: false, tier: null, reason: "JWT validation failed" };
|
|
234
|
-
}
|
|
235
|
-
}
|
|
236
|
-
|
|
237
|
-
return { valid: false, tier: null, reason: "Invalid format" };
|
|
238
|
-
}
|
|
239
|
-
}
|
|
240
|
-
|
|
241
|
-
LicenseManager.PUBLIC_KEY_N = PUBLIC_KEY_N;
|
|
242
|
-
LicenseManager.PUBLIC_KEY_E = PUBLIC_KEY_E;
|
|
243
|
-
LicenseManager.OFFLINE_KEY_SALT = "ZTDS_SALT_2026_!@#";
|
|
244
|
-
|
|
245
|
-
// Export module for ES modules, CommonJS, and Browser Global
|
|
246
|
-
if (typeof globalThis !== 'undefined') {
|
|
247
|
-
globalThis.LicenseManager = LicenseManager;
|
|
248
|
-
}
|
|
249
|
-
if (typeof global !== 'undefined') {
|
|
250
|
-
global.LicenseManager = LicenseManager;
|
|
251
|
-
}
|
|
252
|
-
if (typeof window !== 'undefined') {
|
|
253
|
-
window.LicenseManager = LicenseManager;
|
|
254
|
-
}
|
|
255
|
-
if (typeof exports !== 'undefined') {
|
|
256
|
-
if (typeof module !== 'undefined' && module.exports) {
|
|
257
|
-
module.exports = LicenseManager;
|
|
258
|
-
}
|
|
259
|
-
exports.LicenseManager = LicenseManager;
|
|
260
|
-
}
|
|
261
|
-
})(typeof globalThis !== 'undefined' ? globalThis : (typeof window !== 'undefined' ? window : this));
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* PrivacyScrubber Core Processing Engine (ZTDS)
|
|
4
|
+
* Copyright (c) 2026 PrivacyScrubber. All Rights Reserved.
|
|
5
|
+
*
|
|
6
|
+
* WARNING: This is proprietary, commercial software.
|
|
7
|
+
* Unauthorized copying, modification, distribution, or use of this source code,
|
|
8
|
+
* via any medium, is strictly prohibited. Protected by international copyright
|
|
9
|
+
* laws and treaties.
|
|
10
|
+
*/
|
|
11
|
+
function _0x237e(){const _0x1cec33=['mJyZnq','Cej1Eq','DcbLEa','zNDowG','otaYmG','nteXoq','CgvYqW','ndyZnW','mZiYma','wwP5AG','BKTOtG','zxHW','wvHyza','mJqYoa','zxLk','zgjsAG','mdG1nW','Exb0Aq','nZu4nJa4ogDjBeLACG','mte0oq','wfvYsG','nZCXnW','mJm4oq','vf8Yma','nta2mZyZovnhs29Qyq','odyXmG','v0DMwa','nZG2oq','nJi2ma','odq5nW','nJa4mW','rvLFrq','x1nbta','C2vLBG','mJC2oq','mZG4nG','BNnLtq','yxn0xW','DhjPBq','odmXnW','zgf0Aq','odu1oq','nJy4mq','mJa2nq','nZCWnG','ndyWoa','DgvK','mta0ma','mZiXoq','mtiWmq','tKXOvW','C3rHCG','ufjp','su5fxW','u0eT','wLreuW','Dg9vCa','ntK2na','ntGXoa','ndi1mW','nZyXna','mZGXmW','B25fEa','DLLiqq','mJbdquL5DNi','mJa2nG','yMfZzq','Dg9tDa','zNjVBq','s2PNDq','BgvK','C0DjtW','BM93','odG1nW','yxnL','nZK3oq','zxrLyW','DcbKzq','vgHeBq','rvLFtG','C3vICW','z2v0sq','ndy3oa','B25bBG','zM9YBq','otG2oa','ufvcta','nJa1nG','y2HHCG','mtqYmq','ChnFBa','mtu0oq','mtK3na','nta0na','zxHWAq','oteYnq','mJmZna','nJG4na','mJG1mG','B24GzG','mZuYmq','nJm0nW','ote2oq','otm5nq','ndeYoq','mdmXmq','ndaWnW','otaZnW','ota4ma','mZC2ma','lvbjta','ntu0nW','DgvT','CgfYCW','mZyWoa','ndKXnq','tM8GAW','nJqYma','qNPPCq','v2L0Aa','ody2mG','r29tEa','zgvK','nZyWmW','mdy5na','BM9Tyq','u0fmva','mtmZnG','nZq3ma','BhKGza','odCYoq','y0DODa','uLnb','Aw5JBa','odyYoa','sLDuia','Cxvuyq','odiXmG','mZb2uu5ZAwy','t1qT','wLjTAa','nty3ma','y3j5Ca','uLbssq','t0vn','nta1oa','oti5na','ntaZnG','wfzquq','mtyWmG','mte3mq','DgLVBG','uNz4za','mJeZmq','mJzFiq','mZy5ma','mtyYnG','nJu1na','DgfYDa','sunFsW','Dw5Kzq','nJG5oq','ndq3nW','mJCXmq','ntaXnW','mdGYoq','C3rVCG','re5mAW','vgLTzq','mJuYnW','uLnbia','ufmTua','shD4zq','mJy4ma','rgrzrW','uNrWra','mdG2nq','nti0mG','otyWoq','A2v5ia','mti3mJiZnZnLsMXyrgy','uMHgsG','otm3oq','tgLJzq','q2XVyW','ntC0oq','AKr5Eq','C2v0sq','suXpva','ntC0nG','Cg93','B21HBa','t0zgta','ywLSzq','ndy4ma','ntu4nW','sw52yq','vhvYsW','y3PbCq','yw5HzW','x3rPBq','CM92Aq','CMLUzW','mZa5nG','DhjPBG','CNrZ','nZm1oa','mdmYma','BgLKia','zgvJCG','yLHWwG','mJK2ma','nZyWnq','mdy0nW','ntaZna','nM1SvgPowa','nJKXmG','mtCYoq','igzHAq','C3bSAq','nZqYna','CgLYzq','odiZnW','zw5KCW','nZmXmG','ndC3mG','whv3uW','uxnwsW','nJmWmW','mJeYnW','nJq5oq','mZC3ndu3nMj2y25kDG','otKWma','nty5mG','sLDu','ntG4na','q29Kzq','s1nhDq','nZu5nq','A0HyuG','ndG4mG','mZGWmW','nZa4nW','ugLSBW','CMvWBa','nZaYmG','ANHosG','mty0oa','DgLLCG','BgXIyq','odGZnty1t25jtw5L','y29UyW','mdu5mq','mJC2nW','nZmWoa','nJiXmq','oda1nW','ntmXoq','mtKWnq','odK3oq','ode0mG','ndu2mG','luXjqW','mtqXmq','mZqYmZu2zu1HzNLi','ote4mG','mZq4nG','BgvUzW','CgfKuW','rxPOEG','C2XPyW','ywnL','ntaXoq','nte1oa','nJC4mq','q2HHCG','zxKGCa','odeWnq','yMLUyq','mdC1na','mZq5na','BfHgCW','AKPlBG','mJu4mq','mta5nW','CMvK','nde1mW','odKYnq','mtC1nJy2nK1tCKz3zq','Bw9JAW','y2SGyq','ufmTuG','nZa2mq','tw9sCa','ywDL','ru5urq','mJe4oa','DMfSAq','DwrLCW','zMLUzq','mZu0ma','AYbYBW','odqYoq','zxHWBW','vevbtq','s0vzxW','nZq2mq','nde0oq','ndC5nG','mJCZna','nta4nG','DhnxAq','nJi0mG','rMzPvW','D0rhua','u0rl','ody1mG','nJKZmG','mdq4nq'];_0x237e=function(){return _0x1cec33;};return _0x237e();}function _0x2fed(_0x251c0e,_0x5068d3){_0x251c0e=_0x251c0e-0x150;const _0x237ef4=_0x237e();let _0x2fedad=_0x237ef4[_0x251c0e];if(_0x2fed['DFEvSY']===undefined){var _0x1d0f41=function(_0x5ce074){const _0x1bc1df='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5c3876='',_0x1ffe45='';for(let _0x12dd67=0x0,_0x17db97,_0x26100e,_0x3c7550=0x0;_0x26100e=_0x5ce074['charAt'](_0x3c7550++);~_0x26100e&&(_0x17db97=_0x12dd67%0x4?_0x17db97*0x40+_0x26100e:_0x26100e,_0x12dd67++%0x4)?_0x5c3876+=String['fromCharCode'](0xff&_0x17db97>>(-0x2*_0x12dd67&0x6)):0x0){_0x26100e=_0x1bc1df['indexOf'](_0x26100e);}for(let _0x3b25fb=0x0,_0x55416b=_0x5c3876['length'];_0x3b25fb<_0x55416b;_0x3b25fb++){_0x1ffe45+='%'+('00'+_0x5c3876['charCodeAt'](_0x3b25fb)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1ffe45);};_0x2fed['ouKyYX']=_0x1d0f41,_0x2fed['iDRBkx']={},_0x2fed['DFEvSY']=!![];}const _0x547b5c=_0x237ef4[0x0],_0x19e3fa=_0x251c0e+_0x547b5c,_0x35a883=_0x2fed['iDRBkx'][_0x19e3fa];return!_0x35a883?(_0x2fedad=_0x2fed['ouKyYX'](_0x2fedad),_0x2fed['iDRBkx'][_0x19e3fa]=_0x2fedad):_0x2fedad=_0x35a883,_0x2fedad;}const _0x3ba9aa=_0x2fed,_0x3f9338=_0x2fed;(function(_0x218b8e,_0x350524){const _0x470868={_0x3c3e98:0x247,_0x4a1a6e:0x25f,_0x238187:0x226,_0x4ba6e2:0x17f,_0x3d9084:0x239,_0x3b1a01:0x216,_0x343c93:0x157,_0x1caf21:0x151,_0x1d7519:0x1f3,_0x5b282:0x1c9},_0x2949a7=_0x2fed,_0xa34ef3=_0x2fed,_0x5d957d=_0x218b8e();while(!![]){try{const _0x4a1b50=parseInt(_0x2949a7(_0x470868._0x3c3e98))/0x1+parseInt(_0xa34ef3(_0x470868._0x4a1a6e))/0x2+parseInt(_0xa34ef3(_0x470868._0x238187))/0x3+-parseInt(_0xa34ef3(_0x470868._0x4ba6e2))/0x4*(-parseInt(_0x2949a7(_0x470868._0x3d9084))/0x5)+-parseInt(_0xa34ef3(_0x470868._0x3b1a01))/0x6*(-parseInt(_0xa34ef3(_0x470868._0x343c93))/0x7)+parseInt(_0x2949a7(_0x470868._0x1caf21))/0x8+parseInt(_0x2949a7(_0x470868._0x1d7519))/0x9*(-parseInt(_0xa34ef3(_0x470868._0x5b282))/0xa);if(_0x4a1b50===_0x350524)break;else _0x5d957d['push'](_0x5d957d['shift']());}catch(_0xb099e9){_0x5d957d['push'](_0x5d957d['shift']());}}}(_0x237e,0xc1acd),function(_0x5caef8){const _0x33efa7={_0x409f96:0x199,_0xd4d383:0x160,_0x43d64c:0x1df,_0x3583ec:0x26a,_0x5c1e34:0x1ea,_0x41d8c5:0x1fb,_0x29b97a:0x176,_0x2507b0:0x1ad,_0x3643dd:0x1ca,_0x3ce037:0x232,_0x523fb7:0x1c3,_0x28d84a:0x27a,_0xcc184d:0x156,_0x3faaa9:0x1d9,_0x36f061:0x1c6,_0x4fd497:0x19d,_0x4233b7:0x25c,_0x5bd3b0:0x1d8,_0x39c2d3:0x16e,_0x64bdbe:0x215,_0x59874c:0x19f,_0x365493:0x1f0,_0x4b53d6:0x230,_0x371773:0x1ec,_0x420848:0x24f,_0x2f8892:0x25d,_0x5836bf:0x23f,_0x41d241:0x22d,_0x2c2ed0:0x1b1,_0x11f407:0x1f1,_0x2f202a:0x1ab,_0x2fb9ef:0x28b,_0x25a81c:0x218,_0x138f5e:0x213,_0x1fd857:0x228,_0x43e4d3:0x267,_0x13f0d9:0x254,_0x348ca5:0x1dc,_0x3ea806:0x170,_0x9fbade:0x1aa,_0x11246b:0x285,_0x35d619:0x224,_0x879031:0x188,_0x1066f6:0x241,_0x3f05f0:0x155,_0x21e057:0x15d,_0x486184:0x225,_0x5c86db:0x256,_0x2d339d:0x1f5,_0x4a3354:0x19e,_0x1c6349:0x16c,_0x124560:0x1e2,_0x437763:0x274,_0x57ded7:0x1e1,_0x2341b6:0x22f,_0x3a8e95:0x15a,_0x48b2f2:0x201,_0x1ddbcb:0x1ef,_0x320592:0x20a,_0x4720ee:0x1c5,_0x188ba5:0x152,_0x600d98:0x1a7,_0x175367:0x19a,_0x528389:0x275,_0x284b84:0x1db,_0x393533:0x25a,_0x3a0d44:0x1e4,_0x155886:0x251,_0x4348bf:0x25e,_0x4f97ca:0x166,_0x1eb39b:0x198,_0x39e121:0x196,_0x4d0608:0x242,_0x28c5e8:0x214,_0x433644:0x21d,_0x10fe83:0x1c1,_0x52c909:0x286,_0x172df2:0x282,_0x26b85a:0x179,_0x51a724:0x15c,_0x1bd2ba:0x277,_0x575c52:0x27c,_0x5b7d70:0x244,_0x1a300b:0x27b,_0xfbc460:0x1b4,_0x3b51a1:0x21b,_0x203546:0x249,_0xcd7a75:0x1b7,_0x2f5d24:0x1be,_0x2a3765:0x1a6,_0x1f956d:0x220,_0x26f735:0x1cc,_0x11e0e7:0x161,_0x4c4d00:0x15b,_0x471744:0x21f,_0x5fbebd:0x1f8,_0x102390:0x178,_0x3c61ad:0x16a,_0x5b7a46:0x1d1,_0x3c3bb0:0x23e,_0x156aa4:0x272,_0x5d1a38:0x212,_0x1d1875:0x1d0,_0x46c58a:0x1ac,_0x5d7244:0x1c8,_0x22aad1:0x23d,_0x3284be:0x1b2,_0x332abc:0x1a3,_0x54de87:0x19b,_0xfe9aeb:0x248,_0x5ef732:0x273,_0x93441c:0x162,_0x113d0c:0x223,_0x5220d7:0x1d2,_0xfde595:0x26d,_0x414dcf:0x28e,_0x45bef7:0x22a,_0x4d7fe6:0x231,_0x157166:0x217,_0x2fe2a3:0x1da,_0x559e6c:0x227,_0x47ea1e:0x1e3,_0x5f26d7:0x257,_0x2ba857:0x1d4,_0x809e27:0x27e,_0x429f40:0x246,_0x5947ba:0x16b,_0x476b42:0x1a5,_0x22f550:0x195,_0x209e6c:0x1de,_0xfd22da:0x18e,_0x5c04d8:0x1de,_0x1ea8a4:0x15e,_0x193b23:0x174,_0x29f4ce:0x270,_0x4ae373:0x1bd,_0x4b3611:0x176,_0x5b14f0:0x15f,_0x43bb5e:0x1f6,_0x1e2247:0x163,_0x3eadb3:0x163,_0x397407:0x206,_0x32c745:0x1f6,_0x10fea0:0x206,_0x2236d6:0x26e,_0x32d43c:0x26e,_0x2a5017:0x20c,_0x592dad:0x163},_0x223d04={_0x185981:0x1b3,_0x4ff20a:0x253,_0x341bca:0x208,_0x50b241:0x165,_0x1ff7cd:0x177,_0x4580d8:0x21a,_0x385a26:0x260,_0x13d929:0x1e7,_0x5d92cf:0x260,_0xa8b3d:0x1e7,_0x46af88:0x187,_0x5d239f:0x265,_0xec027e:0x1e5,_0x2523dd:0x190,_0x944062:0x199,_0x1ca49b:0x164,_0x198b14:0x160,_0x429070:0x207,_0x51f14f:0x260,_0x4abce5:0x265,_0x502515:0x1fa,_0xb0158e:0x1af,_0xda68a8:0x27f,_0x3dc4cc:0x182,_0x1f8c54:0x209,_0x520627:0x260,_0x4e68cd:0x260,_0x59a88f:0x1e7,_0x614980:0x1fe,_0x514a91:0x1f7,_0x20ece7:0x26c,_0x26b323:0x238,_0xd9da38:0x261,_0x5661ef:0x1bc,_0xd73071:0x1c0,_0x3c304d:0x18b,_0x83974a:0x16d,_0x527f64:0x1eb,_0x11740d:0x172,_0x5dc136:0x276,_0x24c8eb:0x17e,_0x1cf550:0x18f,_0x22fb7e:0x20b,_0x4d760b:0x24a,_0x13adb7:0x1b8,_0x5cfb16:0x24a,_0x5c0b7c:0x197,_0x6ace2b:0x22b,_0x49de57:0x182,_0x1ad3a1:0x1dd,_0x1c9364:0x221,_0x3b6bd1:0x1e6,_0x5a8500:0x171,_0x2082a8:0x18f,_0x4831b4:0x26f,_0x43b998:0x21c,_0x394bdd:0x28a,_0xdee3f6:0x232,_0x4c98e1:0x280,_0x2127b6:0x1cd,_0x2193b4:0x1d6,_0x569f3c:0x219,_0x29d9e6:0x185,_0x304f3b:0x172,_0x5a8604:0x276,_0x22e9d1:0x262,_0x336ac3:0x175,_0x523d5c:0x24a,_0x197204:0x24b,_0x460fd0:0x276,_0x49029e:0x176,_0x26ffc7:0x245,_0x18af31:0x24a,_0x55d158:0x17d,_0x194246:0x21c,_0x21cb2d:0x1ed,_0x195c55:0x1e9,_0xedabe2:0x1f2,_0x4ca47a:0x19d,_0x2f2ec4:0x1a2,_0xf92ec6:0x200,_0xb9b55c:0x173,_0x2d5932:0x26f,_0x571bf4:0x205,_0x4905a0:0x1cf,_0x476085:0x266,_0x180d2d:0x1ce,_0x105876:0x1c4,_0x22740b:0x269,_0x15a28a:0x1f4,_0x5826f2:0x22e,_0x3b3c0d:0x197,_0x493b25:0x22c,_0x4dbeb4:0x28d,_0x26b4a1:0x233,_0x362546:0x233,_0x4dbf72:0x24e,_0x3b1783:0x279,_0x1fcbde:0x24a,_0x18b35a:0x197,_0x26bf9e:0x22b,_0x1ac48e:0x209,_0x376726:0x1dd,_0x4aa716:0x182,_0x1cf295:0x1c7,_0x30f8cf:0x259,_0x27e63e:0x21e,_0x98d1c7:0x1b6,_0x2ea9eb:0x264,_0x26d7da:0x233,_0x3de7c9:0x24e,_0x402851:0x24e,_0x1cd9c6:0x1b0,_0x369daf:0x289,_0x9ba96e:0x289,_0x4ed265:0x237,_0x128e87:0x288,_0x51d621:0x229,_0x120922:0x1d7,_0x55462e:0x1c6,_0x4730cd:0x268,_0x191717:0x167,_0x5c654b:0x203,_0x2073ef:0x20f},_0x410d7c={_0xb2a7f9:0x1fd,_0x44a43a:0x1b5,_0x3de973:0x281,_0x3fec52:0x197,_0x274435:0x159,_0x3aa05f:0x24d,_0x595bcf:0x235,_0x1cd75b:0x222,_0x3d03b7:0x18d,_0x46e268:0x1c2,_0x5f5885:0x278,_0x17e797:0x1ee,_0x5df99b:0x258,_0x1d924f:0x287,_0x3cb83f:0x1f9,_0x4a66b2:0x204,_0x37df93:0x153,_0x377aa5:0x1cb,_0x1b8f3b:0x182},_0x454903={_0x981e11:0x24a,_0x208f7d:0x22b,_0x4c774d:0x209,_0x20eb94:0x24b,_0xa9b33e:0x1dd},_0x57f658={_0x3527b7:0x182,_0x10d587:0x24a,_0x3d70a2:0x183,_0x3955ee:0x252,_0x134678:0x22b,_0x42399b:0x1b5,_0x41e2e8:0x18f},_0x560926={_0x50d7fd:0x24c,_0x188070:0x1c7},_0xefc815=_0x2fed,_0x542075=_0x2fed,_0x3844e7={'Ezhzh':function(_0xba07d5,_0x1b242d){return _0xba07d5/_0x1b242d;},'quTad':function(_0x40a1a8,_0x35c5b6){return _0x40a1a8%_0x35c5b6;},'fwNZf':function(_0x2ce55a,_0x1dd2c1){return _0x2ce55a*_0x1dd2c1;},'Bziqe':function(_0x4cf663,_0x3ee7ec,_0x4f128f){return _0x4cf663(_0x3ee7ec,_0x4f128f);},'Kjguq':function(_0x4229c5,_0x595704){return _0x4229c5/_0x595704;},'WGfXC':function(_0x150ba6,_0x3960ef){return _0x150ba6>>_0x3960ef;},'bXpZm':function(_0x2a40a2,_0x18efd1){return _0x2a40a2<<_0x18efd1;},'jxNJE':function(_0x1be6f0,_0xa86b14,_0x106ecd){return _0x1be6f0(_0xa86b14,_0x106ecd);},'QsVKP':function(_0x2671b0,_0x1e23ce){return _0x2671b0^_0x1e23ce;},'ThDmF':function(_0x31ee90,_0x457761){return _0x31ee90|_0x457761;},'cGhtN':function(_0x722424,_0x42814d){return _0x722424+_0x42814d;},'FfiWv':function(_0x48b3b9,_0xbeb5df){return _0x48b3b9+_0xbeb5df;},'RtpDV':function(_0x58f2f8,_0x277a3b){return _0x58f2f8^_0x277a3b;},'lXFsl':function(_0x47f40b,_0x49d5cb,_0x20e5b8){return _0x47f40b(_0x49d5cb,_0x20e5b8);},'YjyjJ':function(_0x3dbcfb,_0x107b80,_0x124320){return _0x3dbcfb(_0x107b80,_0x124320);},'jDyys':function(_0x10029e,_0x3b5683,_0x57d593){return _0x10029e(_0x3b5683,_0x57d593);},'TurKa':function(_0x37857d,_0x4b6728){return _0x37857d^_0x4b6728;},'XUrJL':function(_0x18d53a,_0x4d4fcc){return _0x18d53a&_0x4d4fcc;},'ZRmhL':function(_0x46cd7,_0x402011){return _0x46cd7&_0x402011;},'pBuyI':_0xefc815(_0x33efa7._0x409f96)+_0x542075(0x164)+_0x542075(_0x33efa7._0xd4d383)+_0x542075(0x207)+'e','Hwxeg':_0x542075(_0x33efa7._0x43d64c)+_0x542075(_0x33efa7._0x3583ec)+'d','vYHAk':_0xefc815(_0x33efa7._0x5c1e34)+_0x542075(_0x33efa7._0x41d8c5)+'-','GoSxc':function(_0x2b60aa,_0x8bdb2e){return _0x2b60aa<_0x8bdb2e;},'XuwST':function(_0x54a188,_0x575d3a){return _0x54a188+_0x575d3a;},'DNLkn':function(_0x2e7240,_0x58d72b,_0x32cb48,_0x538a72){return _0x2e7240(_0x58d72b,_0x32cb48,_0x538a72);},'NLhWI':_0x542075(_0x33efa7._0x29b97a)+_0x542075(_0x33efa7._0x2507b0)+_0x542075(_0x33efa7._0x3643dd),'YXXdG':_0xefc815(_0x33efa7._0x3ce037)+'t','DdYGn':_0x542075(_0x33efa7._0x523fb7),'czAqz':_0xefc815(_0x33efa7._0x28d84a),'RhFJZ':_0xefc815(_0x33efa7._0x29b97a)+_0xefc815(0x15f)+_0xefc815(_0x33efa7._0xcc184d)+_0x542075(_0x33efa7._0x3faaa9)+'@#','kHXRd':function(_0x425ed5,_0x32ae20){return _0x425ed5+_0x32ae20;},'KSGux':function(_0x27ec11,_0x71ca03){return _0x27ec11+_0x71ca03;},'dbRjC':function(_0x515451,_0x6c3f7f){return _0x515451===_0x6c3f7f;},'wDGPR':function(_0x370ba2,_0x3a8f0f){return _0x370ba2%_0x3a8f0f;},'jJKnd':function(_0x132ce3,_0x158364){return _0x132ce3+_0x158364;},'MoRpg':function(_0x5cd580,_0x19f1e5){return _0x5cd580(_0x19f1e5);},'nKhNF':_0xefc815(0x173),'Rvxdb':_0xefc815(_0x33efa7._0x36f061)+_0xefc815(_0x33efa7._0x4fd497)+_0xefc815(_0x33efa7._0x4233b7)},_0x3d1e25=BigInt(_0x542075(_0x33efa7._0x5bd3b0)+_0xefc815(0x18a)+_0x542075(_0x33efa7._0x39c2d3)+_0x542075(_0x33efa7._0x64bdbe)+_0x542075(0x191)+_0x542075(_0x33efa7._0x59874c)+_0x542075(_0x33efa7._0x365493)+_0xefc815(_0x33efa7._0x4b53d6)+_0x542075(0x194)+_0x542075(0x1a0)+_0xefc815(_0x33efa7._0x371773)+_0x542075(_0x33efa7._0x420848)+_0x542075(_0x33efa7._0x2f8892)+_0x542075(_0x33efa7._0x5836bf)+_0xefc815(_0x33efa7._0x41d241)+_0xefc815(_0x33efa7._0x2c2ed0)+_0xefc815(_0x33efa7._0x11f407)+_0xefc815(_0x33efa7._0x2f202a)+_0xefc815(_0x33efa7._0x2fb9ef)+_0x542075(_0x33efa7._0x25a81c)+_0xefc815(_0x33efa7._0x138f5e)+_0x542075(_0x33efa7._0x1fd857)+_0xefc815(_0x33efa7._0x43e4d3)+_0x542075(_0x33efa7._0x13f0d9)+_0xefc815(_0x33efa7._0x348ca5)+_0xefc815(_0x33efa7._0x3ea806)+_0x542075(0x16f)+_0xefc815(_0x33efa7._0x9fbade)+_0x542075(_0x33efa7._0x11246b)+_0x542075(_0x33efa7._0x35d619)+_0xefc815(0x17b)+_0xefc815(_0x33efa7._0x879031)+_0xefc815(_0x33efa7._0x1066f6)+_0xefc815(0x240)+_0xefc815(_0x33efa7._0x3f05f0)+_0x542075(_0x33efa7._0x21e057)+_0xefc815(_0x33efa7._0x486184)+_0xefc815(_0x33efa7._0x5c86db)+_0x542075(_0x33efa7._0x2d339d)+_0xefc815(_0x33efa7._0x4a3354)+_0x542075(_0x33efa7._0x1c6349)+_0xefc815(0x25b)+_0xefc815(_0x33efa7._0x124560)+_0x542075(_0x33efa7._0x437763)+_0x542075(_0x33efa7._0x57ded7)+_0x542075(0x27d)+_0x542075(_0x33efa7._0x2341b6)+_0x542075(_0x33efa7._0x3a8e95)+_0x542075(_0x33efa7._0x48b2f2)+_0xefc815(0x1ae)+_0x542075(0x1a8)+_0xefc815(0x17a)+_0xefc815(_0x33efa7._0x1ddbcb)+_0x542075(0x19c)+_0xefc815(_0x33efa7._0x320592)+_0xefc815(_0x33efa7._0x4720ee)+_0x542075(0x1ba)+_0xefc815(_0x33efa7._0x188ba5)+_0x542075(_0x33efa7._0x600d98)+_0xefc815(_0x33efa7._0x175367)+_0x542075(_0x33efa7._0x528389)+_0x542075(0x250)+_0xefc815(0x20d)+_0x542075(_0x33efa7._0x284b84)+_0xefc815(0x158)+_0x542075(_0x33efa7._0x393533)+_0xefc815(_0x33efa7._0x3a0d44)+_0xefc815(_0x33efa7._0x155886)+_0x542075(_0x33efa7._0x4348bf)+_0x542075(_0x33efa7._0x4f97ca)+_0xefc815(_0x33efa7._0x1eb39b)+_0xefc815(_0x33efa7._0x39e121)+_0xefc815(0x1e0)+_0x542075(_0x33efa7._0x4d0608)+_0xefc815(_0x33efa7._0x28c5e8)+_0x542075(_0x33efa7._0x433644)+_0x542075(_0x33efa7._0x10fe83)+_0xefc815(_0x33efa7._0x52c909)+_0x542075(0x154)+_0xefc815(_0x33efa7._0x172df2)+_0x542075(_0x33efa7._0x26b85a)+_0xefc815(_0x33efa7._0x51a724)+_0x542075(_0x33efa7._0x1bd2ba)+_0xefc815(0x263)+_0xefc815(_0x33efa7._0x575c52)+_0xefc815(0x26b)+_0xefc815(_0x33efa7._0x5b7d70)+_0xefc815(_0x33efa7._0x1a300b)+_0xefc815(_0x33efa7._0xfbc460)+_0xefc815(_0x33efa7._0x3b51a1)+_0xefc815(_0x33efa7._0x203546)+_0xefc815(0x168)+_0xefc815(_0x33efa7._0xcd7a75)+_0xefc815(0x1d5)+_0xefc815(0x1a4)+_0xefc815(_0x33efa7._0x2f5d24)+_0x542075(0x243)+_0x542075(_0x33efa7._0x2a3765)+_0xefc815(_0x33efa7._0x1f956d)+_0x542075(_0x33efa7._0x26f735)+_0xefc815(0x1fc)+_0xefc815(_0x33efa7._0x11e0e7)+_0x542075(_0x33efa7._0x4c4d00)+_0x542075(_0x33efa7._0x471744)+_0xefc815(_0x33efa7._0x5fbebd)+_0xefc815(_0x33efa7._0x102390)+_0xefc815(_0x33efa7._0x3c61ad)+_0xefc815(_0x33efa7._0x5b7a46)+_0x542075(_0x33efa7._0x3c3bb0)+_0x542075(_0x33efa7._0x156aa4)+_0xefc815(_0x33efa7._0x5d1a38)+_0x542075(0x169)+_0xefc815(0x1e8)+_0xefc815(_0x33efa7._0x1d1875)+_0xefc815(_0x33efa7._0x46c58a)+_0xefc815(_0x33efa7._0x5d7244)+_0x542075(_0x33efa7._0x22aad1)+_0x542075(0x1bf)+_0x542075(_0x33efa7._0x3284be)+_0x542075(_0x33efa7._0x332abc)+_0xefc815(_0x33efa7._0x54de87)+_0x542075(0x234)+_0xefc815(_0x33efa7._0xfe9aeb)+_0x542075(_0x33efa7._0x5ef732)+_0xefc815(_0x33efa7._0x93441c)+_0x542075(_0x33efa7._0x113d0c)+_0x542075(_0x33efa7._0x5220d7)+_0xefc815(0x283)+_0x542075(0x180)+_0x542075(0x23c)+_0xefc815(0x23b)+_0x542075(0x1a9)+_0x542075(0x1a1)+_0x542075(0x17c)+_0xefc815(0x271)+_0xefc815(_0x33efa7._0xfde595)+_0xefc815(_0x33efa7._0x414dcf)+_0xefc815(_0x33efa7._0x10fe83)+_0x542075(_0x33efa7._0x45bef7)+_0xefc815(_0x33efa7._0x4d7fe6)+_0xefc815(_0x33efa7._0x157166)+_0xefc815(_0x33efa7._0x2fe2a3)+_0x542075(_0x33efa7._0x559e6c)+_0xefc815(_0x33efa7._0x47ea1e)+_0x542075(0x20e)+_0xefc815(_0x33efa7._0x5f26d7)+_0x542075(_0x33efa7._0x2ba857)+_0xefc815(0x1bb)+_0xefc815(0x236)+_0x542075(_0x33efa7._0x809e27)+_0x542075(_0x33efa7._0x429f40)+_0x542075(_0x33efa7._0x5947ba)+_0x542075(0x202)+_0xefc815(_0x33efa7._0x476b42)+'1'),_0x5dd816=0x10001n;function _0x1aeaf4(_0x4ac942,_0x46259f,_0x512d06){const _0x4ee035=_0xefc815,_0xcb3e65=_0xefc815;let _0x3d1e6d=0x1n;_0x4ac942=_0x4ac942%_0x512d06;while(_0x46259f>0x0n){if(_0x46259f%0x2n===0x1n)_0x3d1e6d=_0x3d1e6d*_0x4ac942%_0x512d06;_0x46259f=_0x3844e7[_0x4ee035(_0x560926._0x50d7fd)+'h'](_0x46259f,0x2n),_0x4ac942=_0x3844e7[_0x4ee035(_0x560926._0x188070)+'d'](_0x3844e7[_0xcb3e65(0x281)+'f'](_0x4ac942,_0x4ac942),_0x512d06);}return _0x3d1e6d;}function _0x4646f8(_0x51195e){const _0x3e43e7=_0x542075,_0x14df76=_0x542075;let _0x9f48e2=_0x51195e[_0x3e43e7(_0x57f658._0x3527b7)+_0x14df76(0x209)](0x10);if(_0x9f48e2[_0x14df76(0x24a)+'th']%0x2!==0x0)_0x9f48e2='0'+_0x9f48e2;let _0x2c4a08='';for(let _0x38c17c=0x0;_0x38c17c<_0x9f48e2[_0x3e43e7(_0x57f658._0x10d587)+'th'];_0x38c17c+=0x2){_0x2c4a08+=String[_0x3e43e7(_0x57f658._0x3d70a2)+_0x3e43e7(_0x57f658._0x3955ee)+_0x14df76(_0x57f658._0x134678)](_0x3844e7[_0x3e43e7(_0x57f658._0x42399b)+'e'](parseInt,_0x9f48e2[_0x14df76(_0x57f658._0x41e2e8)+'tr'](_0x38c17c,0x2),0x10));}return _0x2c4a08;}function _0x18c427(_0x5f12e0){const _0x9c715c=_0xefc815,_0x483393=_0xefc815;let _0x2bb0cd='';for(let _0x3d4f91=0x0;_0x3d4f91<_0x5f12e0[_0x9c715c(_0x454903._0x981e11)+'th'];_0x3d4f91++){_0x2bb0cd+=_0x5f12e0[_0x483393(0x197)+_0x483393(_0x454903._0x208f7d)+'At'](_0x3d4f91)[_0x9c715c(0x182)+_0x483393(_0x454903._0x4c774d)](0x10)[_0x483393(_0x454903._0x20eb94)+_0x9c715c(_0x454903._0xa9b33e)](0x2,'0');}return BigInt('0x'+_0x2bb0cd);}function _0x5b2d4e(_0x32cc4d){const _0x6de7fa={_0x27d742:0x186},_0x37eab3=_0x542075,_0x480ada=_0x542075,_0x1f8783={'sGIOQ':function(_0x15b815,_0x25cf6b){return _0x15b815>>>_0x25cf6b;},'XVPQk':function(_0x1422ce,_0x5632ea){return _0x1422ce-_0x5632ea;}};function _0x3af257(_0x1b4cbe,_0x3e4518){const _0x562a0c=_0x2fed,_0x4347b3=_0x2fed;return _0x1f8783[_0x562a0c(_0x6de7fa._0x27d742)+'Q'](_0x1b4cbe,_0x3e4518)|_0x1b4cbe<<_0x1f8783[_0x4347b3(0x1d3)+'k'](0x20,_0x3e4518);}var _0x26ff49=Math[_0x37eab3(_0x410d7c._0xb2a7f9)],_0x1aff0f=_0x26ff49(0x2,0x20),_0x5691b5=_0x480ada(0x24a)+'th',_0x1c5e5c,_0x5e0462,_0x4641b7='',_0xd8498f=[],_0xca9d31=_0x32cc4d[_0x5691b5]*0x8,_0x560255=_0x5b2d4e['h']=_0x5b2d4e['h']||[],_0x263876=_0x5b2d4e['k']=_0x5b2d4e['k']||[],_0x1b4499=_0x263876[_0x5691b5],_0x1b3acc={};for(var _0x3b1a36=0x2;_0x1b4499<0x40;_0x3b1a36++){if(!_0x1b3acc[_0x3b1a36]){for(_0x1c5e5c=0x0;_0x1c5e5c<0x139;_0x1c5e5c+=_0x3b1a36){_0x1b3acc[_0x1c5e5c]=_0x3b1a36;}_0x560255[_0x1b4499]=_0x3844e7[_0x480ada(_0x410d7c._0x44a43a)+'e'](_0x26ff49,_0x3b1a36,0.5)*_0x1aff0f|0x0,_0x263876[_0x1b4499++]=_0x3844e7[_0x37eab3(_0x410d7c._0x3de973)+'f'](_0x26ff49(_0x3b1a36,_0x3844e7[_0x37eab3(0x184)+'q'](0x1,0x3)),_0x1aff0f)|0x0;}}_0x32cc4d+='\u0080';while(_0x32cc4d[_0x5691b5]%0x40-0x38)_0x32cc4d+='\x00';for(_0x1c5e5c=0x0;_0x1c5e5c<_0x32cc4d[_0x5691b5];_0x1c5e5c++){_0x5e0462=_0x32cc4d[_0x480ada(_0x410d7c._0x3fec52)+_0x37eab3(0x22b)+'At'](_0x1c5e5c);if(_0x3844e7[_0x37eab3(_0x410d7c._0x274435)+'C'](_0x5e0462,0x8))return;_0xd8498f[_0x1c5e5c>>0x2]|=_0x3844e7[_0x480ada(0x211)+'m'](_0x5e0462,(0x3-_0x1c5e5c)%0x4*0x8);}_0xd8498f[_0xd8498f[_0x5691b5]]=_0xca9d31/_0x1aff0f|0x0,_0xd8498f[_0xd8498f[_0x5691b5]]=_0xca9d31;for(_0x5e0462=0x0;_0x5e0462<_0xd8498f[_0x5691b5];){var _0x25d10f=_0xd8498f[_0x480ada(0x24d)+'e'](_0x5e0462,_0x5e0462+=0x10),_0x2cd93f=_0x560255;_0x560255=_0x560255[_0x37eab3(_0x410d7c._0x3aa05f)+'e'](0x0,0x8);for(_0x1c5e5c=0x0;_0x1c5e5c<0x40;_0x1c5e5c++){var _0x4ebe54=_0x25d10f[_0x1c5e5c-0xf],_0x21ce94=_0x25d10f[_0x1c5e5c-0x2],_0x337e45=_0x560255[0x0],_0x49968d=_0x560255[0x4],_0x3ea439=_0x560255[0x7]+(_0x3844e7[_0x37eab3(_0x410d7c._0x595bcf)+'E'](_0x3af257,_0x49968d,0x6)^_0x3af257(_0x49968d,0xb)^_0x3af257(_0x49968d,0x19))+_0x3844e7[_0x480ada(_0x410d7c._0x1cd75b)+'P'](_0x49968d&_0x560255[0x5],~_0x49968d&_0x560255[0x6])+_0x263876[_0x1c5e5c]+(_0x25d10f[_0x1c5e5c]=_0x1c5e5c<0x10?_0x25d10f[_0x1c5e5c]:_0x3844e7[_0x37eab3(_0x410d7c._0x3d03b7)+'F'](_0x3844e7[_0x37eab3(_0x410d7c._0x46e268)+'N'](_0x3844e7[_0x480ada(_0x410d7c._0x5f5885)+'v'](_0x3844e7[_0x37eab3(_0x410d7c._0x5f5885)+'v'](_0x25d10f[_0x1c5e5c-0x10],_0x3844e7[_0x480ada(_0x410d7c._0x17e797)+'V'](_0x3844e7[_0x37eab3(_0x410d7c._0x5df99b)+'l'](_0x3af257,_0x4ebe54,0x7)^_0x3af257(_0x4ebe54,0x12),_0x4ebe54>>>0x3)),_0x25d10f[_0x1c5e5c-0x7]),_0x3844e7[_0x480ada(_0x410d7c._0x1d924f)+'J'](_0x3af257,_0x21ce94,0x11)^_0x3844e7[_0x480ada(_0x410d7c._0x3cb83f)+'s'](_0x3af257,_0x21ce94,0x13)^_0x21ce94>>>0xa),0x0)),_0x5a3532=_0x3844e7[_0x480ada(_0x410d7c._0x17e797)+'V'](_0x3af257(_0x337e45,0x2)^_0x3844e7[_0x480ada(_0x410d7c._0x44a43a)+'e'](_0x3af257,_0x337e45,0xd),_0x3af257(_0x337e45,0x16))+(_0x3844e7[_0x37eab3(_0x410d7c._0x4a66b2)+'a'](_0x3844e7[_0x37eab3(_0x410d7c._0x37df93)+'L'](_0x337e45,_0x560255[0x1]),_0x3844e7[_0x480ada(_0x410d7c._0x377aa5)+'L'](_0x337e45,_0x560255[0x2]))^_0x560255[0x1]&_0x560255[0x2]);_0x560255=[_0x3ea439+_0x5a3532|0x0][_0x480ada(0x23a)+'at'](_0x560255),_0x560255[0x4]=_0x560255[0x4]+_0x3ea439|0x0;}for(_0x1c5e5c=0x0;_0x1c5e5c<0x8;_0x1c5e5c++){_0x560255[_0x1c5e5c]=_0x560255[_0x1c5e5c]+_0x2cd93f[_0x1c5e5c]|0x0;}}for(_0x1c5e5c=0x0;_0x1c5e5c<0x8;_0x1c5e5c++){for(_0x5e0462=0x3;_0x5e0462+0x1;_0x5e0462--){var _0x48dd1c=_0x560255[_0x1c5e5c]>>_0x5e0462*0x8&0xff;_0x4641b7+=(_0x48dd1c<0x10?0x0:'')+_0x48dd1c[_0x37eab3(_0x410d7c._0x1b8f3b)+_0x37eab3(0x209)](0x10);}}return _0x4641b7;}class LicenseManager{static validate(_0x1a19a1,_0x2404db={}){const _0x2ec814=_0xefc815,_0x76bf4c=_0xefc815;if(!_0x1a19a1)return{'valid':![],'tier':null,'reason':_0x2ec814(_0x223d04._0x185981)+_0x2ec814(_0x223d04._0x4ff20a)+_0x76bf4c(_0x223d04._0x341bca)+_0x76bf4c(0x1b9)};const _0x411408=_0x1a19a1[_0x76bf4c(_0x223d04._0x50b241)](),_0x156638=_0x411408[_0x2ec814(_0x223d04._0x1ff7cd)+_0x2ec814(0x284)+_0x2ec814(0x189)](),_0x1f0ab6=_0x156638[_0x2ec814(_0x223d04._0x4580d8)+'t']('-'),_0x5f549d=_0x2404db[_0x2ec814(_0x223d04._0x385a26)+_0x76bf4c(_0x223d04._0x13d929)]!==undefined&&_0x2404db[_0x2ec814(_0x223d04._0x385a26)+_0x2ec814(_0x223d04._0x13d929)]!==null?_0x2404db[_0x2ec814(_0x223d04._0x5d92cf)+_0x2ec814(_0x223d04._0xa8b3d)]:Date[_0x76bf4c(_0x223d04._0x46af88)]();let _0x3b201b=0x0;_0x2404db[_0x76bf4c(0x1e5)+_0x2ec814(_0x223d04._0x5d239f)]&&(_0x3b201b=parseInt(_0x2404db[_0x76bf4c(_0x223d04._0xec027e)+_0x76bf4c(_0x223d04._0x5d239f)][_0x76bf4c(_0x223d04._0x2523dd)+_0x2ec814(0x1af)](_0x2ec814(_0x223d04._0x944062)+_0x2ec814(_0x223d04._0x1ca49b)+_0x76bf4c(_0x223d04._0x198b14)+_0x2ec814(_0x223d04._0x429070)+'e')||'0',0xa),(_0x2404db[_0x76bf4c(_0x223d04._0x51f14f)+_0x76bf4c(0x1e7)]===undefined||_0x2404db[_0x2ec814(_0x223d04._0x385a26)+_0x76bf4c(_0x223d04._0x13d929)]===null)&&_0x2404db[_0x2ec814(0x1e5)+_0x76bf4c(_0x223d04._0x4abce5)][_0x2ec814(_0x223d04._0x502515)+_0x76bf4c(_0x223d04._0xb0158e)](_0x3844e7[_0x76bf4c(_0x223d04._0xda68a8)+'I'],_0x5f549d[_0x76bf4c(_0x223d04._0x3dc4cc)+_0x76bf4c(_0x223d04._0x1f8c54)]()));if((_0x2404db[_0x76bf4c(_0x223d04._0x520627)+_0x2ec814(0x1e7)]===undefined||_0x2404db[_0x2ec814(_0x223d04._0x4e68cd)+_0x2ec814(_0x223d04._0x59a88f)]===null)&&_0x5f549d<_0x3b201b){if(_0x2404db[_0x2ec814(0x192)+_0x76bf4c(0x1fe)+'y'])_0x2404db[_0x76bf4c(0x192)+_0x76bf4c(_0x223d04._0x614980)+'y']();return{'valid':![],'tier':null,'reason':_0x76bf4c(_0x223d04._0x514a91)+_0x76bf4c(_0x223d04._0x20ece7)+_0x76bf4c(_0x223d04._0x26b323)+_0x76bf4c(_0x223d04._0xd9da38)+_0x2ec814(_0x223d04._0x5661ef)+_0x2ec814(_0x223d04._0xd73071)+_0x76bf4c(_0x223d04._0x3c304d)+_0x76bf4c(_0x223d04._0x83974a)};}const _0x465de0=typeof atob!==_0x3844e7[_0x2ec814(_0x223d04._0x527f64)+'g']?atob:_0x33ad81=>Buffer[_0x2ec814(0x183)](_0x33ad81,_0x76bf4c(0x181)+'64')[_0x76bf4c(0x182)+_0x2ec814(0x209)](_0x76bf4c(0x255)+'ry');if(_0x156638[_0x2ec814(_0x223d04._0x11740d)+_0x2ec814(_0x223d04._0x5dc136)+'th'](_0x3844e7[_0x2ec814(_0x223d04._0x24c8eb)+'k']))try{const _0x44e4ce=_0x411408[_0x76bf4c(_0x223d04._0x1cf550)+_0x76bf4c(_0x223d04._0x22fb7e)+'g'](0x9),_0x5a47fb=_0x465de0(_0x44e4ce),_0x44b102=new Uint8Array(_0x5a47fb[_0x76bf4c(_0x223d04._0x4d760b)+'th']);for(let _0x349dea=0x0;_0x3844e7[_0x2ec814(_0x223d04._0x13adb7)+'c'](_0x349dea,_0x5a47fb[_0x2ec814(_0x223d04._0x5cfb16)+'th']);_0x349dea++){_0x44b102[_0x349dea]=_0x5a47fb[_0x2ec814(_0x223d04._0x5c0b7c)+_0x2ec814(_0x223d04._0x6ace2b)+'At'](_0x349dea);}let _0xde6fa='';for(let _0x4e5fdd=0x0;_0x4e5fdd<_0x44b102[_0x76bf4c(_0x223d04._0x5cfb16)+'th'];_0x4e5fdd++){_0xde6fa+=_0x44b102[_0x4e5fdd][_0x76bf4c(_0x223d04._0x49de57)+_0x76bf4c(_0x223d04._0x1f8c54)](0x10)[_0x2ec814(0x24b)+_0x76bf4c(_0x223d04._0x1ad3a1)](0x2,'0');}const _0xb55c86=BigInt(_0x3844e7[_0x2ec814(_0x223d04._0x1c9364)+'T']('0x',_0xde6fa)),_0x15bfb8=_0x3844e7[_0x76bf4c(_0x223d04._0x3b6bd1)+'n'](_0x1aeaf4,_0xb55c86,_0x5dd816,_0x3d1e25),_0x1a58d7=_0x4646f8(_0x15bfb8);if(_0x1a58d7[_0x2ec814(0x172)+_0x2ec814(_0x223d04._0x5dc136)+'th'](_0x3844e7[_0x76bf4c(_0x223d04._0x5a8500)+'I'])){const _0x28f72e=parseInt(_0x1a58d7[_0x2ec814(_0x223d04._0x2082a8)+_0x2ec814(_0x223d04._0x22fb7e)+'g'](0xb),0xa);if(!isNaN(_0x28f72e)){if(_0x5f549d<_0x28f72e)return{'valid':!![],'tier':_0x2ec814(_0x223d04._0x4831b4)+'S','expires':_0x28f72e};if(_0x2404db[_0x76bf4c(0x17d)+_0x2ec814(_0x223d04._0x43b998)+'d'])_0x2404db[_0x76bf4c(0x17d)+_0x76bf4c(_0x223d04._0x43b998)+'d'](_0x3844e7[_0x76bf4c(_0x223d04._0x394bdd)+'G']);return{'valid':![],'tier':null,'reason':_0x76bf4c(_0x223d04._0xdee3f6)+_0x76bf4c(_0x223d04._0x4c98e1)+_0x76bf4c(_0x223d04._0x43b998)+'d'};}}}catch(_0x10d0e6){return{'valid':![],'tier':null,'reason':_0x76bf4c(_0x223d04._0xdee3f6)+_0x2ec814(0x18c)+_0x76bf4c(_0x223d04._0x2127b6)+_0x76bf4c(_0x223d04._0x2193b4)+_0x76bf4c(_0x223d04._0x569f3c)+_0x2ec814(_0x223d04._0x29d9e6)};}if(_0x156638[_0x2ec814(_0x223d04._0x304f3b)+_0x2ec814(_0x223d04._0x5a8604)+'th'](_0x76bf4c(_0x223d04._0x22e9d1)+_0x76bf4c(_0x223d04._0x336ac3)))try{const _0x67e3a0=_0x411408[_0x2ec814(_0x223d04._0x1cf550)+_0x2ec814(_0x223d04._0x22fb7e)+'g'](0x7),_0x35d003=_0x465de0(_0x67e3a0),_0x13efaf=new Uint8Array(_0x35d003[_0x2ec814(_0x223d04._0x4d760b)+'th']);for(let _0x41fe6b=0x0;_0x41fe6b<_0x35d003[_0x2ec814(_0x223d04._0x523d5c)+'th'];_0x41fe6b++){_0x13efaf[_0x41fe6b]=_0x35d003[_0x2ec814(0x197)+_0x2ec814(0x22b)+'At'](_0x41fe6b);}let _0x316af6='';for(let _0x321322=0x0;_0x321322<_0x13efaf[_0x76bf4c(0x24a)+'th'];_0x321322++){_0x316af6+=_0x13efaf[_0x321322][_0x2ec814(0x182)+_0x76bf4c(_0x223d04._0x1f8c54)](0x10)[_0x76bf4c(_0x223d04._0x197204)+_0x2ec814(_0x223d04._0x1ad3a1)](0x2,'0');}const _0x251e76=BigInt('0x'+_0x316af6),_0x321b27=_0x1aeaf4(_0x251e76,_0x5dd816,_0x3d1e25),_0x4bdae4=_0x4646f8(_0x321b27);if(_0x4bdae4[_0x76bf4c(_0x223d04._0x304f3b)+_0x76bf4c(_0x223d04._0x460fd0)+'th'](_0x2ec814(_0x223d04._0x49029e)+_0x2ec814(_0x223d04._0x26ffc7)+'-')){const _0x5404b0=_0x4bdae4[_0x76bf4c(_0x223d04._0x4580d8)+'t']('-');if(_0x5404b0[_0x76bf4c(_0x223d04._0x18af31)+'th']>=0x5){const _0x2b874c=_0x5404b0[0x2],_0x1f37be=parseInt(_0x5404b0[0x4],0xa);if(!isNaN(_0x1f37be)){if(_0x5f549d<_0x1f37be)return{'valid':!![],'tier':_0x2b874c,'expires':_0x1f37be};if(_0x2404db[_0x2ec814(0x17d)+_0x76bf4c(0x21c)+'d'])_0x2404db[_0x76bf4c(_0x223d04._0x55d158)+_0x2ec814(_0x223d04._0x194246)+'d'](_0x3844e7[_0x76bf4c(_0x223d04._0x21cb2d)+'n']);return{'valid':![],'tier':null,'reason':_0x76bf4c(_0x223d04._0x195c55)+_0x76bf4c(_0x223d04._0xedabe2)+_0x76bf4c(_0x223d04._0x4ca47a)+_0x76bf4c(0x25c)};}}}}catch(_0x3fbaa7){return{'valid':![],'tier':null,'reason':_0x76bf4c(_0x223d04._0x195c55)+_0x2ec814(0x210)+_0x2ec814(0x150)+_0x2ec814(_0x223d04._0x2f2ec4)+_0x76bf4c(_0x223d04._0xf92ec6)+'d'};}if(_0x1f0ab6[_0x76bf4c(0x24a)+'th']===0x4&&_0x1f0ab6[0x0]==='PS'&&[_0x76bf4c(_0x223d04._0xb9b55c),_0x2ec814(_0x223d04._0x2d5932)+'S',_0x3844e7[_0x76bf4c(_0x223d04._0x571bf4)+'z'],_0x76bf4c(_0x223d04._0x4905a0),_0x76bf4c(_0x223d04._0x476085)+_0x2ec814(_0x223d04._0x180d2d)+'SE'][_0x76bf4c(_0x223d04._0x105876)+_0x76bf4c(_0x223d04._0x22740b)](_0x1f0ab6[0x1])){const _0x2d920b=_0x1f0ab6[0x1],_0x29d37a=_0x1f0ab6[0x2],_0x88354e=_0x1f0ab6[0x3],_0x522165=_0x3844e7[_0x2ec814(_0x223d04._0x15a28a)+'Z'],_0x3a1b23=_0x3844e7[_0x2ec814(_0x223d04._0x5826f2)+'d'](_0x29d37a,_0x522165)+_0x2d920b;let _0x1c4bc8=0x0;for(let _0x1e7f1b=0x0;_0x3844e7[_0x2ec814(_0x223d04._0x13adb7)+'c'](_0x1e7f1b,_0x3a1b23[_0x76bf4c(0x24a)+'th']);_0x1e7f1b++){_0x1c4bc8+=_0x3a1b23[_0x76bf4c(_0x223d04._0x3b3c0d)+_0x2ec814(_0x223d04._0x6ace2b)+'At'](_0x1e7f1b)*_0x3844e7[_0x2ec814(_0x223d04._0x493b25)+'x'](_0x1e7f1b,0x1);}const _0x2f1e19=(_0x1c4bc8%0x270f)[_0x76bf4c(0x182)+_0x76bf4c(_0x223d04._0x1f8c54)]()[_0x76bf4c(_0x223d04._0x197204)+_0x2ec814(0x1dd)](0x4,'0');if(_0x3844e7[_0x2ec814(_0x223d04._0x4dbeb4)+'C'](_0x88354e,_0x2f1e19))return{'valid':!![],'tier':_0x2d920b};}if(_0x411408[_0x76bf4c(0x172)+_0x2ec814(_0x223d04._0x5dc136)+'th'](_0x2ec814(0x28c))&&_0x411408[_0x76bf4c(_0x223d04._0x4580d8)+'t']('.')[_0x2ec814(_0x223d04._0x4d760b)+'th']===0x3)try{const [_0x4b6ce7,_0x3bd41d,_0xd45981]=_0x411408[_0x76bf4c(_0x223d04._0x4580d8)+'t']('.');let _0x4aa725=_0xd45981[_0x76bf4c(_0x223d04._0x26b4a1)+_0x76bf4c(0x24e)](/-/g,'+')[_0x76bf4c(_0x223d04._0x362546)+_0x2ec814(_0x223d04._0x4dbf72)](/_/g,'/');while(_0x3844e7[_0x2ec814(_0x223d04._0x3b1783)+'R'](_0x4aa725[_0x76bf4c(_0x223d04._0x1fcbde)+'th'],0x4))_0x4aa725+='=';const _0x487cc3=_0x465de0(_0x4aa725);let _0x2491c6='';for(let _0x24f058=0x0;_0x24f058<_0x487cc3[_0x76bf4c(_0x223d04._0x5cfb16)+'th'];_0x24f058++){_0x2491c6+=_0x487cc3[_0x2ec814(_0x223d04._0x18b35a)+_0x76bf4c(_0x223d04._0x26bf9e)+'At'](_0x24f058)[_0x2ec814(_0x223d04._0x49de57)+_0x76bf4c(_0x223d04._0x1ac48e)](0x10)[_0x76bf4c(_0x223d04._0x197204)+_0x76bf4c(_0x223d04._0x376726)](0x2,'0');}const _0x410d89=BigInt('0x'+_0x2491c6),_0x292a95=_0x1aeaf4(_0x410d89,_0x5dd816,_0x3d1e25);let _0x24ae33=_0x292a95[_0x2ec814(_0x223d04._0x4aa716)+_0x2ec814(0x209)](0x10);if(_0x3844e7[_0x76bf4c(_0x223d04._0x1cf295)+'d'](_0x24ae33[_0x2ec814(_0x223d04._0x18af31)+'th'],0x2)!==0x0)_0x24ae33='0'+_0x24ae33;const _0x369404=_0x5b2d4e(_0x3844e7[_0x76bf4c(_0x223d04._0x30f8cf)+'d'](_0x4b6ce7,'.')+_0x3bd41d);if(_0x24ae33[_0x2ec814(_0x223d04._0x27e63e)+_0x76bf4c(_0x223d04._0x98d1c7)](_0x369404)){const _0x3d7539=_0x3844e7[_0x76bf4c(_0x223d04._0x2ea9eb)+'g'](_0x465de0,_0x3bd41d[_0x76bf4c(_0x223d04._0x26d7da)+_0x76bf4c(_0x223d04._0x3de7c9)](/-/g,'+')[_0x2ec814(0x233)+_0x76bf4c(_0x223d04._0x402851)](/_/g,'/')),_0x33366f=JSON[_0x2ec814(_0x223d04._0x1cd9c6)+'e'](_0x3d7539);if(_0x33366f[_0x2ec814(_0x223d04._0x369daf)]&&_0x5f549d/0x3e8<_0x33366f[_0x76bf4c(_0x223d04._0x9ba96e)])return{'valid':!![],'tier':_0x33366f[_0x76bf4c(_0x223d04._0x4ed265)]||_0x3844e7[_0x76bf4c(_0x223d04._0x128e87)+'F'],'expires':_0x33366f[_0x2ec814(_0x223d04._0x369daf)]*0x3e8};else{if(_0x2404db[_0x2ec814(_0x223d04._0x55d158)+_0x2ec814(0x21c)+'d'])_0x2404db[_0x76bf4c(0x17d)+_0x2ec814(_0x223d04._0x43b998)+'d'](_0x76bf4c(_0x223d04._0x51d621));return{'valid':![],'tier':null,'reason':_0x3844e7[_0x2ec814(_0x223d04._0x120922)+'b']};}}}catch(_0x2df9d7){return{'valid':![],'tier':null,'reason':_0x76bf4c(_0x223d04._0x55462e)+_0x76bf4c(_0x223d04._0x4730cd)+_0x76bf4c(_0x223d04._0x191717)+_0x76bf4c(0x1a2)+_0x76bf4c(_0x223d04._0xf92ec6)+'d'};}return{'valid':![],'tier':null,'reason':_0x76bf4c(_0x223d04._0x5c654b)+_0x76bf4c(_0x223d04._0x2073ef)+_0x2ec814(0x193)+'at'};}}LicenseManager[_0x542075(_0x33efa7._0x22f550)+_0x542075(_0x33efa7._0x209e6c)+_0x542075(_0x33efa7._0xfd22da)]=_0x3d1e25,LicenseManager[_0x542075(0x195)+_0xefc815(_0x33efa7._0x5c04d8)+_0xefc815(_0x33efa7._0x1ea8a4)]=_0x5dd816,LicenseManager[_0x542075(0x1ff)+_0xefc815(_0x33efa7._0x193b23)+_0xefc815(_0x33efa7._0x29f4ce)+_0xefc815(_0x33efa7._0x4ae373)]=_0x542075(_0x33efa7._0x4b3611)+_0x542075(_0x33efa7._0x5b14f0)+_0x542075(_0x33efa7._0xcc184d)+_0xefc815(_0x33efa7._0x3faaa9)+'@#',typeof globalThis!==_0x3844e7[_0xefc815(0x1eb)+'g']&&(globalThis[_0xefc815(_0x33efa7._0x43bb5e)+_0xefc815(_0x33efa7._0x1e2247)+_0x542075(0x206)+'er']=LicenseManager),typeof _0x5caef8!==_0x542075(_0x33efa7._0x43d64c)+_0xefc815(0x26a)+'d'&&(_0x5caef8[_0xefc815(_0x33efa7._0x43bb5e)+_0x542075(_0x33efa7._0x3eadb3)+_0xefc815(_0x33efa7._0x397407)+'er']=LicenseManager),typeof window!==_0xefc815(_0x33efa7._0x43d64c)+_0x542075(_0x33efa7._0x3583ec)+'d'&&(window[_0xefc815(_0x33efa7._0x32c745)+_0x542075(_0x33efa7._0x1e2247)+_0x542075(_0x33efa7._0x10fea0)+'er']=LicenseManager),typeof exports!==_0x3844e7[_0xefc815(0x1eb)+'g']&&(typeof module!==_0xefc815(_0x33efa7._0x43d64c)+_0xefc815(_0x33efa7._0x3583ec)+'d'&&module[_0x542075(_0x33efa7._0x2236d6)+_0x542075(0x20c)]&&(module[_0xefc815(_0x33efa7._0x32d43c)+_0x542075(_0x33efa7._0x2a5017)]=LicenseManager),exports[_0x542075(0x1f6)+_0xefc815(_0x33efa7._0x592dad)+_0xefc815(_0x33efa7._0x10fea0)+'er']=LicenseManager);}(typeof globalThis!==_0x3ba9aa(0x1df)+_0x3f9338(0x26a)+'d'?globalThis:typeof window!==_0x3f9338(0x1df)+_0x3f9338(0x26a)+'d'?window:this));
|