@privacyscrubber/mcp-server 2.2.5 โ 2.2.7
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/README.md +91 -6
- package/index.js +45 -21
- package/install.js +3 -0
- package/manifest.json +17 -1
- package/package.json +1 -1
- package/pii-masking-run.js +3 -3
- package/ps-license-manager.cjs +1 -1
- package/ps-license-manager.js +1 -1
- package/ps-pii-engine.cjs +1 -1
- package/ps-pii-engine.js +1 -1
- package/scrubber-core.cjs +1 -1
- package/server.json +3 -3
- package/smithery.yaml +2 -2
package/README.md
CHANGED
|
@@ -23,6 +23,8 @@
|
|
|
23
23
|
**CISO-Approved Zero-Trust PII & Secrets Redaction MCP Server for Cursor, Windsurf, and Claude Desktop.**
|
|
24
24
|
Locally scrubs PII, secrets, credentials, and custom regex rules from files and text contexts before they reach remote LLM providers to prevent API leaks and ensure HIPAA/SOC 2 compliance at the developer endpoint.
|
|
25
25
|
|
|
26
|
+
> โญ **Support Zero-Trust Open Source:** If PrivacyScrubber protects your API keys and code from leaks, please **[Star this repository](https://github.com/moxno/privacyscrubber-mcp)** or run `gh repo star moxno/privacyscrubber-mcp` in your terminal!
|
|
27
|
+
|
|
26
28
|
---
|
|
27
29
|
|
|
28
30
|
## ๐ Zero-Trust Data Flow
|
|
@@ -95,6 +97,89 @@ Microsoft Presidio is the Python standard, but deploying it in a Node.js / TypeS
|
|
|
95
97
|
|
|
96
98
|
๐ [View @privacyscrubber/sdk on NPM](https://www.npmjs.com/package/@privacyscrubber/sdk) | Full documentation, Express middleware, LangChain transforms, and 25 compliance profiles.
|
|
97
99
|
|
|
100
|
+
#### ๐ค AI Orchestrator Recipes: LangChain, LlamaIndex, CrewAI & AutoGPT
|
|
101
|
+
|
|
102
|
+
If you are building autonomous agents, RAG vector pipelines, or backend services rather than single-user IDE prompts, use `@privacyscrubber/sdk` to sanitize data in-memory:
|
|
103
|
+
|
|
104
|
+
##### 1. LangChain.js (LCEL & RAG Document Ingestion)
|
|
105
|
+
```typescript
|
|
106
|
+
import { ChatOpenAI } from '@langchain/openai';
|
|
107
|
+
import { createLangChainTransform, createDocumentTransformer } from '@privacyscrubber/sdk';
|
|
108
|
+
|
|
109
|
+
// A. RAG Pre-Ingestion: sanitize documents before embedding into vector stores
|
|
110
|
+
const docTransformer = createDocumentTransformer({
|
|
111
|
+
profile: 'General',
|
|
112
|
+
sensitiveMetadataKeys: ['account_owner', 'submitter_email'],
|
|
113
|
+
attachTelemetry: true
|
|
114
|
+
});
|
|
115
|
+
const sanitizedDocs = await docTransformer.transformDocuments(rawDocs);
|
|
116
|
+
|
|
117
|
+
// B. LCEL Runtime Chains: sanitize prompts and restore responses in local RAM
|
|
118
|
+
const transform = createLangChainTransform({ defaultProfile: 'Dev' });
|
|
119
|
+
const { scrubbedText, tokenMap } = transform.preprocess(
|
|
120
|
+
"Deploying database with user admin and pwd postgresql://user:SecretPass123@db.internal:5432/prod"
|
|
121
|
+
);
|
|
122
|
+
const model = new ChatOpenAI({ model: 'gpt-4o' });
|
|
123
|
+
const response = await model.invoke(scrubbedText);
|
|
124
|
+
const finalOutput = transform.postprocess(response.content, tokenMap);
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
##### 2. LlamaIndex.TS & Universal Vector DB Ingestion (Chroma, Pinecone, Qdrant)
|
|
128
|
+
```typescript
|
|
129
|
+
import { createVectorIngestionGuard, createLlamaIndexTransform } from '@privacyscrubber/sdk';
|
|
130
|
+
|
|
131
|
+
// Initialize in-memory Vector Ingestion Guard (<1ms per batch, zero network egress)
|
|
132
|
+
const guard = createVectorIngestionGuard({
|
|
133
|
+
profile: 'Finance',
|
|
134
|
+
sensitiveMetadataKeys: ['contractor_email', 'billing_contact']
|
|
135
|
+
});
|
|
136
|
+
|
|
137
|
+
// A. Sanitize Chroma columnar batches ({ ids, documents, metadatas })
|
|
138
|
+
const cleanChroma = guard.sanitizeRecords(chromaBatch);
|
|
139
|
+
|
|
140
|
+
// B. Sanitize Pinecone / Qdrant record arrays ({ id, text/payload, metadata })
|
|
141
|
+
const cleanRecords = guard.sanitizeRecords(pineconeRecords);
|
|
142
|
+
|
|
143
|
+
// C. Align search query tokens with sanitized vector space before embedding
|
|
144
|
+
const { query: alignedQuery } = guard.sanitizeQuery("Search user john@example.com records");
|
|
145
|
+
|
|
146
|
+
// D. Transparent Vector Store Proxy: auto-sanitizes on write, re-hydrates on query
|
|
147
|
+
const guardedStore = guard.wrapVectorStore(nativeVectorStore);
|
|
148
|
+
```
|
|
149
|
+
> Complete runnable recipes are included inside the npm package under `@privacyscrubber/sdk/examples/` (or run `npx @privacyscrubber/sdk`).
|
|
150
|
+
|
|
151
|
+
##### 3. CrewAI & Multi-Agent Swarms (Sidecar Mode / Python Interop)
|
|
152
|
+
```bash
|
|
153
|
+
# Run lightweight zero-dependency local daemon (<1ms in-memory, 0 external network calls):
|
|
154
|
+
npx @privacyscrubber/sdk sidecar --port 3100
|
|
155
|
+
```
|
|
156
|
+
```python
|
|
157
|
+
# In your Python CrewAI / AutoGen Agent tools:
|
|
158
|
+
import requests
|
|
159
|
+
|
|
160
|
+
def sanitize_agent_input(prompt: str) -> tuple[str, dict]:
|
|
161
|
+
res = requests.post("http://127.0.0.1:3100/sanitize", json={"text": prompt, "profile": "Dev"}).json()
|
|
162
|
+
return res["scrubbedText"], res["tokenMap"]
|
|
163
|
+
|
|
164
|
+
def restore_agent_output(ai_response: str, token_map: dict) -> str:
|
|
165
|
+
res = requests.post("http://127.0.0.1:3100/restore", json={"text": ai_response, "tokenMap": token_map}).json()
|
|
166
|
+
return res["restoredText"]
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
##### 4. AutoGPT / Multi-Turn Autonomous Agents
|
|
170
|
+
```typescript
|
|
171
|
+
import { PrivacyScrubberEngine, createGuardedTools } from '@privacyscrubber/sdk';
|
|
172
|
+
|
|
173
|
+
const engine = new PrivacyScrubberEngine({ defaultProfile: 'Dev' });
|
|
174
|
+
// Equips agent with tools that intercept commands, file reads, and git diffs before model exposure:
|
|
175
|
+
const guardedTools = createGuardedTools(engine);
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
> ๐ข **Enterprise & Production Licensing:**
|
|
179
|
+
> - **Self-Serve Developer SDK ($299/mo flat or $2,990/yr):** Unlimited internal backend nodes, microservices, and RAG pipelines. [Developer SDK Specs & Pricing](https://privacyscrubber.com/sdk/?utm_source=mcp_readme)
|
|
180
|
+
> - **PrivacyScrubber TEAMS ($99/mo flat):** Unlimited team seats, centralized policy enforcement, encrypted session handoff. [Deploy TEAMS](https://privacyscrubber.com/teams?utm_source=mcp_readme)
|
|
181
|
+
> - **Enterprise Air-Gapped License:** On-premise source code distribution, zero-network custom models. [Contact Enterprise](https://privacyscrubber.com/enterprise?utm_source=mcp_readme)
|
|
182
|
+
|
|
98
183
|
#### ๐ก๏ธ Architecture & Security Deep-Dive (Zero-Trust vs Cloud DLP)
|
|
99
184
|
|
|
100
185
|
When AI IDEs (Cursor, Claude Desktop, Windsurf) connect to model providers, developer credentials, database connection strings, and internal customer PII are at continuous risk of prompt exfiltration. The `@privacyscrubber/mcp-server` enforces four immutable architectural guarantees:
|
|
@@ -106,7 +191,7 @@ When AI IDEs (Cursor, Claude Desktop, Windsurf) connect to model providers, deve
|
|
|
106
191
|
3. **Deterministic AST Lookarounds vs Cloud Proxy Overhead**:
|
|
107
192
|
Unlike cloud DLP gateways (Nightfall, Skyflow) that add 200โ400ms latency and transmit unencrypted code to third parties, `@privacyscrubber/mcp-server` runs locally in <2ms with zero data egress.
|
|
108
193
|
4. **Permanent Standards & Academic Validation**:
|
|
109
|
-
- **IETF Specification**: [draft-sibiryakov-ztds-protocol-
|
|
194
|
+
- **IETF Specification**: [draft-sibiryakov-ztds-protocol-01](https://datatracker.ietf.org/doc/draft-sibiryakov-ztds-protocol/) โ Revision 01 ยท 2026-09-23 ยท 13 pages
|
|
110
195
|
- **CERN / Zenodo Foundation**: [DOI 10.5281/zenodo.22058770](https://doi.org/10.5281/zenodo.22058770)
|
|
111
196
|
- **Center for Open Science (OSF)**: [DOI 10.17605/OSF.IO/5BYJF](https://doi.org/10.17605/OSF.IO/5BYJF)
|
|
112
197
|
- **Patent Pending**: Israel Patent Office Application `IL 331905` (WIPO DAS Code: `B17B`)
|
|
@@ -305,7 +390,7 @@ Returns a visual dashboard showing your current tier, session request count, act
|
|
|
305
390
|
โ After purchase, add your key to MCP config: โ
|
|
306
391
|
โ "PRIVACYSCRUBBER_KEY": "<your-key-here>" โ
|
|
307
392
|
โ Full setup guide: โ
|
|
308
|
-
โ https://privacyscrubber.com/
|
|
393
|
+
โ https://privacyscrubber.com/pii-mcp/?utm_source=npm&utm_medium=readme&utm_campaign=mcp_server โ
|
|
309
394
|
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
310
395
|
```
|
|
311
396
|
|
|
@@ -425,7 +510,7 @@ Use the check_status tool from PrivacyScrubber MCP
|
|
|
425
510
|
## ๐ Ecosystem & Production Architecture Guides
|
|
426
511
|
|
|
427
512
|
- ๐ **Web App**: [https://privacyscrubber.com](https://privacyscrubber.com)
|
|
428
|
-
- ๐ฆ **Node.js / TypeScript SDK**: [@privacyscrubber/sdk](https://www.npmjs.com/package/@privacyscrubber/sdk)
|
|
513
|
+
- ๐ฆ **Node.js / TypeScript SDK**: [@privacyscrubber/sdk](https://privacyscrubber.com/sdk/) ([npm](https://www.npmjs.com/package/@privacyscrubber/sdk))
|
|
429
514
|
- ๐งฉ **Chrome Extension**: [Chrome Web Store](https://chromewebstore.google.com/detail/privacyscrubber-%E2%80%94-zero-tr/pimoejgefeilajmmbpghifdmhdlkgjol)
|
|
430
515
|
- ๐ก๏ธ **RAG & Vector Databases**: [Sanitizing PII Before Vector DB Ingestion (Pinecone, Chroma, Qdrant)](https://privacyscrubber.com/solutions/dev/rag-vector-database-pii-masking/)
|
|
431
516
|
- ๐ค **LangChain & LlamaIndex**: [In-Memory PII Middleware for AI Agent Pipelines](https://privacyscrubber.com/solutions/agents/langchain-llamaindex-pii-anonymizer/)
|
|
@@ -439,7 +524,7 @@ PrivacyScrubber and the Zero-Trust Data Sanitization (ZTDS) protocol are backed
|
|
|
439
524
|
|
|
440
525
|
| Repository / Archive | DOI / Identifier | Focus Area | Regulatory & Compliance Scope |
|
|
441
526
|
|---|---|---|---|
|
|
442
|
-
| **IETF
|
|
527
|
+
| **IETF Specification** | [`draft-sibiryakov-ztds-protocol`](https://datatracker.ietf.org/doc/draft-sibiryakov-ztds-protocol/) | The ZTDS Protocol for Frontier AI Ingestion (Internet-Draft) | Global AI Privacy, Zero-Egress Architecture |
|
|
443
528
|
| **Zenodo / CERN** | [`10.5281/zenodo.22058770`](https://zenodo.org/records/22058770) | Zero-Trust Data Sanitization (ZTDS) Protocol Foundation | Cross-Border AI Privacy, ISO 27001 A.8.11 |
|
|
444
529
|
| **OSF (Center for Open Science)** | [`10.17605/OSF.IO/5BYJF`](https://osf.io/5byjf/) | Empirical Latency Benchmark & Memory Profiling (<2ms RAM) | Performance vs Cloud DLP Proxies |
|
|
445
530
|
| **SSRN / Elsevier** | [`SSRN ID: 7335581`](https://papers.ssrn.com/sol3/papers.cfm?abstract_id=7335581) | Enterprise Generative AI Governance | EU AI Act, UK GDPR, US State Privacy |
|
|
@@ -478,9 +563,9 @@ The Zero-Trust Data Sanitization (ZTDS) architecture, in-memory deterministic to
|
|
|
478
563
|
|
|
479
564
|
### ๐ Internet Engineering Task Force (IETF) Specification
|
|
480
565
|
- **Specification Title:** *The Zero-Trust Data Sanitization (ZTDS) Protocol for Frontier Artificial Intelligence Ingestion*
|
|
481
|
-
- **
|
|
566
|
+
- **Document Category:** IETF Internet-Draft (Individual Submission)
|
|
482
567
|
- **IETF Datatracker:** [https://datatracker.ietf.org/doc/draft-sibiryakov-ztds-protocol/](https://datatracker.ietf.org/doc/draft-sibiryakov-ztds-protocol/)
|
|
483
|
-
- **Archive Plaintext:** [https://www.ietf.org/archive/id/draft-sibiryakov-ztds-protocol-
|
|
568
|
+
- **Archive Plaintext:** [https://www.ietf.org/archive/id/draft-sibiryakov-ztds-protocol-01.txt](https://www.ietf.org/archive/id/draft-sibiryakov-ztds-protocol-01.txt)
|
|
484
569
|
|
|
485
570
|
|
|
486
571
|
|
package/index.js
CHANGED
|
@@ -87,7 +87,11 @@ function getSessionMap(sessionId = 'default') {
|
|
|
87
87
|
const sessionMap = getSessionMap('default');
|
|
88
88
|
|
|
89
89
|
function reverseTokens(text, map) {
|
|
90
|
-
if (!text || typeof text !== 'string' || !map) return text;
|
|
90
|
+
if (!text || typeof text !== 'string' || !map || Object.keys(map).length === 0) return text;
|
|
91
|
+
if (PrivacyScrubberCore && typeof PrivacyScrubberCore.unscrubText === 'function') {
|
|
92
|
+
const res = PrivacyScrubberCore.unscrubText(text, map);
|
|
93
|
+
return (res && typeof res.restoredText === 'string') ? res.restoredText : (typeof res === 'string' ? res : text);
|
|
94
|
+
}
|
|
91
95
|
let result = text;
|
|
92
96
|
for (const [token, original] of Object.entries(map)) {
|
|
93
97
|
if (result.includes(token)) {
|
|
@@ -216,7 +220,8 @@ function buildCisoAuditTelemetry(currentTokenMap = {}) {
|
|
|
216
220
|
if (currentTokenMap && typeof currentTokenMap === 'object') {
|
|
217
221
|
const keys = Array.isArray(currentTokenMap) ? currentTokenMap : Object.keys(currentTokenMap);
|
|
218
222
|
for (const t of keys) {
|
|
219
|
-
const tokenStr = typeof t === 'string' ? t : (t.token || t.mask || ''
|
|
223
|
+
const tokenStr = typeof t === 'string' ? t : (t && (t.token || t.mask)) ? String(t.token || t.mask) : '';
|
|
224
|
+
if (!tokenStr) continue;
|
|
220
225
|
const match = tokenStr.match(/\[([A-Z_]+)_\d+\]/);
|
|
221
226
|
const baseType = match ? match[1] : (tokenStr.replace(/\[|\]/g, '').replace(/_[0-9]+$/, '') || 'CUSTOM');
|
|
222
227
|
entities[baseType] = (entities[baseType] || 0) + 1;
|
|
@@ -271,7 +276,7 @@ function buildCisoAuditTelemetry(currentTokenMap = {}) {
|
|
|
271
276
|
function formatAuditReceipt(telemetry, compact = false, wasTruncated = false, charLimit = 15000) {
|
|
272
277
|
const isCompact = compact === true || process.env.PRIVACYSCRUBBER_COMPACT_RECEIPT === '1' || process.env.PRIVACYSCRUBBER_COMPACT_RECEIPT === 'true';
|
|
273
278
|
const truncationLine = wasTruncated
|
|
274
|
-
? `> * โ ๏ธ **Free Tier Limit:** Input truncated to ${charLimit.toLocaleString()} chars. Upgrade to PRO ($15/mo or $110 Lifetime) or Developer SDK ($
|
|
279
|
+
? `> * โ ๏ธ **Free Tier Limit:** Input truncated to ${charLimit.toLocaleString()} chars. Upgrade to PRO ($15/mo or $110 Lifetime) or Developer SDK ($299/mo): [privacyscrubber.com/pricing](https://privacyscrubber.com/pricing)\n`
|
|
275
280
|
: '';
|
|
276
281
|
|
|
277
282
|
if (isCompact) {
|
|
@@ -288,7 +293,7 @@ function formatAuditReceipt(telemetry, compact = false, wasTruncated = false, ch
|
|
|
288
293
|
}
|
|
289
294
|
|
|
290
295
|
if (telemetry.totalCount === 0) {
|
|
291
|
-
return `\n\n> ๐ก๏ธ **PrivacyScrubber Audit Receipt**: CLEAN (ZERO PII DETECTED)\n${truncationLine}> * โญ **Star on GitHub:** [moxno/privacyscrubber-mcp](https://github.com/moxno/privacyscrubber-mcp) (\`gh repo star moxno/privacyscrubber-mcp\`) | **SDK & Enterprise:** [privacyscrubber.com/
|
|
296
|
+
return `\n\n> ๐ก๏ธ **PrivacyScrubber Audit Receipt**: CLEAN (ZERO PII DETECTED)\n${truncationLine}> * โญ **Star on GitHub:** [moxno/privacyscrubber-mcp](https://github.com/moxno/privacyscrubber-mcp) (\`gh repo star moxno/privacyscrubber-mcp\`) | **SDK & Enterprise:** [privacyscrubber.com/sdk](https://privacyscrubber.com/sdk/)\n`;
|
|
292
297
|
}
|
|
293
298
|
|
|
294
299
|
const entitiesList = Object.entries(telemetry.entities)
|
|
@@ -297,7 +302,7 @@ function formatAuditReceipt(telemetry, compact = false, wasTruncated = false, ch
|
|
|
297
302
|
|
|
298
303
|
const icon = telemetry.riskLevel.includes('CRITICAL') ? '๐ด' : (telemetry.riskLevel.includes('MODERATE') ? '๐ ' : '๐ข');
|
|
299
304
|
|
|
300
|
-
return `\n\n> ๐ก๏ธ **PrivacyScrubber Audit Receipt**\n> * **Risk Level:** ${icon} ${telemetry.riskLevel}\n> * **Compliance Enforced:** ${telemetry.frameworksList.join(', ')}\n> * **Tokens Masked:** ${telemetry.totalCount} (${entitiesList})\n${truncationLine}> * โญ **Star on GitHub:** [moxno/privacyscrubber-mcp](https://github.com/moxno/privacyscrubber-mcp) (\`gh repo star moxno/privacyscrubber-mcp\`) | **SDK & Enterprise:** [privacyscrubber.com/
|
|
305
|
+
return `\n\n> ๐ก๏ธ **PrivacyScrubber Audit Receipt**\n> * **Risk Level:** ${icon} ${telemetry.riskLevel}\n> * **Compliance Enforced:** ${telemetry.frameworksList.join(', ')}\n> * **Tokens Masked:** ${telemetry.totalCount} (${entitiesList})\n${truncationLine}> * โญ **Star on GitHub:** [moxno/privacyscrubber-mcp](https://github.com/moxno/privacyscrubber-mcp) (\`gh repo star moxno/privacyscrubber-mcp\`) | **SDK & Enterprise:** [privacyscrubber.com/sdk](https://privacyscrubber.com/sdk/)\n`;
|
|
301
306
|
}
|
|
302
307
|
|
|
303
308
|
function formatCefEvent(eventData = {}) {
|
|
@@ -1880,7 +1885,11 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
|
1880
1885
|
total_masked_tokens: telemetry.totalCount,
|
|
1881
1886
|
entities_breakdown: telemetry.entities,
|
|
1882
1887
|
zero_egress_verified: true,
|
|
1883
|
-
verification_url: `https://privacyscrubber.com/features/audit-receipt/#verify?hash=${sessionHash.substring(0, 16)}
|
|
1888
|
+
verification_url: `https://privacyscrubber.com/features/audit-receipt/#verify?hash=${sessionHash.substring(0, 16)}`,
|
|
1889
|
+
licensing_and_governance: {
|
|
1890
|
+
teams_governance_url: "https://privacyscrubber.com/teams?src=mcp_compliance_json",
|
|
1891
|
+
sdk_pipeline_url: "https://privacyscrubber.com/sdk/?src=mcp_compliance_json"
|
|
1892
|
+
}
|
|
1884
1893
|
};
|
|
1885
1894
|
|
|
1886
1895
|
return {
|
|
@@ -1919,8 +1928,12 @@ ${telemetry.frameworksList.map(f => `- **${f}**`).join('\n')}
|
|
|
1919
1928
|
2. **HIPAA Safe Harbor (ยง164.514) / SOC 2 Type II:** All direct and indirect identifiers sanitized locally without cloud processor liability.
|
|
1920
1929
|
3. **Cryptographic Verification:** Tamper-evident session verification hash: \`${sessionHash}\`
|
|
1921
1930
|
|
|
1931
|
+
### ๐ข Enterprise & Team Governance
|
|
1932
|
+
* **Team Governance & Encrypted Handoff:** Centrally deploy redaction rules, audit logs, and zero-knowledge session handoff with **PrivacyScrubber TEAMS** ($99/mo flat): [privacyscrubber.com/teams](https://privacyscrubber.com/teams?src=mcp_compliance_report)
|
|
1933
|
+
* **Backend Microservices & RAG Pipelines:** Integrate in-memory sanitization (<1ms) into your Node.js/Python infrastructure with **Developer SDK** ($299/mo): [privacyscrubber.com/sdk](https://privacyscrubber.com/sdk/?src=mcp_compliance_report)
|
|
1934
|
+
|
|
1922
1935
|
*Certified Offline by PrivacyScrubber Engine v${MCP_VERSION}*
|
|
1923
|
-
*Verify at: https://privacyscrubber.com/features/audit-receipt
|
|
1936
|
+
*Verify at: https://privacyscrubber.com/features/audit-receipt/* | โญ *Star on GitHub: https://github.com/moxno/privacyscrubber-mcp*`;
|
|
1924
1937
|
|
|
1925
1938
|
return {
|
|
1926
1939
|
content: [{ type: "text", text: mdReport }]
|
|
@@ -1997,7 +2010,7 @@ ${telemetry.frameworksList.map(f => `- **${f}**`).join('\n')}
|
|
|
1997
2010
|
}
|
|
1998
2011
|
|
|
1999
2012
|
if (name === "guard_read_file") {
|
|
2000
|
-
const { file_path, profile = "Dev", max_lines = 500 } = args || {};
|
|
2013
|
+
const { file_path, profile = "Dev", max_lines = 500, session_id = "default" } = args || {};
|
|
2001
2014
|
if (!file_path || typeof file_path !== "string") {
|
|
2002
2015
|
return {
|
|
2003
2016
|
isError: true,
|
|
@@ -2037,7 +2050,8 @@ ${telemetry.frameworksList.map(f => `- **${f}**`).join('\n')}
|
|
|
2037
2050
|
const charLimit = (isAdvanced && !license.isPro) ? 5000 : 15000;
|
|
2038
2051
|
|
|
2039
2052
|
const { processedText, wasTruncated: wasCharTruncated } = truncateIfFree(capped, license.isPro, charLimit);
|
|
2040
|
-
const
|
|
2053
|
+
const currentSession = getSessionMap(session_id);
|
|
2054
|
+
const { scrubbedText, newTokens } = performSanitization(processedText, targetProfile, sessionIgnoreList, currentSession);
|
|
2041
2055
|
|
|
2042
2056
|
const telemetry = buildCisoAuditTelemetry(newTokens);
|
|
2043
2057
|
const receiptMd = formatAuditReceipt(telemetry, false, (wasLineTruncated || wasCharTruncated), charLimit);
|
|
@@ -2440,18 +2454,20 @@ Before reading sensitive files, running terminal commands that may print credent
|
|
|
2440
2454
|
for (let i = 0; i < results.length; i++) {
|
|
2441
2455
|
const item = results[i];
|
|
2442
2456
|
if (typeof item === 'string') {
|
|
2443
|
-
const
|
|
2444
|
-
|
|
2445
|
-
|
|
2446
|
-
|
|
2457
|
+
const res = (PrivacyScrubberCore && typeof PrivacyScrubberCore.unscrubText === 'function')
|
|
2458
|
+
? PrivacyScrubberCore.unscrubText(item, targetSession)
|
|
2459
|
+
: { restoredText: reverseTokens(item, targetSession), restoredCount: 0 };
|
|
2460
|
+
const restored = (res && typeof res.restoredText === 'string') ? res.restoredText : (typeof res === 'string' ? res : item);
|
|
2461
|
+
totalTokensRestored += (res.restoredCount || 0);
|
|
2447
2462
|
restoredResults.push(restored);
|
|
2448
2463
|
} else if (item && typeof item === 'object') {
|
|
2449
2464
|
const copy = { ...item };
|
|
2450
2465
|
const rawText = copy.text || copy.pageContent || copy.document || '';
|
|
2451
|
-
const
|
|
2452
|
-
|
|
2453
|
-
|
|
2454
|
-
|
|
2466
|
+
const res = (PrivacyScrubberCore && typeof PrivacyScrubberCore.unscrubText === 'function')
|
|
2467
|
+
? PrivacyScrubberCore.unscrubText(rawText, targetSession)
|
|
2468
|
+
: { restoredText: reverseTokens(rawText, targetSession), restoredCount: 0 };
|
|
2469
|
+
const restored = (res && typeof res.restoredText === 'string') ? res.restoredText : (typeof res === 'string' ? res : rawText);
|
|
2470
|
+
totalTokensRestored += (res.restoredCount || 0);
|
|
2455
2471
|
|
|
2456
2472
|
if (copy.text !== undefined) copy.text = restored;
|
|
2457
2473
|
if (copy.pageContent !== undefined) copy.pageContent = restored;
|
|
@@ -2538,7 +2554,11 @@ Before reading sensitive files, running terminal commands that may print credent
|
|
|
2538
2554
|
total_masked_tokens: telemetry.totalCount,
|
|
2539
2555
|
entities_breakdown: telemetry.entities,
|
|
2540
2556
|
zero_egress_verified: true,
|
|
2541
|
-
verification_url: `https://privacyscrubber.com/features/audit-receipt/#verify?hash=${sessionHash.substring(0, 16)}
|
|
2557
|
+
verification_url: `https://privacyscrubber.com/features/audit-receipt/#verify?hash=${sessionHash.substring(0, 16)}`,
|
|
2558
|
+
licensing_and_governance: {
|
|
2559
|
+
teams_governance_url: "https://privacyscrubber.com/teams?src=mcp_audit_json",
|
|
2560
|
+
sdk_pipeline_url: "https://privacyscrubber.com/sdk/?src=mcp_audit_json"
|
|
2561
|
+
}
|
|
2542
2562
|
}, null, 2);
|
|
2543
2563
|
} else if (format === "markdown") {
|
|
2544
2564
|
const entitySummary = Object.entries(telemetry.entities)
|
|
@@ -2567,8 +2587,12 @@ ${telemetry.frameworksList.map(f => `- **${f}**`).join('\n')}
|
|
|
2567
2587
|
2. **HIPAA Safe Harbor (ยง164.514) / SOC 2 Type II:** All direct and indirect identifiers sanitized locally without cloud processor liability.
|
|
2568
2588
|
3. **Cryptographic Verification:** Tamper-evident session verification hash: \`${sessionHash}\`
|
|
2569
2589
|
|
|
2590
|
+
### ๐ข Enterprise & Team Governance
|
|
2591
|
+
* **Team Governance & Encrypted Handoff:** Centrally deploy redaction rules, audit logs, and zero-knowledge session handoff with **PrivacyScrubber TEAMS** ($99/mo flat): [privacyscrubber.com/teams](https://privacyscrubber.com/teams?src=mcp_audit_export)
|
|
2592
|
+
* **Backend Microservices & RAG Pipelines:** Integrate in-memory sanitization (<1ms) into your Node.js/Python infrastructure with **Developer SDK** ($299/mo): [privacyscrubber.com/sdk](https://privacyscrubber.com/sdk/?src=mcp_audit_export)
|
|
2593
|
+
|
|
2570
2594
|
*Certified Offline by PrivacyScrubber Engine v${MCP_VERSION}*
|
|
2571
|
-
*Verify at: https://privacyscrubber.com/features/audit-receipt
|
|
2595
|
+
*Verify at: https://privacyscrubber.com/features/audit-receipt/* | โญ *Star on GitHub: https://github.com/moxno/privacyscrubber-mcp*`;
|
|
2572
2596
|
} else {
|
|
2573
2597
|
// Default: jsonl
|
|
2574
2598
|
outputText = formatJsonlEvent(eventData);
|
|
@@ -2712,7 +2736,7 @@ function performSanitization(text, profile, ignoreList = null, customSessionMap
|
|
|
2712
2736
|
function truncateIfFree(text, isPro, charLimit = 15000) {
|
|
2713
2737
|
if (!isPro && text.length > charLimit) {
|
|
2714
2738
|
mcpLog(`${colors.yellowBold}โ ๏ธ [PrivacyScrubber] Input truncated to ${charLimit.toLocaleString()} characters (Free Tier Limit).${colors.reset}\n${colors.cyan}๐ Set PRIVACYSCRUBBER_KEY to your PRO license key for unlimited size: https://privacyscrubber.com/pricing${colors.reset}\n`);
|
|
2715
|
-
const upsellNotice = `\n\n[PrivacyScrubber Free Tier: Payload truncated to ${charLimit.toLocaleString()} chars. Upgrade to PRO ($15/mo or $110 Lifetime) or Developer SDK ($
|
|
2739
|
+
const upsellNotice = `\n\n[PrivacyScrubber Free Tier: Payload truncated to ${charLimit.toLocaleString()} chars. Upgrade to PRO ($15/mo or $110 Lifetime) or Developer SDK ($299/mo) for unlimited payload processing: https://privacyscrubber.com/pricing]`;
|
|
2716
2740
|
return { processedText: text.substring(0, charLimit), wasTruncated: true, upsellNotice, charLimit };
|
|
2717
2741
|
}
|
|
2718
2742
|
return { processedText: text, wasTruncated: false, upsellNotice: "", charLimit };
|
|
@@ -2724,7 +2748,7 @@ server.connect(transport).then(() => {
|
|
|
2724
2748
|
mcpLog(`${colors.greenBold}โ
PrivacyScrubber ZTDS MCP Server v${MCP_VERSION} started successfully.${colors.reset}\n`);
|
|
2725
2749
|
mcpLog(`${colors.cyan}๐ฆ Need programmatic in-code redaction? Try: npm install @privacyscrubber/sdk${colors.reset}\n`);
|
|
2726
2750
|
mcpLog(`${colors.yellowBold}โญ Star us on GitHub: https://github.com/moxno/privacyscrubber-mcp${colors.reset}\n`);
|
|
2727
|
-
mcpLog(`${colors.cyan}๐ Developer SDK & Enterprise: https://privacyscrubber.com/
|
|
2751
|
+
mcpLog(`${colors.cyan}๐ Developer SDK & Enterprise: https://privacyscrubber.com/sdk/${colors.reset}\n`);
|
|
2728
2752
|
}).catch((error) => {
|
|
2729
2753
|
console.error("Failed to connect MCP server transport:", error);
|
|
2730
2754
|
process.exit(1);
|
package/install.js
CHANGED
|
@@ -288,10 +288,13 @@ Options:
|
|
|
288
288
|
console.log(`[SUMMARY] ${options.remove ? 'Cleaned' : 'Configured'} ${configuredCount} AI client(s) successfully.`);
|
|
289
289
|
if (!options.remove) {
|
|
290
290
|
console.log('Next step: Restart your AI IDE or Claude Desktop to activate PrivacyScrubber.');
|
|
291
|
+
console.log('\x1b[33mโญ Enjoying zero-trust privacy? Star the repo on GitHub: https://github.com/moxno/privacyscrubber-mcp\x1b[0m');
|
|
292
|
+
console.log('\x1b[90m One-click CLI: gh repo star moxno/privacyscrubber-mcp\x1b[0m');
|
|
291
293
|
}
|
|
292
294
|
} else {
|
|
293
295
|
console.log('[SUMMARY] No active client configurations were modified.');
|
|
294
296
|
console.log('Tip: Run with --all or specify client directly (--cursor, --claude, --windsurf).');
|
|
297
|
+
console.log('โญ GitHub Repository: https://github.com/moxno/privacyscrubber-mcp');
|
|
295
298
|
}
|
|
296
299
|
console.log('--------------------------------------------------\n');
|
|
297
300
|
|
package/manifest.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"manifest_version": "0.3",
|
|
3
3
|
"name": "privacyscrubber/pii-masking-mcp",
|
|
4
|
-
"version": "2.2.
|
|
4
|
+
"version": "2.2.7",
|
|
5
5
|
"description": "CISO-Approved Zero-Trust PII & Secrets Redaction MCP Server for Cursor, Windsurf, and Claude Desktop. Prevent API leaks and comply with HIPAA/SOC 2 locally.",
|
|
6
6
|
"author": {
|
|
7
7
|
"name": "PrivacyScrubber",
|
|
@@ -32,6 +32,22 @@
|
|
|
32
32
|
{
|
|
33
33
|
"name": "sanitize_file",
|
|
34
34
|
"description": "Reads a local file, sanitizes its contents using the selected profile, and outputs the safe version for AI analysis. Securely keeps original identifiers in memory."
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
"name": "audit_directory_for_pii",
|
|
38
|
+
"description": "Audits a local directory or project tree for PII, secrets, and compliance vulnerabilities without sending data to any external server."
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
"name": "generate_compliance_report",
|
|
42
|
+
"description": "Generates a structured compliance report (GDPR, HIPAA, SOC 2, PCI DSS) and enterprise CISO audit receipt for the current session or workspace."
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
"name": "export_audit_log",
|
|
46
|
+
"description": "Exports a zero-knowledge immutable audit receipt verifying zero-egress data sanitization for compliance documentation."
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
"name": "guard_exec",
|
|
50
|
+
"description": "Sanitizes command line execution strings and arguments for autonomous AI agents prior to tool dispatch."
|
|
35
51
|
}
|
|
36
52
|
],
|
|
37
53
|
"user_config": {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@privacyscrubber/mcp-server",
|
|
3
|
-
"version": "2.2.
|
|
3
|
+
"version": "2.2.7",
|
|
4
4
|
"mcpName": "io.github.moxno/privacyscrubber-mcp",
|
|
5
5
|
"description": "CISO-Approved Zero-Trust PII & Secrets Redaction MCP Server for Cursor, Windsurf, and Claude Desktop. Prevent API leaks and comply with HIPAA/SOC 2 locally.",
|
|
6
6
|
"main": "index.js",
|
package/pii-masking-run.js
CHANGED
|
@@ -243,7 +243,7 @@ function performSanitization(text) {
|
|
|
243
243
|
}
|
|
244
244
|
}
|
|
245
245
|
|
|
246
|
-
return result.scrubbedText + (wasTruncated ? `\n\n[PrivacyScrubber Free Tier: Payload truncated to ${limit.toLocaleString()} characters. Upgrade to PRO ($15/mo or $110 Lifetime) or Developer SDK ($
|
|
246
|
+
return result.scrubbedText + (wasTruncated ? `\n\n[PrivacyScrubber Free Tier: Payload truncated to ${limit.toLocaleString()} characters. Upgrade to PRO ($15/mo or $110 Lifetime) or Developer SDK ($299/mo) for unlimited payload processing: https://privacyscrubber.com/pricing]` : '');
|
|
247
247
|
}
|
|
248
248
|
|
|
249
249
|
function buildCisoAuditTelemetry(currentTokenMap = {}) {
|
|
@@ -305,7 +305,7 @@ function emitProofFeedback() {
|
|
|
305
305
|
if (isQuiet) return;
|
|
306
306
|
|
|
307
307
|
if (sessionWasTruncated) {
|
|
308
|
-
process.stderr.write(`\x1b[33m[ps-guard] Free Tier limit reached (${sessionTruncatedLimit.toLocaleString()} chars). Upgrade to PRO ($15/mo) or Developer SDK ($
|
|
308
|
+
process.stderr.write(`\x1b[33m[ps-guard] Free Tier limit reached (${sessionTruncatedLimit.toLocaleString()} chars). Upgrade to PRO ($15/mo) or Developer SDK ($299/mo): https://privacyscrubber.com/pricing\x1b[0m\n`);
|
|
309
309
|
}
|
|
310
310
|
|
|
311
311
|
const totalMasked = Object.keys(localSessionMap).length;
|
|
@@ -437,7 +437,7 @@ Before reading sensitive files, running terminal commands that may print credent
|
|
|
437
437
|
generatedFiles.forEach(f => console.log(` - ${f}`));
|
|
438
438
|
console.log(`\nSupport open-source Zero-Trust AI tools:`);
|
|
439
439
|
console.log(` GitHub Star: https://github.com/moxno/privacyscrubber-mcp (or: gh repo star moxno/privacyscrubber-mcp)`);
|
|
440
|
-
console.log(` Backend SDK: npm install @privacyscrubber/sdk (https://privacyscrubber.com/
|
|
440
|
+
console.log(` Backend SDK: npm install @privacyscrubber/sdk (https://privacyscrubber.com/sdk/)`);
|
|
441
441
|
process.exit(0);
|
|
442
442
|
}
|
|
443
443
|
|
package/ps-license-manager.cjs
CHANGED
|
@@ -8,4 +8,4 @@
|
|
|
8
8
|
* via any medium, is strictly prohibited. Protected by international copyright
|
|
9
9
|
* laws and treaties.
|
|
10
10
|
*/
|
|
11
|
-
const _0x439825=_0x206a,_0x162bd5=_0x206a;function _0x20b4(){const _0x27e479=['mte5nJG4m2fpu2rrqW','zxLk','otG2oa','yxn0xW','mJm4nZy5n1rZALrYBq','nJG4na','oda1nW','y3j5Ca','C3bSAq','q2XVyW','ndaWnW','odKYnq','zxrLyW','nZyWnq','mJu4mq','mJm4oq','ntmXoq','BNnLtq','odK3oq','nta4nG','Bw9JAW','mtyYnG','q29Kzq','mJa2nG','tgLJzq','zgvJCG','yMLUyq','zxHWAq','C3rHCG','su5SCa','ode0mG','nta1oa','mZiXoq','mZG4nG','odmXnW','nJm0nW','nJi0mG','mdG1nW','Aw5JBa','DcbKzq','ndC5nG','DgLVBG','wgLnDW','DcbLEa','BgvUzW','ywLSzq','mZu0ma','nJG5oq','rxjtEq','CgfYCW','nJq5oq','mZyYBvLHCMDl','ChnFBa','zM9YBq','ru5urq','ntaZna','yw5HzW','mJeYnW','nty3ma','ntC0oq','ntGXoa','DhnxAq','vevbtq','mte3mq','mdy0nW','yxnL','nJy4mq','qxzHBW','A0DQBq','mty0oa','nZyXna','mtmZnG','mdG2nq','sgXTAa','zw5KCW','odq5nW','mZq5na','D3vwCW','ody1mG','yMfZzq','ntaZnG','otaZnW','ufmTua','ndC3mG','oti5na','mJzFiq','DKfzsW','mJC2nW','odCYoq','uvLZtG','ndKXnq','odeWnq','ntG4na','mJmZna','zxHW','DgvT','q3jUza','x3rPBq','mtCYoq','nJC4mq','zMLUzq','ywDL','mJe4oa','x1nbta','ufjp','ndq3nW','mJK2ma','nteXoq','mteXmdK2mgneEenyuW','sLDu','nZCWnG','nJKZmG','ze5xzW','mZq4nG','nZmWoa','C3vICW','tM8GAW','mdC1na','lvbjta','nZq3ma','nZqYna','u0rl','ue56sG','ndi1mW','nJqYma','DgfYDa','mZGWmW','mJe1nuXPrunRzq','ndy3oa','BfjMwq','sLDuia','mdq4nq','mte0oq','EgXSzG','mtiXsfruweTb','m3WYFa','q2HHCG','mtqYmq','EKXNEG','ota4ma','nJu1na','DMfSAq','luXjqW','mZGXmW','nZaYmG','zKDSCW','mZy2nZbQrKrqr1G','uur1rW','D3DcsW','nde0oq','tuLesG','nZyWmW','B25fEa','mtiWmq','DuPqzG','ntaXnW','zgvK','CM92Aq','odiXmG','ndu2mG','reThra','yuLjBG','zxHWBW','mta0ma','y2HHCG','DgvK','y29UyW','ndyWoa','ndG4mG','nZq2mq','odK0thHTsxjn','CgvYqW','CgLYzq','Cxzlsq','mJyZnq','mZC2ma','uLnb','CMvWBa','DwrLCW','B0fpCa','mtyWmG','nZK3oq','nJa1nG','mdu5mq','CeXpyW','ndeYoq','mJa2nq','mdmXmq','B24GzG','BgXIyq','mZy5ma','nti0mG','nhWWFa','odu1oq','BM93','Dg9tDa','odyXmG','ntu0nW','mJC2oq','t1qT','qwv2Aq','nZa4nW','CMTYEG','t0vn','DgLLCG','C2XPyW','mtu0oq','zNjVBq','u3nSDq','nJKXmG','mdGYoq','AMDHCa','mdy5na','sg9ysG','uLnbia','BNLIzG','mJCZna','nZm1oa','mZyWoa','mZiYma','otyWoq','nJi2ma','odqYoq','mta5nW','C2v0sq','suXpva','z2v0sq','nZa2mq','mJCXmq','mJuYnW','zxKGCa','uNrOuq','ufmTuG','mZa5nG','ntu4nW','CgfKuW','sw52yq','CMvK','s294AW','odyYoa','otm5nq','ote4mG','otm3oq','mJy4ma','B21HBa','AYbYBW','mZuYmq','vf8Yma','CNrZ','nZmXmG','mJqYoa','mtqXmq','odG1nW','C0v4uW','mtKWnq','Cg93','mZy1mtqXmgzLq3nyAG','u0eT','DhjPBq','otKWma','ugLSBW','CMLUzW','yxzlBq','nJa4mW','mdmYma','nde1mW','A3DMsq','ndi3mdDzBhb3D0K','otaYmG','zgf0Aq','v2L0Aa','ntC0nG','mJG1mG','y2SGyq','ndy4ma','wLreuW','A2v5ia','Exb0Aq','nty5mG','BgvK','oteYnq','rKnMsG','BM9Tyq','nZCXnW','tNffqG','nZu5nq','uLbssq','ote2oq','mtz5uePsEM0','ntK2na','BgLKia','DhjPBG','C3rVCG','vgLTzq','nJmWmW','EKLztW','mJeZmq','ody2mG','ndyZnW','nJiXmq','mtK3na','nta0na','Dg9vCa','C2vLBG','B25bBG','odiZnW','nte1oa','ntaXoq','BhKGza','igzHAq','nZG2oq','Dw5Kzq','ywnL'];_0x20b4=function(){return _0x27e479;};return _0x20b4();}function _0x206a(_0xaa226a,_0x5234d3){_0xaa226a=_0xaa226a-0x98;const _0x20b4a3=_0x20b4();let _0x206ae4=_0x20b4a3[_0xaa226a];if(_0x206a['DchNSI']===undefined){var _0x1c389d=function(_0x536082){const _0x49e87d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4d9334='',_0x56cca0='';for(let _0xd32d73=0x0,_0x3eb01e,_0x4d9ab9,_0x29ddf3=0x0;_0x4d9ab9=_0x536082['charAt'](_0x29ddf3++);~_0x4d9ab9&&(_0x3eb01e=_0xd32d73%0x4?_0x3eb01e*0x40+_0x4d9ab9:_0x4d9ab9,_0xd32d73++%0x4)?_0x4d9334+=String['fromCharCode'](0xff&_0x3eb01e>>(-0x2*_0xd32d73&0x6)):0x0){_0x4d9ab9=_0x49e87d['indexOf'](_0x4d9ab9);}for(let _0x58a49d=0x0,_0x28d6fd=_0x4d9334['length'];_0x58a49d<_0x28d6fd;_0x58a49d++){_0x56cca0+='%'+('00'+_0x4d9334['charCodeAt'](_0x58a49d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x56cca0);};_0x206a['RTedDQ']=_0x1c389d,_0x206a['mFEWIn']={},_0x206a['DchNSI']=!![];}const _0x76fe24=_0x20b4a3[0x0],_0x284a08=_0xaa226a+_0x76fe24,_0x5d3a9e=_0x206a['mFEWIn'][_0x284a08];return!_0x5d3a9e?(_0x206ae4=_0x206a['RTedDQ'](_0x206ae4),_0x206a['mFEWIn'][_0x284a08]=_0x206ae4):_0x206ae4=_0x5d3a9e,_0x206ae4;}(function(_0xde6c5e,_0x506f6c){const _0x329a78={_0x2a2cff:0xc0,_0x53c7f8:0x17e,_0x44a859:0x141,_0x2a9dae:0xeb,_0x2008a4:0x14c,_0x1c40dc:0x161,_0x5b4d91:0x17a,_0x5eca9e:0xd3,_0x3f6ad1:0xc7},_0x49b8cc=_0x206a,_0x1690f8=_0x206a,_0x2fd2ce=_0xde6c5e();while(!![]){try{const _0x3a0462=parseInt(_0x49b8cc(_0x329a78._0x2a2cff))/0x1*(-parseInt(_0x1690f8(0x1ad))/0x2)+-parseInt(_0x49b8cc(_0x329a78._0x53c7f8))/0x3+parseInt(_0x1690f8(0xad))/0x4+parseInt(_0x49b8cc(_0x329a78._0x44a859))/0x5+-parseInt(_0x49b8cc(_0x329a78._0x2a9dae))/0x6*(-parseInt(_0x49b8cc(_0x329a78._0x2008a4))/0x7)+-parseInt(_0x1690f8(_0x329a78._0x1c40dc))/0x8*(parseInt(_0x49b8cc(_0x329a78._0x5b4d91))/0x9)+parseInt(_0x1690f8(_0x329a78._0x5eca9e))/0xa*(parseInt(_0x49b8cc(_0x329a78._0x3f6ad1))/0xb);if(_0x3a0462===_0x506f6c)break;else _0x2fd2ce['push'](_0x2fd2ce['shift']());}catch(_0x21ba74){_0x2fd2ce['push'](_0x2fd2ce['shift']());}}}(_0x20b4,0x7b688),function(_0x4efb31){const _0x1ca3fa={_0x2fa5cd:0x1ae,_0xc41a8d:0x170,_0x48dda7:0xa2,_0x290e96:0x154,_0x4ef281:0xb7,_0x58cd0c:0x1b8,_0x3fda78:0x169,_0x1373f7:0xf6,_0x4d0a3d:0xe4,_0x4cbe7b:0x1b1,_0x528382:0xc1,_0x28ff07:0x9e,_0x4c9d7c:0x100,_0x46e078:0xbf,_0x463e78:0x17c,_0x317c81:0x17f,_0x3bebab:0x134,_0xf219c5:0x174,_0x583cfa:0x14a,_0x383fba:0x180,_0x3d3341:0x15e,_0x3bca8d:0x11d,_0x2e3c86:0xcc,_0x28631a:0xa3,_0x3ac562:0x187,_0x5a2cee:0xa7,_0x3aa532:0x9c,_0x5a88ba:0xda,_0x359f18:0x19a,_0x41aec2:0x1cb,_0x141fb4:0x16b,_0x17e58e:0x1b3,_0x19ee74:0x1c0,_0x23a9f6:0x13d,_0x58c4c8:0x13f,_0x1f6134:0x18a,_0x4b81a5:0x189,_0x81044c:0x148,_0x36f614:0x1ac,_0xb3270f:0xb6,_0x28bc55:0x133,_0x2f828e:0x159,_0xef7c9b:0xe8,_0x44f250:0x125,_0x8d0150:0x119,_0x39993c:0xaa,_0x25929c:0xe9,_0x804846:0x177,_0xda75b4:0x153,_0x35ad66:0xfc,_0x25c564:0x1c2,_0x47699e:0x16e,_0x5f1284:0x12a,_0x23e972:0x130,_0x4183e1:0xd8,_0x5def02:0x173,_0x35b029:0x11a,_0x163bbb:0x105,_0x54106d:0x188,_0x54d2df:0x113,_0x1a1bba:0xa4,_0x4579f0:0x185,_0x21991e:0xca,_0x4c7e54:0xf7,_0x539901:0x1a9,_0x27a729:0x1ba,_0x19756b:0x172,_0x179dee:0x99,_0x2addc4:0x11c,_0x119079:0x15c,_0xd3a46d:0x14d,_0x2e1c18:0x1c5,_0x119fff:0x19e,_0x508f5e:0x124,_0x5e8ff5:0xb0,_0x430ead:0x1a8,_0xf51b32:0xe0,_0x52d28a:0xbd,_0x1db06f:0xb2,_0x32f631:0x102,_0xc53930:0x16a,_0x28fa85:0x1b9,_0x1ee954:0x19d,_0x25de13:0x1c1,_0x10860b:0x198,_0x51d385:0x1cd,_0x2afc70:0x1b4,_0x462733:0x150,_0x3b500a:0x107,_0x590731:0x11e,_0x5476f4:0x13a,_0x4d708a:0x1b5,_0x25404f:0x162,_0x50231b:0xfb,_0x2b65e8:0x16c,_0x2bc6af:0xd6,_0x1adc30:0xab,_0x5a752a:0x1bc,_0x42e1ea:0x126,_0x2c52d4:0x199,_0x4fc9b7:0xdf,_0x2f5523:0xb3,_0x2d81fb:0xb8,_0x37eb52:0x9b,_0x23d16a:0x137,_0x288c7c:0x16d,_0x401ddf:0x132,_0x34629e:0x1a2,_0x5d378a:0x19b,_0x57e629:0x167,_0x1e9800:0x98,_0x1ea2c0:0xf8,_0x3eb329:0x184,_0x23267a:0xd0,_0x4d4b2b:0xea,_0x17c1da:0x11f,_0x2b3c8f:0x19f,_0x3ab576:0x99,_0x340e1a:0x9d,_0x50daa7:0x10a,_0x2e93ff:0x112,_0x189b3c:0xff,_0x18c033:0x144,_0x382fb3:0xdc,_0x26bf51:0x149,_0x109bf2:0x1c6,_0xa3b563:0xf5,_0x5a6f5e:0x115,_0x3970a5:0x1bf,_0x56383f:0xef,_0x4a68ee:0xaf,_0x536f61:0x12b,_0x217fb2:0x160,_0x17a196:0xa5,_0x522ed4:0xf9,_0x2006b0:0xee,_0x5d0888:0x178,_0x3b5b6b:0xa5,_0x13d3cf:0x192,_0x5cf879:0x18b,_0x5c8e9c:0x1b2,_0x2e2bc9:0xa5,_0x4d846a:0x178,_0x351947:0xa5,_0x5024a2:0x1be,_0x4bb245:0x178,_0x4358a0:0xe3,_0x1372f2:0x139,_0x4bb7c6:0x18b,_0xb740c:0x1b2},_0x5cffb={_0x2340fc:0xb5,_0x4855b2:0xde,_0x382886:0x143,_0x3ef131:0x16f,_0x2510c6:0xec,_0x35f5a6:0x1bb,_0x433b0c:0x182,_0x1763d6:0x18e,_0x44c8d0:0x166,_0x244a9e:0x103,_0xf94dc1:0x165,_0x4aa8d7:0xa6,_0x37a3da:0x165,_0x349dc1:0x123,_0x3bb8bf:0xa0,_0x5c5825:0xd5,_0x5f190f:0x166,_0x3cc248:0xa6,_0x3dd180:0xa0,_0x55bb70:0x1ae,_0x31a4cb:0x170,_0x2561af:0xa2,_0x4e916d:0x104,_0x208eaf:0x146,_0x48c90b:0x166,_0x4a697f:0x171,_0x5056da:0x135,_0x559da5:0x183,_0x4927d1:0xfe,_0x282682:0x152,_0x296314:0x186,_0x230dd5:0xe6,_0x498a4d:0xa5,_0x52a380:0x196,_0x41ab39:0x1b7,_0x48d952:0x1cc,_0x3e8902:0x122,_0x2d3b12:0x164,_0x4cafe1:0x190,_0xb5574e:0x1a6,_0x505c0:0xbe,_0x2157bb:0xf9,_0x14dcd7:0x15a,_0x5023b3:0xb4,_0x234809:0x114,_0x2f09b8:0x1b8,_0x470d7d:0xd9,_0x266356:0xed,_0x51a7a5:0x145,_0x26ea20:0x145,_0x2cab0d:0x1a5,_0x395d57:0x1a1,_0x3209a1:0x181,_0x1cee2c:0x1a3,_0x29de0f:0x176,_0x3650e3:0x158,_0x2d2b28:0x196,_0x1cb7ae:0x1b7,_0x124b63:0x129,_0x2450ca:0x142,_0x4dba53:0xb4,_0x1cefdc:0x1a6,_0xd48724:0x1a6,_0x2752f7:0x104,_0x109bb6:0x12c,_0x4d10cd:0xe1,_0x6a4033:0x196,_0x351369:0x1b7,_0x137afe:0x154,_0x31e0e3:0xcf,_0x5afe61:0x14b,_0x3ba103:0x1a6,_0x4502ac:0xb1,_0x111d17:0xd9,_0x5ac048:0xed,_0x51c0f4:0xf1,_0xcb9537:0x195,_0x52c057:0x117,_0x224533:0x156,_0x3d86c0:0xfd,_0x4795e7:0x1a7,_0x3611c4:0x1a6,_0xd8d932:0xa9,_0x4e4dfb:0xf4,_0x2bba52:0x10c,_0xbb63df:0x1b0,_0x41b96c:0xf3,_0x3f5b6d:0xa8,_0x19f48a:0x138,_0x4d3c32:0x1c7,_0x54465c:0x12c,_0x38471d:0xbe,_0x31c38e:0x196,_0x276aa6:0x118,_0xf568b8:0x1a6,_0x5e0d05:0xf2,_0x46f73a:0x179,_0x2ab95b:0x1a6,_0x4ea927:0x147,_0x1afadd:0xe5,_0x4e91a7:0x190,_0x38df69:0x104,_0x610b9:0x12c,_0x35e1be:0xbe,_0x591b6f:0x104,_0x5bfc90:0x146,_0x275313:0xc6,_0x5acd1d:0x1c4,_0x46b454:0x14f,_0x268121:0xf2,_0x24e2a6:0x179,_0x125104:0x1ab,_0x52b95c:0x9f,_0x161c15:0xa9,_0x4390cb:0xd9,_0x358891:0xed,_0x1b4ec3:0xed,_0x5246e0:0xc3,_0x3756ea:0xce,_0xd64025:0x14e,_0xb7d1bc:0xfd,_0x381e76:0x12d,_0x1b0aea:0x163,_0x28240f:0x1af},_0x443ef3={_0x3bc6ea:0x1a6,_0xfcd71a:0x1a4,_0x531f27:0x15d,_0x48737d:0xd2,_0x18ca32:0x114,_0x2ef5f0:0xe5,_0x57dbb0:0x190,_0x5a3bcb:0x1a4,_0x5ef1de:0x182,_0xd24546:0x109,_0x2b847e:0x128,_0x25eefb:0xcb,_0x2bb4c8:0x1d0,_0x2436f9:0x197,_0x2a2275:0x9a,_0x4d4076:0x10b,_0x169719:0xd7,_0x29d4ef:0xd4,_0x1498bb:0x128},_0x1309c5={_0x3ecfaa:0x1bd,_0x1e87c7:0x1a6,_0xe3a0b1:0xe5,_0x5c9a5d:0x104,_0x6dec7c:0x12c,_0x47aa75:0xbe,_0x571cf1:0x128},_0x4139a2={_0x3c9e55:0x146,_0x2cb61f:0xd2,_0x47c986:0x1a6,_0x4c2649:0x110,_0x1d6490:0xc9,_0x18b0d4:0x190,_0x91fdcc:0x111,_0x3a2a93:0xb4},_0x97c2bc={_0x13ed22:0x1aa},_0x5095c1=_0x206a,_0x4c8a28=_0x206a,_0x501370={'ErSye':function(_0x54f72c,_0x3b1c7f){return _0x54f72c===_0x3b1c7f;},'lRfYI':function(_0x443929,_0x10c487){return _0x443929/_0x10c487;},'HoXJc':function(_0x11836d,_0x44c3f4){return _0x11836d*_0x44c3f4;},'fGlsW':function(_0x125ac1,_0x46b8e5){return _0x125ac1%_0x46b8e5;},'Sslup':function(_0x3d5156,_0x36ad01,_0x32f8e7){return _0x3d5156(_0x36ad01,_0x32f8e7);},'Avaow':function(_0x63f3a9,_0x150564){return _0x63f3a9<_0x150564;},'RthQL':function(_0x4e6c53,_0x15459a){return _0x4e6c53+_0x15459a;},'HlmhB':function(_0x3ab669,_0x3cae85){return _0x3ab669>>>_0x3cae85;},'Koxkr':function(_0x29f86b,_0x422f9d){return _0x29f86b-_0x422f9d;},'wuVsK':function(_0x45589a,_0x6e515d){return _0x45589a<_0x6e515d;},'XiMwx':function(_0x2ca385,_0x26b4d5){return _0x2ca385*_0x26b4d5;},'NqEBA':function(_0x402762,_0x416256){return _0x402762-_0x416256;},'jgapJ':function(_0x162aa7,_0x16f5e1){return _0x162aa7<_0x16f5e1;},'PNzJj':function(_0x319889,_0x32ad22){return _0x319889<<_0x32ad22;},'AeviP':function(_0x46497b,_0x14efd4){return _0x46497b-_0x14efd4;},'zLgzZ':function(_0x49633a,_0x40eb74){return _0x49633a&_0x40eb74;},'zIYOL':function(_0x378cf2,_0x5c02ba){return _0x378cf2<_0x5c02ba;},'uJPfG':function(_0x1dfb8a,_0x1c9bef){return _0x1dfb8a^_0x1c9bef;},'vAYKw':function(_0x245c74,_0x193290){return _0x245c74^_0x193290;},'INlpF':function(_0x59dcff,_0x2ac382,_0x3082cb){return _0x59dcff(_0x2ac382,_0x3082cb);},'QYsNk':function(_0x572ae6,_0x3562b0){return _0x572ae6^_0x3562b0;},'rkrzg':function(_0x19abff,_0x493de7){return _0x19abff&_0x493de7;},'MIDJS':function(_0x55c64c,_0x2debe2){return _0x55c64c&_0x2debe2;},'aIInC':function(_0x28983d,_0x3a058c){return _0x28983d+_0x3a058c;},'QDuGi':function(_0x24a4ed,_0x1f2f60){return _0x24a4ed<_0x1f2f60;},'wwBKv':_0x5095c1(_0x1ca3fa._0x2fa5cd)+_0x5095c1(0x17d)+_0x4c8a28(_0x1ca3fa._0xc41a8d)+_0x4c8a28(_0x1ca3fa._0x48dda7)+'e','CrndB':function(_0x40251c,_0x5f46fb,_0x9001d7,_0x27946b){return _0x40251c(_0x5f46fb,_0x9001d7,_0x27946b);},'pLOcm':function(_0x5686b9,_0x47ac39){return _0x5686b9(_0x47ac39);},'FCfJb':_0x5095c1(_0x1ca3fa._0x290e96)+_0x5095c1(_0x1ca3fa._0x4ef281)+_0x4c8a28(0x108),'DKGDZ':function(_0xcbb0d1,_0x16a6a0){return _0xcbb0d1+_0x16a6a0;},'kwfIP':function(_0x5ef462,_0x5d64d2){return _0x5ef462>=_0x5d64d2;},'dNWgN':function(_0x270c6d,_0x34362a){return _0x270c6d(_0x34362a);},'oAOpc':_0x5095c1(_0x1ca3fa._0x58cd0c)+'S','nybfR':_0x5095c1(0x17b),'avKmh':function(_0x3cac04,_0x1dfc0e){return _0x3cac04<_0x1dfc0e;},'xllfw':function(_0x2f2713,_0x3f5585){return _0x2f2713+_0x3f5585;},'sExSS':_0x4c8a28(_0x1ca3fa._0x3fda78)+_0x4c8a28(_0x1ca3fa._0x1373f7)+_0x4c8a28(_0x1ca3fa._0x4d0a3d)+_0x5095c1(_0x1ca3fa._0x4cbe7b)+_0x4c8a28(_0x1ca3fa._0x528382)+_0x4c8a28(_0x1ca3fa._0x28ff07)+_0x4c8a28(_0x1ca3fa._0x4c9d7c)+_0x4c8a28(_0x1ca3fa._0x46e078)+_0x5095c1(_0x1ca3fa._0x463e78)+_0x4c8a28(_0x1ca3fa._0x317c81)+_0x5095c1(_0x1ca3fa._0x3bebab)+_0x5095c1(_0x1ca3fa._0xf219c5)+_0x5095c1(_0x1ca3fa._0x583cfa)+_0x5095c1(_0x1ca3fa._0x383fba)+_0x5095c1(_0x1ca3fa._0x3d3341)+_0x5095c1(0x11b)+_0x5095c1(_0x1ca3fa._0x3bca8d)+_0x5095c1(_0x1ca3fa._0x2e3c86)+_0x5095c1(0x13b)+_0x4c8a28(_0x1ca3fa._0x28631a)+_0x4c8a28(_0x1ca3fa._0x3ac562)+_0x4c8a28(0x157)+_0x5095c1(_0x1ca3fa._0x5a2cee)+_0x5095c1(_0x1ca3fa._0x3aa532)+_0x5095c1(0xcd)+_0x4c8a28(_0x1ca3fa._0x5a88ba)+_0x5095c1(_0x1ca3fa._0x359f18)+_0x4c8a28(_0x1ca3fa._0x41aec2)+_0x4c8a28(_0x1ca3fa._0x141fb4)+_0x5095c1(_0x1ca3fa._0x17e58e)+_0x4c8a28(_0x1ca3fa._0x19ee74)+_0x5095c1(_0x1ca3fa._0x23a9f6)+_0x4c8a28(_0x1ca3fa._0x58c4c8)+_0x5095c1(_0x1ca3fa._0x1f6134)+_0x5095c1(_0x1ca3fa._0x4b81a5)+_0x5095c1(_0x1ca3fa._0x81044c)+_0x5095c1(_0x1ca3fa._0x36f614)+_0x5095c1(_0x1ca3fa._0xb3270f)+_0x4c8a28(_0x1ca3fa._0x28bc55)+_0x4c8a28(_0x1ca3fa._0x2f828e)+_0x4c8a28(_0x1ca3fa._0xef7c9b)+_0x4c8a28(0x120)+_0x4c8a28(_0x1ca3fa._0x44f250)+_0x4c8a28(_0x1ca3fa._0x8d0150)+_0x5095c1(_0x1ca3fa._0x39993c)+_0x4c8a28(0xc4)+_0x4c8a28(_0x1ca3fa._0x25929c)+_0x4c8a28(_0x1ca3fa._0x804846)+_0x5095c1(_0x1ca3fa._0xda75b4)+_0x4c8a28(0x106)+_0x4c8a28(_0x1ca3fa._0x35ad66)+_0x4c8a28(0xbc)+_0x5095c1(_0x1ca3fa._0x25c564)+_0x5095c1(_0x1ca3fa._0x47699e)+_0x4c8a28(_0x1ca3fa._0x5f1284)+_0x4c8a28(_0x1ca3fa._0x23e972)+_0x4c8a28(_0x1ca3fa._0x4183e1)+_0x5095c1(0xc5)+_0x5095c1(0xfa)+_0x5095c1(0x10f)+_0x4c8a28(0x18d)+_0x5095c1(_0x1ca3fa._0x5def02)+_0x5095c1(_0x1ca3fa._0x35b029)+_0x5095c1(0x18f)+_0x4c8a28(_0x1ca3fa._0x163bbb)+_0x4c8a28(_0x1ca3fa._0x54106d)+_0x4c8a28(_0x1ca3fa._0x54d2df)+_0x5095c1(_0x1ca3fa._0x1a1bba)+_0x5095c1(_0x1ca3fa._0x4579f0)+_0x5095c1(0x19c)+_0x4c8a28(_0x1ca3fa._0x21991e)+_0x4c8a28(_0x1ca3fa._0x4c7e54)+_0x5095c1(_0x1ca3fa._0x539901)+_0x4c8a28(0x18c)+_0x4c8a28(_0x1ca3fa._0x27a729)+_0x5095c1(_0x1ca3fa._0x19756b)+_0x5095c1(_0x1ca3fa._0x179dee)+_0x4c8a28(_0x1ca3fa._0x2addc4)+_0x5095c1(_0x1ca3fa._0x119079)+_0x4c8a28(_0x1ca3fa._0xd3a46d)+_0x4c8a28(0x1b6)+_0x4c8a28(_0x1ca3fa._0x2e1c18)+_0x5095c1(_0x1ca3fa._0x119fff)+_0x5095c1(_0x1ca3fa._0x508f5e)+_0x5095c1(_0x1ca3fa._0x5e8ff5)+_0x4c8a28(_0x1ca3fa._0x430ead)+_0x4c8a28(_0x1ca3fa._0xf51b32)+_0x5095c1(0x1c8)+_0x4c8a28(_0x1ca3fa._0x52d28a)+_0x4c8a28(0xb9)+_0x4c8a28(_0x1ca3fa._0x1db06f)+_0x4c8a28(_0x1ca3fa._0x32f631)+_0x5095c1(_0x1ca3fa._0xc53930)+_0x5095c1(_0x1ca3fa._0x28fa85)+_0x5095c1(_0x1ca3fa._0x1ee954)+_0x5095c1(_0x1ca3fa._0x25de13)+_0x4c8a28(_0x1ca3fa._0x10860b)+_0x5095c1(0x131)+_0x4c8a28(_0x1ca3fa._0x51d385)+_0x4c8a28(_0x1ca3fa._0x2afc70)+_0x4c8a28(_0x1ca3fa._0x462733)+_0x5095c1(_0x1ca3fa._0x3b500a)+_0x4c8a28(_0x1ca3fa._0x590731)+_0x4c8a28(_0x1ca3fa._0x5476f4)+_0x5095c1(_0x1ca3fa._0x4d708a)+_0x5095c1(_0x1ca3fa._0x25404f)+_0x4c8a28(_0x1ca3fa._0x50231b)+_0x5095c1(0x1ce)+_0x5095c1(_0x1ca3fa._0x2b65e8)+_0x4c8a28(_0x1ca3fa._0x2bc6af)+_0x5095c1(_0x1ca3fa._0x1adc30)+_0x5095c1(_0x1ca3fa._0x5a752a)+_0x5095c1(_0x1ca3fa._0x42e1ea)+_0x5095c1(_0x1ca3fa._0x2c52d4)+_0x5095c1(0xf0)+_0x4c8a28(_0x1ca3fa._0x4fc9b7)+_0x5095c1(_0x1ca3fa._0x2f5523)+_0x4c8a28(_0x1ca3fa._0x2d81fb)+_0x5095c1(_0x1ca3fa._0x37eb52)+_0x4c8a28(_0x1ca3fa._0x23d16a)+_0x4c8a28(_0x1ca3fa._0x288c7c)+_0x4c8a28(0xd1)+_0x5095c1(_0x1ca3fa._0x401ddf)+_0x4c8a28(_0x1ca3fa._0x34629e)+_0x4c8a28(_0x1ca3fa._0x5d378a)+_0x4c8a28(_0x1ca3fa._0x57e629)+_0x4c8a28(0x1ca)+_0x5095c1(0xac)+_0x5095c1(0x191)+_0x5095c1(_0x1ca3fa._0x1e9800)+_0x5095c1(_0x1ca3fa._0x1ea2c0)+_0x4c8a28(_0x1ca3fa._0x3eb329)+_0x5095c1(0x151)+_0x5095c1(_0x1ca3fa._0x23267a)+_0x5095c1(_0x1ca3fa._0x4d4b2b)+_0x4c8a28(_0x1ca3fa._0x17c1da)+_0x4c8a28(_0x1ca3fa._0x2b3c8f)+_0x5095c1(_0x1ca3fa._0x3ab576)+_0x4c8a28(_0x1ca3fa._0x340e1a)+_0x5095c1(_0x1ca3fa._0x50daa7)+_0x4c8a28(_0x1ca3fa._0x2e93ff)+_0x4c8a28(_0x1ca3fa._0x189b3c)+_0x4c8a28(_0x1ca3fa._0x18c033)+_0x4c8a28(_0x1ca3fa._0x382fb3)+_0x5095c1(_0x1ca3fa._0x26bf51)+_0x4c8a28(_0x1ca3fa._0x109bf2)+_0x5095c1(_0x1ca3fa._0xa3b563)+_0x4c8a28(_0x1ca3fa._0x5a6f5e)+_0x4c8a28(_0x1ca3fa._0x3970a5)+_0x4c8a28(_0x1ca3fa._0x56383f)+_0x4c8a28(0x13c)+_0x4c8a28(_0x1ca3fa._0x4a68ee)+_0x5095c1(_0x1ca3fa._0x536f61)+_0x4c8a28(_0x1ca3fa._0x217fb2)+'1','qvKIZ':function(_0x19bba3,_0x5c2f91){return _0x19bba3!==_0x5c2f91;},'kGjms':_0x4c8a28(0x178)+_0x4c8a28(_0x1ca3fa._0x17a196)+'d'},_0xff9b2=_0x501370[_0x4c8a28(_0x1ca3fa._0x522ed4)+'m'](BigInt,_0x501370[_0x4c8a28(0x13e)+'S']),_0x1820a6=0x10001n;function _0x305b07(_0x476931,_0x11256c,_0x538496){const _0x2eb16e=_0x5095c1,_0x8a33fc=_0x5095c1;let _0x14c6cc=0x1n;_0x476931=_0x476931%_0x538496;while(_0x11256c>0x0n){if(_0x501370[_0x2eb16e(_0x97c2bc._0x13ed22)+'e'](_0x11256c%0x2n,0x1n))_0x14c6cc=_0x14c6cc*_0x476931%_0x538496;_0x11256c=_0x501370[_0x2eb16e(0xc2)+'I'](_0x11256c,0x2n),_0x476931=_0x501370[_0x2eb16e(0x116)+'c'](_0x476931,_0x476931)%_0x538496;}return _0x14c6cc;}function _0x3e5234(_0x2ba351){const _0x57dcb6=_0x4c8a28,_0x3df703=_0x4c8a28;let _0x1b716e=_0x2ba351[_0x57dcb6(0x104)+_0x3df703(_0x4139a2._0x3c9e55)](0x10);if(_0x501370[_0x3df703(_0x4139a2._0x2cb61f)+'W'](_0x1b716e[_0x57dcb6(_0x4139a2._0x47c986)+'th'],0x2)!==0x0)_0x1b716e='0'+_0x1b716e;let _0x403d05='';for(let _0x31b70d=0x0;_0x31b70d<_0x1b716e[_0x57dcb6(_0x4139a2._0x47c986)+'th'];_0x31b70d+=0x2){_0x403d05+=String[_0x57dcb6(_0x4139a2._0x4c2649)+_0x57dcb6(_0x4139a2._0x1d6490)+_0x57dcb6(_0x4139a2._0x18b0d4)](_0x501370[_0x3df703(_0x4139a2._0x91fdcc)+'p'](parseInt,_0x1b716e[_0x3df703(_0x4139a2._0x3a2a93)+'tr'](_0x31b70d,0x2),0x10));}return _0x403d05;}function _0x173689(_0xae8f82){const _0x5f5067=_0x5095c1,_0x2627f1=_0x5095c1;let _0x34125e='';for(let _0x3315d0=0x0;_0x501370[_0x5f5067(_0x1309c5._0x3ecfaa)+'w'](_0x3315d0,_0xae8f82[_0x2627f1(_0x1309c5._0x1e87c7)+'th']);_0x3315d0++){_0x34125e+=_0xae8f82[_0x2627f1(_0x1309c5._0xe3a0b1)+_0x5f5067(0x190)+'At'](_0x3315d0)[_0x5f5067(_0x1309c5._0x5c9a5d)+_0x2627f1(0x146)](0x10)[_0x2627f1(_0x1309c5._0x6dec7c)+_0x5f5067(_0x1309c5._0x47aa75)](0x2,'0');}return BigInt(_0x501370[_0x5f5067(_0x1309c5._0x571cf1)+'L']('0x',_0x34125e));}function _0x3457d7(_0x360b2c){const _0x342195={_0x1400b7:0x1c3,_0x4f390a:0x12f},_0x26efef=_0x5095c1,_0x405af8=_0x5095c1;function _0x1d3339(_0x389c7e,_0x5bfc30){const _0x56d74e=_0x206a,_0x56a06c=_0x206a;return _0x501370[_0x56d74e(_0x342195._0x1400b7)+'B'](_0x389c7e,_0x5bfc30)|_0x389c7e<<_0x501370[_0x56a06c(_0x342195._0x4f390a)+'r'](0x20,_0x5bfc30);}var _0x5cd85c=Math[_0x26efef(0x140)],_0x391e49=_0x5cd85c(0x2,0x20),_0x10c632=_0x405af8(_0x443ef3._0x3bc6ea)+'th',_0x4233f5,_0x2a6158,_0x395607='',_0x77a305=[],_0x3624c4=_0x360b2c[_0x10c632]*0x8,_0x10c3fa=_0x3457d7['h']=_0x3457d7['h']||[],_0x5dd459=_0x3457d7['k']=_0x3457d7['k']||[],_0x1fb000=_0x5dd459[_0x10c632],_0x2649b4={};for(var _0xd9527=0x2;_0x501370[_0x26efef(0x1c7)+'K'](_0x1fb000,0x40);_0xd9527++){if(!_0x2649b4[_0xd9527]){for(_0x4233f5=0x0;_0x4233f5<0x139;_0x4233f5+=_0xd9527){_0x2649b4[_0x4233f5]=_0xd9527;}_0x10c3fa[_0x1fb000]=_0x501370[_0x26efef(_0x443ef3._0xfcd71a)+'x'](_0x5cd85c(_0xd9527,0.5),_0x391e49)|0x0,_0x5dd459[_0x1fb000++]=_0x5cd85c(_0xd9527,0x1/0x3)*_0x391e49|0x0;}}_0x360b2c+='\u0080';while(_0x501370[_0x405af8(_0x443ef3._0x531f27)+'A'](_0x501370[_0x26efef(_0x443ef3._0x48737d)+'W'](_0x360b2c[_0x10c632],0x40),0x38))_0x360b2c+='\x00';for(_0x4233f5=0x0;_0x501370[_0x26efef(_0x443ef3._0x18ca32)+'J'](_0x4233f5,_0x360b2c[_0x10c632]);_0x4233f5++){_0x2a6158=_0x360b2c[_0x26efef(_0x443ef3._0x2ef5f0)+_0x405af8(_0x443ef3._0x57dbb0)+'At'](_0x4233f5);if(_0x2a6158>>0x8)return;_0x77a305[_0x4233f5>>0x2]|=_0x501370[_0x405af8(0xbb)+'j'](_0x2a6158,_0x501370[_0x26efef(_0x443ef3._0x5a3bcb)+'x']((0x3-_0x4233f5)%0x4,0x8));}_0x77a305[_0x77a305[_0x10c632]]=_0x3624c4/_0x391e49|0x0,_0x77a305[_0x77a305[_0x10c632]]=_0x3624c4;for(_0x2a6158=0x0;_0x2a6158<_0x77a305[_0x10c632];){const _0x50556a=(_0x26efef(0xc8)+_0x26efef(0x101)+'1')[_0x405af8(_0x443ef3._0x5ef1de)+'t']('|');let _0xf694b2=0x0;while(!![]){switch(_0x50556a[_0xf694b2++]){case'0':for(_0x4233f5=0x0;_0x501370[_0x405af8(0x1c7)+'K'](_0x4233f5,0x40);_0x4233f5++){var _0x3dc67f=_0x459cac[_0x501370[_0x26efef(_0x443ef3._0xd24546)+'P'](_0x4233f5,0xf)],_0x3bca38=_0x459cac[_0x4233f5-0x2],_0x2df4e5=_0x10c3fa[0x0],_0x5bfe3b=_0x10c3fa[0x4],_0x330692=_0x501370[_0x405af8(_0x443ef3._0x2b847e)+'L'](_0x10c3fa[0x7]+(_0x1d3339(_0x5bfe3b,0x6)^_0x1d3339(_0x5bfe3b,0xb)^_0x1d3339(_0x5bfe3b,0x19)),_0x501370[_0x26efef(_0x443ef3._0x25eefb)+'Z'](_0x5bfe3b,_0x10c3fa[0x5])^~_0x5bfe3b&_0x10c3fa[0x6])+_0x5dd459[_0x4233f5]+(_0x459cac[_0x4233f5]=_0x501370[_0x405af8(0x168)+'L'](_0x4233f5,0x10)?_0x459cac[_0x4233f5]:_0x459cac[_0x4233f5-0x10]+(_0x1d3339(_0x3dc67f,0x7)^_0x1d3339(_0x3dc67f,0x12)^_0x3dc67f>>>0x3)+_0x459cac[_0x4233f5-0x7]+_0x501370[_0x405af8(0xdb)+'G'](_0x501370[_0x26efef(_0x443ef3._0x2bb4c8)+'w'](_0x1d3339(_0x3bca38,0x11),_0x501370[_0x405af8(_0x443ef3._0x2436f9)+'F'](_0x1d3339,_0x3bca38,0x13)),_0x3bca38>>>0xa)|0x0),_0x5534ff=(_0x501370[_0x405af8(_0x443ef3._0x2a2275)+'k'](_0x1d3339(_0x2df4e5,0x2),_0x1d3339(_0x2df4e5,0xd))^_0x1d3339(_0x2df4e5,0x16))+(_0x501370[_0x405af8(0x1d0)+'w'](_0x2df4e5&_0x10c3fa[0x1],_0x501370[_0x26efef(_0x443ef3._0x4d4076)+'g'](_0x2df4e5,_0x10c3fa[0x2]))^_0x501370[_0x405af8(_0x443ef3._0x169719)+'S'](_0x10c3fa[0x1],_0x10c3fa[0x2]));_0x10c3fa=[_0x330692+_0x5534ff|0x0][_0x405af8(0xe7)+'at'](_0x10c3fa),_0x10c3fa[0x4]=_0x10c3fa[0x4]+_0x330692|0x0;}continue;case'1':for(_0x4233f5=0x0;_0x4233f5<0x8;_0x4233f5++){_0x10c3fa[_0x4233f5]=_0x501370[_0x26efef(0xe2)+'C'](_0x10c3fa[_0x4233f5],_0x49ec04[_0x4233f5])|0x0;}continue;case'2':var _0x49ec04=_0x10c3fa;continue;case'3':var _0x459cac=_0x77a305[_0x405af8(0x10e)+'e'](_0x2a6158,_0x2a6158+=0x10);continue;case'4':_0x10c3fa=_0x10c3fa[_0x26efef(0x10e)+'e'](0x0,0x8);continue;}break;}}for(_0x4233f5=0x0;_0x501370[_0x26efef(_0x443ef3._0x29d4ef)+'i'](_0x4233f5,0x8);_0x4233f5++){for(_0x2a6158=0x3;_0x501370[_0x405af8(_0x443ef3._0x1498bb)+'L'](_0x2a6158,0x1);_0x2a6158--){var _0x354a5e=_0x10c3fa[_0x4233f5]>>_0x2a6158*0x8&0xff;_0x395607+=(_0x354a5e<0x10?0x0:'')+_0x354a5e[_0x405af8(0x104)+_0x405af8(0x146)](0x10);}}return _0x395607;}class LicenseManager{static validate(_0x432249,_0x380a5c={}){const _0x417e27=_0x4c8a28,_0x48c885=_0x4c8a28;if(!_0x432249)return{'valid':![],'tier':null,'reason':_0x417e27(_0x5cffb._0x2340fc)+_0x417e27(0x127)+_0x48c885(_0x5cffb._0x4855b2)+_0x48c885(0xdd)};const _0x343575=_0x432249[_0x417e27(_0x5cffb._0x382886)](),_0x13078e=_0x343575[_0x48c885(_0x5cffb._0x3ef131)+_0x417e27(_0x5cffb._0x2510c6)+_0x48c885(_0x5cffb._0x35f5a6)](),_0x123026=_0x13078e[_0x48c885(_0x5cffb._0x433b0c)+'t']('-'),_0x1b9d44=_0x380a5c[_0x48c885(0x18e)+_0x48c885(0x166)]!==undefined&&_0x380a5c[_0x417e27(_0x5cffb._0x1763d6)+_0x417e27(_0x5cffb._0x44c8d0)]!==null?_0x380a5c[_0x48c885(_0x5cffb._0x1763d6)+_0x417e27(0x166)]:Date[_0x417e27(_0x5cffb._0x244a9e)]();let _0x4d43a4=0x0;_0x380a5c[_0x417e27(_0x5cffb._0xf94dc1)+_0x417e27(_0x5cffb._0x4aa8d7)]&&(_0x4d43a4=parseInt(_0x380a5c[_0x417e27(_0x5cffb._0x37a3da)+_0x417e27(0xa6)][_0x48c885(_0x5cffb._0x349dc1)+_0x48c885(_0x5cffb._0x3bb8bf)](_0x501370[_0x417e27(_0x5cffb._0x5c5825)+'v'])||'0',0xa),(_0x380a5c[_0x48c885(0x18e)+_0x417e27(_0x5cffb._0x5f190f)]===undefined||_0x380a5c[_0x417e27(0x18e)+_0x417e27(_0x5cffb._0x44c8d0)]===null)&&_0x380a5c[_0x48c885(_0x5cffb._0xf94dc1)+_0x48c885(_0x5cffb._0x3cc248)][_0x417e27(0x121)+_0x48c885(_0x5cffb._0x3dd180)](_0x48c885(_0x5cffb._0x55bb70)+_0x417e27(0x17d)+_0x48c885(_0x5cffb._0x31a4cb)+_0x417e27(_0x5cffb._0x2561af)+'e',_0x1b9d44[_0x48c885(_0x5cffb._0x4e916d)+_0x48c885(_0x5cffb._0x208eaf)]()));if((_0x501370[_0x417e27(0x1aa)+'e'](_0x380a5c[_0x417e27(_0x5cffb._0x1763d6)+_0x48c885(_0x5cffb._0x48c90b)],undefined)||_0x380a5c[_0x417e27(0x18e)+_0x48c885(_0x5cffb._0x48c90b)]===null)&&_0x1b9d44<_0x4d43a4){if(_0x380a5c[_0x417e27(_0x5cffb._0x4a697f)+_0x48c885(_0x5cffb._0x5056da)+'y'])_0x380a5c[_0x417e27(_0x5cffb._0x4a697f)+_0x417e27(_0x5cffb._0x5056da)+'y']();return{'valid':![],'tier':null,'reason':_0x417e27(_0x5cffb._0x559da5)+_0x48c885(0x136)+_0x48c885(_0x5cffb._0x4927d1)+_0x48c885(_0x5cffb._0x282682)+_0x417e27(0x15b)+_0x417e27(0x175)+_0x417e27(_0x5cffb._0x296314)+_0x48c885(_0x5cffb._0x230dd5)};}const _0x322082=typeof atob!==_0x417e27(0x178)+_0x48c885(_0x5cffb._0x498a4d)+'d'?atob:_0x375f7f=>Buffer[_0x417e27(0x110)](_0x375f7f,_0x48c885(0x1c9)+'64')[_0x48c885(0x104)+_0x417e27(0x146)](_0x48c885(0x194)+'ry');if(_0x13078e[_0x48c885(_0x5cffb._0x52a380)+_0x48c885(_0x5cffb._0x41ab39)+'th'](_0x48c885(_0x5cffb._0x48d952)+_0x417e27(_0x5cffb._0x3e8902)+'-'))try{const _0x2442b7=_0x343575[_0x417e27(0xb4)+_0x48c885(_0x5cffb._0x2d3b12)+'g'](0x9),_0x336002=_0x322082(_0x2442b7),_0x344848=new Uint8Array(_0x336002[_0x48c885(0x1a6)+'th']);for(let _0x5779c0=0x0;_0x501370[_0x48c885(0x1c7)+'K'](_0x5779c0,_0x336002[_0x417e27(0x1a6)+'th']);_0x5779c0++){_0x344848[_0x5779c0]=_0x336002[_0x48c885(0xe5)+_0x48c885(_0x5cffb._0x4cafe1)+'At'](_0x5779c0);}let _0x20587a='';for(let _0x20c110=0x0;_0x20c110<_0x344848[_0x48c885(_0x5cffb._0xb5574e)+'th'];_0x20c110++){_0x20587a+=_0x344848[_0x20c110][_0x48c885(_0x5cffb._0x4e916d)+_0x417e27(_0x5cffb._0x208eaf)](0x10)[_0x48c885(0x12c)+_0x48c885(_0x5cffb._0x505c0)](0x2,'0');}const _0x145fcb=BigInt('0x'+_0x20587a),_0x487eb7=_0x501370[_0x417e27(0xa1)+'B'](_0x305b07,_0x145fcb,_0x1820a6,_0xff9b2),_0x54d115=_0x501370[_0x48c885(_0x5cffb._0x2157bb)+'m'](_0x3e5234,_0x487eb7);if(_0x54d115[_0x48c885(_0x5cffb._0x52a380)+_0x417e27(_0x5cffb._0x41ab39)+'th'](_0x501370[_0x417e27(_0x5cffb._0x14dcd7)+'b'])){const _0x570c2c=parseInt(_0x54d115[_0x48c885(_0x5cffb._0x5023b3)+_0x417e27(0x164)+'g'](0xb),0xa);if(!isNaN(_0x570c2c)){if(_0x501370[_0x417e27(_0x5cffb._0x234809)+'J'](_0x1b9d44,_0x570c2c))return{'valid':!![],'tier':_0x48c885(_0x5cffb._0x2f09b8)+'S','expires':_0x570c2c};if(_0x380a5c[_0x48c885(_0x5cffb._0x470d7d)+_0x48c885(_0x5cffb._0x266356)+'d'])_0x380a5c[_0x417e27(_0x5cffb._0x470d7d)+_0x48c885(0xed)+'d'](_0x48c885(_0x5cffb._0x51a7a5)+'t');return{'valid':![],'tier':null,'reason':_0x417e27(_0x5cffb._0x26ea20)+_0x417e27(_0x5cffb._0x2cab0d)+_0x48c885(_0x5cffb._0x266356)+'d'};}}}catch(_0x1b0667){return{'valid':![],'tier':null,'reason':_0x417e27(_0x5cffb._0x26ea20)+_0x417e27(_0x5cffb._0x395d57)+_0x48c885(_0x5cffb._0x3209a1)+_0x48c885(_0x5cffb._0x1cee2c)+_0x48c885(_0x5cffb._0x29de0f)+_0x417e27(_0x5cffb._0x3650e3)};}if(_0x13078e[_0x48c885(_0x5cffb._0x2d2b28)+_0x48c885(_0x5cffb._0x1cb7ae)+'th'](_0x417e27(_0x5cffb._0x124b63)+_0x417e27(_0x5cffb._0x2450ca)))try{const _0x52da78=_0x343575[_0x48c885(_0x5cffb._0x4dba53)+_0x48c885(_0x5cffb._0x2d3b12)+'g'](0x7),_0x2f1ceb=_0x322082(_0x52da78),_0x573c7a=new Uint8Array(_0x2f1ceb[_0x417e27(0x1a6)+'th']);for(let _0x4cec16=0x0;_0x4cec16<_0x2f1ceb[_0x48c885(_0x5cffb._0x1cefdc)+'th'];_0x4cec16++){_0x573c7a[_0x4cec16]=_0x2f1ceb[_0x48c885(0xe5)+_0x417e27(_0x5cffb._0x4cafe1)+'At'](_0x4cec16);}let _0x3dccdd='';for(let _0x2ac922=0x0;_0x2ac922<_0x573c7a[_0x417e27(_0x5cffb._0xd48724)+'th'];_0x2ac922++){_0x3dccdd+=_0x573c7a[_0x2ac922][_0x417e27(_0x5cffb._0x2752f7)+_0x417e27(0x146)](0x10)[_0x417e27(_0x5cffb._0x109bb6)+_0x417e27(_0x5cffb._0x505c0)](0x2,'0');}const _0x4d9c96=BigInt(_0x501370[_0x417e27(_0x5cffb._0x4d10cd)+'Z']('0x',_0x3dccdd)),_0x1dd4a2=_0x305b07(_0x4d9c96,_0x1820a6,_0xff9b2),_0x3f9a22=_0x3e5234(_0x1dd4a2);if(_0x3f9a22[_0x48c885(_0x5cffb._0x6a4033)+_0x417e27(_0x5cffb._0x351369)+'th'](_0x417e27(_0x5cffb._0x137afe)+_0x48c885(_0x5cffb._0x31e0e3)+'-')){const _0x4ebc96=_0x3f9a22[_0x48c885(0x182)+'t']('-');if(_0x501370[_0x48c885(_0x5cffb._0x5afe61)+'P'](_0x4ebc96[_0x417e27(_0x5cffb._0x3ba103)+'th'],0x5)){const _0x153483=_0x4ebc96[0x2],_0x374b5b=parseInt(_0x4ebc96[0x4],0xa);if(!_0x501370[_0x48c885(_0x5cffb._0x4502ac)+'N'](isNaN,_0x374b5b)){if(_0x1b9d44<_0x374b5b)return{'valid':!![],'tier':_0x153483,'expires':_0x374b5b};if(_0x380a5c[_0x417e27(_0x5cffb._0x111d17)+_0x48c885(_0x5cffb._0x266356)+'d'])_0x380a5c[_0x417e27(0xd9)+_0x48c885(_0x5cffb._0x5ac048)+'d'](_0x417e27(_0x5cffb._0x51c0f4));return{'valid':![],'tier':null,'reason':_0x48c885(0x117)+_0x417e27(0x155)+_0x48c885(_0x5cffb._0xcb9537)+_0x417e27(0x12e)};}}}}catch(_0x2be1a1){return{'valid':![],'tier':null,'reason':_0x48c885(_0x5cffb._0x52c057)+_0x417e27(0x193)+_0x48c885(_0x5cffb._0x224533)+_0x417e27(_0x5cffb._0x3d86c0)+_0x48c885(_0x5cffb._0x4795e7)+'d'};}if(_0x123026[_0x417e27(_0x5cffb._0x3611c4)+'th']===0x4&&_0x123026[0x0]==='PS'&&[_0x48c885(_0x5cffb._0xd8d932),_0x501370[_0x48c885(_0x5cffb._0x4e4dfb)+'c'],_0x48c885(0xba),_0x417e27(_0x5cffb._0x2bba52),_0x48c885(_0x5cffb._0xbb63df)+_0x48c885(0x15f)+'SE'][_0x48c885(0x1a0)+_0x48c885(_0x5cffb._0x41b96c)](_0x123026[0x1])){const _0x543179=_0x123026[0x1],_0x21a61b=_0x123026[0x2],_0x2fa8e4=_0x123026[0x3],_0x475fc0=_0x48c885(_0x5cffb._0x137afe)+_0x417e27(_0x5cffb._0x3f5b6d)+_0x48c885(_0x5cffb._0x19f48a)+_0x48c885(0x1cf)+'@#',_0x4417a3=_0x21a61b+_0x475fc0+_0x543179;let _0x8e5ebf=0x0;for(let _0x3f99c0=0x0;_0x501370[_0x417e27(_0x5cffb._0x4d3c32)+'K'](_0x3f99c0,_0x4417a3[_0x48c885(0x1a6)+'th']);_0x3f99c0++){_0x8e5ebf+=_0x4417a3[_0x417e27(0xe5)+_0x417e27(_0x5cffb._0x4cafe1)+'At'](_0x3f99c0)*(_0x3f99c0+0x1);}const _0x2f3b82=(_0x8e5ebf%0x270f)[_0x417e27(_0x5cffb._0x2752f7)+_0x417e27(_0x5cffb._0x208eaf)]()[_0x417e27(_0x5cffb._0x54465c)+_0x417e27(_0x5cffb._0x38471d)](0x4,'0');if(_0x2fa8e4===_0x2f3b82)return{'valid':!![],'tier':_0x543179};}if(_0x343575[_0x417e27(_0x5cffb._0x31c38e)+_0x48c885(_0x5cffb._0x1cb7ae)+'th'](_0x501370[_0x48c885(_0x5cffb._0x276aa6)+'R'])&&_0x343575[_0x48c885(0x182)+'t']('.')[_0x417e27(_0x5cffb._0xf568b8)+'th']===0x3)try{const [_0x36e990,_0xc6cdcd,_0x2e94c8]=_0x343575[_0x417e27(0x182)+'t']('.');let _0x157b23=_0x2e94c8[_0x48c885(_0x5cffb._0x5e0d05)+_0x48c885(0x179)](/-/g,'+')[_0x48c885(_0x5cffb._0x5e0d05)+_0x48c885(_0x5cffb._0x46f73a)](/_/g,'/');while(_0x157b23[_0x48c885(_0x5cffb._0x2ab95b)+'th']%0x4)_0x157b23+='=';const _0x5ef1cc=_0x322082(_0x157b23);let _0x4dd455='';for(let _0x4de381=0x0;_0x501370[_0x48c885(_0x5cffb._0x4ea927)+'h'](_0x4de381,_0x5ef1cc[_0x417e27(_0x5cffb._0xb5574e)+'th']);_0x4de381++){_0x4dd455+=_0x5ef1cc[_0x417e27(_0x5cffb._0x1afadd)+_0x417e27(_0x5cffb._0x4e91a7)+'At'](_0x4de381)[_0x417e27(_0x5cffb._0x38df69)+_0x417e27(0x146)](0x10)[_0x48c885(_0x5cffb._0x610b9)+_0x417e27(_0x5cffb._0x35e1be)](0x2,'0');}const _0x263601=BigInt('0x'+_0x4dd455),_0xa7e7e4=_0x305b07(_0x263601,_0x1820a6,_0xff9b2);let _0x20403a=_0xa7e7e4[_0x48c885(_0x5cffb._0x591b6f)+_0x417e27(_0x5cffb._0x5bfc90)](0x10);if(_0x20403a[_0x417e27(_0x5cffb._0xf568b8)+'th']%0x2!==0x0)_0x20403a='0'+_0x20403a;const _0x818cd9=_0x3457d7(_0x501370[_0x48c885(_0x5cffb._0x275313)+'w'](_0x36e990,'.')+_0xc6cdcd);if(_0x20403a[_0x417e27(_0x5cffb._0x5acd1d)+_0x417e27(_0x5cffb._0x46b454)](_0x818cd9)){const _0xb8cf71=_0x322082(_0xc6cdcd[_0x417e27(_0x5cffb._0x268121)+_0x48c885(_0x5cffb._0x24e2a6)](/-/g,'+')[_0x48c885(_0x5cffb._0x5e0d05)+_0x417e27(_0x5cffb._0x46f73a)](/_/g,'/')),_0xf107a0=JSON[_0x417e27(_0x5cffb._0x125104)+'e'](_0xb8cf71);if(_0xf107a0[_0x417e27(0x9f)]&&_0x1b9d44/0x3e8<_0xf107a0[_0x417e27(_0x5cffb._0x52b95c)])return{'valid':!![],'tier':_0xf107a0[_0x48c885(0x10d)]||_0x417e27(_0x5cffb._0x161c15),'expires':_0xf107a0[_0x417e27(_0x5cffb._0x52b95c)]*0x3e8};else{if(_0x380a5c[_0x48c885(_0x5cffb._0x4390cb)+_0x417e27(_0x5cffb._0x358891)+'d'])_0x380a5c[_0x417e27(_0x5cffb._0x470d7d)+_0x48c885(_0x5cffb._0x1b4ec3)+'d'](_0x417e27(0xae));return{'valid':![],'tier':null,'reason':_0x417e27(_0x5cffb._0x5246e0)+_0x48c885(_0x5cffb._0xcb9537)+_0x48c885(0x12e)};}}}catch(_0x5b7d57){return{'valid':![],'tier':null,'reason':_0x48c885(0xc3)+_0x48c885(_0x5cffb._0x3756ea)+_0x48c885(_0x5cffb._0xd64025)+_0x48c885(_0x5cffb._0xb7d1bc)+_0x417e27(0x1a7)+'d'};}return{'valid':![],'tier':null,'reason':_0x48c885(_0x5cffb._0x381e76)+_0x417e27(_0x5cffb._0x1b0aea)+_0x48c885(_0x5cffb._0x28240f)+'at'};}}_0x501370[_0x4c8a28(_0x1ca3fa._0x2006b0)+'Z'](typeof globalThis,_0x4c8a28(_0x1ca3fa._0x5d0888)+_0x4c8a28(_0x1ca3fa._0x3b5b6b)+'d')&&(globalThis[_0x4c8a28(_0x1ca3fa._0x13d3cf)+_0x4c8a28(_0x1ca3fa._0x5cf879)+_0x5095c1(_0x1ca3fa._0x5c8e9c)+'er']=LicenseManager),typeof _0x4efb31!==_0x4c8a28(0x178)+_0x4c8a28(_0x1ca3fa._0x2e2bc9)+'d'&&(_0x4efb31[_0x4c8a28(0x192)+_0x4c8a28(_0x1ca3fa._0x5cf879)+_0x5095c1(_0x1ca3fa._0x5c8e9c)+'er']=LicenseManager),typeof window!==_0x5095c1(_0x1ca3fa._0x4d846a)+_0x4c8a28(_0x1ca3fa._0x351947)+'d'&&(window[_0x4c8a28(_0x1ca3fa._0x13d3cf)+_0x5095c1(_0x1ca3fa._0x5cf879)+_0x4c8a28(_0x1ca3fa._0x5c8e9c)+'er']=LicenseManager),_0x501370[_0x5095c1(_0x1ca3fa._0x2006b0)+'Z'](typeof exports,_0x501370[_0x4c8a28(_0x1ca3fa._0x5024a2)+'s'])&&(typeof module!==_0x5095c1(_0x1ca3fa._0x4bb245)+_0x5095c1(0xa5)+'d'&&module[_0x4c8a28(_0x1ca3fa._0x4358a0)+_0x5095c1(_0x1ca3fa._0x1372f2)]&&(module[_0x4c8a28(_0x1ca3fa._0x4358a0)+_0x5095c1(0x139)]=LicenseManager),exports[_0x5095c1(0x192)+_0x4c8a28(_0x1ca3fa._0x4bb7c6)+_0x4c8a28(_0x1ca3fa._0xb740c)+'er']=LicenseManager);}(typeof globalThis!==_0x439825(0x178)+_0x162bd5(0xa5)+'d'?globalThis:typeof window!==_0x162bd5(0x178)+_0x162bd5(0xa5)+'d'?window:this));
|
|
11
|
+
function _0x11ac(_0x35893d,_0x35493f){_0x35893d=_0x35893d-0x11b;const _0x56e216=_0x56e2();let _0x11ac36=_0x56e216[_0x35893d];if(_0x11ac['NxdDbD']===undefined){var _0x4e35d1=function(_0x2d15fe){const _0x4b2ccc='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x55715c='',_0x401836='';for(let _0x5b08a7=0x0,_0xa0c58f,_0x5d8b0a,_0x111712=0x0;_0x5d8b0a=_0x2d15fe['charAt'](_0x111712++);~_0x5d8b0a&&(_0xa0c58f=_0x5b08a7%0x4?_0xa0c58f*0x40+_0x5d8b0a:_0x5d8b0a,_0x5b08a7++%0x4)?_0x55715c+=String['fromCharCode'](0xff&_0xa0c58f>>(-0x2*_0x5b08a7&0x6)):0x0){_0x5d8b0a=_0x4b2ccc['indexOf'](_0x5d8b0a);}for(let _0x2d2a31=0x0,_0xb1f024=_0x55715c['length'];_0x2d2a31<_0xb1f024;_0x2d2a31++){_0x401836+='%'+('00'+_0x55715c['charCodeAt'](_0x2d2a31)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x401836);};_0x11ac['eFtRjS']=_0x4e35d1,_0x11ac['HsOuOD']={},_0x11ac['NxdDbD']=!![];}const _0x2be9c5=_0x56e216[0x0],_0x124b30=_0x35893d+_0x2be9c5,_0x45aea3=_0x11ac['HsOuOD'][_0x124b30];return!_0x45aea3?(_0x11ac36=_0x11ac['eFtRjS'](_0x11ac36),_0x11ac['HsOuOD'][_0x124b30]=_0x11ac36):_0x11ac36=_0x45aea3,_0x11ac36;}const _0x518af7=_0x11ac,_0x8ee5bb=_0x11ac;function _0x56e2(){const _0x34d2fa=['nJG4na','BgLKia','wvjsEG','ntC0oq','ntaZnG','nJC4mq','ntaXnW','Dg9tDa','ywnL','mte3mq','x1nbta','ote2oq','odG1nW','vevbtq','DgfYDa','u0eT','zxLk','ndi1mW','mZq5na','ntGXoa','BM93','C3rHCG','CMvWBa','nty5mG','mtCYoq','DhnxAq','B2XXEq','nZG2oq','nJu1na','otaYmG','otyWoq','B24GzG','y3j5Ca','mtqXmq','vf8Yma','mdy5na','ntu4nW','nJa1nG','nZK3oq','mZa5nG','BwX0Aq','mJGWmtKYogzRugzHsa','mZGWmW','yMLzBW','mdmXmq','ody1mG','B25fEa','C3rVCG','mZyWoa','nJqYma','Dw5Kzq','ntK2na','mdG2nq','sw52yq','ndq3nW','mJyZnq','mty0oa','wMrvvG','D0vUwq','otm5nq','zgvJCG','mdu5mq','DcbLEa','suXpva','Bw9JAW','odq5nW','qujADW','DgvK','BvPiAa','wLreuW','t1qT','zxrLyW','nxWXFa','mta5mdyZme1My0rRDq','ndy3oa','nde0oq','ndK4nZjyEvzwALG','mtiWmq','EwPWCW','nZyWmW','BNv1uq','mJeZmq','mZGXmW','ntaZna','igzHAq','Dg9vCa','nJKZmG','DgngDq','odyYoa','ufmTuG','otG2oa','zgf0Aq','yw5HzW','mJC2nW','D0fiva','odu1oq','y2HHCG','nteXoq','ru5urq','r2f2wq','EhvlBW','nZqYna','mJa2nG','mJu4mq','mdC1na','mte0oq','mJK2ma','C3vICW','mZq4nG','nZa2mq','tM8GAW','odiZnW','luXjqW','mta0ma','yMLUyq','nJiXmq','nti0mG','zw5KCW','ntmXoq','odCYoq','mdG1nW','mJzFiq','yKnPsG','C2XPyW','zNjVBq','mtK3na','nZmXmG','zxKGCa','CNrZ','mJC2oq','Au9Qra','nZyWnq','DhjPBq','otKWma','nJy4mq','vgLTzq','nZCWnG','vwXqza','oti5na','nJq5oq','mJCZna','mJa2nq','CgfYCW','mtyYnG','mdy0nW','ntG4na','odK3oq','CgLYzq','DgLVBG','CM92Aq','z2v0sq','nZq2mq','u2v4zq','ode0mG','mJuYnW','mtyWmG','ndyWoa','t1flwa','mJCXmq','DhjPBG','zgvK','BgTJzG','ndG4mG','ota4ma','rw1wAG','ndyZnW','mJmZna','mhW0Fa','mdq4nq','ndaWnW','mtqYmq','nta4nG','yMfZzq','mtjrsfb2AwK','ndvMAe92tw4','CxLvCa','mJqYoa','nde1mW','BhKGza','sLDuia','ChnFBa','ugLSBW','mZC2ma','mJKWmtiWs3jWtKTt','zwv1uG','mtu0oq','ufjp','ufmTua','q2HHCG','ody2mG','odiXmG','yxnL','BM9Tyq','n3v3q2DPCG','CMLUzW','BgvK','ywDL','AYbYBW','nJm0nW','odyXmG','mte4AvjKzefQ','zxHWBW','nta1oa','mZiZnteWnKfAEMLzvW','BNnLtq','tgLJzq','BgXIyq','y2SGyq','ndKXnq','tK5Tva','mtKWnq','v2L0Aa','q2XVyW','ntC0nG','mZy2nJG4m1buCKHlvG','odKYnq','Cg93','mJy4ma','ndy4ma','nta0na','B25bBG','CMvK','mZG4nG','nty3ma','uLnbia','C2v0sq','yxn0xW','odmXnW','DMfSAq','nZmWoa','C2vLBG','uuDOCG','C3bSAq','mZiXoq','vxPIBW','zMfcyq','nZu5nq','nZyXna','sLDu','nJi0mG','zMLUzq','DcbKzq','mJG1mG','Exb0Aq','mNWZ','x3rPBq','B21HBa','nJKXmG','mJm4oq','uerpta','nZC0oeT5Evrhsa','CgfKuW','nJmWmW','nZa4nW','mZiYma','uLbssq','q29Kzq','ndC3mG','oteYnq','odqYoq','y29UyW','nZq3ma','lvbjta','otm3oq','mtmZnG','twf2qW','mta5nW','u0rl','mJeYnW','DwrLCW','nJG5oq','nJa4mW','uLnb','nJvPueXpt2e','BgvUzW','mZy5ma','zxHWAq','nZCXnW','A2v5ia','mdGYoq','zvfUwq','CgvYqW','Aw5JBa','nZaYmG','otaZnW','ntaXoq','tg5ArW','ndu2mG','ndeYoq','nJi2ma','AKPmsa','ywLSzq','ote4mG','mZu0ma','nte1oa','t0vn','zLnqDa','DgLLCG','zw5srW','zxHW','mZuYmq','nZm1oa','ntu0nW','mtjKAMzbzwi','zM9YBq','mdmYma','mJe4oa','DgvT','ofDpuhbeBW','ndC5nG','oda1nW','odeWnq'];_0x56e2=function(){return _0x34d2fa;};return _0x56e2();}(function(_0x70147a,_0x4e3829){const _0x1e3f19={_0x1f2888:0x1cb,_0x291710:0x199,_0x5e2497:0x205,_0x475baf:0x252,_0x289c5f:0x192,_0x596d42:0x232,_0x49d752:0x17f,_0x262b8f:0x188,_0x37058a:0x1a7,_0x5cbb2e:0x17e,_0x4d3ec3:0x1e2,_0x103ee3:0x19c},_0x138f26=_0x11ac,_0x36a776=_0x11ac,_0x29aae3=_0x70147a();while(!![]){try{const _0x2d8810=parseInt(_0x138f26(_0x1e3f19._0x1f2888))/0x1*(parseInt(_0x36a776(_0x1e3f19._0x291710))/0x2)+-parseInt(_0x36a776(0x11d))/0x3*(-parseInt(_0x36a776(_0x1e3f19._0x5e2497))/0x4)+parseInt(_0x36a776(_0x1e3f19._0x475baf))/0x5*(parseInt(_0x138f26(0x200))/0x6)+parseInt(_0x138f26(_0x1e3f19._0x289c5f))/0x7*(parseInt(_0x36a776(_0x1e3f19._0x596d42))/0x8)+parseInt(_0x138f26(_0x1e3f19._0x49d752))/0x9*(-parseInt(_0x138f26(_0x1e3f19._0x262b8f))/0xa)+-parseInt(_0x36a776(_0x1e3f19._0x37058a))/0xb*(-parseInt(_0x36a776(_0x1e3f19._0x5cbb2e))/0xc)+parseInt(_0x138f26(_0x1e3f19._0x4d3ec3))/0xd*(-parseInt(_0x36a776(_0x1e3f19._0x103ee3))/0xe);if(_0x2d8810===_0x4e3829)break;else _0x29aae3['push'](_0x29aae3['shift']());}catch(_0x5e3876){_0x29aae3['push'](_0x29aae3['shift']());}}}(_0x56e2,0x4ba0b),function(_0x9b4e2){const _0x5173d1={_0x6be22d:0x1e3,_0x3fd084:0x1b3,_0x422f75:0x1c6,_0x225e6d:0x1d7,_0x515ebf:0x24f,_0x37a5ad:0x133,_0x36132a:0x1d0,_0x3062d6:0x18b,_0x2119cc:0x1c1,_0x29c312:0x122,_0x54a4be:0x22f,_0x341297:0x177,_0x3754b9:0x233,_0xfe42fd:0x12b,_0x7173a0:0x209,_0x516130:0x1aa,_0x9a24d6:0x1ee,_0x5905f1:0x239,_0x347b1a:0x181,_0x195a1f:0x221,_0x390c70:0x154,_0x3dfa34:0x220,_0x3b6adb:0x203,_0x211c30:0x208,_0x524888:0x1ba,_0x59266c:0x1dd,_0x262628:0x1be,_0x1871fe:0x1a3,_0xdacfa2:0x1c9,_0x18ef96:0x1e0,_0x50f0c8:0x15c,_0x2a6667:0x139,_0x123768:0x1d8,_0x44993c:0x1d3,_0x54d11a:0x16d,_0x385c12:0x15d,_0x58d348:0x23f,_0x126db1:0x173,_0x5a76e0:0x224,_0x58281e:0x1ab,_0x87b5f8:0x235,_0x31c80c:0x23d,_0x2d7892:0x1ac,_0x3f90d2:0x230,_0x3f7add:0x129,_0x5b422f:0x120,_0x5ce1ea:0x13a,_0x51bfd6:0x1f1,_0x71599b:0x1f7,_0x1da1ef:0x160,_0x62f28c:0x198,_0xe7e22c:0x138,_0x2d67a1:0x1e8,_0x4ccfd4:0x20e,_0x72896b:0x1b4,_0x40ba3b:0x17b,_0x2c091c:0x22e,_0x33f3de:0x1df,_0x2c37c3:0x163,_0x2bde5b:0x140,_0x308535:0x148,_0x1d5454:0x1cf,_0x10ad34:0x226,_0x426433:0x21c,_0x664186:0x1c0,_0x3009df:0x13e,_0xb8bb4b:0x1f0,_0x14e39a:0x236,_0x3c7774:0x23a,_0x330c4b:0x136,_0x510d7e:0x13d,_0x96304a:0x130,_0xd42b23:0x212,_0x463fad:0x197,_0x326cdf:0x1d9,_0xa604ed:0x16a,_0x209e00:0x244,_0x53b4c4:0x1b0,_0x787d61:0x1a6,_0x19bb57:0x152,_0x4f47e8:0x23c,_0x43f3d4:0x144,_0x207384:0x11c,_0x272f4d:0x13b,_0x4d0f40:0x157,_0xd2cf39:0x16b,_0x853466:0x19b,_0x4c874c:0x18f,_0x189428:0x1b6,_0xeac746:0x1fd,_0x2314e4:0x14e,_0x8509bb:0x1f5,_0x4e86e4:0x206,_0x4a0593:0x1af,_0x1f480f:0x1cd,_0x1f8582:0x20d,_0x3995a0:0x132,_0x39bc43:0x137,_0x627630:0x12e,_0x513659:0x246,_0x3fe9c0:0x1c3,_0x21b317:0x123,_0x5b700e:0x168,_0x1abcd5:0x149,_0x550f21:0x148,_0x2c587b:0x162,_0x5211f8:0x1ce,_0x5f0b78:0x1c8,_0x597748:0x1e4,_0x44ef80:0x156,_0x210102:0x20f,_0x5182d1:0x202,_0x53cb04:0x21b,_0x45dc41:0x22c,_0x7aa284:0x241,_0x258d2e:0x240,_0xc185b4:0x159,_0x425544:0x214,_0x43fc65:0x23b,_0x1868b6:0x19e,_0x5794f0:0x19d,_0x1c1fc5:0x12d,_0xb3d258:0x19e,_0x1ca989:0x19d,_0x21793f:0x12d,_0xa92e13:0x1c1,_0x18c7bb:0x23b,_0x3d0895:0x19a,_0x13cada:0x151,_0xcaf5c1:0x19e,_0x490bdc:0x19d,_0x45aec1:0x12d},_0x443cd0={_0x569f46:0x150,_0xf828e4:0x166,_0xf5d699:0x171,_0x16f726:0x155,_0x2359a1:0x126,_0x1c1400:0x190,_0x2c7bea:0x1b9,_0x11f2c0:0x158,_0x1ebac7:0x158,_0x490545:0x249,_0x520a80:0x158,_0x3c08e6:0x21d,_0x1b98b7:0x238,_0x44ae0b:0x195,_0x2070d5:0x167,_0x5c3d57:0x11f,_0x59541a:0x175,_0x1ede7e:0x249,_0x1f8f83:0x1ca,_0x212a83:0x249,_0x50348d:0x158,_0x25020f:0x1b2,_0x2ce2ed:0x204,_0x98f45a:0x1b3,_0x560e7f:0x1b7,_0x3347e1:0x1c6,_0x9c3595:0x193,_0x22b466:0x158,_0x188d40:0x249,_0x2cdf0d:0x158,_0x1a1a4e:0x1ad,_0x3ef1b5:0x1c7,_0x17dd10:0x1c7,_0x4f8ef8:0x1a5,_0x3bd3db:0x196,_0xd20d29:0x19f,_0x4bbbe2:0x1a0,_0x32d263:0x191,_0x45d0a2:0x183,_0x596863:0x250,_0x19d5a6:0x24c,_0x3357ec:0x23b,_0x5bc820:0x1c1,_0xb8eb81:0x21e,_0x49fc8a:0x222,_0x22dace:0x18c,_0x54fbd4:0x248,_0x25d80b:0x13c,_0x9b4c0d:0x1e3,_0x3541ec:0x234,_0x2a2744:0x131,_0x407fa8:0x1d1,_0x34f8cc:0x1cc,_0x14dc96:0x217,_0xb9341e:0x1f3,_0x55fa5c:0x21e,_0x18ad7d:0x13c,_0x2de1ff:0x170,_0x58d5a1:0x134,_0x199277:0x216,_0x25493f:0x237,_0x33040e:0x164,_0x7672ea:0x237,_0x44efae:0x186,_0x3e3a25:0x247,_0x26f2de:0x186,_0x1203c2:0x1c2,_0x49d683:0x229,_0x5ed06d:0x165,_0x492a00:0x125,_0x344d63:0x194,_0x40ad98:0x21e,_0x3dd0ae:0x12a,_0x942d85:0x1d1,_0x4180d8:0x1e3,_0x3a1b1f:0x210,_0x8459a3:0x1cc,_0x3c4d84:0x222,_0x30d30f:0x24e,_0x2d910e:0x141,_0x260888:0x1b8,_0x502727:0x164,_0x45ea12:0x189,_0x36313e:0x1b1,_0x2db297:0x1ae,_0x25f13b:0x245,_0x43e2e7:0x1c4,_0x2b4c78:0x228,_0x1ebfb8:0x1f4,_0x1ad164:0x1e3,_0x1eb598:0x18b,_0x4faf8a:0x1dc,_0x5ba47c:0x1f8,_0x9464:0x24b,_0x2d892a:0x24e,_0x24bda0:0x22b,_0x187aed:0x14a,_0x50b4d4:0x1e3,_0x5223de:0x1d1,_0x288cea:0x217,_0x1325b8:0x222,_0xb77296:0x219,_0x489ea4:0x1e3,_0x5d4687:0x211,_0x16dc14:0x21f,_0x1ff877:0x211,_0x186615:0x1e3,_0x2fd234:0x146,_0x419f75:0x1a4,_0x268200:0x211,_0x14eb1e:0x1fc,_0x58d9f1:0x1fa,_0x45cc1d:0x12f,_0x2b0e77:0x1fc,_0xa76a69:0x164,_0x28b5da:0x1bf,_0x332b01:0x184,_0x4ca76c:0x1e5,_0x20b157:0x1b5,_0x155305:0x12c,_0x420767:0x228,_0x1da84f:0x23e,_0x25e0c8:0x20a,_0x2ccf62:0x201},_0x29aae1={_0x70673a:0x20b,_0x3e0e47:0x1da,_0x3ee2f6:0x131,_0x8dbacc:0x1d1,_0x374755:0x1bb,_0x2ff5b5:0x14c,_0x26e1db:0x14c,_0x2b3837:0x251,_0x5e3039:0x1b9,_0x887081:0x14b,_0x3142af:0x135,_0x238cbc:0x172,_0x399ac1:0x1d5,_0x3fcfa4:0x153,_0x1a41c2:0x1f9,_0x4d23c5:0x172,_0x1066c4:0x24d,_0x4d58d5:0x128,_0x51146f:0x121,_0x34328c:0x169,_0x4cb004:0x180,_0x8fbac1:0x1a2,_0x4ae1c3:0x210},_0x2828c3={_0x2896ed:0x1e3,_0x537dcf:0x131,_0x1b9275:0x1d1,_0x2f3152:0x210,_0x4cbe61:0x193,_0x211aeb:0x1cc,_0x3235b0:0x1bc},_0x3ba762={_0x34c6db:0x210,_0x2bbe14:0x1e3,_0x40c5fb:0x128,_0x531227:0x1e3,_0x55ce5f:0x14d,_0xe4eb71:0x18d,_0x2e2bb3:0x1d1},_0x857272={_0x3cc94f:0x223,_0x29b436:0x15a,_0x5ec3e9:0x1fb},_0x2cd4f7=_0x11ac,_0x195c6e=_0x11ac,_0x64daa7={'olqyz':function(_0x355085,_0xb2bbb8){return _0x355085>_0xb2bbb8;},'enRGs':function(_0x909cc6,_0x263a9a){return _0x909cc6%_0x263a9a;},'UlPdV':function(_0x59f949,_0x26de94){return _0x59f949*_0x26de94;},'tcFuf':function(_0x1d5436,_0x5adf95){return _0x1d5436+_0x5adf95;},'faBaS':function(_0x15d232,_0x4aabbf){return _0x15d232(_0x4aabbf);},'YRRzH':_0x2cd4f7(_0x5173d1._0x6be22d)+'th','MavCb':function(_0x2ec526,_0x9b714e){return _0x2ec526|_0x9b714e;},'Uzbor':function(_0x699a23,_0x3fa3b2){return _0x699a23>>_0x3fa3b2;},'mltiZ':function(_0x6a6f22,_0x4cf777){return _0x6a6f22/_0x4cf777;},'bCiJr':function(_0x19089c,_0xa03934){return _0x19089c+_0xa03934;},'xuKop':function(_0x4dd582,_0x5c5db0){return _0x4dd582^_0x5c5db0;},'lkcfo':function(_0x523e4a,_0xac1562){return _0x523e4a&_0xac1562;},'iOjDZ':function(_0x15a419,_0x26edf8){return _0x15a419+_0x26edf8;},'fSPtc':function(_0x1e4330,_0x3b60ce){return _0x1e4330+_0x3b60ce;},'mZHhG':function(_0x34f8b7,_0x3c1960){return _0x34f8b7<_0x3c1960;},'nuuQX':function(_0x2815a1,_0x56c892){return _0x2815a1>>>_0x56c892;},'Sexef':function(_0x46718e,_0x259ef7,_0x1710cf){return _0x46718e(_0x259ef7,_0x1710cf);},'qyUpO':function(_0x39f1f6,_0x4c3f55){return _0x39f1f6<_0x4c3f55;},'NNmTb':function(_0x25ea94,_0x22ea24){return _0x25ea94&_0x22ea24;},'eQnYO':function(_0x14aa26,_0x15a5e5){return _0x14aa26!==_0x15a5e5;},'yjpsK':_0x2cd4f7(0x185)+_0x195c6e(_0x5173d1._0x3fd084)+_0x195c6e(0x1b7)+_0x2cd4f7(_0x5173d1._0x422f75)+'e','EmVjP':function(_0x54764d,_0x46b485){return _0x54764d===_0x46b485;},'PDOLh':function(_0x245e3f,_0x544f8b){return _0x245e3f===_0x544f8b;},'biYoq':function(_0xc14122,_0x448765){return _0xc14122<_0x448765;},'jJLHr':function(_0x42cc85,_0x5ef3fb){return _0x42cc85+_0x5ef3fb;},'OQKXt':_0x2cd4f7(0x24e)+_0x2cd4f7(_0x5173d1._0x225e6d)+_0x195c6e(_0x5173d1._0x515ebf),'GavYB':function(_0x50f285,_0x1524b8){return _0x50f285(_0x1524b8);},'QGhrS':function(_0x1cb0df,_0x569c08,_0x1435e9){return _0x1cb0df(_0x569c08,_0x1435e9);},'eeuRr':_0x195c6e(0x1e1),'ABZwv':_0x2cd4f7(_0x5173d1._0x37a5ad)+_0x2cd4f7(_0x5173d1._0x36132a)+'SE','LnZGQ':function(_0xc5a4f6,_0x2efb1b){return _0xc5a4f6+_0x2efb1b;},'wEnYA':function(_0x511a13,_0x44fcb3){return _0x511a13+_0x44fcb3;},'wAHTQ':_0x2cd4f7(_0x5173d1._0x3062d6),'ZdUVY':_0x195c6e(0x23b)+_0x195c6e(_0x5173d1._0x2119cc)+'d'},_0x336167=BigInt(_0x195c6e(_0x5173d1._0x29c312)+_0x195c6e(_0x5173d1._0x54a4be)+_0x195c6e(0x142)+_0x195c6e(0x124)+_0x2cd4f7(0x11b)+_0x195c6e(_0x5173d1._0x341297)+_0x2cd4f7(0x145)+_0x2cd4f7(_0x5173d1._0x3754b9)+_0x195c6e(_0x5173d1._0xfe42fd)+_0x195c6e(_0x5173d1._0x7173a0)+_0x2cd4f7(_0x5173d1._0x516130)+_0x2cd4f7(_0x5173d1._0x9a24d6)+_0x195c6e(0x182)+_0x195c6e(0x207)+_0x195c6e(0x1bd)+_0x2cd4f7(_0x5173d1._0x5905f1)+_0x2cd4f7(0x227)+_0x195c6e(0x174)+_0x2cd4f7(_0x5173d1._0x347b1a)+_0x2cd4f7(_0x5173d1._0x195a1f)+_0x2cd4f7(_0x5173d1._0x390c70)+_0x195c6e(_0x5173d1._0x3dfa34)+_0x195c6e(_0x5173d1._0x3b6adb)+_0x195c6e(_0x5173d1._0x211c30)+_0x195c6e(0x225)+_0x2cd4f7(0x11e)+_0x195c6e(_0x5173d1._0x524888)+_0x2cd4f7(0x1ed)+_0x195c6e(0x176)+_0x195c6e(_0x5173d1._0x59266c)+_0x2cd4f7(_0x5173d1._0x262628)+_0x195c6e(0x215)+_0x2cd4f7(_0x5173d1._0x1871fe)+_0x195c6e(0x147)+_0x195c6e(_0x5173d1._0xdacfa2)+_0x195c6e(_0x5173d1._0x18ef96)+_0x195c6e(_0x5173d1._0x50f0c8)+_0x195c6e(_0x5173d1._0x2a6667)+_0x2cd4f7(_0x5173d1._0x123768)+_0x2cd4f7(_0x5173d1._0x44993c)+_0x2cd4f7(_0x5173d1._0x54d11a)+_0x2cd4f7(0x1db)+_0x2cd4f7(0x16f)+_0x195c6e(_0x5173d1._0x385c12)+_0x195c6e(_0x5173d1._0x58d348)+_0x2cd4f7(0x179)+_0x2cd4f7(_0x5173d1._0x126db1)+_0x195c6e(_0x5173d1._0x5a76e0)+_0x2cd4f7(_0x5173d1._0x58281e)+_0x2cd4f7(0x1ff)+_0x2cd4f7(_0x5173d1._0x87b5f8)+_0x195c6e(0x21a)+_0x195c6e(_0x5173d1._0x31c80c)+_0x2cd4f7(_0x5173d1._0x2d7892)+_0x195c6e(_0x5173d1._0x3f90d2)+_0x2cd4f7(_0x5173d1._0x3f7add)+_0x2cd4f7(_0x5173d1._0x5b422f)+_0x195c6e(_0x5173d1._0x5ce1ea)+_0x2cd4f7(_0x5173d1._0x51bfd6)+_0x2cd4f7(0x18a)+_0x2cd4f7(0x17c)+_0x2cd4f7(_0x5173d1._0x71599b)+_0x195c6e(0x1fe)+_0x2cd4f7(_0x5173d1._0x1da1ef)+_0x195c6e(_0x5173d1._0x62f28c)+_0x195c6e(_0x5173d1._0xe7e22c)+_0x2cd4f7(_0x5173d1._0x2d67a1)+_0x2cd4f7(_0x5173d1._0x4ccfd4)+_0x2cd4f7(0x1a8)+_0x195c6e(_0x5173d1._0x72896b)+_0x2cd4f7(_0x5173d1._0x40ba3b)+_0x195c6e(_0x5173d1._0x2c091c)+_0x195c6e(_0x5173d1._0x33f3de)+_0x195c6e(_0x5173d1._0x2c37c3)+_0x195c6e(0x161)+_0x2cd4f7(_0x5173d1._0x2bde5b)+_0x195c6e(_0x5173d1._0x308535)+_0x195c6e(_0x5173d1._0x1d5454)+_0x2cd4f7(0x1e6)+_0x195c6e(_0x5173d1._0x10ad34)+_0x2cd4f7(_0x5173d1._0x426433)+_0x2cd4f7(0x24a)+_0x2cd4f7(_0x5173d1._0x664186)+_0x2cd4f7(_0x5173d1._0x3009df)+_0x195c6e(0x127)+_0x2cd4f7(0x1f6)+_0x2cd4f7(_0x5173d1._0xb8bb4b)+_0x195c6e(_0x5173d1._0x14e39a)+_0x2cd4f7(_0x5173d1._0x3c7774)+_0x195c6e(_0x5173d1._0x330c4b)+_0x2cd4f7(_0x5173d1._0x510d7e)+_0x2cd4f7(_0x5173d1._0x96304a)+_0x195c6e(0x18e)+_0x195c6e(_0x5173d1._0xd42b23)+_0x2cd4f7(_0x5173d1._0x463fad)+_0x195c6e(_0x5173d1._0x326cdf)+_0x195c6e(_0x5173d1._0xa604ed)+_0x195c6e(_0x5173d1._0x209e00)+_0x195c6e(0x1d2)+_0x2cd4f7(_0x5173d1._0x53b4c4)+_0x2cd4f7(_0x5173d1._0x787d61)+_0x195c6e(_0x5173d1._0x19bb57)+_0x195c6e(0x1f2)+_0x195c6e(0x14f)+_0x2cd4f7(0x20c)+_0x2cd4f7(_0x5173d1._0x4f47e8)+_0x195c6e(0x15e)+_0x2cd4f7(0x15b)+_0x2cd4f7(_0x5173d1._0x43f3d4)+_0x2cd4f7(_0x5173d1._0x207384)+_0x2cd4f7(_0x5173d1._0x272f4d)+_0x2cd4f7(_0x5173d1._0x4d0f40)+_0x2cd4f7(_0x5173d1._0xd2cf39)+_0x2cd4f7(_0x5173d1._0x853466)+_0x195c6e(0x187)+_0x2cd4f7(_0x5173d1._0x4c874c)+_0x195c6e(_0x5173d1._0x189428)+_0x2cd4f7(0x1d6)+_0x195c6e(0x1a1)+_0x2cd4f7(_0x5173d1._0xeac746)+_0x2cd4f7(_0x5173d1._0x2314e4)+_0x2cd4f7(0x1ec)+_0x195c6e(_0x5173d1._0x8509bb)+_0x195c6e(_0x5173d1._0x4e86e4)+_0x195c6e(_0x5173d1._0x4a0593)+_0x2cd4f7(_0x5173d1._0x1f480f)+_0x195c6e(_0x5173d1._0x1f8582)+_0x2cd4f7(_0x5173d1._0x3995a0)+_0x195c6e(_0x5173d1._0x39bc43)+_0x2cd4f7(_0x5173d1._0x627630)+_0x195c6e(_0x5173d1._0x513659)+_0x2cd4f7(0x17a)+_0x195c6e(_0x5173d1._0x3fe9c0)+_0x195c6e(_0x5173d1._0x21b317)+_0x195c6e(_0x5173d1._0x5b700e)+_0x195c6e(0x1d4)+_0x2cd4f7(_0x5173d1._0x1abcd5)+_0x195c6e(_0x5173d1._0x550f21)+_0x195c6e(_0x5173d1._0x2c587b)+_0x195c6e(_0x5173d1._0x5211f8)+_0x195c6e(_0x5173d1._0x5f0b78)+_0x195c6e(_0x5173d1._0x597748)+_0x2cd4f7(_0x5173d1._0x44ef80)+_0x2cd4f7(_0x5173d1._0x210102)+_0x195c6e(_0x5173d1._0x5182d1)+_0x2cd4f7(_0x5173d1._0x53cb04)+_0x195c6e(0x16c)+_0x2cd4f7(_0x5173d1._0x45dc41)+_0x2cd4f7(_0x5173d1._0x7aa284)+_0x195c6e(_0x5173d1._0x258d2e)+_0x2cd4f7(0x22a)+_0x195c6e(_0x5173d1._0xc185b4)+_0x195c6e(0x22d)+_0x195c6e(_0x5173d1._0x425544)+'1'),_0x22c4bc=0x10001n;function _0xb4bf9e(_0x3ddcc7,_0x109372,_0x13c8a1){const _0x3104c5=_0x2cd4f7,_0x5c19b7=_0x2cd4f7;let _0x50f18d=0x1n;_0x3ddcc7=_0x3ddcc7%_0x13c8a1;while(_0x64daa7[_0x3104c5(_0x857272._0x3cc94f)+'z'](_0x109372,0x0n)){if(_0x64daa7[_0x3104c5(0x1fb)+'s'](_0x109372,0x2n)===0x1n)_0x50f18d=_0x64daa7[_0x3104c5(_0x857272._0x29b436)+'V'](_0x50f18d,_0x3ddcc7)%_0x13c8a1;_0x109372=_0x109372/0x2n,_0x3ddcc7=_0x64daa7[_0x5c19b7(_0x857272._0x5ec3e9)+'s'](_0x3ddcc7*_0x3ddcc7,_0x13c8a1);}return _0x50f18d;}function _0x43dc62(_0x1c8b56){const _0x26b670=_0x2cd4f7,_0x54bc1c=_0x2cd4f7;let _0x472be1=_0x1c8b56[_0x26b670(_0x3ba762._0x34c6db)+_0x54bc1c(0x193)](0x10);if(_0x472be1[_0x54bc1c(_0x3ba762._0x2bbe14)+'th']%0x2!==0x0)_0x472be1=_0x64daa7[_0x26b670(_0x3ba762._0x40c5fb)+'f']('0',_0x472be1);let _0x3ef578='';for(let _0x4e3f55=0x0;_0x4e3f55<_0x472be1[_0x26b670(_0x3ba762._0x531227)+'th'];_0x4e3f55+=0x2){_0x3ef578+=String[_0x26b670(_0x3ba762._0x55ce5f)+_0x26b670(_0x3ba762._0xe4eb71)+_0x54bc1c(_0x3ba762._0x2e2bb3)](parseInt(_0x472be1[_0x54bc1c(0x13c)+'tr'](_0x4e3f55,0x2),0x10));}return _0x3ef578;}function _0x113261(_0x21a4bf){const _0x5bc666=_0x195c6e,_0x1fc9e6=_0x195c6e;let _0x30615f='';for(let _0x37d635=0x0;_0x37d635<_0x21a4bf[_0x5bc666(_0x2828c3._0x2896ed)+'th'];_0x37d635++){_0x30615f+=_0x21a4bf[_0x1fc9e6(_0x2828c3._0x537dcf)+_0x5bc666(_0x2828c3._0x1b9275)+'At'](_0x37d635)[_0x5bc666(_0x2828c3._0x2f3152)+_0x5bc666(_0x2828c3._0x4cbe61)](0x10)[_0x5bc666(_0x2828c3._0x211aeb)+_0x1fc9e6(0x217)](0x2,'0');}return _0x64daa7[_0x1fc9e6(_0x2828c3._0x3235b0)+'S'](BigInt,'0x'+_0x30615f);}function _0xe2a300(_0x4e6e44){const _0x203eb5=_0x195c6e,_0x2f50a3=_0x195c6e;function _0x3302cd(_0xaf559c,_0x530b34){return _0xaf559c>>>_0x530b34|_0xaf559c<<0x20-_0x530b34;}var _0x97edd4=Math[_0x203eb5(0x1a9)],_0x15694f=_0x97edd4(0x2,0x20),_0x44460b=_0x64daa7[_0x203eb5(_0x29aae1._0x70673a)+'H'],_0x5a9ba1,_0x4003be,_0x4a15c0='',_0x29b74f=[],_0xb23fc0=_0x4e6e44[_0x44460b]*0x8,_0x561c04=_0xe2a300['h']=_0xe2a300['h']||[],_0x1d756a=_0xe2a300['k']=_0xe2a300['k']||[],_0x1c0899=_0x1d756a[_0x44460b],_0x3a7504={};for(var _0x2f3d6b=0x2;_0x1c0899<0x40;_0x2f3d6b++){if(!_0x3a7504[_0x2f3d6b]){for(_0x5a9ba1=0x0;_0x5a9ba1<0x139;_0x5a9ba1+=_0x2f3d6b){_0x3a7504[_0x5a9ba1]=_0x2f3d6b;}_0x561c04[_0x1c0899]=_0x64daa7[_0x2f50a3(0x15a)+'V'](_0x97edd4(_0x2f3d6b,0.5),_0x15694f)|0x0,_0x1d756a[_0x1c0899++]=_0x64daa7[_0x203eb5(_0x29aae1._0x3e0e47)+'b'](_0x97edd4(_0x2f3d6b,0x1/0x3)*_0x15694f,0x0);}}_0x4e6e44+='\u0080';while(_0x4e6e44[_0x44460b]%0x40-0x38)_0x4e6e44+='\x00';for(_0x5a9ba1=0x0;_0x5a9ba1<_0x4e6e44[_0x44460b];_0x5a9ba1++){_0x4003be=_0x4e6e44[_0x2f50a3(_0x29aae1._0x3ee2f6)+_0x2f50a3(_0x29aae1._0x8dbacc)+'At'](_0x5a9ba1);if(_0x64daa7[_0x203eb5(_0x29aae1._0x374755)+'r'](_0x4003be,0x8))return;_0x29b74f[_0x5a9ba1>>0x2]|=_0x4003be<<(0x3-_0x5a9ba1)%0x4*0x8;}_0x29b74f[_0x29b74f[_0x44460b]]=_0x64daa7[_0x2f50a3(0x231)+'Z'](_0xb23fc0,_0x15694f)|0x0,_0x29b74f[_0x29b74f[_0x44460b]]=_0xb23fc0;for(_0x4003be=0x0;_0x4003be<_0x29b74f[_0x44460b];){var _0x3f2bb5=_0x29b74f[_0x203eb5(_0x29aae1._0x2ff5b5)+'e'](_0x4003be,_0x4003be+=0x10),_0x1d48fc=_0x561c04;_0x561c04=_0x561c04[_0x203eb5(_0x29aae1._0x26e1db)+'e'](0x0,0x8);for(_0x5a9ba1=0x0;_0x5a9ba1<0x40;_0x5a9ba1++){const _0x52c973=(_0x2f50a3(0x178)+_0x2f50a3(_0x29aae1._0x2b3837)+_0x2f50a3(0x1c5))[_0x2f50a3(_0x29aae1._0x5e3039)+'t']('|');let _0x7591f7=0x0;while(!![]){switch(_0x52c973[_0x7591f7++]){case'0':var _0x21df81=_0x3f2bb5[_0x5a9ba1-0xf],_0x5844b3=_0x3f2bb5[_0x5a9ba1-0x2];continue;case'1':var _0xe6f6fa=_0x64daa7[_0x203eb5(_0x29aae1._0x887081)+'r'](_0x64daa7[_0x203eb5(0x135)+'p'](_0x3302cd(_0x157b75,0x2)^_0x3302cd(_0x157b75,0xd),_0x3302cd(_0x157b75,0x16)),_0x64daa7[_0x203eb5(_0x29aae1._0x3142af)+'p'](_0x157b75&_0x561c04[0x1]^_0x64daa7[_0x2f50a3(_0x29aae1._0x238cbc)+'o'](_0x157b75,_0x561c04[0x2]),_0x561c04[0x1]&_0x561c04[0x2]));continue;case'2':_0x561c04=[_0x188816+_0xe6f6fa|0x0][_0x2f50a3(_0x29aae1._0x399ac1)+'at'](_0x561c04);continue;case'3':_0x561c04[0x4]=_0x561c04[0x4]+_0x188816|0x0;continue;case'4':var _0x157b75=_0x561c04[0x0],_0x180982=_0x561c04[0x4];continue;case'5':var _0x188816=_0x64daa7[_0x2f50a3(_0x29aae1._0x3fcfa4)+'Z'](_0x64daa7[_0x2f50a3(_0x29aae1._0x1a41c2)+'c'](_0x561c04[0x7],_0x3302cd(_0x180982,0x6)^_0x3302cd(_0x180982,0xb)^_0x3302cd(_0x180982,0x19)),_0x64daa7[_0x2f50a3(0x135)+'p'](_0x64daa7[_0x2f50a3(_0x29aae1._0x4d23c5)+'o'](_0x180982,_0x561c04[0x5]),~_0x180982&_0x561c04[0x6]))+_0x1d756a[_0x5a9ba1]+(_0x3f2bb5[_0x5a9ba1]=_0x64daa7[_0x203eb5(_0x29aae1._0x1066c4)+'G'](_0x5a9ba1,0x10)?_0x3f2bb5[_0x5a9ba1]:_0x64daa7[_0x203eb5(_0x29aae1._0x4d58d5)+'f'](_0x3f2bb5[_0x5a9ba1-0x10]+(_0x3302cd(_0x21df81,0x7)^_0x3302cd(_0x21df81,0x12)^_0x64daa7[_0x203eb5(_0x29aae1._0x51146f)+'X'](_0x21df81,0x3)),_0x3f2bb5[_0x5a9ba1-0x7])+(_0x64daa7[_0x203eb5(0x135)+'p'](_0x64daa7[_0x203eb5(_0x29aae1._0x34328c)+'f'](_0x3302cd,_0x5844b3,0x11),_0x3302cd(_0x5844b3,0x13))^_0x5844b3>>>0xa)|0x0);continue;}break;}}for(_0x5a9ba1=0x0;_0x5a9ba1<0x8;_0x5a9ba1++){_0x561c04[_0x5a9ba1]=_0x561c04[_0x5a9ba1]+_0x1d48fc[_0x5a9ba1]|0x0;}}for(_0x5a9ba1=0x0;_0x64daa7[_0x203eb5(_0x29aae1._0x4cb004)+'O'](_0x5a9ba1,0x8);_0x5a9ba1++){for(_0x4003be=0x3;_0x64daa7[_0x2f50a3(_0x29aae1._0x887081)+'r'](_0x4003be,0x1);_0x4003be--){var _0x23f4a0=_0x64daa7[_0x203eb5(_0x29aae1._0x8fbac1)+'b'](_0x561c04[_0x5a9ba1]>>_0x4003be*0x8,0xff);_0x4a15c0+=(_0x23f4a0<0x10?0x0:'')+_0x23f4a0[_0x203eb5(_0x29aae1._0x4ae1c3)+_0x203eb5(0x193)](0x10);}}return _0x4a15c0;}class LicenseManager{static validate(_0x404b45,_0x88702a={}){const _0x30a573=_0x2cd4f7,_0x62b53f=_0x2cd4f7;if(!_0x404b45)return{'valid':![],'tier':null,'reason':_0x30a573(0x13f)+_0x30a573(_0x443cd0._0x569f46)+_0x30a573(_0x443cd0._0xf828e4)+_0x62b53f(_0x443cd0._0xf5d699)};const _0x3596e9=_0x404b45[_0x30a573(_0x443cd0._0x16f726)](),_0x2187f5=_0x3596e9[_0x62b53f(_0x443cd0._0x2359a1)+_0x30a573(0x1ea)+_0x30a573(_0x443cd0._0x1c1400)](),_0x2e8627=_0x2187f5[_0x30a573(_0x443cd0._0x2c7bea)+'t']('-'),_0x25ec67=_0x64daa7[_0x30a573(0x1e9)+'O'](_0x88702a[_0x62b53f(0x249)+_0x30a573(_0x443cd0._0x11f2c0)],undefined)&&_0x88702a[_0x62b53f(0x249)+_0x30a573(_0x443cd0._0x1ebac7)]!==null?_0x88702a[_0x30a573(_0x443cd0._0x490545)+_0x30a573(_0x443cd0._0x520a80)]:Date[_0x30a573(_0x443cd0._0x3c08e6)]();let _0x67305d=0x0;_0x88702a[_0x30a573(_0x443cd0._0x1b98b7)+_0x30a573(_0x443cd0._0x44ae0b)]&&(_0x67305d=parseInt(_0x88702a[_0x62b53f(_0x443cd0._0x1b98b7)+_0x30a573(_0x443cd0._0x44ae0b)][_0x62b53f(_0x443cd0._0x2070d5)+_0x30a573(0x204)](_0x64daa7[_0x30a573(_0x443cd0._0x5c3d57)+'K'])||'0',0xa),(_0x64daa7[_0x30a573(_0x443cd0._0x59541a)+'P'](_0x88702a[_0x30a573(_0x443cd0._0x1ede7e)+_0x30a573(_0x443cd0._0x1ebac7)],undefined)||_0x64daa7[_0x62b53f(_0x443cd0._0x1f8f83)+'h'](_0x88702a[_0x62b53f(_0x443cd0._0x212a83)+_0x62b53f(_0x443cd0._0x50348d)],null))&&_0x88702a[_0x30a573(0x238)+_0x62b53f(_0x443cd0._0x44ae0b)][_0x62b53f(_0x443cd0._0x25020f)+_0x62b53f(_0x443cd0._0x2ce2ed)](_0x30a573(0x185)+_0x62b53f(_0x443cd0._0x98f45a)+_0x30a573(_0x443cd0._0x560e7f)+_0x62b53f(_0x443cd0._0x3347e1)+'e',_0x25ec67[_0x30a573(0x210)+_0x62b53f(_0x443cd0._0x9c3595)]()));if((_0x88702a[_0x62b53f(_0x443cd0._0x212a83)+_0x62b53f(_0x443cd0._0x22b466)]===undefined||_0x88702a[_0x62b53f(_0x443cd0._0x188d40)+_0x30a573(_0x443cd0._0x2cdf0d)]===null)&&_0x25ec67<_0x67305d){if(_0x88702a[_0x30a573(_0x443cd0._0x1a1a4e)+_0x30a573(_0x443cd0._0x3ef1b5)+'y'])_0x88702a[_0x30a573(_0x443cd0._0x1a1a4e)+_0x62b53f(_0x443cd0._0x17dd10)+'y']();return{'valid':![],'tier':null,'reason':_0x30a573(_0x443cd0._0x4f8ef8)+_0x30a573(_0x443cd0._0x3bd3db)+_0x62b53f(_0x443cd0._0xd20d29)+_0x62b53f(_0x443cd0._0x4bbbe2)+_0x30a573(_0x443cd0._0x32d263)+_0x30a573(_0x443cd0._0x45d0a2)+_0x30a573(_0x443cd0._0x596863)+_0x62b53f(_0x443cd0._0x19d5a6)};}const _0x12e8c4=typeof atob!==_0x30a573(_0x443cd0._0x3357ec)+_0x62b53f(_0x443cd0._0x5bc820)+'d'?atob:_0x530ea0=>Buffer[_0x62b53f(0x14d)](_0x530ea0,_0x62b53f(0x17d)+'64')[_0x62b53f(0x210)+_0x30a573(0x193)](_0x62b53f(0x143)+'ry');if(_0x2187f5[_0x62b53f(_0x443cd0._0xb8eb81)+_0x30a573(_0x443cd0._0x49fc8a)+'th'](_0x62b53f(_0x443cd0._0x22dace)+_0x62b53f(_0x443cd0._0x54fbd4)+'-'))try{const _0x39a24b=_0x3596e9[_0x30a573(_0x443cd0._0x25d80b)+_0x62b53f(0x170)+'g'](0x9),_0x51d023=_0x12e8c4(_0x39a24b),_0x3f408d=new Uint8Array(_0x51d023[_0x30a573(_0x443cd0._0x9b4c0d)+'th']);for(let _0x7eb900=0x0;_0x64daa7[_0x62b53f(_0x443cd0._0x3541ec)+'q'](_0x7eb900,_0x51d023[_0x62b53f(0x1e3)+'th']);_0x7eb900++){_0x3f408d[_0x7eb900]=_0x51d023[_0x30a573(_0x443cd0._0x2a2744)+_0x62b53f(_0x443cd0._0x407fa8)+'At'](_0x7eb900);}let _0x324927='';for(let _0x5c8956=0x0;_0x5c8956<_0x3f408d[_0x62b53f(0x1e3)+'th'];_0x5c8956++){_0x324927+=_0x3f408d[_0x5c8956][_0x62b53f(0x210)+_0x62b53f(0x193)](0x10)[_0x62b53f(_0x443cd0._0x34f8cc)+_0x62b53f(_0x443cd0._0x14dc96)](0x2,'0');}const _0x7a4ab9=BigInt(_0x64daa7[_0x62b53f(_0x443cd0._0xb9341e)+'r']('0x',_0x324927)),_0x56ccc7=_0xb4bf9e(_0x7a4ab9,_0x22c4bc,_0x336167),_0x17885d=_0x43dc62(_0x56ccc7);if(_0x17885d[_0x30a573(_0x443cd0._0x55fa5c)+_0x62b53f(0x222)+'th'](_0x64daa7[_0x30a573(0x16e)+'t'])){const _0x3ebcdf=parseInt(_0x17885d[_0x62b53f(_0x443cd0._0x18ad7d)+_0x62b53f(_0x443cd0._0x2de1ff)+'g'](0xb),0xa);if(!_0x64daa7[_0x30a573(_0x443cd0._0x58d5a1)+'B'](isNaN,_0x3ebcdf)){if(_0x25ec67<_0x3ebcdf)return{'valid':!![],'tier':_0x30a573(_0x443cd0._0x199277)+'S','expires':_0x3ebcdf};if(_0x88702a[_0x30a573(_0x443cd0._0x25493f)+_0x30a573(_0x443cd0._0x33040e)+'d'])_0x88702a[_0x30a573(_0x443cd0._0x7672ea)+_0x62b53f(0x164)+'d'](_0x62b53f(_0x443cd0._0x44efae)+'t');return{'valid':![],'tier':null,'reason':_0x30a573(0x186)+_0x62b53f(_0x443cd0._0x3e3a25)+_0x62b53f(_0x443cd0._0x33040e)+'d'};}}}catch(_0x5458df){return{'valid':![],'tier':null,'reason':_0x30a573(_0x443cd0._0x26f2de)+_0x62b53f(_0x443cd0._0x1203c2)+_0x62b53f(_0x443cd0._0x49d683)+_0x30a573(_0x443cd0._0x5ed06d)+_0x30a573(_0x443cd0._0x492a00)+_0x62b53f(_0x443cd0._0x344d63)};}if(_0x2187f5[_0x62b53f(_0x443cd0._0x40ad98)+_0x62b53f(_0x443cd0._0x49fc8a)+'th'](_0x62b53f(_0x443cd0._0x3dd0ae)+_0x62b53f(0x218)))try{const _0x5d8ed4=_0x3596e9[_0x62b53f(_0x443cd0._0x25d80b)+_0x62b53f(0x170)+'g'](0x7),_0x441430=_0x12e8c4(_0x5d8ed4),_0x2de133=new Uint8Array(_0x441430[_0x62b53f(_0x443cd0._0x9b4c0d)+'th']);for(let _0x5dea98=0x0;_0x5dea98<_0x441430[_0x30a573(0x1e3)+'th'];_0x5dea98++){_0x2de133[_0x5dea98]=_0x441430[_0x62b53f(0x131)+_0x62b53f(_0x443cd0._0x942d85)+'At'](_0x5dea98);}let _0x4552c8='';for(let _0x2dc9b3=0x0;_0x2dc9b3<_0x2de133[_0x62b53f(_0x443cd0._0x4180d8)+'th'];_0x2dc9b3++){_0x4552c8+=_0x2de133[_0x2dc9b3][_0x62b53f(_0x443cd0._0x3a1b1f)+_0x62b53f(0x193)](0x10)[_0x62b53f(_0x443cd0._0x8459a3)+_0x62b53f(_0x443cd0._0x14dc96)](0x2,'0');}const _0x5115c1=BigInt('0x'+_0x4552c8),_0x5b50dc=_0xb4bf9e(_0x5115c1,_0x22c4bc,_0x336167),_0x1beec4=_0x43dc62(_0x5b50dc);if(_0x1beec4[_0x30a573(_0x443cd0._0xb8eb81)+_0x62b53f(_0x443cd0._0x3c4d84)+'th'](_0x30a573(_0x443cd0._0x30d30f)+_0x30a573(_0x443cd0._0x2d910e)+'-')){const _0x175835=_0x1beec4[_0x62b53f(0x1b9)+'t']('-');if(_0x175835[_0x30a573(0x1e3)+'th']>=0x5){const _0x5aa725=_0x175835[0x2],_0x3ef1e6=_0x64daa7[_0x62b53f(_0x443cd0._0x260888)+'S'](parseInt,_0x175835[0x4],0xa);if(!isNaN(_0x3ef1e6)){if(_0x25ec67<_0x3ef1e6)return{'valid':!![],'tier':_0x5aa725,'expires':_0x3ef1e6};if(_0x88702a[_0x30a573(_0x443cd0._0x25493f)+_0x62b53f(0x164)+'d'])_0x88702a[_0x30a573(_0x443cd0._0x7672ea)+_0x30a573(_0x443cd0._0x502727)+'d'](_0x64daa7[_0x62b53f(_0x443cd0._0x45ea12)+'r']);return{'valid':![],'tier':null,'reason':_0x62b53f(_0x443cd0._0x36313e)+_0x30a573(0x1e7)+_0x30a573(0x1e5)+_0x30a573(_0x443cd0._0x2db297)};}}}}catch(_0xbfec0c){return{'valid':![],'tier':null,'reason':_0x30a573(_0x443cd0._0x36313e)+_0x30a573(_0x443cd0._0x25f13b)+_0x30a573(_0x443cd0._0x43e2e7)+_0x62b53f(_0x443cd0._0x2b4c78)+_0x30a573(_0x443cd0._0x1ebfb8)+'d'};}if(_0x2e8627[_0x62b53f(_0x443cd0._0x1ad164)+'th']===0x4&&_0x2e8627[0x0]==='PS'&&[_0x62b53f(_0x443cd0._0x1eb598),_0x62b53f(_0x443cd0._0x199277)+'S',_0x62b53f(_0x443cd0._0x4faf8a),_0x62b53f(_0x443cd0._0x5ba47c),_0x64daa7[_0x30a573(_0x443cd0._0x9464)+'v']][_0x30a573(0x1eb)+_0x30a573(0x1de)](_0x2e8627[0x1])){const _0x481170=_0x2e8627[0x1],_0x13d289=_0x2e8627[0x2],_0x3a1272=_0x2e8627[0x3],_0x5a21ff=_0x30a573(_0x443cd0._0x2d892a)+_0x62b53f(0x213)+_0x30a573(_0x443cd0._0x24bda0)+_0x30a573(_0x443cd0._0x187aed)+'@#',_0xcc6fff=_0x64daa7[_0x62b53f(0x1ef)+'Q'](_0x13d289+_0x5a21ff,_0x481170);let _0x3f0bef=0x0;for(let _0xa2a409=0x0;_0xa2a409<_0xcc6fff[_0x30a573(_0x443cd0._0x50b4d4)+'th'];_0xa2a409++){_0x3f0bef+=_0xcc6fff[_0x62b53f(_0x443cd0._0x2a2744)+_0x30a573(_0x443cd0._0x5223de)+'At'](_0xa2a409)*_0x64daa7[_0x62b53f(0x1f3)+'r'](_0xa2a409,0x1);}const _0x3b1446=(_0x3f0bef%0x270f)[_0x30a573(0x210)+_0x62b53f(_0x443cd0._0x9c3595)]()[_0x30a573(_0x443cd0._0x34f8cc)+_0x62b53f(_0x443cd0._0x288cea)](0x4,'0');if(_0x3a1272===_0x3b1446)return{'valid':!![],'tier':_0x481170};}if(_0x3596e9[_0x30a573(_0x443cd0._0x40ad98)+_0x62b53f(_0x443cd0._0x1325b8)+'th'](_0x30a573(_0x443cd0._0xb77296))&&_0x3596e9[_0x30a573(_0x443cd0._0x2c7bea)+'t']('.')[_0x62b53f(_0x443cd0._0x489ea4)+'th']===0x3)try{const [_0x326726,_0x28d5fb,_0xde7d36]=_0x3596e9[_0x62b53f(_0x443cd0._0x2c7bea)+'t']('.');let _0x991f96=_0xde7d36[_0x30a573(0x21f)+_0x62b53f(_0x443cd0._0x5d4687)](/-/g,'+')[_0x62b53f(_0x443cd0._0x16dc14)+_0x30a573(_0x443cd0._0x1ff877)](/_/g,'/');while(_0x991f96[_0x62b53f(0x1e3)+'th']%0x4)_0x991f96+='=';const _0x56f354=_0x64daa7[_0x30a573(0x1bc)+'S'](_0x12e8c4,_0x991f96);let _0x4b494b='';for(let _0x739421=0x0;_0x739421<_0x56f354[_0x30a573(_0x443cd0._0x186615)+'th'];_0x739421++){_0x4b494b+=_0x56f354[_0x62b53f(_0x443cd0._0x2a2744)+_0x62b53f(0x1d1)+'At'](_0x739421)[_0x62b53f(_0x443cd0._0x3a1b1f)+_0x30a573(0x193)](0x10)[_0x62b53f(_0x443cd0._0x8459a3)+_0x62b53f(_0x443cd0._0x288cea)](0x2,'0');}const _0x42c635=BigInt('0x'+_0x4b494b),_0x2f1c6b=_0xb4bf9e(_0x42c635,_0x22c4bc,_0x336167);let _0x38c813=_0x2f1c6b[_0x62b53f(_0x443cd0._0x3a1b1f)+_0x30a573(_0x443cd0._0x9c3595)](0x10);if(_0x38c813[_0x30a573(_0x443cd0._0x489ea4)+'th']%0x2!==0x0)_0x38c813=_0x64daa7[_0x30a573(0x243)+'A']('0',_0x38c813);const _0x31cd4d=_0xe2a300(_0x326726+'.'+_0x28d5fb);if(_0x38c813[_0x62b53f(_0x443cd0._0x2fd234)+_0x62b53f(_0x443cd0._0x419f75)](_0x31cd4d)){const _0x50fa70=_0x12e8c4(_0x28d5fb[_0x30a573(_0x443cd0._0x16dc14)+_0x30a573(_0x443cd0._0x268200)](/-/g,'+')[_0x62b53f(0x21f)+_0x30a573(0x211)](/_/g,'/')),_0x63462a=JSON[_0x62b53f(0x15f)+'e'](_0x50fa70);if(_0x63462a[_0x62b53f(_0x443cd0._0x14eb1e)]&&_0x25ec67/0x3e8<_0x63462a[_0x30a573(_0x443cd0._0x14eb1e)])return{'valid':!![],'tier':_0x63462a[_0x62b53f(_0x443cd0._0x58d9f1)]||_0x64daa7[_0x62b53f(_0x443cd0._0x45cc1d)+'Q'],'expires':_0x63462a[_0x30a573(_0x443cd0._0x2b0e77)]*0x3e8};else{if(_0x88702a[_0x30a573(0x237)+_0x30a573(_0x443cd0._0xa76a69)+'d'])_0x88702a[_0x30a573(0x237)+_0x62b53f(0x164)+'d'](_0x30a573(_0x443cd0._0x28b5da));return{'valid':![],'tier':null,'reason':_0x30a573(_0x443cd0._0x332b01)+_0x62b53f(_0x443cd0._0x4ca76c)+_0x30a573(0x1ae)};}}}catch(_0x272326){return{'valid':![],'tier':null,'reason':_0x62b53f(0x184)+_0x62b53f(_0x443cd0._0x20b157)+_0x62b53f(_0x443cd0._0x155305)+_0x30a573(_0x443cd0._0x420767)+_0x62b53f(_0x443cd0._0x1ebfb8)+'d'};}return{'valid':![],'tier':null,'reason':_0x30a573(_0x443cd0._0x1da84f)+_0x30a573(_0x443cd0._0x25e0c8)+_0x30a573(_0x443cd0._0x2ccf62)+'at'};}}typeof globalThis!==_0x2cd4f7(_0x5173d1._0x43fc65)+_0x195c6e(_0x5173d1._0x2119cc)+'d'&&(globalThis[_0x195c6e(_0x5173d1._0x1868b6)+_0x195c6e(_0x5173d1._0x5794f0)+_0x2cd4f7(0x12d)+'er']=LicenseManager),typeof _0x9b4e2!==_0x64daa7[_0x2cd4f7(0x242)+'Y']&&(_0x9b4e2[_0x195c6e(0x19e)+_0x195c6e(_0x5173d1._0x5794f0)+_0x195c6e(_0x5173d1._0x1c1fc5)+'er']=LicenseManager),typeof window!==_0x2cd4f7(0x23b)+_0x2cd4f7(_0x5173d1._0x2119cc)+'d'&&(window[_0x195c6e(_0x5173d1._0xb3d258)+_0x195c6e(_0x5173d1._0x1ca989)+_0x2cd4f7(_0x5173d1._0x21793f)+'er']=LicenseManager),typeof exports!==_0x195c6e(_0x5173d1._0x43fc65)+_0x195c6e(_0x5173d1._0xa92e13)+'d'&&(typeof module!==_0x195c6e(_0x5173d1._0x18c7bb)+_0x2cd4f7(0x1c1)+'d'&&module[_0x195c6e(_0x5173d1._0x3d0895)+_0x2cd4f7(0x151)]&&(module[_0x195c6e(0x19a)+_0x2cd4f7(_0x5173d1._0x13cada)]=LicenseManager),exports[_0x195c6e(_0x5173d1._0xcaf5c1)+_0x2cd4f7(_0x5173d1._0x490bdc)+_0x2cd4f7(_0x5173d1._0x45aec1)+'er']=LicenseManager);}(typeof globalThis!==_0x518af7(0x23b)+_0x518af7(0x1c1)+'d'?globalThis:typeof window!==_0x518af7(0x23b)+_0x8ee5bb(0x1c1)+'d'?window:this));
|