yanchengPowerSupply/node_modules/.cache/babel-loader/a7a3f502db88d808f7b1de66c5e...

1 line
480 KiB
JSON

{"remainingRequest":"E:\\2023\\yancheng0718\\yanchengPowerSupply\\node_modules\\babel-loader\\lib\\index.js!E:\\2023\\yancheng0718\\yanchengPowerSupply\\src\\util\\jsmpeg.min.js","dependencies":[{"path":"E:\\2023\\yancheng0718\\yanchengPowerSupply\\src\\util\\jsmpeg.min.js","mtime":1689642397094},{"path":"E:\\2023\\yancheng0718\\yanchengPowerSupply\\babel.config.js","mtime":1689642387810},{"path":"E:\\2023\\yancheng0718\\yanchengPowerSupply\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1689642389292},{"path":"E:\\2023\\yancheng0718\\yanchengPowerSupply\\node_modules\\babel-loader\\lib\\index.js","mtime":1689642388897}],"contextDependencies":[],"result":["import \"core-js/modules/es6.typed.uint16-array\";\nimport \"core-js/modules/es6.typed.float32-array\";\nimport \"core-js/modules/es6.typed.int8-array\";\nimport \"core-js/modules/es6.typed.int16-array\";\nimport \"core-js/modules/es6.typed.uint32-array\";\nimport \"core-js/modules/es6.typed.uint8-clamped-array\";\nimport \"core-js/modules/es6.typed.int32-array\";\nimport \"core-js/modules/es6.array.copy-within\";\nimport _typeof from \"E:/2023/yancheng0718/yanchengPowerSupply/node_modules/@babel/runtime/helpers/esm/typeof.js\";\nimport \"core-js/modules/es6.regexp.match\";\nimport \"core-js/modules/es6.function.name\";\nimport \"core-js/modules/es6.typed.uint8-array\";\nimport \"core-js/modules/es6.array.fill\";\nwindow.JSMpeg = {\n Player: null,\n VideoElement: null,\n BitBuffer: null,\n Source: {},\n Demuxer: {},\n Decoder: {},\n Renderer: {},\n AudioOutput: {},\n Now: function Now() {\n return window.performance ? window.performance.now() / 1e3 : Date.now() / 1e3;\n },\n CreateVideoElements: function CreateVideoElements() {\n var elements = document.querySelectorAll(\".jsmpeg\");\n for (var i = 0; i < elements.length; i++) {\n new JSMpeg.VideoElement(elements[i]);\n }\n },\n Fill: function Fill(array, value) {\n if (array.fill) {\n array.fill(value);\n } else {\n for (var i = 0; i < array.length; i++) {\n array[i] = value;\n }\n }\n },\n Base64ToArrayBuffer: function Base64ToArrayBuffer(base64) {\n var binary = window.atob(base64);\n var length = binary.length;\n var bytes = new Uint8Array(length);\n for (var i = 0; i < length; i++) {\n bytes[i] = binary.charCodeAt(i);\n }\n return bytes.buffer;\n },\n WASM_BINARY_INLINED: null\n};\nif (document.readyState === \"complete\") {\n JSMpeg.CreateVideoElements();\n} else {\n document.addEventListener(\"DOMContentLoaded\", JSMpeg.CreateVideoElements);\n}\nJSMpeg.VideoElement = function () {\n \"use strict\";\n\n var VideoElement = function VideoElement(element) {\n var url = element.dataset.url;\n if (!url) {\n throw \"VideoElement has no `data-url` attribute\";\n }\n var addStyles = function addStyles(element, styles) {\n for (var name in styles) {\n element.style[name] = styles[name];\n }\n };\n this.container = element;\n addStyles(this.container, {\n display: \"inline-block\",\n position: \"relative\",\n minWidth: \"80px\",\n minHeight: \"80px\"\n });\n this.canvas = document.createElement(\"canvas\");\n this.canvas.width = 960;\n this.canvas.height = 540;\n addStyles(this.canvas, {\n display: \"block\",\n width: \"100%\"\n });\n this.container.appendChild(this.canvas);\n this.playButton = document.createElement(\"div\");\n this.playButton.innerHTML = VideoElement.PLAY_BUTTON;\n addStyles(this.playButton, {\n zIndex: 2,\n position: \"absolute\",\n top: \"0\",\n bottom: \"0\",\n left: \"0\",\n right: \"0\",\n maxWidth: \"75px\",\n maxHeight: \"75px\",\n margin: \"auto\",\n opacity: \"0.7\",\n cursor: \"pointer\"\n });\n this.container.appendChild(this.playButton);\n var options = {\n canvas: this.canvas\n };\n for (var option in element.dataset) {\n try {\n options[option] = JSON.parse(element.dataset[option]);\n } catch (err) {\n options[option] = element.dataset[option];\n }\n }\n this.player = new JSMpeg.Player(url, options);\n element.playerInstance = this.player;\n if (options.poster && !options.autoplay && !this.player.options.streaming) {\n options.decodeFirstFrame = false;\n this.poster = new Image();\n this.poster.src = options.poster;\n this.poster.addEventListener(\"load\", this.posterLoaded);\n addStyles(this.poster, {\n display: \"block\",\n zIndex: 1,\n position: \"absolute\",\n top: 0,\n left: 0,\n bottom: 0,\n right: 0\n });\n this.container.appendChild(this.poster);\n }\n if (!this.player.options.streaming) {\n this.container.addEventListener(\"click\", this.onClick.bind(this));\n }\n if (options.autoplay || this.player.options.streaming) {\n this.playButton.style.display = \"none\";\n }\n if (this.player.audioOut && !this.player.audioOut.unlocked) {\n var unlockAudioElement = this.container;\n if (options.autoplay || this.player.options.streaming) {\n this.unmuteButton = document.createElement(\"div\");\n this.unmuteButton.innerHTML = VideoElement.UNMUTE_BUTTON;\n addStyles(this.unmuteButton, {\n zIndex: 2,\n position: \"absolute\",\n bottom: \"10px\",\n right: \"20px\",\n width: \"75px\",\n height: \"75px\",\n margin: \"auto\",\n opacity: \"0.7\",\n cursor: \"pointer\"\n });\n this.container.appendChild(this.unmuteButton);\n unlockAudioElement = this.unmuteButton;\n }\n this.unlockAudioBound = this.onUnlockAudio.bind(this, unlockAudioElement);\n unlockAudioElement.addEventListener(\"touchstart\", this.unlockAudioBound, false);\n unlockAudioElement.addEventListener(\"click\", this.unlockAudioBound, true);\n }\n };\n VideoElement.prototype.onUnlockAudio = function (element, ev) {\n if (this.unmuteButton) {\n ev.preventDefault();\n ev.stopPropagation();\n }\n this.player.audioOut.unlock(function () {\n if (this.unmuteButton) {\n this.unmuteButton.style.display = \"none\";\n }\n element.removeEventListener(\"touchstart\", this.unlockAudioBound);\n element.removeEventListener(\"click\", this.unlockAudioBound);\n }.bind(this));\n };\n VideoElement.prototype.onClick = function (ev) {\n if (this.player.isPlaying) {\n this.player.pause();\n this.playButton.style.display = \"block\";\n } else {\n this.player.play();\n this.playButton.style.display = \"none\";\n if (this.poster) {\n this.poster.style.display = \"none\";\n }\n }\n };\n VideoElement.PLAY_BUTTON = '<svg style=\"max-width: 75px; max-height: 75px;\" ' + 'viewBox=\"0 0 200 200\" alt=\"Play video\">' + '<circle cx=\"100\" cy=\"100\" r=\"90\" fill=\"none\" ' + 'stroke-width=\"15\" stroke=\"#fff\"/>' + '<polygon points=\"70, 55 70, 145 145, 100\" fill=\"#fff\"/>' + \"</svg>\";\n VideoElement.UNMUTE_BUTTON = '<svg style=\"max-width: 75px; max-height: 75px;\" viewBox=\"0 0 75 75\">' + '<polygon class=\"audio-speaker\" stroke=\"none\" fill=\"#fff\" ' + 'points=\"39,13 22,28 6,28 6,47 21,47 39,62 39,13\"/>' + '<g stroke=\"#fff\" stroke-width=\"5\">' + '<path d=\"M 49,50 69,26\"/>' + '<path d=\"M 69,50 49,26\"/>' + \"</g>\" + \"</svg>\";\n return VideoElement;\n}();\nJSMpeg.Player = function () {\n \"use strict\";\n\n var Player = function Player(url, options) {\n this.options = options || {};\n if (options.source) {\n this.source = new options.source(url, options);\n options.streaming = !!this.source.streaming;\n } else if (url.match(/^wss?:\\/\\//)) {\n this.source = new JSMpeg.Source.WebSocket(url, options);\n options.streaming = true;\n } else if (options.progressive !== false) {\n this.source = new JSMpeg.Source.AjaxProgressive(url, options);\n options.streaming = false;\n } else {\n this.source = new JSMpeg.Source.Ajax(url, options);\n options.streaming = false;\n }\n this.maxAudioLag = options.maxAudioLag || .25;\n this.loop = options.loop !== false;\n this.autoplay = !!options.autoplay || options.streaming;\n this.demuxer = new JSMpeg.Demuxer.TS(options);\n this.source.connect(this.demuxer);\n if (!options.disableWebAssembly && JSMpeg.WASMModule.IsSupported()) {\n this.wasmModule = JSMpeg.WASMModule.GetModule();\n options.wasmModule = this.wasmModule;\n }\n if (options.video !== false) {\n this.video = options.wasmModule ? new JSMpeg.Decoder.MPEG1VideoWASM(options) : new JSMpeg.Decoder.MPEG1Video(options);\n this.renderer = !options.disableGl && JSMpeg.Renderer.WebGL.IsSupported() ? new JSMpeg.Renderer.WebGL(options) : new JSMpeg.Renderer.Canvas2D(options);\n this.demuxer.connect(JSMpeg.Demuxer.TS.STREAM.VIDEO_1, this.video);\n this.video.connect(this.renderer);\n }\n if (options.audio !== false && JSMpeg.AudioOutput.WebAudio.IsSupported()) {\n this.audio = options.wasmModule ? new JSMpeg.Decoder.MP2AudioWASM(options) : new JSMpeg.Decoder.MP2Audio(options);\n this.audioOut = new JSMpeg.AudioOutput.WebAudio(options);\n this.demuxer.connect(JSMpeg.Demuxer.TS.STREAM.AUDIO_1, this.audio);\n this.audio.connect(this.audioOut);\n }\n Object.defineProperty(this, \"currentTime\", {\n get: this.getCurrentTime,\n set: this.setCurrentTime\n });\n Object.defineProperty(this, \"volume\", {\n get: this.getVolume,\n set: this.setVolume\n });\n this.paused = true;\n this.unpauseOnShow = false;\n if (options.pauseWhenHidden !== false) {\n document.addEventListener(\"visibilitychange\", this.showHide.bind(this));\n }\n if (this.wasmModule) {\n if (this.wasmModule.ready) {\n this.startLoading();\n } else if (JSMpeg.WASM_BINARY_INLINED) {\n var wasm = JSMpeg.Base64ToArrayBuffer(JSMpeg.WASM_BINARY_INLINED);\n this.wasmModule.loadFromBuffer(wasm, this.startLoading.bind(this));\n } else {\n this.wasmModule.loadFromFile(\"jsmpeg.wasm\", this.startLoading.bind(this));\n }\n } else {\n this.startLoading();\n }\n };\n Player.prototype.startLoading = function () {\n this.source.start();\n if (this.autoplay) {\n this.play();\n }\n };\n Player.prototype.showHide = function (ev) {\n if (document.visibilityState === \"hidden\") {\n this.unpauseOnShow = this.wantsToPlay;\n this.pause();\n } else if (this.unpauseOnShow) {\n this.play();\n }\n };\n Player.prototype.play = function (ev) {\n if (this.animationId) {\n return;\n }\n this.animationId = requestAnimationFrame(this.update.bind(this));\n this.wantsToPlay = true;\n this.paused = false;\n };\n Player.prototype.pause = function (ev) {\n if (this.paused) {\n return;\n }\n cancelAnimationFrame(this.animationId);\n this.animationId = null;\n this.wantsToPlay = false;\n this.isPlaying = false;\n this.paused = true;\n if (this.audio && this.audio.canPlay) {\n this.audioOut.stop();\n this.seek(this.currentTime);\n }\n if (this.options.onPause) {\n this.options.onPause(this);\n }\n };\n Player.prototype.getVolume = function () {\n return this.audioOut ? this.audioOut.volume : 0;\n };\n Player.prototype.setVolume = function (volume) {\n if (this.audioOut) {\n this.audioOut.volume = volume;\n }\n };\n Player.prototype.stop = function (ev) {\n this.pause();\n this.seek(0);\n if (this.video && this.options.decodeFirstFrame !== false) {\n this.video.decode();\n }\n };\n Player.prototype.destroy = function () {\n this.pause();\n this.source.destroy();\n this.video && this.video.destroy();\n this.renderer && this.renderer.destroy();\n this.audio && this.audio.destroy();\n this.audioOut && this.audioOut.destroy();\n };\n Player.prototype.seek = function (time) {\n var startOffset = this.audio && this.audio.canPlay ? this.audio.startTime : this.video.startTime;\n if (this.video) {\n this.video.seek(time + startOffset);\n }\n if (this.audio) {\n this.audio.seek(time + startOffset);\n }\n this.startTime = JSMpeg.Now() - time;\n };\n Player.prototype.getCurrentTime = function () {\n return this.audio && this.audio.canPlay ? this.audio.currentTime - this.audio.startTime : this.video.currentTime - this.video.startTime;\n };\n Player.prototype.setCurrentTime = function (time) {\n this.seek(time);\n };\n Player.prototype.update = function () {\n this.animationId = requestAnimationFrame(this.update.bind(this));\n if (!this.source.established) {\n if (this.renderer) {\n this.renderer.renderProgress(this.source.progress);\n }\n return;\n }\n if (!this.isPlaying) {\n this.isPlaying = true;\n this.startTime = JSMpeg.Now() - this.currentTime;\n if (this.options.onPlay) {\n this.options.onPlay(this);\n }\n }\n if (this.options.streaming) {\n this.updateForStreaming();\n } else {\n this.updateForStaticFile();\n }\n };\n Player.prototype.updateForStreaming = function () {\n if (this.video) {\n this.video.decode();\n }\n if (this.audio) {\n var decoded = false;\n do {\n if (this.audioOut.enqueuedTime > this.maxAudioLag) {\n this.audioOut.resetEnqueuedTime();\n this.audioOut.enabled = false;\n }\n decoded = this.audio.decode();\n } while (decoded);\n this.audioOut.enabled = true;\n }\n };\n Player.prototype.nextFrame = function () {\n if (this.source.established && this.video) {\n return this.video.decode();\n }\n return false;\n };\n Player.prototype.updateForStaticFile = function () {\n var notEnoughData = false,\n headroom = 0;\n if (this.audio && this.audio.canPlay) {\n while (!notEnoughData && this.audio.decodedTime - this.audio.currentTime < .25) {\n notEnoughData = !this.audio.decode();\n }\n if (this.video && this.video.currentTime < this.audio.currentTime) {\n notEnoughData = !this.video.decode();\n }\n headroom = this.demuxer.currentTime - this.audio.currentTime;\n } else if (this.video) {\n var targetTime = JSMpeg.Now() - this.startTime + this.video.startTime,\n lateTime = targetTime - this.video.currentTime,\n frameTime = 1 / this.video.frameRate;\n if (this.video && lateTime > 0) {\n if (lateTime > frameTime * 2) {\n this.startTime += lateTime;\n }\n notEnoughData = !this.video.decode();\n }\n headroom = this.demuxer.currentTime - targetTime;\n }\n this.source.resume(headroom);\n if (notEnoughData && this.source.completed) {\n if (this.loop) {\n this.seek(0);\n } else {\n this.pause();\n if (this.options.onEnded) {\n this.options.onEnded(this);\n }\n }\n } else if (notEnoughData && this.options.onStalled) {\n this.options.onStalled(this);\n }\n };\n return Player;\n}();\nJSMpeg.BitBuffer = function () {\n \"use strict\";\n\n var BitBuffer = function BitBuffer(bufferOrLength, mode) {\n if (_typeof(bufferOrLength) === \"object\") {\n this.bytes = bufferOrLength instanceof Uint8Array ? bufferOrLength : new Uint8Array(bufferOrLength);\n this.byteLength = this.bytes.length;\n } else {\n this.bytes = new Uint8Array(bufferOrLength || 1024 * 1024);\n this.byteLength = 0;\n }\n this.mode = mode || BitBuffer.MODE.EXPAND;\n this.index = 0;\n };\n BitBuffer.prototype.resize = function (size) {\n var newBytes = new Uint8Array(size);\n if (this.byteLength !== 0) {\n this.byteLength = Math.min(this.byteLength, size);\n newBytes.set(this.bytes, 0, this.byteLength);\n }\n this.bytes = newBytes;\n this.index = Math.min(this.index, this.byteLength << 3);\n };\n BitBuffer.prototype.evict = function (sizeNeeded) {\n var bytePos = this.index >> 3,\n available = this.bytes.length - this.byteLength;\n if (this.index === this.byteLength << 3 || sizeNeeded > available + bytePos) {\n this.byteLength = 0;\n this.index = 0;\n return;\n } else if (bytePos === 0) {\n return;\n }\n if (this.bytes.copyWithin) {\n this.bytes.copyWithin(0, bytePos, this.byteLength);\n } else {\n this.bytes.set(this.bytes.subarray(bytePos, this.byteLength));\n }\n this.byteLength = this.byteLength - bytePos;\n this.index -= bytePos << 3;\n return;\n };\n BitBuffer.prototype.write = function (buffers) {\n var isArrayOfBuffers = _typeof(buffers[0]) === \"object\",\n totalLength = 0,\n available = this.bytes.length - this.byteLength;\n if (isArrayOfBuffers) {\n var totalLength = 0;\n for (var i = 0; i < buffers.length; i++) {\n totalLength += buffers[i].byteLength;\n }\n } else {\n totalLength = buffers.byteLength;\n }\n if (totalLength > available) {\n if (this.mode === BitBuffer.MODE.EXPAND) {\n var newSize = Math.max(this.bytes.length * 2, totalLength - available);\n this.resize(newSize);\n } else {\n this.evict(totalLength);\n }\n }\n if (isArrayOfBuffers) {\n for (var i = 0; i < buffers.length; i++) {\n this.appendSingleBuffer(buffers[i]);\n }\n } else {\n this.appendSingleBuffer(buffers);\n }\n return totalLength;\n };\n BitBuffer.prototype.appendSingleBuffer = function (buffer) {\n buffer = buffer instanceof Uint8Array ? buffer : new Uint8Array(buffer);\n this.bytes.set(buffer, this.byteLength);\n this.byteLength += buffer.length;\n };\n BitBuffer.prototype.findNextStartCode = function () {\n for (var i = this.index + 7 >> 3; i < this.byteLength; i++) {\n if (this.bytes[i] == 0 && this.bytes[i + 1] == 0 && this.bytes[i + 2] == 1) {\n this.index = i + 4 << 3;\n return this.bytes[i + 3];\n }\n }\n this.index = this.byteLength << 3;\n return -1;\n };\n BitBuffer.prototype.findStartCode = function (code) {\n var current = 0;\n while (true) {\n current = this.findNextStartCode();\n if (current === code || current === -1) {\n return current;\n }\n }\n return -1;\n };\n BitBuffer.prototype.nextBytesAreStartCode = function () {\n var i = this.index + 7 >> 3;\n return i >= this.byteLength || this.bytes[i] == 0 && this.bytes[i + 1] == 0 && this.bytes[i + 2] == 1;\n };\n BitBuffer.prototype.peek = function (count) {\n var offset = this.index;\n var value = 0;\n while (count) {\n var currentByte = this.bytes[offset >> 3],\n remaining = 8 - (offset & 7),\n read = remaining < count ? remaining : count,\n shift = remaining - read,\n mask = 255 >> 8 - read;\n value = value << read | (currentByte & mask << shift) >> shift;\n offset += read;\n count -= read;\n }\n return value;\n };\n BitBuffer.prototype.read = function (count) {\n var value = this.peek(count);\n this.index += count;\n return value;\n };\n BitBuffer.prototype.skip = function (count) {\n return this.index += count;\n };\n BitBuffer.prototype.rewind = function (count) {\n this.index = Math.max(this.index - count, 0);\n };\n BitBuffer.prototype.has = function (count) {\n return (this.byteLength << 3) - this.index >= count;\n };\n BitBuffer.MODE = {\n EVICT: 1,\n EXPAND: 2\n };\n return BitBuffer;\n}();\nJSMpeg.Source.Ajax = function () {\n \"use strict\";\n\n var AjaxSource = function AjaxSource(url, options) {\n this.url = url;\n this.destination = null;\n this.request = null;\n this.streaming = false;\n this.completed = false;\n this.established = false;\n this.progress = 0;\n this.onEstablishedCallback = options.onSourceEstablished;\n this.onCompletedCallback = options.onSourceCompleted;\n };\n AjaxSource.prototype.connect = function (destination) {\n this.destination = destination;\n };\n AjaxSource.prototype.start = function () {\n this.request = new XMLHttpRequest();\n this.request.onreadystatechange = function () {\n if (this.request.readyState === this.request.DONE && this.request.status === 200) {\n this.onLoad(this.request.response);\n }\n }.bind(this);\n this.request.onprogress = this.onProgress.bind(this);\n this.request.open(\"GET\", this.url);\n this.request.responseType = \"arraybuffer\";\n this.request.send();\n };\n AjaxSource.prototype.resume = function (secondsHeadroom) {};\n AjaxSource.prototype.destroy = function () {\n this.request.abort();\n };\n AjaxSource.prototype.onProgress = function (ev) {\n this.progress = ev.loaded / ev.total;\n };\n AjaxSource.prototype.onLoad = function (data) {\n this.established = true;\n this.completed = true;\n this.progress = 1;\n if (this.onEstablishedCallback) {\n this.onEstablishedCallback(this);\n }\n if (this.onCompletedCallback) {\n this.onCompletedCallback(this);\n }\n if (this.destination) {\n this.destination.write(data);\n }\n };\n return AjaxSource;\n}();\nJSMpeg.Source.Fetch = function () {\n \"use strict\";\n\n var FetchSource = function FetchSource(url, options) {\n this.url = url;\n this.destination = null;\n this.request = null;\n this.streaming = true;\n this.completed = false;\n this.established = false;\n this.progress = 0;\n this.aborted = false;\n this.onEstablishedCallback = options.onSourceEstablished;\n this.onCompletedCallback = options.onSourceCompleted;\n };\n FetchSource.prototype.connect = function (destination) {\n this.destination = destination;\n };\n FetchSource.prototype.start = function () {\n var params = {\n method: \"GET\",\n headers: new Headers(),\n cache: \"default\"\n };\n self.fetch(this.url, params).then(function (res) {\n if (res.ok && res.status >= 200 && res.status <= 299) {\n this.progress = 1;\n this.established = true;\n return this.pump(res.body.getReader());\n } else {}\n }.bind(this)).catch(function (err) {\n throw err;\n });\n };\n FetchSource.prototype.pump = function (reader) {\n return reader.read().then(function (result) {\n if (result.done) {\n this.completed = true;\n } else {\n if (this.aborted) {\n return reader.cancel();\n }\n if (this.destination) {\n this.destination.write(result.value.buffer);\n }\n return this.pump(reader);\n }\n }.bind(this)).catch(function (err) {\n throw err;\n });\n };\n FetchSource.prototype.resume = function (secondsHeadroom) {};\n FetchSource.prototype.abort = function () {\n this.aborted = true;\n };\n return FetchSource;\n}();\nJSMpeg.Source.AjaxProgressive = function () {\n \"use strict\";\n\n var AjaxProgressiveSource = function AjaxProgressiveSource(url, options) {\n this.url = url;\n this.destination = null;\n this.request = null;\n this.streaming = false;\n this.completed = false;\n this.established = false;\n this.progress = 0;\n this.fileSize = 0;\n this.loadedSize = 0;\n this.chunkSize = options.chunkSize || 1024 * 1024;\n this.isLoading = false;\n this.loadStartTime = 0;\n this.throttled = options.throttled !== false;\n this.aborted = false;\n this.onEstablishedCallback = options.onSourceEstablished;\n this.onCompletedCallback = options.onSourceCompleted;\n };\n AjaxProgressiveSource.prototype.connect = function (destination) {\n this.destination = destination;\n };\n AjaxProgressiveSource.prototype.start = function () {\n this.request = new XMLHttpRequest();\n this.request.onreadystatechange = function () {\n if (this.request.readyState === this.request.DONE) {\n this.fileSize = parseInt(this.request.getResponseHeader(\"Content-Length\"));\n this.loadNextChunk();\n }\n }.bind(this);\n this.request.onprogress = this.onProgress.bind(this);\n this.request.open(\"HEAD\", this.url);\n this.request.send();\n };\n AjaxProgressiveSource.prototype.resume = function (secondsHeadroom) {\n if (this.isLoading || !this.throttled) {\n return;\n }\n var worstCaseLoadingTime = this.loadTime * 8 + 2;\n if (worstCaseLoadingTime > secondsHeadroom) {\n this.loadNextChunk();\n }\n };\n AjaxProgressiveSource.prototype.destroy = function () {\n this.request.abort();\n this.aborted = true;\n };\n AjaxProgressiveSource.prototype.loadNextChunk = function () {\n var start = this.loadedSize,\n end = Math.min(this.loadedSize + this.chunkSize - 1, this.fileSize - 1);\n if (start >= this.fileSize || this.aborted) {\n this.completed = true;\n if (this.onCompletedCallback) {\n this.onCompletedCallback(this);\n }\n return;\n }\n this.isLoading = true;\n this.loadStartTime = JSMpeg.Now();\n this.request = new XMLHttpRequest();\n this.request.onreadystatechange = function () {\n if (this.request.readyState === this.request.DONE && this.request.status >= 200 && this.request.status < 300) {\n this.onChunkLoad(this.request.response);\n } else if (this.request.readyState === this.request.DONE) {\n if (this.loadFails++ < 3) {\n this.loadNextChunk();\n }\n }\n }.bind(this);\n if (start === 0) {\n this.request.onprogress = this.onProgress.bind(this);\n }\n this.request.open(\"GET\", this.url + \"?\" + start + \"-\" + end);\n this.request.setRequestHeader(\"Range\", \"bytes=\" + start + \"-\" + end);\n this.request.responseType = \"arraybuffer\";\n this.request.send();\n };\n AjaxProgressiveSource.prototype.onProgress = function (ev) {\n this.progress = ev.loaded / ev.total;\n };\n AjaxProgressiveSource.prototype.onChunkLoad = function (data) {\n var isFirstChunk = !this.established;\n this.established = true;\n this.progress = 1;\n this.loadedSize += data.byteLength;\n this.loadFails = 0;\n this.isLoading = false;\n if (isFirstChunk && this.onEstablishedCallback) {\n this.onEstablishedCallback(this);\n }\n if (this.destination) {\n this.destination.write(data);\n }\n this.loadTime = JSMpeg.Now() - this.loadStartTime;\n if (!this.throttled) {\n this.loadNextChunk();\n }\n };\n return AjaxProgressiveSource;\n}();\nJSMpeg.Source.WebSocket = function () {\n \"use strict\";\n\n var WSSource = function WSSource(url, options) {\n this.url = url;\n this.options = options;\n this.socket = null;\n this.streaming = true;\n this.callbacks = {\n connect: [],\n data: []\n };\n this.destination = null;\n this.reconnectInterval = options.reconnectInterval !== undefined ? options.reconnectInterval : 5;\n this.shouldAttemptReconnect = !!this.reconnectInterval;\n this.completed = false;\n this.established = false;\n this.progress = 0;\n this.reconnectTimeoutId = 0;\n this.onEstablishedCallback = options.onSourceEstablished;\n this.onCompletedCallback = options.onSourceCompleted;\n };\n WSSource.prototype.connect = function (destination) {\n this.destination = destination;\n };\n WSSource.prototype.destroy = function () {\n clearTimeout(this.reconnectTimeoutId);\n this.shouldAttemptReconnect = false;\n this.socket.close();\n };\n WSSource.prototype.start = function () {\n this.shouldAttemptReconnect = !!this.reconnectInterval;\n this.progress = 0;\n this.established = false;\n this.socket = new WebSocket(this.url, this.options.protocols || null);\n this.socket.binaryType = \"arraybuffer\";\n this.socket.onmessage = this.onMessage.bind(this);\n this.socket.onopen = this.onOpen.bind(this);\n this.socket.onerror = this.onClose.bind(this);\n this.socket.onclose = this.onClose.bind(this);\n };\n WSSource.prototype.resume = function (secondsHeadroom) {};\n WSSource.prototype.onOpen = function () {\n this.progress = 1;\n };\n WSSource.prototype.onClose = function () {\n if (this.shouldAttemptReconnect) {\n clearTimeout(this.reconnectTimeoutId);\n this.reconnectTimeoutId = setTimeout(function () {\n this.start();\n }.bind(this), this.reconnectInterval * 1e3);\n }\n };\n WSSource.prototype.onMessage = function (ev) {\n var isFirstChunk = !this.established;\n this.established = true;\n if (isFirstChunk && this.onEstablishedCallback) {\n this.onEstablishedCallback(this);\n }\n if (this.destination) {\n this.destination.write(ev.data);\n }\n };\n return WSSource;\n}();\nJSMpeg.Demuxer.TS = function () {\n \"use strict\";\n\n var TS = function TS(options) {\n this.bits = null;\n this.leftoverBytes = null;\n this.guessVideoFrameEnd = true;\n this.pidsToStreamIds = {};\n this.pesPacketInfo = {};\n this.startTime = 0;\n this.currentTime = 0;\n };\n TS.prototype.connect = function (streamId, destination) {\n this.pesPacketInfo[streamId] = {\n destination: destination,\n currentLength: 0,\n totalLength: 0,\n pts: 0,\n buffers: []\n };\n };\n TS.prototype.write = function (buffer) {\n if (this.leftoverBytes) {\n var totalLength = buffer.byteLength + this.leftoverBytes.byteLength;\n this.bits = new JSMpeg.BitBuffer(totalLength);\n this.bits.write([this.leftoverBytes, buffer]);\n } else {\n this.bits = new JSMpeg.BitBuffer(buffer);\n }\n while (this.bits.has(188 << 3) && this.parsePacket()) {}\n var leftoverCount = this.bits.byteLength - (this.bits.index >> 3);\n this.leftoverBytes = leftoverCount > 0 ? this.bits.bytes.subarray(this.bits.index >> 3) : null;\n };\n TS.prototype.parsePacket = function () {\n if (this.bits.read(8) !== 71) {\n if (!this.resync()) {\n return false;\n }\n }\n var end = (this.bits.index >> 3) + 187;\n var transportError = this.bits.read(1),\n payloadStart = this.bits.read(1),\n transportPriority = this.bits.read(1),\n pid = this.bits.read(13),\n transportScrambling = this.bits.read(2),\n adaptationField = this.bits.read(2),\n continuityCounter = this.bits.read(4);\n var streamId = this.pidsToStreamIds[pid];\n if (payloadStart && streamId) {\n var pi = this.pesPacketInfo[streamId];\n if (pi && pi.currentLength) {\n this.packetComplete(pi);\n }\n }\n if (adaptationField & 1) {\n if (adaptationField & 2) {\n var adaptationFieldLength = this.bits.read(8);\n this.bits.skip(adaptationFieldLength << 3);\n }\n if (payloadStart && this.bits.nextBytesAreStartCode()) {\n this.bits.skip(24);\n streamId = this.bits.read(8);\n this.pidsToStreamIds[pid] = streamId;\n var packetLength = this.bits.read(16);\n this.bits.skip(8);\n var ptsDtsFlag = this.bits.read(2);\n this.bits.skip(6);\n var headerLength = this.bits.read(8);\n var payloadBeginIndex = this.bits.index + (headerLength << 3);\n var pi = this.pesPacketInfo[streamId];\n if (pi) {\n var pts = 0;\n if (ptsDtsFlag & 2) {\n this.bits.skip(4);\n var p32_30 = this.bits.read(3);\n this.bits.skip(1);\n var p29_15 = this.bits.read(15);\n this.bits.skip(1);\n var p14_0 = this.bits.read(15);\n this.bits.skip(1);\n pts = (p32_30 * 1073741824 + p29_15 * 32768 + p14_0) / 9e4;\n this.currentTime = pts;\n if (this.startTime === -1) {\n this.startTime = pts;\n }\n }\n var payloadLength = packetLength ? packetLength - headerLength - 3 : 0;\n this.packetStart(pi, pts, payloadLength);\n }\n this.bits.index = payloadBeginIndex;\n }\n if (streamId) {\n var pi = this.pesPacketInfo[streamId];\n if (pi) {\n var start = this.bits.index >> 3;\n var complete = this.packetAddData(pi, start, end);\n var hasPadding = !payloadStart && adaptationField & 2;\n if (complete || this.guessVideoFrameEnd && hasPadding) {\n this.packetComplete(pi);\n }\n }\n }\n }\n this.bits.index = end << 3;\n return true;\n };\n TS.prototype.resync = function () {\n if (!this.bits.has(188 * 6 << 3)) {\n return false;\n }\n var byteIndex = this.bits.index >> 3;\n for (var i = 0; i < 187; i++) {\n if (this.bits.bytes[byteIndex + i] === 71) {\n var foundSync = true;\n for (var j = 1; j < 5; j++) {\n if (this.bits.bytes[byteIndex + i + 188 * j] !== 71) {\n foundSync = false;\n break;\n }\n }\n if (foundSync) {\n this.bits.index = byteIndex + i + 1 << 3;\n return true;\n }\n }\n }\n console.warn(\"JSMpeg: Possible garbage data. Skipping.\");\n this.bits.skip(187 << 3);\n return false;\n };\n TS.prototype.packetStart = function (pi, pts, payloadLength) {\n pi.totalLength = payloadLength;\n pi.currentLength = 0;\n pi.pts = pts;\n };\n TS.prototype.packetAddData = function (pi, start, end) {\n pi.buffers.push(this.bits.bytes.subarray(start, end));\n pi.currentLength += end - start;\n var complete = pi.totalLength !== 0 && pi.currentLength >= pi.totalLength;\n return complete;\n };\n TS.prototype.packetComplete = function (pi) {\n pi.destination.write(pi.pts, pi.buffers);\n pi.totalLength = 0;\n pi.currentLength = 0;\n pi.buffers = [];\n };\n TS.STREAM = {\n PACK_HEADER: 186,\n SYSTEM_HEADER: 187,\n PROGRAM_MAP: 188,\n PRIVATE_1: 189,\n PADDING: 190,\n PRIVATE_2: 191,\n AUDIO_1: 192,\n VIDEO_1: 224,\n DIRECTORY: 255\n };\n return TS;\n}();\nJSMpeg.Decoder.Base = function () {\n \"use strict\";\n\n var BaseDecoder = function BaseDecoder(options) {\n this.destination = null;\n this.canPlay = false;\n this.collectTimestamps = !options.streaming;\n this.bytesWritten = 0;\n this.timestamps = [];\n this.timestampIndex = 0;\n this.startTime = 0;\n this.decodedTime = 0;\n Object.defineProperty(this, \"currentTime\", {\n get: this.getCurrentTime\n });\n };\n BaseDecoder.prototype.destroy = function () {};\n BaseDecoder.prototype.connect = function (destination) {\n this.destination = destination;\n };\n BaseDecoder.prototype.bufferGetIndex = function () {\n return this.bits.index;\n };\n BaseDecoder.prototype.bufferSetIndex = function (index) {\n this.bits.index = index;\n };\n BaseDecoder.prototype.bufferWrite = function (buffers) {\n return this.bits.write(buffers);\n };\n BaseDecoder.prototype.write = function (pts, buffers) {\n if (this.collectTimestamps) {\n if (this.timestamps.length === 0) {\n this.startTime = pts;\n this.decodedTime = pts;\n }\n this.timestamps.push({\n index: this.bytesWritten << 3,\n time: pts\n });\n }\n this.bytesWritten += this.bufferWrite(buffers);\n this.canPlay = true;\n };\n BaseDecoder.prototype.seek = function (time) {\n if (!this.collectTimestamps) {\n return;\n }\n this.timestampIndex = 0;\n for (var i = 0; i < this.timestamps.length; i++) {\n if (this.timestamps[i].time > time) {\n break;\n }\n this.timestampIndex = i;\n }\n var ts = this.timestamps[this.timestampIndex];\n if (ts) {\n this.bufferSetIndex(ts.index);\n this.decodedTime = ts.time;\n } else {\n this.bufferSetIndex(0);\n this.decodedTime = this.startTime;\n }\n };\n BaseDecoder.prototype.decode = function () {\n this.advanceDecodedTime(0);\n };\n BaseDecoder.prototype.advanceDecodedTime = function (seconds) {\n if (this.collectTimestamps) {\n var newTimestampIndex = -1;\n var currentIndex = this.bufferGetIndex();\n for (var i = this.timestampIndex; i < this.timestamps.length; i++) {\n if (this.timestamps[i].index > currentIndex) {\n break;\n }\n newTimestampIndex = i;\n }\n if (newTimestampIndex !== -1 && newTimestampIndex !== this.timestampIndex) {\n this.timestampIndex = newTimestampIndex;\n this.decodedTime = this.timestamps[this.timestampIndex].time;\n return;\n }\n }\n this.decodedTime += seconds;\n };\n BaseDecoder.prototype.getCurrentTime = function () {\n return this.decodedTime;\n };\n return BaseDecoder;\n}();\nJSMpeg.Decoder.MPEG1Video = function () {\n \"use strict\";\n\n var MPEG1 = function MPEG1(options) {\n JSMpeg.Decoder.Base.call(this, options);\n this.onDecodeCallback = options.onVideoDecode;\n var bufferSize = options.videoBufferSize || 512 * 1024;\n var bufferMode = options.streaming ? JSMpeg.BitBuffer.MODE.EVICT : JSMpeg.BitBuffer.MODE.EXPAND;\n this.bits = new JSMpeg.BitBuffer(bufferSize, bufferMode);\n this.customIntraQuantMatrix = new Uint8Array(64);\n this.customNonIntraQuantMatrix = new Uint8Array(64);\n this.blockData = new Int32Array(64);\n this.currentFrame = 0;\n this.decodeFirstFrame = options.decodeFirstFrame !== false;\n };\n MPEG1.prototype = Object.create(JSMpeg.Decoder.Base.prototype);\n MPEG1.prototype.constructor = MPEG1;\n MPEG1.prototype.write = function (pts, buffers) {\n JSMpeg.Decoder.Base.prototype.write.call(this, pts, buffers);\n if (!this.hasSequenceHeader) {\n if (this.bits.findStartCode(MPEG1.START.SEQUENCE) === -1) {\n return false;\n }\n this.decodeSequenceHeader();\n if (this.decodeFirstFrame) {\n this.decode();\n }\n }\n };\n MPEG1.prototype.decode = function () {\n var startTime = JSMpeg.Now();\n if (!this.hasSequenceHeader) {\n return false;\n }\n if (this.bits.findStartCode(MPEG1.START.PICTURE) === -1) {\n var bufferedBytes = this.bits.byteLength - (this.bits.index >> 3);\n return false;\n }\n this.decodePicture();\n this.advanceDecodedTime(1 / this.frameRate);\n var elapsedTime = JSMpeg.Now() - startTime;\n if (this.onDecodeCallback) {\n this.onDecodeCallback(this, elapsedTime);\n }\n return true;\n };\n MPEG1.prototype.readHuffman = function (codeTable) {\n var state = 0;\n do {\n state = codeTable[state + this.bits.read(1)];\n } while (state >= 0 && codeTable[state] !== 0);\n return codeTable[state + 2];\n };\n MPEG1.prototype.frameRate = 30;\n MPEG1.prototype.decodeSequenceHeader = function () {\n var newWidth = this.bits.read(12),\n newHeight = this.bits.read(12);\n this.bits.skip(4);\n this.frameRate = MPEG1.PICTURE_RATE[this.bits.read(4)];\n this.bits.skip(18 + 1 + 10 + 1);\n if (newWidth !== this.width || newHeight !== this.height) {\n this.width = newWidth;\n this.height = newHeight;\n this.initBuffers();\n if (this.destination) {\n this.destination.resize(newWidth, newHeight);\n }\n }\n if (this.bits.read(1)) {\n for (var i = 0; i < 64; i++) {\n this.customIntraQuantMatrix[MPEG1.ZIG_ZAG[i]] = this.bits.read(8);\n }\n this.intraQuantMatrix = this.customIntraQuantMatrix;\n }\n if (this.bits.read(1)) {\n for (var i = 0; i < 64; i++) {\n var idx = MPEG1.ZIG_ZAG[i];\n this.customNonIntraQuantMatrix[idx] = this.bits.read(8);\n }\n this.nonIntraQuantMatrix = this.customNonIntraQuantMatrix;\n }\n this.hasSequenceHeader = true;\n };\n MPEG1.prototype.initBuffers = function () {\n this.intraQuantMatrix = MPEG1.DEFAULT_INTRA_QUANT_MATRIX;\n this.nonIntraQuantMatrix = MPEG1.DEFAULT_NON_INTRA_QUANT_MATRIX;\n this.mbWidth = this.width + 15 >> 4;\n this.mbHeight = this.height + 15 >> 4;\n this.mbSize = this.mbWidth * this.mbHeight;\n this.codedWidth = this.mbWidth << 4;\n this.codedHeight = this.mbHeight << 4;\n this.codedSize = this.codedWidth * this.codedHeight;\n this.halfWidth = this.mbWidth << 3;\n this.halfHeight = this.mbHeight << 3;\n this.currentY = new Uint8ClampedArray(this.codedSize);\n this.currentY32 = new Uint32Array(this.currentY.buffer);\n this.currentCr = new Uint8ClampedArray(this.codedSize >> 2);\n this.currentCr32 = new Uint32Array(this.currentCr.buffer);\n this.currentCb = new Uint8ClampedArray(this.codedSize >> 2);\n this.currentCb32 = new Uint32Array(this.currentCb.buffer);\n this.forwardY = new Uint8ClampedArray(this.codedSize);\n this.forwardY32 = new Uint32Array(this.forwardY.buffer);\n this.forwardCr = new Uint8ClampedArray(this.codedSize >> 2);\n this.forwardCr32 = new Uint32Array(this.forwardCr.buffer);\n this.forwardCb = new Uint8ClampedArray(this.codedSize >> 2);\n this.forwardCb32 = new Uint32Array(this.forwardCb.buffer);\n };\n MPEG1.prototype.currentY = null;\n MPEG1.prototype.currentCr = null;\n MPEG1.prototype.currentCb = null;\n MPEG1.prototype.pictureType = 0;\n MPEG1.prototype.forwardY = null;\n MPEG1.prototype.forwardCr = null;\n MPEG1.prototype.forwardCb = null;\n MPEG1.prototype.fullPelForward = false;\n MPEG1.prototype.forwardFCode = 0;\n MPEG1.prototype.forwardRSize = 0;\n MPEG1.prototype.forwardF = 0;\n MPEG1.prototype.decodePicture = function (skipOutput) {\n this.currentFrame++;\n this.bits.skip(10);\n this.pictureType = this.bits.read(3);\n this.bits.skip(16);\n if (this.pictureType <= 0 || this.pictureType >= MPEG1.PICTURE_TYPE.B) {\n return;\n }\n if (this.pictureType === MPEG1.PICTURE_TYPE.PREDICTIVE) {\n this.fullPelForward = this.bits.read(1);\n this.forwardFCode = this.bits.read(3);\n if (this.forwardFCode === 0) {\n return;\n }\n this.forwardRSize = this.forwardFCode - 1;\n this.forwardF = 1 << this.forwardRSize;\n }\n var code = 0;\n do {\n code = this.bits.findNextStartCode();\n } while (code === MPEG1.START.EXTENSION || code === MPEG1.START.USER_DATA);\n while (code >= MPEG1.START.SLICE_FIRST && code <= MPEG1.START.SLICE_LAST) {\n this.decodeSlice(code & 255);\n code = this.bits.findNextStartCode();\n }\n if (code !== -1) {\n this.bits.rewind(32);\n }\n if (this.destination) {\n this.destination.render(this.currentY, this.currentCr, this.currentCb, true);\n }\n if (this.pictureType === MPEG1.PICTURE_TYPE.INTRA || this.pictureType === MPEG1.PICTURE_TYPE.PREDICTIVE) {\n var tmpY = this.forwardY,\n tmpY32 = this.forwardY32,\n tmpCr = this.forwardCr,\n tmpCr32 = this.forwardCr32,\n tmpCb = this.forwardCb,\n tmpCb32 = this.forwardCb32;\n this.forwardY = this.currentY;\n this.forwardY32 = this.currentY32;\n this.forwardCr = this.currentCr;\n this.forwardCr32 = this.currentCr32;\n this.forwardCb = this.currentCb;\n this.forwardCb32 = this.currentCb32;\n this.currentY = tmpY;\n this.currentY32 = tmpY32;\n this.currentCr = tmpCr;\n this.currentCr32 = tmpCr32;\n this.currentCb = tmpCb;\n this.currentCb32 = tmpCb32;\n }\n };\n MPEG1.prototype.quantizerScale = 0;\n MPEG1.prototype.sliceBegin = false;\n MPEG1.prototype.decodeSlice = function (slice) {\n this.sliceBegin = true;\n this.macroblockAddress = (slice - 1) * this.mbWidth - 1;\n this.motionFwH = this.motionFwHPrev = 0;\n this.motionFwV = this.motionFwVPrev = 0;\n this.dcPredictorY = 128;\n this.dcPredictorCr = 128;\n this.dcPredictorCb = 128;\n this.quantizerScale = this.bits.read(5);\n while (this.bits.read(1)) {\n this.bits.skip(8);\n }\n do {\n this.decodeMacroblock();\n } while (!this.bits.nextBytesAreStartCode());\n };\n MPEG1.prototype.macroblockAddress = 0;\n MPEG1.prototype.mbRow = 0;\n MPEG1.prototype.mbCol = 0;\n MPEG1.prototype.macroblockType = 0;\n MPEG1.prototype.macroblockIntra = false;\n MPEG1.prototype.macroblockMotFw = false;\n MPEG1.prototype.motionFwH = 0;\n MPEG1.prototype.motionFwV = 0;\n MPEG1.prototype.motionFwHPrev = 0;\n MPEG1.prototype.motionFwVPrev = 0;\n MPEG1.prototype.decodeMacroblock = function () {\n var increment = 0,\n t = this.readHuffman(MPEG1.MACROBLOCK_ADDRESS_INCREMENT);\n while (t === 34) {\n t = this.readHuffman(MPEG1.MACROBLOCK_ADDRESS_INCREMENT);\n }\n while (t === 35) {\n increment += 33;\n t = this.readHuffman(MPEG1.MACROBLOCK_ADDRESS_INCREMENT);\n }\n increment += t;\n if (this.sliceBegin) {\n this.sliceBegin = false;\n this.macroblockAddress += increment;\n } else {\n if (this.macroblockAddress + increment >= this.mbSize) {\n return;\n }\n if (increment > 1) {\n this.dcPredictorY = 128;\n this.dcPredictorCr = 128;\n this.dcPredictorCb = 128;\n if (this.pictureType === MPEG1.PICTURE_TYPE.PREDICTIVE) {\n this.motionFwH = this.motionFwHPrev = 0;\n this.motionFwV = this.motionFwVPrev = 0;\n }\n }\n while (increment > 1) {\n this.macroblockAddress++;\n this.mbRow = this.macroblockAddress / this.mbWidth | 0;\n this.mbCol = this.macroblockAddress % this.mbWidth;\n this.copyMacroblock(this.motionFwH, this.motionFwV, this.forwardY, this.forwardCr, this.forwardCb);\n increment--;\n }\n this.macroblockAddress++;\n }\n this.mbRow = this.macroblockAddress / this.mbWidth | 0;\n this.mbCol = this.macroblockAddress % this.mbWidth;\n var mbTable = MPEG1.MACROBLOCK_TYPE[this.pictureType];\n this.macroblockType = this.readHuffman(mbTable);\n this.macroblockIntra = this.macroblockType & 1;\n this.macroblockMotFw = this.macroblockType & 8;\n if ((this.macroblockType & 16) !== 0) {\n this.quantizerScale = this.bits.read(5);\n }\n if (this.macroblockIntra) {\n this.motionFwH = this.motionFwHPrev = 0;\n this.motionFwV = this.motionFwVPrev = 0;\n } else {\n this.dcPredictorY = 128;\n this.dcPredictorCr = 128;\n this.dcPredictorCb = 128;\n this.decodeMotionVectors();\n this.copyMacroblock(this.motionFwH, this.motionFwV, this.forwardY, this.forwardCr, this.forwardCb);\n }\n var cbp = (this.macroblockType & 2) !== 0 ? this.readHuffman(MPEG1.CODE_BLOCK_PATTERN) : this.macroblockIntra ? 63 : 0;\n for (var block = 0, mask = 32; block < 6; block++) {\n if ((cbp & mask) !== 0) {\n this.decodeBlock(block);\n }\n mask >>= 1;\n }\n };\n MPEG1.prototype.decodeMotionVectors = function () {\n var code,\n d,\n r = 0;\n if (this.macroblockMotFw) {\n code = this.readHuffman(MPEG1.MOTION);\n if (code !== 0 && this.forwardF !== 1) {\n r = this.bits.read(this.forwardRSize);\n d = (Math.abs(code) - 1 << this.forwardRSize) + r + 1;\n if (code < 0) {\n d = -d;\n }\n } else {\n d = code;\n }\n this.motionFwHPrev += d;\n if (this.motionFwHPrev > (this.forwardF << 4) - 1) {\n this.motionFwHPrev -= this.forwardF << 5;\n } else if (this.motionFwHPrev < -this.forwardF << 4) {\n this.motionFwHPrev += this.forwardF << 5;\n }\n this.motionFwH = this.motionFwHPrev;\n if (this.fullPelForward) {\n this.motionFwH <<= 1;\n }\n code = this.readHuffman(MPEG1.MOTION);\n if (code !== 0 && this.forwardF !== 1) {\n r = this.bits.read(this.forwardRSize);\n d = (Math.abs(code) - 1 << this.forwardRSize) + r + 1;\n if (code < 0) {\n d = -d;\n }\n } else {\n d = code;\n }\n this.motionFwVPrev += d;\n if (this.motionFwVPrev > (this.forwardF << 4) - 1) {\n this.motionFwVPrev -= this.forwardF << 5;\n } else if (this.motionFwVPrev < -this.forwardF << 4) {\n this.motionFwVPrev += this.forwardF << 5;\n }\n this.motionFwV = this.motionFwVPrev;\n if (this.fullPelForward) {\n this.motionFwV <<= 1;\n }\n } else if (this.pictureType === MPEG1.PICTURE_TYPE.PREDICTIVE) {\n this.motionFwH = this.motionFwHPrev = 0;\n this.motionFwV = this.motionFwVPrev = 0;\n }\n };\n MPEG1.prototype.copyMacroblock = function (motionH, motionV, sY, sCr, sCb) {\n var width, scan, H, V, oddH, oddV, src, dest, last;\n var dY = this.currentY32,\n dCb = this.currentCb32,\n dCr = this.currentCr32;\n width = this.codedWidth;\n scan = width - 16;\n H = motionH >> 1;\n V = motionV >> 1;\n oddH = (motionH & 1) === 1;\n oddV = (motionV & 1) === 1;\n src = ((this.mbRow << 4) + V) * width + (this.mbCol << 4) + H;\n dest = this.mbRow * width + this.mbCol << 2;\n last = dest + (width << 2);\n var x, y1, y2, y;\n if (oddH) {\n if (oddV) {\n while (dest < last) {\n y1 = sY[src] + sY[src + width];\n src++;\n for (x = 0; x < 4; x++) {\n y2 = sY[src] + sY[src + width];\n src++;\n y = y1 + y2 + 2 >> 2 & 255;\n y1 = sY[src] + sY[src + width];\n src++;\n y |= y1 + y2 + 2 << 6 & 65280;\n y2 = sY[src] + sY[src + width];\n src++;\n y |= y1 + y2 + 2 << 14 & 16711680;\n y1 = sY[src] + sY[src + width];\n src++;\n y |= y1 + y2 + 2 << 22 & 4278190080;\n dY[dest++] = y;\n }\n dest += scan >> 2;\n src += scan - 1;\n }\n } else {\n while (dest < last) {\n y1 = sY[src++];\n for (x = 0; x < 4; x++) {\n y2 = sY[src++];\n y = y1 + y2 + 1 >> 1 & 255;\n y1 = sY[src++];\n y |= y1 + y2 + 1 << 7 & 65280;\n y2 = sY[src++];\n y |= y1 + y2 + 1 << 15 & 16711680;\n y1 = sY[src++];\n y |= y1 + y2 + 1 << 23 & 4278190080;\n dY[dest++] = y;\n }\n dest += scan >> 2;\n src += scan - 1;\n }\n }\n } else {\n if (oddV) {\n while (dest < last) {\n for (x = 0; x < 4; x++) {\n y = sY[src] + sY[src + width] + 1 >> 1 & 255;\n src++;\n y |= sY[src] + sY[src + width] + 1 << 7 & 65280;\n src++;\n y |= sY[src] + sY[src + width] + 1 << 15 & 16711680;\n src++;\n y |= sY[src] + sY[src + width] + 1 << 23 & 4278190080;\n src++;\n dY[dest++] = y;\n }\n dest += scan >> 2;\n src += scan;\n }\n } else {\n while (dest < last) {\n for (x = 0; x < 4; x++) {\n y = sY[src];\n src++;\n y |= sY[src] << 8;\n src++;\n y |= sY[src] << 16;\n src++;\n y |= sY[src] << 24;\n src++;\n dY[dest++] = y;\n }\n dest += scan >> 2;\n src += scan;\n }\n }\n }\n width = this.halfWidth;\n scan = width - 8;\n H = motionH / 2 >> 1;\n V = motionV / 2 >> 1;\n oddH = (motionH / 2 & 1) === 1;\n oddV = (motionV / 2 & 1) === 1;\n src = ((this.mbRow << 3) + V) * width + (this.mbCol << 3) + H;\n dest = this.mbRow * width + this.mbCol << 1;\n last = dest + (width << 1);\n var cr1, cr2, cr, cb1, cb2, cb;\n if (oddH) {\n if (oddV) {\n while (dest < last) {\n cr1 = sCr[src] + sCr[src + width];\n cb1 = sCb[src] + sCb[src + width];\n src++;\n for (x = 0; x < 2; x++) {\n cr2 = sCr[src] + sCr[src + width];\n cb2 = sCb[src] + sCb[src + width];\n src++;\n cr = cr1 + cr2 + 2 >> 2 & 255;\n cb = cb1 + cb2 + 2 >> 2 & 255;\n cr1 = sCr[src] + sCr[src + width];\n cb1 = sCb[src] + sCb[src + width];\n src++;\n cr |= cr1 + cr2 + 2 << 6 & 65280;\n cb |= cb1 + cb2 + 2 << 6 & 65280;\n cr2 = sCr[src] + sCr[src + width];\n cb2 = sCb[src] + sCb[src + width];\n src++;\n cr |= cr1 + cr2 + 2 << 14 & 16711680;\n cb |= cb1 + cb2 + 2 << 14 & 16711680;\n cr1 = sCr[src] + sCr[src + width];\n cb1 = sCb[src] + sCb[src + width];\n src++;\n cr |= cr1 + cr2 + 2 << 22 & 4278190080;\n cb |= cb1 + cb2 + 2 << 22 & 4278190080;\n dCr[dest] = cr;\n dCb[dest] = cb;\n dest++;\n }\n dest += scan >> 2;\n src += scan - 1;\n }\n } else {\n while (dest < last) {\n cr1 = sCr[src];\n cb1 = sCb[src];\n src++;\n for (x = 0; x < 2; x++) {\n cr2 = sCr[src];\n cb2 = sCb[src++];\n cr = cr1 + cr2 + 1 >> 1 & 255;\n cb = cb1 + cb2 + 1 >> 1 & 255;\n cr1 = sCr[src];\n cb1 = sCb[src++];\n cr |= cr1 + cr2 + 1 << 7 & 65280;\n cb |= cb1 + cb2 + 1 << 7 & 65280;\n cr2 = sCr[src];\n cb2 = sCb[src++];\n cr |= cr1 + cr2 + 1 << 15 & 16711680;\n cb |= cb1 + cb2 + 1 << 15 & 16711680;\n cr1 = sCr[src];\n cb1 = sCb[src++];\n cr |= cr1 + cr2 + 1 << 23 & 4278190080;\n cb |= cb1 + cb2 + 1 << 23 & 4278190080;\n dCr[dest] = cr;\n dCb[dest] = cb;\n dest++;\n }\n dest += scan >> 2;\n src += scan - 1;\n }\n }\n } else {\n if (oddV) {\n while (dest < last) {\n for (x = 0; x < 2; x++) {\n cr = sCr[src] + sCr[src + width] + 1 >> 1 & 255;\n cb = sCb[src] + sCb[src + width] + 1 >> 1 & 255;\n src++;\n cr |= sCr[src] + sCr[src + width] + 1 << 7 & 65280;\n cb |= sCb[src] + sCb[src + width] + 1 << 7 & 65280;\n src++;\n cr |= sCr[src] + sCr[src + width] + 1 << 15 & 16711680;\n cb |= sCb[src] + sCb[src + width] + 1 << 15 & 16711680;\n src++;\n cr |= sCr[src] + sCr[src + width] + 1 << 23 & 4278190080;\n cb |= sCb[src] + sCb[src + width] + 1 << 23 & 4278190080;\n src++;\n dCr[dest] = cr;\n dCb[dest] = cb;\n dest++;\n }\n dest += scan >> 2;\n src += scan;\n }\n } else {\n while (dest < last) {\n for (x = 0; x < 2; x++) {\n cr = sCr[src];\n cb = sCb[src];\n src++;\n cr |= sCr[src] << 8;\n cb |= sCb[src] << 8;\n src++;\n cr |= sCr[src] << 16;\n cb |= sCb[src] << 16;\n src++;\n cr |= sCr[src] << 24;\n cb |= sCb[src] << 24;\n src++;\n dCr[dest] = cr;\n dCb[dest] = cb;\n dest++;\n }\n dest += scan >> 2;\n src += scan;\n }\n }\n }\n };\n MPEG1.prototype.dcPredictorY = 0;\n MPEG1.prototype.dcPredictorCr = 0;\n MPEG1.prototype.dcPredictorCb = 0;\n MPEG1.prototype.blockData = null;\n MPEG1.prototype.decodeBlock = function (block) {\n var n = 0,\n quantMatrix;\n if (this.macroblockIntra) {\n var predictor, dctSize;\n if (block < 4) {\n predictor = this.dcPredictorY;\n dctSize = this.readHuffman(MPEG1.DCT_DC_SIZE_LUMINANCE);\n } else {\n predictor = block === 4 ? this.dcPredictorCr : this.dcPredictorCb;\n dctSize = this.readHuffman(MPEG1.DCT_DC_SIZE_CHROMINANCE);\n }\n if (dctSize > 0) {\n var differential = this.bits.read(dctSize);\n if ((differential & 1 << dctSize - 1) !== 0) {\n this.blockData[0] = predictor + differential;\n } else {\n this.blockData[0] = predictor + (-1 << dctSize | differential + 1);\n }\n } else {\n this.blockData[0] = predictor;\n }\n if (block < 4) {\n this.dcPredictorY = this.blockData[0];\n } else if (block === 4) {\n this.dcPredictorCr = this.blockData[0];\n } else {\n this.dcPredictorCb = this.blockData[0];\n }\n this.blockData[0] <<= 3 + 5;\n quantMatrix = this.intraQuantMatrix;\n n = 1;\n } else {\n quantMatrix = this.nonIntraQuantMatrix;\n }\n var level = 0;\n while (true) {\n var run = 0,\n coeff = this.readHuffman(MPEG1.DCT_COEFF);\n if (coeff === 1 && n > 0 && this.bits.read(1) === 0) {\n break;\n }\n if (coeff === 65535) {\n run = this.bits.read(6);\n level = this.bits.read(8);\n if (level === 0) {\n level = this.bits.read(8);\n } else if (level === 128) {\n level = this.bits.read(8) - 256;\n } else if (level > 128) {\n level = level - 256;\n }\n } else {\n run = coeff >> 8;\n level = coeff & 255;\n if (this.bits.read(1)) {\n level = -level;\n }\n }\n n += run;\n var dezigZagged = MPEG1.ZIG_ZAG[n];\n n++;\n level <<= 1;\n if (!this.macroblockIntra) {\n level += level < 0 ? -1 : 1;\n }\n level = level * this.quantizerScale * quantMatrix[dezigZagged] >> 4;\n if ((level & 1) === 0) {\n level -= level > 0 ? 1 : -1;\n }\n if (level > 2047) {\n level = 2047;\n } else if (level < -2048) {\n level = -2048;\n }\n this.blockData[dezigZagged] = level * MPEG1.PREMULTIPLIER_MATRIX[dezigZagged];\n }\n var destArray, destIndex, scan;\n if (block < 4) {\n destArray = this.currentY;\n scan = this.codedWidth - 8;\n destIndex = this.mbRow * this.codedWidth + this.mbCol << 4;\n if ((block & 1) !== 0) {\n destIndex += 8;\n }\n if ((block & 2) !== 0) {\n destIndex += this.codedWidth << 3;\n }\n } else {\n destArray = block === 4 ? this.currentCb : this.currentCr;\n scan = (this.codedWidth >> 1) - 8;\n destIndex = (this.mbRow * this.codedWidth << 2) + (this.mbCol << 3);\n }\n if (this.macroblockIntra) {\n if (n === 1) {\n MPEG1.CopyValueToDestination(this.blockData[0] + 128 >> 8, destArray, destIndex, scan);\n this.blockData[0] = 0;\n } else {\n MPEG1.IDCT(this.blockData);\n MPEG1.CopyBlockToDestination(this.blockData, destArray, destIndex, scan);\n JSMpeg.Fill(this.blockData, 0);\n }\n } else {\n if (n === 1) {\n MPEG1.AddValueToDestination(this.blockData[0] + 128 >> 8, destArray, destIndex, scan);\n this.blockData[0] = 0;\n } else {\n MPEG1.IDCT(this.blockData);\n MPEG1.AddBlockToDestination(this.blockData, destArray, destIndex, scan);\n JSMpeg.Fill(this.blockData, 0);\n }\n }\n n = 0;\n };\n MPEG1.CopyBlockToDestination = function (block, dest, index, scan) {\n for (var n = 0; n < 64; n += 8, index += scan + 8) {\n dest[index + 0] = block[n + 0];\n dest[index + 1] = block[n + 1];\n dest[index + 2] = block[n + 2];\n dest[index + 3] = block[n + 3];\n dest[index + 4] = block[n + 4];\n dest[index + 5] = block[n + 5];\n dest[index + 6] = block[n + 6];\n dest[index + 7] = block[n + 7];\n }\n };\n MPEG1.AddBlockToDestination = function (block, dest, index, scan) {\n for (var n = 0; n < 64; n += 8, index += scan + 8) {\n dest[index + 0] += block[n + 0];\n dest[index + 1] += block[n + 1];\n dest[index + 2] += block[n + 2];\n dest[index + 3] += block[n + 3];\n dest[index + 4] += block[n + 4];\n dest[index + 5] += block[n + 5];\n dest[index + 6] += block[n + 6];\n dest[index + 7] += block[n + 7];\n }\n };\n MPEG1.CopyValueToDestination = function (value, dest, index, scan) {\n for (var n = 0; n < 64; n += 8, index += scan + 8) {\n dest[index + 0] = value;\n dest[index + 1] = value;\n dest[index + 2] = value;\n dest[index + 3] = value;\n dest[index + 4] = value;\n dest[index + 5] = value;\n dest[index + 6] = value;\n dest[index + 7] = value;\n }\n };\n MPEG1.AddValueToDestination = function (value, dest, index, scan) {\n for (var n = 0; n < 64; n += 8, index += scan + 8) {\n dest[index + 0] += value;\n dest[index + 1] += value;\n dest[index + 2] += value;\n dest[index + 3] += value;\n dest[index + 4] += value;\n dest[index + 5] += value;\n dest[index + 6] += value;\n dest[index + 7] += value;\n }\n };\n MPEG1.IDCT = function (block) {\n var b1, b3, b4, b6, b7, tmp1, tmp2, m0, x0, x1, x2, x3, x4, y3, y4, y5, y6, y7;\n for (var i = 0; i < 8; ++i) {\n b1 = block[4 * 8 + i];\n b3 = block[2 * 8 + i] + block[6 * 8 + i];\n b4 = block[5 * 8 + i] - block[3 * 8 + i];\n tmp1 = block[1 * 8 + i] + block[7 * 8 + i];\n tmp2 = block[3 * 8 + i] + block[5 * 8 + i];\n b6 = block[1 * 8 + i] - block[7 * 8 + i];\n b7 = tmp1 + tmp2;\n m0 = block[0 * 8 + i];\n x4 = (b6 * 473 - b4 * 196 + 128 >> 8) - b7;\n x0 = x4 - ((tmp1 - tmp2) * 362 + 128 >> 8);\n x1 = m0 - b1;\n x2 = ((block[2 * 8 + i] - block[6 * 8 + i]) * 362 + 128 >> 8) - b3;\n x3 = m0 + b1;\n y3 = x1 + x2;\n y4 = x3 + b3;\n y5 = x1 - x2;\n y6 = x3 - b3;\n y7 = -x0 - (b4 * 473 + b6 * 196 + 128 >> 8);\n block[0 * 8 + i] = b7 + y4;\n block[1 * 8 + i] = x4 + y3;\n block[2 * 8 + i] = y5 - x0;\n block[3 * 8 + i] = y6 - y7;\n block[4 * 8 + i] = y6 + y7;\n block[5 * 8 + i] = x0 + y5;\n block[6 * 8 + i] = y3 - x4;\n block[7 * 8 + i] = y4 - b7;\n }\n for (var i = 0; i < 64; i += 8) {\n b1 = block[4 + i];\n b3 = block[2 + i] + block[6 + i];\n b4 = block[5 + i] - block[3 + i];\n tmp1 = block[1 + i] + block[7 + i];\n tmp2 = block[3 + i] + block[5 + i];\n b6 = block[1 + i] - block[7 + i];\n b7 = tmp1 + tmp2;\n m0 = block[0 + i];\n x4 = (b6 * 473 - b4 * 196 + 128 >> 8) - b7;\n x0 = x4 - ((tmp1 - tmp2) * 362 + 128 >> 8);\n x1 = m0 - b1;\n x2 = ((block[2 + i] - block[6 + i]) * 362 + 128 >> 8) - b3;\n x3 = m0 + b1;\n y3 = x1 + x2;\n y4 = x3 + b3;\n y5 = x1 - x2;\n y6 = x3 - b3;\n y7 = -x0 - (b4 * 473 + b6 * 196 + 128 >> 8);\n block[0 + i] = b7 + y4 + 128 >> 8;\n block[1 + i] = x4 + y3 + 128 >> 8;\n block[2 + i] = y5 - x0 + 128 >> 8;\n block[3 + i] = y6 - y7 + 128 >> 8;\n block[4 + i] = y6 + y7 + 128 >> 8;\n block[5 + i] = x0 + y5 + 128 >> 8;\n block[6 + i] = y3 - x4 + 128 >> 8;\n block[7 + i] = y4 - b7 + 128 >> 8;\n }\n };\n MPEG1.PICTURE_RATE = [0, 23.976, 24, 25, 29.97, 30, 50, 59.94, 60, 0, 0, 0, 0, 0, 0, 0];\n MPEG1.ZIG_ZAG = new Uint8Array([0, 1, 8, 16, 9, 2, 3, 10, 17, 24, 32, 25, 18, 11, 4, 5, 12, 19, 26, 33, 40, 48, 41, 34, 27, 20, 13, 6, 7, 14, 21, 28, 35, 42, 49, 56, 57, 50, 43, 36, 29, 22, 15, 23, 30, 37, 44, 51, 58, 59, 52, 45, 38, 31, 39, 46, 53, 60, 61, 54, 47, 55, 62, 63]);\n MPEG1.DEFAULT_INTRA_QUANT_MATRIX = new Uint8Array([8, 16, 19, 22, 26, 27, 29, 34, 16, 16, 22, 24, 27, 29, 34, 37, 19, 22, 26, 27, 29, 34, 34, 38, 22, 22, 26, 27, 29, 34, 37, 40, 22, 26, 27, 29, 32, 35, 40, 48, 26, 27, 29, 32, 35, 40, 48, 58, 26, 27, 29, 34, 38, 46, 56, 69, 27, 29, 35, 38, 46, 56, 69, 83]);\n MPEG1.DEFAULT_NON_INTRA_QUANT_MATRIX = new Uint8Array([16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16]);\n MPEG1.PREMULTIPLIER_MATRIX = new Uint8Array([32, 44, 42, 38, 32, 25, 17, 9, 44, 62, 58, 52, 44, 35, 24, 12, 42, 58, 55, 49, 42, 33, 23, 12, 38, 52, 49, 44, 38, 30, 20, 10, 32, 44, 42, 38, 32, 25, 17, 9, 25, 35, 33, 30, 25, 20, 14, 7, 17, 24, 23, 20, 17, 14, 9, 5, 9, 12, 12, 10, 9, 7, 5, 2]);\n MPEG1.MACROBLOCK_ADDRESS_INCREMENT = new Int16Array([1 * 3, 2 * 3, 0, 3 * 3, 4 * 3, 0, 0, 0, 1, 5 * 3, 6 * 3, 0, 7 * 3, 8 * 3, 0, 9 * 3, 10 * 3, 0, 11 * 3, 12 * 3, 0, 0, 0, 3, 0, 0, 2, 13 * 3, 14 * 3, 0, 15 * 3, 16 * 3, 0, 0, 0, 5, 0, 0, 4, 17 * 3, 18 * 3, 0, 19 * 3, 20 * 3, 0, 0, 0, 7, 0, 0, 6, 21 * 3, 22 * 3, 0, 23 * 3, 24 * 3, 0, 25 * 3, 26 * 3, 0, 27 * 3, 28 * 3, 0, -1, 29 * 3, 0, -1, 30 * 3, 0, 31 * 3, 32 * 3, 0, 33 * 3, 34 * 3, 0, 35 * 3, 36 * 3, 0, 37 * 3, 38 * 3, 0, 0, 0, 9, 0, 0, 8, 39 * 3, 40 * 3, 0, 41 * 3, 42 * 3, 0, 43 * 3, 44 * 3, 0, 45 * 3, 46 * 3, 0, 0, 0, 15, 0, 0, 14, 0, 0, 13, 0, 0, 12, 0, 0, 11, 0, 0, 10, 47 * 3, -1, 0, -1, 48 * 3, 0, 49 * 3, 50 * 3, 0, 51 * 3, 52 * 3, 0, 53 * 3, 54 * 3, 0, 55 * 3, 56 * 3, 0, 57 * 3, 58 * 3, 0, 59 * 3, 60 * 3, 0, 61 * 3, -1, 0, -1, 62 * 3, 0, 63 * 3, 64 * 3, 0, 65 * 3, 66 * 3, 0, 67 * 3, 68 * 3, 0, 69 * 3, 70 * 3, 0, 71 * 3, 72 * 3, 0, 73 * 3, 74 * 3, 0, 0, 0, 21, 0, 0, 20, 0, 0, 19, 0, 0, 18, 0, 0, 17, 0, 0, 16, 0, 0, 35, 0, 0, 34, 0, 0, 33, 0, 0, 32, 0, 0, 31, 0, 0, 30, 0, 0, 29, 0, 0, 28, 0, 0, 27, 0, 0, 26, 0, 0, 25, 0, 0, 24, 0, 0, 23, 0, 0, 22]);\n MPEG1.MACROBLOCK_TYPE_INTRA = new Int8Array([1 * 3, 2 * 3, 0, -1, 3 * 3, 0, 0, 0, 1, 0, 0, 17]);\n MPEG1.MACROBLOCK_TYPE_PREDICTIVE = new Int8Array([1 * 3, 2 * 3, 0, 3 * 3, 4 * 3, 0, 0, 0, 10, 5 * 3, 6 * 3, 0, 0, 0, 2, 7 * 3, 8 * 3, 0, 0, 0, 8, 9 * 3, 10 * 3, 0, 11 * 3, 12 * 3, 0, -1, 13 * 3, 0, 0, 0, 18, 0, 0, 26, 0, 0, 1, 0, 0, 17]);\n MPEG1.MACROBLOCK_TYPE_B = new Int8Array([1 * 3, 2 * 3, 0, 3 * 3, 5 * 3, 0, 4 * 3, 6 * 3, 0, 8 * 3, 7 * 3, 0, 0, 0, 12, 9 * 3, 10 * 3, 0, 0, 0, 14, 13 * 3, 14 * 3, 0, 12 * 3, 11 * 3, 0, 0, 0, 4, 0, 0, 6, 18 * 3, 16 * 3, 0, 15 * 3, 17 * 3, 0, 0, 0, 8, 0, 0, 10, -1, 19 * 3, 0, 0, 0, 1, 20 * 3, 21 * 3, 0, 0, 0, 30, 0, 0, 17, 0, 0, 22, 0, 0, 26]);\n MPEG1.MACROBLOCK_TYPE = [null, MPEG1.MACROBLOCK_TYPE_INTRA, MPEG1.MACROBLOCK_TYPE_PREDICTIVE, MPEG1.MACROBLOCK_TYPE_B];\n MPEG1.CODE_BLOCK_PATTERN = new Int16Array([2 * 3, 1 * 3, 0, 3 * 3, 6 * 3, 0, 4 * 3, 5 * 3, 0, 8 * 3, 11 * 3, 0, 12 * 3, 13 * 3, 0, 9 * 3, 7 * 3, 0, 10 * 3, 14 * 3, 0, 20 * 3, 19 * 3, 0, 18 * 3, 16 * 3, 0, 23 * 3, 17 * 3, 0, 27 * 3, 25 * 3, 0, 21 * 3, 28 * 3, 0, 15 * 3, 22 * 3, 0, 24 * 3, 26 * 3, 0, 0, 0, 60, 35 * 3, 40 * 3, 0, 44 * 3, 48 * 3, 0, 38 * 3, 36 * 3, 0, 42 * 3, 47 * 3, 0, 29 * 3, 31 * 3, 0, 39 * 3, 32 * 3, 0, 0, 0, 32, 45 * 3, 46 * 3, 0, 33 * 3, 41 * 3, 0, 43 * 3, 34 * 3, 0, 0, 0, 4, 30 * 3, 37 * 3, 0, 0, 0, 8, 0, 0, 16, 0, 0, 44, 50 * 3, 56 * 3, 0, 0, 0, 28, 0, 0, 52, 0, 0, 62, 61 * 3, 59 * 3, 0, 52 * 3, 60 * 3, 0, 0, 0, 1, 55 * 3, 54 * 3, 0, 0, 0, 61, 0, 0, 56, 57 * 3, 58 * 3, 0, 0, 0, 2, 0, 0, 40, 51 * 3, 62 * 3, 0, 0, 0, 48, 64 * 3, 63 * 3, 0, 49 * 3, 53 * 3, 0, 0, 0, 20, 0, 0, 12, 80 * 3, 83 * 3, 0, 0, 0, 63, 77 * 3, 75 * 3, 0, 65 * 3, 73 * 3, 0, 84 * 3, 66 * 3, 0, 0, 0, 24, 0, 0, 36, 0, 0, 3, 69 * 3, 87 * 3, 0, 81 * 3, 79 * 3, 0, 68 * 3, 71 * 3, 0, 70 * 3, 78 * 3, 0, 67 * 3, 76 * 3, 0, 72 * 3, 74 * 3, 0, 86 * 3, 85 * 3, 0, 88 * 3, 82 * 3, 0, -1, 94 * 3, 0, 95 * 3, 97 * 3, 0, 0, 0, 33, 0, 0, 9, 106 * 3, 110 * 3, 0, 102 * 3, 116 * 3, 0, 0, 0, 5, 0, 0, 10, 93 * 3, 89 * 3, 0, 0, 0, 6, 0, 0, 18, 0, 0, 17, 0, 0, 34, 113 * 3, 119 * 3, 0, 103 * 3, 104 * 3, 0, 90 * 3, 92 * 3, 0, 109 * 3, 107 * 3, 0, 117 * 3, 118 * 3, 0, 101 * 3, 99 * 3, 0, 98 * 3, 96 * 3, 0, 100 * 3, 91 * 3, 0, 114 * 3, 115 * 3, 0, 105 * 3, 108 * 3, 0, 112 * 3, 111 * 3, 0, 121 * 3, 125 * 3, 0, 0, 0, 41, 0, 0, 14, 0, 0, 21, 124 * 3, 122 * 3, 0, 120 * 3, 123 * 3, 0, 0, 0, 11, 0, 0, 19, 0, 0, 7, 0, 0, 35, 0, 0, 13, 0, 0, 50, 0, 0, 49, 0, 0, 58, 0, 0, 37, 0, 0, 25, 0, 0, 45, 0, 0, 57, 0, 0, 26, 0, 0, 29, 0, 0, 38, 0, 0, 53, 0, 0, 23, 0, 0, 43, 0, 0, 46, 0, 0, 42, 0, 0, 22, 0, 0, 54, 0, 0, 51, 0, 0, 15, 0, 0, 30, 0, 0, 39, 0, 0, 47, 0, 0, 55, 0, 0, 27, 0, 0, 59, 0, 0, 31]);\n MPEG1.MOTION = new Int16Array([1 * 3, 2 * 3, 0, 4 * 3, 3 * 3, 0, 0, 0, 0, 6 * 3, 5 * 3, 0, 8 * 3, 7 * 3, 0, 0, 0, -1, 0, 0, 1, 9 * 3, 10 * 3, 0, 12 * 3, 11 * 3, 0, 0, 0, 2, 0, 0, -2, 14 * 3, 15 * 3, 0, 16 * 3, 13 * 3, 0, 20 * 3, 18 * 3, 0, 0, 0, 3, 0, 0, -3, 17 * 3, 19 * 3, 0, -1, 23 * 3, 0, 27 * 3, 25 * 3, 0, 26 * 3, 21 * 3, 0, 24 * 3, 22 * 3, 0, 32 * 3, 28 * 3, 0, 29 * 3, 31 * 3, 0, -1, 33 * 3, 0, 36 * 3, 35 * 3, 0, 0, 0, -4, 30 * 3, 34 * 3, 0, 0, 0, 4, 0, 0, -7, 0, 0, 5, 37 * 3, 41 * 3, 0, 0, 0, -5, 0, 0, 7, 38 * 3, 40 * 3, 0, 42 * 3, 39 * 3, 0, 0, 0, -6, 0, 0, 6, 51 * 3, 54 * 3, 0, 50 * 3, 49 * 3, 0, 45 * 3, 46 * 3, 0, 52 * 3, 47 * 3, 0, 43 * 3, 53 * 3, 0, 44 * 3, 48 * 3, 0, 0, 0, 10, 0, 0, 9, 0, 0, 8, 0, 0, -8, 57 * 3, 66 * 3, 0, 0, 0, -9, 60 * 3, 64 * 3, 0, 56 * 3, 61 * 3, 0, 55 * 3, 62 * 3, 0, 58 * 3, 63 * 3, 0, 0, 0, -10, 59 * 3, 65 * 3, 0, 0, 0, 12, 0, 0, 16, 0, 0, 13, 0, 0, 14, 0, 0, 11, 0, 0, 15, 0, 0, -16, 0, 0, -12, 0, 0, -14, 0, 0, -15, 0, 0, -11, 0, 0, -13]);\n MPEG1.DCT_DC_SIZE_LUMINANCE = new Int8Array([2 * 3, 1 * 3, 0, 6 * 3, 5 * 3, 0, 3 * 3, 4 * 3, 0, 0, 0, 1, 0, 0, 2, 9 * 3, 8 * 3, 0, 7 * 3, 10 * 3, 0, 0, 0, 0, 12 * 3, 11 * 3, 0, 0, 0, 4, 0, 0, 3, 13 * 3, 14 * 3, 0, 0, 0, 5, 0, 0, 6, 16 * 3, 15 * 3, 0, 17 * 3, -1, 0, 0, 0, 7, 0, 0, 8]);\n MPEG1.DCT_DC_SIZE_CHROMINANCE = new Int8Array([2 * 3, 1 * 3, 0, 4 * 3, 3 * 3, 0, 6 * 3, 5 * 3, 0, 8 * 3, 7 * 3, 0, 0, 0, 2, 0, 0, 1, 0, 0, 0, 10 * 3, 9 * 3, 0, 0, 0, 3, 12 * 3, 11 * 3, 0, 0, 0, 4, 14 * 3, 13 * 3, 0, 0, 0, 5, 16 * 3, 15 * 3, 0, 0, 0, 6, 17 * 3, -1, 0, 0, 0, 7, 0, 0, 8]);\n MPEG1.DCT_COEFF = new Int32Array([1 * 3, 2 * 3, 0, 4 * 3, 3 * 3, 0, 0, 0, 1, 7 * 3, 8 * 3, 0, 6 * 3, 5 * 3, 0, 13 * 3, 9 * 3, 0, 11 * 3, 10 * 3, 0, 14 * 3, 12 * 3, 0, 0, 0, 257, 20 * 3, 22 * 3, 0, 18 * 3, 21 * 3, 0, 16 * 3, 19 * 3, 0, 0, 0, 513, 17 * 3, 15 * 3, 0, 0, 0, 2, 0, 0, 3, 27 * 3, 25 * 3, 0, 29 * 3, 31 * 3, 0, 24 * 3, 26 * 3, 0, 32 * 3, 30 * 3, 0, 0, 0, 1025, 23 * 3, 28 * 3, 0, 0, 0, 769, 0, 0, 258, 0, 0, 1793, 0, 0, 65535, 0, 0, 1537, 37 * 3, 36 * 3, 0, 0, 0, 1281, 35 * 3, 34 * 3, 0, 39 * 3, 38 * 3, 0, 33 * 3, 42 * 3, 0, 40 * 3, 41 * 3, 0, 52 * 3, 50 * 3, 0, 54 * 3, 53 * 3, 0, 48 * 3, 49 * 3, 0, 43 * 3, 45 * 3, 0, 46 * 3, 44 * 3, 0, 0, 0, 2049, 0, 0, 4, 0, 0, 514, 0, 0, 2305, 51 * 3, 47 * 3, 0, 55 * 3, 57 * 3, 0, 60 * 3, 56 * 3, 0, 59 * 3, 58 * 3, 0, 61 * 3, 62 * 3, 0, 0, 0, 2561, 0, 0, 3329, 0, 0, 6, 0, 0, 259, 0, 0, 5, 0, 0, 770, 0, 0, 2817, 0, 0, 3073, 76 * 3, 75 * 3, 0, 67 * 3, 70 * 3, 0, 73 * 3, 71 * 3, 0, 78 * 3, 74 * 3, 0, 72 * 3, 77 * 3, 0, 69 * 3, 64 * 3, 0, 68 * 3, 63 * 3, 0, 66 * 3, 65 * 3, 0, 81 * 3, 87 * 3, 0, 91 * 3, 80 * 3, 0, 82 * 3, 79 * 3, 0, 83 * 3, 86 * 3, 0, 93 * 3, 92 * 3, 0, 84 * 3, 85 * 3, 0, 90 * 3, 94 * 3, 0, 88 * 3, 89 * 3, 0, 0, 0, 515, 0, 0, 260, 0, 0, 7, 0, 0, 1026, 0, 0, 1282, 0, 0, 4097, 0, 0, 3841, 0, 0, 3585, 105 * 3, 107 * 3, 0, 111 * 3, 114 * 3, 0, 104 * 3, 97 * 3, 0, 125 * 3, 119 * 3, 0, 96 * 3, 98 * 3, 0, -1, 123 * 3, 0, 95 * 3, 101 * 3, 0, 106 * 3, 121 * 3, 0, 99 * 3, 102 * 3, 0, 113 * 3, 103 * 3, 0, 112 * 3, 116 * 3, 0, 110 * 3, 100 * 3, 0, 124 * 3, 115 * 3, 0, 117 * 3, 122 * 3, 0, 109 * 3, 118 * 3, 0, 120 * 3, 108 * 3, 0, 127 * 3, 136 * 3, 0, 139 * 3, 140 * 3, 0, 130 * 3, 126 * 3, 0, 145 * 3, 146 * 3, 0, 128 * 3, 129 * 3, 0, 0, 0, 2050, 132 * 3, 134 * 3, 0, 155 * 3, 154 * 3, 0, 0, 0, 8, 137 * 3, 133 * 3, 0, 143 * 3, 144 * 3, 0, 151 * 3, 138 * 3, 0, 142 * 3, 141 * 3, 0, 0, 0, 10, 0, 0, 9, 0, 0, 11, 0, 0, 5377, 0, 0, 1538, 0, 0, 771, 0, 0, 5121, 0, 0, 1794, 0, 0, 4353, 0, 0, 4609, 0, 0, 4865, 148 * 3, 152 * 3, 0, 0, 0, 1027, 153 * 3, 150 * 3, 0, 0, 0, 261, 131 * 3, 135 * 3, 0, 0, 0, 516, 149 * 3, 147 * 3, 0, 172 * 3, 173 * 3, 0, 162 * 3, 158 * 3, 0, 170 * 3, 161 * 3, 0, 168 * 3, 166 * 3, 0, 157 * 3, 179 * 3, 0, 169 * 3, 167 * 3, 0, 174 * 3, 171 * 3, 0, 178 * 3, 177 * 3, 0, 156 * 3, 159 * 3, 0, 164 * 3, 165 * 3, 0, 183 * 3, 182 * 3, 0, 175 * 3, 176 * 3, 0, 0, 0, 263, 0, 0, 2562, 0, 0, 2306, 0, 0, 5633, 0, 0, 5889, 0, 0, 6401, 0, 0, 6145, 0, 0, 1283, 0, 0, 772, 0, 0, 13, 0, 0, 12, 0, 0, 14, 0, 0, 15, 0, 0, 517, 0, 0, 6657, 0, 0, 262, 180 * 3, 181 * 3, 0, 160 * 3, 163 * 3, 0, 196 * 3, 199 * 3, 0, 0, 0, 27, 203 * 3, 185 * 3, 0, 202 * 3, 201 * 3, 0, 0, 0, 19, 0, 0, 22, 197 * 3, 207 * 3, 0, 0, 0, 18, 191 * 3, 192 * 3, 0, 188 * 3, 190 * 3, 0, 0, 0, 20, 184 * 3, 194 * 3, 0, 0, 0, 21, 186 * 3, 193 * 3, 0, 0, 0, 23, 204 * 3, 198 * 3, 0, 0, 0, 25, 0, 0, 24, 200 * 3, 205 * 3, 0, 0, 0, 31, 0, 0, 30, 0, 0, 28, 0, 0, 29, 0, 0, 26, 0, 0, 17, 0, 0, 16, 189 * 3, 206 * 3, 0, 187 * 3, 195 * 3, 0, 218 * 3, 211 * 3, 0, 0, 0, 37, 215 * 3, 216 * 3, 0, 0, 0, 36, 210 * 3, 212 * 3, 0, 0, 0, 34, 213 * 3, 209 * 3, 0, 221 * 3, 222 * 3, 0, 219 * 3, 208 * 3, 0, 217 * 3, 214 * 3, 0, 223 * 3, 220 * 3, 0, 0, 0, 35, 0, 0, 267, 0, 0, 40, 0, 0, 268, 0, 0, 266, 0, 0, 32, 0, 0, 264, 0, 0, 265, 0, 0, 38, 0, 0, 269, 0, 0, 270, 0, 0, 33, 0, 0, 39, 0, 0, 7937, 0, 0, 6913, 0, 0, 7681, 0, 0, 4098, 0, 0, 7425, 0, 0, 7169, 0, 0, 271, 0, 0, 274, 0, 0, 273, 0, 0, 272, 0, 0, 1539, 0, 0, 2818, 0, 0, 3586, 0, 0, 3330, 0, 0, 3074, 0, 0, 3842]);\n MPEG1.PICTURE_TYPE = {\n INTRA: 1,\n PREDICTIVE: 2,\n B: 3\n };\n MPEG1.START = {\n SEQUENCE: 179,\n SLICE_FIRST: 1,\n SLICE_LAST: 175,\n PICTURE: 0,\n EXTENSION: 181,\n USER_DATA: 178\n };\n return MPEG1;\n}();\nJSMpeg.Decoder.MPEG1VideoWASM = function () {\n \"use strict\";\n\n var MPEG1WASM = function MPEG1WASM(options) {\n JSMpeg.Decoder.Base.call(this, options);\n this.onDecodeCallback = options.onVideoDecode;\n this.module = options.wasmModule;\n this.bufferSize = options.videoBufferSize || 512 * 1024;\n this.bufferMode = options.streaming ? JSMpeg.BitBuffer.MODE.EVICT : JSMpeg.BitBuffer.MODE.EXPAND;\n this.decodeFirstFrame = options.decodeFirstFrame !== false;\n this.hasSequenceHeader = false;\n };\n MPEG1WASM.prototype = Object.create(JSMpeg.Decoder.Base.prototype);\n MPEG1WASM.prototype.constructor = MPEG1WASM;\n MPEG1WASM.prototype.initializeWasmDecoder = function () {\n if (!this.module.instance) {\n console.warn(\"JSMpeg: WASM module not compiled yet\");\n return;\n }\n this.instance = this.module.instance;\n this.functions = this.module.instance.exports;\n this.decoder = this.functions._mpeg1_decoder_create(this.bufferSize, this.bufferMode);\n };\n MPEG1WASM.prototype.destroy = function () {\n if (!this.decoder) {\n return;\n }\n this.functions._mpeg1_decoder_destroy(this.decoder);\n };\n MPEG1WASM.prototype.bufferGetIndex = function () {\n if (!this.decoder) {\n return;\n }\n return this.functions._mpeg1_decoder_get_index(this.decoder);\n };\n MPEG1WASM.prototype.bufferSetIndex = function (index) {\n if (!this.decoder) {\n return;\n }\n this.functions._mpeg1_decoder_set_index(this.decoder, index);\n };\n MPEG1WASM.prototype.bufferWrite = function (buffers) {\n if (!this.decoder) {\n this.initializeWasmDecoder();\n }\n var totalLength = 0;\n for (var i = 0; i < buffers.length; i++) {\n totalLength += buffers[i].length;\n }\n var ptr = this.functions._mpeg1_decoder_get_write_ptr(this.decoder, totalLength);\n for (var i = 0; i < buffers.length; i++) {\n this.instance.heapU8.set(buffers[i], ptr);\n ptr += buffers[i].length;\n }\n this.functions._mpeg1_decoder_did_write(this.decoder, totalLength);\n return totalLength;\n };\n MPEG1WASM.prototype.write = function (pts, buffers) {\n JSMpeg.Decoder.Base.prototype.write.call(this, pts, buffers);\n if (!this.hasSequenceHeader && this.functions._mpeg1_decoder_has_sequence_header(this.decoder)) {\n this.loadSequnceHeader();\n }\n };\n MPEG1WASM.prototype.loadSequnceHeader = function () {\n this.hasSequenceHeader = true;\n this.frameRate = this.functions._mpeg1_decoder_get_frame_rate(this.decoder);\n this.codedSize = this.functions._mpeg1_decoder_get_coded_size(this.decoder);\n if (this.destination) {\n var w = this.functions._mpeg1_decoder_get_width(this.decoder);\n var h = this.functions._mpeg1_decoder_get_height(this.decoder);\n this.destination.resize(w, h);\n }\n if (this.decodeFirstFrame) {\n this.decode();\n }\n };\n MPEG1WASM.prototype.decode = function () {\n var startTime = JSMpeg.Now();\n if (!this.decoder) {\n return false;\n }\n var didDecode = this.functions._mpeg1_decoder_decode(this.decoder);\n if (!didDecode) {\n return false;\n }\n if (this.destination) {\n var ptrY = this.functions._mpeg1_decoder_get_y_ptr(this.decoder),\n ptrCr = this.functions._mpeg1_decoder_get_cr_ptr(this.decoder),\n ptrCb = this.functions._mpeg1_decoder_get_cb_ptr(this.decoder);\n var dy = this.instance.heapU8.subarray(ptrY, ptrY + this.codedSize);\n var dcr = this.instance.heapU8.subarray(ptrCr, ptrCr + (this.codedSize >> 2));\n var dcb = this.instance.heapU8.subarray(ptrCb, ptrCb + (this.codedSize >> 2));\n this.destination.render(dy, dcr, dcb, false);\n }\n this.advanceDecodedTime(1 / this.frameRate);\n var elapsedTime = JSMpeg.Now() - startTime;\n if (this.onDecodeCallback) {\n this.onDecodeCallback(this, elapsedTime);\n }\n return true;\n };\n return MPEG1WASM;\n}();\nJSMpeg.Decoder.MP2Audio = function () {\n \"use strict\";\n\n var MP2 = function MP2(options) {\n JSMpeg.Decoder.Base.call(this, options);\n this.onDecodeCallback = options.onAudioDecode;\n var bufferSize = options.audioBufferSize || 128 * 1024;\n var bufferMode = options.streaming ? JSMpeg.BitBuffer.MODE.EVICT : JSMpeg.BitBuffer.MODE.EXPAND;\n this.bits = new JSMpeg.BitBuffer(bufferSize, bufferMode);\n this.left = new Float32Array(1152);\n this.right = new Float32Array(1152);\n this.sampleRate = 44100;\n this.D = new Float32Array(1024);\n this.D.set(MP2.SYNTHESIS_WINDOW, 0);\n this.D.set(MP2.SYNTHESIS_WINDOW, 512);\n this.V = [new Float32Array(1024), new Float32Array(1024)];\n this.U = new Int32Array(32);\n this.VPos = 0;\n this.allocation = [new Array(32), new Array(32)];\n this.scaleFactorInfo = [new Uint8Array(32), new Uint8Array(32)];\n this.scaleFactor = [new Array(32), new Array(32)];\n this.sample = [new Array(32), new Array(32)];\n for (var j = 0; j < 2; j++) {\n for (var i = 0; i < 32; i++) {\n this.scaleFactor[j][i] = [0, 0, 0];\n this.sample[j][i] = [0, 0, 0];\n }\n }\n };\n MP2.prototype = Object.create(JSMpeg.Decoder.Base.prototype);\n MP2.prototype.constructor = MP2;\n MP2.prototype.decode = function () {\n var startTime = JSMpeg.Now();\n var pos = this.bits.index >> 3;\n if (pos >= this.bits.byteLength) {\n return false;\n }\n var decoded = this.decodeFrame(this.left, this.right);\n this.bits.index = pos + decoded << 3;\n if (!decoded) {\n return false;\n }\n if (this.destination) {\n this.destination.play(this.sampleRate, this.left, this.right);\n }\n this.advanceDecodedTime(this.left.length / this.sampleRate);\n var elapsedTime = JSMpeg.Now() - startTime;\n if (this.onDecodeCallback) {\n this.onDecodeCallback(this, elapsedTime);\n }\n return true;\n };\n MP2.prototype.getCurrentTime = function () {\n var enqueuedTime = this.destination ? this.destination.enqueuedTime : 0;\n return this.decodedTime - enqueuedTime;\n };\n MP2.prototype.decodeFrame = function (left, right) {\n var sync = this.bits.read(11),\n version = this.bits.read(2),\n layer = this.bits.read(2),\n hasCRC = !this.bits.read(1);\n if (sync !== MP2.FRAME_SYNC || version !== MP2.VERSION.MPEG_1 || layer !== MP2.LAYER.II) {\n return 0;\n }\n var bitrateIndex = this.bits.read(4) - 1;\n if (bitrateIndex > 13) {\n return 0;\n }\n var sampleRateIndex = this.bits.read(2);\n var sampleRate = MP2.SAMPLE_RATE[sampleRateIndex];\n if (sampleRateIndex === 3) {\n return 0;\n }\n if (version === MP2.VERSION.MPEG_2) {\n sampleRateIndex += 4;\n bitrateIndex += 14;\n }\n var padding = this.bits.read(1),\n privat = this.bits.read(1),\n mode = this.bits.read(2);\n var bound = 0;\n if (mode === MP2.MODE.JOINT_STEREO) {\n bound = this.bits.read(2) + 1 << 2;\n } else {\n this.bits.skip(2);\n bound = mode === MP2.MODE.MONO ? 0 : 32;\n }\n this.bits.skip(4);\n if (hasCRC) {\n this.bits.skip(16);\n }\n var bitrate = MP2.BIT_RATE[bitrateIndex],\n sampleRate = MP2.SAMPLE_RATE[sampleRateIndex],\n frameSize = 144e3 * bitrate / sampleRate + padding | 0;\n var tab3 = 0;\n var sblimit = 0;\n if (version === MP2.VERSION.MPEG_2) {\n tab3 = 2;\n sblimit = 30;\n } else {\n var tab1 = mode === MP2.MODE.MONO ? 0 : 1;\n var tab2 = MP2.QUANT_LUT_STEP_1[tab1][bitrateIndex];\n tab3 = MP2.QUANT_LUT_STEP_2[tab2][sampleRateIndex];\n sblimit = tab3 & 63;\n tab3 >>= 6;\n }\n if (bound > sblimit) {\n bound = sblimit;\n }\n for (var sb = 0; sb < bound; sb++) {\n this.allocation[0][sb] = this.readAllocation(sb, tab3);\n this.allocation[1][sb] = this.readAllocation(sb, tab3);\n }\n for (var sb = bound; sb < sblimit; sb++) {\n this.allocation[0][sb] = this.allocation[1][sb] = this.readAllocation(sb, tab3);\n }\n var channels = mode === MP2.MODE.MONO ? 1 : 2;\n for (var sb = 0; sb < sblimit; sb++) {\n for (ch = 0; ch < channels; ch++) {\n if (this.allocation[ch][sb]) {\n this.scaleFactorInfo[ch][sb] = this.bits.read(2);\n }\n }\n if (mode === MP2.MODE.MONO) {\n this.scaleFactorInfo[1][sb] = this.scaleFactorInfo[0][sb];\n }\n }\n for (var sb = 0; sb < sblimit; sb++) {\n for (var ch = 0; ch < channels; ch++) {\n if (this.allocation[ch][sb]) {\n var sf = this.scaleFactor[ch][sb];\n switch (this.scaleFactorInfo[ch][sb]) {\n case 0:\n sf[0] = this.bits.read(6);\n sf[1] = this.bits.read(6);\n sf[2] = this.bits.read(6);\n break;\n case 1:\n sf[0] = sf[1] = this.bits.read(6);\n sf[2] = this.bits.read(6);\n break;\n case 2:\n sf[0] = sf[1] = sf[2] = this.bits.read(6);\n break;\n case 3:\n sf[0] = this.bits.read(6);\n sf[1] = sf[2] = this.bits.read(6);\n break;\n }\n }\n }\n if (mode === MP2.MODE.MONO) {\n this.scaleFactor[1][sb][0] = this.scaleFactor[0][sb][0];\n this.scaleFactor[1][sb][1] = this.scaleFactor[0][sb][1];\n this.scaleFactor[1][sb][2] = this.scaleFactor[0][sb][2];\n }\n }\n var outPos = 0;\n for (var part = 0; part < 3; part++) {\n for (var granule = 0; granule < 4; granule++) {\n for (var sb = 0; sb < bound; sb++) {\n this.readSamples(0, sb, part);\n this.readSamples(1, sb, part);\n }\n for (var sb = bound; sb < sblimit; sb++) {\n this.readSamples(0, sb, part);\n this.sample[1][sb][0] = this.sample[0][sb][0];\n this.sample[1][sb][1] = this.sample[0][sb][1];\n this.sample[1][sb][2] = this.sample[0][sb][2];\n }\n for (var sb = sblimit; sb < 32; sb++) {\n this.sample[0][sb][0] = 0;\n this.sample[0][sb][1] = 0;\n this.sample[0][sb][2] = 0;\n this.sample[1][sb][0] = 0;\n this.sample[1][sb][1] = 0;\n this.sample[1][sb][2] = 0;\n }\n for (var p = 0; p < 3; p++) {\n this.VPos = this.VPos - 64 & 1023;\n for (var ch = 0; ch < 2; ch++) {\n MP2.MatrixTransform(this.sample[ch], p, this.V[ch], this.VPos);\n JSMpeg.Fill(this.U, 0);\n var dIndex = 512 - (this.VPos >> 1);\n var vIndex = this.VPos % 128 >> 1;\n while (vIndex < 1024) {\n for (var i = 0; i < 32; ++i) {\n this.U[i] += this.D[dIndex++] * this.V[ch][vIndex++];\n }\n vIndex += 128 - 32;\n dIndex += 64 - 32;\n }\n vIndex = 128 - 32 + 1024 - vIndex;\n dIndex -= 512 - 32;\n while (vIndex < 1024) {\n for (var i = 0; i < 32; ++i) {\n this.U[i] += this.D[dIndex++] * this.V[ch][vIndex++];\n }\n vIndex += 128 - 32;\n dIndex += 64 - 32;\n }\n var outChannel = ch === 0 ? left : right;\n for (var j = 0; j < 32; j++) {\n outChannel[outPos + j] = this.U[j] / 2147418112;\n }\n }\n outPos += 32;\n }\n }\n }\n this.sampleRate = sampleRate;\n return frameSize;\n };\n MP2.prototype.readAllocation = function (sb, tab3) {\n var tab4 = MP2.QUANT_LUT_STEP_3[tab3][sb];\n var qtab = MP2.QUANT_LUT_STEP4[tab4 & 15][this.bits.read(tab4 >> 4)];\n return qtab ? MP2.QUANT_TAB[qtab - 1] : 0;\n };\n MP2.prototype.readSamples = function (ch, sb, part) {\n var q = this.allocation[ch][sb],\n sf = this.scaleFactor[ch][sb][part],\n sample = this.sample[ch][sb],\n val = 0;\n if (!q) {\n sample[0] = sample[1] = sample[2] = 0;\n return;\n }\n if (sf === 63) {\n sf = 0;\n } else {\n var shift = sf / 3 | 0;\n sf = MP2.SCALEFACTOR_BASE[sf % 3] + (1 << shift >> 1) >> shift;\n }\n var adj = q.levels;\n if (q.group) {\n val = this.bits.read(q.bits);\n sample[0] = val % adj;\n val = val / adj | 0;\n sample[1] = val % adj;\n sample[2] = val / adj | 0;\n } else {\n sample[0] = this.bits.read(q.bits);\n sample[1] = this.bits.read(q.bits);\n sample[2] = this.bits.read(q.bits);\n }\n var scale = 65536 / (adj + 1) | 0;\n adj = (adj + 1 >> 1) - 1;\n val = (adj - sample[0]) * scale;\n sample[0] = val * (sf >> 12) + (val * (sf & 4095) + 2048 >> 12) >> 12;\n val = (adj - sample[1]) * scale;\n sample[1] = val * (sf >> 12) + (val * (sf & 4095) + 2048 >> 12) >> 12;\n val = (adj - sample[2]) * scale;\n sample[2] = val * (sf >> 12) + (val * (sf & 4095) + 2048 >> 12) >> 12;\n };\n MP2.MatrixTransform = function (s, ss, d, dp) {\n var t01, t02, t03, t04, t05, t06, t07, t08, t09, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22, t23, t24, t25, t26, t27, t28, t29, t30, t31, t32, t33;\n t01 = s[0][ss] + s[31][ss];\n t02 = (s[0][ss] - s[31][ss]) * .500602998235;\n t03 = s[1][ss] + s[30][ss];\n t04 = (s[1][ss] - s[30][ss]) * .505470959898;\n t05 = s[2][ss] + s[29][ss];\n t06 = (s[2][ss] - s[29][ss]) * .515447309923;\n t07 = s[3][ss] + s[28][ss];\n t08 = (s[3][ss] - s[28][ss]) * .53104259109;\n t09 = s[4][ss] + s[27][ss];\n t10 = (s[4][ss] - s[27][ss]) * .553103896034;\n t11 = s[5][ss] + s[26][ss];\n t12 = (s[5][ss] - s[26][ss]) * .582934968206;\n t13 = s[6][ss] + s[25][ss];\n t14 = (s[6][ss] - s[25][ss]) * .622504123036;\n t15 = s[7][ss] + s[24][ss];\n t16 = (s[7][ss] - s[24][ss]) * .674808341455;\n t17 = s[8][ss] + s[23][ss];\n t18 = (s[8][ss] - s[23][ss]) * .744536271002;\n t19 = s[9][ss] + s[22][ss];\n t20 = (s[9][ss] - s[22][ss]) * .839349645416;\n t21 = s[10][ss] + s[21][ss];\n t22 = (s[10][ss] - s[21][ss]) * .972568237862;\n t23 = s[11][ss] + s[20][ss];\n t24 = (s[11][ss] - s[20][ss]) * 1.16943993343;\n t25 = s[12][ss] + s[19][ss];\n t26 = (s[12][ss] - s[19][ss]) * 1.48416461631;\n t27 = s[13][ss] + s[18][ss];\n t28 = (s[13][ss] - s[18][ss]) * 2.05778100995;\n t29 = s[14][ss] + s[17][ss];\n t30 = (s[14][ss] - s[17][ss]) * 3.40760841847;\n t31 = s[15][ss] + s[16][ss];\n t32 = (s[15][ss] - s[16][ss]) * 10.1900081235;\n t33 = t01 + t31;\n t31 = (t01 - t31) * .502419286188;\n t01 = t03 + t29;\n t29 = (t03 - t29) * .52249861494;\n t03 = t05 + t27;\n t27 = (t05 - t27) * .566944034816;\n t05 = t07 + t25;\n t25 = (t07 - t25) * .64682178336;\n t07 = t09 + t23;\n t23 = (t09 - t23) * .788154623451;\n t09 = t11 + t21;\n t21 = (t11 - t21) * 1.06067768599;\n t11 = t13 + t19;\n t19 = (t13 - t19) * 1.72244709824;\n t13 = t15 + t17;\n t17 = (t15 - t17) * 5.10114861869;\n t15 = t33 + t13;\n t13 = (t33 - t13) * .509795579104;\n t33 = t01 + t11;\n t01 = (t01 - t11) * .601344886935;\n t11 = t03 + t09;\n t09 = (t03 - t09) * .899976223136;\n t03 = t05 + t07;\n t07 = (t05 - t07) * 2.56291544774;\n t05 = t15 + t03;\n t15 = (t15 - t03) * .541196100146;\n t03 = t33 + t11;\n t11 = (t33 - t11) * 1.30656296488;\n t33 = t05 + t03;\n t05 = (t05 - t03) * .707106781187;\n t03 = t15 + t11;\n t15 = (t15 - t11) * .707106781187;\n t03 += t15;\n t11 = t13 + t07;\n t13 = (t13 - t07) * .541196100146;\n t07 = t01 + t09;\n t09 = (t01 - t09) * 1.30656296488;\n t01 = t11 + t07;\n t07 = (t11 - t07) * .707106781187;\n t11 = t13 + t09;\n t13 = (t13 - t09) * .707106781187;\n t11 += t13;\n t01 += t11;\n t11 += t07;\n t07 += t13;\n t09 = t31 + t17;\n t31 = (t31 - t17) * .509795579104;\n t17 = t29 + t19;\n t29 = (t29 - t19) * .601344886935;\n t19 = t27 + t21;\n t21 = (t27 - t21) * .899976223136;\n t27 = t25 + t23;\n t23 = (t25 - t23) * 2.56291544774;\n t25 = t09 + t27;\n t09 = (t09 - t27) * .541196100146;\n t27 = t17 + t19;\n t19 = (t17 - t19) * 1.30656296488;\n t17 = t25 + t27;\n t27 = (t25 - t27) * .707106781187;\n t25 = t09 + t19;\n t19 = (t09 - t19) * .707106781187;\n t25 += t19;\n t09 = t31 + t23;\n t31 = (t31 - t23) * .541196100146;\n t23 = t29 + t21;\n t21 = (t29 - t21) * 1.30656296488;\n t29 = t09 + t23;\n t23 = (t09 - t23) * .707106781187;\n t09 = t31 + t21;\n t31 = (t31 - t21) * .707106781187;\n t09 += t31;\n t29 += t09;\n t09 += t23;\n t23 += t31;\n t17 += t29;\n t29 += t25;\n t25 += t09;\n t09 += t27;\n t27 += t23;\n t23 += t19;\n t19 += t31;\n t21 = t02 + t32;\n t02 = (t02 - t32) * .502419286188;\n t32 = t04 + t30;\n t04 = (t04 - t30) * .52249861494;\n t30 = t06 + t28;\n t28 = (t06 - t28) * .566944034816;\n t06 = t08 + t26;\n t08 = (t08 - t26) * .64682178336;\n t26 = t10 + t24;\n t10 = (t10 - t24) * .788154623451;\n t24 = t12 + t22;\n t22 = (t12 - t22) * 1.06067768599;\n t12 = t14 + t20;\n t20 = (t14 - t20) * 1.72244709824;\n t14 = t16 + t18;\n t16 = (t16 - t18) * 5.10114861869;\n t18 = t21 + t14;\n t14 = (t21 - t14) * .509795579104;\n t21 = t32 + t12;\n t32 = (t32 - t12) * .601344886935;\n t12 = t30 + t24;\n t24 = (t30 - t24) * .899976223136;\n t30 = t06 + t26;\n t26 = (t06 - t26) * 2.56291544774;\n t06 = t18 + t30;\n t18 = (t18 - t30) * .541196100146;\n t30 = t21 + t12;\n t12 = (t21 - t12) * 1.30656296488;\n t21 = t06 + t30;\n t30 = (t06 - t30) * .707106781187;\n t06 = t18 + t12;\n t12 = (t18 - t12) * .707106781187;\n t06 += t12;\n t18 = t14 + t26;\n t26 = (t14 - t26) * .541196100146;\n t14 = t32 + t24;\n t24 = (t32 - t24) * 1.30656296488;\n t32 = t18 + t14;\n t14 = (t18 - t14) * .707106781187;\n t18 = t26 + t24;\n t24 = (t26 - t24) * .707106781187;\n t18 += t24;\n t32 += t18;\n t18 += t14;\n t26 = t14 + t24;\n t14 = t02 + t16;\n t02 = (t02 - t16) * .509795579104;\n t16 = t04 + t20;\n t04 = (t04 - t20) * .601344886935;\n t20 = t28 + t22;\n t22 = (t28 - t22) * .899976223136;\n t28 = t08 + t10;\n t10 = (t08 - t10) * 2.56291544774;\n t08 = t14 + t28;\n t14 = (t14 - t28) * .541196100146;\n t28 = t16 + t20;\n t20 = (t16 - t20) * 1.30656296488;\n t16 = t08 + t28;\n t28 = (t08 - t28) * .707106781187;\n t08 = t14 + t20;\n t20 = (t14 - t20) * .707106781187;\n t08 += t20;\n t14 = t02 + t10;\n t02 = (t02 - t10) * .541196100146;\n t10 = t04 + t22;\n t22 = (t04 - t22) * 1.30656296488;\n t04 = t14 + t10;\n t10 = (t14 - t10) * .707106781187;\n t14 = t02 + t22;\n t02 = (t02 - t22) * .707106781187;\n t14 += t02;\n t04 += t14;\n t14 += t10;\n t10 += t02;\n t16 += t04;\n t04 += t08;\n t08 += t14;\n t14 += t28;\n t28 += t10;\n t10 += t20;\n t20 += t02;\n t21 += t16;\n t16 += t32;\n t32 += t04;\n t04 += t06;\n t06 += t08;\n t08 += t18;\n t18 += t14;\n t14 += t30;\n t30 += t28;\n t28 += t26;\n t26 += t10;\n t10 += t12;\n t12 += t20;\n t20 += t24;\n t24 += t02;\n d[dp + 48] = -t33;\n d[dp + 49] = d[dp + 47] = -t21;\n d[dp + 50] = d[dp + 46] = -t17;\n d[dp + 51] = d[dp + 45] = -t16;\n d[dp + 52] = d[dp + 44] = -t01;\n d[dp + 53] = d[dp + 43] = -t32;\n d[dp + 54] = d[dp + 42] = -t29;\n d[dp + 55] = d[dp + 41] = -t04;\n d[dp + 56] = d[dp + 40] = -t03;\n d[dp + 57] = d[dp + 39] = -t06;\n d[dp + 58] = d[dp + 38] = -t25;\n d[dp + 59] = d[dp + 37] = -t08;\n d[dp + 60] = d[dp + 36] = -t11;\n d[dp + 61] = d[dp + 35] = -t18;\n d[dp + 62] = d[dp + 34] = -t09;\n d[dp + 63] = d[dp + 33] = -t14;\n d[dp + 32] = -t05;\n d[dp + 0] = t05;\n d[dp + 31] = -t30;\n d[dp + 1] = t30;\n d[dp + 30] = -t27;\n d[dp + 2] = t27;\n d[dp + 29] = -t28;\n d[dp + 3] = t28;\n d[dp + 28] = -t07;\n d[dp + 4] = t07;\n d[dp + 27] = -t26;\n d[dp + 5] = t26;\n d[dp + 26] = -t23;\n d[dp + 6] = t23;\n d[dp + 25] = -t10;\n d[dp + 7] = t10;\n d[dp + 24] = -t15;\n d[dp + 8] = t15;\n d[dp + 23] = -t12;\n d[dp + 9] = t12;\n d[dp + 22] = -t19;\n d[dp + 10] = t19;\n d[dp + 21] = -t20;\n d[dp + 11] = t20;\n d[dp + 20] = -t13;\n d[dp + 12] = t13;\n d[dp + 19] = -t24;\n d[dp + 13] = t24;\n d[dp + 18] = -t31;\n d[dp + 14] = t31;\n d[dp + 17] = -t02;\n d[dp + 15] = t02;\n d[dp + 16] = 0;\n };\n MP2.FRAME_SYNC = 2047;\n MP2.VERSION = {\n MPEG_2_5: 0,\n MPEG_2: 2,\n MPEG_1: 3\n };\n MP2.LAYER = {\n III: 1,\n II: 2,\n I: 3\n };\n MP2.MODE = {\n STEREO: 0,\n JOINT_STEREO: 1,\n DUAL_CHANNEL: 2,\n MONO: 3\n };\n MP2.SAMPLE_RATE = new Uint16Array([44100, 48e3, 32e3, 0, 22050, 24e3, 16e3, 0]);\n MP2.BIT_RATE = new Uint16Array([32, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320, 384, 8, 16, 24, 32, 40, 48, 56, 64, 80, 96, 112, 128, 144, 160]);\n MP2.SCALEFACTOR_BASE = new Uint32Array([33554432, 26632170, 21137968]);\n MP2.SYNTHESIS_WINDOW = new Float32Array([0, -.5, -.5, -.5, -.5, -.5, -.5, -1, -1, -1, -1, -1.5, -1.5, -2, -2, -2.5, -2.5, -3, -3.5, -3.5, -4, -4.5, -5, -5.5, -6.5, -7, -8, -8.5, -9.5, -10.5, -12, -13, -14.5, -15.5, -17.5, -19, -20.5, -22.5, -24.5, -26.5, -29, -31.5, -34, -36.5, -39.5, -42.5, -45.5, -48.5, -52, -55.5, -58.5, -62.5, -66, -69.5, -73.5, -77, -80.5, -84.5, -88, -91.5, -95, -98, -101, -104, 106.5, 109, 111, 112.5, 113.5, 114, 114, 113.5, 112, 110.5, 107.5, 104, 100, 94.5, 88.5, 81.5, 73, 63.5, 53, 41.5, 28.5, 14.5, -1, -18, -36, -55.5, -76.5, -98.5, -122, -147, -173.5, -200.5, -229.5, -259.5, -290.5, -322.5, -355.5, -389.5, -424, -459.5, -495.5, -532, -568.5, -605, -641.5, -678, -714, -749, -783.5, -817, -849, -879.5, -908.5, -935, -959.5, -981, -1000.5, -1016, -1028.5, -1037.5, -1042.5, -1043.5, -1040, -1031.5, 1018.5, 1e3, 976, 946.5, 911, 869.5, 822, 767.5, 707, 640, 565.5, 485, 397, 302.5, 201, 92.5, -22.5, -144, -272.5, -407, -547.5, -694, -846, -1003, -1165, -1331.5, -1502, -1675.5, -1852.5, -2031.5, -2212.5, -2394, -2576.5, -2758.5, -2939.5, -3118.5, -3294.5, -3467.5, -3635.5, -3798.5, -3955, -4104.5, -4245.5, -4377.5, -4499, -4609.5, -4708, -4792.5, -4863.5, -4919, -4958, -4979.5, -4983, -4967.5, -4931.5, -4875, -4796, -4694.5, -4569.5, -4420, -4246, -4046, -3820, -3567, 3287, 2979.5, 2644, 2280.5, 1888, 1467.5, 1018.5, 541, 35, -499, -1061, -1650, -2266.5, -2909, -3577, -4270, -4987.5, -5727.5, -6490, -7274, -8077.5, -8899.5, -9739, -10594.5, -11464.5, -12347, -13241, -14144.5, -15056, -15973.5, -16895.5, -17820, -18744.5, -19668, -20588, -21503, -22410.5, -23308.5, -24195, -25068.5, -25926.5, -26767, -27589, -28389, -29166.5, -29919, -30644.5, -31342, -32009.5, -32645, -33247, -33814.5, -34346, -34839.5, -35295, -35710, -36084.5, -36417.5, -36707.5, -36954, -37156.5, -37315, -37428, -37496, 37519, 37496, 37428, 37315, 37156.5, 36954, 36707.5, 36417.5, 36084.5, 35710, 35295, 34839.5, 34346, 33814.5, 33247, 32645, 32009.5, 31342, 30644.5, 29919, 29166.5, 28389, 27589, 26767, 25926.5, 25068.5, 24195, 23308.5, 22410.5, 21503, 20588, 19668, 18744.5, 17820, 16895.5, 15973.5, 15056, 14144.5, 13241, 12347, 11464.5, 10594.5, 9739, 8899.5, 8077.5, 7274, 6490, 5727.5, 4987.5, 4270, 3577, 2909, 2266.5, 1650, 1061, 499, -35, -541, -1018.5, -1467.5, -1888, -2280.5, -2644, -2979.5, 3287, 3567, 3820, 4046, 4246, 4420, 4569.5, 4694.5, 4796, 4875, 4931.5, 4967.5, 4983, 4979.5, 4958, 4919, 4863.5, 4792.5, 4708, 4609.5, 4499, 4377.5, 4245.5, 4104.5, 3955, 3798.5, 3635.5, 3467.5, 3294.5, 3118.5, 2939.5, 2758.5, 2576.5, 2394, 2212.5, 2031.5, 1852.5, 1675.5, 1502, 1331.5, 1165, 1003, 846, 694, 547.5, 407, 272.5, 144, 22.5, -92.5, -201, -302.5, -397, -485, -565.5, -640, -707, -767.5, -822, -869.5, -911, -946.5, -976, -1e3, 1018.5, 1031.5, 1040, 1043.5, 1042.5, 1037.5, 1028.5, 1016, 1000.5, 981, 959.5, 935, 908.5, 879.5, 849, 817, 783.5, 749, 714, 678, 641.5, 605, 568.5, 532, 495.5, 459.5, 424, 389.5, 355.5, 322.5, 290.5, 259.5, 229.5, 200.5, 173.5, 147, 122, 98.5, 76.5, 55.5, 36, 18, 1, -14.5, -28.5, -41.5, -53, -63.5, -73, -81.5, -88.5, -94.5, -100, -104, -107.5, -110.5, -112, -113.5, -114, -114, -113.5, -112.5, -111, -109, 106.5, 104, 101, 98, 95, 91.5, 88, 84.5, 80.5, 77, 73.5, 69.5, 66, 62.5, 58.5, 55.5, 52, 48.5, 45.5, 42.5, 39.5, 36.5, 34, 31.5, 29, 26.5, 24.5, 22.5, 20.5, 19, 17.5, 15.5, 14.5, 13, 12, 10.5, 9.5, 8.5, 8, 7, 6.5, 5.5, 5, 4.5, 4, 3.5, 3.5, 3, 2.5, 2.5, 2, 2, 1.5, 1.5, 1, 1, 1, 1, .5, .5, .5, .5, .5, .5]);\n MP2.QUANT_LUT_STEP_1 = [[0, 0, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2], [0, 0, 0, 0, 0, 0, 1, 1, 1, 2, 2, 2, 2, 2]];\n MP2.QUANT_TAB = {\n A: 27 | 64,\n B: 30 | 64,\n C: 8,\n D: 12\n };\n MP2.QUANT_LUT_STEP_2 = [[MP2.QUANT_TAB.C, MP2.QUANT_TAB.C, MP2.QUANT_TAB.D], [MP2.QUANT_TAB.A, MP2.QUANT_TAB.A, MP2.QUANT_TAB.A], [MP2.QUANT_TAB.B, MP2.QUANT_TAB.A, MP2.QUANT_TAB.B]];\n MP2.QUANT_LUT_STEP_3 = [[68, 68, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52], [67, 67, 67, 66, 66, 66, 66, 66, 66, 66, 66, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 32, 32, 32, 32, 32, 32, 32], [69, 69, 69, 69, 52, 52, 52, 52, 52, 52, 52, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36]];\n MP2.QUANT_LUT_STEP4 = [[0, 1, 2, 17], [0, 1, 2, 3, 4, 5, 6, 17], [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 17], [0, 1, 3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17], [0, 1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]];\n MP2.QUANT_TAB = [{\n levels: 3,\n group: 1,\n bits: 5\n }, {\n levels: 5,\n group: 1,\n bits: 7\n }, {\n levels: 7,\n group: 0,\n bits: 3\n }, {\n levels: 9,\n group: 1,\n bits: 10\n }, {\n levels: 15,\n group: 0,\n bits: 4\n }, {\n levels: 31,\n group: 0,\n bits: 5\n }, {\n levels: 63,\n group: 0,\n bits: 6\n }, {\n levels: 127,\n group: 0,\n bits: 7\n }, {\n levels: 255,\n group: 0,\n bits: 8\n }, {\n levels: 511,\n group: 0,\n bits: 9\n }, {\n levels: 1023,\n group: 0,\n bits: 10\n }, {\n levels: 2047,\n group: 0,\n bits: 11\n }, {\n levels: 4095,\n group: 0,\n bits: 12\n }, {\n levels: 8191,\n group: 0,\n bits: 13\n }, {\n levels: 16383,\n group: 0,\n bits: 14\n }, {\n levels: 32767,\n group: 0,\n bits: 15\n }, {\n levels: 65535,\n group: 0,\n bits: 16\n }];\n return MP2;\n}();\nJSMpeg.Decoder.MP2AudioWASM = function () {\n \"use strict\";\n\n var MP2WASM = function MP2WASM(options) {\n JSMpeg.Decoder.Base.call(this, options);\n this.onDecodeCallback = options.onAudioDecode;\n this.module = options.wasmModule;\n this.bufferSize = options.audioBufferSize || 128 * 1024;\n this.bufferMode = options.streaming ? JSMpeg.BitBuffer.MODE.EVICT : JSMpeg.BitBuffer.MODE.EXPAND;\n this.sampleRate = 0;\n };\n MP2WASM.prototype = Object.create(JSMpeg.Decoder.Base.prototype);\n MP2WASM.prototype.constructor = MP2WASM;\n MP2WASM.prototype.initializeWasmDecoder = function () {\n if (!this.module.instance) {\n console.warn(\"JSMpeg: WASM module not compiled yet\");\n return;\n }\n this.instance = this.module.instance;\n this.functions = this.module.instance.exports;\n this.decoder = this.functions._mp2_decoder_create(this.bufferSize, this.bufferMode);\n };\n MP2WASM.prototype.destroy = function () {\n if (!this.decoder) {\n return;\n }\n this.functions._mp2_decoder_destroy(this.decoder);\n };\n MP2WASM.prototype.bufferGetIndex = function () {\n if (!this.decoder) {\n return;\n }\n return this.functions._mp2_decoder_get_index(this.decoder);\n };\n MP2WASM.prototype.bufferSetIndex = function (index) {\n if (!this.decoder) {\n return;\n }\n this.functions._mp2_decoder_set_index(this.decoder, index);\n };\n MP2WASM.prototype.bufferWrite = function (buffers) {\n if (!this.decoder) {\n this.initializeWasmDecoder();\n }\n var totalLength = 0;\n for (var i = 0; i < buffers.length; i++) {\n totalLength += buffers[i].length;\n }\n var ptr = this.functions._mp2_decoder_get_write_ptr(this.decoder, totalLength);\n for (var i = 0; i < buffers.length; i++) {\n this.instance.heapU8.set(buffers[i], ptr);\n ptr += buffers[i].length;\n }\n this.functions._mp2_decoder_did_write(this.decoder, totalLength);\n return totalLength;\n };\n MP2WASM.prototype.decode = function () {\n var startTime = JSMpeg.Now();\n if (!this.decoder) {\n return false;\n }\n var decodedBytes = this.functions._mp2_decoder_decode(this.decoder);\n if (decodedBytes === 0) {\n return false;\n }\n if (!this.sampleRate) {\n this.sampleRate = this.functions._mp2_decoder_get_sample_rate(this.decoder);\n }\n if (this.destination) {\n var leftPtr = this.functions._mp2_decoder_get_left_channel_ptr(this.decoder),\n rightPtr = this.functions._mp2_decoder_get_right_channel_ptr(this.decoder);\n var leftOffset = leftPtr / Float32Array.BYTES_PER_ELEMENT,\n rightOffset = rightPtr / Float32Array.BYTES_PER_ELEMENT;\n var left = this.instance.heapF32.subarray(leftOffset, leftOffset + MP2WASM.SAMPLES_PER_FRAME),\n right = this.instance.heapF32.subarray(rightOffset, rightOffset + MP2WASM.SAMPLES_PER_FRAME);\n this.destination.play(this.sampleRate, left, right);\n }\n this.advanceDecodedTime(MP2WASM.SAMPLES_PER_FRAME / this.sampleRate);\n var elapsedTime = JSMpeg.Now() - startTime;\n if (this.onDecodeCallback) {\n this.onDecodeCallback(this, elapsedTime);\n }\n return true;\n };\n MP2WASM.prototype.getCurrentTime = function () {\n var enqueuedTime = this.destination ? this.destination.enqueuedTime : 0;\n return this.decodedTime - enqueuedTime;\n };\n MP2WASM.SAMPLES_PER_FRAME = 1152;\n return MP2WASM;\n}();\nJSMpeg.Renderer.WebGL = function () {\n \"use strict\";\n\n var WebGLRenderer = function WebGLRenderer(options) {\n this.canvas = options.canvas || document.createElement(\"canvas\");\n this.width = this.canvas.width;\n this.height = this.canvas.height;\n this.enabled = true;\n this.hasTextureData = {};\n var contextCreateOptions = {\n preserveDrawingBuffer: !!options.preserveDrawingBuffer,\n alpha: false,\n depth: false,\n stencil: false,\n antialias: false,\n premultipliedAlpha: false\n };\n this.gl = this.canvas.getContext(\"webgl\", contextCreateOptions) || this.canvas.getContext(\"experimental-webgl\", contextCreateOptions);\n if (!this.gl) {\n throw new Error(\"Failed to get WebGL Context\");\n }\n var gl = this.gl;\n var vertexAttr = null;\n gl.pixelStorei(gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL, false);\n this.vertexBuffer = gl.createBuffer();\n var vertexCoords = new Float32Array([0, 0, 0, 1, 1, 0, 1, 1]);\n gl.bindBuffer(gl.ARRAY_BUFFER, this.vertexBuffer);\n gl.bufferData(gl.ARRAY_BUFFER, vertexCoords, gl.STATIC_DRAW);\n this.program = this.createProgram(WebGLRenderer.SHADER.VERTEX_IDENTITY, WebGLRenderer.SHADER.FRAGMENT_YCRCB_TO_RGBA);\n vertexAttr = gl.getAttribLocation(this.program, \"vertex\");\n gl.enableVertexAttribArray(vertexAttr);\n gl.vertexAttribPointer(vertexAttr, 2, gl.FLOAT, false, 0, 0);\n this.textureY = this.createTexture(0, \"textureY\");\n this.textureCb = this.createTexture(1, \"textureCb\");\n this.textureCr = this.createTexture(2, \"textureCr\");\n this.loadingProgram = this.createProgram(WebGLRenderer.SHADER.VERTEX_IDENTITY, WebGLRenderer.SHADER.FRAGMENT_LOADING);\n vertexAttr = gl.getAttribLocation(this.loadingProgram, \"vertex\");\n gl.enableVertexAttribArray(vertexAttr);\n gl.vertexAttribPointer(vertexAttr, 2, gl.FLOAT, false, 0, 0);\n this.shouldCreateUnclampedViews = !this.allowsClampedTextureData();\n };\n WebGLRenderer.prototype.destroy = function () {\n var gl = this.gl;\n this.deleteTexture(gl.TEXTURE0, this.textureY);\n this.deleteTexture(gl.TEXTURE1, this.textureCb);\n this.deleteTexture(gl.TEXTURE2, this.textureCr);\n gl.useProgram(null);\n gl.deleteProgram(this.program);\n gl.deleteProgram(this.loadingProgram);\n gl.bindBuffer(gl.ARRAY_BUFFER, null);\n gl.deleteBuffer(this.vertexBuffer);\n gl.getExtension(\"WEBGL_lose_context\").loseContext();\n this.canvas.remove();\n };\n WebGLRenderer.prototype.resize = function (width, height) {\n this.width = width | 0;\n this.height = height | 0;\n this.canvas.width = this.width;\n this.canvas.height = this.height;\n this.gl.useProgram(this.program);\n var codedWidth = this.width + 15 >> 4 << 4;\n this.gl.viewport(0, 0, codedWidth, this.height);\n };\n WebGLRenderer.prototype.createTexture = function (index, name) {\n var gl = this.gl;\n var texture = gl.createTexture();\n gl.bindTexture(gl.TEXTURE_2D, texture);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.LINEAR);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.LINEAR);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE);\n gl.uniform1i(gl.getUniformLocation(this.program, name), index);\n return texture;\n };\n WebGLRenderer.prototype.createProgram = function (vsh, fsh) {\n var gl = this.gl;\n var program = gl.createProgram();\n gl.attachShader(program, this.compileShader(gl.VERTEX_SHADER, vsh));\n gl.attachShader(program, this.compileShader(gl.FRAGMENT_SHADER, fsh));\n gl.linkProgram(program);\n gl.useProgram(program);\n return program;\n };\n WebGLRenderer.prototype.compileShader = function (type, source) {\n var gl = this.gl;\n var shader = gl.createShader(type);\n gl.shaderSource(shader, source);\n gl.compileShader(shader);\n if (!gl.getShaderParameter(shader, gl.COMPILE_STATUS)) {\n throw new Error(gl.getShaderInfoLog(shader));\n }\n return shader;\n };\n WebGLRenderer.prototype.allowsClampedTextureData = function () {\n var gl = this.gl;\n var texture = gl.createTexture();\n gl.bindTexture(gl.TEXTURE_2D, texture);\n gl.texImage2D(gl.TEXTURE_2D, 0, gl.LUMINANCE, 1, 1, 0, gl.LUMINANCE, gl.UNSIGNED_BYTE, new Uint8ClampedArray([0]));\n return gl.getError() === 0;\n };\n WebGLRenderer.prototype.renderProgress = function (progress) {\n var gl = this.gl;\n gl.useProgram(this.loadingProgram);\n var loc = gl.getUniformLocation(this.loadingProgram, \"progress\");\n gl.uniform1f(loc, progress);\n gl.drawArrays(gl.TRIANGLE_STRIP, 0, 4);\n };\n WebGLRenderer.prototype.render = function (y, cb, cr, isClampedArray) {\n if (!this.enabled) {\n return;\n }\n var gl = this.gl;\n var w = this.width + 15 >> 4 << 4,\n h = this.height,\n w2 = w >> 1,\n h2 = h >> 1;\n if (isClampedArray && this.shouldCreateUnclampedViews) {\n y = new Uint8Array(y.buffer), cb = new Uint8Array(cb.buffer), cr = new Uint8Array(cr.buffer);\n }\n gl.useProgram(this.program);\n this.updateTexture(gl.TEXTURE0, this.textureY, w, h, y);\n this.updateTexture(gl.TEXTURE1, this.textureCb, w2, h2, cb);\n this.updateTexture(gl.TEXTURE2, this.textureCr, w2, h2, cr);\n gl.drawArrays(gl.TRIANGLE_STRIP, 0, 4);\n };\n WebGLRenderer.prototype.updateTexture = function (unit, texture, w, h, data) {\n var gl = this.gl;\n gl.activeTexture(unit);\n gl.bindTexture(gl.TEXTURE_2D, texture);\n if (this.hasTextureData[unit]) {\n gl.texSubImage2D(gl.TEXTURE_2D, 0, 0, 0, w, h, gl.LUMINANCE, gl.UNSIGNED_BYTE, data);\n } else {\n this.hasTextureData[unit] = true;\n gl.texImage2D(gl.TEXTURE_2D, 0, gl.LUMINANCE, w, h, 0, gl.LUMINANCE, gl.UNSIGNED_BYTE, data);\n }\n };\n WebGLRenderer.prototype.deleteTexture = function (unit, texture) {\n var gl = this.gl;\n gl.activeTexture(unit);\n gl.bindTexture(gl.TEXTURE_2D, null);\n gl.deleteTexture(texture);\n };\n WebGLRenderer.IsSupported = function () {\n try {\n if (!window.WebGLRenderingContext) {\n return false;\n }\n var canvas = document.createElement(\"canvas\");\n return !!(canvas.getContext(\"webgl\") || canvas.getContext(\"experimental-webgl\"));\n } catch (err) {\n return false;\n }\n };\n WebGLRenderer.SHADER = {\n FRAGMENT_YCRCB_TO_RGBA: [\"precision mediump float;\", \"uniform sampler2D textureY;\", \"uniform sampler2D textureCb;\", \"uniform sampler2D textureCr;\", \"varying vec2 texCoord;\", \"mat4 rec601 = mat4(\", \"1.16438, 0.00000, 1.59603, -0.87079,\", \"1.16438, -0.39176, -0.81297, 0.52959,\", \"1.16438, 2.01723, 0.00000, -1.08139,\", \"0, 0, 0, 1\", \");\", \"void main() {\", \"float y = texture2D(textureY, texCoord).r;\", \"float cb = texture2D(textureCb, texCoord).r;\", \"float cr = texture2D(textureCr, texCoord).r;\", \"gl_FragColor = vec4(y, cr, cb, 1.0) * rec601;\", \"}\"].join(\"\\n\"),\n FRAGMENT_LOADING: [\"precision mediump float;\", \"uniform float progress;\", \"varying vec2 texCoord;\", \"void main() {\", \"float c = ceil(progress-(1.0-texCoord.y));\", \"gl_FragColor = vec4(c,c,c,1);\", \"}\"].join(\"\\n\"),\n VERTEX_IDENTITY: [\"attribute vec2 vertex;\", \"varying vec2 texCoord;\", \"void main() {\", \"texCoord = vertex;\", \"gl_Position = vec4((vertex * 2.0 - 1.0) * vec2(1, -1), 0.0, 1.0);\", \"}\"].join(\"\\n\")\n };\n return WebGLRenderer;\n}();\nJSMpeg.Renderer.Canvas2D = function () {\n \"use strict\";\n\n var CanvasRenderer = function CanvasRenderer(options) {\n this.canvas = options.canvas || document.createElement(\"canvas\");\n this.width = this.canvas.width;\n this.height = this.canvas.height;\n this.enabled = true;\n this.context = this.canvas.getContext(\"2d\");\n };\n CanvasRenderer.prototype.destroy = function () {};\n CanvasRenderer.prototype.resize = function (width, height) {\n this.width = width | 0;\n this.height = height | 0;\n this.canvas.width = this.width;\n this.canvas.height = this.height;\n this.imageData = this.context.getImageData(0, 0, this.width, this.height);\n JSMpeg.Fill(this.imageData.data, 255);\n };\n CanvasRenderer.prototype.renderProgress = function (progress) {\n var w = this.canvas.width,\n h = this.canvas.height,\n ctx = this.context;\n ctx.fillStyle = \"#222\";\n ctx.fillRect(0, 0, w, h);\n ctx.fillStyle = \"#fff\";\n ctx.fillRect(0, h - h * progress, w, h * progress);\n };\n CanvasRenderer.prototype.render = function (y, cb, cr) {\n this.YCbCrToRGBA(y, cb, cr, this.imageData.data);\n this.context.putImageData(this.imageData, 0, 0);\n };\n CanvasRenderer.prototype.YCbCrToRGBA = function (y, cb, cr, rgba) {\n if (!this.enabled) {\n return;\n }\n var w = this.width + 15 >> 4 << 4,\n w2 = w >> 1;\n var yIndex1 = 0,\n yIndex2 = w,\n yNext2Lines = w + (w - this.width);\n var cIndex = 0,\n cNextLine = w2 - (this.width >> 1);\n var rgbaIndex1 = 0,\n rgbaIndex2 = this.width * 4,\n rgbaNext2Lines = this.width * 4;\n var cols = this.width >> 1,\n rows = this.height >> 1;\n var ccb, ccr, r, g, b;\n for (var row = 0; row < rows; row++) {\n for (var col = 0; col < cols; col++) {\n ccb = cb[cIndex];\n ccr = cr[cIndex];\n cIndex++;\n r = ccb + (ccb * 103 >> 8) - 179;\n g = (ccr * 88 >> 8) - 44 + (ccb * 183 >> 8) - 91;\n b = ccr + (ccr * 198 >> 8) - 227;\n var y1 = y[yIndex1++];\n var y2 = y[yIndex1++];\n rgba[rgbaIndex1] = y1 + r;\n rgba[rgbaIndex1 + 1] = y1 - g;\n rgba[rgbaIndex1 + 2] = y1 + b;\n rgba[rgbaIndex1 + 4] = y2 + r;\n rgba[rgbaIndex1 + 5] = y2 - g;\n rgba[rgbaIndex1 + 6] = y2 + b;\n rgbaIndex1 += 8;\n var y3 = y[yIndex2++];\n var y4 = y[yIndex2++];\n rgba[rgbaIndex2] = y3 + r;\n rgba[rgbaIndex2 + 1] = y3 - g;\n rgba[rgbaIndex2 + 2] = y3 + b;\n rgba[rgbaIndex2 + 4] = y4 + r;\n rgba[rgbaIndex2 + 5] = y4 - g;\n rgba[rgbaIndex2 + 6] = y4 + b;\n rgbaIndex2 += 8;\n }\n yIndex1 += yNext2Lines;\n yIndex2 += yNext2Lines;\n rgbaIndex1 += rgbaNext2Lines;\n rgbaIndex2 += rgbaNext2Lines;\n cIndex += cNextLine;\n }\n };\n return CanvasRenderer;\n}();\nJSMpeg.AudioOutput.WebAudio = function () {\n \"use strict\";\n\n var WebAudioOut = function WebAudioOut(options) {\n this.context = WebAudioOut.CachedContext = WebAudioOut.CachedContext || new (window.AudioContext || window.webkitAudioContext)();\n this.gain = this.context.createGain();\n this.destination = this.gain;\n this.gain.connect(this.context.destination);\n this.context._connections = (this.context._connections || 0) + 1;\n this.startTime = 0;\n this.buffer = null;\n this.wallclockStartTime = 0;\n this.volume = 1;\n this.enabled = true;\n this.unlocked = !WebAudioOut.NeedsUnlocking();\n Object.defineProperty(this, \"enqueuedTime\", {\n get: this.getEnqueuedTime\n });\n };\n WebAudioOut.prototype.destroy = function () {\n this.gain.disconnect();\n this.context._connections--;\n if (this.context._connections === 0) {\n this.context.close();\n WebAudioOut.CachedContext = null;\n }\n };\n WebAudioOut.prototype.play = function (sampleRate, left, right) {\n if (!this.enabled) {\n return;\n }\n if (!this.unlocked) {\n var ts = JSMpeg.Now();\n if (this.wallclockStartTime < ts) {\n this.wallclockStartTime = ts;\n }\n this.wallclockStartTime += left.length / sampleRate;\n return;\n }\n this.gain.gain.value = this.volume;\n var buffer = this.context.createBuffer(2, left.length, sampleRate);\n buffer.getChannelData(0).set(left);\n buffer.getChannelData(1).set(right);\n var source = this.context.createBufferSource();\n source.buffer = buffer;\n source.connect(this.destination);\n var now = this.context.currentTime;\n var duration = buffer.duration;\n if (this.startTime < now) {\n this.startTime = now;\n this.wallclockStartTime = JSMpeg.Now();\n }\n source.start(this.startTime);\n this.startTime += duration;\n this.wallclockStartTime += duration;\n };\n WebAudioOut.prototype.stop = function () {\n this.gain.gain.value = 0;\n };\n WebAudioOut.prototype.getEnqueuedTime = function () {\n return Math.max(this.wallclockStartTime - JSMpeg.Now(), 0);\n };\n WebAudioOut.prototype.resetEnqueuedTime = function () {\n this.startTime = this.context.currentTime;\n this.wallclockStartTime = JSMpeg.Now();\n };\n WebAudioOut.prototype.unlock = function (callback) {\n if (this.unlocked) {\n if (callback) {\n callback();\n }\n return;\n }\n this.unlockCallback = callback;\n var buffer = this.context.createBuffer(1, 1, 22050);\n var source = this.context.createBufferSource();\n source.buffer = buffer;\n source.connect(this.destination);\n source.start(0);\n setTimeout(this.checkIfUnlocked.bind(this, source, 0), 0);\n };\n WebAudioOut.prototype.checkIfUnlocked = function (source, attempt) {\n if (source.playbackState === source.PLAYING_STATE || source.playbackState === source.FINISHED_STATE) {\n this.unlocked = true;\n if (this.unlockCallback) {\n this.unlockCallback();\n this.unlockCallback = null;\n }\n } else if (attempt < 10) {\n setTimeout(this.checkIfUnlocked.bind(this, source, attempt + 1), 100);\n }\n };\n WebAudioOut.NeedsUnlocking = function () {\n return /iPhone|iPad|iPod/i.test(navigator.userAgent);\n };\n WebAudioOut.IsSupported = function () {\n return window.AudioContext || window.webkitAudioContext;\n };\n WebAudioOut.CachedContext = null;\n return WebAudioOut;\n}();\nJSMpeg.WASMModule = function () {\n \"use strict\";\n\n var WASM = function WASM() {\n this.stackSize = 5 * 1024 * 1024;\n this.pageSize = 64 * 1024;\n this.onInitCallback = null;\n this.ready = false;\n };\n WASM.prototype.write = function (buffer) {\n this.loadFromBuffer(buffer, this.onInitCallback);\n };\n WASM.prototype.loadFromFile = function (url, callback) {\n this.onInitCallback = callback;\n var ajax = new JSMpeg.Source.Ajax(url, {});\n ajax.connect(this);\n ajax.start();\n };\n WASM.prototype.loadFromBuffer = function (buffer, callback) {\n this.moduleInfo = this.readDylinkSection(buffer);\n if (!this.moduleInfo) {\n this.callback && this.callback(null);\n return;\n }\n this.memory = new WebAssembly.Memory({\n initial: 256\n });\n var env = {\n memory: this.memory,\n memoryBase: 0,\n __memory_base: 0,\n table: new WebAssembly.Table({\n initial: this.moduleInfo.tableSize,\n element: \"anyfunc\"\n }),\n tableBase: 0,\n __table_base: 0,\n abort: this.c_abort.bind(this),\n ___assert_fail: this.c_assertFail.bind(this),\n _sbrk: this.c_sbrk.bind(this)\n };\n this.brk = this.align(this.moduleInfo.memorySize + this.stackSize);\n WebAssembly.instantiate(buffer, {\n env: env\n }).then(function (results) {\n this.instance = results.instance;\n if (this.instance.exports.__post_instantiate) {\n this.instance.exports.__post_instantiate();\n }\n this.createHeapViews();\n this.ready = true;\n callback && callback(this);\n }.bind(this));\n };\n WASM.prototype.createHeapViews = function () {\n this.instance.heapU8 = new Uint8Array(this.memory.buffer);\n this.instance.heapU32 = new Uint32Array(this.memory.buffer);\n this.instance.heapF32 = new Float32Array(this.memory.buffer);\n };\n WASM.prototype.align = function (addr) {\n var a = Math.pow(2, this.moduleInfo.memoryAlignment);\n return Math.ceil(addr / a) * a;\n };\n WASM.prototype.c_sbrk = function (size) {\n var previousBrk = this.brk;\n this.brk += size;\n if (this.brk > this.memory.buffer.byteLength) {\n var bytesNeeded = this.brk - this.memory.buffer.byteLength;\n var pagesNeeded = Math.ceil(bytesNeeded / this.pageSize);\n this.memory.grow(pagesNeeded);\n this.createHeapViews();\n }\n return previousBrk;\n };\n WASM.prototype.c_abort = function (size) {\n console.warn(\"JSMPeg: WASM abort\", arguments);\n };\n WASM.prototype.c_assertFail = function (size) {\n console.warn(\"JSMPeg: WASM ___assert_fail\", arguments);\n };\n WASM.prototype.readDylinkSection = function (buffer) {\n var bytes = new Uint8Array(buffer);\n var next = 0;\n var readVarUint = function readVarUint() {\n var ret = 0;\n var mul = 1;\n while (1) {\n var byte = bytes[next++];\n ret += (byte & 127) * mul;\n mul *= 128;\n if (!(byte & 128)) {\n return ret;\n }\n }\n };\n var matchNextBytes = function matchNextBytes(expected) {\n for (var i = 0; i < expected.length; i++) {\n var b = typeof expected[i] === \"string\" ? expected[i].charCodeAt(0) : expected[i];\n if (bytes[next++] !== b) {\n return false;\n }\n }\n return true;\n };\n if (!matchNextBytes([0, \"a\", \"s\", \"m\"])) {\n console.warn(\"JSMpeg: WASM header not found\");\n return null;\n }\n var next = 9;\n var sectionSize = readVarUint();\n if (!matchNextBytes([6, \"d\", \"y\", \"l\", \"i\", \"n\", \"k\"])) {\n console.warn(\"JSMpeg: No dylink section found in WASM\");\n return null;\n }\n return {\n memorySize: readVarUint(),\n memoryAlignment: readVarUint(),\n tableSize: readVarUint(),\n tableAlignment: readVarUint()\n };\n };\n WASM.IsSupported = function () {\n return !!window.WebAssembly;\n };\n WASM.GetModule = function () {\n WASM.CACHED_MODULE = WASM.CACHED_MODULE || new WASM();\n return WASM.CACHED_MODULE;\n };\n return WASM;\n}();\nJSMpeg.WASM_BINARY_INLINED = \"AGFzbQEAAAAADwZkeWxpbmuA0MACBAAAAAE0CWAEf39/fwBgAX8Bf2ACf38Bf2ABfwBgAn9/AGABfwF9YAZ/f39/f38AYAN/f38Bf2AAAAJGBANlbnYOX19fYXNzZXJ0X2ZhaWwAAANlbnYFX3NicmsAAQNlbnYNX19tZW1vcnlfYmFzZQN/AANlbnYGbWVtb3J5AgCAAgM9PAIDAgEEBAMBBQEBAQEBAQEDBAMGAwQAAwAAAAIDAgEEBAEBAQEBAAACAwIBAgECAQEBAQMEAwMCBwcHCAYLAn8BQQALfwFBAAsHggYfEl9fcG9zdF9pbnN0YW50aWF0ZQA9BV9mcmVlADgHX21hbGxvYwAxB19tZW1jcHkAOghfbWVtbW92ZQA7B19tZW1zZXQAPBNfbXAyX2RlY29kZXJfY3JlYXRlAB0TX21wMl9kZWNvZGVyX2RlY29kZQAmFF9tcDJfZGVjb2Rlcl9kZXN0cm95AB4WX21wMl9kZWNvZGVyX2RpZF93cml0ZQAiFl9tcDJfZGVjb2Rlcl9nZXRfaW5kZXgAICFfbXAyX2RlY29kZXJfZ2V0X2xlZnRfY2hhbm5lbF9wdHIAJCJfbXAyX2RlY29kZXJfZ2V0X3JpZ2h0X2NoYW5uZWxfcHRyACUcX21wMl9kZWNvZGVyX2dldF9zYW1wbGVfcmF0ZQAjGl9tcDJfZGVjb2Rlcl9nZXRfd3JpdGVfcHRyAB8WX21wMl9kZWNvZGVyX3NldF9pbmRleAAhFV9tcGVnMV9kZWNvZGVyX2NyZWF0ZQACFV9tcGVnMV9kZWNvZGVyX2RlY29kZQARFl9tcGVnMV9kZWNvZGVyX2Rlc3Ryb3kAAxhfbXBlZzFfZGVjb2Rlcl9kaWRfd3JpdGUABxlfbXBlZzFfZGVjb2Rlcl9nZXRfY2JfcHRyABAdX21wZWcxX2RlY29kZXJfZ2V0X2NvZGVkX3NpemUACxlfbXBlZzFfZGVjb2Rlcl9nZXRfY3JfcHRyAA8dX21wZWcxX2RlY29kZXJfZ2V0X2ZyYW1lX3JhdGUAChlfbXBlZzFfZGVjb2Rlcl9nZXRfaGVpZ2h0AA0YX21wZWcxX2RlY29kZXJfZ2V0X2luZGV4AAUYX21wZWcxX2RlY29kZXJfZ2V0X3dpZHRoAAwcX21wZWcxX2RlY29kZXJfZ2V0X3dy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BQJ/IANBzQBHDQIgACgCgAFBBhAwIQMCQAJAIAAoAoABQQgQMCIEIgYEQCAGQYABRgRADAIFDAMLAAsgACgCgAFBCBAwDAILIAAoAoABQQgQMEGAfmoMAQsgBEGAfmogBCAEQYABShsLCyEEDAELIAZB/wFxIgNBACADayAAKAKAAUEBEDBFGyEEIAZBCHUhAwsgAiADaiIGIwBBQGtqLQAAIgMgBWotAAAgACgCREEAIARBAXQiAkEfdUEBciAAKAJcGyACamxsIgJBBHVBAEEBQX8gAkEPShsgAkEQcRtrIgJBgHAgAkGAcEobIQIgAEGcAWogA0ECdGogAyMAQZA1amotAAAgAkH/DyACQf8PSBtsNgIAIAZBAWohAgwBCwsgAUEESARAIABBhAFqIQUgAUEDdEEIcSAAKAJUIAAoAhgiAyAAKAJQbGpBBHRyIANBA3RBACABQQJxG2ohBAUgAEGMAWogAEGIAWogAUEERhshBSAAKAJQIAAoAhgiAUECdGwgACgCVEEDdGohBCABQQF1IQMLIANBeGohAyAFKAIAIQUgAkEBRiECIABBnAFqIQEgACgCXARAIAIEQCABKAIAQYABakEIdSAFIAQgAxAYIAFBADYCAAUgARAZIAEgBSAEIAMQGiABQQBBgAIQPBoLBSACBEAgASgCAEGAAWpBCHUgBSAEIAMQGyABQQA2AgAFIAEQGSABIAUgBCADEBwgAUEAQYACEDwaCwsL7AYAIAEgAmogAEEAIABBAEobIgBB/wEgAEH/AUgbQf8BcSIAOgAAIAEgAkEBamogADoAACABIAJBAmpqIAA6AAAgASACQQNqaiAAOgAAIAEgAkEEamogADoAACABIAJBBWpqIAA6AAAgASACQQZqaiAAOgAAIAEgAkEHamogADoAACABIAIgA0EIaiIDaiICaiAAOgAAIAEgAkEBamogADoAACABIAJBAmpqIAA6AAAgASACQQNqaiAAOgAAIAEgAkEEamogADoAACABIAJBBWpqIAA6AAAgASACQQZqaiAAOgAAIAEgAkEHamogADoAACABIAIgA2oiAmogADoAACABIAJBAWpqIAA6AAAgASACQQJqaiAAOgAAIAEgAkEDamogADoAACABIAJBBGpqIAA6AAAgASACQQVqaiAAOgAAIAEgAkEGamogADoAACABIAJBB2pqIAA6AAAgASACIANqIgJqIAA6AAAgASACQQFqaiAAOgAAIAEgAkECamogADoAACABIAJBA2pqIAA6AAAgASACQQRqaiAAOgAAIAEgAkEFamogADoAACABIAJBBmpqIAA6AAAgASACQQdqaiAAOgAAIAEgAiADaiICaiAAOgAAIAEgAkEBamogADoAACABIAJBAmpqIAA6AAAgASACQQNqaiAAOgAAIAEgAkEEamogADoAACABIAJBBWpqIAA6AAAgASACQQZqaiAAOgAAIAEgAkEHamogADoAACABIAIgA2oiAmogADoAACABIAJBAWpqIAA6AAAgASACQQJqaiAAOgAAIAEgAkEDamogADoAACABIAJBBGpqIAA6AAAgASACQQVqaiAAOgAAIAEgAkEGamogADoAACABIAJBB2pqIAA6AAAgASACIANqIgJqIAA6AAAgASACQQFqaiAAOgAAIAEgAkECamogADoAACABIAJBA2pqIAA6AAAgASACQQRqaiAAOgAAIAEgAkEFamogADoAACABIAJBBmpqIAA6AAAgASACQQdqaiAAOgAAIAEgAiADaiICaiAAOgAAIAEgAkEBamogADoAACABIAJBAmpqIAA6AAAgASACQQNqaiAAOgAAIAEgAkEEamogADoAACABIAJBBWpqIAA6AAAgASACQQZqaiAAOgAAIAEgAkEHamogADoAAAubBgEUfwNAIAFBEGpBAnQgAGoiBygCACIGIAFBMGpBAnQgAGoiDSgCACIJaiEFIAFBCGpBAnQgAGoiDigCACICIAFBOGpBAnQgAGoiDygCACIDaiEEIAIgA2siEEHZA2wgAUEoakECdCAAaiIKKAIAIgIgAUEYakECdCAAaiIRKAIAIgNrIgtBvH5sQYABampBCHUgBCACIANqIghqIgJrIgMgBCAIa0HqAmxBgAFqQQh1ayEEIAFBAnQgAGoiCCgCACIMIAFBIGpBAnQgAGoiEigCACITayIUIAYgCWtB6gJsQYABakEIdSAFayIJaiEGIAggAiAMIBNqIgggBWoiDGo2AgAgDiADIAZqNgIAIAcgFCAJayIHIARrNgIAIBEgC0HZA2xBgAFqIBBBxAFsakEIdSAEaiIJIAggBWsiBWo2AgAgEiAFIAlrNgIAIAogBCAHajYCACANIAYgA2s2AgAgDyAMIAJrNgIAIAFBAWoiAUEIRw0AC0EAIQEDQCABQQFyQQJ0IABqIgcoAgAiBCABQQdyQQJ0IABqIg0oAgAiAmohBSAEIAJrIglB2QNsIAFBBXJBAnQgAGoiDigCACIEIAFBA3JBAnQgAGoiDygCACICayIQQbx+bEGAAWpqQQh1IAUgAiAEaiIDaiIEayICIAUgA2tB6gJsQYABakEIdWshBSABQQJ0IABqIgYoAgAiCiABQQRyQQJ0IABqIhEoAgAiC2shAyAGIAogC2oiCiABQQJyQQJ0IABqIgsoAgAiCCABQQZyQQJ0IABqIgwoAgAiEmoiBmoiEyAEQYABampBCHU2AgAgByADIAggEmtB6gJsQYABakEIdSAGayIHakGAAWoiCCACakEIdTYCACALIAMgB2tBgAFqIgMgBWtBCHU2AgAgDyAQQdkDbEGAAWogCUHEAWxqQQh1IAVqIgcgCiAGa0GAAWoiBmpBCHU2AgAgESAGIAdrQQh1NgIAIA4gAyAFakEIdTYCACAMIAggAmtBCHU2AgAgDSATQYABIARrakEIdTYCACABQQhqIgFBwABJDQALC5gDAQJ/IANBCGohBUEAIQMDQCABIAJqIANBAnQgAGooAgAiBEEAIARBAEobIgRB/wEgBEH/AUgbOgAAIAEgAkEBamogA0EBckECdCAAaigCACIEQQAgBEEAShsiBEH/ASAEQf8BSBs6AAAgASACQQJqaiADQQJyQQJ0IABqKAIAIgRBACAEQQBKGyIEQf8BIARB/wFIGzoAACABIAJBA2pqIANBA3JBAnQgAGooAgAiBEEAIARBAEobIgRB/wEgBEH/AUgbOgAAIAEgAkEEamogA0EEckECdCAAaigCACIEQQAgBEEAShsiBEH/ASAEQf8BSBs6AAAgASACQQVqaiADQQVyQQJ0IABqKAIAIgRBACAEQQBKGyIEQf8BIARB/wFIGzoAACABIAJBBmpqIANBBnJBAnQgAGooAgAiBEEAIARBAEobIgRB/wEgBEH/AUgbOgAAIAEgAkEHamogA0EHckECdCAAaigCACIEQQAgBEEAShsiBEH/ASAEQf8BSBs6AAAgAiAFaiECIANBCGoiA0HAAEkNAAsLiwMBA38gA0EIaiEGQQAhAwNAIAAgASACaiIFLQAAaiIEQQAgBEEAShshBCAFIARB/wEgBEH/AUgbOgAAIAAgASACQQFqaiIFLQAAaiIEQQAgBEEAShshBCAFIARB/wEgBEH/AUgbOgAAIAAgASACQQJqaiIFLQAAaiIEQQAgBEEAShshBCAFIARB/wEgBEH/AUgbOgAAIAAgASACQQNqaiIFLQAAaiIEQQAgBEEAShshBCAFIARB/wEgBEH/AUgbOgAAIAAgASACQQRqaiIFLQAAaiIEQQAgBEEAShshBCAFIARB/wEgBEH/AUgbOgAAIAAgASACQQVqaiIFLQAAaiIEQQAgBEEAShshBCAFIARB/wEgBEH/AUgbOgAAIAAgASACQQZqaiIFLQAAaiIEQQAgBEEAShshBCAFIARB/wEgBEH/AUgbOgAAIAAgASACQQdqaiIFLQAAaiIEQQAgBEEAShshBCAFIARB/wEgBEH/AUgbOgAAIAIgBmohAiADQQhqIgNBwABJDQALC+gDAQN/IANBCGohBkEAIQMDQCADQQJ0IABqKAIAIAEgAmoiBS0AAGoiBEEAIARBAEobIQQgBSAEQf8BIARB/wFIGzoAACADQQFyQQJ0IABqKAIAIAEgAkEBamoiBS0AAGoiBEEAIARBAEobIQQgBSAEQf8BIARB/wFIGzoAACADQQJyQQJ0IABqKAIAIAEgAkECamoiBS0AAGoiBEEAIARBAEobIQQgBSAEQf8BIARB/wFIGzoAACADQQNyQQJ0IABqKAIAIAEgAkEDamoiBS0AAGoiBEEAIARBAEobIQQgBSAEQf8BIARB/wFIGzoAACADQQRyQQJ0IABqKAIAIAEgAkEEamoiBS0AAGoiBEEAIARBAEobIQQgBSAEQf8BIARB/wFIGzoAACADQQVyQQJ0IABqKAIAIAEgAkEFamoiBS0AAGoiBEEAIARBAEobIQQgBSAEQf8BIARB/wFIGzoAACADQQZyQQJ0IABqKAIAIAEgAkEGamoiBS0AAGoiBEEAIARBAEobIQQgBSAEQf8BIARB/wFIGzoAACADQQdyQQJ0IABqKAIAIAEgAkEHamoiBS0AAGoiBEEAIARBAEobIQQgBSAEQf8BIARB/wFIGzoAACACIAZqIQIgA0EIaiIDQcAASQ0ACwtUAQF/Qcy3ARAxIgJBBGpBAEHItwEQPBogAiAAIAEQKjYCCCACQcTYAjYCACACQczWAGojAEHQNWpBgBAQOhogAkHM5gBqIwBB0DVqQYAQEDoaIAILDQAgACgCCBArIAAQOAsLACAAKAIIIAEQLAsKACAAKAIIKAIECwwAIAAoAgggATYCBAsUACAAKAIIIgAgASAAKAIMajYCDAsHACAAKAIACwgAIABBzA5qCwgAIABBzDJqC0UBAn8gACgCCCgCBCECIAAoAggiASgCDEEDdCABKAIEa0EQSQRAQQAPCyAAECchASAAKAIIIAFBA3QgAmpBeHE2AgQgAQuVGgEffyAAKAIIQQsQMCAAKAIIQQIQMCECIAAoAghBAhAwIQEgACgCCEEBEDAhB0H/D0cgAkEDR3IgAUECR3IEQEEADwsgACgCCEEEEDAiAkEOSgRAQQAPCyAAKAIIQQIQMCINQQNGBEBBAA8LIAAoAghBARAwIAAoAghBARAwGiAAKAIIQQIQMCEKIAAoAgghASAKQQFGBH8gAUECEDBBAnRBBGoFIAEgASgCBEECajYCBEEAQSAgCkEDRhsLIQwgACgCCCIBIAEoAgRBBGo2AgQgB0UEQCAAKAIIIgEgASgCBEEQajYCBAsjAEHQxQBqIAJBf2oiAUEBdGouAQBBgOUIbCMAQZDGAGogDUEBdGovAQAiF20gDSMAQdzIAGogASMAQaDGAGogCkEDR0EEdGpqLQAAQQNsamotAAAiAUE/cSELIAFBBnYhCCALIAwgDCALShsiDUEASiIYBEBBACEBA0AgASMAQcDGAGogCEEFdGpqLQAAIgJBD3EhBSAAKAIIIAJBBHYiAhAwIwBBoMcAaiAFQQR0amosAAAhAyAAQQxqIAFBAnRqIwAgA0H/AXFBAnRqQfzHAGpBACADGzYCACAAKAIIIAIQMCMAQaDHAGogBUEEdGpqLAAAIQIgAEGMAWogAUECdGojACACQf8BcUECdGpB/McAakEAIAIbNgIAIAFBAWoiASANSA0ACwsgCyAMSiIZBEAgDSEBA0AgACgCCCABIwBBwMYAaiAIQQV0amotAAAiAkEEdhAwIwBBoMcAaiACQQ9xQQR0amosAAAhAiAAQYwBaiABQQJ0aiMAIAJB/wFxQQJ0akH8xwBqQQAgAhsiAjYCACAAQQxqIAFBAnRqIAI2AgAgAUEBaiIBIAtIDQALC0EBQQIgCkEDRiIFGyEIIAtFIgJFBEAgBQRAQQAhAQNAQQAhAwNAIABBDGogA0EHdGogAUECdGooAgAEQCABIABBjAJqIANBBXRqaiAAKAIIQQIQMDoAAAsgA0EBaiIDIAhJDQALIAEgAEGsAmpqIAEgAEGMAmpqLAAAOgAAIAFBAWoiASALRw0ACwVBACEBA0BBACEDA0AgAEEMaiADQQd0aiABQQJ0aigCAARAIAEgAEGMAmogA0EFdGpqIAAoAghBAhAwOgAACyADQQFqIgMgCEkNAAsgAUEBaiIBIAtHDQALCyACRQRAIAUEQEEAIQEDQEEAIQMDQCAAQQxqIANBB3RqIAFBAnRqKAIABEACQCAAQcwCaiADQYADbGogAUEMbGohBQJAAkACQAJAAkAgASAAQYwCaiADQQV0amosAAAOBAABAgMECyAFIAAoAghBBhAwNgIAIAAgA0GAA2xqIAFBDGxqIAAoAghBBhAwNgLQAiAAIANBgANsaiABQQxsaiAAKAIIQQYQMDYC1AIMBAsgACADQYADbGogAUEMbGogACgCCEEGEDAiAjYC0AIgBSACNgIAIAAgA0GAA2xqIAFBDGxqIAAoAghBBhAwNgLUAgwDCyAAIANBgANsaiABQQxsaiAAKAIIQQYQMCICNgLUAiAAIANBgANsaiABQQxsaiACNgLQAiAFIAI2AgAMAgsgBSAAKAIIQQYQMDYCACAAIANBgANsaiABQQxsaiAAKAIIQQYQMCICNgLUAiAAIANBgANsaiABQQxsaiACNgLQAgsLCyADQQFqIgMgCEkNAAsgAEHMBWogAUEMbGogAEHMAmogAUEMbGooAgA2AgAgACABQQxsaiAAIAFBDGxqKALQAjYC0AUgACABQQxsaiAAIAFBDGxqKALUAjYC1AUgAUEBaiIBIAtHDQALBUEAIQEDQEEAIQMDQCAAQQxqIANBB3RqIAFBAnRqKAIABEACQCAAQcwCaiADQYADbGogAUEMbGohBQJAAkACQAJAAkAgASAAQYwCaiADQQV0amosAAAOBAABAgMECyAFIAAoAghBBhAwNgIAIAAgA0GAA2xqIAFBDGxqIAAoAghBBhAwNgLQAiAAIANBgANsaiABQQxsaiAAKAIIQQYQMDYC1AIMBAsgACADQYADbGogAUEMbGogACgCCEEGEDAiAjYC0AIgBSACNgIAIAAgA0GAA2xqIAFBDGxqIAAoAghBBhAwNgLUAgwDCyAAIANBgANsaiABQQxsaiAAKAIIQQYQMCICNgLUAiAAIANBgANsaiABQQxsaiACNgLQAiAFIAI2AgAMAgsgBSAAKAIIQQYQMDYCACAAIANBgANsaiABQQxsaiAAKAIIQQYQMCICNgLUAiAAIANBgANsaiABQQxsaiACNgLQAgsLCyADQQFqIgMgCEkNAAsgAUEBaiIBIAtHDQALCwsLaiALQSBJIRsgAEHMtgFqIQQgAEHMCGohHCAAQcz2AGohHSAAQcwLaiEeIABBzJYBaiEfA0BBACEWIBQhAwNAIBgEQEEAIQEDQCAAQQAgASAOECggAEEBIAEgDhAoIAFBAWoiASANSA0ACwsgGQRAIA0hAQNAIABBACABIA4QKCAAQcwLaiABQQxsaiAAQcwIaiABQQxsaigCADYCACAAIAFBDGxqQdALaiAAIAFBDGxqQdAIaigCADYCACAAIAFBDGxqQdQLaiAAIAFBDGxqQdQIaigCADYCACABQQFqIgEgC0gNAAsLIBsEQCALIQEDQCAAQcwIaiABQQxsakEANgIAIAAgAUEMbGpB0AhqQQA2AgAgACABQQxsakHUCGpBADYCACAAQcwLaiABQQxsakEANgIAIAAgAUEMbGpB0AtqQQA2AgAgACABQQxsakHUC2pBADYCACABQQFqIgFBIEcNAAsLIAAoAgQhASADIRFBACESA0AgACABQcAHakH/B3EiATYCBCAcIBIgHSABECkgBEIANwIAIARCADcCCCAEQgA3AhAgBEIANwIYIARCADcCICAEQgA3AiggBEIANwIwIARCADcCOCAEQUBrQgA3AgAgBEIANwJIIARCADcCUCAEQgA3AlggBEIANwJgIARCADcCaCAEQgA3AnAgBEIANwJ4IAAoAgQiD0EBdSETQf8HIA9BgAFvQQF1IgxrIgFBgH9xIRUgAUEHdkEGdEHABGohEEGABCATayEGIAwhAQNAIAYhB0EAIQkgASECA0AgB0EBaiEIIAJBAWohBSAAQcy2AWogCUECdGoiCiAAQczWAGogB0ECdGoqAgAgAEHM9gBqIAJBAnRqKgIAlCAKKAIAspKoNgIAIAlBAWoiCUEgRwRAIAghByAFIQIMAQsLIAFBgAFqIQIgBkFAayEGIAFBgAdIBEAgAiEBDAELC0HgByAMIBVqayIBQYAISARAIBAgE2tBoHxqIQYD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IkogWCBLk7tEujBFka7n9D+itiJLk7tEuEt/Zp6g5j+itiI6kiEqIANBMGpBAnQgAmogTSA8kow4AgAgA0EvakECdCACaiApICiSIEwgSZIgJJIiKJKMIik4AgAgA0ExakECdCACaiApOAIAIANBLmpBAnQgAmogRiBFkiAjkowiKTgCACADQTJqQQJ0IAJqICk4AgAgA0EtakECdCACaiAwIC2SIEAgPpIgJpIiKZIiPCAokowiKDgCACADQTNqQQJ0IAJqICg4AgAgA0EsakECdCACaiA2IE+SIFEgUJIgNZIiKJKMIjY4AgAgA0E0akECdCACaiA2OAIAIANBK2pBAnQgAmogPCA/IDiSIDOSIjwgJJIiJJKMIjY4AgAgA0E1akECdCACaiA2OAIAIANBKmpBAnQgAmogPSBSkiA7kiI9ICOSjCIjOAIAIANBNmpBAnQgAmogIzgCACADQSlqQQJ0IAJqIEsgSpIgOpIiIyAkkowiJDgCACADQTdqQQJ0IAJqICQ4AgAgA0EoakECdCACaiBIIE6SIDGSjCIkOAIAIANBOGpBAnQgAmogJDgCACADQSdqQQJ0IAJqICMgPCArkiIjkowiJDgCACADQTlqQQJ0IAJqICQ4AgAgA0EmakECdCACaiA9ICeSjCIkOAIAIANBOmpBAnQgAmogJDgCACADQSVqQQJ0IAJqICkgLSAwk7tEuEt/Zp6g5j+itiIpkiItICOSjCIjOAIAIANBO2pBAnQgAmogIzgCACADQSRqQQJ0IAJqICggR5KMIiM4AgAgA0E8akECdCACaiAjOAIAIANBI2pBAnQgAmogLSArIDKSIiOSjCIoOAIAIANBPWpBAnQgAmogKDgCACADQSJqQQJ0IAJqICcgU5KMIic4AgAgA0E+akECdCACaiAnOAIAIANBIWpBAnQgAmogIyBCkowiIzgCACADQT9qQQJ0IAJqICM4AgAgA0EgakECdCACaiA0jDgCACADQQJ0IAJqIDQ4AgAgA0EfakECdCACaiAsjDgCACADQQFqQQJ0IAJqICw4AgAgA0EeakECdCACaiA5jDgCACADQQJqQQJ0IAJqIDk4AgAgA0EdakECdCACaiApICaSIjQgQZIiI4w4AgAgA0EDakECdCACaiAjOAIAIANBHGpBAnQgAmogL4w4AgAgA0EEakECdCACaiAvOAIAIANBG2pBAnQgAmogNCA3IDOSIjSSIi+MOAIAIANBBWpBAnQgAmogLzgCACADQRpqQQJ0IAJqIEQgO5IiL4w4AgAgA0EGakECdCACaiAvOAIAIANBGWpBAnQgAmogNCA6kiI0jDgCACADQQdqQQJ0IAJqIDQ4AgAgA0EYakECdCACaiAxjDgCACADQQhqQQJ0IAJqIDE4AgAgA0EXakECdCACaiAqjDgCACADQQlqQQJ0IAJqICo4AgAgA0EWakECdCACaiA7IC6SIjGMOAIAIANBCmpBAnQgAmogMTgCACADQRVqQQJ0IAJqIEMgJpIiMYw4AgAgA0ELakECdCACaiAxOAIAIANBFGpBAnQgAmogNYw4AgAgA0EMakECdCACaiA1OAIAIANBE2pBAnQgAmogJiAlkiImjDgCACADQQ1qQQJ0IAJqICY4AgAgA0ESakECdCACaiAujDgCACADQQ5qQQJ0IAJqIC44AgAgA0ERakECdCACaiAljDgCACADQQ9qQQJ0IAJqICU4AgAgA0EQakECdCACakMAAAAAOAIACy8BAX9BFBAxIgIgATYCECACIAAQMTYCACACIAA2AgggAkEANgIMIAJBADYCBCACCw0AIAAoAgAQOCAAEDgL6QEBBH8gACgCCCIDIAAoAgwiAmsiBCABSQRAAkAgACgCEEECRgRAIAAgACgCACABIARrIANBAXQiAiACIARqIAFJGyIBEDk2AgAgACABNgIIIAAoAgQgACgCDCIBQQN0IgJNDQEgACACNgIEDAELIAIgACgCBCIFQQN2IgNGIAMgBGogAUlyBEAgAEEANgIMIABBADYCBEEAIQEMAQsgAwRAIAAoAgAiASABIANqIAIgA2sQOxogACAAKAIMIANrIgE2AgwgACAAKAIEIAVBeHFrNgIEBSACIQELCwUgAiEBCyAAKAIAIAFqC40BAQR/IAAoAgRBB2pBA3YiASAAKAIMIgRJBEACQCAAKAIAIQIDQAJAIAFBAWohAyABIAJqLAAARQRAIAIgA2osAABFBEAgAiABQQJqaiwAAEEBRg0CCwsgAyAETw0CIAMhAQwBCwsgACABQQN0QSBqNgIEIAIgAUEDamotAAAPCwsgACAEQQN0NgIEQX8LqQEBBH8gACgCBEEHakEDdiICIAAoAgwiBUkEQAJAIAAoAgAh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aiIGQRBLDQALIAMgCWohAyAIayECIQEMAgsgAyABKAIAIgU6AAAgAyABLAABOgABIAJBbGpBcHEiCEESaiIJIAFqIAJBbmogA0ECaiEEIAJBfmohBiABQQJqIQIgBSEBA0AgBCACKAICIgVBEHQgAUEQdnI2AgAgBCACKAIGIgFBEHQgBUEQdnI2AgQgBCACKAIKIgVBEHQgAUEQdnI2AgggBCACKAIOIgFBEHQgBUEQdnI2AgwgAkEQaiECIARBEGohBCAGQXBqIgZBEUsNAAsgAyAJaiEDIAhrIQIhAQwBCyADIAEoAgAiBToAACACQWxqQXBxIghBEWoiCSABaiACQW9qIANBAWohBCACQX9qIQYgAUEBaiECIAUhAQNAIAQgAigCAyIFQRh0IAFBCHZyNgIAIAQgAigCByIBQRh0IAVBCHZyNgIEIAQgAigCCyIFQRh0IAFBCHZyNgIIIAQgAigCDyIBQRh0IAVBCHZyNgIMIAJBEGohAiAEQRBqIQQgBkFwaiIGQRJLDQALIAMgCWohAyAIayECIQELCyACQRBxBEAgAyABLAAAOgAAIAMgASwAAToAASADIAEsAAI6AAIgAyABLAADOgADIAMgASwABDoABCADIAEsAAU6AAUgAyABLAAGOgAGIAMgASwABzoAByADIAEsAAg6AAggAyABLAAJOgAJIAMgASwACjoACiADIAEsAAs6AAsgAyABLAAMOgAMIAMgASwADToADSADIAEsAA46AA4gAyABLAAPOgAPIANBEGohAyABQRBqIQELIAJBCHEEQCADIAEsAAA6AAAgAyABLAABOgABIAMgASwAAjoAAiADIAEsAAM6AAMgAyABLAAEOgAEIAMgASwABToABSADIAEsAAY6AAYgAyABLAAHOgAHIANBCGohAyABQQhqIQELIAJBBHEEQCADIAEsAAA6AAAgAyABLAABOgABIAMgASwAAjoAAiADIAEsAAM6AAMgA0EEaiEDIAFBBGohAQsgAkECcQRAIAMgASwAADoAACADIAEsAAE6AAEgA0ECaiEDIAFBAmohAQsgAkEBcUUEQCAADwsgAyABLAAAOgAAIAALwAMBBn8gACABRgRAIAAPCyABIAJqIABLIAAgAmoiBSABS3FFBEAgACABIAIQOhogAA8LIAEgACIDc0EDcUUhBCADIAFJBH8g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JCQkJCQkJCQkJCQkJCQkJCQAAAABAhEAAAAAAAAAAAAAAAAAAQIDBAUGEQAAAAAAAAAAAAECAwQFBgcICQoLDA0OEQABAwUGBwgJCgsMDQ4PEBEAAQIEBQYHCAkKCwwNDg8RAAECAwQFBgcICQoLDA0ODwMAAQUFAAEHBwAAAwkAAQoPAAAEHwAABT8AAAZ/AAAH/wAACP8BAAn/AwAK/wcAC/8PAAz/HwAN/z8ADv9/AA///wAQAAAAAAAAAAAAAAAAAAAAAupflgEwikIBCAgMW1tbXltec2l6ZSA+IDAAL2hvbWUvZG9taW5pYy9wcm9qZWN0cy9lbXNkay9mYXN0Y29tcC9lbXNjcmlwdGVuLy9zeXN0ZW0vbGliL2VtbWFsbG9jLmNwcABnZXRGcmVlTGlzdEluZGV4AE1JTl9GUkVFTElTVF9JTkRFWCA8PSBpbmRleCAmJiBpbmRleCA8IE1BWF9GUkVFTElTVF9JTkRFWABnZXRBZnRlcihyZWdpb24pIDw9IHNicmsoMCkAZW1tYWxsb2NfbWFsbG9jAHJlZ2lvbi0+Z2V0VXNlZCgpAGdldFBheWxvYWQAKGNoYXIqKWV4dHJhUHRyID09IChjaGFyKilwdHIgKyBzYnJrU2l6ZQBhbGxvY2F0ZVJlZ2lvbgAhbGFzdFJlZ2lvbgAhZmlyc3RSZWdpb24AZmlyc3RSZWdpb24AcHRyID09IGdldEFmdGVyKGxhc3RSZWdpb24pAGV4dGVuZExhc3RSZWdpb24AYWRkVG9GcmVlTGlzdABnZXRCaWdFbm91Z2hGcmVlTGlzdEluZGV4AHBheWxvYWRTaXplID49IHNpemUAcG9zc2libHlTcGxpdFJlbWFpbmRlcgBleHRyYSA+PSBNSU5fUkVHSU9OX1NJWkUAdG90YWxTcGxpdFNpemUgPj0gTUlOX1JFR0lPTl9TSVpFAG1lcmdlSW50b0V4aXN0aW5nRnJlZVJlZ2lvbgByZWdpb24gPT0gbGFzdFJlZ2lvbgBlbW1hbGxvY19yZWFsbG9j\";\nexport default JSMpeg;",{"version":3,"names":["window","JSMpeg","Player","VideoElement","BitBuffer","Source","Demuxer","Decoder","Renderer","AudioOutput","Now","performance","now","Date","CreateVideoElements","elements","document","querySelectorAll","i","length","Fill","array","value","fill","Base64ToArrayBuffer","base64","binary","atob","bytes","Uint8Array","charCodeAt","buffer","WASM_BINARY_INLINED","readyState","addEventListener","element","url","dataset","addStyles","styles","name","style","container","display","position","minWidth","minHeight","canvas","createElement","width","height","appendChild","playButton","innerHTML","PLAY_BUTTON","zIndex","top","bottom","left","right","maxWidth","maxHeight","margin","opacity","cursor","options","option","JSON","parse","err","player","playerInstance","poster","autoplay","streaming","decodeFirstFrame","Image","src","posterLoaded","onClick","bind","audioOut","unlocked","unlockAudioElement","unmuteButton","UNMUTE_BUTTON","unlockAudioBound","onUnlockAudio","prototype","ev","preventDefault","stopPropagation","unlock","removeEventListener","isPlaying","pause","play","source","match","WebSocket","progressive","AjaxProgressive","Ajax","maxAudioLag","loop","demuxer","TS","connect","disableWebAssembly","WASMModule","IsSupported","wasmModule","GetModule","video","MPEG1VideoWASM","MPEG1Video","renderer","disableGl","WebGL","Canvas2D","STREAM","VIDEO_1","audio","WebAudio","MP2AudioWASM","MP2Audio","AUDIO_1","Object","defineProperty","get","getCurrentTime","set","setCurrentTime","getVolume","setVolume","paused","unpauseOnShow","pauseWhenHidden","showHide","ready","startLoading","wasm","loadFromBuffer","loadFromFile","start","visibilityState","wantsToPlay","animationId","requestAnimationFrame","update","cancelAnimationFrame","canPlay","stop","seek","currentTime","onPause","volume","decode","destroy","time","startOffset","startTime","established","renderProgress","progress","onPlay","updateForStreaming","updateForStaticFile","decoded","enqueuedTime","resetEnqueuedTime","enabled","nextFrame","notEnoughData","headroom","decodedTime","targetTime","lateTime","frameTime","frameRate","resume","completed","onEnded","onStalled","bufferOrLength","mode","byteLength","MODE","EXPAND","index","resize","size","newBytes","Math","min","evict","sizeNeeded","bytePos","available","copyWithin","subarray","write","buffers","isArrayOfBuffers","totalLength","newSize","max","appendSingleBuffer","findNextStartCode","findStartCode","code","current","nextBytesAreStartCode","peek","count","offset","currentByte","remaining","read","shift","mask","skip","rewind","has","EVICT","AjaxSource","destination","request","onEstablishedCallback","onSourceEstablished","onCompletedCallback","onSourceCompleted","XMLHttpRequest","onreadystatechange","DONE","status","onLoad","response","onprogress","onProgress","open","responseType","send","secondsHeadroom","abort","loaded","total","data","Fetch","FetchSource","aborted","params","method","headers","Headers","cache","self","fetch","then","res","ok","pump","body","getReader","catch","reader","result","done","cancel","AjaxProgressiveSource","fileSize","loadedSize","chunkSize","isLoading","loadStartTime","throttled","parseInt","getResponseHeader","loadNextChunk","worstCaseLoadingTime","loadTime","end","onChunkLoad","loadFails","setRequestHeader","isFirstChunk","WSSource","socket","callbacks","reconnectInterval","undefined","shouldAttemptReconnect","reconnectTimeoutId","clearTimeout","close","protocols","binaryType","onmessage","onMessage","onopen","onOpen","onerror","onClose","onclose","setTimeout","bits","leftoverBytes","guessVideoFrameEnd","pidsToStreamIds","pesPacketInfo","streamId","currentLength","pts","parsePacket","leftoverCount","resync","transportError","payloadStart","transportPriority","pid","transportScrambling","adaptationField","continuityCounter","pi","packetComplete","adaptationFieldLength","packetLength","ptsDtsFlag","headerLength","payloadBeginIndex","p32_30","p29_15","p14_0","payloadLength","packetStart","complete","packetAddData","hasPadding","byteIndex","foundSync","j","console","warn","push","PACK_HEADER","SYSTEM_HEADER","PROGRAM_MAP","PRIVATE_1","PADDING","PRIVATE_2","DIRECTORY","Base","BaseDecoder","collectTimestamps","bytesWritten","timestamps","timestampIndex","bufferGetIndex","bufferSetIndex","bufferWrite","ts","advanceDecodedTime","seconds","newTimestampIndex","currentIndex","MPEG1","call","onDecodeCallback","onVideoDecode","bufferSize","videoBufferSize","bufferMode","customIntraQuantMatrix","customNonIntraQuantMatrix","blockData","Int32Array","currentFrame","create","constructor","hasSequenceHeader","START","SEQUENCE","decodeSequenceHeader","PICTURE","bufferedBytes","decodePicture","elapsedTime","readHuffman","codeTable","state","newWidth","newHeight","PICTURE_RATE","initBuffers","ZIG_ZAG","intraQuantMatrix","idx","nonIntraQuantMatrix","DEFAULT_INTRA_QUANT_MATRIX","DEFAULT_NON_INTRA_QUANT_MATRIX","mbWidth","mbHeight","mbSize","codedWidth","codedHeight","codedSize","halfWidth","halfHeight","currentY","Uint8ClampedArray","currentY32","Uint32Array","currentCr","currentCr32","currentCb","currentCb32","forwardY","forwardY32","forwardCr","forwardCr32","forwardCb","forwardCb32","pictureType","fullPelForward","forwardFCode","forwardRSize","forwardF","skipOutput","PICTURE_TYPE","B","PREDICTIVE","EXTENSION","USER_DATA","SLICE_FIRST","SLICE_LAST","decodeSlice","render","INTRA","tmpY","tmpY32","tmpCr","tmpCr32","tmpCb","tmpCb32","quantizerScale","sliceBegin","slice","macroblockAddress","motionFwH","motionFwHPrev","motionFwV","motionFwVPrev","dcPredictorY","dcPredictorCr","dcPredictorCb","decodeMacroblock","mbRow","mbCol","macroblockType","macroblockIntra","macroblockMotFw","increment","t","MACROBLOCK_ADDRESS_INCREMENT","copyMacroblock","mbTable","MACROBLOCK_TYPE","decodeMotionVectors","cbp","CODE_BLOCK_PATTERN","block","decodeBlock","d","r","MOTION","abs","motionH","motionV","sY","sCr","sCb","scan","H","V","oddH","oddV","dest","last","dY","dCb","dCr","x","y1","y2","y","cr1","cr2","cr","cb1","cb2","cb","n","quantMatrix","predictor","dctSize","DCT_DC_SIZE_LUMINANCE","DCT_DC_SIZE_CHROMINANCE","differential","level","run","coeff","DCT_COEFF","dezigZagged","PREMULTIPLIER_MATRIX","destArray","destIndex","CopyValueToDestination","IDCT","CopyBlockToDestination","AddValueToDestination","AddBlockToDestination","b1","b3","b4","b6","b7","tmp1","tmp2","m0","x0","x1","x2","x3","x4","y3","y4","y5","y6","y7","Int16Array","MACROBLOCK_TYPE_INTRA","Int8Array","MACROBLOCK_TYPE_PREDICTIVE","MACROBLOCK_TYPE_B","MPEG1WASM","module","initializeWasmDecoder","instance","functions","exports","decoder","_mpeg1_decoder_create","_mpeg1_decoder_destroy","_mpeg1_decoder_get_index","_mpeg1_decoder_set_index","ptr","_mpeg1_decoder_get_write_ptr","heapU8","_mpeg1_decoder_did_write","_mpeg1_decoder_has_sequence_header","loadSequnceHeader","_mpeg1_decoder_get_frame_rate","_mpeg1_decoder_get_coded_size","w","_mpeg1_decoder_get_width","h","_mpeg1_decoder_get_height","didDecode","_mpeg1_decoder_decode","ptrY","_mpeg1_decoder_get_y_ptr","ptrCr","_mpeg1_decoder_get_cr_ptr","ptrCb","_mpeg1_decoder_get_cb_ptr","dy","dcr","dcb","MP2","onAudioDecode","audioBufferSize","Float32Array","sampleRate","D","SYNTHESIS_WINDOW","U","VPos","allocation","Array","scaleFactorInfo","scaleFactor","sample","pos","decodeFrame","sync","version","layer","hasCRC","FRAME_SYNC","VERSION","MPEG_1","LAYER","II","bitrateIndex","sampleRateIndex","SAMPLE_RATE","MPEG_2","padding","privat","bound","JOINT_STEREO","MONO","bitrate","BIT_RATE","frameSize","tab3","sblimit","tab1","tab2","QUANT_LUT_STEP_1","QUANT_LUT_STEP_2","sb","readAllocation","channels","ch","sf","outPos","part","granule","readSamples","p","MatrixTransform","dIndex","vIndex","outChannel","tab4","QUANT_LUT_STEP_3","qtab","QUANT_LUT_STEP4","QUANT_TAB","q","val","SCALEFACTOR_BASE","adj","levels","group","scale","s","ss","dp","t01","t02","t03","t04","t05","t06","t07","t08","t09","t10","t11","t12","t13","t14","t15","t16","t17","t18","t19","t20","t21","t22","t23","t24","t25","t26","t27","t28","t29","t30","t31","t32","t33","MPEG_2_5","III","I","STEREO","DUAL_CHANNEL","Uint16Array","A","C","MP2WASM","_mp2_decoder_create","_mp2_decoder_destroy","_mp2_decoder_get_index","_mp2_decoder_set_index","_mp2_decoder_get_write_ptr","_mp2_decoder_did_write","decodedBytes","_mp2_decoder_decode","_mp2_decoder_get_sample_rate","leftPtr","_mp2_decoder_get_left_channel_ptr","rightPtr","_mp2_decoder_get_right_channel_ptr","leftOffset","BYTES_PER_ELEMENT","rightOffset","heapF32","SAMPLES_PER_FRAME","WebGLRenderer","hasTextureData","contextCreateOptions","preserveDrawingBuffer","alpha","depth","stencil","antialias","premultipliedAlpha","gl","getContext","Error","vertexAttr","pixelStorei","UNPACK_PREMULTIPLY_ALPHA_WEBGL","vertexBuffer","createBuffer","vertexCoords","bindBuffer","ARRAY_BUFFER","bufferData","STATIC_DRAW","program","createProgram","SHADER","VERTEX_IDENTITY","FRAGMENT_YCRCB_TO_RGBA","getAttribLocation","enableVertexAttribArray","vertexAttribPointer","FLOAT","textureY","createTexture","textureCb","textureCr","loadingProgram","FRAGMENT_LOADING","shouldCreateUnclampedViews","allowsClampedTextureData","deleteTexture","TEXTURE0","TEXTURE1","TEXTURE2","useProgram","deleteProgram","deleteBuffer","getExtension","loseContext","remove","viewport","texture","bindTexture","TEXTURE_2D","texParameteri","TEXTURE_MAG_FILTER","LINEAR","TEXTURE_MIN_FILTER","TEXTURE_WRAP_S","CLAMP_TO_EDGE","TEXTURE_WRAP_T","uniform1i","getUniformLocation","vsh","fsh","attachShader","compileShader","VERTEX_SHADER","FRAGMENT_SHADER","linkProgram","type","shader","createShader","shaderSource","getShaderParameter","COMPILE_STATUS","getShaderInfoLog","texImage2D","LUMINANCE","UNSIGNED_BYTE","getError","loc","uniform1f","drawArrays","TRIANGLE_STRIP","isClampedArray","w2","h2","updateTexture","unit","activeTexture","texSubImage2D","WebGLRenderingContext","join","CanvasRenderer","context","imageData","getImageData","ctx","fillStyle","fillRect","YCbCrToRGBA","putImageData","rgba","yIndex1","yIndex2","yNext2Lines","cIndex","cNextLine","rgbaIndex1","rgbaIndex2","rgbaNext2Lines","cols","rows","ccb","ccr","g","b","row","col","WebAudioOut","CachedContext","AudioContext","webkitAudioContext","gain","createGain","_connections","wallclockStartTime","NeedsUnlocking","getEnqueuedTime","disconnect","getChannelData","createBufferSource","duration","callback","unlockCallback","checkIfUnlocked","attempt","playbackState","PLAYING_STATE","FINISHED_STATE","test","navigator","userAgent","WASM","stackSize","pageSize","onInitCallback","ajax","moduleInfo","readDylinkSection","memory","WebAssembly","Memory","initial","env","memoryBase","__memory_base","table","Table","tableSize","tableBase","__table_base","c_abort","___assert_fail","c_assertFail","_sbrk","c_sbrk","brk","align","memorySize","instantiate","results","__post_instantiate","createHeapViews","heapU32","addr","a","pow","memoryAlignment","ceil","previousBrk","bytesNeeded","pagesNeeded","grow","arguments","next","readVarUint","ret","mul","byte","matchNextBytes","expected","sectionSize","tableAlignment","CACHED_MODULE"],"sources":["E:/2023/yancheng0718/yanchengPowerSupply/src/util/jsmpeg.min.js"],"sourcesContent":["window.JSMpeg={Player:null,VideoElement:null,BitBuffer:null,Source:{},Demuxer:{},Decoder:{},Renderer:{},AudioOutput:{},Now:function(){return window.performance?window.performance.now()/1e3:Date.now()/1e3},CreateVideoElements:function(){var elements=document.querySelectorAll(\".jsmpeg\");for(var i=0;i<elements.length;i++){new JSMpeg.VideoElement(elements[i])}},Fill:function(array,value){if(array.fill){array.fill(value)}else{for(var i=0;i<array.length;i++){array[i]=value}}},Base64ToArrayBuffer:function(base64){var binary=window.atob(base64);var length=binary.length;var bytes=new Uint8Array(length);for(var i=0;i<length;i++){bytes[i]=binary.charCodeAt(i)}return bytes.buffer},WASM_BINARY_INLINED:null};if(document.readyState===\"complete\"){JSMpeg.CreateVideoElements()}else{document.addEventListener(\"DOMContentLoaded\",JSMpeg.CreateVideoElements)}JSMpeg.VideoElement=function(){\"use strict\";var VideoElement=function(element){var url=element.dataset.url;if(!url){throw\"VideoElement has no `data-url` attribute\"}var addStyles=function(element,styles){for(var name in styles){element.style[name]=styles[name]}};this.container=element;addStyles(this.container,{display:\"inline-block\",position:\"relative\",minWidth:\"80px\",minHeight:\"80px\"});this.canvas=document.createElement(\"canvas\");this.canvas.width=960;this.canvas.height=540;addStyles(this.canvas,{display:\"block\",width:\"100%\"});this.container.appendChild(this.canvas);this.playButton=document.createElement(\"div\");this.playButton.innerHTML=VideoElement.PLAY_BUTTON;addStyles(this.playButton,{zIndex:2,position:\"absolute\",top:\"0\",bottom:\"0\",left:\"0\",right:\"0\",maxWidth:\"75px\",maxHeight:\"75px\",margin:\"auto\",opacity:\"0.7\",cursor:\"pointer\"});this.container.appendChild(this.playButton);var options={canvas:this.canvas};for(var option in element.dataset){try{options[option]=JSON.parse(element.dataset[option])}catch(err){options[option]=element.dataset[option]}}this.player=new JSMpeg.Player(url,options);element.playerInstance=this.player;if(options.poster&&!options.autoplay&&!this.player.options.streaming){options.decodeFirstFrame=false;this.poster=new Image;this.poster.src=options.poster;this.poster.addEventListener(\"load\",this.posterLoaded);addStyles(this.poster,{display:\"block\",zIndex:1,position:\"absolute\",top:0,left:0,bottom:0,right:0});this.container.appendChild(this.poster)}if(!this.player.options.streaming){this.container.addEventListener(\"click\",this.onClick.bind(this))}if(options.autoplay||this.player.options.streaming){this.playButton.style.display=\"none\"}if(this.player.audioOut&&!this.player.audioOut.unlocked){var unlockAudioElement=this.container;if(options.autoplay||this.player.options.streaming){this.unmuteButton=document.createElement(\"div\");this.unmuteButton.innerHTML=VideoElement.UNMUTE_BUTTON;addStyles(this.unmuteButton,{zIndex:2,position:\"absolute\",bottom:\"10px\",right:\"20px\",width:\"75px\",height:\"75px\",margin:\"auto\",opacity:\"0.7\",cursor:\"pointer\"});this.container.appendChild(this.unmuteButton);unlockAudioElement=this.unmuteButton}this.unlockAudioBound=this.onUnlockAudio.bind(this,unlockAudioElement);unlockAudioElement.addEventListener(\"touchstart\",this.unlockAudioBound,false);unlockAudioElement.addEventListener(\"click\",this.unlockAudioBound,true)}};VideoElement.prototype.onUnlockAudio=function(element,ev){if(this.unmuteButton){ev.preventDefault();ev.stopPropagation()}this.player.audioOut.unlock(function(){if(this.unmuteButton){this.unmuteButton.style.display=\"none\"}element.removeEventListener(\"touchstart\",this.unlockAudioBound);element.removeEventListener(\"click\",this.unlockAudioBound)}.bind(this))};VideoElement.prototype.onClick=function(ev){if(this.player.isPlaying){this.player.pause();this.playButton.style.display=\"block\"}else{this.player.play();this.playButton.style.display=\"none\";if(this.poster){this.poster.style.display=\"none\"}}};VideoElement.PLAY_BUTTON='<svg style=\"max-width: 75px; max-height: 75px;\" '+'viewBox=\"0 0 200 200\" alt=\"Play video\">'+'<circle cx=\"100\" cy=\"100\" r=\"90\" fill=\"none\" '+'stroke-width=\"15\" stroke=\"#fff\"/>'+'<polygon points=\"70, 55 70, 145 145, 100\" fill=\"#fff\"/>'+\"</svg>\";VideoElement.UNMUTE_BUTTON='<svg style=\"max-width: 75px; max-height: 75px;\" viewBox=\"0 0 75 75\">'+'<polygon class=\"audio-speaker\" stroke=\"none\" fill=\"#fff\" '+'points=\"39,13 22,28 6,28 6,47 21,47 39,62 39,13\"/>'+'<g stroke=\"#fff\" stroke-width=\"5\">'+'<path d=\"M 49,50 69,26\"/>'+'<path d=\"M 69,50 49,26\"/>'+\"</g>\"+\"</svg>\";return VideoElement}();JSMpeg.Player=function(){\"use strict\";var Player=function(url,options){this.options=options||{};if(options.source){this.source=new options.source(url,options);options.streaming=!!this.source.streaming}else if(url.match(/^wss?:\\/\\//)){this.source=new JSMpeg.Source.WebSocket(url,options);options.streaming=true}else if(options.progressive!==false){this.source=new JSMpeg.Source.AjaxProgressive(url,options);options.streaming=false}else{this.source=new JSMpeg.Source.Ajax(url,options);options.streaming=false}this.maxAudioLag=options.maxAudioLag||.25;this.loop=options.loop!==false;this.autoplay=!!options.autoplay||options.streaming;this.demuxer=new JSMpeg.Demuxer.TS(options);this.source.connect(this.demuxer);if(!options.disableWebAssembly&&JSMpeg.WASMModule.IsSupported()){this.wasmModule=JSMpeg.WASMModule.GetModule();options.wasmModule=this.wasmModule}if(options.video!==false){this.video=options.wasmModule?new JSMpeg.Decoder.MPEG1VideoWASM(options):new JSMpeg.Decoder.MPEG1Video(options);this.renderer=!options.disableGl&&JSMpeg.Renderer.WebGL.IsSupported()?new JSMpeg.Renderer.WebGL(options):new JSMpeg.Renderer.Canvas2D(options);this.demuxer.connect(JSMpeg.Demuxer.TS.STREAM.VIDEO_1,this.video);this.video.connect(this.renderer)}if(options.audio!==false&&JSMpeg.AudioOutput.WebAudio.IsSupported()){this.audio=options.wasmModule?new JSMpeg.Decoder.MP2AudioWASM(options):new JSMpeg.Decoder.MP2Audio(options);this.audioOut=new JSMpeg.AudioOutput.WebAudio(options);this.demuxer.connect(JSMpeg.Demuxer.TS.STREAM.AUDIO_1,this.audio);this.audio.connect(this.audioOut)}Object.defineProperty(this,\"currentTime\",{get:this.getCurrentTime,set:this.setCurrentTime});Object.defineProperty(this,\"volume\",{get:this.getVolume,set:this.setVolume});this.paused=true;this.unpauseOnShow=false;if(options.pauseWhenHidden!==false){document.addEventListener(\"visibilitychange\",this.showHide.bind(this))}if(this.wasmModule){if(this.wasmModule.ready){this.startLoading()}else if(JSMpeg.WASM_BINARY_INLINED){var wasm=JSMpeg.Base64ToArrayBuffer(JSMpeg.WASM_BINARY_INLINED);this.wasmModule.loadFromBuffer(wasm,this.startLoading.bind(this))}else{this.wasmModule.loadFromFile(\"jsmpeg.wasm\",this.startLoading.bind(this))}}else{this.startLoading()}};Player.prototype.startLoading=function(){this.source.start();if(this.autoplay){this.play()}};Player.prototype.showHide=function(ev){if(document.visibilityState===\"hidden\"){this.unpauseOnShow=this.wantsToPlay;this.pause()}else if(this.unpauseOnShow){this.play()}};Player.prototype.play=function(ev){if(this.animationId){return}this.animationId=requestAnimationFrame(this.update.bind(this));this.wantsToPlay=true;this.paused=false};Player.prototype.pause=function(ev){if(this.paused){return}cancelAnimationFrame(this.animationId);this.animationId=null;this.wantsToPlay=false;this.isPlaying=false;this.paused=true;if(this.audio&&this.audio.canPlay){this.audioOut.stop();this.seek(this.currentTime)}if(this.options.onPause){this.options.onPause(this)}};Player.prototype.getVolume=function(){return this.audioOut?this.audioOut.volume:0};Player.prototype.setVolume=function(volume){if(this.audioOut){this.audioOut.volume=volume}};Player.prototype.stop=function(ev){this.pause();this.seek(0);if(this.video&&this.options.decodeFirstFrame!==false){this.video.decode()}};Player.prototype.destroy=function(){this.pause();this.source.destroy();this.video&&this.video.destroy();this.renderer&&this.renderer.destroy();this.audio&&this.audio.destroy();this.audioOut&&this.audioOut.destroy()};Player.prototype.seek=function(time){var startOffset=this.audio&&this.audio.canPlay?this.audio.startTime:this.video.startTime;if(this.video){this.video.seek(time+startOffset)}if(this.audio){this.audio.seek(time+startOffset)}this.startTime=JSMpeg.Now()-time};Player.prototype.getCurrentTime=function(){return this.audio&&this.audio.canPlay?this.audio.currentTime-this.audio.startTime:this.video.currentTime-this.video.startTime};Player.prototype.setCurrentTime=function(time){this.seek(time)};Player.prototype.update=function(){this.animationId=requestAnimationFrame(this.update.bind(this));if(!this.source.established){if(this.renderer){this.renderer.renderProgress(this.source.progress)}return}if(!this.isPlaying){this.isPlaying=true;this.startTime=JSMpeg.Now()-this.currentTime;if(this.options.onPlay){this.options.onPlay(this)}}if(this.options.streaming){this.updateForStreaming()}else{this.updateForStaticFile()}};Player.prototype.updateForStreaming=function(){if(this.video){this.video.decode()}if(this.audio){var decoded=false;do{if(this.audioOut.enqueuedTime>this.maxAudioLag){this.audioOut.resetEnqueuedTime();this.audioOut.enabled=false}decoded=this.audio.decode()}while(decoded);this.audioOut.enabled=true}};Player.prototype.nextFrame=function(){if(this.source.established&&this.video){return this.video.decode()}return false};Player.prototype.updateForStaticFile=function(){var notEnoughData=false,headroom=0;if(this.audio&&this.audio.canPlay){while(!notEnoughData&&this.audio.decodedTime-this.audio.currentTime<.25){notEnoughData=!this.audio.decode()}if(this.video&&this.video.currentTime<this.audio.currentTime){notEnoughData=!this.video.decode()}headroom=this.demuxer.currentTime-this.audio.currentTime}else if(this.video){var targetTime=JSMpeg.Now()-this.startTime+this.video.startTime,lateTime=targetTime-this.video.currentTime,frameTime=1/this.video.frameRate;if(this.video&&lateTime>0){if(lateTime>frameTime*2){this.startTime+=lateTime}notEnoughData=!this.video.decode()}headroom=this.demuxer.currentTime-targetTime}this.source.resume(headroom);if(notEnoughData&&this.source.completed){if(this.loop){this.seek(0)}else{this.pause();if(this.options.onEnded){this.options.onEnded(this)}}}else if(notEnoughData&&this.options.onStalled){this.options.onStalled(this)}};return Player}();JSMpeg.BitBuffer=function(){\"use strict\";var BitBuffer=function(bufferOrLength,mode){if(typeof bufferOrLength===\"object\"){this.bytes=bufferOrLength instanceof Uint8Array?bufferOrLength:new Uint8Array(bufferOrLength);this.byteLength=this.bytes.length}else{this.bytes=new Uint8Array(bufferOrLength||1024*1024);this.byteLength=0}this.mode=mode||BitBuffer.MODE.EXPAND;this.index=0};BitBuffer.prototype.resize=function(size){var newBytes=new Uint8Array(size);if(this.byteLength!==0){this.byteLength=Math.min(this.byteLength,size);newBytes.set(this.bytes,0,this.byteLength)}this.bytes=newBytes;this.index=Math.min(this.index,this.byteLength<<3)};BitBuffer.prototype.evict=function(sizeNeeded){var bytePos=this.index>>3,available=this.bytes.length-this.byteLength;if(this.index===this.byteLength<<3||sizeNeeded>available+bytePos){this.byteLength=0;this.index=0;return}else if(bytePos===0){return}if(this.bytes.copyWithin){this.bytes.copyWithin(0,bytePos,this.byteLength)}else{this.bytes.set(this.bytes.subarray(bytePos,this.byteLength))}this.byteLength=this.byteLength-bytePos;this.index-=bytePos<<3;return};BitBuffer.prototype.write=function(buffers){var isArrayOfBuffers=typeof buffers[0]===\"object\",totalLength=0,available=this.bytes.length-this.byteLength;if(isArrayOfBuffers){var totalLength=0;for(var i=0;i<buffers.length;i++){totalLength+=buffers[i].byteLength}}else{totalLength=buffers.byteLength}if(totalLength>available){if(this.mode===BitBuffer.MODE.EXPAND){var newSize=Math.max(this.bytes.length*2,totalLength-available);this.resize(newSize)}else{this.evict(totalLength)}}if(isArrayOfBuffers){for(var i=0;i<buffers.length;i++){this.appendSingleBuffer(buffers[i])}}else{this.appendSingleBuffer(buffers)}return totalLength};BitBuffer.prototype.appendSingleBuffer=function(buffer){buffer=buffer instanceof Uint8Array?buffer:new Uint8Array(buffer);this.bytes.set(buffer,this.byteLength);this.byteLength+=buffer.length};BitBuffer.prototype.findNextStartCode=function(){for(var i=this.index+7>>3;i<this.byteLength;i++){if(this.bytes[i]==0&&this.bytes[i+1]==0&&this.bytes[i+2]==1){this.index=i+4<<3;return this.bytes[i+3]}}this.index=this.byteLength<<3;return-1};BitBuffer.prototype.findStartCode=function(code){var current=0;while(true){current=this.findNextStartCode();if(current===code||current===-1){return current}}return-1};BitBuffer.prototype.nextBytesAreStartCode=function(){var i=this.index+7>>3;return i>=this.byteLength||this.bytes[i]==0&&this.bytes[i+1]==0&&this.bytes[i+2]==1};BitBuffer.prototype.peek=function(count){var offset=this.index;var value=0;while(count){var currentByte=this.bytes[offset>>3],remaining=8-(offset&7),read=remaining<count?remaining:count,shift=remaining-read,mask=255>>8-read;value=value<<read|(currentByte&mask<<shift)>>shift;offset+=read;count-=read}return value};BitBuffer.prototype.read=function(count){var value=this.peek(count);this.index+=count;return value};BitBuffer.prototype.skip=function(count){return this.index+=count};BitBuffer.prototype.rewind=function(count){this.index=Math.max(this.index-count,0)};BitBuffer.prototype.has=function(count){return(this.byteLength<<3)-this.index>=count};BitBuffer.MODE={EVICT:1,EXPAND:2};return BitBuffer}();JSMpeg.Source.Ajax=function(){\"use strict\";var AjaxSource=function(url,options){this.url=url;this.destination=null;this.request=null;this.streaming=false;this.completed=false;this.established=false;this.progress=0;this.onEstablishedCallback=options.onSourceEstablished;this.onCompletedCallback=options.onSourceCompleted};AjaxSource.prototype.connect=function(destination){this.destination=destination};AjaxSource.prototype.start=function(){this.request=new XMLHttpRequest;this.request.onreadystatechange=function(){if(this.request.readyState===this.request.DONE&&this.request.status===200){this.onLoad(this.request.response)}}.bind(this);this.request.onprogress=this.onProgress.bind(this);this.request.open(\"GET\",this.url);this.request.responseType=\"arraybuffer\";this.request.send()};AjaxSource.prototype.resume=function(secondsHeadroom){};AjaxSource.prototype.destroy=function(){this.request.abort()};AjaxSource.prototype.onProgress=function(ev){this.progress=ev.loaded/ev.total};AjaxSource.prototype.onLoad=function(data){this.established=true;this.completed=true;this.progress=1;if(this.onEstablishedCallback){this.onEstablishedCallback(this)}if(this.onCompletedCallback){this.onCompletedCallback(this)}if(this.destination){this.destination.write(data)}};return AjaxSource}();JSMpeg.Source.Fetch=function(){\"use strict\";var FetchSource=function(url,options){this.url=url;this.destination=null;this.request=null;this.streaming=true;this.completed=false;this.established=false;this.progress=0;this.aborted=false;this.onEstablishedCallback=options.onSourceEstablished;this.onCompletedCallback=options.onSourceCompleted};FetchSource.prototype.connect=function(destination){this.destination=destination};FetchSource.prototype.start=function(){var params={method:\"GET\",headers:new Headers,cache:\"default\"};self.fetch(this.url,params).then(function(res){if(res.ok&&(res.status>=200&&res.status<=299)){this.progress=1;this.established=true;return this.pump(res.body.getReader())}else{}}.bind(this)).catch(function(err){throw err})};FetchSource.prototype.pump=function(reader){return reader.read().then(function(result){if(result.done){this.completed=true}else{if(this.aborted){return reader.cancel()}if(this.destination){this.destination.write(result.value.buffer)}return this.pump(reader)}}.bind(this)).catch(function(err){throw err})};FetchSource.prototype.resume=function(secondsHeadroom){};FetchSource.prototype.abort=function(){this.aborted=true};return FetchSource}();JSMpeg.Source.AjaxProgressive=function(){\"use strict\";var AjaxProgressiveSource=function(url,options){this.url=url;this.destination=null;this.request=null;this.streaming=false;this.completed=false;this.established=false;this.progress=0;this.fileSize=0;this.loadedSize=0;this.chunkSize=options.chunkSize||1024*1024;this.isLoading=false;this.loadStartTime=0;this.throttled=options.throttled!==false;this.aborted=false;this.onEstablishedCallback=options.onSourceEstablished;this.onCompletedCallback=options.onSourceCompleted};AjaxProgressiveSource.prototype.connect=function(destination){this.destination=destination};AjaxProgressiveSource.prototype.start=function(){this.request=new XMLHttpRequest;this.request.onreadystatechange=function(){if(this.request.readyState===this.request.DONE){this.fileSize=parseInt(this.request.getResponseHeader(\"Content-Length\"));this.loadNextChunk()}}.bind(this);this.request.onprogress=this.onProgress.bind(this);this.request.open(\"HEAD\",this.url);this.request.send()};AjaxProgressiveSource.prototype.resume=function(secondsHeadroom){if(this.isLoading||!this.throttled){return}var worstCaseLoadingTime=this.loadTime*8+2;if(worstCaseLoadingTime>secondsHeadroom){this.loadNextChunk()}};AjaxProgressiveSource.prototype.destroy=function(){this.request.abort();this.aborted=true};AjaxProgressiveSource.prototype.loadNextChunk=function(){var start=this.loadedSize,end=Math.min(this.loadedSize+this.chunkSize-1,this.fileSize-1);if(start>=this.fileSize||this.aborted){this.completed=true;if(this.onCompletedCallback){this.onCompletedCallback(this)}return}this.isLoading=true;this.loadStartTime=JSMpeg.Now();this.request=new XMLHttpRequest;this.request.onreadystatechange=function(){if(this.request.readyState===this.request.DONE&&this.request.status>=200&&this.request.status<300){this.onChunkLoad(this.request.response)}else if(this.request.readyState===this.request.DONE){if(this.loadFails++<3){this.loadNextChunk()}}}.bind(this);if(start===0){this.request.onprogress=this.onProgress.bind(this)}this.request.open(\"GET\",this.url+\"?\"+start+\"-\"+end);this.request.setRequestHeader(\"Range\",\"bytes=\"+start+\"-\"+end);this.request.responseType=\"arraybuffer\";this.request.send()};AjaxProgressiveSource.prototype.onProgress=function(ev){this.progress=ev.loaded/ev.total};AjaxProgressiveSource.prototype.onChunkLoad=function(data){var isFirstChunk=!this.established;this.established=true;this.progress=1;this.loadedSize+=data.byteLength;this.loadFails=0;this.isLoading=false;if(isFirstChunk&&this.onEstablishedCallback){this.onEstablishedCallback(this)}if(this.destination){this.destination.write(data)}this.loadTime=JSMpeg.Now()-this.loadStartTime;if(!this.throttled){this.loadNextChunk()}};return AjaxProgressiveSource}();JSMpeg.Source.WebSocket=function(){\"use strict\";var WSSource=function(url,options){this.url=url;this.options=options;this.socket=null;this.streaming=true;this.callbacks={connect:[],data:[]};this.destination=null;this.reconnectInterval=options.reconnectInterval!==undefined?options.reconnectInterval:5;this.shouldAttemptReconnect=!!this.reconnectInterval;this.completed=false;this.established=false;this.progress=0;this.reconnectTimeoutId=0;this.onEstablishedCallback=options.onSourceEstablished;this.onCompletedCallback=options.onSourceCompleted};WSSource.prototype.connect=function(destination){this.destination=destination};WSSource.prototype.destroy=function(){clearTimeout(this.reconnectTimeoutId);this.shouldAttemptReconnect=false;this.socket.close()};WSSource.prototype.start=function(){this.shouldAttemptReconnect=!!this.reconnectInterval;this.progress=0;this.established=false;this.socket=new WebSocket(this.url,this.options.protocols||null);this.socket.binaryType=\"arraybuffer\";this.socket.onmessage=this.onMessage.bind(this);this.socket.onopen=this.onOpen.bind(this);this.socket.onerror=this.onClose.bind(this);this.socket.onclose=this.onClose.bind(this)};WSSource.prototype.resume=function(secondsHeadroom){};WSSource.prototype.onOpen=function(){this.progress=1};WSSource.prototype.onClose=function(){if(this.shouldAttemptReconnect){clearTimeout(this.reconnectTimeoutId);this.reconnectTimeoutId=setTimeout(function(){this.start()}.bind(this),this.reconnectInterval*1e3)}};WSSource.prototype.onMessage=function(ev){var isFirstChunk=!this.established;this.established=true;if(isFirstChunk&&this.onEstablishedCallback){this.onEstablishedCallback(this)}if(this.destination){this.destination.write(ev.data)}};return WSSource}();JSMpeg.Demuxer.TS=function(){\"use strict\";var TS=function(options){this.bits=null;this.leftoverBytes=null;this.guessVideoFrameEnd=true;this.pidsToStreamIds={};this.pesPacketInfo={};this.startTime=0;this.currentTime=0};TS.prototype.connect=function(streamId,destination){this.pesPacketInfo[streamId]={destination:destination,currentLength:0,totalLength:0,pts:0,buffers:[]}};TS.prototype.write=function(buffer){if(this.leftoverBytes){var totalLength=buffer.byteLength+this.leftoverBytes.byteLength;this.bits=new JSMpeg.BitBuffer(totalLength);this.bits.write([this.leftoverBytes,buffer])}else{this.bits=new JSMpeg.BitBuffer(buffer)}while(this.bits.has(188<<3)&&this.parsePacket()){}var leftoverCount=this.bits.byteLength-(this.bits.index>>3);this.leftoverBytes=leftoverCount>0?this.bits.bytes.subarray(this.bits.index>>3):null};TS.prototype.parsePacket=function(){if(this.bits.read(8)!==71){if(!this.resync()){return false}}var end=(this.bits.index>>3)+187;var transportError=this.bits.read(1),payloadStart=this.bits.read(1),transportPriority=this.bits.read(1),pid=this.bits.read(13),transportScrambling=this.bits.read(2),adaptationField=this.bits.read(2),continuityCounter=this.bits.read(4);var streamId=this.pidsToStreamIds[pid];if(payloadStart&&streamId){var pi=this.pesPacketInfo[streamId];if(pi&&pi.currentLength){this.packetComplete(pi)}}if(adaptationField&1){if(adaptationField&2){var adaptationFieldLength=this.bits.read(8);this.bits.skip(adaptationFieldLength<<3)}if(payloadStart&&this.bits.nextBytesAreStartCode()){this.bits.skip(24);streamId=this.bits.read(8);this.pidsToStreamIds[pid]=streamId;var packetLength=this.bits.read(16);this.bits.skip(8);var ptsDtsFlag=this.bits.read(2);this.bits.skip(6);var headerLength=this.bits.read(8);var payloadBeginIndex=this.bits.index+(headerLength<<3);var pi=this.pesPacketInfo[streamId];if(pi){var pts=0;if(ptsDtsFlag&2){this.bits.skip(4);var p32_30=this.bits.read(3);this.bits.skip(1);var p29_15=this.bits.read(15);this.bits.skip(1);var p14_0=this.bits.read(15);this.bits.skip(1);pts=(p32_30*1073741824+p29_15*32768+p14_0)/9e4;this.currentTime=pts;if(this.startTime===-1){this.startTime=pts}}var payloadLength=packetLength?packetLength-headerLength-3:0;this.packetStart(pi,pts,payloadLength)}this.bits.index=payloadBeginIndex}if(streamId){var pi=this.pesPacketInfo[streamId];if(pi){var start=this.bits.index>>3;var complete=this.packetAddData(pi,start,end);var hasPadding=!payloadStart&&adaptationField&2;if(complete||this.guessVideoFrameEnd&&hasPadding){this.packetComplete(pi)}}}}this.bits.index=end<<3;return true};TS.prototype.resync=function(){if(!this.bits.has(188*6<<3)){return false}var byteIndex=this.bits.index>>3;for(var i=0;i<187;i++){if(this.bits.bytes[byteIndex+i]===71){var foundSync=true;for(var j=1;j<5;j++){if(this.bits.bytes[byteIndex+i+188*j]!==71){foundSync=false;break}}if(foundSync){this.bits.index=byteIndex+i+1<<3;return true}}}console.warn(\"JSMpeg: Possible garbage data. Skipping.\");this.bits.skip(187<<3);return false};TS.prototype.packetStart=function(pi,pts,payloadLength){pi.totalLength=payloadLength;pi.currentLength=0;pi.pts=pts};TS.prototype.packetAddData=function(pi,start,end){pi.buffers.push(this.bits.bytes.subarray(start,end));pi.currentLength+=end-start;var complete=pi.totalLength!==0&&pi.currentLength>=pi.totalLength;return complete};TS.prototype.packetComplete=function(pi){pi.destination.write(pi.pts,pi.buffers);pi.totalLength=0;pi.currentLength=0;pi.buffers=[]};TS.STREAM={PACK_HEADER:186,SYSTEM_HEADER:187,PROGRAM_MAP:188,PRIVATE_1:189,PADDING:190,PRIVATE_2:191,AUDIO_1:192,VIDEO_1:224,DIRECTORY:255};return TS}();JSMpeg.Decoder.Base=function(){\"use strict\";var BaseDecoder=function(options){this.destination=null;this.canPlay=false;this.collectTimestamps=!options.streaming;this.bytesWritten=0;this.timestamps=[];this.timestampIndex=0;this.startTime=0;this.decodedTime=0;Object.defineProperty(this,\"currentTime\",{get:this.getCurrentTime})};BaseDecoder.prototype.destroy=function(){};BaseDecoder.prototype.connect=function(destination){this.destination=destination};BaseDecoder.prototype.bufferGetIndex=function(){return this.bits.index};BaseDecoder.prototype.bufferSetIndex=function(index){this.bits.index=index};BaseDecoder.prototype.bufferWrite=function(buffers){return this.bits.write(buffers)};BaseDecoder.prototype.write=function(pts,buffers){if(this.collectTimestamps){if(this.timestamps.length===0){this.startTime=pts;this.decodedTime=pts}this.timestamps.push({index:this.bytesWritten<<3,time:pts})}this.bytesWritten+=this.bufferWrite(buffers);this.canPlay=true};BaseDecoder.prototype.seek=function(time){if(!this.collectTimestamps){return}this.timestampIndex=0;for(var i=0;i<this.timestamps.length;i++){if(this.timestamps[i].time>time){break}this.timestampIndex=i}var ts=this.timestamps[this.timestampIndex];if(ts){this.bufferSetIndex(ts.index);this.decodedTime=ts.time}else{this.bufferSetIndex(0);this.decodedTime=this.startTime}};BaseDecoder.prototype.decode=function(){this.advanceDecodedTime(0)};BaseDecoder.prototype.advanceDecodedTime=function(seconds){if(this.collectTimestamps){var newTimestampIndex=-1;var currentIndex=this.bufferGetIndex();for(var i=this.timestampIndex;i<this.timestamps.length;i++){if(this.timestamps[i].index>currentIndex){break}newTimestampIndex=i}if(newTimestampIndex!==-1&&newTimestampIndex!==this.timestampIndex){this.timestampIndex=newTimestampIndex;this.decodedTime=this.timestamps[this.timestampIndex].time;return}}this.decodedTime+=seconds};BaseDecoder.prototype.getCurrentTime=function(){return this.decodedTime};return BaseDecoder}();JSMpeg.Decoder.MPEG1Video=function(){\"use strict\";var MPEG1=function(options){JSMpeg.Decoder.Base.call(this,options);this.onDecodeCallback=options.onVideoDecode;var bufferSize=options.videoBufferSize||512*1024;var bufferMode=options.streaming?JSMpeg.BitBuffer.MODE.EVICT:JSMpeg.BitBuffer.MODE.EXPAND;this.bits=new JSMpeg.BitBuffer(bufferSize,bufferMode);this.customIntraQuantMatrix=new Uint8Array(64);this.customNonIntraQuantMatrix=new Uint8Array(64);this.blockData=new Int32Array(64);this.currentFrame=0;this.decodeFirstFrame=options.decodeFirstFrame!==false};MPEG1.prototype=Object.create(JSMpeg.Decoder.Base.prototype);MPEG1.prototype.constructor=MPEG1;MPEG1.prototype.write=function(pts,buffers){JSMpeg.Decoder.Base.prototype.write.call(this,pts,buffers);if(!this.hasSequenceHeader){if(this.bits.findStartCode(MPEG1.START.SEQUENCE)===-1){return false}this.decodeSequenceHeader();if(this.decodeFirstFrame){this.decode()}}};MPEG1.prototype.decode=function(){var startTime=JSMpeg.Now();if(!this.hasSequenceHeader){return false}if(this.bits.findStartCode(MPEG1.START.PICTURE)===-1){var bufferedBytes=this.bits.byteLength-(this.bits.index>>3);return false}this.decodePicture();this.advanceDecodedTime(1/this.frameRate);var elapsedTime=JSMpeg.Now()-startTime;if(this.onDecodeCallback){this.onDecodeCallback(this,elapsedTime)}return true};MPEG1.prototype.readHuffman=function(codeTable){var state=0;do{state=codeTable[state+this.bits.read(1)]}while(state>=0&&codeTable[state]!==0);return codeTable[state+2]};MPEG1.prototype.frameRate=30;MPEG1.prototype.decodeSequenceHeader=function(){var newWidth=this.bits.read(12),newHeight=this.bits.read(12);this.bits.skip(4);this.frameRate=MPEG1.PICTURE_RATE[this.bits.read(4)];this.bits.skip(18+1+10+1);if(newWidth!==this.width||newHeight!==this.height){this.width=newWidth;this.height=newHeight;this.initBuffers();if(this.destination){this.destination.resize(newWidth,newHeight)}}if(this.bits.read(1)){for(var i=0;i<64;i++){this.customIntraQuantMatrix[MPEG1.ZIG_ZAG[i]]=this.bits.read(8)}this.intraQuantMatrix=this.customIntraQuantMatrix}if(this.bits.read(1)){for(var i=0;i<64;i++){var idx=MPEG1.ZIG_ZAG[i];this.customNonIntraQuantMatrix[idx]=this.bits.read(8)}this.nonIntraQuantMatrix=this.customNonIntraQuantMatrix}this.hasSequenceHeader=true};MPEG1.prototype.initBuffers=function(){this.intraQuantMatrix=MPEG1.DEFAULT_INTRA_QUANT_MATRIX;this.nonIntraQuantMatrix=MPEG1.DEFAULT_NON_INTRA_QUANT_MATRIX;this.mbWidth=this.width+15>>4;this.mbHeight=this.height+15>>4;this.mbSize=this.mbWidth*this.mbHeight;this.codedWidth=this.mbWidth<<4;this.codedHeight=this.mbHeight<<4;this.codedSize=this.codedWidth*this.codedHeight;this.halfWidth=this.mbWidth<<3;this.halfHeight=this.mbHeight<<3;this.currentY=new Uint8ClampedArray(this.codedSize);this.currentY32=new Uint32Array(this.currentY.buffer);this.currentCr=new Uint8ClampedArray(this.codedSize>>2);this.currentCr32=new Uint32Array(this.currentCr.buffer);this.currentCb=new Uint8ClampedArray(this.codedSize>>2);this.currentCb32=new Uint32Array(this.currentCb.buffer);this.forwardY=new Uint8ClampedArray(this.codedSize);this.forwardY32=new Uint32Array(this.forwardY.buffer);this.forwardCr=new Uint8ClampedArray(this.codedSize>>2);this.forwardCr32=new Uint32Array(this.forwardCr.buffer);this.forwardCb=new Uint8ClampedArray(this.codedSize>>2);this.forwardCb32=new Uint32Array(this.forwardCb.buffer)};MPEG1.prototype.currentY=null;MPEG1.prototype.currentCr=null;MPEG1.prototype.currentCb=null;MPEG1.prototype.pictureType=0;MPEG1.prototype.forwardY=null;MPEG1.prototype.forwardCr=null;MPEG1.prototype.forwardCb=null;MPEG1.prototype.fullPelForward=false;MPEG1.prototype.forwardFCode=0;MPEG1.prototype.forwardRSize=0;MPEG1.prototype.forwardF=0;MPEG1.prototype.decodePicture=function(skipOutput){this.currentFrame++;this.bits.skip(10);this.pictureType=this.bits.read(3);this.bits.skip(16);if(this.pictureType<=0||this.pictureType>=MPEG1.PICTURE_TYPE.B){return}if(this.pictureType===MPEG1.PICTURE_TYPE.PREDICTIVE){this.fullPelForward=this.bits.read(1);this.forwardFCode=this.bits.read(3);if(this.forwardFCode===0){return}this.forwardRSize=this.forwardFCode-1;this.forwardF=1<<this.forwardRSize}var code=0;do{code=this.bits.findNextStartCode()}while(code===MPEG1.START.EXTENSION||code===MPEG1.START.USER_DATA);while(code>=MPEG1.START.SLICE_FIRST&&code<=MPEG1.START.SLICE_LAST){this.decodeSlice(code&255);code=this.bits.findNextStartCode()}if(code!==-1){this.bits.rewind(32)}if(this.destination){this.destination.render(this.currentY,this.currentCr,this.currentCb,true)}if(this.pictureType===MPEG1.PICTURE_TYPE.INTRA||this.pictureType===MPEG1.PICTURE_TYPE.PREDICTIVE){var tmpY=this.forwardY,tmpY32=this.forwardY32,tmpCr=this.forwardCr,tmpCr32=this.forwardCr32,tmpCb=this.forwardCb,tmpCb32=this.forwardCb32;this.forwardY=this.currentY;this.forwardY32=this.currentY32;this.forwardCr=this.currentCr;this.forwardCr32=this.currentCr32;this.forwardCb=this.currentCb;this.forwardCb32=this.currentCb32;this.currentY=tmpY;this.currentY32=tmpY32;this.currentCr=tmpCr;this.currentCr32=tmpCr32;this.currentCb=tmpCb;this.currentCb32=tmpCb32}};MPEG1.prototype.quantizerScale=0;MPEG1.prototype.sliceBegin=false;MPEG1.prototype.decodeSlice=function(slice){this.sliceBegin=true;this.macroblockAddress=(slice-1)*this.mbWidth-1;this.motionFwH=this.motionFwHPrev=0;this.motionFwV=this.motionFwVPrev=0;this.dcPredictorY=128;this.dcPredictorCr=128;this.dcPredictorCb=128;this.quantizerScale=this.bits.read(5);while(this.bits.read(1)){this.bits.skip(8)}do{this.decodeMacroblock()}while(!this.bits.nextBytesAreStartCode())};MPEG1.prototype.macroblockAddress=0;MPEG1.prototype.mbRow=0;MPEG1.prototype.mbCol=0;MPEG1.prototype.macroblockType=0;MPEG1.prototype.macroblockIntra=false;MPEG1.prototype.macroblockMotFw=false;MPEG1.prototype.motionFwH=0;MPEG1.prototype.motionFwV=0;MPEG1.prototype.motionFwHPrev=0;MPEG1.prototype.motionFwVPrev=0;MPEG1.prototype.decodeMacroblock=function(){var increment=0,t=this.readHuffman(MPEG1.MACROBLOCK_ADDRESS_INCREMENT);while(t===34){t=this.readHuffman(MPEG1.MACROBLOCK_ADDRESS_INCREMENT)}while(t===35){increment+=33;t=this.readHuffman(MPEG1.MACROBLOCK_ADDRESS_INCREMENT)}increment+=t;if(this.sliceBegin){this.sliceBegin=false;this.macroblockAddress+=increment}else{if(this.macroblockAddress+increment>=this.mbSize){return}if(increment>1){this.dcPredictorY=128;this.dcPredictorCr=128;this.dcPredictorCb=128;if(this.pictureType===MPEG1.PICTURE_TYPE.PREDICTIVE){this.motionFwH=this.motionFwHPrev=0;this.motionFwV=this.motionFwVPrev=0}}while(increment>1){this.macroblockAddress++;this.mbRow=this.macroblockAddress/this.mbWidth|0;this.mbCol=this.macroblockAddress%this.mbWidth;this.copyMacroblock(this.motionFwH,this.motionFwV,this.forwardY,this.forwardCr,this.forwardCb);increment--}this.macroblockAddress++}this.mbRow=this.macroblockAddress/this.mbWidth|0;this.mbCol=this.macroblockAddress%this.mbWidth;var mbTable=MPEG1.MACROBLOCK_TYPE[this.pictureType];this.macroblockType=this.readHuffman(mbTable);this.macroblockIntra=this.macroblockType&1;this.macroblockMotFw=this.macroblockType&8;if((this.macroblockType&16)!==0){this.quantizerScale=this.bits.read(5)}if(this.macroblockIntra){this.motionFwH=this.motionFwHPrev=0;this.motionFwV=this.motionFwVPrev=0}else{this.dcPredictorY=128;this.dcPredictorCr=128;this.dcPredictorCb=128;this.decodeMotionVectors();this.copyMacroblock(this.motionFwH,this.motionFwV,this.forwardY,this.forwardCr,this.forwardCb)}var cbp=(this.macroblockType&2)!==0?this.readHuffman(MPEG1.CODE_BLOCK_PATTERN):this.macroblockIntra?63:0;for(var block=0,mask=32;block<6;block++){if((cbp&mask)!==0){this.decodeBlock(block)}mask>>=1}};MPEG1.prototype.decodeMotionVectors=function(){var code,d,r=0;if(this.macroblockMotFw){code=this.readHuffman(MPEG1.MOTION);if(code!==0&&this.forwardF!==1){r=this.bits.read(this.forwardRSize);d=(Math.abs(code)-1<<this.forwardRSize)+r+1;if(code<0){d=-d}}else{d=code}this.motionFwHPrev+=d;if(this.motionFwHPrev>(this.forwardF<<4)-1){this.motionFwHPrev-=this.forwardF<<5}else if(this.motionFwHPrev<-this.forwardF<<4){this.motionFwHPrev+=this.forwardF<<5}this.motionFwH=this.motionFwHPrev;if(this.fullPelForward){this.motionFwH<<=1}code=this.readHuffman(MPEG1.MOTION);if(code!==0&&this.forwardF!==1){r=this.bits.read(this.forwardRSize);d=(Math.abs(code)-1<<this.forwardRSize)+r+1;if(code<0){d=-d}}else{d=code}this.motionFwVPrev+=d;if(this.motionFwVPrev>(this.forwardF<<4)-1){this.motionFwVPrev-=this.forwardF<<5}else if(this.motionFwVPrev<-this.forwardF<<4){this.motionFwVPrev+=this.forwardF<<5}this.motionFwV=this.motionFwVPrev;if(this.fullPelForward){this.motionFwV<<=1}}else if(this.pictureType===MPEG1.PICTURE_TYPE.PREDICTIVE){this.motionFwH=this.motionFwHPrev=0;this.motionFwV=this.motionFwVPrev=0}};MPEG1.prototype.copyMacroblock=function(motionH,motionV,sY,sCr,sCb){var width,scan,H,V,oddH,oddV,src,dest,last;var dY=this.currentY32,dCb=this.currentCb32,dCr=this.currentCr32;width=this.codedWidth;scan=width-16;H=motionH>>1;V=motionV>>1;oddH=(motionH&1)===1;oddV=(motionV&1)===1;src=((this.mbRow<<4)+V)*width+(this.mbCol<<4)+H;dest=this.mbRow*width+this.mbCol<<2;last=dest+(width<<2);var x,y1,y2,y;if(oddH){if(oddV){while(dest<last){y1=sY[src]+sY[src+width];src++;for(x=0;x<4;x++){y2=sY[src]+sY[src+width];src++;y=y1+y2+2>>2&255;y1=sY[src]+sY[src+width];src++;y|=y1+y2+2<<6&65280;y2=sY[src]+sY[src+width];src++;y|=y1+y2+2<<14&16711680;y1=sY[src]+sY[src+width];src++;y|=y1+y2+2<<22&4278190080;dY[dest++]=y}dest+=scan>>2;src+=scan-1}}else{while(dest<last){y1=sY[src++];for(x=0;x<4;x++){y2=sY[src++];y=y1+y2+1>>1&255;y1=sY[src++];y|=y1+y2+1<<7&65280;y2=sY[src++];y|=y1+y2+1<<15&16711680;y1=sY[src++];y|=y1+y2+1<<23&4278190080;dY[dest++]=y}dest+=scan>>2;src+=scan-1}}}else{if(oddV){while(dest<last){for(x=0;x<4;x++){y=sY[src]+sY[src+width]+1>>1&255;src++;y|=sY[src]+sY[src+width]+1<<7&65280;src++;y|=sY[src]+sY[src+width]+1<<15&16711680;src++;y|=sY[src]+sY[src+width]+1<<23&4278190080;src++;dY[dest++]=y}dest+=scan>>2;src+=scan}}else{while(dest<last){for(x=0;x<4;x++){y=sY[src];src++;y|=sY[src]<<8;src++;y|=sY[src]<<16;src++;y|=sY[src]<<24;src++;dY[dest++]=y}dest+=scan>>2;src+=scan}}}width=this.halfWidth;scan=width-8;H=motionH/2>>1;V=motionV/2>>1;oddH=(motionH/2&1)===1;oddV=(motionV/2&1)===1;src=((this.mbRow<<3)+V)*width+(this.mbCol<<3)+H;dest=this.mbRow*width+this.mbCol<<1;last=dest+(width<<1);var cr1,cr2,cr,cb1,cb2,cb;if(oddH){if(oddV){while(dest<last){cr1=sCr[src]+sCr[src+width];cb1=sCb[src]+sCb[src+width];src++;for(x=0;x<2;x++){cr2=sCr[src]+sCr[src+width];cb2=sCb[src]+sCb[src+width];src++;cr=cr1+cr2+2>>2&255;cb=cb1+cb2+2>>2&255;cr1=sCr[src]+sCr[src+width];cb1=sCb[src]+sCb[src+width];src++;cr|=cr1+cr2+2<<6&65280;cb|=cb1+cb2+2<<6&65280;cr2=sCr[src]+sCr[src+width];cb2=sCb[src]+sCb[src+width];src++;cr|=cr1+cr2+2<<14&16711680;cb|=cb1+cb2+2<<14&16711680;cr1=sCr[src]+sCr[src+width];cb1=sCb[src]+sCb[src+width];src++;cr|=cr1+cr2+2<<22&4278190080;cb|=cb1+cb2+2<<22&4278190080;dCr[dest]=cr;dCb[dest]=cb;dest++}dest+=scan>>2;src+=scan-1}}else{while(dest<last){cr1=sCr[src];cb1=sCb[src];src++;for(x=0;x<2;x++){cr2=sCr[src];cb2=sCb[src++];cr=cr1+cr2+1>>1&255;cb=cb1+cb2+1>>1&255;cr1=sCr[src];cb1=sCb[src++];cr|=cr1+cr2+1<<7&65280;cb|=cb1+cb2+1<<7&65280;cr2=sCr[src];cb2=sCb[src++];cr|=cr1+cr2+1<<15&16711680;cb|=cb1+cb2+1<<15&16711680;cr1=sCr[src];cb1=sCb[src++];cr|=cr1+cr2+1<<23&4278190080;cb|=cb1+cb2+1<<23&4278190080;dCr[dest]=cr;dCb[dest]=cb;dest++}dest+=scan>>2;src+=scan-1}}}else{if(oddV){while(dest<last){for(x=0;x<2;x++){cr=sCr[src]+sCr[src+width]+1>>1&255;cb=sCb[src]+sCb[src+width]+1>>1&255;src++;cr|=sCr[src]+sCr[src+width]+1<<7&65280;cb|=sCb[src]+sCb[src+width]+1<<7&65280;src++;cr|=sCr[src]+sCr[src+width]+1<<15&16711680;cb|=sCb[src]+sCb[src+width]+1<<15&16711680;src++;cr|=sCr[src]+sCr[src+width]+1<<23&4278190080;cb|=sCb[src]+sCb[src+width]+1<<23&4278190080;src++;dCr[dest]=cr;dCb[dest]=cb;dest++}dest+=scan>>2;src+=scan}}else{while(dest<last){for(x=0;x<2;x++){cr=sCr[src];cb=sCb[src];src++;cr|=sCr[src]<<8;cb|=sCb[src]<<8;src++;cr|=sCr[src]<<16;cb|=sCb[src]<<16;src++;cr|=sCr[src]<<24;cb|=sCb[src]<<24;src++;dCr[dest]=cr;dCb[dest]=cb;dest++}dest+=scan>>2;src+=scan}}}};MPEG1.prototype.dcPredictorY=0;MPEG1.prototype.dcPredictorCr=0;MPEG1.prototype.dcPredictorCb=0;MPEG1.prototype.blockData=null;MPEG1.prototype.decodeBlock=function(block){var n=0,quantMatrix;if(this.macroblockIntra){var predictor,dctSize;if(block<4){predictor=this.dcPredictorY;dctSize=this.readHuffman(MPEG1.DCT_DC_SIZE_LUMINANCE)}else{predictor=block===4?this.dcPredictorCr:this.dcPredictorCb;dctSize=this.readHuffman(MPEG1.DCT_DC_SIZE_CHROMINANCE)}if(dctSize>0){var differential=this.bits.read(dctSize);if((differential&1<<dctSize-1)!==0){this.blockData[0]=predictor+differential}else{this.blockData[0]=predictor+(-1<<dctSize|differential+1)}}else{this.blockData[0]=predictor}if(block<4){this.dcPredictorY=this.blockData[0]}else if(block===4){this.dcPredictorCr=this.blockData[0]}else{this.dcPredictorCb=this.blockData[0]}this.blockData[0]<<=3+5;quantMatrix=this.intraQuantMatrix;n=1}else{quantMatrix=this.nonIntraQuantMatrix}var level=0;while(true){var run=0,coeff=this.readHuffman(MPEG1.DCT_COEFF);if(coeff===1&&n>0&&this.bits.read(1)===0){break}if(coeff===65535){run=this.bits.read(6);level=this.bits.read(8);if(level===0){level=this.bits.read(8)}else if(level===128){level=this.bits.read(8)-256}else if(level>128){level=level-256}}else{run=coeff>>8;level=coeff&255;if(this.bits.read(1)){level=-level}}n+=run;var dezigZagged=MPEG1.ZIG_ZAG[n];n++;level<<=1;if(!this.macroblockIntra){level+=level<0?-1:1}level=level*this.quantizerScale*quantMatrix[dezigZagged]>>4;if((level&1)===0){level-=level>0?1:-1}if(level>2047){level=2047}else if(level<-2048){level=-2048}this.blockData[dezigZagged]=level*MPEG1.PREMULTIPLIER_MATRIX[dezigZagged]}var destArray,destIndex,scan;if(block<4){destArray=this.currentY;scan=this.codedWidth-8;destIndex=this.mbRow*this.codedWidth+this.mbCol<<4;if((block&1)!==0){destIndex+=8}if((block&2)!==0){destIndex+=this.codedWidth<<3}}else{destArray=block===4?this.currentCb:this.currentCr;scan=(this.codedWidth>>1)-8;destIndex=(this.mbRow*this.codedWidth<<2)+(this.mbCol<<3)}if(this.macroblockIntra){if(n===1){MPEG1.CopyValueToDestination(this.blockData[0]+128>>8,destArray,destIndex,scan);this.blockData[0]=0}else{MPEG1.IDCT(this.blockData);MPEG1.CopyBlockToDestination(this.blockData,destArray,destIndex,scan);JSMpeg.Fill(this.blockData,0)}}else{if(n===1){MPEG1.AddValueToDestination(this.blockData[0]+128>>8,destArray,destIndex,scan);this.blockData[0]=0}else{MPEG1.IDCT(this.blockData);MPEG1.AddBlockToDestination(this.blockData,destArray,destIndex,scan);JSMpeg.Fill(this.blockData,0)}}n=0};MPEG1.CopyBlockToDestination=function(block,dest,index,scan){for(var n=0;n<64;n+=8,index+=scan+8){dest[index+0]=block[n+0];dest[index+1]=block[n+1];dest[index+2]=block[n+2];dest[index+3]=block[n+3];dest[index+4]=block[n+4];dest[index+5]=block[n+5];dest[index+6]=block[n+6];dest[index+7]=block[n+7]}};MPEG1.AddBlockToDestination=function(block,dest,index,scan){for(var n=0;n<64;n+=8,index+=scan+8){dest[index+0]+=block[n+0];dest[index+1]+=block[n+1];dest[index+2]+=block[n+2];dest[index+3]+=block[n+3];dest[index+4]+=block[n+4];dest[index+5]+=block[n+5];dest[index+6]+=block[n+6];dest[index+7]+=block[n+7]}};MPEG1.CopyValueToDestination=function(value,dest,index,scan){for(var n=0;n<64;n+=8,index+=scan+8){dest[index+0]=value;dest[index+1]=value;dest[index+2]=value;dest[index+3]=value;dest[index+4]=value;dest[index+5]=value;dest[index+6]=value;dest[index+7]=value}};MPEG1.AddValueToDestination=function(value,dest,index,scan){for(var n=0;n<64;n+=8,index+=scan+8){dest[index+0]+=value;dest[index+1]+=value;dest[index+2]+=value;dest[index+3]+=value;dest[index+4]+=value;dest[index+5]+=value;dest[index+6]+=value;dest[index+7]+=value}};MPEG1.IDCT=function(block){var b1,b3,b4,b6,b7,tmp1,tmp2,m0,x0,x1,x2,x3,x4,y3,y4,y5,y6,y7;for(var i=0;i<8;++i){b1=block[4*8+i];b3=block[2*8+i]+block[6*8+i];b4=block[5*8+i]-block[3*8+i];tmp1=block[1*8+i]+block[7*8+i];tmp2=block[3*8+i]+block[5*8+i];b6=block[1*8+i]-block[7*8+i];b7=tmp1+tmp2;m0=block[0*8+i];x4=(b6*473-b4*196+128>>8)-b7;x0=x4-((tmp1-tmp2)*362+128>>8);x1=m0-b1;x2=((block[2*8+i]-block[6*8+i])*362+128>>8)-b3;x3=m0+b1;y3=x1+x2;y4=x3+b3;y5=x1-x2;y6=x3-b3;y7=-x0-(b4*473+b6*196+128>>8);block[0*8+i]=b7+y4;block[1*8+i]=x4+y3;block[2*8+i]=y5-x0;block[3*8+i]=y6-y7;block[4*8+i]=y6+y7;block[5*8+i]=x0+y5;block[6*8+i]=y3-x4;block[7*8+i]=y4-b7}for(var i=0;i<64;i+=8){b1=block[4+i];b3=block[2+i]+block[6+i];b4=block[5+i]-block[3+i];tmp1=block[1+i]+block[7+i];tmp2=block[3+i]+block[5+i];b6=block[1+i]-block[7+i];b7=tmp1+tmp2;m0=block[0+i];x4=(b6*473-b4*196+128>>8)-b7;x0=x4-((tmp1-tmp2)*362+128>>8);x1=m0-b1;x2=((block[2+i]-block[6+i])*362+128>>8)-b3;x3=m0+b1;y3=x1+x2;y4=x3+b3;y5=x1-x2;y6=x3-b3;y7=-x0-(b4*473+b6*196+128>>8);block[0+i]=b7+y4+128>>8;block[1+i]=x4+y3+128>>8;block[2+i]=y5-x0+128>>8;block[3+i]=y6-y7+128>>8;block[4+i]=y6+y7+128>>8;block[5+i]=x0+y5+128>>8;block[6+i]=y3-x4+128>>8;block[7+i]=y4-b7+128>>8}};MPEG1.PICTURE_RATE=[0,23.976,24,25,29.97,30,50,59.94,60,0,0,0,0,0,0,0];MPEG1.ZIG_ZAG=new Uint8Array([0,1,8,16,9,2,3,10,17,24,32,25,18,11,4,5,12,19,26,33,40,48,41,34,27,20,13,6,7,14,21,28,35,42,49,56,57,50,43,36,29,22,15,23,30,37,44,51,58,59,52,45,38,31,39,46,53,60,61,54,47,55,62,63]);MPEG1.DEFAULT_INTRA_QUANT_MATRIX=new Uint8Array([8,16,19,22,26,27,29,34,16,16,22,24,27,29,34,37,19,22,26,27,29,34,34,38,22,22,26,27,29,34,37,40,22,26,27,29,32,35,40,48,26,27,29,32,35,40,48,58,26,27,29,34,38,46,56,69,27,29,35,38,46,56,69,83]);MPEG1.DEFAULT_NON_INTRA_QUANT_MATRIX=new Uint8Array([16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16]);MPEG1.PREMULTIPLIER_MATRIX=new Uint8Array([32,44,42,38,32,25,17,9,44,62,58,52,44,35,24,12,42,58,55,49,42,33,23,12,38,52,49,44,38,30,20,10,32,44,42,38,32,25,17,9,25,35,33,30,25,20,14,7,17,24,23,20,17,14,9,5,9,12,12,10,9,7,5,2]);MPEG1.MACROBLOCK_ADDRESS_INCREMENT=new Int16Array([1*3,2*3,0,3*3,4*3,0,0,0,1,5*3,6*3,0,7*3,8*3,0,9*3,10*3,0,11*3,12*3,0,0,0,3,0,0,2,13*3,14*3,0,15*3,16*3,0,0,0,5,0,0,4,17*3,18*3,0,19*3,20*3,0,0,0,7,0,0,6,21*3,22*3,0,23*3,24*3,0,25*3,26*3,0,27*3,28*3,0,-1,29*3,0,-1,30*3,0,31*3,32*3,0,33*3,34*3,0,35*3,36*3,0,37*3,38*3,0,0,0,9,0,0,8,39*3,40*3,0,41*3,42*3,0,43*3,44*3,0,45*3,46*3,0,0,0,15,0,0,14,0,0,13,0,0,12,0,0,11,0,0,10,47*3,-1,0,-1,48*3,0,49*3,50*3,0,51*3,52*3,0,53*3,54*3,0,55*3,56*3,0,57*3,58*3,0,59*3,60*3,0,61*3,-1,0,-1,62*3,0,63*3,64*3,0,65*3,66*3,0,67*3,68*3,0,69*3,70*3,0,71*3,72*3,0,73*3,74*3,0,0,0,21,0,0,20,0,0,19,0,0,18,0,0,17,0,0,16,0,0,35,0,0,34,0,0,33,0,0,32,0,0,31,0,0,30,0,0,29,0,0,28,0,0,27,0,0,26,0,0,25,0,0,24,0,0,23,0,0,22]);MPEG1.MACROBLOCK_TYPE_INTRA=new Int8Array([1*3,2*3,0,-1,3*3,0,0,0,1,0,0,17]);MPEG1.MACROBLOCK_TYPE_PREDICTIVE=new Int8Array([1*3,2*3,0,3*3,4*3,0,0,0,10,5*3,6*3,0,0,0,2,7*3,8*3,0,0,0,8,9*3,10*3,0,11*3,12*3,0,-1,13*3,0,0,0,18,0,0,26,0,0,1,0,0,17]);MPEG1.MACROBLOCK_TYPE_B=new Int8Array([1*3,2*3,0,3*3,5*3,0,4*3,6*3,0,8*3,7*3,0,0,0,12,9*3,10*3,0,0,0,14,13*3,14*3,0,12*3,11*3,0,0,0,4,0,0,6,18*3,16*3,0,15*3,17*3,0,0,0,8,0,0,10,-1,19*3,0,0,0,1,20*3,21*3,0,0,0,30,0,0,17,0,0,22,0,0,26]);MPEG1.MACROBLOCK_TYPE=[null,MPEG1.MACROBLOCK_TYPE_INTRA,MPEG1.MACROBLOCK_TYPE_PREDICTIVE,MPEG1.MACROBLOCK_TYPE_B];MPEG1.CODE_BLOCK_PATTERN=new Int16Array([2*3,1*3,0,3*3,6*3,0,4*3,5*3,0,8*3,11*3,0,12*3,13*3,0,9*3,7*3,0,10*3,14*3,0,20*3,19*3,0,18*3,16*3,0,23*3,17*3,0,27*3,25*3,0,21*3,28*3,0,15*3,22*3,0,24*3,26*3,0,0,0,60,35*3,40*3,0,44*3,48*3,0,38*3,36*3,0,42*3,47*3,0,29*3,31*3,0,39*3,32*3,0,0,0,32,45*3,46*3,0,33*3,41*3,0,43*3,34*3,0,0,0,4,30*3,37*3,0,0,0,8,0,0,16,0,0,44,50*3,56*3,0,0,0,28,0,0,52,0,0,62,61*3,59*3,0,52*3,60*3,0,0,0,1,55*3,54*3,0,0,0,61,0,0,56,57*3,58*3,0,0,0,2,0,0,40,51*3,62*3,0,0,0,48,64*3,63*3,0,49*3,53*3,0,0,0,20,0,0,12,80*3,83*3,0,0,0,63,77*3,75*3,0,65*3,73*3,0,84*3,66*3,0,0,0,24,0,0,36,0,0,3,69*3,87*3,0,81*3,79*3,0,68*3,71*3,0,70*3,78*3,0,67*3,76*3,0,72*3,74*3,0,86*3,85*3,0,88*3,82*3,0,-1,94*3,0,95*3,97*3,0,0,0,33,0,0,9,106*3,110*3,0,102*3,116*3,0,0,0,5,0,0,10,93*3,89*3,0,0,0,6,0,0,18,0,0,17,0,0,34,113*3,119*3,0,103*3,104*3,0,90*3,92*3,0,109*3,107*3,0,117*3,118*3,0,101*3,99*3,0,98*3,96*3,0,100*3,91*3,0,114*3,115*3,0,105*3,108*3,0,112*3,111*3,0,121*3,125*3,0,0,0,41,0,0,14,0,0,21,124*3,122*3,0,120*3,123*3,0,0,0,11,0,0,19,0,0,7,0,0,35,0,0,13,0,0,50,0,0,49,0,0,58,0,0,37,0,0,25,0,0,45,0,0,57,0,0,26,0,0,29,0,0,38,0,0,53,0,0,23,0,0,43,0,0,46,0,0,42,0,0,22,0,0,54,0,0,51,0,0,15,0,0,30,0,0,39,0,0,47,0,0,55,0,0,27,0,0,59,0,0,31]);MPEG1.MOTION=new Int16Array([1*3,2*3,0,4*3,3*3,0,0,0,0,6*3,5*3,0,8*3,7*3,0,0,0,-1,0,0,1,9*3,10*3,0,12*3,11*3,0,0,0,2,0,0,-2,14*3,15*3,0,16*3,13*3,0,20*3,18*3,0,0,0,3,0,0,-3,17*3,19*3,0,-1,23*3,0,27*3,25*3,0,26*3,21*3,0,24*3,22*3,0,32*3,28*3,0,29*3,31*3,0,-1,33*3,0,36*3,35*3,0,0,0,-4,30*3,34*3,0,0,0,4,0,0,-7,0,0,5,37*3,41*3,0,0,0,-5,0,0,7,38*3,40*3,0,42*3,39*3,0,0,0,-6,0,0,6,51*3,54*3,0,50*3,49*3,0,45*3,46*3,0,52*3,47*3,0,43*3,53*3,0,44*3,48*3,0,0,0,10,0,0,9,0,0,8,0,0,-8,57*3,66*3,0,0,0,-9,60*3,64*3,0,56*3,61*3,0,55*3,62*3,0,58*3,63*3,0,0,0,-10,59*3,65*3,0,0,0,12,0,0,16,0,0,13,0,0,14,0,0,11,0,0,15,0,0,-16,0,0,-12,0,0,-14,0,0,-15,0,0,-11,0,0,-13]);MPEG1.DCT_DC_SIZE_LUMINANCE=new Int8Array([2*3,1*3,0,6*3,5*3,0,3*3,4*3,0,0,0,1,0,0,2,9*3,8*3,0,7*3,10*3,0,0,0,0,12*3,11*3,0,0,0,4,0,0,3,13*3,14*3,0,0,0,5,0,0,6,16*3,15*3,0,17*3,-1,0,0,0,7,0,0,8]);MPEG1.DCT_DC_SIZE_CHROMINANCE=new Int8Array([2*3,1*3,0,4*3,3*3,0,6*3,5*3,0,8*3,7*3,0,0,0,2,0,0,1,0,0,0,10*3,9*3,0,0,0,3,12*3,11*3,0,0,0,4,14*3,13*3,0,0,0,5,16*3,15*3,0,0,0,6,17*3,-1,0,0,0,7,0,0,8]);MPEG1.DCT_COEFF=new Int32Array([1*3,2*3,0,4*3,3*3,0,0,0,1,7*3,8*3,0,6*3,5*3,0,13*3,9*3,0,11*3,10*3,0,14*3,12*3,0,0,0,257,20*3,22*3,0,18*3,21*3,0,16*3,19*3,0,0,0,513,17*3,15*3,0,0,0,2,0,0,3,27*3,25*3,0,29*3,31*3,0,24*3,26*3,0,32*3,30*3,0,0,0,1025,23*3,28*3,0,0,0,769,0,0,258,0,0,1793,0,0,65535,0,0,1537,37*3,36*3,0,0,0,1281,35*3,34*3,0,39*3,38*3,0,33*3,42*3,0,40*3,41*3,0,52*3,50*3,0,54*3,53*3,0,48*3,49*3,0,43*3,45*3,0,46*3,44*3,0,0,0,2049,0,0,4,0,0,514,0,0,2305,51*3,47*3,0,55*3,57*3,0,60*3,56*3,0,59*3,58*3,0,61*3,62*3,0,0,0,2561,0,0,3329,0,0,6,0,0,259,0,0,5,0,0,770,0,0,2817,0,0,3073,76*3,75*3,0,67*3,70*3,0,73*3,71*3,0,78*3,74*3,0,72*3,77*3,0,69*3,64*3,0,68*3,63*3,0,66*3,65*3,0,81*3,87*3,0,91*3,80*3,0,82*3,79*3,0,83*3,86*3,0,93*3,92*3,0,84*3,85*3,0,90*3,94*3,0,88*3,89*3,0,0,0,515,0,0,260,0,0,7,0,0,1026,0,0,1282,0,0,4097,0,0,3841,0,0,3585,105*3,107*3,0,111*3,114*3,0,104*3,97*3,0,125*3,119*3,0,96*3,98*3,0,-1,123*3,0,95*3,101*3,0,106*3,121*3,0,99*3,102*3,0,113*3,103*3,0,112*3,116*3,0,110*3,100*3,0,124*3,115*3,0,117*3,122*3,0,109*3,118*3,0,120*3,108*3,0,127*3,136*3,0,139*3,140*3,0,130*3,126*3,0,145*3,146*3,0,128*3,129*3,0,0,0,2050,132*3,134*3,0,155*3,154*3,0,0,0,8,137*3,133*3,0,143*3,144*3,0,151*3,138*3,0,142*3,141*3,0,0,0,10,0,0,9,0,0,11,0,0,5377,0,0,1538,0,0,771,0,0,5121,0,0,1794,0,0,4353,0,0,4609,0,0,4865,148*3,152*3,0,0,0,1027,153*3,150*3,0,0,0,261,131*3,135*3,0,0,0,516,149*3,147*3,0,172*3,173*3,0,162*3,158*3,0,170*3,161*3,0,168*3,166*3,0,157*3,179*3,0,169*3,167*3,0,174*3,171*3,0,178*3,177*3,0,156*3,159*3,0,164*3,165*3,0,183*3,182*3,0,175*3,176*3,0,0,0,263,0,0,2562,0,0,2306,0,0,5633,0,0,5889,0,0,6401,0,0,6145,0,0,1283,0,0,772,0,0,13,0,0,12,0,0,14,0,0,15,0,0,517,0,0,6657,0,0,262,180*3,181*3,0,160*3,163*3,0,196*3,199*3,0,0,0,27,203*3,185*3,0,202*3,201*3,0,0,0,19,0,0,22,197*3,207*3,0,0,0,18,191*3,192*3,0,188*3,190*3,0,0,0,20,184*3,194*3,0,0,0,21,186*3,193*3,0,0,0,23,204*3,198*3,0,0,0,25,0,0,24,200*3,205*3,0,0,0,31,0,0,30,0,0,28,0,0,29,0,0,26,0,0,17,0,0,16,189*3,206*3,0,187*3,195*3,0,218*3,211*3,0,0,0,37,215*3,216*3,0,0,0,36,210*3,212*3,0,0,0,34,213*3,209*3,0,221*3,222*3,0,219*3,208*3,0,217*3,214*3,0,223*3,220*3,0,0,0,35,0,0,267,0,0,40,0,0,268,0,0,266,0,0,32,0,0,264,0,0,265,0,0,38,0,0,269,0,0,270,0,0,33,0,0,39,0,0,7937,0,0,6913,0,0,7681,0,0,4098,0,0,7425,0,0,7169,0,0,271,0,0,274,0,0,273,0,0,272,0,0,1539,0,0,2818,0,0,3586,0,0,3330,0,0,3074,0,0,3842]);MPEG1.PICTURE_TYPE={INTRA:1,PREDICTIVE:2,B:3};MPEG1.START={SEQUENCE:179,SLICE_FIRST:1,SLICE_LAST:175,PICTURE:0,EXTENSION:181,USER_DATA:178};return MPEG1}();JSMpeg.Decoder.MPEG1VideoWASM=function(){\"use strict\";var MPEG1WASM=function(options){JSMpeg.Decoder.Base.call(this,options);this.onDecodeCallback=options.onVideoDecode;this.module=options.wasmModule;this.bufferSize=options.videoBufferSize||512*1024;this.bufferMode=options.streaming?JSMpeg.BitBuffer.MODE.EVICT:JSMpeg.BitBuffer.MODE.EXPAND;this.decodeFirstFrame=options.decodeFirstFrame!==false;this.hasSequenceHeader=false};MPEG1WASM.prototype=Object.create(JSMpeg.Decoder.Base.prototype);MPEG1WASM.prototype.constructor=MPEG1WASM;MPEG1WASM.prototype.initializeWasmDecoder=function(){if(!this.module.instance){console.warn(\"JSMpeg: WASM module not compiled yet\");return}this.instance=this.module.instance;this.functions=this.module.instance.exports;this.decoder=this.functions._mpeg1_decoder_create(this.bufferSize,this.bufferMode)};MPEG1WASM.prototype.destroy=function(){if(!this.decoder){return}this.functions._mpeg1_decoder_destroy(this.decoder)};MPEG1WASM.prototype.bufferGetIndex=function(){if(!this.decoder){return}return this.functions._mpeg1_decoder_get_index(this.decoder)};MPEG1WASM.prototype.bufferSetIndex=function(index){if(!this.decoder){return}this.functions._mpeg1_decoder_set_index(this.decoder,index)};MPEG1WASM.prototype.bufferWrite=function(buffers){if(!this.decoder){this.initializeWasmDecoder()}var totalLength=0;for(var i=0;i<buffers.length;i++){totalLength+=buffers[i].length}var ptr=this.functions._mpeg1_decoder_get_write_ptr(this.decoder,totalLength);for(var i=0;i<buffers.length;i++){this.instance.heapU8.set(buffers[i],ptr);ptr+=buffers[i].length}this.functions._mpeg1_decoder_did_write(this.decoder,totalLength);return totalLength};MPEG1WASM.prototype.write=function(pts,buffers){JSMpeg.Decoder.Base.prototype.write.call(this,pts,buffers);if(!this.hasSequenceHeader&&this.functions._mpeg1_decoder_has_sequence_header(this.decoder)){this.loadSequnceHeader()}};MPEG1WASM.prototype.loadSequnceHeader=function(){this.hasSequenceHeader=true;this.frameRate=this.functions._mpeg1_decoder_get_frame_rate(this.decoder);this.codedSize=this.functions._mpeg1_decoder_get_coded_size(this.decoder);if(this.destination){var w=this.functions._mpeg1_decoder_get_width(this.decoder);var h=this.functions._mpeg1_decoder_get_height(this.decoder);this.destination.resize(w,h)}if(this.decodeFirstFrame){this.decode()}};MPEG1WASM.prototype.decode=function(){var startTime=JSMpeg.Now();if(!this.decoder){return false}var didDecode=this.functions._mpeg1_decoder_decode(this.decoder);if(!didDecode){return false}if(this.destination){var ptrY=this.functions._mpeg1_decoder_get_y_ptr(this.decoder),ptrCr=this.functions._mpeg1_decoder_get_cr_ptr(this.decoder),ptrCb=this.functions._mpeg1_decoder_get_cb_ptr(this.decoder);var dy=this.instance.heapU8.subarray(ptrY,ptrY+this.codedSize);var dcr=this.instance.heapU8.subarray(ptrCr,ptrCr+(this.codedSize>>2));var dcb=this.instance.heapU8.subarray(ptrCb,ptrCb+(this.codedSize>>2));this.destination.render(dy,dcr,dcb,false)}this.advanceDecodedTime(1/this.frameRate);var elapsedTime=JSMpeg.Now()-startTime;if(this.onDecodeCallback){this.onDecodeCallback(this,elapsedTime)}return true};return MPEG1WASM}();JSMpeg.Decoder.MP2Audio=function(){\"use strict\";var MP2=function(options){JSMpeg.Decoder.Base.call(this,options);this.onDecodeCallback=options.onAudioDecode;var bufferSize=options.audioBufferSize||128*1024;var bufferMode=options.streaming?JSMpeg.BitBuffer.MODE.EVICT:JSMpeg.BitBuffer.MODE.EXPAND;this.bits=new JSMpeg.BitBuffer(bufferSize,bufferMode);this.left=new Float32Array(1152);this.right=new Float32Array(1152);this.sampleRate=44100;this.D=new Float32Array(1024);this.D.set(MP2.SYNTHESIS_WINDOW,0);this.D.set(MP2.SYNTHESIS_WINDOW,512);this.V=[new Float32Array(1024),new Float32Array(1024)];this.U=new Int32Array(32);this.VPos=0;this.allocation=[new Array(32),new Array(32)];this.scaleFactorInfo=[new Uint8Array(32),new Uint8Array(32)];this.scaleFactor=[new Array(32),new Array(32)];this.sample=[new Array(32),new Array(32)];for(var j=0;j<2;j++){for(var i=0;i<32;i++){this.scaleFactor[j][i]=[0,0,0];this.sample[j][i]=[0,0,0]}}};MP2.prototype=Object.create(JSMpeg.Decoder.Base.prototype);MP2.prototype.constructor=MP2;MP2.prototype.decode=function(){var startTime=JSMpeg.Now();var pos=this.bits.index>>3;if(pos>=this.bits.byteLength){return false}var decoded=this.decodeFrame(this.left,this.right);this.bits.index=pos+decoded<<3;if(!decoded){return false}if(this.destination){this.destination.play(this.sampleRate,this.left,this.right)}this.advanceDecodedTime(this.left.length/this.sampleRate);var elapsedTime=JSMpeg.Now()-startTime;if(this.onDecodeCallback){this.onDecodeCallback(this,elapsedTime)}return true};MP2.prototype.getCurrentTime=function(){var enqueuedTime=this.destination?this.destination.enqueuedTime:0;return this.decodedTime-enqueuedTime};MP2.prototype.decodeFrame=function(left,right){var sync=this.bits.read(11),version=this.bits.read(2),layer=this.bits.read(2),hasCRC=!this.bits.read(1);if(sync!==MP2.FRAME_SYNC||version!==MP2.VERSION.MPEG_1||layer!==MP2.LAYER.II){return 0}var bitrateIndex=this.bits.read(4)-1;if(bitrateIndex>13){return 0}var sampleRateIndex=this.bits.read(2);var sampleRate=MP2.SAMPLE_RATE[sampleRateIndex];if(sampleRateIndex===3){return 0}if(version===MP2.VERSION.MPEG_2){sampleRateIndex+=4;bitrateIndex+=14}var padding=this.bits.read(1),privat=this.bits.read(1),mode=this.bits.read(2);var bound=0;if(mode===MP2.MODE.JOINT_STEREO){bound=this.bits.read(2)+1<<2}else{this.bits.skip(2);bound=mode===MP2.MODE.MONO?0:32}this.bits.skip(4);if(hasCRC){this.bits.skip(16)}var bitrate=MP2.BIT_RATE[bitrateIndex],sampleRate=MP2.SAMPLE_RATE[sampleRateIndex],frameSize=144e3*bitrate/sampleRate+padding|0;var tab3=0;var sblimit=0;if(version===MP2.VERSION.MPEG_2){tab3=2;sblimit=30}else{var tab1=mode===MP2.MODE.MONO?0:1;var tab2=MP2.QUANT_LUT_STEP_1[tab1][bitrateIndex];tab3=MP2.QUANT_LUT_STEP_2[tab2][sampleRateIndex];sblimit=tab3&63;tab3>>=6}if(bound>sblimit){bound=sblimit}for(var sb=0;sb<bound;sb++){this.allocation[0][sb]=this.readAllocation(sb,tab3);this.allocation[1][sb]=this.readAllocation(sb,tab3)}for(var sb=bound;sb<sblimit;sb++){this.allocation[0][sb]=this.allocation[1][sb]=this.readAllocation(sb,tab3)}var channels=mode===MP2.MODE.MONO?1:2;for(var sb=0;sb<sblimit;sb++){for(ch=0;ch<channels;ch++){if(this.allocation[ch][sb]){this.scaleFactorInfo[ch][sb]=this.bits.read(2)}}if(mode===MP2.MODE.MONO){this.scaleFactorInfo[1][sb]=this.scaleFactorInfo[0][sb]}}for(var sb=0;sb<sblimit;sb++){for(var ch=0;ch<channels;ch++){if(this.allocation[ch][sb]){var sf=this.scaleFactor[ch][sb];switch(this.scaleFactorInfo[ch][sb]){case 0:sf[0]=this.bits.read(6);sf[1]=this.bits.read(6);sf[2]=this.bits.read(6);break;case 1:sf[0]=sf[1]=this.bits.read(6);sf[2]=this.bits.read(6);break;case 2:sf[0]=sf[1]=sf[2]=this.bits.read(6);break;case 3:sf[0]=this.bits.read(6);sf[1]=sf[2]=this.bits.read(6);break}}}if(mode===MP2.MODE.MONO){this.scaleFactor[1][sb][0]=this.scaleFactor[0][sb][0];this.scaleFactor[1][sb][1]=this.scaleFactor[0][sb][1];this.scaleFactor[1][sb][2]=this.scaleFactor[0][sb][2]}}var outPos=0;for(var part=0;part<3;part++){for(var granule=0;granule<4;granule++){for(var sb=0;sb<bound;sb++){this.readSamples(0,sb,part);this.readSamples(1,sb,part)}for(var sb=bound;sb<sblimit;sb++){this.readSamples(0,sb,part);this.sample[1][sb][0]=this.sample[0][sb][0];this.sample[1][sb][1]=this.sample[0][sb][1];this.sample[1][sb][2]=this.sample[0][sb][2]}for(var sb=sblimit;sb<32;sb++){this.sample[0][sb][0]=0;this.sample[0][sb][1]=0;this.sample[0][sb][2]=0;this.sample[1][sb][0]=0;this.sample[1][sb][1]=0;this.sample[1][sb][2]=0}for(var p=0;p<3;p++){this.VPos=this.VPos-64&1023;for(var ch=0;ch<2;ch++){MP2.MatrixTransform(this.sample[ch],p,this.V[ch],this.VPos);JSMpeg.Fill(this.U,0);var dIndex=512-(this.VPos>>1);var vIndex=this.VPos%128>>1;while(vIndex<1024){for(var i=0;i<32;++i){this.U[i]+=this.D[dIndex++]*this.V[ch][vIndex++]}vIndex+=128-32;dIndex+=64-32}vIndex=128-32+1024-vIndex;dIndex-=512-32;while(vIndex<1024){for(var i=0;i<32;++i){this.U[i]+=this.D[dIndex++]*this.V[ch][vIndex++]}vIndex+=128-32;dIndex+=64-32}var outChannel=ch===0?left:right;for(var j=0;j<32;j++){outChannel[outPos+j]=this.U[j]/2147418112}}outPos+=32}}}this.sampleRate=sampleRate;return frameSize};MP2.prototype.readAllocation=function(sb,tab3){var tab4=MP2.QUANT_LUT_STEP_3[tab3][sb];var qtab=MP2.QUANT_LUT_STEP4[tab4&15][this.bits.read(tab4>>4)];return qtab?MP2.QUANT_TAB[qtab-1]:0};MP2.prototype.readSamples=function(ch,sb,part){var q=this.allocation[ch][sb],sf=this.scaleFactor[ch][sb][part],sample=this.sample[ch][sb],val=0;if(!q){sample[0]=sample[1]=sample[2]=0;return}if(sf===63){sf=0}else{var shift=sf/3|0;sf=MP2.SCALEFACTOR_BASE[sf%3]+(1<<shift>>1)>>shift}var adj=q.levels;if(q.group){val=this.bits.read(q.bits);sample[0]=val%adj;val=val/adj|0;sample[1]=val%adj;sample[2]=val/adj|0}else{sample[0]=this.bits.read(q.bits);sample[1]=this.bits.read(q.bits);sample[2]=this.bits.read(q.bits)}var scale=65536/(adj+1)|0;adj=(adj+1>>1)-1;val=(adj-sample[0])*scale;sample[0]=val*(sf>>12)+(val*(sf&4095)+2048>>12)>>12;val=(adj-sample[1])*scale;sample[1]=val*(sf>>12)+(val*(sf&4095)+2048>>12)>>12;val=(adj-sample[2])*scale;sample[2]=val*(sf>>12)+(val*(sf&4095)+2048>>12)>>12};MP2.MatrixTransform=function(s,ss,d,dp){var t01,t02,t03,t04,t05,t06,t07,t08,t09,t10,t11,t12,t13,t14,t15,t16,t17,t18,t19,t20,t21,t22,t23,t24,t25,t26,t27,t28,t29,t30,t31,t32,t33;t01=s[0][ss]+s[31][ss];t02=(s[0][ss]-s[31][ss])*.500602998235;t03=s[1][ss]+s[30][ss];t04=(s[1][ss]-s[30][ss])*.505470959898;t05=s[2][ss]+s[29][ss];t06=(s[2][ss]-s[29][ss])*.515447309923;t07=s[3][ss]+s[28][ss];t08=(s[3][ss]-s[28][ss])*.53104259109;t09=s[4][ss]+s[27][ss];t10=(s[4][ss]-s[27][ss])*.553103896034;t11=s[5][ss]+s[26][ss];t12=(s[5][ss]-s[26][ss])*.582934968206;t13=s[6][ss]+s[25][ss];t14=(s[6][ss]-s[25][ss])*.622504123036;t15=s[7][ss]+s[24][ss];t16=(s[7][ss]-s[24][ss])*.674808341455;t17=s[8][ss]+s[23][ss];t18=(s[8][ss]-s[23][ss])*.744536271002;t19=s[9][ss]+s[22][ss];t20=(s[9][ss]-s[22][ss])*.839349645416;t21=s[10][ss]+s[21][ss];t22=(s[10][ss]-s[21][ss])*.972568237862;t23=s[11][ss]+s[20][ss];t24=(s[11][ss]-s[20][ss])*1.16943993343;t25=s[12][ss]+s[19][ss];t26=(s[12][ss]-s[19][ss])*1.48416461631;t27=s[13][ss]+s[18][ss];t28=(s[13][ss]-s[18][ss])*2.05778100995;t29=s[14][ss]+s[17][ss];t30=(s[14][ss]-s[17][ss])*3.40760841847;t31=s[15][ss]+s[16][ss];t32=(s[15][ss]-s[16][ss])*10.1900081235;t33=t01+t31;t31=(t01-t31)*.502419286188;t01=t03+t29;t29=(t03-t29)*.52249861494;t03=t05+t27;t27=(t05-t27)*.566944034816;t05=t07+t25;t25=(t07-t25)*.64682178336;t07=t09+t23;t23=(t09-t23)*.788154623451;t09=t11+t21;t21=(t11-t21)*1.06067768599;t11=t13+t19;t19=(t13-t19)*1.72244709824;t13=t15+t17;t17=(t15-t17)*5.10114861869;t15=t33+t13;t13=(t33-t13)*.509795579104;t33=t01+t11;t01=(t01-t11)*.601344886935;t11=t03+t09;t09=(t03-t09)*.899976223136;t03=t05+t07;t07=(t05-t07)*2.56291544774;t05=t15+t03;t15=(t15-t03)*.541196100146;t03=t33+t11;t11=(t33-t11)*1.30656296488;t33=t05+t03;t05=(t05-t03)*.707106781187;t03=t15+t11;t15=(t15-t11)*.707106781187;t03+=t15;t11=t13+t07;t13=(t13-t07)*.541196100146;t07=t01+t09;t09=(t01-t09)*1.30656296488;t01=t11+t07;t07=(t11-t07)*.707106781187;t11=t13+t09;t13=(t13-t09)*.707106781187;t11+=t13;t01+=t11;t11+=t07;t07+=t13;t09=t31+t17;t31=(t31-t17)*.509795579104;t17=t29+t19;t29=(t29-t19)*.601344886935;t19=t27+t21;t21=(t27-t21)*.899976223136;t27=t25+t23;t23=(t25-t23)*2.56291544774;t25=t09+t27;t09=(t09-t27)*.541196100146;t27=t17+t19;t19=(t17-t19)*1.30656296488;t17=t25+t27;t27=(t25-t27)*.707106781187;t25=t09+t19;t19=(t09-t19)*.707106781187;t25+=t19;t09=t31+t23;t31=(t31-t23)*.541196100146;t23=t29+t21;t21=(t29-t21)*1.30656296488;t29=t09+t23;t23=(t09-t23)*.707106781187;t09=t31+t21;t31=(t31-t21)*.707106781187;t09+=t31;t29+=t09;t09+=t23;t23+=t31;t17+=t29;t29+=t25;t25+=t09;t09+=t27;t27+=t23;t23+=t19;t19+=t31;t21=t02+t32;t02=(t02-t32)*.502419286188;t32=t04+t30;t04=(t04-t30)*.52249861494;t30=t06+t28;t28=(t06-t28)*.566944034816;t06=t08+t26;t08=(t08-t26)*.64682178336;t26=t10+t24;t10=(t10-t24)*.788154623451;t24=t12+t22;t22=(t12-t22)*1.06067768599;t12=t14+t20;t20=(t14-t20)*1.72244709824;t14=t16+t18;t16=(t16-t18)*5.10114861869;t18=t21+t14;t14=(t21-t14)*.509795579104;t21=t32+t12;t32=(t32-t12)*.601344886935;t12=t30+t24;t24=(t30-t24)*.899976223136;t30=t06+t26;t26=(t06-t26)*2.56291544774;t06=t18+t30;t18=(t18-t30)*.541196100146;t30=t21+t12;t12=(t21-t12)*1.30656296488;t21=t06+t30;t30=(t06-t30)*.707106781187;t06=t18+t12;t12=(t18-t12)*.707106781187;t06+=t12;t18=t14+t26;t26=(t14-t26)*.541196100146;t14=t32+t24;t24=(t32-t24)*1.30656296488;t32=t18+t14;t14=(t18-t14)*.707106781187;t18=t26+t24;t24=(t26-t24)*.707106781187;t18+=t24;t32+=t18;t18+=t14;t26=t14+t24;t14=t02+t16;t02=(t02-t16)*.509795579104;t16=t04+t20;t04=(t04-t20)*.601344886935;t20=t28+t22;t22=(t28-t22)*.899976223136;t28=t08+t10;t10=(t08-t10)*2.56291544774;t08=t14+t28;t14=(t14-t28)*.541196100146;t28=t16+t20;t20=(t16-t20)*1.30656296488;t16=t08+t28;t28=(t08-t28)*.707106781187;t08=t14+t20;t20=(t14-t20)*.707106781187;t08+=t20;t14=t02+t10;t02=(t02-t10)*.541196100146;t10=t04+t22;t22=(t04-t22)*1.30656296488;t04=t14+t10;t10=(t14-t10)*.707106781187;t14=t02+t22;t02=(t02-t22)*.707106781187;t14+=t02;t04+=t14;t14+=t10;t10+=t02;t16+=t04;t04+=t08;t08+=t14;t14+=t28;t28+=t10;t10+=t20;t20+=t02;t21+=t16;t16+=t32;t32+=t04;t04+=t06;t06+=t08;t08+=t18;t18+=t14;t14+=t30;t30+=t28;t28+=t26;t26+=t10;t10+=t12;t12+=t20;t20+=t24;t24+=t02;d[dp+48]=-t33;d[dp+49]=d[dp+47]=-t21;d[dp+50]=d[dp+46]=-t17;d[dp+51]=d[dp+45]=-t16;d[dp+52]=d[dp+44]=-t01;d[dp+53]=d[dp+43]=-t32;d[dp+54]=d[dp+42]=-t29;d[dp+55]=d[dp+41]=-t04;d[dp+56]=d[dp+40]=-t03;d[dp+57]=d[dp+39]=-t06;d[dp+58]=d[dp+38]=-t25;d[dp+59]=d[dp+37]=-t08;d[dp+60]=d[dp+36]=-t11;d[dp+61]=d[dp+35]=-t18;d[dp+62]=d[dp+34]=-t09;d[dp+63]=d[dp+33]=-t14;d[dp+32]=-t05;d[dp+0]=t05;d[dp+31]=-t30;d[dp+1]=t30;d[dp+30]=-t27;d[dp+2]=t27;d[dp+29]=-t28;d[dp+3]=t28;d[dp+28]=-t07;d[dp+4]=t07;d[dp+27]=-t26;d[dp+5]=t26;d[dp+26]=-t23;d[dp+6]=t23;d[dp+25]=-t10;d[dp+7]=t10;d[dp+24]=-t15;d[dp+8]=t15;d[dp+23]=-t12;d[dp+9]=t12;d[dp+22]=-t19;d[dp+10]=t19;d[dp+21]=-t20;d[dp+11]=t20;d[dp+20]=-t13;d[dp+12]=t13;d[dp+19]=-t24;d[dp+13]=t24;d[dp+18]=-t31;d[dp+14]=t31;d[dp+17]=-t02;d[dp+15]=t02;d[dp+16]=0};MP2.FRAME_SYNC=2047;MP2.VERSION={MPEG_2_5:0,MPEG_2:2,MPEG_1:3};MP2.LAYER={III:1,II:2,I:3};MP2.MODE={STEREO:0,JOINT_STEREO:1,DUAL_CHANNEL:2,MONO:3};MP2.SAMPLE_RATE=new Uint16Array([44100,48e3,32e3,0,22050,24e3,16e3,0]);MP2.BIT_RATE=new Uint16Array([32,48,56,64,80,96,112,128,160,192,224,256,320,384,8,16,24,32,40,48,56,64,80,96,112,128,144,160]);MP2.SCALEFACTOR_BASE=new Uint32Array([33554432,26632170,21137968]);MP2.SYNTHESIS_WINDOW=new Float32Array([0,-.5,-.5,-.5,-.5,-.5,-.5,-1,-1,-1,-1,-1.5,-1.5,-2,-2,-2.5,-2.5,-3,-3.5,-3.5,-4,-4.5,-5,-5.5,-6.5,-7,-8,-8.5,-9.5,-10.5,-12,-13,-14.5,-15.5,-17.5,-19,-20.5,-22.5,-24.5,-26.5,-29,-31.5,-34,-36.5,-39.5,-42.5,-45.5,-48.5,-52,-55.5,-58.5,-62.5,-66,-69.5,-73.5,-77,-80.5,-84.5,-88,-91.5,-95,-98,-101,-104,106.5,109,111,112.5,113.5,114,114,113.5,112,110.5,107.5,104,100,94.5,88.5,81.5,73,63.5,53,41.5,28.5,14.5,-1,-18,-36,-55.5,-76.5,-98.5,-122,-147,-173.5,-200.5,-229.5,-259.5,-290.5,-322.5,-355.5,-389.5,-424,-459.5,-495.5,-532,-568.5,-605,-641.5,-678,-714,-749,-783.5,-817,-849,-879.5,-908.5,-935,-959.5,-981,-1000.5,-1016,-1028.5,-1037.5,-1042.5,-1043.5,-1040,-1031.5,1018.5,1e3,976,946.5,911,869.5,822,767.5,707,640,565.5,485,397,302.5,201,92.5,-22.5,-144,-272.5,-407,-547.5,-694,-846,-1003,-1165,-1331.5,-1502,-1675.5,-1852.5,-2031.5,-2212.5,-2394,-2576.5,-2758.5,-2939.5,-3118.5,-3294.5,-3467.5,-3635.5,-3798.5,-3955,-4104.5,-4245.5,-4377.5,-4499,-4609.5,-4708,-4792.5,-4863.5,-4919,-4958,-4979.5,-4983,-4967.5,-4931.5,-4875,-4796,-4694.5,-4569.5,-4420,-4246,-4046,-3820,-3567,3287,2979.5,2644,2280.5,1888,1467.5,1018.5,541,35,-499,-1061,-1650,-2266.5,-2909,-3577,-4270,-4987.5,-5727.5,-6490,-7274,-8077.5,-8899.5,-9739,-10594.5,-11464.5,-12347,-13241,-14144.5,-15056,-15973.5,-16895.5,-17820,-18744.5,-19668,-20588,-21503,-22410.5,-23308.5,-24195,-25068.5,-25926.5,-26767,-27589,-28389,-29166.5,-29919,-30644.5,-31342,-32009.5,-32645,-33247,-33814.5,-34346,-34839.5,-35295,-35710,-36084.5,-36417.5,-36707.5,-36954,-37156.5,-37315,-37428,-37496,37519,37496,37428,37315,37156.5,36954,36707.5,36417.5,36084.5,35710,35295,34839.5,34346,33814.5,33247,32645,32009.5,31342,30644.5,29919,29166.5,28389,27589,26767,25926.5,25068.5,24195,23308.5,22410.5,21503,20588,19668,18744.5,17820,16895.5,15973.5,15056,14144.5,13241,12347,11464.5,10594.5,9739,8899.5,8077.5,7274,6490,5727.5,4987.5,4270,3577,2909,2266.5,1650,1061,499,-35,-541,-1018.5,-1467.5,-1888,-2280.5,-2644,-2979.5,3287,3567,3820,4046,4246,4420,4569.5,4694.5,4796,4875,4931.5,4967.5,4983,4979.5,4958,4919,4863.5,4792.5,4708,4609.5,4499,4377.5,4245.5,4104.5,3955,3798.5,3635.5,3467.5,3294.5,3118.5,2939.5,2758.5,2576.5,2394,2212.5,2031.5,1852.5,1675.5,1502,1331.5,1165,1003,846,694,547.5,407,272.5,144,22.5,-92.5,-201,-302.5,-397,-485,-565.5,-640,-707,-767.5,-822,-869.5,-911,-946.5,-976,-1e3,1018.5,1031.5,1040,1043.5,1042.5,1037.5,1028.5,1016,1000.5,981,959.5,935,908.5,879.5,849,817,783.5,749,714,678,641.5,605,568.5,532,495.5,459.5,424,389.5,355.5,322.5,290.5,259.5,229.5,200.5,173.5,147,122,98.5,76.5,55.5,36,18,1,-14.5,-28.5,-41.5,-53,-63.5,-73,-81.5,-88.5,-94.5,-100,-104,-107.5,-110.5,-112,-113.5,-114,-114,-113.5,-112.5,-111,-109,106.5,104,101,98,95,91.5,88,84.5,80.5,77,73.5,69.5,66,62.5,58.5,55.5,52,48.5,45.5,42.5,39.5,36.5,34,31.5,29,26.5,24.5,22.5,20.5,19,17.5,15.5,14.5,13,12,10.5,9.5,8.5,8,7,6.5,5.5,5,4.5,4,3.5,3.5,3,2.5,2.5,2,2,1.5,1.5,1,1,1,1,.5,.5,.5,.5,.5,.5]);MP2.QUANT_LUT_STEP_1=[[0,0,1,1,1,2,2,2,2,2,2,2,2,2],[0,0,0,0,0,0,1,1,1,2,2,2,2,2]];MP2.QUANT_TAB={A:27|64,B:30|64,C:8,D:12};MP2.QUANT_LUT_STEP_2=[[MP2.QUANT_TAB.C,MP2.QUANT_TAB.C,MP2.QUANT_TAB.D],[MP2.QUANT_TAB.A,MP2.QUANT_TAB.A,MP2.QUANT_TAB.A],[MP2.QUANT_TAB.B,MP2.QUANT_TAB.A,MP2.QUANT_TAB.B]];MP2.QUANT_LUT_STEP_3=[[68,68,52,52,52,52,52,52,52,52,52,52],[67,67,67,66,66,66,66,66,66,66,66,49,49,49,49,49,49,49,49,49,49,49,49,32,32,32,32,32,32,32],[69,69,69,69,52,52,52,52,52,52,52,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36]];MP2.QUANT_LUT_STEP4=[[0,1,2,17],[0,1,2,3,4,5,6,17],[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,17],[0,1,3,5,6,7,8,9,10,11,12,13,14,15,16,17],[0,1,2,4,5,6,7,8,9,10,11,12,13,14,15,17],[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]];MP2.QUANT_TAB=[{levels:3,group:1,bits:5},{levels:5,group:1,bits:7},{levels:7,group:0,bits:3},{levels:9,group:1,bits:10},{levels:15,group:0,bits:4},{levels:31,group:0,bits:5},{levels:63,group:0,bits:6},{levels:127,group:0,bits:7},{levels:255,group:0,bits:8},{levels:511,group:0,bits:9},{levels:1023,group:0,bits:10},{levels:2047,group:0,bits:11},{levels:4095,group:0,bits:12},{levels:8191,group:0,bits:13},{levels:16383,group:0,bits:14},{levels:32767,group:0,bits:15},{levels:65535,group:0,bits:16}];return MP2}();JSMpeg.Decoder.MP2AudioWASM=function(){\"use strict\";var MP2WASM=function(options){JSMpeg.Decoder.Base.call(this,options);this.onDecodeCallback=options.onAudioDecode;this.module=options.wasmModule;this.bufferSize=options.audioBufferSize||128*1024;this.bufferMode=options.streaming?JSMpeg.BitBuffer.MODE.EVICT:JSMpeg.BitBuffer.MODE.EXPAND;this.sampleRate=0};MP2WASM.prototype=Object.create(JSMpeg.Decoder.Base.prototype);MP2WASM.prototype.constructor=MP2WASM;MP2WASM.prototype.initializeWasmDecoder=function(){if(!this.module.instance){console.warn(\"JSMpeg: WASM module not compiled yet\");return}this.instance=this.module.instance;this.functions=this.module.instance.exports;this.decoder=this.functions._mp2_decoder_create(this.bufferSize,this.bufferMode)};MP2WASM.prototype.destroy=function(){if(!this.decoder){return}this.functions._mp2_decoder_destroy(this.decoder)};MP2WASM.prototype.bufferGetIndex=function(){if(!this.decoder){return}return this.functions._mp2_decoder_get_index(this.decoder)};MP2WASM.prototype.bufferSetIndex=function(index){if(!this.decoder){return}this.functions._mp2_decoder_set_index(this.decoder,index)};MP2WASM.prototype.bufferWrite=function(buffers){if(!this.decoder){this.initializeWasmDecoder()}var totalLength=0;for(var i=0;i<buffers.length;i++){totalLength+=buffers[i].length}var ptr=this.functions._mp2_decoder_get_write_ptr(this.decoder,totalLength);for(var i=0;i<buffers.length;i++){this.instance.heapU8.set(buffers[i],ptr);ptr+=buffers[i].length}this.functions._mp2_decoder_did_write(this.decoder,totalLength);return totalLength};MP2WASM.prototype.decode=function(){var startTime=JSMpeg.Now();if(!this.decoder){return false}var decodedBytes=this.functions._mp2_decoder_decode(this.decoder);if(decodedBytes===0){return false}if(!this.sampleRate){this.sampleRate=this.functions._mp2_decoder_get_sample_rate(this.decoder)}if(this.destination){var leftPtr=this.functions._mp2_decoder_get_left_channel_ptr(this.decoder),rightPtr=this.functions._mp2_decoder_get_right_channel_ptr(this.decoder);var leftOffset=leftPtr/Float32Array.BYTES_PER_ELEMENT,rightOffset=rightPtr/Float32Array.BYTES_PER_ELEMENT;var left=this.instance.heapF32.subarray(leftOffset,leftOffset+MP2WASM.SAMPLES_PER_FRAME),right=this.instance.heapF32.subarray(rightOffset,rightOffset+MP2WASM.SAMPLES_PER_FRAME);this.destination.play(this.sampleRate,left,right)}this.advanceDecodedTime(MP2WASM.SAMPLES_PER_FRAME/this.sampleRate);var elapsedTime=JSMpeg.Now()-startTime;if(this.onDecodeCallback){this.onDecodeCallback(this,elapsedTime)}return true};MP2WASM.prototype.getCurrentTime=function(){var enqueuedTime=this.destination?this.destination.enqueuedTime:0;return this.decodedTime-enqueuedTime};MP2WASM.SAMPLES_PER_FRAME=1152;return MP2WASM}();JSMpeg.Renderer.WebGL=function(){\"use strict\";var WebGLRenderer=function(options){this.canvas=options.canvas||document.createElement(\"canvas\");this.width=this.canvas.width;this.height=this.canvas.height;this.enabled=true;this.hasTextureData={};var contextCreateOptions={preserveDrawingBuffer:!!options.preserveDrawingBuffer,alpha:false,depth:false,stencil:false,antialias:false,premultipliedAlpha:false};this.gl=this.canvas.getContext(\"webgl\",contextCreateOptions)||this.canvas.getContext(\"experimental-webgl\",contextCreateOptions);if(!this.gl){throw new Error(\"Failed to get WebGL Context\")}var gl=this.gl;var vertexAttr=null;gl.pixelStorei(gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL,false);this.vertexBuffer=gl.createBuffer();var vertexCoords=new Float32Array([0,0,0,1,1,0,1,1]);gl.bindBuffer(gl.ARRAY_BUFFER,this.vertexBuffer);gl.bufferData(gl.ARRAY_BUFFER,vertexCoords,gl.STATIC_DRAW);this.program=this.createProgram(WebGLRenderer.SHADER.VERTEX_IDENTITY,WebGLRenderer.SHADER.FRAGMENT_YCRCB_TO_RGBA);vertexAttr=gl.getAttribLocation(this.program,\"vertex\");gl.enableVertexAttribArray(vertexAttr);gl.vertexAttribPointer(vertexAttr,2,gl.FLOAT,false,0,0);this.textureY=this.createTexture(0,\"textureY\");this.textureCb=this.createTexture(1,\"textureCb\");this.textureCr=this.createTexture(2,\"textureCr\");this.loadingProgram=this.createProgram(WebGLRenderer.SHADER.VERTEX_IDENTITY,WebGLRenderer.SHADER.FRAGMENT_LOADING);vertexAttr=gl.getAttribLocation(this.loadingProgram,\"vertex\");gl.enableVertexAttribArray(vertexAttr);gl.vertexAttribPointer(vertexAttr,2,gl.FLOAT,false,0,0);this.shouldCreateUnclampedViews=!this.allowsClampedTextureData()};WebGLRenderer.prototype.destroy=function(){var gl=this.gl;this.deleteTexture(gl.TEXTURE0,this.textureY);this.deleteTexture(gl.TEXTURE1,this.textureCb);this.deleteTexture(gl.TEXTURE2,this.textureCr);gl.useProgram(null);gl.deleteProgram(this.program);gl.deleteProgram(this.loadingProgram);gl.bindBuffer(gl.ARRAY_BUFFER,null);gl.deleteBuffer(this.vertexBuffer);gl.getExtension(\"WEBGL_lose_context\").loseContext();this.canvas.remove()};WebGLRenderer.prototype.resize=function(width,height){this.width=width|0;this.height=height|0;this.canvas.width=this.width;this.canvas.height=this.height;this.gl.useProgram(this.program);var codedWidth=this.width+15>>4<<4;this.gl.viewport(0,0,codedWidth,this.height)};WebGLRenderer.prototype.createTexture=function(index,name){var gl=this.gl;var texture=gl.createTexture();gl.bindTexture(gl.TEXTURE_2D,texture);gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_MAG_FILTER,gl.LINEAR);gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_MIN_FILTER,gl.LINEAR);gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_WRAP_S,gl.CLAMP_TO_EDGE);gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_WRAP_T,gl.CLAMP_TO_EDGE);gl.uniform1i(gl.getUniformLocation(this.program,name),index);return texture};WebGLRenderer.prototype.createProgram=function(vsh,fsh){var gl=this.gl;var program=gl.createProgram();gl.attachShader(program,this.compileShader(gl.VERTEX_SHADER,vsh));gl.attachShader(program,this.compileShader(gl.FRAGMENT_SHADER,fsh));gl.linkProgram(program);gl.useProgram(program);return program};WebGLRenderer.prototype.compileShader=function(type,source){var gl=this.gl;var shader=gl.createShader(type);gl.shaderSource(shader,source);gl.compileShader(shader);if(!gl.getShaderParameter(shader,gl.COMPILE_STATUS)){throw new Error(gl.getShaderInfoLog(shader))}return shader};WebGLRenderer.prototype.allowsClampedTextureData=function(){var gl=this.gl;var texture=gl.createTexture();gl.bindTexture(gl.TEXTURE_2D,texture);gl.texImage2D(gl.TEXTURE_2D,0,gl.LUMINANCE,1,1,0,gl.LUMINANCE,gl.UNSIGNED_BYTE,new Uint8ClampedArray([0]));return gl.getError()===0};WebGLRenderer.prototype.renderProgress=function(progress){var gl=this.gl;gl.useProgram(this.loadingProgram);var loc=gl.getUniformLocation(this.loadingProgram,\"progress\");gl.uniform1f(loc,progress);gl.drawArrays(gl.TRIANGLE_STRIP,0,4)};WebGLRenderer.prototype.render=function(y,cb,cr,isClampedArray){if(!this.enabled){return}var gl=this.gl;var w=this.width+15>>4<<4,h=this.height,w2=w>>1,h2=h>>1;if(isClampedArray&&this.shouldCreateUnclampedViews){y=new Uint8Array(y.buffer),cb=new Uint8Array(cb.buffer),cr=new Uint8Array(cr.buffer)}gl.useProgram(this.program);this.updateTexture(gl.TEXTURE0,this.textureY,w,h,y);this.updateTexture(gl.TEXTURE1,this.textureCb,w2,h2,cb);this.updateTexture(gl.TEXTURE2,this.textureCr,w2,h2,cr);gl.drawArrays(gl.TRIANGLE_STRIP,0,4)};WebGLRenderer.prototype.updateTexture=function(unit,texture,w,h,data){var gl=this.gl;gl.activeTexture(unit);gl.bindTexture(gl.TEXTURE_2D,texture);if(this.hasTextureData[unit]){gl.texSubImage2D(gl.TEXTURE_2D,0,0,0,w,h,gl.LUMINANCE,gl.UNSIGNED_BYTE,data)}else{this.hasTextureData[unit]=true;gl.texImage2D(gl.TEXTURE_2D,0,gl.LUMINANCE,w,h,0,gl.LUMINANCE,gl.UNSIGNED_BYTE,data)}};WebGLRenderer.prototype.deleteTexture=function(unit,texture){var gl=this.gl;gl.activeTexture(unit);gl.bindTexture(gl.TEXTURE_2D,null);gl.deleteTexture(texture)};WebGLRenderer.IsSupported=function(){try{if(!window.WebGLRenderingContext){return false}var canvas=document.createElement(\"canvas\");return!!(canvas.getContext(\"webgl\")||canvas.getContext(\"experimental-webgl\"))}catch(err){return false}};WebGLRenderer.SHADER={FRAGMENT_YCRCB_TO_RGBA:[\"precision mediump float;\",\"uniform sampler2D textureY;\",\"uniform sampler2D textureCb;\",\"uniform sampler2D textureCr;\",\"varying vec2 texCoord;\",\"mat4 rec601 = mat4(\",\"1.16438, 0.00000, 1.59603, -0.87079,\",\"1.16438, -0.39176, -0.81297, 0.52959,\",\"1.16438, 2.01723, 0.00000, -1.08139,\",\"0, 0, 0, 1\",\");\",\"void main() {\",\"float y = texture2D(textureY, texCoord).r;\",\"float cb = texture2D(textureCb, texCoord).r;\",\"float cr = texture2D(textureCr, texCoord).r;\",\"gl_FragColor = vec4(y, cr, cb, 1.0) * rec601;\",\"}\"].join(\"\\n\"),FRAGMENT_LOADING:[\"precision mediump float;\",\"uniform float progress;\",\"varying vec2 texCoord;\",\"void main() {\",\"float c = ceil(progress-(1.0-texCoord.y));\",\"gl_FragColor = vec4(c,c,c,1);\",\"}\"].join(\"\\n\"),VERTEX_IDENTITY:[\"attribute vec2 vertex;\",\"varying vec2 texCoord;\",\"void main() {\",\"texCoord = vertex;\",\"gl_Position = vec4((vertex * 2.0 - 1.0) * vec2(1, -1), 0.0, 1.0);\",\"}\"].join(\"\\n\")};return WebGLRenderer}();JSMpeg.Renderer.Canvas2D=function(){\"use strict\";var CanvasRenderer=function(options){this.canvas=options.canvas||document.createElement(\"canvas\");this.width=this.canvas.width;this.height=this.canvas.height;this.enabled=true;this.context=this.canvas.getContext(\"2d\")};CanvasRenderer.prototype.destroy=function(){};CanvasRenderer.prototype.resize=function(width,height){this.width=width|0;this.height=height|0;this.canvas.width=this.width;this.canvas.height=this.height;this.imageData=this.context.getImageData(0,0,this.width,this.height);JSMpeg.Fill(this.imageData.data,255)};CanvasRenderer.prototype.renderProgress=function(progress){var w=this.canvas.width,h=this.canvas.height,ctx=this.context;ctx.fillStyle=\"#222\";ctx.fillRect(0,0,w,h);ctx.fillStyle=\"#fff\";ctx.fillRect(0,h-h*progress,w,h*progress)};CanvasRenderer.prototype.render=function(y,cb,cr){this.YCbCrToRGBA(y,cb,cr,this.imageData.data);this.context.putImageData(this.imageData,0,0)};CanvasRenderer.prototype.YCbCrToRGBA=function(y,cb,cr,rgba){if(!this.enabled){return}var w=this.width+15>>4<<4,w2=w>>1;var yIndex1=0,yIndex2=w,yNext2Lines=w+(w-this.width);var cIndex=0,cNextLine=w2-(this.width>>1);var rgbaIndex1=0,rgbaIndex2=this.width*4,rgbaNext2Lines=this.width*4;var cols=this.width>>1,rows=this.height>>1;var ccb,ccr,r,g,b;for(var row=0;row<rows;row++){for(var col=0;col<cols;col++){ccb=cb[cIndex];ccr=cr[cIndex];cIndex++;r=ccb+(ccb*103>>8)-179;g=(ccr*88>>8)-44+(ccb*183>>8)-91;b=ccr+(ccr*198>>8)-227;var y1=y[yIndex1++];var y2=y[yIndex1++];rgba[rgbaIndex1]=y1+r;rgba[rgbaIndex1+1]=y1-g;rgba[rgbaIndex1+2]=y1+b;rgba[rgbaIndex1+4]=y2+r;rgba[rgbaIndex1+5]=y2-g;rgba[rgbaIndex1+6]=y2+b;rgbaIndex1+=8;var y3=y[yIndex2++];var y4=y[yIndex2++];rgba[rgbaIndex2]=y3+r;rgba[rgbaIndex2+1]=y3-g;rgba[rgbaIndex2+2]=y3+b;rgba[rgbaIndex2+4]=y4+r;rgba[rgbaIndex2+5]=y4-g;rgba[rgbaIndex2+6]=y4+b;rgbaIndex2+=8}yIndex1+=yNext2Lines;yIndex2+=yNext2Lines;rgbaIndex1+=rgbaNext2Lines;rgbaIndex2+=rgbaNext2Lines;cIndex+=cNextLine}};return CanvasRenderer}();JSMpeg.AudioOutput.WebAudio=function(){\"use strict\";var WebAudioOut=function(options){this.context=WebAudioOut.CachedContext=WebAudioOut.CachedContext||new(window.AudioContext||window.webkitAudioContext);this.gain=this.context.createGain();this.destination=this.gain;this.gain.connect(this.context.destination);this.context._connections=(this.context._connections||0)+1;this.startTime=0;this.buffer=null;this.wallclockStartTime=0;this.volume=1;this.enabled=true;this.unlocked=!WebAudioOut.NeedsUnlocking();Object.defineProperty(this,\"enqueuedTime\",{get:this.getEnqueuedTime})};WebAudioOut.prototype.destroy=function(){this.gain.disconnect();this.context._connections--;if(this.context._connections===0){this.context.close();WebAudioOut.CachedContext=null}};WebAudioOut.prototype.play=function(sampleRate,left,right){if(!this.enabled){return}if(!this.unlocked){var ts=JSMpeg.Now();if(this.wallclockStartTime<ts){this.wallclockStartTime=ts}this.wallclockStartTime+=left.length/sampleRate;return}this.gain.gain.value=this.volume;var buffer=this.context.createBuffer(2,left.length,sampleRate);buffer.getChannelData(0).set(left);buffer.getChannelData(1).set(right);var source=this.context.createBufferSource();source.buffer=buffer;source.connect(this.destination);var now=this.context.currentTime;var duration=buffer.duration;if(this.startTime<now){this.startTime=now;this.wallclockStartTime=JSMpeg.Now()}source.start(this.startTime);this.startTime+=duration;this.wallclockStartTime+=duration};WebAudioOut.prototype.stop=function(){this.gain.gain.value=0};WebAudioOut.prototype.getEnqueuedTime=function(){return Math.max(this.wallclockStartTime-JSMpeg.Now(),0)};WebAudioOut.prototype.resetEnqueuedTime=function(){this.startTime=this.context.currentTime;this.wallclockStartTime=JSMpeg.Now()};WebAudioOut.prototype.unlock=function(callback){if(this.unlocked){if(callback){callback()}return}this.unlockCallback=callback;var buffer=this.context.createBuffer(1,1,22050);var source=this.context.createBufferSource();source.buffer=buffer;source.connect(this.destination);source.start(0);setTimeout(this.checkIfUnlocked.bind(this,source,0),0)};WebAudioOut.prototype.checkIfUnlocked=function(source,attempt){if(source.playbackState===source.PLAYING_STATE||source.playbackState===source.FINISHED_STATE){this.unlocked=true;if(this.unlockCallback){this.unlockCallback();this.unlockCallback=null}}else if(attempt<10){setTimeout(this.checkIfUnlocked.bind(this,source,attempt+1),100)}};WebAudioOut.NeedsUnlocking=function(){return/iPhone|iPad|iPod/i.test(navigator.userAgent)};WebAudioOut.IsSupported=function(){return window.AudioContext||window.webkitAudioContext};WebAudioOut.CachedContext=null;return WebAudioOut}();JSMpeg.WASMModule=function(){\"use strict\";var WASM=function(){this.stackSize=5*1024*1024;this.pageSize=64*1024;this.onInitCallback=null;this.ready=false};WASM.prototype.write=function(buffer){this.loadFromBuffer(buffer,this.onInitCallback)};WASM.prototype.loadFromFile=function(url,callback){this.onInitCallback=callback;var ajax=new JSMpeg.Source.Ajax(url,{});ajax.connect(this);ajax.start()};WASM.prototype.loadFromBuffer=function(buffer,callback){this.moduleInfo=this.readDylinkSection(buffer);if(!this.moduleInfo){this.callback&&this.callback(null);return}this.memory=new WebAssembly.Memory({initial:256});var env={memory:this.memory,memoryBase:0,__memory_base:0,table:new WebAssembly.Table({initial:this.moduleInfo.tableSize,element:\"anyfunc\"}),tableBase:0,__table_base:0,abort:this.c_abort.bind(this),___assert_fail:this.c_assertFail.bind(this),_sbrk:this.c_sbrk.bind(this)};this.brk=this.align(this.moduleInfo.memorySize+this.stackSize);WebAssembly.instantiate(buffer,{env:env}).then(function(results){this.instance=results.instance;if(this.instance.exports.__post_instantiate){this.instance.exports.__post_instantiate()}this.createHeapViews();this.ready=true;callback&&callback(this)}.bind(this))};WASM.prototype.createHeapViews=function(){this.instance.heapU8=new Uint8Array(this.memory.buffer);this.instance.heapU32=new Uint32Array(this.memory.buffer);this.instance.heapF32=new Float32Array(this.memory.buffer)};WASM.prototype.align=function(addr){var a=Math.pow(2,this.moduleInfo.memoryAlignment);return Math.ceil(addr/a)*a};WASM.prototype.c_sbrk=function(size){var previousBrk=this.brk;this.brk+=size;if(this.brk>this.memory.buffer.byteLength){var bytesNeeded=this.brk-this.memory.buffer.byteLength;var pagesNeeded=Math.ceil(bytesNeeded/this.pageSize);this.memory.grow(pagesNeeded);this.createHeapViews()}return previousBrk};WASM.prototype.c_abort=function(size){console.warn(\"JSMPeg: WASM abort\",arguments)};WASM.prototype.c_assertFail=function(size){console.warn(\"JSMPeg: WASM ___assert_fail\",arguments)};WASM.prototype.readDylinkSection=function(buffer){var bytes=new Uint8Array(buffer);var next=0;var readVarUint=function(){var ret=0;var mul=1;while(1){var byte=bytes[next++];ret+=(byte&127)*mul;mul*=128;if(!(byte&128)){return ret}}};var matchNextBytes=function(expected){for(var i=0;i<expected.length;i++){var b=typeof expected[i]===\"string\"?expected[i].charCodeAt(0):expected[i];if(bytes[next++]!==b){return false}}return true};if(!matchNextBytes([0,\"a\",\"s\",\"m\"])){console.warn(\"JSMpeg: WASM header not found\");return null}var next=9;var sectionSize=readVarUint();if(!matchNextBytes([6,\"d\",\"y\",\"l\",\"i\",\"n\",\"k\"])){console.warn(\"JSMpeg: No dylink section found in WASM\");return null}return{memorySize:readVarUint(),memoryAlignment:readVarUint(),tableSize:readVarUint(),tableAlignment:readVarUint()}};WASM.IsSupported=function(){return!!window.WebAssembly};WASM.GetModule=function(){WASM.CACHED_MODULE=WASM.CACHED_MODULE||new WASM;return WASM.CACHED_MODULE};return WASM}();JSMpeg.WASM_BINARY_INLINED=\"AGFzbQEAAAAADwZkeWxpbmuA0MACBAAAAAE0CWAEf39/fwBgAX8Bf2ACf38Bf2ABfwBgAn9/AGABfwF9YAZ/f39/f38AYAN/f38Bf2AAAAJGBANlbnYOX19fYXNzZXJ0X2ZhaWwAAANlbnYFX3NicmsAAQNlbnYNX19tZW1vcnlfYmFzZQN/AANlbnYGbWVtb3J5AgCAAgM9PAIDAgEEBAMBBQEBAQEBAQEDBAMGAwQAAwAAAAIDAgEEBAEBAQEBAAACAwIBAgECAQEBAQMEAwMCBwcHCAYLAn8BQQALfwFBAAsHggYfEl9fcG9zdF9pbnN0YW50aWF0ZQA9BV9mcmVlADgHX21hbGxvYwAxB19tZW1jcHkAOghfbWVtbW92ZQA7B19tZW1zZXQAPBNfbXAyX2RlY29kZXJfY3JlYXRlAB0TX21wMl9kZWNvZGVyX2RlY29kZQAmFF9tcDJfZGVjb2Rlcl9kZXN0cm95AB4WX21wMl9kZWNvZGVyX2RpZF93cml0ZQAiFl9tcDJfZGVjb2Rlcl9nZXRfaW5kZXgAICFfbXAyX2RlY29kZXJfZ2V0X2xlZnRfY2hhbm5lbF9wdHIAJCJfbXAyX2RlY29kZXJfZ2V0X3JpZ2h0X2NoYW5uZWxfcHRyACUcX21wMl9kZWNvZGVyX2dldF9zYW1wbGVfcmF0ZQAjGl9tcDJfZGVjb2Rlcl9nZXRfd3JpdGVfcHRyAB8WX21wMl9kZWNvZGVyX3NldF9pbmRleAAhFV9tcGVnMV9kZWNvZGVyX2NyZWF0ZQACFV9tcGVnMV9kZWNvZGVyX2RlY29kZQARFl9tcGVnMV9kZWNvZGVyX2Rlc3Ryb3kAAxhfbXBlZzFfZGVjb2Rlcl9kaWRfd3JpdGUABxlfbXBlZzFfZGVjb2Rlcl9nZXRfY2JfcHRyABAdX21wZWcxX2RlY29kZXJfZ2V0X2NvZGVkX3NpemUACxlfbXBlZzFfZGVjb2Rlcl9nZXRfY3JfcHRyAA8dX21wZWcxX2RlY29kZXJfZ2V0X2ZyYW1lX3JhdGUAChlfbXBlZzFfZGVjb2Rlcl9nZXRfaGVpZ2h0AA0YX21wZWcxX2RlY29kZXJfZ2V0X2luZGV4AAUYX21wZWcxX2RlY29kZXJfZ2V0X3dpZHRoAAwcX21wZWcxX2RlY29kZXJfZ2V0X3dy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BQJ/IANBzQBHDQIgACgCgAFBBhAwIQMCQAJAIAAoAoABQQgQMCIEIgYEQCAGQYABRgRADAIFDAMLAAsgACgCgAFBCBAwDAILIAAoAoABQQgQMEGAfmoMAQsgBEGAfmogBCAEQYABShsLCyEEDAELIAZB/wFxIgNBACADayAAKAKAAUEBEDBFGyEEIAZBCHUhAwsgAiADaiIGIwBBQGtqLQAAIgMgBWotAAAgACgCREEAIARBAXQiAkEfdUEBciAAKAJcGyACamxsIgJBBHVBAEEBQX8gAkEPShsgAkEQcRtrIgJBgHAgAkGAcEobIQIgAEGcAWogA0ECdGogAyMAQZA1amotAAAgAkH/DyACQf8PSBtsNgIAIAZBAWohAgwBCwsgAUEESARAIABBhAFqIQUgAUEDdEEIcSAAKAJUIAAoAhgiAyAAKAJQbGpBBHRyIANBA3RBACABQQJxG2ohBAUgAEGMAWogAEGIAWogAUEERhshBSAAKAJQIAAoAhgiAUECdGwgACgCVEEDdGohBCABQQF1IQMLIANBeGohAyAFKAIAIQUgAkEBRiECIABBnAFqIQEgACgCXARAIAIEQCABKAIAQYABakEIdSAFIAQgAxAYIAFBADYCAAUgARAZIAEgBSAEIAMQGiABQQBBgAIQPBoLBSACBEAgASgCAEGAAWpBCHUgBSAEIAMQGyABQQA2AgAFIAEQGSABIAUgBCADEBwgAUEAQYACEDwaCwsL7AYAIAEgAmogAEEAIABBAEobIgBB/wEgAEH/AUgbQf8BcSIAOgAAIAEgAkEBamogADoAACABIAJBAmpqIAA6AAAgASACQQNqaiAAOgAAIAEgAkEEamogADoAACABIAJBBWpqIAA6AAAgASACQQZqaiAAOgAAIAEgAkEHamogADoAACABIAIgA0EIaiIDaiICaiAAOgAAIAEgAkEBamogADoAACABIAJBAmpqIAA6AAAgASACQQNqaiAAOgAAIAEgAkEEamogADoAACABIAJBBWpqIAA6AAAgASACQQZqaiAAOgAAIAEgAkEHamogADoAACABIAIgA2oiAmogADoAACABIAJBAWpqIAA6AAAgASACQQJqaiAAOgAAIAEgAkEDamogADoAACABIAJBBGpqIAA6AAAgASACQQVqaiAAOgAAIAEgAkEGamogADoAACABIAJBB2pqIAA6AAAgASACIANqIgJqIAA6AAAgASACQQFqaiAAOgAAIAEgAkECamogADoAACABIAJBA2pqIAA6AAAgASACQQRqaiAAOgAAIAEgAkEFamogADoAACABIAJBBmpqIAA6AAAgASACQQdqaiAAOgAAIAEgAiADaiICaiAAOgAAIAEgAkEBamogADoAACABIAJBAmpqIAA6AAAgASACQQNqaiAAOgAAIAEgAkEEamogADoAACABIAJBBWpqIAA6AAAgASACQQZqaiAAOgAAIAEgAkEHamogADoAACABIAIgA2oiAmogADoAACABIAJBAWpqIAA6AAAgASACQQJqaiAAOgAAIAEgAkEDamogADoAACABIAJBBGpqIAA6AAAgASACQQVqaiAAOgAAIAEgAkEGamogADoAACABIAJBB2pqIAA6AAAgASACIANqIgJqIAA6AAAgASACQQFqaiAAOgAAIAEgAkECamogADoAACABIAJBA2pqIAA6AAAgASACQQRqaiAAOgAAIAEgAkEFamogADoAACABIAJBBmpqIAA6AAAgASACQQdqaiAAOgAAIAEgAiADaiICaiAAOgAAIAEgAkEBamogADoAACABIAJBAmpqIAA6AAAgASACQQNqaiAAOgAAIAEgAkEEamogADoAACABIAJBBWpqIAA6AAAgASACQQZqaiAAOgAAIAEgAkEHamogADoAAAubBgEUfwNAIAFBEGpBAnQgAGoiBygCACIGIAFBMGpBAnQgAGoiDSgCACIJaiEFIAFBCGpBAnQgAGoiDigCACICIAFBOGpBAnQgAGoiDygCACIDaiEEIAIgA2siEEHZA2wgAUEoakECdCAAaiIKKAIAIgIgAUEYakECdCAAaiIRKAIAIgNrIgtBvH5sQYABampBCHUgBCACIANqIghqIgJrIgMgBCAIa0HqAmxBgAFqQQh1ayEEIAFBAnQgAGoiCCgCACIMIAFBIGpBAnQgAGoiEigCACITayIUIAYgCWtB6gJsQYABakEIdSAFayIJaiEGIAggAiAMIBNqIgggBWoiDGo2AgAgDiADIAZqNgIAIAcgFCAJayIHIARrNgIAIBEgC0HZA2xBgAFqIBBBxAFsakEIdSAEaiIJIAggBWsiBWo2AgAgEiAFIAlrNgIAIAogBCAHajYCACANIAYgA2s2AgAgDyAMIAJr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aiABQQxsaiAAKAIIQQYQMCICNgLUAiAAIANBgANsaiABQQxsaiACNgLQAiAFIAI2AgAMAgsgBSAAKAIIQQYQMDYCACAAIANBgANsaiABQQxsaiAAKAIIQQYQMCICNgLUAiAAIANBgANsaiABQQxsaiACNgLQAgsLCyADQQFqIgMgCEkNAAsgAUEBaiIBIAtHDQALCwsLaiALQSBJIRsgAEHMtgFqIQQgAEHMCGohHCAAQcz2AGohHSAAQcwLaiEeIABBzJYBaiEfA0BBACEWIBQhAwNAIBgEQEEAIQEDQCAAQQAgASAOECggAEEBIAEgDhAoIAFBAWoiASANSA0ACwsgGQRAIA0hAQNAIABBACABIA4QKCAAQcwLaiABQQxsaiAAQcwIaiABQQxsaigCADYCACAAIAFBDGxqQdALaiAAIAFBDGxqQdAIaigCADYCACAAIAFBDGxqQdQLaiAAIAFBDGxqQdQIaigCADYCACABQQFqIgEgC0gNAAsLIBsEQCALIQEDQCAAQcwIaiABQQxsakEANgIAIAAgAUEMbGpB0AhqQQA2AgAgACABQQxsakHUCGpBADYCACAAQcwLaiABQQxsakEANgIAIAAgAUEMbGpB0AtqQQA2AgAgACABQQxsakHUC2pBADYCACABQQFqIgFBIEcNAAsLIAAoAgQhASADIRFBACESA0AgACABQcAHakH/B3EiATYCBCAcIBIgHSABECkgBEIANwIAIARCADcCCCAEQgA3AhAgBEIANwIYIARCADcCICAEQgA3AiggBEIANwIwIARCADcCOCAEQUBrQgA3AgAgBEIANwJIIARCADcCUCAEQgA3AlggBEIANwJgIARCADcCaCAEQgA3AnAgBEIANwJ4IAAoAgQiD0EBdSETQf8HIA9BgAFvQQF1IgxrIgFBgH9xIRUgAUEHdkEGdEHABGohEEGABCATayEGIAwhAQNAIAYhB0EAIQkgASECA0AgB0EBaiEIIAJBAWohBSAAQcy2AWogCUECdGoiCiAAQczWAGogB0ECdGoqAgAgAEHM9gBqIAJBAnRqKgIAlCAKKAIAspKoNgIAIAlBAWoiCUEgRwRAIAghByAFIQIMAQsLIAFBgAFqIQIgBkFAayEGIAFBgAdIBEAgAiEBDAELC0HgByAMIBVqayIBQYAISARAIBAgE2tBoHxqIQYD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IkogWCBLk7tEujBFka7n9D+itiJLk7tEuEt/Zp6g5j+itiI6kiEqIANBMGpBAnQgAmogTSA8kow4AgAgA0EvakECdCACaiApICiSIEwgSZIgJJIiKJKMIik4AgAgA0ExakECdCACaiApOAIAIANBLmpBAnQgAmogRiBFkiAjkowiKTgCACADQTJqQQJ0IAJqICk4AgAgA0EtakECdCACaiAwIC2SIEAgPpIgJpIiKZIiPCAokowiKDgCACADQTNqQQJ0IAJqICg4AgAgA0EsakECdCACaiA2IE+SIFEgUJIgNZIiKJKMIjY4AgAgA0E0akECdCACaiA2OAIAIANBK2pBAnQgAmogPCA/IDiSIDOSIjwgJJIiJJKMIjY4AgAgA0E1akECdCACaiA2OAIAIANBKmpBAnQgAmogPSBSkiA7kiI9ICOSjCIjOAIAIANBNmpBAnQgAmogIzgCACADQSlqQQJ0IAJqIEsgSpIgOpIiIyAkkowiJDgCACADQTdqQQJ0IAJqICQ4AgAgA0EoakECdCACaiBIIE6SIDGSjCIkOAIAIANBOGpBAnQgAmogJDgCACADQSdqQQJ0IAJqICMgPCArkiIjkowiJDgCACADQTlqQQJ0IAJqICQ4AgAgA0EmakECdCACaiA9ICeSjCIkOAIAIANBOmpBAnQgAmogJDgCACADQSVqQQJ0IAJqICkgLSAwk7tEuEt/Zp6g5j+itiIpkiItICOSjCIjOAIAIANBO2pBAnQgAmogIzgCACADQSRqQQJ0IAJqICggR5KMIiM4AgAgA0E8akECdCACaiAjOAIAIANBI2pBAnQgAmogLSArIDKSIiOSjCIoOAIAIANBPWpBAnQgAmogKDgCACADQSJqQQJ0IAJqICcgU5KMIic4AgAgA0E+akECdCACaiAnOAIAIANBIWpBAnQgAmogIyBCkowiIzgCACADQT9qQQJ0IAJqICM4AgAgA0EgakECdCACaiA0jDgCACADQQJ0IAJqIDQ4AgAgA0EfakECdCACaiAsjDgCACADQQFqQQJ0IAJqICw4AgAgA0EeakECdCACaiA5jDgCACADQQJqQQJ0IAJqIDk4AgAgA0EdakECdCACaiApICaSIjQgQZIiI4w4AgAgA0EDakECdCACaiAjOAIAIANBHGpBAnQgAmogL4w4AgAgA0EEakECdCACaiAvOAIAIANBG2pBAnQgAmogNCA3IDOSIjSSIi+MOAIAIANBBWpBAnQgAmogLzgCACADQRpqQQJ0IAJqIEQgO5IiL4w4AgAgA0EGakECdCACaiAvOAIAIANBGWpBAnQgAmogNCA6kiI0jDgCACADQQdqQQJ0IAJqIDQ4AgAgA0EYakECdCACaiAxjDgCACADQQhqQQJ0IAJqIDE4AgAgA0EXakECdCACaiAqjDgCACADQQlqQQJ0IAJqICo4AgAgA0EWakECdCACaiA7IC6SIjGMOAIAIANBCmpBAnQgAmogMTgCACADQRVqQQJ0IAJqIEMgJpIiMYw4AgAgA0ELakECdCACaiAxOAIAIANBFGpBAnQgAmogNYw4AgAgA0EMakECdCACaiA1OAIAIANBE2pBAnQgAmogJiAlkiImjDgCACADQQ1qQQJ0IAJqICY4AgAgA0ESakECdCACaiAujDgCACADQQ5qQQJ0IAJqIC44AgAgA0ERakECdCACaiAljDgCACADQQ9qQQJ0IAJqICU4AgAgA0EQakECdCACakMAAAAAOAIACy8BAX9BFBAxIgIgATYCECACIAAQMTYCACACIAA2AgggAkEANgIMIAJBADYCBCACCw0AIAAoAgAQOCAAEDgL6QEBBH8gACgCCCIDIAAoAgwiAmsiBCABSQRAAkAgACgCEEECRgRAIAAgACgCACABIARrIANBAXQiAiACIARqIAFJGyIBEDk2AgAgACABNgIIIAAoAgQgACgCDCIBQQN0IgJNDQEgACACNgIEDAELIAIgACgCBCIFQQN2IgNGIAMgBGogAUlyBEAgAEEANgIMIABBADYCBEEAIQEMAQsgAwRAIAAoAgAiASABIANqIAIgA2sQOxogACAAKAIMIANrIgE2AgwgACAAKAIEIAVBeHFrNgIEBSACIQELCwUgAiEBCyAAKAIAIAFqC40BAQR/IAAoAgRBB2pBA3YiASAAKAIMIgRJBEACQCAAKAIAIQIDQAJAIAFBAWohAyABIAJqLAAARQRAIAIgA2osAABFBEAgAiABQQJqaiwAAEEBRg0CCwsgAyAETw0CIAMhAQwBCwsgACABQQN0QSBqNgIEIAIgAUEDamotAAAPCwsgACAEQQN0NgIEQX8LqQEBBH8gACgCBEEHakEDdiICIAAoAgwiBUkEQAJAIAAoAgAh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aiIGQRBLDQALIAMgCWohAyAIayECIQEMAgsgAyABKAIAIgU6AAAgAyABLAABOgABIAJBbGpBcHEiCEESaiIJIAFqIAJBbmogA0ECaiEEIAJBfmohBiABQQJqIQIgBSEBA0AgBCACKAICIgVBEHQgAUEQdnI2AgAgBCACKAIGIgFBEHQgBUEQdnI2AgQgBCACKAIKIgVBEHQgAUEQdnI2AgggBCACKAIOIgFBEHQgBUEQdnI2AgwgAkEQaiECIARBEGohBCAGQXBqIgZBEUsNAAsgAyAJaiEDIAhrIQIhAQwBCyADIAEoAgAiBToAACACQWxqQXBxIghBEWoiCSABaiACQW9qIANBAWohBCACQX9qIQYgAUEBaiECIAUhAQNAIAQgAigCAyIFQRh0IAFBCHZyNgIAIAQgAigCByIBQRh0IAVBCHZyNgIEIAQgAigCCyIFQRh0IAFBCHZyNgIIIAQgAigCDyIBQRh0IAVBCHZyNgIMIAJBEGohAiAEQRBqIQQgBkFwaiIGQRJLDQALIAMgCWohAyAIayECIQELCyACQRBxBEAgAyABLAAAOgAAIAMgASwAAToAASADIAEsAAI6AAIgAyABLAADOgADIAMgASwABDoABCADIAEsAAU6AAUgAyABLAAGOgAGIAMgASwABzoAByADIAEsAAg6AAggAyABLAAJOgAJIAMgASwACjoACiADIAEsAAs6AAsgAyABLAAMOgAMIAMgASwADToADSADIAEsAA46AA4gAyABLAAPOgAPIANBEGohAyABQRBqIQELIAJBCHEEQCADIAEsAAA6AAAgAyABLAABOgABIAMgASwAAjoAAiADIAEsAAM6AAMgAyABLAAEOgAEIAMgASwABToABSADIAEsAAY6AAYgAyABLAAHOgAHIANBCGohAyABQQhqIQELIAJBBHEEQCADIAEsAAA6AAAgAyABLAABOgABIAMgASwAAjoAAiADIAEsAAM6AAMgA0EEaiEDIAFBBGohAQsgAkECcQRAIAMgASwAADoAACADIAEsAAE6AAEgA0ECaiEDIAFBAmohAQsgAkEBcUUEQCAADwsgAyABLAAAOgAAIAALwAMBBn8gACABRgRAIAAPCyABIAJqIABLIAAgAmoiBSABS3FFBEAgACABIAIQOhogAA8LIAEgACIDc0EDcUUhBCADIAFJBH8g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JCQkJCQkJCQkJCQkJCQkJCQAAAABAhEAAAAAAAAAAAAAAAAAAQIDBAUGEQAAAAAAAAAAAAECAwQFBgcICQoLDA0OEQABAwUGBwgJCgsMDQ4PEBEAAQIEBQYHCAkKCwwNDg8RAAECAwQFBgcICQoLDA0ODwMAAQUFAAEHBwAAAwkAAQoPAAAEHwAABT8AAAZ/AAAH/wAACP8BAAn/AwAK/wcAC/8PAAz/HwAN/z8ADv9/AA///wAQAAAAAAAAAAAAAAAAAAAAAupflgEwikIBCAgMW1tbXltec2l6ZSA+IDAAL2hvbWUvZG9taW5pYy9wcm9qZWN0cy9lbXNkay9mYXN0Y29tcC9lbXNjcmlwdGVuLy9zeXN0ZW0vbGliL2VtbWFsbG9jLmNwcABnZXRGcmVlTGlzdEluZGV4AE1JTl9GUkVFTElTVF9JTkRFWCA8PSBpbmRleCAmJiBpbmRleCA8IE1BWF9GUkVFTElTVF9JTkRFWABnZXRBZnRlcihyZWdpb24pIDw9IHNicmsoMCkAZW1tYWxsb2NfbWFsbG9jAHJlZ2lvbi0+Z2V0VXNlZCgpAGdldFBheWxvYWQAKGNoYXIqKWV4dHJhUHRyID09IChjaGFyKilwdHIgKyBzYnJrU2l6ZQBhbGxvY2F0ZVJlZ2lvbgAhbGFzdFJlZ2lvbgAhZmlyc3RSZWdpb24AZmlyc3RSZWdpb24AcHRyID09IGdldEFmdGVyKGxhc3RSZWdpb24pAGV4dGVuZExhc3RSZWdpb24AYWRkVG9GcmVlTGlzdABnZXRCaWdFbm91Z2hGcmVlTGlzdEluZGV4AHBheWxvYWRTaXplID49IHNpemUAcG9zc2libHlTcGxpdFJlbWFpbmRlcgBleHRyYSA+PSBNSU5fUkVHSU9OX1NJWkUAdG90YWxTcGxpdFNpemUgPj0gTUlOX1JFR0lPTl9TSVpFAG1lcmdlSW50b0V4aXN0aW5nRnJlZVJlZ2lvbgByZWdpb24gPT0gbGFzdFJlZ2lvbgBlbW1hbGxvY19yZWFsbG9j\";export default JSMpeg\n"],"mappings":"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AC,GAAC,CAAC,EAAC,CAAC,GAAC,CAAC,EAAC,CAAC,EAAC,CAAC,GAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CA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AAC,CAAC,EAAC,CAAC,EAAC,CAAC,GAAC,CAAC,EAAC,CAAC,GAAC,CAAC,EAAC,CAAC,EAAC,CAAC,GAAC,CAAC,EAAC,CAAC,GAAC,CAAC,EAAC,CAAC,EAAC,CAAC,GAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,CAAC,GAAC,CAAC,EAAC,CAAC,GAAC,CAAC,EAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,GAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,GAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,GAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,GAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,GAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,GAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,GAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,GAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,GAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,GAAC,CAAC,EAAC,GAAG,GAAC,CAAC,EAAC,CAAC,EAAC,GAAG,GAAC,CAAC,EAAC,GAAG,GAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,GAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,GAAG,GAAC,CAAC,EAAC,GAAG,GAAC,CAAC,EAAC,CAAC,EAAC,GAAG,GAAC,CAAC,EAAC,GAAG,GAAC,CAAC,EAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,GAAG,GAAC,CAAC,EAAC,GAAG,GAAC,CAAC,EAAC,CAAC,EAAC,GAAG,GAAC,CAAC,EAAC,GAAG,GAAC,CAAC,EAAC,CAAC,EAAC,GAAG,GAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,GAAG,GAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,GAAG,GAAC,CAAC,EAAC,GAAG,GAAC,CAAC,EAAC,CAAC,EAAC,GAAG,GAAC,CAAC,EAAC,GAAG,GAAC,CAAC,EAAC,CAAC,EAAC,GAAG,GAAC,CAAC,EAAC,GAAG,GAAC,CAAC,EAAC,CAAC,EAAC,GAAG,GAAC,CAAC,EAAC,GAAG,GAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,GAAG,GAAC,CAAC,EAAC,GAAG,GAAC,CAAC,EAAC,CAAC,EAAC,GAAG,GAAC,CAAC,EAAC,GAAG,GAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,CAAC,CAAC;EAAC9K,KAAK,CAAC6G,MAAM,GAAC,IAAIiE,UAAU,CAAC,CAAC,CAAC,GAAC,CAAC,EAAC,CAAC,GAAC,CAAC,EAAC,CAAC,EAAC,CAAC,GAAC,CAAC,EAAC,CAAC,GAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,GAAC,CAAC,EAAC,CAAC,GAAC,CAAC,EAAC,CAAC,EAAC,CAAC,GAAC,CAAC,EAAC,CAAC,GAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,GAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,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C,EAAC,CAAC,GAAC,CAAC,EAAC,CAAC,GAAC,CAAC,EAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,GAAC,CAAC,EAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,EAAE,GAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,EAAE,GAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,IAAI,EAAC,EAAE,GAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,IAAI,EAAC,CAAC,EAAC,CAAC,EAAC,KAAK,EAAC,CAAC,EAAC,CAAC,EAAC,IAAI,EAAC,EAAE,GAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,IAAI,EAAC,EAAE,GAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,IAAI,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,IAAI,EAAC,EAAE,GAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,IAAI,EAAC,CAAC,EAAC,CAAC,EAAC,IAAI,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,IAAI,EAAC,CAAC,EAAC,CAAC,EAAC,IAAI,EAAC,EAAE,GAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,IAAI,EAAC,CAAC,EAAC,CAAC,EAAC,IAAI,EAAC,CAAC,EAAC,CAAC,EAAC,IAAI,EAAC,CAAC,EAAC,CAAC,EAAC,IAAI,EAAC,CAAC,EAAC,CAAC,EAAC,IAAI,EAAC,GAAG,GAAC,CAAC,EAAC,GAAG,GAAC,CAAC,EAAC,CAAC,EAAC,GAAG,GAAC,CAAC,EAAC,GAAG,GAAC,CAAC,EAAC,CAAC,EAAC,GAAG,GAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,GAAG,GAAC,CAAC,EAAC,GAAG,GAAC,CAAC,EAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,GAAG,GAAC,CAAC,EAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,GAAG,GAAC,CAAC,EAAC,CAAC,EAAC,GAAG,GAAC,CAAC,EAAC,GAAG,GAAC,CAAC,EAAC,CAAC,EAAC,EAAE,GAAC,CAAC,EAAC,GAAG,GAAC,CAAC,EAAC,CAAC,EAAC,GAAG,GAAC,CAAC,EAAC,GAAG,GAAC,CAAC,EAAC,CAAC,EAAC,GAAG,GAAC,CAAC,EAAC,GAAG,GAAC,CAAC,EAAC,CAAC,EAAC,GAAG,GAAC,CAAC,EAAC,GAAG,GAAC,CAAC,EAAC,CAAC,EAAC,GAAG,GAAC,CAAC,EAAC,GAAG,GAAC,CAAC,EAAC,CAAC,EAAC,GAAG,GAAC,CAAC,EAAC,GAAG,GAAC,CAAC,EAAC,CAAC,EAAC,GAAG,GAAC,CAAC,EAAC,GAAG,GAAC,CAAC,EAAC,CAAC,EAAC,GAAG,GAAC,CAAC,EAAC,GAAG,GAAC,CAAC,EAAC,CAAC,EAAC,GAAG,GAAC,CAAC,EAAC,GAAG,GAAC,CAAC,EAAC,CAAC,EAAC,GAAG,GAAC,CAAC,EAAC,GAAG,GAAC,CAAC,EAAC,CAAC,EAAC,GAAG,GAAC,CAAC,EAAC,GAAG,GAAC,CAAC,EAAC,CAAC,EAAC,GAAG,GAAC,CAAC,EAAC,GAAG,GAAC,CAAC,EAAC,CAAC,EAAC,GAAG,GAAC,CAAC,EAAC,GAAG,GAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,IAAI,EAAC,GAAG,GAAC,CAAC,EAAC,GAAG,GAAC,CAAC,EAAC,CAAC,EAAC,GAAG,GAAC,CAAC,EAAC,GAAG,GAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,GAAC,CAAC,EAAC,GAAG,GAAC,CAAC,EAAC,CAAC,EAAC,GAAG,GAAC,CAAC,EAAC,GAAG,GAAC,CAAC,EAAC,CAAC,EAAC,GAAG,GAAC,CAAC,EAAC,GAAG,GAAC,CAAC,EAAC,CAAC,EAAC,GAAG,GAAC,CAAC,EAAC,GAAG,GAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,IAAI,EAAC,CAAC,EAAC,CAAC,EAAC,IAAI,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,IAAI,EAAC,CAAC,EAAC,CAAC,EAAC,IAAI,EAAC,CAAC,EAAC,CAAC,EAAC,IAAI,EAAC,CAAC,EAAC,CAAC,EAAC,IAAI,EAAC,CAAC,EAAC,CAAC,EAAC,IAAI,EAAC,GAAG,GAAC,CAAC,EAAC,GAAG,GAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,IAAI,EAAC,GAAG,GAAC,CAAC,EAAC,GAAG,GAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,GAAC,CAAC,EAAC,GAAG,GAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,GAAC,CAAC,EAAC,GAAG,GAAC,CAAC,EAAC,CAAC,EAAC,GAAG,GAAC,CAAC,EAAC,GAAG,GAAC,CAAC,EAAC,CAAC,EAAC,GAAG,GAAC,CAAC,EAAC,GAAG,GAAC,CAAC,EAAC,CAAC,EAAC,GAAG,GAAC,CAAC,EAAC,GAAG,GAAC,CAAC,EAAC,CAAC,EAAC,GAAG,GAAC,CAAC,EAAC,GAAG,GAAC,CAAC,EAAC,CAAC,EAAC,GAAG,GAAC,CAAC,EAAC,GAAG,GAAC,CAAC,EAAC,CAAC,EAAC,GAAG,GAAC,CAAC,EAAC,GAAG,GAAC,CAAC,EAAC,CAAC,EAAC,GAAG,GAAC,CAAC,EAAC,GAAG,GAAC,CAAC,EAAC,CAAC,EAAC,GAAG,GAAC,CAAC,EAAC,GAAG,GAAC,CAAC,EAAC,CAAC,EAAC,GAAG,GAAC,CAAC,EAAC,GAAG,GAAC,CAAC,EAAC,CAAC,EAAC,GAAG,GAAC,CAAC,EAAC,GAAG,GAAC,CAAC,EAAC,CAAC,EAAC,GAAG,GAAC,CAAC,EAAC,GAAG,GAAC,CAAC,EAAC,CAAC,EAAC,GAAG,GAAC,CAAC,EAAC,GAAG,GAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,IAAI,EAAC,CAAC,EAAC,CAAC,EAAC,IAAI,EAAC,CAAC,EAAC,CAAC,EAAC,IAAI,EAAC,CAAC,EAAC,CAAC,EAAC,IAAI,EAAC,CAAC,EAAC,CAAC,EAAC,IAAI,EAAC,CAAC,EAAC,CAAC,EAAC,IAAI,EAAC,CAAC,EAAC,CAAC,EAAC,IAAI,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,IAAI,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,GAAC,CAAC,EAAC,GAAG,GAAC,CAAC,EAAC,CAAC,EAAC,GAAG,GAAC,CAAC,EAAC,GAAG,GAAC,CAAC,EAAC,CAAC,EAAC,GAAG,GAAC,CAAC,EAAC,GAAG,GAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,GAAG,GAAC,CAAC,EAAC,GAAG,GAAC,CAAC,EAAC,CAAC,EAAC,GAAG,GAAC,CAAC,EAAC,GAAG,GAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,GAAG,GAAC,CAAC,EAAC,GAAG,GAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,GAAG,GAAC,CAAC,EAAC,GAAG,GAAC,CAAC,EAAC,CAAC,EAAC,GAAG,GAAC,CAAC,EAAC,GAAG,GAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,GAAG,GAAC,CAAC,EAAC,GAAG,GAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,GAAG,GAAC,CAAC,EAAC,GAAG,GAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,GAAG,GAAC,CAAC,EAAC,GAAG,GAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,GAAG,GAAC,CAAC,EAAC,GAAG,GAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,GAAG,GAAC,CAAC,EAAC,GAAG,GAAC,CAAC,EAAC,CAAC,EAAC,GAAG,GAAC,CAAC,EAAC,GAAG,GAAC,CAAC,EAAC,CAAC,EAAC,GAAG,GAAC,CAAC,EAAC,GAAG,GAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,GAAG,GAAC,CAAC,EAAC,GAAG,GAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,GAAG,GAAC,CAAC,EAAC,GAAG,GAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,GAAG,GAAC,CAAC,EAAC,GAAG,GAAC,CAAC,EAAC,CAAC,EAAC,GAAG,GAAC,CAAC,EAAC,GAAG,GAAC,CAAC,EAAC,CAAC,EAAC,GAAG,GAAC,CAAC,EAAC,GAAG,GAAC,CAAC,EAAC,CAAC,EAAC,GAAG,GAAC,CAAC,EAAC,GAAG,GAAC,CAAC,EAAC,CAAC,EAAC,GAAG,GAAC,CAAC,EAAC,GAAG,GAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,IAAI,EAAC,CAAC,EAAC,CAAC,EAAC,IAAI,EAAC,CAAC,EAAC,CAAC,EAAC,IAAI,EAAC,CAAC,EAA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,CAAC,IAAI,EAAC,CAAC,IAAI,EAAC,CAAC,EAAE,EAAC,CAAC,IAAI,EAAC,CAAC,IAAI,EAAC,CAAC,EAAE,EAAC,CAAC,IAAI,EAAC,CAAC,IAAI,EAAC,CAAC,EAAE,EAAC,CAAC,IAAI,EAAC,CAAC,EAAE,EAAC,CAAC,EAAE,EAAC,CAAC,GAAG,EAAC,CAAC,GAAG,EAAC,KAAK,EAAC,GAAG,EAAC,GAAG,EAAC,KAAK,EAAC,KAAK,EAAC,GAAG,EAAC,GAAG,EAAC,KAAK,EAAC,GAAG,EAAC,KAAK,EAAC,KAAK,EAAC,GAAG,EAAC,GAAG,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,CAAC,CAAC,EAAC,CAAC,EAAE,EAAC,CAAC,EAAE,EAAC,CAAC,IAAI,EAAC,CAAC,IAAI,EAAC,CAAC,IAAI,EAAC,CAAC,GAAG,EAAC,CAAC,GAAG,EAAC,CAAC,KAAK,EAAC,CAAC,KAAK,EAAC,CAAC,KAAK,EAAC,CAAC,KAAK,EAAC,CAAC,KAAK,EAAC,CAAC,KAAK,EAAC,CAAC,KAAK,EAAC,CAAC,KAAK,EAAC,CAAC,GAAG,EAAC,CAAC,KAAK,EAAC,CAAC,KAAK,EAAC,CAAC,GAAG,EAAC,CAAC,KAAK,EAAC,CAAC,GAAG,EAAC,CAAC,KAAK,EAAC,CAAC,GAAG,EAAC,CAAC,GAAG,EAAC,CAAC,GAAG,EAAC,CAAC,KAAK,EAAC,CAAC,GAAG,EAAC,CAAC,GAAG,EAAC,CAAC,KAAK,EAAC,CAAC,KAAK,EAAC,CAAC,GAAG,EAAC,CAAC,KAAK,EAAC,CAAC,GAAG,EAAC,CAAC,MAAM,EAAC,CAAC,IAAI,EAAC,CAAC,MAAM,EAAC,CAAC,MAAM,EAAC,CAAC,MAAM,EAAC,CAAC,MAAM,EAAC,CAAC,IAAI,EAAC,CAAC,MAAM,EAAC,MAAM,EAAC,GAAG,EAAC,GAAG,EAAC,KAAK,EAAC,GAAG,EAAC,KAAK,EAAC,GAAG,EAAC,KAAK,EAAC,GAAG,EAAC,GAAG,EAAC,KAAK,EAAC,GAAG,EAAC,GAAG,EAAC,KAAK,EAAC,GAAG,EAAC,IAAI,EAAC,CAAC,IAAI,EAAC,CAAC,GAAG,EAAC,CAAC,KAAK,EAAC,CAAC,GAAG,EAAC,CAAC,KAAK,EAAC,CAAC,GAAG,EAAC,CAAC,GAAG,EAAC,CAAC,IAAI,EAAC,CAAC,IAAI,EAAC,CAAC,MAAM,EAAC,CAAC,IAAI,EAAC,CAAC,MAAM,EAAC,CAAC,MAAM,EAAC,CAAC,MAAM,EAAC,CAAC,MAAM,EAAC,CAAC,IAAI,EAAC,CAAC,MAAM,EAAC,CAAC,MAAM,EAAC,CAAC,MAAM,EAAC,CAAC,MAAM,EAAC,CAAC,MAAM,EAAC,CAAC,MAAM,EAAC,CAAC,MAAM,EAAC,CAAC,MAAM,EAAC,CAAC,IAAI,EAAC,CAAC,MAAM,EAAC,CAAC,MAAM,EAAC,CAAC,MAAM,EAAC,CAAC,IAAI,EAAC,CAAC,MAAM,EAAC,CAAC,IAAI,EAAC,CAAC,MAAM,EAAC,CAAC,MAAM,EAAC,CAAC,IAAI,EAAC,CAAC,IAAI,EAAC,CAAC,MAAM,EAAC,CAAC,IAAI,EAAC,CAAC,MAAM,EAAC,CAAC,MAAM,EAAC,CAAC,IAAI,EAAC,CAAC,IAAI,EAAC,CAAC,MAAM,EAAC,CAAC,MAAM,EAAC,CAAC,IAAI,EAAC,CAAC,IAAI,EAAC,CAAC,IAAI,EAAC,CAAC,IAAI,EAAC,CAAC,IAAI,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,MAAM,EAAC,MAAM,EAAC,GAAG,EAAC,EAAE,EAAC,CAAC,GAAG,EAAC,CAAC,IAAI,EAAC,CAAC,IAAI,EAAC,CAAC,MAAM,EAAC,CAAC,IAAI,EAAC,CAAC,IAAI,EAAC,CAAC,IAAI,EAAC,CAAC,MAAM,EAAC,CAAC,MAAM,EAAC,CAAC,IAAI,EAAC,CAAC,IAAI,EAAC,CAAC,MAAM,EAAC,CAAC,MAAM,EAAC,CAAC,IAAI,EAAC,CAAC,OAAO,EAAC,CAAC,OAAO,EAAC,CAAC,KAAK,EAAC,CAAC,KAAK,EAAC,CAAC,OAAO,EAAC,CAAC,KAAK,EAAC,CAAC,OAAO,EAAC,CAAC,OAAO,EAAC,CAAC,KAAK,EAAC,CAAC,OAAO,EAAC,CAAC,KAAK,EAAC,CAAC,KAAK,EAAC,CAAC,KAAK,EAAC,CAAC,OAAO,EAAC,CAAC,OAAO,EAAC,CAAC,KAAK,EAAC,CAAC,OAAO,EAAC,CAAC,OAAO,EAAC,CAAC,KAAK,EAAC,CAAC,KAAK,EAAC,CAAC,KAAK,EAAC,CAAC,OAAO,EAAC,CAAC,KAAK,EAAC,CAAC,OAAO,EAAC,CAAC,KAAK,EAAC,CAAC,OAAO,EAAC,CAAC,KAAK,EAAC,CAAC,KAAK,EAAC,CAAC,OAAO,EAAC,CAAC,KAAK,EAAC,CAAC,OAAO,EAAC,CAAC,KAAK,EAAC,CAAC,KAAK,EAAC,CAAC,OAAO,EAAC,CAAC,OAAO,EAAC,CAAC,OAAO,EAAC,CAAC,KAAK,EAAC,CAAC,OAAO,EAAC,CAAC,KAAK,EAAC,CAAC,KAAK,EAAC,CAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,OAAO,EAAC,KAAK,EAAC,OAAO,EAAC,OAAO,EAAC,OAAO,EAAC,KAAK,EAAC,KAAK,EAAC,OAAO,EAAC,KAAK,EAAC,OAAO,EAAC,KAAK,EAAC,KAAK,EAAC,OAAO,EAAC,KAAK,EAAC,OAAO,EAAC,KAAK,EAAC,OAAO,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,OAAO,EAAC,OAAO,EAAC,KAAK,EAAC,OAAO,EAAC,OAAO,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,OAAO,EAAC,KAAK,EAAC,OAAO,EAAC,OAAO,EAAC,KAAK,EAAC,OAAO,EAAC,KAAK,EAAC,KAAK,EAAC,OAAO,EAAC,OAAO,EAAC,IAAI,EAAC,MAAM,EAAC,MAAM,EAAC,IAAI,EAAC,IAAI,EAAC,MAAM,EAAC,MAAM,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,IAAI,EAAC,GAAG,EAAC,CAAC,EAAE,EAAC,CAAC,GAAG,EAAC,CAAC,MAAM,EAAC,CAAC,MAAM,EAAC,CAAC,IAAI,EAAC,CAAC,MAAM,EAAC,CAAC,IAAI,EAAC,CAAC,MAAM,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,MAAM,EAAC,MAAM,EAAC,IAAI,EAAC,IAAI,EAAC,MAAM,EAAC,MAAM,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,IAAI,EAAC,MAAM,EAAC,MAAM,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,MAAM,EAAC,MAAM,EAAC,MAAM,EAAC,IAAI,EAAC,MAAM,EAAC,MAAM,EAAC,MAAM,EAAC,MAAM,EAAC,MAAM,EAAC,MAAM,EAAC,MAAM,EAAC,MAAM,EAAC,IAAI,EAAC,MAAM,EAAC,MAAM,EAAC,MAAM,EAAC,MAAM,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,IAAI,EAAC,GAAG,EAAC,GAAG,EAAC,KAAK,EAAC,GAAG,EAAC,KAAK,EAAC,GAAG,EAAC,IAAI,EAAC,CAAC,IAAI,EAAC,CAAC,GAAG,EAAC,CAAC,KAAK,EAAC,CAAC,GAAG,EAAC,CAAC,GAAG,EAAC,CAAC,KAAK,EAAC,CAAC,GAAG,EAAC,CAAC,GAAG,EAAC,CAAC,KAAK,EAAC,CAAC,GAAG,EAAC,CAAC,KAAK,EAAC,CAAC,GAAG,EAAC,CAAC,KAAK,EAAC,CAAC,GAAG,EAAC,CAAC,GAAG,EAAC,MAAM,EAAC,MAAM,EAAC,IAAI,EAAC,MAAM,EAAC,MAAM,EAAC,MAAM,EAAC,MAAM,EAAC,IAAI,EAAC,MAAM,EAAC,GAAG,EAAC,KAAK,EAAC,GAAG,EAAC,KAAK,EAAC,KAAK,EAAC,GAAG,EAAC,GAAG,EAAC,KAAK,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,KAAK,EAAC,GAAG,EAAC,KAAK,EAAC,GAAG,EAAC,KAAK,EAAC,KAAK,EAAC,GAAG,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,GAAG,EAAC,GAAG,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,IAAI,EAAC,CAAC,IAAI,EAAC,CAAC,IAAI,EAAC,CAAC,EAAE,EAAC,CAAC,IAAI,EAAC,CAAC,EAAE,EAAC,CAAC,IAAI,EAAC,CAAC,IAAI,EAAC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"}]}