@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 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-00](https://datatracker.ietf.org/doc/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/features/mcp/?utm_source=npm&utm_medium=readme&utm_campaign=mcp_server โ•‘
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 Standards Track** | [`draft-sibiryakov-ztds-protocol`](https://datatracker.ietf.org/doc/draft-sibiryakov-ztds-protocol/) | The ZTDS Protocol for Frontier AI Ingestion | Global AI Privacy, Zero-Egress Architecture |
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
- - **Standards Track:** IETF Internet Standard Track
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-00.txt](https://www.ietf.org/archive/id/draft-sibiryakov-ztds-protocol-00.txt)
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 ($199/mo): [privacyscrubber.com/pricing](https://privacyscrubber.com/pricing)\n`
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/pricing](https://privacyscrubber.com/pricing)\n`;
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/pricing](https://privacyscrubber.com/pricing)\n`;
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 { scrubbedText, newTokens } = performSanitization(processedText, targetProfile, sessionIgnoreList);
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 restored = reverseTokens(item, targetSession);
2444
- for (const token of Object.keys(targetSession)) {
2445
- if (item.includes(token)) totalTokensRestored++;
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 restored = reverseTokens(rawText, targetSession);
2452
- for (const token of Object.keys(targetSession)) {
2453
- if (rawText.includes(token)) totalTokensRestored++;
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 ($199/mo) for unlimited payload processing: https://privacyscrubber.com/pricing]`;
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/pricing${colors.reset}\n`);
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",
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.5",
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",
@@ -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 ($199/mo) for unlimited payload processing: https://privacyscrubber.com/pricing]` : '');
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 ($199/mo): https://privacyscrubber.com/pricing\x1b[0m\n`);
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/pricing)`);
440
+ console.log(` Backend SDK: npm install @privacyscrubber/sdk (https://privacyscrubber.com/sdk/)`);
441
441
  process.exit(0);
442
442
  }
443
443
 
@@ -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));