@lmnr-ai/lmnr 0.8.55 → 0.8.56
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/dist/cli.cjs +2 -2
- package/dist/cli.mjs +2 -2
- package/dist/{file-utils-qSiXXrPa.mjs → file-utils-CiR_YsZk.mjs} +2 -2
- package/dist/{file-utils-qSiXXrPa.mjs.map → file-utils-CiR_YsZk.mjs.map} +1 -1
- package/dist/{file-utils-DvRb07ah.cjs → file-utils-DtKWWs97.cjs} +2 -2
- package/dist/{file-utils-DvRb07ah.cjs.map → file-utils-DtKWWs97.cjs.map} +1 -1
- package/dist/index.cjs +133 -113
- package/dist/index.cjs.map +1 -1
- package/dist/index.mjs +133 -113
- package/dist/index.mjs.map +1 -1
- package/dist/{utils-C3QuhVGE.cjs → utils-BAzOE-Nt.cjs} +3 -3
- package/dist/{utils-C3QuhVGE.cjs.map → utils-BAzOE-Nt.cjs.map} +1 -1
- package/dist/{utils-B7IKRw5F.mjs → utils-DCGUR332.mjs} +3 -3
- package/dist/{utils-B7IKRw5F.mjs.map → utils-DCGUR332.mjs.map} +1 -1
- package/package.json +6 -6
package/dist/index.cjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
2
|
const require_rolldown_runtime = require("./rolldown-runtime-C-fzZZTt.cjs");
|
|
3
|
-
const require_utils = require("./utils-
|
|
3
|
+
const require_utils = require("./utils-BAzOE-Nt.cjs");
|
|
4
4
|
const require_consts = require("./consts-X-pnRGD0.cjs");
|
|
5
5
|
let path = require("path");
|
|
6
6
|
path = require_rolldown_runtime.__toESM(path);
|
|
@@ -31,6 +31,7 @@ net = require_rolldown_runtime.__toESM(net);
|
|
|
31
31
|
let os = require("os");
|
|
32
32
|
os = require_rolldown_runtime.__toESM(os);
|
|
33
33
|
let async_hooks = require("async_hooks");
|
|
34
|
+
let zod = require("zod");
|
|
34
35
|
let zod_to_json_schema = require("zod-to-json-schema");
|
|
35
36
|
let _opentelemetry_core = require("@opentelemetry/core");
|
|
36
37
|
let node_async_hooks = require("node:async_hooks");
|
|
@@ -208,7 +209,7 @@ var LaminarDataset = class extends EvaluationDataset {
|
|
|
208
209
|
*/
|
|
209
210
|
async push(paths, recursive = false) {
|
|
210
211
|
if (!this.client) throw new Error("Client not set");
|
|
211
|
-
const { loadFromPaths } = await Promise.resolve().then(() => require("./file-utils-
|
|
212
|
+
const { loadFromPaths } = await Promise.resolve().then(() => require("./file-utils-DtKWWs97.cjs")).then((n) => n.file_utils_exports);
|
|
212
213
|
const data = await loadFromPaths(Array.isArray(paths) ? paths : [paths], recursive);
|
|
213
214
|
if (data.length === 0) {
|
|
214
215
|
console.warn("No data to push. Skipping");
|
|
@@ -223,7 +224,7 @@ var LaminarDataset = class extends EvaluationDataset {
|
|
|
223
224
|
}
|
|
224
225
|
};
|
|
225
226
|
// src/opentelemetry-lib/tracing/compat.ts
|
|
226
|
-
const logger$
|
|
227
|
+
const logger$32 = require_utils.initializeLogger();
|
|
227
228
|
const makeSpanOtelV2Compatible = (span) => {
|
|
228
229
|
const spanAny = span;
|
|
229
230
|
if (spanAny.instrumentationScope && !spanAny.instrumentationLibrary) Object.assign(span, { instrumentationLibrary: spanAny.instrumentationScope });
|
|
@@ -269,7 +270,7 @@ const createResource = (attributes) => {
|
|
|
269
270
|
if (resources.Resource) return new resources.Resource(attributes);
|
|
270
271
|
throw new Error("Unable to create Resource: neither v1 nor v2 API found");
|
|
271
272
|
} catch {
|
|
272
|
-
logger$
|
|
273
|
+
logger$32.debug("Laminar failed to @opentelemetry/resources, continuing without it");
|
|
273
274
|
return;
|
|
274
275
|
}
|
|
275
276
|
};
|
|
@@ -469,7 +470,7 @@ const consumeResponse = async (response) => {
|
|
|
469
470
|
};
|
|
470
471
|
};
|
|
471
472
|
// src/opentelemetry-lib/tracing/stream-utils.ts
|
|
472
|
-
const logger$
|
|
473
|
+
const logger$31 = require_utils.initializeLogger();
|
|
473
474
|
const pendingStreamProcessing = /* @__PURE__ */ new Set();
|
|
474
475
|
/**
|
|
475
476
|
* Wait for all pending stream processing to complete with a timeout
|
|
@@ -477,7 +478,7 @@ const pendingStreamProcessing = /* @__PURE__ */ new Set();
|
|
|
477
478
|
*/
|
|
478
479
|
const waitForPendingStreams = async (timeoutMs = 5e3) => {
|
|
479
480
|
if (pendingStreamProcessing.size === 0) return;
|
|
480
|
-
logger$
|
|
481
|
+
logger$31.debug(`Waiting for ${pendingStreamProcessing.size} pending stream(s)`);
|
|
481
482
|
const initialCount = pendingStreamProcessing.size;
|
|
482
483
|
const pendingPromises = Array.from(pendingStreamProcessing);
|
|
483
484
|
let timedOut = false;
|
|
@@ -488,7 +489,7 @@ const waitForPendingStreams = async (timeoutMs = 5e3) => {
|
|
|
488
489
|
}, timeoutMs);
|
|
489
490
|
});
|
|
490
491
|
await Promise.race([Promise.allSettled(pendingPromises), timeoutPromise]);
|
|
491
|
-
if (timedOut && pendingStreamProcessing.size > 0) logger$
|
|
492
|
+
if (timedOut && pendingStreamProcessing.size > 0) logger$31.warn(`Timeout waiting for ${pendingStreamProcessing.size} pending stream(s) after ${timeoutMs}ms (started with ${initialCount})`);
|
|
492
493
|
};
|
|
493
494
|
/**
|
|
494
495
|
* Track a background promise and ensure cleanup
|
|
@@ -504,34 +505,34 @@ const trackStreamProcessing = (task) => {
|
|
|
504
505
|
* while passing through the original result to the caller
|
|
505
506
|
*/
|
|
506
507
|
const handleStreamResult = (originalResult, streamInfo, span, ignoreOutput, serialize) => {
|
|
507
|
-
logger$
|
|
508
|
+
logger$31.debug(`Handling stream result of type: ${streamInfo.type}`);
|
|
508
509
|
if (streamInfo.type === "aisdk-result") {
|
|
509
510
|
trackStreamProcessing(async () => {
|
|
510
|
-
logger$
|
|
511
|
+
logger$31.debug("Starting background processing for AI SDK result");
|
|
511
512
|
let partialOutput = {};
|
|
512
513
|
try {
|
|
513
514
|
partialOutput = await consumeAISDKResult(streamInfo.result);
|
|
514
515
|
if (shouldSendTraces() && !ignoreOutput) try {
|
|
515
516
|
span.setAttribute(require_utils.SPAN_OUTPUT, serialize(partialOutput));
|
|
516
517
|
} catch (error) {
|
|
517
|
-
logger$
|
|
518
|
+
logger$31.warn("Failed to serialize AI SDK stream output: " + require_utils.errorMessage(error));
|
|
518
519
|
}
|
|
519
520
|
} catch (error) {
|
|
520
521
|
if (Object.keys(partialOutput).length > 0 && shouldSendTraces() && !ignoreOutput) try {
|
|
521
522
|
span.setAttribute(require_utils.SPAN_OUTPUT, serialize(partialOutput));
|
|
522
523
|
} catch (serError) {
|
|
523
|
-
logger$
|
|
524
|
+
logger$31.warn("Failed to serialize partial AI SDK output: " + require_utils.errorMessage(serError));
|
|
524
525
|
}
|
|
525
526
|
span.recordException(error);
|
|
526
527
|
} finally {
|
|
527
|
-
logger$
|
|
528
|
+
logger$31.debug("Ending span for AI SDK result");
|
|
528
529
|
span.end();
|
|
529
530
|
}
|
|
530
531
|
});
|
|
531
532
|
return originalResult;
|
|
532
533
|
}
|
|
533
534
|
if (streamInfo.type === "readable-stream") {
|
|
534
|
-
logger$
|
|
535
|
+
logger$31.debug("Setting up background processing for ReadableStream");
|
|
535
536
|
const { stream, dataPromise } = consumeAndTeeReadableStream(streamInfo.stream);
|
|
536
537
|
trackStreamProcessing(async () => {
|
|
537
538
|
try {
|
|
@@ -543,18 +544,18 @@ const handleStreamResult = (originalResult, streamInfo, span, ignoreOutput, seri
|
|
|
543
544
|
};
|
|
544
545
|
span.setAttribute(require_utils.SPAN_OUTPUT, serialize(output));
|
|
545
546
|
} catch (serError) {
|
|
546
|
-
logger$
|
|
547
|
+
logger$31.warn("Failed to serialize stream output: " + require_utils.errorMessage(serError));
|
|
547
548
|
}
|
|
548
549
|
if (error) span.recordException(error);
|
|
549
550
|
} finally {
|
|
550
|
-
logger$
|
|
551
|
+
logger$31.debug("Ending span for ReadableStream");
|
|
551
552
|
span.end();
|
|
552
553
|
}
|
|
553
554
|
});
|
|
554
555
|
return stream;
|
|
555
556
|
}
|
|
556
557
|
if (streamInfo.type === "async-iterable") {
|
|
557
|
-
logger$
|
|
558
|
+
logger$31.debug("Setting up background processing for AsyncIterable");
|
|
558
559
|
const { iterable, dataPromise } = consumeAndTeeAsyncIterable(streamInfo.iterable);
|
|
559
560
|
trackStreamProcessing(async () => {
|
|
560
561
|
try {
|
|
@@ -566,18 +567,18 @@ const handleStreamResult = (originalResult, streamInfo, span, ignoreOutput, seri
|
|
|
566
567
|
};
|
|
567
568
|
span.setAttribute(require_utils.SPAN_OUTPUT, serialize(output));
|
|
568
569
|
} catch (serError) {
|
|
569
|
-
logger$
|
|
570
|
+
logger$31.warn("Failed to serialize async iterable output: " + require_utils.errorMessage(serError));
|
|
570
571
|
}
|
|
571
572
|
if (error) span.recordException(error);
|
|
572
573
|
} finally {
|
|
573
|
-
logger$
|
|
574
|
+
logger$31.debug("Ending span for AsyncIterable");
|
|
574
575
|
span.end();
|
|
575
576
|
}
|
|
576
577
|
});
|
|
577
578
|
return iterable;
|
|
578
579
|
}
|
|
579
580
|
if (streamInfo.type === "response") {
|
|
580
|
-
logger$
|
|
581
|
+
logger$31.debug("Setting up background processing for Response");
|
|
581
582
|
const originalResponse = streamInfo.response;
|
|
582
583
|
if (!originalResponse.body) {
|
|
583
584
|
span.end();
|
|
@@ -600,19 +601,19 @@ const handleStreamResult = (originalResult, streamInfo, span, ignoreOutput, seri
|
|
|
600
601
|
};
|
|
601
602
|
span.setAttribute(require_utils.SPAN_OUTPUT, serialize(output));
|
|
602
603
|
} catch (serError) {
|
|
603
|
-
logger$
|
|
604
|
+
logger$31.warn("Failed to serialize response output: " + require_utils.errorMessage(serError));
|
|
604
605
|
}
|
|
605
606
|
if (error) span.recordException(error);
|
|
606
607
|
} catch (err) {
|
|
607
608
|
span.recordException(err);
|
|
608
609
|
} finally {
|
|
609
|
-
logger$
|
|
610
|
+
logger$31.debug("Ending span for Response");
|
|
610
611
|
span.end();
|
|
611
612
|
}
|
|
612
613
|
});
|
|
613
614
|
return newResponse;
|
|
614
615
|
}
|
|
615
|
-
logger$
|
|
616
|
+
logger$31.warn("Stream type not handled, ending span immediately");
|
|
616
617
|
span.end();
|
|
617
618
|
return originalResult;
|
|
618
619
|
};
|
|
@@ -688,7 +689,7 @@ const writeDebugSessionFile = (file, dir = process.cwd()) => {
|
|
|
688
689
|
* contract. This file is part of the cross-language parity surface — keep its
|
|
689
690
|
* logic line-comparable with the Python `config.py`.
|
|
690
691
|
*/
|
|
691
|
-
const logger$
|
|
692
|
+
const logger$30 = require_utils.initializeLogger();
|
|
692
693
|
const TRUTHY = /* @__PURE__ */ new Set([
|
|
693
694
|
"true",
|
|
694
695
|
"1",
|
|
@@ -724,7 +725,7 @@ const parseCacheUntil = (value) => {
|
|
|
724
725
|
if (value === void 0 || value === "") return null;
|
|
725
726
|
const spanId = normalizeSpanId(value);
|
|
726
727
|
if (spanId !== null) return spanId;
|
|
727
|
-
logger$
|
|
728
|
+
logger$30.warn(`LMNR_DEBUG_CACHE_UNTIL=${JSON.stringify(value)} is not a span id; ignoring`);
|
|
728
729
|
return null;
|
|
729
730
|
};
|
|
730
731
|
/**
|
|
@@ -1304,7 +1305,7 @@ var LaminarInstrumentation = class extends _opentelemetry_instrumentation.Instru
|
|
|
1304
1305
|
* recording errors without breaking the user's call, and tracing SDK calls
|
|
1305
1306
|
* and streams while keeping the objects the SDK returns.
|
|
1306
1307
|
*/
|
|
1307
|
-
const logger$
|
|
1308
|
+
const logger$29 = require_utils.initializeLogger();
|
|
1308
1309
|
/**
|
|
1309
1310
|
* Set an attribute unless the value is `null`, `undefined`, an empty string
|
|
1310
1311
|
* or an empty array.
|
|
@@ -1358,7 +1359,7 @@ const safely = (fn) => {
|
|
|
1358
1359
|
try {
|
|
1359
1360
|
return fn();
|
|
1360
1361
|
} catch (error) {
|
|
1361
|
-
logger$
|
|
1362
|
+
logger$29.debug(`Instrumentation code failed: ${require_utils.errorMessage(error)}`);
|
|
1362
1363
|
return;
|
|
1363
1364
|
}
|
|
1364
1365
|
};
|
|
@@ -1434,7 +1435,7 @@ const traceCall = (span, call, onSuccess) => {
|
|
|
1434
1435
|
try {
|
|
1435
1436
|
return onSuccess(data);
|
|
1436
1437
|
} catch (error) {
|
|
1437
|
-
logger$
|
|
1438
|
+
logger$29.debug(`Instrumentation code failed: ${require_utils.errorMessage(error)}`);
|
|
1438
1439
|
span.end();
|
|
1439
1440
|
return data;
|
|
1440
1441
|
}
|
|
@@ -1498,7 +1499,7 @@ const instrumentStream = (stream, { onEvent, onDone }) => {
|
|
|
1498
1499
|
stream[Symbol.asyncIterator] = wrap(stream[Symbol.asyncIterator].bind(stream));
|
|
1499
1500
|
};
|
|
1500
1501
|
// src/opentelemetry-lib/tracing/span.ts
|
|
1501
|
-
const logger$
|
|
1502
|
+
const logger$28 = require_utils.initializeLogger();
|
|
1502
1503
|
/**
|
|
1503
1504
|
* Build the debug block to propagate, or undefined when debug mode is off.
|
|
1504
1505
|
*
|
|
@@ -1649,7 +1650,7 @@ var LaminarSpan = class LaminarSpan {
|
|
|
1649
1650
|
} catch {}
|
|
1650
1651
|
metadata[key.replace(`${require_utils.ASSOCIATION_PROPERTIES}.metadata.`, "")] = value;
|
|
1651
1652
|
}
|
|
1652
|
-
} else logger$
|
|
1653
|
+
} else logger$28.warn("Attributes object is not available. Most likely the span is not a LaminarSpan and not an OpenTelemetry default SDK Span. Span path and ids path will be empty.");
|
|
1653
1654
|
return {
|
|
1654
1655
|
spanId: require_utils.otelSpanIdToUUID(this._span.spanContext().spanId),
|
|
1655
1656
|
traceId: require_utils.otelTraceIdToUUID(this._span.spanContext().traceId),
|
|
@@ -1676,14 +1677,14 @@ var LaminarSpan = class LaminarSpan {
|
|
|
1676
1677
|
}
|
|
1677
1678
|
get tags() {
|
|
1678
1679
|
if (!this._span.attributes) {
|
|
1679
|
-
logger$
|
|
1680
|
+
logger$28.warn("[LaminarSpan.tags] WARNING. Current span does not have attributes object. Possibly, the span was created with a custom OTel SDK. Returning an empty list. Help: OpenTelemetry API does not guarantee reading attributes from a span, but OTel SDK allows it by default. Laminar SDK allows to read attributes too.");
|
|
1680
1681
|
return [];
|
|
1681
1682
|
}
|
|
1682
1683
|
return this._span.attributes[`lmnr.association.properties.tags`] ?? [];
|
|
1683
1684
|
}
|
|
1684
1685
|
get laminarAssociationProperties() {
|
|
1685
1686
|
if (!this._span.attributes) {
|
|
1686
|
-
logger$
|
|
1687
|
+
logger$28.warn("[LaminarSpan.laminarAssociationProperties] WARNING. Current span does not have attributes object. Possibly, the span was created with a custom OTel SDK. Returning an empty object. Help: OpenTelemetry API does not guarantee reading attributes from a span, but OTel SDK allows it by default. Laminar SDK allows to read attributes too.");
|
|
1687
1688
|
return {};
|
|
1688
1689
|
}
|
|
1689
1690
|
try {
|
|
@@ -1877,7 +1878,7 @@ var LaminarContextManager = class {
|
|
|
1877
1878
|
}
|
|
1878
1879
|
};
|
|
1879
1880
|
// src/opentelemetry-lib/instrumentation/claude-agent-sdk/proxy.ts
|
|
1880
|
-
const logger$
|
|
1881
|
+
const logger$27 = require_utils.initializeLogger();
|
|
1881
1882
|
const DEFAULT_ANTHROPIC_BASE_URL = "https://api.anthropic.com";
|
|
1882
1883
|
const DEFAULT_CC_PROXY_PORT = 45667;
|
|
1883
1884
|
const CC_PROXY_PORT_ATTEMPTS = 50;
|
|
@@ -2131,7 +2132,7 @@ const resolveTargetUrlFromEnv = (envDict, fallback = DEFAULT_ANTHROPIC_BASE_URL,
|
|
|
2131
2132
|
if (foundryBaseUrl) return foundryBaseUrl.replace(/\/$/, "");
|
|
2132
2133
|
const foundryResource = getEnvValue(FOUNDRY_RESOURCE_ENV);
|
|
2133
2134
|
if (foundryResource) return `https://${foundryResource}.services.ai.azure.com/anthropic`;
|
|
2134
|
-
logger$
|
|
2135
|
+
logger$27.error(`${FOUNDRY_USE_ENV} is set but neither ${FOUNDRY_BASE_URL_ENV} nor ${FOUNDRY_RESOURCE_ENV} is configured. Microsoft Foundry requires one of these values.`);
|
|
2135
2136
|
return null;
|
|
2136
2137
|
}
|
|
2137
2138
|
if (isTruthyEnv(getEnvValue(BEDROCK_USE_ENV))) {
|
|
@@ -2143,7 +2144,7 @@ const resolveTargetUrlFromEnv = (envDict, fallback = DEFAULT_ANTHROPIC_BASE_URL,
|
|
|
2143
2144
|
region = getRegionFromAwsConfig(awsProfile) ?? void 0;
|
|
2144
2145
|
}
|
|
2145
2146
|
if (region) return `https://bedrock-runtime.${region}.amazonaws.com`;
|
|
2146
|
-
logger$
|
|
2147
|
+
logger$27.error(`${BEDROCK_USE_ENV} is set but could not determine AWS region. Set ${BEDROCK_AWS_REGION_ENV} or configure a region in ~/.aws/config for the active profile.`);
|
|
2147
2148
|
return null;
|
|
2148
2149
|
}
|
|
2149
2150
|
if (isTruthyEnv(getEnvValue(VERTEX_USE_ENV))) {
|
|
@@ -2226,11 +2227,11 @@ const waitForPort = (port, timeoutMs = 5e3) => new Promise((resolve) => {
|
|
|
2226
2227
|
const registerGlobalProxyShutdown = () => {
|
|
2227
2228
|
if (!globalShutdownRegistered) {
|
|
2228
2229
|
process.on("exit", () => {
|
|
2229
|
-
logger$
|
|
2230
|
+
logger$27.debug("process.on(\"exit\") called - stopping all active proxies");
|
|
2230
2231
|
for (const proxyServer of activeProxyServers) try {
|
|
2231
2232
|
proxyServer.stopServer();
|
|
2232
2233
|
} catch (e) {
|
|
2233
|
-
logger$
|
|
2234
|
+
logger$27.debug(`Failed to stop proxy: ${require_utils.errorMessage(e)}`);
|
|
2234
2235
|
}
|
|
2235
2236
|
activeProxyServers.clear();
|
|
2236
2237
|
});
|
|
@@ -2245,28 +2246,28 @@ const createProxyInstance = async ({ env, cwd, settingSources, settings, targetU
|
|
|
2245
2246
|
try {
|
|
2246
2247
|
const port = await findAvailablePort(DEFAULT_CC_PROXY_PORT, CC_PROXY_PORT_ATTEMPTS);
|
|
2247
2248
|
if (port === null) {
|
|
2248
|
-
logger$
|
|
2249
|
+
logger$27.warn("Unable to allocate port for cc-proxy.");
|
|
2249
2250
|
return null;
|
|
2250
2251
|
}
|
|
2251
2252
|
const targetUrl = resolvedTargetUrl ?? resolveTargetUrlFromEnv(env, void 0, cwd, settingSources, settings);
|
|
2252
2253
|
if (!targetUrl) {
|
|
2253
|
-
logger$
|
|
2254
|
+
logger$27.warn("Unable to resolve target URL for cc-proxy (provider misconfigured).");
|
|
2254
2255
|
return null;
|
|
2255
2256
|
}
|
|
2256
|
-
logger$
|
|
2257
|
+
logger$27.debug(`Creating proxy instance on port ${port} targeting: ${targetUrl}`);
|
|
2257
2258
|
try {
|
|
2258
2259
|
const { ProxyServer } = require("@lmnr-ai/claude-code-proxy");
|
|
2259
2260
|
const proxyServer = new ProxyServer(port);
|
|
2260
2261
|
proxyServer.runServer(targetUrl);
|
|
2261
2262
|
if (!await waitForPort(port)) {
|
|
2262
|
-
logger$
|
|
2263
|
+
logger$27.warn(`cc-proxy failed to start on port ${port}`);
|
|
2263
2264
|
proxyServer.stopServer();
|
|
2264
2265
|
return null;
|
|
2265
2266
|
}
|
|
2266
2267
|
const proxyBaseUrl = `http://127.0.0.1:${port}`;
|
|
2267
2268
|
activeProxyServers.add(proxyServer);
|
|
2268
2269
|
registerGlobalProxyShutdown();
|
|
2269
|
-
logger$
|
|
2270
|
+
logger$27.info(`Started claude proxy server on: ${proxyBaseUrl}`);
|
|
2270
2271
|
return {
|
|
2271
2272
|
server: proxyServer,
|
|
2272
2273
|
baseUrl: proxyBaseUrl,
|
|
@@ -2274,11 +2275,11 @@ const createProxyInstance = async ({ env, cwd, settingSources, settings, targetU
|
|
|
2274
2275
|
targetUrl
|
|
2275
2276
|
};
|
|
2276
2277
|
} catch (e) {
|
|
2277
|
-
logger$
|
|
2278
|
+
logger$27.warn(`Unable to start cc-proxy: ${require_utils.errorMessage(e)}`);
|
|
2278
2279
|
return null;
|
|
2279
2280
|
}
|
|
2280
2281
|
} catch (e) {
|
|
2281
|
-
logger$
|
|
2282
|
+
logger$27.warn(`Failed to create proxy instance: ${require_utils.errorMessage(e)}`);
|
|
2282
2283
|
return null;
|
|
2283
2284
|
}
|
|
2284
2285
|
};
|
|
@@ -2288,11 +2289,11 @@ const createProxyInstance = async ({ env, cwd, settingSources, settings, targetU
|
|
|
2288
2289
|
const stopProxyInstance = (instance) => {
|
|
2289
2290
|
if (!instance) return;
|
|
2290
2291
|
try {
|
|
2291
|
-
logger$
|
|
2292
|
+
logger$27.debug(`Stopping proxy instance on port ${instance.port}`);
|
|
2292
2293
|
instance.server.stopServer();
|
|
2293
2294
|
activeProxyServers.delete(instance.server);
|
|
2294
2295
|
} catch (e) {
|
|
2295
|
-
logger$
|
|
2296
|
+
logger$27.debug(`Failed to stop proxy instance: ${require_utils.errorMessage(e)}`);
|
|
2296
2297
|
}
|
|
2297
2298
|
};
|
|
2298
2299
|
/**
|
|
@@ -2300,11 +2301,11 @@ const stopProxyInstance = (instance) => {
|
|
|
2300
2301
|
* Used during shutdown to ensure cleanup
|
|
2301
2302
|
*/
|
|
2302
2303
|
const forceReleaseProxy = () => {
|
|
2303
|
-
logger$
|
|
2304
|
+
logger$27.debug(`Force stopping all ${activeProxyServers.size} active proxy servers`);
|
|
2304
2305
|
for (const proxyServer of activeProxyServers) try {
|
|
2305
2306
|
proxyServer.stopServer();
|
|
2306
2307
|
} catch (e) {
|
|
2307
|
-
logger$
|
|
2308
|
+
logger$27.debug(`Failed to stop proxy: ${require_utils.errorMessage(e)}`);
|
|
2308
2309
|
}
|
|
2309
2310
|
activeProxyServers.clear();
|
|
2310
2311
|
};
|
|
@@ -2354,13 +2355,13 @@ const setTraceToProxyInstance = async (instance) => {
|
|
|
2354
2355
|
spanPath: payload.span_path,
|
|
2355
2356
|
laminarUrl: payload.laminar_url
|
|
2356
2357
|
});
|
|
2357
|
-
logger$
|
|
2358
|
+
logger$27.debug(`Set trace context to proxy on port ${instance.port}`);
|
|
2358
2359
|
} catch (e) {
|
|
2359
|
-
logger$
|
|
2360
|
+
logger$27.debug(`Unable to set trace context to proxy on port ${instance.port}: ` + require_utils.errorMessage(e));
|
|
2360
2361
|
}
|
|
2361
2362
|
};
|
|
2362
2363
|
// src/opentelemetry-lib/instrumentation/claude-agent-sdk/index.ts
|
|
2363
|
-
const logger$
|
|
2364
|
+
const logger$26 = require_utils.initializeLogger();
|
|
2364
2365
|
const CLAUDE_AGENT_SDK = "@anthropic-ai/claude-agent-sdk";
|
|
2365
2366
|
/**
|
|
2366
2367
|
* Create an instrumented version of the claude-agent-sdk query function.
|
|
@@ -2398,9 +2399,9 @@ function instrumentClaudeAgentQuery(originalQuery) {
|
|
|
2398
2399
|
targetUrl
|
|
2399
2400
|
});
|
|
2400
2401
|
if (proxyInstance && targetUrl) {
|
|
2401
|
-
logger$
|
|
2402
|
+
logger$26.debug(`Using proxy on port ${proxyInstance.port}`);
|
|
2402
2403
|
await Laminar.withSpan(span, async () => {
|
|
2403
|
-
logger$
|
|
2404
|
+
logger$26.debug("Setting trace to proxy instance...");
|
|
2404
2405
|
await setTraceToProxyInstance(proxyInstance);
|
|
2405
2406
|
});
|
|
2406
2407
|
const varsToRemove = getEnvVarsToRemove(mergedEnv, sessionCwd, settingSources);
|
|
@@ -2415,13 +2416,13 @@ function instrumentClaudeAgentQuery(originalQuery) {
|
|
|
2415
2416
|
if (isProviderEnabledInEnv(subprocessEnv, "CLAUDE_CODE_USE_BEDROCK")) subprocessEnv.ANTHROPIC_BEDROCK_BASE_URL = proxyInstance.baseUrl;
|
|
2416
2417
|
if (isProviderEnabledInEnv(subprocessEnv, "CLAUDE_CODE_USE_VERTEX")) subprocessEnv.ANTHROPIC_VERTEX_BASE_URL = proxyInstance.baseUrl;
|
|
2417
2418
|
const flagSettings = buildProxyFlagSettings(callerSettings, proxyInstance.baseUrl, sessionCwd, settingSources);
|
|
2418
|
-
if (flagSettings === null) logger$
|
|
2419
|
+
if (flagSettings === null) logger$26.warn(`Could not read options.settings ${JSON.stringify(callerSettings)}; Claude Code settings that define a base URL will bypass the Laminar proxy and produce no LLM spans.`);
|
|
2419
2420
|
else {
|
|
2420
2421
|
params.options.settings = flagSettings;
|
|
2421
2422
|
const conflicting = Object.entries(readClaudeSettingsEnv(sessionCwd, settingSources)).filter(([key, value]) => PROXY_BASE_URL_ENV_KEYS.includes(key) && value !== "" && value !== proxyInstance?.baseUrl).map(([key]) => key);
|
|
2422
|
-
if (conflicting.length > 0) logger$
|
|
2423
|
+
if (conflicting.length > 0) logger$26.info(`Claude Code settings define ${conflicting.sort().join(", ")}, which outranks the subprocess environment. Injected settings so the Laminar proxy at ${proxyInstance.baseUrl} still intercepts API traffic; your settings files were not modified.`);
|
|
2423
2424
|
}
|
|
2424
|
-
} else logger$
|
|
2425
|
+
} else logger$26.debug("No claude proxy server available. Proceeding without proxy.");
|
|
2425
2426
|
const originalGenerator = originalQuery(params);
|
|
2426
2427
|
for await (const message of originalGenerator) {
|
|
2427
2428
|
collected.push(message);
|
|
@@ -2467,7 +2468,7 @@ var ClaudeAgentSDKInstrumentation = class extends LaminarInstrumentation {
|
|
|
2467
2468
|
const LLM_CALL_KEY = (0, _opentelemetry_api.createContextKey)("lmnr.langchain.llm_call");
|
|
2468
2469
|
// src/laminar.ts
|
|
2469
2470
|
require_utils.loadEnv();
|
|
2470
|
-
const logger$
|
|
2471
|
+
const logger$25 = require_utils.initializeLogger();
|
|
2471
2472
|
var Laminar = class Laminar {
|
|
2472
2473
|
static {
|
|
2473
2474
|
this.isInitialized = false;
|
|
@@ -2577,14 +2578,14 @@ var Laminar = class Laminar {
|
|
|
2577
2578
|
*/
|
|
2578
2579
|
static initialize({ projectApiKey, baseUrl, baseHttpUrl, httpPort, grpcPort, instrumentModules, disableBatch, traceExportTimeoutMillis, logLevel, maxExportBatchSize, maxExportBatchSizeBytes, flushBySize, forceHttp, sessionRecordingOptions, metadata, inheritGlobalContext, spanProcessor, release, writeTrajectory = true } = {}) {
|
|
2579
2580
|
if (this.isInitialized) {
|
|
2580
|
-
logger$
|
|
2581
|
+
logger$25.warn("Laminar has already been initialized. Skipping initialization.");
|
|
2581
2582
|
return;
|
|
2582
2583
|
}
|
|
2583
2584
|
const key = projectApiKey ?? process?.env?.LMNR_PROJECT_API_KEY;
|
|
2584
2585
|
const trajectoryPath = writeTrajectory ? process?.env?.LMNR_TRAJECTORY_PATH || void 0 : void 0;
|
|
2585
2586
|
const exportSpans = trajectoryPath === void 0 || isTruthy(process?.env?.LMNR_TRAJECTORY_FORCE_EXPORT);
|
|
2586
2587
|
if (exportSpans) require_utils.validateTracingConfig(key);
|
|
2587
|
-
if (trajectoryPath !== void 0) logger$
|
|
2588
|
+
if (trajectoryPath !== void 0) logger$25.info(`Writing the trajectory to ${trajectoryPath}` + (exportSpans ? "; spans are also exported to Laminar." : "; spans are not exported to Laminar (set LMNR_TRAJECTORY_FORCE_EXPORT=true to export them too)."));
|
|
2588
2589
|
this.projectApiKey = key ?? "";
|
|
2589
2590
|
let url = baseUrl ?? process?.env?.LMNR_BASE_URL;
|
|
2590
2591
|
if (key && !url) url = "https://api.lmnr.ai";
|
|
@@ -2604,7 +2605,7 @@ var Laminar = class Laminar {
|
|
|
2604
2605
|
...metadata ?? {}
|
|
2605
2606
|
};
|
|
2606
2607
|
if (inheritGlobalContext) LaminarContextManager.inheritGlobalContext = true;
|
|
2607
|
-
if (spanProcessor && !(spanProcessor instanceof LaminarSpanProcessor)) logger$
|
|
2608
|
+
if (spanProcessor && !(spanProcessor instanceof LaminarSpanProcessor)) logger$25.warn("Span processor is not a LaminarSpanProcessor. Some functionality may be impaired.");
|
|
2608
2609
|
this.isInitialized = true;
|
|
2609
2610
|
const urlWithoutSlash = url?.replace(/\/$/, "").replace(/:\d{1,5}$/g, "");
|
|
2610
2611
|
const httpUrlWithoutSlash = httpUrl?.replace(/\/$/, "").replace(/:\d{1,5}$/g, "");
|
|
@@ -2654,11 +2655,11 @@ var Laminar = class Laminar {
|
|
|
2654
2655
|
try {
|
|
2655
2656
|
getRuntime()?.recordTraceId(require_utils.otelTraceIdToUUID(otelSpanContext.traceId));
|
|
2656
2657
|
} catch (e) {
|
|
2657
|
-
logger$
|
|
2658
|
+
logger$25.debug("Failed to record debug trace id from env: " + require_utils.errorMessage(e));
|
|
2658
2659
|
}
|
|
2659
|
-
logger$
|
|
2660
|
+
logger$25.debug("Initialized Laminar parent context from LMNR_SPAN_CONTEXT.");
|
|
2660
2661
|
} catch (e) {
|
|
2661
|
-
logger$
|
|
2662
|
+
logger$25.warn("LMNR_SPAN_CONTEXT is set but could not be used: " + require_utils.errorMessage(e));
|
|
2662
2663
|
}
|
|
2663
2664
|
}
|
|
2664
2665
|
/**
|
|
@@ -2702,7 +2703,7 @@ var Laminar = class Laminar {
|
|
|
2702
2703
|
if (projectId) {
|
|
2703
2704
|
runtime.recordProjectId(projectId);
|
|
2704
2705
|
const sessionUrl = runtime.debuggerSessionUrl();
|
|
2705
|
-
logger$
|
|
2706
|
+
logger$25.info(`Laminar debugger session: ${sessionUrl}`);
|
|
2706
2707
|
if (runtime.shouldOpenBrowser) {
|
|
2707
2708
|
const opener = process.platform === "win32" ? "start" : process.platform === "darwin" ? "open" : "xdg-open";
|
|
2708
2709
|
(0, node_child_process.spawn)(opener, [sessionUrl], {
|
|
@@ -2712,7 +2713,7 @@ var Laminar = class Laminar {
|
|
|
2712
2713
|
}
|
|
2713
2714
|
}
|
|
2714
2715
|
}).catch((e) => {
|
|
2715
|
-
logger$
|
|
2716
|
+
logger$25.warn("Failed to register debug session: " + require_utils.errorMessage(e));
|
|
2716
2717
|
});
|
|
2717
2718
|
this.globalMetadata = {
|
|
2718
2719
|
...this.globalMetadata,
|
|
@@ -2722,7 +2723,7 @@ var Laminar = class Laminar {
|
|
|
2722
2723
|
this.debugExitHook = () => runtime.emitPointer();
|
|
2723
2724
|
process.once("exit", this.debugExitHook);
|
|
2724
2725
|
} catch (e) {
|
|
2725
|
-
logger$
|
|
2726
|
+
logger$25.warn("Failed to initialize debug runtime: " + require_utils.errorMessage(e));
|
|
2726
2727
|
}
|
|
2727
2728
|
}
|
|
2728
2729
|
/**
|
|
@@ -2769,7 +2770,7 @@ var Laminar = class Laminar {
|
|
|
2769
2770
|
runtime.rolloutSessions.register({ sessionId: runtime.sessionId }).then((projectId) => {
|
|
2770
2771
|
if (projectId) runtime.recordProjectId(projectId);
|
|
2771
2772
|
}).catch((e) => {
|
|
2772
|
-
logger$
|
|
2773
|
+
logger$25.debug("Failed to register downstream debug session: " + require_utils.errorMessage(e));
|
|
2773
2774
|
});
|
|
2774
2775
|
this.globalMetadata = {
|
|
2775
2776
|
...this.globalMetadata,
|
|
@@ -2778,7 +2779,7 @@ var Laminar = class Laminar {
|
|
|
2778
2779
|
LaminarContextManager.setGlobalMetadata(this.globalMetadata);
|
|
2779
2780
|
}
|
|
2780
2781
|
} catch (e) {
|
|
2781
|
-
logger$
|
|
2782
|
+
logger$25.debug("Failed to arm debug runtime from context: " + require_utils.errorMessage(e));
|
|
2782
2783
|
}
|
|
2783
2784
|
}
|
|
2784
2785
|
/**
|
|
@@ -2793,7 +2794,7 @@ var Laminar = class Laminar {
|
|
|
2793
2794
|
*/
|
|
2794
2795
|
static patch(modules) {
|
|
2795
2796
|
if (!this.isInitialized) {
|
|
2796
|
-
logger$
|
|
2797
|
+
logger$25.warn("Laminar must be initialized before patching modules. Skipping patch.");
|
|
2797
2798
|
return;
|
|
2798
2799
|
}
|
|
2799
2800
|
if (!modules || Object.keys(modules).length === 0) throw new Error("Pass at least one module to patch");
|
|
@@ -3053,7 +3054,7 @@ var Laminar = class Laminar {
|
|
|
3053
3054
|
const spanContext = require_utils.tryToOtelSpanContext(laminarContext);
|
|
3054
3055
|
entityContext = _opentelemetry_api.trace.setSpan(entityContext, _opentelemetry_api.trace.wrapSpanContext(spanContext));
|
|
3055
3056
|
} catch (e) {
|
|
3056
|
-
logger$
|
|
3057
|
+
logger$25.warn("Failed to parse parent span context: " + require_utils.errorMessage(e));
|
|
3057
3058
|
}
|
|
3058
3059
|
const tagProperties = tags ? { [`${require_utils.ASSOCIATION_PROPERTIES}.tags`]: Array.from(new Set(tags)) } : {};
|
|
3059
3060
|
const ctxAssociationProperties = LaminarContextManager.getAssociationProperties();
|
|
@@ -3161,13 +3162,13 @@ var Laminar = class Laminar {
|
|
|
3161
3162
|
}
|
|
3162
3163
|
static async flush() {
|
|
3163
3164
|
if (this.isInitialized) {
|
|
3164
|
-
logger$
|
|
3165
|
+
logger$25.debug("Flushing spans");
|
|
3165
3166
|
await forceFlush();
|
|
3166
3167
|
}
|
|
3167
3168
|
}
|
|
3168
3169
|
static async shutdown() {
|
|
3169
3170
|
if (this.isInitialized) {
|
|
3170
|
-
logger$
|
|
3171
|
+
logger$25.debug("Shutting down Laminar");
|
|
3171
3172
|
getRuntime()?.emitPointer();
|
|
3172
3173
|
await forceFlush();
|
|
3173
3174
|
shutdownTrajectory();
|
|
@@ -3303,7 +3304,7 @@ return module.exports;
|
|
|
3303
3304
|
const LMNR_SEND_EVENTS_FUNCTION_NAME = "lmnrSendEvents";
|
|
3304
3305
|
/** Instrumentation scope of the spans the Stagehand instrumentations produce. */
|
|
3305
3306
|
const STAGEHAND_PACKAGE = "@browserbasehq/stagehand";
|
|
3306
|
-
const logger$
|
|
3307
|
+
const logger$24 = require_utils.initializeLogger();
|
|
3307
3308
|
/**
|
|
3308
3309
|
* If the first argument is a string, return an object with the name of the method
|
|
3309
3310
|
* and the argument as the value.
|
|
@@ -3326,7 +3327,7 @@ const takeFullSnapshot = async (page) => await page.evaluate(() => {
|
|
|
3326
3327
|
window.lmnrRrweb.record.takeFullSnapshot();
|
|
3327
3328
|
return true;
|
|
3328
3329
|
} catch (error) {
|
|
3329
|
-
logger$
|
|
3330
|
+
logger$24.error("Error taking full snapshot: " + require_utils.errorMessage(error));
|
|
3330
3331
|
return false;
|
|
3331
3332
|
}
|
|
3332
3333
|
return false;
|
|
@@ -3337,7 +3338,7 @@ const injectSessionRecorder = async (page, sessionRecordingOptions) => {
|
|
|
3337
3338
|
try {
|
|
3338
3339
|
return await script();
|
|
3339
3340
|
} catch (error) {
|
|
3340
|
-
logger$
|
|
3341
|
+
logger$24.error("Operation " + script.name + " failed: " + require_utils.errorMessage(error));
|
|
3341
3342
|
}
|
|
3342
3343
|
await new Promise((resolve) => setTimeout(resolve, 500));
|
|
3343
3344
|
}
|
|
@@ -3347,69 +3348,74 @@ const injectSessionRecorder = async (page, sessionRecordingOptions) => {
|
|
|
3347
3348
|
try {
|
|
3348
3349
|
isRrwebPresent = await castedPage.evaluate(() => typeof window.lmnrRrweb !== "undefined");
|
|
3349
3350
|
} catch (error) {
|
|
3350
|
-
logger$
|
|
3351
|
+
logger$24.debug("Failed to check if session recorder is loaded: " + require_utils.errorMessage(error));
|
|
3351
3352
|
}
|
|
3352
3353
|
if (!isRrwebPresent) {
|
|
3353
3354
|
if (!await tryRunScript(async function injectSessionRecorder() {
|
|
3354
3355
|
await castedPage.evaluate("(function (g, f) {\n if (\"object\" == typeof exports && \"object\" == typeof module) {\n module.exports = f();\n } else if (\"function\" == typeof define && define.amd) {\n define(\"lmnrRrweb\", [], f);\n } else if (\"object\" == typeof exports) {\n exports[\"lmnrRrweb\"] = f();\n } else {\n g[\"lmnrRrweb\"] = f();\n }\n }(this, () => {\nvar exports = {};\nvar module = { exports };\n\"use strict\";var Fo=Object.defineProperty,Uo=Object.defineProperties;var Bo=Object.getOwnPropertyDescriptors;var ft=Object.getOwnPropertySymbols;var zs=Object.prototype.hasOwnProperty,Ws=Object.prototype.propertyIsEnumerable;var Bs=(s,e,t)=>e in s?Fo(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t,x=(s,e)=>{for(var t in e||(e={}))zs.call(e,t)&&Bs(s,t,e[t]);if(ft)for(var t of ft(e))Ws.call(e,t)&&Bs(s,t,e[t]);return s},ee=(s,e)=>Uo(s,Bo(e));var xe=(s,e)=>{var t={};for(var r in s)zs.call(s,r)&&e.indexOf(r)<0&&(t[r]=s[r]);if(s!=null&&ft)for(var r of ft(s))e.indexOf(r)<0&&Ws.call(s,r)&&(t[r]=s[r]);return t};Object.defineProperty(exports,Symbol.toStringTag,{value:\"Module\"});var zo=Object.defineProperty,Wo=(s,e,t)=>e in s?zo(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t,w=(s,e,t)=>Wo(s,typeof e!=\"symbol\"?e+\"\":e,t),Gs,Go=Object.defineProperty,Vo=(s,e,t)=>e in s?Go(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t,Vs=(s,e,t)=>Vo(s,typeof e!=\"symbol\"?e+\"\":e,t),j=(s=>(s[s.Document=0]=\"Document\",s[s.DocumentType=1]=\"DocumentType\",s[s.Element=2]=\"Element\",s[s.Text=3]=\"Text\",s[s.CDATA=4]=\"CDATA\",s[s.Comment=5]=\"Comment\",s))(j||{});const js={Node:[\"childNodes\",\"parentNode\",\"parentElement\",\"textContent\"],ShadowRoot:[\"host\",\"styleSheets\"],Element:[\"shadowRoot\",\"querySelector\",\"querySelectorAll\"],MutationObserver:[]},Hs={Node:[\"contains\",\"getRootNode\"],ShadowRoot:[\"getSelection\"],Element:[],MutationObserver:[\"constructor\"]},pt={},jo=()=>!!globalThis.Zone;function cs(s){if(pt[s])return pt[s];const e=globalThis[s],t=e.prototype,r=s in js?js[s]:void 0,i=!!(r&&r.every(l=>{var a,u;return!!((u=(a=Object.getOwnPropertyDescriptor(t,l))==null?void 0:a.get)!=null&&u.toString().includes(\"[native code]\"))})),n=s in Hs?Hs[s]:void 0,o=!!(n&&n.every(l=>{var a;return typeof t[l]==\"function\"&&((a=t[l])==null?void 0:a.toString().includes(\"[native code]\"))}));if(i&&o&&!jo())return pt[s]=e.prototype,e.prototype;try{const l=document.createElement(\"iframe\");document.body.appendChild(l);const a=l.contentWindow;if(!a)return e.prototype;const u=a[s].prototype;return document.body.removeChild(l),u?pt[s]=u:t}catch(l){return t}}const mr={};function me(s,e,t){var r;const i=`${s}.${String(t)}`;if(mr[i])return mr[i].call(e);const n=cs(s),o=(r=Object.getOwnPropertyDescriptor(n,t))==null?void 0:r.get;return o?(mr[i]=o,o.call(e)):e[t]}const gr={};function Wi(s,e,t){const r=`${s}.${String(t)}`;if(gr[r])return gr[r].bind(e);const n=cs(s)[t];return typeof n!=\"function\"?e[t]:(gr[r]=n,n.bind(e))}function Ho(s){return me(\"Node\",s,\"childNodes\")}function Yo(s){return me(\"Node\",s,\"parentNode\")}function Zo(s){return me(\"Node\",s,\"parentElement\")}function Jo(s){return me(\"Node\",s,\"textContent\")}function Xo(s,e){return Wi(\"Node\",s,\"contains\")(e)}function Ko(s){return Wi(\"Node\",s,\"getRootNode\")()}function Qo(s){return!s||!(\"host\"in s)?null:me(\"ShadowRoot\",s,\"host\")}function qo(s){return s.styleSheets}function ea(s){return!s||!(\"shadowRoot\"in s)?null:me(\"Element\",s,\"shadowRoot\")}function ta(s,e){return me(\"Element\",s,\"querySelector\")(e)}function ra(s,e){return me(\"Element\",s,\"querySelectorAll\")(e)}function sa(){return cs(\"MutationObserver\").constructor}const Z={childNodes:Ho,parentNode:Yo,parentElement:Zo,textContent:Jo,contains:Xo,getRootNode:Ko,host:Qo,styleSheets:qo,shadowRoot:ea,querySelector:ta,querySelectorAll:ra,mutationObserver:sa};function Gi(s){return s.nodeType===s.ELEMENT_NODE}function je(s){const e=s&&\"host\"in s&&\"mode\"in s&&Z.host(s)||null;return!!(e&&\"shadowRoot\"in e&&Z.shadowRoot(e)===s)}function He(s){return Object.prototype.toString.call(s)===\"[object ShadowRoot]\"}function ia(s){return s.includes(\" background-clip: text;\")&&!s.includes(\" -webkit-background-clip: text;\")&&(s=s.replace(/\\sbackground-clip:\\s*text;/g,\" -webkit-background-clip: text; background-clip: text;\")),s}function na(s){const{cssText:e}=s;if(e.split('\"').length<3)return e;const t=[\"@import\",`url(${JSON.stringify(s.href)})`];return s.layerName===\"\"?t.push(\"layer\"):s.layerName&&t.push(`layer(${s.layerName})`),s.supportsText&&t.push(`supports(${s.supportsText})`),s.media.length&&t.push(s.media.mediaText),t.join(\" \")+\";\"}function $r(s){try{const e=s.rules||s.cssRules;if(!e)return null;let t=s.href;!t&&s.ownerNode&&s.ownerNode.ownerDocument&&(t=s.ownerNode.ownerDocument.location.href);const r=Array.from(e,i=>Vi(i,t)).join(\"\");return ia(r)}catch(e){return null}}function Vi(s,e){if(aa(s)){let t;try{t=$r(s.styleSheet)||na(s)}catch(r){t=s.cssText}return s.styleSheet.href?Wt(t,s.styleSheet.href):t}else{let t=s.cssText;return la(s)&&s.selectorText.includes(\":\")&&(t=oa(t)),e?Wt(t,e):t}}function oa(s){const e=/(\\[(?:[\\w-]+)[^\\\\])(:(?:[\\w-]+)\\])/gm;return s.replace(e,\"$1\\\\$2\")}function aa(s){return\"styleSheet\"in s}function la(s){return\"selectorText\"in s}class ji{constructor(){Vs(this,\"idNodeMap\",new Map),Vs(this,\"nodeMetaMap\",new WeakMap)}getId(e){var t;if(!e)return-1;const r=(t=this.getMeta(e))==null?void 0:t.id;return r!=null?r:-1}getNode(e){return this.idNodeMap.get(e)||null}getIds(){return Array.from(this.idNodeMap.keys())}getMeta(e){return this.nodeMetaMap.get(e)||null}removeNodeFromMap(e){const t=this.getId(e);this.idNodeMap.delete(t),e.childNodes&&e.childNodes.forEach(r=>this.removeNodeFromMap(r))}has(e){return this.idNodeMap.has(e)}hasNode(e){return this.nodeMetaMap.has(e)}add(e,t){const r=t.id;this.idNodeMap.set(r,e),this.nodeMetaMap.set(e,t)}replace(e,t){const r=this.getNode(e);if(r){const i=this.nodeMetaMap.get(r);i&&this.nodeMetaMap.set(t,i)}this.idNodeMap.set(e,t)}reset(){this.idNodeMap=new Map,this.nodeMetaMap=new WeakMap}}function ua(){return new ji}function hs({element:s,maskInputOptions:e,tagName:t,type:r,value:i,maskInputFn:n}){let o=i||\"\";const l=r&&Ce(r);return(e[t.toLowerCase()]||l&&e[l])&&(n?o=n(o,s):o=\"*\".repeat(o.length)),o}function Ce(s){return s.toLowerCase()}const Ys=\"__rrweb_original__\";function ca(s){const e=s.getContext(\"2d\");if(!e)return!0;const t=50;for(let r=0;r<s.width;r+=t)for(let i=0;i<s.height;i+=t){const n=e.getImageData,o=Ys in n?n[Ys]:n;if(new Uint32Array(o.call(e,r,i,Math.min(t,s.width-r),Math.min(t,s.height-i)).data.buffer).some(a=>a!==0))return!1}return!0}function fs(s){const e=s.type;return s.hasAttribute(\"data-rr-is-password\")?\"password\":e?Ce(e):null}function Hi(s,e){var n;let t;try{t=new URL(s,e!=null?e:window.location.href)}catch(o){return null}const r=/\\.([0-9a-z]+)(?:$)/i,i=t.pathname.match(r);return(n=i==null?void 0:i[1])!=null?n:null}function ha(s){let e=\"\";return s.indexOf(\"//\")>-1?e=s.split(\"/\").slice(0,3).join(\"/\"):e=s.split(\"/\")[0],e=e.split(\"?\")[0],e}const fa=/url\\((?:(')([^']*)'|(\")(.*?)\"|([^)]*))\\)/gm,pa=/^(?:[a-z+]+:)?\\/\\//i,da=/^www\\..*/i,ma=/^(data:)([^,]*),(.*)/i;function Wt(s,e){return(s||\"\").replace(fa,(t,r,i,n,o,l)=>{const a=i||o||l,u=r||n||\"\";if(!a)return t;if(pa.test(a)||da.test(a))return`url(${u}${a}${u})`;if(ma.test(a))return`url(${u}${a}${u})`;if(a[0]===\"/\")return`url(${u}${ha(e)+a}${u})`;const c=e.split(\"/\"),h=a.split(\"/\");c.pop();for(const d of h)d!==\".\"&&(d===\"..\"?c.pop():c.push(d));return`url(${u}${c.join(\"/\")}${u})`})}function yr(s){return s.replace(/(\\/\\*[^*]*\\*\\/)|[\\s;]/g,\"\")}function ga(s,e){const t=Array.from(e.childNodes),r=[];if(t.length>1&&s&&typeof s==\"string\"){const i=yr(s);for(let n=1;n<t.length;n++)if(t[n].textContent&&typeof t[n].textContent==\"string\"){const o=yr(t[n].textContent);for(let l=3;l<o.length;l++){const a=o.substring(0,l);if(i.split(a).length===2){const u=i.indexOf(a);for(let c=u;c<s.length;c++)if(yr(s.substring(0,c)).length===u){r.push(s.substring(0,c)),s=s.substring(c);break}break}}}}return r.push(s),r}function ya(s,e){return ga(s,e).join(\"/* rr_split */\")}let wa=1;const Sa=new RegExp(\"[^a-z0-9-_:]\"),Ze=-2;function Yi(){return wa++}function ba(s){if(s instanceof HTMLFormElement)return\"form\";const e=Ce(s.tagName);return Sa.test(e)?\"div\":e}let Oe,Zs;const Ca=/^[^ \\t\\n\\r\\u000c]+/,va=/^[, \\t\\n\\r\\u000c]+/;function Ia(s,e){if(e.trim()===\"\")return e;let t=0;function r(n){let o;const l=n.exec(e.substring(t));return l?(o=l[0],t+=o.length,o):\"\"}const i=[];for(;r(va),!(t>=e.length);){let n=r(Ca);if(n.slice(-1)===\",\")n=Me(s,n.substring(0,n.length-1)),i.push(n);else{let o=\"\";n=Me(s,n);let l=!1;for(;;){const a=e.charAt(t);if(a===\"\"){i.push((n+o).trim());break}else if(l)a===\")\"&&(l=!1);else if(a===\",\"){t+=1,i.push((n+o).trim());break}else a===\"(\"&&(l=!0);o+=a,t+=1}}}return i.join(\", \")}const Js=new WeakMap;function Me(s,e){return!e||e.trim()===\"\"?e:ps(s,e)}function xa(s){return!!(s.tagName===\"svg\"||s.ownerSVGElement)}function ps(s,e){let t=Js.get(s);if(t||(t=s.createElement(\"a\"),Js.set(s,t)),!e)e=\"\";else if(e.startsWith(\"blob:\")||e.startsWith(\"data:\"))return e;return t.setAttribute(\"href\",e),t.href}function Zi(s,e,t,r){return r&&(t===\"src\"||t===\"href\"&&!(e===\"use\"&&r[0]===\"#\")||t===\"xlink:href\"&&r[0]!==\"#\"||t===\"background\"&&(e===\"table\"||e===\"td\"||e===\"th\")?Me(s,r):t===\"srcset\"?Ia(s,r):t===\"style\"?Wt(r,ps(s)):e===\"object\"&&t===\"data\"?Me(s,r):r)}function Ji(s,e,t){return(s===\"video\"||s===\"audio\")&&e===\"autoplay\"}function Oa(s,e,t){try{if(typeof e==\"string\"){if(s.classList.contains(e))return!0}else for(let r=s.classList.length;r--;){const i=s.classList[r];if(e.test(i))return!0}if(t)return s.matches(t)}catch(r){}return!1}function Gt(s,e,t){if(!s)return!1;if(s.nodeType!==s.ELEMENT_NODE)return t?Gt(Z.parentNode(s),e,t):!1;for(let r=s.classList.length;r--;){const i=s.classList[r];if(e.test(i))return!0}return t?Gt(Z.parentNode(s),e,t):!1}function Xi(s,e,t,r){let i;if(Gi(s)){if(i=s,!Z.childNodes(i).length)return!1}else{if(Z.parentElement(s)===null)return!1;i=Z.parentElement(s)}try{if(typeof e==\"string\"){if(r){if(i.closest(`.${e}`))return!0}else if(i.classList.contains(e))return!0}else if(Gt(i,e,r))return!0;if(t){if(r){if(i.closest(t))return!0}else if(i.matches(t))return!0}}catch(n){}return!1}function Ra(s,e,t){const r=s.contentWindow;if(!r)return;let i=!1,n;try{n=r.document.readyState}catch(l){return}if(n!==\"complete\"){const l=setTimeout(()=>{i||(e(),i=!0)},t);s.addEventListener(\"load\",()=>{clearTimeout(l),i=!0,e()});return}const o=\"about:blank\";if(r.location.href!==o||s.src===o||s.src===\"\")return setTimeout(e,0),s.addEventListener(\"load\",e);s.addEventListener(\"load\",e)}function Aa(s,e,t){let r=!1,i;try{i=s.sheet}catch(o){return}if(i)return;const n=setTimeout(()=>{r||(e(),r=!0)},t);s.addEventListener(\"load\",()=>{clearTimeout(n),r=!0,e()})}function Ma(s,e){const{doc:t,mirror:r,blockClass:i,blockSelector:n,needsMask:o,inlineStylesheet:l,maskInputOptions:a={},maskTextFn:u,maskInputFn:c,dataURLOptions:h={},inlineImages:d,recordCanvas:m,keepIframeSrcFn:g,newlyAddedElement:p=!1,cssCaptured:f=!1}=e,S=Ea(t,r);switch(s.nodeType){case s.DOCUMENT_NODE:return s.compatMode!==\"CSS1Compat\"?{type:j.Document,childNodes:[],compatMode:s.compatMode}:{type:j.Document,childNodes:[]};case s.DOCUMENT_TYPE_NODE:return{type:j.DocumentType,name:s.name,publicId:s.publicId,systemId:s.systemId,rootId:S};case s.ELEMENT_NODE:return Na(s,{doc:t,blockClass:i,blockSelector:n,inlineStylesheet:l,maskInputOptions:a,maskInputFn:c,dataURLOptions:h,inlineImages:d,recordCanvas:m,keepIframeSrcFn:g,newlyAddedElement:p,rootId:S});case s.TEXT_NODE:return $a(s,{doc:t,needsMask:o,maskTextFn:u,rootId:S,cssCaptured:f});case s.CDATA_SECTION_NODE:return{type:j.CDATA,textContent:\"\",rootId:S};case s.COMMENT_NODE:return{type:j.Comment,textContent:Z.textContent(s)||\"\",rootId:S};default:return!1}}function Ea(s,e){if(!e.hasNode(s))return;const t=e.getId(s);return t===1?void 0:t}function $a(s,e){const{needsMask:t,maskTextFn:r,rootId:i,cssCaptured:n}=e,o=Z.parentNode(s),l=o&&o.tagName;let a=\"\";const u=l===\"STYLE\"?!0:void 0,c=l===\"SCRIPT\"?!0:void 0;return c?a=\"SCRIPT_PLACEHOLDER\":n||(a=Z.textContent(s),u&&a&&(a=Wt(a,ps(e.doc)))),!u&&!c&&a&&t&&(a=r?r(a,Z.parentElement(s)):a.replace(/[\\S]/g,\"*\")),{type:j.Text,textContent:a||\"\",rootId:i}}function Na(s,e){const{doc:t,blockClass:r,blockSelector:i,inlineStylesheet:n,maskInputOptions:o={},maskInputFn:l,dataURLOptions:a={},inlineImages:u,recordCanvas:c,keepIframeSrcFn:h,newlyAddedElement:d=!1,rootId:m}=e,g=Oa(s,r,i),p=ba(s);let f={};const S=s.attributes.length;for(let y=0;y<S;y++){const C=s.attributes[y];Ji(p,C.name,C.value)||(f[C.name]=Zi(t,p,Ce(C.name),C.value))}if(p===\"link\"&&n){const y=Array.from(t.styleSheets).find(N=>N.href===s.href);let C=null;y&&(C=$r(y)),C&&(delete f.rel,delete f.href,f._cssText=C)}if(p===\"style\"&&s.sheet){let y=$r(s.sheet);y&&(s.childNodes.length>1&&(y=ya(y,s)),f._cssText=y)}if(p===\"input\"||p===\"textarea\"||p===\"select\"){const y=s.value,C=s.checked;f.type!==\"radio\"&&f.type!==\"checkbox\"&&f.type!==\"submit\"&&f.type!==\"button\"&&y?f.value=hs({element:s,type:fs(s),tagName:p,value:y,maskInputOptions:o,maskInputFn:l}):C&&(f.checked=C)}if(p===\"option\"&&(s.selected&&!o.select?f.selected=!0:delete f.selected),p===\"dialog\"&&s.open&&(f.rr_open_mode=s.matches(\"dialog:modal\")?\"modal\":\"non-modal\"),p===\"canvas\"&&c){if(s.__context===\"2d\")ca(s)||(f.rr_dataURL=s.toDataURL(a.type,a.quality));else if(!(\"__context\"in s)){const y=s.toDataURL(a.type,a.quality),C=t.createElement(\"canvas\");C.width=s.width,C.height=s.height;const N=C.toDataURL(a.type,a.quality);y!==N&&(f.rr_dataURL=y)}}if(p===\"img\"&&u){Oe||(Oe=t.createElement(\"canvas\"),Zs=Oe.getContext(\"2d\"));const y=s,C=y.currentSrc||y.getAttribute(\"src\")||\"<unknown-src>\",N=y.crossOrigin,D=()=>{y.removeEventListener(\"load\",D);try{Oe.width=y.naturalWidth,Oe.height=y.naturalHeight,Zs.drawImage(y,0,0),f.rr_dataURL=Oe.toDataURL(a.type,a.quality)}catch(H){if(y.crossOrigin!==\"anonymous\"){y.crossOrigin=\"anonymous\",y.complete&&y.naturalWidth!==0?D():y.addEventListener(\"load\",D);return}else console.warn(`Cannot inline img src=${C}! Error: ${H}`)}y.crossOrigin===\"anonymous\"&&(N?f.crossOrigin=N:y.removeAttribute(\"crossorigin\"))};y.complete&&y.naturalWidth!==0?D():y.addEventListener(\"load\",D)}if(p===\"audio\"||p===\"video\"){const y=f;y.rr_mediaState=s.paused?\"paused\":\"played\",y.rr_mediaCurrentTime=s.currentTime,y.rr_mediaPlaybackRate=s.playbackRate,y.rr_mediaMuted=s.muted,y.rr_mediaLoop=s.loop,y.rr_mediaVolume=s.volume}if(d||(s.scrollLeft&&(f.rr_scrollLeft=s.scrollLeft),s.scrollTop&&(f.rr_scrollTop=s.scrollTop)),g){const{width:y,height:C}=s.getBoundingClientRect();f={class:f.class,rr_width:`${y}px`,rr_height:`${C}px`}}p===\"iframe\"&&!h(f.src)&&(s.contentDocument||(f.rr_src=f.src),delete f.src);let b;try{customElements.get(p)&&(b=!0)}catch(y){}return{type:j.Element,tagName:p,attributes:f,childNodes:[],isSVG:xa(s)||void 0,needBlock:g,rootId:m,isCustom:b}}function P(s){return s==null?\"\":s.toLowerCase()}function ka(s,e){if(e.comment&&s.type===j.Comment)return!0;if(s.type===j.Element){if(e.script&&(s.tagName===\"script\"||s.tagName===\"link\"&&(s.attributes.rel===\"preload\"||s.attributes.rel===\"modulepreload\")&&s.attributes.as===\"script\"||s.tagName===\"link\"&&s.attributes.rel===\"prefetch\"&&typeof s.attributes.href==\"string\"&&Hi(s.attributes.href)===\"js\"))return!0;if(e.headFavicon&&(s.tagName===\"link\"&&s.attributes.rel===\"shortcut icon\"||s.tagName===\"meta\"&&(P(s.attributes.name).match(/^msapplication-tile(image|color)$/)||P(s.attributes.name)===\"application-name\"||P(s.attributes.rel)===\"icon\"||P(s.attributes.rel)===\"apple-touch-icon\"||P(s.attributes.rel)===\"shortcut icon\")))return!0;if(s.tagName===\"meta\"){if(e.headMetaDescKeywords&&P(s.attributes.name).match(/^description|keywords$/))return!0;if(e.headMetaSocial&&(P(s.attributes.property).match(/^(og|twitter|fb):/)||P(s.attributes.name).match(/^(og|twitter):/)||P(s.attributes.name)===\"pinterest\"))return!0;if(e.headMetaRobots&&(P(s.attributes.name)===\"robots\"||P(s.attributes.name)===\"googlebot\"||P(s.attributes.name)===\"bingbot\"))return!0;if(e.headMetaHttpEquiv&&s.attributes[\"http-equiv\"]!==void 0)return!0;if(e.headMetaAuthorship&&(P(s.attributes.name)===\"author\"||P(s.attributes.name)===\"generator\"||P(s.attributes.name)===\"framework\"||P(s.attributes.name)===\"publisher\"||P(s.attributes.name)===\"progid\"||P(s.attributes.property).match(/^article:/)||P(s.attributes.property).match(/^product:/)))return!0;if(e.headMetaVerification&&(P(s.attributes.name)===\"google-site-verification\"||P(s.attributes.name)===\"yandex-verification\"||P(s.attributes.name)===\"csrf-token\"||P(s.attributes.name)===\"p:domain_verify\"||P(s.attributes.name)===\"verify-v1\"||P(s.attributes.name)===\"verification\"||P(s.attributes.name)===\"shopify-checkout-api-token\"))return!0}}return!1}function Ee(s,e){const{doc:t,mirror:r,blockClass:i,blockSelector:n,maskTextClass:o,maskTextSelector:l,skipChild:a=!1,inlineStylesheet:u=!0,maskInputOptions:c={},maskTextFn:h,maskInputFn:d,slimDOMOptions:m,dataURLOptions:g={},inlineImages:p=!1,recordCanvas:f=!1,onSerialize:S,onIframeLoad:b,iframeLoadTimeout:y=5e3,onStylesheetLoad:C,stylesheetLoadTimeout:N=5e3,keepIframeSrcFn:D=()=>!1,newlyAddedElement:H=!1,cssCaptured:_=!1}=e;let{needsMask:G}=e,{preserveWhiteSpace:Y=!0}=e;G||(G=Xi(s,o,l,G===void 0));const Q=Ma(s,{doc:t,mirror:r,blockClass:i,blockSelector:n,needsMask:G,inlineStylesheet:u,maskInputOptions:c,maskTextFn:h,maskInputFn:d,dataURLOptions:g,inlineImages:p,recordCanvas:f,keepIframeSrcFn:D,newlyAddedElement:H,cssCaptured:_});if(!Q)return console.warn(s,\"not serialized\"),null;let oe;r.hasNode(s)?oe=r.getId(s):ka(Q,m)||!Y&&Q.type===j.Text&&!Q.textContent.replace(/^\\s+|\\s+$/gm,\"\").length?oe=Ze:oe=Yi();const A=Object.assign(Q,{id:oe});if(r.add(s,A),oe===Ze)return null;S&&S(s);let Ue=!a;if(A.type===j.Element){Ue=Ue&&!A.needBlock,delete A.needBlock;const V=Z.shadowRoot(s);V&&He(V)&&(A.isShadowHost=!0)}if((A.type===j.Document||A.type===j.Element)&&Ue){m.headWhitespace&&A.type===j.Element&&A.tagName===\"head\"&&(Y=!1);const V={doc:t,mirror:r,blockClass:i,blockSelector:n,needsMask:G,maskTextClass:o,maskTextSelector:l,skipChild:a,inlineStylesheet:u,maskInputOptions:c,maskTextFn:h,maskInputFn:d,slimDOMOptions:m,dataURLOptions:g,inlineImages:p,recordCanvas:f,preserveWhiteSpace:Y,onSerialize:S,onIframeLoad:b,iframeLoadTimeout:y,onStylesheetLoad:C,stylesheetLoadTimeout:N,keepIframeSrcFn:D,cssCaptured:!1};if(!(A.type===j.Element&&A.tagName===\"textarea\"&&A.attributes.value!==void 0)){A.type===j.Element&&A.attributes._cssText!==void 0&&typeof A.attributes._cssText==\"string\"&&(V.cssCaptured=!0);for(const ye of Array.from(Z.childNodes(s))){const ae=Ee(ye,V);ae&&A.childNodes.push(ae)}}let q=null;if(Gi(s)&&(q=Z.shadowRoot(s)))for(const ye of Array.from(Z.childNodes(q))){const ae=Ee(ye,V);ae&&(He(q)&&(ae.isShadow=!0),A.childNodes.push(ae))}}const Be=Z.parentNode(s);return Be&&je(Be)&&He(Be)&&(A.isShadow=!0),A.type===j.Element&&A.tagName===\"iframe\"&&Ra(s,()=>{const V=s.contentDocument;if(V&&b){const q=Ee(V,{doc:V,mirror:r,blockClass:i,blockSelector:n,needsMask:G,maskTextClass:o,maskTextSelector:l,skipChild:!1,inlineStylesheet:u,maskInputOptions:c,maskTextFn:h,maskInputFn:d,slimDOMOptions:m,dataURLOptions:g,inlineImages:p,recordCanvas:f,preserveWhiteSpace:Y,onSerialize:S,onIframeLoad:b,iframeLoadTimeout:y,onStylesheetLoad:C,stylesheetLoadTimeout:N,keepIframeSrcFn:D});q&&b(s,q)}},y),A.type===j.Element&&A.tagName===\"link\"&&typeof A.attributes.rel==\"string\"&&(A.attributes.rel===\"stylesheet\"||A.attributes.rel===\"preload\"&&typeof A.attributes.href==\"string\"&&Hi(A.attributes.href)===\"css\")&&Aa(s,()=>{if(C){const V=Ee(s,{doc:t,mirror:r,blockClass:i,blockSelector:n,needsMask:G,maskTextClass:o,maskTextSelector:l,skipChild:!1,inlineStylesheet:u,maskInputOptions:c,maskTextFn:h,maskInputFn:d,slimDOMOptions:m,dataURLOptions:g,inlineImages:p,recordCanvas:f,preserveWhiteSpace:Y,onSerialize:S,onIframeLoad:b,iframeLoadTimeout:y,onStylesheetLoad:C,stylesheetLoadTimeout:N,keepIframeSrcFn:D});V&&C(s,V)}},N),A}function Pa(s,e){const{mirror:t=new ji,blockClass:r=\"rr-block\",blockSelector:i=null,maskTextClass:n=\"rr-mask\",maskTextSelector:o=null,inlineStylesheet:l=!0,inlineImages:a=!1,recordCanvas:u=!1,maskAllInputs:c=!1,maskTextFn:h,maskInputFn:d,slimDOM:m=!1,dataURLOptions:g,preserveWhiteSpace:p,onSerialize:f,onIframeLoad:S,iframeLoadTimeout:b,onStylesheetLoad:y,stylesheetLoadTimeout:C,keepIframeSrcFn:N=()=>!1}=e||{};return Ee(s,{doc:s,mirror:t,blockClass:r,blockSelector:i,maskTextClass:n,maskTextSelector:o,skipChild:!1,inlineStylesheet:l,maskInputOptions:c===!0?{color:!0,date:!0,\"datetime-local\":!0,email:!0,month:!0,number:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0,textarea:!0,select:!0,password:!0}:c===!1?{password:!0}:c,maskTextFn:h,maskInputFn:d,slimDOMOptions:m===!0||m===\"all\"?{script:!0,comment:!0,headFavicon:!0,headWhitespace:!0,headMetaDescKeywords:m===\"all\",headMetaSocial:!0,headMetaRobots:!0,headMetaHttpEquiv:!0,headMetaAuthorship:!0,headMetaVerification:!0}:m===!1?{}:m,dataURLOptions:g,inlineImages:a,recordCanvas:u,preserveWhiteSpace:p,onSerialize:f,onIframeLoad:S,iframeLoadTimeout:b,onStylesheetLoad:y,stylesheetLoadTimeout:C,keepIframeSrcFn:N,newlyAddedElement:!1})}function Da(s){return s&&s.__esModule&&Object.prototype.hasOwnProperty.call(s,\"default\")?s.default:s}function La(s){if(s.__esModule)return s;var e=s.default;if(typeof e==\"function\"){var t=function r(){return this instanceof r?Reflect.construct(e,arguments,this.constructor):e.apply(this,arguments)};t.prototype=e.prototype}else t={};return Object.defineProperty(t,\"__esModule\",{value:!0}),Object.keys(s).forEach(function(r){var i=Object.getOwnPropertyDescriptor(s,r);Object.defineProperty(t,r,i.get?i:{enumerable:!0,get:function(){return s[r]}})}),t}var ds={exports:{}},L=String,Ki=function(){return{isColorSupported:!1,reset:L,bold:L,dim:L,italic:L,underline:L,inverse:L,hidden:L,strikethrough:L,black:L,red:L,green:L,yellow:L,blue:L,magenta:L,cyan:L,white:L,gray:L,bgBlack:L,bgRed:L,bgGreen:L,bgYellow:L,bgBlue:L,bgMagenta:L,bgCyan:L,bgWhite:L}};ds.exports=Ki();ds.exports.createColors=Ki;var Ta=ds.exports;const _a={},Fa=Object.freeze(Object.defineProperty({__proto__:null,default:_a},Symbol.toStringTag,{value:\"Module\"})),ie=La(Fa);let Xs=Ta,Ks=ie,Nr=class Qi extends Error{constructor(e,t,r,i,n,o){super(e),this.name=\"CssSyntaxError\",this.reason=e,n&&(this.file=n),i&&(this.source=i),o&&(this.plugin=o),typeof t!=\"undefined\"&&typeof r!=\"undefined\"&&(typeof t==\"number\"?(this.line=t,this.column=r):(this.line=t.line,this.column=t.column,this.endLine=r.line,this.endColumn=r.column)),this.setMessage(),Error.captureStackTrace&&Error.captureStackTrace(this,Qi)}setMessage(){this.message=this.plugin?this.plugin+\": \":\"\",this.message+=this.file?this.file:\"<css input>\",typeof this.line!=\"undefined\"&&(this.message+=\":\"+this.line+\":\"+this.column),this.message+=\": \"+this.reason}showSourceCode(e){if(!this.source)return\"\";let t=this.source;e==null&&(e=Xs.isColorSupported),Ks&&e&&(t=Ks(t));let r=t.split(/\\r?\\n/),i=Math.max(this.line-3,0),n=Math.min(this.line+2,r.length),o=String(n).length,l,a;if(e){let{bold:u,gray:c,red:h}=Xs.createColors(!0);l=d=>u(h(d)),a=d=>c(d)}else l=a=u=>u;return r.slice(i,n).map((u,c)=>{let h=i+1+c,d=\" \"+(\" \"+h).slice(-o)+\" | \";if(h===this.line){let m=a(d.replace(/\\d/g,\" \"))+u.slice(0,this.column-1).replace(/[^\\t]/g,\" \");return l(\">\")+a(d)+u+`\n `+m+l(\"^\")}return\" \"+a(d)+u}).join(`\n`)}toString(){let e=this.showSourceCode();return e&&(e=`\n\n`+e+`\n`),this.name+\": \"+this.message+e}};var ms=Nr;Nr.default=Nr;var it={};it.isClean=Symbol(\"isClean\");it.my=Symbol(\"my\");const Qs={after:`\n`,beforeClose:`\n`,beforeComment:`\n`,beforeDecl:`\n`,beforeOpen:\" \",beforeRule:`\n`,colon:\": \",commentLeft:\" \",commentRight:\" \",emptyBody:\"\",indent:\" \",semicolon:!1};function Ua(s){return s[0].toUpperCase()+s.slice(1)}let kr=class{constructor(e){this.builder=e}atrule(e,t){let r=\"@\"+e.name,i=e.params?this.rawValue(e,\"params\"):\"\";if(typeof e.raws.afterName!=\"undefined\"?r+=e.raws.afterName:i&&(r+=\" \"),e.nodes)this.block(e,r+i);else{let n=(e.raws.between||\"\")+(t?\";\":\"\");this.builder(r+i+n,e)}}beforeAfter(e,t){let r;e.type===\"decl\"?r=this.raw(e,null,\"beforeDecl\"):e.type===\"comment\"?r=this.raw(e,null,\"beforeComment\"):t===\"before\"?r=this.raw(e,null,\"beforeRule\"):r=this.raw(e,null,\"beforeClose\");let i=e.parent,n=0;for(;i&&i.type!==\"root\";)n+=1,i=i.parent;if(r.includes(`\n`)){let o=this.raw(e,null,\"indent\");if(o.length)for(let l=0;l<n;l++)r+=o}return r}block(e,t){let r=this.raw(e,\"between\",\"beforeOpen\");this.builder(t+r+\"{\",e,\"start\");let i;e.nodes&&e.nodes.length?(this.body(e),i=this.raw(e,\"after\")):i=this.raw(e,\"after\",\"emptyBody\"),i&&this.builder(i),this.builder(\"}\",e,\"end\")}body(e){let t=e.nodes.length-1;for(;t>0&&e.nodes[t].type===\"comment\";)t-=1;let r=this.raw(e,\"semicolon\");for(let i=0;i<e.nodes.length;i++){let n=e.nodes[i],o=this.raw(n,\"before\");o&&this.builder(o),this.stringify(n,t!==i||r)}}comment(e){let t=this.raw(e,\"left\",\"commentLeft\"),r=this.raw(e,\"right\",\"commentRight\");this.builder(\"/*\"+t+e.text+r+\"*/\",e)}decl(e,t){let r=this.raw(e,\"between\",\"colon\"),i=e.prop+r+this.rawValue(e,\"value\");e.important&&(i+=e.raws.important||\" !important\"),t&&(i+=\";\"),this.builder(i,e)}document(e){this.body(e)}raw(e,t,r){let i;if(r||(r=t),t&&(i=e.raws[t],typeof i!=\"undefined\"))return i;let n=e.parent;if(r===\"before\"&&(!n||n.type===\"root\"&&n.first===e||n&&n.type===\"document\"))return\"\";if(!n)return Qs[r];let o=e.root();if(o.rawCache||(o.rawCache={}),typeof o.rawCache[r]!=\"undefined\")return o.rawCache[r];if(r===\"before\"||r===\"after\")return this.beforeAfter(e,r);{let l=\"raw\"+Ua(r);this[l]?i=this[l](o,e):o.walk(a=>{if(i=a.raws[t],typeof i!=\"undefined\")return!1})}return typeof i==\"undefined\"&&(i=Qs[r]),o.rawCache[r]=i,i}rawBeforeClose(e){let t;return e.walk(r=>{if(r.nodes&&r.nodes.length>0&&typeof r.raws.after!=\"undefined\")return t=r.raws.after,t.includes(`\n`)&&(t=t.replace(/[^\\n]+$/,\"\")),!1}),t&&(t=t.replace(/\\S/g,\"\")),t}rawBeforeComment(e,t){let r;return e.walkComments(i=>{if(typeof i.raws.before!=\"undefined\")return r=i.raws.before,r.includes(`\n`)&&(r=r.replace(/[^\\n]+$/,\"\")),!1}),typeof r==\"undefined\"?r=this.raw(t,null,\"beforeDecl\"):r&&(r=r.replace(/\\S/g,\"\")),r}rawBeforeDecl(e,t){let r;return e.walkDecls(i=>{if(typeof i.raws.before!=\"undefined\")return r=i.raws.before,r.includes(`\n`)&&(r=r.replace(/[^\\n]+$/,\"\")),!1}),typeof r==\"undefined\"?r=this.raw(t,null,\"beforeRule\"):r&&(r=r.replace(/\\S/g,\"\")),r}rawBeforeOpen(e){let t;return e.walk(r=>{if(r.type!==\"decl\"&&(t=r.raws.between,typeof t!=\"undefined\"))return!1}),t}rawBeforeRule(e){let t;return e.walk(r=>{if(r.nodes&&(r.parent!==e||e.first!==r)&&typeof r.raws.before!=\"undefined\")return t=r.raws.before,t.includes(`\n`)&&(t=t.replace(/[^\\n]+$/,\"\")),!1}),t&&(t=t.replace(/\\S/g,\"\")),t}rawColon(e){let t;return e.walkDecls(r=>{if(typeof r.raws.between!=\"undefined\")return t=r.raws.between.replace(/[^\\s:]/g,\"\"),!1}),t}rawEmptyBody(e){let t;return e.walk(r=>{if(r.nodes&&r.nodes.length===0&&(t=r.raws.after,typeof t!=\"undefined\"))return!1}),t}rawIndent(e){if(e.raws.indent)return e.raws.indent;let t;return e.walk(r=>{let i=r.parent;if(i&&i!==e&&i.parent&&i.parent===e&&typeof r.raws.before!=\"undefined\"){let n=r.raws.before.split(`\n`);return t=n[n.length-1],t=t.replace(/\\S/g,\"\"),!1}}),t}rawSemicolon(e){let t;return e.walk(r=>{if(r.nodes&&r.nodes.length&&r.last.type===\"decl\"&&(t=r.raws.semicolon,typeof t!=\"undefined\"))return!1}),t}rawValue(e,t){let r=e[t],i=e.raws[t];return i&&i.value===r?i.raw:r}root(e){this.body(e),e.raws.after&&this.builder(e.raws.after)}rule(e){this.block(e,this.rawValue(e,\"selector\")),e.raws.ownSemicolon&&this.builder(e.raws.ownSemicolon,e,\"end\")}stringify(e,t){if(!this[e.type])throw new Error(\"Unknown AST node type \"+e.type+\". Maybe you need to change PostCSS stringifier.\");this[e.type](e,t)}};var qi=kr;kr.default=kr;let Ba=qi;function Pr(s,e){new Ba(e).stringify(s)}var tr=Pr;Pr.default=Pr;let{isClean:dt,my:za}=it,Wa=ms,Ga=qi,Va=tr;function Dr(s,e){let t=new s.constructor;for(let r in s){if(!Object.prototype.hasOwnProperty.call(s,r)||r===\"proxyCache\")continue;let i=s[r],n=typeof i;r===\"parent\"&&n===\"object\"?e&&(t[r]=e):r===\"source\"?t[r]=i:Array.isArray(i)?t[r]=i.map(o=>Dr(o,t)):(n===\"object\"&&i!==null&&(i=Dr(i)),t[r]=i)}return t}let Lr=class{constructor(e={}){this.raws={},this[dt]=!1,this[za]=!0;for(let t in e)if(t===\"nodes\"){this.nodes=[];for(let r of e[t])typeof r.clone==\"function\"?this.append(r.clone()):this.append(r)}else this[t]=e[t]}addToError(e){if(e.postcssNode=this,e.stack&&this.source&&/\\n\\s{4}at /.test(e.stack)){let t=this.source;e.stack=e.stack.replace(/\\n\\s{4}at /,`$&${t.input.from}:${t.start.line}:${t.start.column}$&`)}return e}after(e){return this.parent.insertAfter(this,e),this}assign(e={}){for(let t in e)this[t]=e[t];return this}before(e){return this.parent.insertBefore(this,e),this}cleanRaws(e){delete this.raws.before,delete this.raws.after,e||delete this.raws.between}clone(e={}){let t=Dr(this);for(let r in e)t[r]=e[r];return t}cloneAfter(e={}){let t=this.clone(e);return this.parent.insertAfter(this,t),t}cloneBefore(e={}){let t=this.clone(e);return this.parent.insertBefore(this,t),t}error(e,t={}){if(this.source){let{end:r,start:i}=this.rangeBy(t);return this.source.input.error(e,{column:i.column,line:i.line},{column:r.column,line:r.line},t)}return new Wa(e)}getProxyProcessor(){return{get(e,t){return t===\"proxyOf\"?e:t===\"root\"?()=>e.root().toProxy():e[t]},set(e,t,r){return e[t]===r||(e[t]=r,(t===\"prop\"||t===\"value\"||t===\"name\"||t===\"params\"||t===\"important\"||t===\"text\")&&e.markDirty()),!0}}}markDirty(){if(this[dt]){this[dt]=!1;let e=this;for(;e=e.parent;)e[dt]=!1}}next(){if(!this.parent)return;let e=this.parent.index(this);return this.parent.nodes[e+1]}positionBy(e,t){let r=this.source.start;if(e.index)r=this.positionInside(e.index,t);else if(e.word){t=this.toString();let i=t.indexOf(e.word);i!==-1&&(r=this.positionInside(i,t))}return r}positionInside(e,t){let r=t||this.toString(),i=this.source.start.column,n=this.source.start.line;for(let o=0;o<e;o++)r[o]===`\n`?(i=1,n+=1):i+=1;return{column:i,line:n}}prev(){if(!this.parent)return;let e=this.parent.index(this);return this.parent.nodes[e-1]}rangeBy(e){let t={column:this.source.start.column,line:this.source.start.line},r=this.source.end?{column:this.source.end.column+1,line:this.source.end.line}:{column:t.column+1,line:t.line};if(e.word){let i=this.toString(),n=i.indexOf(e.word);n!==-1&&(t=this.positionInside(n,i),r=this.positionInside(n+e.word.length,i))}else e.start?t={column:e.start.column,line:e.start.line}:e.index&&(t=this.positionInside(e.index)),e.end?r={column:e.end.column,line:e.end.line}:typeof e.endIndex==\"number\"?r=this.positionInside(e.endIndex):e.index&&(r=this.positionInside(e.index+1));return(r.line<t.line||r.line===t.line&&r.column<=t.column)&&(r={column:t.column+1,line:t.line}),{end:r,start:t}}raw(e,t){return new Ga().raw(this,e,t)}remove(){return this.parent&&this.parent.removeChild(this),this.parent=void 0,this}replaceWith(...e){if(this.parent){let t=this,r=!1;for(let i of e)i===this?r=!0:r?(this.parent.insertAfter(t,i),t=i):this.parent.insertBefore(t,i);r||this.remove()}return this}root(){let e=this;for(;e.parent&&e.parent.type!==\"document\";)e=e.parent;return e}toJSON(e,t){let r={},i=t==null;t=t||new Map;let n=0;for(let o in this){if(!Object.prototype.hasOwnProperty.call(this,o)||o===\"parent\"||o===\"proxyCache\")continue;let l=this[o];if(Array.isArray(l))r[o]=l.map(a=>typeof a==\"object\"&&a.toJSON?a.toJSON(null,t):a);else if(typeof l==\"object\"&&l.toJSON)r[o]=l.toJSON(null,t);else if(o===\"source\"){let a=t.get(l.input);a==null&&(a=n,t.set(l.input,n),n++),r[o]={end:l.end,inputId:a,start:l.start}}else r[o]=l}return i&&(r.inputs=[...t.keys()].map(o=>o.toJSON())),r}toProxy(){return this.proxyCache||(this.proxyCache=new Proxy(this,this.getProxyProcessor())),this.proxyCache}toString(e=Va){e.stringify&&(e=e.stringify);let t=\"\";return e(this,r=>{t+=r}),t}warn(e,t,r){let i={node:this};for(let n in r)i[n]=r[n];return e.warn(t,i)}get proxyOf(){return this}};var rr=Lr;Lr.default=Lr;let ja=rr,Tr=class extends ja{constructor(e){e&&typeof e.value!=\"undefined\"&&typeof e.value!=\"string\"&&(e=ee(x({},e),{value:String(e.value)})),super(e),this.type=\"decl\"}get variable(){return this.prop.startsWith(\"--\")||this.prop[0]===\"$\"}};var sr=Tr;Tr.default=Tr;let Ha=\"useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict\",Ya=(s,e=21)=>(t=e)=>{let r=\"\",i=t;for(;i--;)r+=s[Math.random()*s.length|0];return r},Za=(s=21)=>{let e=\"\",t=s;for(;t--;)e+=Ha[Math.random()*64|0];return e};var Ja={nanoid:Za,customAlphabet:Ya};let{SourceMapConsumer:qs,SourceMapGenerator:ei}=ie,{existsSync:Xa,readFileSync:Ka}=ie,{dirname:wr,join:Qa}=ie;function qa(s){return Buffer?Buffer.from(s,\"base64\").toString():window.atob(s)}let _r=class{constructor(e,t){if(t.map===!1)return;this.loadAnnotation(e),this.inline=this.startWith(this.annotation,\"data:\");let r=t.map?t.map.prev:void 0,i=this.loadMap(t.from,r);!this.mapFile&&t.from&&(this.mapFile=t.from),this.mapFile&&(this.root=wr(this.mapFile)),i&&(this.text=i)}consumer(){return this.consumerCache||(this.consumerCache=new qs(this.text)),this.consumerCache}decodeInline(e){let t=/^data:application\\/json;charset=utf-?8;base64,/,r=/^data:application\\/json;base64,/,i=/^data:application\\/json;charset=utf-?8,/,n=/^data:application\\/json,/;if(i.test(e)||n.test(e))return decodeURIComponent(e.substr(RegExp.lastMatch.length));if(t.test(e)||r.test(e))return qa(e.substr(RegExp.lastMatch.length));let o=e.match(/data:application\\/json;([^,]+),/)[1];throw new Error(\"Unsupported source map encoding \"+o)}getAnnotationURL(e){return e.replace(/^\\/\\*\\s*# sourceMappingURL=/,\"\").trim()}isMap(e){return typeof e!=\"object\"?!1:typeof e.mappings==\"string\"||typeof e._mappings==\"string\"||Array.isArray(e.sections)}loadAnnotation(e){let t=e.match(/\\/\\*\\s*# sourceMappingURL=/gm);if(!t)return;let r=e.lastIndexOf(t.pop()),i=e.indexOf(\"*/\",r);r>-1&&i>-1&&(this.annotation=this.getAnnotationURL(e.substring(r,i)))}loadFile(e){if(this.root=wr(e),Xa(e))return this.mapFile=e,Ka(e,\"utf-8\").toString().trim()}loadMap(e,t){if(t===!1)return!1;if(t){if(typeof t==\"string\")return t;if(typeof t==\"function\"){let r=t(e);if(r){let i=this.loadFile(r);if(!i)throw new Error(\"Unable to load previous source map: \"+r.toString());return i}}else{if(t instanceof qs)return ei.fromSourceMap(t).toString();if(t instanceof ei)return t.toString();if(this.isMap(t))return JSON.stringify(t);throw new Error(\"Unsupported previous source map format: \"+t.toString())}}else{if(this.inline)return this.decodeInline(this.annotation);if(this.annotation){let r=this.annotation;return e&&(r=Qa(wr(e),r)),this.loadFile(r)}}}startWith(e,t){return e?e.substr(0,t.length)===t:!1}withContent(){return!!(this.consumer().sourcesContent&&this.consumer().sourcesContent.length>0)}};var en=_r;_r.default=_r;let{SourceMapConsumer:el,SourceMapGenerator:tl}=ie,{fileURLToPath:ti,pathToFileURL:mt}=ie,{isAbsolute:Fr,resolve:Ur}=ie,{nanoid:rl}=Ja,Sr=ie,ri=ms,sl=en,br=Symbol(\"fromOffsetCache\"),il=!!(el&&tl),si=!!(Ur&&Fr),Vt=class{constructor(e,t={}){if(e===null||typeof e==\"undefined\"||typeof e==\"object\"&&!e.toString)throw new Error(`PostCSS received ${e} instead of CSS string`);if(this.css=e.toString(),this.css[0]===\"\\uFEFF\"||this.css[0]===\"\\uFFFE\"?(this.hasBOM=!0,this.css=this.css.slice(1)):this.hasBOM=!1,t.from&&(!si||/^\\w+:\\/\\//.test(t.from)||Fr(t.from)?this.file=t.from:this.file=Ur(t.from)),si&&il){let r=new sl(this.css,t);if(r.text){this.map=r;let i=r.consumer().file;!this.file&&i&&(this.file=this.mapResolve(i))}}this.file||(this.id=\"<input css \"+rl(6)+\">\"),this.map&&(this.map.file=this.from)}error(e,t,r,i={}){let n,o,l;if(t&&typeof t==\"object\"){let u=t,c=r;if(typeof u.offset==\"number\"){let h=this.fromOffset(u.offset);t=h.line,r=h.col}else t=u.line,r=u.column;if(typeof c.offset==\"number\"){let h=this.fromOffset(c.offset);o=h.line,l=h.col}else o=c.line,l=c.column}else if(!r){let u=this.fromOffset(t);t=u.line,r=u.col}let a=this.origin(t,r,o,l);return a?n=new ri(e,a.endLine===void 0?a.line:{column:a.column,line:a.line},a.endLine===void 0?a.column:{column:a.endColumn,line:a.endLine},a.source,a.file,i.plugin):n=new ri(e,o===void 0?t:{column:r,line:t},o===void 0?r:{column:l,line:o},this.css,this.file,i.plugin),n.input={column:r,endColumn:l,endLine:o,line:t,source:this.css},this.file&&(mt&&(n.input.url=mt(this.file).toString()),n.input.file=this.file),n}fromOffset(e){let t,r;if(this[br])r=this[br];else{let n=this.css.split(`\n`);r=new Array(n.length);let o=0;for(let l=0,a=n.length;l<a;l++)r[l]=o,o+=n[l].length+1;this[br]=r}t=r[r.length-1];let i=0;if(e>=t)i=r.length-1;else{let n=r.length-2,o;for(;i<n;)if(o=i+(n-i>>1),e<r[o])n=o-1;else if(e>=r[o+1])i=o+1;else{i=o;break}}return{col:e-r[i]+1,line:i+1}}mapResolve(e){return/^\\w+:\\/\\//.test(e)?e:Ur(this.map.consumer().sourceRoot||this.map.root||\".\",e)}origin(e,t,r,i){if(!this.map)return!1;let n=this.map.consumer(),o=n.originalPositionFor({column:t,line:e});if(!o.source)return!1;let l;typeof r==\"number\"&&(l=n.originalPositionFor({column:i,line:r}));let a;Fr(o.source)?a=mt(o.source):a=new URL(o.source,this.map.consumer().sourceRoot||mt(this.map.mapFile));let u={column:o.column,endColumn:l&&l.column,endLine:l&&l.line,line:o.line,url:a.toString()};if(a.protocol===\"file:\")if(ti)u.file=ti(a);else throw new Error(\"file: protocol is not available in this PostCSS build\");let c=n.sourceContentFor(o.source);return c&&(u.source=c),u}toJSON(){let e={};for(let t of[\"hasBOM\",\"css\",\"file\",\"id\"])this[t]!=null&&(e[t]=this[t]);return this.map&&(e.map=x({},this.map),e.map.consumerCache&&(e.map.consumerCache=void 0)),e}get from(){return this.file||this.id}};var ir=Vt;Vt.default=Vt;Sr&&Sr.registerInput&&Sr.registerInput(Vt);let{SourceMapConsumer:tn,SourceMapGenerator:Tt}=ie,{dirname:_t,relative:rn,resolve:sn,sep:nn}=ie,{pathToFileURL:ii}=ie,nl=ir,ol=!!(tn&&Tt),al=!!(_t&&sn&&rn&&nn),ll=class{constructor(e,t,r,i){this.stringify=e,this.mapOpts=r.map||{},this.root=t,this.opts=r,this.css=i,this.originalCSS=i,this.usesFileUrls=!this.mapOpts.from&&this.mapOpts.absolute,this.memoizedFileURLs=new Map,this.memoizedPaths=new Map,this.memoizedURLs=new Map}addAnnotation(){let e;this.isInline()?e=\"data:application/json;base64,\"+this.toBase64(this.map.toString()):typeof this.mapOpts.annotation==\"string\"?e=this.mapOpts.annotation:typeof this.mapOpts.annotation==\"function\"?e=this.mapOpts.annotation(this.opts.to,this.root):e=this.outputFile()+\".map\";let t=`\n`;this.css.includes(`\\r\n`)&&(t=`\\r\n`),this.css+=t+\"/*# sourceMappingURL=\"+e+\" */\"}applyPrevMaps(){for(let e of this.previous()){let t=this.toUrl(this.path(e.file)),r=e.root||_t(e.file),i;this.mapOpts.sourcesContent===!1?(i=new tn(e.text),i.sourcesContent&&(i.sourcesContent=null)):i=e.consumer(),this.map.applySourceMap(i,t,this.toUrl(this.path(r)))}}clearAnnotation(){if(this.mapOpts.annotation!==!1)if(this.root){let e;for(let t=this.root.nodes.length-1;t>=0;t--)e=this.root.nodes[t],e.type===\"comment\"&&e.text.indexOf(\"# sourceMappingURL=\")===0&&this.root.removeChild(t)}else this.css&&(this.css=this.css.replace(/\\n*?\\/\\*#[\\S\\s]*?\\*\\/$/gm,\"\"))}generate(){if(this.clearAnnotation(),al&&ol&&this.isMap())return this.generateMap();{let e=\"\";return this.stringify(this.root,t=>{e+=t}),[e]}}generateMap(){if(this.root)this.generateString();else if(this.previous().length===1){let e=this.previous()[0].consumer();e.file=this.outputFile(),this.map=Tt.fromSourceMap(e,{ignoreInvalidMapping:!0})}else this.map=new Tt({file:this.outputFile(),ignoreInvalidMapping:!0}),this.map.addMapping({generated:{column:0,line:1},original:{column:0,line:1},source:this.opts.from?this.toUrl(this.path(this.opts.from)):\"<no source>\"});return this.isSourcesContent()&&this.setSourcesContent(),this.root&&this.previous().length>0&&this.applyPrevMaps(),this.isAnnotation()&&this.addAnnotation(),this.isInline()?[this.css]:[this.css,this.map]}generateString(){this.css=\"\",this.map=new Tt({file:this.outputFile(),ignoreInvalidMapping:!0});let e=1,t=1,r=\"<no source>\",i={generated:{column:0,line:0},original:{column:0,line:0},source:\"\"},n,o;this.stringify(this.root,(l,a,u)=>{if(this.css+=l,a&&u!==\"end\"&&(i.generated.line=e,i.generated.column=t-1,a.source&&a.source.start?(i.source=this.sourcePath(a),i.original.line=a.source.start.line,i.original.column=a.source.start.column-1,this.map.addMapping(i)):(i.source=r,i.original.line=1,i.original.column=0,this.map.addMapping(i))),n=l.match(/\\n/g),n?(e+=n.length,o=l.lastIndexOf(`\n`),t=l.length-o):t+=l.length,a&&u!==\"start\"){let c=a.parent||{raws:{}};(!(a.type===\"decl\"||a.type===\"atrule\"&&!a.nodes)||a!==c.last||c.raws.semicolon)&&(a.source&&a.source.end?(i.source=this.sourcePath(a),i.original.line=a.source.end.line,i.original.column=a.source.end.column-1,i.generated.line=e,i.generated.column=t-2,this.map.addMapping(i)):(i.source=r,i.original.line=1,i.original.column=0,i.generated.line=e,i.generated.column=t-1,this.map.addMapping(i)))}})}isAnnotation(){return this.isInline()?!0:typeof this.mapOpts.annotation!=\"undefined\"?this.mapOpts.annotation:this.previous().length?this.previous().some(e=>e.annotation):!0}isInline(){if(typeof this.mapOpts.inline!=\"undefined\")return this.mapOpts.inline;let e=this.mapOpts.annotation;return typeof e!=\"undefined\"&&e!==!0?!1:this.previous().length?this.previous().some(t=>t.inline):!0}isMap(){return typeof this.opts.map!=\"undefined\"?!!this.opts.map:this.previous().length>0}isSourcesContent(){return typeof this.mapOpts.sourcesContent!=\"undefined\"?this.mapOpts.sourcesContent:this.previous().length?this.previous().some(e=>e.withContent()):!0}outputFile(){return this.opts.to?this.path(this.opts.to):this.opts.from?this.path(this.opts.from):\"to.css\"}path(e){if(this.mapOpts.absolute||e.charCodeAt(0)===60||/^\\w+:\\/\\//.test(e))return e;let t=this.memoizedPaths.get(e);if(t)return t;let r=this.opts.to?_t(this.opts.to):\".\";typeof this.mapOpts.annotation==\"string\"&&(r=_t(sn(r,this.mapOpts.annotation)));let i=rn(r,e);return this.memoizedPaths.set(e,i),i}previous(){if(!this.previousMaps)if(this.previousMaps=[],this.root)this.root.walk(e=>{if(e.source&&e.source.input.map){let t=e.source.input.map;this.previousMaps.includes(t)||this.previousMaps.push(t)}});else{let e=new nl(this.originalCSS,this.opts);e.map&&this.previousMaps.push(e.map)}return this.previousMaps}setSourcesContent(){let e={};if(this.root)this.root.walk(t=>{if(t.source){let r=t.source.input.from;if(r&&!e[r]){e[r]=!0;let i=this.usesFileUrls?this.toFileUrl(r):this.toUrl(this.path(r));this.map.setSourceContent(i,t.source.input.css)}}});else if(this.css){let t=this.opts.from?this.toUrl(this.path(this.opts.from)):\"<no source>\";this.map.setSourceContent(t,this.css)}}sourcePath(e){return this.mapOpts.from?this.toUrl(this.mapOpts.from):this.usesFileUrls?this.toFileUrl(e.source.input.from):this.toUrl(this.path(e.source.input.from))}toBase64(e){return Buffer?Buffer.from(e).toString(\"base64\"):window.btoa(unescape(encodeURIComponent(e)))}toFileUrl(e){let t=this.memoizedFileURLs.get(e);if(t)return t;if(ii){let r=ii(e).toString();return this.memoizedFileURLs.set(e,r),r}else throw new Error(\"`map.absolute` option is not available in this PostCSS build\")}toUrl(e){let t=this.memoizedURLs.get(e);if(t)return t;nn===\"\\\\\"&&(e=e.replace(/\\\\/g,\"/\"));let r=encodeURI(e).replace(/[#?]/g,encodeURIComponent);return this.memoizedURLs.set(e,r),r}};var on=ll;let ul=rr,Br=class extends ul{constructor(e){super(e),this.type=\"comment\"}};var nr=Br;Br.default=Br;let{isClean:an,my:ln}=it,un=sr,cn=nr,cl=rr,hn,gs,ys,fn;function pn(s){return s.map(e=>(e.nodes&&(e.nodes=pn(e.nodes)),delete e.source,e))}function dn(s){if(s[an]=!1,s.proxyOf.nodes)for(let e of s.proxyOf.nodes)dn(e)}let fe=class mn extends cl{append(...e){for(let t of e){let r=this.normalize(t,this.last);for(let i of r)this.proxyOf.nodes.push(i)}return this.markDirty(),this}cleanRaws(e){if(super.cleanRaws(e),this.nodes)for(let t of this.nodes)t.cleanRaws(e)}each(e){if(!this.proxyOf.nodes)return;let t=this.getIterator(),r,i;for(;this.indexes[t]<this.proxyOf.nodes.length&&(r=this.indexes[t],i=e(this.proxyOf.nodes[r],r),i!==!1);)this.indexes[t]+=1;return delete this.indexes[t],i}every(e){return this.nodes.every(e)}getIterator(){this.lastEach||(this.lastEach=0),this.indexes||(this.indexes={}),this.lastEach+=1;let e=this.lastEach;return this.indexes[e]=0,e}getProxyProcessor(){return{get(e,t){return t===\"proxyOf\"?e:e[t]?t===\"each\"||typeof t==\"string\"&&t.startsWith(\"walk\")?(...r)=>e[t](...r.map(i=>typeof i==\"function\"?(n,o)=>i(n.toProxy(),o):i)):t===\"every\"||t===\"some\"?r=>e[t]((i,...n)=>r(i.toProxy(),...n)):t===\"root\"?()=>e.root().toProxy():t===\"nodes\"?e.nodes.map(r=>r.toProxy()):t===\"first\"||t===\"last\"?e[t].toProxy():e[t]:e[t]},set(e,t,r){return e[t]===r||(e[t]=r,(t===\"name\"||t===\"params\"||t===\"selector\")&&e.markDirty()),!0}}}index(e){return typeof e==\"number\"?e:(e.proxyOf&&(e=e.proxyOf),this.proxyOf.nodes.indexOf(e))}insertAfter(e,t){let r=this.index(e),i=this.normalize(t,this.proxyOf.nodes[r]).reverse();r=this.index(e);for(let o of i)this.proxyOf.nodes.splice(r+1,0,o);let n;for(let o in this.indexes)n=this.indexes[o],r<n&&(this.indexes[o]=n+i.length);return this.markDirty(),this}insertBefore(e,t){let r=this.index(e),i=r===0?\"prepend\":!1,n=this.normalize(t,this.proxyOf.nodes[r],i).reverse();r=this.index(e);for(let l of n)this.proxyOf.nodes.splice(r,0,l);let o;for(let l in this.indexes)o=this.indexes[l],r<=o&&(this.indexes[l]=o+n.length);return this.markDirty(),this}normalize(e,t){if(typeof e==\"string\")e=pn(hn(e).nodes);else if(typeof e==\"undefined\")e=[];else if(Array.isArray(e)){e=e.slice(0);for(let i of e)i.parent&&i.parent.removeChild(i,\"ignore\")}else if(e.type===\"root\"&&this.type!==\"document\"){e=e.nodes.slice(0);for(let i of e)i.parent&&i.parent.removeChild(i,\"ignore\")}else if(e.type)e=[e];else if(e.prop){if(typeof e.value==\"undefined\")throw new Error(\"Value field is missed in node creation\");typeof e.value!=\"string\"&&(e.value=String(e.value)),e=[new un(e)]}else if(e.selector)e=[new gs(e)];else if(e.name)e=[new ys(e)];else if(e.text)e=[new cn(e)];else throw new Error(\"Unknown node type in node creation\");return e.map(i=>(i[ln]||mn.rebuild(i),i=i.proxyOf,i.parent&&i.parent.removeChild(i),i[an]&&dn(i),typeof i.raws.before==\"undefined\"&&t&&typeof t.raws.before!=\"undefined\"&&(i.raws.before=t.raws.before.replace(/\\S/g,\"\")),i.parent=this.proxyOf,i))}prepend(...e){e=e.reverse();for(let t of e){let r=this.normalize(t,this.first,\"prepend\").reverse();for(let i of r)this.proxyOf.nodes.unshift(i);for(let i in this.indexes)this.indexes[i]=this.indexes[i]+r.length}return this.markDirty(),this}push(e){return e.parent=this,this.proxyOf.nodes.push(e),this}removeAll(){for(let e of this.proxyOf.nodes)e.parent=void 0;return this.proxyOf.nodes=[],this.markDirty(),this}removeChild(e){e=this.index(e),this.proxyOf.nodes[e].parent=void 0,this.proxyOf.nodes.splice(e,1);let t;for(let r in this.indexes)t=this.indexes[r],t>=e&&(this.indexes[r]=t-1);return this.markDirty(),this}replaceValues(e,t,r){return r||(r=t,t={}),this.walkDecls(i=>{t.props&&!t.props.includes(i.prop)||t.fast&&!i.value.includes(t.fast)||(i.value=i.value.replace(e,r))}),this.markDirty(),this}some(e){return this.nodes.some(e)}walk(e){return this.each((t,r)=>{let i;try{i=e(t,r)}catch(n){throw t.addToError(n)}return i!==!1&&t.walk&&(i=t.walk(e)),i})}walkAtRules(e,t){return t?e instanceof RegExp?this.walk((r,i)=>{if(r.type===\"atrule\"&&e.test(r.name))return t(r,i)}):this.walk((r,i)=>{if(r.type===\"atrule\"&&r.name===e)return t(r,i)}):(t=e,this.walk((r,i)=>{if(r.type===\"atrule\")return t(r,i)}))}walkComments(e){return this.walk((t,r)=>{if(t.type===\"comment\")return e(t,r)})}walkDecls(e,t){return t?e instanceof RegExp?this.walk((r,i)=>{if(r.type===\"decl\"&&e.test(r.prop))return t(r,i)}):this.walk((r,i)=>{if(r.type===\"decl\"&&r.prop===e)return t(r,i)}):(t=e,this.walk((r,i)=>{if(r.type===\"decl\")return t(r,i)}))}walkRules(e,t){return t?e instanceof RegExp?this.walk((r,i)=>{if(r.type===\"rule\"&&e.test(r.selector))return t(r,i)}):this.walk((r,i)=>{if(r.type===\"rule\"&&r.selector===e)return t(r,i)}):(t=e,this.walk((r,i)=>{if(r.type===\"rule\")return t(r,i)}))}get first(){if(this.proxyOf.nodes)return this.proxyOf.nodes[0]}get last(){if(this.proxyOf.nodes)return this.proxyOf.nodes[this.proxyOf.nodes.length-1]}};fe.registerParse=s=>{hn=s};fe.registerRule=s=>{gs=s};fe.registerAtRule=s=>{ys=s};fe.registerRoot=s=>{fn=s};var ve=fe;fe.default=fe;fe.rebuild=s=>{s.type===\"atrule\"?Object.setPrototypeOf(s,ys.prototype):s.type===\"rule\"?Object.setPrototypeOf(s,gs.prototype):s.type===\"decl\"?Object.setPrototypeOf(s,un.prototype):s.type===\"comment\"?Object.setPrototypeOf(s,cn.prototype):s.type===\"root\"&&Object.setPrototypeOf(s,fn.prototype),s[ln]=!0,s.nodes&&s.nodes.forEach(e=>{fe.rebuild(e)})};let hl=ve,gn,yn,Je=class extends hl{constructor(e){super(x({type:\"document\"},e)),this.nodes||(this.nodes=[])}toResult(e={}){return new gn(new yn,this,e).stringify()}};Je.registerLazyResult=s=>{gn=s};Je.registerProcessor=s=>{yn=s};var ws=Je;Je.default=Je;let zr=class{constructor(e,t={}){if(this.type=\"warning\",this.text=e,t.node&&t.node.source){let r=t.node.rangeBy(t);this.line=r.start.line,this.column=r.start.column,this.endLine=r.end.line,this.endColumn=r.end.column}for(let r in t)this[r]=t[r]}toString(){return this.node?this.node.error(this.text,{index:this.index,plugin:this.plugin,word:this.word}).message:this.plugin?this.plugin+\": \"+this.text:this.text}};var wn=zr;zr.default=zr;let fl=wn,Wr=class{constructor(e,t,r){this.processor=e,this.messages=[],this.root=t,this.opts=r,this.css=void 0,this.map=void 0}toString(){return this.css}warn(e,t={}){t.plugin||this.lastPlugin&&this.lastPlugin.postcssPlugin&&(t.plugin=this.lastPlugin.postcssPlugin);let r=new fl(e,t);return this.messages.push(r),r}warnings(){return this.messages.filter(e=>e.type===\"warning\")}get content(){return this.css}};var Ss=Wr;Wr.default=Wr;const Cr=39,ni=34,gt=92,oi=47,yt=10,ze=32,wt=12,St=9,bt=13,pl=91,dl=93,ml=40,gl=41,yl=123,wl=125,Sl=59,bl=42,Cl=58,vl=64,Ct=/[\\t\\n\\f\\r \"#'()/;[\\\\\\]{}]/g,vt=/[\\t\\n\\f\\r !\"#'():;@[\\\\\\]{}]|\\/(?=\\*)/g,Il=/.[\\r\\n\"'(/\\\\]/,ai=/[\\da-f]/i;var xl=function(e,t={}){let r=e.css.valueOf(),i=t.ignoreErrors,n,o,l,a,u,c,h,d,m,g,p=r.length,f=0,S=[],b=[];function y(){return f}function C(_){throw e.error(\"Unclosed \"+_,f)}function N(){return b.length===0&&f>=p}function D(_){if(b.length)return b.pop();if(f>=p)return;let G=_?_.ignoreUnclosed:!1;switch(n=r.charCodeAt(f),n){case yt:case ze:case St:case bt:case wt:{o=f;do o+=1,n=r.charCodeAt(o);while(n===ze||n===yt||n===St||n===bt||n===wt);g=[\"space\",r.slice(f,o)],f=o-1;break}case pl:case dl:case yl:case wl:case Cl:case Sl:case gl:{let Y=String.fromCharCode(n);g=[Y,Y,f];break}case ml:{if(d=S.length?S.pop()[1]:\"\",m=r.charCodeAt(f+1),d===\"url\"&&m!==Cr&&m!==ni&&m!==ze&&m!==yt&&m!==St&&m!==wt&&m!==bt){o=f;do{if(c=!1,o=r.indexOf(\")\",o+1),o===-1)if(i||G){o=f;break}else C(\"bracket\");for(h=o;r.charCodeAt(h-1)===gt;)h-=1,c=!c}while(c);g=[\"brackets\",r.slice(f,o+1),f,o],f=o}else o=r.indexOf(\")\",f+1),a=r.slice(f,o+1),o===-1||Il.test(a)?g=[\"(\",\"(\",f]:(g=[\"brackets\",a,f,o],f=o);break}case Cr:case ni:{l=n===Cr?\"'\":'\"',o=f;do{if(c=!1,o=r.indexOf(l,o+1),o===-1)if(i||G){o=f+1;break}else C(\"string\");for(h=o;r.charCodeAt(h-1)===gt;)h-=1,c=!c}while(c);g=[\"string\",r.slice(f,o+1),f,o],f=o;break}case vl:{Ct.lastIndex=f+1,Ct.test(r),Ct.lastIndex===0?o=r.length-1:o=Ct.lastIndex-2,g=[\"at-word\",r.slice(f,o+1),f,o],f=o;break}case gt:{for(o=f,u=!0;r.charCodeAt(o+1)===gt;)o+=1,u=!u;if(n=r.charCodeAt(o+1),u&&n!==oi&&n!==ze&&n!==yt&&n!==St&&n!==bt&&n!==wt&&(o+=1,ai.test(r.charAt(o)))){for(;ai.test(r.charAt(o+1));)o+=1;r.charCodeAt(o+1)===ze&&(o+=1)}g=[\"word\",r.slice(f,o+1),f,o],f=o;break}default:{n===oi&&r.charCodeAt(f+1)===bl?(o=r.indexOf(\"*/\",f+2)+1,o===0&&(i||G?o=r.length:C(\"comment\")),g=[\"comment\",r.slice(f,o+1),f,o],f=o):(vt.lastIndex=f+1,vt.test(r),vt.lastIndex===0?o=r.length-1:o=vt.lastIndex-2,g=[\"word\",r.slice(f,o+1),f,o],S.push(g),f=o);break}}return f++,g}function H(_){b.push(_)}return{back:H,endOfFile:N,nextToken:D,position:y}};let Sn=ve,jt=class extends Sn{constructor(e){super(e),this.type=\"atrule\"}append(...e){return this.proxyOf.nodes||(this.nodes=[]),super.append(...e)}prepend(...e){return this.proxyOf.nodes||(this.nodes=[]),super.prepend(...e)}};var bs=jt;jt.default=jt;Sn.registerAtRule(jt);let bn=ve,Cn,vn,Ne=class extends bn{constructor(e){super(e),this.type=\"root\",this.nodes||(this.nodes=[])}normalize(e,t,r){let i=super.normalize(e);if(t){if(r===\"prepend\")this.nodes.length>1?t.raws.before=this.nodes[1].raws.before:delete t.raws.before;else if(this.first!==t)for(let n of i)n.raws.before=t.raws.before}return i}removeChild(e,t){let r=this.index(e);return!t&&r===0&&this.nodes.length>1&&(this.nodes[1].raws.before=this.nodes[r].raws.before),super.removeChild(e)}toResult(e={}){return new Cn(new vn,this,e).stringify()}};Ne.registerLazyResult=s=>{Cn=s};Ne.registerProcessor=s=>{vn=s};var nt=Ne;Ne.default=Ne;bn.registerRoot(Ne);let Xe={comma(s){return Xe.split(s,[\",\"],!0)},space(s){let e=[\" \",`\n`,\" \"];return Xe.split(s,e)},split(s,e,t){let r=[],i=\"\",n=!1,o=0,l=!1,a=\"\",u=!1;for(let c of s)u?u=!1:c===\"\\\\\"?u=!0:l?c===a&&(l=!1):c==='\"'||c===\"'\"?(l=!0,a=c):c===\"(\"?o+=1:c===\")\"?o>0&&(o-=1):o===0&&e.includes(c)&&(n=!0),n?(i!==\"\"&&r.push(i.trim()),i=\"\",n=!1):i+=c;return(t||i!==\"\")&&r.push(i.trim()),r}};var In=Xe;Xe.default=Xe;let xn=ve,Ol=In,Ht=class extends xn{constructor(e){super(e),this.type=\"rule\",this.nodes||(this.nodes=[])}get selectors(){return Ol.comma(this.selector)}set selectors(e){let t=this.selector?this.selector.match(/,\\s*/):null,r=t?t[0]:\",\"+this.raw(\"between\",\"beforeOpen\");this.selector=e.join(r)}};var Cs=Ht;Ht.default=Ht;xn.registerRule(Ht);let Rl=sr,Al=xl,Ml=nr,El=bs,$l=nt,li=Cs;const ui={empty:!0,space:!0};function Nl(s){for(let e=s.length-1;e>=0;e--){let t=s[e],r=t[3]||t[2];if(r)return r}}let kl=class{constructor(e){this.input=e,this.root=new $l,this.current=this.root,this.spaces=\"\",this.semicolon=!1,this.createTokenizer(),this.root.source={input:e,start:{column:1,line:1,offset:0}}}atrule(e){let t=new El;t.name=e[1].slice(1),t.name===\"\"&&this.unnamedAtrule(t,e),this.init(t,e[2]);let r,i,n,o=!1,l=!1,a=[],u=[];for(;!this.tokenizer.endOfFile();){if(e=this.tokenizer.nextToken(),r=e[0],r===\"(\"||r===\"[\"?u.push(r===\"(\"?\")\":\"]\"):r===\"{\"&&u.length>0?u.push(\"}\"):r===u[u.length-1]&&u.pop(),u.length===0)if(r===\";\"){t.source.end=this.getPosition(e[2]),t.source.end.offset++,this.semicolon=!0;break}else if(r===\"{\"){l=!0;break}else if(r===\"}\"){if(a.length>0){for(n=a.length-1,i=a[n];i&&i[0]===\"space\";)i=a[--n];i&&(t.source.end=this.getPosition(i[3]||i[2]),t.source.end.offset++)}this.end(e);break}else a.push(e);else a.push(e);if(this.tokenizer.endOfFile()){o=!0;break}}t.raws.between=this.spacesAndCommentsFromEnd(a),a.length?(t.raws.afterName=this.spacesAndCommentsFromStart(a),this.raw(t,\"params\",a),o&&(e=a[a.length-1],t.source.end=this.getPosition(e[3]||e[2]),t.source.end.offset++,this.spaces=t.raws.between,t.raws.between=\"\")):(t.raws.afterName=\"\",t.params=\"\"),l&&(t.nodes=[],this.current=t)}checkMissedSemicolon(e){let t=this.colon(e);if(t===!1)return;let r=0,i;for(let n=t-1;n>=0&&(i=e[n],!(i[0]!==\"space\"&&(r+=1,r===2)));n--);throw this.input.error(\"Missed semicolon\",i[0]===\"word\"?i[3]+1:i[2])}colon(e){let t=0,r,i,n;for(let[o,l]of e.entries()){if(r=l,i=r[0],i===\"(\"&&(t+=1),i===\")\"&&(t-=1),t===0&&i===\":\")if(!n)this.doubleColon(r);else{if(n[0]===\"word\"&&n[1]===\"progid\")continue;return o}n=r}return!1}comment(e){let t=new Ml;this.init(t,e[2]),t.source.end=this.getPosition(e[3]||e[2]),t.source.end.offset++;let r=e[1].slice(2,-2);if(/^\\s*$/.test(r))t.text=\"\",t.raws.left=r,t.raws.right=\"\";else{let i=r.match(/^(\\s*)([^]*\\S)(\\s*)$/);t.text=i[2],t.raws.left=i[1],t.raws.right=i[3]}}createTokenizer(){this.tokenizer=Al(this.input)}decl(e,t){let r=new Rl;this.init(r,e[0][2]);let i=e[e.length-1];for(i[0]===\";\"&&(this.semicolon=!0,e.pop()),r.source.end=this.getPosition(i[3]||i[2]||Nl(e)),r.source.end.offset++;e[0][0]!==\"word\";)e.length===1&&this.unknownWord(e),r.raws.before+=e.shift()[1];for(r.source.start=this.getPosition(e[0][2]),r.prop=\"\";e.length;){let u=e[0][0];if(u===\":\"||u===\"space\"||u===\"comment\")break;r.prop+=e.shift()[1]}r.raws.between=\"\";let n;for(;e.length;)if(n=e.shift(),n[0]===\":\"){r.raws.between+=n[1];break}else n[0]===\"word\"&&/\\w/.test(n[1])&&this.unknownWord([n]),r.raws.between+=n[1];(r.prop[0]===\"_\"||r.prop[0]===\"*\")&&(r.raws.before+=r.prop[0],r.prop=r.prop.slice(1));let o=[],l;for(;e.length&&(l=e[0][0],!(l!==\"space\"&&l!==\"comment\"));)o.push(e.shift());this.precheckMissedSemicolon(e);for(let u=e.length-1;u>=0;u--){if(n=e[u],n[1].toLowerCase()===\"!important\"){r.important=!0;let c=this.stringFrom(e,u);c=this.spacesFromEnd(e)+c,c!==\" !important\"&&(r.raws.important=c);break}else if(n[1].toLowerCase()===\"important\"){let c=e.slice(0),h=\"\";for(let d=u;d>0;d--){let m=c[d][0];if(h.trim().indexOf(\"!\")===0&&m!==\"space\")break;h=c.pop()[1]+h}h.trim().indexOf(\"!\")===0&&(r.important=!0,r.raws.important=h,e=c)}if(n[0]!==\"space\"&&n[0]!==\"comment\")break}e.some(u=>u[0]!==\"space\"&&u[0]!==\"comment\")&&(r.raws.between+=o.map(u=>u[1]).join(\"\"),o=[]),this.raw(r,\"value\",o.concat(e),t),r.value.includes(\":\")&&!t&&this.checkMissedSemicolon(e)}doubleColon(e){throw this.input.error(\"Double colon\",{offset:e[2]},{offset:e[2]+e[1].length})}emptyRule(e){let t=new li;this.init(t,e[2]),t.selector=\"\",t.raws.between=\"\",this.current=t}end(e){this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.semicolon=!1,this.current.raws.after=(this.current.raws.after||\"\")+this.spaces,this.spaces=\"\",this.current.parent?(this.current.source.end=this.getPosition(e[2]),this.current.source.end.offset++,this.current=this.current.parent):this.unexpectedClose(e)}endFile(){this.current.parent&&this.unclosedBlock(),this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.current.raws.after=(this.current.raws.after||\"\")+this.spaces,this.root.source.end=this.getPosition(this.tokenizer.position())}freeSemicolon(e){if(this.spaces+=e[1],this.current.nodes){let t=this.current.nodes[this.current.nodes.length-1];t&&t.type===\"rule\"&&!t.raws.ownSemicolon&&(t.raws.ownSemicolon=this.spaces,this.spaces=\"\")}}getPosition(e){let t=this.input.fromOffset(e);return{column:t.col,line:t.line,offset:e}}init(e,t){this.current.push(e),e.source={input:this.input,start:this.getPosition(t)},e.raws.before=this.spaces,this.spaces=\"\",e.type!==\"comment\"&&(this.semicolon=!1)}other(e){let t=!1,r=null,i=!1,n=null,o=[],l=e[1].startsWith(\"--\"),a=[],u=e;for(;u;){if(r=u[0],a.push(u),r===\"(\"||r===\"[\")n||(n=u),o.push(r===\"(\"?\")\":\"]\");else if(l&&i&&r===\"{\")n||(n=u),o.push(\"}\");else if(o.length===0)if(r===\";\")if(i){this.decl(a,l);return}else break;else if(r===\"{\"){this.rule(a);return}else if(r===\"}\"){this.tokenizer.back(a.pop()),t=!0;break}else r===\":\"&&(i=!0);else r===o[o.length-1]&&(o.pop(),o.length===0&&(n=null));u=this.tokenizer.nextToken()}if(this.tokenizer.endOfFile()&&(t=!0),o.length>0&&this.unclosedBracket(n),t&&i){if(!l)for(;a.length&&(u=a[a.length-1][0],!(u!==\"space\"&&u!==\"comment\"));)this.tokenizer.back(a.pop());this.decl(a,l)}else this.unknownWord(a)}parse(){let e;for(;!this.tokenizer.endOfFile();)switch(e=this.tokenizer.nextToken(),e[0]){case\"space\":this.spaces+=e[1];break;case\";\":this.freeSemicolon(e);break;case\"}\":this.end(e);break;case\"comment\":this.comment(e);break;case\"at-word\":this.atrule(e);break;case\"{\":this.emptyRule(e);break;default:this.other(e);break}this.endFile()}precheckMissedSemicolon(){}raw(e,t,r,i){let n,o,l=r.length,a=\"\",u=!0,c,h;for(let d=0;d<l;d+=1)n=r[d],o=n[0],o===\"space\"&&d===l-1&&!i?u=!1:o===\"comment\"?(h=r[d-1]?r[d-1][0]:\"empty\",c=r[d+1]?r[d+1][0]:\"empty\",!ui[h]&&!ui[c]?a.slice(-1)===\",\"?u=!1:a+=n[1]:u=!1):a+=n[1];if(!u){let d=r.reduce((m,g)=>m+g[1],\"\");e.raws[t]={raw:d,value:a}}e[t]=a}rule(e){e.pop();let t=new li;this.init(t,e[0][2]),t.raws.between=this.spacesAndCommentsFromEnd(e),this.raw(t,\"selector\",e),this.current=t}spacesAndCommentsFromEnd(e){let t,r=\"\";for(;e.length&&(t=e[e.length-1][0],!(t!==\"space\"&&t!==\"comment\"));)r=e.pop()[1]+r;return r}spacesAndCommentsFromStart(e){let t,r=\"\";for(;e.length&&(t=e[0][0],!(t!==\"space\"&&t!==\"comment\"));)r+=e.shift()[1];return r}spacesFromEnd(e){let t,r=\"\";for(;e.length&&(t=e[e.length-1][0],t===\"space\");)r=e.pop()[1]+r;return r}stringFrom(e,t){let r=\"\";for(let i=t;i<e.length;i++)r+=e[i][1];return e.splice(t,e.length-t),r}unclosedBlock(){let e=this.current.source.start;throw this.input.error(\"Unclosed block\",e.line,e.column)}unclosedBracket(e){throw this.input.error(\"Unclosed bracket\",{offset:e[2]},{offset:e[2]+1})}unexpectedClose(e){throw this.input.error(\"Unexpected }\",{offset:e[2]},{offset:e[2]+1})}unknownWord(e){throw this.input.error(\"Unknown word\",{offset:e[0][2]},{offset:e[0][2]+e[0][1].length})}unnamedAtrule(e,t){throw this.input.error(\"At-rule without name\",{offset:t[2]},{offset:t[2]+t[1].length})}};var Pl=kl;let Dl=ve,Ll=Pl,Tl=ir;function Yt(s,e){let t=new Tl(s,e),r=new Ll(t);try{r.parse()}catch(i){throw i}return r.root}var vs=Yt;Yt.default=Yt;Dl.registerParse(Yt);let{isClean:ue,my:_l}=it,Fl=on,Ul=tr,Bl=ve,zl=ws;let ci=Ss,Wl=vs,Gl=nt;const Vl={atrule:\"AtRule\",comment:\"Comment\",decl:\"Declaration\",document:\"Document\",root:\"Root\",rule:\"Rule\"},jl={AtRule:!0,AtRuleExit:!0,Comment:!0,CommentExit:!0,Declaration:!0,DeclarationExit:!0,Document:!0,DocumentExit:!0,Once:!0,OnceExit:!0,postcssPlugin:!0,prepare:!0,Root:!0,RootExit:!0,Rule:!0,RuleExit:!0},Hl={Once:!0,postcssPlugin:!0,prepare:!0},ke=0;function We(s){return typeof s==\"object\"&&typeof s.then==\"function\"}function On(s){let e=!1,t=Vl[s.type];return s.type===\"decl\"?e=s.prop.toLowerCase():s.type===\"atrule\"&&(e=s.name.toLowerCase()),e&&s.append?[t,t+\"-\"+e,ke,t+\"Exit\",t+\"Exit-\"+e]:e?[t,t+\"-\"+e,t+\"Exit\",t+\"Exit-\"+e]:s.append?[t,ke,t+\"Exit\"]:[t,t+\"Exit\"]}function hi(s){let e;return s.type===\"document\"?e=[\"Document\",ke,\"DocumentExit\"]:s.type===\"root\"?e=[\"Root\",ke,\"RootExit\"]:e=On(s),{eventIndex:0,events:e,iterator:0,node:s,visitorIndex:0,visitors:[]}}function Gr(s){return s[ue]=!1,s.nodes&&s.nodes.forEach(e=>Gr(e)),s}let Vr={},Pe=class Rn{constructor(e,t,r){this.stringified=!1,this.processed=!1;let i;if(typeof t==\"object\"&&t!==null&&(t.type===\"root\"||t.type===\"document\"))i=Gr(t);else if(t instanceof Rn||t instanceof ci)i=Gr(t.root),t.map&&(typeof r.map==\"undefined\"&&(r.map={}),r.map.inline||(r.map.inline=!1),r.map.prev=t.map);else{let n=Wl;r.syntax&&(n=r.syntax.parse),r.parser&&(n=r.parser),n.parse&&(n=n.parse);try{i=n(t,r)}catch(o){this.processed=!0,this.error=o}i&&!i[_l]&&Bl.rebuild(i)}this.result=new ci(e,i,r),this.helpers=ee(x({},Vr),{postcss:Vr,result:this.result}),this.plugins=this.processor.plugins.map(n=>typeof n==\"object\"&&n.prepare?x(x({},n),n.prepare(this.result)):n)}async(){return this.error?Promise.reject(this.error):this.processed?Promise.resolve(this.result):(this.processing||(this.processing=this.runAsync()),this.processing)}catch(e){return this.async().catch(e)}finally(e){return this.async().then(e,e)}getAsyncError(){throw new Error(\"Use process(css).then(cb) to work with async plugins\")}handleError(e,t){let r=this.result.lastPlugin;try{t&&t.addToError(e),this.error=e,e.name===\"CssSyntaxError\"&&!e.plugin?(e.plugin=r.postcssPlugin,e.setMessage()):r.postcssVersion}catch(i){console&&console.error&&console.error(i)}return e}prepareVisitors(){this.listeners={};let e=(t,r,i)=>{this.listeners[r]||(this.listeners[r]=[]),this.listeners[r].push([t,i])};for(let t of this.plugins)if(typeof t==\"object\")for(let r in t){if(!jl[r]&&/^[A-Z]/.test(r))throw new Error(`Unknown event ${r} in ${t.postcssPlugin}. Try to update PostCSS (${this.processor.version} now).`);if(!Hl[r])if(typeof t[r]==\"object\")for(let i in t[r])i===\"*\"?e(t,r,t[r][i]):e(t,r+\"-\"+i.toLowerCase(),t[r][i]);else typeof t[r]==\"function\"&&e(t,r,t[r])}this.hasListener=Object.keys(this.listeners).length>0}async runAsync(){this.plugin=0;for(let e=0;e<this.plugins.length;e++){let t=this.plugins[e],r=this.runOnRoot(t);if(We(r))try{await r}catch(i){throw this.handleError(i)}}if(this.prepareVisitors(),this.hasListener){let e=this.result.root;for(;!e[ue];){e[ue]=!0;let t=[hi(e)];for(;t.length>0;){let r=this.visitTick(t);if(We(r))try{await r}catch(i){let n=t[t.length-1].node;throw this.handleError(i,n)}}}if(this.listeners.OnceExit)for(let[t,r]of this.listeners.OnceExit){this.result.lastPlugin=t;try{if(e.type===\"document\"){let i=e.nodes.map(n=>r(n,this.helpers));await Promise.all(i)}else await r(e,this.helpers)}catch(i){throw this.handleError(i)}}}return this.processed=!0,this.stringify()}runOnRoot(e){this.result.lastPlugin=e;try{if(typeof e==\"object\"&&e.Once){if(this.result.root.type===\"document\"){let t=this.result.root.nodes.map(r=>e.Once(r,this.helpers));return We(t[0])?Promise.all(t):t}return e.Once(this.result.root,this.helpers)}else if(typeof e==\"function\")return e(this.result.root,this.result)}catch(t){throw this.handleError(t)}}stringify(){if(this.error)throw this.error;if(this.stringified)return this.result;this.stringified=!0,this.sync();let e=this.result.opts,t=Ul;e.syntax&&(t=e.syntax.stringify),e.stringifier&&(t=e.stringifier),t.stringify&&(t=t.stringify);let i=new Fl(t,this.result.root,this.result.opts).generate();return this.result.css=i[0],this.result.map=i[1],this.result}sync(){if(this.error)throw this.error;if(this.processed)return this.result;if(this.processed=!0,this.processing)throw this.getAsyncError();for(let e of this.plugins){let t=this.runOnRoot(e);if(We(t))throw this.getAsyncError()}if(this.prepareVisitors(),this.hasListener){let e=this.result.root;for(;!e[ue];)e[ue]=!0,this.walkSync(e);if(this.listeners.OnceExit)if(e.type===\"document\")for(let t of e.nodes)this.visitSync(this.listeners.OnceExit,t);else this.visitSync(this.listeners.OnceExit,e)}return this.result}then(e,t){return this.async().then(e,t)}toString(){return this.css}visitSync(e,t){for(let[r,i]of e){this.result.lastPlugin=r;let n;try{n=i(t,this.helpers)}catch(o){throw this.handleError(o,t.proxyOf)}if(t.type!==\"root\"&&t.type!==\"document\"&&!t.parent)return!0;if(We(n))throw this.getAsyncError()}}visitTick(e){let t=e[e.length-1],{node:r,visitors:i}=t;if(r.type!==\"root\"&&r.type!==\"document\"&&!r.parent){e.pop();return}if(i.length>0&&t.visitorIndex<i.length){let[o,l]=i[t.visitorIndex];t.visitorIndex+=1,t.visitorIndex===i.length&&(t.visitors=[],t.visitorIndex=0),this.result.lastPlugin=o;try{return l(r.toProxy(),this.helpers)}catch(a){throw this.handleError(a,r)}}if(t.iterator!==0){let o=t.iterator,l;for(;l=r.nodes[r.indexes[o]];)if(r.indexes[o]+=1,!l[ue]){l[ue]=!0,e.push(hi(l));return}t.iterator=0,delete r.indexes[o]}let n=t.events;for(;t.eventIndex<n.length;){let o=n[t.eventIndex];if(t.eventIndex+=1,o===ke){r.nodes&&r.nodes.length&&(r[ue]=!0,t.iterator=r.getIterator());return}else if(this.listeners[o]){t.visitors=this.listeners[o];return}}e.pop()}walkSync(e){e[ue]=!0;let t=On(e);for(let r of t)if(r===ke)e.nodes&&e.each(i=>{i[ue]||this.walkSync(i)});else{let i=this.listeners[r];if(i&&this.visitSync(i,e.toProxy()))return}}warnings(){return this.sync().warnings()}get content(){return this.stringify().content}get css(){return this.stringify().css}get map(){return this.stringify().map}get messages(){return this.sync().messages}get opts(){return this.result.opts}get processor(){return this.result.processor}get root(){return this.sync().root}get[Symbol.toStringTag](){return\"LazyResult\"}};Pe.registerPostcss=s=>{Vr=s};var An=Pe;Pe.default=Pe;Gl.registerLazyResult(Pe);zl.registerLazyResult(Pe);let Yl=on,Zl=tr;let Jl=vs;const Xl=Ss;let jr=class{constructor(e,t,r){t=t.toString(),this.stringified=!1,this._processor=e,this._css=t,this._opts=r,this._map=void 0;let i,n=Zl;this.result=new Xl(this._processor,i,this._opts),this.result.css=t;let o=this;Object.defineProperty(this.result,\"root\",{get(){return o.root}});let l=new Yl(n,i,this._opts,t);if(l.isMap()){let[a,u]=l.generate();a&&(this.result.css=a),u&&(this.result.map=u)}else l.clearAnnotation(),this.result.css=l.css}async(){return this.error?Promise.reject(this.error):Promise.resolve(this.result)}catch(e){return this.async().catch(e)}finally(e){return this.async().then(e,e)}sync(){if(this.error)throw this.error;return this.result}then(e,t){return this.async().then(e,t)}toString(){return this._css}warnings(){return[]}get content(){return this.result.css}get css(){return this.result.css}get map(){return this.result.map}get messages(){return[]}get opts(){return this.result.opts}get processor(){return this.result.processor}get root(){if(this._root)return this._root;let e,t=Jl;try{e=t(this._css,this._opts)}catch(r){this.error=r}if(this.error)throw this.error;return this._root=e,e}get[Symbol.toStringTag](){return\"NoWorkResult\"}};var Kl=jr;jr.default=jr;let Ql=Kl,ql=An,eu=ws,tu=nt,Ke=class{constructor(e=[]){this.version=\"8.4.38\",this.plugins=this.normalize(e)}normalize(e){let t=[];for(let r of e)if(r.postcss===!0?r=r():r.postcss&&(r=r.postcss),typeof r==\"object\"&&Array.isArray(r.plugins))t=t.concat(r.plugins);else if(typeof r==\"object\"&&r.postcssPlugin)t.push(r);else if(typeof r==\"function\")t.push(r);else if(!(typeof r==\"object\"&&(r.parse||r.stringify)))throw new Error(r+\" is not a PostCSS plugin\");return t}process(e,t={}){return!this.plugins.length&&!t.parser&&!t.stringifier&&!t.syntax?new Ql(this,e,t):new ql(this,e,t)}use(e){return this.plugins=this.plugins.concat(this.normalize([e])),this}};var ru=Ke;Ke.default=Ke;tu.registerProcessor(Ke);eu.registerProcessor(Ke);let su=sr,iu=en,nu=nr,ou=bs,au=ir,lu=nt,uu=Cs;function Qe(s,e){if(Array.isArray(s))return s.map(o=>Qe(o));let i=s,{inputs:t}=i,r=xe(i,[\"inputs\"]);if(t){e=[];for(let o of t){let l=ee(x({},o),{__proto__:au.prototype});l.map&&(l.map=ee(x({},l.map),{__proto__:iu.prototype})),e.push(l)}}if(r.nodes&&(r.nodes=s.nodes.map(o=>Qe(o,e))),r.source){let n=r.source,{inputId:o}=n,l=xe(n,[\"inputId\"]);r.source=l,o!=null&&(r.source.input=e[o])}if(r.type===\"root\")return new lu(r);if(r.type===\"decl\")return new su(r);if(r.type===\"rule\")return new uu(r);if(r.type===\"comment\")return new nu(r);if(r.type===\"atrule\")return new ou(r);throw new Error(\"Unknown node type: \"+s.type)}var cu=Qe;Qe.default=Qe;let hu=ms,Mn=sr,fu=An,pu=ve,Is=ru,du=tr,mu=cu,En=ws,gu=wn,$n=nr,Nn=bs,yu=Ss,wu=ir,Su=vs,bu=In,kn=Cs,Pn=nt,Cu=rr;function E(...s){return s.length===1&&Array.isArray(s[0])&&(s=s[0]),new Is(s)}E.plugin=function(e,t){let r=!1;function i(...o){console&&console.warn&&!r&&(r=!0,console.warn(e+`: postcss.plugin was deprecated. Migration guide:\nhttps://evilmartians.com/chronicles/postcss-8-plugin-migration`),process.env.LANG&&process.env.LANG.startsWith(\"cn\")&&console.warn(e+`: \\u91CC\\u9762 postcss.plugin \\u88AB\\u5F03\\u7528. \\u8FC1\\u79FB\\u6307\\u5357:\nhttps://www.w3ctech.com/topic/2226`));let l=t(...o);return l.postcssPlugin=e,l.postcssVersion=new Is().version,l}let n;return Object.defineProperty(i,\"postcss\",{get(){return n||(n=i()),n}}),i.process=function(o,l,a){return E([i(a)]).process(o,l)},i};E.stringify=du;E.parse=Su;E.fromJSON=mu;E.list=bu;E.comment=s=>new $n(s);E.atRule=s=>new Nn(s);E.decl=s=>new Mn(s);E.rule=s=>new kn(s);E.root=s=>new Pn(s);E.document=s=>new En(s);E.CssSyntaxError=hu;E.Declaration=Mn;E.Container=pu;E.Processor=Is;E.Document=En;E.Comment=$n;E.Warning=gu;E.AtRule=Nn;E.Result=yu;E.Input=wu;E.Rule=kn;E.Root=Pn;E.Node=Cu;fu.registerPostcss(E);var vu=E;E.default=E;const F=Da(vu);F.stringify;F.fromJSON;F.plugin;F.parse;F.list;F.document;F.comment;F.atRule;F.rule;F.decl;F.root;F.CssSyntaxError;F.Declaration;F.Container;F.Processor;F.Document;F.Comment;F.Warning;F.AtRule;F.Result;F.Input;F.Rule;F.Root;F.Node;var Iu=Object.defineProperty,xu=(s,e,t)=>e in s?Iu(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t,te=(s,e,t)=>xu(s,typeof e!=\"symbol\"?e+\"\":e,t);function Ou(s){return s&&s.__esModule&&Object.prototype.hasOwnProperty.call(s,\"default\")?s.default:s}function Ru(s){if(s.__esModule)return s;var e=s.default;if(typeof e==\"function\"){var t=function r(){return this instanceof r?Reflect.construct(e,arguments,this.constructor):e.apply(this,arguments)};t.prototype=e.prototype}else t={};return Object.defineProperty(t,\"__esModule\",{value:!0}),Object.keys(s).forEach(function(r){var i=Object.getOwnPropertyDescriptor(s,r);Object.defineProperty(t,r,i.get?i:{enumerable:!0,get:function(){return s[r]}})}),t}var xs={exports:{}},T=String,Dn=function(){return{isColorSupported:!1,reset:T,bold:T,dim:T,italic:T,underline:T,inverse:T,hidden:T,strikethrough:T,black:T,red:T,green:T,yellow:T,blue:T,magenta:T,cyan:T,white:T,gray:T,bgBlack:T,bgRed:T,bgGreen:T,bgYellow:T,bgBlue:T,bgMagenta:T,bgCyan:T,bgWhite:T}};xs.exports=Dn();xs.exports.createColors=Dn;var Au=xs.exports;const Mu={},Eu=Object.freeze(Object.defineProperty({__proto__:null,default:Mu},Symbol.toStringTag,{value:\"Module\"})),ne=Ru(Eu);let fi=Au,pi=ne,Hr=class Ln extends Error{constructor(e,t,r,i,n,o){super(e),this.name=\"CssSyntaxError\",this.reason=e,n&&(this.file=n),i&&(this.source=i),o&&(this.plugin=o),typeof t!=\"undefined\"&&typeof r!=\"undefined\"&&(typeof t==\"number\"?(this.line=t,this.column=r):(this.line=t.line,this.column=t.column,this.endLine=r.line,this.endColumn=r.column)),this.setMessage(),Error.captureStackTrace&&Error.captureStackTrace(this,Ln)}setMessage(){this.message=this.plugin?this.plugin+\": \":\"\",this.message+=this.file?this.file:\"<css input>\",typeof this.line!=\"undefined\"&&(this.message+=\":\"+this.line+\":\"+this.column),this.message+=\": \"+this.reason}showSourceCode(e){if(!this.source)return\"\";let t=this.source;e==null&&(e=fi.isColorSupported),pi&&e&&(t=pi(t));let r=t.split(/\\r?\\n/),i=Math.max(this.line-3,0),n=Math.min(this.line+2,r.length),o=String(n).length,l,a;if(e){let{bold:u,gray:c,red:h}=fi.createColors(!0);l=d=>u(h(d)),a=d=>c(d)}else l=a=u=>u;return r.slice(i,n).map((u,c)=>{let h=i+1+c,d=\" \"+(\" \"+h).slice(-o)+\" | \";if(h===this.line){let m=a(d.replace(/\\d/g,\" \"))+u.slice(0,this.column-1).replace(/[^\\t]/g,\" \");return l(\">\")+a(d)+u+`\n `+m+l(\"^\")}return\" \"+a(d)+u}).join(`\n`)}toString(){let e=this.showSourceCode();return e&&(e=`\n\n`+e+`\n`),this.name+\": \"+this.message+e}};var Os=Hr;Hr.default=Hr;var ot={};ot.isClean=Symbol(\"isClean\");ot.my=Symbol(\"my\");const di={after:`\n`,beforeClose:`\n`,beforeComment:`\n`,beforeDecl:`\n`,beforeOpen:\" \",beforeRule:`\n`,colon:\": \",commentLeft:\" \",commentRight:\" \",emptyBody:\"\",indent:\" \",semicolon:!1};function $u(s){return s[0].toUpperCase()+s.slice(1)}let Yr=class{constructor(e){this.builder=e}atrule(e,t){let r=\"@\"+e.name,i=e.params?this.rawValue(e,\"params\"):\"\";if(typeof e.raws.afterName!=\"undefined\"?r+=e.raws.afterName:i&&(r+=\" \"),e.nodes)this.block(e,r+i);else{let n=(e.raws.between||\"\")+(t?\";\":\"\");this.builder(r+i+n,e)}}beforeAfter(e,t){let r;e.type===\"decl\"?r=this.raw(e,null,\"beforeDecl\"):e.type===\"comment\"?r=this.raw(e,null,\"beforeComment\"):t===\"before\"?r=this.raw(e,null,\"beforeRule\"):r=this.raw(e,null,\"beforeClose\");let i=e.parent,n=0;for(;i&&i.type!==\"root\";)n+=1,i=i.parent;if(r.includes(`\n`)){let o=this.raw(e,null,\"indent\");if(o.length)for(let l=0;l<n;l++)r+=o}return r}block(e,t){let r=this.raw(e,\"between\",\"beforeOpen\");this.builder(t+r+\"{\",e,\"start\");let i;e.nodes&&e.nodes.length?(this.body(e),i=this.raw(e,\"after\")):i=this.raw(e,\"after\",\"emptyBody\"),i&&this.builder(i),this.builder(\"}\",e,\"end\")}body(e){let t=e.nodes.length-1;for(;t>0&&e.nodes[t].type===\"comment\";)t-=1;let r=this.raw(e,\"semicolon\");for(let i=0;i<e.nodes.length;i++){let n=e.nodes[i],o=this.raw(n,\"before\");o&&this.builder(o),this.stringify(n,t!==i||r)}}comment(e){let t=this.raw(e,\"left\",\"commentLeft\"),r=this.raw(e,\"right\",\"commentRight\");this.builder(\"/*\"+t+e.text+r+\"*/\",e)}decl(e,t){let r=this.raw(e,\"between\",\"colon\"),i=e.prop+r+this.rawValue(e,\"value\");e.important&&(i+=e.raws.important||\" !important\"),t&&(i+=\";\"),this.builder(i,e)}document(e){this.body(e)}raw(e,t,r){let i;if(r||(r=t),t&&(i=e.raws[t],typeof i!=\"undefined\"))return i;let n=e.parent;if(r===\"before\"&&(!n||n.type===\"root\"&&n.first===e||n&&n.type===\"document\"))return\"\";if(!n)return di[r];let o=e.root();if(o.rawCache||(o.rawCache={}),typeof o.rawCache[r]!=\"undefined\")return o.rawCache[r];if(r===\"before\"||r===\"after\")return this.beforeAfter(e,r);{let l=\"raw\"+$u(r);this[l]?i=this[l](o,e):o.walk(a=>{if(i=a.raws[t],typeof i!=\"undefined\")return!1})}return typeof i==\"undefined\"&&(i=di[r]),o.rawCache[r]=i,i}rawBeforeClose(e){let t;return e.walk(r=>{if(r.nodes&&r.nodes.length>0&&typeof r.raws.after!=\"undefined\")return t=r.raws.after,t.includes(`\n`)&&(t=t.replace(/[^\\n]+$/,\"\")),!1}),t&&(t=t.replace(/\\S/g,\"\")),t}rawBeforeComment(e,t){let r;return e.walkComments(i=>{if(typeof i.raws.before!=\"undefined\")return r=i.raws.before,r.includes(`\n`)&&(r=r.replace(/[^\\n]+$/,\"\")),!1}),typeof r==\"undefined\"?r=this.raw(t,null,\"beforeDecl\"):r&&(r=r.replace(/\\S/g,\"\")),r}rawBeforeDecl(e,t){let r;return e.walkDecls(i=>{if(typeof i.raws.before!=\"undefined\")return r=i.raws.before,r.includes(`\n`)&&(r=r.replace(/[^\\n]+$/,\"\")),!1}),typeof r==\"undefined\"?r=this.raw(t,null,\"beforeRule\"):r&&(r=r.replace(/\\S/g,\"\")),r}rawBeforeOpen(e){let t;return e.walk(r=>{if(r.type!==\"decl\"&&(t=r.raws.between,typeof t!=\"undefined\"))return!1}),t}rawBeforeRule(e){let t;return e.walk(r=>{if(r.nodes&&(r.parent!==e||e.first!==r)&&typeof r.raws.before!=\"undefined\")return t=r.raws.before,t.includes(`\n`)&&(t=t.replace(/[^\\n]+$/,\"\")),!1}),t&&(t=t.replace(/\\S/g,\"\")),t}rawColon(e){let t;return e.walkDecls(r=>{if(typeof r.raws.between!=\"undefined\")return t=r.raws.between.replace(/[^\\s:]/g,\"\"),!1}),t}rawEmptyBody(e){let t;return e.walk(r=>{if(r.nodes&&r.nodes.length===0&&(t=r.raws.after,typeof t!=\"undefined\"))return!1}),t}rawIndent(e){if(e.raws.indent)return e.raws.indent;let t;return e.walk(r=>{let i=r.parent;if(i&&i!==e&&i.parent&&i.parent===e&&typeof r.raws.before!=\"undefined\"){let n=r.raws.before.split(`\n`);return t=n[n.length-1],t=t.replace(/\\S/g,\"\"),!1}}),t}rawSemicolon(e){let t;return e.walk(r=>{if(r.nodes&&r.nodes.length&&r.last.type===\"decl\"&&(t=r.raws.semicolon,typeof t!=\"undefined\"))return!1}),t}rawValue(e,t){let r=e[t],i=e.raws[t];return i&&i.value===r?i.raw:r}root(e){this.body(e),e.raws.after&&this.builder(e.raws.after)}rule(e){this.block(e,this.rawValue(e,\"selector\")),e.raws.ownSemicolon&&this.builder(e.raws.ownSemicolon,e,\"end\")}stringify(e,t){if(!this[e.type])throw new Error(\"Unknown AST node type \"+e.type+\". Maybe you need to change PostCSS stringifier.\");this[e.type](e,t)}};var Tn=Yr;Yr.default=Yr;let Nu=Tn;function Zr(s,e){new Nu(e).stringify(s)}var or=Zr;Zr.default=Zr;let{isClean:It,my:ku}=ot,Pu=Os,Du=Tn,Lu=or;function Jr(s,e){let t=new s.constructor;for(let r in s){if(!Object.prototype.hasOwnProperty.call(s,r)||r===\"proxyCache\")continue;let i=s[r],n=typeof i;r===\"parent\"&&n===\"object\"?e&&(t[r]=e):r===\"source\"?t[r]=i:Array.isArray(i)?t[r]=i.map(o=>Jr(o,t)):(n===\"object\"&&i!==null&&(i=Jr(i)),t[r]=i)}return t}let Xr=class{constructor(e={}){this.raws={},this[It]=!1,this[ku]=!0;for(let t in e)if(t===\"nodes\"){this.nodes=[];for(let r of e[t])typeof r.clone==\"function\"?this.append(r.clone()):this.append(r)}else this[t]=e[t]}addToError(e){if(e.postcssNode=this,e.stack&&this.source&&/\\n\\s{4}at /.test(e.stack)){let t=this.source;e.stack=e.stack.replace(/\\n\\s{4}at /,`$&${t.input.from}:${t.start.line}:${t.start.column}$&`)}return e}after(e){return this.parent.insertAfter(this,e),this}assign(e={}){for(let t in e)this[t]=e[t];return this}before(e){return this.parent.insertBefore(this,e),this}cleanRaws(e){delete this.raws.before,delete this.raws.after,e||delete this.raws.between}clone(e={}){let t=Jr(this);for(let r in e)t[r]=e[r];return t}cloneAfter(e={}){let t=this.clone(e);return this.parent.insertAfter(this,t),t}cloneBefore(e={}){let t=this.clone(e);return this.parent.insertBefore(this,t),t}error(e,t={}){if(this.source){let{end:r,start:i}=this.rangeBy(t);return this.source.input.error(e,{column:i.column,line:i.line},{column:r.column,line:r.line},t)}return new Pu(e)}getProxyProcessor(){return{get(e,t){return t===\"proxyOf\"?e:t===\"root\"?()=>e.root().toProxy():e[t]},set(e,t,r){return e[t]===r||(e[t]=r,(t===\"prop\"||t===\"value\"||t===\"name\"||t===\"params\"||t===\"important\"||t===\"text\")&&e.markDirty()),!0}}}markDirty(){if(this[It]){this[It]=!1;let e=this;for(;e=e.parent;)e[It]=!1}}next(){if(!this.parent)return;let e=this.parent.index(this);return this.parent.nodes[e+1]}positionBy(e,t){let r=this.source.start;if(e.index)r=this.positionInside(e.index,t);else if(e.word){t=this.toString();let i=t.indexOf(e.word);i!==-1&&(r=this.positionInside(i,t))}return r}positionInside(e,t){let r=t||this.toString(),i=this.source.start.column,n=this.source.start.line;for(let o=0;o<e;o++)r[o]===`\n`?(i=1,n+=1):i+=1;return{column:i,line:n}}prev(){if(!this.parent)return;let e=this.parent.index(this);return this.parent.nodes[e-1]}rangeBy(e){let t={column:this.source.start.column,line:this.source.start.line},r=this.source.end?{column:this.source.end.column+1,line:this.source.end.line}:{column:t.column+1,line:t.line};if(e.word){let i=this.toString(),n=i.indexOf(e.word);n!==-1&&(t=this.positionInside(n,i),r=this.positionInside(n+e.word.length,i))}else e.start?t={column:e.start.column,line:e.start.line}:e.index&&(t=this.positionInside(e.index)),e.end?r={column:e.end.column,line:e.end.line}:typeof e.endIndex==\"number\"?r=this.positionInside(e.endIndex):e.index&&(r=this.positionInside(e.index+1));return(r.line<t.line||r.line===t.line&&r.column<=t.column)&&(r={column:t.column+1,line:t.line}),{end:r,start:t}}raw(e,t){return new Du().raw(this,e,t)}remove(){return this.parent&&this.parent.removeChild(this),this.parent=void 0,this}replaceWith(...e){if(this.parent){let t=this,r=!1;for(let i of e)i===this?r=!0:r?(this.parent.insertAfter(t,i),t=i):this.parent.insertBefore(t,i);r||this.remove()}return this}root(){let e=this;for(;e.parent&&e.parent.type!==\"document\";)e=e.parent;return e}toJSON(e,t){let r={},i=t==null;t=t||new Map;let n=0;for(let o in this){if(!Object.prototype.hasOwnProperty.call(this,o)||o===\"parent\"||o===\"proxyCache\")continue;let l=this[o];if(Array.isArray(l))r[o]=l.map(a=>typeof a==\"object\"&&a.toJSON?a.toJSON(null,t):a);else if(typeof l==\"object\"&&l.toJSON)r[o]=l.toJSON(null,t);else if(o===\"source\"){let a=t.get(l.input);a==null&&(a=n,t.set(l.input,n),n++),r[o]={end:l.end,inputId:a,start:l.start}}else r[o]=l}return i&&(r.inputs=[...t.keys()].map(o=>o.toJSON())),r}toProxy(){return this.proxyCache||(this.proxyCache=new Proxy(this,this.getProxyProcessor())),this.proxyCache}toString(e=Lu){e.stringify&&(e=e.stringify);let t=\"\";return e(this,r=>{t+=r}),t}warn(e,t,r){let i={node:this};for(let n in r)i[n]=r[n];return e.warn(t,i)}get proxyOf(){return this}};var ar=Xr;Xr.default=Xr;let Tu=ar,Kr=class extends Tu{constructor(e){e&&typeof e.value!=\"undefined\"&&typeof e.value!=\"string\"&&(e=ee(x({},e),{value:String(e.value)})),super(e),this.type=\"decl\"}get variable(){return this.prop.startsWith(\"--\")||this.prop[0]===\"$\"}};var lr=Kr;Kr.default=Kr;let _u=\"useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict\",Fu=(s,e=21)=>(t=e)=>{let r=\"\",i=t;for(;i--;)r+=s[Math.random()*s.length|0];return r},Uu=(s=21)=>{let e=\"\",t=s;for(;t--;)e+=_u[Math.random()*64|0];return e};var Bu={nanoid:Uu,customAlphabet:Fu};let{SourceMapConsumer:mi,SourceMapGenerator:gi}=ne,{existsSync:zu,readFileSync:Wu}=ne,{dirname:vr,join:Gu}=ne;function Vu(s){return Buffer?Buffer.from(s,\"base64\").toString():window.atob(s)}let Qr=class{constructor(e,t){if(t.map===!1)return;this.loadAnnotation(e),this.inline=this.startWith(this.annotation,\"data:\");let r=t.map?t.map.prev:void 0,i=this.loadMap(t.from,r);!this.mapFile&&t.from&&(this.mapFile=t.from),this.mapFile&&(this.root=vr(this.mapFile)),i&&(this.text=i)}consumer(){return this.consumerCache||(this.consumerCache=new mi(this.text)),this.consumerCache}decodeInline(e){let t=/^data:application\\/json;charset=utf-?8;base64,/,r=/^data:application\\/json;base64,/,i=/^data:application\\/json;charset=utf-?8,/,n=/^data:application\\/json,/;if(i.test(e)||n.test(e))return decodeURIComponent(e.substr(RegExp.lastMatch.length));if(t.test(e)||r.test(e))return Vu(e.substr(RegExp.lastMatch.length));let o=e.match(/data:application\\/json;([^,]+),/)[1];throw new Error(\"Unsupported source map encoding \"+o)}getAnnotationURL(e){return e.replace(/^\\/\\*\\s*# sourceMappingURL=/,\"\").trim()}isMap(e){return typeof e!=\"object\"?!1:typeof e.mappings==\"string\"||typeof e._mappings==\"string\"||Array.isArray(e.sections)}loadAnnotation(e){let t=e.match(/\\/\\*\\s*# sourceMappingURL=/gm);if(!t)return;let r=e.lastIndexOf(t.pop()),i=e.indexOf(\"*/\",r);r>-1&&i>-1&&(this.annotation=this.getAnnotationURL(e.substring(r,i)))}loadFile(e){if(this.root=vr(e),zu(e))return this.mapFile=e,Wu(e,\"utf-8\").toString().trim()}loadMap(e,t){if(t===!1)return!1;if(t){if(typeof t==\"string\")return t;if(typeof t==\"function\"){let r=t(e);if(r){let i=this.loadFile(r);if(!i)throw new Error(\"Unable to load previous source map: \"+r.toString());return i}}else{if(t instanceof mi)return gi.fromSourceMap(t).toString();if(t instanceof gi)return t.toString();if(this.isMap(t))return JSON.stringify(t);throw new Error(\"Unsupported previous source map format: \"+t.toString())}}else{if(this.inline)return this.decodeInline(this.annotation);if(this.annotation){let r=this.annotation;return e&&(r=Gu(vr(e),r)),this.loadFile(r)}}}startWith(e,t){return e?e.substr(0,t.length)===t:!1}withContent(){return!!(this.consumer().sourcesContent&&this.consumer().sourcesContent.length>0)}};var _n=Qr;Qr.default=Qr;let{SourceMapConsumer:ju,SourceMapGenerator:Hu}=ne,{fileURLToPath:yi,pathToFileURL:xt}=ne,{isAbsolute:qr,resolve:es}=ne,{nanoid:Yu}=Bu,Ir=ne,wi=Os,Zu=_n,xr=Symbol(\"fromOffsetCache\"),Ju=!!(ju&&Hu),Si=!!(es&&qr),Zt=class{constructor(e,t={}){if(e===null||typeof e==\"undefined\"||typeof e==\"object\"&&!e.toString)throw new Error(`PostCSS received ${e} instead of CSS string`);if(this.css=e.toString(),this.css[0]===\"\\uFEFF\"||this.css[0]===\"\\uFFFE\"?(this.hasBOM=!0,this.css=this.css.slice(1)):this.hasBOM=!1,t.from&&(!Si||/^\\w+:\\/\\//.test(t.from)||qr(t.from)?this.file=t.from:this.file=es(t.from)),Si&&Ju){let r=new Zu(this.css,t);if(r.text){this.map=r;let i=r.consumer().file;!this.file&&i&&(this.file=this.mapResolve(i))}}this.file||(this.id=\"<input css \"+Yu(6)+\">\"),this.map&&(this.map.file=this.from)}error(e,t,r,i={}){let n,o,l;if(t&&typeof t==\"object\"){let u=t,c=r;if(typeof u.offset==\"number\"){let h=this.fromOffset(u.offset);t=h.line,r=h.col}else t=u.line,r=u.column;if(typeof c.offset==\"number\"){let h=this.fromOffset(c.offset);o=h.line,l=h.col}else o=c.line,l=c.column}else if(!r){let u=this.fromOffset(t);t=u.line,r=u.col}let a=this.origin(t,r,o,l);return a?n=new wi(e,a.endLine===void 0?a.line:{column:a.column,line:a.line},a.endLine===void 0?a.column:{column:a.endColumn,line:a.endLine},a.source,a.file,i.plugin):n=new wi(e,o===void 0?t:{column:r,line:t},o===void 0?r:{column:l,line:o},this.css,this.file,i.plugin),n.input={column:r,endColumn:l,endLine:o,line:t,source:this.css},this.file&&(xt&&(n.input.url=xt(this.file).toString()),n.input.file=this.file),n}fromOffset(e){let t,r;if(this[xr])r=this[xr];else{let n=this.css.split(`\n`);r=new Array(n.length);let o=0;for(let l=0,a=n.length;l<a;l++)r[l]=o,o+=n[l].length+1;this[xr]=r}t=r[r.length-1];let i=0;if(e>=t)i=r.length-1;else{let n=r.length-2,o;for(;i<n;)if(o=i+(n-i>>1),e<r[o])n=o-1;else if(e>=r[o+1])i=o+1;else{i=o;break}}return{col:e-r[i]+1,line:i+1}}mapResolve(e){return/^\\w+:\\/\\//.test(e)?e:es(this.map.consumer().sourceRoot||this.map.root||\".\",e)}origin(e,t,r,i){if(!this.map)return!1;let n=this.map.consumer(),o=n.originalPositionFor({column:t,line:e});if(!o.source)return!1;let l;typeof r==\"number\"&&(l=n.originalPositionFor({column:i,line:r}));let a;qr(o.source)?a=xt(o.source):a=new URL(o.source,this.map.consumer().sourceRoot||xt(this.map.mapFile));let u={column:o.column,endColumn:l&&l.column,endLine:l&&l.line,line:o.line,url:a.toString()};if(a.protocol===\"file:\")if(yi)u.file=yi(a);else throw new Error(\"file: protocol is not available in this PostCSS build\");let c=n.sourceContentFor(o.source);return c&&(u.source=c),u}toJSON(){let e={};for(let t of[\"hasBOM\",\"css\",\"file\",\"id\"])this[t]!=null&&(e[t]=this[t]);return this.map&&(e.map=x({},this.map),e.map.consumerCache&&(e.map.consumerCache=void 0)),e}get from(){return this.file||this.id}};var ur=Zt;Zt.default=Zt;Ir&&Ir.registerInput&&Ir.registerInput(Zt);let{SourceMapConsumer:Fn,SourceMapGenerator:Ft}=ne,{dirname:Ut,relative:Un,resolve:Bn,sep:zn}=ne,{pathToFileURL:bi}=ne,Xu=ur,Ku=!!(Fn&&Ft),Qu=!!(Ut&&Bn&&Un&&zn),qu=class{constructor(e,t,r,i){this.stringify=e,this.mapOpts=r.map||{},this.root=t,this.opts=r,this.css=i,this.originalCSS=i,this.usesFileUrls=!this.mapOpts.from&&this.mapOpts.absolute,this.memoizedFileURLs=new Map,this.memoizedPaths=new Map,this.memoizedURLs=new Map}addAnnotation(){let e;this.isInline()?e=\"data:application/json;base64,\"+this.toBase64(this.map.toString()):typeof this.mapOpts.annotation==\"string\"?e=this.mapOpts.annotation:typeof this.mapOpts.annotation==\"function\"?e=this.mapOpts.annotation(this.opts.to,this.root):e=this.outputFile()+\".map\";let t=`\n`;this.css.includes(`\\r\n`)&&(t=`\\r\n`),this.css+=t+\"/*# sourceMappingURL=\"+e+\" */\"}applyPrevMaps(){for(let e of this.previous()){let t=this.toUrl(this.path(e.file)),r=e.root||Ut(e.file),i;this.mapOpts.sourcesContent===!1?(i=new Fn(e.text),i.sourcesContent&&(i.sourcesContent=null)):i=e.consumer(),this.map.applySourceMap(i,t,this.toUrl(this.path(r)))}}clearAnnotation(){if(this.mapOpts.annotation!==!1)if(this.root){let e;for(let t=this.root.nodes.length-1;t>=0;t--)e=this.root.nodes[t],e.type===\"comment\"&&e.text.indexOf(\"# sourceMappingURL=\")===0&&this.root.removeChild(t)}else this.css&&(this.css=this.css.replace(/\\n*?\\/\\*#[\\S\\s]*?\\*\\/$/gm,\"\"))}generate(){if(this.clearAnnotation(),Qu&&Ku&&this.isMap())return this.generateMap();{let e=\"\";return this.stringify(this.root,t=>{e+=t}),[e]}}generateMap(){if(this.root)this.generateString();else if(this.previous().length===1){let e=this.previous()[0].consumer();e.file=this.outputFile(),this.map=Ft.fromSourceMap(e,{ignoreInvalidMapping:!0})}else this.map=new Ft({file:this.outputFile(),ignoreInvalidMapping:!0}),this.map.addMapping({generated:{column:0,line:1},original:{column:0,line:1},source:this.opts.from?this.toUrl(this.path(this.opts.from)):\"<no source>\"});return this.isSourcesContent()&&this.setSourcesContent(),this.root&&this.previous().length>0&&this.applyPrevMaps(),this.isAnnotation()&&this.addAnnotation(),this.isInline()?[this.css]:[this.css,this.map]}generateString(){this.css=\"\",this.map=new Ft({file:this.outputFile(),ignoreInvalidMapping:!0});let e=1,t=1,r=\"<no source>\",i={generated:{column:0,line:0},original:{column:0,line:0},source:\"\"},n,o;this.stringify(this.root,(l,a,u)=>{if(this.css+=l,a&&u!==\"end\"&&(i.generated.line=e,i.generated.column=t-1,a.source&&a.source.start?(i.source=this.sourcePath(a),i.original.line=a.source.start.line,i.original.column=a.source.start.column-1,this.map.addMapping(i)):(i.source=r,i.original.line=1,i.original.column=0,this.map.addMapping(i))),n=l.match(/\\n/g),n?(e+=n.length,o=l.lastIndexOf(`\n`),t=l.length-o):t+=l.length,a&&u!==\"start\"){let c=a.parent||{raws:{}};(!(a.type===\"decl\"||a.type===\"atrule\"&&!a.nodes)||a!==c.last||c.raws.semicolon)&&(a.source&&a.source.end?(i.source=this.sourcePath(a),i.original.line=a.source.end.line,i.original.column=a.source.end.column-1,i.generated.line=e,i.generated.column=t-2,this.map.addMapping(i)):(i.source=r,i.original.line=1,i.original.column=0,i.generated.line=e,i.generated.column=t-1,this.map.addMapping(i)))}})}isAnnotation(){return this.isInline()?!0:typeof this.mapOpts.annotation!=\"undefined\"?this.mapOpts.annotation:this.previous().length?this.previous().some(e=>e.annotation):!0}isInline(){if(typeof this.mapOpts.inline!=\"undefined\")return this.mapOpts.inline;let e=this.mapOpts.annotation;return typeof e!=\"undefined\"&&e!==!0?!1:this.previous().length?this.previous().some(t=>t.inline):!0}isMap(){return typeof this.opts.map!=\"undefined\"?!!this.opts.map:this.previous().length>0}isSourcesContent(){return typeof this.mapOpts.sourcesContent!=\"undefined\"?this.mapOpts.sourcesContent:this.previous().length?this.previous().some(e=>e.withContent()):!0}outputFile(){return this.opts.to?this.path(this.opts.to):this.opts.from?this.path(this.opts.from):\"to.css\"}path(e){if(this.mapOpts.absolute||e.charCodeAt(0)===60||/^\\w+:\\/\\//.test(e))return e;let t=this.memoizedPaths.get(e);if(t)return t;let r=this.opts.to?Ut(this.opts.to):\".\";typeof this.mapOpts.annotation==\"string\"&&(r=Ut(Bn(r,this.mapOpts.annotation)));let i=Un(r,e);return this.memoizedPaths.set(e,i),i}previous(){if(!this.previousMaps)if(this.previousMaps=[],this.root)this.root.walk(e=>{if(e.source&&e.source.input.map){let t=e.source.input.map;this.previousMaps.includes(t)||this.previousMaps.push(t)}});else{let e=new Xu(this.originalCSS,this.opts);e.map&&this.previousMaps.push(e.map)}return this.previousMaps}setSourcesContent(){let e={};if(this.root)this.root.walk(t=>{if(t.source){let r=t.source.input.from;if(r&&!e[r]){e[r]=!0;let i=this.usesFileUrls?this.toFileUrl(r):this.toUrl(this.path(r));this.map.setSourceContent(i,t.source.input.css)}}});else if(this.css){let t=this.opts.from?this.toUrl(this.path(this.opts.from)):\"<no source>\";this.map.setSourceContent(t,this.css)}}sourcePath(e){return this.mapOpts.from?this.toUrl(this.mapOpts.from):this.usesFileUrls?this.toFileUrl(e.source.input.from):this.toUrl(this.path(e.source.input.from))}toBase64(e){return Buffer?Buffer.from(e).toString(\"base64\"):window.btoa(unescape(encodeURIComponent(e)))}toFileUrl(e){let t=this.memoizedFileURLs.get(e);if(t)return t;if(bi){let r=bi(e).toString();return this.memoizedFileURLs.set(e,r),r}else throw new Error(\"`map.absolute` option is not available in this PostCSS build\")}toUrl(e){let t=this.memoizedURLs.get(e);if(t)return t;zn===\"\\\\\"&&(e=e.replace(/\\\\/g,\"/\"));let r=encodeURI(e).replace(/[#?]/g,encodeURIComponent);return this.memoizedURLs.set(e,r),r}};var Wn=qu;let ec=ar,ts=class extends ec{constructor(e){super(e),this.type=\"comment\"}};var cr=ts;ts.default=ts;let{isClean:Gn,my:Vn}=ot,jn=lr,Hn=cr,tc=ar,Yn,Rs,As,Zn;function Jn(s){return s.map(e=>(e.nodes&&(e.nodes=Jn(e.nodes)),delete e.source,e))}function Xn(s){if(s[Gn]=!1,s.proxyOf.nodes)for(let e of s.proxyOf.nodes)Xn(e)}let pe=class Kn extends tc{append(...e){for(let t of e){let r=this.normalize(t,this.last);for(let i of r)this.proxyOf.nodes.push(i)}return this.markDirty(),this}cleanRaws(e){if(super.cleanRaws(e),this.nodes)for(let t of this.nodes)t.cleanRaws(e)}each(e){if(!this.proxyOf.nodes)return;let t=this.getIterator(),r,i;for(;this.indexes[t]<this.proxyOf.nodes.length&&(r=this.indexes[t],i=e(this.proxyOf.nodes[r],r),i!==!1);)this.indexes[t]+=1;return delete this.indexes[t],i}every(e){return this.nodes.every(e)}getIterator(){this.lastEach||(this.lastEach=0),this.indexes||(this.indexes={}),this.lastEach+=1;let e=this.lastEach;return this.indexes[e]=0,e}getProxyProcessor(){return{get(e,t){return t===\"proxyOf\"?e:e[t]?t===\"each\"||typeof t==\"string\"&&t.startsWith(\"walk\")?(...r)=>e[t](...r.map(i=>typeof i==\"function\"?(n,o)=>i(n.toProxy(),o):i)):t===\"every\"||t===\"some\"?r=>e[t]((i,...n)=>r(i.toProxy(),...n)):t===\"root\"?()=>e.root().toProxy():t===\"nodes\"?e.nodes.map(r=>r.toProxy()):t===\"first\"||t===\"last\"?e[t].toProxy():e[t]:e[t]},set(e,t,r){return e[t]===r||(e[t]=r,(t===\"name\"||t===\"params\"||t===\"selector\")&&e.markDirty()),!0}}}index(e){return typeof e==\"number\"?e:(e.proxyOf&&(e=e.proxyOf),this.proxyOf.nodes.indexOf(e))}insertAfter(e,t){let r=this.index(e),i=this.normalize(t,this.proxyOf.nodes[r]).reverse();r=this.index(e);for(let o of i)this.proxyOf.nodes.splice(r+1,0,o);let n;for(let o in this.indexes)n=this.indexes[o],r<n&&(this.indexes[o]=n+i.length);return this.markDirty(),this}insertBefore(e,t){let r=this.index(e),i=r===0?\"prepend\":!1,n=this.normalize(t,this.proxyOf.nodes[r],i).reverse();r=this.index(e);for(let l of n)this.proxyOf.nodes.splice(r,0,l);let o;for(let l in this.indexes)o=this.indexes[l],r<=o&&(this.indexes[l]=o+n.length);return this.markDirty(),this}normalize(e,t){if(typeof e==\"string\")e=Jn(Yn(e).nodes);else if(typeof e==\"undefined\")e=[];else if(Array.isArray(e)){e=e.slice(0);for(let i of e)i.parent&&i.parent.removeChild(i,\"ignore\")}else if(e.type===\"root\"&&this.type!==\"document\"){e=e.nodes.slice(0);for(let i of e)i.parent&&i.parent.removeChild(i,\"ignore\")}else if(e.type)e=[e];else if(e.prop){if(typeof e.value==\"undefined\")throw new Error(\"Value field is missed in node creation\");typeof e.value!=\"string\"&&(e.value=String(e.value)),e=[new jn(e)]}else if(e.selector)e=[new Rs(e)];else if(e.name)e=[new As(e)];else if(e.text)e=[new Hn(e)];else throw new Error(\"Unknown node type in node creation\");return e.map(i=>(i[Vn]||Kn.rebuild(i),i=i.proxyOf,i.parent&&i.parent.removeChild(i),i[Gn]&&Xn(i),typeof i.raws.before==\"undefined\"&&t&&typeof t.raws.before!=\"undefined\"&&(i.raws.before=t.raws.before.replace(/\\S/g,\"\")),i.parent=this.proxyOf,i))}prepend(...e){e=e.reverse();for(let t of e){let r=this.normalize(t,this.first,\"prepend\").reverse();for(let i of r)this.proxyOf.nodes.unshift(i);for(let i in this.indexes)this.indexes[i]=this.indexes[i]+r.length}return this.markDirty(),this}push(e){return e.parent=this,this.proxyOf.nodes.push(e),this}removeAll(){for(let e of this.proxyOf.nodes)e.parent=void 0;return this.proxyOf.nodes=[],this.markDirty(),this}removeChild(e){e=this.index(e),this.proxyOf.nodes[e].parent=void 0,this.proxyOf.nodes.splice(e,1);let t;for(let r in this.indexes)t=this.indexes[r],t>=e&&(this.indexes[r]=t-1);return this.markDirty(),this}replaceValues(e,t,r){return r||(r=t,t={}),this.walkDecls(i=>{t.props&&!t.props.includes(i.prop)||t.fast&&!i.value.includes(t.fast)||(i.value=i.value.replace(e,r))}),this.markDirty(),this}some(e){return this.nodes.some(e)}walk(e){return this.each((t,r)=>{let i;try{i=e(t,r)}catch(n){throw t.addToError(n)}return i!==!1&&t.walk&&(i=t.walk(e)),i})}walkAtRules(e,t){return t?e instanceof RegExp?this.walk((r,i)=>{if(r.type===\"atrule\"&&e.test(r.name))return t(r,i)}):this.walk((r,i)=>{if(r.type===\"atrule\"&&r.name===e)return t(r,i)}):(t=e,this.walk((r,i)=>{if(r.type===\"atrule\")return t(r,i)}))}walkComments(e){return this.walk((t,r)=>{if(t.type===\"comment\")return e(t,r)})}walkDecls(e,t){return t?e instanceof RegExp?this.walk((r,i)=>{if(r.type===\"decl\"&&e.test(r.prop))return t(r,i)}):this.walk((r,i)=>{if(r.type===\"decl\"&&r.prop===e)return t(r,i)}):(t=e,this.walk((r,i)=>{if(r.type===\"decl\")return t(r,i)}))}walkRules(e,t){return t?e instanceof RegExp?this.walk((r,i)=>{if(r.type===\"rule\"&&e.test(r.selector))return t(r,i)}):this.walk((r,i)=>{if(r.type===\"rule\"&&r.selector===e)return t(r,i)}):(t=e,this.walk((r,i)=>{if(r.type===\"rule\")return t(r,i)}))}get first(){if(this.proxyOf.nodes)return this.proxyOf.nodes[0]}get last(){if(this.proxyOf.nodes)return this.proxyOf.nodes[this.proxyOf.nodes.length-1]}};pe.registerParse=s=>{Yn=s};pe.registerRule=s=>{Rs=s};pe.registerAtRule=s=>{As=s};pe.registerRoot=s=>{Zn=s};var Ie=pe;pe.default=pe;pe.rebuild=s=>{s.type===\"atrule\"?Object.setPrototypeOf(s,As.prototype):s.type===\"rule\"?Object.setPrototypeOf(s,Rs.prototype):s.type===\"decl\"?Object.setPrototypeOf(s,jn.prototype):s.type===\"comment\"?Object.setPrototypeOf(s,Hn.prototype):s.type===\"root\"&&Object.setPrototypeOf(s,Zn.prototype),s[Vn]=!0,s.nodes&&s.nodes.forEach(e=>{pe.rebuild(e)})};let rc=Ie,Qn,qn,qe=class extends rc{constructor(e){super(x({type:\"document\"},e)),this.nodes||(this.nodes=[])}toResult(e={}){return new Qn(new qn,this,e).stringify()}};qe.registerLazyResult=s=>{Qn=s};qe.registerProcessor=s=>{qn=s};var Ms=qe;qe.default=qe;let rs=class{constructor(e,t={}){if(this.type=\"warning\",this.text=e,t.node&&t.node.source){let r=t.node.rangeBy(t);this.line=r.start.line,this.column=r.start.column,this.endLine=r.end.line,this.endColumn=r.end.column}for(let r in t)this[r]=t[r]}toString(){return this.node?this.node.error(this.text,{index:this.index,plugin:this.plugin,word:this.word}).message:this.plugin?this.plugin+\": \"+this.text:this.text}};var eo=rs;rs.default=rs;let sc=eo,ss=class{constructor(e,t,r){this.processor=e,this.messages=[],this.root=t,this.opts=r,this.css=void 0,this.map=void 0}toString(){return this.css}warn(e,t={}){t.plugin||this.lastPlugin&&this.lastPlugin.postcssPlugin&&(t.plugin=this.lastPlugin.postcssPlugin);let r=new sc(e,t);return this.messages.push(r),r}warnings(){return this.messages.filter(e=>e.type===\"warning\")}get content(){return this.css}};var Es=ss;ss.default=ss;const Or=39,Ci=34,Ot=92,vi=47,Rt=10,Ge=32,At=12,Mt=9,Et=13,ic=91,nc=93,oc=40,ac=41,lc=123,uc=125,cc=59,hc=42,fc=58,pc=64,$t=/[\\t\\n\\f\\r \"#'()/;[\\\\\\]{}]/g,Nt=/[\\t\\n\\f\\r !\"#'():;@[\\\\\\]{}]|\\/(?=\\*)/g,dc=/.[\\r\\n\"'(/\\\\]/,Ii=/[\\da-f]/i;var mc=function(e,t={}){let r=e.css.valueOf(),i=t.ignoreErrors,n,o,l,a,u,c,h,d,m,g,p=r.length,f=0,S=[],b=[];function y(){return f}function C(_){throw e.error(\"Unclosed \"+_,f)}function N(){return b.length===0&&f>=p}function D(_){if(b.length)return b.pop();if(f>=p)return;let G=_?_.ignoreUnclosed:!1;switch(n=r.charCodeAt(f),n){case Rt:case Ge:case Mt:case Et:case At:{o=f;do o+=1,n=r.charCodeAt(o);while(n===Ge||n===Rt||n===Mt||n===Et||n===At);g=[\"space\",r.slice(f,o)],f=o-1;break}case ic:case nc:case lc:case uc:case fc:case cc:case ac:{let Y=String.fromCharCode(n);g=[Y,Y,f];break}case oc:{if(d=S.length?S.pop()[1]:\"\",m=r.charCodeAt(f+1),d===\"url\"&&m!==Or&&m!==Ci&&m!==Ge&&m!==Rt&&m!==Mt&&m!==At&&m!==Et){o=f;do{if(c=!1,o=r.indexOf(\")\",o+1),o===-1)if(i||G){o=f;break}else C(\"bracket\");for(h=o;r.charCodeAt(h-1)===Ot;)h-=1,c=!c}while(c);g=[\"brackets\",r.slice(f,o+1),f,o],f=o}else o=r.indexOf(\")\",f+1),a=r.slice(f,o+1),o===-1||dc.test(a)?g=[\"(\",\"(\",f]:(g=[\"brackets\",a,f,o],f=o);break}case Or:case Ci:{l=n===Or?\"'\":'\"',o=f;do{if(c=!1,o=r.indexOf(l,o+1),o===-1)if(i||G){o=f+1;break}else C(\"string\");for(h=o;r.charCodeAt(h-1)===Ot;)h-=1,c=!c}while(c);g=[\"string\",r.slice(f,o+1),f,o],f=o;break}case pc:{$t.lastIndex=f+1,$t.test(r),$t.lastIndex===0?o=r.length-1:o=$t.lastIndex-2,g=[\"at-word\",r.slice(f,o+1),f,o],f=o;break}case Ot:{for(o=f,u=!0;r.charCodeAt(o+1)===Ot;)o+=1,u=!u;if(n=r.charCodeAt(o+1),u&&n!==vi&&n!==Ge&&n!==Rt&&n!==Mt&&n!==Et&&n!==At&&(o+=1,Ii.test(r.charAt(o)))){for(;Ii.test(r.charAt(o+1));)o+=1;r.charCodeAt(o+1)===Ge&&(o+=1)}g=[\"word\",r.slice(f,o+1),f,o],f=o;break}default:{n===vi&&r.charCodeAt(f+1)===hc?(o=r.indexOf(\"*/\",f+2)+1,o===0&&(i||G?o=r.length:C(\"comment\")),g=[\"comment\",r.slice(f,o+1),f,o],f=o):(Nt.lastIndex=f+1,Nt.test(r),Nt.lastIndex===0?o=r.length-1:o=Nt.lastIndex-2,g=[\"word\",r.slice(f,o+1),f,o],S.push(g),f=o);break}}return f++,g}function H(_){b.push(_)}return{back:H,endOfFile:N,nextToken:D,position:y}};let to=Ie,Jt=class extends to{constructor(e){super(e),this.type=\"atrule\"}append(...e){return this.proxyOf.nodes||(this.nodes=[]),super.append(...e)}prepend(...e){return this.proxyOf.nodes||(this.nodes=[]),super.prepend(...e)}};var $s=Jt;Jt.default=Jt;to.registerAtRule(Jt);let ro=Ie,so,io,De=class extends ro{constructor(e){super(e),this.type=\"root\",this.nodes||(this.nodes=[])}normalize(e,t,r){let i=super.normalize(e);if(t){if(r===\"prepend\")this.nodes.length>1?t.raws.before=this.nodes[1].raws.before:delete t.raws.before;else if(this.first!==t)for(let n of i)n.raws.before=t.raws.before}return i}removeChild(e,t){let r=this.index(e);return!t&&r===0&&this.nodes.length>1&&(this.nodes[1].raws.before=this.nodes[r].raws.before),super.removeChild(e)}toResult(e={}){return new so(new io,this,e).stringify()}};De.registerLazyResult=s=>{so=s};De.registerProcessor=s=>{io=s};var at=De;De.default=De;ro.registerRoot(De);let et={comma(s){return et.split(s,[\",\"],!0)},space(s){let e=[\" \",`\n`,\" \"];return et.split(s,e)},split(s,e,t){let r=[],i=\"\",n=!1,o=0,l=!1,a=\"\",u=!1;for(let c of s)u?u=!1:c===\"\\\\\"?u=!0:l?c===a&&(l=!1):c==='\"'||c===\"'\"?(l=!0,a=c):c===\"(\"?o+=1:c===\")\"?o>0&&(o-=1):o===0&&e.includes(c)&&(n=!0),n?(i!==\"\"&&r.push(i.trim()),i=\"\",n=!1):i+=c;return(t||i!==\"\")&&r.push(i.trim()),r}};var no=et;et.default=et;let oo=Ie,gc=no,Xt=class extends oo{constructor(e){super(e),this.type=\"rule\",this.nodes||(this.nodes=[])}get selectors(){return gc.comma(this.selector)}set selectors(e){let t=this.selector?this.selector.match(/,\\s*/):null,r=t?t[0]:\",\"+this.raw(\"between\",\"beforeOpen\");this.selector=e.join(r)}};var Ns=Xt;Xt.default=Xt;oo.registerRule(Xt);let yc=lr,wc=mc,Sc=cr,bc=$s,Cc=at,xi=Ns;const Oi={empty:!0,space:!0};function vc(s){for(let e=s.length-1;e>=0;e--){let t=s[e],r=t[3]||t[2];if(r)return r}}let Ic=class{constructor(e){this.input=e,this.root=new Cc,this.current=this.root,this.spaces=\"\",this.semicolon=!1,this.createTokenizer(),this.root.source={input:e,start:{column:1,line:1,offset:0}}}atrule(e){let t=new bc;t.name=e[1].slice(1),t.name===\"\"&&this.unnamedAtrule(t,e),this.init(t,e[2]);let r,i,n,o=!1,l=!1,a=[],u=[];for(;!this.tokenizer.endOfFile();){if(e=this.tokenizer.nextToken(),r=e[0],r===\"(\"||r===\"[\"?u.push(r===\"(\"?\")\":\"]\"):r===\"{\"&&u.length>0?u.push(\"}\"):r===u[u.length-1]&&u.pop(),u.length===0)if(r===\";\"){t.source.end=this.getPosition(e[2]),t.source.end.offset++,this.semicolon=!0;break}else if(r===\"{\"){l=!0;break}else if(r===\"}\"){if(a.length>0){for(n=a.length-1,i=a[n];i&&i[0]===\"space\";)i=a[--n];i&&(t.source.end=this.getPosition(i[3]||i[2]),t.source.end.offset++)}this.end(e);break}else a.push(e);else a.push(e);if(this.tokenizer.endOfFile()){o=!0;break}}t.raws.between=this.spacesAndCommentsFromEnd(a),a.length?(t.raws.afterName=this.spacesAndCommentsFromStart(a),this.raw(t,\"params\",a),o&&(e=a[a.length-1],t.source.end=this.getPosition(e[3]||e[2]),t.source.end.offset++,this.spaces=t.raws.between,t.raws.between=\"\")):(t.raws.afterName=\"\",t.params=\"\"),l&&(t.nodes=[],this.current=t)}checkMissedSemicolon(e){let t=this.colon(e);if(t===!1)return;let r=0,i;for(let n=t-1;n>=0&&(i=e[n],!(i[0]!==\"space\"&&(r+=1,r===2)));n--);throw this.input.error(\"Missed semicolon\",i[0]===\"word\"?i[3]+1:i[2])}colon(e){let t=0,r,i,n;for(let[o,l]of e.entries()){if(r=l,i=r[0],i===\"(\"&&(t+=1),i===\")\"&&(t-=1),t===0&&i===\":\")if(!n)this.doubleColon(r);else{if(n[0]===\"word\"&&n[1]===\"progid\")continue;return o}n=r}return!1}comment(e){let t=new Sc;this.init(t,e[2]),t.source.end=this.getPosition(e[3]||e[2]),t.source.end.offset++;let r=e[1].slice(2,-2);if(/^\\s*$/.test(r))t.text=\"\",t.raws.left=r,t.raws.right=\"\";else{let i=r.match(/^(\\s*)([^]*\\S)(\\s*)$/);t.text=i[2],t.raws.left=i[1],t.raws.right=i[3]}}createTokenizer(){this.tokenizer=wc(this.input)}decl(e,t){let r=new yc;this.init(r,e[0][2]);let i=e[e.length-1];for(i[0]===\";\"&&(this.semicolon=!0,e.pop()),r.source.end=this.getPosition(i[3]||i[2]||vc(e)),r.source.end.offset++;e[0][0]!==\"word\";)e.length===1&&this.unknownWord(e),r.raws.before+=e.shift()[1];for(r.source.start=this.getPosition(e[0][2]),r.prop=\"\";e.length;){let u=e[0][0];if(u===\":\"||u===\"space\"||u===\"comment\")break;r.prop+=e.shift()[1]}r.raws.between=\"\";let n;for(;e.length;)if(n=e.shift(),n[0]===\":\"){r.raws.between+=n[1];break}else n[0]===\"word\"&&/\\w/.test(n[1])&&this.unknownWord([n]),r.raws.between+=n[1];(r.prop[0]===\"_\"||r.prop[0]===\"*\")&&(r.raws.before+=r.prop[0],r.prop=r.prop.slice(1));let o=[],l;for(;e.length&&(l=e[0][0],!(l!==\"space\"&&l!==\"comment\"));)o.push(e.shift());this.precheckMissedSemicolon(e);for(let u=e.length-1;u>=0;u--){if(n=e[u],n[1].toLowerCase()===\"!important\"){r.important=!0;let c=this.stringFrom(e,u);c=this.spacesFromEnd(e)+c,c!==\" !important\"&&(r.raws.important=c);break}else if(n[1].toLowerCase()===\"important\"){let c=e.slice(0),h=\"\";for(let d=u;d>0;d--){let m=c[d][0];if(h.trim().indexOf(\"!\")===0&&m!==\"space\")break;h=c.pop()[1]+h}h.trim().indexOf(\"!\")===0&&(r.important=!0,r.raws.important=h,e=c)}if(n[0]!==\"space\"&&n[0]!==\"comment\")break}e.some(u=>u[0]!==\"space\"&&u[0]!==\"comment\")&&(r.raws.between+=o.map(u=>u[1]).join(\"\"),o=[]),this.raw(r,\"value\",o.concat(e),t),r.value.includes(\":\")&&!t&&this.checkMissedSemicolon(e)}doubleColon(e){throw this.input.error(\"Double colon\",{offset:e[2]},{offset:e[2]+e[1].length})}emptyRule(e){let t=new xi;this.init(t,e[2]),t.selector=\"\",t.raws.between=\"\",this.current=t}end(e){this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.semicolon=!1,this.current.raws.after=(this.current.raws.after||\"\")+this.spaces,this.spaces=\"\",this.current.parent?(this.current.source.end=this.getPosition(e[2]),this.current.source.end.offset++,this.current=this.current.parent):this.unexpectedClose(e)}endFile(){this.current.parent&&this.unclosedBlock(),this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.current.raws.after=(this.current.raws.after||\"\")+this.spaces,this.root.source.end=this.getPosition(this.tokenizer.position())}freeSemicolon(e){if(this.spaces+=e[1],this.current.nodes){let t=this.current.nodes[this.current.nodes.length-1];t&&t.type===\"rule\"&&!t.raws.ownSemicolon&&(t.raws.ownSemicolon=this.spaces,this.spaces=\"\")}}getPosition(e){let t=this.input.fromOffset(e);return{column:t.col,line:t.line,offset:e}}init(e,t){this.current.push(e),e.source={input:this.input,start:this.getPosition(t)},e.raws.before=this.spaces,this.spaces=\"\",e.type!==\"comment\"&&(this.semicolon=!1)}other(e){let t=!1,r=null,i=!1,n=null,o=[],l=e[1].startsWith(\"--\"),a=[],u=e;for(;u;){if(r=u[0],a.push(u),r===\"(\"||r===\"[\")n||(n=u),o.push(r===\"(\"?\")\":\"]\");else if(l&&i&&r===\"{\")n||(n=u),o.push(\"}\");else if(o.length===0)if(r===\";\")if(i){this.decl(a,l);return}else break;else if(r===\"{\"){this.rule(a);return}else if(r===\"}\"){this.tokenizer.back(a.pop()),t=!0;break}else r===\":\"&&(i=!0);else r===o[o.length-1]&&(o.pop(),o.length===0&&(n=null));u=this.tokenizer.nextToken()}if(this.tokenizer.endOfFile()&&(t=!0),o.length>0&&this.unclosedBracket(n),t&&i){if(!l)for(;a.length&&(u=a[a.length-1][0],!(u!==\"space\"&&u!==\"comment\"));)this.tokenizer.back(a.pop());this.decl(a,l)}else this.unknownWord(a)}parse(){let e;for(;!this.tokenizer.endOfFile();)switch(e=this.tokenizer.nextToken(),e[0]){case\"space\":this.spaces+=e[1];break;case\";\":this.freeSemicolon(e);break;case\"}\":this.end(e);break;case\"comment\":this.comment(e);break;case\"at-word\":this.atrule(e);break;case\"{\":this.emptyRule(e);break;default:this.other(e);break}this.endFile()}precheckMissedSemicolon(){}raw(e,t,r,i){let n,o,l=r.length,a=\"\",u=!0,c,h;for(let d=0;d<l;d+=1)n=r[d],o=n[0],o===\"space\"&&d===l-1&&!i?u=!1:o===\"comment\"?(h=r[d-1]?r[d-1][0]:\"empty\",c=r[d+1]?r[d+1][0]:\"empty\",!Oi[h]&&!Oi[c]?a.slice(-1)===\",\"?u=!1:a+=n[1]:u=!1):a+=n[1];if(!u){let d=r.reduce((m,g)=>m+g[1],\"\");e.raws[t]={raw:d,value:a}}e[t]=a}rule(e){e.pop();let t=new xi;this.init(t,e[0][2]),t.raws.between=this.spacesAndCommentsFromEnd(e),this.raw(t,\"selector\",e),this.current=t}spacesAndCommentsFromEnd(e){let t,r=\"\";for(;e.length&&(t=e[e.length-1][0],!(t!==\"space\"&&t!==\"comment\"));)r=e.pop()[1]+r;return r}spacesAndCommentsFromStart(e){let t,r=\"\";for(;e.length&&(t=e[0][0],!(t!==\"space\"&&t!==\"comment\"));)r+=e.shift()[1];return r}spacesFromEnd(e){let t,r=\"\";for(;e.length&&(t=e[e.length-1][0],t===\"space\");)r=e.pop()[1]+r;return r}stringFrom(e,t){let r=\"\";for(let i=t;i<e.length;i++)r+=e[i][1];return e.splice(t,e.length-t),r}unclosedBlock(){let e=this.current.source.start;throw this.input.error(\"Unclosed block\",e.line,e.column)}unclosedBracket(e){throw this.input.error(\"Unclosed bracket\",{offset:e[2]},{offset:e[2]+1})}unexpectedClose(e){throw this.input.error(\"Unexpected }\",{offset:e[2]},{offset:e[2]+1})}unknownWord(e){throw this.input.error(\"Unknown word\",{offset:e[0][2]},{offset:e[0][2]+e[0][1].length})}unnamedAtrule(e,t){throw this.input.error(\"At-rule without name\",{offset:t[2]},{offset:t[2]+t[1].length})}};var xc=Ic;let Oc=Ie,Rc=xc,Ac=ur;function Kt(s,e){let t=new Ac(s,e),r=new Rc(t);try{r.parse()}catch(i){throw i}return r.root}var ks=Kt;Kt.default=Kt;Oc.registerParse(Kt);let{isClean:ce,my:Mc}=ot,Ec=Wn,$c=or,Nc=Ie,kc=Ms;let Ri=Es,Pc=ks,Dc=at;const Lc={atrule:\"AtRule\",comment:\"Comment\",decl:\"Declaration\",document:\"Document\",root:\"Root\",rule:\"Rule\"},Tc={AtRule:!0,AtRuleExit:!0,Comment:!0,CommentExit:!0,Declaration:!0,DeclarationExit:!0,Document:!0,DocumentExit:!0,Once:!0,OnceExit:!0,postcssPlugin:!0,prepare:!0,Root:!0,RootExit:!0,Rule:!0,RuleExit:!0},_c={Once:!0,postcssPlugin:!0,prepare:!0},Le=0;function Ve(s){return typeof s==\"object\"&&typeof s.then==\"function\"}function ao(s){let e=!1,t=Lc[s.type];return s.type===\"decl\"?e=s.prop.toLowerCase():s.type===\"atrule\"&&(e=s.name.toLowerCase()),e&&s.append?[t,t+\"-\"+e,Le,t+\"Exit\",t+\"Exit-\"+e]:e?[t,t+\"-\"+e,t+\"Exit\",t+\"Exit-\"+e]:s.append?[t,Le,t+\"Exit\"]:[t,t+\"Exit\"]}function Ai(s){let e;return s.type===\"document\"?e=[\"Document\",Le,\"DocumentExit\"]:s.type===\"root\"?e=[\"Root\",Le,\"RootExit\"]:e=ao(s),{eventIndex:0,events:e,iterator:0,node:s,visitorIndex:0,visitors:[]}}function is(s){return s[ce]=!1,s.nodes&&s.nodes.forEach(e=>is(e)),s}let ns={},Te=class lo{constructor(e,t,r){this.stringified=!1,this.processed=!1;let i;if(typeof t==\"object\"&&t!==null&&(t.type===\"root\"||t.type===\"document\"))i=is(t);else if(t instanceof lo||t instanceof Ri)i=is(t.root),t.map&&(typeof r.map==\"undefined\"&&(r.map={}),r.map.inline||(r.map.inline=!1),r.map.prev=t.map);else{let n=Pc;r.syntax&&(n=r.syntax.parse),r.parser&&(n=r.parser),n.parse&&(n=n.parse);try{i=n(t,r)}catch(o){this.processed=!0,this.error=o}i&&!i[Mc]&&Nc.rebuild(i)}this.result=new Ri(e,i,r),this.helpers=ee(x({},ns),{postcss:ns,result:this.result}),this.plugins=this.processor.plugins.map(n=>typeof n==\"object\"&&n.prepare?x(x({},n),n.prepare(this.result)):n)}async(){return this.error?Promise.reject(this.error):this.processed?Promise.resolve(this.result):(this.processing||(this.processing=this.runAsync()),this.processing)}catch(e){return this.async().catch(e)}finally(e){return this.async().then(e,e)}getAsyncError(){throw new Error(\"Use process(css).then(cb) to work with async plugins\")}handleError(e,t){let r=this.result.lastPlugin;try{t&&t.addToError(e),this.error=e,e.name===\"CssSyntaxError\"&&!e.plugin?(e.plugin=r.postcssPlugin,e.setMessage()):r.postcssVersion}catch(i){console&&console.error&&console.error(i)}return e}prepareVisitors(){this.listeners={};let e=(t,r,i)=>{this.listeners[r]||(this.listeners[r]=[]),this.listeners[r].push([t,i])};for(let t of this.plugins)if(typeof t==\"object\")for(let r in t){if(!Tc[r]&&/^[A-Z]/.test(r))throw new Error(`Unknown event ${r} in ${t.postcssPlugin}. Try to update PostCSS (${this.processor.version} now).`);if(!_c[r])if(typeof t[r]==\"object\")for(let i in t[r])i===\"*\"?e(t,r,t[r][i]):e(t,r+\"-\"+i.toLowerCase(),t[r][i]);else typeof t[r]==\"function\"&&e(t,r,t[r])}this.hasListener=Object.keys(this.listeners).length>0}async runAsync(){this.plugin=0;for(let e=0;e<this.plugins.length;e++){let t=this.plugins[e],r=this.runOnRoot(t);if(Ve(r))try{await r}catch(i){throw this.handleError(i)}}if(this.prepareVisitors(),this.hasListener){let e=this.result.root;for(;!e[ce];){e[ce]=!0;let t=[Ai(e)];for(;t.length>0;){let r=this.visitTick(t);if(Ve(r))try{await r}catch(i){let n=t[t.length-1].node;throw this.handleError(i,n)}}}if(this.listeners.OnceExit)for(let[t,r]of this.listeners.OnceExit){this.result.lastPlugin=t;try{if(e.type===\"document\"){let i=e.nodes.map(n=>r(n,this.helpers));await Promise.all(i)}else await r(e,this.helpers)}catch(i){throw this.handleError(i)}}}return this.processed=!0,this.stringify()}runOnRoot(e){this.result.lastPlugin=e;try{if(typeof e==\"object\"&&e.Once){if(this.result.root.type===\"document\"){let t=this.result.root.nodes.map(r=>e.Once(r,this.helpers));return Ve(t[0])?Promise.all(t):t}return e.Once(this.result.root,this.helpers)}else if(typeof e==\"function\")return e(this.result.root,this.result)}catch(t){throw this.handleError(t)}}stringify(){if(this.error)throw this.error;if(this.stringified)return this.result;this.stringified=!0,this.sync();let e=this.result.opts,t=$c;e.syntax&&(t=e.syntax.stringify),e.stringifier&&(t=e.stringifier),t.stringify&&(t=t.stringify);let i=new Ec(t,this.result.root,this.result.opts).generate();return this.result.css=i[0],this.result.map=i[1],this.result}sync(){if(this.error)throw this.error;if(this.processed)return this.result;if(this.processed=!0,this.processing)throw this.getAsyncError();for(let e of this.plugins){let t=this.runOnRoot(e);if(Ve(t))throw this.getAsyncError()}if(this.prepareVisitors(),this.hasListener){let e=this.result.root;for(;!e[ce];)e[ce]=!0,this.walkSync(e);if(this.listeners.OnceExit)if(e.type===\"document\")for(let t of e.nodes)this.visitSync(this.listeners.OnceExit,t);else this.visitSync(this.listeners.OnceExit,e)}return this.result}then(e,t){return this.async().then(e,t)}toString(){return this.css}visitSync(e,t){for(let[r,i]of e){this.result.lastPlugin=r;let n;try{n=i(t,this.helpers)}catch(o){throw this.handleError(o,t.proxyOf)}if(t.type!==\"root\"&&t.type!==\"document\"&&!t.parent)return!0;if(Ve(n))throw this.getAsyncError()}}visitTick(e){let t=e[e.length-1],{node:r,visitors:i}=t;if(r.type!==\"root\"&&r.type!==\"document\"&&!r.parent){e.pop();return}if(i.length>0&&t.visitorIndex<i.length){let[o,l]=i[t.visitorIndex];t.visitorIndex+=1,t.visitorIndex===i.length&&(t.visitors=[],t.visitorIndex=0),this.result.lastPlugin=o;try{return l(r.toProxy(),this.helpers)}catch(a){throw this.handleError(a,r)}}if(t.iterator!==0){let o=t.iterator,l;for(;l=r.nodes[r.indexes[o]];)if(r.indexes[o]+=1,!l[ce]){l[ce]=!0,e.push(Ai(l));return}t.iterator=0,delete r.indexes[o]}let n=t.events;for(;t.eventIndex<n.length;){let o=n[t.eventIndex];if(t.eventIndex+=1,o===Le){r.nodes&&r.nodes.length&&(r[ce]=!0,t.iterator=r.getIterator());return}else if(this.listeners[o]){t.visitors=this.listeners[o];return}}e.pop()}walkSync(e){e[ce]=!0;let t=ao(e);for(let r of t)if(r===Le)e.nodes&&e.each(i=>{i[ce]||this.walkSync(i)});else{let i=this.listeners[r];if(i&&this.visitSync(i,e.toProxy()))return}}warnings(){return this.sync().warnings()}get content(){return this.stringify().content}get css(){return this.stringify().css}get map(){return this.stringify().map}get messages(){return this.sync().messages}get opts(){return this.result.opts}get processor(){return this.result.processor}get root(){return this.sync().root}get[Symbol.toStringTag](){return\"LazyResult\"}};Te.registerPostcss=s=>{ns=s};var uo=Te;Te.default=Te;Dc.registerLazyResult(Te);kc.registerLazyResult(Te);let Fc=Wn,Uc=or;let Bc=ks;const zc=Es;let os=class{constructor(e,t,r){t=t.toString(),this.stringified=!1,this._processor=e,this._css=t,this._opts=r,this._map=void 0;let i,n=Uc;this.result=new zc(this._processor,i,this._opts),this.result.css=t;let o=this;Object.defineProperty(this.result,\"root\",{get(){return o.root}});let l=new Fc(n,i,this._opts,t);if(l.isMap()){let[a,u]=l.generate();a&&(this.result.css=a),u&&(this.result.map=u)}else l.clearAnnotation(),this.result.css=l.css}async(){return this.error?Promise.reject(this.error):Promise.resolve(this.result)}catch(e){return this.async().catch(e)}finally(e){return this.async().then(e,e)}sync(){if(this.error)throw this.error;return this.result}then(e,t){return this.async().then(e,t)}toString(){return this._css}warnings(){return[]}get content(){return this.result.css}get css(){return this.result.css}get map(){return this.result.map}get messages(){return[]}get opts(){return this.result.opts}get processor(){return this.result.processor}get root(){if(this._root)return this._root;let e,t=Bc;try{e=t(this._css,this._opts)}catch(r){this.error=r}if(this.error)throw this.error;return this._root=e,e}get[Symbol.toStringTag](){return\"NoWorkResult\"}};var Wc=os;os.default=os;let Gc=Wc,Vc=uo,jc=Ms,Hc=at,tt=class{constructor(e=[]){this.version=\"8.4.38\",this.plugins=this.normalize(e)}normalize(e){let t=[];for(let r of e)if(r.postcss===!0?r=r():r.postcss&&(r=r.postcss),typeof r==\"object\"&&Array.isArray(r.plugins))t=t.concat(r.plugins);else if(typeof r==\"object\"&&r.postcssPlugin)t.push(r);else if(typeof r==\"function\")t.push(r);else if(!(typeof r==\"object\"&&(r.parse||r.stringify)))throw new Error(r+\" is not a PostCSS plugin\");return t}process(e,t={}){return!this.plugins.length&&!t.parser&&!t.stringifier&&!t.syntax?new Gc(this,e,t):new Vc(this,e,t)}use(e){return this.plugins=this.plugins.concat(this.normalize([e])),this}};var Yc=tt;tt.default=tt;Hc.registerProcessor(tt);jc.registerProcessor(tt);let Zc=lr,Jc=_n,Xc=cr,Kc=$s,Qc=ur,qc=at,eh=Ns;function rt(s,e){if(Array.isArray(s))return s.map(o=>rt(o));let i=s,{inputs:t}=i,r=xe(i,[\"inputs\"]);if(t){e=[];for(let o of t){let l=ee(x({},o),{__proto__:Qc.prototype});l.map&&(l.map=ee(x({},l.map),{__proto__:Jc.prototype})),e.push(l)}}if(r.nodes&&(r.nodes=s.nodes.map(o=>rt(o,e))),r.source){let n=r.source,{inputId:o}=n,l=xe(n,[\"inputId\"]);r.source=l,o!=null&&(r.source.input=e[o])}if(r.type===\"root\")return new qc(r);if(r.type===\"decl\")return new Zc(r);if(r.type===\"rule\")return new eh(r);if(r.type===\"comment\")return new Xc(r);if(r.type===\"atrule\")return new Kc(r);throw new Error(\"Unknown node type: \"+s.type)}var th=rt;rt.default=rt;let rh=Os,co=lr,sh=uo,ih=Ie,Ps=Yc,nh=or,oh=th,ho=Ms,ah=eo,fo=cr,po=$s,lh=Es,uh=ur,ch=ks,hh=no,mo=Ns,go=at,fh=ar;function $(...s){return s.length===1&&Array.isArray(s[0])&&(s=s[0]),new Ps(s)}$.plugin=function(e,t){let r=!1;function i(...o){console&&console.warn&&!r&&(r=!0,console.warn(e+`: postcss.plugin was deprecated. Migration guide:\nhttps://evilmartians.com/chronicles/postcss-8-plugin-migration`),process.env.LANG&&process.env.LANG.startsWith(\"cn\")&&console.warn(e+`: \\u91CC\\u9762 postcss.plugin \\u88AB\\u5F03\\u7528. \\u8FC1\\u79FB\\u6307\\u5357:\nhttps://www.w3ctech.com/topic/2226`));let l=t(...o);return l.postcssPlugin=e,l.postcssVersion=new Ps().version,l}let n;return Object.defineProperty(i,\"postcss\",{get(){return n||(n=i()),n}}),i.process=function(o,l,a){return $([i(a)]).process(o,l)},i};$.stringify=nh;$.parse=ch;$.fromJSON=oh;$.list=hh;$.comment=s=>new fo(s);$.atRule=s=>new po(s);$.decl=s=>new co(s);$.rule=s=>new mo(s);$.root=s=>new go(s);$.document=s=>new ho(s);$.CssSyntaxError=rh;$.Declaration=co;$.Container=ih;$.Processor=Ps;$.Document=ho;$.Comment=fo;$.Warning=ah;$.AtRule=po;$.Result=lh;$.Input=uh;$.Rule=mo;$.Root=go;$.Node=fh;sh.registerPostcss($);var ph=$;$.default=$;const U=Ou(ph);U.stringify;U.fromJSON;U.plugin;U.parse;U.list;U.document;U.comment;U.atRule;U.rule;U.decl;U.root;U.CssSyntaxError;U.Declaration;U.Container;U.Processor;U.Document;U.Comment;U.Warning;U.AtRule;U.Result;U.Input;U.Rule;U.Root;U.Node;class Ds{constructor(...e){te(this,\"parentElement\",null),te(this,\"parentNode\",null),te(this,\"ownerDocument\"),te(this,\"firstChild\",null),te(this,\"lastChild\",null),te(this,\"previousSibling\",null),te(this,\"nextSibling\",null),te(this,\"ELEMENT_NODE\",1),te(this,\"TEXT_NODE\",3),te(this,\"nodeType\"),te(this,\"nodeName\"),te(this,\"RRNodeType\")}get childNodes(){const e=[];let t=this.firstChild;for(;t;)e.push(t),t=t.nextSibling;return e}contains(e){if(e instanceof Ds){if(e.ownerDocument!==this.ownerDocument)return!1;if(e===this)return!0}else return!1;for(;e.parentNode;){if(e.parentNode===this)return!0;e=e.parentNode}return!1}appendChild(e){throw new Error(\"RRDomException: Failed to execute 'appendChild' on 'RRNode': This RRNode type does not support this method.\")}insertBefore(e,t){throw new Error(\"RRDomException: Failed to execute 'insertBefore' on 'RRNode': This RRNode type does not support this method.\")}removeChild(e){throw new Error(\"RRDomException: Failed to execute 'removeChild' on 'RRNode': This RRNode type does not support this method.\")}toString(){return\"RRNode\"}}const Mi={Node:[\"childNodes\",\"parentNode\",\"parentElement\",\"textContent\"],ShadowRoot:[\"host\",\"styleSheets\"],Element:[\"shadowRoot\",\"querySelector\",\"querySelectorAll\"],MutationObserver:[]},Ei={Node:[\"contains\",\"getRootNode\"],ShadowRoot:[\"getSelection\"],Element:[],MutationObserver:[\"constructor\"]},kt={},dh=()=>!!globalThis.Zone;function Ls(s){if(kt[s])return kt[s];const e=globalThis[s],t=e.prototype,r=s in Mi?Mi[s]:void 0,i=!!(r&&r.every(l=>{var a,u;return!!((u=(a=Object.getOwnPropertyDescriptor(t,l))==null?void 0:a.get)!=null&&u.toString().includes(\"[native code]\"))})),n=s in Ei?Ei[s]:void 0,o=!!(n&&n.every(l=>{var a;return typeof t[l]==\"function\"&&((a=t[l])==null?void 0:a.toString().includes(\"[native code]\"))}));if(i&&o&&!dh())return kt[s]=e.prototype,e.prototype;try{const l=document.createElement(\"iframe\");document.body.appendChild(l);const a=l.contentWindow;if(!a)return e.prototype;const u=a[s].prototype;return document.body.removeChild(l),u?kt[s]=u:t}catch(l){return t}}const Rr={};function ge(s,e,t){var r;const i=`${s}.${String(t)}`;if(Rr[i])return Rr[i].call(e);const n=Ls(s),o=(r=Object.getOwnPropertyDescriptor(n,t))==null?void 0:r.get;return o?(Rr[i]=o,o.call(e)):e[t]}const Ar={};function yo(s,e,t){const r=`${s}.${String(t)}`;if(Ar[r])return Ar[r].bind(e);const n=Ls(s)[t];return typeof n!=\"function\"?e[t]:(Ar[r]=n,n.bind(e))}function mh(s){return ge(\"Node\",s,\"childNodes\")}function gh(s){return ge(\"Node\",s,\"parentNode\")}function yh(s){return ge(\"Node\",s,\"parentElement\")}function wh(s){return ge(\"Node\",s,\"textContent\")}function Sh(s,e){return yo(\"Node\",s,\"contains\")(e)}function bh(s){return yo(\"Node\",s,\"getRootNode\")()}function Ch(s){return!s||!(\"host\"in s)?null:ge(\"ShadowRoot\",s,\"host\")}function vh(s){return s.styleSheets}function Ih(s){return!s||!(\"shadowRoot\"in s)?null:ge(\"Element\",s,\"shadowRoot\")}function xh(s,e){return ge(\"Element\",s,\"querySelector\")(e)}function Oh(s,e){return ge(\"Element\",s,\"querySelectorAll\")(e)}function wo(){return Ls(\"MutationObserver\").constructor}const v={childNodes:mh,parentNode:gh,parentElement:yh,textContent:wh,contains:Sh,getRootNode:bh,host:Ch,styleSheets:vh,shadowRoot:Ih,querySelector:xh,querySelectorAll:Oh,mutationObserver:wo};function J(s,e,t=document){const r={capture:!0,passive:!0};return t.addEventListener(s,e,r),()=>t.removeEventListener(s,e,r)}const Re=`Please stop import mirror directly. Instead of that,\\r\nnow you can use replayer.getMirror() to access the mirror instance of a replayer,\\r\nor you can use record.mirror to access the mirror instance during recording.`;let $i={map:{},getId(){return console.error(Re),-1},getNode(){return console.error(Re),null},removeNodeFromMap(){console.error(Re)},has(){return console.error(Re),!1},reset(){console.error(Re)}};typeof window!=\"undefined\"&&window.Proxy&&window.Reflect&&($i=new Proxy($i,{get(s,e,t){return e===\"map\"&&console.error(Re),Reflect.get(s,e,t)}}));function st(s,e,t={}){let r=null,i=0;return function(...n){const o=Date.now();!i&&t.leading===!1&&(i=o);const l=e-(o-i),a=this;l<=0||l>e?(r&&(clearTimeout(r),r=null),i=o,s.apply(a,n)):!r&&t.trailing!==!1&&(r=setTimeout(()=>{i=t.leading===!1?0:Date.now(),r=null,s.apply(a,n)},l))}}function hr(s,e,t,r,i=window){const n=i.Object.getOwnPropertyDescriptor(s,e);return i.Object.defineProperty(s,e,r?t:{set(o){setTimeout(()=>{t.set.call(this,o)},0),n&&n.set&&n.set.call(this,o)}}),()=>hr(s,e,n||{},!0)}function Fe(s,e,t){try{if(!(e in s))return()=>{};const r=s[e],i=t(r);return typeof i==\"function\"&&(i.prototype=i.prototype||{},Object.defineProperties(i,{__rrweb_original__:{enumerable:!1,value:r}})),s[e]=i,()=>{s[e]=r}}catch(r){return()=>{}}}let Qt=Date.now;/[1-9][0-9]{12}/.test(Date.now().toString())||(Qt=()=>new Date().getTime());function So(s){var e,t,r,i;const n=s.document;return{left:n.scrollingElement?n.scrollingElement.scrollLeft:s.pageXOffset!==void 0?s.pageXOffset:n.documentElement.scrollLeft||(n==null?void 0:n.body)&&((e=v.parentElement(n.body))==null?void 0:e.scrollLeft)||((t=n==null?void 0:n.body)==null?void 0:t.scrollLeft)||0,top:n.scrollingElement?n.scrollingElement.scrollTop:s.pageYOffset!==void 0?s.pageYOffset:(n==null?void 0:n.documentElement.scrollTop)||(n==null?void 0:n.body)&&((r=v.parentElement(n.body))==null?void 0:r.scrollTop)||((i=n==null?void 0:n.body)==null?void 0:i.scrollTop)||0}}function bo(){return window.innerHeight||document.documentElement&&document.documentElement.clientHeight||document.body&&document.body.clientHeight}function Co(){return window.innerWidth||document.documentElement&&document.documentElement.clientWidth||document.body&&document.body.clientWidth}function vo(s){return s?s.nodeType===s.ELEMENT_NODE?s:v.parentElement(s):null}function X(s,e,t,r){if(!s)return!1;const i=vo(s);if(!i)return!1;try{if(typeof e==\"string\"){if(i.classList.contains(e)||r&&i.closest(\".\"+e)!==null)return!0}else if(Gt(i,e,r))return!0}catch(n){}return!!(t&&(i.matches(t)||r&&i.closest(t)!==null))}function Rh(s,e){return e.getId(s)!==-1}function Mr(s,e,t){return s.tagName===\"TITLE\"&&t.headTitleMutations?!0:e.getId(s)===Ze}function Io(s,e){if(je(s))return!1;const t=e.getId(s);if(!e.has(t))return!0;const r=v.parentNode(s);return r&&r.nodeType===s.DOCUMENT_NODE?!1:r?Io(r,e):!0}function as(s){return!!s.changedTouches}function Ah(s=window){\"NodeList\"in s&&!s.NodeList.prototype.forEach&&(s.NodeList.prototype.forEach=Array.prototype.forEach),\"DOMTokenList\"in s&&!s.DOMTokenList.prototype.forEach&&(s.DOMTokenList.prototype.forEach=Array.prototype.forEach)}function xo(s,e){return!!(s.nodeName===\"IFRAME\"&&e.getMeta(s))}function Oo(s,e){return!!(s.nodeName===\"LINK\"&&s.nodeType===s.ELEMENT_NODE&&s.getAttribute&&s.getAttribute(\"rel\")===\"stylesheet\"&&e.getMeta(s))}function ls(s){return s?s instanceof Ds&&\"shadowRoot\"in s?!!s.shadowRoot:!!v.shadowRoot(s):!1}class Mh{constructor(){w(this,\"id\",1),w(this,\"styleIDMap\",new WeakMap),w(this,\"idStyleMap\",new Map)}getId(e){var t;return(t=this.styleIDMap.get(e))!=null?t:-1}has(e){return this.styleIDMap.has(e)}add(e,t){if(this.has(e))return this.getId(e);let r;return t===void 0?r=this.id++:r=t,this.styleIDMap.set(e,r),this.idStyleMap.set(r,e),r}getStyle(e){return this.idStyleMap.get(e)||null}reset(){this.styleIDMap=new WeakMap,this.idStyleMap=new Map,this.id=1}generateId(){return this.id++}}function Ro(s){var e;let t=null;return\"getRootNode\"in s&&((e=v.getRootNode(s))==null?void 0:e.nodeType)===Node.DOCUMENT_FRAGMENT_NODE&&v.host(v.getRootNode(s))&&(t=v.host(v.getRootNode(s))),t}function Eh(s){let e=s,t;for(;t=Ro(e);)e=t;return e}function $h(s){const e=s.ownerDocument;if(!e)return!1;const t=Eh(s);return v.contains(e,t)}function Ao(s){const e=s.ownerDocument;return e?v.contains(e,s)||$h(s):!1}var R=(s=>(s[s.DomContentLoaded=0]=\"DomContentLoaded\",s[s.Load=1]=\"Load\",s[s.FullSnapshot=2]=\"FullSnapshot\",s[s.IncrementalSnapshot=3]=\"IncrementalSnapshot\",s[s.Meta=4]=\"Meta\",s[s.Custom=5]=\"Custom\",s[s.Plugin=6]=\"Plugin\",s))(R||{}),I=(s=>(s[s.Mutation=0]=\"Mutation\",s[s.MouseMove=1]=\"MouseMove\",s[s.MouseInteraction=2]=\"MouseInteraction\",s[s.Scroll=3]=\"Scroll\",s[s.ViewportResize=4]=\"ViewportResize\",s[s.Input=5]=\"Input\",s[s.TouchMove=6]=\"TouchMove\",s[s.MediaInteraction=7]=\"MediaInteraction\",s[s.StyleSheetRule=8]=\"StyleSheetRule\",s[s.CanvasMutation=9]=\"CanvasMutation\",s[s.Font=10]=\"Font\",s[s.Log=11]=\"Log\",s[s.Drag=12]=\"Drag\",s[s.StyleDeclaration=13]=\"StyleDeclaration\",s[s.Selection=14]=\"Selection\",s[s.AdoptedStyleSheet=15]=\"AdoptedStyleSheet\",s[s.CustomElement=16]=\"CustomElement\",s))(I||{}),K=(s=>(s[s.MouseUp=0]=\"MouseUp\",s[s.MouseDown=1]=\"MouseDown\",s[s.Click=2]=\"Click\",s[s.ContextMenu=3]=\"ContextMenu\",s[s.DblClick=4]=\"DblClick\",s[s.Focus=5]=\"Focus\",s[s.Blur=6]=\"Blur\",s[s.TouchStart=7]=\"TouchStart\",s[s.TouchMove_Departed=8]=\"TouchMove_Departed\",s[s.TouchEnd=9]=\"TouchEnd\",s[s.TouchCancel=10]=\"TouchCancel\",s))(K||{}),he=(s=>(s[s.Mouse=0]=\"Mouse\",s[s.Pen=1]=\"Pen\",s[s.Touch=2]=\"Touch\",s))(he||{}),_e=(s=>(s[s[\"2D\"]=0]=\"2D\",s[s.WebGL=1]=\"WebGL\",s[s.WebGL2=2]=\"WebGL2\",s))(_e||{}),Ae=(s=>(s[s.Play=0]=\"Play\",s[s.Pause=1]=\"Pause\",s[s.Seeked=2]=\"Seeked\",s[s.VolumeChange=3]=\"VolumeChange\",s[s.RateChange=4]=\"RateChange\",s))(Ae||{}),Mo=(s=>(s[s.Document=0]=\"Document\",s[s.DocumentType=1]=\"DocumentType\",s[s.Element=2]=\"Element\",s[s.Text=3]=\"Text\",s[s.CDATA=4]=\"CDATA\",s[s.Comment=5]=\"Comment\",s))(Mo||{});function Ni(s){return\"__ln\"in s}class Nh{constructor(){w(this,\"length\",0),w(this,\"head\",null),w(this,\"tail\",null)}get(e){if(e>=this.length)throw new Error(\"Position outside of list range\");let t=this.head;for(let r=0;r<e;r++)t=(t==null?void 0:t.next)||null;return t}addNode(e){const t={value:e,previous:null,next:null};if(e.__ln=t,e.previousSibling&&Ni(e.previousSibling)){const r=e.previousSibling.__ln.next;t.next=r,t.previous=e.previousSibling.__ln,e.previousSibling.__ln.next=t,r&&(r.previous=t)}else if(e.nextSibling&&Ni(e.nextSibling)&&e.nextSibling.__ln.previous){const r=e.nextSibling.__ln.previous;t.previous=r,t.next=e.nextSibling.__ln,e.nextSibling.__ln.previous=t,r&&(r.next=t)}else this.head&&(this.head.previous=t),t.next=this.head,this.head=t;t.next===null&&(this.tail=t),this.length++}removeNode(e){const t=e.__ln;this.head&&(t.previous?(t.previous.next=t.next,t.next?t.next.previous=t.previous:this.tail=t.previous):(this.head=t.next,this.head?this.head.previous=null:this.tail=null),e.__ln&&delete e.__ln,this.length--)}}const ki=(s,e)=>`${s}@${e}`;class kh{constructor(){w(this,\"frozen\",!1),w(this,\"locked\",!1),w(this,\"texts\",[]),w(this,\"attributes\",[]),w(this,\"attributeMap\",new WeakMap),w(this,\"removes\",[]),w(this,\"mapRemoves\",[]),w(this,\"movedMap\",{}),w(this,\"addedSet\",new Set),w(this,\"movedSet\",new Set),w(this,\"droppedSet\",new Set),w(this,\"removesSubTreeCache\",new Set),w(this,\"mutationCb\"),w(this,\"blockClass\"),w(this,\"blockSelector\"),w(this,\"maskTextClass\"),w(this,\"maskTextSelector\"),w(this,\"inlineStylesheet\"),w(this,\"maskInputOptions\"),w(this,\"maskTextFn\"),w(this,\"maskInputFn\"),w(this,\"keepIframeSrcFn\"),w(this,\"recordCanvas\"),w(this,\"inlineImages\"),w(this,\"slimDOMOptions\"),w(this,\"dataURLOptions\"),w(this,\"doc\"),w(this,\"mirror\"),w(this,\"iframeManager\"),w(this,\"stylesheetManager\"),w(this,\"shadowDomManager\"),w(this,\"canvasManager\"),w(this,\"processedNodeManager\"),w(this,\"unattachedDoc\"),w(this,\"processMutations\",e=>{e.forEach(this.processMutation),this.emit()}),w(this,\"emit\",()=>{if(this.frozen||this.locked)return;const e=[],t=new Set,r=new Nh,i=a=>{let u=a,c=Ze;for(;c===Ze;)u=u&&u.nextSibling,c=u&&this.mirror.getId(u);return c},n=a=>{const u=v.parentNode(a);if(!u||!Ao(a))return;let c=!1;if(a.nodeType===Node.TEXT_NODE){const g=u.tagName;if(g===\"TEXTAREA\")return;g===\"STYLE\"&&this.addedSet.has(u)&&(c=!0)}const h=je(u)?this.mirror.getId(Ro(a)):this.mirror.getId(u),d=i(a);if(h===-1||d===-1)return r.addNode(a);const m=Ee(a,{doc:this.doc,mirror:this.mirror,blockClass:this.blockClass,blockSelector:this.blockSelector,maskTextClass:this.maskTextClass,maskTextSelector:this.maskTextSelector,skipChild:!0,newlyAddedElement:!0,inlineStylesheet:this.inlineStylesheet,maskInputOptions:this.maskInputOptions,maskTextFn:this.maskTextFn,maskInputFn:this.maskInputFn,slimDOMOptions:this.slimDOMOptions,dataURLOptions:this.dataURLOptions,recordCanvas:this.recordCanvas,inlineImages:this.inlineImages,onSerialize:g=>{xo(g,this.mirror)&&this.iframeManager.addIframe(g),Oo(g,this.mirror)&&this.stylesheetManager.trackLinkElement(g),ls(a)&&this.shadowDomManager.addShadowRoot(v.shadowRoot(a),this.doc)},onIframeLoad:(g,p)=>{this.iframeManager.attachIframe(g,p),this.shadowDomManager.observeAttachShadow(g)},onStylesheetLoad:(g,p)=>{this.stylesheetManager.attachLinkElement(g,p)},cssCaptured:c});m&&(e.push({parentId:h,nextId:d,node:m}),t.add(m.id))};for(;this.mapRemoves.length;)this.mirror.removeNodeFromMap(this.mapRemoves.shift());for(const a of this.movedSet)Pi(this.removesSubTreeCache,a,this.mirror)&&!this.movedSet.has(v.parentNode(a))||n(a);for(const a of this.addedSet)!Di(this.droppedSet,a)&&!Pi(this.removesSubTreeCache,a,this.mirror)||Di(this.movedSet,a)?n(a):this.droppedSet.add(a);let o=null;for(;r.length;){let a=null;if(o){const u=this.mirror.getId(v.parentNode(o.value)),c=i(o.value);u!==-1&&c!==-1&&(a=o)}if(!a){let u=r.tail;for(;u;){const c=u;if(u=u.previous,c){const h=this.mirror.getId(v.parentNode(c.value));if(i(c.value)===-1)continue;if(h!==-1){a=c;break}else{const m=c.value,g=v.parentNode(m);if(g&&g.nodeType===Node.DOCUMENT_FRAGMENT_NODE){const p=v.host(g);if(this.mirror.getId(p)!==-1){a=c;break}}}}}}if(!a){for(;r.head;)r.removeNode(r.head.value);break}o=a.previous,r.removeNode(a.value),n(a.value)}const l={texts:this.texts.map(a=>{const u=a.node,c=v.parentNode(u);return c&&c.tagName===\"TEXTAREA\"&&this.genTextAreaValueMutation(c),{id:this.mirror.getId(u),value:a.value}}).filter(a=>!t.has(a.id)).filter(a=>this.mirror.has(a.id)),attributes:this.attributes.map(a=>{const{attributes:u}=a;if(typeof u.style==\"string\"){const c=JSON.stringify(a.styleDiff),h=JSON.stringify(a._unchangedStyles);c.length<u.style.length&&(c+h).split(\"var(\").length===u.style.split(\"var(\").length&&(u.style=a.styleDiff)}return{id:this.mirror.getId(a.node),attributes:u}}).filter(a=>!t.has(a.id)).filter(a=>this.mirror.has(a.id)),removes:this.removes,adds:e};!l.texts.length&&!l.attributes.length&&!l.removes.length&&!l.adds.length||(this.texts=[],this.attributes=[],this.attributeMap=new WeakMap,this.removes=[],this.addedSet=new Set,this.movedSet=new Set,this.droppedSet=new Set,this.removesSubTreeCache=new Set,this.movedMap={},this.mutationCb(l))}),w(this,\"genTextAreaValueMutation\",e=>{let t=this.attributeMap.get(e);t||(t={node:e,attributes:{},styleDiff:{},_unchangedStyles:{}},this.attributes.push(t),this.attributeMap.set(e,t)),t.attributes.value=Array.from(v.childNodes(e),r=>v.textContent(r)||\"\").join(\"\")}),w(this,\"processMutation\",e=>{if(!Mr(e.target,this.mirror,this.slimDOMOptions))switch(e.type){case\"characterData\":{const t=v.textContent(e.target);!X(e.target,this.blockClass,this.blockSelector,!1)&&t!==e.oldValue&&this.texts.push({value:Xi(e.target,this.maskTextClass,this.maskTextSelector,!0)&&t?this.maskTextFn?this.maskTextFn(t,vo(e.target)):t.replace(/[\\S]/g,\"*\"):t,node:e.target});break}case\"attributes\":{const t=e.target;let r=e.attributeName,i=e.target.getAttribute(r);if(r===\"value\"){const o=fs(t);i=hs({element:t,maskInputOptions:this.maskInputOptions,tagName:t.tagName,type:o,value:i,maskInputFn:this.maskInputFn})}if(X(e.target,this.blockClass,this.blockSelector,!1)||i===e.oldValue)return;let n=this.attributeMap.get(e.target);if(t.tagName===\"IFRAME\"&&r===\"src\"&&!this.keepIframeSrcFn(i))if(!t.contentDocument)r=\"rr_src\";else return;if(n||(n={node:e.target,attributes:{},styleDiff:{},_unchangedStyles:{}},this.attributes.push(n),this.attributeMap.set(e.target,n)),r===\"type\"&&t.tagName===\"INPUT\"&&(e.oldValue||\"\").toLowerCase()===\"password\"&&t.setAttribute(\"data-rr-is-password\",\"true\"),!Ji(t.tagName,r))if(n.attributes[r]=Zi(this.doc,Ce(t.tagName),Ce(r),i),r===\"style\"){if(!this.unattachedDoc)try{this.unattachedDoc=document.implementation.createHTMLDocument()}catch(l){this.unattachedDoc=this.doc}const o=this.unattachedDoc.createElement(\"span\");e.oldValue&&o.setAttribute(\"style\",e.oldValue);for(const l of Array.from(t.style)){const a=t.style.getPropertyValue(l),u=t.style.getPropertyPriority(l);a!==o.style.getPropertyValue(l)||u!==o.style.getPropertyPriority(l)?u===\"\"?n.styleDiff[l]=a:n.styleDiff[l]=[a,u]:n._unchangedStyles[l]=[a,u]}for(const l of Array.from(o.style))t.style.getPropertyValue(l)===\"\"&&(n.styleDiff[l]=!1)}else r===\"open\"&&t.tagName===\"DIALOG\"&&(t.matches(\"dialog:modal\")?n.attributes.rr_open_mode=\"modal\":n.attributes.rr_open_mode=\"non-modal\");break}case\"childList\":{if(X(e.target,this.blockClass,this.blockSelector,!0))return;if(e.target.tagName===\"TEXTAREA\"){this.genTextAreaValueMutation(e.target);return}e.addedNodes.forEach(t=>this.genAdds(t,e.target)),e.removedNodes.forEach(t=>{const r=this.mirror.getId(t),i=je(e.target)?this.mirror.getId(v.host(e.target)):this.mirror.getId(e.target);X(e.target,this.blockClass,this.blockSelector,!1)||Mr(t,this.mirror,this.slimDOMOptions)||!Rh(t,this.mirror)||(this.addedSet.has(t)?(us(this.addedSet,t),this.droppedSet.add(t)):this.addedSet.has(e.target)&&r===-1||Io(e.target,this.mirror)||(this.movedSet.has(t)&&this.movedMap[ki(r,i)]?us(this.movedSet,t):(this.removes.push({parentId:i,id:r,isShadow:je(e.target)&&He(e.target)?!0:void 0}),Ph(t,this.removesSubTreeCache))),this.mapRemoves.push(t))});break}}}),w(this,\"genAdds\",(e,t)=>{if(!this.processedNodeManager.inOtherBuffer(e,this)&&!(this.addedSet.has(e)||this.movedSet.has(e))){if(this.mirror.hasNode(e)){if(Mr(e,this.mirror,this.slimDOMOptions))return;this.movedSet.add(e);let r=null;t&&this.mirror.hasNode(t)&&(r=this.mirror.getId(t)),r&&r!==-1&&(this.movedMap[ki(this.mirror.getId(e),r)]=!0)}else this.addedSet.add(e),this.droppedSet.delete(e);X(e,this.blockClass,this.blockSelector,!1)||(v.childNodes(e).forEach(r=>this.genAdds(r)),ls(e)&&v.childNodes(v.shadowRoot(e)).forEach(r=>{this.processedNodeManager.add(r,this),this.genAdds(r,e)}))}})}init(e){[\"mutationCb\",\"blockClass\",\"blockSelector\",\"maskTextClass\",\"maskTextSelector\",\"inlineStylesheet\",\"maskInputOptions\",\"maskTextFn\",\"maskInputFn\",\"keepIframeSrcFn\",\"recordCanvas\",\"inlineImages\",\"slimDOMOptions\",\"dataURLOptions\",\"doc\",\"mirror\",\"iframeManager\",\"stylesheetManager\",\"shadowDomManager\",\"canvasManager\",\"processedNodeManager\"].forEach(t=>{this[t]=e[t]})}freeze(){this.frozen=!0,this.canvasManager.freeze()}unfreeze(){this.frozen=!1,this.canvasManager.unfreeze(),this.emit()}isFrozen(){return this.frozen}lock(){this.locked=!0,this.canvasManager.lock()}unlock(){this.locked=!1,this.canvasManager.unlock(),this.emit()}reset(){this.shadowDomManager.reset(),this.canvasManager.reset()}}function us(s,e){s.delete(e),v.childNodes(e).forEach(t=>us(s,t))}function Ph(s,e){const t=[s];for(;t.length;){const r=t.pop();e.has(r)||(e.add(r),v.childNodes(r).forEach(i=>t.push(i)))}}function Pi(s,e,t){return s.size===0?!1:Dh(s,e)}function Dh(s,e,t){const r=v.parentNode(e);return r?s.has(r):!1}function Di(s,e){return s.size===0?!1:Eo(s,e)}function Eo(s,e){const t=v.parentNode(e);return t?s.has(t)?!0:Eo(s,t):!1}let Ye;function Lh(s){Ye=s}function Th(){Ye=void 0}const O=s=>Ye?(...t)=>{try{return s(...t)}catch(r){if(Ye&&Ye(r)===!0)return;throw r}}:s,be=[];function lt(s){try{if(\"composedPath\"in s){const e=s.composedPath();if(e.length)return e[0]}else if(\"path\"in s&&s.path.length)return s.path[0]}catch(e){}return s&&s.target}function $o(s,e){const t=new kh;be.push(t),t.init(s);const r=new(wo())(O(t.processMutations.bind(t)));return r.observe(e,{attributes:!0,attributeOldValue:!0,characterData:!0,characterDataOldValue:!0,childList:!0,subtree:!0}),r}function _h({mousemoveCb:s,sampling:e,doc:t,mirror:r}){if(e.mousemove===!1)return()=>{};const i=typeof e.mousemove==\"number\"?e.mousemove:50,n=typeof e.mousemoveCallback==\"number\"?e.mousemoveCallback:500;let o=[],l;const a=st(O(h=>{const d=Date.now()-l;s(o.map(m=>(m.timeOffset-=d,m)),h),o=[],l=null}),n),u=O(st(O(h=>{const d=lt(h),{clientX:m,clientY:g}=as(h)?h.changedTouches[0]:h;l||(l=Qt()),o.push({x:m,y:g,id:r.getId(d),timeOffset:Qt()-l}),a(typeof DragEvent!=\"undefined\"&&h instanceof DragEvent?I.Drag:h instanceof MouseEvent?I.MouseMove:I.TouchMove)}),i,{trailing:!1})),c=[J(\"mousemove\",u,t),J(\"touchmove\",u,t),J(\"drag\",u,t)];return O(()=>{c.forEach(h=>h())})}function Fh({mouseInteractionCb:s,doc:e,mirror:t,blockClass:r,blockSelector:i,sampling:n}){if(n.mouseInteraction===!1)return()=>{};const o=n.mouseInteraction===!0||n.mouseInteraction===void 0?{}:n.mouseInteraction,l=[];let a=null;const u=c=>h=>{const d=lt(h);if(X(d,r,i,!0))return;let m=null,g=c;if(\"pointerType\"in h){switch(h.pointerType){case\"mouse\":m=he.Mouse;break;case\"touch\":m=he.Touch;break;case\"pen\":m=he.Pen;break}m===he.Touch?K[c]===K.MouseDown?g=\"TouchStart\":K[c]===K.MouseUp&&(g=\"TouchEnd\"):he.Pen}else as(h)&&(m=he.Touch);m!==null?(a=m,(g.startsWith(\"Touch\")&&m===he.Touch||g.startsWith(\"Mouse\")&&m===he.Mouse)&&(m=null)):K[c]===K.Click&&(m=a,a=null);const p=as(h)?h.changedTouches[0]:h;if(!p)return;const f=t.getId(d),{clientX:S,clientY:b}=p;O(s)(x({type:K[g],id:f,x:S,y:b},m!==null&&{pointerType:m}))};return Object.keys(K).filter(c=>Number.isNaN(Number(c))&&!c.endsWith(\"_Departed\")&&o[c]!==!1).forEach(c=>{let h=Ce(c);const d=u(c);if(window.PointerEvent)switch(K[c]){case K.MouseDown:case K.MouseUp:h=h.replace(\"mouse\",\"pointer\");break;case K.TouchStart:case K.TouchEnd:return}l.push(J(h,d,e))}),O(()=>{l.forEach(c=>c())})}function No({scrollCb:s,doc:e,mirror:t,blockClass:r,blockSelector:i,sampling:n}){const o=O(st(O(l=>{const a=lt(l);if(!a||X(a,r,i,!0))return;const u=t.getId(a);if(a===e&&e.defaultView){const c=So(e.defaultView);s({id:u,x:c.left,y:c.top})}else s({id:u,x:a.scrollLeft,y:a.scrollTop})}),n.scroll||100));return J(\"scroll\",o,e)}function Uh({viewportResizeCb:s},{win:e}){let t=-1,r=-1;const i=O(st(O(()=>{const n=bo(),o=Co();(t!==n||r!==o)&&(s({width:Number(o),height:Number(n)}),t=n,r=o)}),200));return J(\"resize\",i,e)}const Bh=[\"INPUT\",\"TEXTAREA\",\"SELECT\"],Li=new WeakMap;function zh({inputCb:s,doc:e,mirror:t,blockClass:r,blockSelector:i,ignoreClass:n,ignoreSelector:o,maskInputOptions:l,maskInputFn:a,sampling:u,userTriggeredOnInput:c}){function h(b){let y=lt(b);const C=b.isTrusted,N=y&&y.tagName;if(y&&N===\"OPTION\"&&(y=v.parentElement(y)),!y||!N||Bh.indexOf(N)<0||X(y,r,i,!0)||y.classList.contains(n)||o&&y.matches(o))return;let D=y.value,H=!1;const _=fs(y)||\"\";_===\"radio\"||_===\"checkbox\"?H=y.checked:(l[N.toLowerCase()]||l[_])&&(D=hs({element:y,maskInputOptions:l,tagName:N,type:_,value:D,maskInputFn:a})),d(y,c?{text:D,isChecked:H,userTriggered:C}:{text:D,isChecked:H});const G=y.name;_===\"radio\"&&G&&H&&e.querySelectorAll(`input[type=\"radio\"][name=\"${G}\"]`).forEach(Y=>{if(Y!==y){const Q=Y.value;d(Y,c?{text:Q,isChecked:!H,userTriggered:!1}:{text:Q,isChecked:!H})}})}function d(b,y){const C=Li.get(b);if(!C||C.text!==y.text||C.isChecked!==y.isChecked){Li.set(b,y);const N=t.getId(b);O(s)(ee(x({},y),{id:N}))}}const g=(u.input===\"last\"?[\"change\"]:[\"input\",\"change\"]).map(b=>J(b,O(h),e)),p=e.defaultView;if(!p)return()=>{g.forEach(b=>b())};const f=p.Object.getOwnPropertyDescriptor(p.HTMLInputElement.prototype,\"value\"),S=[[p.HTMLInputElement.prototype,\"value\"],[p.HTMLInputElement.prototype,\"checked\"],[p.HTMLSelectElement.prototype,\"value\"],[p.HTMLTextAreaElement.prototype,\"value\"],[p.HTMLSelectElement.prototype,\"selectedIndex\"],[p.HTMLOptionElement.prototype,\"selected\"]];return f&&f.set&&g.push(...S.map(b=>hr(b[0],b[1],{set(){O(h)({target:this,isTrusted:!1})}},!1,p))),O(()=>{g.forEach(b=>b())})}function qt(s){const e=[];function t(r,i){if(Pt(\"CSSGroupingRule\")&&r.parentRule instanceof CSSGroupingRule||Pt(\"CSSMediaRule\")&&r.parentRule instanceof CSSMediaRule||Pt(\"CSSSupportsRule\")&&r.parentRule instanceof CSSSupportsRule||Pt(\"CSSConditionRule\")&&r.parentRule instanceof CSSConditionRule){const o=Array.from(r.parentRule.cssRules).indexOf(r);i.unshift(o)}else if(r.parentStyleSheet){const o=Array.from(r.parentStyleSheet.cssRules).indexOf(r);i.unshift(o)}return i}return t(s,e)}function de(s,e,t){let r,i;return s?(s.ownerNode?r=e.getId(s.ownerNode):i=t.getId(s),{styleId:i,id:r}):{}}function Wh({styleSheetRuleCb:s,mirror:e,stylesheetManager:t},{win:r}){if(!r.CSSStyleSheet||!r.CSSStyleSheet.prototype)return()=>{};const i=r.CSSStyleSheet.prototype.insertRule;r.CSSStyleSheet.prototype.insertRule=new Proxy(i,{apply:O((c,h,d)=>{const[m,g]=d,{id:p,styleId:f}=de(h,e,t.styleMirror);return(p&&p!==-1||f&&f!==-1)&&s({id:p,styleId:f,adds:[{rule:m,index:g}]}),c.apply(h,d)})}),r.CSSStyleSheet.prototype.addRule=function(c,h,d=this.cssRules.length){const m=`${c} { ${h} }`;return r.CSSStyleSheet.prototype.insertRule.apply(this,[m,d])};const n=r.CSSStyleSheet.prototype.deleteRule;r.CSSStyleSheet.prototype.deleteRule=new Proxy(n,{apply:O((c,h,d)=>{const[m]=d,{id:g,styleId:p}=de(h,e,t.styleMirror);return(g&&g!==-1||p&&p!==-1)&&s({id:g,styleId:p,removes:[{index:m}]}),c.apply(h,d)})}),r.CSSStyleSheet.prototype.removeRule=function(c){return r.CSSStyleSheet.prototype.deleteRule.apply(this,[c])};let o;r.CSSStyleSheet.prototype.replace&&(o=r.CSSStyleSheet.prototype.replace,r.CSSStyleSheet.prototype.replace=new Proxy(o,{apply:O((c,h,d)=>{const[m]=d,{id:g,styleId:p}=de(h,e,t.styleMirror);return(g&&g!==-1||p&&p!==-1)&&s({id:g,styleId:p,replace:m}),c.apply(h,d)})}));let l;r.CSSStyleSheet.prototype.replaceSync&&(l=r.CSSStyleSheet.prototype.replaceSync,r.CSSStyleSheet.prototype.replaceSync=new Proxy(l,{apply:O((c,h,d)=>{const[m]=d,{id:g,styleId:p}=de(h,e,t.styleMirror);return(g&&g!==-1||p&&p!==-1)&&s({id:g,styleId:p,replaceSync:m}),c.apply(h,d)})}));const a={};Dt(\"CSSGroupingRule\")?a.CSSGroupingRule=r.CSSGroupingRule:(Dt(\"CSSMediaRule\")&&(a.CSSMediaRule=r.CSSMediaRule),Dt(\"CSSConditionRule\")&&(a.CSSConditionRule=r.CSSConditionRule),Dt(\"CSSSupportsRule\")&&(a.CSSSupportsRule=r.CSSSupportsRule));const u={};return Object.entries(a).forEach(([c,h])=>{u[c]={insertRule:h.prototype.insertRule,deleteRule:h.prototype.deleteRule},h.prototype.insertRule=new Proxy(u[c].insertRule,{apply:O((d,m,g)=>{const[p,f]=g,{id:S,styleId:b}=de(m.parentStyleSheet,e,t.styleMirror);return(S&&S!==-1||b&&b!==-1)&&s({id:S,styleId:b,adds:[{rule:p,index:[...qt(m),f||0]}]}),d.apply(m,g)})}),h.prototype.deleteRule=new Proxy(u[c].deleteRule,{apply:O((d,m,g)=>{const[p]=g,{id:f,styleId:S}=de(m.parentStyleSheet,e,t.styleMirror);return(f&&f!==-1||S&&S!==-1)&&s({id:f,styleId:S,removes:[{index:[...qt(m),p]}]}),d.apply(m,g)})})}),O(()=>{r.CSSStyleSheet.prototype.insertRule=i,r.CSSStyleSheet.prototype.deleteRule=n,o&&(r.CSSStyleSheet.prototype.replace=o),l&&(r.CSSStyleSheet.prototype.replaceSync=l),Object.entries(a).forEach(([c,h])=>{h.prototype.insertRule=u[c].insertRule,h.prototype.deleteRule=u[c].deleteRule})})}function ko({mirror:s,stylesheetManager:e},t){var r,i,n;let o=null;t.nodeName===\"#document\"?o=s.getId(t):o=s.getId(v.host(t));const l=t.nodeName===\"#document\"?(r=t.defaultView)==null?void 0:r.Document:(n=(i=t.ownerDocument)==null?void 0:i.defaultView)==null?void 0:n.ShadowRoot,a=l!=null&&l.prototype?Object.getOwnPropertyDescriptor(l==null?void 0:l.prototype,\"adoptedStyleSheets\"):void 0;return o===null||o===-1||!l||!a?()=>{}:(Object.defineProperty(t,\"adoptedStyleSheets\",{configurable:a.configurable,enumerable:a.enumerable,get(){var u;return(u=a.get)==null?void 0:u.call(this)},set(u){var c;const h=(c=a.set)==null?void 0:c.call(this,u);if(o!==null&&o!==-1)try{e.adoptStyleSheets(u,o)}catch(d){}return h}}),O(()=>{Object.defineProperty(t,\"adoptedStyleSheets\",{configurable:a.configurable,enumerable:a.enumerable,get:a.get,set:a.set})}))}function Gh({styleDeclarationCb:s,mirror:e,ignoreCSSAttributes:t,stylesheetManager:r},{win:i}){const n=i.CSSStyleDeclaration.prototype.setProperty;i.CSSStyleDeclaration.prototype.setProperty=new Proxy(n,{apply:O((l,a,u)=>{var c;const[h,d,m]=u;if(t.has(h))return n.apply(a,[h,d,m]);const{id:g,styleId:p}=de((c=a.parentRule)==null?void 0:c.parentStyleSheet,e,r.styleMirror);return(g&&g!==-1||p&&p!==-1)&&s({id:g,styleId:p,set:{property:h,value:d,priority:m},index:qt(a.parentRule)}),l.apply(a,u)})});const o=i.CSSStyleDeclaration.prototype.removeProperty;return i.CSSStyleDeclaration.prototype.removeProperty=new Proxy(o,{apply:O((l,a,u)=>{var c;const[h]=u;if(t.has(h))return o.apply(a,[h]);const{id:d,styleId:m}=de((c=a.parentRule)==null?void 0:c.parentStyleSheet,e,r.styleMirror);return(d&&d!==-1||m&&m!==-1)&&s({id:d,styleId:m,remove:{property:h},index:qt(a.parentRule)}),l.apply(a,u)})}),O(()=>{i.CSSStyleDeclaration.prototype.setProperty=n,i.CSSStyleDeclaration.prototype.removeProperty=o})}function Vh({mediaInteractionCb:s,blockClass:e,blockSelector:t,mirror:r,sampling:i,doc:n}){const o=O(a=>st(O(u=>{const c=lt(u);if(!c||X(c,e,t,!0))return;const{currentTime:h,volume:d,muted:m,playbackRate:g,loop:p}=c;s({type:a,id:r.getId(c),currentTime:h,volume:d,muted:m,playbackRate:g,loop:p})}),i.media||500)),l=[J(\"play\",o(Ae.Play),n),J(\"pause\",o(Ae.Pause),n),J(\"seeked\",o(Ae.Seeked),n),J(\"volumechange\",o(Ae.VolumeChange),n),J(\"ratechange\",o(Ae.RateChange),n)];return O(()=>{l.forEach(a=>a())})}function jh({fontCb:s,doc:e}){const t=e.defaultView;if(!t)return()=>{};const r=[],i=new WeakMap,n=t.FontFace;t.FontFace=function(a,u,c){const h=new n(a,u,c);return i.set(h,{family:a,buffer:typeof u!=\"string\",descriptors:c,fontSource:typeof u==\"string\"?u:JSON.stringify(Array.from(new Uint8Array(u)))}),h};const o=Fe(e.fonts,\"add\",function(l){return function(a){return setTimeout(O(()=>{const u=i.get(a);u&&(s(u),i.delete(a))}),0),l.apply(this,[a])}});return r.push(()=>{t.FontFace=n}),r.push(o),O(()=>{r.forEach(l=>l())})}function Hh(s){const{doc:e,mirror:t,blockClass:r,blockSelector:i,selectionCb:n}=s;let o=!0;const l=O(()=>{const a=e.getSelection();if(!a||o&&(a!=null&&a.isCollapsed))return;o=a.isCollapsed||!1;const u=[],c=a.rangeCount||0;for(let h=0;h<c;h++){const d=a.getRangeAt(h),{startContainer:m,startOffset:g,endContainer:p,endOffset:f}=d;X(m,r,i,!0)||X(p,r,i,!0)||u.push({start:t.getId(m),startOffset:g,end:t.getId(p),endOffset:f})}n({ranges:u})});return l(),J(\"selectionchange\",l)}function Yh({doc:s,customElementCb:e}){const t=s.defaultView;return!t||!t.customElements?()=>{}:Fe(t.customElements,\"define\",function(i){return function(n,o,l){try{e({define:{name:n}})}catch(a){console.warn(`Custom element callback failed for ${n}`)}return i.apply(this,[n,o,l])}})}function Zh(s,e){const{mutationCb:t,mousemoveCb:r,mouseInteractionCb:i,scrollCb:n,viewportResizeCb:o,inputCb:l,mediaInteractionCb:a,styleSheetRuleCb:u,styleDeclarationCb:c,canvasMutationCb:h,fontCb:d,selectionCb:m,customElementCb:g}=s;s.mutationCb=(...p)=>{e.mutation&&e.mutation(...p),t(...p)},s.mousemoveCb=(...p)=>{e.mousemove&&e.mousemove(...p),r(...p)},s.mouseInteractionCb=(...p)=>{e.mouseInteraction&&e.mouseInteraction(...p),i(...p)},s.scrollCb=(...p)=>{e.scroll&&e.scroll(...p),n(...p)},s.viewportResizeCb=(...p)=>{e.viewportResize&&e.viewportResize(...p),o(...p)},s.inputCb=(...p)=>{e.input&&e.input(...p),l(...p)},s.mediaInteractionCb=(...p)=>{e.mediaInteaction&&e.mediaInteaction(...p),a(...p)},s.styleSheetRuleCb=(...p)=>{e.styleSheetRule&&e.styleSheetRule(...p),u(...p)},s.styleDeclarationCb=(...p)=>{e.styleDeclaration&&e.styleDeclaration(...p),c(...p)},s.canvasMutationCb=(...p)=>{e.canvasMutation&&e.canvasMutation(...p),h(...p)},s.fontCb=(...p)=>{e.font&&e.font(...p),d(...p)},s.selectionCb=(...p)=>{e.selection&&e.selection(...p),m(...p)},s.customElementCb=(...p)=>{e.customElement&&e.customElement(...p),g(...p)}}function Jh(s,e={}){const t=s.doc.defaultView;if(!t)return()=>{};Zh(s,e);let r;s.recordDOM&&(r=$o(s,s.doc));const i=_h(s),n=Fh(s),o=No(s),l=Uh(s,{win:t}),a=zh(s),u=Vh(s);let c=()=>{},h=()=>{},d=()=>{},m=()=>{};s.recordDOM&&(c=Wh(s,{win:t}),h=ko(s,s.doc),d=Gh(s,{win:t}),s.collectFonts&&(m=jh(s)));const g=Hh(s),p=Yh(s),f=[];for(const S of s.plugins)f.push(S.observer(S.callback,t,S.options));return O(()=>{be.forEach(S=>S.reset()),r==null||r.disconnect(),i(),n(),o(),l(),a(),u(),c(),h(),d(),m(),g(),p(),f.forEach(S=>S())})}function Pt(s){return typeof window[s]!=\"undefined\"}function Dt(s){return!!(typeof window[s]!=\"undefined\"&&window[s].prototype&&\"insertRule\"in window[s].prototype&&\"deleteRule\"in window[s].prototype)}class Ti{constructor(e){w(this,\"iframeIdToRemoteIdMap\",new WeakMap),w(this,\"iframeRemoteIdToIdMap\",new WeakMap),this.generateIdFn=e}getId(e,t,r,i){const n=r||this.getIdToRemoteIdMap(e),o=i||this.getRemoteIdToIdMap(e);let l=n.get(t);return l||(l=this.generateIdFn(),n.set(t,l),o.set(l,t)),l}getIds(e,t){const r=this.getIdToRemoteIdMap(e),i=this.getRemoteIdToIdMap(e);return t.map(n=>this.getId(e,n,r,i))}getRemoteId(e,t,r){const i=r||this.getRemoteIdToIdMap(e);if(typeof t!=\"number\")return t;const n=i.get(t);return n||-1}getRemoteIds(e,t){const r=this.getRemoteIdToIdMap(e);return t.map(i=>this.getRemoteId(e,i,r))}reset(e){if(!e){this.iframeIdToRemoteIdMap=new WeakMap,this.iframeRemoteIdToIdMap=new WeakMap;return}this.iframeIdToRemoteIdMap.delete(e),this.iframeRemoteIdToIdMap.delete(e)}getIdToRemoteIdMap(e){let t=this.iframeIdToRemoteIdMap.get(e);return t||(t=new Map,this.iframeIdToRemoteIdMap.set(e,t)),t}getRemoteIdToIdMap(e){let t=this.iframeRemoteIdToIdMap.get(e);return t||(t=new Map,this.iframeRemoteIdToIdMap.set(e,t)),t}}class Xh{constructor(e){w(this,\"iframes\",new WeakMap),w(this,\"crossOriginIframeMap\",new WeakMap),w(this,\"crossOriginIframeMirror\",new Ti(Yi)),w(this,\"crossOriginIframeStyleMirror\"),w(this,\"crossOriginIframeRootIdMap\",new WeakMap),w(this,\"mirror\"),w(this,\"mutationCb\"),w(this,\"wrappedEmit\"),w(this,\"loadListener\"),w(this,\"stylesheetManager\"),w(this,\"recordCrossOriginIframes\"),this.mutationCb=e.mutationCb,this.wrappedEmit=e.wrappedEmit,this.stylesheetManager=e.stylesheetManager,this.recordCrossOriginIframes=e.recordCrossOriginIframes,this.crossOriginIframeStyleMirror=new Ti(this.stylesheetManager.styleMirror.generateId.bind(this.stylesheetManager.styleMirror)),this.mirror=e.mirror,this.recordCrossOriginIframes&&window.addEventListener(\"message\",this.handleMessage.bind(this))}addIframe(e){this.iframes.set(e,!0),e.contentWindow&&this.crossOriginIframeMap.set(e.contentWindow,e)}addLoadListener(e){this.loadListener=e}attachIframe(e,t){var r,i;this.mutationCb({adds:[{parentId:this.mirror.getId(e),nextId:null,node:t}],removes:[],texts:[],attributes:[],isAttachIframe:!0}),this.recordCrossOriginIframes&&((r=e.contentWindow)==null||r.addEventListener(\"message\",this.handleMessage.bind(this))),(i=this.loadListener)==null||i.call(this,e),e.contentDocument&&e.contentDocument.adoptedStyleSheets&&e.contentDocument.adoptedStyleSheets.length>0&&this.stylesheetManager.adoptStyleSheets(e.contentDocument.adoptedStyleSheets,this.mirror.getId(e.contentDocument))}handleMessage(e){const t=e;if(t.data.type!==\"rrweb\"||t.origin!==t.data.origin||!e.source)return;const i=this.crossOriginIframeMap.get(e.source);if(!i)return;const n=this.transformCrossOriginEvent(i,t.data.event);n&&this.wrappedEmit(n,t.data.isCheckout)}transformCrossOriginEvent(e,t){var r;switch(t.type){case R.FullSnapshot:{this.crossOriginIframeMirror.reset(e),this.crossOriginIframeStyleMirror.reset(e),this.replaceIdOnNode(t.data.node,e);const i=t.data.node.id;return this.crossOriginIframeRootIdMap.set(e,i),this.patchRootIdOnNode(t.data.node,i),{timestamp:t.timestamp,type:R.IncrementalSnapshot,data:{source:I.Mutation,adds:[{parentId:this.mirror.getId(e),nextId:null,node:t.data.node}],removes:[],texts:[],attributes:[],isAttachIframe:!0}}}case R.Meta:case R.Load:case R.DomContentLoaded:return!1;case R.Plugin:return t;case R.Custom:return this.replaceIds(t.data.payload,e,[\"id\",\"parentId\",\"previousId\",\"nextId\"]),t;case R.IncrementalSnapshot:switch(t.data.source){case I.Mutation:return t.data.adds.forEach(i=>{this.replaceIds(i,e,[\"parentId\",\"nextId\",\"previousId\"]),this.replaceIdOnNode(i.node,e);const n=this.crossOriginIframeRootIdMap.get(e);n&&this.patchRootIdOnNode(i.node,n)}),t.data.removes.forEach(i=>{this.replaceIds(i,e,[\"parentId\",\"id\"])}),t.data.attributes.forEach(i=>{this.replaceIds(i,e,[\"id\"])}),t.data.texts.forEach(i=>{this.replaceIds(i,e,[\"id\"])}),t;case I.Drag:case I.TouchMove:case I.MouseMove:return t.data.positions.forEach(i=>{this.replaceIds(i,e,[\"id\"])}),t;case I.ViewportResize:return!1;case I.MediaInteraction:case I.MouseInteraction:case I.Scroll:case I.CanvasMutation:case I.Input:return this.replaceIds(t.data,e,[\"id\"]),t;case I.StyleSheetRule:case I.StyleDeclaration:return this.replaceIds(t.data,e,[\"id\"]),this.replaceStyleIds(t.data,e,[\"styleId\"]),t;case I.Font:return t;case I.Selection:return t.data.ranges.forEach(i=>{this.replaceIds(i,e,[\"start\",\"end\"])}),t;case I.AdoptedStyleSheet:return this.replaceIds(t.data,e,[\"id\"]),this.replaceStyleIds(t.data,e,[\"styleIds\"]),(r=t.data.styles)==null||r.forEach(i=>{this.replaceStyleIds(i,e,[\"styleId\"])}),t}}return!1}replace(e,t,r,i){for(const n of i)!Array.isArray(t[n])&&typeof t[n]!=\"number\"||(Array.isArray(t[n])?t[n]=e.getIds(r,t[n]):t[n]=e.getId(r,t[n]));return t}replaceIds(e,t,r){return this.replace(this.crossOriginIframeMirror,e,t,r)}replaceStyleIds(e,t,r){return this.replace(this.crossOriginIframeStyleMirror,e,t,r)}replaceIdOnNode(e,t){this.replaceIds(e,t,[\"id\",\"rootId\"]),\"childNodes\"in e&&e.childNodes.forEach(r=>{this.replaceIdOnNode(r,t)})}patchRootIdOnNode(e,t){e.type!==Mo.Document&&!e.rootId&&(e.rootId=t),\"childNodes\"in e&&e.childNodes.forEach(r=>{this.patchRootIdOnNode(r,t)})}}class Kh{constructor(e){w(this,\"shadowDoms\",new WeakSet),w(this,\"mutationCb\"),w(this,\"scrollCb\"),w(this,\"bypassOptions\"),w(this,\"mirror\"),w(this,\"restoreHandlers\",[]),this.mutationCb=e.mutationCb,this.scrollCb=e.scrollCb,this.bypassOptions=e.bypassOptions,this.mirror=e.mirror,this.init()}init(){this.reset(),this.patchAttachShadow(Element,document)}addShadowRoot(e,t){if(!He(e)||this.shadowDoms.has(e))return;this.shadowDoms.add(e);const r=$o(ee(x({},this.bypassOptions),{doc:t,mutationCb:this.mutationCb,mirror:this.mirror,shadowDomManager:this}),e);this.restoreHandlers.push(()=>r.disconnect()),this.restoreHandlers.push(No(ee(x({},this.bypassOptions),{scrollCb:this.scrollCb,doc:e,mirror:this.mirror}))),setTimeout(()=>{e.adoptedStyleSheets&&e.adoptedStyleSheets.length>0&&this.bypassOptions.stylesheetManager.adoptStyleSheets(e.adoptedStyleSheets,this.mirror.getId(v.host(e))),this.restoreHandlers.push(ko({mirror:this.mirror,stylesheetManager:this.bypassOptions.stylesheetManager},e))},0)}observeAttachShadow(e){!e.contentWindow||!e.contentDocument||this.patchAttachShadow(e.contentWindow.Element,e.contentDocument)}patchAttachShadow(e,t){const r=this;this.restoreHandlers.push(Fe(e.prototype,\"attachShadow\",function(i){return function(n){const o=i.call(this,n),l=v.shadowRoot(this);return l&&Ao(this)&&r.addShadowRoot(l,t),o}}))}reset(){this.restoreHandlers.forEach(e=>{try{e()}catch(t){}}),this.restoreHandlers=[],this.shadowDoms=new WeakSet}}var $e=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\",Qh=typeof Uint8Array==\"undefined\"?[]:new Uint8Array(256);for(var Lt=0;Lt<$e.length;Lt++)Qh[$e.charCodeAt(Lt)]=Lt;var qh=function(s){var e=new Uint8Array(s),t,r=e.length,i=\"\";for(t=0;t<r;t+=3)i+=$e[e[t]>>2],i+=$e[(e[t]&3)<<4|e[t+1]>>4],i+=$e[(e[t+1]&15)<<2|e[t+2]>>6],i+=$e[e[t+2]&63];return r%3===2?i=i.substring(0,i.length-1)+\"=\":r%3===1&&(i=i.substring(0,i.length-2)+\"==\"),i};const _i=new Map;function ef(s,e){let t=_i.get(s);return t||(t=new Map,_i.set(s,t)),t.has(e)||t.set(e,[]),t.get(e)}const Po=(s,e,t)=>{if(!s||!(Lo(s,e)||typeof s==\"object\"))return;const r=s.constructor.name,i=ef(t,r);let n=i.indexOf(s);return n===-1&&(n=i.length,i.push(s)),n};function Bt(s,e,t){if(s instanceof Array)return s.map(r=>Bt(r,e,t));if(s===null)return s;if(s instanceof Float32Array||s instanceof Float64Array||s instanceof Int32Array||s instanceof Uint32Array||s instanceof Uint8Array||s instanceof Uint16Array||s instanceof Int16Array||s instanceof Int8Array||s instanceof Uint8ClampedArray)return{rr_type:s.constructor.name,args:[Object.values(s)]};if(s instanceof ArrayBuffer){const r=s.constructor.name,i=qh(s);return{rr_type:r,base64:i}}else{if(s instanceof DataView)return{rr_type:s.constructor.name,args:[Bt(s.buffer,e,t),s.byteOffset,s.byteLength]};if(s instanceof HTMLImageElement){const r=s.constructor.name,{src:i}=s;return{rr_type:r,src:i}}else if(s instanceof HTMLCanvasElement){const r=\"HTMLImageElement\",i=s.toDataURL();return{rr_type:r,src:i}}else{if(s instanceof ImageData)return{rr_type:s.constructor.name,args:[Bt(s.data,e,t),s.width,s.height]};if(Lo(s,e)||typeof s==\"object\"){const r=s.constructor.name,i=Po(s,e,t);return{rr_type:r,index:i}}}}return s}const Do=(s,e,t)=>s.map(r=>Bt(r,e,t)),Lo=(s,e)=>!![\"WebGLActiveInfo\",\"WebGLBuffer\",\"WebGLFramebuffer\",\"WebGLProgram\",\"WebGLRenderbuffer\",\"WebGLShader\",\"WebGLShaderPrecisionFormat\",\"WebGLTexture\",\"WebGLUniformLocation\",\"WebGLVertexArrayObject\",\"WebGLVertexArrayObjectOES\"].filter(i=>typeof e[i]==\"function\").find(i=>s instanceof e[i]);function tf(s,e,t,r){const i=[],n=Object.getOwnPropertyNames(e.CanvasRenderingContext2D.prototype);for(const o of n)try{if(typeof e.CanvasRenderingContext2D.prototype[o]!=\"function\")continue;const l=Fe(e.CanvasRenderingContext2D.prototype,o,function(a){return function(...u){return X(this.canvas,t,r,!0)||setTimeout(()=>{const c=Do(u,e,this);s(this.canvas,{type:_e[\"2D\"],property:o,args:c})},0),a.apply(this,u)}});i.push(l)}catch(l){const a=hr(e.CanvasRenderingContext2D.prototype,o,{set(u){s(this.canvas,{type:_e[\"2D\"],property:o,args:[u],setter:!0})}});i.push(a)}return()=>{i.forEach(o=>o())}}function rf(s){return s===\"experimental-webgl\"?\"webgl\":s}function Fi(s,e,t,r){const i=[];try{const n=Fe(s.HTMLCanvasElement.prototype,\"getContext\",function(o){return function(l,...a){if(!X(this,e,t,!0)){const u=rf(l);if(\"__context\"in this||(this.__context=u),r&&[\"webgl\",\"webgl2\"].includes(u))if(a[0]&&typeof a[0]==\"object\"){const c=a[0];c.preserveDrawingBuffer||(c.preserveDrawingBuffer=!0)}else a.splice(0,1,{preserveDrawingBuffer:!0})}return o.apply(this,[l,...a])}});i.push(n)}catch(n){console.error(\"failed to patch HTMLCanvasElement.prototype.getContext\")}return()=>{i.forEach(n=>n())}}function Ui(s,e,t,r,i,n){const o=[],l=Object.getOwnPropertyNames(s);for(const a of l)if(![\"isContextLost\",\"canvas\",\"drawingBufferWidth\",\"drawingBufferHeight\"].includes(a))try{if(typeof s[a]!=\"function\")continue;const u=Fe(s,a,function(c){return function(...h){const d=c.apply(this,h);if(Po(d,n,this),\"tagName\"in this.canvas&&!X(this.canvas,r,i,!0)){const m=Do(h,n,this),g={type:e,property:a,args:m};t(this.canvas,g)}return d}});o.push(u)}catch(u){const c=hr(s,a,{set(h){t(this.canvas,{type:e,property:a,args:[h],setter:!0})}});o.push(c)}return o}function sf(s,e,t,r){const i=[];return i.push(...Ui(e.WebGLRenderingContext.prototype,_e.WebGL,s,t,r,e)),typeof e.WebGL2RenderingContext!=\"undefined\"&&i.push(...Ui(e.WebGL2RenderingContext.prototype,_e.WebGL2,s,t,r,e)),()=>{i.forEach(n=>n())}}const To=\"KGZ1bmN0aW9uKCkgewogICJ1c2Ugc3RyaWN0IjsKICB2YXIgY2hhcnMgPSAiQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLyI7CiAgdmFyIGxvb2t1cCA9IHR5cGVvZiBVaW50OEFycmF5ID09PSAidW5kZWZpbmVkIiA/IFtdIDogbmV3IFVpbnQ4QXJyYXkoMjU2KTsKICBmb3IgKHZhciBpID0gMDsgaSA8IGNoYXJzLmxlbmd0aDsgaSsrKSB7CiAgICBsb29rdXBbY2hhcnMuY2hhckNvZGVBdChpKV0gPSBpOwogIH0KICB2YXIgZW5jb2RlID0gZnVuY3Rpb24oYXJyYXlidWZmZXIpIHsKICAgIHZhciBieXRlcyA9IG5ldyBVaW50OEFycmF5KGFycmF5YnVmZmVyKSwgaTIsIGxlbiA9IGJ5dGVzLmxlbmd0aCwgYmFzZTY0ID0gIiI7CiAgICBmb3IgKGkyID0gMDsgaTIgPCBsZW47IGkyICs9IDMpIHsKICAgICAgYmFzZTY0ICs9IGNoYXJzW2J5dGVzW2kyXSA+PiAyXTsKICAgICAgYmFzZTY0ICs9IGNoYXJzWyhieXRlc1tpMl0gJiAzKSA8PCA0IHwgYnl0ZXNbaTIgKyAxXSA+PiA0XTsKICAgICAgYmFzZTY0ICs9IGNoYXJzWyhieXRlc1tpMiArIDFdICYgMTUpIDw8IDIgfCBieXRlc1tpMiArIDJdID4+IDZdOwogICAgICBiYXNlNjQgKz0gY2hhcnNbYnl0ZXNbaTIgKyAyXSAmIDYzXTsKICAgIH0KICAgIGlmIChsZW4gJSAzID09PSAyKSB7CiAgICAgIGJhc2U2NCA9IGJhc2U2NC5zdWJzdHJpbmcoMCwgYmFzZTY0Lmxlbmd0aCAtIDEpICsgIj0iOwogICAgfSBlbHNlIGlmIChsZW4gJSAzID09PSAxKSB7CiAgICAgIGJhc2U2NCA9IGJhc2U2NC5zdWJzdHJpbmcoMCwgYmFzZTY0Lmxlbmd0aCAtIDIpICsgIj09IjsKICAgIH0KICAgIHJldHVybiBiYXNlNjQ7CiAgfTsKICBjb25zdCBsYXN0QmxvYk1hcCA9IC8qIEBfX1BVUkVfXyAqLyBuZXcgTWFwKCk7CiAgY29uc3QgdHJhbnNwYXJlbnRCbG9iTWFwID0gLyogQF9fUFVSRV9fICovIG5ldyBNYXAoKTsKICBhc3luYyBmdW5jdGlvbiBnZXRUcmFuc3BhcmVudEJsb2JGb3Iod2lkdGgsIGhlaWdodCwgZGF0YVVSTE9wdGlvbnMpIHsKICAgIGNvbnN0IGlkID0gYCR7d2lkdGh9LSR7aGVpZ2h0fWA7CiAgICBpZiAoIk9mZnNjcmVlbkNhbnZhcyIgaW4gZ2xvYmFsVGhpcykgewogICAgICBpZiAodHJhbnNwYXJlbnRCbG9iTWFwLmhhcyhpZCkpIHJldHVybiB0cmFuc3BhcmVudEJsb2JNYXAuZ2V0KGlkKTsKICAgICAgY29uc3Qgb2Zmc2NyZWVuID0gbmV3IE9mZnNjcmVlbkNhbnZhcyh3aWR0aCwgaGVpZ2h0KTsKICAgICAgb2Zmc2NyZWVuLmdldENvbnRleHQoIjJkIik7CiAgICAgIGNvbnN0IGJsb2IgPSBhd2FpdCBvZmZzY3JlZW4uY29udmVydFRvQmxvYihkYXRhVVJMT3B0aW9ucyk7CiAgICAgIGNvbnN0IGFycmF5QnVmZmVyID0gYXdhaXQgYmxvYi5hcnJheUJ1ZmZlcigpOwogICAgICBjb25zdCBiYXNlNjQgPSBlbmNvZGUoYXJyYXlCdWZmZXIpOwogICAgICB0cmFuc3BhcmVudEJsb2JNYXAuc2V0KGlkLCBiYXNlNjQpOwogICAgICByZXR1cm4gYmFzZTY0OwogICAgfSBlbHNlIHsKICAgICAgcmV0dXJuICIiOwogICAgfQogIH0KICBjb25zdCB3b3JrZXIgPSBzZWxmOwogIHdvcmtlci5vbm1lc3NhZ2UgPSBhc3luYyBmdW5jdGlvbihlKSB7CiAgICBpZiAoIk9mZnNjcmVlbkNhbnZhcyIgaW4gZ2xvYmFsVGhpcykgewogICAgICBjb25zdCB7IGlkLCBiaXRtYXAsIHdpZHRoLCBoZWlnaHQsIGRhdGFVUkxPcHRpb25zIH0gPSBlLmRhdGE7CiAgICAgIGNvbnN0IHRyYW5zcGFyZW50QmFzZTY0ID0gZ2V0VHJhbnNwYXJlbnRCbG9iRm9yKAogICAgICAgIHdpZHRoLAogICAgICAgIGhlaWdodCwKICAgICAgICBkYXRhVVJMT3B0aW9ucwogICAgICApOwogICAgICBjb25zdCBvZmZzY3JlZW4gPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKHdpZHRoLCBoZWlnaHQpOwogICAgICBjb25zdCBjdHggPSBvZmZzY3JlZW4uZ2V0Q29udGV4dCgiMmQiKTsKICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDApOwogICAgICBiaXRtYXAuY2xvc2UoKTsKICAgICAgY29uc3QgYmxvYiA9IGF3YWl0IG9mZnNjcmVlbi5jb252ZXJ0VG9CbG9iKGRhdGFVUkxPcHRpb25zKTsKICAgICAgY29uc3QgdHlwZSA9IGJsb2IudHlwZTsKICAgICAgY29uc3QgYXJyYXlCdWZmZXIgPSBhd2FpdCBibG9iLmFycmF5QnVmZmVyKCk7CiAgICAgIGNvbnN0IGJhc2U2NCA9IGVuY29kZShhcnJheUJ1ZmZlcik7CiAgICAgIGlmICghbGFzdEJsb2JNYXAuaGFzKGlkKSAmJiBhd2FpdCB0cmFuc3BhcmVudEJhc2U2NCA9PT0gYmFzZTY0KSB7CiAgICAgICAgbGFzdEJsb2JNYXAuc2V0KGlkLCBiYXNlNjQpOwogICAgICAgIHJldHVybiB3b3JrZXIucG9zdE1lc3NhZ2UoeyBpZCB9KTsKICAgICAgfQogICAgICBpZiAobGFzdEJsb2JNYXAuZ2V0KGlkKSA9PT0gYmFzZTY0KSByZXR1cm4gd29ya2VyLnBvc3RNZXNzYWdlKHsgaWQgfSk7CiAgICAgIHdvcmtlci5wb3N0TWVzc2FnZSh7CiAgICAgICAgaWQsCiAgICAgICAgdHlwZSwKICAgICAgICBiYXNlNjQsCiAgICAgICAgd2lkdGgsCiAgICAgICAgaGVpZ2h0CiAgICAgIH0pOwogICAgICBsYXN0QmxvYk1hcC5zZXQoaWQsIGJhc2U2NCk7CiAgICB9IGVsc2UgewogICAgICByZXR1cm4gd29ya2VyLnBvc3RNZXNzYWdlKHsgaWQ6IGUuZGF0YS5pZCB9KTsKICAgIH0KICB9Owp9KSgpOwovLyMgc291cmNlTWFwcGluZ1VSTD1pbWFnZS1iaXRtYXAtZGF0YS11cmwtd29ya2VyLUlKcEM3Z19iLmpzLm1hcAo=\",nf=s=>Uint8Array.from(atob(s),e=>e.charCodeAt(0)),Bi=typeof window!=\"undefined\"&&window.Blob&&new Blob([nf(To)],{type:\"text/javascript;charset=utf-8\"});function of(s){let e;try{if(e=Bi&&(window.URL||window.webkitURL).createObjectURL(Bi),!e)throw\"\";const t=new Worker(e,{name:s==null?void 0:s.name});return t.addEventListener(\"error\",()=>{(window.URL||window.webkitURL).revokeObjectURL(e)}),t}catch(t){return new Worker(\"data:text/javascript;base64,\"+To,{name:s==null?void 0:s.name})}finally{e&&(window.URL||window.webkitURL).revokeObjectURL(e)}}class af{constructor(e){w(this,\"pendingCanvasMutations\",new Map),w(this,\"rafStamps\",{latestId:0,invokeId:null}),w(this,\"mirror\"),w(this,\"mutationCb\"),w(this,\"resetObservers\"),w(this,\"frozen\",!1),w(this,\"locked\",!1),w(this,\"processMutation\",(a,u)=>{(this.rafStamps.invokeId&&this.rafStamps.latestId!==this.rafStamps.invokeId||!this.rafStamps.invokeId)&&(this.rafStamps.invokeId=this.rafStamps.latestId),this.pendingCanvasMutations.has(a)||this.pendingCanvasMutations.set(a,[]),this.pendingCanvasMutations.get(a).push(u)});const{sampling:t=\"all\",win:r,blockClass:i,blockSelector:n,recordCanvas:o,dataURLOptions:l}=e;this.mutationCb=e.mutationCb,this.mirror=e.mirror,o&&t===\"all\"&&this.initCanvasMutationObserver(r,i,n),o&&typeof t==\"number\"&&this.initCanvasFPSObserver(t,r,i,n,{dataURLOptions:l})}reset(){this.pendingCanvasMutations.clear(),this.resetObservers&&this.resetObservers()}freeze(){this.frozen=!0}unfreeze(){this.frozen=!1}lock(){this.locked=!0}unlock(){this.locked=!1}initCanvasFPSObserver(e,t,r,i,n){const o=Fi(t,r,i,!0),l=new Map,a=new of;a.onmessage=g=>{const{id:p}=g.data;if(l.set(p,!1),!(\"base64\"in g.data))return;const{base64:f,type:S,width:b,height:y}=g.data;this.mutationCb({id:p,type:_e[\"2D\"],commands:[{property:\"clearRect\",args:[0,0,b,y]},{property:\"drawImage\",args:[{rr_type:\"ImageBitmap\",args:[{rr_type:\"Blob\",data:[{rr_type:\"ArrayBuffer\",base64:f}],type:S}]},0,0]}]})};const u=1e3/e;let c=0,h;const d=()=>{const g=[];return t.document.querySelectorAll(\"canvas\").forEach(p=>{X(p,r,i,!0)||g.push(p)}),g},m=g=>{if(c&&g-c<u){h=requestAnimationFrame(m);return}c=g,d().forEach(async p=>{var f;const S=this.mirror.getId(p);if(l.get(S)||p.width===0||p.height===0)return;if(l.set(S,!0),[\"webgl\",\"webgl2\"].includes(p.__context)){const y=p.getContext(p.__context);((f=y==null?void 0:y.getContextAttributes())==null?void 0:f.preserveDrawingBuffer)===!1&&y.clear(y.COLOR_BUFFER_BIT)}const b=await createImageBitmap(p);a.postMessage({id:S,bitmap:b,width:p.width,height:p.height,dataURLOptions:n.dataURLOptions},[b])}),h=requestAnimationFrame(m)};h=requestAnimationFrame(m),this.resetObservers=()=>{o(),cancelAnimationFrame(h)}}initCanvasMutationObserver(e,t,r){this.startRAFTimestamping(),this.startPendingCanvasMutationFlusher();const i=Fi(e,t,r,!1),n=tf(this.processMutation.bind(this),e,t,r),o=sf(this.processMutation.bind(this),e,t,r);this.resetObservers=()=>{i(),n(),o()}}startPendingCanvasMutationFlusher(){requestAnimationFrame(()=>this.flushPendingCanvasMutations())}startRAFTimestamping(){const e=t=>{this.rafStamps.latestId=t,requestAnimationFrame(e)};requestAnimationFrame(e)}flushPendingCanvasMutations(){this.pendingCanvasMutations.forEach((e,t)=>{const r=this.mirror.getId(t);this.flushPendingCanvasMutationFor(t,r)}),requestAnimationFrame(()=>this.flushPendingCanvasMutations())}flushPendingCanvasMutationFor(e,t){if(this.frozen||this.locked)return;const r=this.pendingCanvasMutations.get(e);if(!r||t===-1)return;const i=r.map(o=>{const u=o,{type:l}=u;return xe(u,[\"type\"])}),{type:n}=r[0];this.mutationCb({id:t,type:n,commands:i}),this.pendingCanvasMutations.delete(e)}}class lf{constructor(e){w(this,\"trackedLinkElements\",new WeakSet),w(this,\"mutationCb\"),w(this,\"adoptedStyleSheetCb\"),w(this,\"styleMirror\",new Mh),this.mutationCb=e.mutationCb,this.adoptedStyleSheetCb=e.adoptedStyleSheetCb}attachLinkElement(e,t){\"_cssText\"in t.attributes&&this.mutationCb({adds:[],removes:[],texts:[],attributes:[{id:t.id,attributes:t.attributes}]}),this.trackLinkElement(e)}trackLinkElement(e){this.trackedLinkElements.has(e)||(this.trackedLinkElements.add(e),this.trackStylesheetInLinkElement(e))}adoptStyleSheets(e,t){if(e.length===0)return;const r={id:t,styleIds:[]},i=[];for(const n of e){let o;this.styleMirror.has(n)?o=this.styleMirror.getId(n):(o=this.styleMirror.add(n),i.push({styleId:o,rules:Array.from(n.rules||CSSRule,(l,a)=>({rule:Vi(l,n.href),index:a}))})),r.styleIds.push(o)}i.length>0&&(r.styles=i),this.adoptedStyleSheetCb(r)}reset(){this.styleMirror.reset(),this.trackedLinkElements=new WeakSet}trackStylesheetInLinkElement(e){}}class uf{constructor(){w(this,\"nodeMap\",new WeakMap),w(this,\"active\",!1)}inOtherBuffer(e,t){const r=this.nodeMap.get(e);return r&&Array.from(r).some(i=>i!==t)}add(e,t){this.active||(this.active=!0,requestAnimationFrame(()=>{this.nodeMap=new WeakMap,this.active=!1})),this.nodeMap.set(e,(this.nodeMap.get(e)||new Set).add(t))}destroy(){}}let W,zt,Er,er=!1;try{if(Array.from([1],s=>s*2)[0]!==2){const s=document.createElement(\"iframe\");document.body.appendChild(s),Array.from=((Gs=s.contentWindow)==null?void 0:Gs.Array.from)||Array.from,document.body.removeChild(s)}}catch(s){console.debug(\"Unable to override Array.from\",s)}const se=ua();function ut(s={}){const{emit:e,checkoutEveryNms:t,checkoutEveryNth:r,blockClass:i=\"rr-block\",blockSelector:n=null,ignoreClass:o=\"rr-ignore\",ignoreSelector:l=null,maskTextClass:a=\"rr-mask\",maskTextSelector:u=null,inlineStylesheet:c=!0,maskAllInputs:h,maskInputOptions:d,slimDOMOptions:m,maskInputFn:g,maskTextFn:p,hooks:f,packFn:S,sampling:b={},dataURLOptions:y={},mousemoveWait:C,recordDOM:N=!0,recordCanvas:D=!1,recordCrossOriginIframes:H=!1,recordAfter:_=s.recordAfter===\"DOMContentLoaded\"?s.recordAfter:\"load\",userTriggeredOnInput:G=!1,collectFonts:Y=!1,inlineImages:Q=!1,plugins:oe,keepIframeSrcFn:A=()=>!1,ignoreCSSAttributes:Ue=new Set([]),errorHandler:Be}=s;Lh(Be);const V=H?window.parent===window:!0;let q=!1;if(!V)try{window.parent.document&&(q=!1)}catch(M){q=!0}if(V&&!e)throw new Error(\"emit function is required\");if(!V&&!q)return()=>{};C!==void 0&&b.mousemove===void 0&&(b.mousemove=C),se.reset();const ye=h===!0?{color:!0,date:!0,\"datetime-local\":!0,email:!0,month:!0,number:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0,textarea:!0,select:!0,password:!0}:d!==void 0?d:{password:!0},ae=m===!0||m===\"all\"?{script:!0,comment:!0,headFavicon:!0,headWhitespace:!0,headMetaSocial:!0,headMetaRobots:!0,headMetaHttpEquiv:!0,headMetaVerification:!0,headMetaAuthorship:m===\"all\",headMetaDescKeywords:m===\"all\",headTitleMutations:m===\"all\"}:m||{};Ah();let Ts,fr=0;const _s=M=>{for(const re of oe||[])re.eventProcessor&&(M=re.eventProcessor(M));return S&&!q&&(M=S(M)),M};W=(M,re)=>{var B;const z=M;if(z.timestamp=Qt(),(B=be[0])!=null&&B.isFrozen()&&z.type!==R.FullSnapshot&&!(z.type===R.IncrementalSnapshot&&z.data.source===I.Mutation)&&be.forEach(le=>le.unfreeze()),V)e==null||e(_s(z),re);else if(q){const le={type:\"rrweb\",event:_s(z),origin:window.location.origin,isCheckout:re};window.parent.postMessage(le,\"*\")}if(z.type===R.FullSnapshot)Ts=z,fr=0;else if(z.type===R.IncrementalSnapshot){if(z.data.source===I.Mutation&&z.data.isAttachIframe)return;fr++;const le=r&&fr>=r,k=t&&z.timestamp-Ts.timestamp>t;(le||k)&&zt(!0)}};const ct=M=>{W({type:R.IncrementalSnapshot,data:x({source:I.Mutation},M)})},Fs=M=>W({type:R.IncrementalSnapshot,data:x({source:I.Scroll},M)}),Us=M=>W({type:R.IncrementalSnapshot,data:x({source:I.CanvasMutation},M)}),_o=M=>W({type:R.IncrementalSnapshot,data:x({source:I.AdoptedStyleSheet},M)}),we=new lf({mutationCb:ct,adoptedStyleSheetCb:_o}),Se=new Xh({mirror:se,mutationCb:ct,stylesheetManager:we,recordCrossOriginIframes:H,wrappedEmit:W});for(const M of oe||[])M.getMirror&&M.getMirror({nodeMirror:se,crossOriginIframeMirror:Se.crossOriginIframeMirror,crossOriginIframeStyleMirror:Se.crossOriginIframeStyleMirror});const pr=new uf;Er=new af({recordCanvas:D,mutationCb:Us,win:window,blockClass:i,blockSelector:n,mirror:se,sampling:b.canvas,dataURLOptions:y});const ht=new Kh({mutationCb:ct,scrollCb:Fs,bypassOptions:{blockClass:i,blockSelector:n,maskTextClass:a,maskTextSelector:u,inlineStylesheet:c,maskInputOptions:ye,dataURLOptions:y,maskTextFn:p,maskInputFn:g,recordCanvas:D,inlineImages:Q,sampling:b,slimDOMOptions:ae,iframeManager:Se,stylesheetManager:we,canvasManager:Er,keepIframeSrcFn:A,processedNodeManager:pr},mirror:se});zt=(M=!1)=>{if(!N)return;W({type:R.Meta,data:{href:window.location.href,width:Co(),height:bo()}},M),we.reset(),ht.init(),be.forEach(B=>B.lock());const re=Pa(document,{mirror:se,blockClass:i,blockSelector:n,maskTextClass:a,maskTextSelector:u,inlineStylesheet:c,maskAllInputs:ye,maskTextFn:p,maskInputFn:g,slimDOM:ae,dataURLOptions:y,recordCanvas:D,inlineImages:Q,onSerialize:B=>{xo(B,se)&&Se.addIframe(B),Oo(B,se)&&we.trackLinkElement(B),ls(B)&&ht.addShadowRoot(v.shadowRoot(B),document)},onIframeLoad:(B,z)=>{Se.attachIframe(B,z),ht.observeAttachShadow(B)},onStylesheetLoad:(B,z)=>{we.attachLinkElement(B,z)},keepIframeSrcFn:A});if(!re)return console.warn(\"Failed to snapshot the document\");W({type:R.FullSnapshot,data:{node:re,initialOffset:So(window)}},M),be.forEach(B=>B.unlock()),document.adoptedStyleSheets&&document.adoptedStyleSheets.length>0&&we.adoptStyleSheets(document.adoptedStyleSheets,se.getId(document))};try{const M=[],re=z=>{var le;return O(Jh)({mutationCb:ct,mousemoveCb:(k,dr)=>W({type:R.IncrementalSnapshot,data:{source:dr,positions:k}}),mouseInteractionCb:k=>W({type:R.IncrementalSnapshot,data:x({source:I.MouseInteraction},k)}),scrollCb:Fs,viewportResizeCb:k=>W({type:R.IncrementalSnapshot,data:x({source:I.ViewportResize},k)}),inputCb:k=>W({type:R.IncrementalSnapshot,data:x({source:I.Input},k)}),mediaInteractionCb:k=>W({type:R.IncrementalSnapshot,data:x({source:I.MediaInteraction},k)}),styleSheetRuleCb:k=>W({type:R.IncrementalSnapshot,data:x({source:I.StyleSheetRule},k)}),styleDeclarationCb:k=>W({type:R.IncrementalSnapshot,data:x({source:I.StyleDeclaration},k)}),canvasMutationCb:Us,fontCb:k=>W({type:R.IncrementalSnapshot,data:x({source:I.Font},k)}),selectionCb:k=>{W({type:R.IncrementalSnapshot,data:x({source:I.Selection},k)})},customElementCb:k=>{W({type:R.IncrementalSnapshot,data:x({source:I.CustomElement},k)})},blockClass:i,ignoreClass:o,ignoreSelector:l,maskTextClass:a,maskTextSelector:u,maskInputOptions:ye,inlineStylesheet:c,sampling:b,recordDOM:N,recordCanvas:D,inlineImages:Q,userTriggeredOnInput:G,collectFonts:Y,doc:z,maskInputFn:g,maskTextFn:p,keepIframeSrcFn:A,blockSelector:n,slimDOMOptions:ae,dataURLOptions:y,mirror:se,iframeManager:Se,stylesheetManager:we,shadowDomManager:ht,processedNodeManager:pr,canvasManager:Er,ignoreCSSAttributes:Ue,plugins:((le=oe==null?void 0:oe.filter(k=>k.observer))==null?void 0:le.map(k=>({observer:k.observer,options:k.options,callback:dr=>W({type:R.Plugin,data:{plugin:k.name,payload:dr}})})))||[]},f)};Se.addLoadListener(z=>{try{M.push(re(z.contentDocument))}catch(le){console.warn(le)}});const B=()=>{zt(),M.push(re(document)),er=!0};return document.readyState===\"interactive\"||document.readyState===\"complete\"?B():(M.push(J(\"DOMContentLoaded\",()=>{W({type:R.DomContentLoaded,data:{}}),_===\"DOMContentLoaded\"&&B()})),M.push(J(\"load\",()=>{W({type:R.Load,data:{}}),_===\"load\"&&B()},window))),()=>{M.forEach(z=>z()),pr.destroy(),er=!1,Th()}}catch(M){console.warn(M)}}ut.addCustomEvent=(s,e)=>{if(!er)throw new Error(\"please add custom event after start recording\");W({type:R.Custom,data:{tag:s,payload:e}})};ut.freezePage=()=>{be.forEach(s=>s.freeze())};ut.takeFullSnapshot=s=>{if(!er)throw new Error(\"please take full snapshot after start recording\");zt(s)};ut.mirror=se;var zi;(function(s){s[s.NotStarted=0]=\"NotStarted\",s[s.Running=1]=\"Running\",s[s.Stopped=2]=\"Stopped\"})(zi||(zi={}));exports.record=ut;\nif (typeof module.exports == \"object\" && typeof exports == \"object\") {\n var __cp = (to, from, except, desc) => {\n if ((from && typeof from === \"object\") || typeof from === \"function\") {\n for (let key of Object.getOwnPropertyNames(from)) {\n if (!Object.prototype.hasOwnProperty.call(to, key) && key !== except)\n Object.defineProperty(to, key, {\n get: () => from[key],\n enumerable: !(desc = Object.getOwnPropertyDescriptor(from, key)) || desc.enumerable,\n });\n }\n }\n return to;\n };\n module.exports = __cp(module.exports, exports);\n}\nreturn module.exports;\n}))\n//# sourceMappingURL=record.umd.min.cjs.map");
|
|
3355
3356
|
return true;
|
|
3356
3357
|
})) {
|
|
3357
|
-
logger$
|
|
3358
|
+
logger$24.error("Failed to load session recorder");
|
|
3358
3359
|
return;
|
|
3359
3360
|
}
|
|
3360
3361
|
try {
|
|
3361
3362
|
await castedPage.evaluate(injectScript, sessionRecordingOptions);
|
|
3362
3363
|
} catch (error) {
|
|
3363
|
-
logger$
|
|
3364
|
+
logger$24.debug("Failed to inject session recorder: " + require_utils.errorMessage(error));
|
|
3364
3365
|
}
|
|
3365
3366
|
}
|
|
3366
3367
|
};
|
|
3367
3368
|
const cleanStagehandLLMClient = (llmClient) => Object.fromEntries(Object.entries(llmClient).filter(([key]) => key !== "client").map(([key, value]) => key === "clientOptions" ? [key, Object.fromEntries(Object.entries(value).filter(([key]) => key !== "apiKey"))] : [key, value]));
|
|
3368
|
-
const
|
|
3369
|
+
const zodKind = (schema) => {
|
|
3369
3370
|
const def = schema?._def;
|
|
3370
|
-
if (
|
|
3371
|
+
if (typeof def?.typeName === "string") return def.typeName.replace(/^Zod/, "").toLowerCase();
|
|
3372
|
+
return typeof def?.type === "string" ? def.type : void 0;
|
|
3373
|
+
};
|
|
3374
|
+
const zodToJsonSchemaCompat = (schema) => schema?._zod ? zod.z.toJSONSchema(schema, { unrepresentable: "any" }) : (0, zod_to_json_schema.zodToJsonSchema)(schema);
|
|
3375
|
+
const prettyPrintZodSchema = (schema, indent = 2) => {
|
|
3376
|
+
if (zodKind(schema) !== "object") throw new Error("Not a Zod object schema");
|
|
3371
3377
|
const indentString = " ".repeat(indent);
|
|
3372
3378
|
const shape = schema.shape;
|
|
3373
3379
|
return `z.object({\n${Object.entries(shape).map(([key, value]) => {
|
|
3374
3380
|
const getBaseType = (val) => {
|
|
3375
3381
|
const valDef = val?._def;
|
|
3376
3382
|
if (!valDef) return "z.unknown()";
|
|
3377
|
-
const typeName =
|
|
3378
|
-
if (typeName === "
|
|
3379
|
-
if (typeName === "
|
|
3380
|
-
if (typeName === "
|
|
3381
|
-
if (typeName === "
|
|
3382
|
-
const elementType = valDef.type;
|
|
3383
|
-
if (elementType
|
|
3383
|
+
const typeName = zodKind(val);
|
|
3384
|
+
if (typeName === "string") return "z.string()";
|
|
3385
|
+
if (typeName === "number") return "z.number()";
|
|
3386
|
+
if (typeName === "boolean") return "z.boolean()";
|
|
3387
|
+
if (typeName === "array") {
|
|
3388
|
+
const elementType = valDef.element ?? valDef.type;
|
|
3389
|
+
if (zodKind(elementType) === "object") return `z.array(${prettyPrintZodSchema(elementType)})`;
|
|
3384
3390
|
else return `z.array(${getBaseType(elementType)})`;
|
|
3385
3391
|
}
|
|
3386
|
-
if (typeName === "
|
|
3387
|
-
if (typeName === "
|
|
3388
|
-
const enumValues = valDef.values;
|
|
3392
|
+
if (typeName === "object") return prettyPrintZodSchema(val);
|
|
3393
|
+
if (typeName === "enum") {
|
|
3394
|
+
const enumValues = valDef.entries ? Object.values(valDef.entries) : valDef.values;
|
|
3389
3395
|
if (Array.isArray(enumValues)) return `z.enum([${enumValues.map((v) => `'${v}'`).join(", ")}])`;
|
|
3390
3396
|
return "z.enum([...])";
|
|
3391
3397
|
}
|
|
3392
|
-
if (typeName === "
|
|
3393
|
-
const literalValue = valDef.value;
|
|
3398
|
+
if (typeName === "literal") {
|
|
3399
|
+
const literalValue = Array.isArray(valDef.values) ? valDef.values[0] : valDef.value;
|
|
3394
3400
|
if (typeof literalValue === "string") return `z.literal('${literalValue}')`;
|
|
3395
3401
|
return `z.literal(${literalValue})`;
|
|
3396
3402
|
}
|
|
3397
|
-
if (typeName === "
|
|
3403
|
+
if (typeName === "union") {
|
|
3398
3404
|
const options = valDef.options;
|
|
3399
3405
|
if (Array.isArray(options)) return `z.union([${options.map(getBaseType).join(", ")}])`;
|
|
3400
3406
|
return "z.union([...])";
|
|
3401
3407
|
}
|
|
3402
|
-
if (typeName === "
|
|
3403
|
-
if (typeName === "
|
|
3408
|
+
if (typeName === "date") return "z.date()";
|
|
3409
|
+
if (typeName === "record") {
|
|
3404
3410
|
const keyType = valDef.keyType;
|
|
3405
3411
|
const valueType = valDef.valueType;
|
|
3406
3412
|
let keyTypeStr = "z.string()";
|
|
3407
|
-
if (keyType && keyType
|
|
3413
|
+
if (keyType && zodKind(keyType) !== "string") keyTypeStr = getBaseType(keyType);
|
|
3408
3414
|
let valueTypeStr = "z.any()";
|
|
3409
3415
|
if (valueType) valueTypeStr = getBaseType(valueType);
|
|
3410
3416
|
return `z.record(${keyTypeStr}, ${valueTypeStr})`;
|
|
3411
3417
|
}
|
|
3412
|
-
if (typeName === "
|
|
3418
|
+
if (typeName === "map") {
|
|
3413
3419
|
const keyType = valDef.keyType;
|
|
3414
3420
|
const valueType = valDef.valueType;
|
|
3415
3421
|
let keyTypeStr = "z.any()";
|
|
@@ -3418,26 +3424,26 @@ const prettyPrintZodSchema = (schema, indent = 2) => {
|
|
|
3418
3424
|
if (valueType) valueTypeStr = getBaseType(valueType);
|
|
3419
3425
|
return `z.map(${keyTypeStr}, ${valueTypeStr})`;
|
|
3420
3426
|
}
|
|
3421
|
-
if (typeName === "
|
|
3427
|
+
if (typeName === "tuple") {
|
|
3422
3428
|
const items = valDef.items;
|
|
3423
3429
|
if (Array.isArray(items)) return `z.tuple([${items.map((item) => getBaseType(item)).join(", ")}])`;
|
|
3424
3430
|
return "z.tuple([])";
|
|
3425
3431
|
}
|
|
3426
|
-
if (typeName === "
|
|
3427
|
-
if (typeName === "
|
|
3432
|
+
if (typeName === "nullable") return `${getBaseType(valDef.innerType)}.nullable()`;
|
|
3433
|
+
if (typeName === "optional") return `${getBaseType(valDef.innerType)}.optional()`;
|
|
3428
3434
|
return "z.any()";
|
|
3429
3435
|
};
|
|
3430
3436
|
const applyModifiers = (val, baseType) => {
|
|
3431
3437
|
let result = baseType;
|
|
3432
3438
|
let currentVal = val;
|
|
3433
|
-
if (currentVal
|
|
3439
|
+
if (zodKind(currentVal) === "nullable") {
|
|
3434
3440
|
result = `${getBaseType(currentVal._def.innerType)}.nullable()`;
|
|
3435
3441
|
currentVal = currentVal._def.innerType;
|
|
3436
3442
|
}
|
|
3437
|
-
if (currentVal
|
|
3443
|
+
if (zodKind(currentVal) === "optional") {
|
|
3438
3444
|
if (!result.endsWith(".nullable()")) result = `${getBaseType(currentVal._def.innerType)}.optional()`;
|
|
3439
3445
|
}
|
|
3440
|
-
const description = val?.
|
|
3446
|
+
const description = val?.description;
|
|
3441
3447
|
if (typeof description === "string") result += `.describe('${description.replace(/'/g, "\\'")}')`;
|
|
3442
3448
|
return result;
|
|
3443
3449
|
};
|
|
@@ -3626,7 +3632,7 @@ async function sendEvents(chunk, client, chunkBuffers, sessionId, traceId) {
|
|
|
3626
3632
|
try {
|
|
3627
3633
|
const { batchId, chunkIndex, totalChunks, data } = chunk;
|
|
3628
3634
|
if (!sessionId || !traceId) {
|
|
3629
|
-
logger$
|
|
3635
|
+
logger$24.debug("Missing sessionId or traceId in chunk");
|
|
3630
3636
|
return;
|
|
3631
3637
|
}
|
|
3632
3638
|
if (!chunkBuffers.has(batchId)) chunkBuffers.set(batchId, {
|
|
@@ -3645,7 +3651,7 @@ async function sendEvents(chunk, client, chunkBuffers, sessionId, traceId) {
|
|
|
3645
3651
|
traceId,
|
|
3646
3652
|
events
|
|
3647
3653
|
}).catch((error) => {
|
|
3648
|
-
logger$
|
|
3654
|
+
logger$24.debug("Failed to send events: " + require_utils.errorMessage(error));
|
|
3649
3655
|
});
|
|
3650
3656
|
chunkBuffers.delete(batchId);
|
|
3651
3657
|
}
|
|
@@ -3653,15 +3659,15 @@ async function sendEvents(chunk, client, chunkBuffers, sessionId, traceId) {
|
|
|
3653
3659
|
const toDelete = [];
|
|
3654
3660
|
for (const [bid, buffer] of chunkBuffers.entries()) if (currentTime - buffer.timestamp > OLD_BUFFER_TIMEOUT) toDelete.push(bid);
|
|
3655
3661
|
for (const bid of toDelete) {
|
|
3656
|
-
logger$
|
|
3662
|
+
logger$24.debug(`Cleaning up incomplete chunk buffer: ${bid}`);
|
|
3657
3663
|
chunkBuffers.delete(bid);
|
|
3658
3664
|
}
|
|
3659
3665
|
} catch (error) {
|
|
3660
|
-
logger$
|
|
3666
|
+
logger$24.debug("Could not send events: " + require_utils.errorMessage(error));
|
|
3661
3667
|
}
|
|
3662
3668
|
}
|
|
3663
3669
|
// src/browser/playwright.ts
|
|
3664
|
-
const logger$
|
|
3670
|
+
const logger$23 = require_utils.initializeLogger();
|
|
3665
3671
|
const PLAYWRIGHT = "playwright";
|
|
3666
3672
|
const observe$3 = instrumentedObserve(PLAYWRIGHT);
|
|
3667
3673
|
var PlaywrightInstrumentation = class extends _opentelemetry_instrumentation.InstrumentationBase {
|
|
@@ -3772,7 +3778,7 @@ var PlaywrightInstrumentation = class extends _opentelemetry_instrumentation.Ins
|
|
|
3772
3778
|
try {
|
|
3773
3779
|
await injectSessionRecorder(page, this._sessionRecordingOptions);
|
|
3774
3780
|
} catch (error) {
|
|
3775
|
-
logger$
|
|
3781
|
+
logger$23.error("Error in onLoad handler: " + require_utils.errorMessage(error));
|
|
3776
3782
|
}
|
|
3777
3783
|
});
|
|
3778
3784
|
const chunkBuffers = /* @__PURE__ */ new Map();
|
|
@@ -3782,12 +3788,13 @@ var PlaywrightInstrumentation = class extends _opentelemetry_instrumentation.Ins
|
|
|
3782
3788
|
await sendEvents(chunk, this._client, chunkBuffers, sessionId, traceId);
|
|
3783
3789
|
});
|
|
3784
3790
|
} catch (error) {
|
|
3785
|
-
logger$
|
|
3791
|
+
logger$23.debug("Could not expose function lmnrSendEvents: " + require_utils.errorMessage(error));
|
|
3786
3792
|
}
|
|
3787
3793
|
}
|
|
3788
3794
|
};
|
|
3789
3795
|
// src/browser/stagehand/shared-llm-wrapper.ts
|
|
3790
3796
|
const laminarObserve$2 = instrumentedObserve(STAGEHAND_PACKAGE);
|
|
3797
|
+
const logger$22 = require_utils.initializeLogger();
|
|
3791
3798
|
/**
|
|
3792
3799
|
* Creates a wrapper function for LLM client's createChatCompletion method
|
|
3793
3800
|
* that adds OpenTelemetry tracing with detailed span attributes.
|
|
@@ -3833,9 +3840,11 @@ const createLLMClientCreateChatCompletionWrapper = (globalLLMClientOptions) => (
|
|
|
3833
3840
|
[`llm.request.functions.${index}.parameters`]: JSON.stringify(tool.parameters)
|
|
3834
3841
|
});
|
|
3835
3842
|
});
|
|
3836
|
-
if (innerOptions.response_model?.schema) {
|
|
3837
|
-
const schema = (
|
|
3843
|
+
if (innerOptions.response_model?.schema) try {
|
|
3844
|
+
const schema = zodToJsonSchemaCompat(innerOptions.response_model.schema);
|
|
3838
3845
|
if (schema) span.setAttributes({ [`gen_ai.request.structured_output_schema`]: JSON.stringify(schema) });
|
|
3846
|
+
} catch (e) {
|
|
3847
|
+
logger$22.debug(`Failed to convert response JSON schema to span attribute: ${require_utils.errorMessage(e)}`);
|
|
3839
3848
|
}
|
|
3840
3849
|
const result = await original.bind(this).apply(this, args);
|
|
3841
3850
|
span.setAttributes({
|
|
@@ -6879,6 +6888,17 @@ const sanitizeMetadata = (metadata) => {
|
|
|
6879
6888
|
if (!isRecord(metadata)) return {};
|
|
6880
6889
|
return Object.fromEntries(Object.entries(metadata).map(([key, value]) => [key, metadataValue(value)]).filter(([, value]) => value !== void 0));
|
|
6881
6890
|
};
|
|
6891
|
+
/**
|
|
6892
|
+
* Drops a chain payload's `messages` key. LangGraph passes the whole graph
|
|
6893
|
+
* state, conversation included, as every node's input and output. The
|
|
6894
|
+
* messages are already on the LLM spans, so repeating them on each chain span
|
|
6895
|
+
* only bloats the trace.
|
|
6896
|
+
*/
|
|
6897
|
+
const withoutMessages = (payload) => {
|
|
6898
|
+
if (!isRecord(payload) || !("messages" in payload)) return payload;
|
|
6899
|
+
const { messages: _messages, ...rest } = payload;
|
|
6900
|
+
return rest;
|
|
6901
|
+
};
|
|
6882
6902
|
const retrieverOutput = (documents) => {
|
|
6883
6903
|
if (!Array.isArray(documents)) return [];
|
|
6884
6904
|
return documents.map((document) => {
|
|
@@ -7023,13 +7043,13 @@ var LaminarCallbackHandler = class {
|
|
|
7023
7043
|
tags,
|
|
7024
7044
|
metadata
|
|
7025
7045
|
});
|
|
7026
|
-
if (span && this.traceContent) span.setInput(require_utils.toJson(inputs));
|
|
7046
|
+
if (span && this.traceContent) span.setInput(require_utils.toJson(withoutMessages(inputs)));
|
|
7027
7047
|
});
|
|
7028
7048
|
}
|
|
7029
7049
|
handleChainEnd(outputs, runId) {
|
|
7030
7050
|
dontThrow(() => {
|
|
7031
7051
|
try {
|
|
7032
|
-
this.setOutput(runId, outputs);
|
|
7052
|
+
this.setOutput(runId, withoutMessages(outputs));
|
|
7033
7053
|
} finally {
|
|
7034
7054
|
this.endRun(runId);
|
|
7035
7055
|
}
|