@everframe/react-native 1.1.0 → 1.2.0

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.
@@ -35,8 +35,12 @@ package = JSON.parse(File.read(File.join(__dir__, 'package.json')))
35
35
  # evaluated from inside the published npm tarball at a consumer's install, where
36
36
  # no workspace path exists. Unset — every consumer install — the derivation
37
37
  # below is the only source of truth, unchanged.
38
+ #
39
+ # The bridge calls `EverframeConfig(sdkKey:)`, which first ships in native
40
+ # 1.2.0, so the range already asks for 1.2 while package.json is still 1.1.0.
41
+ # The 1.2.0 release moves package.json to match.
38
42
  native_version_override = ENV['EVERFRAME_NATIVE_POD_VERSION'].to_s.strip
39
- native_minor_range = native_version_override.empty? ? '~> 1.1.0' : native_version_override
43
+ native_minor_range = native_version_override.empty? ? '~> 1.2.0' : native_version_override
40
44
 
41
45
  Pod::Spec.new do |s|
42
46
  s.name = 'EverframeRN'
package/README.md CHANGED
@@ -11,6 +11,9 @@ modal to RN host apps via a TurboModule + a thin React provider/hook API.
11
11
 
12
12
  ---
13
13
 
14
+ See the [crash-reporting support matrix](../../docs/crash-reporting-support.md)
15
+ for exact tested paths, unsupported combinations and remaining qualification.
16
+
14
17
  ## Installation
15
18
 
16
19
  ```bash
@@ -56,11 +59,11 @@ import { EverframeProvider, useEverframe } from '@everframe/react-native';
56
59
 
57
60
  export default function App() {
58
61
  return (
59
- // `apiKey` is the only required field. The ingest endpoint is a
62
+ // `sdkKey` is the only required field. The ingest endpoint is a
60
63
  // compile-time constant in the SDK and is not configurable in v1.
61
64
  <EverframeProvider
62
65
  config={{
63
- apiKey: 'txx_live_xxxxxxxxxxxxxxxx',
66
+ sdkKey: 'evf_live_xxxxxxxxxxxxxxxx',
64
67
  // Recommended in RN/Expo development: shake also opens the dev menu.
65
68
  shakeToReport: { enabled: !__DEV__ },
66
69
  }}
@@ -96,6 +99,30 @@ provider context and attach any non-sensitive context needed for diagnosis.
96
99
  The source API requires matching rebuilt native components; published `0.7.0`
97
100
  artifacts are not evidence of support.
98
101
 
102
+ ## Release health
103
+
104
+ Release health counts crash-free foreground sessions for each version of your
105
+ app. It is on by default, and debug builds of the native app aren't counted.
106
+ Turn it off in the `EverframeProvider` config:
107
+
108
+ ```tsx
109
+ releaseHealth: { enabled: false },
110
+ ```
111
+
112
+ Sessions come from the Android and iOS SDKs and count toward the native app
113
+ version, which an over-the-air update doesn't change. Release health needs the
114
+ Hermes bundle identity that `@everframe/metro` adds at build time (or the
115
+ `jsBundle` option); without it, release health stays off and the SDK logs an
116
+ `[everframe]` warning (in development builds only, unless you set
117
+ `releaseHealth`). Add `userId: accountId` to count crash-free users, and
118
+ `includeDebugBuilds: true` to count debug builds too. The configuration is read
119
+ when the Provider mounts, so remount it with a changed `key` to change `enabled`
120
+ or `userId`. A configure with `enabled: false` turns release health off and
121
+ erases its queued records on the device.
122
+ Release health skips a debug build, which is `__DEV__` unless you set
123
+ `debugBuild` on the Provider. See
124
+ [release health](../../docs/release-health.md).
125
+
99
126
  ## Promise rejection observation
100
127
 
101
128
  Automatic Hermes rejection observation is opt-in:
@@ -104,7 +131,7 @@ Automatic Hermes rejection observation is opt-in:
104
131
  import { EverframeProvider, getPromiseRejectionStatus } from '@everframe/react-native';
105
132
 
106
133
  <EverframeProvider config={{
107
- apiKey: '…',
134
+ sdkKey: '…',
108
135
  crashReporting: { promiseRejections: { enabled: true } },
109
136
  }}>
110
137
  <App />
@@ -173,6 +200,27 @@ browser SDK's own error handling.
173
200
 
174
201
  ## Error capture and diagnostics
175
202
 
203
+ ### Native crashes and ANRs
204
+
205
+ Crash reporting also turns on the native SDKs' automatic crash capture. On Android that covers JVM exceptions, native crashes (OS exit records on API 30+, with tombstone frames on API 31+) and ANRs on API 30+; see the [Android SDK guide](../sdk-android/README.md#crash-capture-on-by-default). On iOS it is the native crash recorder. `crashReporting: { disabled: true }` turns all of it off on both platforms.
206
+
207
+ ### Errors no boundary catches
208
+
209
+ Since React Native 0.78, React reports an error that no error boundary catches
210
+ (thrown while rendering, in an effect or in a lifecycle method) through the
211
+ root's `onUncaughtError`. That calls React Native's `ExceptionsManager`, never
212
+ the `ErrorUtils` handler. Crash reporting hooks
213
+ `ExceptionsManager.handleException` too, so such an error is reported as a fatal
214
+ JavaScript crash (`mechanism: "errorutils"`) with its Hermes stack, and React's
215
+ component stack follows the message after `This error is located at:`, as in
216
+ React Native's own report. React unmounts the whole tree, `EverframeProvider`
217
+ included, before it reports the error; the hook stays until the end of that
218
+ task, so the error is still captured. The native fatal React Native raises for
219
+ the same error (`RCTFatalException` on iOS and tvOS, `JavascriptException` on
220
+ Android) is not reported a second time. An error in the render that first
221
+ mounts the provider comes before this capture is installed. Errors a boundary
222
+ catches are not reported automatically; use the callback below.
223
+
176
224
  ### React error boundary callback
177
225
 
178
226
  An existing React class boundary can opt into handled capture. Render the
@@ -194,7 +242,7 @@ class Boundary extends React.Component<React.PropsWithChildren, { failed: boolea
194
242
 
195
243
  export default function App() {
196
244
  return (
197
- <EverframeProvider config={{ apiKey: '…' }}>
245
+ <EverframeProvider config={{ sdkKey: '…' }}>
198
246
  <Boundary>
199
247
  <RootNavigator />
200
248
  </Boundary>
@@ -233,7 +281,7 @@ const { attempted, accepted, duplicateSuppressed } = status.counters.handled;
233
281
 
234
282
  Snapshots are detached, contain no captured content, reset on remount, and perform
235
283
  no native query or upload. Paths are `handled` (including the boundary callback),
236
- `errorUtils`, and `rejection` (submission only). Each active attempt has one outcome:
284
+ `errorUtils` (including errors no boundary catches), and `rejection` (submission only). Each active attempt has one outcome:
237
285
  `accepted`, `duplicateSuppressed`, `allowanceSuppressed`, `bridgeUnavailable`,
238
286
  `nativeRefused`, `captureFailed`, `reentrantSuppressed`, `inactiveAborted`, or
239
287
  `legacyAttempted`. Counters saturate at 2,147,483,647. Existing limits are ten
@@ -303,7 +351,7 @@ guarantee or trigger a retry.
303
351
  ## Network body capture (client veto)
304
352
 
305
353
  ```tsx
306
- <EverframeProvider config={{ apiKey: '…', networkBodies: { disabled: true } }}>
354
+ <EverframeProvider config={{ sdkKey: '…', networkBodies: { disabled: true } }}>
307
355
  ```
308
356
 
309
357
  `networkBodies.disabled: true` is a **client veto** — it can only turn body
@@ -386,7 +434,7 @@ import { createNavigationContainerRef } from '@react-navigation/native';
386
434
  const navigationRef = createNavigationContainerRef();
387
435
  const txNav = reactNavigationIntegration({ navigationRef });
388
436
 
389
- <EverframeProvider config={{ apiKey, integrations: [consoleIntegration(), txNav] }}>
437
+ <EverframeProvider config={{ sdkKey, integrations: [consoleIntegration(), txNav] }}>
390
438
  <NavigationContainer ref={navigationRef} onReady={txNav.onReady}>
391
439
  ...
392
440
  ```
@@ -415,7 +463,7 @@ inside a native view and never reaches JS.
415
463
  ### Config
416
464
 
417
465
  ```tsx
418
- <EverframeProvider config={{ apiKey, vitals: { enabled: true, sampleRate: 0.5, captureSourceQuery: false } }}>
466
+ <EverframeProvider config={{ sdkKey, vitals: { enabled: true, sampleRate: 0.5, captureSourceQuery: false } }}>
419
467
  ```
420
468
 
421
469
  - `enabled` — absent follows the dashboard toggle; `false` opts out locally;
@@ -426,7 +474,9 @@ inside a native view and never reaches JS.
426
474
 
427
475
  **Reconfiguring.** A Provider remount with the *same* config does not restart
428
476
  the SDK: both native sides compare the incoming config against the *installed*
