@scalebun/react-native 1.0.1 → 1.0.3
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/android/src/main/java/com/scalebun/rn/ota/BundleDownloader.kt +170 -0
- package/android/src/main/java/com/scalebun/rn/ota/ScaleBunOtaModule.kt +160 -12
- package/android/src/main/java/com/scalebun/rn/ota/SlotManager.kt +32 -6
- package/android/src/oldarch/java/com/scalebun/rn/ota/ScaleBunOtaSpec.kt +7 -1
- package/ios/Ota/BundleDownloader.swift +182 -0
- package/ios/Ota/OtaSlotManager.swift +35 -9
- package/ios/Ota/ScaleBunOtaBridge.mm +9 -0
- package/ios/Ota/ScaleBunOtaEventsModule.swift +61 -0
- package/ios/Ota/ScaleBunOtaModule.swift +58 -5
- package/lib/commonjs/bootstrap/SDKBootstrapper.js +22 -0
- package/lib/commonjs/bootstrap/SDKBootstrapper.js.map +1 -1
- package/lib/commonjs/features/crash/CrashFeature.js +18 -0
- package/lib/commonjs/features/crash/CrashFeature.js.map +1 -1
- package/lib/commonjs/features/crash/rejectionHandler.js +123 -0
- package/lib/commonjs/features/crash/rejectionHandler.js.map +1 -0
- package/lib/commonjs/features/engage/EngagePromptProvider.js +4 -2
- package/lib/commonjs/features/engage/EngagePromptProvider.js.map +1 -1
- package/lib/commonjs/features/engage/engageThrottle.js +41 -10
- package/lib/commonjs/features/engage/engageThrottle.js.map +1 -1
- package/lib/commonjs/features/engage/engageTypes.js.map +1 -1
- package/lib/commonjs/features/navigation/AutoScreenDetector.js +53 -10
- package/lib/commonjs/features/navigation/AutoScreenDetector.js.map +1 -1
- package/lib/commonjs/features/ota/OtaOrchestrator.js +515 -20
- package/lib/commonjs/features/ota/OtaOrchestrator.js.map +1 -1
- package/lib/commonjs/features/ota/environment.js +172 -0
- package/lib/commonjs/features/ota/environment.js.map +1 -0
- package/lib/commonjs/features/ota/retry.js +96 -0
- package/lib/commonjs/features/ota/retry.js.map +1 -0
- package/lib/commonjs/features/ota/signature.js +115 -0
- package/lib/commonjs/features/ota/signature.js.map +1 -0
- package/lib/commonjs/features/session/BackendSessionAdapter.js +231 -26
- package/lib/commonjs/features/session/BackendSessionAdapter.js.map +1 -1
- package/lib/commonjs/index.js +7 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/public/ScaleBunErrorBoundary.js +79 -0
- package/lib/commonjs/public/ScaleBunErrorBoundary.js.map +1 -0
- package/lib/commonjs/specs/NativeScaleBunOta.js.map +1 -1
- package/lib/module/bootstrap/SDKBootstrapper.js +22 -0
- package/lib/module/bootstrap/SDKBootstrapper.js.map +1 -1
- package/lib/module/features/crash/CrashFeature.js +18 -0
- package/lib/module/features/crash/CrashFeature.js.map +1 -1
- package/lib/module/features/crash/rejectionHandler.js +116 -0
- package/lib/module/features/crash/rejectionHandler.js.map +1 -0
- package/lib/module/features/engage/EngagePromptProvider.js +4 -2
- package/lib/module/features/engage/EngagePromptProvider.js.map +1 -1
- package/lib/module/features/engage/engageThrottle.js +41 -10
- package/lib/module/features/engage/engageThrottle.js.map +1 -1
- package/lib/module/features/engage/engageTypes.js.map +1 -1
- package/lib/module/features/navigation/AutoScreenDetector.js +53 -10
- package/lib/module/features/navigation/AutoScreenDetector.js.map +1 -1
- package/lib/module/features/ota/OtaOrchestrator.js +516 -21
- package/lib/module/features/ota/OtaOrchestrator.js.map +1 -1
- package/lib/module/features/ota/environment.js +165 -0
- package/lib/module/features/ota/environment.js.map +1 -0
- package/lib/module/features/ota/retry.js +87 -0
- package/lib/module/features/ota/retry.js.map +1 -0
- package/lib/module/features/ota/signature.js +109 -0
- package/lib/module/features/ota/signature.js.map +1 -0
- package/lib/module/features/session/BackendSessionAdapter.js +230 -26
- package/lib/module/features/session/BackendSessionAdapter.js.map +1 -1
- package/lib/module/index.js +6 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/public/ScaleBunErrorBoundary.js +70 -0
- package/lib/module/public/ScaleBunErrorBoundary.js.map +1 -0
- package/lib/module/specs/NativeScaleBunOta.js.map +1 -1
- package/lib/typescript/bootstrap/SDKBootstrapper.d.ts.map +1 -1
- package/lib/typescript/features/crash/CrashFeature.d.ts.map +1 -1
- package/lib/typescript/features/crash/rejectionHandler.d.ts +46 -0
- package/lib/typescript/features/crash/rejectionHandler.d.ts.map +1 -0
- package/lib/typescript/features/engage/EngagePromptProvider.d.ts.map +1 -1
- package/lib/typescript/features/engage/engageThrottle.d.ts +24 -4
- package/lib/typescript/features/engage/engageThrottle.d.ts.map +1 -1
- package/lib/typescript/features/engage/engageTypes.d.ts +6 -0
- package/lib/typescript/features/engage/engageTypes.d.ts.map +1 -1
- package/lib/typescript/features/navigation/AutoScreenDetector.d.ts +9 -0
- package/lib/typescript/features/navigation/AutoScreenDetector.d.ts.map +1 -1
- package/lib/typescript/features/ota/OtaOrchestrator.d.ts +67 -1
- package/lib/typescript/features/ota/OtaOrchestrator.d.ts.map +1 -1
- package/lib/typescript/features/ota/OtaTypes.d.ts +42 -0
- package/lib/typescript/features/ota/OtaTypes.d.ts.map +1 -1
- package/lib/typescript/features/ota/environment.d.ts +99 -0
- package/lib/typescript/features/ota/environment.d.ts.map +1 -0
- package/lib/typescript/features/ota/retry.d.ts +53 -0
- package/lib/typescript/features/ota/retry.d.ts.map +1 -0
- package/lib/typescript/features/ota/signature.d.ts +66 -0
- package/lib/typescript/features/ota/signature.d.ts.map +1 -0
- package/lib/typescript/features/session/BackendSessionAdapter.d.ts +93 -2
- package/lib/typescript/features/session/BackendSessionAdapter.d.ts.map +1 -1
- package/lib/typescript/index.d.ts +6 -0
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/public/ScaleBunErrorBoundary.d.ts +44 -0
- package/lib/typescript/public/ScaleBunErrorBoundary.d.ts.map +1 -0
- package/lib/typescript/specs/NativeScaleBunOta.d.ts +11 -0
- package/lib/typescript/specs/NativeScaleBunOta.d.ts.map +1 -1
- package/package.json +3 -3
- package/src/bootstrap/SDKBootstrapper.ts +24 -0
- package/src/features/crash/CrashFeature.ts +19 -0
- package/src/features/crash/rejectionHandler.ts +134 -0
- package/src/features/engage/EngagePromptProvider.tsx +4 -2
- package/src/features/engage/engageThrottle.ts +44 -6
- package/src/features/engage/engageTypes.ts +6 -0
- package/src/features/navigation/AutoScreenDetector.ts +59 -4
- package/src/features/ota/OtaOrchestrator.ts +594 -23
- package/src/features/ota/OtaTypes.ts +56 -0
- package/src/features/ota/environment.ts +199 -0
- package/src/features/ota/retry.ts +123 -0
- package/src/features/ota/signature.ts +123 -0
- package/src/features/session/BackendSessionAdapter.ts +233 -25
- package/src/index.ts +6 -0
- package/src/public/ScaleBunErrorBoundary.tsx +79 -0
- package/src/specs/NativeScaleBunOta.ts +12 -0
|
@@ -29,6 +29,10 @@ import { ENDPOINTS } from '../../transport/http/endpoints';
|
|
|
29
29
|
import { SDK_VERSION } from '../../core/constants/version';
|
|
30
30
|
import { bridgeAdapter } from '../replay/bridge/adapters/bridgeAdapter';
|
|
31
31
|
import { getReplaySdkNative } from '../replay/bridge/nativeModule';
|
|
32
|
+
// Reused rather than reimplemented: `chunkEvents` is generic, order-preserving, and already carries
|
|
33
|
+
// a contract test proving it drops and duplicates nothing (analytics/__tests__/batchChunking.test.ts).
|
|
34
|
+
// Its internal ceiling (MAX_BATCH_EVENTS = 500) is well above the 100-frame cap passed here.
|
|
35
|
+
import { chunkEvents } from '../../analytics/batching';
|
|
32
36
|
|
|
33
37
|
// ─── Config ─────────────────────────────────────────────────────────────────
|
|
34
38
|
|
|
@@ -46,8 +50,31 @@ export class BackendSessionAdapter {
|
|
|
46
50
|
|
|
47
51
|
/** Storage key for the snapshotted unflushed frame buffer (see persistPendingFrames). */
|
|
48
52
|
static PENDING_FRAMES_KEY = 'scalebun_replay_pending_frames';
|
|
49
|
-
/**
|
|
50
|
-
|
|
53
|
+
/**
|
|
54
|
+
* Byte budget for the cross-kill frame snapshot (see `_selectFramesToPersist`).
|
|
55
|
+
*
|
|
56
|
+
* Replaces a flat 10-frame cap. A count could not bound the KV write at all — these frames carry
|
|
57
|
+
* base64 screenshots, so ten of them is anywhere from ~200 KB to several MB depending on device
|
|
58
|
+
* resolution, and an oversized value is exactly what fails on the background transition where
|
|
59
|
+
* this write happens.
|
|
60
|
+
*
|
|
61
|
+
* 2 MB is deliberately modest: this is a last-resort snapshot for frames that never reached the
|
|
62
|
+
* network, not a mirror of the session. Enough for a keyframe plus a run of deltas on any device;
|
|
63
|
+
* small enough that writing it cannot itself be the reason backgrounding stalls.
|
|
64
|
+
*/
|
|
65
|
+
static MAX_PERSIST_BYTES = 2 * 1024 * 1024;
|
|
66
|
+
/**
|
|
67
|
+
* Frames the backend accepts in ONE request — `'Max 100 frames per batch'`
|
|
68
|
+
* (`IngestionService.uploadFrames`). Exceeding it is a 4xx, which this SDK classifies as
|
|
69
|
+
* permanent.
|
|
70
|
+
*
|
|
71
|
+
* This has to exist alongside the byte budget, not instead of it. The budget alone cannot bound
|
|
72
|
+
* the COUNT, and the count is what the server checks: measured on real traffic, mobile keyframes
|
|
73
|
+
* average ~16 KB, so a 2 MB snapshot is around 128 frames — over the cap by construction. The old
|
|
74
|
+
* flat 10-frame rule was under it by construction, which is why this failure could not happen
|
|
75
|
+
* before and can now.
|
|
76
|
+
*/
|
|
77
|
+
static MAX_FRAMES_PER_BATCH = 100;
|
|
51
78
|
// Per-session toggle: cleared to false if the backend reports storage disabled.
|
|
52
79
|
|
|
53
80
|
// True when telemetry should divert to the durable native outbox (both flags on).
|
|
@@ -75,6 +102,14 @@ export class BackendSessionAdapter {
|
|
|
75
102
|
pendingLogs = [];
|
|
76
103
|
flushTimer = null;
|
|
77
104
|
destroyed = false;
|
|
105
|
+
/**
|
|
106
|
+
* Latch for `sdk_replay_capture_failed` — reported once per adapter, not once per rejected batch.
|
|
107
|
+
*
|
|
108
|
+
* A session whose row was never created rejects EVERY frame batch, so an unlatched report would
|
|
109
|
+
* emit one analytics event per flush for as long as the app stays open, on the same lane it is
|
|
110
|
+
* trying to report through.
|
|
111
|
+
*/
|
|
112
|
+
_captureFailureReported = false;
|
|
78
113
|
|
|
79
114
|
// ── Analytics lane (always-on, foreground-scoped; isolated from recording) ──
|
|
80
115
|
// Fully separate from currentSessionId/pendingEvents/_flushEvents, which serve
|
|
@@ -249,6 +284,11 @@ export class BackendSessionAdapter {
|
|
|
249
284
|
async startAnalyticsSession(session) {
|
|
250
285
|
if (this.destroyed) return;
|
|
251
286
|
this._analyticsSessionId = session.sessionId;
|
|
287
|
+
// A new session gets its own capture-failure report. The latch bounds reports WITHIN a
|
|
288
|
+
// session; left standing across sessions it silenced every session after the first in the
|
|
289
|
+
// app process, which is the one place this differs from the web SDK — that pipeline is
|
|
290
|
+
// constructed per page and its session id is readonly, so its latch cannot outlive a session.
|
|
291
|
+
this._captureFailureReported = false;
|
|
252
292
|
this._startAnalyticsFlushTimer();
|
|
253
293
|
|
|
254
294
|
// Replay pre-ready buffered events now that the id exists. sessionId is
|
|
@@ -714,23 +754,108 @@ export class BackendSessionAdapter {
|
|
|
714
754
|
if (!this._sessionRowReady()) return;
|
|
715
755
|
const sessionId = this.currentSessionId;
|
|
716
756
|
const batch = this.pendingFrames.splice(0, this.config.batchSize);
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
|
|
757
|
+
/**
|
|
758
|
+
* Chunked, because `config.batchSize` is HOST-CONFIGURABLE and the server's 100-frame cap is
|
|
759
|
+
* not. A host raising it past 100 previously turned every frame flush into a permanent 4xx —
|
|
760
|
+
* silent, total replay loss for that app, from a config value that looks like a tuning knob.
|
|
761
|
+
*
|
|
762
|
+
* A permanent rejection is reported and abandoned inside `_postFramesChunked`; what comes
|
|
763
|
+
* back is only what is still worth another attempt.
|
|
764
|
+
*/
|
|
765
|
+
const remaining = await this._postFramesChunked(sessionId, batch);
|
|
766
|
+
if (remaining.length) {
|
|
726
767
|
logger.warn(`[replay.sdk.error] backend frame upload failure`, {
|
|
727
|
-
count:
|
|
768
|
+
count: remaining.length
|
|
769
|
+
});
|
|
770
|
+
this.pendingFrames.unshift(...remaining);
|
|
771
|
+
return;
|
|
772
|
+
}
|
|
773
|
+
logger.debug(`[BackendSessionAdapter] Flushed ${batch.length} frame(s)`);
|
|
774
|
+
// Delivered — the durable snapshot (if any) is now redundant. Clear it once
|
|
775
|
+
// the in-memory buffer is fully drained so a later kill can't replay
|
|
776
|
+
// already-uploaded frames.
|
|
777
|
+
if (this.pendingFrames.length === 0) this._clearPersistedFrames();
|
|
778
|
+
}
|
|
779
|
+
|
|
780
|
+
/**
|
|
781
|
+
* Report frames the SDK gave up on, on the analytics lane.
|
|
782
|
+
*
|
|
783
|
+
* SAME EVENT NAME AS THE WEB SDK (`sdk_replay_capture_failed`) with platform-specific `reason`
|
|
784
|
+
* values, so one dashboard breakdown reads both platforms without a concept-map alias — the two
|
|
785
|
+
* SDKs share no event vocabulary otherwise (`$pageview` vs `screen_viewed`), and adding a second
|
|
786
|
+
* name here would need an entry in `event-concepts.ts` for no benefit.
|
|
787
|
+
*
|
|
788
|
+
* Latched to once per session: a session whose row was never created rejects every batch, and an
|
|
789
|
+
* unlatched report would emit one event per flush for as long as the app is open.
|
|
790
|
+
*
|
|
791
|
+
* Best-effort and never throws — a diagnostic must not be able to break the capture path it
|
|
792
|
+
* describes.
|
|
793
|
+
*/
|
|
794
|
+
_reportCaptureFailure(stage, err, frameCount) {
|
|
795
|
+
if (this._captureFailureReported) return;
|
|
796
|
+
this._captureFailureReported = true;
|
|
797
|
+
try {
|
|
798
|
+
if (!this._analyticsSessionId) return; // no lane open — nothing to attach it to
|
|
799
|
+
const status = err?.status;
|
|
800
|
+
this.trackEvent({
|
|
801
|
+
eventId: this._clientId(),
|
|
802
|
+
sessionId: this._analyticsSessionId,
|
|
803
|
+
ts: Date.now(),
|
|
804
|
+
type: 'sdk_replay_capture_failed',
|
|
805
|
+
source: 'sdk',
|
|
806
|
+
payload: {
|
|
807
|
+
stage,
|
|
808
|
+
// Platform-specific vocabulary. The HTTP status is the honest reason on this path:
|
|
809
|
+
// RN posts to the per-lane endpoints, which surface a real status — unlike the web
|
|
810
|
+
// batch fan-out, whose 200 says nothing about what it stored.
|
|
811
|
+
reason: status ? `http_${status}` : 'upload_failed',
|
|
812
|
+
frames: frameCount,
|
|
813
|
+
platform: 'react-native'
|
|
814
|
+
}
|
|
728
815
|
});
|
|
729
|
-
|
|
730
|
-
|
|
816
|
+
} catch {
|
|
817
|
+
// Diagnostics must never break the capture path.
|
|
731
818
|
}
|
|
732
819
|
}
|
|
733
820
|
|
|
821
|
+
/**
|
|
822
|
+
* Post frames in BACKEND-SAFE CHUNKS, and return the ones that were not durably accepted.
|
|
823
|
+
*
|
|
824
|
+
* WHY THIS EXISTS. `_postFrameBatch` issues exactly one request for whatever array it is handed,
|
|
825
|
+
* and both callers could hand it more than the server's 100-frame cap — the live flush via
|
|
826
|
+
* `config.batchSize`, and cross-kill recovery via the 2 MB persistence budget (~128 frames at the
|
|
827
|
+
* measured 16 KB average). The result was a 4xx, classified permanent, and on the recovery path
|
|
828
|
+
* that meant `_clearPersistedFrames()` — the ENTIRE cross-kill snapshot deleted because it was
|
|
829
|
+
* one frame too big to send in a single request it never needed to be sent in.
|
|
830
|
+
*
|
|
831
|
+
* THE RETURN VALUE IS THE POINT. The caller must be able to delete exactly what landed and keep
|
|
832
|
+
* exactly what did not, so this reports the survivors rather than throwing:
|
|
833
|
+
* - chunk accepted → dropped from the result (it is durably stored)
|
|
834
|
+
* - chunk PERMANENTLY refused → dropped, and reported once. Re-sending identical bytes cannot
|
|
835
|
+
* succeed, and holding it would wedge every future launch on the
|
|
836
|
+
* same poison chunk. Only that chunk is abandoned; the rest still
|
|
837
|
+
* gets its chance, which is the whole difference from before.
|
|
838
|
+
* - chunk TRANSIENTLY failed → that chunk AND every chunk after it are kept, in order. We stop
|
|
839
|
+
* on the first transient failure rather than pressing on, because
|
|
840
|
+
* the usual cause is the network being gone and the rest would
|
|
841
|
+
* fail identically.
|
|
842
|
+
*/
|
|
843
|
+
async _postFramesChunked(sessionId, items) {
|
|
844
|
+
const chunks = chunkEvents(items, BackendSessionAdapter.MAX_FRAMES_PER_BATCH);
|
|
845
|
+
for (let i = 0; i < chunks.length; i++) {
|
|
846
|
+
try {
|
|
847
|
+
await this._postFrameBatch(sessionId, chunks[i]);
|
|
848
|
+
} catch (err) {
|
|
849
|
+
if (BackendSessionAdapter._isPermanentHttpError(err)) {
|
|
850
|
+
this._reportCaptureFailure('upload-rejected', err, chunks[i].length);
|
|
851
|
+
continue;
|
|
852
|
+
}
|
|
853
|
+
return chunks.slice(i).flat();
|
|
854
|
+
}
|
|
855
|
+
}
|
|
856
|
+
return [];
|
|
857
|
+
}
|
|
858
|
+
|
|
734
859
|
/**
|
|
735
860
|
* POST one frame batch under an EXPLICIT sessionId (object-storage path when
|
|
736
861
|
* active, else legacy inline base64). Used by both the live flush and cross-kill
|
|
@@ -785,7 +910,8 @@ export class BackendSessionAdapter {
|
|
|
785
910
|
if (!this._frameStore || this.destroyed || !this.currentSessionId) return;
|
|
786
911
|
if (this.pendingFrames.length === 0) return;
|
|
787
912
|
try {
|
|
788
|
-
const items = this.pendingFrames
|
|
913
|
+
const items = BackendSessionAdapter._selectFramesToPersist(this.pendingFrames);
|
|
914
|
+
if (items.length === 0) return;
|
|
789
915
|
this._frameStore.set(BackendSessionAdapter.PENDING_FRAMES_KEY, JSON.stringify({
|
|
790
916
|
sessionId: this.currentSessionId,
|
|
791
917
|
items
|
|
@@ -795,6 +921,67 @@ export class BackendSessionAdapter {
|
|
|
795
921
|
}
|
|
796
922
|
}
|
|
797
923
|
|
|
924
|
+
/**
|
|
925
|
+
* Choose which unflushed frames survive a process kill.
|
|
926
|
+
*
|
|
927
|
+
* WHY THIS IS NOT `slice(-10)`.
|
|
928
|
+
*
|
|
929
|
+
* The old rule kept the ten most RECENT frames, which is the wrong end of the buffer for replay.
|
|
930
|
+
* A delta reconstructs against its base keyframe, so ten trailing deltas whose keyframe was
|
|
931
|
+
* dropped are unplayable on their own — they arrive as `orphaned`, the state the dashboard flags
|
|
932
|
+
* as a capture defect. Keeping the keyframe and fewer deltas yields a SHORTER replay; keeping the
|
|
933
|
+
* deltas and no keyframe yields NO replay. That asymmetry is the whole decision.
|
|
934
|
+
*
|
|
935
|
+
* So: every keyframe is kept, then the most recent deltas fill whatever byte budget is left. This
|
|
936
|
+
* mirrors the web SDK's `capBytes` policy (which sheds deltas first and never the keyframe), so
|
|
937
|
+
* the two platforms lose the same thing under pressure instead of two different things.
|
|
938
|
+
*
|
|
939
|
+
* BYTES, not a frame count. A count is a poor proxy here: these carry base64 screenshots, so ten
|
|
940
|
+
* frames may be 200 KB or 4 MB depending on device resolution — and this write goes to a KV store
|
|
941
|
+
* on the background transition, where an oversized value is the thing most likely to fail and
|
|
942
|
+
* lose the snapshot entirely. `imageData.length` is the base64 length, which is within ~1% of the
|
|
943
|
+
* serialized cost and needs no extra pass.
|
|
944
|
+
*/
|
|
945
|
+
static _selectFramesToPersist(pending) {
|
|
946
|
+
const isKeyframe = b => b.frame.frameType !== 'delta';
|
|
947
|
+
const size = b => b.imageData?.length ?? 0;
|
|
948
|
+
const keep = [];
|
|
949
|
+
let budget = BackendSessionAdapter.MAX_PERSIST_BYTES;
|
|
950
|
+
/**
|
|
951
|
+
* A COUNT cap as well as a byte budget.
|
|
952
|
+
*
|
|
953
|
+
* The byte budget is the right bound for the KV write; it is the wrong bound for the upload,
|
|
954
|
+
* because the server checks a count. Recovery now chunks, so exceeding this is no longer
|
|
955
|
+
* destructive — but persisting more than can ever be sent in one pass just guarantees leftover
|
|
956
|
+
* work on every launch, and the frames past this point are the least valuable ones anyway.
|
|
957
|
+
*/
|
|
958
|
+
const maxCount = BackendSessionAdapter.MAX_FRAMES_PER_BATCH;
|
|
959
|
+
|
|
960
|
+
// Keyframes first, newest back to oldest — a later keyframe supersedes an earlier one, so if
|
|
961
|
+
// only one fits it should be the one closest to what the user last saw.
|
|
962
|
+
for (let i = pending.length - 1; i >= 0; i--) {
|
|
963
|
+
const b = pending[i];
|
|
964
|
+
if (!isKeyframe(b)) continue;
|
|
965
|
+
const cost = size(b);
|
|
966
|
+
if (cost > budget || keep.length >= maxCount) continue;
|
|
967
|
+
budget -= cost;
|
|
968
|
+
keep.push(b);
|
|
969
|
+
}
|
|
970
|
+
// Then the most recent deltas with what remains.
|
|
971
|
+
for (let i = pending.length - 1; i >= 0; i--) {
|
|
972
|
+
const b = pending[i];
|
|
973
|
+
if (isKeyframe(b)) continue;
|
|
974
|
+
const cost = size(b);
|
|
975
|
+
if (cost > budget || keep.length >= maxCount) continue;
|
|
976
|
+
budget -= cost;
|
|
977
|
+
keep.push(b);
|
|
978
|
+
}
|
|
979
|
+
|
|
980
|
+
// Restore capture order: the backend orders frames by `sequenceNumber`, and the recovery POST
|
|
981
|
+
// re-sends this array as-is.
|
|
982
|
+
return keep.sort((a, b) => (a.frame.sequenceNumber ?? 0) - (b.frame.sequenceNumber ?? 0));
|
|
983
|
+
}
|
|
984
|
+
|
|
798
985
|
/** Drop the persisted frame snapshot (after successful delivery). Never throws. */
|
|
799
986
|
_clearPersistedFrames() {
|
|
800
987
|
if (!this._frameStore) return;
|
|
@@ -835,18 +1022,35 @@ export class BackendSessionAdapter {
|
|
|
835
1022
|
this._clearPersistedFrames();
|
|
836
1023
|
return;
|
|
837
1024
|
}
|
|
838
|
-
|
|
839
|
-
|
|
840
|
-
|
|
1025
|
+
logger.info(`[replay.sdk.frame] recovering ${items.length} frame(s) for prior session ${sessionId}`);
|
|
1026
|
+
/**
|
|
1027
|
+
* DELETE ONLY WHAT WAS ACCEPTED.
|
|
1028
|
+
*
|
|
1029
|
+
* This posted every recovered frame in ONE request and, on any permanent rejection, deleted
|
|
1030
|
+
* the whole snapshot. Since the persistence budget is 2 MB of ~16 KB frames, that request was
|
|
1031
|
+
* routinely over the server's 100-frame cap — so the common outcome was a 4xx followed by the
|
|
1032
|
+
* deletion of a cross-kill recovery snapshot in which every frame was individually fine. The
|
|
1033
|
+
* one thing a recovery buffer must never do.
|
|
1034
|
+
*
|
|
1035
|
+
* Now the send is chunked and only the unaccepted remainder survives. A chunk the server will
|
|
1036
|
+
* never take is abandoned inside `_postFramesChunked` (and reported), so a single poison chunk
|
|
1037
|
+
* cannot wedge every future launch — but a transient failure keeps its frames for next time.
|
|
1038
|
+
*/
|
|
1039
|
+
const remaining = await this._postFramesChunked(sessionId, items);
|
|
1040
|
+
if (remaining.length === 0) {
|
|
841
1041
|
this._clearPersistedFrames();
|
|
842
|
-
|
|
843
|
-
|
|
844
|
-
|
|
845
|
-
|
|
846
|
-
|
|
847
|
-
|
|
848
|
-
|
|
849
|
-
|
|
1042
|
+
return;
|
|
1043
|
+
}
|
|
1044
|
+
logger.warn(`[replay.sdk.frame] prior-session frame recovery deferred`, {
|
|
1045
|
+
kept: remaining.length
|
|
1046
|
+
});
|
|
1047
|
+
try {
|
|
1048
|
+
this._frameStore.set(BackendSessionAdapter.PENDING_FRAMES_KEY, JSON.stringify({
|
|
1049
|
+
sessionId,
|
|
1050
|
+
items: remaining
|
|
1051
|
+
}));
|
|
1052
|
+
} catch {
|
|
1053
|
+
// Re-writing the trimmed snapshot is best-effort; the original is still on disk.
|
|
850
1054
|
}
|
|
851
1055
|
}
|
|
852
1056
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["logger","base64ToBytes","ENDPOINTS","SDK_VERSION","bridgeAdapter","getReplaySdkNative","BackendSessionAdapter","PENDING_FRAMES_KEY","MAX_PERSIST_FRAMES","_nativeOutboxReady","currentSessionId","_startedSessionIds","Set","pendingFrames","pendingEvents","pendingNetworkRequests","pendingErrors","pendingPerformanceMetrics","pendingLogs","flushTimer","destroyed","ANALYTICS_BUFFER_CAP","LOGS_BATCH_SIZE","LOGS_FLUSH_MAX","_analyticsSessionId","pendingAnalyticsEvents","analyticsFlushTimer","_pendingFinalizeId","constructor","config","batchSize","flushIntervalMs","timeoutMs","useObjectStorage","enableNativeFileOutbox","nativeOutboxUploadEnabled","nativeOutboxTuning","idleThresholdMs","clientKey","_frameStore","storage","objectStorageActive","nativeOutboxEnabled","info","endpoint","_sessionRowReady","has","sendSessionStart","session","sessionId","_startFlushTimer","deviceId","startEndpoint","INGESTION_START","getDeviceInfo","then","nativeInfo","m","metadata","payload","startedAt","analyticsSessionId","device","platform","osVersion","deviceModel","screenWidth","screenHeight","appName","appVersion","bundleId","sdkVersion","releaseStage","buildType","environment","debug","_post","add","catch","sendSessionEnd","Promise","all","_flushFrames","_flushEvents","_flushNetwork","_flushErrors","_flushPerformance","finalizeEndpoint","INGESTION_FINALIZE","endedAt","Date","now","durationMs","totalFrames","artifactIndex","frameRefs","length","totalEvents","eventRefs","finalState","status","finally","_stopFlushTimer","delete","_triggerNativeFlush","startAnalyticsSession","_startAnalyticsFlushTimer","_flushAnalyticsEvents","trackEvent","event","push","overflow","splice","emitLifecycleMarker","type","eventId","_clientId","ts","source","flushAnalytics","forSessionId","batch","events","map","e","_leanEvent","eventsEndpoint","INGESTION_EVENTS","err","_isPermanentHttpError","unshift","finalizeAnalyticsSession","_stopAnalyticsFlushTimer","reconcilePendingFinalize","setInterval","clearInterval","sendEvent","sendFrame","frame","imageData","frameId","width","height","queueNetworkRequest","data","clientId","timestamp","toISOString","queueError","flushErrors","flushAll","_flushLogs","queuePerformanceMetric","queueLog","level","message","toString","Math","random","substring","_enqueueNative","lane","records","native","enqueueOutboxRecords","_ensureNativeOutbox","initOutbox","resolve","apiBaseUrl","useObjectStorageForFrames","ensureNativeOutboxReady","captureScreenshotToFile","flushNativeOutbox","destroy","clear","_frameMeta","b","f","format","isJsonDelta","frameType","contentType","sequenceNumber","baseFrameId","screenName","screen","trigger","captureReason","sizeBytes","byteSize","masked","redactionState","out","v","label","subtype","_pruneEmpty","Object","keys","undefined","src","k","_postFrameBatch","_clearPersistedFrames","warn","count","result","_uploadFramesViaStorage","frames","framesEndpoint","INGESTION_FRAMES","persistPendingFrames","items","slice","set","JSON","stringify","recoverPersistedFrames","raw","get","parsed","parse","Array","isArray","presignReq","resp","_postReturning","INGESTION_FRAMES_PRESIGN","enabled","byFrameId","Map","p","Error","_putBytes","uploadUrl","storageKey","INGESTION_NETWORK","requests","INGESTION_ERRORS","errors","INGESTION_PERFORMANCE","metrics","INGESTION_LOGS","logs","path","body","url","controller","AbortController","timeout","setTimeout","abort","headers","response","fetch","method","signal","ok","httpErr","clearTimeout","name","json","base64","bytes","_stripDataUri","s","comma","indexOf","startsWith"],"sourceRoot":"../../../../src","sources":["features/session/BackendSessionAdapter.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["logger","base64ToBytes","ENDPOINTS","SDK_VERSION","bridgeAdapter","getReplaySdkNative","chunkEvents","BackendSessionAdapter","PENDING_FRAMES_KEY","MAX_PERSIST_BYTES","MAX_FRAMES_PER_BATCH","_nativeOutboxReady","currentSessionId","_startedSessionIds","Set","pendingFrames","pendingEvents","pendingNetworkRequests","pendingErrors","pendingPerformanceMetrics","pendingLogs","flushTimer","destroyed","_captureFailureReported","ANALYTICS_BUFFER_CAP","LOGS_BATCH_SIZE","LOGS_FLUSH_MAX","_analyticsSessionId","pendingAnalyticsEvents","analyticsFlushTimer","_pendingFinalizeId","constructor","config","batchSize","flushIntervalMs","timeoutMs","useObjectStorage","enableNativeFileOutbox","nativeOutboxUploadEnabled","nativeOutboxTuning","idleThresholdMs","clientKey","_frameStore","storage","objectStorageActive","nativeOutboxEnabled","info","endpoint","_sessionRowReady","has","sendSessionStart","session","sessionId","_startFlushTimer","deviceId","startEndpoint","INGESTION_START","getDeviceInfo","then","nativeInfo","m","metadata","payload","startedAt","analyticsSessionId","device","platform","osVersion","deviceModel","screenWidth","screenHeight","appName","appVersion","bundleId","sdkVersion","releaseStage","buildType","environment","debug","_post","add","catch","sendSessionEnd","Promise","all","_flushFrames","_flushEvents","_flushNetwork","_flushErrors","_flushPerformance","finalizeEndpoint","INGESTION_FINALIZE","endedAt","Date","now","durationMs","totalFrames","artifactIndex","frameRefs","length","totalEvents","eventRefs","finalState","status","finally","_stopFlushTimer","delete","_triggerNativeFlush","startAnalyticsSession","_startAnalyticsFlushTimer","_flushAnalyticsEvents","trackEvent","event","push","overflow","splice","emitLifecycleMarker","type","eventId","_clientId","ts","source","flushAnalytics","forSessionId","batch","events","map","e","_leanEvent","eventsEndpoint","INGESTION_EVENTS","err","_isPermanentHttpError","unshift","finalizeAnalyticsSession","_stopAnalyticsFlushTimer","reconcilePendingFinalize","setInterval","clearInterval","sendEvent","sendFrame","frame","imageData","frameId","width","height","queueNetworkRequest","data","clientId","timestamp","toISOString","queueError","flushErrors","flushAll","_flushLogs","queuePerformanceMetric","queueLog","level","message","toString","Math","random","substring","_enqueueNative","lane","records","native","enqueueOutboxRecords","_ensureNativeOutbox","initOutbox","resolve","apiBaseUrl","useObjectStorageForFrames","ensureNativeOutboxReady","captureScreenshotToFile","flushNativeOutbox","destroy","clear","_frameMeta","b","f","format","isJsonDelta","frameType","contentType","sequenceNumber","baseFrameId","screenName","screen","trigger","captureReason","sizeBytes","byteSize","masked","redactionState","out","v","label","subtype","_pruneEmpty","Object","keys","undefined","src","k","remaining","_postFramesChunked","warn","count","_clearPersistedFrames","_reportCaptureFailure","stage","frameCount","reason","frames","items","chunks","i","_postFrameBatch","slice","flat","result","_uploadFramesViaStorage","framesEndpoint","INGESTION_FRAMES","persistPendingFrames","_selectFramesToPersist","set","JSON","stringify","pending","isKeyframe","size","keep","budget","maxCount","cost","sort","a","recoverPersistedFrames","raw","get","parsed","parse","Array","isArray","kept","presignReq","resp","_postReturning","INGESTION_FRAMES_PRESIGN","enabled","byFrameId","Map","p","Error","_putBytes","uploadUrl","storageKey","INGESTION_NETWORK","requests","INGESTION_ERRORS","errors","INGESTION_PERFORMANCE","metrics","INGESTION_LOGS","logs","path","body","url","controller","AbortController","timeout","setTimeout","abort","headers","response","fetch","method","signal","ok","httpErr","clearTimeout","name","json","base64","bytes","_stripDataUri","s","comma","indexOf","startsWith"],"sourceRoot":"../../../../src","sources":["features/session/BackendSessionAdapter.ts"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,MAAM,QAAQ,kCAAkC;AACzD,SAASC,aAAa,QAAQ,4BAA4B;AAC1D,SAASC,SAAS,QAAQ,gCAAgC;AAC1D,SAASC,WAAW,QAAQ,8BAA8B;AAC1D,SAASC,aAAa,QAAQ,yCAAyC;AACvE,SAASC,kBAAkB,QAAQ,+BAA+B;AAGlE;AACA;AACA;AACA,SAASC,WAAW,QAAQ,0BAA0B;;AAStD;;AAgDA;AACA;AACA;AACA;AACA;AACA;;AAUA;;AAEA,OAAO,MAAMC,qBAAqB,CAA6B;EAE3D;;EAEA;EACA,OAAwBC,kBAAkB,GAAG,gCAAgC;EAC7E;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACI,OAAwBC,iBAAiB,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI;EAC3D;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACI,OAAwBC,oBAAoB,GAAG,GAAG;EAClD;;EAEA;EACA;EACA;;EAEA;EACQC,kBAAkB,GAA4B,IAAI;EAClDC,gBAAgB,GAAkB,IAAI;EAC9C;EACA;EACA;EACA;EACA;EACA;EACA;EACiBC,kBAAkB,GAAG,IAAIC,GAAG,CAAS,CAAC;EAC/CC,aAAa,GAAqD,EAAE;EACpEC,aAAa,GAAmB,EAAE;EAClCC,sBAAsB,GAAmC,EAAE;EAC3DC,aAAa,GAAmC,EAAE;EAClDC,yBAAyB,GAAmC,EAAE;EACtE;EACA;EACQC,WAAW,GAAmB,EAAE;EAChCC,UAAU,GAA0C,IAAI;EACxDC,SAAS,GAAG,KAAK;EACzB;AACJ;AACA;AACA;AACA;AACA;AACA;EACYC,uBAAuB,GAAG,KAAK;;EAEvC;EACA;EACA;EACA;EACA;EACA,OAAwBC,oBAAoB,GAAG,GAAG;EAClD;EACA,OAAwBC,eAAe,GAAG,EAAE;EAC5C;EACA,OAAwBC,cAAc,GAAG,EAAE;EACnCC,mBAAmB,GAAkB,IAAI;EACzCC,sBAAsB,GAAmB,EAAE;EAC3CC,mBAAmB,GAA0C,IAAI;EACzE;EACA;EACA;EACA;EACA;EACA;EACA;EACQC,kBAAkB,GAAkB,IAAI;EAEhDC,WAAWA,CAACC,MAA4B,EAAE;IACtC,IAAI,CAACA,MAAM,GAAG;MACVC,SAAS,EAAE,CAAC;MACZC,eAAe,EAAE,IAAI;MACrBC,SAAS,EAAE,MAAM;MACjBC,gBAAgB,EAAE,KAAK;MACvBC,sBAAsB,EAAE,KAAK;MAC7BC,yBAAyB,EAAE,KAAK;MAChCC,kBAAkB,EAAE,CAAC,CAAC;MACtBC,eAAe,EAAE,MAAM;MACvB,GAAGR,MAAM;MACTS,SAAS,EAAET,MAAM,CAACS;IACtB,CAAC;IACD,IAAI,CAACC,WAAW,GAAGV,MAAM,CAACW,OAAO,IAAI,IAAI;IACzC,IAAI,CAACC,mBAAmB,GAAG,IAAI,CAACZ,MAAM,CAACI,gBAAgB;IACvD,IAAI,CAACS,mBAAmB,GACpB,IAAI,CAACb,MAAM,CAACK,sBAAsB,IAAI,IAAI,CAACL,MAAM,CAACM,yBAAyB;IAC/EtC,MAAM,CAAC8C,IAAI,CAAC,yCAAyC,CAAC;IACtD9C,MAAM,CAAC8C,IAAI,CAAC,qCAAqC,IAAI,CAACd,MAAM,CAACe,QAAQ,EAAE,CAAC;IACxE/C,MAAM,CAAC8C,IAAI,CAAC,sEAAsE,CAAC;EACvF;;EAEA;;EAEA;AACJ;AACA;AACA;AACA;EACYE,gBAAgBA,CAAA,EAAY;IAChC,OAAO,CAAC,CAAC,IAAI,CAACpC,gBAAgB,IAAI,IAAI,CAACC,kBAAkB,CAACoC,GAAG,CAAC,IAAI,CAACrC,gBAAgB,CAAC;EACxF;EAEAsC,gBAAgBA,CAACC,OAAgB,EAAQ;IACrC,IAAI,CAACvC,gBAAgB,GAAGuC,OAAO,CAACC,SAAS;IACzC,IAAI,CAACC,gBAAgB,CAAC,CAAC;IAEvBrD,MAAM,CAAC8C,IAAI,CAAC,2CAA2C,CAAC;IACxD9C,MAAM,CAAC8C,IAAI,CAAC,gCAAgCK,OAAO,CAACC,SAAS,EAAE,CAAC;IAChEpD,MAAM,CAAC8C,IAAI,CAAC,+BAA+BK,OAAO,CAACG,QAAQ,EAAE,CAAC;IAC9DtD,MAAM,CAAC8C,IAAI,CAAC,yCAAyCK,OAAO,CAACC,SAAS,EAAE,CAAC;;IAEzE;IACA;IACA;IACA;IACA;IACA,IAAI,IAAI,CAACpB,MAAM,CAACS,SAAS,IAAIU,OAAO,CAACC,SAAS,KAAK,IAAI,CAACzB,mBAAmB,EAAE;MACzE3B,MAAM,CAAC8C,IAAI,CAAC,6DAA6DK,OAAO,CAACC,SAAS,eAAe,CAAC;MAC1G;IACJ;IAEApD,MAAM,CAAC8C,IAAI,CAAC,kDAAkD,CAAC;IAE/D,MAAMS,aAAa,GAAG,IAAI,CAACvB,MAAM,CAACS,SAAS,GAAGvC,SAAS,CAACsD,eAAe,GAAG,kBAAkB;;IAE5F;IACA;IACApD,aAAa,CAACqD,aAAa,CAAC,CAAC,CACxBC,IAAI,CAACC,UAAU,IAAI;MAChB,MAAMC,CAAC,GAAGT,OAAO,CAACU,QAAQ;MAC1B,MAAMC,OAAO,GAAG;QACZV,SAAS,EAAED,OAAO,CAACC,SAAS;QAC5BE,QAAQ,EAAEH,OAAO,CAACG,QAAQ;QAC1BS,SAAS,EAAEZ,OAAO,CAACY,SAAS;QAC5B;QACA;QACA;QACA;QACA;QACA;QACAC,kBAAkB,EAAE,IAAI,CAACrC,mBAAmB;QAC5C;QACA;QACA;QACAa,eAAe,EAAE,IAAI,CAACR,MAAM,CAACQ,eAAe;QAC5CyB,MAAM,EAAE;UACJC,QAAQ,EAAEP,UAAU,EAAEO,QAAQ,IAAIN,CAAC,EAAEM,QAAQ;UAC7CC,SAAS,EAAER,UAAU,EAAEQ,SAAS,IAAIP,CAAC,EAAEO,SAAS;UAChDC,WAAW,EAAET,UAAU,EAAES,WAAW,IAAIR,CAAC,EAAEQ,WAAW;UACtDC,WAAW,EAAET,CAAC,EAAES,WAAW;UAC3BC,YAAY,EAAEV,CAAC,EAAEU,YAAY;UAC7BC,OAAO,EAAEZ,UAAU,EAAEY,OAAO,IAAIX,CAAC,EAAEW,OAAO;UAC1CC,UAAU,EAAEb,UAAU,EAAEa,UAAU,IAAIZ,CAAC,EAAEY,UAAU;UACnDC,QAAQ,EAAEd,UAAU,EAAEc,QAAQ,IAAIb,CAAC,EAAEa,QAAQ;UAC7CC,UAAU,EAAEvE,WAAW;UACvBwE,YAAY,EAAEf,CAAC,EAAEgB,SAAS;UAC1B;UACA;UACAC,WAAW,EAAEjB,CAAC,EAAEgB;QACpB;MACJ,CAAC;MACD5E,MAAM,CAAC8E,KAAK,CAAC,+CAA+C3B,OAAO,CAACC,SAAS,EAAE,CAAC;MAChF,OAAO,IAAI,CAAC2B,KAAK,CAACxB,aAAa,EAAEO,OAAO,CAAC;IAC7C,CAAC,CAAC,CACDJ,IAAI,CAAC,MAAM;MACR;MACA,IAAI,CAAC7C,kBAAkB,CAACmE,GAAG,CAAC7B,OAAO,CAACC,SAAS,CAAC;MAC9CpD,MAAM,CAAC8C,IAAI,CAAC,kDAAkD,CAAC;IACnE,CAAC,CAAC,CACDmC,KAAK,CAAC,MAAMjF,MAAM,CAAC8C,IAAI,CAAC,kDAAkD,CAAC,CAAC;EACrF;EAEAoC,cAAcA,CAAC/B,OAAgB,EAAQ;IACnCnD,MAAM,CAAC8C,IAAI,CAAC,oCAAoC,CAAC;IACjD;IACAqC,OAAO,CAACC,GAAG,CAAC,CACR,IAAI,CAACC,YAAY,CAAC,CAAC,EACnB,IAAI,CAACC,YAAY,CAAC,CAAC,EACnB,IAAI,CAACC,aAAa,CAAC,CAAC,EACpB,IAAI,CAACC,YAAY,CAAC,CAAC,EACnB,IAAI,CAACC,iBAAiB,CAAC,CAAC,CAC3B,CAAC,CAAC/B,IAAI,CAAC,MAAM;MACV;MACA;MACA;MACA;MACA;MACA,IAAI,IAAI,CAAC1B,MAAM,CAACS,SAAS,IAAIU,OAAO,CAACC,SAAS,KAAK,IAAI,CAACzB,mBAAmB,EAAE;QACzE3B,MAAM,CAAC8C,IAAI,CAAC,wDAAwDK,OAAO,CAACC,SAAS,aAAa,CAAC;QACnG;MACJ;MACA,MAAMsC,gBAAgB,GAAG,IAAI,CAAC1D,MAAM,CAACS,SAAS,GACxCvC,SAAS,CAACyF,kBAAkB,CAACxC,OAAO,CAACC,SAAS,CAAC,GAC/C,oBAAoBD,OAAO,CAACC,SAAS,WAAW;MACtD,OAAO,IAAI,CAAC2B,KAAK,CACbW,gBAAgB,EAChB;QACIE,OAAO,EAAEzC,OAAO,CAACyC,OAAO,IAAIC,IAAI,CAACC,GAAG,CAAC,CAAC;QACtCC,UAAU,EAAE5C,OAAO,CAACyC,OAAO,GACrBzC,OAAO,CAACyC,OAAO,GAAGzC,OAAO,CAACY,SAAS,GACnC8B,IAAI,CAACC,GAAG,CAAC,CAAC,GAAG3C,OAAO,CAACY,SAAS;QACpCiC,WAAW,EAAE7C,OAAO,CAAC8C,aAAa,EAAEC,SAAS,EAAEC,MAAM,IAAI,CAAC;QAC1DC,WAAW,EAAEjD,OAAO,CAAC8C,aAAa,EAAEI,SAAS,EAAEF,MAAM,IAAI,CAAC;QAC1DG,UAAU,EAAEnD,OAAO,CAACoD,MAAM,KAAK,SAAS,GAAG,SAAS,GAAG;MAC3D,CACJ,CAAC;IACL,CAAC,CAAC,CAAC7C,IAAI,CAAC,MAAM;MACV1D,MAAM,CAAC8C,IAAI,CAAC,oCAAoC,CAAC;IACrD,CAAC,CAAC,CAACmC,KAAK,CAAC,MAAM;MACXjF,MAAM,CAAC8C,IAAI,CAAC,oCAAoC,CAAC;IACrD,CAAC,CAAC,CAAC0D,OAAO,CAAC,MAAM;MACb,IAAI,CAACC,eAAe,CAAC,CAAC;MACtB;MACA;MACA;MACA;MACA;MACA;MACA,IAAI,EAAE,IAAI,CAACzE,MAAM,CAACS,SAAS,IAAIU,OAAO,CAACC,SAAS,KAAK,IAAI,CAACzB,mBAAmB,CAAC,EAAE;QAC5E,IAAI,CAACd,kBAAkB,CAAC6F,MAAM,CAACvD,OAAO,CAACC,SAAS,CAAC;MACrD;MACA;MACA,IAAI,CAACuD,mBAAmB,CAAC,CAAC;MAC1B3G,MAAM,CAAC8E,KAAK,CAAC,8CAA8C3B,OAAO,CAACC,SAAS,EAAE,CAAC;IACnF,CAAC,CAAC;EACN;;EAEA;;EAEA;EACA,IAAIY,kBAAkBA,CAAA,EAAkB;IACpC,OAAO,IAAI,CAACrC,mBAAmB;EACnC;;EAEA;AACJ;AACA;AACA;AACA;AACA;EACI,MAAMiF,qBAAqBA,CAACzD,OAQ3B,EAAiB;IACd,IAAI,IAAI,CAAC7B,SAAS,EAAE;IACpB,IAAI,CAACK,mBAAmB,GAAGwB,OAAO,CAACC,SAAS;IAC5C;IACA;IACA;IACA;IACA,IAAI,CAAC7B,uBAAuB,GAAG,KAAK;IACpC,IAAI,CAACsF,yBAAyB,CAAC,CAAC;;IAEhC;IACA;IACA,IAAI,CAACC,qBAAqB,CAAC,CAAC,CAAC7B,KAAK,CAAC,MAAM,CAAE,CAAC,CAAC;IAE7C,MAAM1B,aAAa,GAAG,IAAI,CAACvB,MAAM,CAACS,SAAS,GAAGvC,SAAS,CAACsD,eAAe,GAAG,kBAAkB;IAC5F,IAAI;MACA,MAAMG,UAAU,GAAG,MAAMvD,aAAa,CAACqD,aAAa,CAAC,CAAC;MACtD,MAAMG,CAAC,GAAGT,OAAO,CAACU,QAAQ;MAC1B,MAAMC,OAAO,GAAG;QACZV,SAAS,EAAED,OAAO,CAACC,SAAS;QAC5BE,QAAQ,EAAEH,OAAO,CAACG,QAAQ;QAC1BS,SAAS,EAAEZ,OAAO,CAACY,SAAS;QAC5BvB,eAAe,EAAEW,OAAO,CAACX,eAAe;QACxCyB,MAAM,EAAE;UACJC,QAAQ,EAAEP,UAAU,EAAEO,QAAQ,IAAIN,CAAC,EAAEM,QAAQ;UAC7CC,SAAS,EAAER,UAAU,EAAEQ,SAAS,IAAIP,CAAC,EAAEO,SAAS;UAChDC,WAAW,EAAET,UAAU,EAAES,WAAW,IAAIR,CAAC,EAAEQ,WAAW;UACtDC,WAAW,EAAET,CAAC,EAAES,WAAW;UAC3BC,YAAY,EAAEV,CAAC,EAAEU,YAAY;UAC7BC,OAAO,EAAEZ,UAAU,EAAEY,OAAO,IAAIX,CAAC,EAAEW,OAAO;UAC1CC,UAAU,EAAEb,UAAU,EAAEa,UAAU,IAAIZ,CAAC,EAAEY,UAAU;UACnDC,QAAQ,EAAEd,UAAU,EAAEc,QAAQ,IAAIb,CAAC,EAAEa,QAAQ;UAC7CC,UAAU,EAAEvE,WAAW;UACvBwE,YAAY,EAAEf,CAAC,EAAEgB,SAAS;UAC1BC,WAAW,EAAEjB,CAAC,EAAEgB;QACpB;MACJ,CAAC;MACD,MAAM,IAAI,CAACG,KAAK,CAACxB,aAAa,EAAEO,OAAO,CAAC;MACxC;MACA;MACA,IAAI,CAACjD,kBAAkB,CAACmE,GAAG,CAAC7B,OAAO,CAACC,SAAS,CAAC;MAC9C;MACA;MACA;MACA,IAAI,CAAC0D,qBAAqB,CAAC,CAAC,CAAC7B,KAAK,CAAC,MAAM,CAAE,CAAC,CAAC;MAC7CjF,MAAM,CAAC8C,IAAI,CAAC,sDAAsDK,OAAO,CAACC,SAAS,EAAE,CAAC;IAC1F,CAAC,CAAC,MAAM;MACJpD,MAAM,CAAC8C,IAAI,CAAC,mDAAmD,CAAC;IACpE;EACJ;;EAEA;AACJ;AACA;AACA;EACIiE,UAAUA,CAACC,KAAmB,EAAQ;IAClC,IAAI,IAAI,CAAC1F,SAAS,EAAE;IACpB,IAAI,CAACM,sBAAsB,CAACqF,IAAI,CAACD,KAAK,CAAC;IACvC,MAAME,QAAQ,GAAG,IAAI,CAACtF,sBAAsB,CAACuE,MAAM,GAAG5F,qBAAqB,CAACiB,oBAAoB;IAChG,IAAI0F,QAAQ,GAAG,CAAC,EAAE;MACd,IAAI,CAACtF,sBAAsB,CAACuF,MAAM,CAAC,CAAC,EAAED,QAAQ,CAAC,CAAC,CAAC;IACrD;IACA,IAAI,IAAI,CAACvF,mBAAmB,IAAI,IAAI,CAACC,sBAAsB,CAACuE,MAAM,IAAI,EAAE,EAAE;MACtE,IAAI,CAACW,qBAAqB,CAAC,CAAC,CAAC7B,KAAK,CAAC,MAAM,CAAE,CAAC,CAAC;IACjD;EACJ;;EAEA;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;EACImC,mBAAmBA,CACfC,IAAyC,EACzCvD,OAAiC,EAC7B;IACJ,IAAI,IAAI,CAACxC,SAAS,IAAI,CAAC,IAAI,CAACK,mBAAmB,EAAE;IACjD,IAAI,CAACoF,UAAU,CAAC;MACZO,OAAO,EAAE,IAAI,CAACC,SAAS,CAAC,CAAC;MACzBnE,SAAS,EAAE,IAAI,CAACzB,mBAAmB;MACnC6F,EAAE,EAAE3B,IAAI,CAACC,GAAG,CAAC,CAAC;MACduB,IAAI;MACJI,MAAM,EAAE,KAAK;MACb,IAAI3D,OAAO,GAAG;QAAEA;MAAQ,CAAC,GAAG,CAAC,CAAC;IAClC,CAAC,CAAC;EACN;;EAEA;AACJ;AACA;AACA;AACA;AACA;AACA;EACI4D,cAAcA,CAAA,EAAkB;IAC5B,OAAO,IAAI,CAACZ,qBAAqB,CAAC,CAAC;EACvC;;EAEA;AACJ;AACA;AACA;AACA;EACI,MAAcA,qBAAqBA,CAACa,YAAqB,EAAiB;IACtE;IACA;IACA,MAAMvE,SAAS,GAAGuE,YAAY,IAAI,IAAI,CAAChG,mBAAmB;IAC1D,IAAI,IAAI,CAACC,sBAAsB,CAACuE,MAAM,KAAK,CAAC,IAAI,CAAC/C,SAAS,EAAE;;IAE5D;IACA;IACA;IACA;IACA,IAAI,CAAC,IAAI,CAACvC,kBAAkB,CAACoC,GAAG,CAACG,SAAS,CAAC,EAAE;IAE7C,MAAMwE,KAAK,GAAG,IAAI,CAAChG,sBAAsB,CAACuF,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC;IACvD,MAAMU,MAAM,GAAGD,KAAK,CAACE,GAAG,CAACC,CAAC,IAAI,IAAI,CAACC,UAAU,CAACD,CAAC,EAAE3E,SAAS,CAAC,CAAC;IAE5D,IAAI;MACA,MAAM6E,cAAc,GAAG,IAAI,CAACjG,MAAM,CAACS,SAAS,GACtCvC,SAAS,CAACgI,gBAAgB,CAAC9E,SAAS,CAAC,GACrC,oBAAoBA,SAAS,SAAS;MAC5C,MAAM,IAAI,CAAC2B,KAAK,CAACkD,cAAc,EAAE;QAAEJ;MAAO,CAAC,CAAC;MAC5C7H,MAAM,CAAC8E,KAAK,CAAC,mCAAmC8C,KAAK,CAACzB,MAAM,qBAAqB,CAAC;IACtF,CAAC,CAAC,OAAOgC,GAAG,EAAE;MACV,IAAI,CAAC5H,qBAAqB,CAAC6H,qBAAqB,CAACD,GAAG,CAAC,EAAE,IAAI,CAACvG,sBAAsB,CAACyG,OAAO,CAAC,GAAGT,KAAK,CAAC;IACxG;EACJ;;EAEA;EACA,MAAMU,wBAAwBA,CAAA,EAAkB;IAC5C,MAAMlF,SAAS,GAAG,IAAI,CAACzB,mBAAmB;IAC1C,IAAI,CAACyB,SAAS,EAAE;;IAEhB;IACA;IACA;IACA;IACA;IACA;IACA;IACA,IAAI,CAACzB,mBAAmB,GAAG,IAAI;IAC/B,IAAI,CAAC4G,wBAAwB,CAAC,CAAC;;IAE/B;IACA;IACA;IACA;IACA;IACA,IAAI,CAACzG,kBAAkB,GAAGsB,SAAS;IAEnC,IAAI;MACA;MACA,MAAM,IAAI,CAAC0D,qBAAqB,CAAC1D,SAAS,CAAC;MAC3C,MAAMsC,gBAAgB,GAAG,IAAI,CAAC1D,MAAM,CAACS,SAAS,GACxCvC,SAAS,CAACyF,kBAAkB,CAACvC,SAAS,CAAC,GACvC,oBAAoBA,SAAS,WAAW;MAC9C,MAAM,IAAI,CAAC2B,KAAK,CAACW,gBAAgB,EAAE;QAAEE,OAAO,EAAEC,IAAI,CAACC,GAAG,CAAC;MAAE,CAAC,CAAC;MAC3D;MACA;MACA,IAAI,IAAI,CAAChE,kBAAkB,KAAKsB,SAAS,EAAE,IAAI,CAACtB,kBAAkB,GAAG,IAAI;MACzE9B,MAAM,CAAC8E,KAAK,CAAC,wDAAwD1B,SAAS,EAAE,CAAC;IACrF,CAAC,CAAC,MAAM;MACJ;MACApD,MAAM,CAAC8C,IAAI,CAAC,yEAAyEM,SAAS,EAAE,CAAC;IACrG;EACJ;;EAEA;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACI,MAAMoF,wBAAwBA,CAAA,EAAkB;IAC5C,MAAMpF,SAAS,GAAG,IAAI,CAACtB,kBAAkB;IACzC,IAAI,CAACsB,SAAS,EAAE;IAEhB,IAAI;MACA,MAAMsC,gBAAgB,GAAG,IAAI,CAAC1D,MAAM,CAACS,SAAS,GACxCvC,SAAS,CAACyF,kBAAkB,CAACvC,SAAS,CAAC,GACvC,oBAAoBA,SAAS,WAAW;MAC9C,MAAM,IAAI,CAAC2B,KAAK,CAACW,gBAAgB,EAAE;QAAEE,OAAO,EAAEC,IAAI,CAACC,GAAG,CAAC;MAAE,CAAC,CAAC;MAC3D9F,MAAM,CAAC8C,IAAI,CAAC,2DAA2DM,SAAS,EAAE,CAAC;IACvF,CAAC,CAAC,MAAM;MACJpD,MAAM,CAAC8C,IAAI,CAAC,8DAA8DM,SAAS,EAAE,CAAC;IAC1F,CAAC,SAAS;MACN;MACA;MACA;MACA;MACA,IAAI,IAAI,CAACtB,kBAAkB,KAAKsB,SAAS,EAAE,IAAI,CAACtB,kBAAkB,GAAG,IAAI;IAC7E;EACJ;EAEQ+E,yBAAyBA,CAAA,EAAS;IACtC,IAAI,CAAC0B,wBAAwB,CAAC,CAAC;IAC/B,IAAI,CAAC1G,mBAAmB,GAAG4G,WAAW,CAAC,MAAM;MACzC,IAAI,CAAC3B,qBAAqB,CAAC,CAAC,CAAC7B,KAAK,CAAC,MAAM,CAAE,CAAC,CAAC;IACjD,CAAC,EAAE,IAAI,CAACjD,MAAM,CAACE,eAAe,CAAC;EACnC;EAEQqG,wBAAwBA,CAAA,EAAS;IACrC,IAAI,IAAI,CAAC1G,mBAAmB,EAAE;MAC1B6G,aAAa,CAAC,IAAI,CAAC7G,mBAAmB,CAAC;MACvC,IAAI,CAACA,mBAAmB,GAAG,IAAI;IACnC;EACJ;EAEA8G,SAASA,CAAC3B,KAAmB,EAAQ;IACjC,IAAI,IAAI,CAAC1F,SAAS,EAAE;IAEpBtB,MAAM,CAAC8C,IAAI,CAAC,kCAAkC,CAAC;IAC/C9C,MAAM,CAAC8C,IAAI,CAAC,cAAckE,KAAK,CAACM,OAAO,EAAE,CAAC;IAC1CtH,MAAM,CAAC8C,IAAI,CAAC,WAAWkE,KAAK,CAACK,IAAI,EAAE,CAAC;IACpCrH,MAAM,CAAC8C,IAAI,CAAC,gBAAgBkE,KAAK,CAACQ,EAAE,EAAE,CAAC;IACvCxH,MAAM,CAAC8C,IAAI,CAAC,gBAAgBkE,KAAK,CAAC5D,SAAS,EAAE,CAAC;IAE9C,IAAI,CAACpC,aAAa,CAACiG,IAAI,CAACD,KAAK,CAAC;IAE9B,IAAI,IAAI,CAAChG,aAAa,CAACmF,MAAM,IAAI,EAAE,EAAE;MACjC,IAAI,CAACb,YAAY,CAAC,CAAC,CAACL,KAAK,CAAC,MAAM,CAAE,CAAC,CAAC;IACxC;EACJ;EAEA2D,SAASA,CAACC,KAAkB,EAAEC,SAAiB,EAAQ;IACnD,IAAI,IAAI,CAACxH,SAAS,EAAE;IAEpBtB,MAAM,CAAC8C,IAAI,CAAC,kCAAkC,CAAC;IAC/C9C,MAAM,CAAC8C,IAAI,CAAC,cAAc+F,KAAK,CAACE,OAAO,EAAE,CAAC;IAC1C/I,MAAM,CAAC8C,IAAI,CAAC,gBAAgB+F,KAAK,CAACrB,EAAE,EAAE,CAAC;IACvCxH,MAAM,CAAC8C,IAAI,CAAC,gBAAgB+F,KAAK,CAACzF,SAAS,EAAE,CAAC;IAC9CpD,MAAM,CAAC8C,IAAI,CAAC,mBAAmB+F,KAAK,CAACG,KAAK,IAAIH,KAAK,CAACI,MAAM,EAAE,CAAC;IAE7D,IAAI,CAAClI,aAAa,CAACkG,IAAI,CAAC;MAAE4B,KAAK;MAAEC;IAAU,CAAC,CAAC;IAE7C,IAAI,IAAI,CAAC/H,aAAa,CAACoF,MAAM,IAAI,IAAI,CAACnE,MAAM,CAACC,SAAS,EAAE;MACpD,IAAI,CAACoD,YAAY,CAAC,CAAC,CAACJ,KAAK,CAAC,MAAM,CAAE,CAAC,CAAC;IACxC;EACJ;;EAEA;;EAEAiE,mBAAmBA,CAACC,IAInB,EAAQ;IACL,IAAI,IAAI,CAAC7H,SAAS,IAAI,CAAC,IAAI,CAACU,MAAM,CAACS,SAAS,EAAE;IAC9C;IACA;IACA,IAAI,CAACxB,sBAAsB,CAACgG,IAAI,CAAC;MAAE,GAAGkC,IAAI;MAAEC,QAAQ,EAAE,IAAI,CAAC7B,SAAS,CAAC,CAAC;MAAE8B,SAAS,EAAE,IAAIxD,IAAI,CAAC,CAAC,CAACyD,WAAW,CAAC;IAAE,CAAC,CAAC;IAC9G,IAAI,IAAI,CAACrI,sBAAsB,CAACkF,MAAM,IAAI,EAAE,EAAE;MAC1C,IAAI,CAACZ,aAAa,CAAC,CAAC,CAACN,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IACxC;EACJ;EAEAsE,UAAUA,CAACJ,IAEV,EAAQ;IACL,IAAI,IAAI,CAAC7H,SAAS,IAAI,CAAC,IAAI,CAACU,MAAM,CAACS,SAAS,EAAE;IAC9C,IAAI,CAACvB,aAAa,CAAC+F,IAAI,CAAC;MAAE,GAAGkC,IAAI;MAAEC,QAAQ,EAAE,IAAI,CAAC7B,SAAS,CAAC,CAAC;MAAE8B,SAAS,EAAE,IAAIxD,IAAI,CAAC,CAAC,CAACyD,WAAW,CAAC;IAAE,CAAC,CAAC;IACrG,IAAI,IAAI,CAACpI,aAAa,CAACiF,MAAM,IAAI,EAAE,EAAE;MACjC,IAAI,CAACX,YAAY,CAAC,CAAC,CAACP,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IACvC;EACJ;;EAEA;EACAuE,WAAWA,CAAA,EAAkB;IACzB,OAAO,IAAI,CAAChE,YAAY,CAAC,CAAC;EAC9B;;EAEA;AACJ;AACA;AACA;AACA;EACI,MAAMiE,QAAQA,CAAA,EAAkB;IAC5B,MAAMtE,OAAO,CAACC,GAAG,CAAC,CACd,IAAI,CAACC,YAAY,CAAC,CAAC,EACnB,IAAI,CAACC,YAAY,CAAC,CAAC,EACnB,IAAI,CAACC,aAAa,CAAC,CAAC,EACpB,IAAI,CAACC,YAAY,CAAC,CAAC,EACnB,IAAI,CAACC,iBAAiB,CAAC,CAAC,EACxB,IAAI,CAACiE,UAAU,CAAC,CAAC,CACpB,CAAC;IACF;IACA;IACA,IAAI,CAAC/C,mBAAmB,CAAC,CAAC;EAC9B;EAEAgD,sBAAsBA,CAACR,IAGtB,EAAQ;IACL,IAAI,IAAI,CAAC7H,SAAS,IAAI,CAAC,IAAI,CAACU,MAAM,CAACS,SAAS,EAAE;IAC9C,IAAI,CAACtB,yBAAyB,CAAC8F,IAAI,CAAC;MAAE,GAAGkC,IAAI;MAAEC,QAAQ,EAAE,IAAI,CAAC7B,SAAS,CAAC,CAAC;MAAE8B,SAAS,EAAE,IAAIxD,IAAI,CAAC,CAAC,CAACyD,WAAW,CAAC;IAAE,CAAC,CAAC;IACjH,IAAI,IAAI,CAACnI,yBAAyB,CAACgF,MAAM,IAAI,EAAE,EAAE;MAC7C,IAAI,CAACV,iBAAiB,CAAC,CAAC,CAACR,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IAC5C;EACJ;;EAEA;AACJ;AACA;AACA;AACA;AACA;EACI2E,QAAQA,CAACT,IAGR,EAAQ;IACL,IAAI,IAAI,CAAC7H,SAAS,IAAI,CAAC,IAAI,CAACU,MAAM,CAACS,SAAS,EAAE;IAC9C,IAAI,CAACrB,WAAW,CAAC6F,IAAI,CAAC;MAClB4C,KAAK,EAAEV,IAAI,CAACU,KAAK;MACjBC,OAAO,EAAEX,IAAI,CAACW,OAAO;MACrBrC,MAAM,EAAE0B,IAAI,CAAC1B,MAAM;MACnBvD,QAAQ,EAAEiF,IAAI,CAACjF,QAAQ;MACvBmF,SAAS,EAAEF,IAAI,CAACE,SAAS,IAAI,IAAIxD,IAAI,CAAC,CAAC,CAACyD,WAAW,CAAC,CAAC;MACrD,IAAIH,IAAI,CAACtF,QAAQ,GAAG;QAAEA,QAAQ,EAAEsF,IAAI,CAACtF;MAAS,CAAC,GAAG,CAAC,CAAC;IACxD,CAAC,CAAC;IACF,IAAI,IAAI,CAACzC,WAAW,CAAC+E,MAAM,IAAI5F,qBAAqB,CAACkB,eAAe,EAAE;MAClE,IAAI,CAACiI,UAAU,CAAC,CAAC,CAACzE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IACrC;EACJ;;EAEA;EACQsC,SAASA,CAAA,EAAW;IACxB,OAAO,GAAG1B,IAAI,CAACC,GAAG,CAAC,CAAC,CAACiE,QAAQ,CAAC,EAAE,CAAC,IAAIC,IAAI,CAACC,MAAM,CAAC,CAAC,CAACF,QAAQ,CAAC,EAAE,CAAC,CAACG,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE;EACtF;;EAEA;;EAEA;AACJ;AACA;AACA;AACA;AACA;EACI,MAAcC,cAAcA,CACxBC,IAA8D,EAC9DC,OAAuC,EACvB;IAChB,IAAI,CAAC,IAAI,CAACxH,mBAAmB,IAAI,CAAC,IAAI,CAACjC,gBAAgB,EAAE,OAAO,KAAK;IACrE,MAAM0J,MAAM,GAAGjK,kBAAkB,CAAC,CAAC;IACnC,IAAI,CAACiK,MAAM,EAAEC,oBAAoB,EAAE,OAAO,KAAK;IAC/C,IAAI,EAAE,MAAM,IAAI,CAACC,mBAAmB,CAACF,MAAM,CAAC,CAAC,EAAE,OAAO,KAAK;IAC3D,IAAI;MACA,OAAO,MAAMA,MAAM,CAACC,oBAAoB,CAACH,IAAI,EAAE,IAAI,CAACxJ,gBAAgB,EAAEyJ,OAAO,CAAC;IAClF,CAAC,CAAC,MAAM;MACJ,OAAO,KAAK;IAChB;EACJ;;EAEA;AACJ;AACA;AACA;AACA;AACA;AACA;EACYG,mBAAmBA,CAACF,MAA6B,EAAoB;IACzE,IAAI,IAAI,CAAC3J,kBAAkB,EAAE,OAAO,IAAI,CAACA,kBAAkB;IAC3D,IAAI,CAAC2J,MAAM,CAACG,UAAU,EAAE,OAAOtF,OAAO,CAACuF,OAAO,CAAC,KAAK,CAAC;IACrD,IAAI,CAAC/J,kBAAkB,GAAG2J,MAAM,CAC3BG,UAAU,CAAC;MACR,GAAG,IAAI,CAACzI,MAAM,CAACO,kBAAkB;MACjCE,SAAS,EAAE,IAAI,CAACT,MAAM,CAACS,SAAS;MAChCkI,UAAU,EAAE,IAAI,CAAC3I,MAAM,CAACe,QAAQ;MAChCV,sBAAsB,EAAE,IAAI;MAC5BC,yBAAyB,EAAE,IAAI;MAC/BsI,yBAAyB,EAAE,IAAI,CAAC5I,MAAM,CAACI,gBAAgB,KAAK;IAChE,CAAC,CAAC,CACD6C,KAAK,CAAC,MAAM,KAAK,CAAC;IACvB,OAAO,IAAI,CAACtE,kBAAkB;EAClC;;EAEA;AACJ;AACA;AACA;AACA;AACA;EACIkK,uBAAuBA,CAAA,EAAqB;IACxC,IAAI,CAAC,IAAI,CAAChI,mBAAmB,IAAI,CAAC,IAAI,CAACjC,gBAAgB,EAAE,OAAOuE,OAAO,CAACuF,OAAO,CAAC,KAAK,CAAC;IACtF,MAAMJ,MAAM,GAAGjK,kBAAkB,CAAC,CAAC;IACnC,IAAI,CAACiK,MAAM,EAAEQ,uBAAuB,EAAE,OAAO3F,OAAO,CAACuF,OAAO,CAAC,KAAK,CAAC;IACnE,OAAO,IAAI,CAACF,mBAAmB,CAACF,MAAM,CAAC;EAC3C;;EAEA;EACQ3D,mBAAmBA,CAAA,EAAS;IAChC,IAAI,CAAC,IAAI,CAAC9D,mBAAmB,EAAE;IAC/B,IAAI;MACAxC,kBAAkB,CAAC,CAAC,EAAE0K,iBAAiB,GAAG,CAAC,CAAC9F,KAAK,CAAC,MAAM,CAAE,CAAC,CAAC;IAChE,CAAC,CAAC,MAAM;MACJ;IAAA;EAER;;EAEA;;EAEA+F,OAAOA,CAAA,EAAS;IACZ,IAAI,CAAC1J,SAAS,GAAG,IAAI;IACrB,IAAI,CAACmF,eAAe,CAAC,CAAC;IACtB,IAAI,CAAC8B,wBAAwB,CAAC,CAAC;IAC/B,IAAI,CAACxH,aAAa,GAAG,EAAE;IACvB,IAAI,CAACC,aAAa,GAAG,EAAE;IACvB,IAAI,CAACY,sBAAsB,GAAG,EAAE;IAChC,IAAI,CAACX,sBAAsB,GAAG,EAAE;IAChC,IAAI,CAACC,aAAa,GAAG,EAAE;IACvB,IAAI,CAACC,yBAAyB,GAAG,EAAE;IACnC,IAAI,CAACP,gBAAgB,GAAG,IAAI;IAC5B,IAAI,CAACe,mBAAmB,GAAG,IAAI;IAC/B,IAAI,CAACG,kBAAkB,GAAG,IAAI;IAC9B,IAAI,CAACjB,kBAAkB,CAACoK,KAAK,CAAC,CAAC;EACnC;;EAEA;;EAEA;EACQC,UAAUA,CAACC,CAA4C,EAAE;IAC7D,MAAMC,CAAC,GAAGD,CAAC,CAACtC,KAAK;IACjB,MAAMwC,MAAM,GAAGD,CAAC,CAACC,MAAM,IAAI,MAAM;IACjC;IACA,MAAMC,WAAW,GAAGF,CAAC,CAACG,SAAS,KAAK,OAAO,IAAIF,MAAM,KAAK,qBAAqB;IAC/E,MAAMG,WAAW,GAAGF,WAAW,GACzB,wCAAwC,GACxC,SAASD,MAAM,EAAE;IACvB,OAAO;MACHtC,OAAO,EAAEqC,CAAC,CAACrC,OAAO;MAClB3F,SAAS,EAAEgI,CAAC,CAAChI,SAAS;MACtBiG,SAAS,EAAE+B,CAAC,CAAC5D,EAAE;MACf;MACAiE,cAAc,EAAEL,CAAC,CAACK,cAAc;MAChC;MACAF,SAAS,EAAEH,CAAC,CAACG,SAAS;MACtBG,WAAW,EAAEN,CAAC,CAACM,WAAW;MAC1BC,UAAU,EAAEP,CAAC,CAACQ,MAAM,IAAI,EAAE;MAC1BC,OAAO,EAAET,CAAC,CAACU,aAAa,IAAI,EAAE;MAC9BT,MAAM;MACNG,WAAW;MACXxC,KAAK,EAAEoC,CAAC,CAACpC,KAAK;MACdC,MAAM,EAAEmC,CAAC,CAACnC,MAAM;MAChB8C,SAAS,EAAEX,CAAC,CAACY,QAAQ,IAAI,CAAC;MAC1BC,MAAM,EAAEb,CAAC,CAACc,cAAc,KAAK;IACjC,CAAC;EACL;;EAEA;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACYlE,UAAUA,CAACD,CAAe,EAAE3E,SAAiB,EAA2B;IAC5E,MAAM+I,GAA4B,GAAG;MACjCC,CAAC,EAAE,CAAC;MACJ9E,OAAO,EAAES,CAAC,CAACT,OAAO;MAClBlE,SAAS;MACTiE,IAAI,EAAEU,CAAC,CAACV,IAAI;MACZgC,SAAS,EAAEtB,CAAC,CAACP;IACjB,CAAC;IACD,MAAMoE,MAAM,GAAG7D,CAAC,CAAC6D,MAAM,IAAI,EAAE;IAC7B,IAAIA,MAAM,EAAEO,GAAG,CAACR,UAAU,GAAGC,MAAM;IACnC,MAAMS,KAAK,GAAGtE,CAAC,CAACuE,OAAO,IAAIvE,CAAC,CAACV,IAAI;IACjC,IAAIgF,KAAK,IAAIA,KAAK,KAAKtE,CAAC,CAACV,IAAI,EAAE8E,GAAG,CAACE,KAAK,GAAGA,KAAK;IAChD,MAAMlD,IAAI,GAAG,IAAI,CAACoD,WAAW,CAACxE,CAAC,CAACjE,OAAO,CAAC;IACxC,IAAIqF,IAAI,IAAIqD,MAAM,CAACC,IAAI,CAACtD,IAAI,CAAC,CAAChD,MAAM,GAAG,CAAC,EAAEgG,GAAG,CAAChD,IAAI,GAAGA,IAAI;IACzD,OAAOgD,GAAG;EACd;;EAEA;EACQI,WAAWA,CAACzI,OAAgB,EAAuC;IACvE,IAAI,CAACA,OAAO,IAAI,OAAOA,OAAO,KAAK,QAAQ,EAAE,OAAO4I,SAAS;IAC7D,MAAMC,GAAG,GAAG7I,OAAkC;IAC9C,MAAMqI,GAA4B,GAAG,CAAC,CAAC;IACvC,KAAK,MAAMS,CAAC,IAAIJ,MAAM,CAACC,IAAI,CAACE,GAAG,CAAC,EAAE;MAC9B,MAAMP,CAAC,GAAGO,GAAG,CAACC,CAAC,CAAC;MAChB,IAAIR,CAAC,KAAK,IAAI,IAAIA,CAAC,KAAKM,SAAS,IAAIN,CAAC,KAAK,EAAE,EAAE;MAC/CD,GAAG,CAACS,CAAC,CAAC,GAAGR,CAAC;IACd;IACA,OAAOD,GAAG;EACd;EAEA,MAAc9G,YAAYA,CAAA,EAAkB;IACxC,IAAI,IAAI,CAACtE,aAAa,CAACoF,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAACvF,gBAAgB,EAAE;IAC/D;IACA;IACA,IAAI,CAAC,IAAI,CAACoC,gBAAgB,CAAC,CAAC,EAAE;IAC9B,MAAMI,SAAS,GAAG,IAAI,CAACxC,gBAAgB;IAEvC,MAAMgH,KAAK,GAAG,IAAI,CAAC7G,aAAa,CAACoG,MAAM,CAAC,CAAC,EAAE,IAAI,CAACnF,MAAM,CAACC,SAAS,CAAC;IACjE;AACR;AACA;AACA;AACA;AACA;AACA;AACA;IACQ,MAAM4K,SAAS,GAAG,MAAM,IAAI,CAACC,kBAAkB,CAAC1J,SAAS,EAAEwE,KAAK,CAAC;IACjE,IAAIiF,SAAS,CAAC1G,MAAM,EAAE;MAClBnG,MAAM,CAAC+M,IAAI,CAAC,iDAAiD,EAAE;QAAEC,KAAK,EAAEH,SAAS,CAAC1G;MAAO,CAAC,CAAC;MAC3F,IAAI,CAACpF,aAAa,CAACsH,OAAO,CAAC,GAAGwE,SAAS,CAAC;MACxC;IACJ;IACA7M,MAAM,CAAC8E,KAAK,CAAC,mCAAmC8C,KAAK,CAACzB,MAAM,WAAW,CAAC;IACxE;IACA;IACA;IACA,IAAI,IAAI,CAACpF,aAAa,CAACoF,MAAM,KAAK,CAAC,EAAE,IAAI,CAAC8G,qBAAqB,CAAC,CAAC;EACrE;;EAEA;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACYC,qBAAqBA,CAACC,KAAa,EAAEhF,GAAY,EAAEiF,UAAkB,EAAQ;IACjF,IAAI,IAAI,CAAC7L,uBAAuB,EAAE;IAClC,IAAI,CAACA,uBAAuB,GAAG,IAAI;IACnC,IAAI;MACA,IAAI,CAAC,IAAI,CAACI,mBAAmB,EAAE,OAAO,CAAC;MACvC,MAAM4E,MAAM,GAAI4B,GAAG,EAA0B5B,MAAM;MACnD,IAAI,CAACQ,UAAU,CAAC;QACZO,OAAO,EAAE,IAAI,CAACC,SAAS,CAAC,CAAC;QACzBnE,SAAS,EAAE,IAAI,CAACzB,mBAAmB;QACnC6F,EAAE,EAAE3B,IAAI,CAACC,GAAG,CAAC,CAAC;QACduB,IAAI,EAAE,2BAA2B;QACjCI,MAAM,EAAE,KAAK;QACb3D,OAAO,EAAE;UACLqJ,KAAK;UACL;UACA;UACA;UACAE,MAAM,EAAE9G,MAAM,GAAG,QAAQA,MAAM,EAAE,GAAG,eAAe;UACnD+G,MAAM,EAAEF,UAAU;UAClBlJ,QAAQ,EAAE;QACd;MACJ,CAA4B,CAAC;IACjC,CAAC,CAAC,MAAM;MACJ;IAAA;EAER;;EAEA;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACI,MAAc4I,kBAAkBA,CAC5B1J,SAAiB,EACjBmK,KAAuD,EACE;IACzD,MAAMC,MAAM,GAAGlN,WAAW,CAACiN,KAAK,EAAEhN,qBAAqB,CAACG,oBAAoB,CAAC;IAC7E,KAAK,IAAI+M,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGD,MAAM,CAACrH,MAAM,EAAEsH,CAAC,EAAE,EAAE;MACpC,IAAI;QACA,MAAM,IAAI,CAACC,eAAe,CAACtK,SAAS,EAAEoK,MAAM,CAACC,CAAC,CAAC,CAAC;MACpD,CAAC,CAAC,OAAOtF,GAAG,EAAE;QACV,IAAI5H,qBAAqB,CAAC6H,qBAAqB,CAACD,GAAG,CAAC,EAAE;UAClD,IAAI,CAAC+E,qBAAqB,CAAC,iBAAiB,EAAE/E,GAAG,EAAEqF,MAAM,CAACC,CAAC,CAAC,CAACtH,MAAM,CAAC;UACpE;QACJ;QACA,OAAOqH,MAAM,CAACG,KAAK,CAACF,CAAC,CAAC,CAACG,IAAI,CAAC,CAAC;MACjC;IACJ;IACA,OAAO,EAAE;EACb;;EAEA;AACJ;AACA;AACA;AACA;AACA;AACA;EACI,MAAcF,eAAeA,CACzBtK,SAAiB,EACjBwE,KAAuD,EAC1C;IACb,IAAIA,KAAK,CAACzB,MAAM,KAAK,CAAC,EAAE;IACxBnG,MAAM,CAAC8C,IAAI,CAAC,iDAAiD,EAAE;MAAEkK,KAAK,EAAEpF,KAAK,CAACzB;IAAO,CAAC,CAAC;;IAEvF;IACA,IAAI,IAAI,CAACvD,mBAAmB,IAAI,IAAI,CAACZ,MAAM,CAACS,SAAS,EAAE;MACnD,MAAMoL,MAAM,GAAG,MAAM,IAAI,CAACC,uBAAuB,CAAC1K,SAAS,EAAEwE,KAAK,CAAC;MACnE,IAAIiG,MAAM,KAAK,MAAM,EAAE;QACnB7N,MAAM,CAAC8C,IAAI,CAAC,kEAAkE,CAAC;QAC/E;MACJ;MACA;IACJ;;IAEA;IACA,MAAMwK,MAAM,GAAG1F,KAAK,CAACE,GAAG,CAACqD,CAAC,KAAK;MAAE,GAAG,IAAI,CAACD,UAAU,CAACC,CAAC,CAAC;MAAErC,SAAS,EAAEqC,CAAC,CAACrC;IAAU,CAAC,CAAC,CAAC;IAClF,MAAMiF,cAAc,GAAG,IAAI,CAAC/L,MAAM,CAACS,SAAS,GACtCvC,SAAS,CAAC8N,gBAAgB,CAAC5K,SAAS,CAAC,GACrC,oBAAoBA,SAAS,SAAS;IAC5C,MAAM,IAAI,CAAC2B,KAAK,CAACgJ,cAAc,EAAE;MAAET;IAAO,CAAC,CAAC;IAC5CtN,MAAM,CAAC8C,IAAI,CAAC,iDAAiD,CAAC;EAClE;;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;EAEA;AACJ;AACA;AACA;AACA;AACA;EACImL,oBAAoBA,CAAA,EAAS;IACzB,IAAI,CAAC,IAAI,CAACvL,WAAW,IAAI,IAAI,CAACpB,SAAS,IAAI,CAAC,IAAI,CAACV,gBAAgB,EAAE;IACnE,IAAI,IAAI,CAACG,aAAa,CAACoF,MAAM,KAAK,CAAC,EAAE;IACrC,IAAI;MACA,MAAMoH,KAAK,GAAGhN,qBAAqB,CAAC2N,sBAAsB,CAAC,IAAI,CAACnN,aAAa,CAAC;MAC9E,IAAIwM,KAAK,CAACpH,MAAM,KAAK,CAAC,EAAE;MACxB,IAAI,CAACzD,WAAW,CAACyL,GAAG,CAChB5N,qBAAqB,CAACC,kBAAkB,EACxC4N,IAAI,CAACC,SAAS,CAAC;QAAEjL,SAAS,EAAE,IAAI,CAACxC,gBAAgB;QAAE2M;MAAM,CAAC,CAC9D,CAAC;IACL,CAAC,CAAC,MAAM;MACJ;IAAA;EAER;;EAEA;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACI,OAAeW,sBAAsBA,CACjCI,OAAyD,EACT;IAChD,MAAMC,UAAU,GAAIpD,CAAyB,IAAKA,CAAC,CAACtC,KAAK,CAAC0C,SAAS,KAAK,OAAO;IAC/E,MAAMiD,IAAI,GAAIrD,CAAwB,IAAKA,CAAC,CAACrC,SAAS,EAAE3C,MAAM,IAAI,CAAC;IAEnE,MAAMsI,IAAsD,GAAG,EAAE;IACjE,IAAIC,MAAM,GAAGnO,qBAAqB,CAACE,iBAAiB;IACpD;AACR;AACA;AACA;AACA;AACA;AACA;AACA;IACQ,MAAMkO,QAAQ,GAAGpO,qBAAqB,CAACG,oBAAoB;;IAE3D;IACA;IACA,KAAK,IAAI+M,CAAC,GAAGa,OAAO,CAACnI,MAAM,GAAG,CAAC,EAAEsH,CAAC,IAAI,CAAC,EAAEA,CAAC,EAAE,EAAE;MAC1C,MAAMtC,CAAC,GAAGmD,OAAO,CAACb,CAAC,CAAC;MACpB,IAAI,CAACc,UAAU,CAACpD,CAAC,CAAC,EAAE;MACpB,MAAMyD,IAAI,GAAGJ,IAAI,CAACrD,CAAC,CAAC;MACpB,IAAIyD,IAAI,GAAGF,MAAM,IAAID,IAAI,CAACtI,MAAM,IAAIwI,QAAQ,EAAE;MAC9CD,MAAM,IAAIE,IAAI;MACdH,IAAI,CAACxH,IAAI,CAACkE,CAAC,CAAC;IAChB;IACA;IACA,KAAK,IAAIsC,CAAC,GAAGa,OAAO,CAACnI,MAAM,GAAG,CAAC,EAAEsH,CAAC,IAAI,CAAC,EAAEA,CAAC,EAAE,EAAE;MAC1C,MAAMtC,CAAC,GAAGmD,OAAO,CAACb,CAAC,CAAC;MACpB,IAAIc,UAAU,CAACpD,CAAC,CAAC,EAAE;MACnB,MAAMyD,IAAI,GAAGJ,IAAI,CAACrD,CAAC,CAAC;MACpB,IAAIyD,IAAI,GAAGF,MAAM,IAAID,IAAI,CAACtI,MAAM,IAAIwI,QAAQ,EAAE;MAC9CD,MAAM,IAAIE,IAAI;MACdH,IAAI,CAACxH,IAAI,CAACkE,CAAC,CAAC;IAChB;;IAEA;IACA;IACA,OAAOsD,IAAI,CAACI,IAAI,CAAC,CAACC,CAAC,EAAE3D,CAAC,KAAK,CAAC2D,CAAC,CAACjG,KAAK,CAAC4C,cAAc,IAAI,CAAC,KAAKN,CAAC,CAACtC,KAAK,CAAC4C,cAAc,IAAI,CAAC,CAAC,CAAC;EAC7F;;EAEA;EACQwB,qBAAqBA,CAAA,EAAS;IAClC,IAAI,CAAC,IAAI,CAACvK,WAAW,EAAE;IACvB,IAAI;MACA,IAAI,CAACA,WAAW,CAACgE,MAAM,CAACnG,qBAAqB,CAACC,kBAAkB,CAAC;IACrE,CAAC,CAAC,MAAM;MACJ;IAAA;EAER;;EAEA;AACJ;AACA;AACA;AACA;AACA;AACA;EACI,MAAMuO,sBAAsBA,CAAA,EAAkB;IAC1C,IAAI,CAAC,IAAI,CAACrM,WAAW,EAAE;IACvB,IAAIsM,GAAuB;IAC3B,IAAI;MACAA,GAAG,GAAG,IAAI,CAACtM,WAAW,CAACuM,GAAG,CAAC1O,qBAAqB,CAACC,kBAAkB,CAAC;IACxE,CAAC,CAAC,MAAM;MACJ;IACJ;IACA,IAAI,CAACwO,GAAG,EAAE;IAEV,IAAIE,MAAwF;IAC5F,IAAI;MACAA,MAAM,GAAGd,IAAI,CAACe,KAAK,CAACH,GAAG,CAAC;IAC5B,CAAC,CAAC,MAAM;MACJ;MACA,IAAI,CAAC/B,qBAAqB,CAAC,CAAC;MAC5B;IACJ;IAEA,MAAM7J,SAAS,GAAG8L,MAAM,CAAC9L,SAAS;IAClC,MAAMmK,KAAK,GAAG2B,MAAM,CAAC3B,KAAK;IAC1B,IAAI,CAACnK,SAAS,IAAI,CAACgM,KAAK,CAACC,OAAO,CAAC9B,KAAK,CAAC,IAAIA,KAAK,CAACpH,MAAM,KAAK,CAAC,EAAE;MAC3D,IAAI,CAAC8G,qBAAqB,CAAC,CAAC;MAC5B;IACJ;IAEAjN,MAAM,CAAC8C,IAAI,CAAC,iCAAiCyK,KAAK,CAACpH,MAAM,+BAA+B/C,SAAS,EAAE,CAAC;IACpG;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACQ,MAAMyJ,SAAS,GAAG,MAAM,IAAI,CAACC,kBAAkB,CAAC1J,SAAS,EAAEmK,KAAK,CAAC;IACjE,IAAIV,SAAS,CAAC1G,MAAM,KAAK,CAAC,EAAE;MACxB,IAAI,CAAC8G,qBAAqB,CAAC,CAAC;MAC5B;IACJ;IACAjN,MAAM,CAAC+M,IAAI,CAAC,0DAA0D,EAAE;MAAEuC,IAAI,EAAEzC,SAAS,CAAC1G;IAAO,CAAC,CAAC;IACnG,IAAI;MACA,IAAI,CAACzD,WAAW,CAACyL,GAAG,CAChB5N,qBAAqB,CAACC,kBAAkB,EACxC4N,IAAI,CAACC,SAAS,CAAC;QAAEjL,SAAS;QAAEmK,KAAK,EAAEV;MAAU,CAAC,CAClD,CAAC;IACL,CAAC,CAAC,MAAM;MACJ;IAAA;EAER;;EAEA;AACJ;AACA;AACA;AACA;EACI,MAAciB,uBAAuBA,CACjC1K,SAAiB,EACjBwE,KAAuD,EAC3B;IAC5B,MAAM2H,UAAU,GAAG3H,KAAK,CAACE,GAAG,CAACqD,CAAC,IAAI;MAC9B,MAAMvH,CAAC,GAAG,IAAI,CAACsH,UAAU,CAACC,CAAC,CAAC;MAC5B,OAAO;QAAEpC,OAAO,EAAEnF,CAAC,CAACmF,OAAO;QAAEyC,WAAW,EAAE5H,CAAC,CAAC4H,WAAW;QAAEH,MAAM,EAAEzH,CAAC,CAACyH;MAAO,CAAC;IAC/E,CAAC,CAAC;IACF,MAAMmE,IAAI,GAAG,MAAM,IAAI,CAACC,cAAc,CAClCvP,SAAS,CAACwP,wBAAwB,CAACtM,SAAS,CAAC,EAC7C;MAAEkK,MAAM,EAAEiC;IAAW,CACzB,CAAC;IAED,IAAI,CAACC,IAAI,IAAIA,IAAI,CAACG,OAAO,KAAK,KAAK,EAAE;MACjC;MACA,IAAI,CAAC/M,mBAAmB,GAAG,KAAK;MAChC,OAAO,UAAU;IACrB;IAEA,MAAMgN,SAAS,GAAG,IAAIC,GAAG,CAACL,IAAI,CAAClC,MAAM,CAACxF,GAAG,CAACgI,CAAC,IAAI,CAACA,CAAC,CAAC/G,OAAO,EAAE+G,CAAC,CAAC,CAAC,CAAC;;IAE/D;IACA,MAAM3K,OAAO,CAACC,GAAG,CAACwC,KAAK,CAACE,GAAG,CAAC,MAAMqD,CAAC,IAAI;MACnC,MAAM2E,CAAC,GAAGF,SAAS,CAACX,GAAG,CAAC9D,CAAC,CAACtC,KAAK,CAACE,OAAO,CAAC;MACxC,IAAI,CAAC+G,CAAC,EAAE,MAAM,IAAIC,KAAK,CAAC,4BAA4B5E,CAAC,CAACtC,KAAK,CAACE,OAAO,EAAE,CAAC;MACtE,MAAM,IAAI,CAACiH,SAAS,CAACF,CAAC,CAACG,SAAS,EAAE9E,CAAC,CAACrC,SAAS,EAAEgH,CAAC,CAACtE,WAAW,CAAC;IACjE,CAAC,CAAC,CAAC;;IAEH;IACA,MAAM8B,MAAM,GAAG1F,KAAK,CAACE,GAAG,CAACqD,CAAC,IAAI;MAC1B,MAAM2E,CAAC,GAAGF,SAAS,CAACX,GAAG,CAAC9D,CAAC,CAACtC,KAAK,CAACE,OAAO,CAAE;MACzC,OAAO;QAAE,GAAG,IAAI,CAACmC,UAAU,CAACC,CAAC,CAAC;QAAE+E,UAAU,EAAEJ,CAAC,CAACI,UAAU;QAAE1E,WAAW,EAAEsE,CAAC,CAACtE;MAAY,CAAC;IAC1F,CAAC,CAAC;IACF,MAAM,IAAI,CAACzG,KAAK,CAAC7E,SAAS,CAAC8N,gBAAgB,CAAC5K,SAAS,CAAC,EAAE;MAAEkK;IAAO,CAAC,CAAC;IACnE,OAAO,MAAM;EACjB;EAEA,MAAchI,YAAYA,CAAA,EAAkB;IACxC,IAAI,IAAI,CAACtE,aAAa,CAACmF,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAACvF,gBAAgB,EAAE;IAE/D,MAAMgH,KAAK,GAAG,IAAI,CAAC5G,aAAa,CAACmG,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC;IAC9C,MAAMU,MAAM,GAAGD,KAAK,CAACE,GAAG,CAACC,CAAC,IAAI,IAAI,CAACC,UAAU,CAACD,CAAC,EAAEA,CAAC,CAAC3E,SAAS,CAAC,CAAC;IAE9D,IAAI;MACApD,MAAM,CAAC8C,IAAI,CAAC,iDAAiD,EAAE;QAAEkK,KAAK,EAAEpF,KAAK,CAACzB;MAAO,CAAC,CAAC;MACvF;MACA;MACA;MACA,IAAI,MAAM,IAAI,CAACgE,cAAc,CAAC,QAAQ,EAAEtC,MAAM,CAAC,EAAE;MACjD;MACA,IAAI,CAAC,IAAI,CAAC7E,gBAAgB,CAAC,CAAC,EAAE;QAAE,IAAI,CAAChC,aAAa,CAACqH,OAAO,CAAC,GAAGT,KAAK,CAAC;QAAE;MAAQ;MAC9E,MAAMK,cAAc,GAAG,IAAI,CAACjG,MAAM,CAACS,SAAS,GACtCvC,SAAS,CAACgI,gBAAgB,CAAC,IAAI,CAACtH,gBAAgB,CAAC,GACjD,oBAAoB,IAAI,CAACA,gBAAgB,SAAS;MACxD,MAAM,IAAI,CAACmE,KAAK,CACZkD,cAAc,EACd;QAAEJ;MAAO,CACb,CAAC;MACD7H,MAAM,CAAC8C,IAAI,CAAC,iDAAiD,CAAC;MAC9D9C,MAAM,CAAC8E,KAAK,CAAC,mCAAmC8C,KAAK,CAACzB,MAAM,WAAW,CAAC;IAC5E,CAAC,CAAC,OAAOgC,GAAG,EAAE;MACV,IAAI5H,qBAAqB,CAAC6H,qBAAqB,CAACD,GAAG,CAAC,EAAE;MACtDnI,MAAM,CAAC+M,IAAI,CAAC,iDAAiD,EAAE;QAAEC,KAAK,EAAEpF,KAAK,CAACzB;MAAO,CAAC,CAAC;MACvF,IAAI,CAACnF,aAAa,CAACqH,OAAO,CAAC,GAAGT,KAAK,CAAC;IACxC;EACJ;EAEA,MAAcrC,aAAaA,CAAA,EAAkB;IACzC,IAAI,IAAI,CAACtE,sBAAsB,CAACkF,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAACvF,gBAAgB,IAAI,CAAC,IAAI,CAACoB,MAAM,CAACS,SAAS,EAAE;IAClG,MAAMmF,KAAK,GAAG,IAAI,CAAC3G,sBAAsB,CAACkG,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC;IACvD,IAAI;MACA,IAAI,MAAM,IAAI,CAACgD,cAAc,CAAC,SAAS,EAAEvC,KAAK,CAAC,EAAE;MACjD,IAAI,CAAC,IAAI,CAAC5E,gBAAgB,CAAC,CAAC,EAAE;QAAE,IAAI,CAAC/B,sBAAsB,CAACoH,OAAO,CAAC,GAAGT,KAAK,CAAC;QAAE;MAAQ;MACvF,MAAM,IAAI,CAAC7C,KAAK,CAAC7E,SAAS,CAACiQ,iBAAiB,CAAC,IAAI,CAACvP,gBAAgB,CAAC,EAAE;QAAEwP,QAAQ,EAAExI;MAAM,CAAC,CAAC;IAC7F,CAAC,CAAC,OAAOO,GAAG,EAAE;MACV,IAAI,CAAC5H,qBAAqB,CAAC6H,qBAAqB,CAACD,GAAG,CAAC,EAAE,IAAI,CAAClH,sBAAsB,CAACoH,OAAO,CAAC,GAAGT,KAAK,CAAC;IACxG;EACJ;EAEA,MAAcpC,YAAYA,CAAA,EAAkB;IACxC,IAAI,IAAI,CAACtE,aAAa,CAACiF,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAACvF,gBAAgB,IAAI,CAAC,IAAI,CAACoB,MAAM,CAACS,SAAS,EAAE;IACzF,MAAMmF,KAAK,GAAG,IAAI,CAAC1G,aAAa,CAACiG,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC;IAC9C,IAAI;MACA,IAAI,MAAM,IAAI,CAACgD,cAAc,CAAC,QAAQ,EAAEvC,KAAK,CAAC,EAAE;MAChD,IAAI,CAAC,IAAI,CAAC5E,gBAAgB,CAAC,CAAC,EAAE;QAAE,IAAI,CAAC9B,aAAa,CAACmH,OAAO,CAAC,GAAGT,KAAK,CAAC;QAAE;MAAQ;MAC9E,MAAM,IAAI,CAAC7C,KAAK,CAAC7E,SAAS,CAACmQ,gBAAgB,CAAC,IAAI,CAACzP,gBAAgB,CAAC,EAAE;QAAE0P,MAAM,EAAE1I;MAAM,CAAC,CAAC;IAC1F,CAAC,CAAC,OAAOO,GAAG,EAAE;MACV,IAAI,CAAC5H,qBAAqB,CAAC6H,qBAAqB,CAACD,GAAG,CAAC,EAAE,IAAI,CAACjH,aAAa,CAACmH,OAAO,CAAC,GAAGT,KAAK,CAAC;IAC/F;EACJ;EAEA,MAAcnC,iBAAiBA,CAAA,EAAkB;IAC7C,IAAI,IAAI,CAACtE,yBAAyB,CAACgF,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAACvF,gBAAgB,IAAI,CAAC,IAAI,CAACoB,MAAM,CAACS,SAAS,EAAE;IACrG,MAAMmF,KAAK,GAAG,IAAI,CAACzG,yBAAyB,CAACgG,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC;IAC1D,IAAI;MACA,IAAI,MAAM,IAAI,CAACgD,cAAc,CAAC,aAAa,EAAEvC,KAAK,CAAC,EAAE;MACrD,IAAI,CAAC,IAAI,CAAC5E,gBAAgB,CAAC,CAAC,EAAE;QAAE,IAAI,CAAC7B,yBAAyB,CAACkH,OAAO,CAAC,GAAGT,KAAK,CAAC;QAAE;MAAQ;MAC1F,MAAM,IAAI,CAAC7C,KAAK,CAAC7E,SAAS,CAACqQ,qBAAqB,CAAC,IAAI,CAAC3P,gBAAgB,CAAC,EAAE;QAAE4P,OAAO,EAAE5I;MAAM,CAAC,CAAC;IAChG,CAAC,CAAC,OAAOO,GAAG,EAAE;MACV,IAAI,CAAC5H,qBAAqB,CAAC6H,qBAAqB,CAACD,GAAG,CAAC,EAAE,IAAI,CAAChH,yBAAyB,CAACkH,OAAO,CAAC,GAAGT,KAAK,CAAC;IAC3G;EACJ;EAEA,MAAc8B,UAAUA,CAAA,EAAkB;IACtC,IAAI,IAAI,CAACtI,WAAW,CAAC+E,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAACvF,gBAAgB,IAAI,CAAC,IAAI,CAACoB,MAAM,CAACS,SAAS,EAAE;IACvF,MAAMmF,KAAK,GAAG,IAAI,CAACxG,WAAW,CAAC+F,MAAM,CAAC,CAAC,EAAE5G,qBAAqB,CAACmB,cAAc,CAAC;IAC9E,IAAI;MACA,IAAI,MAAM,IAAI,CAACyI,cAAc,CAAC,MAAM,EAAEvC,KAAkD,CAAC,EAAE;MAC3F,IAAI,CAAC,IAAI,CAAC5E,gBAAgB,CAAC,CAAC,EAAE;QAAE,IAAI,CAAC5B,WAAW,CAACiH,OAAO,CAAC,GAAGT,KAAK,CAAC;QAAE;MAAQ;MAC5E,MAAM,IAAI,CAAC7C,KAAK,CAAC7E,SAAS,CAACuQ,cAAc,CAAC,IAAI,CAAC7P,gBAAgB,CAAC,EAAE;QAAE8P,IAAI,EAAE9I;MAAM,CAAC,CAAC;IACtF,CAAC,CAAC,OAAOO,GAAG,EAAE;MACV,IAAI,CAAC5H,qBAAqB,CAAC6H,qBAAqB,CAACD,GAAG,CAAC,EAAE,IAAI,CAAC/G,WAAW,CAACiH,OAAO,CAAC,GAAGT,KAAK,CAAC;IAC7F;EACJ;;EAEA;;EAEQvE,gBAAgBA,CAAA,EAAS;IAC7B,IAAI,CAACoD,eAAe,CAAC,CAAC;IACtB,IAAI,CAACpF,UAAU,GAAGoH,WAAW,CAAC,MAAM;MAChC,IAAI,CAACpD,YAAY,CAAC,CAAC,CAACJ,KAAK,CAAC,MAAM,CAAE,CAAC,CAAC;MACpC,IAAI,CAACK,YAAY,CAAC,CAAC,CAACL,KAAK,CAAC,MAAM,CAAE,CAAC,CAAC;MACpC,IAAI,CAACM,aAAa,CAAC,CAAC,CAACN,KAAK,CAAC,MAAM,CAAE,CAAC,CAAC;MACrC,IAAI,CAACO,YAAY,CAAC,CAAC,CAACP,KAAK,CAAC,MAAM,CAAE,CAAC,CAAC;MACpC,IAAI,CAACQ,iBAAiB,CAAC,CAAC,CAACR,KAAK,CAAC,MAAM,CAAE,CAAC,CAAC;MACzC,IAAI,CAACyE,UAAU,CAAC,CAAC,CAACzE,KAAK,CAAC,MAAM,CAAE,CAAC,CAAC;MAClC,IAAI,CAAC0B,mBAAmB,CAAC,CAAC;IAC9B,CAAC,EAAE,IAAI,CAAC3E,MAAM,CAACE,eAAe,CAAC;EACnC;EAEQuE,eAAeA,CAAA,EAAS;IAC5B,IAAI,IAAI,CAACpF,UAAU,EAAE;MACjBqH,aAAa,CAAC,IAAI,CAACrH,UAAU,CAAC;MAC9B,IAAI,CAACA,UAAU,GAAG,IAAI;IAC1B;EACJ;;EAEA;;EAEA;EACA;EACA;EACA;EACA,OAAe+G,qBAAqBA,CAACD,GAAY,EAAW;IACxD,MAAM5B,MAAM,GAAI4B,GAAG,EAA0B5B,MAAM;IACnD,OAAO,OAAOA,MAAM,KAAK,QAAQ,IAAIA,MAAM,IAAI,GAAG,IAAIA,MAAM,GAAG,GAAG,IAAIA,MAAM,KAAK,GAAG,IAAIA,MAAM,KAAK,GAAG;EAC1G;EAEA,MAAcxB,KAAKA,CAAC4L,IAAY,EAAEC,IAAa,EAAiB;IAC5D,MAAMC,GAAG,GAAG,GAAG,IAAI,CAAC7O,MAAM,CAACe,QAAQ,GAAG4N,IAAI,EAAE;IAE5C,IAAI;MACA,MAAMG,UAAU,GAAG,IAAIC,eAAe,CAAC,CAAC;MACxC,MAAMC,OAAO,GAAGC,UAAU,CAAC,MAAMH,UAAU,CAACI,KAAK,CAAC,CAAC,EAAE,IAAI,CAAClP,MAAM,CAACG,SAAS,CAAC;MAE3E,IAAI;QACA,MAAMgP,OAA+B,GAAG;UAAE,cAAc,EAAE;QAAmB,CAAC;QAC9E,IAAI,IAAI,CAACnP,MAAM,CAACS,SAAS,EAAE;UACvB0O,OAAO,CAAC,uBAAuB,CAAC,GAAG,IAAI,CAACnP,MAAM,CAACS,SAAS;QAC5D;QACA,MAAM2O,QAAQ,GAAG,MAAMC,KAAK,CAACR,GAAG,EAAE;UAC9BS,MAAM,EAAE,MAAM;UACdH,OAAO;UACPP,IAAI,EAAExC,IAAI,CAACC,SAAS,CAACuC,IAAI,CAAC;UAC1BW,MAAM,EAAET,UAAU,CAACS;QACvB,CAAC,CAAC;QAEF,IAAI,CAACH,QAAQ,CAACI,EAAE,EAAE;UACdxR,MAAM,CAAC+M,IAAI,CAAC,gCAAgCqE,QAAQ,CAAC7K,MAAM,SAASoK,IAAI,EAAE,CAAC;UAC3E,MAAMc,OAAO,GAAG,IAAI1B,KAAK,CAAC,QAAQqB,QAAQ,CAAC7K,MAAM,EAAE,CAAgC;UACnFkL,OAAO,CAAClL,MAAM,GAAG6K,QAAQ,CAAC7K,MAAM;UAChC,MAAMkL,OAAO;QACjB;MACJ,CAAC,SAAS;QACNC,YAAY,CAACV,OAAO,CAAC;MACzB;IACJ,CAAC,CAAC,OAAO7I,GAAQ,EAAE;MACf,IAAIA,GAAG,EAAEwJ,IAAI,KAAK,YAAY,EAAE;QAC5B3R,MAAM,CAAC+M,IAAI,CAAC,sCAAsC4D,IAAI,EAAE,CAAC;MAC7D,CAAC,MAAM;QACH3Q,MAAM,CAAC+M,IAAI,CAAC,kCAAkC4D,IAAI,KAAKxI,GAAG,EAAE2B,OAAO,EAAE,CAAC;MAC1E;MACA,MAAM3B,GAAG;IACb;EACJ;;EAEA;AACJ;AACA;AACA;AACA;EACI,MAAcsH,cAAcA,CAAIkB,IAAY,EAAEC,IAAa,EAAc;IACrE,MAAMC,GAAG,GAAG,GAAG,IAAI,CAAC7O,MAAM,CAACe,QAAQ,GAAG4N,IAAI,EAAE;IAE5C,MAAMG,UAAU,GAAG,IAAIC,eAAe,CAAC,CAAC;IACxC,MAAMC,OAAO,GAAGC,UAAU,CAAC,MAAMH,UAAU,CAACI,KAAK,CAAC,CAAC,EAAE,IAAI,CAAClP,MAAM,CAACG,SAAS,CAAC;IAC3E,IAAI;MACA,MAAMgP,OAA+B,GAAG;QAAE,cAAc,EAAE;MAAmB,CAAC;MAC9E,IAAI,IAAI,CAACnP,MAAM,CAACS,SAAS,EAAE;QACvB0O,OAAO,CAAC,uBAAuB,CAAC,GAAG,IAAI,CAACnP,MAAM,CAACS,SAAS;MAC5D;MACA,MAAM2O,QAAQ,GAAG,MAAMC,KAAK,CAACR,GAAG,EAAE;QAC9BS,MAAM,EAAE,MAAM;QACdH,OAAO;QACPP,IAAI,EAAExC,IAAI,CAACC,SAAS,CAACuC,IAAI,CAAC;QAC1BW,MAAM,EAAET,UAAU,CAACS;MACvB,CAAC,CAAC;MACF,IAAI,CAACH,QAAQ,CAACI,EAAE,EAAE;QACdxR,MAAM,CAAC+M,IAAI,CAAC,gCAAgCqE,QAAQ,CAAC7K,MAAM,SAASoK,IAAI,EAAE,CAAC;QAC3E,MAAMc,OAAO,GAAG,IAAI1B,KAAK,CAAC,QAAQqB,QAAQ,CAAC7K,MAAM,EAAE,CAAgC;QACnFkL,OAAO,CAAClL,MAAM,GAAG6K,QAAQ,CAAC7K,MAAM;QAChC,MAAMkL,OAAO;MACjB;MACA,OAAQ,MAAML,QAAQ,CAACQ,IAAI,CAAC,CAAC;IACjC,CAAC,SAAS;MACNF,YAAY,CAACV,OAAO,CAAC;IACzB;EACJ;;EAEA;AACJ;AACA;AACA;AACA;EACI,MAAchB,SAASA,CAACC,SAAiB,EAAE4B,MAAc,EAAErG,WAAmB,EAAiB;IAC3F;IACA;IACA;IACA,MAAMsG,KAAK,GAAG7R,aAAa,CAAC,IAAI,CAAC8R,aAAa,CAACF,MAAM,CAAC,CAAC;IAEvD,MAAMf,UAAU,GAAG,IAAIC,eAAe,CAAC,CAAC;IACxC,MAAMC,OAAO,GAAGC,UAAU,CAAC,MAAMH,UAAU,CAACI,KAAK,CAAC,CAAC,EAAE,IAAI,CAAClP,MAAM,CAACG,SAAS,CAAC;IAC3E,IAAI;MACA,MAAMiP,QAAQ,GAAG,MAAMC,KAAK,CAACpB,SAAS,EAAE;QACpCqB,MAAM,EAAE,KAAK;QACbH,OAAO,EAAE;UAAE,cAAc,EAAE3F;QAAY,CAAC;QACxCoF,IAAI,EAAEkB,KAAK;QACXP,MAAM,EAAET,UAAU,CAACS;MACvB,CAAC,CAAC;MACF,IAAI,CAACH,QAAQ,CAACI,EAAE,EAAE;QACd,MAAM,IAAIzB,KAAK,CAAC,QAAQqB,QAAQ,CAAC7K,MAAM,EAAE,CAAC;MAC9C;IACJ,CAAC,SAAS;MACNmL,YAAY,CAACV,OAAO,CAAC;IACzB;EACJ;;EAEA;EACQe,aAAaA,CAACC,CAAS,EAAU;IACrC,MAAMC,KAAK,GAAGD,CAAC,CAACE,OAAO,CAAC,GAAG,CAAC;IAC5B,OAAOF,CAAC,CAACG,UAAU,CAAC,OAAO,CAAC,IAAIF,KAAK,KAAK,CAAC,CAAC,GAAGD,CAAC,CAACrE,KAAK,CAACsE,KAAK,GAAG,CAAC,CAAC,GAAGD,CAAC;EACzE;AACJ","ignoreList":[]}
|
package/lib/module/index.js
CHANGED
|
@@ -16,6 +16,12 @@
|
|
|
16
16
|
|
|
17
17
|
export { default } from './public/ScaleBunFacade';
|
|
18
18
|
export { ScaleBunProvider } from './public/ScaleBunProvider';
|
|
19
|
+
/**
|
|
20
|
+
* Render-error boundary. Named and shaped to match `@scalebun/web-react`'s export so the same code
|
|
21
|
+
* works on both platforms — see the note in ScaleBunErrorBoundary.tsx for why a host boundary
|
|
22
|
+
* without this silently swallowed every React render error.
|
|
23
|
+
*/
|
|
24
|
+
export { ScaleBunErrorBoundary } from './public/ScaleBunErrorBoundary';
|
|
19
25
|
|
|
20
26
|
// ─── React Components & Hooks (consumer-facing) ────────────────────────────
|
|
21
27
|
// These are needed by app developers to wrap their app and track screens.
|
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["default","ScaleBunProvider","ScaleBunDebugRoot","ScaleBunScreen","useScaleBunScreen","ScaleBunScrollView","ScaleBunFlatList","ScaleBunSectionList","ScaleBunImpression","EngagePromptProvider","useEngagePrompt","EngageAnchorProvider","ScaleBunAnchor","useScaleBunAnchor","otaOrchestrator","OtaOrchestrator","useOtaUpdate","otaEventEmitter","ScaleBunInlineSlot","EngagePromptView","PROMPT_RENDERERS","resolvePromptRenderer","EngageInAppView","INAPP_RENDERERS","resolveInAppRenderer","resolveInAppLayout","EngageThrottleStore","isCampaignEligible","isInAppEligible","selectCampaignToRender","selectInAppToRender","selectInAppVariant","_getTransport","getDebugTransport","getPerformanceFeature","getProfilerFeature","createTypedTracker","defineTrackingPlan"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,SAASA,OAAO,QAAQ,yBAAyB;AACjD,SAASC,gBAAgB,QAAQ,2BAA2B;;
|
|
1
|
+
{"version":3,"names":["default","ScaleBunProvider","ScaleBunErrorBoundary","ScaleBunDebugRoot","ScaleBunScreen","useScaleBunScreen","ScaleBunScrollView","ScaleBunFlatList","ScaleBunSectionList","ScaleBunImpression","EngagePromptProvider","useEngagePrompt","EngageAnchorProvider","ScaleBunAnchor","useScaleBunAnchor","otaOrchestrator","OtaOrchestrator","useOtaUpdate","otaEventEmitter","ScaleBunInlineSlot","EngagePromptView","PROMPT_RENDERERS","resolvePromptRenderer","EngageInAppView","INAPP_RENDERERS","resolveInAppRenderer","resolveInAppLayout","EngageThrottleStore","isCampaignEligible","isInAppEligible","selectCampaignToRender","selectInAppToRender","selectInAppVariant","_getTransport","getDebugTransport","getPerformanceFeature","getProfilerFeature","createTypedTracker","defineTrackingPlan"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,SAASA,OAAO,QAAQ,yBAAyB;AACjD,SAASC,gBAAgB,QAAQ,2BAA2B;AAC5D;AACA;AACA;AACA;AACA;AACA,SAASC,qBAAqB,QAAyC,gCAAgC;;AAEvG;AACA;;AAEA,SAASC,iBAAiB,EAAEC,cAAc,EAAEC,iBAAiB,QAAQ,sCAAsC;AAC3G,SAASC,kBAAkB,QAAQ,uCAAuC;AAC1E,SAASC,gBAAgB,QAAQ,qCAAqC;AACtE,SAASC,mBAAmB,QAAQ,wCAAwC;AAC5E;AACA,SAASC,kBAAkB,QAAQ,uCAAuC;AAG1E;AACA;AACA;AACA;AACA,SACIC,oBAAoB,EACpBC,eAAe,QACZ,wCAAwC;AAC/C,SACIC,oBAAoB,EACpBC,cAAc,EACdC,iBAAiB,QACd,gCAAgC;;AAEvC;AACA,SAASC,eAAe,EAAEC,eAAe,QAAQ,gCAAgC;AAEjF,SAASC,YAAY,QAAQ,6BAA6B;AAG1D,SAASC,eAAe,QAAQ,gCAAgC;AAEhE,SAASC,kBAAkB,QAAQ,yCAAyC;AAC5E,SACIC,gBAAgB,EAChBC,gBAAgB,EAChBC,qBAAqB,QAClB,oCAAoC;AAC3C,SACIC,eAAe,EACfC,eAAe,EACfC,oBAAoB,EACpBC,kBAAkB,QACf,mCAAmC;AAC1C,SACIC,mBAAmB,EACnBC,kBAAkB,EAClBC,eAAe,EACfC,sBAAsB,EACtBC,mBAAmB,EACnBC,kBAAkB,QACf,kCAAkC;;AAEzC;AACA;AACA;AACA;AACA,SAASC,aAAa,IAAIC,iBAAiB,EAAEC,qBAAqB,EAAEC,kBAAkB,QAAQ,mBAAmB;;AAEjH;AACA;;AAeA;AACA;AACA;;AAsCA;;AAgCA;;AAUA;AACA;AACA;AACA;AACA,SAASC,kBAAkB,EAAEC,kBAAkB,QAAQ,uBAAuB","ignoreList":[]}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ScaleBunErrorBoundary — React render errors, forwarded to the SDK.
|
|
3
|
+
*
|
|
4
|
+
* THE GAP THIS CLOSES
|
|
5
|
+
* `ErrorUtils.setGlobalHandler` catches a render error only when NO boundary intercepts it first.
|
|
6
|
+
* The moment a host wraps its tree in its own boundary — which most production apps do — that
|
|
7
|
+
* boundary's `componentDidCatch` consumes the error, it never reaches `ErrorUtils`, and the SDK
|
|
8
|
+
* recorded nothing at all. The screen went blank or fell back, and the crash list stayed empty.
|
|
9
|
+
*
|
|
10
|
+
* The web SDK has shipped `ScaleBunErrorBoundary` from `@scalebun/web-react` for exactly this reason;
|
|
11
|
+
* React Native had no equivalent and no `componentDidCatch` hook a host could forward through. This
|
|
12
|
+
* is the counterpart, and the two are deliberately the same component with the same prop names so a
|
|
13
|
+
* team working across both platforms writes the same thing twice.
|
|
14
|
+
*
|
|
15
|
+
* Use it INSTEAD of your own boundary, or nest it inside one — `onError` runs after capture so an
|
|
16
|
+
* existing boundary's logging keeps working.
|
|
17
|
+
*
|
|
18
|
+
* ```tsx
|
|
19
|
+
* <ScaleBunErrorBoundary fallback={(e) => <Text>Something broke: {e.message}</Text>}>
|
|
20
|
+
* <App />
|
|
21
|
+
* </ScaleBunErrorBoundary>
|
|
22
|
+
* ```
|
|
23
|
+
*/
|
|
24
|
+
import { Component } from 'react';
|
|
25
|
+
import ScaleBun from './ScaleBunFacade';
|
|
26
|
+
export class ScaleBunErrorBoundary extends Component {
|
|
27
|
+
state = {
|
|
28
|
+
error: null
|
|
29
|
+
};
|
|
30
|
+
static getDerivedStateFromError(error) {
|
|
31
|
+
return {
|
|
32
|
+
error
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
componentDidCatch(error, info) {
|
|
36
|
+
try {
|
|
37
|
+
/**
|
|
38
|
+
* NOT fatal, matching the web boundary.
|
|
39
|
+
*
|
|
40
|
+
* The app is still running — that is the entire point of a boundary — so this is reported
|
|
41
|
+
* as a handled error rather than a crash. Marking it fatal would put an event the user
|
|
42
|
+
* experienced as a fallback screen into the same bucket as an app that actually died, and
|
|
43
|
+
* the crash rate is a number people act on.
|
|
44
|
+
*
|
|
45
|
+
* `componentStack` travels in `metadata` because that is the shape RN's `captureError`
|
|
46
|
+
* takes; the web SDK accepts it as a top-level context key. Same information, and the
|
|
47
|
+
* difference is in the two facades, not here.
|
|
48
|
+
*/
|
|
49
|
+
ScaleBun.captureError(error, {
|
|
50
|
+
screenName: this.props.screenName,
|
|
51
|
+
metadata: {
|
|
52
|
+
componentStack: info.componentStack ?? undefined
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
} catch {
|
|
56
|
+
/* never let capture break the boundary */
|
|
57
|
+
}
|
|
58
|
+
this.props.onError?.(error, info);
|
|
59
|
+
}
|
|
60
|
+
render() {
|
|
61
|
+
if (this.state.error) {
|
|
62
|
+
const {
|
|
63
|
+
fallback
|
|
64
|
+
} = this.props;
|
|
65
|
+
return typeof fallback === 'function' ? fallback(this.state.error) : fallback ?? null;
|
|
66
|
+
}
|
|
67
|
+
return this.props.children;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=ScaleBunErrorBoundary.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Component","ScaleBun","ScaleBunErrorBoundary","state","error","getDerivedStateFromError","componentDidCatch","info","captureError","screenName","props","metadata","componentStack","undefined","onError","render","fallback","children"],"sourceRoot":"../../../src","sources":["public/ScaleBunErrorBoundary.tsx"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASA,SAAS,QAAwC,OAAO;AACjE,OAAOC,QAAQ,MAAM,kBAAkB;AAgBvC,OAAO,MAAMC,qBAAqB,SAASF,SAAS,CAAoC;EACpFG,KAAK,GAAU;IAAEC,KAAK,EAAE;EAAK,CAAC;EAE9B,OAAOC,wBAAwBA,CAACD,KAAY,EAAS;IACjD,OAAO;MAAEA;IAAM,CAAC;EACpB;EAEAE,iBAAiBA,CAACF,KAAY,EAAEG,IAAe,EAAQ;IACnD,IAAI;MACA;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;MACYN,QAAQ,CAACO,YAAY,CAACJ,KAAK,EAAE;QACzBK,UAAU,EAAE,IAAI,CAACC,KAAK,CAACD,UAAU;QACjCE,QAAQ,EAAE;UAAEC,cAAc,EAAEL,IAAI,CAACK,cAAc,IAAIC;QAAU;MACjE,CAAC,CAAC;IACN,CAAC,CAAC,MAAM;MACJ;IAAA;IAEJ,IAAI,CAACH,KAAK,CAACI,OAAO,GAAGV,KAAK,EAAEG,IAAI,CAAC;EACrC;EAEAQ,MAAMA,CAAA,EAAc;IAChB,IAAI,IAAI,CAACZ,KAAK,CAACC,KAAK,EAAE;MAClB,MAAM;QAAEY;MAAS,CAAC,GAAG,IAAI,CAACN,KAAK;MAC/B,OAAO,OAAOM,QAAQ,KAAK,UAAU,GAAGA,QAAQ,CAAC,IAAI,CAACb,KAAK,CAACC,KAAK,CAAC,GAAIY,QAAQ,IAAI,IAAK;IAC3F;IACA,OAAO,IAAI,CAACN,KAAK,CAACO,QAAQ;EAC9B;AACJ","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["TurboModuleRegistry","get"],"sourceRoot":"../../../src","sources":["specs/NativeScaleBunOta.ts"],"mappings":"AACA,SAASA,mBAAmB,QAAQ,cAAc;;AAElD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;
|
|
1
|
+
{"version":3,"names":["TurboModuleRegistry","get"],"sourceRoot":"../../../src","sources":["specs/NativeScaleBunOta.ts"],"mappings":"AACA,SAASA,mBAAmB,QAAQ,cAAc;;AAElD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAuEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAeA,mBAAmB,CAACC,GAAG,CAAO,aAAa,CAAC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SDKBootstrapper.d.ts","sourceRoot":"","sources":["../../../src/bootstrap/SDKBootstrapper.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,EAAgB,KAAK,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAU1E,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAcpD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAGxD,MAAM,WAAW,eAAe;IAC5B,MAAM,EAAE,cAAc,CAAC;IACvB,eAAe,EAAE,eAAe,CAAC;CACpC;AAED,qBAAa,eAAe;IACxB,OAAO,CAAC,eAAe,CAAyB;IAChD,OAAO,CAAC,MAAM,CAA+B;IAI7C,OAAO,CAAC,eAAe,CAAuB;IAC9C,OAAO,CAAC,eAAe,CAAwC;IAC/D,OAAO,CAAC,gBAAgB,CAAyC;IACjE,OAAO,CAAC,UAAU,CAAwC;IAC1D,OAAO,CAAC,oBAAoB,CAA6B;IAEzD;;;;;;;;;;OAUG;IACG,SAAS,CACX,SAAS,EAAE,OAAO,EAClB,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,EAClE,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,EAC5B,QAAQ,GAAE,gBAAqB,GAChC,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"SDKBootstrapper.d.ts","sourceRoot":"","sources":["../../../src/bootstrap/SDKBootstrapper.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,EAAgB,KAAK,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAU1E,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAcpD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAGxD,MAAM,WAAW,eAAe;IAC5B,MAAM,EAAE,cAAc,CAAC;IACvB,eAAe,EAAE,eAAe,CAAC;CACpC;AAED,qBAAa,eAAe;IACxB,OAAO,CAAC,eAAe,CAAyB;IAChD,OAAO,CAAC,MAAM,CAA+B;IAI7C,OAAO,CAAC,eAAe,CAAuB;IAC9C,OAAO,CAAC,eAAe,CAAwC;IAC/D,OAAO,CAAC,gBAAgB,CAAyC;IACjE,OAAO,CAAC,UAAU,CAAwC;IAC1D,OAAO,CAAC,oBAAoB,CAA6B;IAEzD;;;;;;;;;;OAUG;IACG,SAAS,CACX,SAAS,EAAE,OAAO,EAClB,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,EAClE,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,EAC5B,QAAQ,GAAE,gBAAqB,GAChC,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;IAmclC;;;;OAIG;IACH;;;;;;;OAOG;IACH,OAAO,CAAC,0BAA0B;IAwBlC;;;;;;OAMG;IACH,OAAO,CAAC,4BAA4B;IAapC,OAAO,CAAC,sBAAsB;IAU9B,+BAA+B;IAC/B,SAAS,IAAI,cAAc,GAAG,IAAI;IAIlC,6BAA6B;IAC7B,QAAQ,IAAI,IAAI;CAMnB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CrashFeature.d.ts","sourceRoot":"","sources":["../../../../src/features/crash/CrashFeature.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"CrashFeature.d.ts","sourceRoot":"","sources":["../../../../src/features/crash/CrashFeature.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAK9E,qBAAa,YAAa,YAAW,QAAQ;IACzC,QAAQ,CAAC,IAAI,WAAW;IACxB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,OAAO,CAAsB;gBAEzB,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC;IAIxC,UAAU,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI;IAqC1C,QAAQ,IAAI,IAAI;IAKhB,IAAI,QAAQ,IAAI,OAAO,CAEtB;CACJ"}
|