prismcast 1.10.2 → 1.11.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.
- package/dist/app.d.ts +6 -3
- package/dist/app.d.ts.map +1 -0
- package/dist/app.js +140 -86
- package/dist/app.js.map +1 -1
- package/dist/browser/blockedPage.d.ts +80 -0
- package/dist/browser/blockedPage.d.ts.map +1 -0
- package/dist/browser/blockedPage.js +209 -0
- package/dist/browser/blockedPage.js.map +1 -0
- package/dist/browser/browserSupervisor.d.ts +80 -0
- package/dist/browser/browserSupervisor.d.ts.map +1 -0
- package/dist/browser/browserSupervisor.js +186 -0
- package/dist/browser/browserSupervisor.js.map +1 -0
- package/dist/browser/cdp.d.ts +1 -0
- package/dist/browser/cdp.d.ts.map +1 -0
- package/dist/browser/cdp.js +6 -5
- package/dist/browser/cdp.js.map +1 -1
- package/dist/browser/channelSelection.d.ts +45 -14
- package/dist/browser/channelSelection.d.ts.map +1 -0
- package/dist/browser/channelSelection.js +81 -18
- package/dist/browser/channelSelection.js.map +1 -1
- package/dist/browser/consent.d.ts +152 -0
- package/dist/browser/consent.d.ts.map +1 -0
- package/dist/browser/consent.js +418 -0
- package/dist/browser/consent.js.map +1 -0
- package/dist/browser/display.d.ts +1 -0
- package/dist/browser/display.d.ts.map +1 -0
- package/dist/browser/hlsPlaylistObserver.d.ts +55 -0
- package/dist/browser/hlsPlaylistObserver.d.ts.map +1 -0
- package/dist/browser/hlsPlaylistObserver.js +132 -0
- package/dist/browser/hlsPlaylistObserver.js.map +1 -0
- package/dist/browser/index.d.ts +67 -40
- package/dist/browser/index.d.ts.map +1 -0
- package/dist/browser/index.js +508 -300
- package/dist/browser/index.js.map +1 -1
- package/dist/browser/launchGovernor.d.ts +89 -0
- package/dist/browser/launchGovernor.d.ts.map +1 -0
- package/dist/browser/launchGovernor.js +96 -0
- package/dist/browser/launchGovernor.js.map +1 -0
- package/dist/browser/login.d.ts +10 -2
- package/dist/browser/login.d.ts.map +1 -0
- package/dist/browser/login.js +36 -5
- package/dist/browser/login.js.map +1 -1
- package/dist/browser/manifestInterceptor.d.ts +102 -49
- package/dist/browser/manifestInterceptor.d.ts.map +1 -0
- package/dist/browser/manifestInterceptor.js +219 -237
- package/dist/browser/manifestInterceptor.js.map +1 -1
- package/dist/browser/pageStaleness.d.ts +30 -0
- package/dist/browser/pageStaleness.d.ts.map +1 -0
- package/dist/browser/pageStaleness.js +76 -0
- package/dist/browser/pageStaleness.js.map +1 -0
- package/dist/browser/precaching.d.ts +95 -3
- package/dist/browser/precaching.d.ts.map +1 -0
- package/dist/browser/precaching.js +499 -65
- package/dist/browser/precaching.js.map +1 -1
- package/dist/browser/tabNetworkObserver.d.ts +49 -0
- package/dist/browser/tabNetworkObserver.d.ts.map +1 -0
- package/dist/browser/tabNetworkObserver.js +144 -0
- package/dist/browser/tabNetworkObserver.js.map +1 -0
- package/dist/browser/tuning/cache.d.ts +61 -0
- package/dist/browser/tuning/cache.d.ts.map +1 -0
- package/dist/browser/tuning/cache.js +62 -0
- package/dist/browser/tuning/cache.js.map +1 -0
- package/dist/browser/tuning/comcastPolymer.d.ts +3 -2
- package/dist/browser/tuning/comcastPolymer.d.ts.map +1 -0
- package/dist/browser/tuning/comcastPolymer.js +79 -102
- package/dist/browser/tuning/comcastPolymer.js.map +1 -1
- package/dist/browser/tuning/cox.d.ts +1 -0
- package/dist/browser/tuning/cox.d.ts.map +1 -0
- package/dist/browser/tuning/directv.d.ts +1 -0
- package/dist/browser/tuning/directv.d.ts.map +1 -0
- package/dist/browser/tuning/directv.js +52 -46
- package/dist/browser/tuning/directv.js.map +1 -1
- package/dist/browser/tuning/fox.d.ts +1 -0
- package/dist/browser/tuning/fox.d.ts.map +1 -0
- package/dist/browser/tuning/fox.js +13 -12
- package/dist/browser/tuning/fox.js.map +1 -1
- package/dist/browser/tuning/gridSearch.d.ts +68 -0
- package/dist/browser/tuning/gridSearch.d.ts.map +1 -0
- package/dist/browser/tuning/gridSearch.js +85 -0
- package/dist/browser/tuning/gridSearch.js.map +1 -0
- package/dist/browser/tuning/hbo.d.ts +1 -0
- package/dist/browser/tuning/hbo.d.ts.map +1 -0
- package/dist/browser/tuning/hbo.js +73 -45
- package/dist/browser/tuning/hbo.js.map +1 -1
- package/dist/browser/tuning/hulu.d.ts +1 -0
- package/dist/browser/tuning/hulu.d.ts.map +1 -0
- package/dist/browser/tuning/hulu.js +128 -173
- package/dist/browser/tuning/hulu.js.map +1 -1
- package/dist/browser/tuning/shared.d.ts +75 -5
- package/dist/browser/tuning/shared.d.ts.map +1 -0
- package/dist/browser/tuning/shared.js +216 -6
- package/dist/browser/tuning/shared.js.map +1 -1
- package/dist/browser/tuning/sling.d.ts +1 -0
- package/dist/browser/tuning/sling.d.ts.map +1 -0
- package/dist/browser/tuning/sling.js +105 -126
- package/dist/browser/tuning/sling.js.map +1 -1
- package/dist/browser/tuning/spectrum.d.ts +1 -0
- package/dist/browser/tuning/spectrum.d.ts.map +1 -0
- package/dist/browser/tuning/spectrum.js +80 -125
- package/dist/browser/tuning/spectrum.js.map +1 -1
- package/dist/browser/tuning/thumbnailRow.d.ts +1 -0
- package/dist/browser/tuning/thumbnailRow.d.ts.map +1 -0
- package/dist/browser/tuning/thumbnailRow.js +8 -2
- package/dist/browser/tuning/thumbnailRow.js.map +1 -1
- package/dist/browser/tuning/tileClick.d.ts +1 -0
- package/dist/browser/tuning/tileClick.d.ts.map +1 -0
- package/dist/browser/tuning/tileClick.js +3 -2
- package/dist/browser/tuning/tileClick.js.map +1 -1
- package/dist/browser/tuning/xfinity.d.ts +1 -0
- package/dist/browser/tuning/xfinity.d.ts.map +1 -0
- package/dist/browser/tuning/youtubeTv.d.ts +1 -0
- package/dist/browser/tuning/youtubeTv.d.ts.map +1 -0
- package/dist/browser/tuning/youtubeTv.js +74 -127
- package/dist/browser/tuning/youtubeTv.js.map +1 -1
- package/dist/browser/video.d.ts +54 -14
- package/dist/browser/video.d.ts.map +1 -0
- package/dist/browser/video.js +296 -138
- package/dist/browser/video.js.map +1 -1
- package/dist/channels/index.d.ts +1 -0
- package/dist/channels/index.d.ts.map +1 -0
- package/dist/channels/index.js +12 -9
- package/dist/channels/index.js.map +1 -1
- package/dist/config/channelForm.d.ts +15 -1
- package/dist/config/channelForm.d.ts.map +1 -0
- package/dist/config/channelForm.js +28 -12
- package/dist/config/channelForm.js.map +1 -1
- package/dist/config/consistencyProbe.d.ts +1 -0
- package/dist/config/consistencyProbe.d.ts.map +1 -0
- package/dist/config/consistencyProbe.js +27 -21
- package/dist/config/consistencyProbe.js.map +1 -1
- package/dist/config/health.d.ts +41 -8
- package/dist/config/health.d.ts.map +1 -0
- package/dist/config/health.js +189 -38
- package/dist/config/health.js.map +1 -1
- package/dist/config/index.d.ts +55 -3
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +320 -69
- package/dist/config/index.js.map +1 -1
- package/dist/config/paths.d.ts +10 -9
- package/dist/config/paths.d.ts.map +1 -0
- package/dist/config/paths.js +11 -11
- package/dist/config/paths.js.map +1 -1
- package/dist/config/persistence.context.d.ts +1 -0
- package/dist/config/persistence.context.d.ts.map +1 -0
- package/dist/config/persistence.d.ts +13 -10
- package/dist/config/persistence.d.ts.map +1 -0
- package/dist/config/persistence.js +40 -21
- package/dist/config/persistence.js.map +1 -1
- package/dist/config/presets.d.ts +1 -0
- package/dist/config/presets.d.ts.map +1 -0
- package/dist/config/profiles.d.ts +22 -15
- package/dist/config/profiles.d.ts.map +1 -0
- package/dist/config/profiles.js +81 -47
- package/dist/config/profiles.js.map +1 -1
- package/dist/config/providerLineups.d.ts +47 -0
- package/dist/config/providerLineups.d.ts.map +1 -0
- package/dist/config/providerLineups.js +137 -0
- package/dist/config/providerLineups.js.map +1 -0
- package/dist/config/reactivity.d.ts +84 -0
- package/dist/config/reactivity.d.ts.map +1 -0
- package/dist/config/reactivity.js +226 -0
- package/dist/config/reactivity.js.map +1 -0
- package/dist/config/servicePacks.d.ts +18 -2
- package/dist/config/servicePacks.d.ts.map +1 -0
- package/dist/config/servicePacks.js +53 -11
- package/dist/config/servicePacks.js.map +1 -1
- package/dist/config/services.d.ts +21 -15
- package/dist/config/services.d.ts.map +1 -0
- package/dist/config/services.js +35 -24
- package/dist/config/services.js.map +1 -1
- package/dist/config/sites.d.ts +6 -4
- package/dist/config/sites.d.ts.map +1 -0
- package/dist/config/sites.js +15 -11
- package/dist/config/sites.js.map +1 -1
- package/dist/config/userChannels.d.ts +129 -30
- package/dist/config/userChannels.d.ts.map +1 -0
- package/dist/config/userChannels.js +333 -68
- package/dist/config/userChannels.js.map +1 -1
- package/dist/config/userConfig.d.ts +14 -9
- package/dist/config/userConfig.d.ts.map +1 -0
- package/dist/config/userConfig.js +87 -25
- package/dist/config/userConfig.js.map +1 -1
- package/dist/config/userProfiles.d.ts +10 -6
- package/dist/config/userProfiles.d.ts.map +1 -0
- package/dist/config/userProfiles.js +64 -39
- package/dist/config/userProfiles.js.map +1 -1
- package/dist/hdhr/channelMap.d.ts +1 -0
- package/dist/hdhr/channelMap.d.ts.map +1 -0
- package/dist/hdhr/deviceId.d.ts +1 -0
- package/dist/hdhr/deviceId.d.ts.map +1 -0
- package/dist/hdhr/discover.d.ts +1 -0
- package/dist/hdhr/discover.d.ts.map +1 -0
- package/dist/hdhr/discover.js +48 -47
- package/dist/hdhr/discover.js.map +1 -1
- package/dist/hdhr/getHandlers.d.ts +29 -0
- package/dist/hdhr/getHandlers.d.ts.map +1 -0
- package/dist/hdhr/getHandlers.js +196 -0
- package/dist/hdhr/getHandlers.js.map +1 -0
- package/dist/hdhr/identity.d.ts +36 -0
- package/dist/hdhr/identity.d.ts.map +1 -0
- package/dist/hdhr/identity.js +51 -0
- package/dist/hdhr/identity.js.map +1 -0
- package/dist/hdhr/index.d.ts +22 -4
- package/dist/hdhr/index.d.ts.map +1 -0
- package/dist/hdhr/index.js +229 -54
- package/dist/hdhr/index.js.map +1 -1
- package/dist/hdhr/protocol.d.ts +75 -0
- package/dist/hdhr/protocol.d.ts.map +1 -0
- package/dist/hdhr/protocol.js +264 -0
- package/dist/hdhr/protocol.js.map +1 -0
- package/dist/hdhr/tunerState.d.ts +24 -0
- package/dist/hdhr/tunerState.d.ts.map +1 -0
- package/dist/hdhr/tunerState.js +67 -0
- package/dist/hdhr/tunerState.js.map +1 -0
- package/dist/hdhr/udp.d.ts +43 -0
- package/dist/hdhr/udp.d.ts.map +1 -0
- package/dist/hdhr/udp.js +277 -0
- package/dist/hdhr/udp.js.map +1 -0
- package/dist/identity.d.ts +1 -0
- package/dist/identity.d.ts.map +1 -0
- package/dist/identity.js +13 -11
- package/dist/identity.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +11 -12
- package/dist/index.js.map +1 -1
- package/dist/native/codecInference.d.ts +1 -0
- package/dist/native/codecInference.d.ts.map +1 -0
- package/dist/native/codecInference.js +50 -5
- package/dist/native/codecInference.js.map +1 -1
- package/dist/native/decrypt.d.ts +6 -2
- package/dist/native/decrypt.d.ts.map +1 -0
- package/dist/native/decrypt.js +15 -8
- package/dist/native/decrypt.js.map +1 -1
- package/dist/native/index.d.ts +40 -17
- package/dist/native/index.d.ts.map +1 -0
- package/dist/native/index.js +281 -120
- package/dist/native/index.js.map +1 -1
- package/dist/native/probe.d.ts +114 -18
- package/dist/native/probe.d.ts.map +1 -0
- package/dist/native/probe.js +452 -115
- package/dist/native/probe.js.map +1 -1
- package/dist/native/proxy.d.ts +57 -5
- package/dist/native/proxy.d.ts.map +1 -0
- package/dist/native/proxy.js +604 -170
- package/dist/native/proxy.js.map +1 -1
- package/dist/native/tokenExpiry.d.ts +1 -0
- package/dist/native/tokenExpiry.d.ts.map +1 -0
- package/dist/native/tokenExpiry.js +1 -1
- package/dist/routes/assets.d.ts +1 -0
- package/dist/routes/assets.d.ts.map +1 -0
- package/dist/routes/assets.js +4 -2
- package/dist/routes/assets.js.map +1 -1
- package/dist/routes/auth.d.ts +1 -0
- package/dist/routes/auth.d.ts.map +1 -0
- package/dist/routes/auth.js +0 -1
- package/dist/routes/auth.js.map +1 -1
- package/dist/routes/cdp.d.ts +5 -5
- package/dist/routes/cdp.d.ts.map +1 -0
- package/dist/routes/cdp.js +59 -20
- package/dist/routes/cdp.js.map +1 -1
- package/dist/routes/channels.d.ts +1 -0
- package/dist/routes/channels.d.ts.map +1 -0
- package/dist/routes/channels.js +2 -1
- package/dist/routes/channels.js.map +1 -1
- package/dist/routes/clientActions.d.ts +98 -0
- package/dist/routes/clientActions.d.ts.map +1 -0
- package/dist/routes/clientActions.js +113 -0
- package/dist/routes/clientActions.js.map +1 -0
- package/dist/routes/components.d.ts +5 -3
- package/dist/routes/components.d.ts.map +1 -0
- package/dist/routes/components.js +36 -39
- package/dist/routes/components.js.map +1 -1
- package/dist/routes/config/channels/endpoints/browse.d.ts +1 -0
- package/dist/routes/config/channels/endpoints/browse.d.ts.map +1 -0
- package/dist/routes/config/channels/endpoints/browse.js +23 -10
- package/dist/routes/config/channels/endpoints/browse.js.map +1 -1
- package/dist/routes/config/channels/endpoints/bulk.d.ts +1 -0
- package/dist/routes/config/channels/endpoints/bulk.d.ts.map +1 -0
- package/dist/routes/config/channels/endpoints/bulk.js +5 -3
- package/dist/routes/config/channels/endpoints/bulk.js.map +1 -1
- package/dist/routes/config/channels/endpoints/crud.d.ts +1 -0
- package/dist/routes/config/channels/endpoints/crud.d.ts.map +1 -0
- package/dist/routes/config/channels/endpoints/crud.js +85 -93
- package/dist/routes/config/channels/endpoints/crud.js.map +1 -1
- package/dist/routes/config/channels/endpoints/importExport.d.ts +1 -0
- package/dist/routes/config/channels/endpoints/importExport.d.ts.map +1 -0
- package/dist/routes/config/channels/endpoints/importExport.js +6 -3
- package/dist/routes/config/channels/endpoints/importExport.js.map +1 -1
- package/dist/routes/config/channels/endpoints/predefined.d.ts +1 -0
- package/dist/routes/config/channels/endpoints/predefined.d.ts.map +1 -0
- package/dist/routes/config/channels/endpoints/prefs.d.ts +1 -0
- package/dist/routes/config/channels/endpoints/prefs.d.ts.map +1 -0
- package/dist/routes/config/channels/endpoints/prefs.js +2 -1
- package/dist/routes/config/channels/endpoints/prefs.js.map +1 -1
- package/dist/routes/config/channels/endpoints/service.d.ts +2 -1
- package/dist/routes/config/channels/endpoints/service.d.ts.map +1 -0
- package/dist/routes/config/channels/endpoints/service.js +3 -1
- package/dist/routes/config/channels/endpoints/service.js.map +1 -1
- package/dist/routes/config/channels/endpoints/tags.d.ts +1 -0
- package/dist/routes/config/channels/endpoints/tags.d.ts.map +1 -0
- package/dist/routes/config/channels/endpoints/tags.js +13 -7
- package/dist/routes/config/channels/endpoints/tags.js.map +1 -1
- package/dist/routes/config/channels/healthBridge.d.ts +24 -0
- package/dist/routes/config/channels/healthBridge.d.ts.map +1 -0
- package/dist/routes/config/channels/healthBridge.js +71 -0
- package/dist/routes/config/channels/healthBridge.js.map +1 -0
- package/dist/routes/config/channels/http/handler.d.ts +1 -0
- package/dist/routes/config/channels/http/handler.d.ts.map +1 -0
- package/dist/routes/config/channels/http/playlistHint.d.ts +2 -1
- package/dist/routes/config/channels/http/playlistHint.d.ts.map +1 -0
- package/dist/routes/config/channels/http/playlistHint.js +16 -2
- package/dist/routes/config/channels/http/playlistHint.js.map +1 -1
- package/dist/routes/config/channels/http/serviceWarning.d.ts +4 -2
- package/dist/routes/config/channels/http/serviceWarning.d.ts.map +1 -0
- package/dist/routes/config/channels/http/serviceWarning.js +3 -2
- package/dist/routes/config/channels/http/serviceWarning.js.map +1 -1
- package/dist/routes/config/channels/index.d.ts +1 -0
- package/dist/routes/config/channels/index.d.ts.map +1 -0
- package/dist/routes/config/channels/setup.d.ts +1 -0
- package/dist/routes/config/channels/setup.d.ts.map +1 -0
- package/dist/routes/config/channels/table.d.ts +3 -3
- package/dist/routes/config/channels/table.d.ts.map +1 -0
- package/dist/routes/config/channels/table.js +148 -107
- package/dist/routes/config/channels/table.js.map +1 -1
- package/dist/routes/config/http/envelope.d.ts +1 -0
- package/dist/routes/config/http/envelope.d.ts.map +1 -0
- package/dist/routes/config/index.d.ts +35 -3
- package/dist/routes/config/index.d.ts.map +1 -0
- package/dist/routes/config/index.js +51 -2
- package/dist/routes/config/index.js.map +1 -1
- package/dist/routes/config/services.d.ts +5 -4
- package/dist/routes/config/services.d.ts.map +1 -0
- package/dist/routes/config/services.js +57 -43
- package/dist/routes/config/services.js.map +1 -1
- package/dist/routes/config/settings.d.ts +1 -0
- package/dist/routes/config/settings.d.ts.map +1 -0
- package/dist/routes/config/settings.js +98 -49
- package/dist/routes/config/settings.js.map +1 -1
- package/dist/routes/debug.d.ts +1 -0
- package/dist/routes/debug.d.ts.map +1 -0
- package/dist/routes/debug.js +277 -139
- package/dist/routes/debug.js.map +1 -1
- package/dist/routes/health.d.ts +39 -1
- package/dist/routes/health.d.ts.map +1 -0
- package/dist/routes/health.js +33 -27
- package/dist/routes/health.js.map +1 -1
- package/dist/routes/hls.d.ts +1 -0
- package/dist/routes/hls.d.ts.map +1 -0
- package/dist/routes/icons.d.ts +1 -0
- package/dist/routes/icons.d.ts.map +1 -0
- package/dist/routes/icons.js +1 -1
- package/dist/routes/index.d.ts +1 -0
- package/dist/routes/index.d.ts.map +1 -0
- package/dist/routes/logs.d.ts +1 -0
- package/dist/routes/logs.d.ts.map +1 -0
- package/dist/routes/logs.js +14 -4
- package/dist/routes/logs.js.map +1 -1
- package/dist/routes/mpegts.d.ts +1 -0
- package/dist/routes/mpegts.d.ts.map +1 -0
- package/dist/routes/play.d.ts +1 -0
- package/dist/routes/play.d.ts.map +1 -0
- package/dist/routes/playlist.d.ts +1 -0
- package/dist/routes/playlist.d.ts.map +1 -0
- package/dist/routes/playlist.js +7 -2
- package/dist/routes/playlist.js.map +1 -1
- package/dist/routes/root/content.d.ts +8 -5
- package/dist/routes/root/content.d.ts.map +1 -0
- package/dist/routes/root/content.js +29 -26
- package/dist/routes/root/content.js.map +1 -1
- package/dist/routes/root/index.d.ts +2 -1
- package/dist/routes/root/index.d.ts.map +1 -0
- package/dist/routes/root/index.js +26 -21
- package/dist/routes/root/index.js.map +1 -1
- package/dist/routes/root/scripts/channels.d.ts +6 -0
- package/dist/routes/root/scripts/channels.d.ts.map +1 -0
- package/dist/routes/root/scripts/channels.js +197 -118
- package/dist/routes/root/scripts/channels.js.map +1 -1
- package/dist/routes/root/scripts/clientEscape.d.ts +22 -0
- package/dist/routes/root/scripts/clientEscape.d.ts.map +1 -0
- package/dist/routes/root/scripts/clientEscape.js +41 -0
- package/dist/routes/root/scripts/clientEscape.js.map +1 -0
- package/dist/routes/root/scripts/clientUrl.d.ts +23 -0
- package/dist/routes/root/scripts/clientUrl.d.ts.map +1 -0
- package/dist/routes/root/scripts/clientUrl.js +44 -0
- package/dist/routes/root/scripts/clientUrl.js.map +1 -0
- package/dist/routes/root/scripts/config.d.ts +6 -0
- package/dist/routes/root/scripts/config.d.ts.map +1 -0
- package/dist/routes/root/scripts/config.js +110 -24
- package/dist/routes/root/scripts/config.js.map +1 -1
- package/dist/routes/root/scripts/index.d.ts +1 -0
- package/dist/routes/root/scripts/index.d.ts.map +1 -0
- package/dist/routes/root/scripts/shared.d.ts +1 -0
- package/dist/routes/root/scripts/shared.d.ts.map +1 -0
- package/dist/routes/root/scripts/shared.js +112 -26
- package/dist/routes/root/scripts/shared.js.map +1 -1
- package/dist/routes/root/scripts/status.d.ts +1 -0
- package/dist/routes/root/scripts/status.d.ts.map +1 -0
- package/dist/routes/root/scripts/status.handlers.d.ts +23 -33
- package/dist/routes/root/scripts/status.handlers.d.ts.map +1 -0
- package/dist/routes/root/scripts/status.handlers.js +46 -92
- package/dist/routes/root/scripts/status.handlers.js.map +1 -1
- package/dist/routes/root/scripts/status.js +21 -8
- package/dist/routes/root/scripts/status.js.map +1 -1
- package/dist/routes/root/styles.d.ts +1 -0
- package/dist/routes/root/styles.d.ts.map +1 -0
- package/dist/routes/root/styles.js +7 -4
- package/dist/routes/root/styles.js.map +1 -1
- package/dist/routes/services.d.ts +13 -1
- package/dist/routes/services.d.ts.map +1 -0
- package/dist/routes/services.js +81 -68
- package/dist/routes/services.js.map +1 -1
- package/dist/routes/sse.d.ts +1 -0
- package/dist/routes/sse.d.ts.map +1 -0
- package/dist/routes/sse.js +1 -1
- package/dist/routes/sse.js.map +1 -1
- package/dist/routes/streams.d.ts +2 -1
- package/dist/routes/streams.d.ts.map +1 -0
- package/dist/routes/streams.js +6 -4
- package/dist/routes/streams.js.map +1 -1
- package/dist/routes/theme.d.ts +3 -2
- package/dist/routes/theme.d.ts.map +1 -0
- package/dist/routes/theme.js +6 -5
- package/dist/routes/theme.js.map +1 -1
- package/dist/routes/ui.d.ts +3 -1
- package/dist/routes/ui.d.ts.map +1 -0
- package/dist/routes/ui.js +16 -4
- package/dist/routes/ui.js.map +1 -1
- package/dist/routes/upgrade.d.ts +1 -0
- package/dist/routes/upgrade.d.ts.map +1 -0
- package/dist/routes/upgrade.js +6 -2
- package/dist/routes/upgrade.js.map +1 -1
- package/dist/service/commands.context.d.ts +1 -0
- package/dist/service/commands.context.d.ts.map +1 -0
- package/dist/service/commands.context.js +4 -3
- package/dist/service/commands.context.js.map +1 -1
- package/dist/service/commands.d.ts +1 -0
- package/dist/service/commands.d.ts.map +1 -0
- package/dist/service/commands.js +10 -13
- package/dist/service/commands.js.map +1 -1
- package/dist/service/generators.context.d.ts +1 -0
- package/dist/service/generators.context.d.ts.map +1 -0
- package/dist/service/generators.context.js +1 -1
- package/dist/service/generators.context.js.map +1 -1
- package/dist/service/generators.d.ts +4 -3
- package/dist/service/generators.d.ts.map +1 -0
- package/dist/service/generators.js +111 -31
- package/dist/service/generators.js.map +1 -1
- package/dist/service/index.d.ts +1 -0
- package/dist/service/index.d.ts.map +1 -0
- package/dist/streaming/captureLock.d.ts +44 -0
- package/dist/streaming/captureLock.d.ts.map +1 -0
- package/dist/streaming/captureLock.js +95 -0
- package/dist/streaming/captureLock.js.map +1 -0
- package/dist/streaming/captureSession.d.ts +31 -0
- package/dist/streaming/captureSession.d.ts.map +1 -0
- package/dist/streaming/captureSession.js +54 -0
- package/dist/streaming/captureSession.js.map +1 -0
- package/dist/streaming/clients.d.ts +1 -0
- package/dist/streaming/clients.d.ts.map +1 -0
- package/dist/streaming/codec.d.ts +1 -0
- package/dist/streaming/codec.d.ts.map +1 -0
- package/dist/streaming/fmp4Segmenter.d.ts +29 -2
- package/dist/streaming/fmp4Segmenter.d.ts.map +1 -0
- package/dist/streaming/fmp4Segmenter.js +79 -26
- package/dist/streaming/fmp4Segmenter.js.map +1 -1
- package/dist/streaming/hls.d.ts +18 -7
- package/dist/streaming/hls.d.ts.map +1 -0
- package/dist/streaming/hls.js +220 -120
- package/dist/streaming/hls.js.map +1 -1
- package/dist/streaming/hlsResume.d.ts +1 -0
- package/dist/streaming/hlsResume.d.ts.map +1 -0
- package/dist/streaming/hlsResume.js +1 -1
- package/dist/streaming/hlsResume.js.map +1 -1
- package/dist/streaming/hlsSegments.d.ts +59 -2
- package/dist/streaming/hlsSegments.d.ts.map +1 -0
- package/dist/streaming/hlsSegments.js +147 -17
- package/dist/streaming/hlsSegments.js.map +1 -1
- package/dist/streaming/lifecycle.d.ts +4 -1
- package/dist/streaming/lifecycle.d.ts.map +1 -0
- package/dist/streaming/lifecycle.js +65 -85
- package/dist/streaming/lifecycle.js.map +1 -1
- package/dist/streaming/monitor.d.ts +6 -4
- package/dist/streaming/monitor.d.ts.map +1 -0
- package/dist/streaming/monitor.js +343 -145
- package/dist/streaming/monitor.js.map +1 -1
- package/dist/streaming/mp4Parser.d.ts +5 -4
- package/dist/streaming/mp4Parser.d.ts.map +1 -0
- package/dist/streaming/mp4Parser.js +36 -13
- package/dist/streaming/mp4Parser.js.map +1 -1
- package/dist/streaming/mpegts.d.ts +16 -0
- package/dist/streaming/mpegts.d.ts.map +1 -0
- package/dist/streaming/mpegts.js +61 -17
- package/dist/streaming/mpegts.js.map +1 -1
- package/dist/streaming/playlistBuilder.d.ts +1 -0
- package/dist/streaming/playlistBuilder.d.ts.map +1 -0
- package/dist/streaming/preroll.d.ts +32 -5
- package/dist/streaming/preroll.d.ts.map +1 -0
- package/dist/streaming/preroll.js +70 -32
- package/dist/streaming/preroll.js.map +1 -1
- package/dist/streaming/pretune.d.ts +26 -1
- package/dist/streaming/pretune.d.ts.map +1 -0
- package/dist/streaming/pretune.js +22 -24
- package/dist/streaming/pretune.js.map +1 -1
- package/dist/streaming/pretuneTimers.d.ts +24 -0
- package/dist/streaming/pretuneTimers.d.ts.map +1 -0
- package/dist/streaming/pretuneTimers.js +56 -0
- package/dist/streaming/pretuneTimers.js.map +1 -0
- package/dist/streaming/recovery.d.ts +139 -5
- package/dist/streaming/recovery.d.ts.map +1 -0
- package/dist/streaming/recovery.js +160 -16
- package/dist/streaming/recovery.js.map +1 -1
- package/dist/streaming/registry.d.ts +27 -9
- package/dist/streaming/registry.d.ts.map +1 -0
- package/dist/streaming/registry.js +21 -3
- package/dist/streaming/registry.js.map +1 -1
- package/dist/streaming/setup.d.ts +157 -29
- package/dist/streaming/setup.d.ts.map +1 -0
- package/dist/streaming/setup.js +1034 -458
- package/dist/streaming/setup.js.map +1 -1
- package/dist/streaming/showInfo.d.ts +21 -1
- package/dist/streaming/showInfo.d.ts.map +1 -0
- package/dist/streaming/showInfo.js +31 -16
- package/dist/streaming/showInfo.js.map +1 -1
- package/dist/streaming/statusEmitter.d.ts +10 -10
- package/dist/streaming/statusEmitter.d.ts.map +1 -0
- package/dist/streaming/statusEmitter.js +5 -8
- package/dist/streaming/statusEmitter.js.map +1 -1
- package/dist/types/channels.d.ts +16 -4
- package/dist/types/channels.d.ts.map +1 -0
- package/dist/types/channels.js +4 -2
- package/dist/types/channels.js.map +1 -1
- package/dist/types/config.d.ts +16 -5
- package/dist/types/config.d.ts.map +1 -0
- package/dist/types/index.d.ts +3 -2
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/profiles.d.ts +6 -4
- package/dist/types/profiles.d.ts.map +1 -0
- package/dist/types/selection.d.ts +31 -3
- package/dist/types/selection.d.ts.map +1 -0
- package/dist/types/selection.js +4 -2
- package/dist/types/selection.js.map +1 -1
- package/dist/types/shared.d.ts +1 -0
- package/dist/types/shared.d.ts.map +1 -0
- package/dist/types/streaming.d.ts +8 -0
- package/dist/types/streaming.d.ts.map +1 -0
- package/dist/upgrade/commands.context.d.ts +1 -0
- package/dist/upgrade/commands.context.d.ts.map +1 -0
- package/dist/upgrade/commands.context.js +14 -10
- package/dist/upgrade/commands.context.js.map +1 -1
- package/dist/upgrade/commands.d.ts +8 -15
- package/dist/upgrade/commands.d.ts.map +1 -0
- package/dist/upgrade/commands.js +27 -28
- package/dist/upgrade/commands.js.map +1 -1
- package/dist/upgrade/detection.context.d.ts +1 -0
- package/dist/upgrade/detection.context.d.ts.map +1 -0
- package/dist/upgrade/detection.context.js +4 -1
- package/dist/upgrade/detection.context.js.map +1 -1
- package/dist/upgrade/detection.d.ts +9 -7
- package/dist/upgrade/detection.d.ts.map +1 -0
- package/dist/upgrade/detection.js +23 -54
- package/dist/upgrade/detection.js.map +1 -1
- package/dist/upgrade/index.d.ts +2 -0
- package/dist/upgrade/index.d.ts.map +1 -0
- package/dist/upgrade/index.js +1 -0
- package/dist/upgrade/index.js.map +1 -1
- package/dist/upgrade/lifecycle.context.d.ts +20 -0
- package/dist/upgrade/lifecycle.context.d.ts.map +1 -0
- package/dist/upgrade/lifecycle.context.js +47 -0
- package/dist/upgrade/lifecycle.context.js.map +1 -0
- package/dist/upgrade/lifecycle.d.ts +72 -0
- package/dist/upgrade/lifecycle.d.ts.map +1 -0
- package/dist/upgrade/lifecycle.js +175 -0
- package/dist/upgrade/lifecycle.js.map +1 -0
- package/dist/upgrade/pathHandle.d.ts +30 -0
- package/dist/upgrade/pathHandle.d.ts.map +1 -0
- package/dist/upgrade/pathHandle.js +102 -0
- package/dist/upgrade/pathHandle.js.map +1 -0
- package/dist/utils/bootSession.context.d.ts +16 -0
- package/dist/utils/bootSession.context.d.ts.map +1 -0
- package/dist/utils/bootSession.context.js +60 -0
- package/dist/utils/bootSession.context.js.map +1 -0
- package/dist/utils/bootSession.d.ts +17 -0
- package/dist/utils/bootSession.d.ts.map +1 -0
- package/dist/utils/bootSession.js +20 -0
- package/dist/utils/bootSession.js.map +1 -0
- package/dist/utils/chromeFetch.d.ts +1 -0
- package/dist/utils/chromeFetch.d.ts.map +1 -0
- package/dist/utils/cliOutput.d.ts +1 -0
- package/dist/utils/cliOutput.d.ts.map +1 -0
- package/dist/utils/clock.d.ts +5 -4
- package/dist/utils/clock.d.ts.map +1 -0
- package/dist/utils/clock.js +19 -16
- package/dist/utils/clock.js.map +1 -1
- package/dist/utils/debugFilter.d.ts +9 -1
- package/dist/utils/debugFilter.d.ts.map +1 -0
- package/dist/utils/debugFilter.js +60 -33
- package/dist/utils/debugFilter.js.map +1 -1
- package/dist/utils/delay.d.ts +48 -15
- package/dist/utils/delay.d.ts.map +1 -0
- package/dist/utils/delay.js +73 -20
- package/dist/utils/delay.js.map +1 -1
- package/dist/utils/errors.d.ts +32 -0
- package/dist/utils/errors.d.ts.map +1 -0
- package/dist/utils/errors.js +45 -4
- package/dist/utils/errors.js.map +1 -1
- package/dist/utils/evaluate.d.ts +1 -0
- package/dist/utils/evaluate.d.ts.map +1 -0
- package/dist/utils/evaluate.js +29 -23
- package/dist/utils/evaluate.js.map +1 -1
- package/dist/utils/ffmpeg.context.d.ts +1 -0
- package/dist/utils/ffmpeg.context.d.ts.map +1 -0
- package/dist/utils/ffmpeg.context.js.map +1 -1
- package/dist/utils/ffmpeg.d.ts +29 -7
- package/dist/utils/ffmpeg.d.ts.map +1 -0
- package/dist/utils/ffmpeg.js +32 -14
- package/dist/utils/ffmpeg.js.map +1 -1
- package/dist/utils/fileLogger.d.ts +3 -1
- package/dist/utils/fileLogger.d.ts.map +1 -0
- package/dist/utils/fileLogger.js +64 -29
- package/dist/utils/fileLogger.js.map +1 -1
- package/dist/utils/format.d.ts +14 -1
- package/dist/utils/format.d.ts.map +1 -0
- package/dist/utils/format.js +19 -5
- package/dist/utils/format.js.map +1 -1
- package/dist/utils/index.d.ts +4 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +3 -0
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/logEmitter.d.ts +1 -0
- package/dist/utils/logEmitter.d.ts.map +1 -0
- package/dist/utils/logger.d.ts +1 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +10 -6
- package/dist/utils/logger.js.map +1 -1
- package/dist/utils/m3u.d.ts +3 -2
- package/dist/utils/m3u.d.ts.map +1 -0
- package/dist/utils/m3u.js +4 -3
- package/dist/utils/m3u.js.map +1 -1
- package/dist/utils/markup.d.ts +13 -1
- package/dist/utils/markup.d.ts.map +1 -0
- package/dist/utils/markup.js +28 -4
- package/dist/utils/markup.js.map +1 -1
- package/dist/utils/memo.d.ts +3 -2
- package/dist/utils/memo.d.ts.map +1 -0
- package/dist/utils/memo.js +3 -3
- package/dist/utils/morganStream.d.ts +1 -0
- package/dist/utils/morganStream.d.ts.map +1 -0
- package/dist/utils/network.d.ts +1 -0
- package/dist/utils/network.d.ts.map +1 -0
- package/dist/utils/network.js +2 -2
- package/dist/utils/pid.d.ts +3 -25
- package/dist/utils/pid.d.ts.map +1 -0
- package/dist/utils/pid.js +10 -49
- package/dist/utils/pid.js.map +1 -1
- package/dist/utils/platform.d.ts +3 -1
- package/dist/utils/platform.d.ts.map +1 -0
- package/dist/utils/platform.js +2 -1
- package/dist/utils/platform.js.map +1 -1
- package/dist/utils/processInspector.context.d.ts +8 -0
- package/dist/utils/processInspector.context.d.ts.map +1 -0
- package/dist/utils/processInspector.context.js +106 -0
- package/dist/utils/processInspector.context.js.map +1 -0
- package/dist/utils/processInspector.d.ts +55 -0
- package/dist/utils/processInspector.d.ts.map +1 -0
- package/dist/utils/processInspector.js +127 -0
- package/dist/utils/processInspector.js.map +1 -0
- package/dist/utils/retry.d.ts +25 -2
- package/dist/utils/retry.d.ts.map +1 -0
- package/dist/utils/retry.js +33 -6
- package/dist/utils/retry.js.map +1 -1
- package/dist/utils/runtimeIdentity.context.d.ts +7 -0
- package/dist/utils/runtimeIdentity.context.d.ts.map +1 -0
- package/dist/utils/runtimeIdentity.context.js +43 -0
- package/dist/utils/runtimeIdentity.context.js.map +1 -0
- package/dist/utils/runtimeIdentity.d.ts +98 -0
- package/dist/utils/runtimeIdentity.d.ts.map +1 -0
- package/dist/utils/runtimeIdentity.js +181 -0
- package/dist/utils/runtimeIdentity.js.map +1 -0
- package/dist/utils/sanitize.d.ts +1 -0
- package/dist/utils/sanitize.d.ts.map +1 -0
- package/dist/utils/streamContext.d.ts +2 -1
- package/dist/utils/streamContext.d.ts.map +1 -0
- package/dist/utils/streamContext.js +1 -1
- package/dist/utils/timing.d.ts +2 -1
- package/dist/utils/timing.d.ts.map +1 -0
- package/dist/utils/timing.js +0 -5
- package/dist/utils/timing.js.map +1 -1
- package/dist/utils/version.d.ts +1 -0
- package/dist/utils/version.d.ts.map +1 -0
- package/dist/utils/version.js +47 -13
- package/dist/utils/version.js.map +1 -1
- package/package.json +26 -20
|
@@ -1,19 +1,18 @@
|
|
|
1
1
|
import { LOG, evaluateWithAbort, formatError } from "../../utils/index.js";
|
|
2
|
+
import { attemptGuideRecovery, createEmptyDiscoveryGuard, logAvailableChannels } from "./shared.js";
|
|
3
|
+
import { createProviderChannelCache, dedupeCacheEntries } from "./cache.js";
|
|
2
4
|
import { CONFIG } from "../../config/index.js";
|
|
3
|
-
import { logAvailableChannels } from "./shared.js";
|
|
4
5
|
// Base URL for Spectrum TV watch page navigation.
|
|
5
6
|
const SPECTRUM_BASE_URL = "https://watch.spectrum.net";
|
|
6
7
|
// Unified channel cache for Spectrum TV. Maps lowercased lookup keys (callsigns like "espnhd", stripped display names like "espn", and network names like "nbc")
|
|
7
8
|
// to their combined discovery and tuning data. Multiple keys may reference the same entry. Populated during the first tune (when the strategy enumerates all
|
|
8
9
|
// streamable channels from the non-virtualized guide grid) or the first discovery call. Both tuning (via findSpectrumChannel) and discovery (via
|
|
9
10
|
// getCachedChannels / discoverSpectrumChannels) read from this single cache. Cleared on browser disconnect via clearSpectrumCache().
|
|
10
|
-
const
|
|
11
|
-
//
|
|
12
|
-
//
|
|
13
|
-
//
|
|
14
|
-
|
|
15
|
-
// Number of consecutive empty discoveries before attempting site data recovery via CDP.
|
|
16
|
-
const EMPTY_DISCOVERY_RECOVERY_THRESHOLD = 3;
|
|
11
|
+
const spectrumCache = createProviderChannelCache((entry) => entry.discovered);
|
|
12
|
+
// Recovery guard for the degraded guide state where the grid container renders but channel entries are not populated, which stale AngularJS template or API
|
|
13
|
+
// response caches produce. The guard counts the empty loads and signals when clearing Spectrum site data (cache storage) via CDP is warranted. Reset on any
|
|
14
|
+
// successful discovery (> 0 channels found) and on browser restart (via clearSpectrumCache).
|
|
15
|
+
const emptyDiscoveryGuard = createEmptyDiscoveryGuard("Spectrum TV");
|
|
17
16
|
// Regex pattern for detecting local affiliates and subchannels. Matches "{Name} ({CallSign})" with optional trailing " HD"/" DT" suffix and optional
|
|
18
17
|
// "East"/"West" direction.
|
|
19
18
|
const PARENTHETICAL_PATTERN = /^(.+?) \(([^)]+)\)(?: (?:HD|DT)(?: (?:East|West))?)?$/;
|
|
@@ -66,8 +65,8 @@ async function discoverGuideChannels(page) {
|
|
|
66
65
|
if (!tmsid) {
|
|
67
66
|
continue;
|
|
68
67
|
}
|
|
69
|
-
// Deduplicate by tmsid - first occurrence
|
|
70
|
-
// with primary entries but have no program listing data.
|
|
68
|
+
// Deduplicate by tmsid - first occurrence in DOM order wins. The guide renders rows in ascending channel-number order, so this keeps the primary
|
|
69
|
+
// (lowest-numbered) entry and eliminates legacy mirror ranges (1000+/1200+) that share the same tmsid with primary entries but have no program listing data.
|
|
71
70
|
if (seenTmsids.has(tmsid)) {
|
|
72
71
|
continue;
|
|
73
72
|
}
|
|
@@ -84,51 +83,6 @@ async function discoverGuideChannels(page) {
|
|
|
84
83
|
return results;
|
|
85
84
|
}, []);
|
|
86
85
|
}
|
|
87
|
-
/**
|
|
88
|
-
* Attempts to recover from a degraded Spectrum guide state by clearing cached site data via CDP and reloading the guide page. This targets a failure mode where
|
|
89
|
-
* the guide grid container renders but channel entries are not populated, which can be caused by stale AngularJS template or API response caches. Cookies and
|
|
90
|
-
* login session state are preserved - only caching layers are cleared.
|
|
91
|
-
* @param page - The Puppeteer page object.
|
|
92
|
-
* @returns Discovered channels after recovery, or an empty array if recovery failed.
|
|
93
|
-
*/
|
|
94
|
-
async function attemptGuideRecovery(page) {
|
|
95
|
-
LOG.warn("Clearing Spectrum TV cached site data to recover from empty guide.");
|
|
96
|
-
// Clear cache storage for the Spectrum origin. Cookies and login session state are deliberately preserved to avoid forcing re-authentication.
|
|
97
|
-
try {
|
|
98
|
-
const client = await page.createCDPSession();
|
|
99
|
-
await client.send("Storage.clearDataForOrigin", { origin: SPECTRUM_BASE_URL, storageTypes: "cache_storage" });
|
|
100
|
-
await client.detach();
|
|
101
|
-
}
|
|
102
|
-
catch (error) {
|
|
103
|
-
LOG.warn("Failed to clear Spectrum TV site data: %s.", formatError(error));
|
|
104
|
-
return [];
|
|
105
|
-
}
|
|
106
|
-
// Reload the guide page with fresh state.
|
|
107
|
-
try {
|
|
108
|
-
await page.goto(SPECTRUM_BASE_URL + "/guide", { timeout: CONFIG.streaming.navigationTimeout, waitUntil: "load" });
|
|
109
|
-
}
|
|
110
|
-
catch (error) {
|
|
111
|
-
LOG.warn("Failed to reload Spectrum TV guide after clearing site data: %s.", formatError(error));
|
|
112
|
-
return [];
|
|
113
|
-
}
|
|
114
|
-
// Wait for the guide grid to render after reload.
|
|
115
|
-
try {
|
|
116
|
-
await page.waitForSelector("li.channel-header-row", { timeout: CONFIG.streaming.videoTimeout });
|
|
117
|
-
}
|
|
118
|
-
catch {
|
|
119
|
-
LOG.warn("Spectrum TV guide grid did not load after clearing site data.");
|
|
120
|
-
return [];
|
|
121
|
-
}
|
|
122
|
-
// Re-attempt channel discovery on the reloaded page.
|
|
123
|
-
const channels = await discoverGuideChannels(page);
|
|
124
|
-
if (channels.length > 0) {
|
|
125
|
-
LOG.info("Spectrum TV guide recovery succeeded - discovered %s channels after clearing site data.", channels.length);
|
|
126
|
-
}
|
|
127
|
-
else {
|
|
128
|
-
LOG.warn("Spectrum TV guide still empty after clearing site data.");
|
|
129
|
-
}
|
|
130
|
-
return channels;
|
|
131
|
-
}
|
|
132
86
|
/**
|
|
133
87
|
* Populates the unified channel cache from raw guide channel data. For each channel, builds a DiscoveredChannel with affiliate detection and pairs it with the
|
|
134
88
|
* tmsid for watch URL construction. Creates multiple cache keys per channel: (a) lowercased callsign, (b) lowercased display name stripped of " HD"/" DT"
|
|
@@ -138,7 +92,7 @@ async function attemptGuideRecovery(page) {
|
|
|
138
92
|
* @param rawChannels - Array of raw channel data from discoverGuideChannels().
|
|
139
93
|
*/
|
|
140
94
|
function populateSpectrumChannelCache(rawChannels) {
|
|
141
|
-
|
|
95
|
+
spectrumCache.clear();
|
|
142
96
|
// First pass: build all entries and store under callsign key. Track network name keys separately to avoid overwriting cable channels in the second pass.
|
|
143
97
|
const entries = [];
|
|
144
98
|
for (const ch of rawChannels) {
|
|
@@ -172,21 +126,51 @@ function populateSpectrumChannelCache(rawChannels) {
|
|
|
172
126
|
};
|
|
173
127
|
const spectrumEntry = { discovered, tmsid: ch.tmsid };
|
|
174
128
|
// Store under lowercased callsign (primary key).
|
|
175
|
-
|
|
129
|
+
spectrumCache.map.set(ch.callsign.toLowerCase(), spectrumEntry);
|
|
176
130
|
entries.push({ entry: spectrumEntry, networkKey, strippedKey: stripped.toLowerCase() });
|
|
177
131
|
}
|
|
178
132
|
// Second pass: add stripped display name keys and network name keys. Cable channel names take precedence over affiliate network names when keys collide (e.g.,
|
|
179
133
|
// a cable channel named "Fox" would keep its key over a "FOX (WTVT)" affiliate entry).
|
|
180
134
|
for (const { entry, networkKey, strippedKey } of entries) {
|
|
181
135
|
// Add stripped display name key if not already taken. First-write wins - if two channels strip to the same name, the first (lower channel number) keeps it.
|
|
182
|
-
if (!
|
|
183
|
-
|
|
136
|
+
if (!spectrumCache.map.has(strippedKey)) {
|
|
137
|
+
spectrumCache.map.set(strippedKey, entry);
|
|
184
138
|
}
|
|
185
139
|
// Add network name key for affiliates if not already taken by a cable channel or another affiliate.
|
|
186
|
-
if (networkKey && !
|
|
187
|
-
|
|
140
|
+
if (networkKey && !spectrumCache.map.has(networkKey)) {
|
|
141
|
+
spectrumCache.map.set(networkKey, entry);
|
|
188
142
|
}
|
|
189
143
|
}
|
|
144
|
+
// The guide pass this was built from covered every streamable row, so what sits in the cache at this point is the complete lineup and warm reads can be
|
|
145
|
+
// served from it.
|
|
146
|
+
spectrumCache.markComplete();
|
|
147
|
+
}
|
|
148
|
+
/**
|
|
149
|
+
* Builds the Spectrum watch address for a channel's Gracenote station ID. This is the one place the /livetv?tmsid= form is written: the strategy's direct
|
|
150
|
+
* navigation, the cached-URL resolver, and the durable-lineup export all read it here, so a change to Spectrum's watch-page shape is a one-line edit rather than
|
|
151
|
+
* a hunt for every place the string was assembled.
|
|
152
|
+
* @param tmsid - The channel's Gracenote station ID.
|
|
153
|
+
* @returns The full Spectrum watch URL.
|
|
154
|
+
*/
|
|
155
|
+
function spectrumWatchUrl(tmsid) {
|
|
156
|
+
return SPECTRUM_BASE_URL + "/livetv?tmsid=" + tmsid;
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* Returns Spectrum TV's durable lineup for the persisted lineup store: each cached channel's identity paired with the watch URL built from its Gracenote station
|
|
160
|
+
* ID. The station ID is a stable channel identifier rather than session state, so the address it builds survives a restart and lets a boot whose guide read failed
|
|
161
|
+
* still tune directly. The tiered matching below files one entry object under several alias keys, so the entries are reduced to one occurrence per object before
|
|
162
|
+
* projection.
|
|
163
|
+
* @returns The durable lineup rows, or null when the cache is cold.
|
|
164
|
+
*/
|
|
165
|
+
function exportSpectrumLineup() {
|
|
166
|
+
if (spectrumCache.map.size === 0) {
|
|
167
|
+
return null;
|
|
168
|
+
}
|
|
169
|
+
return dedupeCacheEntries(spectrumCache.map.values()).map((entry) => ({
|
|
170
|
+
channelSelector: entry.discovered.channelSelector,
|
|
171
|
+
name: entry.discovered.name,
|
|
172
|
+
watchUrl: spectrumWatchUrl(entry.tmsid)
|
|
173
|
+
}));
|
|
190
174
|
}
|
|
191
175
|
/**
|
|
192
176
|
* Looks up a channel in the unified cache using tiered matching logic:
|
|
@@ -196,79 +180,53 @@ function populateSpectrumChannelCache(rawChannels) {
|
|
|
196
180
|
* 3. Display name iteration: iterate all cache entries, check if discovered.name (lowercased) equals input. Catches long display names like "Discovery Channel"
|
|
197
181
|
* when only the callsign-derived key was cached.
|
|
198
182
|
*
|
|
199
|
-
* When a non-exact match succeeds, the result is cached under the input key for O(1) lookup on subsequent calls. This function
|
|
200
|
-
* hook - after the first tune populates the cache
|
|
183
|
+
* When a non-exact match succeeds, the result is cached under the input key for O(1) lookup on subsequent calls. This function is the cache-lookup core behind
|
|
184
|
+
* the resolveDirectUrl hook (resolveSpectrumDirectUrl) - after the first tune populates the cache, every subsequent Spectrum tune resolves through here without
|
|
185
|
+
* loading the guide page.
|
|
201
186
|
* @param channelName - The channelSelector value (e.g., "ESPN", "NBC", "Discovery Channel").
|
|
202
187
|
* @returns The matching cache entry or null if no match is found.
|
|
203
188
|
*/
|
|
204
189
|
function findSpectrumChannel(channelName) {
|
|
205
190
|
const lower = channelName.toLowerCase();
|
|
206
191
|
// Tier 1: Exact match on any cache key (callsigns, stripped names, network names).
|
|
207
|
-
const exact =
|
|
192
|
+
const exact = spectrumCache.map.get(lower);
|
|
208
193
|
if (exact) {
|
|
209
194
|
return exact;
|
|
210
195
|
}
|
|
211
196
|
// Tier 2: HD/DT suffix tolerance. Try appending common technology suffixes.
|
|
212
|
-
const hdMatch =
|
|
197
|
+
const hdMatch = spectrumCache.map.get(lower + "hd");
|
|
213
198
|
if (hdMatch) {
|
|
214
|
-
|
|
199
|
+
spectrumCache.map.set(lower, hdMatch);
|
|
215
200
|
return hdMatch;
|
|
216
201
|
}
|
|
217
|
-
const dtMatch =
|
|
202
|
+
const dtMatch = spectrumCache.map.get(lower + "dt");
|
|
218
203
|
if (dtMatch) {
|
|
219
|
-
|
|
204
|
+
spectrumCache.map.set(lower, dtMatch);
|
|
220
205
|
return dtMatch;
|
|
221
206
|
}
|
|
222
207
|
// Tier 3: Display name iteration. Check if any entry's discovered.name matches the input. This catches channels with long display names (e.g.,
|
|
223
208
|
// "Discovery Channel") that may not have a matching cache key because the callsign was "DSCHD" and the stripped key "discovery channel" was already checked
|
|
224
209
|
// in tier 1. This tier is the fallback for any names not covered by the first two tiers.
|
|
225
210
|
const seen = new Set();
|
|
226
|
-
for (const entry of
|
|
211
|
+
for (const entry of spectrumCache.map.values()) {
|
|
227
212
|
if (seen.has(entry)) {
|
|
228
213
|
continue;
|
|
229
214
|
}
|
|
230
215
|
seen.add(entry);
|
|
231
216
|
if (entry.discovered.name.toLowerCase() === lower) {
|
|
232
|
-
|
|
217
|
+
spectrumCache.map.set(lower, entry);
|
|
233
218
|
return entry;
|
|
234
219
|
}
|
|
235
220
|
}
|
|
236
221
|
return null;
|
|
237
222
|
}
|
|
238
|
-
/**
|
|
239
|
-
* Invalidates the cached Spectrum channel entry for the given channel selector. Called when a cached URL fails to produce a working stream. Deletes the
|
|
240
|
-
* channelSelector key - the original keys from channel discovery are left intact and will be refreshed on the next strategy run when the guide page is reloaded.
|
|
241
|
-
* @param channelSelector - The channel selector string to invalidate.
|
|
242
|
-
*/
|
|
243
|
-
function invalidateSpectrumDirectUrl(channelSelector) {
|
|
244
|
-
spectrumChannelCache.delete(channelSelector.toLowerCase());
|
|
245
|
-
}
|
|
246
223
|
/**
|
|
247
224
|
* Clears the Spectrum channel cache. Called by clearChannelSelectionCaches() in the coordinator when the browser restarts, since a fresh browser session
|
|
248
225
|
* may have different channel availability.
|
|
249
226
|
*/
|
|
250
227
|
function clearSpectrumCache() {
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
}
|
|
254
|
-
/**
|
|
255
|
-
* Derives a DiscoveredChannel array from the unified channel cache, deduplicating alias entries via Set reference equality. Multiple cache keys may point to
|
|
256
|
-
* the same SpectrumChannelEntry (callsign key, stripped name key, network name key, and any alias keys created by findSpectrumChannel). Without deduplication,
|
|
257
|
-
* iterating cache values would produce duplicate entries. Sorts by name before returning.
|
|
258
|
-
* @returns Sorted, deduplicated array of discovered channels.
|
|
259
|
-
*/
|
|
260
|
-
function buildSpectrumDiscoveredChannels() {
|
|
261
|
-
const channels = [];
|
|
262
|
-
const seen = new Set();
|
|
263
|
-
for (const entry of spectrumChannelCache.values()) {
|
|
264
|
-
if (seen.has(entry)) {
|
|
265
|
-
continue;
|
|
266
|
-
}
|
|
267
|
-
seen.add(entry);
|
|
268
|
-
channels.push(entry.discovered);
|
|
269
|
-
}
|
|
270
|
-
channels.sort((a, b) => a.name.localeCompare(b.name));
|
|
271
|
-
return channels;
|
|
228
|
+
spectrumCache.clear();
|
|
229
|
+
emptyDiscoveryGuard.reset();
|
|
272
230
|
}
|
|
273
231
|
/**
|
|
274
232
|
* Spectrum TV grid strategy: discovers all streamable channels from the non-virtualized guide at watch.spectrum.net/guide in a single evaluate pass, populating
|
|
@@ -295,7 +253,7 @@ async function spectrumGridStrategy(page, profile) {
|
|
|
295
253
|
await page.waitForSelector("li.channel-header-row", { timeout: CONFIG.streaming.videoTimeout });
|
|
296
254
|
}
|
|
297
255
|
catch {
|
|
298
|
-
return { reason: "Spectrum guide grid did not load.", success: false };
|
|
256
|
+
return { guideUnavailable: true, reason: "Spectrum guide grid did not load.", success: false };
|
|
299
257
|
}
|
|
300
258
|
// Discover all channels from the guide grid.
|
|
301
259
|
let allChannels = await discoverGuideChannels(page);
|
|
@@ -303,10 +261,15 @@ async function spectrumGridStrategy(page, profile) {
|
|
|
303
261
|
// This can happen when stale AngularJS template or API response caches become inconsistent. Track consecutive occurrences and attempt recovery by clearing
|
|
304
262
|
// cached site data once the threshold is reached.
|
|
305
263
|
if (allChannels.length === 0) {
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
264
|
+
if (emptyDiscoveryGuard.recordEmpty()) {
|
|
265
|
+
allChannels = await attemptGuideRecovery(page, {
|
|
266
|
+
discover: discoverGuideChannels,
|
|
267
|
+
origin: SPECTRUM_BASE_URL,
|
|
268
|
+
providerName: "Spectrum TV",
|
|
269
|
+
reloadUrl: SPECTRUM_BASE_URL + "/guide",
|
|
270
|
+
storageTypes: "cache_storage",
|
|
271
|
+
waitSelector: "li.channel-header-row"
|
|
272
|
+
});
|
|
310
273
|
}
|
|
311
274
|
}
|
|
312
275
|
// If we still have no channels after the initial discovery and any recovery attempt, there is nothing to search or cache.
|
|
@@ -315,7 +278,7 @@ async function spectrumGridStrategy(page, profile) {
|
|
|
315
278
|
}
|
|
316
279
|
// Successful discovery - reset the consecutive empty counter and repopulate the unified channel cache. Always repopulate rather than skipping when the cache
|
|
317
280
|
// has entries, because invalidated entries need to be restored with fresh data from the guide.
|
|
318
|
-
|
|
281
|
+
emptyDiscoveryGuard.reset();
|
|
319
282
|
populateSpectrumChannelCache(allChannels);
|
|
320
283
|
LOG.debug("tuning:spectrum", "Discovered %s Spectrum channels.", allChannels.length);
|
|
321
284
|
// Look up the target channel using tiered matching against the populated cache.
|
|
@@ -323,7 +286,7 @@ async function spectrumGridStrategy(page, profile) {
|
|
|
323
286
|
if (!entry) {
|
|
324
287
|
// Channel not found. Log available channels as a diagnostic to help users identify their market's channel names.
|
|
325
288
|
logAvailableChannels({
|
|
326
|
-
availableChannels:
|
|
289
|
+
availableChannels: spectrumCache.discovered().map((ch) => ch.name).sort(),
|
|
327
290
|
channelName,
|
|
328
291
|
guideUrl: "https://watch.spectrum.net/guide",
|
|
329
292
|
presetSuffix: "-spectrum",
|
|
@@ -333,7 +296,7 @@ async function spectrumGridStrategy(page, profile) {
|
|
|
333
296
|
}
|
|
334
297
|
LOG.debug("tuning:spectrum", "Navigating to Spectrum watch URL for %s (tmsid: %s).", channelName, entry.tmsid);
|
|
335
298
|
try {
|
|
336
|
-
await page.goto(
|
|
299
|
+
await page.goto(spectrumWatchUrl(entry.tmsid), { timeout: CONFIG.streaming.navigationTimeout, waitUntil: "load" });
|
|
337
300
|
}
|
|
338
301
|
catch (error) {
|
|
339
302
|
return { reason: "Failed to navigate to Spectrum watch page: " + formatError(error) + ".", success: false };
|
|
@@ -347,13 +310,12 @@ async function spectrumGridStrategy(page, profile) {
|
|
|
347
310
|
* @param _page - Unused. Present to satisfy the async resolveDirectUrl signature.
|
|
348
311
|
* @returns The cached watch URL or null.
|
|
349
312
|
*/
|
|
350
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars, @typescript-eslint/require-await
|
|
351
313
|
async function resolveSpectrumDirectUrl(channelSelector, _page) {
|
|
352
314
|
const entry = findSpectrumChannel(channelSelector);
|
|
353
315
|
if (!entry) {
|
|
354
316
|
return null;
|
|
355
317
|
}
|
|
356
|
-
return
|
|
318
|
+
return spectrumWatchUrl(entry.tmsid);
|
|
357
319
|
}
|
|
358
320
|
/**
|
|
359
321
|
* Discovers all channels from the Spectrum TV guide. Returns cached results if the unified channel cache is populated from a prior tune or discovery call.
|
|
@@ -363,9 +325,10 @@ async function resolveSpectrumDirectUrl(channelSelector, _page) {
|
|
|
363
325
|
* @returns Array of discovered channels with affiliate tagging and Gracenote station IDs.
|
|
364
326
|
*/
|
|
365
327
|
async function discoverSpectrumChannels(page) {
|
|
366
|
-
// Return from the unified cache if already
|
|
367
|
-
|
|
368
|
-
|
|
328
|
+
// Return from the unified cache if a prior tune or discovery call already enumerated the lineup.
|
|
329
|
+
const cached = spectrumCache.cached();
|
|
330
|
+
if (cached) {
|
|
331
|
+
return cached;
|
|
369
332
|
}
|
|
370
333
|
// Wait for at least one channel header row to confirm the guide grid has rendered.
|
|
371
334
|
try {
|
|
@@ -380,21 +343,12 @@ async function discoverSpectrumChannels(page) {
|
|
|
380
343
|
return [];
|
|
381
344
|
}
|
|
382
345
|
populateSpectrumChannelCache(allChannels);
|
|
383
|
-
return
|
|
384
|
-
}
|
|
385
|
-
/**
|
|
386
|
-
* Returns cached discovered channels from the unified channel cache, or null if the cache is empty (no prior tune or discovery call has enumerated the lineup).
|
|
387
|
-
* @returns Sorted array of discovered channels or null.
|
|
388
|
-
*/
|
|
389
|
-
function getSpectrumCachedChannels() {
|
|
390
|
-
if (spectrumChannelCache.size === 0) {
|
|
391
|
-
return null;
|
|
392
|
-
}
|
|
393
|
-
return buildSpectrumDiscoveredChannels();
|
|
346
|
+
return spectrumCache.discovered();
|
|
394
347
|
}
|
|
395
348
|
export const spectrumProvider = {
|
|
396
349
|
discoverChannels: discoverSpectrumChannels,
|
|
397
|
-
|
|
350
|
+
exportDurableLineup: exportSpectrumLineup,
|
|
351
|
+
getCachedChannels: spectrumCache.cached,
|
|
398
352
|
guideUrl: "https://watch.spectrum.net/guide",
|
|
399
353
|
label: "Spectrum TV",
|
|
400
354
|
// Profile for Spectrum TV (watch.spectrum.net) live guide grid. The guide page at /guide presents all ~442 streamable channels in a non-virtualized AngularJS
|
|
@@ -413,7 +367,8 @@ export const spectrumProvider = {
|
|
|
413
367
|
strategy: {
|
|
414
368
|
clearCache: clearSpectrumCache,
|
|
415
369
|
execute: spectrumGridStrategy,
|
|
416
|
-
|
|
370
|
+
// Only the failing selector's own key is dropped. The keys channel discovery wrote stay put, and the next strategy run reloads the guide and rebuilds them.
|
|
371
|
+
invalidateDirectUrl: spectrumCache.invalidate,
|
|
417
372
|
resolveDirectUrl: resolveSpectrumDirectUrl
|
|
418
373
|
},
|
|
419
374
|
strategyName: "spectrumGrid"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spectrum.js","sourceRoot":"","sources":["../../../src/browser/tuning/spectrum.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"spectrum.js","sourceRoot":"","sources":["../../../src/browser/tuning/spectrum.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"thumbnailRow.d.ts","sourceRoot":"","sources":["../../../src/browser/tuning/thumbnailRow.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAkD,oBAAoB,EAAyB,MAAM,sBAAsB,CAAC;AAgKxI,eAAO,MAAM,oBAAoB,EAAE,oBAA0D,CAAC"}
|
|
@@ -11,7 +11,8 @@ import { evaluateWithAbort } from "../../utils/index.js";
|
|
|
11
11
|
* 3. Walk up the DOM to find a container wide enough to hold both the channel element and guide entries
|
|
12
12
|
* 4. Search for clickable elements (links, buttons, cards) to the right of the channel element on the same row
|
|
13
13
|
* 5. Fall back to divs with cursor:pointer if no semantic clickables found
|
|
14
|
-
* 6.
|
|
14
|
+
* 6. As an ultimate fallback, when no container yields a semantic or cursor:pointer target, blind-click a fixed offset to the right of the channel element
|
|
15
|
+
* 7. Click the found element to switch to the channel
|
|
15
16
|
* @param page - The Puppeteer page object.
|
|
16
17
|
* @param profile - The resolved site profile with a non-null channelSelector.
|
|
17
18
|
* @returns Result object with success status and optional failure reason.
|
|
@@ -25,7 +26,8 @@ async function thumbnailRowStrategyFn(page, profile) {
|
|
|
25
26
|
for (const el of Array.from(elements)) {
|
|
26
27
|
const htmlEl = el;
|
|
27
28
|
const elRect = htmlEl.getBoundingClientRect();
|
|
28
|
-
// Verify the element has dimensions (is
|
|
29
|
+
// Verify the element has layout dimensions (is laid out rather than collapsed). Non-zero dimensions confirm layout but not full visibility, since
|
|
30
|
+
// visibility:hidden, opacity:0, or an overlaying element still report non-zero size; this is a reasonable laid-out heuristic for the row.
|
|
29
31
|
if ((elRect.width > 0) && (elRect.height > 0)) {
|
|
30
32
|
// Found the channel element. Now walk up the DOM tree to find a container that holds both the element and the guide entries for this row.
|
|
31
33
|
let rowContainer = htmlEl.parentElement;
|
|
@@ -62,6 +64,8 @@ async function thumbnailRowStrategyFn(page, profile) {
|
|
|
62
64
|
const divCenterY = divRect.y + (divRect.height / 2);
|
|
63
65
|
const style = window.getComputedStyle(div);
|
|
64
66
|
const isRightOfElement = divRect.x > (elRect.x + elRect.width - 10);
|
|
67
|
+
// The 20px floor filters out tiny decorative or spacer divs that carry cursor:pointer but are not real click targets. This is stricter than the
|
|
68
|
+
// semantic-clickable path above, which trusts the element's role and only requires non-zero dimensions.
|
|
65
69
|
const hasDimensions = (divRect.width > 20) && (divRect.height > 20);
|
|
66
70
|
const isClickable = style.cursor === "pointer";
|
|
67
71
|
const isSameRow = Math.abs(divCenterY - elCenterY) < elRect.height;
|
|
@@ -78,6 +82,8 @@ async function thumbnailRowStrategyFn(page, profile) {
|
|
|
78
82
|
// expectations.
|
|
79
83
|
htmlEl.scrollIntoView({ behavior: "instant", block: "center", inline: "center" });
|
|
80
84
|
const newElRect = htmlEl.getBoundingClientRect();
|
|
85
|
+
// The 50px offset lands just past the channel element's right edge, inside the first guide entry for typical row layouts, without overshooting far
|
|
86
|
+
// enough to risk landing in a second column or the row gutter.
|
|
81
87
|
return { x: newElRect.x + newElRect.width + 50, y: newElRect.y + (newElRect.height / 2) };
|
|
82
88
|
}
|
|
83
89
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"thumbnailRow.js","sourceRoot":"","sources":["../../../src/browser/tuning/thumbnailRow.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AACnE,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAE/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEzD
|
|
1
|
+
{"version":3,"file":"thumbnailRow.js","sourceRoot":"","sources":["../../../src/browser/tuning/thumbnailRow.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tileClick.d.ts","sourceRoot":"","sources":["../../../src/browser/tuning/tileClick.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAkD,oBAAoB,EAAyB,MAAM,sBAAsB,CAAC;AAqMxI,eAAO,MAAM,iBAAiB,EAAE,oBAAuD,CAAC"}
|
|
@@ -104,8 +104,9 @@ async function tileClickStrategyFn(page, profile) {
|
|
|
104
104
|
return null;
|
|
105
105
|
}, [playButtonSelector]);
|
|
106
106
|
if (!playTarget) {
|
|
107
|
-
// Play button
|
|
108
|
-
// against a slow modal
|
|
107
|
+
// Play button no longer resolves to a clickable target between attempts - either it was removed (the previous click likely worked and the SPA
|
|
108
|
+
// transitioned), or it is still present but reports no rendered size, which can happen when the verification timeout races against a slow modal
|
|
109
|
+
// dismissal animation.
|
|
109
110
|
if (attempt > 0) {
|
|
110
111
|
LOG.debug("tuning:tileClick", "Play button disappeared before attempt %s. Previous click likely succeeded.", attempt + 1);
|
|
111
112
|
return { success: true };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tileClick.js","sourceRoot":"","sources":["../../../src/browser/tuning/tileClick.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"tileClick.js","sourceRoot":"","sources":["../../../src/browser/tuning/tileClick.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"xfinity.d.ts","sourceRoot":"","sources":["../../../src/browser/tuning/xfinity.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAG3D,eAAO,MAAM,eAAe,EAAE,cAY5B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"youtubeTv.d.ts","sourceRoot":"","sources":["../../../src/browser/tuning/youtubeTv.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAA+E,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAsZxI,eAAO,MAAM,YAAY,EAAE,cAoC1B,CAAC"}
|