homebridge-unifi-protect 7.21.0 → 7.23.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.
Files changed (58) hide show
  1. package/dist/devices/protect-camera-package.js +3 -3
  2. package/dist/devices/protect-camera-package.js.map +1 -1
  3. package/dist/devices/protect-camera.d.ts +2 -1
  4. package/dist/devices/protect-camera.js +78 -49
  5. package/dist/devices/protect-camera.js.map +1 -1
  6. package/dist/devices/protect-chime.js +3 -2
  7. package/dist/devices/protect-chime.js.map +1 -1
  8. package/dist/devices/protect-device.js +19 -22
  9. package/dist/devices/protect-device.js.map +1 -1
  10. package/dist/devices/protect-doorbell.d.ts +4 -2
  11. package/dist/devices/protect-doorbell.js +37 -22
  12. package/dist/devices/protect-doorbell.js.map +1 -1
  13. package/dist/devices/protect-light.js +6 -6
  14. package/dist/devices/protect-light.js.map +1 -1
  15. package/dist/devices/protect-liveviews.js +8 -26
  16. package/dist/devices/protect-liveviews.js.map +1 -1
  17. package/dist/devices/protect-nvr-systeminfo.d.ts +0 -2
  18. package/dist/devices/protect-nvr-systeminfo.js +13 -47
  19. package/dist/devices/protect-nvr-systeminfo.js.map +1 -1
  20. package/dist/devices/protect-securitysystem.js +17 -36
  21. package/dist/devices/protect-securitysystem.js.map +1 -1
  22. package/dist/devices/protect-sensor.d.ts +4 -4
  23. package/dist/devices/protect-sensor.js +56 -44
  24. package/dist/devices/protect-sensor.js.map +1 -1
  25. package/dist/devices/protect-viewer.js +8 -8
  26. package/dist/devices/protect-viewer.js.map +1 -1
  27. package/dist/protect-events.js +12 -18
  28. package/dist/protect-events.js.map +1 -1
  29. package/dist/protect-livestream.js +10 -4
  30. package/dist/protect-livestream.js.map +1 -1
  31. package/dist/protect-nvr.d.ts +5 -5
  32. package/dist/protect-nvr.js +36 -34
  33. package/dist/protect-nvr.js.map +1 -1
  34. package/dist/protect-options.d.ts +4 -4
  35. package/dist/protect-options.js +3 -2
  36. package/dist/protect-options.js.map +1 -1
  37. package/dist/protect-platform.d.ts +1 -1
  38. package/dist/protect-platform.js +8 -14
  39. package/dist/protect-platform.js.map +1 -1
  40. package/dist/protect-record.d.ts +1 -2
  41. package/dist/protect-record.js +9 -14
  42. package/dist/protect-record.js.map +1 -1
  43. package/dist/protect-stream.js +39 -59
  44. package/dist/protect-stream.js.map +1 -1
  45. package/dist/protect-timeshift.d.ts +0 -2
  46. package/dist/protect-timeshift.js +7 -15
  47. package/dist/protect-timeshift.js.map +1 -1
  48. package/dist/protect-types.d.ts +2 -0
  49. package/dist/protect-types.js +3 -0
  50. package/dist/protect-types.js.map +1 -1
  51. package/dist/settings.d.ts +4 -4
  52. package/dist/settings.js +5 -5
  53. package/dist/settings.js.map +1 -1
  54. package/homebridge-ui/public/lib/featureoptions.js +7 -8
  55. package/homebridge-ui/public/lib/featureoptions.js.map +1 -1
  56. package/homebridge-ui/public/lib/webUi-featureoptions.mjs +488 -213
  57. package/homebridge-ui/public/ui.mjs +1 -1
  58. package/package.json +9 -9
@@ -1,6 +1,6 @@
1
1
  import { Agent, WebSocket } from "undici";
2
2
  import { FfmpegOptions, FfmpegStreamingProcess, HKSV_FRAGMENT_LENGTH, HOMEKIT_IDR_INTERVAL, RtpDemuxer, formatBps } from "homebridge-plugin-utils";
3
- import { PROTECT_FFMPEG_AUDIO_FILTER_FFTNR, PROTECT_HKSV_TIMESHIFT_BUFFER_MAXDURATION, PROTECT_LIVESTREAM_API_IDR_INTERVAL } from "./settings.js";
3
+ import { PROTECT_HKSV_TIMESHIFT_BUFFER_MAXDURATION, PROTECT_LIVESTREAM_API_IDR_INTERVAL } from "./settings.js";
4
4
  import { ProtectRecordingDelegate } from "./protect-record.js";
5
5
  import { ProtectReservedNames } from "./protect-types.js";
6
6
  import { ProtectSnapshot } from "./protect-snapshot.js";
