agentics-shield 0.1.8 → 0.1.10
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/bin/cli.js +254 -14
- package/dist/bundle.js +1 -1
- package/dist/crypto.js +1 -1
- package/dist/index.js +1 -1
- package/dist/loader.js +1 -1
- package/dist/middleware.js +1 -1
- package/dist/rateLimit.js +1 -1
- package/dist/session.js +1 -1
- package/dist/shield.js +1 -1
- package/package.json +1 -1
package/bin/cli.js
CHANGED
|
@@ -28,21 +28,27 @@ const log = (input, ...args) => {
|
|
|
28
28
|
console.log(result + colors.C);
|
|
29
29
|
};
|
|
30
30
|
|
|
31
|
+
const crypto = require('crypto');
|
|
32
|
+
|
|
33
|
+
const BINARY_MAGIC = Buffer.from([0xA6, 0xE7, 0x5D, 0x1D, 0x53, 0x48, 0x4C, 0x44]);
|
|
34
|
+
const BINARY_VERSION = 1;
|
|
35
|
+
|
|
31
36
|
const command = process.argv[2];
|
|
32
37
|
|
|
33
38
|
if (!command || command === '--help' || command === '-h') {
|
|
34
39
|
log(':x:Agentics Shield :w:v0.1.0');
|
|
35
40
|
console.log('');
|
|
36
41
|
log(':g:Commands:');
|
|
37
|
-
log(' :x:init :w:Request keys + compiled WASM
|
|
42
|
+
log(' :x:init :w:Request keys + compiled WASM + scaffold project integration');
|
|
38
43
|
log(' :x:status :w:Check the status of a pending compilation');
|
|
39
44
|
console.log('');
|
|
40
45
|
log(':g:Usage:');
|
|
41
|
-
log(' :x:npx agentics-shield init
|
|
46
|
+
log(' :x:npx agentics-shield init :w:[<project-path>] [--output ./shield]');
|
|
42
47
|
log(' :x:npx agentics-shield status :w:<compile_id> [--output ./shield]');
|
|
43
48
|
console.log('');
|
|
44
49
|
log(':g:Options:');
|
|
45
|
-
log(' :x:--output
|
|
50
|
+
log(' :x:--output :w:Directory to write shield binaries (default: ./shield)');
|
|
51
|
+
log(' :x:<project> :w:Path to project root for template scaffolding');
|
|
46
52
|
console.log('');
|
|
47
53
|
log(':y:? :x:Set :w:AGENTICS_API_KEY :x:env var or create :w:~/.agentics/config.json :x:with :w:{"apiKey":"..."}');
|
|
48
54
|
console.log('');
|
|
@@ -104,22 +110,75 @@ function apiRequest(method, apiPath, apiKey, body) {
|
|
|
104
110
|
});
|
|
105
111
|
}
|
|
106
112
|
|
|
113
|
+
function createServerBinary(keysJSON, masterKey) {
|
|
114
|
+
const keyBuf = typeof masterKey === 'string' ? Buffer.from(masterKey, 'base64') : masterKey;
|
|
115
|
+
const salt = crypto.randomBytes(16);
|
|
116
|
+
const iv = crypto.randomBytes(12);
|
|
117
|
+
const derived = crypto.pbkdf2Sync(keyBuf, salt, 100000, 32, 'sha256');
|
|
118
|
+
const cipher = crypto.createCipheriv('aes-256-gcm', derived, iv);
|
|
119
|
+
const plaintext = Buffer.from(JSON.stringify(keysJSON), 'utf8');
|
|
120
|
+
const encrypted = Buffer.concat([cipher.update(plaintext), cipher.final()]);
|
|
121
|
+
const tag = cipher.getAuthTag();
|
|
122
|
+
const header = Buffer.alloc(9);
|
|
123
|
+
BINARY_MAGIC.copy(header, 0);
|
|
124
|
+
header.writeUInt8(BINARY_VERSION, 8);
|
|
125
|
+
return Buffer.concat([header, salt, iv, tag, encrypted]);
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
function createClientBinary(keysJSON) {
|
|
129
|
+
const clientKeys = {
|
|
130
|
+
publicKey: keysJSON.publicKey,
|
|
131
|
+
contentKey: keysJSON.contentKey,
|
|
132
|
+
authSecret: keysJSON.authSecret,
|
|
133
|
+
domainVerifyKey: keysJSON.domainVerifyKey
|
|
134
|
+
};
|
|
135
|
+
const salt = crypto.randomBytes(16);
|
|
136
|
+
const iv = crypto.randomBytes(12);
|
|
137
|
+
const derived = crypto.pbkdf2Sync(Buffer.from(keysJSON.publicKey, 'base64'), salt, 50000, 32, 'sha256');
|
|
138
|
+
const cipher = crypto.createCipheriv('aes-256-gcm', derived, iv);
|
|
139
|
+
const plaintext = Buffer.from(JSON.stringify(clientKeys), 'utf8');
|
|
140
|
+
const encrypted = Buffer.concat([cipher.update(plaintext), cipher.final()]);
|
|
141
|
+
const tag = cipher.getAuthTag();
|
|
142
|
+
const header = Buffer.alloc(9);
|
|
143
|
+
BINARY_MAGIC.copy(header, 0);
|
|
144
|
+
header.writeUInt8(BINARY_VERSION, 8);
|
|
145
|
+
return Buffer.concat([header, salt, iv, tag, encrypted]);
|
|
146
|
+
}
|
|
147
|
+
|
|
107
148
|
function writeArtifacts(outputDir, keysJSON, wasmBinary) {
|
|
108
149
|
const dir = ensureDir(outputDir);
|
|
109
150
|
const keysPath = path.join(dir, 'shield.keys');
|
|
110
151
|
const wasmPath = path.join(dir, 'shield.wasm');
|
|
111
152
|
|
|
153
|
+
const masterKey = crypto.randomBytes(32);
|
|
154
|
+
const masterKeyB64 = masterKey.toString('base64');
|
|
155
|
+
|
|
156
|
+
const serverBin = createServerBinary(keysJSON, masterKey);
|
|
157
|
+
const clientBin = createClientBinary(keysJSON);
|
|
158
|
+
|
|
112
159
|
fs.writeFileSync(keysPath, JSON.stringify(keysJSON, null, 2), { mode: 0o600 });
|
|
113
160
|
fs.writeFileSync(wasmPath, wasmBinary);
|
|
161
|
+
fs.writeFileSync(path.join(dir, 'shield.server.bin'), serverBin, { mode: 0o600 });
|
|
162
|
+
fs.writeFileSync(path.join(dir, 'shield.client.bin'), clientBin, { mode: 0o600 });
|
|
114
163
|
|
|
115
164
|
log(':g:+ :x:Shield artifacts written to :w:' + dir);
|
|
116
|
-
log(':g: → :w:shield.keys
|
|
117
|
-
log(':g: → :w:shield.wasm
|
|
165
|
+
log(':g: → :w:shield.keys :x:(' + Buffer.byteLength(JSON.stringify(keysJSON, null, 2)) + ' bytes)');
|
|
166
|
+
log(':g: → :w:shield.wasm :x:(' + (wasmBinary.length / 1024).toFixed(1) + ' KB)');
|
|
167
|
+
log(':g: → :w:shield.server.bin :x:(' + serverBin.length + ' bytes) — encrypted server keys');
|
|
168
|
+
log(':g: → :w:shield.client.bin :x:(' + clientBin.length + ' bytes) — encrypted client keys');
|
|
169
|
+
console.log('');
|
|
170
|
+
log(':y:! :x:Add shield artifacts to your :w:.gitignore :x:immediately');
|
|
118
171
|
console.log('');
|
|
119
|
-
log(':
|
|
172
|
+
log(':g:+ :x:Master key (set as SHIELD_MASTER_KEY env var):');
|
|
173
|
+
log(':w: ' + masterKeyB64);
|
|
174
|
+
console.log('');
|
|
175
|
+
log(':y:! :x:Store this master key securely — it decrypts :w:shield.server.bin');
|
|
176
|
+
log(':y: :x:You can delete :w:shield.keys :x:after verifying the binaries work');
|
|
177
|
+
|
|
178
|
+
return masterKeyB64;
|
|
120
179
|
}
|
|
121
180
|
|
|
122
|
-
async function pollCompilation(apiKey, compileId, outputDir) {
|
|
181
|
+
async function pollCompilation(apiKey, compileId, outputDir, projectPath) {
|
|
123
182
|
let attempts = 0;
|
|
124
183
|
const maxAttempts = 60;
|
|
125
184
|
|
|
@@ -139,7 +198,8 @@ async function pollCompilation(apiKey, compileId, outputDir) {
|
|
|
139
198
|
|
|
140
199
|
if (body.keys && body.wasm) {
|
|
141
200
|
const wasmBinary = Buffer.from(body.wasm, 'base64');
|
|
142
|
-
writeArtifacts(outputDir, body.keys, wasmBinary);
|
|
201
|
+
const masterKeyB64 = writeArtifacts(outputDir, body.keys, wasmBinary);
|
|
202
|
+
if (projectPath) scaffoldProject(projectPath, outputDir, masterKeyB64);
|
|
143
203
|
return;
|
|
144
204
|
}
|
|
145
205
|
|
|
@@ -149,12 +209,14 @@ async function pollCompilation(apiKey, compileId, outputDir) {
|
|
|
149
209
|
if (dlRes.headers['content-type']?.includes('application/json')) {
|
|
150
210
|
const dlBody = JSON.parse(dlRes.body.toString('utf8'));
|
|
151
211
|
const wasmBinary = Buffer.from(dlBody.wasm, 'base64');
|
|
152
|
-
writeArtifacts(outputDir, dlBody.keys, wasmBinary);
|
|
212
|
+
const masterKeyB64 = writeArtifacts(outputDir, dlBody.keys, wasmBinary);
|
|
213
|
+
if (projectPath) scaffoldProject(projectPath, outputDir, masterKeyB64);
|
|
153
214
|
} else {
|
|
154
215
|
const wasmBinary = dlRes.body;
|
|
155
216
|
const keysRes = await apiRequest('GET', '/compile/keys/' + compileId, apiKey);
|
|
156
217
|
const keys = JSON.parse(keysRes.body.toString('utf8'));
|
|
157
|
-
writeArtifacts(outputDir, keys, wasmBinary);
|
|
218
|
+
const masterKeyB64 = writeArtifacts(outputDir, keys, wasmBinary);
|
|
219
|
+
if (projectPath) scaffoldProject(projectPath, outputDir, masterKeyB64);
|
|
158
220
|
}
|
|
159
221
|
return;
|
|
160
222
|
}
|
|
@@ -181,6 +243,181 @@ async function pollCompilation(apiKey, compileId, outputDir) {
|
|
|
181
243
|
return poll();
|
|
182
244
|
}
|
|
183
245
|
|
|
246
|
+
function getProjectPath() {
|
|
247
|
+
for (let i = 3; i < process.argv.length; i++) {
|
|
248
|
+
if (!process.argv[i].startsWith('--') && process.argv[i - 1] !== '--output') {
|
|
249
|
+
return process.argv[i];
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
return null;
|
|
253
|
+
}
|
|
254
|
+
|
|
255
|
+
function scaffoldProject(projectPath, outputDir, masterKeyB64) {
|
|
256
|
+
const resolved = path.resolve(projectPath);
|
|
257
|
+
if (!fs.existsSync(resolved)) fs.mkdirSync(resolved, { recursive: true });
|
|
258
|
+
|
|
259
|
+
const shieldRelative = path.relative(resolved, path.resolve(outputDir));
|
|
260
|
+
const templatePath = path.join(resolved, 'shield.config.js');
|
|
261
|
+
|
|
262
|
+
const port = Math.floor(Math.random() * (9999 - 1000) + 1000);
|
|
263
|
+
|
|
264
|
+
const template = `const express = require('express');
|
|
265
|
+
const path = require('path');
|
|
266
|
+
const shield = require('agentics-shield');
|
|
267
|
+
|
|
268
|
+
const app = express();
|
|
269
|
+
app.use(express.json());
|
|
270
|
+
|
|
271
|
+
const shieldInstance = shield.create({
|
|
272
|
+
keys: path.resolve(__dirname, '${shieldRelative}', 'shield.server.bin'),
|
|
273
|
+
wasm: path.resolve(__dirname, '${shieldRelative}', 'shield.wasm'),
|
|
274
|
+
domains: ['localhost', 'yourdomain.com'],
|
|
275
|
+
prefix: '/shield',
|
|
276
|
+
cors: ['*'],
|
|
277
|
+
sessionTTL: 300,
|
|
278
|
+
rateLimit: 60,
|
|
279
|
+
protected: {
|
|
280
|
+
'app.js': path.resolve(__dirname, 'public', 'app.js'),
|
|
281
|
+
'style.css': path.resolve(__dirname, 'public', 'style.css'),
|
|
282
|
+
},
|
|
283
|
+
onAuth: (event) => {
|
|
284
|
+
if (!event.success) console.error('[shield]', event.reason, event.domain);
|
|
285
|
+
},
|
|
286
|
+
});
|
|
287
|
+
|
|
288
|
+
app.use(shieldInstance.router());
|
|
289
|
+
|
|
290
|
+
app.get('/api/status', (req, res) => {
|
|
291
|
+
res.json({ status: 'ok', shielded: true });
|
|
292
|
+
});
|
|
293
|
+
|
|
294
|
+
app.get('/api/data', (req, res) => {
|
|
295
|
+
res.json({ items: [] });
|
|
296
|
+
});
|
|
297
|
+
|
|
298
|
+
app.post('/api/submit', (req, res) => {
|
|
299
|
+
res.json({ success: true, received: req.body });
|
|
300
|
+
});
|
|
301
|
+
|
|
302
|
+
app.use(express.static(path.join(__dirname, 'public')));
|
|
303
|
+
|
|
304
|
+
app.get('/', (req, res) => {
|
|
305
|
+
const html = \`<!DOCTYPE html>
|
|
306
|
+
<html lang="en">
|
|
307
|
+
<head>
|
|
308
|
+
<meta charset="UTF-8">
|
|
309
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
310
|
+
<title>Agentics Shield</title>
|
|
311
|
+
</head>
|
|
312
|
+
<body>
|
|
313
|
+
<div id="app"></div>
|
|
314
|
+
<!-- shield:inject -->
|
|
315
|
+
</body>
|
|
316
|
+
</html>\`;
|
|
317
|
+
res.send(shieldInstance.injectHTML(html));
|
|
318
|
+
});
|
|
319
|
+
|
|
320
|
+
app.listen(${port}, () => {
|
|
321
|
+
console.log('Shield-protected server: http://localhost:${port}');
|
|
322
|
+
});
|
|
323
|
+
`;
|
|
324
|
+
|
|
325
|
+
const expressMiddlewareTemplate = `const express = require('express');
|
|
326
|
+
const path = require('path');
|
|
327
|
+
const shield = require('agentics-shield');
|
|
328
|
+
|
|
329
|
+
const app = express();
|
|
330
|
+
app.use(express.json());
|
|
331
|
+
|
|
332
|
+
const shieldInstance = shield.create({
|
|
333
|
+
keys: path.resolve(__dirname, '${shieldRelative}', 'shield.server.bin'),
|
|
334
|
+
wasm: path.resolve(__dirname, '${shieldRelative}', 'shield.wasm'),
|
|
335
|
+
domains: ['localhost', '*.yourdomain.com'],
|
|
336
|
+
prefix: '/shield',
|
|
337
|
+
cors: ['*'],
|
|
338
|
+
protected: {
|
|
339
|
+
'app.js': path.resolve(__dirname, 'public', 'app.js'),
|
|
340
|
+
'style.css': path.resolve(__dirname, 'public', 'style.css'),
|
|
341
|
+
},
|
|
342
|
+
});
|
|
343
|
+
|
|
344
|
+
app.use(shieldInstance.router());
|
|
345
|
+
|
|
346
|
+
app.use(shieldInstance.globalProtect({
|
|
347
|
+
exclude: [
|
|
348
|
+
'/health',
|
|
349
|
+
'/api/webhook*',
|
|
350
|
+
'/api/oauth/*',
|
|
351
|
+
'/public/*',
|
|
352
|
+
],
|
|
353
|
+
mode: 'encrypt',
|
|
354
|
+
}));
|
|
355
|
+
|
|
356
|
+
const apiRouter = express.Router();
|
|
357
|
+
|
|
358
|
+
apiRouter.get('/data', (req, res) => {
|
|
359
|
+
res.json({ items: [] });
|
|
360
|
+
});
|
|
361
|
+
|
|
362
|
+
apiRouter.post('/submit', (req, res) => {
|
|
363
|
+
res.json({ success: true, received: req.body });
|
|
364
|
+
});
|
|
365
|
+
|
|
366
|
+
apiRouter.get('/user', (req, res) => {
|
|
367
|
+
res.json({ user: { id: req.headers['x-shield-session'] } });
|
|
368
|
+
});
|
|
369
|
+
|
|
370
|
+
app.use('/api', apiRouter);
|
|
371
|
+
|
|
372
|
+
app.get('/health', (req, res) => {
|
|
373
|
+
res.json({ status: 'ok' });
|
|
374
|
+
});
|
|
375
|
+
|
|
376
|
+
app.use(express.static(path.join(__dirname, 'public')));
|
|
377
|
+
|
|
378
|
+
app.get('/', (req, res) => {
|
|
379
|
+
const html = \`<!DOCTYPE html>
|
|
380
|
+
<html lang="en">
|
|
381
|
+
<head>
|
|
382
|
+
<meta charset="UTF-8">
|
|
383
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
384
|
+
<title>Agentics Shield</title>
|
|
385
|
+
</head>
|
|
386
|
+
<body>
|
|
387
|
+
<div id="app"></div>
|
|
388
|
+
<!-- shield:inject -->
|
|
389
|
+
</body>
|
|
390
|
+
</html>\`;
|
|
391
|
+
res.send(shieldInstance.injectHTML(html));
|
|
392
|
+
});
|
|
393
|
+
|
|
394
|
+
app.listen(${port + 1}, () => {
|
|
395
|
+
console.log('Shield + Global Middleware: http://localhost:${port + 1}');
|
|
396
|
+
});
|
|
397
|
+
`;
|
|
398
|
+
|
|
399
|
+
fs.writeFileSync(templatePath, template);
|
|
400
|
+
fs.writeFileSync(path.join(resolved, 'shield.middleware.js'), expressMiddlewareTemplate);
|
|
401
|
+
|
|
402
|
+
const publicDir = path.join(resolved, 'public');
|
|
403
|
+
if (!fs.existsSync(publicDir)) {
|
|
404
|
+
fs.mkdirSync(publicDir, { recursive: true });
|
|
405
|
+
fs.writeFileSync(path.join(publicDir, 'app.js'), `document.addEventListener('DOMContentLoaded', function() {\n var app = document.getElementById('app');\n if (app) app.innerHTML = '<h1>Agentics Shield Active</h1><p>This content is protected.</p>';\n});\n`);
|
|
406
|
+
fs.writeFileSync(path.join(publicDir, 'style.css'), `body { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; margin: 0; padding: 2rem; background: #0a0a0a; color: #e0e0e0; }\nh1 { color: #67d0a8; }\n`);
|
|
407
|
+
}
|
|
408
|
+
|
|
409
|
+
log(':g:+ :x:Project scaffolded at :w:' + resolved);
|
|
410
|
+
log(':g: → :w:shield.config.js :x:— basic shield integration');
|
|
411
|
+
log(':g: → :w:shield.middleware.js :x:— global middleware with exclusions');
|
|
412
|
+
log(':g: → :w:public/app.js :x:— example protected script');
|
|
413
|
+
log(':g: → :w:public/style.css :x:— example protected stylesheet');
|
|
414
|
+
console.log('');
|
|
415
|
+
log(':y:? :x:Quick start:');
|
|
416
|
+
log(':w: export SHIELD_MASTER_KEY="' + masterKeyB64 + '"');
|
|
417
|
+
log(':w: cd ' + resolved);
|
|
418
|
+
log(':w: node shield.config.js');
|
|
419
|
+
}
|
|
420
|
+
|
|
184
421
|
async function main() {
|
|
185
422
|
if (command === 'init') {
|
|
186
423
|
const apiKey = getApiKey();
|
|
@@ -192,6 +429,7 @@ async function main() {
|
|
|
192
429
|
}
|
|
193
430
|
|
|
194
431
|
const outputDir = getOutputDir();
|
|
432
|
+
const projectPath = getProjectPath();
|
|
195
433
|
const keysPath = path.resolve(outputDir, 'shield.keys');
|
|
196
434
|
const wasmPath = path.resolve(outputDir, 'shield.wasm');
|
|
197
435
|
|
|
@@ -215,14 +453,15 @@ async function main() {
|
|
|
215
453
|
|
|
216
454
|
if (body.keys && body.wasm) {
|
|
217
455
|
const wasmBinary = Buffer.from(body.wasm, 'base64');
|
|
218
|
-
writeArtifacts(outputDir, body.keys, wasmBinary);
|
|
456
|
+
const masterKeyB64 = writeArtifacts(outputDir, body.keys, wasmBinary);
|
|
457
|
+
if (projectPath) scaffoldProject(projectPath, outputDir, masterKeyB64);
|
|
219
458
|
return;
|
|
220
459
|
}
|
|
221
460
|
|
|
222
461
|
if (body.compile_id) {
|
|
223
462
|
log(':y:? :x:Compilation queued — ID: :w:' + body.compile_id);
|
|
224
463
|
log(':y: :x:Estimated time: :w:' + (body.estimated_seconds || 30) + 's');
|
|
225
|
-
await pollCompilation(apiKey, body.compile_id, outputDir);
|
|
464
|
+
await pollCompilation(apiKey, body.compile_id, outputDir, projectPath);
|
|
226
465
|
return;
|
|
227
466
|
}
|
|
228
467
|
}
|
|
@@ -235,7 +474,7 @@ async function main() {
|
|
|
235
474
|
const body = JSON.parse(res.body.toString('utf8'));
|
|
236
475
|
log(':y:? :x:Compilation queued — ID: :w:' + body.compile_id);
|
|
237
476
|
log(':y: :x:Estimated time: :w:' + (body.estimated_seconds || 30) + 's');
|
|
238
|
-
await pollCompilation(apiKey, body.compile_id, outputDir);
|
|
477
|
+
await pollCompilation(apiKey, body.compile_id, outputDir, projectPath);
|
|
239
478
|
return;
|
|
240
479
|
}
|
|
241
480
|
|
|
@@ -268,7 +507,8 @@ async function main() {
|
|
|
268
507
|
}
|
|
269
508
|
|
|
270
509
|
const outputDir = getOutputDir();
|
|
271
|
-
|
|
510
|
+
const projectPath = getProjectPath();
|
|
511
|
+
await pollCompilation(apiKey, compileId, outputDir, projectPath);
|
|
272
512
|
}
|
|
273
513
|
}
|
|
274
514
|
|
package/dist/bundle.js
CHANGED
|
@@ -10,4 +10,4 @@
|
|
|
10
10
|
* © Agentics (Pty) Ltd - All Rights Reserved
|
|
11
11
|
* https://agentics.co.za <-> info@agentics.co.za
|
|
12
12
|
*/
|
|
13
|
-
function a0_0x410e(_0x174bac,_0x4adc56){const _0x7aae1a=a0_0x3259();return a0_0x410e=function(_0xa187db,_0x2288e5){_0xa187db=_0xa187db-(-0x601*-0x1+-0x1*0x397+0x1*-0x1dd);let _0x560f7c=_0x7aae1a[_0xa187db];if(a0_0x410e['gNvJOF']===undefined){var _0x1915cf=function(_0x100bac){const _0x54b906='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x55126f='',_0x51fa6e='';for(let _0x3013c9=0x2688+0x1*-0x5a7+-0x13*0x1bb,_0x2107ae,_0x324454,_0x33c3dd=0x86f*0x3+-0x98*0x1a+-0x9dd*0x1;_0x324454=_0x100bac['charAt'](_0x33c3dd++);~_0x324454&&(_0x2107ae=_0x3013c9%(-0x1e23+0x22d3*-0x1+-0x1*-0x40fa)?_0x2107ae*(0x32*-0x77+0x1*0x18bf+-0x141)+_0x324454:_0x324454,_0x3013c9++%(0x5*0x17b+-0xbd*-0x1a+-0x1a95))?_0x55126f+=String['fromCharCode'](-0x3*0x119+-0x7e*0x15+-0x34*-0x48&_0x2107ae>>(-(-0x1d63*0x1+-0x19f6+0x17f*0x25)*_0x3013c9&0x56f+-0x1*-0x19+-0x582)):0xd1*-0x19+0x1b4f*-0x1+0x2fb8){_0x324454=_0x54b906['indexOf'](_0x324454);}for(let _0x576915=0x2ce*0x4+0x139c+0x2*-0xf6a,_0x2f78cd=_0x55126f['length'];_0x576915<_0x2f78cd;_0x576915++){_0x51fa6e+='%'+('00'+_0x55126f['charCodeAt'](_0x576915)['toString'](0x217*-0x1+-0x3*-0x59+0x11c))['slice'](-(0x17d4+0x1*0x2074+0x405*-0xe));}return decodeURIComponent(_0x51fa6e);};const _0x587f4e=function(_0x1e2ef0,_0x2ad161){let _0x8477ad=[],_0x3dd72c=0x1*-0xb29+0x37e*0x2+-0x1*-0x42d,_0x5da47e,_0x24c74e='';_0x1e2ef0=_0x1915cf(_0x1e2ef0);let _0x124ed4;for(_0x124ed4=-0x1*0x2135+-0x326+0x245b;_0x124ed4<0x1981+-0x8ef+0xf92*-0x1;_0x124ed4++){_0x8477ad[_0x124ed4]=_0x124ed4;}for(_0x124ed4=-0x244d*0x1+0x19f*-0xa+0x3483;_0x124ed4<0x1434+-0x17c2+0x48e;_0x124ed4++){_0x3dd72c=(_0x3dd72c+_0x8477ad[_0x124ed4]+_0x2ad161['charCodeAt'](_0x124ed4%_0x2ad161['length']))%(-0x25*-0xf1+0xa05+0x2*-0x15ed),_0x5da47e=_0x8477ad[_0x124ed4],_0x8477ad[_0x124ed4]=_0x8477ad[_0x3dd72c],_0x8477ad[_0x3dd72c]=_0x5da47e;}_0x124ed4=-0x11b*-0x20+-0x31*-0x69+-0x3779,_0x3dd72c=0x22be+-0x7c+-0xa*0x36d;for(let _0x969b24=0x2*-0x270+0x13dc+-0xefc;_0x969b24<_0x1e2ef0['length'];_0x969b24++){_0x124ed4=(_0x124ed4+(-0xc9d*-0x3+0x19e6+-0x3fbc))%(-0x2078+0x1450+0x34a*0x4),_0x3dd72c=(_0x3dd72c+_0x8477ad[_0x124ed4])%(0x1*-0x856+0x147*-0x4+0x2b*0x56),_0x5da47e=_0x8477ad[_0x124ed4],_0x8477ad[_0x124ed4]=_0x8477ad[_0x3dd72c],_0x8477ad[_0x3dd72c]=_0x5da47e,_0x24c74e+=String['fromCharCode'](_0x1e2ef0['charCodeAt'](_0x969b24)^_0x8477ad[(_0x8477ad[_0x124ed4]+_0x8477ad[_0x3dd72c])%(-0x2b*0x29+0xa86+-0x87*0x5)]);}return _0x24c74e;};a0_0x410e['WFmXPe']=_0x587f4e,_0x174bac=arguments,a0_0x410e['gNvJOF']=!![];}const _0x3b1fd9=_0x7aae1a[-0xb14+-0x13d*0x9+-0x1639*-0x1],_0x585ae2=_0xa187db+_0x3b1fd9,_0x341b54=_0x174bac[_0x585ae2];return!_0x341b54?(a0_0x410e['sfHmme']===undefined&&(a0_0x410e['sfHmme']=!![]),_0x560f7c=a0_0x410e['WFmXPe'](_0x560f7c,_0x2288e5),_0x174bac[_0x585ae2]=_0x560f7c):_0x560f7c=_0x341b54,_0x560f7c;},a0_0x410e(_0x174bac,_0x4adc56);}(function(_0x289c97,_0x5ae41c){const a0_0x52ecd3={_0x486607:0xd7,_0x143241:0xc0,_0x3817bb:'EJw5',_0xd4ae7d:0xaf,_0x2512d3:0x9b,_0x5566c6:0xb6,_0xf0602b:0x8d,_0x134f0e:0xa5,_0x4bf37b:0x76,_0x3493b2:0x95,_0x467fb3:0xa1,_0x40a110:0x86,_0x16d184:0xad,_0x217089:'^&8e',_0x5947b1:0xcf,_0x360556:0xa2,_0x379773:0x96,_0x58a63f:'pH5&',_0x269830:0x96,_0x5d078c:0xba,_0x59a91b:0x9d,_0x44d4ff:'D155',_0x14d103:0xbd,_0x5bdb4e:0xb8,_0x548346:'8odZ',_0x37cf18:0x67,_0xea76bf:0x92,_0x426e35:0x80,_0x44e5aa:0xba,_0x1c4913:0x318,_0x13de1b:0x314,_0x3c9144:0x328,_0x34c0f7:'hAM['},a0_0x53083b={_0x4679e3:0x16c},a0_0x8562bb={_0x2818de:0x22d};function _0x24f5a9(_0x160bb4,_0x24102c,_0x3276ea,_0x4da579){return a0_0x410e(_0x160bb4-a0_0x8562bb._0x2818de,_0x4da579);}function _0x3140ca(_0x466a45,_0x4b37e6,_0x425755,_0x4b73b6){return a0_0x410e(_0x4b37e6- -a0_0x53083b._0x4679e3,_0x4b73b6);}const _0x6deeb9=_0x289c97();while(!![]){try{const _0x1e1840=-parseInt(_0x3140ca(-a0_0x52ecd3._0x486607,-0xc0,-a0_0x52ecd3._0x143241,a0_0x52ecd3._0x3817bb))/(0x65*0x16+0x2640+-0x2eed)*(parseInt(_0x3140ca(-a0_0x52ecd3._0xd4ae7d,-a0_0x52ecd3._0x2512d3,-a0_0x52ecd3._0x5566c6,'EQI2'))/(-0x1c4+-0x1085*-0x1+-0xebf))+-parseInt(_0x3140ca(-a0_0x52ecd3._0xf0602b,-a0_0x52ecd3._0x134f0e,-a0_0x52ecd3._0x4bf37b,'7%L7'))/(-0xe5*0x7+-0x52d*-0x3+-0x941*0x1)+parseInt(_0x3140ca(-a0_0x52ecd3._0x3493b2,-a0_0x52ecd3._0x467fb3,-a0_0x52ecd3._0x40a110,'BEj2'))/(0x6ec+0x1*0x1bd3+-0x22bb)+parseInt(_0x3140ca(-0xbc,-a0_0x52ecd3._0x16d184,-0xbb,a0_0x52ecd3._0x217089))/(0x12*0x63+-0x1af1+-0x50*-0x40)*(-parseInt(_0x3140ca(-a0_0x52ecd3._0x5947b1,-a0_0x52ecd3._0x360556,-a0_0x52ecd3._0x379773,a0_0x52ecd3._0x58a63f))/(-0x8c5+0x1*0x979+0x1d*-0x6))+-parseInt(_0x3140ca(-a0_0x52ecd3._0x269830,-a0_0x52ecd3._0x5d078c,-a0_0x52ecd3._0x59a91b,a0_0x52ecd3._0x44d4ff))/(-0x12fa+-0xa+0x130b)*(-parseInt(_0x3140ca(-a0_0x52ecd3._0x14d103,-0xa8,-a0_0x52ecd3._0x5bdb4e,a0_0x52ecd3._0x548346))/(0x956*0x1+0x18*0xcf+-0x19*0x126))+parseInt(_0x3140ca(-a0_0x52ecd3._0x37cf18,-a0_0x52ecd3._0xea76bf,-a0_0x52ecd3._0x426e35,'EQI2'))/(0x1*-0xdcd+0x20c6+-0x12f0)*(-parseInt(_0x3140ca(-a0_0x52ecd3._0x44e5aa,-0xc4,-0xc7,'jOB#'))/(-0x6c5*-0x4+0x2*0x5e6+-0x6*0x679))+parseInt(_0x24f5a9(a0_0x52ecd3._0x1c4913,a0_0x52ecd3._0x13de1b,a0_0x52ecd3._0x3c9144,a0_0x52ecd3._0x34c0f7))/(-0x569+0x1850*0x1+0x47*-0x44);if(_0x1e1840===_0x5ae41c)break;else _0x6deeb9['push'](_0x6deeb9['shift']());}catch(_0x46fdfc){_0x6deeb9['push'](_0x6deeb9['shift']());}}}(a0_0x3259,0x3d1*0x4e7+-0x43b5*-0x1f+-0xfca89));function a0_0x2b2983(_0xfa75cf,_0x1f884f,_0xfdc1ee,_0x5c6fe5){const a0_0x596607={_0x1cfc50:0x150};return a0_0x410e(_0xfdc1ee- -a0_0x596607._0x1cfc50,_0x1f884f);}const fs=require('fs'),path=require(a0_0x2b2983(-0x6b,'EJw5',-0x71,-0x60)),{encryptAESGCM,sha256Hash}=require(a0_0x22e68e(-0x5e,'FTR6',-0x4c,-0x71)+a0_0x2b2983(-0xbf,'fDBs',-0xbd,-0xe2));function buildBundle(_0x5cc4d2){const a0_0x52e63e={_0x471471:0x54,_0x2e7d1b:0x36,_0x4e064f:'8odZ',_0x6334fd:0x65,_0x3c86a2:0x42,_0x12c79a:0x21,_0x4a85cb:'DeaE',_0x383792:0x39,_0x35b100:0x7b,_0x30dcf7:'QtNa',_0x52a34c:0x4a,_0x3903af:0x6b,_0x248f91:'Ak&q',_0x2bfae8:0x24,_0x13cc91:0xf,_0x4538b4:0x37,_0x2a2d8e:'EJw5',_0x29cdcb:0x2e,_0x5f0d37:0x13,_0x28c81d:0x21,_0x16b7f9:0x3c,_0x1a7be8:0x36,_0x26734a:0x10,_0x2f4bae:'P]V$',_0x59cd31:0x75,_0x1e1ca2:0x79,_0x4c9ff9:'BEj2',_0x190ae2:0x83,_0x57fcb8:'D155',_0x63621f:0x18,_0x3222e0:0x49,_0x1dd384:0x47,_0x59c0a8:0x23,_0x597681:0x5f,_0x31a6e9:'f56p',_0x49d102:0x30,_0x58a678:0xe,_0x3ac69a:0x1a,_0x13cd3f:'Ak&q',_0x42f408:0x6c,_0x3784e3:'bQul',_0x4fb7fc:0x6e,_0x332ac6:0x5a,_0x59da0d:'YXLg',_0x1897c9:0x81,_0x12a029:0x11,_0xca58f1:0x2,_0x11060f:'7%L7',_0x14c9c7:0x20,_0x3d9449:'dbvr',_0x525ab1:0x38,_0x59893a:0x25,_0x5a84d0:0x2c,_0x4b1cbe:'tUoR',_0x1b5d4d:0x40,_0x5f0e0f:0x5,_0xb8df1a:0xc,_0xe56766:0xa,_0x2e72c9:'jOB#',_0x2e7645:0x40,_0x5ee792:0xf,_0x386e55:'886q',_0x37952f:0x1f,_0x5a7710:0x5e,_0x3ab920:0x28,_0x392870:'FTR6'},a0_0x4ba5dc={_0x53a4ad:0xdc,_0x506101:0x12f},a0_0x1ff17f={_0x5c9acd:0x1b3,_0x42dbfd:0xe7},_0x44057a={'nGWCW':_0x8b6e09(-a0_0x52e63e._0x471471,-a0_0x52e63e._0x2e7d1b,a0_0x52e63e._0x4e064f,-a0_0x52e63e._0x6334fd),'bCVzq':function(_0x253062,_0x246655){return _0x253062(_0x246655);},'ZujfO':function(_0x54a298,_0x197ef2){return _0x54a298/_0x197ef2;}};function _0x166f06(_0x50dbc6,_0x571c6e,_0x57bf43,_0x5e8d97){return a0_0x2b2983(_0x50dbc6-a0_0x1ff17f._0x5c9acd,_0x57bf43,_0x5e8d97-a0_0x1ff17f._0x42dbfd,_0x5e8d97-0x3a);}const _0x4c9b97={};for(const [_0x3a7a64,_0x19816d]of Object[_0x166f06(a0_0x52e63e._0x3c86a2,a0_0x52e63e._0x12c79a,a0_0x52e63e._0x4a85cb,a0_0x52e63e._0x383792)+'es'](_0x5cc4d2)){if(Buffer[_0x166f06(0x48,a0_0x52e63e._0x35b100,a0_0x52e63e._0x30dcf7,a0_0x52e63e._0x52a34c)+_0x166f06(a0_0x52e63e._0x3c86a2,a0_0x52e63e._0x3903af,a0_0x52e63e._0x248f91,0x3b)](_0x19816d))_0x4c9b97[_0x3a7a64]=_0x19816d[_0x8b6e09(a0_0x52e63e._0x2bfae8,0xa,a0_0x52e63e._0x4a85cb,a0_0x52e63e._0x13cc91)+_0x8b6e09(-a0_0x52e63e._0x13cc91,-a0_0x52e63e._0x4538b4,a0_0x52e63e._0x2a2d8e,-0x2e)](_0x44057a[_0x8b6e09(-a0_0x52e63e._0x29cdcb,-a0_0x52e63e._0x5f0d37,'f56p',-0x2f)]);else{const _0x39875b=path[_0x8b6e09(0x8,a0_0x52e63e._0x28c81d,'hAM[',a0_0x52e63e._0x16b7f9)+'ve'](_0x19816d);if(!fs[_0x8b6e09(-a0_0x52e63e._0x1a7be8,-a0_0x52e63e._0x26734a,a0_0x52e63e._0x2f4bae,-0x2b)+_0x166f06(a0_0x52e63e._0x59cd31,a0_0x52e63e._0x1e1ca2,a0_0x52e63e._0x4c9ff9,a0_0x52e63e._0x190ae2)](_0x39875b))throw new Error(_0x8b6e09(0x0,-0xc,a0_0x52e63e._0x57fcb8,a0_0x52e63e._0x63621f)+_0x166f06(a0_0x52e63e._0x3222e0,0x61,'P]V$',a0_0x52e63e._0x1dd384)+_0x166f06(a0_0x52e63e._0x59c0a8,a0_0x52e63e._0x597681,a0_0x52e63e._0x31a6e9,0x42)+_0x8b6e09(a0_0x52e63e._0x49d102,a0_0x52e63e._0x58a678,'KXUf',0x24)+_0x8b6e09(0x3c,a0_0x52e63e._0x3ac69a,a0_0x52e63e._0x13cd3f,a0_0x52e63e._0x3ac69a)+'\x20'+_0x39875b);_0x4c9b97[_0x3a7a64]=fs[_0x166f06(0x85,0x4f,'P]V$',a0_0x52e63e._0x42f408)+_0x166f06(0x82,0x41,a0_0x52e63e._0x3784e3,a0_0x52e63e._0x4fb7fc)+'nc'](_0x39875b,_0x166f06(a0_0x52e63e._0x59cd31,0x37,'%nc)',a0_0x52e63e._0x332ac6));}}const _0x384227=_0x44057a[_0x166f06(0x80,0x69,a0_0x52e63e._0x59da0d,a0_0x52e63e._0x1897c9)](computeBundleHash,_0x4c9b97);function _0x8b6e09(_0x7c9e95,_0x5ab6dd,_0x352375,_0x5dd9ed){return a0_0x22e68e(_0x7c9e95-a0_0x4ba5dc._0x53a4ad,_0x352375,_0x5ab6dd-0x4c,_0x5dd9ed-a0_0x4ba5dc._0x506101);}const _0x3a27e3={'files':_0x4c9b97,'ts':Math[_0x8b6e09(a0_0x52e63e._0x12a029,-a0_0x52e63e._0xca58f1,a0_0x52e63e._0x11060f,-a0_0x52e63e._0x14c9c7)](_0x44057a[_0x166f06(a0_0x52e63e._0x63621f,0x37,a0_0x52e63e._0x3d9449,a0_0x52e63e._0x525ab1)](Date[_0x8b6e09(-a0_0x52e63e._0x59893a,-a0_0x52e63e._0x5a84d0,a0_0x52e63e._0x4b1cbe,-a0_0x52e63e._0x1b5d4d)](),-0x3*-0x59+-0x13*-0x1b3+-0x1d6c)),'checksum':_0x384227};return Buffer[_0x8b6e09(a0_0x52e63e._0x5f0e0f,a0_0x52e63e._0xb8df1a,'c[cw',a0_0x52e63e._0xe56766)](JSON[_0x8b6e09(0x17,a0_0x52e63e._0x12a029,a0_0x52e63e._0x2e72c9,-a0_0x52e63e._0x58a678)+_0x8b6e09(-a0_0x52e63e._0x2e7645,-a0_0x52e63e._0x5ee792,a0_0x52e63e._0x386e55,a0_0x52e63e._0x37952f)](_0x3a27e3),_0x44057a[_0x166f06(a0_0x52e63e._0x5a7710,a0_0x52e63e._0x3ab920,a0_0x52e63e._0x392870,0x44)]);}function computeBundleHash(_0x505357){const a0_0x446ee7={_0x7200a7:0x9d,_0x13c358:0xbc,_0x53ad19:'364%',_0x4433db:0x104,_0x55e66d:0x15a,_0x5ef5f4:0x12a,_0x47cedb:0xc9,_0x35c6e3:0xdc,_0x38e919:0xaf,_0xfe8f53:'P]V$',_0x1d1def:0x123,_0xce8962:'LHGt',_0x59e1fd:0x13e,_0x1ba885:0x136,_0x41add5:0x158,_0x4c682d:'ZY33',_0x20b56b:0xfd,_0x6b1276:0x11a,_0x522b6a:0x108,_0x5b5f16:'fDBs',_0x3cf62b:0x108,_0xdf6ae3:0x11b,_0xdc35b8:'D155',_0x4dfe76:0x15c,_0x42c44b:0xe3,_0x1ade6c:'@mf5',_0x1f18ec:0x198,_0x451118:0x137,_0x47251e:0x168,_0x2b312c:0x13d,_0x704d86:0x124,_0x3e4fba:0xbe,_0x3411b9:0xd6,_0x448f41:'pH5&',_0x4ef36e:0x15d,_0x100bcd:0x134,_0x2cc601:0xe1,_0x571461:0xe0,_0xb560ef:0xd4,_0x2715ca:'%nc)',_0x5f29ac:0x126,_0x4fa952:0x13c,_0x2640ac:0x8e,_0x301fd8:0x92,_0x51f468:0xa7,_0x4ae829:0x101,_0x577512:'c[cw',_0x19ec7e:'Tjir',_0x4ae4df:0x163,_0x3b1283:0x130},a0_0x52df96={_0x63e65a:0xa6,_0x534d8a:0xb5},a0_0x426aea={_0x5ced2f:0x180,_0x1261ad:0x197};function _0x8078b4(_0x31c352,_0x51a7fe,_0x420d19,_0x3ae896){return a0_0x22e68e(_0x31c352-a0_0x426aea._0x5ced2f,_0x3ae896,_0x51a7fe- -0x65,_0x3ae896-a0_0x426aea._0x1261ad);}function _0x12761a(_0x57151f,_0x1873b2,_0x36fcf4,_0x43a1b1){return a0_0x2b2983(_0x57151f-0x1c1,_0x57151f,_0x43a1b1- -a0_0x52df96._0x63e65a,_0x43a1b1-a0_0x52df96._0x534d8a);}const _0x542d32={'zuhue':_0x8078b4(-a0_0x446ee7._0x7200a7,-a0_0x446ee7._0x13c358,-0xdb,a0_0x446ee7._0x53ad19)+_0x12761a('@mf5',-a0_0x446ee7._0x4433db,-a0_0x446ee7._0x55e66d,-a0_0x446ee7._0x5ef5f4)+_0x8078b4(-a0_0x446ee7._0x47cedb,-a0_0x446ee7._0x35c6e3,-a0_0x446ee7._0x38e919,'jXp0')+_0x12761a(a0_0x446ee7._0xfe8f53,-0x144,-0x147,-a0_0x446ee7._0x1d1def)+_0x12761a(a0_0x446ee7._0xce8962,-a0_0x446ee7._0x59e1fd,-a0_0x446ee7._0x1ba885,-a0_0x446ee7._0x41add5),'IjDCQ':_0x12761a(a0_0x446ee7._0x4c682d,-a0_0x446ee7._0x20b56b,-a0_0x446ee7._0x6b1276,-a0_0x446ee7._0x522b6a),'TiOra':function(_0x1249a9,_0x2dbd02){return _0x1249a9(_0x2dbd02);}};let _0x561b41=Buffer[_0x12761a(a0_0x446ee7._0x5b5f16,-a0_0x446ee7._0x3cf62b,-0x129,-a0_0x446ee7._0xdf6ae3)](_0x542d32[_0x12761a(a0_0x446ee7._0xdc35b8,-0x11a,-0x14a,-0x128)],_0x542d32[_0x12761a('fh8M',-0x14a,-0x13c,-a0_0x446ee7._0x4dfe76)]);for(const [_0x208b28,_0x5cdd69]of Object[_0x8078b4(-a0_0x446ee7._0x4433db,-a0_0x446ee7._0x42c44b,-a0_0x446ee7._0x47cedb,'fh8M')+'es'](_0x505357)){_0x561b41=Buffer[_0x12761a(a0_0x446ee7._0x1ade6c,-a0_0x446ee7._0x1f18ec,-a0_0x446ee7._0x451118,-a0_0x446ee7._0x47251e)+'t']([_0x561b41,Buffer[_0x12761a('@mf5',-a0_0x446ee7._0x2b312c,-a0_0x446ee7._0x704d86,-a0_0x446ee7._0x6b1276)](_0x208b28,_0x8078b4(-0xa0,-a0_0x446ee7._0x3e4fba,-a0_0x446ee7._0x3411b9,a0_0x446ee7._0x448f41)),Buffer[_0x12761a(a0_0x446ee7._0xfe8f53,-a0_0x446ee7._0x4ef36e,-a0_0x446ee7._0x100bcd,-0x14f)](_0x5cdd69,_0x542d32[_0x8078b4(-a0_0x446ee7._0x2cc601,-a0_0x446ee7._0x571461,-a0_0x446ee7._0xb560ef,a0_0x446ee7._0x2715ca)])]);}return _0x542d32[_0x12761a('fDBs',-a0_0x446ee7._0x5f29ac,-0x116,-a0_0x446ee7._0x4fa952)](sha256Hash,_0x561b41)[_0x8078b4(-a0_0x446ee7._0x2640ac,-a0_0x446ee7._0x301fd8,-a0_0x446ee7._0x51f468,'jOB#')+_0x8078b4(-0xec,-0xe4,-a0_0x446ee7._0x4ae829,a0_0x446ee7._0x577512)](_0x12761a(a0_0x446ee7._0x19ec7e,-a0_0x446ee7._0x4ae4df,-a0_0x446ee7._0x3b1283,-a0_0x446ee7._0x1ba885));}function encryptBundle(_0x12b3b5,_0xc28924){const a0_0x51e5ca={_0x498517:0x2b0,_0x195004:']cvg',_0x15c7ec:0x2ab,_0x10ce20:0x284,_0x4fe60c:0x24e,_0x3bae33:'R#Ct',_0x3d1510:0x267,_0x27ce21:0x26c,_0x186fba:'(1%5',_0x40e8ec:0x292,_0x24b87a:0x285,_0xbf4391:0x26c,_0x26af37:0x224,_0x567584:0xb5,_0x2bf7e8:0xa5,_0x46d46a:'pbF%',_0x26e98d:0xad,_0x356c6a:0x9b,_0x558201:0xad,_0x29ca4b:0x89,_0xb57453:0x286,_0x67c39b:'8odZ',_0x47c3f8:0x2ba,_0x165e15:0x297,_0x4f5a97:0xa4,_0x4664da:0xb7,_0x28e1f9:0x82,_0x43c470:'7S)j',_0x3a83a3:0x2af,_0x5f22ac:'P]V$',_0x333c98:0x287,_0x32f2cd:0x25d,_0x23057a:'c[cw',_0x577161:0x256,_0x283ca9:0x277,_0x79222b:0x79,_0x2a43a9:0xb3,_0x1aced1:'[mu@',_0x5b681c:0x68,_0x591e7c:0x8e,_0x167043:0x6a,_0x291a1a:'EQI2',_0x3638a4:0x254,_0x10838c:'@mf5',_0x3db1f9:0x22c,_0x1e369f:0x250,_0xcdb195:0x5c,_0x18bbc0:0x2d,_0x59b305:0x4f,_0x5bcc48:'KXUf',_0x5dfc40:0x64,_0x546daa:0x43,_0x5530c4:'szp0',_0xc4d67b:0xd3,_0x2059fe:0xcc,_0x39b26d:'4F(t',_0x11fc6a:0x27b,_0x5e5712:0x95,_0x47c759:0xbe,_0x4d9f16:0xa5,_0xdc9548:'886q',_0x466782:0x24c,_0x492c9f:'fDBs',_0x2f8ec6:0x269},a0_0xd556d={_0x2c4e0d:0xa5},a0_0x466cbc={_0x56e843:0x21a},_0xd96864={'prWZi':function(_0x1d4425,_0xe44f3e){return _0x1d4425(_0xe44f3e);},'EuWAt':_0x2e3f67(-a0_0x51e5ca._0x498517,a0_0x51e5ca._0x195004,-a0_0x51e5ca._0x15c7ec,-a0_0x51e5ca._0x10ce20)+_0x2e3f67(-a0_0x51e5ca._0x4fe60c,a0_0x51e5ca._0x3bae33,-a0_0x51e5ca._0x3d1510,-a0_0x51e5ca._0x27ce21)+_0x2e3f67(-0x2a7,a0_0x51e5ca._0x186fba,-a0_0x51e5ca._0x40e8ec,-a0_0x51e5ca._0x24b87a)+_0x2e3f67(-a0_0x51e5ca._0xbf4391,'@mf5',-a0_0x51e5ca._0x26af37,-a0_0x51e5ca._0x4fe60c)+_0x185e14(-a0_0x51e5ca._0x567584,-a0_0x51e5ca._0x2bf7e8,-0x99,a0_0x51e5ca._0x46d46a)+'v1','eUPlT':_0x185e14(-0x88,-a0_0x51e5ca._0x26e98d,-a0_0x51e5ca._0x567584,'KXUf'),'zGntk':function(_0x1b6e9d,_0x211cc6){return _0x1b6e9d(_0x211cc6);},'fIoVY':_0x185e14(-a0_0x51e5ca._0x356c6a,-a0_0x51e5ca._0x558201,-a0_0x51e5ca._0x29ca4b,'dbvr')},_0x7eb1c8=_0xd96864[_0x2e3f67(-a0_0x51e5ca._0xb57453,a0_0x51e5ca._0x67c39b,-a0_0x51e5ca._0x47c3f8,-a0_0x51e5ca._0x165e15)](buildBundle,_0xc28924),_0x248ab2=encryptAESGCM(_0x12b3b5,_0x7eb1c8);function _0x2e3f67(_0x139ca4,_0x346d52,_0x3b3c74,_0xb0977a){return a0_0x22e68e(_0x139ca4-0x1d8,_0x346d52,_0xb0977a- -a0_0x466cbc._0x56e843,_0xb0977a-0xb5);}const _0x3fac4d=Buffer[_0x185e14(-a0_0x51e5ca._0x4f5a97,-a0_0x51e5ca._0x4664da,-a0_0x51e5ca._0x28e1f9,a0_0x51e5ca._0x43c470)+'t']([Buffer[_0x2e3f67(-a0_0x51e5ca._0x3a83a3,a0_0x51e5ca._0x5f22ac,-a0_0x51e5ca._0x40e8ec,-a0_0x51e5ca._0x333c98)](_0xd96864[_0x2e3f67(-a0_0x51e5ca._0x32f2cd,a0_0x51e5ca._0x23057a,-a0_0x51e5ca._0x577161,-a0_0x51e5ca._0x283ca9)],_0xd96864[_0x185e14(-0xa9,-a0_0x51e5ca._0x79222b,-a0_0x51e5ca._0x2a43a9,a0_0x51e5ca._0x1aced1)]),_0x248ab2]),_0x366bc3=_0xd96864[_0x185e14(-a0_0x51e5ca._0x5b681c,-a0_0x51e5ca._0x591e7c,-a0_0x51e5ca._0x167043,a0_0x51e5ca._0x291a1a)](sha256Hash,_0x3fac4d)[_0x2e3f67(-a0_0x51e5ca._0x3638a4,a0_0x51e5ca._0x10838c,-a0_0x51e5ca._0x3db1f9,-a0_0x51e5ca._0x1e369f)+_0x185e14(-a0_0x51e5ca._0xcdb195,-a0_0x51e5ca._0x18bbc0,-a0_0x51e5ca._0x59b305,a0_0x51e5ca._0x5bcc48)](_0xd96864[_0x185e14(-a0_0x51e5ca._0x5dfc40,-0x8c,-a0_0x51e5ca._0x546daa,a0_0x51e5ca._0x5530c4)]),_0x415dee={};_0x415dee[_0x185e14(-0xa6,-a0_0x51e5ca._0xc4d67b,-a0_0x51e5ca._0x2059fe,a0_0x51e5ca._0x39b26d)+_0x2e3f67(-a0_0x51e5ca._0x283ca9,'886q',-a0_0x51e5ca._0x11fc6a,-0x293)]=_0x248ab2;function _0x185e14(_0x3c5e57,_0x3f71f1,_0x322a7e,_0x30ae15){return a0_0x22e68e(_0x3c5e57-a0_0xd556d._0x2c4e0d,_0x30ae15,_0x3c5e57- -0x35,_0x30ae15-0x7f);}return _0x415dee[_0x185e14(-a0_0x51e5ca._0x5e5712,-a0_0x51e5ca._0x47c759,-a0_0x51e5ca._0x4d9f16,a0_0x51e5ca._0xdc9548)+_0x2e3f67(-a0_0x51e5ca._0x466782,a0_0x51e5ca._0x492c9f,-a0_0x51e5ca._0x2f8ec6,-0x278)]=_0x366bc3,_0x415dee;}const a0_0x33b2c8={};function a0_0x3259(){const _0x251817=['W7ndW5dcQKK','WR7dPmkjFmkgWOVcN1RdISkpWPKP','DmoxWR8CW78','W6Lprq','W4yyW4/dVe4','WQ7dGKOPWPi','E8kGuSoqWPDhW6TigCkpWQJdR2e','W7NdMeHYESkVbey','WQfjfM/dSG','FSoGWQNdHa0','W7TTW6VcJd4','wSknW6i','WPvRWRNcNc0','WQJdJKy+W4y','ESoHWQRdNG','FCkrW4dcR8kT','W6NcS8oQkq','WPJcNKvxBW','WQzNc14A','WQZdTSozW6z1vGSO','W69ildSTbCoWvW','qtNdRa','W4W/WOPJ','uCk6pvK6','n8oNbCoy','isdcIJGonrVdJMBcTmoHda','gSkyW6P3aW','EdddOvFcNW','lg7cTGJdMmkabSorW5tdIaeRnq','nmk/WOSTW5e','W7ivWQFdUs7cLdyeW4DgaaG','WQRdSCk/igddTLH5fmkqWQldKq','WQ9/W7lcOSkabSkMW7aAW5ddMalcLG','b8kEW5SVhG','WRmybCkgWQFcJgZcJCkfo8ofWRye','WRlcMujwBW','qCoZo1neWOtcHMJcVHe/vvRdHq','WQOmgaex','lCkbWRpdJ8k4WOi8WQi','WOFcGmkXW57cQq','W6ddLfOJW5y','WRzSWOhcSa','WR/dK04PW7q','W5CKWPH7W7K','WP0FW5/cHmkR','W65lBe1nEmkPtSoTWOpdU8ovWRS','F8kMc8oiEq','jCoGWPldSmkDWOGD','t8kkW6dcSa','cmkpW4DV','FG5X','gSksW7T2hW','W7/cVCoijq','q8kEW4bNdG','zSoYWQRdQSkr','W6u4mNyJ','WQXwmvldTq','isBcIZ0lmt3dRxJcNCoOhW','CWhcVg1M','W4RcUSk0W4tcVctcIG','Emk9kSovzq','WPygW5pcU8k2','W5CsW5hdO1C','W4HMhSoRnG','WPzoWPhcUqX6WR8MW4RcKHaKvCk5','W6GFWR3dTCox','W5aLWOS','oSoDzdG','EZldRuRcLa','dCksW4zHda','x8ojW59tl8ktx8kV','W5RdUSkkWPqOW4zWwCoiW6RdK0O','W6BcSSoB','yMtdNJq','wCkmW6a','WOFcUConW40Y','WRLWWOK','EZRdUx3cTa','z2ldR1zq','db9WWQ3dTa','c8o5j8kJW78','vZ7dIuZcJa','BCo8WQNdGW','WRa5W5e','gSkJBqOx','W4n2vCocca','WRtcLsddTCkY','jSobW4n3WOm','W5TFv8oqW50','WPBcGCkwW5JcSG','FWX3WQaY','W6WOlG','tJtcU8kWpW','pwaWWPBdOImlDa','WQVdHeaG','nCoHsmkrlSkOWPhdM0jEWOlcTHu','WQTeW7FcPhG','cabLWQZdSG'];a0_0x3259=function(){return _0x251817;};return a0_0x3259();}a0_0x33b2c8[a0_0x2b2983(-0x91,'bQul',-0x68,-0x67)+a0_0x2b2983(-0xc2,'ktH^',-0xb1,-0xaa)+'e']=buildBundle,a0_0x33b2c8[a0_0x22e68e(-0x59,'7%L7',-0x87,-0xa9)+a0_0x22e68e(-0x41,'^&8e',-0x44,-0x49)+a0_0x2b2983(-0x73,'4F(t',-0x73,-0x74)]=encryptBundle,a0_0x33b2c8[a0_0x2b2983(-0xc0,'hAM[',-0xa1,-0xbe)+a0_0x2b2983(-0x7d,'@mf5',-0x8b,-0x7f)+a0_0x22e68e(-0xa,'QtNa',-0x31,-0x44)+'sh']=computeBundleHash;function a0_0x22e68e(_0x21f7ef,_0xec96de,_0x4604e5,_0x215e6b){return a0_0x410e(_0x4604e5- -0x114,_0xec96de);}module[a0_0x2b2983(-0xa4,']cvg',-0xb8,-0xb4)+'ts']=a0_0x33b2c8;
|
|
13
|
+
function a0_0x5e54e7(_0x13c21f,_0x2e182a,_0x4fbe0d,_0x23efa0){const a0_0x14c26c={_0x73b8af:0x315};return a0_0x2966(_0x13c21f- -a0_0x14c26c._0x73b8af,_0x23efa0);}(function(_0x4d9567,_0x415615){const a0_0x399f65={_0x5ddcaf:0x411,_0x1fc22d:'AcYR',_0x1631a4:0x428,_0x12e6c3:0x2ff,_0x1e0268:0x2e9,_0xf465e2:'u$cM',_0x9e563:0x2f8,_0x5e57f1:'si%r',_0x3fa5f6:0x330,_0xc97d15:0x3df,_0x5bef9a:0x3bc,_0x4cea52:'qCye',_0x48e52c:0x2dc,_0x2a7642:0x2f7,_0x13460e:0x31d,_0x431e0b:0x2f3,_0x9318d3:0x2c6,_0x3b3903:'Quzq',_0x358eb7:0x2b2,_0x3cb116:'zQt5',_0x437376:0x2bd,_0x2d98e0:0x442,_0x401eca:'h#^X',_0x59668e:0x441,_0x440f99:0x2fa,_0x4145ce:'*TT!',_0x2cc3dd:0x302,_0x33acdd:0x30d,_0x1bef1c:'6!(H',_0x36b9bf:0x2c3,_0x42a8b2:0x30f,_0x472540:'qCye',_0x3a3823:0x33d},a0_0x44cfa1={_0x229af2:0x392};function _0x2ac8b3(_0x26bebb,_0x3bed30,_0xefb581,_0x39e5ab){return a0_0x2966(_0x3bed30- -a0_0x44cfa1._0x229af2,_0xefb581);}function _0x541c7b(_0x178fad,_0x59de6f,_0x3f5ac4,_0x140d36){return a0_0x2966(_0x178fad-0x371,_0x3f5ac4);}const _0x1ec66a=_0x4d9567();while(!![]){try{const _0x1c6714=parseInt(_0x541c7b(0x43c,a0_0x399f65._0x5ddcaf,a0_0x399f65._0x1fc22d,a0_0x399f65._0x1631a4))/(0x4*0x453+0x5ca*-0x3+0x13)*(parseInt(_0x2ac8b3(-a0_0x399f65._0x12e6c3,-a0_0x399f65._0x1e0268,a0_0x399f65._0xf465e2,-a0_0x399f65._0x9e563))/(0x1*-0x216f+-0x1034+0x31a5))+parseInt(_0x2ac8b3(-0x2fb,-0x315,a0_0x399f65._0x5e57f1,-a0_0x399f65._0x3fa5f6))/(0x1*-0x1057+-0x6f7*0x3+0x253f)+parseInt(_0x541c7b(a0_0x399f65._0xc97d15,a0_0x399f65._0x5bef9a,a0_0x399f65._0x4cea52,0x411))/(0xf19*0x1+-0x16da+-0x11*-0x75)*(-parseInt(_0x2ac8b3(-a0_0x399f65._0x48e52c,-a0_0x399f65._0x2a7642,'Gt9Q',-a0_0x399f65._0x13460e))/(-0x7*0x21a+-0x2d6+-0x1191*-0x1))+-parseInt(_0x2ac8b3(-a0_0x399f65._0x431e0b,-a0_0x399f65._0x9318d3,a0_0x399f65._0x3b3903,-a0_0x399f65._0x358eb7))/(-0x109d+0xaf*-0x31+0x3222)*(-parseInt(_0x2ac8b3(-0x2aa,-0x2cc,a0_0x399f65._0x3cb116,-a0_0x399f65._0x437376))/(-0x1563+0xd80+0x1*0x7ea))+parseInt(_0x541c7b(0x447,a0_0x399f65._0x2d98e0,a0_0x399f65._0x401eca,a0_0x399f65._0x59668e))/(-0x50*-0x33+-0xe89*0x1+-0x15f)*(parseInt(_0x2ac8b3(-a0_0x399f65._0x440f99,-0x317,a0_0x399f65._0x4145ce,-a0_0x399f65._0x2cc3dd))/(-0x107*0x5+-0x2*-0x9c2+-0x264*0x6))+parseInt(_0x2ac8b3(-a0_0x399f65._0x33acdd,-0x2e3,a0_0x399f65._0x1bef1c,-a0_0x399f65._0x36b9bf))/(-0x188b+0xf2*0x10+0x1*0x975)+-parseInt(_0x2ac8b3(-0x310,-a0_0x399f65._0x42a8b2,a0_0x399f65._0x472540,-a0_0x399f65._0x3a3823))/(0x43a*0x1+-0x9d7*0x1+0x5a8);if(_0x1c6714===_0x415615)break;else _0x1ec66a['push'](_0x1ec66a['shift']());}catch(_0x451fa3){_0x1ec66a['push'](_0x1ec66a['shift']());}}}(a0_0x3166,-0x12e395+0x1127*-0x2b+0x218357));const fs=require('fs'),path=require(a0_0x3a885e(0x273,'xcE6',0x25a,0x289)),{encryptAESGCM,sha256Hash}=require(a0_0x5e54e7(-0x2a4,-0x298,-0x274,'8IFu')+a0_0x3a885e(0x215,'@JpB',0x204,0x20e));function buildBundle(_0x15fe99){const a0_0x30f1d2={_0x4f84c1:0x325,_0x20f437:0x2ff,_0x143fbb:0x30b,_0x314faa:0x303,_0x21dbb6:0x2e5,_0xbd9ef7:'lbdn',_0x845090:0x2e2,_0x3749ec:'FbB[',_0x3f02a3:0x337,_0xe70b67:0x309,_0x37c468:'64EH',_0x3a98fa:0x26e,_0x58c742:'0J)d',_0x12758:0x279,_0x4b0759:0x2fd,_0x304ab4:0x2d6,_0x598703:0x2b0,_0x20afec:'JGm4',_0x403bde:0x328,_0x4c8eb2:0x319,_0x16df21:'91Q6',_0x387837:0x307,_0x5beb35:0x2fb,_0x1f8be2:0x311,_0x3e36e9:0x302,_0x231724:'a[y1',_0xc5ca6:0x2d1,_0x15cc06:0x2e7,_0x231023:0x319,_0x23f88a:0x2f5,_0x16abd7:0x30e,_0x5acb0a:'mGnh',_0x512ca9:0x2d8,_0x262eb4:0x2e9,_0x5c209a:0x2f6,_0x7b99c8:0x32c,_0x4b6dd3:'C*VO',_0x4e0f2a:0x26a,_0x57acd8:'Oo#8',_0x5ab1be:0x237,_0x4faa25:'k*PS',_0x5bf0e7:0x21c,_0x4ce9cb:0x201,_0x3d8114:0x35e,_0x4b2d4a:0x329,_0x4c73d2:0x351,_0x468783:0x2c6,_0x5ab8e1:0x2f9,_0x366754:0x311,_0x10af2d:'DIV1',_0x44c2fe:0x314,_0x5c04f8:0x2e0,_0x4e51aa:0x2af,_0x171fe8:'z@Vc',_0x387d48:0x268,_0x3697ca:0x236,_0x681eaa:0x25b,_0x139a54:'wy%a',_0x487c9d:0x256,_0x1895c1:0x254,_0x2b538a:0x314,_0x589648:0x330,_0x4da74a:'@JpB',_0x3d6153:0x24b,_0x9cc0de:'&GPl',_0x14fb50:0x251,_0x527c74:0x25c,_0xb7a5cc:0x266,_0x1a88bb:0x21b,_0x5f50a2:0x23d,_0x2c920a:0x231,_0x347ba9:0x2dd,_0x3b52ea:0x318,_0x4bbe58:'&JV[',_0x4fb220:0x22d,_0x2fb2b8:'6!(H',_0x449866:0x23e,_0x4e8aaf:0x264,_0x4b6f88:0x31d,_0x44e62c:0x275,_0x49266e:0x243,_0x459e13:0x20e,_0x2d9289:0x314,_0x1bd540:'91Q6',_0x21a0f4:0x319,_0x186347:0x304,_0x4216a:'71ZW'},a0_0xc14ada={_0x153e76:0x47a},a0_0x2b8c6b={_0x1781e9:0x1a7,_0x48ca49:0xce},_0x112341={'XzuGj':_0x522b62(0x32c,a0_0x30f1d2._0x4f84c1,a0_0x30f1d2._0x20f437,'Ypek'),'kiHhk':_0x522b62(0x33b,a0_0x30f1d2._0x143fbb,a0_0x30f1d2._0x314faa,'#slL'),'fQbCs':function(_0x4bc3c0,_0x431ffb){return _0x4bc3c0(_0x431ffb);},'ANfui':function(_0x4b62d1,_0x340e26){return _0x4b62d1/_0x340e26;}};function _0x522b62(_0x531e28,_0x4d2205,_0x3ba1a8,_0x31ffeb){return a0_0x3a885e(_0x531e28-a0_0x2b8c6b._0x1781e9,_0x31ffeb,_0x4d2205-a0_0x2b8c6b._0x48ca49,_0x31ffeb-0x54);}const _0x3d942d={};function _0x39883e(_0x3306fb,_0x2689d6,_0xe07898,_0x16f4c3){return a0_0x3a885e(_0x3306fb-0x1aa,_0x2689d6,_0xe07898- -a0_0xc14ada._0x153e76,_0x16f4c3-0x1e4);}for(const [_0x57661f,_0x37512c]of Object[_0x522b62(0x2d2,a0_0x30f1d2._0x314faa,a0_0x30f1d2._0x21dbb6,a0_0x30f1d2._0xbd9ef7)+'es'](_0x15fe99)){if(Buffer[_0x522b62(a0_0x30f1d2._0x845090,0x2fd,0x320,a0_0x30f1d2._0x3749ec)+_0x522b62(a0_0x30f1d2._0x3f02a3,a0_0x30f1d2._0xe70b67,a0_0x30f1d2._0x3f02a3,a0_0x30f1d2._0x37c468)](_0x37512c))_0x3d942d[_0x57661f]=_0x37512c[_0x39883e(-a0_0x30f1d2._0x3a98fa,a0_0x30f1d2._0x58c742,-0x27b,-a0_0x30f1d2._0x12758)+_0x522b62(a0_0x30f1d2._0x4b0759,a0_0x30f1d2._0x304ab4,a0_0x30f1d2._0x598703,a0_0x30f1d2._0x20afec)](_0x112341[_0x522b62(a0_0x30f1d2._0x403bde,0x30d,a0_0x30f1d2._0x4c8eb2,a0_0x30f1d2._0x16df21)]);else{if(_0x112341[_0x522b62(a0_0x30f1d2._0x387837,a0_0x30f1d2._0x5beb35,0x2e0,'64EH')]!==_0x112341[_0x522b62(a0_0x30f1d2._0x1f8be2,a0_0x30f1d2._0x3e36e9,0x314,a0_0x30f1d2._0x231724)])_0x42c4da[_0x1d1c93]=_0x2478b7[_0x522b62(a0_0x30f1d2._0xc5ca6,a0_0x30f1d2._0x15cc06,0x2c7,'Y!tp')+_0x522b62(a0_0x30f1d2._0x231023,a0_0x30f1d2._0x23f88a,a0_0x30f1d2._0x16abd7,a0_0x30f1d2._0x5acb0a)](_0x112341[_0x522b62(0x2a4,0x2cc,a0_0x30f1d2._0x512ca9,'vlE[')]);else{const _0x3d5566=path[_0x522b62(a0_0x30f1d2._0x262eb4,a0_0x30f1d2._0x5c209a,a0_0x30f1d2._0x7b99c8,a0_0x30f1d2._0x4b6dd3)+'ve'](_0x37512c);if(!fs[_0x39883e(-a0_0x30f1d2._0x4e0f2a,a0_0x30f1d2._0x57acd8,-0x26a,-0x24d)+_0x39883e(-a0_0x30f1d2._0x5ab1be,a0_0x30f1d2._0x4faa25,-a0_0x30f1d2._0x5bf0e7,-a0_0x30f1d2._0x4ce9cb)](_0x3d5566))throw new Error(_0x522b62(a0_0x30f1d2._0x3d8114,a0_0x30f1d2._0x4b2d4a,a0_0x30f1d2._0x4c73d2,'BuD9')+_0x522b62(a0_0x30f1d2._0x468783,a0_0x30f1d2._0x5ab8e1,a0_0x30f1d2._0x366754,a0_0x30f1d2._0x10af2d)+_0x522b62(a0_0x30f1d2._0x44c2fe,a0_0x30f1d2._0x5c04f8,a0_0x30f1d2._0x4e51aa,a0_0x30f1d2._0x171fe8)+_0x39883e(-a0_0x30f1d2._0x387d48,'3J!f',-a0_0x30f1d2._0x3697ca,-a0_0x30f1d2._0x681eaa)+_0x39883e(-0x261,a0_0x30f1d2._0x139a54,-a0_0x30f1d2._0x487c9d,-a0_0x30f1d2._0x1895c1)+'\x20'+_0x3d5566);_0x3d942d[_0x57661f]=fs[_0x522b62(a0_0x30f1d2._0x2b538a,a0_0x30f1d2._0x589648,0x32b,a0_0x30f1d2._0x4da74a)+_0x39883e(-a0_0x30f1d2._0x3d6153,a0_0x30f1d2._0x9cc0de,-a0_0x30f1d2._0x14fb50,-0x262)+'nc'](_0x3d5566,_0x112341[_0x39883e(-a0_0x30f1d2._0x527c74,a0_0x30f1d2._0x231724,-a0_0x30f1d2._0xb7a5cc,-0x275)]);}}}const _0x5a7267=_0x112341[_0x39883e(-0x246,a0_0x30f1d2._0x57acd8,-a0_0x30f1d2._0x1a88bb,-a0_0x30f1d2._0x5f50a2)](computeBundleHash,_0x3d942d),_0x29ca1e={'files':_0x3d942d,'ts':Math[_0x39883e(-0x1fc,'0J)d',-a0_0x30f1d2._0x2c920a,-0x267)](_0x112341[_0x522b62(a0_0x30f1d2._0x347ba9,0x2ff,a0_0x30f1d2._0x3b52ea,a0_0x30f1d2._0x4bbe58)](Date[_0x39883e(-a0_0x30f1d2._0x4fb220,a0_0x30f1d2._0x2fb2b8,-a0_0x30f1d2._0x449866,-a0_0x30f1d2._0x4e8aaf)](),-0x25d9+-0x1e82+-0xd*-0x58f)),'checksum':_0x5a7267};return Buffer[_0x522b62(a0_0x30f1d2._0x403bde,a0_0x30f1d2._0x4b6f88,0x2f2,a0_0x30f1d2._0x10af2d)](JSON[_0x39883e(-a0_0x30f1d2._0x44e62c,'k*PS',-a0_0x30f1d2._0x49266e,-a0_0x30f1d2._0x459e13)+_0x522b62(0x2f0,a0_0x30f1d2._0x2d9289,0x31d,a0_0x30f1d2._0x1bd540)](_0x29ca1e),_0x112341[_0x522b62(a0_0x30f1d2._0x21a0f4,a0_0x30f1d2._0x186347,0x2f1,a0_0x30f1d2._0x4216a)]);}function computeBundleHash(_0x1d0927){const a0_0x180288={_0x1f6724:0x3cc,_0x4a9c44:0x39f,_0x1f1b9b:0x36c,_0x30afda:0x286,_0x3a860b:'k*PS',_0x40d4b9:0x295,_0x2cf922:'zQt5',_0x4c0648:0x373,_0x5cabd2:'IP*m',_0x873b7e:0x368,_0x1c58e2:0x350,_0x1104d2:0x279,_0x5d1cf2:'91Q6',_0x1d2ed2:0x24c,_0x13cf0a:0x250,_0x223aa4:0x3a3,_0xd8753a:'71ZW',_0x4059e0:0x3a4,_0x43ca6a:0x382,_0x2b8957:0x227,_0x173537:'Quzq',_0x3c9c17:0x27b,_0xe4190e:0x391,_0xe38a2b:0x362,_0x3ef064:'halq',_0x1e9ba2:0x36f,_0x13c313:0x368,_0x5be5b6:0x385,_0x17b08a:0x373,_0x2509f3:0x372,_0x4b73a7:0x296,_0xd5303e:'n]nF',_0x5b5804:0x2b4,_0x3faf24:0x297,_0x295fa7:0x38d,_0x561a7f:0x396,_0x2671aa:0x397,_0x99047f:0x240,_0x5e329d:'IP*m',_0x73abfa:0x295,_0x39c7a7:0x275,_0x5d63c0:0x277,_0x294ec2:0x2a8,_0x42d266:0x37d,_0x16cf25:'nfSt',_0x3a7d03:0x39b,_0x5f35d6:0x368,_0x1e7a58:'71ZW',_0x57c729:0x396,_0x32409c:0x3a7,_0x45e272:0x38a,_0x5c02f5:'z@Vc',_0x37c211:0x35c,_0x1bceee:0x387,_0x4b38f3:0x393,_0x355415:'wy%a',_0x219305:0x383,_0x1b8178:0x34d,_0x32eec9:0x36f,_0x2f504b:0x37b,_0x390d12:0x245,_0x4e98b0:'nfSt',_0x142602:0x25d,_0x58050f:0x254,_0x194f48:0x28b},a0_0x9fc1fb={_0xb7ca75:0xf0,_0x5153b7:0x151,_0x275371:0x11},a0_0x3e3317={_0x35af1f:0xe2,_0x38cd19:0x57,_0x1801e6:0xf5},_0x72a54d={};_0x72a54d[_0x294022(a0_0x180288._0x1f6724,'6!(H',a0_0x180288._0x4a9c44,a0_0x180288._0x1f1b9b)]=_0x218307(a0_0x180288._0x30afda,a0_0x180288._0x3a860b,a0_0x180288._0x40d4b9,0x291)+_0x218307(0x277,a0_0x180288._0x2cf922,0x29a,0x265)+_0x294022(a0_0x180288._0x4c0648,a0_0x180288._0x5cabd2,a0_0x180288._0x873b7e,a0_0x180288._0x1c58e2)+_0x218307(a0_0x180288._0x1104d2,a0_0x180288._0x5d1cf2,a0_0x180288._0x1d2ed2,a0_0x180288._0x13cf0a)+_0x294022(a0_0x180288._0x223aa4,a0_0x180288._0xd8753a,a0_0x180288._0x4059e0,0x39b),_0x72a54d[_0x294022(a0_0x180288._0x43ca6a,'L(y0',0x38f,0x3a1)]=_0x218307(a0_0x180288._0x2b8957,a0_0x180288._0x173537,a0_0x180288._0x3c9c17,0x259),_0x72a54d[_0x294022(0x39c,'qCye',0x366,a0_0x180288._0xe4190e)]=_0x294022(a0_0x180288._0xe38a2b,a0_0x180288._0x3ef064,a0_0x180288._0x1e9ba2,a0_0x180288._0x13c313);const _0x4c1283=_0x72a54d;function _0x218307(_0x390a0e,_0x3395d8,_0x20c2f2,_0x27f1f8){return a0_0x3a885e(_0x390a0e-a0_0x3e3317._0x35af1f,_0x3395d8,_0x27f1f8-a0_0x3e3317._0x38cd19,_0x27f1f8-a0_0x3e3317._0x1801e6);}function _0x294022(_0x16cff0,_0x1fd1da,_0x5f4752,_0x196569){return a0_0x3a885e(_0x16cff0-a0_0x9fc1fb._0xb7ca75,_0x1fd1da,_0x5f4752-a0_0x9fc1fb._0x5153b7,_0x196569-a0_0x9fc1fb._0x275371);}let _0x5db73f=Buffer[_0x294022(a0_0x180288._0x5be5b6,'wy%a',a0_0x180288._0x17b08a,a0_0x180288._0x2509f3)](_0x4c1283[_0x218307(a0_0x180288._0x4b73a7,a0_0x180288._0xd5303e,a0_0x180288._0x5b5804,a0_0x180288._0x3faf24)],_0x4c1283[_0x294022(a0_0x180288._0x295fa7,'71ZW',a0_0x180288._0x561a7f,a0_0x180288._0x2671aa)]);for(const [_0x387550,_0xb5bd12]of Object[_0x218307(a0_0x180288._0x99047f,a0_0x180288._0x5e329d,a0_0x180288._0x73abfa,0x268)+'es'](_0x1d0927)){_0x5db73f=Buffer[_0x218307(a0_0x180288._0x39c7a7,'k*PS',a0_0x180288._0x5d63c0,a0_0x180288._0x294ec2)+'t']([_0x5db73f,Buffer[_0x294022(a0_0x180288._0x42d266,a0_0x180288._0x16cf25,a0_0x180288._0x3a7d03,a0_0x180288._0x5f35d6)](_0x387550,_0x4c1283[_0x294022(0x3a1,a0_0x180288._0x1e7a58,a0_0x180288._0x57c729,a0_0x180288._0x32409c)]),Buffer[_0x294022(a0_0x180288._0x45e272,a0_0x180288._0x5c02f5,a0_0x180288._0x37c211,a0_0x180288._0x1bceee)](_0xb5bd12,_0x4c1283[_0x294022(a0_0x180288._0x4b38f3,a0_0x180288._0x355415,a0_0x180288._0x219305,a0_0x180288._0x1b8178)])]);}return sha256Hash(_0x5db73f)[_0x294022(a0_0x180288._0x32eec9,'*TT!',a0_0x180288._0x2f504b,0x37f)+_0x218307(a0_0x180288._0x390d12,a0_0x180288._0x4e98b0,a0_0x180288._0x142602,a0_0x180288._0x58050f)](_0x4c1283[_0x218307(a0_0x180288._0x194f48,'BuD9',0x269,0x299)]);}function encryptBundle(_0x5376c4,_0xf0601){const a0_0xc6a0eb={_0x487f86:0x78,_0x26bc96:0x82,_0x53be4f:'L(y0',_0x587515:0x99,_0x5020fd:0x5e,_0x41a5a2:'wy%a',_0x123619:0x4a,_0x653269:0x31f,_0x3b5e06:'k*PS',_0x3819cf:0x324,_0x1207f5:0x317,_0x3ca97f:0x36,_0x13f453:0x36,_0x28471f:'8IFu',_0x1d766e:0x12,_0x562e12:0x8b,_0xf7f8e1:0x8d,_0x3fbd14:0x68,_0x6ad6c6:0x28,_0x4e9340:'&JV[',_0x4075b0:0x83,_0x53904f:0xc1,_0x1e5ca8:0x93,_0x8f9bd4:0xc5,_0x4397cc:0x32d,_0x173bd5:'#@P!',_0x3488a1:0x327,_0x358dca:0x338,_0x205324:0x7b,_0x28207f:'64EH',_0xa4f2c3:0xa6,_0x5760a0:0xae,_0x3872f9:0x88,_0x5633d5:'zQt5',_0x1bf91a:0x93,_0x2dc4b9:0x31e,_0xd31fbf:'Gt9Q',_0x3346a5:0x333,_0x92ef05:0x62,_0x2d1461:0x31,_0x4c1aad:0x23,_0x350c35:0x370,_0x26e84d:0x341,_0x3e5033:0x31b,_0x4f16b1:0x36b,_0x1c1434:0x391,_0x4b5209:'Ypek',_0x217d2b:0x33a,_0x1bde67:0x31a,_0x2dec70:0x33a,_0x28f8c5:'k*PS',_0x25f131:0x337,_0x57fb76:0x34f,_0x40a379:0x33e,_0x4008f9:0x367,_0x56123b:0x47,_0x56feb0:0x71,_0x57d1dd:0x75,_0x4b743d:0x35a,_0x22ec10:'C*VO',_0x1bedfb:0x36c,_0x5a9065:0x94,_0xfcb6a6:0x2c},a0_0x1a938d={_0x15ee78:0x2cf,_0x434d8f:0xd3,_0x3ebfbd:0x1e3},a0_0x11aaa0={_0x2754ab:0x78,_0x12cb85:0x124,_0x40e033:0x41};function _0xd7b0e8(_0x403e3e,_0x3edd93,_0x1cc330,_0x36173b){return a0_0x3a885e(_0x403e3e-a0_0x11aaa0._0x2754ab,_0x3edd93,_0x1cc330-a0_0x11aaa0._0x12cb85,_0x36173b-a0_0x11aaa0._0x40e033);}const _0x544e3c={'vGZYo':function(_0x31ad72,_0x2c6246){return _0x31ad72(_0x2c6246);},'pBTbS':function(_0x323601,_0x22705d,_0x2193ac){return _0x323601(_0x22705d,_0x2193ac);},'SMDmO':_0x10adca(a0_0xc6a0eb._0x487f86,a0_0xc6a0eb._0x26bc96,a0_0xc6a0eb._0x53be4f,a0_0xc6a0eb._0x587515)+_0x10adca(0x2b,a0_0xc6a0eb._0x5020fd,a0_0xc6a0eb._0x41a5a2,a0_0xc6a0eb._0x123619)+_0xd7b0e8(a0_0xc6a0eb._0x653269,a0_0xc6a0eb._0x3b5e06,a0_0xc6a0eb._0x3819cf,a0_0xc6a0eb._0x1207f5)+_0x10adca(a0_0xc6a0eb._0x3ca97f,a0_0xc6a0eb._0x13f453,a0_0xc6a0eb._0x28471f,a0_0xc6a0eb._0x1d766e)+_0x10adca(a0_0xc6a0eb._0x562e12,a0_0xc6a0eb._0xf7f8e1,'0J)d',a0_0xc6a0eb._0x3fbd14)+'v1','JVPlS':_0x10adca(a0_0xc6a0eb._0x6ad6c6,0x50,a0_0xc6a0eb._0x4e9340,a0_0xc6a0eb._0x4075b0),'DNCaI':_0x10adca(a0_0xc6a0eb._0x53904f,a0_0xc6a0eb._0x1e5ca8,'lbdn',a0_0xc6a0eb._0x8f9bd4)},_0x2402c4=_0x544e3c[_0xd7b0e8(a0_0xc6a0eb._0x4397cc,a0_0xc6a0eb._0x173bd5,a0_0xc6a0eb._0x3488a1,a0_0xc6a0eb._0x358dca)](buildBundle,_0xf0601),_0x30242d=_0x544e3c[_0x10adca(0x4c,a0_0xc6a0eb._0x205324,a0_0xc6a0eb._0x28207f,a0_0xc6a0eb._0xa4f2c3)](encryptAESGCM,_0x5376c4,_0x2402c4);function _0x10adca(_0x3adfa7,_0x4df1eb,_0x278dd5,_0x5e875a){return a0_0x5e54e7(_0x4df1eb-a0_0x1a938d._0x15ee78,_0x4df1eb-a0_0x1a938d._0x434d8f,_0x278dd5-a0_0x1a938d._0x3ebfbd,_0x278dd5);}const _0x8f313b=Buffer[_0x10adca(a0_0xc6a0eb._0x5760a0,a0_0xc6a0eb._0x3872f9,a0_0xc6a0eb._0x5633d5,a0_0xc6a0eb._0x1bf91a)+'t']([Buffer[_0xd7b0e8(a0_0xc6a0eb._0x2dc4b9,a0_0xc6a0eb._0xd31fbf,a0_0xc6a0eb._0x3346a5,0x316)](_0x544e3c[_0x10adca(a0_0xc6a0eb._0x92ef05,a0_0xc6a0eb._0x2d1461,a0_0xc6a0eb._0x28207f,a0_0xc6a0eb._0x4c1aad)],_0x544e3c[_0xd7b0e8(a0_0xc6a0eb._0x350c35,'k*PS',a0_0xc6a0eb._0x26e84d,a0_0xc6a0eb._0x3e5033)]),_0x30242d]),_0x4619a1=_0x544e3c[_0xd7b0e8(0x358,'JGm4',a0_0xc6a0eb._0x4f16b1,a0_0xc6a0eb._0x1c1434)](sha256Hash,_0x8f313b)[_0xd7b0e8(0x363,a0_0xc6a0eb._0x4b5209,a0_0xc6a0eb._0x217d2b,a0_0xc6a0eb._0x1bde67)+_0xd7b0e8(a0_0xc6a0eb._0x2dec70,a0_0xc6a0eb._0x28f8c5,a0_0xc6a0eb._0x25f131,a0_0xc6a0eb._0x57fb76)](_0x544e3c[_0xd7b0e8(a0_0xc6a0eb._0x40a379,'Ypek',a0_0xc6a0eb._0x4008f9,0x345)]),_0x4953ac={};return _0x4953ac[_0x10adca(a0_0xc6a0eb._0x56123b,a0_0xc6a0eb._0x56feb0,'91Q6',a0_0xc6a0eb._0x57d1dd)+_0xd7b0e8(a0_0xc6a0eb._0x4b743d,a0_0xc6a0eb._0x22ec10,0x33f,a0_0xc6a0eb._0x1bedfb)]=_0x30242d,_0x4953ac[_0x10adca(a0_0xc6a0eb._0x5a9065,0x78,'JGm4',0x8a)+_0x10adca(0x53,a0_0xc6a0eb._0xfcb6a6,'DIV1',a0_0xc6a0eb._0x123619)]=_0x4619a1,_0x4953ac;}const a0_0x1ebcef={};function a0_0x3166(){const _0x14b48b=['vrVdM8olWRy','WOxcGvmtWOG','W6Kvz8odWOO','bSouBSk3WO0','nw4+WRq','W4XKWO8Nna','W5LlWRaDma','ofJcG8o2WRu','qmonCCo1','WRVcV8kbWPJcIW','W4aYWQefrb7dLZSXuG','W6fGwCooW7iAgqtdGmonpmoIhG','W6pdU2JcR8oE','nY3cShO','WRldIIPYlvNdUCkbW4NcKSonW7K','p8osW5lcVvK','jCoXWRqjWQG','emoWnSkUW68','wXVdN8oTWQC','W6tdTxWMW47dRwKhC8ovW5a','rmkWWQ8olmkWBG','WRtcU3zk','W6dcLN0PEG','WOVcQ3WzcMObWO45fH1u','W6f2mCkf','BGFdK8oRWRS','w8olW7ddUx0','nuFcMCo0W6O','l8oUW4xcSfS','WP4OpmoZdq','WP5YWOrvWPxcPmouaapcQL3cIai','W7xdTIzkW7jIArexWRxdMmkdwq','W6eGWQBdSSk8','WOBcNmkP','WRZdUCkeW5zGmh7cICoHqG','F2uTWQmw','W4VcOmoBW4lcTq','bZxdUxRcKa','iIRcSG','t8orEq','mmkncGDX','kLVcV8oTWRu','nmouW5NcSLW','WPJcSmkrWPFcLW','b8kxWRXy','W4/cUmo4W43dOW','W6mXWQG','WPRdO8o2W5RcTSkIoIC','bhNdSM3cIG','uSk6zaq5t33cISkXvSkh','W5nnWRi','WPjuWRnZW74','BY5SW4BcMX3cIG','W5ZdQIPm','rCoqC8oOuq','WRNdTCkpW5CJBIldGSohvSo+rwFdQa','W6RcMMbNAa','W5SAwCkz','WP0bn8odcG','WOJcJCo4cYO','W5ZdSsLeha','nCotW5S','WOZcO8oec8ky','W6pcRSorWRj5','WRxcOemgWRm','WOxcISoPfsC','xbr4AvzxW7xdOdG9','W7xcK1mPW6a','WRpdVSkQk8oS','hvGPoa','W57dMftcM8o+ifZcUu0hWO0','fSoRW6ZcSMS','W7brW68','gWH3W4ZcSW','WRxcVmkjWOa','W5ewWRvYW7DQBem','WQRcVMFdRG','W6BcGwmLAq','WQpcUwBdP8ko','WOXqaSobWONdOCkDEb/dRq','B0qQWPddRGZcIf/dKSohWQO','W4lcPmot','h0K/m1S','rSocW5FdN2O','W53cUSoHW5RcOW','mIVcUNmf','yZjHW7XaWQvRlmk4WPxdMmk2WQVcVq','WQdcLmkDWPlcSW','WQxcR3VcRSoh','W446rmkqWP4','gmo5FG','WOhcHSkjW43cGW','WRBcJx3dRmoN','W6jNu8k6WOzUtaFdUW','WR/cSmo5jmkz','WOVcL8kLdfm','jmoVBSkFWRq','l8ojW47cT1y','W57dMvNdP8klpMBcIv0','WPxcLr3dJSkPemoGDX3cNIVdMSoV','pCoAW5NcSeW','WQ3cMmkN','W4/dG1W','WRRcVIRdUSkL','pSoxWQqiWO8','cN0TWOOy','Fmk9j8ksW7y','n2K7WR8l'];a0_0x3166=function(){return _0x14b48b;};return a0_0x3166();}function a0_0x2966(_0x4b651d,_0x495fd5){const _0x2d9ff2=a0_0x3166();return a0_0x2966=function(_0x506ac8,_0x54044f){_0x506ac8=_0x506ac8-(-0x1055*-0x1+0x893*-0x2+-0x1d*-0xb);let _0x4a2a75=_0x2d9ff2[_0x506ac8];if(a0_0x2966['iDTMdj']===undefined){var _0x3a7c4a=function(_0x5b2704){const _0x1a21fb='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x18a0b3='',_0x3d5aa8='';for(let _0x1229d0=-0x119*0x7+0x228a+-0x1adb,_0x156257,_0x5b626c,_0x2f0200=-0x128b+-0x1860+-0x1*-0x2aeb;_0x5b626c=_0x5b2704['charAt'](_0x2f0200++);~_0x5b626c&&(_0x156257=_0x1229d0%(-0x1*0x1570+-0xbb1+0x2125)?_0x156257*(0x4ae+-0xbbd*0x1+0x74f)+_0x5b626c:_0x5b626c,_0x1229d0++%(-0x14b*-0x2+-0x1b5a+-0x8*-0x319))?_0x18a0b3+=String['fromCharCode'](0x7d2+-0x1be*0x1+0x515*-0x1&_0x156257>>(-(-0x26d+-0x228d+-0x24fc*-0x1)*_0x1229d0&-0x2*-0x1139+-0x85d+0x1a0f*-0x1)):0xbf6+-0x3d*-0xd+-0x1*0xf0f){_0x5b626c=_0x1a21fb['indexOf'](_0x5b626c);}for(let _0x24d3a8=0x7*0x4a+-0x1b*0x86+-0x14*-0x9b,_0x3c1fcf=_0x18a0b3['length'];_0x24d3a8<_0x3c1fcf;_0x24d3a8++){_0x3d5aa8+='%'+('00'+_0x18a0b3['charCodeAt'](_0x24d3a8)['toString'](-0x9ec+-0x979+0x1375))['slice'](-(-0x2*0x4c1+-0x112*-0x2+0x8*0xec));}return decodeURIComponent(_0x3d5aa8);};const _0x5da60b=function(_0x11bd16,_0x3efede){let _0x2bf8ef=[],_0x14d12b=-0x1c5e*-0x1+-0x8a9*-0x1+-0x2507,_0x339d0a,_0x12b23f='';_0x11bd16=_0x3a7c4a(_0x11bd16);let _0x5b7ae4;for(_0x5b7ae4=0xfa2+-0x2595+-0x15f3*-0x1;_0x5b7ae4<0x4*-0x5a4+-0x23b6+0x3b46;_0x5b7ae4++){_0x2bf8ef[_0x5b7ae4]=_0x5b7ae4;}for(_0x5b7ae4=0x3cb+-0x25db+0x884*0x4;_0x5b7ae4<0x115+0x640+-0x655;_0x5b7ae4++){_0x14d12b=(_0x14d12b+_0x2bf8ef[_0x5b7ae4]+_0x3efede['charCodeAt'](_0x5b7ae4%_0x3efede['length']))%(-0x3*-0xf4+0xd*0x2ab+0x248b*-0x1),_0x339d0a=_0x2bf8ef[_0x5b7ae4],_0x2bf8ef[_0x5b7ae4]=_0x2bf8ef[_0x14d12b],_0x2bf8ef[_0x14d12b]=_0x339d0a;}_0x5b7ae4=0xa*0x104+-0x22ec+0x18c4,_0x14d12b=-0xaf*-0x1f+0x1*-0x1ae+-0x3e7*0x5;for(let _0x37f7ef=0xf2a+0x305*-0x1+-0xc25;_0x37f7ef<_0x11bd16['length'];_0x37f7ef++){_0x5b7ae4=(_0x5b7ae4+(-0x2159+0x1352+-0x704*-0x2))%(-0x4*0x683+0x7ae+-0x25*-0x86),_0x14d12b=(_0x14d12b+_0x2bf8ef[_0x5b7ae4])%(-0x5*-0x715+0x1345*0x1+-0x35ae),_0x339d0a=_0x2bf8ef[_0x5b7ae4],_0x2bf8ef[_0x5b7ae4]=_0x2bf8ef[_0x14d12b],_0x2bf8ef[_0x14d12b]=_0x339d0a,_0x12b23f+=String['fromCharCode'](_0x11bd16['charCodeAt'](_0x37f7ef)^_0x2bf8ef[(_0x2bf8ef[_0x5b7ae4]+_0x2bf8ef[_0x14d12b])%(-0x1a71+0x99f*-0x2+0x2eaf)]);}return _0x12b23f;};a0_0x2966['jUsaCr']=_0x5da60b,_0x4b651d=arguments,a0_0x2966['iDTMdj']=!![];}const _0x46a6af=_0x2d9ff2[0x683*-0x1+0x1f*-0x10d+-0x2716*-0x1],_0x1cdd23=_0x506ac8+_0x46a6af,_0x27c5ca=_0x4b651d[_0x1cdd23];return!_0x27c5ca?(a0_0x2966['JizBgs']===undefined&&(a0_0x2966['JizBgs']=!![]),_0x4a2a75=a0_0x2966['jUsaCr'](_0x4a2a75,_0x54044f),_0x4b651d[_0x1cdd23]=_0x4a2a75):_0x4a2a75=_0x27c5ca,_0x4a2a75;},a0_0x2966(_0x4b651d,_0x495fd5);}a0_0x1ebcef[a0_0x3a885e(0x1e3,'*TT!',0x1fa,0x1de)+a0_0x3a885e(0x234,'RQ5R',0x21f,0x216)+'e']=buildBundle;function a0_0x3a885e(_0x25fed0,_0x3580c7,_0xb3d5a3,_0x332579){const a0_0x35625a={_0x58101d:0x18a};return a0_0x2966(_0xb3d5a3-a0_0x35625a._0x58101d,_0x3580c7);}a0_0x1ebcef[a0_0x5e54e7(-0x24b,-0x23a,-0x237,'BuD9')+a0_0x3a885e(0x1f7,'jew6',0x209,0x1e5)+a0_0x3a885e(0x253,'71ZW',0x230,0x21e)]=encryptBundle,a0_0x1ebcef[a0_0x3a885e(0x20d,'nfSt',0x20c,0x217)+a0_0x5e54e7(-0x243,-0x218,-0x240,'&GPl')+a0_0x5e54e7(-0x285,-0x2aa,-0x258,'m!^J')+'sh']=computeBundleHash,module[a0_0x5e54e7(-0x27c,-0x267,-0x29b,'zQt5')+'ts']=a0_0x1ebcef;
|