pi-mega-compact 0.20.13 → 0.20.14
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/config/vector-cortex-early.js +89 -0
- package/dist/config/vector-cortex-flag.js +25 -0
- package/dist/config/vector-cortex.js +23 -83
- package/dist/config.js +1 -1
- package/dist/extensions/dashboard-server/api-contracts/vector-cortex-economics.js +20 -0
- package/dist/extensions/dashboard-server/route-dispatch.js +6 -0
- package/dist/extensions/dashboard-server/routes-rag-settings-vector-cortex.js +1 -0
- package/dist/extensions/dashboard-server/routes-vector-cortex-economics.js +59 -0
- package/dist/src/config/vector-cortex-early.js +89 -0
- package/dist/src/config/vector-cortex-flag.js +25 -0
- package/dist/src/config/vector-cortex.js +23 -83
- package/dist/src/config.js +1 -1
- package/dist/src/vector-cortex/cache/_economics-fixture.js +41 -0
- package/dist/src/vector-cortex/cache/compiler.js +201 -0
- package/dist/src/vector-cortex/cache/economics-emit.js +85 -0
- package/dist/src/vector-cortex/migrations/request-hash-v2.js +161 -0
- package/dist/src/vector-cortex/provider/economics-ids.js +29 -0
- package/dist/src/vector-cortex/provider/economics.js +176 -0
- package/dist/src/vector-cortex/provider/experiments.js +166 -0
- package/dist/vector-cortex/cache/_economics-fixture.js +41 -0
- package/dist/vector-cortex/cache/compiler.js +201 -0
- package/dist/vector-cortex/cache/economics-emit.js +85 -0
- package/dist/vector-cortex/migrations/request-hash-v2.js +161 -0
- package/dist/vector-cortex/provider/economics-ids.js +29 -0
- package/dist/vector-cortex/provider/economics.js +176 -0
- package/dist/vector-cortex/provider/experiments.js +166 -0
- package/extensions/dashboard-client/dist/assets/{AreaChart-CB-U7ViX.js → AreaChart-VUd_iOtO.js} +2 -2
- package/extensions/dashboard-client/dist/assets/{AreaChart-CB-U7ViX.js.map → AreaChart-VUd_iOtO.js.map} +1 -1
- package/extensions/dashboard-client/dist/assets/{BarChart-DnLw0fxA.js → BarChart-BoqeJ5mM.js} +2 -2
- package/extensions/dashboard-client/dist/assets/{BarChart-DnLw0fxA.js.map → BarChart-BoqeJ5mM.js.map} +1 -1
- package/extensions/dashboard-client/dist/assets/{CacheTab-CjyTVDiP.js → CacheTab-1ON7meDK.js} +2 -2
- package/extensions/dashboard-client/dist/assets/{CacheTab-CjyTVDiP.js.map → CacheTab-1ON7meDK.js.map} +1 -1
- package/extensions/dashboard-client/dist/assets/{EventsTab-Bz3QEWam.js → EventsTab-Dr9eqt1k.js} +2 -2
- package/extensions/dashboard-client/dist/assets/{EventsTab-Bz3QEWam.js.map → EventsTab-Dr9eqt1k.js.map} +1 -1
- package/extensions/dashboard-client/dist/assets/{HealthTab-CUylEvEY.js → HealthTab-Ciaigd4i.js} +2 -2
- package/extensions/dashboard-client/dist/assets/{HealthTab-CUylEvEY.js.map → HealthTab-Ciaigd4i.js.map} +1 -1
- package/extensions/dashboard-client/dist/assets/{MaintenanceTab-Cz_hj_E7.js → MaintenanceTab-DjZRr3Lf.js} +2 -2
- package/extensions/dashboard-client/dist/assets/{MaintenanceTab-Cz_hj_E7.js.map → MaintenanceTab-DjZRr3Lf.js.map} +1 -1
- package/extensions/dashboard-client/dist/assets/{MemoryMapTab-Dh8brIR1.js → MemoryMapTab-BpZXHA7j.js} +2 -2
- package/extensions/dashboard-client/dist/assets/{MemoryMapTab-Dh8brIR1.js.map → MemoryMapTab-BpZXHA7j.js.map} +1 -1
- package/extensions/dashboard-client/dist/assets/{MetricsTab-CkqSXc6e.js → MetricsTab-QemocY5k.js} +2 -2
- package/extensions/dashboard-client/dist/assets/{MetricsTab-CkqSXc6e.js.map → MetricsTab-QemocY5k.js.map} +1 -1
- package/extensions/dashboard-client/dist/assets/{OverviewTab-DGbJcx6d.js → OverviewTab-VtC1F-mO.js} +2 -2
- package/extensions/dashboard-client/dist/assets/{OverviewTab-DGbJcx6d.js.map → OverviewTab-VtC1F-mO.js.map} +1 -1
- package/extensions/dashboard-client/dist/assets/{ReposTab-BawS3nfF.js → ReposTab-CJD1cBxp.js} +2 -2
- package/extensions/dashboard-client/dist/assets/{ReposTab-BawS3nfF.js.map → ReposTab-CJD1cBxp.js.map} +1 -1
- package/extensions/dashboard-client/dist/assets/{SessionsTab-CUVnmYks.js → SessionsTab-Cj0erPR4.js} +2 -2
- package/extensions/dashboard-client/dist/assets/{SessionsTab-CUVnmYks.js.map → SessionsTab-Cj0erPR4.js.map} +1 -1
- package/extensions/dashboard-client/dist/assets/{SetupTab-cxTuyZNk.js → SetupTab-AOVROZ4G.js} +2 -2
- package/extensions/dashboard-client/dist/assets/{SetupTab-cxTuyZNk.js.map → SetupTab-AOVROZ4G.js.map} +1 -1
- package/extensions/dashboard-client/dist/assets/{TimeSavedCard-Cv5SENkE.js → TimeSavedCard-ZliVn8DH.js} +2 -2
- package/extensions/dashboard-client/dist/assets/{TimeSavedCard-Cv5SENkE.js.map → TimeSavedCard-ZliVn8DH.js.map} +1 -1
- package/extensions/dashboard-client/dist/assets/{TurnsTab-yl6BBG_F.js → TurnsTab-DsoTWeIh.js} +2 -2
- package/extensions/dashboard-client/dist/assets/{TurnsTab-yl6BBG_F.js.map → TurnsTab-DsoTWeIh.js.map} +1 -1
- package/extensions/dashboard-client/dist/assets/VectorCortexTab-BBa7rp6C.js +2 -0
- package/extensions/dashboard-client/dist/assets/VectorCortexTab-BBa7rp6C.js.map +1 -0
- package/extensions/dashboard-client/dist/assets/{WikiTab-DKv-0xCQ.js → WikiTab-CK8fcW1l.js} +2 -2
- package/extensions/dashboard-client/dist/assets/{WikiTab-DKv-0xCQ.js.map → WikiTab-CK8fcW1l.js.map} +1 -1
- package/extensions/dashboard-client/dist/assets/{button-CVPrO4UU.js → button-DdPcvex1.js} +2 -2
- package/extensions/dashboard-client/dist/assets/{button-CVPrO4UU.js.map → button-DdPcvex1.js.map} +1 -1
- package/extensions/dashboard-client/dist/assets/{card-BFLnQJEo.js → card-DXFuZph_.js} +2 -2
- package/extensions/dashboard-client/dist/assets/{card-BFLnQJEo.js.map → card-DXFuZph_.js.map} +1 -1
- package/extensions/dashboard-client/dist/assets/{generateCategoricalChart-B-IUoLd1.js → generateCategoricalChart-BagDVGWn.js} +2 -2
- package/extensions/dashboard-client/dist/assets/{generateCategoricalChart-B-IUoLd1.js.map → generateCategoricalChart-BagDVGWn.js.map} +1 -1
- package/extensions/dashboard-client/dist/assets/{index-Do749WlW.js → index-DVdDtRY4.js} +3 -3
- package/extensions/dashboard-client/dist/assets/{index-Do749WlW.js.map → index-DVdDtRY4.js.map} +1 -1
- package/extensions/dashboard-client/dist/assets/{switch-3uFnZmtq.js → switch-CtdtGyUR.js} +2 -2
- package/extensions/dashboard-client/dist/assets/{switch-3uFnZmtq.js.map → switch-CtdtGyUR.js.map} +1 -1
- package/extensions/dashboard-client/dist/assets/{toggle-C1rYLeXe.js → toggle-Cvvwlbye.js} +2 -2
- package/extensions/dashboard-client/dist/assets/{toggle-C1rYLeXe.js.map → toggle-Cvvwlbye.js.map} +1 -1
- package/extensions/dashboard-client/dist/assets/{useSSE-D1qzLzgR.js → useSSE-DvlceHjV.js} +2 -2
- package/extensions/dashboard-client/dist/assets/{useSSE-D1qzLzgR.js.map → useSSE-DvlceHjV.js.map} +1 -1
- package/extensions/dashboard-client/dist/index.html +1 -1
- package/extensions/dashboard-client/src/api/vector-cortex.ts +9 -0
- package/extensions/dashboard-client/src/tabs/VectorCortexEconomicsCard.tsx +41 -0
- package/extensions/dashboard-client/src/tabs/VectorCortexTab.tsx +8 -0
- package/extensions/dashboard-client/src/types/vector-cortex.ts +14 -0
- package/extensions/dashboard-server/api-contracts/vector-cortex-economics.ts +47 -0
- package/extensions/dashboard-server/route-dispatch.ts +5 -0
- package/extensions/dashboard-server/routes-rag-settings-vector-cortex.ts +6 -0
- package/extensions/dashboard-server/routes-vector-cortex-economics.ts +68 -0
- package/package.json +1 -1
- package/src/config/vector-cortex-early.ts +99 -0
- package/src/config/vector-cortex-flag.ts +24 -0
- package/src/config/vector-cortex.ts +34 -89
- package/src/config.ts +1 -0
- package/src/vector-cortex/cache/_economics-fixture.ts +128 -0
- package/src/vector-cortex/cache/compiler.ts +280 -0
- package/src/vector-cortex/cache/economics-emit.ts +116 -0
- package/src/vector-cortex/migrations/request-hash-v2.ts +228 -0
- package/src/vector-cortex/provider/economics-ids.ts +38 -0
- package/src/vector-cortex/provider/economics.ts +289 -0
- package/src/vector-cortex/provider/experiments.ts +248 -0
- package/extensions/dashboard-client/dist/assets/VectorCortexTab-94fqVjat.js +0 -2
- package/extensions/dashboard-client/dist/assets/VectorCortexTab-94fqVjat.js.map +0 -1
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* vector-cortex/provider/economics.ts — VC7B cache economics (ProviderProfileV1
|
|
3
|
+
* extension).
|
|
4
|
+
*
|
|
5
|
+
* VC7A proved a render can be FROZEN and reused. VC7B answers the question that
|
|
6
|
+
* immediately follows: is reusing it actually WORTH IT? Provider prompt caching
|
|
7
|
+
* is not free — a cache WRITE typically costs MORE than an uncached token, and a
|
|
8
|
+
* cache READ costs less. So a cache is profitable only when a written prefix is
|
|
9
|
+
* read back enough times, before its TTL expires, to repay the write premium.
|
|
10
|
+
* This file is that arithmetic and nothing else.
|
|
11
|
+
*
|
|
12
|
+
* THE NET-SAVINGS MODEL. For a prefix of `cachedTokens` tokens:
|
|
13
|
+
*
|
|
14
|
+
* baseline (no cache) = cachedTokens * basePrice * (writes + hits)
|
|
15
|
+
* actual (cached) = cachedTokens * (writePrice * writes + readPrice * hits)
|
|
16
|
+
* netSavings = baseline - actual
|
|
17
|
+
*
|
|
18
|
+
* A NEGATIVE `netSavings` is a real, expected, and important outcome: it means
|
|
19
|
+
* the cache LOST money (a prefix written once and never re-read always does, by
|
|
20
|
+
* exactly the write premium). We report it rather than clamping it at zero,
|
|
21
|
+
* because a floor at zero would make every rollout look free and would hide the
|
|
22
|
+
* single failure mode this sprint exists to detect.
|
|
23
|
+
*
|
|
24
|
+
* EXACT ARITHMETIC, NO FLOATS IN THE MONEY PATH. Prices are integer
|
|
25
|
+
* MICRO-UNITS per token (1e-6 of the provider's currency unit), never floating
|
|
26
|
+
* point. `0.1 + 0.2 !== 0.3` is not an acceptable property for a cost ledger, and
|
|
27
|
+
* accumulating float error across millions of tokens produces aggregates that
|
|
28
|
+
* silently disagree with the provider's own bill. All money is integer; only the
|
|
29
|
+
* derived RATIO is a float, and it is finite-guarded.
|
|
30
|
+
*
|
|
31
|
+
* EVERY EXCLUSION NEEDS A FIXTURE (the sprint's headline safety rule). A provider
|
|
32
|
+
* profile may declare that some request field does not affect cache identity —
|
|
33
|
+
* but an UNPROVEN exclusion is how you get silent cache poisoning: the renderer
|
|
34
|
+
* folds a field the provider actually keys on, two different requests collapse to
|
|
35
|
+
* one cache entry, and one conversation is served another's prefix. So an
|
|
36
|
+
* exclusion without a `fixtureId` (or with a blank one) is REJECTED here —
|
|
37
|
+
* `ECON_EXCLUSION_UNPROVEN` — rather than trusted. There is no override.
|
|
38
|
+
*
|
|
39
|
+
* ESTIMATE VS MEASURED. Every result is labeled. Only telemetry from a
|
|
40
|
+
* RANDOMIZED live assignment may be called `measured` and fed into a causal
|
|
41
|
+
* interval; shadow or non-randomized numbers are `estimate` and are excluded
|
|
42
|
+
* from causal aggregates (see `experiments.ts`). Mixing the two would let a
|
|
43
|
+
* self-selected population masquerade as a controlled experiment.
|
|
44
|
+
*
|
|
45
|
+
* PURE. No clock, no storage, no console, no network (PREVENT-PI-004 /
|
|
46
|
+
* PREVENT-011). Runs identically with `MEGACOMPACT_VC7B` on or off — the flag
|
|
47
|
+
* gates only the reporter/dashboard seam in `../cache/economics-emit.ts`.
|
|
48
|
+
*/
|
|
49
|
+
/** A non-negative safe integer — the only shape money and counts may take. */
|
|
50
|
+
function isCount(n) {
|
|
51
|
+
return Number.isSafeInteger(n) && n >= 0;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Validate a profile's economics, enforcing the exclusion-proof rule.
|
|
55
|
+
*
|
|
56
|
+
* An exclusion claims "this field cannot affect provider cache identity". That
|
|
57
|
+
* claim is only as good as the fixture that proves it, so a profile carrying
|
|
58
|
+
* exclusions MUST name a `exclusionFixtureId`, and every individual exclusion
|
|
59
|
+
* must carry its own `fixtureId` too (VC5B already models that field; VC7B makes
|
|
60
|
+
* a blank one fatal instead of decorative). Returns deduplicated codes in a
|
|
61
|
+
* deterministic order.
|
|
62
|
+
*/
|
|
63
|
+
export function validateEconomics(econ, exclusions) {
|
|
64
|
+
const codes = new Set();
|
|
65
|
+
for (const n of [econ.basePrice, econ.readPrice, econ.writePrice, econ.ttlMs, econ.minPrefix]) {
|
|
66
|
+
if (!isCount(n))
|
|
67
|
+
codes.add("ECON_PRICE_INVALID");
|
|
68
|
+
}
|
|
69
|
+
// The headline rule: exclusions without a proving fixture are never trusted.
|
|
70
|
+
if (exclusions.length > 0) {
|
|
71
|
+
const id = econ.exclusionFixtureId;
|
|
72
|
+
if (id === null || id.trim() === "")
|
|
73
|
+
codes.add("ECON_EXCLUSION_UNPROVEN");
|
|
74
|
+
for (const ex of exclusions) {
|
|
75
|
+
if (ex.fixtureId.trim() === "")
|
|
76
|
+
codes.add("ECON_EXCLUSION_UNPROVEN");
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
const order = ["ECON_EXCLUSION_UNPROVEN", "ECON_PRICE_INVALID"];
|
|
80
|
+
return order.filter((c) => codes.has(c));
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Validate a profile + its economics together. Convenience over
|
|
84
|
+
* `validateEconomics` for callers holding a whole `ProviderProfileV1`: the
|
|
85
|
+
* exclusion list is read from the profile itself, so the two can never disagree.
|
|
86
|
+
*/
|
|
87
|
+
export function validateProfileEconomics(profile, econ) {
|
|
88
|
+
return validateEconomics(econ, profile.excludedJsonPointers);
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Hits required for ONE write to break even.
|
|
92
|
+
*
|
|
93
|
+
* One write costs `(writePrice - basePrice)` extra per token; each subsequent
|
|
94
|
+
* hit saves `(basePrice - readPrice)` per token. So break-even is the ceiling of
|
|
95
|
+
* premium/discount. Returns `null` when the cache can NEVER pay for itself
|
|
96
|
+
* (a read that costs at least as much as an uncached token) — reporting a huge
|
|
97
|
+
* number there would imply "just get more hits", which is false.
|
|
98
|
+
* Returns 0 when writing is already free or cheaper than not caching.
|
|
99
|
+
*/
|
|
100
|
+
export function breakEvenHits(econ) {
|
|
101
|
+
const premium = econ.writePrice - econ.basePrice;
|
|
102
|
+
const discount = econ.basePrice - econ.readPrice;
|
|
103
|
+
if (premium <= 0)
|
|
104
|
+
return 0;
|
|
105
|
+
if (discount <= 0)
|
|
106
|
+
return null;
|
|
107
|
+
return Math.ceil(premium / discount);
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Compute net cache savings for observed (or shadow) usage.
|
|
111
|
+
*
|
|
112
|
+
* Pure integer arithmetic in micro-units. The only float is `savingsRatio`, and
|
|
113
|
+
* it is zero-guarded so a zero baseline yields 0 rather than NaN/Infinity — the
|
|
114
|
+
* sprint invariant is that every reported aggregate is FINITE.
|
|
115
|
+
*
|
|
116
|
+
* `evidence` is supplied by the caller and simply carried through: this function
|
|
117
|
+
* cannot know whether its inputs came from a randomized arm, and guessing would
|
|
118
|
+
* be exactly the mislabeling the causal rules forbid.
|
|
119
|
+
*/
|
|
120
|
+
export function computeEconomics(econ, usage, evidence) {
|
|
121
|
+
const codes = [];
|
|
122
|
+
for (const n of [econ.basePrice, econ.readPrice, econ.writePrice, econ.ttlMs, econ.minPrefix]) {
|
|
123
|
+
if (!isCount(n)) {
|
|
124
|
+
codes.push("ECON_PRICE_INVALID");
|
|
125
|
+
break;
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
for (const n of [usage.cachedTokens, usage.writeCount, usage.hitCount]) {
|
|
129
|
+
if (!isCount(n)) {
|
|
130
|
+
codes.push("ECON_USAGE_INVALID");
|
|
131
|
+
break;
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
if (codes.length > 0)
|
|
135
|
+
return { ok: false, codes };
|
|
136
|
+
const { cachedTokens, writeCount, hitCount } = usage;
|
|
137
|
+
const baselineCost = cachedTokens * econ.basePrice * (writeCount + hitCount);
|
|
138
|
+
const actualCost = cachedTokens * (econ.writePrice * writeCount + econ.readPrice * hitCount);
|
|
139
|
+
// Exactness is the whole point of the integer model: if any product leaves the
|
|
140
|
+
// safe-integer range the result is silently wrong, so we fail instead.
|
|
141
|
+
if (!Number.isSafeInteger(baselineCost) || !Number.isSafeInteger(actualCost)) {
|
|
142
|
+
return { ok: false, codes: ["ECON_OVERFLOW"] };
|
|
143
|
+
}
|
|
144
|
+
const netSavings = baselineCost - actualCost;
|
|
145
|
+
// Tokens served at the discounted read price — the cache's token-level benefit,
|
|
146
|
+
// independent of price (a hit re-reads the whole prefix).
|
|
147
|
+
const tokenSavings = cachedTokens * hitCount;
|
|
148
|
+
const savingsRatio = baselineCost === 0 ? 0 : netSavings / baselineCost;
|
|
149
|
+
return {
|
|
150
|
+
ok: true,
|
|
151
|
+
result: {
|
|
152
|
+
profileId: econ.profileId,
|
|
153
|
+
baselineCost,
|
|
154
|
+
actualCost,
|
|
155
|
+
netSavings,
|
|
156
|
+
tokenSavings,
|
|
157
|
+
savingsRatio,
|
|
158
|
+
breakEvenHits: breakEvenHits(econ),
|
|
159
|
+
evidence,
|
|
160
|
+
},
|
|
161
|
+
};
|
|
162
|
+
}
|
|
163
|
+
/**
|
|
164
|
+
* Whether a prefix is eligible to be cached at all: it must meet the profile's
|
|
165
|
+
* minimum prefix, and it must still be within TTL. A prefix below `minPrefix` is
|
|
166
|
+
* not "a small win", it is not cacheable by the provider at all.
|
|
167
|
+
*/
|
|
168
|
+
export function isCacheEligible(econ, prefixTokens, ageMs) {
|
|
169
|
+
if (!isCount(prefixTokens) || !isCount(ageMs))
|
|
170
|
+
return false;
|
|
171
|
+
return prefixTokens >= econ.minPrefix && ageMs < econ.ttlMs;
|
|
172
|
+
}
|
|
173
|
+
// Conformance ID ranges + named rows extracted to economics-ids.ts to keep this
|
|
174
|
+
// file under the 300-line soft limit (soft-as-hard gate). Re-exported here so no
|
|
175
|
+
// consumer import path changes.
|
|
176
|
+
export { CACHE_IDS, ECONOMICS_PROVIDER_IDS, ECONOMICS_NAMED_IDS, } from "./economics-ids.js";
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* vector-cortex/provider/experiments.ts — VC7B session-level cache experiments.
|
|
3
|
+
*
|
|
4
|
+
* To claim a cache strategy CAUSED a saving you need a randomized comparison,
|
|
5
|
+
* not a before/after. This file assigns each session to an experiment arm and
|
|
6
|
+
* guarantees the two properties that make the resulting telemetry admissible as
|
|
7
|
+
* causal evidence.
|
|
8
|
+
*
|
|
9
|
+
* 1. STABLE, JOURNAL-FREE ASSIGNMENT. The arm is a pure function of
|
|
10
|
+
* `sha256(experimentId, sessionId)` — NOT a random draw recorded in a
|
|
11
|
+
* journal. So the assignment survives anything: process restart, a lost or
|
|
12
|
+
* corrupted journal, a different host, a replay months later. This is the
|
|
13
|
+
* sprint's unique failure-injection case (lose the journal after the first
|
|
14
|
+
* event, restart, and the same arm must come back), and a hash-derived arm
|
|
15
|
+
* passes it by construction rather than by careful recovery code. A journal
|
|
16
|
+
* can still be kept as an audit trail, but nothing DEPENDS on it.
|
|
17
|
+
*
|
|
18
|
+
* The corollary matters just as much: every event in one session shares one
|
|
19
|
+
* arm (CACHE-RANDOM-003). If a session could drift between arms mid-flight,
|
|
20
|
+
* its rows would appear in both arms of the comparison and the contrast would
|
|
21
|
+
* be measuring nothing.
|
|
22
|
+
*
|
|
23
|
+
* 2. RANDOMIZED ⇒ CAUSAL; EVERYTHING ELSE ⇒ ESTIMATE. Hashing a session id is
|
|
24
|
+
* randomization only when the id itself is unpredictable and every session is
|
|
25
|
+
* eligible. A FORCED arm (operator override), a SHADOW arm (computed but not
|
|
26
|
+
* served), and a non-randomized rollout are all labeled `estimate` and are
|
|
27
|
+
* excluded from causal intervals by `isCausallyAdmissible`. Shadow numbers are
|
|
28
|
+
* genuinely useful — they are just not evidence of an effect.
|
|
29
|
+
*
|
|
30
|
+
* WHY 10_000 BUCKETS. Bucket granularity bounds how finely traffic can be split;
|
|
31
|
+
* 10k gives 0.01% resolution, matching VC5C's rollout bucketing so the two
|
|
32
|
+
* subsystems partition traffic on the same scale rather than on quietly
|
|
33
|
+
* different ones.
|
|
34
|
+
*
|
|
35
|
+
* PURE. No clock, no storage, no console, no network (PREVENT-PI-004 /
|
|
36
|
+
* PREVENT-011). `assignedAt` is an INJECTED timestamp, never `Date.now()` read
|
|
37
|
+
* here, so assignment is fully reproducible in tests and replays. Runs
|
|
38
|
+
* identically with `MEGACOMPACT_VC7B` on or off.
|
|
39
|
+
*/
|
|
40
|
+
import { createHash } from "node:crypto";
|
|
41
|
+
/** The registered arms, in canonical bucket order. */
|
|
42
|
+
export const EXPERIMENT_ARMS = ["A", "B", "C"];
|
|
43
|
+
/** Bucket space: 10k buckets = 0.01% resolution (matches VC5C rollout). */
|
|
44
|
+
export const EXPERIMENT_BUCKETS = 10_000;
|
|
45
|
+
/** Even three-way split (the default): 3334 / 3333 / 3333 = 10000. */
|
|
46
|
+
export const EVEN_SPLIT = { A: 3334, B: 3333, C: 3333 };
|
|
47
|
+
/**
|
|
48
|
+
* Length-prefixed field framing, identical in spirit to the crystal key encoder:
|
|
49
|
+
* `<byteLength>:<value>` makes the concatenation injective, so experiment
|
|
50
|
+
* `"a"` + session `"b:c"` cannot collide with experiment `"a:b"` + session `"c"`.
|
|
51
|
+
* Without it, two different (experiment, session) pairs could share a bucket and
|
|
52
|
+
* a session could appear to switch arms when an experiment is renamed.
|
|
53
|
+
*/
|
|
54
|
+
function field(value) {
|
|
55
|
+
return `${Buffer.byteLength(value, "utf8")}:${value}`;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* The stable bucket for a session: the low 32 bits of
|
|
59
|
+
* `sha256(experimentId, sessionId)`, modulo the bucket space.
|
|
60
|
+
*
|
|
61
|
+
* Deterministic and storage-free — this is what makes a lost assignment journal
|
|
62
|
+
* a non-event. Reading 4 bytes (rather than the whole digest) keeps the value in
|
|
63
|
+
* exact integer range; SHA-256's avalanche means any 32 bits are equidistributed.
|
|
64
|
+
*/
|
|
65
|
+
export function experimentBucket(experimentId, sessionId) {
|
|
66
|
+
const h = createHash("sha256")
|
|
67
|
+
.update(field(experimentId) + field(sessionId), "utf8")
|
|
68
|
+
.digest();
|
|
69
|
+
return h.readUInt32BE(0) % EXPERIMENT_BUCKETS;
|
|
70
|
+
}
|
|
71
|
+
/** Validate that a split covers the bucket space exactly once. */
|
|
72
|
+
export function validateSplit(split) {
|
|
73
|
+
for (const n of [split.A, split.B, split.C]) {
|
|
74
|
+
if (!Number.isSafeInteger(n) || n < 0)
|
|
75
|
+
return false;
|
|
76
|
+
}
|
|
77
|
+
return split.A + split.B + split.C === EXPERIMENT_BUCKETS;
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Map a bucket to an arm under a split. Arms occupy contiguous bucket ranges in
|
|
81
|
+
* the fixed order A, B, C, so the mapping is stable: widening arm C's share can
|
|
82
|
+
* never reshuffle a session already sitting in arm A.
|
|
83
|
+
*/
|
|
84
|
+
export function armForBucket(bucket, split) {
|
|
85
|
+
if (bucket < split.A)
|
|
86
|
+
return "A";
|
|
87
|
+
if (bucket < split.A + split.B)
|
|
88
|
+
return "B";
|
|
89
|
+
return "C";
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Assign a session to an experiment arm.
|
|
93
|
+
*
|
|
94
|
+
* The default path is `randomized`: bucket = stable hash, arm = bucket's range.
|
|
95
|
+
* Passing `forced` overrides the arm and downgrades the source (and therefore
|
|
96
|
+
* causal admissibility) — the bucket is still computed and reported so the
|
|
97
|
+
* override remains auditable against what the session WOULD have got.
|
|
98
|
+
*
|
|
99
|
+
* `assignedAt` is injected by the caller. Assignment is a pure function of its
|
|
100
|
+
* arguments, so the same session always yields the same arm no matter when, or
|
|
101
|
+
* how many times, it is asked.
|
|
102
|
+
*/
|
|
103
|
+
export function assignExperiment(input) {
|
|
104
|
+
const codes = [];
|
|
105
|
+
if (input.experimentId.trim() === "" || input.sessionId.trim() === "") {
|
|
106
|
+
codes.push("EXP_ID_INVALID");
|
|
107
|
+
}
|
|
108
|
+
const split = input.split ?? EVEN_SPLIT;
|
|
109
|
+
if (!validateSplit(split))
|
|
110
|
+
codes.push("EXP_SPLIT_INVALID");
|
|
111
|
+
if (input.forced !== undefined && !EXPERIMENT_ARMS.includes(input.forced)) {
|
|
112
|
+
codes.push("EXP_ARM_UNKNOWN");
|
|
113
|
+
}
|
|
114
|
+
if (codes.length > 0)
|
|
115
|
+
return { ok: false, codes };
|
|
116
|
+
const bucket = experimentBucket(input.experimentId, input.sessionId);
|
|
117
|
+
const natural = armForBucket(bucket, split);
|
|
118
|
+
const arm = input.forced ?? natural;
|
|
119
|
+
// Precedence: a forced arm is self-selected, so it is never causal even when
|
|
120
|
+
// it happens to agree with the natural arm. Shadow is likewise non-causal.
|
|
121
|
+
const source = input.forced !== undefined ? "forced" : input.shadow === true ? "shadow" : "randomized";
|
|
122
|
+
return {
|
|
123
|
+
ok: true,
|
|
124
|
+
assignment: {
|
|
125
|
+
schema: "cache-experiment-v1",
|
|
126
|
+
experimentId: input.experimentId,
|
|
127
|
+
sessionId: input.sessionId,
|
|
128
|
+
arm,
|
|
129
|
+
bucket,
|
|
130
|
+
source,
|
|
131
|
+
assignedAt: input.assignedAt,
|
|
132
|
+
},
|
|
133
|
+
};
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* Whether an assignment's telemetry may enter a causal interval.
|
|
137
|
+
*
|
|
138
|
+
* ONLY `randomized`. This single predicate is what keeps forced and shadow rows
|
|
139
|
+
* out of the causal aggregate; every consumer computing an interval must filter
|
|
140
|
+
* through it rather than re-deriving the rule.
|
|
141
|
+
*/
|
|
142
|
+
export function isCausallyAdmissible(a) {
|
|
143
|
+
return a.source === "randomized";
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* Keep only causally admissible assignments. The complement is not discarded by
|
|
147
|
+
* the caller — it is reported as `estimate` — but it never reaches an interval.
|
|
148
|
+
*/
|
|
149
|
+
export function causalOnly(assignments) {
|
|
150
|
+
return assignments.filter(isCausallyAdmissible);
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* Whether every assignment for one session agrees on the arm (CACHE-RANDOM-003).
|
|
154
|
+
* A session that appears in two arms would contaminate both sides of the
|
|
155
|
+
* comparison, so this is asserted directly rather than assumed.
|
|
156
|
+
*/
|
|
157
|
+
export function sessionArmsConsistent(assignments) {
|
|
158
|
+
const bySession = new Map();
|
|
159
|
+
for (const a of assignments) {
|
|
160
|
+
const seen = bySession.get(a.sessionId);
|
|
161
|
+
if (seen !== undefined && seen !== a.arm)
|
|
162
|
+
return false;
|
|
163
|
+
bySession.set(a.sessionId, a.arm);
|
|
164
|
+
}
|
|
165
|
+
return true;
|
|
166
|
+
}
|
package/extensions/dashboard-client/dist/assets/{AreaChart-CB-U7ViX.js → AreaChart-VUd_iOtO.js}
RENAMED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{b as R,c as W,m as T,i as C,d as F,A as ie,e as B,h as q,j as oe,k as G,l as se,n as le,u as ue,o as K,G as ce,p as J,q as Q,D as fe,g as pe,X as he,Y as de,f as me}from"./generateCategoricalChart-B-IUoLd1.js";import{R as p,F as ee,r as ve}from"./index-Do749WlW.js";var ye=["layout","type","stroke","connectNulls","isRange","ref"],be=["key"],te;function M(e){"@babel/helpers - typeof";return M=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},M(e)}function ae(e,t){if(e==null)return{};var r=Ae(e,t),a,n;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)a=i[n],!(t.indexOf(a)>=0)&&Object.prototype.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}function Ae(e,t){if(e==null)return{};var r={};for(var a in e)if(Object.prototype.hasOwnProperty.call(e,a)){if(t.indexOf(a)>=0)continue;r[a]=e[a]}return r}function D(){return D=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var a in r)Object.prototype.hasOwnProperty.call(r,a)&&(e[a]=r[a])}return e},D.apply(this,arguments)}function U(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable})),r.push.apply(r,a)}return r}function S(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?U(Object(r),!0).forEach(function(a){E(e,a,r[a])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):U(Object(r)).forEach(function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(r,a))})}return e}function ge(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Z(e,t){for(var r=0;r<t.length;r++){var a=t[r];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,ne(a.key),a)}}function xe(e,t,r){return t&&Z(e.prototype,t),r&&Z(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function Pe(e,t,r){return t=$(t),Oe(e,re()?Reflect.construct(t,r||[],$(e).constructor):t.apply(e,r))}function Oe(e,t){if(t&&(M(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return Ee(e)}function Ee(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function re(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(re=function(){return!!e})()}function $(e){return $=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},$(e)}function we(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&X(e,t)}function X(e,t){return X=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(a,n){return a.__proto__=n,a},X(e,t)}function E(e,t,r){return t=ne(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function ne(e){var t=_e(e,"string");return M(t)=="symbol"?t:t+""}function _e(e,t){if(M(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var a=r.call(e,t);if(M(a)!="object")return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}var L=function(e){function t(){var r;ge(this,t);for(var a=arguments.length,n=new Array(a),i=0;i<a;i++)n[i]=arguments[i];return r=Pe(this,t,[].concat(n)),E(r,"state",{isAnimationFinished:!0}),E(r,"id",ue("recharts-area-")),E(r,"handleAnimationEnd",function(){var o=r.props.onAnimationEnd;r.setState({isAnimationFinished:!0}),K(o)&&o()}),E(r,"handleAnimationStart",function(){var o=r.props.onAnimationStart;r.setState({isAnimationFinished:!1}),K(o)&&o()}),r}return we(t,e),xe(t,[{key:"renderDots",value:function(a,n,i){var o=this.props.isAnimationActive,s=this.state.isAnimationFinished;if(o&&!s)return null;var u=this.props,l=u.dot,f=u.points,c=u.dataKey,h=R(this.props,!1),A=R(l,!0),g=f.map(function(v,O){var y=S(S(S({key:"dot-".concat(O),r:3},h),A),{},{index:O,cx:v.x,cy:v.y,dataKey:c,value:v.value,payload:v.payload,points:f});return t.renderDotItem(l,y)}),x={clipPath:a?"url(#clipPath-".concat(n?"":"dots-").concat(i,")"):null};return p.createElement(W,D({className:"recharts-area-dots"},x),g)}},{key:"renderHorizontalRect",value:function(a){var n=this.props,i=n.baseLine,o=n.points,s=n.strokeWidth,u=o[0].x,l=o[o.length-1].x,f=a*Math.abs(u-l),c=T(o.map(function(h){return h.y||0}));return C(i)&&typeof i=="number"?c=Math.max(i,c):i&&Array.isArray(i)&&i.length&&(c=Math.max(T(i.map(function(h){return h.y||0})),c)),C(c)?p.createElement("rect",{x:u<l?u:u-f,y:0,width:f,height:Math.floor(c+(s?parseInt("".concat(s),10):1))}):null}},{key:"renderVerticalRect",value:function(a){var n=this.props,i=n.baseLine,o=n.points,s=n.strokeWidth,u=o[0].y,l=o[o.length-1].y,f=a*Math.abs(u-l),c=T(o.map(function(h){return h.x||0}));return C(i)&&typeof i=="number"?c=Math.max(i,c):i&&Array.isArray(i)&&i.length&&(c=Math.max(T(i.map(function(h){return h.x||0})),c)),C(c)?p.createElement("rect",{x:0,y:u<l?u:u-f,width:c+(s?parseInt("".concat(s),10):1),height:Math.floor(f)}):null}},{key:"renderClipRect",value:function(a){var n=this.props.layout;return n==="vertical"?this.renderVerticalRect(a):this.renderHorizontalRect(a)}},{key:"renderAreaStatically",value:function(a,n,i,o){var s=this.props,u=s.layout,l=s.type,f=s.stroke,c=s.connectNulls,h=s.isRange;s.ref;var A=ae(s,ye);return p.createElement(W,{clipPath:i?"url(#clipPath-".concat(o,")"):null},p.createElement(F,D({},R(A,!0),{points:a,connectNulls:c,type:l,baseLine:n,layout:u,stroke:"none",className:"recharts-area-area"})),f!=="none"&&p.createElement(F,D({},R(this.props,!1),{className:"recharts-area-curve",layout:u,type:l,connectNulls:c,fill:"none",points:a})),f!=="none"&&h&&p.createElement(F,D({},R(this.props,!1),{className:"recharts-area-curve",layout:u,type:l,connectNulls:c,fill:"none",points:n})))}},{key:"renderAreaWithAnimation",value:function(a,n){var i=this,o=this.props,s=o.points,u=o.baseLine,l=o.isAnimationActive,f=o.animationBegin,c=o.animationDuration,h=o.animationEasing,A=o.animationId,g=this.state,x=g.prevPoints,v=g.prevBaseLine;return p.createElement(ie,{begin:f,duration:c,isActive:l,easing:h,from:{t:0},to:{t:1},key:"area-".concat(A),onAnimationEnd:this.handleAnimationEnd,onAnimationStart:this.handleAnimationStart},function(O){var y=O.t;if(x){var _=x.length/s.length,d=s.map(function(P,N){var k=Math.floor(N*_);if(x[k]){var j=x[k],I=B(j.x,P.x),V=B(j.y,P.y);return S(S({},P),{},{x:I(y),y:V(y)})}return P}),m;if(C(u)&&typeof u=="number"){var b=B(v,u);m=b(y)}else if(q(u)||oe(u)){var w=B(v,0);m=w(y)}else m=u.map(function(P,N){var k=Math.floor(N*_);if(v[k]){var j=v[k],I=B(j.x,P.x),V=B(j.y,P.y);return S(S({},P),{},{x:I(y),y:V(y)})}return P});return i.renderAreaStatically(d,m,a,n)}return p.createElement(W,null,p.createElement("defs",null,p.createElement("clipPath",{id:"animationClipPath-".concat(n)},i.renderClipRect(y))),p.createElement(W,{clipPath:"url(#animationClipPath-".concat(n,")")},i.renderAreaStatically(s,u,a,n)))})}},{key:"renderArea",value:function(a,n){var i=this.props,o=i.points,s=i.baseLine,u=i.isAnimationActive,l=this.state,f=l.prevPoints,c=l.prevBaseLine,h=l.totalLength;return u&&o&&o.length&&(!f&&h>0||!G(f,o)||!G(c,s))?this.renderAreaWithAnimation(a,n):this.renderAreaStatically(o,s,a,n)}},{key:"render",value:function(){var a,n=this.props,i=n.hide,o=n.dot,s=n.points,u=n.className,l=n.top,f=n.left,c=n.xAxis,h=n.yAxis,A=n.width,g=n.height,x=n.isAnimationActive,v=n.id;if(i||!s||!s.length)return null;var O=this.state.isAnimationFinished,y=s.length===1,_=ee("recharts-area",u),d=c&&c.allowDataOverflow,m=h&&h.allowDataOverflow,b=d||m,w=q(v)?this.id:v,P=(a=R(o,!1))!==null&&a!==void 0?a:{r:3,strokeWidth:2},N=P.r,k=N===void 0?3:N,j=P.strokeWidth,I=j===void 0?2:j,V=se(o)?o:{},Y=V.clipDot,H=Y===void 0?!0:Y,z=k*2+I;return p.createElement(W,{className:_},d||m?p.createElement("defs",null,p.createElement("clipPath",{id:"clipPath-".concat(w)},p.createElement("rect",{x:d?f:f-A/2,y:m?l:l-g/2,width:d?A:A*2,height:m?g:g*2})),!H&&p.createElement("clipPath",{id:"clipPath-dots-".concat(w)},p.createElement("rect",{x:f-z/2,y:l-z/2,width:A+z,height:g+z}))):null,y?null:this.renderArea(b,w),(o||y)&&this.renderDots(b,H,w),(!x||O)&&le.renderCallByParent(this.props,s))}}],[{key:"getDerivedStateFromProps",value:function(a,n){return a.animationId!==n.prevAnimationId?{prevAnimationId:a.animationId,curPoints:a.points,curBaseLine:a.baseLine,prevPoints:n.curPoints,prevBaseLine:n.curBaseLine}:a.points!==n.curPoints||a.baseLine!==n.curBaseLine?{curPoints:a.points,curBaseLine:a.baseLine}:null}}])}(ve.PureComponent);te=L;E(L,"displayName","Area");E(L,"defaultProps",{stroke:"#3182bd",fill:"#3182bd",fillOpacity:.6,xAxisId:0,yAxisId:0,legendType:"line",connectNulls:!1,points:[],dot:!1,activeDot:!0,hide:!1,isAnimationActive:!ce.isSsr,animationBegin:0,animationDuration:1500,animationEasing:"ease"});E(L,"getBaseValue",function(e,t,r,a){var n=e.layout,i=e.baseValue,o=t.props.baseValue,s=o??i;if(C(s)&&typeof s=="number")return s;var u=n==="horizontal"?a:r,l=u.scale.domain();if(u.type==="number"){var f=Math.max(l[0],l[1]),c=Math.min(l[0],l[1]);return s==="dataMin"?c:s==="dataMax"||f<0?f:Math.max(Math.min(l[0],l[1]),0)}return s==="dataMin"?l[0]:s==="dataMax"?l[1]:l[0]});E(L,"getComposedData",function(e){var t=e.props,r=e.item,a=e.xAxis,n=e.yAxis,i=e.xAxisTicks,o=e.yAxisTicks,s=e.bandSize,u=e.dataKey,l=e.stackedData,f=e.dataStartIndex,c=e.displayedData,h=e.offset,A=t.layout,g=l&&l.length,x=te.getBaseValue(t,r,a,n),v=A==="horizontal",O=!1,y=c.map(function(d,m){var b;g?b=l[f+m]:(b=J(d,u),Array.isArray(b)?O=!0:b=[x,b]);var w=b[1]==null||g&&J(d,u)==null;return v?{x:Q({axis:a,ticks:i,bandSize:s,entry:d,index:m}),y:w?null:n.scale(b[1]),value:b,payload:d}:{x:w?null:a.scale(b[1]),y:Q({axis:n,ticks:o,bandSize:s,entry:d,index:m}),value:b,payload:d}}),_;return g||O?_=y.map(function(d){var m=Array.isArray(d.value)?d.value[0]:null;return v?{x:d.x,y:m!=null&&d.y!=null?n.scale(m):null}:{x:m!=null?a.scale(m):null,y:d.y}}):_=v?n.scale(x):a.scale(x),S({points:y,baseLine:_,layout:A,isRange:O},h)});E(L,"renderDotItem",function(e,t){var r;if(p.isValidElement(e))r=p.cloneElement(e,t);else if(K(e))r=e(t);else{var a=ee("recharts-area-dot",typeof e!="boolean"?e.className:""),n=t.key,i=ae(t,be);r=p.createElement(fe,D({},i,{key:n,className:a}))}return r});var ke=pe({chartName:"AreaChart",GraphicalChild:L,axisComponents:[{axisType:"xAxis",AxisComp:he},{axisType:"yAxis",AxisComp:de}],formatAxisMap:me});export{ke as A,L as a};
|
|
2
|
-
//# sourceMappingURL=AreaChart-
|
|
1
|
+
import{b as R,c as W,m as T,i as C,d as F,A as ie,e as B,h as q,j as oe,k as G,l as se,n as le,u as ue,o as K,G as ce,p as J,q as Q,D as fe,g as pe,X as he,Y as de,f as me}from"./generateCategoricalChart-BagDVGWn.js";import{R as p,F as ee,r as ve}from"./index-DVdDtRY4.js";var ye=["layout","type","stroke","connectNulls","isRange","ref"],be=["key"],te;function M(e){"@babel/helpers - typeof";return M=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},M(e)}function ae(e,t){if(e==null)return{};var r=Ae(e,t),a,n;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)a=i[n],!(t.indexOf(a)>=0)&&Object.prototype.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}function Ae(e,t){if(e==null)return{};var r={};for(var a in e)if(Object.prototype.hasOwnProperty.call(e,a)){if(t.indexOf(a)>=0)continue;r[a]=e[a]}return r}function D(){return D=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var a in r)Object.prototype.hasOwnProperty.call(r,a)&&(e[a]=r[a])}return e},D.apply(this,arguments)}function U(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable})),r.push.apply(r,a)}return r}function S(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?U(Object(r),!0).forEach(function(a){E(e,a,r[a])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):U(Object(r)).forEach(function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(r,a))})}return e}function ge(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Z(e,t){for(var r=0;r<t.length;r++){var a=t[r];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,ne(a.key),a)}}function xe(e,t,r){return t&&Z(e.prototype,t),r&&Z(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function Pe(e,t,r){return t=$(t),Oe(e,re()?Reflect.construct(t,r||[],$(e).constructor):t.apply(e,r))}function Oe(e,t){if(t&&(M(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return Ee(e)}function Ee(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function re(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(re=function(){return!!e})()}function $(e){return $=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},$(e)}function we(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&X(e,t)}function X(e,t){return X=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(a,n){return a.__proto__=n,a},X(e,t)}function E(e,t,r){return t=ne(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function ne(e){var t=_e(e,"string");return M(t)=="symbol"?t:t+""}function _e(e,t){if(M(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var a=r.call(e,t);if(M(a)!="object")return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}var L=function(e){function t(){var r;ge(this,t);for(var a=arguments.length,n=new Array(a),i=0;i<a;i++)n[i]=arguments[i];return r=Pe(this,t,[].concat(n)),E(r,"state",{isAnimationFinished:!0}),E(r,"id",ue("recharts-area-")),E(r,"handleAnimationEnd",function(){var o=r.props.onAnimationEnd;r.setState({isAnimationFinished:!0}),K(o)&&o()}),E(r,"handleAnimationStart",function(){var o=r.props.onAnimationStart;r.setState({isAnimationFinished:!1}),K(o)&&o()}),r}return we(t,e),xe(t,[{key:"renderDots",value:function(a,n,i){var o=this.props.isAnimationActive,s=this.state.isAnimationFinished;if(o&&!s)return null;var u=this.props,l=u.dot,f=u.points,c=u.dataKey,h=R(this.props,!1),A=R(l,!0),g=f.map(function(v,O){var y=S(S(S({key:"dot-".concat(O),r:3},h),A),{},{index:O,cx:v.x,cy:v.y,dataKey:c,value:v.value,payload:v.payload,points:f});return t.renderDotItem(l,y)}),x={clipPath:a?"url(#clipPath-".concat(n?"":"dots-").concat(i,")"):null};return p.createElement(W,D({className:"recharts-area-dots"},x),g)}},{key:"renderHorizontalRect",value:function(a){var n=this.props,i=n.baseLine,o=n.points,s=n.strokeWidth,u=o[0].x,l=o[o.length-1].x,f=a*Math.abs(u-l),c=T(o.map(function(h){return h.y||0}));return C(i)&&typeof i=="number"?c=Math.max(i,c):i&&Array.isArray(i)&&i.length&&(c=Math.max(T(i.map(function(h){return h.y||0})),c)),C(c)?p.createElement("rect",{x:u<l?u:u-f,y:0,width:f,height:Math.floor(c+(s?parseInt("".concat(s),10):1))}):null}},{key:"renderVerticalRect",value:function(a){var n=this.props,i=n.baseLine,o=n.points,s=n.strokeWidth,u=o[0].y,l=o[o.length-1].y,f=a*Math.abs(u-l),c=T(o.map(function(h){return h.x||0}));return C(i)&&typeof i=="number"?c=Math.max(i,c):i&&Array.isArray(i)&&i.length&&(c=Math.max(T(i.map(function(h){return h.x||0})),c)),C(c)?p.createElement("rect",{x:0,y:u<l?u:u-f,width:c+(s?parseInt("".concat(s),10):1),height:Math.floor(f)}):null}},{key:"renderClipRect",value:function(a){var n=this.props.layout;return n==="vertical"?this.renderVerticalRect(a):this.renderHorizontalRect(a)}},{key:"renderAreaStatically",value:function(a,n,i,o){var s=this.props,u=s.layout,l=s.type,f=s.stroke,c=s.connectNulls,h=s.isRange;s.ref;var A=ae(s,ye);return p.createElement(W,{clipPath:i?"url(#clipPath-".concat(o,")"):null},p.createElement(F,D({},R(A,!0),{points:a,connectNulls:c,type:l,baseLine:n,layout:u,stroke:"none",className:"recharts-area-area"})),f!=="none"&&p.createElement(F,D({},R(this.props,!1),{className:"recharts-area-curve",layout:u,type:l,connectNulls:c,fill:"none",points:a})),f!=="none"&&h&&p.createElement(F,D({},R(this.props,!1),{className:"recharts-area-curve",layout:u,type:l,connectNulls:c,fill:"none",points:n})))}},{key:"renderAreaWithAnimation",value:function(a,n){var i=this,o=this.props,s=o.points,u=o.baseLine,l=o.isAnimationActive,f=o.animationBegin,c=o.animationDuration,h=o.animationEasing,A=o.animationId,g=this.state,x=g.prevPoints,v=g.prevBaseLine;return p.createElement(ie,{begin:f,duration:c,isActive:l,easing:h,from:{t:0},to:{t:1},key:"area-".concat(A),onAnimationEnd:this.handleAnimationEnd,onAnimationStart:this.handleAnimationStart},function(O){var y=O.t;if(x){var _=x.length/s.length,d=s.map(function(P,N){var k=Math.floor(N*_);if(x[k]){var j=x[k],I=B(j.x,P.x),V=B(j.y,P.y);return S(S({},P),{},{x:I(y),y:V(y)})}return P}),m;if(C(u)&&typeof u=="number"){var b=B(v,u);m=b(y)}else if(q(u)||oe(u)){var w=B(v,0);m=w(y)}else m=u.map(function(P,N){var k=Math.floor(N*_);if(v[k]){var j=v[k],I=B(j.x,P.x),V=B(j.y,P.y);return S(S({},P),{},{x:I(y),y:V(y)})}return P});return i.renderAreaStatically(d,m,a,n)}return p.createElement(W,null,p.createElement("defs",null,p.createElement("clipPath",{id:"animationClipPath-".concat(n)},i.renderClipRect(y))),p.createElement(W,{clipPath:"url(#animationClipPath-".concat(n,")")},i.renderAreaStatically(s,u,a,n)))})}},{key:"renderArea",value:function(a,n){var i=this.props,o=i.points,s=i.baseLine,u=i.isAnimationActive,l=this.state,f=l.prevPoints,c=l.prevBaseLine,h=l.totalLength;return u&&o&&o.length&&(!f&&h>0||!G(f,o)||!G(c,s))?this.renderAreaWithAnimation(a,n):this.renderAreaStatically(o,s,a,n)}},{key:"render",value:function(){var a,n=this.props,i=n.hide,o=n.dot,s=n.points,u=n.className,l=n.top,f=n.left,c=n.xAxis,h=n.yAxis,A=n.width,g=n.height,x=n.isAnimationActive,v=n.id;if(i||!s||!s.length)return null;var O=this.state.isAnimationFinished,y=s.length===1,_=ee("recharts-area",u),d=c&&c.allowDataOverflow,m=h&&h.allowDataOverflow,b=d||m,w=q(v)?this.id:v,P=(a=R(o,!1))!==null&&a!==void 0?a:{r:3,strokeWidth:2},N=P.r,k=N===void 0?3:N,j=P.strokeWidth,I=j===void 0?2:j,V=se(o)?o:{},Y=V.clipDot,H=Y===void 0?!0:Y,z=k*2+I;return p.createElement(W,{className:_},d||m?p.createElement("defs",null,p.createElement("clipPath",{id:"clipPath-".concat(w)},p.createElement("rect",{x:d?f:f-A/2,y:m?l:l-g/2,width:d?A:A*2,height:m?g:g*2})),!H&&p.createElement("clipPath",{id:"clipPath-dots-".concat(w)},p.createElement("rect",{x:f-z/2,y:l-z/2,width:A+z,height:g+z}))):null,y?null:this.renderArea(b,w),(o||y)&&this.renderDots(b,H,w),(!x||O)&&le.renderCallByParent(this.props,s))}}],[{key:"getDerivedStateFromProps",value:function(a,n){return a.animationId!==n.prevAnimationId?{prevAnimationId:a.animationId,curPoints:a.points,curBaseLine:a.baseLine,prevPoints:n.curPoints,prevBaseLine:n.curBaseLine}:a.points!==n.curPoints||a.baseLine!==n.curBaseLine?{curPoints:a.points,curBaseLine:a.baseLine}:null}}])}(ve.PureComponent);te=L;E(L,"displayName","Area");E(L,"defaultProps",{stroke:"#3182bd",fill:"#3182bd",fillOpacity:.6,xAxisId:0,yAxisId:0,legendType:"line",connectNulls:!1,points:[],dot:!1,activeDot:!0,hide:!1,isAnimationActive:!ce.isSsr,animationBegin:0,animationDuration:1500,animationEasing:"ease"});E(L,"getBaseValue",function(e,t,r,a){var n=e.layout,i=e.baseValue,o=t.props.baseValue,s=o??i;if(C(s)&&typeof s=="number")return s;var u=n==="horizontal"?a:r,l=u.scale.domain();if(u.type==="number"){var f=Math.max(l[0],l[1]),c=Math.min(l[0],l[1]);return s==="dataMin"?c:s==="dataMax"||f<0?f:Math.max(Math.min(l[0],l[1]),0)}return s==="dataMin"?l[0]:s==="dataMax"?l[1]:l[0]});E(L,"getComposedData",function(e){var t=e.props,r=e.item,a=e.xAxis,n=e.yAxis,i=e.xAxisTicks,o=e.yAxisTicks,s=e.bandSize,u=e.dataKey,l=e.stackedData,f=e.dataStartIndex,c=e.displayedData,h=e.offset,A=t.layout,g=l&&l.length,x=te.getBaseValue(t,r,a,n),v=A==="horizontal",O=!1,y=c.map(function(d,m){var b;g?b=l[f+m]:(b=J(d,u),Array.isArray(b)?O=!0:b=[x,b]);var w=b[1]==null||g&&J(d,u)==null;return v?{x:Q({axis:a,ticks:i,bandSize:s,entry:d,index:m}),y:w?null:n.scale(b[1]),value:b,payload:d}:{x:w?null:a.scale(b[1]),y:Q({axis:n,ticks:o,bandSize:s,entry:d,index:m}),value:b,payload:d}}),_;return g||O?_=y.map(function(d){var m=Array.isArray(d.value)?d.value[0]:null;return v?{x:d.x,y:m!=null&&d.y!=null?n.scale(m):null}:{x:m!=null?a.scale(m):null,y:d.y}}):_=v?n.scale(x):a.scale(x),S({points:y,baseLine:_,layout:A,isRange:O},h)});E(L,"renderDotItem",function(e,t){var r;if(p.isValidElement(e))r=p.cloneElement(e,t);else if(K(e))r=e(t);else{var a=ee("recharts-area-dot",typeof e!="boolean"?e.className:""),n=t.key,i=ae(t,be);r=p.createElement(fe,D({},i,{key:n,className:a}))}return r});var ke=pe({chartName:"AreaChart",GraphicalChild:L,axisComponents:[{axisType:"xAxis",AxisComp:he},{axisType:"yAxis",AxisComp:de}],formatAxisMap:me});export{ke as A,L as a};
|
|
2
|
+
//# sourceMappingURL=AreaChart-VUd_iOtO.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AreaChart-CB-U7ViX.js","sources":["../../node_modules/recharts/es6/cartesian/Area.js","../../node_modules/recharts/es6/chart/AreaChart.js"],"sourcesContent":["var _excluded = [\"layout\", \"type\", \"stroke\", \"connectNulls\", \"isRange\", \"ref\"],\n _excluded2 = [\"key\"];\nvar _Area;\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } } return target; }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\n/**\n * @fileOverview Area\n */\nimport React, { PureComponent } from 'react';\nimport clsx from 'clsx';\nimport Animate from 'react-smooth';\nimport isFunction from 'lodash/isFunction';\nimport max from 'lodash/max';\nimport isNil from 'lodash/isNil';\nimport isNan from 'lodash/isNaN';\nimport isEqual from 'lodash/isEqual';\nimport { Curve } from '../shape/Curve';\nimport { Dot } from '../shape/Dot';\nimport { Layer } from '../container/Layer';\nimport { LabelList } from '../component/LabelList';\nimport { Global } from '../util/Global';\nimport { isNumber, uniqueId, interpolateNumber } from '../util/DataUtils';\nimport { getCateCoordinateOfLine, getValueByDataKey } from '../util/ChartUtils';\nimport { filterProps, hasClipDot } from '../util/ReactUtils';\nexport var Area = /*#__PURE__*/function (_PureComponent) {\n function Area() {\n var _this;\n _classCallCheck(this, Area);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _callSuper(this, Area, [].concat(args));\n _defineProperty(_this, \"state\", {\n isAnimationFinished: true\n });\n _defineProperty(_this, \"id\", uniqueId('recharts-area-'));\n _defineProperty(_this, \"handleAnimationEnd\", function () {\n var onAnimationEnd = _this.props.onAnimationEnd;\n _this.setState({\n isAnimationFinished: true\n });\n if (isFunction(onAnimationEnd)) {\n onAnimationEnd();\n }\n });\n _defineProperty(_this, \"handleAnimationStart\", function () {\n var onAnimationStart = _this.props.onAnimationStart;\n _this.setState({\n isAnimationFinished: false\n });\n if (isFunction(onAnimationStart)) {\n onAnimationStart();\n }\n });\n return _this;\n }\n _inherits(Area, _PureComponent);\n return _createClass(Area, [{\n key: \"renderDots\",\n value: function renderDots(needClip, clipDot, clipPathId) {\n var isAnimationActive = this.props.isAnimationActive;\n var isAnimationFinished = this.state.isAnimationFinished;\n if (isAnimationActive && !isAnimationFinished) {\n return null;\n }\n var _this$props = this.props,\n dot = _this$props.dot,\n points = _this$props.points,\n dataKey = _this$props.dataKey;\n var areaProps = filterProps(this.props, false);\n var customDotProps = filterProps(dot, true);\n var dots = points.map(function (entry, i) {\n var dotProps = _objectSpread(_objectSpread(_objectSpread({\n key: \"dot-\".concat(i),\n r: 3\n }, areaProps), customDotProps), {}, {\n index: i,\n cx: entry.x,\n cy: entry.y,\n dataKey: dataKey,\n value: entry.value,\n payload: entry.payload,\n points: points\n });\n return Area.renderDotItem(dot, dotProps);\n });\n var dotsProps = {\n clipPath: needClip ? \"url(#clipPath-\".concat(clipDot ? '' : 'dots-').concat(clipPathId, \")\") : null\n };\n return /*#__PURE__*/React.createElement(Layer, _extends({\n className: \"recharts-area-dots\"\n }, dotsProps), dots);\n }\n }, {\n key: \"renderHorizontalRect\",\n value: function renderHorizontalRect(alpha) {\n var _this$props2 = this.props,\n baseLine = _this$props2.baseLine,\n points = _this$props2.points,\n strokeWidth = _this$props2.strokeWidth;\n var startX = points[0].x;\n var endX = points[points.length - 1].x;\n var width = alpha * Math.abs(startX - endX);\n var maxY = max(points.map(function (entry) {\n return entry.y || 0;\n }));\n if (isNumber(baseLine) && typeof baseLine === 'number') {\n maxY = Math.max(baseLine, maxY);\n } else if (baseLine && Array.isArray(baseLine) && baseLine.length) {\n maxY = Math.max(max(baseLine.map(function (entry) {\n return entry.y || 0;\n })), maxY);\n }\n if (isNumber(maxY)) {\n return /*#__PURE__*/React.createElement(\"rect\", {\n x: startX < endX ? startX : startX - width,\n y: 0,\n width: width,\n height: Math.floor(maxY + (strokeWidth ? parseInt(\"\".concat(strokeWidth), 10) : 1))\n });\n }\n return null;\n }\n }, {\n key: \"renderVerticalRect\",\n value: function renderVerticalRect(alpha) {\n var _this$props3 = this.props,\n baseLine = _this$props3.baseLine,\n points = _this$props3.points,\n strokeWidth = _this$props3.strokeWidth;\n var startY = points[0].y;\n var endY = points[points.length - 1].y;\n var height = alpha * Math.abs(startY - endY);\n var maxX = max(points.map(function (entry) {\n return entry.x || 0;\n }));\n if (isNumber(baseLine) && typeof baseLine === 'number') {\n maxX = Math.max(baseLine, maxX);\n } else if (baseLine && Array.isArray(baseLine) && baseLine.length) {\n maxX = Math.max(max(baseLine.map(function (entry) {\n return entry.x || 0;\n })), maxX);\n }\n if (isNumber(maxX)) {\n return /*#__PURE__*/React.createElement(\"rect\", {\n x: 0,\n y: startY < endY ? startY : startY - height,\n width: maxX + (strokeWidth ? parseInt(\"\".concat(strokeWidth), 10) : 1),\n height: Math.floor(height)\n });\n }\n return null;\n }\n }, {\n key: \"renderClipRect\",\n value: function renderClipRect(alpha) {\n var layout = this.props.layout;\n if (layout === 'vertical') {\n return this.renderVerticalRect(alpha);\n }\n return this.renderHorizontalRect(alpha);\n }\n }, {\n key: \"renderAreaStatically\",\n value: function renderAreaStatically(points, baseLine, needClip, clipPathId) {\n var _this$props4 = this.props,\n layout = _this$props4.layout,\n type = _this$props4.type,\n stroke = _this$props4.stroke,\n connectNulls = _this$props4.connectNulls,\n isRange = _this$props4.isRange,\n ref = _this$props4.ref,\n others = _objectWithoutProperties(_this$props4, _excluded);\n return /*#__PURE__*/React.createElement(Layer, {\n clipPath: needClip ? \"url(#clipPath-\".concat(clipPathId, \")\") : null\n }, /*#__PURE__*/React.createElement(Curve, _extends({}, filterProps(others, true), {\n points: points,\n connectNulls: connectNulls,\n type: type,\n baseLine: baseLine,\n layout: layout,\n stroke: \"none\",\n className: \"recharts-area-area\"\n })), stroke !== 'none' && /*#__PURE__*/React.createElement(Curve, _extends({}, filterProps(this.props, false), {\n className: \"recharts-area-curve\",\n layout: layout,\n type: type,\n connectNulls: connectNulls,\n fill: \"none\",\n points: points\n })), stroke !== 'none' && isRange && /*#__PURE__*/React.createElement(Curve, _extends({}, filterProps(this.props, false), {\n className: \"recharts-area-curve\",\n layout: layout,\n type: type,\n connectNulls: connectNulls,\n fill: \"none\",\n points: baseLine\n })));\n }\n }, {\n key: \"renderAreaWithAnimation\",\n value: function renderAreaWithAnimation(needClip, clipPathId) {\n var _this2 = this;\n var _this$props5 = this.props,\n points = _this$props5.points,\n baseLine = _this$props5.baseLine,\n isAnimationActive = _this$props5.isAnimationActive,\n animationBegin = _this$props5.animationBegin,\n animationDuration = _this$props5.animationDuration,\n animationEasing = _this$props5.animationEasing,\n animationId = _this$props5.animationId;\n var _this$state = this.state,\n prevPoints = _this$state.prevPoints,\n prevBaseLine = _this$state.prevBaseLine;\n // const clipPathId = isNil(id) ? this.id : id;\n\n return /*#__PURE__*/React.createElement(Animate, {\n begin: animationBegin,\n duration: animationDuration,\n isActive: isAnimationActive,\n easing: animationEasing,\n from: {\n t: 0\n },\n to: {\n t: 1\n },\n key: \"area-\".concat(animationId),\n onAnimationEnd: this.handleAnimationEnd,\n onAnimationStart: this.handleAnimationStart\n }, function (_ref) {\n var t = _ref.t;\n if (prevPoints) {\n var prevPointsDiffFactor = prevPoints.length / points.length;\n // update animtaion\n var stepPoints = points.map(function (entry, index) {\n var prevPointIndex = Math.floor(index * prevPointsDiffFactor);\n if (prevPoints[prevPointIndex]) {\n var prev = prevPoints[prevPointIndex];\n var interpolatorX = interpolateNumber(prev.x, entry.x);\n var interpolatorY = interpolateNumber(prev.y, entry.y);\n return _objectSpread(_objectSpread({}, entry), {}, {\n x: interpolatorX(t),\n y: interpolatorY(t)\n });\n }\n return entry;\n });\n var stepBaseLine;\n if (isNumber(baseLine) && typeof baseLine === 'number') {\n var interpolator = interpolateNumber(prevBaseLine, baseLine);\n stepBaseLine = interpolator(t);\n } else if (isNil(baseLine) || isNan(baseLine)) {\n var _interpolator = interpolateNumber(prevBaseLine, 0);\n stepBaseLine = _interpolator(t);\n } else {\n stepBaseLine = baseLine.map(function (entry, index) {\n var prevPointIndex = Math.floor(index * prevPointsDiffFactor);\n if (prevBaseLine[prevPointIndex]) {\n var prev = prevBaseLine[prevPointIndex];\n var interpolatorX = interpolateNumber(prev.x, entry.x);\n var interpolatorY = interpolateNumber(prev.y, entry.y);\n return _objectSpread(_objectSpread({}, entry), {}, {\n x: interpolatorX(t),\n y: interpolatorY(t)\n });\n }\n return entry;\n });\n }\n return _this2.renderAreaStatically(stepPoints, stepBaseLine, needClip, clipPathId);\n }\n return /*#__PURE__*/React.createElement(Layer, null, /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"animationClipPath-\".concat(clipPathId)\n }, _this2.renderClipRect(t))), /*#__PURE__*/React.createElement(Layer, {\n clipPath: \"url(#animationClipPath-\".concat(clipPathId, \")\")\n }, _this2.renderAreaStatically(points, baseLine, needClip, clipPathId)));\n });\n }\n }, {\n key: \"renderArea\",\n value: function renderArea(needClip, clipPathId) {\n var _this$props6 = this.props,\n points = _this$props6.points,\n baseLine = _this$props6.baseLine,\n isAnimationActive = _this$props6.isAnimationActive;\n var _this$state2 = this.state,\n prevPoints = _this$state2.prevPoints,\n prevBaseLine = _this$state2.prevBaseLine,\n totalLength = _this$state2.totalLength;\n if (isAnimationActive && points && points.length && (!prevPoints && totalLength > 0 || !isEqual(prevPoints, points) || !isEqual(prevBaseLine, baseLine))) {\n return this.renderAreaWithAnimation(needClip, clipPathId);\n }\n return this.renderAreaStatically(points, baseLine, needClip, clipPathId);\n }\n }, {\n key: \"render\",\n value: function render() {\n var _filterProps;\n var _this$props7 = this.props,\n hide = _this$props7.hide,\n dot = _this$props7.dot,\n points = _this$props7.points,\n className = _this$props7.className,\n top = _this$props7.top,\n left = _this$props7.left,\n xAxis = _this$props7.xAxis,\n yAxis = _this$props7.yAxis,\n width = _this$props7.width,\n height = _this$props7.height,\n isAnimationActive = _this$props7.isAnimationActive,\n id = _this$props7.id;\n if (hide || !points || !points.length) {\n return null;\n }\n var isAnimationFinished = this.state.isAnimationFinished;\n var hasSinglePoint = points.length === 1;\n var layerClass = clsx('recharts-area', className);\n var needClipX = xAxis && xAxis.allowDataOverflow;\n var needClipY = yAxis && yAxis.allowDataOverflow;\n var needClip = needClipX || needClipY;\n var clipPathId = isNil(id) ? this.id : id;\n var _ref2 = (_filterProps = filterProps(dot, false)) !== null && _filterProps !== void 0 ? _filterProps : {\n r: 3,\n strokeWidth: 2\n },\n _ref2$r = _ref2.r,\n r = _ref2$r === void 0 ? 3 : _ref2$r,\n _ref2$strokeWidth = _ref2.strokeWidth,\n strokeWidth = _ref2$strokeWidth === void 0 ? 2 : _ref2$strokeWidth;\n var _ref3 = hasClipDot(dot) ? dot : {},\n _ref3$clipDot = _ref3.clipDot,\n clipDot = _ref3$clipDot === void 0 ? true : _ref3$clipDot;\n var dotSize = r * 2 + strokeWidth;\n return /*#__PURE__*/React.createElement(Layer, {\n className: layerClass\n }, needClipX || needClipY ? /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"clipPath-\".concat(clipPathId)\n }, /*#__PURE__*/React.createElement(\"rect\", {\n x: needClipX ? left : left - width / 2,\n y: needClipY ? top : top - height / 2,\n width: needClipX ? width : width * 2,\n height: needClipY ? height : height * 2\n })), !clipDot && /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"clipPath-dots-\".concat(clipPathId)\n }, /*#__PURE__*/React.createElement(\"rect\", {\n x: left - dotSize / 2,\n y: top - dotSize / 2,\n width: width + dotSize,\n height: height + dotSize\n }))) : null, !hasSinglePoint ? this.renderArea(needClip, clipPathId) : null, (dot || hasSinglePoint) && this.renderDots(needClip, clipDot, clipPathId), (!isAnimationActive || isAnimationFinished) && LabelList.renderCallByParent(this.props, points));\n }\n }], [{\n key: \"getDerivedStateFromProps\",\n value: function getDerivedStateFromProps(nextProps, prevState) {\n if (nextProps.animationId !== prevState.prevAnimationId) {\n return {\n prevAnimationId: nextProps.animationId,\n curPoints: nextProps.points,\n curBaseLine: nextProps.baseLine,\n prevPoints: prevState.curPoints,\n prevBaseLine: prevState.curBaseLine\n };\n }\n if (nextProps.points !== prevState.curPoints || nextProps.baseLine !== prevState.curBaseLine) {\n return {\n curPoints: nextProps.points,\n curBaseLine: nextProps.baseLine\n };\n }\n return null;\n }\n }]);\n}(PureComponent);\n_Area = Area;\n_defineProperty(Area, \"displayName\", 'Area');\n_defineProperty(Area, \"defaultProps\", {\n stroke: '#3182bd',\n fill: '#3182bd',\n fillOpacity: 0.6,\n xAxisId: 0,\n yAxisId: 0,\n legendType: 'line',\n connectNulls: false,\n // points of area\n points: [],\n dot: false,\n activeDot: true,\n hide: false,\n isAnimationActive: !Global.isSsr,\n animationBegin: 0,\n animationDuration: 1500,\n animationEasing: 'ease'\n});\n_defineProperty(Area, \"getBaseValue\", function (props, item, xAxis, yAxis) {\n var layout = props.layout,\n chartBaseValue = props.baseValue;\n var itemBaseValue = item.props.baseValue;\n\n // The baseValue can be defined both on the AreaChart as well as on the Area.\n // The value for the item takes precedence.\n var baseValue = itemBaseValue !== null && itemBaseValue !== void 0 ? itemBaseValue : chartBaseValue;\n if (isNumber(baseValue) && typeof baseValue === 'number') {\n return baseValue;\n }\n var numericAxis = layout === 'horizontal' ? yAxis : xAxis;\n var domain = numericAxis.scale.domain();\n if (numericAxis.type === 'number') {\n var domainMax = Math.max(domain[0], domain[1]);\n var domainMin = Math.min(domain[0], domain[1]);\n if (baseValue === 'dataMin') {\n return domainMin;\n }\n if (baseValue === 'dataMax') {\n return domainMax;\n }\n return domainMax < 0 ? domainMax : Math.max(Math.min(domain[0], domain[1]), 0);\n }\n if (baseValue === 'dataMin') {\n return domain[0];\n }\n if (baseValue === 'dataMax') {\n return domain[1];\n }\n return domain[0];\n});\n_defineProperty(Area, \"getComposedData\", function (_ref4) {\n var props = _ref4.props,\n item = _ref4.item,\n xAxis = _ref4.xAxis,\n yAxis = _ref4.yAxis,\n xAxisTicks = _ref4.xAxisTicks,\n yAxisTicks = _ref4.yAxisTicks,\n bandSize = _ref4.bandSize,\n dataKey = _ref4.dataKey,\n stackedData = _ref4.stackedData,\n dataStartIndex = _ref4.dataStartIndex,\n displayedData = _ref4.displayedData,\n offset = _ref4.offset;\n var layout = props.layout;\n var hasStack = stackedData && stackedData.length;\n var baseValue = _Area.getBaseValue(props, item, xAxis, yAxis);\n var isHorizontalLayout = layout === 'horizontal';\n var isRange = false;\n var points = displayedData.map(function (entry, index) {\n var value;\n if (hasStack) {\n value = stackedData[dataStartIndex + index];\n } else {\n value = getValueByDataKey(entry, dataKey);\n if (!Array.isArray(value)) {\n value = [baseValue, value];\n } else {\n isRange = true;\n }\n }\n var isBreakPoint = value[1] == null || hasStack && getValueByDataKey(entry, dataKey) == null;\n if (isHorizontalLayout) {\n return {\n x: getCateCoordinateOfLine({\n axis: xAxis,\n ticks: xAxisTicks,\n bandSize: bandSize,\n entry: entry,\n index: index\n }),\n y: isBreakPoint ? null : yAxis.scale(value[1]),\n value: value,\n payload: entry\n };\n }\n return {\n x: isBreakPoint ? null : xAxis.scale(value[1]),\n y: getCateCoordinateOfLine({\n axis: yAxis,\n ticks: yAxisTicks,\n bandSize: bandSize,\n entry: entry,\n index: index\n }),\n value: value,\n payload: entry\n };\n });\n var baseLine;\n if (hasStack || isRange) {\n baseLine = points.map(function (entry) {\n var x = Array.isArray(entry.value) ? entry.value[0] : null;\n if (isHorizontalLayout) {\n return {\n x: entry.x,\n y: x != null && entry.y != null ? yAxis.scale(x) : null\n };\n }\n return {\n x: x != null ? xAxis.scale(x) : null,\n y: entry.y\n };\n });\n } else {\n baseLine = isHorizontalLayout ? yAxis.scale(baseValue) : xAxis.scale(baseValue);\n }\n return _objectSpread({\n points: points,\n baseLine: baseLine,\n layout: layout,\n isRange: isRange\n }, offset);\n});\n_defineProperty(Area, \"renderDotItem\", function (option, props) {\n var dotItem;\n if ( /*#__PURE__*/React.isValidElement(option)) {\n dotItem = /*#__PURE__*/React.cloneElement(option, props);\n } else if (isFunction(option)) {\n dotItem = option(props);\n } else {\n var className = clsx('recharts-area-dot', typeof option !== 'boolean' ? option.className : '');\n var key = props.key,\n rest = _objectWithoutProperties(props, _excluded2);\n dotItem = /*#__PURE__*/React.createElement(Dot, _extends({}, rest, {\n key: key,\n className: className\n }));\n }\n return dotItem;\n});","/**\n * @fileOverview Area Chart\n */\nimport { generateCategoricalChart } from './generateCategoricalChart';\nimport { Area } from '../cartesian/Area';\nimport { XAxis } from '../cartesian/XAxis';\nimport { YAxis } from '../cartesian/YAxis';\nimport { formatAxisMap } from '../util/CartesianUtils';\nexport var AreaChart = generateCategoricalChart({\n chartName: 'AreaChart',\n GraphicalChild: Area,\n axisComponents: [{\n axisType: 'xAxis',\n AxisComp: XAxis\n }, {\n axisType: 'yAxis',\n AxisComp: YAxis\n }],\n formatAxisMap: formatAxisMap\n});"],"names":["_excluded","_excluded2","_Area","_typeof","o","_objectWithoutProperties","source","excluded","target","_objectWithoutPropertiesLoose","key","i","sourceSymbolKeys","_extends","ownKeys","r","t","_objectSpread","_defineProperty","_classCallCheck","instance","Constructor","_defineProperties","props","descriptor","_toPropertyKey","_createClass","protoProps","staticProps","_callSuper","e","_getPrototypeOf","_possibleConstructorReturn","_isNativeReflectConstruct","self","call","_assertThisInitialized","_inherits","subClass","superClass","_setPrototypeOf","p","obj","value","_toPrimitive","Area","_PureComponent","_this","_len","args","_key","uniqueId","onAnimationEnd","isFunction","onAnimationStart","needClip","clipDot","clipPathId","isAnimationActive","isAnimationFinished","_this$props","dot","points","dataKey","areaProps","filterProps","customDotProps","dots","entry","dotProps","dotsProps","React","Layer","alpha","_this$props2","baseLine","strokeWidth","startX","endX","width","maxY","max","isNumber","_this$props3","startY","endY","height","maxX","layout","_this$props4","type","stroke","connectNulls","isRange","others","Curve","_this2","_this$props5","animationBegin","animationDuration","animationEasing","animationId","_this$state","prevPoints","prevBaseLine","Animate","_ref","prevPointsDiffFactor","stepPoints","index","prevPointIndex","prev","interpolatorX","interpolateNumber","interpolatorY","stepBaseLine","interpolator","isNil","isNan","_interpolator","_this$props6","_this$state2","totalLength","isEqual","_filterProps","_this$props7","hide","className","top","left","xAxis","yAxis","id","hasSinglePoint","layerClass","clsx","needClipX","needClipY","_ref2","_ref2$r","_ref2$strokeWidth","_ref3","hasClipDot","_ref3$clipDot","dotSize","LabelList","nextProps","prevState","PureComponent","Global","item","chartBaseValue","itemBaseValue","baseValue","numericAxis","domain","domainMax","domainMin","_ref4","xAxisTicks","yAxisTicks","bandSize","stackedData","dataStartIndex","displayedData","offset","hasStack","isHorizontalLayout","getValueByDataKey","isBreakPoint","getCateCoordinateOfLine","x","option","dotItem","rest","Dot","AreaChart","generateCategoricalChart","XAxis","YAxis","formatAxisMap"],"mappings":"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","x_google_ignoreList":[0,1]}
|
|
1
|
+
{"version":3,"file":"AreaChart-VUd_iOtO.js","sources":["../../node_modules/recharts/es6/cartesian/Area.js","../../node_modules/recharts/es6/chart/AreaChart.js"],"sourcesContent":["var _excluded = [\"layout\", \"type\", \"stroke\", \"connectNulls\", \"isRange\", \"ref\"],\n _excluded2 = [\"key\"];\nvar _Area;\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } } return target; }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\n/**\n * @fileOverview Area\n */\nimport React, { PureComponent } from 'react';\nimport clsx from 'clsx';\nimport Animate from 'react-smooth';\nimport isFunction from 'lodash/isFunction';\nimport max from 'lodash/max';\nimport isNil from 'lodash/isNil';\nimport isNan from 'lodash/isNaN';\nimport isEqual from 'lodash/isEqual';\nimport { Curve } from '../shape/Curve';\nimport { Dot } from '../shape/Dot';\nimport { Layer } from '../container/Layer';\nimport { LabelList } from '../component/LabelList';\nimport { Global } from '../util/Global';\nimport { isNumber, uniqueId, interpolateNumber } from '../util/DataUtils';\nimport { getCateCoordinateOfLine, getValueByDataKey } from '../util/ChartUtils';\nimport { filterProps, hasClipDot } from '../util/ReactUtils';\nexport var Area = /*#__PURE__*/function (_PureComponent) {\n function Area() {\n var _this;\n _classCallCheck(this, Area);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _callSuper(this, Area, [].concat(args));\n _defineProperty(_this, \"state\", {\n isAnimationFinished: true\n });\n _defineProperty(_this, \"id\", uniqueId('recharts-area-'));\n _defineProperty(_this, \"handleAnimationEnd\", function () {\n var onAnimationEnd = _this.props.onAnimationEnd;\n _this.setState({\n isAnimationFinished: true\n });\n if (isFunction(onAnimationEnd)) {\n onAnimationEnd();\n }\n });\n _defineProperty(_this, \"handleAnimationStart\", function () {\n var onAnimationStart = _this.props.onAnimationStart;\n _this.setState({\n isAnimationFinished: false\n });\n if (isFunction(onAnimationStart)) {\n onAnimationStart();\n }\n });\n return _this;\n }\n _inherits(Area, _PureComponent);\n return _createClass(Area, [{\n key: \"renderDots\",\n value: function renderDots(needClip, clipDot, clipPathId) {\n var isAnimationActive = this.props.isAnimationActive;\n var isAnimationFinished = this.state.isAnimationFinished;\n if (isAnimationActive && !isAnimationFinished) {\n return null;\n }\n var _this$props = this.props,\n dot = _this$props.dot,\n points = _this$props.points,\n dataKey = _this$props.dataKey;\n var areaProps = filterProps(this.props, false);\n var customDotProps = filterProps(dot, true);\n var dots = points.map(function (entry, i) {\n var dotProps = _objectSpread(_objectSpread(_objectSpread({\n key: \"dot-\".concat(i),\n r: 3\n }, areaProps), customDotProps), {}, {\n index: i,\n cx: entry.x,\n cy: entry.y,\n dataKey: dataKey,\n value: entry.value,\n payload: entry.payload,\n points: points\n });\n return Area.renderDotItem(dot, dotProps);\n });\n var dotsProps = {\n clipPath: needClip ? \"url(#clipPath-\".concat(clipDot ? '' : 'dots-').concat(clipPathId, \")\") : null\n };\n return /*#__PURE__*/React.createElement(Layer, _extends({\n className: \"recharts-area-dots\"\n }, dotsProps), dots);\n }\n }, {\n key: \"renderHorizontalRect\",\n value: function renderHorizontalRect(alpha) {\n var _this$props2 = this.props,\n baseLine = _this$props2.baseLine,\n points = _this$props2.points,\n strokeWidth = _this$props2.strokeWidth;\n var startX = points[0].x;\n var endX = points[points.length - 1].x;\n var width = alpha * Math.abs(startX - endX);\n var maxY = max(points.map(function (entry) {\n return entry.y || 0;\n }));\n if (isNumber(baseLine) && typeof baseLine === 'number') {\n maxY = Math.max(baseLine, maxY);\n } else if (baseLine && Array.isArray(baseLine) && baseLine.length) {\n maxY = Math.max(max(baseLine.map(function (entry) {\n return entry.y || 0;\n })), maxY);\n }\n if (isNumber(maxY)) {\n return /*#__PURE__*/React.createElement(\"rect\", {\n x: startX < endX ? startX : startX - width,\n y: 0,\n width: width,\n height: Math.floor(maxY + (strokeWidth ? parseInt(\"\".concat(strokeWidth), 10) : 1))\n });\n }\n return null;\n }\n }, {\n key: \"renderVerticalRect\",\n value: function renderVerticalRect(alpha) {\n var _this$props3 = this.props,\n baseLine = _this$props3.baseLine,\n points = _this$props3.points,\n strokeWidth = _this$props3.strokeWidth;\n var startY = points[0].y;\n var endY = points[points.length - 1].y;\n var height = alpha * Math.abs(startY - endY);\n var maxX = max(points.map(function (entry) {\n return entry.x || 0;\n }));\n if (isNumber(baseLine) && typeof baseLine === 'number') {\n maxX = Math.max(baseLine, maxX);\n } else if (baseLine && Array.isArray(baseLine) && baseLine.length) {\n maxX = Math.max(max(baseLine.map(function (entry) {\n return entry.x || 0;\n })), maxX);\n }\n if (isNumber(maxX)) {\n return /*#__PURE__*/React.createElement(\"rect\", {\n x: 0,\n y: startY < endY ? startY : startY - height,\n width: maxX + (strokeWidth ? parseInt(\"\".concat(strokeWidth), 10) : 1),\n height: Math.floor(height)\n });\n }\n return null;\n }\n }, {\n key: \"renderClipRect\",\n value: function renderClipRect(alpha) {\n var layout = this.props.layout;\n if (layout === 'vertical') {\n return this.renderVerticalRect(alpha);\n }\n return this.renderHorizontalRect(alpha);\n }\n }, {\n key: \"renderAreaStatically\",\n value: function renderAreaStatically(points, baseLine, needClip, clipPathId) {\n var _this$props4 = this.props,\n layout = _this$props4.layout,\n type = _this$props4.type,\n stroke = _this$props4.stroke,\n connectNulls = _this$props4.connectNulls,\n isRange = _this$props4.isRange,\n ref = _this$props4.ref,\n others = _objectWithoutProperties(_this$props4, _excluded);\n return /*#__PURE__*/React.createElement(Layer, {\n clipPath: needClip ? \"url(#clipPath-\".concat(clipPathId, \")\") : null\n }, /*#__PURE__*/React.createElement(Curve, _extends({}, filterProps(others, true), {\n points: points,\n connectNulls: connectNulls,\n type: type,\n baseLine: baseLine,\n layout: layout,\n stroke: \"none\",\n className: \"recharts-area-area\"\n })), stroke !== 'none' && /*#__PURE__*/React.createElement(Curve, _extends({}, filterProps(this.props, false), {\n className: \"recharts-area-curve\",\n layout: layout,\n type: type,\n connectNulls: connectNulls,\n fill: \"none\",\n points: points\n })), stroke !== 'none' && isRange && /*#__PURE__*/React.createElement(Curve, _extends({}, filterProps(this.props, false), {\n className: \"recharts-area-curve\",\n layout: layout,\n type: type,\n connectNulls: connectNulls,\n fill: \"none\",\n points: baseLine\n })));\n }\n }, {\n key: \"renderAreaWithAnimation\",\n value: function renderAreaWithAnimation(needClip, clipPathId) {\n var _this2 = this;\n var _this$props5 = this.props,\n points = _this$props5.points,\n baseLine = _this$props5.baseLine,\n isAnimationActive = _this$props5.isAnimationActive,\n animationBegin = _this$props5.animationBegin,\n animationDuration = _this$props5.animationDuration,\n animationEasing = _this$props5.animationEasing,\n animationId = _this$props5.animationId;\n var _this$state = this.state,\n prevPoints = _this$state.prevPoints,\n prevBaseLine = _this$state.prevBaseLine;\n // const clipPathId = isNil(id) ? this.id : id;\n\n return /*#__PURE__*/React.createElement(Animate, {\n begin: animationBegin,\n duration: animationDuration,\n isActive: isAnimationActive,\n easing: animationEasing,\n from: {\n t: 0\n },\n to: {\n t: 1\n },\n key: \"area-\".concat(animationId),\n onAnimationEnd: this.handleAnimationEnd,\n onAnimationStart: this.handleAnimationStart\n }, function (_ref) {\n var t = _ref.t;\n if (prevPoints) {\n var prevPointsDiffFactor = prevPoints.length / points.length;\n // update animtaion\n var stepPoints = points.map(function (entry, index) {\n var prevPointIndex = Math.floor(index * prevPointsDiffFactor);\n if (prevPoints[prevPointIndex]) {\n var prev = prevPoints[prevPointIndex];\n var interpolatorX = interpolateNumber(prev.x, entry.x);\n var interpolatorY = interpolateNumber(prev.y, entry.y);\n return _objectSpread(_objectSpread({}, entry), {}, {\n x: interpolatorX(t),\n y: interpolatorY(t)\n });\n }\n return entry;\n });\n var stepBaseLine;\n if (isNumber(baseLine) && typeof baseLine === 'number') {\n var interpolator = interpolateNumber(prevBaseLine, baseLine);\n stepBaseLine = interpolator(t);\n } else if (isNil(baseLine) || isNan(baseLine)) {\n var _interpolator = interpolateNumber(prevBaseLine, 0);\n stepBaseLine = _interpolator(t);\n } else {\n stepBaseLine = baseLine.map(function (entry, index) {\n var prevPointIndex = Math.floor(index * prevPointsDiffFactor);\n if (prevBaseLine[prevPointIndex]) {\n var prev = prevBaseLine[prevPointIndex];\n var interpolatorX = interpolateNumber(prev.x, entry.x);\n var interpolatorY = interpolateNumber(prev.y, entry.y);\n return _objectSpread(_objectSpread({}, entry), {}, {\n x: interpolatorX(t),\n y: interpolatorY(t)\n });\n }\n return entry;\n });\n }\n return _this2.renderAreaStatically(stepPoints, stepBaseLine, needClip, clipPathId);\n }\n return /*#__PURE__*/React.createElement(Layer, null, /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"animationClipPath-\".concat(clipPathId)\n }, _this2.renderClipRect(t))), /*#__PURE__*/React.createElement(Layer, {\n clipPath: \"url(#animationClipPath-\".concat(clipPathId, \")\")\n }, _this2.renderAreaStatically(points, baseLine, needClip, clipPathId)));\n });\n }\n }, {\n key: \"renderArea\",\n value: function renderArea(needClip, clipPathId) {\n var _this$props6 = this.props,\n points = _this$props6.points,\n baseLine = _this$props6.baseLine,\n isAnimationActive = _this$props6.isAnimationActive;\n var _this$state2 = this.state,\n prevPoints = _this$state2.prevPoints,\n prevBaseLine = _this$state2.prevBaseLine,\n totalLength = _this$state2.totalLength;\n if (isAnimationActive && points && points.length && (!prevPoints && totalLength > 0 || !isEqual(prevPoints, points) || !isEqual(prevBaseLine, baseLine))) {\n return this.renderAreaWithAnimation(needClip, clipPathId);\n }\n return this.renderAreaStatically(points, baseLine, needClip, clipPathId);\n }\n }, {\n key: \"render\",\n value: function render() {\n var _filterProps;\n var _this$props7 = this.props,\n hide = _this$props7.hide,\n dot = _this$props7.dot,\n points = _this$props7.points,\n className = _this$props7.className,\n top = _this$props7.top,\n left = _this$props7.left,\n xAxis = _this$props7.xAxis,\n yAxis = _this$props7.yAxis,\n width = _this$props7.width,\n height = _this$props7.height,\n isAnimationActive = _this$props7.isAnimationActive,\n id = _this$props7.id;\n if (hide || !points || !points.length) {\n return null;\n }\n var isAnimationFinished = this.state.isAnimationFinished;\n var hasSinglePoint = points.length === 1;\n var layerClass = clsx('recharts-area', className);\n var needClipX = xAxis && xAxis.allowDataOverflow;\n var needClipY = yAxis && yAxis.allowDataOverflow;\n var needClip = needClipX || needClipY;\n var clipPathId = isNil(id) ? this.id : id;\n var _ref2 = (_filterProps = filterProps(dot, false)) !== null && _filterProps !== void 0 ? _filterProps : {\n r: 3,\n strokeWidth: 2\n },\n _ref2$r = _ref2.r,\n r = _ref2$r === void 0 ? 3 : _ref2$r,\n _ref2$strokeWidth = _ref2.strokeWidth,\n strokeWidth = _ref2$strokeWidth === void 0 ? 2 : _ref2$strokeWidth;\n var _ref3 = hasClipDot(dot) ? dot : {},\n _ref3$clipDot = _ref3.clipDot,\n clipDot = _ref3$clipDot === void 0 ? true : _ref3$clipDot;\n var dotSize = r * 2 + strokeWidth;\n return /*#__PURE__*/React.createElement(Layer, {\n className: layerClass\n }, needClipX || needClipY ? /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"clipPath-\".concat(clipPathId)\n }, /*#__PURE__*/React.createElement(\"rect\", {\n x: needClipX ? left : left - width / 2,\n y: needClipY ? top : top - height / 2,\n width: needClipX ? width : width * 2,\n height: needClipY ? height : height * 2\n })), !clipDot && /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"clipPath-dots-\".concat(clipPathId)\n }, /*#__PURE__*/React.createElement(\"rect\", {\n x: left - dotSize / 2,\n y: top - dotSize / 2,\n width: width + dotSize,\n height: height + dotSize\n }))) : null, !hasSinglePoint ? this.renderArea(needClip, clipPathId) : null, (dot || hasSinglePoint) && this.renderDots(needClip, clipDot, clipPathId), (!isAnimationActive || isAnimationFinished) && LabelList.renderCallByParent(this.props, points));\n }\n }], [{\n key: \"getDerivedStateFromProps\",\n value: function getDerivedStateFromProps(nextProps, prevState) {\n if (nextProps.animationId !== prevState.prevAnimationId) {\n return {\n prevAnimationId: nextProps.animationId,\n curPoints: nextProps.points,\n curBaseLine: nextProps.baseLine,\n prevPoints: prevState.curPoints,\n prevBaseLine: prevState.curBaseLine\n };\n }\n if (nextProps.points !== prevState.curPoints || nextProps.baseLine !== prevState.curBaseLine) {\n return {\n curPoints: nextProps.points,\n curBaseLine: nextProps.baseLine\n };\n }\n return null;\n }\n }]);\n}(PureComponent);\n_Area = Area;\n_defineProperty(Area, \"displayName\", 'Area');\n_defineProperty(Area, \"defaultProps\", {\n stroke: '#3182bd',\n fill: '#3182bd',\n fillOpacity: 0.6,\n xAxisId: 0,\n yAxisId: 0,\n legendType: 'line',\n connectNulls: false,\n // points of area\n points: [],\n dot: false,\n activeDot: true,\n hide: false,\n isAnimationActive: !Global.isSsr,\n animationBegin: 0,\n animationDuration: 1500,\n animationEasing: 'ease'\n});\n_defineProperty(Area, \"getBaseValue\", function (props, item, xAxis, yAxis) {\n var layout = props.layout,\n chartBaseValue = props.baseValue;\n var itemBaseValue = item.props.baseValue;\n\n // The baseValue can be defined both on the AreaChart as well as on the Area.\n // The value for the item takes precedence.\n var baseValue = itemBaseValue !== null && itemBaseValue !== void 0 ? itemBaseValue : chartBaseValue;\n if (isNumber(baseValue) && typeof baseValue === 'number') {\n return baseValue;\n }\n var numericAxis = layout === 'horizontal' ? yAxis : xAxis;\n var domain = numericAxis.scale.domain();\n if (numericAxis.type === 'number') {\n var domainMax = Math.max(domain[0], domain[1]);\n var domainMin = Math.min(domain[0], domain[1]);\n if (baseValue === 'dataMin') {\n return domainMin;\n }\n if (baseValue === 'dataMax') {\n return domainMax;\n }\n return domainMax < 0 ? domainMax : Math.max(Math.min(domain[0], domain[1]), 0);\n }\n if (baseValue === 'dataMin') {\n return domain[0];\n }\n if (baseValue === 'dataMax') {\n return domain[1];\n }\n return domain[0];\n});\n_defineProperty(Area, \"getComposedData\", function (_ref4) {\n var props = _ref4.props,\n item = _ref4.item,\n xAxis = _ref4.xAxis,\n yAxis = _ref4.yAxis,\n xAxisTicks = _ref4.xAxisTicks,\n yAxisTicks = _ref4.yAxisTicks,\n bandSize = _ref4.bandSize,\n dataKey = _ref4.dataKey,\n stackedData = _ref4.stackedData,\n dataStartIndex = _ref4.dataStartIndex,\n displayedData = _ref4.displayedData,\n offset = _ref4.offset;\n var layout = props.layout;\n var hasStack = stackedData && stackedData.length;\n var baseValue = _Area.getBaseValue(props, item, xAxis, yAxis);\n var isHorizontalLayout = layout === 'horizontal';\n var isRange = false;\n var points = displayedData.map(function (entry, index) {\n var value;\n if (hasStack) {\n value = stackedData[dataStartIndex + index];\n } else {\n value = getValueByDataKey(entry, dataKey);\n if (!Array.isArray(value)) {\n value = [baseValue, value];\n } else {\n isRange = true;\n }\n }\n var isBreakPoint = value[1] == null || hasStack && getValueByDataKey(entry, dataKey) == null;\n if (isHorizontalLayout) {\n return {\n x: getCateCoordinateOfLine({\n axis: xAxis,\n ticks: xAxisTicks,\n bandSize: bandSize,\n entry: entry,\n index: index\n }),\n y: isBreakPoint ? null : yAxis.scale(value[1]),\n value: value,\n payload: entry\n };\n }\n return {\n x: isBreakPoint ? null : xAxis.scale(value[1]),\n y: getCateCoordinateOfLine({\n axis: yAxis,\n ticks: yAxisTicks,\n bandSize: bandSize,\n entry: entry,\n index: index\n }),\n value: value,\n payload: entry\n };\n });\n var baseLine;\n if (hasStack || isRange) {\n baseLine = points.map(function (entry) {\n var x = Array.isArray(entry.value) ? entry.value[0] : null;\n if (isHorizontalLayout) {\n return {\n x: entry.x,\n y: x != null && entry.y != null ? yAxis.scale(x) : null\n };\n }\n return {\n x: x != null ? xAxis.scale(x) : null,\n y: entry.y\n };\n });\n } else {\n baseLine = isHorizontalLayout ? yAxis.scale(baseValue) : xAxis.scale(baseValue);\n }\n return _objectSpread({\n points: points,\n baseLine: baseLine,\n layout: layout,\n isRange: isRange\n }, offset);\n});\n_defineProperty(Area, \"renderDotItem\", function (option, props) {\n var dotItem;\n if ( /*#__PURE__*/React.isValidElement(option)) {\n dotItem = /*#__PURE__*/React.cloneElement(option, props);\n } else if (isFunction(option)) {\n dotItem = option(props);\n } else {\n var className = clsx('recharts-area-dot', typeof option !== 'boolean' ? option.className : '');\n var key = props.key,\n rest = _objectWithoutProperties(props, _excluded2);\n dotItem = /*#__PURE__*/React.createElement(Dot, _extends({}, rest, {\n key: key,\n className: className\n }));\n }\n return dotItem;\n});","/**\n * @fileOverview Area Chart\n */\nimport { generateCategoricalChart } from './generateCategoricalChart';\nimport { Area } from '../cartesian/Area';\nimport { XAxis } from '../cartesian/XAxis';\nimport { YAxis } from '../cartesian/YAxis';\nimport { formatAxisMap } from '../util/CartesianUtils';\nexport var AreaChart = generateCategoricalChart({\n chartName: 'AreaChart',\n GraphicalChild: Area,\n axisComponents: [{\n axisType: 'xAxis',\n AxisComp: XAxis\n }, {\n axisType: 'yAxis',\n AxisComp: YAxis\n }],\n formatAxisMap: formatAxisMap\n});"],"names":["_excluded","_excluded2","_Area","_typeof","o","_objectWithoutProperties","source","excluded","target","_objectWithoutPropertiesLoose","key","i","sourceSymbolKeys","_extends","ownKeys","r","t","_objectSpread","_defineProperty","_classCallCheck","instance","Constructor","_defineProperties","props","descriptor","_toPropertyKey","_createClass","protoProps","staticProps","_callSuper","e","_getPrototypeOf","_possibleConstructorReturn","_isNativeReflectConstruct","self","call","_assertThisInitialized","_inherits","subClass","superClass","_setPrototypeOf","p","obj","value","_toPrimitive","Area","_PureComponent","_this","_len","args","_key","uniqueId","onAnimationEnd","isFunction","onAnimationStart","needClip","clipDot","clipPathId","isAnimationActive","isAnimationFinished","_this$props","dot","points","dataKey","areaProps","filterProps","customDotProps","dots","entry","dotProps","dotsProps","React","Layer","alpha","_this$props2","baseLine","strokeWidth","startX","endX","width","maxY","max","isNumber","_this$props3","startY","endY","height","maxX","layout","_this$props4","type","stroke","connectNulls","isRange","others","Curve","_this2","_this$props5","animationBegin","animationDuration","animationEasing","animationId","_this$state","prevPoints","prevBaseLine","Animate","_ref","prevPointsDiffFactor","stepPoints","index","prevPointIndex","prev","interpolatorX","interpolateNumber","interpolatorY","stepBaseLine","interpolator","isNil","isNan","_interpolator","_this$props6","_this$state2","totalLength","isEqual","_filterProps","_this$props7","hide","className","top","left","xAxis","yAxis","id","hasSinglePoint","layerClass","clsx","needClipX","needClipY","_ref2","_ref2$r","_ref2$strokeWidth","_ref3","hasClipDot","_ref3$clipDot","dotSize","LabelList","nextProps","prevState","PureComponent","Global","item","chartBaseValue","itemBaseValue","baseValue","numericAxis","domain","domainMax","domainMin","_ref4","xAxisTicks","yAxisTicks","bandSize","stackedData","dataStartIndex","displayedData","offset","hasStack","isHorizontalLayout","getValueByDataKey","isBreakPoint","getCateCoordinateOfLine","x","option","dotItem","rest","Dot","AreaChart","generateCategoricalChart","XAxis","YAxis","formatAxisMap"],"mappings":"iRAAA,IAAIA,GAAY,CAAC,SAAU,OAAQ,SAAU,eAAgB,UAAW,KAAK,EAC3EC,GAAa,CAAC,KAAK,EACjBC,GACJ,SAASC,EAAQC,EAAG,CAAE,0BAA2B,OAAOD,EAAwB,OAAO,QAArB,YAA2C,OAAO,OAAO,UAA1B,SAAqC,SAAUC,EAAG,CAAE,OAAO,OAAOA,CAAG,EAAI,SAAUA,EAAG,CAAE,OAAOA,GAAmB,OAAO,QAArB,YAA+BA,EAAE,cAAgB,QAAUA,IAAM,OAAO,UAAY,SAAW,OAAOA,CAAG,EAAGD,EAAQC,CAAC,CAAG,CAC7T,SAASC,GAAyBC,EAAQC,EAAU,CAAE,GAAID,GAAU,KAAM,MAAO,CAAA,EAAI,IAAIE,EAASC,GAA8BH,EAAQC,CAAQ,EAAOG,EAAKC,EAAG,GAAI,OAAO,sBAAuB,CAAE,IAAIC,EAAmB,OAAO,sBAAsBN,CAAM,EAAG,IAAKK,EAAI,EAAGA,EAAIC,EAAiB,OAAQD,IAAOD,EAAME,EAAiBD,CAAC,EAAO,EAAAJ,EAAS,QAAQG,CAAG,GAAK,IAAkB,OAAO,UAAU,qBAAqB,KAAKJ,EAAQI,CAAG,IAAaF,EAAOE,CAAG,EAAIJ,EAAOI,CAAG,EAAK,CAAE,OAAOF,CAAQ,CAC3e,SAASC,GAA8BH,EAAQC,EAAU,CAAE,GAAID,GAAU,KAAM,MAAO,CAAA,EAAI,IAAIE,EAAS,GAAI,QAASE,KAAOJ,EAAU,GAAI,OAAO,UAAU,eAAe,KAAKA,EAAQI,CAAG,EAAG,CAAE,GAAIH,EAAS,QAAQG,CAAG,GAAK,EAAG,SAAUF,EAAOE,CAAG,EAAIJ,EAAOI,CAAG,CAAG,CAAI,OAAOF,CAAQ,CACtR,SAASK,GAAW,CAAE,OAAAA,EAAW,OAAO,OAAS,OAAO,OAAO,OAAS,SAAUL,EAAQ,CAAE,QAASG,EAAI,EAAGA,EAAI,UAAU,OAAQA,IAAK,CAAE,IAAIL,EAAS,UAAUK,CAAC,EAAG,QAASD,KAAOJ,EAAc,OAAO,UAAU,eAAe,KAAKA,EAAQI,CAAG,IAAKF,EAAOE,CAAG,EAAIJ,EAAOI,CAAG,EAAO,CAAE,OAAOF,CAAQ,EAAUK,EAAS,MAAM,KAAM,SAAS,CAAG,CAClV,SAASC,EAAQ,EAAGC,EAAG,CAAE,IAAIC,EAAI,OAAO,KAAK,CAAC,EAAG,GAAI,OAAO,sBAAuB,CAAE,IAAIZ,EAAI,OAAO,sBAAsB,CAAC,EAAGW,IAAMX,EAAIA,EAAE,OAAO,SAAUW,EAAG,CAAE,OAAO,OAAO,yBAAyB,EAAGA,CAAC,EAAE,UAAY,CAAC,GAAIC,EAAE,KAAK,MAAMA,EAAGZ,CAAC,CAAG,CAAE,OAAOY,CAAG,CAC9P,SAASC,EAAc,EAAG,CAAE,QAASF,EAAI,EAAGA,EAAI,UAAU,OAAQA,IAAK,CAAE,IAAIC,EAAY,UAAUD,CAAC,GAAnB,KAAuB,UAAUA,CAAC,EAAI,CAAA,EAAIA,EAAI,EAAID,EAAQ,OAAOE,CAAC,EAAG,EAAE,EAAE,QAAQ,SAAUD,EAAG,CAAEG,EAAgB,EAAGH,EAAGC,EAAED,CAAC,CAAC,CAAG,CAAC,EAAI,OAAO,0BAA4B,OAAO,iBAAiB,EAAG,OAAO,0BAA0BC,CAAC,CAAC,EAAIF,EAAQ,OAAOE,CAAC,CAAC,EAAE,QAAQ,SAAUD,EAAG,CAAE,OAAO,eAAe,EAAGA,EAAG,OAAO,yBAAyBC,EAAGD,CAAC,CAAC,CAAG,CAAC,CAAG,CAAE,OAAO,CAAG,CACtb,SAASI,GAAgBC,EAAUC,EAAa,CAAE,GAAI,EAAED,aAAoBC,GAAgB,MAAM,IAAI,UAAU,mCAAmC,CAAK,CACxJ,SAASC,EAAkBd,EAAQe,EAAO,CAAE,QAASZ,EAAI,EAAGA,EAAIY,EAAM,OAAQZ,IAAK,CAAE,IAAIa,EAAaD,EAAMZ,CAAC,EAAGa,EAAW,WAAaA,EAAW,YAAc,GAAOA,EAAW,aAAe,GAAU,UAAWA,IAAYA,EAAW,SAAW,IAAM,OAAO,eAAehB,EAAQiB,GAAeD,EAAW,GAAG,EAAGA,CAAU,CAAG,CAAE,CAC5U,SAASE,GAAaL,EAAaM,EAAYC,EAAa,CAAE,OAAID,GAAYL,EAAkBD,EAAY,UAAWM,CAAU,EAAOC,GAAaN,EAAkBD,EAAaO,CAAW,EAAG,OAAO,eAAeP,EAAa,YAAa,CAAE,SAAU,EAAK,CAAE,EAAUA,CAAa,CAC5R,SAASQ,GAAWb,EAAGZ,EAAG0B,EAAG,CAAE,OAAO1B,EAAI2B,EAAgB3B,CAAC,EAAG4B,GAA2BhB,EAAGiB,GAAyB,EAAK,QAAQ,UAAU7B,EAAG0B,GAAK,CAAA,EAAIC,EAAgBf,CAAC,EAAE,WAAW,EAAIZ,EAAE,MAAMY,EAAGc,CAAC,CAAC,CAAG,CAC1M,SAASE,GAA2BE,EAAMC,EAAM,CAAE,GAAIA,IAAShC,EAAQgC,CAAI,IAAM,UAAY,OAAOA,GAAS,YAAe,OAAOA,EAAa,GAAIA,IAAS,OAAU,MAAM,IAAI,UAAU,0DAA0D,EAAK,OAAOC,GAAuBF,CAAI,CAAG,CAC/R,SAASE,GAAuBF,EAAM,CAAE,GAAIA,IAAS,OAAU,MAAM,IAAI,eAAe,2DAA2D,EAAK,OAAOA,CAAM,CACrK,SAASD,IAA4B,CAAE,GAAI,CAAE,IAAIjB,EAAI,CAAC,QAAQ,UAAU,QAAQ,KAAK,QAAQ,UAAU,QAAS,CAAA,EAAI,UAAY,CAAC,CAAC,CAAC,CAAG,MAAY,CAAC,CAAE,OAAQiB,GAA4B,UAAqC,CAAE,MAAO,CAAC,CAACjB,CAAG,GAAC,CAAK,CAClP,SAASe,EAAgB3B,EAAG,CAAE,OAAA2B,EAAkB,OAAO,eAAiB,OAAO,eAAe,OAAS,SAAyB3B,EAAG,CAAE,OAAOA,EAAE,WAAa,OAAO,eAAeA,CAAC,CAAG,EAAU2B,EAAgB3B,CAAC,CAAG,CACnN,SAASiC,GAAUC,EAAUC,EAAY,CAAE,GAAI,OAAOA,GAAe,YAAcA,IAAe,KAAQ,MAAM,IAAI,UAAU,oDAAoD,EAAKD,EAAS,UAAY,OAAO,OAAOC,GAAcA,EAAW,UAAW,CAAE,YAAa,CAAE,MAAOD,EAAU,SAAU,GAAM,aAAc,EAAI,EAAI,EAAG,OAAO,eAAeA,EAAU,YAAa,CAAE,SAAU,EAAK,CAAE,EAAOC,GAAYC,EAAgBF,EAAUC,CAAU,CAAG,CACnc,SAASC,EAAgBpC,EAAGqC,EAAG,CAAE,OAAAD,EAAkB,OAAO,eAAiB,OAAO,eAAe,OAAS,SAAyBpC,EAAGqC,EAAG,CAAE,OAAArC,EAAE,UAAYqC,EAAUrC,CAAG,EAAUoC,EAAgBpC,EAAGqC,CAAC,CAAG,CACvM,SAASvB,EAAgBwB,EAAKhC,EAAKiC,EAAO,CAAE,OAAAjC,EAAMe,GAAef,CAAG,EAAOA,KAAOgC,EAAO,OAAO,eAAeA,EAAKhC,EAAK,CAAE,MAAOiC,EAAO,WAAY,GAAM,aAAc,GAAM,SAAU,EAAI,CAAE,EAAYD,EAAIhC,CAAG,EAAIiC,EAAgBD,CAAK,CAC3O,SAASjB,GAAeT,EAAG,CAAE,IAAIL,EAAIiC,GAAa5B,EAAG,QAAQ,EAAG,OAAmBb,EAAQQ,CAAC,GAArB,SAAyBA,EAAIA,EAAI,EAAI,CAC5G,SAASiC,GAAa5B,EAAGD,EAAG,CAAE,GAAgBZ,EAAQa,CAAC,GAArB,UAA0B,CAACA,EAAG,OAAOA,EAAG,IAAIc,EAAId,EAAE,OAAO,WAAW,EAAG,GAAec,IAAX,OAAc,CAAE,IAAInB,EAAImB,EAAE,KAAKd,EAAGD,CAAc,EAAG,GAAgBZ,EAAQQ,CAAC,GAArB,SAAwB,OAAOA,EAAG,MAAM,IAAI,UAAU,8CAA8C,CAAG,CAAE,OAAyB,OAAiBK,CAAC,CAAG,CAoBjT,IAAC6B,EAAoB,SAAUC,EAAgB,CACvD,SAASD,GAAO,CACd,IAAIE,EACJ5B,GAAgB,KAAM0B,CAAI,EAC1B,QAASG,EAAO,UAAU,OAAQC,EAAO,IAAI,MAAMD,CAAI,EAAGE,EAAO,EAAGA,EAAOF,EAAME,IAC/ED,EAAKC,CAAI,EAAI,UAAUA,CAAI,EAE7B,OAAAH,EAAQlB,GAAW,KAAMgB,EAAM,CAAA,EAAG,OAAOI,CAAI,CAAC,EAC9C/B,EAAgB6B,EAAO,QAAS,CAC9B,oBAAqB,EAC3B,CAAK,EACD7B,EAAgB6B,EAAO,KAAMI,GAAS,gBAAgB,CAAC,EACvDjC,EAAgB6B,EAAO,qBAAsB,UAAY,CACvD,IAAIK,EAAiBL,EAAM,MAAM,eACjCA,EAAM,SAAS,CACb,oBAAqB,EAC7B,CAAO,EACGM,EAAWD,CAAc,GAC3BA,EAAc,CAElB,CAAC,EACDlC,EAAgB6B,EAAO,uBAAwB,UAAY,CACzD,IAAIO,EAAmBP,EAAM,MAAM,iBACnCA,EAAM,SAAS,CACb,oBAAqB,EAC7B,CAAO,EACGM,EAAWC,CAAgB,GAC7BA,EAAgB,CAEpB,CAAC,EACMP,CACT,CACA,OAAAV,GAAUQ,EAAMC,CAAc,EACvBpB,GAAamB,EAAM,CAAC,CACzB,IAAK,aACL,MAAO,SAAoBU,EAAUC,EAASC,EAAY,CACxD,IAAIC,EAAoB,KAAK,MAAM,kBAC/BC,EAAsB,KAAK,MAAM,oBACrC,GAAID,GAAqB,CAACC,EACxB,OAAO,KAET,IAAIC,EAAc,KAAK,MACrBC,EAAMD,EAAY,IAClBE,EAASF,EAAY,OACrBG,EAAUH,EAAY,QACpBI,EAAYC,EAAY,KAAK,MAAO,EAAK,EACzCC,EAAiBD,EAAYJ,EAAK,EAAI,EACtCM,EAAOL,EAAO,IAAI,SAAUM,EAAOzD,EAAG,CACxC,IAAI0D,EAAWpD,EAAcA,EAAcA,EAAc,CACvD,IAAK,OAAO,OAAON,CAAC,EACpB,EAAG,CACb,EAAWqD,CAAS,EAAGE,CAAc,EAAG,GAAI,CAClC,MAAOvD,EACP,GAAIyD,EAAM,EACV,GAAIA,EAAM,EACV,QAASL,EACT,MAAOK,EAAM,MACb,QAASA,EAAM,QACf,OAAQN,CAClB,CAAS,EACD,OAAOjB,EAAK,cAAcgB,EAAKQ,CAAQ,CACzC,CAAC,EACGC,EAAY,CACd,SAAUf,EAAW,iBAAiB,OAAOC,EAAU,GAAK,OAAO,EAAE,OAAOC,EAAY,GAAG,EAAI,IACvG,EACM,OAAoBc,EAAM,cAAcC,EAAO3D,EAAS,CACtD,UAAW,oBACnB,EAASyD,CAAS,EAAGH,CAAI,CACrB,CACJ,EAAK,CACD,IAAK,uBACL,MAAO,SAA8BM,EAAO,CAC1C,IAAIC,EAAe,KAAK,MACtBC,EAAWD,EAAa,SACxBZ,EAASY,EAAa,OACtBE,EAAcF,EAAa,YACzBG,EAASf,EAAO,CAAC,EAAE,EACnBgB,EAAOhB,EAAOA,EAAO,OAAS,CAAC,EAAE,EACjCiB,EAAQN,EAAQ,KAAK,IAAII,EAASC,CAAI,EACtCE,EAAOC,EAAInB,EAAO,IAAI,SAAUM,EAAO,CACzC,OAAOA,EAAM,GAAK,CACpB,CAAC,CAAC,EAQF,OAPIc,EAASP,CAAQ,GAAK,OAAOA,GAAa,SAC5CK,EAAO,KAAK,IAAIL,EAAUK,CAAI,EACrBL,GAAY,MAAM,QAAQA,CAAQ,GAAKA,EAAS,SACzDK,EAAO,KAAK,IAAIC,EAAIN,EAAS,IAAI,SAAUP,EAAO,CAChD,OAAOA,EAAM,GAAK,CACpB,CAAC,CAAC,EAAGY,CAAI,GAEPE,EAASF,CAAI,EACKT,EAAM,cAAc,OAAQ,CAC9C,EAAGM,EAASC,EAAOD,EAASA,EAASE,EACrC,EAAG,EACH,MAAOA,EACP,OAAQ,KAAK,MAAMC,GAAQJ,EAAc,SAAS,GAAG,OAAOA,CAAW,EAAG,EAAE,EAAI,EAAE,CAC5F,CAAS,EAEI,IACT,CACJ,EAAK,CACD,IAAK,qBACL,MAAO,SAA4BH,EAAO,CACxC,IAAIU,EAAe,KAAK,MACtBR,EAAWQ,EAAa,SACxBrB,EAASqB,EAAa,OACtBP,EAAcO,EAAa,YACzBC,EAAStB,EAAO,CAAC,EAAE,EACnBuB,EAAOvB,EAAOA,EAAO,OAAS,CAAC,EAAE,EACjCwB,EAASb,EAAQ,KAAK,IAAIW,EAASC,CAAI,EACvCE,EAAON,EAAInB,EAAO,IAAI,SAAUM,EAAO,CACzC,OAAOA,EAAM,GAAK,CACpB,CAAC,CAAC,EAQF,OAPIc,EAASP,CAAQ,GAAK,OAAOA,GAAa,SAC5CY,EAAO,KAAK,IAAIZ,EAAUY,CAAI,EACrBZ,GAAY,MAAM,QAAQA,CAAQ,GAAKA,EAAS,SACzDY,EAAO,KAAK,IAAIN,EAAIN,EAAS,IAAI,SAAUP,EAAO,CAChD,OAAOA,EAAM,GAAK,CACpB,CAAC,CAAC,EAAGmB,CAAI,GAEPL,EAASK,CAAI,EACKhB,EAAM,cAAc,OAAQ,CAC9C,EAAG,EACH,EAAGa,EAASC,EAAOD,EAASA,EAASE,EACrC,MAAOC,GAAQX,EAAc,SAAS,GAAG,OAAOA,CAAW,EAAG,EAAE,EAAI,GACpE,OAAQ,KAAK,MAAMU,CAAM,CACnC,CAAS,EAEI,IACT,CACJ,EAAK,CACD,IAAK,iBACL,MAAO,SAAwBb,EAAO,CACpC,IAAIe,EAAS,KAAK,MAAM,OACxB,OAAIA,IAAW,WACN,KAAK,mBAAmBf,CAAK,EAE/B,KAAK,qBAAqBA,CAAK,CACxC,CACJ,EAAK,CACD,IAAK,uBACL,MAAO,SAA8BX,EAAQa,EAAUpB,EAAUE,EAAY,CACxE,IAACgC,EAAe,KAAK,MACtBD,EAASC,EAAa,OACtBC,EAAOD,EAAa,KACpBE,EAASF,EAAa,OACtBG,EAAeH,EAAa,aAC5BI,EAAUJ,EAAa,QACjBA,EAAa,IAC3B,IAAQK,EAASzF,GAAyBoF,EAAczF,EAAS,EAC3D,OAAoBuE,EAAM,cAAcC,EAAO,CAC7C,SAAUjB,EAAW,iBAAiB,OAAOE,EAAY,GAAG,EAAI,IACxE,EAAsBc,EAAM,cAAcwB,EAAOlF,EAAS,CAAA,EAAIoD,EAAY6B,EAAQ,EAAI,EAAG,CACjF,OAAQhC,EACR,aAAc8B,EACd,KAAMF,EACN,SAAUf,EACV,OAAQa,EACR,OAAQ,OACR,UAAW,oBACnB,CAAO,CAAC,EAAGG,IAAW,QAAuBpB,EAAM,cAAcwB,EAAOlF,EAAS,CAAA,EAAIoD,EAAY,KAAK,MAAO,EAAK,EAAG,CAC7G,UAAW,sBACX,OAAQuB,EACR,KAAME,EACN,aAAcE,EACd,KAAM,OACN,OAAQ9B,CAChB,CAAO,CAAC,EAAG6B,IAAW,QAAUE,GAAwBtB,EAAM,cAAcwB,EAAOlF,EAAS,CAAA,EAAIoD,EAAY,KAAK,MAAO,EAAK,EAAG,CACxH,UAAW,sBACX,OAAQuB,EACR,KAAME,EACN,aAAcE,EACd,KAAM,OACN,OAAQjB,CAChB,CAAO,CAAC,CAAC,CACL,CACJ,EAAK,CACD,IAAK,0BACL,MAAO,SAAiCpB,EAAUE,EAAY,CAC5D,IAAIuC,EAAS,KACTC,EAAe,KAAK,MACtBnC,EAASmC,EAAa,OACtBtB,EAAWsB,EAAa,SACxBvC,EAAoBuC,EAAa,kBACjCC,EAAiBD,EAAa,eAC9BE,EAAoBF,EAAa,kBACjCG,EAAkBH,EAAa,gBAC/BI,EAAcJ,EAAa,YACzBK,EAAc,KAAK,MACrBC,EAAaD,EAAY,WACzBE,EAAeF,EAAY,aAG7B,OAAoB/B,EAAM,cAAckC,GAAS,CAC/C,MAAOP,EACP,SAAUC,EACV,SAAUzC,EACV,OAAQ0C,EACR,KAAM,CACJ,EAAG,CACb,EACQ,GAAI,CACF,EAAG,CACb,EACQ,IAAK,QAAQ,OAAOC,CAAW,EAC/B,eAAgB,KAAK,mBACrB,iBAAkB,KAAK,oBAC/B,EAAS,SAAUK,EAAM,CACjB,IAAI1F,EAAI0F,EAAK,EACb,GAAIH,EAAY,CACd,IAAII,EAAuBJ,EAAW,OAASzC,EAAO,OAElD8C,EAAa9C,EAAO,IAAI,SAAUM,EAAOyC,EAAO,CAClD,IAAIC,EAAiB,KAAK,MAAMD,EAAQF,CAAoB,EAC5D,GAAIJ,EAAWO,CAAc,EAAG,CAC9B,IAAIC,EAAOR,EAAWO,CAAc,EAChCE,EAAgBC,EAAkBF,EAAK,EAAG3C,EAAM,CAAC,EACjD8C,EAAgBD,EAAkBF,EAAK,EAAG3C,EAAM,CAAC,EACrD,OAAOnD,EAAcA,EAAc,CAAA,EAAImD,CAAK,EAAG,CAAA,EAAI,CACjD,EAAG4C,EAAchG,CAAC,EAClB,EAAGkG,EAAclG,CAAC,CAClC,CAAe,CACH,CACA,OAAOoD,CACT,CAAC,EACG+C,EACJ,GAAIjC,EAASP,CAAQ,GAAK,OAAOA,GAAa,SAAU,CACtD,IAAIyC,EAAeH,EAAkBT,EAAc7B,CAAQ,EAC3DwC,EAAeC,EAAapG,CAAC,CAC/B,SAAWqG,EAAM1C,CAAQ,GAAK2C,GAAM3C,CAAQ,EAAG,CAC7C,IAAI4C,EAAgBN,EAAkBT,EAAc,CAAC,EACrDW,EAAeI,EAAcvG,CAAC,CAChC,MACEmG,EAAexC,EAAS,IAAI,SAAUP,EAAOyC,EAAO,CAClD,IAAIC,EAAiB,KAAK,MAAMD,EAAQF,CAAoB,EAC5D,GAAIH,EAAaM,CAAc,EAAG,CAChC,IAAIC,EAAOP,EAAaM,CAAc,EAClCE,EAAgBC,EAAkBF,EAAK,EAAG3C,EAAM,CAAC,EACjD8C,EAAgBD,EAAkBF,EAAK,EAAG3C,EAAM,CAAC,EACrD,OAAOnD,EAAcA,EAAc,CAAA,EAAImD,CAAK,EAAG,CAAA,EAAI,CACjD,EAAG4C,EAAchG,CAAC,EAClB,EAAGkG,EAAclG,CAAC,CACpC,CAAiB,CACH,CACA,OAAOoD,CACT,CAAC,EAEH,OAAO4B,EAAO,qBAAqBY,EAAYO,EAAc5D,EAAUE,CAAU,CACnF,CACA,OAAoBc,EAAM,cAAcC,EAAO,KAAmBD,EAAM,cAAc,OAAQ,KAAmBA,EAAM,cAAc,WAAY,CAC/I,GAAI,qBAAqB,OAAOd,CAAU,CACpD,EAAWuC,EAAO,eAAehF,CAAC,CAAC,CAAC,EAAgBuD,EAAM,cAAcC,EAAO,CACrE,SAAU,0BAA0B,OAAOf,EAAY,GAAG,CACpE,EAAWuC,EAAO,qBAAqBlC,EAAQa,EAAUpB,EAAUE,CAAU,CAAC,CAAC,CACzE,CAAC,CACH,CACJ,EAAK,CACD,IAAK,aACL,MAAO,SAAoBF,EAAUE,EAAY,CAC/C,IAAI+D,EAAe,KAAK,MACtB1D,EAAS0D,EAAa,OACtB7C,EAAW6C,EAAa,SACxB9D,EAAoB8D,EAAa,kBAC/BC,EAAe,KAAK,MACtBlB,EAAakB,EAAa,WAC1BjB,EAAeiB,EAAa,aAC5BC,EAAcD,EAAa,YAC7B,OAAI/D,GAAqBI,GAAUA,EAAO,SAAW,CAACyC,GAAcmB,EAAc,GAAK,CAACC,EAAQpB,EAAYzC,CAAM,GAAK,CAAC6D,EAAQnB,EAAc7B,CAAQ,GAC7I,KAAK,wBAAwBpB,EAAUE,CAAU,EAEnD,KAAK,qBAAqBK,EAAQa,EAAUpB,EAAUE,CAAU,CACzE,CACJ,EAAK,CACD,IAAK,SACL,MAAO,UAAkB,CACvB,IAAImE,EACAC,EAAe,KAAK,MACtBC,EAAOD,EAAa,KACpBhE,EAAMgE,EAAa,IACnB/D,EAAS+D,EAAa,OACtBE,EAAYF,EAAa,UACzBG,EAAMH,EAAa,IACnBI,EAAOJ,EAAa,KACpBK,EAAQL,EAAa,MACrBM,EAAQN,EAAa,MACrB9C,EAAQ8C,EAAa,MACrBvC,EAASuC,EAAa,OACtBnE,EAAoBmE,EAAa,kBACjCO,EAAKP,EAAa,GACpB,GAAIC,GAAQ,CAAChE,GAAU,CAACA,EAAO,OAC7B,OAAO,KAET,IAAIH,EAAsB,KAAK,MAAM,oBACjC0E,EAAiBvE,EAAO,SAAW,EACnCwE,EAAaC,GAAK,gBAAiBR,CAAS,EAC5CS,EAAYN,GAASA,EAAM,kBAC3BO,EAAYN,GAASA,EAAM,kBAC3B5E,EAAWiF,GAAaC,EACxBhF,EAAa4D,EAAMe,CAAE,EAAI,KAAK,GAAKA,EACnCM,GAASd,EAAe3D,EAAYJ,EAAK,EAAK,KAAO,MAAQ+D,IAAiB,OAASA,EAAe,CACtG,EAAG,EACH,YAAa,CACvB,EACQe,EAAUD,EAAM,EAChB3H,EAAI4H,IAAY,OAAS,EAAIA,EAC7BC,EAAoBF,EAAM,YAC1B9D,EAAcgE,IAAsB,OAAS,EAAIA,EAC/CC,EAAQC,GAAWjF,CAAG,EAAIA,EAAM,CAAA,EAClCkF,EAAgBF,EAAM,QACtBrF,EAAUuF,IAAkB,OAAS,GAAOA,EAC1CC,EAAUjI,EAAI,EAAI6D,EACtB,OAAoBL,EAAM,cAAcC,EAAO,CAC7C,UAAW8D,CACnB,EAASE,GAAaC,EAAyBlE,EAAM,cAAc,OAAQ,KAAmBA,EAAM,cAAc,WAAY,CACtH,GAAI,YAAY,OAAOd,CAAU,CACzC,EAAsBc,EAAM,cAAc,OAAQ,CAC1C,EAAGiE,EAAYP,EAAOA,EAAOlD,EAAQ,EACrC,EAAG0D,EAAYT,EAAMA,EAAM1C,EAAS,EACpC,MAAOkD,EAAYzD,EAAQA,EAAQ,EACnC,OAAQ0D,EAAYnD,EAASA,EAAS,CAC9C,CAAO,CAAC,EAAG,CAAC9B,GAAwBe,EAAM,cAAc,WAAY,CAC5D,GAAI,iBAAiB,OAAOd,CAAU,CAC9C,EAAsBc,EAAM,cAAc,OAAQ,CAC1C,EAAG0D,EAAOe,EAAU,EACpB,EAAGhB,EAAMgB,EAAU,EACnB,MAAOjE,EAAQiE,EACf,OAAQ1D,EAAS0D,CACzB,CAAO,CAAC,CAAC,EAAI,KAAOX,EAAyD,KAAxC,KAAK,WAAW9E,EAAUE,CAAU,GAAWI,GAAOwE,IAAmB,KAAK,WAAW9E,EAAUC,EAASC,CAAU,GAAI,CAACC,GAAqBC,IAAwBsF,GAAU,mBAAmB,KAAK,MAAOnF,CAAM,CAAC,CACzP,CACJ,CAAG,EAAG,CAAC,CACH,IAAK,2BACL,MAAO,SAAkCoF,EAAWC,EAAW,CAC7D,OAAID,EAAU,cAAgBC,EAAU,gBAC/B,CACL,gBAAiBD,EAAU,YAC3B,UAAWA,EAAU,OACrB,YAAaA,EAAU,SACvB,WAAYC,EAAU,UACtB,aAAcA,EAAU,WAClC,EAEUD,EAAU,SAAWC,EAAU,WAAaD,EAAU,WAAaC,EAAU,YACxE,CACL,UAAWD,EAAU,OACrB,YAAaA,EAAU,QACjC,EAEa,IACT,CACJ,CAAG,CAAC,CACJ,EAAEE,GAAAA,aAAa,EACflJ,GAAQ2C,EACR3B,EAAgB2B,EAAM,cAAe,MAAM,EAC3C3B,EAAgB2B,EAAM,eAAgB,CACpC,OAAQ,UACR,KAAM,UACN,YAAa,GACb,QAAS,EACT,QAAS,EACT,WAAY,OACZ,aAAc,GAEd,OAAQ,CAAA,EACR,IAAK,GACL,UAAW,GACX,KAAM,GACN,kBAAmB,CAACwG,GAAO,MAC3B,eAAgB,EAChB,kBAAmB,KACnB,gBAAiB,MACnB,CAAC,EACDnI,EAAgB2B,EAAM,eAAgB,SAAUtB,EAAO+H,EAAMpB,EAAOC,EAAO,CACzE,IAAI3C,EAASjE,EAAM,OACjBgI,EAAiBhI,EAAM,UACrBiI,EAAgBF,EAAK,MAAM,UAI3BG,EAAYD,GAAqED,EACrF,GAAIrE,EAASuE,CAAS,GAAK,OAAOA,GAAc,SAC9C,OAAOA,EAET,IAAIC,EAAclE,IAAW,aAAe2C,EAAQD,EAChDyB,EAASD,EAAY,MAAM,OAAM,EACrC,GAAIA,EAAY,OAAS,SAAU,CACjC,IAAIE,EAAY,KAAK,IAAID,EAAO,CAAC,EAAGA,EAAO,CAAC,CAAC,EACzCE,EAAY,KAAK,IAAIF,EAAO,CAAC,EAAGA,EAAO,CAAC,CAAC,EAC7C,OAAIF,IAAc,UACTI,EAELJ,IAAc,WAGXG,EAAY,EAFVA,EAE0B,KAAK,IAAI,KAAK,IAAID,EAAO,CAAC,EAAGA,EAAO,CAAC,CAAC,EAAG,CAAC,CAC/E,CACA,OAAIF,IAAc,UACTE,EAAO,CAAC,EAEbF,IAAc,UACTE,EAAO,CAAC,EAEVA,EAAO,CAAC,CACjB,CAAC,EACDzI,EAAgB2B,EAAM,kBAAmB,SAAUiH,EAAO,CACxD,IAAIvI,EAAQuI,EAAM,MAChBR,EAAOQ,EAAM,KACb5B,EAAQ4B,EAAM,MACd3B,EAAQ2B,EAAM,MACdC,EAAaD,EAAM,WACnBE,EAAaF,EAAM,WACnBG,EAAWH,EAAM,SACjB/F,EAAU+F,EAAM,QAChBI,EAAcJ,EAAM,YACpBK,EAAiBL,EAAM,eACvBM,EAAgBN,EAAM,cACtBO,EAASP,EAAM,OACbtE,EAASjE,EAAM,OACf+I,EAAWJ,GAAeA,EAAY,OACtCT,EAAYvJ,GAAM,aAAaqB,EAAO+H,EAAMpB,EAAOC,CAAK,EACxDoC,EAAqB/E,IAAW,aAChCK,EAAU,GACV/B,EAASsG,EAAc,IAAI,SAAUhG,EAAOyC,EAAO,CACrD,IAAIlE,EACA2H,EACF3H,EAAQuH,EAAYC,EAAiBtD,CAAK,GAE1ClE,EAAQ6H,EAAkBpG,EAAOL,CAAO,EACnC,MAAM,QAAQpB,CAAK,EAGtBkD,EAAU,GAFVlD,EAAQ,CAAC8G,EAAW9G,CAAK,GAK7B,IAAI8H,EAAe9H,EAAM,CAAC,GAAK,MAAQ2H,GAAYE,EAAkBpG,EAAOL,CAAO,GAAK,KACxF,OAAIwG,EACK,CACL,EAAGG,EAAwB,CACzB,KAAMxC,EACN,MAAO6B,EACP,SAAUE,EACV,MAAO7F,EACP,MAAOyC,CACjB,CAAS,EACD,EAAG4D,EAAe,KAAOtC,EAAM,MAAMxF,EAAM,CAAC,CAAC,EAC7C,MAAOA,EACP,QAASyB,CACjB,EAEW,CACL,EAAGqG,EAAe,KAAOvC,EAAM,MAAMvF,EAAM,CAAC,CAAC,EAC7C,EAAG+H,EAAwB,CACzB,KAAMvC,EACN,MAAO6B,EACP,SAAUC,EACV,MAAO7F,EACP,MAAOyC,CACf,CAAO,EACD,MAAOlE,EACP,QAASyB,CACf,CACE,CAAC,EACGO,EACJ,OAAI2F,GAAYzE,EACdlB,EAAWb,EAAO,IAAI,SAAUM,EAAO,CACrC,IAAIuG,EAAI,MAAM,QAAQvG,EAAM,KAAK,EAAIA,EAAM,MAAM,CAAC,EAAI,KACtD,OAAImG,EACK,CACL,EAAGnG,EAAM,EACT,EAAGuG,GAAK,MAAQvG,EAAM,GAAK,KAAO+D,EAAM,MAAMwC,CAAC,EAAI,IAC7D,EAEa,CACL,EAAGA,GAAK,KAAOzC,EAAM,MAAMyC,CAAC,EAAI,KAChC,EAAGvG,EAAM,CACjB,CACI,CAAC,EAEDO,EAAW4F,EAAqBpC,EAAM,MAAMsB,CAAS,EAAIvB,EAAM,MAAMuB,CAAS,EAEzExI,EAAc,CACnB,OAAQ6C,EACR,SAAUa,EACV,OAAQa,EACR,QAASK,CACb,EAAKwE,CAAM,CACX,CAAC,EACDnJ,EAAgB2B,EAAM,gBAAiB,SAAU+H,EAAQrJ,EAAO,CAC9D,IAAIsJ,EACJ,GAAkBtG,EAAM,eAAeqG,CAAM,EAC3CC,EAAuBtG,EAAM,aAAaqG,EAAQrJ,CAAK,UAC9C8B,EAAWuH,CAAM,EAC1BC,EAAUD,EAAOrJ,CAAK,MACjB,CACL,IAAIwG,EAAYQ,GAAK,oBAAqB,OAAOqC,GAAW,UAAYA,EAAO,UAAY,EAAE,EACzFlK,EAAMa,EAAM,IACduJ,EAAOzK,GAAyBkB,EAAOtB,EAAU,EACnD4K,EAAuBtG,EAAM,cAAcwG,GAAKlK,EAAS,CAAA,EAAIiK,EAAM,CACjE,IAAKpK,EACL,UAAWqH,CACjB,CAAK,CAAC,CACJ,CACA,OAAO8C,CACT,CAAC,ECthBS,IAACG,GAAYC,GAAyB,CAC9C,UAAW,YACX,eAAgBpI,EAChB,eAAgB,CAAC,CACf,SAAU,QACV,SAAUqI,EACd,EAAK,CACD,SAAU,QACV,SAAUC,EACd,CAAG,EACD,cAAeC,EACjB,CAAC","x_google_ignoreList":[0,1]}
|
package/extensions/dashboard-client/dist/assets/{BarChart-DnLw0fxA.js → BarChart-BoqeJ5mM.js}
RENAMED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{g as a,L as e,X as i,Y as s,f as x,B as t}from"./generateCategoricalChart-
|
|
2
|
-
//# sourceMappingURL=BarChart-
|
|
1
|
+
import{g as a,L as e,X as i,Y as s,f as x,B as t}from"./generateCategoricalChart-BagDVGWn.js";var p=a({chartName:"LineChart",GraphicalChild:e,axisComponents:[{axisType:"xAxis",AxisComp:i},{axisType:"yAxis",AxisComp:s}],formatAxisMap:x}),o=a({chartName:"BarChart",GraphicalChild:t,defaultTooltipEventType:"axis",validateTooltipEventTypes:["axis","item"],axisComponents:[{axisType:"xAxis",AxisComp:i},{axisType:"yAxis",AxisComp:s}],formatAxisMap:x});export{o as B,p as L};
|
|
2
|
+
//# sourceMappingURL=BarChart-BoqeJ5mM.js.map
|