@@ -111,7 +111,8 @@ export class ProtectStreamingDelegate {
111
111
  {
112
112
  audioChannels: 1,
113
113
  bitrate: 0,
114
- // Protect doorbells and the Opus audio track over RTSP both use a 48 kHz audio sampling rate. Otherwise, the livestream API uses a 16 kHz sampling rate.
114
+ // Protect doorbells and the Opus audio track over RTSP both use a 48 kHz audio sampling rate, which HomeKit doesn't support. Since both 16 and 24 will
115
+ // divide cleanly into 48, we allow HomeKit to choose it's preference. Otherwise, the livestream API uses a 16 kHz sampling rate.
115
116
  samplerate: (this.protectCamera.ufp.featureFlags.isDoorbell || !this.protectCamera.hints.tsbStreaming) ?
116
117
  [16 /* AudioStreamingSamplerate.KHZ_16 */, 24 /* AudioStreamingSamplerate.KHZ_24 */] : 16 /* AudioStreamingSamplerate.KHZ_16 */,
117
118
  type: "AAC-eld" /* AudioStreamingCodecType.AAC_ELD */
@@ -209,6 +210,7 @@ export class ProtectStreamingDelegate {
209
210
  const videoReturnPort = (await reservePort(request.addressVersion));
210
211
  const videoSSRC = this.hap.CameraController.generateSynchronisationSource();
211
212
  // If we've had failures to retrieve the UDP ports we're looking for, inform the user.
213
+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
212
214
  if (reservePortFailed) {
213
215
  this.log.error("Unable to reserve the UDP ports needed to begin streaming.");
214
216
  }
@@ -231,9 +233,8 @@ export class ProtectStreamingDelegate {
231
233
  videoSRTP: Buffer.concat([request.video.srtp_key, request.video.srtp_salt]),
232
234
  videoSSRC: videoSSRC
233
235
  };
234
- // Prepare the response stream. Here's where we figure out if we're doing two-way audio or not. For two-way audio,
235
- // we need to use a demuxer to separate RTP and RTCP packets. For traditional video/audio streaming, we want to keep
236
- // it simple and don't use a demuxer.
236
+ // Prepare the response stream. Here's where we figure out if we're doing two-way audio or not. For two-way audio, we need to use a demuxer to separate RTP and RTCP
237
+ // packets. For traditional video/audio streaming, we want to keep it simple and don't use a demuxer.
237
238
  const response = {
238
239
  audio: {
239
240
  port: (hasAudioSupport && this.protectCamera.hints.twoWayAudio) ? audioIncomingPort : audioIncomingRtcpPort,
@@ -370,12 +371,11 @@ export class ProtectStreamingDelegate {
370
371
  const ffmpegArgs = [
371
372
  "-hide_banner",
372
373
  "-nostats",
373
- "-fflags", "+discardcorrupt+genpts+igndts",
374
+ "-fflags", "+discardcorrupt",
374
375
  "-err_detect", "ignore_err",
375
376
  ...this.ffmpegOptions.videoDecoder(this.protectCamera.ufp.videoCodec),
376
377
  "-max_delay", "500000",
377
378
  "-flags", "low_delay",
378
- "-r", rtspEntry.channel.fps.toString(),
379
379
  "-probesize", this.probesize.toString()
380
380
  ];
381
381
  if (useTsb) {
@@ -396,18 +396,21 @@ export class ProtectStreamingDelegate {
396
396
  ffmpegArgs.push("-map", "0:v:0");
397
397
  // Inform the user.
398
398
  const hinting = [];
399
- // Lightning bolt, using the default emoji presentation.
400
- hinting.push(...(isTranscoding && this.protectCamera.hints.hardwareTranscoding ? ["\u26A1\uFE0F"] : []));
401
- // Gear, using the text presentation modifier.
402
- hinting.push(...(isTranscoding ? ["\u26ED\uFE0E"] : []));
403
- // Hourglass, using the text presentation modifier.
404
- hinting.push(...((request.audio.packet_time === 60) ? ["\u29D6\uFE0E"] : []));
399
+ // Lightning bolt, using the default emoji presentation. We use this to indicate hardware acceleration.
400
+ hinting.push(...(isTranscoding && this.protectCamera.hints.hardwareTranscoding ? ["\u{26A1}\u{FE0F}"] : []));
401
+ // Gear, using the text presentation modifier. We use this to indicate that we're transcoding.
402
+ hinting.push(...(isTranscoding ? ["\u{26ED}\u{FE0E}"] : []));
403
+ // Hourglass, using the text presentation modifier. We use this to indicate high latency connections.
404
+ hinting.push(...((request.audio.packet_time === 60) ? ["\u{29D6}\u{FE0E}"] : []));
405
+ // Speaker, using the text presentation modifier. We use this to indicate that we're applying audio filters for noise reduction.
406
+ hinting.push(...(sessionInfo.hasAudioSupport && (this.protectCamera.hasFeature("Audio.Filter.Noise")) ? ["\u{1F50A}\u{FE0E}"] : []));
405
407
  hinting.push(...(hinting.length ? [""] : []));
406
408
  this.log.info("%sStreaming request: %sx%s@%sfps, %s. Using %s, %s [%s].", hinting.join(" "), request.video.width, request.video.height, request.video.fps, formatBps(targetBitrate * 1000), rtspEntry.name, formatBps(rtspEntry.channel.bitrate), useTsb ? "TSB/" + (this.protectCamera.hasFeature("Debug.Video.HKSV.UseRtsp") ? "RTSP" : "API") : "RTSP");
407
- // When on high-performance hardware like Apple Silicon, using the TSB, and we don't have low-FPS cameras like the package camera, enable the use of the CPU-intensive
408
- // FFmpeg minterpolate filter to enable very smooth video, especially when there's motion involved. Apple Silicon environments are able to reliably use this filter in
409
- // realtime and with great results. I'm hoping to be able to enable this in the future for other platforms.
410
- const useInterpolationFilter = useTsb && !("packageCamera" in this.protectCamera.accessory.context) && (this.platform.codecSupport.hostSystem === "macOS.Apple");
409
+ // When on high-performance hardware like Apple Silicon, using the TSB, and we don't have low-FPS cameras like the package camera, enable the use of the
410
+ // CPU-intensive FFmpeg minterpolate filter to enable very smooth video, especially when there's motion involved. M3+ Apple Silicon environments are able to reliably
411
+ // use this filter in realtime and with great results. I'm hoping to be able to enable this in the future for other platforms.
412
+ const useInterpolationFilter = useTsb && !("packageCamera" in this.protectCamera.accessory.context) &&
413
+ ((this.platform.codecSupport.hostSystem === "macOS.Apple") && (this.platform.codecSupport.cpuGeneration >= 3));
411
414
  // Check to see if we're transcoding. If we are, set the right FFmpeg encoder options. If not, copy the video stream.
412
415
  if (isTranscoding) {
413
416
  // Configure our video parameters for transcoding.
@@ -421,10 +424,11 @@ export class ProtectStreamingDelegate {
421
424
  profile: request.video.profile,
422
425
  width: request.video.width
423
426
  }));
424
- // We augment our video filters to account for the timestamp quirkiness in FFmpeg when it comes to dealing with fMP4 inputs.
425
427
  if (useInterpolationFilter) {
426
428
  // Adjust our presentation timestamps for a smoother streaming experience.
427
- const minterpolate = "minterpolate=fps=" + request.video.fps.toString() + ":mi_mode=mci:mc_mode=aobmc:me=fss:me_mode=bidir:vsbmc=1:scd=none";
429
+ const minterpolate = ((this.protectCamera.hints.hardwareTranscoding && this.platform.codecSupport.ffmpegVersion.startsWith("8.")) ? "hwdownload, format=nv12, " : "") +
430
+ "fps=" + request.video.fps.toString() +
431
+ ", minterpolate=fps=" + request.video.fps.toString() + ":mi_mode=mci:mc_mode=aobmc:me=fss:me_mode=bidir:vsbmc=1:scd=none";
428
432
  const vf = ffmpegArgs.indexOf("-filter:v");
429
433
  if (vf >= 0) {
430
434
  ffmpegArgs[vf + 1] += ", " + minterpolate;
@@ -445,20 +449,19 @@ export class ProtectStreamingDelegate {
445
449
  ffmpegArgs.push("-bsf:v", "h264_mp4toannexb");
446
450
  }
447
451
  }
448
- // -fps_mode passthrough Ensure FFmpeg uses the PTS values we've specified, unaltered.
449
452
  // -metadata Set the metadata to the name of the camera to distinguish between FFmpeg sessions.
450
- ffmpegArgs.push("-fps_mode", "passthrough", "-metadata", "comment=" + this.protectCamera.accessoryName + " Livestream");
453
+ ffmpegArgs.push("-metadata", "comment=" + this.protectCamera.accessoryName + " Livestream");
451
454
  // Configure our video parameters for SRTP streaming:
452
455
  //
453
456
  // -payload_type num Payload type for the RTP stream. This is negotiated by HomeKit and is usually 99 for H.264 video.
454
457
  // -ssrc Synchronization source stream identifier. Random number negotiated by HomeKit to identify this stream.
455
458
  // -f rtp Specify that we're using the RTP protocol.
456
- // -avioflags direct Tell FFmpeg to minimize buffering to reduce latency for more realtime processing.
459
+ // -flush_packets 1 Ensure we flush our write buffer after each muxed packet.
457
460
  // -packetsize 1200 Use a packetsize of 1200 for compatibility across network environments. This should be no more than HomeKit livestreaming MTU
458
461
  // (1378 for IPv4 and 1228 for IPv6).
459
462
  // -srtp_out_suite enc Specify the output encryption encoding suites.
460
463
  // -srtp_out_params params Specify the output encoding parameters. This is negotiated by HomeKit.
461
- ffmpegArgs.push("-payload_type", request.video.pt.toString(), "-ssrc", sessionInfo.videoSSRC.toString(), "-f", "rtp", "-avioflags", "direct", "-packetsize", "1200", "-srtp_out_suite", "AES_CM_128_HMAC_SHA1_80", "-srtp_out_params", sessionInfo.videoSRTP.toString("base64"), "srtp://" + sessionInfo.address + ":" + sessionInfo.videoPort.toString() + "?rtcpport=" + sessionInfo.videoPort.toString());
464
+ ffmpegArgs.push("-payload_type", request.video.pt.toString(), "-ssrc", sessionInfo.videoSSRC.toString(), "-f", "rtp", "-flush_packets", "1", "-packetsize", "1200", "-srtp_out_suite", "AES_CM_128_HMAC_SHA1_80", "-srtp_out_params", sessionInfo.videoSRTP.toString("base64"), "srtp://" + sessionInfo.address + ":" + sessionInfo.videoPort.toString() + "?rtcpport=" + sessionInfo.videoPort.toString());
462
465
  // Configure the audio portion of the command line, if we have a version of FFmpeg supports the audio codecs we need. Options we use are:
463
466
  //
464
467
  // -map 0:a:0? Selects the first available audio track from the stream, if it exists. Protect actually maps audio
@@ -467,59 +470,34 @@ export class ProtectStreamingDelegate {
467
470
  // Protect changes this in the future.
468
471
  // -codec:a Encode using the codecs available to us on given platforms.
469
472
  // -profile:a 38 Specify enhanced, low-delay AAC for HomeKit.
470
- // -flags +global_header Sets the global header in the bitstream.
473
+ // -flags +global_header Sets the global header in the bitstream. Needed for FDK-AAC to correctly initialize. For encoders like aac_at it becomes a no-op.
471
474
  // -ar samplerate Sample rate to use for this audio. This is specified by HomeKit.
472
475
  // -b:a bitrate Bitrate to use for this audio stream. This is specified by HomeKit.
473
476
  // -ac number Set the number of audio channels.
474
- // -frame_size Set the number of samples per frame to match the requested frame size from HomeKit.
475
477
  if (sessionInfo.hasAudioSupport) {
476
478
  // Configure our audio parameters.
477
479
  ffmpegArgs.push(
478
480
  // Take advantage of the higher fidelity potentially available to us from the Opus track in the RTSP stream. The livestream API only provides an AAC track.
479
- "-map", useTsb ? "0:a:0?" : "0:a:1?", ...this.ffmpegOptions.audioEncoder(), "-profile:a", "38", "-flags", "+global_header", "-ar", request.audio.sample_rate.toString() + "k", "-b:a", request.audio.max_bit_rate.toString() + "k", "-ac", request.audio.channel.toString(), "-frame_size", (request.audio.packet_time * request.audio.sample_rate).toString());
481
+ "-map", useTsb ? "0:a:0?" : "0:a:1?", ...this.ffmpegOptions.audioEncoder(), "-flags", "+global_header", "-profile:a", "38", "-ar", request.audio.sample_rate.toString() + "k", "-b:a", request.audio.max_bit_rate.toString() + "k", "-ac", request.audio.channel.toString());
480
482
  // If we are audio filtering, address it here.
481
- if (this.protectCamera.hasFeature("Audio.Filter.Noise")) {
482
- const afOptions = [];
483
- // See what the user has set for the afftdn filter for this camera.
484
- let fftNr = this.protectCamera.getFeatureFloat("Audio.Filter.Noise.FftNr") ?? PROTECT_FFMPEG_AUDIO_FILTER_FFTNR;
485
- // If we have an invalid setting, use the defaults.
486
- if ((fftNr < 0.01) || (fftNr > 97)) {
487
- fftNr = (fftNr > 97) ? 97 : ((fftNr < 0.01) ? 0.01 : fftNr);
488
- }
489
- // The afftdn filter options we use are:
490
- //
491
- // nt=w Focus on eliminating white noise.
492
- // om=o Output the filtered audio.
493
- // tn=1 Enable noise tracking.
494
- // tr=1 Enable residual tracking.
495
- // nr=X Noise reduction value in decibels.
496
- afOptions.push("afftdn=nt=w:om=o:tn=1:tr=1:nr=" + fftNr.toString());
497
- const highpass = this.protectCamera.getFeatureNumber("Audio.Filter.Noise.HighPass");
498
- const lowpass = this.protectCamera.getFeatureNumber("Audio.Filter.Noise.LowPass");
499
- // Only set the highpass and lowpass filters if the user has explicitly enabled them.
500
- if ((highpass !== null) && (highpass !== undefined)) {
501
- afOptions.push("highpass=f=" + highpass.toString());
502
- }
503
- if ((lowpass !== null) && (lowpass !== undefined)) {
504
- afOptions.push("lowpass=f=" + lowpass.toString());
505
- }
506
- // Return the assembled audio filter option.
507
- ffmpegArgs.push("-af", afOptions.join(", "));
483
+ const afOptions = this.protectCamera.audioFilters;
484
+ if (afOptions.length) {
485
+ ffmpegArgs.push("-filter:a", afOptions.join(", "));
508
486
  }
509
487
  // Add the required RTP settings and encryption for the stream:
510
488
  //
511
489
  // -payload_type num Payload type for the RTP stream. This is negotiated by HomeKit and is usually 110 for AAC-ELD audio.
512
490
  // -ssrc synchronization source stream identifier. Random number negotiated by HomeKit to identify this stream.
513
491
  // -f rtp Specify that we're using the RTP protocol.
514
- // -avioflags direct Tell FFmpeg to minimize buffering to reduce latency for more realtime processing.
492
+ // -flush_packets 1 Ensure we flush our write buffer after each muxed packet.
515
493
  // -packetsize 384 Use a packetsize as a multiple of the sample rate. HomeKit livestreaming wants a block size of 480 samples when using AAC-ELD.
516
494
  // We loosely interpret that to mean less than 480 bytes per packet and use 384 since it's divisible by 16 kHz and 24 kHz.
517
495
  // -srtp_out_suite enc Specify the output encryption encoding suites.
518
496
  // -srtp_out_params params Specify the output encoding parameters. This is negotiated by HomeKit.
519
- ffmpegArgs.push("-payload_type", request.audio.pt.toString(), "-ssrc", sessionInfo.audioSSRC.toString(), "-f", "rtp", "-avioflags", "direct", "-packetsize", "384", "-srtp_out_suite", "AES_CM_128_HMAC_SHA1_80", "-srtp_out_params", sessionInfo.audioSRTP.toString("base64"), "srtp://" + sessionInfo.address + ":" + sessionInfo.audioPort.toString() + "?rtcpport=" + sessionInfo.audioPort.toString());
497
+ ffmpegArgs.push("-payload_type", request.audio.pt.toString(), "-ssrc", sessionInfo.audioSSRC.toString(), "-f", "rtp", "-flush_packets", "1", "-packetsize", "384", "-srtp_out_suite", "AES_CM_128_HMAC_SHA1_80", "-srtp_out_params", sessionInfo.audioSRTP.toString("base64"), "srtp://" + sessionInfo.address + ":" + sessionInfo.audioPort.toString() + "?rtcpport=" + sessionInfo.audioPort.toString());
520
498
  }
521
499
  // Additional logging, but only if we're debugging.
522
- if (this.platform.verboseFfmpeg || this.verboseFfmpeg) {
500
+ if (this.platform.verboseFfmpeg || this.verboseFfmpeg || this.protectCamera.hasFeature("Debug.Video.FFmpeg")) {
523
501
  ffmpegArgs.push("-loglevel", "level+verbose");
524
502
  }
525
503
  if (this.platform.config.debugAll) {
@@ -689,7 +667,7 @@ export class ProtectStreamingDelegate {
689
667
  ws = new WebSocket(sessionInfo.talkBack, { dispatcher: new Agent({ connect: { rejectUnauthorized: false } }) });
690
668
  isTalkbackLive = true;
691
669
  // Catch any errors and inform the user, if needed.
692
- ws?.addEventListener("error", (event) => {
670
+ ws.addEventListener("error", (event) => {
693
671
  // Ignore timeout errors, but notify the user about anything else.
694
672
  if (event.error.code !== "ETIMEDOUT") {
695
673
  this.log.error("Error in communicating with the return audio channel: %s - %s", event.error.cause.code, event.error.cause);
@@ -698,7 +676,7 @@ export class ProtectStreamingDelegate {
698
676
  wsCleanup();
699
677
  }, { once: true });
700
678
  // Catch any stray open events after we've closed.
701
- ws?.addEventListener("open", openListener = () => {
679
+ ws.addEventListener("open", openListener = () => {
702
680
  // If we've somehow opened after we've wrapped up talkback, terminate the connection.
703
681
  if (!isTalkbackLive) {
704
682
  // Clean up our talkback websocket.
@@ -706,7 +684,7 @@ export class ProtectStreamingDelegate {
706
684
  }
707
685
  });
708
686
  // Cleanup after ourselves on close.
709
- ws?.addEventListener("close", () => {
687
+ ws.addEventListener("close", () => {
710
688
  ws?.removeEventListener("open", openListener);
711
689
  }, { once: true });
712
690
  }
@@ -765,6 +743,7 @@ export class ProtectStreamingDelegate {
765
743
  stopStream(sessionId) {
766
744
  try {
767
745
  // Stop any FFmpeg instances we have running.
746
+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
768
747
  if (this.ongoingSessions[sessionId]) {
769
748
  this.ongoingSessions[sessionId].ffmpeg.map(ffmpegProcess => ffmpegProcess.stop());
770
749
  // Close the demuxer, if we have one.
@@ -777,6 +756,7 @@ export class ProtectStreamingDelegate {
777
756
  this.ongoingSessions[sessionId].rtpPortReservations.map(x => this.platform.rtpPorts.cancel(x));
778
757
  }
779
758
  // On the off chance we were signaled to prepare to start streaming, but never actually started streaming, cleanup after ourselves.
759
+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
780
760
  if (this.pendingSessions[sessionId]) {
781
761
  // Release our port reservations.
782
762
  this.pendingSessions[sessionId].rtpPortReservations.map(x => this.platform.rtpPorts.cancel(x));
@@ -1 +1 @@
1
- {"version":3,"file":"protect-stream.js","sourceRoot":"","sources":["../src/protect-stream.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"protect-stream.js","sourceRoot":"","sources":["../src/protect-stream.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,KAAK,EAAmB,SAAS,EAAE,MAAM,QAAQ,CAAC;AAG3D,OAAO,EAAE,aAAa,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,oBAAoB,EACzE,UAAU,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACxE,OAAO,EAAE,yCAAyC,EAAE,mCAAmC,EAAE,MAAM,eAAe,CAAC;AAI/G,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAoCnC,wDAAwD;AACxD,MAAM,OAAO,wBAAwB;IAElB,GAAG,CAAM;IACnB,UAAU,CAAmB;IACpB,aAAa,CAAgB;IAC5B,GAAG,CAAM;IACnB,IAAI,CAAqC;IAChC,GAAG,CAA0B;IAC5B,GAAG,CAAa;IACzB,eAAe,CAA2C;IAC1D,eAAe,CAAmC;IAC1C,QAAQ,CAAkB;IAC1B,aAAa,CAAgB;IACrC,iBAAiB,CAAS;IAC1B,sBAAsB,CAAS;IAC/B,wBAAwB,CAAkB;IAC1C,QAAQ,CAAkB;IAC3B,aAAa,CAAU;IACtB,MAAM,GAAG,KAAK,CAAC;IAEvB,sDAAsD;IACtD,YAAY,aAA4B,EAAE,WAAuC;QAE/E,IAAI,CAAC,GAAG,GAAG,aAAa,CAAC,GAAG,CAAC;QAC7B,IAAI,CAAC,GAAG,GAAG,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC;QACjC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,GAAG,GAAG,aAAa,CAAC,GAAG,CAAC;QAC7B,IAAI,CAAC,GAAG,GAAG,aAAa,CAAC,GAAG,CAAC;QAC7B,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;QAC1B,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;QAC1B,IAAI,CAAC,QAAQ,GAAG,aAAa,CAAC,QAAQ,CAAC;QACvC,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC;QAC3B,IAAI,CAAC,sBAAsB,GAAG,CAAC,CAAC;QAChC,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAE3B,+CAA+C;QAC/C,IAAI,CAAC,aAAa,GAAG,IAAI,aAAa,CAAC;YAErC,YAAY,EAAE,IAAI,CAAC,QAAQ,CAAC,YAAY;YACxC,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW;YAC1C,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ;YACpC,gBAAgB,EAAE,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,gBAAgB;YAC3D,mBAAmB,EAAE,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,mBAAmB;YACjE,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,IAAI,EAAE,GAAW,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,aAAa;SACrD,CAAC,CAAC;QAEH,uEAAuE;QACvE,IAAG,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,mBAAmB,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,OAAO,CAAC,aAAa;YACrG,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,UAAU,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAE7D,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,8IAA8I;gBAC1J,8CAA8C,CAAC,CAAC;QACpD,CAAC;QAED,8BAA8B;QAC9B,IAAG,IAAI,CAAC,aAAa,CAAC,aAAa,EAAE,CAAC;YAEpC,IAAI,CAAC,IAAI,GAAG,IAAI,wBAAwB,CAAC,aAAa,CAAC,CAAC;QAC1D,CAAC;QAED,kCAAkC;QAClC,IAAI,CAAC,QAAQ,GAAG,IAAI,eAAe,CAAC,aAAa,CAAC,CAAC;QAEnD,mCAAmC;QACnC,MAAM,OAAO,GAA4B;YAEvC,4EAA4E;YAC5E,iBAAiB,EAAE,EAAE;YAErB,mCAAmC;YACnC,QAAQ,EAAE,IAAI;YAEd,uDAAuD;YACvD,SAAS,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;gBAEzD,QAAQ,EAAE,IAAI,CAAC,IAAgC;gBAE/C,OAAO,EAAE;oBAEP,KAAK,EAAE;wBAEL,MAAM,EAAE;4BACN;gCAEE,6HAA6H;gCAC7H,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,yCAAiC,CAAC,wCAAgC;gCAC9H,IAAI,wCAAgC;6BACrC;yBACF;qBACF;oBAED,2BAA2B,EAAE;wBAC3B;4BAEE,6HAA6H;4BAC7H,cAAc,EAAE,oBAAoB;4BACpC,IAAI,2CAAmC;yBACxC;qBACF;oBAED,oJAAoJ;oBACpJ,eAAe,EAAE,yCAAyC;oBAE1D,KAAK,EAAE;wBAEL,UAAU,EAAE;4BAEV,uJAAuJ;4BACvJ,sJAAsJ;4BACtJ,aAAa;4BACb,MAAM,EAAE,oFAA8D;4BACtE,QAAQ,EAAE,0BAAkB;yBAC7B;wBAED,WAAW,EAAE,WAAW;wBAExB,IAAI,0CAAkC;qBACvC;iBACF;aACF;YAED,qBAAqB;YACrB,OAAO,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;gBAEvD,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC;aAC/E;YAED,gBAAgB,EAAE;gBAEhB,KAAK,EAAE;oBAEL,MAAM,EAAE;wBAEN;4BAEE,aAAa,EAAE,CAAC;4BAChB,OAAO,EAAE,CAAC;4BAEV,uJAAuJ;4BACvJ,iIAAiI;4BACjI,UAAU,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,YAAY,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;gCACtG,oFAAoE,CAAC,CAAC,yCAAgC;4BACxG,IAAI,iDAAiC;yBACtC;qBACF;oBAED,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW;iBAClD;gBAED,qBAAqB,EAAE,2DAAmD;gBAE1E,KAAK,EAAE;oBAEL,KAAK,EAAE;wBAEL,uJAAuJ;wBACvJ,sJAAsJ;wBACtJ,aAAa;wBACb,MAAM,EAAE,oFAA8D;wBACtE,QAAQ,EAAE,0BAAkB;qBAC7B;oBAED,+JAA+J;oBAC/J,gKAAgK;oBAChK,gJAAgJ;oBAChJ,WAAW,EAAE,WAAW;iBACzB;aACF;SACF,CAAC;QAEF,IAAI,CAAC,UAAU,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAC3D,CAAC;IAED,0CAA0C;IACnC,KAAK,CAAC,qBAAqB,CAAC,OAAyB,EAAE,QAAkC;QAE9F,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAE1D,8CAA8C;QAC9C,IAAG,CAAC,QAAQ,EAAE,CAAC;YAEb,IAAG,QAAQ,EAAE,CAAC;gBAEZ,QAAQ,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,aAAa,GAAG,iCAAiC,CAAC,CAAC,CAAC;YAC5F,CAAC;YAED,OAAO;QACT,CAAC;QAED,+BAA+B;QAC/B,IAAG,QAAQ,EAAE,CAAC;YAEZ,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAChC,CAAC;QAED,6DAA6D;QAC7D,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,EAAE,UAAU,EAAE,yBAAyB,GAAG,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC1H,CAAC;IAED,sCAAsC;IAC/B,KAAK,CAAC,aAAa,CAAC,OAA6B,EAAE,QAA+B;QAEvF,IAAI,iBAAiB,GAAG,KAAK,CAAC;QAC9B,MAAM,mBAAmB,GAAa,EAAE,CAAC;QAEzC,6EAA6E;QAC7E,MAAM,WAAW,GAAG,KAAK,EAAE,WAA8B,MAAM,EAAE,YAAqB,CAAC,EAAmB,EAAE;YAE1G,iEAAiE;YACjE,IAAG,iBAAiB,EAAE,CAAC;gBAErB,OAAO,CAAC,CAAC,CAAC;YACZ,CAAC;YAED,wCAAwC;YACxC,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;YAE/E,wCAAwC;YACxC,IAAG,YAAY,KAAK,CAAC,CAAC,EAAE,CAAC;gBAEvB,iBAAiB,GAAG,IAAI,CAAC;YAC3B,CAAC;iBAAM,CAAC;gBAEN,uEAAuE;gBACvE,mBAAmB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBAEvC,IAAG,SAAS,KAAK,CAAC,EAAE,CAAC;oBAEnB,mBAAmB,CAAC,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;gBAC7C,CAAC;YACH,CAAC;YAED,eAAe;YACf,OAAO,YAAY,CAAC;QACtB,CAAC,CAAC;QAEF,8FAA8F;QAC9F,MAAM,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,IAAI,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAE5G,6FAA6F;QAC7F,MAAM,eAAe,GAAG,cAAc,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAEzF,4BAA4B;QAC5B,MAAM,qBAAqB,GAAG,CAAC,MAAM,WAAW,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC;QAC1E,MAAM,iBAAiB,GAAG,CAAC,eAAe,IAAI,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,WAAW,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACvI,MAAM,oBAAoB,GAAG,CAAC,eAAe,IAAI,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,WAAW,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAE7I,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,6BAA6B,EAAE,CAAC;QAE5E,IAAG,CAAC,eAAe,EAAE,CAAC;YAEpB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,2BAA2B,EAAE,cAAc,CAAC,CAAC,CAAC,0FAA0F,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC/J,CAAC;QAED,IAAI,UAAU,GAAyB,IAAI,CAAC;QAC5C,IAAI,QAAQ,GAAqB,IAAI,CAAC;QAEtC,IAAG,eAAe,IAAI,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;YAE3D,qDAAqD;YACrD,UAAU,GAAG,IAAI,UAAU,CAAC,OAAO,CAAC,cAAc,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;YAE9H,sDAAsD;YACtD,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;YAE1E,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;YAEnE,+DAA+D;YAC/D,IAAG,CAAC,QAAQ,EAAE,CAAC;gBAEb,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC;YAC7D,CAAC;QACH,CAAC;QAED,4BAA4B;QAC5B,MAAM,eAAe,GAAG,CAAC,MAAM,WAAW,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC;QACpE,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,6BAA6B,EAAE,CAAC;QAE5E,sFAAsF;QACtF,uEAAuE;QACvE,IAAG,iBAAiB,EAAE,CAAC;YAErB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,4DAA4D,CAAC,CAAC;QAC/E,CAAC;QAED,MAAM,WAAW,GAAgB;YAE/B,OAAO,EAAE,OAAO,CAAC,aAAa;YAC9B,cAAc,EAAE,OAAO,CAAC,cAAc;YAEtC,gBAAgB,EAAE,OAAO,CAAC,KAAK,CAAC,eAAe;YAC/C,qBAAqB,EAAE,qBAAqB;YAC5C,oBAAoB,EAAE,oBAAoB;YAC1C,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI;YAC7B,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,CAAE,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,SAAS,CAAE,CAAC;YAC7E,SAAS,EAAE,SAAS;YAEpB,eAAe,EAAE,eAAe;YAChC,UAAU,EAAE,UAAU;YACtB,mBAAmB,EAAE,mBAAmB;YACxC,QAAQ,EAAE,QAAQ;YAElB,gBAAgB,EAAE,OAAO,CAAC,KAAK,CAAC,eAAe;YAC/C,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI;YAC7B,eAAe,EAAE,eAAe;YAChC,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,CAAE,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,SAAS,CAAE,CAAC;YAC7E,SAAS,EAAE,SAAS;SACrB,CAAC;QAEF,oKAAoK;QACpK,qGAAqG;QACrG,MAAM,QAAQ,GAA0B;YAEtC,KAAK,EAAE;gBAEL,IAAI,EAAE,CAAC,eAAe,IAAI,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,qBAAqB;gBAC3G,qCAAqC;gBACrC,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ;gBAChC,qCAAqC;gBACrC,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,SAAS;gBAClC,IAAI,EAAE,SAAS;aAChB;YAED,KAAK,EAAE;gBAEL,IAAI,EAAE,eAAe;gBACrB,qCAAqC;gBACrC,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ;gBAChC,qCAAqC;gBACrC,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,SAAS;gBAClC,IAAI,EAAE,SAAS;aAChB;SACF,CAAC;QAEF,sFAAsF;QACtF,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,WAAW,CAAC;QACtD,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAChC,CAAC;IAED,+CAA+C;IACvC,KAAK,CAAC,WAAW,CAAC,OAA2B,EAAE,QAA+B;QAEpF,MAAM,WAAW,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC5D,MAAM,YAAY,GAAG,WAAW,CAAC,cAAc,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;QAE3E,sCAAsC;QACtC,IAAG,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC;YAEhC,MAAM,YAAY,GAAG,qEAAqE,CAAC;YAE3F,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YAC7B,QAAQ,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,aAAa,GAAG,IAAI,GAAG,YAAY,CAAC,CAAC,CAAC;YAE5E,OAAO;QACT,CAAC;QAED,qDAAqD;QACrD,EAAE;QACF,uDAAuD;QACvD,8DAA8D;QAC9D,kKAAkK;QAClK,iKAAiK;QACjK,mBAAmB;QACnB,2DAA2D;QAC3D,EAAE;QACF,iKAAiK;QACjK,0JAA0J;QAC1J,eAAe;QACf,MAAM,aAAa,GAAG,OAAO,CAAC,KAAK,CAAC,WAAW,IAAI,EAAE,CAAC;QACtD,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,SAAS,IAAI,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,oBAAoB,CAAC;YAC3J,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,UAAU,KAAK,MAAM,CAAC,CAAC;QAEjD,8FAA8F;QAC9F,IAAI,aAAa,GAAG,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC;QAE/C,iHAAiH;QACjH,IAAI,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,YAAY,IAAI,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC;QAE7E,6GAA6G;QAC7G,IAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,2BAA2B,CAAC,EAAE,CAAC;YAE7E,MAAM,GAAG,CAAC,MAAM,CAAC;QACnB,CAAC;QAED,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC;QAE3B,4CAA4C;QAC5C,IAAG,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,UAAU,KAAK,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YAE5D,IAAG,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,CAAC;gBAE3B,MAAM,YAAY,GAAG,4FAA4F;oBAC/G,yGAAyG,CAAC;gBAE5G,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;gBAC7B,QAAQ,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,aAAa,GAAG,IAAI,GAAG,YAAY,CAAC,CAAC,CAAC;gBAE5E,OAAO;YACT,CAAC;YAED,MAAM,GAAG,IAAI,CAAC;QAChB,CAAC;QAED,+EAA+E;QAC/E,IAAG,CAAC,eAAe,IAAI,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,CAAC;YAElG,MAAM,GAAG,IAAI,CAAC;QAChB,CAAC;QAED,8IAA8I;QAC9I,IAAI,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;QAErD,6DAA6D;QAC7D,IAAG,aAAa,EAAE,CAAC;YAEjB,+JAA+J;YAC/J,8HAA8H;YAC9H,SAAS,KAAK,IAAI,CAAC,aAAa,CAAC,QAAQ,CACvC,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,EAC3E,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,EAC5E,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,mBAAmB,EAAE,CACxE,CAAC;YAEF,6FAA6F;YAC7F,IAAG,aAAa,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,2BAA2B,GAAG,CAAC,CAAC,EAAE,CAAC;gBAE/E,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,2BAA2B,CAAC;YACvE,CAAC;iBAAM,IAAG,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,gBAAgB,GAAG,CAAC,CAAC,EAAE,CAAC;gBAE5E,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,gBAAgB,CAAC;YAC5D,CAAC;YAED,4HAA4H;YAC5H,IAAG,SAAS,IAAI,CAAC,aAAa,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC;gBAErE,aAAa,GAAG,SAAS,CAAC,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;YACnD,CAAC;QACH,CAAC;aAAM,CAAC;YAEN,SAAS,KAAK,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACvF,CAAC;QAED,IAAG,CAAC,SAAS,EAAE,CAAC;YAEd,MAAM,YAAY,GAAG,uEAAuE,CAAC;YAE7F,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,4BAA4B,EAAE,YAAY,EACvD,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;YAEpH,QAAQ,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,aAAa,GAAG,IAAI,GAAG,YAAY,CAAC,CAAC,CAAC;YAE5E,OAAO;QACT,CAAC;QAED,IAAI,iBAAiB,CAAC;QAEtB,wGAAwG;QACxG,IAAG,eAAe,IAAI,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;YAE3D,iBAAiB,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,oBAAoB,CAAC,4BAA4B,CAAC,CAAC;YAE/I,8JAA8J;YAC9J,IAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,IAAI,iBAAiB,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;gBAEhI,iEAAiE;gBACjE,iBAAiB,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;YACxE,CAAC;iBAAM,CAAC;gBAEN,iBAAiB,GAAG,SAAS,CAAC;YAChC,CAAC;QACH,CAAC;QAED,0JAA0J;QAC1J,mGAAmG;QACnG,EAAE;QACF,+JAA+J;QAC/J,oKAAoK;QACpK,kIAAkI;QAClI,EAAE;QACF,sKAAsK;QACtK,iDAAiD;QACjD,MAAM,QAAQ,GAAqB,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,OAAO,CAAC,mCAAmC,GAAG,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAEtI,mFAAmF;QACnF,gGAAgG;QAChG,mKAAmK;QACnK,kKAAkK;QAClK,8GAA8G;QAC9G,yFAAyF;QACzF,6HAA6H;QAC7H,8FAA8F;QAC9F,sFAAsF;QACtF,6FAA6F;QAC7F,MAAM,UAAU,GAAG;YAEjB,cAAc;YACd,UAAU;YACV,SAAS,EAAE,iBAAiB;YAC5B,aAAa,EAAE,YAAY;YAC3B,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC;YACrE,YAAY,EAAE,QAAQ;YACtB,QAAQ,EAAE,WAAW;YACrB,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE;SACxC,CAAC;QAEF,IAAG,MAAM,EAAE,CAAC;YAEV,gGAAgG;YAChG,uEAAuE;YACvE,UAAU,CAAC,IAAI,CAEb,IAAI,EAAE,KAAK,EACX,IAAI,EAAE,QAAQ,CACf,CAAC;QACJ,CAAC;aAAM,CAAC;YAEN,mHAAmH;YACnH,uGAAuG;YACvG,yEAAyE;YACzE,UAAU,CAAC,IAAI,CAEb,YAAY,EAAE,QAAQ,EACtB,iBAAiB,EAAE,KAAK,EACxB,IAAI,EAAE,SAAS,CAAC,GAAG,CACpB,CAAC;QACJ,CAAC;QAED,wHAAwH;QACxH,yHAAyH;QACzH,uHAAuH;QACvH,uEAAuE;QACvE,UAAU,CAAC,IAAI,CAEb,MAAM,EAAE,OAAO,CAChB,CAAC;QAEF,mBAAmB;QACnB,MAAM,OAAO,GAAG,EAAE,CAAC;QAEnB,uGAAuG;QACvG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAE7G,8FAA8F;QAC9F,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAE7D,qGAAqG;QACrG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAElF,gIAAgI;QAChI,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,eAAe,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAErI,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAE9C,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,0DAA0D,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,EACvJ,SAAS,CAAC,aAAa,GAAG,IAAI,CAAC,EAAE,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,EACrF,MAAM,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,0BAA0B,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QAE3G,wJAAwJ;QACxJ,qKAAqK;QACrK,8HAA8H;QAC9H,MAAM,sBAAsB,GAAG,MAAM,IAAI,CAAC,CAAC,eAAe,IAAI,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,OAAO,CAAC;YACjG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,UAAU,KAAK,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,aAAa,IAAI,CAAC,CAAC,CAAC,CAAC;QAEjH,qHAAqH;QACrH,IAAG,aAAa,EAAE,CAAC;YAEjB,kDAAkD;YAClD,UAAU,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC;gBAElD,OAAO,EAAE,aAAa;gBACtB,GAAG,EAAE,sBAAsB,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG;gBACvE,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,MAAM;gBAC5B,WAAW,EAAE,oBAAoB;gBACjC,QAAQ,EAAE,SAAS,CAAC,OAAO,CAAC,GAAG;gBAC/B,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK;gBAC1B,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,OAAO;gBAC9B,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK;aAC3B,CAAC,CAAC,CAAC;YAEJ,IAAG,sBAAsB,EAAE,CAAC;gBAE1B,0EAA0E;gBAC1E,MAAM,YAAY,GAEhB,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,mBAAmB,IAAI,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC,CAAC,EAAE,CAAC;oBAChJ,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE;oBACrC,qBAAqB,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,kEAAkE,CAAC;gBAE5H,MAAM,EAAE,GAAG,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;gBAE3C,IAAG,EAAE,IAAI,CAAC,EAAE,CAAC;oBAEX,UAAU,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,IAAI,GAAG,YAAY,CAAC;gBAC5C,CAAC;qBAAM,CAAC;oBAEN,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;gBAC7C,CAAC;YACH,CAAC;QACH,CAAC;aAAM,CAAC;YAEN,4HAA4H;YAC5H,EAAE;YACF,wEAAwE;YACxE,UAAU,CAAC,IAAI,CAEb,UAAU,EAAE,MAAM,CACnB,CAAC;YAEF,uEAAuE;YACvE,IAAG,MAAM,EAAE,CAAC;gBAEV,0FAA0F;gBAC1F,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC;YAChD,CAAC;QACH,CAAC;QAED,sHAAsH;QACtH,UAAU,CAAC,IAAI,CAEb,WAAW,EAAE,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,GAAG,aAAa,CAC3E,CAAC;QAEF,qDAAqD;QACrD,EAAE;QACF,qIAAqI;QACrI,0IAA0I;QAC1I,8EAA8E;QAC9E,6FAA6F;QAC7F,iKAAiK;QACjK,sEAAsE;QACtE,kFAAkF;QAClF,0GAA0G;QAC1G,UAAU,CAAC,IAAI,CAEb,eAAe,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,EAAE,EAC5C,OAAO,EAAE,WAAW,CAAC,SAAS,CAAC,QAAQ,EAAE,EACzC,IAAI,EAAE,KAAK,EACX,gBAAgB,EAAE,GAAG,EACrB,aAAa,EAAE,MAAM,EACrB,iBAAiB,EAAE,yBAAyB,EAC5C,kBAAkB,EAAE,WAAW,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAC5D,SAAS,GAAG,WAAW,CAAC,OAAO,GAAG,GAAG,GAAG,WAAW,CAAC,SAAS,CAAC,QAAQ,EAAE,GAAG,YAAY,GAAG,WAAW,CAAC,SAAS,CAAC,QAAQ,EAAE,CAC3H,CAAC;QAEF,yIAAyI;QACzI,EAAE;QACF,sIAAsI;QACtI,yHAAyH;QACzH,uHAAuH;QACvH,uEAAuE;QACvE,+FAA+F;QAC/F,gFAAgF;QAChF,qKAAqK;QACrK,oGAAoG;QACpG,uGAAuG;QACvG,qEAAqE;QACrE,IAAG,WAAW,CAAC,eAAe,EAAE,CAAC;YAE/B,kCAAkC;YAClC,UAAU,CAAC,IAAI;YAEb,2JAA2J;YAC3J,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,EACpC,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,EACpC,QAAQ,EAAE,gBAAgB,EAC1B,YAAY,EAAE,IAAI,EAClB,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,QAAQ,EAAE,GAAG,GAAG,EACjD,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,EAAE,GAAG,GAAG,EACnD,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,CACxC,CAAC;YAEF,8CAA8C;YAC9C,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC;YAElD,IAAG,SAAS,CAAC,MAAM,EAAE,CAAC;gBAEpB,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YACrD,CAAC;YAED,+DAA+D;YAC/D,EAAE;YACF,wIAAwI;YACxI,0IAA0I;YAC1I,8EAA8E;YAC9E,6FAA6F;YAC7F,kKAAkK;YAClK,2JAA2J;YAC3J,kFAAkF;YAClF,0GAA0G;YAC1G,UAAU,CAAC,IAAI,CAEb,eAAe,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,EAAE,EAC5C,OAAO,EAAE,WAAW,CAAC,SAAS,CAAC,QAAQ,EAAE,EACzC,IAAI,EAAE,KAAK,EACX,gBAAgB,EAAE,GAAG,EACrB,aAAa,EAAE,KAAK,EACpB,iBAAiB,EAAE,yBAAyB,EAC5C,kBAAkB,EAAE,WAAW,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAC5D,SAAS,GAAG,WAAW,CAAC,OAAO,GAAG,GAAG,GAAG,WAAW,CAAC,SAAS,CAAC,QAAQ,EAAE,GAAG,YAAY,GAAG,WAAW,CAAC,SAAS,CAAC,QAAQ,EAAE,CAC3H,CAAC;QACJ,CAAC;QAED,mDAAmD;QACnD,IAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,oBAAoB,CAAC,EAAE,CAAC;YAE5G,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;QAChD,CAAC;QAED,IAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;YAEjC,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;QAC9C,CAAC;QAED,sDAAsD;QACtD,MAAM,YAAY,GAAG,IAAI,sBAAsB,CAAC,IAAI,EAAE,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,EAAE,UAAU,EACrG,CAAC,WAAW,CAAC,eAAe,IAAI,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YACjF,EAAE,cAAc,EAAE,WAAW,CAAC,cAAc,EAAE,IAAI,EAAE,WAAW,CAAC,eAAe,EAAE,EACnF,QAAQ,CAAC,CAAC;QAEZ,IAAG,MAAM,EAAE,CAAC;YAEV,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YACpE,IAAI,eAAe,GAAG,KAAK,CAAC;YAE5B,2HAA2H;YAC3H,MAAM,YAAY,GAAa,EAAE,CAAC;YAClC,IAAI,SAAS,GAAG,KAAK,CAAC;YAEtB,yBAAyB;YACzB,MAAM,mBAAmB,GAAG,CAAC,OAAgB,EAAQ,EAAE;gBAErD,gCAAgC;gBAChC,IAAG,OAAO,EAAE,CAAC;oBAEX,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAC7B,CAAC;gBAED,gFAAgF;gBAChF,IAAG,SAAS,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;oBAErC,OAAO;gBACT,CAAC;gBAED,qBAAqB;gBACrB,SAAS,GAAG,IAAI,CAAC;gBACjB,OAAO,GAAG,YAAY,CAAC,KAAK,EAAE,CAAC;gBAE/B,6CAA6C;gBAC7C,IAAG,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;oBAEvC,4EAA4E;oBAC5E,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE;wBAErC,0DAA0D;wBAC1D,SAAS,GAAG,KAAK,CAAC;wBAClB,mBAAmB,EAAE,CAAC;oBACxB,CAAC,CAAC,CAAC;gBACL,CAAC;qBAAM,CAAC;oBAEN,4BAA4B;oBAC5B,SAAS,GAAG,KAAK,CAAC;oBAClB,mBAAmB,EAAE,CAAC;gBACxB,CAAC;YACH,CAAC,CAAC;YAEF,iKAAiK;YACjK,4IAA4I;YAC5I,MAAM,kBAAkB,GAAG,KAAK,EAAE,OAAe,EAAiB,EAAE;gBAElE,IAAG,CAAC,eAAe,EAAE,CAAC;oBAEpB,mBAAmB,CAAC,QAAQ,IAAI,CAAC,MAAM,UAAU,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;oBACrE,eAAe,GAAG,IAAI,CAAC;gBACzB,CAAC;gBAED,6CAA6C;gBAC7C,mBAAmB,CAAC,OAAO,CAAC,CAAC;YAC/B,CAAC,CAAC;YAEF,MAAM,aAAa,GAAG,GAAS,EAAE,CAAC,KAAK,YAAY,CAAC,aAAa,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC;YAE/E,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;YAEtC,6BAA6B;YAC7B,YAAY,CAAC,aAAa,EAAE,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE;gBAE5C,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAC9C,UAAU,CAAC,GAAG,CAAC,SAAS,EAAE,kBAAkB,CAAC,CAAC;gBAC9C,UAAU,CAAC,GAAG,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;YACzC,CAAC,CAAC,CAAC;YAEH,4DAA4D;YAC5D,UAAU,CAAC,EAAE,CAAC,SAAS,EAAE,kBAAkB,CAAC,CAAC;YAE7C,0BAA0B;YAC1B,IAAG,CAAC,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;gBAE3D,UAAU,CAAC,GAAG,CAAC,SAAS,EAAE,kBAAkB,CAAC,CAAC;gBAC9C,UAAU,CAAC,GAAG,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;gBAEvC,OAAO;YACT,CAAC;QACH,CAAC;QAED,yDAAyD;QACzD,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG;YAExC,MAAM,EAAE,CAAC,YAAY,CAAC;YACtB,UAAU,EAAE,WAAW,CAAC,UAAU;YAClC,mBAAmB,EAAE,WAAW,CAAC,mBAAmB;YACpD,WAAW,EAAE,iBAAiB;SAC/B,CAAC;QAEF,OAAO,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAE/C,2GAA2G;QAC3G,IAAG,CAAC,WAAW,CAAC,eAAe,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;YAEzE,OAAO;QACT,CAAC;QAED,4EAA4E;QAC5E,sFAAsF;QACtF,EAAE;QACF,kBAAkB;QAClB,EAAE;QACF,6CAA6C;QAC7C,mDAAmD;QACnD,qCAAqC;QACrC,wCAAwC;QACxC,iEAAiE;QACjE,2EAA2E;QAC3E,0EAA0E;QAC1E,2HAA2H;QAC3H,mEAAmE;QACnE,sDAAsD;QACtD,MAAM,cAAc,GAAG;YAErB,KAAK;YACL,aAAa,GAAG,YAAY,GAAG,YAAY;YAC3C,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,GAAG,iBAAiB;YAC3D,OAAO,GAAG,YAAY,GAAG,GAAG,GAAG,WAAW,CAAC,OAAO;YAClD,OAAO;YACP,UAAU,GAAG,WAAW,CAAC,oBAAoB,CAAC,QAAQ,EAAE,GAAG,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,EAAE;YACpG,SAAS;YACT,6BAA6B,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,6CAAoC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE;YAC9J,oGAAoG;gBAClG,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,6CAAoC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,gBAAgB,CAAC;YACzG,4CAA4C,GAAG,WAAW,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC;SACxF,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEb,yIAAyI;QACzI,EAAE;QACF,yEAAyE;QACzE,sFAAsF;QACtF,oFAAoF;QACpF,qEAAqE;QACrE,uEAAuE;QACvE,yDAAyD;QACzD,uEAAuE;QACvE,kEAAkE;QAClE,2EAA2E;QAC3E,qGAAqG;QACrG,yGAAyG;QACzG,kDAAkD;QAClD,oEAAoE;QACpE,MAAM,oBAAoB,GAAG;YAE3B,cAAc;YACd,UAAU;YACV,qBAAqB,EAAE,0BAA0B;YACjD,IAAI,EAAE,KAAK;YACX,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC,YAAY;YAC3C,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,OAAO;YACf,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE;YACpC,QAAQ,EAAE,gBAAgB;YAC1B,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,gBAAgB,CAAC,YAAY,CAAC,QAAQ,EAAE;YACtE,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,EAAE,GAAG,GAAG;YACnD,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,EAAE;YAClE,IAAI,EAAE,MAAM;SACb,CAAC;QAEF,IAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAC;YAE9C,oBAAoB,CAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;QACxI,CAAC;aAAM,CAAC;YAEN,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtC,CAAC;QAED,mDAAmD;QACnD,IAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YAErD,oBAAoB,CAAC,IAAI,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;QAC1D,CAAC;QAED,IAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;YAEjC,oBAAoB,CAAC,IAAI,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;QACxD,CAAC;QAED,IAAI,CAAC;YAEH,6BAA6B;YAC7B,IAAI,EAAE,GAAwB,IAAI,CAAC;YACnC,IAAI,cAAc,GAAG,KAAK,CAAC;YAC3B,IAAI,YAAoC,CAAC;YACzC,IAAI,YAAwB,CAAC;YAC7B,MAAM,SAAS,GAAG,GAAS,EAAE;gBAE3B,uBAAuB;gBACvB,IAAG,EAAE,EAAE,UAAU,KAAK,SAAS,CAAC,MAAM,EAAE,CAAC;oBAEvC,EAAE,EAAE,KAAK,EAAE,CAAC;gBACd,CAAC;YACH,CAAC,CAAC;YAEF,IAAG,WAAW,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAC;gBAEvE,gCAAgC;gBAChC,EAAE,GAAG,IAAI,SAAS,CAAC,WAAW,CAAC,QAAQ,EAAE,EAAE,UAAU,EAAE,IAAI,KAAK,CAAC,EAAE,OAAO,EAAE,EAAE,kBAAkB,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;gBAChH,cAAc,GAAG,IAAI,CAAC;gBAEtB,mDAAmD;gBACnD,EAAE,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,KAAiB,EAAE,EAAE;oBAEjD,kEAAkE;oBAClE,IAAI,KAAK,CAAC,KAA+B,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;wBAE/D,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,+DAA+D,EAAG,KAAK,CAAC,KAAK,CAAC,KAA+B,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;oBACxJ,CAAC;oBAED,mCAAmC;oBACnC,SAAS,EAAE,CAAC;gBACd,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;gBAEnB,kDAAkD;gBAClD,EAAE,CAAC,gBAAgB,CAAC,MAAM,EAAE,YAAY,GAAG,GAAS,EAAE;oBAEpD,qFAAqF;oBACrF,IAAG,CAAC,cAAc,EAAE,CAAC;wBAEnB,mCAAmC;wBACnC,SAAS,EAAE,CAAC;oBACd,CAAC;gBACH,CAAC,CAAC,CAAC;gBAEH,oCAAoC;gBACpC,EAAE,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;oBAEhC,EAAE,EAAE,mBAAmB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;gBAChD,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YACrB,CAAC;YAED,+EAA+E;YAC/E,IAAG,WAAW,CAAC,UAAU,EAAE,CAAC;gBAE1B,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;gBAE1C,4DAA4D;gBAC5D,IAAG,CAAC,WAAW,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC;oBAErC,mCAAmC;oBACnC,SAAS,EAAE,CAAC;oBAEZ,OAAO;gBACT,CAAC;YACH,CAAC;YAED,0DAA0D;YAC1D,MAAM,iBAAiB,GAAG,IAAI,sBAAsB,CAAC,IAAI,EAAE,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,EAAE,oBAAoB,CAAC,CAAC;YAExH,oDAAoD;YACpD,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;YAEvE,uDAAuD;YACvD,iBAAiB,CAAC,KAAK,EAAE,GAAG,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;YAEpD,sIAAsI;YACtI,IAAG,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAC;gBAE/C,iBAAiB,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,YAAY,GAAG,CAAC,IAAY,EAAQ,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;gBAE5F,iEAAiE;gBACjE,iBAAiB,CAAC,aAAa,EAAE,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE;oBAEjD,yEAAyE;oBACzE,cAAc,GAAG,KAAK,CAAC;oBAEvB,mCAAmC;oBACnC,SAAS,EAAE,CAAC;oBAEZ,iBAAiB,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;gBACtD,CAAC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAAC,OAAM,KAAK,EAAE,CAAC;YAEd,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,mDAAmD,EAAE,KAAK,CAAC,CAAC;QAC7E,CAAC;IACH,CAAC;IAED,oCAAoC;IAC7B,KAAK,CAAC,mBAAmB,CAAC,OAAyB,EAAE,QAA+B;QAEzF,QAAO,OAAO,CAAC,IAAI,EAAE,CAAC;YAEpB;gBAEE,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;gBAE1C,MAAM;YAER;gBAEE,iEAAiE;gBACjE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,0EAA0E,EACvF,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;gBAEvG,QAAQ,EAAE,CAAC;gBAEX,MAAM;YAER,0CAA6B;YAC7B;gBAEE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;gBACnC,QAAQ,EAAE,CAAC;gBAEX,MAAM;QACV,CAAC;IACH,CAAC;IAED,wBAAwB;IACjB,UAAU,CAAC,SAAiB;QAEjC,IAAI,CAAC;YAEH,6CAA6C;YAC7C,uEAAuE;YACvE,IAAG,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,EAAE,CAAC;gBAEnC,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC;gBAElF,qCAAqC;gBACrC,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,UAAU,EAAE,KAAK,EAAE,CAAC;gBAEpD,yHAAyH;gBACzH,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;gBAElG,mBAAmB;gBACnB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;gBAElD,iCAAiC;gBACjC,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YACjG,CAAC;YAED,mIAAmI;YACnI,uEAAuE;YACvE,IAAG,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,EAAE,CAAC;gBAEnC,iCAAiC;gBACjC,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YACjG,CAAC;YAED,sBAAsB;YACtB,OAAO,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;YACvC,OAAO,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;QACzC,CAAC;QAAC,OAAM,KAAK,EAAE,CAAC;YAEd,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,6DAA6D,EAAE,KAAK,CAAC,CAAC;QACvF,CAAC;IACH,CAAC;IAED,kCAAkC;IAC3B,QAAQ;QAEb,KAAI,MAAM,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC;YAEvD,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;IAED,yGAAyG;IAClG,gBAAgB,CAAC,SAAmB;QAEzC,2FAA2F;QAC3F,IAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,YAAY,IAAI,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,CAAC;YAEnE,yFAAyF;YACzF,MAAM,wBAAwB,GAAG,IAAI,MAAM,CAAC;gBAE1C,yDAAyD;gBACzD,mDAAmD;gBACnD,qCAAqC;gBACrC,uBAAuB;aACxB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YAEb,IAAG,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,wBAAwB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;gBAEvE,OAAO,oHAAoH;oBACzH,gEAAgE,CAAC;YACrE,CAAC;QACH,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,0BAA0B;IACnB,eAAe;QAEpB,IAAG,IAAI,CAAC,wBAAwB,EAAE,CAAC;YAEjC,YAAY,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;YAC5C,IAAI,CAAC,wBAAwB,GAAG,SAAS,CAAC;QAC5C,CAAC;QAED,wIAAwI;QACxI,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAE9B,yIAAyI;QACzI,6EAA6E;QAC7E,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;QAE5C,uDAAuD;QACvD,IAAG,IAAI,CAAC,iBAAiB,GAAG,OAAO,EAAE,CAAC;YAEpC,IAAI,CAAC,iBAAiB,GAAG,OAAO,CAAC;QACnC,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,0HAA0H;YACzI,8HAA8H,EAC9H,IAAI,CAAC,sBAAsB,GAAG,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;QAElE,wEAAwE;QACxE,IAAG,IAAI,CAAC,sBAAsB,GAAG,EAAE,EAAE,CAAC;YAEpC,IAAI,CAAC,wBAAwB,GAAG,UAAU,CAAC,GAAG,EAAE;gBAE9C,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC;gBAC3B,IAAI,CAAC,wBAAwB,GAAG,SAAS,CAAC;YAC5C,CAAC,EAAE,IAAI,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;IAED,8DAA8D;IAC9D,IAAW,SAAS;QAElB,OAAO,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,SAAS,CAAC;IACtE,CAAC;CACF"}
@@ -7,11 +7,9 @@ export declare class ProtectTimeshiftBuffer extends EventEmitter {
7
7
  private _isStarted;
8
8
  private _isTransmitting;
9
9
  private _segmentLength;
10
- private readonly accessory;
11
10
  private eventHandlers;
12
11
  private livestream?;
13
12
  private readonly log;
14
- private readonly nvr;
15
13
  private readonly protectCamera;
16
14
  private rtspEntry?;
17
15
  private segmentCount;
@@ -4,18 +4,16 @@
4
4
  */
5
5
  import { runWithTimeout } from "homebridge-plugin-utils";
6
6
  import { EventEmitter } from "node:events";
7
- import { PROTECT_HKSV_SEGMENT_RESOLUTION } from "./settings.js";
7
+ import { PROTECT_SEGMENT_RESOLUTION } from "./settings.js";
8
8
  // UniFi Protect livestream timeshift buffer.
9
9
  export class ProtectTimeshiftBuffer extends EventEmitter {
10
10
  _buffer;
11
11
  _isStarted;
12
12
  _isTransmitting;
13
13
  _segmentLength;
14
- accessory;
15
14
  eventHandlers;
16
15
  livestream;
17
16
  log;
18
- nvr;
19
17
  protectCamera;
20
18
  rtspEntry;
21
19
  segmentCount;
@@ -25,15 +23,13 @@ export class ProtectTimeshiftBuffer extends EventEmitter {
25
23
  this._buffer = [];
26
24
  this._isStarted = false;
27
25
  this._isTransmitting = false;
28
- this.accessory = protectCamera.accessory;
29
26
  this.eventHandlers = {};
30
27
  this.log = protectCamera.log;
31
- this.nvr = protectCamera.nvr;
32
28
  this.protectCamera = protectCamera;
33
29
  this.segmentCount = 1;
34
30
  // We use a small value for segment resolution in our timeshift buffer to ensure we provide an optimal timeshifting experience. It's a very small amount of additional
35
31
  // overhead for modern CPUs, but the result is a much better HKSV event recording experience.
36
- this._segmentLength = PROTECT_HKSV_SEGMENT_RESOLUTION;
32
+ this._segmentLength = PROTECT_SEGMENT_RESOLUTION;
37
33
  // Now let's configure the timeshift buffer.
38
34
  this.configureTimeshiftBuffer();
39
35
  }
@@ -70,21 +66,17 @@ export class ProtectTimeshiftBuffer extends EventEmitter {
70
66
  // configuration available to us immediately upon startup.
71
67
  if (this.protectCamera.stream.hksv?.recordingConfiguration?.mediaContainerConfiguration.fragmentLength) {
72
68
  if ((this._segmentLength < 100) || (this._segmentLength > 1500) ||
73
- (this._segmentLength > (this.protectCamera.stream.hksv?.recordingConfiguration?.mediaContainerConfiguration.fragmentLength / 2))) {
74
- this._segmentLength = PROTECT_HKSV_SEGMENT_RESOLUTION;
69
+ (this._segmentLength > (this.protectCamera.stream.hksv.recordingConfiguration.mediaContainerConfiguration.fragmentLength / 2))) {
70
+ this._segmentLength = PROTECT_SEGMENT_RESOLUTION;
75
71
  }
76
72
  }
77
73
  // Clear out the timeshift buffer, if it's been previously filled, and then fire up the timeshift buffer.
78
74
  this._buffer = [];
79
75
  // Acquire our livestream.
80
76
  this.livestream = this.protectCamera.livestream.acquire(rtspEntry);
81
- // Something went wrong.
82
- if (!this.livestream) {
83
- return false;
84
- }
85
77
  // Setup our listeners.
86
- this.livestream?.on("close", this.eventHandlers.close);
87
- this.livestream?.on("segment", this.eventHandlers.segment);
78
+ this.livestream.on("close", this.eventHandlers.close);
79
+ this.livestream.on("segment", this.eventHandlers.segment);
88
80
  // Start the livestream and let's begin building our timeshift buffer.
89
81
  if (!(await this.protectCamera.livestream.start(rtspEntry, this._segmentLength))) {
90
82
  // Something went wrong, let's cleanup our event handlers and we're done.
@@ -178,7 +170,7 @@ export class ProtectTimeshiftBuffer extends EventEmitter {
178
170
  }
179
171
  // Return whether the underlying livestream connection is currently restarting itself.
180
172
  get isRestarting() {
181
- return this.rtspEntry ? this.protectCamera.livestream?.isRestarting(this.rtspEntry) : false;
173
+ return this.rtspEntry ? this.protectCamera.livestream.isRestarting(this.rtspEntry) : false;
182
174
  }
183
175
  // Return whether or not we have started the timeshift buffer.
184
176
  get isStarted() {
@@ -1 +1 @@
1
- {"version":3,"file":"protect-timeshift.js","sourceRoot":"","sources":["../src/protect-timeshift.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAA6E,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACpI,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,+BAA+B,EAAE,MAAM,eAAe,CAAC;AAOhE,6CAA6C;AAC7C,MAAM,OAAO,sBAAuB,SAAQ,YAAY;IAE9C,OAAO,CAAW;IAClB,UAAU,CAAU;IACpB,eAAe,CAAU;IACzB,cAAc,CAAS;IACd,SAAS,CAAoB;IACtC,aAAa,CAAkE;IAC/E,UAAU,CAA+C;IAChD,GAAG,CAA0B;IAC7B,GAAG,CAAa;IAChB,aAAa,CAAgB;IACtC,SAAS,CAAa;IACtB,YAAY,CAAS;IAE7B,YAAY,aAA4B;QAEtC,gCAAgC;QAChC,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAClB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;QAC7B,IAAI,CAAC,SAAS,GAAG,aAAa,CAAC,SAAS,CAAC;QACzC,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;QACxB,IAAI,CAAC,GAAG,GAAG,aAAa,CAAC,GAAG,CAAC;QAC7B,IAAI,CAAC,GAAG,GAAG,aAAa,CAAC,GAAG,CAAC;QAC7B,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;QAEtB,sKAAsK;QACtK,6FAA6F;QAC7F,IAAI,CAAC,cAAc,GAAG,+BAA+B,CAAC;QAEtD,4CAA4C;QAC5C,IAAI,CAAC,wBAAwB,EAAE,CAAC;IAClC,CAAC;IAED,kCAAkC;IAC1B,wBAAwB;QAE9B,uDAAuD;QACvD,IAAI,CAAC,aAAa,CAAC,KAAK,GAAG,GAAS,EAAE;YAEpC,IAAG,IAAI,CAAC,YAAY,EAAE,CAAC;gBAErB,OAAO;YACT,CAAC;YAED,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,2DAA2D,EAAE,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,0BAA0B,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;QACrK,CAAC,CAAC;QAEF,wGAAwG;QACxG,IAAI,CAAC,aAAa,CAAC,OAAO,GAAG,CAAC,OAAe,EAAQ,EAAE;YAErD,yFAAyF;YACzF,IAAG,IAAI,CAAC,cAAc,EAAE,CAAC;gBAEvB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YAChC,CAAC;YAED,iEAAiE;YACjE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAE3B,2DAA2D;YAC3D,IAAG,IAAI,CAAC,OAAO,CAAC,MAAM,GAAI,IAAI,CAAC,YAAY,EAAE,CAAC;gBAE5C,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACvB,CAAC;QACH,CAAC,CAAC;IACJ,CAAC;IAED,mEAAmE;IAC5D,KAAK,CAAC,KAAK,CAAC,SAAoB;QAErC,qDAAqD;QACrD,IAAG,IAAI,CAAC,SAAS,EAAE,CAAC;YAElB,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,CAAC;QAED,+JAA+J;QAC/J,0DAA0D;QAC1D,IAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,EAAE,sBAAsB,EAAE,2BAA2B,CAAC,cAAc,EAAE,CAAC;YAEtG,IAAG,CAAC,IAAI,CAAC,cAAc,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;gBAC5D,CAAC,IAAI,CAAC,cAAc,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,EAAE,sBAAsB,EAAE,2BAA2B,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBAEnI,IAAI,CAAC,cAAc,GAAG,+BAA+B,CAAC;YACxD,CAAC;QACH,CAAC;QAED,yGAAyG;QACzG,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAElB,0BAA0B;QAC1B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAEnE,wBAAwB;QACxB,IAAG,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YAEpB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,uBAAuB;QACvB,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACvD,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAE3D,sEAAsE;QACtE,IAAG,CAAC,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC;YAEhF,yEAAyE;YACzE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YAEjH,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QAEvB,mKAAmK;QACnK,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAEhD,IAAG,CAAC,WAAW,EAAE,CAAC;YAEhB,IAAI,CAAC,IAAI,EAAE,CAAC;YAEZ,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED,oCAAoC;IAC7B,IAAI;QAET,IAAG,IAAI,CAAC,SAAS,EAAE,CAAC;YAElB,gDAAgD;YAChD,IAAG,IAAI,CAAC,SAAS,EAAE,CAAC;gBAElB,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACrD,CAAC;YAED,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QACnH,CAAC;QAED,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAClB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAE3B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,0DAA0D;IACnD,OAAO;QAEZ,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QACjC,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;IACpB,CAAC;IAED,2CAA2C;IACpC,KAAK,CAAC,aAAa;QAExB,8FAA8F;QAC9F,IAAG,CAAC,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,EAAE,CAAC;YAE/G,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,mIAAmI,CAAC,CAAC;YAEpJ,OAAO,KAAK,CAAC;QACf,CAAC;QAED,+EAA+E;QAC/E,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,CAAE,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,OAAO,CAAE,CAAC,CAAC,CAAC;QAEtF,gEAAgE;QAChE,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAE5B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,0CAA0C;IACnC,YAAY;QAEjB,uFAAuF;QACvF,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;QAE7B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,oDAAoD;IAC7C,aAAa,CAAC,OAAe;QAElC,IAAG,IAAI,CAAC,UAAU,EAAE,WAAW,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;YAEjD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED,+DAA+D;IACxD,KAAK,CAAC,cAAc;QAEzB,8BAA8B;QAC9B,IAAG,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YAEpB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,0IAA0I;QAC1I,OAAO,IAAI,CAAC,UAAU,CAAC,WAAW,IAAI,MAAM,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,cAAc,EAAE,EAAE,IAAI,CAAC,CAAC;IACrG,CAAC;IAED,uFAAuF;IAChF,OAAO,CAAC,QAAgB;QAE7B,+BAA+B;QAC/B,IAAG,CAAC,QAAQ,EAAE,CAAC;YAEb,OAAO,IAAI,CAAC;QACd,CAAC;QAED,6DAA6D;QAC7D,MAAM,KAAK,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC;QAE/C,iEAAiE;QACjE,IAAG,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YAEhC,OAAO,IAAI,CAAC,MAAM,CAAC;QACrB,CAAC;QAED,iIAAiI;QACjI,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAE,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC1J,CAAC;IAED,gDAAgD;IAChD,IAAW,MAAM;QAEf,wHAAwH;QACxH,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAE,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,OAAO,CAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACxI,CAAC;IAED,sFAAsF;IACtF,IAAW,YAAY;QAErB,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IAC9F,CAAC;IAED,8DAA8D;IAC9D,IAAW,SAAS;QAElB,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED,kEAAkE;IAClE,IAAW,cAAc;QAEvB,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAED,gFAAgF;IAChF,IAAW,IAAI;QAEb,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC;IACnD,CAAC;IAED,6EAA6E;IAC7E,IAAW,kBAAkB;QAE3B,OAAO,CAAC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC;IACnD,CAAC;IAED,wEAAwE;IACxE,IAAW,kBAAkB,CAAC,YAAoB;QAEhD,iKAAiK;QACjK,yBAAyB;QACzB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;IACtE,CAAC;IAED,0EAA0E;IAC1E,IAAW,aAAa;QAEtB,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;CACF"}
1
+ {"version":3,"file":"protect-timeshift.js","sourceRoot":"","sources":["../src/protect-timeshift.ts"],"names":[],"mappings":"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"}
@@ -17,6 +17,8 @@ export declare enum ProtectReservedNames {
17
17
  CONTACT_MOTION_SMARTDETECT_LICENSE = "ContactMotionSmartDetectLicense",
18
18
  CONTACT_SENSOR = "ContactSensor",
19
19
  CONTACT_SENSOR_ALARM_SOUND = "ContactAlarmSound",
20
+ LEAKSENSOR_EXTERNAL = "External",
21
+ LEAKSENSOR_INTERNAL = "Internal",
20
22
  LIGHTBULB_DOORBELL_VOLUME = "ChimeVolume",
21
23
  LIGHTBULB_NIGHTVISION = "NightVision",
22
24
  LIGHTBULB_PACKAGE_FLASHLIGHT = "PackageCamera.Flashlight",
@@ -16,6 +16,9 @@ export var ProtectReservedNames;
16
16
  ProtectReservedNames["CONTACT_MOTION_SMARTDETECT_LICENSE"] = "ContactMotionSmartDetectLicense";
17
17
  ProtectReservedNames["CONTACT_SENSOR"] = "ContactSensor";
18
18
  ProtectReservedNames["CONTACT_SENSOR_ALARM_SOUND"] = "ContactAlarmSound";
19
+ // Manage our leak sensor types.
20
+ ProtectReservedNames["LEAKSENSOR_EXTERNAL"] = "External";
21
+ ProtectReservedNames["LEAKSENSOR_INTERNAL"] = "Internal";
19
22
  // Manage our lightbulb types.
20
23
  ProtectReservedNames["LIGHTBULB_DOORBELL_VOLUME"] = "ChimeVolume";
21
24
  ProtectReservedNames["LIGHTBULB_NIGHTVISION"] = "NightVision";
@@ -1 +1 @@
1
- {"version":3,"file":"protect-types.js","sourceRoot":"","sources":["../src/protect-types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,oBAAoB;AACpB,MAAM,UAAU,WAAW,CAAC,KAAa;IAEvC,OAAO,KAAK,CAAC,OAAO,CAAC,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;AACrE,CAAC;AAYD,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAE,CAAC;AAI1F,uBAAuB;AACvB,MAAM,CAAN,IAAY,oBAgCX;AAhCD,WAAY,oBAAoB;IAE9B,mCAAmC;IACnC,gEAAwC,CAAA;IACxC,+EAAuD,CAAA;IACvD,8FAAsE,CAAA;IACtE,wDAAgC,CAAA;IAChC,wEAAgD,CAAA;IAEhD,8BAA8B;IAC9B,iEAAyC,CAAA;IACzC,6DAAqC,CAAA;IACrC,iFAAyD,CAAA;IAEzD,yBAAyB;IACzB,8CAAsB,CAAA;IAEtB,2BAA2B;IAC3B,6EAAqD,CAAA;IACrD,+EAAuD,CAAA;IACvD,qFAA6D,CAAA;IAC7D,yEAAiD,CAAA;IACjD,+EAAuD,CAAA;IACvD,6DAAqC,CAAA;IACrC,mEAA2C,CAAA;IAC3C,qEAA6C,CAAA;IAC7C,mEAA2C,CAAA;IAC3C,qEAA6C,CAAA;IAC7C,6DAAqC,CAAA;IACrC,iFAAyD,CAAA;IACzD,yFAAiE,CAAA;IACjE,+EAAuD,CAAA;AACzD,CAAC,EAhCW,oBAAoB,KAApB,oBAAoB,QAgC/B"}
1
+ {"version":3,"file":"protect-types.js","sourceRoot":"","sources":["../src/protect-types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,oBAAoB;AACpB,MAAM,UAAU,WAAW,CAAC,KAAa;IAEvC,OAAO,KAAK,CAAC,OAAO,CAAC,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;AACrE,CAAC;AAYD,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAE,CAAC;AAI1F,uBAAuB;AACvB,MAAM,CAAN,IAAY,oBAoCX;AApCD,WAAY,oBAAoB;IAE9B,mCAAmC;IACnC,gEAAwC,CAAA;IACxC,+EAAuD,CAAA;IACvD,8FAAsE,CAAA;IACtE,wDAAgC,CAAA;IAChC,wEAAgD,CAAA;IAEhD,gCAAgC;IAChC,wDAAgC,CAAA;IAChC,wDAAgC,CAAA;IAEhC,8BAA8B;IAC9B,iEAAyC,CAAA;IACzC,6DAAqC,CAAA;IACrC,iFAAyD,CAAA;IAEzD,yBAAyB;IACzB,8CAAsB,CAAA;IAEtB,2BAA2B;IAC3B,6EAAqD,CAAA;IACrD,+EAAuD,CAAA;IACvD,qFAA6D,CAAA;IAC7D,yEAAiD,CAAA;IACjD,+EAAuD,CAAA;IACvD,6DAAqC,CAAA;IACrC,mEAA2C,CAAA;IAC3C,qEAA6C,CAAA;IAC7C,mEAA2C,CAAA;IAC3C,qEAA6C,CAAA;IAC7C,6DAAqC,CAAA;IACrC,iFAAyD,CAAA;IACzD,yFAAiE,CAAA;IACjE,+EAAuD,CAAA;AACzD,CAAC,EApCW,oBAAoB,KAApB,oBAAoB,QAoC/B"}
@@ -7,11 +7,11 @@ export declare const PROTECT_DOORBELL_AUTHSENSOR_DURATION = 5000;
7
7
  export declare const PROTECT_DOORBELL_CHIME_DURATION_DIGITAL = 1000;
8
8
  export declare const PROTECT_DOORBELL_CHIME_SPEAKER_DURATION = 3500;
9
9
  export declare const PROTECT_DOORBELL_TRIGGER_DURATION = 5000;
10
- export declare const PROTECT_FFMPEG_AUDIO_FILTER_FFTNR = 90;
11
- export declare const PROTECT_FFMPEG_AUDIO_FILTER_HIGHPASS = 200;
12
- export declare const PROTECT_FFMPEG_AUDIO_FILTER_LOWPASS = 1000;
10
+ export declare const PROTECT_FFMPEG_AUDIO_FILTER_FFTNR = 14;
11
+ export declare const PROTECT_FFMPEG_AUDIO_FILTER_HIGHPASS = 150;
12
+ export declare const PROTECT_FFMPEG_AUDIO_FILTER_LOWPASS = 9000;
13
13
  export declare const PROTECT_LIVESTREAM_API_IDR_INTERVAL = 5;
14
- export declare const PROTECT_HKSV_SEGMENT_RESOLUTION = 100;
14
+ export declare const PROTECT_SEGMENT_RESOLUTION = 100;
15
15
  export declare const PROTECT_HKSV_TIMEOUT = 4500;
16
16
  export declare const PROTECT_HKSV_TIMESHIFT_BUFFER_MAXDURATION: number;
17
17
  export declare const PROTECT_M3U_PLAYLIST_PORT = 10110;
package/dist/settings.js CHANGED
@@ -21,15 +21,15 @@ export const PROTECT_DOORBELL_CHIME_SPEAKER_DURATION = 3500;
21
21
  // Default duration, in milliseconds, of the trigger switch for a Protect doorbell, primarily for automation purposes.
22
22
  export const PROTECT_DOORBELL_TRIGGER_DURATION = 5000;
23
23
  // FFmpeg afftdn audio filter defaults - this setting uses FFTs to reduce noise in an audio signal by the number of decibels below.
24
- export const PROTECT_FFMPEG_AUDIO_FILTER_FFTNR = 90;
24
+ export const PROTECT_FFMPEG_AUDIO_FILTER_FFTNR = 14;
25
25
  // FFmpeg highpass audio filter defaults - this setting attenuates (eliminates) frequencies below the value.
26
- export const PROTECT_FFMPEG_AUDIO_FILTER_HIGHPASS = 200;
26
+ export const PROTECT_FFMPEG_AUDIO_FILTER_HIGHPASS = 150;
27
27
  // FFmpeg lowpass audio filter defaults - this setting attenuates (eliminates) frequencies above the value.
28
- export const PROTECT_FFMPEG_AUDIO_FILTER_LOWPASS = 1000;
28
+ export const PROTECT_FFMPEG_AUDIO_FILTER_LOWPASS = 9000;
29
29
  // Protect's native I-frame interval can vary, but the livestream API seems to default to 5 seconds at most, though it depends on camera type and stream quality selected.
30
30
  export const PROTECT_LIVESTREAM_API_IDR_INTERVAL = 5;
31
- // HomeKit Secure Video segment resolution, in milliseconds. This defines the resolution of our buffer. It should never be less than 100ms or greater than 1500ms.
32
- export const PROTECT_HKSV_SEGMENT_RESOLUTION = 100;
31
+ // Protect fMP4 segment resolution, in milliseconds. This defines the resolution of our buffer. It should never be less than 100ms or greater than 1500ms.
32
+ export const PROTECT_SEGMENT_RESOLUTION = 100;
33
33
  // HomeKit Secure Video communication timeout threshold, in milliseconds. HKSV has a strict 5 second threshold for communication, so we set this a little below that.
34
34
  export const PROTECT_HKSV_TIMEOUT = 4500;
35
35
  // HomeKit Secure Video timeshift buffer default duration, in milliseconds. This defines how far back in time we can look when we see a motion event.
@@ -1 +1 @@
1
- {"version":3,"file":"settings.js","sourceRoot":"","sources":["../src/settings.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,0BAA0B;AAC1B,MAAM,CAAC,MAAM,WAAW,GAAG,0BAA0B,CAAC;AAEtD,mCAAmC;AACnC,MAAM,CAAC,MAAM,aAAa,GAAG,eAAe,CAAC;AAE7C,yFAAyF;AACzF,MAAM,CAAC,MAAM,mCAAmC,GAAG,GAAG,CAAC;AAEvD,0GAA0G;AAC1G,MAAM,CAAC,MAAM,iCAAiC,GAAG,EAAE,CAAC;AAEpD,mFAAmF;AACnF,MAAM,CAAC,MAAM,qCAAqC,GAAG,EAAE,CAAC;AAExD,qIAAqI;AACrI,MAAM,CAAC,MAAM,oCAAoC,GAAG,IAAI,CAAC;AAEzD,6IAA6I;AAC7I,MAAM,CAAC,MAAM,uCAAuC,GAAG,IAAI,CAAC;AAE5D,oHAAoH;AACpH,MAAM,CAAC,MAAM,uCAAuC,GAAG,IAAI,CAAC;AAE5D,sHAAsH;AACtH,MAAM,CAAC,MAAM,iCAAiC,GAAG,IAAI,CAAC;AAEtD,mIAAmI;AACnI,MAAM,CAAC,MAAM,iCAAiC,GAAG,EAAE,CAAC;AAEpD,4GAA4G;AAC5G,MAAM,CAAC,MAAM,oCAAoC,GAAG,GAAG,CAAC;AAExD,2GAA2G;AAC3G,MAAM,CAAC,MAAM,mCAAmC,GAAG,IAAI,CAAC;AAExD,0KAA0K;AAC1K,MAAM,CAAC,MAAM,mCAAmC,GAAG,CAAC,CAAC;AAErD,kKAAkK;AAClK,MAAM,CAAC,MAAM,+BAA+B,GAAG,GAAG,CAAC;AAEnD,qKAAqK;AACrK,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,CAAC;AAEzC,qJAAqJ;AACrJ,MAAM,CAAC,MAAM,yCAAyC,GAAG,mCAAmC,GAAG,IAAI,GAAG,CAAC,CAAC;AAExG,wJAAwJ;AACxJ,MAAM,CAAC,MAAM,yBAAyB,GAAG,KAAK,CAAC;AAE/C,0HAA0H;AAC1H,MAAM,CAAC,MAAM,uBAAuB,GAAG,EAAE,CAAC;AAE1C,uGAAuG;AACvG,MAAM,CAAC,MAAM,kBAAkB,GAAG,eAAe,CAAC;AAElD,qDAAqD;AACrD,MAAM,CAAC,MAAM,0BAA0B,GAAG,GAAG,CAAC;AAE9C,2EAA2E;AAC3E,MAAM,CAAC,MAAM,uBAAuB,GAAG,GAAG,CAAC;AAE3C,wCAAwC;AACxC,MAAM,CAAC,MAAM,6BAA6B,GAAG,EAAE,CAAC;AAEhD,6EAA6E;AAC7E,MAAM,CAAC,MAAM,yBAAyB,GAAG,IAAI,CAAC;AAE9C,oFAAoF;AACpF,MAAM,CAAC,MAAM,sCAAsC,GAAG,IAAI,CAAC"}
1
+ {"version":3,"file":"settings.js","sourceRoot":"","sources":["../src/settings.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,0BAA0B;AAC1B,MAAM,CAAC,MAAM,WAAW,GAAG,0BAA0B,CAAC;AAEtD,mCAAmC;AACnC,MAAM,CAAC,MAAM,aAAa,GAAG,eAAe,CAAC;AAE7C,yFAAyF;AACzF,MAAM,CAAC,MAAM,mCAAmC,GAAG,GAAG,CAAC;AAEvD,0GAA0G;AAC1G,MAAM,CAAC,MAAM,iCAAiC,GAAG,EAAE,CAAC;AAEpD,mFAAmF;AACnF,MAAM,CAAC,MAAM,qCAAqC,GAAG,EAAE,CAAC;AAExD,qIAAqI;AACrI,MAAM,CAAC,MAAM,oCAAoC,GAAG,IAAI,CAAC;AAEzD,6IAA6I;AAC7I,MAAM,CAAC,MAAM,uCAAuC,GAAG,IAAI,CAAC;AAE5D,oHAAoH;AACpH,MAAM,CAAC,MAAM,uCAAuC,GAAG,IAAI,CAAC;AAE5D,sHAAsH;AACtH,MAAM,CAAC,MAAM,iCAAiC,GAAG,IAAI,CAAC;AAEtD,mIAAmI;AACnI,MAAM,CAAC,MAAM,iCAAiC,GAAG,EAAE,CAAC;AAEpD,4GAA4G;AAC5G,MAAM,CAAC,MAAM,oCAAoC,GAAG,GAAG,CAAC;AAExD,2GAA2G;AAC3G,MAAM,CAAC,MAAM,mCAAmC,GAAG,IAAI,CAAC;AAExD,0KAA0K;AAC1K,MAAM,CAAC,MAAM,mCAAmC,GAAG,CAAC,CAAC;AAErD,0JAA0J;AAC1J,MAAM,CAAC,MAAM,0BAA0B,GAAG,GAAG,CAAC;AAE9C,qKAAqK;AACrK,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,CAAC;AAEzC,qJAAqJ;AACrJ,MAAM,CAAC,MAAM,yCAAyC,GAAG,mCAAmC,GAAG,IAAI,GAAG,CAAC,CAAC;AAExG,wJAAwJ;AACxJ,MAAM,CAAC,MAAM,yBAAyB,GAAG,KAAK,CAAC;AAE/C,0HAA0H;AAC1H,MAAM,CAAC,MAAM,uBAAuB,GAAG,EAAE,CAAC;AAE1C,uGAAuG;AACvG,MAAM,CAAC,MAAM,kBAAkB,GAAG,eAAe,CAAC;AAElD,qDAAqD;AACrD,MAAM,CAAC,MAAM,0BAA0B,GAAG,GAAG,CAAC;AAE9C,2EAA2E;AAC3E,MAAM,CAAC,MAAM,uBAAuB,GAAG,GAAG,CAAC;AAE3C,wCAAwC;AACxC,MAAM,CAAC,MAAM,6BAA6B,GAAG,EAAE,CAAC;AAEhD,6EAA6E;AAC7E,MAAM,CAAC,MAAM,yBAAyB,GAAG,IAAI,CAAC;AAE9C,oFAAoF;AACpF,MAAM,CAAC,MAAM,sCAAsC,GAAG,IAAI,CAAC"}