429
- one and skip the start entirely. A **changed** config does restart it — and a
477
+ one and skip the start entirely. A **changed** config does restart it (on iOS,
478
+ except a change confined to `releaseHealth` or the loaded bundle; see
479
+ [Release health](#release-health)) — and a
430
480
  start supersedes the running SDK, detaching every player integration it had
431
481
  announced. **Limitation:** players tracked before that restart stay untracked
432
482
  until their screens remount; nothing re-registers them automatically. Two React
@@ -598,7 +648,7 @@ on Android), so React Native's focus engine never sees it — the native VC
598
648
  manages focus on its own UIWindow / Activity.
599
649
 
600
650
  ```tsx
601
- <EverframeProvider config={{ apiKey }}>
651
+ <EverframeProvider config={{ sdkKey }}>
602
652
  <NavigationContainer>{/* focus engine root */}</NavigationContainer>
603
653
  </EverframeProvider>
604
654
  ```
@@ -21,11 +21,10 @@
21
21
  // spec); a host on the new architecture can flip the parent class with a
22
22
  // 1-line patch once codegen output is available in the consuming build.
23
23
  //
24
- // ZERO-PERMISSION:
25
- // No `<uses-permission>` in AndroidManifest.xml. The bridge adds zero
26
- // permissions on top of whatever `:everframe-core` declares (the core also
27
- // has none — Phase 5 zero-permission AAR contract). Verified by the 06-03
28
- // acceptance grep.
24
+ // PERMISSIONS:
25
+ // No `<uses-permission>` in AndroidManifest.xml. The bridge adds no
26
+ // permissions on top of what `:everframe-core` declares (INTERNET only,
27
+ // merged into the host app's manifest).
29
28
  //
30
29
  // SCOPE (NOT in this build):
31
30
  // • Namespace is `dev.everframe.rn`.
@@ -152,7 +151,9 @@ val nativeVersionOverride = (findProperty("everframeNativeVersion") as String?)
152
151
  val rnSdkPkg = groovy.json.JsonSlurper()
153
152
  .parse(file("../package.json")) as Map<*, *>
154
153
  val rnSdkVersion = rnSdkPkg["version"] as String
155
- val nativeMinorRange: String = nativeVersionOverride ?: "[1.1.0,1.2.0)"
154
+ // Native 1.2.0 is the release that renamed the SDK key to `sdkKey`; the
155
+ // bridge moves with it, ahead of package.json, which the 1.2.0 release bumps.
156
+ val nativeMinorRange: String = nativeVersionOverride ?: "[1.2.0,1.3.0)"
156
157
  if (nativeVersionOverride != null) {
157
158
  logger.lifecycle(
158
159
  "[everframe-rn] native AAR pinned to $nativeVersionOverride via everframeNativeVersion " +
@@ -76,6 +76,8 @@ import dev.everframe.companion.CompanionSubmissionComposer
76
76
  import dev.everframe.companion.PreviewCapture
77
77
  import dev.everframe.companion.RelayWSClient
78
78
  import dev.everframe.companion.parseCompanionBadgePosition
79
+ import dev.everframe.config.ReleaseHealthConfig
80
+ import dev.everframe.config.ReleaseHealthBundleStatus
79
81
  import dev.everframe.config.CaptureConfig
80
82
  import dev.everframe.config.Environment
81
83
  import dev.everframe.config.ReportResult
@@ -215,12 +217,45 @@ class EverframeModule(
215
217
  @ReactMethod(isBlockingSynchronousMethod = true)
216
218
  override fun configureSync(opts: ReadableMap): Boolean = configureInternal(opts)
217
219
 
220
+ private fun parseReleaseHealth(opts: ReadableMap): ReleaseHealthConfig? {
221
+ // Invalid bridge input revokes earlier monitoring instead of retaining an old subject.
222
+ // The SDK reads the app version itself; the bridge carries the loaded bundle, the user ID and
223
+ // whether debug builds count. Release health is on by default: a missing or null flag is on, and
224
+ // only an explicit false is off. It still needs a valid loaded bundle, so no id means off.
225
+ return runCatching {
226
+ if (opts.takeIfHasBoolean("releaseHealthEnabled") == false) return null
227
+ val loaded = opts.takeIfHasString("releaseHealthLoadedBuildId") ?: return null
228
+ val user = opts.takeIfHasString("releaseHealthUserId")
229
+ if (!validHealthText(loaded, 200) || (user != null && !validHealthText(user, 128))) return null
230
+ val includeDebugBuilds = opts.takeIfHasBoolean("releaseHealthIncludeDebugBuilds") ?: false
231
+ ReleaseHealthConfig(enabled = true, userId = user, loadedBuildId = loaded,
232
+ loadedBundleStatus = ReleaseHealthBundleStatus.KNOWN, includeDebugBuilds = includeDebugBuilds)
233
+ }.getOrNull()
234
+ }
235
+
236
+ private fun validHealthText(value: String, maximum: Int): Boolean {
237
+ // Match the wire's UTF-16 limit and ECMAScript blank definition, preserving ID bytes.
238
+ fun blank(c: Char) = c in '\u0009'..'\u000d' || c == ' ' || c == '\u00a0' ||
239
+ c == '\u1680' || c in '\u2000'..'\u200a' || c == '\u2028' || c == '\u2029' ||
240
+ c == '\u202f' || c == '\u205f' || c == '\u3000' || c == '\ufeff'
241
+ if (value.length > maximum || value.all(::blank)) return false
242
+ var index = 0
243
+ while (index < value.length) {
244
+ val c = value[index++]
245
+ if (c.code < 32 || Character.isLowSurrogate(c)) return false
246
+ if (Character.isHighSurrogate(c)) {
247
+ if (index >= value.length || !Character.isLowSurrogate(value[index++])) return false
248
+ }
249
+ }
250
+ return true
251
+ }
252
+
218
253
  private fun configureInternal(opts: ReadableMap): Boolean {
219
254
  var completed = false
220
255
  txGuardSurface("configure") {
221
- val sdkKey = opts.takeIfHasString("apiKey")
256
+ val sdkKey = opts.takeIfHasString("sdkKey")
222
257
  ?: throw JSApplicationIllegalArgumentException(
223
- "configure: required field 'apiKey' missing",
258
+ "configure: required field 'sdkKey' missing",
224
259
  )
225
260
  val sdkVersion = opts.takeIfHasString("sdkVersion") ?: Everframe.SDK_VERSION
226
261
 
@@ -233,6 +268,9 @@ class EverframeModule(
233
268
  // Polarity flips exactly once, here: JS sends the veto
234
269
  // (`installIdentifierDisabled`), native stores the permission.
235
270
  val installIdentifierDisabled = opts.takeIfHasBoolean("installIdentifierDisabled") ?: false
271
+ // Polarity flips exactly once, here: JS sends the veto
272
+ // (`crashReportingDisabled`), native stores the permission.
273
+ val crashReportingDisabled = opts.takeIfHasBoolean("crashReportingDisabled") ?: false
236
274
  // Attach-PIN UI mode (spec 2026-08-19) — a flat optional STRING
237
275
  // field (codegen cannot express a string-literal union), parsed
238
276
  // here and stashed for `startCompanion()` to read (the flag is a
@@ -245,12 +283,20 @@ class EverframeModule(
245
283
  val attachPinUi = parseAttachPinUi(opts.takeIfHasString("attachPinUi"))
246
284
 
247
285
  val config = EverframeConfig(
286
+ // The JS config carries no App ID, and the native SDK requires a
287
+ // non-blank one. It only keys this app's low-memory-kill issue, so
288
+ // the SDK key stands in, as it always has; changing it would split
289
+ // existing React Native low-memory issues.
248
290
  appId = sdkKey,
249
291
  sdkKey = sdkKey,
250
292
  environment = Environment.production,
251
293
  release = sdkVersion,
252
- capture = CaptureConfig(networkBodies = !networkBodiesDisabled),
294
+ capture = CaptureConfig(networkBodies = !networkBodiesDisabled, crash = !crashReportingDisabled),
253
295
  installIdentifierEnabled = !installIdentifierDisabled,
296
+ releaseHealth = parseReleaseHealth(opts),
297
+ // The JS facade always sends React Native's `__DEV__` (or the host's override). A missing
298
+ // or null key stays null so the native SDK decides for itself, as for any other caller.
299
+ debugBuild = opts.takeIfHasBoolean("debugBuild"),
254
300
  // Explicit companion device-identity override (naming spec
255
301
  // 2026-08-24) — read straight off the flat ConfigOpts field,
256
302
  // same shape as attachPinUi above. Absent/blank falls
@@ -23,7 +23,7 @@ type Rect = {
23
23
  * Rich variants (e.g., callbacks, function refs) MUST stay on the JS side.
24
24
  */
25
25
  type ConfigOpts = {
26
- apiKey?: string;
26
+ sdkKey?: string;
27
27
  sdkVersion?: string;
28
28
  /**
29
29
  * If true, the native side captures a UIWindow/SurfaceFlinger screenshot
@@ -49,6 +49,14 @@ type ConfigOpts = {
49
49
  * once polarity is flipped.
50
50
  */
51
51
  installIdentifierDisabled?: boolean;
52
+ /**
53
+ * Client veto for automatic crash capture. `true` turns off the native SDKs' crash capture
54
+ * (JVM, native crashes and ANRs on Android; native crashes on iOS) as well as the JS handlers:
55
+ * both natives store `capture.crash = !crashReportingDisabled`. Flat because RN codegen rejects
56
+ * nested objects; `extractBridgeConfig` flattens the host-facing `crashReporting: { disabled }`.
57
+ * Absent means capture stays on.
58
+ */
59
+ crashReportingDisabled?: boolean;
52
60
  /**
53
61
  * Built-in attach-PIN surface mode (spec 2026-08-19): 'builtin' (default —
54
62
  * the native SDK presents the code itself), 'custom' (host renders it from
@@ -128,6 +136,21 @@ type ConfigOpts = {
128
136
  vitalsEnabled?: boolean;
129
137
  vitalsSampleRate?: number;
130
138
  vitalsCaptureSourceQuery?: boolean;
139
+ /**
140
+ * Whether this is a debug build, which Everframe never makes a release out of. The JS facade always
141
+ * sends it (the config's `debugBuild`, else `__DEV__`). Absent means the native SDK decides for itself.
142
+ */
143
+ debugBuild?: boolean;
144
+ /**
145
+ * Native foreground monitoring (release health). The JS facade always sends this flag: `true` with a
146
+ * validated loaded bundle, or `false` to revoke monitoring. A bridge that finds it missing treats it as
147
+ * on, and only an explicit `false` as off. The native SDK reads the app version.
148
+ */
149
+ releaseHealthEnabled?: boolean;
150
+ releaseHealthLoadedBuildId?: string;
151
+ releaseHealthUserId?: string;
152
+ /** Count debug builds, which the native SDKs skip by default. Absent means false. */
153
+ releaseHealthIncludeDebugBuilds?: boolean;
131
154
  };
132
155
  /**
133
156
  * Host-declared user for self-declared recognition (spec 2026-08-12). Flat by
@@ -0,0 +1 @@
1
+ import{a as s}from"./chunk-XUSV3KOD.js";var pn={},Vn=s((function(n,r,t,e,i){var a=new Worker(pn[r]||(pn[r]=URL.createObjectURL(new Blob([n+';addEventListener("error",function(e){e=e.error;postMessage({$e$:[e.message,e.code,e.stack]})})'],{type:"text/javascript"}))));return a.onmessage=function(o){var f=o.data,v=f.$e$;if(v){var h=new Error(v[0]);h.code=v[1],h.stack=v[2],i(h,null)}else i(null,f)},a.postMessage(t,e),a}),"wk"),U=Uint8Array,Y=Uint16Array,Br=Int32Array,xr=new U([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),zr=new U([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),Ir=new U([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),Mn=s(function(n,r){for(var t=new Y(31),e=0;e<31;++e)t[e]=r+=1<<n[e-1];for(var i=new Br(t[30]),e=1;e<30;++e)for(var a=t[e];a<t[e+1];++a)i[a]=a-t[e]<<5|e;return{b:t,r:i}},"freb"),Sn=Mn(xr,2),en=Sn.b,Rr=Sn.r;en[28]=258,Rr[258]=28;var Un=Mn(zr,0),Fn=Un.b,Vr=Un.r,Zr=new Y(32768);for(Z=0;Z<32768;++Z)er=(Z&43690)>>1|(Z&21845)<<1,er=(er&52428)>>2|(er&13107)<<2,er=(er&61680)>>4|(er&3855)<<4,Zr[Z]=((er&65280)>>8|(er&255)<<8)>>1;var er,Z,X=s((function(n,r,t){for(var e=n.length,i=0,a=new Y(r);i<e;++i)n[i]&&++a[n[i]-1];var o=new Y(r);for(i=1;i<r;++i)o[i]=o[i-1]+a[i-1]<<1;var f;if(t){f=new Y(1<<r);var v=15-r;for(i=0;i<e;++i)if(n[i])for(var h=i<<4|n[i],u=r-n[i],l=o[n[i]-1]++<<u,c=l|(1<<u)-1;l<=c;++l)f[Zr[l]>>v]=h}else for(f=new Y(e),i=0;i<e;++i)n[i]&&(f[i]=Zr[o[n[i]-1]++]>>15-n[i]);return f}),"hMap"),ir=new U(288);for(Z=0;Z<144;++Z)ir[Z]=8;var Z;for(Z=144;Z<256;++Z)ir[Z]=9;var Z;for(Z=256;Z<280;++Z)ir[Z]=7;var Z;for(Z=280;Z<288;++Z)ir[Z]=8;var Z,wr=new U(32);for(Z=0;Z<32;++Z)wr[Z]=5;var Z,Dn=X(ir,9,0),Tn=X(ir,9,1),Cn=X(wr,5,0),In=X(wr,5,1),$r=s(function(n){for(var r=n[0],t=1;t<n.length;++t)n[t]>r&&(r=n[t]);return r},"max"),V=s(function(n,r,t){var e=r/8|0;return(n[e]|n[e+1]<<8)>>(r&7)&t},"bits"),Hr=s(function(n,r){var t=r/8|0;return(n[t]|n[t+1]<<8|n[t+2]<<16)>>(r&7)},"bits16"),Ar=s(function(n){return(n+7)/8|0},"shft"),d=s(function(n,r,t){return(r==null||r<0)&&(r=0),(t==null||t>n.length)&&(t=n.length),new U(n.subarray(r,t))},"slc"),it={UnexpectedEOF:0,InvalidBlockType:1,InvalidLengthLiteral:2,InvalidDistance:3,StreamFinished:4,NoStreamHandler:5,InvalidHeader:6,NoCallback:7,InvalidUTF8:8,ExtraFieldTooLong:9,InvalidDate:10,FilenameTooLong:11,StreamFinishing:12,InvalidZipData:13,UnknownCompressionMethod:14},Zn=["unexpected EOF","invalid block type","invalid length/literal","invalid distance","stream finished","no stream handler",,"no callback","invalid UTF-8 data","extra field too long","date not in range 1980-2099","filename too long","stream finishing","invalid zip data"],p=s(function(n,r,t){var e=new Error(r||Zn[n]);if(e.code=n,Error.captureStackTrace&&Error.captureStackTrace(e,p),!t)throw e;return e},"err"),Er=s(function(n,r,t,e){var i=n.length,a=e?e.length:0;if(!i||r.f&&!r.l)return t||new U(0);var o=!t,f=o||r.i!=2,v=r.i;o&&(t=new U(i*3));var h=s(function(Tr){var Cr=t.length;if(Tr>Cr){var pr=new U(Math.max(Cr*2,Tr));pr.set(t),t=pr}},"cbuf"),u=r.f||0,l=r.p||0,c=r.b||0,S=r.l,x=r.d,A=r.m,g=r.n,z=i*8;do{if(!S){u=V(n,l,1);var F=V(n,l+1,3);if(l+=3,F)if(F==1)S=Tn,x=In,A=9,g=5;else if(F==2){var E=V(n,l,31)+257,T=V(n,l+10,15)+4,m=E+V(n,l+5,31)+1;l+=14;for(var y=new U(m),D=new U(19),C=0;C<T;++C)D[Ir[C]]=V(n,l+C*3,7);l+=T*3;for(var q=$r(D),N=(1<<q)-1,O=X(D,q,1),C=0;C<m;){var P=O[V(n,l,N)];l+=P&15;var M=P>>4;if(M<16)y[C++]=M;else{var L=0,G=0;for(M==16?(G=3+V(n,l,3),l+=2,L=y[C-1]):M==17?(G=3+V(n,l,7),l+=3):M==18&&(G=11+V(n,l,127),l+=7);G--;)y[C++]=L}}var k=y.subarray(0,E),R=y.subarray(E);A=$r(k),g=$r(R),S=X(k,A,1),x=X(R,g,1)}else p(1);else{var M=Ar(l)+4,w=n[M-4]|n[M-3]<<8,B=M+w;if(B>i){v&&p(0);break}f&&h(c+w),t.set(n.subarray(M,B),c),r.b=c+=w,r.p=l=B*8,r.f=u;continue}if(l>z){v&&p(0);break}}f&&h(c+131072);for(var fr=(1<<A)-1,j=(1<<g)-1,tr=l;;tr=l){var L=S[Hr(n,l)&fr],J=L>>4;if(l+=L&15,l>z){v&&p(0);break}if(L||p(2),J<256)t[c++]=J;else if(J==256){tr=l,S=null;break}else{var K=J-254;if(J>264){var C=J-257,$=xr[C];K=V(n,l,(1<<$)-1)+en[C],l+=$}var rr=x[Hr(n,l)&j],vr=rr>>4;rr||p(3),l+=rr&15;var R=Fn[vr];if(vr>3){var $=zr[vr];R+=Hr(n,l)&(1<<$)-1,l+=$}if(l>z){v&&p(0);break}f&&h(c+131072);var cr=c+K;if(c<R){var qr=a-R,Lr=Math.min(R,cr);for(qr+c<0&&p(3);c<Lr;++c)t[c]=e[qr+c]}for(;c<cr;++c)t[c]=t[c-R]}}r.l=S,r.p=tr,r.b=c,r.f=u,S&&(u=1,r.m=A,r.d=x,r.n=g)}while(!u);return c!=t.length&&o?d(t,0,c):t.subarray(0,c)},"inflt"),nr=s(function(n,r,t){t<<=r&7;var e=r/8|0;n[e]|=t,n[e+1]|=t>>8},"wbits"),gr=s(function(n,r,t){t<<=r&7;var e=r/8|0;n[e]|=t,n[e+1]|=t>>8,n[e+2]|=t>>16},"wbits16"),Nr=s(function(n,r){for(var t=[],e=0;e<n.length;++e)n[e]&&t.push({s:e,f:n[e]});var i=t.length,a=t.slice();if(!i)return{t:ar,l:0};if(i==1){var o=new U(t[0].s+1);return o[t[0].s]=1,{t:o,l:1}}t.sort(function(B,E){return B.f-E.f}),t.push({s:-1,f:25001});var f=t[0],v=t[1],h=0,u=1,l=2;for(t[0]={s:-1,f:f.f+v.f,l:f,r:v};u!=i-1;)f=t[t[h].f<t[l].f?h++:l++],v=t[h!=u&&t[h].f<t[l].f?h++:l++],t[u++]={s:-1,f:f.f+v.f,l:f,r:v};for(var c=a[0].s,e=1;e<i;++e)a[e].s>c&&(c=a[e].s);var S=new Y(c+1),x=kr(t[u-1],S,0);if(x>r){var e=0,A=0,g=x-r,z=1<<g;for(a.sort(function(E,T){return S[T.s]-S[E.s]||E.f-T.f});e<i;++e){var F=a[e].s;if(S[F]>r)A+=z-(1<<x-S[F]),S[F]=r;else break}for(A>>=g;A>0;){var M=a[e].s;S[M]<r?A-=1<<r-S[M]++-1:++e}for(;e>=0&&A;--e){var w=a[e].s;S[w]==r&&(--S[w],++A)}x=r}return{t:new U(S),l:x}},"hTree"),kr=s(function(n,r,t){return n.s==-1?Math.max(kr(n.l,r,t+1),kr(n.r,r,t+1)):r[n.s]=t},"ln"),Xr=s(function(n){for(var r=n.length;r&&!n[--r];);for(var t=new Y(++r),e=0,i=n[0],a=1,o=s(function(v){t[e++]=v},"w"),f=1;f<=r;++f)if(n[f]==i&&f!=r)++a;else{if(!i&&a>2){for(;a>138;a-=138)o(32754);a>2&&(o(a>10?a-11<<5|28690:a-3<<5|12305),a=0)}else if(a>3){for(o(i),--a;a>6;a-=6)o(8304);a>2&&(o(a-3<<5|8208),a=0)}for(;a--;)o(i);a=1,i=n[f]}return{c:t.subarray(0,e),n:r}},"lc"),yr=s(function(n,r){for(var t=0,e=0;e<r.length;++e)t+=n[e]*r[e];return t},"clen"),an=s(function(n,r,t){var e=t.length,i=Ar(r+2);n[i]=e&255,n[i+1]=e>>8,n[i+2]=n[i]^255,n[i+3]=n[i+1]^255;for(var a=0;a<e;++a)n[i+a+4]=t[a];return(i+4+e)*8},"wfblk"),dr=s(function(n,r,t,e,i,a,o,f,v,h,u){nr(r,u++,t),++i[256];for(var l=Nr(i,15),c=l.t,S=l.l,x=Nr(a,15),A=x.t,g=x.l,z=Xr(c),F=z.c,M=z.n,w=Xr(A),B=w.c,E=w.n,T=new Y(19),m=0;m<F.length;++m)++T[F[m]&31];for(var m=0;m<B.length;++m)++T[B[m]&31];for(var y=Nr(T,7),D=y.t,C=y.l,q=19;q>4&&!D[Ir[q-1]];--q);var N=h+5<<3,O=yr(i,ir)+yr(a,wr)+o,P=yr(i,c)+yr(a,A)+o+14+3*q+yr(T,D)+2*T[16]+3*T[17]+7*T[18];if(v>=0&&N<=O&&N<=P)return an(r,u,n.subarray(v,v+h));var L,G,k,R;if(nr(r,u,1+(P<O)),u+=2,P<O){L=X(c,S,0),G=c,k=X(A,g,0),R=A;var fr=X(D,C,0);nr(r,u,M-257),nr(r,u+5,E-1),nr(r,u+10,q-4),u+=14;for(var m=0;m<q;++m)nr(r,u+3*m,D[Ir[m]]);u+=3*q;for(var j=[F,B],tr=0;tr<2;++tr)for(var J=j[tr],m=0;m<J.length;++m){var K=J[m]&31;nr(r,u,fr[K]),u+=D[K],K>15&&(nr(r,u,J[m]>>5&127),u+=J[m]>>12)}}else L=Dn,G=ir,k=Cn,R=wr;for(var m=0;m<f;++m){var $=e[m];if($>255){var K=$>>18&31;gr(r,u,L[K+257]),u+=G[K+257],K>7&&(nr(r,u,$>>23&31),u+=xr[K]);var rr=$&31;gr(r,u,k[rr]),u+=R[rr],rr>3&&(gr(r,u,$>>5&8191),u+=zr[rr])}else gr(r,u,L[$]),u+=G[$]}return gr(r,u,L[256]),u+G[256]},"wblk"),Bn=new Br([65540,131080,131088,131104,262176,1048704,1048832,2114560,2117632]),ar=new U(0),En=s(function(n,r,t,e,i,a){var o=a.z||n.length,f=new U(e+o+5*(1+Math.ceil(o/7e3))+i),v=f.subarray(e,f.length-i),h=a.l,u=(a.r||0)&7;if(r){u&&(v[0]=a.r>>3);for(var l=Bn[r-1],c=l>>13,S=l&8191,x=(1<<t)-1,A=a.p||new Y(32768),g=a.h||new Y(x+1),z=Math.ceil(t/3),F=2*z,M=s(function(Kr){return(n[Kr]^n[Kr+1]<<z^n[Kr+2]<<F)&x},"hsh"),w=new Br(25e3),B=new Y(288),E=new Y(32),T=0,m=0,y=a.i||0,D=0,C=a.w||0,q=0;y+2<o;++y){var N=M(y),O=y&32767,P=g[N];if(A[O]=P,g[N]=O,C<=y){var L=o-y;if((T>7e3||D>24576)&&(L>423||!h)){u=dr(n,v,0,w,B,E,m,D,q,y-q,u),D=T=m=0,q=y;for(var G=0;G<286;++G)B[G]=0;for(var G=0;G<30;++G)E[G]=0}var k=2,R=0,fr=S,j=O-P&32767;if(L>2&&N==M(y-j))for(var tr=Math.min(c,L)-1,J=Math.min(32767,y),K=Math.min(258,L);j<=J&&--fr&&O!=P;){if(n[y+k]==n[y+k-j]){for(var $=0;$<K&&n[y+$]==n[y+$-j];++$);if($>k){if(k=$,R=j,$>tr)break;for(var rr=Math.min(j,$-2),vr=0,G=0;G<rr;++G){var cr=y-j+G&32767,qr=A[cr],Lr=cr-qr&32767;Lr>vr&&(vr=Lr,P=cr)}}}O=P,P=A[O],j+=O-P&32767}if(R){w[D++]=268435456|Rr[k]<<18|Vr[R];var Tr=Rr[k]&31,Cr=Vr[R]&31;m+=xr[Tr]+zr[Cr],++B[257+Tr],++E[Cr],C=y+k,++T}else w[D++]=n[y],++B[n[y]]}}for(y=Math.max(y,C);y<o;++y)w[D++]=n[y],++B[n[y]];u=dr(n,v,h,w,B,E,m,D,q,y-q,u),h||(a.r=u&7|v[u/8|0]<<3,u-=7,a.h=g,a.p=A,a.i=y,a.w=C)}else{for(var y=a.w||0;y<o+h;y+=65535){var pr=y+65535;pr>=o&&(v[u/8|0]=h,pr=o),u=an(v,u+1,n.subarray(y,pr))}a.i=o}return d(f,0,e+Ar(u)+i)},"dflt"),Gn=(function(){for(var n=new Int32Array(256),r=0;r<256;++r){for(var t=r,e=9;--e;)t=(t&1&&-306674912)^t>>>1;n[r]=t}return n})(),Mr=s(function(){var n=-1;return{p:s(function(r){for(var t=n,e=0;e<r.length;++e)t=Gn[t&255^r[e]]^t>>>8;n=t},"p"),d:s(function(){return~n},"d")}},"crc"),jr=s(function(){var n=1,r=0;return{p:s(function(t){for(var e=n,i=r,a=t.length|0,o=0;o!=a;){for(var f=Math.min(o+2655,a);o<f;++o)i+=e+=t[o];e=(e&65535)+15*(e>>16),i=(i&65535)+15*(i>>16)}n=e,r=i},"p"),d:s(function(){return n%=65521,r%=65521,(n&255)<<24|(n&65280)<<8|(r&255)<<8|r>>8},"d")}},"adler"),ur=s(function(n,r,t,e,i){if(!i&&(i={l:1},r.dictionary)){var a=r.dictionary.subarray(-32768),o=new U(a.length+n.length);o.set(a),o.set(n,a.length),n=o,i.w=a.length}return En(n,r.level==null?6:r.level,r.mem==null?i.l?Math.ceil(Math.max(8,Math.min(13,Math.log(n.length)))*1.5):20:12+r.mem,t,e,i)},"dopt"),Gr=s(function(n,r){var t={};for(var e in n)t[e]=n[e];for(var e in r)t[e]=r[e];return t},"mrg"),gn=s(function(n,r,t){for(var e=n(),i=n.toString(),a=i.slice(i.indexOf("[")+1,i.lastIndexOf("]")).replace(/\s+/g,"").split(","),o=0;o<e.length;++o){var f=e[o],v=a[o];if(typeof f=="function"){r+=";"+v+"=";var h=f.toString();if(f.prototype)if(h.indexOf("[native code]")!=-1){var u=h.indexOf(" ",8)+1;r+=h.slice(u,h.indexOf("(",u))}else{r+=h;for(var l in f.prototype)r+=";"+v+".prototype."+l+"="+f.prototype[l].toString()}else r+=h}else t[v]=f}return r},"wcln"),Pr=[],Xn=s(function(n){var r=[];for(var t in n)n[t].buffer&&r.push((n[t]=new n[t].constructor(n[t])).buffer);return r},"cbfs"),On=s(function(n,r,t,e){if(!Pr[t]){for(var i="",a={},o=n.length-1,f=0;f<o;++f)i=gn(n[f],i,a);Pr[t]={c:gn(n[o],i,a),e:a}}var v=Gr({},Pr[t].e);return Vn(Pr[t].c+";onmessage=function(e){for(var k in e.data)self[k]=e.data[k];onmessage="+r.toString()+"}",t,v,Xn(v),e)},"wrkr"),Sr=s(function(){return[U,Y,Br,xr,zr,Ir,en,Fn,Tn,In,Zr,Zn,X,$r,V,Hr,Ar,d,p,Er,Or,sr,on]},"bInflt"),Ur=s(function(){return[U,Y,Br,xr,zr,Ir,Rr,Vr,Dn,ir,Cn,wr,Zr,Bn,ar,X,nr,gr,Nr,kr,Xr,yr,an,dr,Ar,d,En,ur,Jr,sr]},"bDflt"),qn=s(function(){return[sn,hn,I,Mr,Gn]},"gze"),Ln=s(function(){return[fn,Hn]},"guze"),Pn=s(function(){return[un,I,jr]},"zle"),$n=s(function(){return[ln]},"zule"),sr=s(function(n){return postMessage(n,[n.buffer])},"pbf"),on=s(function(n){return n&&{out:n.size&&new U(n.size),dictionary:n.dictionary}},"gopt"),Fr=s(function(n,r,t,e,i,a){var o=On(t,e,i,function(f,v){o.terminate(),a(f,v)});return o.postMessage([n,r],r.consume?[n.buffer]:[]),function(){o.terminate()}},"cbify"),b=s(function(n){return n.ondata=function(r,t){return postMessage([r,t],[r.buffer])},function(r){r.data.length?(n.push(r.data[0],r.data[1]),postMessage([r.data[0].length])):n.flush()}},"astrm"),Dr=s(function(n,r,t,e,i,a,o){var f,v=On(n,e,i,function(h,u){h?(v.terminate(),r.ondata.call(r,h)):Array.isArray(u)?u.length==1?(r.queuedSize-=u[0],r.ondrain&&r.ondrain(u[0])):(u[1]&&v.terminate(),r.ondata.call(r,h,u[0],u[1])):o(u)});v.postMessage(t),r.queuedSize=0,r.push=function(h,u){r.ondata||p(5),f&&r.ondata(p(4,0,1),null,!!u),r.queuedSize+=h.length,v.postMessage([h,f=u],[h.buffer])},r.terminate=function(){v.terminate()},a&&(r.flush=function(){v.postMessage([])})},"astrmify"),W=s(function(n,r){return n[r]|n[r+1]<<8},"b2"),H=s(function(n,r){return(n[r]|n[r+1]<<8|n[r+2]<<16|n[r+3]<<24)>>>0},"b4"),Qr=s(function(n,r){return H(n,r)+H(n,r+4)*4294967296},"b8"),I=s(function(n,r,t){for(;t;++r)n[r]=t,t>>>=8},"wbytes"),sn=s(function(n,r){var t=r.filename;if(n[0]=31,n[1]=139,n[2]=8,n[8]=r.level<2?4:r.level==9?2:0,n[9]=3,r.mtime!=0&&I(n,4,Math.floor(new Date(r.mtime||Date.now())/1e3)),t){n[3]=8;for(var e=0;e<=t.length;++e)n[e+10]=t.charCodeAt(e)}},"gzh"),fn=s(function(n){(n[0]!=31||n[1]!=139||n[2]!=8)&&p(6,"invalid gzip data");var r=n[3],t=10;r&4&&(t+=(n[10]|n[11]<<8)+2);for(var e=(r>>3&1)+(r>>4&1);e>0;e-=!n[t++]);return t+(r&2)},"gzs"),Hn=s(function(n){var r=n.length;return(n[r-4]|n[r-3]<<8|n[r-2]<<16|n[r-1]<<24)>>>0},"gzl"),hn=s(function(n){return 10+(n.filename?n.filename.length+1:0)},"gzhl"),un=s(function(n,r){var t=r.level,e=t==0?0:t<6?1:t==9?3:2;if(n[0]=120,n[1]=e<<6|(r.dictionary&&32),n[1]|=31-(n[0]<<8|n[1])%31,r.dictionary){var i=jr();i.p(r.dictionary),I(n,2,i.d())}},"zlh"),ln=s(function(n,r){return((n[0]&15)!=8||n[0]>>4>7||(n[0]<<8|n[1])%31)&&p(6,"invalid zlib data"),(n[1]>>5&1)==+!r&&p(6,"invalid zlib data: "+(n[1]&32?"need":"unexpected")+" dictionary"),(n[1]>>3&4)+2},"zls");function lr(n,r){return typeof n=="function"&&(r=n,n={}),this.ondata=r,n}s(lr,"StrmOpt");var _=(function(){function n(r,t){if(typeof r=="function"&&(t=r,r={}),this.ondata=t,this.o=r||{},this.s={l:0,i:32768,w:32768,z:32768},this.b=new U(98304),this.o.dictionary){var e=this.o.dictionary.subarray(-32768);this.b.set(e,32768-e.length),this.s.i=32768-e.length}}return s(n,"Deflate"),n.prototype.p=function(r,t){this.ondata(ur(r,this.o,0,0,this.s),t)},n.prototype.push=function(r,t){this.ondata||p(5),this.s.l&&p(4);var e=r.length+this.s.z;if(e>this.b.length){if(e>2*this.b.length-32768){var i=new U(e&-32768);i.set(this.b.subarray(0,this.s.z)),this.b=i}var a=this.b.length-this.s.z;this.b.set(r.subarray(0,a),this.s.z),this.s.z=this.b.length,this.p(this.b,!1),this.b.set(this.b.subarray(-32768)),this.b.set(r.subarray(a),32768),this.s.z=r.length-a+32768,this.s.i=32766,this.s.w=32768}else this.b.set(r,this.s.z),this.s.z+=r.length;this.s.l=t&1,(this.s.z>this.s.w+8191||t)&&(this.p(this.b,t||!1),this.s.w=this.s.i,this.s.i-=2)},n.prototype.flush=function(){this.ondata||p(5),this.s.l&&p(4),this.p(this.b,!1),this.s.w=this.s.i,this.s.i-=2},n})();var dn=(function(){function n(r,t){Dr([Ur,function(){return[b,_]}],this,lr.call(this,r,t),function(e){var i=new _(e.data);onmessage=b(i)},6,1)}return s(n,"AsyncDeflate"),n})();function bn(n,r,t){return t||(t=r,r={}),typeof t!="function"&&p(7),Fr(n,r,[Ur],function(e){return sr(Jr(e.data[0],e.data[1]))},0,t)}s(bn,"deflate");function Jr(n,r){return ur(n,r||{},0,0)}s(Jr,"deflateSync");var Q=(function(){function n(r,t){typeof r=="function"&&(t=r,r={}),this.ondata=t;var e=r&&r.dictionary&&r.dictionary.subarray(-32768);this.s={i:0,b:e?e.length:0},this.o=new U(32768),this.p=new U(0),e&&this.o.set(e)}return s(n,"Inflate"),n.prototype.e=function(r){if(this.ondata||p(5),this.d&&p(4),!this.p.length)this.p=r;else if(r.length){var t=new U(this.p.length+r.length);t.set(this.p),t.set(r,this.p.length),this.p=t}},n.prototype.c=function(r){this.s.i=+(this.d=r||!1);var t=this.s.b,e=Er(this.p,this.s,this.o);this.ondata(d(e,t,this.s.b),this.d),this.o=d(e,this.s.b-32768),this.s.b=this.o.length,this.p=d(this.p,this.s.p/8|0),this.s.p&=7},n.prototype.push=function(r,t){this.e(r),this.c(t)},n})();var Nn=(function(){function n(r,t){Dr([Sr,function(){return[b,Q]}],this,lr.call(this,r,t),function(e){var i=new Q(e.data);onmessage=b(i)},7,0)}return s(n,"AsyncInflate"),n})();function Rn(n,r,t){return t||(t=r,r={}),typeof t!="function"&&p(7),Fr(n,r,[Sr],function(e){return sr(Or(e.data[0],on(e.data[1])))},1,t)}s(Rn,"inflate");function Or(n,r){return Er(n,{i:2},r&&r.out,r&&r.dictionary)}s(Or,"inflateSync");var yn=(function(){function n(r,t){this.c=Mr(),this.l=0,this.v=1,_.call(this,r,t)}return s(n,"Gzip"),n.prototype.push=function(r,t){this.c.p(r),this.l+=r.length,_.prototype.push.call(this,r,t)},n.prototype.p=function(r,t){var e=ur(r,this.o,this.v&&hn(this.o),t&&8,this.s);this.v&&(sn(e,this.o),this.v=0),t&&(I(e,e.length-8,this.c.d()),I(e,e.length-4,this.l)),this.ondata(e,t)},n.prototype.flush=function(){_.prototype.flush.call(this)},n})();var at=(function(){function n(r,t){Dr([Ur,qn,function(){return[b,_,yn]}],this,lr.call(this,r,t),function(e){var i=new yn(e.data);onmessage=b(i)},8,1)}return s(n,"AsyncGzip"),n})();function ot(n,r,t){return t||(t=r,r={}),typeof t!="function"&&p(7),Fr(n,r,[Ur,qn,function(){return[wn]}],function(e){return sr(wn(e.data[0],e.data[1]))},2,t)}s(ot,"gzip");function wn(n,r){r||(r={});var t=Mr(),e=n.length;t.p(n);var i=ur(n,r,hn(r),8),a=i.length;return sn(i,r),I(i,a-8,t.d()),I(i,a-4,e),i}s(wn,"gzipSync");var br=(function(){function n(r,t){this.v=1,this.r=0,Q.call(this,r,t)}return s(n,"Gunzip"),n.prototype.push=function(r,t){if(Q.prototype.e.call(this,r),this.r+=r.length,this.v){var e=this.p.subarray(this.v-1),i=e.length>3?fn(e):4;if(i>e.length){if(!t)return}else this.v>1&&this.onmember&&this.onmember(this.r-e.length);this.p=e.subarray(i),this.v=0}Q.prototype.c.call(this,t),this.s.f&&!this.s.l&&!t&&(this.v=Ar(this.s.p)+9,this.s={i:0},this.o=new U(0),this.push(new U(0),t))},n})();var _n=(function(){function n(r,t){var e=this;Dr([Sr,Ln,function(){return[b,Q,br]}],this,lr.call(this,r,t),function(i){var a=new br(i.data);a.onmember=function(o){return postMessage(o)},onmessage=b(a)},9,0,function(i){return e.onmember&&e.onmember(i)})}return s(n,"AsyncGunzip"),n})();function rt(n,r,t){return t||(t=r,r={}),typeof t!="function"&&p(7),Fr(n,r,[Sr,Ln,function(){return[_r]}],function(e){return sr(_r(e.data[0],e.data[1]))},3,t)}s(rt,"gunzip");function _r(n,r){var t=fn(n);return t+8>n.length&&p(6,"invalid gzip data"),Er(n.subarray(t,-8),{i:2},r&&r.out||new U(Hn(n)),r&&r.dictionary)}s(_r,"gunzipSync");var mn=(function(){function n(r,t){this.c=jr(),this.v=1,_.call(this,r,t)}return s(n,"Zlib"),n.prototype.push=function(r,t){this.c.p(r),_.prototype.push.call(this,r,t)},n.prototype.p=function(r,t){var e=ur(r,this.o,this.v&&(this.o.dictionary?6:2),t&&4,this.s);this.v&&(un(e,this.o),this.v=0),t&&I(e,e.length-4,this.c.d()),this.ondata(e,t)},n.prototype.flush=function(){_.prototype.flush.call(this)},n})();var st=(function(){function n(r,t){Dr([Ur,Pn,function(){return[b,_,mn]}],this,lr.call(this,r,t),function(e){var i=new mn(e.data);onmessage=b(i)},10,1)}return s(n,"AsyncZlib"),n})();function ft(n,r,t){return t||(t=r,r={}),typeof t!="function"&&p(7),Fr(n,r,[Ur,Pn,function(){return[xn]}],function(e){return sr(xn(e.data[0],e.data[1]))},4,t)}s(ft,"zlib");function xn(n,r){r||(r={});var t=jr();t.p(n);var e=ur(n,r,r.dictionary?6:2,4);return un(e,r),I(e,e.length-4,t.d()),e}s(xn,"zlibSync");var rn=(function(){function n(r,t){Q.call(this,r,t),this.v=r&&r.dictionary?2:1}return s(n,"Unzlib"),n.prototype.push=function(r,t){if(Q.prototype.e.call(this,r),this.v){if(this.p.length<6&&!t)return;this.p=this.p.subarray(ln(this.p,this.v-1)),this.v=0}t&&(this.p.length<4&&p(6,"invalid zlib data"),this.p=this.p.subarray(0,-4)),Q.prototype.c.call(this,t)},n})();var nt=(function(){function n(r,t){Dr([Sr,$n,function(){return[b,Q,rn]}],this,lr.call(this,r,t),function(e){var i=new rn(e.data);onmessage=b(i)},11,0)}return s(n,"AsyncUnzlib"),n})();function tt(n,r,t){return t||(t=r,r={}),typeof t!="function"&&p(7),Fr(n,r,[Sr,$n,function(){return[nn]}],function(e){return sr(nn(e.data[0],on(e.data[1])))},5,t)}s(tt,"unzlib");function nn(n,r){return Er(n.subarray(ln(n,r&&r.dictionary),-4),{i:2},r&&r.out,r&&r.dictionary)}s(nn,"unzlibSync");var zn=(function(){function n(r,t){this.o=lr.call(this,r,t)||{},this.G=br,this.I=Q,this.Z=rn}return s(n,"Decompress"),n.prototype.i=function(){var r=this;this.s.ondata=function(t,e){r.ondata(t,e)}},n.prototype.push=function(r,t){if(this.ondata||p(5),this.s)this.s.push(r,t);else{if(this.p&&this.p.length){var e=new U(this.p.length+r.length);e.set(this.p),e.set(r,this.p.length)}else this.p=r;this.p.length>2&&(this.s=this.p[0]==31&&this.p[1]==139&&this.p[2]==8?new this.G(this.o):(this.p[0]&15)!=8||this.p[0]>>4>7||(this.p[0]<<8|this.p[1])%31?new this.I(this.o):new this.Z(this.o),this.i(),this.s.push(this.p,t),this.p=null)}},n})();var ht=(function(){function n(r,t){zn.call(this,r,t),this.queuedSize=0,this.G=_n,this.I=Nn,this.Z=nt}return s(n,"AsyncDecompress"),n.prototype.i=function(){var r=this;this.s.ondata=function(t,e,i){r.ondata(t,e,i)},this.s.ondrain=function(t){r.queuedSize-=t,r.ondrain&&r.ondrain(t)}},n.prototype.push=function(r,t){this.queuedSize+=r.length,zn.prototype.push.call(this,r,t)},n})();function ut(n,r,t){return t||(t=r,r={}),typeof t!="function"&&p(7),n[0]==31&&n[1]==139&&n[2]==8?rt(n,r,t):(n[0]&15)!=8||n[0]>>4>7||(n[0]<<8|n[1])%31?Rn(n,r,t):tt(n,r,t)}s(ut,"decompress");function lt(n,r){return n[0]==31&&n[1]==139&&n[2]==8?_r(n,r):(n[0]&15)!=8||n[0]>>4>7||(n[0]<<8|n[1])%31?Or(n,r):nn(n,r)}s(lt,"decompressSync");var vn=s(function(n,r,t,e){for(var i in n){var a=n[i],o=r+i,f=e;Array.isArray(a)&&(f=Gr(e,a[1]),a=a[0]),a instanceof U?t[o]=[a,f]:(t[o+="/"]=[new U(0),f],vn(a,o,t,e))}},"fltn"),An=typeof TextEncoder<"u"&&new TextEncoder,tn=typeof TextDecoder<"u"&&new TextDecoder,kn=0;try{tn.decode(ar,{stream:!0}),kn=1}catch{}var Wn=s(function(n){for(var r="",t=0;;){var e=n[t++],i=(e>127)+(e>223)+(e>239);if(t+i>n.length)return{s:r,r:d(n,t-1)};i?i==3?(e=((e&15)<<18|(n[t++]&63)<<12|(n[t++]&63)<<6|n[t++]&63)-65536,r+=String.fromCharCode(55296|e>>10,56320|e&1023)):i&1?r+=String.fromCharCode((e&31)<<6|n[t++]&63):r+=String.fromCharCode((e&15)<<12|(n[t++]&63)<<6|n[t++]&63):r+=String.fromCharCode(e)}},"dutf8"),vt=(function(){function n(r){this.ondata=r,kn?this.t=new TextDecoder:this.p=ar}return s(n,"DecodeUTF8"),n.prototype.push=function(r,t){if(this.ondata||p(5),t=!!t,this.t){this.ondata(this.t.decode(r,{stream:!0}),t),t&&(this.t.decode().length&&p(8),this.t=null);return}this.p||p(4);var e=new U(this.p.length+r.length);e.set(this.p),e.set(r,this.p.length);var i=Wn(e),a=i.s,o=i.r;t?(o.length&&p(8),this.p=null):this.p=o,this.ondata(a,t)},n})();var ct=(function(){function n(r){this.ondata=r}return s(n,"EncodeUTF8"),n.prototype.push=function(r,t){this.ondata||p(5),this.d&&p(4),this.ondata(hr(r),this.d=t||!1)},n})();function hr(n,r){if(r){for(var t=new U(n.length),e=0;e<n.length;++e)t[e]=n.charCodeAt(e);return t}if(An)return An.encode(n);for(var i=n.length,a=new U(n.length+(n.length>>1)),o=0,f=s(function(u){a[o++]=u},"w"),e=0;e<i;++e){if(o+5>a.length){var v=new U(o+8+(i-e<<1));v.set(a),a=v}var h=n.charCodeAt(e);h<128||r?f(h):h<2048?(f(192|h>>6),f(128|h&63)):h>55295&&h<57344?(h=65536+(h&1047552)|n.charCodeAt(++e)&1023,f(240|h>>18),f(128|h>>12&63),f(128|h>>6&63),f(128|h&63)):(f(224|h>>12),f(128|h>>6&63),f(128|h&63))}return d(a,0,o)}s(hr,"strToU8");function Yn(n,r){if(r){for(var t="",e=0;e<n.length;e+=16384)t+=String.fromCharCode.apply(null,n.subarray(e,e+16384));return t}else{if(tn)return tn.decode(n);var i=Wn(n),a=i.s,t=i.r;return t.length&&p(8),a}}s(Yn,"strFromU8");var jn=s(function(n){return n==1?3:n<6?2:n==9?1:0},"dbf"),Jn=s(function(n,r){return r+30+W(n,r+26)+W(n,r+28)},"slzh"),Kn=s(function(n,r,t){var e=W(n,r+28),i=Yn(n.subarray(r+46,r+46+e),!(W(n,r+8)&2048)),a=r+46+e,o=H(n,r+20),f=t&&o==4294967295?Qn(n,a):[o,H(n,r+24),H(n,r+42)],v=f[0],h=f[1],u=f[2];return[W(n,r+10),v,h,i,a+W(n,r+30)+W(n,r+32),u]},"zh"),Qn=s(function(n,r){for(;W(n,r)!=1;r+=4+W(n,r+2));return[Qr(n,r+12),Qr(n,r+4),Qr(n,r+20)]},"z64e"),or=s(function(n){var r=0;if(n)for(var t in n){var e=n[t].length;e>65535&&p(9),r+=e+4}return r},"exfl"),mr=s(function(n,r,t,e,i,a,o,f){var v=e.length,h=t.extra,u=f&&f.length,l=or(h);I(n,r,o!=null?33639248:67324752),r+=4,o!=null&&(n[r++]=20,n[r++]=t.os),n[r]=20,r+=2,n[r++]=t.flag<<1|(a<0&&8),n[r++]=i&&8,n[r++]=t.compression&255,n[r++]=t.compression>>8;var c=new Date(t.mtime==null?Date.now():t.mtime),S=c.getFullYear()-1980;if((S<0||S>119)&&p(10),I(n,r,S<<25|c.getMonth()+1<<21|c.getDate()<<16|c.getHours()<<11|c.getMinutes()<<5|c.getSeconds()>>1),r+=4,a!=-1&&(I(n,r,t.crc),I(n,r+4,a<0?-a-2:a),I(n,r+8,t.size)),I(n,r+12,v),I(n,r+14,l),r+=16,o!=null&&(I(n,r,u),I(n,r+6,t.attrs),I(n,r+10,o),r+=14),n.set(e,r),r+=v,l)for(var x in h){var A=h[x],g=A.length;I(n,r,+x),I(n,r+2,g),n.set(A,r+4),r+=4+g}return u&&(n.set(f,r),r+=u),r},"wzh"),cn=s(function(n,r,t,e,i){I(n,r,101010256),I(n,r+8,t),I(n,r+10,t),I(n,r+12,e),I(n,r+16,i)},"wzf"),Wr=(function(){function n(r){this.filename=r,this.c=Mr(),this.size=0,this.compression=0}return s(n,"ZipPassThrough"),n.prototype.process=function(r,t){this.ondata(null,r,t)},n.prototype.push=function(r,t){this.ondata||p(5),this.c.p(r),this.size+=r.length,t&&(this.crc=this.c.d()),this.process(r,t||!1)},n})();var pt=(function(){function n(r,t){var e=this;t||(t={}),Wr.call(this,r),this.d=new _(t,function(i,a){e.ondata(null,i,a)}),this.compression=8,this.flag=jn(t.level)}return s(n,"ZipDeflate"),n.prototype.process=function(r,t){try{this.d.push(r,t)}catch(e){this.ondata(e,null,t)}},n.prototype.push=function(r,t){Wr.prototype.push.call(this,r,t)},n})();var gt=(function(){function n(r,t){var e=this;t||(t={}),Wr.call(this,r),this.d=new dn(t,function(i,a,o){e.ondata(i,a,o)}),this.compression=8,this.flag=jn(t.level),this.terminate=this.d.terminate}return s(n,"AsyncZipDeflate"),n.prototype.process=function(r,t){this.d.push(r,t)},n.prototype.push=function(r,t){Wr.prototype.push.call(this,r,t)},n})();var yt=(function(){function n(r){this.ondata=r,this.u=[],this.d=1}return s(n,"Zip"),n.prototype.add=function(r){var t=this;if(this.ondata||p(5),this.d&2)this.ondata(p(4+(this.d&1)*8,0,1),null,!1);else{var e=hr(r.filename),i=e.length,a=r.comment,o=a&&hr(a),f=i!=r.filename.length||o&&a.length!=o.length,v=i+or(r.extra)+30;i>65535&&this.ondata(p(11,0,1),null,!1);var h=new U(v);mr(h,0,r,e,f,-1);var u=[h],l=s(function(){for(var g=0,z=u;g<z.length;g++){var F=z[g];t.ondata(null,F,!1)}u=[]},"pAll_1"),c=this.d;this.d=0;var S=this.u.length,x=Gr(r,{f:e,u:f,o,t:s(function(){r.terminate&&r.terminate()},"t"),r:s(function(){if(l(),c){var g=t.u[S+1];g?g.r():t.d=1}c=1},"r")}),A=0;r.ondata=function(g,z,F){if(g)t.ondata(g,z,F),t.terminate();else if(A+=z.length,u.push(z),F){var M=new U(16);I(M,0,134695760),I(M,4,r.crc),I(M,8,A),I(M,12,r.size),u.push(M),x.c=A,x.b=v+A+16,x.crc=r.crc,x.size=r.size,c&&x.r(),c=1}else c&&l()},this.u.push(x)}},n.prototype.end=function(){var r=this;if(this.d&2){this.ondata(p(4+(this.d&1)*8,0,1),null,!0);return}this.d?this.e():this.u.push({r:s(function(){r.d&1&&(r.u.splice(-1,1),r.e())},"r"),t:s(function(){},"t")}),this.d=3},n.prototype.e=function(){for(var r=0,t=0,e=0,i=0,a=this.u;i<a.length;i++){var o=a[i];e+=46+o.f.length+or(o.extra)+(o.o?o.o.length:0)}for(var f=new U(e+22),v=0,h=this.u;v<h.length;v++){var o=h[v];mr(f,r,o,o.f,o.u,-o.c-2,t,o.o),r+=46+o.f.length+or(o.extra)+(o.o?o.o.length:0),t+=o.b}cn(f,r,this.u.length,e,t),this.ondata(null,f,!0),this.d=2},n.prototype.terminate=function(){for(var r=0,t=this.u;r<t.length;r++){var e=t[r];e.t()}this.d=2},n})();function wt(n,r,t){t||(t=r,r={}),typeof t!="function"&&p(7);var e={};vn(n,"",e,r);var i=Object.keys(e),a=i.length,o=0,f=0,v=a,h=new Array(a),u=[],l=s(function(){for(var g=0;g<u.length;++g)u[g]()},"tAll"),c=s(function(g,z){Yr(function(){t(g,z)})},"cbd");Yr(function(){c=t});var S=s(function(){var g=new U(f+22),z=o,F=f-o;f=0;for(var M=0;M<v;++M){var w=h[M];try{var B=w.c.length;mr(g,f,w,w.f,w.u,B);var E=30+w.f.length+or(w.extra),T=f+E;g.set(w.c,T),mr(g,o,w,w.f,w.u,B,f,w.m),o+=16+E+(w.m?w.m.length:0),f=T+B}catch(m){return c(m,null)}}cn(g,o,h.length,F,z),c(null,g)},"cbf");a||S();for(var x=s(function(g){var z=i[g],F=e[z],M=F[0],w=F[1],B=Mr(),E=M.length;B.p(M);var T=hr(z),m=T.length,y=w.comment,D=y&&hr(y),C=D&&D.length,q=or(w.extra),N=w.level==0?0:8,O=s(function(P,L){if(P)l(),c(P,null);else{var G=L.length;h[g]=Gr(w,{size:E,crc:B.d(),c:L,f:T,m:D,u:m!=z.length||D&&y.length!=C,compression:N}),o+=30+m+q+G,f+=76+2*(m+q)+(C||0)+G,--a||S()}},"cbl");if(m>65535&&O(p(11,0,1),null),!N)O(null,M);else if(E<16e4)try{O(null,Jr(M,w))}catch(P){O(P,null)}else u.push(bn(M,w,O))},"_loop_1"),A=0;A<v;++A)x(A);return l}s(wt,"zip");function mt(n,r){r||(r={});var t={},e=[];vn(n,"",t,r);var i=0,a=0;for(var o in t){var f=t[o],v=f[0],h=f[1],u=h.level==0?0:8,l=hr(o),c=l.length,S=h.comment,x=S&&hr(S),A=x&&x.length,g=or(h.extra);c>65535&&p(11);var z=u?Jr(v,h):v,F=z.length,M=Mr();M.p(v),e.push(Gr(h,{size:v.length,crc:M.d(),c:z,f:l,m:x,u:c!=o.length||x&&S.length!=A,o:i,compression:u})),i+=30+c+g+F,a+=76+2*(c+g)+(A||0)+F}for(var w=new U(a+22),B=i,E=a-i,T=0;T<e.length;++T){var l=e[T];mr(w,l.o,l,l.f,l.u,l.c.length);var m=30+l.f.length+or(l.extra);w.set(l.c,l.o+m),mr(w,i,l,l.f,l.u,l.c.length,l.o,l.m),i+=16+m+(l.m?l.m.length:0)}return cn(w,i,e.length,E,B),w}s(mt,"zipSync");var et=(function(){function n(){}return s(n,"UnzipPassThrough"),n.prototype.push=function(r,t){this.ondata(null,r,t)},n.compression=0,n})();var xt=(function(){function n(){var r=this;this.i=new Q(function(t,e){r.ondata(null,t,e)})}return s(n,"UnzipInflate"),n.prototype.push=function(r,t){try{this.i.push(r,t)}catch(e){this.ondata(e,null,t)}},n.compression=8,n})();var zt=(function(){function n(r,t){var e=this;t<32e4?this.i=new Q(function(i,a){e.ondata(null,i,a)}):(this.i=new Nn(function(i,a,o){e.ondata(i,a,o)}),this.terminate=this.i.terminate)}return s(n,"AsyncUnzipInflate"),n.prototype.push=function(r,t){this.i.terminate&&(r=d(r,0)),this.i.push(r,t)},n.compression=8,n})();var At=(function(){function n(r){this.onfile=r,this.k=[],this.o={0:et},this.p=ar}return s(n,"Unzip"),n.prototype.push=function(r,t){var e=this;if(this.onfile||p(5),this.p||p(4),this.c>0){var i=Math.min(this.c,r.length),a=r.subarray(0,i);if(this.c-=i,this.d?this.d.push(a,!this.c):this.k[0].push(a),r=r.subarray(i),r.length)return this.push(r,t)}else{var o=0,f=0,v=void 0,h=void 0;this.p.length?r.length?(h=new U(this.p.length+r.length),h.set(this.p),h.set(r,this.p.length)):h=this.p:h=r;for(var u=h.length,l=this.c,c=l&&this.d,S=s(function(){var z,F=H(h,f);if(F==67324752){o=1,v=f,x.d=null,x.c=0;var M=W(h,f+6),w=W(h,f+8),B=M&2048,E=M&8,T=W(h,f+26),m=W(h,f+28);if(u>f+30+T+m){var y=[];x.k.unshift(y),o=2;var D=H(h,f+18),C=H(h,f+22),q=Yn(h.subarray(f+30,f+=30+T),!B);D==4294967295?(z=E?[-2]:Qn(h,f),D=z[0],C=z[1]):E&&(D=-1),f+=m,x.c=D;var N,O={name:q,compression:w,start:s(function(){if(O.ondata||p(5),!D)O.ondata(null,ar,!0);else{var P=e.o[w];P||O.ondata(p(14,"unknown compression type "+w,1),null,!1),N=D<0?new P(q):new P(q,D,C),N.ondata=function(R,fr,j){O.ondata(R,fr,j)};for(var L=0,G=y;L<G.length;L++){var k=G[L];N.push(k,!1)}e.k[0]==y&&e.c?e.d=N:N.push(ar,!0)}},"start"),terminate:s(function(){N&&N.terminate&&N.terminate()},"terminate")};D>=0&&(O.size=D,O.originalSize=C),x.onfile(O)}return"break"}else if(l){if(F==134695760)return v=f+=12+(l==-2&&8),o=3,x.c=0,"break";if(F==33639248)return v=f-=4,o=3,x.c=0,"break"}},"_loop_2"),x=this;f<u-4;++f){var A=S();if(A==="break")break}if(this.p=ar,l<0){var g=o?h.subarray(0,v-12-(l==-2&&8)-(H(h,v-16)==134695760&&4)):h.subarray(0,f);c?c.push(g,!!o):this.k[+(o==2)].push(g)}if(o&2)return this.push(h.subarray(f),t);this.p=h.subarray(f)}t&&(this.c&&p(13),this.p=null)},n.prototype.register=function(r){this.o[r.compression]=r},n})();var Yr=typeof queueMicrotask=="function"?queueMicrotask:typeof setTimeout=="function"?setTimeout:function(n){n()};function Mt(n,r,t){t||(t=r,r={}),typeof t!="function"&&p(7);var e=[],i=s(function(){for(var g=0;g<e.length;++g)e[g]()},"tAll"),a={},o=s(function(g,z){Yr(function(){t(g,z)})},"cbd");Yr(function(){o=t});for(var f=n.length-22;H(n,f)!=101010256;--f)if(!f||n.length-f>65558)return o(p(13,0,1),null),i;var v=W(n,f+8);if(v){var h=v,u=H(n,f+16),l=u==4294967295||h==65535;if(l){var c=H(n,f-12);l=H(n,c)==101075792,l&&(h=v=H(n,c+32),u=H(n,c+48))}for(var S=r&&r.filter,x=s(function(g){var z=Kn(n,u,l),F=z[0],M=z[1],w=z[2],B=z[3],E=z[4],T=z[5],m=Jn(n,T);u=E;var y=s(function(C,q){C?(i(),o(C,null)):(q&&(a[B]=q),--v||o(null,a))},"cbl");if(!S||S({name:B,size:M,originalSize:w,compression:F}))if(!F)y(null,d(n,m,m+M));else if(F==8){var D=n.subarray(m,m+M);if(w<524288||M>.8*w)try{y(null,Or(D,{out:new U(w)}))}catch(C){y(C,null)}else e.push(Rn(D,{size:w},y))}else y(p(14,"unknown compression type "+F,1),null);else y(null,null)},"_loop_3"),A=0;A<h;++A)x(A)}else o(null,{});return i}s(Mt,"unzip");function St(n,r){for(var t={},e=n.length-22;H(n,e)!=101010256;--e)(!e||n.length-e>65558)&&p(13);var i=W(n,e+8);if(!i)return{};var a=H(n,e+16),o=a==4294967295||i==65535;if(o){var f=H(n,e-12);o=H(n,f)==101075792,o&&(i=H(n,f+32),a=H(n,f+48))}for(var v=r&&r.filter,h=0;h<i;++h){var u=Kn(n,a,o),l=u[0],c=u[1],S=u[2],x=u[3],A=u[4],g=u[5],z=Jn(n,g);a=A,(!v||v({name:x,size:c,originalSize:S,compression:l}))&&(l?l==8?t[x]=Or(n.subarray(z,z+c),{out:new U(S)}):p(14,"unknown compression type "+l):t[x]=d(n,z,z+c))}return t}s(St,"unzipSync");export{at as AsyncCompress,ht as AsyncDecompress,dn as AsyncDeflate,_n as AsyncGunzip,at as AsyncGzip,Nn as AsyncInflate,zt as AsyncUnzipInflate,nt as AsyncUnzlib,gt as AsyncZipDeflate,st as AsyncZlib,yn as Compress,vt as DecodeUTF8,zn as Decompress,_ as Deflate,ct as EncodeUTF8,it as FlateErrorCode,br as Gunzip,yn as Gzip,Q as Inflate,At as Unzip,xt as UnzipInflate,et as UnzipPassThrough,rn as Unzlib,yt as Zip,pt as ZipDeflate,Wr as ZipPassThrough,mn as Zlib,ot as compress,wn as compressSync,ut as decompress,lt as decompressSync,bn as deflate,Jr as deflateSync,rt as gunzip,_r as gunzipSync,ot as gzip,wn as gzipSync,Rn as inflate,Or as inflateSync,Yn as strFromU8,hr as strToU8,Mt as unzip,St as unzipSync,tt as unzlib,nn as unzlibSync,wt as zip,mt as zipSync,ft as zlib,xn as zlibSync};