@privacyscrubber/mcp-server 2.2.1 → 2.2.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.
@@ -1,257 +1,11 @@
1
- (function(global) {
2
- // ── START LICENSE CRYPTO ──
3
- const PUBLIC_KEY_N = BigInt("21317979104050344678233452423803986868842680501941538057759536089609908024281729760556922188810565541201321990374637212776148857190553192389608364990754937991254608109727112734447704854882786946805547031142530865504430968628760311494129154950865158735816268612258108296781892583171421605668998979064782378729322077179022581884976242706169323540456286526420742434868559866211716347133681429395477256705746276962607312574959642065929462114149296066812527505837608212730874704915352119747022918247963886630350365119206627670591400728523813746184290857872958847087691236909900501703203494160206941648263514117706558791691");
4
- const PUBLIC_KEY_E = 65537n;
5
-
6
- function modPow(base, exp, mod) {
7
- let res = 1n;
8
- base = base % mod;
9
- while (exp > 0n) {
10
- if (exp % 2n === 1n) res = (res * base) % mod;
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
- // Export module for ES modules, CommonJS, and Browser Global
242
- if (typeof globalThis !== 'undefined') {
243
- globalThis.LicenseManager = LicenseManager;
244
- }
245
- if (typeof global !== 'undefined') {
246
- global.LicenseManager = LicenseManager;
247
- }
248
- if (typeof window !== 'undefined') {
249
- window.LicenseManager = LicenseManager;
250
- }
251
- if (typeof exports !== 'undefined') {
252
- if (typeof module !== 'undefined' && module.exports) {
253
- module.exports = LicenseManager;
254
- }
255
- exports.LicenseManager = LicenseManager;
256
- }
257
- })(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 _0x5922(){const _0x139d18=['nZCWnG','ALPHwG','mtmZnG','ndyWoa','sKH6Ca','mti0nZe0mgf5y3reuG','AYbYBW','DgfYDa','nJy4mq','ote2oq','z3z1rG','nZqYna','nJKXmG','twTPzG','nJmWmW','mta0ma','DhnxAq','CMvWBa','mtyWmG','odeWnq','uMvJvG','ntmXoq','AKrTDG','zxHWBW','nJa4mW','mdG1nW','AxnHqW','zw5KCW','q2XVyW','DgvK','mZC2ma','nde1mW','oda1nW','mJG1mG','lvbjta','ndq3nW','nZmWoa','ntG4na','mZqZmtq2tMjrvgfm','yxn0xW','ELPjCq','rML0tW','mtb4Bw1fCgm','C2vLBG','DgLLCG','ota4ma','BgXIyq','odq5nW','mta5nW','mJmZna','ntK2na','odqYoq','mZiXoq','m1HWtxvPzG','nJiXmq','vevbtq','ufjp','nZq3ma','nZa4nW','ntC0oq','mtCYoq','zM9YBq','u3fRAW','mdG2nq','mJe4oa','odu1oq','zgvK','ndi1mW','mJa2nG','z2v0sq','yNndEq','nZyXna','y2SGyq','nte1oa','mZyWoa','ndy3oa','BgvK','BhKGza','suXpva','mJm0mZqWrgHXufbg','yw5HzW','tgLJzq','Dg9vCa','mdy5na','nZCXnW','BgLKia','x3rPBq','q29Kzq','nJC4mq','ufmTuG','mJqYoa','mtKWnq','vgHMyW','CgLYzq','mtK3na','ugLSBW','nde0oq','Cg93','mJeZmq','CNrZ','CM92Aq','odG1nW','nZyWmW','odmXnW','mtyWnZLuBK5YquC','otm5nq','ntGXoa','mZu0ma','AKvdAW','v2L0Aa','DcbKzq','igzHAq','zxHW','BNnLtq','mJK2ma','nJi2ma','nZu5nq','Dg9tDa','nta1oa','sLDu','sfH2rW','mdq4nq','mtyYnG','teXWBW','mZq4nG','oteYnq','nteXoq','C3rVCG','mZGWmW','mtqXmq','mJeYnW','vf8Yma','ndKXnq','yMfZzq','mdGYoq','DgLVBG','nta0na','y2nXDq','mJCZna','nJG5oq','ody1mG','ode0mG','C3bSAq','nZq0vwTeBMTR','vfniqq','mdC1na','Dw5Kzq','DhjPBG','mJC2oq','mJCXmq','mZGXmW','Egz5rG','nJqYma','y1HLzq','whbhzq','mZy5ma','odCYoq','nZmWmde0CLLKwNDA','ntaZna','A2v5ia','ndG4mG','nty3ma','BvzPzG','ChnFBa','wuLktG','Bw9JAW','ody2mG','mJzFiq','ndy4ma','ndC5nG','mdu5mq','odK3oq','BM9Tyq','zxKGCa','ntaXnW','nZyWnq','u0rl','x1nbta','mte3mq','uLnb','uLnbia','ywnL','zxHWAq','odyYoa','ndC3mG','ywDL','ntaXoq','sejOqq','mdy0nW','odyXmG','otyWoq','otKWma','nZm1oa','otaZnW','C2v0sq','ntaZnG','mJC2nW','odiXmG','nJi0mG','uLbssq','ru5urq','oti5na','nJm0nW','otaYmG','t0vn','mZG4nG','mte0oq','q2HHCG','nJu1na','ndaWnW','odiZnW','yMLUyq','C21xsq','DwrLCW','y29UyW','mtqYmq','vgLTzq','odKYnq','Aw5JBa','ote4mG','nta4nG','mJyZnq','Awrnza','mZy4nZC1yw5swg5r','DMfSAq','ntu0nW','zgf0Aq','t1qT','mJuYnW','EfPoCa','u0eT','nZK3oq','ndu2mG','mtiWmq','otm3oq','nty5mG','B24GzG','ntC0nG','vwzYsG','y2HHCG','tM8GAW','AwTdwG','luXjqW','sfnorW','B25fEa','DeTUBa','BMXdEa','BwrVua','mtu0oq','ndeYoq','vvnMza','mJm4oq','otG2oa','DgHOsW','CMLUzW','nJq5oq','mJy4ma','mZiYma','nJG4na','zxLk','wLreuW','DgvT','yxnL','mty0oa','CgfYCW','ndyZnW','mZy2odeZBhrHyunh','nti0mG','rNPYra','BM93','C3vICW','Avb6vG','nZq2mq','nZa2mq','mZa5nG','mJu4mq','ntu4nW','mdmYma','sw52yq','nZG2oq','nZaYmG','nZmXmG','ywLSzq','mdmXmq','B3ruua','BgvUzW','ufmTua','zgvJCG','AMnIAa','C3rHCG','mZq5na','DhjPBq','mJa2nq','nJKZmG','B21HBa','zMLUzq','DcbLEa','Exb0Aq','CgvYqW','y3j5Ca','CgfKuW','zxrLyW','mZuYmq','C2XPyW','sLDuia','B25bBG','zNjVBq','CMvK','nJa1nG'];_0x5922=function(){return _0x139d18;};return _0x5922();}const _0x12e4b6=_0x2d78,_0x3985b6=_0x2d78;function _0x2d78(_0x57282d,_0x45d857){_0x57282d=_0x57282d-0x1c5;const _0x592285=_0x5922();let _0x2d789d=_0x592285[_0x57282d];if(_0x2d78['MZGsbt']===undefined){var _0x10921e=function(_0x5a680c){const _0x20546f='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x543970='',_0x5ac342='';for(let _0x440397=0x0,_0x4b93ce,_0xbbe166,_0x397557=0x0;_0xbbe166=_0x5a680c['charAt'](_0x397557++);~_0xbbe166&&(_0x4b93ce=_0x440397%0x4?_0x4b93ce*0x40+_0xbbe166:_0xbbe166,_0x440397++%0x4)?_0x543970+=String['fromCharCode'](0xff&_0x4b93ce>>(-0x2*_0x440397&0x6)):0x0){_0xbbe166=_0x20546f['indexOf'](_0xbbe166);}for(let _0x8de9f1=0x0,_0x4d10a2=_0x543970['length'];_0x8de9f1<_0x4d10a2;_0x8de9f1++){_0x5ac342+='%'+('00'+_0x543970['charCodeAt'](_0x8de9f1)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5ac342);};_0x2d78['tapnHk']=_0x10921e,_0x2d78['WvKeTf']={},_0x2d78['MZGsbt']=!![];}const _0x60bed8=_0x592285[0x0],_0x67bc8c=_0x57282d+_0x60bed8,_0x543b7b=_0x2d78['WvKeTf'][_0x67bc8c];return!_0x543b7b?(_0x2d789d=_0x2d78['tapnHk'](_0x2d789d),_0x2d78['WvKeTf'][_0x67bc8c]=_0x2d789d):_0x2d789d=_0x543b7b,_0x2d789d;}(function(_0x4787e3,_0x57c6a8){const _0x3f2be0={_0x4d6a42:0x1ed,_0x5c92a2:0x24d,_0x4c37ba:0x267,_0xf3f367:0x242,_0x3cda8d:0x2b5,_0x35cd04:0x2a7},_0x307879=_0x2d78,_0x5f1c72=_0x2d78,_0x4cceb7=_0x4787e3();while(!![]){try{const _0x52a097=parseInt(_0x307879(_0x3f2be0._0x4d6a42))/0x1+-parseInt(_0x307879(0x23e))/0x2*(-parseInt(_0x307879(_0x3f2be0._0x5c92a2))/0x3)+parseInt(_0x5f1c72(_0x3f2be0._0x4c37ba))/0x4+-parseInt(_0x5f1c72(_0x3f2be0._0xf3f367))/0x5*(parseInt(_0x5f1c72(_0x3f2be0._0x3cda8d))/0x6)+-parseInt(_0x5f1c72(0x280))/0x7*(parseInt(_0x307879(_0x3f2be0._0x35cd04))/0x8)+-parseInt(_0x5f1c72(0x2f7))/0x9+parseInt(_0x5f1c72(0x21d))/0xa;if(_0x52a097===_0x57c6a8)break;else _0x4cceb7['push'](_0x4cceb7['shift']());}catch(_0x131ffb){_0x4cceb7['push'](_0x4cceb7['shift']());}}}(_0x5922,0x36a07),function(_0x15f0cd){const _0x13f321={_0x5a37ad:0x200,_0x584cf4:0x201,_0x576af4:0x2cc,_0x27ad89:0x2b7,_0x3da2d8:0x216,_0xd78e5c:0x202,_0xb505ba:0x20c,_0x1ead2d:0x1cf,_0x2b5b7d:0x1fd,_0x6bbc93:0x1e7,_0xd10ad1:0x29b,_0x27fef:0x2bf,_0x4f378c:0x28f,_0x46a77b:0x2f8,_0x789359:0x1f9,_0x324e42:0x2aa,_0x5a3beb:0x27a,_0x3d6b39:0x1ca,_0x3d1e3c:0x227,_0x3915b7:0x2b6,_0x322b24:0x263,_0x5b539e:0x249,_0x2fbb6a:0x1ee,_0x41c16f:0x1e3,_0x464eb2:0x238,_0x4e263b:0x28c,_0x71cd17:0x254,_0x536561:0x2c7,_0x275778:0x1ce,_0x2b6f5e:0x22b,_0x2d0f3b:0x2e8,_0x4f9bd2:0x2d9,_0x92227d:0x1ec,_0x3255ba:0x29a,_0x2cb969:0x27d,_0xb08ecf:0x273,_0x30b9de:0x1de,_0x2d8074:0x230,_0x185d0d:0x1cd,_0x5e6550:0x295,_0x5be3d1:0x248,_0x5680fb:0x2ad,_0x3a8b1a:0x2a2,_0x29c1de:0x23b,_0x58ab43:0x291,_0x59248e:0x2b8,_0x496301:0x1fa,_0x584f39:0x1fe,_0x36a011:0x25b,_0x2d25f5:0x257,_0x5962b1:0x1f5,_0x207376:0x2cf,_0x5b6118:0x27e,_0x16aac:0x2e6,_0x2cf3bc:0x1dc,_0x8f3cb8:0x1db,_0x1204e0:0x2f4,_0x19cc25:0x261,_0x4320fd:0x2d8,_0xe37dd2:0x292,_0x11356b:0x2d5,_0x2dd7f7:0x29e,_0x4b7791:0x270,_0xa2863f:0x2f1,_0x2a415e:0x2a3,_0x15bb2a:0x2c3,_0x44fe03:0x2d4,_0xb04a78:0x2ea,_0x4e45e3:0x2b4,_0x13260d:0x1e4,_0x67c028:0x26c,_0x47cc7c:0x282,_0x466beb:0x247,_0x5553e1:0x2de,_0x44d3e6:0x1f4,_0x3622a8:0x208,_0x37c348:0x1cb,_0x170c03:0x2a4,_0xdc275c:0x2b0,_0x1ba7c2:0x223,_0x645b30:0x259,_0x1a36fe:0x2be,_0x4e22fa:0x2e2,_0x2d119d:0x21a,_0x5c61bc:0x2a5,_0x339806:0x281,_0x243b2d:0x2d0,_0x4e2dc4:0x1d0,_0x48502c:0x2ac,_0x5eb395:0x28b,_0x5c8397:0x1fc,_0x18d906:0x24a,_0x426731:0x207,_0xf1d5f8:0x2e1,_0x13c52d:0x24e,_0x22f50e:0x278,_0xca7523:0x220,_0x2d404c:0x1c7,_0x4b9bfb:0x28e,_0x1571a9:0x236,_0x344dc1:0x2dd,_0x521fa7:0x23c,_0x4ccdde:0x251,_0x267ded:0x29c,_0x2a264f:0x211,_0x263059:0x276,_0x23d0a1:0x1fb,_0x48d998:0x2f3,_0x5df632:0x2c1,_0x4a2b02:0x2e5,_0x1130d0:0x226,_0x32257e:0x2db,_0x19e669:0x296,_0x1f9e67:0x2c2,_0x37d9b0:0x2e9,_0x435d68:0x239,_0xa2009a:0x2ae,_0x586934:0x24b,_0x349b37:0x231,_0x262039:0x224,_0xf31f0e:0x2d7,_0x354645:0x2c6,_0x51f84b:0x1f8,_0x2bc59e:0x26b,_0x132bbb:0x1ea,_0x334645:0x2f5,_0x51ad7b:0x299,_0x38c5bc:0x218,_0x10cfa9:0x1f7,_0x153adf:0x221,_0x45b9eb:0x1f2,_0xdb20e1:0x2aa,_0xc931fb:0x20a,_0x33ce88:0x269,_0x2d68b3:0x289,_0x30fe5c:0x268,_0x3497fc:0x2aa,_0x26d804:0x293,_0x163f91:0x269,_0x57d43a:0x20a,_0x317f8d:0x203,_0x33e1d9:0x241,_0x1610cc:0x22f,_0x2a15b6:0x27b,_0x1d95c7:0x289,_0x52241f:0x268},_0x2b1ce5={_0x478d1c:0x1d3,_0xcb9d1c:0x2c5,_0x2b153d:0x27c,_0x4ff561:0x26a,_0x46a7b8:0x20d,_0x372408:0x1e9,_0x3881f9:0x2a6,_0x53003d:0x222,_0x426202:0x2bd,_0x567640:0x2f0,_0x25cf3c:0x297,_0x1ec21e:0x2d1,_0x35cf08:0x25d,_0x41073b:0x1e8,_0x16219b:0x2bb,_0x234701:0x243,_0xa0c18a:0x26e,_0x539dd6:0x2bd,_0x46c58b:0x2f0,_0x122755:0x297,_0x396686:0x2d1,_0x36255f:0x1e8,_0x35a45e:0x23f,_0x501288:0x243,_0x42417d:0x26e,_0x420cc0:0x1e1,_0x1ce65e:0x2f0,_0x1d88d2:0x2bd,_0x45a7c6:0x214,_0x49f311:0x209,_0x254d06:0x209,_0x52dff4:0x21e,_0x24d575:0x2c4,_0x56fa01:0x265,_0x312a0a:0x210,_0x1cc566:0x235,_0x3dcaa:0x222,_0x34ee59:0x20a,_0x328c13:0x204,_0x469d79:0x228,_0x469146:0x1c8,_0x35e1f9:0x1f1,_0x3152a7:0x2ab,_0x528b73:0x200,_0x1e34eb:0x1d2,_0x29c78b:0x200,_0x511886:0x28d,_0x32145f:0x21f,_0x5898c5:0x204,_0xe1d9c:0x228,_0x52d522:0x1e7,_0x2bd09b:0x1c6,_0x3004de:0x1d7,_0xd488ba:0x1d7,_0x9bffc9:0x277,_0xc98e97:0x277,_0x1caf29:0x286,_0xdfae38:0x20e,_0x281a6b:0x287,_0x240f2f:0x264,_0x25f72f:0x228,_0x235090:0x271,_0x3209d6:0x1c9,_0x3ee228:0x200,_0x27851f:0x1d2,_0x5afe28:0x26f,_0x2475ad:0x204,_0x1f8fcd:0x1d5,_0x19b874:0x1d7,_0x396998:0x275,_0x53a083:0x275,_0x10525a:0x1e0,_0xc8f87b:0x200,_0x4745d6:0x250,_0x24702b:0x24f,_0x43088e:0x2c8,_0x2d50e3:0x2e4,_0x3909dd:0x2e0,_0xd3c199:0x2f2,_0x3349a8:0x2ed,_0x77e70a:0x240,_0x297e92:0x1d9,_0x368a60:0x20f,_0x529641:0x204,_0x43081f:0x1e6,_0x4d2fcb:0x229,_0x12f659:0x2cd,_0x143efd:0x2cd,_0x314b98:0x1dd,_0x158f63:0x200,_0x584715:0x290,_0x49f81e:0x26f,_0x439d87:0x28d,_0x4077ea:0x1e1,_0x34fc47:0x28d,_0x2d88a0:0x285,_0x14f641:0x2cd,_0x33000e:0x229,_0x579471:0x1eb,_0x20294a:0x288,_0x446973:0x288,_0x4017e4:0x284,_0x5da4d8:0x1d7,_0x18dbbd:0x1da,_0x2f95dd:0x2ce,_0x2e0047:0x216,_0x35fb3e:0x1d6,_0x102cea:0x2f6},_0x5747de={_0x570d8b:0x279,_0x1d8184:0x2b2,_0x24c161:0x290,_0x32b02d:0x1d8,_0x210798:0x2b1,_0x2bf312:0x1dd,_0x234cc9:0x232,_0x417c49:0x225,_0x5e92c8:0x212,_0x5b43e6:0x2bc,_0x40f496:0x2ba,_0x3121e7:0x2a1,_0x4bf0a4:0x1ef,_0x673030:0x1d4,_0x2fd08c:0x22e,_0x2f9878:0x1d1,_0x3c14b5:0x2ee,_0x49674b:0x1e1},_0x1570f5={_0x270850:0x2af},_0x1266aa={_0x3e2af7:0x256,_0x4069c5:0x1e1,_0x40c39f:0x20f,_0x44d12d:0x21f},_0x3e98eb={_0x3f812d:0x28d,_0x563ed2:0x200,_0x54e8f4:0x1d9,_0x1b04d8:0x256,_0x1fc355:0x2e7,_0x193466:0x26f,_0xaf94b4:0x1ef,_0x39f236:0x1f1},_0x3a590c={_0x50352f:0x2d3},_0x5e61d7=_0x2d78,_0x5b5889=_0x2d78,_0x576cf6={'HBhAx':function(_0x5d1085,_0x3081c7){return _0x5d1085===_0x3081c7;},'nlCxn':function(_0x3a319a,_0x376b9c){return _0x3a319a+_0x376b9c;},'Sqkky':function(_0x502f44,_0x5b22e3){return _0x502f44<_0x5b22e3;},'FzrDt':function(_0x327903,_0x5eecf,_0x51d261){return _0x327903(_0x5eecf,_0x51d261);},'xfyFf':function(_0x30804e,_0x256d62){return _0x30804e-_0x256d62;},'XpGes':_0x5e61d7(_0x13f321._0x5a37ad)+'th','HXvGJ':function(_0x7dc06a,_0xcd677c){return _0x7dc06a<_0xcd677c;},'tKnle':function(_0x542d93,_0xb2acca){return _0x542d93|_0xb2acca;},'cXeeg':function(_0x310045,_0x5432b4){return _0x310045/_0x5432b4;},'USfdl':function(_0x2eb972,_0x3380c1){return _0x2eb972%_0x3380c1;},'isaCl':function(_0x7b49a8,_0x5ad5d1){return _0x7b49a8<_0x5ad5d1;},'MkifW':function(_0x20ccaf,_0x2aea32){return _0x20ccaf*_0x2aea32;},'YIJNZ':function(_0x2fe4f6,_0x476190){return _0x2fe4f6+_0x476190;},'jDmvL':function(_0x236790,_0x327ba2,_0x3f9220){return _0x236790(_0x327ba2,_0x3f9220);},'mVifV':function(_0x1749f1,_0x2bda40){return _0x1749f1^_0x2bda40;},'ccqug':function(_0x61cc7a,_0x3a56db){return _0x61cc7a&_0x3a56db;},'otTPd':function(_0x2bb0db,_0x31fc02){return _0x2bb0db>>>_0x31fc02;},'RecVv':function(_0x3928d1,_0x169887){return _0x3928d1+_0x169887;},'ikCZW':function(_0x39e793,_0x33240e){return _0x39e793^_0x33240e;},'smWIb':function(_0x368961,_0x30cf53){return _0x368961^_0x30cf53;},'UfrJG':function(_0x25e7d1,_0x127805){return _0x25e7d1&_0x127805;},'gvuFO':function(_0x1cee2e,_0x4cf721){return _0x1cee2e!==_0x4cf721;},'xZNpA':_0x5e61d7(_0x13f321._0x584cf4)+_0x5b5889(0x266)+'-','JHzpH':function(_0xb45d74,_0x7eedcc,_0x39df60){return _0xb45d74(_0x7eedcc,_0x39df60);},'ThfcI':function(_0x1dd39d,_0x4a100f,_0x1d8ebc,_0x11c546){return _0x1dd39d(_0x4a100f,_0x1d8ebc,_0x11c546);},'jZaZi':_0x5e61d7(_0x13f321._0x576af4)+_0x5b5889(_0x13f321._0x27ad89)+_0x5e61d7(0x2ce)+_0x5e61d7(_0x13f321._0x3da2d8),'thhKJ':_0x5b5889(_0x13f321._0x576af4)+_0x5e61d7(_0x13f321._0xd78e5c)+_0x5e61d7(_0x13f321._0xb505ba)+_0x5e61d7(_0x13f321._0x1ead2d)+_0x5b5889(_0x13f321._0x2b5b7d)+'d','zZIqR':_0x5b5889(_0x13f321._0x6bbc93)+_0x5e61d7(0x2c9)+_0x5b5889(_0x13f321._0xd10ad1)+_0x5e61d7(_0x13f321._0x27fef)+'@#','TSHAi':function(_0x5a933d,_0x12a3d7){return _0x5a933d(_0x12a3d7);},'bsCyy':function(_0x4275b5,_0xcdd49c,_0x588f80,_0x3e9b5){return _0x4275b5(_0xcdd49c,_0x588f80,_0x3e9b5);},'jECkQ':_0x5b5889(0x250),'mdoPQ':_0x5b5889(_0x13f321._0x4f378c),'HSNGT':_0x5b5889(0x213)+_0x5e61d7(_0x13f321._0x46a77b)+_0x5b5889(0x1c5)+_0x5e61d7(_0x13f321._0x1ead2d)+_0x5b5889(0x1fd)+'d','idMdx':_0x5b5889(_0x13f321._0x789359)+_0x5b5889(0x26d)+_0x5b5889(0x255)+'at','iPzVd':function(_0x4186de,_0x36b48b){return _0x4186de!==_0x36b48b;},'LLpoI':function(_0x47d592,_0xd904d5){return _0x47d592!==_0xd904d5;},'jcbhm':function(_0x5b901c,_0x58037e){return _0x5b901c!==_0x58037e;},'FitOo':_0x5e61d7(_0x13f321._0x324e42)+_0x5b5889(0x20a)+'d'},_0x51d7b9=BigInt(_0x5e61d7(_0x13f321._0x5a3beb)+_0x5e61d7(_0x13f321._0x3d6b39)+_0x5b5889(_0x13f321._0x3d1e3c)+_0x5b5889(_0x13f321._0x3915b7)+_0x5e61d7(_0x13f321._0x322b24)+_0x5b5889(_0x13f321._0x5b539e)+_0x5e61d7(_0x13f321._0x2fbb6a)+_0x5b5889(0x298)+_0x5b5889(0x1df)+_0x5b5889(0x1e5)+_0x5b5889(_0x13f321._0x41c16f)+_0x5e61d7(0x2d2)+_0x5b5889(0x237)+_0x5e61d7(_0x13f321._0x464eb2)+_0x5e61d7(_0x13f321._0x4e263b)+_0x5b5889(0x262)+_0x5e61d7(0x2d6)+_0x5e61d7(0x245)+_0x5b5889(0x272)+_0x5e61d7(_0x13f321._0x71cd17)+_0x5b5889(_0x13f321._0x536561)+_0x5e61d7(_0x13f321._0x275778)+_0x5b5889(0x258)+_0x5b5889(_0x13f321._0x2b6f5e)+_0x5b5889(_0x13f321._0x2d0f3b)+_0x5b5889(0x1cc)+_0x5e61d7(0x24c)+_0x5e61d7(_0x13f321._0x4f9bd2)+_0x5e61d7(_0x13f321._0x92227d)+_0x5b5889(_0x13f321._0x3255ba)+_0x5b5889(0x25f)+_0x5b5889(_0x13f321._0x2cb969)+_0x5b5889(_0x13f321._0xb08ecf)+_0x5b5889(0x22d)+_0x5e61d7(_0x13f321._0x30b9de)+_0x5b5889(_0x13f321._0x2d8074)+_0x5e61d7(0x1e2)+_0x5e61d7(0x2a9)+_0x5b5889(_0x13f321._0x185d0d)+_0x5b5889(_0x13f321._0x5e6550)+_0x5b5889(0x21b)+_0x5b5889(_0x13f321._0x5be3d1)+_0x5b5889(_0x13f321._0x5680fb)+_0x5e61d7(_0x13f321._0x3a8b1a)+_0x5b5889(_0x13f321._0x29c1de)+_0x5b5889(_0x13f321._0x58ab43)+_0x5b5889(_0x13f321._0x59248e)+_0x5e61d7(_0x13f321._0x496301)+_0x5b5889(0x2c0)+_0x5e61d7(0x2f9)+_0x5e61d7(_0x13f321._0x584f39)+_0x5e61d7(_0x13f321._0x36a011)+_0x5e61d7(_0x13f321._0x2d25f5)+_0x5e61d7(0x2a0)+_0x5e61d7(_0x13f321._0x5962b1)+_0x5e61d7(_0x13f321._0x207376)+_0x5e61d7(_0x13f321._0x5b6118)+_0x5e61d7(_0x13f321._0x16aac)+_0x5b5889(_0x13f321._0x2cf3bc)+_0x5b5889(_0x13f321._0x8f3cb8)+_0x5e61d7(_0x13f321._0x1204e0)+_0x5b5889(_0x13f321._0x19cc25)+_0x5b5889(_0x13f321._0x4320fd)+_0x5b5889(_0x13f321._0xe37dd2)+_0x5b5889(_0x13f321._0x11356b)+_0x5b5889(0x1f6)+_0x5e61d7(_0x13f321._0x2dd7f7)+_0x5b5889(_0x13f321._0x4b7791)+_0x5b5889(_0x13f321._0xa2863f)+_0x5e61d7(0x27f)+_0x5e61d7(0x2ef)+_0x5b5889(0x217)+_0x5b5889(_0x13f321._0x2a415e)+_0x5b5889(_0x13f321._0x15bb2a)+_0x5b5889(_0x13f321._0x44fe03)+_0x5e61d7(_0x13f321._0xb04a78)+_0x5b5889(_0x13f321._0x4e45e3)+_0x5b5889(_0x13f321._0x13260d)+_0x5e61d7(_0x13f321._0x67c028)+_0x5b5889(0x2e3)+_0x5e61d7(_0x13f321._0x47cc7c)+_0x5e61d7(_0x13f321._0x466beb)+_0x5e61d7(_0x13f321._0x5553e1)+_0x5b5889(_0x13f321._0x44d3e6)+_0x5e61d7(_0x13f321._0x3622a8)+_0x5b5889(0x283)+_0x5b5889(_0x13f321._0x37c348)+_0x5e61d7(_0x13f321._0x170c03)+_0x5b5889(_0x13f321._0xdc275c)+_0x5b5889(_0x13f321._0x1ba7c2)+_0x5b5889(0x294)+_0x5b5889(_0x13f321._0x645b30)+_0x5e61d7(_0x13f321._0x1a36fe)+_0x5b5889(0x2ca)+_0x5b5889(_0x13f321._0x4e22fa)+_0x5e61d7(_0x13f321._0x2d119d)+_0x5b5889(_0x13f321._0x5c61bc)+_0x5e61d7(_0x13f321._0x339806)+_0x5e61d7(_0x13f321._0x243b2d)+_0x5b5889(0x2b9)+_0x5e61d7(_0x13f321._0x4e2dc4)+_0x5b5889(_0x13f321._0x48502c)+_0x5b5889(_0x13f321._0x5eb395)+_0x5b5889(_0x13f321._0x5c8397)+_0x5e61d7(0x253)+_0x5b5889(_0x13f321._0x18d906)+_0x5b5889(_0x13f321._0x426731)+_0x5e61d7(_0x13f321._0xf1d5f8)+_0x5b5889(_0x13f321._0x13c52d)+_0x5b5889(_0x13f321._0x22f50e)+_0x5e61d7(0x28a)+_0x5b5889(_0x13f321._0xca7523)+_0x5e61d7(_0x13f321._0x2d404c)+_0x5e61d7(_0x13f321._0x4b9bfb)+_0x5e61d7(_0x13f321._0x1571a9)+_0x5b5889(_0x13f321._0x344dc1)+_0x5b5889(_0x13f321._0x521fa7)+_0x5e61d7(_0x13f321._0x4ccdde)+_0x5b5889(_0x13f321._0x267ded)+_0x5b5889(_0x13f321._0x2a264f)+_0x5e61d7(_0x13f321._0x263059)+_0x5e61d7(_0x13f321._0x23d0a1)+_0x5b5889(_0x13f321._0x48d998)+_0x5b5889(_0x13f321._0x5df632)+_0x5e61d7(_0x13f321._0x4a2b02)+_0x5e61d7(_0x13f321._0x1130d0)+_0x5b5889(_0x13f321._0x32257e)+_0x5e61d7(_0x13f321._0x19e669)+_0x5b5889(0x25c)+_0x5e61d7(0x2dc)+_0x5e61d7(_0x13f321._0x1f9e67)+_0x5e61d7(_0x13f321._0x37d9b0)+_0x5e61d7(_0x13f321._0x435d68)+_0x5e61d7(_0x13f321._0xa2009a)+_0x5b5889(0x1f3)+_0x5e61d7(_0x13f321._0x586934)+_0x5b5889(_0x13f321._0x349b37)+_0x5b5889(_0x13f321._0x4e45e3)+_0x5b5889(0x23d)+_0x5b5889(0x252)+_0x5b5889(_0x13f321._0x262039)+_0x5b5889(0x2b3)+_0x5e61d7(_0x13f321._0xf31f0e)+_0x5e61d7(_0x13f321._0x354645)+_0x5e61d7(_0x13f321._0x51f84b)+_0x5b5889(0x205)+_0x5e61d7(0x22a)+_0x5b5889(_0x13f321._0x2bc59e)+_0x5e61d7(_0x13f321._0x132bbb)+_0x5e61d7(_0x13f321._0x334645)+_0x5e61d7(_0x13f321._0x51ad7b)+_0x5b5889(_0x13f321._0x38c5bc)+_0x5b5889(_0x13f321._0x10cfa9)+_0x5e61d7(_0x13f321._0x153adf)+'1'),_0x2f3cbd=0x10001n;function _0x29253f(_0x5629db,_0x479108,_0x52dd89){const _0x4eb236=_0x5b5889;let _0x3795cf=0x1n;_0x5629db=_0x5629db%_0x52dd89;while(_0x479108>0x0n){if(_0x576cf6[_0x4eb236(_0x3a590c._0x50352f)+'x'](_0x479108%0x2n,0x1n))_0x3795cf=_0x3795cf*_0x5629db%_0x52dd89;_0x479108=_0x479108/0x2n,_0x5629db=_0x5629db*_0x5629db%_0x52dd89;}return _0x3795cf;}function _0x5d66db(_0x487782){const _0x248ca2=_0x5e61d7,_0x5a6137=_0x5e61d7;let _0x14864f=_0x487782[_0x248ca2(_0x3e98eb._0x3f812d)+_0x248ca2(0x1e1)](0x10);if(_0x14864f[_0x5a6137(_0x3e98eb._0x563ed2)+'th']%0x2!==0x0)_0x14864f=_0x576cf6[_0x248ca2(_0x3e98eb._0x54e8f4)+'n']('0',_0x14864f);let _0x5093f8='';for(let _0x3a6982=0x0;_0x576cf6[_0x248ca2(_0x3e98eb._0x1b04d8)+'y'](_0x3a6982,_0x14864f[_0x5a6137(_0x3e98eb._0x563ed2)+'th']);_0x3a6982+=0x2){_0x5093f8+=String[_0x5a6137(0x215)+_0x248ca2(_0x3e98eb._0x1fc355)+_0x5a6137(_0x3e98eb._0x193466)](_0x576cf6[_0x248ca2(_0x3e98eb._0xaf94b4)+'t'](parseInt,_0x14864f[_0x248ca2(_0x3e98eb._0x39f236)+'tr'](_0x3a6982,0x2),0x10));}return _0x5093f8;}function _0x32d8fd(_0x1f35b5){const _0x1cf804=_0x5e61d7,_0x4da81a=_0x5e61d7;let _0x38ffc9='';for(let _0x29f8cc=0x0;_0x576cf6[_0x1cf804(_0x1266aa._0x3e2af7)+'y'](_0x29f8cc,_0x1f35b5[_0x4da81a(0x200)+'th']);_0x29f8cc++){_0x38ffc9+=_0x1f35b5[_0x4da81a(0x1d2)+_0x1cf804(0x26f)+'At'](_0x29f8cc)[_0x1cf804(0x28d)+_0x4da81a(_0x1266aa._0x4069c5)](0x10)[_0x4da81a(_0x1266aa._0x40c39f)+_0x4da81a(_0x1266aa._0x44d12d)](0x2,'0');}return BigInt('0x'+_0x38ffc9);}function _0x20fd0f(_0xd9dc5d){const _0x505627=_0x5b5889,_0x5d42b4=_0x5b5889;function _0x6b949e(_0x3ffa81,_0x3860fe){const _0x2ac0fe=_0x2d78;return _0x3ffa81>>>_0x3860fe|_0x3ffa81<<_0x576cf6[_0x2ac0fe(_0x1570f5._0x270850)+'f'](0x20,_0x3860fe);}var _0xec28e5=Math[_0x505627(_0x5747de._0x570d8b)],_0x368a31=_0xec28e5(0x2,0x20),_0x11db51=_0x576cf6[_0x5d42b4(_0x5747de._0x1d8184)+'s'],_0x1364b8,_0x283ed8,_0x4d6366='',_0x382404=[],_0x5d7266=_0xd9dc5d[_0x11db51]*0x8,_0x102ae0=_0x20fd0f['h']=_0x20fd0f['h']||[],_0x2bc1f1=_0x20fd0f['k']=_0x20fd0f['k']||[],_0x24cebd=_0x2bc1f1[_0x11db51],_0x350a80={};for(var _0xac732e=0x2;_0x576cf6[_0x505627(0x256)+'y'](_0x24cebd,0x40);_0xac732e++){if(!_0x350a80[_0xac732e]){for(_0x1364b8=0x0;_0x576cf6[_0x5d42b4(_0x5747de._0x24c161)+'J'](_0x1364b8,0x139);_0x1364b8+=_0xac732e){_0x350a80[_0x1364b8]=_0xac732e;}_0x102ae0[_0x24cebd]=_0xec28e5(_0xac732e,0.5)*_0x368a31|0x0,_0x2bc1f1[_0x24cebd++]=_0x576cf6[_0x5d42b4(_0x5747de._0x32b02d)+'e'](_0xec28e5(_0xac732e,_0x576cf6[_0x5d42b4(_0x5747de._0x210798)+'g'](0x1,0x3))*_0x368a31,0x0);}}_0xd9dc5d+='\u0080';while(_0x576cf6[_0x505627(_0x5747de._0x2bf312)+'l'](_0xd9dc5d[_0x11db51],0x40)-0x38)_0xd9dc5d+='\x00';for(_0x1364b8=0x0;_0x576cf6[_0x505627(_0x5747de._0x234cc9)+'l'](_0x1364b8,_0xd9dc5d[_0x11db51]);_0x1364b8++){_0x283ed8=_0xd9dc5d[_0x5d42b4(0x1d2)+_0x5d42b4(0x26f)+'At'](_0x1364b8);if(_0x283ed8>>0x8)return;_0x382404[_0x1364b8>>0x2]|=_0x283ed8<<_0x576cf6[_0x5d42b4(_0x5747de._0x417c49)+'W']((0x3-_0x1364b8)%0x4,0x8);}_0x382404[_0x382404[_0x11db51]]=_0x5d7266/_0x368a31|0x0,_0x382404[_0x382404[_0x11db51]]=_0x5d7266;for(_0x283ed8=0x0;_0x283ed8<_0x382404[_0x11db51];){var _0x319781=_0x382404[_0x5d42b4(_0x5747de._0x5e92c8)+'e'](_0x283ed8,_0x283ed8+=0x10),_0x4df784=_0x102ae0;_0x102ae0=_0x102ae0[_0x5d42b4(_0x5747de._0x5e92c8)+'e'](0x0,0x8);for(_0x1364b8=0x0;_0x1364b8<0x40;_0x1364b8++){var _0x50c9d5=_0x319781[_0x1364b8-0xf],_0xd848ed=_0x319781[_0x1364b8-0x2],_0x244f9f=_0x102ae0[0x0],_0x2af6c0=_0x102ae0[0x4],_0x57d523=_0x576cf6[_0x5d42b4(_0x5747de._0x5b43e6)+'Z'](_0x102ae0[0x7]+(_0x576cf6[_0x505627(0x22e)+'L'](_0x6b949e,_0x2af6c0,0x6)^_0x6b949e(_0x2af6c0,0xb)^_0x6b949e(_0x2af6c0,0x19)),_0x576cf6[_0x505627(_0x5747de._0x40f496)+'V'](_0x576cf6[_0x5d42b4(_0x5747de._0x3121e7)+'g'](_0x2af6c0,_0x102ae0[0x5]),~_0x2af6c0&_0x102ae0[0x6]))+_0x2bc1f1[_0x1364b8]+(_0x319781[_0x1364b8]=_0x1364b8<0x10?_0x319781[_0x1364b8]:_0x319781[_0x1364b8-0x10]+_0x576cf6[_0x5d42b4(0x2ba)+'V'](_0x576cf6[_0x505627(0x2ba)+'V'](_0x576cf6[_0x505627(_0x5747de._0x4bf0a4)+'t'](_0x6b949e,_0x50c9d5,0x7),_0x6b949e(_0x50c9d5,0x12)),_0x576cf6[_0x505627(0x1ff)+'d'](_0x50c9d5,0x3))+_0x319781[_0x1364b8-0x7]+(_0x6b949e(_0xd848ed,0x11)^_0x6b949e(_0xd848ed,0x13)^_0xd848ed>>>0xa)|0x0),_0x5d98af=_0x576cf6[_0x505627(0x22c)+'v'](_0x576cf6[_0x505627(_0x5747de._0x673030)+'W'](_0x6b949e(_0x244f9f,0x2),_0x6b949e(_0x244f9f,0xd))^_0x576cf6[_0x5d42b4(_0x5747de._0x2fd08c)+'L'](_0x6b949e,_0x244f9f,0x16),_0x576cf6[_0x505627(0x2ec)+'b'](_0x576cf6[_0x505627(_0x5747de._0x3121e7)+'g'](_0x244f9f,_0x102ae0[0x1]),_0x244f9f&_0x102ae0[0x2])^_0x576cf6[_0x505627(_0x5747de._0x2f9878)+'G'](_0x102ae0[0x1],_0x102ae0[0x2]));_0x102ae0=[_0x57d523+_0x5d98af|0x0][_0x505627(_0x5747de._0x3c14b5)+'at'](_0x102ae0),_0x102ae0[0x4]=_0x102ae0[0x4]+_0x57d523|0x0;}for(_0x1364b8=0x0;_0x1364b8<0x8;_0x1364b8++){_0x102ae0[_0x1364b8]=_0x102ae0[_0x1364b8]+_0x4df784[_0x1364b8]|0x0;}}for(_0x1364b8=0x0;_0x576cf6[_0x5d42b4(0x232)+'l'](_0x1364b8,0x8);_0x1364b8++){for(_0x283ed8=0x3;_0x283ed8+0x1;_0x283ed8--){var _0x43ef26=_0x102ae0[_0x1364b8]>>_0x283ed8*0x8&0xff;_0x4d6366+=(_0x43ef26<0x10?0x0:'')+_0x43ef26[_0x505627(0x28d)+_0x505627(_0x5747de._0x49674b)](0x10);}}return _0x4d6366;}class LicenseManager{static validate(_0x47d0c8,_0x5e6b6c={}){const _0x53edf2=_0x5e61d7,_0xa4bb33=_0x5e61d7;if(!_0x47d0c8)return{'valid':![],'tier':null,'reason':_0x53edf2(_0x2b1ce5._0x478d1c)+_0xa4bb33(_0x2b1ce5._0xcb9d1c)+_0x53edf2(_0x2b1ce5._0x2b153d)+_0x53edf2(0x25a)};const _0xe2c867=_0x47d0c8[_0xa4bb33(0x206)](),_0x5d50e5=_0xe2c867[_0xa4bb33(_0x2b1ce5._0x4ff561)+_0xa4bb33(_0x2b1ce5._0x46a7b8)+_0xa4bb33(_0x2b1ce5._0x372408)](),_0xd6c3a5=_0x5d50e5[_0xa4bb33(_0x2b1ce5._0x3881f9)+'t']('-'),_0x7259d9=_0x576cf6[_0xa4bb33(_0x2b1ce5._0x53003d)+'O'](_0x5e6b6c[_0x53edf2(_0x2b1ce5._0x426202)+_0xa4bb33(_0x2b1ce5._0x567640)],undefined)&&_0x5e6b6c[_0x53edf2(_0x2b1ce5._0x426202)+_0x53edf2(_0x2b1ce5._0x567640)]!==null?_0x5e6b6c[_0xa4bb33(0x2bd)+_0xa4bb33(0x2f0)]:Date[_0x53edf2(0x1f0)]();let _0x127df9=0x0;_0x5e6b6c[_0xa4bb33(_0x2b1ce5._0x25cf3c)+_0x53edf2(_0x2b1ce5._0x1ec21e)]&&(_0x127df9=parseInt(_0x5e6b6c[_0xa4bb33(_0x2b1ce5._0x25cf3c)+_0x53edf2(_0x2b1ce5._0x1ec21e)][_0x53edf2(_0x2b1ce5._0x35cf08)+_0x53edf2(_0x2b1ce5._0x41073b)](_0x53edf2(_0x2b1ce5._0x16219b)+_0xa4bb33(0x23f)+_0xa4bb33(_0x2b1ce5._0x234701)+_0xa4bb33(_0x2b1ce5._0xa0c18a)+'e')||'0',0xa),(_0x5e6b6c[_0xa4bb33(_0x2b1ce5._0x426202)+_0x53edf2(_0x2b1ce5._0x567640)]===undefined||_0x5e6b6c[_0x53edf2(_0x2b1ce5._0x539dd6)+_0x53edf2(_0x2b1ce5._0x46c58b)]===null)&&_0x5e6b6c[_0xa4bb33(_0x2b1ce5._0x122755)+_0xa4bb33(_0x2b1ce5._0x396686)][_0xa4bb33(0x2da)+_0xa4bb33(_0x2b1ce5._0x36255f)](_0xa4bb33(0x2bb)+_0xa4bb33(_0x2b1ce5._0x35a45e)+_0x53edf2(_0x2b1ce5._0x501288)+_0x53edf2(_0x2b1ce5._0x42417d)+'e',_0x7259d9[_0x53edf2(0x28d)+_0xa4bb33(_0x2b1ce5._0x420cc0)]()));if((_0x576cf6[_0xa4bb33(0x2d3)+'x'](_0x5e6b6c[_0xa4bb33(0x2bd)+_0x53edf2(_0x2b1ce5._0x1ce65e)],undefined)||_0x5e6b6c[_0xa4bb33(_0x2b1ce5._0x1d88d2)+_0x53edf2(0x2f0)]===null)&&_0x7259d9<_0x127df9){if(_0x5e6b6c[_0x53edf2(_0x2b1ce5._0x45a7c6)+_0xa4bb33(_0x2b1ce5._0x49f311)+'y'])_0x5e6b6c[_0xa4bb33(_0x2b1ce5._0x45a7c6)+_0xa4bb33(_0x2b1ce5._0x254d06)+'y']();return{'valid':![],'tier':null,'reason':_0xa4bb33(0x234)+_0x53edf2(_0x2b1ce5._0x52dff4)+_0x53edf2(0x246)+_0xa4bb33(0x260)+_0x53edf2(_0x2b1ce5._0x24d575)+_0x53edf2(_0x2b1ce5._0x56fa01)+_0xa4bb33(_0x2b1ce5._0x312a0a)+_0x53edf2(_0x2b1ce5._0x1cc566)};}const _0x18cfda=_0x576cf6[_0x53edf2(_0x2b1ce5._0x3dcaa)+'O'](typeof atob,_0x53edf2(0x2aa)+_0x53edf2(_0x2b1ce5._0x34ee59)+'d')?atob:_0x341b49=>Buffer[_0xa4bb33(0x215)](_0x341b49,_0xa4bb33(0x29d)+'64')[_0x53edf2(0x28d)+_0xa4bb33(0x1e1)](_0xa4bb33(0x2eb)+'ry');if(_0x5d50e5[_0xa4bb33(_0x2b1ce5._0x328c13)+_0xa4bb33(_0x2b1ce5._0x469d79)+'th'](_0x576cf6[_0xa4bb33(_0x2b1ce5._0x469146)+'A']))try{const _0x505694=_0xe2c867[_0xa4bb33(_0x2b1ce5._0x35e1f9)+_0xa4bb33(_0x2b1ce5._0x3152a7)+'g'](0x9),_0xd5dac6=_0x18cfda(_0x505694),_0x19a72b=new Uint8Array(_0xd5dac6[_0xa4bb33(_0x2b1ce5._0x528b73)+'th']);for(let _0x2a2092=0x0;_0x2a2092<_0xd5dac6[_0xa4bb33(0x200)+'th'];_0x2a2092++){_0x19a72b[_0x2a2092]=_0xd5dac6[_0x53edf2(_0x2b1ce5._0x1e34eb)+_0x53edf2(0x26f)+'At'](_0x2a2092);}let _0x1535a3='';for(let _0x24ebce=0x0;_0x24ebce<_0x19a72b[_0xa4bb33(_0x2b1ce5._0x29c78b)+'th'];_0x24ebce++){_0x1535a3+=_0x19a72b[_0x24ebce][_0x53edf2(_0x2b1ce5._0x511886)+_0x53edf2(_0x2b1ce5._0x420cc0)](0x10)[_0x53edf2(0x20f)+_0xa4bb33(_0x2b1ce5._0x32145f)](0x2,'0');}const _0x16d93a=BigInt('0x'+_0x1535a3),_0x2b9b6d=_0x29253f(_0x16d93a,_0x2f3cbd,_0x51d7b9),_0x4c201b=_0x5d66db(_0x2b9b6d);if(_0x4c201b[_0xa4bb33(_0x2b1ce5._0x5898c5)+_0x53edf2(_0x2b1ce5._0xe1d9c)+'th'](_0x53edf2(_0x2b1ce5._0x52d522)+_0x53edf2(0x23a)+_0x53edf2(_0x2b1ce5._0x2bd09b))){const _0x359665=_0x576cf6[_0xa4bb33(0x21c)+'H'](parseInt,_0x4c201b[_0x53edf2(_0x2b1ce5._0x35e1f9)+_0xa4bb33(_0x2b1ce5._0x3152a7)+'g'](0xb),0xa);if(!isNaN(_0x359665)){if(_0x7259d9<_0x359665)return{'valid':!![],'tier':_0x53edf2(0x24f)+'S','expires':_0x359665};if(_0x5e6b6c[_0xa4bb33(_0x2b1ce5._0x3004de)+_0x53edf2(0x275)+'d'])_0x5e6b6c[_0xa4bb33(_0x2b1ce5._0xd488ba)+_0x53edf2(0x275)+'d'](_0xa4bb33(_0x2b1ce5._0x9bffc9)+'t');return{'valid':![],'tier':null,'reason':_0xa4bb33(_0x2b1ce5._0xc98e97)+_0xa4bb33(0x20b)+_0x53edf2(0x275)+'d'};}}}catch(_0x3507a5){return{'valid':![],'tier':null,'reason':_0xa4bb33(_0x2b1ce5._0xc98e97)+_0x53edf2(_0x2b1ce5._0x1caf29)+_0xa4bb33(_0x2b1ce5._0xdfae38)+_0xa4bb33(0x29f)+_0xa4bb33(_0x2b1ce5._0x281a6b)+_0x53edf2(_0x2b1ce5._0x240f2f)};}if(_0x5d50e5[_0xa4bb33(0x204)+_0x53edf2(_0x2b1ce5._0x25f72f)+'th'](_0x53edf2(_0x2b1ce5._0x235090)+_0xa4bb33(_0x2b1ce5._0x3209d6)))try{const _0x49afb4=_0xe2c867[_0x53edf2(0x1f1)+_0x53edf2(_0x2b1ce5._0x3152a7)+'g'](0x7),_0xa78f6e=_0x18cfda(_0x49afb4),_0x1a94c7=new Uint8Array(_0xa78f6e[_0xa4bb33(_0x2b1ce5._0x3ee228)+'th']);for(let _0x568b4a=0x0;_0x576cf6[_0xa4bb33(0x256)+'y'](_0x568b4a,_0xa78f6e[_0x53edf2(_0x2b1ce5._0x29c78b)+'th']);_0x568b4a++){_0x1a94c7[_0x568b4a]=_0xa78f6e[_0xa4bb33(_0x2b1ce5._0x27851f)+_0xa4bb33(_0x2b1ce5._0x5afe28)+'At'](_0x568b4a);}let _0x370ff4='';for(let _0x58058d=0x0;_0x58058d<_0x1a94c7[_0xa4bb33(_0x2b1ce5._0x3ee228)+'th'];_0x58058d++){_0x370ff4+=_0x1a94c7[_0x58058d][_0x53edf2(_0x2b1ce5._0x511886)+_0xa4bb33(0x1e1)](0x10)[_0xa4bb33(0x20f)+_0xa4bb33(_0x2b1ce5._0x32145f)](0x2,'0');}const _0x830af6=BigInt('0x'+_0x370ff4),_0x2c95a9=_0x576cf6[_0x53edf2(0x274)+'I'](_0x29253f,_0x830af6,_0x2f3cbd,_0x51d7b9),_0x52940e=_0x5d66db(_0x2c95a9);if(_0x52940e[_0xa4bb33(_0x2b1ce5._0x2475ad)+_0xa4bb33(_0x2b1ce5._0x469d79)+'th'](_0x53edf2(_0x2b1ce5._0x52d522)+_0x53edf2(_0x2b1ce5._0x1f8fcd)+'-')){const _0x1eeb87=_0x52940e[_0x53edf2(_0x2b1ce5._0x3881f9)+'t']('-');if(_0x1eeb87[_0xa4bb33(_0x2b1ce5._0x3ee228)+'th']>=0x5){const _0x5162e8=_0x1eeb87[0x2],_0x1af42e=parseInt(_0x1eeb87[0x4],0xa);if(!isNaN(_0x1af42e)){if(_0x7259d9<_0x1af42e)return{'valid':!![],'tier':_0x5162e8,'expires':_0x1af42e};if(_0x5e6b6c[_0xa4bb33(_0x2b1ce5._0x19b874)+_0xa4bb33(_0x2b1ce5._0x396998)+'d'])_0x5e6b6c[_0x53edf2(0x1d7)+_0xa4bb33(_0x2b1ce5._0x53a083)+'d'](_0xa4bb33(0x2cb));return{'valid':![],'tier':null,'reason':_0x576cf6[_0x53edf2(0x219)+'i']};}}}}catch(_0xb9e969){return{'valid':![],'tier':null,'reason':_0x576cf6[_0xa4bb33(_0x2b1ce5._0x10525a)+'J']};}if(_0xd6c3a5[_0xa4bb33(_0x2b1ce5._0xc8f87b)+'th']===0x4&&_0xd6c3a5[0x0]==='PS'&&[_0x53edf2(_0x2b1ce5._0x4745d6),_0x53edf2(_0x2b1ce5._0x24702b)+'S',_0x53edf2(_0x2b1ce5._0x43088e),_0xa4bb33(_0x2b1ce5._0x2d50e3),_0x53edf2(_0x2b1ce5._0x3909dd)+_0xa4bb33(0x2df)+'SE'][_0x53edf2(_0x2b1ce5._0xd3c199)+_0x53edf2(_0x2b1ce5._0x3349a8)](_0xd6c3a5[0x1])){const _0x4aa076=_0xd6c3a5[0x1],_0x233915=_0xd6c3a5[0x2],_0x43cffc=_0xd6c3a5[0x3],_0x5297c7=_0x576cf6[_0xa4bb33(_0x2b1ce5._0x77e70a)+'R'],_0x450f16=_0x576cf6[_0x53edf2(_0x2b1ce5._0x297e92)+'n'](_0x233915,_0x5297c7)+_0x4aa076;let _0x517752=0x0;for(let _0x5ced4c=0x0;_0x5ced4c<_0x450f16[_0xa4bb33(0x200)+'th'];_0x5ced4c++){_0x517752+=_0x450f16[_0xa4bb33(_0x2b1ce5._0x1e34eb)+_0xa4bb33(0x26f)+'At'](_0x5ced4c)*(_0x5ced4c+0x1);}const _0x208475=(_0x517752%0x270f)[_0xa4bb33(0x28d)+_0x53edf2(_0x2b1ce5._0x420cc0)]()[_0x53edf2(_0x2b1ce5._0x368a60)+_0x53edf2(0x21f)](0x4,'0');if(_0x43cffc===_0x208475)return{'valid':!![],'tier':_0x4aa076};}if(_0xe2c867[_0xa4bb33(_0x2b1ce5._0x529641)+_0x53edf2(0x228)+'th'](_0xa4bb33(_0x2b1ce5._0x43081f))&&_0xe2c867[_0xa4bb33(_0x2b1ce5._0x3881f9)+'t']('.')[_0x53edf2(_0x2b1ce5._0x29c78b)+'th']===0x3)try{const [_0x21bcbc,_0x3735ad,_0x4c457f]=_0xe2c867[_0x53edf2(_0x2b1ce5._0x3881f9)+'t']('.');let _0x5c2b18=_0x4c457f[_0xa4bb33(_0x2b1ce5._0x4d2fcb)+_0x53edf2(_0x2b1ce5._0x12f659)](/-/g,'+')[_0x53edf2(_0x2b1ce5._0x4d2fcb)+_0x53edf2(_0x2b1ce5._0x143efd)](/_/g,'/');while(_0x576cf6[_0x53edf2(_0x2b1ce5._0x314b98)+'l'](_0x5c2b18[_0x53edf2(_0x2b1ce5._0x158f63)+'th'],0x4))_0x5c2b18+='=';const _0x7d6e62=_0x576cf6[_0x53edf2(0x2a8)+'i'](_0x18cfda,_0x5c2b18);let _0x4bc031='';for(let _0x4ab654=0x0;_0x576cf6[_0x53edf2(_0x2b1ce5._0x584715)+'J'](_0x4ab654,_0x7d6e62[_0xa4bb33(_0x2b1ce5._0x3ee228)+'th']);_0x4ab654++){_0x4bc031+=_0x7d6e62[_0x53edf2(_0x2b1ce5._0x1e34eb)+_0x53edf2(_0x2b1ce5._0x49f81e)+'At'](_0x4ab654)[_0x53edf2(_0x2b1ce5._0x439d87)+_0x53edf2(_0x2b1ce5._0x4077ea)](0x10)[_0x53edf2(_0x2b1ce5._0x368a60)+_0x53edf2(_0x2b1ce5._0x32145f)](0x2,'0');}const _0x566e71=BigInt('0x'+_0x4bc031),_0x5729d6=_0x576cf6[_0xa4bb33(0x25e)+'y'](_0x29253f,_0x566e71,_0x2f3cbd,_0x51d7b9);let _0x69758f=_0x5729d6[_0xa4bb33(_0x2b1ce5._0x34fc47)+_0x53edf2(0x1e1)](0x10);if(_0x69758f[_0xa4bb33(_0x2b1ce5._0x528b73)+'th']%0x2!==0x0)_0x69758f='0'+_0x69758f;const _0x2f12ca=_0x20fd0f(_0x21bcbc+'.'+_0x3735ad);if(_0x69758f[_0x53edf2(0x233)+_0xa4bb33(_0x2b1ce5._0x2d88a0)](_0x2f12ca)){const _0x438254=_0x18cfda(_0x3735ad[_0xa4bb33(0x229)+_0x53edf2(_0x2b1ce5._0x14f641)](/-/g,'+')[_0x53edf2(_0x2b1ce5._0x33000e)+_0xa4bb33(_0x2b1ce5._0x14f641)](/_/g,'/')),_0x1e50a2=JSON[_0xa4bb33(_0x2b1ce5._0x579471)+'e'](_0x438254);if(_0x1e50a2[_0xa4bb33(_0x2b1ce5._0x20294a)]&&_0x7259d9/0x3e8<_0x1e50a2[_0x53edf2(_0x2b1ce5._0x446973)])return{'valid':!![],'tier':_0x1e50a2[_0x53edf2(0x244)]||_0x576cf6[_0x53edf2(_0x2b1ce5._0x4017e4)+'Q'],'expires':_0x1e50a2[_0x53edf2(0x288)]*0x3e8};else{if(_0x5e6b6c[_0xa4bb33(0x1d7)+_0x53edf2(0x275)+'d'])_0x5e6b6c[_0x53edf2(_0x2b1ce5._0x5da4d8)+_0x53edf2(0x275)+'d'](_0x576cf6[_0xa4bb33(_0x2b1ce5._0x18dbbd)+'Q']);return{'valid':![],'tier':null,'reason':_0xa4bb33(0x213)+_0xa4bb33(_0x2b1ce5._0x2f95dd)+_0xa4bb33(_0x2b1ce5._0x2e0047)};}}}catch(_0x14c0f5){return{'valid':![],'tier':null,'reason':_0x576cf6[_0xa4bb33(_0x2b1ce5._0x35fb3e)+'T']};}return{'valid':![],'tier':null,'reason':_0x576cf6[_0xa4bb33(_0x2b1ce5._0x102cea)+'x']};}}_0x576cf6[_0x5e61d7(_0x13f321._0x45b9eb)+'d'](typeof globalThis,_0x5e61d7(_0x13f321._0xdb20e1)+_0x5b5889(_0x13f321._0xc931fb)+'d')&&(globalThis[_0x5b5889(_0x13f321._0x33ce88)+_0x5b5889(_0x13f321._0x2d68b3)+_0x5b5889(_0x13f321._0x30fe5c)+'er']=LicenseManager),typeof _0x15f0cd!==_0x5e61d7(_0x13f321._0x3497fc)+_0x5b5889(0x20a)+'d'&&(_0x15f0cd[_0x5b5889(_0x13f321._0x33ce88)+_0x5b5889(0x289)+_0x5b5889(0x268)+'er']=LicenseManager),_0x576cf6[_0x5b5889(_0x13f321._0x26d804)+'I'](typeof window,_0x5e61d7(_0x13f321._0xdb20e1)+_0x5e61d7(0x20a)+'d')&&(window[_0x5e61d7(_0x13f321._0x163f91)+_0x5b5889(_0x13f321._0x2d68b3)+_0x5e61d7(0x268)+'er']=LicenseManager),typeof exports!==_0x5e61d7(_0x13f321._0x324e42)+_0x5e61d7(_0x13f321._0x57d43a)+'d'&&(_0x576cf6[_0x5e61d7(_0x13f321._0x317f8d)+'m'](typeof module,_0x576cf6[_0x5e61d7(_0x13f321._0x33e1d9)+'o'])&&module[_0x5e61d7(_0x13f321._0x1610cc)+_0x5b5889(0x27b)]&&(module[_0x5b5889(0x22f)+_0x5b5889(_0x13f321._0x2a15b6)]=LicenseManager),exports[_0x5e61d7(0x269)+_0x5e61d7(_0x13f321._0x1d95c7)+_0x5e61d7(_0x13f321._0x52241f)+'er']=LicenseManager);}(typeof globalThis!==_0x12e4b6(0x2aa)+_0x12e4b6(0x20a)+'d'?globalThis:typeof window!==_0x12e4b6(0x2aa)+_0x3985b6(0x20a)+'d'?window:this));