1"use strict";(self["webpackChunkshortform"]=self["webpackChunkshortform"]||[]).push([[286],{3286:function(t,e,a){a.d(e,{q2:function(){return Z},v7:function(){return tt}});var i=a(953),s=a(585),o=a(8848),r=a(3671),n=a(1102),d=a(8713),h=a(5682);async function u(t,e,a){if(t.user.position_chapter===e.url_slug&&0===Math.round(t.user.position_percent-a))return;t.user.position_chapter=e.url_slug,t.user.position_percent=a,await(0,h.o4)(t.id,t.user),await(0,h._h)(t);const i=await n.H.saveReadingPosition(e,a);t.user.accessed=i.accessed,t.user.list=i.list,await(0,h.o4)(t.id,t.user)}async function l(t,e){if((0,r._S)()&&!t.is_free)return!1;const a=await n.H.saveProgress(e),i=t.user.progress<100&&100===a.progress;if(t.user.progress=a.progress,s.c4(t),100===t.user.progress&&(i&&s.b_(t),s.bm("Completed",t.title,t.doc_type)),"chapter"===e.content_type){const a=new Date;e.completed=a.toISOString(),0===e.order&&"article"!==t.doc_type&&s.bm("Summary Completed",t.title,t.doc_type)}return i}a(4423),a(4114),a(6573),a(8100),a(7936),a(8111),a(2489),a(1701),a(3110),a(7642),a(8004),a(3853),a(5876),a(2475),a(5024),a(1698),a(5440),a(1489),a(8140),a(5044),a(1903),a(1134),a(8845),a(373),a(7467),a(4732),a(9577),a(1549),a(9797),a(9631),a(5623),a(2953),a(4979);var c=a(6652),p=(a(8472),a(1878)),_=a(2404),m=a(4141);const g="LIBRARY";async function y(t){if(!t.audio||!await w())return!1;try{const e=await window.caches.open(h.SE),a=await e.match(t.audio.url);if(a)return"true"===a.headers.get("X-Download");const i=await c.YA.readFile({path:k(t),directory:g});(0,d.v)("string"===typeof i.data);const s=await v(i.data,"binary/octet-stream"),o=new Response(s,{status:200,headers:{"Accept-Ranges":"bytes","X-Download":"true"}});return await e.put(t.audio.url,o),!0}catch(e){return S(e)||o.sQ.captureException(e),!1}}function v(t,e){const a=512,i=atob(t),s=[];for(let o=0;o<i.length;o+=a){const t=i.slice(o,o+a),e=new Array(t.length);for(let a=0;a<t.length;a++)e[a]=t.charCodeAt(a);const r=new Uint8Array(e);s.push(r)}return new Blob(s,{type:e})}function k(t){return`audio/${t.id}`}async function w(){return!!await p.i.isNativeApp()&&(_.Ii.isPluginAvailable("BlobWriter")&&_.Ii.isPluginAvailable("Filesystem"))}async function b(t){if(!t.audio||!await w())return!1;try{return await c.YA.stat({path:k(t),directory:g}),!0}catch(e){return S(e)||o.sQ.captureException(e),!1}}function S(t){var e;return"OS-PLUG-FILE-0008"===(null===t||void 0===t?void 0:t.code)||"File does not exist"===(null===t||void 0===t?void 0:t.message)||"Directory does not exist"===(null===t||void 0===t?void 0:t.message)||(null===t||void 0===t||null===(e=t.message)||void 0===e?void 0:e.includes("there is no such file"))}async function C(t){const e=await c.YA.getUri({directory:g,path:k(t)});return e.uri.replace("file://",window.location.origin+"/_capacitor_file_")}const P=800;class f{constructor(t,e){this._canplay=!1,this._isDragging=!1,this.audio=t,this._chapterChangeCallback=e,this.audio.addListener("timeupdate",()=>{this._timeUpdateHandler()}),this.audio.addListener("canplay",()=>{this._canplayHandler()})}setChapterChangeCallback(t){this._chapterChangeCallback=t}dragStart(){this._isDragging=!0}dragEnd(){this._isDragging=!1,this._timeUpdateHandler()}hasNext(){return this.audio.chapters.hasNext()}hasPrev(){return this.audio.chapters.hasPrev()}next(){this.audio.chapters.hasNext()&&this.go(this.audio.chapters.next().idx)}prev(){this.audio.chapters.hasPrev()&&this.go(this.audio.chapters.prev().idx)}go(t){const e=this.audio.chapters.current().idx;if(t===e)return;const a=this.audio.chapters.go(t);this._canplay&&(this._lastChapterNavigationDate=Date.now(),this.audio.currentTime=a.start,this._restoreAudioPosition(a),this._chapterChangeCallback(t))}_restoreAudioPosition(t){const e=this.audio.doc.user.audio_position,a=t.start,i=t.end;e>a&&e<i&&(this.audio.currentTime=e)}_canplayHandler(){this._canplay||(this._canplay=!0,this._restoreAudioPosition(this.audio.chapters.current()),this.audio.currentTime||(this.audio.currentTime=this.audio.chapters.current().start))}_timeUpdateHandler(){if(!this._canplay)return;if(this._isDragging)return;if(this._isUpdateFromNavigation())return;const t=this.audio.chapters.update(this.audio.currentTime);t&&this._chapterChangeCallback(t.idx)}_isUpdateFromNavigation(){if(!this._lastChapterNavigationDate)return!1;const t=Date.now()-this._lastChapterNavigationDate;return t<P}}a(8335);var R=a(2627),x=a(4813),I=a(6499),M=a(5129);class T{constructor(){this._completion=null,this._shouldDisplay=!1,this._loadedUserId=null}get current(){return this._shouldDisplay?this._completion:null}loadCompletionForCurrentUser(){const t=r.F6();if(t===this._loadedUserId)return;if(this._loadedUserId=t,this._completion=null,this._shouldDisplay=!1,!t)return;const e=x.I.getItem(I.c.guideCompletionPending19383);if(!e)return;const a=JSON.parse(e);a.userId===t?this._completion=a:x.I.removeItem(I.c.guideCompletionPending19383)}isViewingCompletedGuide(t,e){return String(t.name).startsWith("book.")&&t.params.url_slug===e.docUrlSlug}showCompletionIfReady(t){const e=this._completion;e&&!this._shouldDisplay&&("passive"===e.completionPath&&this.isViewingCompletedGuide(t,e)||(this._shouldDisplay=!0))}recordCompletion(t,e){this.loadCompletionForCurrentUser(),t.userId===this._loadedUserId&&(this._completion=t,this._shouldDisplay=!1,x.I.setItem(I.c.guideCompletionPending19383,JSON.stringify(t)),this.showCompletionIfReady(e))}async registerCompletion(t,e){const a=r.F6(),i=await(0,M.QY)();return i&&s.tc(t.id,e,i),"B"===i&&a&&this.recordCompletion({userId:a,docId:t.id,docUrlSlug:t.url_slug,completionPath:e},(0,R.QB)().currentRoute.value),i}onNavigation(t){this.loadCompletionForCurrentUser(),this.showCompletionIfReady(t)}markShown(){x.I.removeItem(I.c.guideCompletionPending19383)}dismiss(){this._completion=null,this._shouldDisplay=!1,x.I.removeItem(I.c.guideCompletionPending19383)}initialize(t){t.beforeResolve(t=>{this.onNavigation(t)}),t.isReady().then(()=>{this.onNavigation(t.currentRoute.value)})}}const D=(0,i.Kh)(new T);class L{constructor(t,e){this._position=0,this._duration=0,this._progress=0,this._timeOfLastProgressUpdate=new Date(0),this._haveSeenRealProgressUpdates=!1,this._updateCallback=null,this._hasMetadata=!1,this._audio=t,this._onReadingProgress=e}initEventListeners(){const t=()=>{this._timeUpdateHandler()};this._audio.addListener("timeupdate",t),this._audio.addListener("loadedmetadata",()=>{this._hasMetadata=!0,this._timeUpdateHandler()}),this._audio.addListener("ratechange",t)}_timeUpdateHandler(){this._updateProgress()}get position(){return this._hasMetadata?this._formatTime(this._position):"0:00"}get positionInPercent(){return Math.round(100/this.durationInSeconds*this._position)}get audioPositionPercent(){const t=this._position*this._audio.playbackRate+this._audio.chapters.current().start,e=this._audio.duration;return e?Math.round(100/e*t):0}get duration(){return this._hasMetadata?this._formatTime(this._duration):"0:00"}get durationInSeconds(){return this._duration}inputChange(t){const e=t*(this._duration/100)*this._audio.playbackRate;this._audio.currentTime=this._audio.chapters.current().start+e,this._updateProgress()}_updateProgress(){this._position=Math.max(0,this._calculatePosition()/this._audio.playbackRate),this._duration=this._calculateDuration()/this._audio.playbackRate,this._audio.duration&&(this._progress=this._position/this._duration*100);const t=this._getNewCompletedChapter();void 0!==t&&this._updateDocProgress(t),this._readingProgressCallback(),this._updateCallback&&this._updateCallback()}_readingProgressCallback(){if(!this._haveSeenRealProgressUpdates&&this._progress<1e-4)return;this._haveSeenRealProgressUpdates=!0;const t=new Date,e=new Date(t.getTime()-3e3),a=e>this._timeOfLastProgressUpdate;a&&(this._timeOfLastProgressUpdate=t,this._onReadingProgress(Math.round(this._progress)))}async _updateDocProgress(t){const e=this._audio.doc,a=e.content[t];
1if("chapter"===a.content_type&&!a.completed&&this._completedChapterIdx!==t){this._completedChapterIdx=t;try{const t=await l(e,a);if(t&&"book"===e.doc_type){const t=await D.registerCompletion(e,"audio");"B"===t&&Z.value.pause()}}catch(i){o.sQ.captureException(i)}}}_getNewCompletedChapter(){const t=this._audio.chapters.current(),e=this._lastListenedChapter;if(this._lastListenedChapter=t,e&&t.idx===e.idx+1)return e.idx;const a=!this._audio.chapters.hasNext(),i=this._position>=this._duration;return a&&i?t.idx:void 0}_calculatePosition(){return this._audio.currentTime>this._audio.chapters.current().end&&(this._audio.currentTime=this._audio.chapters.current().end),0===this._audio.currentTime?0:this._audio.currentTime-this._audio.chapters.current().start}_calculateDuration(){let t=this._audio.chapters.current().end;return t===1/0&&(t=this._audio.duration),t-this._audio.chapters.current().start}_formatTime(t){const e=Math.floor(t/3600),a=t%3600,i=Math.floor(a/60),s=Math.floor(a%60),o=s>9?s.toString():"0"+s.toString();return e?`${e}:${i}:${o}`:`${i}:${o}`}}a(7588);const N=(0,_.F3)("CapacitorMediaSession",{web:()=>a.e(174).then(a.bind(a,6174)).then(t=>new t.CapacitorMediaSessionWeb)});async function E(t,e,a){return await p.i.isNativeAndroidApp()&&_.Ii.isPluginAvailable("CapacitorMediaSession")?F.initialize(t,e,a):"mediaSession"in navigator?new A(t,e,a):new U}class U{setPlaybackState(){return Promise.resolve()}setPositionState(){return Promise.resolve()}setMetadata(){return Promise.resolve()}releaseMediaSession(){return Promise.resolve()}}class A{constructor(t,e,a){navigator.mediaSession.playbackState=e,navigator.mediaSession.metadata=A.convertMetadata(t),this.setActionHandlers(a)}setPlaybackState(t,e){return navigator.mediaSession.playbackState=t,this.setPositionState(e)}setPositionState(t){return t.duration&&!isNaN(t.duration)&&navigator.mediaSession.setPositionState(t),Promise.resolve()}setMetadata(t){return navigator.mediaSession.metadata=A.convertMetadata(t),Promise.resolve()}releaseMediaSession(){return Promise.resolve()}setActionHandlers(t){const e={play:t.onPlay,pause:t.onPause,stop:t.onStop,seekbackward:t.onSeekBackward,seekforward:t.onSeekForward,seekto:e=>{var a;return null===(a=t.onSeekTo)||void 0===a?void 0:a.call(t,e.seekTime)},previoustrack:t.onPreviousTrack,nexttrack:t.onNextTrack};Object.entries(e).forEach(([t,e])=>{void 0!==e&&navigator.mediaSession.setActionHandler(t,e)})}static convertMetadata(t){return new window.MediaMetadata({title:t.chapter,artist:`${t.author} â ${t.title}`,artwork:t.artwork})}}class F{static async initialize(t,e,a){const i=new F(t,e);return await i.setActionHandlers(a),await i.initializeNativePlugin(),i}async setPlaybackState(t,e){this.mediaState.isPlaying="playing"===t,this.updatePositionState(e),N.setMediaState(this.mediaState).catch(o.sQ.captureException)}async setPositionState(t){this.updatePositionState(t),N.setMediaState(this.mediaState).catch(o.sQ.captureException)}async setMetadata(t){this.mediaState.title=t.chapter,this.mediaState.artist=`${t.author} â ${t.title}`,N.setMediaState(this.mediaState).catch(o.sQ.captureException)}async releaseMediaSession(){var t;N.releaseMediaSession().catch(o.sQ.captureException),await(null===(t=this.eventListener)||void 0===t?void 0:t.remove())}constructor(t,e){this.mediaState={isPlaying:"playing"===e,title:t.chapter,artist:`${t.author} â ${t.title}`,artworkUri:t.artwork[0].src,position:0,duration:0}}async initializeNativePlugin(){N.initMediaSession(this.mediaState).catch(o.sQ.captureException)}async setActionHandlers(t){const e={onPlay:t.onPlay,onPause:t.onPause,onStop:t.onStop,onRewind:t.onSeekBackward,onFastForward:t.onSeekForward,onPrev:t.onPreviousTrack,onNext:t.onNextTrack,onSeekTo:e=>{var a;const i=e.seekTime&&e.seekTime/1e3;null===(a=t.onSeekTo)||void 0===a||a.call(t,i)}};this.eventListener=await N.addListener("mediaSessionEvent",t=>{const a=e[t.eventName];null===a||void 0===a||a(t)})}updatePositionState(t){this.mediaState.position=t.position/t.playbackRate*1e3,this.mediaState.duration=t.duration/t.playbackRate*1e3}}class H{static async initialize(t,e,a){const i=await this.initMediaSession(t,e,a);return new H(t,i)}setPlaybackState(t){return this.mediaSessionHandler.setPlaybackState(t,this.getCurrentPositionState())}releaseMediaSession(){return this.mediaSessionHandler.releaseMediaSession()}static async initMediaSession(t,e,a){const i=H.getMetadata(t),s=e.paused?"paused":"playing",o=e=>{void 0!==e&&null!==e&&(t.currentTime=e)},r={onPlay:e.play.bind(e),onPause:e.pause.bind(e),onStop:e.pause.bind(e),onSeekBackward:e.backward.bind(e),onSeekForward:e.forward.bind(e),onSeekTo:o,onPreviousTrack:a.prev.bind(a),onNextTrack:a.next.bind(a)};return await E(i,s,r)}constructor(t,e){this.audio=t,this.mediaSessionHandler=e,this.currentChapter=t.chapters.current().title,t.addListener("loadedmetadata",this.onPositionStateUpdate.bind(this)),t.addListener("seeked",this.onPositionStateUpdate.bind(this)),t.addListener("timeupdate",this.updateMetadata.bind(this)),t.addListener("ratechange",this.onPositionStateUpdate.bind(this))}async onPositionStateUpdate(){await this.mediaSessionHandler.setPositionState(this.getCurrentPositionState())}async updateMetadata(){const t=H.getMetadata(this.audio);t.chapter!==this.currentChapter&&(this.currentChapter=t.chapter,await this.mediaSessionHandler.setMetadata(t))}getCurrentPositionState(){return{position:this.audio.currentTime,playbackRate:this.audio.playbackRate,duration:this.audio.duration}}static getMetadata(t){let e="https://media.shortform.com/book-placeholder.png";return t.doc.cover_image&&(e="https:"+t.doc.cover_image),"article"===t.doc.doc_type&&(e="https:"+t.doc.cover_image),{title:t.doc.title,author:t.doc.author,chapter:t.chapters.current().title,artwork:[{src:e,sizes:"158x211",type:"image/png"}]}}}const Q=["play","pause","ended"],B=["loadstart","stalled","waiting"],$=["loadeddata","playing","pause","timeupdate"];class O{constructor(t,e,a=!0){this._canplay=!1,this._desiredState="pause",this._stateChangeQueue=Promise.resolve(),this._interruptedByNetwork=!1,this._audio=t,this._stateUpdateCallback=e,this._positionTracker=a?new z(t):void 0}initEventListeners(){this._audio.addListener("canplay",()=>this._handleCanplayEvent()),this._audio.addListener("playing",()=>this._handlePlayingEvent()),B.forEach(t=>this._audio.addListener(t,()=>{this._interruptedByNetwork=!0})),$.forEach(t=>this._audio.addListener(t,()=>{this._interruptedByNetwork=!1})),Q.forEach(t=>this._audio.addListener(t,t=>this._invokeStateUpdateCallback(t)))}_handleCanplayEvent(){this._canplay||(this._canplay=!0,this._applyDesiredState())}_handlePlayingEvent(){this._applyDesiredState()}_invokeStateUpdateCallback(t){m.EK(t.type,Q),this._stateUpdateCallback(t.type)}async _apply_play(){this._audio.paused&&(this._canplay?await this._audio.play():this._audio.load())}_apply_pause(){this._audio.paused||this._audio.pause()}_applyDesiredState(){this._stateChangeQueue=this._stateChangeQueue.then(async()=>{"play"===this._desiredState?await this._apply_play():this._apply_pause()})}play(){this._desiredState="play",this._applyDesiredState()}pause(){this._desiredState="pause",this._applyDesiredState()}togglePlayback(){"play"===this._desiredState?this.pause():this.play()}forward(){this._audio.currentTime+=15}backward(){this._audio.currentTime-=15}get audioLoaded(){return this._canplay}get paused(){return"pause"===this._desiredState}get interruptedByNetwork(){return this._interruptedByNetwork}stopPositionTracking(){var t;null===(t=this._positionTracker)||void 0===t||t.stop()}}class z{constructor(t){this._stopped=!1,this._audio=t,this._previousPosition=this._audio.currentTime,this.startTracking()}stop(){this._stopped=!0}wait(){return new Promise(t=>setTimeout(t,1e4))}isPositionChanged(){return Math.floor(this._audio.currentTime)!==this._previousPosition}async startTracking(){try{if(this._stopped)return;this.isPositionChanged()?(await this.saveAudioPosition(),await this.wait(),await this.startTracking()):(await this.wait(),await this.startTracking())}catch(t){o.sQ.captureException(t)}}async saveAudioPosition(){const t=Math.floor(this._audio.currentTime);this._previousPosition=t,this._audio.paused||(this._audio.doc.user.audio_position=t,await n.H.saveAudioPosition(this._audio.doc,t))}}function V(){return/(iPhone|iPad)/i.test(navigator.userAgent)}const Y=1.1,G=.3,K=3.5;class W{constructor(t){this._playbackRate=Y,this._loadedPlaybackRate=null,this._audio=t,this._playbackRate=this.getSavedRate(),this._audio.playbackRate=this._playbackRate,V()&&(this._loadedPlaybackRate=this._playbackRate,this._audio.addListener("canplay",()=>{this._loadedPlaybackRate&&(this._audio.playbackRate=this._loadedPlaybackRate)})),this._audio.addListener("ratechange",()=>{this._ratechangeHandler()})}getSavedRate(){const t=x.I.getItem(I.c.playerRate);return t?parseFloat(t):Y}rate(){return this._playbackRate}reset(){this._playbackRate=Y,this._audio.playbackRate=this._playbackRate,this._loadedPlaybackRate=null}up(){this._playbackRate+=.1,this._playbackRate>K&&(this._playbackRate=K),this._audio.playbackRate=this._playbackRate,this._loadedPlaybackRate=null}down(){this._playbackRate-=.1,this._playbackRate<G&&(this._playbackRate=G),this._audio.playbackRate=this._playbackRate,this._loadedPlaybackRate=null}_ratechangeHandler(){this._playbackRate=this._audio.playbackRate;const t=Math.round(10*this._audio.playbackRate)/10;x.I.setItem(I.c.playerRate,t.toString())}}class J{constructor(t){this._volume=1,this._unmuteVolume=1,this._audio=t;const e=x.I.getItem(I.c.playerVolume);e&&(this._volume=parseFloat(e)),this._audio.volume=this._volume}initEventListeners(){this._audio.addListener("volumechange",()=>{this._volumeUpdateHandler()})}get value(){return this._volume}mute(){this._unmuteVolume=this._audio.volume,this._audio.volume=0}unmute(){this._audio.volume=this._unmuteVolume}reset(){this._audio.volume=1}up(){this._audio.volume+=.1}down(){this._audio.volume-=.1}get style(){const t=100*this._volume,e={width:`${t}%`};return e}change(t){this._audio.volume=t}_volumeUpdateHandler(){this._volume!==this._audio.volume&&(this._volume=this._audio.volume),this._audio.volume>0&&x.I.setItem(I.c.playerVolume,this._audio.volume.toString())}}a(6280);class X{constructor(t,e){this._chapters=[],this._doc=t,this._currentChapterIdx=null!==e&&void 0!==e?e:0;const a=t.content,i=(0,d.b)(t.audio);for(let s=0;s<a.length;s++){const o=a[s];let r=1/0;s<a.length-1&&(r=Math.floor(i.timings[s+1]/1e3));const n={idx:s,title:o.title,url_slug:o.url_slug,start:Math.floor(i.timings[s]/1e3),end:r};void 0===e&&o.url_slug===t.user.position_chapter&&(this._currentChapterIdx=s),this._chapters.push(n)}}current(){return this._chapters[this._currentChapterIdx]}nullChapter(){return{idx:0,start:0,end:0,title:"",url_slug:""}}
1next(){return this._currentChapterIdx<this._chapters.length-1?this._chapters[this._currentChapterIdx+1]:this.nullChapter()}prev(){return this._currentChapterIdx>0?this._chapters[this._currentChapterIdx-1]:this.nullChapter()}hasNext(){return""!==this.next().url_slug}hasPrev(){return""!==this.prev().url_slug}goNext(){this.hasNext()&&(this._currentChapterIdx+=1)}goPrev(){this.hasPrev()&&(this._currentChapterIdx-=1)}go(t){return this._currentChapterIdx=t,this.current()}update(t){if(t>=this.current().start&&t<this.current().end)return null;for(const e of this._chapters)if(t>=e.start&&t<e.end)return this._currentChapterIdx=e.idx,e;throw new Error("Can not find chapter for time: "+t+" timings: "+(0,d.b)(this._doc.audio).timings)}}class j{constructor(t,e,a){this._listeners=[],this._cached=!1,this._paused=!0,this._doc=e,this._chapters=new X(e,a),this._audio=t}get doc(){return this._doc}set doc(t){this._doc=t}get chapters(){return this._chapters}get currentTime(){return this._audio.currentTime}set currentTime(t){this._audio.currentTime=t}get playbackRate(){return this._audio.playbackRate}set playbackRate(t){this._audio.playbackRate=t}get volume(){return this._audio.volume}set volume(t){this._audio.volume=t}get duration(){return this._audio.duration}get paused(){return this._paused}get buffered(){return this._audio.buffered}async play(){this._cacheAudio(),await this._audio.play(),this._paused=this._audio.paused}pause(){this._audio.pause(),this._paused=this._audio.paused}load(){this._audio.load()}addListener(t,e){this._audio.addEventListener(t,e),this._listeners.push({eventName:t,eventListener:e})}removeListeners(){this._listeners.forEach(({eventName:t,eventListener:e})=>this._audio.removeEventListener(t,e)),this._listeners=[]}async _cacheAudio(){if(!this._cached&&window.caches)try{this._cached=!0;const t=await caches.open("shortform-audio");await t.add(this._audio.src)}catch{this._cached=!1}}}class q{constructor(){this._doc=null,this._element=null,this._audio=null,this._playbackControl=null,this._chapterControl=null,this._progressControl=null,this._rateControl=null,this._volumeControl=null,this._mediaSessionControl=null,this._isPlaybackFromDownload=!1,this._playbackState="pause",this._playbackStartTime=0,this.canShowMiniPlayer=!1,this.canShowMiniPlayer="B"===(0,M.Cm)()}get doc(){return this._doc}get audio(){return this._audio}get playbackControl(){return this._playbackControl}get chapterControl(){return this._chapterControl}get progressControl(){return this._progressControl}get rateControl(){return this._rateControl}get volumeControl(){return this._volumeControl}get isReady(){return null!==this._doc&&null!==this._audio}get isPlaying(){return"play"===this._playbackState}isLoaded(t){var e;return this.isReady&&(null===(e=this._doc)||void 0===e?void 0:e.id)===t.id}async start(t,e,a){const i=await this.prepareDoc(t,e);if(i||!t.audio)return;const s=await this.getAudioSource(t);this._isPlaybackFromDownload=s.isPlaybackFromDownload,this._element=this.createAudioElement(s.audioSource),this._audio=new j(this._element,t,a);const o=(0,d.b)(this._audio);o.load(),this._playbackControl=new O(o,t=>this.onPlaybackState(t));const r=(0,d.b)(this._playbackControl);r.initEventListeners(),this._chapterControl=new f(o,t=>null===e||void 0===e?void 0:e(t)),this._progressControl=new L(o,t=>this.onReadingProgress(t)),(0,d.b)(this._progressControl).initEventListeners(),this._rateControl=new W(o),this._volumeControl=new J(o),(0,d.b)(this._volumeControl).initEventListeners(),this._mediaSessionControl=await H.initialize(o,r,(0,d.b)(this._chapterControl))}async prepareDoc(t,e){return this.isLoaded(t)?(this.takeOver(t,e),!0):(await this.stop(),this._doc=t,!1)}takeOver(t,e){this._doc=t,(0,d.b)(this._audio).doc=t,(0,d.b)(this._chapterControl).setChapterChangeCallback(t=>null===e||void 0===e?void 0:e(t))}setChapterChangeCallback(t){var e;null===(e=this._chapterControl)||void 0===e||e.setChapterChangeCallback(t)}pause(){var t;null===(t=this._playbackControl)||void 0===t||t.pause()}async stop(){var t,e,a,i,s;null===(t=this._playbackControl)||void 0===t||t.pause(),null===(e=this._playbackControl)||void 0===e||e.stopPositionTracking(),null===(a=this._audio)||void 0===a||a.removeListeners(),await(null===(i=this._mediaSessionControl)||void 0===i?void 0:i.releaseMediaSession()),null===(s=this._element)||void 0===s||s.remove(),this._doc=null,this._element=null,this._audio=null,this._playbackControl
1=null,this._chapterControl=null,this._progressControl=null,this._rateControl=null,this._volumeControl=null,this._mediaSessionControl=null,this._isPlaybackFromDownload=!1,this._playbackState="pause",this._playbackStartTime=0}async onPlaybackState(t){var e;if("play"===t&&(this._playbackStartTime=Date.now()),"play"===this._playbackState&&"play"!==t&&this._doc){const t=Math.floor((Date.now()-this._playbackStartTime)/1e3);s.Re(this._doc,t,this._isPlaybackFromDownload)}this._playbackState=t,await(null===(e=this._mediaSessionControl)||void 0===e?void 0:e.setPlaybackState("play"===t?"playing":"paused"))}onReadingProgress(t){const e=this._doc,a=this._audio;if(!e||!a)return;const i=e.content[a.chapters.current().idx];u(e,i,t).catch(t=>o.sQ.captureException(t))}createAudioElement(t){const e=document.createElement("audio");return e.crossOrigin="anonymous",e.setAttribute("type","audio/mpeg"),e.src=t,document.body.appendChild(e),e}async getAudioSource(t){var e,a;return await p.i.isNativeIOSApp()?{isPlaybackFromDownload:await y(t),audioSource:(null===(e=t.audio)||void 0===e?void 0:e.url)||""}:await p.i.isNativeAndroidApp()&&await b(t)?{isPlaybackFromDownload:!0,audioSource:await C(t)}:{isPlaybackFromDownload:!1,audioSource:(null===(a=t.audio)||void 0===a?void 0:a.url)||""}}}const Z=(0,i.KR)(new q);async function tt(){if(r.eY()){Z.value.canShowMiniPlayer=!0;try{const t=await n.H.getLatestDoc();if(!t)return;await Z.value.start(t)}catch(t){o.sQ.captureException(t)}}}}}]); 2//# sourceMappingURL=286.31938856.js.map
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.