diff --git a/assets/ts/artplayer-plugin-chapter.d.ts b/assets/ts/artplayer-plugin-chapter.d.ts new file mode 100644 index 000000000..78afef6c3 --- /dev/null +++ b/assets/ts/artplayer-plugin-chapter.d.ts @@ -0,0 +1,21 @@ +import type Artplayer from 'artplayer'; + +export = artplayerPluginChapter; +export as namespace artplayerPluginChapter; + +type Chapters = { + start: number; + end: number; + title: string; +}[]; + +type Option = { + chapters?: Chapters; +}; + +type Result = { + name: 'artplayerPluginChapter'; + update: (option: Option) => void; +}; + +declare const artplayerPluginChapter: (option: Option) => (art: Artplayer) => Result; diff --git a/assets/ts/artplayer-plugin-danmuku.d.ts b/assets/ts/artplayer-plugin-danmuku.d.ts index 18a3e008f..a84d9b5f6 100644 --- a/assets/ts/artplayer-plugin-danmuku.d.ts +++ b/assets/ts/artplayer-plugin-danmuku.d.ts @@ -4,6 +4,17 @@ export = artplayerPluginDanmuku; export as namespace artplayerPluginDanmuku; type Mode = 0 | 1 | 2; +type Danmuku = Danmu[] | string | (() => Promise) | Promise; + +type Slider = { + min: number; + max: number; + steps: { + name?: string; + value?: any; + show?: boolean; + }[]; +}; type Danmu = { /** @@ -35,18 +46,13 @@ type Danmu = { * 弹幕自定义样式 */ style?: Partial; - - /** - * 弹幕文本是否转义, 默认为 true - */ - escape?: boolean; }; type Option = { /** * 弹幕数据: 函数,数组,Promise,URL */ - danmuku: Danmu[] | string | (() => Promise) | Promise; + danmuku: Danmuku; /** * 弹幕持续时间,范围在[1 ~ 10] @@ -116,6 +122,11 @@ type Option = { flattening?: number; }; + /** + * 当播放器宽度小于此值时,弹幕发射器置于播放器底部 + */ + width?: number; + /** * 热力图数据 */ @@ -141,6 +152,11 @@ type Option = { */ visible?: boolean; + /** + * 是否开启弹幕发射器 + */ + emitter?: boolean; + /** * 弹幕输入框最大长度, 范围在[1 ~ 1000] */ @@ -155,35 +171,60 @@ type Option = { * 弹幕主题,只在自定义挂载时生效 */ theme?: 'light' | 'dark'; + + /** + * 不透明度配置项 + */ + OPACITY?: Slider; + + /** + * 弹幕速度配置项 + */ + SPEED?: Slider; + + /** + * 显示区域配置项 + */ + MARGIN?: Slider; + + /** + * 弹幕字号配置项 + */ + FONT_SIZE?: Slider; + + /** + * 颜色列表配置项 + */ + COLOR?: string[]; }; -type Danmuku = { +type Result = { name: 'artplayerPluginDanmuku'; /** * 发送一条实时弹幕 */ - emit: (danmu: Danmu) => Danmuku; + emit: (danmu: Danmu) => Result; /** * 重载弹幕源,或者切换新弹幕 */ - load: () => Promise; + load: (danmuku?: Danmuku) => Promise; /** * 实时改变弹幕配置 */ - config: (option: Option) => Danmuku; + config: (option: Option) => Result; /** * 隐藏弹幕层 */ - hide: () => Danmuku; + hide: () => Result; /** * 显示弹幕层 */ - show: () => Danmuku; + show: () => Result; /** * 挂载弹幕输入框 @@ -193,7 +234,7 @@ type Danmuku = { /** * 重置弹幕 */ - reset: () => Danmuku; + reset: () => Result; /** * 弹幕配置 @@ -211,4 +252,4 @@ type Danmuku = { isStop: boolean; }; -declare const artplayerPluginDanmuku: (option: Option) => (art: Artplayer) => Danmuku; +declare const artplayerPluginDanmuku: (option: Option) => (art: Artplayer) => Result; diff --git a/assets/ts/artplayer-plugin-vast.d.ts b/assets/ts/artplayer-plugin-vast.d.ts new file mode 100644 index 000000000..e9d103174 --- /dev/null +++ b/assets/ts/artplayer-plugin-vast.d.ts @@ -0,0 +1,14 @@ +import type Artplayer from 'artplayer'; + +export = artplayerPluginVast; +export as namespace artplayerPluginVast; + +type Option = { + // +}; + +type Result = { + name: 'artplayerPluginVast'; +}; + +declare const artplayerPluginVast: (option: Option) => (art: Artplayer) => Result; diff --git a/assets/ts/artplayer.d.ts b/assets/ts/artplayer.d.ts index 470598396..6f6e89b2a 100644 --- a/assets/ts/artplayer.d.ts +++ b/assets/ts/artplayer.d.ts @@ -51,6 +51,9 @@ export type Utils = { capitalize(str: string): string; isStringOrNumber(val: any): boolean; getIcon(key: string, html: string | HTMLElement): HTMLElement; + supportsFlex(): boolean; + setStyleText(element: HTMLElement, text: string): void; + getRect(el: HTMLElement): { top: number; left: number; width: number; height: number }; }; export type Template = { @@ -286,6 +289,8 @@ export declare class Player { set subtitleOffset(time: number); set switch(url: string); set quality(quality: quality[]); + get thumbnails(): Thumbnails; + set thumbnails(thumbnails: Thumbnails); pause(): void; play(): Promise; toggle(): void; @@ -295,7 +300,7 @@ export declare class Player { switchQuality(url: string): Promise; getDataURL(): Promise; getBlobUrl(): Promise; - screenshot(): Promise; + screenshot(name?: string): Promise; airplay(): void; autoSize(): void; autoHeight(): void; @@ -312,6 +317,33 @@ export declare class Player { export type CustomType = 'flv' | 'm3u8' | 'hls' | 'ts' | 'mpd' | 'torrent' | (string & Record); +export type Thumbnails = { + /** + * The thumbnail image url + */ + url: string; + + /** + * The thumbnail item number + */ + number?: number; + + /** + * The thumbnail column size + */ + column?: number; + + /** + * The thumbnail width + */ + width?: number; + + /** + * The thumbnail height + */ + height?: number; +}; + export type Option = { /** * The player id @@ -483,6 +515,11 @@ export type Option = { */ airplay?: boolean; + /** + * Custom video proxy + */ + proxy?: null | ((this: Artplayer, art: Artplayer) => HTMLCanvasElement | HTMLVideoElement); + /** * Custom plugin list */ @@ -531,32 +568,7 @@ export type Option = { /** * Custom thumbnail */ - thumbnails?: { - /** - * The thumbnail image url - */ - url: string; - - /** - * The thumbnail item number - */ - number?: number; - - /** - * The thumbnail column size - */ - column?: number; - - /** - * The thumbnail width - */ - width?: number; - - /** - * The thumbnail height - */ - height?: number; - }; + thumbnails?: Thumbnails; /** * Custom subtitle option @@ -685,6 +697,8 @@ export type I18n = Record>; +export type Bar = 'loaded' | 'played' | 'hover'; + export type Events = { 'video:canplay': [event: Event]; 'video:canplaythrough': [event: Event]; @@ -749,6 +763,7 @@ export type Events = { subtitleOffset: [offset: number]; restart: [url: string]; muted: [state: boolean]; + setBar: [type: Bar, percentage: number, event?: Event]; }; export type CssVar = { @@ -1019,6 +1034,19 @@ export as namespace Artplayer; declare class Artplayer extends Player { constructor(option: Option, readyCallback?: (this: Artplayer, art: Artplayer) => unknown); + get Config(): Config; + get Events(): Events; + get Utils(): Utils; + get Player(): Player; + get Option(): Option; + get Subtitle(): Subtitle; + get Icons(): Icons; + get Template(): Template; + get I18n(): I18n; + get Setting(): Setting; + get SettingOption(): SettingOption; + get Component(): Component; + static readonly instances: Artplayer[]; static readonly version: string; static readonly env: string; @@ -1032,6 +1060,7 @@ declare class Artplayer extends Player { static readonly html: Artplayer['template']['html']; static readonly option: Option; + static STYLE: string; static DEBUG: boolean; static CONTEXTMENU: boolean; static NOTICE_TIME: number; diff --git a/compiled/artplayer-plugin-ads.js b/compiled/artplayer-plugin-ads.js index f98f20cec..1eb1e27f5 100644 --- a/compiled/artplayer-plugin-ads.js +++ b/compiled/artplayer-plugin-ads.js @@ -1 +1,8 @@ -/*! * artplayer-plugin-ads.js v2.0.0 * Github:https://github.com/zhw2590582/ArtPlayer * (c) 2017-2024 Harvey Zack * Released under the MIT License. */ !function(e,n,l,t,i){var a="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},r="function"==typeof a[t]&&a[t],o=r.cache||{},d="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function p(n,l){if(!o[n]){if(!e[n]){var i="function"==typeof a[t]&&a[t];if(!l&&i)return i(n,!0);if(r)return r(n,!0);if(d&&"string"==typeof n)return d(n);var s=Error("Cannot find module '"+n+"'");throw s.code="MODULE_NOT_FOUND",s}c.resolve=function(l){var t=e[n][1][l];return null!=t?t:l},c.cache={};var u=o[n]=new p.Module(n);e[n][0].call(u.exports,c,u,u.exports,this)}return o[n].exports;function c(e){var n=c.resolve(e);return!1===n?{}:p(n)}}p.isParcelRequire=!0,p.Module=function(e){this.id=e,this.bundle=p,this.exports={}},p.modules=e,p.cache=o,p.parent=r,p.register=function(n,l){e[n]=[function(e,n){n.exports=l},{}]},Object.defineProperty(p,"root",{get:function(){return a[t]}}),a[t]=p;for(var s=0;sr);var i=e("bundle-text:./style.less"),a=t.interopDefault(i);function r(e){return n=>{!function(e){let{version:n,utils:{errorHandle:l}}=e.constructor,t=n.split(".").map(Number);l(t[0]+t[1]/100>=5,`Artplayer.js@${n}is not compatible the artplayerPluginAds@${r.version}. Please update it to version Artplayer.js@5.x.x`)}(n);let{template:{$player:l},icons:{volume:t,volumeClose:i,fullscreenOn:a,fullscreenOff:o,loading:d},constructor:{validator:p,utils:{query:s,append:u,setStyle:c}}}=n;e=p({html:"",video:"",url:"",playDuration:5,totalDuration:10,muted:!1,i18n:{close:"关闭广告",countdown:"%s秒",detail:"查看详情",canBeClosed:"%s秒后可关闭广告"},...e},{html:"?string",video:"?string",url:"?string",playDuration:"number",totalDuration:"number",muted:"?boolean",i18n:{close:"string",countdown:"string",detail:"string",canBeClosed:"string"}});let y=null,f=null,g=null,m=null,x=null,v=null,h=0,b=null,w=!1,j=!1,D=!1;function P(e,n){return n.replace("%s",e)}function $(){w=!0,n.play(),e.video&&y.pause(),c(n.template.$ads,"display","none"),n.emit("artplayerPluginAds:skip",e)}function k(){w||(b=setTimeout(()=>{h+=1;let n=e.playDuration-h;n>=1?g.innerHTML=P(n,e.i18n.canBeClosed):(g.innerHTML=e.i18n.close,D||(D=!0)),m.innerHTML=P(e.totalDuration-h,e.i18n.countdown),h>=e.totalDuration?$():k()},1e3))}function A(){w||clearTimeout(b)}function O(){j||(j=!0,function(){n.template.$ads=u(l,'
'),y=u(n.template.$ads,e.video?``:`
${e.html}
`),v=u(n.template.$ads,'
'),u(v,d),g=s(".artplayer-plugin-ads-close",f=u(n.template.$ads,`
${e.playDuration<=0?e.i18n.close:P(e.playDuration,e.i18n.canBeClosed)}
${P(e.totalDuration,e.i18n.countdown)}
`)),m=s(".artplayer-plugin-ads-countdown",f),e.playDuration>=e.totalDuration&&c(g,"display","none"),n.proxy(g,"click",()=>{D&&$()});let r=s(".artplayer-plugin-ads-detail",x=u(n.template.$ads,`
${e.i18n.detail}
`)),p=s(".artplayer-plugin-ads-muted",x),h=s(".artplayer-plugin-ads-fullscreen",x);if(e.url?n.proxy(r,"click",()=>{window.open(e.url),n.emit("artplayerPluginAds:click",e)}):c(r,"display","none"),e.video){let l=u(p,t),a=u(p,i);c(a,"display","none"),e.muted&&(y.muted=!0,c(l,"display","none"),c(a,"display","inline-flex")),n.proxy(p,"click",()=>{y.muted=!y.muted,y.muted?(c(l,"display","none"),c(a,"display","inline-flex")):(c(l,"display","inline-flex"),c(a,"display","none"))})}else c(p,"display","none");let b=u(h,a),w=u(h,o);c(w,"display","none"),n.proxy(h,"click",()=>{n.fullscreen=!n.fullscreen,n.fullscreen?(c(b,"display","inline-flex"),c(w,"display","none")):(c(b,"display","none"),c(w,"display","inline-flex"))}),n.proxy(y,"click",()=>{e.url&&window.open(e.url),n.emit("artplayerPluginAds:click",e)})}(),n.pause(),e.video?(n.proxy(y,"error",$),n.proxy(y,"loadedmetadata",()=>{k(),y.play(),c(f,"display","flex"),c(x,"display","flex"),c(v,"display","none")})):(k(),c(f,"display","flex"),c(x,"display","flex"),c(v,"display","none")),n.proxy(document,"visibilitychange",()=>{document.hidden?A():k()}))}return n.on("ready",()=>{n.once("play",O),n.once("video:playing",O)}),{name:"artplayerPluginAds",skip:$,pause:A,play:k}}}if("undefined"!=typeof document&&!document.getElementById("artplayer-plugin-ads")){let e=document.createElement("style");e.id="artplayer-plugin-ads",e.textContent=a.default,document.head.appendChild(e)}"undefined"!=typeof window&&(window.artplayerPluginAds=r)},{"bundle-text:./style.less":"jDrWj","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],jDrWj:[function(e,n,l){n.exports=".artplayer-plugin-ads{z-index:150;color:#fff;background-color:#000;width:100%;height:100%;font-size:13px;line-height:1;position:absolute;inset:0;overflow:hidden}.artplayer-plugin-ads .artplayer-plugin-ads-html{justify-content:center;align-items:center;width:100%;height:100%;display:flex}.artplayer-plugin-ads .artplayer-plugin-ads-video{width:100%;height:100%}.artplayer-plugin-ads .artplayer-plugin-ads-timer{display:none;position:absolute;top:10px;right:10px}.artplayer-plugin-ads .artplayer-plugin-ads-timer>div{cursor:pointer;background-color:#00000080;border-radius:15px;align-items:center;margin-left:5px;padding:5px 10px;display:flex}.artplayer-plugin-ads .artplayer-plugin-ads-control{display:none;position:absolute;bottom:10px;right:10px}.artplayer-plugin-ads .artplayer-plugin-ads-control>div{cursor:pointer;background-color:#00000080;border-radius:15px;align-items:center;margin-left:5px;padding:5px 10px;display:flex}.artplayer-plugin-ads .artplayer-plugin-ads-control .art-icon svg{width:20px;height:20px}.artplayer-plugin-ads .artplayer-plugin-ads-loading{justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:absolute;inset:0}"},{}],"9pCYc":[function(e,n,l){l.interopDefault=function(e){return e&&e.__esModule?e:{default:e}},l.defineInteropFlag=function(e){Object.defineProperty(e,"__esModule",{value:!0})},l.exportAll=function(e,n){return Object.keys(e).forEach(function(l){"default"===l||"__esModule"===l||Object.prototype.hasOwnProperty.call(n,l)||Object.defineProperty(n,l,{enumerable:!0,get:function(){return e[l]}})}),n},l.export=function(e,n,l){Object.defineProperty(e,n,{enumerable:!0,get:l})}},{}]},["hUYA0"],"hUYA0","parcelRequire4dc0"); \ No newline at end of file + +/*! + * artplayer-plugin-ads.js v2.0.0 + * Github: https://github.com/zhw2590582/ArtPlayer + * (c) 2017-2024 Harvey Zack + * Released under the MIT License. + */ +!function(e,n,l,t,i){var a="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},r="function"==typeof a[t]&&a[t],o=r.cache||{},d="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function p(n,l){if(!o[n]){if(!e[n]){var i="function"==typeof a[t]&&a[t];if(!l&&i)return i(n,!0);if(r)return r(n,!0);if(d&&"string"==typeof n)return d(n);var s=Error("Cannot find module '"+n+"'");throw s.code="MODULE_NOT_FOUND",s}c.resolve=function(l){var t=e[n][1][l];return null!=t?t:l},c.cache={};var u=o[n]=new p.Module(n);e[n][0].call(u.exports,c,u,u.exports,this)}return o[n].exports;function c(e){var n=c.resolve(e);return!1===n?{}:p(n)}}p.isParcelRequire=!0,p.Module=function(e){this.id=e,this.bundle=p,this.exports={}},p.modules=e,p.cache=o,p.parent=r,p.register=function(n,l){e[n]=[function(e,n){n.exports=l},{}]},Object.defineProperty(p,"root",{get:function(){return a[t]}}),a[t]=p;for(var s=0;sr);var i=e("bundle-text:./style.less"),a=t.interopDefault(i);function r(e){return n=>{!function(e){let{version:n,utils:{errorHandle:l}}=e.constructor,t=n.split(".").map(Number);l(t[0]+t[1]/100>=5,`Artplayer.js@${n} is not compatible the artplayerPluginAds@${r.version}. Please update it to version Artplayer.js@5.x.x`)}(n);let{template:{$player:l},icons:{volume:t,volumeClose:i,fullscreenOn:a,fullscreenOff:o,loading:d},constructor:{validator:p,utils:{query:s,append:u,setStyle:c}}}=n;e=p({html:"",video:"",url:"",playDuration:5,totalDuration:10,muted:!1,i18n:{close:"关闭广告",countdown:"%s秒",detail:"查看详情",canBeClosed:"%s秒后可关闭广告"},...e},{html:"?string",video:"?string",url:"?string",playDuration:"number",totalDuration:"number",muted:"?boolean",i18n:{close:"string",countdown:"string",detail:"string",canBeClosed:"string"}});let y=null,f=null,g=null,m=null,x=null,v=null,h=0,b=null,w=!1,j=!1,D=!1;function P(e,n){return n.replace("%s",e)}function $(){w=!0,n.play(),e.video&&y.pause(),c(n.template.$ads,"display","none"),n.emit("artplayerPluginAds:skip",e)}function k(){w||(b=setTimeout(()=>{h+=1;let n=e.playDuration-h;n>=1?g.innerHTML=P(n,e.i18n.canBeClosed):(g.innerHTML=e.i18n.close,D||(D=!0)),m.innerHTML=P(e.totalDuration-h,e.i18n.countdown),h>=e.totalDuration?$():k()},1e3))}function A(){w||clearTimeout(b)}function O(){j||(j=!0,function(){n.template.$ads=u(l,'
'),y=u(n.template.$ads,e.video?``:`
${e.html}
`),v=u(n.template.$ads,'
'),u(v,d),g=s(".artplayer-plugin-ads-close",f=u(n.template.$ads,`
${e.playDuration<=0?e.i18n.close:P(e.playDuration,e.i18n.canBeClosed)}
${P(e.totalDuration,e.i18n.countdown)}
`)),m=s(".artplayer-plugin-ads-countdown",f),e.playDuration>=e.totalDuration&&c(g,"display","none"),n.proxy(g,"click",()=>{D&&$()});let r=s(".artplayer-plugin-ads-detail",x=u(n.template.$ads,`
${e.i18n.detail}
`)),p=s(".artplayer-plugin-ads-muted",x),h=s(".artplayer-plugin-ads-fullscreen",x);if(e.url?n.proxy(r,"click",()=>{window.open(e.url),n.emit("artplayerPluginAds:click",e)}):c(r,"display","none"),e.video){let l=u(p,t),a=u(p,i);c(a,"display","none"),e.muted&&(y.muted=!0,c(l,"display","none"),c(a,"display","inline-flex")),n.proxy(p,"click",()=>{y.muted=!y.muted,y.muted?(c(l,"display","none"),c(a,"display","inline-flex")):(c(l,"display","inline-flex"),c(a,"display","none"))})}else c(p,"display","none");let b=u(h,a),w=u(h,o);c(w,"display","none"),n.proxy(h,"click",()=>{n.fullscreen=!n.fullscreen,n.fullscreen?(c(b,"display","inline-flex"),c(w,"display","none")):(c(b,"display","none"),c(w,"display","inline-flex"))}),n.proxy(y,"click",()=>{e.url&&window.open(e.url),n.emit("artplayerPluginAds:click",e)})}(),n.pause(),e.video?(n.proxy(y,"error",$),n.proxy(y,"loadedmetadata",()=>{k(),y.play(),c(f,"display","flex"),c(x,"display","flex"),c(v,"display","none")})):(k(),c(f,"display","flex"),c(x,"display","flex"),c(v,"display","none")),n.proxy(document,"visibilitychange",()=>{document.hidden?A():k()}))}return n.on("ready",()=>{n.once("play",O),n.once("video:playing",O)}),{name:"artplayerPluginAds",skip:$,pause:A,play:k}}}if("undefined"!=typeof document&&!document.getElementById("artplayer-plugin-ads")){let e=document.createElement("style");e.id="artplayer-plugin-ads",e.textContent=a.default,document.head.appendChild(e)}"undefined"!=typeof window&&(window.artplayerPluginAds=r)},{"bundle-text:./style.less":"jDrWj","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],jDrWj:[function(e,n,l){n.exports=".artplayer-plugin-ads{z-index:150;color:#fff;background-color:#000;width:100%;height:100%;font-size:13px;line-height:1;position:absolute;inset:0;overflow:hidden}.artplayer-plugin-ads .artplayer-plugin-ads-html{justify-content:center;align-items:center;width:100%;height:100%;display:flex}.artplayer-plugin-ads .artplayer-plugin-ads-video{width:100%;height:100%}.artplayer-plugin-ads .artplayer-plugin-ads-timer{display:none;position:absolute;top:10px;right:10px}.artplayer-plugin-ads .artplayer-plugin-ads-timer>div{cursor:pointer;background-color:#00000080;border-radius:15px;align-items:center;margin-left:5px;padding:5px 10px;display:flex}.artplayer-plugin-ads .artplayer-plugin-ads-control{display:none;position:absolute;bottom:10px;right:10px}.artplayer-plugin-ads .artplayer-plugin-ads-control>div{cursor:pointer;background-color:#00000080;border-radius:15px;align-items:center;margin-left:5px;padding:5px 10px;display:flex}.artplayer-plugin-ads .artplayer-plugin-ads-control .art-icon svg{width:20px;height:20px}.artplayer-plugin-ads .artplayer-plugin-ads-loading{justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:absolute;inset:0}"},{}],"9pCYc":[function(e,n,l){l.interopDefault=function(e){return e&&e.__esModule?e:{default:e}},l.defineInteropFlag=function(e){Object.defineProperty(e,"__esModule",{value:!0})},l.exportAll=function(e,n){return Object.keys(e).forEach(function(l){"default"===l||"__esModule"===l||Object.prototype.hasOwnProperty.call(n,l)||Object.defineProperty(n,l,{enumerable:!0,get:function(){return e[l]}})}),n},l.export=function(e,n,l){Object.defineProperty(e,n,{enumerable:!0,get:l})}},{}]},["hUYA0"],"hUYA0","parcelRequire4dc0"); \ No newline at end of file diff --git a/compiled/artplayer-plugin-ads.legacy.js b/compiled/artplayer-plugin-ads.legacy.js index fd7529bb5..5ca23f64b 100644 --- a/compiled/artplayer-plugin-ads.legacy.js +++ b/compiled/artplayer-plugin-ads.legacy.js @@ -1 +1,8 @@ -/*! * artplayer-plugin-ads.js v2.0.0 * Github:https://github.com/zhw2590582/ArtPlayer * (c) 2017-2024 Harvey Zack * Released under the MIT License. */ !function(e,n,t,r,l){var i="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},a="function"==typeof i[r]&&i[r],o=a.cache||{},s="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function p(n,t){if(!o[n]){if(!e[n]){var l="function"==typeof i[r]&&i[r];if(!t&&l)return l(n,!0);if(a)return a(n,!0);if(s&&"string"==typeof n)return s(n);var d=Error("Cannot find module '"+n+"'");throw d.code="MODULE_NOT_FOUND",d}c.resolve=function(t){var r=e[n][1][t];return null!=r?r:t},c.cache={};var u=o[n]=new p.Module(n);e[n][0].call(u.exports,c,u,u.exports,this)}return o[n].exports;function c(e){var n=c.resolve(e);return!1===n?{}:p(n)}}p.isParcelRequire=!0,p.Module=function(e){this.id=e,this.bundle=p,this.exports={}},p.modules=e,p.cache=o,p.parent=a,p.register=function(n,t){e[n]=[function(e,n){n.exports=t},{}]},Object.defineProperty(p,"root",{get:function(){return i[r]}}),i[r]=p;for(var d=0;d=5,"Artplayer.js@".concat(r," is not compatible the artplayerPluginAds@").concat(o.version,". Please update it to version Artplayer.js@5.x.x"));var t,r,i,a=n.template.$player,s=n.icons,p=s.volume,d=s.volumeClose,u=s.fullscreenOn,c=s.fullscreenOff,f=s.loading,y=n.constructor,g=y.validator,m=y.utils,v=m.query,h=m.append,x=m.setStyle;e=g((0,l._)({html:"",video:"",url:"",playDuration:5,totalDuration:10,muted:!1,i18n:{close:"关闭广告",countdown:"%s秒",detail:"查看详情",canBeClosed:"%s秒后可关闭广告"}},e),{html:"?string",video:"?string",url:"?string",playDuration:"number",totalDuration:"number",muted:"?boolean",i18n:{close:"string",countdown:"string",detail:"string",canBeClosed:"string"}});var b=null,j=null,w=null,_=null,D=null,O=null,P=0,k=null,A=!1,I=!1,M=!1;function C(e,n){return n.replace("%s",e)}function L(){A=!0,n.play(),e.video&&b.pause(),x(n.template.$ads,"display","none"),n.emit("artplayerPluginAds:skip",e)}function T(){A||(k=setTimeout(function(){P+=1;var n=e.playDuration-P;n>=1?w.innerHTML=C(n,e.i18n.canBeClosed):(w.innerHTML=e.i18n.close,M||(M=!0)),_.innerHTML=C(e.totalDuration-P,e.i18n.countdown),P>=e.totalDuration?L():T()},1e3))}function F(){A||clearTimeout(k)}function U(){I||(I=!0,function(){n.template.$ads=h(a,'
'),b=h(n.template.$ads,e.video?''):'
'.concat(e.html,"
")),O=h(n.template.$ads,'
'),h(O,f),w=v(".artplayer-plugin-ads-close",j=h(n.template.$ads,'
\n
'.concat(e.playDuration<=0?e.i18n.close:C(e.playDuration,e.i18n.canBeClosed),'
\n
').concat(C(e.totalDuration,e.i18n.countdown),"
\n
"))),_=v(".artplayer-plugin-ads-countdown",j),e.playDuration>=e.totalDuration&&x(w,"display","none"),n.proxy(w,"click",function(){M&&L()});var t=v(".artplayer-plugin-ads-detail",D=h(n.template.$ads,'
\n
'.concat(e.i18n.detail,'
\n
\n
\n
'))),r=v(".artplayer-plugin-ads-muted",D),l=v(".artplayer-plugin-ads-fullscreen",D);if(e.url?n.proxy(t,"click",function(){window.open(e.url),n.emit("artplayerPluginAds:click",e)}):x(t,"display","none"),e.video){var i=h(r,p),o=h(r,d);x(o,"display","none"),e.muted&&(b.muted=!0,x(i,"display","none"),x(o,"display","inline-flex")),n.proxy(r,"click",function(){b.muted=!b.muted,b.muted?(x(i,"display","none"),x(o,"display","inline-flex")):(x(i,"display","inline-flex"),x(o,"display","none"))})}else x(r,"display","none");var s=h(l,u),y=h(l,c);x(y,"display","none"),n.proxy(l,"click",function(){n.fullscreen=!n.fullscreen,n.fullscreen?(x(s,"display","inline-flex"),x(y,"display","none")):(x(s,"display","none"),x(y,"display","inline-flex"))}),n.proxy(b,"click",function(){e.url&&window.open(e.url),n.emit("artplayerPluginAds:click",e)})}(),n.pause(),e.video?(n.proxy(b,"error",L),n.proxy(b,"loadedmetadata",function(){T(),b.play(),x(j,"display","flex"),x(D,"display","flex"),x(O,"display","none")})):(T(),x(j,"display","flex"),x(D,"display","flex"),x(O,"display","none")),n.proxy(document,"visibilitychange",function(){document.hidden?F():T()}))}return n.on("ready",function(){n.once("play",U),n.once("video:playing",U)}),{name:"artplayerPluginAds",skip:L,pause:F,play:T}}}if("undefined"!=typeof document&&!document.getElementById("artplayer-plugin-ads")){var s=document.createElement("style");s.id="artplayer-plugin-ads",s.textContent=a.default,document.head.appendChild(s)}"undefined"!=typeof window&&(window.artplayerPluginAds=o)},{"@swc/helpers/_/_object_spread":"9agdF","bundle-text:./style.less":"1LZhU","@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}],"9agdF":[function(e,n,t){var r=e("@parcel/transformer-js/src/esmodule-helpers.js");r.defineInteropFlag(t),r.export(t,"_object_spread",function(){return i}),r.export(t,"_",function(){return i});var l=e("./_define_property.js");function i(e){for(var n=1;ndiv{cursor:pointer;background-color:rgba(0,0,0,.5);border-radius:15px;align-items:center;margin-left:5px;padding:5px 10px;display:flex}.artplayer-plugin-ads .artplayer-plugin-ads-control{display:none;position:absolute;bottom:10px;right:10px}.artplayer-plugin-ads .artplayer-plugin-ads-control>div{cursor:pointer;background-color:rgba(0,0,0,.5);border-radius:15px;align-items:center;margin-left:5px;padding:5px 10px;display:flex}.artplayer-plugin-ads .artplayer-plugin-ads-control .art-icon svg{width:20px;height:20px}.artplayer-plugin-ads .artplayer-plugin-ads-loading{justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}"},{}]},["69VIU"],"69VIU","parcelRequire4dc0"); \ No newline at end of file + +/*! + * artplayer-plugin-ads.js v2.0.0 + * Github: https://github.com/zhw2590582/ArtPlayer + * (c) 2017-2024 Harvey Zack + * Released under the MIT License. + */ +!function(e,n,t,r,l){var i="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},a="function"==typeof i[r]&&i[r],o=a.cache||{},s="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function d(n,t){if(!o[n]){if(!e[n]){var l="function"==typeof i[r]&&i[r];if(!t&&l)return l(n,!0);if(a)return a(n,!0);if(s&&"string"==typeof n)return s(n);var p=Error("Cannot find module '"+n+"'");throw p.code="MODULE_NOT_FOUND",p}c.resolve=function(t){var r=e[n][1][t];return null!=r?r:t},c.cache={};var u=o[n]=new d.Module(n);e[n][0].call(u.exports,c,u,u.exports,this)}return o[n].exports;function c(e){var n=c.resolve(e);return!1===n?{}:d(n)}}d.isParcelRequire=!0,d.Module=function(e){this.id=e,this.bundle=d,this.exports={}},d.modules=e,d.cache=o,d.parent=a,d.register=function(n,t){e[n]=[function(e,n){n.exports=t},{}]},Object.defineProperty(d,"root",{get:function(){return i[r]}}),i[r]=d;for(var p=0;p=5,"Artplayer.js@".concat(r," is not compatible the artplayerPluginAds@").concat(o.version,". Please update it to version Artplayer.js@5.x.x"));var t,r,i,a=n.template.$player,s=n.icons,d=s.volume,p=s.volumeClose,u=s.fullscreenOn,c=s.fullscreenOff,f=s.loading,y=n.constructor,g=y.validator,m=y.utils,v=m.query,h=m.append,x=m.setStyle;e=g((0,l._)({html:"",video:"",url:"",playDuration:5,totalDuration:10,muted:!1,i18n:{close:"关闭广告",countdown:"%s秒",detail:"查看详情",canBeClosed:"%s秒后可关闭广告"}},e),{html:"?string",video:"?string",url:"?string",playDuration:"number",totalDuration:"number",muted:"?boolean",i18n:{close:"string",countdown:"string",detail:"string",canBeClosed:"string"}});var b=null,w=null,j=null,_=null,D=null,O=null,P=0,k=null,A=!1,I=!1,M=!1;function C(e,n){return n.replace("%s",e)}function L(){A=!0,n.play(),e.video&&b.pause(),x(n.template.$ads,"display","none"),n.emit("artplayerPluginAds:skip",e)}function T(){A||(k=setTimeout(function(){P+=1;var n=e.playDuration-P;n>=1?j.innerHTML=C(n,e.i18n.canBeClosed):(j.innerHTML=e.i18n.close,M||(M=!0)),_.innerHTML=C(e.totalDuration-P,e.i18n.countdown),P>=e.totalDuration?L():T()},1e3))}function F(){A||clearTimeout(k)}function U(){I||(I=!0,function(){n.template.$ads=h(a,'
'),b=h(n.template.$ads,e.video?''):'
'.concat(e.html,"
")),O=h(n.template.$ads,'
'),h(O,f),j=v(".artplayer-plugin-ads-close",w=h(n.template.$ads,'
\n
'.concat(e.playDuration<=0?e.i18n.close:C(e.playDuration,e.i18n.canBeClosed),'
\n
').concat(C(e.totalDuration,e.i18n.countdown),"
\n
"))),_=v(".artplayer-plugin-ads-countdown",w),e.playDuration>=e.totalDuration&&x(j,"display","none"),n.proxy(j,"click",function(){M&&L()});var t=v(".artplayer-plugin-ads-detail",D=h(n.template.$ads,'
\n
'.concat(e.i18n.detail,'
\n
\n
\n
'))),r=v(".artplayer-plugin-ads-muted",D),l=v(".artplayer-plugin-ads-fullscreen",D);if(e.url?n.proxy(t,"click",function(){window.open(e.url),n.emit("artplayerPluginAds:click",e)}):x(t,"display","none"),e.video){var i=h(r,d),o=h(r,p);x(o,"display","none"),e.muted&&(b.muted=!0,x(i,"display","none"),x(o,"display","inline-flex")),n.proxy(r,"click",function(){b.muted=!b.muted,b.muted?(x(i,"display","none"),x(o,"display","inline-flex")):(x(i,"display","inline-flex"),x(o,"display","none"))})}else x(r,"display","none");var s=h(l,u),y=h(l,c);x(y,"display","none"),n.proxy(l,"click",function(){n.fullscreen=!n.fullscreen,n.fullscreen?(x(s,"display","inline-flex"),x(y,"display","none")):(x(s,"display","none"),x(y,"display","inline-flex"))}),n.proxy(b,"click",function(){e.url&&window.open(e.url),n.emit("artplayerPluginAds:click",e)})}(),n.pause(),e.video?(n.proxy(b,"error",L),n.proxy(b,"loadedmetadata",function(){T(),b.play(),x(w,"display","flex"),x(D,"display","flex"),x(O,"display","none")})):(T(),x(w,"display","flex"),x(D,"display","flex"),x(O,"display","none")),n.proxy(document,"visibilitychange",function(){document.hidden?F():T()}))}return n.on("ready",function(){n.once("play",U),n.once("video:playing",U)}),{name:"artplayerPluginAds",skip:L,pause:F,play:T}}}if("undefined"!=typeof document&&!document.getElementById("artplayer-plugin-ads")){var s=document.createElement("style");s.id="artplayer-plugin-ads",s.textContent=a.default,document.head.appendChild(s)}"undefined"!=typeof window&&(window.artplayerPluginAds=o)},{"@swc/helpers/_/_object_spread":"9agdF","bundle-text:./style.less":"1LZhU","@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}],"9agdF":[function(e,n,t){var r=e("@parcel/transformer-js/src/esmodule-helpers.js");r.defineInteropFlag(t),r.export(t,"_",function(){return i});var l=e("./_define_property.js");function i(e){for(var n=1;ndiv{cursor:pointer;background-color:rgba(0,0,0,.5);border-radius:15px;align-items:center;margin-left:5px;padding:5px 10px;display:flex}.artplayer-plugin-ads .artplayer-plugin-ads-control{display:none;position:absolute;bottom:10px;right:10px}.artplayer-plugin-ads .artplayer-plugin-ads-control>div{cursor:pointer;background-color:rgba(0,0,0,.5);border-radius:15px;align-items:center;margin-left:5px;padding:5px 10px;display:flex}.artplayer-plugin-ads .artplayer-plugin-ads-control .art-icon svg{width:20px;height:20px}.artplayer-plugin-ads .artplayer-plugin-ads-loading{justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}"},{}]},["69VIU"],"69VIU","parcelRequire4dc0"); \ No newline at end of file diff --git a/compiled/artplayer-plugin-chromecast.js b/compiled/artplayer-plugin-chromecast.js index 2fc5a1eda..336a01990 100644 --- a/compiled/artplayer-plugin-chromecast.js +++ b/compiled/artplayer-plugin-chromecast.js @@ -1 +1,8 @@ -/*! * artplayer-plugin-chromecast.js v2.0.0 * Github:https://github.com/zhw2590582/ArtPlayer * (c) 2017-2024 Harvey Zack * Released under the MIT License. */ !function(e,o,t,n,i){var r="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},c="function"==typeof r[n]&&r[n],a=c.cache||{},s="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function d(o,t){if(!a[o]){if(!e[o]){var i="function"==typeof r[n]&&r[n];if(!t&&i)return i(o,!0);if(c)return c(o,!0);if(s&&"string"==typeof o)return s(o);var l=Error("Cannot find module '"+o+"'");throw l.code="MODULE_NOT_FOUND",l}f.resolve=function(t){var n=e[o][1][t];return null!=n?n:t},f.cache={};var u=a[o]=new d.Module(o);e[o][0].call(u.exports,f,u,u.exports,this)}return a[o].exports;function f(e){var o=f.resolve(e);return!1===o?{}:d(o)}}d.isParcelRequire=!0,d.Module=function(e){this.id=e,this.bundle=d,this.exports={}},d.modules=e,d.cache=a,d.parent=c,d.register=function(o,t){e[o]=[function(e,o){o.exports=t},{}]},Object.defineProperty(d,"root",{get:function(){return r[n]}}),r[n]=d;for(var l=0;l{if(!window.chrome||!window.chrome.cast){var t;await (t=e.sdk||"https://www.gstatic.com/cv/js/sender/v1/cast_sender.js?loadCastFramework=1",new Promise((e,o)=>{let n=document.createElement("script");n.src=t,n.onload=e,n.onerror=o,document.body.appendChild(n)}))}function n(t){let n=e.url||o.option.url,i=e.mimeType||({mp4:"video/mp4",webm:"video/webm",ogg:"video/ogg",ogv:"video/ogg",mp3:"audio/mp3",wav:"audio/wav",flv:"video/x-flv",mov:"video/quicktime",avi:"video/x-msvideo",wmv:"video/x-ms-wmv",mpd:"application/dash+xml",m3u8:"application/x-mpegURL"})[n.split("?")[0].split("#")[0].split(".").pop().toLowerCase()]||"application/octet-stream",r=new window.chrome.cast.media.MediaInfo(n,i),c=new window.chrome.cast.media.LoadRequest(r);t.loadMedia(c).then(function(){console.log("Media loaded successfully")},function(e){o.notice.show="Error casting media",console.log("Error casting media",e)})}return o.controls.add({name:"chromecast",position:"right",tooltip:"Chromecast",html:`${e.icon||''}`,click(){let e=window.cast.framework.CastContext.getInstance().getCurrentSession();e?n(e):window.cast.framework.CastContext.getInstance().requestSession().then(function(e){n(e)},function(e){o.notice.show="Error connecting to cast session",console.log("Error connecting to cast session",e)})}}),{name:"artplayerPluginChromecast"}}}n.defineInteropFlag(t),n.export(t,"default",()=>i),"undefined"!=typeof window&&(window.artplayerPluginChromecast=i)},{"@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"9pCYc":[function(e,o,t){t.interopDefault=function(e){return e&&e.__esModule?e:{default:e}},t.defineInteropFlag=function(e){Object.defineProperty(e,"__esModule",{value:!0})},t.exportAll=function(e,o){return Object.keys(e).forEach(function(t){"default"===t||"__esModule"===t||Object.prototype.hasOwnProperty.call(o,t)||Object.defineProperty(o,t,{enumerable:!0,get:function(){return e[t]}})}),o},t.export=function(e,o,t){Object.defineProperty(e,o,{enumerable:!0,get:t})}},{}]},["3wl5Y"],"3wl5Y","parcelRequire4dc0"); \ No newline at end of file + +/*! + * artplayer-plugin-chromecast.js v1.0.0 + * Github: https://github.com/zhw2590582/ArtPlayer + * (c) 2017-2024 Harvey Zack + * Released under the MIT License. + */ +!function(e,o,t,n,i){var r="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},c="function"==typeof r[n]&&r[n],a=c.cache||{},s="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function d(o,t){if(!a[o]){if(!e[o]){var i="function"==typeof r[n]&&r[n];if(!t&&i)return i(o,!0);if(c)return c(o,!0);if(s&&"string"==typeof o)return s(o);var l=Error("Cannot find module '"+o+"'");throw l.code="MODULE_NOT_FOUND",l}f.resolve=function(t){var n=e[o][1][t];return null!=n?n:t},f.cache={};var u=a[o]=new d.Module(o);e[o][0].call(u.exports,f,u,u.exports,this)}return a[o].exports;function f(e){var o=f.resolve(e);return!1===o?{}:d(o)}}d.isParcelRequire=!0,d.Module=function(e){this.id=e,this.bundle=d,this.exports={}},d.modules=e,d.cache=a,d.parent=c,d.register=function(o,t){e[o]=[function(e,o){o.exports=t},{}]},Object.defineProperty(d,"root",{get:function(){return r[n]}}),r[n]=d;for(var l=0;l{if(!window.chrome||!window.chrome.cast){var t;await (t=e.sdk||"https://www.gstatic.com/cv/js/sender/v1/cast_sender.js?loadCastFramework=1",new Promise((e,o)=>{let n=document.createElement("script");n.src=t,n.onload=e,n.onerror=o,document.body.appendChild(n)}))}function n(t){let n=e.url||o.option.url,i=e.mimeType||({mp4:"video/mp4",webm:"video/webm",ogg:"video/ogg",ogv:"video/ogg",mp3:"audio/mp3",wav:"audio/wav",flv:"video/x-flv",mov:"video/quicktime",avi:"video/x-msvideo",wmv:"video/x-ms-wmv",mpd:"application/dash+xml",m3u8:"application/x-mpegURL"})[n.split("?")[0].split("#")[0].split(".").pop().toLowerCase()]||"application/octet-stream",r=new window.chrome.cast.media.MediaInfo(n,i),c=new window.chrome.cast.media.LoadRequest(r);t.loadMedia(c).then(function(){console.log("Media loaded successfully")},function(e){o.notice.show="Error casting media",console.log("Error casting media",e)})}return o.controls.add({name:"chromecast",position:"right",tooltip:"Chromecast",html:`${e.icon||''}`,click(){let e=window.cast.framework.CastContext.getInstance().getCurrentSession();e?n(e):window.cast.framework.CastContext.getInstance().requestSession().then(function(e){n(e)},function(e){o.notice.show="Error connecting to cast session",console.log("Error connecting to cast session",e)})}}),{name:"artplayerPluginChromecast"}}}n.defineInteropFlag(t),n.export(t,"default",()=>i),"undefined"!=typeof window&&(window.artplayerPluginChromecast=i)},{"@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"9pCYc":[function(e,o,t){t.interopDefault=function(e){return e&&e.__esModule?e:{default:e}},t.defineInteropFlag=function(e){Object.defineProperty(e,"__esModule",{value:!0})},t.exportAll=function(e,o){return Object.keys(e).forEach(function(t){"default"===t||"__esModule"===t||Object.prototype.hasOwnProperty.call(o,t)||Object.defineProperty(o,t,{enumerable:!0,get:function(){return e[t]}})}),o},t.export=function(e,o,t){Object.defineProperty(e,o,{enumerable:!0,get:t})}},{}]},["3wl5Y"],"3wl5Y","parcelRequire4dc0"); \ No newline at end of file diff --git a/compiled/artplayer-plugin-chromecast.legacy.js b/compiled/artplayer-plugin-chromecast.legacy.js index 0297db39b..c09b435b9 100644 --- a/compiled/artplayer-plugin-chromecast.legacy.js +++ b/compiled/artplayer-plugin-chromecast.legacy.js @@ -1 +1,8 @@ -/*! * artplayer-plugin-chromecast.js v2.0.0 * Github:https://github.com/zhw2590582/ArtPlayer * (c) 2017-2024 Harvey Zack * Released under the MIT License. */ !function(e,t,r,n,o){var i="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},a="function"==typeof i[n]&&i[n],c=a.cache||{},u="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function s(t,r){if(!c[t]){if(!e[t]){var o="function"==typeof i[n]&&i[n];if(!r&&o)return o(t,!0);if(a)return a(t,!0);if(u&&"string"==typeof t)return u(t);var f=Error("Cannot find module '"+t+"'");throw f.code="MODULE_NOT_FOUND",f}p.resolve=function(r){var n=e[t][1][r];return null!=n?n:r},p.cache={};var l=c[t]=new s.Module(t);e[t][0].call(l.exports,p,l,l.exports,this)}return c[t].exports;function p(e){var t=p.resolve(e);return!1===t?{}:s(t)}}s.isParcelRequire=!0,s.Module=function(e){this.id=e,this.bundle=s,this.exports={}},s.modules=e,s.cache=c,s.parent=a,s.register=function(t,r){e[t]=[function(e,t){t.exports=r},{}]},Object.defineProperty(s,"root",{get:function(){return i[n]}}),i[n]=s;for(var f=0;f'.concat(e.icon||'',""),click:function(){var e=window.cast.framework.CastContext.getInstance().getCurrentSession();e?r(e):window.cast.framework.CastContext.getInstance().requestSession().then(function(e){r(e)},function(e){t.notice.show="Error connecting to cast session",console.log("Error connecting to cast session",e)})}}),[2,{name:"artplayerPluginChromecast"}]}})}),function(e){return t.apply(this,arguments)}}"undefined"!=typeof window&&(window.artplayerPluginChromecast=a)},{"@swc/helpers/_/_async_to_generator":"eONSn","@swc/helpers/_/_ts_generator":"6Xyd0","@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}],eONSn:[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");function o(e,t,r,n,o,i,a){try{var c=e[i](a),u=c.value}catch(e){r(e);return}c.done?t(u):Promise.resolve(u).then(n,o)}function i(e){return function(){var t=this,r=arguments;return new Promise(function(n,i){var a=e.apply(t,r);function c(e){o(a,n,i,c,u,"next",e)}function u(e){o(a,n,i,c,u,"throw",e)}c(void 0)})}}n.defineInteropFlag(r),n.export(r,"_async_to_generator",function(){return i}),n.export(r,"_",function(){return i})},{"@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}],iWrD0:[function(e,t,r){r.interopDefault=function(e){return e&&e.__esModule?e:{default:e}},r.defineInteropFlag=function(e){Object.defineProperty(e,"__esModule",{value:!0})},r.exportAll=function(e,t){return Object.keys(e).forEach(function(r){"default"===r||"__esModule"===r||Object.prototype.hasOwnProperty.call(t,r)||Object.defineProperty(t,r,{enumerable:!0,get:function(){return e[r]}})}),t},r.export=function(e,t,r){Object.defineProperty(e,t,{enumerable:!0,get:r})}},{}],"6Xyd0":[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(r),n.export(r,"_",function(){return o.__generator}),n.export(r,"_ts_generator",function(){return o.__generator});var o=e("tslib")},{tslib:"c0d7h","@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}],c0d7h:[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(r),n.export(r,"__extends",function(){return a}),n.export(r,"__assign",function(){return c}),n.export(r,"__rest",function(){return u}),n.export(r,"__decorate",function(){return s}),n.export(r,"__param",function(){return f}),n.export(r,"__esDecorate",function(){return l}),n.export(r,"__runInitializers",function(){return p}),n.export(r,"__propKey",function(){return d}),n.export(r,"__setFunctionName",function(){return y}),n.export(r,"__metadata",function(){return _}),n.export(r,"__awaiter",function(){return h}),n.export(r,"__generator",function(){return m}),n.export(r,"__createBinding",function(){return v}),n.export(r,"__exportStar",function(){return w}),n.export(r,"__values",function(){return b}),n.export(r,"__read",function(){return g}),n.export(r,"__spread",function(){return x}),n.export(r,"__spreadArrays",function(){return j}),n.export(r,"__spreadArray",function(){return O}),n.export(r,"__await",function(){return P}),n.export(r,"__asyncGenerator",function(){return S}),n.export(r,"__asyncDelegator",function(){return E}),n.export(r,"__asyncValues",function(){return I}),n.export(r,"__makeTemplateObject",function(){return D}),n.export(r,"__importStar",function(){return C}),n.export(r,"__importDefault",function(){return k}),n.export(r,"__classPrivateFieldGet",function(){return A}),n.export(r,"__classPrivateFieldSet",function(){return F}),n.export(r,"__classPrivateFieldIn",function(){return R}),n.export(r,"__addDisposableResource",function(){return M}),n.export(r,"__disposeResources",function(){return z});var o=e("@swc/helpers/_/_type_of"),i=function(e,t){return(i=Object.setPrototypeOf||({__proto__:[]})instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(e,t)};function a(e,t){if("function"!=typeof t&&null!==t)throw TypeError("Class extends value "+String(t)+" is not a constructor or null");function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}var c=function(){return(c=Object.assign||function(e){for(var t,r=1,n=arguments.length;rt.indexOf(n)&&(r[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,n=Object.getOwnPropertySymbols(e);ot.indexOf(n[o])&&Object.prototype.propertyIsEnumerable.call(e,n[o])&&(r[n[o]]=e[n[o]]);return r}function s(e,t,r,n){var o,i=arguments.length,a=i<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,n);else for(var c=e.length-1;c>=0;c--)(o=e[c])&&(a=(i<3?o(a):i>3?o(t,r,a):o(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a}function f(e,t){return function(r,n){t(r,n,e)}}function l(e,t,r,n,o,i){function a(e){if(void 0!==e&&"function"!=typeof e)throw TypeError("Function expected");return e}for(var c,u=n.kind,s="getter"===u?"get":"setter"===u?"set":"value",f=!t&&e?n.static?e:e.prototype:null,l=t||(f?Object.getOwnPropertyDescriptor(f,n.name):{}),p=!1,d=r.length-1;d>=0;d--){var y={};for(var _ in n)y[_]="access"===_?{}:n[_];for(var _ in n.access)y.access[_]=n.access[_];y.addInitializer=function(e){if(p)throw TypeError("Cannot add initializers after decoration has completed");i.push(a(e||null))};var h=(0,r[d])("accessor"===u?{get:l.get,set:l.set}:l[s],y);if("accessor"===u){if(void 0===h)continue;if(null===h||"object"!=typeof h)throw TypeError("Object expected");(c=a(h.get))&&(l.get=c),(c=a(h.set))&&(l.set=c),(c=a(h.init))&&o.unshift(c)}else(c=a(h))&&("field"===u?o.unshift(c):l[s]=c)}f&&Object.defineProperty(f,n.name,l),p=!0}function p(e,t,r){for(var n=arguments.length>2,o=0;o0&&o[o.length-1])&&(6===c[0]||2===c[0])){a=0;continue}if(3===c[0]&&(!o||c[1]>o[0]&&c[1]=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function g(e,t){var r="function"==typeof Symbol&&e[Symbol.iterator];if(!r)return e;var n,o,i=r.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(n=i.next()).done;)a.push(n.value)}catch(e){o={error:e}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return a}function x(){for(var e=[],t=0;t1||c(e,t)})})}function c(e,t){try{var r;(r=o[e](t)).value instanceof P?Promise.resolve(r.value.v).then(u,s):f(i[0][2],r)}catch(e){f(i[0][3],e)}}function u(e){c("next",e)}function s(e){c("throw",e)}function f(e,t){e(t),i.shift(),i.length&&c(i[0][0],i[0][1])}}function E(e){var t,r;return t={},n("next"),n("throw",function(e){throw e}),n("return"),t[Symbol.iterator]=function(){return this},t;function n(n,o){t[n]=e[n]?function(t){return(r=!r)?{value:P(e[n](t)),done:!1}:o?o(t):t}:o}}function I(e){if(!Symbol.asyncIterator)throw TypeError("Symbol.asyncIterator is not defined.");var t,r=e[Symbol.asyncIterator];return r?r.call(e):(e=b(e),t={},n("next"),n("throw"),n("return"),t[Symbol.asyncIterator]=function(){return this},t);function n(r){t[r]=e[r]&&function(t){return new Promise(function(n,o){!function(e,t,r,n){Promise.resolve(n).then(function(t){e({value:t,done:r})},t)}(n,o,(t=e[r](t)).done,t.value)})}}}function D(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e}var T=Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t};function C(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&v(t,e,r);return T(t,e),t}function k(e){return e&&e.__esModule?e:{default:e}}function A(e,t,r,n){if("a"===r&&!n)throw TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!n:!t.has(e))throw TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?n:"a"===r?n.call(e):n?n.value:t.get(e)}function F(e,t,r,n,o){if("m"===n)throw TypeError("Private method is not writable");if("a"===n&&!o)throw TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!o:!t.has(e))throw TypeError("Cannot write private member to an object whose class did not declare it");return"a"===n?o.call(e,r):o?o.value=r:t.set(e,r),r}function R(e,t){if(null===t||"object"!=typeof t&&"function"!=typeof t)throw TypeError("Cannot use 'in' operator on non-object");return"function"==typeof e?t===e:e.has(t)}function M(e,t,r){if(null!=t){var n;if("object"!=typeof t&&"function"!=typeof t)throw TypeError("Object expected.");if(r){if(!Symbol.asyncDispose)throw TypeError("Symbol.asyncDispose is not defined.");n=t[Symbol.asyncDispose]}if(void 0===n){if(!Symbol.dispose)throw TypeError("Symbol.dispose is not defined.");n=t[Symbol.dispose]}if("function"!=typeof n)throw TypeError("Object not disposable.");e.stack.push({value:t,dispose:n,async:r})}else r&&e.stack.push({async:!0});return t}var q="function"==typeof SuppressedError?SuppressedError:function(e,t,r){var n=Error(r);return n.name="SuppressedError",n.error=e,n.suppressed=t,n};function z(e){function t(t){e.error=e.hasError?new q(t,e.error,"An error was suppressed during disposal."):t,e.hasError=!0}return function r(){for(;e.stack.length;){var n=e.stack.pop();try{var o=n.dispose&&n.dispose.call(n.value);if(n.async)return Promise.resolve(o).then(r,function(e){return t(e),r()})}catch(e){t(e)}}if(e.hasError)throw e.error}()}r.default={__extends:a,__assign:c,__rest:u,__decorate:s,__param:f,__metadata:_,__awaiter:h,__generator:m,__createBinding:v,__exportStar:w,__values:b,__read:g,__spread:x,__spreadArrays:j,__spreadArray:O,__await:P,__asyncGenerator:S,__asyncDelegator:E,__asyncValues:I,__makeTemplateObject:D,__importStar:C,__importDefault:k,__classPrivateFieldGet:A,__classPrivateFieldSet:F,__classPrivateFieldIn:R,__addDisposableResource:M,__disposeResources:z}},{"@swc/helpers/_/_type_of":"felZi","@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}],felZi:[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");function o(e){return e&&"undefined"!=typeof Symbol&&e.constructor===Symbol?"symbol":typeof e}n.defineInteropFlag(r),n.export(r,"_type_of",function(){return o}),n.export(r,"_",function(){return o})},{"@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}]},["ipx5S"],"ipx5S","parcelRequire4dc0"); \ No newline at end of file + +/*! + * artplayer-plugin-chromecast.js v1.0.0 + * Github: https://github.com/zhw2590582/ArtPlayer + * (c) 2017-2024 Harvey Zack + * Released under the MIT License. + */ +!function(e,t,r,n,o){var i="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},c="function"==typeof i[n]&&i[n],a=c.cache||{},u="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function s(t,r){if(!a[t]){if(!e[t]){var o="function"==typeof i[n]&&i[n];if(!r&&o)return o(t,!0);if(c)return c(t,!0);if(u&&"string"==typeof t)return u(t);var f=Error("Cannot find module '"+t+"'");throw f.code="MODULE_NOT_FOUND",f}p.resolve=function(r){var n=e[t][1][r];return null!=n?n:r},p.cache={};var l=a[t]=new s.Module(t);e[t][0].call(l.exports,p,l,l.exports,this)}return a[t].exports;function p(e){var t=p.resolve(e);return!1===t?{}:s(t)}}s.isParcelRequire=!0,s.Module=function(e){this.id=e,this.bundle=s,this.exports={}},s.modules=e,s.cache=a,s.parent=c,s.register=function(t,r){e[t]=[function(e,t){t.exports=r},{}]},Object.defineProperty(s,"root",{get:function(){return i[n]}}),i[n]=s;for(var f=0;f'.concat(e.icon||'',""),click:function(){var e=window.cast.framework.CastContext.getInstance().getCurrentSession();e?r(e):window.cast.framework.CastContext.getInstance().requestSession().then(function(e){r(e)},function(e){t.notice.show="Error connecting to cast session",console.log("Error connecting to cast session",e)})}}),[2,{name:"artplayerPluginChromecast"}]}})}),function(e){return t.apply(this,arguments)}}"undefined"!=typeof window&&(window.artplayerPluginChromecast=c)},{"@swc/helpers/_/_async_to_generator":"eONSn","@swc/helpers/_/_ts_generator":"6Xyd0","@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}],eONSn:[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");function o(e,t,r,n,o,i,c){try{var a=e[i](c),u=a.value}catch(e){r(e);return}a.done?t(u):Promise.resolve(u).then(n,o)}function i(e){return function(){var t=this,r=arguments;return new Promise(function(n,i){var c=e.apply(t,r);function a(e){o(c,n,i,a,u,"next",e)}function u(e){o(c,n,i,a,u,"throw",e)}a(void 0)})}}n.defineInteropFlag(r),n.export(r,"_",function(){return i})},{"@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}],iWrD0:[function(e,t,r){r.interopDefault=function(e){return e&&e.__esModule?e:{default:e}},r.defineInteropFlag=function(e){Object.defineProperty(e,"__esModule",{value:!0})},r.exportAll=function(e,t){return Object.keys(e).forEach(function(r){"default"===r||"__esModule"===r||Object.prototype.hasOwnProperty.call(t,r)||Object.defineProperty(t,r,{enumerable:!0,get:function(){return e[r]}})}),t},r.export=function(e,t,r){Object.defineProperty(e,t,{enumerable:!0,get:r})}},{}],"6Xyd0":[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(r),n.export(r,"_",function(){return o.__generator});var o=e("tslib")},{tslib:"c0d7h","@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}],c0d7h:[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(r),n.export(r,"__extends",function(){return c}),n.export(r,"__assign",function(){return a}),n.export(r,"__rest",function(){return u}),n.export(r,"__decorate",function(){return s}),n.export(r,"__param",function(){return f}),n.export(r,"__esDecorate",function(){return l}),n.export(r,"__runInitializers",function(){return p}),n.export(r,"__propKey",function(){return d}),n.export(r,"__setFunctionName",function(){return y}),n.export(r,"__metadata",function(){return _}),n.export(r,"__awaiter",function(){return h}),n.export(r,"__generator",function(){return m}),n.export(r,"__createBinding",function(){return v}),n.export(r,"__exportStar",function(){return w}),n.export(r,"__values",function(){return b}),n.export(r,"__read",function(){return g}),n.export(r,"__spread",function(){return x}),n.export(r,"__spreadArrays",function(){return j}),n.export(r,"__spreadArray",function(){return O}),n.export(r,"__await",function(){return P}),n.export(r,"__asyncGenerator",function(){return S}),n.export(r,"__asyncDelegator",function(){return E}),n.export(r,"__asyncValues",function(){return I}),n.export(r,"__makeTemplateObject",function(){return D}),n.export(r,"__importStar",function(){return C}),n.export(r,"__importDefault",function(){return k}),n.export(r,"__classPrivateFieldGet",function(){return A}),n.export(r,"__classPrivateFieldSet",function(){return F}),n.export(r,"__classPrivateFieldIn",function(){return R}),n.export(r,"__addDisposableResource",function(){return M}),n.export(r,"__disposeResources",function(){return z});var o=e("@swc/helpers/_/_type_of"),i=function(e,t){return(i=Object.setPrototypeOf||({__proto__:[]})instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(e,t)};function c(e,t){if("function"!=typeof t&&null!==t)throw TypeError("Class extends value "+String(t)+" is not a constructor or null");function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}var a=function(){return(a=Object.assign||function(e){for(var t,r=1,n=arguments.length;rt.indexOf(n)&&(r[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,n=Object.getOwnPropertySymbols(e);ot.indexOf(n[o])&&Object.prototype.propertyIsEnumerable.call(e,n[o])&&(r[n[o]]=e[n[o]]);return r}function s(e,t,r,n){var o,i=arguments.length,c=i<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)c=Reflect.decorate(e,t,r,n);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(c=(i<3?o(c):i>3?o(t,r,c):o(t,r))||c);return i>3&&c&&Object.defineProperty(t,r,c),c}function f(e,t){return function(r,n){t(r,n,e)}}function l(e,t,r,n,o,i){function c(e){if(void 0!==e&&"function"!=typeof e)throw TypeError("Function expected");return e}for(var a,u=n.kind,s="getter"===u?"get":"setter"===u?"set":"value",f=!t&&e?n.static?e:e.prototype:null,l=t||(f?Object.getOwnPropertyDescriptor(f,n.name):{}),p=!1,d=r.length-1;d>=0;d--){var y={};for(var _ in n)y[_]="access"===_?{}:n[_];for(var _ in n.access)y.access[_]=n.access[_];y.addInitializer=function(e){if(p)throw TypeError("Cannot add initializers after decoration has completed");i.push(c(e||null))};var h=(0,r[d])("accessor"===u?{get:l.get,set:l.set}:l[s],y);if("accessor"===u){if(void 0===h)continue;if(null===h||"object"!=typeof h)throw TypeError("Object expected");(a=c(h.get))&&(l.get=a),(a=c(h.set))&&(l.set=a),(a=c(h.init))&&o.unshift(a)}else(a=c(h))&&("field"===u?o.unshift(a):l[s]=a)}f&&Object.defineProperty(f,n.name,l),p=!0}function p(e,t,r){for(var n=arguments.length>2,o=0;o0&&o[o.length-1])&&(6===a[0]||2===a[0])){c=0;continue}if(3===a[0]&&(!o||a[1]>o[0]&&a[1]=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function g(e,t){var r="function"==typeof Symbol&&e[Symbol.iterator];if(!r)return e;var n,o,i=r.call(e),c=[];try{for(;(void 0===t||t-- >0)&&!(n=i.next()).done;)c.push(n.value)}catch(e){o={error:e}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return c}function x(){for(var e=[],t=0;t1||a(e,t)})},t&&(n[e]=t(n[e])))}function a(e,t){try{var r;(r=o[e](t)).value instanceof P?Promise.resolve(r.value.v).then(u,s):f(i[0][2],r)}catch(e){f(i[0][3],e)}}function u(e){a("next",e)}function s(e){a("throw",e)}function f(e,t){e(t),i.shift(),i.length&&a(i[0][0],i[0][1])}}function E(e){var t,r;return t={},n("next"),n("throw",function(e){throw e}),n("return"),t[Symbol.iterator]=function(){return this},t;function n(n,o){t[n]=e[n]?function(t){return(r=!r)?{value:P(e[n](t)),done:!1}:o?o(t):t}:o}}function I(e){if(!Symbol.asyncIterator)throw TypeError("Symbol.asyncIterator is not defined.");var t,r=e[Symbol.asyncIterator];return r?r.call(e):(e=b(e),t={},n("next"),n("throw"),n("return"),t[Symbol.asyncIterator]=function(){return this},t);function n(r){t[r]=e[r]&&function(t){return new Promise(function(n,o){!function(e,t,r,n){Promise.resolve(n).then(function(t){e({value:t,done:r})},t)}(n,o,(t=e[r](t)).done,t.value)})}}}function D(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e}var T=Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t};function C(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&v(t,e,r);return T(t,e),t}function k(e){return e&&e.__esModule?e:{default:e}}function A(e,t,r,n){if("a"===r&&!n)throw TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!n:!t.has(e))throw TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?n:"a"===r?n.call(e):n?n.value:t.get(e)}function F(e,t,r,n,o){if("m"===n)throw TypeError("Private method is not writable");if("a"===n&&!o)throw TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!o:!t.has(e))throw TypeError("Cannot write private member to an object whose class did not declare it");return"a"===n?o.call(e,r):o?o.value=r:t.set(e,r),r}function R(e,t){if(null===t||"object"!=typeof t&&"function"!=typeof t)throw TypeError("Cannot use 'in' operator on non-object");return"function"==typeof e?t===e:e.has(t)}function M(e,t,r){if(null!=t){var n,o;if("object"!=typeof t&&"function"!=typeof t)throw TypeError("Object expected.");if(r){if(!Symbol.asyncDispose)throw TypeError("Symbol.asyncDispose is not defined.");n=t[Symbol.asyncDispose]}if(void 0===n){if(!Symbol.dispose)throw TypeError("Symbol.dispose is not defined.");n=t[Symbol.dispose],r&&(o=n)}if("function"!=typeof n)throw TypeError("Object not disposable.");o&&(n=function(){try{o.call(this)}catch(e){return Promise.reject(e)}}),e.stack.push({value:t,dispose:n,async:r})}else r&&e.stack.push({async:!0});return t}var q="function"==typeof SuppressedError?SuppressedError:function(e,t,r){var n=Error(r);return n.name="SuppressedError",n.error=e,n.suppressed=t,n};function z(e){function t(t){e.error=e.hasError?new q(t,e.error,"An error was suppressed during disposal."):t,e.hasError=!0}return function r(){for(;e.stack.length;){var n=e.stack.pop();try{var o=n.dispose&&n.dispose.call(n.value);if(n.async)return Promise.resolve(o).then(r,function(e){return t(e),r()})}catch(e){t(e)}}if(e.hasError)throw e.error}()}r.default={__extends:c,__assign:a,__rest:u,__decorate:s,__param:f,__metadata:_,__awaiter:h,__generator:m,__createBinding:v,__exportStar:w,__values:b,__read:g,__spread:x,__spreadArrays:j,__spreadArray:O,__await:P,__asyncGenerator:S,__asyncDelegator:E,__asyncValues:I,__makeTemplateObject:D,__importStar:C,__importDefault:k,__classPrivateFieldGet:A,__classPrivateFieldSet:F,__classPrivateFieldIn:R,__addDisposableResource:M,__disposeResources:z}},{"@swc/helpers/_/_type_of":"felZi","@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}],felZi:[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");function o(e){return e&&"undefined"!=typeof Symbol&&e.constructor===Symbol?"symbol":typeof e}n.defineInteropFlag(r),n.export(r,"_",function(){return o})},{"@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}]},["ipx5S"],"ipx5S","parcelRequire4dc0"); \ No newline at end of file diff --git a/compiled/artplayer-plugin-danmuku.js b/compiled/artplayer-plugin-danmuku.js index d22d88652..5699eeec5 100644 --- a/compiled/artplayer-plugin-danmuku.js +++ b/compiled/artplayer-plugin-danmuku.js @@ -5,4 +5,4 @@ * (c) 2017-2024 Harvey Zack * Released under the MIT License. */ -!function(e,t,i,a,n){var o="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},s="function"==typeof o[a]&&o[a],l=s.cache||{},r="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function d(t,i){if(!l[t]){if(!e[t]){var n="function"==typeof o[a]&&o[a];if(!i&&n)return n(t,!0);if(s)return s(t,!0);if(r&&"string"==typeof t)return r(t);var p=Error("Cannot find module '"+t+"'");throw p.code="MODULE_NOT_FOUND",p}h.resolve=function(i){var a=e[t][1][i];return null!=a?a:i},h.cache={};var u=l[t]=new d.Module(t);e[t][0].call(u.exports,h,u,u.exports,this)}return l[t].exports;function h(e){var t=h.resolve(e);return!1===t?{}:d(t)}}d.isParcelRequire=!0,d.Module=function(e){this.id=e,this.bundle=d,this.exports={}},d.modules=e,d.cache=l,d.parent=s,d.register=function(t,i){e[t]=[function(e,t){t.exports=i},{}]},Object.defineProperty(d,"root",{get:function(){return o[a]}}),o[a]=d;for(var p=0;pp);var n=e("./danmuku"),o=a.interopDefault(n),s=e("./setting"),l=a.interopDefault(s),r=e("./heatmap"),d=a.interopDefault(r);function p(e){return t=>{let i=new o.default(t,e),a=new l.default(t,i);return i.option.heatmap&&(0,d.default)(t,i,i.option.heatmap),{name:"artplayerPluginDanmuku",emit:i.emit.bind(i),load:i.load.bind(i),config:i.config.bind(i),hide:i.hide.bind(i),show:i.show.bind(i),reset:i.reset.bind(i),mount:a.mount.bind(a),get option(){return i.option},get isHide(){return i.isHide},get isStop(){return i.isStop}}}}p.icons=l.default.icons,"undefined"!=typeof window&&(window.artplayerPluginDanmuku=p)},{"./danmuku":"4ns48","./setting":"lO8OT","./heatmap":"8AxLD","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"4ns48":[function(e,t,i){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(i);var n=e("./bilibili"),o=e("bundle-text:./worker"),s=a.interopDefault(o);class l{constructor(e,t){let{constructor:i,template:a}=e;this.utils=i.utils,this.validator=i.validator,this.$danmuku=a.$danmuku,this.$player=a.$player,this.art=e,this.queue=[],this.$refs=[],this.isStop=!1,this.isHide=!1,this.timer=null,this.index=0,this.option=l.option,this.states={wait:[],ready:[],emit:[],stop:[]},this.config(t),this.worker=new Worker(URL.createObjectURL(new Blob([s.default]))),this.start=this.start.bind(this),this.stop=this.stop.bind(this),this.reset=this.reset.bind(this),this.resize=this.resize.bind(this),this.destroy=this.destroy.bind(this),e.on("video:play",this.start),e.on("video:playing",this.start),e.on("video:pause",this.stop),e.on("video:waiting",this.stop),e.on("destroy",this.destroy),e.on("resize",this.resize),this.load()}static get option(){return{danmuku:[],speed:5,margin:[10,"25%"],opacity:1,color:"#FFFFFF",mode:0,modes:[0,1,2],fontSize:25,antiOverlap:!0,synchronousPlayback:!1,mount:void 0,heatmap:!1,width:512,points:[],filter:()=>!0,beforeEmit:()=>!0,beforeVisible:()=>!0,visible:!0,emitter:!0,maxLength:200,lockTime:5,theme:"dark",OPACITY:{},FONT_SIZE:{},MARGIN:{},SPEED:{},COLOR:[]}}static get scheme(){return{danmuku:"array|function|string",speed:"number",margin:"array",opacity:"number",color:"string",mode:"number",modes:"array",fontSize:"number|string",antiOverlap:"boolean",synchronousPlayback:"boolean",mount:"?htmldivelement|string",heatmap:"object|boolean",width:"number",points:"array",filter:"function",beforeEmit:"function",beforeVisible:"function",visible:"boolean",emitter:"boolean",maxLength:"number",lockTime:"number",theme:"string",OPACITY:"object",FONT_SIZE:"object",MARGIN:"object",SPEED:"object",COLOR:"array"}}static get cssText(){return` user-select: none; position: absolute; white-space: pre; pointer-events: none; perspective: 500px; display: inline-block; will-change: transform; font-weight: normal; line-height: 1.125; visibility: hidden; font-family: SimHei, "Microsoft JhengHei", Arial, Helvetica, sans-serif; text-shadow: rgb(0, 0, 0) 1px 0px 1px, rgb(0, 0, 0) 0px 1px 1px, rgb(0, 0, 0) 0px -1px 1px, rgb(0, 0, 0) -1px 0px 1px; `}get isRotate(){return this.art.plugins?.autoOrientation?.state}get marginTop(){let{clamp:e}=this.utils,t=this.option.margin[0],{clientHeight:i}=this.$player;return"number"==typeof t?e(t,0,i):"string"==typeof t&&t.endsWith("%")?e(i*(parseFloat(t)/100),0,i):l.option.margin[0]}get marginBottom(){let{clamp:e}=this.utils,t=this.option.margin[1],{clientHeight:i}=this.$player;return"number"==typeof t?e(t,0,i):"string"==typeof t&&t.endsWith("%")?e(i*(parseFloat(t)/100),0,i):l.option.margin[1]}get fontSize(){let{clamp:e}=this.utils,{clientHeight:t}=this.$player,i=this.option.fontSize;return"number"==typeof i?Math.round(e(i,12,t)):"string"==typeof i&&i.endsWith("%")?Math.round(e(t*(parseFloat(i)/100),12,t)):l.option.fontSize}get $ref(){let e=this.$refs.pop()||document.createElement("div");return e.style.cssText=l.cssText,e.dataset.mode="",e.className="",e}get readys(){let{currentTime:e}=this.art,t=[];return this.filter("ready",e=>t.push(e)),this.filter("wait",i=>{e+.1>=i.time&&i.time>=e-.1&&t.push(i)}),t}get visibles(){let e=[],{clientWidth:t}=this.$player,i=this.getLeft(this.$player);return this.filter("emit",a=>{let n=a.$ref.offsetTop,o=this.getLeft(a.$ref)-i,s=a.$ref.clientHeight,l=a.$ref.clientWidth,r=o+l,d=r/a.$restTime,p={};p.top=n,p.left=o,p.height=s,p.width=l,p.right=t-r,p.speed=d,p.distance=r,p.time=a.$restTime,p.mode=a.mode,e.push(p)}),e}get speed(){return this.option.synchronousPlayback&&this.art.playbackRate?this.option.speed/Number(this.art.playbackRate):this.option.speed}async load(e){let{errorHandle:t}=this.utils,i=[],a=e||this.option.danmuku;try{"function"==typeof a?i=await a():a instanceof Promise?i=await a:"string"==typeof a?i=await (0,n.bilibiliDanmuParseFromUrl)(a):Array.isArray(a)&&(i=a),t(Array.isArray(i),"Danmuku need return an array as result"),void 0===e&&(this.reset(),this.queue=[],this.states={wait:[],ready:[],emit:[],stop:[]},this.$refs=[],this.$danmuku.innerText="");for(let e=0;eJSON.stringify(this.option[t])!==JSON.stringify(e[t]))&&(this.option=Object.assign({},l.option,this.option,e),this.validator(this.option,l.scheme),this.option.mode=t(this.option.mode,0,2),this.option.speed=t(this.option.speed,1,10),this.option.opacity=t(this.option.opacity,0,1),this.option.lockTime=t(this.option.lockTime,1,60),this.option.maxLength=t(this.option.maxLength,1,1e3),this.option.mount=this.option.mount||i,e.fontSize&&this.reset(),this.option.visible?this.show():this.hide(),this.art.emit("artplayerPluginDanmuku:config",this.option)),this}getLeft(e){let t=e.getBoundingClientRect();return this.isRotate?t.top:t.left}postMessage(e={}){return new Promise(t=>{e.id=Date.now(),this.worker.postMessage(e),this.worker.onmessage=i=>{let{data:a}=i;a.id===e.id&&t(a)}})}filter(e,t){let i=this.states[e]||[];for(let e=0;et!==e),e.$state=t,e.$ref&&(e.$ref.dataset.state=t),this.states[t].push(e)}makeWait(e){this.setState(e,"wait"),e.$ref&&(e.$ref.style.cssText=l.cssText,e.$ref.style.visibility="hidden",e.$ref.style.marginLeft="0px",e.$ref.style.transform="translateX(0px)",e.$ref.style.transition="transform 0s linear 0s",this.$refs.push(e.$ref),e.$ref=null)}update(){let{setStyles:e}=this.utils;return this.timer=window.requestAnimationFrame(async()=>{if(this.art.playing&&!this.isHide){this.filter("emit",e=>{let t=(Date.now()-e.$lastStartTime)/1e3;e.$restTime-=t,e.$lastStartTime=Date.now(),e.$restTime<=0&&this.makeWait(e)});let t=this.readys;for(let i=0;i{0===t.mode&&(t.$ref.style.left=`${e}px`)}),this.filter("emit",t=>{if(t.$lastStartTime=Date.now(),0===t.mode){let i=e+t.$ref.clientWidth;t.$ref.style.left=`${e}px`,t.$ref.style.transform=`translateX(${-i}px)`,t.$ref.style.transition=`transform ${t.$restTime}s linear 0s`}})}continue(){let{clientWidth:e}=this.$player;return this.filter("stop",t=>{if(this.setState(t,"emit"),t.$lastStartTime=Date.now(),0===t.mode){let i=e+t.$ref.clientWidth;t.$ref.style.transform=`translateX(${-i}px)`,t.$ref.style.transition=`transform ${t.$restTime}s linear 0s`}}),this}suspend(){let{clientWidth:e}=this.$player;return this.filter("emit",t=>{if(this.setState(t,"stop"),0===t.mode){let i=e-(this.getLeft(t.$ref)-this.getLeft(this.$player));t.$ref.style.transform=`translateX(${-i}px)`,t.$ref.style.transition="transform 0s linear 0s"}}),this}stop(){return this.isStop=!0,this.suspend(),window.cancelAnimationFrame(this.timer),this.art.emit("artplayerPluginDanmuku:stop"),this}start(){return this.isStop=!1,this.continue(),this.update(),this.art.emit("artplayerPluginDanmuku:start"),this}reset(){return this.queue.forEach(e=>this.makeWait(e)),this.art.emit("artplayerPluginDanmuku:reset"),this}show(){return this.isHide=!1,this.$danmuku.style.opacity=1,this.option.visible=!0,this.art.emit("artplayerPluginDanmuku:show"),this}hide(){return this.isHide=!0,this.$danmuku.style.opacity=0,this.option.visible=!1,this.art.emit("artplayerPluginDanmuku:hide"),this}destroy(){this.stop(),this.worker.terminate(),this.art.off("video:play",this.start),this.art.off("video:playing",this.start),this.art.off("video:pause",this.stop),this.art.off("video:waiting",this.stop),this.art.off("resize",this.reset),this.art.off("destroy",this.destroy),this.art.emit("artplayerPluginDanmuku:destroy")}}i.default=l},{"./bilibili":"f83sx","bundle-text:./worker":"lfIAi","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],f83sx:[function(e,t,i){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");function n(e){switch(e){case 1:case 2:case 3:default:return 0;case 4:return 2;case 5:return 1}}function o(e){if("string"!=typeof e)return[];let t=new RegExp(/(?.+?)<\/d>/gs);return Array.from(e.matchAll(t)).map(e=>{let t=e.groups.p.split(",");return t.length>=8?{text:e.groups.text.trim().replaceAll(""",'"').replaceAll("'","'").replaceAll("<","<").replaceAll(">",">").replaceAll("&","&"),time:Number(t[0]),mode:n(Number(t[1])),fontSize:Number(t[2]),color:`#${Number(t[3]).toString(16)}`,timestamp:Number(t[4]),pool:Number(t[5]),userID:t[6],rowID:Number(t[7])}:null}).filter(Boolean)}function s({data:e}){let{xml:t,id:i}=e;if(!i||!t)return;let a=o(t);self.postMessage({danmus:a,id:i})}function l(e){return new Promise(async t=>{let i=await fetch(e),a=await i.text();try{let e=function(){let e=new Blob([` ${n.toString()} ${o.toString()} onmessage = ${s.toString()} `],{type:"application/javascript"});return new Worker(URL.createObjectURL(e))}();e.onmessage=i=>{let{danmus:a,id:n}=i.data;n&&a&&(t(a),e.terminate())},e.postMessage({xml:a,id:Date.now()})}catch(e){t(o(a))}})}a.defineInteropFlag(i),a.export(i,"bilibiliDanmuParseFromUrl",()=>l)},{"@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"9pCYc":[function(e,t,i){i.interopDefault=function(e){return e&&e.__esModule?e:{default:e}},i.defineInteropFlag=function(e){Object.defineProperty(e,"__esModule",{value:!0})},i.exportAll=function(e,t){return Object.keys(e).forEach(function(i){"default"===i||"__esModule"===i||Object.prototype.hasOwnProperty.call(t,i)||Object.defineProperty(t,i,{enumerable:!0,get:function(){return e[i]}})}),t},i.export=function(e,t,i){Object.defineProperty(e,t,{enumerable:!0,get:i})}},{}],lfIAi:[function(e,t,i){t.exports='!function(e,t,n,o,i){var r="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},f="function"==typeof r[o]&&r[o],l=f.cache||{},d="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function u(t,n){if(!l[t]){if(!e[t]){var i="function"==typeof r[o]&&r[o];if(!n&&i)return i(t,!0);if(f)return f(t,!0);if(d&&"string"==typeof t)return d(t);var h=Error("Cannot find module \'"+t+"\'");throw h.code="MODULE_NOT_FOUND",h}s.resolve=function(n){var o=e[t][1][n];return null!=o?o:n},s.cache={};var p=l[t]=new u.Module(t);e[t][0].call(p.exports,s,p,p.exports,this)}return l[t].exports;function s(e){var t=s.resolve(e);return!1===t?{}:u(t)}}u.isParcelRequire=!0,u.Module=function(e){this.id=e,this.bundle=u,this.exports={}},u.modules=e,u.cache=l,u.parent=f,u.register=function(t,n){e[t]=[function(e,t){t.exports=n},{}]},Object.defineProperty(u,"root",{get:function(){return r[o]}}),r[o]=u;for(var h=0;ht.mode===e.mode&&t.top<=l).sort((e,t)=>e.top-t.top);if(0===d.length)return 2===e.mode?l-e.height:r;if(d.unshift({type:"top",top:0,left:0,right:0,height:r,width:n,speed:0,distance:n}),d.push({type:"bottom",top:l,left:0,right:0,height:i,width:n,speed:0,distance:n}),2===e.mode)for(let t=d.length-2;t>=0;t-=1){let n=d[t],o=d[t+1],i=n.top+n.height;if(o.top-i>=e.height)return o.top-e.height}else for(let t=1;t=e.height)return i}let u=[];for(let e=1;et.every(t=>!(nt.time)));return t&&t[0]?t[0].top:void 0}case 1:case 2:return}else{switch(e.mode){case 0:u.sort((e,t)=>{let n=Math.min(...t.map(e=>e.right)),o=Math.min(...e.map(e=>e.right));return n*t.length-o*e.length});break;case 1:case 2:u.sort((e,t)=>{let n=Math.max(...t.map(e=>e.width));return Math.max(...e.map(e=>e.width))*e.length-n*t.length})}return u[0][0].top}}onmessage=e=>{let{data:t}=e;if(!t.id||!t.type)return;let n=(0,({getDanmuTop:o})[t.type])(t);self.postMessage({result:n,id:t.id})}},{}]},["59OZS"],"59OZS","parcelRequire4dc0");'},{}],lO8OT:[function(e,t,i){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(i);var n=e("bundle-text:./style.less"),o=a.interopDefault(n),s=e("bundle-text:./img/on.svg"),l=a.interopDefault(s),r=e("bundle-text:./img/off.svg"),d=a.interopDefault(r),p=e("bundle-text:./img/config.svg"),u=a.interopDefault(p),h=e("bundle-text:./img/style.svg"),m=a.interopDefault(h),c=e("bundle-text:./img/mode_0_off.svg"),f=a.interopDefault(c),g=e("bundle-text:./img/mode_0_on.svg"),y=a.interopDefault(g),v=e("bundle-text:./img/mode_1_off.svg"),x=a.interopDefault(v),k=e("bundle-text:./img/mode_1_on.svg"),b=a.interopDefault(k),$=e("bundle-text:./img/mode_2_off.svg"),w=a.interopDefault($),M=e("bundle-text:./img/mode_2_on.svg"),E=a.interopDefault(M),S=e("bundle-text:./img/check_on.svg"),D=a.interopDefault(S),z=e("bundle-text:./img/check_off.svg"),A=a.interopDefault(z);if(i.default=class{constructor(e,t){this.art=e,this.danmuku=t,this.utils=e.constructor.utils;let{setStyle:i}=this.utils,{$controlsCenter:a}=e.template;i(a,"display","flex"),this.template={$controlsCenter:a,$mount:a,$danmuku:null,$toggle:null,$config:null,$configPanel:null,$configModes:null,$style:null,$stylePanel:null,$styleModes:null,$colors:null,$opacitySlider:null,$opacityValue:null,$marginSlider:null,$marginValue:null,$fontSizeSlider:null,$fontSizeValue:null,$speedSlider:null,$speedValue:null,$input:null,$send:null},this.slider={opacity:null,margin:null,fontSize:null,speed:null},this.emitting=!1,this.isLock=!1,this.timer=null,this.createTemplate(),this.createSliders(),this.createEvents(),this.mount(this.option.mount),e.on("resize",()=>this.resize()),e.on("fullscreen",e=>this.onFullscreen(e)),e.on("fullscreenWeb",e=>this.onFullscreen(e)),e.proxy(this.template.$config,"mouseenter",()=>{this.onMouseEnter({$control:this.template.$config,$panel:this.template.$configPanel})}),e.proxy(this.template.$style,"mouseenter",()=>{this.onMouseEnter({$control:this.template.$style,$panel:this.template.$stylePanel})})}static get icons(){return{$on:l.default,$off:d.default,$config:u.default,$style:m.default,$mode_0_off:f.default,$mode_0_on:y.default,$mode_1_off:x.default,$mode_1_on:b.default,$mode_2_off:w.default,$mode_2_on:E.default,$check_on:D.default,$check_off:A.default}}get option(){return this.danmuku.option}get outside(){return this.template.$mount!==this.template.$controlsCenter}get TEMPLATE(){let{option:e}=this;return`
${l.default}${d.default}
${u.default}
\u{6309}\u{7C7B}\u{578B}\u{5C4F}\u{853D}
${f.default}${y.default}
\u{6EDA}\u{52A8}
${x.default}${b.default}
\u{9876}\u{90E8}
${w.default}${E.default}
\u{5E95}\u{90E8}
${D.default}${A.default} \u{9632}\u{6B62}\u{5F39}\u{5E55}\u{91CD}\u{53E0}
${D.default}${A.default} \u{540C}\u{6B65}\u{89C6}\u{9891}\u{901F}\u{5EA6}
\u{4E0D}\u{900F}\u{660E}\u{5EA6}
\u{672A}\u{77E5}
\u{663E}\u{793A}\u{533A}\u{57DF}
\u{672A}\u{77E5}
\u{5F39}\u{5E55}\u{5B57}\u{53F7}
\u{672A}\u{77E5}
\u{5F39}\u{5E55}\u{901F}\u{5EA6}
\u{672A}\u{77E5}
${m.default}
\u{6A21}\u{5F0F}
${y.default}
\u{6EDA}\u{52A8}
${b.default}
\u{9876}\u{90E8}
${E.default}
\u{5E95}\u{90E8}
\u{989C}\u{8272}
${this.COLOR.map(e=>`
`).join("")}
\u{53D1}\u{9001}
`}get OPACITY(){return{min:0,max:100,steps:[],...this.option.OPACITY}}get FONT_SIZE(){return{min:12,max:120,steps:[],...this.option.FONT_SIZE}}get MARGIN(){return{min:0,max:3,steps:[{name:"1/4",value:[10,"75%"]},{name:"半屏",value:[10,"50%"]},{name:"3/4",value:[10,"25%"]},{name:"满屏",value:[10,10]}],...this.option.MARGIN}}get SPEED(){return{min:0,max:4,steps:[{name:"极慢",value:10},{name:"较慢",value:7.5,hide:!0},{name:"适中",value:5},{name:"较快",value:2.5,hide:!0},{name:"极快",value:1}],...this.option.SPEED}}get COLOR(){return this.option.COLOR.length?this.option.COLOR:["#FE0302","#FF7204","#FFAA02","#FFD302","#FFFF00","#A0EE00","#00CD00","#019899","#4266BE","#89D5FF","#CC0273","#222222","#9B9B9B","#FFFFFF"]}query(e){let{query:t}=this.utils,{$danmuku:i}=this.template;return t(e,i)}append(e,t){let{append:i}=this.utils;[...e.children].some(e=>e===t)||i(e,t)}setData(e,t){let{$player:i}=this.art.template,{$mount:a}=this.template;i.dataset[e]=t,this.outside&&(a.dataset[e]=t)}createTemplate(){let{createElement:e,tooltip:t}=this.utils,i=e("div");i.className="artplayer-plugin-danmuku",i.innerHTML=this.TEMPLATE,this.template.$danmuku=i,this.template.$toggle=this.query(".apd-toggle"),this.template.$config=this.query(".apd-config"),this.template.$configPanel=this.query(".apd-config-panel"),this.template.$configModes=this.query(".apd-config-mode .apd-modes"),this.template.$style=this.query(".apd-style"),this.template.$stylePanel=this.query(".apd-style-panel"),this.template.$styleModes=this.query(".apd-style-mode .apd-modes"),this.template.$colors=this.query(".apd-colors"),this.template.$antiOverlap=this.query(".apd-anti-overlap"),this.template.$syncVideo=this.query(".apd-sync-video"),this.template.$opacitySlider=this.query(".apd-config-opacity .apd-slider"),this.template.$opacityValue=this.query(".apd-config-opacity .apd-value"),this.template.$marginSlider=this.query(".apd-config-margin .apd-slider"),this.template.$marginValue=this.query(".apd-config-margin .apd-value"),this.template.$fontSizeSlider=this.query(".apd-config-fontSize .apd-slider"),this.template.$fontSizeValue=this.query(".apd-config-fontSize .apd-value"),this.template.$speedSlider=this.query(".apd-config-speed .apd-slider"),this.template.$speedValue=this.query(".apd-config-speed .apd-value"),this.template.$input=this.query(".apd-input"),this.template.$send=this.query(".apd-send");let{$toggle:a}=this.template;this.art.on("artplayerPluginDanmuku:show",()=>{t(a,"关闭弹幕")}),this.art.on("artplayerPluginDanmuku:hide",()=>{t(a,"打开弹幕")})}createEvents(){let{$toggle:e,$configModes:t,$styleModes:i,$colors:a,$antiOverlap:n,$syncVideo:o,$send:s,$input:l}=this.template;this.art.proxy(e,"click",()=>{this.danmuku.config({visible:!this.option.visible}),this.reset()}),this.art.proxy(t,"click",e=>{let t=e.target.closest(".apd-mode");if(!t)return;let i=Number(t.dataset.mode);this.option.modes.includes(i)?this.danmuku.config({modes:this.option.modes.filter(e=>e!==i)}):this.danmuku.config({modes:[...this.option.modes,i]}),this.reset()}),this.art.proxy(n,"click",()=>{this.danmuku.config({antiOverlap:!this.option.antiOverlap}),this.reset()}),this.art.proxy(o,"click",()=>{this.danmuku.config({synchronousPlayback:!this.option.synchronousPlayback}),this.reset()}),this.art.proxy(i,"click",e=>{let t=e.target.closest(".apd-mode");if(!t)return;let i=Number(t.dataset.mode);this.danmuku.config({mode:i}),this.reset()}),this.art.proxy(a,"click",e=>{let t=e.target.closest(".apd-color");t&&(this.danmuku.config({color:t.dataset.color}),this.reset())}),this.art.proxy(s,"click",()=>this.emit()),this.art.proxy(l,"keypress",e=>{"Enter"===e.key&&(e.preventDefault(),this.emit())})}createSliders(){this.slider.opacity=this.createSlider({...this.OPACITY,container:this.template.$opacitySlider,findIndex:()=>Math.round(100*this.option.opacity),onChange:e=>{let{$opacityValue:t}=this.template;t.textContent=`${e}%`,this.danmuku.config({opacity:e/100})}}),this.slider.margin=this.createSlider({...this.MARGIN,container:this.template.$marginSlider,findIndex:()=>this.MARGIN.steps.findIndex(e=>e.value[0]===this.option.margin[0]&&e.value[1]===this.option.margin[1]),onChange:e=>{let t=this.MARGIN.steps[e];if(!t)return;let{$marginValue:i}=this.template;i.textContent=t.name,this.danmuku.config({margin:t.value})}}),this.slider.fontSize=this.createSlider({...this.FONT_SIZE,container:this.template.$fontSizeSlider,findIndex:()=>this.danmuku.fontSize,onChange:e=>{let{$fontSizeValue:t}=this.template;t.textContent=`${e}px`,e!==this.danmuku.fontSize&&this.danmuku.config({fontSize:e})}}),this.slider.speed=this.createSlider({...this.SPEED,container:this.template.$speedSlider,findIndex:()=>this.SPEED.steps.findIndex(e=>e.value===this.option.speed),onChange:e=>{let t=this.SPEED.steps[e];if(!t)return;let{$speedValue:i}=this.template;i.textContent=t.name,this.danmuku.config({speed:t.value})}})}createSlider({min:e,max:t,container:i,findIndex:a,onChange:n,steps:o=[]}){let{query:s,clamp:l}=this.utils;i.innerHTML=`
${o.map(()=>'
').join("")}
${o.map(e=>e.hide?"":`
${e.name}
`).join("")}
`;let r=s(".apd-slider-dot",i),d=s(".apd-slider-progress",i),p=!1;function u(i=a()){if(it)return;let s=(i-e)/(t-e);r.style.left=`${100*s}%`,0===o.length&&(d.style.width=r.style.left),n(i)}function h(a){let{left:n,width:o}=i.getBoundingClientRect();u(Math.round(l(a.clientX-n,0,o)/o*(t-e)+e))}return this.art.proxy(i,"click",e=>{h(e)}),this.art.proxy(i,"mousedown",e=>{p=0===e.button}),this.art.on("document:mousemove",e=>{p&&h(e)}),this.art.on("document:mouseup",e=>{p&&(p=!1,h(e))}),{reset:u}}onFullscreen(e){let{$danmuku:t,$controlsCenter:i,$mount:a}=this.template;this.outside?e?this.append(i,t):this.append(a,t):this.append(i,t)}onMouseEnter({$control:e,$panel:t}){let{$player:i}=this.art.template,a=e.getBoundingClientRect(),n=t.getBoundingClientRect(),o=i.getBoundingClientRect(),s=n.width/2-a.width/2,l=o.left-(a.left-s),r=a.right+s-o.right;l>0?t.style.left=`${-s+l}px`:r>0?t.style.left=`${-s-r}px`:t.style.left=`${-s}px`}async emit(){let{$input:e}=this.template,t=e.value.trim();if(!t.length||this.isLock||this.emitting)return;let i={text:t,mode:this.option.mode,color:this.option.color,time:this.art.currentTime};try{this.emitting=!0;let t=await this.option.beforeEmit(i);if(this.emitting=!1,!0!==t)return;i.border=!0,delete i.time,this.danmuku.emit(i),e.value="",this.lock()}catch(e){this.emitting=!1}}lock(){let{addClass:e}=this.utils,{$send:t}=this.template;this.isLock=!0;let i=this.option.lockTime;t.innerText=i,e(t,"apd-lock");let a=()=>{this.timer=setTimeout(()=>{0===i?this.unlock():(i-=1,t.innerText=i,a())},1e3)};a()}unlock(){let{removeClass:e}=this.utils,{$send:t}=this.template;clearTimeout(this.timer),this.isLock=!1,t.innerText="发送",e(t,"apd-lock")}resize(){if(this.outside||this.art.fullscreen||this.art.fullscreenWeb)return;let{$player:e,$controlsCenter:t}=this.art.template,{$danmuku:i}=this.template;this.art.widthe.dataset.color===this.option.color.toUpperCase());n&&e(n,"apd-active"),t(i,this.option.visible?"关闭弹幕":"打开弹幕"),this.resize()}mount(e){let{errorHandle:t}=this.utils,i="string"==typeof e?document.querySelector(e):e;t(i,`Can not find the mount point: ${e}`),this.append(i,this.template.$danmuku),this.template.$mount=i,this.reset()}},"undefined"!=typeof document){let e="artplayer-plugin-danmuku",t=document.getElementById(e);if(t)t.textContent=o.default;else{let t=document.createElement("style");t.id=e,t.textContent=o.default,document.head.appendChild(t)}}},{"bundle-text:./style.less":"hViDo","bundle-text:./img/on.svg":"9pjcf","bundle-text:./img/off.svg":"b2dkP","bundle-text:./img/config.svg":"l8tyy","bundle-text:./img/style.svg":"5iZC3","bundle-text:./img/mode_0_off.svg":"i0Vut","bundle-text:./img/mode_0_on.svg":"hOSvZ","bundle-text:./img/mode_1_off.svg":"bOXC3","bundle-text:./img/mode_1_on.svg":"lKuh0","bundle-text:./img/mode_2_off.svg":"eB8W6","bundle-text:./img/mode_2_on.svg":"bpe2E","bundle-text:./img/check_on.svg":"kL9zy","bundle-text:./img/check_off.svg":"22xpM","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],hViDo:[function(e,t,i){t.exports='.artplayer-plugin-danmuku{z-index:99;color:#fff;flex-shrink:0;justify-content:center;align-items:center;gap:10px;width:100%;height:32px;font-size:12px;font-weight:300;display:flex;position:relative}.artplayer-plugin-danmuku .apd-icon{cursor:pointer;opacity:.75;fill:#fff;transition:all .2s}.artplayer-plugin-danmuku .apd-icon:hover{opacity:1}.artplayer-plugin-danmuku .apd-config{display:flex;position:relative}.artplayer-plugin-danmuku .apd-config .apd-config-panel{opacity:0;pointer-events:none;width:320px;padding:10px;position:absolute;bottom:24px;left:0}.artplayer-plugin-danmuku .apd-config .apd-config-panel .apd-config-panel-inner{background-color:#000000d9;border-radius:3px;width:100%;padding:10px}.artplayer-plugin-danmuku .apd-config:hover .apd-config-panel{opacity:100;pointer-events:all}.artplayer-plugin-danmuku .apd-config-mode,.artplayer-plugin-danmuku .apd-config-slider,.artplayer-plugin-danmuku .apd-config-other,.artplayer-plugin-danmuku .apd-style-mode{margin-bottom:15px}.artplayer-plugin-danmuku .apd-modes{align-items:center;gap:20px;margin-top:5px;display:flex}.artplayer-plugin-danmuku .apd-modes .apd-mode{cursor:pointer;text-align:center}.artplayer-plugin-danmuku .apd-modes .apd-mode:hover{color:#00a1d6}.artplayer-plugin-danmuku .apd-config-slider{align-items:center;gap:12px;display:flex}.artplayer-plugin-danmuku .apd-config-slider .apd-value{text-align:right;width:32px}.artplayer-plugin-danmuku .apd-slider{cursor:pointer;flex:1;justify-content:center;align-items:center;height:20px;display:flex;position:relative}.artplayer-plugin-danmuku .apd-slider .apd-slider-line{background-color:#ffffff40;border-radius:3px;width:100%;height:2px;position:relative;overflow:hidden}.artplayer-plugin-danmuku .apd-slider .apd-slider-points{justify-content:space-between;align-items:center;display:flex;position:absolute;inset:0}.artplayer-plugin-danmuku .apd-slider .apd-slider-points .apd-slider-point{background-color:#ffffff80;border-radius:50%;width:2px;height:2px}.artplayer-plugin-danmuku .apd-slider .apd-slider-progress{background-color:#00a1d6;width:0%;height:100%}.artplayer-plugin-danmuku .apd-slider .apd-slider-dot{background-color:#00a1d6;border-radius:50%;width:12px;height:12px;position:absolute;left:0%;transform:translate(-6px)}.artplayer-plugin-danmuku .apd-slider .apd-slider-steps{color:#777;justify-content:space-between;align-items:center;width:calc(100% + 32px);display:flex;position:absolute;bottom:-12px}.artplayer-plugin-danmuku .apd-slider .apd-slider-steps .apd-slider-step{text-align:center;flex-shrink:0;width:36px;scale:.95}.artplayer-plugin-danmuku .apd-config-other{align-items:center;gap:20px;display:flex}.artplayer-plugin-danmuku .apd-config-other .apd-check-off,.artplayer-plugin-danmuku .apd-config-other .apd-check-on{width:16px;height:16px}.artplayer-plugin-danmuku .apd-config-other .apd-other{cursor:pointer;align-items:center;gap:2px;display:flex}.artplayer-plugin-danmuku .apd-config-other .apd-other:hover{color:#00a1d6}.artplayer-plugin-danmuku .apd-emitter{background-color:#ffffff40;border-radius:5px;flex:1;align-items:center;height:100%;display:flex}.artplayer-plugin-danmuku .apd-style{justify-content:center;align-items:center;display:flex;position:relative}.artplayer-plugin-danmuku .apd-style .apd-style-panel{opacity:0;pointer-events:none;width:200px;padding:10px;position:absolute;bottom:24px;left:0}.artplayer-plugin-danmuku .apd-style .apd-style-panel .apd-style-panel-inner{background-color:#000000d9;border-radius:3px;width:100%;padding:10px}.artplayer-plugin-danmuku .apd-style:hover .apd-style-panel{opacity:100;pointer-events:all}.artplayer-plugin-danmuku .apd-colors{flex-wrap:wrap;gap:8px;margin-top:5px;display:flex}.artplayer-plugin-danmuku .apd-colors .apd-color{cursor:pointer;border-radius:2px;width:16px;height:16px}.artplayer-plugin-danmuku .apd-colors .apd-color.apd-active{border:1px solid #000;box-shadow:0 0 0 1px #fff}.artplayer-plugin-danmuku .apd-input{color:#fff;background-color:#0000;border:none;outline:none;flex:1;width:auto;min-width:0;height:100%;line-height:1}.artplayer-plugin-danmuku .apd-input::placeholder{color:#ffffff80}.artplayer-plugin-danmuku .apd-send{cursor:pointer;text-shadow:none;background-color:#00a1d6;border-top-right-radius:5px;border-bottom-right-radius:5px;flex-shrink:0;justify-content:center;align-items:center;width:60px;height:100%;display:flex}.artplayer-plugin-danmuku .apd-send.apd-lock{cursor:not-allowed;color:#666;background-color:#e7e7e7}.art-controls-center .apd-emitter{flex:none;width:260px}.art-fullscreen .artplayer-plugin-danmuku,.art-fullscreen-web .artplayer-plugin-danmuku{gap:16px;height:38px}.art-fullscreen .artplayer-plugin-danmuku .apd-config-icon,.art-fullscreen-web .artplayer-plugin-danmuku .apd-config-icon,.art-fullscreen .artplayer-plugin-danmuku .apd-toggle-off,.art-fullscreen-web .artplayer-plugin-danmuku .apd-toggle-off,.art-fullscreen .artplayer-plugin-danmuku .apd-toggle-on,.art-fullscreen-web .artplayer-plugin-danmuku .apd-toggle-on{width:28px;height:28px}.art-fullscreen .artplayer-plugin-danmuku .apd-emitter,.art-fullscreen-web .artplayer-plugin-danmuku .apd-emitter{flex:none;width:400px}.art-video-player>.artplayer-plugin-danmuku{padding:0 10px;position:absolute;bottom:-40px;left:0;right:0}.art-video-player:has(>.artplayer-plugin-danmuku){margin-bottom:40px}[data-danmuku-emitter=false] .apd-emitter{display:none!important}[data-danmuku-emitter=false] .art-controls-center .artplayer-plugin-danmuku{justify-content:flex-end;gap:18px}[data-danmuku-emitter=false].art-fullscreen .art-controls-center .artplayer-plugin-danmuku,[data-danmuku-emitter=false].art-fullscreen-web .art-controls-center .artplayer-plugin-danmuku{gap:24px}[data-danmuku-theme=light]>.artplayer-plugin-danmuku .apd-icon{fill:#333}[data-danmuku-theme=light]>.artplayer-plugin-danmuku .apd-emitter{background-color:#f1f2f3}[data-danmuku-theme=light]>.artplayer-plugin-danmuku .apd-input{color:#000}[data-danmuku-theme=light]>.artplayer-plugin-danmuku .apd-input::placeholder{color:#0000004d}[data-danmuku-visible=false] .apd-toggle-off{display:block}[data-danmuku-visible=false] .apd-toggle-on,[data-danmuku-visible=true] .apd-toggle-off{display:none}[data-danmuku-visible=true] .apd-toggle-on{display:block}[data-danmuku-anti-overlap=false] .apd-anti-overlap .apd-check-on{display:none}[data-danmuku-anti-overlap=false] .apd-anti-overlap .apd-check-off,[data-danmuku-anti-overlap=true] .apd-anti-overlap .apd-check-on{display:block}[data-danmuku-anti-overlap=true] .apd-anti-overlap .apd-check-off,[data-danmuku-sync-video=false] .apd-sync-video .apd-check-on{display:none}[data-danmuku-sync-video=false] .apd-sync-video .apd-check-off,[data-danmuku-sync-video=true] .apd-sync-video .apd-check-on{display:block}[data-danmuku-sync-video=true] .apd-sync-video .apd-check-off{display:none}[data-danmuku-mode0=false] .apd-config-mode .apd-mode-0-off{display:block}[data-danmuku-mode0=false] .apd-config-mode .apd-mode-0-on{display:none}[data-danmuku-mode0=false] .art-danmuku [data-mode="0"]{opacity:0!important}[data-danmuku-mode0=true] .apd-config-mode .apd-mode-0-off{display:none}[data-danmuku-mode0=true] .apd-config-mode .apd-mode-0-on{display:block}[data-danmuku-mode="0"] .apd-style-mode [data-mode="0"]{color:#00a1d6}[data-danmuku-mode="0"] .apd-style-mode [data-mode="0"] path{fill:#00a1d6}[data-danmuku-mode1=false] .apd-config-mode .apd-mode-1-off{display:block}[data-danmuku-mode1=false] .apd-config-mode .apd-mode-1-on{display:none}[data-danmuku-mode1=false] .art-danmuku [data-mode="1"]{opacity:0!important}[data-danmuku-mode1=true] .apd-config-mode .apd-mode-1-off{display:none}[data-danmuku-mode1=true] .apd-config-mode .apd-mode-1-on{display:block}[data-danmuku-mode="1"] .apd-style-mode [data-mode="1"]{color:#00a1d6}[data-danmuku-mode="1"] .apd-style-mode [data-mode="1"] path{fill:#00a1d6}[data-danmuku-mode2=false] .apd-config-mode .apd-mode-2-off{display:block}[data-danmuku-mode2=false] .apd-config-mode .apd-mode-2-on{display:none}[data-danmuku-mode2=false] .art-danmuku [data-mode="2"]{opacity:0!important}[data-danmuku-mode2=true] .apd-config-mode .apd-mode-2-off{display:none}[data-danmuku-mode2=true] .apd-config-mode .apd-mode-2-on{display:block}[data-danmuku-mode="2"] .apd-style-mode [data-mode="2"]{color:#00a1d6}[data-danmuku-mode="2"] .apd-style-mode [data-mode="2"] path{fill:#00a1d6}'},{}],"9pjcf":[function(e,t,i){t.exports=''},{}],b2dkP:[function(e,t,i){t.exports=''},{}],l8tyy:[function(e,t,i){t.exports=''},{}],"5iZC3":[function(e,t,i){t.exports=''},{}],i0Vut:[function(e,t,i){t.exports=''},{}],hOSvZ:[function(e,t,i){t.exports=''},{}],bOXC3:[function(e,t,i){t.exports=''},{}],lKuh0:[function(e,t,i){t.exports=''},{}],eB8W6:[function(e,t,i){t.exports=''},{}],bpe2E:[function(e,t,i){t.exports=''},{}],kL9zy:[function(e,t,i){t.exports=''},{}],"22xpM":[function(e,t,i){t.exports=''},{}],"8AxLD":[function(e,t,i){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(i),a.export(i,"default",()=>s);let n={map:(e,t,i,a,n)=>(e-t)*(n-a)/(i-t)+a,range(e,t,i){let a=Math.round(e/i)*i;return Array.from({length:Math.floor((t-e)/i)},(e,t)=>t*i+a)}},o=(e,t)=>{let i=t[0]-e[0],a=t[1]-e[1];return{length:Math.sqrt(Math.pow(i,2)+Math.pow(a,2)),angle:Math.atan2(a,i)}};function s(e,t,i){let{query:a}=e.constructor.utils;e.controls.add({name:"heatmap",position:"top",html:"",style:{position:"absolute",top:"-100px",left:"0px",right:"0px",height:"100px",width:"100%",pointerEvents:"none"},mounted(s){let l=null,r=null;function d(p=[]){if(l=null,r=null,s.innerHTML="",!e.duration||e.option.isLive)return;let u={w:s.offsetWidth,h:s.offsetHeight},h={xMin:0,xMax:u.w,yMin:0,yMax:128,scale:.25,opacity:.2,minHeight:Math.floor(.05*u.h),sampling:Math.floor(u.w/100),smoothing:.2,flattening:.2};"object"==typeof i&&Object.assign(h,i);let m=[];if(Array.isArray(p)&&p.length)m=[...p];else{let i=e.duration/u.w;for(let e=0;e<=u.w;e+=h.sampling){let a=t.queue.filter(({time:t})=>t>e*i&&t<=(e+h.sampling)*i).length;m.push([e,a])}}if(0===m.length)return;let c=m[m.length-1],f=c[0],g=c[1];f!==u.w&&m.push([u.w,g]);let y=m.map(e=>e[1]),v=(Math.min(...y)+Math.max(...y))/2;for(let e=0;ev?1+h.scale:1-h.scale)+h.minHeight}let x=(e,t,i,a)=>{let s=o(t||e,i||e),l=n.map(Math.cos(s.angle)*h.flattening,0,1,1,0),r=s.angle*l+(a?Math.PI:0),d=s.length*h.smoothing;return[e[0]+Math.cos(r)*d,e[1]+Math.sin(r)*d]},k=(e,t,i)=>{let a=x(i[t-1],i[t-2],e),n=x(e,i[t-1],i[t+1],!0),o=t===i.length-1?" z":"";return`C ${a[0]},${a[1]} ${n[0]},${n[1]} ${e[0]},${e[1]}${o}`},b=m.map(e=>[n.map(e[0],h.xMin,h.xMax,0,u.w),n.map(e[1],h.yMin,h.yMax,u.h,0)]).reduce((e,t,i,a)=>0===i?`M ${a[a.length-1][0]},${u.h} L ${t[0]},${u.h} L ${t[0]},${t[1]}`:`${e} ${k(t,i,a)}`,"");s.innerHTML=``,l=a("#heatmap-start",s),r=a("#heatmap-stop",s),l.setAttribute("offset",`${100*e.played}%`),r.setAttribute("offset",`${100*e.played}%`)}e.on("video:timeupdate",()=>{l&&r&&(l.setAttribute("offset",`${100*e.played}%`),r.setAttribute("offset",`${100*e.played}%`))}),e.on("setBar",(e,t)=>{l&&r&&"played"===e&&(l.setAttribute("offset",`${100*t}%`),r.setAttribute("offset",`${100*t}%`))}),e.on("ready",()=>d()),e.on("resize",()=>d()),e.on("artplayerPluginDanmuku:loaded",()=>d()),e.on("artplayerPluginDanmuku:points",e=>d(e))}})}},{"@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}]},["bgm6t"],"bgm6t","parcelRequire4dc0"); \ No newline at end of file +!function(t,e,i,a,n){var o="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},s="function"==typeof o[a]&&o[a],l=s.cache||{},r="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function d(e,i){if(!l[e]){if(!t[e]){var n="function"==typeof o[a]&&o[a];if(!i&&n)return n(e,!0);if(s)return s(e,!0);if(r&&"string"==typeof e)return r(e);var p=Error("Cannot find module '"+e+"'");throw p.code="MODULE_NOT_FOUND",p}h.resolve=function(i){var a=t[e][1][i];return null!=a?a:i},h.cache={};var u=l[e]=new d.Module(e);t[e][0].call(u.exports,h,u,u.exports,this)}return l[e].exports;function h(t){var e=h.resolve(t);return!1===e?{}:d(e)}}d.isParcelRequire=!0,d.Module=function(t){this.id=t,this.bundle=d,this.exports={}},d.modules=t,d.cache=l,d.parent=s,d.register=function(e,i){t[e]=[function(t,e){e.exports=i},{}]},Object.defineProperty(d,"root",{get:function(){return o[a]}}),o[a]=d;for(var p=0;pp);var n=t("./danmuku"),o=a.interopDefault(n),s=t("./setting"),l=a.interopDefault(s),r=t("./heatmap"),d=a.interopDefault(r);function p(t){return e=>{let i=new o.default(e,t),a=new l.default(e,i);return i.option.heatmap&&(0,d.default)(e,i,i.option.heatmap),{name:"artplayerPluginDanmuku",emit:i.emit.bind(i),load:i.load.bind(i),config:i.config.bind(i),hide:i.hide.bind(i),show:i.show.bind(i),reset:i.reset.bind(i),mount:a.mount.bind(a),get option(){return i.option},get isHide(){return i.isHide},get isStop(){return i.isStop}}}}p.icons=l.default.icons,"undefined"!=typeof window&&(window.artplayerPluginDanmuku=p)},{"./danmuku":"4ns48","./setting":"lO8OT","./heatmap":"8AxLD","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"4ns48":[function(t,e,i){var a=t("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(i);var n=t("./bilibili"),o=t("bundle-text:./worker"),s=a.interopDefault(o);class l{constructor(t,e){let{constructor:i,template:a}=t;this.utils=i.utils,this.validator=i.validator,this.$danmuku=a.$danmuku,this.$player=a.$player,this.art=t,this.queue=[],this.$refs=[],this.isStop=!1,this.isHide=!1,this.timer=null,this.index=0,this.option=l.option,this.states={wait:[],ready:[],emit:[],stop:[]},this.config(e);let n=new Blob([s.default],{type:"application/javascript"});this.worker=new Worker(URL.createObjectURL(n)),this.start=this.start.bind(this),this.stop=this.stop.bind(this),this.reset=this.reset.bind(this),this.resize=this.resize.bind(this),this.destroy=this.destroy.bind(this),t.on("video:play",this.start),t.on("video:playing",this.start),t.on("video:pause",this.stop),t.on("video:waiting",this.stop),t.on("destroy",this.destroy),t.on("resize",this.resize),this.load()}static get option(){return{danmuku:[],speed:5,margin:[10,"25%"],opacity:1,color:"#FFFFFF",mode:0,modes:[0,1,2],fontSize:25,antiOverlap:!0,synchronousPlayback:!1,mount:void 0,heatmap:!1,width:512,points:[],filter:()=>!0,beforeEmit:()=>!0,beforeVisible:()=>!0,visible:!0,emitter:!0,maxLength:200,lockTime:5,theme:"dark",OPACITY:{},FONT_SIZE:{},MARGIN:{},SPEED:{},COLOR:[]}}static get scheme(){return{danmuku:"array|function|string",speed:"number",margin:"array",opacity:"number",color:"string",mode:"number",modes:"array",fontSize:"number|string",antiOverlap:"boolean",synchronousPlayback:"boolean",mount:"?htmldivelement|string",heatmap:"object|boolean",width:"number",points:"array",filter:"function",beforeEmit:"function",beforeVisible:"function",visible:"boolean",emitter:"boolean",maxLength:"number",lockTime:"number",theme:"string",OPACITY:"object",FONT_SIZE:"object",MARGIN:"object",SPEED:"object",COLOR:"array"}}static get cssText(){return` user-select: none; position: absolute; white-space: pre; pointer-events: none; perspective: 500px; display: inline-block; will-change: transform; font-weight: normal; line-height: 1.125; visibility: hidden; font-family: SimHei, "Microsoft JhengHei", Arial, Helvetica, sans-serif; text-shadow: rgb(0, 0, 0) 1px 0px 1px, rgb(0, 0, 0) 0px 1px 1px, rgb(0, 0, 0) 0px -1px 1px, rgb(0, 0, 0) -1px 0px 1px; `}get isRotate(){return this.art.plugins?.autoOrientation?.state}get marginTop(){let{clamp:t}=this.utils,e=this.option.margin[0],{clientHeight:i}=this.$player;return"number"==typeof e?t(e,0,i):"string"==typeof e&&e.endsWith("%")?t(i*(parseFloat(e)/100),0,i):l.option.margin[0]}get marginBottom(){let{clamp:t}=this.utils,e=this.option.margin[1],{clientHeight:i}=this.$player;return"number"==typeof e?t(e,0,i):"string"==typeof e&&e.endsWith("%")?t(i*(parseFloat(e)/100),0,i):l.option.margin[1]}get fontSize(){let{clamp:t}=this.utils,{clientHeight:e}=this.$player,i=this.option.fontSize;return"number"==typeof i?Math.round(t(i,12,e)):"string"==typeof i&&i.endsWith("%")?Math.round(t(e*(parseFloat(i)/100),12,e)):l.option.fontSize}get $ref(){let t=this.$refs.pop()||document.createElement("div");return t.style.cssText=l.cssText,t.dataset.mode="",t.className="",t}get readys(){let{currentTime:t}=this.art,e=[];return this.filter("ready",t=>e.push(t)),this.filter("wait",i=>{t+.1>=i.time&&i.time>=t-.1&&e.push(i)}),e}get visibles(){let t=[],{clientWidth:e}=this.$player,i=this.getLeft(this.$player);return this.filter("emit",a=>{let n=a.$ref.offsetTop,o=this.getLeft(a.$ref)-i,s=a.$ref.clientHeight,l=a.$ref.clientWidth,r=o+l,d=r/a.$restTime,p={};p.top=n,p.left=o,p.height=s,p.width=l,p.right=e-r,p.speed=d,p.distance=r,p.time=a.$restTime,p.mode=a.mode,t.push(p)}),t}get speed(){return this.option.synchronousPlayback&&this.art.playbackRate?this.option.speed/Number(this.art.playbackRate):this.option.speed}async load(t){let{errorHandle:e}=this.utils,i=[],a=t||this.option.danmuku;try{"function"==typeof a?i=await a():a instanceof Promise?i=await a:"string"==typeof a?i=await (0,n.bilibiliDanmuParseFromUrl)(a):Array.isArray(a)&&(i=a),e(Array.isArray(i),"Danmuku need return an array as result"),void 0===t&&(this.reset(),this.queue=[],this.states={wait:[],ready:[],emit:[],stop:[]},this.$refs=[],this.$danmuku.innerText="");for(let t=0;tJSON.stringify(this.option[e])!==JSON.stringify(t[e]))&&(this.option=Object.assign({},l.option,this.option,t),this.validator(this.option,l.scheme),this.option.mode=e(this.option.mode,0,2),this.option.speed=e(this.option.speed,1,10),this.option.opacity=e(this.option.opacity,0,1),this.option.lockTime=e(this.option.lockTime,1,60),this.option.maxLength=e(this.option.maxLength,1,1e3),this.option.mount=this.option.mount||i,t.fontSize&&this.reset(),this.option.visible?this.show():this.hide(),this.art.emit("artplayerPluginDanmuku:config",this.option)),this}getLeft(t){let e=t.getBoundingClientRect();return this.isRotate?e.top:e.left}postMessage(t={}){return new Promise(e=>{t.id=Date.now(),this.worker.postMessage(t),this.worker.onmessage=i=>{let{data:a}=i;a.id===t.id&&e(a)}})}filter(t,e){let i=this.states[t]||[];for(let t=0;te!==t),t.$state=e,t.$ref&&(t.$ref.dataset.state=e),this.states[e].push(t)}makeWait(t){this.setState(t,"wait"),t.$ref&&(t.$ref.style.cssText=l.cssText,t.$ref.style.visibility="hidden",t.$ref.style.marginLeft="0px",t.$ref.style.transform="translateX(0px)",t.$ref.style.transition="transform 0s linear 0s",this.$refs.push(t.$ref),t.$ref=null)}update(){let{setStyles:t}=this.utils;return this.timer=window.requestAnimationFrame(async()=>{if(this.art.playing&&!this.isHide){this.filter("emit",t=>{let e=(Date.now()-t.$lastStartTime)/1e3;t.$restTime-=e,t.$lastStartTime=Date.now(),t.$restTime<=0&&this.makeWait(t)});let e=this.readys;for(let i=0;i{0===e.mode&&(e.$ref.style.left=`${t}px`)}),this.filter("emit",e=>{if(e.$lastStartTime=Date.now(),0===e.mode){let i=t+e.$ref.clientWidth;e.$ref.style.left=`${t}px`,e.$ref.style.transform=`translateX(${-i}px)`,e.$ref.style.transition=`transform ${e.$restTime}s linear 0s`}})}continue(){let{clientWidth:t}=this.$player;return this.filter("stop",e=>{if(this.setState(e,"emit"),e.$lastStartTime=Date.now(),0===e.mode){let i=t+e.$ref.clientWidth;e.$ref.style.transform=`translateX(${-i}px)`,e.$ref.style.transition=`transform ${e.$restTime}s linear 0s`}}),this}suspend(){let{clientWidth:t}=this.$player;return this.filter("emit",e=>{if(this.setState(e,"stop"),0===e.mode){let i=t-(this.getLeft(e.$ref)-this.getLeft(this.$player));e.$ref.style.transform=`translateX(${-i}px)`,e.$ref.style.transition="transform 0s linear 0s"}}),this}stop(){return this.isStop=!0,this.suspend(),window.cancelAnimationFrame(this.timer),this.art.emit("artplayerPluginDanmuku:stop"),this}start(){return this.isStop=!1,this.continue(),this.update(),this.art.emit("artplayerPluginDanmuku:start"),this}reset(){return this.queue.forEach(t=>this.makeWait(t)),this.art.emit("artplayerPluginDanmuku:reset"),this}show(){return this.isHide=!1,this.$danmuku.style.opacity=1,this.option.visible=!0,this.art.emit("artplayerPluginDanmuku:show"),this}hide(){return this.isHide=!0,this.$danmuku.style.opacity=0,this.option.visible=!1,this.art.emit("artplayerPluginDanmuku:hide"),this}destroy(){this.stop(),this.worker.terminate(),this.art.off("video:play",this.start),this.art.off("video:playing",this.start),this.art.off("video:pause",this.stop),this.art.off("video:waiting",this.stop),this.art.off("resize",this.reset),this.art.off("destroy",this.destroy),this.art.emit("artplayerPluginDanmuku:destroy")}}i.default=l},{"./bilibili":"f83sx","bundle-text:./worker":"lfIAi","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],f83sx:[function(t,e,i){var a=t("@parcel/transformer-js/src/esmodule-helpers.js");function n(t){switch(t){case 1:case 2:case 3:default:return 0;case 4:return 2;case 5:return 1}}function o(t){if("string"!=typeof t)return[];let e=new RegExp(/(?.+?)<\/d>/gs);return Array.from(t.matchAll(e)).map(t=>{let e=t.groups.p.split(",");return e.length>=8?{text:t.groups.text.trim().replaceAll(""",'"').replaceAll("'","'").replaceAll("<","<").replaceAll(">",">").replaceAll("&","&"),time:Number(e[0]),mode:n(Number(e[1])),fontSize:Number(e[2]),color:`#${Number(e[3]).toString(16)}`,timestamp:Number(e[4]),pool:Number(e[5]),userID:e[6],rowID:Number(e[7])}:null}).filter(Boolean)}function s({data:t}){let{xml:e,id:i}=t;if(!i||!e)return;let a=o(e);self.postMessage({danmus:a,id:i})}function l(t){return new Promise(async e=>{let i=await fetch(t),a=await i.text();try{let t=function(){let t=new Blob([` ${n.toString()} ${o.toString()} onmessage = ${s.toString()} `],{type:"application/javascript"});return new Worker(URL.createObjectURL(t))}();t.onmessage=i=>{let{danmus:a,id:n}=i.data;n&&a&&(e(a),t.terminate())},t.postMessage({xml:a,id:Date.now()})}catch(t){e(o(a))}})}a.defineInteropFlag(i),a.export(i,"bilibiliDanmuParseFromUrl",()=>l)},{"@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"9pCYc":[function(t,e,i){i.interopDefault=function(t){return t&&t.__esModule?t:{default:t}},i.defineInteropFlag=function(t){Object.defineProperty(t,"__esModule",{value:!0})},i.exportAll=function(t,e){return Object.keys(t).forEach(function(i){"default"===i||"__esModule"===i||Object.prototype.hasOwnProperty.call(e,i)||Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[i]}})}),e},i.export=function(t,e,i){Object.defineProperty(t,e,{enumerable:!0,get:i})}},{}],lfIAi:[function(t,e,i){e.exports='!function(e,t,n,o,i){var r="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},f="function"==typeof r[o]&&r[o],l=f.cache||{},d="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function u(t,n){if(!l[t]){if(!e[t]){var i="function"==typeof r[o]&&r[o];if(!n&&i)return i(t,!0);if(f)return f(t,!0);if(d&&"string"==typeof t)return d(t);var h=Error("Cannot find module \'"+t+"\'");throw h.code="MODULE_NOT_FOUND",h}s.resolve=function(n){var o=e[t][1][n];return null!=o?o:n},s.cache={};var p=l[t]=new u.Module(t);e[t][0].call(p.exports,s,p,p.exports,this)}return l[t].exports;function s(e){var t=s.resolve(e);return!1===t?{}:u(t)}}u.isParcelRequire=!0,u.Module=function(e){this.id=e,this.bundle=u,this.exports={}},u.modules=e,u.cache=l,u.parent=f,u.register=function(t,n){e[t]=[function(e,t){t.exports=n},{}]},Object.defineProperty(u,"root",{get:function(){return r[o]}}),r[o]=u;for(var h=0;ht.mode===e.mode&&t.top<=l).sort((e,t)=>e.top-t.top);if(0===d.length)return 2===e.mode?l-e.height:r;if(d.unshift({type:"top",top:0,left:0,right:0,height:r,width:n,speed:0,distance:n}),d.push({type:"bottom",top:l,left:0,right:0,height:i,width:n,speed:0,distance:n}),2===e.mode)for(let t=d.length-2;t>=0;t-=1){let n=d[t],o=d[t+1],i=n.top+n.height;if(o.top-i>=e.height)return o.top-e.height}else for(let t=1;t=e.height)return i}let u=[];for(let e=1;et.every(t=>!(nt.time)));return t&&t[0]?t[0].top:void 0}case 1:case 2:return}else{switch(e.mode){case 0:u.sort((e,t)=>{let n=Math.min(...t.map(e=>e.right)),o=Math.min(...e.map(e=>e.right));return n*t.length-o*e.length});break;case 1:case 2:u.sort((e,t)=>{let n=Math.max(...t.map(e=>e.width));return Math.max(...e.map(e=>e.width))*e.length-n*t.length})}return u[0][0].top}}onmessage=e=>{let{data:t}=e;if(!t.id||!t.type)return;let n=(0,({getDanmuTop:o})[t.type])(t);self.postMessage({result:n,id:t.id})}},{}]},["59OZS"],"59OZS","parcelRequire4dc0");'},{}],lO8OT:[function(t,e,i){var a=t("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(i);var n=t("bundle-text:./style.less"),o=a.interopDefault(n),s=t("bundle-text:./img/on.svg"),l=a.interopDefault(s),r=t("bundle-text:./img/off.svg"),d=a.interopDefault(r),p=t("bundle-text:./img/config.svg"),u=a.interopDefault(p),h=t("bundle-text:./img/style.svg"),m=a.interopDefault(h),c=t("bundle-text:./img/mode_0_off.svg"),f=a.interopDefault(c),g=t("bundle-text:./img/mode_0_on.svg"),y=a.interopDefault(g),v=t("bundle-text:./img/mode_1_off.svg"),x=a.interopDefault(v),k=t("bundle-text:./img/mode_1_on.svg"),b=a.interopDefault(k),$=t("bundle-text:./img/mode_2_off.svg"),w=a.interopDefault($),M=t("bundle-text:./img/mode_2_on.svg"),E=a.interopDefault(M),S=t("bundle-text:./img/check_on.svg"),D=a.interopDefault(S),z=t("bundle-text:./img/check_off.svg"),A=a.interopDefault(z);if(i.default=class{constructor(t,e){this.art=t,this.danmuku=e,this.utils=t.constructor.utils;let{setStyle:i}=this.utils,{$controlsCenter:a}=t.template;i(a,"display","flex"),this.template={$controlsCenter:a,$mount:a,$danmuku:null,$toggle:null,$config:null,$configPanel:null,$configModes:null,$style:null,$stylePanel:null,$styleModes:null,$colors:null,$opacitySlider:null,$opacityValue:null,$marginSlider:null,$marginValue:null,$fontSizeSlider:null,$fontSizeValue:null,$speedSlider:null,$speedValue:null,$input:null,$send:null},this.slider={opacity:null,margin:null,fontSize:null,speed:null},this.emitting=!1,this.isLock=!1,this.timer=null,this.createTemplate(),this.createSliders(),this.createEvents(),this.mount(this.option.mount),t.on("resize",()=>this.resize()),t.on("fullscreen",t=>this.onFullscreen(t)),t.on("fullscreenWeb",t=>this.onFullscreen(t)),t.proxy(this.template.$config,"mouseenter",()=>{this.onMouseEnter({$control:this.template.$config,$panel:this.template.$configPanel})}),t.proxy(this.template.$style,"mouseenter",()=>{this.onMouseEnter({$control:this.template.$style,$panel:this.template.$stylePanel})})}static get icons(){return{$on:l.default,$off:d.default,$config:u.default,$style:m.default,$mode_0_off:f.default,$mode_0_on:y.default,$mode_1_off:x.default,$mode_1_on:b.default,$mode_2_off:w.default,$mode_2_on:E.default,$check_on:D.default,$check_off:A.default}}get option(){return this.danmuku.option}get outside(){return this.template.$mount!==this.template.$controlsCenter}get TEMPLATE(){let{option:t}=this;return`
${l.default}${d.default}
${u.default}
\u{6309}\u{7C7B}\u{578B}\u{5C4F}\u{853D}
${f.default}${y.default}
\u{6EDA}\u{52A8}
${x.default}${b.default}
\u{9876}\u{90E8}
${w.default}${E.default}
\u{5E95}\u{90E8}
${D.default}${A.default} \u{9632}\u{6B62}\u{5F39}\u{5E55}\u{91CD}\u{53E0}
${D.default}${A.default} \u{540C}\u{6B65}\u{89C6}\u{9891}\u{901F}\u{5EA6}
\u{4E0D}\u{900F}\u{660E}\u{5EA6}
\u{672A}\u{77E5}
\u{663E}\u{793A}\u{533A}\u{57DF}
\u{672A}\u{77E5}
\u{5F39}\u{5E55}\u{5B57}\u{53F7}
\u{672A}\u{77E5}
\u{5F39}\u{5E55}\u{901F}\u{5EA6}
\u{672A}\u{77E5}
${m.default}
\u{6A21}\u{5F0F}
${y.default}
\u{6EDA}\u{52A8}
${b.default}
\u{9876}\u{90E8}
${E.default}
\u{5E95}\u{90E8}
\u{989C}\u{8272}
${this.COLOR.map(t=>`
`).join("")}
\u{53D1}\u{9001}
`}get OPACITY(){return{min:0,max:100,steps:[],...this.option.OPACITY}}get FONT_SIZE(){return{min:12,max:120,steps:[],...this.option.FONT_SIZE}}get MARGIN(){return{min:0,max:3,steps:[{name:"1/4",value:[10,"75%"]},{name:"半屏",value:[10,"50%"]},{name:"3/4",value:[10,"25%"]},{name:"满屏",value:[10,10]}],...this.option.MARGIN}}get SPEED(){return{min:0,max:4,steps:[{name:"极慢",value:10},{name:"较慢",value:7.5,hide:!0},{name:"适中",value:5},{name:"较快",value:2.5,hide:!0},{name:"极快",value:1}],...this.option.SPEED}}get COLOR(){return this.option.COLOR.length?this.option.COLOR:["#FE0302","#FF7204","#FFAA02","#FFD302","#FFFF00","#A0EE00","#00CD00","#019899","#4266BE","#89D5FF","#CC0273","#222222","#9B9B9B","#FFFFFF"]}query(t){let{query:e}=this.utils,{$danmuku:i}=this.template;return e(t,i)}append(t,e){let{append:i}=this.utils;[...t.children].some(t=>t===e)||i(t,e)}setData(t,e){let{$player:i}=this.art.template,{$mount:a}=this.template;i.dataset[t]=e,this.outside&&(a.dataset[t]=e)}createTemplate(){let{createElement:t,tooltip:e}=this.utils,i=t("div");i.className="artplayer-plugin-danmuku",i.innerHTML=this.TEMPLATE,this.template.$danmuku=i,this.template.$toggle=this.query(".apd-toggle"),this.template.$config=this.query(".apd-config"),this.template.$configPanel=this.query(".apd-config-panel"),this.template.$configModes=this.query(".apd-config-mode .apd-modes"),this.template.$style=this.query(".apd-style"),this.template.$stylePanel=this.query(".apd-style-panel"),this.template.$styleModes=this.query(".apd-style-mode .apd-modes"),this.template.$colors=this.query(".apd-colors"),this.template.$antiOverlap=this.query(".apd-anti-overlap"),this.template.$syncVideo=this.query(".apd-sync-video"),this.template.$opacitySlider=this.query(".apd-config-opacity .apd-slider"),this.template.$opacityValue=this.query(".apd-config-opacity .apd-value"),this.template.$marginSlider=this.query(".apd-config-margin .apd-slider"),this.template.$marginValue=this.query(".apd-config-margin .apd-value"),this.template.$fontSizeSlider=this.query(".apd-config-fontSize .apd-slider"),this.template.$fontSizeValue=this.query(".apd-config-fontSize .apd-value"),this.template.$speedSlider=this.query(".apd-config-speed .apd-slider"),this.template.$speedValue=this.query(".apd-config-speed .apd-value"),this.template.$input=this.query(".apd-input"),this.template.$send=this.query(".apd-send");let{$toggle:a}=this.template;this.art.on("artplayerPluginDanmuku:show",()=>{e(a,"关闭弹幕")}),this.art.on("artplayerPluginDanmuku:hide",()=>{e(a,"打开弹幕")})}createEvents(){let{$toggle:t,$configModes:e,$styleModes:i,$colors:a,$antiOverlap:n,$syncVideo:o,$send:s,$input:l}=this.template;this.art.proxy(t,"click",()=>{this.danmuku.config({visible:!this.option.visible}),this.reset()}),this.art.proxy(e,"click",t=>{let e=t.target.closest(".apd-mode");if(!e)return;let i=Number(e.dataset.mode);this.option.modes.includes(i)?this.danmuku.config({modes:this.option.modes.filter(t=>t!==i)}):this.danmuku.config({modes:[...this.option.modes,i]}),this.reset()}),this.art.proxy(n,"click",()=>{this.danmuku.config({antiOverlap:!this.option.antiOverlap}),this.reset()}),this.art.proxy(o,"click",()=>{this.danmuku.config({synchronousPlayback:!this.option.synchronousPlayback}),this.reset()}),this.art.proxy(i,"click",t=>{let e=t.target.closest(".apd-mode");if(!e)return;let i=Number(e.dataset.mode);this.danmuku.config({mode:i}),this.reset()}),this.art.proxy(a,"click",t=>{let e=t.target.closest(".apd-color");e&&(this.danmuku.config({color:e.dataset.color}),this.reset())}),this.art.proxy(s,"click",()=>this.emit()),this.art.proxy(l,"keypress",t=>{"Enter"===t.key&&(t.preventDefault(),this.emit())})}createSliders(){this.slider.opacity=this.createSlider({...this.OPACITY,container:this.template.$opacitySlider,findIndex:()=>Math.round(100*this.option.opacity),onChange:t=>{let{$opacityValue:e}=this.template;e.textContent=`${t}%`,this.danmuku.config({opacity:t/100})}}),this.slider.margin=this.createSlider({...this.MARGIN,container:this.template.$marginSlider,findIndex:()=>this.MARGIN.steps.findIndex(t=>t.value[0]===this.option.margin[0]&&t.value[1]===this.option.margin[1]),onChange:t=>{let e=this.MARGIN.steps[t];if(!e)return;let{$marginValue:i}=this.template;i.textContent=e.name,this.danmuku.config({margin:e.value})}}),this.slider.fontSize=this.createSlider({...this.FONT_SIZE,container:this.template.$fontSizeSlider,findIndex:()=>this.danmuku.fontSize,onChange:t=>{let{$fontSizeValue:e}=this.template;e.textContent=`${t}px`,t!==this.danmuku.fontSize&&this.danmuku.config({fontSize:t})}}),this.slider.speed=this.createSlider({...this.SPEED,container:this.template.$speedSlider,findIndex:()=>this.SPEED.steps.findIndex(t=>t.value===this.option.speed),onChange:t=>{let e=this.SPEED.steps[t];if(!e)return;let{$speedValue:i}=this.template;i.textContent=e.name,this.danmuku.config({speed:e.value})}})}createSlider({min:t,max:e,container:i,findIndex:a,onChange:n,steps:o=[]}){let{query:s,clamp:l}=this.utils;i.innerHTML=`
${o.map(()=>'
').join("")}
${o.map(t=>t.hide?"":`
${t.name}
`).join("")}
`;let r=s(".apd-slider-dot",i),d=s(".apd-slider-progress",i),p=!1;function u(i=a()){if(ie)return;let s=(i-t)/(e-t);r.style.left=`${100*s}%`,0===o.length&&(d.style.width=r.style.left),n(i)}function h(a){let{left:n,width:o}=i.getBoundingClientRect();u(Math.round(l(a.clientX-n,0,o)/o*(e-t)+t))}return this.art.proxy(i,"click",t=>{h(t)}),this.art.proxy(i,"mousedown",t=>{p=0===t.button}),this.art.on("document:mousemove",t=>{p&&h(t)}),this.art.on("document:mouseup",t=>{p&&(p=!1,h(t))}),{reset:u}}onFullscreen(t){let{$danmuku:e,$controlsCenter:i,$mount:a}=this.template;this.outside?t?this.append(i,e):this.append(a,e):this.append(i,e)}onMouseEnter({$control:t,$panel:e}){let{$player:i}=this.art.template,a=t.getBoundingClientRect(),n=e.getBoundingClientRect(),o=i.getBoundingClientRect(),s=n.width/2-a.width/2,l=o.left-(a.left-s),r=a.right+s-o.right;l>0?e.style.left=`${-s+l}px`:r>0?e.style.left=`${-s-r}px`:e.style.left=`${-s}px`}async emit(){let{$input:t}=this.template,e=t.value.trim();if(!e.length||this.isLock||this.emitting)return;let i={text:e,mode:this.option.mode,color:this.option.color,time:this.art.currentTime};try{this.emitting=!0;let e=await this.option.beforeEmit(i);if(this.emitting=!1,!0!==e)return;i.border=!0,delete i.time,this.danmuku.emit(i),t.value="",this.lock()}catch(t){this.emitting=!1}}lock(){let{addClass:t}=this.utils,{$send:e}=this.template;this.isLock=!0;let i=this.option.lockTime;e.innerText=i,t(e,"apd-lock");let a=()=>{this.timer=setTimeout(()=>{0===i?this.unlock():(i-=1,e.innerText=i,a())},1e3)};a()}unlock(){let{removeClass:t}=this.utils,{$send:e}=this.template;clearTimeout(this.timer),this.isLock=!1,e.innerText="发送",t(e,"apd-lock")}resize(){if(this.outside||this.art.fullscreen||this.art.fullscreenWeb)return;let{$player:t,$controlsCenter:e}=this.art.template,{$danmuku:i}=this.template;this.art.widtht.dataset.color===this.option.color.toUpperCase());n&&t(n,"apd-active"),e(i,this.option.visible?"关闭弹幕":"打开弹幕"),this.resize()}mount(t){let{errorHandle:e}=this.utils,i="string"==typeof t?document.querySelector(t):t;e(i,`Can not find the mount point: ${t}`),this.append(i,this.template.$danmuku),this.template.$mount=i,this.reset()}},"undefined"!=typeof document){let t="artplayer-plugin-danmuku",e=document.getElementById(t);if(e)e.textContent=o.default;else{let e=document.createElement("style");e.id=t,e.textContent=o.default,document.head.appendChild(e)}}},{"bundle-text:./style.less":"hViDo","bundle-text:./img/on.svg":"9pjcf","bundle-text:./img/off.svg":"b2dkP","bundle-text:./img/config.svg":"l8tyy","bundle-text:./img/style.svg":"5iZC3","bundle-text:./img/mode_0_off.svg":"i0Vut","bundle-text:./img/mode_0_on.svg":"hOSvZ","bundle-text:./img/mode_1_off.svg":"bOXC3","bundle-text:./img/mode_1_on.svg":"lKuh0","bundle-text:./img/mode_2_off.svg":"eB8W6","bundle-text:./img/mode_2_on.svg":"bpe2E","bundle-text:./img/check_on.svg":"kL9zy","bundle-text:./img/check_off.svg":"22xpM","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],hViDo:[function(t,e,i){e.exports='.artplayer-plugin-danmuku{z-index:99;color:#fff;flex-shrink:0;justify-content:center;align-items:center;gap:10px;width:100%;height:32px;font-size:12px;font-weight:300;display:flex;position:relative}.artplayer-plugin-danmuku .apd-icon{cursor:pointer;opacity:.75;fill:#fff;transition:all .2s}.artplayer-plugin-danmuku .apd-icon:hover{opacity:1}.artplayer-plugin-danmuku .apd-config{display:flex;position:relative}.artplayer-plugin-danmuku .apd-config .apd-config-panel{opacity:0;pointer-events:none;width:320px;padding:10px;position:absolute;bottom:24px;left:0}.artplayer-plugin-danmuku .apd-config .apd-config-panel .apd-config-panel-inner{background-color:#000000d9;border-radius:3px;width:100%;padding:10px}.artplayer-plugin-danmuku .apd-config:hover .apd-config-panel{opacity:100;pointer-events:all}.artplayer-plugin-danmuku .apd-config-mode,.artplayer-plugin-danmuku .apd-config-slider,.artplayer-plugin-danmuku .apd-config-other,.artplayer-plugin-danmuku .apd-style-mode{margin-bottom:15px}.artplayer-plugin-danmuku .apd-modes{align-items:center;gap:20px;margin-top:5px;display:flex}.artplayer-plugin-danmuku .apd-modes .apd-mode{cursor:pointer;text-align:center}.artplayer-plugin-danmuku .apd-modes .apd-mode:hover{color:#00a1d6}.artplayer-plugin-danmuku .apd-config-slider{align-items:center;gap:12px;display:flex}.artplayer-plugin-danmuku .apd-config-slider .apd-value{text-align:right;width:32px}.artplayer-plugin-danmuku .apd-slider{cursor:pointer;flex:1;justify-content:center;align-items:center;height:20px;display:flex;position:relative}.artplayer-plugin-danmuku .apd-slider .apd-slider-line{background-color:#ffffff40;border-radius:3px;width:100%;height:2px;position:relative;overflow:hidden}.artplayer-plugin-danmuku .apd-slider .apd-slider-points{justify-content:space-between;align-items:center;display:flex;position:absolute;inset:0}.artplayer-plugin-danmuku .apd-slider .apd-slider-points .apd-slider-point{background-color:#ffffff80;border-radius:50%;width:2px;height:2px}.artplayer-plugin-danmuku .apd-slider .apd-slider-progress{background-color:#00a1d6;width:0%;height:100%}.artplayer-plugin-danmuku .apd-slider .apd-slider-dot{background-color:#00a1d6;border-radius:50%;width:12px;height:12px;position:absolute;left:0%;transform:translate(-6px)}.artplayer-plugin-danmuku .apd-slider .apd-slider-steps{color:#777;justify-content:space-between;align-items:center;width:calc(100% + 32px);display:flex;position:absolute;bottom:-12px}.artplayer-plugin-danmuku .apd-slider .apd-slider-steps .apd-slider-step{text-align:center;flex-shrink:0;width:36px;scale:.95}.artplayer-plugin-danmuku .apd-config-other{align-items:center;gap:20px;display:flex}.artplayer-plugin-danmuku .apd-config-other .apd-check-off,.artplayer-plugin-danmuku .apd-config-other .apd-check-on{width:16px;height:16px}.artplayer-plugin-danmuku .apd-config-other .apd-other{cursor:pointer;align-items:center;gap:2px;display:flex}.artplayer-plugin-danmuku .apd-config-other .apd-other:hover{color:#00a1d6}.artplayer-plugin-danmuku .apd-emitter{background-color:#ffffff40;border-radius:5px;flex:1;align-items:center;height:100%;display:flex}.artplayer-plugin-danmuku .apd-style{justify-content:center;align-items:center;display:flex;position:relative}.artplayer-plugin-danmuku .apd-style .apd-style-panel{opacity:0;pointer-events:none;width:200px;padding:10px;position:absolute;bottom:24px;left:0}.artplayer-plugin-danmuku .apd-style .apd-style-panel .apd-style-panel-inner{background-color:#000000d9;border-radius:3px;width:100%;padding:10px}.artplayer-plugin-danmuku .apd-style:hover .apd-style-panel{opacity:100;pointer-events:all}.artplayer-plugin-danmuku .apd-colors{flex-wrap:wrap;gap:8px;margin-top:5px;display:flex}.artplayer-plugin-danmuku .apd-colors .apd-color{cursor:pointer;border-radius:2px;width:16px;height:16px}.artplayer-plugin-danmuku .apd-colors .apd-color.apd-active{border:1px solid #000;box-shadow:0 0 0 1px #fff}.artplayer-plugin-danmuku .apd-input{color:#fff;background-color:#0000;border:none;outline:none;flex:1;width:auto;min-width:0;height:100%;line-height:1}.artplayer-plugin-danmuku .apd-input::placeholder{color:#ffffff80}.artplayer-plugin-danmuku .apd-send{cursor:pointer;text-shadow:none;background-color:#00a1d6;border-top-right-radius:5px;border-bottom-right-radius:5px;flex-shrink:0;justify-content:center;align-items:center;width:60px;height:100%;display:flex}.artplayer-plugin-danmuku .apd-send.apd-lock{cursor:not-allowed;color:#666;background-color:#e7e7e7}.art-controls-center .apd-emitter{flex:none;width:260px}.art-fullscreen .artplayer-plugin-danmuku,.art-fullscreen-web .artplayer-plugin-danmuku{gap:16px;height:38px}.art-fullscreen .artplayer-plugin-danmuku .apd-config-icon,.art-fullscreen-web .artplayer-plugin-danmuku .apd-config-icon,.art-fullscreen .artplayer-plugin-danmuku .apd-toggle-off,.art-fullscreen-web .artplayer-plugin-danmuku .apd-toggle-off,.art-fullscreen .artplayer-plugin-danmuku .apd-toggle-on,.art-fullscreen-web .artplayer-plugin-danmuku .apd-toggle-on{width:28px;height:28px}.art-fullscreen .artplayer-plugin-danmuku .apd-emitter,.art-fullscreen-web .artplayer-plugin-danmuku .apd-emitter{flex:none;width:400px}.art-video-player>.artplayer-plugin-danmuku{padding:0 10px;position:absolute;bottom:-40px;left:0;right:0}.art-video-player:has(>.artplayer-plugin-danmuku){margin-bottom:40px}[data-danmuku-emitter=false] .apd-emitter{display:none!important}[data-danmuku-emitter=false] .art-controls-center .artplayer-plugin-danmuku{justify-content:flex-end;gap:18px}[data-danmuku-emitter=false].art-fullscreen .art-controls-center .artplayer-plugin-danmuku,[data-danmuku-emitter=false].art-fullscreen-web .art-controls-center .artplayer-plugin-danmuku{gap:24px}[data-danmuku-theme=light]>.artplayer-plugin-danmuku .apd-icon{fill:#333}[data-danmuku-theme=light]>.artplayer-plugin-danmuku .apd-emitter{background-color:#f1f2f3}[data-danmuku-theme=light]>.artplayer-plugin-danmuku .apd-input{color:#000}[data-danmuku-theme=light]>.artplayer-plugin-danmuku .apd-input::placeholder{color:#0000004d}[data-danmuku-visible=false] .apd-toggle-off{display:block}[data-danmuku-visible=false] .apd-toggle-on,[data-danmuku-visible=true] .apd-toggle-off{display:none}[data-danmuku-visible=true] .apd-toggle-on{display:block}[data-danmuku-anti-overlap=false] .apd-anti-overlap .apd-check-on{display:none}[data-danmuku-anti-overlap=false] .apd-anti-overlap .apd-check-off,[data-danmuku-anti-overlap=true] .apd-anti-overlap .apd-check-on{display:block}[data-danmuku-anti-overlap=true] .apd-anti-overlap .apd-check-off,[data-danmuku-sync-video=false] .apd-sync-video .apd-check-on{display:none}[data-danmuku-sync-video=false] .apd-sync-video .apd-check-off,[data-danmuku-sync-video=true] .apd-sync-video .apd-check-on{display:block}[data-danmuku-sync-video=true] .apd-sync-video .apd-check-off{display:none}[data-danmuku-mode0=false] .apd-config-mode .apd-mode-0-off{display:block}[data-danmuku-mode0=false] .apd-config-mode .apd-mode-0-on{display:none}[data-danmuku-mode0=false] .art-danmuku [data-mode="0"]{opacity:0!important}[data-danmuku-mode0=true] .apd-config-mode .apd-mode-0-off{display:none}[data-danmuku-mode0=true] .apd-config-mode .apd-mode-0-on{display:block}[data-danmuku-mode="0"] .apd-style-mode [data-mode="0"]{color:#00a1d6}[data-danmuku-mode="0"] .apd-style-mode [data-mode="0"] path{fill:#00a1d6}[data-danmuku-mode1=false] .apd-config-mode .apd-mode-1-off{display:block}[data-danmuku-mode1=false] .apd-config-mode .apd-mode-1-on{display:none}[data-danmuku-mode1=false] .art-danmuku [data-mode="1"]{opacity:0!important}[data-danmuku-mode1=true] .apd-config-mode .apd-mode-1-off{display:none}[data-danmuku-mode1=true] .apd-config-mode .apd-mode-1-on{display:block}[data-danmuku-mode="1"] .apd-style-mode [data-mode="1"]{color:#00a1d6}[data-danmuku-mode="1"] .apd-style-mode [data-mode="1"] path{fill:#00a1d6}[data-danmuku-mode2=false] .apd-config-mode .apd-mode-2-off{display:block}[data-danmuku-mode2=false] .apd-config-mode .apd-mode-2-on{display:none}[data-danmuku-mode2=false] .art-danmuku [data-mode="2"]{opacity:0!important}[data-danmuku-mode2=true] .apd-config-mode .apd-mode-2-off{display:none}[data-danmuku-mode2=true] .apd-config-mode .apd-mode-2-on{display:block}[data-danmuku-mode="2"] .apd-style-mode [data-mode="2"]{color:#00a1d6}[data-danmuku-mode="2"] .apd-style-mode [data-mode="2"] path{fill:#00a1d6}'},{}],"9pjcf":[function(t,e,i){e.exports=''},{}],b2dkP:[function(t,e,i){e.exports=''},{}],l8tyy:[function(t,e,i){e.exports=''},{}],"5iZC3":[function(t,e,i){e.exports=''},{}],i0Vut:[function(t,e,i){e.exports=''},{}],hOSvZ:[function(t,e,i){e.exports=''},{}],bOXC3:[function(t,e,i){e.exports=''},{}],lKuh0:[function(t,e,i){e.exports=''},{}],eB8W6:[function(t,e,i){e.exports=''},{}],bpe2E:[function(t,e,i){e.exports=''},{}],kL9zy:[function(t,e,i){e.exports=''},{}],"22xpM":[function(t,e,i){e.exports=''},{}],"8AxLD":[function(t,e,i){var a=t("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(i),a.export(i,"default",()=>s);let n={map:(t,e,i,a,n)=>(t-e)*(n-a)/(i-e)+a,range(t,e,i){let a=Math.round(t/i)*i;return Array.from({length:Math.floor((e-t)/i)},(t,e)=>e*i+a)}},o=(t,e)=>{let i=e[0]-t[0],a=e[1]-t[1];return{length:Math.sqrt(Math.pow(i,2)+Math.pow(a,2)),angle:Math.atan2(a,i)}};function s(t,e,i){let{query:a}=t.constructor.utils;t.controls.add({name:"heatmap",position:"top",html:"",style:{position:"absolute",top:"-100px",left:"0px",right:"0px",height:"100px",width:"100%",pointerEvents:"none"},mounted(s){let l=null,r=null;function d(p=[]){if(l=null,r=null,s.innerHTML="",!t.duration||t.option.isLive)return;let u={w:s.offsetWidth,h:s.offsetHeight},h={xMin:0,xMax:u.w,yMin:0,yMax:128,scale:.25,opacity:.2,minHeight:Math.floor(.05*u.h),sampling:Math.floor(u.w/100),smoothing:.2,flattening:.2};"object"==typeof i&&Object.assign(h,i);let m=[];if(Array.isArray(p)&&p.length)m=[...p];else{let i=t.duration/u.w;for(let t=0;t<=u.w;t+=h.sampling){let a=e.queue.filter(({time:e})=>e>t*i&&e<=(t+h.sampling)*i).length;m.push([t,a])}}if(0===m.length)return;let c=m[m.length-1],f=c[0],g=c[1];f!==u.w&&m.push([u.w,g]);let y=m.map(t=>t[1]),v=(Math.min(...y)+Math.max(...y))/2;for(let t=0;tv?1+h.scale:1-h.scale)+h.minHeight}let x=(t,e,i,a)=>{let s=o(e||t,i||t),l=n.map(Math.cos(s.angle)*h.flattening,0,1,1,0),r=s.angle*l+(a?Math.PI:0),d=s.length*h.smoothing;return[t[0]+Math.cos(r)*d,t[1]+Math.sin(r)*d]},k=(t,e,i)=>{let a=x(i[e-1],i[e-2],t),n=x(t,i[e-1],i[e+1],!0),o=e===i.length-1?" z":"";return`C ${a[0]},${a[1]} ${n[0]},${n[1]} ${t[0]},${t[1]}${o}`},b=m.map(t=>[n.map(t[0],h.xMin,h.xMax,0,u.w),n.map(t[1],h.yMin,h.yMax,u.h,0)]).reduce((t,e,i,a)=>0===i?`M ${a[a.length-1][0]},${u.h} L ${e[0]},${u.h} L ${e[0]},${e[1]}`:`${t} ${k(e,i,a)}`,"");s.innerHTML=``,l=a("#heatmap-start",s),r=a("#heatmap-stop",s),l.setAttribute("offset",`${100*t.played}%`),r.setAttribute("offset",`${100*t.played}%`)}t.on("video:timeupdate",()=>{l&&r&&(l.setAttribute("offset",`${100*t.played}%`),r.setAttribute("offset",`${100*t.played}%`))}),t.on("setBar",(t,e)=>{l&&r&&"played"===t&&(l.setAttribute("offset",`${100*e}%`),r.setAttribute("offset",`${100*e}%`))}),t.on("ready",()=>d()),t.on("resize",()=>d()),t.on("artplayerPluginDanmuku:loaded",()=>d()),t.on("artplayerPluginDanmuku:points",t=>d(t))}})}},{"@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}]},["bgm6t"],"bgm6t","parcelRequire4dc0"); \ No newline at end of file diff --git a/compiled/artplayer-plugin-danmuku.legacy.js b/compiled/artplayer-plugin-danmuku.legacy.js index 7dee0bcf4..da6f7f41d 100644 --- a/compiled/artplayer-plugin-danmuku.legacy.js +++ b/compiled/artplayer-plugin-danmuku.legacy.js @@ -5,4 +5,4 @@ * (c) 2017-2024 Harvey Zack * Released under the MIT License. */ -!function(e,t,r,n,a){var o="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},i="function"==typeof o[n]&&o[n],s=i.cache||{},l="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function u(t,r){if(!s[t]){if(!e[t]){var a="function"==typeof o[n]&&o[n];if(!r&&a)return a(t,!0);if(i)return i(t,!0);if(l&&"string"==typeof t)return l(t);var c=Error("Cannot find module '"+t+"'");throw c.code="MODULE_NOT_FOUND",c}d.resolve=function(r){var n=e[t][1][r];return null!=n?n:r},d.cache={};var p=s[t]=new u.Module(t);e[t][0].call(p.exports,d,p,p.exports,this)}return s[t].exports;function d(e){var t=d.resolve(e);return!1===t?{}:u(t)}}u.isParcelRequire=!0,u.Module=function(e){this.id=e,this.bundle=u,this.exports={}},u.modules=e,u.cache=s,u.parent=i,u.register=function(t,r){e[t]=[function(e,t){t.exports=r},{}]},Object.defineProperty(u,"root",{get:function(){return o[n]}}),o[n]=u;for(var c=0;c=r.time&&r.time>=e-.1&&t.push(r)}),t}},{key:"visibles",get:function(){var e=this,t=[],r=this.$player.clientWidth,n=this.getLeft(this.$player);return this.filter("emit",function(a){var o=a.$ref.offsetTop,i=e.getLeft(a.$ref)-n,s=a.$ref.clientHeight,l=a.$ref.clientWidth,u=i+l,c=u/a.$restTime,p={};p.top=o,p.left=i,p.height=s,p.width=l,p.right=r-u,p.speed=c,p.distance=u,p.time=a.$restTime,p.mode=a.mode,t.push(p)}),t}},{key:"speed",get:function(){return this.option.synchronousPlayback&&this.art.playbackRate?this.option.speed/Number(this.art.playbackRate):this.option.speed}},{key:"load",value:function(e){var t=this;return(0,a._)(function(){var r,n,a,o,i,s;return(0,u._)(this,function(l){switch(l.label){case 0:r=t.utils.errorHandle,n=[],a=e||t.option.danmuku,l.label=1;case 1:if(l.trys.push([1,13,,14]),"function"!=typeof a)return[3,3];return[4,a()];case 2:case 4:case 6:return n=l.sent(),[3,8];case 3:if(!(a instanceof Promise))return[3,5];return[4,a];case 5:if("string"!=typeof a)return[3,7];return[4,(0,c.bilibiliDanmuParseFromUrl)(a)];case 7:Array.isArray(a)&&(n=a),l.label=8;case 8:r(Array.isArray(n),"Danmuku need return an array as result"),void 0===e&&(t.reset(),t.queue=[],t.states={wait:[],ready:[],emit:[],stop:[]},t.$refs=[],t.$danmuku.innerText=""),o=0,l.label=9;case 9:if(!(o0&&void 0!==arguments[0]?arguments[0]:{};return new Promise(function(r){t.id=Date.now(),e.worker.postMessage(t),e.worker.onmessage=function(e){var n=e.data;n.id===t.id&&r(n)}})}},{key:"filter",value:function(e,t){for(var r=this.states[e]||[],n=0;nt.indexOf(n)&&(r[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var a=0,n=Object.getOwnPropertySymbols(e);at.indexOf(n[a])&&Object.prototype.propertyIsEnumerable.call(e,n[a])&&(r[n[a]]=e[n[a]]);return r}function u(e,t,r,n){var a,o=arguments.length,i=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(e,t,r,n);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(i=(o<3?a(i):o>3?a(t,r,i):a(t,r))||i);return o>3&&i&&Object.defineProperty(t,r,i),i}function c(e,t){return function(r,n){t(r,n,e)}}function p(e,t,r,n,a,o){function i(e){if(void 0!==e&&"function"!=typeof e)throw TypeError("Function expected");return e}for(var s,l=n.kind,u="getter"===l?"get":"setter"===l?"set":"value",c=!t&&e?n.static?e:e.prototype:null,p=t||(c?Object.getOwnPropertyDescriptor(c,n.name):{}),d=!1,f=r.length-1;f>=0;f--){var h={};for(var m in n)h[m]="access"===m?{}:n[m];for(var m in n.access)h.access[m]=n.access[m];h.addInitializer=function(e){if(d)throw TypeError("Cannot add initializers after decoration has completed");o.push(i(e||null))};var y=(0,r[f])("accessor"===l?{get:p.get,set:p.set}:p[u],h);if("accessor"===l){if(void 0===y)continue;if(null===y||"object"!=typeof y)throw TypeError("Object expected");(s=i(y.get))&&(p.get=s),(s=i(y.set))&&(p.set=s),(s=i(y.init))&&a.unshift(s)}else(s=i(y))&&("field"===l?a.unshift(s):p[u]=s)}c&&Object.defineProperty(c,n.name,p),d=!0}function d(e,t,r){for(var n=arguments.length>2,a=0;a0&&a[a.length-1])&&(6===s[0]||2===s[0])){i=0;continue}if(3===s[0]&&(!a||s[1]>a[0]&&s[1]=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function x(e,t){var r="function"==typeof Symbol&&e[Symbol.iterator];if(!r)return e;var n,a,o=r.call(e),i=[];try{for(;(void 0===t||t-- >0)&&!(n=o.next()).done;)i.push(n.value)}catch(e){a={error:e}}finally{try{n&&!n.done&&(r=o.return)&&r.call(o)}finally{if(a)throw a.error}}return i}function k(){for(var e=[],t=0;t1||s(e,t)})},t&&(n[e]=t(n[e])))}function s(e,t){try{var r;(r=a[e](t)).value instanceof $?Promise.resolve(r.value.v).then(l,u):c(o[0][2],r)}catch(e){c(o[0][3],e)}}function l(e){s("next",e)}function u(e){s("throw",e)}function c(e,t){e(t),o.shift(),o.length&&s(o[0][0],o[0][1])}}function S(e){var t,r;return t={},n("next"),n("throw",function(e){throw e}),n("return"),t[Symbol.iterator]=function(){return this},t;function n(n,a){t[n]=e[n]?function(t){return(r=!r)?{value:$(e[n](t)),done:!1}:a?a(t):t}:a}}function D(e){if(!Symbol.asyncIterator)throw TypeError("Symbol.asyncIterator is not defined.");var t,r=e[Symbol.asyncIterator];return r?r.call(e):(e=b(e),t={},n("next"),n("throw"),n("return"),t[Symbol.asyncIterator]=function(){return this},t);function n(r){t[r]=e[r]&&function(t){return new Promise(function(n,a){!function(e,t,r,n){Promise.resolve(n).then(function(t){e({value:t,done:r})},t)}(n,a,(t=e[r](t)).done,t.value)})}}}function M(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e}var P=Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t};function F(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&v(t,e,r);return P(t,e),t}function E(e){return e&&e.__esModule?e:{default:e}}function T(e,t,r,n){if("a"===r&&!n)throw TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!n:!t.has(e))throw TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?n:"a"===r?n.call(e):n?n.value:t.get(e)}function A(e,t,r,n,a){if("m"===n)throw TypeError("Private method is not writable");if("a"===n&&!a)throw TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!a:!t.has(e))throw TypeError("Cannot write private member to an object whose class did not declare it");return"a"===n?a.call(e,r):a?a.value=r:t.set(e,r),r}function z(e,t){if(null===t||"object"!=typeof t&&"function"!=typeof t)throw TypeError("Cannot use 'in' operator on non-object");return"function"==typeof e?t===e:e.has(t)}function I(e,t,r){if(null!=t){var n,a;if("object"!=typeof t&&"function"!=typeof t)throw TypeError("Object expected.");if(r){if(!Symbol.asyncDispose)throw TypeError("Symbol.asyncDispose is not defined.");n=t[Symbol.asyncDispose]}if(void 0===n){if(!Symbol.dispose)throw TypeError("Symbol.dispose is not defined.");n=t[Symbol.dispose],r&&(a=n)}if("function"!=typeof n)throw TypeError("Object not disposable.");a&&(n=function(){try{a.call(this)}catch(e){return Promise.reject(e)}}),e.stack.push({value:t,dispose:n,async:r})}else r&&e.stack.push({async:!0});return t}var C="function"==typeof SuppressedError?SuppressedError:function(e,t,r){var n=Error(r);return n.name="SuppressedError",n.error=e,n.suppressed=t,n};function L(e){function t(t){e.error=e.hasError?new C(t,e.error,"An error was suppressed during disposal."):t,e.hasError=!0}return function r(){for(;e.stack.length;){var n=e.stack.pop();try{var a=n.dispose&&n.dispose.call(n.value);if(n.async)return Promise.resolve(a).then(r,function(e){return t(e),r()})}catch(e){t(e)}}if(e.hasError)throw e.error}()}r.default={__extends:i,__assign:s,__rest:l,__decorate:u,__param:c,__metadata:m,__awaiter:y,__generator:g,__createBinding:v,__exportStar:_,__values:b,__read:x,__spread:k,__spreadArrays:w,__spreadArray:j,__await:$,__asyncGenerator:O,__asyncDelegator:S,__asyncValues:D,__makeTemplateObject:M,__importStar:F,__importDefault:E,__classPrivateFieldGet:T,__classPrivateFieldSet:A,__classPrivateFieldIn:z,__addDisposableResource:I,__disposeResources:L}},{"@swc/helpers/_/_type_of":"felZi","@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}],felZi:[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");function a(e){return e&&"undefined"!=typeof Symbol&&e.constructor===Symbol?"symbol":typeof e}n.defineInteropFlag(r),n.export(r,"_type_of",function(){return a}),n.export(r,"_",function(){return a})},{"@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}],kMsXR:[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(r),n.export(r,"bilibiliDanmuParseFromUrl",function(){return u});var a=e("@swc/helpers/_/_async_to_generator"),o=e("@swc/helpers/_/_ts_generator");function i(e){switch(e){case 1:case 2:case 3:default:return 0;case 4:return 2;case 5:return 1}}function s(e){if("string"!=typeof e)return[];var t=new RegExp(RegExp('(?.+?)<\\/d>',"gs"));return Array.from(e.matchAll(t)).map(function(e){var t=e.groups.p.split(",");return t.length>=8?{text:e.groups.text.trim().replaceAll(""",'"').replaceAll("'","'").replaceAll("<","<").replaceAll(">",">").replaceAll("&","&"),time:Number(t[0]),mode:i(Number(t[1])),fontSize:Number(t[2]),color:"#".concat(Number(t[3]).toString(16)),timestamp:Number(t[4]),pool:Number(t[5]),userID:t[6],rowID:Number(t[7])}:null}).filter(Boolean)}function l(e){var t=e.data,r=t.xml,n=t.id;if(n&&r){var a=s(r);self.postMessage({danmus:a,id:n})}}function u(e){var t;return new Promise((t=(0,a._)(function(t){var r,n;return(0,o._)(this,function(a){switch(a.label){case 0:return[4,fetch(e)];case 1:return[4,a.sent().text()];case 2:r=a.sent();try{var o;o=new Blob(["\n ".concat(i.toString(),"\n ").concat(s.toString(),"\n onmessage = ").concat(l.toString(),"\n ")],{type:"application/javascript"}),(n=new Worker(URL.createObjectURL(o))).onmessage=function(e){var r=e.data,a=r.danmus;r.id&&a&&(t(a),n.terminate())},n.postMessage({xml:r,id:Date.now()})}catch(e){t(s(r))}return[2]}})}),function(e){return t.apply(this,arguments)}))}},{"@swc/helpers/_/_async_to_generator":"eONSn","@swc/helpers/_/_ts_generator":"6Xyd0","@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}],"1gMd5":[function(e,t,r){t.exports='!function(e,r,t,n,o){var a="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},i="function"==typeof a[n]&&a[n],s=i.cache||{},u="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function l(r,t){if(!s[r]){if(!e[r]){var o="function"==typeof a[n]&&a[n];if(!t&&o)return o(r,!0);if(i)return i(r,!0);if(u&&"string"==typeof r)return u(r);var f=Error("Cannot find module \'"+r+"\'");throw f.code="MODULE_NOT_FOUND",f}c.resolve=function(t){var n=e[r][1][t];return null!=n?n:t},c.cache={};var p=s[r]=new l.Module(r);e[r][0].call(p.exports,c,p,p.exports,this)}return s[r].exports;function c(e){var r=c.resolve(e);return!1===r?{}:l(r)}}l.isParcelRequire=!0,l.Module=function(e){this.id=e,this.bundle=l,this.exports={}},l.modules=e,l.cache=s,l.parent=i,l.register=function(r,t){e[r]=[function(e,r){r.exports=t},{}]},Object.defineProperty(l,"root",{get:function(){return a[n]}}),a[n]=l;for(var f=0;f=0;p-=1){var c=f[p],_=f[p+1],d=c.top+c.height;if(_.top-d>=r.height)return _.top-r.height}else for(var h=1;h=r.height)return g}for(var j=[],b=1;be.time)})});return w&&w[0]?w[0].top:void 0;case 1:case 2:return}else{switch(r.mode){case 0:j.sort(function(e,r){var t,o,a=(t=Math).min.apply(t,(0,n._)(r.map(function(e){return e.right}))),i=(o=Math).min.apply(o,(0,n._)(e.map(function(e){return e.right})));return a*r.length-i*e.length});break;case 1:case 2:j.sort(function(e,r){var t,o,a=(t=Math).max.apply(t,(0,n._)(r.map(function(e){return e.width})));return(o=Math).max.apply(o,(0,n._)(e.map(function(e){return e.width})))*e.length-a*r.length})}return j[0][0].top}}onmessage=function(e){var r=e.data;if(r.id&&r.type){var t=(0,({getDanmuTop:o})[r.type])(r);self.postMessage({result:t,id:r.id})}}},{"@swc/helpers/_/_to_consumable_array":"iwLF0"}],iwLF0:[function(e,r,t){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(t),n.export(t,"_to_consumable_array",function(){return u}),n.export(t,"_",function(){return u});var o=e("./_array_without_holes.js"),a=e("./_iterable_to_array.js"),i=e("./_non_iterable_spread.js"),s=e("./_unsupported_iterable_to_array.js");function u(e){return(0,o._array_without_holes)(e)||(0,a._iterable_to_array)(e)||(0,s._unsupported_iterable_to_array)(e)||(0,i._non_iterable_spread)()}},{"./_array_without_holes.js":"cuL6A","./_iterable_to_array.js":"2thrs","./_non_iterable_spread.js":"a8nO2","./_unsupported_iterable_to_array.js":"5m31D","@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}],cuL6A:[function(e,r,t){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(t),n.export(t,"_array_without_holes",function(){return a}),n.export(t,"_",function(){return a});var o=e("./_array_like_to_array.js");function a(e){if(Array.isArray(e))return(0,o._array_like_to_array)(e)}},{"./_array_like_to_array.js":"djwRR","@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}],djwRR:[function(e,r,t){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");function o(e,r){(null==r||r>e.length)&&(r=e.length);for(var t=0,n=Array(r);t\n '.concat(h.default).concat(y.default,'\n\n
\n ').concat(v.default,'\n
\n
\n
\n 按类型屏蔽\n
\n
\n ').concat(k.default).concat(j.default,'\n
滚动
\n
\n
\n ').concat(O.default).concat(D.default,'\n
顶部
\n
\n
\n ').concat(P.default).concat(E.default,'\n
底部
\n
\n
\n
\n
\n
\n ').concat(A.default).concat(I.default,'\n 防止弹幕重叠\n
\n
\n ').concat(A.default).concat(I.default,'\n 同步视频速度\n
\n
\n
\n 不透明度\n
\n
未知
\n
\n
\n 显示区域\n
\n
未知
\n
\n
\n 弹幕字号\n
\n
未知
\n
\n
\n 弹幕速度\n
\n
未知
\n
\n
\n
\n
\n
\n
\n ').concat(b.default,'\n
\n
\n
\n 模式\n
\n
\n ').concat(j.default,'\n
滚动
\n
\n
\n ').concat(D.default,'\n
顶部
\n
\n
\n ').concat(E.default,'\n
底部
\n
\n
\n
\n
\n 颜色\n
\n ').concat(this.COLOR.map(function(e){return'
')}).join(""),'\n
\n
\n
\n
\n
\n\n
发送
\n
\n ')}},{key:"OPACITY",get:function(){return(0,s._)({min:0,max:100,steps:[]},this.option.OPACITY)}},{key:"FONT_SIZE",get:function(){return(0,s._)({min:12,max:120,steps:[]},this.option.FONT_SIZE)}},{key:"MARGIN",get:function(){return(0,s._)({min:0,max:3,steps:[{name:"1/4",value:[10,"75%"]},{name:"半屏",value:[10,"50%"]},{name:"3/4",value:[10,"25%"]},{name:"满屏",value:[10,10]}]},this.option.MARGIN)}},{key:"SPEED",get:function(){return(0,s._)({min:0,max:4,steps:[{name:"极慢",value:10},{name:"较慢",value:7.5,hide:!0},{name:"适中",value:5},{name:"较快",value:2.5,hide:!0},{name:"极快",value:1}]},this.option.SPEED)}},{key:"COLOR",get:function(){return this.option.COLOR.length?this.option.COLOR:["#FE0302","#FF7204","#FFAA02","#FFD302","#FFFF00","#A0EE00","#00CD00","#019899","#4266BE","#89D5FF","#CC0273","#222222","#9B9B9B","#FFFFFF"]}},{key:"query",value:function(e){return(0,this.utils.query)(e,this.template.$danmuku)}},{key:"append",value:function(e,t){var r=this.utils.append;(0,u._)(e.children).some(function(e){return e===t})||r(e,t)}},{key:"setData",value:function(e,t){var r=this.art.template.$player,n=this.template.$mount;r.dataset[e]=t,this.outside&&(n.dataset[e]=t)}},{key:"createTemplate",value:function(){var e=this.utils,t=e.createElement,r=e.tooltip,n=t("div");n.className="artplayer-plugin-danmuku",n.innerHTML=this.TEMPLATE,this.template.$danmuku=n,this.template.$toggle=this.query(".apd-toggle"),this.template.$config=this.query(".apd-config"),this.template.$configPanel=this.query(".apd-config-panel"),this.template.$configModes=this.query(".apd-config-mode .apd-modes"),this.template.$style=this.query(".apd-style"),this.template.$stylePanel=this.query(".apd-style-panel"),this.template.$styleModes=this.query(".apd-style-mode .apd-modes"),this.template.$colors=this.query(".apd-colors"),this.template.$antiOverlap=this.query(".apd-anti-overlap"),this.template.$syncVideo=this.query(".apd-sync-video"),this.template.$opacitySlider=this.query(".apd-config-opacity .apd-slider"),this.template.$opacityValue=this.query(".apd-config-opacity .apd-value"),this.template.$marginSlider=this.query(".apd-config-margin .apd-slider"),this.template.$marginValue=this.query(".apd-config-margin .apd-value"),this.template.$fontSizeSlider=this.query(".apd-config-fontSize .apd-slider"),this.template.$fontSizeValue=this.query(".apd-config-fontSize .apd-value"),this.template.$speedSlider=this.query(".apd-config-speed .apd-slider"),this.template.$speedValue=this.query(".apd-config-speed .apd-value"),this.template.$input=this.query(".apd-input"),this.template.$send=this.query(".apd-send");var a=this.template.$toggle;this.art.on("artplayerPluginDanmuku:show",function(){r(a,"关闭弹幕")}),this.art.on("artplayerPluginDanmuku:hide",function(){r(a,"打开弹幕")})}},{key:"createEvents",value:function(){var e=this,t=this.template,r=t.$toggle,n=t.$configModes,a=t.$styleModes,o=t.$colors,i=t.$antiOverlap,s=t.$syncVideo,l=t.$send,c=t.$input;this.art.proxy(r,"click",function(){e.danmuku.config({visible:!e.option.visible}),e.reset()}),this.art.proxy(n,"click",function(t){var r=t.target.closest(".apd-mode");if(r){var n=Number(r.dataset.mode);e.option.modes.includes(n)?e.danmuku.config({modes:e.option.modes.filter(function(e){return e!==n})}):e.danmuku.config({modes:(0,u._)(e.option.modes).concat([n])}),e.reset()}}),this.art.proxy(i,"click",function(){e.danmuku.config({antiOverlap:!e.option.antiOverlap}),e.reset()}),this.art.proxy(s,"click",function(){e.danmuku.config({synchronousPlayback:!e.option.synchronousPlayback}),e.reset()}),this.art.proxy(a,"click",function(t){var r=t.target.closest(".apd-mode");if(r){var n=Number(r.dataset.mode);e.danmuku.config({mode:n}),e.reset()}}),this.art.proxy(o,"click",function(t){var r=t.target.closest(".apd-color");r&&(e.danmuku.config({color:r.dataset.color}),e.reset())}),this.art.proxy(l,"click",function(){return e.emit()}),this.art.proxy(c,"keypress",function(t){"Enter"===t.key&&(t.preventDefault(),e.emit())})}},{key:"createSliders",value:function(){var e=this;this.slider.opacity=this.createSlider((0,l._)((0,s._)({},this.OPACITY),{container:this.template.$opacitySlider,findIndex:function(){return Math.round(100*e.option.opacity)},onChange:function(t){e.template.$opacityValue.textContent="".concat(t,"%"),e.danmuku.config({opacity:t/100})}})),this.slider.margin=this.createSlider((0,l._)((0,s._)({},this.MARGIN),{container:this.template.$marginSlider,findIndex:function(){return e.MARGIN.steps.findIndex(function(t){return t.value[0]===e.option.margin[0]&&t.value[1]===e.option.margin[1]})},onChange:function(t){var r=e.MARGIN.steps[t];r&&(e.template.$marginValue.textContent=r.name,e.danmuku.config({margin:r.value}))}})),this.slider.fontSize=this.createSlider((0,l._)((0,s._)({},this.FONT_SIZE),{container:this.template.$fontSizeSlider,findIndex:function(){return e.danmuku.fontSize},onChange:function(t){e.template.$fontSizeValue.textContent="".concat(t,"px"),t!==e.danmuku.fontSize&&e.danmuku.config({fontSize:t})}})),this.slider.speed=this.createSlider((0,l._)((0,s._)({},this.SPEED),{container:this.template.$speedSlider,findIndex:function(){return e.SPEED.steps.findIndex(function(t){return t.value===e.option.speed})},onChange:function(t){var r=e.SPEED.steps[t];r&&(e.template.$speedValue.textContent=r.name,e.danmuku.config({speed:r.value}))}}))}},{key:"createSlider",value:function(e){var t=e.min,r=e.max,n=e.container,a=e.findIndex,o=e.onChange,i=e.steps,s=void 0===i?[]:i,l=this.utils,u=l.query,c=l.clamp;n.innerHTML='\n
\n
\n '.concat(s.map(function(){return'
'}).join(""),'\n
\n
\n
\n
\n
\n ').concat(s.map(function(e){return e.hide?"":'
'.concat(e.name,"
")}).join(""),"\n
\n ");var p=u(".apd-slider-dot",n),d=u(".apd-slider-progress",n),f=!1;function h(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:a();if(!(er)){var n=(e-t)/(r-t);p.style.left="".concat(100*n,"%"),0===s.length&&(d.style.width=p.style.left),o(e)}}function m(e){var a=n.getBoundingClientRect(),o=a.left,i=a.width;h(Math.round(c(e.clientX-o,0,i)/i*(r-t)+t))}return this.art.proxy(n,"click",function(e){m(e)}),this.art.proxy(n,"mousedown",function(e){f=0===e.button}),this.art.on("document:mousemove",function(e){f&&m(e)}),this.art.on("document:mouseup",function(e){f&&(f=!1,m(e))}),{reset:h}}},{key:"onFullscreen",value:function(e){var t=this.template,r=t.$danmuku,n=t.$controlsCenter,a=t.$mount;this.outside?e?this.append(n,r):this.append(a,r):this.append(n,r)}},{key:"onMouseEnter",value:function(e){var t=e.$control,r=e.$panel,n=this.art.template.$player,a=t.getBoundingClientRect(),o=r.getBoundingClientRect(),i=n.getBoundingClientRect(),s=o.width/2-a.width/2,l=i.left-(a.left-s),u=a.right+s-i.right;l>0?r.style.left="".concat(-s+l,"px"):u>0?r.style.left="".concat(-s-u,"px"):r.style.left="".concat(-s,"px")}},{key:"emit",value:function(){var e=this;return(0,a._)(function(){var t,r,n,a;return(0,c._)(this,function(o){switch(o.label){case 0:if(!(r=(t=e.template.$input).value.trim()).length||e.isLock||e.emitting)return[2];n={text:r,mode:e.option.mode,color:e.option.color,time:e.art.currentTime},o.label=1;case 1:return o.trys.push([1,3,,4]),e.emitting=!0,[4,e.option.beforeEmit(n)];case 2:if(a=o.sent(),e.emitting=!1,!0!==a)return[2];return n.border=!0,delete n.time,e.danmuku.emit(n),t.value="",e.lock(),[3,4];case 3:return o.sent(),e.emitting=!1,[3,4];case 4:return[2]}})})()}},{key:"lock",value:function(){var e=this,t=this.utils.addClass,r=this.template.$send;this.isLock=!0;var n=this.option.lockTime;r.innerText=n,t(r,"apd-lock");var a=function(){e.timer=setTimeout(function(){0===n?e.unlock():(n-=1,r.innerText=n,a())},1e3)};a()}},{key:"unlock",value:function(){var e=this.utils.removeClass,t=this.template.$send;clearTimeout(this.timer),this.isLock=!1,t.innerText="发送",e(t,"apd-lock")}},{key:"resize",value:function(){if(!this.outside&&!this.art.fullscreen&&!this.art.fullscreenWeb){var e=this.art.template,t=e.$player,r=e.$controlsCenter,n=this.template.$danmuku;this.art.widthe.length)&&(t=e.length);for(var r=0,n=Array(t);r.artplayer-plugin-danmuku{padding:0 10px;position:absolute;bottom:-40px;left:0;right:0}.art-video-player:has(>.artplayer-plugin-danmuku){margin-bottom:40px}[data-danmuku-emitter=false] .apd-emitter{display:none!important}[data-danmuku-emitter=false] .art-controls-center .artplayer-plugin-danmuku{justify-content:flex-end;gap:18px}[data-danmuku-emitter=false].art-fullscreen .art-controls-center .artplayer-plugin-danmuku,[data-danmuku-emitter=false].art-fullscreen-web .art-controls-center .artplayer-plugin-danmuku{gap:24px}[data-danmuku-theme=light]>.artplayer-plugin-danmuku .apd-icon{fill:#333}[data-danmuku-theme=light]>.artplayer-plugin-danmuku .apd-emitter{background-color:#f1f2f3}[data-danmuku-theme=light]>.artplayer-plugin-danmuku .apd-input{color:#000}[data-danmuku-theme=light]>.artplayer-plugin-danmuku .apd-input::placeholder{color:rgba(0,0,0,.3)}[data-danmuku-theme=light]>.artplayer-plugin-danmuku .apd-input::placeholder{color:rgba(0,0,0,.3)}[data-danmuku-visible=false] .apd-toggle-off{display:block}[data-danmuku-visible=false] .apd-toggle-on,[data-danmuku-visible=true] .apd-toggle-off{display:none}[data-danmuku-visible=true] .apd-toggle-on{display:block}[data-danmuku-anti-overlap=false] .apd-anti-overlap .apd-check-on{display:none}[data-danmuku-anti-overlap=false] .apd-anti-overlap .apd-check-off,[data-danmuku-anti-overlap=true] .apd-anti-overlap .apd-check-on{display:block}[data-danmuku-anti-overlap=true] .apd-anti-overlap .apd-check-off,[data-danmuku-sync-video=false] .apd-sync-video .apd-check-on{display:none}[data-danmuku-sync-video=false] .apd-sync-video .apd-check-off,[data-danmuku-sync-video=true] .apd-sync-video .apd-check-on{display:block}[data-danmuku-sync-video=true] .apd-sync-video .apd-check-off{display:none}[data-danmuku-mode0=false] .apd-config-mode .apd-mode-0-off{display:block}[data-danmuku-mode0=false] .apd-config-mode .apd-mode-0-on{display:none}[data-danmuku-mode0=false] .art-danmuku [data-mode="0"]{opacity:0!important}[data-danmuku-mode0=true] .apd-config-mode .apd-mode-0-off{display:none}[data-danmuku-mode0=true] .apd-config-mode .apd-mode-0-on{display:block}[data-danmuku-mode="0"] .apd-style-mode [data-mode="0"]{color:#00a1d6}[data-danmuku-mode="0"] .apd-style-mode [data-mode="0"] path{fill:#00a1d6}[data-danmuku-mode1=false] .apd-config-mode .apd-mode-1-off{display:block}[data-danmuku-mode1=false] .apd-config-mode .apd-mode-1-on{display:none}[data-danmuku-mode1=false] .art-danmuku [data-mode="1"]{opacity:0!important}[data-danmuku-mode1=true] .apd-config-mode .apd-mode-1-off{display:none}[data-danmuku-mode1=true] .apd-config-mode .apd-mode-1-on{display:block}[data-danmuku-mode="1"] .apd-style-mode [data-mode="1"]{color:#00a1d6}[data-danmuku-mode="1"] .apd-style-mode [data-mode="1"] path{fill:#00a1d6}[data-danmuku-mode2=false] .apd-config-mode .apd-mode-2-off{display:block}[data-danmuku-mode2=false] .apd-config-mode .apd-mode-2-on{display:none}[data-danmuku-mode2=false] .art-danmuku [data-mode="2"]{opacity:0!important}[data-danmuku-mode2=true] .apd-config-mode .apd-mode-2-off{display:none}[data-danmuku-mode2=true] .apd-config-mode .apd-mode-2-on{display:block}[data-danmuku-mode="2"] .apd-style-mode [data-mode="2"]{color:#00a1d6}[data-danmuku-mode="2"] .apd-style-mode [data-mode="2"] path{fill:#00a1d6}'},{}],"4mwSI":[function(e,t,r){t.exports=''},{}],"9bQDs":[function(e,t,r){t.exports=''},{}],cciuY:[function(e,t,r){t.exports=''},{}],e5G6o:[function(e,t,r){t.exports=''},{}],fC4yA:[function(e,t,r){t.exports=''},{}],fUkVg:[function(e,t,r){t.exports=''},{}],isoJm:[function(e,t,r){t.exports=''},{}],"20nBM":[function(e,t,r){t.exports=''},{}],"6x9CL":[function(e,t,r){t.exports=''},{}],"7GKdL":[function(e,t,r){t.exports=''},{}],"9SCIh":[function(e,t,r){t.exports=''},{}],"6KRxn":[function(e,t,r){t.exports=''},{}],dXFn2:[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(r),n.export(r,"default",function(){return s});var a=e("@swc/helpers/_/_to_consumable_array"),o={map:function(e,t,r,n,a){return(e-t)*(a-n)/(r-t)+n}},i=function(e,t){var r=t[0]-e[0],n=t[1]-e[1];return{length:Math.sqrt(Math.pow(r,2)+Math.pow(n,2)),angle:Math.atan2(n,r)}};function s(e,t,r){var n=e.constructor.utils.query;e.controls.add({name:"heatmap",position:"top",html:"",style:{position:"absolute",top:"-100px",left:"0px",right:"0px",height:"100px",width:"100%",pointerEvents:"none"},mounted:function(s){var l=null,u=null;function c(){var c,p,d=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];if(l=null,u=null,s.innerHTML="",e.duration&&!e.option.isLive){var f={w:s.offsetWidth,h:s.offsetHeight},h={xMin:0,xMax:f.w,yMin:0,yMax:128,scale:.25,opacity:.2,minHeight:Math.floor(.05*f.h),sampling:Math.floor(f.w/100),smoothing:.2,flattening:.2};"object"==typeof r&&Object.assign(h,r);var m=[];if(Array.isArray(d)&&d.length)m=(0,a._)(d);else for(var y=function(e){var r=t.queue.filter(function(t){var r=t.time;return r>e*g&&r<=(e+h.sampling)*g}).length;m.push([e,r])},g=e.duration/f.w,v=0;v<=f.w;v+=h.sampling)y(v);if(0!==m.length){var _=m[m.length-1],b=_[0],x=_[1];b!==f.w&&m.push([f.w,x]);for(var k=m.map(function(e){return e[1]}),w=((c=Math).min.apply(c,(0,a._)(k))+(p=Math).max.apply(p,(0,a._)(k)))/2,j=0;jw?1+h.scale:1-h.scale)+h.minHeight}var S=function(e,t,r,n){var a=i(t||e,r||e),s=o.map(Math.cos(a.angle)*h.flattening,0,1,1,0),l=a.angle*s+(n?Math.PI:0),u=a.length*h.smoothing;return[e[0]+Math.cos(l)*u,e[1]+Math.sin(l)*u]},D=function(e,t,r){var n=S(r[t-1],r[t-2],e),a=S(e,r[t-1],r[t+1],!0),o=t===r.length-1?" z":"";return"C ".concat(n[0],",").concat(n[1]," ").concat(a[0],",").concat(a[1]," ").concat(e[0],",").concat(e[1]).concat(o)},M=m.map(function(e){return[o.map(e[0],h.xMin,h.xMax,0,f.w),o.map(e[1],h.yMin,h.yMax,f.h,0)]}).reduce(function(e,t,r,n){return 0===r?"M ".concat(n[n.length-1][0],",").concat(f.h," L ").concat(t[0],",").concat(f.h," L ").concat(t[0],",").concat(t[1]):"".concat(e," ").concat(D(t,r,n))},"");s.innerHTML='\n\n\n\n\n\n\n\n\n\n\n\n '),l=n("#heatmap-start",s),u=n("#heatmap-stop",s),l.setAttribute("offset","".concat(100*e.played,"%")),u.setAttribute("offset","".concat(100*e.played,"%"))}}}e.on("video:timeupdate",function(){l&&u&&(l.setAttribute("offset","".concat(100*e.played,"%")),u.setAttribute("offset","".concat(100*e.played,"%")))}),e.on("setBar",function(e,t){l&&u&&"played"===e&&(l.setAttribute("offset","".concat(100*t,"%")),u.setAttribute("offset","".concat(100*t,"%")))}),e.on("ready",function(){return c()}),e.on("resize",function(){return c()}),e.on("artplayerPluginDanmuku:loaded",function(){return c()}),e.on("artplayerPluginDanmuku:points",function(e){return c(e)})}})}},{"@swc/helpers/_/_to_consumable_array":"iwLF0","@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}]},["40mNk"],"40mNk","parcelRequire4dc0"); \ No newline at end of file +!function(e,t,n,r,a){var o="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},i="function"==typeof o[r]&&o[r],s=i.cache||{},l="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function u(t,n){if(!s[t]){if(!e[t]){var a="function"==typeof o[r]&&o[r];if(!n&&a)return a(t,!0);if(i)return i(t,!0);if(l&&"string"==typeof t)return l(t);var c=Error("Cannot find module '"+t+"'");throw c.code="MODULE_NOT_FOUND",c}d.resolve=function(n){var r=e[t][1][n];return null!=r?r:n},d.cache={};var p=s[t]=new u.Module(t);e[t][0].call(p.exports,d,p,p.exports,this)}return s[t].exports;function d(e){var t=d.resolve(e);return!1===t?{}:u(t)}}u.isParcelRequire=!0,u.Module=function(e){this.id=e,this.bundle=u,this.exports={}},u.modules=e,u.cache=s,u.parent=i,u.register=function(t,n){e[t]=[function(e,t){t.exports=n},{}]},Object.defineProperty(u,"root",{get:function(){return o[r]}}),o[r]=u;for(var c=0;c=n.time&&n.time>=e-.1&&t.push(n)}),t}},{key:"visibles",get:function(){var e=this,t=[],n=this.$player.clientWidth,r=this.getLeft(this.$player);return this.filter("emit",function(a){var o=a.$ref.offsetTop,i=e.getLeft(a.$ref)-r,s=a.$ref.clientHeight,l=a.$ref.clientWidth,u=i+l,c=u/a.$restTime,p={};p.top=o,p.left=i,p.height=s,p.width=l,p.right=n-u,p.speed=c,p.distance=u,p.time=a.$restTime,p.mode=a.mode,t.push(p)}),t}},{key:"speed",get:function(){return this.option.synchronousPlayback&&this.art.playbackRate?this.option.speed/Number(this.art.playbackRate):this.option.speed}},{key:"load",value:function(e){var t=this;return(0,a._)(function(){var n,r,a,o,i,s;return(0,u._)(this,function(l){switch(l.label){case 0:n=t.utils.errorHandle,r=[],a=e||t.option.danmuku,l.label=1;case 1:if(l.trys.push([1,13,,14]),"function"!=typeof a)return[3,3];return[4,a()];case 2:case 4:case 6:return r=l.sent(),[3,8];case 3:if(!(a instanceof Promise))return[3,5];return[4,a];case 5:if("string"!=typeof a)return[3,7];return[4,(0,c.bilibiliDanmuParseFromUrl)(a)];case 7:Array.isArray(a)&&(r=a),l.label=8;case 8:n(Array.isArray(r),"Danmuku need return an array as result"),void 0===e&&(t.reset(),t.queue=[],t.states={wait:[],ready:[],emit:[],stop:[]},t.$refs=[],t.$danmuku.innerText=""),o=0,l.label=9;case 9:if(!(o0&&void 0!==arguments[0]?arguments[0]:{};return new Promise(function(n){t.id=Date.now(),e.worker.postMessage(t),e.worker.onmessage=function(e){var r=e.data;r.id===t.id&&n(r)}})}},{key:"filter",value:function(e,t){for(var n=this.states[e]||[],r=0;rt.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var a=0,r=Object.getOwnPropertySymbols(e);at.indexOf(r[a])&&Object.prototype.propertyIsEnumerable.call(e,r[a])&&(n[r[a]]=e[r[a]]);return n}function u(e,t,n,r){var a,o=arguments.length,i=o<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(i=(o<3?a(i):o>3?a(t,n,i):a(t,n))||i);return o>3&&i&&Object.defineProperty(t,n,i),i}function c(e,t){return function(n,r){t(n,r,e)}}function p(e,t,n,r,a,o){function i(e){if(void 0!==e&&"function"!=typeof e)throw TypeError("Function expected");return e}for(var s,l=r.kind,u="getter"===l?"get":"setter"===l?"set":"value",c=!t&&e?r.static?e:e.prototype:null,p=t||(c?Object.getOwnPropertyDescriptor(c,r.name):{}),d=!1,f=n.length-1;f>=0;f--){var h={};for(var m in r)h[m]="access"===m?{}:r[m];for(var m in r.access)h.access[m]=r.access[m];h.addInitializer=function(e){if(d)throw TypeError("Cannot add initializers after decoration has completed");o.push(i(e||null))};var g=(0,n[f])("accessor"===l?{get:p.get,set:p.set}:p[u],h);if("accessor"===l){if(void 0===g)continue;if(null===g||"object"!=typeof g)throw TypeError("Object expected");(s=i(g.get))&&(p.get=s),(s=i(g.set))&&(p.set=s),(s=i(g.init))&&a.unshift(s)}else(s=i(g))&&("field"===l?a.unshift(s):p[u]=s)}c&&Object.defineProperty(c,r.name,p),d=!0}function d(e,t,n){for(var r=arguments.length>2,a=0;a0&&a[a.length-1])&&(6===s[0]||2===s[0])){i=0;continue}if(3===s[0]&&(!a||s[1]>a[0]&&s[1]=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function x(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,a,o=n.call(e),i=[];try{for(;(void 0===t||t-- >0)&&!(r=o.next()).done;)i.push(r.value)}catch(e){a={error:e}}finally{try{r&&!r.done&&(n=o.return)&&n.call(o)}finally{if(a)throw a.error}}return i}function k(){for(var e=[],t=0;t1||s(e,t)})},t&&(r[e]=t(r[e])))}function s(e,t){try{var n;(n=a[e](t)).value instanceof $?Promise.resolve(n.value.v).then(l,u):c(o[0][2],n)}catch(e){c(o[0][3],e)}}function l(e){s("next",e)}function u(e){s("throw",e)}function c(e,t){e(t),o.shift(),o.length&&s(o[0][0],o[0][1])}}function S(e){var t,n;return t={},r("next"),r("throw",function(e){throw e}),r("return"),t[Symbol.iterator]=function(){return this},t;function r(r,a){t[r]=e[r]?function(t){return(n=!n)?{value:$(e[r](t)),done:!1}:a?a(t):t}:a}}function D(e){if(!Symbol.asyncIterator)throw TypeError("Symbol.asyncIterator is not defined.");var t,n=e[Symbol.asyncIterator];return n?n.call(e):(e=b(e),t={},r("next"),r("throw"),r("return"),t[Symbol.asyncIterator]=function(){return this},t);function r(n){t[n]=e[n]&&function(t){return new Promise(function(r,a){!function(e,t,n,r){Promise.resolve(r).then(function(t){e({value:t,done:n})},t)}(r,a,(t=e[n](t)).done,t.value)})}}}function M(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e}var P=Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t};function F(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&v(t,e,n);return P(t,e),t}function E(e){return e&&e.__esModule?e:{default:e}}function T(e,t,n,r){if("a"===n&&!r)throw TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!r:!t.has(e))throw TypeError("Cannot read private member from an object whose class did not declare it");return"m"===n?r:"a"===n?r.call(e):r?r.value:t.get(e)}function A(e,t,n,r,a){if("m"===r)throw TypeError("Private method is not writable");if("a"===r&&!a)throw TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!a:!t.has(e))throw TypeError("Cannot write private member to an object whose class did not declare it");return"a"===r?a.call(e,n):a?a.value=n:t.set(e,n),n}function z(e,t){if(null===t||"object"!=typeof t&&"function"!=typeof t)throw TypeError("Cannot use 'in' operator on non-object");return"function"==typeof e?t===e:e.has(t)}function I(e,t,n){if(null!=t){var r,a;if("object"!=typeof t&&"function"!=typeof t)throw TypeError("Object expected.");if(n){if(!Symbol.asyncDispose)throw TypeError("Symbol.asyncDispose is not defined.");r=t[Symbol.asyncDispose]}if(void 0===r){if(!Symbol.dispose)throw TypeError("Symbol.dispose is not defined.");r=t[Symbol.dispose],n&&(a=r)}if("function"!=typeof r)throw TypeError("Object not disposable.");a&&(r=function(){try{a.call(this)}catch(e){return Promise.reject(e)}}),e.stack.push({value:t,dispose:r,async:n})}else n&&e.stack.push({async:!0});return t}var C="function"==typeof SuppressedError?SuppressedError:function(e,t,n){var r=Error(n);return r.name="SuppressedError",r.error=e,r.suppressed=t,r};function L(e){function t(t){e.error=e.hasError?new C(t,e.error,"An error was suppressed during disposal."):t,e.hasError=!0}return function n(){for(;e.stack.length;){var r=e.stack.pop();try{var a=r.dispose&&r.dispose.call(r.value);if(r.async)return Promise.resolve(a).then(n,function(e){return t(e),n()})}catch(e){t(e)}}if(e.hasError)throw e.error}()}n.default={__extends:i,__assign:s,__rest:l,__decorate:u,__param:c,__metadata:m,__awaiter:g,__generator:y,__createBinding:v,__exportStar:_,__values:b,__read:x,__spread:k,__spreadArrays:w,__spreadArray:j,__await:$,__asyncGenerator:O,__asyncDelegator:S,__asyncValues:D,__makeTemplateObject:M,__importStar:F,__importDefault:E,__classPrivateFieldGet:T,__classPrivateFieldSet:A,__classPrivateFieldIn:z,__addDisposableResource:I,__disposeResources:L}},{"@swc/helpers/_/_type_of":"felZi","@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}],felZi:[function(e,t,n){var r=e("@parcel/transformer-js/src/esmodule-helpers.js");function a(e){return e&&"undefined"!=typeof Symbol&&e.constructor===Symbol?"symbol":typeof e}r.defineInteropFlag(n),r.export(n,"_",function(){return a})},{"@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}],kMsXR:[function(e,t,n){var r=e("@parcel/transformer-js/src/esmodule-helpers.js");r.defineInteropFlag(n),r.export(n,"bilibiliDanmuParseFromUrl",function(){return u});var a=e("@swc/helpers/_/_async_to_generator"),o=e("@swc/helpers/_/_ts_generator");function i(e){switch(e){case 1:case 2:case 3:default:return 0;case 4:return 2;case 5:return 1}}function s(e){if("string"!=typeof e)return[];var t=new RegExp(RegExp('(?.+?)<\\/d>',"gs"));return Array.from(e.matchAll(t)).map(function(e){var t=e.groups.p.split(",");return t.length>=8?{text:e.groups.text.trim().replaceAll(""",'"').replaceAll("'","'").replaceAll("<","<").replaceAll(">",">").replaceAll("&","&"),time:Number(t[0]),mode:i(Number(t[1])),fontSize:Number(t[2]),color:"#".concat(Number(t[3]).toString(16)),timestamp:Number(t[4]),pool:Number(t[5]),userID:t[6],rowID:Number(t[7])}:null}).filter(Boolean)}function l(e){var t=e.data,n=t.xml,r=t.id;if(r&&n){var a=s(n);self.postMessage({danmus:a,id:r})}}function u(e){var t;return new Promise((t=(0,a._)(function(t){var n,r;return(0,o._)(this,function(a){switch(a.label){case 0:return[4,fetch(e)];case 1:return[4,a.sent().text()];case 2:n=a.sent();try{var o;o=new Blob(["\n ".concat(i.toString(),"\n ").concat(s.toString(),"\n onmessage = ").concat(l.toString(),"\n ")],{type:"application/javascript"}),(r=new Worker(URL.createObjectURL(o))).onmessage=function(e){var n=e.data,a=n.danmus;n.id&&a&&(t(a),r.terminate())},r.postMessage({xml:n,id:Date.now()})}catch(e){t(s(n))}return[2]}})}),function(e){return t.apply(this,arguments)}))}},{"@swc/helpers/_/_async_to_generator":"eONSn","@swc/helpers/_/_ts_generator":"6Xyd0","@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}],"1gMd5":[function(e,t,n){t.exports='!function(e,r,t,n,o){var a="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},i="function"==typeof a[n]&&a[n],s=i.cache||{},u="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function l(r,t){if(!s[r]){if(!e[r]){var o="function"==typeof a[n]&&a[n];if(!t&&o)return o(r,!0);if(i)return i(r,!0);if(u&&"string"==typeof r)return u(r);var f=Error("Cannot find module \'"+r+"\'");throw f.code="MODULE_NOT_FOUND",f}c.resolve=function(t){var n=e[r][1][t];return null!=n?n:t},c.cache={};var p=s[r]=new l.Module(r);e[r][0].call(p.exports,c,p,p.exports,this)}return s[r].exports;function c(e){var r=c.resolve(e);return!1===r?{}:l(r)}}l.isParcelRequire=!0,l.Module=function(e){this.id=e,this.bundle=l,this.exports={}},l.modules=e,l.cache=s,l.parent=i,l.register=function(r,t){e[r]=[function(e,r){r.exports=t},{}]},Object.defineProperty(l,"root",{get:function(){return a[n]}}),a[n]=l;for(var f=0;f=0;p-=1){var c=f[p],d=f[p+1],h=c.top+c.height;if(d.top-h>=r.height)return d.top-r.height}else for(var _=1;_=r.height)return g}for(var j=[],v=1;ve.time)})});return x&&x[0]?x[0].top:void 0;case 1:case 2:return}else{switch(r.mode){case 0:j.sort(function(e,r){var t,o,a=(t=Math).min.apply(t,(0,n._)(r.map(function(e){return e.right}))),i=(o=Math).min.apply(o,(0,n._)(e.map(function(e){return e.right})));return a*r.length-i*e.length});break;case 1:case 2:j.sort(function(e,r){var t,o,a=(t=Math).max.apply(t,(0,n._)(r.map(function(e){return e.width})));return(o=Math).max.apply(o,(0,n._)(e.map(function(e){return e.width})))*e.length-a*r.length})}return j[0][0].top}}onmessage=function(e){var r=e.data;if(r.id&&r.type){var t=(0,({getDanmuTop:o})[r.type])(r);self.postMessage({result:t,id:r.id})}}},{"@swc/helpers/_/_to_consumable_array":"iwLF0"}],iwLF0:[function(e,r,t){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(t),n.export(t,"_",function(){return u});var o=e("./_array_without_holes.js"),a=e("./_iterable_to_array.js"),i=e("./_non_iterable_spread.js"),s=e("./_unsupported_iterable_to_array.js");function u(e){return(0,o._)(e)||(0,a._)(e)||(0,s._)(e)||(0,i._)()}},{"./_array_without_holes.js":"cuL6A","./_iterable_to_array.js":"2thrs","./_non_iterable_spread.js":"a8nO2","./_unsupported_iterable_to_array.js":"5m31D","@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}],cuL6A:[function(e,r,t){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(t),n.export(t,"_",function(){return a});var o=e("./_array_like_to_array.js");function a(e){if(Array.isArray(e))return(0,o._)(e)}},{"./_array_like_to_array.js":"djwRR","@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}],djwRR:[function(e,r,t){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");function o(e,r){(null==r||r>e.length)&&(r=e.length);for(var t=0,n=Array(r);t\n '.concat(h.default).concat(g.default,'\n\n
\n ').concat(v.default,'\n
\n
\n
\n 按类型屏蔽\n
\n
\n ').concat(k.default).concat(j.default,'\n
滚动
\n
\n
\n ').concat(O.default).concat(D.default,'\n
顶部
\n
\n
\n ').concat(P.default).concat(E.default,'\n
底部
\n
\n
\n
\n
\n
\n ').concat(A.default).concat(I.default,'\n 防止弹幕重叠\n
\n
\n ').concat(A.default).concat(I.default,'\n 同步视频速度\n
\n
\n
\n 不透明度\n
\n
未知
\n
\n
\n 显示区域\n
\n
未知
\n
\n
\n 弹幕字号\n
\n
未知
\n
\n
\n 弹幕速度\n
\n
未知
\n
\n
\n
\n
\n
\n
\n ').concat(b.default,'\n
\n
\n
\n 模式\n
\n
\n ').concat(j.default,'\n
滚动
\n
\n
\n ').concat(D.default,'\n
顶部
\n
\n
\n ').concat(E.default,'\n
底部
\n
\n
\n
\n
\n 颜色\n
\n ').concat(this.COLOR.map(function(e){return'
')}).join(""),'\n
\n
\n
\n
\n
\n\n
发送
\n
\n ')}},{key:"OPACITY",get:function(){return(0,s._)({min:0,max:100,steps:[]},this.option.OPACITY)}},{key:"FONT_SIZE",get:function(){return(0,s._)({min:12,max:120,steps:[]},this.option.FONT_SIZE)}},{key:"MARGIN",get:function(){return(0,s._)({min:0,max:3,steps:[{name:"1/4",value:[10,"75%"]},{name:"半屏",value:[10,"50%"]},{name:"3/4",value:[10,"25%"]},{name:"满屏",value:[10,10]}]},this.option.MARGIN)}},{key:"SPEED",get:function(){return(0,s._)({min:0,max:4,steps:[{name:"极慢",value:10},{name:"较慢",value:7.5,hide:!0},{name:"适中",value:5},{name:"较快",value:2.5,hide:!0},{name:"极快",value:1}]},this.option.SPEED)}},{key:"COLOR",get:function(){return this.option.COLOR.length?this.option.COLOR:["#FE0302","#FF7204","#FFAA02","#FFD302","#FFFF00","#A0EE00","#00CD00","#019899","#4266BE","#89D5FF","#CC0273","#222222","#9B9B9B","#FFFFFF"]}},{key:"query",value:function(e){return(0,this.utils.query)(e,this.template.$danmuku)}},{key:"append",value:function(e,t){var n=this.utils.append;(0,u._)(e.children).some(function(e){return e===t})||n(e,t)}},{key:"setData",value:function(e,t){var n=this.art.template.$player,r=this.template.$mount;n.dataset[e]=t,this.outside&&(r.dataset[e]=t)}},{key:"createTemplate",value:function(){var e=this.utils,t=e.createElement,n=e.tooltip,r=t("div");r.className="artplayer-plugin-danmuku",r.innerHTML=this.TEMPLATE,this.template.$danmuku=r,this.template.$toggle=this.query(".apd-toggle"),this.template.$config=this.query(".apd-config"),this.template.$configPanel=this.query(".apd-config-panel"),this.template.$configModes=this.query(".apd-config-mode .apd-modes"),this.template.$style=this.query(".apd-style"),this.template.$stylePanel=this.query(".apd-style-panel"),this.template.$styleModes=this.query(".apd-style-mode .apd-modes"),this.template.$colors=this.query(".apd-colors"),this.template.$antiOverlap=this.query(".apd-anti-overlap"),this.template.$syncVideo=this.query(".apd-sync-video"),this.template.$opacitySlider=this.query(".apd-config-opacity .apd-slider"),this.template.$opacityValue=this.query(".apd-config-opacity .apd-value"),this.template.$marginSlider=this.query(".apd-config-margin .apd-slider"),this.template.$marginValue=this.query(".apd-config-margin .apd-value"),this.template.$fontSizeSlider=this.query(".apd-config-fontSize .apd-slider"),this.template.$fontSizeValue=this.query(".apd-config-fontSize .apd-value"),this.template.$speedSlider=this.query(".apd-config-speed .apd-slider"),this.template.$speedValue=this.query(".apd-config-speed .apd-value"),this.template.$input=this.query(".apd-input"),this.template.$send=this.query(".apd-send");var a=this.template.$toggle;this.art.on("artplayerPluginDanmuku:show",function(){n(a,"关闭弹幕")}),this.art.on("artplayerPluginDanmuku:hide",function(){n(a,"打开弹幕")})}},{key:"createEvents",value:function(){var e=this,t=this.template,n=t.$toggle,r=t.$configModes,a=t.$styleModes,o=t.$colors,i=t.$antiOverlap,s=t.$syncVideo,l=t.$send,c=t.$input;this.art.proxy(n,"click",function(){e.danmuku.config({visible:!e.option.visible}),e.reset()}),this.art.proxy(r,"click",function(t){var n=t.target.closest(".apd-mode");if(n){var r=Number(n.dataset.mode);e.option.modes.includes(r)?e.danmuku.config({modes:e.option.modes.filter(function(e){return e!==r})}):e.danmuku.config({modes:(0,u._)(e.option.modes).concat([r])}),e.reset()}}),this.art.proxy(i,"click",function(){e.danmuku.config({antiOverlap:!e.option.antiOverlap}),e.reset()}),this.art.proxy(s,"click",function(){e.danmuku.config({synchronousPlayback:!e.option.synchronousPlayback}),e.reset()}),this.art.proxy(a,"click",function(t){var n=t.target.closest(".apd-mode");if(n){var r=Number(n.dataset.mode);e.danmuku.config({mode:r}),e.reset()}}),this.art.proxy(o,"click",function(t){var n=t.target.closest(".apd-color");n&&(e.danmuku.config({color:n.dataset.color}),e.reset())}),this.art.proxy(l,"click",function(){return e.emit()}),this.art.proxy(c,"keypress",function(t){"Enter"===t.key&&(t.preventDefault(),e.emit())})}},{key:"createSliders",value:function(){var e=this;this.slider.opacity=this.createSlider((0,l._)((0,s._)({},this.OPACITY),{container:this.template.$opacitySlider,findIndex:function(){return Math.round(100*e.option.opacity)},onChange:function(t){e.template.$opacityValue.textContent="".concat(t,"%"),e.danmuku.config({opacity:t/100})}})),this.slider.margin=this.createSlider((0,l._)((0,s._)({},this.MARGIN),{container:this.template.$marginSlider,findIndex:function(){return e.MARGIN.steps.findIndex(function(t){return t.value[0]===e.option.margin[0]&&t.value[1]===e.option.margin[1]})},onChange:function(t){var n=e.MARGIN.steps[t];n&&(e.template.$marginValue.textContent=n.name,e.danmuku.config({margin:n.value}))}})),this.slider.fontSize=this.createSlider((0,l._)((0,s._)({},this.FONT_SIZE),{container:this.template.$fontSizeSlider,findIndex:function(){return e.danmuku.fontSize},onChange:function(t){e.template.$fontSizeValue.textContent="".concat(t,"px"),t!==e.danmuku.fontSize&&e.danmuku.config({fontSize:t})}})),this.slider.speed=this.createSlider((0,l._)((0,s._)({},this.SPEED),{container:this.template.$speedSlider,findIndex:function(){return e.SPEED.steps.findIndex(function(t){return t.value===e.option.speed})},onChange:function(t){var n=e.SPEED.steps[t];n&&(e.template.$speedValue.textContent=n.name,e.danmuku.config({speed:n.value}))}}))}},{key:"createSlider",value:function(e){var t=e.min,n=e.max,r=e.container,a=e.findIndex,o=e.onChange,i=e.steps,s=void 0===i?[]:i,l=this.utils,u=l.query,c=l.clamp;r.innerHTML='\n
\n
\n '.concat(s.map(function(){return'
'}).join(""),'\n
\n
\n
\n
\n
\n ').concat(s.map(function(e){return e.hide?"":'
'.concat(e.name,"
")}).join(""),"\n
\n ");var p=u(".apd-slider-dot",r),d=u(".apd-slider-progress",r),f=!1;function h(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:a();if(!(en)){var r=(e-t)/(n-t);p.style.left="".concat(100*r,"%"),0===s.length&&(d.style.width=p.style.left),o(e)}}function m(e){var a=r.getBoundingClientRect(),o=a.left,i=a.width;h(Math.round(c(e.clientX-o,0,i)/i*(n-t)+t))}return this.art.proxy(r,"click",function(e){m(e)}),this.art.proxy(r,"mousedown",function(e){f=0===e.button}),this.art.on("document:mousemove",function(e){f&&m(e)}),this.art.on("document:mouseup",function(e){f&&(f=!1,m(e))}),{reset:h}}},{key:"onFullscreen",value:function(e){var t=this.template,n=t.$danmuku,r=t.$controlsCenter,a=t.$mount;this.outside?e?this.append(r,n):this.append(a,n):this.append(r,n)}},{key:"onMouseEnter",value:function(e){var t=e.$control,n=e.$panel,r=this.art.template.$player,a=t.getBoundingClientRect(),o=n.getBoundingClientRect(),i=r.getBoundingClientRect(),s=o.width/2-a.width/2,l=i.left-(a.left-s),u=a.right+s-i.right;l>0?n.style.left="".concat(-s+l,"px"):u>0?n.style.left="".concat(-s-u,"px"):n.style.left="".concat(-s,"px")}},{key:"emit",value:function(){var e=this;return(0,a._)(function(){var t,n,r,a;return(0,c._)(this,function(o){switch(o.label){case 0:if(!(n=(t=e.template.$input).value.trim()).length||e.isLock||e.emitting)return[2];r={text:n,mode:e.option.mode,color:e.option.color,time:e.art.currentTime},o.label=1;case 1:return o.trys.push([1,3,,4]),e.emitting=!0,[4,e.option.beforeEmit(r)];case 2:if(a=o.sent(),e.emitting=!1,!0!==a)return[2];return r.border=!0,delete r.time,e.danmuku.emit(r),t.value="",e.lock(),[3,4];case 3:return o.sent(),e.emitting=!1,[3,4];case 4:return[2]}})})()}},{key:"lock",value:function(){var e=this,t=this.utils.addClass,n=this.template.$send;this.isLock=!0;var r=this.option.lockTime;n.innerText=r,t(n,"apd-lock");var a=function(){e.timer=setTimeout(function(){0===r?e.unlock():(r-=1,n.innerText=r,a())},1e3)};a()}},{key:"unlock",value:function(){var e=this.utils.removeClass,t=this.template.$send;clearTimeout(this.timer),this.isLock=!1,t.innerText="发送",e(t,"apd-lock")}},{key:"resize",value:function(){if(!this.outside&&!this.art.fullscreen&&!this.art.fullscreenWeb){var e=this.art.template,t=e.$player,n=e.$controlsCenter,r=this.template.$danmuku;this.art.widthe.length)&&(t=e.length);for(var n=0,r=Array(t);n.artplayer-plugin-danmuku{padding:0 10px;position:absolute;bottom:-40px;left:0;right:0}.art-video-player:has(>.artplayer-plugin-danmuku){margin-bottom:40px}[data-danmuku-emitter=false] .apd-emitter{display:none!important}[data-danmuku-emitter=false] .art-controls-center .artplayer-plugin-danmuku{justify-content:flex-end;gap:18px}[data-danmuku-emitter=false].art-fullscreen .art-controls-center .artplayer-plugin-danmuku,[data-danmuku-emitter=false].art-fullscreen-web .art-controls-center .artplayer-plugin-danmuku{gap:24px}[data-danmuku-theme=light]>.artplayer-plugin-danmuku .apd-icon{fill:#333}[data-danmuku-theme=light]>.artplayer-plugin-danmuku .apd-emitter{background-color:#f1f2f3}[data-danmuku-theme=light]>.artplayer-plugin-danmuku .apd-input{color:#000}[data-danmuku-theme=light]>.artplayer-plugin-danmuku .apd-input::placeholder{color:rgba(0,0,0,.3)}[data-danmuku-theme=light]>.artplayer-plugin-danmuku .apd-input::placeholder{color:rgba(0,0,0,.3)}[data-danmuku-visible=false] .apd-toggle-off{display:block}[data-danmuku-visible=false] .apd-toggle-on,[data-danmuku-visible=true] .apd-toggle-off{display:none}[data-danmuku-visible=true] .apd-toggle-on{display:block}[data-danmuku-anti-overlap=false] .apd-anti-overlap .apd-check-on{display:none}[data-danmuku-anti-overlap=false] .apd-anti-overlap .apd-check-off,[data-danmuku-anti-overlap=true] .apd-anti-overlap .apd-check-on{display:block}[data-danmuku-anti-overlap=true] .apd-anti-overlap .apd-check-off,[data-danmuku-sync-video=false] .apd-sync-video .apd-check-on{display:none}[data-danmuku-sync-video=false] .apd-sync-video .apd-check-off,[data-danmuku-sync-video=true] .apd-sync-video .apd-check-on{display:block}[data-danmuku-sync-video=true] .apd-sync-video .apd-check-off{display:none}[data-danmuku-mode0=false] .apd-config-mode .apd-mode-0-off{display:block}[data-danmuku-mode0=false] .apd-config-mode .apd-mode-0-on{display:none}[data-danmuku-mode0=false] .art-danmuku [data-mode="0"]{opacity:0!important}[data-danmuku-mode0=true] .apd-config-mode .apd-mode-0-off{display:none}[data-danmuku-mode0=true] .apd-config-mode .apd-mode-0-on{display:block}[data-danmuku-mode="0"] .apd-style-mode [data-mode="0"]{color:#00a1d6}[data-danmuku-mode="0"] .apd-style-mode [data-mode="0"] path{fill:#00a1d6}[data-danmuku-mode1=false] .apd-config-mode .apd-mode-1-off{display:block}[data-danmuku-mode1=false] .apd-config-mode .apd-mode-1-on{display:none}[data-danmuku-mode1=false] .art-danmuku [data-mode="1"]{opacity:0!important}[data-danmuku-mode1=true] .apd-config-mode .apd-mode-1-off{display:none}[data-danmuku-mode1=true] .apd-config-mode .apd-mode-1-on{display:block}[data-danmuku-mode="1"] .apd-style-mode [data-mode="1"]{color:#00a1d6}[data-danmuku-mode="1"] .apd-style-mode [data-mode="1"] path{fill:#00a1d6}[data-danmuku-mode2=false] .apd-config-mode .apd-mode-2-off{display:block}[data-danmuku-mode2=false] .apd-config-mode .apd-mode-2-on{display:none}[data-danmuku-mode2=false] .art-danmuku [data-mode="2"]{opacity:0!important}[data-danmuku-mode2=true] .apd-config-mode .apd-mode-2-off{display:none}[data-danmuku-mode2=true] .apd-config-mode .apd-mode-2-on{display:block}[data-danmuku-mode="2"] .apd-style-mode [data-mode="2"]{color:#00a1d6}[data-danmuku-mode="2"] .apd-style-mode [data-mode="2"] path{fill:#00a1d6}'},{}],"4mwSI":[function(e,t,n){t.exports=''},{}],"9bQDs":[function(e,t,n){t.exports=''},{}],cciuY:[function(e,t,n){t.exports=''},{}],e5G6o:[function(e,t,n){t.exports=''},{}],fC4yA:[function(e,t,n){t.exports=''},{}],fUkVg:[function(e,t,n){t.exports=''},{}],isoJm:[function(e,t,n){t.exports=''},{}],"20nBM":[function(e,t,n){t.exports=''},{}],"6x9CL":[function(e,t,n){t.exports=''},{}],"7GKdL":[function(e,t,n){t.exports=''},{}],"9SCIh":[function(e,t,n){t.exports=''},{}],"6KRxn":[function(e,t,n){t.exports=''},{}],dXFn2:[function(e,t,n){var r=e("@parcel/transformer-js/src/esmodule-helpers.js");r.defineInteropFlag(n),r.export(n,"default",function(){return s});var a=e("@swc/helpers/_/_to_consumable_array"),o={map:function(e,t,n,r,a){return(e-t)*(a-r)/(n-t)+r}},i=function(e,t){var n=t[0]-e[0],r=t[1]-e[1];return{length:Math.sqrt(Math.pow(n,2)+Math.pow(r,2)),angle:Math.atan2(r,n)}};function s(e,t,n){var r=e.constructor.utils.query;e.controls.add({name:"heatmap",position:"top",html:"",style:{position:"absolute",top:"-100px",left:"0px",right:"0px",height:"100px",width:"100%",pointerEvents:"none"},mounted:function(s){var l=null,u=null;function c(){var c,p,d=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];if(l=null,u=null,s.innerHTML="",e.duration&&!e.option.isLive){var f={w:s.offsetWidth,h:s.offsetHeight},h={xMin:0,xMax:f.w,yMin:0,yMax:128,scale:.25,opacity:.2,minHeight:Math.floor(.05*f.h),sampling:Math.floor(f.w/100),smoothing:.2,flattening:.2};"object"==typeof n&&Object.assign(h,n);var m=[];if(Array.isArray(d)&&d.length)m=(0,a._)(d);else for(var g=function(e){var n=t.queue.filter(function(t){var n=t.time;return n>e*y&&n<=(e+h.sampling)*y}).length;m.push([e,n])},y=e.duration/f.w,v=0;v<=f.w;v+=h.sampling)g(v);if(0!==m.length){var _=m[m.length-1],b=_[0],x=_[1];b!==f.w&&m.push([f.w,x]);for(var k=m.map(function(e){return e[1]}),w=((c=Math).min.apply(c,(0,a._)(k))+(p=Math).max.apply(p,(0,a._)(k)))/2,j=0;jw?1+h.scale:1-h.scale)+h.minHeight}var S=function(e,t,n,r){var a=i(t||e,n||e),s=o.map(Math.cos(a.angle)*h.flattening,0,1,1,0),l=a.angle*s+(r?Math.PI:0),u=a.length*h.smoothing;return[e[0]+Math.cos(l)*u,e[1]+Math.sin(l)*u]},D=function(e,t,n){var r=S(n[t-1],n[t-2],e),a=S(e,n[t-1],n[t+1],!0),o=t===n.length-1?" z":"";return"C ".concat(r[0],",").concat(r[1]," ").concat(a[0],",").concat(a[1]," ").concat(e[0],",").concat(e[1]).concat(o)},M=m.map(function(e){return[o.map(e[0],h.xMin,h.xMax,0,f.w),o.map(e[1],h.yMin,h.yMax,f.h,0)]}).reduce(function(e,t,n,r){return 0===n?"M ".concat(r[r.length-1][0],",").concat(f.h," L ").concat(t[0],",").concat(f.h," L ").concat(t[0],",").concat(t[1]):"".concat(e," ").concat(D(t,n,r))},"");s.innerHTML='\n\n\n\n\n\n\n\n\n\n\n\n '),l=r("#heatmap-start",s),u=r("#heatmap-stop",s),l.setAttribute("offset","".concat(100*e.played,"%")),u.setAttribute("offset","".concat(100*e.played,"%"))}}}e.on("video:timeupdate",function(){l&&u&&(l.setAttribute("offset","".concat(100*e.played,"%")),u.setAttribute("offset","".concat(100*e.played,"%")))}),e.on("setBar",function(e,t){l&&u&&"played"===e&&(l.setAttribute("offset","".concat(100*t,"%")),u.setAttribute("offset","".concat(100*t,"%")))}),e.on("ready",function(){return c()}),e.on("resize",function(){return c()}),e.on("artplayerPluginDanmuku:loaded",function(){return c()}),e.on("artplayerPluginDanmuku:points",function(e){return c(e)})}})}},{"@swc/helpers/_/_to_consumable_array":"iwLF0","@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}]},["40mNk"],"40mNk","parcelRequire4dc0"); \ No newline at end of file diff --git a/compiled/artplayer-plugin-dash-quality.js b/compiled/artplayer-plugin-dash-quality.js index 1ec52a6ca..752b28775 100644 --- a/compiled/artplayer-plugin-dash-quality.js +++ b/compiled/artplayer-plugin-dash-quality.js @@ -1 +1,8 @@ -/*! * artplayer-plugin-dash-quality.js v2.0.0 * Github:https://github.com/zhw2590582/ArtPlayer * (c) 2017-2024 Harvey Zack * Released under the MIT License. */ !function(e,t,n,o,r){var i="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},a="function"==typeof i[o]&&i[o],l=a.cache||{},u="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function d(t,n){if(!l[t]){if(!e[t]){var r="function"==typeof i[o]&&i[o];if(!n&&r)return r(t,!0);if(a)return a(t,!0);if(u&&"string"==typeof t)return u(t);var s=Error("Cannot find module '"+t+"'");throw s.code="MODULE_NOT_FOUND",s}c.resolve=function(n){var o=e[t][1][n];return null!=o?o:n},c.cache={};var f=l[t]=new d.Module(t);e[t][0].call(f.exports,c,f,f.exports,this)}return l[t].exports;function c(e){var t=c.resolve(e);return!1===t?{}:d(t)}}d.isParcelRequire=!0,d.Module=function(e){this.id=e,this.bundle=d,this.exports={}},d.modules=e,d.cache=l,d.parent=a,d.register=function(t,n){e[t]=[function(e,t){t.exports=n},{}]},Object.defineProperty(d,"root",{get:function(){return i[o]}}),i[o]=d;for(var s=0;sa);var r=e("bundle-text:./image.svg"),i=o.interopDefault(r);function a(e){return t=>{!function(e){let{version:t,utils:{errorHandle:n}}=e.constructor,o=t.split(".").map(Number);n(o[0]+o[1]/100>=5,`Artplayer.js@${t}is not compatible the artplayerPluginDashQuality@${a.version}. Please update it to version Artplayer.js@5.x.x`)}(t);let{$video:n}=t.template,{errorHandle:o}=t.constructor.utils;function r(){let r=t.dash||window.dash;o(r&&r.getVideoElement()===n,'Cannot find instance of Dash from "art.dash" or "window.dash"');let a=e.auto||"Auto",l=e.title||"Quality",u=r.getBitrateInfoListFor("video"),d=r.getQualityFor("video"),s=e.getResolution||(e=>(e.height||"Unknown ")+"P"),f=r.getSettings(),c=u[d],p=f?.streaming?.abr?.autoSwitchBitrate?.video?a:s(c),h={streaming:{abr:{autoSwitchBitrate:{}}}};e.control&&t.controls.update({name:"dash-quality",position:"right",html:p,style:{padding:"0 10px"},selector:u.map((e,t)=>({html:s(e),level:t,default:c===e})),onSelect:e=>(h.streaming.abr.autoSwitchBitrate.video=!1,r.updateSettings(h),r.setQualityFor("video",e.level,!0),e.html)}),e.setting&&t.setting.update({name:"dash-quality",tooltip:p,html:l,icon:i.default,width:200,selector:u.map((e,t)=>({html:s(e),level:t,default:c===e})),onSelect:function(e){return h.streaming.abr.autoSwitchBitrate.video=!1,r.updateSettings(h),r.setQualityFor("video",e.level,!0),e.html}})}return t.on("ready",r),t.on("restart",r),{name:"artplayerPluginDashQuality"}}}"undefined"!=typeof window&&(window.artplayerPluginDashQuality=a)},{"bundle-text:./image.svg":"kcayM","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],kcayM:[function(e,t,n){t.exports=''},{}],"9pCYc":[function(e,t,n){n.interopDefault=function(e){return e&&e.__esModule?e:{default:e}},n.defineInteropFlag=function(e){Object.defineProperty(e,"__esModule",{value:!0})},n.exportAll=function(e,t){return Object.keys(e).forEach(function(n){"default"===n||"__esModule"===n||Object.prototype.hasOwnProperty.call(t,n)||Object.defineProperty(t,n,{enumerable:!0,get:function(){return e[n]}})}),t},n.export=function(e,t,n){Object.defineProperty(e,t,{enumerable:!0,get:n})}},{}]},["92dvd"],"92dvd","parcelRequire4dc0"); \ No newline at end of file + +/*! + * artplayer-plugin-dash-quality.js v2.0.0 + * Github: https://github.com/zhw2590582/ArtPlayer + * (c) 2017-2024 Harvey Zack + * Released under the MIT License. + */ +!function(e,t,n,o,r){var i="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},a="function"==typeof i[o]&&i[o],l=a.cache||{},u="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function d(t,n){if(!l[t]){if(!e[t]){var r="function"==typeof i[o]&&i[o];if(!n&&r)return r(t,!0);if(a)return a(t,!0);if(u&&"string"==typeof t)return u(t);var s=Error("Cannot find module '"+t+"'");throw s.code="MODULE_NOT_FOUND",s}c.resolve=function(n){var o=e[t][1][n];return null!=o?o:n},c.cache={};var f=l[t]=new d.Module(t);e[t][0].call(f.exports,c,f,f.exports,this)}return l[t].exports;function c(e){var t=c.resolve(e);return!1===t?{}:d(t)}}d.isParcelRequire=!0,d.Module=function(e){this.id=e,this.bundle=d,this.exports={}},d.modules=e,d.cache=l,d.parent=a,d.register=function(t,n){e[t]=[function(e,t){t.exports=n},{}]},Object.defineProperty(d,"root",{get:function(){return i[o]}}),i[o]=d;for(var s=0;sa);var r=e("bundle-text:./image.svg"),i=o.interopDefault(r);function a(e){return t=>{!function(e){let{version:t,utils:{errorHandle:n}}=e.constructor,o=t.split(".").map(Number);n(o[0]+o[1]/100>=5,`Artplayer.js@${t} is not compatible the artplayerPluginDashQuality@${a.version}. Please update it to version Artplayer.js@5.x.x`)}(t);let{$video:n}=t.template,{errorHandle:o}=t.constructor.utils;function r(){let r=t.dash||window.dash;o(r&&r.getVideoElement()===n,'Cannot find instance of Dash from "art.dash" or "window.dash"');let a=e.auto||"Auto",l=e.title||"Quality",u=r.getBitrateInfoListFor("video"),d=r.getQualityFor("video"),s=e.getResolution||(e=>(e.height||"Unknown ")+"P"),f=r.getSettings(),c=u[d],p=f?.streaming?.abr?.autoSwitchBitrate?.video?a:s(c),h={streaming:{abr:{autoSwitchBitrate:{}}}};e.control&&t.controls.update({name:"dash-quality",position:"right",html:p,style:{padding:"0 10px"},selector:u.map((e,t)=>({html:s(e),level:t,default:c===e})),onSelect:e=>(h.streaming.abr.autoSwitchBitrate.video=!1,r.updateSettings(h),r.setQualityFor("video",e.level,!0),e.html)}),e.setting&&t.setting.update({name:"dash-quality",tooltip:p,html:l,icon:i.default,width:200,selector:u.map((e,t)=>({html:s(e),level:t,default:c===e})),onSelect:function(e){return h.streaming.abr.autoSwitchBitrate.video=!1,r.updateSettings(h),r.setQualityFor("video",e.level,!0),e.html}})}return t.on("ready",r),t.on("restart",r),{name:"artplayerPluginDashQuality"}}}"undefined"!=typeof window&&(window.artplayerPluginDashQuality=a)},{"bundle-text:./image.svg":"kcayM","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],kcayM:[function(e,t,n){t.exports=''},{}],"9pCYc":[function(e,t,n){n.interopDefault=function(e){return e&&e.__esModule?e:{default:e}},n.defineInteropFlag=function(e){Object.defineProperty(e,"__esModule",{value:!0})},n.exportAll=function(e,t){return Object.keys(e).forEach(function(n){"default"===n||"__esModule"===n||Object.prototype.hasOwnProperty.call(t,n)||Object.defineProperty(t,n,{enumerable:!0,get:function(){return e[n]}})}),t},n.export=function(e,t,n){Object.defineProperty(e,t,{enumerable:!0,get:n})}},{}]},["92dvd"],"92dvd","parcelRequire4dc0"); \ No newline at end of file diff --git a/compiled/artplayer-plugin-dash-quality.legacy.js b/compiled/artplayer-plugin-dash-quality.legacy.js index 71136ef64..da2a99845 100644 --- a/compiled/artplayer-plugin-dash-quality.legacy.js +++ b/compiled/artplayer-plugin-dash-quality.legacy.js @@ -1 +1,8 @@ -/*! * artplayer-plugin-dash-quality.js v2.0.0 * Github:https://github.com/zhw2590582/ArtPlayer * (c) 2017-2024 Harvey Zack * Released under the MIT License. */ !function(e,t,n,o,r){var i="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},u="function"==typeof i[o]&&i[o],l=u.cache||{},a="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function d(t,n){if(!l[t]){if(!e[t]){var r="function"==typeof i[o]&&i[o];if(!n&&r)return r(t,!0);if(u)return u(t,!0);if(a&&"string"==typeof t)return a(t);var s=Error("Cannot find module '"+t+"'");throw s.code="MODULE_NOT_FOUND",s}c.resolve=function(n){var o=e[t][1][n];return null!=o?o:n},c.cache={};var f=l[t]=new d.Module(t);e[t][0].call(f.exports,c,f,f.exports,this)}return l[t].exports;function c(e){var t=c.resolve(e);return!1===t?{}:d(t)}}d.isParcelRequire=!0,d.Module=function(e){this.id=e,this.bundle=d,this.exports={}},d.modules=e,d.cache=l,d.parent=u,d.register=function(t,n){e[t]=[function(e,t){t.exports=n},{}]},Object.defineProperty(d,"root",{get:function(){return i[o]}}),i[o]=d;for(var s=0;s=5,"Artplayer.js@".concat(o," is not compatible the artplayerPluginDashQuality@").concat(u.version,". Please update it to version Artplayer.js@5.x.x"));var n,o,r,l=t.template.$video,a=t.constructor.utils.errorHandle;function d(){var n,o,r,u=t.dash||window.dash;a(u&&u.getVideoElement()===l,'Cannot find instance of Dash from "art.dash" or "window.dash"');var d=e.auto||"Auto",s=e.title||"Quality",f=u.getBitrateInfoListFor("video"),c=u.getQualityFor("video"),p=e.getResolution||function(e){return(e.height||"Unknown ")+"P"},h=u.getSettings(),g=f[c],v=(null==h?void 0:null===(r=h.streaming)||void 0===r?void 0:null===(o=r.abr)||void 0===o?void 0:null===(n=o.autoSwitchBitrate)||void 0===n?void 0:n.video)?d:p(g),m={streaming:{abr:{autoSwitchBitrate:{}}}};e.control&&t.controls.update({name:"dash-quality",position:"right",html:v,style:{padding:"0 10px"},selector:f.map(function(e,t){return{html:p(e),level:t,default:g===e}}),onSelect:function(e){return m.streaming.abr.autoSwitchBitrate.video=!1,u.updateSettings(m),u.setQualityFor("video",e.level,!0),e.html}}),e.setting&&t.setting.update({name:"dash-quality",tooltip:v,html:s,icon:i.default,width:200,selector:f.map(function(e,t){return{html:p(e),level:t,default:g===e}}),onSelect:function(e){return m.streaming.abr.autoSwitchBitrate.video=!1,u.updateSettings(m),u.setQualityFor("video",e.level,!0),e.html}})}return t.on("ready",d),t.on("restart",d),{name:"artplayerPluginDashQuality"}}}"undefined"!=typeof window&&(window.artplayerPluginDashQuality=u)},{"bundle-text:./image.svg":"gI7Xh","@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}],gI7Xh:[function(e,t,n){t.exports=''},{}],iWrD0:[function(e,t,n){n.interopDefault=function(e){return e&&e.__esModule?e:{default:e}},n.defineInteropFlag=function(e){Object.defineProperty(e,"__esModule",{value:!0})},n.exportAll=function(e,t){return Object.keys(e).forEach(function(n){"default"===n||"__esModule"===n||Object.prototype.hasOwnProperty.call(t,n)||Object.defineProperty(t,n,{enumerable:!0,get:function(){return e[n]}})}),t},n.export=function(e,t,n){Object.defineProperty(e,t,{enumerable:!0,get:n})}},{}]},["gZVrQ"],"gZVrQ","parcelRequire4dc0"); \ No newline at end of file + +/*! + * artplayer-plugin-dash-quality.js v2.0.0 + * Github: https://github.com/zhw2590582/ArtPlayer + * (c) 2017-2024 Harvey Zack + * Released under the MIT License. + */ +!function(e,t,n,o,r){var i="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},u="function"==typeof i[o]&&i[o],l=u.cache||{},a="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function d(t,n){if(!l[t]){if(!e[t]){var r="function"==typeof i[o]&&i[o];if(!n&&r)return r(t,!0);if(u)return u(t,!0);if(a&&"string"==typeof t)return a(t);var s=Error("Cannot find module '"+t+"'");throw s.code="MODULE_NOT_FOUND",s}c.resolve=function(n){var o=e[t][1][n];return null!=o?o:n},c.cache={};var f=l[t]=new d.Module(t);e[t][0].call(f.exports,c,f,f.exports,this)}return l[t].exports;function c(e){var t=c.resolve(e);return!1===t?{}:d(t)}}d.isParcelRequire=!0,d.Module=function(e){this.id=e,this.bundle=d,this.exports={}},d.modules=e,d.cache=l,d.parent=u,d.register=function(t,n){e[t]=[function(e,t){t.exports=n},{}]},Object.defineProperty(d,"root",{get:function(){return i[o]}}),i[o]=d;for(var s=0;s=5,"Artplayer.js@".concat(o," is not compatible the artplayerPluginDashQuality@").concat(u.version,". Please update it to version Artplayer.js@5.x.x"));var n,o,r,l=t.template.$video,a=t.constructor.utils.errorHandle;function d(){var n,o,r,u=t.dash||window.dash;a(u&&u.getVideoElement()===l,'Cannot find instance of Dash from "art.dash" or "window.dash"');var d=e.auto||"Auto",s=e.title||"Quality",f=u.getBitrateInfoListFor("video"),c=u.getQualityFor("video"),p=e.getResolution||function(e){return(e.height||"Unknown ")+"P"},h=u.getSettings(),g=f[c],v=(null==h?void 0:null===(r=h.streaming)||void 0===r?void 0:null===(o=r.abr)||void 0===o?void 0:null===(n=o.autoSwitchBitrate)||void 0===n?void 0:n.video)?d:p(g),m={streaming:{abr:{autoSwitchBitrate:{}}}};e.control&&t.controls.update({name:"dash-quality",position:"right",html:v,style:{padding:"0 10px"},selector:f.map(function(e,t){return{html:p(e),level:t,default:g===e}}),onSelect:function(e){return m.streaming.abr.autoSwitchBitrate.video=!1,u.updateSettings(m),u.setQualityFor("video",e.level,!0),e.html}}),e.setting&&t.setting.update({name:"dash-quality",tooltip:v,html:s,icon:i.default,width:200,selector:f.map(function(e,t){return{html:p(e),level:t,default:g===e}}),onSelect:function(e){return m.streaming.abr.autoSwitchBitrate.video=!1,u.updateSettings(m),u.setQualityFor("video",e.level,!0),e.html}})}return t.on("ready",d),t.on("restart",d),{name:"artplayerPluginDashQuality"}}}"undefined"!=typeof window&&(window.artplayerPluginDashQuality=u)},{"bundle-text:./image.svg":"gI7Xh","@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}],gI7Xh:[function(e,t,n){t.exports=''},{}],iWrD0:[function(e,t,n){n.interopDefault=function(e){return e&&e.__esModule?e:{default:e}},n.defineInteropFlag=function(e){Object.defineProperty(e,"__esModule",{value:!0})},n.exportAll=function(e,t){return Object.keys(e).forEach(function(n){"default"===n||"__esModule"===n||Object.prototype.hasOwnProperty.call(t,n)||Object.defineProperty(t,n,{enumerable:!0,get:function(){return e[n]}})}),t},n.export=function(e,t,n){Object.defineProperty(e,t,{enumerable:!0,get:n})}},{}]},["gZVrQ"],"gZVrQ","parcelRequire4dc0"); \ No newline at end of file diff --git a/compiled/artplayer-plugin-hls-quality.js b/compiled/artplayer-plugin-hls-quality.js index 7c7e0d9c7..e615d9aa9 100644 --- a/compiled/artplayer-plugin-hls-quality.js +++ b/compiled/artplayer-plugin-hls-quality.js @@ -1 +1,8 @@ -/*! * artplayer-plugin-hls-quality.js v2.0.0 * Github:https://github.com/zhw2590582/ArtPlayer * (c) 2017-2024 Harvey Zack * Released under the MIT License. */ !function(e,t,n,o,l){var r="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},i="function"==typeof r[o]&&r[o],u=i.cache||{},a="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function f(t,n){if(!u[t]){if(!e[t]){var l="function"==typeof r[o]&&r[o];if(!n&&l)return l(t,!0);if(i)return i(t,!0);if(a&&"string"==typeof t)return a(t);var s=Error("Cannot find module '"+t+"'");throw s.code="MODULE_NOT_FOUND",s}d.resolve=function(n){var o=e[t][1][n];return null!=o?o:n},d.cache={};var c=u[t]=new f.Module(t);e[t][0].call(c.exports,d,c,c.exports,this)}return u[t].exports;function d(e){var t=d.resolve(e);return!1===t?{}:f(t)}}f.isParcelRequire=!0,f.Module=function(e){this.id=e,this.bundle=f,this.exports={}},f.modules=e,f.cache=u,f.parent=i,f.register=function(t,n){e[t]=[function(e,t){t.exports=n},{}]},Object.defineProperty(f,"root",{get:function(){return r[o]}}),r[o]=f;for(var s=0;si);var l=e("bundle-text:./image.svg"),r=o.interopDefault(l);function i(e){return t=>{!function(e){let{version:t,utils:{errorHandle:n}}=e.constructor,o=t.split(".").map(Number);n(o[0]+o[1]/100>=5,`Artplayer.js@${t}is not compatible the artplayerPluginHlsQuality@${i.version}. Please update it to version Artplayer.js@5.x.x`)}(t);let{$video:n}=t.template,{errorHandle:o}=t.constructor.utils;function l(){let l=t.hls||window.hls;o(l&&l.media===n,'Cannot find instance of HLS from "art.hls" or "window.hls"');let i=e.auto||"Auto",u=e.title||"Quality",a=e.getResolution||(e=>(e.height||"Unknown ")+"P"),f=l.levels[l.currentLevel],s=f?a(f):i;e.control&&t.controls.update({name:"hls-quality",position:"right",html:s,style:{padding:"0 10px"},selector:l.levels.map((e,t)=>({html:a(e),level:e.level||t,default:f===e})),onSelect:e=>(l.currentLevel=e.level,t.loading.show=!0,e.html)}),e.setting&&t.setting.update({name:"hls-quality",tooltip:s,html:u,icon:r.default,width:200,selector:l.levels.map((e,t)=>({html:a(e),level:e.level||t,default:f===e})),onSelect:function(e){return l.currentLevel=e.level,t.loading.show=!0,e.html}})}return t.on("ready",l),t.on("restart",l),{name:"artplayerPluginHlsQuality"}}}"undefined"!=typeof window&&(window.artplayerPluginHlsQuality=i)},{"bundle-text:./image.svg":"5VXix","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"5VXix":[function(e,t,n){t.exports=''},{}],"9pCYc":[function(e,t,n){n.interopDefault=function(e){return e&&e.__esModule?e:{default:e}},n.defineInteropFlag=function(e){Object.defineProperty(e,"__esModule",{value:!0})},n.exportAll=function(e,t){return Object.keys(e).forEach(function(n){"default"===n||"__esModule"===n||Object.prototype.hasOwnProperty.call(t,n)||Object.defineProperty(t,n,{enumerable:!0,get:function(){return e[n]}})}),t},n.export=function(e,t,n){Object.defineProperty(e,t,{enumerable:!0,get:n})}},{}]},["eEHR6"],"eEHR6","parcelRequire4dc0"); \ No newline at end of file + +/*! + * artplayer-plugin-hls-quality.js v2.0.0 + * Github: https://github.com/zhw2590582/ArtPlayer + * (c) 2017-2024 Harvey Zack + * Released under the MIT License. + */ +!function(e,t,n,o,l){var r="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},i="function"==typeof r[o]&&r[o],u=i.cache||{},a="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function f(t,n){if(!u[t]){if(!e[t]){var l="function"==typeof r[o]&&r[o];if(!n&&l)return l(t,!0);if(i)return i(t,!0);if(a&&"string"==typeof t)return a(t);var s=Error("Cannot find module '"+t+"'");throw s.code="MODULE_NOT_FOUND",s}d.resolve=function(n){var o=e[t][1][n];return null!=o?o:n},d.cache={};var c=u[t]=new f.Module(t);e[t][0].call(c.exports,d,c,c.exports,this)}return u[t].exports;function d(e){var t=d.resolve(e);return!1===t?{}:f(t)}}f.isParcelRequire=!0,f.Module=function(e){this.id=e,this.bundle=f,this.exports={}},f.modules=e,f.cache=u,f.parent=i,f.register=function(t,n){e[t]=[function(e,t){t.exports=n},{}]},Object.defineProperty(f,"root",{get:function(){return r[o]}}),r[o]=f;for(var s=0;si);var l=e("bundle-text:./image.svg"),r=o.interopDefault(l);function i(e){return t=>{!function(e){let{version:t,utils:{errorHandle:n}}=e.constructor,o=t.split(".").map(Number);n(o[0]+o[1]/100>=5,`Artplayer.js@${t} is not compatible the artplayerPluginHlsQuality@${i.version}. Please update it to version Artplayer.js@5.x.x`)}(t);let{$video:n}=t.template,{errorHandle:o}=t.constructor.utils;function l(){let l=t.hls||window.hls;o(l&&l.media===n,'Cannot find instance of HLS from "art.hls" or "window.hls"');let i=e.auto||"Auto",u=e.title||"Quality",a=e.getResolution||(e=>(e.height||"Unknown ")+"P"),f=l.levels[l.currentLevel],s=f?a(f):i;e.control&&t.controls.update({name:"hls-quality",position:"right",html:s,style:{padding:"0 10px"},selector:l.levels.map((e,t)=>({html:a(e),level:e.level||t,default:f===e})),onSelect:e=>(l.currentLevel=e.level,t.loading.show=!0,e.html)}),e.setting&&t.setting.update({name:"hls-quality",tooltip:s,html:u,icon:r.default,width:200,selector:l.levels.map((e,t)=>({html:a(e),level:e.level||t,default:f===e})),onSelect:function(e){return l.currentLevel=e.level,t.loading.show=!0,e.html}})}return t.on("ready",l),t.on("restart",l),{name:"artplayerPluginHlsQuality"}}}"undefined"!=typeof window&&(window.artplayerPluginHlsQuality=i)},{"bundle-text:./image.svg":"5VXix","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"5VXix":[function(e,t,n){t.exports=''},{}],"9pCYc":[function(e,t,n){n.interopDefault=function(e){return e&&e.__esModule?e:{default:e}},n.defineInteropFlag=function(e){Object.defineProperty(e,"__esModule",{value:!0})},n.exportAll=function(e,t){return Object.keys(e).forEach(function(n){"default"===n||"__esModule"===n||Object.prototype.hasOwnProperty.call(t,n)||Object.defineProperty(t,n,{enumerable:!0,get:function(){return e[n]}})}),t},n.export=function(e,t,n){Object.defineProperty(e,t,{enumerable:!0,get:n})}},{}]},["eEHR6"],"eEHR6","parcelRequire4dc0"); \ No newline at end of file diff --git a/compiled/artplayer-plugin-hls-quality.legacy.js b/compiled/artplayer-plugin-hls-quality.legacy.js index ef7cb7d72..008373ea4 100644 --- a/compiled/artplayer-plugin-hls-quality.legacy.js +++ b/compiled/artplayer-plugin-hls-quality.legacy.js @@ -1 +1,8 @@ -/*! * artplayer-plugin-hls-quality.js v2.0.0 * Github:https://github.com/zhw2590582/ArtPlayer * (c) 2017-2024 Harvey Zack * Released under the MIT License. */ !function(e,t,n,r,o){var l="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},i="function"==typeof l[r]&&l[r],u=i.cache||{},a="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function f(t,n){if(!u[t]){if(!e[t]){var o="function"==typeof l[r]&&l[r];if(!n&&o)return o(t,!0);if(i)return i(t,!0);if(a&&"string"==typeof t)return a(t);var s=Error("Cannot find module '"+t+"'");throw s.code="MODULE_NOT_FOUND",s}d.resolve=function(n){var r=e[t][1][n];return null!=r?r:n},d.cache={};var c=u[t]=new f.Module(t);e[t][0].call(c.exports,d,c,c.exports,this)}return u[t].exports;function d(e){var t=d.resolve(e);return!1===t?{}:f(t)}}f.isParcelRequire=!0,f.Module=function(e){this.id=e,this.bundle=f,this.exports={}},f.modules=e,f.cache=u,f.parent=i,f.register=function(t,n){e[t]=[function(e,t){t.exports=n},{}]},Object.defineProperty(f,"root",{get:function(){return l[r]}}),l[r]=f;for(var s=0;s=5,"Artplayer.js@".concat(r," is not compatible the artplayerPluginHlsQuality@").concat(i.version,". Please update it to version Artplayer.js@5.x.x"));var n,r,o,u=t.template.$video,a=t.constructor.utils.errorHandle;function f(){var n=t.hls||window.hls;a(n&&n.media===u,'Cannot find instance of HLS from "art.hls" or "window.hls"');var r=e.auto||"Auto",o=e.title||"Quality",i=e.getResolution||function(e){return(e.height||"Unknown ")+"P"},f=n.levels[n.currentLevel],s=f?i(f):r;e.control&&t.controls.update({name:"hls-quality",position:"right",html:s,style:{padding:"0 10px"},selector:n.levels.map(function(e,t){return{html:i(e),level:e.level||t,default:f===e}}),onSelect:function(e){return n.currentLevel=e.level,t.loading.show=!0,e.html}}),e.setting&&t.setting.update({name:"hls-quality",tooltip:s,html:o,icon:l.default,width:200,selector:n.levels.map(function(e,t){return{html:i(e),level:e.level||t,default:f===e}}),onSelect:function(e){return n.currentLevel=e.level,t.loading.show=!0,e.html}})}return t.on("ready",f),t.on("restart",f),{name:"artplayerPluginHlsQuality"}}}"undefined"!=typeof window&&(window.artplayerPluginHlsQuality=i)},{"bundle-text:./image.svg":"jPEUe","@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}],jPEUe:[function(e,t,n){t.exports=''},{}],iWrD0:[function(e,t,n){n.interopDefault=function(e){return e&&e.__esModule?e:{default:e}},n.defineInteropFlag=function(e){Object.defineProperty(e,"__esModule",{value:!0})},n.exportAll=function(e,t){return Object.keys(e).forEach(function(n){"default"===n||"__esModule"===n||Object.prototype.hasOwnProperty.call(t,n)||Object.defineProperty(t,n,{enumerable:!0,get:function(){return e[n]}})}),t},n.export=function(e,t,n){Object.defineProperty(e,t,{enumerable:!0,get:n})}},{}]},["34JKw"],"34JKw","parcelRequire4dc0"); \ No newline at end of file + +/*! + * artplayer-plugin-hls-quality.js v2.0.0 + * Github: https://github.com/zhw2590582/ArtPlayer + * (c) 2017-2024 Harvey Zack + * Released under the MIT License. + */ +!function(e,t,n,r,o){var l="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},i="function"==typeof l[r]&&l[r],u=i.cache||{},a="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function f(t,n){if(!u[t]){if(!e[t]){var o="function"==typeof l[r]&&l[r];if(!n&&o)return o(t,!0);if(i)return i(t,!0);if(a&&"string"==typeof t)return a(t);var s=Error("Cannot find module '"+t+"'");throw s.code="MODULE_NOT_FOUND",s}d.resolve=function(n){var r=e[t][1][n];return null!=r?r:n},d.cache={};var c=u[t]=new f.Module(t);e[t][0].call(c.exports,d,c,c.exports,this)}return u[t].exports;function d(e){var t=d.resolve(e);return!1===t?{}:f(t)}}f.isParcelRequire=!0,f.Module=function(e){this.id=e,this.bundle=f,this.exports={}},f.modules=e,f.cache=u,f.parent=i,f.register=function(t,n){e[t]=[function(e,t){t.exports=n},{}]},Object.defineProperty(f,"root",{get:function(){return l[r]}}),l[r]=f;for(var s=0;s=5,"Artplayer.js@".concat(r," is not compatible the artplayerPluginHlsQuality@").concat(i.version,". Please update it to version Artplayer.js@5.x.x"));var n,r,o,u=t.template.$video,a=t.constructor.utils.errorHandle;function f(){var n=t.hls||window.hls;a(n&&n.media===u,'Cannot find instance of HLS from "art.hls" or "window.hls"');var r=e.auto||"Auto",o=e.title||"Quality",i=e.getResolution||function(e){return(e.height||"Unknown ")+"P"},f=n.levels[n.currentLevel],s=f?i(f):r;e.control&&t.controls.update({name:"hls-quality",position:"right",html:s,style:{padding:"0 10px"},selector:n.levels.map(function(e,t){return{html:i(e),level:e.level||t,default:f===e}}),onSelect:function(e){return n.currentLevel=e.level,t.loading.show=!0,e.html}}),e.setting&&t.setting.update({name:"hls-quality",tooltip:s,html:o,icon:l.default,width:200,selector:n.levels.map(function(e,t){return{html:i(e),level:e.level||t,default:f===e}}),onSelect:function(e){return n.currentLevel=e.level,t.loading.show=!0,e.html}})}return t.on("ready",f),t.on("restart",f),{name:"artplayerPluginHlsQuality"}}}"undefined"!=typeof window&&(window.artplayerPluginHlsQuality=i)},{"bundle-text:./image.svg":"jPEUe","@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}],jPEUe:[function(e,t,n){t.exports=''},{}],iWrD0:[function(e,t,n){n.interopDefault=function(e){return e&&e.__esModule?e:{default:e}},n.defineInteropFlag=function(e){Object.defineProperty(e,"__esModule",{value:!0})},n.exportAll=function(e,t){return Object.keys(e).forEach(function(n){"default"===n||"__esModule"===n||Object.prototype.hasOwnProperty.call(t,n)||Object.defineProperty(t,n,{enumerable:!0,get:function(){return e[n]}})}),t},n.export=function(e,t,n){Object.defineProperty(e,t,{enumerable:!0,get:n})}},{}]},["34JKw"],"34JKw","parcelRequire4dc0"); \ No newline at end of file diff --git a/compiled/artplayer-plugin-iframe.js b/compiled/artplayer-plugin-iframe.js index 792b27384..a284a1967 100644 --- a/compiled/artplayer-plugin-iframe.js +++ b/compiled/artplayer-plugin-iframe.js @@ -1,7 +1,8 @@ + /*! * artplayer-plugin-iframe.js v1.0.0 * Github: https://github.com/zhw2590582/ArtPlayer * (c) 2017-2024 Harvey Zack * Released under the MIT License. */ -!function(e,t,r,n,s){var o="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},i="function"==typeof o[n]&&o[n],a=i.cache||{},f="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function d(t,r){if(!a[t]){if(!e[t]){var s="function"==typeof o[n]&&o[n];if(!r&&s)return s(t,!0);if(i)return i(t,!0);if(f&&"string"==typeof t)return f(t);var l=Error("Cannot find module '"+t+"'");throw l.code="MODULE_NOT_FOUND",l}c.resolve=function(r){var n=e[t][1][r];return null!=n?n:r},c.cache={};var u=a[t]=new d.Module(t);e[t][0].call(u.exports,c,u,u.exports,this)}return a[t].exports;function c(e){var t=c.resolve(e);return!1===t?{}:d(t)}}d.isParcelRequire=!0,d.Module=function(e){this.id=e,this.bundle=d,this.exports={}},d.modules=e,d.cache=a,d.parent=i,d.register=function(t,r){e[t]=[function(e,t){t.exports=r},{}]},Object.defineProperty(d,"root",{get:function(){return o[n]}}),o[n]=d;for(var l=0;lnull,this.onMessage=this.onMessage.bind(this),window.addEventListener("message",this.onMessage),this.$iframe.src=this.url}onMessage(e){let{type:t,data:r,id:n}=e.data;"inject"===t&&(this.injected=!0),this.promises[n]&&("error"===t?this.promises[n].reject(Error(r)):this.promises[n].resove(r),delete this.promises[n]),this.messageCallback&&this.messageCallback({type:t,data:r})}postMessage({type:e,data:t}){return new Promise((r,n)=>{(function s(){if(this.destroyed)n(Error("The instance has been destroyed"));else if(this.injected){let s=Date.now();this.promises[s]={resove:r,reject:n},this.$iframe.contentWindow.postMessage({type:e,data:t,id:s},"*")}else setTimeout(s.bind(this),200)}).call(this)})}commit(e){if("function"!=typeof e)throw Error('"commit.callback" needs to be a function');let t=e.toString(),r=t.substring(t.indexOf("{")+1,t.lastIndexOf("}"));return this.postMessage({type:"commit",data:r})}message(e){if("function"!=typeof e)throw Error('"message.callback" needs to be a function');this.messageCallback=e}destroy(){this.destroyed=!0,window.removeEventListener("message",this.onMessage)}}r.default=n,"undefined"!=typeof window&&(window.ArtplayerPluginIframe=n)},{"@parcel/transformer-js/src/esmodule-helpers.js":"hqP7A"}],hqP7A:[function(e,t,r){r.interopDefault=function(e){return e&&e.__esModule?e:{default:e}},r.defineInteropFlag=function(e){Object.defineProperty(e,"__esModule",{value:!0})},r.exportAll=function(e,t){return Object.keys(e).forEach(function(r){"default"===r||"__esModule"===r||Object.prototype.hasOwnProperty.call(t,r)||Object.defineProperty(t,r,{enumerable:!0,get:function(){return e[r]}})}),t},r.export=function(e,t,r){Object.defineProperty(e,t,{enumerable:!0,get:r})}},{}]},["ewmKy"],"ewmKy","parcelRequire94c2"); \ No newline at end of file +!function(e,t,r,n,s){var o="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},i="function"==typeof o[n]&&o[n],a=i.cache||{},f="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function d(t,r){if(!a[t]){if(!e[t]){var s="function"==typeof o[n]&&o[n];if(!r&&s)return s(t,!0);if(i)return i(t,!0);if(f&&"string"==typeof t)return f(t);var l=Error("Cannot find module '"+t+"'");throw l.code="MODULE_NOT_FOUND",l}u.resolve=function(r){var n=e[t][1][r];return null!=n?n:r},u.cache={};var c=a[t]=new d.Module(t);e[t][0].call(c.exports,u,c,c.exports,this)}return a[t].exports;function u(e){var t=u.resolve(e);return!1===t?{}:d(t)}}d.isParcelRequire=!0,d.Module=function(e){this.id=e,this.bundle=d,this.exports={}},d.modules=e,d.cache=a,d.parent=i,d.register=function(t,r){e[t]=[function(e,t){t.exports=r},{}]},Object.defineProperty(d,"root",{get:function(){return o[n]}}),o[n]=d;for(var l=0;lnull,this.onMessage=this.onMessage.bind(this),window.addEventListener("message",this.onMessage),this.$iframe.src=this.url}onMessage(e){let{type:t,data:r,id:n}=e.data;"inject"===t&&(this.injected=!0),this.promises[n]&&("error"===t?this.promises[n].reject(Error(r)):this.promises[n].resove(r),delete this.promises[n]),this.messageCallback&&this.messageCallback({type:t,data:r})}postMessage({type:e,data:t}){return new Promise((r,n)=>{(function s(){if(this.destroyed)n(Error("The instance has been destroyed"));else if(this.injected){let s=Date.now();this.promises[s]={resove:r,reject:n},this.$iframe.contentWindow.postMessage({type:e,data:t,id:s},"*")}else setTimeout(s.bind(this),200)}).call(this)})}commit(e){if("function"!=typeof e)throw Error('"commit.callback" needs to be a function');let t=e.toString(),r=t.substring(t.indexOf("{")+1,t.lastIndexOf("}"));return this.postMessage({type:"commit",data:r})}message(e){if("function"!=typeof e)throw Error('"message.callback" needs to be a function');this.messageCallback=e}destroy(){this.destroyed=!0,window.removeEventListener("message",this.onMessage)}}r.default=n,"undefined"!=typeof window&&(window.ArtplayerPluginIframe=n)},{"@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"9pCYc":[function(e,t,r){r.interopDefault=function(e){return e&&e.__esModule?e:{default:e}},r.defineInteropFlag=function(e){Object.defineProperty(e,"__esModule",{value:!0})},r.exportAll=function(e,t){return Object.keys(e).forEach(function(r){"default"===r||"__esModule"===r||Object.prototype.hasOwnProperty.call(t,r)||Object.defineProperty(t,r,{enumerable:!0,get:function(){return e[r]}})}),t},r.export=function(e,t,r){Object.defineProperty(e,t,{enumerable:!0,get:r})}},{}]},["aFKtw"],"aFKtw","parcelRequire4dc0"); \ No newline at end of file diff --git a/compiled/artplayer-plugin-iframe.legacy.js b/compiled/artplayer-plugin-iframe.legacy.js index e80a49e08..9a81f02f7 100644 --- a/compiled/artplayer-plugin-iframe.legacy.js +++ b/compiled/artplayer-plugin-iframe.legacy.js @@ -1,7 +1,8 @@ + /*! * artplayer-plugin-iframe.js v1.0.0 * Github: https://github.com/zhw2590582/ArtPlayer * (c) 2017-2024 Harvey Zack * Released under the MIT License. */ -!function(e,r,t,n,o){var i="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},a="function"==typeof i[n]&&i[n],s=a.cache||{},c="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function u(r,t){if(!s[r]){if(!e[r]){var o="function"==typeof i[n]&&i[n];if(!t&&o)return o(r,!0);if(a)return a(r,!0);if(c&&"string"==typeof r)return c(r);var f=Error("Cannot find module '"+r+"'");throw f.code="MODULE_NOT_FOUND",f}p.resolve=function(t){var n=e[r][1][t];return null!=n?n:t},p.cache={};var l=s[r]=new u.Module(r);e[r][0].call(l.exports,p,l,l.exports,this)}return s[r].exports;function p(e){var r=p.resolve(e);return!1===r?{}:u(r)}}u.isParcelRequire=!0,u.Module=function(e){this.id=e,this.bundle=u,this.exports={}},u.modules=e,u.cache=s,u.parent=a,u.register=function(r,t){e[r]=[function(e,r){r.exports=t},{}]},Object.defineProperty(u,"root",{get:function(){return i[n]}}),i[n]=u;for(var f=0;fr.indexOf(n)&&(t[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,n=Object.getOwnPropertySymbols(e);or.indexOf(n[o])&&Object.prototype.propertyIsEnumerable.call(e,n[o])&&(t[n[o]]=e[n[o]]);return t}function u(e,r,t,n){var o,i=arguments.length,a=i<3?r:null===n?n=Object.getOwnPropertyDescriptor(r,t):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,r,t,n);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(r,t,a):o(r,t))||a);return i>3&&a&&Object.defineProperty(r,t,a),a}function f(e,r){return function(t,n){r(t,n,e)}}function l(e,r,t,n,o,i){function a(e){if(void 0!==e&&"function"!=typeof e)throw TypeError("Function expected");return e}for(var s,c=n.kind,u="getter"===c?"get":"setter"===c?"set":"value",f=!r&&e?n.static?e:e.prototype:null,l=r||(f?Object.getOwnPropertyDescriptor(f,n.name):{}),p=!1,d=t.length-1;d>=0;d--){var y={};for(var _ in n)y[_]="access"===_?{}:n[_];for(var _ in n.access)y.access[_]=n.access[_];y.addInitializer=function(e){if(p)throw TypeError("Cannot add initializers after decoration has completed");i.push(a(e||null))};var h=(0,t[d])("accessor"===c?{get:l.get,set:l.set}:l[u],y);if("accessor"===c){if(void 0===h)continue;if(null===h||"object"!=typeof h)throw TypeError("Object expected");(s=a(h.get))&&(l.get=s),(s=a(h.set))&&(l.set=s),(s=a(h.init))&&o.unshift(s)}else(s=a(h))&&("field"===c?o.unshift(s):l[u]=s)}f&&Object.defineProperty(f,n.name,l),p=!0}function p(e,r,t){for(var n=arguments.length>2,o=0;o0&&o[o.length-1])&&(6===s[0]||2===s[0])){a=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw TypeError(r?"Object is not iterable.":"Symbol.iterator is not defined.")}function w(e,r){var t="function"==typeof Symbol&&e[Symbol.iterator];if(!t)return e;var n,o,i=t.call(e),a=[];try{for(;(void 0===r||r-- >0)&&!(n=i.next()).done;)a.push(n.value)}catch(e){o={error:e}}finally{try{n&&!n.done&&(t=i.return)&&t.call(i)}finally{if(o)throw o.error}}return a}function j(){for(var e=[],r=0;r1||s(e,r)})})}function s(e,r){try{var t;(t=o[e](r)).value instanceof P?Promise.resolve(t.value.v).then(c,u):f(i[0][2],t)}catch(e){f(i[0][3],e)}}function c(e){s("next",e)}function u(e){s("throw",e)}function f(e,r){e(r),i.shift(),i.length&&s(i[0][0],i[0][1])}}function S(e){var r,t;return r={},n("next"),n("throw",function(e){throw e}),n("return"),r[Symbol.iterator]=function(){return this},r;function n(n,o){r[n]=e[n]?function(r){return(t=!t)?{value:P(e[n](r)),done:!1}:o?o(r):r}:o}}function k(e){if(!Symbol.asyncIterator)throw TypeError("Symbol.asyncIterator is not defined.");var r,t=e[Symbol.asyncIterator];return t?t.call(e):(e=g(e),r={},n("next"),n("throw"),n("return"),r[Symbol.asyncIterator]=function(){return this},r);function n(t){r[t]=e[t]&&function(r){return new Promise(function(n,o){!function(e,r,t,n){Promise.resolve(n).then(function(r){e({value:r,done:t})},r)}(n,o,(r=e[t](r)).done,r.value)})}}}function M(e,r){return Object.defineProperty?Object.defineProperty(e,"raw",{value:r}):e.raw=r,e}var T=Object.create?function(e,r){Object.defineProperty(e,"default",{enumerable:!0,value:r})}:function(e,r){e.default=r};function I(e){if(e&&e.__esModule)return e;var r={};if(null!=e)for(var t in e)"default"!==t&&Object.prototype.hasOwnProperty.call(e,t)&&v(r,e,t);return T(r,e),r}function F(e){return e&&e.__esModule?e:{default:e}}function D(e,r,t,n){if("a"===t&&!n)throw TypeError("Private accessor was defined without a getter");if("function"==typeof r?e!==r||!n:!r.has(e))throw TypeError("Cannot read private member from an object whose class did not declare it");return"m"===t?n:"a"===t?n.call(e):n?n.value:r.get(e)}function C(e,r,t,n,o){if("m"===n)throw TypeError("Private method is not writable");if("a"===n&&!o)throw TypeError("Private accessor was defined without a setter");if("function"==typeof r?e!==r||!o:!r.has(e))throw TypeError("Cannot write private member to an object whose class did not declare it");return"a"===n?o.call(e,t):o?o.value=t:r.set(e,t),t}function A(e,r){if(null===r||"object"!=typeof r&&"function"!=typeof r)throw TypeError("Cannot use 'in' operator on non-object");return"function"==typeof e?r===e:e.has(r)}function R(e,r,t){if(null!=r){var n;if("object"!=typeof r&&"function"!=typeof r)throw TypeError("Object expected.");if(t){if(!Symbol.asyncDispose)throw TypeError("Symbol.asyncDispose is not defined.");n=r[Symbol.asyncDispose]}if(void 0===n){if(!Symbol.dispose)throw TypeError("Symbol.dispose is not defined.");n=r[Symbol.dispose]}if("function"!=typeof n)throw TypeError("Object not disposable.");e.stack.push({value:r,dispose:n,async:t})}else t&&e.stack.push({async:!0});return r}var X="function"==typeof SuppressedError?SuppressedError:function(e,r,t){var n=Error(t);return n.name="SuppressedError",n.error=e,n.suppressed=r,n};function N(e){function r(r){e.error=e.hasError?new X(r,e.error,"An error was suppressed during disposal."):r,e.hasError=!0}return function t(){for(;e.stack.length;){var n=e.stack.pop();try{var o=n.dispose&&n.dispose.call(n.value);if(n.async)return Promise.resolve(o).then(t,function(e){return r(e),t()})}catch(e){r(e)}}if(e.hasError)throw e.error}()}t.default={__extends:a,__assign:s,__rest:c,__decorate:u,__param:f,__metadata:_,__awaiter:h,__generator:m,__createBinding:v,__exportStar:b,__values:g,__read:w,__spread:j,__spreadArrays:x,__spreadArray:O,__await:P,__asyncGenerator:E,__asyncDelegator:S,__asyncValues:k,__makeTemplateObject:M,__importStar:I,__importDefault:F,__classPrivateFieldGet:D,__classPrivateFieldSet:C,__classPrivateFieldIn:A,__addDisposableResource:R,__disposeResources:N}},{"@swc/helpers/_/_type_of":"aFoNC","@parcel/transformer-js/src/esmodule-helpers.js":"jOuxX"}],aFoNC:[function(e,r,t){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");function o(e){return e&&"undefined"!=typeof Symbol&&e.constructor===Symbol?"symbol":typeof e}n.defineInteropFlag(t),n.export(t,"_type_of",function(){return o}),n.export(t,"_",function(){return o})},{"@parcel/transformer-js/src/esmodule-helpers.js":"jOuxX"}]},["f7Bbi"],"f7Bbi","parcelRequire94c2"); \ No newline at end of file +!function(e,r,t,n,o){var i="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},a="function"==typeof i[n]&&i[n],s=a.cache||{},c="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function u(r,t){if(!s[r]){if(!e[r]){var o="function"==typeof i[n]&&i[n];if(!t&&o)return o(r,!0);if(a)return a(r,!0);if(c&&"string"==typeof r)return c(r);var f=Error("Cannot find module '"+r+"'");throw f.code="MODULE_NOT_FOUND",f}p.resolve=function(t){var n=e[r][1][t];return null!=n?n:t},p.cache={};var l=s[r]=new u.Module(r);e[r][0].call(l.exports,p,l,l.exports,this)}return s[r].exports;function p(e){var r=p.resolve(e);return!1===r?{}:u(r)}}u.isParcelRequire=!0,u.Module=function(e){this.id=e,this.bundle=u,this.exports={}},u.modules=e,u.cache=s,u.parent=a,u.register=function(r,t){e[r]=[function(e,r){r.exports=t},{}]},Object.defineProperty(u,"root",{get:function(){return i[n]}}),i[n]=u;for(var f=0;fr.indexOf(n)&&(t[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,n=Object.getOwnPropertySymbols(e);or.indexOf(n[o])&&Object.prototype.propertyIsEnumerable.call(e,n[o])&&(t[n[o]]=e[n[o]]);return t}function u(e,r,t,n){var o,i=arguments.length,a=i<3?r:null===n?n=Object.getOwnPropertyDescriptor(r,t):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,r,t,n);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(r,t,a):o(r,t))||a);return i>3&&a&&Object.defineProperty(r,t,a),a}function f(e,r){return function(t,n){r(t,n,e)}}function l(e,r,t,n,o,i){function a(e){if(void 0!==e&&"function"!=typeof e)throw TypeError("Function expected");return e}for(var s,c=n.kind,u="getter"===c?"get":"setter"===c?"set":"value",f=!r&&e?n.static?e:e.prototype:null,l=r||(f?Object.getOwnPropertyDescriptor(f,n.name):{}),p=!1,d=t.length-1;d>=0;d--){var y={};for(var h in n)y[h]="access"===h?{}:n[h];for(var h in n.access)y.access[h]=n.access[h];y.addInitializer=function(e){if(p)throw TypeError("Cannot add initializers after decoration has completed");i.push(a(e||null))};var _=(0,t[d])("accessor"===c?{get:l.get,set:l.set}:l[u],y);if("accessor"===c){if(void 0===_)continue;if(null===_||"object"!=typeof _)throw TypeError("Object expected");(s=a(_.get))&&(l.get=s),(s=a(_.set))&&(l.set=s),(s=a(_.init))&&o.unshift(s)}else(s=a(_))&&("field"===c?o.unshift(s):l[u]=s)}f&&Object.defineProperty(f,n.name,l),p=!0}function p(e,r,t){for(var n=arguments.length>2,o=0;o0&&o[o.length-1])&&(6===s[0]||2===s[0])){a=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw TypeError(r?"Object is not iterable.":"Symbol.iterator is not defined.")}function g(e,r){var t="function"==typeof Symbol&&e[Symbol.iterator];if(!t)return e;var n,o,i=t.call(e),a=[];try{for(;(void 0===r||r-- >0)&&!(n=i.next()).done;)a.push(n.value)}catch(e){o={error:e}}finally{try{n&&!n.done&&(t=i.return)&&t.call(i)}finally{if(o)throw o.error}}return a}function j(){for(var e=[],r=0;r1||s(e,r)})},r&&(n[e]=r(n[e])))}function s(e,r){try{var t;(t=o[e](r)).value instanceof P?Promise.resolve(t.value.v).then(c,u):f(i[0][2],t)}catch(e){f(i[0][3],e)}}function c(e){s("next",e)}function u(e){s("throw",e)}function f(e,r){e(r),i.shift(),i.length&&s(i[0][0],i[0][1])}}function S(e){var r,t;return r={},n("next"),n("throw",function(e){throw e}),n("return"),r[Symbol.iterator]=function(){return this},r;function n(n,o){r[n]=e[n]?function(r){return(t=!t)?{value:P(e[n](r)),done:!1}:o?o(r):r}:o}}function T(e){if(!Symbol.asyncIterator)throw TypeError("Symbol.asyncIterator is not defined.");var r,t=e[Symbol.asyncIterator];return t?t.call(e):(e=w(e),r={},n("next"),n("throw"),n("return"),r[Symbol.asyncIterator]=function(){return this},r);function n(t){r[t]=e[t]&&function(r){return new Promise(function(n,o){!function(e,r,t,n){Promise.resolve(n).then(function(r){e({value:r,done:t})},r)}(n,o,(r=e[t](r)).done,r.value)})}}}function k(e,r){return Object.defineProperty?Object.defineProperty(e,"raw",{value:r}):e.raw=r,e}var M=Object.create?function(e,r){Object.defineProperty(e,"default",{enumerable:!0,value:r})}:function(e,r){e.default=r};function I(e){if(e&&e.__esModule)return e;var r={};if(null!=e)for(var t in e)"default"!==t&&Object.prototype.hasOwnProperty.call(e,t)&&v(r,e,t);return M(r,e),r}function D(e){return e&&e.__esModule?e:{default:e}}function F(e,r,t,n){if("a"===t&&!n)throw TypeError("Private accessor was defined without a getter");if("function"==typeof r?e!==r||!n:!r.has(e))throw TypeError("Cannot read private member from an object whose class did not declare it");return"m"===t?n:"a"===t?n.call(e):n?n.value:r.get(e)}function A(e,r,t,n,o){if("m"===n)throw TypeError("Private method is not writable");if("a"===n&&!o)throw TypeError("Private accessor was defined without a setter");if("function"==typeof r?e!==r||!o:!r.has(e))throw TypeError("Cannot write private member to an object whose class did not declare it");return"a"===n?o.call(e,t):o?o.value=t:r.set(e,t),t}function R(e,r){if(null===r||"object"!=typeof r&&"function"!=typeof r)throw TypeError("Cannot use 'in' operator on non-object");return"function"==typeof e?r===e:e.has(r)}function C(e,r,t){if(null!=r){var n,o;if("object"!=typeof r&&"function"!=typeof r)throw TypeError("Object expected.");if(t){if(!Symbol.asyncDispose)throw TypeError("Symbol.asyncDispose is not defined.");n=r[Symbol.asyncDispose]}if(void 0===n){if(!Symbol.dispose)throw TypeError("Symbol.dispose is not defined.");n=r[Symbol.dispose],t&&(o=n)}if("function"!=typeof n)throw TypeError("Object not disposable.");o&&(n=function(){try{o.call(this)}catch(e){return Promise.reject(e)}}),e.stack.push({value:r,dispose:n,async:t})}else t&&e.stack.push({async:!0});return r}var W="function"==typeof SuppressedError?SuppressedError:function(e,r,t){var n=Error(t);return n.name="SuppressedError",n.error=e,n.suppressed=r,n};function N(e){function r(r){e.error=e.hasError?new W(r,e.error,"An error was suppressed during disposal."):r,e.hasError=!0}return function t(){for(;e.stack.length;){var n=e.stack.pop();try{var o=n.dispose&&n.dispose.call(n.value);if(n.async)return Promise.resolve(o).then(t,function(e){return r(e),t()})}catch(e){r(e)}}if(e.hasError)throw e.error}()}t.default={__extends:a,__assign:s,__rest:c,__decorate:u,__param:f,__metadata:h,__awaiter:_,__generator:m,__createBinding:v,__exportStar:b,__values:w,__read:g,__spread:j,__spreadArrays:x,__spreadArray:O,__await:P,__asyncGenerator:E,__asyncDelegator:S,__asyncValues:T,__makeTemplateObject:k,__importStar:I,__importDefault:D,__classPrivateFieldGet:F,__classPrivateFieldSet:A,__classPrivateFieldIn:R,__addDisposableResource:C,__disposeResources:N}},{"@swc/helpers/_/_type_of":"felZi","@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}],felZi:[function(e,r,t){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");function o(e){return e&&"undefined"!=typeof Symbol&&e.constructor===Symbol?"symbol":typeof e}n.defineInteropFlag(t),n.export(t,"_",function(){return o})},{"@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}]},["akNoT"],"akNoT","parcelRequire4dc0"); \ No newline at end of file diff --git a/compiled/artplayer-plugin-libass.js b/compiled/artplayer-plugin-libass.js index cb1e0ae7b..af67d4b88 100644 --- a/compiled/artplayer-plugin-libass.js +++ b/compiled/artplayer-plugin-libass.js @@ -1,7 +1,8 @@ + /*! * artplayer-plugin-libass.js v1.0.0 * Github: https://github.com/zhw2590582/ArtPlayer * (c) 2017-2024 Harvey Zack * Released under the MIT License. */ -!function(e,t,r,s,n){var a="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},i="function"==typeof a[s]&&a[s],o=i.cache||{},l="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function c(t,r){if(!o[t]){if(!e[t]){var n="function"==typeof a[s]&&a[s];if(!r&&n)return n(t,!0);if(i)return i(t,!0);if(l&&"string"==typeof t)return l(t);var d=Error("Cannot find module '"+t+"'");throw d.code="MODULE_NOT_FOUND",d}v.resolve=function(r){var s=e[t][1][r];return null!=s?s:r},v.cache={};var u=o[t]=new c.Module(t);e[t][0].call(u.exports,v,u,u.exports,this)}return o[t].exports;function v(e){var t=v.resolve(e);return!1===t?{}:c(t)}}c.isParcelRequire=!0,c.Module=function(e){this.id=e,this.bundle=c,this.exports={}},c.modules=e,c.cache=o,c.parent=i,c.register=function(t,r){e[t]=[function(e,t){t.exports=r},{}]},Object.defineProperty(c,"root",{get:function(){return a[s]}}),a[s]=c;for(var d=0;di);var n=e("./adapter"),a=s.interopDefault(n);function i(e){return t=>{let r=new a.default(t,e);return{name:"artplayerPluginLibass",libass:r.libass,visible:r.visible,init:r.init.bind(r),switch:r.switch.bind(r),show:r.show.bind(r),hide:r.hide.bind(r),destroy:r.destroy.bind(r)}}}"undefined"!=typeof window&&(window.artplayerPluginLibass=i)},{"./adapter":"cjgNP","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],cjgNP:[function(e,t,r){var s=e("@parcel/transformer-js/src/esmodule-helpers.js");s.defineInteropFlag(r);var n=e("libass-wasm"),a=s.interopDefault(n);let i=`[Script Info] ScriptType:v4.00+`;r.default=class{constructor(e,t){let{constructor:r,template:s}=e;this.art=e,this.$video=s.$video,this.$webvtt=s.$subtitle,this.utils=r.utils,this.libass=null,e.once("ready",this.init.bind(this,t))}async init(e){this.#e(),await this.#t(e),this.#r(),this.art.emit("artplayerPluginLibass:init",this);let t=this.art?.option?.subtitle?.url;t&&"ass"===this.utils.getExt(t)&&this.switch(t)}switch(e){this.art.emit("artplayerPluginLibass:switch",e),e&&"ass"===this.utils.getExt(e)?(this.currentType="ass",this.libass.freeTrack(),this.libass.setTrackByUrl(this.#s(e)),this.visible=this.art.subtitle.show):(this.currentType="webvtt",this.hide(),this.libass.freeTrack())}setVisibility(e){this.visible=e}setOffset(e){this.timeOffset=e}get active(){return"ass"===this.currentType}get visible(){return!!this.libass&&"none"!==this.libass.canvasParent.style.display}set visible(e){this.art.emit("artplayerPluginLibass:visible",e),this.#n(!this.active),this.libass.canvasParent&&(this.libass.canvasParent.style.display=e?"block":"none",e&&this.libass.resize())}get timeOffset(){return this.libass.timeOffset}set timeOffset(e){this.art.emit("artplayerPluginLibass:timeOffset",e),this.libass.timeOffset=e}show(){this.visible=!0}hide(){this.visible=!1}destroy(){this.art.emit("artplayerPluginLibass:destroy"),this.#a(),this.libass.dispose(),URL.revokeObjectURL(this.workerScriptUrl),this.libass=null}async #t(e={}){if(!e.fallbackFont)return this.utils.errorHandle(e.fallbackFont,"artplayerPluginLibass:fallbackFont is required");e.workerUrl||(e.workerUrl="https://cdnjs.cloudflare.com/ajax/libs/libass-wasm/4.1.0/js/subtitles-octopus-worker.js"),e.availableFonts&&(e.availableFonts=Object.entries(e.availableFonts).reduce((e,[t,r])=>(e[t]=this.#s(r),e),{})),this.libass=new a.default({subContent:i,video:this.$video,...e,workerUrl:await this.#i(e),fallbackFont:this.#s(e.fallbackFont),fonts:e.fonts?.map(e=>this.#s(e))}),this.libass.canvasParent.className="artplayer-plugin-libass",this.libass.canvasParent.style.cssText=` position:absolute;top:0;left:0;width:100%;height:100%;user-select:none;pointer-events:none;z-index:20;`}#r(){this.switchHandler=this.switch.bind(this),this.visibleHandler=this.setVisibility.bind(this),this.offsetHandler=this.setOffset.bind(this),this.art.on("subtitle",this.visibleHandler),this.art.on("subtitleLoad",this.switchHandler),this.art.on("subtitleOffset",this.offsetHandler),this.art.once("destroy",this.destroy.bind(this))}#a(){this.art.off("subtitle",this.visibleHandler),this.art.off("subtitleLoad",this.switchHandler),this.art.off("subtitleOffset",this.offsetHandler)}#n(e){this.$webvtt.style.visibility=e?"visible":"hidden"}#s(e){return this.#o(e)?e:new URL(e,document.baseURI).toString()}#o(e){return/^https?:\/\//.test(e)}#i({workerUrl:e,wasmUrl:t}){return new Promise(r=>{fetch(e).then(e=>e.text()).then(s=>{let n=s,a=new Blob([n=n.replace(/wasmBinaryFile\s*=\s*"(subtitles-octopus-worker\.wasm)"/g,(r,s)=>(t=t?this.#s(t):new URL(s,e).toString(),`wasmBinaryFile = "${t}"`))],{type:"text/javascript"});r(URL.createObjectURL(a))})})}#e(){let e=!1;try{if("object"==typeof WebAssembly&&"function"==typeof WebAssembly.instantiate){let t=new WebAssembly.Module(Uint8Array.of(0,97,115,109,1,0,0,0));t instanceof WebAssembly.Module&&(e=new WebAssembly.Instance(t) instanceof WebAssembly.Instance)}}catch(e){}this.utils.errorHandle(e,"Browser does not support WebAssembly")}}},{"libass-wasm":"fYfN6","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],fYfN6:[function(e,t,r){"function"==typeof SubtitlesOctopusOnLoad&&SubtitlesOctopusOnLoad(),t.exports&&(t.exports=function(e){var t=!1;try{if("object"==typeof WebAssembly&&"function"==typeof WebAssembly.instantiate){let e=new WebAssembly.Module(Uint8Array.of(0,97,115,109,1,0,0,0));e instanceof WebAssembly.Module&&(t=new WebAssembly.Instance(e) instanceof WebAssembly.Instance)}}catch(e){}console.log("WebAssembly support detected:"+(t?"yes":"no"));var r=this;function s(){r.setCurrentTime(r.video.currentTime+r.timeOffset)}function n(){r.setIsPaused(!1,r.video.currentTime+r.timeOffset)}function a(){r.setIsPaused(!0,r.video.currentTime+r.timeOffset)}function i(){r.video.removeEventListener("timeupdate",s,!1)}function o(){r.video.addEventListener("timeupdate",s,!1);var e=r.video.currentTime+r.timeOffset;r.setCurrentTime(e)}function l(){r.setRate(r.video.playbackRate)}function c(){r.setIsPaused(!0,r.video.currentTime+r.timeOffset)}function d(e){e.target.removeEventListener(e.type,d,!1),r.resize()}function u(){var e=r.renderFramesData,t=performance.now();r.ctx.clearRect(0,0,r.canvas.width,r.canvas.height);for(var s=0;s=1?a[i]:1;var o=new ImageData(a,n.w,n.h);r.bufferCanvasCtx.putImageData(o,0,0),r.ctx.drawImage(r.bufferCanvas,n.x,n.y)}if(r.debug){var l=Math.round(performance.now()-t),c=e.blendTime;void 0!==c?console.log("render:"+Math.round(e.spentTime-c)+" ms,blend:"+Math.round(c)+" ms,draw:"+l+" ms;TOTAL="+Math.round(e.spentTime+l)+" ms"):console.log(Math.round(e.spentTime)+" ms (+ "+l+" ms draw)"),r.renderStart=performance.now()}}function v(){var e=r.renderFramesData,t=performance.now();r.ctx.clearRect(0,0,r.canvas.width,r.canvas.height);for(var s=0;s0?r.resize():r.video.addEventListener("loadedmetadata",d,!1))},r.getVideoPosition=function(){var e=r.video.videoWidth/r.video.videoHeight,t=r.video.offsetWidth,s=r.video.offsetHeight,n=t,a=s;t/s>e?n=Math.floor(s*e):a=Math.floor(t/e);var i=(t-n)/2,o=(s-a)/2;return{width:n,height:a,x:i,y:o}},r.setSubUrl=function(e){r.subUrl=e},r.renderFrameData=null,r.workerActive=!1,r.frameId=0,r.onWorkerMessage=function(e){!r.workerActive&&(r.workerActive=!0,r.onReadyEvent&&r.onReadyEvent());var t=e.data;switch(t.target){case"stdout":console.log(t.content);break;case"console-log":console.log.apply(console,JSON.parse(t.content));break;case"console-debug":console.debug.apply(console,JSON.parse(t.content));break;case"console-info":console.info.apply(console,JSON.parse(t.content));break;case"console-warn":console.warn.apply(console,JSON.parse(t.content));break;case"console-error":console.error.apply(console,JSON.parse(t.content));break;case"stderr":console.error(t.content);break;case"window":window[t.method]();break;case"canvas":switch(t.op){case"getContext":r.ctx=r.canvas.getContext(t.type,t.attributes);break;case"resize":r.resize(t.width,t.height);break;case"renderCanvas":r.lastRenderTime0&&a>r.maxRenderHeight&&(a=r.maxRenderHeight),e*=a/t,t=a}return{width:e,height:t}}((a=r.getVideoPosition()).width*r.pixelRatio,a.height*r.pixelRatio);e=i.width,t=i.height;var o=r.canvasParent.getBoundingClientRect().top-r.video.getBoundingClientRect().top;s=a.y-o,n=a.x}if(!e||!t){r.video||console.error("width or height is 0. You should specify width & height for resize.");return}(r.canvas.width!=e||r.canvas.height!=t||r.canvas.style.top!=s||r.canvas.style.left!=n)&&(r.canvas.width=e,r.canvas.height=t,null!=a&&(r.canvasParent.style.position="relative",r.canvas.style.display="block",r.canvas.style.position="absolute",r.canvas.style.width=a.width+"px",r.canvas.style.height=a.height+"px",r.canvas.style.top=s+"px",r.canvas.style.left=n+"px",r.canvas.style.pointerEvents="none"),r.worker.postMessage({target:"canvas",width:r.canvas.width,height:r.canvas.height}))},r.resizeWithTimeout=function(){r.resize(),setTimeout(r.resize,100)},r.runBenchmark=function(){r.worker.postMessage({target:"runBenchmark"})},r.customMessage=function(e,t){t=t||{},r.worker.postMessage({target:"custom",userData:e,preMain:t.preMain})},r.setCurrentTime=function(e){r.worker.postMessage({target:"video",currentTime:e})},r.setTrackByUrl=function(e){r.worker.postMessage({target:"set-track-by-url",url:e})},r.setTrack=function(e){r.worker.postMessage({target:"set-track",content:e})},r.freeTrack=function(e){r.worker.postMessage({target:"free-track"})},r.render=r.setCurrentTime,r.setIsPaused=function(e,t){r.worker.postMessage({target:"video",isPaused:e,currentTime:t})},r.setRate=function(e){r.worker.postMessage({target:"video",rate:e})},r.dispose=function(){r.worker.postMessage({target:"destroy"}),r.worker.terminate(),r.worker.removeEventListener("message",r.onWorkerMessage),r.worker.removeEventListener("error",r.workerError),r.workerActive=!1,r.worker=null,r.video&&(r.video.removeEventListener("timeupdate",s,!1),r.video.removeEventListener("playing",n,!1),r.video.removeEventListener("pause",a,!1),r.video.removeEventListener("seeking",i,!1),r.video.removeEventListener("seeked",o,!1),r.video.removeEventListener("ratechange",l,!1),r.video.removeEventListener("waiting",c,!1),r.video.removeEventListener("loadedmetadata",d,!1),document.removeEventListener("fullscreenchange",r.resizeWithTimeout,!1),document.removeEventListener("mozfullscreenchange",r.resizeWithTimeout,!1),document.removeEventListener("webkitfullscreenchange",r.resizeWithTimeout,!1),document.removeEventListener("msfullscreenchange",r.resizeWithTimeout,!1),window.removeEventListener("resize",r.resizeWithTimeout,!1),r.video.parentNode.removeChild(r.canvasParent),r.video=null),r.ro&&(r.ro.disconnect(),r.ro=null),r.onCustomMessage=null,r.onErrorEvent=null,r.onReadyEvent=null},r.fetchFromWorker=function(e,t,s){try{var n=e.target,a=setTimeout(function(){o(Error("Error:Timeout while try to fetch "+n))},5e3),i=function(e){e.data.target==n&&(t(e.data),r.worker.removeEventListener("message",i),r.worker.removeEventListener("error",o),clearTimeout(a))},o=function(e){s(e),r.worker.removeEventListener("message",i),r.worker.removeEventListener("error",o),clearTimeout(a)};r.worker.addEventListener("message",i),r.worker.addEventListener("error",o),r.worker.postMessage(e)}catch(e){s(e)}},r.createEvent=function(e){r.worker.postMessage({target:"create-event",event:e})},r.getEvents=function(e,t){r.fetchFromWorker({target:"get-events"},function(t){e(t.events)},t)},r.setEvent=function(e,t){r.worker.postMessage({target:"set-event",event:e,index:t})},r.removeEvent=function(e){r.worker.postMessage({target:"remove-event",index:e})},r.createStyle=function(e){r.worker.postMessage({target:"create-style",style:e})},r.getStyles=function(e,t){r.fetchFromWorker({target:"get-styles"},function(t){e(t.styles)},t)},r.setStyle=function(e,t){r.worker.postMessage({target:"set-style",style:e,index:t})},r.removeStyle=function(e){r.worker.postMessage({target:"remove-style",index:e})},r.init()})},{}],guZOB:[function(e,t,r){r.interopDefault=function(e){return e&&e.__esModule?e:{default:e}},r.defineInteropFlag=function(e){Object.defineProperty(e,"__esModule",{value:!0})},r.exportAll=function(e,t){return Object.keys(e).forEach(function(r){"default"===r||"__esModule"===r||Object.prototype.hasOwnProperty.call(t,r)||Object.defineProperty(t,r,{enumerable:!0,get:function(){return e[r]}})}),t},r.export=function(e,t,r){Object.defineProperty(e,t,{enumerable:!0,get:r})}},{}]},["abjMI"],"abjMI","parcelRequire03dd"); \ No newline at end of file +!function(e,t,s,r,n){var i="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},a="function"==typeof i[r]&&i[r],o=a.cache||{},l="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function c(t,s){if(!o[t]){if(!e[t]){var n="function"==typeof i[r]&&i[r];if(!s&&n)return n(t,!0);if(a)return a(t,!0);if(l&&"string"==typeof t)return l(t);var d=Error("Cannot find module '"+t+"'");throw d.code="MODULE_NOT_FOUND",d}v.resolve=function(s){var r=e[t][1][s];return null!=r?r:s},v.cache={};var u=o[t]=new c.Module(t);e[t][0].call(u.exports,v,u,u.exports,this)}return o[t].exports;function v(e){var t=v.resolve(e);return!1===t?{}:c(t)}}c.isParcelRequire=!0,c.Module=function(e){this.id=e,this.bundle=c,this.exports={}},c.modules=e,c.cache=o,c.parent=a,c.register=function(t,s){e[t]=[function(e,t){t.exports=s},{}]},Object.defineProperty(c,"root",{get:function(){return i[r]}}),i[r]=c;for(var d=0;da);var n=e("./adapter"),i=r.interopDefault(n);function a(e){return t=>{let s=new i.default(t,e);return{name:"artplayerPluginLibass",libass:s.libass,visible:s.visible,init:s.init.bind(s),switch:s.switch.bind(s),show:s.show.bind(s),hide:s.hide.bind(s),destroy:s.destroy.bind(s)}}}"undefined"!=typeof window&&(window.artplayerPluginLibass=a)},{"./adapter":"2m9sB","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"2m9sB":[function(e,t,s){var r=e("@parcel/transformer-js/src/esmodule-helpers.js");r.defineInteropFlag(s);var n=e("libass-wasm"),i=r.interopDefault(n);let a=`[Script Info] ScriptType: v4.00+`;s.default=class{constructor(e,t){let{constructor:s,template:r}=e;this.art=e,this.$video=r.$video,this.$webvtt=r.$subtitle,this.utils=s.utils,this.libass=null,e.once("ready",this.init.bind(this,t))}async init(e){this.#e(),await this.#t(e),this.#s(),this.art.emit("artplayerPluginLibass:init",this);let t=this.art?.option?.subtitle?.url;t&&"ass"===this.utils.getExt(t)&&this.switch(t)}switch(e){this.art.emit("artplayerPluginLibass:switch",e),e&&"ass"===this.utils.getExt(e)?(this.currentType="ass",this.libass.freeTrack(),this.libass.setTrackByUrl(this.#r(e)),this.visible=this.art.subtitle.show):(this.currentType="webvtt",this.hide(),this.libass.freeTrack())}setVisibility(e){this.visible=e}setOffset(e){this.timeOffset=e}get active(){return"ass"===this.currentType}get visible(){return!!this.libass&&"none"!==this.libass.canvasParent.style.display}set visible(e){this.art.emit("artplayerPluginLibass:visible",e),this.#n(!this.active),this.libass.canvasParent&&(this.libass.canvasParent.style.display=e?"block":"none",e&&this.libass.resize())}get timeOffset(){return this.libass.timeOffset}set timeOffset(e){this.art.emit("artplayerPluginLibass:timeOffset",e),this.libass.timeOffset=e}show(){this.visible=!0}hide(){this.visible=!1}destroy(){this.art.emit("artplayerPluginLibass:destroy"),this.#i(),this.libass.dispose(),URL.revokeObjectURL(this.workerScriptUrl),this.libass=null}async #t(e={}){if(!e.fallbackFont)return this.utils.errorHandle(e.fallbackFont,"artplayerPluginLibass: fallbackFont is required");e.workerUrl||(e.workerUrl="https://cdnjs.cloudflare.com/ajax/libs/libass-wasm/4.1.0/js/subtitles-octopus-worker.js"),e.availableFonts&&(e.availableFonts=Object.entries(e.availableFonts).reduce((e,[t,s])=>(e[t]=this.#r(s),e),{})),this.libass=new i.default({subContent:a,video:this.$video,...e,workerUrl:await this.#a(e),fallbackFont:this.#r(e.fallbackFont),fonts:e.fonts?.map(e=>this.#r(e))}),this.libass.canvasParent.className="artplayer-plugin-libass",this.libass.canvasParent.style.cssText=` position: absolute; top: 0; left: 0; width: 100%; height: 100%; user-select: none; pointer-events: none; z-index: 20;`}#s(){this.switchHandler=this.switch.bind(this),this.visibleHandler=this.setVisibility.bind(this),this.offsetHandler=this.setOffset.bind(this),this.art.on("subtitle",this.visibleHandler),this.art.on("subtitleLoad",this.switchHandler),this.art.on("subtitleOffset",this.offsetHandler),this.art.once("destroy",this.destroy.bind(this))}#i(){this.art.off("subtitle",this.visibleHandler),this.art.off("subtitleLoad",this.switchHandler),this.art.off("subtitleOffset",this.offsetHandler)}#n(e){this.$webvtt.style.visibility=e?"visible":"hidden"}#r(e){return this.#o(e)?e:new URL(e,document.baseURI).toString()}#o(e){return/^https?:\/\//.test(e)}#a({workerUrl:e,wasmUrl:t}){return new Promise(s=>{fetch(e).then(e=>e.text()).then(r=>{let n=r,i=new Blob([n=n.replace(/wasmBinaryFile\s*=\s*"(subtitles-octopus-worker\.wasm)"/g,(s,r)=>(t=t?this.#r(t):new URL(r,e).toString(),`wasmBinaryFile = "${t}"`))],{type:"text/javascript"});s(URL.createObjectURL(i))})})}#e(){let e=!1;try{if("object"==typeof WebAssembly&&"function"==typeof WebAssembly.instantiate){let t=new WebAssembly.Module(Uint8Array.of(0,97,115,109,1,0,0,0));t instanceof WebAssembly.Module&&(e=new WebAssembly.Instance(t) instanceof WebAssembly.Instance)}}catch(e){}this.utils.errorHandle(e,"Browser does not support WebAssembly")}}},{"libass-wasm":"lHkek","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],lHkek:[function(e,t,s){"function"==typeof SubtitlesOctopusOnLoad&&SubtitlesOctopusOnLoad(),t.exports&&(t.exports=function(e){var t=!1;try{if("object"==typeof WebAssembly&&"function"==typeof WebAssembly.instantiate){let e=new WebAssembly.Module(Uint8Array.of(0,97,115,109,1,0,0,0));e instanceof WebAssembly.Module&&(t=new WebAssembly.Instance(e) instanceof WebAssembly.Instance)}}catch(e){}console.log("WebAssembly support detected: "+(t?"yes":"no"));var s=this;function r(){s.setCurrentTime(s.video.currentTime+s.timeOffset)}function n(){s.setIsPaused(!1,s.video.currentTime+s.timeOffset)}function i(){s.setIsPaused(!0,s.video.currentTime+s.timeOffset)}function a(){s.video.removeEventListener("timeupdate",r,!1)}function o(){s.video.addEventListener("timeupdate",r,!1);var e=s.video.currentTime+s.timeOffset;s.setCurrentTime(e)}function l(){s.setRate(s.video.playbackRate)}function c(){s.setIsPaused(!0,s.video.currentTime+s.timeOffset)}function d(e){e.target.removeEventListener(e.type,d,!1),s.resize()}function u(){var e=s.renderFramesData,t=performance.now();s.ctx.clearRect(0,0,s.canvas.width,s.canvas.height);for(var r=0;r=1?i[a]:1;var o=new ImageData(i,n.w,n.h);s.bufferCanvasCtx.putImageData(o,0,0),s.ctx.drawImage(s.bufferCanvas,n.x,n.y)}if(s.debug){var l=Math.round(performance.now()-t),c=e.blendTime;void 0!==c?console.log("render: "+Math.round(e.spentTime-c)+" ms, blend: "+Math.round(c)+" ms, draw: "+l+" ms; TOTAL="+Math.round(e.spentTime+l)+" ms"):console.log(Math.round(e.spentTime)+" ms (+ "+l+" ms draw)"),s.renderStart=performance.now()}}function v(){var e=s.renderFramesData,t=performance.now();s.ctx.clearRect(0,0,s.canvas.width,s.canvas.height);for(var r=0;r0?s.resize():s.video.addEventListener("loadedmetadata",d,!1))},s.getVideoPosition=function(){var e=s.video.videoWidth/s.video.videoHeight,t=s.video.offsetWidth,r=s.video.offsetHeight,n=t,i=r;t/r>e?n=Math.floor(r*e):i=Math.floor(t/e);var a=(t-n)/2,o=(r-i)/2;return{width:n,height:i,x:a,y:o}},s.setSubUrl=function(e){s.subUrl=e},s.renderFrameData=null,s.workerActive=!1,s.frameId=0,s.onWorkerMessage=function(e){!s.workerActive&&(s.workerActive=!0,s.onReadyEvent&&s.onReadyEvent());var t=e.data;switch(t.target){case"stdout":console.log(t.content);break;case"console-log":console.log.apply(console,JSON.parse(t.content));break;case"console-debug":console.debug.apply(console,JSON.parse(t.content));break;case"console-info":console.info.apply(console,JSON.parse(t.content));break;case"console-warn":console.warn.apply(console,JSON.parse(t.content));break;case"console-error":console.error.apply(console,JSON.parse(t.content));break;case"stderr":console.error(t.content);break;case"window":window[t.method]();break;case"canvas":switch(t.op){case"getContext":s.ctx=s.canvas.getContext(t.type,t.attributes);break;case"resize":s.resize(t.width,t.height);break;case"renderCanvas":s.lastRenderTime0&&i>s.maxRenderHeight&&(i=s.maxRenderHeight),e*=i/t,t=i}return{width:e,height:t}}((i=s.getVideoPosition()).width*s.pixelRatio,i.height*s.pixelRatio);e=a.width,t=a.height;var o=s.canvasParent.getBoundingClientRect().top-s.video.getBoundingClientRect().top;r=i.y-o,n=i.x}if(!e||!t){s.video||console.error("width or height is 0. You should specify width & height for resize.");return}(s.canvas.width!=e||s.canvas.height!=t||s.canvas.style.top!=r||s.canvas.style.left!=n)&&(s.canvas.width=e,s.canvas.height=t,null!=i&&(s.canvasParent.style.position="relative",s.canvas.style.display="block",s.canvas.style.position="absolute",s.canvas.style.width=i.width+"px",s.canvas.style.height=i.height+"px",s.canvas.style.top=r+"px",s.canvas.style.left=n+"px",s.canvas.style.pointerEvents="none"),s.worker.postMessage({target:"canvas",width:s.canvas.width,height:s.canvas.height}))},s.resizeWithTimeout=function(){s.resize(),setTimeout(s.resize,100)},s.runBenchmark=function(){s.worker.postMessage({target:"runBenchmark"})},s.customMessage=function(e,t){t=t||{},s.worker.postMessage({target:"custom",userData:e,preMain:t.preMain})},s.setCurrentTime=function(e){s.worker.postMessage({target:"video",currentTime:e})},s.setTrackByUrl=function(e){s.worker.postMessage({target:"set-track-by-url",url:e})},s.setTrack=function(e){s.worker.postMessage({target:"set-track",content:e})},s.freeTrack=function(e){s.worker.postMessage({target:"free-track"})},s.render=s.setCurrentTime,s.setIsPaused=function(e,t){s.worker.postMessage({target:"video",isPaused:e,currentTime:t})},s.setRate=function(e){s.worker.postMessage({target:"video",rate:e})},s.dispose=function(){s.worker.postMessage({target:"destroy"}),s.worker.terminate(),s.worker.removeEventListener("message",s.onWorkerMessage),s.worker.removeEventListener("error",s.workerError),s.workerActive=!1,s.worker=null,s.video&&(s.video.removeEventListener("timeupdate",r,!1),s.video.removeEventListener("playing",n,!1),s.video.removeEventListener("pause",i,!1),s.video.removeEventListener("seeking",a,!1),s.video.removeEventListener("seeked",o,!1),s.video.removeEventListener("ratechange",l,!1),s.video.removeEventListener("waiting",c,!1),s.video.removeEventListener("loadedmetadata",d,!1),document.removeEventListener("fullscreenchange",s.resizeWithTimeout,!1),document.removeEventListener("mozfullscreenchange",s.resizeWithTimeout,!1),document.removeEventListener("webkitfullscreenchange",s.resizeWithTimeout,!1),document.removeEventListener("msfullscreenchange",s.resizeWithTimeout,!1),window.removeEventListener("resize",s.resizeWithTimeout,!1),s.video.parentNode.removeChild(s.canvasParent),s.video=null),s.ro&&(s.ro.disconnect(),s.ro=null),s.onCustomMessage=null,s.onErrorEvent=null,s.onReadyEvent=null},s.fetchFromWorker=function(e,t,r){try{var n=e.target,i=setTimeout(function(){o(Error("Error: Timeout while try to fetch "+n))},5e3),a=function(e){e.data.target==n&&(t(e.data),s.worker.removeEventListener("message",a),s.worker.removeEventListener("error",o),clearTimeout(i))},o=function(e){r(e),s.worker.removeEventListener("message",a),s.worker.removeEventListener("error",o),clearTimeout(i)};s.worker.addEventListener("message",a),s.worker.addEventListener("error",o),s.worker.postMessage(e)}catch(e){r(e)}},s.createEvent=function(e){s.worker.postMessage({target:"create-event",event:e})},s.getEvents=function(e,t){s.fetchFromWorker({target:"get-events"},function(t){e(t.events)},t)},s.setEvent=function(e,t){s.worker.postMessage({target:"set-event",event:e,index:t})},s.removeEvent=function(e){s.worker.postMessage({target:"remove-event",index:e})},s.createStyle=function(e){s.worker.postMessage({target:"create-style",style:e})},s.getStyles=function(e,t){s.fetchFromWorker({target:"get-styles"},function(t){e(t.styles)},t)},s.setStyle=function(e,t){s.worker.postMessage({target:"set-style",style:e,index:t})},s.removeStyle=function(e){s.worker.postMessage({target:"remove-style",index:e})},s.init()})},{}],"9pCYc":[function(e,t,s){s.interopDefault=function(e){return e&&e.__esModule?e:{default:e}},s.defineInteropFlag=function(e){Object.defineProperty(e,"__esModule",{value:!0})},s.exportAll=function(e,t){return Object.keys(e).forEach(function(s){"default"===s||"__esModule"===s||Object.prototype.hasOwnProperty.call(t,s)||Object.defineProperty(t,s,{enumerable:!0,get:function(){return e[s]}})}),t},s.export=function(e,t,s){Object.defineProperty(e,t,{enumerable:!0,get:s})}},{}]},["5lsnt"],"5lsnt","parcelRequire4dc0"); \ No newline at end of file diff --git a/compiled/artplayer-plugin-libass.legacy.js b/compiled/artplayer-plugin-libass.legacy.js index fbad65813..7c69dbb84 100644 --- a/compiled/artplayer-plugin-libass.legacy.js +++ b/compiled/artplayer-plugin-libass.legacy.js @@ -1,7 +1,8 @@ + /*! * artplayer-plugin-libass.js v1.0.0 * Github: https://github.com/zhw2590582/ArtPlayer * (c) 2017-2024 Harvey Zack * Released under the MIT License. */ -!function(e,t,r,n,o){var s="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},a="function"==typeof s[n]&&s[n],i=a.cache||{},c="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function l(t,r){if(!i[t]){if(!e[t]){var o="function"==typeof s[n]&&s[n];if(!r&&o)return o(t,!0);if(a)return a(t,!0);if(c&&"string"==typeof t)return c(t);var u=Error("Cannot find module '"+t+"'");throw u.code="MODULE_NOT_FOUND",u}p.resolve=function(r){var n=e[t][1][r];return null!=n?n:r},p.cache={};var f=i[t]=new l.Module(t);e[t][0].call(f.exports,p,f,f.exports,this)}return i[t].exports;function p(e){var t=p.resolve(e);return!1===t?{}:l(t)}}l.isParcelRequire=!0,l.Module=function(e){this.id=e,this.bundle=l,this.exports={}},l.modules=e,l.cache=i,l.parent=a,l.register=function(t,r){e[t]=[function(e,t){t.exports=r},{}]},Object.defineProperty(l,"root",{get:function(){return s[n]}}),s[n]=l;for(var u=0;u0&&void 0!==c[0]?c[0]:{}).fallbackFont)return[2,this.utils.errorHandle(t.fallbackFont,"artplayerPluginLibass:fallbackFont is required")];return t.workerUrl||(t.workerUrl="https://cdnjs.cloudflare.com/ajax/libs/libass-wasm/4.1.0/js/subtitles-octopus-worker.js"),t.availableFonts&&(t.availableFonts=Object.entries(t.availableFonts).reduce(function(t,r){var n=(0,f._)(r,2),o=n[0],s=n[1];return t[o]=(0,a._)(e,b,P).call(e,s),t},{})),n=this,o=h.default.bind,s=[(0,l._)({subContent:"[Script Info]\nScriptType:v4.00+",video:this.$video},t)],i={},[4,(0,a._)(this,w,S).call(this,t)];case 1:return n.libass=new(o.apply(h.default,[void 0,(0,u._).apply(void 0,s.concat([(i.workerUrl=p.sent(),i.fallbackFont=(0,a._)(this,b,P).call(this,t.fallbackFont),i.fonts=null===(r=t.fonts)||void 0===r?void 0:r.map(function(t){return(0,a._)(e,b,P).call(e,t)}),i)]))])),this.libass.canvasParent.className="artplayer-plugin-libass",this.libass.canvasParent.style.cssText="\n position:absolute;\n top:0;\n left:0;\n width:100%;\n height:100%;\n user-select:none;\n pointer-events:none;\n z-index:20;",[2]}})})).apply(this,arguments)}function T(){this.switchHandler=this.switch.bind(this),this.visibleHandler=this.setVisibility.bind(this),this.offsetHandler=this.setOffset.bind(this),this.art.on("subtitle",this.visibleHandler),this.art.on("subtitleLoad",this.switchHandler),this.art.on("subtitleOffset",this.offsetHandler),this.art.once("destroy",this.destroy.bind(this))}function E(){this.art.off("subtitle",this.visibleHandler),this.art.off("subtitleLoad",this.switchHandler),this.art.off("subtitleOffset",this.offsetHandler)}function M(e){this.$webvtt.style.visibility=e?"visible":"hidden"}function P(e){return(0,a._)(this,g,L).call(this,e)?e:new URL(e,document.baseURI).toString()}function L(e){return/^https?:\/\//.test(e)}function S(e){var t=this,r=e.workerUrl,n=e.wasmUrl;return new Promise(function(e){fetch(r).then(function(e){return e.text()}).then(function(o){var s=o,i=new Blob([s=s.replace(/wasmBinaryFile\s*=\s*"(subtitles-octopus-worker\.wasm)"/g,function(e,o){return n=n?(0,a._)(t,b,P).call(t,n):new URL(o,r).toString(),'wasmBinaryFile = "'.concat(n,'"')})],{type:"text/javascript"});e(URL.createObjectURL(i))})})}function F(){var e=!1;try{if("object"==typeof WebAssembly&&"function"==typeof WebAssembly.instantiate){var t=new WebAssembly.Module(Uint8Array.of(0,97,115,109,1,0,0,0));t instanceof WebAssembly.Module&&(e=new WebAssembly.Instance(t) instanceof WebAssembly.Instance)}}catch(e){}this.utils.errorHandle(e,"Browser does not support WebAssembly")}},{"@swc/helpers/_/_async_to_generator":"eFkS8","@swc/helpers/_/_class_call_check":"dRqgV","@swc/helpers/_/_class_private_method_get":"bQ2vf","@swc/helpers/_/_class_private_method_init":"6LURB","@swc/helpers/_/_create_class":"8RAzW","@swc/helpers/_/_object_spread":"g42Vq","@swc/helpers/_/_object_spread_props":"cTIVI","@swc/helpers/_/_sliced_to_array":"8wTBg","@swc/helpers/_/_ts_generator":"7FJ4U","libass-wasm":"fc8UT","@parcel/transformer-js/src/esmodule-helpers.js":"hTt7M"}],eFkS8:[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");function o(e,t,r,n,o,s,a){try{var i=e[s](a),c=i.value}catch(e){r(e);return}i.done?t(c):Promise.resolve(c).then(n,o)}function s(e){return function(){var t=this,r=arguments;return new Promise(function(n,s){var a=e.apply(t,r);function i(e){o(a,n,s,i,c,"next",e)}function c(e){o(a,n,s,i,c,"throw",e)}i(void 0)})}}n.defineInteropFlag(r),n.export(r,"_async_to_generator",function(){return s}),n.export(r,"_",function(){return s})},{"@parcel/transformer-js/src/esmodule-helpers.js":"hTt7M"}],hTt7M:[function(e,t,r){r.interopDefault=function(e){return e&&e.__esModule?e:{default:e}},r.defineInteropFlag=function(e){Object.defineProperty(e,"__esModule",{value:!0})},r.exportAll=function(e,t){return Object.keys(e).forEach(function(r){"default"===r||"__esModule"===r||Object.prototype.hasOwnProperty.call(t,r)||Object.defineProperty(t,r,{enumerable:!0,get:function(){return e[r]}})}),t},r.export=function(e,t,r){Object.defineProperty(e,t,{enumerable:!0,get:r})}},{}],dRqgV:[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");function o(e,t){if(!(e instanceof t))throw TypeError("Cannot call a class as a function")}n.defineInteropFlag(r),n.export(r,"_class_call_check",function(){return o}),n.export(r,"_",function(){return o})},{"@parcel/transformer-js/src/esmodule-helpers.js":"hTt7M"}],bQ2vf:[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");function o(e,t,r){if(!t.has(e))throw TypeError("attempted to get private field on non-instance");return r}n.defineInteropFlag(r),n.export(r,"_class_private_method_get",function(){return o}),n.export(r,"_",function(){return o})},{"@parcel/transformer-js/src/esmodule-helpers.js":"hTt7M"}],"6LURB":[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(r),n.export(r,"_class_private_method_init",function(){return s}),n.export(r,"_",function(){return s});var o=e("./_check_private_redeclaration.js");function s(e,t){(0,o._check_private_redeclaration)(e,t),t.add(e)}},{"./_check_private_redeclaration.js":"hQt4W","@parcel/transformer-js/src/esmodule-helpers.js":"hTt7M"}],hQt4W:[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");function o(e,t){if(t.has(e))throw TypeError("Cannot initialize the same private elements twice on an object")}n.defineInteropFlag(r),n.export(r,"_check_private_redeclaration",function(){return o}),n.export(r,"_",function(){return o})},{"@parcel/transformer-js/src/esmodule-helpers.js":"hTt7M"}],"8RAzW":[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");function o(e,t){for(var r=0;re.length)&&(t=e.length);for(var r=0,n=Array(t);rt.indexOf(n)&&(r[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,n=Object.getOwnPropertySymbols(e);ot.indexOf(n[o])&&Object.prototype.propertyIsEnumerable.call(e,n[o])&&(r[n[o]]=e[n[o]]);return r}function l(e,t,r,n){var o,s=arguments.length,a=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,n);else for(var i=e.length-1;i>=0;i--)(o=e[i])&&(a=(s<3?o(a):s>3?o(t,r,a):o(t,r))||a);return s>3&&a&&Object.defineProperty(t,r,a),a}function u(e,t){return function(r,n){t(r,n,e)}}function f(e,t,r,n,o,s){function a(e){if(void 0!==e&&"function"!=typeof e)throw TypeError("Function expected");return e}for(var i,c=n.kind,l="getter"===c?"get":"setter"===c?"set":"value",u=!t&&e?n.static?e:e.prototype:null,f=t||(u?Object.getOwnPropertyDescriptor(u,n.name):{}),p=!1,d=r.length-1;d>=0;d--){var h={};for(var v in n)h[v]="access"===v?{}:n[v];for(var v in n.access)h.access[v]=n.access[v];h.addInitializer=function(e){if(p)throw TypeError("Cannot add initializers after decoration has completed");s.push(a(e||null))};var m=(0,r[d])("accessor"===c?{get:f.get,set:f.set}:f[l],h);if("accessor"===c){if(void 0===m)continue;if(null===m||"object"!=typeof m)throw TypeError("Object expected");(i=a(m.get))&&(f.get=i),(i=a(m.set))&&(f.set=i),(i=a(m.init))&&o.unshift(i)}else(i=a(m))&&("field"===c?o.unshift(i):f[l]=i)}u&&Object.defineProperty(u,n.name,f),p=!0}function p(e,t,r){for(var n=arguments.length>2,o=0;o0&&o[o.length-1])&&(6===i[0]||2===i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function w(e,t){var r="function"==typeof Symbol&&e[Symbol.iterator];if(!r)return e;var n,o,s=r.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(n=s.next()).done;)a.push(n.value)}catch(e){o={error:e}}finally{try{n&&!n.done&&(r=s.return)&&r.call(s)}finally{if(o)throw o.error}}return a}function j(){for(var e=[],t=0;t1||i(e,t)})})}function i(e,t){try{var r;(r=o[e](t)).value instanceof O?Promise.resolve(r.value.v).then(c,l):u(s[0][2],r)}catch(e){u(s[0][3],e)}}function c(e){i("next",e)}function l(e){i("throw",e)}function u(e,t){e(t),s.shift(),s.length&&i(s[0][0],s[0][1])}}function E(e){var t,r;return t={},n("next"),n("throw",function(e){throw e}),n("return"),t[Symbol.iterator]=function(){return this},t;function n(n,o){t[n]=e[n]?function(t){return(r=!r)?{value:O(e[n](t)),done:!1}:o?o(t):t}:o}}function M(e){if(!Symbol.asyncIterator)throw TypeError("Symbol.asyncIterator is not defined.");var t,r=e[Symbol.asyncIterator];return r?r.call(e):(e=g(e),t={},n("next"),n("throw"),n("return"),t[Symbol.asyncIterator]=function(){return this},t);function n(r){t[r]=e[r]&&function(t){return new Promise(function(n,o){!function(e,t,r,n){Promise.resolve(n).then(function(t){e({value:t,done:r})},t)}(n,o,(t=e[r](t)).done,t.value)})}}}function P(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e}var L=Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t};function S(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&_(t,e,r);return L(t,e),t}function F(e){return e&&e.__esModule?e:{default:e}}function I(e,t,r,n){if("a"===r&&!n)throw TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!n:!t.has(e))throw TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?n:"a"===r?n.call(e):n?n.value:t.get(e)}function C(e,t,r,n,o){if("m"===n)throw TypeError("Private method is not writable");if("a"===n&&!o)throw TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!o:!t.has(e))throw TypeError("Cannot write private member to an object whose class did not declare it");return"a"===n?o.call(e,r):o?o.value=r:t.set(e,r),r}function A(e,t){if(null===t||"object"!=typeof t&&"function"!=typeof t)throw TypeError("Cannot use 'in' operator on non-object");return"function"==typeof e?t===e:e.has(t)}function R(e,t,r){if(null!=t){var n;if("object"!=typeof t&&"function"!=typeof t)throw TypeError("Object expected.");if(r){if(!Symbol.asyncDispose)throw TypeError("Symbol.asyncDispose is not defined.");n=t[Symbol.asyncDispose]}if(void 0===n){if(!Symbol.dispose)throw TypeError("Symbol.dispose is not defined.");n=t[Symbol.dispose]}if("function"!=typeof n)throw TypeError("Object not disposable.");e.stack.push({value:t,dispose:n,async:r})}else r&&e.stack.push({async:!0});return t}var W="function"==typeof SuppressedError?SuppressedError:function(e,t,r){var n=Error(r);return n.name="SuppressedError",n.error=e,n.suppressed=t,n};function U(e){function t(t){e.error=e.hasError?new W(t,e.error,"An error was suppressed during disposal."):t,e.hasError=!0}return function r(){for(;e.stack.length;){var n=e.stack.pop();try{var o=n.dispose&&n.dispose.call(n.value);if(n.async)return Promise.resolve(o).then(r,function(e){return t(e),r()})}catch(e){t(e)}}if(e.hasError)throw e.error}()}r.default={__extends:a,__assign:i,__rest:c,__decorate:l,__param:u,__metadata:v,__awaiter:m,__generator:y,__createBinding:_,__exportStar:b,__values:g,__read:w,__spread:j,__spreadArrays:k,__spreadArray:x,__await:O,__asyncGenerator:T,__asyncDelegator:E,__asyncValues:M,__makeTemplateObject:P,__importStar:S,__importDefault:F,__classPrivateFieldGet:I,__classPrivateFieldSet:C,__classPrivateFieldIn:A,__addDisposableResource:R,__disposeResources:U}},{"@swc/helpers/_/_type_of":"l4kpM","@parcel/transformer-js/src/esmodule-helpers.js":"hTt7M"}],l4kpM:[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");function o(e){return e&&"undefined"!=typeof Symbol&&e.constructor===Symbol?"symbol":typeof e}n.defineInteropFlag(r),n.export(r,"_type_of",function(){return o}),n.export(r,"_",function(){return o})},{"@parcel/transformer-js/src/esmodule-helpers.js":"hTt7M"}],fc8UT:[function(e,t,r){"function"==typeof SubtitlesOctopusOnLoad&&SubtitlesOctopusOnLoad(),t.exports&&(t.exports=function(e){var t=!1;try{if("object"==typeof WebAssembly&&"function"==typeof WebAssembly.instantiate){var r=new WebAssembly.Module(Uint8Array.of(0,97,115,109,1,0,0,0));r instanceof WebAssembly.Module&&(t=new WebAssembly.Instance(r) instanceof WebAssembly.Instance)}}catch(e){}console.log("WebAssembly support detected:"+(t?"yes":"no"));var n=this;function o(){n.setCurrentTime(n.video.currentTime+n.timeOffset)}function s(){n.setIsPaused(!1,n.video.currentTime+n.timeOffset)}function a(){n.setIsPaused(!0,n.video.currentTime+n.timeOffset)}function i(){n.video.removeEventListener("timeupdate",o,!1)}function c(){n.video.addEventListener("timeupdate",o,!1);var e=n.video.currentTime+n.timeOffset;n.setCurrentTime(e)}function l(){n.setRate(n.video.playbackRate)}function u(){n.setIsPaused(!0,n.video.currentTime+n.timeOffset)}function f(e){e.target.removeEventListener(e.type,f,!1),n.resize()}function p(){var e=n.renderFramesData,t=performance.now();n.ctx.clearRect(0,0,n.canvas.width,n.canvas.height);for(var r=0;r=1?s[a]:1;var i=new ImageData(s,o.w,o.h);n.bufferCanvasCtx.putImageData(i,0,0),n.ctx.drawImage(n.bufferCanvas,o.x,o.y)}if(n.debug){var c=Math.round(performance.now()-t),l=e.blendTime;void 0!==l?console.log("render:"+Math.round(e.spentTime-l)+" ms,blend:"+Math.round(l)+" ms,draw:"+c+" ms;TOTAL="+Math.round(e.spentTime+c)+" ms"):console.log(Math.round(e.spentTime)+" ms (+ "+c+" ms draw)"),n.renderStart=performance.now()}}function d(){var e=n.renderFramesData,t=performance.now();n.ctx.clearRect(0,0,n.canvas.width,n.canvas.height);for(var r=0;r0?n.resize():n.video.addEventListener("loadedmetadata",f,!1))},n.getVideoPosition=function(){var e=n.video.videoWidth/n.video.videoHeight,t=n.video.offsetWidth,r=n.video.offsetHeight,o=t,s=r;t/r>e?o=Math.floor(r*e):s=Math.floor(t/e);var a=(t-o)/2,i=(r-s)/2;return{width:o,height:s,x:a,y:i}},n.setSubUrl=function(e){n.subUrl=e},n.renderFrameData=null,n.workerActive=!1,n.frameId=0,n.onWorkerMessage=function(e){!n.workerActive&&(n.workerActive=!0,n.onReadyEvent&&n.onReadyEvent());var t=e.data;switch(t.target){case"stdout":console.log(t.content);break;case"console-log":console.log.apply(console,JSON.parse(t.content));break;case"console-debug":console.debug.apply(console,JSON.parse(t.content));break;case"console-info":console.info.apply(console,JSON.parse(t.content));break;case"console-warn":console.warn.apply(console,JSON.parse(t.content));break;case"console-error":console.error.apply(console,JSON.parse(t.content));break;case"stderr":console.error(t.content);break;case"window":window[t.method]();break;case"canvas":switch(t.op){case"getContext":n.ctx=n.canvas.getContext(t.type,t.attributes);break;case"resize":n.resize(t.width,t.height);break;case"renderCanvas":n.lastRenderTime0&&s>n.maxRenderHeight&&(s=n.maxRenderHeight),e*=s/t,t=s}return{width:e,height:t}}((s=n.getVideoPosition()).width*n.pixelRatio,s.height*n.pixelRatio);e=a.width,t=a.height;var i=n.canvasParent.getBoundingClientRect().top-n.video.getBoundingClientRect().top;r=s.y-i,o=s.x}if(!e||!t){n.video||console.error("width or height is 0. You should specify width & height for resize.");return}(n.canvas.width!=e||n.canvas.height!=t||n.canvas.style.top!=r||n.canvas.style.left!=o)&&(n.canvas.width=e,n.canvas.height=t,null!=s&&(n.canvasParent.style.position="relative",n.canvas.style.display="block",n.canvas.style.position="absolute",n.canvas.style.width=s.width+"px",n.canvas.style.height=s.height+"px",n.canvas.style.top=r+"px",n.canvas.style.left=o+"px",n.canvas.style.pointerEvents="none"),n.worker.postMessage({target:"canvas",width:n.canvas.width,height:n.canvas.height}))},n.resizeWithTimeout=function(){n.resize(),setTimeout(n.resize,100)},n.runBenchmark=function(){n.worker.postMessage({target:"runBenchmark"})},n.customMessage=function(e,t){t=t||{},n.worker.postMessage({target:"custom",userData:e,preMain:t.preMain})},n.setCurrentTime=function(e){n.worker.postMessage({target:"video",currentTime:e})},n.setTrackByUrl=function(e){n.worker.postMessage({target:"set-track-by-url",url:e})},n.setTrack=function(e){n.worker.postMessage({target:"set-track",content:e})},n.freeTrack=function(e){n.worker.postMessage({target:"free-track"})},n.render=n.setCurrentTime,n.setIsPaused=function(e,t){n.worker.postMessage({target:"video",isPaused:e,currentTime:t})},n.setRate=function(e){n.worker.postMessage({target:"video",rate:e})},n.dispose=function(){n.worker.postMessage({target:"destroy"}),n.worker.terminate(),n.worker.removeEventListener("message",n.onWorkerMessage),n.worker.removeEventListener("error",n.workerError),n.workerActive=!1,n.worker=null,n.video&&(n.video.removeEventListener("timeupdate",o,!1),n.video.removeEventListener("playing",s,!1),n.video.removeEventListener("pause",a,!1),n.video.removeEventListener("seeking",i,!1),n.video.removeEventListener("seeked",c,!1),n.video.removeEventListener("ratechange",l,!1),n.video.removeEventListener("waiting",u,!1),n.video.removeEventListener("loadedmetadata",f,!1),document.removeEventListener("fullscreenchange",n.resizeWithTimeout,!1),document.removeEventListener("mozfullscreenchange",n.resizeWithTimeout,!1),document.removeEventListener("webkitfullscreenchange",n.resizeWithTimeout,!1),document.removeEventListener("msfullscreenchange",n.resizeWithTimeout,!1),window.removeEventListener("resize",n.resizeWithTimeout,!1),n.video.parentNode.removeChild(n.canvasParent),n.video=null),n.ro&&(n.ro.disconnect(),n.ro=null),n.onCustomMessage=null,n.onErrorEvent=null,n.onReadyEvent=null},n.fetchFromWorker=function(e,t,r){try{var o=e.target,s=setTimeout(function(){i(Error("Error:Timeout while try to fetch "+o))},5e3),a=function(e){e.data.target==o&&(t(e.data),n.worker.removeEventListener("message",a),n.worker.removeEventListener("error",i),clearTimeout(s))},i=function(e){r(e),n.worker.removeEventListener("message",a),n.worker.removeEventListener("error",i),clearTimeout(s)};n.worker.addEventListener("message",a),n.worker.addEventListener("error",i),n.worker.postMessage(e)}catch(e){r(e)}},n.createEvent=function(e){n.worker.postMessage({target:"create-event",event:e})},n.getEvents=function(e,t){n.fetchFromWorker({target:"get-events"},function(t){e(t.events)},t)},n.setEvent=function(e,t){n.worker.postMessage({target:"set-event",event:e,index:t})},n.removeEvent=function(e){n.worker.postMessage({target:"remove-event",index:e})},n.createStyle=function(e){n.worker.postMessage({target:"create-style",style:e})},n.getStyles=function(e,t){n.fetchFromWorker({target:"get-styles"},function(t){e(t.styles)},t)},n.setStyle=function(e,t){n.worker.postMessage({target:"set-style",style:e,index:t})},n.removeStyle=function(e){n.worker.postMessage({target:"remove-style",index:e})},n.init()})},{}]},["7Csdv"],"7Csdv","parcelRequire03dd"); \ No newline at end of file +!function(e,t,r,n,o){var s="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},a="function"==typeof s[n]&&s[n],i=a.cache||{},c="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function l(t,r){if(!i[t]){if(!e[t]){var o="function"==typeof s[n]&&s[n];if(!r&&o)return o(t,!0);if(a)return a(t,!0);if(c&&"string"==typeof t)return c(t);var u=Error("Cannot find module '"+t+"'");throw u.code="MODULE_NOT_FOUND",u}d.resolve=function(r){var n=e[t][1][r];return null!=n?n:r},d.cache={};var f=i[t]=new l.Module(t);e[t][0].call(f.exports,d,f,f.exports,this)}return i[t].exports;function d(e){var t=d.resolve(e);return!1===t?{}:l(t)}}l.isParcelRequire=!0,l.Module=function(e){this.id=e,this.bundle=l,this.exports={}},l.modules=e,l.cache=i,l.parent=a,l.register=function(t,r){e[t]=[function(e,t){t.exports=r},{}]},Object.defineProperty(l,"root",{get:function(){return s[n]}}),s[n]=l;for(var u=0;u0&&void 0!==c[0]?c[0]:{}).fallbackFont)return[2,this.utils.errorHandle(t.fallbackFont,"artplayerPluginLibass: fallbackFont is required")];return t.workerUrl||(t.workerUrl="https://cdnjs.cloudflare.com/ajax/libs/libass-wasm/4.1.0/js/subtitles-octopus-worker.js"),t.availableFonts&&(t.availableFonts=Object.entries(t.availableFonts).reduce(function(t,r){var n=(0,f._)(r,2),o=n[0],s=n[1];return t[o]=(0,a._)(e,_,L).call(e,s),t},{})),n=this,o=h.default.bind,s=[(0,l._)({subContent:"[Script Info]\nScriptType: v4.00+",video:this.$video},t)],i={},[4,(0,a._)(this,w,F).call(this,t)];case 1:return n.libass=new(o.apply(h.default,[void 0,(0,u._).apply(void 0,s.concat([(i.workerUrl=d.sent(),i.fallbackFont=(0,a._)(this,_,L).call(this,t.fallbackFont),i.fonts=null===(r=t.fonts)||void 0===r?void 0:r.map(function(t){return(0,a._)(e,_,L).call(e,t)}),i)]))])),this.libass.canvasParent.className="artplayer-plugin-libass",this.libass.canvasParent.style.cssText="\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n user-select: none;\n pointer-events: none;\n z-index: 20;",[2]}})})).apply(this,arguments)}function E(){this.switchHandler=this.switch.bind(this),this.visibleHandler=this.setVisibility.bind(this),this.offsetHandler=this.setOffset.bind(this),this.art.on("subtitle",this.visibleHandler),this.art.on("subtitleLoad",this.switchHandler),this.art.on("subtitleOffset",this.offsetHandler),this.art.once("destroy",this.destroy.bind(this))}function P(){this.art.off("subtitle",this.visibleHandler),this.art.off("subtitleLoad",this.switchHandler),this.art.off("subtitleOffset",this.offsetHandler)}function T(e){this.$webvtt.style.visibility=e?"visible":"hidden"}function L(e){return(0,a._)(this,g,S).call(this,e)?e:new URL(e,document.baseURI).toString()}function S(e){return/^https?:\/\//.test(e)}function F(e){var t=this,r=e.workerUrl,n=e.wasmUrl;return new Promise(function(e){fetch(r).then(function(e){return e.text()}).then(function(o){var s=o,i=new Blob([s=s.replace(/wasmBinaryFile\s*=\s*"(subtitles-octopus-worker\.wasm)"/g,function(e,o){return n=n?(0,a._)(t,_,L).call(t,n):new URL(o,r).toString(),'wasmBinaryFile = "'.concat(n,'"')})],{type:"text/javascript"});e(URL.createObjectURL(i))})})}function I(){var e=!1;try{if("object"==typeof WebAssembly&&"function"==typeof WebAssembly.instantiate){var t=new WebAssembly.Module(Uint8Array.of(0,97,115,109,1,0,0,0));t instanceof WebAssembly.Module&&(e=new WebAssembly.Instance(t) instanceof WebAssembly.Instance)}}catch(e){}this.utils.errorHandle(e,"Browser does not support WebAssembly")}},{"@swc/helpers/_/_async_to_generator":"eONSn","@swc/helpers/_/_class_call_check":"9iJMm","@swc/helpers/_/_class_private_method_get":"g3ohx","@swc/helpers/_/_class_private_method_init":"7mIdc","@swc/helpers/_/_create_class":"21IOT","@swc/helpers/_/_object_spread":"9agdF","@swc/helpers/_/_object_spread_props":"gJNH2","@swc/helpers/_/_sliced_to_array":"uVQht","@swc/helpers/_/_ts_generator":"6Xyd0","libass-wasm":"gKNB2","@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}],eONSn:[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");function o(e,t,r,n,o,s,a){try{var i=e[s](a),c=i.value}catch(e){r(e);return}i.done?t(c):Promise.resolve(c).then(n,o)}function s(e){return function(){var t=this,r=arguments;return new Promise(function(n,s){var a=e.apply(t,r);function i(e){o(a,n,s,i,c,"next",e)}function c(e){o(a,n,s,i,c,"throw",e)}i(void 0)})}}n.defineInteropFlag(r),n.export(r,"_",function(){return s})},{"@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}],iWrD0:[function(e,t,r){r.interopDefault=function(e){return e&&e.__esModule?e:{default:e}},r.defineInteropFlag=function(e){Object.defineProperty(e,"__esModule",{value:!0})},r.exportAll=function(e,t){return Object.keys(e).forEach(function(r){"default"===r||"__esModule"===r||Object.prototype.hasOwnProperty.call(t,r)||Object.defineProperty(t,r,{enumerable:!0,get:function(){return e[r]}})}),t},r.export=function(e,t,r){Object.defineProperty(e,t,{enumerable:!0,get:r})}},{}],"9iJMm":[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");function o(e,t){if(!(e instanceof t))throw TypeError("Cannot call a class as a function")}n.defineInteropFlag(r),n.export(r,"_",function(){return o})},{"@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}],g3ohx:[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");function o(e,t,r){if(!t.has(e))throw TypeError("attempted to get private field on non-instance");return r}n.defineInteropFlag(r),n.export(r,"_",function(){return o})},{"@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}],"7mIdc":[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(r),n.export(r,"_",function(){return s});var o=e("./_check_private_redeclaration.js");function s(e,t){(0,o._)(e,t),t.add(e)}},{"./_check_private_redeclaration.js":"7Xw9a","@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}],"7Xw9a":[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");function o(e,t){if(t.has(e))throw TypeError("Cannot initialize the same private elements twice on an object")}n.defineInteropFlag(r),n.export(r,"_",function(){return o})},{"@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}],"21IOT":[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");function o(e,t){for(var r=0;re.length)&&(t=e.length);for(var r=0,n=Array(t);rt.indexOf(n)&&(r[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,n=Object.getOwnPropertySymbols(e);ot.indexOf(n[o])&&Object.prototype.propertyIsEnumerable.call(e,n[o])&&(r[n[o]]=e[n[o]]);return r}function l(e,t,r,n){var o,s=arguments.length,a=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,n);else for(var i=e.length-1;i>=0;i--)(o=e[i])&&(a=(s<3?o(a):s>3?o(t,r,a):o(t,r))||a);return s>3&&a&&Object.defineProperty(t,r,a),a}function u(e,t){return function(r,n){t(r,n,e)}}function f(e,t,r,n,o,s){function a(e){if(void 0!==e&&"function"!=typeof e)throw TypeError("Function expected");return e}for(var i,c=n.kind,l="getter"===c?"get":"setter"===c?"set":"value",u=!t&&e?n.static?e:e.prototype:null,f=t||(u?Object.getOwnPropertyDescriptor(u,n.name):{}),d=!1,p=r.length-1;p>=0;p--){var h={};for(var v in n)h[v]="access"===v?{}:n[v];for(var v in n.access)h.access[v]=n.access[v];h.addInitializer=function(e){if(d)throw TypeError("Cannot add initializers after decoration has completed");s.push(a(e||null))};var m=(0,r[p])("accessor"===c?{get:f.get,set:f.set}:f[l],h);if("accessor"===c){if(void 0===m)continue;if(null===m||"object"!=typeof m)throw TypeError("Object expected");(i=a(m.get))&&(f.get=i),(i=a(m.set))&&(f.set=i),(i=a(m.init))&&o.unshift(i)}else(i=a(m))&&("field"===c?o.unshift(i):f[l]=i)}u&&Object.defineProperty(u,n.name,f),d=!0}function d(e,t,r){for(var n=arguments.length>2,o=0;o0&&o[o.length-1])&&(6===i[0]||2===i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function w(e,t){var r="function"==typeof Symbol&&e[Symbol.iterator];if(!r)return e;var n,o,s=r.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(n=s.next()).done;)a.push(n.value)}catch(e){o={error:e}}finally{try{n&&!n.done&&(r=s.return)&&r.call(s)}finally{if(o)throw o.error}}return a}function j(){for(var e=[],t=0;t1||i(e,t)})},t&&(n[e]=t(n[e])))}function i(e,t){try{var r;(r=o[e](t)).value instanceof O?Promise.resolve(r.value.v).then(c,l):u(s[0][2],r)}catch(e){u(s[0][3],e)}}function c(e){i("next",e)}function l(e){i("throw",e)}function u(e,t){e(t),s.shift(),s.length&&i(s[0][0],s[0][1])}}function P(e){var t,r;return t={},n("next"),n("throw",function(e){throw e}),n("return"),t[Symbol.iterator]=function(){return this},t;function n(n,o){t[n]=e[n]?function(t){return(r=!r)?{value:O(e[n](t)),done:!1}:o?o(t):t}:o}}function T(e){if(!Symbol.asyncIterator)throw TypeError("Symbol.asyncIterator is not defined.");var t,r=e[Symbol.asyncIterator];return r?r.call(e):(e=g(e),t={},n("next"),n("throw"),n("return"),t[Symbol.asyncIterator]=function(){return this},t);function n(r){t[r]=e[r]&&function(t){return new Promise(function(n,o){!function(e,t,r,n){Promise.resolve(n).then(function(t){e({value:t,done:r})},t)}(n,o,(t=e[r](t)).done,t.value)})}}}function L(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e}var S=Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t};function F(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&b(t,e,r);return S(t,e),t}function I(e){return e&&e.__esModule?e:{default:e}}function M(e,t,r,n){if("a"===r&&!n)throw TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!n:!t.has(e))throw TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?n:"a"===r?n.call(e):n?n.value:t.get(e)}function W(e,t,r,n,o){if("m"===n)throw TypeError("Private method is not writable");if("a"===n&&!o)throw TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!o:!t.has(e))throw TypeError("Cannot write private member to an object whose class did not declare it");return"a"===n?o.call(e,r):o?o.value=r:t.set(e,r),r}function D(e,t){if(null===t||"object"!=typeof t&&"function"!=typeof t)throw TypeError("Cannot use 'in' operator on non-object");return"function"==typeof e?t===e:e.has(t)}function C(e,t,r){if(null!=t){var n,o;if("object"!=typeof t&&"function"!=typeof t)throw TypeError("Object expected.");if(r){if(!Symbol.asyncDispose)throw TypeError("Symbol.asyncDispose is not defined.");n=t[Symbol.asyncDispose]}if(void 0===n){if(!Symbol.dispose)throw TypeError("Symbol.dispose is not defined.");n=t[Symbol.dispose],r&&(o=n)}if("function"!=typeof n)throw TypeError("Object not disposable.");o&&(n=function(){try{o.call(this)}catch(e){return Promise.reject(e)}}),e.stack.push({value:t,dispose:n,async:r})}else r&&e.stack.push({async:!0});return t}var A="function"==typeof SuppressedError?SuppressedError:function(e,t,r){var n=Error(r);return n.name="SuppressedError",n.error=e,n.suppressed=t,n};function R(e){function t(t){e.error=e.hasError?new A(t,e.error,"An error was suppressed during disposal."):t,e.hasError=!0}return function r(){for(;e.stack.length;){var n=e.stack.pop();try{var o=n.dispose&&n.dispose.call(n.value);if(n.async)return Promise.resolve(o).then(r,function(e){return t(e),r()})}catch(e){t(e)}}if(e.hasError)throw e.error}()}r.default={__extends:a,__assign:i,__rest:c,__decorate:l,__param:u,__metadata:v,__awaiter:m,__generator:y,__createBinding:b,__exportStar:_,__values:g,__read:w,__spread:j,__spreadArrays:k,__spreadArray:x,__await:O,__asyncGenerator:E,__asyncDelegator:P,__asyncValues:T,__makeTemplateObject:L,__importStar:F,__importDefault:I,__classPrivateFieldGet:M,__classPrivateFieldSet:W,__classPrivateFieldIn:D,__addDisposableResource:C,__disposeResources:R}},{"@swc/helpers/_/_type_of":"felZi","@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}],felZi:[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");function o(e){return e&&"undefined"!=typeof Symbol&&e.constructor===Symbol?"symbol":typeof e}n.defineInteropFlag(r),n.export(r,"_",function(){return o})},{"@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}],gKNB2:[function(e,t,r){"function"==typeof SubtitlesOctopusOnLoad&&SubtitlesOctopusOnLoad(),t.exports&&(t.exports=function(e){var t=!1;try{if("object"==typeof WebAssembly&&"function"==typeof WebAssembly.instantiate){var r=new WebAssembly.Module(Uint8Array.of(0,97,115,109,1,0,0,0));r instanceof WebAssembly.Module&&(t=new WebAssembly.Instance(r) instanceof WebAssembly.Instance)}}catch(e){}console.log("WebAssembly support detected: "+(t?"yes":"no"));var n=this;function o(){n.setCurrentTime(n.video.currentTime+n.timeOffset)}function s(){n.setIsPaused(!1,n.video.currentTime+n.timeOffset)}function a(){n.setIsPaused(!0,n.video.currentTime+n.timeOffset)}function i(){n.video.removeEventListener("timeupdate",o,!1)}function c(){n.video.addEventListener("timeupdate",o,!1);var e=n.video.currentTime+n.timeOffset;n.setCurrentTime(e)}function l(){n.setRate(n.video.playbackRate)}function u(){n.setIsPaused(!0,n.video.currentTime+n.timeOffset)}function f(e){e.target.removeEventListener(e.type,f,!1),n.resize()}function d(){var e=n.renderFramesData,t=performance.now();n.ctx.clearRect(0,0,n.canvas.width,n.canvas.height);for(var r=0;r=1?s[a]:1;var i=new ImageData(s,o.w,o.h);n.bufferCanvasCtx.putImageData(i,0,0),n.ctx.drawImage(n.bufferCanvas,o.x,o.y)}if(n.debug){var c=Math.round(performance.now()-t),l=e.blendTime;void 0!==l?console.log("render: "+Math.round(e.spentTime-l)+" ms, blend: "+Math.round(l)+" ms, draw: "+c+" ms; TOTAL="+Math.round(e.spentTime+c)+" ms"):console.log(Math.round(e.spentTime)+" ms (+ "+c+" ms draw)"),n.renderStart=performance.now()}}function p(){var e=n.renderFramesData,t=performance.now();n.ctx.clearRect(0,0,n.canvas.width,n.canvas.height);for(var r=0;r0?n.resize():n.video.addEventListener("loadedmetadata",f,!1))},n.getVideoPosition=function(){var e=n.video.videoWidth/n.video.videoHeight,t=n.video.offsetWidth,r=n.video.offsetHeight,o=t,s=r;t/r>e?o=Math.floor(r*e):s=Math.floor(t/e);var a=(t-o)/2,i=(r-s)/2;return{width:o,height:s,x:a,y:i}},n.setSubUrl=function(e){n.subUrl=e},n.renderFrameData=null,n.workerActive=!1,n.frameId=0,n.onWorkerMessage=function(e){!n.workerActive&&(n.workerActive=!0,n.onReadyEvent&&n.onReadyEvent());var t=e.data;switch(t.target){case"stdout":console.log(t.content);break;case"console-log":console.log.apply(console,JSON.parse(t.content));break;case"console-debug":console.debug.apply(console,JSON.parse(t.content));break;case"console-info":console.info.apply(console,JSON.parse(t.content));break;case"console-warn":console.warn.apply(console,JSON.parse(t.content));break;case"console-error":console.error.apply(console,JSON.parse(t.content));break;case"stderr":console.error(t.content);break;case"window":window[t.method]();break;case"canvas":switch(t.op){case"getContext":n.ctx=n.canvas.getContext(t.type,t.attributes);break;case"resize":n.resize(t.width,t.height);break;case"renderCanvas":n.lastRenderTime0&&s>n.maxRenderHeight&&(s=n.maxRenderHeight),e*=s/t,t=s}return{width:e,height:t}}((s=n.getVideoPosition()).width*n.pixelRatio,s.height*n.pixelRatio);e=a.width,t=a.height;var i=n.canvasParent.getBoundingClientRect().top-n.video.getBoundingClientRect().top;r=s.y-i,o=s.x}if(!e||!t){n.video||console.error("width or height is 0. You should specify width & height for resize.");return}(n.canvas.width!=e||n.canvas.height!=t||n.canvas.style.top!=r||n.canvas.style.left!=o)&&(n.canvas.width=e,n.canvas.height=t,null!=s&&(n.canvasParent.style.position="relative",n.canvas.style.display="block",n.canvas.style.position="absolute",n.canvas.style.width=s.width+"px",n.canvas.style.height=s.height+"px",n.canvas.style.top=r+"px",n.canvas.style.left=o+"px",n.canvas.style.pointerEvents="none"),n.worker.postMessage({target:"canvas",width:n.canvas.width,height:n.canvas.height}))},n.resizeWithTimeout=function(){n.resize(),setTimeout(n.resize,100)},n.runBenchmark=function(){n.worker.postMessage({target:"runBenchmark"})},n.customMessage=function(e,t){t=t||{},n.worker.postMessage({target:"custom",userData:e,preMain:t.preMain})},n.setCurrentTime=function(e){n.worker.postMessage({target:"video",currentTime:e})},n.setTrackByUrl=function(e){n.worker.postMessage({target:"set-track-by-url",url:e})},n.setTrack=function(e){n.worker.postMessage({target:"set-track",content:e})},n.freeTrack=function(e){n.worker.postMessage({target:"free-track"})},n.render=n.setCurrentTime,n.setIsPaused=function(e,t){n.worker.postMessage({target:"video",isPaused:e,currentTime:t})},n.setRate=function(e){n.worker.postMessage({target:"video",rate:e})},n.dispose=function(){n.worker.postMessage({target:"destroy"}),n.worker.terminate(),n.worker.removeEventListener("message",n.onWorkerMessage),n.worker.removeEventListener("error",n.workerError),n.workerActive=!1,n.worker=null,n.video&&(n.video.removeEventListener("timeupdate",o,!1),n.video.removeEventListener("playing",s,!1),n.video.removeEventListener("pause",a,!1),n.video.removeEventListener("seeking",i,!1),n.video.removeEventListener("seeked",c,!1),n.video.removeEventListener("ratechange",l,!1),n.video.removeEventListener("waiting",u,!1),n.video.removeEventListener("loadedmetadata",f,!1),document.removeEventListener("fullscreenchange",n.resizeWithTimeout,!1),document.removeEventListener("mozfullscreenchange",n.resizeWithTimeout,!1),document.removeEventListener("webkitfullscreenchange",n.resizeWithTimeout,!1),document.removeEventListener("msfullscreenchange",n.resizeWithTimeout,!1),window.removeEventListener("resize",n.resizeWithTimeout,!1),n.video.parentNode.removeChild(n.canvasParent),n.video=null),n.ro&&(n.ro.disconnect(),n.ro=null),n.onCustomMessage=null,n.onErrorEvent=null,n.onReadyEvent=null},n.fetchFromWorker=function(e,t,r){try{var o=e.target,s=setTimeout(function(){i(Error("Error: Timeout while try to fetch "+o))},5e3),a=function(e){e.data.target==o&&(t(e.data),n.worker.removeEventListener("message",a),n.worker.removeEventListener("error",i),clearTimeout(s))},i=function(e){r(e),n.worker.removeEventListener("message",a),n.worker.removeEventListener("error",i),clearTimeout(s)};n.worker.addEventListener("message",a),n.worker.addEventListener("error",i),n.worker.postMessage(e)}catch(e){r(e)}},n.createEvent=function(e){n.worker.postMessage({target:"create-event",event:e})},n.getEvents=function(e,t){n.fetchFromWorker({target:"get-events"},function(t){e(t.events)},t)},n.setEvent=function(e,t){n.worker.postMessage({target:"set-event",event:e,index:t})},n.removeEvent=function(e){n.worker.postMessage({target:"remove-event",index:e})},n.createStyle=function(e){n.worker.postMessage({target:"create-style",style:e})},n.getStyles=function(e,t){n.fetchFromWorker({target:"get-styles"},function(t){e(t.styles)},t)},n.setStyle=function(e,t){n.worker.postMessage({target:"set-style",style:e,index:t})},n.removeStyle=function(e){n.worker.postMessage({target:"remove-style",index:e})},n.init()})},{}]},["1dPf1"],"1dPf1","parcelRequire4dc0"); \ No newline at end of file diff --git a/compiled/artplayer-plugin-multiple-subtitles.js b/compiled/artplayer-plugin-multiple-subtitles.js index b8ddf1d96..d70cf4626 100644 --- a/compiled/artplayer-plugin-multiple-subtitles.js +++ b/compiled/artplayer-plugin-multiple-subtitles.js @@ -1,7 +1,8 @@ + /*! * artplayer-plugin-multiple-subtitles.js v1.0.0 * Github: https://github.com/zhw2590582/ArtPlayer * (c) 2017-2024 Harvey Zack * Released under the MIT License. */ -!function(e,t,n,i,r){var a="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},s="function"==typeof a[i]&&a[i],o=s.cache||{},l="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function u(t,n){if(!o[t]){if(!e[t]){var r="function"==typeof a[i]&&a[i];if(!n&&r)return r(t,!0);if(s)return s(t,!0);if(l&&"string"==typeof t)return l(t);var f=Error("Cannot find module '"+t+"'");throw f.code="MODULE_NOT_FOUND",f}d.resolve=function(n){var i=e[t][1][n];return null!=i?i:n},d.cache={};var c=o[t]=new u.Module(t);e[t][0].call(c.exports,d,c,c.exports,this)}return o[t].exports;function d(e){var t=d.resolve(e);return!1===t?{}:u(t)}}u.isParcelRequire=!0,u.Module=function(e){this.id=e,this.bundle=u,this.exports={}},u.modules=e,u.cache=o,u.parent=s,u.register=function(t,n){e[t]=[function(e,t){t.exports=n},{}]},Object.defineProperty(u,"root",{get:function(){return a[i]}}),a[i]=u;for(var f=0;fs);var r=e("./parser");async function a(e,{getExt:t,srtToVtt:n,assToVtt:i}){let r=await fetch(e.url),a=await r.arrayBuffer(),s=new TextDecoder(e.encoding||"utf-8").decode(a);switch(e.type||t(e.url)){case"srt":return n(s);case"ass":return i(s);case"vtt":return s;default:return""}}function s({subtitles:e=[]}){return async t=>{let{unescape:n,getExt:i,srtToVtt:s,assToVtt:o}=t.constructor.utils,l=new r.WebVTTParser,u=new r.WebVTTSerializer,f=(await Promise.all(e.map(e=>a(e,{getExt:i,srtToVtt:s,assToVtt:o})))).map((t,n)=>{let i=l.parse(t,"metadata");return i.url=e[n].url,i.name=e[n].name,i}),c="";function d(e=[]){let i=function(e){let t=new r.WebVTTParser().parse("","metadata");for(let n=0;n${n.value}`}}}if(0===t.cues.length)t.cues=[...i.cues];else for(let e=0;ed(e.map(e=>f.find(t=>t.name===e))),reset:()=>d(f)}}}"undefined"!=typeof window&&(window.artplayerPluginMultipleSubtitles=s)},{"./parser":"e4aAa","@parcel/transformer-js/src/esmodule-helpers.js":"hqP7A"}],e4aAa:[function(e,t,n){!function(){var e={direction:"horizontal",snapToLines:!0,linePosition:"auto",lineAlign:"start",textPosition:"auto",positionAlign:"auto",size:100,alignment:"center"},t=function(t){t||(t={"&":"&","<":"<",">":">","&lrm":"‎","&rlm":"‏"," ":" "}),this.entities=t,this.parse=function(n,a){n=n.replace(/\0/g,"�");var s=Date.now(),o=0,l=n.split(/\r\n|\r|\n/),u=!1,f=[],c=[],d=[];function p(e,t){d.push({message:e,line:o+1,col:t})}var m=l[o],g=m.length,h="WEBVTT",v=0,b=h.length;for("\uFEFF"===m[0]&&(v=1,b+=1),(gb&&" "!==m[b]&&" "!==m[b])&&p('No valid signature. (File needs to start with "WEBVTT".)'),o++;""!=l[o]&&void 0!=l[o];){if(p("No blank line after the signature."),-1!=l[o].indexOf("-->")){u=!0;break}o++}for(;void 0!=l[o];){for(;!u&&""==l[o];)o++;if(!u&&void 0==l[o])break;T=Object.assign({},e,{id:"",startTime:0,endTime:0,pauseOnExit:!1,direction:"horizontal",snapToLines:!0,linePosition:"auto",lineAlign:"start",textPosition:"auto",positionAlign:"auto",size:100,alignment:"center",text:"",tree:null});var T,y=!0;if(-1==l[o].indexOf("-->")){if(T.id=l[o],/^NOTE($|[ \t])/.test(T.id)){for(o++;""!=l[o]&&void 0!=l[o];)-1!=l[o].indexOf("-->")&&p("Cannot have timestamp in a comment."),o++;continue}if(/^STYLE($|[ \t])/.test(T.id)){var x=[],w=!1;for(o++;""!=l[o]&&void 0!=l[o];)-1!=l[o].indexOf("-->")&&(p("Cannot have timestamp in a style block."),w=!0),x.push(l[o]),o++;if(c.length){p("Style blocks cannot appear after the first cue.");continue}w||f.push(x.join("\n"));continue}if(""==l[++o]||void 0==l[o]){p("Cue identifier cannot be standalone.");continue}if(-1==l[o].indexOf("-->")){y=!1,p("Cue identifier needs to be followed by timestamp.");continue}}u=!1;var O=new i(l[o],p),P=0;if(c.length>0&&(P=c[c.length-1].startTime),y&&!O.parse(T,P)){for(T=null,o++;""!=l[o]&&void 0!=l[o];){if(-1!=l[o].indexOf("-->")){u=!0;break}o++}continue}for(o++;""!=l[o]&&void 0!=l[o];){if(-1!=l[o].indexOf("-->")){p("Blank line missing before cue."),u=!0;break}""!=T.text&&(T.text+="\n"),T.text+=l[o],o++}var A=new r(T.text,p,a,t);T.tree=A.parse(T.startTime,T.endTime),c.push(T)}return c.sort(function(e,t){return e.startTimet.startTime?1:e.endTime>t.endTime?-1:e.endTime2||parseInt(t,10)>59)&&(l="hours"),":"!=e[r]){a("No time unit separator found.");return}if(r++,2!=(n=o(/\d/)).length){a("Must be exactly two digits.");return}if("hours"==l||":"==e[r]){if(":"!=e[r]){a("No seconds found or minutes is greater than 59.");return}if(r++,2!=(i=o(/\d/)).length){a("Must be exactly two digits.");return}}else{if(2!=t.length){a("Must be exactly two digits.");return}i=n,n=t,t="0"}if("."!=e[r]){a('No decimal separator (".") found.');return}if(r++,3!=(s=o(/\d/)).length){a("Milliseconds must be given in three digits.");return}if(parseInt(n,10)>59){a("You cannot have more than 59 minutes.");return}if(parseInt(i,10)>59){a("You cannot have more than 59 seconds.");return}return 3600*parseInt(t,10)+60*parseInt(n,10)+parseInt(i,10)+parseInt(s,10)/1e3}this.parse=function(t,o){if(s(n),t.startTime=l(),void 0!=t.startTime){if(t.startTime' by whitespace."),s(n),"-"!=e[r]||"-"!=e[++r]||">"!=e[++r]){a("No valid timestamp separator found.");return}if(r++,i.test(e[r])&&a("'-->' not separated from timestamp by whitespace."),s(n),t.endTime=l(),void 0!=t.endTime)return t.endTime<=t.startTime&&a("End timestamp is not greater than start timestamp."),i.test(e[r]),s(n),function(e,t){for(var i=e.split(n),r=[],s=0;s100)){a("Line position cannot be >100%.");continue}if(""===d||isNaN(d)||!isFinite(d)){a("Line position needs to be a number");continue}if(void 0!==c){if(!["start","center","end"].includes(c)){a("Line alignment needs to be one of start,center or end");continue}t.lineAlign=c}t.snapToLines=!p,t.linePosition=parseFloat(d),parseFloat(d).toString()!==d&&(t.nonSerializable=!0)}else if("position"==l){if(/,/.test(u)){var f=u.split(",");u=f[0];var m=f[1]}if("%"!=u[u.length-1]){a("Text position must be a percentage.");continue}if(parseInt(u,10)>100||0>parseInt(u,10)){a("Text position needs to be between 0 and 100%.");continue}if(""===(d=u.slice(0,u.length-1))||isNaN(d)||!isFinite(d)){a("Line position needs to be a number");continue}if(void 0!==m){if(!["line-left","center","line-right"].includes(m)){a("Position alignment needs to be one of line-left,center or line-right");continue}t.positionAlign=m}t.textPosition=parseFloat(d)}else if("size"==l){if("%"!=u[u.length-1]){a("Size must be a percentage.");continue}if(parseInt(u,10)>100){a("Size cannot be >100%.");continue}var g=u.slice(0,u.length-1);if(void 0===g||""===g||isNaN(g)){a("Size needs to be a number"),g=100;continue}if((g=parseFloat(g))<0||g>100){a("Size needs to be between 0 and 100%.");continue}t.size=g}else if("align"==l){var h=["start","center","end","left","right"];if(-1==h.indexOf(u)){a("Alignment can only be set to one of "+h.join(",")+".");continue}t.alignment=u}else a("Invalid setting.")}}(e.substring(r),t),!0}},this.parseTimestamp=function(){var t=l();if(void 0!=e[r]){a("Timestamp must not have trailing characters.");return}return t}},r=function(e,t,n,r){this.entities=r;var a=this,e=e,s=0,o=function(e){"metadata"!=n&&t(e,s+1)};this.parse=function(t,l){var u={children:[]},f=u,c=[];function d(e){f.children.push({type:"object",name:e[1],classes:e[2],children:[],parent:f}),f=f.children[f.children.length-1]}for(;void 0!=e[s];){var p=function(){for(var t="data",n="",i="",l=[];void 0!=e[s-1]||0==s;){var u=e[s];if("data"==t){if("&"==u)i=u,t="escape";else if("<"==u&&""==n)t="tag";else{if("<"==u||void 0==u)return["text",n];n+=u}}else if("escape"==t){if("<"==u||void 0==u){let e;return o("Incorrect escape."),(e=i.match(/^&#([0-9]+)$/))?n+=String.fromCharCode(e[1]):a.entities[i]?n+=a.entities[i]:n+=i,["text",n]}if("&"==u)o("Incorrect escape."),n+=i,i=u;else if(/[a-z#0-9]/i.test(u))i+=u;else if(";"==u){let e;(e=i.match(/^&#(x?[0-9]+)$/))?n+=String.fromCharCode("0"+e[1]):a.entities[i+u]?n+=a.entities[i+u]:(e=Object.keys(r).find(e=>i.startsWith(e)))?n+=a.entities[e]+i.slice(e.length)+u:(o("Incorrect escape."),n+=i+";"),t="data"}else o("Incorrect escape."),n+=i+u,t="data"}else if("tag"==t){if(" "==u||"\n"==u||"\f"==u||" "==u)t="start tag annotation";else if("."==u)t="start tag class";else if("/"==u)t="end tag";else if(/\d/.test(u))n=u,t="timestamp tag";else{if(">"==u||void 0==u)return">"==u&&s++,["start tag","",[],""];n=u,t="start tag"}}else if("start tag"==t){if(" "==u||"\f"==u||" "==u)t="start tag annotation";else if("\n"==u)i=u,t="start tag annotation";else if("."==u)t="start tag class";else{if(">"==u||void 0==u)return">"==u&&s++,["start tag",n,[],""];n+=u}}else if("start tag class"==t){if(" "==u||"\f"==u||" "==u)i&&l.push(i),i="",t="start tag annotation";else if("\n"==u)i&&l.push(i),i=u,t="start tag annotation";else if("."==u)i&&l.push(i),i="";else{if(">"==u||void 0==u)return">"==u&&s++,i&&l.push(i),["start tag",n,l,""];i+=u}}else if("start tag annotation"==t){if(">"==u||void 0==u)return">"==u&&s++,["start tag",n,l,i=i.split(/[\u0020\t\f\r\n]+/).filter(function(e){if(e)return!0}).join(" ")];i+=u}else if("end tag"==t){if(">"==u||void 0==u)return">"==u&&s++,["end tag",n];n+=u}else if("timestamp tag"==t){if(">"==u||void 0==u)return">"==u&&s++,["timestamp",n];n+=u}else o("Never happens.");s++}}();if("text"==p[0])f.children.push({type:"text",value:p[1],parent:f});else if("start tag"==p[0]){"chapters"==n&&o("Start tags not allowed in chapter title text.");var m=p[1];"v"!=m&&"lang"!=m&&""!=p[3]&&o("Onlyandcan have an annotation."),"c"==m||"i"==m||"b"==m||"u"==m||"ruby"==m?d(p):"rt"==m&&"ruby"==f.name?d(p):"v"==m?(function(e){for(var t=f;t;){if("v"==t.name)return!0;t=t.parent}}(0)&&o("cannot be nested inside itself."),d(p),f.value=p[3],p[3]||o("requires an annotation.")):"lang"==m?(d(p),f.value=p[3]):o("Incorrect start tag.")}else if("end tag"==p[0])"chapters"==n&&o("End tags not allowed in chapter title text."),p[1]==f.name?f=f.parent:"ruby"==p[1]&&"rt"==f.name?f=f.parent.parent:o("Incorrect end tag.");else if("timestamp"==p[0]){"chapters"==n&&o("Timestamp not allowed in chapter title text.");var g=new i(p[1],o).parseTimestamp();void 0!=g&&((g<=t||g>=l)&&o("Timestamp must be between start timestamp and end timestamp."),c.length>0&&c[c.length-1]>=g&&o("Timestamp must be greater than any previous timestamp."),f.children.push({type:"timestamp",value:g,parent:f}),c.push(g))}}for(;f.parent;)"v"!=f.name&&o("Required end tag missing."),f=f.parent;return function e(t){let n={...t};return t.children&&(n.children=t.children.map(e)),n.parent&&delete n.parent,n}(u)}},a=function(){function t(e){let t=("00"+1e3*(e-Math.floor(e)).toFixed(3)).slice(-3),n=0,i=0,r=0;return e>=3600&&(n=Math.floor(e/3600)),i=Math.floor((e-3600*n)/60),r=Math.floor(e-3600*n-60*i),(n?n+":":"")+(""+i).padStart(2,"0")+":"+(""+r).padStart(2,"0")+"."+t}this.serialize=function(n,i){var r,a="WEBVTT\n\n";if(i)for(var s=0;s"+t(r.endTime)+function(t){var n="";let i=Object.keys(e).filter(n=>t[n]!==e[n]);return i.includes("direction")&&(n+=" vertical:"+t.direction),i.includes("alignment")&&(n+=" align:"+t.alignment),i.includes("size")&&(n+=" size:"+t.size+"%"),(i.includes("lineAlign")||i.includes("linePosition"))&&(n+=" line:"+t.linePosition+(t.snapToLines?"":"%")+(t.lineAlign&&t.lineAlign!=e.lineAlign?","+t.lineAlign:"")),(i.includes("textPosition")||i.includes("positionAlign"))&&(n+=" position:"+t.textPosition+"%"+(t.positionAlign&&t.positionAlign!==e.positionAlign?","+t.positionAlign:"")),n}(r)+"\n"+function e(n){for(var i="",r=0;r/g,">");else if("object"==a.type){if(i+="<"+a.name,a.classes)for(var s=0;s"}else"timestamp"==a.type?i+="<"+t(a.value)+">":i+="<"+a.value+">"}return i}(r.tree.children)+"\n\n";return a}};function s(e){e.WebVTTParser=t,e.WebVTTCueTimingsAndSettingsParser=i,e.WebVTTCueTextParser=r,e.WebVTTSerializer=a}"undefined"!=typeof window&&s(window),s(n)}()},{}],hqP7A:[function(e,t,n){n.interopDefault=function(e){return e&&e.__esModule?e:{default:e}},n.defineInteropFlag=function(e){Object.defineProperty(e,"__esModule",{value:!0})},n.exportAll=function(e,t){return Object.keys(e).forEach(function(n){"default"===n||"__esModule"===n||Object.prototype.hasOwnProperty.call(t,n)||Object.defineProperty(t,n,{enumerable:!0,get:function(){return e[n]}})}),t},n.export=function(e,t,n){Object.defineProperty(e,t,{enumerable:!0,get:n})}},{}]},["bt91X"],"bt91X","parcelRequire94c2"); \ No newline at end of file +!function(e,t,n,i,r){var a="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},s="function"==typeof a[i]&&a[i],o=s.cache||{},l="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function u(t,n){if(!o[t]){if(!e[t]){var r="function"==typeof a[i]&&a[i];if(!n&&r)return r(t,!0);if(s)return s(t,!0);if(l&&"string"==typeof t)return l(t);var f=Error("Cannot find module '"+t+"'");throw f.code="MODULE_NOT_FOUND",f}d.resolve=function(n){var i=e[t][1][n];return null!=i?i:n},d.cache={};var c=o[t]=new u.Module(t);e[t][0].call(c.exports,d,c,c.exports,this)}return o[t].exports;function d(e){var t=d.resolve(e);return!1===t?{}:u(t)}}u.isParcelRequire=!0,u.Module=function(e){this.id=e,this.bundle=u,this.exports={}},u.modules=e,u.cache=o,u.parent=s,u.register=function(t,n){e[t]=[function(e,t){t.exports=n},{}]},Object.defineProperty(u,"root",{get:function(){return a[i]}}),a[i]=u;for(var f=0;fs);var r=e("./parser");async function a(e,{getExt:t,srtToVtt:n,assToVtt:i}){let r=await fetch(e.url),a=await r.arrayBuffer(),s=new TextDecoder(e.encoding||"utf-8").decode(a);switch(e.type||t(e.url)){case"srt":return n(s);case"ass":return i(s);case"vtt":return s;default:return""}}function s({subtitles:e=[]}){return async t=>{let{unescape:n,getExt:i,srtToVtt:s,assToVtt:o}=t.constructor.utils,l=new r.WebVTTParser,u=new r.WebVTTSerializer,f=(await Promise.all(e.map(e=>a(e,{getExt:i,srtToVtt:s,assToVtt:o})))).map((t,n)=>{let i=l.parse(t,"metadata");return i.url=e[n].url,i.name=e[n].name,i}),c="";function d(e=[]){let i=function(e){let t=new r.WebVTTParser().parse("","metadata");for(let n=0;n${n.value}`}}}if(0===t.cues.length)t.cues=[...i.cues];else for(let e=0;ed(e.map(e=>f.find(t=>t.name===e))),reset:()=>d(f)}}}"undefined"!=typeof window&&(window.artplayerPluginMultipleSubtitles=s)},{"./parser":"cU78l","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],cU78l:[function(e,t,n){!function(){var e={direction:"horizontal",snapToLines:!0,linePosition:"auto",lineAlign:"start",textPosition:"auto",positionAlign:"auto",size:100,alignment:"center"},t=function(t){t||(t={"&":"&","<":"<",">":">","&lrm":"‎","&rlm":"‏"," ":" "}),this.entities=t,this.parse=function(n,a){n=n.replace(/\0/g,"�");var s=Date.now(),o=0,l=n.split(/\r\n|\r|\n/),u=!1,f=[],c=[],d=[];function p(e,t){d.push({message:e,line:o+1,col:t})}var m=l[o],g=m.length,h="WEBVTT",v=0,b=h.length;for("\uFEFF"===m[0]&&(v=1,b+=1),(gb&&" "!==m[b]&&" "!==m[b])&&p('No valid signature. (File needs to start with "WEBVTT".)'),o++;""!=l[o]&&void 0!=l[o];){if(p("No blank line after the signature."),-1!=l[o].indexOf("-->")){u=!0;break}o++}for(;void 0!=l[o];){for(;!u&&""==l[o];)o++;if(!u&&void 0==l[o])break;T=Object.assign({},e,{id:"",startTime:0,endTime:0,pauseOnExit:!1,direction:"horizontal",snapToLines:!0,linePosition:"auto",lineAlign:"start",textPosition:"auto",positionAlign:"auto",size:100,alignment:"center",text:"",tree:null});var T,y=!0;if(-1==l[o].indexOf("-->")){if(T.id=l[o],/^NOTE($|[ \t])/.test(T.id)){for(o++;""!=l[o]&&void 0!=l[o];)-1!=l[o].indexOf("-->")&&p("Cannot have timestamp in a comment."),o++;continue}if(/^STYLE($|[ \t])/.test(T.id)){var x=[],w=!1;for(o++;""!=l[o]&&void 0!=l[o];)-1!=l[o].indexOf("-->")&&(p("Cannot have timestamp in a style block."),w=!0),x.push(l[o]),o++;if(c.length){p("Style blocks cannot appear after the first cue.");continue}w||f.push(x.join("\n"));continue}if(""==l[++o]||void 0==l[o]){p("Cue identifier cannot be standalone.");continue}if(-1==l[o].indexOf("-->")){y=!1,p("Cue identifier needs to be followed by timestamp.");continue}}u=!1;var O=new i(l[o],p),P=0;if(c.length>0&&(P=c[c.length-1].startTime),y&&!O.parse(T,P)){for(T=null,o++;""!=l[o]&&void 0!=l[o];){if(-1!=l[o].indexOf("-->")){u=!0;break}o++}continue}for(o++;""!=l[o]&&void 0!=l[o];){if(-1!=l[o].indexOf("-->")){p("Blank line missing before cue."),u=!0;break}""!=T.text&&(T.text+="\n"),T.text+=l[o],o++}var j=new r(T.text,p,a,t);T.tree=j.parse(T.startTime,T.endTime),c.push(T)}return c.sort(function(e,t){return e.startTimet.startTime?1:e.endTime>t.endTime?-1:e.endTime2||parseInt(t,10)>59)&&(l="hours"),":"!=e[r]){a("No time unit separator found.");return}if(r++,2!=(n=o(/\d/)).length){a("Must be exactly two digits.");return}if("hours"==l||":"==e[r]){if(":"!=e[r]){a("No seconds found or minutes is greater than 59.");return}if(r++,2!=(i=o(/\d/)).length){a("Must be exactly two digits.");return}}else{if(2!=t.length){a("Must be exactly two digits.");return}i=n,n=t,t="0"}if("."!=e[r]){a('No decimal separator (".") found.');return}if(r++,3!=(s=o(/\d/)).length){a("Milliseconds must be given in three digits.");return}if(parseInt(n,10)>59){a("You cannot have more than 59 minutes.");return}if(parseInt(i,10)>59){a("You cannot have more than 59 seconds.");return}return 3600*parseInt(t,10)+60*parseInt(n,10)+parseInt(i,10)+parseInt(s,10)/1e3}this.parse=function(t,o){if(s(n),t.startTime=l(),void 0!=t.startTime){if(t.startTime' by whitespace."),s(n),"-"!=e[r]||"-"!=e[++r]||">"!=e[++r]){a("No valid timestamp separator found.");return}if(r++,i.test(e[r])&&a("'-->' not separated from timestamp by whitespace."),s(n),t.endTime=l(),void 0!=t.endTime)return t.endTime<=t.startTime&&a("End timestamp is not greater than start timestamp."),i.test(e[r]),s(n),function(e,t){for(var i=e.split(n),r=[],s=0;s100)){a("Line position cannot be >100%.");continue}if(""===d||isNaN(d)||!isFinite(d)){a("Line position needs to be a number");continue}if(void 0!==c){if(!["start","center","end"].includes(c)){a("Line alignment needs to be one of start, center or end");continue}t.lineAlign=c}t.snapToLines=!p,t.linePosition=parseFloat(d),parseFloat(d).toString()!==d&&(t.nonSerializable=!0)}else if("position"==l){if(/,/.test(u)){var f=u.split(",");u=f[0];var m=f[1]}if("%"!=u[u.length-1]){a("Text position must be a percentage.");continue}if(parseInt(u,10)>100||0>parseInt(u,10)){a("Text position needs to be between 0 and 100%.");continue}if(""===(d=u.slice(0,u.length-1))||isNaN(d)||!isFinite(d)){a("Line position needs to be a number");continue}if(void 0!==m){if(!["line-left","center","line-right"].includes(m)){a("Position alignment needs to be one of line-left, center or line-right");continue}t.positionAlign=m}t.textPosition=parseFloat(d)}else if("size"==l){if("%"!=u[u.length-1]){a("Size must be a percentage.");continue}if(parseInt(u,10)>100){a("Size cannot be >100%.");continue}var g=u.slice(0,u.length-1);if(void 0===g||""===g||isNaN(g)){a("Size needs to be a number"),g=100;continue}if((g=parseFloat(g))<0||g>100){a("Size needs to be between 0 and 100%.");continue}t.size=g}else if("align"==l){var h=["start","center","end","left","right"];if(-1==h.indexOf(u)){a("Alignment can only be set to one of "+h.join(", ")+".");continue}t.alignment=u}else a("Invalid setting.")}}(e.substring(r),t),!0}},this.parseTimestamp=function(){var t=l();if(void 0!=e[r]){a("Timestamp must not have trailing characters.");return}return t}},r=function(e,t,n,r){this.entities=r;var a=this,e=e,s=0,o=function(e){"metadata"!=n&&t(e,s+1)};this.parse=function(t,l){var u={children:[]},f=u,c=[];function d(e){f.children.push({type:"object",name:e[1],classes:e[2],children:[],parent:f}),f=f.children[f.children.length-1]}for(;void 0!=e[s];){var p=function(){for(var t="data",n="",i="",l=[];void 0!=e[s-1]||0==s;){var u=e[s];if("data"==t){if("&"==u)i=u,t="escape";else if("<"==u&&""==n)t="tag";else{if("<"==u||void 0==u)return["text",n];n+=u}}else if("escape"==t){if("<"==u||void 0==u){let e;return o("Incorrect escape."),(e=i.match(/^&#([0-9]+)$/))?n+=String.fromCharCode(e[1]):a.entities[i]?n+=a.entities[i]:n+=i,["text",n]}if("&"==u)o("Incorrect escape."),n+=i,i=u;else if(/[a-z#0-9]/i.test(u))i+=u;else if(";"==u){let e;(e=i.match(/^&#(x?[0-9]+)$/))?n+=String.fromCharCode("0"+e[1]):a.entities[i+u]?n+=a.entities[i+u]:(e=Object.keys(r).find(e=>i.startsWith(e)))?n+=a.entities[e]+i.slice(e.length)+u:(o("Incorrect escape."),n+=i+";"),t="data"}else o("Incorrect escape."),n+=i+u,t="data"}else if("tag"==t){if(" "==u||"\n"==u||"\f"==u||" "==u)t="start tag annotation";else if("."==u)t="start tag class";else if("/"==u)t="end tag";else if(/\d/.test(u))n=u,t="timestamp tag";else{if(">"==u||void 0==u)return">"==u&&s++,["start tag","",[],""];n=u,t="start tag"}}else if("start tag"==t){if(" "==u||"\f"==u||" "==u)t="start tag annotation";else if("\n"==u)i=u,t="start tag annotation";else if("."==u)t="start tag class";else{if(">"==u||void 0==u)return">"==u&&s++,["start tag",n,[],""];n+=u}}else if("start tag class"==t){if(" "==u||"\f"==u||" "==u)i&&l.push(i),i="",t="start tag annotation";else if("\n"==u)i&&l.push(i),i=u,t="start tag annotation";else if("."==u)i&&l.push(i),i="";else{if(">"==u||void 0==u)return">"==u&&s++,i&&l.push(i),["start tag",n,l,""];i+=u}}else if("start tag annotation"==t){if(">"==u||void 0==u)return">"==u&&s++,["start tag",n,l,i=i.split(/[\u0020\t\f\r\n]+/).filter(function(e){if(e)return!0}).join(" ")];i+=u}else if("end tag"==t){if(">"==u||void 0==u)return">"==u&&s++,["end tag",n];n+=u}else if("timestamp tag"==t){if(">"==u||void 0==u)return">"==u&&s++,["timestamp",n];n+=u}else o("Never happens.");s++}}();if("text"==p[0])f.children.push({type:"text",value:p[1],parent:f});else if("start tag"==p[0]){"chapters"==n&&o("Start tags not allowed in chapter title text.");var m=p[1];"v"!=m&&"lang"!=m&&""!=p[3]&&o("Onlyandcan have an annotation."),"c"==m||"i"==m||"b"==m||"u"==m||"ruby"==m?d(p):"rt"==m&&"ruby"==f.name?d(p):"v"==m?(function(e){for(var t=f;t;){if("v"==t.name)return!0;t=t.parent}}(0)&&o("cannot be nested inside itself."),d(p),f.value=p[3],p[3]||o("requires an annotation.")):"lang"==m?(d(p),f.value=p[3]):o("Incorrect start tag.")}else if("end tag"==p[0])"chapters"==n&&o("End tags not allowed in chapter title text."),p[1]==f.name?f=f.parent:"ruby"==p[1]&&"rt"==f.name?f=f.parent.parent:o("Incorrect end tag.");else if("timestamp"==p[0]){"chapters"==n&&o("Timestamp not allowed in chapter title text.");var g=new i(p[1],o).parseTimestamp();void 0!=g&&((g<=t||g>=l)&&o("Timestamp must be between start timestamp and end timestamp."),c.length>0&&c[c.length-1]>=g&&o("Timestamp must be greater than any previous timestamp."),f.children.push({type:"timestamp",value:g,parent:f}),c.push(g))}}for(;f.parent;)"v"!=f.name&&o("Required end tag missing."),f=f.parent;return function e(t){let n={...t};return t.children&&(n.children=t.children.map(e)),n.parent&&delete n.parent,n}(u)}},a=function(){function t(e){let t=("00"+1e3*(e-Math.floor(e)).toFixed(3)).slice(-3),n=0,i=0,r=0;return e>=3600&&(n=Math.floor(e/3600)),i=Math.floor((e-3600*n)/60),r=Math.floor(e-3600*n-60*i),(n?n+":":"")+(""+i).padStart(2,"0")+":"+(""+r).padStart(2,"0")+"."+t}this.serialize=function(n,i){var r,a="WEBVTT\n\n";if(i)for(var s=0;s"+t(r.endTime)+function(t){var n="";let i=Object.keys(e).filter(n=>t[n]!==e[n]);return i.includes("direction")&&(n+=" vertical:"+t.direction),i.includes("alignment")&&(n+=" align:"+t.alignment),i.includes("size")&&(n+=" size:"+t.size+"%"),(i.includes("lineAlign")||i.includes("linePosition"))&&(n+=" line:"+t.linePosition+(t.snapToLines?"":"%")+(t.lineAlign&&t.lineAlign!=e.lineAlign?","+t.lineAlign:"")),(i.includes("textPosition")||i.includes("positionAlign"))&&(n+=" position:"+t.textPosition+"%"+(t.positionAlign&&t.positionAlign!==e.positionAlign?","+t.positionAlign:"")),n}(r)+"\n"+function e(n){for(var i="",r=0;r/g,">");else if("object"==a.type){if(i+="<"+a.name,a.classes)for(var s=0;s"}else"timestamp"==a.type?i+="<"+t(a.value)+">":i+="<"+a.value+">"}return i}(r.tree.children)+"\n\n";return a}};function s(e){e.WebVTTParser=t,e.WebVTTCueTimingsAndSettingsParser=i,e.WebVTTCueTextParser=r,e.WebVTTSerializer=a}"undefined"!=typeof window&&s(window),s(n)}()},{}],"9pCYc":[function(e,t,n){n.interopDefault=function(e){return e&&e.__esModule?e:{default:e}},n.defineInteropFlag=function(e){Object.defineProperty(e,"__esModule",{value:!0})},n.exportAll=function(e,t){return Object.keys(e).forEach(function(n){"default"===n||"__esModule"===n||Object.prototype.hasOwnProperty.call(t,n)||Object.defineProperty(t,n,{enumerable:!0,get:function(){return e[n]}})}),t},n.export=function(e,t,n){Object.defineProperty(e,t,{enumerable:!0,get:n})}},{}]},["4Kbf6"],"4Kbf6","parcelRequire4dc0"); \ No newline at end of file diff --git a/compiled/artplayer-plugin-multiple-subtitles.legacy.js b/compiled/artplayer-plugin-multiple-subtitles.legacy.js index be2d18602..a4baac722 100644 --- a/compiled/artplayer-plugin-multiple-subtitles.legacy.js +++ b/compiled/artplayer-plugin-multiple-subtitles.legacy.js @@ -1,7 +1,8 @@ + /*! * artplayer-plugin-multiple-subtitles.js v1.0.0 * Github: https://github.com/zhw2590582/ArtPlayer * (c) 2017-2024 Harvey Zack * Released under the MIT License. */ -!function(e,t,r,n,o){var i="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},a="function"==typeof i[n]&&i[n],s=a.cache||{},u="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function c(t,r){if(!s[t]){if(!e[t]){var o="function"==typeof i[n]&&i[n];if(!r&&o)return o(t,!0);if(a)return a(t,!0);if(u&&"string"==typeof t)return u(t);var l=Error("Cannot find module '"+t+"'");throw l.code="MODULE_NOT_FOUND",l}p.resolve=function(r){var n=e[t][1][r];return null!=n?n:r},p.cache={};var f=s[t]=new c.Module(t);e[t][0].call(f.exports,p,f,f.exports,this)}return s[t].exports;function p(e){var t=p.resolve(e);return!1===t?{}:c(t)}}c.isParcelRequire=!0,c.Module=function(e){this.id=e,this.bundle=c,this.exports={}},c.modules=e,c.cache=s,c.parent=a,c.register=function(t,r){e[t]=[function(e,t){t.exports=r},{}]},Object.defineProperty(c,"root",{get:function(){return i[n]}}),i[n]=c;for(var l=0;l0&&void 0!==arguments[0]?arguments[0]:[],n=function(e){for(var t=new c.WebVTTParser().parse("","metadata"),r=0;r').concat(f.value,"")}}if(0===t.cues.length)t.cues=(0,s._)(n.cues);else for(var p=0;p0&&void 0!==arguments[0]?arguments[0]:[];return y(e.map(function(e){return h.find(function(t){return t.name===e})}))},reset:function(){return y(h)}}]}})}),function(e){return t.apply(this,arguments)}}"undefined"!=typeof window&&(window.artplayerPluginMultipleSubtitles=f)},{"@swc/helpers/_/_async_to_generator":"h1sPa","@swc/helpers/_/_object_spread":"kz2vW","@swc/helpers/_/_object_spread_props":"6yvhT","@swc/helpers/_/_to_consumable_array":"gPzaF","@swc/helpers/_/_ts_generator":"ilbUJ","./parser":"2kukK","@parcel/transformer-js/src/esmodule-helpers.js":"jOuxX"}],h1sPa:[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");function o(e,t,r,n,o,i,a){try{var s=e[i](a),u=s.value}catch(e){r(e);return}s.done?t(u):Promise.resolve(u).then(n,o)}function i(e){return function(){var t=this,r=arguments;return new Promise(function(n,i){var a=e.apply(t,r);function s(e){o(a,n,i,s,u,"next",e)}function u(e){o(a,n,i,s,u,"throw",e)}s(void 0)})}}n.defineInteropFlag(r),n.export(r,"_async_to_generator",function(){return i}),n.export(r,"_",function(){return i})},{"@parcel/transformer-js/src/esmodule-helpers.js":"jOuxX"}],jOuxX:[function(e,t,r){r.interopDefault=function(e){return e&&e.__esModule?e:{default:e}},r.defineInteropFlag=function(e){Object.defineProperty(e,"__esModule",{value:!0})},r.exportAll=function(e,t){return Object.keys(e).forEach(function(r){"default"===r||"__esModule"===r||Object.prototype.hasOwnProperty.call(t,r)||Object.defineProperty(t,r,{enumerable:!0,get:function(){return e[r]}})}),t},r.export=function(e,t,r){Object.defineProperty(e,t,{enumerable:!0,get:r})}},{}],kz2vW:[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(r),n.export(r,"_object_spread",function(){return i}),n.export(r,"_",function(){return i});var o=e("./_define_property.js");function i(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=Array(t);rt.indexOf(n)&&(r[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,n=Object.getOwnPropertySymbols(e);ot.indexOf(n[o])&&Object.prototype.propertyIsEnumerable.call(e,n[o])&&(r[n[o]]=e[n[o]]);return r}function c(e,t,r,n){var o,i=arguments.length,a=i<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,n);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,r,a):o(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a}function l(e,t){return function(r,n){t(r,n,e)}}function f(e,t,r,n,o,i){function a(e){if(void 0!==e&&"function"!=typeof e)throw TypeError("Function expected");return e}for(var s,u=n.kind,c="getter"===u?"get":"setter"===u?"set":"value",l=!t&&e?n.static?e:e.prototype:null,f=t||(l?Object.getOwnPropertyDescriptor(l,n.name):{}),p=!1,d=r.length-1;d>=0;d--){var _={};for(var h in n)_[h]="access"===h?{}:n[h];for(var h in n.access)_.access[h]=n.access[h];_.addInitializer=function(e){if(p)throw TypeError("Cannot add initializers after decoration has completed");i.push(a(e||null))};var m=(0,r[d])("accessor"===u?{get:f.get,set:f.set}:f[c],_);if("accessor"===u){if(void 0===m)continue;if(null===m||"object"!=typeof m)throw TypeError("Object expected");(s=a(m.get))&&(f.get=s),(s=a(m.set))&&(f.set=s),(s=a(m.init))&&o.unshift(s)}else(s=a(m))&&("field"===u?o.unshift(s):f[c]=s)}l&&Object.defineProperty(l,n.name,f),p=!0}function p(e,t,r){for(var n=arguments.length>2,o=0;o0&&o[o.length-1])&&(6===s[0]||2===s[0])){a=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function j(e,t){var r="function"==typeof Symbol&&e[Symbol.iterator];if(!r)return e;var n,o,i=r.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(n=i.next()).done;)a.push(n.value)}catch(e){o={error:e}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return a}function x(){for(var e=[],t=0;t1||s(e,t)})})}function s(e,t){try{var r;(r=o[e](t)).value instanceof T?Promise.resolve(r.value.v).then(u,c):l(i[0][2],r)}catch(e){l(i[0][3],e)}}function u(e){s("next",e)}function c(e){s("throw",e)}function l(e,t){e(t),i.shift(),i.length&&s(i[0][0],i[0][1])}}function S(e){var t,r;return t={},n("next"),n("throw",function(e){throw e}),n("return"),t[Symbol.iterator]=function(){return this},t;function n(n,o){t[n]=e[n]?function(t){return(r=!r)?{value:T(e[n](t)),done:!1}:o?o(t):t}:o}}function I(e){if(!Symbol.asyncIterator)throw TypeError("Symbol.asyncIterator is not defined.");var t,r=e[Symbol.asyncIterator];return r?r.call(e):(e=b(e),t={},n("next"),n("throw"),n("return"),t[Symbol.asyncIterator]=function(){return this},t);function n(r){t[r]=e[r]&&function(t){return new Promise(function(n,o){!function(e,t,r,n){Promise.resolve(n).then(function(t){e({value:t,done:r})},t)}(n,o,(t=e[r](t)).done,t.value)})}}}function k(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e}var E=Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t};function F(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&v(t,e,r);return E(t,e),t}function A(e){return e&&e.__esModule?e:{default:e}}function z(e,t,r,n){if("a"===r&&!n)throw TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!n:!t.has(e))throw TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?n:"a"===r?n.call(e):n?n.value:t.get(e)}function D(e,t,r,n,o){if("m"===n)throw TypeError("Private method is not writable");if("a"===n&&!o)throw TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!o:!t.has(e))throw TypeError("Cannot write private member to an object whose class did not declare it");return"a"===n?o.call(e,r):o?o.value=r:t.set(e,r),r}function N(e,t){if(null===t||"object"!=typeof t&&"function"!=typeof t)throw TypeError("Cannot use 'in' operator on non-object");return"function"==typeof e?t===e:e.has(t)}function M(e,t,r){if(null!=t){var n;if("object"!=typeof t&&"function"!=typeof t)throw TypeError("Object expected.");if(r){if(!Symbol.asyncDispose)throw TypeError("Symbol.asyncDispose is not defined.");n=t[Symbol.asyncDispose]}if(void 0===n){if(!Symbol.dispose)throw TypeError("Symbol.dispose is not defined.");n=t[Symbol.dispose]}if("function"!=typeof n)throw TypeError("Object not disposable.");e.stack.push({value:t,dispose:n,async:r})}else r&&e.stack.push({async:!0});return t}var C="function"==typeof SuppressedError?SuppressedError:function(e,t,r){var n=Error(r);return n.name="SuppressedError",n.error=e,n.suppressed=t,n};function L(e){function t(t){e.error=e.hasError?new C(t,e.error,"An error was suppressed during disposal."):t,e.hasError=!0}return function r(){for(;e.stack.length;){var n=e.stack.pop();try{var o=n.dispose&&n.dispose.call(n.value);if(n.async)return Promise.resolve(o).then(r,function(e){return t(e),r()})}catch(e){t(e)}}if(e.hasError)throw e.error}()}r.default={__extends:a,__assign:s,__rest:u,__decorate:c,__param:l,__metadata:h,__awaiter:m,__generator:y,__createBinding:v,__exportStar:g,__values:b,__read:j,__spread:x,__spreadArrays:w,__spreadArray:O,__await:T,__asyncGenerator:P,__asyncDelegator:S,__asyncValues:I,__makeTemplateObject:k,__importStar:F,__importDefault:A,__classPrivateFieldGet:z,__classPrivateFieldSet:D,__classPrivateFieldIn:N,__addDisposableResource:M,__disposeResources:L}},{"@swc/helpers/_/_type_of":"aFoNC","@parcel/transformer-js/src/esmodule-helpers.js":"jOuxX"}],aFoNC:[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");function o(e){return e&&"undefined"!=typeof Symbol&&e.constructor===Symbol?"symbol":typeof e}n.defineInteropFlag(r),n.export(r,"_type_of",function(){return o}),n.export(r,"_",function(){return o})},{"@parcel/transformer-js/src/esmodule-helpers.js":"jOuxX"}],"2kukK":[function(e,t,r){var n=e("@swc/helpers/_/_object_spread");!function(){var e={direction:"horizontal",snapToLines:!0,linePosition:"auto",lineAlign:"start",textPosition:"auto",positionAlign:"auto",size:100,alignment:"center"},t=function(t){t||(t={"&":"&","<":"<",">":">","&lrm":"‎","&rlm":"‏"," ":" "}),this.entities=t,this.parse=function(r,n){r=r.replace(/\0/g,"�");var a=Date.now(),s=0,u=r.split(/\r\n|\r|\n/),c=!1,l=[],f=[],p=[];function d(e,t){p.push({message:e,line:s+1,col:t})}var _=u[s],h=_.length,m="WEBVTT",y=0,v=m.length;for("\uFEFF"===_[0]&&(y=1,v+=1),(hv&&" "!==_[v]&&" "!==_[v])&&d('No valid signature. (File needs to start with "WEBVTT".)'),s++;""!=u[s]&&void 0!=u[s];){if(d("No blank line after the signature."),-1!=u[s].indexOf("-->")){c=!0;break}s++}for(;void 0!=u[s];){for(;!c&&""==u[s];)s++;if(!c&&void 0==u[s])break;g=Object.assign({},e,{id:"",startTime:0,endTime:0,pauseOnExit:!1,direction:"horizontal",snapToLines:!0,linePosition:"auto",lineAlign:"start",textPosition:"auto",positionAlign:"auto",size:100,alignment:"center",text:"",tree:null});var g,b=!0;if(-1==u[s].indexOf("-->")){if(g.id=u[s],/^NOTE($|[ \t])/.test(g.id)){for(s++;""!=u[s]&&void 0!=u[s];)-1!=u[s].indexOf("-->")&&d("Cannot have timestamp in a comment."),s++;continue}if(/^STYLE($|[ \t])/.test(g.id)){var j=[],x=!1;for(s++;""!=u[s]&&void 0!=u[s];)-1!=u[s].indexOf("-->")&&(d("Cannot have timestamp in a style block."),x=!0),j.push(u[s]),s++;if(f.length){d("Style blocks cannot appear after the first cue.");continue}x||l.push(j.join("\n"));continue}if(""==u[++s]||void 0==u[s]){d("Cue identifier cannot be standalone.");continue}if(-1==u[s].indexOf("-->")){b=!1,d("Cue identifier needs to be followed by timestamp.");continue}}c=!1;var w=new o(u[s],d),O=0;if(f.length>0&&(O=f[f.length-1].startTime),b&&!w.parse(g,O)){for(g=null,s++;""!=u[s]&&void 0!=u[s];){if(-1!=u[s].indexOf("-->")){c=!0;break}s++}continue}for(s++;""!=u[s]&&void 0!=u[s];){if(-1!=u[s].indexOf("-->")){d("Blank line missing before cue."),c=!0;break}""!=g.text&&(g.text+="\n"),g.text+=u[s],s++}var T=new i(g.text,d,n,t);g.tree=T.parse(g.startTime,g.endTime),f.push(g)}return f.sort(function(e,t){return e.startTimet.startTime?1:e.endTime>t.endTime?-1:e.endTime2||parseInt(t,10)>59)&&(u="hours"),":"!=e[o]){i("No time unit separator found.");return}if(o++,2!=(r=s(/\d/)).length){i("Must be exactly two digits.");return}if("hours"==u||":"==e[o]){if(":"!=e[o]){i("No seconds found or minutes is greater than 59.");return}if(o++,2!=(n=s(/\d/)).length){i("Must be exactly two digits.");return}}else{if(2!=t.length){i("Must be exactly two digits.");return}n=r,r=t,t="0"}if("."!=e[o]){i('No decimal separator (".") found.');return}if(o++,3!=(a=s(/\d/)).length){i("Milliseconds must be given in three digits.");return}if(parseInt(r,10)>59){i("You cannot have more than 59 minutes.");return}if(parseInt(n,10)>59){i("You cannot have more than 59 seconds.");return}return 3600*parseInt(t,10)+60*parseInt(r,10)+parseInt(n,10)+parseInt(a,10)/1e3}this.parse=function(t,s){if(a(r),t.startTime=u(),void 0!=t.startTime){if(t.startTime' by whitespace."),a(r),"-"!=e[o]||"-"!=e[++o]||">"!=e[++o]){i("No valid timestamp separator found.");return}if(o++,n.test(e[o])&&i("'-->' not separated from timestamp by whitespace."),a(r),t.endTime=u(),void 0!=t.endTime)return t.endTime<=t.startTime&&i("End timestamp is not greater than start timestamp."),n.test(e[o]),a(r),function(e,t){for(var n=e.split(r),o=[],a=0;a100)){i("Line position cannot be >100%.");continue}if(""===p||isNaN(p)||!isFinite(p)){i("Line position needs to be a number");continue}if(void 0!==f){if(!["start","center","end"].includes(f)){i("Line alignment needs to be one of start,center or end");continue}t.lineAlign=f}t.snapToLines=!d,t.linePosition=parseFloat(p),parseFloat(p).toString()!==p&&(t.nonSerializable=!0)}else if("position"==u){if(/,/.test(c)){var l=c.split(",");c=l[0];var _=l[1]}if("%"!=c[c.length-1]){i("Text position must be a percentage.");continue}if(parseInt(c,10)>100||0>parseInt(c,10)){i("Text position needs to be between 0 and 100%.");continue}if(""===(p=c.slice(0,c.length-1))||isNaN(p)||!isFinite(p)){i("Line position needs to be a number");continue}if(void 0!==_){if(!["line-left","center","line-right"].includes(_)){i("Position alignment needs to be one of line-left,center or line-right");continue}t.positionAlign=_}t.textPosition=parseFloat(p)}else if("size"==u){if("%"!=c[c.length-1]){i("Size must be a percentage.");continue}if(parseInt(c,10)>100){i("Size cannot be >100%.");continue}var h=c.slice(0,c.length-1);if(void 0===h||""===h||isNaN(h)){i("Size needs to be a number"),h=100;continue}if((h=parseFloat(h))<0||h>100){i("Size needs to be between 0 and 100%.");continue}t.size=h}else if("align"==u){var m=["start","center","end","left","right"];if(-1==m.indexOf(c)){i("Alignment can only be set to one of "+m.join(",")+".");continue}t.alignment=c}else i("Invalid setting.")}}(e.substring(o),t),!0}},this.parseTimestamp=function(){var t=u();if(void 0!=e[o]){i("Timestamp must not have trailing characters.");return}return t}},i=function(e,t,r,i){this.entities=i;var a=this,e=e,s=0,u=function(e){"metadata"!=r&&t(e,s+1)};this.parse=function(t,c){var l={children:[]},f=l,p=[];function d(e){f.children.push({type:"object",name:e[1],classes:e[2],children:[],parent:f}),f=f.children[f.children.length-1]}for(;void 0!=e[s];){var _=function(){for(var t="data",r="",n="",o=[];void 0!=e[s-1]||0==s;){var c=e[s];if("data"==t){if("&"==c)n=c,t="escape";else if("<"==c&&""==r)t="tag";else{if("<"==c||void 0==c)return["text",r];r+=c}}else if("escape"==t){if("<"==c||void 0==c){u("Incorrect escape.");var l=void 0;return(l=n.match(/^&#([0-9]+)$/))?r+=String.fromCharCode(l[1]):a.entities[n]?r+=a.entities[n]:r+=n,["text",r]}if("&"==c)u("Incorrect escape."),r+=n,n=c;else if(/[a-z#0-9]/i.test(c))n+=c;else if(";"==c){var f=void 0;(f=n.match(/^&#(x?[0-9]+)$/))?r+=String.fromCharCode("0"+f[1]):a.entities[n+c]?r+=a.entities[n+c]:(f=Object.keys(i).find(function(e){return n.startsWith(e)}))?r+=a.entities[f]+n.slice(f.length)+c:(u("Incorrect escape."),r+=n+";"),t="data"}else u("Incorrect escape."),r+=n+c,t="data"}else if("tag"==t){if(" "==c||"\n"==c||"\f"==c||" "==c)t="start tag annotation";else if("."==c)t="start tag class";else if("/"==c)t="end tag";else if(/\d/.test(c))r=c,t="timestamp tag";else{if(">"==c||void 0==c)return">"==c&&s++,["start tag","",[],""];r=c,t="start tag"}}else if("start tag"==t){if(" "==c||"\f"==c||" "==c)t="start tag annotation";else if("\n"==c)n=c,t="start tag annotation";else if("."==c)t="start tag class";else{if(">"==c||void 0==c)return">"==c&&s++,["start tag",r,[],""];r+=c}}else if("start tag class"==t){if(" "==c||"\f"==c||" "==c)n&&o.push(n),n="",t="start tag annotation";else if("\n"==c)n&&o.push(n),n=c,t="start tag annotation";else if("."==c)n&&o.push(n),n="";else{if(">"==c||void 0==c)return">"==c&&s++,n&&o.push(n),["start tag",r,o,""];n+=c}}else if("start tag annotation"==t){if(">"==c||void 0==c)return">"==c&&s++,["start tag",r,o,n=n.split(/[\u0020\t\f\r\n]+/).filter(function(e){if(e)return!0}).join(" ")];n+=c}else if("end tag"==t){if(">"==c||void 0==c)return">"==c&&s++,["end tag",r];r+=c}else if("timestamp tag"==t){if(">"==c||void 0==c)return">"==c&&s++,["timestamp",r];r+=c}else u("Never happens.");s++}}();if("text"==_[0])f.children.push({type:"text",value:_[1],parent:f});else if("start tag"==_[0]){"chapters"==r&&u("Start tags not allowed in chapter title text.");var h=_[1];"v"!=h&&"lang"!=h&&""!=_[3]&&u("Onlyandcan have an annotation."),"c"==h||"i"==h||"b"==h||"u"==h||"ruby"==h?d(_):"rt"==h&&"ruby"==f.name?d(_):"v"==h?(function(e){for(var t=f;t;){if("v"==t.name)return!0;t=t.parent}}(0)&&u("cannot be nested inside itself."),d(_),f.value=_[3],_[3]||u("requires an annotation.")):"lang"==h?(d(_),f.value=_[3]):u("Incorrect start tag.")}else if("end tag"==_[0])"chapters"==r&&u("End tags not allowed in chapter title text."),_[1]==f.name?f=f.parent:"ruby"==_[1]&&"rt"==f.name?f=f.parent.parent:u("Incorrect end tag.");else if("timestamp"==_[0]){"chapters"==r&&u("Timestamp not allowed in chapter title text.");var m=new o(_[1],u).parseTimestamp();void 0!=m&&((m<=t||m>=c)&&u("Timestamp must be between start timestamp and end timestamp."),p.length>0&&p[p.length-1]>=m&&u("Timestamp must be greater than any previous timestamp."),f.children.push({type:"timestamp",value:m,parent:f}),p.push(m))}}for(;f.parent;)"v"!=f.name&&u("Required end tag missing."),f=f.parent;return function e(t){var r=(0,n._)({},t);return t.children&&(r.children=t.children.map(e)),r.parent&&delete r.parent,r}(l)}},a=function(){function t(e){var t=("00"+1e3*(e-Math.floor(e)).toFixed(3)).slice(-3),r=0,n=0,o=0;return e>=3600&&(r=Math.floor(e/3600)),n=Math.floor((e-3600*r)/60),o=Math.floor(e-3600*r-60*n),(r?r+":":"")+(""+n).padStart(2,"0")+":"+(""+o).padStart(2,"0")+"."+t}this.serialize=function(r,n){var o="WEBVTT\n\n";if(n)for(var i=0;i"+t(r.endTime)+(n="",(o=Object.keys(e).filter(function(t){return r[t]!==e[t]})).includes("direction")&&(n+=" vertical:"+r.direction),o.includes("alignment")&&(n+=" align:"+r.alignment),o.includes("size")&&(n+=" size:"+r.size+"%"),(o.includes("lineAlign")||o.includes("linePosition"))&&(n+=" line:"+r.linePosition+(r.snapToLines?"":"%")+(r.lineAlign&&r.lineAlign!=e.lineAlign?","+r.lineAlign:"")),(o.includes("textPosition")||o.includes("positionAlign"))&&(n+=" position:"+r.textPosition+"%"+(r.positionAlign&&r.positionAlign!==e.positionAlign?","+r.positionAlign:"")),n)+"\n"+function e(r){for(var n="",o=0;o/g,">");else if("object"==i.type){if(n+="<"+i.name,i.classes)for(var a=0;a"}else"timestamp"==i.type?n+="<"+t(i.value)+">":n+="<"+i.value+">"}return n}(r.tree.children)+"\n\n"}(r[i]);return o}};function s(e){e.WebVTTParser=t,e.WebVTTCueTimingsAndSettingsParser=o,e.WebVTTCueTextParser=i,e.WebVTTSerializer=a}"undefined"!=typeof window&&s(window),s(r)}()},{"@swc/helpers/_/_object_spread":"kz2vW"}]},["cYMzD"],"cYMzD","parcelRequire94c2"); \ No newline at end of file +!function(e,t,r,n,o){var i="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},a="function"==typeof i[n]&&i[n],s=a.cache||{},c="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function u(t,r){if(!s[t]){if(!e[t]){var o="function"==typeof i[n]&&i[n];if(!r&&o)return o(t,!0);if(a)return a(t,!0);if(c&&"string"==typeof t)return c(t);var l=Error("Cannot find module '"+t+"'");throw l.code="MODULE_NOT_FOUND",l}p.resolve=function(r){var n=e[t][1][r];return null!=n?n:r},p.cache={};var f=s[t]=new u.Module(t);e[t][0].call(f.exports,p,f,f.exports,this)}return s[t].exports;function p(e){var t=p.resolve(e);return!1===t?{}:u(t)}}u.isParcelRequire=!0,u.Module=function(e){this.id=e,this.bundle=u,this.exports={}},u.modules=e,u.cache=s,u.parent=a,u.register=function(t,r){e[t]=[function(e,t){t.exports=r},{}]},Object.defineProperty(u,"root",{get:function(){return i[n]}}),i[n]=u;for(var l=0;l0&&void 0!==arguments[0]?arguments[0]:[],n=function(e){for(var t=new u.WebVTTParser().parse("","metadata"),r=0;r').concat(f.value,"")}}if(0===t.cues.length)t.cues=(0,s._)(n.cues);else for(var p=0;p0&&void 0!==arguments[0]?arguments[0]:[];return _(e.map(function(e){return m.find(function(t){return t.name===e})}))},reset:function(){return _(m)}}]}})}),function(e){return t.apply(this,arguments)}}"undefined"!=typeof window&&(window.artplayerPluginMultipleSubtitles=f)},{"@swc/helpers/_/_async_to_generator":"eONSn","@swc/helpers/_/_object_spread":"9agdF","@swc/helpers/_/_object_spread_props":"gJNH2","@swc/helpers/_/_to_consumable_array":"iwLF0","@swc/helpers/_/_ts_generator":"6Xyd0","./parser":"8YYw5","@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}],eONSn:[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");function o(e,t,r,n,o,i,a){try{var s=e[i](a),c=s.value}catch(e){r(e);return}s.done?t(c):Promise.resolve(c).then(n,o)}function i(e){return function(){var t=this,r=arguments;return new Promise(function(n,i){var a=e.apply(t,r);function s(e){o(a,n,i,s,c,"next",e)}function c(e){o(a,n,i,s,c,"throw",e)}s(void 0)})}}n.defineInteropFlag(r),n.export(r,"_",function(){return i})},{"@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}],iWrD0:[function(e,t,r){r.interopDefault=function(e){return e&&e.__esModule?e:{default:e}},r.defineInteropFlag=function(e){Object.defineProperty(e,"__esModule",{value:!0})},r.exportAll=function(e,t){return Object.keys(e).forEach(function(r){"default"===r||"__esModule"===r||Object.prototype.hasOwnProperty.call(t,r)||Object.defineProperty(t,r,{enumerable:!0,get:function(){return e[r]}})}),t},r.export=function(e,t,r){Object.defineProperty(e,t,{enumerable:!0,get:r})}},{}],"9agdF":[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(r),n.export(r,"_",function(){return i});var o=e("./_define_property.js");function i(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=Array(t);rt.indexOf(n)&&(r[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,n=Object.getOwnPropertySymbols(e);ot.indexOf(n[o])&&Object.prototype.propertyIsEnumerable.call(e,n[o])&&(r[n[o]]=e[n[o]]);return r}function u(e,t,r,n){var o,i=arguments.length,a=i<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,n);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,r,a):o(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a}function l(e,t){return function(r,n){t(r,n,e)}}function f(e,t,r,n,o,i){function a(e){if(void 0!==e&&"function"!=typeof e)throw TypeError("Function expected");return e}for(var s,c=n.kind,u="getter"===c?"get":"setter"===c?"set":"value",l=!t&&e?n.static?e:e.prototype:null,f=t||(l?Object.getOwnPropertyDescriptor(l,n.name):{}),p=!1,d=r.length-1;d>=0;d--){var h={};for(var m in n)h[m]="access"===m?{}:n[m];for(var m in n.access)h.access[m]=n.access[m];h.addInitializer=function(e){if(p)throw TypeError("Cannot add initializers after decoration has completed");i.push(a(e||null))};var v=(0,r[d])("accessor"===c?{get:f.get,set:f.set}:f[u],h);if("accessor"===c){if(void 0===v)continue;if(null===v||"object"!=typeof v)throw TypeError("Object expected");(s=a(v.get))&&(f.get=s),(s=a(v.set))&&(f.set=s),(s=a(v.init))&&o.unshift(s)}else(s=a(v))&&("field"===c?o.unshift(s):f[u]=s)}l&&Object.defineProperty(l,n.name,f),p=!0}function p(e,t,r){for(var n=arguments.length>2,o=0;o0&&o[o.length-1])&&(6===s[0]||2===s[0])){a=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function j(e,t){var r="function"==typeof Symbol&&e[Symbol.iterator];if(!r)return e;var n,o,i=r.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(n=i.next()).done;)a.push(n.value)}catch(e){o={error:e}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return a}function w(){for(var e=[],t=0;t1||s(e,t)})},t&&(n[e]=t(n[e])))}function s(e,t){try{var r;(r=o[e](t)).value instanceof T?Promise.resolve(r.value.v).then(c,u):l(i[0][2],r)}catch(e){l(i[0][3],e)}}function c(e){s("next",e)}function u(e){s("throw",e)}function l(e,t){e(t),i.shift(),i.length&&s(i[0][0],i[0][1])}}function S(e){var t,r;return t={},n("next"),n("throw",function(e){throw e}),n("return"),t[Symbol.iterator]=function(){return this},t;function n(n,o){t[n]=e[n]?function(t){return(r=!r)?{value:T(e[n](t)),done:!1}:o?o(t):t}:o}}function I(e){if(!Symbol.asyncIterator)throw TypeError("Symbol.asyncIterator is not defined.");var t,r=e[Symbol.asyncIterator];return r?r.call(e):(e=b(e),t={},n("next"),n("throw"),n("return"),t[Symbol.asyncIterator]=function(){return this},t);function n(r){t[r]=e[r]&&function(t){return new Promise(function(n,o){!function(e,t,r,n){Promise.resolve(n).then(function(t){e({value:t,done:r})},t)}(n,o,(t=e[r](t)).done,t.value)})}}}function E(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e}var D=Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t};function F(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&y(t,e,r);return D(t,e),t}function A(e){return e&&e.__esModule?e:{default:e}}function k(e,t,r,n){if("a"===r&&!n)throw TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!n:!t.has(e))throw TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?n:"a"===r?n.call(e):n?n.value:t.get(e)}function W(e,t,r,n,o){if("m"===n)throw TypeError("Private method is not writable");if("a"===n&&!o)throw TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!o:!t.has(e))throw TypeError("Cannot write private member to an object whose class did not declare it");return"a"===n?o.call(e,r):o?o.value=r:t.set(e,r),r}function L(e,t){if(null===t||"object"!=typeof t&&"function"!=typeof t)throw TypeError("Cannot use 'in' operator on non-object");return"function"==typeof e?t===e:e.has(t)}function z(e,t,r){if(null!=t){var n,o;if("object"!=typeof t&&"function"!=typeof t)throw TypeError("Object expected.");if(r){if(!Symbol.asyncDispose)throw TypeError("Symbol.asyncDispose is not defined.");n=t[Symbol.asyncDispose]}if(void 0===n){if(!Symbol.dispose)throw TypeError("Symbol.dispose is not defined.");n=t[Symbol.dispose],r&&(o=n)}if("function"!=typeof n)throw TypeError("Object not disposable.");o&&(n=function(){try{o.call(this)}catch(e){return Promise.reject(e)}}),e.stack.push({value:t,dispose:n,async:r})}else r&&e.stack.push({async:!0});return t}var N="function"==typeof SuppressedError?SuppressedError:function(e,t,r){var n=Error(r);return n.name="SuppressedError",n.error=e,n.suppressed=t,n};function R(e){function t(t){e.error=e.hasError?new N(t,e.error,"An error was suppressed during disposal."):t,e.hasError=!0}return function r(){for(;e.stack.length;){var n=e.stack.pop();try{var o=n.dispose&&n.dispose.call(n.value);if(n.async)return Promise.resolve(o).then(r,function(e){return t(e),r()})}catch(e){t(e)}}if(e.hasError)throw e.error}()}r.default={__extends:a,__assign:s,__rest:c,__decorate:u,__param:l,__metadata:m,__awaiter:v,__generator:_,__createBinding:y,__exportStar:g,__values:b,__read:j,__spread:w,__spreadArrays:x,__spreadArray:O,__await:T,__asyncGenerator:P,__asyncDelegator:S,__asyncValues:I,__makeTemplateObject:E,__importStar:F,__importDefault:A,__classPrivateFieldGet:k,__classPrivateFieldSet:W,__classPrivateFieldIn:L,__addDisposableResource:z,__disposeResources:R}},{"@swc/helpers/_/_type_of":"felZi","@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}],felZi:[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");function o(e){return e&&"undefined"!=typeof Symbol&&e.constructor===Symbol?"symbol":typeof e}n.defineInteropFlag(r),n.export(r,"_",function(){return o})},{"@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}],"8YYw5":[function(e,t,r){var n=e("@swc/helpers/_/_object_spread");!function(){var e={direction:"horizontal",snapToLines:!0,linePosition:"auto",lineAlign:"start",textPosition:"auto",positionAlign:"auto",size:100,alignment:"center"},t=function(t){t||(t={"&":"&","<":"<",">":">","&lrm":"‎","&rlm":"‏"," ":" "}),this.entities=t,this.parse=function(r,n){r=r.replace(/\0/g,"�");var a=Date.now(),s=0,c=r.split(/\r\n|\r|\n/),u=!1,l=[],f=[],p=[];function d(e,t){p.push({message:e,line:s+1,col:t})}var h=c[s],m=h.length,v="WEBVTT",_=0,y=v.length;for("\uFEFF"===h[0]&&(_=1,y+=1),(my&&" "!==h[y]&&" "!==h[y])&&d('No valid signature. (File needs to start with "WEBVTT".)'),s++;""!=c[s]&&void 0!=c[s];){if(d("No blank line after the signature."),-1!=c[s].indexOf("-->")){u=!0;break}s++}for(;void 0!=c[s];){for(;!u&&""==c[s];)s++;if(!u&&void 0==c[s])break;g=Object.assign({},e,{id:"",startTime:0,endTime:0,pauseOnExit:!1,direction:"horizontal",snapToLines:!0,linePosition:"auto",lineAlign:"start",textPosition:"auto",positionAlign:"auto",size:100,alignment:"center",text:"",tree:null});var g,b=!0;if(-1==c[s].indexOf("-->")){if(g.id=c[s],/^NOTE($|[ \t])/.test(g.id)){for(s++;""!=c[s]&&void 0!=c[s];)-1!=c[s].indexOf("-->")&&d("Cannot have timestamp in a comment."),s++;continue}if(/^STYLE($|[ \t])/.test(g.id)){var j=[],w=!1;for(s++;""!=c[s]&&void 0!=c[s];)-1!=c[s].indexOf("-->")&&(d("Cannot have timestamp in a style block."),w=!0),j.push(c[s]),s++;if(f.length){d("Style blocks cannot appear after the first cue.");continue}w||l.push(j.join("\n"));continue}if(""==c[++s]||void 0==c[s]){d("Cue identifier cannot be standalone.");continue}if(-1==c[s].indexOf("-->")){b=!1,d("Cue identifier needs to be followed by timestamp.");continue}}u=!1;var x=new o(c[s],d),O=0;if(f.length>0&&(O=f[f.length-1].startTime),b&&!x.parse(g,O)){for(g=null,s++;""!=c[s]&&void 0!=c[s];){if(-1!=c[s].indexOf("-->")){u=!0;break}s++}continue}for(s++;""!=c[s]&&void 0!=c[s];){if(-1!=c[s].indexOf("-->")){d("Blank line missing before cue."),u=!0;break}""!=g.text&&(g.text+="\n"),g.text+=c[s],s++}var T=new i(g.text,d,n,t);g.tree=T.parse(g.startTime,g.endTime),f.push(g)}return f.sort(function(e,t){return e.startTimet.startTime?1:e.endTime>t.endTime?-1:e.endTime2||parseInt(t,10)>59)&&(c="hours"),":"!=e[o]){i("No time unit separator found.");return}if(o++,2!=(r=s(/\d/)).length){i("Must be exactly two digits.");return}if("hours"==c||":"==e[o]){if(":"!=e[o]){i("No seconds found or minutes is greater than 59.");return}if(o++,2!=(n=s(/\d/)).length){i("Must be exactly two digits.");return}}else{if(2!=t.length){i("Must be exactly two digits.");return}n=r,r=t,t="0"}if("."!=e[o]){i('No decimal separator (".") found.');return}if(o++,3!=(a=s(/\d/)).length){i("Milliseconds must be given in three digits.");return}if(parseInt(r,10)>59){i("You cannot have more than 59 minutes.");return}if(parseInt(n,10)>59){i("You cannot have more than 59 seconds.");return}return 3600*parseInt(t,10)+60*parseInt(r,10)+parseInt(n,10)+parseInt(a,10)/1e3}this.parse=function(t,s){if(a(r),t.startTime=c(),void 0!=t.startTime){if(t.startTime' by whitespace."),a(r),"-"!=e[o]||"-"!=e[++o]||">"!=e[++o]){i("No valid timestamp separator found.");return}if(o++,n.test(e[o])&&i("'-->' not separated from timestamp by whitespace."),a(r),t.endTime=c(),void 0!=t.endTime)return t.endTime<=t.startTime&&i("End timestamp is not greater than start timestamp."),n.test(e[o]),a(r),function(e,t){for(var n=e.split(r),o=[],a=0;a100)){i("Line position cannot be >100%.");continue}if(""===p||isNaN(p)||!isFinite(p)){i("Line position needs to be a number");continue}if(void 0!==f){if(!["start","center","end"].includes(f)){i("Line alignment needs to be one of start, center or end");continue}t.lineAlign=f}t.snapToLines=!d,t.linePosition=parseFloat(p),parseFloat(p).toString()!==p&&(t.nonSerializable=!0)}else if("position"==c){if(/,/.test(u)){var l=u.split(",");u=l[0];var h=l[1]}if("%"!=u[u.length-1]){i("Text position must be a percentage.");continue}if(parseInt(u,10)>100||0>parseInt(u,10)){i("Text position needs to be between 0 and 100%.");continue}if(""===(p=u.slice(0,u.length-1))||isNaN(p)||!isFinite(p)){i("Line position needs to be a number");continue}if(void 0!==h){if(!["line-left","center","line-right"].includes(h)){i("Position alignment needs to be one of line-left, center or line-right");continue}t.positionAlign=h}t.textPosition=parseFloat(p)}else if("size"==c){if("%"!=u[u.length-1]){i("Size must be a percentage.");continue}if(parseInt(u,10)>100){i("Size cannot be >100%.");continue}var m=u.slice(0,u.length-1);if(void 0===m||""===m||isNaN(m)){i("Size needs to be a number"),m=100;continue}if((m=parseFloat(m))<0||m>100){i("Size needs to be between 0 and 100%.");continue}t.size=m}else if("align"==c){var v=["start","center","end","left","right"];if(-1==v.indexOf(u)){i("Alignment can only be set to one of "+v.join(", ")+".");continue}t.alignment=u}else i("Invalid setting.")}}(e.substring(o),t),!0}},this.parseTimestamp=function(){var t=c();if(void 0!=e[o]){i("Timestamp must not have trailing characters.");return}return t}},i=function(e,t,r,i){this.entities=i;var a=this,e=e,s=0,c=function(e){"metadata"!=r&&t(e,s+1)};this.parse=function(t,u){var l={children:[]},f=l,p=[];function d(e){f.children.push({type:"object",name:e[1],classes:e[2],children:[],parent:f}),f=f.children[f.children.length-1]}for(;void 0!=e[s];){var h=function(){for(var t="data",r="",n="",o=[];void 0!=e[s-1]||0==s;){var u=e[s];if("data"==t){if("&"==u)n=u,t="escape";else if("<"==u&&""==r)t="tag";else{if("<"==u||void 0==u)return["text",r];r+=u}}else if("escape"==t){if("<"==u||void 0==u){c("Incorrect escape.");var l=void 0;return(l=n.match(/^&#([0-9]+)$/))?r+=String.fromCharCode(l[1]):a.entities[n]?r+=a.entities[n]:r+=n,["text",r]}if("&"==u)c("Incorrect escape."),r+=n,n=u;else if(/[a-z#0-9]/i.test(u))n+=u;else if(";"==u){var f=void 0;(f=n.match(/^&#(x?[0-9]+)$/))?r+=String.fromCharCode("0"+f[1]):a.entities[n+u]?r+=a.entities[n+u]:(f=Object.keys(i).find(function(e){return n.startsWith(e)}))?r+=a.entities[f]+n.slice(f.length)+u:(c("Incorrect escape."),r+=n+";"),t="data"}else c("Incorrect escape."),r+=n+u,t="data"}else if("tag"==t){if(" "==u||"\n"==u||"\f"==u||" "==u)t="start tag annotation";else if("."==u)t="start tag class";else if("/"==u)t="end tag";else if(/\d/.test(u))r=u,t="timestamp tag";else{if(">"==u||void 0==u)return">"==u&&s++,["start tag","",[],""];r=u,t="start tag"}}else if("start tag"==t){if(" "==u||"\f"==u||" "==u)t="start tag annotation";else if("\n"==u)n=u,t="start tag annotation";else if("."==u)t="start tag class";else{if(">"==u||void 0==u)return">"==u&&s++,["start tag",r,[],""];r+=u}}else if("start tag class"==t){if(" "==u||"\f"==u||" "==u)n&&o.push(n),n="",t="start tag annotation";else if("\n"==u)n&&o.push(n),n=u,t="start tag annotation";else if("."==u)n&&o.push(n),n="";else{if(">"==u||void 0==u)return">"==u&&s++,n&&o.push(n),["start tag",r,o,""];n+=u}}else if("start tag annotation"==t){if(">"==u||void 0==u)return">"==u&&s++,["start tag",r,o,n=n.split(/[\u0020\t\f\r\n]+/).filter(function(e){if(e)return!0}).join(" ")];n+=u}else if("end tag"==t){if(">"==u||void 0==u)return">"==u&&s++,["end tag",r];r+=u}else if("timestamp tag"==t){if(">"==u||void 0==u)return">"==u&&s++,["timestamp",r];r+=u}else c("Never happens.");s++}}();if("text"==h[0])f.children.push({type:"text",value:h[1],parent:f});else if("start tag"==h[0]){"chapters"==r&&c("Start tags not allowed in chapter title text.");var m=h[1];"v"!=m&&"lang"!=m&&""!=h[3]&&c("Onlyandcan have an annotation."),"c"==m||"i"==m||"b"==m||"u"==m||"ruby"==m?d(h):"rt"==m&&"ruby"==f.name?d(h):"v"==m?(function(e){for(var t=f;t;){if("v"==t.name)return!0;t=t.parent}}(0)&&c("cannot be nested inside itself."),d(h),f.value=h[3],h[3]||c("requires an annotation.")):"lang"==m?(d(h),f.value=h[3]):c("Incorrect start tag.")}else if("end tag"==h[0])"chapters"==r&&c("End tags not allowed in chapter title text."),h[1]==f.name?f=f.parent:"ruby"==h[1]&&"rt"==f.name?f=f.parent.parent:c("Incorrect end tag.");else if("timestamp"==h[0]){"chapters"==r&&c("Timestamp not allowed in chapter title text.");var v=new o(h[1],c).parseTimestamp();void 0!=v&&((v<=t||v>=u)&&c("Timestamp must be between start timestamp and end timestamp."),p.length>0&&p[p.length-1]>=v&&c("Timestamp must be greater than any previous timestamp."),f.children.push({type:"timestamp",value:v,parent:f}),p.push(v))}}for(;f.parent;)"v"!=f.name&&c("Required end tag missing."),f=f.parent;return function e(t){var r=(0,n._)({},t);return t.children&&(r.children=t.children.map(e)),r.parent&&delete r.parent,r}(l)}},a=function(){function t(e){var t=("00"+1e3*(e-Math.floor(e)).toFixed(3)).slice(-3),r=0,n=0,o=0;return e>=3600&&(r=Math.floor(e/3600)),n=Math.floor((e-3600*r)/60),o=Math.floor(e-3600*r-60*n),(r?r+":":"")+(""+n).padStart(2,"0")+":"+(""+o).padStart(2,"0")+"."+t}this.serialize=function(r,n){var o="WEBVTT\n\n";if(n)for(var i=0;i"+t(r.endTime)+(n="",(o=Object.keys(e).filter(function(t){return r[t]!==e[t]})).includes("direction")&&(n+=" vertical:"+r.direction),o.includes("alignment")&&(n+=" align:"+r.alignment),o.includes("size")&&(n+=" size:"+r.size+"%"),(o.includes("lineAlign")||o.includes("linePosition"))&&(n+=" line:"+r.linePosition+(r.snapToLines?"":"%")+(r.lineAlign&&r.lineAlign!=e.lineAlign?","+r.lineAlign:"")),(o.includes("textPosition")||o.includes("positionAlign"))&&(n+=" position:"+r.textPosition+"%"+(r.positionAlign&&r.positionAlign!==e.positionAlign?","+r.positionAlign:"")),n)+"\n"+function e(r){for(var n="",o=0;o/g,">");else if("object"==i.type){if(n+="<"+i.name,i.classes)for(var a=0;a"}else"timestamp"==i.type?n+="<"+t(i.value)+">":n+="<"+i.value+">"}return n}(r.tree.children)+"\n\n"}(r[i]);return o}};function s(e){e.WebVTTParser=t,e.WebVTTCueTimingsAndSettingsParser=o,e.WebVTTCueTextParser=i,e.WebVTTSerializer=a}"undefined"!=typeof window&&s(window),s(r)}()},{"@swc/helpers/_/_object_spread":"9agdF"}]},["2hz0c"],"2hz0c","parcelRequire4dc0"); \ No newline at end of file diff --git a/compiled/artplayer-plugin-vast.js b/compiled/artplayer-plugin-vast.js new file mode 100644 index 000000000..dc990d010 --- /dev/null +++ b/compiled/artplayer-plugin-vast.js @@ -0,0 +1,8 @@ + +/*! + * artplayer-plugin-vast.js v1.0.0 + * Github: https://github.com/zhw2590582/ArtPlayer + * (c) 2017-2024 Harvey Zack + * Released under the MIT License. + */ +!function(e,t,n,r,o){var u="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},i="function"==typeof u[r]&&u[r],f=i.cache||{},l="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function d(t,n){if(!f[t]){if(!e[t]){var o="function"==typeof u[r]&&u[r];if(!n&&o)return o(t,!0);if(i)return i(t,!0);if(l&&"string"==typeof t)return l(t);var a=Error("Cannot find module '"+t+"'");throw a.code="MODULE_NOT_FOUND",a}p.resolve=function(n){var r=e[t][1][n];return null!=r?r:n},p.cache={};var c=f[t]=new d.Module(t);e[t][0].call(c.exports,p,c,c.exports,this)}return f[t].exports;function p(e){var t=p.resolve(e);return!1===t?{}:d(t)}}d.isParcelRequire=!0,d.Module=function(e){this.id=e,this.bundle=d,this.exports={}},d.modules=e,d.cache=f,d.parent=i,d.register=function(t,n){e[t]=[function(e,t){t.exports=n},{}]},Object.defineProperty(d,"root",{get:function(){return u[r]}}),u[r]=d;for(var a=0;ai);var o=e("bundle-text:./style.less"),u=r.interopDefault(o);function i(e){return e=>({name:"artplayerPluginVast"})}if("undefined"!=typeof document){let e="artplayer-plugin-vast",t=document.getElementById(e);if(t)t.textContent=u.default;else{let t=document.createElement("style");t.id=e,t.textContent=u.default,document.head.appendChild(t)}}"undefined"!=typeof window&&(window.artplayerPluginVast=i)},{"bundle-text:./style.less":"iznwM","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],iznwM:[function(e,t,n){t.exports=""},{}],"9pCYc":[function(e,t,n){n.interopDefault=function(e){return e&&e.__esModule?e:{default:e}},n.defineInteropFlag=function(e){Object.defineProperty(e,"__esModule",{value:!0})},n.exportAll=function(e,t){return Object.keys(e).forEach(function(n){"default"===n||"__esModule"===n||Object.prototype.hasOwnProperty.call(t,n)||Object.defineProperty(t,n,{enumerable:!0,get:function(){return e[n]}})}),t},n.export=function(e,t,n){Object.defineProperty(e,t,{enumerable:!0,get:n})}},{}]},["iW4Tm"],"iW4Tm","parcelRequire4dc0"); \ No newline at end of file diff --git a/compiled/artplayer-plugin-vast.legacy.js b/compiled/artplayer-plugin-vast.legacy.js new file mode 100644 index 000000000..8c33819fe --- /dev/null +++ b/compiled/artplayer-plugin-vast.legacy.js @@ -0,0 +1,8 @@ + +/*! + * artplayer-plugin-vast.js v1.0.0 + * Github: https://github.com/zhw2590582/ArtPlayer + * (c) 2017-2024 Harvey Zack + * Released under the MIT License. + */ +!function(e,t,n,r,o){var u="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},i="function"==typeof u[r]&&u[r],f=i.cache||{},l="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function d(t,n){if(!f[t]){if(!e[t]){var o="function"==typeof u[r]&&u[r];if(!n&&o)return o(t,!0);if(i)return i(t,!0);if(l&&"string"==typeof t)return l(t);var a=Error("Cannot find module '"+t+"'");throw a.code="MODULE_NOT_FOUND",a}s.resolve=function(n){var r=e[t][1][n];return null!=r?r:n},s.cache={};var c=f[t]=new d.Module(t);e[t][0].call(c.exports,s,c,c.exports,this)}return f[t].exports;function s(e){var t=s.resolve(e);return!1===t?{}:d(t)}}d.isParcelRequire=!0,d.Module=function(e){this.id=e,this.bundle=d,this.exports={}},d.modules=e,d.cache=f,d.parent=i,d.register=function(t,n){e[t]=[function(e,t){t.exports=n},{}]},Object.defineProperty(d,"root",{get:function(){return u[r]}}),u[r]=d;for(var a=0;a=e.start&&d<=e.end})))return[2,n(e,"display","none")];p>0&&pc.clientWidth-y.w/2?n(e,"left","".concat(c.clientWidth-y.w,"px")):n(e,"left","".concat(p-y.w/2,"px"))):a||n(e,"display","none"),l&&(clearTimeout(s),s=setTimeout(function(){n(e,"display","none")},500))}return[2]})}),function(e,t,n){return r.apply(this,arguments)}))}}),[2,{name:"artplayerPluginVttThumbnail"}]}})}),function(e){return t.apply(this,arguments)}}"undefined"!=typeof window&&(window.artplayerPluginVttThumbnail=c)},{"@swc/helpers/_/_async_to_generator":"eONSn","@swc/helpers/_/_ts_generator":"6Xyd0","./getVttArray":"iUpz3","@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}],eONSn:[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");function o(e,t,r,n,o,i,a){try{var u=e[i](a),c=u.value}catch(e){r(e);return}u.done?t(c):Promise.resolve(c).then(n,o)}function i(e){return function(){var t=this,r=arguments;return new Promise(function(n,i){var a=e.apply(t,r);function u(e){o(a,n,i,u,c,"next",e)}function c(e){o(a,n,i,u,c,"throw",e)}u(void 0)})}}n.defineInteropFlag(r),n.export(r,"_async_to_generator",function(){return i}),n.export(r,"_",function(){return i})},{"@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}],iWrD0:[function(e,t,r){r.interopDefault=function(e){return e&&e.__esModule?e:{default:e}},r.defineInteropFlag=function(e){Object.defineProperty(e,"__esModule",{value:!0})},r.exportAll=function(e,t){return Object.keys(e).forEach(function(r){"default"===r||"__esModule"===r||Object.prototype.hasOwnProperty.call(t,r)||Object.defineProperty(t,r,{enumerable:!0,get:function(){return e[r]}})}),t},r.export=function(e,t,r){Object.defineProperty(e,t,{enumerable:!0,get:r})}},{}],"6Xyd0":[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(r),n.export(r,"_",function(){return o.__generator}),n.export(r,"_ts_generator",function(){return o.__generator});var o=e("tslib")},{tslib:"c0d7h","@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}],c0d7h:[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(r),n.export(r,"__extends",function(){return a}),n.export(r,"__assign",function(){return u}),n.export(r,"__rest",function(){return c}),n.export(r,"__decorate",function(){return s}),n.export(r,"__param",function(){return f}),n.export(r,"__esDecorate",function(){return l}),n.export(r,"__runInitializers",function(){return p}),n.export(r,"__propKey",function(){return d}),n.export(r,"__setFunctionName",function(){return y}),n.export(r,"__metadata",function(){return _}),n.export(r,"__awaiter",function(){return h}),n.export(r,"__generator",function(){return v}),n.export(r,"__createBinding",function(){return m}),n.export(r,"__exportStar",function(){return b}),n.export(r,"__values",function(){return g}),n.export(r,"__read",function(){return w}),n.export(r,"__spread",function(){return x}),n.export(r,"__spreadArrays",function(){return j}),n.export(r,"__spreadArray",function(){return O}),n.export(r,"__await",function(){return P}),n.export(r,"__asyncGenerator",function(){return S}),n.export(r,"__asyncDelegator",function(){return E}),n.export(r,"__asyncValues",function(){return T}),n.export(r,"__makeTemplateObject",function(){return D}),n.export(r,"__importStar",function(){return F}),n.export(r,"__importDefault",function(){return k}),n.export(r,"__classPrivateFieldGet",function(){return A}),n.export(r,"__classPrivateFieldSet",function(){return M}),n.export(r,"__classPrivateFieldIn",function(){return R}),n.export(r,"__addDisposableResource",function(){return W}),n.export(r,"__disposeResources",function(){return q});var o=e("@swc/helpers/_/_type_of"),i=function(e,t){return(i=Object.setPrototypeOf||({__proto__:[]})instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(e,t)};function a(e,t){if("function"!=typeof t&&null!==t)throw TypeError("Class extends value "+String(t)+" is not a constructor or null");function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}var u=function(){return(u=Object.assign||function(e){for(var t,r=1,n=arguments.length;rt.indexOf(n)&&(r[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,n=Object.getOwnPropertySymbols(e);ot.indexOf(n[o])&&Object.prototype.propertyIsEnumerable.call(e,n[o])&&(r[n[o]]=e[n[o]]);return r}function s(e,t,r,n){var o,i=arguments.length,a=i<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,n);else for(var u=e.length-1;u>=0;u--)(o=e[u])&&(a=(i<3?o(a):i>3?o(t,r,a):o(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a}function f(e,t){return function(r,n){t(r,n,e)}}function l(e,t,r,n,o,i){function a(e){if(void 0!==e&&"function"!=typeof e)throw TypeError("Function expected");return e}for(var u,c=n.kind,s="getter"===c?"get":"setter"===c?"set":"value",f=!t&&e?n.static?e:e.prototype:null,l=t||(f?Object.getOwnPropertyDescriptor(f,n.name):{}),p=!1,d=r.length-1;d>=0;d--){var y={};for(var _ in n)y[_]="access"===_?{}:n[_];for(var _ in n.access)y.access[_]=n.access[_];y.addInitializer=function(e){if(p)throw TypeError("Cannot add initializers after decoration has completed");i.push(a(e||null))};var h=(0,r[d])("accessor"===c?{get:l.get,set:l.set}:l[s],y);if("accessor"===c){if(void 0===h)continue;if(null===h||"object"!=typeof h)throw TypeError("Object expected");(u=a(h.get))&&(l.get=u),(u=a(h.set))&&(l.set=u),(u=a(h.init))&&o.unshift(u)}else(u=a(h))&&("field"===c?o.unshift(u):l[s]=u)}f&&Object.defineProperty(f,n.name,l),p=!0}function p(e,t,r){for(var n=arguments.length>2,o=0;o0&&o[o.length-1])&&(6===u[0]||2===u[0])){a=0;continue}if(3===u[0]&&(!o||u[1]>o[0]&&u[1]=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function w(e,t){var r="function"==typeof Symbol&&e[Symbol.iterator];if(!r)return e;var n,o,i=r.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(n=i.next()).done;)a.push(n.value)}catch(e){o={error:e}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return a}function x(){for(var e=[],t=0;t1||u(e,t)})},t&&(n[e]=t(n[e])))}function u(e,t){try{var r;(r=o[e](t)).value instanceof P?Promise.resolve(r.value.v).then(c,s):f(i[0][2],r)}catch(e){f(i[0][3],e)}}function c(e){u("next",e)}function s(e){u("throw",e)}function f(e,t){e(t),i.shift(),i.length&&u(i[0][0],i[0][1])}}function E(e){var t,r;return t={},n("next"),n("throw",function(e){throw e}),n("return"),t[Symbol.iterator]=function(){return this},t;function n(n,o){t[n]=e[n]?function(t){return(r=!r)?{value:P(e[n](t)),done:!1}:o?o(t):t}:o}}function T(e){if(!Symbol.asyncIterator)throw TypeError("Symbol.asyncIterator is not defined.");var t,r=e[Symbol.asyncIterator];return r?r.call(e):(e=g(e),t={},n("next"),n("throw"),n("return"),t[Symbol.asyncIterator]=function(){return this},t);function n(r){t[r]=e[r]&&function(t){return new Promise(function(n,o){!function(e,t,r,n){Promise.resolve(n).then(function(t){e({value:t,done:r})},t)}(n,o,(t=e[r](t)).done,t.value)})}}}function D(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e}var I=Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t};function F(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&m(t,e,r);return I(t,e),t}function k(e){return e&&e.__esModule?e:{default:e}}function A(e,t,r,n){if("a"===r&&!n)throw TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!n:!t.has(e))throw TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?n:"a"===r?n.call(e):n?n.value:t.get(e)}function M(e,t,r,n,o){if("m"===n)throw TypeError("Private method is not writable");if("a"===n&&!o)throw TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!o:!t.has(e))throw TypeError("Cannot write private member to an object whose class did not declare it");return"a"===n?o.call(e,r):o?o.value=r:t.set(e,r),r}function R(e,t){if(null===t||"object"!=typeof t&&"function"!=typeof t)throw TypeError("Cannot use 'in' operator on non-object");return"function"==typeof e?t===e:e.has(t)}function W(e,t,r){if(null!=t){var n,o;if("object"!=typeof t&&"function"!=typeof t)throw TypeError("Object expected.");if(r){if(!Symbol.asyncDispose)throw TypeError("Symbol.asyncDispose is not defined.");n=t[Symbol.asyncDispose]}if(void 0===n){if(!Symbol.dispose)throw TypeError("Symbol.dispose is not defined.");n=t[Symbol.dispose],r&&(o=n)}if("function"!=typeof n)throw TypeError("Object not disposable.");o&&(n=function(){try{o.call(this)}catch(e){return Promise.reject(e)}}),e.stack.push({value:t,dispose:n,async:r})}else r&&e.stack.push({async:!0});return t}var N="function"==typeof SuppressedError?SuppressedError:function(e,t,r){var n=Error(r);return n.name="SuppressedError",n.error=e,n.suppressed=t,n};function q(e){function t(t){e.error=e.hasError?new N(t,e.error,"An error was suppressed during disposal."):t,e.hasError=!0}return function r(){for(;e.stack.length;){var n=e.stack.pop();try{var o=n.dispose&&n.dispose.call(n.value);if(n.async)return Promise.resolve(o).then(r,function(e){return t(e),r()})}catch(e){t(e)}}if(e.hasError)throw e.error}()}r.default={__extends:a,__assign:u,__rest:c,__decorate:s,__param:f,__metadata:_,__awaiter:h,__generator:v,__createBinding:m,__exportStar:b,__values:g,__read:w,__spread:x,__spreadArrays:j,__spreadArray:O,__await:P,__asyncGenerator:S,__asyncDelegator:E,__asyncValues:T,__makeTemplateObject:D,__importStar:F,__importDefault:k,__classPrivateFieldGet:A,__classPrivateFieldSet:M,__classPrivateFieldIn:R,__addDisposableResource:W,__disposeResources:q}},{"@swc/helpers/_/_type_of":"felZi","@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}],felZi:[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");function o(e){return e&&"undefined"!=typeof Symbol&&e.constructor===Symbol?"symbol":typeof e}n.defineInteropFlag(r),n.export(r,"_type_of",function(){return o}),n.export(r,"_",function(){return o})},{"@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}],iUpz3:[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(r),n.export(r,"default",function(){return u});var o=e("@swc/helpers/_/_async_to_generator"),i=e("@swc/helpers/_/_ts_generator");function a(e){var t,r,n,o=e.split("."),i=o[0].split(":")||[],a=Number((t=o[1]||"0",r=3,n="0",t.length>r?String(t):((r-=t.length)>n.length&&(n+=n.repeat(r/n.length)),String(t)+n.slice(0,r))))/1e3;return 3600*Number(i[i.length-3]||0)+60*Number(i[i.length-2]||0)+Number(i[i.length-1]||0)+a}function u(){return c.apply(this,arguments)}function c(){return(c=(0,o._)(function(){var e,t,r,n,o,u,c,s,f,l,p,d,y,_,h,v,m,b,g=arguments;return(0,i._)(this,function(i){switch(i.label){case 0:return[4,fetch(e=g.length>0&&void 0!==g[0]?g[0]:"")];case 1:return[4,i.sent().text()];case 2:for(n=1,t=i.sent().split(/[\n\r]/gm).filter(function(e){return e.trim()}),r=[];n?)((?:[0-9]{2}:)?(?:[0-9]{2}:)?[0-9]{2}(?:.[0-9]{3})?)/,s=o.match(c),f=/(.*)#(\w{4})=(.*)/i,l=u.match(f),p=Math.floor(a(s[1])),d=Math.floor(a(s[2])),y=l[1],/^\/|((https?|ftp|file):\/\/)/i.test(y)||((_=e.split("/")).pop(),_.push(y),y=_.join("/")),h={start:p,end:d,url:y},v=l[2].split(""),m=l[3].split(","),b=0;b=e.start&&d<=e.end})))return[2,n(e,"display","none")];p>0&&pc.clientWidth-y.w/2?n(e,"left","".concat(c.clientWidth-y.w,"px")):n(e,"left","".concat(p-y.w/2,"px"))):a||n(e,"display","none"),l&&(clearTimeout(s),s=setTimeout(function(){n(e,"display","none")},500))}return[2]})}),function(e,t,n){return r.apply(this,arguments)}))}}),[2,{name:"artplayerPluginVttThumbnail"}]}})}),function(e){return t.apply(this,arguments)}}"undefined"!=typeof window&&(window.artplayerPluginVttThumbnail=c)},{"@swc/helpers/_/_async_to_generator":"eONSn","@swc/helpers/_/_ts_generator":"6Xyd0","./getVttArray":"iUpz3","@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}],eONSn:[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");function o(e,t,r,n,o,i,a){try{var u=e[i](a),c=u.value}catch(e){r(e);return}u.done?t(c):Promise.resolve(c).then(n,o)}function i(e){return function(){var t=this,r=arguments;return new Promise(function(n,i){var a=e.apply(t,r);function u(e){o(a,n,i,u,c,"next",e)}function c(e){o(a,n,i,u,c,"throw",e)}u(void 0)})}}n.defineInteropFlag(r),n.export(r,"_",function(){return i})},{"@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}],iWrD0:[function(e,t,r){r.interopDefault=function(e){return e&&e.__esModule?e:{default:e}},r.defineInteropFlag=function(e){Object.defineProperty(e,"__esModule",{value:!0})},r.exportAll=function(e,t){return Object.keys(e).forEach(function(r){"default"===r||"__esModule"===r||Object.prototype.hasOwnProperty.call(t,r)||Object.defineProperty(t,r,{enumerable:!0,get:function(){return e[r]}})}),t},r.export=function(e,t,r){Object.defineProperty(e,t,{enumerable:!0,get:r})}},{}],"6Xyd0":[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(r),n.export(r,"_",function(){return o.__generator});var o=e("tslib")},{tslib:"c0d7h","@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}],c0d7h:[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(r),n.export(r,"__extends",function(){return a}),n.export(r,"__assign",function(){return u}),n.export(r,"__rest",function(){return c}),n.export(r,"__decorate",function(){return s}),n.export(r,"__param",function(){return f}),n.export(r,"__esDecorate",function(){return l}),n.export(r,"__runInitializers",function(){return p}),n.export(r,"__propKey",function(){return d}),n.export(r,"__setFunctionName",function(){return y}),n.export(r,"__metadata",function(){return _}),n.export(r,"__awaiter",function(){return h}),n.export(r,"__generator",function(){return v}),n.export(r,"__createBinding",function(){return m}),n.export(r,"__exportStar",function(){return b}),n.export(r,"__values",function(){return g}),n.export(r,"__read",function(){return w}),n.export(r,"__spread",function(){return x}),n.export(r,"__spreadArrays",function(){return j}),n.export(r,"__spreadArray",function(){return O}),n.export(r,"__await",function(){return P}),n.export(r,"__asyncGenerator",function(){return S}),n.export(r,"__asyncDelegator",function(){return E}),n.export(r,"__asyncValues",function(){return T}),n.export(r,"__makeTemplateObject",function(){return D}),n.export(r,"__importStar",function(){return F}),n.export(r,"__importDefault",function(){return k}),n.export(r,"__classPrivateFieldGet",function(){return A}),n.export(r,"__classPrivateFieldSet",function(){return M}),n.export(r,"__classPrivateFieldIn",function(){return R}),n.export(r,"__addDisposableResource",function(){return W}),n.export(r,"__disposeResources",function(){return q});var o=e("@swc/helpers/_/_type_of"),i=function(e,t){return(i=Object.setPrototypeOf||({__proto__:[]})instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(e,t)};function a(e,t){if("function"!=typeof t&&null!==t)throw TypeError("Class extends value "+String(t)+" is not a constructor or null");function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}var u=function(){return(u=Object.assign||function(e){for(var t,r=1,n=arguments.length;rt.indexOf(n)&&(r[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,n=Object.getOwnPropertySymbols(e);ot.indexOf(n[o])&&Object.prototype.propertyIsEnumerable.call(e,n[o])&&(r[n[o]]=e[n[o]]);return r}function s(e,t,r,n){var o,i=arguments.length,a=i<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,n);else for(var u=e.length-1;u>=0;u--)(o=e[u])&&(a=(i<3?o(a):i>3?o(t,r,a):o(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a}function f(e,t){return function(r,n){t(r,n,e)}}function l(e,t,r,n,o,i){function a(e){if(void 0!==e&&"function"!=typeof e)throw TypeError("Function expected");return e}for(var u,c=n.kind,s="getter"===c?"get":"setter"===c?"set":"value",f=!t&&e?n.static?e:e.prototype:null,l=t||(f?Object.getOwnPropertyDescriptor(f,n.name):{}),p=!1,d=r.length-1;d>=0;d--){var y={};for(var _ in n)y[_]="access"===_?{}:n[_];for(var _ in n.access)y.access[_]=n.access[_];y.addInitializer=function(e){if(p)throw TypeError("Cannot add initializers after decoration has completed");i.push(a(e||null))};var h=(0,r[d])("accessor"===c?{get:l.get,set:l.set}:l[s],y);if("accessor"===c){if(void 0===h)continue;if(null===h||"object"!=typeof h)throw TypeError("Object expected");(u=a(h.get))&&(l.get=u),(u=a(h.set))&&(l.set=u),(u=a(h.init))&&o.unshift(u)}else(u=a(h))&&("field"===c?o.unshift(u):l[s]=u)}f&&Object.defineProperty(f,n.name,l),p=!0}function p(e,t,r){for(var n=arguments.length>2,o=0;o0&&o[o.length-1])&&(6===u[0]||2===u[0])){a=0;continue}if(3===u[0]&&(!o||u[1]>o[0]&&u[1]=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function w(e,t){var r="function"==typeof Symbol&&e[Symbol.iterator];if(!r)return e;var n,o,i=r.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(n=i.next()).done;)a.push(n.value)}catch(e){o={error:e}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return a}function x(){for(var e=[],t=0;t1||u(e,t)})},t&&(n[e]=t(n[e])))}function u(e,t){try{var r;(r=o[e](t)).value instanceof P?Promise.resolve(r.value.v).then(c,s):f(i[0][2],r)}catch(e){f(i[0][3],e)}}function c(e){u("next",e)}function s(e){u("throw",e)}function f(e,t){e(t),i.shift(),i.length&&u(i[0][0],i[0][1])}}function E(e){var t,r;return t={},n("next"),n("throw",function(e){throw e}),n("return"),t[Symbol.iterator]=function(){return this},t;function n(n,o){t[n]=e[n]?function(t){return(r=!r)?{value:P(e[n](t)),done:!1}:o?o(t):t}:o}}function T(e){if(!Symbol.asyncIterator)throw TypeError("Symbol.asyncIterator is not defined.");var t,r=e[Symbol.asyncIterator];return r?r.call(e):(e=g(e),t={},n("next"),n("throw"),n("return"),t[Symbol.asyncIterator]=function(){return this},t);function n(r){t[r]=e[r]&&function(t){return new Promise(function(n,o){!function(e,t,r,n){Promise.resolve(n).then(function(t){e({value:t,done:r})},t)}(n,o,(t=e[r](t)).done,t.value)})}}}function D(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e}var I=Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t};function F(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&m(t,e,r);return I(t,e),t}function k(e){return e&&e.__esModule?e:{default:e}}function A(e,t,r,n){if("a"===r&&!n)throw TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!n:!t.has(e))throw TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?n:"a"===r?n.call(e):n?n.value:t.get(e)}function M(e,t,r,n,o){if("m"===n)throw TypeError("Private method is not writable");if("a"===n&&!o)throw TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!o:!t.has(e))throw TypeError("Cannot write private member to an object whose class did not declare it");return"a"===n?o.call(e,r):o?o.value=r:t.set(e,r),r}function R(e,t){if(null===t||"object"!=typeof t&&"function"!=typeof t)throw TypeError("Cannot use 'in' operator on non-object");return"function"==typeof e?t===e:e.has(t)}function W(e,t,r){if(null!=t){var n,o;if("object"!=typeof t&&"function"!=typeof t)throw TypeError("Object expected.");if(r){if(!Symbol.asyncDispose)throw TypeError("Symbol.asyncDispose is not defined.");n=t[Symbol.asyncDispose]}if(void 0===n){if(!Symbol.dispose)throw TypeError("Symbol.dispose is not defined.");n=t[Symbol.dispose],r&&(o=n)}if("function"!=typeof n)throw TypeError("Object not disposable.");o&&(n=function(){try{o.call(this)}catch(e){return Promise.reject(e)}}),e.stack.push({value:t,dispose:n,async:r})}else r&&e.stack.push({async:!0});return t}var N="function"==typeof SuppressedError?SuppressedError:function(e,t,r){var n=Error(r);return n.name="SuppressedError",n.error=e,n.suppressed=t,n};function q(e){function t(t){e.error=e.hasError?new N(t,e.error,"An error was suppressed during disposal."):t,e.hasError=!0}return function r(){for(;e.stack.length;){var n=e.stack.pop();try{var o=n.dispose&&n.dispose.call(n.value);if(n.async)return Promise.resolve(o).then(r,function(e){return t(e),r()})}catch(e){t(e)}}if(e.hasError)throw e.error}()}r.default={__extends:a,__assign:u,__rest:c,__decorate:s,__param:f,__metadata:_,__awaiter:h,__generator:v,__createBinding:m,__exportStar:b,__values:g,__read:w,__spread:x,__spreadArrays:j,__spreadArray:O,__await:P,__asyncGenerator:S,__asyncDelegator:E,__asyncValues:T,__makeTemplateObject:D,__importStar:F,__importDefault:k,__classPrivateFieldGet:A,__classPrivateFieldSet:M,__classPrivateFieldIn:R,__addDisposableResource:W,__disposeResources:q}},{"@swc/helpers/_/_type_of":"felZi","@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}],felZi:[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");function o(e){return e&&"undefined"!=typeof Symbol&&e.constructor===Symbol?"symbol":typeof e}n.defineInteropFlag(r),n.export(r,"_",function(){return o})},{"@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}],iUpz3:[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(r),n.export(r,"default",function(){return u});var o=e("@swc/helpers/_/_async_to_generator"),i=e("@swc/helpers/_/_ts_generator");function a(e){var t,r,n,o=e.split("."),i=o[0].split(":")||[],a=Number((t=o[1]||"0",r=3,n="0",t.length>r?String(t):((r-=t.length)>n.length&&(n+=n.repeat(r/n.length)),String(t)+n.slice(0,r))))/1e3;return 3600*Number(i[i.length-3]||0)+60*Number(i[i.length-2]||0)+Number(i[i.length-1]||0)+a}function u(){return c.apply(this,arguments)}function c(){return(c=(0,o._)(function(){var e,t,r,n,o,u,c,s,f,l,p,d,y,_,h,v,m,b,g=arguments;return(0,i._)(this,function(i){switch(i.label){case 0:return[4,fetch(e=g.length>0&&void 0!==g[0]?g[0]:"")];case 1:return[4,i.sent().text()];case 2:for(n=1,t=i.sent().split(/[\n\r]/gm).filter(function(e){return e.trim()}),r=[];n?)((?:[0-9]{2}:)?(?:[0-9]{2}:)?[0-9]{2}(?:.[0-9]{3})?)/,s=o.match(c),f=/(.*)#(\w{4})=(.*)/i,l=u.match(f),p=Math.floor(a(s[1])),d=Math.floor(a(s[2])),y=l[1],/^\/|((https?|ftp|file):\/\/)/i.test(y)||((_=e.split("/")).pop(),_.push(y),y=_.join("/")),h={start:p,end:d,url:y},v=l[2].split(""),m=l[3].split(","),b=0;bdocument.createElement("video")}r.defineInteropFlag(t),r.export(t,"default",()=>o),"undefined"!=typeof window&&(window.artplayerProxyLibmedia=o)},{"@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"9pCYc":[function(e,n,t){t.interopDefault=function(e){return e&&e.__esModule?e:{default:e}},t.defineInteropFlag=function(e){Object.defineProperty(e,"__esModule",{value:!0})},t.exportAll=function(e,n){return Object.keys(e).forEach(function(t){"default"===t||"__esModule"===t||Object.prototype.hasOwnProperty.call(n,t)||Object.defineProperty(n,t,{enumerable:!0,get:function(){return e[t]}})}),n},t.export=function(e,n,t){Object.defineProperty(e,n,{enumerable:!0,get:t})}},{}]},["jLNZq"],"jLNZq","parcelRequire4dc0"); \ No newline at end of file diff --git a/compiled/artplayer-proxy-libmedia.legacy.js b/compiled/artplayer-proxy-libmedia.legacy.js new file mode 100644 index 000000000..a759af6ce --- /dev/null +++ b/compiled/artplayer-proxy-libmedia.legacy.js @@ -0,0 +1,8 @@ + +/*! + * artplayer-proxy-libmedia.js v1.0.0 + * Github: https://github.com/zhw2590582/ArtPlayer + * (c) 2017-2024 Harvey Zack + * Released under the MIT License. + */ +!function(e,n,r,t,o){var u="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},i="function"==typeof u[t]&&u[t],f=i.cache||{},d="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function l(n,r){if(!f[n]){if(!e[n]){var o="function"==typeof u[t]&&u[t];if(!r&&o)return o(n,!0);if(i)return i(n,!0);if(d&&"string"==typeof n)return d(n);var c=Error("Cannot find module '"+n+"'");throw c.code="MODULE_NOT_FOUND",c}p.resolve=function(r){var t=e[n][1][r];return null!=t?t:r},p.cache={};var a=f[n]=new l.Module(n);e[n][0].call(a.exports,p,a,a.exports,this)}return f[n].exports;function p(e){var n=p.resolve(e);return!1===n?{}:l(n)}}l.isParcelRequire=!0,l.Module=function(e){this.id=e,this.bundle=l,this.exports={}},l.modules=e,l.cache=f,l.parent=i,l.register=function(n,r){e[n]=[function(e,n){n.exports=r},{}]},Object.defineProperty(l,"root",{get:function(){return u[t]}}),u[t]=l;for(var c=0;ca);var n=t("@webav/av-cliper");function a(){return t=>{let e,r;let{option:s,constructor:a}=t,{createElement:o,def:h}=a.utils,l=o("canvas"),u=l.getContext("2d"),d=null,f=null,p=null,c=null,m=0,g={playing:!1,duration:0,videoWidth:0,videoHeight:0,currentTime:0,playbackRate:1,paused:!0,ended:!1,readyState:0,buffered:0,muted:s.muted,volume:s.volume,autoplay:s.autoplay};function y(){p&&(clearInterval(p),p=null),f&&(f.stop(),f=null)}function _(){if(r){let t=g.muted?0:g.volume;r.gain.setValueAtTime(t,e.currentTime)}}async function b(){e||(r=(e=new AudioContext).createGain()).connect(e.destination);let s=1e6*g.currentTime,n=0,a=!0,o=performance.now();async function h(){if(!g.playing)return;let h=performance.now(),l=h-o;o=h,null!==c?(s=1e6*c,c=null,a=!0):s+=1e3*l*g.playbackRate,g.currentTime=s/1e6;let{state:p,video:m,audio:_}=await d.tick(Math.round(s));if(t.emit("video:timeupdate",{type:"timeupdate"}),"done"===p){y(),g.ended=!0,g.playing=!1,g.paused=!0,t.emit("video:ended",{type:"ended"});return}if(m&&"success"===p&&(u.clearRect(0,0,g.videoWidth,g.videoHeight),u.drawImage(m,0,0,g.videoWidth,g.videoHeight),m.close()),a)a=!1;else if(_?.[0]?.length){let t=e.createBuffer(2,_[0].length,48e3);t.copyToChannel(_[0],0),t.copyToChannel(_[1],1),(f=e.createBufferSource()).buffer=t,f.connect(r),f.playbackRate.setValueAtTime(g.playbackRate,e.currentTime),n=Math.max(e.currentTime,n),f.start(n),n+=t.duration/g.playbackRate}}y(),_(),g.playing=!0,g.paused=!1,p=setInterval(h,1e3/60)}async function w(t){let{video:e}=await d.tick(1e6*t);e&&(u.clearRect(0,0,l.width,l.height),u.drawImage(e,0,0,l.width,l.height),e.close())}function v(){let e=t.template?.$player;if(!e||s.autoSize)return;let r=l.videoWidth/l.videoHeight,n=e.clientWidth,a=e.clientHeight,o=0,h=0;n/a>r?o=(n-a*r)/2:h=(a-n/r)/2,Object.assign(l.style,{padding:`${h}px ${o}px`})}async function S(){y(),Object.assign(g,{playing:!1,duration:0,videoWidth:0,videoHeight:0,currentTime:0,playbackRate:1,paused:!0,ended:!1,readyState:0,buffered:0,muted:s.muted,volume:s.volume,autoplay:s.autoplay}),d&&(d.destroy(),t.emit("video:abort",{type:"abort"}),t.emit("video:emptied",{type:"emptied"}));try{await Promise.resolve(),t.emit("video:loadstart",{type:"loadstart"});let e=await fetch(s.url);if(!e.body)throw Error("No response body");d=new n.MP4Clip(e.body)}catch(e){throw t.emit("video:error",e),e}let e=await d.ready;Object.assign(g,{readyState:4,duration:Math.round(e.duration/1e6),videoWidth:e.width,videoHeight:e.height}),l.width=g.videoWidth,l.height=g.videoHeight,await w(.1),v(),t.emit("video:loadedmetadata",{type:"loadedmetadata"}),t.emit("video:durationchange",{type:"durationchange"}),t.emit("video:loadeddata",{type:"loadeddata"}),t.emit("video:canplay",{type:"canplay"}),t.emit("video:canplaythrough",{type:"canplaythrough"})}return h(l,"textTracks",{get:()=>[]}),h(l,"duration",{get:()=>g.duration}),h(l,"videoWidth",{get:()=>g.videoWidth}),h(l,"videoHeight",{get:()=>g.videoHeight}),h(l,"volume",{get:()=>g.volume,set:e=>{g.volume=Math.max(0,Math.min(1,e)),_(),t.emit("video:volumechange",{type:"volumechange"})}}),h(l,"currentTime",{get:()=>g.currentTime,set:e=>{let r=Math.max(0,Math.min(e,g.duration)),s=performance.now();s-m>16&&(m=s,c=r,g.currentTime=r,g.playing||w(r),t.emit("video:timeupdate",{type:"timeupdate"}))}}),h(l,"autoplay",{get:()=>g.autoplay,set:t=>{g.autoplay=t,t&&g.readyState>=4&&l.play()}}),h(l,"src",{get:()=>s.url,set:t=>{s.url=t,S().then(()=>{s.autoplay&&l.play()})}}),h(l,"playbackRate",{get:()=>g.playbackRate,set:r=>{g.playbackRate=Math.max(.25,Math.min(2,r)),f&&f.playbackRate.setValueAtTime(g.playbackRate,e.currentTime),t.emit("video:ratechange",{type:"ratechange"})}}),h(l,"playing",{get:()=>g.playing}),h(l,"paused",{get:()=>g.paused}),h(l,"ended",{get:()=>g.ended}),h(l,"readyState",{get:()=>g.readyState}),h(l,"muted",{get:()=>g.muted,set:e=>{g.muted=e,_(),t.emit("video:volumechange",{type:"volumechange"})}}),h(l,"buffered",{get:()=>({start:()=>0,end:()=>g.buffered,length:1})}),h(l,"play",{value:async()=>{await b(),t.emit("video:play",{type:"play"}),t.emit("video:playing",{type:"playing"})}}),h(l,"pause",{value:()=>{y(),g.playing=!1,g.paused=!0,t.emit("video:pause",{type:"pause"})}}),t.on("destroy",()=>{y(),d&&d.destroy()}),t.on("resize",v),l}}"undefined"!=typeof window&&(window.artplayerProxyWebAV=a)},{"@webav/av-cliper":"4w9ns","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"4w9ns":[function(t,e,r){var s,n,a,o,h,l,u,d,f,p,c,m,g,y,_,b,w,v,S,E,U,x,T,A,C,I,B,k,F,R,P,z,L,D,M,O,N,G,Y,W,H,V,X,j,Z,$,K,q,Q,J,tt,te,ti,tr,ts,tn,ta,to,th,tl,tu,td,tf,tp,tc,tm,tg,ty,t_,tb,tw,tv,tS,tE,tU,tx,tT,tA,tC,tI,tB,tk,tF,tR,tP,tz,tL,tD,tM,tO,tN,tG,tY,tW,tH,tV,tX,tj,tZ,t$,tK,tq,tQ,tJ,t0,t1,t2,t3,t6,t8,t4,t5,t7,t9,et,ee,ei,er,es,en,ea,eo,eh,el,eu,ed=t("@parcel/transformer-js/src/esmodule-helpers.js");ed.defineInteropFlag(r),ed.export(r,"AudioClip",()=>iX),ed.export(r,"Combinator",()=>rB),ed.export(r,"DEFAULT_AUDIO_CONF",()=>iC),ed.export(r,"EmbedSubtitlesClip",()=>iQ),ed.export(r,"EventTool",()=>i0),ed.export(r,"ImgClip",()=>iH),ed.export(r,"Log",()=>e5),ed.export(r,"MP4Clip",()=>iz),ed.export(r,"MediaStreamClip",()=>iK),ed.export(r,"OffscreenSprite",()=>rT),ed.export(r,"Rect",()=>rE),ed.export(r,"VisibleSprite",()=>rA),ed.export(r,"adjustAudioDataVolume",()=>iy),ed.export(r,"audioResample",()=>iw),ed.export(r,"autoReadStream",()=>iE),ed.export(r,"concatAudioClip",()=>ij),ed.export(r,"concatFloat32Array",()=>ip),ed.export(r,"concatPCMFragments",()=>ic),ed.export(r,"createChromakey",()=>rv),ed.export(r,"createEl",()=>eE),ed.export(r,"createHLSLoader",()=>rm),ed.export(r,"decodeImg",()=>i_),ed.export(r,"extractPCM4AudioBuffer",()=>ig),ed.export(r,"extractPCM4AudioData",()=>im),ed.export(r,"fastConcatMP4",()=>rt),ed.export(r,"file2stream",()=>i7),ed.export(r,"fixFMP4Duration",()=>ri),ed.export(r,"mixinMP4AndAudio",()=>rr),ed.export(r,"mixinPCM",()=>ib),ed.export(r,"recodemux",()=>i4),ed.export(r,"renderTxt2Img",()=>eU),ed.export(r,"renderTxt2ImgBitmap",()=>ex),ed.export(r,"ringSliceFloat32Array",()=>iS),ed.export(r,"workerTimer",()=>is);var ef=arguments[3],ep=t("381e774176803655").Buffer,ec=Object.defineProperty,em=t=>{throw TypeError(t)},eg=(t,e,r)=>e in t?ec(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,ey=(t,e,r)=>eg(t,"symbol"!=typeof e?e+"":e,r),e_=(t,e,r)=>e.has(t)||em("Cannot "+r),eb=(t,e,r)=>(e_(t,e,"read from private field"),r?r.call(t):e.get(t)),ew=(t,e,r)=>e.has(t)?em("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,r),ev=(t,e,r,s)=>(e_(t,e,"write to private field"),s?s.call(t,r):e.set(t,r),r),eS=(t,e,r)=>(e_(t,e,"access private method"),r);function eE(t){return document.createElement(t)}function eU(t,e){let r=eE("pre");r.style.cssText=`margin: 0; ${e}; visibility: hidden; position: fixed;`,r.textContent=t,document.body.appendChild(r);let{width:s,height:n}=r.getBoundingClientRect();r.remove(),r.style.visibility="visible";let a=new Image;a.width=s,a.height=n;let o=`
${r.outerHTML}
`.replace(/\t/g,"").replace(/#/g,"%23");return a.src=`data:image/svg+xml;charset=utf-8,${o}`,a}async function ex(t,e){let r=eU(t,e);await new Promise(t=>{r.onload=t});let s=new OffscreenCanvas(r.width,r.height),n=s.getContext("2d");return null==n||n.drawImage(r,0,0,r.width,r.height),await createImageBitmap(s)}var eT=t=>{throw TypeError(t)},eA=(t,e,r)=>e.has(t)||eT("Cannot "+r),eC=(t,e,r)=>(eA(t,e,"read from private field"),r?r.call(t):e.get(t)),eI=(t,e,r)=>e.has(t)?eT("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,r),eB=(t,e,r,s)=>(eA(t,e,"write to private field"),e.set(t,r),r);let ek="KGZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHUobil7aWYobj09PSIvIilyZXR1cm57cGFyZW50Om51bGwsbmFtZToiIn07Y29uc3QgZT1uLnNwbGl0KCIvIikuZmlsdGVyKGk9PmkubGVuZ3RoPjApO2lmKGUubGVuZ3RoPT09MCl0aHJvdyBFcnJvcigiSW52YWxpZCBwYXRoIik7Y29uc3QgYT1lW2UubGVuZ3RoLTFdLHI9Ii8iK2Uuc2xpY2UoMCwtMSkuam9pbigiLyIpO3JldHVybntuYW1lOmEscGFyZW50OnJ9fWFzeW5jIGZ1bmN0aW9uIHcobixlKXtjb25zdHtwYXJlbnQ6YSxuYW1lOnJ9PXUobik7aWYoYT09bnVsbClyZXR1cm4gYXdhaXQgbmF2aWdhdG9yLnN0b3JhZ2UuZ2V0RGlyZWN0b3J5KCk7Y29uc3QgaT1hLnNwbGl0KCIvIikuZmlsdGVyKHQ9PnQubGVuZ3RoPjApO3RyeXtsZXQgdD1hd2FpdCBuYXZpZ2F0b3Iuc3RvcmFnZS5nZXREaXJlY3RvcnkoKTtmb3IoY29uc3QgcyBvZiBpKXQ9YXdhaXQgdC5nZXREaXJlY3RvcnlIYW5kbGUocyx7Y3JlYXRlOmUuY3JlYXRlfSk7aWYoZS5pc0ZpbGUpcmV0dXJuIGF3YWl0IHQuZ2V0RmlsZUhhbmRsZShyLHtjcmVhdGU6ZS5jcmVhdGV9KX1jYXRjaCh0KXtpZih0Lm5hbWU9PT0iTm90Rm91bmRFcnJvciIpcmV0dXJuIG51bGw7dGhyb3cgdH19Y29uc3QgZj17fTtzZWxmLm9ubWVzc2FnZT1hc3luYyBuPT57dmFyIGk7Y29uc3R7ZXZ0VHlwZTplLGFyZ3M6YX09bi5kYXRhO2xldCByPWZbYS5maWxlSWRdO3RyeXtsZXQgdDtjb25zdCBzPVtdO2lmKGU9PT0icmVnaXN0ZXIiKXtjb25zdCBsPWF3YWl0IHcoYS5maWxlUGF0aCx7Y3JlYXRlOiEwLGlzRmlsZTohMH0pO2lmKGw9PW51bGwpdGhyb3cgRXJyb3IoYG5vdCBmb3VuZCBmaWxlOiAke2EuZmlsZUlkfWApO3I9YXdhaXQgbC5jcmVhdGVTeW5jQWNjZXNzSGFuZGxlKHttb2RlOmEubW9kZX0pLGZbYS5maWxlSWRdPXJ9ZWxzZSBpZihlPT09ImNsb3NlIilhd2FpdCByLmNsb3NlKCksZGVsZXRlIGZbYS5maWxlSWRdO2Vsc2UgaWYoZT09PSJ0cnVuY2F0ZSIpYXdhaXQgci50cnVuY2F0ZShhLm5ld1NpemUpO2Vsc2UgaWYoZT09PSJ3cml0ZSIpe2NvbnN0e2RhdGE6bCxvcHRzOm99PW4uZGF0YS5hcmdzO3Q9YXdhaXQgci53cml0ZShsLG8pfWVsc2UgaWYoZT09PSJyZWFkIil7Y29uc3R7b2Zmc2V0Omwsc2l6ZTpvfT1uLmRhdGEuYXJncyxnPW5ldyBVaW50OEFycmF5KG8pLGQ9YXdhaXQgci5yZWFkKGcse2F0Omx9KSxjPWcuYnVmZmVyO3Q9ZD09PW8/YzooKGk9Yy50cmFuc2Zlcik9PW51bGw/dm9pZCAwOmkuY2FsbChjLGQpKT8/Yy5zbGljZSgwLGQpLHMucHVzaCh0KX1lbHNlIGU9PT0iZ2V0U2l6ZSI/dD1hd2FpdCByLmdldFNpemUoKTplPT09ImZsdXNoIiYmYXdhaXQgci5mbHVzaCgpO3NlbGYucG9zdE1lc3NhZ2Uoe2V2dFR5cGU6ImNhbGxiYWNrIixjYklkOm4uZGF0YS5jYklkLHJldHVyblZhbDp0fSxzKX1jYXRjaCh0KXtjb25zdCBzPXQ7c2VsZi5wb3N0TWVzc2FnZSh7ZXZ0VHlwZToidGhyb3dFcnJvciIsY2JJZDpuLmRhdGEuY2JJZCxlcnJNc2c6cy5uYW1lKyI6ICIrcy5tZXNzYWdlK2AKYCtKU09OLnN0cmluZ2lmeShuLmRhdGEpfSl9fX0pKCk7Ci8vIyBzb3VyY2VNYXBwaW5nVVJMPW9wZnMtd29ya2VyLUY0UldscWNfLmpzLm1hcAo=",eF="u">typeof self&&self.Blob&&new Blob([Uint8Array.from(atob(ek),t=>t.charCodeAt(0))],{type:"text/javascript;charset=utf-8"});function eR(t){let e;try{if(!(e=eF&&(self.URL||self.webkitURL).createObjectURL(eF)))throw"";let r=new Worker(e,{name:null==t?void 0:t.name});return r.addEventListener("error",()=>{(self.URL||self.webkitURL).revokeObjectURL(e)}),r}catch{return new Worker("data:text/javascript;base64,"+ek,{name:null==t?void 0:t.name})}finally{e&&(self.URL||self.webkitURL).revokeObjectURL(e)}}async function eP(t,e,r){let s=function(){if(ez.length<3){let t=function(){let t=new eR,e=0,r={};return t.onmessage=({data:t})=>{var e,s;"callback"===t.evtType?null==(e=r[t.cbId])||e.resolve(t.returnVal):"throwError"===t.evtType&&(null==(s=r[t.cbId])||s.reject(Error(t.errMsg))),delete r[t.cbId]},async function(s,n,a=[]){e+=1;let o=new Promise((t,s)=>{r[e]={resolve:t,reject:s}});return t.postMessage({cbId:e,evtType:s,args:n},a),o}}();return ez.push(t),t}{let t=ez[eL];return eL=(eL+1)%ez.length,t}}();return await s("register",{fileId:t,filePath:e,mode:r}),{read:async(e,r)=>await s("read",{fileId:t,offset:e,size:r}),write:async(e,r)=>await s("write",{fileId:t,data:e,opts:r},[ArrayBuffer.isView(e)?e.buffer:e]),close:async()=>await s("close",{fileId:t}),truncate:async e=>await s("truncate",{fileId:t,newSize:e}),getSize:async()=>await s("getSize",{fileId:t}),flush:async()=>await s("flush",{fileId:t})}}let ez=[],eL=0;function eD(t){if("/"===t)return{parent:null,name:""};let e=t.split("/").filter(t=>t.length>0);if(0===e.length)throw Error("Invalid path");return{name:e[e.length-1],parent:"/"+e.slice(0,-1).join("/")}}async function eM(t,e){let{parent:r,name:s}=eD(t);if(null==r)return await navigator.storage.getDirectory();let n=r.split("/").filter(t=>t.length>0);try{let t=await navigator.storage.getDirectory();for(let r of n)t=await t.getDirectoryHandle(r,{create:e.create});return e.isFile?await t.getFileHandle(s,{create:e.create}):await t.getDirectoryHandle(s,{create:e.create})}catch(t){if("NotFoundError"===t.name)return null;throw t}}async function eO(t){let{parent:e,name:r}=eD(t);if(null==e){let t=await navigator.storage.getDirectory();for await(let e of t.keys())await t.removeEntry(e,{recursive:!0});return}let s=await eM(e,{create:!1,isFile:!1});null!=s&&await s.removeEntry(r,{recursive:!0})}function eN(t,e){return`${t}/${e}`.replace("//","/")}function eG(t){return new eY(t)}class eY{constructor(t){eI(this,g),eI(this,y),eI(this,_),eB(this,g,t);let{parent:e,name:r}=eD(t);eB(this,y,r),eB(this,_,e)}get kind(){return"dir"}get name(){return eC(this,y)}get path(){return eC(this,g)}get parent(){return null==eC(this,_)?null:eG(eC(this,_))}async create(){return await eM(eC(this,g),{create:!0,isFile:!1}),eG(eC(this,g))}async exists(){return await eM(eC(this,g),{create:!1,isFile:!1}) instanceof FileSystemDirectoryHandle}async remove(){for(let t of(await this.children()))try{await t.remove()}catch(t){console.warn(t)}try{await eO(eC(this,g))}catch(t){console.warn(t)}}async children(){let t=await eM(eC(this,g),{create:!1,isFile:!1});if(null==t)return[];let e=[];for await(let r of t.values())e.push(("file"===r.kind?eH:eG)(eN(eC(this,g),r.name)));return e}async copyTo(t){if(!await this.exists())throw Error(`dir ${this.path} not exists`);let e=await t.exists()?eG(eN(t.path,this.name)):t;return await e.create(),await Promise.all((await this.children()).map(t=>t.copyTo(e))),e}async moveTo(t){let e=await this.copyTo(t);return await this.remove(),e}}g=/* @__PURE__ */new WeakMap,y=/* @__PURE__ */new WeakMap,_=/* @__PURE__ */new WeakMap;let eW=/* @__PURE__ */new Map;function eH(t,e="rw"){if("rw"===e){let r=eW.get(t)??new e$(t,e);return eW.set(t,r),r}return new e$(t,e)}async function eV(t,e,r={overwrite:!0}){if(e instanceof e$){await eV(t,await e.stream(),r);return}let s=await (t instanceof e$?t:eH(t,"rw")).createWriter();try{if(r.overwrite&&await s.truncate(0),e instanceof ReadableStream){let t=e.getReader();for(;;){let{done:e,value:r}=await t.read();if(e)break;await s.write(r)}}else await s.write(e)}catch(t){throw t}finally{await s.close()}}let eX=0,ej=()=>++eX,eZ=class t{constructor(t,e){eI(this,b),eI(this,w),eI(this,v),eI(this,S),eI(this,E),eI(this,U,0),eI(this,x,/* @__PURE__ */(()=>{let t=null;return()=>(eB(this,U,eC(this,U)+1),t??(t=new Promise(async(e,r)=>{try{let r=await eP(eC(this,E),eC(this,b),eC(this,S));e([r,async()=>{eB(this,U,eC(this,U)-1),eC(this,U)>0||(t=null,await r.close())}])}catch(t){r(t)}})))})()),eI(this,T,!1),eB(this,E,ej()),eB(this,b,t),eB(this,S,{r:"read-only",rw:"readwrite","rw-unsafe":"readwrite-unsafe"}[e]);let{parent:r,name:s}=eD(t);eB(this,v,s),eB(this,w,r)}get kind(){return"file"}get path(){return eC(this,b)}get name(){return eC(this,v)}get parent(){return null==eC(this,w)?null:eG(eC(this,w))}async createWriter(){if("read-only"===eC(this,S))throw Error("file is read-only");if(eC(this,T))throw Error("Other writer have not been closed");eB(this,T,!0);let t=new TextEncoder,[e,r]=await eC(this,x).call(this),s=await e.getSize(),n=!1;return{write:async(r,a={})=>{if(n)throw Error("Writer is closed");let o="string"==typeof r?t.encode(r):r,h=a.at??s;return s=h+o.byteLength,await e.write(o,{at:h})},truncate:async t=>{if(n)throw Error("Writer is closed");await e.truncate(t),s>t&&(s=t)},flush:async()=>{if(n)throw Error("Writer is closed");await e.flush()},close:async()=>{if(n)throw Error("Writer is closed");n=!0,eB(this,T,!1),await r()}}}async createReader(){let[t,e]=await eC(this,x).call(this),r=!1,s=0;return{read:async(e,n={})=>{if(r)throw Error("Reader is closed");let a=n.at??s,o=await t.read(a,e);return s=a+o.byteLength,o},getSize:async()=>{if(r)throw Error("Reader is closed");return await t.getSize()},close:async()=>{r||(r=!0,await e())}}}async text(){return new TextDecoder().decode(await this.arrayBuffer())}async arrayBuffer(){let t=await eM(eC(this,b),{create:!1,isFile:!0});return null==t?new ArrayBuffer(0):(await t.getFile()).arrayBuffer()}async stream(){let t=await this.getOriginFile();return null==t?new ReadableStream({pull:t=>{t.close()}}):t.stream()}async getOriginFile(){var t;return null==(t=await eM(eC(this,b),{create:!1,isFile:!0}))?void 0:t.getFile()}async getSize(){let t=await eM(eC(this,b),{create:!1,isFile:!0});return null==t?0:(await t.getFile()).size}async exists(){return await eM(eC(this,b),{create:!1,isFile:!0}) instanceof FileSystemFileHandle}async remove(){if(eC(this,U))throw Error("exists unclosed reader/writer");await eO(eC(this,b))}async copyTo(e){if(!await this.exists())throw Error(`file ${this.path} not exists`);if(e instanceof t)return eH(e.path)===this?this:(await eV(e.path,this),eH(e.path));if(e instanceof eY)return await this.copyTo(eH(eN(e.path,this.name)));throw Error("Illegal target type")}async moveTo(t){let e=await this.copyTo(t);return await this.remove(),e}};b=/* @__PURE__ */new WeakMap,w=/* @__PURE__ */new WeakMap,v=/* @__PURE__ */new WeakMap,S=/* @__PURE__ */new WeakMap,E=/* @__PURE__ */new WeakMap,U=/* @__PURE__ */new WeakMap,x=/* @__PURE__ */new WeakMap,T=/* @__PURE__ */new WeakMap;let e$=eZ,eK="/.opfs-tools-temp-dir";async function eq(t){try{if("file"===t.kind){if(!await t.exists())return!0;let e=await t.createWriter();await e.truncate(0),await e.close(),await t.remove()}else await t.remove();return!0}catch(t){return console.warn(t),!1}}let eQ=[],eJ=!1;async function e0(){if(null==globalThis.localStorage)return;let t="OPFS_TOOLS_EXPIRES_TMP_FILES";eJ||(eJ=!0,globalThis.addEventListener("unload",()=>{0!==eQ.length&&localStorage.setItem(t,`${localStorage.getItem(t)??""},${eQ.join(",")}`)}));let e=localStorage.getItem(t)??"";for(let t of e.split(","))0!==t.length&&await eq(eH(`${eK}/${t}`))&&(e=e.replace(t,""));localStorage.setItem(t,e.replace(/,{2,}/g,","))}function e1(){let t=`${Math.random().toString().slice(2)}-${Date.now()}`;return eQ.push(t),eH(`${eK}/${t}`)}!async function(){var t;!0===globalThis.__opfs_tools_tmpfile_init__||(globalThis.__opfs_tools_tmpfile_init__=!0,null==globalThis.FileSystemDirectoryHandle||null==globalThis.FileSystemFileHandle||(null==(t=globalThis.navigator)?void 0:t.storage.getDirectory)==null||(setInterval(async()=>{for(let t of(await eG(eK).children())){let e=/^\d+-(\d+)$/.exec(t.name);(null==e||Date.now()-Number(e[1])>2592e5)&&await eq(t)}},6e4),await e0()))}();let e2=1,e3=e1(),e6=null,e8=["debug","info","warn","error"].reduce((t,e,r)=>Object.assign(t,{[e]:(...t)=>{e2<=r&&(console[e](...t),null==e6||e6.write(`[${e}][${function(){let t=/* @__PURE__ */new Date;return`${t.getHours()}:${t.getMinutes()}:${t.getSeconds()}.${t.getMilliseconds()}`}()}] ${t.map(t=>t instanceof Error?String(t):"object"==typeof t?JSON.stringify(t,(t,e)=>e instanceof Error?String(e):e):String(t)).join(" ")} `))}}),{}),e4=/* @__PURE__ */new Map,e5={setLogLevel:t=>{e2=e4.get(t)??1},...e8,create:t=>Object.fromEntries(Object.entries(e8).map(([e,r])=>[e,(...e)=>r(t,...e)])),dump:async()=>(await e9,await (null==e6?void 0:e6.flush()),await e3.text())};async function e7(){try{e6=await e3.createWriter(),e5.info(navigator.userAgent),e5.info("date: "+/* @__PURE__ */new Date().toLocaleDateString())}catch(t){if(!(t instanceof Error))throw t;if(t.message.includes("createSyncAccessHandle is not a function"))console.warn(t);else throw t}}e4.set(e5.debug,0),e4.set(e5.info,1),e4.set(e5.warn,2),e4.set(e5.error,3);let e9=null==globalThis.navigator?null:e7(),it=()=>{let t;self.onmessage=e=>{"start"===e.data.event&&(self.clearInterval(t),t=self.setInterval(()=>{self.postMessage({})},16.6)),"stop"===e.data.event&&self.clearInterval(t)}},ie=/* @__PURE__ */new Map,ii=1,ir=null;null!=globalThis.Worker&&((ir=(()=>{let t=new Blob([`(${it.toString()})()`]);return new Worker(URL.createObjectURL(t))})()).onmessage=()=>{for(let[t,e]of(ii+=1,ie))if(ii%t==0)for(let t of e)t()});let is=(t,e)=>{let r=Math.round(e/16.6),s=ie.get(r)??/* @__PURE__ */new Set;return s.add(t),ie.set(r,s),1===ie.size&&1===s.size&&(null==ir||ir.postMessage({event:"start"})),()=>{s.delete(t),0===s.size&&ie.delete(r),0===ie.size&&(ii=0,null==ir||ir.postMessage({event:"stop"}))}};class ia{constructor(t,e,r){var s;this.length_=t,this.scaleFactor_=(t-1)/e,this.interpolate=this.cubic,"point"===r.method?this.interpolate=this.point:"linear"===r.method?this.interpolate=this.linear:"sinc"===r.method&&(this.interpolate=this.sinc),this.tangentFactor_=1-Math.max(0,Math.min(1,r.tension||0)),this.sincFilterSize_=r.sincFilterSize||1,this.kernel_=(s=r.sincWindow||io,function(t){return(0===t?1:Math.sin(Math.PI*t)/(Math.PI*t))*s(t)})}point(t,e){return this.getClippedInput_(Math.round(this.scaleFactor_*t),e)}linear(t,e){let r=Math.floor(t=this.scaleFactor_*t);return(1-(t-=r))*this.getClippedInput_(r,e)+t*this.getClippedInput_(r+1,e)}cubic(t,e){let r=Math.floor(t=this.scaleFactor_*t),s=[this.getTangent_(r,e),this.getTangent_(r+1,e)],n=[this.getClippedInput_(r,e),this.getClippedInput_(r+1,e)],a=(t-=r)*t,o=t*a;return(2*o-3*a+1)*n[0]+(o-2*a+t)*s[0]+(-2*o+3*a)*n[1]+(o-a)*s[1]}sinc(t,e){let r=Math.floor(t=this.scaleFactor_*t),s=r-this.sincFilterSize_+1,n=r+this.sincFilterSize_,a=0;for(let r=s;r<=n;r++)a+=this.kernel_(t-r)*this.getClippedInput_(r,e);return a}getTangent_(t,e){return this.tangentFactor_*(this.getClippedInput_(t+1,e)-this.getClippedInput_(t-1,e))/2}getClippedInput_(t,e){return 0<=t&&tt.length).reduce((t,e)=>t+e)),r=0;for(let s of t)e.set(s,r),r+=s.length;return e}function ic(t){let e=[];for(let r=0;rnew Float32Array(r));for(let n=0;nt.getChannelData(r))}function iy(t,e){let r=new Float32Array(ip(im(t))).map(t=>t*e),s=new AudioData({sampleRate:t.sampleRate,numberOfChannels:t.numberOfChannels,timestamp:t.timestamp,format:t.format,numberOfFrames:t.numberOfFrames,data:r});return t.close(),s}async function i_(t,e){var r;let s=new ImageDecoder({type:e,data:t});await Promise.all([s.completed,s.tracks.ready]);let n=(null==(r=s.tracks.selectedTrack)?void 0:r.frameCount)??1,a=[];for(let t=0;t{var e;return(null==(e=t[0])?void 0:e.length)??0})),n=new Float32Array(2*s);for(let a=0;anew Float32Array(0));if(0===s)return n;let a=Math.max(...t.map(t=>t.length));if(0===a)return n;if(null==globalThis.OfflineAudioContext)return t.map(t=>new Float32Array(function(t,e,r,s={}){let n=(r-e)/e+1,a=new Float64Array(t.length*n);s.method=s.method||"cubic";let o=new ia(t.length,a.length,{method:s.method,tension:s.tension||0,sincFilterSize:s.sincFilterSize||6,sincWindow:s.sincWindow||void 0});if(void 0===s.LPF&&(s.LPF=ih[s.method]),s.LPF){s.LPFType=s.LPFType||"IIR";let n=iu[s.LPFType];r>e?function(t,e,r,s){for(let n=0,a=e.length;n=0;t--)e[t]=s.filter(e[t])}(t,a,o,new n(s.LPFOrder||il[s.LPFType],r,e/2)):function(t,e,r,s){for(let e=0,r=t.length;e=0;e--)t[e]=s.filter(t[e]);id(t,e,r)}(t,a,o,new n(s.LPFOrder||il[s.LPFType],e,r/2))}else id(t,a,o);return a}(t,e,r.rate,{method:"sinc",LPF:!1})));let o=new globalThis.OfflineAudioContext(r.chanCount,a*r.rate/e,r.rate),h=o.createBufferSource(),l=o.createBuffer(s,a,e);return t.forEach((t,e)=>l.copyToChannel(t,e)),h.buffer=l,h.connect(o.destination),h.start(),ig(await o.startRendering())}function iv(t){return new Promise(e=>{let r=is(()=>{r(),e()},t)})}function iS(t,e,r){let s=r-e,n=new Float32Array(s),a=0;for(;a{r=!0}}var iU="u">typeof globalThis?globalThis:"u">typeof window?window:"u">typeof ef?ef:"u">typeof self?self:{};function ix(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var iT={};(s=/* @__PURE__ */new Date,n=4,a={setLogLevel:function(t){t==this.debug?n=1:t==this.info?n=2:t==this.warn?n=3:(this.error,n=4)},debug:function(t,e){void 0===console.debug&&(console.debug=console.log),1>=n&&console.debug("["+a.getDurationString(/* @__PURE__ */new Date-s,1e3)+"]","["+t+"]",e)},log:function(t,e){this.debug(t.msg)},info:function(t,e){2>=n&&console.info("["+a.getDurationString(/* @__PURE__ */new Date-s,1e3)+"]","["+t+"]",e)},warn:function(t,e){3>=n&&console.warn("["+a.getDurationString(/* @__PURE__ */new Date-s,1e3)+"]","["+t+"]",e)},error:function(t,e){4>=n&&console.error("["+a.getDurationString(/* @__PURE__ */new Date-s,1e3)+"]","["+t+"]",e)}}).getDurationString=function(t,e){function r(t,e){for(var r=(""+t).split(".");r[0].length0))return"(empty)";for(var r="",s=0;s0&&(r+=","),r+="["+a.getDurationString(t.start(s))+","+a.getDurationString(t.end(s))+"]";return r},iT.Log=a,(o=function(t){if(t instanceof ArrayBuffer)this.buffer=t,this.dataview=new DataView(t);else throw"Needs an array buffer";this.position=0}).prototype.getPosition=function(){return this.position},o.prototype.getEndPosition=function(){return this.buffer.byteLength},o.prototype.getLength=function(){return this.buffer.byteLength},o.prototype.seek=function(t){var e=Math.max(0,Math.min(this.buffer.byteLength,t));return this.position=isNaN(e)||!isFinite(e)?0:e,!0},o.prototype.isEos=function(){return this.getPosition()>=this.getEndPosition()},o.prototype.readAnyInt=function(t,e){var r=0;if(this.position+t<=this.buffer.byteLength){switch(t){case 1:r=e?this.dataview.getInt8(this.position):this.dataview.getUint8(this.position);break;case 2:r=e?this.dataview.getInt16(this.position):this.dataview.getUint16(this.position);break;case 3:if(e)throw"No method for reading signed 24 bits values";r=this.dataview.getUint8(this.position)<<16|this.dataview.getUint8(this.position+1)<<8|this.dataview.getUint8(this.position+2);break;case 4:r=e?this.dataview.getInt32(this.position):this.dataview.getUint32(this.position);break;case 8:if(e)throw"No method for reading signed 64 bits values";r=this.dataview.getUint32(this.position)<<32|this.dataview.getUint32(this.position+4);break;default:throw"readInt method not implemented for size: "+t}return this.position+=t,r}throw"Not enough bytes in buffer"},o.prototype.readUint8=function(){return this.readAnyInt(1,!1)},o.prototype.readUint16=function(){return this.readAnyInt(2,!1)},o.prototype.readUint24=function(){return this.readAnyInt(3,!1)},o.prototype.readUint32=function(){return this.readAnyInt(4,!1)},o.prototype.readUint64=function(){return this.readAnyInt(8,!1)},o.prototype.readString=function(t){if(this.position+t<=this.buffer.byteLength){for(var e="",r=0;rthis._byteLength&&(this._byteLength=e);return}for(r<1&&(r=1);e>r;)r*=2;var s=new ArrayBuffer(r),n=new Uint8Array(this._buffer);new Uint8Array(s,0,n.length).set(n),this.buffer=s,this._byteLength=e}},h.prototype._trimAlloc=function(){if(this._byteLength!=this._buffer.byteLength){var t=new ArrayBuffer(this._byteLength),e=new Uint8Array(t),r=new Uint8Array(this._buffer,0,e.length);e.set(r),this.buffer=t}},h.BIG_ENDIAN=!1,h.LITTLE_ENDIAN=!0,h.prototype._byteLength=0,Object.defineProperty(h.prototype,"byteLength",{get:function(){return this._byteLength-this._byteOffset}}),Object.defineProperty(h.prototype,"buffer",{get:function(){return this._trimAlloc(),this._buffer},set:function(t){this._buffer=t,this._dataView=new DataView(this._buffer,this._byteOffset),this._byteLength=this._buffer.byteLength}}),Object.defineProperty(h.prototype,"byteOffset",{get:function(){return this._byteOffset},set:function(t){this._byteOffset=t,this._dataView=new DataView(this._buffer,this._byteOffset),this._byteLength=this._buffer.byteLength}}),Object.defineProperty(h.prototype,"dataView",{get:function(){return this._dataView},set:function(t){this._byteOffset=t.byteOffset,this._buffer=t.buffer,this._dataView=new DataView(this._buffer,this._byteOffset),this._byteLength=this._byteOffset+t.byteLength}}),h.prototype.seek=function(t){var e=Math.max(0,Math.min(this.byteLength,t));this.position=isNaN(e)||!isFinite(e)?0:e},h.prototype.isEof=function(){return this.position>=this._byteLength},h.prototype.mapUint8Array=function(t){this._realloc(1*t);var e=new Uint8Array(this._buffer,this.byteOffset+this.position,t);return this.position+=1*t,e},h.prototype.readInt32Array=function(t,e){var r=new Int32Array(t=t??this.byteLength-this.position/4);return h.memcpy(r.buffer,0,this.buffer,this.byteOffset+this.position,t*r.BYTES_PER_ELEMENT),h.arrayToNative(r,e??this.endianness),this.position+=r.byteLength,r},h.prototype.readInt16Array=function(t,e){var r=new Int16Array(t=t??this.byteLength-this.position/2);return h.memcpy(r.buffer,0,this.buffer,this.byteOffset+this.position,t*r.BYTES_PER_ELEMENT),h.arrayToNative(r,e??this.endianness),this.position+=r.byteLength,r},h.prototype.readInt8Array=function(t){var e=new Int8Array(t=t??this.byteLength-this.position);return h.memcpy(e.buffer,0,this.buffer,this.byteOffset+this.position,t*e.BYTES_PER_ELEMENT),this.position+=e.byteLength,e},h.prototype.readUint32Array=function(t,e){var r=new Uint32Array(t=t??this.byteLength-this.position/4);return h.memcpy(r.buffer,0,this.buffer,this.byteOffset+this.position,t*r.BYTES_PER_ELEMENT),h.arrayToNative(r,e??this.endianness),this.position+=r.byteLength,r},h.prototype.readUint16Array=function(t,e){var r=new Uint16Array(t=t??this.byteLength-this.position/2);return h.memcpy(r.buffer,0,this.buffer,this.byteOffset+this.position,t*r.BYTES_PER_ELEMENT),h.arrayToNative(r,e??this.endianness),this.position+=r.byteLength,r},h.prototype.readUint8Array=function(t){var e=new Uint8Array(t=t??this.byteLength-this.position);return h.memcpy(e.buffer,0,this.buffer,this.byteOffset+this.position,t*e.BYTES_PER_ELEMENT),this.position+=e.byteLength,e},h.prototype.readFloat64Array=function(t,e){var r=new Float64Array(t=t??this.byteLength-this.position/8);return h.memcpy(r.buffer,0,this.buffer,this.byteOffset+this.position,t*r.BYTES_PER_ELEMENT),h.arrayToNative(r,e??this.endianness),this.position+=r.byteLength,r},h.prototype.readFloat32Array=function(t,e){var r=new Float32Array(t=t??this.byteLength-this.position/4);return h.memcpy(r.buffer,0,this.buffer,this.byteOffset+this.position,t*r.BYTES_PER_ELEMENT),h.arrayToNative(r,e??this.endianness),this.position+=r.byteLength,r},h.prototype.readInt32=function(t){var e=this._dataView.getInt32(this.position,t??this.endianness);return this.position+=4,e},h.prototype.readInt16=function(t){var e=this._dataView.getInt16(this.position,t??this.endianness);return this.position+=2,e},h.prototype.readInt8=function(){var t=this._dataView.getInt8(this.position);return this.position+=1,t},h.prototype.readUint32=function(t){var e=this._dataView.getUint32(this.position,t??this.endianness);return this.position+=4,e},h.prototype.readUint16=function(t){var e=this._dataView.getUint16(this.position,t??this.endianness);return this.position+=2,e},h.prototype.readUint8=function(){var t=this._dataView.getUint8(this.position);return this.position+=1,t},h.prototype.readFloat32=function(t){var e=this._dataView.getFloat32(this.position,t??this.endianness);return this.position+=4,e},h.prototype.readFloat64=function(t){var e=this._dataView.getFloat64(this.position,t??this.endianness);return this.position+=8,e},h.endianness=new Int8Array(new Int16Array([1]).buffer)[0]>0,h.memcpy=function(t,e,r,s,n){var a=new Uint8Array(t,e,n),o=new Uint8Array(r,s,n);a.set(o)},h.arrayToNative=function(t,e){return e==this.endianness?t:this.flipArrayEndianness(t)},h.nativeToEndian=function(t,e){return this.endianness==e?t:this.flipArrayEndianness(t)},h.flipArrayEndianness=function(t){for(var e=new Uint8Array(t.buffer,t.byteOffset,t.byteLength),r=0;rn;s--,n++){var a=e[n];e[n]=e[s],e[s]=a}return t},h.prototype.failurePosition=0,String.fromCharCodeUint8=function(t){for(var e=[],r=0;r>16),this.writeUint8((65280&t)>>8),this.writeUint8(255&t)},h.prototype.adjustUint32=function(t,e){var r=this.position;this.seek(t),this.writeUint32(e),this.seek(r)},h.prototype.mapInt32Array=function(t,e){this._realloc(4*t);var r=new Int32Array(this._buffer,this.byteOffset+this.position,t);return h.arrayToNative(r,e??this.endianness),this.position+=4*t,r},h.prototype.mapInt16Array=function(t,e){this._realloc(2*t);var r=new Int16Array(this._buffer,this.byteOffset+this.position,t);return h.arrayToNative(r,e??this.endianness),this.position+=2*t,r},h.prototype.mapInt8Array=function(t){this._realloc(1*t);var e=new Int8Array(this._buffer,this.byteOffset+this.position,t);return this.position+=1*t,e},h.prototype.mapUint32Array=function(t,e){this._realloc(4*t);var r=new Uint32Array(this._buffer,this.byteOffset+this.position,t);return h.arrayToNative(r,e??this.endianness),this.position+=4*t,r},h.prototype.mapUint16Array=function(t,e){this._realloc(2*t);var r=new Uint16Array(this._buffer,this.byteOffset+this.position,t);return h.arrayToNative(r,e??this.endianness),this.position+=2*t,r},h.prototype.mapFloat64Array=function(t,e){this._realloc(8*t);var r=new Float64Array(this._buffer,this.byteOffset+this.position,t);return h.arrayToNative(r,e??this.endianness),this.position+=8*t,r},h.prototype.mapFloat32Array=function(t,e){this._realloc(4*t);var r=new Float32Array(this._buffer,this.byteOffset+this.position,t);return h.arrayToNative(r,e??this.endianness),this.position+=4*t,r},(l=function(t){this.buffers=[],this.bufferIndex=-1,t&&(this.insertBuffer(t),this.bufferIndex=0)}).prototype=new h(new ArrayBuffer,0,h.BIG_ENDIAN),l.prototype.initialized=function(){var t;return this.bufferIndex>-1||(this.buffers.length>0?0===(t=this.buffers[0]).fileStart?(this.buffer=t,this.bufferIndex=0,a.debug("MultiBufferStream","Stream ready for parsing"),!0):(a.warn("MultiBufferStream","The first buffer should have a fileStart of 0"),this.logBufferLevel(),!1):(a.warn("MultiBufferStream","No buffer to start parsing from"),this.logBufferLevel(),!1))},ArrayBuffer.concat=function(t,e){a.debug("ArrayBuffer","Trying to create a new buffer of size: "+(t.byteLength+e.byteLength));var r=new Uint8Array(t.byteLength+e.byteLength);return r.set(new Uint8Array(t),0),r.set(new Uint8Array(e),t.byteLength),r.buffer},l.prototype.reduceBuffer=function(t,e,r){var s;return(s=new Uint8Array(r)).set(new Uint8Array(t,e,r)),s.buffer.fileStart=t.fileStart+e,s.buffer.usedBytes=0,s.buffer},l.prototype.insertBuffer=function(t){for(var e=!0,r=0;rs.byteLength){this.buffers.splice(r,1),r--;continue}a.warn("MultiBufferStream","Buffer (fileStart: "+t.fileStart+" - Length: "+t.byteLength+") already appended, ignoring")}else t.fileStart+t.byteLength<=s.fileStart||(t=this.reduceBuffer(t,0,s.fileStart-t.fileStart)),a.debug("MultiBufferStream","Appending new buffer (fileStart: "+t.fileStart+" - Length: "+t.byteLength+")"),this.buffers.splice(r,0,t),0===r&&(this.buffer=t);e=!1;break}if(t.fileStart0)t=this.reduceBuffer(t,n,o);else{e=!1;break}}}e&&(a.debug("MultiBufferStream","Appending new buffer (fileStart: "+t.fileStart+" - Length: "+t.byteLength+")"),this.buffers.push(t),0===r&&(this.buffer=t))},l.prototype.logBufferLevel=function(t){var e,r,s,n,o,h=[],l="";for(s=0,n=0,e=0;e0&&(l+=o.end-1+"]"),(t?a.info:a.debug)("MultiBufferStream",0===this.buffers.length?"No more buffer in memory":""+this.buffers.length+" stored buffer(s) ("+s+"/"+n+" bytes), continuous ranges: "+l)},l.prototype.cleanBuffers=function(){var t,e;for(t=0;t"+this.buffer.byteLength+")"),!0},l.prototype.findPosition=function(t,e,r){var s,n=null,o=-1;for(s=!0===t?0:this.bufferIndex;s=e?(a.debug("MultiBufferStream","Found position in existing buffer #"+o),o):-1},l.prototype.findEndContiguousBuf=function(t){var e,r,s,n=void 0!==t?t:this.bufferIndex;if(r=this.buffers[n],this.buffers.length>n+1)for(e=n+1;e>3;return 31===s&&r.data.length>=2&&(s=32+((7&r.data[0])<<3)+((224&r.data[1])>>5)),s},r.DecoderConfigDescriptor=function(t){r.Descriptor.call(this,4,t)},r.DecoderConfigDescriptor.prototype=new r.Descriptor,r.DecoderConfigDescriptor.prototype.parse=function(t){this.oti=t.readUint8(),this.streamType=t.readUint8(),this.bufferSize=t.readUint24(),this.maxBitrate=t.readUint32(),this.avgBitrate=t.readUint32(),this.size-=13,this.parseRemainingDescriptors(t)},r.DecoderSpecificInfo=function(t){r.Descriptor.call(this,5,t)},r.DecoderSpecificInfo.prototype=new r.Descriptor,r.SLConfigDescriptor=function(t){r.Descriptor.call(this,6,t)},r.SLConfigDescriptor.prototype=new r.Descriptor,this},iT.MPEG4DescriptorParser=u,(d={ERR_INVALID_DATA:-1,ERR_NOT_ENOUGH_DATA:0,OK:1,BASIC_BOXES:["mdat","idat","free","skip","meco","strk"],FULL_BOXES:["hmhd","nmhd","iods","xml ","bxml","ipro","mere"],CONTAINER_BOXES:[["moov",["trak","pssh"]],["trak"],["edts"],["mdia"],["minf"],["dinf"],["stbl",["sgpd","sbgp"]],["mvex",["trex"]],["moof",["traf"]],["traf",["trun","sgpd","sbgp"]],["vttc"],["tref"],["iref"],["mfra",["tfra"]],["meco"],["hnti"],["hinf"],["strk"],["strd"],["sinf"],["rinf"],["schi"],["trgr"],["udta",["kind"]],["iprp",["ipma"]],["ipco"],["grpl"],["j2kH"],["etyp",["tyco"]]],boxCodes:[],fullBoxCodes:[],containerBoxCodes:[],sampleEntryCodes:{},sampleGroupEntryCodes:[],trackGroupTypes:[],UUIDBoxes:{},UUIDs:[],initialize:function(){d.FullBox.prototype=new d.Box,d.ContainerBox.prototype=new d.Box,d.SampleEntry.prototype=new d.Box,d.TrackGroupTypeBox.prototype=new d.FullBox,d.BASIC_BOXES.forEach(function(t){d.createBoxCtor(t)}),d.FULL_BOXES.forEach(function(t){d.createFullBoxCtor(t)}),d.CONTAINER_BOXES.forEach(function(t){d.createContainerBoxCtor(t[0],null,t[1])})},Box:function(t,e,r){this.type=t,this.size=e,this.uuid=r},FullBox:function(t,e,r){d.Box.call(this,t,e,r),this.flags=0,this.version=0},ContainerBox:function(t,e,r){d.Box.call(this,t,e,r),this.boxes=[]},SampleEntry:function(t,e,r,s){d.ContainerBox.call(this,t,e),this.hdr_size=r,this.start=s},SampleGroupEntry:function(t){this.grouping_type=t},TrackGroupTypeBox:function(t,e){d.FullBox.call(this,t,e)},createBoxCtor:function(t,e){d.boxCodes.push(t),d[t+"Box"]=function(e){d.Box.call(this,t,e)},d[t+"Box"].prototype=new d.Box,e&&(d[t+"Box"].prototype.parse=e)},createFullBoxCtor:function(t,e){d[t+"Box"]=function(e){d.FullBox.call(this,t,e)},d[t+"Box"].prototype=new d.FullBox,d[t+"Box"].prototype.parse=function(t){this.parseFullHeader(t),e&&e.call(this,t)}},addSubBoxArrays:function(t){if(t){this.subBoxNames=t;for(var e=t.length,r=0;rr?(a.error("BoxParser","Box of type '"+f+"' has a size "+u+" greater than its container size "+r),{code:d.ERR_NOT_ENOUGH_DATA,type:f,size:u,hdr_size:l,start:h}):0!==u&&h+u>t.getEndPosition()?(t.seek(h),a.info("BoxParser","Not enough data in stream to parse the entire '"+f+"' box"),{code:d.ERR_NOT_ENOUGH_DATA,type:f,size:u,hdr_size:l,start:h}):e?{code:d.OK,type:f,size:u,hdr_size:l,start:h}:(d[f+"Box"]?s=new d[f+"Box"](u):"uuid"!==f?(a.warn("BoxParser","Unknown box type: '"+f+"'"),(s=new d.Box(f,u)).has_unparsed_data=!0):d.UUIDBoxes[o]?s=new d.UUIDBoxes[o](u):(a.warn("BoxParser","Unknown uuid type: '"+o+"'"),(s=new d.Box(f,u)).uuid=o,s.has_unparsed_data=!0),s.hdr_size=l,s.start=h,s.write===d.Box.prototype.write&&"mdat"!==s.type&&(a.info("BoxParser","'"+p+"' box writing not yet implemented, keeping unparsed data in memory for later write"),s.parseDataAndRewind(t)),s.parse(t),(n=t.getPosition()-(s.start+s.size))<0?(a.warn("BoxParser","Parsing of box '"+p+"' did not read the entire indicated box data size (missing "+-n+" bytes), seeking forward"),t.seek(s.start+s.size)):n>0&&(a.error("BoxParser","Parsing of box '"+p+"' read "+n+" more bytes than the indicated box data size, seeking backwards"),0!==s.size&&t.seek(s.start+s.size)),{code:d.OK,box:s,size:s.size})},d.Box.prototype.parse=function(t){"mdat"!=this.type?this.data=t.readUint8Array(this.size-this.hdr_size):0===this.size?t.seek(t.getEndPosition()):t.seek(this.start+this.size)},d.Box.prototype.parseDataAndRewind=function(t){this.data=t.readUint8Array(this.size-this.hdr_size),t.position-=this.size-this.hdr_size},d.FullBox.prototype.parseDataAndRewind=function(t){this.parseFullHeader(t),this.data=t.readUint8Array(this.size-this.hdr_size),this.hdr_size-=4,t.position-=this.size-this.hdr_size},d.FullBox.prototype.parseFullHeader=function(t){this.version=t.readUint8(),this.flags=t.readUint24(),this.hdr_size+=4},d.FullBox.prototype.parse=function(t){this.parseFullHeader(t),this.data=t.readUint8Array(this.size-this.hdr_size)},d.ContainerBox.prototype.parse=function(t){for(var e,r;t.getPosition()>10&31,e[1]=this.language>>5&31,e[2]=31&this.language,this.languageString=String.fromCharCode(e[0]+96,e[1]+96,e[2]+96)},d.SAMPLE_ENTRY_TYPE_VISUAL="Visual",d.SAMPLE_ENTRY_TYPE_AUDIO="Audio",d.SAMPLE_ENTRY_TYPE_HINT="Hint",d.SAMPLE_ENTRY_TYPE_METADATA="Metadata",d.SAMPLE_ENTRY_TYPE_SUBTITLE="Subtitle",d.SAMPLE_ENTRY_TYPE_SYSTEM="System",d.SAMPLE_ENTRY_TYPE_TEXT="Text",d.SampleEntry.prototype.parseHeader=function(t){t.readUint8Array(6),this.data_reference_index=t.readUint16(),this.hdr_size+=8},d.SampleEntry.prototype.parse=function(t){this.parseHeader(t),this.data=t.readUint8Array(this.size-this.hdr_size)},d.SampleEntry.prototype.parseDataAndRewind=function(t){this.parseHeader(t),this.data=t.readUint8Array(this.size-this.hdr_size),this.hdr_size-=8,t.position-=this.size-this.hdr_size},d.SampleEntry.prototype.parseFooter=function(t){d.ContainerBox.prototype.parse.call(this,t)},d.createMediaSampleEntryCtor(d.SAMPLE_ENTRY_TYPE_HINT),d.createMediaSampleEntryCtor(d.SAMPLE_ENTRY_TYPE_METADATA),d.createMediaSampleEntryCtor(d.SAMPLE_ENTRY_TYPE_SUBTITLE),d.createMediaSampleEntryCtor(d.SAMPLE_ENTRY_TYPE_SYSTEM),d.createMediaSampleEntryCtor(d.SAMPLE_ENTRY_TYPE_TEXT),d.createMediaSampleEntryCtor(d.SAMPLE_ENTRY_TYPE_VISUAL,function(t){var e;this.parseHeader(t),t.readUint16(),t.readUint16(),t.readUint32Array(3),this.width=t.readUint16(),this.height=t.readUint16(),this.horizresolution=t.readUint32(),this.vertresolution=t.readUint32(),t.readUint32(),this.frame_count=t.readUint16(),e=Math.min(31,t.readUint8()),this.compressorname=t.readString(e),e<31&&t.readString(31-e),this.depth=t.readUint16(),t.readUint16(),this.parseFooter(t)}),d.createMediaSampleEntryCtor(d.SAMPLE_ENTRY_TYPE_AUDIO,function(t){this.parseHeader(t),t.readUint32Array(2),this.channel_count=t.readUint16(),this.samplesize=t.readUint16(),t.readUint16(),t.readUint16(),this.samplerate=t.readUint32()/65536,this.parseFooter(t)}),d.createSampleEntryCtor(d.SAMPLE_ENTRY_TYPE_VISUAL,"avc1"),d.createSampleEntryCtor(d.SAMPLE_ENTRY_TYPE_VISUAL,"avc2"),d.createSampleEntryCtor(d.SAMPLE_ENTRY_TYPE_VISUAL,"avc3"),d.createSampleEntryCtor(d.SAMPLE_ENTRY_TYPE_VISUAL,"avc4"),d.createSampleEntryCtor(d.SAMPLE_ENTRY_TYPE_VISUAL,"av01"),d.createSampleEntryCtor(d.SAMPLE_ENTRY_TYPE_VISUAL,"dav1"),d.createSampleEntryCtor(d.SAMPLE_ENTRY_TYPE_VISUAL,"hvc1"),d.createSampleEntryCtor(d.SAMPLE_ENTRY_TYPE_VISUAL,"hev1"),d.createSampleEntryCtor(d.SAMPLE_ENTRY_TYPE_VISUAL,"hvt1"),d.createSampleEntryCtor(d.SAMPLE_ENTRY_TYPE_VISUAL,"lhe1"),d.createSampleEntryCtor(d.SAMPLE_ENTRY_TYPE_VISUAL,"dvh1"),d.createSampleEntryCtor(d.SAMPLE_ENTRY_TYPE_VISUAL,"dvhe"),d.createSampleEntryCtor(d.SAMPLE_ENTRY_TYPE_VISUAL,"vvc1"),d.createSampleEntryCtor(d.SAMPLE_ENTRY_TYPE_VISUAL,"vvi1"),d.createSampleEntryCtor(d.SAMPLE_ENTRY_TYPE_VISUAL,"vvs1"),d.createSampleEntryCtor(d.SAMPLE_ENTRY_TYPE_VISUAL,"vvcN"),d.createSampleEntryCtor(d.SAMPLE_ENTRY_TYPE_VISUAL,"vp08"),d.createSampleEntryCtor(d.SAMPLE_ENTRY_TYPE_VISUAL,"vp09"),d.createSampleEntryCtor(d.SAMPLE_ENTRY_TYPE_VISUAL,"avs3"),d.createSampleEntryCtor(d.SAMPLE_ENTRY_TYPE_VISUAL,"j2ki"),d.createSampleEntryCtor(d.SAMPLE_ENTRY_TYPE_VISUAL,"mjp2"),d.createSampleEntryCtor(d.SAMPLE_ENTRY_TYPE_VISUAL,"mjpg"),d.createSampleEntryCtor(d.SAMPLE_ENTRY_TYPE_VISUAL,"uncv"),d.createSampleEntryCtor(d.SAMPLE_ENTRY_TYPE_AUDIO,"mp4a"),d.createSampleEntryCtor(d.SAMPLE_ENTRY_TYPE_AUDIO,"ac-3"),d.createSampleEntryCtor(d.SAMPLE_ENTRY_TYPE_AUDIO,"ac-4"),d.createSampleEntryCtor(d.SAMPLE_ENTRY_TYPE_AUDIO,"ec-3"),d.createSampleEntryCtor(d.SAMPLE_ENTRY_TYPE_AUDIO,"Opus"),d.createSampleEntryCtor(d.SAMPLE_ENTRY_TYPE_AUDIO,"mha1"),d.createSampleEntryCtor(d.SAMPLE_ENTRY_TYPE_AUDIO,"mha2"),d.createSampleEntryCtor(d.SAMPLE_ENTRY_TYPE_AUDIO,"mhm1"),d.createSampleEntryCtor(d.SAMPLE_ENTRY_TYPE_AUDIO,"mhm2"),d.createEncryptedSampleEntryCtor(d.SAMPLE_ENTRY_TYPE_VISUAL,"encv"),d.createEncryptedSampleEntryCtor(d.SAMPLE_ENTRY_TYPE_AUDIO,"enca"),d.createEncryptedSampleEntryCtor(d.SAMPLE_ENTRY_TYPE_SUBTITLE,"encu"),d.createEncryptedSampleEntryCtor(d.SAMPLE_ENTRY_TYPE_SYSTEM,"encs"),d.createEncryptedSampleEntryCtor(d.SAMPLE_ENTRY_TYPE_TEXT,"enct"),d.createEncryptedSampleEntryCtor(d.SAMPLE_ENTRY_TYPE_METADATA,"encm"),d.createBoxCtor("a1lx",function(t){var e=((1&(1&t.readUint8()))+1)*16;this.layer_size=[];for(var r=0;r<3;r++)16==e?this.layer_size[r]=t.readUint16():this.layer_size[r]=t.readUint32()}),d.createBoxCtor("a1op",function(t){this.op_index=t.readUint8()}),d.createFullBoxCtor("auxC",function(t){this.aux_type=t.readCString();var e=this.size-this.hdr_size-(this.aux_type.length+1);this.aux_subtype=t.readUint8Array(e)}),d.createBoxCtor("av1C",function(t){var e=t.readUint8();if(this.version=127&e,1!==this.version){a.error("av1C version "+this.version+" not supported");return}if(e=t.readUint8(),this.seq_profile=e>>5&7,this.seq_level_idx_0=31&e,e=t.readUint8(),this.seq_tier_0=e>>7&1,this.high_bitdepth=e>>6&1,this.twelve_bit=e>>5&1,this.monochrome=e>>4&1,this.chroma_subsampling_x=e>>3&1,this.chroma_subsampling_y=e>>2&1,this.chroma_sample_position=3&e,e=t.readUint8(),this.reserved_1=e>>5&7,0!==this.reserved_1){a.error("av1C reserved_1 parsing problem");return}if(this.initial_presentation_delay_present=e>>4&1,1===this.initial_presentation_delay_present)this.initial_presentation_delay_minus_one=15&e;else if(this.reserved_2=15&e,0!==this.reserved_2){a.error("av1C reserved_2 parsing problem");return}var r=this.size-this.hdr_size-4;this.configOBUs=t.readUint8Array(r)}),d.createBoxCtor("avcC",function(t){var e,r;for(this.configurationVersion=t.readUint8(),this.AVCProfileIndication=t.readUint8(),this.profile_compatibility=t.readUint8(),this.AVCLevelIndication=t.readUint8(),this.lengthSizeMinusOne=3&t.readUint8(),this.nb_SPS_nalus=31&t.readUint8(),r=this.size-this.hdr_size-6,this.SPS=[],e=0;e0&&(this.ext=t.readUint8Array(r))}),d.createBoxCtor("btrt",function(t){this.bufferSizeDB=t.readUint32(),this.maxBitrate=t.readUint32(),this.avgBitrate=t.readUint32()}),d.createFullBoxCtor("ccst",function(t){var e=t.readUint8();this.all_ref_pics_intra=(128&e)==128,this.intra_pred_used=(64&e)==64,this.max_ref_per_pic=(63&e)>>2,t.readUint24()}),d.createBoxCtor("cdef",function(t){var e;for(this.channel_count=t.readUint16(),this.channel_indexes=[],this.channel_types=[],this.channel_associations=[],e=0;e=32768&&this.component_type_urls.push(t.readCString())}}),d.createFullBoxCtor("co64",function(t){var e,r;if(e=t.readUint32(),this.chunk_offsets=[],0===this.version)for(r=0;r>7}else"rICC"===this.colour_type?this.ICC_profile=t.readUint8Array(this.size-4):"prof"===this.colour_type&&(this.ICC_profile=t.readUint8Array(this.size-4))}),d.createFullBoxCtor("cprt",function(t){this.parseLanguage(t),this.notice=t.readCString()}),d.createFullBoxCtor("cslg",function(t){0===this.version&&(this.compositionToDTSShift=t.readInt32(),this.leastDecodeToDisplayDelta=t.readInt32(),this.greatestDecodeToDisplayDelta=t.readInt32(),this.compositionStartTime=t.readInt32(),this.compositionEndTime=t.readInt32())}),d.createFullBoxCtor("ctts",function(t){var e,r;if(e=t.readUint32(),this.sample_counts=[],this.sample_offsets=[],0===this.version)for(r=0;r>6,this.bsid=e>>1&31,this.bsmod=(1&e)<<2|r>>6&3,this.acmod=r>>3&7,this.lfeon=r>>2&1,this.bit_rate_code=3&r|s>>5&7}),d.createBoxCtor("dec3",function(t){var e=t.readUint16();this.data_rate=e>>3,this.num_ind_sub=7&e,this.ind_subs=[];for(var r=0;r>6,s.bsid=n>>1&31,s.bsmod=(1&n)<<4|a>>4&15,s.acmod=a>>1&7,s.lfeon=1&a,s.num_dep_sub=o>>1&15,s.num_dep_sub>0&&(s.chan_loc=(1&o)<<8|t.readUint8())}}),d.createFullBoxCtor("dfLa",function(t){var e=[],r=["STREAMINFO","PADDING","APPLICATION","SEEKTABLE","VORBIS_COMMENT","CUESHEET","PICTURE","RESERVED"];for(this.parseFullHeader(t);;){var s=t.readUint8(),n=Math.min(127&s,r.length-1);if(n?t.readUint8Array(t.readUint24()):(t.readUint8Array(13),this.samplerate=t.readUint32()>>12,t.readUint8Array(20)),e.push(r[n]),128&s)break}this.numMetadataBlocks=e.length+" ("+e.join(", ")+")"}),d.createBoxCtor("dimm",function(t){this.bytessent=t.readUint64()}),d.createBoxCtor("dmax",function(t){this.time=t.readUint32()}),d.createBoxCtor("dmed",function(t){this.bytessent=t.readUint64()}),d.createBoxCtor("dOps",function(t){if(this.Version=t.readUint8(),this.OutputChannelCount=t.readUint8(),this.PreSkip=t.readUint16(),this.InputSampleRate=t.readUint32(),this.OutputGain=t.readInt16(),this.ChannelMappingFamily=t.readUint8(),0!==this.ChannelMappingFamily){this.StreamCount=t.readUint8(),this.CoupledCount=t.readUint8(),this.ChannelMapping=[];for(var e=0;etypeof u){var r=new u;this.esd=r.parseOneDescriptor(new h(e.buffer,0,h.BIG_ENDIAN))}}),d.createBoxCtor("fiel",function(t){this.fieldCount=t.readUint8(),this.fieldOrdering=t.readUint8()}),d.createBoxCtor("frma",function(t){this.data_format=t.readString(4)}),d.createBoxCtor("ftyp",function(t){var e=this.size-this.hdr_size;this.major_brand=t.readString(4),this.minor_version=t.readUint32(),e-=8,this.compatible_brands=[];for(var r=0;e>=4;)this.compatible_brands[r]=t.readString(4),e-=4,r++}),d.createFullBoxCtor("hdlr",function(t){0===this.version&&(t.readUint32(),this.handler=t.readString(4),t.readUint32Array(3),this.name=t.readString(this.size-this.hdr_size-20),"\0"===this.name[this.name.length-1]&&(this.name=this.name.slice(0,-1)))}),d.createBoxCtor("hvcC",function(t){this.configurationVersion=t.readUint8(),n=t.readUint8(),this.general_profile_space=n>>6,this.general_tier_flag=(32&n)>>5,this.general_profile_idc=31&n,this.general_profile_compatibility=t.readUint32(),this.general_constraint_indicator=t.readUint8Array(6),this.general_level_idc=t.readUint8(),this.min_spatial_segmentation_idc=4095&t.readUint16(),this.parallelismType=3&t.readUint8(),this.chroma_format_idc=3&t.readUint8(),this.bit_depth_luma_minus8=7&t.readUint8(),this.bit_depth_chroma_minus8=7&t.readUint8(),this.avgFrameRate=t.readUint16(),n=t.readUint8(),this.constantFrameRate=n>>6,this.numTemporalLayers=(13&n)>>3,this.temporalIdNested=(4&n)>>2,this.lengthSizeMinusOne=3&n,this.nalu_arrays=[];var e,r,s,n,a=t.readUint8();for(e=0;e>7,o.nalu_type=63&n;var h=t.readUint16();for(r=0;r>4&15,this.length_size=15&e,e=t.readUint8(),this.base_offset_size=e>>4&15,1===this.version||2===this.version?this.index_size=15&e:this.index_size=0,this.items=[];var e,r=0;if(this.version<2)r=t.readUint16();else if(2===this.version)r=t.readUint32();else throw"version of iloc box not supported";for(var s=0;s>7,this.axis=1&e}),d.createFullBoxCtor("infe",function(t){if((0===this.version||1===this.version)&&(this.item_ID=t.readUint16(),this.item_protection_index=t.readUint16(),this.item_name=t.readCString(),this.content_type=t.readCString(),this.content_encoding=t.readCString()),1===this.version){this.extension_type=t.readString(4),a.warn("BoxParser","Cannot parse extension type"),t.seek(this.start+this.size);return}this.version>=2&&(2===this.version?this.item_ID=t.readUint16():3===this.version&&(this.item_ID=t.readUint32()),this.item_protection_index=t.readUint16(),this.item_type=t.readString(4),this.item_name=t.readCString(),"mime"===this.item_type?(this.content_type=t.readCString(),this.content_encoding=t.readCString()):"uri "===this.item_type&&(this.item_uri_type=t.readCString()))}),d.createFullBoxCtor("ipma",function(t){var e,r;for(entry_count=t.readUint32(),this.associations=[],e=0;e>7==1,1&this.flags?o.property_index=(127&a)<<8|t.readUint8():o.property_index=127&a}}}),d.createFullBoxCtor("iref",function(t){var e,r;for(this.references=[];t.getPosition()>7,s.assignment_type=127&n,s.assignment_type){case 0:s.grouping_type=t.readString(4);break;case 1:s.grouping_type=t.readString(4),s.grouping_type_parameter=t.readUint32();break;case 2:case 3:break;case 4:s.sub_track_id=t.readUint32();break;default:a.warn("BoxParser","Unknown leva assignement type")}}}),d.createBoxCtor("lsel",function(t){this.layer_id=t.readUint16()}),d.createBoxCtor("maxr",function(t){this.period=t.readUint32(),this.bytes=t.readUint32()}),d.createBoxCtor("mdcv",function(t){this.display_primaries=[],this.display_primaries[0]={},this.display_primaries[0].x=t.readUint16(),this.display_primaries[0].y=t.readUint16(),this.display_primaries[1]={},this.display_primaries[1].x=t.readUint16(),this.display_primaries[1].y=t.readUint16(),this.display_primaries[2]={},this.display_primaries[2].x=t.readUint16(),this.display_primaries[2].y=t.readUint16(),this.white_point={},this.white_point.x=t.readUint16(),this.white_point.y=t.readUint16(),this.max_display_mastering_luminance=t.readUint32(),this.min_display_mastering_luminance=t.readUint32()}),d.createFullBoxCtor("mdhd",function(t){1==this.version?(this.creation_time=t.readUint64(),this.modification_time=t.readUint64(),this.timescale=t.readUint32(),this.duration=t.readUint64()):(this.creation_time=t.readUint32(),this.modification_time=t.readUint32(),this.timescale=t.readUint32(),this.duration=t.readUint32()),this.parseLanguage(t),t.readUint16()}),d.createFullBoxCtor("mehd",function(t){1&this.flags&&(a.warn("BoxParser","mehd box incorrectly uses flags set to 1, converting version to 1"),this.version=1),1==this.version?this.fragment_duration=t.readUint64():this.fragment_duration=t.readUint32()}),d.createFullBoxCtor("meta",function(t){this.boxes=[],d.ContainerBox.prototype.parse.call(this,t)}),d.createFullBoxCtor("mfhd",function(t){this.sequence_number=t.readUint32()}),d.createFullBoxCtor("mfro",function(t){this._size=t.readUint32()}),d.createFullBoxCtor("mvhd",function(t){1==this.version?(this.creation_time=t.readUint64(),this.modification_time=t.readUint64(),this.timescale=t.readUint32(),this.duration=t.readUint64()):(this.creation_time=t.readUint32(),this.modification_time=t.readUint32(),this.timescale=t.readUint32(),this.duration=t.readUint32()),this.rate=t.readUint32(),this.volume=t.readUint16()>>8,t.readUint16(),t.readUint32Array(2),this.matrix=t.readUint32Array(9),t.readUint32Array(6),this.next_track_id=t.readUint32()}),d.createBoxCtor("npck",function(t){this.packetssent=t.readUint32()}),d.createBoxCtor("nump",function(t){this.packetssent=t.readUint64()}),d.createFullBoxCtor("padb",function(t){var e=t.readUint32();this.padbits=[];for(var r=0;r0){var e=t.readUint32();this.kid=[];for(var r=0;r0&&(this.data=t.readUint8Array(s))}),d.createFullBoxCtor("clef",function(t){this.width=t.readUint32(),this.height=t.readUint32()}),d.createFullBoxCtor("enof",function(t){this.width=t.readUint32(),this.height=t.readUint32()}),d.createFullBoxCtor("prof",function(t){this.width=t.readUint32(),this.height=t.readUint32()}),d.createContainerBoxCtor("tapt",null,["clef","prof","enof"]),d.createBoxCtor("rtp ",function(t){this.descriptionformat=t.readString(4),this.sdptext=t.readString(this.size-this.hdr_size-4)}),d.createFullBoxCtor("saio",function(t){1&this.flags&&(this.aux_info_type=t.readUint32(),this.aux_info_type_parameter=t.readUint32());var e=t.readUint32();this.offset=[];for(var r=0;r>7,this.avgRateFlag=e>>6&1,this.durationFlag&&(this.duration=t.readUint32()),this.avgRateFlag&&(this.accurateStatisticsFlag=t.readUint8(),this.avgBitRate=t.readUint16(),this.avgFrameRate=t.readUint16()),this.dependency=[];for(var r=t.readUint8(),s=0;s>7,this.num_leading_samples=127&e}),d.createSampleGroupCtor("rash",function(t){if(this.operation_point_count=t.readUint16(),this.description_length!==2+(1===this.operation_point_count?2:6*this.operation_point_count)+9)a.warn("BoxParser","Mismatch in "+this.grouping_type+" sample group length"),this.data=t.readUint8Array(this.description_length-2);else{if(1===this.operation_point_count)this.target_rate_share=t.readUint16();else{this.target_rate_share=[],this.available_bitrate=[];for(var e=0;e>4,this.skip_byte_block=15&e,this.isProtected=t.readUint8(),this.Per_Sample_IV_Size=t.readUint8(),this.KID=d.parseHex16(t),this.constant_IV_size=0,this.constant_IV=0,1===this.isProtected&&0===this.Per_Sample_IV_Size&&(this.constant_IV_size=t.readUint8(),this.constant_IV=t.readUint8Array(this.constant_IV_size))}),d.createSampleGroupCtor("stsa",function(t){a.warn("BoxParser","Sample Group type: "+this.grouping_type+" not fully parsed")}),d.createSampleGroupCtor("sync",function(t){var e=t.readUint8();this.NAL_unit_type=63&e}),d.createSampleGroupCtor("tele",function(t){var e=t.readUint8();this.level_independently_decodable=e>>7}),d.createSampleGroupCtor("tsas",function(t){a.warn("BoxParser","Sample Group type: "+this.grouping_type+" not fully parsed")}),d.createSampleGroupCtor("tscl",function(t){a.warn("BoxParser","Sample Group type: "+this.grouping_type+" not fully parsed")}),d.createSampleGroupCtor("vipr",function(t){a.warn("BoxParser","Sample Group type: "+this.grouping_type+" not fully parsed")}),d.createFullBoxCtor("sbgp",function(t){this.grouping_type=t.readString(4),1===this.version?this.grouping_type_parameter=t.readUint32():this.grouping_type_parameter=0,this.entries=[];for(var e=t.readUint32(),r=0;r>6,this.sample_depends_on[s]=e>>4&3,this.sample_is_depended_on[s]=e>>2&3,this.sample_has_redundancy[s]=3&e}),d.createFullBoxCtor("senc"),d.createFullBoxCtor("sgpd",function(t){this.grouping_type=t.readString(4),a.debug("BoxParser","Found Sample Groups of type "+this.grouping_type),1===this.version?this.default_length=t.readUint32():this.default_length=0,this.version>=2&&(this.default_group_description_index=t.readUint32()),this.entries=[];for(var e,r=t.readUint32(),s=0;s>31&1,s.referenced_size=2147483647&n,s.subsegment_duration=t.readUint32(),n=t.readUint32(),s.starts_with_SAP=n>>31&1,s.SAP_type=n>>28&7,s.SAP_delta_time=268435455&n}}),d.SingleItemTypeReferenceBox=function(t,e,r,s){d.Box.call(this,t,e),this.hdr_size=r,this.start=s},d.SingleItemTypeReferenceBox.prototype=new d.Box,d.SingleItemTypeReferenceBox.prototype.parse=function(t){this.from_item_ID=t.readUint16();var e=t.readUint16();this.references=[];for(var r=0;r>4&15,this.sample_sizes[e+1]=15&s}else if(8===this.field_size)for(e=0;e0)for(r=0;r>4&15,this.default_skip_byte_block=15&e}this.default_isProtected=t.readUint8(),this.default_Per_Sample_IV_Size=t.readUint8(),this.default_KID=d.parseHex16(t),1===this.default_isProtected&&0===this.default_Per_Sample_IV_Size&&(this.default_constant_IV_size=t.readUint8(),this.default_constant_IV=t.readUint8Array(this.default_constant_IV_size))}),d.createFullBoxCtor("tfdt",function(t){1==this.version?this.baseMediaDecodeTime=t.readUint64():this.baseMediaDecodeTime=t.readUint32()}),d.createFullBoxCtor("tfhd",function(t){var e=0;this.track_id=t.readUint32(),this.size-this.hdr_size>e&&this.flags&d.TFHD_FLAG_BASE_DATA_OFFSET?(this.base_data_offset=t.readUint64(),e+=8):this.base_data_offset=0,this.size-this.hdr_size>e&&this.flags&d.TFHD_FLAG_SAMPLE_DESC?(this.default_sample_description_index=t.readUint32(),e+=4):this.default_sample_description_index=0,this.size-this.hdr_size>e&&this.flags&d.TFHD_FLAG_SAMPLE_DUR?(this.default_sample_duration=t.readUint32(),e+=4):this.default_sample_duration=0,this.size-this.hdr_size>e&&this.flags&d.TFHD_FLAG_SAMPLE_SIZE?(this.default_sample_size=t.readUint32(),e+=4):this.default_sample_size=0,this.size-this.hdr_size>e&&this.flags&d.TFHD_FLAG_SAMPLE_FLAGS?(this.default_sample_flags=t.readUint32(),e+=4):this.default_sample_flags=0}),d.createFullBoxCtor("tfra",function(t){this.track_ID=t.readUint32(),t.readUint24();var e=t.readUint8();this.length_size_of_traf_num=e>>4&3,this.length_size_of_trun_num=e>>2&3,this.length_size_of_sample_num=3&e,this.entries=[];for(var r=t.readUint32(),s=0;s>8,t.readUint16(),this.matrix=t.readInt32Array(9),this.width=t.readUint32(),this.height=t.readUint32()}),d.createBoxCtor("tmax",function(t){this.time=t.readUint32()}),d.createBoxCtor("tmin",function(t){this.time=t.readUint32()}),d.createBoxCtor("totl",function(t){this.bytessent=t.readUint32()}),d.createBoxCtor("tpay",function(t){this.bytessent=t.readUint32()}),d.createBoxCtor("tpyl",function(t){this.bytessent=t.readUint64()}),d.TrackGroupTypeBox.prototype.parse=function(t){this.parseFullHeader(t),this.track_group_id=t.readUint32()},d.createTrackGroupCtor("msrc"),d.TrackReferenceTypeBox=function(t,e,r,s){d.Box.call(this,t,e),this.hdr_size=r,this.start=s},d.TrackReferenceTypeBox.prototype=new d.Box,d.TrackReferenceTypeBox.prototype.parse=function(t){this.track_ids=t.readUint32Array((this.size-this.hdr_size)/4)},d.trefBox.prototype.parse=function(t){for(var e,r;t.getPosition()e&&this.flags&d.TRUN_FLAGS_DATA_OFFSET?(this.data_offset=t.readInt32(),e+=4):this.data_offset=0,this.size-this.hdr_size>e&&this.flags&d.TRUN_FLAGS_FIRST_FLAG?(this.first_sample_flags=t.readUint32(),e+=4):this.first_sample_flags=0,this.sample_duration=[],this.sample_size=[],this.sample_flags=[],this.sample_composition_time_offset=[],this.size-this.hdr_size>e)for(var r=0;r>7&1,this.block_pad_lsb=r>>6&1,this.block_little_endian=r>>5&1,this.block_reversed=r>>4&1,this.pad_unknown=r>>3&1,this.pixel_size=t.readUint8(),this.row_align_size=t.readUint32(),this.tile_align_size=t.readUint32(),this.num_tile_cols_minus_one=t.readUint32(),this.num_tile_rows_minus_one=t.readUint32()}),d.createFullBoxCtor("url ",function(t){1!==this.flags&&(this.location=t.readCString())}),d.createFullBoxCtor("urn ",function(t){this.name=t.readCString(),this.size-this.hdr_size-this.name.length-1>0&&(this.location=t.readCString())}),d.createUUIDBox("a5d40b30e81411ddba2f0800200c9a66",!0,!1,function(t){this.LiveServerManifest=t.readString(this.size-this.hdr_size).replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}),d.createUUIDBox("d08a4f1810f34a82b6c832d8aba183d3",!0,!1,function(t){this.system_id=d.parseHex16(t);var e=t.readUint32();e>0&&(this.data=t.readUint8Array(e))}),d.createUUIDBox("a2394f525a9b4f14a2446c427c648df4",!0,!1),d.createUUIDBox("8974dbce7be74c5184f97148f9882554",!0,!1,function(t){this.default_AlgorithmID=t.readUint24(),this.default_IV_size=t.readUint8(),this.default_KID=d.parseHex16(t)}),d.createUUIDBox("d4807ef2ca3946958e5426cb9e46a79f",!0,!1,function(t){this.fragment_count=t.readUint8(),this.entries=[];for(var e=0;e>4,this.chromaSubsampling=e>>1&7,this.videoFullRangeFlag=1&e,this.colourPrimaries=t.readUint8(),this.transferCharacteristics=t.readUint8(),this.matrixCoefficients=t.readUint8()):(this.profile=t.readUint8(),this.level=t.readUint8(),e=t.readUint8(),this.bitDepth=e>>4&15,this.colorSpace=15&e,e=t.readUint8(),this.chromaSubsampling=e>>4&15,this.transferFunction=e>>1&7,this.videoFullRangeFlag=1&e),this.codecIntializationDataSize=t.readUint16(),this.codecIntializationData=t.readUint8Array(this.codecIntializationDataSize)}),d.createBoxCtor("vttC",function(t){this.text=t.readString(this.size-this.hdr_size)}),d.createFullBoxCtor("vvcC",function(t){var e,r,s={held_bits:void 0,num_held_bits:0,stream_read_1_bytes:function(t){this.held_bits=t.readUint8(),this.num_held_bits=8},stream_read_2_bytes:function(t){this.held_bits=t.readUint16(),this.num_held_bits=16},extract_bits:function(t){var e=this.held_bits>>this.num_held_bits-t&(1<1){for(s.stream_read_1_bytes(t),this.ptl_sublayer_present_mask=0,r=this.num_sublayers-2;r>=0;--r){var o=s.extract_bits(1);this.ptl_sublayer_present_mask|=o<1;++r)s.extract_bits(1);for(this.sublayer_level_idc=[],r=this.num_sublayers-2;r>=0;--r)this.ptl_sublayer_present_mask&1<"u"||null===e?e=2:e;r.length>=1;e+=d.decimalToHex(s,0)+".",0===this.hvcC.general_tier_flag?e+="L":e+="H",e+=this.hvcC.general_level_idc;var n=!1,a="";for(t=5;t>=0;t--)(this.hvcC.general_constraint_indicator[t]||n)&&(a="."+d.decimalToHex(this.hvcC.general_constraint_indicator[t],0)+a,n=!0);e+=a}return e},d.vvc1SampleEntry.prototype.getCodec=d.vvi1SampleEntry.prototype.getCodec=function(){var t,e=d.SampleEntry.prototype.getCodec.call(this);if(this.vvcC){e+="."+this.vvcC.general_profile_idc,this.vvcC.general_tier_flag?e+=".H":e+=".L",e+=this.vvcC.general_level_idc;var r="";if(this.vvcC.general_constraint_info){var s,n,a=[];for(n=0|this.vvcC.ptl_frame_only_constraint<<7|this.vvcC.ptl_multilayer_enabled<<6,t=0;t>2&63,a.push(n),n&&(s=t),n=this.vvcC.general_constraint_info[t]>>2&3;if(void 0===s)r=".CA";else{r=".C";var o="ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",h=0,l=0;for(t=0;t<=s;++t)for(h=h<<8|a[t],l+=8;l>=5;)r+=o[h>>l-5&31],l-=5,h&=(1<4294967296&&(this.size+=8),"uuid"===this.type&&(this.size+=16),a.debug("BoxWriter","Writing box "+this.type+" of size: "+this.size+" at position "+t.getPosition()+(e||"")),this.size>4294967296?t.writeUint32(1):(this.sizePosition=t.getPosition(),t.writeUint32(this.size)),t.writeString(this.type,null,4),"uuid"===this.type&&t.writeUint8Array(this.uuid),this.size>4294967296&&t.writeUint64(this.size)},d.FullBox.prototype.writeHeader=function(t){this.size+=4,d.Box.prototype.writeHeader.call(this,t," v="+this.version+" f="+this.flags),t.writeUint8(this.version),t.writeUint24(this.flags)},d.Box.prototype.write=function(t){"mdat"===this.type?this.data&&(this.size=this.data.length,this.writeHeader(t),t.writeUint8Array(this.data)):(this.size=this.data?this.data.length:0,this.writeHeader(t),this.data&&t.writeUint8Array(this.data))},d.ContainerBox.prototype.write=function(t){this.size=0,this.writeHeader(t);for(var e=0;e=2&&t.writeUint32(this.default_sample_description_index),t.writeUint32(this.entries.length),e=0;e0)for(e=0;e+14294967295?1:0,this.flags=0,this.size=4,1===this.version&&(this.size+=4),this.writeHeader(t),1===this.version?t.writeUint64(this.baseMediaDecodeTime):t.writeUint32(this.baseMediaDecodeTime)},d.tfhdBox.prototype.write=function(t){this.version=0,this.size=4,this.flags&d.TFHD_FLAG_BASE_DATA_OFFSET&&(this.size+=8),this.flags&d.TFHD_FLAG_SAMPLE_DESC&&(this.size+=4),this.flags&d.TFHD_FLAG_SAMPLE_DUR&&(this.size+=4),this.flags&d.TFHD_FLAG_SAMPLE_SIZE&&(this.size+=4),this.flags&d.TFHD_FLAG_SAMPLE_FLAGS&&(this.size+=4),this.writeHeader(t),t.writeUint32(this.track_id),this.flags&d.TFHD_FLAG_BASE_DATA_OFFSET&&t.writeUint64(this.base_data_offset),this.flags&d.TFHD_FLAG_SAMPLE_DESC&&t.writeUint32(this.default_sample_description_index),this.flags&d.TFHD_FLAG_SAMPLE_DUR&&t.writeUint32(this.default_sample_duration),this.flags&d.TFHD_FLAG_SAMPLE_SIZE&&t.writeUint32(this.default_sample_size),this.flags&d.TFHD_FLAG_SAMPLE_FLAGS&&t.writeUint32(this.default_sample_flags)},d.tkhdBox.prototype.write=function(t){this.version=0,this.size=80,this.writeHeader(t),t.writeUint32(this.creation_time),t.writeUint32(this.modification_time),t.writeUint32(this.track_id),t.writeUint32(0),t.writeUint32(this.duration),t.writeUint32(0),t.writeUint32(0),t.writeInt16(this.layer),t.writeInt16(this.alternate_group),t.writeInt16(this.volume<<8),t.writeUint16(0),t.writeInt32Array(this.matrix),t.writeUint32(this.width),t.writeUint32(this.height)},d.trexBox.prototype.write=function(t){this.version=0,this.flags=0,this.size=20,this.writeHeader(t),t.writeUint32(this.track_id),t.writeUint32(this.default_sample_description_index),t.writeUint32(this.default_sample_duration),t.writeUint32(this.default_sample_size),t.writeUint32(this.default_sample_flags)},d.trunBox.prototype.write=function(t){this.version=0,this.size=4,this.flags&d.TRUN_FLAGS_DATA_OFFSET&&(this.size+=4),this.flags&d.TRUN_FLAGS_FIRST_FLAG&&(this.size+=4),this.flags&d.TRUN_FLAGS_DURATION&&(this.size+=4*this.sample_duration.length),this.flags&d.TRUN_FLAGS_SIZE&&(this.size+=4*this.sample_size.length),this.flags&d.TRUN_FLAGS_FLAGS&&(this.size+=4*this.sample_flags.length),this.flags&d.TRUN_FLAGS_CTS_OFFSET&&(this.size+=4*this.sample_composition_time_offset.length),this.writeHeader(t),t.writeUint32(this.sample_count),this.flags&d.TRUN_FLAGS_DATA_OFFSET&&(this.data_offset_position=t.getPosition(),t.writeInt32(this.data_offset)),this.flags&d.TRUN_FLAGS_FIRST_FLAG&&t.writeUint32(this.first_sample_flags);for(var e=0;e-1)){if(t[r]instanceof d.Box||e[r]instanceof d.Box||typeof t[r]>"u"||typeof e[r]>"u"||"function"==typeof t[r]||"function"==typeof e[r]||t.subBoxNames&&t.subBoxNames.indexOf(r.slice(0,4))>-1||e.subBoxNames&&e.subBoxNames.indexOf(r.slice(0,4))>-1||"data"===r||"start"===r||"size"===r||"creation_time"===r||"modification_time"===r||d.DIFF_PRIMITIVE_ARRAY_PROP_NAMES.indexOf(r)>-1)continue;if(t[r]!==e[r])return!1}return!0},d.boxEqual=function(t,e){if(!d.boxEqualFields(t,e))return!1;for(var r=0;r1)for(e=1;etypeof DOMParser&&(r.document=new DOMParser().parseFromString(r.documentString,"application/xml")),r},(p=function(){}).prototype.parseSample=function(t){return new o(t.data.buffer).readString(t.data.length)},p.prototype.parseConfig=function(t){var e=new o(t.buffer);return e.readUint32(),e.readCString()},iT.XMLSubtitlein4Parser=f,iT.Textin4Parser=p,(c=function(t){this.stream=t||new l,this.boxes=[],this.mdats=[],this.moofs=[],this.isProgressive=!1,this.moovStartFound=!1,this.onMoovStart=null,this.moovStartSent=!1,this.onReady=null,this.readySent=!1,this.onSegment=null,this.onSamples=null,this.onError=null,this.sampleListBuilt=!1,this.fragmentedTracks=[],this.extractedTracks=[],this.isFragmentationInitialized=!1,this.sampleProcessingStarted=!1,this.nextMoofNumber=0,this.itemListBuilt=!1,this.onSidx=null,this.sidxSent=!1}).prototype.setSegmentOptions=function(t,e,r){var s=this.getTrackById(t);if(s){var n={};this.fragmentedTracks.push(n),n.id=t,n.user=e,n.trak=s,s.nextSample=0,n.segmentStream=null,n.nb_samples=1e3,n.rapAlignement=!0,r&&(r.nbSamples&&(n.nb_samples=r.nbSamples),r.rapAlignement&&(n.rapAlignement=r.rapAlignement))}},c.prototype.unsetSegmentOptions=function(t){for(var e=-1,r=0;r-1&&this.fragmentedTracks.splice(e,1)},c.prototype.setExtractionOptions=function(t,e,r){var s=this.getTrackById(t);if(s){var n={};this.extractedTracks.push(n),n.id=t,n.user=e,n.trak=s,s.nextSample=0,n.nb_samples=1e3,n.samples=[],r&&r.nbSamples&&(n.nb_samples=r.nbSamples)}},c.prototype.unsetExtractionOptions=function(t){for(var e=-1,r=0;r-1&&this.extractedTracks.splice(e,1)},c.prototype.parse=function(){var t,e,r;if(!(this.restoreParsePosition&&!this.restoreParsePosition()))for(;;)if(this.hasIncompleteMdat&&this.hasIncompleteMdat()){if(this.processIncompleteMdat())continue;return}else if(this.saveParsePosition&&this.saveParsePosition(),(e=d.parseOneBox(this.stream,!1)).code===d.ERR_NOT_ENOUGH_DATA){if(!this.processIncompleteBox)return;if(this.processIncompleteBox(e))continue;return}else{switch(t="uuid"!==(r=e.box).type?r.type:r.uuid,this.boxes.push(r),t){case"mdat":this.mdats.push(r);break;case"moof":this.moofs.push(r);break;case"moov":this.moovStartFound=!0,0===this.mdats.length&&(this.isProgressive=!0);default:void 0!==this[t]&&a.warn("ISOFile","Duplicate Box of type: "+t+", overriding previous occurrence"),this[t]=r}this.updateUsedBytes&&this.updateUsedBytes(r,e)}},c.prototype.checkBuffer=function(t){if(null==t)throw"Buffer must be defined and non empty";if(void 0===t.fileStart)throw"Buffer must have a fileStart property";return 0===t.byteLength?(a.warn("ISOFile","Ignoring empty buffer (fileStart: "+t.fileStart+")"),this.stream.logBufferLevel(),!1):(a.info("ISOFile","Processing buffer (fileStart: "+t.fileStart+")"),t.usedBytes=0,this.stream.insertBuffer(t),this.stream.logBufferLevel(),!!this.stream.initialized()||(a.warn("ISOFile","Not ready to start parsing"),!1))},c.prototype.appendBuffer=function(t,e){var r;if(this.checkBuffer(t))return this.parse(),this.moovStartFound&&!this.moovStartSent&&(this.moovStartSent=!0,this.onMoovStart&&this.onMoovStart()),this.moov?(this.sampleListBuilt||(this.buildSampleLists(),this.sampleListBuilt=!0),this.updateSampleLists(),this.onReady&&!this.readySent&&(this.readySent=!0,this.onReady(this.getInfo())),this.processSamples(e),this.nextSeekPosition?(r=this.nextSeekPosition,this.nextSeekPosition=void 0):r=this.nextParsePosition,this.stream.getEndFilePositionAfter&&(r=this.stream.getEndFilePositionAfter(r))):r=this.nextParsePosition?this.nextParsePosition:0,this.sidx&&this.onSidx&&!this.sidxSent&&(this.onSidx(this.sidx),this.sidxSent=!0),this.meta&&(this.flattenItemInfo&&!this.itemListBuilt&&(this.flattenItemInfo(),this.itemListBuilt=!0),this.processItems&&this.processItems(this.onItem)),this.stream.cleanBuffers&&(a.info("ISOFile","Done processing buffer (fileStart: "+t.fileStart+") - next buffer to fetch should have a fileStart position of "+r),this.stream.logBufferLevel(),this.stream.cleanBuffers(),this.stream.logBufferLevel(!0),a.info("ISOFile","Sample data size in memory: "+this.getAllocatedSampleDataSize())),r},c.prototype.getInfo=function(){var t,e,r,s,n,a,o={},h=/* @__PURE__ */new Date("1904-01-01T00:00:00Z").getTime();if(this.moov)for(o.hasMoov=!0,o.duration=this.moov.mvhd.duration,o.timescale=this.moov.mvhd.timescale,o.isFragmented=null!=this.moov.mvex,o.isFragmented&&this.moov.mvex.mehd&&(o.fragment_duration=this.moov.mvex.mehd.fragment_duration),o.isProgressive=this.isProgressive,o.hasIOD=null!=this.moov.iods,o.brands=[],o.brands.push(this.ftyp.major_brand),o.brands=o.brands.concat(this.ftyp.compatible_brands),o.created=new Date(h+1e3*this.moov.mvhd.creation_time),o.modified=new Date(h+1e3*this.moov.mvhd.modification_time),o.tracks=[],o.audioTracks=[],o.videoTracks=[],o.subtitleTracks=[],o.metadataTracks=[],o.hintTracks=[],o.otherTracks=[],t=0;t0?o.mime+='video/mp4; codecs="':o.audioTracks&&o.audioTracks.length>0?o.mime+='audio/mp4; codecs="':o.mime+='application/mp4; codecs="',t=0;t=r.samples.length)&&(a.info("ISOFile","Sending fragmented data on track #"+s.id+" for samples ["+Math.max(0,r.nextSample-s.nb_samples)+","+(r.nextSample-1)+"]"),a.info("ISOFile","Sample data size in memory: "+this.getAllocatedSampleDataSize()),this.onSegment&&this.onSegment(s.id,s.user,s.segmentStream.buffer,r.nextSample,t||r.nextSample>=r.samples.length),s.segmentStream=null,s!==this.fragmentedTracks[e]))break}}if(null!==this.onSamples)for(e=0;e=r.samples.length)&&(a.debug("ISOFile","Sending samples on track #"+o.id+" for sample "+r.nextSample),this.onSamples&&this.onSamples(o.id,o.user,o.samples),o.samples=[],o!==this.extractedTracks[e]))break}}}},c.prototype.getBox=function(t){var e=this.getBoxes(t,!0);return e.length?e[0]:null},c.prototype.getBoxes=function(t,e){var r=[];return c._sweep.call(this,t,r,e),r},c._sweep=function(t,e,r){for(var s in this.type&&this.type==t&&e.push(this),this.boxes){if(e.length&&r)return;c._sweep.call(this.boxes[s],t,e,r)}},c.prototype.getTrackSamplesInfo=function(t){var e=this.getTrackById(t);if(e)return e.samples},c.prototype.getTrackSample=function(t,e){var r=this.getTrackById(t);return this.getSample(r,e)},c.prototype.releaseUsedSamples=function(t,e){var r=0,s=this.getTrackById(t);s.lastValidSample||(s.lastValidSample=0);for(var n=s.lastValidSample;nt*n.timescale){u=s-1;break}e&&n.is_sync&&(l=s)}for(e&&(u=l),t=r.samples[u].cts,r.nextSample=u;r.samples[u].alreadyRead===r.samples[u].size&&r.samples[u+1];)u++;return h=r.samples[u].offset+r.samples[u].alreadyRead,a.info("ISOFile","Seeking to "+(e?"RAP":"")+" sample #"+r.nextSample+" on track "+r.tkhd.track_id+", time "+a.getDurationString(t,o)+" and offset: "+h),{offset:h,time:t/o}},c.prototype.getTrackDuration=function(t){var e;return t.samples?((e=t.samples[t.samples.length-1]).cts+e.duration)/e.timescale:1/0},c.prototype.seek=function(t,e){var r,s,n,o=this.moov,h={offset:1/0,time:1/0};if(this.moov){for(n=0;nthis.getTrackDuration(r))&&((s=this.seekTrack(t,e,r)).offset-1){h=l;break}switch(h){case"Visual":if(n.add("vmhd").set("graphicsmode",0).set("opcolor",[0,0,0]),a.set("width",e.width).set("height",e.height).set("horizresolution",4718592).set("vertresolution",4718592).set("frame_count",1).set("compressorname",e.type+" Compressor").set("depth",24),e.avcDecoderConfigRecord){var p=new d.avcCBox;p.parse(new o(e.avcDecoderConfigRecord)),a.addBox(p)}else if(e.hevcDecoderConfigRecord){var c=new d.hvcCBox;c.parse(new o(e.hevcDecoderConfigRecord)),a.addBox(c)}break;case"Audio":n.add("smhd").set("balance",e.balance||0),a.set("channel_count",e.channel_count||2).set("samplesize",e.samplesize||16).set("samplerate",e.samplerate||65536);break;case"Hint":n.add("hmhd");break;case"Subtitle":n.add("sthd"),"stpp"===e.type&&a.set("namespace",e.namespace||"nonamespace").set("schema_location",e.schema_location||"").set("auxiliary_mime_types",e.auxiliary_mime_types||"");break;default:n.add("nmhd")}e.description&&a.addBox(e.description),e.description_boxes&&e.description_boxes.forEach(function(t){a.addBox(t)}),n.add("dinf").add("dref").addEntry(new d["url Box"]().set("flags",1));var m=n.add("stbl");return m.add("stsd").addEntry(a),m.add("stts").set("sample_counts",[]).set("sample_deltas",[]),m.add("stsc").set("first_chunk",[]).set("samples_per_chunk",[]).set("sample_description_index",[]),m.add("stco").set("chunk_offsets",[]),m.add("stsz").set("sample_sizes",[]),this.moov.mvex.add("trex").set("track_id",e.id).set("default_sample_description_index",e.default_sample_description_index||1).set("default_sample_duration",e.default_sample_duration||0).set("default_sample_size",e.default_sample_size||0).set("default_sample_flags",e.default_sample_flags||0),this.buildTrakSampleLists(r),e.id}},d.Box.prototype.computeSize=function(t){var e=t||new h;e.endianness=h.BIG_ENDIAN,this.write(e)},c.prototype.addSample=function(t,e,r){var s=r||{},n={},a=this.getTrackById(t);if(null!==a){n.number=a.samples.length,n.track_id=a.tkhd.track_id,n.timescale=a.mdia.mdhd.timescale,n.description_index=s.sample_description_index?s.sample_description_index-1:0,n.description=a.mdia.minf.stbl.stsd.entries[n.description_index],n.data=e,n.size=e.byteLength,n.alreadyRead=n.size,n.duration=s.duration||1,n.cts=s.cts||0,n.dts=s.dts||0,n.is_sync=s.is_sync||!1,n.is_leading=s.is_leading||0,n.depends_on=s.depends_on||0,n.is_depended_on=s.is_depended_on||0,n.has_redundancy=s.has_redundancy||0,n.degradation_priority=s.degradation_priority||0,n.offset=0,n.subsamples=s.subsamples,a.samples.push(n),a.samples_size+=n.size,a.samples_duration+=n.duration,void 0===a.first_dts&&(a.first_dts=s.dts),this.processSamples();var o=this.createSingleSampleMoof(n);return this.addBox(o),o.computeSize(),o.trafs[0].truns[0].data_offset=o.size+8,this.add("mdat").data=new Uint8Array(e),n}},c.prototype.createSingleSampleMoof=function(t){var e=0;e=t.is_sync?33554432:65536;var r=new d.moofBox;r.add("mfhd").set("sequence_number",this.nextMoofNumber),this.nextMoofNumber++;var s=r.add("traf"),n=this.getTrackById(t.track_id);return s.add("tfhd").set("track_id",t.track_id).set("flags",d.TFHD_FLAG_DEFAULT_BASE_IS_MOOF),s.add("tfdt").set("baseMediaDecodeTime",t.dts-(n.first_dts||0)),s.add("trun").set("flags",d.TRUN_FLAGS_DATA_OFFSET|d.TRUN_FLAGS_DURATION|d.TRUN_FLAGS_SIZE|d.TRUN_FLAGS_FLAGS|d.TRUN_FLAGS_CTS_OFFSET).set("data_offset",0).set("first_sample_flags",0).set("sample_count",1).set("sample_duration",[t.duration]).set("sample_size",[t.size]).set("sample_flags",[e]).set("sample_composition_time_offset",[t.cts-t.dts]),r},c.prototype.lastMoofIndex=0,c.prototype.samplesDataSize=0,c.prototype.resetTables=function(){var t,e,r,s,n,a;for(this.initial_duration=this.moov.mvhd.duration,this.moov.mvhd.duration=0,t=0;t=2&&(l=n[o].grouping_type+"/0",(h=new u(n[o].grouping_type,0)).is_fragment=!0,e.sample_groups_info[l]||(e.sample_groups_info[l]=h))}else for(o=0;o=2&&(l=s[o].grouping_type+"/0",h=new u(s[o].grouping_type,0),t.sample_groups_info[l]||(t.sample_groups_info[l]=h))},c.setSampleGroupProperties=function(t,e,r,s){var n,a,o;for(n in e.sample_groups=[],s)e.sample_groups[n]={},e.sample_groups[n].grouping_type=s[n].grouping_type,e.sample_groups[n].grouping_type_parameter=s[n].grouping_type_parameter,r>=s[n].last_sample_in_run&&(s[n].last_sample_in_run<0&&(s[n].last_sample_in_run=0),s[n].entry_index++,s[n].entry_index<=s[n].sbgp.entries.length-1&&(s[n].last_sample_in_run+=s[n].sbgp.entries[s[n].entry_index].sample_count)),s[n].entry_index<=s[n].sbgp.entries.length-1?e.sample_groups[n].group_description_index=s[n].sbgp.entries[s[n].entry_index].group_description_index:e.sample_groups[n].group_description_index=-1,0!==e.sample_groups[n].group_description_index&&(o=s[n].fragment_description?s[n].fragment_description:s[n].description,e.sample_groups[n].group_description_index>0?(a=e.sample_groups[n].group_description_index>65535?(e.sample_groups[n].group_description_index>>16)-1:e.sample_groups[n].group_description_index-1,o&&a>=0&&(e.sample_groups[n].description=o.entries[a])):o&&o.version>=2&&o.default_group_description_index>0&&(e.sample_groups[n].description=o.entries[o.default_group_description_index-1]))},c.process_sdtp=function(t,e,r){e&&(t?(e.is_leading=t.is_leading[r],e.depends_on=t.sample_depends_on[r],e.is_depended_on=t.sample_is_depended_on[r],e.has_redundancy=t.sample_has_redundancy[r]):(e.is_leading=0,e.depends_on=0,e.is_depended_on=0,e.has_redundancy=0))},c.prototype.buildSampleLists=function(){var t,e;for(t=0;t"u")){for(e=0;ew&&(v++,w<0&&(w=0),w+=a.sample_counts[v]),e>0?(t.samples[e-1].duration=a.sample_deltas[v],t.samples_duration+=t.samples[e-1].duration,A.dts=t.samples[e-1].dts+t.samples[e-1].duration):A.dts=0,o?(e>=S&&(E++,S<0&&(S=0),S+=o.sample_counts[E]),A.cts=t.samples[e].dts+o.sample_offsets[E]):A.cts=A.dts,h?(e==h.sample_numbers[U]-1?(A.is_sync=!0,U++):(A.is_sync=!1,A.degradation_priority=0),u&&u.entries[x].sample_delta+T==e+1&&(A.subsamples=u.entries[x].subsamples,T+=u.entries[x].sample_delta,x++)):A.is_sync=!0,c.process_sdtp(t.mdia.minf.stbl.sdtp,A,A.number),p?A.degradation_priority=p.priority[e]:A.degradation_priority=0,u&&u.entries[x].sample_delta+T==e&&(A.subsamples=u.entries[x].subsamples,T+=u.entries[x].sample_delta),(d.length>0||f.length>0)&&c.setSampleGroupProperties(t,A,e,t.sample_groups_info)}e>0&&(t.samples[e-1].duration=Math.max(t.mdia.mdhd.duration-t.samples[e-1].dts,0),t.samples_duration+=t.samples[e-1].duration)}},c.prototype.updateSampleLists=function(){var t,e,r,s,n,a,o,h,l,u,f,p,m,g;if(void 0!==this.moov){for(;this.lastMoofIndex0&&c.initSampleGroups(f,u,u.sbgps,f.mdia.minf.stbl.sgpds,u.sgpds),e=0;e0?m.dts=f.samples[f.samples.length-2].dts+f.samples[f.samples.length-2].duration:(u.tfdt?m.dts=u.tfdt.baseMediaDecodeTime:m.dts=0,f.first_traf_merged=!0),m.cts=m.dts,y.flags&d.TRUN_FLAGS_CTS_OFFSET&&(m.cts=m.dts+y.sample_composition_time_offset[r]),g=o,y.flags&d.TRUN_FLAGS_FLAGS?g=y.sample_flags[r]:0===r&&y.flags&d.TRUN_FLAGS_FIRST_FLAG&&(g=y.first_sample_flags),m.is_sync=!(g>>16&1),m.is_leading=g>>26&3,m.depends_on=g>>24&3,m.is_depended_on=g>>22&3,m.has_redundancy=g>>20&3,m.degradation_priority=65535&g;var _=!!(u.tfhd.flags&d.TFHD_FLAG_BASE_DATA_OFFSET),b=!!(u.tfhd.flags&d.TFHD_FLAG_DEFAULT_BASE_IS_MOOF),w=!!(y.flags&d.TRUN_FLAGS_DATA_OFFSET),v=0;v=_?u.tfhd.base_data_offset:b||0===e?l.start:h,0===e&&0===r?w?m.offset=v+y.data_offset:m.offset=v:m.offset=h,h=m.offset+m.size,(u.sbgps.length>0||u.sgpds.length>0||f.mdia.minf.stbl.sbgps.length>0||f.mdia.minf.stbl.sgpds.length>0)&&c.setSampleGroupProperties(f,m,m.number_in_traf,u.sample_groups_info)}}if(u.subs){f.has_fragment_subsamples=!0;var S=u.first_sample_index;for(e=0;e-1))return null;var o=(r=this.stream.buffers[n]).byteLength-(s.offset+s.alreadyRead-r.fileStart);if(s.size-s.alreadyRead<=o)return a.debug("ISOFile","Getting sample #"+e+" data (alreadyRead: "+s.alreadyRead+" offset: "+(s.offset+s.alreadyRead-r.fileStart)+" read size: "+(s.size-s.alreadyRead)+" full size: "+s.size+")"),h.memcpy(s.data.buffer,s.alreadyRead,r,s.offset+s.alreadyRead-r.fileStart,s.size-s.alreadyRead),r.usedBytes+=s.size-s.alreadyRead,this.stream.logBufferLevel(),s.alreadyRead=s.size,s;if(0===o)return null;a.debug("ISOFile","Getting sample #"+e+" partial data (alreadyRead: "+s.alreadyRead+" offset: "+(s.offset+s.alreadyRead-r.fileStart)+" read size: "+o+" full size: "+s.size+")"),h.memcpy(s.data.buffer,s.alreadyRead,r,s.offset+s.alreadyRead-r.fileStart,o),s.alreadyRead+=o,r.usedBytes+=o,this.stream.logBufferLevel()}},c.prototype.releaseSample=function(t,e){var r=t.samples[e];return r.data?(this.samplesDataSize-=r.size,r.data=null,r.alreadyRead=0,r.size):0},c.prototype.getAllocatedSampleDataSize=function(){return this.samplesDataSize},c.prototype.getCodecs=function(){var t,e="";for(t=0;t0&&(e+=","),e+=r.mdia.minf.stbl.stsd.entries[0].getCodec()}return e},c.prototype.getTrexById=function(t){var e;if(!this.moov||!this.moov.mvex)return null;for(e=0;e0&&(r.protection=n.ipro.protections[n.iinf.item_infos[t].protection_index-1]),n.iinf.item_infos[t].item_type?r.type=n.iinf.item_infos[t].item_type:r.type="mime",r.content_type=n.iinf.item_infos[t].content_type,r.content_encoding=n.iinf.item_infos[t].content_encoding;if(n.iloc)for(t=0;t0&&f.property_index-1-1))return null;var l=(e=this.stream.buffers[o]).byteLength-(n.offset+n.alreadyRead-e.fileStart);if(!(n.length-n.alreadyRead<=l))return a.debug("ISOFile","Getting item #"+t+" extent #"+s+" partial data (alreadyRead: "+n.alreadyRead+" offset: "+(n.offset+n.alreadyRead-e.fileStart)+" read size: "+l+" full extent size: "+n.length+" full item size: "+r.size+")"),h.memcpy(r.data.buffer,r.alreadyRead,e,n.offset+n.alreadyRead-e.fileStart,l),n.alreadyRead+=l,r.alreadyRead+=l,e.usedBytes+=l,this.stream.logBufferLevel(),null;a.debug("ISOFile","Getting item #"+t+" extent #"+s+" data (alreadyRead: "+n.alreadyRead+" offset: "+(n.offset+n.alreadyRead-e.fileStart)+" read size: "+(n.length-n.alreadyRead)+" full extent size: "+n.length+" full item size: "+r.size+")"),h.memcpy(r.data.buffer,r.alreadyRead,e,n.offset+n.alreadyRead-e.fileStart,n.length-n.alreadyRead),e.usedBytes+=n.length-n.alreadyRead,this.stream.logBufferLevel(),r.alreadyRead+=n.length-n.alreadyRead,n.alreadyRead=n.length}}return r.alreadyRead===r.size?r:null},c.prototype.releaseItem=function(t){var e=this.items[t];if(!e.data)return 0;this.itemsDataSize-=e.size,e.data=null,e.alreadyRead=0;for(var r=0;r0?this.moov.traks[t].samples[0].duration:0),e.push(s)}return e},d.Box.prototype.printHeader=function(t){this.size+=8,this.size>4294967296&&(this.size+=8),"uuid"===this.type&&(this.size+=16),t.log(t.indent+"size:"+this.size),t.log(t.indent+"type:"+this.type)},d.FullBox.prototype.printHeader=function(t){this.size+=4,d.Box.prototype.printHeader.call(this,t),t.log(t.indent+"version:"+this.version),t.log(t.indent+"flags:"+this.flags)},d.Box.prototype.print=function(t){this.printHeader(t)},d.ContainerBox.prototype.print=function(t){this.printHeader(t);for(var e=0;e>8)),t.log(t.indent+"matrix: "+this.matrix.join(", ")),t.log(t.indent+"next_track_id: "+this.next_track_id)},d.tkhdBox.prototype.print=function(t){d.FullBox.prototype.printHeader.call(this,t),t.log(t.indent+"creation_time: "+this.creation_time),t.log(t.indent+"modification_time: "+this.modification_time),t.log(t.indent+"track_id: "+this.track_id),t.log(t.indent+"duration: "+this.duration),t.log(t.indent+"volume: "+(this.volume>>8)),t.log(t.indent+"matrix: "+this.matrix.join(", ")),t.log(t.indent+"layer: "+this.layer),t.log(t.indent+"alternate_group: "+this.alternate_group),t.log(t.indent+"width: "+this.width),t.log(t.indent+"height: "+this.height)},(m={}).createFile=function(t,e){var r=new c(e);return r.discardMdatData=!(void 0===t||t),r},iT.createFile=m.createFile;let iA=/* @__PURE__ */ix(iT),iC={sampleRate:48e3,channelCount:2,codec:"mp4a.40.2"};function iI(t,e){let r=e.videoTracks[0],s={};if(null!=r){let n=function(t){for(let e of t.mdia.minf.stbl.stsd.entries){let t=e.avcC??e.hvcC??e.vpcC;if(null!=t){let e=new iA.DataStream(void 0,0,iA.DataStream.BIG_ENDIAN);return t.write(e),new Uint8Array(e.buffer.slice(8))}}throw Error("avcC, hvcC or VPX not found")}(t.getTrackById(r.id)).buffer,{descKey:a,type:o}=r.codec.startsWith("avc1")?{descKey:"avcDecoderConfigRecord",type:"avc1"}:r.codec.startsWith("hvc1")?{descKey:"hevcDecoderConfigRecord",type:"hvc1"}:{descKey:"",type:""};""!==a&&(s.videoTrackConf={timescale:r.timescale,duration:r.duration,width:r.video.width,height:r.video.height,brands:e.brands,type:o,[a]:n}),s.videoDecoderConf={codec:r.codec,codedHeight:r.video.height,codedWidth:r.video.width,description:n}}let n=e.audioTracks[0];if(null!=n){let e=iB(t);s.audioTrackConf={timescale:n.timescale,samplerate:n.audio.sample_rate,channel_count:n.audio.channel_count,hdlr:"soun",type:n.codec.startsWith("mp4a")?"mp4a":n.codec,description:iB(t)},s.audioDecoderConf={codec:n.codec.startsWith("mp4a")?iC.codec:n.codec,numberOfChannels:n.audio.channel_count,sampleRate:n.audio.sample_rate,...null==e?{}:function(t){var e;let r=null==(e=t.esd.descs[0])?void 0:e.descs[0];if(null==r)return{};let[s,n]=r.data;return{sampleRate:[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350][((7&s)<<1)+(n>>7)],numberOfChannels:(127&n)>>3}}(e)}}return s}function iB(t,e="mp4a"){var r;let s=null==(r=t.moov)?void 0:r.traks.map(t=>t.mdia.minf.stbl.stsd.entries).flat().find(({type:t})=>t===e);return null==s?void 0:s.esds}class ik{constructor(){ey(this,"readable"),ey(this,"writable"),ew(this,A,0);let t=iA.createFile(),e=!1;this.readable=new ReadableStream({start:e=>{t.onReady=r=>{var s,n;let a=null==(s=r.videoTracks[0])?void 0:s.id;null!=a&&t.setExtractionOptions(a,"video",{nbSamples:100});let o=null==(n=r.audioTracks[0])?void 0:n.id;null!=o&&t.setExtractionOptions(o,"audio",{nbSamples:100}),e.enqueue({chunkType:"ready",data:{info:r,file:t}}),t.start()};let r={};t.onSamples=(s,n,a)=>{e.enqueue({chunkType:"samples",data:{id:s,type:n,samples:a.map(t=>({...t}))}}),r[s]=(r[s]??0)+a.length,t.releaseUsedSamples(s,r[s])},t.onFlush=()=>{e.close()}},cancel:()=>{t.stop(),e=!0}},{highWaterMark:50}),this.writable=new WritableStream({write:async r=>{if(e){this.writable.abort();return}let s=r.buffer;s.fileStart=eb(this,A),ev(this,A,eb(this,A)+s.byteLength),t.appendBuffer(s)},close:()=>{var e;t.flush(),t.stop(),null==(e=t.onFlush)||e.call(t)}})}}A=new WeakMap;let iF=0;function iR(t){return"file"===t.kind&&t.createReader instanceof Function}let iP=class t{constructor(t,e={audio:!0}){if(ew(this,C,e5.create(`MP4Clip id:${iF++},`)),ey(this,"ready"),ew(this,I,!1),ew(this,B,{duration:0,width:0,height:0,audioSampleRate:0,audioChanCount:0}),ew(this,k),ew(this,F,1),ew(this,R,[]),ew(this,P,[]),ew(this,z,null),ew(this,L,null),ew(this,D,{video:null,audio:null}),ew(this,M,{audio:!0}),ey(this,"tickInterceptor",async(t,e)=>e),ew(this,O,new AbortController),!(t instanceof ReadableStream)&&!iR(t)&&!Array.isArray(t.videoSamples))throw Error("Illegal argument");ev(this,M,{...e}),ev(this,F,"object"==typeof e.audio&&"volume"in e.audio?e.audio.volume:1);let r=async t=>(await eV(eb(this,k),t),await eb(this,k).stream());ev(this,k,iR(t)?t:"localFile"in t?t.localFile:e1()),this.ready=(t instanceof ReadableStream?r(t).then(t=>iL(t,eb(this,M))):iR(t)?t.stream().then(t=>iL(t,eb(this,M))):Promise.resolve(t)).then(async({videoSamples:t,audioSamples:e,decoderConf:r})=>{var s,n,a;ev(this,R,t),ev(this,P,e),ev(this,D,r);let{videoFrameFinder:o,audioFrameFinder:h}=(s={video:null==r.video?null:{...r.video,hardwareAcceleration:eb(this,M).__unsafe_hardwareAcceleration__},audio:r.audio},n=await eb(this,k).createReader(),{audioFrameFinder:null==(a=!1!==eb(this,M).audio?eb(this,F):null)||null==s.audio||0===e.length?null:new iM(n,e,s.audio,{volume:a,targetSampleRate:iC.sampleRate}),videoFrameFinder:null==s.video||0===t.length?null:new iD(n,t,s.video)});return ev(this,z,o),ev(this,L,h),ev(this,B,function(t,e,r){let s={duration:0,width:0,height:0,audioSampleRate:0,audioChanCount:0};null!=t.video&&e.length>0&&(s.width=t.video.codedWidth??0,s.height=t.video.codedHeight??0),null!=t.audio&&r.length>0&&(s.audioSampleRate=iC.sampleRate,s.audioChanCount=iC.channelCount);let n=0,a=0;if(e.length>0)for(let t=e.length-1;t>=0;t--){let r=e[t];if(!r.deleted){n=r.cts+r.duration;break}}if(r.length>0){let t=r.at(-1);a=t.cts+t.duration}return s.duration=Math.max(n,a),s}(r,t,e)),eb(this,C).info("MP4Clip meta:",eb(this,B)),{...eb(this,B)}})}get meta(){return{...eb(this,B)}}async tick(t){var e,r;if(t>=eb(this,B).duration)return await this.tickInterceptor(t,{audio:[],state:"done"});let[s,n]=await Promise.all([(null==(e=eb(this,L))?void 0:e.find(t))??[],null==(r=eb(this,z))?void 0:r.find(t)]);return null==n?await this.tickInterceptor(t,{audio:s,state:"success"}):await this.tickInterceptor(t,{video:n,audio:s,state:"success"})}async thumbnails(t=100,e){eb(this,O).abort(),ev(this,O,new AbortController);let r=eb(this,O).signal;await this.ready;let s="generate thumbnails aborted";if(r.aborted)throw Error(s);let{width:n,height:a}=eb(this,B),o=function(t,e,r){let s=new OffscreenCanvas(t,e),n=s.getContext("2d");return async a=>(n.drawImage(a,0,0,t,e),a.close(),await s.convertToBlob(r))}(t,Math.round(t/n*a),{quality:.1,type:"image/png"});return new Promise(async(t,n)=>{let a=[],h=eb(this,D).video;if(null==h||0===eb(this,R).length){l();return}async function l(){r.aborted||t(await Promise.all(a.map(async t=>({ts:t.ts,img:await t.img}))))}function u(t){a.push({ts:t.timestamp,img:o(t)})}r.addEventListener("abort",()=>{n(Error(s))});let{start:d=0,end:f=eb(this,B).duration,step:p}=e??{};if(p){let t=d,e=new iD(await eb(this,k).createReader(),eb(this,R),{...h,hardwareAcceleration:eb(this,M).__unsafe_hardwareAcceleration__});for(;t<=f&&!r.aborted;){let r=await e.find(t);r&&u(r),t+=p}e.destroy(),l()}else await iY(eb(this,R),eb(this,k),h,r,{start:d,end:f},(t,e)=>{u(t),e&&l()})})}async split(e){if(await this.ready,e<=0||e>=eb(this,B).duration)throw Error('"time" out of bounds');let[r,s]=function(t,e){if(0===t.length)return[];let r=0,s=0,n=-1;for(let a=0;a({...t}));for(let t=r;t({...t,cts:t.cts-e}));for(let t of h){if(t.cts>=0)break;t.deleted=!0,t.cts=-1}return[o,h]}(eb(this,R),e),[n,a]=function(t,e){if(0===t.length)return[];let r=-1;for(let s=0;st[s].cts)){r=s;break}if(-1===r)throw Error("Not found audio sample by time");return[t.slice(0,r),t.slice(r).map(t=>({...t,cts:t.cts-e}))]}(eb(this,P),e),o=new t({localFile:eb(this,k),videoSamples:r??[],audioSamples:n??[],decoderConf:eb(this,D)},eb(this,M)),h=new t({localFile:eb(this,k),videoSamples:s??[],audioSamples:a??[],decoderConf:eb(this,D)},eb(this,M));return await Promise.all([o.ready,h.ready]),[o,h]}async clone(){await this.ready;let e=new t({localFile:eb(this,k),videoSamples:[...eb(this,R)],audioSamples:[...eb(this,P)],decoderConf:eb(this,D)},eb(this,M));return await e.ready,e.tickInterceptor=this.tickInterceptor,e}async splitTrack(){await this.ready;let e=[];if(eb(this,R).length>0){let r=new t({localFile:eb(this,k),videoSamples:[...eb(this,R)],audioSamples:[],decoderConf:{video:eb(this,D).video,audio:null}},eb(this,M));await r.ready,r.tickInterceptor=this.tickInterceptor,e.push(r)}if(eb(this,P).length>0){let r=new t({localFile:eb(this,k),videoSamples:[],audioSamples:[...eb(this,P)],decoderConf:{audio:eb(this,D).audio,video:null}},eb(this,M));await r.ready,r.tickInterceptor=this.tickInterceptor,e.push(r)}return e}destroy(){var t,e;eb(this,I)||(eb(this,C).info("MP4Clip destroy"),ev(this,I,!0),null==(t=eb(this,z))||t.destroy(),null==(e=eb(this,L))||e.destroy())}};C=new WeakMap,I=new WeakMap,B=new WeakMap,k=new WeakMap,F=new WeakMap,R=new WeakMap,P=new WeakMap,z=new WeakMap,L=new WeakMap,D=new WeakMap,M=new WeakMap,O=new WeakMap;let iz=iP;async function iL(t,e={}){let r;let s={video:null,audio:null},n=[],a=[];return new Promise(async(h,l)=>{let u=-1,d=-1,f=iE(t.pipeThrough(new ik),{onChunk:async({chunkType:t,data:h})=>{if("ready"===t){r=h.info;let{videoDecoderConf:t,audioDecoderConf:e}=iI(h.file,h.info);s.video=t??null,s.audio=e??null,null==t&&null==e&&(f(),l(Error("MP4Clip must contain at least one video or audio track"))),e5.info("mp4BoxFile moov ready",{...h.info,tracks:null,videoTracks:null,audioTracks:null},s)}else if("samples"===t){if("video"===h.type)for(let t of(-1===u&&(u=h.samples[0].dts),h.samples))n.push(o(t,u,"video"));else if("audio"===h.type&&e.audio)for(let t of(-1===d&&(d=h.samples[0].dts),h.samples))a.push(o(t,d,"audio"))}},onDone:()=>{let t=n.at(-1)??a.at(-1);if(null==r){l(Error("MP4Clip stream is done, but not emit ready"));return}if(null==t){l(Error("MP4Clip stream not contain any sample"));return}let e=n[0];null!=e&&e.cts<2e5&&(e.duration+=e.cts,e.cts=0),e5.info("mp4 stream parsed"),h({videoSamples:n,audioSamples:a,decoderConf:s})}})});function o(t,e=0,r){return{...t,is_idr:"video"===r&&t.is_sync&&function(t){let e=new DataView(t.buffer),r=0;for(;r((null==eb(this,N)||t<=eb(this,G)||t-eb(this,G)>3e6)&&eb(this,Q).call(this,t),eb(this,Y).abort=!0,ev(this,G,t),ev(this,Y,{abort:!1,st:performance.now()}),await eb(this,$).call(this,t,eb(this,N),eb(this,Y)))),ew(this,W,0),ew(this,H,!1),ew(this,V,0),ew(this,X,[]),ew(this,j,0),ew(this,Z,0),ew(this,$,async(t,e,r)=>{if(null==e||"closed"===e.state||r.abort)return null;if(eb(this,X).length>0){let s=eb(this,X)[0];return ts.timestamp+(s.duration??0)?(s.close(),await eb(this,$).call(this,t,e,r)):(eb(this,X).length<10&&eb(this,q).call(this,e).catch(e=>{throw eb(this,Q).call(this,t),e}),s))}if(eb(this,K)||eb(this,j)0){if(performance.now()-r.st>3e3)throw Error(`MP4Clip.tick video timeout, ${JSON.stringify(eb(this,J).call(this))}`);await iv(15)}else{if(eb(this,V)>=this.samples.length)return null;try{await eb(this,q).call(this,e)}catch(e){throw eb(this,Q).call(this,t),e}}return await eb(this,$).call(this,t,e,r)}),ew(this,K,!1),ew(this,q,async t=>{var e,r;if(eb(this,K))return;ev(this,K,!0);let s=eb(this,V)+1,n=!1;for(;s{if(eb(this,H))throw t;ev(this,H,!0),e5.warn("Downgrade to software decode"),eb(this,Q).call(this)}}),ev(this,Z,eb(this,Z)+e.length)}}ev(this,V,s),ev(this,K,!1)}),ew(this,Q,t=>{var e,r;if(ev(this,K,!1),eb(this,X).forEach(t=>t.close()),ev(this,X,[]),null==t||0===t)ev(this,V,0);else{let e=0;for(let r=0;r{if(ev(this,j,eb(this,j)+1),-1===t.timestamp){t.close();return}let e=t;null==t.duration&&(e=new VideoFrame(t,{duration:eb(this,W)}),t.close()),eb(this,X).push(e)},error:t=>{e5.error(`MP4Clip VideoDecoder err: ${t.message}`)}})),eb(this,N).configure({...this.conf,...eb(this,H)?{hardwareAcceleration:"prefer-software"}:{}})}),ew(this,J,()=>{var t,e;return{time:eb(this,G),decState:null==(t=eb(this,N))?void 0:t.state,decQSize:null==(e=eb(this,N))?void 0:e.decodeQueueSize,decCusorIdx:eb(this,V),sampleLen:this.samples.length,inputCnt:eb(this,Z),outputCnt:eb(this,j),cacheFrameLen:eb(this,X).length,softDeocde:eb(this,H)}}),ey(this,"destroy",()=>{var t,e;(null==(t=eb(this,N))?void 0:t.state)!=="closed"&&(null==(e=eb(this,N))||e.close()),ev(this,N,null),eb(this,Y).abort=!0,eb(this,X).forEach(t=>t.close()),ev(this,X,[]),this.localFileReader.close()}),this.localFileReader=t,this.samples=e,this.conf=r}}N=new WeakMap,G=new WeakMap,Y=new WeakMap,W=new WeakMap,H=new WeakMap,V=new WeakMap,X=new WeakMap,j=new WeakMap,Z=new WeakMap,$=new WeakMap,K=new WeakMap,q=new WeakMap,Q=new WeakMap,J=new WeakMap;class iM{constructor(t,e,r,s){ew(this,tt,1),ew(this,te),ew(this,ti,null),ew(this,tr,{abort:!1,st:performance.now()}),ey(this,"find",async t=>{if(null==eb(this,ti)||t<=eb(this,ts)||t-eb(this,ts)>1e5){eb(this,tl).call(this),ev(this,ts,t);for(let e=0;e{if(null==e||r.abort||"closed"===e.state)return[];let s=Math.ceil(t*(eb(this,te)/1e6));if(0===s)return[];let n=eb(this,ta).frameCnt-s;if(n>0)return ne){let h=e-s;r[0].set(a.subarray(0,h),s),r[1].set(o.subarray(0,h),s),t.data[n][0]=a.subarray(h,a.length),t.data[n][1]=o.subarray(h,o.length);break}r[0].set(a,s),r[1].set(o,s),s+=a.length,n++}return t.data=t.data.slice(n),t.frameCnt-=e,r}(eb(this,ta),s);if(e.decodeQueueSize>10){if(performance.now()-r.st>3e3)throw r.abort=!0,Error(`MP4Clip.tick audio timeout, ${JSON.stringify(eb(this,tu).call(this))}`);await iv(15)}else{if(eb(this,tn)>=this.samples.length-1)return[];eb(this,th).call(this,e)}return eb(this,to).call(this,t,e,r)}),ew(this,th,t=>{if(t.decodeQueueSize>100)return;let e=[],r=eb(this,tn);for(;r=10))break}ev(this,tn,r),t.decode(e.map(t=>new EncodedAudioChunk({type:"key",timestamp:t.cts,duration:t.duration,data:t.data})))}),ew(this,tl,()=>{var t;ev(this,ts,0),ev(this,tn,0),ev(this,ta,{frameCnt:0,data:[]}),null==(t=eb(this,ti))||t.close(),ev(this,ti,function(t,e,r){let s=t=>{if(0!==t.length){if(1!==e.volume)for(let r of t)for(let t=0;t{let r=n;n+=1,t().then(t=>{e[r]=t,s()}).catch(t=>{e[r]=t,s()})}}(s),a=e.resampleRate!==t.sampleRate,o=new AudioDecoder({output:t=>{let r=im(t);a?n(()=>iw(r,t.sampleRate,{rate:e.resampleRate,chanCount:t.numberOfChannels})):s(r),t.close()},error:t=>{e5.error(`MP4Clip AudioDecoder err: ${t.message}`)}});return o.configure(t),{decode(t){for(let e of t)o.decode(e)},close(){"closed"!==o.state&&o.close()},get state(){return o.state},get decodeQueueSize(){return o.decodeQueueSize}}}(this.conf,{resampleRate:iC.sampleRate,volume:eb(this,tt)},t=>{eb(this,ta).data.push(t),eb(this,ta).frameCnt+=t[0].length}))}),ew(this,tu,()=>{var t,e;return{time:eb(this,ts),decState:null==(t=eb(this,ti))?void 0:t.state,decQSize:null==(e=eb(this,ti))?void 0:e.decodeQueueSize,decCusorIdx:eb(this,tn),sampleLen:this.samples.length,pcmLen:eb(this,ta).frameCnt}}),ey(this,"destroy",()=>{ev(this,ti,null),eb(this,tr).abort=!0,ev(this,ta,{frameCnt:0,data:[]}),this.localFileReader.close()}),this.localFileReader=t,this.samples=e,this.conf=r,ev(this,tt,s.volume),ev(this,te,s.targetSampleRate)}}async function iO(t,e){let r=t[0],s=t.at(-1);if(null==s)return[];let n=s.offset+s.size-r.offset;if(n<3e7){let s=new Uint8Array(await e.read(n,{at:r.offset}));return t.map(t=>{let e=t.offset-r.offset,n=s.subarray(e,e+t.size);return t.is_idr&&(n=iG(n)),new EncodedVideoChunk({type:t.is_sync?"key":"delta",timestamp:t.cts,duration:t.duration,data:n})})}return await Promise.all(t.map(async t=>{let r=await e.read(t.size,{at:t.offset});return t.is_idr&&(r=iG(new Uint8Array(r))),new EncodedVideoChunk({type:t.is_sync?"key":"delta",timestamp:t.cts,duration:t.duration,data:r})}))}function iN(t,e,r){let s=0;if("configured"===t.state){for(;s{if(!(t instanceof Error))throw t;if(t.message.includes("Decoding error")&&null!=r.onDecodingError){r.onDecodingError(t);return}if(!t.message.includes("Aborted due to close"))throw t})}}function iG(t){let e=new DataView(t.buffer);return(31&e.getUint8(4))==6?t.subarray(e.getUint32(0)+4):t}async function iY(t,e,r,s,n,a){let o=await e.createReader(),h=0,l=new VideoDecoder({output:t=>{let e=(h+=1)===u.length;a(t,e),e&&o.close()},error:e5.error});s.addEventListener("abort",()=>{o.close(),l.close()});let u=await iO(t.filter(t=>!t.deleted&&t.is_sync&&t.cts>=n.start&&t.cts<=n.end),o);0===u.length||s.aborted||(l.configure(r),iN(l,u,{}))}tt=new WeakMap,te=new WeakMap,ti=new WeakMap,tr=new WeakMap,ts=new WeakMap,tn=new WeakMap,ta=new WeakMap,to=new WeakMap,th=new WeakMap,tl=new WeakMap,tu=new WeakMap;let iW=class t{constructor(t){ew(this,tc),ey(this,"ready"),ew(this,td,{duration:0,width:0,height:0}),ew(this,tf,null),ew(this,tp,[]);let e=t=>(ev(this,tf,t),eb(this,td).width=t.width,eb(this,td).height=t.height,eb(this,td).duration=1/0,{...eb(this,td)});if(t instanceof ReadableStream)this.ready=new Response(t).blob().then(t=>createImageBitmap(t)).then(e);else if(t instanceof ImageBitmap)this.ready=Promise.resolve(e(t));else if(Array.isArray(t)&&t.every(t=>t instanceof VideoFrame)){ev(this,tp,t);let e=eb(this,tp)[0];if(null==e)throw Error("The frame count must be greater than 0");ev(this,td,{width:e.displayWidth,height:e.displayHeight,duration:eb(this,tp).reduce((t,e)=>t+(e.duration??0),0)}),this.ready=Promise.resolve({...eb(this,td),duration:1/0})}else if("type"in t)this.ready=eS(this,tc,tm).call(this,t.stream,t.type).then(()=>({width:eb(this,td).width,height:eb(this,td).height,duration:1/0}));else throw Error("Illegal arguments")}get meta(){return{...eb(this,td)}}async tick(t){if(null!=eb(this,tf))return{video:await createImageBitmap(eb(this,tf)),state:"success"};let e=t%eb(this,td).duration;return{video:(eb(this,tp).find(t=>e>=t.timestamp&&e<=t.timestamp+(t.duration??0))??eb(this,tp)[0]).clone(),state:"success"}}async split(e){if(await this.ready,null!=eb(this,tf))return[new t(await createImageBitmap(eb(this,tf))),new t(await createImageBitmap(eb(this,tf)))];let r=-1;for(let t=0;teb(this,tp)[t].timestamp)){r=t;break}if(-1===r)throw Error("Not found frame by time");let s=eb(this,tp).slice(0,r).map(t=>new VideoFrame(t)),n=eb(this,tp).slice(r).map(t=>new VideoFrame(t,{timestamp:t.timestamp-e}));return[new t(s),new t(n)]}async clone(){return await this.ready,new t(null==eb(this,tf)?eb(this,tp).map(t=>t.clone()):await createImageBitmap(eb(this,tf)))}destroy(){var t;e5.info("ImgClip destroy"),null==(t=eb(this,tf))||t.close(),eb(this,tp).forEach(t=>t.close())}};td=new WeakMap,tf=new WeakMap,tp=new WeakMap,tc=new WeakSet,tm=async function(t,e){ev(this,tp,await i_(t,e));let r=eb(this,tp)[0];if(null==r)throw Error("No frame available in gif");ev(this,td,{duration:eb(this,tp).reduce((t,e)=>t+(e.duration??0),0),width:r.codedWidth,height:r.codedHeight}),e5.info("ImgClip ready:",eb(this,td))};let iH=iW,iV=class t{constructor(t,e={}){ew(this,tw),ey(this,"ready"),ew(this,tg,{duration:0,width:0,height:0}),ew(this,ty,new Float32Array),ew(this,t_,new Float32Array),ew(this,tb),ew(this,tS,0),ew(this,tE,0),ev(this,tb,{loop:!1,volume:1,...e}),this.ready=eS(this,tw,tv).call(this,t).then(()=>({width:0,height:0,duration:e.loop?1/0:eb(this,tg).duration}))}get meta(){return{...eb(this,tg),sampleRate:iC.sampleRate,chanCount:2}}getPCMData(){return[eb(this,ty),eb(this,t_)]}async tick(t){if(!eb(this,tb).loop&&t>=eb(this,tg).duration)return{audio:[],state:"done"};let e=t-eb(this,tS);if(t3e6)return ev(this,tS,t),ev(this,tE,Math.ceil(eb(this,tS)/1e6*iC.sampleRate)),{audio:[new Float32Array(0),new Float32Array(0)],state:"success"};ev(this,tS,t);let r=Math.ceil(e/1e6*iC.sampleRate),s=eb(this,tE)+r,n=eb(this,tb).loop?[iS(eb(this,ty),eb(this,tE),s),iS(eb(this,t_),eb(this,tE),s)]:[eb(this,ty).slice(eb(this,tE),s),eb(this,t_).slice(eb(this,tE),s)];return ev(this,tE,s),{audio:n,state:"success"}}async split(e){await this.ready;let r=Math.ceil(e/1e6*iC.sampleRate);return[new t(this.getPCMData().map(t=>t.slice(0,r)),eb(this,tb)),new t(this.getPCMData().map(t=>t.slice(r)),eb(this,tb))]}async clone(){await this.ready;let e=new t(this.getPCMData(),eb(this,tb));return await e.ready,e}destroy(){ev(this,ty,new Float32Array(0)),ev(this,t_,new Float32Array(0)),e5.info("---- audioclip destroy ----")}};tg=new WeakMap,ty=new WeakMap,t_=new WeakMap,tb=new WeakMap,tw=new WeakSet,tv=async function(t){null==iV.ctx&&(iV.ctx=new AudioContext({sampleRate:iC.sampleRate}));let e=performance.now(),r=t instanceof ReadableStream?await iZ(t,iV.ctx):t;e5.info("Audio clip decoded complete:",performance.now()-e);let s=eb(this,tb).volume;if(1!==s)for(let t of r)for(let e=0;e{}),ey(this,"audioTrack"),ew(this,tT,null),ew(this,tA),ev(this,tA,t);let e=t.getVideoTracks()[0];if(null!=e){var r;let{width:t,height:s}=e.getSettings();e.contentHint="motion",eb(this,tU).width=t??0,eb(this,tU).height=s??0,ev(this,tT,new OffscreenCanvas(t??0,s??0)),ev(this,tx,(r=eb(this,tT).getContext("2d"),iE(new MediaStreamTrackProcessor({track:e}).readable,{onChunk:async t=>{r.drawImage(t,0,0),t.close()},onDone:async()=>{}})))}this.audioTrack=t.getAudioTracks()[0]??null,eb(this,tU).duration=1/0,this.ready=Promise.resolve(this.meta)}get meta(){return{...eb(this,tU)}}async tick(){return{video:null==eb(this,tT)?null:await createImageBitmap(eb(this,tT)),audio:[],state:"success"}}async split(){return[await this.clone(),await this.clone()]}async clone(){return new t(eb(this,tA).clone())}destroy(){eb(this,tA).getTracks().forEach(t=>t.stop()),eb(this,tx).call(this)}};tU=new WeakMap,tx=new WeakMap,tT=new WeakMap,tA=new WeakMap,ey(i$,"ctx",null);let iK=i$,iq=class t{constructor(t,e){var r;if(ew(this,tL),ey(this,"ready"),ew(this,tC,[]),ew(this,tI,{width:0,height:0,duration:0}),ew(this,tB,{color:"#FFF",textBgColor:null,type:"srt",fontSize:30,letterSpacing:null,bottomOffset:30,fontFamily:"Noto Sans SC",strokeStyle:"#000",lineWidth:null,lineCap:null,lineJoin:null,textShadow:{offsetX:2,offsetY:2,blur:4,color:"#000"},videoWidth:1280,videoHeight:720}),ew(this,tk),ew(this,tF),ew(this,tR,null),ew(this,tP,0),ew(this,tz,0),ev(this,tC,Array.isArray(t)?t:t.split(/\r|\n/).map(t=>t.trim()).filter(t=>t.length>0).map(t=>({lineStr:t,match:t.match(/(\d{2}:\d{2}:\d{2},\d{3}) --> (\d{2}:\d{2}:\d{2},\d{3})/)})).filter(({lineStr:t},e,r)=>{var s;return!(/^\d+$/.test(t)&&(null==(s=r[e+1])?void 0:s.match)!=null)}).reduce((t,{lineStr:e,match:r})=>{if(null==r){let r=t.at(-1);if(null==r)return t;r.text+=0===r.text.length?e:` ${e}`}else t.push({start:iJ(r[1]),end:iJ(r[2]),text:""});return t},[]).map(({start:t,end:e,text:r})=>({start:1e6*t,end:1e6*e,text:r}))),0===eb(this,tC).length)throw Error("No subtitles content");ev(this,tB,Object.assign(eb(this,tB),e)),ev(this,tz,null==e.textBgColor?0:(e.fontSize??50)*.2);let{fontSize:s,fontFamily:n,videoWidth:a,videoHeight:o,letterSpacing:h}=eb(this,tB);ev(this,tP,s+2*eb(this,tz)),ev(this,tk,new OffscreenCanvas(a,o)),ev(this,tF,eb(this,tk).getContext("2d")),eb(this,tF).font=`${s}px ${n}`,eb(this,tF).textAlign="center",eb(this,tF).textBaseline="top",eb(this,tF).letterSpacing=h??"0px",ev(this,tI,{width:a,height:o,duration:(null==(r=eb(this,tC).at(-1))?void 0:r.end)??0}),this.ready=Promise.resolve(this.meta)}get meta(){return{...eb(this,tI)}}async tick(t){var e,r;if(null!=eb(this,tR)&&t>=eb(this,tR).timestamp&&t<=eb(this,tR).timestamp+(eb(this,tR).duration??0))return{video:eb(this,tR).clone(),state:"success"};let s=0;for(;sn.end)return{state:"done"};if(teb(this,tC)[t].start)){r=t;break}if(-1===r)throw Error("Not found subtitle by time");let s=eb(this,tC).slice(0,r).map(t=>({...t})),n=s.at(-1),a=null;null!=n&&n.end>e&&(a={start:0,end:n.end-e,text:n.text},n.end=e);let o=eb(this,tC).slice(r).map(t=>({...t,start:t.start-e,end:t.end-e}));return null!=a&&o.unshift(a),[new t(s,eb(this,tB)),new t(o,eb(this,tB))]}async clone(){return new t(eb(this,tC).slice(0),eb(this,tB))}destroy(){var t;null==(t=eb(this,tR))||t.close()}};tC=new WeakMap,tI=new WeakMap,tB=new WeakMap,tk=new WeakMap,tF=new WeakMap,tR=new WeakMap,tP=new WeakMap,tz=new WeakMap,tL=new WeakSet,tD=function(t){let e=t.split(` `).reverse().map(t=>t.trim()),{width:r,height:s}=eb(this,tk),{color:n,fontSize:a,textBgColor:o,textShadow:h,strokeStyle:l,lineWidth:u,lineCap:d,lineJoin:f,bottomOffset:p}=eb(this,tB),c=eb(this,tF);c.clearRect(0,0,r,s),c.globalAlpha=.6;let m=p;for(let t of e){let e=c.measureText(t),p=r/2;null!=o&&(c.shadowOffsetX=0,c.shadowOffsetY=0,c.shadowBlur=0,c.fillStyle=o,c.globalAlpha=.5,c.fillRect(p-e.actualBoundingBoxLeft-eb(this,tz),s-m-eb(this,tP),e.width+2*eb(this,tz),eb(this,tP))),c.shadowColor=h.color,c.shadowOffsetX=h.offsetX,c.shadowOffsetY=h.offsetY,c.shadowBlur=h.blur,c.globalAlpha=1,null!=l&&(c.lineWidth=u??a/6,null!=d&&(c.lineCap=d),null!=f&&(c.lineJoin=f),c.strokeStyle=l,c.strokeText(t,p,s-m-eb(this,tP)+eb(this,tz))),c.fillStyle=n,c.fillText(t,p,s-m-eb(this,tP)+eb(this,tz)),m+=eb(this,tP)+.2*a}};let iQ=iq;function iJ(t){let e=t.match(/(\d{2}):(\d{2}):(\d{2}),(\d{3})/);if(null==e)throw Error(`time format error: ${t}`);let r=Number(e[1]);return 3600*r+60*Number(e[2])+Number(e[3])+Number(e[4])/1e3}class i0{constructor(){ew(this,tM,/* @__PURE__ */new Map),ey(this,"on",(t,e)=>{let r=eb(this,tM).get(t)??/* @__PURE__ */new Set;return r.add(e),eb(this,tM).has(t)||eb(this,tM).set(t,r),()=>{r.delete(e),0===r.size&&eb(this,tM).delete(t)}}),ey(this,"once",(t,e)=>{let r=this.on(t,(...t)=>{r(),e(...t)});return r}),ey(this,"emit",(t,...e)=>{let r=eb(this,tM).get(t);null!=r&&r.forEach(t=>t(...e))})}static forwardEvent(t,e,r){let s=r.map(r=>{let[s,n]=Array.isArray(r)?r:[r,r];return t.on(s,(...t)=>{e.emit(n,...t)})});return()=>{s.forEach(t=>t())}}destroy(){eb(this,tM).clear()}}tM=new WeakMap;let i1=(t,e)=>{let r=new Uint8Array(8);new DataView(r.buffer).setUint32(0,e);for(let e=0;e<4;e++)r[4+e]=t.charCodeAt(e);return r},i2=()=>{let t=new TextEncoder,e=t.encode("mdta"),r=t.encode("mp4 handler"),s=32+r.byteLength+1,n=new Uint8Array(s),a=new DataView(n.buffer);return n.set(i1("hdlr",s),0),a.setUint32(8,0),n.set(e,16),n.set(r,32),n},i3=t=>{let e=new TextEncoder,r=e.encode("mdta"),s=t.map(t=>{let s=e.encode(t),n=8+s.byteLength,a=new Uint8Array(n);return new DataView(a.buffer).setUint32(0,n),a.set(r,4),a.set(s,4+r.byteLength),a}),n=16+s.reduce((t,e)=>t+e.byteLength,0),a=new Uint8Array(n),o=new DataView(a.buffer);a.set(i1("keys",n),0),o.setUint32(8,0),o.setUint32(12,t.length);let h=16;for(let t of s)a.set(t,h),h+=t.byteLength;return a},i6=t=>{let e=new TextEncoder,r=e.encode("data"),s=Object.entries(t).map(([t,s],n)=>{let a=e.encode(s),o=24+a.byteLength,h=new Uint8Array(o),l=new DataView(h.buffer);return l.setUint32(0,o),l.setUint32(4,n+1),l.setUint32(8,16+a.byteLength),h.set(r,12),l.setUint32(16,1),h.set(a,24),h}),n=8+s.reduce((t,e)=>t+e.byteLength,0),a=new Uint8Array(n);a.set(i1("ilst",n),0);let o=8;for(let t of s)a.set(t,o),o+=t.byteLength;return a},i8=t=>{let e=i2(),r=i3(Object.keys(t)),s=i6(t),n=new Uint8Array(e.length+r.length+s.length);return n.set(e,0),n.set(r,e.length),n.set(s,e.length+r.length),n};function i4(t){e5.info("recodemux opts:",t);let e=iA.createFile(),r=new i0,s=(t,e)=>{let r=t.add("udta").add("meta");r.data=i8(e),r.size=r.data.byteLength},n=!1,a=()=>{null==e.moov||n||(n=!0,null!=t.metaDataTags&&s(e.moov,t.metaDataTags),null!=t.duration&&(e.moov.mvhd.duration=t.duration))};r.once("VideoReady",a),r.once("AudioReady",a);let o=null!=t.video?function(t,e,r){let s={timescale:1e6,width:t.width,height:t.height,brands:["isom","iso2","avc1","mp42","mp41"],avcDecoderConfigRecord:null,name:"Track created with WebAV"},n=-1,a=!1;r.once("AudioReady",()=>{a=!0});let o={encoder0:[],encoder1:[]},h=(t,a,h)=>{var l;if(-1===n&&null!=h){let t=null==(l=h.decoderConfig)?void 0:l.description;(function(t){let e=new Uint8Array(t);e[2].toString(2).slice(-2).includes("1")&&(e[2]=0)})(t),s.avcDecoderConfigRecord=t,n=e.addTrack(s),r.emit("VideoReady"),e5.info("VideoEncoder, video track ready, trackId:",n)}o[t].push(i9(a))},l="encoder1",u=0;function d(){if(!a)return;let t="encoder1"===l?"encoder0":"encoder1",r=o[l],s=o[t];if(0===r.length&&0===s.length)return;let h=r[0];if(null!=h&&h.cts-u<1e4){let t=function(t){let r=-1,s=0;for(;s0&&a.is_sync)break;e.addSample(n,a.data,a),r=a.cts+a.duration}return t.splice(0,s),r}(r);t>u&&(u=t)}let f=s[0];null!=f&&f.cts-u<1e4&&(l=t,d())}let f=is(d,15),p=i5(t,(t,e)=>h("encoder0",t,e)),c=i5(t,(t,e)=>h("encoder1",t,e)),m=0;return{get encodeQueueSize(){return p.encodeQueueSize+c.encodeQueueSize},encode:(t,e)=>{e.keyFrame&&(m+=1),(m%2==0?p:c).encode(t,e)},flush:async()=>{await Promise.all(["configured"===p.state?await p.flush():null,"configured"===c.state?await c.flush():null]),f(),d()},close:()=>{"configured"===p.state&&p.close(),"configured"===c.state&&c.close()}}}(t.video,e,r):null,h=null!=t.audio?function(t,e,r){let s={timescale:1e6,samplerate:t.sampleRate,channel_count:t.channelCount,hdlr:"soun",type:"aac"===t.codec?"mp4a":"Opus",name:"Track created with WebAV"},n=-1,a=[],o=!1;r.once("VideoReady",()=>{o=!0,a.forEach(t=>{let r=i9(t);e.addSample(n,r.data,r)}),a=[]});let h=new AudioEncoder({error:e5.error,output:(t,h)=>{var l;if(-1===n){let t=null==(l=h.decoderConfig)?void 0:l.description;n=e.addTrack({...s,description:null==t?void 0:function(t){let e=t.byteLength,r=new Uint8Array([0,0,0,0,3,23+e,0,2,0,4,18+e,64,21,0,0,0,0,0,0,0,0,0,0,0,5,e,...new Uint8Array(t instanceof ArrayBuffer?t:t.buffer),6,1,2]),s=new iA.BoxParser.esdsBox(r.byteLength);return s.hdr_size=0,s.parse(new iA.DataStream(r,0,iA.DataStream.BIG_ENDIAN)),s}(t)}),r.emit("AudioReady"),e5.info("AudioEncoder, audio track ready, trackId:",n)}if(o){let r=i9(t);e.addSample(n,r.data,r)}else a.push(t)}});return h.configure({codec:"aac"===t.codec?iC.codec:"opus",sampleRate:t.sampleRate,numberOfChannels:t.channelCount,bitrate:128e3}),h}(t.audio,e,r):null;return null==t.video&&r.emit("VideoReady"),null==t.audio&&r.emit("AudioReady"),{encodeVideo:(t,e)=>{null==o||o.encode(t,e),t.close()},encodeAudio:t=>{null!=h&&(h.encode(t),t.close())},getEncodeQueueSize:()=>(null==o?void 0:o.encodeQueueSize)??(null==h?void 0:h.encodeQueueSize)??0,flush:async()=>{await Promise.all([null==o?void 0:o.flush(),(null==h?void 0:h.state)==="configured"?h.flush():null])},close:()=>{r.destroy(),null==o||o.close(),(null==h?void 0:h.state)==="configured"&&h.close()},mp4file:e}}function i5(t,e){let r=new VideoEncoder({error:e5.error,output:e});return r.configure({codec:t.codec,framerate:t.expectFPS,hardwareAcceleration:t.__unsafe_hardwareAcceleration__,bitrate:t.bitrate,width:t.width,height:t.height,alpha:"discard",avc:{format:"avc"}}),r}function i7(t,e,r){let s=0,n=0,a=t.boxes,o=!1,h=()=>{var e;if(!o){if(null==a.find(t=>"moof"===t.type))return null;o=!0}if(n>=a.length)return null;let r=new iA.DataStream;r.endianness=iA.DataStream.BIG_ENDIAN;let s=n;try{for(;s{let t=h();null==t||u||r.enqueue(t)},e),d=e=>{if(clearInterval(s),t.flush(),null!=e){r.error(e);return}let n=h();null==n||u||r.enqueue(n),u||r.close()},l&&d()},cancel(){u=!0,clearInterval(s),null==r||r()}}),stop:t=>{l||(l=!0,null==d||d(t))}}}function i9(t){let e=new ArrayBuffer(t.byteLength);t.copyTo(e);let r=t.timestamp;return{duration:t.duration??0,dts:r,cts:r,is_sync:"key"===t.type,data:e}}async function rt(t){let e=iA.createFile(),r=function(t){let e=0,r=t.boxes,s=[],n=0;async function a(){let a=c(r,e);e=r.length,s.forEach(({track:e,id:r})=>{let s=e.samples.at(-1);null!=s&&(n=Math.max(n,s.cts+s.duration)),t.releaseUsedSamples(r,e.samples.length),e.samples=[]}),t.mdats=[],t.moofs=[],null!=a&&await (null==d?void 0:d.write(a))}let o=[];function h(){if(o.length>0)return!0;let n=r.findIndex(t=>"moov"===t.type);if(-1===n)return!1;if(o=r.slice(0,n+1),e=n+1,0===s.length)for(let e=1;;e+=1){let r=t.getTrackById(e);if(null==r)break;s.push({track:r,id:e})}return!0}let l=0,u=e1(),d=null,f=(async()=>{d=await u.createWriter(),l=self.setInterval(()=>{h()&&a()},100)})(),p=!1;return async()=>{if(p)throw Error("File exported");if(p=!0,await f,clearInterval(l),!h()||null==d)return null;t.flush(),await a(),await (null==d?void 0:d.close());let e=o.find(t=>"moov"===t.type);if(null==e)return null;e.mvhd.duration=n;let r=e1(),s=c(o,0);return await eV(r,s),await eV(r,u,{overwrite:!1}),await r.stream()};function c(t,e){if(e>=t.length)return null;let r=new iA.DataStream;r.endianness=iA.DataStream.BIG_ENDIAN;for(let s=e;s{iE(d.pipeThrough(new ik),{onDone:t,onChunk:async({chunkType:t,data:d})=>{if("ready"===t){let{videoTrackConf:t,audioTrackConf:s}=iI(d.file,d.info);0===r&&null!=t&&(r=e.addTrack(t)),0===a&&null!=s&&(a=e.addTrack(s))}else if("samples"===t){let{type:t,samples:f}=d,p="video"===t?r:a,c="video"===t?s:o,m="video"===t?n:h;f.forEach(t=>{e.addSample(p,t.data,{duration:t.duration,dts:t.dts+c,cts:t.cts+m,is_sync:t.is_sync})});let g=f.at(-1);if(null==g)return;"video"===t?l=g:"audio"===t&&(u=g)}}})}),null!=l&&(s+=l.dts,n+=l.cts),null!=u&&(o+=u.dts,h+=u.cts)}async function ri(t){return await rt([t])}function rr(t,e){e5.info("mixinMP4AndAudio, opts:",{volume:e.volume,loop:e.loop});let r=iA.createFile(),{stream:s,stop:n}=i7(r,500),a=null,o=null,h=[],l=0,u=0,d=0,f=!0,p=48e3;function c(t){let r=h.map(r=>e.loop?iS(r,d,d+t):r.slice(d,d+t));if(d+=t,1!==e.volume)for(let t of r)for(let r=0;r{await (null==o?void 0:o.stop()),null==a||a.close(),n()},onChunk:async({chunkType:t,data:s})=>{if("ready"===t){let{videoTrackConf:t,audioTrackConf:n,audioDecoderConf:d}=iI(s.file,s.info);0===l&&null!=t&&(l=r.addTrack(t));let c=n??{timescale:1e6,samplerate:p,channel_count:iC.channelCount,hdlr:"soun",name:"SoundHandler",type:"mp4a"};0===u&&(u=r.addTrack(c),p=(null==n?void 0:n.samplerate)??p,f=null!=n);let m=new AudioContext({sampleRate:p});h=ig(await m.decodeAudioData(await new Response(e.stream).arrayBuffer())),null!=d&&(a=function(t){let e=[],r=new AudioDecoder({output:t=>{e.push(t)},error:e5.error});return r.configure(t),{decode:async t=>{t.forEach(t=>{r.decode(new EncodedAudioChunk({type:t.is_sync?"key":"delta",timestamp:1e6*t.cts/t.timescale,duration:1e6*t.duration/t.timescale,data:t.data}))}),await r.flush();let s=e;return e=[],s},close:()=>{r.close()}}}(d)),o=function(t,e){let r=new AudioEncoder({output:t=>{e(i9(t))},error:e5.error});r.configure({codec:t.codec,sampleRate:t.sampleRate,numberOfChannels:t.numberOfChannels});let s=null;function n(e,r){return new AudioData({timestamp:r,numberOfChannels:t.numberOfChannels,numberOfFrames:e.length/t.numberOfChannels,sampleRate:t.sampleRate,format:"f32-planar",data:e})}return{encode:async(t,e)=>{null!=s&&r.encode(n(s.data,s.ts)),s={data:t,ts:e}},stop:async()=>{null!=s&&(function(t,e,r){let s=t.length-1,n=Math.min(r/2,s);for(let r=0;rr.addSample(u,t.data,t))}else if("samples"===t){let{id:t,type:e,samples:n}=s;if("video"===e){n.forEach(e=>r.addSample(t,e.data,e)),f||await m(n);return}"audio"===e&&await g(n)}}}),s}var rs=/* @__PURE__ */function(){function t(){this.listeners={}}var e=t.prototype;return e.on=function(t,e){this.listeners[t]||(this.listeners[t]=[]),this.listeners[t].push(e)},e.off=function(t,e){if(!this.listeners[t])return!1;var r=this.listeners[t].indexOf(e);return this.listeners[t]=this.listeners[t].slice(0),this.listeners[t].splice(r,1),r>-1},e.trigger=function(t){var e=this.listeners[t];if(e){if(2==arguments.length)for(var r=e.length,s=0;stypeof window?tO=window:"u">typeof iU?tO=iU:"u">typeof self?tO=self:tO={};let ra=/* @__PURE__ */ix(tO);/*! @name m3u8-parser @version 7.1.0 @license Apache-2.0 */class ro extends rs{constructor(){super(),this.buffer=""}push(t){let e;for(this.buffer+=t,e=this.buffer.indexOf(` `);e>-1;e=this.buffer.indexOf(` `))this.trigger("data",this.buffer.substring(0,e)),this.buffer=this.buffer.substring(e+1)}}let rh=function(t){let e=/([0-9.]*)?@?([0-9.]*)?/.exec(t||""),r={};return e[1]&&(r.length=parseInt(e[1],10)),e[2]&&(r.offset=parseInt(e[2],10)),r},rl=function(t){let e={};if(!t)return e;let r=t.split(RegExp('(?:^|,)((?:[^=]*)=(?:"[^"]*"|[^,]*))')),s=r.length,n;for(;s--;)""!==r[s]&&((n=/([^=]*)=(.*)/.exec(r[s]).slice(1))[0]=n[0].replace(/^\s+|\s+$/g,""),n[1]=n[1].replace(/^\s+|\s+$/g,""),n[1]=n[1].replace(/^['"](.*)['"]$/g,"$1"),e[n[0]]=n[1]);return e};class ru extends rs{constructor(){super(),this.customParsers=[],this.tagMappers=[]}push(t){let e,r;if(0!==(t=t.trim()).length){if("#"!==t[0]){this.trigger("data",{type:"uri",uri:t});return}this.tagMappers.reduce((e,r)=>{let s=r(t);return s===t?e:e.concat([s])},[t]).forEach(t=>{for(let e=0;et),this.customParsers.push(n=>{if(t.exec(n))return this.trigger("data",{type:"custom",data:r(n),customType:e,segment:s}),!0})}addTagMapper({expression:t,map:e}){this.tagMappers.push(r=>t.test(r)?e(r):r)}}let rd=t=>t.toLowerCase().replace(/-(\w)/g,t=>t[1].toUpperCase()),rf=function(t){let e={};return Object.keys(t).forEach(function(r){e[rd(r)]=t[r]}),e},rp=function(t){let{serverControl:e,targetDuration:r,partTargetDuration:s}=t;if(!e)return;let n="#EXT-X-SERVER-CONTROL",a="holdBack",o="partHoldBack",h=r&&3*r,l=s&&2*s;r&&!e.hasOwnProperty(a)&&(e[a]=h,this.trigger("info",{message:`${n} defaulting HOLD-BACK to targetDuration * 3 (${h}).`})),h&&e[a]{!r.uri&&(r.parts||r.preloadHints)&&(!r.map&&s&&(r.map=s),!r.key&&n&&(r.key=n),r.timeline||"number"!=typeof l||(r.timeline=l),this.manifest.preloadSegment=r)}),this.parseStream.on("data",function(p){let c,m;({tag(){(({version(){p.version&&(this.manifest.version=p.version)},"allow-cache"(){this.manifest.allowCache=p.allowed,"allowed"in p||(this.trigger("info",{message:"defaulting allowCache to YES"}),this.manifest.allowCache=!0)},byterange(){let t={};"length"in p&&(r.byterange=t,t.length=p.length,"offset"in p||(p.offset=u)),"offset"in p&&(r.byterange=t,t.offset=p.offset),u=t.offset+t.length},endlist(){this.manifest.endList=!0},inf(){"mediaSequence"in this.manifest||(this.manifest.mediaSequence=0,this.trigger("info",{message:"defaulting media sequence to zero"})),"discontinuitySequence"in this.manifest||(this.manifest.discontinuitySequence=0,this.trigger("info",{message:"defaulting discontinuity sequence to zero"})),p.title&&(r.title=p.title),p.duration>0&&(r.duration=p.duration),0===p.duration&&(r.duration=.01,this.trigger("info",{message:"updating zero segment duration to a small value"})),this.manifest.segments=e},key(){if(!p.attributes){this.trigger("warn",{message:"ignoring key declaration without attribute list"});return}if("NONE"===p.attributes.METHOD){n=null;return}if(!p.attributes.URI){this.trigger("warn",{message:"ignoring key declaration without URI"});return}if("com.apple.streamingkeydelivery"===p.attributes.KEYFORMAT){this.manifest.contentProtection=this.manifest.contentProtection||{},this.manifest.contentProtection["com.apple.fps.1_0"]={attributes:p.attributes};return}if("com.microsoft.playready"===p.attributes.KEYFORMAT){this.manifest.contentProtection=this.manifest.contentProtection||{},this.manifest.contentProtection["com.microsoft.playready"]={uri:p.attributes.URI};return}if("urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed"===p.attributes.KEYFORMAT){if(-1===["SAMPLE-AES","SAMPLE-AES-CTR","SAMPLE-AES-CENC"].indexOf(p.attributes.METHOD)){this.trigger("warn",{message:"invalid key method provided for Widevine"});return}if("SAMPLE-AES-CENC"===p.attributes.METHOD&&this.trigger("warn",{message:"SAMPLE-AES-CENC is deprecated, please use SAMPLE-AES-CTR instead"}),"data:text/plain;base64,"!==p.attributes.URI.substring(0,23)){this.trigger("warn",{message:"invalid key URI provided for Widevine"});return}if(!(p.attributes.KEYID&&"0x"===p.attributes.KEYID.substring(0,2))){this.trigger("warn",{message:"invalid key ID provided for Widevine"});return}this.manifest.contentProtection=this.manifest.contentProtection||{},this.manifest.contentProtection["com.widevine.alpha"]={attributes:{schemeIdUri:p.attributes.KEYFORMAT,keyId:p.attributes.KEYID.substring(2)},pssh:function(t){for(var e=ra.atob?ra.atob(t):ep.from(t,"base64").toString("binary"),r=new Uint8Array(e.length),s=0;stypeof p.attributes.IV&&(n.iv=p.attributes.IV)},"media-sequence"(){if(!isFinite(p.number)){this.trigger("warn",{message:"ignoring invalid media sequence: "+p.number});return}this.manifest.mediaSequence=p.number},"discontinuity-sequence"(){if(!isFinite(p.number)){this.trigger("warn",{message:"ignoring invalid discontinuity sequence: "+p.number});return}this.manifest.discontinuitySequence=p.number,l=p.number},"playlist-type"(){if(!/VOD|EVENT/.test(p.playlistType)){this.trigger("warn",{message:"ignoring unknown playlist type: "+p.playlist});return}this.manifest.playlistType=p.playlistType},map(){s={},p.uri&&(s.uri=p.uri),p.byterange&&(s.byterange=p.byterange),n&&(s.key=n)},"stream-inf"(){if(this.manifest.playlists=e,this.manifest.mediaGroups=this.manifest.mediaGroups||h,!p.attributes){this.trigger("warn",{message:"ignoring empty stream-inf attributes"});return}r.attributes||(r.attributes={}),rn(r.attributes,p.attributes)},media(){if(this.manifest.mediaGroups=this.manifest.mediaGroups||h,!(p.attributes&&p.attributes.TYPE&&p.attributes["GROUP-ID"]&&p.attributes.NAME)){this.trigger("warn",{message:"ignoring incomplete or missing media group"});return}let t=this.manifest.mediaGroups[p.attributes.TYPE];t[p.attributes["GROUP-ID"]]=t[p.attributes["GROUP-ID"]]||{},c=t[p.attributes["GROUP-ID"]],(m={default:/yes/i.test(p.attributes.DEFAULT)}).default?m.autoselect=!0:m.autoselect=/yes/i.test(p.attributes.AUTOSELECT),p.attributes.LANGUAGE&&(m.language=p.attributes.LANGUAGE),p.attributes.URI&&(m.uri=p.attributes.URI),p.attributes["INSTREAM-ID"]&&(m.instreamId=p.attributes["INSTREAM-ID"]),p.attributes.CHARACTERISTICS&&(m.characteristics=p.attributes.CHARACTERISTICS),p.attributes.FORCED&&(m.forced=/yes/i.test(p.attributes.FORCED)),c[p.attributes.NAME]=m},discontinuity(){l+=1,r.discontinuity=!0,this.manifest.discontinuityStarts.push(e.length)},"program-date-time"(){typeof this.manifest.dateTimeString>"u"&&(this.manifest.dateTimeString=p.dateTimeString,this.manifest.dateTimeObject=p.dateTimeObject),r.dateTimeString=p.dateTimeString,r.dateTimeObject=p.dateTimeObject;let{lastProgramDateTime:t}=this;this.lastProgramDateTime=new Date(p.dateTimeString).getTime(),null===t&&this.manifest.segments.reduceRight((t,e)=>(e.programDateTime=t-1e3*e.duration,e.programDateTime),this.lastProgramDateTime)},targetduration(){if(!isFinite(p.duration)||p.duration<0){this.trigger("warn",{message:"ignoring invalid target duration: "+p.duration});return}this.manifest.targetDuration=p.duration,rp.call(this,this.manifest)},start(){if(!p.attributes||isNaN(p.attributes["TIME-OFFSET"])){this.trigger("warn",{message:"ignoring start declaration without appropriate attribute list"});return}this.manifest.start={timeOffset:p.attributes["TIME-OFFSET"],precise:p.attributes.PRECISE}},"cue-out"(){r.cueOut=p.data},"cue-out-cont"(){r.cueOutCont=p.data},"cue-in"(){r.cueIn=p.data},skip(){this.manifest.skip=rf(p.attributes),this.warnOnMissingAttributes_("#EXT-X-SKIP",p.attributes,["SKIPPED-SEGMENTS"])},part(){a=!0;let t=this.manifest.segments.length,e=rf(p.attributes);r.parts=r.parts||[],r.parts.push(e),e.byterange&&(e.byterange.hasOwnProperty("offset")||(e.byterange.offset=d),d=e.byterange.offset+e.byterange.length);let s=r.parts.length-1;this.warnOnMissingAttributes_(`#EXT-X-PART #${s} for segment #${t}`,p.attributes,["URI","DURATION"]),this.manifest.renditionReports&&this.manifest.renditionReports.forEach((t,e)=>{t.hasOwnProperty("lastPart")||this.trigger("warn",{message:`#EXT-X-RENDITION-REPORT #${e} lacks required attribute(s): LAST-PART`})})},"server-control"(){let t=this.manifest.serverControl=rf(p.attributes);t.hasOwnProperty("canBlockReload")||(t.canBlockReload=!1,this.trigger("info",{message:"#EXT-X-SERVER-CONTROL defaulting CAN-BLOCK-RELOAD to false"})),rp.call(this,this.manifest),t.canSkipDateranges&&!t.hasOwnProperty("canSkipUntil")&&this.trigger("warn",{message:"#EXT-X-SERVER-CONTROL lacks required attribute CAN-SKIP-UNTIL which is required when CAN-SKIP-DATERANGES is set"})},"preload-hint"(){let t=this.manifest.segments.length,e=rf(p.attributes),s=e.type&&"PART"===e.type;r.preloadHints=r.preloadHints||[],r.preloadHints.push(e),e.byterange&&(e.byterange.hasOwnProperty("offset")||(e.byterange.offset=s?d:0,s&&(d=e.byterange.offset+e.byterange.length)));let n=r.preloadHints.length-1;if(this.warnOnMissingAttributes_(`#EXT-X-PRELOAD-HINT #${n} for segment #${t}`,p.attributes,["TYPE","URI"]),e.type)for(let s=0;st.id===e.id);this.manifest.dateRanges[t]=rn(this.manifest.dateRanges[t],e),f[e.id]=rn(f[e.id],e),this.manifest.dateRanges.pop()}else f[e.id]=e},"independent-segments"(){this.manifest.independentSegments=!0},"content-steering"(){this.manifest.contentSteering=rf(p.attributes),this.warnOnMissingAttributes_("#EXT-X-CONTENT-STEERING",p.attributes,["SERVER-URI"])}})[p.tagType]||o).call(t)},uri(){r.uri=p.uri,e.push(r),!this.manifest.targetDuration||"duration"in r||(this.trigger("warn",{message:"defaulting segment duration to the target duration"}),r.duration=this.manifest.targetDuration),n&&(r.key=n),r.timeline=l,s&&(r.map=s),d=0,null!==this.lastProgramDateTime&&(r.programDateTime=this.lastProgramDateTime,this.lastProgramDateTime+=1e3*r.duration),r={}},comment(){},custom(){p.segment?(r.custom=r.custom||{},r.custom[p.customType]=p.data):(this.manifest.custom=this.manifest.custom||{},this.manifest.custom[p.customType]=p.data)}})[p.type].call(t)})}warnOnMissingAttributes_(t,e,r){let s=[];r.forEach(function(t){e.hasOwnProperty(t)||s.push(t)}),s.length&&this.trigger("warn",{message:`${t} lacks required attribute(s): ${s.join(", ")}`})}push(t){this.lineStream.push(t)}end(){this.lineStream.push(` `),this.manifest.dateRanges.length&&null===this.lastProgramDateTime&&this.trigger("warn",{message:"A playlist with EXT-X-DATERANGE tag must contain atleast one EXT-X-PROGRAM-DATE-TIME tag"}),this.lastProgramDateTime=null,this.trigger("end")}addParser(t){this.parseStream.addParser(t)}addTagMapper(t){this.parseStream.addTagMapper(t)}}async function rm(t,e=10){let r=new rc;r.push(await (await fetch(t)).text()),r.end();let s=r.manifest.segments.reduce((t,e)=>(t[e.map.uri]=t[e.map.uri]??[],t[e.map.uri].push(e),t),{}),n=new URL(t,location.href),a={};async function o(t,r,s){async function o(t){return(await fetch(t)).arrayBuffer()}let h=function(e){let n=0,a=0,o=[];async function h(){if(na[t]=o(t))}}async function h(t){let e=await a[t];return delete a[t],e}return{load(t=0,e=1/0){let r={},a=0,l=0;for(let[n,o]of Object.entries(s)){let s=0,h=[],u=-1,d=-1;for(let r=0;rt/1e6&&(u=r,a=(s-n.duration)*1e6),u>-1&&-1===d&&s>=e/1e6){d=r+1,l=1e6*s;break}}e>=1e6*s&&(d=o.length,l=1e6*s),d>u&&(h=h.concat(o.slice(u,d))),h.length>0&&(r[n]={actualStartTime:a,actualEndTime:l,segments:h})}return 0===Object.keys(r).length?null:Object.entries(r).map(([t,{actualStartTime:e,actualEndTime:r,segments:s}])=>{let a=0,l=new i0;return{actualStartTime:e,actualEndTime:r,on:l.on,stream:new ReadableStream({start:async e=>{o(s,e,l),e.enqueue(new Uint8Array(await (await fetch(new URL(t,n).href)).arrayBuffer()))},pull:async t=>{let e=new URL(s[a].uri,n).href;t.enqueue(new Uint8Array(await h(e))),(a+=1)>=s.length&&(t.close(),l.destroy())}})}})}}}let rg=`#version 300 es layout (location = 0) in vec4 a_position; layout (location = 1) in vec2 a_texCoord; out vec2 v_texCoord; void main () { gl_Position = a_position; v_texCoord = a_texCoord; } `,ry=`#version 300 es precision mediump float; out vec4 FragColor; in vec2 v_texCoord; uniform sampler2D frameTexture; uniform vec3 keyColor; // \u{8272}\u{5EA6}\u{7684}\u{76F8}\u{4F3C}\u{5EA6}\u{8BA1}\u{7B97} uniform float similarity; // \u{900F}\u{660E}\u{5EA6}\u{7684}\u{5E73}\u{6ED1}\u{5EA6}\u{8BA1}\u{7B97} uniform float smoothness; // \u{964D}\u{4F4E}\u{7EFF}\u{5E55}\u{9971}\u{548C}\u{5EA6}\u{FF0C}\u{63D0}\u{9AD8}\u{62A0}\u{56FE}\u{51C6}\u{786E}\u{5EA6} uniform float spill; vec2 RGBtoUV(vec3 rgb) { return vec2( rgb.r * -0.169 + rgb.g * -0.331 + rgb.b * 0.5 + 0.5, rgb.r * 0.5 + rgb.g * -0.419 + rgb.b * -0.081 + 0.5 ); } void main() { // \u{83B7}\u{53D6}\u{5F53}\u{524D}\u{50CF}\u{7D20}\u{7684}rgba\u{503C} vec4 rgba = texture(frameTexture, v_texCoord); // \u{8BA1}\u{7B97}\u{5F53}\u{524D}\u{50CF}\u{7D20}\u{4E0E}\u{7EFF}\u{5E55}\u{50CF}\u{7D20}\u{7684}\u{8272}\u{5EA6}\u{5DEE}\u{503C} vec2 chromaVec = RGBtoUV(rgba.rgb) - RGBtoUV(keyColor); // \u{8BA1}\u{7B97}\u{5F53}\u{524D}\u{50CF}\u{7D20}\u{4E0E}\u{7EFF}\u{5E55}\u{50CF}\u{7D20}\u{7684}\u{8272}\u{5EA6}\u{8DDD}\u{79BB}\u{FF08}\u{5411}\u{91CF}\u{957F}\u{5EA6}\u{FF09}, \u{8D8A}\u{76F8}\u{50CF}\u{5219}\u{8272}\u{5EA6}\u{8DDD}\u{79BB}\u{8D8A}\u{5C0F} float chromaDist = sqrt(dot(chromaVec, chromaVec)); // \u{8BBE}\u{7F6E}\u{4E86}\u{4E00}\u{4E2A}\u{76F8}\u{4F3C}\u{5EA6}\u{9608}\u{503C}\u{FF0C}baseMask\u{4E3A}\u{8D1F}\u{FF0C}\u{5219}\u{8868}\u{660E}\u{662F}\u{7EFF}\u{5E55}\u{FF0C}\u{4E3A}\u{6B63}\u{5219}\u{8868}\u{660E}\u{4E0D}\u{662F}\u{7EFF}\u{5E55} float baseMask = chromaDist - similarity; // \u{5982}\u{679C}baseMask\u{4E3A}\u{8D1F}\u{6570}\u{FF0C}fullMask\u{7B49}\u{4E8E}0\u{FF1B}baseMask\u{4E3A}\u{6B63}\u{6570}\u{FF0C}\u{8D8A}\u{5927}\u{FF0C}\u{5219}\u{900F}\u{660E}\u{5EA6}\u{8D8A}\u{4F4E} float fullMask = pow(clamp(baseMask / smoothness, 0., 1.), 1.5); rgba.a = fullMask; // \u{8BBE}\u{7F6E}\u{900F}\u{660E}\u{5EA6} // \u{5982}\u{679C}baseMask\u{4E3A}\u{8D1F}\u{6570}\u{FF0C}spillVal\u{7B49}\u{4E8E}0\u{FF1B}baseMask\u{4E3A}\u{6574}\u{6570}\u{FF0C}\u{8D8A}\u{5C0F}\u{FF0C}\u{9971}\u{548C}\u{5EA6}\u{8D8A}\u{4F4E} float spillVal = pow(clamp(baseMask / spill, 0., 1.), 1.5); float desat = clamp(rgba.r * 0.2126 + rgba.g * 0.7152 + rgba.b * 0.0722, 0., 1.); // \u{8BA1}\u{7B97}\u{5F53}\u{524D}\u{50CF}\u{7D20}\u{7684}\u{7070}\u{5EA6}\u{503C} rgba.rgb = mix(vec3(desat, desat, desat), rgba.rgb, spillVal); FragColor = rgba; } `,r_=[-1,1,-1,-1,1,-1,1,-1,1,1,-1,1],rb=[0,1,0,0,1,0,1,0,1,1,0,1];function rw(t,e,r){let s=t.createShader(e);if(t.shaderSource(s,r),t.compileShader(s),!t.getShaderParameter(s,t.COMPILE_STATUS)){let e=t.getShaderInfoLog(s);throw t.deleteShader(s),Error(e??"An error occurred compiling the shaders")}return s}let rv=t=>{let e=null,r=null,s=t.keyColor,n=null;return async a=>{var o,h;if((null==e||null==r||null==n)&&(null==s&&(s=function(t){let e=new OffscreenCanvas(1,1).getContext("2d");e.drawImage(t,0,0);let{data:[r,s,n]}=e.getImageData(0,0,1,1);return[r,s,n]}(a)),{cvs:e,gl:r}=function(t){let e="document"in globalThis?globalThis.document.createElement("canvas"):new OffscreenCanvas(t.width,t.height);e.width=t.width,e.height=t.height;let r=e.getContext("webgl2",{premultipliedAlpha:!1,alpha:!0});if(null==r)throw Error("Cant create gl context");let s=function(t,e,r){let s=rw(t,t.VERTEX_SHADER,e),n=rw(t,t.FRAGMENT_SHADER,r),a=t.createProgram();if(t.attachShader(a,s),t.attachShader(a,n),t.linkProgram(a),!t.getProgramParameter(a,t.LINK_STATUS))throw Error(t.getProgramInfoLog(a)??"Unable to initialize the shader program");return a}(r,rg,ry);r.useProgram(s),r.uniform3fv(r.getUniformLocation(s,"keyColor"),t.keyColor.map(t=>t/255)),r.uniform1f(r.getUniformLocation(s,"similarity"),t.similarity),r.uniform1f(r.getUniformLocation(s,"smoothness"),t.smoothness),r.uniform1f(r.getUniformLocation(s,"spill"),t.spill);let n=r.createBuffer();r.bindBuffer(r.ARRAY_BUFFER,n),r.bufferData(r.ARRAY_BUFFER,new Float32Array(r_),r.STATIC_DRAW);let a=r.getAttribLocation(s,"a_position");r.vertexAttribPointer(a,2,r.FLOAT,!1,2*Float32Array.BYTES_PER_ELEMENT,0),r.enableVertexAttribArray(a);let o=r.createBuffer();r.bindBuffer(r.ARRAY_BUFFER,o),r.bufferData(r.ARRAY_BUFFER,new Float32Array(rb),r.STATIC_DRAW);let h=r.getAttribLocation(s,"a_texCoord");return r.vertexAttribPointer(h,2,r.FLOAT,!1,2*Float32Array.BYTES_PER_ELEMENT,0),r.enableVertexAttribArray(h),r.pixelStorei(r.UNPACK_FLIP_Y_WEBGL,1),{cvs:e,gl:r}}({...a instanceof VideoFrame?{width:a.codedWidth,height:a.codedHeight}:{width:a.width,height:a.height},keyColor:s,...t}),n=function(t){let e=t.createTexture();if(null==e)throw Error("Create WebGL texture error");t.bindTexture(t.TEXTURE_2D,e);let r=t.RGBA,s=t.RGBA,n=t.UNSIGNED_BYTE,a=new Uint8Array([0,0,255,255]);return t.texImage2D(t.TEXTURE_2D,0,r,1,1,0,s,n,a),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.LINEAR),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.LINEAR),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),e}(r)),o=r,h=n,o.bindTexture(o.TEXTURE_2D,h),o.texImage2D(o.TEXTURE_2D,0,o.RGBA,o.RGBA,o.UNSIGNED_BYTE,a),o.drawArrays(o.TRIANGLES,0,6),null!=globalThis.VideoFrame&&a instanceof globalThis.VideoFrame){let t=new VideoFrame(e,{alpha:"keep",timestamp:a.timestamp,duration:a.duration??void 0});return a.close(),t}return createImageBitmap(e,{imageOrientation:a instanceof ImageBitmap?"flipY":"none"})}},rS=class t{constructor(t,e,r,s,n){ew(this,tX),ew(this,tN,new i0),ey(this,"on",eb(this,tN).on),ew(this,tG,0),ew(this,tY,0),ew(this,tW,0),ew(this,tH,0),ew(this,tV,0),ey(this,"master",null),ey(this,"fixedAspectRatio",!1),this.x=t??0,this.y=e??0,this.w=r??0,this.h=s??0,this.master=n??null}get x(){return eb(this,tG)}set x(t){eS(this,tX,tj).call(this,"x",t)}get y(){return eb(this,tY)}set y(t){eS(this,tX,tj).call(this,"y",t)}get w(){return eb(this,tW)}set w(t){eS(this,tX,tj).call(this,"w",t)}get h(){return eb(this,tH)}set h(t){eS(this,tX,tj).call(this,"h",t)}get angle(){return eb(this,tV)}set angle(t){eS(this,tX,tj).call(this,"angle",t)}get center(){let{x:t,y:e,w:r,h:s}=this;return{x:t+r/2,y:e+s/2}}get ctrls(){let{w:e,h:r}=this,s=t.CTRL_SIZE,n=s/2,a=e/2,o=r/2,h=1.5*s,l=h/2;return{...this.fixedAspectRatio?{}:{t:new t(-n,-o-n,s,s,this),b:new t(-n,o-n,s,s,this),l:new t(-a-n,-n,s,s,this),r:new t(a-n,-n,s,s,this)},lt:new t(-a-n,-o-n,s,s,this),lb:new t(-a-n,o-n,s,s,this),rt:new t(a-n,-o-n,s,s,this),rb:new t(a-n,o-n,s,s,this),rotate:new t(-l,-o-2*s-l,h,h,this)}}clone(){let{x:e,y:r,w:s,h:n,master:a}=this,o=new t(e,r,s,n,a);return o.angle=this.angle,o.fixedAspectRatio=this.fixedAspectRatio,o}checkHit(t,e){let{angle:r,center:s,x:n,y:a,w:o,h:h,master:l}=this,u=(null==l?void 0:l.center)??s,d=(null==l?void 0:l.angle)??r;null==l&&(n-=u.x,a-=u.y);let f=t-u.x,p=e-u.y,c=f,m=p;return 0!==d&&(c=f*Math.cos(d)+p*Math.sin(d),m=p*Math.cos(d)-f*Math.sin(d)),!(cn+o||ma+h)}};tN=new WeakMap,tG=new WeakMap,tY=new WeakMap,tW=new WeakMap,tH=new WeakMap,tV=new WeakMap,tX=new WeakSet,tj=function(t,e){let r=this[t]!==e;switch(t){case"x":ev(this,tG,e);break;case"y":ev(this,tY,e);break;case"w":ev(this,tW,e);break;case"h":ev(this,tH,e);break;case"angle":ev(this,tV,e)}r&&eb(this,tN).emit("propsChange",{[t]:e})},ey(rS,"CTRL_SIZE",16),ey(rS,"CTRL_KEYS",["t","b","l","r","lt","lb","rt","rb","rotate"]);let rE=rS;class rU{constructor(){ey(this,"rect",new rE),ey(this,"time",{offset:0,duration:0}),ey(this,"visible",!0),ew(this,tZ,new i0),ey(this,"on",eb(this,tZ).on),ew(this,t$,0),ey(this,"opacity",1),ey(this,"flip",null),ew(this,tK,null),ew(this,tq,null),ey(this,"ready",Promise.resolve()),this.rect.on("propsChange",t=>{eb(this,tZ).emit("propsChange",{rect:t})})}get zIndex(){return eb(this,t$)}set zIndex(t){let e=eb(this,t$)!==t;ev(this,t$,t),e&&eb(this,tZ).emit("propsChange",{zIndex:t})}_render(t){let{rect:{center:e,angle:r}}=this;t.setTransform("horizontal"===this.flip?-1:1,0,0,"vertical"===this.flip?-1:1,e.x,e.y),t.rotate((null==this.flip?1:-1)*r),t.globalAlpha=this.opacity}setAnimation(t,e){ev(this,tK,Object.entries(t).map(([t,e])=>{let r={from:0,to:100}[t]??Number(t.slice(0,-1));if(isNaN(r)||r>100||r<0)throw Error("keyFrame must between 0~100");return[r/100,e]})),ev(this,tq,Object.assign({},eb(this,tq),{duration:1e6*e.duration,delay:(e.delay??0)*1e6,iterCount:e.iterCount??1/0}))}animate(t){if(null==eb(this,tK)||null==eb(this,tq)||t=r.iterCount)return{};let s=t%r.duration,n=t===r.duration?1:s/r.duration,a=e.findIndex(t=>t[0]>=n);if(-1===a)return{};let o=e[a-1],h=e[a],l=h[1];if(null==o)return l;let u=o[1],d={},f=(n-o[0])/(h[0]-o[0]);for(let t in l)null!=u[t]&&(d[t]=(l[t]-u[t])*f+u[t]);return d}(t,eb(this,tK),eb(this,tq));for(let t in e)switch(t){case"opacity":this.opacity=e[t];break;case"x":case"y":case"w":case"h":case"angle":this.rect[t]=e[t]}}copyStateTo(t){ev(t,tK,eb(this,tK)),ev(t,tq,eb(this,tq)),t.visible=this.visible,t.zIndex=this.zIndex,t.opacity=this.opacity,t.flip=this.flip,t.rect=this.rect.clone(),t.time={...this.time}}destroy(){eb(this,tZ).destroy()}}tZ=new WeakMap,t$=new WeakMap,tK=new WeakMap,tq=new WeakMap;let rx=class t extends rU{constructor(t){super(),ew(this,tQ),ew(this,tJ,null),ew(this,t0,!1),ev(this,tQ,t),this.ready=t.ready.then(({width:t,height:e,duration:r})=>{this.rect.w=0===this.rect.w?t:this.rect.w,this.rect.h=0===this.rect.h?e:this.rect.h,this.time.duration=0===this.time.duration?r:this.time.duration})}async offscreenRender(t,e){var r;this.animate(e),super._render(t);let{w:s,h:n}=this.rect,{video:a,audio:o,state:h}=await eb(this,tQ).tick(e);if("done"===h)return{audio:o??[],done:!0};let l=a??eb(this,tJ);return null!=l&&t.drawImage(l,-s/2,-n/2,s,n),null!=a&&(null==(r=eb(this,tJ))||r.close(),ev(this,tJ,a)),{audio:o??[],done:!1}}async clone(){let e=new t(await eb(this,tQ).clone());return await e.ready,this.copyStateTo(e),e}destroy(){var t;eb(this,t0)||(ev(this,t0,!0),e5.info("OffscreenSprite destroy"),super.destroy(),null==(t=eb(this,tJ))||t.close(),ev(this,tJ,null),eb(this,tQ).destroy())}};tQ=new WeakMap,tJ=new WeakMap,t0=new WeakMap;let rT=rx;class rA extends rU{constructor(t){super(),ew(this,t8),ew(this,t1),ew(this,t2,null),ew(this,t3,[]),ew(this,t6,!1),ew(this,t5,-1),ew(this,t7,!1),ev(this,t1,t),this.ready=t.ready.then(({width:t,height:e,duration:r})=>{this.rect.w=0===this.rect.w?t:this.rect.w,this.rect.h=0===this.rect.h?e:this.rect.h,this.time.duration=0===this.time.duration?r:this.time.duration})}getClip(){return eb(this,t1)}preFrame(t){eS(this,t8,t4).call(this,t)}render(t,e){this.animate(e),super._render(t);let{w:r,h:s}=this.rect;eb(this,t5)!==e&&eS(this,t8,t4).call(this,e),ev(this,t5,e);let n=eb(this,t3);ev(this,t3,[]);let a=eb(this,t2);return null!=a&&t.drawImage(a,-r/2,-s/2,r,s),{audio:n}}destroy(){var t;eb(this,t7)||(ev(this,t7,!0),e5.info("VisibleSprite destroy"),super.destroy(),null==(t=eb(this,t2))||t.close(),ev(this,t2,null),eb(this,t1).destroy())}}t1=new WeakMap,t2=new WeakMap,t3=new WeakMap,t6=new WeakMap,t8=new WeakSet,t4=function(t){eb(this,t6)||(ev(this,t6,!0),eb(this,t1).tick(t).then(({video:t,audio:e})=>{var r;null!=t&&(null==(r=eb(this,t2))||r.close(),ev(this,t2,t??null)),ev(this,t3,e??[])}).finally(()=>{ev(this,t6,!1)}))},t5=new WeakMap,t7=new WeakMap;let rC=0;async function rI(t){t()>50&&(await iv(15),await rI(t))}class rB{constructor(t={}){ew(this,eh),ew(this,t9,e5.create(`id:${rC++},`)),ew(this,et,!1),ew(this,ee,[]),ew(this,ei),ew(this,er),ew(this,es,null),ew(this,en),ew(this,ea),ew(this,eo,new i0),ey(this,"on",eb(this,eo).on);let{width:e=0,height:r=0}=t;ev(this,ei,new OffscreenCanvas(e,r));let s=eb(this,ei).getContext("2d",{alpha:!1});if(null==s)throw Error("Can not create 2d offscreen context");ev(this,er,s),ev(this,en,Object.assign({bgColor:"#000",width:0,height:0,videoCodec:"avc1.42E032",audio:!0,bitrate:5e6,metaDataTags:null},t)),ev(this,ea,e*r>0)}static async isSupported(t={videoCodec:"avc1.42E032"}){return null!=self.OffscreenCanvas&&null!=self.VideoEncoder&&null!=self.VideoDecoder&&null!=self.VideoFrame&&null!=self.AudioEncoder&&null!=self.AudioDecoder&&null!=self.AudioData&&((await self.VideoEncoder.isConfigSupported({codec:t.videoCodec,width:1280,height:720})).supported??!1)&&(await self.AudioEncoder.isConfigSupported({codec:iC.codec,sampleRate:iC.sampleRate,numberOfChannels:iC.channelCount})).supported}async addSprite(t,e={}){eb(this,t9).info("Combinator add sprite",t);let r=await t.clone();eb(this,t9).info("Combinator add sprite ready",t),eb(this,ee).push(Object.assign(r,{main:e.main??!1,expired:!1})),eb(this,ee).sort((t,e)=>t.zIndex-e.zIndex)}output(){if(0===eb(this,ee).length)throw Error("No sprite added");let t=eb(this,ee).find(t=>t.main),e=null!=t?t.time.offset+t.time.duration:Math.max(...eb(this,ee).map(t=>t.time.offset+t.time.duration));if(e===1/0)throw Error("Unable to determine the end time, please specify a main sprite, or limit the duration of ImgClip, AudioCli");-1===e&&eb(this,t9).warn("Unable to determine the end time, process value don't update"),eb(this,t9).info(`start combinate video, maxTime:${e}`);let r=eS(this,eh,el).call(this,e),s=performance.now(),n=eS(this,eh,eu).call(this,r,e,{onProgress:t=>{eb(this,t9).debug("OutputProgress:",t),eb(this,eo).emit("OutputProgress",t)},onEnded:async()=>{await r.flush(),eb(this,t9).info("===== output ended =====, cost:",performance.now()-s),eb(this,eo).emit("OutputProgress",1),this.destroy()},onError:t=>{eb(this,eo).emit("error",t),o(t),this.destroy()}});ev(this,es,()=>{n(),r.close(),o()});let{stream:a,stop:o}=i7(r.mp4file,500,this.destroy);return a}destroy(){var t;eb(this,et)||(ev(this,et,!0),null==(t=eb(this,es))||t.call(this),eb(this,eo).destroy())}}t9=new WeakMap,et=new WeakMap,ee=new WeakMap,ei=new WeakMap,er=new WeakMap,es=new WeakMap,en=new WeakMap,ea=new WeakMap,eo=new WeakMap,eh=new WeakSet,el=function(t){let{width:e,height:r,videoCodec:s,bitrate:n,audio:a,metaDataTags:o}=eb(this,en);return i4({video:eb(this,ea)?{width:e,height:r,expectFPS:30,codec:s,bitrate:n,__unsafe_hardwareAcceleration__:eb(this,en).__unsafe_hardwareAcceleration__}:null,audio:!1===a?null:{codec:"aac",sampleRate:iC.sampleRate,channelCount:iC.channelCount},duration:t,metaDataTags:o})},eu=function(t,e,{onProgress:r,onEnded:s,onError:n}){let a=0,o=!1,h=null;(async()=>{let r=0,{width:n,height:l}=eb(this,ei),d=eb(this,er),f=0;for(;;){if(null!=h)return;if(o||-1!==e&&f>e||0===eb(this,ee).length){u(),await s();return}a=f/e,d.fillStyle=eb(this,en).bgColor,d.fillRect(0,0,n,l);let p=[];for(let t of eb(this,ee)){if(o)break;if(f0&&f>t.time.offset+t.time.duration||r){if(t.main){u(),await s();return}t.destroy(),t.expired=!0}}if(o)return;if(!1!==eb(this,en).audio){if(p.flat().every(t=>0===t.length))t.encodeAudio(function(t,e,r){let s=Math.floor(33e3*r/1e6);return new AudioData({timestamp:t,numberOfChannels:iC.channelCount,numberOfFrames:s,sampleRate:r,format:"f32-planar",data:new Float32Array(2*s)})}(f,0,iC.sampleRate));else{let e=ib(p);t.encodeAudio(new AudioData({timestamp:f,numberOfChannels:iC.channelCount,numberOfFrames:e.length/iC.channelCount,sampleRate:iC.sampleRate,format:"f32-planar",data:e}))}}if(eb(this,ea)){let e=new VideoFrame(eb(this,ei),{duration:33e3,timestamp:f});t.encodeVideo(e,{keyFrame:r%150==0}),d.resetTransform(),d.clearRect(0,0,n,l),r+=1}f+=33e3,await rI(t.getEncodeQueueSize)}})().catch(t=>{h=t,eb(this,t9).error(t),u(),n(t)});let l=setInterval(()=>{r(a)},500),u=()=>{o||(o=!0,clearInterval(l),eb(this,ee).forEach(t=>t.destroy()))};return u}},{"381e774176803655":"juSMc","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],juSMc:[function(t,e,r){var s=t("9c62938f1dccc73c"),n=t("aceacb6a4531a9d2"),a="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;function o(t){if(t>2147483647)throw RangeError('The value "'+t+'" is invalid for option "size"');var e=new Uint8Array(t);return Object.setPrototypeOf(e,h.prototype),e}function h(t,e,r){if("number"==typeof t){if("string"==typeof e)throw TypeError('The "string" argument must be of type string. Received type number');return d(t)}return l(t,e,r)}function l(t,e,r){if("string"==typeof t)return function(t,e){if(("string"!=typeof e||""===e)&&(e="utf8"),!h.isEncoding(e))throw TypeError("Unknown encoding: "+e);var r=0|m(t,e),s=o(r),n=s.write(t,e);return n!==r&&(s=s.slice(0,n)),s}(t,e);if(ArrayBuffer.isView(t))return function(t){if(B(t,Uint8Array)){var e=new Uint8Array(t);return p(e.buffer,e.byteOffset,e.byteLength)}return f(t)}(t);if(null==t)throw TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t);if(B(t,ArrayBuffer)||t&&B(t.buffer,ArrayBuffer)||"undefined"!=typeof SharedArrayBuffer&&(B(t,SharedArrayBuffer)||t&&B(t.buffer,SharedArrayBuffer)))return p(t,e,r);if("number"==typeof t)throw TypeError('The "value" argument must not be of type number. Received type number');var s=t.valueOf&&t.valueOf();if(null!=s&&s!==t)return h.from(s,e,r);var n=function(t){if(h.isBuffer(t)){var e,r=0|c(t.length),s=o(r);return 0===s.length||t.copy(s,0,0,r),s}return void 0!==t.length?"number"!=typeof t.length||(e=t.length)!=e?o(0):f(t):"Buffer"===t.type&&Array.isArray(t.data)?f(t.data):void 0}(t);if(n)return n;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof t[Symbol.toPrimitive])return h.from(t[Symbol.toPrimitive]("string"),e,r);throw TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t)}function u(t){if("number"!=typeof t)throw TypeError('"size" argument must be of type number');if(t<0)throw RangeError('The value "'+t+'" is invalid for option "size"')}function d(t){return u(t),o(t<0?0:0|c(t))}function f(t){for(var e=t.length<0?0:0|c(t.length),r=o(e),s=0;s=2147483647)throw RangeError("Attempt to allocate Buffer larger than maximum size: 0x7fffffff bytes");return 0|t}function m(t,e){if(h.isBuffer(t))return t.length;if(ArrayBuffer.isView(t)||B(t,ArrayBuffer))return t.byteLength;if("string"!=typeof t)throw TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof t);var r=t.length,s=arguments.length>2&&!0===arguments[2];if(!s&&0===r)return 0;for(var n=!1;;)switch(e){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return A(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return C(t).length;default:if(n)return s?-1:A(t).length;e=(""+e).toLowerCase(),n=!0}}function g(t,e,r){var n,a,o=!1;if((void 0===e||e<0)&&(e=0),e>this.length||((void 0===r||r>this.length)&&(r=this.length),r<=0||(r>>>=0)<=(e>>>=0)))return"";for(t||(t="utf8");;)switch(t){case"hex":return function(t,e,r){var s=t.length;(!e||e<0)&&(e=0),(!r||r<0||r>s)&&(r=s);for(var n="",a=e;a2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),(a=r=+r)!=a&&(r=n?0:t.length-1),r<0&&(r=t.length+r),r>=t.length){if(n)return -1;r=t.length-1}else if(r<0){if(!n)return -1;r=0}if("string"==typeof e&&(e=h.from(e,s)),h.isBuffer(e))return 0===e.length?-1:b(t,e,r,s,n);if("number"==typeof e)return(e&=255,"function"==typeof Uint8Array.prototype.indexOf)?n?Uint8Array.prototype.indexOf.call(t,e,r):Uint8Array.prototype.lastIndexOf.call(t,e,r):b(t,[e],r,s,n);throw TypeError("val must be string, number or Buffer")}function b(t,e,r,s,n){var a,o=1,h=t.length,l=e.length;if(void 0!==s&&("ucs2"===(s=String(s).toLowerCase())||"ucs-2"===s||"utf16le"===s||"utf-16le"===s)){if(t.length<2||e.length<2)return -1;o=2,h/=2,l/=2,r/=2}function u(t,e){return 1===o?t[e]:t.readUInt16BE(e*o)}if(n){var d=-1;for(a=r;ah&&(r=h-l),a=r;a>=0;a--){for(var f=!0,p=0;p239?4:u>223?3:u>191?2:1;if(n+f<=r)switch(f){case 1:u<128&&(d=u);break;case 2:(192&(a=t[n+1]))==128&&(l=(31&u)<<6|63&a)>127&&(d=l);break;case 3:a=t[n+1],o=t[n+2],(192&a)==128&&(192&o)==128&&(l=(15&u)<<12|(63&a)<<6|63&o)>2047&&(l<55296||l>57343)&&(d=l);break;case 4:a=t[n+1],o=t[n+2],h=t[n+3],(192&a)==128&&(192&o)==128&&(192&h)==128&&(l=(15&u)<<18|(63&a)<<12|(63&o)<<6|63&h)>65535&&l<1114112&&(d=l)}null===d?(d=65533,f=1):d>65535&&(d-=65536,s.push(d>>>10&1023|55296),d=56320|1023&d),s.push(d),n+=f}return function(t){var e=t.length;if(e<=4096)return String.fromCharCode.apply(String,t);for(var r="",s=0;sr)throw RangeError("Trying to access beyond buffer length")}function S(t,e,r,s,n,a){if(!h.isBuffer(t))throw TypeError('"buffer" argument must be a Buffer instance');if(e>n||et.length)throw RangeError("Index out of range")}function E(t,e,r,s,n,a){if(r+s>t.length||r<0)throw RangeError("Index out of range")}function U(t,e,r,s,a){return e=+e,r>>>=0,a||E(t,e,r,4,34028234663852886e22,-34028234663852886e22),n.write(t,e,r,s,23,4),r+4}function x(t,e,r,s,a){return e=+e,r>>>=0,a||E(t,e,r,8,17976931348623157e292,-17976931348623157e292),n.write(t,e,r,s,52,8),r+8}r.Buffer=h,r.SlowBuffer=function(t){return+t!=t&&(t=0),h.alloc(+t)},r.INSPECT_MAX_BYTES=50,r.kMaxLength=2147483647,h.TYPED_ARRAY_SUPPORT=function(){try{var t=new Uint8Array(1),e={foo:function(){return 42}};return Object.setPrototypeOf(e,Uint8Array.prototype),Object.setPrototypeOf(t,e),42===t.foo()}catch(t){return!1}}(),h.TYPED_ARRAY_SUPPORT||"undefined"==typeof console||"function"!=typeof console.error||console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support."),Object.defineProperty(h.prototype,"parent",{enumerable:!0,get:function(){if(h.isBuffer(this))return this.buffer}}),Object.defineProperty(h.prototype,"offset",{enumerable:!0,get:function(){if(h.isBuffer(this))return this.byteOffset}}),h.poolSize=8192,h.from=function(t,e,r){return l(t,e,r)},Object.setPrototypeOf(h.prototype,Uint8Array.prototype),Object.setPrototypeOf(h,Uint8Array),h.alloc=function(t,e,r){return(u(t),t<=0)?o(t):void 0!==e?"string"==typeof r?o(t).fill(e,r):o(t).fill(e):o(t)},h.allocUnsafe=function(t){return d(t)},h.allocUnsafeSlow=function(t){return d(t)},h.isBuffer=function(t){return null!=t&&!0===t._isBuffer&&t!==h.prototype},h.compare=function(t,e){if(B(t,Uint8Array)&&(t=h.from(t,t.offset,t.byteLength)),B(e,Uint8Array)&&(e=h.from(e,e.offset,e.byteLength)),!h.isBuffer(t)||!h.isBuffer(e))throw TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(t===e)return 0;for(var r=t.length,s=e.length,n=0,a=Math.min(r,s);ns.length?h.from(a).copy(s,n):Uint8Array.prototype.set.call(s,a,n);else if(h.isBuffer(a))a.copy(s,n);else throw TypeError('"list" argument must be an Array of Buffers');n+=a.length}return s},h.byteLength=m,h.prototype._isBuffer=!0,h.prototype.swap16=function(){var t=this.length;if(t%2!=0)throw RangeError("Buffer size must be a multiple of 16-bits");for(var e=0;ee&&(t+=" ... "),""},a&&(h.prototype[a]=h.prototype.inspect),h.prototype.compare=function(t,e,r,s,n){if(B(t,Uint8Array)&&(t=h.from(t,t.offset,t.byteLength)),!h.isBuffer(t))throw TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof t);if(void 0===e&&(e=0),void 0===r&&(r=t?t.length:0),void 0===s&&(s=0),void 0===n&&(n=this.length),e<0||r>t.length||s<0||n>this.length)throw RangeError("out of range index");if(s>=n&&e>=r)return 0;if(s>=n)return -1;if(e>=r)return 1;if(e>>>=0,r>>>=0,s>>>=0,n>>>=0,this===t)return 0;for(var a=n-s,o=r-e,l=Math.min(a,o),u=this.slice(s,n),d=t.slice(e,r),f=0;f>>=0,isFinite(r)?(r>>>=0,void 0===s&&(s="utf8")):(s=r,r=void 0);else throw Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");var n,a,o,h,l,u,d,f,p=this.length-e;if((void 0===r||r>p)&&(r=p),t.length>0&&(r<0||e<0)||e>this.length)throw RangeError("Attempt to write outside buffer bounds");s||(s="utf8");for(var c=!1;;)switch(s){case"hex":return function(t,e,r,s){r=Number(r)||0;var n=t.length-r;s?(s=Number(s))>n&&(s=n):s=n;var a=e.length;s>a/2&&(s=a/2);for(var o=0;o>8,n.push(r%256),n.push(s);return n}(t,this.length-d),this,d,f);default:if(c)throw TypeError("Unknown encoding: "+s);s=(""+s).toLowerCase(),c=!0}},h.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}},h.prototype.slice=function(t,e){var r=this.length;t=~~t,e=void 0===e?r:~~e,t<0?(t+=r)<0&&(t=0):t>r&&(t=r),e<0?(e+=r)<0&&(e=0):e>r&&(e=r),e>>=0,e>>>=0,r||v(t,e,this.length);for(var s=this[t],n=1,a=0;++a>>=0,e>>>=0,r||v(t,e,this.length);for(var s=this[t+--e],n=1;e>0&&(n*=256);)s+=this[t+--e]*n;return s},h.prototype.readUint8=h.prototype.readUInt8=function(t,e){return t>>>=0,e||v(t,1,this.length),this[t]},h.prototype.readUint16LE=h.prototype.readUInt16LE=function(t,e){return t>>>=0,e||v(t,2,this.length),this[t]|this[t+1]<<8},h.prototype.readUint16BE=h.prototype.readUInt16BE=function(t,e){return t>>>=0,e||v(t,2,this.length),this[t]<<8|this[t+1]},h.prototype.readUint32LE=h.prototype.readUInt32LE=function(t,e){return t>>>=0,e||v(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},h.prototype.readUint32BE=h.prototype.readUInt32BE=function(t,e){return t>>>=0,e||v(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},h.prototype.readIntLE=function(t,e,r){t>>>=0,e>>>=0,r||v(t,e,this.length);for(var s=this[t],n=1,a=0;++a=(n*=128)&&(s-=Math.pow(2,8*e)),s},h.prototype.readIntBE=function(t,e,r){t>>>=0,e>>>=0,r||v(t,e,this.length);for(var s=e,n=1,a=this[t+--s];s>0&&(n*=256);)a+=this[t+--s]*n;return a>=(n*=128)&&(a-=Math.pow(2,8*e)),a},h.prototype.readInt8=function(t,e){return(t>>>=0,e||v(t,1,this.length),128&this[t])?-((255-this[t]+1)*1):this[t]},h.prototype.readInt16LE=function(t,e){t>>>=0,e||v(t,2,this.length);var r=this[t]|this[t+1]<<8;return 32768&r?4294901760|r:r},h.prototype.readInt16BE=function(t,e){t>>>=0,e||v(t,2,this.length);var r=this[t+1]|this[t]<<8;return 32768&r?4294901760|r:r},h.prototype.readInt32LE=function(t,e){return t>>>=0,e||v(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},h.prototype.readInt32BE=function(t,e){return t>>>=0,e||v(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},h.prototype.readFloatLE=function(t,e){return t>>>=0,e||v(t,4,this.length),n.read(this,t,!0,23,4)},h.prototype.readFloatBE=function(t,e){return t>>>=0,e||v(t,4,this.length),n.read(this,t,!1,23,4)},h.prototype.readDoubleLE=function(t,e){return t>>>=0,e||v(t,8,this.length),n.read(this,t,!0,52,8)},h.prototype.readDoubleBE=function(t,e){return t>>>=0,e||v(t,8,this.length),n.read(this,t,!1,52,8)},h.prototype.writeUintLE=h.prototype.writeUIntLE=function(t,e,r,s){if(t=+t,e>>>=0,r>>>=0,!s){var n=Math.pow(2,8*r)-1;S(this,t,e,r,n,0)}var a=1,o=0;for(this[e]=255&t;++o>>=0,r>>>=0,!s){var n=Math.pow(2,8*r)-1;S(this,t,e,r,n,0)}var a=r-1,o=1;for(this[e+a]=255&t;--a>=0&&(o*=256);)this[e+a]=t/o&255;return e+r},h.prototype.writeUint8=h.prototype.writeUInt8=function(t,e,r){return t=+t,e>>>=0,r||S(this,t,e,1,255,0),this[e]=255&t,e+1},h.prototype.writeUint16LE=h.prototype.writeUInt16LE=function(t,e,r){return t=+t,e>>>=0,r||S(this,t,e,2,65535,0),this[e]=255&t,this[e+1]=t>>>8,e+2},h.prototype.writeUint16BE=h.prototype.writeUInt16BE=function(t,e,r){return t=+t,e>>>=0,r||S(this,t,e,2,65535,0),this[e]=t>>>8,this[e+1]=255&t,e+2},h.prototype.writeUint32LE=h.prototype.writeUInt32LE=function(t,e,r){return t=+t,e>>>=0,r||S(this,t,e,4,4294967295,0),this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t,e+4},h.prototype.writeUint32BE=h.prototype.writeUInt32BE=function(t,e,r){return t=+t,e>>>=0,r||S(this,t,e,4,4294967295,0),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},h.prototype.writeIntLE=function(t,e,r,s){if(t=+t,e>>>=0,!s){var n=Math.pow(2,8*r-1);S(this,t,e,r,n-1,-n)}var a=0,o=1,h=0;for(this[e]=255&t;++a>0)-h&255;return e+r},h.prototype.writeIntBE=function(t,e,r,s){if(t=+t,e>>>=0,!s){var n=Math.pow(2,8*r-1);S(this,t,e,r,n-1,-n)}var a=r-1,o=1,h=0;for(this[e+a]=255&t;--a>=0&&(o*=256);)t<0&&0===h&&0!==this[e+a+1]&&(h=1),this[e+a]=(t/o>>0)-h&255;return e+r},h.prototype.writeInt8=function(t,e,r){return t=+t,e>>>=0,r||S(this,t,e,1,127,-128),t<0&&(t=255+t+1),this[e]=255&t,e+1},h.prototype.writeInt16LE=function(t,e,r){return t=+t,e>>>=0,r||S(this,t,e,2,32767,-32768),this[e]=255&t,this[e+1]=t>>>8,e+2},h.prototype.writeInt16BE=function(t,e,r){return t=+t,e>>>=0,r||S(this,t,e,2,32767,-32768),this[e]=t>>>8,this[e+1]=255&t,e+2},h.prototype.writeInt32LE=function(t,e,r){return t=+t,e>>>=0,r||S(this,t,e,4,2147483647,-2147483648),this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24,e+4},h.prototype.writeInt32BE=function(t,e,r){return t=+t,e>>>=0,r||S(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},h.prototype.writeFloatLE=function(t,e,r){return U(this,t,e,!0,r)},h.prototype.writeFloatBE=function(t,e,r){return U(this,t,e,!1,r)},h.prototype.writeDoubleLE=function(t,e,r){return x(this,t,e,!0,r)},h.prototype.writeDoubleBE=function(t,e,r){return x(this,t,e,!1,r)},h.prototype.copy=function(t,e,r,s){if(!h.isBuffer(t))throw TypeError("argument should be a Buffer");if(r||(r=0),s||0===s||(s=this.length),e>=t.length&&(e=t.length),e||(e=0),s>0&&s=this.length)throw RangeError("Index out of range");if(s<0)throw RangeError("sourceEnd out of bounds");s>this.length&&(s=this.length),t.length-e>>=0,r=void 0===r?this.length:r>>>0,t||(t=0),"number"==typeof t)for(n=e;n55295&&r<57344){if(!n){if(r>56319||o+1===s){(e-=3)>-1&&a.push(239,191,189);continue}n=r;continue}if(r<56320){(e-=3)>-1&&a.push(239,191,189),n=r;continue}r=(n-55296<<10|r-56320)+65536}else n&&(e-=3)>-1&&a.push(239,191,189);if(n=null,r<128){if((e-=1)<0)break;a.push(r)}else if(r<2048){if((e-=2)<0)break;a.push(r>>6|192,63&r|128)}else if(r<65536){if((e-=3)<0)break;a.push(r>>12|224,r>>6&63|128,63&r|128)}else if(r<1114112){if((e-=4)<0)break;a.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}else throw Error("Invalid code point")}return a}function C(t){return s.toByteArray(function(t){if((t=(t=t.split("=")[0]).trim().replace(T,"")).length<2)return"";for(;t.length%4!=0;)t+="=";return t}(t))}function I(t,e,r,s){for(var n=0;n=e.length)&&!(n>=t.length);++n)e[n+r]=t[n];return n}function B(t,e){return t instanceof e||null!=t&&null!=t.constructor&&null!=t.constructor.name&&t.constructor.name===e.name}var k=function(){for(var t="0123456789abcdef",e=Array(256),r=0;r<16;++r)for(var s=16*r,n=0;n<16;++n)e[s+n]=t[r]+t[n];return e}()},{"9c62938f1dccc73c":"iaOvk",aceacb6a4531a9d2:"9RC4J"}],iaOvk:[function(t,e,r){r.byteLength=function(t){var e=u(t),r=e[0],s=e[1];return(r+s)*3/4-s},r.toByteArray=function(t){var e,r,s=u(t),o=s[0],h=s[1],l=new a((o+h)*3/4-h),d=0,f=h>0?o-4:o;for(r=0;r>16&255,l[d++]=e>>8&255,l[d++]=255&e;return 2===h&&(e=n[t.charCodeAt(r)]<<2|n[t.charCodeAt(r+1)]>>4,l[d++]=255&e),1===h&&(e=n[t.charCodeAt(r)]<<10|n[t.charCodeAt(r+1)]<<4|n[t.charCodeAt(r+2)]>>2,l[d++]=e>>8&255,l[d++]=255&e),l},r.fromByteArray=function(t){for(var e,r=t.length,n=r%3,a=[],o=0,h=r-n;o>18&63]+s[n>>12&63]+s[n>>6&63]+s[63&n]);return a.join("")}(t,o,o+16383>h?h:o+16383));return 1===n?a.push(s[(e=t[r-1])>>2]+s[e<<4&63]+"=="):2===n&&a.push(s[(e=(t[r-2]<<8)+t[r-1])>>10]+s[e>>4&63]+s[e<<2&63]+"="),a.join("")};for(var s=[],n=[],a="undefined"!=typeof Uint8Array?Uint8Array:Array,o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",h=0,l=o.length;h0)throw Error("Invalid string. Length must be a multiple of 4");var r=t.indexOf("=");-1===r&&(r=e);var s=r===e?0:4-r%4;return[r,s]}n["-".charCodeAt(0)]=62,n["_".charCodeAt(0)]=63},{}],"9RC4J":[function(t,e,r){/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh*/r.read=function(t,e,r,s,n){var a,o,h=8*n-s-1,l=(1<>1,d=-7,f=r?n-1:0,p=r?-1:1,c=t[e+f];for(f+=p,a=c&(1<<-d)-1,c>>=-d,d+=h;d>0;a=256*a+t[e+f],f+=p,d-=8);for(o=a&(1<<-d)-1,a>>=-d,d+=s;d>0;o=256*o+t[e+f],f+=p,d-=8);if(0===a)a=1-u;else{if(a===l)return o?NaN:1/0*(c?-1:1);o+=Math.pow(2,s),a-=u}return(c?-1:1)*o*Math.pow(2,a-s)},r.write=function(t,e,r,s,n,a){var o,h,l,u=8*a-n-1,d=(1<>1,p=23===n?5960464477539062e-23:0,c=s?0:a-1,m=s?1:-1,g=e<0||0===e&&1/e<0?1:0;for(isNaN(e=Math.abs(e))||e===1/0?(h=isNaN(e)?1:0,o=d):(o=Math.floor(Math.log(e)/Math.LN2),e*(l=Math.pow(2,-o))<1&&(o--,l*=2),o+f>=1?e+=p/l:e+=p*Math.pow(2,1-f),e*l>=2&&(o++,l/=2),o+f>=d?(h=0,o=d):o+f>=1?(h=(e*l-1)*Math.pow(2,n),o+=f):(h=e*Math.pow(2,f-1)*Math.pow(2,n),o=0));n>=8;t[r+c]=255&h,c+=m,h/=256,n-=8);for(o=o<0;t[r+c]=255&o,c+=m,o/=256,u-=8);t[r+c-m]|=128*g}},{}],"9pCYc":[function(t,e,r){r.interopDefault=function(t){return t&&t.__esModule?t:{default:t}},r.defineInteropFlag=function(t){Object.defineProperty(t,"__esModule",{value:!0})},r.exportAll=function(t,e){return Object.keys(t).forEach(function(r){"default"===r||"__esModule"===r||Object.prototype.hasOwnProperty.call(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[r]}})}),e},r.export=function(t,e,r){Object.defineProperty(t,e,{enumerable:!0,get:r})}},{}]},["jc2x7"],"jc2x7","parcelRequire4dc0"); \ No newline at end of file diff --git a/compiled/artplayer-proxy-webav.legacy.js b/compiled/artplayer-proxy-webav.legacy.js new file mode 100644 index 000000000..99c1863c5 --- /dev/null +++ b/compiled/artplayer-proxy-webav.legacy.js @@ -0,0 +1,8 @@ + +/*! + * artplayer-proxy-webav.js v1.0.0 + * Github: https://github.com/zhw2590582/ArtPlayer + * (c) 2017-2024 Harvey Zack + * Released under the MIT License. + */ +!function(t,e,r,n,s){var a="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},o="function"==typeof a[n]&&a[n],u=o.cache||{},l="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function c(e,r){if(!u[e]){if(!t[e]){var s="function"==typeof a[n]&&a[n];if(!r&&s)return s(e,!0);if(o)return o(e,!0);if(l&&"string"==typeof e)return l(e);var h=Error("Cannot find module '"+e+"'");throw h.code="MODULE_NOT_FOUND",h}d.resolve=function(r){var n=t[e][1][r];return null!=n?n:r},d.cache={};var f=u[e]=new c.Module(e);t[e][0].call(f.exports,d,f,f.exports,this)}return u[e].exports;function d(t){var e=d.resolve(t);return!1===e?{}:c(e)}}c.isParcelRequire=!0,c.Module=function(t){this.id=t,this.bundle=c,this.exports={}},c.modules=t,c.cache=u,c.parent=o,c.register=function(e,r){t[e]=[function(t,e){e.exports=r},{}]},Object.defineProperty(c,"root",{get:function(){return a[n]}}),a[n]=c;for(var h=0;hs?u=(a-o*s)/2:l=(o-a/s)/2,Object.assign(h.style,{padding:"".concat(l,"px ").concat(u,"px")})}}function U(){return(U=(0,s._)(function(){var e,r,s;return(0,a._)(this,function(a){switch(a.label){case 0:v(),Object.assign(g,{playing:!1,duration:0,videoWidth:0,videoHeight:0,currentTime:0,playbackRate:1,paused:!0,ended:!1,readyState:0,buffered:0,muted:n.muted,volume:n.volume,autoplay:n.autoplay}),d&&(d.destroy(),t.emit("video:abort",{type:"abort"}),t.emit("video:emptied",{type:"emptied"})),a.label=1;case 1:return a.trys.push([1,4,,5]),[4,Promise.resolve()];case 2:return a.sent(),t.emit("video:loadstart",{type:"loadstart"}),[4,fetch(n.url)];case 3:if(!(e=a.sent()).body)throw Error("No response body");return d=new o.MP4Clip(e.body),[3,5];case 4:throw r=a.sent(),t.emit("video:error",r),r;case 5:return[4,d.ready];case 6:return Object.assign(g,{readyState:4,duration:Math.round((s=a.sent()).duration/1e6),videoWidth:s.width,videoHeight:s.height}),h.width=g.videoWidth,h.height=g.videoHeight,[4,S(.1)];case 7:return a.sent(),E(),t.emit("video:loadedmetadata",{type:"loadedmetadata"}),t.emit("video:durationchange",{type:"durationchange"}),t.emit("video:loadeddata",{type:"loadeddata"}),t.emit("video:canplay",{type:"canplay"}),t.emit("video:canplaythrough",{type:"canplaythrough"}),[2]}})})).apply(this,arguments)}return c(h,"textTracks",{get:function(){return[]}}),c(h,"duration",{get:function(){return g.duration}}),c(h,"videoWidth",{get:function(){return g.videoWidth}}),c(h,"videoHeight",{get:function(){return g.videoHeight}}),c(h,"volume",{get:function(){return g.volume},set:function(e){g.volume=Math.max(0,Math.min(1,e)),b(),t.emit("video:volumechange",{type:"volumechange"})}}),c(h,"currentTime",{get:function(){return g.currentTime},set:function(e){var r=Math.max(0,Math.min(e,g.duration)),n=performance.now();n-y>16&&(y=n,_=r,g.currentTime=r,g.playing||S(r),t.emit("video:timeupdate",{type:"timeupdate"}))}}),c(h,"autoplay",{get:function(){return g.autoplay},set:function(t){g.autoplay=t,t&&g.readyState>=4&&h.play()}}),c(h,"src",{get:function(){return n.url},set:function(t){n.url=t,(function(){return U.apply(this,arguments)})().then(function(){n.autoplay&&h.play()})}}),c(h,"playbackRate",{get:function(){return g.playbackRate},set:function(r){g.playbackRate=Math.max(.25,Math.min(2,r)),p&&p.playbackRate.setValueAtTime(g.playbackRate,e.currentTime),t.emit("video:ratechange",{type:"ratechange"})}}),c(h,"playing",{get:function(){return g.playing}}),c(h,"paused",{get:function(){return g.paused}}),c(h,"ended",{get:function(){return g.ended}}),c(h,"readyState",{get:function(){return g.readyState}}),c(h,"muted",{get:function(){return g.muted},set:function(e){g.muted=e,b(),t.emit("video:volumechange",{type:"volumechange"})}}),c(h,"buffered",{get:function(){return{start:function(){return 0},end:function(){return g.buffered},length:1}}}),c(h,"play",{value:/*#__PURE__*/(0,s._)(function(){return(0,a._)(this,function(e){switch(e.label){case 0:return[4,function(){return w.apply(this,arguments)}()];case 1:return e.sent(),t.emit("video:play",{type:"play"}),t.emit("video:playing",{type:"playing"}),[2]}})})}),c(h,"pause",{value:function(){v(),g.playing=!1,g.paused=!0,t.emit("video:pause",{type:"pause"})}}),t.on("destroy",function(){v(),d&&d.destroy()}),t.on("resize",E),h}}"undefined"!=typeof window&&(window.artplayerProxyWebAV=u)},{"@swc/helpers/_/_async_to_generator":"eONSn","@swc/helpers/_/_ts_generator":"6Xyd0","@webav/av-cliper":"zMdV7","@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}],eONSn:[function(t,e,r){var n=t("@parcel/transformer-js/src/esmodule-helpers.js");function s(t,e,r,n,s,a,o){try{var u=t[a](o),l=u.value}catch(t){r(t);return}u.done?e(l):Promise.resolve(l).then(n,s)}function a(t){return function(){var e=this,r=arguments;return new Promise(function(n,a){var o=t.apply(e,r);function u(t){s(o,n,a,u,l,"next",t)}function l(t){s(o,n,a,u,l,"throw",t)}u(void 0)})}}n.defineInteropFlag(r),n.export(r,"_",function(){return a})},{"@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}],iWrD0:[function(t,e,r){r.interopDefault=function(t){return t&&t.__esModule?t:{default:t}},r.defineInteropFlag=function(t){Object.defineProperty(t,"__esModule",{value:!0})},r.exportAll=function(t,e){return Object.keys(t).forEach(function(r){"default"===r||"__esModule"===r||Object.prototype.hasOwnProperty.call(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[r]}})}),e},r.export=function(t,e,r){Object.defineProperty(t,e,{enumerable:!0,get:r})}},{}],"6Xyd0":[function(t,e,r){var n=t("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(r),n.export(r,"_",function(){return s.__generator});var s=t("tslib")},{tslib:"c0d7h","@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}],c0d7h:[function(t,e,r){var n=t("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(r),n.export(r,"__extends",function(){return o}),n.export(r,"__assign",function(){return u}),n.export(r,"__rest",function(){return l}),n.export(r,"__decorate",function(){return c}),n.export(r,"__param",function(){return h}),n.export(r,"__esDecorate",function(){return f}),n.export(r,"__runInitializers",function(){return d}),n.export(r,"__propKey",function(){return p}),n.export(r,"__setFunctionName",function(){return m}),n.export(r,"__metadata",function(){return _}),n.export(r,"__awaiter",function(){return y}),n.export(r,"__generator",function(){return g}),n.export(r,"__createBinding",function(){return v}),n.export(r,"__exportStar",function(){return b}),n.export(r,"__values",function(){return w}),n.export(r,"__read",function(){return S}),n.export(r,"__spread",function(){return x}),n.export(r,"__spreadArrays",function(){return E}),n.export(r,"__spreadArray",function(){return U}),n.export(r,"__await",function(){return T}),n.export(r,"__asyncGenerator",function(){return A}),n.export(r,"__asyncDelegator",function(){return I}),n.export(r,"__asyncValues",function(){return k}),n.export(r,"__makeTemplateObject",function(){return C}),n.export(r,"__importStar",function(){return P}),n.export(r,"__importDefault",function(){return R}),n.export(r,"__classPrivateFieldGet",function(){return F}),n.export(r,"__classPrivateFieldSet",function(){return D}),n.export(r,"__classPrivateFieldIn",function(){return z}),n.export(r,"__addDisposableResource",function(){return L}),n.export(r,"__disposeResources",function(){return M});var s=t("@swc/helpers/_/_type_of"),a=function(t,e){return(a=Object.setPrototypeOf||({__proto__:[]})instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)};function o(t,e){if("function"!=typeof e&&null!==e)throw TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}a(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}var u=function(){return(u=Object.assign||function(t){for(var e,r=1,n=arguments.length;re.indexOf(n)&&(r[n]=t[n]);if(null!=t&&"function"==typeof Object.getOwnPropertySymbols)for(var s=0,n=Object.getOwnPropertySymbols(t);se.indexOf(n[s])&&Object.prototype.propertyIsEnumerable.call(t,n[s])&&(r[n[s]]=t[n[s]]);return r}function c(t,e,r,n){var s,a=arguments.length,o=a<3?e:null===n?n=Object.getOwnPropertyDescriptor(e,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,r,n);else for(var u=t.length-1;u>=0;u--)(s=t[u])&&(o=(a<3?s(o):a>3?s(e,r,o):s(e,r))||o);return a>3&&o&&Object.defineProperty(e,r,o),o}function h(t,e){return function(r,n){e(r,n,t)}}function f(t,e,r,n,s,a){function o(t){if(void 0!==t&&"function"!=typeof t)throw TypeError("Function expected");return t}for(var u,l=n.kind,c="getter"===l?"get":"setter"===l?"set":"value",h=!e&&t?n.static?t:t.prototype:null,f=e||(h?Object.getOwnPropertyDescriptor(h,n.name):{}),d=!1,p=r.length-1;p>=0;p--){var m={};for(var _ in n)m[_]="access"===_?{}:n[_];for(var _ in n.access)m.access[_]=n.access[_];m.addInitializer=function(t){if(d)throw TypeError("Cannot add initializers after decoration has completed");a.push(o(t||null))};var y=(0,r[p])("accessor"===l?{get:f.get,set:f.set}:f[c],m);if("accessor"===l){if(void 0===y)continue;if(null===y||"object"!=typeof y)throw TypeError("Object expected");(u=o(y.get))&&(f.get=u),(u=o(y.set))&&(f.set=u),(u=o(y.init))&&s.unshift(u)}else(u=o(y))&&("field"===l?s.unshift(u):f[c]=u)}h&&Object.defineProperty(h,n.name,f),d=!0}function d(t,e,r){for(var n=arguments.length>2,s=0;s0&&s[s.length-1])&&(6===u[0]||2===u[0])){o=0;continue}if(3===u[0]&&(!s||u[1]>s[0]&&u[1]=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function S(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,s,a=r.call(t),o=[];try{for(;(void 0===e||e-- >0)&&!(n=a.next()).done;)o.push(n.value)}catch(t){s={error:t}}finally{try{n&&!n.done&&(r=a.return)&&r.call(a)}finally{if(s)throw s.error}}return o}function x(){for(var t=[],e=0;e1||u(t,e)})},e&&(n[t]=e(n[t])))}function u(t,e){try{var r;(r=s[t](e)).value instanceof T?Promise.resolve(r.value.v).then(l,c):h(a[0][2],r)}catch(t){h(a[0][3],t)}}function l(t){u("next",t)}function c(t){u("throw",t)}function h(t,e){t(e),a.shift(),a.length&&u(a[0][0],a[0][1])}}function I(t){var e,r;return e={},n("next"),n("throw",function(t){throw t}),n("return"),e[Symbol.iterator]=function(){return this},e;function n(n,s){e[n]=t[n]?function(e){return(r=!r)?{value:T(t[n](e)),done:!1}:s?s(e):e}:s}}function k(t){if(!Symbol.asyncIterator)throw TypeError("Symbol.asyncIterator is not defined.");var e,r=t[Symbol.asyncIterator];return r?r.call(t):(t=w(t),e={},n("next"),n("throw"),n("return"),e[Symbol.asyncIterator]=function(){return this},e);function n(r){e[r]=t[r]&&function(e){return new Promise(function(n,s){!function(t,e,r,n){Promise.resolve(n).then(function(e){t({value:e,done:r})},e)}(n,s,(e=t[r](e)).done,e.value)})}}}function C(t,e){return Object.defineProperty?Object.defineProperty(t,"raw",{value:e}):t.raw=e,t}var B=Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e};function P(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var r in t)"default"!==r&&Object.prototype.hasOwnProperty.call(t,r)&&v(e,t,r);return B(e,t),e}function R(t){return t&&t.__esModule?t:{default:t}}function F(t,e,r,n){if("a"===r&&!n)throw TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!n:!e.has(t))throw TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?n:"a"===r?n.call(t):n?n.value:e.get(t)}function D(t,e,r,n,s){if("m"===n)throw TypeError("Private method is not writable");if("a"===n&&!s)throw TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!s:!e.has(t))throw TypeError("Cannot write private member to an object whose class did not declare it");return"a"===n?s.call(t,r):s?s.value=r:e.set(t,r),r}function z(t,e){if(null===e||"object"!=typeof e&&"function"!=typeof e)throw TypeError("Cannot use 'in' operator on non-object");return"function"==typeof t?e===t:t.has(e)}function L(t,e,r){if(null!=e){var n,s;if("object"!=typeof e&&"function"!=typeof e)throw TypeError("Object expected.");if(r){if(!Symbol.asyncDispose)throw TypeError("Symbol.asyncDispose is not defined.");n=e[Symbol.asyncDispose]}if(void 0===n){if(!Symbol.dispose)throw TypeError("Symbol.dispose is not defined.");n=e[Symbol.dispose],r&&(s=n)}if("function"!=typeof n)throw TypeError("Object not disposable.");s&&(n=function(){try{s.call(this)}catch(t){return Promise.reject(t)}}),t.stack.push({value:e,dispose:n,async:r})}else r&&t.stack.push({async:!0});return e}var O="function"==typeof SuppressedError?SuppressedError:function(t,e,r){var n=Error(r);return n.name="SuppressedError",n.error=t,n.suppressed=e,n};function M(t){function e(e){t.error=t.hasError?new O(e,t.error,"An error was suppressed during disposal."):e,t.hasError=!0}return function r(){for(;t.stack.length;){var n=t.stack.pop();try{var s=n.dispose&&n.dispose.call(n.value);if(n.async)return Promise.resolve(s).then(r,function(t){return e(t),r()})}catch(t){e(t)}}if(t.hasError)throw t.error}()}r.default={__extends:o,__assign:u,__rest:l,__decorate:c,__param:h,__metadata:_,__awaiter:y,__generator:g,__createBinding:v,__exportStar:b,__values:w,__read:S,__spread:x,__spreadArrays:E,__spreadArray:U,__await:T,__asyncGenerator:A,__asyncDelegator:I,__asyncValues:k,__makeTemplateObject:C,__importStar:P,__importDefault:R,__classPrivateFieldGet:F,__classPrivateFieldSet:D,__classPrivateFieldIn:z,__addDisposableResource:L,__disposeResources:M}},{"@swc/helpers/_/_type_of":"felZi","@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}],felZi:[function(t,e,r){var n=t("@parcel/transformer-js/src/esmodule-helpers.js");function s(t){return t&&"undefined"!=typeof Symbol&&t.constructor===Symbol?"symbol":typeof t}n.defineInteropFlag(r),n.export(r,"_",function(){return s})},{"@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}],zMdV7:[function(t,e,r){var n,s,a,o,u,l,c,h,f,d,p,m,_,y,g,v,b,w,S,x,E,U,T,A,I,k,C,B,P,R,F,D,z,L,O,M,N,j,G,Y,W,V,H,X,Z,K,q,Q,J,$,tt,te,tr,ti,tn,ts,ta,to,tu,tl,tc,th,tf,td,tp,tm,t_,ty,tg,tv,tb,tw,tS,tx,tE,tU,tT,tA,tI,tk,tC,tB,tP,tR,tF,tD,tz,tL,tO,tM,tN,tj,tG,tY,tW,tV,tH,tX,tZ,tK,tq,tQ,tJ,t$,t0,t1,t2,t3,t4,t6,t8,t5,t7,t9,et,ee,er,ei,en,es,ea,eo,eu,el,ec,eh,ef,ed,ep=t("@parcel/transformer-js/src/esmodule-helpers.js");ep.defineInteropFlag(r),ep.export(r,"AudioClip",function(){return ih}),ep.export(r,"Combinator",function(){return i7}),ep.export(r,"DEFAULT_AUDIO_CONF",function(){return r$}),ep.export(r,"EmbedSubtitlesClip",function(){return iv}),ep.export(r,"EventTool",function(){return iw}),ep.export(r,"ImgClip",function(){return il}),ep.export(r,"Log",function(){return rw}),ep.export(r,"MP4Clip",function(){return r8}),ep.export(r,"MediaStreamClip",function(){return iy}),ep.export(r,"OffscreenSprite",function(){return i3}),ep.export(r,"Rect",function(){return i0}),ep.export(r,"VisibleSprite",function(){return i4}),ep.export(r,"adjustAudioDataVolume",function(){return rN}),ep.export(r,"audioResample",function(){return rW}),ep.export(r,"autoReadStream",function(){return rZ}),ep.export(r,"concatAudioClip",function(){return id}),ep.export(r,"concatFloat32Array",function(){return rz}),ep.export(r,"concatPCMFragments",function(){return rL}),ep.export(r,"createChromakey",function(){return iJ}),ep.export(r,"createEl",function(){return eY}),ep.export(r,"createHLSLoader",function(){return iX}),ep.export(r,"decodeImg",function(){return rj}),ep.export(r,"extractPCM4AudioBuffer",function(){return rM}),ep.export(r,"extractPCM4AudioData",function(){return rO}),ep.export(r,"fastConcatMP4",function(){return iB}),ep.export(r,"file2stream",function(){return ik}),ep.export(r,"fixFMP4Duration",function(){return iF}),ep.export(r,"mixinMP4AndAudio",function(){return iz}),ep.export(r,"mixinPCM",function(){return rY}),ep.export(r,"recodemux",function(){return iA}),ep.export(r,"renderTxt2Img",function(){return eW}),ep.export(r,"renderTxt2ImgBitmap",function(){return eV}),ep.export(r,"ringSliceFloat32Array",function(){return rX}),ep.export(r,"workerTimer",function(){return rA});var em=t("@swc/helpers/_/_assert_this_initialized"),e_=t("@swc/helpers/_/_async_iterator"),ey=t("@swc/helpers/_/_async_to_generator"),eg=t("@swc/helpers/_/_class_call_check"),ev=t("@swc/helpers/_/_create_class"),eb=t("@swc/helpers/_/_define_property"),ew=t("@swc/helpers/_/_get"),eS=t("@swc/helpers/_/_get_prototype_of"),ex=t("@swc/helpers/_/_inherits"),eE=t("@swc/helpers/_/_object_spread"),eU=t("@swc/helpers/_/_object_spread_props"),eT=t("@swc/helpers/_/_possible_constructor_return"),eA=t("@swc/helpers/_/_sliced_to_array"),eI=t("@swc/helpers/_/_to_consumable_array"),ek=t("@swc/helpers/_/_type_of"),eC=t("@swc/helpers/_/_create_super"),eB=t("@swc/helpers/_/_ts_generator"),eP=t("@swc/helpers/_/_ts_values"),eR=arguments[3],eF=t("381e774176803655").Buffer,eD=Object.defineProperty,ez=function(t){throw TypeError(t)},eL=function(t,e,r){var n;return(n=(void 0===e?"undefined":(0,ek._)(e))!="symbol"?e+"":e)in t?eD(t,n,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[n]=r},eO=function(t,e,r){return e.has(t)||ez("Cannot "+r)},eM=function(t,e,r){return eO(t,e,"read from private field"),r?r.call(t):e.get(t)},eN=function(t,e,r){return e.has(t)?ez("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,r)},ej=function(t,e,r,n){return eO(t,e,"write to private field"),n?n.call(t,r):e.set(t,r),r},eG=function(t,e,r){return eO(t,e,"access private method"),r};function eY(t){return document.createElement(t)}function eW(t,e){var r=eY("pre");r.style.cssText="margin: 0; ".concat(e,"; visibility: hidden; position: fixed;"),r.textContent=t,document.body.appendChild(r);var n=r.getBoundingClientRect(),s=n.width,a=n.height;r.remove(),r.style.visibility="visible";var o=new Image;o.width=s,o.height=a;var u='\n\n\n
').concat(r.outerHTML,"
\n
\n
\n ").replace(/\t/g,"").replace(/#/g,"%23");return o.src="data:image/svg+xml;charset=utf-8,".concat(u),o}function eV(t,e){return eH.apply(this,arguments)}function eH(){return(eH=(0,ey._)(function(t,e){var r,n,s;return(0,eB._)(this,function(a){switch(a.label){case 0:return r=eW(t,e),[4,new Promise(function(t){r.onload=t})];case 1:return a.sent(),null==(s=(n=new OffscreenCanvas(r.width,r.height)).getContext("2d"))||s.drawImage(r,0,0,r.width,r.height),[4,createImageBitmap(n)];case 2:return[2,a.sent()]}})})).apply(this,arguments)}var eX=function(t){throw TypeError(t)},eZ=function(t,e,r){return e.has(t)||eX("Cannot "+r)},eK=function(t,e,r){return eZ(t,e,"read from private field"),r?r.call(t):e.get(t)},eq=function(t,e,r){return e.has(t)?eX("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,r)},eQ=function(t,e,r,n){return eZ(t,e,"write to private field"),e.set(t,r),r},eJ="KGZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHUobil7aWYobj09PSIvIilyZXR1cm57cGFyZW50Om51bGwsbmFtZToiIn07Y29uc3QgZT1uLnNwbGl0KCIvIikuZmlsdGVyKGk9PmkubGVuZ3RoPjApO2lmKGUubGVuZ3RoPT09MCl0aHJvdyBFcnJvcigiSW52YWxpZCBwYXRoIik7Y29uc3QgYT1lW2UubGVuZ3RoLTFdLHI9Ii8iK2Uuc2xpY2UoMCwtMSkuam9pbigiLyIpO3JldHVybntuYW1lOmEscGFyZW50OnJ9fWFzeW5jIGZ1bmN0aW9uIHcobixlKXtjb25zdHtwYXJlbnQ6YSxuYW1lOnJ9PXUobik7aWYoYT09bnVsbClyZXR1cm4gYXdhaXQgbmF2aWdhdG9yLnN0b3JhZ2UuZ2V0RGlyZWN0b3J5KCk7Y29uc3QgaT1hLnNwbGl0KCIvIikuZmlsdGVyKHQ9PnQubGVuZ3RoPjApO3RyeXtsZXQgdD1hd2FpdCBuYXZpZ2F0b3Iuc3RvcmFnZS5nZXREaXJlY3RvcnkoKTtmb3IoY29uc3QgcyBvZiBpKXQ9YXdhaXQgdC5nZXREaXJlY3RvcnlIYW5kbGUocyx7Y3JlYXRlOmUuY3JlYXRlfSk7aWYoZS5pc0ZpbGUpcmV0dXJuIGF3YWl0IHQuZ2V0RmlsZUhhbmRsZShyLHtjcmVhdGU6ZS5jcmVhdGV9KX1jYXRjaCh0KXtpZih0Lm5hbWU9PT0iTm90Rm91bmRFcnJvciIpcmV0dXJuIG51bGw7dGhyb3cgdH19Y29uc3QgZj17fTtzZWxmLm9ubWVzc2FnZT1hc3luYyBuPT57dmFyIGk7Y29uc3R7ZXZ0VHlwZTplLGFyZ3M6YX09bi5kYXRhO2xldCByPWZbYS5maWxlSWRdO3RyeXtsZXQgdDtjb25zdCBzPVtdO2lmKGU9PT0icmVnaXN0ZXIiKXtjb25zdCBsPWF3YWl0IHcoYS5maWxlUGF0aCx7Y3JlYXRlOiEwLGlzRmlsZTohMH0pO2lmKGw9PW51bGwpdGhyb3cgRXJyb3IoYG5vdCBmb3VuZCBmaWxlOiAke2EuZmlsZUlkfWApO3I9YXdhaXQgbC5jcmVhdGVTeW5jQWNjZXNzSGFuZGxlKHttb2RlOmEubW9kZX0pLGZbYS5maWxlSWRdPXJ9ZWxzZSBpZihlPT09ImNsb3NlIilhd2FpdCByLmNsb3NlKCksZGVsZXRlIGZbYS5maWxlSWRdO2Vsc2UgaWYoZT09PSJ0cnVuY2F0ZSIpYXdhaXQgci50cnVuY2F0ZShhLm5ld1NpemUpO2Vsc2UgaWYoZT09PSJ3cml0ZSIpe2NvbnN0e2RhdGE6bCxvcHRzOm99PW4uZGF0YS5hcmdzO3Q9YXdhaXQgci53cml0ZShsLG8pfWVsc2UgaWYoZT09PSJyZWFkIil7Y29uc3R7b2Zmc2V0Omwsc2l6ZTpvfT1uLmRhdGEuYXJncyxnPW5ldyBVaW50OEFycmF5KG8pLGQ9YXdhaXQgci5yZWFkKGcse2F0Omx9KSxjPWcuYnVmZmVyO3Q9ZD09PW8/YzooKGk9Yy50cmFuc2Zlcik9PW51bGw/dm9pZCAwOmkuY2FsbChjLGQpKT8/Yy5zbGljZSgwLGQpLHMucHVzaCh0KX1lbHNlIGU9PT0iZ2V0U2l6ZSI/dD1hd2FpdCByLmdldFNpemUoKTplPT09ImZsdXNoIiYmYXdhaXQgci5mbHVzaCgpO3NlbGYucG9zdE1lc3NhZ2Uoe2V2dFR5cGU6ImNhbGxiYWNrIixjYklkOm4uZGF0YS5jYklkLHJldHVyblZhbDp0fSxzKX1jYXRjaCh0KXtjb25zdCBzPXQ7c2VsZi5wb3N0TWVzc2FnZSh7ZXZ0VHlwZToidGhyb3dFcnJvciIsY2JJZDpuLmRhdGEuY2JJZCxlcnJNc2c6cy5uYW1lKyI6ICIrcy5tZXNzYWdlK2AKYCtKU09OLnN0cmluZ2lmeShuLmRhdGEpfSl9fX0pKCk7Ci8vIyBzb3VyY2VNYXBwaW5nVVJMPW9wZnMtd29ya2VyLUY0UldscWNfLmpzLm1hcAo=",e$=("undefined"==typeof self?"undefined":(0,ek._)(self))<"u"&&self.Blob&&new Blob([Uint8Array.from(atob(eJ),function(t){return t.charCodeAt(0)})],{type:"text/javascript;charset=utf-8"});function e0(t){var e;try{if(!(e=e$&&(self.URL||self.webkitURL).createObjectURL(e$)))throw"";var r=new Worker(e,{name:null==t?void 0:t.name});return r.addEventListener("error",function(){(self.URL||self.webkitURL).revokeObjectURL(e)}),r}catch(e){return new Worker("data:text/javascript;base64,"+eJ,{name:null==t?void 0:t.name})}finally{e&&(self.URL||self.webkitURL).revokeObjectURL(e)}}function e1(){return(e1=(0,ey._)(function(t,e,r){var n;return(0,eB._)(this,function(s){switch(s.label){case 0:return[4,(n=function(){if(e2.length<3){var t,e,r,n,s=(e=new e0,r=0,n={},e.onmessage=function(t){var e,r,s=t.data;"callback"===s.evtType?null==(e=n[s.cbId])||e.resolve(s.returnVal):"throwError"===s.evtType&&(null==(r=n[s.cbId])||r.reject(Error(s.errMsg))),delete n[s.cbId]},t=(0,ey._)(function(t,s){var a,o,u=arguments;return(0,eB._)(this,function(l){return a=u.length>2&&void 0!==u[2]?u[2]:[],r+=1,o=new Promise(function(t,e){n[r]={resolve:t,reject:e}}),[2,(e.postMessage({cbId:r,evtType:t,args:s},a),o)]})}),function(e,r){return t.apply(this,arguments)});return e2.push(s),s}var a=e2[e3];return e3=(e3+1)%e2.length,a}())("register",{fileId:t,filePath:e,mode:r})];case 1:var a,o,u;return[2,(s.sent(),{read:(a=(0,ey._)(function(e,r){return(0,eB._)(this,function(s){switch(s.label){case 0:return[4,n("read",{fileId:t,offset:e,size:r})];case 1:return[2,s.sent()]}})}),function(t,e){return a.apply(this,arguments)}),write:(o=(0,ey._)(function(e,r){return(0,eB._)(this,function(s){switch(s.label){case 0:return[4,n("write",{fileId:t,data:e,opts:r},[ArrayBuffer.isView(e)?e.buffer:e])];case 1:return[2,s.sent()]}})}),function(t,e){return o.apply(this,arguments)}),close:/*#__PURE__*/(0,ey._)(function(){return(0,eB._)(this,function(e){switch(e.label){case 0:return[4,n("close",{fileId:t})];case 1:return[2,e.sent()]}})}),truncate:(u=(0,ey._)(function(e){return(0,eB._)(this,function(r){switch(r.label){case 0:return[4,n("truncate",{fileId:t,newSize:e})];case 1:return[2,r.sent()]}})}),function(t){return u.apply(this,arguments)}),getSize:/*#__PURE__*/(0,ey._)(function(){return(0,eB._)(this,function(e){switch(e.label){case 0:return[4,n("getSize",{fileId:t})];case 1:return[2,e.sent()]}})}),flush:/*#__PURE__*/(0,ey._)(function(){return(0,eB._)(this,function(e){switch(e.label){case 0:return[4,n("flush",{fileId:t})];case 1:return[2,e.sent()]}})})})]}})})).apply(this,arguments)}var e2=[],e3=0;function e4(t){if("/"===t)return{parent:null,name:""};var e=t.split("/").filter(function(t){return t.length>0});if(0===e.length)throw Error("Invalid path");return{name:e[e.length-1],parent:"/"+e.slice(0,-1).join("/")}}function e6(t,e){return e8.apply(this,arguments)}function e8(){return(e8=(0,ey._)(function(t,e){var r,n,s,a,o,u,l,c,h,f,d,p,m,_;return(0,eB._)(this,function(y){switch(y.label){case 0:if(n=(r=e4(t)).parent,s=r.name,null!=n)return[3,2];return[4,navigator.storage.getDirectory()];case 1:return[2,y.sent()];case 2:a=n.split("/").filter(function(t){return t.length>0}),y.label=3;case 3:return y.trys.push([3,17,,18]),[4,navigator.storage.getDirectory()];case 4:o=y.sent(),u=!0,l=!1,c=void 0,y.label=5;case 5:y.trys.push([5,10,11,12]),h=a[Symbol.iterator](),y.label=6;case 6:if(u=(f=h.next()).done)return[3,9];return d=f.value,[4,o.getDirectoryHandle(d,{create:e.create})];case 7:o=y.sent(),y.label=8;case 8:return u=!0,[3,6];case 9:return[3,12];case 10:return p=y.sent(),l=!0,c=p,[3,12];case 11:try{u||null==h.return||h.return()}finally{if(l)throw c}return[7];case 12:if(!e.isFile)return[3,14];return[4,o.getFileHandle(s,{create:e.create})];case 13:return m=y.sent(),[3,16];case 14:return[4,o.getDirectoryHandle(s,{create:e.create})];case 15:m=y.sent(),y.label=16;case 16:return[2,m];case 17:if("NotFoundError"===(_=y.sent()).name)return[2,null];throw _;case 18:return[2]}})})).apply(this,arguments)}function e5(t){return e7.apply(this,arguments)}function e7(){return(e7=(0,ey._)(function(t){var e,r,n,s,a,o,u,l,c,h,f,d;return(0,eB._)(this,function(p){switch(p.label){case 0:if(r=(e=e4(t)).parent,n=e.name,null!=r)return[3,15];return[4,navigator.storage.getDirectory()];case 1:s=p.sent(),a=!1,o=!1,p.label=2;case 2:p.trys.push([2,8,9,14]),l=(0,e_._)(s.keys()),p.label=3;case 3:return[4,l.next()];case 4:if(!(a=!(c=p.sent()).done))return[3,7];return h=c.value,[4,s.removeEntry(h,{recursive:!0})];case 5:p.sent(),p.label=6;case 6:return a=!1,[3,3];case 7:return[3,14];case 8:return f=p.sent(),o=!0,u=f,[3,14];case 9:if(p.trys.push([9,,12,13]),!(a&&null!=l.return))return[3,11];return[4,l.return()];case 10:p.sent(),p.label=11;case 11:return[3,13];case 12:if(o)throw u;return[7];case 13:return[7];case 14:return[2];case 15:return[4,e6(r,{create:!1,isFile:!1})];case 16:if(!(null!=(d=p.sent())))return[3,18];return[4,d.removeEntry(n,{recursive:!0})];case 17:p.sent(),p.label=18;case 18:return[2]}})})).apply(this,arguments)}function e9(t,e){return"".concat(t,"/").concat(e).replace("//","/")}function rt(t){return new re(t)}var re=/*#__PURE__*/function(){function t(e){(0,eg._)(this,t),eq(this,v),eq(this,b),eq(this,w),eQ(this,v,e);var r=e4(e),n=r.parent,s=r.name;eQ(this,b,s),eQ(this,w,n)}return(0,ev._)(t,[{key:"kind",get:function(){return"dir"}},{key:"name",get:function(){return eK(this,b)}},{key:"path",get:function(){return eK(this,v)}},{key:"parent",get:function(){return null==eK(this,w)?null:rt(eK(this,w))}},{key:"create",value:function(){var t=this;return(0,ey._)(function(){return(0,eB._)(this,function(e){switch(e.label){case 0:return[4,e6(eK(t,v),{create:!0,isFile:!1})];case 1:return[2,(e.sent(),rt(eK(t,v)))]}})})()}},{key:"exists",value:function(){var t=this;return(0,ey._)(function(){return(0,eB._)(this,function(e){switch(e.label){case 0:return[4,e6(eK(t,v),{create:!1,isFile:!1})];case 1:return[2,e.sent() instanceof FileSystemDirectoryHandle]}})})()}},{key:"remove",value:function(){var t=this;return(0,ey._)(function(){var e,r,n,s,a,o,u;return(0,eB._)(this,function(l){switch(l.label){case 0:e=!0,r=!1,n=void 0,l.label=1;case 1:return l.trys.push([1,9,10,11]),[4,t.children()];case 2:s=l.sent()[Symbol.iterator](),l.label=3;case 3:if(e=(a=s.next()).done)return[3,8];o=a.value,l.label=4;case 4:return l.trys.push([4,6,,7]),[4,o.remove()];case 5:return l.sent(),[3,7];case 6:return console.warn(l.sent()),[3,7];case 7:return e=!0,[3,3];case 8:return[3,11];case 9:return u=l.sent(),r=!0,n=u,[3,11];case 10:try{e||null==s.return||s.return()}finally{if(r)throw n}return[7];case 11:return l.trys.push([11,13,,14]),[4,e5(eK(t,v))];case 12:return l.sent(),[3,14];case 13:return console.warn(l.sent()),[3,14];case 14:return[2]}})})()}},{key:"children",value:function(){var t=this;return(0,ey._)(function(){var e,r,n,s,a,o,u,l,c;return(0,eB._)(this,function(h){switch(h.label){case 0:return[4,e6(eK(t,v),{create:!1,isFile:!1})];case 1:if(null==(e=h.sent()))return[2,[]];r=[],n=!1,s=!1,h.label=2;case 2:h.trys.push([2,7,8,13]),o=(0,e_._)(e.values()),h.label=3;case 3:return[4,o.next()];case 4:if(!(n=!(u=h.sent()).done))return[3,6];l=u.value,r.push(("file"===l.kind?ri:rt)(e9(eK(t,v),l.name))),h.label=5;case 5:return n=!1,[3,3];case 6:return[3,13];case 7:return c=h.sent(),s=!0,a=c,[3,13];case 8:if(h.trys.push([8,,11,12]),!(n&&null!=o.return))return[3,10];return[4,o.return()];case 9:h.sent(),h.label=10;case 10:return[3,12];case 11:if(s)throw a;return[7];case 12:return[7];case 13:return[2,r]}})})()}},{key:"copyTo",value:function(t){var e=this;return(0,ey._)(function(){var r,n;return(0,eB._)(this,function(s){switch(s.label){case 0:return[4,e.exists()];case 1:if(!s.sent())throw Error("dir ".concat(e.path," not exists"));return[4,t.exists()];case 2:return[4,(r=s.sent()?rt(e9(t.path,e.name)):t).create()];case 3:return s.sent(),n=Promise.all,[4,e.children()];case 4:return[4,n.apply(Promise,[s.sent().map(function(t){return t.copyTo(r)})])];case 5:return[2,(s.sent(),r)]}})})()}},{key:"moveTo",value:function(t){var e=this;return(0,ey._)(function(){var r;return(0,eB._)(this,function(n){switch(n.label){case 0:return[4,e.copyTo(t)];case 1:return r=n.sent(),[4,e.remove()];case 2:return[2,(n.sent(),r)]}})})()}}]),t}();v=/* @__PURE__ */new WeakMap,b=/* @__PURE__ */new WeakMap,w=/* @__PURE__ */new WeakMap;var rr=/* @__PURE__ */new Map;function ri(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"rw";if("rw"===e){var r,n=null!==(r=rr.get(t))&&void 0!==r?r:new ru(t,e);return rr.set(t,n),n}return new ru(t,e)}function rn(t,e){return rs.apply(this,arguments)}function rs(){return(rs=(0,ey._)(function(t,e){var r,n,s,a,o,u,l,c=arguments;return(0,eB._)(this,function(h){switch(h.label){case 0:if(r=c.length>2&&void 0!==c[2]?c[2]:{overwrite:!0},!(e instanceof ru))return[3,3];return n=[t],[4,e.stream()];case 1:return[4,rn.apply(void 0,n.concat([h.sent(),r]))];case 2:return h.sent(),[2];case 3:return[4,(t instanceof ru?t:ri(t,"rw")).createWriter()];case 4:s=h.sent(),h.label=5;case 5:if(h.trys.push([5,16,17,19]),!r.overwrite)return[3,7];return[4,s.truncate(0)];case 6:h.sent(),h.label=7;case 7:if(!(e instanceof ReadableStream))return[3,13];a=e.getReader(),h.label=8;case 8:return[4,a.read()];case 9:if(u=(o=h.sent()).done,l=o.value,u)return[3,12];return[4,s.write(l)];case 10:h.sent(),h.label=11;case 11:return[3,8];case 12:return[3,15];case 13:return[4,s.write(e)];case 14:h.sent(),h.label=15;case 15:return[3,19];case 16:throw h.sent();case 17:return[4,s.close()];case 18:return h.sent(),[7];case 19:return[2]}})})).apply(this,arguments)}var ra=0,ro=/*#__PURE__*/function(){function t(e,r){var n,s=this;(0,eg._)(this,t),eq(this,S),eq(this,x),eq(this,E),eq(this,U),eq(this,T),eq(this,A,0),eq(this,I,(n=null,function(){var t;return eQ(s,A,eK(s,A)+1),null!=n?n:n=new Promise((t=(0,ey._)(function(t,e){var r;return(0,eB._)(this,function(a){switch(a.label){case 0:return a.trys.push([0,2,,3]),[4,function(t,e,r){return e1.apply(this,arguments)}(eK(s,T),eK(s,S),eK(s,U))];case 1:return t([r=a.sent(),/*#__PURE__*/(0,ey._)(function(){return(0,eB._)(this,function(t){switch(t.label){case 0:if(eQ(s,A,eK(s,A)-1),eK(s,A)>0)return[3,2];return n=null,[4,r.close()];case 1:t.sent(),t.label=2;case 2:return[2]}})})]),[3,3];case 2:return e(a.sent()),[3,3];case 3:return[2]}})}),function(e,r){return t.apply(this,arguments)}))})),eq(this,k,!1),eQ(this,T,++ra),eQ(this,S,e),eQ(this,U,{r:"read-only",rw:"readwrite","rw-unsafe":"readwrite-unsafe"}[r]);var a=e4(e),o=a.parent,u=a.name;eQ(this,E,u),eQ(this,x,o)}return(0,ev._)(t,[{key:"kind",get:function(){return"file"}},{key:"path",get:function(){return eK(this,S)}},{key:"name",get:function(){return eK(this,E)}},{key:"parent",get:function(){return null==eK(this,x)?null:rt(eK(this,x))}},{key:"createWriter",value:function(){var t=this;return(0,ey._)(function(){var e,r,n,s,a,o;return(0,eB._)(this,function(u){switch(u.label){case 0:if("read-only"===eK(t,U))throw Error("file is read-only");if(eK(t,k))throw Error("Other writer have not been closed");return eQ(t,k,!0),e=new TextEncoder,[4,eK(t,I).call(t)];case 1:return n=(r=(0,eA._).apply(void 0,[u.sent(),2]))[0],s=r[1],[4,n.getSize()];case 2:var l,c;return a=u.sent(),o=!1,[2,{write:(l=(0,ey._)(function(t){var r,s,u,l,c=arguments;return(0,eB._)(this,function(h){switch(h.label){case 0:if(r=c.length>1&&void 0!==c[1]?c[1]:{},o)throw Error("Writer is closed");return u="string"==typeof t?e.encode(t):t,a=(l=null!==(s=r.at)&&void 0!==s?s:a)+u.byteLength,[4,n.write(u,{at:l})];case 1:return[2,h.sent()]}})}),function(t){return l.apply(this,arguments)}),truncate:(c=(0,ey._)(function(t){return(0,eB._)(this,function(e){switch(e.label){case 0:if(o)throw Error("Writer is closed");return[4,n.truncate(t)];case 1:return e.sent(),a>t&&(a=t),[2]}})}),function(t){return c.apply(this,arguments)}),flush:/*#__PURE__*/(0,ey._)(function(){return(0,eB._)(this,function(t){switch(t.label){case 0:if(o)throw Error("Writer is closed");return[4,n.flush()];case 1:return t.sent(),[2]}})}),close:/*#__PURE__*/(0,ey._)(function(){return(0,eB._)(this,function(e){switch(e.label){case 0:if(o)throw Error("Writer is closed");return o=!0,eQ(t,k,!1),[4,s()];case 1:return e.sent(),[2]}})})}]}})})()}},{key:"createReader",value:function(){var t=this;return(0,ey._)(function(){var e,r,n,s,a;return(0,eB._)(this,function(o){switch(o.label){case 0:return[4,eK(t,I).call(t)];case 1:var u;return r=(e=(0,eA._).apply(void 0,[o.sent(),2]))[0],n=e[1],s=!1,a=0,[2,{read:(u=(0,ey._)(function(t){var e,n,o,u,l=arguments;return(0,eB._)(this,function(c){switch(c.label){case 0:if(e=l.length>1&&void 0!==l[1]?l[1]:{},s)throw Error("Reader is closed");return o=null!==(n=e.at)&&void 0!==n?n:a,[4,r.read(o,t)];case 1:return u=c.sent(),[2,(a=o+u.byteLength,u)]}})}),function(t){return u.apply(this,arguments)}),getSize:/*#__PURE__*/(0,ey._)(function(){return(0,eB._)(this,function(t){switch(t.label){case 0:if(s)throw Error("Reader is closed");return[4,r.getSize()];case 1:return[2,t.sent()]}})}),close:/*#__PURE__*/(0,ey._)(function(){return(0,eB._)(this,function(t){switch(t.label){case 0:if(s)return[3,2];return s=!0,[4,n()];case 1:t.sent(),t.label=2;case 2:return[2]}})})}]}})})()}},{key:"text",value:function(){var t=this;return(0,ey._)(function(){var e,r;return(0,eB._)(this,function(n){switch(n.label){case 0:return r=(e=new TextDecoder).decode,[4,t.arrayBuffer()];case 1:return[2,r.apply(e,[n.sent()])]}})})()}},{key:"arrayBuffer",value:function(){var t=this;return(0,ey._)(function(){var e,r;return(0,eB._)(this,function(n){switch(n.label){case 0:return[4,e6(eK(t,S),{create:!1,isFile:!0})];case 1:if(null!=(e=n.sent()))return[3,2];return r=new ArrayBuffer(0),[3,4];case 2:return[4,e.getFile()];case 3:r=n.sent().arrayBuffer(),n.label=4;case 4:return[2,r]}})})()}},{key:"stream",value:function(){var t=this;return(0,ey._)(function(){var e;return(0,eB._)(this,function(r){switch(r.label){case 0:return[4,t.getOriginFile()];case 1:return[2,null==(e=r.sent())?new ReadableStream({pull:function(t){t.close()}}):e.stream()]}})})()}},{key:"getOriginFile",value:function(){var t=this;return(0,ey._)(function(){var e;return(0,eB._)(this,function(r){switch(r.label){case 0:return[4,e6(eK(t,S),{create:!1,isFile:!0})];case 1:return[2,null==(e=r.sent())?void 0:e.getFile()]}})})()}},{key:"getSize",value:function(){var t=this;return(0,ey._)(function(){var e,r;return(0,eB._)(this,function(n){switch(n.label){case 0:return[4,e6(eK(t,S),{create:!1,isFile:!0})];case 1:if(null!=(e=n.sent()))return[3,2];return r=0,[3,4];case 2:return[4,e.getFile()];case 3:r=n.sent().size,n.label=4;case 4:return[2,r]}})})()}},{key:"exists",value:function(){var t=this;return(0,ey._)(function(){return(0,eB._)(this,function(e){switch(e.label){case 0:return[4,e6(eK(t,S),{create:!1,isFile:!0})];case 1:return[2,e.sent() instanceof FileSystemFileHandle]}})})()}},{key:"remove",value:function(){var t=this;return(0,ey._)(function(){return(0,eB._)(this,function(e){switch(e.label){case 0:if(eK(t,A))throw Error("exists unclosed reader/writer");return[4,e5(eK(t,S))];case 1:return e.sent(),[2]}})})()}},{key:"copyTo",value:function(e){var r=this;return(0,ey._)(function(){var n;return(0,eB._)(this,function(s){switch(s.label){case 0:return[4,r.exists()];case 1:if(!s.sent())throw Error("file ".concat(r.path," not exists"));if(!(e instanceof t))return[3,5];if(ri(e.path)!==r)return[3,2];return n=r,[3,4];case 2:return[4,rn(e.path,r)];case 3:s.sent(),n=ri(e.path),s.label=4;case 4:return[2,n];case 5:if(!(e instanceof re))return[3,7];return[4,r.copyTo(ri(e9(e.path,r.name)))];case 6:return[2,s.sent()];case 7:throw Error("Illegal target type")}})})()}},{key:"moveTo",value:function(t){var e=this;return(0,ey._)(function(){var r;return(0,eB._)(this,function(n){switch(n.label){case 0:return[4,e.copyTo(t)];case 1:return r=n.sent(),[4,e.remove()];case 2:return[2,(n.sent(),r)]}})})()}}]),t}();S=/* @__PURE__ */new WeakMap,x=/* @__PURE__ */new WeakMap,E=/* @__PURE__ */new WeakMap,U=/* @__PURE__ */new WeakMap,T=/* @__PURE__ */new WeakMap,A=/* @__PURE__ */new WeakMap,I=/* @__PURE__ */new WeakMap,k=/* @__PURE__ */new WeakMap;var ru=ro,rl="/.opfs-tools-temp-dir";function rc(t){return rh.apply(this,arguments)}function rh(){return(rh=(0,ey._)(function(t){var e;return(0,eB._)(this,function(r){switch(r.label){case 0:if(r.trys.push([0,9,,10]),"file"!==t.kind)return[3,6];return[4,t.exists()];case 1:if(!r.sent())return[2,!0];return[4,t.createWriter()];case 2:return[4,(e=r.sent()).truncate(0)];case 3:return r.sent(),[4,e.close()];case 4:return r.sent(),[4,t.remove()];case 5:return r.sent(),[3,8];case 6:return[4,t.remove()];case 7:r.sent(),r.label=8;case 8:return[2,!0];case 9:return[2,(console.warn(r.sent()),!1)];case 10:return[2]}})})).apply(this,arguments)}var rf=[],rd=!1;function rp(){return(rp=(0,ey._)(function(){var t,e,r,n,s,a,o,u,l,c,h;return(0,eB._)(this,function(f){switch(f.label){case 0:if(null==globalThis.localStorage)return[2];t="OPFS_TOOLS_EXPIRES_TMP_FILES",rd||(rd=!0,globalThis.addEventListener("unload",function(){var e;0!==rf.length&&localStorage.setItem(t,"".concat(null!==(e=localStorage.getItem(t))&&void 0!==e?e:"",",").concat(rf.join(",")))})),r=null!==(e=localStorage.getItem(t))&&void 0!==e?e:"",n=!0,s=!1,a=void 0,f.label=1;case 1:f.trys.push([1,7,8,9]),o=r.split(",")[Symbol.iterator](),f.label=2;case 2:if(n=(u=o.next()).done)return[3,6];if(!(c=0!==(l=u.value).length))return[3,4];return[4,rc(ri("".concat(rl,"/").concat(l)))];case 3:c=f.sent(),f.label=4;case 4:c&&(r=r.replace(l,"")),f.label=5;case 5:return n=!0,[3,2];case 6:return[3,9];case 7:return h=f.sent(),s=!0,a=h,[3,9];case 8:try{n||null==o.return||o.return()}finally{if(s)throw a}return[7];case 9:return localStorage.setItem(t,r.replace(/,{2,}/g,",")),[2]}})})).apply(this,arguments)}function rm(){var t="".concat(Math.random().toString().slice(2),"-").concat(Date.now());return rf.push(t),ri("".concat(rl,"/").concat(t))}(0,ey._)(function(){var t,e;return(0,eB._)(this,function(e){switch(e.label){case 0:if(!(!0!==globalThis.__opfs_tools_tmpfile_init__))return[3,3];if(globalThis.__opfs_tools_tmpfile_init__=!0,null==globalThis.FileSystemDirectoryHandle||null==globalThis.FileSystemFileHandle||(null==(t=globalThis.navigator)?void 0:t.storage.getDirectory)==null)return[3,2];return setInterval(/*#__PURE__*/(0,ey._)(function(){var t,e,r,n,s,a,o,u;return(0,eB._)(this,function(l){switch(l.label){case 0:t=!0,e=!1,r=void 0,l.label=1;case 1:return l.trys.push([1,8,9,10]),[4,rt(rl).children()];case 2:n=l.sent()[Symbol.iterator](),l.label=3;case 3:if(t=(s=n.next()).done)return[3,7];if(a=s.value,!(null==(o=/^\d+-(\d+)$/.exec(a.name))||Date.now()-Number(o[1])>2592e5))return[3,5];return[4,rc(a)];case 4:l.sent(),l.label=5;case 5:l.label=6;case 6:return t=!0,[3,3];case 7:return[3,10];case 8:return u=l.sent(),e=!0,r=u,[3,10];case 9:try{t||null==n.return||n.return()}finally{if(e)throw r}return[7];case 10:return[2]}})}),6e4),[4,function(){return rp.apply(this,arguments)}()];case 1:e.sent(),e.label=2;case 2:e.label=3;case 3:return[2]}})})();var r_=1,ry=rm(),rg=null,rv=["debug","info","warn","error"].reduce(function(t,e,r){return Object.assign(t,(0,eb._)({},e,function(){for(var t,n,s=arguments.length,a=Array(s),o=0;o3&&void 0!==arguments[3]?arguments[3]:{},s=(r-e)/e+1,a=new Float64Array(t.length*s);n.method=n.method||"cubic";var o=new rI(t.length,a.length,{method:n.method,tension:n.tension||0,sincFilterSize:n.sincFilterSize||6,sincWindow:n.sincWindow||void 0});if(void 0===n.LPF&&(n.LPF=rP[n.method]),n.LPF){n.LPFType=n.LPFType||"IIR";var u=rF[n.LPFType];r>e?function(t,e,r,n){for(var s=0,a=e.length;s=0;o--)e[o]=n.filter(e[o])}(t,a,o,new u(n.LPFOrder||rR[n.LPFType],r,e/2)):function(t,e,r,n){for(var s=0,a=t.length;s=0;o--)t[o]=n.filter(t[o]);rD(t,e,r)}(t,a,o,new u(n.LPFOrder||rR[n.LPFType],e,r/2))}else rD(t,a,o);return a}(t,e,r.rate,{method:"sinc",LPF:!1}))})];return l=(u=new globalThis.OfflineAudioContext(r.chanCount,o*r.rate/e,r.rate)).createBufferSource(),c=u.createBuffer(s,o,e),t.forEach(function(t,e){return c.copyToChannel(t,e)}),l.buffer=c,l.connect(u.destination),l.start(),[4,u.startRendering()];case 1:return[2,rM.apply(void 0,[h.sent()])]}})})).apply(this,arguments)}function rH(t){return new Promise(function(e){var r=rA(function(){r(),e()},t)})}function rX(t,e,r){for(var n=r-e,s=new Float32Array(n),a=0;a=a&&console.debug("["+o.getDurationString(/* @__PURE__ */new Date-s,1e3)+"]","["+t+"]",e)},log:function(t,e){this.debug(t.msg)},info:function(t,e){2>=a&&console.info("["+o.getDurationString(/* @__PURE__ */new Date-s,1e3)+"]","["+t+"]",e)},warn:function(t,e){3>=a&&console.warn("["+o.getDurationString(/* @__PURE__ */new Date-s,1e3)+"]","["+t+"]",e)},error:function(t,e){4>=a&&console.error("["+o.getDurationString(/* @__PURE__ */new Date-s,1e3)+"]","["+t+"]",e)}}).getDurationString=function(t,e){function r(t,e){for(var r=(""+t).split(".");r[0].length0))return"(empty)";for(var r="",n=0;n0&&(r+=","),r+="["+o.getDurationString(t.start(n))+","+o.getDurationString(t.end(n))+"]";return r},rQ.Log=o,(u=function(t){if(t instanceof ArrayBuffer)this.buffer=t,this.dataview=new DataView(t);else throw"Needs an array buffer";this.position=0}).prototype.getPosition=function(){return this.position},u.prototype.getEndPosition=function(){return this.buffer.byteLength},u.prototype.getLength=function(){return this.buffer.byteLength},u.prototype.seek=function(t){var e=Math.max(0,Math.min(this.buffer.byteLength,t));return this.position=isNaN(e)||!isFinite(e)?0:e,!0},u.prototype.isEos=function(){return this.getPosition()>=this.getEndPosition()},u.prototype.readAnyInt=function(t,e){var r=0;if(this.position+t<=this.buffer.byteLength){switch(t){case 1:r=e?this.dataview.getInt8(this.position):this.dataview.getUint8(this.position);break;case 2:r=e?this.dataview.getInt16(this.position):this.dataview.getUint16(this.position);break;case 3:if(e)throw"No method for reading signed 24 bits values";r=this.dataview.getUint8(this.position)<<16|this.dataview.getUint8(this.position+1)<<8|this.dataview.getUint8(this.position+2);break;case 4:r=e?this.dataview.getInt32(this.position):this.dataview.getUint32(this.position);break;case 8:if(e)throw"No method for reading signed 64 bits values";r=this.dataview.getUint32(this.position)<<32|this.dataview.getUint32(this.position+4);break;default:throw"readInt method not implemented for size: "+t}return this.position+=t,r}throw"Not enough bytes in buffer"},u.prototype.readUint8=function(){return this.readAnyInt(1,!1)},u.prototype.readUint16=function(){return this.readAnyInt(2,!1)},u.prototype.readUint24=function(){return this.readAnyInt(3,!1)},u.prototype.readUint32=function(){return this.readAnyInt(4,!1)},u.prototype.readUint64=function(){return this.readAnyInt(8,!1)},u.prototype.readString=function(t){if(this.position+t<=this.buffer.byteLength){for(var e="",r=0;rthis._byteLength&&(this._byteLength=e);return}for(r<1&&(r=1);e>r;)r*=2;var n=new ArrayBuffer(r),s=new Uint8Array(this._buffer);new Uint8Array(n,0,s.length).set(s),this.buffer=n,this._byteLength=e}},l.prototype._trimAlloc=function(){if(this._byteLength!=this._buffer.byteLength){var t=new ArrayBuffer(this._byteLength),e=new Uint8Array(t),r=new Uint8Array(this._buffer,0,e.length);e.set(r),this.buffer=t}},l.BIG_ENDIAN=!1,l.LITTLE_ENDIAN=!0,l.prototype._byteLength=0,Object.defineProperty(l.prototype,"byteLength",{get:function(){return this._byteLength-this._byteOffset}}),Object.defineProperty(l.prototype,"buffer",{get:function(){return this._trimAlloc(),this._buffer},set:function(t){this._buffer=t,this._dataView=new DataView(this._buffer,this._byteOffset),this._byteLength=this._buffer.byteLength}}),Object.defineProperty(l.prototype,"byteOffset",{get:function(){return this._byteOffset},set:function(t){this._byteOffset=t,this._dataView=new DataView(this._buffer,this._byteOffset),this._byteLength=this._buffer.byteLength}}),Object.defineProperty(l.prototype,"dataView",{get:function(){return this._dataView},set:function(t){this._byteOffset=t.byteOffset,this._buffer=t.buffer,this._dataView=new DataView(this._buffer,this._byteOffset),this._byteLength=this._byteOffset+t.byteLength}}),l.prototype.seek=function(t){var e=Math.max(0,Math.min(this.byteLength,t));this.position=isNaN(e)||!isFinite(e)?0:e},l.prototype.isEof=function(){return this.position>=this._byteLength},l.prototype.mapUint8Array=function(t){this._realloc(1*t);var e=new Uint8Array(this._buffer,this.byteOffset+this.position,t);return this.position+=1*t,e},l.prototype.readInt32Array=function(t,e){var r=new Int32Array(t=null!=t?t:this.byteLength-this.position/4);return l.memcpy(r.buffer,0,this.buffer,this.byteOffset+this.position,t*r.BYTES_PER_ELEMENT),l.arrayToNative(r,null!=e?e:this.endianness),this.position+=r.byteLength,r},l.prototype.readInt16Array=function(t,e){var r=new Int16Array(t=null!=t?t:this.byteLength-this.position/2);return l.memcpy(r.buffer,0,this.buffer,this.byteOffset+this.position,t*r.BYTES_PER_ELEMENT),l.arrayToNative(r,null!=e?e:this.endianness),this.position+=r.byteLength,r},l.prototype.readInt8Array=function(t){var e=new Int8Array(t=null!=t?t:this.byteLength-this.position);return l.memcpy(e.buffer,0,this.buffer,this.byteOffset+this.position,t*e.BYTES_PER_ELEMENT),this.position+=e.byteLength,e},l.prototype.readUint32Array=function(t,e){var r=new Uint32Array(t=null!=t?t:this.byteLength-this.position/4);return l.memcpy(r.buffer,0,this.buffer,this.byteOffset+this.position,t*r.BYTES_PER_ELEMENT),l.arrayToNative(r,null!=e?e:this.endianness),this.position+=r.byteLength,r},l.prototype.readUint16Array=function(t,e){var r=new Uint16Array(t=null!=t?t:this.byteLength-this.position/2);return l.memcpy(r.buffer,0,this.buffer,this.byteOffset+this.position,t*r.BYTES_PER_ELEMENT),l.arrayToNative(r,null!=e?e:this.endianness),this.position+=r.byteLength,r},l.prototype.readUint8Array=function(t){var e=new Uint8Array(t=null!=t?t:this.byteLength-this.position);return l.memcpy(e.buffer,0,this.buffer,this.byteOffset+this.position,t*e.BYTES_PER_ELEMENT),this.position+=e.byteLength,e},l.prototype.readFloat64Array=function(t,e){var r=new Float64Array(t=null!=t?t:this.byteLength-this.position/8);return l.memcpy(r.buffer,0,this.buffer,this.byteOffset+this.position,t*r.BYTES_PER_ELEMENT),l.arrayToNative(r,null!=e?e:this.endianness),this.position+=r.byteLength,r},l.prototype.readFloat32Array=function(t,e){var r=new Float32Array(t=null!=t?t:this.byteLength-this.position/4);return l.memcpy(r.buffer,0,this.buffer,this.byteOffset+this.position,t*r.BYTES_PER_ELEMENT),l.arrayToNative(r,null!=e?e:this.endianness),this.position+=r.byteLength,r},l.prototype.readInt32=function(t){var e=this._dataView.getInt32(this.position,null!=t?t:this.endianness);return this.position+=4,e},l.prototype.readInt16=function(t){var e=this._dataView.getInt16(this.position,null!=t?t:this.endianness);return this.position+=2,e},l.prototype.readInt8=function(){var t=this._dataView.getInt8(this.position);return this.position+=1,t},l.prototype.readUint32=function(t){var e=this._dataView.getUint32(this.position,null!=t?t:this.endianness);return this.position+=4,e},l.prototype.readUint16=function(t){var e=this._dataView.getUint16(this.position,null!=t?t:this.endianness);return this.position+=2,e},l.prototype.readUint8=function(){var t=this._dataView.getUint8(this.position);return this.position+=1,t},l.prototype.readFloat32=function(t){var e=this._dataView.getFloat32(this.position,null!=t?t:this.endianness);return this.position+=4,e},l.prototype.readFloat64=function(t){var e=this._dataView.getFloat64(this.position,null!=t?t:this.endianness);return this.position+=8,e},l.endianness=new Int8Array(new Int16Array([1]).buffer)[0]>0,l.memcpy=function(t,e,r,n,s){var a=new Uint8Array(t,e,s),o=new Uint8Array(r,n,s);a.set(o)},l.arrayToNative=function(t,e){return e==this.endianness?t:this.flipArrayEndianness(t)},l.nativeToEndian=function(t,e){return this.endianness==e?t:this.flipArrayEndianness(t)},l.flipArrayEndianness=function(t){for(var e=new Uint8Array(t.buffer,t.byteOffset,t.byteLength),r=0;rs;n--,s++){var a=e[s];e[s]=e[n],e[n]=a}return t},l.prototype.failurePosition=0,String.fromCharCodeUint8=function(t){for(var e=[],r=0;r>16),this.writeUint8((65280&t)>>8),this.writeUint8(255&t)},l.prototype.adjustUint32=function(t,e){var r=this.position;this.seek(t),this.writeUint32(e),this.seek(r)},l.prototype.mapInt32Array=function(t,e){this._realloc(4*t);var r=new Int32Array(this._buffer,this.byteOffset+this.position,t);return l.arrayToNative(r,null!=e?e:this.endianness),this.position+=4*t,r},l.prototype.mapInt16Array=function(t,e){this._realloc(2*t);var r=new Int16Array(this._buffer,this.byteOffset+this.position,t);return l.arrayToNative(r,null!=e?e:this.endianness),this.position+=2*t,r},l.prototype.mapInt8Array=function(t){this._realloc(1*t);var e=new Int8Array(this._buffer,this.byteOffset+this.position,t);return this.position+=1*t,e},l.prototype.mapUint32Array=function(t,e){this._realloc(4*t);var r=new Uint32Array(this._buffer,this.byteOffset+this.position,t);return l.arrayToNative(r,null!=e?e:this.endianness),this.position+=4*t,r},l.prototype.mapUint16Array=function(t,e){this._realloc(2*t);var r=new Uint16Array(this._buffer,this.byteOffset+this.position,t);return l.arrayToNative(r,null!=e?e:this.endianness),this.position+=2*t,r},l.prototype.mapFloat64Array=function(t,e){this._realloc(8*t);var r=new Float64Array(this._buffer,this.byteOffset+this.position,t);return l.arrayToNative(r,null!=e?e:this.endianness),this.position+=8*t,r},l.prototype.mapFloat32Array=function(t,e){this._realloc(4*t);var r=new Float32Array(this._buffer,this.byteOffset+this.position,t);return l.arrayToNative(r,null!=e?e:this.endianness),this.position+=4*t,r},(c=function(t){this.buffers=[],this.bufferIndex=-1,t&&(this.insertBuffer(t),this.bufferIndex=0)}).prototype=new l(new ArrayBuffer,0,l.BIG_ENDIAN),c.prototype.initialized=function(){var t;return this.bufferIndex>-1||(this.buffers.length>0?0===(t=this.buffers[0]).fileStart?(this.buffer=t,this.bufferIndex=0,o.debug("MultiBufferStream","Stream ready for parsing"),!0):(o.warn("MultiBufferStream","The first buffer should have a fileStart of 0"),this.logBufferLevel(),!1):(o.warn("MultiBufferStream","No buffer to start parsing from"),this.logBufferLevel(),!1))},ArrayBuffer.concat=function(t,e){o.debug("ArrayBuffer","Trying to create a new buffer of size: "+(t.byteLength+e.byteLength));var r=new Uint8Array(t.byteLength+e.byteLength);return r.set(new Uint8Array(t),0),r.set(new Uint8Array(e),t.byteLength),r.buffer},c.prototype.reduceBuffer=function(t,e,r){var n;return(n=new Uint8Array(r)).set(new Uint8Array(t,e,r)),n.buffer.fileStart=t.fileStart+e,n.buffer.usedBytes=0,n.buffer},c.prototype.insertBuffer=function(t){for(var e=!0,r=0;rn.byteLength){this.buffers.splice(r,1),r--;continue}o.warn("MultiBufferStream","Buffer (fileStart: "+t.fileStart+" - Length: "+t.byteLength+") already appended, ignoring")}else t.fileStart+t.byteLength<=n.fileStart||(t=this.reduceBuffer(t,0,n.fileStart-t.fileStart)),o.debug("MultiBufferStream","Appending new buffer (fileStart: "+t.fileStart+" - Length: "+t.byteLength+")"),this.buffers.splice(r,0,t),0===r&&(this.buffer=t);e=!1;break}if(t.fileStart0)t=this.reduceBuffer(t,s,a);else{e=!1;break}}}e&&(o.debug("MultiBufferStream","Appending new buffer (fileStart: "+t.fileStart+" - Length: "+t.byteLength+")"),this.buffers.push(t),0===r&&(this.buffer=t))},c.prototype.logBufferLevel=function(t){var e,r,n,s,a,u=[],l="";for(n=0,s=0,e=0;e0&&(l+=a.end-1+"]"),(t?o.info:o.debug)("MultiBufferStream",0===this.buffers.length?"No more buffer in memory":""+this.buffers.length+" stored buffer(s) ("+n+"/"+s+" bytes), continuous ranges: "+l)},c.prototype.cleanBuffers=function(){var t,e;for(t=0;t"+this.buffer.byteLength+")"),!0},c.prototype.findPosition=function(t,e,r){var n,s=null,a=-1;for(n=!0===t?0:this.bufferIndex;n=e?(o.debug("MultiBufferStream","Found position in existing buffer #"+a),a):-1},c.prototype.findEndContiguousBuf=function(t){var e,r,n,s=void 0!==t?t:this.bufferIndex;if(r=this.buffers[s],this.buffers.length>s+1)for(e=s+1;e>3;return 31===n&&r.data.length>=2&&(n=32+((7&r.data[0])<<3)+((224&r.data[1])>>5)),n},r.DecoderConfigDescriptor=function(t){r.Descriptor.call(this,4,t)},r.DecoderConfigDescriptor.prototype=new r.Descriptor,r.DecoderConfigDescriptor.prototype.parse=function(t){this.oti=t.readUint8(),this.streamType=t.readUint8(),this.bufferSize=t.readUint24(),this.maxBitrate=t.readUint32(),this.avgBitrate=t.readUint32(),this.size-=13,this.parseRemainingDescriptors(t)},r.DecoderSpecificInfo=function(t){r.Descriptor.call(this,5,t)},r.DecoderSpecificInfo.prototype=new r.Descriptor,r.SLConfigDescriptor=function(t){r.Descriptor.call(this,6,t)},r.SLConfigDescriptor.prototype=new r.Descriptor,this},rQ.MPEG4DescriptorParser=h,(f={ERR_INVALID_DATA:-1,ERR_NOT_ENOUGH_DATA:0,OK:1,BASIC_BOXES:["mdat","idat","free","skip","meco","strk"],FULL_BOXES:["hmhd","nmhd","iods","xml ","bxml","ipro","mere"],CONTAINER_BOXES:[["moov",["trak","pssh"]],["trak"],["edts"],["mdia"],["minf"],["dinf"],["stbl",["sgpd","sbgp"]],["mvex",["trex"]],["moof",["traf"]],["traf",["trun","sgpd","sbgp"]],["vttc"],["tref"],["iref"],["mfra",["tfra"]],["meco"],["hnti"],["hinf"],["strk"],["strd"],["sinf"],["rinf"],["schi"],["trgr"],["udta",["kind"]],["iprp",["ipma"]],["ipco"],["grpl"],["j2kH"],["etyp",["tyco"]]],boxCodes:[],fullBoxCodes:[],containerBoxCodes:[],sampleEntryCodes:{},sampleGroupEntryCodes:[],trackGroupTypes:[],UUIDBoxes:{},UUIDs:[],initialize:function(){f.FullBox.prototype=new f.Box,f.ContainerBox.prototype=new f.Box,f.SampleEntry.prototype=new f.Box,f.TrackGroupTypeBox.prototype=new f.FullBox,f.BASIC_BOXES.forEach(function(t){f.createBoxCtor(t)}),f.FULL_BOXES.forEach(function(t){f.createFullBoxCtor(t)}),f.CONTAINER_BOXES.forEach(function(t){f.createContainerBoxCtor(t[0],null,t[1])})},Box:function(t,e,r){this.type=t,this.size=e,this.uuid=r},FullBox:function(t,e,r){f.Box.call(this,t,e,r),this.flags=0,this.version=0},ContainerBox:function(t,e,r){f.Box.call(this,t,e,r),this.boxes=[]},SampleEntry:function(t,e,r,n){f.ContainerBox.call(this,t,e),this.hdr_size=r,this.start=n},SampleGroupEntry:function(t){this.grouping_type=t},TrackGroupTypeBox:function(t,e){f.FullBox.call(this,t,e)},createBoxCtor:function(t,e){f.boxCodes.push(t),f[t+"Box"]=function(e){f.Box.call(this,t,e)},f[t+"Box"].prototype=new f.Box,e&&(f[t+"Box"].prototype.parse=e)},createFullBoxCtor:function(t,e){f[t+"Box"]=function(e){f.FullBox.call(this,t,e)},f[t+"Box"].prototype=new f.FullBox,f[t+"Box"].prototype.parse=function(t){this.parseFullHeader(t),e&&e.call(this,t)}},addSubBoxArrays:function(t){if(t){this.subBoxNames=t;for(var e=t.length,r=0;rr?(o.error("BoxParser","Box of type '"+h+"' has a size "+c+" greater than its container size "+r),{code:f.ERR_NOT_ENOUGH_DATA,type:h,size:c,hdr_size:l,start:u}):0!==c&&u+c>t.getEndPosition()?(t.seek(u),o.info("BoxParser","Not enough data in stream to parse the entire '"+h+"' box"),{code:f.ERR_NOT_ENOUGH_DATA,type:h,size:c,hdr_size:l,start:u}):e?{code:f.OK,type:h,size:c,hdr_size:l,start:u}:(f[h+"Box"]?n=new f[h+"Box"](c):"uuid"!==h?(o.warn("BoxParser","Unknown box type: '"+h+"'"),(n=new f.Box(h,c)).has_unparsed_data=!0):f.UUIDBoxes[a]?n=new f.UUIDBoxes[a](c):(o.warn("BoxParser","Unknown uuid type: '"+a+"'"),(n=new f.Box(h,c)).uuid=a,n.has_unparsed_data=!0),n.hdr_size=l,n.start=u,n.write===f.Box.prototype.write&&"mdat"!==n.type&&(o.info("BoxParser","'"+d+"' box writing not yet implemented, keeping unparsed data in memory for later write"),n.parseDataAndRewind(t)),n.parse(t),(s=t.getPosition()-(n.start+n.size))<0?(o.warn("BoxParser","Parsing of box '"+d+"' did not read the entire indicated box data size (missing "+-s+" bytes), seeking forward"),t.seek(n.start+n.size)):s>0&&(o.error("BoxParser","Parsing of box '"+d+"' read "+s+" more bytes than the indicated box data size, seeking backwards"),0!==n.size&&t.seek(n.start+n.size)),{code:f.OK,box:n,size:n.size})},f.Box.prototype.parse=function(t){"mdat"!=this.type?this.data=t.readUint8Array(this.size-this.hdr_size):0===this.size?t.seek(t.getEndPosition()):t.seek(this.start+this.size)},f.Box.prototype.parseDataAndRewind=function(t){this.data=t.readUint8Array(this.size-this.hdr_size),t.position-=this.size-this.hdr_size},f.FullBox.prototype.parseDataAndRewind=function(t){this.parseFullHeader(t),this.data=t.readUint8Array(this.size-this.hdr_size),this.hdr_size-=4,t.position-=this.size-this.hdr_size},f.FullBox.prototype.parseFullHeader=function(t){this.version=t.readUint8(),this.flags=t.readUint24(),this.hdr_size+=4},f.FullBox.prototype.parse=function(t){this.parseFullHeader(t),this.data=t.readUint8Array(this.size-this.hdr_size)},f.ContainerBox.prototype.parse=function(t){for(var e,r;t.getPosition()>10&31,e[1]=this.language>>5&31,e[2]=31&this.language,this.languageString=String.fromCharCode(e[0]+96,e[1]+96,e[2]+96)},f.SAMPLE_ENTRY_TYPE_VISUAL="Visual",f.SAMPLE_ENTRY_TYPE_AUDIO="Audio",f.SAMPLE_ENTRY_TYPE_HINT="Hint",f.SAMPLE_ENTRY_TYPE_METADATA="Metadata",f.SAMPLE_ENTRY_TYPE_SUBTITLE="Subtitle",f.SAMPLE_ENTRY_TYPE_SYSTEM="System",f.SAMPLE_ENTRY_TYPE_TEXT="Text",f.SampleEntry.prototype.parseHeader=function(t){t.readUint8Array(6),this.data_reference_index=t.readUint16(),this.hdr_size+=8},f.SampleEntry.prototype.parse=function(t){this.parseHeader(t),this.data=t.readUint8Array(this.size-this.hdr_size)},f.SampleEntry.prototype.parseDataAndRewind=function(t){this.parseHeader(t),this.data=t.readUint8Array(this.size-this.hdr_size),this.hdr_size-=8,t.position-=this.size-this.hdr_size},f.SampleEntry.prototype.parseFooter=function(t){f.ContainerBox.prototype.parse.call(this,t)},f.createMediaSampleEntryCtor(f.SAMPLE_ENTRY_TYPE_HINT),f.createMediaSampleEntryCtor(f.SAMPLE_ENTRY_TYPE_METADATA),f.createMediaSampleEntryCtor(f.SAMPLE_ENTRY_TYPE_SUBTITLE),f.createMediaSampleEntryCtor(f.SAMPLE_ENTRY_TYPE_SYSTEM),f.createMediaSampleEntryCtor(f.SAMPLE_ENTRY_TYPE_TEXT),f.createMediaSampleEntryCtor(f.SAMPLE_ENTRY_TYPE_VISUAL,function(t){var e;this.parseHeader(t),t.readUint16(),t.readUint16(),t.readUint32Array(3),this.width=t.readUint16(),this.height=t.readUint16(),this.horizresolution=t.readUint32(),this.vertresolution=t.readUint32(),t.readUint32(),this.frame_count=t.readUint16(),e=Math.min(31,t.readUint8()),this.compressorname=t.readString(e),e<31&&t.readString(31-e),this.depth=t.readUint16(),t.readUint16(),this.parseFooter(t)}),f.createMediaSampleEntryCtor(f.SAMPLE_ENTRY_TYPE_AUDIO,function(t){this.parseHeader(t),t.readUint32Array(2),this.channel_count=t.readUint16(),this.samplesize=t.readUint16(),t.readUint16(),t.readUint16(),this.samplerate=t.readUint32()/65536,this.parseFooter(t)}),f.createSampleEntryCtor(f.SAMPLE_ENTRY_TYPE_VISUAL,"avc1"),f.createSampleEntryCtor(f.SAMPLE_ENTRY_TYPE_VISUAL,"avc2"),f.createSampleEntryCtor(f.SAMPLE_ENTRY_TYPE_VISUAL,"avc3"),f.createSampleEntryCtor(f.SAMPLE_ENTRY_TYPE_VISUAL,"avc4"),f.createSampleEntryCtor(f.SAMPLE_ENTRY_TYPE_VISUAL,"av01"),f.createSampleEntryCtor(f.SAMPLE_ENTRY_TYPE_VISUAL,"dav1"),f.createSampleEntryCtor(f.SAMPLE_ENTRY_TYPE_VISUAL,"hvc1"),f.createSampleEntryCtor(f.SAMPLE_ENTRY_TYPE_VISUAL,"hev1"),f.createSampleEntryCtor(f.SAMPLE_ENTRY_TYPE_VISUAL,"hvt1"),f.createSampleEntryCtor(f.SAMPLE_ENTRY_TYPE_VISUAL,"lhe1"),f.createSampleEntryCtor(f.SAMPLE_ENTRY_TYPE_VISUAL,"dvh1"),f.createSampleEntryCtor(f.SAMPLE_ENTRY_TYPE_VISUAL,"dvhe"),f.createSampleEntryCtor(f.SAMPLE_ENTRY_TYPE_VISUAL,"vvc1"),f.createSampleEntryCtor(f.SAMPLE_ENTRY_TYPE_VISUAL,"vvi1"),f.createSampleEntryCtor(f.SAMPLE_ENTRY_TYPE_VISUAL,"vvs1"),f.createSampleEntryCtor(f.SAMPLE_ENTRY_TYPE_VISUAL,"vvcN"),f.createSampleEntryCtor(f.SAMPLE_ENTRY_TYPE_VISUAL,"vp08"),f.createSampleEntryCtor(f.SAMPLE_ENTRY_TYPE_VISUAL,"vp09"),f.createSampleEntryCtor(f.SAMPLE_ENTRY_TYPE_VISUAL,"avs3"),f.createSampleEntryCtor(f.SAMPLE_ENTRY_TYPE_VISUAL,"j2ki"),f.createSampleEntryCtor(f.SAMPLE_ENTRY_TYPE_VISUAL,"mjp2"),f.createSampleEntryCtor(f.SAMPLE_ENTRY_TYPE_VISUAL,"mjpg"),f.createSampleEntryCtor(f.SAMPLE_ENTRY_TYPE_VISUAL,"uncv"),f.createSampleEntryCtor(f.SAMPLE_ENTRY_TYPE_AUDIO,"mp4a"),f.createSampleEntryCtor(f.SAMPLE_ENTRY_TYPE_AUDIO,"ac-3"),f.createSampleEntryCtor(f.SAMPLE_ENTRY_TYPE_AUDIO,"ac-4"),f.createSampleEntryCtor(f.SAMPLE_ENTRY_TYPE_AUDIO,"ec-3"),f.createSampleEntryCtor(f.SAMPLE_ENTRY_TYPE_AUDIO,"Opus"),f.createSampleEntryCtor(f.SAMPLE_ENTRY_TYPE_AUDIO,"mha1"),f.createSampleEntryCtor(f.SAMPLE_ENTRY_TYPE_AUDIO,"mha2"),f.createSampleEntryCtor(f.SAMPLE_ENTRY_TYPE_AUDIO,"mhm1"),f.createSampleEntryCtor(f.SAMPLE_ENTRY_TYPE_AUDIO,"mhm2"),f.createEncryptedSampleEntryCtor(f.SAMPLE_ENTRY_TYPE_VISUAL,"encv"),f.createEncryptedSampleEntryCtor(f.SAMPLE_ENTRY_TYPE_AUDIO,"enca"),f.createEncryptedSampleEntryCtor(f.SAMPLE_ENTRY_TYPE_SUBTITLE,"encu"),f.createEncryptedSampleEntryCtor(f.SAMPLE_ENTRY_TYPE_SYSTEM,"encs"),f.createEncryptedSampleEntryCtor(f.SAMPLE_ENTRY_TYPE_TEXT,"enct"),f.createEncryptedSampleEntryCtor(f.SAMPLE_ENTRY_TYPE_METADATA,"encm"),f.createBoxCtor("a1lx",function(t){var e=((1&(1&t.readUint8()))+1)*16;this.layer_size=[];for(var r=0;r<3;r++)16==e?this.layer_size[r]=t.readUint16():this.layer_size[r]=t.readUint32()}),f.createBoxCtor("a1op",function(t){this.op_index=t.readUint8()}),f.createFullBoxCtor("auxC",function(t){this.aux_type=t.readCString();var e=this.size-this.hdr_size-(this.aux_type.length+1);this.aux_subtype=t.readUint8Array(e)}),f.createBoxCtor("av1C",function(t){var e=t.readUint8();if(this.version=127&e,1!==this.version){o.error("av1C version "+this.version+" not supported");return}if(e=t.readUint8(),this.seq_profile=e>>5&7,this.seq_level_idx_0=31&e,e=t.readUint8(),this.seq_tier_0=e>>7&1,this.high_bitdepth=e>>6&1,this.twelve_bit=e>>5&1,this.monochrome=e>>4&1,this.chroma_subsampling_x=e>>3&1,this.chroma_subsampling_y=e>>2&1,this.chroma_sample_position=3&e,e=t.readUint8(),this.reserved_1=e>>5&7,0!==this.reserved_1){o.error("av1C reserved_1 parsing problem");return}if(this.initial_presentation_delay_present=e>>4&1,1===this.initial_presentation_delay_present)this.initial_presentation_delay_minus_one=15&e;else if(this.reserved_2=15&e,0!==this.reserved_2){o.error("av1C reserved_2 parsing problem");return}var r=this.size-this.hdr_size-4;this.configOBUs=t.readUint8Array(r)}),f.createBoxCtor("avcC",function(t){var e,r;for(this.configurationVersion=t.readUint8(),this.AVCProfileIndication=t.readUint8(),this.profile_compatibility=t.readUint8(),this.AVCLevelIndication=t.readUint8(),this.lengthSizeMinusOne=3&t.readUint8(),this.nb_SPS_nalus=31&t.readUint8(),r=this.size-this.hdr_size-6,this.SPS=[],e=0;e0&&(this.ext=t.readUint8Array(r))}),f.createBoxCtor("btrt",function(t){this.bufferSizeDB=t.readUint32(),this.maxBitrate=t.readUint32(),this.avgBitrate=t.readUint32()}),f.createFullBoxCtor("ccst",function(t){var e=t.readUint8();this.all_ref_pics_intra=(128&e)==128,this.intra_pred_used=(64&e)==64,this.max_ref_per_pic=(63&e)>>2,t.readUint24()}),f.createBoxCtor("cdef",function(t){var e;for(this.channel_count=t.readUint16(),this.channel_indexes=[],this.channel_types=[],this.channel_associations=[],e=0;e=32768&&this.component_type_urls.push(t.readCString())}}),f.createFullBoxCtor("co64",function(t){var e,r;if(e=t.readUint32(),this.chunk_offsets=[],0===this.version)for(r=0;r>7}else"rICC"===this.colour_type?this.ICC_profile=t.readUint8Array(this.size-4):"prof"===this.colour_type&&(this.ICC_profile=t.readUint8Array(this.size-4))}),f.createFullBoxCtor("cprt",function(t){this.parseLanguage(t),this.notice=t.readCString()}),f.createFullBoxCtor("cslg",function(t){0===this.version&&(this.compositionToDTSShift=t.readInt32(),this.leastDecodeToDisplayDelta=t.readInt32(),this.greatestDecodeToDisplayDelta=t.readInt32(),this.compositionStartTime=t.readInt32(),this.compositionEndTime=t.readInt32())}),f.createFullBoxCtor("ctts",function(t){var e,r;if(e=t.readUint32(),this.sample_counts=[],this.sample_offsets=[],0===this.version)for(r=0;r>6,this.bsid=e>>1&31,this.bsmod=(1&e)<<2|r>>6&3,this.acmod=r>>3&7,this.lfeon=r>>2&1,this.bit_rate_code=3&r|n>>5&7}),f.createBoxCtor("dec3",function(t){var e=t.readUint16();this.data_rate=e>>3,this.num_ind_sub=7&e,this.ind_subs=[];for(var r=0;r>6,n.bsid=s>>1&31,n.bsmod=(1&s)<<4|a>>4&15,n.acmod=a>>1&7,n.lfeon=1&a,n.num_dep_sub=o>>1&15,n.num_dep_sub>0&&(n.chan_loc=(1&o)<<8|t.readUint8())}}),f.createFullBoxCtor("dfLa",function(t){var e=[],r=["STREAMINFO","PADDING","APPLICATION","SEEKTABLE","VORBIS_COMMENT","CUESHEET","PICTURE","RESERVED"];for(this.parseFullHeader(t);;){var n=t.readUint8(),s=Math.min(127&n,r.length-1);if(s?t.readUint8Array(t.readUint24()):(t.readUint8Array(13),this.samplerate=t.readUint32()>>12,t.readUint8Array(20)),e.push(r[s]),128&n)break}this.numMetadataBlocks=e.length+" ("+e.join(", ")+")"}),f.createBoxCtor("dimm",function(t){this.bytessent=t.readUint64()}),f.createBoxCtor("dmax",function(t){this.time=t.readUint32()}),f.createBoxCtor("dmed",function(t){this.bytessent=t.readUint64()}),f.createBoxCtor("dOps",function(t){if(this.Version=t.readUint8(),this.OutputChannelCount=t.readUint8(),this.PreSkip=t.readUint16(),this.InputSampleRate=t.readUint32(),this.OutputGain=t.readInt16(),this.ChannelMappingFamily=t.readUint8(),0!==this.ChannelMappingFamily){this.StreamCount=t.readUint8(),this.CoupledCount=t.readUint8(),this.ChannelMapping=[];for(var e=0;e=4;)this.compatible_brands[r]=t.readString(4),e-=4,r++}),f.createFullBoxCtor("hdlr",function(t){0===this.version&&(t.readUint32(),this.handler=t.readString(4),t.readUint32Array(3),this.name=t.readString(this.size-this.hdr_size-20),"\0"===this.name[this.name.length-1]&&(this.name=this.name.slice(0,-1)))}),f.createBoxCtor("hvcC",function(t){this.configurationVersion=t.readUint8(),s=t.readUint8(),this.general_profile_space=s>>6,this.general_tier_flag=(32&s)>>5,this.general_profile_idc=31&s,this.general_profile_compatibility=t.readUint32(),this.general_constraint_indicator=t.readUint8Array(6),this.general_level_idc=t.readUint8(),this.min_spatial_segmentation_idc=4095&t.readUint16(),this.parallelismType=3&t.readUint8(),this.chroma_format_idc=3&t.readUint8(),this.bit_depth_luma_minus8=7&t.readUint8(),this.bit_depth_chroma_minus8=7&t.readUint8(),this.avgFrameRate=t.readUint16(),s=t.readUint8(),this.constantFrameRate=s>>6,this.numTemporalLayers=(13&s)>>3,this.temporalIdNested=(4&s)>>2,this.lengthSizeMinusOne=3&s,this.nalu_arrays=[];var e,r,n,s,a=t.readUint8();for(e=0;e>7,o.nalu_type=63&s;var u=t.readUint16();for(r=0;r>4&15,this.length_size=15&e,e=t.readUint8(),this.base_offset_size=e>>4&15,1===this.version||2===this.version?this.index_size=15&e:this.index_size=0,this.items=[];var e,r=0;if(this.version<2)r=t.readUint16();else if(2===this.version)r=t.readUint32();else throw"version of iloc box not supported";for(var n=0;n>7,this.axis=1&e}),f.createFullBoxCtor("infe",function(t){if((0===this.version||1===this.version)&&(this.item_ID=t.readUint16(),this.item_protection_index=t.readUint16(),this.item_name=t.readCString(),this.content_type=t.readCString(),this.content_encoding=t.readCString()),1===this.version){this.extension_type=t.readString(4),o.warn("BoxParser","Cannot parse extension type"),t.seek(this.start+this.size);return}this.version>=2&&(2===this.version?this.item_ID=t.readUint16():3===this.version&&(this.item_ID=t.readUint32()),this.item_protection_index=t.readUint16(),this.item_type=t.readString(4),this.item_name=t.readCString(),"mime"===this.item_type?(this.content_type=t.readCString(),this.content_encoding=t.readCString()):"uri "===this.item_type&&(this.item_uri_type=t.readCString()))}),f.createFullBoxCtor("ipma",function(t){var e,r;for(entry_count=t.readUint32(),this.associations=[],e=0;e>7==1,1&this.flags?o.property_index=(127&a)<<8|t.readUint8():o.property_index=127&a}}}),f.createFullBoxCtor("iref",function(t){var e,r;for(this.references=[];t.getPosition()>7,n.assignment_type=127&s,n.assignment_type){case 0:n.grouping_type=t.readString(4);break;case 1:n.grouping_type=t.readString(4),n.grouping_type_parameter=t.readUint32();break;case 2:case 3:break;case 4:n.sub_track_id=t.readUint32();break;default:o.warn("BoxParser","Unknown leva assignement type")}}}),f.createBoxCtor("lsel",function(t){this.layer_id=t.readUint16()}),f.createBoxCtor("maxr",function(t){this.period=t.readUint32(),this.bytes=t.readUint32()}),f.createBoxCtor("mdcv",function(t){this.display_primaries=[],this.display_primaries[0]={},this.display_primaries[0].x=t.readUint16(),this.display_primaries[0].y=t.readUint16(),this.display_primaries[1]={},this.display_primaries[1].x=t.readUint16(),this.display_primaries[1].y=t.readUint16(),this.display_primaries[2]={},this.display_primaries[2].x=t.readUint16(),this.display_primaries[2].y=t.readUint16(),this.white_point={},this.white_point.x=t.readUint16(),this.white_point.y=t.readUint16(),this.max_display_mastering_luminance=t.readUint32(),this.min_display_mastering_luminance=t.readUint32()}),f.createFullBoxCtor("mdhd",function(t){1==this.version?(this.creation_time=t.readUint64(),this.modification_time=t.readUint64(),this.timescale=t.readUint32(),this.duration=t.readUint64()):(this.creation_time=t.readUint32(),this.modification_time=t.readUint32(),this.timescale=t.readUint32(),this.duration=t.readUint32()),this.parseLanguage(t),t.readUint16()}),f.createFullBoxCtor("mehd",function(t){1&this.flags&&(o.warn("BoxParser","mehd box incorrectly uses flags set to 1, converting version to 1"),this.version=1),1==this.version?this.fragment_duration=t.readUint64():this.fragment_duration=t.readUint32()}),f.createFullBoxCtor("meta",function(t){this.boxes=[],f.ContainerBox.prototype.parse.call(this,t)}),f.createFullBoxCtor("mfhd",function(t){this.sequence_number=t.readUint32()}),f.createFullBoxCtor("mfro",function(t){this._size=t.readUint32()}),f.createFullBoxCtor("mvhd",function(t){1==this.version?(this.creation_time=t.readUint64(),this.modification_time=t.readUint64(),this.timescale=t.readUint32(),this.duration=t.readUint64()):(this.creation_time=t.readUint32(),this.modification_time=t.readUint32(),this.timescale=t.readUint32(),this.duration=t.readUint32()),this.rate=t.readUint32(),this.volume=t.readUint16()>>8,t.readUint16(),t.readUint32Array(2),this.matrix=t.readUint32Array(9),t.readUint32Array(6),this.next_track_id=t.readUint32()}),f.createBoxCtor("npck",function(t){this.packetssent=t.readUint32()}),f.createBoxCtor("nump",function(t){this.packetssent=t.readUint64()}),f.createFullBoxCtor("padb",function(t){var e=t.readUint32();this.padbits=[];for(var r=0;r0){var e=t.readUint32();this.kid=[];for(var r=0;r0&&(this.data=t.readUint8Array(n))}),f.createFullBoxCtor("clef",function(t){this.width=t.readUint32(),this.height=t.readUint32()}),f.createFullBoxCtor("enof",function(t){this.width=t.readUint32(),this.height=t.readUint32()}),f.createFullBoxCtor("prof",function(t){this.width=t.readUint32(),this.height=t.readUint32()}),f.createContainerBoxCtor("tapt",null,["clef","prof","enof"]),f.createBoxCtor("rtp ",function(t){this.descriptionformat=t.readString(4),this.sdptext=t.readString(this.size-this.hdr_size-4)}),f.createFullBoxCtor("saio",function(t){1&this.flags&&(this.aux_info_type=t.readUint32(),this.aux_info_type_parameter=t.readUint32());var e=t.readUint32();this.offset=[];for(var r=0;r>7,this.avgRateFlag=e>>6&1,this.durationFlag&&(this.duration=t.readUint32()),this.avgRateFlag&&(this.accurateStatisticsFlag=t.readUint8(),this.avgBitRate=t.readUint16(),this.avgFrameRate=t.readUint16()),this.dependency=[];for(var r=t.readUint8(),n=0;n>7,this.num_leading_samples=127&e}),f.createSampleGroupCtor("rash",function(t){if(this.operation_point_count=t.readUint16(),this.description_length!==2+(1===this.operation_point_count?2:6*this.operation_point_count)+9)o.warn("BoxParser","Mismatch in "+this.grouping_type+" sample group length"),this.data=t.readUint8Array(this.description_length-2);else{if(1===this.operation_point_count)this.target_rate_share=t.readUint16();else{this.target_rate_share=[],this.available_bitrate=[];for(var e=0;e>4,this.skip_byte_block=15&e,this.isProtected=t.readUint8(),this.Per_Sample_IV_Size=t.readUint8(),this.KID=f.parseHex16(t),this.constant_IV_size=0,this.constant_IV=0,1===this.isProtected&&0===this.Per_Sample_IV_Size&&(this.constant_IV_size=t.readUint8(),this.constant_IV=t.readUint8Array(this.constant_IV_size))}),f.createSampleGroupCtor("stsa",function(t){o.warn("BoxParser","Sample Group type: "+this.grouping_type+" not fully parsed")}),f.createSampleGroupCtor("sync",function(t){var e=t.readUint8();this.NAL_unit_type=63&e}),f.createSampleGroupCtor("tele",function(t){var e=t.readUint8();this.level_independently_decodable=e>>7}),f.createSampleGroupCtor("tsas",function(t){o.warn("BoxParser","Sample Group type: "+this.grouping_type+" not fully parsed")}),f.createSampleGroupCtor("tscl",function(t){o.warn("BoxParser","Sample Group type: "+this.grouping_type+" not fully parsed")}),f.createSampleGroupCtor("vipr",function(t){o.warn("BoxParser","Sample Group type: "+this.grouping_type+" not fully parsed")}),f.createFullBoxCtor("sbgp",function(t){this.grouping_type=t.readString(4),1===this.version?this.grouping_type_parameter=t.readUint32():this.grouping_type_parameter=0,this.entries=[];for(var e=t.readUint32(),r=0;r>6,this.sample_depends_on[n]=e>>4&3,this.sample_is_depended_on[n]=e>>2&3,this.sample_has_redundancy[n]=3&e}),f.createFullBoxCtor("senc"),f.createFullBoxCtor("sgpd",function(t){this.grouping_type=t.readString(4),o.debug("BoxParser","Found Sample Groups of type "+this.grouping_type),1===this.version?this.default_length=t.readUint32():this.default_length=0,this.version>=2&&(this.default_group_description_index=t.readUint32()),this.entries=[];for(var e,r=t.readUint32(),n=0;n>31&1,n.referenced_size=2147483647&s,n.subsegment_duration=t.readUint32(),s=t.readUint32(),n.starts_with_SAP=s>>31&1,n.SAP_type=s>>28&7,n.SAP_delta_time=268435455&s}}),f.SingleItemTypeReferenceBox=function(t,e,r,n){f.Box.call(this,t,e),this.hdr_size=r,this.start=n},f.SingleItemTypeReferenceBox.prototype=new f.Box,f.SingleItemTypeReferenceBox.prototype.parse=function(t){this.from_item_ID=t.readUint16();var e=t.readUint16();this.references=[];for(var r=0;r>4&15,this.sample_sizes[e+1]=15&n}else if(8===this.field_size)for(e=0;e0)for(r=0;r>4&15,this.default_skip_byte_block=15&e}this.default_isProtected=t.readUint8(),this.default_Per_Sample_IV_Size=t.readUint8(),this.default_KID=f.parseHex16(t),1===this.default_isProtected&&0===this.default_Per_Sample_IV_Size&&(this.default_constant_IV_size=t.readUint8(),this.default_constant_IV=t.readUint8Array(this.default_constant_IV_size))}),f.createFullBoxCtor("tfdt",function(t){1==this.version?this.baseMediaDecodeTime=t.readUint64():this.baseMediaDecodeTime=t.readUint32()}),f.createFullBoxCtor("tfhd",function(t){var e=0;this.track_id=t.readUint32(),this.size-this.hdr_size>e&&this.flags&f.TFHD_FLAG_BASE_DATA_OFFSET?(this.base_data_offset=t.readUint64(),e+=8):this.base_data_offset=0,this.size-this.hdr_size>e&&this.flags&f.TFHD_FLAG_SAMPLE_DESC?(this.default_sample_description_index=t.readUint32(),e+=4):this.default_sample_description_index=0,this.size-this.hdr_size>e&&this.flags&f.TFHD_FLAG_SAMPLE_DUR?(this.default_sample_duration=t.readUint32(),e+=4):this.default_sample_duration=0,this.size-this.hdr_size>e&&this.flags&f.TFHD_FLAG_SAMPLE_SIZE?(this.default_sample_size=t.readUint32(),e+=4):this.default_sample_size=0,this.size-this.hdr_size>e&&this.flags&f.TFHD_FLAG_SAMPLE_FLAGS?(this.default_sample_flags=t.readUint32(),e+=4):this.default_sample_flags=0}),f.createFullBoxCtor("tfra",function(t){this.track_ID=t.readUint32(),t.readUint24();var e=t.readUint8();this.length_size_of_traf_num=e>>4&3,this.length_size_of_trun_num=e>>2&3,this.length_size_of_sample_num=3&e,this.entries=[];for(var r=t.readUint32(),n=0;n>8,t.readUint16(),this.matrix=t.readInt32Array(9),this.width=t.readUint32(),this.height=t.readUint32()}),f.createBoxCtor("tmax",function(t){this.time=t.readUint32()}),f.createBoxCtor("tmin",function(t){this.time=t.readUint32()}),f.createBoxCtor("totl",function(t){this.bytessent=t.readUint32()}),f.createBoxCtor("tpay",function(t){this.bytessent=t.readUint32()}),f.createBoxCtor("tpyl",function(t){this.bytessent=t.readUint64()}),f.TrackGroupTypeBox.prototype.parse=function(t){this.parseFullHeader(t),this.track_group_id=t.readUint32()},f.createTrackGroupCtor("msrc"),f.TrackReferenceTypeBox=function(t,e,r,n){f.Box.call(this,t,e),this.hdr_size=r,this.start=n},f.TrackReferenceTypeBox.prototype=new f.Box,f.TrackReferenceTypeBox.prototype.parse=function(t){this.track_ids=t.readUint32Array((this.size-this.hdr_size)/4)},f.trefBox.prototype.parse=function(t){for(var e,r;t.getPosition()e&&this.flags&f.TRUN_FLAGS_DATA_OFFSET?(this.data_offset=t.readInt32(),e+=4):this.data_offset=0,this.size-this.hdr_size>e&&this.flags&f.TRUN_FLAGS_FIRST_FLAG?(this.first_sample_flags=t.readUint32(),e+=4):this.first_sample_flags=0,this.sample_duration=[],this.sample_size=[],this.sample_flags=[],this.sample_composition_time_offset=[],this.size-this.hdr_size>e)for(var r=0;r>7&1,this.block_pad_lsb=r>>6&1,this.block_little_endian=r>>5&1,this.block_reversed=r>>4&1,this.pad_unknown=r>>3&1,this.pixel_size=t.readUint8(),this.row_align_size=t.readUint32(),this.tile_align_size=t.readUint32(),this.num_tile_cols_minus_one=t.readUint32(),this.num_tile_rows_minus_one=t.readUint32()}),f.createFullBoxCtor("url ",function(t){1!==this.flags&&(this.location=t.readCString())}),f.createFullBoxCtor("urn ",function(t){this.name=t.readCString(),this.size-this.hdr_size-this.name.length-1>0&&(this.location=t.readCString())}),f.createUUIDBox("a5d40b30e81411ddba2f0800200c9a66",!0,!1,function(t){this.LiveServerManifest=t.readString(this.size-this.hdr_size).replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}),f.createUUIDBox("d08a4f1810f34a82b6c832d8aba183d3",!0,!1,function(t){this.system_id=f.parseHex16(t);var e=t.readUint32();e>0&&(this.data=t.readUint8Array(e))}),f.createUUIDBox("a2394f525a9b4f14a2446c427c648df4",!0,!1),f.createUUIDBox("8974dbce7be74c5184f97148f9882554",!0,!1,function(t){this.default_AlgorithmID=t.readUint24(),this.default_IV_size=t.readUint8(),this.default_KID=f.parseHex16(t)}),f.createUUIDBox("d4807ef2ca3946958e5426cb9e46a79f",!0,!1,function(t){this.fragment_count=t.readUint8(),this.entries=[];for(var e=0;e>4,this.chromaSubsampling=e>>1&7,this.videoFullRangeFlag=1&e,this.colourPrimaries=t.readUint8(),this.transferCharacteristics=t.readUint8(),this.matrixCoefficients=t.readUint8()):(this.profile=t.readUint8(),this.level=t.readUint8(),e=t.readUint8(),this.bitDepth=e>>4&15,this.colorSpace=15&e,e=t.readUint8(),this.chromaSubsampling=e>>4&15,this.transferFunction=e>>1&7,this.videoFullRangeFlag=1&e),this.codecIntializationDataSize=t.readUint16(),this.codecIntializationData=t.readUint8Array(this.codecIntializationDataSize)}),f.createBoxCtor("vttC",function(t){this.text=t.readString(this.size-this.hdr_size)}),f.createFullBoxCtor("vvcC",function(t){var e,r,n={held_bits:void 0,num_held_bits:0,stream_read_1_bytes:function(t){this.held_bits=t.readUint8(),this.num_held_bits=8},stream_read_2_bytes:function(t){this.held_bits=t.readUint16(),this.num_held_bits=16},extract_bits:function(t){var e=this.held_bits>>this.num_held_bits-t&(1<1){for(n.stream_read_1_bytes(t),this.ptl_sublayer_present_mask=0,r=this.num_sublayers-2;r>=0;--r){var o=n.extract_bits(1);this.ptl_sublayer_present_mask|=o<1;++r)n.extract_bits(1);for(this.sublayer_level_idc=[],r=this.num_sublayers-2;r>=0;--r)this.ptl_sublayer_present_mask&1<"u"||null===e?e=2:e;r.length>=1;e+=f.decimalToHex(n,0)+".",0===this.hvcC.general_tier_flag?e+="L":e+="H",e+=this.hvcC.general_level_idc;var s=!1,a="";for(t=5;t>=0;t--)(this.hvcC.general_constraint_indicator[t]||s)&&(a="."+f.decimalToHex(this.hvcC.general_constraint_indicator[t],0)+a,s=!0);e+=a}return e},f.vvc1SampleEntry.prototype.getCodec=f.vvi1SampleEntry.prototype.getCodec=function(){var t,e=f.SampleEntry.prototype.getCodec.call(this);if(this.vvcC){e+="."+this.vvcC.general_profile_idc,this.vvcC.general_tier_flag?e+=".H":e+=".L",e+=this.vvcC.general_level_idc;var r="";if(this.vvcC.general_constraint_info){var n,s,a=[];for(s=0|this.vvcC.ptl_frame_only_constraint<<7|this.vvcC.ptl_multilayer_enabled<<6,t=0;t>2&63,a.push(s),s&&(n=t),s=this.vvcC.general_constraint_info[t]>>2&3;if(void 0===n)r=".CA";else{r=".C";var o="ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",u=0,l=0;for(t=0;t<=n;++t)for(u=u<<8|a[t],l+=8;l>=5;)r+=o[u>>l-5&31],l-=5,u&=(1<4294967296&&(this.size+=8),"uuid"===this.type&&(this.size+=16),o.debug("BoxWriter","Writing box "+this.type+" of size: "+this.size+" at position "+t.getPosition()+(e||"")),this.size>4294967296?t.writeUint32(1):(this.sizePosition=t.getPosition(),t.writeUint32(this.size)),t.writeString(this.type,null,4),"uuid"===this.type&&t.writeUint8Array(this.uuid),this.size>4294967296&&t.writeUint64(this.size)},f.FullBox.prototype.writeHeader=function(t){this.size+=4,f.Box.prototype.writeHeader.call(this,t," v="+this.version+" f="+this.flags),t.writeUint8(this.version),t.writeUint24(this.flags)},f.Box.prototype.write=function(t){"mdat"===this.type?this.data&&(this.size=this.data.length,this.writeHeader(t),t.writeUint8Array(this.data)):(this.size=this.data?this.data.length:0,this.writeHeader(t),this.data&&t.writeUint8Array(this.data))},f.ContainerBox.prototype.write=function(t){this.size=0,this.writeHeader(t);for(var e=0;e=2&&t.writeUint32(this.default_sample_description_index),t.writeUint32(this.entries.length),e=0;e0)for(e=0;e+14294967295?1:0,this.flags=0,this.size=4,1===this.version&&(this.size+=4),this.writeHeader(t),1===this.version?t.writeUint64(this.baseMediaDecodeTime):t.writeUint32(this.baseMediaDecodeTime)},f.tfhdBox.prototype.write=function(t){this.version=0,this.size=4,this.flags&f.TFHD_FLAG_BASE_DATA_OFFSET&&(this.size+=8),this.flags&f.TFHD_FLAG_SAMPLE_DESC&&(this.size+=4),this.flags&f.TFHD_FLAG_SAMPLE_DUR&&(this.size+=4),this.flags&f.TFHD_FLAG_SAMPLE_SIZE&&(this.size+=4),this.flags&f.TFHD_FLAG_SAMPLE_FLAGS&&(this.size+=4),this.writeHeader(t),t.writeUint32(this.track_id),this.flags&f.TFHD_FLAG_BASE_DATA_OFFSET&&t.writeUint64(this.base_data_offset),this.flags&f.TFHD_FLAG_SAMPLE_DESC&&t.writeUint32(this.default_sample_description_index),this.flags&f.TFHD_FLAG_SAMPLE_DUR&&t.writeUint32(this.default_sample_duration),this.flags&f.TFHD_FLAG_SAMPLE_SIZE&&t.writeUint32(this.default_sample_size),this.flags&f.TFHD_FLAG_SAMPLE_FLAGS&&t.writeUint32(this.default_sample_flags)},f.tkhdBox.prototype.write=function(t){this.version=0,this.size=80,this.writeHeader(t),t.writeUint32(this.creation_time),t.writeUint32(this.modification_time),t.writeUint32(this.track_id),t.writeUint32(0),t.writeUint32(this.duration),t.writeUint32(0),t.writeUint32(0),t.writeInt16(this.layer),t.writeInt16(this.alternate_group),t.writeInt16(this.volume<<8),t.writeUint16(0),t.writeInt32Array(this.matrix),t.writeUint32(this.width),t.writeUint32(this.height)},f.trexBox.prototype.write=function(t){this.version=0,this.flags=0,this.size=20,this.writeHeader(t),t.writeUint32(this.track_id),t.writeUint32(this.default_sample_description_index),t.writeUint32(this.default_sample_duration),t.writeUint32(this.default_sample_size),t.writeUint32(this.default_sample_flags)},f.trunBox.prototype.write=function(t){this.version=0,this.size=4,this.flags&f.TRUN_FLAGS_DATA_OFFSET&&(this.size+=4),this.flags&f.TRUN_FLAGS_FIRST_FLAG&&(this.size+=4),this.flags&f.TRUN_FLAGS_DURATION&&(this.size+=4*this.sample_duration.length),this.flags&f.TRUN_FLAGS_SIZE&&(this.size+=4*this.sample_size.length),this.flags&f.TRUN_FLAGS_FLAGS&&(this.size+=4*this.sample_flags.length),this.flags&f.TRUN_FLAGS_CTS_OFFSET&&(this.size+=4*this.sample_composition_time_offset.length),this.writeHeader(t),t.writeUint32(this.sample_count),this.flags&f.TRUN_FLAGS_DATA_OFFSET&&(this.data_offset_position=t.getPosition(),t.writeInt32(this.data_offset)),this.flags&f.TRUN_FLAGS_FIRST_FLAG&&t.writeUint32(this.first_sample_flags);for(var e=0;e-1)){if(t[r]instanceof f.Box||e[r]instanceof f.Box||(0,ek._)(t[r])>"u"||(0,ek._)(e[r])>"u"||"function"==typeof t[r]||"function"==typeof e[r]||t.subBoxNames&&t.subBoxNames.indexOf(r.slice(0,4))>-1||e.subBoxNames&&e.subBoxNames.indexOf(r.slice(0,4))>-1||"data"===r||"start"===r||"size"===r||"creation_time"===r||"modification_time"===r||f.DIFF_PRIMITIVE_ARRAY_PROP_NAMES.indexOf(r)>-1)continue;if(t[r]!==e[r])return!1}return!0},f.boxEqual=function(t,e){if(!f.boxEqualFields(t,e))return!1;for(var r=0;r1)for(e=1;e-1&&this.fragmentedTracks.splice(e,1)},m.prototype.setExtractionOptions=function(t,e,r){var n=this.getTrackById(t);if(n){var s={};this.extractedTracks.push(s),s.id=t,s.user=e,s.trak=n,n.nextSample=0,s.nb_samples=1e3,s.samples=[],r&&r.nbSamples&&(s.nb_samples=r.nbSamples)}},m.prototype.unsetExtractionOptions=function(t){for(var e=-1,r=0;r-1&&this.extractedTracks.splice(e,1)},m.prototype.parse=function(){var t,e,r;if(!(this.restoreParsePosition&&!this.restoreParsePosition()))for(;;)if(this.hasIncompleteMdat&&this.hasIncompleteMdat()){if(this.processIncompleteMdat())continue;return}else if(this.saveParsePosition&&this.saveParsePosition(),(e=f.parseOneBox(this.stream,!1)).code===f.ERR_NOT_ENOUGH_DATA){if(!this.processIncompleteBox)return;if(this.processIncompleteBox(e))continue;return}else{switch(t="uuid"!==(r=e.box).type?r.type:r.uuid,this.boxes.push(r),t){case"mdat":this.mdats.push(r);break;case"moof":this.moofs.push(r);break;case"moov":this.moovStartFound=!0,0===this.mdats.length&&(this.isProgressive=!0);default:void 0!==this[t]&&o.warn("ISOFile","Duplicate Box of type: "+t+", overriding previous occurrence"),this[t]=r}this.updateUsedBytes&&this.updateUsedBytes(r,e)}},m.prototype.checkBuffer=function(t){if(null==t)throw"Buffer must be defined and non empty";if(void 0===t.fileStart)throw"Buffer must have a fileStart property";return 0===t.byteLength?(o.warn("ISOFile","Ignoring empty buffer (fileStart: "+t.fileStart+")"),this.stream.logBufferLevel(),!1):(o.info("ISOFile","Processing buffer (fileStart: "+t.fileStart+")"),t.usedBytes=0,this.stream.insertBuffer(t),this.stream.logBufferLevel(),!!this.stream.initialized()||(o.warn("ISOFile","Not ready to start parsing"),!1))},m.prototype.appendBuffer=function(t,e){var r;if(this.checkBuffer(t))return this.parse(),this.moovStartFound&&!this.moovStartSent&&(this.moovStartSent=!0,this.onMoovStart&&this.onMoovStart()),this.moov?(this.sampleListBuilt||(this.buildSampleLists(),this.sampleListBuilt=!0),this.updateSampleLists(),this.onReady&&!this.readySent&&(this.readySent=!0,this.onReady(this.getInfo())),this.processSamples(e),this.nextSeekPosition?(r=this.nextSeekPosition,this.nextSeekPosition=void 0):r=this.nextParsePosition,this.stream.getEndFilePositionAfter&&(r=this.stream.getEndFilePositionAfter(r))):r=this.nextParsePosition?this.nextParsePosition:0,this.sidx&&this.onSidx&&!this.sidxSent&&(this.onSidx(this.sidx),this.sidxSent=!0),this.meta&&(this.flattenItemInfo&&!this.itemListBuilt&&(this.flattenItemInfo(),this.itemListBuilt=!0),this.processItems&&this.processItems(this.onItem)),this.stream.cleanBuffers&&(o.info("ISOFile","Done processing buffer (fileStart: "+t.fileStart+") - next buffer to fetch should have a fileStart position of "+r),this.stream.logBufferLevel(),this.stream.cleanBuffers(),this.stream.logBufferLevel(!0),o.info("ISOFile","Sample data size in memory: "+this.getAllocatedSampleDataSize())),r},m.prototype.getInfo=function(){var t,e,r,n,s,a,o={},u=/* @__PURE__ */new Date("1904-01-01T00:00:00Z").getTime();if(this.moov)for(o.hasMoov=!0,o.duration=this.moov.mvhd.duration,o.timescale=this.moov.mvhd.timescale,o.isFragmented=null!=this.moov.mvex,o.isFragmented&&this.moov.mvex.mehd&&(o.fragment_duration=this.moov.mvex.mehd.fragment_duration),o.isProgressive=this.isProgressive,o.hasIOD=null!=this.moov.iods,o.brands=[],o.brands.push(this.ftyp.major_brand),o.brands=o.brands.concat(this.ftyp.compatible_brands),o.created=new Date(u+1e3*this.moov.mvhd.creation_time),o.modified=new Date(u+1e3*this.moov.mvhd.modification_time),o.tracks=[],o.audioTracks=[],o.videoTracks=[],o.subtitleTracks=[],o.metadataTracks=[],o.hintTracks=[],o.otherTracks=[],t=0;t0?o.mime+='video/mp4; codecs="':o.audioTracks&&o.audioTracks.length>0?o.mime+='audio/mp4; codecs="':o.mime+='application/mp4; codecs="',t=0;t=r.samples.length)&&(o.info("ISOFile","Sending fragmented data on track #"+n.id+" for samples ["+Math.max(0,r.nextSample-n.nb_samples)+","+(r.nextSample-1)+"]"),o.info("ISOFile","Sample data size in memory: "+this.getAllocatedSampleDataSize()),this.onSegment&&this.onSegment(n.id,n.user,n.segmentStream.buffer,r.nextSample,t||r.nextSample>=r.samples.length),n.segmentStream=null,n!==this.fragmentedTracks[e]))break}}if(null!==this.onSamples)for(e=0;e=r.samples.length)&&(o.debug("ISOFile","Sending samples on track #"+a.id+" for sample "+r.nextSample),this.onSamples&&this.onSamples(a.id,a.user,a.samples),a.samples=[],a!==this.extractedTracks[e]))break}}}},m.prototype.getBox=function(t){var e=this.getBoxes(t,!0);return e.length?e[0]:null},m.prototype.getBoxes=function(t,e){var r=[];return m._sweep.call(this,t,r,e),r},m._sweep=function(t,e,r){for(var n in this.type&&this.type==t&&e.push(this),this.boxes){if(e.length&&r)return;m._sweep.call(this.boxes[n],t,e,r)}},m.prototype.getTrackSamplesInfo=function(t){var e=this.getTrackById(t);if(e)return e.samples},m.prototype.getTrackSample=function(t,e){var r=this.getTrackById(t);return this.getSample(r,e)},m.prototype.releaseUsedSamples=function(t,e){var r=0,n=this.getTrackById(t);n.lastValidSample||(n.lastValidSample=0);for(var s=n.lastValidSample;st*s.timescale){c=n-1;break}e&&s.is_sync&&(l=n)}for(e&&(c=l),t=r.samples[c].cts,r.nextSample=c;r.samples[c].alreadyRead===r.samples[c].size&&r.samples[c+1];)c++;return u=r.samples[c].offset+r.samples[c].alreadyRead,o.info("ISOFile","Seeking to "+(e?"RAP":"")+" sample #"+r.nextSample+" on track "+r.tkhd.track_id+", time "+o.getDurationString(t,a)+" and offset: "+u),{offset:u,time:t/a}},m.prototype.getTrackDuration=function(t){var e;return t.samples?((e=t.samples[t.samples.length-1]).cts+e.duration)/e.timescale:1/0},m.prototype.seek=function(t,e){var r,n,s,a=this.moov,u={offset:1/0,time:1/0};if(this.moov){for(s=0;sthis.getTrackDuration(r))&&((n=this.seekTrack(t,e,r)).offset-1){o=l;break}switch(o){case"Visual":if(s.add("vmhd").set("graphicsmode",0).set("opcolor",[0,0,0]),a.set("width",e.width).set("height",e.height).set("horizresolution",4718592).set("vertresolution",4718592).set("frame_count",1).set("compressorname",e.type+" Compressor").set("depth",24),e.avcDecoderConfigRecord){var d=new f.avcCBox;d.parse(new u(e.avcDecoderConfigRecord)),a.addBox(d)}else if(e.hevcDecoderConfigRecord){var p=new f.hvcCBox;p.parse(new u(e.hevcDecoderConfigRecord)),a.addBox(p)}break;case"Audio":s.add("smhd").set("balance",e.balance||0),a.set("channel_count",e.channel_count||2).set("samplesize",e.samplesize||16).set("samplerate",e.samplerate||65536);break;case"Hint":s.add("hmhd");break;case"Subtitle":s.add("sthd"),"stpp"===e.type&&a.set("namespace",e.namespace||"nonamespace").set("schema_location",e.schema_location||"").set("auxiliary_mime_types",e.auxiliary_mime_types||"");break;default:s.add("nmhd")}e.description&&a.addBox(e.description),e.description_boxes&&e.description_boxes.forEach(function(t){a.addBox(t)}),s.add("dinf").add("dref").addEntry(new f["url Box"]().set("flags",1));var m=s.add("stbl");return m.add("stsd").addEntry(a),m.add("stts").set("sample_counts",[]).set("sample_deltas",[]),m.add("stsc").set("first_chunk",[]).set("samples_per_chunk",[]).set("sample_description_index",[]),m.add("stco").set("chunk_offsets",[]),m.add("stsz").set("sample_sizes",[]),this.moov.mvex.add("trex").set("track_id",e.id).set("default_sample_description_index",e.default_sample_description_index||1).set("default_sample_duration",e.default_sample_duration||0).set("default_sample_size",e.default_sample_size||0).set("default_sample_flags",e.default_sample_flags||0),this.buildTrakSampleLists(r),e.id}},f.Box.prototype.computeSize=function(t){var e=t||new l;e.endianness=l.BIG_ENDIAN,this.write(e)},m.prototype.addSample=function(t,e,r){var n=r||{},s={},a=this.getTrackById(t);if(null!==a){s.number=a.samples.length,s.track_id=a.tkhd.track_id,s.timescale=a.mdia.mdhd.timescale,s.description_index=n.sample_description_index?n.sample_description_index-1:0,s.description=a.mdia.minf.stbl.stsd.entries[s.description_index],s.data=e,s.size=e.byteLength,s.alreadyRead=s.size,s.duration=n.duration||1,s.cts=n.cts||0,s.dts=n.dts||0,s.is_sync=n.is_sync||!1,s.is_leading=n.is_leading||0,s.depends_on=n.depends_on||0,s.is_depended_on=n.is_depended_on||0,s.has_redundancy=n.has_redundancy||0,s.degradation_priority=n.degradation_priority||0,s.offset=0,s.subsamples=n.subsamples,a.samples.push(s),a.samples_size+=s.size,a.samples_duration+=s.duration,void 0===a.first_dts&&(a.first_dts=n.dts),this.processSamples();var o=this.createSingleSampleMoof(s);return this.addBox(o),o.computeSize(),o.trafs[0].truns[0].data_offset=o.size+8,this.add("mdat").data=new Uint8Array(e),s}},m.prototype.createSingleSampleMoof=function(t){var e=0;e=t.is_sync?33554432:65536;var r=new f.moofBox;r.add("mfhd").set("sequence_number",this.nextMoofNumber),this.nextMoofNumber++;var n=r.add("traf"),s=this.getTrackById(t.track_id);return n.add("tfhd").set("track_id",t.track_id).set("flags",f.TFHD_FLAG_DEFAULT_BASE_IS_MOOF),n.add("tfdt").set("baseMediaDecodeTime",t.dts-(s.first_dts||0)),n.add("trun").set("flags",f.TRUN_FLAGS_DATA_OFFSET|f.TRUN_FLAGS_DURATION|f.TRUN_FLAGS_SIZE|f.TRUN_FLAGS_FLAGS|f.TRUN_FLAGS_CTS_OFFSET).set("data_offset",0).set("first_sample_flags",0).set("sample_count",1).set("sample_duration",[t.duration]).set("sample_size",[t.size]).set("sample_flags",[e]).set("sample_composition_time_offset",[t.cts-t.dts]),r},m.prototype.lastMoofIndex=0,m.prototype.samplesDataSize=0,m.prototype.resetTables=function(){var t,e,r,n,s,a;for(this.initial_duration=this.moov.mvhd.duration,this.moov.mvhd.duration=0,t=0;t=2&&(l=s[o].grouping_type+"/0",(u=new c(s[o].grouping_type,0)).is_fragment=!0,e.sample_groups_info[l]||(e.sample_groups_info[l]=u))}else for(o=0;o=2&&(l=n[o].grouping_type+"/0",u=new c(n[o].grouping_type,0),t.sample_groups_info[l]||(t.sample_groups_info[l]=u))},m.setSampleGroupProperties=function(t,e,r,n){var s,a,o;for(s in e.sample_groups=[],n)e.sample_groups[s]={},e.sample_groups[s].grouping_type=n[s].grouping_type,e.sample_groups[s].grouping_type_parameter=n[s].grouping_type_parameter,r>=n[s].last_sample_in_run&&(n[s].last_sample_in_run<0&&(n[s].last_sample_in_run=0),n[s].entry_index++,n[s].entry_index<=n[s].sbgp.entries.length-1&&(n[s].last_sample_in_run+=n[s].sbgp.entries[n[s].entry_index].sample_count)),n[s].entry_index<=n[s].sbgp.entries.length-1?e.sample_groups[s].group_description_index=n[s].sbgp.entries[n[s].entry_index].group_description_index:e.sample_groups[s].group_description_index=-1,0!==e.sample_groups[s].group_description_index&&(o=n[s].fragment_description?n[s].fragment_description:n[s].description,e.sample_groups[s].group_description_index>0?(a=e.sample_groups[s].group_description_index>65535?(e.sample_groups[s].group_description_index>>16)-1:e.sample_groups[s].group_description_index-1,o&&a>=0&&(e.sample_groups[s].description=o.entries[a])):o&&o.version>=2&&o.default_group_description_index>0&&(e.sample_groups[s].description=o.entries[o.default_group_description_index-1]))},m.process_sdtp=function(t,e,r){e&&(t?(e.is_leading=t.is_leading[r],e.depends_on=t.sample_depends_on[r],e.is_depended_on=t.sample_is_depended_on[r],e.has_redundancy=t.sample_has_redundancy[r]):(e.is_leading=0,e.depends_on=0,e.is_depended_on=0,e.has_redundancy=0))},m.prototype.buildSampleLists=function(){var t,e;for(t=0;t"u")){for(e=0;eb&&(w++,b<0&&(b=0),b+=a.sample_counts[w]),e>0?(t.samples[e-1].duration=a.sample_deltas[w],t.samples_duration+=t.samples[e-1].duration,A.dts=t.samples[e-1].dts+t.samples[e-1].duration):A.dts=0,o?(e>=S&&(x++,S<0&&(S=0),S+=o.sample_counts[x]),A.cts=t.samples[e].dts+o.sample_offsets[x]):A.cts=A.dts,u?(e==u.sample_numbers[E]-1?(A.is_sync=!0,E++):(A.is_sync=!1,A.degradation_priority=0),c&&c.entries[U].sample_delta+T==e+1&&(A.subsamples=c.entries[U].subsamples,T+=c.entries[U].sample_delta,U++)):A.is_sync=!0,m.process_sdtp(t.mdia.minf.stbl.sdtp,A,A.number),d?A.degradation_priority=d.priority[e]:A.degradation_priority=0,c&&c.entries[U].sample_delta+T==e&&(A.subsamples=c.entries[U].subsamples,T+=c.entries[U].sample_delta),(h.length>0||f.length>0)&&m.setSampleGroupProperties(t,A,e,t.sample_groups_info)}e>0&&(t.samples[e-1].duration=Math.max(t.mdia.mdhd.duration-t.samples[e-1].dts,0),t.samples_duration+=t.samples[e-1].duration)}},m.prototype.updateSampleLists=function(){var t,e,r,n,s,a,o,u,l,c,h,d,p,_;if(void 0!==this.moov){for(;this.lastMoofIndex0&&m.initSampleGroups(h,c,c.sbgps,h.mdia.minf.stbl.sgpds,c.sgpds),e=0;e0?p.dts=h.samples[h.samples.length-2].dts+h.samples[h.samples.length-2].duration:(c.tfdt?p.dts=c.tfdt.baseMediaDecodeTime:p.dts=0,h.first_traf_merged=!0),p.cts=p.dts,y.flags&f.TRUN_FLAGS_CTS_OFFSET&&(p.cts=p.dts+y.sample_composition_time_offset[r]),_=o,y.flags&f.TRUN_FLAGS_FLAGS?_=y.sample_flags[r]:0===r&&y.flags&f.TRUN_FLAGS_FIRST_FLAG&&(_=y.first_sample_flags),p.is_sync=!(_>>16&1),p.is_leading=_>>26&3,p.depends_on=_>>24&3,p.is_depended_on=_>>22&3,p.has_redundancy=_>>20&3,p.degradation_priority=65535&_;var g=!!(c.tfhd.flags&f.TFHD_FLAG_BASE_DATA_OFFSET),v=!!(c.tfhd.flags&f.TFHD_FLAG_DEFAULT_BASE_IS_MOOF),b=!!(y.flags&f.TRUN_FLAGS_DATA_OFFSET),w=0;w=g?c.tfhd.base_data_offset:v||0===e?l.start:u,0===e&&0===r?b?p.offset=w+y.data_offset:p.offset=w:p.offset=u,u=p.offset+p.size,(c.sbgps.length>0||c.sgpds.length>0||h.mdia.minf.stbl.sbgps.length>0||h.mdia.minf.stbl.sgpds.length>0)&&m.setSampleGroupProperties(h,p,p.number_in_traf,c.sample_groups_info)}}if(c.subs){h.has_fragment_subsamples=!0;var S=c.first_sample_index;for(e=0;e-1))return null;var a=(r=this.stream.buffers[s]).byteLength-(n.offset+n.alreadyRead-r.fileStart);if(n.size-n.alreadyRead<=a)return o.debug("ISOFile","Getting sample #"+e+" data (alreadyRead: "+n.alreadyRead+" offset: "+(n.offset+n.alreadyRead-r.fileStart)+" read size: "+(n.size-n.alreadyRead)+" full size: "+n.size+")"),l.memcpy(n.data.buffer,n.alreadyRead,r,n.offset+n.alreadyRead-r.fileStart,n.size-n.alreadyRead),r.usedBytes+=n.size-n.alreadyRead,this.stream.logBufferLevel(),n.alreadyRead=n.size,n;if(0===a)return null;o.debug("ISOFile","Getting sample #"+e+" partial data (alreadyRead: "+n.alreadyRead+" offset: "+(n.offset+n.alreadyRead-r.fileStart)+" read size: "+a+" full size: "+n.size+")"),l.memcpy(n.data.buffer,n.alreadyRead,r,n.offset+n.alreadyRead-r.fileStart,a),n.alreadyRead+=a,r.usedBytes+=a,this.stream.logBufferLevel()}},m.prototype.releaseSample=function(t,e){var r=t.samples[e];return r.data?(this.samplesDataSize-=r.size,r.data=null,r.alreadyRead=0,r.size):0},m.prototype.getAllocatedSampleDataSize=function(){return this.samplesDataSize},m.prototype.getCodecs=function(){var t,e="";for(t=0;t0&&(e+=","),e+=r.mdia.minf.stbl.stsd.entries[0].getCodec()}return e},m.prototype.getTrexById=function(t){var e;if(!this.moov||!this.moov.mvex)return null;for(e=0;e0&&(r.protection=s.ipro.protections[s.iinf.item_infos[t].protection_index-1]),s.iinf.item_infos[t].item_type?r.type=s.iinf.item_infos[t].item_type:r.type="mime",r.content_type=s.iinf.item_infos[t].content_type,r.content_encoding=s.iinf.item_infos[t].content_encoding;if(s.iloc)for(t=0;t0&&f.property_index-1-1))return null;var u=(e=this.stream.buffers[a]).byteLength-(s.offset+s.alreadyRead-e.fileStart);if(!(s.length-s.alreadyRead<=u))return o.debug("ISOFile","Getting item #"+t+" extent #"+n+" partial data (alreadyRead: "+s.alreadyRead+" offset: "+(s.offset+s.alreadyRead-e.fileStart)+" read size: "+u+" full extent size: "+s.length+" full item size: "+r.size+")"),l.memcpy(r.data.buffer,r.alreadyRead,e,s.offset+s.alreadyRead-e.fileStart,u),s.alreadyRead+=u,r.alreadyRead+=u,e.usedBytes+=u,this.stream.logBufferLevel(),null;o.debug("ISOFile","Getting item #"+t+" extent #"+n+" data (alreadyRead: "+s.alreadyRead+" offset: "+(s.offset+s.alreadyRead-e.fileStart)+" read size: "+(s.length-s.alreadyRead)+" full extent size: "+s.length+" full item size: "+r.size+")"),l.memcpy(r.data.buffer,r.alreadyRead,e,s.offset+s.alreadyRead-e.fileStart,s.length-s.alreadyRead),e.usedBytes+=s.length-s.alreadyRead,this.stream.logBufferLevel(),r.alreadyRead+=s.length-s.alreadyRead,s.alreadyRead=s.length}}return r.alreadyRead===r.size?r:null},m.prototype.releaseItem=function(t){var e=this.items[t];if(!e.data)return 0;this.itemsDataSize-=e.size,e.data=null,e.alreadyRead=0;for(var r=0;r0?this.moov.traks[t].samples[0].duration:0),e.push(n)}return e},f.Box.prototype.printHeader=function(t){this.size+=8,this.size>4294967296&&(this.size+=8),"uuid"===this.type&&(this.size+=16),t.log(t.indent+"size:"+this.size),t.log(t.indent+"type:"+this.type)},f.FullBox.prototype.printHeader=function(t){this.size+=4,f.Box.prototype.printHeader.call(this,t),t.log(t.indent+"version:"+this.version),t.log(t.indent+"flags:"+this.flags)},f.Box.prototype.print=function(t){this.printHeader(t)},f.ContainerBox.prototype.print=function(t){this.printHeader(t);for(var e=0;e>8)),t.log(t.indent+"matrix: "+this.matrix.join(", ")),t.log(t.indent+"next_track_id: "+this.next_track_id)},f.tkhdBox.prototype.print=function(t){f.FullBox.prototype.printHeader.call(this,t),t.log(t.indent+"creation_time: "+this.creation_time),t.log(t.indent+"modification_time: "+this.modification_time),t.log(t.indent+"track_id: "+this.track_id),t.log(t.indent+"duration: "+this.duration),t.log(t.indent+"volume: "+(this.volume>>8)),t.log(t.indent+"matrix: "+this.matrix.join(", ")),t.log(t.indent+"layer: "+this.layer),t.log(t.indent+"alternate_group: "+this.alternate_group),t.log(t.indent+"width: "+this.width),t.log(t.indent+"height: "+this.height)},(_={}).createFile=function(t,e){var r=new m(e);return r.discardMdatData=!(void 0===t||t),r},rQ.createFile=_.createFile;var rJ=/* @__PURE__ */rq(rQ),r$={sampleRate:48e3,channelCount:2,codec:"mp4a.40.2"};function r0(t,e){var r=e.videoTracks[0],n={};if(null!=r){var s=function(t){var e=!0,r=!1,n=void 0;try{for(var s,a=t.mdia.minf.stbl.stsd.entries[Symbol.iterator]();!(e=(s=a.next()).done);e=!0){var o,u,l=s.value,c=null!==(u=null!==(o=l.avcC)&&void 0!==o?o:l.hvcC)&&void 0!==u?u:l.vpcC;if(null!=c){var h=new rJ.DataStream(void 0,0,rJ.DataStream.BIG_ENDIAN);return c.write(h),new Uint8Array(h.buffer.slice(8))}}}catch(t){r=!0,n=t}finally{try{e||null==a.return||a.return()}finally{if(r)throw n}}throw Error("avcC, hvcC or VPX not found")}(t.getTrackById(r.id)).buffer,a=r.codec.startsWith("avc1")?{descKey:"avcDecoderConfigRecord",type:"avc1"}:r.codec.startsWith("hvc1")?{descKey:"hevcDecoderConfigRecord",type:"hvc1"}:{descKey:"",type:""},o=a.descKey,u=a.type;""!==o&&(n.videoTrackConf=(0,eb._)({timescale:r.timescale,duration:r.duration,width:r.video.width,height:r.video.height,brands:e.brands,type:u},o,s)),n.videoDecoderConf={codec:r.codec,codedHeight:r.video.height,codedWidth:r.video.width,description:s}}var l=e.audioTracks[0];if(null!=l){var c=r1(t);n.audioTrackConf={timescale:l.timescale,samplerate:l.audio.sample_rate,channel_count:l.audio.channel_count,hdlr:"soun",type:l.codec.startsWith("mp4a")?"mp4a":l.codec,description:r1(t)},n.audioDecoderConf=(0,eE._)({codec:l.codec.startsWith("mp4a")?r$.codec:l.codec,numberOfChannels:l.audio.channel_count,sampleRate:l.audio.sample_rate},null==c?{}:function(t){var e,r=null==(e=t.esd.descs[0])?void 0:e.descs[0];if(null==r)return{};var n=(0,eA._)(r.data,2),s=n[0],a=n[1];return{sampleRate:[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350][((7&s)<<1)+(a>>7)],numberOfChannels:(127&a)>>3}}(c))}return n}function r1(t){var e,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"mp4a",n=null==(e=t.moov)?void 0:e.traks.map(function(t){return t.mdia.minf.stbl.stsd.entries}).flat().find(function(t){return t.type===r});return null==n?void 0:n.esds}var r2=function t(){(0,eg._)(this,t),eL(this,"readable"),eL(this,"writable"),eN(this,C,0);var e,r=rJ.createFile(),n=!1,s=this;this.readable=new ReadableStream({start:function(t){r.onReady=function(e){var n,s,a=null==(n=e.videoTracks[0])?void 0:n.id;null!=a&&r.setExtractionOptions(a,"video",{nbSamples:100});var o=null==(s=e.audioTracks[0])?void 0:s.id;null!=o&&r.setExtractionOptions(o,"audio",{nbSamples:100}),t.enqueue({chunkType:"ready",data:{info:e,file:r}}),r.start()};var e={};r.onSamples=function(n,s,a){var o;t.enqueue({chunkType:"samples",data:{id:n,type:s,samples:a.map(function(t){return(0,eE._)({},t)})}}),e[n]=(null!==(o=e[n])&&void 0!==o?o:0)+a.length,r.releaseUsedSamples(n,e[n])},r.onFlush=function(){t.close()}},cancel:function(){r.stop(),n=!0}},{highWaterMark:50}),this.writable=new WritableStream({write:(e=(0,ey._)(function(t){var e;return(0,eB._)(this,function(a){return n?s.writable.abort():((e=t.buffer).fileStart=eM(s,C),ej(s,C,eM(s,C)+e.byteLength),r.appendBuffer(e)),[2]})}),function(t){return e.apply(this,arguments)}),close:function(){var t;r.flush(),r.stop(),null==(t=r.onFlush)||t.call(r)}})};C=new WeakMap;var r3=0;function r4(t){return"file"===t.kind&&t.createReader instanceof Function}var r6=/*#__PURE__*/function(){function t(e){var r,n,s,a=this,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{audio:!0};if((0,eg._)(this,t),eN(this,B,rw.create("MP4Clip id:".concat(r3++,","))),eL(this,"ready"),eN(this,P,!1),eN(this,R,{duration:0,width:0,height:0,audioSampleRate:0,audioChanCount:0}),eN(this,F),eN(this,D,1),eN(this,z,[]),eN(this,L,[]),eN(this,O,null),eN(this,M,null),eN(this,N,{video:null,audio:null}),eN(this,j,{audio:!0}),eL(this,"tickInterceptor",(r=(0,ey._)(function(t,e){return(0,eB._)(this,function(t){return[2,e]})}),function(t,e){return r.apply(this,arguments)})),eN(this,G,new AbortController),!(e instanceof ReadableStream)&&!r4(e)&&!Array.isArray(e.videoSamples))throw Error("Illegal argument");ej(this,j,(0,eE._)({},o)),ej(this,D,"object"==typeof o.audio&&"volume"in o.audio?o.audio.volume:1);var u=this,l=(n=(0,ey._)(function(t){return(0,eB._)(this,function(e){switch(e.label){case 0:return[4,rn(eM(u,F),t)];case 1:return e.sent(),[4,eM(u,F).stream()];case 2:return[2,e.sent()]}})}),function(t){return n.apply(this,arguments)}),c=this;ej(this,F,r4(e)?e:"localFile"in e?e.localFile:rm()),this.ready=(e instanceof ReadableStream?l(e).then(function(t){return r7(t,eM(a,j))}):r4(e)?e.stream().then(function(t){return r7(t,eM(a,j))}):Promise.resolve(e)).then((s=(0,ey._)(function(t){var e,r,n,s,a,o,u;return(0,eB._)(this,function(l){switch(l.label){case 0:return e=t.videoSamples,r=t.audioSamples,n=t.decoderConf,ej(c,z,e),ej(c,L,r),ej(c,N,n),u=[{video:null==n.video?null:(0,eU._)((0,eE._)({},n.video),{hardwareAcceleration:eM(c,j).__unsafe_hardwareAcceleration__}),audio:n.audio}],[4,eM(c,F).createReader()];case 1:return a=(s=r5.apply(void 0,u.concat([l.sent(),e,r,!1!==eM(c,j).audio?eM(c,D):null]))).videoFrameFinder,o=s.audioFrameFinder,[2,(ej(c,O,a),ej(c,M,o),ej(c,R,function(t,e,r){var n,s,a={duration:0,width:0,height:0,audioSampleRate:0,audioChanCount:0};null!=t.video&&e.length>0&&(a.width=null!==(n=t.video.codedWidth)&&void 0!==n?n:0,a.height=null!==(s=t.video.codedHeight)&&void 0!==s?s:0),null!=t.audio&&r.length>0&&(a.audioSampleRate=r$.sampleRate,a.audioChanCount=r$.channelCount);var o=0,u=0;if(e.length>0)for(var l=e.length-1;l>=0;l--){var c=e[l];if(!c.deleted){o=c.cts+c.duration;break}}if(r.length>0){var h=r.at(-1);u=h.cts+h.duration}return a.duration=Math.max(o,u),a}(n,e,r)),eM(c,B).info("MP4Clip meta:",eM(c,R)),(0,eE._)({},eM(c,R)))]}})}),function(t){return s.apply(this,arguments)}))}return(0,ev._)(t,[{key:"meta",get:function(){return(0,eE._)({},eM(this,R))}},{key:"tick",value:function(t){var e=this;return(0,ey._)(function(){var r,n,s,a,o,u,l;return(0,eB._)(this,function(c){switch(c.label){case 0:if(!(t>=eM(e,R).duration))return[3,2];return[4,e.tickInterceptor(t,{audio:[],state:"done"})];case 1:return[2,c.sent()];case 2:return[4,Promise.all([null!==(s=null==(r=eM(e,M))?void 0:r.find(t))&&void 0!==s?s:[],null==(n=eM(e,O))?void 0:n.find(t)])];case 3:if(o=(a=(0,eA._).apply(void 0,[c.sent(),2]))[0],null!=(u=a[1]))return[3,5];return[4,e.tickInterceptor(t,{audio:o,state:"success"})];case 4:return l=c.sent(),[3,7];case 5:return[4,e.tickInterceptor(t,{video:u,audio:o,state:"success"})];case 6:l=c.sent(),c.label=7;case 7:return[2,l]}})})()}},{key:"thumbnails",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:100,e=arguments.length>1?arguments[1]:void 0,r=this;return(0,ey._)(function(){var n,s,a,o;return(0,eB._)(this,function(u){switch(u.label){case 0:return eM(r,G).abort(),ej(r,G,new AbortController),n=eM(r,G).signal,[4,r.ready];case 1:var l,c,h,f,d,p;if(u.sent(),s="generate thumbnails aborted",n.aborted)throw Error(s);return c=Math.round(t/(a=eM(r,R)).width*a.height),h={quality:.1,type:"image/png"},p=(d=new OffscreenCanvas(t,c)).getContext("2d"),f=(0,ey._)(function(e){return(0,eB._)(this,function(r){switch(r.label){case 0:return p.drawImage(e,0,0,t,c),e.close(),[4,d.convertToBlob(h)];case 1:return[2,r.sent()]}})}),o=function(t){return f.apply(this,arguments)},[2,new Promise((l=(0,ey._)(function(t,a){var u,l,c,h,f,d,p,m,_,y,g,v;function b(){return w.apply(this,arguments)}function w(){return(w=(0,ey._)(function(){return(0,eB._)(this,function(e){switch(e.label){case 0:var r;if(n.aborted)return[3,2];return[4,Promise.all(u.map((r=(0,ey._)(function(t){var e;return(0,eB._)(this,function(r){switch(r.label){case 0:return e={ts:t.ts},[4,t.img];case 1:return[2,(e.img=r.sent(),e)]}})}),function(t){return r.apply(this,arguments)})))];case 1:t.apply(void 0,[e.sent()]),e.label=2;case 2:return[2]}})})).apply(this,arguments)}function S(t){u.push({ts:t.timestamp,img:o(t)})}return(0,eB._)(this,function(t){switch(t.label){case 0:if(u=[],null==(l=eM(r,N).video)||0===eM(r,z).length)return b(),[2];if(n.addEventListener("abort",function(){a(Error(s))}),f=void 0===(h=(c=null!=e?e:{}).start)?0:h,p=void 0===(d=c.end)?eM(r,R).duration:d,!(m=c.step))return[3,6];return _=f,g=it.bind,[4,eM(r,F).createReader()];case 1:y=new(g.apply(it,[void 0,t.sent(),eM(r,z),(0,eU._)((0,eE._)({},l),{hardwareAcceleration:eM(r,j).__unsafe_hardwareAcceleration__})])),t.label=2;case 2:if(!(_<=p&&!n.aborted))return[3,5];return[4,y.find(_)];case 3:(v=t.sent())&&S(v),_+=m,t.label=4;case 4:return[3,2];case 5:return y.destroy(),b(),[3,8];case 6:return[4,function(t,e,r,n,s,a){return io.apply(this,arguments)}(eM(r,z),eM(r,F),l,n,{start:f,end:p},function(t,e){S(t),e&&b()})];case 7:t.sent(),t.label=8;case 8:return[2]}})}),function(t,e){return l.apply(this,arguments)}))]}})})()}},{key:"split",value:function(e){var r=this;return(0,ey._)(function(){var n,s,a,o,u,l,c,h;return(0,eB._)(this,function(f){switch(f.label){case 0:return[4,r.ready];case 1:if(f.sent(),e<=0||e>=eM(r,R).duration)throw Error('"time" out of bounds');return s=(n=(0,eA._)(function(t,e){if(0===t.length)return[];for(var r=0,n=0,s=-1,a=0;a=0)break;g.deleted=!0,g.cts=-1}}catch(t){p=!0,m=t}finally{try{d||null==y.return||y.return()}finally{if(p)throw m}}return[l,f]}(eM(r,z),e),2))[0],a=n[1],u=(o=(0,eA._)(function(t,e){if(0===t.length)return[];for(var r=-1,n=0;nt[n].cts)){r=n;break}if(-1===r)throw Error("Not found audio sample by time");return[t.slice(0,r),t.slice(r).map(function(t){return(0,eU._)((0,eE._)({},t),{cts:t.cts-e})})]}(eM(r,L),e),2))[0],l=o[1],c=new t({localFile:eM(r,F),videoSamples:null!=s?s:[],audioSamples:null!=u?u:[],decoderConf:eM(r,N)},eM(r,j)),h=new t({localFile:eM(r,F),videoSamples:null!=a?a:[],audioSamples:null!=l?l:[],decoderConf:eM(r,N)},eM(r,j)),[4,Promise.all([c.ready,h.ready])];case 2:return[2,(f.sent(),[c,h])]}})})()}},{key:"clone",value:function(){var e=this;return(0,ey._)(function(){var r;return(0,eB._)(this,function(n){switch(n.label){case 0:return[4,e.ready];case 1:return n.sent(),[4,(r=new t({localFile:eM(e,F),videoSamples:(0,eI._)(eM(e,z)),audioSamples:(0,eI._)(eM(e,L)),decoderConf:eM(e,N)},eM(e,j))).ready];case 2:return[2,(n.sent(),r.tickInterceptor=e.tickInterceptor,r)]}})})()}},{key:"splitTrack",value:function(){var e=this;return(0,ey._)(function(){var r,n,s;return(0,eB._)(this,function(a){switch(a.label){case 0:return[4,e.ready];case 1:if(a.sent(),r=[],!(eM(e,z).length>0))return[3,3];return[4,(n=new t({localFile:eM(e,F),videoSamples:(0,eI._)(eM(e,z)),audioSamples:[],decoderConf:{video:eM(e,N).video,audio:null}},eM(e,j))).ready];case 2:a.sent(),n.tickInterceptor=e.tickInterceptor,r.push(n),a.label=3;case 3:if(!(eM(e,L).length>0))return[3,5];return[4,(s=new t({localFile:eM(e,F),videoSamples:[],audioSamples:(0,eI._)(eM(e,L)),decoderConf:{audio:eM(e,N).audio,video:null}},eM(e,j))).ready];case 4:a.sent(),s.tickInterceptor=e.tickInterceptor,r.push(s),a.label=5;case 5:return[2,r]}})})()}},{key:"destroy",value:function(){var t,e;eM(this,P)||(eM(this,B).info("MP4Clip destroy"),ej(this,P,!0),null==(t=eM(this,O))||t.destroy(),null==(e=eM(this,M))||e.destroy())}}]),t}();B=new WeakMap,P=new WeakMap,R=new WeakMap,F=new WeakMap,D=new WeakMap,z=new WeakMap,L=new WeakMap,O=new WeakMap,M=new WeakMap,N=new WeakMap,j=new WeakMap,G=new WeakMap;var r8=r6;function r5(t,e,r,n,s){return{audioFrameFinder:null==s||null==t.audio||0===n.length?null:new ie(e,n,t.audio,{volume:s,targetSampleRate:r$.sampleRate}),videoFrameFinder:null==t.video||0===r.length?null:new it(e,r,t.video)}}function r7(t){return r9.apply(this,arguments)}function r9(){return(r9=(0,ey._)(function(t){var e,r,n,s,a,o=arguments;function u(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=arguments.length>2?arguments[2]:void 0;return(0,eU._)((0,eE._)({},t),{is_idr:"video"===r&&t.is_sync&&function(t){for(var e=new DataView(t.buffer),r=0;r1&&void 0!==o[1]?o[1]:{},n={video:null,audio:null},s=[],a=[],[2,new Promise((c=(0,ey._)(function(o,l){var c,h,f;return(0,eB._)(this,function(d){var p;return c=-1,h=-1,f=rZ(t.pipeThrough(new r2),{onChunk:(p=(0,ey._)(function(t){var o,d,p,m,_,y,g,v,b,w,S,x,E,U,T,A,I;return(0,eB._)(this,function(k){if(o=t.chunkType,d=t.data,"ready"===o)r=d.info,m=(p=r0(d.file,d.info)).videoDecoderConf,_=p.audioDecoderConf,n.video=null!=m?m:null,n.audio=null!=_?_:null,null==m&&null==_&&(f(),l(Error("MP4Clip must contain at least one video or audio track"))),rw.info("mp4BoxFile moov ready",(0,eU._)((0,eE._)({},d.info),{tracks:null,videoTracks:null,audioTracks:null}),n);else if("samples"===o){if("video"===d.type){-1===c&&(c=d.samples[0].dts),y=!0,g=!1,v=void 0;try{for(b=d.samples[Symbol.iterator]();!(y=(w=b.next()).done);y=!0)S=w.value,s.push(u(S,c,"video"))}catch(t){g=!0,v=t}finally{try{y||null==b.return||b.return()}finally{if(g)throw v}}}else if("audio"===d.type&&e.audio){-1===h&&(h=d.samples[0].dts),x=!0,E=!1,U=void 0;try{for(T=d.samples[Symbol.iterator]();!(x=(A=T.next()).done);x=!0)I=A.value,a.push(u(I,h,"audio"))}catch(t){E=!0,U=t}finally{try{x||null==T.return||T.return()}finally{if(E)throw U}}}}return[2]})}),function(t){return p.apply(this,arguments)}),onDone:function(){var t,e=null!==(t=s.at(-1))&&void 0!==t?t:a.at(-1);if(null==r){l(Error("MP4Clip stream is done, but not emit ready"));return}if(null==e){l(Error("MP4Clip stream not contain any sample"));return}var u=s[0];null!=u&&u.cts<2e5&&(u.duration+=u.cts,u.cts=0),rw.info("mp4 stream parsed"),o({videoSamples:s,audioSamples:a,decoderConf:n})}}),[2]})}),function(t,e){return c.apply(this,arguments)}))]})})).apply(this,arguments)}var it=function t(e,r,n){var s,a,o,u=this;(0,eg._)(this,t),eN(this,Y,null),eN(this,W,0),eN(this,V,{abort:!1,st:performance.now()});var l=this;eL(this,"find",(s=(0,ey._)(function(t){return(0,eB._)(this,function(e){switch(e.label){case 0:return(null==eM(l,Y)||t<=eM(l,W)||t-eM(l,W)>3e6)&&eM(l,te).call(l,t),eM(l,V).abort=!0,ej(l,W,t),ej(l,V,{abort:!1,st:performance.now()}),[4,eM(l,J).call(l,t,eM(l,Y),eM(l,V))];case 1:return[2,e.sent()]}})}),function(t){return s.apply(this,arguments)})),eN(this,H,0),eN(this,X,!1),eN(this,Z,0),eN(this,K,[]),eN(this,q,0),eN(this,Q,0);var c=this;eN(this,J,(a=(0,ey._)(function(t,e,r){var n,s,a,o,u;return(0,eB._)(this,function(l){switch(l.label){case 0:if(null==e||"closed"===e.state||r.abort)return[2,null];if(!(eM(c,K).length>0))return[3,6];if(!(t<(n=eM(c,K)[0]).timestamp))return[3,1];return a=null,[3,5];case 1:if(eM(c,K).shift(),!(t>n.timestamp+(null!==(s=n.duration)&&void 0!==s?s:0)))return[3,3];return n.close(),[4,eM(c,J).call(c,t,e,r)];case 2:return o=l.sent(),[3,4];case 3:eM(c,K).length<10&&eM(c,tt).call(c,e).catch(function(e){throw eM(c,te).call(c,t),e}),o=n,l.label=4;case 4:a=o,l.label=5;case 5:return[2,a];case 6:if(!(eM(c,$)||eM(c,q)0))return[3,8];if(performance.now()-r.st>3e3)throw Error("MP4Clip.tick video timeout, ".concat(JSON.stringify(eM(c,tr).call(c))));return[4,rH(15)];case 7:return l.sent(),[3,12];case 8:if(eM(c,Z)>=c.samples.length)return[2,null];l.label=9;case 9:return l.trys.push([9,11,,12]),[4,eM(c,tt).call(c,e)];case 10:return l.sent(),[3,12];case 11:throw u=l.sent(),eM(c,te).call(c,t),u;case 12:return[4,eM(c,J).call(c,t,e,r)];case 13:return[2,l.sent()]}})}),function(t,e,r){return a.apply(this,arguments)})),eN(this,$,!1);var h=this;eN(this,tt,(o=(0,ey._)(function(t){var e,r,n,s,a,o,u,l;return(0,eB._)(this,function(c){switch(c.label){case 0:if(eM(h,$))return[2];for(ej(h,$,!0),n=eM(h,Z)+1,s=!1;n1e5){for(eM(l,tf).call(l),ej(l,to,t),e=0;e1&&void 0!==a[1]?a[1]:null,r=a.length>2?a[2]:void 0,null==e||r.abort||"closed"===e.state||0===(n=Math.ceil(t*(eM(c,tn)/1e6))))return[2,[]];if((s=eM(c,tl).frameCnt-n)>0)return[2,(se){var l=e-n;r[0].set(o.subarray(0,l),n),r[1].set(u.subarray(0,l),n),t.data[s][0]=o.subarray(l,o.length),t.data[s][1]=u.subarray(l,u.length);break}r[0].set(o,n),r[1].set(u,n),n+=o.length,s++}return t.data=t.data.slice(s),t.frameCnt-=e,r}(eM(c,tl),n))];if(!(e.decodeQueueSize>10))return[3,2];if(performance.now()-r.st>3e3)throw r.abort=!0,Error("MP4Clip.tick audio timeout, ".concat(JSON.stringify(eM(c,td).call(c))));return[4,rH(15)];case 1:return o.sent(),[3,3];case 2:if(eM(c,tu)>=c.samples.length-1)return[2,[]];eM(c,th).call(c,e),o.label=3;case 3:return[2,eM(c,tc).call(c,t,e,r)]}})}),function(t){return o.apply(this,arguments)})),eN(this,th,function(t){if(!(t.decodeQueueSize>100)){for(var e=[],r=eM(u,tu);r=10))break}ej(u,tu,r),t.decode(e.map(function(t){return new EncodedAudioChunk({type:"key",timestamp:t.cts,duration:t.duration,data:t.data})}))}}),eN(this,tf,function(){var t,e,r,n,s,a,o,l;ej(u,to,0),ej(u,tu,0),ej(u,tl,{frameCnt:0,data:[]}),null==(t=eM(u,ts))||t.close(),ej(u,ts,(e=u.conf,r={resampleRate:r$.sampleRate,volume:eM(u,ti)},n=function(t){eM(u,tl).data.push(t),eM(u,tl).frameCnt+=t[0].length},a=function(t){var e=[],r=0;function n(){var s=e[r];null!=s&&(t(s),r+=1,n())}var s=0;return function(t){var r=s;s+=1,t().then(function(t){e[r]=t,n()}).catch(function(t){e[r]=t,n()})}}(s=function(t){if(0!==t.length){var e=!0,s=!1,a=void 0;if(1!==r.volume)try{for(var o,u=t[Symbol.iterator]();!(e=(o=u.next()).done);e=!0)for(var l=o.value,c=0;c=s.start&&t.cts<=s.end}),o)];case 2:return 0===(c=h.sent()).length||n.aborted||(l.configure(r),is(l,c,{})),[2]}})})).apply(this,arguments)}ti=new WeakMap,tn=new WeakMap,ts=new WeakMap,ta=new WeakMap,to=new WeakMap,tu=new WeakMap,tl=new WeakMap,tc=new WeakMap,th=new WeakMap,tf=new WeakMap,td=new WeakMap;var iu=/*#__PURE__*/function(){function t(e){var r=this;(0,eg._)(this,t),eN(this,ty),eL(this,"ready"),eN(this,tp,{duration:0,width:0,height:0}),eN(this,tm,null),eN(this,t_,[]);var n=function(t){return ej(r,tm,t),eM(r,tp).width=t.width,eM(r,tp).height=t.height,eM(r,tp).duration=1/0,(0,eE._)({},eM(r,tp))};if(e instanceof ReadableStream)this.ready=new Response(e).blob().then(function(t){return createImageBitmap(t)}).then(n);else if(e instanceof ImageBitmap)this.ready=Promise.resolve(n(e));else if(Array.isArray(e)&&e.every(function(t){return t instanceof VideoFrame})){ej(this,t_,e);var s=eM(this,t_)[0];if(null==s)throw Error("The frame count must be greater than 0");ej(this,tp,{width:s.displayWidth,height:s.displayHeight,duration:eM(this,t_).reduce(function(t,e){var r;return t+(null!==(r=e.duration)&&void 0!==r?r:0)},0)}),this.ready=Promise.resolve((0,eU._)((0,eE._)({},eM(this,tp)),{duration:1/0}))}else if("type"in e)this.ready=eG(this,ty,tg).call(this,e.stream,e.type).then(function(){return{width:eM(r,tp).width,height:eM(r,tp).height,duration:1/0}});else throw Error("Illegal arguments")}return(0,ev._)(t,[{key:"meta",get:function(){return(0,eE._)({},eM(this,tp))}},{key:"tick",value:function(t){var e=this;return(0,ey._)(function(){var r,n,s;return(0,eB._)(this,function(a){switch(a.label){case 0:if(!(null!=eM(e,tm)))return[3,2];return r={},[4,createImageBitmap(eM(e,tm))];case 1:return[2,(r.video=a.sent(),r.state="success",r)];case 2:return n=t%eM(e,tp).duration,[2,{video:(null!==(s=eM(e,t_).find(function(t){var e;return n>=t.timestamp&&n<=t.timestamp+(null!==(e=t.duration)&&void 0!==e?e:0)}))&&void 0!==s?s:eM(e,t_)[0]).clone(),state:"success"}]}})})()}},{key:"split",value:function(e){var r=this;return(0,ey._)(function(){var n,s,a,o,u,l,c;return(0,eB._)(this,function(h){switch(h.label){case 0:return[4,r.ready];case 1:if(h.sent(),null==eM(r,tm))return[3,4];return n=t.bind,[4,createImageBitmap(eM(r,tm))];case 2:return s=[new(n.apply(t,[void 0,h.sent()]))],a=t.bind,[4,createImageBitmap(eM(r,tm))];case 3:return[2,s.concat([new(a.apply(t,[void 0,h.sent()]))])];case 4:for(u=0,o=-1;ueM(r,t_)[u].timestamp)){o=u;break}if(-1===o)throw Error("Not found frame by time");return l=eM(r,t_).slice(0,o).map(function(t){return new VideoFrame(t)}),c=eM(r,t_).slice(o).map(function(t){return new VideoFrame(t,{timestamp:t.timestamp-e})}),[2,[new t(l),new t(c)]]}})})()}},{key:"clone",value:function(){var e=this;return(0,ey._)(function(){var r;return(0,eB._)(this,function(n){switch(n.label){case 0:return[4,e.ready];case 1:if(n.sent(),null!=eM(e,tm))return[3,2];return r=eM(e,t_).map(function(t){return t.clone()}),[3,4];case 2:return[4,createImageBitmap(eM(e,tm))];case 3:r=n.sent(),n.label=4;case 4:return[2,new t(r)]}})})()}},{key:"destroy",value:function(){var t;rw.info("ImgClip destroy"),null==(t=eM(this,tm))||t.close(),eM(this,t_).forEach(function(t){return t.close()})}}]),t}();tp=new WeakMap,tm=new WeakMap,t_=new WeakMap,ty=new WeakSet,y=(0,ey._)(function(t,e){var r,n;return(0,eB._)(this,function(s){switch(s.label){case 0:return r=[this,t_],[4,rj(t,e)];case 1:if(ej.apply(void 0,r.concat([s.sent()])),null==(n=eM(this,t_)[0]))throw Error("No frame available in gif");return ej(this,tp,{duration:eM(this,t_).reduce(function(t,e){var r;return t+(null!==(r=e.duration)&&void 0!==r?r:0)},0),width:n.codedWidth,height:n.codedHeight}),rw.info("ImgClip ready:",eM(this,tp)),[2]}})}),tg=function(t,e){return y.apply(this,arguments)};var il=iu,ic=/*#__PURE__*/function(){function t(e){var r=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};(0,eg._)(this,t),eN(this,tx),eL(this,"ready"),eN(this,tv,{duration:0,width:0,height:0}),eN(this,tb,new Float32Array),eN(this,tw,new Float32Array),eN(this,tS),eN(this,tU,0),eN(this,tT,0),ej(this,tS,(0,eE._)({loop:!1,volume:1},n)),this.ready=eG(this,tx,tE).call(this,e).then(function(){return{width:0,height:0,duration:n.loop?1/0:eM(r,tv).duration}})}return(0,ev._)(t,[{key:"meta",get:function(){return(0,eU._)((0,eE._)({},eM(this,tv)),{sampleRate:r$.sampleRate,chanCount:2})}},{key:"getPCMData",value:function(){return[eM(this,tb),eM(this,tw)]}},{key:"tick",value:function(t){var e=this;return(0,ey._)(function(){var r,n,s,a;return(0,eB._)(this,function(o){return!eM(e,tS).loop&&t>=eM(e,tv).duration?[2,{audio:[],state:"done"}]:(r=t-eM(e,tU),t3e6)?[2,(ej(e,tU,t),ej(e,tT,Math.ceil(eM(e,tU)/1e6*r$.sampleRate)),{audio:[new Float32Array(0),new Float32Array(0)],state:"success"})]:(ej(e,tU,t),n=Math.ceil(r/1e6*r$.sampleRate),s=eM(e,tT)+n,a=eM(e,tS).loop?[rX(eM(e,tb),eM(e,tT),s),rX(eM(e,tw),eM(e,tT),s)]:[eM(e,tb).slice(eM(e,tT),s),eM(e,tw).slice(eM(e,tT),s)],[2,(ej(e,tT,s),{audio:a,state:"success"})])})})()}},{key:"split",value:function(e){var r=this;return(0,ey._)(function(){var n;return(0,eB._)(this,function(s){switch(s.label){case 0:return[4,r.ready];case 1:return s.sent(),n=Math.ceil(e/1e6*r$.sampleRate),[2,[new t(r.getPCMData().map(function(t){return t.slice(0,n)}),eM(r,tS)),new t(r.getPCMData().map(function(t){return t.slice(n)}),eM(r,tS))]]}})})()}},{key:"clone",value:function(){var e=this;return(0,ey._)(function(){var r;return(0,eB._)(this,function(n){switch(n.label){case 0:return[4,e.ready];case 1:return n.sent(),[4,(r=new t(e.getPCMData(),eM(e,tS))).ready];case 2:return[2,(n.sent(),r)]}})})()}},{key:"destroy",value:function(){ej(this,tb,new Float32Array(0)),ej(this,tw,new Float32Array(0)),rw.info("---- audioclip destroy ----")}}]),t}();tv=new WeakMap,tb=new WeakMap,tw=new WeakMap,tS=new WeakMap,tx=new WeakSet,g=(0,ey._)(function(t){var e,r,n,s,a,o,u,l,c,h,f,d;return(0,eB._)(this,function(p){switch(p.label){case 0:if(null==ic.ctx&&(ic.ctx=new AudioContext({sampleRate:r$.sampleRate})),e=performance.now(),!(t instanceof ReadableStream))return[3,2];return[4,function(t,e){return im.apply(this,arguments)}(t,ic.ctx)];case 1:return n=p.sent(),[3,3];case 2:n=t,p.label=3;case 3:if(r=n,rw.info("Audio clip decoded complete:",performance.now()-e),s=eM(this,tS).volume,a=!0,o=!1,u=void 0,1!==s)try{for(l=r[Symbol.iterator]();!(a=(c=l.next()).done);a=!0)for(f=0,h=c.value;f0}).map(function(t){return{lineStr:t,match:t.match(/(\d{2}:\d{2}:\d{2},\d{3}) --> (\d{2}:\d{2}:\d{2},\d{3})/)}}).filter(function(t,e,r){var n,s=t.lineStr;return!(/^\d+$/.test(s)&&(null==(n=r[e+1])?void 0:n.match)!=null)}).reduce(function(t,e){var r=e.lineStr,n=e.match;if(null==n){var s=t.at(-1);if(null==s)return t;s.text+=0===s.text.length?r:"\n".concat(r)}else t.push({start:ib(n[1]),end:ib(n[2]),text:""});return t},[]).map(function(t){return{start:1e6*t.start,end:1e6*t.end,text:t.text}})),0===eM(this,tB).length)throw Error("No subtitles content");ej(this,tR,Object.assign(eM(this,tR),r)),ej(this,tO,null==r.textBgColor?0:(null!==(s=r.fontSize)&&void 0!==s?s:50)*.2);var n,s,a,o=eM(this,tR),u=o.fontSize,l=o.fontFamily,c=o.videoWidth,h=o.videoHeight,f=o.letterSpacing;ej(this,tL,u+2*eM(this,tO)),ej(this,tF,new OffscreenCanvas(c,h)),ej(this,tD,eM(this,tF).getContext("2d")),eM(this,tD).font="".concat(u,"px ").concat(l),eM(this,tD).textAlign="center",eM(this,tD).textBaseline="top",eM(this,tD).letterSpacing=null!=f?f:"0px",ej(this,tP,{width:c,height:h,duration:null!==(a=null==(n=eM(this,tB).at(-1))?void 0:n.end)&&void 0!==a?a:0}),this.ready=Promise.resolve(this.meta)}return(0,ev._)(t,[{key:"meta",get:function(){return(0,eE._)({},eM(this,tP))}},{key:"tick",value:function(t){var e=this;return(0,ey._)(function(){var r,n,s,a,o,u,l,c;return(0,eB._)(this,function(h){if(null!=eM(e,tz)&&t>=eM(e,tz).timestamp&&t<=eM(e,tz).timestamp+(null!==(s=eM(e,tz).duration)&&void 0!==s?s:0))return[2,{video:eM(e,tz).clone(),state:"success"}];for(a=0;a(u=null!==(o=eM(e,tB)[a])&&void 0!==o?o:eM(e,tB).at(-1)).end?[2,{state:"done"}]:teM(r,tB)[s].start)){n=s;break}if(-1===n)throw Error("Not found subtitle by time");return o=(a=eM(r,tB).slice(0,n).map(function(t){return(0,eE._)({},t)})).at(-1),u=null,null!=o&&o.end>e&&(u={start:0,end:o.end-e,text:o.text},o.end=e),l=eM(r,tB).slice(n).map(function(t){return(0,eU._)((0,eE._)({},t),{start:t.start-e,end:t.end-e})}),[2,(null!=u&&l.unshift(u),[new t(a,eM(r,tR)),new t(l,eM(r,tR))])]}})})()}},{key:"clone",value:function(){var e=this;return(0,ey._)(function(){return(0,eB._)(this,function(r){return[2,new t(eM(e,tB).slice(0),eM(e,tR))]})})()}},{key:"destroy",value:function(){var t;null==(t=eM(this,tz))||t.close()}}]),t}();tB=new WeakMap,tP=new WeakMap,tR=new WeakMap,tF=new WeakMap,tD=new WeakMap,tz=new WeakMap,tL=new WeakMap,tO=new WeakMap,tM=new WeakSet,tN=function(t){var e=t.split("\n").reverse().map(function(t){return t.trim()}),r=eM(this,tF),n=r.width,s=r.height,a=eM(this,tR),o=a.color,u=a.fontSize,l=a.textBgColor,c=a.textShadow,h=a.strokeStyle,f=a.lineWidth,d=a.lineCap,p=a.lineJoin,m=a.bottomOffset,_=eM(this,tD);_.clearRect(0,0,n,s),_.globalAlpha=.6;var y=m,g=!0,v=!1,b=void 0;try{for(var w,S=e[Symbol.iterator]();!(g=(w=S.next()).done);g=!0){var x=w.value,E=_.measureText(x),U=n/2;null!=l&&(_.shadowOffsetX=0,_.shadowOffsetY=0,_.shadowBlur=0,_.fillStyle=l,_.globalAlpha=.5,_.fillRect(U-E.actualBoundingBoxLeft-eM(this,tO),s-y-eM(this,tL),E.width+2*eM(this,tO),eM(this,tL))),_.shadowColor=c.color,_.shadowOffsetX=c.offsetX,_.shadowOffsetY=c.offsetY,_.shadowBlur=c.blur,_.globalAlpha=1,null!=h&&(_.lineWidth=null!=f?f:u/6,null!=d&&(_.lineCap=d),null!=p&&(_.lineJoin=p),_.strokeStyle=h,_.strokeText(x,U,s-y-eM(this,tL)+eM(this,tO))),_.fillStyle=o,_.fillText(x,U,s-y-eM(this,tL)+eM(this,tO)),y+=eM(this,tL)+.2*u}}catch(t){v=!0,b=t}finally{try{g||null==S.return||S.return()}finally{if(v)throw b}}};var iv=ig;function ib(t){var e=t.match(/(\d{2}):(\d{2}):(\d{2}),(\d{3})/);if(null==e)throw Error("time format error: ".concat(t));return 3600*Number(e[1])+60*Number(e[2])+Number(e[3])+Number(e[4])/1e3}var iw=/*#__PURE__*/function(){function t(){var e=this,r=this;(0,eg._)(this,t),eN(this,tj,/* @__PURE__ */new Map),eL(this,"on",function(t,r){var n,s=null!==(n=eM(e,tj).get(t))&&void 0!==n?n:/* @__PURE__ */new Set;return s.add(r),eM(e,tj).has(t)||eM(e,tj).set(t,s),function(){s.delete(r),0===s.size&&eM(e,tj).delete(t)}}),eL(this,"once",function(t,r){var n=e.on(t,function(){for(var t=arguments.length,e=Array(t),s=0;s1?e-1:0),s=1;s0&&a.is_sync)break;e.addSample(s,a.data,a),r=a.cts+a.duration}return t.splice(0,n),r}(r);f>c&&(c=f)}var d=n[0];null!=d&&d.cts-c<1e4&&(l=t,h())}}}var f=rA(h,15),d=iI(t,function(t,e){return u("encoder0",t,e)}),p=iI(t,function(t,e){return u("encoder1",t,e)}),m=0;return{get encodeQueueSize(){return d.encodeQueueSize+p.encodeQueueSize},encode:function(t,e){e.keyFrame&&(m+=1),(m%2==0?d:p).encode(t,e)},flush:/*#__PURE__*/(0,ey._)(function(){var t,e,r,n;return(0,eB._)(this,function(s){switch(s.label){case 0:if(t=Promise.all,"configured"!==d.state)return[3,2];return[4,d.flush()];case 1:return e=s.sent(),[3,3];case 2:e=null,s.label=3;case 3:if(r=[e],"configured"!==p.state)return[3,5];return[4,p.flush()];case 4:return n=s.sent(),[3,6];case 5:n=null,s.label=6;case 6:return[4,t.apply(Promise,[r.concat([n])])];case 7:return s.sent(),f(),h(),[2]}})}),close:function(){"configured"===d.state&&d.close(),"configured"===p.state&&p.close()}}}(t.video,e,r):null,u=null!=t.audio?function(t,e,r){var n={timescale:1e6,samplerate:t.sampleRate,channel_count:t.channelCount,hdlr:"soun",type:"aac"===t.codec?"mp4a":"Opus",name:"Track created with WebAV"},s=-1,a=[],o=!1;r.once("VideoReady",function(){o=!0,a.forEach(function(t){var r=iC(t);e.addSample(s,r.data,r)}),a=[]});var u=new AudioEncoder({error:rw.error,output:function(t,u){var l;if(-1===s){var c,h,f,d=null==(l=u.decoderConfig)?void 0:l.description;s=e.addTrack((0,eU._)((0,eE._)({},n),{description:null==d?void 0:(h=new Uint8Array([0,0,0,0,3,23+(c=d.byteLength),0,2,0,4,18+c,64,21,0,0,0,0,0,0,0,0,0,0,0,5,c].concat((0,eI._)(new Uint8Array(d instanceof ArrayBuffer?d:d.buffer)),[6,1,2])),(f=new rJ.BoxParser.esdsBox(h.byteLength)).hdr_size=0,f.parse(new rJ.DataStream(h,0,rJ.DataStream.BIG_ENDIAN)),f)})),r.emit("AudioReady"),rw.info("AudioEncoder, audio track ready, trackId:",s)}if(o){var p=iC(t);e.addSample(s,p.data,p)}else a.push(t)}});return u.configure({codec:"aac"===t.codec?r$.codec:"opus",sampleRate:t.sampleRate,numberOfChannels:t.channelCount,bitrate:128e3}),u}(t.audio,e,r):null;return null==t.video&&r.emit("VideoReady"),null==t.audio&&r.emit("AudioReady"),{encodeVideo:function(t,e){null==o||o.encode(t,e),t.close()},encodeAudio:function(t){null!=u&&(u.encode(t),t.close())},getEncodeQueueSize:function(){var t,e;return null!==(e=null!==(t=null==o?void 0:o.encodeQueueSize)&&void 0!==t?t:null==u?void 0:u.encodeQueueSize)&&void 0!==e?e:0},flush:/*#__PURE__*/(0,ey._)(function(){return(0,eB._)(this,function(t){switch(t.label){case 0:return[4,Promise.all([null==o?void 0:o.flush(),(null==u?void 0:u.state)==="configured"?u.flush():null])];case 1:return t.sent(),[2]}})}),close:function(){r.destroy(),null==o||o.close(),(null==u?void 0:u.state)==="configured"&&u.close()},mp4file:e}}function iI(t,e){var r=new VideoEncoder({error:rw.error,output:e});return r.configure({codec:t.codec,framerate:t.expectFPS,hardwareAcceleration:t.__unsafe_hardwareAcceleration__,bitrate:t.bitrate,width:t.width,height:t.height,alpha:"discard",avc:{format:"avc"}}),r}function ik(t,e,r){var n=0,s=0,a=t.boxes,o=!1,u=function(){if(!o){if(null==a.find(function(t){return"moof"===t.type}))return null;o=!0}if(s>=a.length)return null;var e=new rJ.DataStream;e.endianness=rJ.DataStream.BIG_ENDIAN;var r=s;try{for(;r0)return!0;var s=r.findIndex(function(t){return"moov"===t.type});if(-1===s)return!1;if(u=r.slice(0,s+1),e=s+1,0===n.length)for(var a=1;;a+=1){var o=t.getTrackById(a);if(null==o)break;n.push({track:o,id:a})}return!0}var c=0,h=rm(),f=null,d=(0,ey._)(function(){return(0,eB._)(this,function(t){switch(t.label){case 0:return[4,h.createWriter()];case 1:return f=t.sent(),c=self.setInterval(function(){l()&&a()},100),[2]}})})(),p=!1;return/*#__PURE__*/(0,ey._)(function(){var e,r,n;return(0,eB._)(this,function(o){switch(o.label){case 0:if(p)throw Error("File exported");return p=!0,[4,d];case 1:if(o.sent(),clearInterval(c),!l()||null==f)return[2,null];return t.flush(),[4,a()];case 2:return o.sent(),[4,null==f?void 0:f.close()];case 3:if(o.sent(),null==(e=u.find(function(t){return"moov"===t.type})))return[2,null];return e.mvhd.duration=s,r=rm(),n=m(u,0),[4,rn(r,n)];case 4:return o.sent(),[4,rn(r,h,{overwrite:!1})];case 5:return o.sent(),[4,r.stream()];case 6:return[2,o.sent()]}})});function m(t,e){if(e>=t.length)return null;var r=new rJ.DataStream;r.endianness=rJ.DataStream.BIG_ENDIAN;for(var n=e;n-1},e.trigger=function(t){var e=this.listeners[t];if(e){if(2==arguments.length)for(var r=e.length,n=0;n-1;e=this.buffer.indexOf("\n"))this.trigger("data",this.buffer.substring(0,e)),this.buffer=this.buffer.substring(e+1)}}]),r}(iL),ij=function(t){var e=/([0-9.]*)?@?([0-9.]*)?/.exec(t||""),r={};return e[1]&&(r.length=parseInt(e[1],10)),e[2]&&(r.offset=parseInt(e[2],10)),r},iG=function(t){var e={};if(!t)return e;for(var r,n=t.split(RegExp('(?:^|,)((?:[^=]*)=(?:"[^"]*"|[^,]*))')),s=n.length;s--;)""!==n[s]&&((r=/([^=]*)=(.*)/.exec(n[s]).slice(1))[0]=r[0].replace(/^\s+|\s+$/g,""),r[1]=r[1].replace(/^\s+|\s+$/g,""),r[1]=r[1].replace(/^['"](.*)['"]$/g,"$1"),e[r[0]]=r[1]);return e},iY=/*#__PURE__*/function(t){(0,ex._)(r,t);var e=(0,eC._)(r);function r(){var t;return(0,eg._)(this,r),(t=e.call(this)).customParsers=[],t.tagMappers=[],(0,eT._)(t)}return(0,ev._)(r,[{key:"push",value:function(t){var e,r,n=this;if(0!==(t=t.trim()).length){if("#"!==t[0]){this.trigger("data",{type:"uri",uri:t});return}this.tagMappers.reduce(function(e,r){var n=r(t);return n===t?e:e.concat([n])},[t]).forEach(function(t){for(var s=0;s0&&(u.duration=t.duration),0===t.duration&&(u.duration=.01,this.trigger("info",{message:"updating zero segment duration to a small value"})),this.manifest.segments=o},key:function(){if(!t.attributes){this.trigger("warn",{message:"ignoring key declaration without attribute list"});return}if("NONE"===t.attributes.METHOD){s=null;return}if(!t.attributes.URI){this.trigger("warn",{message:"ignoring key declaration without URI"});return}if("com.apple.streamingkeydelivery"===t.attributes.KEYFORMAT){this.manifest.contentProtection=this.manifest.contentProtection||{},this.manifest.contentProtection["com.apple.fps.1_0"]={attributes:t.attributes};return}if("com.microsoft.playready"===t.attributes.KEYFORMAT){this.manifest.contentProtection=this.manifest.contentProtection||{},this.manifest.contentProtection["com.microsoft.playready"]={uri:t.attributes.URI};return}if("urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed"===t.attributes.KEYFORMAT){if(-1===["SAMPLE-AES","SAMPLE-AES-CTR","SAMPLE-AES-CENC"].indexOf(t.attributes.METHOD)){this.trigger("warn",{message:"invalid key method provided for Widevine"});return}if("SAMPLE-AES-CENC"===t.attributes.METHOD&&this.trigger("warn",{message:"SAMPLE-AES-CENC is deprecated, please use SAMPLE-AES-CTR instead"}),"data:text/plain;base64,"!==t.attributes.URI.substring(0,23)){this.trigger("warn",{message:"invalid key URI provided for Widevine"});return}if(!(t.attributes.KEYID&&"0x"===t.attributes.KEYID.substring(0,2))){this.trigger("warn",{message:"invalid key ID provided for Widevine"});return}this.manifest.contentProtection=this.manifest.contentProtection||{},this.manifest.contentProtection["com.widevine.alpha"]={attributes:{schemeIdUri:t.attributes.KEYFORMAT,keyId:t.attributes.KEYID.substring(2)},pssh:function(t){for(var e=iM.atob?iM.atob(t):eF.from(t,"base64").toString("binary"),r=new Uint8Array(e.length),n=0;n(0,ek._)(t.attributes.IV)&&(s.iv=t.attributes.IV)},"media-sequence":function(){if(!isFinite(t.number)){this.trigger("warn",{message:"ignoring invalid media sequence: "+t.number});return}this.manifest.mediaSequence=t.number},"discontinuity-sequence":function(){if(!isFinite(t.number)){this.trigger("warn",{message:"ignoring invalid discontinuity sequence: "+t.number});return}this.manifest.discontinuitySequence=t.number,f=t.number},"playlist-type":function(){if(!/VOD|EVENT/.test(t.playlistType)){this.trigger("warn",{message:"ignoring unknown playlist type: "+t.playlist});return}this.manifest.playlistType=t.playlistType},map:function(){n={},t.uri&&(n.uri=t.uri),t.byterange&&(n.byterange=t.byterange),s&&(n.key=s)},"stream-inf":function(){if(this.manifest.playlists=o,this.manifest.mediaGroups=this.manifest.mediaGroups||h,!t.attributes){this.trigger("warn",{message:"ignoring empty stream-inf attributes"});return}u.attributes||(u.attributes={}),iO(u.attributes,t.attributes)},media:function(){if(this.manifest.mediaGroups=this.manifest.mediaGroups||h,!(t.attributes&&t.attributes.TYPE&&t.attributes["GROUP-ID"]&&t.attributes.NAME)){this.trigger("warn",{message:"ignoring incomplete or missing media group"});return}var n=this.manifest.mediaGroups[t.attributes.TYPE];n[t.attributes["GROUP-ID"]]=n[t.attributes["GROUP-ID"]]||{},e=n[t.attributes["GROUP-ID"]],(r={default:/yes/i.test(t.attributes.DEFAULT)}).default?r.autoselect=!0:r.autoselect=/yes/i.test(t.attributes.AUTOSELECT),t.attributes.LANGUAGE&&(r.language=t.attributes.LANGUAGE),t.attributes.URI&&(r.uri=t.attributes.URI),t.attributes["INSTREAM-ID"]&&(r.instreamId=t.attributes["INSTREAM-ID"]),t.attributes.CHARACTERISTICS&&(r.characteristics=t.attributes.CHARACTERISTICS),t.attributes.FORCED&&(r.forced=/yes/i.test(t.attributes.FORCED)),e[t.attributes.NAME]=r},discontinuity:function(){f+=1,u.discontinuity=!0,this.manifest.discontinuityStarts.push(o.length)},"program-date-time":function(){(0,ek._)(this.manifest.dateTimeString)>"u"&&(this.manifest.dateTimeString=t.dateTimeString,this.manifest.dateTimeObject=t.dateTimeObject),u.dateTimeString=t.dateTimeString,u.dateTimeObject=t.dateTimeObject;var e=this.lastProgramDateTime;this.lastProgramDateTime=new Date(t.dateTimeString).getTime(),null===e&&this.manifest.segments.reduceRight(function(t,e){return e.programDateTime=t-1e3*e.duration,e.programDateTime},this.lastProgramDateTime)},targetduration:function(){if(!isFinite(t.duration)||t.duration<0){this.trigger("warn",{message:"ignoring invalid target duration: "+t.duration});return}this.manifest.targetDuration=t.duration,iV.call(this,this.manifest)},start:function(){if(!t.attributes||isNaN(t.attributes["TIME-OFFSET"])){this.trigger("warn",{message:"ignoring start declaration without appropriate attribute list"});return}this.manifest.start={timeOffset:t.attributes["TIME-OFFSET"],precise:t.attributes.PRECISE}},"cue-out":function(){u.cueOut=t.data},"cue-out-cont":function(){u.cueOutCont=t.data},"cue-in":function(){u.cueIn=t.data},skip:function(){this.manifest.skip=iW(t.attributes),this.warnOnMissingAttributes_("#EXT-X-SKIP",t.attributes,["SKIPPED-SEGMENTS"])},part:function(){var e=this;l=!0;var r=this.manifest.segments.length,n=iW(t.attributes);u.parts=u.parts||[],u.parts.push(n),n.byterange&&(n.byterange.hasOwnProperty("offset")||(n.byterange.offset=p),p=n.byterange.offset+n.byterange.length);var s=u.parts.length-1;this.warnOnMissingAttributes_("#EXT-X-PART #".concat(s," for segment #").concat(r),t.attributes,["URI","DURATION"]),this.manifest.renditionReports&&this.manifest.renditionReports.forEach(function(t,r){t.hasOwnProperty("lastPart")||e.trigger("warn",{message:"#EXT-X-RENDITION-REPORT #".concat(r," lacks required attribute(s): LAST-PART")})})},"server-control":function(){var e=this.manifest.serverControl=iW(t.attributes);e.hasOwnProperty("canBlockReload")||(e.canBlockReload=!1,this.trigger("info",{message:"#EXT-X-SERVER-CONTROL defaulting CAN-BLOCK-RELOAD to false"})),iV.call(this,this.manifest),e.canSkipDateranges&&!e.hasOwnProperty("canSkipUntil")&&this.trigger("warn",{message:"#EXT-X-SERVER-CONTROL lacks required attribute CAN-SKIP-UNTIL which is required when CAN-SKIP-DATERANGES is set"})},"preload-hint":function(){var e=this.manifest.segments.length,r=iW(t.attributes),n=r.type&&"PART"===r.type;u.preloadHints=u.preloadHints||[],u.preloadHints.push(r),r.byterange&&(r.byterange.hasOwnProperty("offset")||(r.byterange.offset=n?p:0,n&&(p=r.byterange.offset+r.byterange.length)));var s=u.preloadHints.length-1;if(this.warnOnMissingAttributes_("#EXT-X-PRELOAD-HINT #".concat(s," for segment #").concat(e),t.attributes,["TYPE","URI"]),r.type)for(var a=0;a1&&void 0!==u[1]?u[1]:10,n=(r=new iH).push,[4,fetch(t)];case 1:return[4,h.sent().text()];case 2:return n.apply(r,[h.sent()]),r.end(),s=r.manifest.segments.reduce(function(t,e){var r;return t[e.map.uri]=null!==(r=t[e.map.uri])&&void 0!==r?r:[],t[e.map.uri].push(e),t},{}),a=new URL(t,location.href),o={},[2,{load:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1/0,r={},n=0,o=0,u=!0,h=!1,f=void 0;try{for(var d,p=Object.entries(s)[Symbol.iterator]();!(u=(d=p.next()).done);u=!0){for(var m=(0,eA._)(d.value,2),_=m[0],y=m[1],g=0,v=[],b=-1,w=-1,S=0;St/1e6&&(b=S,n=(g-x.duration)*1e6),b>-1&&-1===w&&g>=e/1e6){w=S+1,o=1e6*g;break}}e>=1e6*g&&(w=y.length,o=1e6*g),w>b&&(v=v.concat(y.slice(b,w))),v.length>0&&(r[_]={actualStartTime:n,actualEndTime:o,segments:v})}}catch(t){h=!0,f=t}finally{try{u||null==p.return||p.return()}finally{if(h)throw f}}return 0===Object.keys(r).length?null:Object.entries(r).map(function(t){var e,r,n=(0,eA._)(t,2),s=n[0],o=n[1],u=o.actualStartTime,h=o.actualEndTime,f=o.segments,d=0,p=new iw;return{actualStartTime:u,actualEndTime:h,on:p.on,stream:new ReadableStream({start:(e=(0,ey._)(function(t){var e,r;return(0,eB._)(this,function(n){switch(n.label){case 0:return function(t,e,r){l.apply(this,arguments)}(f,t,p),e=t.enqueue,r=Uint8Array.bind,[4,fetch(new URL(s,a).href)];case 1:return[4,n.sent().arrayBuffer()];case 2:return e.apply(t,[new(r.apply(Uint8Array,[void 0,n.sent()]))]),[2]}})}),function(t){return e.apply(this,arguments)}),pull:(r=(0,ey._)(function(t){var e,r,n;return(0,eB._)(this,function(s){switch(s.label){case 0:return e=new URL(f[d].uri,a).href,r=t.enqueue,n=Uint8Array.bind,[4,function(t){return c.apply(this,arguments)}(e)];case 1:return r.apply(t,[new(n.apply(Uint8Array,[void 0,s.sent()]))]),(d+=1)>=f.length&&(t.close(),p.destroy()),[2]}})}),function(t){return r.apply(this,arguments)})})}})}}]}})})).apply(this,arguments)}var iK=[-1,1,-1,-1,1,-1,1,-1,1,1,-1,1],iq=[0,1,0,0,1,0,1,0,1,1,0,1];function iQ(t,e,r){var n=t.createShader(e);if(t.shaderSource(n,r),t.compileShader(n),!t.getShaderParameter(n,t.COMPILE_STATUS)){var s=t.getShaderInfoLog(n);throw t.deleteShader(n),Error(null!=s?s:"An error occurred compiling the shaders")}return n}var iJ=function(t){var e,r=null,n=null,s=t.keyColor,a=null;return e=(0,ey._)(function(e){var o,u,l;return(0,eB._)(this,function(c){var h,f,d,p,m;return((null==r||null==n||null==a)&&(null==s&&((h=new OffscreenCanvas(1,1).getContext("2d")).drawImage(e,0,0),f=h.getImageData(0,0,1,1),s=[(d=(0,eA._)(f.data,3))[0],d[1],d[2]]),r=(o=function(t){var e="document"in globalThis?globalThis.document.createElement("canvas"):new OffscreenCanvas(t.width,t.height);e.width=t.width,e.height=t.height;var r=e.getContext("webgl2",{premultipliedAlpha:!1,alpha:!0});if(null==r)throw Error("Cant create gl context");var n=function(t,e,r){var n,s=iQ(t,t.VERTEX_SHADER,e),a=iQ(t,t.FRAGMENT_SHADER,r),o=t.createProgram();if(t.attachShader(o,s),t.attachShader(o,a),t.linkProgram(o),!t.getProgramParameter(o,t.LINK_STATUS))throw Error(null!==(n=t.getProgramInfoLog(o))&&void 0!==n?n:"Unable to initialize the shader program");return o}(r,"#version 300 es\n layout (location = 0) in vec4 a_position;\n layout (location = 1) in vec2 a_texCoord;\n out vec2 v_texCoord;\n void main () {\n gl_Position = a_position;\n v_texCoord = a_texCoord;\n }\n","#version 300 es\nprecision mediump float;\nout vec4 FragColor;\nin vec2 v_texCoord;\n\nuniform sampler2D frameTexture;\nuniform vec3 keyColor;\n\n// 色度的相似度计算\nuniform float similarity;\n// 透明度的平滑度计算\nuniform float smoothness;\n// 降低绿幕饱和度,提高抠图准确度\nuniform float spill;\n\nvec2 RGBtoUV(vec3 rgb) {\n return vec2(\n rgb.r * -0.169 + rgb.g * -0.331 + rgb.b * 0.5 + 0.5,\n rgb.r * 0.5 + rgb.g * -0.419 + rgb.b * -0.081 + 0.5\n );\n}\n\nvoid main() {\n // 获取当前像素的rgba值\n vec4 rgba = texture(frameTexture, v_texCoord);\n // 计算当前像素与绿幕像素的色度差值\n vec2 chromaVec = RGBtoUV(rgba.rgb) - RGBtoUV(keyColor);\n // 计算当前像素与绿幕像素的色度距离(向量长度), 越相像则色度距离越小\n float chromaDist = sqrt(dot(chromaVec, chromaVec));\n // 设置了一个相似度阈值,baseMask为负,则表明是绿幕,为正则表明不是绿幕\n float baseMask = chromaDist - similarity;\n // 如果baseMask为负数,fullMask等于0;baseMask为正数,越大,则透明度越低\n float fullMask = pow(clamp(baseMask / smoothness, 0., 1.), 1.5);\n rgba.a = fullMask; // 设置透明度\n // 如果baseMask为负数,spillVal等于0;baseMask为整数,越小,饱和度越低\n float spillVal = pow(clamp(baseMask / spill, 0., 1.), 1.5);\n float desat = clamp(rgba.r * 0.2126 + rgba.g * 0.7152 + rgba.b * 0.0722, 0., 1.); // 计算当前像素的灰度值\n rgba.rgb = mix(vec3(desat, desat, desat), rgba.rgb, spillVal);\n FragColor = rgba;\n}\n");r.useProgram(n),r.uniform3fv(r.getUniformLocation(n,"keyColor"),t.keyColor.map(function(t){return t/255})),r.uniform1f(r.getUniformLocation(n,"similarity"),t.similarity),r.uniform1f(r.getUniformLocation(n,"smoothness"),t.smoothness),r.uniform1f(r.getUniformLocation(n,"spill"),t.spill);var s=r.createBuffer();r.bindBuffer(r.ARRAY_BUFFER,s),r.bufferData(r.ARRAY_BUFFER,new Float32Array(iK),r.STATIC_DRAW);var a=r.getAttribLocation(n,"a_position");r.vertexAttribPointer(a,2,r.FLOAT,!1,2*Float32Array.BYTES_PER_ELEMENT,0),r.enableVertexAttribArray(a);var o=r.createBuffer();r.bindBuffer(r.ARRAY_BUFFER,o),r.bufferData(r.ARRAY_BUFFER,new Float32Array(iq),r.STATIC_DRAW);var u=r.getAttribLocation(n,"a_texCoord");return r.vertexAttribPointer(u,2,r.FLOAT,!1,2*Float32Array.BYTES_PER_ELEMENT,0),r.enableVertexAttribArray(u),r.pixelStorei(r.UNPACK_FLIP_Y_WEBGL,1),{cvs:e,gl:r}}((0,eE._)((0,eU._)((0,eE._)({},e instanceof VideoFrame?{width:e.codedWidth,height:e.codedHeight}:{width:e.width,height:e.height}),{keyColor:s}),t))).cvs,a=function(t){var e=t.createTexture();if(null==e)throw Error("Create WebGL texture error");t.bindTexture(t.TEXTURE_2D,e);var r=t.RGBA,n=t.RGBA,s=t.UNSIGNED_BYTE,a=new Uint8Array([0,0,255,255]);return t.texImage2D(t.TEXTURE_2D,0,r,1,1,0,n,s,a),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.LINEAR),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.LINEAR),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),e}(n=o.gl)),p=n,m=a,p.bindTexture(p.TEXTURE_2D,m),p.texImage2D(p.TEXTURE_2D,0,p.RGBA,p.RGBA,p.UNSIGNED_BYTE,e),p.drawArrays(p.TRIANGLES,0,6),null!=globalThis.VideoFrame&&e instanceof globalThis.VideoFrame)?(l=new VideoFrame(r,{alpha:"keep",timestamp:e.timestamp,duration:null!==(u=e.duration)&&void 0!==u?u:void 0}),[2,(e.close(),l)]):[2,createImageBitmap(r,{imageOrientation:e instanceof ImageBitmap?"flipY":"none"})]})}),function(t){return e.apply(this,arguments)}},i$=/*#__PURE__*/function(){function t(e,r,n,s,a){(0,eg._)(this,t),eN(this,tK),eN(this,tY,new iw),eL(this,"on",eM(this,tY).on),eN(this,tW,0),eN(this,tV,0),eN(this,tH,0),eN(this,tX,0),eN(this,tZ,0),eL(this,"master",null),eL(this,"fixedAspectRatio",!1),this.x=null!=e?e:0,this.y=null!=r?r:0,this.w=null!=n?n:0,this.h=null!=s?s:0,this.master=null!=a?a:null}return(0,ev._)(t,[{key:"x",get:function(){return eM(this,tW)},set:function(t){eG(this,tK,tq).call(this,"x",t)}},{key:"y",get:function(){return eM(this,tV)},set:function(t){eG(this,tK,tq).call(this,"y",t)}},{key:"w",get:function(){return eM(this,tH)},set:function(t){eG(this,tK,tq).call(this,"w",t)}},{key:"h",get:function(){return eM(this,tX)},set:function(t){eG(this,tK,tq).call(this,"h",t)}},{key:"angle",get:function(){return eM(this,tZ)},set:function(t){eG(this,tK,tq).call(this,"angle",t)}},{key:"center",get:function(){var t=this.x,e=this.y;return{x:t+this.w/2,y:e+this.h/2}}},{key:"ctrls",get:function(){var e=this.w,r=this.h,n=t.CTRL_SIZE,s=n/2,a=e/2,o=r/2,u=1.5*n,l=u/2;return(0,eU._)((0,eE._)({},this.fixedAspectRatio?{}:{t:new t(-s,-o-s,n,n,this),b:new t(-s,o-s,n,n,this),l:new t(-a-s,-s,n,n,this),r:new t(a-s,-s,n,n,this)}),{lt:new t(-a-s,-o-s,n,n,this),lb:new t(-a-s,o-s,n,n,this),rt:new t(a-s,-o-s,n,n,this),rb:new t(a-s,o-s,n,n,this),rotate:new t(-l,-o-2*n-l,u,u,this)})}},{key:"clone",value:function(){var e=new t(this.x,this.y,this.w,this.h,this.master);return e.angle=this.angle,e.fixedAspectRatio=this.fixedAspectRatio,e}},{key:"checkHit",value:function(t,e){var r,n,s=this.angle,a=this.center,o=this.x,u=this.y,l=this.w,c=this.h,h=this.master,f=null!==(r=null==h?void 0:h.center)&&void 0!==r?r:a,d=null!==(n=null==h?void 0:h.angle)&&void 0!==n?n:s;null==h&&(o-=f.x,u-=f.y);var p=t-f.x,m=e-f.y,_=p,y=m;return 0!==d&&(_=p*Math.cos(d)+m*Math.sin(d),y=m*Math.cos(d)-p*Math.sin(d)),!(_o+l||yu+c)}}]),t}();tY=new WeakMap,tW=new WeakMap,tV=new WeakMap,tH=new WeakMap,tX=new WeakMap,tZ=new WeakMap,tK=new WeakSet,tq=function(t,e){var r=this[t]!==e;switch(t){case"x":ej(this,tW,e);break;case"y":ej(this,tV,e);break;case"w":ej(this,tH,e);break;case"h":ej(this,tX,e);break;case"angle":ej(this,tZ,e)}r&&eM(this,tY).emit("propsChange",(0,eb._)({},t,e))},eL(i$,"CTRL_SIZE",16),eL(i$,"CTRL_KEYS",["t","b","l","r","lt","lb","rt","rb","rotate"]);var i0=i$,i1=/*#__PURE__*/function(){function t(){var e=this;(0,eg._)(this,t),eL(this,"rect",new i0),eL(this,"time",{offset:0,duration:0}),eL(this,"visible",!0),eN(this,tQ,new iw),eL(this,"on",eM(this,tQ).on),eN(this,tJ,0),eL(this,"opacity",1),eL(this,"flip",null),eN(this,t$,null),eN(this,t0,null),eL(this,"ready",Promise.resolve()),this.rect.on("propsChange",function(t){eM(e,tQ).emit("propsChange",{rect:t})})}return(0,ev._)(t,[{key:"zIndex",get:function(){return eM(this,tJ)},set:function(t){var e=eM(this,tJ)!==t;ej(this,tJ,t),e&&eM(this,tQ).emit("propsChange",{zIndex:t})}},{key:"_render",value:function(t){var e=this.rect,r=e.center,n=e.angle;t.setTransform("horizontal"===this.flip?-1:1,0,0,"vertical"===this.flip?-1:1,r.x,r.y),t.rotate((null==this.flip?1:-1)*n),t.globalAlpha=this.opacity}},{key:"setAnimation",value:function(t,e){var r,n;ej(this,t$,Object.entries(t).map(function(t){var e,r=(0,eA._)(t,2),n=r[0],s=r[1],a=null!==(e=({from:0,to:100})[n])&&void 0!==e?e:Number(n.slice(0,-1));if(isNaN(a)||a>100||a<0)throw Error("keyFrame must between 0~100");return[a/100,s]})),ej(this,t0,Object.assign({},eM(this,t0),{duration:1e6*e.duration,delay:(null!==(r=e.delay)&&void 0!==r?r:0)*1e6,iterCount:null!==(n=e.iterCount)&&void 0!==n?n:1/0}))}},{key:"animate",value:function(t){if(null!=eM(this,t$)&&null!=eM(this,t0)&&!(t=r.iterCount)return{};var n=t%r.duration,s=t===r.duration?1:n/r.duration,a=e.findIndex(function(t){return t[0]>=s});if(-1===a)return{};var o=e[a-1],u=e[a],l=u[1];if(null==o)return l;var c=o[1],h={},f=(s-o[0])/(u[0]-o[0]);for(var d in l)null!=c[d]&&(h[d]=(l[d]-c[d])*f+c[d]);return h}(t,eM(this,t$),eM(this,t0));for(var r in e)switch(r){case"opacity":this.opacity=e[r];break;case"x":case"y":case"w":case"h":case"angle":this.rect[r]=e[r]}}}},{key:"copyStateTo",value:function(t){ej(t,t$,eM(this,t$)),ej(t,t0,eM(this,t0)),t.visible=this.visible,t.zIndex=this.zIndex,t.opacity=this.opacity,t.flip=this.flip,t.rect=this.rect.clone(),t.time=(0,eE._)({},this.time)}},{key:"destroy",value:function(){eM(this,tQ).destroy()}}]),t}();tQ=new WeakMap,tJ=new WeakMap,t$=new WeakMap,t0=new WeakMap;var i2=/*#__PURE__*/function(t){(0,ex._)(r,t);var e=(0,eC._)(r);function r(t){var n;return(0,eg._)(this,r),n=e.call(this),eN((0,em._)(n),t1),eN((0,em._)(n),t2,null),eN((0,em._)(n),t3,!1),ej((0,em._)(n),t1,t),n.ready=t.ready.then(function(t){var e=t.width,r=t.height,s=t.duration;n.rect.w=0===n.rect.w?e:n.rect.w,n.rect.h=0===n.rect.h?r:n.rect.h,n.time.duration=0===n.time.duration?s:n.time.duration}),n}return(0,ev._)(r,[{key:"offscreenRender",value:function(t,e){var n=this,s=this;return(0,ey._)(function(){var a,o,u,l,c,h,f,d;return(0,eB._)(this,function(p){switch(p.label){case 0:return s.animate(e),(0,ew._)((0,eS._)(r.prototype),"_render",n).call(s,t),u=(o=s.rect).w,l=o.h,[4,eM(s,t1).tick(e)];case 1:if(h=(c=p.sent()).video,f=c.audio,"done"===c.state)return[2,{audio:null!=f?f:[],done:!0}];return[2,(null!=(d=null!=h?h:eM(s,t2))&&t.drawImage(d,-u/2,-l/2,u,l),null!=h&&(null==(a=eM(s,t2))||a.close(),ej(s,t2,h)),{audio:null!=f?f:[],done:!1})]}})})()}},{key:"clone",value:function(){var t=this;return(0,ey._)(function(){var e,n;return(0,eB._)(this,function(s){switch(s.label){case 0:return n=r.bind,[4,eM(t,t1).clone()];case 1:return[4,(e=new(n.apply(r,[void 0,s.sent()]))).ready];case 2:return[2,(s.sent(),t.copyStateTo(e),e)]}})})()}},{key:"destroy",value:function(){var t;eM(this,t3)||(ej(this,t3,!0),rw.info("OffscreenSprite destroy"),(0,ew._)((0,eS._)(r.prototype),"destroy",this).call(this),null==(t=eM(this,t2))||t.close(),ej(this,t2,null),eM(this,t1).destroy())}}]),r}(i1);t1=new WeakMap,t2=new WeakMap,t3=new WeakMap;var i3=i2,i4=/*#__PURE__*/function(t){(0,ex._)(r,t);var e=(0,eC._)(r);function r(t){var n;return(0,eg._)(this,r),n=e.call(this),eN((0,em._)(n),t7),eN((0,em._)(n),t4),eN((0,em._)(n),t6,null),eN((0,em._)(n),t8,[]),eN((0,em._)(n),t5,!1),eN((0,em._)(n),et,-1),eN((0,em._)(n),ee,!1),ej((0,em._)(n),t4,t),n.ready=t.ready.then(function(t){var e=t.width,r=t.height,s=t.duration;n.rect.w=0===n.rect.w?e:n.rect.w,n.rect.h=0===n.rect.h?r:n.rect.h,n.time.duration=0===n.time.duration?s:n.time.duration}),n}return(0,ev._)(r,[{key:"getClip",value:function(){return eM(this,t4)}},{key:"preFrame",value:function(t){eG(this,t7,t9).call(this,t)}},{key:"render",value:function(t,e){this.animate(e),(0,ew._)((0,eS._)(r.prototype),"_render",this).call(this,t);var n=this.rect,s=n.w,a=n.h;eM(this,et)!==e&&eG(this,t7,t9).call(this,e),ej(this,et,e);var o=eM(this,t8);ej(this,t8,[]);var u=eM(this,t6);return null!=u&&t.drawImage(u,-s/2,-a/2,s,a),{audio:o}}},{key:"destroy",value:function(){var t;eM(this,ee)||(ej(this,ee,!0),rw.info("VisibleSprite destroy"),(0,ew._)((0,eS._)(r.prototype),"destroy",this).call(this),null==(t=eM(this,t6))||t.close(),ej(this,t6,null),eM(this,t4).destroy())}}]),r}(i1);t4=new WeakMap,t6=new WeakMap,t8=new WeakMap,t5=new WeakMap,t7=new WeakSet,t9=function(t){var e=this;eM(this,t5)||(ej(this,t5,!0),eM(this,t4).tick(t).then(function(t){var r,n=t.video,s=t.audio;null!=n&&(null==(r=eM(e,t6))||r.close(),ej(e,t6,null!=n?n:null)),ej(e,t8,null!=s?s:[])}).finally(function(){ej(e,t5,!1)}))},et=new WeakMap,ee=new WeakMap;var i6=0;function i8(t){return i5.apply(this,arguments)}function i5(){return(i5=(0,ey._)(function(t){return(0,eB._)(this,function(e){switch(e.label){case 0:if(!(t()>50))return[3,3];return[4,rH(15)];case 1:return e.sent(),[4,i8(t)];case 2:e.sent(),e.label=3;case 3:return[2]}})})).apply(this,arguments)}var i7=/*#__PURE__*/function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};(0,eg._)(this,t),eN(this,eh),eN(this,er,rw.create("id:".concat(i6++,","))),eN(this,ei,!1),eN(this,en,[]),eN(this,es),eN(this,ea),eN(this,eo,null),eN(this,eu),eN(this,el),eN(this,ec,new iw),eL(this,"on",eM(this,ec).on);var r=e.width,n=void 0===r?0:r,s=e.height,a=void 0===s?0:s;ej(this,es,new OffscreenCanvas(n,a));var o=eM(this,es).getContext("2d",{alpha:!1});if(null==o)throw Error("Can not create 2d offscreen context");ej(this,ea,o),ej(this,eu,Object.assign({bgColor:"#000",width:0,height:0,videoCodec:"avc1.42E032",audio:!0,bitrate:5e6,metaDataTags:null},e)),ej(this,el,n*a>0)}return(0,ev._)(t,[{key:"addSprite",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=this;return(0,ey._)(function(){var n,s;return(0,eB._)(this,function(a){switch(a.label){case 0:return eM(r,er).info("Combinator add sprite",t),[4,t.clone()];case 1:return n=a.sent(),eM(r,er).info("Combinator add sprite ready",t),eM(r,en).push(Object.assign(n,{main:null!==(s=e.main)&&void 0!==s&&s,expired:!1})),eM(r,en).sort(function(t,e){return t.zIndex-e.zIndex}),[2]}})})()}},{key:"output",value:function(){var t,e=this;if(0===eM(this,en).length)throw Error("No sprite added");var r=eM(this,en).find(function(t){return t.main}),n=null!=r?r.time.offset+r.time.duration:(t=Math).max.apply(t,(0,eI._)(eM(this,en).map(function(t){return t.time.offset+t.time.duration})));if(n===1/0)throw Error("Unable to determine the end time, please specify a main sprite, or limit the duration of ImgClip, AudioCli");-1===n&&eM(this,er).warn("Unable to determine the end time, process value don't update"),eM(this,er).info("start combinate video, maxTime:".concat(n));var s=eG(this,eh,ef).call(this,n),a=performance.now(),o=this,u=eG(this,eh,ed).call(this,s,n,{onProgress:function(t){eM(e,er).debug("OutputProgress:",t),eM(e,ec).emit("OutputProgress",t)},onEnded:/*#__PURE__*/(0,ey._)(function(){return(0,eB._)(this,function(t){switch(t.label){case 0:return[4,s.flush()];case 1:return t.sent(),eM(o,er).info("===== output ended =====, cost:",performance.now()-a),eM(o,ec).emit("OutputProgress",1),o.destroy(),[2]}})}),onError:function(t){eM(e,ec).emit("error",t),h(t),e.destroy()}});ej(this,eo,function(){u(),s.close(),h()});var l=ik(s.mp4file,500,this.destroy),c=l.stream,h=l.stop;return c}},{key:"destroy",value:function(){var t;eM(this,ei)||(ej(this,ei,!0),null==(t=eM(this,eo))||t.call(this),eM(this,ec).destroy())}}],[{key:"isSupported",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{videoCodec:"avc1.42E032"};return(0,ey._)(function(){var e,r,n;return(0,eB._)(this,function(s){switch(s.label){case 0:if(!(n=null!=self.OffscreenCanvas&&null!=self.VideoEncoder&&null!=self.VideoDecoder&&null!=self.VideoFrame&&null!=self.AudioEncoder&&null!=self.AudioDecoder&&null!=self.AudioData))return[3,2];return[4,self.VideoEncoder.isConfigSupported({codec:t.videoCodec,width:1280,height:720})];case 1:n=null!==(e=s.sent().supported)&&void 0!==e&&e,s.label=2;case 2:if(!(r=n))return[3,4];return[4,self.AudioEncoder.isConfigSupported({codec:r$.codec,sampleRate:r$.sampleRate,numberOfChannels:r$.channelCount})];case 3:r=s.sent().supported,s.label=4;case 4:return[2,r]}})})()}}]),t}();er=new WeakMap,ei=new WeakMap,en=new WeakMap,es=new WeakMap,ea=new WeakMap,eo=new WeakMap,eu=new WeakMap,el=new WeakMap,ec=new WeakMap,eh=new WeakSet,ef=function(t){var e=eM(this,eu),r=e.width,n=e.height,s=e.videoCodec,a=e.bitrate,o=e.audio,u=e.metaDataTags;return iA({video:eM(this,el)?{width:r,height:n,expectFPS:30,codec:s,bitrate:a,__unsafe_hardwareAcceleration__:eM(this,eu).__unsafe_hardwareAcceleration__}:null,audio:!1===o?null:{codec:"aac",sampleRate:r$.sampleRate,channelCount:r$.channelCount},duration:t,metaDataTags:u})},ed=function(t,e,r){var n=this,s=r.onProgress,a=r.onEnded,o=r.onError,u=0,l=!1,c=null,h=this;(0,ey._)(function(){var r,n,s,o,f,p,m,_;return(0,eB._)(this,function(y){switch(y.label){case 0:r=function(){var r,s,_,y,g,v,b,w,S,x,E,U,T;return(0,eB._)(this,function(A){switch(A.label){case 0:if(null!=c)return[2,{v:void 0}];if(!(l||-1!==e&&m>e||0===eM(h,en).length))return[3,2];return d(),[4,a()];case 1:return A.sent(),[2,{v:void 0}];case 2:u=m/e,p.fillStyle=eM(h,eu).bgColor,p.fillRect(0,0,o,f),r=[],s=!0,_=!1,y=void 0,A.label=3;case 3:A.trys.push([3,10,11,12]),g=eM(h,en)[Symbol.iterator](),A.label=4;case 4:if((s=(v=g.next()).done)||(b=v.value,l))return[3,9];if(m0)||!(m>b.time.offset+b.time.duration))&&!x)return[3,8];if(!b.main)return[3,7];return d(),[4,a()];case 6:return A.sent(),[2,{v:void 0}];case 7:b.destroy(),b.expired=!0,A.label=8;case 8:return s=!0,[3,4];case 9:return[3,12];case 10:return E=A.sent(),_=!0,y=E,[3,12];case 11:try{s||null==g.return||g.return()}finally{if(_)throw y}return[7];case 12:var I,k,C;if(l)return[2,{v:void 0}];return!1!==eM(h,eu).audio&&(r.flat().every(function(t){return 0===t.length})?t.encodeAudio((I=m,C=Math.floor(33e3*(k=r$.sampleRate)/1e6),new AudioData({timestamp:I,numberOfChannels:r$.channelCount,numberOfFrames:C,sampleRate:k,format:"f32-planar",data:new Float32Array(2*C)}))):(U=rY(r),t.encodeAudio(new AudioData({timestamp:m,numberOfChannels:r$.channelCount,numberOfFrames:U.length/r$.channelCount,sampleRate:r$.sampleRate,format:"f32-planar",data:U})))),eM(h,el)&&(T=new VideoFrame(eM(h,es),{duration:33e3,timestamp:m}),t.encodeVideo(T,{keyFrame:n%150==0}),p.resetTransform(),p.clearRect(0,0,o,f),n+=1),m+=33e3,[4,i8(t.getEncodeQueueSize)];case 13:return A.sent(),[2]}})},n=0,o=(s=eM(h,es)).width,f=s.height,p=eM(h,ea),m=0,y.label=1;case 1:return[5,(0,eP._)(r())];case 2:if(_=y.sent(),"object"===(0,ek._)(_))return[2,_.v];y.label=3;case 3:return[3,1];case 4:return[2]}})})().catch(function(t){c=t,eM(n,er).error(t),d(),o(t)});var f=setInterval(function(){s(u)},500),d=function(){l||(l=!0,clearInterval(f),eM(n,en).forEach(function(t){return t.destroy()}))};return d}},{"@swc/helpers/_/_assert_this_initialized":"jgeid","@swc/helpers/_/_async_iterator":"kdyGG","@swc/helpers/_/_async_to_generator":"eONSn","@swc/helpers/_/_class_call_check":"9iJMm","@swc/helpers/_/_create_class":"21IOT","@swc/helpers/_/_define_property":"3NGsL","@swc/helpers/_/_get":"hMhPd","@swc/helpers/_/_get_prototype_of":"dAKgy","@swc/helpers/_/_inherits":"3pfgY","@swc/helpers/_/_object_spread":"9agdF","@swc/helpers/_/_object_spread_props":"gJNH2","@swc/helpers/_/_possible_constructor_return":"iVdhB","@swc/helpers/_/_sliced_to_array":"uVQht","@swc/helpers/_/_to_consumable_array":"iwLF0","@swc/helpers/_/_type_of":"felZi","@swc/helpers/_/_create_super":"86fte","@swc/helpers/_/_ts_generator":"6Xyd0","@swc/helpers/_/_ts_values":"1Y0br","381e774176803655":"gp9kd","@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}],jgeid:[function(t,e,r){var n=t("@parcel/transformer-js/src/esmodule-helpers.js");function s(t){if(void 0===t)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return t}n.defineInteropFlag(r),n.export(r,"_",function(){return s})},{"@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}],kdyGG:[function(t,e,r){var n=t("@parcel/transformer-js/src/esmodule-helpers.js");function s(t){var e,r,n,s=2;for("undefined"!=typeof Symbol&&(r=Symbol.asyncIterator,n=Symbol.iterator);s--;){if(r&&null!=(e=t[r]))return e.call(t);if(n&&null!=(e=t[n]))return new a(e.call(t));r="@@asyncIterator",n="@@iterator"}throw TypeError("Object is not async iterable")}function a(t){function e(t){if(Object(t)!==t)return Promise.reject(TypeError(t+" is not an object."));var e=t.done;return Promise.resolve(t.value).then(function(t){return{value:t,done:e}})}return(a=function(t){this.s=t,this.n=t.next}).prototype={s:null,n:null,next:function(){return e(this.n.apply(this.s,arguments))},return:function(t){var r=this.s.return;return void 0===r?Promise.resolve({value:t,done:!0}):e(r.apply(this.s,arguments))},throw:function(t){var r=this.s.return;return void 0===r?Promise.reject(t):e(r.apply(this.s,arguments))}},new a(t)}n.defineInteropFlag(r),n.export(r,"_",function(){return s})},{"@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}],"9iJMm":[function(t,e,r){var n=t("@parcel/transformer-js/src/esmodule-helpers.js");function s(t,e){if(!(t instanceof e))throw TypeError("Cannot call a class as a function")}n.defineInteropFlag(r),n.export(r,"_",function(){return s})},{"@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}],"21IOT":[function(t,e,r){var n=t("@parcel/transformer-js/src/esmodule-helpers.js");function s(t,e){for(var r=0;rt.length)&&(e=t.length);for(var r=0,n=Array(e);r* @license MIT */var n=t("@swc/helpers/_/_type_of"),s=t("9c62938f1dccc73c"),a=t("aceacb6a4531a9d2"),o="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;function u(t){if(t>2147483647)throw RangeError('The value "'+t+'" is invalid for option "size"');var e=new Uint8Array(t);return Object.setPrototypeOf(e,l.prototype),e}function l(t,e,r){if("number"==typeof t){if("string"==typeof e)throw TypeError('The "string" argument must be of type string. Received type number');return f(t)}return c(t,e,r)}function c(t,e,r){if("string"==typeof t)return function(t,e){if(("string"!=typeof e||""===e)&&(e="utf8"),!l.isEncoding(e))throw TypeError("Unknown encoding: "+e);var r=0|_(t,e),n=u(r),s=n.write(t,e);return s!==r&&(n=n.slice(0,s)),n}(t,e);if(ArrayBuffer.isView(t))return function(t){if(B(t,Uint8Array)){var e=new Uint8Array(t);return p(e.buffer,e.byteOffset,e.byteLength)}return d(t)}(t);if(null==t)throw TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+(void 0===t?"undefined":(0,n._)(t)));if(B(t,ArrayBuffer)||t&&B(t.buffer,ArrayBuffer)||"undefined"!=typeof SharedArrayBuffer&&(B(t,SharedArrayBuffer)||t&&B(t.buffer,SharedArrayBuffer)))return p(t,e,r);if("number"==typeof t)throw TypeError('The "value" argument must not be of type number. Received type number');var s=t.valueOf&&t.valueOf();if(null!=s&&s!==t)return l.from(s,e,r);var a=function(t){if(l.isBuffer(t)){var e,r=0|m(t.length),n=u(r);return 0===n.length||t.copy(n,0,0,r),n}return void 0!==t.length?"number"!=typeof t.length||(e=t.length)!=e?u(0):d(t):"Buffer"===t.type&&Array.isArray(t.data)?d(t.data):void 0}(t);if(a)return a;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof t[Symbol.toPrimitive])return l.from(t[Symbol.toPrimitive]("string"),e,r);throw TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+(void 0===t?"undefined":(0,n._)(t)))}function h(t){if("number"!=typeof t)throw TypeError('"size" argument must be of type number');if(t<0)throw RangeError('The value "'+t+'" is invalid for option "size"')}function f(t){return h(t),u(t<0?0:0|m(t))}function d(t){for(var e=t.length<0?0:0|m(t.length),r=u(e),n=0;n=2147483647)throw RangeError("Attempt to allocate Buffer larger than maximum size: 0x7fffffff bytes");return 0|t}function _(t,e){if(l.isBuffer(t))return t.length;if(ArrayBuffer.isView(t)||B(t,ArrayBuffer))return t.byteLength;if("string"!=typeof t)throw TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+(void 0===t?"undefined":(0,n._)(t)));var r=t.length,s=arguments.length>2&&!0===arguments[2];if(!s&&0===r)return 0;for(var a=!1;;)switch(e){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return I(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return k(t).length;default:if(a)return s?-1:I(t).length;e=(""+e).toLowerCase(),a=!0}}function y(t,e,r){var n,a,o=!1;if((void 0===e||e<0)&&(e=0),e>this.length||((void 0===r||r>this.length)&&(r=this.length),r<=0||(r>>>=0)<=(e>>>=0)))return"";for(t||(t="utf8");;)switch(t){case"hex":return function(t,e,r){var n=t.length;(!e||e<0)&&(e=0),(!r||r<0||r>n)&&(r=n);for(var s="",a=e;a2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),(a=r=+r)!=a&&(r=s?0:t.length-1),r<0&&(r=t.length+r),r>=t.length){if(s)return -1;r=t.length-1}else if(r<0){if(!s)return -1;r=0}if("string"==typeof e&&(e=l.from(e,n)),l.isBuffer(e))return 0===e.length?-1:b(t,e,r,n,s);if("number"==typeof e)return(e&=255,"function"==typeof Uint8Array.prototype.indexOf)?s?Uint8Array.prototype.indexOf.call(t,e,r):Uint8Array.prototype.lastIndexOf.call(t,e,r):b(t,[e],r,n,s);throw TypeError("val must be string, number or Buffer")}function b(t,e,r,n,s){var a,o=1,u=t.length,l=e.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(t.length<2||e.length<2)return -1;o=2,u/=2,l/=2,r/=2}function c(t,e){return 1===o?t[e]:t.readUInt16BE(e*o)}if(s){var h=-1;for(a=r;au&&(r=u-l),a=r;a>=0;a--){for(var f=!0,d=0;d239?4:c>223?3:c>191?2:1;if(s+f<=r)switch(f){case 1:c<128&&(h=c);break;case 2:(192&(a=t[s+1]))==128&&(l=(31&c)<<6|63&a)>127&&(h=l);break;case 3:a=t[s+1],o=t[s+2],(192&a)==128&&(192&o)==128&&(l=(15&c)<<12|(63&a)<<6|63&o)>2047&&(l<55296||l>57343)&&(h=l);break;case 4:a=t[s+1],o=t[s+2],u=t[s+3],(192&a)==128&&(192&o)==128&&(192&u)==128&&(l=(15&c)<<18|(63&a)<<12|(63&o)<<6|63&u)>65535&&l<1114112&&(h=l)}null===h?(h=65533,f=1):h>65535&&(h-=65536,n.push(h>>>10&1023|55296),h=56320|1023&h),n.push(h),s+=f}return function(t){var e=t.length;if(e<=4096)return String.fromCharCode.apply(String,t);for(var r="",n=0;nr)throw RangeError("Trying to access beyond buffer length")}function x(t,e,r,n,s,a){if(!l.isBuffer(t))throw TypeError('"buffer" argument must be a Buffer instance');if(e>s||et.length)throw RangeError("Index out of range")}function E(t,e,r,n,s,a){if(r+n>t.length||r<0)throw RangeError("Index out of range")}function U(t,e,r,n,s){return e=+e,r>>>=0,s||E(t,e,r,4,34028234663852886e22,-34028234663852886e22),a.write(t,e,r,n,23,4),r+4}function T(t,e,r,n,s){return e=+e,r>>>=0,s||E(t,e,r,8,17976931348623157e292,-17976931348623157e292),a.write(t,e,r,n,52,8),r+8}r.Buffer=l,r.SlowBuffer=function(t){return+t!=t&&(t=0),l.alloc(+t)},r.INSPECT_MAX_BYTES=50,r.kMaxLength=2147483647,l.TYPED_ARRAY_SUPPORT=function(){try{var t=new Uint8Array(1),e={foo:function(){return 42}};return Object.setPrototypeOf(e,Uint8Array.prototype),Object.setPrototypeOf(t,e),42===t.foo()}catch(t){return!1}}(),l.TYPED_ARRAY_SUPPORT||"undefined"==typeof console||"function"!=typeof console.error||console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support."),Object.defineProperty(l.prototype,"parent",{enumerable:!0,get:function(){if(l.isBuffer(this))return this.buffer}}),Object.defineProperty(l.prototype,"offset",{enumerable:!0,get:function(){if(l.isBuffer(this))return this.byteOffset}}),l.poolSize=8192,l.from=function(t,e,r){return c(t,e,r)},Object.setPrototypeOf(l.prototype,Uint8Array.prototype),Object.setPrototypeOf(l,Uint8Array),l.alloc=function(t,e,r){return(h(t),t<=0)?u(t):void 0!==e?"string"==typeof r?u(t).fill(e,r):u(t).fill(e):u(t)},l.allocUnsafe=function(t){return f(t)},l.allocUnsafeSlow=function(t){return f(t)},l.isBuffer=function(t){return null!=t&&!0===t._isBuffer&&t!==l.prototype},l.compare=function(t,e){if(B(t,Uint8Array)&&(t=l.from(t,t.offset,t.byteLength)),B(e,Uint8Array)&&(e=l.from(e,e.offset,e.byteLength)),!l.isBuffer(t)||!l.isBuffer(e))throw TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(t===e)return 0;for(var r=t.length,n=e.length,s=0,a=Math.min(r,n);sn.length?l.from(a).copy(n,s):Uint8Array.prototype.set.call(n,a,s);else if(l.isBuffer(a))a.copy(n,s);else throw TypeError('"list" argument must be an Array of Buffers');s+=a.length}return n},l.byteLength=_,l.prototype._isBuffer=!0,l.prototype.swap16=function(){var t=this.length;if(t%2!=0)throw RangeError("Buffer size must be a multiple of 16-bits");for(var e=0;ee&&(t+=" ... "),""},o&&(l.prototype[o]=l.prototype.inspect),l.prototype.compare=function(t,e,r,s,a){if(B(t,Uint8Array)&&(t=l.from(t,t.offset,t.byteLength)),!l.isBuffer(t))throw TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+(void 0===t?"undefined":(0,n._)(t)));if(void 0===e&&(e=0),void 0===r&&(r=t?t.length:0),void 0===s&&(s=0),void 0===a&&(a=this.length),e<0||r>t.length||s<0||a>this.length)throw RangeError("out of range index");if(s>=a&&e>=r)return 0;if(s>=a)return -1;if(e>=r)return 1;if(e>>>=0,r>>>=0,s>>>=0,a>>>=0,this===t)return 0;for(var o=a-s,u=r-e,c=Math.min(o,u),h=this.slice(s,a),f=t.slice(e,r),d=0;d>>=0,isFinite(r)?(r>>>=0,void 0===n&&(n="utf8")):(n=r,r=void 0);else throw Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");var s,a,o,u,l,c,h,f,d=this.length-e;if((void 0===r||r>d)&&(r=d),t.length>0&&(r<0||e<0)||e>this.length)throw RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var p=!1;;)switch(n){case"hex":return function(t,e,r,n){r=Number(r)||0;var s=t.length-r;n?(n=Number(n))>s&&(n=s):n=s;var a=e.length;n>a/2&&(n=a/2);for(var o=0;o>8,s.push(r%256),s.push(n);return s}(t,this.length-h),this,h,f);default:if(p)throw TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),p=!0}},l.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}},l.prototype.slice=function(t,e){var r=this.length;t=~~t,e=void 0===e?r:~~e,t<0?(t+=r)<0&&(t=0):t>r&&(t=r),e<0?(e+=r)<0&&(e=0):e>r&&(e=r),e>>=0,e>>>=0,r||S(t,e,this.length);for(var n=this[t],s=1,a=0;++a>>=0,e>>>=0,r||S(t,e,this.length);for(var n=this[t+--e],s=1;e>0&&(s*=256);)n+=this[t+--e]*s;return n},l.prototype.readUint8=l.prototype.readUInt8=function(t,e){return t>>>=0,e||S(t,1,this.length),this[t]},l.prototype.readUint16LE=l.prototype.readUInt16LE=function(t,e){return t>>>=0,e||S(t,2,this.length),this[t]|this[t+1]<<8},l.prototype.readUint16BE=l.prototype.readUInt16BE=function(t,e){return t>>>=0,e||S(t,2,this.length),this[t]<<8|this[t+1]},l.prototype.readUint32LE=l.prototype.readUInt32LE=function(t,e){return t>>>=0,e||S(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},l.prototype.readUint32BE=l.prototype.readUInt32BE=function(t,e){return t>>>=0,e||S(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},l.prototype.readIntLE=function(t,e,r){t>>>=0,e>>>=0,r||S(t,e,this.length);for(var n=this[t],s=1,a=0;++a=(s*=128)&&(n-=Math.pow(2,8*e)),n},l.prototype.readIntBE=function(t,e,r){t>>>=0,e>>>=0,r||S(t,e,this.length);for(var n=e,s=1,a=this[t+--n];n>0&&(s*=256);)a+=this[t+--n]*s;return a>=(s*=128)&&(a-=Math.pow(2,8*e)),a},l.prototype.readInt8=function(t,e){return(t>>>=0,e||S(t,1,this.length),128&this[t])?-((255-this[t]+1)*1):this[t]},l.prototype.readInt16LE=function(t,e){t>>>=0,e||S(t,2,this.length);var r=this[t]|this[t+1]<<8;return 32768&r?4294901760|r:r},l.prototype.readInt16BE=function(t,e){t>>>=0,e||S(t,2,this.length);var r=this[t+1]|this[t]<<8;return 32768&r?4294901760|r:r},l.prototype.readInt32LE=function(t,e){return t>>>=0,e||S(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},l.prototype.readInt32BE=function(t,e){return t>>>=0,e||S(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},l.prototype.readFloatLE=function(t,e){return t>>>=0,e||S(t,4,this.length),a.read(this,t,!0,23,4)},l.prototype.readFloatBE=function(t,e){return t>>>=0,e||S(t,4,this.length),a.read(this,t,!1,23,4)},l.prototype.readDoubleLE=function(t,e){return t>>>=0,e||S(t,8,this.length),a.read(this,t,!0,52,8)},l.prototype.readDoubleBE=function(t,e){return t>>>=0,e||S(t,8,this.length),a.read(this,t,!1,52,8)},l.prototype.writeUintLE=l.prototype.writeUIntLE=function(t,e,r,n){if(t=+t,e>>>=0,r>>>=0,!n){var s=Math.pow(2,8*r)-1;x(this,t,e,r,s,0)}var a=1,o=0;for(this[e]=255&t;++o>>=0,r>>>=0,!n){var s=Math.pow(2,8*r)-1;x(this,t,e,r,s,0)}var a=r-1,o=1;for(this[e+a]=255&t;--a>=0&&(o*=256);)this[e+a]=t/o&255;return e+r},l.prototype.writeUint8=l.prototype.writeUInt8=function(t,e,r){return t=+t,e>>>=0,r||x(this,t,e,1,255,0),this[e]=255&t,e+1},l.prototype.writeUint16LE=l.prototype.writeUInt16LE=function(t,e,r){return t=+t,e>>>=0,r||x(this,t,e,2,65535,0),this[e]=255&t,this[e+1]=t>>>8,e+2},l.prototype.writeUint16BE=l.prototype.writeUInt16BE=function(t,e,r){return t=+t,e>>>=0,r||x(this,t,e,2,65535,0),this[e]=t>>>8,this[e+1]=255&t,e+2},l.prototype.writeUint32LE=l.prototype.writeUInt32LE=function(t,e,r){return t=+t,e>>>=0,r||x(this,t,e,4,4294967295,0),this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t,e+4},l.prototype.writeUint32BE=l.prototype.writeUInt32BE=function(t,e,r){return t=+t,e>>>=0,r||x(this,t,e,4,4294967295,0),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},l.prototype.writeIntLE=function(t,e,r,n){if(t=+t,e>>>=0,!n){var s=Math.pow(2,8*r-1);x(this,t,e,r,s-1,-s)}var a=0,o=1,u=0;for(this[e]=255&t;++a>0)-u&255;return e+r},l.prototype.writeIntBE=function(t,e,r,n){if(t=+t,e>>>=0,!n){var s=Math.pow(2,8*r-1);x(this,t,e,r,s-1,-s)}var a=r-1,o=1,u=0;for(this[e+a]=255&t;--a>=0&&(o*=256);)t<0&&0===u&&0!==this[e+a+1]&&(u=1),this[e+a]=(t/o>>0)-u&255;return e+r},l.prototype.writeInt8=function(t,e,r){return t=+t,e>>>=0,r||x(this,t,e,1,127,-128),t<0&&(t=255+t+1),this[e]=255&t,e+1},l.prototype.writeInt16LE=function(t,e,r){return t=+t,e>>>=0,r||x(this,t,e,2,32767,-32768),this[e]=255&t,this[e+1]=t>>>8,e+2},l.prototype.writeInt16BE=function(t,e,r){return t=+t,e>>>=0,r||x(this,t,e,2,32767,-32768),this[e]=t>>>8,this[e+1]=255&t,e+2},l.prototype.writeInt32LE=function(t,e,r){return t=+t,e>>>=0,r||x(this,t,e,4,2147483647,-2147483648),this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24,e+4},l.prototype.writeInt32BE=function(t,e,r){return t=+t,e>>>=0,r||x(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},l.prototype.writeFloatLE=function(t,e,r){return U(this,t,e,!0,r)},l.prototype.writeFloatBE=function(t,e,r){return U(this,t,e,!1,r)},l.prototype.writeDoubleLE=function(t,e,r){return T(this,t,e,!0,r)},l.prototype.writeDoubleBE=function(t,e,r){return T(this,t,e,!1,r)},l.prototype.copy=function(t,e,r,n){if(!l.isBuffer(t))throw TypeError("argument should be a Buffer");if(r||(r=0),n||0===n||(n=this.length),e>=t.length&&(e=t.length),e||(e=0),n>0&&n=this.length)throw RangeError("Index out of range");if(n<0)throw RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),t.length-e>>=0,r=void 0===r?this.length:r>>>0,t||(t=0),"number"==typeof t)for(s=e;s55295&&r<57344){if(!s){if(r>56319||o+1===n){(e-=3)>-1&&a.push(239,191,189);continue}s=r;continue}if(r<56320){(e-=3)>-1&&a.push(239,191,189),s=r;continue}r=(s-55296<<10|r-56320)+65536}else s&&(e-=3)>-1&&a.push(239,191,189);if(s=null,r<128){if((e-=1)<0)break;a.push(r)}else if(r<2048){if((e-=2)<0)break;a.push(r>>6|192,63&r|128)}else if(r<65536){if((e-=3)<0)break;a.push(r>>12|224,r>>6&63|128,63&r|128)}else if(r<1114112){if((e-=4)<0)break;a.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}else throw Error("Invalid code point")}return a}function k(t){return s.toByteArray(function(t){if((t=(t=t.split("=")[0]).trim().replace(A,"")).length<2)return"";for(;t.length%4!=0;)t+="=";return t}(t))}function C(t,e,r,n){for(var s=0;s=e.length)&&!(s>=t.length);++s)e[s+r]=t[s];return s}function B(t,e){return t instanceof e||null!=t&&null!=t.constructor&&null!=t.constructor.name&&t.constructor.name===e.name}var P=function(){for(var t="0123456789abcdef",e=Array(256),r=0;r<16;++r)for(var n=16*r,s=0;s<16;++s)e[n+s]=t[r]+t[s];return e}()},{"@swc/helpers/_/_type_of":"felZi","9c62938f1dccc73c":"8CZvr",aceacb6a4531a9d2:"kxjGq"}],"8CZvr":[function(t,e,r){r.byteLength=function(t){var e=c(t),r=e[0],n=e[1];return(r+n)*3/4-n},r.toByteArray=function(t){var e,r,n=c(t),o=n[0],u=n[1],l=new a((o+u)*3/4-u),h=0,f=u>0?o-4:o;for(r=0;r>16&255,l[h++]=e>>8&255,l[h++]=255&e;return 2===u&&(e=s[t.charCodeAt(r)]<<2|s[t.charCodeAt(r+1)]>>4,l[h++]=255&e),1===u&&(e=s[t.charCodeAt(r)]<<10|s[t.charCodeAt(r+1)]<<4|s[t.charCodeAt(r+2)]>>2,l[h++]=e>>8&255,l[h++]=255&e),l},r.fromByteArray=function(t){for(var e,r=t.length,s=r%3,a=[],o=0,u=r-s;o>18&63]+n[s>>12&63]+n[s>>6&63]+n[63&s]);return a.join("")}(t,o,o+16383>u?u:o+16383));return 1===s?a.push(n[(e=t[r-1])>>2]+n[e<<4&63]+"=="):2===s&&a.push(n[(e=(t[r-2]<<8)+t[r-1])>>10]+n[e>>4&63]+n[e<<2&63]+"="),a.join("")};for(var n=[],s=[],a="undefined"!=typeof Uint8Array?Uint8Array:Array,o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",u=0,l=o.length;u0)throw Error("Invalid string. Length must be a multiple of 4");var r=t.indexOf("=");-1===r&&(r=e);var n=r===e?0:4-r%4;return[r,n]}s["-".charCodeAt(0)]=62,s["_".charCodeAt(0)]=63},{}],kxjGq:[function(t,e,r){/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh*/r.read=function(t,e,r,n,s){var a,o,u=8*s-n-1,l=(1<>1,h=-7,f=r?s-1:0,d=r?-1:1,p=t[e+f];for(f+=d,a=p&(1<<-h)-1,p>>=-h,h+=u;h>0;a=256*a+t[e+f],f+=d,h-=8);for(o=a&(1<<-h)-1,a>>=-h,h+=n;h>0;o=256*o+t[e+f],f+=d,h-=8);if(0===a)a=1-c;else{if(a===l)return o?NaN:1/0*(p?-1:1);o+=Math.pow(2,n),a-=c}return(p?-1:1)*o*Math.pow(2,a-n)},r.write=function(t,e,r,n,s,a){var o,u,l,c=8*a-s-1,h=(1<>1,d=23===s?5960464477539062e-23:0,p=n?0:a-1,m=n?1:-1,_=e<0||0===e&&1/e<0?1:0;for(isNaN(e=Math.abs(e))||e===1/0?(u=isNaN(e)?1:0,o=h):(o=Math.floor(Math.log(e)/Math.LN2),e*(l=Math.pow(2,-o))<1&&(o--,l*=2),o+f>=1?e+=d/l:e+=d*Math.pow(2,1-f),e*l>=2&&(o++,l/=2),o+f>=h?(u=0,o=h):o+f>=1?(u=(e*l-1)*Math.pow(2,s),o+=f):(u=e*Math.pow(2,f-1)*Math.pow(2,s),o=0));s>=8;t[r+p]=255&u,p+=m,u/=256,s-=8);for(o=o<0;t[r+p]=255&o,p+=m,o/=256,c-=8);t[r+p-m]|=128*_}},{}]},["c4SNP"],"c4SNP","parcelRequire4dc0"); \ No newline at end of file diff --git a/compiled/artplayer-tool-thumbnail.js b/compiled/artplayer-tool-thumbnail.js index 9a67636fe..8a7f3c4d4 100644 --- a/compiled/artplayer-tool-thumbnail.js +++ b/compiled/artplayer-tool-thumbnail.js @@ -1,7 +1,8 @@ + /*! * artplayer-tool-thumbnail.js v4.3.12 * Github: https://github.com/zhw2590582/ArtPlayer * (c) 2017-2024 Harvey Zack * Released under the MIT License. */ -!function(e,t,i,n,o){var r="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},s="function"==typeof r[n]&&r[n],l=s.cache||{},h="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function a(t,i){if(!l[t]){if(!e[t]){var o="function"==typeof r[n]&&r[n];if(!i&&o)return o(t,!0);if(s)return s(t,!0);if(h&&"string"==typeof t)return h(t);var d=Error("Cannot find module '"+t+"'");throw d.code="MODULE_NOT_FOUND",d}p.resolve=function(i){var n=e[t][1][i];return null!=n?n:i},p.cache={};var u=l[t]=new a.Module(t);e[t][0].call(u.exports,p,u,u.exports,this)}return l[t].exports;function p(e){var t=p.resolve(e);return!1===t?{}:a(t)}}a.isParcelRequire=!0,a.Module=function(e){this.id=e,this.bundle=a,this.exports={}},a.modules=e,a.cache=l,a.parent=s,a.register=function(t,i){e[t]=[function(e,t){t.exports=i},{}]},Object.defineProperty(a,"root",{get:function(){return r[n]}}),r[n]=a;for(var d=0;d{this.errorHandle("number"==typeof this.option[e],`The '${e}' is not a number`)}),this.option.number=(0,s.clamp)(i,10,1e3),this.option.width=(0,s.clamp)(n,10,1e3),this.option.column=(0,s.clamp)(o,1,1e3),this}static creatVideo(){let e=document.createElement("video");return e.style.position="absolute",e.style.top="-9999px",e.style.left="-9999px",e.muted=!0,e.controls=!0,document.body.appendChild(e),e}inputChange(e){let t=this.option.fileInput.files[0];this.loadVideo(t),e.target.value=""}loadVideo(e){if(e){let t=this.video.canPlayType(e.type);this.errorHandle("maybe"===t||"probably"===t,`Playback of this file format is not supported:${e.type}`);let i=URL.createObjectURL(e);this.videoUrl=i,this.file=e,this.emit("file",this.file),this.video.src=i,this.emit("video",this.video)}}start(){if(!this.video.duration)return(0,s.sleep)(1e3).then(()=>this.start());let{width:e,number:t,begin:i,end:n}=this.option,o=this.video.videoHeight/this.video.videoWidth*e;this.option.height=o,this.option.begin=(0,s.clamp)(i,0,this.video.duration),this.option.end=(0,s.clamp)(n||this.video.duration,i,this.video.duration),this.errorHandle(this.option.end>this.option.begin,"End time must be greater than the start time"),this.duration=this.option.end-this.option.begin,this.density=t/this.duration,this.errorHandle(this.file&&this.video,"Please select the video file first"),this.errorHandle(!this.processing,"There is currently a task in progress,please wait a moment..."),this.errorHandle(this.density<=1,`The preview density cannot be greater than 1,but got ${this.density}`);let r=this.creatScreenshotDate(),l=this.creatCanvas(),h=l.getContext("2d");this.emit("canvas",l);let a=r.map((i,n)=>()=>new Promise(r=>{this.video.oncanplay=()=>{h.drawImage(this.video,i.x,i.y,e,o),l.toBlob(e=>{this.thumbnailUrl&&URL.revokeObjectURL(this.thumbnailUrl),this.thumbnailUrl=URL.createObjectURL(e),this.emit("update",this.thumbnailUrl,(n+1)/t),this.video.oncanplay=null,r()})},this.video.currentTime=i.time}));return this.processing=!0,(0,s.runPromisesInSeries)(a).then(()=>{this.processing=!1,this.emit("done")}).catch(e=>{throw this.processing=!1,this.emit("error",e.message),e})}creatScreenshotDate(){let{number:e,width:t,height:i,column:n,begin:o}=this.option,r=this.duration/e,s=[o+r];for(;s.length({time:e-r/2,x:o%n*t,y:Math.floor(o/n)*i}))}creatCanvas(){let{number:e,width:t,height:i,column:n}=this.option,o=document.createElement("canvas"),r=o.getContext("2d");return o.width=t*n,o.height=Math.ceil(e/n)*i+30,r.fillStyle="black",r.fillRect(0,0,o.width,o.height),r.font="14px Georgia",r.fillStyle="#fff",r.fillText(`From:https://artplayer.org/,Number:${e},Width:${t},Height:${i},Column:${n}`,10,o.height-11),o}download(){this.errorHandle(this.file&&this.thumbnailUrl,"Download does not seem to be ready,please create preview first"),this.errorHandle(!this.processing,"There is currently a task in progress,please wait a moment...");let e=document.createElement("a"),t=`${(0,s.getFileName)(this.file.name)}.png`;return e.download=t,e.href=this.thumbnailUrl,document.body.appendChild(e),e.click(),document.body.removeChild(e),this.emit("download",t),this}errorHandle(e,t){if(!e)throw this.emit("error",t),Error(t)}destroy(){this.option.fileInput.removeEventListener("change",this.inputChange),this.option.fileInput.removeEventListener("dragover",l.ondragover),this.option.fileInput.removeEventListener("drop",l.ondrop),document.body.removeChild(this.video),this.videoUrl&&URL.revokeObjectURL(this.videoUrl),this.thumbnailUrl&&URL.revokeObjectURL(this.thumbnailUrl),this.emit("destroy")}}i.default=l,window.ArtplayerToolThumbnail=l},{"./emitter":"k2uxG","./utils":"hkb5L","@parcel/transformer-js/src/esmodule-helpers.js":"hqP7A"}],k2uxG:[function(e,t,i){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(i),i.default=class{on(e,t,i){let n=this.e||(this.e={});return(n[e]||(n[e]=[])).push({fn:t,ctx:i}),this}once(e,t,i){let n=this;function o(...r){n.off(e,o),t.apply(i,r)}return o._=t,this.on(e,o,i)}emit(e,...t){let i=((this.e||(this.e={}))[e]||[]).slice();for(let e=0;esetTimeout(t,e))}function r(e){return e.reduce((e,t)=>e.then(t),Promise.resolve())}function s(e){let t=e.split(".");return t.pop(),t.join(".")}function l(e,t,i){return Math.max(Math.min(e,Math.max(t,i)),Math.min(t,i))}n.defineInteropFlag(i),n.export(i,"sleep",()=>o),n.export(i,"runPromisesInSeries",()=>r),n.export(i,"getFileName",()=>s),n.export(i,"clamp",()=>l)},{"@parcel/transformer-js/src/esmodule-helpers.js":"hqP7A"}]},["e1IG9"],"e1IG9","parcelRequire94c2"); \ No newline at end of file +!function(e,t,i,n,o){var r="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},s="function"==typeof r[n]&&r[n],l=s.cache||{},a="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function h(t,i){if(!l[t]){if(!e[t]){var o="function"==typeof r[n]&&r[n];if(!i&&o)return o(t,!0);if(s)return s(t,!0);if(a&&"string"==typeof t)return a(t);var d=Error("Cannot find module '"+t+"'");throw d.code="MODULE_NOT_FOUND",d}p.resolve=function(i){var n=e[t][1][i];return null!=n?n:i},p.cache={};var u=l[t]=new h.Module(t);e[t][0].call(u.exports,p,u,u.exports,this)}return l[t].exports;function p(e){var t=p.resolve(e);return!1===t?{}:h(t)}}h.isParcelRequire=!0,h.Module=function(e){this.id=e,this.bundle=h,this.exports={}},h.modules=e,h.cache=l,h.parent=s,h.register=function(t,i){e[t]=[function(e,t){t.exports=i},{}]},Object.defineProperty(h,"root",{get:function(){return r[n]}}),r[n]=h;for(var d=0;d{this.errorHandle("number"==typeof this.option[e],`The '${e}' is not a number`)}),this.option.number=(0,s.clamp)(i,10,1e3),this.option.width=(0,s.clamp)(n,10,1e3),this.option.column=(0,s.clamp)(o,1,1e3),this}static creatVideo(){let e=document.createElement("video");return e.style.position="absolute",e.style.top="-9999px",e.style.left="-9999px",e.muted=!0,e.controls=!0,document.body.appendChild(e),e}inputChange(e){let t=this.option.fileInput.files[0];this.loadVideo(t),e.target.value=""}loadVideo(e){if(e){let t=this.video.canPlayType(e.type);this.errorHandle("maybe"===t||"probably"===t,`Playback of this file format is not supported: ${e.type}`);let i=URL.createObjectURL(e);this.videoUrl=i,this.file=e,this.emit("file",this.file),this.video.src=i,this.emit("video",this.video)}}start(){if(!this.video.duration)return(0,s.sleep)(1e3).then(()=>this.start());let{width:e,number:t,begin:i,end:n}=this.option,o=this.video.videoHeight/this.video.videoWidth*e;this.option.height=o,this.option.begin=(0,s.clamp)(i,0,this.video.duration),this.option.end=(0,s.clamp)(n||this.video.duration,i,this.video.duration),this.errorHandle(this.option.end>this.option.begin,"End time must be greater than the start time"),this.duration=this.option.end-this.option.begin,this.density=t/this.duration,this.errorHandle(this.file&&this.video,"Please select the video file first"),this.errorHandle(!this.processing,"There is currently a task in progress, please wait a moment..."),this.errorHandle(this.density<=1,`The preview density cannot be greater than 1, but got ${this.density}`);let r=this.creatScreenshotDate(),l=this.creatCanvas(),a=l.getContext("2d");this.emit("canvas",l);let h=r.map((i,n)=>()=>new Promise(r=>{this.video.oncanplay=()=>{a.drawImage(this.video,i.x,i.y,e,o),l.toBlob(e=>{this.thumbnailUrl&&URL.revokeObjectURL(this.thumbnailUrl),this.thumbnailUrl=URL.createObjectURL(e),this.emit("update",this.thumbnailUrl,(n+1)/t),this.video.oncanplay=null,r()})},this.video.currentTime=i.time}));return this.processing=!0,(0,s.runPromisesInSeries)(h).then(()=>{this.processing=!1,this.emit("done")}).catch(e=>{throw this.processing=!1,this.emit("error",e.message),e})}creatScreenshotDate(){let{number:e,width:t,height:i,column:n,begin:o}=this.option,r=this.duration/e,s=[o+r];for(;s.length({time:e-r/2,x:o%n*t,y:Math.floor(o/n)*i}))}creatCanvas(){let{number:e,width:t,height:i,column:n}=this.option,o=document.createElement("canvas"),r=o.getContext("2d");return o.width=t*n,o.height=Math.ceil(e/n)*i+30,r.fillStyle="black",r.fillRect(0,0,o.width,o.height),r.font="14px Georgia",r.fillStyle="#fff",r.fillText(`From: https://artplayer.org/, Number: ${e}, Width: ${t}, Height: ${i}, Column: ${n}`,10,o.height-11),o}download(){this.errorHandle(this.file&&this.thumbnailUrl,"Download does not seem to be ready, please create preview first"),this.errorHandle(!this.processing,"There is currently a task in progress, please wait a moment...");let e=document.createElement("a"),t=`${(0,s.getFileName)(this.file.name)}.png`;return e.download=t,e.href=this.thumbnailUrl,document.body.appendChild(e),e.click(),document.body.removeChild(e),this.emit("download",t),this}errorHandle(e,t){if(!e)throw this.emit("error",t),Error(t)}destroy(){this.option.fileInput.removeEventListener("change",this.inputChange),this.option.fileInput.removeEventListener("dragover",l.ondragover),this.option.fileInput.removeEventListener("drop",l.ondrop),document.body.removeChild(this.video),this.videoUrl&&URL.revokeObjectURL(this.videoUrl),this.thumbnailUrl&&URL.revokeObjectURL(this.thumbnailUrl),this.emit("destroy")}}i.default=l,window.ArtplayerToolThumbnail=l},{"./emitter":"f2NWK","./utils":"kQTVz","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],f2NWK:[function(e,t,i){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(i),i.default=class{on(e,t,i){let n=this.e||(this.e={});return(n[e]||(n[e]=[])).push({fn:t,ctx:i}),this}once(e,t,i){let n=this;function o(...r){n.off(e,o),t.apply(i,r)}return o._=t,this.on(e,o,i)}emit(e,...t){let i=((this.e||(this.e={}))[e]||[]).slice();for(let e=0;esetTimeout(t,e))}function r(e){return e.reduce((e,t)=>e.then(t),Promise.resolve())}function s(e){let t=e.split(".");return t.pop(),t.join(".")}function l(e,t,i){return Math.max(Math.min(e,Math.max(t,i)),Math.min(t,i))}n.defineInteropFlag(i),n.export(i,"sleep",()=>o),n.export(i,"runPromisesInSeries",()=>r),n.export(i,"getFileName",()=>s),n.export(i,"clamp",()=>l)},{"@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}]},["eoujN"],"eoujN","parcelRequire4dc0"); \ No newline at end of file diff --git a/compiled/artplayer-tool-thumbnail.legacy.js b/compiled/artplayer-tool-thumbnail.legacy.js index 44c058e42..56ae7c99a 100644 --- a/compiled/artplayer-tool-thumbnail.legacy.js +++ b/compiled/artplayer-tool-thumbnail.legacy.js @@ -1,7 +1,8 @@ + /*! * artplayer-tool-thumbnail.js v4.3.12 * Github: https://github.com/zhw2590582/ArtPlayer * (c) 2017-2024 Harvey Zack * Released under the MIT License. */ -!function(e,t,r,n,o){var i="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},s="function"==typeof i[n]&&i[n],a=s.cache||{},u="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function l(t,r){if(!a[t]){if(!e[t]){var o="function"==typeof i[n]&&i[n];if(!r&&o)return o(t,!0);if(s)return s(t,!0);if(u&&"string"==typeof t)return u(t);var c=Error("Cannot find module '"+t+"'");throw c.code="MODULE_NOT_FOUND",c}p.resolve=function(r){var n=e[t][1][r];return null!=n?n:r},p.cache={};var f=a[t]=new l.Module(t);e[t][0].call(f.exports,p,f,f.exports,this)}return a[t].exports;function p(e){var t=p.resolve(e);return!1===t?{}:l(t)}}l.isParcelRequire=!0,l.Module=function(e){this.id=e,this.bundle=l,this.exports={}},l.modules=e,l.cache=a,l.parent=s,l.register=function(t,r){e[t]=[function(e,t){t.exports=r},{}]},Object.defineProperty(l,"root",{get:function(){return i[n]}}),i[n]=l;for(var c=0;c0&&void 0!==arguments[0]?arguments[0]:{};return(0,i._)(this,r),(e=t.call(this)).processing=!1,e.option={},e.setup(Object.assign({},r.DEFAULTS,n)),e.video=r.creatVideo(),e.duration=0,e.inputChange=e.inputChange.bind((0,o._)(e)),e.ondrop=e.ondrop.bind((0,o._)(e)),e.option.fileInput.addEventListener("change",e.inputChange),e.option.fileInput.addEventListener("dragover",r.ondragover),e.option.fileInput.addEventListener("drop",r.ondrop),e}return(0,s._)(r,[{key:"ondrop",value:function(e){e.preventDefault();var t=e.dataTransfer.files[0];this.loadVideo(t)}},{key:"setup",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.option=Object.assign({},this.option,t);var r=this.option,n=r.fileInput,o=r.number,i=r.width,s=r.column;if(this.errorHandle(n instanceof Element,"The 'fileInput' is not a Element"),!("INPUT"===n.tagName&&"file"===n.type)){n.style.position="relative";var a=document.createElement("input");a.type="file",a.style.position="absolute",a.style.width="100%",a.style.height="100%",a.style.left="0",a.style.top="0",a.style.right="0",a.style.bottom="0",a.style.opacity="0",n.appendChild(a),this.option.fileInput=a}return["number","width","column","begin","end"].forEach(function(t){e.errorHandle("number"==typeof e.option[t],"The '".concat(t,"' is not a number"))}),this.option.number=(0,f.clamp)(o,10,1e3),this.option.width=(0,f.clamp)(i,10,1e3),this.option.column=(0,f.clamp)(s,1,1e3),this}},{key:"inputChange",value:function(e){var t=this.option.fileInput.files[0];this.loadVideo(t),e.target.value=""}},{key:"loadVideo",value:function(e){if(e){var t=this.video.canPlayType(e.type);this.errorHandle("maybe"===t||"probably"===t,"Playback of this file format is not supported:".concat(e.type));var r=URL.createObjectURL(e);this.videoUrl=r,this.file=e,this.emit("file",this.file),this.video.src=r,this.emit("video",this.video)}}},{key:"start",value:function(){var e=this;if(!this.video.duration)return(0,f.sleep)(1e3).then(function(){return e.start()});var t=this.option,r=t.width,n=t.number,o=t.begin,i=t.end,s=this.video.videoHeight/this.video.videoWidth*r;this.option.height=s,this.option.begin=(0,f.clamp)(o,0,this.video.duration),this.option.end=(0,f.clamp)(i||this.video.duration,o,this.video.duration),this.errorHandle(this.option.end>this.option.begin,"End time must be greater than the start time"),this.duration=this.option.end-this.option.begin,this.density=n/this.duration,this.errorHandle(this.file&&this.video,"Please select the video file first"),this.errorHandle(!this.processing,"There is currently a task in progress,please wait a moment..."),this.errorHandle(this.density<=1,"The preview density cannot be greater than 1,but got ".concat(this.density));var a=this.creatScreenshotDate(),u=this.creatCanvas(),l=u.getContext("2d");this.emit("canvas",u);var c=a.map(function(t,o){return function(){return new Promise(function(i){e.video.oncanplay=function(){l.drawImage(e.video,t.x,t.y,r,s),u.toBlob(function(t){e.thumbnailUrl&&URL.revokeObjectURL(e.thumbnailUrl),e.thumbnailUrl=URL.createObjectURL(t),e.emit("update",e.thumbnailUrl,(o+1)/n),e.video.oncanplay=null,i()})},e.video.currentTime=t.time})}});return this.processing=!0,(0,f.runPromisesInSeries)(c).then(function(){e.processing=!1,e.emit("done")}).catch(function(t){throw e.processing=!1,e.emit("error",t.message),t})}},{key:"creatScreenshotDate",value:function(){for(var e=this.option,t=e.number,r=e.width,n=e.height,o=e.column,i=e.begin,s=this.duration/t,a=[i+s];a.length1?t-1:0),n=1;n0&&void 0!==arguments[0]?arguments[0]:{};return(0,i._)(this,r),(e=t.call(this)).processing=!1,e.option={},e.setup(Object.assign({},r.DEFAULTS,n)),e.video=r.creatVideo(),e.duration=0,e.inputChange=e.inputChange.bind((0,o._)(e)),e.ondrop=e.ondrop.bind((0,o._)(e)),e.option.fileInput.addEventListener("change",e.inputChange),e.option.fileInput.addEventListener("dragover",r.ondragover),e.option.fileInput.addEventListener("drop",r.ondrop),e}return(0,s._)(r,[{key:"ondrop",value:function(e){e.preventDefault();var t=e.dataTransfer.files[0];this.loadVideo(t)}},{key:"setup",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.option=Object.assign({},this.option,t);var r=this.option,n=r.fileInput,o=r.number,i=r.width,s=r.column;if(this.errorHandle(n instanceof Element,"The 'fileInput' is not a Element"),!("INPUT"===n.tagName&&"file"===n.type)){n.style.position="relative";var a=document.createElement("input");a.type="file",a.style.position="absolute",a.style.width="100%",a.style.height="100%",a.style.left="0",a.style.top="0",a.style.right="0",a.style.bottom="0",a.style.opacity="0",n.appendChild(a),this.option.fileInput=a}return["number","width","column","begin","end"].forEach(function(t){e.errorHandle("number"==typeof e.option[t],"The '".concat(t,"' is not a number"))}),this.option.number=(0,f.clamp)(o,10,1e3),this.option.width=(0,f.clamp)(i,10,1e3),this.option.column=(0,f.clamp)(s,1,1e3),this}},{key:"inputChange",value:function(e){var t=this.option.fileInput.files[0];this.loadVideo(t),e.target.value=""}},{key:"loadVideo",value:function(e){if(e){var t=this.video.canPlayType(e.type);this.errorHandle("maybe"===t||"probably"===t,"Playback of this file format is not supported: ".concat(e.type));var r=URL.createObjectURL(e);this.videoUrl=r,this.file=e,this.emit("file",this.file),this.video.src=r,this.emit("video",this.video)}}},{key:"start",value:function(){var e=this;if(!this.video.duration)return(0,f.sleep)(1e3).then(function(){return e.start()});var t=this.option,r=t.width,n=t.number,o=t.begin,i=t.end,s=this.video.videoHeight/this.video.videoWidth*r;this.option.height=s,this.option.begin=(0,f.clamp)(o,0,this.video.duration),this.option.end=(0,f.clamp)(i||this.video.duration,o,this.video.duration),this.errorHandle(this.option.end>this.option.begin,"End time must be greater than the start time"),this.duration=this.option.end-this.option.begin,this.density=n/this.duration,this.errorHandle(this.file&&this.video,"Please select the video file first"),this.errorHandle(!this.processing,"There is currently a task in progress, please wait a moment..."),this.errorHandle(this.density<=1,"The preview density cannot be greater than 1, but got ".concat(this.density));var a=this.creatScreenshotDate(),l=this.creatCanvas(),c=l.getContext("2d");this.emit("canvas",l);var u=a.map(function(t,o){return function(){return new Promise(function(i){e.video.oncanplay=function(){c.drawImage(e.video,t.x,t.y,r,s),l.toBlob(function(t){e.thumbnailUrl&&URL.revokeObjectURL(e.thumbnailUrl),e.thumbnailUrl=URL.createObjectURL(t),e.emit("update",e.thumbnailUrl,(o+1)/n),e.video.oncanplay=null,i()})},e.video.currentTime=t.time})}});return this.processing=!0,(0,f.runPromisesInSeries)(u).then(function(){e.processing=!1,e.emit("done")}).catch(function(t){throw e.processing=!1,e.emit("error",t.message),t})}},{key:"creatScreenshotDate",value:function(){for(var e=this.option,t=e.number,r=e.width,n=e.height,o=e.column,i=e.begin,s=this.duration/t,a=[i+s];a.length1?t-1:0),n=1;nt.call(this,this)),G.DEBUG){let e=e=>console.log(`[ART.${this.id}] -> ${e}`);e("Version@"+G.version),e("Env@"+G.env),e("Build@"+G.build);for(let t=0;te("Event@"+t.type))}X.push(this)}static get instances(){return X}static get version(){return"5.1.7"}static get env(){return"production"}static get build(){return"2024-08-15 23:27:07"}static get config(){return h.default}static get utils(){return u}static get scheme(){return d.default}static get Emitter(){return c.default}static get validator(){return s.default}static get kindOf(){return s.default.kindOf}static get html(){return g.default.html}static get option(){return{id:"",container:"#artplayer",url:"",poster:"",type:"",theme:"#f00",volume:.7,isLive:!1,muted:!1,autoplay:!1,autoSize:!1,autoMini:!1,loop:!1,flip:!1,playbackRate:!1,aspectRatio:!1,screenshot:!1,setting:!1,hotkey:!0,pip:!1,mutex:!0,backdrop:!0,fullscreen:!1,fullscreenWeb:!1,subtitleOffset:!1,miniProgressBar:!1,useSSR:!1,playsInline:!0,lock:!1,fastForward:!1,autoPlayback:!1,autoOrientation:!1,airplay:!1,layers:[],contextmenu:[],controls:[],settings:[],quality:[],highlight:[],plugins:[],thumbnails:{url:"",number:60,column:10,width:0,height:0},subtitle:{url:"",type:"",style:{},name:"",escape:!0,encoding:"utf-8",onVttLoad:e=>e},moreVideoAttr:{controls:!1,preload:u.isSafari?"auto":"metadata"},i18n:{},icons:{},cssVar:{},customType:{},lang:navigator.language.toLowerCase()}}get proxy(){return this.events.proxy}get query(){return this.template.query}get video(){return this.template.$video}destroy(e=!0){this.events.destroy(),this.template.destroy(e),X.splice(X.indexOf(this),1),this.isDestroy=!0,this.emit("destroy")}}r.default=G,G.STYLE=o.default,G.DEBUG=!1,G.CONTEXTMENU=!0,G.NOTICE_TIME=2e3,G.SETTING_WIDTH=250,G.SETTING_ITEM_WIDTH=200,G.SETTING_ITEM_HEIGHT=35,G.RESIZE_TIME=200,G.SCROLL_TIME=200,G.SCROLL_GAP=50,G.AUTO_PLAYBACK_MAX=10,G.AUTO_PLAYBACK_MIN=5,G.AUTO_PLAYBACK_TIMEOUT=3e3,G.RECONNECT_TIME_MAX=5,G.RECONNECT_SLEEP_TIME=1e3,G.CONTROL_HIDE_TIME=3e3,G.DBCLICK_TIME=300,G.DBCLICK_FULLSCREEN=!0,G.MOBILE_DBCLICK_PLAY=!0,G.MOBILE_CLICK_PLAY=!1,G.AUTO_ORIENTATION_TIME=200,G.INFO_LOOP_TIME=1e3,G.FAST_FORWARD_VALUE=3,G.FAST_FORWARD_TIME=1e3,G.TOUCH_MOVE_RATIO=.5,G.VOLUME_STEP=.1,G.SEEK_STEP=5,G.PLAYBACK_RATE=[.5,.75,1,1.25,1.5,2],G.ASPECT_RATIO=["default","4:3","16:9"],G.FLIP=["normal","horizontal","vertical"],G.FULLSCREEN_WEB_IN_BODY=!1,G.LOG_VERSION=!0,G.USE_RAF=!1,u.isBrowser&&(window.Artplayer=G,u.setStyleText("artplayer-style",o.default),setTimeout(()=>{G.LOG_VERSION&&console.log(`%c ArtPlayer %c ${G.version} %c https://artplayer.org`,"color: #fff; background: #5f5f5f","color: #fff; background: #4bc729","")},100))},{"bundle-text:./style/index.less":"kfOe8","option-validator":"9I0i9","./utils/emitter":"2bGVu","./utils":"h3rH9","./scheme":"AdvwB","./config":"9Xmqu","./template":"2gKYH","./i18n":"1AdeF","./player":"556MW","./control":"14IBq","./contextmenu":"7iUum","./info":"hD2Lg","./subtitle":"lum0D","./events":"1Epl5","./hotkey":"eTow4","./layer":"4fDoD","./loading":"fE0Sp","./notice":"9PuGy","./mask":"2etr0","./icons":"6dYSr","./setting":"bRHiA","./storage":"f2Thp","./plugins":"96ThS","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],kfOe8:[function(e,t,r){t.exports='.art-video-player{--art-theme:red;--art-font-color:#fff;--art-background-color:#000;--art-text-shadow-color:#00000080;--art-transition-duration:.2s;--art-padding:10px;--art-border-radius:3px;--art-progress-height:6px;--art-progress-color:#ffffff40;--art-hover-color:#ffffff40;--art-loaded-color:#ffffff40;--art-state-size:80px;--art-state-opacity:.8;--art-bottom-height:100px;--art-bottom-offset:20px;--art-bottom-gap:5px;--art-highlight-width:8px;--art-highlight-color:#ffffff80;--art-control-height:46px;--art-control-opacity:.75;--art-control-icon-size:36px;--art-control-icon-scale:1.1;--art-volume-height:120px;--art-volume-handle-size:14px;--art-lock-size:36px;--art-indicator-scale:0;--art-indicator-size:16px;--art-fullscreen-web-index:9999;--art-settings-icon-size:24px;--art-settings-max-height:300px;--art-selector-max-height:300px;--art-contextmenus-min-width:250px;--art-subtitle-font-size:20px;--art-subtitle-gap:5px;--art-subtitle-bottom:15px;--art-subtitle-border:#000;--art-widget-background:#000000d9;--art-tip-background:#000000b3;--art-scrollbar-size:4px;--art-scrollbar-background:#ffffff40;--art-scrollbar-background-hover:#ffffff80;--art-mini-progress-height:2px}.art-bg-cover{background-position:50%;background-repeat:no-repeat;background-size:cover}.art-bottom-gradient{background-image:linear-gradient(#0000,#0006,#000);background-position:bottom;background-repeat:repeat-x}.art-backdrop-filter{backdrop-filter:saturate(180%)blur(20px);background-color:#000000bf!important}.art-truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.art-video-player{zoom:1;text-align:left;user-select:none;box-sizing:border-box;color:var(--art-font-color);background-color:var(--art-background-color);text-shadow:0 0 2px var(--art-text-shadow-color);-webkit-tap-highlight-color:#0000;-ms-touch-action:manipulation;touch-action:manipulation;-ms-high-contrast-adjust:none;direction:ltr;outline:0;width:100%;height:100%;margin:0 auto;padding:0;font-family:PingFang SC,Helvetica Neue,Microsoft YaHei,Roboto,Arial,sans-serif;font-size:14px;line-height:1.3;position:relative}.art-video-player *,.art-video-player :before,.art-video-player :after{box-sizing:border-box}.art-video-player ::-webkit-scrollbar{width:var(--art-scrollbar-size);height:var(--art-scrollbar-size)}.art-video-player ::-webkit-scrollbar-thumb{background-color:var(--art-scrollbar-background)}.art-video-player ::-webkit-scrollbar-thumb:hover{background-color:var(--art-scrollbar-background-hover)}.art-video-player img{vertical-align:top;max-width:100%}.art-video-player svg{fill:var(--art-font-color)}.art-video-player a{color:var(--art-font-color);text-decoration:none}.art-icon{justify-content:center;align-items:center;line-height:1;display:flex}.art-video-player.art-backdrop .art-contextmenus,.art-video-player.art-backdrop .art-info,.art-video-player.art-backdrop .art-settings,.art-video-player.art-backdrop .art-layer-auto-playback,.art-video-player.art-backdrop .art-selector-list,.art-video-player.art-backdrop .art-volume-inner{backdrop-filter:saturate(180%)blur(20px);background-color:#000000bf!important}.art-video{z-index:10;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.art-poster{z-index:11;pointer-events:none;background-position:50%;background-repeat:no-repeat;background-size:cover;width:100%;height:100%;position:absolute;inset:0}.art-video-player .art-subtitle{z-index:20;text-align:center;pointer-events:none;justify-content:center;align-items:center;gap:var(--art-subtitle-gap);bottom:var(--art-subtitle-bottom);font-size:var(--art-subtitle-font-size);transition:bottom var(--art-transition-duration)ease;text-shadow:var(--art-subtitle-border)1px 0 1px,var(--art-subtitle-border)0 1px 1px,var(--art-subtitle-border)-1px 0 1px,var(--art-subtitle-border)0 -1px 1px,var(--art-subtitle-border)1px 1px 1px,var(--art-subtitle-border)-1px -1px 1px,var(--art-subtitle-border)1px -1px 1px,var(--art-subtitle-border)-1px 1px 1px;flex-direction:column;width:100%;padding:0 5%;display:none;position:absolute}.art-video-player.art-subtitle-show .art-subtitle{display:flex}.art-video-player.art-control-show .art-subtitle{bottom:calc(var(--art-control-height) + var(--art-subtitle-bottom))}.art-danmuku{z-index:30;pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:hidden}.art-video-player .art-layers{z-index:40;pointer-events:none;width:100%;height:100%;display:none;position:absolute;inset:0}.art-video-player .art-layers .art-layer{pointer-events:auto}.art-video-player.art-layer-show .art-layers{display:flex}.art-video-player .art-mask{z-index:50;pointer-events:none;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:absolute;inset:0}.art-video-player .art-mask .art-state{opacity:0;width:var(--art-state-size);height:var(--art-state-size);transition:all var(--art-transition-duration)ease;justify-content:center;align-items:center;display:flex;transform:scale(2)}.art-video-player.art-mask-show .art-state{cursor:pointer;pointer-events:auto;opacity:var(--art-state-opacity);transform:scale(1)}.art-video-player.art-loading-show .art-state{display:none}.art-video-player .art-loading{z-index:70;pointer-events:none;justify-content:center;align-items:center;width:100%;height:100%;display:none;position:absolute;inset:0}.art-video-player.art-loading-show .art-loading{display:flex}.art-video-player .art-bottom{z-index:60;opacity:0;pointer-events:none;padding:0 var(--art-padding);transition:all var(--art-transition-duration)ease;background-size:100% var(--art-bottom-height);background-image:linear-gradient(#0000,#0006,#000);background-position:bottom;background-repeat:repeat-x;flex-direction:column;justify-content:flex-end;width:100%;height:100%;display:flex;position:absolute;inset:0;overflow:hidden}.art-video-player .art-bottom .art-controls,.art-video-player .art-bottom .art-progress{transform:translateY(var(--art-bottom-offset));transition:transform var(--art-transition-duration)ease}.art-video-player.art-control-show .art-bottom,.art-video-player.art-hover .art-bottom{opacity:1}.art-video-player.art-control-show .art-bottom .art-controls,.art-video-player.art-hover .art-bottom .art-controls,.art-video-player.art-control-show .art-bottom .art-progress,.art-video-player.art-hover .art-bottom .art-progress{transform:translateY(0)}.art-bottom .art-progress{z-index:0;pointer-events:auto;padding-bottom:var(--art-bottom-gap);position:relative}.art-bottom .art-progress .art-control-progress{cursor:pointer;height:var(--art-progress-height);justify-content:center;align-items:center;display:flex;position:relative}.art-bottom .art-progress .art-control-progress .art-control-progress-inner{transition:height var(--art-transition-duration)ease;background-color:var(--art-progress-color);align-items:center;width:100%;height:50%;display:flex;position:relative}.art-bottom .art-progress .art-control-progress .art-control-progress-inner .art-progress-hover{z-index:0;background-color:var(--art-hover-color);width:0%;height:100%;position:absolute;inset:0}.art-bottom .art-progress .art-control-progress .art-control-progress-inner .art-progress-loaded{z-index:10;background-color:var(--art-loaded-color);width:0%;height:100%;position:absolute;inset:0}.art-bottom .art-progress .art-control-progress .art-control-progress-inner .art-progress-played{z-index:20;background-color:var(--art-theme);width:0%;height:100%;position:absolute;inset:0}.art-bottom .art-progress .art-control-progress .art-control-progress-inner .art-progress-highlight{z-index:30;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.art-bottom .art-progress .art-control-progress .art-control-progress-inner .art-progress-highlight span{z-index:0;pointer-events:auto;transform:translateX(calc(var(--art-highlight-width)/-2));background-color:var(--art-highlight-color);width:100%;height:100%;position:absolute;inset:0 auto 0 0;width:var(--art-highlight-width)!important}.art-bottom .art-progress .art-control-progress .art-control-progress-inner .art-progress-indicator{z-index:40;width:var(--art-indicator-size);height:var(--art-indicator-size);transform:scale(var(--art-indicator-scale));margin-left:calc(var(--art-indicator-size)/-2);transition:transform var(--art-transition-duration)ease;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;left:0}.art-bottom .art-progress .art-control-progress .art-control-progress-inner .art-progress-indicator .art-icon{pointer-events:none;width:100%;height:100%}.art-bottom .art-progress .art-control-progress .art-control-progress-inner .art-progress-indicator:hover{transform:scale(1.2)!important}.art-bottom .art-progress .art-control-progress .art-control-progress-inner .art-progress-indicator:active{transform:scale(1)!important}.art-bottom .art-progress .art-control-progress .art-control-progress-inner .art-progress-tip{z-index:50;border-radius:var(--art-border-radius);white-space:nowrap;background-color:var(--art-tip-background);padding:3px 5px;font-size:12px;line-height:1;display:none;position:absolute;top:-25px;left:0}.art-bottom .art-progress .art-control-progress:hover .art-control-progress-inner{height:100%}.art-bottom .art-progress .art-control-thumbnails{bottom:calc(var(--art-bottom-gap) + 10px);border-radius:var(--art-border-radius);pointer-events:none;background-color:var(--art-widget-background);display:none;position:absolute;left:0;box-shadow:0 1px 3px #0003,0 1px 2px -1px #0003}.art-bottom:hover .art-progress .art-control-progress .art-control-progress-inner .art-progress-indicator{transform:scale(1)}.art-controls{z-index:10;pointer-events:auto;height:var(--art-control-height);justify-content:space-between;align-items:center;display:flex;position:relative}.art-controls .art-controls-left,.art-controls .art-controls-right{height:100%;display:flex}.art-controls .art-controls-center{flex:1;justify-content:center;align-items:center;height:100%;padding:0 10px;display:none}.art-controls .art-controls-right{justify-content:flex-end}.art-controls .art-control{cursor:pointer;white-space:nowrap;opacity:var(--art-control-opacity);min-height:var(--art-control-height);min-width:var(--art-control-height);transition:opacity var(--art-transition-duration)ease;flex-shrink:0;justify-content:center;align-items:center;display:flex}.art-controls .art-control .art-icon{height:var(--art-control-icon-size);width:var(--art-control-icon-size);transform:scale(var(--art-control-icon-scale));transition:transform var(--art-transition-duration)ease}.art-controls .art-control .art-icon:active{transform:scale(calc(var(--art-control-icon-scale)*.8))}.art-controls .art-control:hover{opacity:1}.art-control-volume{position:relative}.art-control-volume .art-volume-panel{text-align:center;cursor:default;opacity:0;pointer-events:none;left:0;right:0;bottom:var(--art-control-height);width:var(--art-control-height);height:var(--art-volume-height);transition:all var(--art-transition-duration)ease;justify-content:center;align-items:center;padding:0 5px;font-size:12px;display:flex;position:absolute;transform:translateY(10px)}.art-control-volume .art-volume-panel .art-volume-inner{border-radius:var(--art-border-radius);background-color:var(--art-widget-background);flex-direction:column;align-items:center;gap:10px;width:100%;height:100%;padding:10px 0 12px;display:flex}.art-control-volume .art-volume-panel .art-volume-inner .art-volume-slider{cursor:pointer;flex:1;justify-content:center;width:100%;display:flex;position:relative}.art-control-volume .art-volume-panel .art-volume-inner .art-volume-slider .art-volume-handle{border-radius:var(--art-border-radius);background-color:#ffffff40;justify-content:center;width:2px;display:flex;position:relative;overflow:hidden}.art-control-volume .art-volume-panel .art-volume-inner .art-volume-slider .art-volume-handle .art-volume-loaded{z-index:0;background-color:var(--art-theme);width:100%;height:100%;position:absolute;inset:0}.art-control-volume .art-volume-panel .art-volume-inner .art-volume-slider .art-volume-indicator{width:var(--art-volume-handle-size);height:var(--art-volume-handle-size);margin-top:calc(var(--art-volume-handle-size)/-2);background-color:var(--art-theme);transition:transform var(--art-transition-duration)ease;border-radius:100%;flex-shrink:0;position:absolute;transform:scale(1)}.art-control-volume .art-volume-panel .art-volume-inner .art-volume-slider:active .art-volume-indicator{transform:scale(.9)}.art-control-volume:hover .art-volume-panel{opacity:1;pointer-events:auto;transform:translateY(0)}.art-video-player .art-notice{z-index:80;padding:var(--art-padding);pointer-events:none;width:100%;height:auto;display:none;position:absolute;inset:0 0 auto}.art-video-player .art-notice .art-notice-inner{border-radius:var(--art-border-radius);background-color:var(--art-tip-background);padding:5px;line-height:1;display:inline-flex}.art-video-player.art-notice-show .art-notice{display:flex}.art-video-player .art-contextmenus{z-index:120;border-radius:var(--art-border-radius);background-color:var(--art-widget-background);min-width:var(--art-contextmenus-min-width);flex-direction:column;padding:5px 0;font-size:12px;display:none;position:absolute}.art-video-player .art-contextmenus .art-contextmenu{cursor:pointer;border-bottom:1px solid #ffffff1a;padding:10px 15px;display:flex}.art-video-player .art-contextmenus .art-contextmenu span{padding:0 8px}.art-video-player .art-contextmenus .art-contextmenu span:hover,.art-video-player .art-contextmenus .art-contextmenu span.art-current{color:var(--art-theme)}.art-video-player .art-contextmenus .art-contextmenu:hover{background-color:#ffffff1a}.art-video-player .art-contextmenus .art-contextmenu:last-child{border-bottom:none}.art-video-player.art-contextmenu-show .art-contextmenus{display:flex}.art-video-player .art-settings{z-index:90;border-radius:var(--art-border-radius);transform-origin:100% 100%;max-height:var(--art-settings-max-height);left:auto;right:var(--art-padding);bottom:var(--art-control-height);transform:scale(var(--art-settings-scale));transition:all var(--art-transition-duration)ease;background-color:var(--art-widget-background);flex-direction:column;display:none;position:absolute;overflow:hidden auto}.art-video-player .art-settings .art-setting-panel{flex-direction:column;display:none}.art-video-player .art-settings .art-setting-panel.art-current{display:flex}.art-video-player .art-settings .art-setting-panel .art-setting-item{cursor:pointer;transition:background-color var(--art-transition-duration)ease;justify-content:space-between;align-items:center;padding:0 5px;display:flex;overflow:hidden}.art-video-player .art-settings .art-setting-panel .art-setting-item:hover{background-color:#ffffff1a}.art-video-player .art-settings .art-setting-panel .art-setting-item.art-current{color:var(--art-theme)}.art-video-player .art-settings .art-setting-panel .art-setting-item .art-icon-check{visibility:hidden;height:15px}.art-video-player .art-settings .art-setting-panel .art-setting-item.art-current .art-icon-check{visibility:visible}.art-video-player .art-settings .art-setting-panel .art-setting-item .art-setting-item-left{justify-content:center;align-items:center;gap:5px;display:flex}.art-video-player .art-settings .art-setting-panel .art-setting-item .art-setting-item-left .art-setting-item-left-icon{height:var(--art-settings-icon-size);width:var(--art-settings-icon-size);justify-content:center;align-items:center;display:flex}.art-video-player .art-settings .art-setting-panel .art-setting-item .art-setting-item-right{justify-content:center;align-items:center;gap:5px;font-size:12px;display:flex}.art-video-player .art-settings .art-setting-panel .art-setting-item .art-setting-item-right .art-setting-item-right-tooltip{white-space:nowrap;color:#ffffff80}.art-video-player .art-settings .art-setting-panel .art-setting-item .art-setting-item-right .art-setting-item-right-icon{justify-content:center;align-items:center;min-width:32px;height:24px;display:flex}.art-video-player .art-settings .art-setting-panel .art-setting-item .art-setting-item-right .art-setting-range{appearance:none;background-color:#fff3;outline:none;width:80px;height:3px}.art-video-player .art-settings .art-setting-panel .art-setting-item-back{border-bottom:1px solid #ffffff1a}.art-video-player.art-setting-show .art-settings{display:flex}.art-video-player .art-info{left:var(--art-padding);top:var(--art-padding);z-index:100;border-radius:var(--art-border-radius);background-color:var(--art-widget-background);padding:10px;font-size:12px;display:none;position:absolute}.art-video-player .art-info .art-info-panel{flex-direction:column;gap:5px;display:flex}.art-video-player .art-info .art-info-panel .art-info-item{align-items:center;gap:5px;display:flex}.art-video-player .art-info .art-info-panel .art-info-item .art-info-title{text-align:right;width:100px}.art-video-player .art-info .art-info-panel .art-info-item .art-info-content{text-overflow:ellipsis;white-space:nowrap;user-select:all;width:250px;overflow:hidden}.art-video-player .art-info .art-info-close{cursor:pointer;position:absolute;top:5px;right:5px}.art-video-player.art-info-show .art-info{display:flex}.art-hide-cursor *{cursor:none!important}.art-video-player[data-aspect-ratio]{overflow:hidden}.art-video-player[data-aspect-ratio] .art-video{object-fit:fill;box-sizing:content-box}.art-fullscreen{--art-progress-height:8px;--art-indicator-size:20px;--art-control-height:60px;--art-control-icon-scale:1.3}.art-fullscreen-web{--art-progress-height:8px;--art-indicator-size:20px;--art-control-height:60px;--art-control-icon-scale:1.3;z-index:var(--art-fullscreen-web-index);width:100%;height:100%;position:fixed;inset:0}.art-mini-popup{z-index:9999;border-radius:var(--art-border-radius);cursor:move;user-select:none;background:#000;width:320px;height:180px;transition:opacity .2s;position:fixed;overflow:hidden;box-shadow:0 0 5px #00000080}.art-mini-popup svg{fill:#fff}.art-mini-popup .art-video{pointer-events:none}.art-mini-popup .art-mini-close{z-index:20;cursor:pointer;opacity:0;transition:opacity .2s;position:absolute;top:10px;right:10px}.art-mini-popup .art-mini-state{z-index:30;pointer-events:none;opacity:0;background-color:#00000040;justify-content:center;align-items:center;width:100%;height:100%;transition:opacity .2s;display:flex;position:absolute;inset:0}.art-mini-popup .art-mini-state .art-icon{opacity:.75;cursor:pointer;pointer-events:auto;transition:transform .2s;transform:scale(3)}.art-mini-popup .art-mini-state .art-icon:active{transform:scale(2.5)}.art-mini-popup.art-mini-droging{opacity:.9}.art-mini-popup:hover .art-mini-close,.art-mini-popup:hover .art-mini-state{opacity:1}.art-video-player[data-flip=horizontal] .art-video{transform:scaleX(-1)}.art-video-player[data-flip=vertical] .art-video{transform:scaleY(-1)}.art-video-player .art-layer-lock{height:var(--art-lock-size);width:var(--art-lock-size);top:50%;left:var(--art-padding);background-color:var(--art-tip-background);border-radius:50%;justify-content:center;align-items:center;display:none;position:absolute;transform:translateY(-50%)}.art-video-player .art-layer-auto-playback{border-radius:var(--art-border-radius);left:var(--art-padding);bottom:calc(var(--art-control-height) + var(--art-bottom-gap) + 10px);background-color:var(--art-widget-background);align-items:center;gap:10px;padding:10px;line-height:1;display:none;position:absolute}.art-video-player .art-layer-auto-playback .art-auto-playback-close{cursor:pointer;justify-content:center;align-items:center;display:flex}.art-video-player .art-layer-auto-playback .art-auto-playback-close svg{fill:var(--art-theme);width:15px;height:15px}.art-video-player .art-layer-auto-playback .art-auto-playback-jump{color:var(--art-theme);cursor:pointer}.art-video-player.art-lock .art-subtitle{bottom:var(--art-subtitle-bottom)!important}.art-video-player.art-mini-progress-bar .art-bottom,.art-video-player.art-lock .art-bottom{opacity:1;background-image:none;padding:0}.art-video-player.art-mini-progress-bar .art-bottom .art-controls,.art-video-player.art-lock .art-bottom .art-controls,.art-video-player.art-mini-progress-bar .art-bottom .art-progress,.art-video-player.art-lock .art-bottom .art-progress{transform:translateY(calc(var(--art-control-height) + var(--art-bottom-gap) + var(--art-progress-height)/4))}.art-video-player.art-mini-progress-bar .art-bottom .art-progress-indicator,.art-video-player.art-lock .art-bottom .art-progress-indicator{display:none!important}.art-video-player.art-control-show .art-layer-lock{display:flex}.art-control-selector{position:relative}.art-control-selector .art-selector-list{text-align:center;border-radius:var(--art-border-radius);opacity:0;pointer-events:none;bottom:var(--art-control-height);max-height:var(--art-selector-max-height);background-color:var(--art-widget-background);transition:all var(--art-transition-duration)ease;flex-direction:column;align-items:center;display:flex;position:absolute;overflow:hidden auto;transform:translateY(10px)}.art-control-selector .art-selector-list .art-selector-item{flex-shrink:0;justify-content:center;align-items:center;width:100%;padding:10px 15px;line-height:1;display:flex}.art-control-selector .art-selector-list .art-selector-item:hover{background-color:#ffffff1a}.art-control-selector .art-selector-list .art-selector-item:hover,.art-control-selector .art-selector-list .art-selector-item.art-current{color:var(--art-theme)}.art-control-selector:hover .art-selector-list{opacity:1;pointer-events:auto;transform:translateY(0)}[class*=hint--]{font-style:normal;display:inline-block;position:relative}[class*=hint--]:before,[class*=hint--]:after{visibility:hidden;opacity:0;z-index:1000000;pointer-events:none;transition:all .3s;position:absolute;transform:translate(0,0)}[class*=hint--]:hover:before,[class*=hint--]:hover:after{visibility:visible;opacity:1;transition-delay:.1s}[class*=hint--]:before{content:"";z-index:1000001;background:0 0;border:6px solid #0000;position:absolute}[class*=hint--]:after{color:#fff;white-space:nowrap;background:#000;padding:8px 10px;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:12px;line-height:12px}[class*=hint--][aria-label]:after{content:attr(aria-label)}[class*=hint--][data-hint]:after{content:attr(data-hint)}[aria-label=""]:before,[aria-label=""]:after,[data-hint=""]:before,[data-hint=""]:after{display:none!important}.hint--top-left:before,.hint--top-right:before,.hint--top:before{border-top-color:#000}.hint--bottom-left:before,.hint--bottom-right:before,.hint--bottom:before{border-bottom-color:#000}.hint--left:before{border-left-color:#000}.hint--right:before{border-right-color:#000}.hint--top:before{margin-bottom:-11px}.hint--top:before,.hint--top:after{bottom:100%;left:50%}.hint--top:before{left:calc(50% - 6px)}.hint--top:after{transform:translate(-50%)}.hint--top:hover:before{transform:translateY(-8px)}.hint--top:hover:after{transform:translate(-50%)translateY(-8px)}.hint--bottom:before{margin-top:-11px}.hint--bottom:before,.hint--bottom:after{top:100%;left:50%}.hint--bottom:before{left:calc(50% - 6px)}.hint--bottom:after{transform:translate(-50%)}.hint--bottom:hover:before{transform:translateY(8px)}.hint--bottom:hover:after{transform:translate(-50%)translateY(8px)}.hint--right:before{margin-bottom:-6px;margin-left:-11px}.hint--right:after{margin-bottom:-14px}.hint--right:before,.hint--right:after{bottom:50%;left:100%}.hint--right:hover:before,.hint--right:hover:after{transform:translate(8px)}.hint--left:before{margin-bottom:-6px;margin-right:-11px}.hint--left:after{margin-bottom:-14px}.hint--left:before,.hint--left:after{bottom:50%;right:100%}.hint--left:hover:before,.hint--left:hover:after{transform:translate(-8px)}.hint--top-left:before{margin-bottom:-11px}.hint--top-left:before,.hint--top-left:after{bottom:100%;left:50%}.hint--top-left:before{left:calc(50% - 6px)}.hint--top-left:after{margin-left:12px;transform:translate(-100%)}.hint--top-left:hover:before{transform:translateY(-8px)}.hint--top-left:hover:after{transform:translate(-100%)translateY(-8px)}.hint--top-right:before{margin-bottom:-11px}.hint--top-right:before,.hint--top-right:after{bottom:100%;left:50%}.hint--top-right:before{left:calc(50% - 6px)}.hint--top-right:after{margin-left:-12px;transform:translate(0)}.hint--top-right:hover:before,.hint--top-right:hover:after{transform:translateY(-8px)}.hint--bottom-left:before{margin-top:-11px}.hint--bottom-left:before,.hint--bottom-left:after{top:100%;left:50%}.hint--bottom-left:before{left:calc(50% - 6px)}.hint--bottom-left:after{margin-left:12px;transform:translate(-100%)}.hint--bottom-left:hover:before{transform:translateY(8px)}.hint--bottom-left:hover:after{transform:translate(-100%)translateY(8px)}.hint--bottom-right:before{margin-top:-11px}.hint--bottom-right:before,.hint--bottom-right:after{top:100%;left:50%}.hint--bottom-right:before{left:calc(50% - 6px)}.hint--bottom-right:after{margin-left:-12px;transform:translate(0)}.hint--bottom-right:hover:before,.hint--bottom-right:hover:after{transform:translateY(8px)}.hint--small:after,.hint--medium:after,.hint--large:after{white-space:normal;word-wrap:break-word;line-height:1.4em}.hint--small:after{width:80px}.hint--medium:after{width:150px}.hint--large:after{width:300px}[class*=hint--]:after{text-shadow:0 -1px #000;box-shadow:4px 4px 8px #0000004d}.hint--error:after{text-shadow:0 -1px #592726;background-color:#b34e4d}.hint--error.hint--top-left:before,.hint--error.hint--top-right:before,.hint--error.hint--top:before{border-top-color:#b34e4d}.hint--error.hint--bottom-left:before,.hint--error.hint--bottom-right:before,.hint--error.hint--bottom:before{border-bottom-color:#b34e4d}.hint--error.hint--left:before{border-left-color:#b34e4d}.hint--error.hint--right:before{border-right-color:#b34e4d}.hint--warning:after{text-shadow:0 -1px #6c5328;background-color:#c09854}.hint--warning.hint--top-left:before,.hint--warning.hint--top-right:before,.hint--warning.hint--top:before{border-top-color:#c09854}.hint--warning.hint--bottom-left:before,.hint--warning.hint--bottom-right:before,.hint--warning.hint--bottom:before{border-bottom-color:#c09854}.hint--warning.hint--left:before{border-left-color:#c09854}.hint--warning.hint--right:before{border-right-color:#c09854}.hint--info:after{text-shadow:0 -1px #1a3c4d;background-color:#3986ac}.hint--info.hint--top-left:before,.hint--info.hint--top-right:before,.hint--info.hint--top:before{border-top-color:#3986ac}.hint--info.hint--bottom-left:before,.hint--info.hint--bottom-right:before,.hint--info.hint--bottom:before{border-bottom-color:#3986ac}.hint--info.hint--left:before{border-left-color:#3986ac}.hint--info.hint--right:before{border-right-color:#3986ac}.hint--success:after{text-shadow:0 -1px #1a321a;background-color:#458746}.hint--success.hint--top-left:before,.hint--success.hint--top-right:before,.hint--success.hint--top:before{border-top-color:#458746}.hint--success.hint--bottom-left:before,.hint--success.hint--bottom-right:before,.hint--success.hint--bottom:before{border-bottom-color:#458746}.hint--success.hint--left:before{border-left-color:#458746}.hint--success.hint--right:before{border-right-color:#458746}.hint--always:after,.hint--always:before{opacity:1;visibility:visible}.hint--always.hint--top:before{transform:translateY(-8px)}.hint--always.hint--top:after{transform:translate(-50%)translateY(-8px)}.hint--always.hint--top-left:before{transform:translateY(-8px)}.hint--always.hint--top-left:after{transform:translate(-100%)translateY(-8px)}.hint--always.hint--top-right:before,.hint--always.hint--top-right:after{transform:translateY(-8px)}.hint--always.hint--bottom:before{transform:translateY(8px)}.hint--always.hint--bottom:after{transform:translate(-50%)translateY(8px)}.hint--always.hint--bottom-left:before{transform:translateY(8px)}.hint--always.hint--bottom-left:after{transform:translate(-100%)translateY(8px)}.hint--always.hint--bottom-right:before,.hint--always.hint--bottom-right:after{transform:translateY(8px)}.hint--always.hint--left:before,.hint--always.hint--left:after{transform:translate(-8px)}.hint--always.hint--right:before,.hint--always.hint--right:after{transform:translate(8px)}.hint--rounded:after{border-radius:4px}.hint--no-animate:before,.hint--no-animate:after{transition-duration:0s}.hint--bounce:before,.hint--bounce:after{-webkit-transition:opacity .3s,visibility .3s,-webkit-transform .3s cubic-bezier(.71,1.7,.77,1.24);-moz-transition:opacity .3s,visibility .3s,-moz-transform .3s cubic-bezier(.71,1.7,.77,1.24);transition:opacity .3s,visibility .3s,transform .3s cubic-bezier(.71,1.7,.77,1.24)}.hint--no-shadow:before,.hint--no-shadow:after{text-shadow:initial;box-shadow:initial}.hint--no-arrow:before{display:none}.art-video-player.art-mobile{--art-bottom-gap:10px;--art-control-height:38px;--art-control-icon-scale:1;--art-state-size:60px;--art-settings-max-height:180px;--art-selector-max-height:180px;--art-indicator-scale:1;--art-control-opacity:1}.art-video-player.art-mobile .art-controls-left{margin-left:calc(var(--art-padding)/-1)}.art-video-player.art-mobile .art-controls-right{margin-right:calc(var(--art-padding)/-1)}'},{}],"9I0i9":[function(e,t,r){var a;a=function(){function e(t){return(e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(t)}var t=Object.prototype.toString,r=function(r){if(void 0===r)return"undefined";if(null===r)return"null";var i=e(r);if("boolean"===i)return"boolean";if("string"===i)return"string";if("number"===i)return"number";if("symbol"===i)return"symbol";if("function"===i)return"GeneratorFunction"===a(r)?"generatorfunction":"function";if(Array.isArray?Array.isArray(r):r instanceof Array)return"array";if(r.constructor&&"function"==typeof r.constructor.isBuffer&&r.constructor.isBuffer(r))return"buffer";if(function(e){try{if("number"==typeof e.length&&"function"==typeof e.callee)return!0}catch(e){if(-1!==e.message.indexOf("callee"))return!0}return!1}(r))return"arguments";if(r instanceof Date||"function"==typeof r.toDateString&&"function"==typeof r.getDate&&"function"==typeof r.setDate)return"date";if(r instanceof Error||"string"==typeof r.message&&r.constructor&&"number"==typeof r.constructor.stackTraceLimit)return"error";if(r instanceof RegExp||"string"==typeof r.flags&&"boolean"==typeof r.ignoreCase&&"boolean"==typeof r.multiline&&"boolean"==typeof r.global)return"regexp";switch(a(r)){case"Symbol":return"symbol";case"Promise":return"promise";case"WeakMap":return"weakmap";case"WeakSet":return"weakset";case"Map":return"map";case"Set":return"set";case"Int8Array":return"int8array";case"Uint8Array":return"uint8array";case"Uint8ClampedArray":return"uint8clampedarray";case"Int16Array":return"int16array";case"Uint16Array":return"uint16array";case"Int32Array":return"int32array";case"Uint32Array":return"uint32array";case"Float32Array":return"float32array";case"Float64Array":return"float64array"}if("function"==typeof r.throw&&"function"==typeof r.return&&"function"==typeof r.next)return"generator";switch(i=t.call(r)){case"[object Object]":return"object";case"[object Map Iterator]":return"mapiterator";case"[object Set Iterator]":return"setiterator";case"[object String Iterator]":return"stringiterator";case"[object Array Iterator]":return"arrayiterator"}return i.slice(8,-1).toLowerCase().replace(/\s/g,"")};function a(e){return e.constructor?e.constructor.name:null}function i(e,t){var a=2o),a.export(r,"queryAll",()=>n),a.export(r,"addClass",()=>s),a.export(r,"removeClass",()=>l),a.export(r,"hasClass",()=>c),a.export(r,"append",()=>u),a.export(r,"remove",()=>p),a.export(r,"setStyle",()=>d),a.export(r,"setStyles",()=>f),a.export(r,"getStyle",()=>h),a.export(r,"sublings",()=>m),a.export(r,"inverseClass",()=>g),a.export(r,"tooltip",()=>v),a.export(r,"isInViewport",()=>y),a.export(r,"includeFromEvent",()=>b),a.export(r,"replaceElement",()=>x),a.export(r,"createElement",()=>w),a.export(r,"getIcon",()=>j),a.export(r,"setStyleText",()=>k),a.export(r,"supportsFlex",()=>S),a.export(r,"getRect",()=>I);var i=e("./compatibility");function o(e,t=document){return t.querySelector(e)}function n(e,t=document){return Array.from(t.querySelectorAll(e))}function s(e,t){return e.classList.add(t)}function l(e,t){return e.classList.remove(t)}function c(e,t){return e.classList.contains(t)}function u(e,t){return t instanceof Element?e.appendChild(t):e.insertAdjacentHTML("beforeend",String(t)),e.lastElementChild||e.lastChild}function p(e){return e.parentNode.removeChild(e)}function d(e,t,r){return e.style[t]=r,e}function f(e,t){for(let r in t)d(e,r,t[r]);return e}function h(e,t,r=!0){let a=window.getComputedStyle(e,null).getPropertyValue(t);return r?parseFloat(a):a}function m(e){return Array.from(e.parentElement.children).filter(t=>t!==e)}function g(e,t){m(e).forEach(e=>l(e,t)),s(e,t)}function v(e,t,r="top"){i.isMobile||(e.setAttribute("aria-label",t),s(e,"hint--rounded"),s(e,`hint--${r}`))}function y(e,t=0){let r=e.getBoundingClientRect(),a=window.innerHeight||document.documentElement.clientHeight,i=window.innerWidth||document.documentElement.clientWidth,o=r.top-t<=a&&r.top+r.height+t>=0,n=r.left-t<=i+t&&r.left+r.width+t>=0;return o&&n}function b(e,t){return e.composedPath&&e.composedPath().indexOf(t)>-1}function x(e,t){return t.parentNode.replaceChild(e,t),e}function w(e){return document.createElement(e)}function j(e="",t=""){let r=w("i");return s(r,"art-icon"),s(r,`art-icon-${e}`),u(r,t),r}function k(e,t){let r=document.getElementById(e);if(r)r.textContent=t;else{let r=w("style");r.id=e,r.textContent=t,document.head.appendChild(r)}}function S(){let e=document.createElement("div");return e.style.display="flex","flex"===e.style.display}function I(e){return e.getBoundingClientRect()}},{"./compatibility":"luXC1","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],luXC1:[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r),a.export(r,"userAgent",()=>i),a.export(r,"isSafari",()=>o),a.export(r,"isWechat",()=>n),a.export(r,"isIE",()=>s),a.export(r,"isAndroid",()=>l),a.export(r,"isIOS",()=>c),a.export(r,"isIOS13",()=>u),a.export(r,"isMobile",()=>p),a.export(r,"isBrowser",()=>d);let i="undefined"!=typeof navigator?navigator.userAgent:"",o=/^((?!chrome|android).)*safari/i.test(i),n=/MicroMessenger/i.test(i),s=/MSIE|Trident/i.test(i),l=/android/i.test(i),c=/iPad|iPhone|iPod/i.test(i)&&!window.MSStream,u=c||i.includes("Macintosh")&&navigator.maxTouchPoints>=1,p=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(i)||u,d="undefined"!=typeof window},{"@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],"2nFlF":[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r),a.export(r,"ArtPlayerError",()=>i),a.export(r,"errorHandle",()=>o);class i extends Error{constructor(e,t){super(e),"function"==typeof Error.captureStackTrace&&Error.captureStackTrace(this,t||this.constructor),this.name="ArtPlayerError"}}function o(e,t){if(!e)throw new i(t);return e}},{"@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],yqFoT:[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");function i(e){return"WEBVTT \r\n\r\n".concat(e.replace(/(\d\d:\d\d:\d\d)[,.](\d+)/g,(e,t,r)=>{let a=r.slice(0,3);return 1===r.length&&(a=r+"00"),2===r.length&&(a=r+"0"),`${t},${a}`}).replace(/\{\\([ibu])\}/g,"").replace(/\{\\([ibu])1\}/g,"<$1>").replace(/\{([ibu])\}/g,"<$1>").replace(/\{\/([ibu])\}/g,"").replace(/(\d\d:\d\d:\d\d),(\d\d\d)/g,"$1.$2").replace(/{[\s\S]*?}/g,"").concat("\r\n\r\n"))}function o(e){return URL.createObjectURL(new Blob([e],{type:"text/vtt"}))}function n(e){let t=RegExp("Dialogue:\\s\\d,(\\d+:\\d\\d:\\d\\d.\\d\\d),(\\d+:\\d\\d:\\d\\d.\\d\\d),([^,]*),([^,]*),(?:[^,]*,){4}([\\s\\S]*)$","i");function r(e=""){return e.split(/[:.]/).map((e,t,r)=>{if(t===r.length-1){if(1===e.length)return`.${e}00`;if(2===e.length)return`.${e}0`}else if(1===e.length)return(0===t?"0":":0")+e;return 0===t?e:t===r.length-1?`.${e}`:`:${e}`}).join("")}return"WEBVTT\n\n"+e.split(/\r?\n/).map(e=>{let a=e.match(t);return a?{start:r(a[1].trim()),end:r(a[2].trim()),text:a[5].replace(/{[\s\S]*?}/g,"").replace(/(\\N)/g,"\n").trim().split(/\r?\n/).map(e=>e.trim()).join("\n")}:null}).filter(e=>e).map((e,t)=>e?t+1+"\n"+`${e.start} --> ${e.end}`+"\n"+`${e.text}`:"").filter(e=>e.trim()).join("\n\n")}a.defineInteropFlag(r),a.export(r,"srtToVtt",()=>i),a.export(r,"vttToBlob",()=>o),a.export(r,"assToVtt",()=>n)},{"@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],"1VRQn":[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");function i(e,t){let r=document.createElement("a");r.style.display="none",r.href=e,r.download=t,document.body.appendChild(r),r.click(),document.body.removeChild(r)}a.defineInteropFlag(r),a.export(r,"getExt",()=>function e(t){return t.includes("?")?e(t.split("?")[0]):t.includes("#")?e(t.split("#")[0]):t.trim().toLowerCase().split(".").pop()}),a.export(r,"download",()=>i)},{"@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],"3weX2":[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r),a.export(r,"def",()=>i),a.export(r,"has",()=>n),a.export(r,"get",()=>s),a.export(r,"mergeDeep",()=>function e(...t){let r=e=>e&&"object"==typeof e&&!Array.isArray(e);return t.reduce((t,a)=>(Object.keys(a).forEach(i=>{let o=t[i],n=a[i];Array.isArray(o)&&Array.isArray(n)?t[i]=o.concat(...n):r(o)&&r(n)?t[i]=e(o,n):t[i]=n}),t),{})});let i=Object.defineProperty,{hasOwnProperty:o}=Object.prototype;function n(e,t){return o.call(e,t)}function s(e,t){return Object.getOwnPropertyDescriptor(e,t)}},{"@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],"7kBIx":[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");function i(e=0){return new Promise(t=>setTimeout(t,e))}function o(e,t){let r;return function(...a){clearTimeout(r),r=setTimeout(()=>(r=null,e.apply(this,a)),t)}}function n(e,t){let r=!1;return function(...a){r||(e.apply(this,a),r=!0,setTimeout(function(){r=!1},t))}}a.defineInteropFlag(r),a.export(r,"sleep",()=>i),a.export(r,"debounce",()=>o),a.export(r,"throttle",()=>n)},{"@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],"13atT":[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");function i(e,t,r){return Math.max(Math.min(e,Math.max(t,r)),Math.min(t,r))}function o(e){return e.charAt(0).toUpperCase()+e.slice(1)}function n(e){return["string","number"].includes(typeof e)}function s(e){if(!e)return"00:00";let t=Math.floor(e/3600),r=Math.floor((e-3600*t)/60),a=Math.floor(e-3600*t-60*r);return(t>0?[t,r,a]:[r,a]).map(e=>e<10?`0${e}`:String(e)).join(":")}function l(e){return e.replace(/[&<>'"]/g,e=>({"&":"&","<":"<",">":">","'":"'",'"':"""})[e]||e)}function c(e){let t={"&":"&","<":"<",">":">","'":"'",""":'"'},r=RegExp(`(${Object.keys(t).join("|")})`,"g");return e.replace(r,e=>t[e]||e)}a.defineInteropFlag(r),a.export(r,"clamp",()=>i),a.export(r,"capitalize",()=>o),a.export(r,"isStringOrNumber",()=>n),a.export(r,"secondToTime",()=>s),a.export(r,"escape",()=>l),a.export(r,"unescape",()=>c)},{"@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],AdvwB:[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r),a.export(r,"ComponentOption",()=>d);var i=e("../utils");let o="array",n="boolean",s="string",l="number",c="object",u="function";function p(e,t,r){return(0,i.errorHandle)(t===s||t===l||e instanceof Element,`${r.join(".")} require '${s}' or 'Element' type`)}let d={html:p,disable:`?${n}`,name:`?${s}`,index:`?${l}`,style:`?${c}`,click:`?${u}`,mounted:`?${u}`,tooltip:`?${s}|${l}`,width:`?${l}`,selector:`?${o}`,onSelect:`?${u}`,switch:`?${n}`,onSwitch:`?${u}`,range:`?${o}`,onRange:`?${u}`,onChange:`?${u}`};r.default={id:s,container:p,url:s,poster:s,type:s,theme:s,lang:s,volume:l,isLive:n,muted:n,autoplay:n,autoSize:n,autoMini:n,loop:n,flip:n,playbackRate:n,aspectRatio:n,screenshot:n,setting:n,hotkey:n,pip:n,mutex:n,backdrop:n,fullscreen:n,fullscreenWeb:n,subtitleOffset:n,miniProgressBar:n,useSSR:n,playsInline:n,lock:n,fastForward:n,autoPlayback:n,autoOrientation:n,airplay:n,plugins:[u],layers:[d],contextmenu:[d],settings:[d],controls:[{...d,position:(e,t,r)=>{let a=["top","left","right"];return(0,i.errorHandle)(a.includes(e),`${r.join(".")} only accept ${a.toString()} as parameters`)}}],quality:[{default:`?${n}`,html:s,url:s}],highlight:[{time:l,text:s}],thumbnails:{url:s,number:l,column:l,width:l,height:l},subtitle:{url:s,name:s,type:s,style:c,escape:n,encoding:s,onVttLoad:u},moreVideoAttr:c,i18n:c,icons:c,cssVar:c,customType:c}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],"9Xmqu":[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r),r.default={propertys:["audioTracks","autoplay","buffered","controller","controls","crossOrigin","currentSrc","currentTime","defaultMuted","defaultPlaybackRate","duration","ended","error","loop","mediaGroup","muted","networkState","paused","playbackRate","played","preload","readyState","seekable","seeking","src","startDate","textTracks","videoTracks","volume"],methods:["addTextTrack","canPlayType","load","play","pause"],events:["abort","canplay","canplaythrough","durationchange","emptied","ended","error","loadeddata","loadedmetadata","loadstart","pause","play","playing","progress","ratechange","seeked","seeking","stalled","suspend","timeupdate","volumechange","waiting"],prototypes:["width","height","videoWidth","videoHeight","poster","webkitDecodedFrameCount","webkitDroppedFrameCount","playsInline","webkitSupportsFullscreen","webkitDisplayingFullscreen","onenterpictureinpicture","onleavepictureinpicture","disablePictureInPicture","cancelVideoFrameCallback","requestVideoFrameCallback","getVideoPlaybackQuality","requestPictureInPicture","webkitEnterFullScreen","webkitEnterFullscreen","webkitExitFullScreen","webkitExitFullscreen"]}},{"@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],"2gKYH":[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var a=e("./utils");class i{constructor(e){this.art=e;let{option:t,constructor:r}=e;t.container instanceof Element?this.$container=t.container:(this.$container=(0,a.query)(t.container),(0,a.errorHandle)(this.$container,`No container element found by ${t.container}`)),(0,a.errorHandle)((0,a.supportsFlex)(),"The current browser does not support flex layout");let i=this.$container.tagName.toLowerCase();(0,a.errorHandle)("div"===i,`Unsupported container element type, only support 'div' but got '${i}'`),(0,a.errorHandle)(r.instances.every(e=>e.template.$container!==this.$container),"Cannot mount multiple instances on the same dom element"),this.query=this.query.bind(this),this.$container.dataset.artId=e.id,this.init()}static get html(){return`
Player version:
5.1.7
Video url:
Video volume:
Video time:
Video duration:
Video resolution:
x
[x]
`}query(e){return(0,a.query)(e,this.$container)}init(){let{option:e}=this.art;e.useSSR||(this.$container.innerHTML=i.html),this.$player=this.query(".art-video-player"),this.$video=this.query(".art-video"),this.$track=this.query("track"),this.$poster=this.query(".art-poster"),this.$subtitle=this.query(".art-subtitle"),this.$danmuku=this.query(".art-danmuku"),this.$bottom=this.query(".art-bottom"),this.$progress=this.query(".art-progress"),this.$controls=this.query(".art-controls"),this.$controlsLeft=this.query(".art-controls-left"),this.$controlsCenter=this.query(".art-controls-center"),this.$controlsRight=this.query(".art-controls-right"),this.$layer=this.query(".art-layers"),this.$loading=this.query(".art-loading"),this.$notice=this.query(".art-notice"),this.$noticeInner=this.query(".art-notice-inner"),this.$mask=this.query(".art-mask"),this.$state=this.query(".art-state"),this.$setting=this.query(".art-settings"),this.$info=this.query(".art-info"),this.$infoPanel=this.query(".art-info-panel"),this.$infoClose=this.query(".art-info-close"),this.$contextmenu=this.query(".art-contextmenus"),e.backdrop&&(0,a.addClass)(this.$player,"art-backdrop"),a.isMobile&&(0,a.addClass)(this.$player,"art-mobile")}destroy(e){e?this.$container.innerHTML="":(0,a.addClass)(this.$player,"art-destroy")}}r.default=i},{"./utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],"1AdeF":[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r);var i=e("../utils"),o=e("./zh-cn"),n=a.interopDefault(o);r.default=class{constructor(e){this.art=e,this.languages={"zh-cn":n.default},this.language={},this.update(e.option.i18n)}init(){let e=this.art.option.lang.toLowerCase();this.language=this.languages[e]||{}}get(e){return this.language[e]||e}update(e){this.languages=(0,i.mergeDeep)(this.languages,e),this.init()}}},{"../utils":"h3rH9","./zh-cn":"3ZSKq","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],"3ZSKq":[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);let a={"Video Info":"统计信息",Close:"关闭","Video Load Failed":"加载失败",Volume:"音量",Play:"播放",Pause:"暂停",Rate:"速度",Mute:"静音","Video Flip":"画面翻转",Horizontal:"水平",Vertical:"垂直",Reconnect:"重新连接","Show Setting":"显示设置","Hide Setting":"隐藏设置",Screenshot:"截图","Play Speed":"播放速度","Aspect Ratio":"画面比例",Default:"默认",Normal:"正常",Open:"打开","Switch Video":"切换","Switch Subtitle":"切换字幕",Fullscreen:"全屏","Exit Fullscreen":"退出全屏","Web Fullscreen":"网页全屏","Exit Web Fullscreen":"退出网页全屏","Mini Player":"迷你播放器","PIP Mode":"开启画中画","Exit PIP Mode":"退出画中画","PIP Not Supported":"不支持画中画","Fullscreen Not Supported":"不支持全屏","Subtitle Offset":"字幕偏移","Last Seen":"上次看到","Jump Play":"跳转播放",AirPlay:"隔空播放","AirPlay Not Available":"隔空播放不可用"};r.default=a,"undefined"!=typeof window&&(window["artplayer-i18n-zh-cn"]=a)},{"@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],"556MW":[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r);var i=e("./urlMix"),o=a.interopDefault(i),n=e("./attrMix"),s=a.interopDefault(n),l=e("./playMix"),c=a.interopDefault(l),u=e("./pauseMix"),p=a.interopDefault(u),d=e("./toggleMix"),f=a.interopDefault(d),h=e("./seekMix"),m=a.interopDefault(h),g=e("./volumeMix"),v=a.interopDefault(g),y=e("./currentTimeMix"),b=a.interopDefault(y),x=e("./durationMix"),w=a.interopDefault(x),j=e("./switchMix"),k=a.interopDefault(j),S=e("./playbackRateMix"),I=a.interopDefault(S),T=e("./aspectRatioMix"),O=a.interopDefault(T),E=e("./screenshotMix"),M=a.interopDefault(E),$=e("./fullscreenMix"),F=a.interopDefault($),C=e("./fullscreenWebMix"),D=a.interopDefault(C),H=e("./pipMix"),B=a.interopDefault(H),z=e("./loadedMix"),R=a.interopDefault(z),A=e("./playedMix"),L=a.interopDefault(A),P=e("./playingMix"),N=a.interopDefault(P),Z=e("./autoSizeMix"),_=a.interopDefault(Z),q=e("./rectMix"),V=a.interopDefault(q),W=e("./flipMix"),U=a.interopDefault(W),Y=e("./miniMix"),K=a.interopDefault(Y),X=e("./posterMix"),G=a.interopDefault(X),J=e("./autoHeightMix"),Q=a.interopDefault(J),ee=e("./cssVarMix"),et=a.interopDefault(ee),er=e("./themeMix"),ea=a.interopDefault(er),ei=e("./typeMix"),eo=a.interopDefault(ei),en=e("./stateMix"),es=a.interopDefault(en),el=e("./subtitleOffsetMix"),ec=a.interopDefault(el),eu=e("./airplayMix"),ep=a.interopDefault(eu),ed=e("./qualityMix"),ef=a.interopDefault(ed),eh=e("./thumbnailsMix"),em=a.interopDefault(eh),eg=e("./optionInit"),ev=a.interopDefault(eg),ey=e("./eventInit"),eb=a.interopDefault(ey);r.default=class{constructor(e){(0,o.default)(e),(0,s.default)(e),(0,c.default)(e),(0,p.default)(e),(0,f.default)(e),(0,m.default)(e),(0,v.default)(e),(0,b.default)(e),(0,w.default)(e),(0,k.default)(e),(0,I.default)(e),(0,O.default)(e),(0,M.default)(e),(0,F.default)(e),(0,D.default)(e),(0,B.default)(e),(0,R.default)(e),(0,L.default)(e),(0,N.default)(e),(0,_.default)(e),(0,V.default)(e),(0,U.default)(e),(0,K.default)(e),(0,G.default)(e),(0,Q.default)(e),(0,et.default)(e),(0,ea.default)(e),(0,eo.default)(e),(0,es.default)(e),(0,ec.default)(e),(0,ep.default)(e),(0,ef.default)(e),(0,em.default)(e),(0,eb.default)(e),(0,ev.default)(e)}}},{"./urlMix":"2mRAc","./attrMix":"2EA19","./playMix":"fD2Tc","./pauseMix":"c3LGJ","./toggleMix":"fVsAa","./seekMix":"dmROF","./volumeMix":"9jtfB","./currentTimeMix":"7NCDR","./durationMix":"YS7JL","./switchMix":"dzUqN","./playbackRateMix":"5I2mT","./aspectRatioMix":"7m6R8","./screenshotMix":"2dgtR","./fullscreenMix":"fKDW8","./fullscreenWebMix":"lNvYI","./pipMix":"8j7oC","./loadedMix":"dwVOT","./playedMix":"dDeLx","./playingMix":"ceoBp","./autoSizeMix":"lcWXX","./rectMix":"f7y88","./flipMix":"l4qt5","./miniMix":"9ZPBQ","./posterMix":"5K8hA","./autoHeightMix":"3T5ls","./cssVarMix":"6KfHs","./themeMix":"7lcSc","./typeMix":"8JgTw","./stateMix":"cebt1","./subtitleOffsetMix":"hJvIy","./airplayMix":"4Tp0U","./qualityMix":"3wZgN","./thumbnailsMix":"k56Iy","./optionInit":"iPdgW","./eventInit":"3mj0J","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],"2mRAc":[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r),a.export(r,"default",()=>o);var i=e("../utils");function o(e){let{option:t,template:{$video:r}}=e;(0,i.def)(e,"url",{get:()=>r.src,async set(a){if(a){let o=e.url,n=t.type||(0,i.getExt)(a),s=t.customType[n];n&&s?(await (0,i.sleep)(),e.loading.show=!0,s.call(e,r,a,e)):(URL.revokeObjectURL(o),r.src=a),o!==e.url&&(e.option.url=a,e.isReady&&o&&e.once("video:canplay",()=>{e.emit("restart",a)}))}else await (0,i.sleep)(),e.loading.show=!0}})}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],"2EA19":[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r),a.export(r,"default",()=>o);var i=e("../utils");function o(e){let{template:{$video:t}}=e;(0,i.def)(e,"attr",{value(e,r){if(void 0===r)return t[e];t[e]=r}})}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],fD2Tc:[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r),a.export(r,"default",()=>o);var i=e("../utils");function o(e){let{i18n:t,notice:r,option:a,constructor:{instances:o},template:{$video:n}}=e;(0,i.def)(e,"play",{value:async function(){let i=await n.play();if(r.show=t.get("Play"),e.emit("play"),a.mutex)for(let t=0;to);var i=e("../utils");function o(e){let{template:{$video:t},i18n:r,notice:a}=e;(0,i.def)(e,"pause",{value(){let i=t.pause();return a.show=r.get("Pause"),e.emit("pause"),i}})}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],fVsAa:[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r),a.export(r,"default",()=>o);var i=e("../utils");function o(e){(0,i.def)(e,"toggle",{value:()=>e.playing?e.pause():e.play()})}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],dmROF:[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r),a.export(r,"default",()=>o);var i=e("../utils");function o(e){let{notice:t}=e;(0,i.def)(e,"seek",{set(r){e.currentTime=r,e.emit("seek",e.currentTime),e.duration&&(t.show=`${(0,i.secondToTime)(e.currentTime)} / ${(0,i.secondToTime)(e.duration)}`)}}),(0,i.def)(e,"forward",{set(t){e.seek=e.currentTime+t}}),(0,i.def)(e,"backward",{set(t){e.seek=e.currentTime-t}})}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],"9jtfB":[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r),a.export(r,"default",()=>o);var i=e("../utils");function o(e){let{template:{$video:t},i18n:r,notice:a,storage:o}=e;(0,i.def)(e,"volume",{get:()=>t.volume||0,set:e=>{t.volume=(0,i.clamp)(e,0,1),a.show=`${r.get("Volume")}: ${parseInt(100*t.volume,10)}`,0!==t.volume&&o.set("volume",t.volume)}}),(0,i.def)(e,"muted",{get:()=>t.muted,set:r=>{t.muted=r,e.emit("muted",r)}})}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],"7NCDR":[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r),a.export(r,"default",()=>o);var i=e("../utils");function o(e){let{$video:t}=e.template;(0,i.def)(e,"currentTime",{get:()=>t.currentTime||0,set:r=>{Number.isNaN(r=parseFloat(r))||(t.currentTime=(0,i.clamp)(r,0,e.duration))}})}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],YS7JL:[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r),a.export(r,"default",()=>o);var i=e("../utils");function o(e){(0,i.def)(e,"duration",{get:()=>{let{duration:t}=e.template.$video;return t===1/0?0:t||0}})}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],dzUqN:[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r),a.export(r,"default",()=>o);var i=e("../utils");function o(e){function t(t,r){return new Promise((a,i)=>{if(t===e.url)return;let{playing:o,aspectRatio:n,playbackRate:s}=e;e.pause(),e.url=t,e.notice.show="",e.once("video:error",i),e.once("video:loadedmetadata",()=>{e.currentTime=r}),e.once("video:canplay",async()=>{e.playbackRate=s,e.aspectRatio=n,o&&await e.play(),e.notice.show="",a()})})}(0,i.def)(e,"switchQuality",{value:r=>t(r,e.currentTime)}),(0,i.def)(e,"switchUrl",{value:e=>t(e,0)}),(0,i.def)(e,"switch",{set:e.switchUrl})}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],"5I2mT":[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r),a.export(r,"default",()=>o);var i=e("../utils");function o(e){let{template:{$video:t},i18n:r,notice:a}=e;(0,i.def)(e,"playbackRate",{get:()=>t.playbackRate,set(i){i?i!==t.playbackRate&&(t.playbackRate=i,a.show=`${r.get("Rate")}: ${1===i?r.get("Normal"):`${i}x`}`):e.playbackRate=1}})}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],"7m6R8":[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r),a.export(r,"default",()=>o);var i=e("../utils");function o(e){let{i18n:t,notice:r,template:{$video:a,$player:o}}=e;(0,i.def)(e,"aspectRatio",{get:()=>o.dataset.aspectRatio||"default",set(n){if(n||(n="default"),"default"===n)(0,i.setStyle)(a,"width",null),(0,i.setStyle)(a,"height",null),(0,i.setStyle)(a,"margin",null),delete o.dataset.aspectRatio;else{let e=n.split(":").map(Number),{clientWidth:t,clientHeight:r}=o,s=e[0]/e[1];t/r>s?((0,i.setStyle)(a,"width",`${s*r}px`),(0,i.setStyle)(a,"height","100%"),(0,i.setStyle)(a,"margin","0 auto")):((0,i.setStyle)(a,"width","100%"),(0,i.setStyle)(a,"height",`${t/s}px`),(0,i.setStyle)(a,"margin","auto 0")),o.dataset.aspectRatio=n}r.show=`${t.get("Aspect Ratio")}: ${"default"===n?t.get("Default"):n}`,e.emit("aspectRatio",n)}})}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],"2dgtR":[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r),a.export(r,"default",()=>o);var i=e("../utils");function o(e){let{notice:t,template:{$video:r}}=e,a=(0,i.createElement)("canvas");(0,i.def)(e,"getDataURL",{value:()=>new Promise((e,i)=>{try{a.width=r.videoWidth,a.height=r.videoHeight,a.getContext("2d").drawImage(r,0,0),e(a.toDataURL("image/png"))}catch(e){t.show=e,i(e)}})}),(0,i.def)(e,"getBlobUrl",{value:()=>new Promise((e,i)=>{try{a.width=r.videoWidth,a.height=r.videoHeight,a.getContext("2d").drawImage(r,0,0),a.toBlob(t=>{e(URL.createObjectURL(t))})}catch(e){t.show=e,i(e)}})}),(0,i.def)(e,"screenshot",{value:async t=>{let a=await e.getDataURL(),o=t||`artplayer_${(0,i.secondToTime)(r.currentTime)}`;return(0,i.download)(a,`${o}.png`),e.emit("screenshot",a),a}})}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],fKDW8:[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r),a.export(r,"default",()=>s);var i=e("../libs/screenfull"),o=a.interopDefault(i),n=e("../utils");function s(e){let{i18n:t,notice:r,template:{$video:a,$player:i}}=e,s=e=>{(0,o.default).on("change",()=>{e.emit("fullscreen",o.default.isFullscreen)}),(0,o.default).on("error",t=>{e.emit("fullscreenError",t)}),(0,n.def)(e,"fullscreen",{get:()=>o.default.isFullscreen,async set(t){t?(e.state="fullscreen",await (0,o.default).request(i),(0,n.addClass)(i,"art-fullscreen")):(await (0,o.default).exit(),(0,n.removeClass)(i,"art-fullscreen")),e.emit("resize")}})},l=e=>{e.proxy(document,"webkitfullscreenchange",()=>{e.emit("fullscreen",e.fullscreen),e.emit("resize")}),(0,n.def)(e,"fullscreen",{get:()=>document.fullscreenElement===a,set(t){t?(e.state="fullscreen",a.webkitEnterFullscreen()):a.webkitExitFullscreen()}})};e.once("video:loadedmetadata",()=>{o.default.isEnabled?s(e):a.webkitSupportsFullscreen?l(e):(0,n.def)(e,"fullscreen",{get:()=>!1,set(){r.show=t.get("Fullscreen Not Supported")}}),(0,n.def)(e,"fullscreen",(0,n.get)(e,"fullscreen"))})}},{"../libs/screenfull":"lUahW","../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],lUahW:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);let a=[["requestFullscreen","exitFullscreen","fullscreenElement","fullscreenEnabled","fullscreenchange","fullscreenerror"],["webkitRequestFullscreen","webkitExitFullscreen","webkitFullscreenElement","webkitFullscreenEnabled","webkitfullscreenchange","webkitfullscreenerror"],["webkitRequestFullScreen","webkitCancelFullScreen","webkitCurrentFullScreenElement","webkitCancelFullScreen","webkitfullscreenchange","webkitfullscreenerror"],["mozRequestFullScreen","mozCancelFullScreen","mozFullScreenElement","mozFullScreenEnabled","mozfullscreenchange","mozfullscreenerror"],["msRequestFullscreen","msExitFullscreen","msFullscreenElement","msFullscreenEnabled","MSFullscreenChange","MSFullscreenError"]],i=(()=>{if("undefined"==typeof document)return!1;let e=a[0],t={};for(let r of a)if(r[1]in document){for(let[a,i]of r.entries())t[e[a]]=i;return t}return!1})(),o={change:i.fullscreenchange,error:i.fullscreenerror},n={request:(e=document.documentElement,t)=>new Promise((r,a)=>{let o=()=>{n.off("change",o),r()};n.on("change",o);let s=e[i.requestFullscreen](t);s instanceof Promise&&s.then(o).catch(a)}),exit:()=>new Promise((e,t)=>{if(!n.isFullscreen){e();return}let r=()=>{n.off("change",r),e()};n.on("change",r);let a=document[i.exitFullscreen]();a instanceof Promise&&a.then(r).catch(t)}),toggle:(e,t)=>n.isFullscreen?n.exit():n.request(e,t),onchange(e){n.on("change",e)},onerror(e){n.on("error",e)},on(e,t){let r=o[e];r&&document.addEventListener(r,t,!1)},off(e,t){let r=o[e];r&&document.removeEventListener(r,t,!1)},raw:i};Object.defineProperties(n,{isFullscreen:{get:()=>!!document[i.fullscreenElement]},element:{enumerable:!0,get:()=>document[i.fullscreenElement]},isEnabled:{enumerable:!0,get:()=>!!document[i.fullscreenEnabled]}}),i||(n={isEnabled:!1}),r.default=n},{"@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],lNvYI:[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r),a.export(r,"default",()=>o);var i=e("../utils");function o(e){let{constructor:t,template:{$container:r,$player:a}}=e,o="";(0,i.def)(e,"fullscreenWeb",{get:()=>(0,i.hasClass)(a,"art-fullscreen-web"),set(n){n?(o=a.style.cssText,t.FULLSCREEN_WEB_IN_BODY&&(0,i.append)(document.body,a),e.state="fullscreenWeb",(0,i.setStyle)(a,"width","100%"),(0,i.setStyle)(a,"height","100%"),(0,i.addClass)(a,"art-fullscreen-web"),e.emit("fullscreenWeb",!0)):(t.FULLSCREEN_WEB_IN_BODY&&(0,i.append)(r,a),o&&(a.style.cssText=o,o=""),(0,i.removeClass)(a,"art-fullscreen-web"),e.emit("fullscreenWeb",!1)),e.emit("resize")}})}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],"8j7oC":[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r),a.export(r,"default",()=>o);var i=e("../utils");function o(e){let{i18n:t,notice:r,template:{$video:a}}=e;document.pictureInPictureEnabled?function(e){let{template:{$video:t},proxy:r,notice:a}=e;t.disablePictureInPicture=!1,(0,i.def)(e,"pip",{get:()=>document.pictureInPictureElement,set(r){r?(e.state="pip",t.requestPictureInPicture().catch(e=>{throw a.show=e,e})):document.exitPictureInPicture().catch(e=>{throw a.show=e,e})}}),r(t,"enterpictureinpicture",()=>{e.emit("pip",!0)}),r(t,"leavepictureinpicture",()=>{e.emit("pip",!1)})}(e):a.webkitSupportsPresentationMode?function(e){let{$video:t}=e.template;t.webkitSetPresentationMode("inline"),(0,i.def)(e,"pip",{get:()=>"picture-in-picture"===t.webkitPresentationMode,set(r){r?(e.state="pip",t.webkitSetPresentationMode("picture-in-picture"),e.emit("pip",!0)):(t.webkitSetPresentationMode("inline"),e.emit("pip",!1))}})}(e):(0,i.def)(e,"pip",{get:()=>!1,set(){r.show=t.get("PIP Not Supported")}})}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],dwVOT:[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r),a.export(r,"default",()=>o);var i=e("../utils");function o(e){let{$video:t}=e.template;(0,i.def)(e,"loaded",{get:()=>e.loadedTime/t.duration}),(0,i.def)(e,"loadedTime",{get:()=>t.buffered.length?t.buffered.end(t.buffered.length-1):0})}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],dDeLx:[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r),a.export(r,"default",()=>o);var i=e("../utils");function o(e){(0,i.def)(e,"played",{get:()=>e.currentTime/e.duration})}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],ceoBp:[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r),a.export(r,"default",()=>o);var i=e("../utils");function o(e){let{$video:t}=e.template;(0,i.def)(e,"playing",{get:()=>!!(t.currentTime>0&&!t.paused&&!t.ended&&t.readyState>2)})}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],lcWXX:[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r),a.export(r,"default",()=>o);var i=e("../utils");function o(e){let{$container:t,$player:r,$video:a}=e.template;(0,i.def)(e,"autoSize",{value(){let{videoWidth:o,videoHeight:n}=a,{width:s,height:l}=(0,i.getRect)(t),c=o/n;s/l>c?((0,i.setStyle)(r,"width",`${l*c/s*100}%`),(0,i.setStyle)(r,"height","100%")):((0,i.setStyle)(r,"width","100%"),(0,i.setStyle)(r,"height",`${s/c/l*100}%`)),e.emit("autoSize",{width:e.width,height:e.height})}})}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],f7y88:[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r),a.export(r,"default",()=>o);var i=e("../utils");function o(e){(0,i.def)(e,"rect",{get:()=>(0,i.getRect)(e.template.$player)});let t=["bottom","height","left","right","top","width"];for(let r=0;re.rect[a]})}(0,i.def)(e,"x",{get:()=>e.left+window.pageXOffset}),(0,i.def)(e,"y",{get:()=>e.top+window.pageYOffset})}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],l4qt5:[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r),a.export(r,"default",()=>o);var i=e("../utils");function o(e){let{template:{$player:t},i18n:r,notice:a}=e;(0,i.def)(e,"flip",{get:()=>t.dataset.flip||"normal",set(o){o||(o="normal"),"normal"===o?delete t.dataset.flip:t.dataset.flip=o,a.show=`${r.get("Video Flip")}: ${r.get((0,i.capitalize)(o))}`,e.emit("flip",o)}})}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],"9ZPBQ":[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r),a.export(r,"default",()=>o);var i=e("../utils");function o(e){let{icons:t,proxy:r,storage:a,template:{$player:o,$video:n}}=e,s=!1,l=0,c=0;function u(){let{$mini:t}=e.template;t&&((0,i.removeClass)(o,"art-mini"),(0,i.setStyle)(t,"display","none"),o.prepend(n),e.emit("mini",!1))}function p(t,r){e.playing?((0,i.setStyle)(t,"display","none"),(0,i.setStyle)(r,"display","flex")):((0,i.setStyle)(t,"display","flex"),(0,i.setStyle)(r,"display","none"))}function d(){let{$mini:t}=e.template,r=(0,i.getRect)(t),o=window.innerHeight-r.height-50,n=window.innerWidth-r.width-50;a.set("top",o),a.set("left",n),(0,i.setStyle)(t,"top",`${o}px`),(0,i.setStyle)(t,"left",`${n}px`)}(0,i.def)(e,"mini",{get:()=>(0,i.hasClass)(o,"art-mini"),set(f){if(f){e.state="mini",(0,i.addClass)(o,"art-mini");let f=function(){let{$mini:o}=e.template;if(o)return(0,i.append)(o,n),(0,i.setStyle)(o,"display","flex");{let o=(0,i.createElement)("div");(0,i.addClass)(o,"art-mini-popup"),(0,i.append)(document.body,o),e.template.$mini=o,(0,i.append)(o,n);let d=(0,i.append)(o,'
');(0,i.append)(d,t.close),r(d,"click",u);let f=(0,i.append)(o,'
'),h=(0,i.append)(f,t.play),m=(0,i.append)(f,t.pause);return r(h,"click",()=>e.play()),r(m,"click",()=>e.pause()),p(h,m),e.on("video:playing",()=>p(h,m)),e.on("video:pause",()=>p(h,m)),e.on("video:timeupdate",()=>p(h,m)),r(o,"mousedown",e=>{s=0===e.button,l=e.pageX,c=e.pageY}),e.on("document:mousemove",e=>{if(s){(0,i.addClass)(o,"art-mini-droging");let t=e.pageX-l,r=e.pageY-c;(0,i.setStyle)(o,"transform",`translate(${t}px, ${r}px)`)}}),e.on("document:mouseup",()=>{if(s){s=!1,(0,i.removeClass)(o,"art-mini-droging");let e=(0,i.getRect)(o);a.set("left",e.left),a.set("top",e.top),(0,i.setStyle)(o,"left",`${e.left}px`),(0,i.setStyle)(o,"top",`${e.top}px`),(0,i.setStyle)(o,"transform",null)}}),o}}(),h=a.get("top"),m=a.get("left");h&&m?((0,i.setStyle)(f,"top",`${h}px`),(0,i.setStyle)(f,"left",`${m}px`),(0,i.isInViewport)(f)||d()):d(),e.emit("mini",!0)}else u()}})}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],"5K8hA":[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r),a.export(r,"default",()=>o);var i=e("../utils");function o(e){let{template:{$poster:t}}=e;(0,i.def)(e,"poster",{get:()=>{try{return t.style.backgroundImage.match(/"(.*)"/)[1]}catch(e){return""}},set(e){(0,i.setStyle)(t,"backgroundImage",`url(${e})`)}})}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],"3T5ls":[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r),a.export(r,"default",()=>o);var i=e("../utils");function o(e){let{template:{$container:t,$video:r}}=e;(0,i.def)(e,"autoHeight",{value(){let{clientWidth:a}=t,{videoHeight:o,videoWidth:n}=r,s=a/n*o;(0,i.setStyle)(t,"height",s+"px"),e.emit("autoHeight",s)}})}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],"6KfHs":[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r),a.export(r,"default",()=>o);var i=e("../utils");function o(e){let{$player:t}=e.template;(0,i.def)(e,"cssVar",{value:(e,r)=>r?t.style.setProperty(e,r):getComputedStyle(t).getPropertyValue(e)})}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],"7lcSc":[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r),a.export(r,"default",()=>o);var i=e("../utils");function o(e){(0,i.def)(e,"theme",{get:()=>e.cssVar("--art-theme"),set(t){e.cssVar("--art-theme",t)}})}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],"8JgTw":[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r),a.export(r,"default",()=>o);var i=e("../utils");function o(e){(0,i.def)(e,"type",{get:()=>e.option.type,set(t){e.option.type=t}})}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],cebt1:[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r),a.export(r,"default",()=>o);var i=e("../utils");function o(e){let t=["mini","pip","fullscreen","fullscreenWeb"];(0,i.def)(e,"state",{get:()=>t.find(t=>e[t])||"standard",set(r){for(let a=0;ao);var i=e("../utils");function o(e){let{clamp:t}=e.constructor.utils,{notice:r,template:a,i18n:o}=e,n=0,s=[];e.on("subtitle:switch",()=>{s=[]}),(0,i.def)(e,"subtitleOffset",{get:()=>n,set(i){if(a.$track&&a.$track.track){let l=Array.from(a.$track.track.cues);n=t(i,-5,5);for(let r=0;ro);var i=e("../utils");function o(e){let{i18n:t,notice:r,proxy:a,template:{$video:o}}=e,n=!0;window.WebKitPlaybackTargetAvailabilityEvent&&o.webkitShowPlaybackTargetPicker?a(o,"webkitplaybacktargetavailabilitychanged",e=>{switch(e.availability){case"available":n=!0;break;case"not-available":n=!1}}):n=!1,(0,i.def)(e,"airplay",{value(){n?(o.webkitShowPlaybackTargetPicker(),e.emit("airplay")):r.show=t.get("AirPlay Not Available")}})}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],"3wZgN":[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r),a.export(r,"default",()=>o);var i=e("../utils");function o(e){(0,i.def)(e,"quality",{set(t){let{controls:r,notice:a,i18n:i}=e,o=t.find(e=>e.default)||t[0];r.update({name:"quality",position:"right",index:10,style:{marginRight:"10px"},html:o?o.html:"",selector:t,async onSelect(t){await e.switchQuality(t.url),a.show=`${i.get("Switch Video")}: ${t.html}`}})}})}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],k56Iy:[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r),a.export(r,"default",()=>o);var i=e("../utils");function o(e){let{option:t,events:{loadImg:r},template:{$progress:a,$video:o}}=e,n=null,s=null,l=!1,c=!1;e.on("setBar",async(u,p,d)=>{let f=e.controls?.thumbnails,{url:h}=t.thumbnails;if(!f||!h)return;let m="played"===u&&d&&i.isMobile;if("hover"===u||m){if(l||(l=!0,s=await r(h),c=!0),!c)return;let u=a.clientWidth*p;(0,i.setStyle)(f,"display","flex"),u>0&&ua.clientWidth-f/2?(0,i.setStyle)(n,"left",`${a.clientWidth-f}px`):(0,i.setStyle)(n,"left",`${r-f/2}px`)}(u):i.isMobile||(0,i.setStyle)(f,"display","none"),m&&(clearTimeout(n),n=setTimeout(()=>{(0,i.setStyle)(f,"display","none")},500))}}),(0,i.def)(e,"thumbnails",{get:()=>e.option.thumbnails,set(t){t.url&&!e.option.isLive&&(e.option.thumbnails=t,clearTimeout(n),n=null,s=null,l=!1,c=!1)}})}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],iPdgW:[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r),a.export(r,"default",()=>o);var i=e("../utils");function o(e){let{option:t,storage:r,template:{$video:a,$poster:o}}=e;for(let r in t.moreVideoAttr)e.attr(r,t.moreVideoAttr[r]);t.muted&&(e.muted=t.muted),t.volume&&(a.volume=(0,i.clamp)(t.volume,0,1));let n=r.get("volume");for(let r in"number"==typeof n&&(a.volume=(0,i.clamp)(n,0,1)),t.poster&&(0,i.setStyle)(o,"backgroundImage",`url(${t.poster})`),t.autoplay&&(a.autoplay=t.autoplay),t.playsInline&&(a.playsInline=!0,a["webkit-playsinline"]=!0),t.theme&&(t.cssVar["--art-theme"]=t.theme),t.cssVar)e.cssVar(r,t.cssVar[r]);e.url=t.url}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],"3mj0J":[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r),a.export(r,"default",()=>s);var i=e("../config"),o=a.interopDefault(i),n=e("../utils");function s(e){let{i18n:t,notice:r,option:a,constructor:i,proxy:s,template:{$player:l,$video:c,$poster:u}}=e,p=0;for(let t=0;t{e.emit(`video:${t.type}`,t)});e.on("video:canplay",()=>{p=0,e.loading.show=!1}),e.once("video:canplay",()=>{e.loading.show=!1,e.controls.show=!0,e.mask.show=!0,e.isReady=!0,e.emit("ready")}),e.on("video:ended",()=>{a.loop?(e.seek=0,e.play(),e.controls.show=!1,e.mask.show=!1):(e.controls.show=!0,e.mask.show=!0)}),e.on("video:error",async o=>{p{e.emit("resize"),n.isMobile&&(e.loading.show=!1,e.controls.show=!0,e.mask.show=!0)}),e.on("video:loadstart",()=>{e.loading.show=!0,e.mask.show=!1,e.controls.show=!0}),e.on("video:pause",()=>{e.controls.show=!0,e.mask.show=!0}),e.on("video:play",()=>{e.mask.show=!1,(0,n.setStyle)(u,"display","none")}),e.on("video:playing",()=>{e.mask.show=!1}),e.on("video:progress",()=>{e.playing&&(e.loading.show=!1)}),e.on("video:seeked",()=>{e.loading.show=!1,e.mask.show=!0}),e.on("video:seeking",()=>{e.loading.show=!0,e.mask.show=!1}),e.on("video:timeupdate",()=>{e.mask.show=!1}),e.on("video:waiting",()=>{e.loading.show=!0,e.mask.show=!1})}},{"../config":"9Xmqu","../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],"14IBq":[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r);var i=e("../utils"),o=e("../utils/component"),n=a.interopDefault(o),s=e("./fullscreen"),l=a.interopDefault(s),c=e("./fullscreenWeb"),u=a.interopDefault(c),p=e("./pip"),d=a.interopDefault(p),f=e("./playAndPause"),h=a.interopDefault(f),m=e("./progress"),g=a.interopDefault(m),v=e("./time"),y=a.interopDefault(v),b=e("./volume"),x=a.interopDefault(b),w=e("./setting"),j=a.interopDefault(w),k=e("./screenshot"),S=a.interopDefault(k),I=e("./airplay"),T=a.interopDefault(I);class O extends n.default{constructor(e){super(e),this.isHover=!1,this.name="control",this.timer=Date.now();let{constructor:t}=e,{$player:r,$bottom:a}=this.art.template;e.on("mousemove",()=>{i.isMobile||(this.show=!0)}),e.on("click",()=>{i.isMobile?this.toggle():this.show=!0}),e.on("document:mousemove",e=>{this.isHover=(0,i.includeFromEvent)(e,a)}),e.on("video:timeupdate",()=>{!e.setting.show&&!this.isHover&&!e.isInput&&e.playing&&this.show&&Date.now()-this.timer>=t.CONTROL_HIDE_TIME&&(this.show=!1)}),e.on("control",e=>{e?((0,i.removeClass)(r,"art-hide-cursor"),(0,i.addClass)(r,"art-hover"),this.timer=Date.now()):((0,i.addClass)(r,"art-hide-cursor"),(0,i.removeClass)(r,"art-hover"))}),this.init()}init(){let{option:e}=this.art;e.isLive||this.add((0,g.default)({name:"progress",position:"top",index:10})),this.add({name:"thumbnails",position:"top",index:20}),this.add((0,h.default)({name:"playAndPause",position:"left",index:10})),this.add((0,x.default)({name:"volume",position:"left",index:20})),e.isLive||this.add((0,y.default)({name:"time",position:"left",index:30})),e.quality.length&&(0,i.sleep)().then(()=>{this.art.quality=e.quality}),e.screenshot&&!i.isMobile&&this.add((0,S.default)({name:"screenshot",position:"right",index:20})),e.setting&&this.add((0,j.default)({name:"setting",position:"right",index:30})),e.pip&&this.add((0,d.default)({name:"pip",position:"right",index:40})),e.airplay&&window.WebKitPlaybackTargetAvailabilityEvent&&this.add((0,T.default)({name:"airplay",position:"right",index:50})),e.fullscreenWeb&&this.add((0,u.default)({name:"fullscreenWeb",position:"right",index:60})),e.fullscreen&&this.add((0,l.default)({name:"fullscreen",position:"right",index:70}));for(let t=0;tNumber(e.dataset.index)>=Number(o.dataset.index));u?u.insertAdjacentElement("beforebegin",o):(0,i.append)(this.$parent,o),t.html&&(0,i.append)(o,t.html),t.style&&(0,i.setStyles)(o,t.style),t.tooltip&&(0,i.tooltip)(o,t.tooltip);let p=[];if(t.click){let e=this.art.events.proxy(o,"click",e=>{e.preventDefault(),t.click.call(this.art,this,e)});p.push(e)}return t.selector&&["left","right"].includes(t.position)&&this.addSelector(t,o,p),this[r]=o,this.cache.set(r,{$ref:o,events:p,option:t}),t.mounted&&t.mounted.call(this.art,o),o}addSelector(e,t,r){let{hover:a,proxy:n}=this.art.events;(0,i.addClass)(t,"art-control-selector");let s=(0,i.createElement)("div");(0,i.addClass)(s,"art-selector-value"),(0,i.append)(s,e.html),t.innerText="",(0,i.append)(t,s);let l=e.selector.map((e,t)=>`
${e.html}
`).join(""),c=(0,i.createElement)("div");(0,i.addClass)(c,"art-selector-list"),(0,i.append)(c,l),(0,i.append)(t,c);let u=()=>{let e=(0,i.getStyle)(t,"width"),r=(0,i.getStyle)(c,"width");c.style.left=`${e/2-r/2}px`};a(t,u);let p=n(c,"click",async t=>{let r=(t.composedPath()||[]).find(e=>(0,i.hasClass)(e,"art-selector-item"));if(!r)return;(0,i.inverseClass)(r,"art-current");let a=Number(r.dataset.index),n=e.selector[a]||{};if(s.innerText=r.innerText,e.onSelect){let a=await e.onSelect.call(this.art,n,r,t);(0,o.isStringOrNumber)(a)&&(s.innerHTML=a)}u()});r.push(p)}remove(e){let t=this.cache.get(e);(0,n.errorHandle)(t,`Can't find [${e}] from the [${this.name}]`),t.option.beforeUnmount&&t.option.beforeUnmount.call(this.art,t.$ref);for(let e=0;eo);var i=e("../utils");function o(e){return t=>({...e,tooltip:t.i18n.get("Fullscreen"),mounted:e=>{let{proxy:r,icons:a,i18n:o}=t,n=(0,i.append)(e,a.fullscreenOn),s=(0,i.append)(e,a.fullscreenOff);(0,i.setStyle)(s,"display","none"),r(e,"click",()=>{t.fullscreen=!t.fullscreen}),t.on("fullscreen",t=>{t?((0,i.tooltip)(e,o.get("Exit Fullscreen")),(0,i.setStyle)(n,"display","none"),(0,i.setStyle)(s,"display","inline-flex")):((0,i.tooltip)(e,o.get("Fullscreen")),(0,i.setStyle)(n,"display","inline-flex"),(0,i.setStyle)(s,"display","none"))})}})}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],"66eEC":[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r),a.export(r,"default",()=>o);var i=e("../utils");function o(e){return t=>({...e,tooltip:t.i18n.get("Web Fullscreen"),mounted:e=>{let{proxy:r,icons:a,i18n:o}=t,n=(0,i.append)(e,a.fullscreenWebOn),s=(0,i.append)(e,a.fullscreenWebOff);(0,i.setStyle)(s,"display","none"),r(e,"click",()=>{t.fullscreenWeb=!t.fullscreenWeb}),t.on("fullscreenWeb",t=>{t?((0,i.tooltip)(e,o.get("Exit Web Fullscreen")),(0,i.setStyle)(n,"display","none"),(0,i.setStyle)(s,"display","inline-flex")):((0,i.tooltip)(e,o.get("Web Fullscreen")),(0,i.setStyle)(n,"display","inline-flex"),(0,i.setStyle)(s,"display","none"))})}})}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],kCFkA:[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r),a.export(r,"default",()=>o);var i=e("../utils");function o(e){return t=>({...e,tooltip:t.i18n.get("PIP Mode"),mounted:e=>{let{proxy:r,icons:a,i18n:o}=t;(0,i.append)(e,a.pip),r(e,"click",()=>{t.pip=!t.pip}),t.on("pip",t=>{(0,i.tooltip)(e,o.get(t?"Exit PIP Mode":"PIP Mode"))})}})}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],iRhgD:[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r),a.export(r,"default",()=>o);var i=e("../utils");function o(e){return t=>({...e,mounted:e=>{let{proxy:r,icons:a,i18n:o}=t,n=(0,i.append)(e,a.play),s=(0,i.append)(e,a.pause);function l(){(0,i.setStyle)(n,"display","flex"),(0,i.setStyle)(s,"display","none")}function c(){(0,i.setStyle)(n,"display","none"),(0,i.setStyle)(s,"display","flex")}(0,i.tooltip)(n,o.get("Play")),(0,i.tooltip)(s,o.get("Pause")),r(n,"click",()=>{t.play()}),r(s,"click",()=>{t.pause()}),t.playing?c():l(),t.on("video:playing",()=>{c()}),t.on("video:pause",()=>{l()})}})}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],aBBSH:[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r),a.export(r,"getPosFromEvent",()=>o),a.export(r,"setCurrentTime",()=>n),a.export(r,"default",()=>s);var i=e("../utils");function o(e,t){let{$progress:r}=e.template,{left:a}=(0,i.getRect)(r),o=i.isMobile?t.touches[0].clientX:t.clientX,n=(0,i.clamp)(o-a,0,r.clientWidth),s=n/r.clientWidth*e.duration,l=(0,i.secondToTime)(s),c=(0,i.clamp)(n/r.clientWidth,0,1);return{second:s,time:l,width:n,percentage:c}}function n(e,t){if(e.isRotate){let r=t.touches[0].clientY/e.height,a=r*e.duration;e.emit("setBar","played",r,t),e.seek=a}else{let{second:r,percentage:a}=o(e,t);e.emit("setBar","played",a,t),e.seek=r}}function s(e){return t=>{let{icons:r,option:a,proxy:s}=t;return{...e,html:`
`,mounted:e=>{let l=null,c=!1,u=(0,i.query)(".art-progress-hover",e),p=(0,i.query)(".art-progress-loaded",e),d=(0,i.query)(".art-progress-played",e),f=(0,i.query)(".art-progress-highlight",e),h=(0,i.query)(".art-progress-indicator",e),m=(0,i.query)(".art-progress-tip",e);function g(r,a){let{width:n,time:s}=a||o(t,r);m.innerText=s;let l=m.clientWidth;n<=l/2?(0,i.setStyle)(m,"left",0):n>e.clientWidth-l/2?(0,i.setStyle)(m,"left",`${e.clientWidth-l}px`):(0,i.setStyle)(m,"left",`${n-l/2}px`)}r.indicator?(0,i.append)(h,r.indicator):(0,i.setStyle)(h,"backgroundColor","var(--art-theme)"),t.on("setBar",function(r,a,o){let n="played"===r&&o&&i.isMobile;"loaded"===r&&(0,i.setStyle)(p,"width",`${100*a}%`),"hover"===r&&(0,i.setStyle)(u,"width",`${100*a}%`),"played"===r&&((0,i.setStyle)(d,"width",`${100*a}%`),(0,i.setStyle)(h,"left",`${100*a}%`)),n&&((0,i.setStyle)(m,"display","flex"),g(o,{width:e.clientWidth*a,time:(0,i.secondToTime)(a*t.duration)}),clearTimeout(l),l=setTimeout(()=>{(0,i.setStyle)(m,"display","none")},500))}),t.on("video:loadedmetadata",function(){f.innerText="";for(let e=0;e`;(0,i.append)(f,n)}}),t.on("video:progress",()=>{t.emit("setBar","loaded",t.loaded)}),t.constructor.USE_RAF?t.on("raf",()=>{t.emit("setBar","played",t.played)}):t.on("video:timeupdate",()=>{t.emit("setBar","played",t.played)}),t.on("video:ended",()=>{t.emit("setBar","played",1)}),t.emit("setBar","loaded",t.loaded||0),i.isMobile||(s(e,"click",e=>{e.target!==h&&n(t,e)}),s(e,"mousemove",r=>{let{percentage:a}=o(t,r);t.emit("setBar","hover",a,r),(0,i.setStyle)(m,"display","flex"),(0,i.includeFromEvent)(r,f)?function(r){let{width:a}=o(t,r),{text:n}=r.target.dataset;m.innerText=n;let s=m.clientWidth;a<=s/2?(0,i.setStyle)(m,"left",0):a>e.clientWidth-s/2?(0,i.setStyle)(m,"left",`${e.clientWidth-s}px`):(0,i.setStyle)(m,"left",`${a-s/2}px`)}(r):g(r)}),s(e,"mouseleave",e=>{(0,i.setStyle)(m,"display","none"),t.emit("setBar","hover",0,e)}),s(e,"mousedown",e=>{c=0===e.button}),t.on("document:mousemove",e=>{if(c){let{second:r,percentage:a}=o(t,e);t.emit("setBar","played",a,e),t.seek=r}}),t.on("document:mouseup",()=>{c&&(c=!1)}))}}}}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],"7H0CE":[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r),a.export(r,"default",()=>o);var i=e("../utils");function o(e){return t=>({...e,style:i.isMobile?{fontSize:"12px",padding:"0 5px"}:{cursor:"auto",padding:"0 10px"},mounted:e=>{function r(){let r=`${(0,i.secondToTime)(t.currentTime)} / ${(0,i.secondToTime)(t.duration)}`;r!==e.innerText&&(e.innerText=r)}r();let a=["video:loadedmetadata","video:timeupdate","video:progress"];for(let e=0;eo);var i=e("../utils");function o(e){return t=>({...e,mounted:e=>{let{proxy:r,icons:a}=t,o=(0,i.append)(e,a.volume),n=(0,i.append)(e,a.volumeClose),s=(0,i.append)(e,'
'),l=(0,i.append)(s,'
'),c=(0,i.append)(l,'
'),u=(0,i.append)(l,'
'),p=(0,i.append)(u,'
'),d=(0,i.append)(p,'
'),f=(0,i.append)(u,'
');function h(e){let{top:t,height:r}=(0,i.getRect)(u);return 1-(e.clientY-t)/r}function m(){if(t.muted||0===t.volume)(0,i.setStyle)(o,"display","none"),(0,i.setStyle)(n,"display","flex"),(0,i.setStyle)(f,"top","100%"),(0,i.setStyle)(d,"top","100%"),c.innerText=0;else{let e=100*t.volume;(0,i.setStyle)(o,"display","flex"),(0,i.setStyle)(n,"display","none"),(0,i.setStyle)(f,"top",`${100-e}%`),(0,i.setStyle)(d,"top",`${100-e}%`),c.innerText=Math.floor(e)}}if(m(),t.on("video:volumechange",m),r(o,"click",()=>{t.muted=!0}),r(n,"click",()=>{t.muted=!1}),i.isMobile)(0,i.setStyle)(s,"display","none");else{let e=!1;r(u,"mousedown",r=>{e=0===r.button,t.volume=h(r)}),t.on("document:mousemove",r=>{e&&(t.muted=!1,t.volume=h(r))}),t.on("document:mouseup",()=>{e&&(e=!1)})}}})}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],"8BrCu":[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r),a.export(r,"default",()=>o);var i=e("../utils");function o(e){return t=>({...e,tooltip:t.i18n.get("Show Setting"),mounted:e=>{let{proxy:r,icons:a,i18n:o}=t;(0,i.append)(e,a.setting),r(e,"click",()=>{t.setting.toggle(),t.setting.updateStyle()}),t.on("setting",t=>{(0,i.tooltip)(e,o.get(t?"Hide Setting":"Show Setting"))})}})}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],c1GeG:[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r),a.export(r,"default",()=>o);var i=e("../utils");function o(e){return t=>({...e,tooltip:t.i18n.get("Screenshot"),mounted:e=>{let{proxy:r,icons:a}=t;(0,i.append)(e,a.screenshot),r(e,"click",()=>{t.screenshot()})}})}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],"6GRju":[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r),a.export(r,"default",()=>o);var i=e("../utils");function o(e){return t=>({...e,tooltip:t.i18n.get("AirPlay"),mounted:e=>{let{proxy:r,icons:a}=t;(0,i.append)(e,a.airplay),r(e,"click",()=>t.airplay())}})}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],"7iUum":[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r);var i=e("../utils"),o=e("../utils/component"),n=a.interopDefault(o),s=e("./playbackRate"),l=a.interopDefault(s),c=e("./aspectRatio"),u=a.interopDefault(c),p=e("./flip"),d=a.interopDefault(p),f=e("./info"),h=a.interopDefault(f),m=e("./version"),g=a.interopDefault(m),v=e("./close"),y=a.interopDefault(v);class b extends n.default{constructor(e){super(e),this.name="contextmenu",this.$parent=e.template.$contextmenu,i.isMobile||this.init()}init(){let{option:e,proxy:t,template:{$player:r,$contextmenu:a}}=this.art;e.playbackRate&&this.add((0,l.default)({name:"playbackRate",index:10})),e.aspectRatio&&this.add((0,u.default)({name:"aspectRatio",index:20})),e.flip&&this.add((0,d.default)({name:"flip",index:30})),this.add((0,h.default)({name:"info",index:40})),this.add((0,g.default)({name:"version",index:50})),this.add((0,y.default)({name:"close",index:60}));for(let t=0;t{if(!this.art.constructor.CONTEXTMENU)return;e.preventDefault(),this.show=!0;let t=e.clientX,o=e.clientY,{height:n,width:s,left:l,top:c}=(0,i.getRect)(r),{height:u,width:p}=(0,i.getRect)(a),d=t-l,f=o-c;t+p>l+s&&(d=s-p),o+u>c+n&&(f=n-u),(0,i.setStyles)(a,{top:`${f}px`,left:`${d}px`})}),t(r,"click",e=>{(0,i.includeFromEvent)(e,a)||(this.show=!1)}),this.art.on("blur",()=>{this.show=!1})}}r.default=b},{"../utils":"h3rH9","../utils/component":"guki8","./playbackRate":"f1W36","./aspectRatio":"afxZC","./flip":"9jCuX","./info":"k8wIZ","./version":"bb0TU","./close":"9zTkI","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],f1W36:[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r),a.export(r,"default",()=>o);var i=e("../utils");function o(e){return t=>{let{i18n:r,constructor:{PLAYBACK_RATE:a}}=t,o=a.map(e=>`${1===e?r.get("Normal"):e.toFixed(1)}`).join("");return{...e,html:`${r.get("Play Speed")}: ${o}`,click:(e,r)=>{let{value:a}=r.target.dataset;a&&(t.playbackRate=Number(a),e.show=!1)},mounted:e=>{let r=(0,i.query)('[data-value="1"]',e);r&&(0,i.inverseClass)(r,"art-current"),t.on("video:ratechange",()=>{let r=(0,i.queryAll)("span",e).find(e=>Number(e.dataset.value)===t.playbackRate);r&&(0,i.inverseClass)(r,"art-current")})}}}}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],afxZC:[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r),a.export(r,"default",()=>o);var i=e("../utils");function o(e){return t=>{let{i18n:r,constructor:{ASPECT_RATIO:a}}=t,o=a.map(e=>`${"default"===e?r.get("Default"):e}`).join("");return{...e,html:`${r.get("Aspect Ratio")}: ${o}`,click:(e,r)=>{let{value:a}=r.target.dataset;a&&(t.aspectRatio=a,e.show=!1)},mounted:e=>{let r=(0,i.query)('[data-value="default"]',e);r&&(0,i.inverseClass)(r,"art-current"),t.on("aspectRatio",t=>{let r=(0,i.queryAll)("span",e).find(e=>e.dataset.value===t);r&&(0,i.inverseClass)(r,"art-current")})}}}}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],"9jCuX":[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r),a.export(r,"default",()=>o);var i=e("../utils");function o(e){return t=>{let{i18n:r,constructor:{FLIP:a}}=t,o=a.map(e=>`${r.get((0,i.capitalize)(e))}`).join("");return{...e,html:`${r.get("Video Flip")}: ${o}`,click:(e,r)=>{let{value:a}=r.target.dataset;a&&(t.flip=a.toLowerCase(),e.show=!1)},mounted:e=>{let r=(0,i.query)('[data-value="normal"]',e);r&&(0,i.inverseClass)(r,"art-current"),t.on("flip",t=>{let r=(0,i.queryAll)("span",e).find(e=>e.dataset.value===t);r&&(0,i.inverseClass)(r,"art-current")})}}}}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],k8wIZ:[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");function i(e){return t=>({...e,html:t.i18n.get("Video Info"),click:e=>{t.info.show=!0,e.show=!1}})}a.defineInteropFlag(r),a.export(r,"default",()=>i)},{"@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],bb0TU:[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");function i(e){return{...e,html:'ArtPlayer 5.1.7'}}a.defineInteropFlag(r),a.export(r,"default",()=>i)},{"@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],"9zTkI":[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");function i(e){return t=>({...e,html:t.i18n.get("Close"),click:e=>{e.show=!1}})}a.defineInteropFlag(r),a.export(r,"default",()=>i)},{"@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],hD2Lg:[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r);var i=e("./utils"),o=e("./utils/component"),n=a.interopDefault(o);class s extends n.default{constructor(e){super(e),this.name="info",i.isMobile||this.init()}init(){let{proxy:e,constructor:t,template:{$infoPanel:r,$infoClose:a,$video:o}}=this.art;e(a,"click",()=>{this.show=!1});let n=null,s=(0,i.queryAll)("[data-video]",r)||[];this.art.on("destroy",()=>clearTimeout(n)),function e(){for(let e=0;enull,this.init(e.option.subtitle);let t=!1;e.on("video:timeupdate",()=>{if(!this.url)return;let e=this.art.template.$video.webkitDisplayingFullscreen;"boolean"==typeof e&&e!==t&&(t=e,this.createTrack(e?"subtitles":"metadata",this.url))})}get url(){return this.art.template.$track.src}set url(e){this.switch(e)}get textTrack(){return this.art.template.$video.textTracks[0]}get activeCue(){return this.textTrack.activeCues[0]}style(e,t){let{$subtitle:r}=this.art.template;return"object"==typeof e?(0,i.setStyles)(r,e):(0,i.setStyle)(r,e,t)}update(){let{$subtitle:e}=this.art.template;e.innerHTML="",this.activeCue&&(this.art.option.subtitle.escape?e.innerHTML=this.activeCue.text.split(/\r?\n/).map(e=>`
${(0,i.escape)(e)}
`).join(""):e.innerHTML=this.activeCue.text,this.art.emit("subtitleUpdate",this.activeCue.text))}async switch(e,t={}){let{i18n:r,notice:a,option:i}=this.art,o={...i.subtitle,...t,url:e},n=await this.init(o);return t.name&&(a.show=`${r.get("Switch Subtitle")}: ${t.name}`),n}createTrack(e,t){let{template:r,proxy:a,option:o}=this.art,{$video:n,$track:s}=r,l=(0,i.createElement)("track");l.default=!0,l.kind=e,l.src=t,l.label=o.subtitle.name||"Artplayer",l.track.mode="hidden",this.eventDestroy(),(0,i.remove)(s),(0,i.append)(n,l),r.$track=l,this.eventDestroy=a(this.textTrack,"cuechange",()=>this.update())}async init(e){let{notice:t,template:{$subtitle:r}}=this.art;if((0,l.default)(e,u.default.subtitle),e.url)return this.style(e.style),fetch(e.url).then(e=>e.arrayBuffer()).then(t=>{let r=new TextDecoder(e.encoding).decode(t);switch(this.art.emit("subtitleLoad",e.url),e.type||(0,i.getExt)(e.url)){case"srt":{let t=(0,i.srtToVtt)(r),a=e.onVttLoad(t);return(0,i.vttToBlob)(a)}case"ass":{let t=(0,i.assToVtt)(r),a=e.onVttLoad(t);return(0,i.vttToBlob)(a)}case"vtt":{let t=e.onVttLoad(r);return(0,i.vttToBlob)(t)}default:return e.url}}).then(e=>(r.innerHTML="",this.url===e||(URL.revokeObjectURL(this.url),this.createTrack("metadata",e),this.art.emit("subtitleSwitch",e)),e)).catch(e=>{throw r.innerHTML="",t.show=e,e})}}r.default=p},{"./utils":"h3rH9","./utils/component":"guki8","option-validator":"9I0i9","./scheme":"AdvwB","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],"1Epl5":[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r);var i=e("../utils/error"),o=e("./clickInit"),n=a.interopDefault(o),s=e("./hoverInit"),l=a.interopDefault(s),c=e("./moveInit"),u=a.interopDefault(c),p=e("./resizeInit"),d=a.interopDefault(p),f=e("./gestureInit"),h=a.interopDefault(f),m=e("./viewInit"),g=a.interopDefault(m),v=e("./documentInit"),y=a.interopDefault(v),b=e("./updateInit"),x=a.interopDefault(b);r.default=class{constructor(e){this.destroyEvents=[],this.proxy=this.proxy.bind(this),this.hover=this.hover.bind(this),this.loadImg=this.loadImg.bind(this),(0,n.default)(e,this),(0,l.default)(e,this),(0,u.default)(e,this),(0,d.default)(e,this),(0,h.default)(e,this),(0,g.default)(e,this),(0,y.default)(e,this),(0,x.default)(e,this)}proxy(e,t,r,a={}){if(Array.isArray(t))return t.map(t=>this.proxy(e,t,r,a));e.addEventListener(t,r,a);let i=()=>e.removeEventListener(t,r,a);return this.destroyEvents.push(i),i}hover(e,t,r){t&&this.proxy(e,"mouseenter",t),r&&this.proxy(e,"mouseleave",r)}loadImg(e){return new Promise((t,r)=>{let a;if(e instanceof HTMLImageElement)a=e;else{if("string"!=typeof e)return r(new i.ArtPlayerError("Unable to get Image"));(a=new Image).src=e}if(a.complete)return t(a);this.proxy(a,"load",()=>t(a)),this.proxy(a,"error",()=>r(new i.ArtPlayerError(`Failed to load Image: ${a.src}`)))})}remove(e){let t=this.destroyEvents.indexOf(e);t>-1&&(e(),this.destroyEvents.splice(t,1))}destroy(){for(let e=0;eo);var i=e("../utils");function o(e,t){let{constructor:r,template:{$player:a,$video:o}}=e;t.proxy(document,["click","contextmenu"],t=>{(0,i.includeFromEvent)(t,a)?(e.isInput="INPUT"===t.target.tagName,e.isFocus=!0,e.emit("focus",t)):(e.isInput=!1,e.isFocus=!1,e.emit("blur",t))});let n=[];t.proxy(o,"click",t=>{let a=Date.now();n.push(a);let{MOBILE_CLICK_PLAY:o,DBCLICK_TIME:s,MOBILE_DBCLICK_PLAY:l,DBCLICK_FULLSCREEN:c}=r,u=n.filter(e=>a-e<=s);switch(u.length){case 1:e.emit("click",t),i.isMobile?!e.isLock&&o&&e.toggle():e.toggle(),n=u;break;case 2:e.emit("dblclick",t),i.isMobile?!e.isLock&&l&&e.toggle():c&&(e.fullscreen=!e.fullscreen),n=[];break;default:n=[]}})}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],kpTJf:[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r),a.export(r,"default",()=>o);var i=e("../utils");function o(e,t){let{$player:r}=e.template;t.hover(r,t=>{(0,i.addClass)(r,"art-hover"),e.emit("hover",!0,t)},t=>{(0,i.removeClass)(r,"art-hover"),e.emit("hover",!1,t)})}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],ef6qz:[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");function i(e,t){let{$player:r}=e.template;t.proxy(r,"mousemove",t=>{e.emit("mousemove",t)})}a.defineInteropFlag(r),a.export(r,"default",()=>i)},{"@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],"9TXOX":[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r),a.export(r,"default",()=>o);var i=e("../utils");function o(e,t){let{option:r,constructor:a}=e;e.on("resize",()=>{let{aspectRatio:t,notice:a}=e;"standard"===e.state&&r.autoSize&&e.autoSize(),e.aspectRatio=t,a.show=""});let o=(0,i.debounce)(()=>e.emit("resize"),a.RESIZE_TIME);t.proxy(window,["orientationchange","resize"],()=>o()),screen&&screen.orientation&&screen.orientation.onchange&&t.proxy(screen.orientation,"change",()=>o())}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],dePMU:[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r),a.export(r,"default",()=>n);var i=e("../utils"),o=e("../control/progress");function n(e,t){if(i.isMobile&&!e.option.isLive){let{$video:r,$progress:a}=e.template,n=null,s=!1,l=0,c=0,u=0,p=t=>{if(1===t.touches.length&&!e.isLock){n===a&&(0,o.setCurrentTime)(e,t),s=!0;let{pageX:r,pageY:i}=t.touches[0];l=r,c=i,u=e.currentTime}},d=t=>{if(1===t.touches.length&&s&&e.duration){let{pageX:a,pageY:o}=t.touches[0],s=function(e,t,r,a){var i=t-a,o=r-e,n=0;if(2>Math.abs(o)&&2>Math.abs(i))return n;var s=180*Math.atan2(i,o)/Math.PI;return s>=-45&&s<45?n=4:s>=45&&s<135?n=1:s>=-135&&s<-45?n=2:(s>=135&&s<=180||s>=-180&&s<-135)&&(n=3),n}(l,c,a,o),p=[3,4].includes(s),d=[1,2].includes(s);if(p&&!e.isRotate||d&&e.isRotate){let s=(0,i.clamp)((a-l)/e.width,-1,1),p=(0,i.clamp)((o-c)/e.height,-1,1),d=e.isRotate?p:s,f=n===r?e.constructor.TOUCH_MOVE_RATIO:1,h=(0,i.clamp)(u+e.duration*d*f,0,e.duration);e.seek=h,e.emit("setBar","played",(0,i.clamp)(h/e.duration,0,1),t),e.notice.show=`${(0,i.secondToTime)(h)} / ${(0,i.secondToTime)(e.duration)}`}}};t.proxy(a,"touchstart",e=>{n=a,p(e)}),t.proxy(r,"touchstart",e=>{n=r,p(e)}),t.proxy(r,"touchmove",d),t.proxy(a,"touchmove",d),t.proxy(document,"touchend",()=>{s&&(l=0,c=0,u=0,s=!1,n=null)})}}},{"../utils":"h3rH9","../control/progress":"aBBSH","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],hDyWF:[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r),a.export(r,"default",()=>o);var i=e("../utils");function o(e,t){let{option:r,constructor:a,template:{$container:o}}=e,n=(0,i.throttle)(()=>{e.emit("view",(0,i.isInViewport)(o,a.SCROLL_GAP))},a.SCROLL_TIME);t.proxy(window,"scroll",()=>n()),e.on("view",t=>{r.autoMini&&(e.mini=!t)})}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],"7RjDP":[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");function i(e,t){t.proxy(document,"mousemove",t=>{e.emit("document:mousemove",t)}),t.proxy(document,"mouseup",t=>{e.emit("document:mouseup",t)})}a.defineInteropFlag(r),a.export(r,"default",()=>i)},{"@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],"8SmBT":[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");function i(e){if(e.constructor.USE_RAF){let t=null;!function r(){e.playing&&e.emit("raf"),e.isDestroy||(t=requestAnimationFrame(r))}(),e.on("destroy",()=>{cancelAnimationFrame(t)})}}a.defineInteropFlag(r),a.export(r,"default",()=>i)},{"@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],eTow4:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var a=e("./utils");r.default=class{constructor(e){this.art=e,this.keys={},e.option.hotkey&&!a.isMobile&&this.init()}init(){let{proxy:e,constructor:t}=this.art;this.add(27,()=>{this.art.fullscreenWeb&&(this.art.fullscreenWeb=!1)}),this.add(32,()=>{this.art.toggle()}),this.add(37,()=>{this.art.backward=t.SEEK_STEP}),this.add(38,()=>{this.art.volume+=t.VOLUME_STEP}),this.add(39,()=>{this.art.forward=t.SEEK_STEP}),this.add(40,()=>{this.art.volume-=t.VOLUME_STEP}),e(window,"keydown",e=>{if(this.art.isFocus){let t=document.activeElement.tagName.toUpperCase(),r=document.activeElement.getAttribute("contenteditable");if("INPUT"!==t&&"TEXTAREA"!==t&&""!==r&&"true"!==r&&!e.altKey&&!e.ctrlKey&&!e.metaKey&&!e.shiftKey){let t=this.keys[e.keyCode];if(t){e.preventDefault();for(let r=0;r{i.innerText="",(0,a.removeClass)(r,"art-notice-show")},t.NOTICE_TIME)):(0,a.removeClass)(r,"art-notice-show")}}},{"./utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],"2etr0":[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r);var i=e("./utils"),o=e("./utils/component"),n=a.interopDefault(o);class s extends n.default{constructor(e){super(e),this.name="mask";let{template:t,icons:r,events:a}=e,o=(0,i.append)(t.$state,r.state),n=(0,i.append)(t.$state,r.error);(0,i.setStyle)(n,"display","none"),e.on("destroy",()=>{(0,i.setStyle)(o,"display","none"),(0,i.setStyle)(n,"display",null)}),a.proxy(t.$state,"click",()=>e.play())}}r.default=s},{"./utils":"h3rH9","./utils/component":"guki8","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],"6dYSr":[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r);var i=e("../utils"),o=e("bundle-text:./loading.svg"),n=a.interopDefault(o),s=e("bundle-text:./state.svg"),l=a.interopDefault(s),c=e("bundle-text:./check.svg"),u=a.interopDefault(c),p=e("bundle-text:./play.svg"),d=a.interopDefault(p),f=e("bundle-text:./pause.svg"),h=a.interopDefault(f),m=e("bundle-text:./volume.svg"),g=a.interopDefault(m),v=e("bundle-text:./volume-close.svg"),y=a.interopDefault(v),b=e("bundle-text:./screenshot.svg"),x=a.interopDefault(b),w=e("bundle-text:./setting.svg"),j=a.interopDefault(w),k=e("bundle-text:./arrow-left.svg"),S=a.interopDefault(k),I=e("bundle-text:./arrow-right.svg"),T=a.interopDefault(I),O=e("bundle-text:./playback-rate.svg"),E=a.interopDefault(O),M=e("bundle-text:./aspect-ratio.svg"),$=a.interopDefault(M),F=e("bundle-text:./config.svg"),C=a.interopDefault(F),D=e("bundle-text:./pip.svg"),H=a.interopDefault(D),B=e("bundle-text:./lock.svg"),z=a.interopDefault(B),R=e("bundle-text:./unlock.svg"),A=a.interopDefault(R),L=e("bundle-text:./fullscreen-off.svg"),P=a.interopDefault(L),N=e("bundle-text:./fullscreen-on.svg"),Z=a.interopDefault(N),_=e("bundle-text:./fullscreen-web-off.svg"),q=a.interopDefault(_),V=e("bundle-text:./fullscreen-web-on.svg"),W=a.interopDefault(V),U=e("bundle-text:./switch-on.svg"),Y=a.interopDefault(U),K=e("bundle-text:./switch-off.svg"),X=a.interopDefault(K),G=e("bundle-text:./flip.svg"),J=a.interopDefault(G),Q=e("bundle-text:./error.svg"),ee=a.interopDefault(Q),et=e("bundle-text:./close.svg"),er=a.interopDefault(et),ea=e("bundle-text:./airplay.svg"),ei=a.interopDefault(ea);r.default=class{constructor(e){let t={loading:n.default,state:l.default,play:d.default,pause:h.default,check:u.default,volume:g.default,volumeClose:y.default,screenshot:x.default,setting:j.default,pip:H.default,arrowLeft:S.default,arrowRight:T.default,playbackRate:E.default,aspectRatio:$.default,config:C.default,lock:z.default,flip:J.default,unlock:A.default,fullscreenOff:P.default,fullscreenOn:Z.default,fullscreenWebOff:q.default,fullscreenWebOn:W.default,switchOn:Y.default,switchOff:X.default,error:ee.default,close:er.default,airplay:ei.default,...e.option.icons};for(let e in t)(0,i.def)(this,e,{get:()=>(0,i.getIcon)(e,t[e])})}}},{"../utils":"h3rH9","bundle-text:./loading.svg":"fY5Gt","bundle-text:./state.svg":"iNfLt","bundle-text:./check.svg":"jtE9u","bundle-text:./play.svg":"elgfY","bundle-text:./pause.svg":"eKokJ","bundle-text:./volume.svg":"hNB4y","bundle-text:./volume-close.svg":"i9vta","bundle-text:./screenshot.svg":"kB3Mf","bundle-text:./setting.svg":"3MONs","bundle-text:./arrow-left.svg":"iMCpk","bundle-text:./arrow-right.svg":"3oe4L","bundle-text:./playback-rate.svg":"liE22","bundle-text:./aspect-ratio.svg":"8HqYc","bundle-text:./config.svg":"hYAAH","bundle-text:./pip.svg":"jmNrH","bundle-text:./lock.svg":"cIqko","bundle-text:./unlock.svg":"65zy4","bundle-text:./fullscreen-off.svg":"jaJRT","bundle-text:./fullscreen-on.svg":"cRY1X","bundle-text:./fullscreen-web-off.svg":"3aVGL","bundle-text:./fullscreen-web-on.svg":"4DiVn","bundle-text:./switch-on.svg":"kwdKE","bundle-text:./switch-off.svg":"bWfXZ","bundle-text:./flip.svg":"h3zZ9","bundle-text:./error.svg":"7Oyth","bundle-text:./close.svg":"U5Jcy","bundle-text:./airplay.svg":"jK5Fx","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],fY5Gt:[function(e,t,r){t.exports=''},{}],iNfLt:[function(e,t,r){t.exports=''},{}],jtE9u:[function(e,t,r){t.exports=''},{}],elgfY:[function(e,t,r){t.exports=''},{}],eKokJ:[function(e,t,r){t.exports=''},{}],hNB4y:[function(e,t,r){t.exports=''},{}],i9vta:[function(e,t,r){t.exports=''},{}],kB3Mf:[function(e,t,r){t.exports=''},{}],"3MONs":[function(e,t,r){t.exports=''},{}],iMCpk:[function(e,t,r){t.exports=''},{}],"3oe4L":[function(e,t,r){t.exports=''},{}],liE22:[function(e,t,r){t.exports=''},{}],"8HqYc":[function(e,t,r){t.exports=''},{}],hYAAH:[function(e,t,r){t.exports=''},{}],jmNrH:[function(e,t,r){t.exports=''},{}],cIqko:[function(e,t,r){t.exports=''},{}],"65zy4":[function(e,t,r){t.exports=''},{}],jaJRT:[function(e,t,r){t.exports=''},{}],cRY1X:[function(e,t,r){t.exports=''},{}],"3aVGL":[function(e,t,r){t.exports=''},{}],"4DiVn":[function(e,t,r){t.exports=''},{}],kwdKE:[function(e,t,r){t.exports=''},{}],bWfXZ:[function(e,t,r){t.exports=''},{}],h3zZ9:[function(e,t,r){t.exports=''},{}],"7Oyth":[function(e,t,r){t.exports=''},{}],U5Jcy:[function(e,t,r){t.exports=''},{}],jK5Fx:[function(e,t,r){t.exports=''},{}],bRHiA:[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r);var i=e("./flip"),o=a.interopDefault(i),n=e("./aspectRatio"),s=a.interopDefault(n),l=e("./playbackRate"),c=a.interopDefault(l),u=e("./subtitleOffset"),p=a.interopDefault(u),d=e("../utils/component"),f=a.interopDefault(d),h=e("../utils/error"),m=e("../utils");class g extends f.default{constructor(e){super(e);let{option:t,controls:r,template:{$setting:a}}=e;this.name="setting",this.$parent=a,this.option=[],this.events=[],this.cache=new Map,t.setting&&(this.init(),e.on("blur",()=>{this.show&&(this.show=!1,this.render(this.option))}),e.on("focus",e=>{let t=(0,m.includeFromEvent)(e,r.setting),a=(0,m.includeFromEvent)(e,this.$parent);!this.show||t||a||(this.show=!1,this.render(this.option))}))}static makeRecursion(e,t,r){for(let a=0;a'),n=(0,m.createElement)("div");(0,m.addClass)(n,"art-setting-item-left-icon"),(0,m.append)(n,t.arrowLeft),(0,m.append)(o,n),(0,m.append)(o,e.$parentItem.html);let s=r(i,"click",()=>this.render(e.$parentList));return this.events.push(s),i}creatItem(e,t){let{icons:r,proxy:a,constructor:i}=this.art,o=(0,m.createElement)("div");(0,m.addClass)(o,"art-setting-item"),(0,m.setStyle)(o,"height",`${i.SETTING_ITEM_HEIGHT}px`),(0,m.isStringOrNumber)(t.name)&&(o.dataset.name=t.name),(0,m.isStringOrNumber)(t.value)&&(o.dataset.value=t.value);let n=(0,m.append)(o,'
'),s=(0,m.append)(o,'
'),l=(0,m.createElement)("div");switch((0,m.addClass)(l,"art-setting-item-left-icon"),e){case"switch":case"range":(0,m.append)(l,(0,m.isStringOrNumber)(t.icon)||t.icon instanceof Element?t.icon:r.config);break;case"selector":t.selector&&t.selector.length?(0,m.append)(l,(0,m.isStringOrNumber)(t.icon)||t.icon instanceof Element?t.icon:r.config):(0,m.append)(l,r.check)}(0,m.append)(n,l),t.$icon=l,(0,m.def)(t,"icon",{configurable:!0,get:()=>l.innerHTML,set(e){(0,m.isStringOrNumber)(e)&&(l.innerHTML=e)}});let c=(0,m.createElement)("div");(0,m.addClass)(c,"art-setting-item-left-text"),(0,m.append)(c,t.html||""),(0,m.append)(n,c),t.$html=c,(0,m.def)(t,"html",{configurable:!0,get:()=>c.innerHTML,set(e){(0,m.isStringOrNumber)(e)&&(c.innerHTML=e)}});let u=(0,m.createElement)("div");switch((0,m.addClass)(u,"art-setting-item-right-tooltip"),(0,m.append)(u,t.tooltip||""),(0,m.append)(s,u),t.$tooltip=u,(0,m.def)(t,"tooltip",{configurable:!0,get:()=>u.innerHTML,set(e){(0,m.isStringOrNumber)(e)&&(u.innerHTML=e)}}),e){case"switch":{let e=(0,m.createElement)("div");(0,m.addClass)(e,"art-setting-item-right-icon");let a=(0,m.append)(e,r.switchOn),i=(0,m.append)(e,r.switchOff);(0,m.setStyle)(t.switch?i:a,"display","none"),(0,m.append)(s,e),t.$switch=t.switch,(0,m.def)(t,"switch",{configurable:!0,get:()=>t.$switch,set(e){t.$switch=e,e?((0,m.setStyle)(i,"display","none"),(0,m.setStyle)(a,"display",null)):((0,m.setStyle)(i,"display",null),(0,m.setStyle)(a,"display","none"))}});break}case"range":{let e=(0,m.createElement)("div");(0,m.addClass)(e,"art-setting-item-right-icon");let r=(0,m.append)(e,'');r.value=t.range[0]||0,r.min=t.range[1]||0,r.max=t.range[2]||10,r.step=t.range[3]||1,(0,m.addClass)(r,"art-setting-range"),(0,m.append)(s,e),t.$range=r,(0,m.def)(t,"range",{configurable:!0,get:()=>r.valueAsNumber,set(e){r.value=Number(e)}})}break;case"selector":if(t.selector&&t.selector.length){let e=(0,m.createElement)("div");(0,m.addClass)(e,"art-setting-item-right-icon"),(0,m.append)(e,r.arrowRight),(0,m.append)(s,e)}}switch(e){case"switch":if(t.onSwitch){let e=a(o,"click",async e=>{t.switch=await t.onSwitch.call(this.art,t,o,e)});this.events.push(e)}break;case"range":if(t.$range){if(t.onRange){let e=a(t.$range,"change",async e=>{t.tooltip=await t.onRange.call(this.art,t,o,e)});this.events.push(e)}if(t.onChange){let e=a(t.$range,"input",async e=>{t.tooltip=await t.onChange.call(this.art,t,o,e)});this.events.push(e)}}break;case"selector":{let e=a(o,"click",async e=>{if(t.selector&&t.selector.length)this.render(t.selector,t.width);else{(0,m.inverseClass)(o,"art-current");for(let e=0;ec?((0,m.setStyle)(i,"left",null),(0,m.setStyle)(i,"right",null)):((0,m.setStyle)(i,"left",`${u}px`),(0,m.setStyle)(i,"right","auto"))}}render(e,t){let{constructor:r}=this.art;if(this.cache.has(e)){let t=this.cache.get(e);(0,m.inverseClass)(t,"art-current"),(0,m.setStyle)(this.$parent,"width",`${t.dataset.width}px`),(0,m.setStyle)(this.$parent,"height",`${t.dataset.height}px`),this.updateStyle(Number(t.dataset.width))}else{let a=(0,m.createElement)("div");(0,m.addClass)(a,"art-setting-panel"),a.dataset.width=t||r.SETTING_WIDTH,a.dataset.height=e.length*r.SETTING_ITEM_HEIGHT,e[0]&&e[0].$parentItem&&((0,m.append)(a,this.creatHeader(e[0])),a.dataset.height=Number(a.dataset.height)+r.SETTING_ITEM_HEIGHT);for(let t=0;to);var i=e("../utils");function o(e){let{i18n:t,icons:r,constructor:{SETTING_ITEM_WIDTH:a,FLIP:o}}=e;function n(e,r,a){r&&(r.innerText=t.get((0,i.capitalize)(a)));let o=(0,i.queryAll)(".art-setting-item",e).find(e=>e.dataset.value===a);o&&(0,i.inverseClass)(o,"art-current")}return{width:a,name:"flip",html:t.get("Video Flip"),tooltip:t.get((0,i.capitalize)(e.flip)),icon:r.flip,selector:o.map(r=>({value:r,name:`aspect-ratio-${r}`,default:r===e.flip,html:t.get((0,i.capitalize)(r))})),onSelect:t=>(e.flip=t.value,t.html),mounted:(t,r)=>{n(t,r.$tooltip,e.flip),e.on("flip",()=>{n(t,r.$tooltip,e.flip)})}}}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],"5lAsp":[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r),a.export(r,"default",()=>o);var i=e("../utils");function o(e){let{i18n:t,icons:r,constructor:{SETTING_ITEM_WIDTH:a,ASPECT_RATIO:o}}=e;function n(e){return"default"===e?t.get("Default"):e}function s(e,t,r){t&&(t.innerText=n(r));let a=(0,i.queryAll)(".art-setting-item",e).find(e=>e.dataset.value===r);a&&(0,i.inverseClass)(a,"art-current")}return{width:a,name:"aspect-ratio",html:t.get("Aspect Ratio"),icon:r.aspectRatio,tooltip:n(e.aspectRatio),selector:o.map(t=>({value:t,name:`aspect-ratio-${t}`,default:t===e.aspectRatio,html:n(t)})),onSelect:t=>(e.aspectRatio=t.value,t.html),mounted:(t,r)=>{s(t,r.$tooltip,e.aspectRatio),e.on("aspectRatio",()=>{s(t,r.$tooltip,e.aspectRatio)})}}}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],e6hsR:[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r),a.export(r,"default",()=>o);var i=e("../utils");function o(e){let{i18n:t,icons:r,constructor:{SETTING_ITEM_WIDTH:a,PLAYBACK_RATE:o}}=e;function n(e){return 1===e?t.get("Normal"):e.toFixed(1)}function s(e,t,r){t&&(t.innerText=n(r));let a=(0,i.queryAll)(".art-setting-item",e).find(e=>Number(e.dataset.value)===r);a&&(0,i.inverseClass)(a,"art-current")}return{width:a,name:"playback-rate",html:t.get("Play Speed"),tooltip:n(e.playbackRate),icon:r.playbackRate,selector:o.map(t=>({value:t,name:`aspect-ratio-${t}`,default:t===e.playbackRate,html:n(t)})),onSelect:t=>(e.playbackRate=t.value,t.html),mounted:(t,r)=>{s(t,r.$tooltip,e.playbackRate),e.on("video:ratechange",()=>{s(t,r.$tooltip,e.playbackRate)})}}}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],fFNEr:[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");function i(e){let{i18n:t,icons:r,constructor:a}=e;return{width:a.SETTING_ITEM_WIDTH,name:"subtitle-offset",html:t.get("Subtitle Offset"),icon:r.subtitle,tooltip:"0s",range:[0,-5,5,.1],onChange:t=>(e.subtitleOffset=t.range,t.range+"s")}}a.defineInteropFlag(r),a.export(r,"default",()=>i)},{"@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],f2Thp:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r),r.default=class{constructor(){this.name="artplayer_settings",this.settings={}}get(e){try{let t=JSON.parse(window.localStorage.getItem(this.name))||{};return e?t[e]:t}catch(t){return e?this.settings[e]:this.settings}}set(e,t){try{let r=Object.assign({},this.get(),{[e]:t});window.localStorage.setItem(this.name,JSON.stringify(r))}catch(r){this.settings[e]=t}}del(e){try{let t=this.get();delete t[e],window.localStorage.setItem(this.name,JSON.stringify(t))}catch(t){delete this.settings[e]}}clear(){try{window.localStorage.removeItem(this.name)}catch(e){this.settings={}}}}},{"@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],"96ThS":[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r);var i=e("../utils"),o=e("./miniProgressBar"),n=a.interopDefault(o),s=e("./autoOrientation"),l=a.interopDefault(s),c=e("./autoPlayback"),u=a.interopDefault(c),p=e("./fastForward"),d=a.interopDefault(p),f=e("./lock"),h=a.interopDefault(f);r.default=class{constructor(e){this.art=e,this.id=0;let{option:t}=e;t.miniProgressBar&&!t.isLive&&this.add(n.default),t.lock&&i.isMobile&&this.add(h.default),t.autoPlayback&&!t.isLive&&this.add(u.default),t.autoOrientation&&i.isMobile&&this.add(l.default),t.fastForward&&i.isMobile&&!t.isLive&&this.add(d.default);for(let e=0;ethis.next(e,t)):this.next(e,t)}next(e,t){let r=t&&t.name||e.name||`plugin${this.id}`;return(0,i.errorHandle)(!(0,i.has)(this,r),`Cannot add a plugin that already has the same name: ${r}`),(0,i.def)(this,r,{value:t}),this}}},{"../utils":"h3rH9","./miniProgressBar":"iBx4M","./autoOrientation":"2O9qO","./autoPlayback":"iiOc1","./fastForward":"d9NUE","./lock":"5dnKh","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],iBx4M:[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r),a.export(r,"default",()=>o);var i=e("../utils");function o(e){return e.on("control",t=>{t?(0,i.removeClass)(e.template.$player,"art-mini-progress-bar"):(0,i.addClass)(e.template.$player,"art-mini-progress-bar")}),{name:"mini-progress-bar"}}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],"2O9qO":[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r),a.export(r,"default",()=>o);var i=e("../utils");function o(e){let{constructor:t,template:{$player:r,$video:a}}=e;return e.on("fullscreenWeb",o=>{if(o){let{videoWidth:o,videoHeight:n}=a,{clientWidth:s,clientHeight:l}=document.documentElement;(o>n&&sl)&&setTimeout(()=>{(0,i.setStyle)(r,"width",`${l}px`),(0,i.setStyle)(r,"height",`${s}px`),(0,i.setStyle)(r,"transform-origin","0 0"),(0,i.setStyle)(r,"transform",`rotate(90deg) translate(0, -${s}px)`),(0,i.addClass)(r,"art-auto-orientation"),e.isRotate=!0,e.emit("resize")},t.AUTO_ORIENTATION_TIME)}else(0,i.hasClass)(r,"art-auto-orientation")&&((0,i.removeClass)(r,"art-auto-orientation"),e.isRotate=!1,e.emit("resize"))}),e.on("fullscreen",async e=>{if(!screen?.orientation?.lock)return;let t=screen.orientation.type;if(e){let{videoWidth:e,videoHeight:o}=a,{clientWidth:n,clientHeight:s}=document.documentElement;if(e>o&&ns){let e=t.startsWith("portrait")?"landscape":"portrait";await screen.orientation.lock(e),(0,i.addClass)(r,"art-auto-orientation-fullscreen")}}else(0,i.hasClass)(r,"art-auto-orientation-fullscreen")&&(await screen.orientation.lock(t),(0,i.removeClass)(r,"art-auto-orientation-fullscreen"))}),{name:"autoOrientation",get state(){return(0,i.hasClass)(r,"art-auto-orientation")}}}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],iiOc1:[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r),a.export(r,"default",()=>o);var i=e("../utils");function o(e){let{i18n:t,icons:r,storage:a,constructor:o,proxy:n,template:{$poster:s}}=e,l=e.layers.add({name:"auto-playback",html:`
`}),c=(0,i.query)(".art-auto-playback-last",l),u=(0,i.query)(".art-auto-playback-jump",l),p=(0,i.query)(".art-auto-playback-close",l);return e.on("video:timeupdate",()=>{if(e.playing){let t=a.get("times")||{},r=Object.keys(t);r.length>o.AUTO_PLAYBACK_MAX&&delete t[r[0]],t[e.option.id||e.option.url]=e.currentTime,a.set("times",t)}}),e.on("ready",()=>{let d=(a.get("times")||{})[e.option.id||e.option.url];d&&d>=o.AUTO_PLAYBACK_MIN&&((0,i.append)(p,r.close),(0,i.setStyle)(l,"display","flex"),c.innerText=`${t.get("Last Seen")} ${(0,i.secondToTime)(d)}`,u.innerText=t.get("Jump Play"),n(p,"click",()=>{(0,i.setStyle)(l,"display","none")}),n(u,"click",()=>{e.seek=d,e.play(),(0,i.setStyle)(s,"display","none"),(0,i.setStyle)(l,"display","none")}),e.once("video:timeupdate",()=>{setTimeout(()=>{(0,i.setStyle)(l,"display","none")},o.AUTO_PLAYBACK_TIMEOUT)}))}),{name:"auto-playback",get times(){return a.get("times")||{}},clear:()=>a.del("times"),delete(e){let t=a.get("times")||{};return delete t[e],a.set("times",t),t}}}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],d9NUE:[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r),a.export(r,"default",()=>o);var i=e("../utils");function o(e){let{constructor:t,proxy:r,template:{$player:a,$video:o}}=e,n=null,s=!1,l=1,c=()=>{clearTimeout(n),s&&(s=!1,e.playbackRate=l,(0,i.removeClass)(a,"art-fast-forward"))};return r(o,"touchstart",r=>{1===r.touches.length&&e.playing&&!e.isLock&&(n=setTimeout(()=>{s=!0,l=e.playbackRate,e.playbackRate=t.FAST_FORWARD_VALUE,(0,i.addClass)(a,"art-fast-forward")},t.FAST_FORWARD_TIME))}),r(document,"touchmove",c),r(document,"touchend",c),{name:"fastForward",get state(){return(0,i.hasClass)(a,"art-fast-forward")}}}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}],"5dnKh":[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r),a.export(r,"default",()=>o);var i=e("../utils");function o(e){let{layers:t,icons:r,template:{$player:a}}=e;function o(){return(0,i.hasClass)(a,"art-lock")}function n(){(0,i.addClass)(a,"art-lock"),e.isLock=!0,e.emit("lock",!0)}function s(){(0,i.removeClass)(a,"art-lock"),e.isLock=!1,e.emit("lock",!1)}return t.add({name:"lock",mounted(t){let a=(0,i.append)(t,r.lock),o=(0,i.append)(t,r.unlock);(0,i.setStyle)(a,"display","none"),e.on("lock",e=>{e?((0,i.setStyle)(a,"display","inline-flex"),(0,i.setStyle)(o,"display","none")):((0,i.setStyle)(a,"display","none"),(0,i.setStyle)(o,"display","inline-flex"))})},click(){o()?s():n()}}),{name:"lock",get state(){return o()},set state(value){value?n():s()}}}},{"../utils":"h3rH9","@parcel/transformer-js/src/esmodule-helpers.js":"guZOB"}]},["abjMI"],"abjMI","parcelRequireb749"); \ No newline at end of file +!function(e,t,r,a,i){var o="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},n="function"==typeof o[a]&&o[a],s=n.cache||{},l="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function c(t,r){if(!s[t]){if(!e[t]){var i="function"==typeof o[a]&&o[a];if(!r&&i)return i(t,!0);if(n)return n(t,!0);if(l&&"string"==typeof t)return l(t);var p=Error("Cannot find module '"+t+"'");throw p.code="MODULE_NOT_FOUND",p}d.resolve=function(r){var a=e[t][1][r];return null!=a?a:r},d.cache={};var u=s[t]=new c.Module(t);e[t][0].call(u.exports,d,u,u.exports,this)}return s[t].exports;function d(e){var t=d.resolve(e);return!1===t?{}:c(t)}}c.isParcelRequire=!0,c.Module=function(e){this.id=e,this.bundle=c,this.exports={}},c.modules=e,c.cache=s,c.parent=n,c.register=function(t,r){e[t]=[function(e,t){t.exports=r},{}]},Object.defineProperty(c,"root",{get:function(){return o[a]}}),o[a]=c;for(var p=0;pt.call(this,this)),X.DEBUG){let e=e=>console.log(`[ART.${this.id}] -> ${e}`);e("Version@"+X.version),e("Env@"+X.env),e("Build@"+X.build);for(let t=0;te("Event@"+t.type))}Z.push(this)}static get instances(){return Z}static get version(){return"5.1.7"}static get env(){return"production"}static get build(){return"2024-08-21 16:10:51"}static get config(){return h.default}static get utils(){return p}static get scheme(){return d.default}static get Emitter(){return c.default}static get validator(){return s.default}static get kindOf(){return s.default.kindOf}static get html(){return g.default.html}static get option(){return{id:"",container:"#artplayer",url:"",poster:"",type:"",theme:"#f00",volume:.7,isLive:!1,muted:!1,autoplay:!1,autoSize:!1,autoMini:!1,loop:!1,flip:!1,playbackRate:!1,aspectRatio:!1,screenshot:!1,setting:!1,hotkey:!0,pip:!1,mutex:!0,backdrop:!0,fullscreen:!1,fullscreenWeb:!1,subtitleOffset:!1,miniProgressBar:!1,useSSR:!1,playsInline:!0,lock:!1,fastForward:!1,autoPlayback:!1,autoOrientation:!1,airplay:!1,proxy:void 0,layers:[],contextmenu:[],controls:[],settings:[],quality:[],highlight:[],plugins:[],thumbnails:{url:"",number:60,column:10,width:0,height:0},subtitle:{url:"",type:"",style:{},name:"",escape:!0,encoding:"utf-8",onVttLoad:e=>e},moreVideoAttr:{controls:!1,preload:p.isSafari?"auto":"metadata"},i18n:{},icons:{},cssVar:{},customType:{},lang:navigator.language.toLowerCase()}}get proxy(){return this.events.proxy}get query(){return this.template.query}get video(){return this.template.$video}destroy(e=!0){this.events.destroy(),this.template.destroy(e),Z.splice(Z.indexOf(this),1),this.isDestroy=!0,this.emit("destroy")}}r.default=X,X.STYLE=o.default,X.DEBUG=!1,X.CONTEXTMENU=!0,X.NOTICE_TIME=2e3,X.SETTING_WIDTH=250,X.SETTING_ITEM_WIDTH=200,X.SETTING_ITEM_HEIGHT=35,X.RESIZE_TIME=200,X.SCROLL_TIME=200,X.SCROLL_GAP=50,X.AUTO_PLAYBACK_MAX=10,X.AUTO_PLAYBACK_MIN=5,X.AUTO_PLAYBACK_TIMEOUT=3e3,X.RECONNECT_TIME_MAX=5,X.RECONNECT_SLEEP_TIME=1e3,X.CONTROL_HIDE_TIME=3e3,X.DBCLICK_TIME=300,X.DBCLICK_FULLSCREEN=!0,X.MOBILE_DBCLICK_PLAY=!0,X.MOBILE_CLICK_PLAY=!1,X.AUTO_ORIENTATION_TIME=200,X.INFO_LOOP_TIME=1e3,X.FAST_FORWARD_VALUE=3,X.FAST_FORWARD_TIME=1e3,X.TOUCH_MOVE_RATIO=.5,X.VOLUME_STEP=.1,X.SEEK_STEP=5,X.PLAYBACK_RATE=[.5,.75,1,1.25,1.5,2],X.ASPECT_RATIO=["default","4:3","16:9"],X.FLIP=["normal","horizontal","vertical"],X.FULLSCREEN_WEB_IN_BODY=!1,X.LOG_VERSION=!0,X.USE_RAF=!1,p.isBrowser&&(window.Artplayer=X,p.setStyleText("artplayer-style",o.default),setTimeout(()=>{X.LOG_VERSION&&console.log(`%c ArtPlayer %c ${X.version} %c https://artplayer.org`,"color: #fff; background: #5f5f5f","color: #fff; background: #4bc729","")},100))},{"bundle-text:./style/index.less":"0016T","option-validator":"bAWi2","./utils/emitter":"66mFZ","./utils":"71aH7","./scheme":"AKEiO","./config":"lyjeQ","./template":"X13Zf","./i18n":"3jKkj","./player":"a90nx","./control":"8Z0Uf","./contextmenu":"2KYsr","./info":"02ajl","./subtitle":"eSWto","./events":"jo4S1","./hotkey":"6NoFy","./layer":"6G6hZ","./loading":"3dsEe","./notice":"dWGTw","./mask":"5POkG","./icons":"6OeNg","./setting":"3eYNH","./storage":"2aaJe","./plugins":"8MTUM","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"0016T":[function(e,t,r){t.exports='.art-video-player{--art-theme:red;--art-font-color:#fff;--art-background-color:#000;--art-text-shadow-color:#00000080;--art-transition-duration:.2s;--art-padding:10px;--art-border-radius:3px;--art-progress-height:6px;--art-progress-color:#ffffff40;--art-hover-color:#ffffff40;--art-loaded-color:#ffffff40;--art-state-size:80px;--art-state-opacity:.8;--art-bottom-height:100px;--art-bottom-offset:20px;--art-bottom-gap:5px;--art-highlight-width:8px;--art-highlight-color:#ffffff80;--art-control-height:46px;--art-control-opacity:.75;--art-control-icon-size:36px;--art-control-icon-scale:1.1;--art-volume-height:120px;--art-volume-handle-size:14px;--art-lock-size:36px;--art-indicator-scale:0;--art-indicator-size:16px;--art-fullscreen-web-index:9999;--art-settings-icon-size:24px;--art-settings-max-height:300px;--art-selector-max-height:300px;--art-contextmenus-min-width:250px;--art-subtitle-font-size:20px;--art-subtitle-gap:5px;--art-subtitle-bottom:15px;--art-subtitle-border:#000;--art-widget-background:#000000d9;--art-tip-background:#000000b3;--art-scrollbar-size:4px;--art-scrollbar-background:#ffffff40;--art-scrollbar-background-hover:#ffffff80;--art-mini-progress-height:2px}.art-bg-cover{background-position:50%;background-repeat:no-repeat;background-size:cover}.art-bottom-gradient{background-image:linear-gradient(#0000,#0006,#000);background-position:bottom;background-repeat:repeat-x}.art-backdrop-filter{backdrop-filter:saturate(180%)blur(20px);background-color:#000000bf!important}.art-truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.art-video-player{zoom:1;text-align:left;user-select:none;box-sizing:border-box;color:var(--art-font-color);background-color:var(--art-background-color);text-shadow:0 0 2px var(--art-text-shadow-color);-webkit-tap-highlight-color:#0000;-ms-touch-action:manipulation;touch-action:manipulation;-ms-high-contrast-adjust:none;direction:ltr;outline:0;width:100%;height:100%;margin:0 auto;padding:0;font-family:PingFang SC,Helvetica Neue,Microsoft YaHei,Roboto,Arial,sans-serif;font-size:14px;line-height:1.3;position:relative}.art-video-player *,.art-video-player :before,.art-video-player :after{box-sizing:border-box}.art-video-player ::-webkit-scrollbar{width:var(--art-scrollbar-size);height:var(--art-scrollbar-size)}.art-video-player ::-webkit-scrollbar-thumb{background-color:var(--art-scrollbar-background)}.art-video-player ::-webkit-scrollbar-thumb:hover{background-color:var(--art-scrollbar-background-hover)}.art-video-player img{vertical-align:top;max-width:100%}.art-video-player svg{fill:var(--art-font-color)}.art-video-player a{color:var(--art-font-color);text-decoration:none}.art-icon{justify-content:center;align-items:center;line-height:1;display:flex}.art-video-player.art-backdrop .art-contextmenus,.art-video-player.art-backdrop .art-info,.art-video-player.art-backdrop .art-settings,.art-video-player.art-backdrop .art-layer-auto-playback,.art-video-player.art-backdrop .art-selector-list,.art-video-player.art-backdrop .art-volume-inner{backdrop-filter:saturate(180%)blur(20px);background-color:#000000bf!important}.art-video{z-index:10;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.art-poster{z-index:11;pointer-events:none;background-position:50%;background-repeat:no-repeat;background-size:cover;width:100%;height:100%;position:absolute;inset:0}.art-video-player .art-subtitle{z-index:20;text-align:center;pointer-events:none;justify-content:center;align-items:center;gap:var(--art-subtitle-gap);bottom:var(--art-subtitle-bottom);font-size:var(--art-subtitle-font-size);transition:bottom var(--art-transition-duration)ease;text-shadow:var(--art-subtitle-border)1px 0 1px,var(--art-subtitle-border)0 1px 1px,var(--art-subtitle-border)-1px 0 1px,var(--art-subtitle-border)0 -1px 1px,var(--art-subtitle-border)1px 1px 1px,var(--art-subtitle-border)-1px -1px 1px,var(--art-subtitle-border)1px -1px 1px,var(--art-subtitle-border)-1px 1px 1px;flex-direction:column;width:100%;padding:0 5%;display:none;position:absolute}.art-video-player.art-subtitle-show .art-subtitle{display:flex}.art-video-player.art-control-show .art-subtitle{bottom:calc(var(--art-control-height) + var(--art-subtitle-bottom))}.art-danmuku{z-index:30;pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:hidden}.art-video-player .art-layers{z-index:40;pointer-events:none;width:100%;height:100%;display:none;position:absolute;inset:0}.art-video-player .art-layers .art-layer{pointer-events:auto}.art-video-player.art-layer-show .art-layers{display:flex}.art-video-player .art-mask{z-index:50;pointer-events:none;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:absolute;inset:0}.art-video-player .art-mask .art-state{opacity:0;width:var(--art-state-size);height:var(--art-state-size);transition:all var(--art-transition-duration)ease;justify-content:center;align-items:center;display:flex;transform:scale(2)}.art-video-player.art-mask-show .art-state{cursor:pointer;pointer-events:auto;opacity:var(--art-state-opacity);transform:scale(1)}.art-video-player.art-loading-show .art-state{display:none}.art-video-player .art-loading{z-index:70;pointer-events:none;justify-content:center;align-items:center;width:100%;height:100%;display:none;position:absolute;inset:0}.art-video-player.art-loading-show .art-loading{display:flex}.art-video-player .art-bottom{z-index:60;opacity:0;pointer-events:none;padding:0 var(--art-padding);transition:all var(--art-transition-duration)ease;background-size:100% var(--art-bottom-height);background-image:linear-gradient(#0000,#0006,#000);background-position:bottom;background-repeat:repeat-x;flex-direction:column;justify-content:flex-end;width:100%;height:100%;display:flex;position:absolute;inset:0;overflow:hidden}.art-video-player .art-bottom .art-controls,.art-video-player .art-bottom .art-progress{transform:translateY(var(--art-bottom-offset));transition:transform var(--art-transition-duration)ease}.art-video-player.art-control-show .art-bottom,.art-video-player.art-hover .art-bottom{opacity:1}.art-video-player.art-control-show .art-bottom .art-controls,.art-video-player.art-hover .art-bottom .art-controls,.art-video-player.art-control-show .art-bottom .art-progress,.art-video-player.art-hover .art-bottom .art-progress{transform:translateY(0)}.art-bottom .art-progress{z-index:0;pointer-events:auto;padding-bottom:var(--art-bottom-gap);position:relative}.art-bottom .art-progress .art-control-progress{cursor:pointer;height:var(--art-progress-height);justify-content:center;align-items:center;display:flex;position:relative}.art-bottom .art-progress .art-control-progress .art-control-progress-inner{transition:height var(--art-transition-duration)ease;background-color:var(--art-progress-color);align-items:center;width:100%;height:50%;display:flex;position:relative}.art-bottom .art-progress .art-control-progress .art-control-progress-inner .art-progress-hover{z-index:0;background-color:var(--art-hover-color);width:0%;height:100%;position:absolute;inset:0}.art-bottom .art-progress .art-control-progress .art-control-progress-inner .art-progress-loaded{z-index:10;background-color:var(--art-loaded-color);width:0%;height:100%;position:absolute;inset:0}.art-bottom .art-progress .art-control-progress .art-control-progress-inner .art-progress-played{z-index:20;background-color:var(--art-theme);width:0%;height:100%;position:absolute;inset:0}.art-bottom .art-progress .art-control-progress .art-control-progress-inner .art-progress-highlight{z-index:30;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.art-bottom .art-progress .art-control-progress .art-control-progress-inner .art-progress-highlight span{z-index:0;pointer-events:auto;transform:translateX(calc(var(--art-highlight-width)/-2));background-color:var(--art-highlight-color);width:100%;height:100%;position:absolute;inset:0 auto 0 0;width:var(--art-highlight-width)!important}.art-bottom .art-progress .art-control-progress .art-control-progress-inner .art-progress-indicator{z-index:40;width:var(--art-indicator-size);height:var(--art-indicator-size);transform:scale(var(--art-indicator-scale));margin-left:calc(var(--art-indicator-size)/-2);transition:transform var(--art-transition-duration)ease;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;left:0}.art-bottom .art-progress .art-control-progress .art-control-progress-inner .art-progress-indicator .art-icon{pointer-events:none;width:100%;height:100%}.art-bottom .art-progress .art-control-progress .art-control-progress-inner .art-progress-indicator:hover{transform:scale(1.2)!important}.art-bottom .art-progress .art-control-progress .art-control-progress-inner .art-progress-indicator:active{transform:scale(1)!important}.art-bottom .art-progress .art-control-progress .art-control-progress-inner .art-progress-tip{z-index:50;border-radius:var(--art-border-radius);white-space:nowrap;background-color:var(--art-tip-background);padding:3px 5px;font-size:12px;line-height:1;display:none;position:absolute;top:-25px;left:0}.art-bottom .art-progress .art-control-progress:hover .art-control-progress-inner{height:100%}.art-bottom .art-progress .art-control-thumbnails{bottom:calc(var(--art-bottom-gap) + 10px);border-radius:var(--art-border-radius);pointer-events:none;background-color:var(--art-widget-background);display:none;position:absolute;left:0;box-shadow:0 1px 3px #0003,0 1px 2px -1px #0003}.art-bottom:hover .art-progress .art-control-progress .art-control-progress-inner .art-progress-indicator{transform:scale(1)}.art-controls{z-index:10;pointer-events:auto;height:var(--art-control-height);justify-content:space-between;align-items:center;display:flex;position:relative}.art-controls .art-controls-left,.art-controls .art-controls-right{height:100%;display:flex}.art-controls .art-controls-center{flex:1;justify-content:center;align-items:center;height:100%;padding:0 10px;display:none}.art-controls .art-controls-right{justify-content:flex-end}.art-controls .art-control{cursor:pointer;white-space:nowrap;opacity:var(--art-control-opacity);min-height:var(--art-control-height);min-width:var(--art-control-height);transition:opacity var(--art-transition-duration)ease;flex-shrink:0;justify-content:center;align-items:center;display:flex}.art-controls .art-control .art-icon{height:var(--art-control-icon-size);width:var(--art-control-icon-size);transform:scale(var(--art-control-icon-scale));transition:transform var(--art-transition-duration)ease}.art-controls .art-control .art-icon:active{transform:scale(calc(var(--art-control-icon-scale)*.8))}.art-controls .art-control:hover{opacity:1}.art-control-volume{position:relative}.art-control-volume .art-volume-panel{text-align:center;cursor:default;opacity:0;pointer-events:none;left:0;right:0;bottom:var(--art-control-height);width:var(--art-control-height);height:var(--art-volume-height);transition:all var(--art-transition-duration)ease;justify-content:center;align-items:center;padding:0 5px;font-size:12px;display:flex;position:absolute;transform:translateY(10px)}.art-control-volume .art-volume-panel .art-volume-inner{border-radius:var(--art-border-radius);background-color:var(--art-widget-background);flex-direction:column;align-items:center;gap:10px;width:100%;height:100%;padding:10px 0 12px;display:flex}.art-control-volume .art-volume-panel .art-volume-inner .art-volume-slider{cursor:pointer;flex:1;justify-content:center;width:100%;display:flex;position:relative}.art-control-volume .art-volume-panel .art-volume-inner .art-volume-slider .art-volume-handle{border-radius:var(--art-border-radius);background-color:#ffffff40;justify-content:center;width:2px;display:flex;position:relative;overflow:hidden}.art-control-volume .art-volume-panel .art-volume-inner .art-volume-slider .art-volume-handle .art-volume-loaded{z-index:0;background-color:var(--art-theme);width:100%;height:100%;position:absolute;inset:0}.art-control-volume .art-volume-panel .art-volume-inner .art-volume-slider .art-volume-indicator{width:var(--art-volume-handle-size);height:var(--art-volume-handle-size);margin-top:calc(var(--art-volume-handle-size)/-2);background-color:var(--art-theme);transition:transform var(--art-transition-duration)ease;border-radius:100%;flex-shrink:0;position:absolute;transform:scale(1)}.art-control-volume .art-volume-panel .art-volume-inner .art-volume-slider:active .art-volume-indicator{transform:scale(.9)}.art-control-volume:hover .art-volume-panel{opacity:1;pointer-events:auto;transform:translateY(0)}.art-video-player .art-notice{z-index:80;padding:var(--art-padding);pointer-events:none;width:100%;height:auto;display:none;position:absolute;inset:0 0 auto}.art-video-player .art-notice .art-notice-inner{border-radius:var(--art-border-radius);background-color:var(--art-tip-background);padding:5px;line-height:1;display:inline-flex}.art-video-player.art-notice-show .art-notice{display:flex}.art-video-player .art-contextmenus{z-index:120;border-radius:var(--art-border-radius);background-color:var(--art-widget-background);min-width:var(--art-contextmenus-min-width);flex-direction:column;padding:5px 0;font-size:12px;display:none;position:absolute}.art-video-player .art-contextmenus .art-contextmenu{cursor:pointer;border-bottom:1px solid #ffffff1a;padding:10px 15px;display:flex}.art-video-player .art-contextmenus .art-contextmenu span{padding:0 8px}.art-video-player .art-contextmenus .art-contextmenu span:hover,.art-video-player .art-contextmenus .art-contextmenu span.art-current{color:var(--art-theme)}.art-video-player .art-contextmenus .art-contextmenu:hover{background-color:#ffffff1a}.art-video-player .art-contextmenus .art-contextmenu:last-child{border-bottom:none}.art-video-player.art-contextmenu-show .art-contextmenus{display:flex}.art-video-player .art-settings{z-index:90;border-radius:var(--art-border-radius);transform-origin:100% 100%;max-height:var(--art-settings-max-height);left:auto;right:var(--art-padding);bottom:var(--art-control-height);transform:scale(var(--art-settings-scale));transition:all var(--art-transition-duration)ease;background-color:var(--art-widget-background);flex-direction:column;display:none;position:absolute;overflow:hidden auto}.art-video-player .art-settings .art-setting-panel{flex-direction:column;display:none}.art-video-player .art-settings .art-setting-panel.art-current{display:flex}.art-video-player .art-settings .art-setting-panel .art-setting-item{cursor:pointer;transition:background-color var(--art-transition-duration)ease;justify-content:space-between;align-items:center;padding:0 5px;display:flex;overflow:hidden}.art-video-player .art-settings .art-setting-panel .art-setting-item:hover{background-color:#ffffff1a}.art-video-player .art-settings .art-setting-panel .art-setting-item.art-current{color:var(--art-theme)}.art-video-player .art-settings .art-setting-panel .art-setting-item .art-icon-check{visibility:hidden;height:15px}.art-video-player .art-settings .art-setting-panel .art-setting-item.art-current .art-icon-check{visibility:visible}.art-video-player .art-settings .art-setting-panel .art-setting-item .art-setting-item-left{justify-content:center;align-items:center;gap:5px;display:flex}.art-video-player .art-settings .art-setting-panel .art-setting-item .art-setting-item-left .art-setting-item-left-icon{height:var(--art-settings-icon-size);width:var(--art-settings-icon-size);justify-content:center;align-items:center;display:flex}.art-video-player .art-settings .art-setting-panel .art-setting-item .art-setting-item-right{justify-content:center;align-items:center;gap:5px;font-size:12px;display:flex}.art-video-player .art-settings .art-setting-panel .art-setting-item .art-setting-item-right .art-setting-item-right-tooltip{white-space:nowrap;color:#ffffff80}.art-video-player .art-settings .art-setting-panel .art-setting-item .art-setting-item-right .art-setting-item-right-icon{justify-content:center;align-items:center;min-width:32px;height:24px;display:flex}.art-video-player .art-settings .art-setting-panel .art-setting-item .art-setting-item-right .art-setting-range{appearance:none;background-color:#fff3;outline:none;width:80px;height:3px}.art-video-player .art-settings .art-setting-panel .art-setting-item-back{border-bottom:1px solid #ffffff1a}.art-video-player.art-setting-show .art-settings{display:flex}.art-video-player .art-info{left:var(--art-padding);top:var(--art-padding);z-index:100;border-radius:var(--art-border-radius);background-color:var(--art-widget-background);padding:10px;font-size:12px;display:none;position:absolute}.art-video-player .art-info .art-info-panel{flex-direction:column;gap:5px;display:flex}.art-video-player .art-info .art-info-panel .art-info-item{align-items:center;gap:5px;display:flex}.art-video-player .art-info .art-info-panel .art-info-item .art-info-title{text-align:right;width:100px}.art-video-player .art-info .art-info-panel .art-info-item .art-info-content{text-overflow:ellipsis;white-space:nowrap;user-select:all;width:250px;overflow:hidden}.art-video-player .art-info .art-info-close{cursor:pointer;position:absolute;top:5px;right:5px}.art-video-player.art-info-show .art-info{display:flex}.art-hide-cursor *{cursor:none!important}.art-video-player[data-aspect-ratio]{overflow:hidden}.art-video-player[data-aspect-ratio] .art-video{object-fit:fill;box-sizing:content-box}.art-fullscreen{--art-progress-height:8px;--art-indicator-size:20px;--art-control-height:60px;--art-control-icon-scale:1.3}.art-fullscreen-web{--art-progress-height:8px;--art-indicator-size:20px;--art-control-height:60px;--art-control-icon-scale:1.3;z-index:var(--art-fullscreen-web-index);width:100%;height:100%;position:fixed;inset:0}.art-mini-popup{z-index:9999;border-radius:var(--art-border-radius);cursor:move;user-select:none;background:#000;width:320px;height:180px;transition:opacity .2s;position:fixed;overflow:hidden;box-shadow:0 0 5px #00000080}.art-mini-popup svg{fill:#fff}.art-mini-popup .art-video{pointer-events:none}.art-mini-popup .art-mini-close{z-index:20;cursor:pointer;opacity:0;transition:opacity .2s;position:absolute;top:10px;right:10px}.art-mini-popup .art-mini-state{z-index:30;pointer-events:none;opacity:0;background-color:#00000040;justify-content:center;align-items:center;width:100%;height:100%;transition:opacity .2s;display:flex;position:absolute;inset:0}.art-mini-popup .art-mini-state .art-icon{opacity:.75;cursor:pointer;pointer-events:auto;transition:transform .2s;transform:scale(3)}.art-mini-popup .art-mini-state .art-icon:active{transform:scale(2.5)}.art-mini-popup.art-mini-droging{opacity:.9}.art-mini-popup:hover .art-mini-close,.art-mini-popup:hover .art-mini-state{opacity:1}.art-video-player[data-flip=horizontal] .art-video{transform:scaleX(-1)}.art-video-player[data-flip=vertical] .art-video{transform:scaleY(-1)}.art-video-player .art-layer-lock{height:var(--art-lock-size);width:var(--art-lock-size);top:50%;left:var(--art-padding);background-color:var(--art-tip-background);border-radius:50%;justify-content:center;align-items:center;display:none;position:absolute;transform:translateY(-50%)}.art-video-player .art-layer-auto-playback{border-radius:var(--art-border-radius);left:var(--art-padding);bottom:calc(var(--art-control-height) + var(--art-bottom-gap) + 10px);background-color:var(--art-widget-background);align-items:center;gap:10px;padding:10px;line-height:1;display:none;position:absolute}.art-video-player .art-layer-auto-playback .art-auto-playback-close{cursor:pointer;justify-content:center;align-items:center;display:flex}.art-video-player .art-layer-auto-playback .art-auto-playback-close svg{fill:var(--art-theme);width:15px;height:15px}.art-video-player .art-layer-auto-playback .art-auto-playback-jump{color:var(--art-theme);cursor:pointer}.art-video-player.art-lock .art-subtitle{bottom:var(--art-subtitle-bottom)!important}.art-video-player.art-mini-progress-bar .art-bottom,.art-video-player.art-lock .art-bottom{opacity:1;background-image:none;padding:0}.art-video-player.art-mini-progress-bar .art-bottom .art-controls,.art-video-player.art-lock .art-bottom .art-controls,.art-video-player.art-mini-progress-bar .art-bottom .art-progress,.art-video-player.art-lock .art-bottom .art-progress{transform:translateY(calc(var(--art-control-height) + var(--art-bottom-gap) + var(--art-progress-height)/4))}.art-video-player.art-mini-progress-bar .art-bottom .art-progress-indicator,.art-video-player.art-lock .art-bottom .art-progress-indicator{display:none!important}.art-video-player.art-control-show .art-layer-lock{display:flex}.art-control-selector{position:relative}.art-control-selector .art-selector-list{text-align:center;border-radius:var(--art-border-radius);opacity:0;pointer-events:none;bottom:var(--art-control-height);max-height:var(--art-selector-max-height);background-color:var(--art-widget-background);transition:all var(--art-transition-duration)ease;flex-direction:column;align-items:center;display:flex;position:absolute;overflow:hidden auto;transform:translateY(10px)}.art-control-selector .art-selector-list .art-selector-item{flex-shrink:0;justify-content:center;align-items:center;width:100%;padding:10px 15px;line-height:1;display:flex}.art-control-selector .art-selector-list .art-selector-item:hover{background-color:#ffffff1a}.art-control-selector .art-selector-list .art-selector-item:hover,.art-control-selector .art-selector-list .art-selector-item.art-current{color:var(--art-theme)}.art-control-selector:hover .art-selector-list{opacity:1;pointer-events:auto;transform:translateY(0)}[class*=hint--]{font-style:normal;display:inline-block;position:relative}[class*=hint--]:before,[class*=hint--]:after{visibility:hidden;opacity:0;z-index:1000000;pointer-events:none;transition:all .3s;position:absolute;transform:translate(0,0)}[class*=hint--]:hover:before,[class*=hint--]:hover:after{visibility:visible;opacity:1;transition-delay:.1s}[class*=hint--]:before{content:"";z-index:1000001;background:0 0;border:6px solid #0000;position:absolute}[class*=hint--]:after{color:#fff;white-space:nowrap;background:#000;padding:8px 10px;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:12px;line-height:12px}[class*=hint--][aria-label]:after{content:attr(aria-label)}[class*=hint--][data-hint]:after{content:attr(data-hint)}[aria-label=""]:before,[aria-label=""]:after,[data-hint=""]:before,[data-hint=""]:after{display:none!important}.hint--top-left:before,.hint--top-right:before,.hint--top:before{border-top-color:#000}.hint--bottom-left:before,.hint--bottom-right:before,.hint--bottom:before{border-bottom-color:#000}.hint--left:before{border-left-color:#000}.hint--right:before{border-right-color:#000}.hint--top:before{margin-bottom:-11px}.hint--top:before,.hint--top:after{bottom:100%;left:50%}.hint--top:before{left:calc(50% - 6px)}.hint--top:after{transform:translate(-50%)}.hint--top:hover:before{transform:translateY(-8px)}.hint--top:hover:after{transform:translate(-50%)translateY(-8px)}.hint--bottom:before{margin-top:-11px}.hint--bottom:before,.hint--bottom:after{top:100%;left:50%}.hint--bottom:before{left:calc(50% - 6px)}.hint--bottom:after{transform:translate(-50%)}.hint--bottom:hover:before{transform:translateY(8px)}.hint--bottom:hover:after{transform:translate(-50%)translateY(8px)}.hint--right:before{margin-bottom:-6px;margin-left:-11px}.hint--right:after{margin-bottom:-14px}.hint--right:before,.hint--right:after{bottom:50%;left:100%}.hint--right:hover:before,.hint--right:hover:after{transform:translate(8px)}.hint--left:before{margin-bottom:-6px;margin-right:-11px}.hint--left:after{margin-bottom:-14px}.hint--left:before,.hint--left:after{bottom:50%;right:100%}.hint--left:hover:before,.hint--left:hover:after{transform:translate(-8px)}.hint--top-left:before{margin-bottom:-11px}.hint--top-left:before,.hint--top-left:after{bottom:100%;left:50%}.hint--top-left:before{left:calc(50% - 6px)}.hint--top-left:after{margin-left:12px;transform:translate(-100%)}.hint--top-left:hover:before{transform:translateY(-8px)}.hint--top-left:hover:after{transform:translate(-100%)translateY(-8px)}.hint--top-right:before{margin-bottom:-11px}.hint--top-right:before,.hint--top-right:after{bottom:100%;left:50%}.hint--top-right:before{left:calc(50% - 6px)}.hint--top-right:after{margin-left:-12px;transform:translate(0)}.hint--top-right:hover:before,.hint--top-right:hover:after{transform:translateY(-8px)}.hint--bottom-left:before{margin-top:-11px}.hint--bottom-left:before,.hint--bottom-left:after{top:100%;left:50%}.hint--bottom-left:before{left:calc(50% - 6px)}.hint--bottom-left:after{margin-left:12px;transform:translate(-100%)}.hint--bottom-left:hover:before{transform:translateY(8px)}.hint--bottom-left:hover:after{transform:translate(-100%)translateY(8px)}.hint--bottom-right:before{margin-top:-11px}.hint--bottom-right:before,.hint--bottom-right:after{top:100%;left:50%}.hint--bottom-right:before{left:calc(50% - 6px)}.hint--bottom-right:after{margin-left:-12px;transform:translate(0)}.hint--bottom-right:hover:before,.hint--bottom-right:hover:after{transform:translateY(8px)}.hint--small:after,.hint--medium:after,.hint--large:after{white-space:normal;word-wrap:break-word;line-height:1.4em}.hint--small:after{width:80px}.hint--medium:after{width:150px}.hint--large:after{width:300px}[class*=hint--]:after{text-shadow:0 -1px #000;box-shadow:4px 4px 8px #0000004d}.hint--error:after{text-shadow:0 -1px #592726;background-color:#b34e4d}.hint--error.hint--top-left:before,.hint--error.hint--top-right:before,.hint--error.hint--top:before{border-top-color:#b34e4d}.hint--error.hint--bottom-left:before,.hint--error.hint--bottom-right:before,.hint--error.hint--bottom:before{border-bottom-color:#b34e4d}.hint--error.hint--left:before{border-left-color:#b34e4d}.hint--error.hint--right:before{border-right-color:#b34e4d}.hint--warning:after{text-shadow:0 -1px #6c5328;background-color:#c09854}.hint--warning.hint--top-left:before,.hint--warning.hint--top-right:before,.hint--warning.hint--top:before{border-top-color:#c09854}.hint--warning.hint--bottom-left:before,.hint--warning.hint--bottom-right:before,.hint--warning.hint--bottom:before{border-bottom-color:#c09854}.hint--warning.hint--left:before{border-left-color:#c09854}.hint--warning.hint--right:before{border-right-color:#c09854}.hint--info:after{text-shadow:0 -1px #1a3c4d;background-color:#3986ac}.hint--info.hint--top-left:before,.hint--info.hint--top-right:before,.hint--info.hint--top:before{border-top-color:#3986ac}.hint--info.hint--bottom-left:before,.hint--info.hint--bottom-right:before,.hint--info.hint--bottom:before{border-bottom-color:#3986ac}.hint--info.hint--left:before{border-left-color:#3986ac}.hint--info.hint--right:before{border-right-color:#3986ac}.hint--success:after{text-shadow:0 -1px #1a321a;background-color:#458746}.hint--success.hint--top-left:before,.hint--success.hint--top-right:before,.hint--success.hint--top:before{border-top-color:#458746}.hint--success.hint--bottom-left:before,.hint--success.hint--bottom-right:before,.hint--success.hint--bottom:before{border-bottom-color:#458746}.hint--success.hint--left:before{border-left-color:#458746}.hint--success.hint--right:before{border-right-color:#458746}.hint--always:after,.hint--always:before{opacity:1;visibility:visible}.hint--always.hint--top:before{transform:translateY(-8px)}.hint--always.hint--top:after{transform:translate(-50%)translateY(-8px)}.hint--always.hint--top-left:before{transform:translateY(-8px)}.hint--always.hint--top-left:after{transform:translate(-100%)translateY(-8px)}.hint--always.hint--top-right:before,.hint--always.hint--top-right:after{transform:translateY(-8px)}.hint--always.hint--bottom:before{transform:translateY(8px)}.hint--always.hint--bottom:after{transform:translate(-50%)translateY(8px)}.hint--always.hint--bottom-left:before{transform:translateY(8px)}.hint--always.hint--bottom-left:after{transform:translate(-100%)translateY(8px)}.hint--always.hint--bottom-right:before,.hint--always.hint--bottom-right:after{transform:translateY(8px)}.hint--always.hint--left:before,.hint--always.hint--left:after{transform:translate(-8px)}.hint--always.hint--right:before,.hint--always.hint--right:after{transform:translate(8px)}.hint--rounded:after{border-radius:4px}.hint--no-animate:before,.hint--no-animate:after{transition-duration:0s}.hint--bounce:before,.hint--bounce:after{-webkit-transition:opacity .3s,visibility .3s,-webkit-transform .3s cubic-bezier(.71,1.7,.77,1.24);-moz-transition:opacity .3s,visibility .3s,-moz-transform .3s cubic-bezier(.71,1.7,.77,1.24);transition:opacity .3s,visibility .3s,transform .3s cubic-bezier(.71,1.7,.77,1.24)}.hint--no-shadow:before,.hint--no-shadow:after{text-shadow:initial;box-shadow:initial}.hint--no-arrow:before{display:none}.art-video-player.art-mobile{--art-bottom-gap:10px;--art-control-height:38px;--art-control-icon-scale:1;--art-state-size:60px;--art-settings-max-height:180px;--art-selector-max-height:180px;--art-indicator-scale:1;--art-control-opacity:1}.art-video-player.art-mobile .art-controls-left{margin-left:calc(var(--art-padding)/-1)}.art-video-player.art-mobile .art-controls-right{margin-right:calc(var(--art-padding)/-1)}'},{}],bAWi2:[function(e,t,r){var a;a=function(){function e(t){return(e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(t)}var t=Object.prototype.toString,r=function(r){if(void 0===r)return"undefined";if(null===r)return"null";var i=e(r);if("boolean"===i)return"boolean";if("string"===i)return"string";if("number"===i)return"number";if("symbol"===i)return"symbol";if("function"===i)return"GeneratorFunction"===a(r)?"generatorfunction":"function";if(Array.isArray?Array.isArray(r):r instanceof Array)return"array";if(r.constructor&&"function"==typeof r.constructor.isBuffer&&r.constructor.isBuffer(r))return"buffer";if(function(e){try{if("number"==typeof e.length&&"function"==typeof e.callee)return!0}catch(e){if(-1!==e.message.indexOf("callee"))return!0}return!1}(r))return"arguments";if(r instanceof Date||"function"==typeof r.toDateString&&"function"==typeof r.getDate&&"function"==typeof r.setDate)return"date";if(r instanceof Error||"string"==typeof r.message&&r.constructor&&"number"==typeof r.constructor.stackTraceLimit)return"error";if(r instanceof RegExp||"string"==typeof r.flags&&"boolean"==typeof r.ignoreCase&&"boolean"==typeof r.multiline&&"boolean"==typeof r.global)return"regexp";switch(a(r)){case"Symbol":return"symbol";case"Promise":return"promise";case"WeakMap":return"weakmap";case"WeakSet":return"weakset";case"Map":return"map";case"Set":return"set";case"Int8Array":return"int8array";case"Uint8Array":return"uint8array";case"Uint8ClampedArray":return"uint8clampedarray";case"Int16Array":return"int16array";case"Uint16Array":return"uint16array";case"Int32Array":return"int32array";case"Uint32Array":return"uint32array";case"Float32Array":return"float32array";case"Float64Array":return"float64array"}if("function"==typeof r.throw&&"function"==typeof r.return&&"function"==typeof r.next)return"generator";switch(i=t.call(r)){case"[object Object]":return"object";case"[object Map Iterator]":return"mapiterator";case"[object Set Iterator]":return"setiterator";case"[object String Iterator]":return"stringiterator";case"[object Array Iterator]":return"arrayiterator"}return i.slice(8,-1).toLowerCase().replace(/\s/g,"")};function a(e){return e.constructor?e.constructor.name:null}function i(e,t){var a=2o),a.export(r,"queryAll",()=>n),a.export(r,"addClass",()=>s),a.export(r,"removeClass",()=>l),a.export(r,"hasClass",()=>c),a.export(r,"append",()=>p),a.export(r,"remove",()=>u),a.export(r,"setStyle",()=>d),a.export(r,"setStyles",()=>f),a.export(r,"getStyle",()=>h),a.export(r,"sublings",()=>m),a.export(r,"inverseClass",()=>g),a.export(r,"tooltip",()=>v),a.export(r,"isInViewport",()=>y),a.export(r,"includeFromEvent",()=>b),a.export(r,"replaceElement",()=>x),a.export(r,"createElement",()=>w),a.export(r,"getIcon",()=>j),a.export(r,"setStyleText",()=>k),a.export(r,"supportsFlex",()=>C),a.export(r,"getRect",()=>S);var i=e("./compatibility");function o(e,t=document){return t.querySelector(e)}function n(e,t=document){return Array.from(t.querySelectorAll(e))}function s(e,t){return e.classList.add(t)}function l(e,t){return e.classList.remove(t)}function c(e,t){return e.classList.contains(t)}function p(e,t){return t instanceof Element?e.appendChild(t):e.insertAdjacentHTML("beforeend",String(t)),e.lastElementChild||e.lastChild}function u(e){return e.parentNode.removeChild(e)}function d(e,t,r){return e.style[t]=r,e}function f(e,t){for(let r in t)d(e,r,t[r]);return e}function h(e,t,r=!0){let a=window.getComputedStyle(e,null).getPropertyValue(t);return r?parseFloat(a):a}function m(e){return Array.from(e.parentElement.children).filter(t=>t!==e)}function g(e,t){m(e).forEach(e=>l(e,t)),s(e,t)}function v(e,t,r="top"){i.isMobile||(e.setAttribute("aria-label",t),s(e,"hint--rounded"),s(e,`hint--${r}`))}function y(e,t=0){let r=e.getBoundingClientRect(),a=window.innerHeight||document.documentElement.clientHeight,i=window.innerWidth||document.documentElement.clientWidth,o=r.top-t<=a&&r.top+r.height+t>=0,n=r.left-t<=i+t&&r.left+r.width+t>=0;return o&&n}function b(e,t){return e.composedPath&&e.composedPath().indexOf(t)>-1}function x(e,t){return t.parentNode.replaceChild(e,t),e}function w(e){return document.createElement(e)}function j(e="",t=""){let r=w("i");return s(r,"art-icon"),s(r,`art-icon-${e}`),p(r,t),r}function k(e,t){let r=document.getElementById(e);if(r)r.textContent=t;else{let r=w("style");r.id=e,r.textContent=t,document.head.appendChild(r)}}function C(){let e=document.createElement("div");return e.style.display="flex","flex"===e.style.display}function S(e){return e.getBoundingClientRect()}},{"./compatibility":"6ZTr6","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"6ZTr6":[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r),a.export(r,"userAgent",()=>i),a.export(r,"isSafari",()=>o),a.export(r,"isWechat",()=>n),a.export(r,"isIE",()=>s),a.export(r,"isAndroid",()=>l),a.export(r,"isIOS",()=>c),a.export(r,"isIOS13",()=>p),a.export(r,"isMobile",()=>u),a.export(r,"isBrowser",()=>d);let i="undefined"!=typeof navigator?navigator.userAgent:"",o=/^((?!chrome|android).)*safari/i.test(i),n=/MicroMessenger/i.test(i),s=/MSIE|Trident/i.test(i),l=/android/i.test(i),c=/iPad|iPhone|iPod/i.test(i)&&!window.MSStream,p=c||i.includes("Macintosh")&&navigator.maxTouchPoints>=1,u=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(i)||p,d="undefined"!=typeof window},{"@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],hwmZz:[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r),a.export(r,"ArtPlayerError",()=>i),a.export(r,"errorHandle",()=>o);class i extends Error{constructor(e,t){super(e),"function"==typeof Error.captureStackTrace&&Error.captureStackTrace(this,t||this.constructor),this.name="ArtPlayerError"}}function o(e,t){if(!e)throw new i(t);return e}},{"@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],inzwq:[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");function i(e){return"WEBVTT \r\n\r\n".concat(e.replace(/(\d\d:\d\d:\d\d)[,.](\d+)/g,(e,t,r)=>{let a=r.slice(0,3);return 1===r.length&&(a=r+"00"),2===r.length&&(a=r+"0"),`${t},${a}`}).replace(/\{\\([ibu])\}/g,"").replace(/\{\\([ibu])1\}/g,"<$1>").replace(/\{([ibu])\}/g,"<$1>").replace(/\{\/([ibu])\}/g,"").replace(/(\d\d:\d\d:\d\d),(\d\d\d)/g,"$1.$2").replace(/{[\s\S]*?}/g,"").concat("\r\n\r\n"))}function o(e){return URL.createObjectURL(new Blob([e],{type:"text/vtt"}))}function n(e){let t=RegExp("Dialogue:\\s\\d,(\\d+:\\d\\d:\\d\\d.\\d\\d),(\\d+:\\d\\d:\\d\\d.\\d\\d),([^,]*),([^,]*),(?:[^,]*,){4}([\\s\\S]*)$","i");function r(e=""){return e.split(/[:.]/).map((e,t,r)=>{if(t===r.length-1){if(1===e.length)return`.${e}00`;if(2===e.length)return`.${e}0`}else if(1===e.length)return(0===t?"0":":0")+e;return 0===t?e:t===r.length-1?`.${e}`:`:${e}`}).join("")}return"WEBVTT\n\n"+e.split(/\r?\n/).map(e=>{let a=e.match(t);return a?{start:r(a[1].trim()),end:r(a[2].trim()),text:a[5].replace(/{[\s\S]*?}/g,"").replace(/(\\N)/g,"\n").trim().split(/\r?\n/).map(e=>e.trim()).join("\n")}:null}).filter(e=>e).map((e,t)=>e?t+1+"\n"+`${e.start} --> ${e.end}`+"\n"+`${e.text}`:"").filter(e=>e.trim()).join("\n\n")}a.defineInteropFlag(r),a.export(r,"srtToVtt",()=>i),a.export(r,"vttToBlob",()=>o),a.export(r,"assToVtt",()=>n)},{"@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"6b7Ip":[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");function i(e,t){let r=document.createElement("a");r.style.display="none",r.href=e,r.download=t,document.body.appendChild(r),r.click(),document.body.removeChild(r)}a.defineInteropFlag(r),a.export(r,"getExt",()=>function e(t){return t.includes("?")?e(t.split("?")[0]):t.includes("#")?e(t.split("#")[0]):t.trim().toLowerCase().split(".").pop()}),a.export(r,"download",()=>i)},{"@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"5NSdr":[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r),a.export(r,"def",()=>i),a.export(r,"has",()=>n),a.export(r,"get",()=>s),a.export(r,"mergeDeep",()=>function e(...t){let r=e=>e&&"object"==typeof e&&!Array.isArray(e);return t.reduce((t,a)=>(Object.keys(a).forEach(i=>{let o=t[i],n=a[i];Array.isArray(o)&&Array.isArray(n)?t[i]=o.concat(...n):r(o)&&r(n)?t[i]=e(o,n):t[i]=n}),t),{})});let i=Object.defineProperty,{hasOwnProperty:o}=Object.prototype;function n(e,t){return o.call(e,t)}function s(e,t){return Object.getOwnPropertyDescriptor(e,t)}},{"@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],epmNy:[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");function i(e=0){return new Promise(t=>setTimeout(t,e))}function o(e,t){let r;return function(...a){clearTimeout(r),r=setTimeout(()=>(r=null,e.apply(this,a)),t)}}function n(e,t){let r=!1;return function(...a){r||(e.apply(this,a),r=!0,setTimeout(function(){r=!1},t))}}a.defineInteropFlag(r),a.export(r,"sleep",()=>i),a.export(r,"debounce",()=>o),a.export(r,"throttle",()=>n)},{"@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],gapRl:[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");function i(e,t,r){return Math.max(Math.min(e,Math.max(t,r)),Math.min(t,r))}function o(e){return e.charAt(0).toUpperCase()+e.slice(1)}function n(e){return["string","number"].includes(typeof e)}function s(e){if(!e)return"00:00";let t=Math.floor(e/3600),r=Math.floor((e-3600*t)/60),a=Math.floor(e-3600*t-60*r);return(t>0?[t,r,a]:[r,a]).map(e=>e<10?`0${e}`:String(e)).join(":")}function l(e){return e.replace(/[&<>'"]/g,e=>({"&":"&","<":"<",">":">","'":"'",'"':"""})[e]||e)}function c(e){let t={"&":"&","<":"<",">":">","'":"'",""":'"'},r=RegExp(`(${Object.keys(t).join("|")})`,"g");return e.replace(r,e=>t[e]||e)}a.defineInteropFlag(r),a.export(r,"clamp",()=>i),a.export(r,"capitalize",()=>o),a.export(r,"isStringOrNumber",()=>n),a.export(r,"secondToTime",()=>s),a.export(r,"escape",()=>l),a.export(r,"unescape",()=>c)},{"@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],AKEiO:[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r),a.export(r,"ComponentOption",()=>d);var i=e("../utils");let o="array",n="boolean",s="string",l="number",c="object",p="function";function u(e,t,r){return(0,i.errorHandle)(t===s||t===l||e instanceof Element,`${r.join(".")} require '${s}' or 'Element' type`)}let d={html:u,disable:`?${n}`,name:`?${s}`,index:`?${l}`,style:`?${c}`,click:`?${p}`,mounted:`?${p}`,tooltip:`?${s}|${l}`,width:`?${l}`,selector:`?${o}`,onSelect:`?${p}`,switch:`?${n}`,onSwitch:`?${p}`,range:`?${o}`,onRange:`?${p}`,onChange:`?${p}`};r.default={id:s,container:u,url:s,poster:s,type:s,theme:s,lang:s,volume:l,isLive:n,muted:n,autoplay:n,autoSize:n,autoMini:n,loop:n,flip:n,playbackRate:n,aspectRatio:n,screenshot:n,setting:n,hotkey:n,pip:n,mutex:n,backdrop:n,fullscreen:n,fullscreenWeb:n,subtitleOffset:n,miniProgressBar:n,useSSR:n,playsInline:n,lock:n,fastForward:n,autoPlayback:n,autoOrientation:n,airplay:n,proxy:`?${p}`,plugins:[p],layers:[d],contextmenu:[d],settings:[d],controls:[{...d,position:(e,t,r)=>{let a=["top","left","right"];return(0,i.errorHandle)(a.includes(e),`${r.join(".")} only accept ${a.toString()} as parameters`)}}],quality:[{default:`?${n}`,html:s,url:s}],highlight:[{time:l,text:s}],thumbnails:{url:s,number:l,column:l,width:l,height:l},subtitle:{url:s,name:s,type:s,style:c,escape:n,encoding:s,onVttLoad:p},moreVideoAttr:c,i18n:c,icons:c,cssVar:c,customType:c}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],lyjeQ:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r),r.default={propertys:["audioTracks","autoplay","buffered","controller","controls","crossOrigin","currentSrc","currentTime","defaultMuted","defaultPlaybackRate","duration","ended","error","loop","mediaGroup","muted","networkState","paused","playbackRate","played","preload","readyState","seekable","seeking","src","startDate","textTracks","videoTracks","volume"],methods:["addTextTrack","canPlayType","load","play","pause"],events:["abort","canplay","canplaythrough","durationchange","emptied","ended","error","loadeddata","loadedmetadata","loadstart","pause","play","playing","progress","ratechange","seeked","seeking","stalled","suspend","timeupdate","volumechange","waiting"],prototypes:["width","height","videoWidth","videoHeight","poster","webkitDecodedFrameCount","webkitDroppedFrameCount","playsInline","webkitSupportsFullscreen","webkitDisplayingFullscreen","onenterpictureinpicture","onleavepictureinpicture","disablePictureInPicture","cancelVideoFrameCallback","requestVideoFrameCallback","getVideoPlaybackQuality","requestPictureInPicture","webkitEnterFullScreen","webkitEnterFullscreen","webkitExitFullScreen","webkitExitFullscreen"]}},{"@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],X13Zf:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var a=e("./utils");class i{constructor(e){this.art=e;let{option:t,constructor:r}=e;t.container instanceof Element?this.$container=t.container:(this.$container=(0,a.query)(t.container),(0,a.errorHandle)(this.$container,`No container element found by ${t.container}`)),(0,a.errorHandle)((0,a.supportsFlex)(),"The current browser does not support flex layout");let i=this.$container.tagName.toLowerCase();(0,a.errorHandle)("div"===i,`Unsupported container element type, only support 'div' but got '${i}'`),(0,a.errorHandle)(r.instances.every(e=>e.template.$container!==this.$container),"Cannot mount multiple instances on the same dom element"),this.query=this.query.bind(this),this.$container.dataset.artId=e.id,this.init()}static get html(){return`
Player version:
5.1.7
Video url:
Video volume:
Video time:
Video duration:
Video resolution:
x
[x]
`}query(e){return(0,a.query)(e,this.$container)}init(){let{option:e}=this.art;if(e.useSSR||(this.$container.innerHTML=i.html),this.$player=this.query(".art-video-player"),this.$video=this.query(".art-video"),this.$track=this.query("track"),this.$poster=this.query(".art-poster"),this.$subtitle=this.query(".art-subtitle"),this.$danmuku=this.query(".art-danmuku"),this.$bottom=this.query(".art-bottom"),this.$progress=this.query(".art-progress"),this.$controls=this.query(".art-controls"),this.$controlsLeft=this.query(".art-controls-left"),this.$controlsCenter=this.query(".art-controls-center"),this.$controlsRight=this.query(".art-controls-right"),this.$layer=this.query(".art-layers"),this.$loading=this.query(".art-loading"),this.$notice=this.query(".art-notice"),this.$noticeInner=this.query(".art-notice-inner"),this.$mask=this.query(".art-mask"),this.$state=this.query(".art-state"),this.$setting=this.query(".art-settings"),this.$info=this.query(".art-info"),this.$infoPanel=this.query(".art-info-panel"),this.$infoClose=this.query(".art-info-close"),this.$contextmenu=this.query(".art-contextmenus"),e.proxy){let t=e.proxy.call(this.art,this.art);(0,a.errorHandle)(t instanceof HTMLVideoElement||t instanceof HTMLCanvasElement,"Function 'option.proxy' needs to return 'HTMLVideoElement' or 'HTMLCanvasElement'"),(0,a.replaceElement)(t,this.$video),t.className="art-video",this.$video=t}e.backdrop&&(0,a.addClass)(this.$player,"art-backdrop"),a.isMobile&&(0,a.addClass)(this.$player,"art-mobile")}destroy(e){e?this.$container.innerHTML="":(0,a.addClass)(this.$player,"art-destroy")}}r.default=i},{"./utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"3jKkj":[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r);var i=e("../utils"),o=e("./zh-cn"),n=a.interopDefault(o);r.default=class{constructor(e){this.art=e,this.languages={"zh-cn":n.default},this.language={},this.update(e.option.i18n)}init(){let e=this.art.option.lang.toLowerCase();this.language=this.languages[e]||{}}get(e){return this.language[e]||e}update(e){this.languages=(0,i.mergeDeep)(this.languages,e),this.init()}}},{"../utils":"71aH7","./zh-cn":"5Y91w","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"5Y91w":[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);let a={"Video Info":"统计信息",Close:"关闭","Video Load Failed":"加载失败",Volume:"音量",Play:"播放",Pause:"暂停",Rate:"速度",Mute:"静音","Video Flip":"画面翻转",Horizontal:"水平",Vertical:"垂直",Reconnect:"重新连接","Show Setting":"显示设置","Hide Setting":"隐藏设置",Screenshot:"截图","Play Speed":"播放速度","Aspect Ratio":"画面比例",Default:"默认",Normal:"正常",Open:"打开","Switch Video":"切换","Switch Subtitle":"切换字幕",Fullscreen:"全屏","Exit Fullscreen":"退出全屏","Web Fullscreen":"网页全屏","Exit Web Fullscreen":"退出网页全屏","Mini Player":"迷你播放器","PIP Mode":"开启画中画","Exit PIP Mode":"退出画中画","PIP Not Supported":"不支持画中画","Fullscreen Not Supported":"不支持全屏","Subtitle Offset":"字幕偏移","Last Seen":"上次看到","Jump Play":"跳转播放",AirPlay:"隔空播放","AirPlay Not Available":"隔空播放不可用"};r.default=a,"undefined"!=typeof window&&(window["artplayer-i18n-zh-cn"]=a)},{"@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],a90nx:[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r);var i=e("./urlMix"),o=a.interopDefault(i),n=e("./attrMix"),s=a.interopDefault(n),l=e("./playMix"),c=a.interopDefault(l),p=e("./pauseMix"),u=a.interopDefault(p),d=e("./toggleMix"),f=a.interopDefault(d),h=e("./seekMix"),m=a.interopDefault(h),g=e("./volumeMix"),v=a.interopDefault(g),y=e("./currentTimeMix"),b=a.interopDefault(y),x=e("./durationMix"),w=a.interopDefault(x),j=e("./switchMix"),k=a.interopDefault(j),C=e("./playbackRateMix"),S=a.interopDefault(C),I=e("./aspectRatioMix"),T=a.interopDefault(I),E=e("./screenshotMix"),M=a.interopDefault(E),$=e("./fullscreenMix"),F=a.interopDefault($),H=e("./fullscreenWebMix"),D=a.interopDefault(H),z=e("./pipMix"),A=a.interopDefault(z),O=e("./loadedMix"),R=a.interopDefault(O),L=e("./playedMix"),Y=a.interopDefault(L),P=e("./playingMix"),V=a.interopDefault(P),N=e("./autoSizeMix"),q=a.interopDefault(N),_=e("./rectMix"),B=a.interopDefault(_),W=e("./flipMix"),U=a.interopDefault(W),K=e("./miniMix"),G=a.interopDefault(K),Z=e("./posterMix"),X=a.interopDefault(Z),Q=e("./autoHeightMix"),J=a.interopDefault(Q),ee=e("./cssVarMix"),et=a.interopDefault(ee),er=e("./themeMix"),ea=a.interopDefault(er),ei=e("./typeMix"),eo=a.interopDefault(ei),en=e("./stateMix"),es=a.interopDefault(en),el=e("./subtitleOffsetMix"),ec=a.interopDefault(el),ep=e("./airplayMix"),eu=a.interopDefault(ep),ed=e("./qualityMix"),ef=a.interopDefault(ed),eh=e("./thumbnailsMix"),em=a.interopDefault(eh),eg=e("./optionInit"),ev=a.interopDefault(eg),ey=e("./eventInit"),eb=a.interopDefault(ey);r.default=class{constructor(e){(0,o.default)(e),(0,s.default)(e),(0,c.default)(e),(0,u.default)(e),(0,f.default)(e),(0,m.default)(e),(0,v.default)(e),(0,b.default)(e),(0,w.default)(e),(0,k.default)(e),(0,S.default)(e),(0,T.default)(e),(0,M.default)(e),(0,F.default)(e),(0,D.default)(e),(0,A.default)(e),(0,R.default)(e),(0,Y.default)(e),(0,V.default)(e),(0,q.default)(e),(0,B.default)(e),(0,U.default)(e),(0,G.default)(e),(0,X.default)(e),(0,J.default)(e),(0,et.default)(e),(0,ea.default)(e),(0,eo.default)(e),(0,es.default)(e),(0,ec.default)(e),(0,eu.default)(e),(0,ef.default)(e),(0,em.default)(e),(0,eb.default)(e),(0,ev.default)(e)}}},{"./urlMix":"kQoac","./attrMix":"deCma","./playMix":"fOJuP","./pauseMix":"fzHAy","./toggleMix":"cBHxQ","./seekMix":"koAPr","./volumeMix":"6eyuR","./currentTimeMix":"faaWv","./durationMix":"5y91K","./switchMix":"iceD8","./playbackRateMix":"keKwh","./aspectRatioMix":"jihET","./screenshotMix":"36kPY","./fullscreenMix":"2GYOJ","./fullscreenWebMix":"5aYAP","./pipMix":"7EnIB","./loadedMix":"3N9mP","./playedMix":"et96R","./playingMix":"9DzzM","./autoSizeMix":"i1LDY","./rectMix":"IqARI","./flipMix":"7E7Vs","./miniMix":"gpugx","./posterMix":"1SuFS","./autoHeightMix":"8x4te","./cssVarMix":"1CaTA","./themeMix":"2FqhO","./typeMix":"1fQQs","./stateMix":"iBOQW","./subtitleOffsetMix":"6vlBV","./airplayMix":"eftqT","./qualityMix":"5SdyX","./thumbnailsMix":"4HcqV","./optionInit":"fCWZK","./eventInit":"f8Lv3","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],kQoac:[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r),a.export(r,"default",()=>o);var i=e("../utils");function o(e){let{option:t,template:{$video:r}}=e;(0,i.def)(e,"url",{get:()=>r.src,async set(a){if(a){let o=e.url,n=t.type||(0,i.getExt)(a),s=t.customType[n];n&&s?(await (0,i.sleep)(),e.loading.show=!0,s.call(e,r,a,e)):(URL.revokeObjectURL(o),r.src=a),o!==e.url&&(e.option.url=a,e.isReady&&o&&e.once("video:canplay",()=>{e.emit("restart",a)}))}else await (0,i.sleep)(),e.loading.show=!0}})}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],deCma:[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r),a.export(r,"default",()=>o);var i=e("../utils");function o(e){let{template:{$video:t}}=e;(0,i.def)(e,"attr",{value(e,r){if(void 0===r)return t[e];t[e]=r}})}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],fOJuP:[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r),a.export(r,"default",()=>o);var i=e("../utils");function o(e){let{i18n:t,notice:r,option:a,constructor:{instances:o},template:{$video:n}}=e;(0,i.def)(e,"play",{value:async function(){let i=await n.play();if(r.show=t.get("Play"),e.emit("play"),a.mutex)for(let t=0;to);var i=e("../utils");function o(e){let{template:{$video:t},i18n:r,notice:a}=e;(0,i.def)(e,"pause",{value(){let i=t.pause();return a.show=r.get("Pause"),e.emit("pause"),i}})}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],cBHxQ:[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r),a.export(r,"default",()=>o);var i=e("../utils");function o(e){(0,i.def)(e,"toggle",{value:()=>e.playing?e.pause():e.play()})}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],koAPr:[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r),a.export(r,"default",()=>o);var i=e("../utils");function o(e){let{notice:t}=e;(0,i.def)(e,"seek",{set(r){e.currentTime=r,e.emit("seek",e.currentTime),e.duration&&(t.show=`${(0,i.secondToTime)(e.currentTime)} / ${(0,i.secondToTime)(e.duration)}`)}}),(0,i.def)(e,"forward",{set(t){e.seek=e.currentTime+t}}),(0,i.def)(e,"backward",{set(t){e.seek=e.currentTime-t}})}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"6eyuR":[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r),a.export(r,"default",()=>o);var i=e("../utils");function o(e){let{template:{$video:t},i18n:r,notice:a,storage:o}=e;(0,i.def)(e,"volume",{get:()=>t.volume||0,set:e=>{t.volume=(0,i.clamp)(e,0,1),a.show=`${r.get("Volume")}: ${parseInt(100*t.volume,10)}`,0!==t.volume&&o.set("volume",t.volume)}}),(0,i.def)(e,"muted",{get:()=>t.muted,set:r=>{t.muted=r,e.emit("muted",r)}})}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],faaWv:[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r),a.export(r,"default",()=>o);var i=e("../utils");function o(e){let{$video:t}=e.template;(0,i.def)(e,"currentTime",{get:()=>t.currentTime||0,set:r=>{Number.isNaN(r=parseFloat(r))||(t.currentTime=(0,i.clamp)(r,0,e.duration))}})}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"5y91K":[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r),a.export(r,"default",()=>o);var i=e("../utils");function o(e){(0,i.def)(e,"duration",{get:()=>{let{duration:t}=e.template.$video;return t===1/0?0:t||0}})}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],iceD8:[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r),a.export(r,"default",()=>o);var i=e("../utils");function o(e){function t(t,r){return new Promise((a,i)=>{if(t===e.url)return;let{playing:o,aspectRatio:n,playbackRate:s}=e;e.pause(),e.url=t,e.notice.show="",e.once("video:error",i),e.once("video:loadedmetadata",()=>{e.currentTime=r}),e.once("video:canplay",async()=>{e.playbackRate=s,e.aspectRatio=n,o&&await e.play(),e.notice.show="",a()})})}(0,i.def)(e,"switchQuality",{value:r=>t(r,e.currentTime)}),(0,i.def)(e,"switchUrl",{value:e=>t(e,0)}),(0,i.def)(e,"switch",{set:e.switchUrl})}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],keKwh:[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r),a.export(r,"default",()=>o);var i=e("../utils");function o(e){let{template:{$video:t},i18n:r,notice:a}=e;(0,i.def)(e,"playbackRate",{get:()=>t.playbackRate,set(i){i?i!==t.playbackRate&&(t.playbackRate=i,a.show=`${r.get("Rate")}: ${1===i?r.get("Normal"):`${i}x`}`):e.playbackRate=1}})}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],jihET:[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r),a.export(r,"default",()=>o);var i=e("../utils");function o(e){let{i18n:t,notice:r,template:{$video:a,$player:o}}=e;(0,i.def)(e,"aspectRatio",{get:()=>o.dataset.aspectRatio||"default",set(n){if(n||(n="default"),"default"===n)(0,i.setStyle)(a,"width",null),(0,i.setStyle)(a,"height",null),(0,i.setStyle)(a,"margin",null),delete o.dataset.aspectRatio;else{let e=n.split(":").map(Number),{clientWidth:t,clientHeight:r}=o,s=e[0]/e[1];t/r>s?((0,i.setStyle)(a,"width",`${s*r}px`),(0,i.setStyle)(a,"height","100%"),(0,i.setStyle)(a,"margin","0 auto")):((0,i.setStyle)(a,"width","100%"),(0,i.setStyle)(a,"height",`${t/s}px`),(0,i.setStyle)(a,"margin","auto 0")),o.dataset.aspectRatio=n}r.show=`${t.get("Aspect Ratio")}: ${"default"===n?t.get("Default"):n}`,e.emit("aspectRatio",n)}})}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"36kPY":[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r),a.export(r,"default",()=>o);var i=e("../utils");function o(e){let{notice:t,template:{$video:r}}=e,a=(0,i.createElement)("canvas");(0,i.def)(e,"getDataURL",{value:()=>new Promise((e,i)=>{try{a.width=r.videoWidth,a.height=r.videoHeight,a.getContext("2d").drawImage(r,0,0),e(a.toDataURL("image/png"))}catch(e){t.show=e,i(e)}})}),(0,i.def)(e,"getBlobUrl",{value:()=>new Promise((e,i)=>{try{a.width=r.videoWidth,a.height=r.videoHeight,a.getContext("2d").drawImage(r,0,0),a.toBlob(t=>{e(URL.createObjectURL(t))})}catch(e){t.show=e,i(e)}})}),(0,i.def)(e,"screenshot",{value:async t=>{let a=await e.getDataURL(),o=t||`artplayer_${(0,i.secondToTime)(r.currentTime)}`;return(0,i.download)(a,`${o}.png`),e.emit("screenshot",a),a}})}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"2GYOJ":[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r),a.export(r,"default",()=>s);var i=e("../libs/screenfull"),o=a.interopDefault(i),n=e("../utils");function s(e){let{i18n:t,notice:r,template:{$video:a,$player:i}}=e,s=e=>{(0,o.default).on("change",()=>{e.emit("fullscreen",o.default.isFullscreen)}),(0,o.default).on("error",t=>{e.emit("fullscreenError",t)}),(0,n.def)(e,"fullscreen",{get:()=>o.default.isFullscreen,async set(t){t?(e.state="fullscreen",await (0,o.default).request(i),(0,n.addClass)(i,"art-fullscreen")):(await (0,o.default).exit(),(0,n.removeClass)(i,"art-fullscreen")),e.emit("resize")}})},l=e=>{e.proxy(document,"webkitfullscreenchange",()=>{e.emit("fullscreen",e.fullscreen),e.emit("resize")}),(0,n.def)(e,"fullscreen",{get:()=>document.fullscreenElement===a,set(t){t?(e.state="fullscreen",a.webkitEnterFullscreen()):a.webkitExitFullscreen()}})};e.once("video:loadedmetadata",()=>{o.default.isEnabled?s(e):a.webkitSupportsFullscreen?l(e):(0,n.def)(e,"fullscreen",{get:()=>!1,set(){r.show=t.get("Fullscreen Not Supported")}}),(0,n.def)(e,"fullscreen",(0,n.get)(e,"fullscreen"))})}},{"../libs/screenfull":"8v40z","../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"8v40z":[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);let a=[["requestFullscreen","exitFullscreen","fullscreenElement","fullscreenEnabled","fullscreenchange","fullscreenerror"],["webkitRequestFullscreen","webkitExitFullscreen","webkitFullscreenElement","webkitFullscreenEnabled","webkitfullscreenchange","webkitfullscreenerror"],["webkitRequestFullScreen","webkitCancelFullScreen","webkitCurrentFullScreenElement","webkitCancelFullScreen","webkitfullscreenchange","webkitfullscreenerror"],["mozRequestFullScreen","mozCancelFullScreen","mozFullScreenElement","mozFullScreenEnabled","mozfullscreenchange","mozfullscreenerror"],["msRequestFullscreen","msExitFullscreen","msFullscreenElement","msFullscreenEnabled","MSFullscreenChange","MSFullscreenError"]],i=(()=>{if("undefined"==typeof document)return!1;let e=a[0],t={};for(let r of a)if(r[1]in document){for(let[a,i]of r.entries())t[e[a]]=i;return t}return!1})(),o={change:i.fullscreenchange,error:i.fullscreenerror},n={request:(e=document.documentElement,t)=>new Promise((r,a)=>{let o=()=>{n.off("change",o),r()};n.on("change",o);let s=e[i.requestFullscreen](t);s instanceof Promise&&s.then(o).catch(a)}),exit:()=>new Promise((e,t)=>{if(!n.isFullscreen){e();return}let r=()=>{n.off("change",r),e()};n.on("change",r);let a=document[i.exitFullscreen]();a instanceof Promise&&a.then(r).catch(t)}),toggle:(e,t)=>n.isFullscreen?n.exit():n.request(e,t),onchange(e){n.on("change",e)},onerror(e){n.on("error",e)},on(e,t){let r=o[e];r&&document.addEventListener(r,t,!1)},off(e,t){let r=o[e];r&&document.removeEventListener(r,t,!1)},raw:i};Object.defineProperties(n,{isFullscreen:{get:()=>!!document[i.fullscreenElement]},element:{enumerable:!0,get:()=>document[i.fullscreenElement]},isEnabled:{enumerable:!0,get:()=>!!document[i.fullscreenEnabled]}}),i||(n={isEnabled:!1}),r.default=n},{"@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"5aYAP":[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r),a.export(r,"default",()=>o);var i=e("../utils");function o(e){let{constructor:t,template:{$container:r,$player:a}}=e,o="";(0,i.def)(e,"fullscreenWeb",{get:()=>(0,i.hasClass)(a,"art-fullscreen-web"),set(n){n?(o=a.style.cssText,t.FULLSCREEN_WEB_IN_BODY&&(0,i.append)(document.body,a),e.state="fullscreenWeb",(0,i.setStyle)(a,"width","100%"),(0,i.setStyle)(a,"height","100%"),(0,i.addClass)(a,"art-fullscreen-web"),e.emit("fullscreenWeb",!0)):(t.FULLSCREEN_WEB_IN_BODY&&(0,i.append)(r,a),o&&(a.style.cssText=o,o=""),(0,i.removeClass)(a,"art-fullscreen-web"),e.emit("fullscreenWeb",!1)),e.emit("resize")}})}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"7EnIB":[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r),a.export(r,"default",()=>o);var i=e("../utils");function o(e){let{i18n:t,notice:r,template:{$video:a}}=e;document.pictureInPictureEnabled?function(e){let{template:{$video:t},proxy:r,notice:a}=e;t.disablePictureInPicture=!1,(0,i.def)(e,"pip",{get:()=>document.pictureInPictureElement,set(r){r?(e.state="pip",t.requestPictureInPicture().catch(e=>{throw a.show=e,e})):document.exitPictureInPicture().catch(e=>{throw a.show=e,e})}}),r(t,"enterpictureinpicture",()=>{e.emit("pip",!0)}),r(t,"leavepictureinpicture",()=>{e.emit("pip",!1)})}(e):a.webkitSupportsPresentationMode?function(e){let{$video:t}=e.template;t.webkitSetPresentationMode("inline"),(0,i.def)(e,"pip",{get:()=>"picture-in-picture"===t.webkitPresentationMode,set(r){r?(e.state="pip",t.webkitSetPresentationMode("picture-in-picture"),e.emit("pip",!0)):(t.webkitSetPresentationMode("inline"),e.emit("pip",!1))}})}(e):(0,i.def)(e,"pip",{get:()=>!1,set(){r.show=t.get("PIP Not Supported")}})}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"3N9mP":[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r),a.export(r,"default",()=>o);var i=e("../utils");function o(e){let{$video:t}=e.template;(0,i.def)(e,"loaded",{get:()=>e.loadedTime/t.duration}),(0,i.def)(e,"loadedTime",{get:()=>t.buffered.length?t.buffered.end(t.buffered.length-1):0})}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],et96R:[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r),a.export(r,"default",()=>o);var i=e("../utils");function o(e){(0,i.def)(e,"played",{get:()=>e.currentTime/e.duration})}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"9DzzM":[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r),a.export(r,"default",()=>o);var i=e("../utils");function o(e){let{$video:t}=e.template;(0,i.def)(e,"playing",{get:()=>"boolean"==typeof t.playing?t.playing:!!(t.currentTime>0&&!t.paused&&!t.ended&&t.readyState>2)})}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],i1LDY:[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r),a.export(r,"default",()=>o);var i=e("../utils");function o(e){let{$container:t,$player:r,$video:a}=e.template;(0,i.def)(e,"autoSize",{value(){let{videoWidth:o,videoHeight:n}=a,{width:s,height:l}=(0,i.getRect)(t),c=o/n;s/l>c?((0,i.setStyle)(r,"width",`${l*c/s*100}%`),(0,i.setStyle)(r,"height","100%")):((0,i.setStyle)(r,"width","100%"),(0,i.setStyle)(r,"height",`${s/c/l*100}%`)),e.emit("autoSize",{width:e.width,height:e.height})}})}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],IqARI:[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r),a.export(r,"default",()=>o);var i=e("../utils");function o(e){(0,i.def)(e,"rect",{get:()=>(0,i.getRect)(e.template.$player)});let t=["bottom","height","left","right","top","width"];for(let r=0;re.rect[a]})}(0,i.def)(e,"x",{get:()=>e.left+window.pageXOffset}),(0,i.def)(e,"y",{get:()=>e.top+window.pageYOffset})}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"7E7Vs":[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r),a.export(r,"default",()=>o);var i=e("../utils");function o(e){let{template:{$player:t},i18n:r,notice:a}=e;(0,i.def)(e,"flip",{get:()=>t.dataset.flip||"normal",set(o){o||(o="normal"),"normal"===o?delete t.dataset.flip:t.dataset.flip=o,a.show=`${r.get("Video Flip")}: ${r.get((0,i.capitalize)(o))}`,e.emit("flip",o)}})}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],gpugx:[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r),a.export(r,"default",()=>o);var i=e("../utils");function o(e){let{icons:t,proxy:r,storage:a,template:{$player:o,$video:n}}=e,s=!1,l=0,c=0;function p(){let{$mini:t}=e.template;t&&((0,i.removeClass)(o,"art-mini"),(0,i.setStyle)(t,"display","none"),o.prepend(n),e.emit("mini",!1))}function u(t,r){e.playing?((0,i.setStyle)(t,"display","none"),(0,i.setStyle)(r,"display","flex")):((0,i.setStyle)(t,"display","flex"),(0,i.setStyle)(r,"display","none"))}function d(){let{$mini:t}=e.template,r=(0,i.getRect)(t),o=window.innerHeight-r.height-50,n=window.innerWidth-r.width-50;a.set("top",o),a.set("left",n),(0,i.setStyle)(t,"top",`${o}px`),(0,i.setStyle)(t,"left",`${n}px`)}(0,i.def)(e,"mini",{get:()=>(0,i.hasClass)(o,"art-mini"),set(f){if(f){e.state="mini",(0,i.addClass)(o,"art-mini");let f=function(){let{$mini:o}=e.template;if(o)return(0,i.append)(o,n),(0,i.setStyle)(o,"display","flex");{let o=(0,i.createElement)("div");(0,i.addClass)(o,"art-mini-popup"),(0,i.append)(document.body,o),e.template.$mini=o,(0,i.append)(o,n);let d=(0,i.append)(o,'
');(0,i.append)(d,t.close),r(d,"click",p);let f=(0,i.append)(o,'
'),h=(0,i.append)(f,t.play),m=(0,i.append)(f,t.pause);return r(h,"click",()=>e.play()),r(m,"click",()=>e.pause()),u(h,m),e.on("video:playing",()=>u(h,m)),e.on("video:pause",()=>u(h,m)),e.on("video:timeupdate",()=>u(h,m)),r(o,"mousedown",e=>{s=0===e.button,l=e.pageX,c=e.pageY}),e.on("document:mousemove",e=>{if(s){(0,i.addClass)(o,"art-mini-droging");let t=e.pageX-l,r=e.pageY-c;(0,i.setStyle)(o,"transform",`translate(${t}px, ${r}px)`)}}),e.on("document:mouseup",()=>{if(s){s=!1,(0,i.removeClass)(o,"art-mini-droging");let e=(0,i.getRect)(o);a.set("left",e.left),a.set("top",e.top),(0,i.setStyle)(o,"left",`${e.left}px`),(0,i.setStyle)(o,"top",`${e.top}px`),(0,i.setStyle)(o,"transform",null)}}),o}}(),h=a.get("top"),m=a.get("left");h&&m?((0,i.setStyle)(f,"top",`${h}px`),(0,i.setStyle)(f,"left",`${m}px`),(0,i.isInViewport)(f)||d()):d(),e.emit("mini",!0)}else p()}})}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"1SuFS":[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r),a.export(r,"default",()=>o);var i=e("../utils");function o(e){let{template:{$poster:t}}=e;(0,i.def)(e,"poster",{get:()=>{try{return t.style.backgroundImage.match(/"(.*)"/)[1]}catch(e){return""}},set(e){(0,i.setStyle)(t,"backgroundImage",`url(${e})`)}})}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"8x4te":[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r),a.export(r,"default",()=>o);var i=e("../utils");function o(e){let{template:{$container:t,$video:r}}=e;(0,i.def)(e,"autoHeight",{value(){let{clientWidth:a}=t,{videoHeight:o,videoWidth:n}=r,s=a/n*o;(0,i.setStyle)(t,"height",s+"px"),e.emit("autoHeight",s)}})}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"1CaTA":[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r),a.export(r,"default",()=>o);var i=e("../utils");function o(e){let{$player:t}=e.template;(0,i.def)(e,"cssVar",{value:(e,r)=>r?t.style.setProperty(e,r):getComputedStyle(t).getPropertyValue(e)})}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"2FqhO":[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r),a.export(r,"default",()=>o);var i=e("../utils");function o(e){(0,i.def)(e,"theme",{get:()=>e.cssVar("--art-theme"),set(t){e.cssVar("--art-theme",t)}})}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"1fQQs":[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r),a.export(r,"default",()=>o);var i=e("../utils");function o(e){(0,i.def)(e,"type",{get:()=>e.option.type,set(t){e.option.type=t}})}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],iBOQW:[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r),a.export(r,"default",()=>o);var i=e("../utils");function o(e){let t=["mini","pip","fullscreen","fullscreenWeb"];(0,i.def)(e,"state",{get:()=>t.find(t=>e[t])||"standard",set(r){for(let a=0;ao);var i=e("../utils");function o(e){let{clamp:t}=e.constructor.utils,{notice:r,template:a,i18n:o}=e,n=0,s=[];e.on("subtitle:switch",()=>{s=[]}),(0,i.def)(e,"subtitleOffset",{get:()=>n,set(i){if(a.$track&&a.$track.track){let l=Array.from(a.$track.track.cues);n=t(i,-5,5);for(let r=0;ro);var i=e("../utils");function o(e){let{i18n:t,notice:r,proxy:a,template:{$video:o}}=e,n=!0;window.WebKitPlaybackTargetAvailabilityEvent&&o.webkitShowPlaybackTargetPicker?a(o,"webkitplaybacktargetavailabilitychanged",e=>{switch(e.availability){case"available":n=!0;break;case"not-available":n=!1}}):n=!1,(0,i.def)(e,"airplay",{value(){n?(o.webkitShowPlaybackTargetPicker(),e.emit("airplay")):r.show=t.get("AirPlay Not Available")}})}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"5SdyX":[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r),a.export(r,"default",()=>o);var i=e("../utils");function o(e){(0,i.def)(e,"quality",{set(t){let{controls:r,notice:a,i18n:i}=e,o=t.find(e=>e.default)||t[0];r.update({name:"quality",position:"right",index:10,style:{marginRight:"10px"},html:o?o.html:"",selector:t,async onSelect(t){await e.switchQuality(t.url),a.show=`${i.get("Switch Video")}: ${t.html}`}})}})}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"4HcqV":[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r),a.export(r,"default",()=>o);var i=e("../utils");function o(e){let{option:t,events:{loadImg:r},template:{$progress:a,$video:o}}=e,n=null,s=null,l=!1,c=!1;e.on("setBar",async(p,u,d)=>{let f=e.controls?.thumbnails,{url:h}=t.thumbnails;if(!f||!h)return;let m="played"===p&&d&&i.isMobile;if("hover"===p||m){if(l||(l=!0,s=await r(h),c=!0),!c)return;let p=a.clientWidth*u;(0,i.setStyle)(f,"display","flex"),p>0&&pa.clientWidth-f/2?(0,i.setStyle)(n,"left",`${a.clientWidth-f}px`):(0,i.setStyle)(n,"left",`${r-f/2}px`)}(p):i.isMobile||(0,i.setStyle)(f,"display","none"),m&&(clearTimeout(n),n=setTimeout(()=>{(0,i.setStyle)(f,"display","none")},500))}}),(0,i.def)(e,"thumbnails",{get:()=>e.option.thumbnails,set(t){t.url&&!e.option.isLive&&(e.option.thumbnails=t,clearTimeout(n),n=null,s=null,l=!1,c=!1)}})}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],fCWZK:[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r),a.export(r,"default",()=>o);var i=e("../utils");function o(e){let{option:t,storage:r,template:{$video:a,$poster:o}}=e;for(let r in t.moreVideoAttr)e.attr(r,t.moreVideoAttr[r]);t.muted&&(e.muted=t.muted),t.volume&&(a.volume=(0,i.clamp)(t.volume,0,1));let n=r.get("volume");for(let r in"number"==typeof n&&(a.volume=(0,i.clamp)(n,0,1)),t.poster&&(0,i.setStyle)(o,"backgroundImage",`url(${t.poster})`),t.autoplay&&(a.autoplay=t.autoplay),t.playsInline&&(a.playsInline=!0,a["webkit-playsinline"]=!0),t.theme&&(t.cssVar["--art-theme"]=t.theme),t.cssVar)e.cssVar(r,t.cssVar[r]);e.url=t.url}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],f8Lv3:[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r),a.export(r,"default",()=>s);var i=e("../config"),o=a.interopDefault(i),n=e("../utils");function s(e){let{i18n:t,notice:r,option:a,constructor:i,proxy:s,template:{$player:l,$video:c,$poster:p}}=e,u=0;for(let t=0;t{e.emit(`video:${t.type}`,t)});e.on("video:canplay",()=>{u=0,e.loading.show=!1}),e.once("video:canplay",()=>{e.loading.show=!1,e.controls.show=!0,e.mask.show=!0,e.isReady=!0,e.emit("ready")}),e.on("video:ended",()=>{a.loop?(e.seek=0,e.play(),e.controls.show=!1,e.mask.show=!1):(e.controls.show=!0,e.mask.show=!0)}),e.on("video:error",async o=>{u{e.emit("resize"),n.isMobile&&(e.loading.show=!1,e.controls.show=!0,e.mask.show=!0)}),e.on("video:loadstart",()=>{e.loading.show=!0,e.mask.show=!1,e.controls.show=!0}),e.on("video:pause",()=>{e.controls.show=!0,e.mask.show=!0}),e.on("video:play",()=>{e.mask.show=!1,(0,n.setStyle)(p,"display","none")}),e.on("video:playing",()=>{e.mask.show=!1}),e.on("video:progress",()=>{e.playing&&(e.loading.show=!1)}),e.on("video:seeked",()=>{e.loading.show=!1,e.mask.show=!0}),e.on("video:seeking",()=>{e.loading.show=!0,e.mask.show=!1}),e.on("video:timeupdate",()=>{e.mask.show=!1}),e.on("video:waiting",()=>{e.loading.show=!0,e.mask.show=!1})}},{"../config":"lyjeQ","../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"8Z0Uf":[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r);var i=e("../utils"),o=e("../utils/component"),n=a.interopDefault(o),s=e("./fullscreen"),l=a.interopDefault(s),c=e("./fullscreenWeb"),p=a.interopDefault(c),u=e("./pip"),d=a.interopDefault(u),f=e("./playAndPause"),h=a.interopDefault(f),m=e("./progress"),g=a.interopDefault(m),v=e("./time"),y=a.interopDefault(v),b=e("./volume"),x=a.interopDefault(b),w=e("./setting"),j=a.interopDefault(w),k=e("./screenshot"),C=a.interopDefault(k),S=e("./airplay"),I=a.interopDefault(S);class T extends n.default{constructor(e){super(e),this.isHover=!1,this.name="control",this.timer=Date.now();let{constructor:t}=e,{$player:r,$bottom:a}=this.art.template;e.on("mousemove",()=>{i.isMobile||(this.show=!0)}),e.on("click",()=>{i.isMobile?this.toggle():this.show=!0}),e.on("document:mousemove",e=>{this.isHover=(0,i.includeFromEvent)(e,a)}),e.on("video:timeupdate",()=>{!e.setting.show&&!this.isHover&&!e.isInput&&e.playing&&this.show&&Date.now()-this.timer>=t.CONTROL_HIDE_TIME&&(this.show=!1)}),e.on("control",e=>{e?((0,i.removeClass)(r,"art-hide-cursor"),(0,i.addClass)(r,"art-hover"),this.timer=Date.now()):((0,i.addClass)(r,"art-hide-cursor"),(0,i.removeClass)(r,"art-hover"))}),this.init()}init(){let{option:e}=this.art;e.isLive||this.add((0,g.default)({name:"progress",position:"top",index:10})),this.add({name:"thumbnails",position:"top",index:20}),this.add((0,h.default)({name:"playAndPause",position:"left",index:10})),this.add((0,x.default)({name:"volume",position:"left",index:20})),e.isLive||this.add((0,y.default)({name:"time",position:"left",index:30})),e.quality.length&&(0,i.sleep)().then(()=>{this.art.quality=e.quality}),e.screenshot&&!i.isMobile&&this.add((0,C.default)({name:"screenshot",position:"right",index:20})),e.setting&&this.add((0,j.default)({name:"setting",position:"right",index:30})),e.pip&&this.add((0,d.default)({name:"pip",position:"right",index:40})),e.airplay&&window.WebKitPlaybackTargetAvailabilityEvent&&this.add((0,I.default)({name:"airplay",position:"right",index:50})),e.fullscreenWeb&&this.add((0,p.default)({name:"fullscreenWeb",position:"right",index:60})),e.fullscreen&&this.add((0,l.default)({name:"fullscreen",position:"right",index:70}));for(let t=0;tNumber(e.dataset.index)>=Number(o.dataset.index));p?p.insertAdjacentElement("beforebegin",o):(0,i.append)(this.$parent,o),t.html&&(0,i.append)(o,t.html),t.style&&(0,i.setStyles)(o,t.style),t.tooltip&&(0,i.tooltip)(o,t.tooltip);let u=[];if(t.click){let e=this.art.events.proxy(o,"click",e=>{e.preventDefault(),t.click.call(this.art,this,e)});u.push(e)}return t.selector&&["left","right"].includes(t.position)&&this.addSelector(t,o,u),this[r]=o,this.cache.set(r,{$ref:o,events:u,option:t}),t.mounted&&t.mounted.call(this.art,o),o}addSelector(e,t,r){let{hover:a,proxy:n}=this.art.events;(0,i.addClass)(t,"art-control-selector");let s=(0,i.createElement)("div");(0,i.addClass)(s,"art-selector-value"),(0,i.append)(s,e.html),t.innerText="",(0,i.append)(t,s);let l=e.selector.map((e,t)=>`
${e.html}
`).join(""),c=(0,i.createElement)("div");(0,i.addClass)(c,"art-selector-list"),(0,i.append)(c,l),(0,i.append)(t,c);let p=()=>{let e=(0,i.getStyle)(t,"width"),r=(0,i.getStyle)(c,"width");c.style.left=`${e/2-r/2}px`};a(t,p);let u=n(c,"click",async t=>{let r=(t.composedPath()||[]).find(e=>(0,i.hasClass)(e,"art-selector-item"));if(!r)return;(0,i.inverseClass)(r,"art-current");let a=Number(r.dataset.index),n=e.selector[a]||{};if(s.innerText=r.innerText,e.onSelect){let a=await e.onSelect.call(this.art,n,r,t);(0,o.isStringOrNumber)(a)&&(s.innerHTML=a)}p()});r.push(u)}remove(e){let t=this.cache.get(e);(0,n.errorHandle)(t,`Can't find [${e}] from the [${this.name}]`),t.option.beforeUnmount&&t.option.beforeUnmount.call(this.art,t.$ref);for(let e=0;eo);var i=e("../utils");function o(e){return t=>({...e,tooltip:t.i18n.get("Fullscreen"),mounted:e=>{let{proxy:r,icons:a,i18n:o}=t,n=(0,i.append)(e,a.fullscreenOn),s=(0,i.append)(e,a.fullscreenOff);(0,i.setStyle)(s,"display","none"),r(e,"click",()=>{t.fullscreen=!t.fullscreen}),t.on("fullscreen",t=>{t?((0,i.tooltip)(e,o.get("Exit Fullscreen")),(0,i.setStyle)(n,"display","none"),(0,i.setStyle)(s,"display","inline-flex")):((0,i.tooltip)(e,o.get("Fullscreen")),(0,i.setStyle)(n,"display","inline-flex"),(0,i.setStyle)(s,"display","none"))})}})}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"03jeB":[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r),a.export(r,"default",()=>o);var i=e("../utils");function o(e){return t=>({...e,tooltip:t.i18n.get("Web Fullscreen"),mounted:e=>{let{proxy:r,icons:a,i18n:o}=t,n=(0,i.append)(e,a.fullscreenWebOn),s=(0,i.append)(e,a.fullscreenWebOff);(0,i.setStyle)(s,"display","none"),r(e,"click",()=>{t.fullscreenWeb=!t.fullscreenWeb}),t.on("fullscreenWeb",t=>{t?((0,i.tooltip)(e,o.get("Exit Web Fullscreen")),(0,i.setStyle)(n,"display","none"),(0,i.setStyle)(s,"display","inline-flex")):((0,i.tooltip)(e,o.get("Web Fullscreen")),(0,i.setStyle)(n,"display","inline-flex"),(0,i.setStyle)(s,"display","none"))})}})}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],u8l8e:[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r),a.export(r,"default",()=>o);var i=e("../utils");function o(e){return t=>({...e,tooltip:t.i18n.get("PIP Mode"),mounted:e=>{let{proxy:r,icons:a,i18n:o}=t;(0,i.append)(e,a.pip),r(e,"click",()=>{t.pip=!t.pip}),t.on("pip",t=>{(0,i.tooltip)(e,o.get(t?"Exit PIP Mode":"PIP Mode"))})}})}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],ebXtb:[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r),a.export(r,"default",()=>o);var i=e("../utils");function o(e){return t=>({...e,mounted:e=>{let{proxy:r,icons:a,i18n:o}=t,n=(0,i.append)(e,a.play),s=(0,i.append)(e,a.pause);function l(){(0,i.setStyle)(n,"display","flex"),(0,i.setStyle)(s,"display","none")}function c(){(0,i.setStyle)(n,"display","none"),(0,i.setStyle)(s,"display","flex")}(0,i.tooltip)(n,o.get("Play")),(0,i.tooltip)(s,o.get("Pause")),r(n,"click",()=>{t.play()}),r(s,"click",()=>{t.pause()}),t.playing?c():l(),t.on("video:playing",()=>{c()}),t.on("video:pause",()=>{l()})}})}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],bgoVP:[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r),a.export(r,"getPosFromEvent",()=>o),a.export(r,"setCurrentTime",()=>n),a.export(r,"default",()=>s);var i=e("../utils");function o(e,t){let{$progress:r}=e.template,{left:a}=(0,i.getRect)(r),o=i.isMobile?t.touches[0].clientX:t.clientX,n=(0,i.clamp)(o-a,0,r.clientWidth),s=n/r.clientWidth*e.duration,l=(0,i.secondToTime)(s),c=(0,i.clamp)(n/r.clientWidth,0,1);return{second:s,time:l,width:n,percentage:c}}function n(e,t){if(e.isRotate){let r=t.touches[0].clientY/e.height,a=r*e.duration;e.emit("setBar","played",r,t),e.seek=a}else{let{second:r,percentage:a}=o(e,t);e.emit("setBar","played",a,t),e.seek=r}}function s(e){return t=>{let{icons:r,option:a,proxy:s}=t;return{...e,html:`
`,mounted:e=>{let l=null,c=!1,p=(0,i.query)(".art-progress-hover",e),u=(0,i.query)(".art-progress-loaded",e),d=(0,i.query)(".art-progress-played",e),f=(0,i.query)(".art-progress-highlight",e),h=(0,i.query)(".art-progress-indicator",e),m=(0,i.query)(".art-progress-tip",e);function g(r,a){let{width:n,time:s}=a||o(t,r);m.innerText=s;let l=m.clientWidth;n<=l/2?(0,i.setStyle)(m,"left",0):n>e.clientWidth-l/2?(0,i.setStyle)(m,"left",`${e.clientWidth-l}px`):(0,i.setStyle)(m,"left",`${n-l/2}px`)}r.indicator?(0,i.append)(h,r.indicator):(0,i.setStyle)(h,"backgroundColor","var(--art-theme)"),t.on("setBar",function(r,a,o){let n="played"===r&&o&&i.isMobile;"loaded"===r&&(0,i.setStyle)(u,"width",`${100*a}%`),"hover"===r&&(0,i.setStyle)(p,"width",`${100*a}%`),"played"===r&&((0,i.setStyle)(d,"width",`${100*a}%`),(0,i.setStyle)(h,"left",`${100*a}%`)),n&&((0,i.setStyle)(m,"display","flex"),g(o,{width:e.clientWidth*a,time:(0,i.secondToTime)(a*t.duration)}),clearTimeout(l),l=setTimeout(()=>{(0,i.setStyle)(m,"display","none")},500))}),t.on("video:loadedmetadata",function(){f.innerText="";for(let e=0;e`;(0,i.append)(f,n)}}),t.on("video:progress",()=>{t.emit("setBar","loaded",t.loaded)}),t.constructor.USE_RAF?t.on("raf",()=>{t.emit("setBar","played",t.played)}):t.on("video:timeupdate",()=>{t.emit("setBar","played",t.played)}),t.on("video:ended",()=>{t.emit("setBar","played",1)}),t.emit("setBar","loaded",t.loaded||0),i.isMobile||(s(e,"click",e=>{e.target!==h&&n(t,e)}),s(e,"mousemove",r=>{let{percentage:a}=o(t,r);t.emit("setBar","hover",a,r),(0,i.setStyle)(m,"display","flex"),(0,i.includeFromEvent)(r,f)?function(r){let{width:a}=o(t,r),{text:n}=r.target.dataset;m.innerText=n;let s=m.clientWidth;a<=s/2?(0,i.setStyle)(m,"left",0):a>e.clientWidth-s/2?(0,i.setStyle)(m,"left",`${e.clientWidth-s}px`):(0,i.setStyle)(m,"left",`${a-s/2}px`)}(r):g(r)}),s(e,"mouseleave",e=>{(0,i.setStyle)(m,"display","none"),t.emit("setBar","hover",0,e)}),s(e,"mousedown",e=>{c=0===e.button}),t.on("document:mousemove",e=>{if(c){let{second:r,percentage:a}=o(t,e);t.emit("setBar","played",a,e),t.seek=r}}),t.on("document:mouseup",()=>{c&&(c=!1)}))}}}}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],ikc2j:[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r),a.export(r,"default",()=>o);var i=e("../utils");function o(e){return t=>({...e,style:i.isMobile?{fontSize:"12px",padding:"0 5px"}:{cursor:"auto",padding:"0 10px"},mounted:e=>{function r(){let r=`${(0,i.secondToTime)(t.currentTime)} / ${(0,i.secondToTime)(t.duration)}`;r!==e.innerText&&(e.innerText=r)}r();let a=["video:loadedmetadata","video:timeupdate","video:progress"];for(let e=0;eo);var i=e("../utils");function o(e){return t=>({...e,mounted:e=>{let{proxy:r,icons:a}=t,o=(0,i.append)(e,a.volume),n=(0,i.append)(e,a.volumeClose),s=(0,i.append)(e,'
'),l=(0,i.append)(s,'
'),c=(0,i.append)(l,'
'),p=(0,i.append)(l,'
'),u=(0,i.append)(p,'
'),d=(0,i.append)(u,'
'),f=(0,i.append)(p,'
');function h(e){let{top:t,height:r}=(0,i.getRect)(p);return 1-(e.clientY-t)/r}function m(){if(t.muted||0===t.volume)(0,i.setStyle)(o,"display","none"),(0,i.setStyle)(n,"display","flex"),(0,i.setStyle)(f,"top","100%"),(0,i.setStyle)(d,"top","100%"),c.innerText=0;else{let e=100*t.volume;(0,i.setStyle)(o,"display","flex"),(0,i.setStyle)(n,"display","none"),(0,i.setStyle)(f,"top",`${100-e}%`),(0,i.setStyle)(d,"top",`${100-e}%`),c.innerText=Math.floor(e)}}if(m(),t.on("video:volumechange",m),r(o,"click",()=>{t.muted=!0}),r(n,"click",()=>{t.muted=!1}),i.isMobile)(0,i.setStyle)(s,"display","none");else{let e=!1;r(p,"mousedown",r=>{e=0===r.button,t.volume=h(r)}),t.on("document:mousemove",r=>{e&&(t.muted=!1,t.volume=h(r))}),t.on("document:mouseup",()=>{e&&(e=!1)})}}})}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"03o9l":[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r),a.export(r,"default",()=>o);var i=e("../utils");function o(e){return t=>({...e,tooltip:t.i18n.get("Show Setting"),mounted:e=>{let{proxy:r,icons:a,i18n:o}=t;(0,i.append)(e,a.setting),r(e,"click",()=>{t.setting.toggle(),t.setting.updateStyle()}),t.on("setting",t=>{(0,i.tooltip)(e,o.get(t?"Hide Setting":"Show Setting"))})}})}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"4KCF5":[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r),a.export(r,"default",()=>o);var i=e("../utils");function o(e){return t=>({...e,tooltip:t.i18n.get("Screenshot"),mounted:e=>{let{proxy:r,icons:a}=t;(0,i.append)(e,a.screenshot),r(e,"click",()=>{t.screenshot()})}})}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"4IS2d":[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r),a.export(r,"default",()=>o);var i=e("../utils");function o(e){return t=>({...e,tooltip:t.i18n.get("AirPlay"),mounted:e=>{let{proxy:r,icons:a}=t;(0,i.append)(e,a.airplay),r(e,"click",()=>t.airplay())}})}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"2KYsr":[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r);var i=e("../utils"),o=e("../utils/component"),n=a.interopDefault(o),s=e("./playbackRate"),l=a.interopDefault(s),c=e("./aspectRatio"),p=a.interopDefault(c),u=e("./flip"),d=a.interopDefault(u),f=e("./info"),h=a.interopDefault(f),m=e("./version"),g=a.interopDefault(m),v=e("./close"),y=a.interopDefault(v);class b extends n.default{constructor(e){super(e),this.name="contextmenu",this.$parent=e.template.$contextmenu,i.isMobile||this.init()}init(){let{option:e,proxy:t,template:{$player:r,$contextmenu:a}}=this.art;e.playbackRate&&this.add((0,l.default)({name:"playbackRate",index:10})),e.aspectRatio&&this.add((0,p.default)({name:"aspectRatio",index:20})),e.flip&&this.add((0,d.default)({name:"flip",index:30})),this.add((0,h.default)({name:"info",index:40})),this.add((0,g.default)({name:"version",index:50})),this.add((0,y.default)({name:"close",index:60}));for(let t=0;t{if(!this.art.constructor.CONTEXTMENU)return;e.preventDefault(),this.show=!0;let t=e.clientX,o=e.clientY,{height:n,width:s,left:l,top:c}=(0,i.getRect)(r),{height:p,width:u}=(0,i.getRect)(a),d=t-l,f=o-c;t+u>l+s&&(d=s-u),o+p>c+n&&(f=n-p),(0,i.setStyles)(a,{top:`${f}px`,left:`${d}px`})}),t(r,"click",e=>{(0,i.includeFromEvent)(e,a)||(this.show=!1)}),this.art.on("blur",()=>{this.show=!1})}}r.default=b},{"../utils":"71aH7","../utils/component":"18nVI","./playbackRate":"69eLi","./aspectRatio":"lUefg","./flip":"kysiM","./info":"gqIgJ","./version":"kRU7C","./close":"jQ8Pm","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"69eLi":[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r),a.export(r,"default",()=>o);var i=e("../utils");function o(e){return t=>{let{i18n:r,constructor:{PLAYBACK_RATE:a}}=t,o=a.map(e=>`${1===e?r.get("Normal"):e.toFixed(1)}`).join("");return{...e,html:`${r.get("Play Speed")}: ${o}`,click:(e,r)=>{let{value:a}=r.target.dataset;a&&(t.playbackRate=Number(a),e.show=!1)},mounted:e=>{let r=(0,i.query)('[data-value="1"]',e);r&&(0,i.inverseClass)(r,"art-current"),t.on("video:ratechange",()=>{let r=(0,i.queryAll)("span",e).find(e=>Number(e.dataset.value)===t.playbackRate);r&&(0,i.inverseClass)(r,"art-current")})}}}}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],lUefg:[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r),a.export(r,"default",()=>o);var i=e("../utils");function o(e){return t=>{let{i18n:r,constructor:{ASPECT_RATIO:a}}=t,o=a.map(e=>`${"default"===e?r.get("Default"):e}`).join("");return{...e,html:`${r.get("Aspect Ratio")}: ${o}`,click:(e,r)=>{let{value:a}=r.target.dataset;a&&(t.aspectRatio=a,e.show=!1)},mounted:e=>{let r=(0,i.query)('[data-value="default"]',e);r&&(0,i.inverseClass)(r,"art-current"),t.on("aspectRatio",t=>{let r=(0,i.queryAll)("span",e).find(e=>e.dataset.value===t);r&&(0,i.inverseClass)(r,"art-current")})}}}}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],kysiM:[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r),a.export(r,"default",()=>o);var i=e("../utils");function o(e){return t=>{let{i18n:r,constructor:{FLIP:a}}=t,o=a.map(e=>`${r.get((0,i.capitalize)(e))}`).join("");return{...e,html:`${r.get("Video Flip")}: ${o}`,click:(e,r)=>{let{value:a}=r.target.dataset;a&&(t.flip=a.toLowerCase(),e.show=!1)},mounted:e=>{let r=(0,i.query)('[data-value="normal"]',e);r&&(0,i.inverseClass)(r,"art-current"),t.on("flip",t=>{let r=(0,i.queryAll)("span",e).find(e=>e.dataset.value===t);r&&(0,i.inverseClass)(r,"art-current")})}}}}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],gqIgJ:[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");function i(e){return t=>({...e,html:t.i18n.get("Video Info"),click:e=>{t.info.show=!0,e.show=!1}})}a.defineInteropFlag(r),a.export(r,"default",()=>i)},{"@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],kRU7C:[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");function i(e){return{...e,html:'ArtPlayer 5.1.7'}}a.defineInteropFlag(r),a.export(r,"default",()=>i)},{"@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],jQ8Pm:[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");function i(e){return t=>({...e,html:t.i18n.get("Close"),click:e=>{e.show=!1}})}a.defineInteropFlag(r),a.export(r,"default",()=>i)},{"@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"02ajl":[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r);var i=e("./utils"),o=e("./utils/component"),n=a.interopDefault(o);class s extends n.default{constructor(e){super(e),this.name="info",i.isMobile||this.init()}init(){let{proxy:e,constructor:t,template:{$infoPanel:r,$infoClose:a,$video:o}}=this.art;e(a,"click",()=>{this.show=!1});let n=null,s=(0,i.queryAll)("[data-video]",r)||[];this.art.on("destroy",()=>clearTimeout(n)),function e(){for(let e=0;enull,this.init(e.option.subtitle);let t=!1;e.on("video:timeupdate",()=>{if(!this.url)return;let e=this.art.template.$video.webkitDisplayingFullscreen;"boolean"==typeof e&&e!==t&&(t=e,this.createTrack(e?"subtitles":"metadata",this.url))})}get url(){return this.art.template.$track.src}set url(e){this.switch(e)}get textTrack(){return this.art.template.$video.textTracks[0]}get activeCue(){return this.textTrack?this.textTrack.activeCues[0]:null}style(e,t){let{$subtitle:r}=this.art.template;return"object"==typeof e?(0,i.setStyles)(r,e):(0,i.setStyle)(r,e,t)}update(){let{$subtitle:e}=this.art.template;e.innerHTML="",this.activeCue&&(this.art.option.subtitle.escape?e.innerHTML=this.activeCue.text.split(/\r?\n/).map(e=>`
${(0,i.escape)(e)}
`).join(""):e.innerHTML=this.activeCue.text,this.art.emit("subtitleUpdate",this.activeCue.text))}async switch(e,t={}){let{i18n:r,notice:a,option:i}=this.art,o={...i.subtitle,...t,url:e},n=await this.init(o);return t.name&&(a.show=`${r.get("Switch Subtitle")}: ${t.name}`),n}createTrack(e,t){let{template:r,proxy:a,option:o}=this.art,{$video:n,$track:s}=r,l=(0,i.createElement)("track");l.default=!0,l.kind=e,l.src=t,l.label=o.subtitle.name||"Artplayer",l.track.mode="hidden",this.eventDestroy(),(0,i.remove)(s),(0,i.append)(n,l),r.$track=l,this.eventDestroy=a(this.textTrack,"cuechange",()=>this.update())}async init(e){let{notice:t,template:{$subtitle:r}}=this.art;return this.textTrack?((0,l.default)(e,p.default.subtitle),e.url)?(this.style(e.style),fetch(e.url).then(e=>e.arrayBuffer()).then(t=>{let r=new TextDecoder(e.encoding).decode(t);switch(this.art.emit("subtitleLoad",e.url),e.type||(0,i.getExt)(e.url)){case"srt":{let t=(0,i.srtToVtt)(r),a=e.onVttLoad(t);return(0,i.vttToBlob)(a)}case"ass":{let t=(0,i.assToVtt)(r),a=e.onVttLoad(t);return(0,i.vttToBlob)(a)}case"vtt":{let t=e.onVttLoad(r);return(0,i.vttToBlob)(t)}default:return e.url}}).then(e=>(r.innerHTML="",this.url===e||(URL.revokeObjectURL(this.url),this.createTrack("metadata",e),this.art.emit("subtitleSwitch",e)),e)).catch(e=>{throw r.innerHTML="",t.show=e,e})):void 0:null}}r.default=u},{"./utils":"71aH7","./utils/component":"18nVI","option-validator":"bAWi2","./scheme":"AKEiO","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],jo4S1:[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r);var i=e("../utils/error"),o=e("./clickInit"),n=a.interopDefault(o),s=e("./hoverInit"),l=a.interopDefault(s),c=e("./moveInit"),p=a.interopDefault(c),u=e("./resizeInit"),d=a.interopDefault(u),f=e("./gestureInit"),h=a.interopDefault(f),m=e("./viewInit"),g=a.interopDefault(m),v=e("./documentInit"),y=a.interopDefault(v),b=e("./updateInit"),x=a.interopDefault(b);r.default=class{constructor(e){this.destroyEvents=[],this.proxy=this.proxy.bind(this),this.hover=this.hover.bind(this),this.loadImg=this.loadImg.bind(this),(0,n.default)(e,this),(0,l.default)(e,this),(0,p.default)(e,this),(0,d.default)(e,this),(0,h.default)(e,this),(0,g.default)(e,this),(0,y.default)(e,this),(0,x.default)(e,this)}proxy(e,t,r,a={}){if(Array.isArray(t))return t.map(t=>this.proxy(e,t,r,a));e.addEventListener(t,r,a);let i=()=>e.removeEventListener(t,r,a);return this.destroyEvents.push(i),i}hover(e,t,r){t&&this.proxy(e,"mouseenter",t),r&&this.proxy(e,"mouseleave",r)}loadImg(e){return new Promise((t,r)=>{let a;if(e instanceof HTMLImageElement)a=e;else{if("string"!=typeof e)return r(new i.ArtPlayerError("Unable to get Image"));(a=new Image).src=e}if(a.complete)return t(a);this.proxy(a,"load",()=>t(a)),this.proxy(a,"error",()=>r(new i.ArtPlayerError(`Failed to load Image: ${a.src}`)))})}remove(e){let t=this.destroyEvents.indexOf(e);t>-1&&(e(),this.destroyEvents.splice(t,1))}destroy(){for(let e=0;eo);var i=e("../utils");function o(e,t){let{constructor:r,template:{$player:a,$video:o}}=e;t.proxy(document,["click","contextmenu"],t=>{(0,i.includeFromEvent)(t,a)?(e.isInput="INPUT"===t.target.tagName,e.isFocus=!0,e.emit("focus",t)):(e.isInput=!1,e.isFocus=!1,e.emit("blur",t))});let n=[];t.proxy(o,"click",t=>{let a=Date.now();n.push(a);let{MOBILE_CLICK_PLAY:o,DBCLICK_TIME:s,MOBILE_DBCLICK_PLAY:l,DBCLICK_FULLSCREEN:c}=r,p=n.filter(e=>a-e<=s);switch(p.length){case 1:e.emit("click",t),i.isMobile?!e.isLock&&o&&e.toggle():e.toggle(),n=p;break;case 2:e.emit("dblclick",t),i.isMobile?!e.isLock&&l&&e.toggle():c&&(e.fullscreen=!e.fullscreen),n=[];break;default:n=[]}})}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"4jWHi":[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r),a.export(r,"default",()=>o);var i=e("../utils");function o(e,t){let{$player:r}=e.template;t.hover(r,t=>{(0,i.addClass)(r,"art-hover"),e.emit("hover",!0,t)},t=>{(0,i.removeClass)(r,"art-hover"),e.emit("hover",!1,t)})}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],eqaUm:[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");function i(e,t){let{$player:r}=e.template;t.proxy(r,"mousemove",t=>{e.emit("mousemove",t)})}a.defineInteropFlag(r),a.export(r,"default",()=>i)},{"@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],eDXPO:[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r),a.export(r,"default",()=>o);var i=e("../utils");function o(e,t){let{option:r,constructor:a}=e;e.on("resize",()=>{let{aspectRatio:t,notice:a}=e;"standard"===e.state&&r.autoSize&&e.autoSize(),e.aspectRatio=t,a.show=""});let o=(0,i.debounce)(()=>e.emit("resize"),a.RESIZE_TIME);t.proxy(window,["orientationchange","resize"],()=>o()),screen&&screen.orientation&&screen.orientation.onchange&&t.proxy(screen.orientation,"change",()=>o())}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"95GtS":[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r),a.export(r,"default",()=>n);var i=e("../utils"),o=e("../control/progress");function n(e,t){if(i.isMobile&&!e.option.isLive){let{$video:r,$progress:a}=e.template,n=null,s=!1,l=0,c=0,p=0,u=t=>{if(1===t.touches.length&&!e.isLock){n===a&&(0,o.setCurrentTime)(e,t),s=!0;let{pageX:r,pageY:i}=t.touches[0];l=r,c=i,p=e.currentTime}},d=t=>{if(1===t.touches.length&&s&&e.duration){let{pageX:a,pageY:o}=t.touches[0],s=function(e,t,r,a){var i=t-a,o=r-e,n=0;if(2>Math.abs(o)&&2>Math.abs(i))return n;var s=180*Math.atan2(i,o)/Math.PI;return s>=-45&&s<45?n=4:s>=45&&s<135?n=1:s>=-135&&s<-45?n=2:(s>=135&&s<=180||s>=-180&&s<-135)&&(n=3),n}(l,c,a,o),u=[3,4].includes(s),d=[1,2].includes(s);if(u&&!e.isRotate||d&&e.isRotate){let s=(0,i.clamp)((a-l)/e.width,-1,1),u=(0,i.clamp)((o-c)/e.height,-1,1),d=e.isRotate?u:s,f=n===r?e.constructor.TOUCH_MOVE_RATIO:1,h=(0,i.clamp)(p+e.duration*d*f,0,e.duration);e.seek=h,e.emit("setBar","played",(0,i.clamp)(h/e.duration,0,1),t),e.notice.show=`${(0,i.secondToTime)(h)} / ${(0,i.secondToTime)(e.duration)}`}}};t.proxy(a,"touchstart",e=>{n=a,u(e)}),t.proxy(r,"touchstart",e=>{n=r,u(e)}),t.proxy(r,"touchmove",d),t.proxy(a,"touchmove",d),t.proxy(document,"touchend",()=>{s&&(l=0,c=0,p=0,s=!1,n=null)})}}},{"../utils":"71aH7","../control/progress":"bgoVP","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],InUBx:[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r),a.export(r,"default",()=>o);var i=e("../utils");function o(e,t){let{option:r,constructor:a,template:{$container:o}}=e,n=(0,i.throttle)(()=>{e.emit("view",(0,i.isInViewport)(o,a.SCROLL_GAP))},a.SCROLL_TIME);t.proxy(window,"scroll",()=>n()),e.on("view",t=>{r.autoMini&&(e.mini=!t)})}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],hoLfM:[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");function i(e,t){t.proxy(document,"mousemove",t=>{e.emit("document:mousemove",t)}),t.proxy(document,"mouseup",t=>{e.emit("document:mouseup",t)})}a.defineInteropFlag(r),a.export(r,"default",()=>i)},{"@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],cl8m3:[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");function i(e){if(e.constructor.USE_RAF){let t=null;!function r(){e.playing&&e.emit("raf"),e.isDestroy||(t=requestAnimationFrame(r))}(),e.on("destroy",()=>{cancelAnimationFrame(t)})}}a.defineInteropFlag(r),a.export(r,"default",()=>i)},{"@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"6NoFy":[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var a=e("./utils");r.default=class{constructor(e){this.art=e,this.keys={},e.option.hotkey&&!a.isMobile&&this.init()}init(){let{proxy:e,constructor:t}=this.art;this.add(27,()=>{this.art.fullscreenWeb&&(this.art.fullscreenWeb=!1)}),this.add(32,()=>{this.art.toggle()}),this.add(37,()=>{this.art.backward=t.SEEK_STEP}),this.add(38,()=>{this.art.volume+=t.VOLUME_STEP}),this.add(39,()=>{this.art.forward=t.SEEK_STEP}),this.add(40,()=>{this.art.volume-=t.VOLUME_STEP}),e(window,"keydown",e=>{if(this.art.isFocus){let t=document.activeElement.tagName.toUpperCase(),r=document.activeElement.getAttribute("contenteditable");if("INPUT"!==t&&"TEXTAREA"!==t&&""!==r&&"true"!==r&&!e.altKey&&!e.ctrlKey&&!e.metaKey&&!e.shiftKey){let t=this.keys[e.keyCode];if(t){e.preventDefault();for(let r=0;r{i.innerText="",(0,a.removeClass)(r,"art-notice-show")},t.NOTICE_TIME)):(0,a.removeClass)(r,"art-notice-show")}}},{"./utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"5POkG":[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r);var i=e("./utils"),o=e("./utils/component"),n=a.interopDefault(o);class s extends n.default{constructor(e){super(e),this.name="mask";let{template:t,icons:r,events:a}=e,o=(0,i.append)(t.$state,r.state),n=(0,i.append)(t.$state,r.error);(0,i.setStyle)(n,"display","none"),e.on("destroy",()=>{(0,i.setStyle)(o,"display","none"),(0,i.setStyle)(n,"display",null)}),a.proxy(t.$state,"click",()=>e.play())}}r.default=s},{"./utils":"71aH7","./utils/component":"18nVI","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"6OeNg":[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r);var i=e("../utils"),o=e("bundle-text:./loading.svg"),n=a.interopDefault(o),s=e("bundle-text:./state.svg"),l=a.interopDefault(s),c=e("bundle-text:./check.svg"),p=a.interopDefault(c),u=e("bundle-text:./play.svg"),d=a.interopDefault(u),f=e("bundle-text:./pause.svg"),h=a.interopDefault(f),m=e("bundle-text:./volume.svg"),g=a.interopDefault(m),v=e("bundle-text:./volume-close.svg"),y=a.interopDefault(v),b=e("bundle-text:./screenshot.svg"),x=a.interopDefault(b),w=e("bundle-text:./setting.svg"),j=a.interopDefault(w),k=e("bundle-text:./arrow-left.svg"),C=a.interopDefault(k),S=e("bundle-text:./arrow-right.svg"),I=a.interopDefault(S),T=e("bundle-text:./playback-rate.svg"),E=a.interopDefault(T),M=e("bundle-text:./aspect-ratio.svg"),$=a.interopDefault(M),F=e("bundle-text:./config.svg"),H=a.interopDefault(F),D=e("bundle-text:./pip.svg"),z=a.interopDefault(D),A=e("bundle-text:./lock.svg"),O=a.interopDefault(A),R=e("bundle-text:./unlock.svg"),L=a.interopDefault(R),Y=e("bundle-text:./fullscreen-off.svg"),P=a.interopDefault(Y),V=e("bundle-text:./fullscreen-on.svg"),N=a.interopDefault(V),q=e("bundle-text:./fullscreen-web-off.svg"),_=a.interopDefault(q),B=e("bundle-text:./fullscreen-web-on.svg"),W=a.interopDefault(B),U=e("bundle-text:./switch-on.svg"),K=a.interopDefault(U),G=e("bundle-text:./switch-off.svg"),Z=a.interopDefault(G),X=e("bundle-text:./flip.svg"),Q=a.interopDefault(X),J=e("bundle-text:./error.svg"),ee=a.interopDefault(J),et=e("bundle-text:./close.svg"),er=a.interopDefault(et),ea=e("bundle-text:./airplay.svg"),ei=a.interopDefault(ea);r.default=class{constructor(e){let t={loading:n.default,state:l.default,play:d.default,pause:h.default,check:p.default,volume:g.default,volumeClose:y.default,screenshot:x.default,setting:j.default,pip:z.default,arrowLeft:C.default,arrowRight:I.default,playbackRate:E.default,aspectRatio:$.default,config:H.default,lock:O.default,flip:Q.default,unlock:L.default,fullscreenOff:P.default,fullscreenOn:N.default,fullscreenWebOff:_.default,fullscreenWebOn:W.default,switchOn:K.default,switchOff:Z.default,error:ee.default,close:er.default,airplay:ei.default,...e.option.icons};for(let e in t)(0,i.def)(this,e,{get:()=>(0,i.getIcon)(e,t[e])})}}},{"../utils":"71aH7","bundle-text:./loading.svg":"7tDub","bundle-text:./state.svg":"1ElZc","bundle-text:./check.svg":"lmgoP","bundle-text:./play.svg":"lVWoQ","bundle-text:./pause.svg":"5Mnax","bundle-text:./volume.svg":"w3eIa","bundle-text:./volume-close.svg":"rHjo1","bundle-text:./screenshot.svg":"2KcqM","bundle-text:./setting.svg":"8rQMV","bundle-text:./arrow-left.svg":"kqGBE","bundle-text:./arrow-right.svg":"aFjpC","bundle-text:./playback-rate.svg":"lx7ZM","bundle-text:./aspect-ratio.svg":"2sEjf","bundle-text:./config.svg":"fQTgE","bundle-text:./pip.svg":"2CaxO","bundle-text:./lock.svg":"aCGnW","bundle-text:./unlock.svg":"bTrAV","bundle-text:./fullscreen-off.svg":"bA3p0","bundle-text:./fullscreen-on.svg":"fTuY8","bundle-text:./fullscreen-web-off.svg":"tvKf4","bundle-text:./fullscreen-web-on.svg":"1F1oB","bundle-text:./switch-on.svg":"7qNHs","bundle-text:./switch-off.svg":"28aV8","bundle-text:./flip.svg":"1uXI6","bundle-text:./error.svg":"9f4dh","bundle-text:./close.svg":"4nTtS","bundle-text:./airplay.svg":"cDPXC","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"7tDub":[function(e,t,r){t.exports=''},{}],"1ElZc":[function(e,t,r){t.exports=''},{}],lmgoP:[function(e,t,r){t.exports=''},{}],lVWoQ:[function(e,t,r){t.exports=''},{}],"5Mnax":[function(e,t,r){t.exports=''},{}],w3eIa:[function(e,t,r){t.exports=''},{}],rHjo1:[function(e,t,r){t.exports=''},{}],"2KcqM":[function(e,t,r){t.exports=''},{}],"8rQMV":[function(e,t,r){t.exports=''},{}],kqGBE:[function(e,t,r){t.exports=''},{}],aFjpC:[function(e,t,r){t.exports=''},{}],lx7ZM:[function(e,t,r){t.exports=''},{}],"2sEjf":[function(e,t,r){t.exports=''},{}],fQTgE:[function(e,t,r){t.exports=''},{}],"2CaxO":[function(e,t,r){t.exports=''},{}],aCGnW:[function(e,t,r){t.exports=''},{}],bTrAV:[function(e,t,r){t.exports=''},{}],bA3p0:[function(e,t,r){t.exports=''},{}],fTuY8:[function(e,t,r){t.exports=''},{}],tvKf4:[function(e,t,r){t.exports=''},{}],"1F1oB":[function(e,t,r){t.exports=''},{}],"7qNHs":[function(e,t,r){t.exports=''},{}],"28aV8":[function(e,t,r){t.exports=''},{}],"1uXI6":[function(e,t,r){t.exports=''},{}],"9f4dh":[function(e,t,r){t.exports=''},{}],"4nTtS":[function(e,t,r){t.exports=''},{}],cDPXC:[function(e,t,r){t.exports=''},{}],"3eYNH":[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r);var i=e("./flip"),o=a.interopDefault(i),n=e("./aspectRatio"),s=a.interopDefault(n),l=e("./playbackRate"),c=a.interopDefault(l),p=e("./subtitleOffset"),u=a.interopDefault(p),d=e("../utils/component"),f=a.interopDefault(d),h=e("../utils/error"),m=e("../utils");class g extends f.default{constructor(e){super(e);let{option:t,controls:r,template:{$setting:a}}=e;this.name="setting",this.$parent=a,this.option=[],this.events=[],this.cache=new Map,t.setting&&(this.init(),e.on("blur",()=>{this.show&&(this.show=!1,this.render(this.option))}),e.on("focus",e=>{let t=(0,m.includeFromEvent)(e,r.setting),a=(0,m.includeFromEvent)(e,this.$parent);!this.show||t||a||(this.show=!1,this.render(this.option))}))}static makeRecursion(e,t,r){for(let a=0;a'),n=(0,m.createElement)("div");(0,m.addClass)(n,"art-setting-item-left-icon"),(0,m.append)(n,t.arrowLeft),(0,m.append)(o,n),(0,m.append)(o,e.$parentItem.html);let s=r(i,"click",()=>this.render(e.$parentList));return this.events.push(s),i}creatItem(e,t){let{icons:r,proxy:a,constructor:i}=this.art,o=(0,m.createElement)("div");(0,m.addClass)(o,"art-setting-item"),(0,m.setStyle)(o,"height",`${i.SETTING_ITEM_HEIGHT}px`),(0,m.isStringOrNumber)(t.name)&&(o.dataset.name=t.name),(0,m.isStringOrNumber)(t.value)&&(o.dataset.value=t.value);let n=(0,m.append)(o,'
'),s=(0,m.append)(o,'
'),l=(0,m.createElement)("div");switch((0,m.addClass)(l,"art-setting-item-left-icon"),e){case"switch":case"range":(0,m.append)(l,(0,m.isStringOrNumber)(t.icon)||t.icon instanceof Element?t.icon:r.config);break;case"selector":t.selector&&t.selector.length?(0,m.append)(l,(0,m.isStringOrNumber)(t.icon)||t.icon instanceof Element?t.icon:r.config):(0,m.append)(l,r.check)}(0,m.append)(n,l),t.$icon=l,(0,m.def)(t,"icon",{configurable:!0,get:()=>l.innerHTML,set(e){(0,m.isStringOrNumber)(e)&&(l.innerHTML=e)}});let c=(0,m.createElement)("div");(0,m.addClass)(c,"art-setting-item-left-text"),(0,m.append)(c,t.html||""),(0,m.append)(n,c),t.$html=c,(0,m.def)(t,"html",{configurable:!0,get:()=>c.innerHTML,set(e){(0,m.isStringOrNumber)(e)&&(c.innerHTML=e)}});let p=(0,m.createElement)("div");switch((0,m.addClass)(p,"art-setting-item-right-tooltip"),(0,m.append)(p,t.tooltip||""),(0,m.append)(s,p),t.$tooltip=p,(0,m.def)(t,"tooltip",{configurable:!0,get:()=>p.innerHTML,set(e){(0,m.isStringOrNumber)(e)&&(p.innerHTML=e)}}),e){case"switch":{let e=(0,m.createElement)("div");(0,m.addClass)(e,"art-setting-item-right-icon");let a=(0,m.append)(e,r.switchOn),i=(0,m.append)(e,r.switchOff);(0,m.setStyle)(t.switch?i:a,"display","none"),(0,m.append)(s,e),t.$switch=t.switch,(0,m.def)(t,"switch",{configurable:!0,get:()=>t.$switch,set(e){t.$switch=e,e?((0,m.setStyle)(i,"display","none"),(0,m.setStyle)(a,"display",null)):((0,m.setStyle)(i,"display",null),(0,m.setStyle)(a,"display","none"))}});break}case"range":{let e=(0,m.createElement)("div");(0,m.addClass)(e,"art-setting-item-right-icon");let r=(0,m.append)(e,'');r.value=t.range[0]||0,r.min=t.range[1]||0,r.max=t.range[2]||10,r.step=t.range[3]||1,(0,m.addClass)(r,"art-setting-range"),(0,m.append)(s,e),t.$range=r,(0,m.def)(t,"range",{configurable:!0,get:()=>r.valueAsNumber,set(e){r.value=Number(e)}})}break;case"selector":if(t.selector&&t.selector.length){let e=(0,m.createElement)("div");(0,m.addClass)(e,"art-setting-item-right-icon"),(0,m.append)(e,r.arrowRight),(0,m.append)(s,e)}}switch(e){case"switch":if(t.onSwitch){let e=a(o,"click",async e=>{t.switch=await t.onSwitch.call(this.art,t,o,e)});this.events.push(e)}break;case"range":if(t.$range){if(t.onRange){let e=a(t.$range,"change",async e=>{t.tooltip=await t.onRange.call(this.art,t,o,e)});this.events.push(e)}if(t.onChange){let e=a(t.$range,"input",async e=>{t.tooltip=await t.onChange.call(this.art,t,o,e)});this.events.push(e)}}break;case"selector":{let e=a(o,"click",async e=>{if(t.selector&&t.selector.length)this.render(t.selector,t.width);else{(0,m.inverseClass)(o,"art-current");for(let e=0;ec?((0,m.setStyle)(i,"left",null),(0,m.setStyle)(i,"right",null)):((0,m.setStyle)(i,"left",`${p}px`),(0,m.setStyle)(i,"right","auto"))}}render(e,t){let{constructor:r}=this.art;if(this.cache.has(e)){let t=this.cache.get(e);(0,m.inverseClass)(t,"art-current"),(0,m.setStyle)(this.$parent,"width",`${t.dataset.width}px`),(0,m.setStyle)(this.$parent,"height",`${t.dataset.height}px`),this.updateStyle(Number(t.dataset.width))}else{let a=(0,m.createElement)("div");(0,m.addClass)(a,"art-setting-panel"),a.dataset.width=t||r.SETTING_WIDTH,a.dataset.height=e.length*r.SETTING_ITEM_HEIGHT,e[0]&&e[0].$parentItem&&((0,m.append)(a,this.creatHeader(e[0])),a.dataset.height=Number(a.dataset.height)+r.SETTING_ITEM_HEIGHT);for(let t=0;to);var i=e("../utils");function o(e){let{i18n:t,icons:r,constructor:{SETTING_ITEM_WIDTH:a,FLIP:o}}=e;function n(e,r,a){r&&(r.innerText=t.get((0,i.capitalize)(a)));let o=(0,i.queryAll)(".art-setting-item",e).find(e=>e.dataset.value===a);o&&(0,i.inverseClass)(o,"art-current")}return{width:a,name:"flip",html:t.get("Video Flip"),tooltip:t.get((0,i.capitalize)(e.flip)),icon:r.flip,selector:o.map(r=>({value:r,name:`aspect-ratio-${r}`,default:r===e.flip,html:t.get((0,i.capitalize)(r))})),onSelect:t=>(e.flip=t.value,t.html),mounted:(t,r)=>{n(t,r.$tooltip,e.flip),e.on("flip",()=>{n(t,r.$tooltip,e.flip)})}}}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"84NBV":[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r),a.export(r,"default",()=>o);var i=e("../utils");function o(e){let{i18n:t,icons:r,constructor:{SETTING_ITEM_WIDTH:a,ASPECT_RATIO:o}}=e;function n(e){return"default"===e?t.get("Default"):e}function s(e,t,r){t&&(t.innerText=n(r));let a=(0,i.queryAll)(".art-setting-item",e).find(e=>e.dataset.value===r);a&&(0,i.inverseClass)(a,"art-current")}return{width:a,name:"aspect-ratio",html:t.get("Aspect Ratio"),icon:r.aspectRatio,tooltip:n(e.aspectRatio),selector:o.map(t=>({value:t,name:`aspect-ratio-${t}`,default:t===e.aspectRatio,html:n(t)})),onSelect:t=>(e.aspectRatio=t.value,t.html),mounted:(t,r)=>{s(t,r.$tooltip,e.aspectRatio),e.on("aspectRatio",()=>{s(t,r.$tooltip,e.aspectRatio)})}}}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],aetWt:[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r),a.export(r,"default",()=>o);var i=e("../utils");function o(e){let{i18n:t,icons:r,constructor:{SETTING_ITEM_WIDTH:a,PLAYBACK_RATE:o}}=e;function n(e){return 1===e?t.get("Normal"):e.toFixed(1)}function s(e,t,r){t&&(t.innerText=n(r));let a=(0,i.queryAll)(".art-setting-item",e).find(e=>Number(e.dataset.value)===r);a&&(0,i.inverseClass)(a,"art-current")}return{width:a,name:"playback-rate",html:t.get("Play Speed"),tooltip:n(e.playbackRate),icon:r.playbackRate,selector:o.map(t=>({value:t,name:`aspect-ratio-${t}`,default:t===e.playbackRate,html:n(t)})),onSelect:t=>(e.playbackRate=t.value,t.html),mounted:(t,r)=>{s(t,r.$tooltip,e.playbackRate),e.on("video:ratechange",()=>{s(t,r.$tooltip,e.playbackRate)})}}}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],fIBkO:[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");function i(e){let{i18n:t,icons:r,constructor:a}=e;return{width:a.SETTING_ITEM_WIDTH,name:"subtitle-offset",html:t.get("Subtitle Offset"),icon:r.subtitle,tooltip:"0s",range:[0,-5,5,.1],onChange:t=>(e.subtitleOffset=t.range,t.range+"s")}}a.defineInteropFlag(r),a.export(r,"default",()=>i)},{"@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"2aaJe":[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r),r.default=class{constructor(){this.name="artplayer_settings",this.settings={}}get(e){try{let t=JSON.parse(window.localStorage.getItem(this.name))||{};return e?t[e]:t}catch(t){return e?this.settings[e]:this.settings}}set(e,t){try{let r=Object.assign({},this.get(),{[e]:t});window.localStorage.setItem(this.name,JSON.stringify(r))}catch(r){this.settings[e]=t}}del(e){try{let t=this.get();delete t[e],window.localStorage.setItem(this.name,JSON.stringify(t))}catch(t){delete this.settings[e]}}clear(){try{window.localStorage.removeItem(this.name)}catch(e){this.settings={}}}}},{"@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"8MTUM":[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r);var i=e("../utils"),o=e("./miniProgressBar"),n=a.interopDefault(o),s=e("./autoOrientation"),l=a.interopDefault(s),c=e("./autoPlayback"),p=a.interopDefault(c),u=e("./fastForward"),d=a.interopDefault(u),f=e("./lock"),h=a.interopDefault(f);r.default=class{constructor(e){this.art=e,this.id=0;let{option:t}=e;t.miniProgressBar&&!t.isLive&&this.add(n.default),t.lock&&i.isMobile&&this.add(h.default),t.autoPlayback&&!t.isLive&&this.add(p.default),t.autoOrientation&&i.isMobile&&this.add(l.default),t.fastForward&&i.isMobile&&!t.isLive&&this.add(d.default);for(let e=0;ethis.next(e,t)):this.next(e,t)}next(e,t){let r=t&&t.name||e.name||`plugin${this.id}`;return(0,i.errorHandle)(!(0,i.has)(this,r),`Cannot add a plugin that already has the same name: ${r}`),(0,i.def)(this,r,{value:t}),this}}},{"../utils":"71aH7","./miniProgressBar":"87pSL","./autoOrientation":"ePEg5","./autoPlayback":"cVO99","./fastForward":"hFDwt","./lock":"1hsTH","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"87pSL":[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r),a.export(r,"default",()=>o);var i=e("../utils");function o(e){return e.on("control",t=>{t?(0,i.removeClass)(e.template.$player,"art-mini-progress-bar"):(0,i.addClass)(e.template.$player,"art-mini-progress-bar")}),{name:"mini-progress-bar"}}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],ePEg5:[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r),a.export(r,"default",()=>o);var i=e("../utils");function o(e){let{constructor:t,template:{$player:r,$video:a}}=e;return e.on("fullscreenWeb",o=>{if(o){let{videoWidth:o,videoHeight:n}=a,{clientWidth:s,clientHeight:l}=document.documentElement;(o>n&&sl)&&setTimeout(()=>{(0,i.setStyle)(r,"width",`${l}px`),(0,i.setStyle)(r,"height",`${s}px`),(0,i.setStyle)(r,"transform-origin","0 0"),(0,i.setStyle)(r,"transform",`rotate(90deg) translate(0, -${s}px)`),(0,i.addClass)(r,"art-auto-orientation"),e.isRotate=!0,e.emit("resize")},t.AUTO_ORIENTATION_TIME)}else(0,i.hasClass)(r,"art-auto-orientation")&&((0,i.removeClass)(r,"art-auto-orientation"),e.isRotate=!1,e.emit("resize"))}),e.on("fullscreen",async e=>{if(!screen?.orientation?.lock)return;let t=screen.orientation.type;if(e){let{videoWidth:e,videoHeight:o}=a,{clientWidth:n,clientHeight:s}=document.documentElement;if(e>o&&ns){let e=t.startsWith("portrait")?"landscape":"portrait";await screen.orientation.lock(e),(0,i.addClass)(r,"art-auto-orientation-fullscreen")}}else(0,i.hasClass)(r,"art-auto-orientation-fullscreen")&&(await screen.orientation.lock(t),(0,i.removeClass)(r,"art-auto-orientation-fullscreen"))}),{name:"autoOrientation",get state(){return(0,i.hasClass)(r,"art-auto-orientation")}}}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],cVO99:[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r),a.export(r,"default",()=>o);var i=e("../utils");function o(e){let{i18n:t,icons:r,storage:a,constructor:o,proxy:n,template:{$poster:s}}=e,l=e.layers.add({name:"auto-playback",html:`
`}),c=(0,i.query)(".art-auto-playback-last",l),p=(0,i.query)(".art-auto-playback-jump",l),u=(0,i.query)(".art-auto-playback-close",l);return e.on("video:timeupdate",()=>{if(e.playing){let t=a.get("times")||{},r=Object.keys(t);r.length>o.AUTO_PLAYBACK_MAX&&delete t[r[0]],t[e.option.id||e.option.url]=e.currentTime,a.set("times",t)}}),e.on("ready",()=>{let d=(a.get("times")||{})[e.option.id||e.option.url];d&&d>=o.AUTO_PLAYBACK_MIN&&((0,i.append)(u,r.close),(0,i.setStyle)(l,"display","flex"),c.innerText=`${t.get("Last Seen")} ${(0,i.secondToTime)(d)}`,p.innerText=t.get("Jump Play"),n(u,"click",()=>{(0,i.setStyle)(l,"display","none")}),n(p,"click",()=>{e.seek=d,e.play(),(0,i.setStyle)(s,"display","none"),(0,i.setStyle)(l,"display","none")}),e.once("video:timeupdate",()=>{setTimeout(()=>{(0,i.setStyle)(l,"display","none")},o.AUTO_PLAYBACK_TIMEOUT)}))}),{name:"auto-playback",get times(){return a.get("times")||{}},clear:()=>a.del("times"),delete(e){let t=a.get("times")||{};return delete t[e],a.set("times",t),t}}}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],hFDwt:[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r),a.export(r,"default",()=>o);var i=e("../utils");function o(e){let{constructor:t,proxy:r,template:{$player:a,$video:o}}=e,n=null,s=!1,l=1,c=()=>{clearTimeout(n),s&&(s=!1,e.playbackRate=l,(0,i.removeClass)(a,"art-fast-forward"))};return r(o,"touchstart",r=>{1===r.touches.length&&e.playing&&!e.isLock&&(n=setTimeout(()=>{s=!0,l=e.playbackRate,e.playbackRate=t.FAST_FORWARD_VALUE,(0,i.addClass)(a,"art-fast-forward")},t.FAST_FORWARD_TIME))}),r(document,"touchmove",c),r(document,"touchend",c),{name:"fastForward",get state(){return(0,i.hasClass)(a,"art-fast-forward")}}}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}],"1hsTH":[function(e,t,r){var a=e("@parcel/transformer-js/src/esmodule-helpers.js");a.defineInteropFlag(r),a.export(r,"default",()=>o);var i=e("../utils");function o(e){let{layers:t,icons:r,template:{$player:a}}=e;function o(){return(0,i.hasClass)(a,"art-lock")}function n(){(0,i.addClass)(a,"art-lock"),e.isLock=!0,e.emit("lock",!0)}function s(){(0,i.removeClass)(a,"art-lock"),e.isLock=!1,e.emit("lock",!1)}return t.add({name:"lock",mounted(t){let a=(0,i.append)(t,r.lock),o=(0,i.append)(t,r.unlock);(0,i.setStyle)(a,"display","none"),e.on("lock",e=>{e?((0,i.setStyle)(a,"display","inline-flex"),(0,i.setStyle)(o,"display","none")):((0,i.setStyle)(a,"display","none"),(0,i.setStyle)(o,"display","inline-flex"))})},click(){o()?s():n()}}),{name:"lock",get state(){return o()},set state(value){value?n():s()}}}},{"../utils":"71aH7","@parcel/transformer-js/src/esmodule-helpers.js":"9pCYc"}]},["5lTcX"],"5lTcX","parcelRequire4dc0"); \ No newline at end of file diff --git a/compiled/artplayer.legacy.js b/compiled/artplayer.legacy.js index 1213b508d..8b6a2af0e 100644 --- a/compiled/artplayer.legacy.js +++ b/compiled/artplayer.legacy.js @@ -5,4 +5,4 @@ * (c) 2017-2024 Harvey Zack * Released under the MIT License. */ -!function(e,t,r,n,o){var a="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},s="function"==typeof a[n]&&a[n],i=s.cache||{},l="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function c(t,r){if(!i[t]){if(!e[t]){var o="function"==typeof a[n]&&a[n];if(!r&&o)return o(t,!0);if(s)return s(t,!0);if(l&&"string"==typeof t)return l(t);var u=Error("Cannot find module '"+t+"'");throw u.code="MODULE_NOT_FOUND",u}f.resolve=function(r){var n=e[t][1][r];return null!=n?n:r},f.cache={};var p=i[t]=new c.Module(t);e[t][0].call(p.exports,f,p,p.exports,this)}return i[t].exports;function f(e){var t=f.resolve(e);return!1===t?{}:c(t)}}c.isParcelRequire=!0,c.Module=function(e){this.id=e,this.bundle=c,this.exports={}},c.modules=e,c.cache=i,c.parent=s,c.register=function(t,r){e[t]=[function(e,t){t.exports=r},{}]},Object.defineProperty(c,"root",{get:function(){return a[n]}}),a[n]=c;for(var u=0;u").concat(e))};l("Version@"+r.version),l("Env@"+r.env),l("Build@"+r.build);for(var c=0;c0)||void 0===arguments[0]||arguments[0];this.events.destroy(),this.template.destroy(e),et.splice(et.indexOf(this),1),this.isDestroy=!0,this.emit("destroy")}}],[{key:"instances",get:function(){return et}},{key:"version",get:function(){return"5.1.7"}},{key:"env",get:function(){return"production"}},{key:"build",get:function(){return"2024-08-15 23:27:09"}},{key:"config",get:function(){return y.default}},{key:"utils",get:function(){return m}},{key:"scheme",get:function(){return g.default}},{key:"Emitter",get:function(){return h.default}},{key:"validator",get:function(){return f.default}},{key:"kindOf",get:function(){return f.default.kindOf}},{key:"html",get:function(){return w.default.html}},{key:"option",get:function(){return{id:"",container:"#artplayer",url:"",poster:"",type:"",theme:"#f00",volume:.7,isLive:!1,muted:!1,autoplay:!1,autoSize:!1,autoMini:!1,loop:!1,flip:!1,playbackRate:!1,aspectRatio:!1,screenshot:!1,setting:!1,hotkey:!0,pip:!1,mutex:!0,backdrop:!0,fullscreen:!1,fullscreenWeb:!1,subtitleOffset:!1,miniProgressBar:!1,useSSR:!1,playsInline:!0,lock:!1,fastForward:!1,autoPlayback:!1,autoOrientation:!1,airplay:!1,layers:[],contextmenu:[],controls:[],settings:[],quality:[],highlight:[],plugins:[],thumbnails:{url:"",number:60,column:10,width:0,height:0},subtitle:{url:"",type:"",style:{},name:"",escape:!0,encoding:"utf-8",onVttLoad:function(e){return e}},moreVideoAttr:{controls:!1,preload:m.isSafari?"auto":"metadata"},i18n:{},icons:{},cssVar:{},customType:{},lang:navigator.language.toLowerCase()}}}]),r}(h.default);er.STYLE=u.default,er.DEBUG=!1,er.CONTEXTMENU=!0,er.NOTICE_TIME=2e3,er.SETTING_WIDTH=250,er.SETTING_ITEM_WIDTH=200,er.SETTING_ITEM_HEIGHT=35,er.RESIZE_TIME=200,er.SCROLL_TIME=200,er.SCROLL_GAP=50,er.AUTO_PLAYBACK_MAX=10,er.AUTO_PLAYBACK_MIN=5,er.AUTO_PLAYBACK_TIMEOUT=3e3,er.RECONNECT_TIME_MAX=5,er.RECONNECT_SLEEP_TIME=1e3,er.CONTROL_HIDE_TIME=3e3,er.DBCLICK_TIME=300,er.DBCLICK_FULLSCREEN=!0,er.MOBILE_DBCLICK_PLAY=!0,er.MOBILE_CLICK_PLAY=!1,er.AUTO_ORIENTATION_TIME=200,er.INFO_LOOP_TIME=1e3,er.FAST_FORWARD_VALUE=3,er.FAST_FORWARD_TIME=1e3,er.TOUCH_MOVE_RATIO=.5,er.VOLUME_STEP=.1,er.SEEK_STEP=5,er.PLAYBACK_RATE=[.5,.75,1,1.25,1.5,2],er.ASPECT_RATIO=["default","4:3","16:9"],er.FLIP=["normal","horizontal","vertical"],er.FULLSCREEN_WEB_IN_BODY=!1,er.LOG_VERSION=!0,er.USE_RAF=!1,m.isBrowser&&(window.Artplayer=er,m.setStyleText("artplayer-style",u.default),setTimeout(function(){er.LOG_VERSION&&console.log("%c ArtPlayer %c ".concat(er.version," %c https://artplayer.org"),"color: #fff; background: #5f5f5f","color: #fff; background: #4bc729","")},100))},{"@swc/helpers/_/_assert_this_initialized":"jTlDX","@swc/helpers/_/_class_call_check":"dRqgV","@swc/helpers/_/_create_class":"8RAzW","@swc/helpers/_/_inherits":"aRPJQ","@swc/helpers/_/_create_super":"kqTtK","bundle-text:./style/index.less":"7Efch","option-validator":"gEtej","./utils/emitter":"23yIZ","./utils":"7esST","./scheme":"hYXnH","./config":"1lpcp","./template":"aRbVP","./i18n":"d1hXD","./player":"aUXOX","./control":"7Cphn","./contextmenu":"aH04y","./info":"kEevD","./subtitle":"14H9c","./events":"9biZS","./hotkey":"bCoXC","./layer":"eQf6l","./loading":"gzHl5","./notice":"gdkSy","./mask":"kH8gp","./icons":"1Mh7c","./setting":"2lyD4","./storage":"38YEE","./plugins":"b3Yxu","@parcel/transformer-js/src/esmodule-helpers.js":"hTt7M"}],jTlDX:[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");function o(e){if(void 0===e)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return e}n.defineInteropFlag(r),n.export(r,"_assert_this_initialized",function(){return o}),n.export(r,"_",function(){return o})},{"@parcel/transformer-js/src/esmodule-helpers.js":"hTt7M"}],hTt7M:[function(e,t,r){r.interopDefault=function(e){return e&&e.__esModule?e:{default:e}},r.defineInteropFlag=function(e){Object.defineProperty(e,"__esModule",{value:!0})},r.exportAll=function(e,t){return Object.keys(e).forEach(function(r){"default"===r||"__esModule"===r||Object.prototype.hasOwnProperty.call(t,r)||Object.defineProperty(t,r,{enumerable:!0,get:function(){return e[r]}})}),t},r.export=function(e,t,r){Object.defineProperty(e,t,{enumerable:!0,get:r})}},{}],dRqgV:[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");function o(e,t){if(!(e instanceof t))throw TypeError("Cannot call a class as a function")}n.defineInteropFlag(r),n.export(r,"_class_call_check",function(){return o}),n.export(r,"_",function(){return o})},{"@parcel/transformer-js/src/esmodule-helpers.js":"hTt7M"}],"8RAzW":[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");function o(e,t){for(var r=0;r1?t-1:0),n=1;n1&&void 0!==arguments[1]?arguments[1]:document;return t.querySelector(e)}function s(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:document;return Array.from(t.querySelectorAll(e))}function i(e,t){return e.classList.add(t)}function l(e,t){return e.classList.remove(t)}function c(e,t){return e.classList.contains(t)}function u(e,t){return t instanceof Element?e.appendChild(t):e.insertAdjacentHTML("beforeend",String(t)),e.lastElementChild||e.lastChild}function p(e){return e.parentNode.removeChild(e)}function f(e,t,r){return e.style[t]=r,e}function d(e,t){for(var r in t)f(e,r,t[r]);return e}function h(e,t){var r=!(arguments.length>2)||void 0===arguments[2]||arguments[2],n=window.getComputedStyle(e,null).getPropertyValue(t);return r?parseFloat(n):n}function m(e){return Array.from(e.parentElement.children).filter(function(t){return t!==e})}function v(e,t){m(e).forEach(function(e){return l(e,t)}),i(e,t)}function g(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"top";o.isMobile||(e.setAttribute("aria-label",t),i(e,"hint--rounded"),i(e,"hint--".concat(r)))}function _(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=e.getBoundingClientRect(),n=window.innerHeight||document.documentElement.clientHeight,o=window.innerWidth||document.documentElement.clientWidth,a=r.top-t<=n&&r.top+r.height+t>=0,s=r.left-t<=o+t&&r.left+r.width+t>=0;return a&&s}function y(e,t){return e.composedPath&&e.composedPath().indexOf(t)>-1}function b(e,t){return t.parentNode.replaceChild(e,t),e}function w(e){return document.createElement(e)}function x(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",r=w("i");return i(r,"art-icon"),i(r,"art-icon-".concat(e)),u(r,t),r}function j(e,t){var r=document.getElementById(e);if(r)r.textContent=t;else{var n=w("style");n.id=e,n.textContent=t,document.head.appendChild(n)}}function k(){var e=document.createElement("div");return e.style.display="flex","flex"===e.style.display}function T(e){return e.getBoundingClientRect()}},{"./compatibility":"g6fxC","@parcel/transformer-js/src/esmodule-helpers.js":"hTt7M"}],g6fxC:[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(r),n.export(r,"userAgent",function(){return o}),n.export(r,"isSafari",function(){return a}),n.export(r,"isWechat",function(){return s}),n.export(r,"isIE",function(){return i}),n.export(r,"isAndroid",function(){return l}),n.export(r,"isIOS",function(){return c}),n.export(r,"isIOS13",function(){return u}),n.export(r,"isMobile",function(){return p}),n.export(r,"isBrowser",function(){return f});var o="undefined"!=typeof navigator?navigator.userAgent:"",a=/^((?!chrome|android).)*safari/i.test(o),s=/MicroMessenger/i.test(o),i=/MSIE|Trident/i.test(o),l=/android/i.test(o),c=/iPad|iPhone|iPod/i.test(o)&&!window.MSStream,u=c||o.includes("Macintosh")&&navigator.maxTouchPoints>=1,p=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(o)||u,f="undefined"!=typeof window},{"@parcel/transformer-js/src/esmodule-helpers.js":"hTt7M"}],d6sk8:[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(r),n.export(r,"ArtPlayerError",function(){return c}),n.export(r,"errorHandle",function(){return u});var o=e("@swc/helpers/_/_assert_this_initialized"),a=e("@swc/helpers/_/_class_call_check"),s=e("@swc/helpers/_/_inherits"),i=e("@swc/helpers/_/_wrap_native_super"),l=e("@swc/helpers/_/_create_super"),c=function(e){(0,s._)(r,e);var t=(0,l._)(r);function r(e,n){var s;return(0,a._)(this,r),s=t.call(this,e),"function"==typeof Error.captureStackTrace&&Error.captureStackTrace((0,o._)(s),n||s.constructor),s.name="ArtPlayerError",s}return r}((0,i._)(Error));function u(e,t){if(!e)throw new c(t);return e}},{"@swc/helpers/_/_assert_this_initialized":"jTlDX","@swc/helpers/_/_class_call_check":"dRqgV","@swc/helpers/_/_inherits":"aRPJQ","@swc/helpers/_/_wrap_native_super":"1PJxD","@swc/helpers/_/_create_super":"kqTtK","@parcel/transformer-js/src/esmodule-helpers.js":"hTt7M"}],"1PJxD":[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(r),n.export(r,"_wrap_native_super",function(){return l}),n.export(r,"_",function(){return l});var o=e("./_construct.js"),a=e("./_get_prototype_of.js"),s=e("./_is_native_function.js"),i=e("./_set_prototype_of.js");function l(e){var t="function"==typeof Map?new Map:void 0;return(l=function(e){if(null===e||!(0,s._is_native_function)(e))return e;if("function"!=typeof e)throw TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,r)}function r(){return(0,o._construct)(e,arguments,(0,a._get_prototype_of)(this).constructor)}return r.prototype=Object.create(e.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}),(0,i._set_prototype_of)(r,e)})(e)}},{"./_construct.js":"8tOYA","./_get_prototype_of.js":"2mh6E","./_is_native_function.js":"aYK5s","./_set_prototype_of.js":"eAgjA","@parcel/transformer-js/src/esmodule-helpers.js":"hTt7M"}],"8tOYA":[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(r),n.export(r,"_construct",function(){return s}),n.export(r,"_",function(){return s});var o=e("./_is_native_reflect_construct.js"),a=e("./_set_prototype_of.js");function s(e,t,r){return(s=(0,o._is_native_reflect_construct)()?Reflect.construct:function(e,t,r){var n=[null];n.push.apply(n,t);var o=new(Function.bind.apply(e,n));return r&&(0,a._set_prototype_of)(o,r.prototype),o}).apply(null,arguments)}},{"./_is_native_reflect_construct.js":"M5rXK","./_set_prototype_of.js":"eAgjA","@parcel/transformer-js/src/esmodule-helpers.js":"hTt7M"}],aYK5s:[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");function o(e){return -1!==Function.toString.call(e).indexOf("[native code]")}n.defineInteropFlag(r),n.export(r,"_is_native_function",function(){return o}),n.export(r,"_",function(){return o})},{"@parcel/transformer-js/src/esmodule-helpers.js":"hTt7M"}],gOgPD:[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");function o(e){return"WEBVTT \r\n\r\n".concat(e.replace(/(\d\d:\d\d:\d\d)[,.](\d+)/g,function(e,t,r){var n=r.slice(0,3);return 1===r.length&&(n=r+"00"),2===r.length&&(n=r+"0"),"".concat(t,",").concat(n)}).replace(/\{\\([ibu])\}/g,"").replace(/\{\\([ibu])1\}/g,"<$1>").replace(/\{([ibu])\}/g,"<$1>").replace(/\{\/([ibu])\}/g,"").replace(/(\d\d:\d\d:\d\d),(\d\d\d)/g,"$1.$2").replace(/{[\s\S]*?}/g,"").concat("\r\n\r\n"))}function a(e){return URL.createObjectURL(new Blob([e],{type:"text/vtt"}))}function s(e){var t=RegExp("Dialogue:\\s\\d,(\\d+:\\d\\d:\\d\\d.\\d\\d),(\\d+:\\d\\d:\\d\\d.\\d\\d),([^,]*),([^,]*),(?:[^,]*,){4}([\\s\\S]*)$","i");function r(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return e.split(/[:.]/).map(function(e,t,r){if(t===r.length-1){if(1===e.length)return".".concat(e,"00");if(2===e.length)return".".concat(e,"0")}else if(1===e.length)return(0===t?"0":":0")+e;return 0===t?e:t===r.length-1?".".concat(e):":".concat(e)}).join("")}return"WEBVTT\n\n"+e.split(/\r?\n/).map(function(e){var n=e.match(t);return n?{start:r(n[1].trim()),end:r(n[2].trim()),text:n[5].replace(/{[\s\S]*?}/g,"").replace(/(\\N)/g,"\n").trim().split(/\r?\n/).map(function(e){return e.trim()}).join("\n")}:null}).filter(function(e){return e}).map(function(e,t){return e?t+1+"\n"+"".concat(e.start," --> ").concat(e.end)+"\n"+"".concat(e.text):""}).filter(function(e){return e.trim()}).join("\n\n")}n.defineInteropFlag(r),n.export(r,"srtToVtt",function(){return o}),n.export(r,"vttToBlob",function(){return a}),n.export(r,"assToVtt",function(){return s})},{"@parcel/transformer-js/src/esmodule-helpers.js":"hTt7M"}],"8pVuv":[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");function o(e,t){var r=document.createElement("a");r.style.display="none",r.href=e,r.download=t,document.body.appendChild(r),r.click(),document.body.removeChild(r)}n.defineInteropFlag(r),n.export(r,"getExt",function(){return function e(t){return t.includes("?")?e(t.split("?")[0]):t.includes("#")?e(t.split("#")[0]):t.trim().toLowerCase().split(".").pop()}}),n.export(r,"download",function(){return o})},{"@parcel/transformer-js/src/esmodule-helpers.js":"hTt7M"}],iCvtI:[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(r),n.export(r,"def",function(){return a}),n.export(r,"has",function(){return i}),n.export(r,"get",function(){return l}),n.export(r,"mergeDeep",function(){return function e(){for(var t=arguments.length,r=Array(t),n=0;ne.length)&&(t=e.length);for(var r=0,n=Array(t);r0&&void 0!==arguments[0]?arguments[0]:0;return new Promise(function(t){return setTimeout(t,e)})}function a(e,t){var r;return function(){for(var n=this,o=arguments.length,a=Array(o),s=0;s0?[t,r,n]:[r,n]).map(function(e){return e<10?"0".concat(e):String(e)}).join(":")}function c(e){return e.replace(/[&<>'"]/g,function(e){return({"&":"&","<":"<",">":">","'":"'",'"':"""})[e]||e})}function u(e){var t={"&":"&","<":"<",">":">","'":"'",""":'"'},r=RegExp("(".concat(Object.keys(t).join("|"),")"),"g");return e.replace(r,function(e){return t[e]||e})}},{"@swc/helpers/_/_type_of":"l4kpM","@parcel/transformer-js/src/esmodule-helpers.js":"hTt7M"}],hYXnH:[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(r),n.export(r,"ComponentOption",function(){return h});var o=e("@swc/helpers/_/_object_spread"),a=e("@swc/helpers/_/_object_spread_props"),s=e("../utils"),i="array",l="boolean",c="string",u="number",p="object",f="function";function d(e,t,r){return(0,s.errorHandle)(t===c||t===u||e instanceof Element,"".concat(r.join(".")," require '").concat(c,"' or 'Element' type"))}var h={html:d,disable:"?".concat(l),name:"?".concat(c),index:"?".concat(u),style:"?".concat(p),click:"?".concat(f),mounted:"?".concat(f),tooltip:"?".concat(c,"|").concat(u),width:"?".concat(u),selector:"?".concat(i),onSelect:"?".concat(f),switch:"?".concat(l),onSwitch:"?".concat(f),range:"?".concat(i),onRange:"?".concat(f),onChange:"?".concat(f)};r.default={id:c,container:d,url:c,poster:c,type:c,theme:c,lang:c,volume:u,isLive:l,muted:l,autoplay:l,autoSize:l,autoMini:l,loop:l,flip:l,playbackRate:l,aspectRatio:l,screenshot:l,setting:l,hotkey:l,pip:l,mutex:l,backdrop:l,fullscreen:l,fullscreenWeb:l,subtitleOffset:l,miniProgressBar:l,useSSR:l,playsInline:l,lock:l,fastForward:l,autoPlayback:l,autoOrientation:l,airplay:l,plugins:[f],layers:[h],contextmenu:[h],settings:[h],controls:[(0,a._)((0,o._)({},h),{position:function(e,t,r){var n=["top","left","right"];return(0,s.errorHandle)(n.includes(e),"".concat(r.join(".")," only accept ").concat(n.toString()," as parameters"))}})],quality:[{default:"?".concat(l),html:c,url:c}],highlight:[{time:u,text:c}],thumbnails:{url:c,number:u,column:u,width:u,height:u},subtitle:{url:c,name:c,type:c,style:p,escape:l,encoding:c,onVttLoad:f},moreVideoAttr:p,i18n:p,icons:p,cssVar:p,customType:p}},{"@swc/helpers/_/_object_spread":"g42Vq","@swc/helpers/_/_object_spread_props":"cTIVI","../utils":"7esST","@parcel/transformer-js/src/esmodule-helpers.js":"hTt7M"}],g42Vq:[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(r),n.export(r,"_object_spread",function(){return a}),n.export(r,"_",function(){return a});var o=e("./_define_property.js");function a(e){for(var t=1;t\n\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
Player version:
\n
5.1.7
\n
\n
\n
Video url:
\n
\n
\n
\n
Video volume:
\n
\n
\n
\n
Video time:
\n
\n
\n
\n
Video duration:
\n
\n
\n
\n
Video resolution:
\n
\nx\n
\n
\n
\n
[x]
\n
\n
\n\n '}}]),e}()},{"@swc/helpers/_/_class_call_check":"dRqgV","@swc/helpers/_/_create_class":"8RAzW","./utils":"7esST","@parcel/transformer-js/src/esmodule-helpers.js":"hTt7M"}],d1hXD:[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(r),n.export(r,"default",function(){return c});var o=e("@swc/helpers/_/_class_call_check"),a=e("@swc/helpers/_/_create_class"),s=e("../utils"),i=e("./zh-cn"),l=n.interopDefault(i),c=function(){function e(t){(0,o._)(this,e),this.art=t,this.languages={"zh-cn":l.default},this.language={},this.update(t.option.i18n)}return(0,a._)(e,[{key:"init",value:function(){var e=this.art.option.lang.toLowerCase();this.language=this.languages[e]||{}}},{key:"get",value:function(e){return this.language[e]||e}},{key:"update",value:function(e){this.languages=(0,s.mergeDeep)(this.languages,e),this.init()}}]),e}()},{"@swc/helpers/_/_class_call_check":"dRqgV","@swc/helpers/_/_create_class":"8RAzW","../utils":"7esST","./zh-cn":"32rfy","@parcel/transformer-js/src/esmodule-helpers.js":"hTt7M"}],"32rfy":[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var n={"Video Info":"统计信息",Close:"关闭","Video Load Failed":"加载失败",Volume:"音量",Play:"播放",Pause:"暂停",Rate:"速度",Mute:"静音","Video Flip":"画面翻转",Horizontal:"水平",Vertical:"垂直",Reconnect:"重新连接","Show Setting":"显示设置","Hide Setting":"隐藏设置",Screenshot:"截图","Play Speed":"播放速度","Aspect Ratio":"画面比例",Default:"默认",Normal:"正常",Open:"打开","Switch Video":"切换","Switch Subtitle":"切换字幕",Fullscreen:"全屏","Exit Fullscreen":"退出全屏","Web Fullscreen":"网页全屏","Exit Web Fullscreen":"退出网页全屏","Mini Player":"迷你播放器","PIP Mode":"开启画中画","Exit PIP Mode":"退出画中画","PIP Not Supported":"不支持画中画","Fullscreen Not Supported":"不支持全屏","Subtitle Offset":"字幕偏移","Last Seen":"上次看到","Jump Play":"跳转播放",AirPlay:"隔空播放","AirPlay Not Available":"隔空播放不可用"};r.default=n,"undefined"!=typeof window&&(window["artplayer-i18n-zh-cn"]=n)},{"@parcel/transformer-js/src/esmodule-helpers.js":"hTt7M"}],aUXOX:[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(r),n.export(r,"default",function(){return ew});var o=e("@swc/helpers/_/_class_call_check"),a=e("./urlMix"),s=n.interopDefault(a),i=e("./attrMix"),l=n.interopDefault(i),c=e("./playMix"),u=n.interopDefault(c),p=e("./pauseMix"),f=n.interopDefault(p),d=e("./toggleMix"),h=n.interopDefault(d),m=e("./seekMix"),v=n.interopDefault(m),g=e("./volumeMix"),_=n.interopDefault(g),y=e("./currentTimeMix"),b=n.interopDefault(y),w=e("./durationMix"),x=n.interopDefault(w),j=e("./switchMix"),k=n.interopDefault(j),T=e("./playbackRateMix"),S=n.interopDefault(T),M=e("./aspectRatioMix"),I=n.interopDefault(M),E=e("./screenshotMix"),F=n.interopDefault(E),C=e("./fullscreenMix"),R=n.interopDefault(C),O=e("./fullscreenWebMix"),P=n.interopDefault(O),D=e("./pipMix"),A=n.interopDefault(D),z=e("./loadedMix"),V=n.interopDefault(z),$=e("./playedMix"),L=n.interopDefault($),q=e("./playingMix"),H=n.interopDefault(q),N=e("./autoSizeMix"),W=n.interopDefault(N),B=e("./rectMix"),U=n.interopDefault(B),Y=e("./flipMix"),K=n.interopDefault(Y),X=e("./miniMix"),G=n.interopDefault(X),J=e("./posterMix"),Z=n.interopDefault(J),Q=e("./autoHeightMix"),ee=n.interopDefault(Q),et=e("./cssVarMix"),er=n.interopDefault(et),en=e("./themeMix"),eo=n.interopDefault(en),ea=e("./typeMix"),es=n.interopDefault(ea),ei=e("./stateMix"),el=n.interopDefault(ei),ec=e("./subtitleOffsetMix"),eu=n.interopDefault(ec),ep=e("./airplayMix"),ef=n.interopDefault(ep),ed=e("./qualityMix"),eh=n.interopDefault(ed),em=e("./thumbnailsMix"),ev=n.interopDefault(em),eg=e("./optionInit"),e_=n.interopDefault(eg),ey=e("./eventInit"),eb=n.interopDefault(ey),ew=function e(t){(0,o._)(this,e),(0,s.default)(t),(0,l.default)(t),(0,u.default)(t),(0,f.default)(t),(0,h.default)(t),(0,v.default)(t),(0,_.default)(t),(0,b.default)(t),(0,x.default)(t),(0,k.default)(t),(0,S.default)(t),(0,I.default)(t),(0,F.default)(t),(0,R.default)(t),(0,P.default)(t),(0,A.default)(t),(0,V.default)(t),(0,L.default)(t),(0,H.default)(t),(0,W.default)(t),(0,U.default)(t),(0,K.default)(t),(0,G.default)(t),(0,Z.default)(t),(0,ee.default)(t),(0,er.default)(t),(0,eo.default)(t),(0,es.default)(t),(0,el.default)(t),(0,eu.default)(t),(0,ef.default)(t),(0,eh.default)(t),(0,ev.default)(t),(0,eb.default)(t),(0,e_.default)(t)}},{"@swc/helpers/_/_class_call_check":"dRqgV","./urlMix":"94qAG","./attrMix":"gbKEc","./playMix":"4YToo","./pauseMix":"jJnYm","./toggleMix":"atYsy","./seekMix":"lsslL","./volumeMix":"cSjxV","./currentTimeMix":"7NYVK","./durationMix":"fW8lt","./switchMix":"j5YX9","./playbackRateMix":"Pz0cc","./aspectRatioMix":"ef8Wu","./screenshotMix":"ca8va","./fullscreenMix":"alRzX","./fullscreenWebMix":"4er6h","./pipMix":"jBv10","./loadedMix":"hQUyr","./playedMix":"8OMWK","./playingMix":"btSPR","./autoSizeMix":"dQH4Z","./rectMix":"hPGBy","./flipMix":"aVvjy","./miniMix":"juvfl","./posterMix":"2UAdD","./autoHeightMix":"377XR","./cssVarMix":"afCNS","./themeMix":"7l7GX","./typeMix":"3Vlhc","./stateMix":"ey2W0","./subtitleOffsetMix":"kDZ8v","./airplayMix":"bXTl1","./qualityMix":"hzrnC","./thumbnailsMix":"5oRuL","./optionInit":"g9kWX","./eventInit":"lgPrh","@parcel/transformer-js/src/esmodule-helpers.js":"hTt7M"}],"94qAG":[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(r),n.export(r,"default",function(){return i});var o=e("@swc/helpers/_/_async_to_generator"),a=e("@swc/helpers/_/_ts_generator"),s=e("../utils");function i(e){var t=e.option,r=e.template.$video;(0,s.def)(e,"url",{get:function(){return r.src},set:function(n){return(0,o._)(function(){var o,i,l;return(0,a._)(this,function(a){switch(a.label){case 0:if(!n)return[3,4];if(o=e.url,i=t.type||(0,s.getExt)(n),l=t.customType[i],!(i&&l))return[3,2];return[4,(0,s.sleep)()];case 1:return a.sent(),e.loading.show=!0,l.call(e,r,n,e),[3,3];case 2:URL.revokeObjectURL(o),r.src=n,a.label=3;case 3:return o!==e.url&&(e.option.url=n,e.isReady&&o&&e.once("video:canplay",function(){e.emit("restart",n)})),[3,6];case 4:return[4,(0,s.sleep)()];case 5:a.sent(),e.loading.show=!0,a.label=6;case 6:return[2]}})})()}})}},{"@swc/helpers/_/_async_to_generator":"eFkS8","@swc/helpers/_/_ts_generator":"7FJ4U","../utils":"7esST","@parcel/transformer-js/src/esmodule-helpers.js":"hTt7M"}],eFkS8:[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");function o(e,t,r,n,o,a,s){try{var i=e[a](s),l=i.value}catch(e){r(e);return}i.done?t(l):Promise.resolve(l).then(n,o)}function a(e){return function(){var t=this,r=arguments;return new Promise(function(n,a){var s=e.apply(t,r);function i(e){o(s,n,a,i,l,"next",e)}function l(e){o(s,n,a,i,l,"throw",e)}i(void 0)})}}n.defineInteropFlag(r),n.export(r,"_async_to_generator",function(){return a}),n.export(r,"_",function(){return a})},{"@parcel/transformer-js/src/esmodule-helpers.js":"hTt7M"}],"7FJ4U":[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(r),n.export(r,"_",function(){return o.__generator}),n.export(r,"_ts_generator",function(){return o.__generator});var o=e("tslib")},{tslib:"jXHB6","@parcel/transformer-js/src/esmodule-helpers.js":"hTt7M"}],jXHB6:[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(r),n.export(r,"__extends",function(){return s}),n.export(r,"__assign",function(){return i}),n.export(r,"__rest",function(){return l}),n.export(r,"__decorate",function(){return c}),n.export(r,"__param",function(){return u}),n.export(r,"__esDecorate",function(){return p}),n.export(r,"__runInitializers",function(){return f}),n.export(r,"__propKey",function(){return d}),n.export(r,"__setFunctionName",function(){return h}),n.export(r,"__metadata",function(){return m}),n.export(r,"__awaiter",function(){return v}),n.export(r,"__generator",function(){return g}),n.export(r,"__createBinding",function(){return _}),n.export(r,"__exportStar",function(){return y}),n.export(r,"__values",function(){return b}),n.export(r,"__read",function(){return w}),n.export(r,"__spread",function(){return x}),n.export(r,"__spreadArrays",function(){return j}),n.export(r,"__spreadArray",function(){return k}),n.export(r,"__await",function(){return T}),n.export(r,"__asyncGenerator",function(){return S}),n.export(r,"__asyncDelegator",function(){return M}),n.export(r,"__asyncValues",function(){return I}),n.export(r,"__makeTemplateObject",function(){return E}),n.export(r,"__importStar",function(){return C}),n.export(r,"__importDefault",function(){return R}),n.export(r,"__classPrivateFieldGet",function(){return O}),n.export(r,"__classPrivateFieldSet",function(){return P}),n.export(r,"__classPrivateFieldIn",function(){return D}),n.export(r,"__addDisposableResource",function(){return A}),n.export(r,"__disposeResources",function(){return V});var o=e("@swc/helpers/_/_type_of"),a=function(e,t){return(a=Object.setPrototypeOf||({__proto__:[]})instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(e,t)};function s(e,t){if("function"!=typeof t&&null!==t)throw TypeError("Class extends value "+String(t)+" is not a constructor or null");function r(){this.constructor=e}a(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}var i=function(){return(i=Object.assign||function(e){for(var t,r=1,n=arguments.length;rt.indexOf(n)&&(r[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,n=Object.getOwnPropertySymbols(e);ot.indexOf(n[o])&&Object.prototype.propertyIsEnumerable.call(e,n[o])&&(r[n[o]]=e[n[o]]);return r}function c(e,t,r,n){var o,a=arguments.length,s=a<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,n);else for(var i=e.length-1;i>=0;i--)(o=e[i])&&(s=(a<3?o(s):a>3?o(t,r,s):o(t,r))||s);return a>3&&s&&Object.defineProperty(t,r,s),s}function u(e,t){return function(r,n){t(r,n,e)}}function p(e,t,r,n,o,a){function s(e){if(void 0!==e&&"function"!=typeof e)throw TypeError("Function expected");return e}for(var i,l=n.kind,c="getter"===l?"get":"setter"===l?"set":"value",u=!t&&e?n.static?e:e.prototype:null,p=t||(u?Object.getOwnPropertyDescriptor(u,n.name):{}),f=!1,d=r.length-1;d>=0;d--){var h={};for(var m in n)h[m]="access"===m?{}:n[m];for(var m in n.access)h.access[m]=n.access[m];h.addInitializer=function(e){if(f)throw TypeError("Cannot add initializers after decoration has completed");a.push(s(e||null))};var v=(0,r[d])("accessor"===l?{get:p.get,set:p.set}:p[c],h);if("accessor"===l){if(void 0===v)continue;if(null===v||"object"!=typeof v)throw TypeError("Object expected");(i=s(v.get))&&(p.get=i),(i=s(v.set))&&(p.set=i),(i=s(v.init))&&o.unshift(i)}else(i=s(v))&&("field"===l?o.unshift(i):p[c]=i)}u&&Object.defineProperty(u,n.name,p),f=!0}function f(e,t,r){for(var n=arguments.length>2,o=0;o0&&o[o.length-1])&&(6===i[0]||2===i[0])){s=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function w(e,t){var r="function"==typeof Symbol&&e[Symbol.iterator];if(!r)return e;var n,o,a=r.call(e),s=[];try{for(;(void 0===t||t-- >0)&&!(n=a.next()).done;)s.push(n.value)}catch(e){o={error:e}}finally{try{n&&!n.done&&(r=a.return)&&r.call(a)}finally{if(o)throw o.error}}return s}function x(){for(var e=[],t=0;t1||i(e,t)})},t&&(n[e]=t(n[e])))}function i(e,t){try{var r;(r=o[e](t)).value instanceof T?Promise.resolve(r.value.v).then(l,c):u(a[0][2],r)}catch(e){u(a[0][3],e)}}function l(e){i("next",e)}function c(e){i("throw",e)}function u(e,t){e(t),a.shift(),a.length&&i(a[0][0],a[0][1])}}function M(e){var t,r;return t={},n("next"),n("throw",function(e){throw e}),n("return"),t[Symbol.iterator]=function(){return this},t;function n(n,o){t[n]=e[n]?function(t){return(r=!r)?{value:T(e[n](t)),done:!1}:o?o(t):t}:o}}function I(e){if(!Symbol.asyncIterator)throw TypeError("Symbol.asyncIterator is not defined.");var t,r=e[Symbol.asyncIterator];return r?r.call(e):(e=b(e),t={},n("next"),n("throw"),n("return"),t[Symbol.asyncIterator]=function(){return this},t);function n(r){t[r]=e[r]&&function(t){return new Promise(function(n,o){!function(e,t,r,n){Promise.resolve(n).then(function(t){e({value:t,done:r})},t)}(n,o,(t=e[r](t)).done,t.value)})}}}function E(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e}var F=Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t};function C(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&_(t,e,r);return F(t,e),t}function R(e){return e&&e.__esModule?e:{default:e}}function O(e,t,r,n){if("a"===r&&!n)throw TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!n:!t.has(e))throw TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?n:"a"===r?n.call(e):n?n.value:t.get(e)}function P(e,t,r,n,o){if("m"===n)throw TypeError("Private method is not writable");if("a"===n&&!o)throw TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!o:!t.has(e))throw TypeError("Cannot write private member to an object whose class did not declare it");return"a"===n?o.call(e,r):o?o.value=r:t.set(e,r),r}function D(e,t){if(null===t||"object"!=typeof t&&"function"!=typeof t)throw TypeError("Cannot use 'in' operator on non-object");return"function"==typeof e?t===e:e.has(t)}function A(e,t,r){if(null!=t){var n,o;if("object"!=typeof t&&"function"!=typeof t)throw TypeError("Object expected.");if(r){if(!Symbol.asyncDispose)throw TypeError("Symbol.asyncDispose is not defined.");n=t[Symbol.asyncDispose]}if(void 0===n){if(!Symbol.dispose)throw TypeError("Symbol.dispose is not defined.");n=t[Symbol.dispose],r&&(o=n)}if("function"!=typeof n)throw TypeError("Object not disposable.");o&&(n=function(){try{o.call(this)}catch(e){return Promise.reject(e)}}),e.stack.push({value:t,dispose:n,async:r})}else r&&e.stack.push({async:!0});return t}var z="function"==typeof SuppressedError?SuppressedError:function(e,t,r){var n=Error(r);return n.name="SuppressedError",n.error=e,n.suppressed=t,n};function V(e){function t(t){e.error=e.hasError?new z(t,e.error,"An error was suppressed during disposal."):t,e.hasError=!0}return function r(){for(;e.stack.length;){var n=e.stack.pop();try{var o=n.dispose&&n.dispose.call(n.value);if(n.async)return Promise.resolve(o).then(r,function(e){return t(e),r()})}catch(e){t(e)}}if(e.hasError)throw e.error}()}r.default={__extends:s,__assign:i,__rest:l,__decorate:c,__param:u,__metadata:m,__awaiter:v,__generator:g,__createBinding:_,__exportStar:y,__values:b,__read:w,__spread:x,__spreadArrays:j,__spreadArray:k,__await:T,__asyncGenerator:S,__asyncDelegator:M,__asyncValues:I,__makeTemplateObject:E,__importStar:C,__importDefault:R,__classPrivateFieldGet:O,__classPrivateFieldSet:P,__classPrivateFieldIn:D,__addDisposableResource:A,__disposeResources:V}},{"@swc/helpers/_/_type_of":"l4kpM","@parcel/transformer-js/src/esmodule-helpers.js":"hTt7M"}],gbKEc:[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(r),n.export(r,"default",function(){return a});var o=e("../utils");function a(e){var t=e.template.$video;(0,o.def)(e,"attr",{value:function(e,r){if(void 0===r)return t[e];t[e]=r}})}},{"../utils":"7esST","@parcel/transformer-js/src/esmodule-helpers.js":"hTt7M"}],"4YToo":[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(r),n.export(r,"default",function(){return i});var o=e("@swc/helpers/_/_async_to_generator"),a=e("@swc/helpers/_/_ts_generator"),s=e("../utils");function i(e){var t=e.i18n,r=e.notice,n=e.option,i=e.constructor.instances,l=e.template.$video;(0,s.def)(e,"play",{value:(0,o._)(function(){var o,s,c;return(0,a._)(this,function(a){switch(a.label){case 0:return[4,l.play()];case 1:if(o=a.sent(),r.show=t.get("Play"),e.emit("play"),n.mutex)for(s=0;su?((0,o.setStyle)(a,"width","".concat(u*c,"px")),(0,o.setStyle)(a,"height","100%"),(0,o.setStyle)(a,"margin","0 auto")):((0,o.setStyle)(a,"width","100%"),(0,o.setStyle)(a,"height","".concat(l/u,"px")),(0,o.setStyle)(a,"margin","auto 0")),s.dataset.aspectRatio=n}r.show="".concat(t.get("Aspect Ratio"),": ").concat("default"===n?t.get("Default"):n),e.emit("aspectRatio",n)}})}},{"../utils":"7esST","@parcel/transformer-js/src/esmodule-helpers.js":"hTt7M"}],ca8va:[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(r),n.export(r,"default",function(){return i});var o=e("@swc/helpers/_/_async_to_generator"),a=e("@swc/helpers/_/_ts_generator"),s=e("../utils");function i(e){var t,r=e.notice,n=e.template.$video,i=(0,s.createElement)("canvas");(0,s.def)(e,"getDataURL",{value:function(){return new Promise(function(e,t){try{i.width=n.videoWidth,i.height=n.videoHeight,i.getContext("2d").drawImage(n,0,0),e(i.toDataURL("image/png"))}catch(e){r.show=e,t(e)}})}}),(0,s.def)(e,"getBlobUrl",{value:function(){return new Promise(function(e,t){try{i.width=n.videoWidth,i.height=n.videoHeight,i.getContext("2d").drawImage(n,0,0),i.toBlob(function(t){e(URL.createObjectURL(t))})}catch(e){r.show=e,t(e)}})}}),(0,s.def)(e,"screenshot",{value:(t=(0,o._)(function(t){var r,o;return(0,a._)(this,function(a){switch(a.label){case 0:return[4,e.getDataURL()];case 1:return r=a.sent(),o=t||"artplayer_".concat((0,s.secondToTime)(n.currentTime)),(0,s.download)(r,"".concat(o,".png")),e.emit("screenshot",r),[2,r]}})}),function(e){return t.apply(this,arguments)})})}},{"@swc/helpers/_/_async_to_generator":"eFkS8","@swc/helpers/_/_ts_generator":"7FJ4U","../utils":"7esST","@parcel/transformer-js/src/esmodule-helpers.js":"hTt7M"}],alRzX:[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(r),n.export(r,"default",function(){return c});var o=e("@swc/helpers/_/_async_to_generator"),a=e("@swc/helpers/_/_ts_generator"),s=e("../libs/screenfull"),i=n.interopDefault(s),l=e("../utils");function c(e){var t=e.i18n,r=e.notice,n=e.template,s=n.$video,c=n.$player,u=function(e){(0,i.default).on("change",function(){e.emit("fullscreen",i.default.isFullscreen)}),(0,i.default).on("error",function(t){e.emit("fullscreenError",t)}),(0,l.def)(e,"fullscreen",{get:function(){return i.default.isFullscreen},set:function(t){return(0,o._)(function(){return(0,a._)(this,function(r){switch(r.label){case 0:if(!t)return[3,2];return e.state="fullscreen",[4,(0,i.default).request(c)];case 1:return r.sent(),(0,l.addClass)(c,"art-fullscreen"),[3,4];case 2:return[4,(0,i.default).exit()];case 3:r.sent(),(0,l.removeClass)(c,"art-fullscreen"),r.label=4;case 4:return e.emit("resize"),[2]}})})()}})},p=function(e){e.proxy(document,"webkitfullscreenchange",function(){e.emit("fullscreen",e.fullscreen),e.emit("resize")}),(0,l.def)(e,"fullscreen",{get:function(){return document.fullscreenElement===s},set:function(t){t?(e.state="fullscreen",s.webkitEnterFullscreen()):s.webkitExitFullscreen()}})};e.once("video:loadedmetadata",function(){i.default.isEnabled?u(e):s.webkitSupportsFullscreen?p(e):(0,l.def)(e,"fullscreen",{get:function(){return!1},set:function(){r.show=t.get("Fullscreen Not Supported")}}),(0,l.def)(e,"fullscreen",(0,l.get)(e,"fullscreen"))})}},{"@swc/helpers/_/_async_to_generator":"eFkS8","@swc/helpers/_/_ts_generator":"7FJ4U","../libs/screenfull":"4g0Hw","../utils":"7esST","@parcel/transformer-js/src/esmodule-helpers.js":"hTt7M"}],"4g0Hw":[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var n=e("@swc/helpers/_/_sliced_to_array"),o=[["requestFullscreen","exitFullscreen","fullscreenElement","fullscreenEnabled","fullscreenchange","fullscreenerror"],["webkitRequestFullscreen","webkitExitFullscreen","webkitFullscreenElement","webkitFullscreenEnabled","webkitfullscreenchange","webkitfullscreenerror"],["webkitRequestFullScreen","webkitCancelFullScreen","webkitCurrentFullScreenElement","webkitCancelFullScreen","webkitfullscreenchange","webkitfullscreenerror"],["mozRequestFullScreen","mozCancelFullScreen","mozFullScreenElement","mozFullScreenEnabled","mozfullscreenchange","mozfullscreenerror"],["msRequestFullscreen","msExitFullscreen","msFullscreenElement","msFullscreenEnabled","MSFullscreenChange","MSFullscreenError"]],a=function(){if("undefined"==typeof document)return!1;var e=o[0],t={},r=!0,a=!1,s=void 0;try{for(var i,l=o[Symbol.iterator]();!(r=(i=l.next()).done);r=!0){var c=i.value;if(c[1]in document){var u=!0,p=!1,f=void 0;try{for(var d,h=c.entries()[Symbol.iterator]();!(u=(d=h.next()).done);u=!0){var m=(0,n._)(d.value,2),v=m[0],g=m[1];t[e[v]]=g}}catch(e){p=!0,f=e}finally{try{u||null==h.return||h.return()}finally{if(p)throw f}}return t}}}catch(e){a=!0,s=e}finally{try{r||null==l.return||l.return()}finally{if(a)throw s}}return!1}(),s={change:a.fullscreenchange,error:a.fullscreenerror},i={request:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:document.documentElement,t=arguments.length>1?arguments[1]:void 0;return new Promise(function(r,n){var o=function(){i.off("change",o),r()};i.on("change",o);var s=e[a.requestFullscreen](t);s instanceof Promise&&s.then(o).catch(n)})},exit:function(){return new Promise(function(e,t){if(!i.isFullscreen){e();return}var r=function(){i.off("change",r),e()};i.on("change",r);var n=document[a.exitFullscreen]();n instanceof Promise&&n.then(r).catch(t)})},toggle:function(e,t){return i.isFullscreen?i.exit():i.request(e,t)},onchange:function(e){i.on("change",e)},onerror:function(e){i.on("error",e)},on:function(e,t){var r=s[e];r&&document.addEventListener(r,t,!1)},off:function(e,t){var r=s[e];r&&document.removeEventListener(r,t,!1)},raw:a};Object.defineProperties(i,{isFullscreen:{get:function(){return!!document[a.fullscreenElement]}},element:{enumerable:!0,get:function(){return document[a.fullscreenElement]}},isEnabled:{enumerable:!0,get:function(){return!!document[a.fullscreenEnabled]}}}),a||(i={isEnabled:!1}),r.default=i},{"@swc/helpers/_/_sliced_to_array":"8wTBg","@parcel/transformer-js/src/esmodule-helpers.js":"hTt7M"}],"8wTBg":[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(r),n.export(r,"_sliced_to_array",function(){return l}),n.export(r,"_",function(){return l});var o=e("./_array_with_holes.js"),a=e("./_iterable_to_array_limit.js"),s=e("./_non_iterable_rest.js"),i=e("./_unsupported_iterable_to_array.js");function l(e,t){return(0,o._array_with_holes)(e)||(0,a._iterable_to_array_limit)(e,t)||(0,i._unsupported_iterable_to_array)(e,t)||(0,s._non_iterable_rest)()}},{"./_array_with_holes.js":"4ct5h","./_iterable_to_array_limit.js":"eV4uK","./_non_iterable_rest.js":"bXqZd","./_unsupported_iterable_to_array.js":"2OTAn","@parcel/transformer-js/src/esmodule-helpers.js":"hTt7M"}],"4ct5h":[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");function o(e){if(Array.isArray(e))return e}n.defineInteropFlag(r),n.export(r,"_array_with_holes",function(){return o}),n.export(r,"_",function(){return o})},{"@parcel/transformer-js/src/esmodule-helpers.js":"hTt7M"}],eV4uK:[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");function o(e,t){var r,n,o=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var a=[],s=!0,i=!1;try{for(o=o.call(e);!(s=(r=o.next()).done)&&(a.push(r.value),!t||a.length!==t);s=!0);}catch(e){i=!0,n=e}finally{try{s||null==o.return||o.return()}finally{if(i)throw n}}return a}}n.defineInteropFlag(r),n.export(r,"_iterable_to_array_limit",function(){return o}),n.export(r,"_",function(){return o})},{"@parcel/transformer-js/src/esmodule-helpers.js":"hTt7M"}],bXqZd:[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");function o(){throw TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}n.defineInteropFlag(r),n.export(r,"_non_iterable_rest",function(){return o}),n.export(r,"_",function(){return o})},{"@parcel/transformer-js/src/esmodule-helpers.js":"hTt7M"}],"4er6h":[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(r),n.export(r,"default",function(){return a});var o=e("../utils");function a(e){var t=e.constructor,r=e.template,n=r.$container,a=r.$player,s="";(0,o.def)(e,"fullscreenWeb",{get:function(){return(0,o.hasClass)(a,"art-fullscreen-web")},set:function(r){r?(s=a.style.cssText,t.FULLSCREEN_WEB_IN_BODY&&(0,o.append)(document.body,a),e.state="fullscreenWeb",(0,o.setStyle)(a,"width","100%"),(0,o.setStyle)(a,"height","100%"),(0,o.addClass)(a,"art-fullscreen-web"),e.emit("fullscreenWeb",!0)):(t.FULLSCREEN_WEB_IN_BODY&&(0,o.append)(n,a),s&&(a.style.cssText=s,s=""),(0,o.removeClass)(a,"art-fullscreen-web"),e.emit("fullscreenWeb",!1)),e.emit("resize")}})}},{"../utils":"7esST","@parcel/transformer-js/src/esmodule-helpers.js":"hTt7M"}],jBv10:[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(r),n.export(r,"default",function(){return a});var o=e("../utils");function a(e){var t,r,n,a,s=e.i18n,i=e.notice,l=e.template.$video;document.pictureInPictureEnabled?(t=e.template.$video,r=e.proxy,n=e.notice,t.disablePictureInPicture=!1,(0,o.def)(e,"pip",{get:function(){return document.pictureInPictureElement},set:function(r){r?(e.state="pip",t.requestPictureInPicture().catch(function(e){throw n.show=e,e})):document.exitPictureInPicture().catch(function(e){throw n.show=e,e})}}),r(t,"enterpictureinpicture",function(){e.emit("pip",!0)}),r(t,"leavepictureinpicture",function(){e.emit("pip",!1)})):l.webkitSupportsPresentationMode?((a=e.template.$video).webkitSetPresentationMode("inline"),(0,o.def)(e,"pip",{get:function(){return"picture-in-picture"===a.webkitPresentationMode},set:function(t){t?(e.state="pip",a.webkitSetPresentationMode("picture-in-picture"),e.emit("pip",!0)):(a.webkitSetPresentationMode("inline"),e.emit("pip",!1))}})):(0,o.def)(e,"pip",{get:function(){return!1},set:function(){i.show=s.get("PIP Not Supported")}})}},{"../utils":"7esST","@parcel/transformer-js/src/esmodule-helpers.js":"hTt7M"}],hQUyr:[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(r),n.export(r,"default",function(){return a});var o=e("../utils");function a(e){var t=e.template.$video;(0,o.def)(e,"loaded",{get:function(){return e.loadedTime/t.duration}}),(0,o.def)(e,"loadedTime",{get:function(){return t.buffered.length?t.buffered.end(t.buffered.length-1):0}})}},{"../utils":"7esST","@parcel/transformer-js/src/esmodule-helpers.js":"hTt7M"}],"8OMWK":[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(r),n.export(r,"default",function(){return a});var o=e("../utils");function a(e){(0,o.def)(e,"played",{get:function(){return e.currentTime/e.duration}})}},{"../utils":"7esST","@parcel/transformer-js/src/esmodule-helpers.js":"hTt7M"}],btSPR:[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(r),n.export(r,"default",function(){return a});var o=e("../utils");function a(e){var t=e.template.$video;(0,o.def)(e,"playing",{get:function(){return!!(t.currentTime>0&&!t.paused&&!t.ended&&t.readyState>2)}})}},{"../utils":"7esST","@parcel/transformer-js/src/esmodule-helpers.js":"hTt7M"}],dQH4Z:[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(r),n.export(r,"default",function(){return a});var o=e("../utils");function a(e){var t=e.template,r=t.$container,n=t.$player,a=t.$video;(0,o.def)(e,"autoSize",{value:function(){var t=a.videoWidth,s=a.videoHeight,i=(0,o.getRect)(r),l=i.width,c=i.height,u=t/s;l/c>u?((0,o.setStyle)(n,"width","".concat(c*u/l*100,"%")),(0,o.setStyle)(n,"height","100%")):((0,o.setStyle)(n,"width","100%"),(0,o.setStyle)(n,"height","".concat(l/u/c*100,"%"))),e.emit("autoSize",{width:e.width,height:e.height})}})}},{"../utils":"7esST","@parcel/transformer-js/src/esmodule-helpers.js":"hTt7M"}],hPGBy:[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(r),n.export(r,"default",function(){return a});var o=e("../utils");function a(e){(0,o.def)(e,"rect",{get:function(){return(0,o.getRect)(e.template.$player)}});for(var t=["bottom","height","left","right","top","width"],r=0;r');(0,o.append)(d,t.close),r(d,"click",p);var h=(0,o.append)(s,'
'),m=(0,o.append)(h,t.play),v=(0,o.append)(h,t.pause);return r(m,"click",function(){return e.play()}),r(v,"click",function(){return e.pause()}),f(m,v),e.on("video:playing",function(){return f(m,v)}),e.on("video:pause",function(){return f(m,v)}),e.on("video:timeupdate",function(){return f(m,v)}),r(s,"mousedown",function(e){l=0===e.button,c=e.pageX,u=e.pageY}),e.on("document:mousemove",function(e){if(l){(0,o.addClass)(s,"art-mini-droging");var t=e.pageX-c,r=e.pageY-u;(0,o.setStyle)(s,"transform","translate(".concat(t,"px, ").concat(r,"px)"))}}),e.on("document:mouseup",function(){if(l){l=!1,(0,o.removeClass)(s,"art-mini-droging");var e=(0,o.getRect)(s);n.set("left",e.left),n.set("top",e.top),(0,o.setStyle)(s,"left","".concat(e.left,"px")),(0,o.setStyle)(s,"top","".concat(e.top,"px")),(0,o.setStyle)(s,"transform",null)}}),s}(),m=n.get("top"),v=n.get("left");m&&v?((0,o.setStyle)(h,"top","".concat(m,"px")),(0,o.setStyle)(h,"left","".concat(v,"px")),(0,o.isInViewport)(h)||d()):d(),e.emit("mini",!0)}else p()}})}},{"../utils":"7esST","@parcel/transformer-js/src/esmodule-helpers.js":"hTt7M"}],"2UAdD":[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(r),n.export(r,"default",function(){return a});var o=e("../utils");function a(e){var t=e.template.$poster;(0,o.def)(e,"poster",{get:function(){try{return t.style.backgroundImage.match(/"(.*)"/)[1]}catch(e){return""}},set:function(e){(0,o.setStyle)(t,"backgroundImage","url(".concat(e,")"))}})}},{"../utils":"7esST","@parcel/transformer-js/src/esmodule-helpers.js":"hTt7M"}],"377XR":[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(r),n.export(r,"default",function(){return a});var o=e("../utils");function a(e){var t=e.template,r=t.$container,n=t.$video;(0,o.def)(e,"autoHeight",{value:function(){var t=r.clientWidth,a=n.videoHeight,s=t/n.videoWidth*a;(0,o.setStyle)(r,"height",s+"px"),e.emit("autoHeight",s)}})}},{"../utils":"7esST","@parcel/transformer-js/src/esmodule-helpers.js":"hTt7M"}],afCNS:[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(r),n.export(r,"default",function(){return a});var o=e("../utils");function a(e){var t=e.template.$player;(0,o.def)(e,"cssVar",{value:function(e,r){return r?t.style.setProperty(e,r):getComputedStyle(t).getPropertyValue(e)}})}},{"../utils":"7esST","@parcel/transformer-js/src/esmodule-helpers.js":"hTt7M"}],"7l7GX":[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(r),n.export(r,"default",function(){return a});var o=e("../utils");function a(e){(0,o.def)(e,"theme",{get:function(){return e.cssVar("--art-theme")},set:function(t){e.cssVar("--art-theme",t)}})}},{"../utils":"7esST","@parcel/transformer-js/src/esmodule-helpers.js":"hTt7M"}],"3Vlhc":[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(r),n.export(r,"default",function(){return a});var o=e("../utils");function a(e){(0,o.def)(e,"type",{get:function(){return e.option.type},set:function(t){e.option.type=t}})}},{"../utils":"7esST","@parcel/transformer-js/src/esmodule-helpers.js":"hTt7M"}],ey2W0:[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(r),n.export(r,"default",function(){return a});var o=e("../utils");function a(e){var t=["mini","pip","fullscreen","fullscreenWeb"];(0,o.def)(e,"state",{get:function(){return t.find(function(t){return e[t]})||"standard"},set:function(r){for(var n=0;n0&&_l.clientWidth-m/2?(0,s.setStyle)(o,"left","".concat(l.clientWidth-m,"px")):(0,s.setStyle)(o,"left","".concat(t-m/2,"px"))}}(_):s.isMobile||(0,s.setStyle)(m,"display","none"),g&&(clearTimeout(u),u=setTimeout(function(){(0,s.setStyle)(m,"display","none")},500)),a.label=3;case 3:return[2]}})}),function(e,r,n){return t.apply(this,arguments)})),(0,s.def)(e,"thumbnails",{get:function(){return e.option.thumbnails},set:function(t){t.url&&!e.option.isLive&&(e.option.thumbnails=t,clearTimeout(u),u=null,p=null,f=!1,d=!1)}})}},{"@swc/helpers/_/_async_to_generator":"eFkS8","@swc/helpers/_/_ts_generator":"7FJ4U","../utils":"7esST","@parcel/transformer-js/src/esmodule-helpers.js":"hTt7M"}],g9kWX:[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(r),n.export(r,"default",function(){return a});var o=e("../utils");function a(e){var t=e.option,r=e.storage,n=e.template,a=n.$video,s=n.$poster;for(var i in t.moreVideoAttr)e.attr(i,t.moreVideoAttr[i]);t.muted&&(e.muted=t.muted),t.volume&&(a.volume=(0,o.clamp)(t.volume,0,1));var l=r.get("volume");for(var c in"number"==typeof l&&(a.volume=(0,o.clamp)(l,0,1)),t.poster&&(0,o.setStyle)(s,"backgroundImage","url(".concat(t.poster,")")),t.autoplay&&(a.autoplay=t.autoplay),t.playsInline&&(a.playsInline=!0,a["webkit-playsinline"]=!0),t.theme&&(t.cssVar["--art-theme"]=t.theme),t.cssVar)e.cssVar(c,t.cssVar[c]);e.url=t.url}},{"../utils":"7esST","@parcel/transformer-js/src/esmodule-helpers.js":"hTt7M"}],lgPrh:[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(r),n.export(r,"default",function(){return c});var o=e("@swc/helpers/_/_async_to_generator"),a=e("@swc/helpers/_/_ts_generator"),s=e("../config"),i=n.interopDefault(s),l=e("../utils");function c(e){for(var t,r=e.i18n,n=e.notice,s=e.option,c=e.constructor,u=e.proxy,p=e.template,f=p.$player,d=p.$video,h=p.$poster,m=0,v=0;v=a.CONTROL_HIDE_TIME&&(n.show=!1)}),e.on("control",function(e){e?((0,u.removeClass)(i,"art-hide-cursor"),(0,u.addClass)(i,"art-hover"),n.timer=Date.now()):((0,u.addClass)(i,"art-hide-cursor"),(0,u.removeClass)(i,"art-hover"))}),n.init(),n}return(0,a._)(r,[{key:"init",value:function(){var e=this,t=this.art.option;t.isLive||this.add((0,x.default)({name:"progress",position:"top",index:10})),this.add({name:"thumbnails",position:"top",index:20}),this.add((0,b.default)({name:"playAndPause",position:"left",index:10})),this.add((0,S.default)({name:"volume",position:"left",index:20})),t.isLive||this.add((0,k.default)({name:"time",position:"left",index:30})),t.quality.length&&(0,u.sleep)().then(function(){e.art.quality=t.quality}),t.screenshot&&!u.isMobile&&this.add((0,F.default)({name:"screenshot",position:"right",index:20})),t.setting&&this.add((0,I.default)({name:"setting",position:"right",index:30})),t.pip&&this.add((0,_.default)({name:"pip",position:"right",index:40})),t.airplay&&window.WebKitPlaybackTargetAvailabilityEvent&&this.add((0,R.default)({name:"airplay",position:"right",index:50})),t.fullscreenWeb&&this.add((0,v.default)({name:"fullscreenWeb",position:"right",index:60})),t.fullscreen&&this.add((0,h.default)({name:"fullscreen",position:"right",index:70}));for(var r=0;r=Number(a.dataset.index)});i?i.insertAdjacentElement("beforebegin",a):(0,l.append)(this.$parent,a),r.html&&(0,l.append)(a,r.html),r.style&&(0,l.setStyles)(a,r.style),r.tooltip&&(0,l.tooltip)(a,r.tooltip);var c=[];if(r.click){var p=this.art.events.proxy(a,"click",function(e){e.preventDefault(),r.click.call(t.art,t,e)});c.push(p)}return r.selector&&["left","right"].includes(r.position)&&this.addSelector(r,a,c),this[n]=a,this.cache.set(n,{$ref:a,events:c,option:r}),r.mounted&&r.mounted.call(this.art,a),a}}},{key:"addSelector",value:function(e,t,r){var n,a=this.art.events,s=a.hover,u=a.proxy;(0,l.addClass)(t,"art-control-selector");var p=(0,l.createElement)("div");(0,l.addClass)(p,"art-selector-value"),(0,l.append)(p,e.html),t.innerText="",(0,l.append)(t,p);var f=e.selector.map(function(e,t){return'
').concat(e.html,"
")}).join(""),d=(0,l.createElement)("div");(0,l.addClass)(d,"art-selector-list"),(0,l.append)(d,f),(0,l.append)(t,d);var h=function(){var e=(0,l.getStyle)(t,"width"),r=(0,l.getStyle)(d,"width");d.style.left="".concat(e/2-r/2,"px")};s(t,h);var m=this,v=u(d,"click",(n=(0,o._)(function(t){var r,n,o,a;return(0,i._)(this,function(s){switch(s.label){case 0:if(!(r=(t.composedPath()||[]).find(function(e){return(0,l.hasClass)(e,"art-selector-item")})))return[2];if((0,l.inverseClass)(r,"art-current"),n=Number(r.dataset.index),o=e.selector[n]||{},p.innerText=r.innerText,!e.onSelect)return[3,2];return[4,e.onSelect.call(m.art,o,r,t)];case 1:a=s.sent(),(0,c.isStringOrNumber)(a)&&(p.innerHTML=a),s.label=2;case 2:return h(),[2]}})}),function(e){return n.apply(this,arguments)}));r.push(v)}},{key:"remove",value:function(e){var t=this.cache.get(e);(0,u.errorHandle)(t,"Can't find [".concat(e,"] from the [").concat(this.name,"]")),t.option.beforeUnmount&&t.option.beforeUnmount.call(this.art,t.$ref);for(var r=0;r\n
\n
\n
\n
\n
\n
\n\n ',mounted:function(e){var o=null,a=!1,u=(0,s.query)(".art-progress-hover",e),p=(0,s.query)(".art-progress-loaded",e),f=(0,s.query)(".art-progress-played",e),d=(0,s.query)(".art-progress-highlight",e),h=(0,s.query)(".art-progress-indicator",e),m=(0,s.query)(".art-progress-tip",e);function v(r,n){var o=n||i(t,r),a=o.width,l=o.time;m.innerText=l;var c=m.clientWidth;a<=c/2?(0,s.setStyle)(m,"left",0):a>e.clientWidth-c/2?(0,s.setStyle)(m,"left","".concat(e.clientWidth-c,"px")):(0,s.setStyle)(m,"left","".concat(a-c/2,"px"))}r.indicator?(0,s.append)(h,r.indicator):(0,s.setStyle)(h,"backgroundColor","var(--art-theme)"),t.on("setBar",function(r,n,a){var i="played"===r&&a&&s.isMobile;"loaded"===r&&(0,s.setStyle)(p,"width","".concat(100*n,"%")),"hover"===r&&(0,s.setStyle)(u,"width","".concat(100*n,"%")),"played"===r&&((0,s.setStyle)(f,"width","".concat(100*n,"%")),(0,s.setStyle)(h,"left","".concat(100*n,"%"))),i&&((0,s.setStyle)(m,"display","flex"),v(a,{width:e.clientWidth*n,time:(0,s.secondToTime)(n*t.duration)}),clearTimeout(o),o=setTimeout(function(){(0,s.setStyle)(m,"display","none")},500))}),t.on("video:loadedmetadata",function(){d.innerText="";for(var e=0;e');(0,s.append)(d,a)}}),t.on("video:progress",function(){t.emit("setBar","loaded",t.loaded)}),t.constructor.USE_RAF?t.on("raf",function(){t.emit("setBar","played",t.played)}):t.on("video:timeupdate",function(){t.emit("setBar","played",t.played)}),t.on("video:ended",function(){t.emit("setBar","played",1)}),t.emit("setBar","loaded",t.loaded||0),s.isMobile||(c(e,"click",function(e){e.target!==h&&l(t,e)}),c(e,"mousemove",function(r){var n,o,a,l=i(t,r).percentage;(t.emit("setBar","hover",l,r),(0,s.setStyle)(m,"display","flex"),(0,s.includeFromEvent)(r,d))?(n=i(t,r).width,o=r.target.dataset.text,m.innerText=o,n<=(a=m.clientWidth)/2?(0,s.setStyle)(m,"left",0):n>e.clientWidth-a/2?(0,s.setStyle)(m,"left","".concat(e.clientWidth-a,"px")):(0,s.setStyle)(m,"left","".concat(n-a/2,"px"))):v(r)}),c(e,"mouseleave",function(e){(0,s.setStyle)(m,"display","none"),t.emit("setBar","hover",0,e)}),c(e,"mousedown",function(e){a=0===e.button}),t.on("document:mousemove",function(e){if(a){var r=i(t,e),n=r.second,o=r.percentage;t.emit("setBar","played",o,e),t.seek=n}}),t.on("document:mouseup",function(){a&&(a=!1)}))}})}}},{"@swc/helpers/_/_object_spread":"g42Vq","@swc/helpers/_/_object_spread_props":"cTIVI","../utils":"7esST","@parcel/transformer-js/src/esmodule-helpers.js":"hTt7M"}],i5g4S:[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(r),n.export(r,"default",function(){return i});var o=e("@swc/helpers/_/_object_spread"),a=e("@swc/helpers/_/_object_spread_props"),s=e("../utils");function i(e){return function(t){return(0,a._)((0,o._)({},e),{style:s.isMobile?{fontSize:"12px",padding:"0 5px"}:{cursor:"auto",padding:"0 10px"},mounted:function(e){function r(){var r="".concat((0,s.secondToTime)(t.currentTime)," / ").concat((0,s.secondToTime)(t.duration));r!==e.innerText&&(e.innerText=r)}r();for(var n=["video:loadedmetadata","video:timeupdate","video:progress"],o=0;o'),l=(0,s.append)(i,'
'),c=(0,s.append)(l,'
'),u=(0,s.append)(l,'
'),p=(0,s.append)(u,'
'),f=(0,s.append)(p,'
'),d=(0,s.append)(u,'
');function h(e){var t=(0,s.getRect)(u),r=t.top,n=t.height;return 1-(e.clientY-r)/n}function m(){if(t.muted||0===t.volume)(0,s.setStyle)(o,"display","none"),(0,s.setStyle)(a,"display","flex"),(0,s.setStyle)(d,"top","100%"),(0,s.setStyle)(f,"top","100%"),c.innerText=0;else{var e=100*t.volume;(0,s.setStyle)(o,"display","flex"),(0,s.setStyle)(a,"display","none"),(0,s.setStyle)(d,"top","".concat(100-e,"%")),(0,s.setStyle)(f,"top","".concat(100-e,"%")),c.innerText=Math.floor(e)}}if(m(),t.on("video:volumechange",m),r(o,"click",function(){t.muted=!0}),r(a,"click",function(){t.muted=!1}),s.isMobile)(0,s.setStyle)(i,"display","none");else{var v=!1;r(u,"mousedown",function(e){v=0===e.button,t.volume=h(e)}),t.on("document:mousemove",function(e){v&&(t.muted=!1,t.volume=h(e))}),t.on("document:mouseup",function(){v&&(v=!1)})}}})}}},{"@swc/helpers/_/_object_spread":"g42Vq","@swc/helpers/_/_object_spread_props":"cTIVI","../utils":"7esST","@parcel/transformer-js/src/esmodule-helpers.js":"hTt7M"}],k1U7y:[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(r),n.export(r,"default",function(){return i});var o=e("@swc/helpers/_/_object_spread"),a=e("@swc/helpers/_/_object_spread_props"),s=e("../utils");function i(e){return function(t){return(0,a._)((0,o._)({},e),{tooltip:t.i18n.get("Show Setting"),mounted:function(e){var r=t.proxy,n=t.icons,o=t.i18n;(0,s.append)(e,n.setting),r(e,"click",function(){t.setting.toggle(),t.setting.updateStyle()}),t.on("setting",function(t){(0,s.tooltip)(e,o.get(t?"Hide Setting":"Show Setting"))})}})}}},{"@swc/helpers/_/_object_spread":"g42Vq","@swc/helpers/_/_object_spread_props":"cTIVI","../utils":"7esST","@parcel/transformer-js/src/esmodule-helpers.js":"hTt7M"}],eocyV:[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(r),n.export(r,"default",function(){return i});var o=e("@swc/helpers/_/_object_spread"),a=e("@swc/helpers/_/_object_spread_props"),s=e("../utils");function i(e){return function(t){return(0,a._)((0,o._)({},e),{tooltip:t.i18n.get("Screenshot"),mounted:function(e){var r=t.proxy,n=t.icons;(0,s.append)(e,n.screenshot),r(e,"click",function(){t.screenshot()})}})}}},{"@swc/helpers/_/_object_spread":"g42Vq","@swc/helpers/_/_object_spread_props":"cTIVI","../utils":"7esST","@parcel/transformer-js/src/esmodule-helpers.js":"hTt7M"}],Dlr2L:[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(r),n.export(r,"default",function(){return i});var o=e("@swc/helpers/_/_object_spread"),a=e("@swc/helpers/_/_object_spread_props"),s=e("../utils");function i(e){return function(t){return(0,a._)((0,o._)({},e),{tooltip:t.i18n.get("AirPlay"),mounted:function(e){var r=t.proxy,n=t.icons;(0,s.append)(e,n.airplay),r(e,"click",function(){return t.airplay()})}})}}},{"@swc/helpers/_/_object_spread":"g42Vq","@swc/helpers/_/_object_spread_props":"cTIVI","../utils":"7esST","@parcel/transformer-js/src/esmodule-helpers.js":"hTt7M"}],aH04y:[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(r),n.export(r,"default",function(){return j});var o=e("@swc/helpers/_/_class_call_check"),a=e("@swc/helpers/_/_create_class"),s=e("@swc/helpers/_/_inherits"),i=e("@swc/helpers/_/_create_super"),l=e("../utils"),c=e("../utils/component"),u=n.interopDefault(c),p=e("./playbackRate"),f=n.interopDefault(p),d=e("./aspectRatio"),h=n.interopDefault(d),m=e("./flip"),v=n.interopDefault(m),g=e("./info"),_=n.interopDefault(g),y=e("./version"),b=n.interopDefault(y),w=e("./close"),x=n.interopDefault(w),j=function(e){(0,s._)(r,e);var t=(0,i._)(r);function r(e){var n;return(0,o._)(this,r),(n=t.call(this,e)).name="contextmenu",n.$parent=e.template.$contextmenu,l.isMobile||n.init(),n}return(0,a._)(r,[{key:"init",value:function(){var e=this,t=this.art,r=t.option,n=t.proxy,o=t.template,a=o.$player,s=o.$contextmenu;r.playbackRate&&this.add((0,f.default)({name:"playbackRate",index:10})),r.aspectRatio&&this.add((0,h.default)({name:"aspectRatio",index:20})),r.flip&&this.add((0,v.default)({name:"flip",index:30})),this.add((0,_.default)({name:"info",index:40})),this.add((0,b.default)({name:"version",index:50})),this.add((0,x.default)({name:"close",index:60}));for(var i=0;iu+c&&(m=c-h),n+d>p+i&&(v=i-d),(0,l.setStyles)(s,{top:"".concat(v,"px"),left:"".concat(m,"px")})}}),n(a,"click",function(t){(0,l.includeFromEvent)(t,s)||(e.show=!1)}),this.art.on("blur",function(){e.show=!1})}}]),r}(u.default)},{"@swc/helpers/_/_class_call_check":"dRqgV","@swc/helpers/_/_create_class":"8RAzW","@swc/helpers/_/_inherits":"aRPJQ","@swc/helpers/_/_create_super":"kqTtK","../utils":"7esST","../utils/component":"cVtDw","./playbackRate":"7PKBT","./aspectRatio":"21e5i","./flip":"5paZL","./info":"9tDwX","./version":"7YY7g","./close":"5kAbg","@parcel/transformer-js/src/esmodule-helpers.js":"hTt7M"}],"7PKBT":[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(r),n.export(r,"default",function(){return i});var o=e("@swc/helpers/_/_object_spread"),a=e("@swc/helpers/_/_object_spread_props"),s=e("../utils");function i(e){return function(t){var r=t.i18n,n=t.constructor.PLAYBACK_RATE.map(function(e){return'').concat(1===e?r.get("Normal"):e.toFixed(1),"")}).join("");return(0,a._)((0,o._)({},e),{html:"".concat(r.get("Play Speed"),": ").concat(n),click:function(e,r){var n=r.target.dataset.value;n&&(t.playbackRate=Number(n),e.show=!1)},mounted:function(e){var r=(0,s.query)('[data-value="1"]',e);r&&(0,s.inverseClass)(r,"art-current"),t.on("video:ratechange",function(){var r=(0,s.queryAll)("span",e).find(function(e){return Number(e.dataset.value)===t.playbackRate});r&&(0,s.inverseClass)(r,"art-current")})}})}}},{"@swc/helpers/_/_object_spread":"g42Vq","@swc/helpers/_/_object_spread_props":"cTIVI","../utils":"7esST","@parcel/transformer-js/src/esmodule-helpers.js":"hTt7M"}],"21e5i":[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(r),n.export(r,"default",function(){return i});var o=e("@swc/helpers/_/_object_spread"),a=e("@swc/helpers/_/_object_spread_props"),s=e("../utils");function i(e){return function(t){var r=t.i18n,n=t.constructor.ASPECT_RATIO.map(function(e){return'').concat("default"===e?r.get("Default"):e,"")}).join("");return(0,a._)((0,o._)({},e),{html:"".concat(r.get("Aspect Ratio"),": ").concat(n),click:function(e,r){var n=r.target.dataset.value;n&&(t.aspectRatio=n,e.show=!1)},mounted:function(e){var r=(0,s.query)('[data-value="default"]',e);r&&(0,s.inverseClass)(r,"art-current"),t.on("aspectRatio",function(t){var r=(0,s.queryAll)("span",e).find(function(e){return e.dataset.value===t});r&&(0,s.inverseClass)(r,"art-current")})}})}}},{"@swc/helpers/_/_object_spread":"g42Vq","@swc/helpers/_/_object_spread_props":"cTIVI","../utils":"7esST","@parcel/transformer-js/src/esmodule-helpers.js":"hTt7M"}],"5paZL":[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(r),n.export(r,"default",function(){return i});var o=e("@swc/helpers/_/_object_spread"),a=e("@swc/helpers/_/_object_spread_props"),s=e("../utils");function i(e){return function(t){var r=t.i18n,n=t.constructor.FLIP.map(function(e){return'').concat(r.get((0,s.capitalize)(e)),"")}).join("");return(0,a._)((0,o._)({},e),{html:"".concat(r.get("Video Flip"),": ").concat(n),click:function(e,r){var n=r.target.dataset.value;n&&(t.flip=n.toLowerCase(),e.show=!1)},mounted:function(e){var r=(0,s.query)('[data-value="normal"]',e);r&&(0,s.inverseClass)(r,"art-current"),t.on("flip",function(t){var r=(0,s.queryAll)("span",e).find(function(e){return e.dataset.value===t});r&&(0,s.inverseClass)(r,"art-current")})}})}}},{"@swc/helpers/_/_object_spread":"g42Vq","@swc/helpers/_/_object_spread_props":"cTIVI","../utils":"7esST","@parcel/transformer-js/src/esmodule-helpers.js":"hTt7M"}],"9tDwX":[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(r),n.export(r,"default",function(){return s});var o=e("@swc/helpers/_/_object_spread"),a=e("@swc/helpers/_/_object_spread_props");function s(e){return function(t){return(0,a._)((0,o._)({},e),{html:t.i18n.get("Video Info"),click:function(e){t.info.show=!0,e.show=!1}})}}},{"@swc/helpers/_/_object_spread":"g42Vq","@swc/helpers/_/_object_spread_props":"cTIVI","@parcel/transformer-js/src/esmodule-helpers.js":"hTt7M"}],"7YY7g":[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(r),n.export(r,"default",function(){return s});var o=e("@swc/helpers/_/_object_spread"),a=e("@swc/helpers/_/_object_spread_props");function s(e){return(0,a._)((0,o._)({},e),{html:'ArtPlayer 5.1.7'})}},{"@swc/helpers/_/_object_spread":"g42Vq","@swc/helpers/_/_object_spread_props":"cTIVI","@parcel/transformer-js/src/esmodule-helpers.js":"hTt7M"}],"5kAbg":[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(r),n.export(r,"default",function(){return s});var o=e("@swc/helpers/_/_object_spread"),a=e("@swc/helpers/_/_object_spread_props");function s(e){return function(t){return(0,a._)((0,o._)({},e),{html:t.i18n.get("Close"),click:function(e){e.show=!1}})}}},{"@swc/helpers/_/_object_spread":"g42Vq","@swc/helpers/_/_object_spread_props":"cTIVI","@parcel/transformer-js/src/esmodule-helpers.js":"hTt7M"}],kEevD:[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(r),n.export(r,"default",function(){return u});var o=e("@swc/helpers/_/_class_call_check"),a=e("@swc/helpers/_/_create_class"),s=e("@swc/helpers/_/_inherits"),i=e("@swc/helpers/_/_create_super"),l=e("./utils"),c=e("./utils/component"),u=function(e){(0,s._)(r,e);var t=(0,i._)(r);function r(e){var n;return(0,o._)(this,r),(n=t.call(this,e)).name="info",l.isMobile||n.init(),n}return(0,a._)(r,[{key:"init",value:function(){var e=this,t=this.art,r=t.proxy,n=t.constructor,o=t.template,a=o.$infoPanel,s=o.$infoClose,i=o.$video;r(s,"click",function(){e.show=!1});var c=null,u=(0,l.queryAll)("[data-video]",a)||[];this.art.on("destroy",function(){return clearTimeout(c)}),function e(){for(var t=0;t'.concat((0,f.escape)(e),"")}).join(""):e.innerHTML=this.activeCue.text,this.art.emit("subtitleUpdate",this.activeCue.text))}},{key:"switch",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=this;return(0,o._)(function(){var n,o,a,s,i,u;return(0,p._)(this,function(p){switch(p.label){case 0:return o=(n=r.art).i18n,a=n.notice,s=n.option,i=(0,c._)((0,l._)({},s.subtitle,t),{url:e}),[4,r.init(i)];case 1:return u=p.sent(),t.name&&(a.show="".concat(o.get("Switch Subtitle"),": ").concat(t.name)),[2,u]}})})()}},{key:"createTrack",value:function(e,t){var r=this,n=this.art,o=n.template,a=n.proxy,s=n.option,i=o.$video,l=o.$track,c=(0,f.createElement)("track");c.default=!0,c.kind=e,c.src=t,c.label=s.subtitle.name||"Artplayer",c.track.mode="hidden",this.eventDestroy(),(0,f.remove)(l),(0,f.append)(i,c),o.$track=c,this.eventDestroy=a(this.textTrack,"cuechange",function(){return r.update()})}},{key:"init",value:function(e){var t=this;return(0,o._)(function(){var r,n,o;return(0,p._)(this,function(a){return(n=(r=t.art).notice,o=r.template.$subtitle,(0,v.default)(e,_.default.subtitle),e.url)?(t.style(e.style),[2,fetch(e.url).then(function(e){return e.arrayBuffer()}).then(function(r){var n=new TextDecoder(e.encoding).decode(r);switch(t.art.emit("subtitleLoad",e.url),e.type||(0,f.getExt)(e.url)){case"srt":var o=(0,f.srtToVtt)(n),a=e.onVttLoad(o);return(0,f.vttToBlob)(a);case"ass":var s=(0,f.assToVtt)(n),i=e.onVttLoad(s);return(0,f.vttToBlob)(i);case"vtt":var l=e.onVttLoad(n);return(0,f.vttToBlob)(l);default:return e.url}}).then(function(e){return o.innerHTML="",t.url===e||(URL.revokeObjectURL(t.url),t.createTrack("metadata",e),t.art.emit("subtitleSwitch",e)),e}).catch(function(e){throw o.innerHTML="",n.show=e,e})]):[2]})})()}}]),r}(h.default)},{"@swc/helpers/_/_async_to_generator":"eFkS8","@swc/helpers/_/_class_call_check":"dRqgV","@swc/helpers/_/_create_class":"8RAzW","@swc/helpers/_/_inherits":"aRPJQ","@swc/helpers/_/_object_spread":"g42Vq","@swc/helpers/_/_object_spread_props":"cTIVI","@swc/helpers/_/_create_super":"kqTtK","@swc/helpers/_/_ts_generator":"7FJ4U","./utils":"7esST","./utils/component":"cVtDw","option-validator":"gEtej","./scheme":"hYXnH","@parcel/transformer-js/src/esmodule-helpers.js":"hTt7M"}],"9biZS":[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(r),n.export(r,"default",function(){return j});var o=e("@swc/helpers/_/_class_call_check"),a=e("@swc/helpers/_/_create_class"),s=e("../utils/error"),i=e("./clickInit"),l=n.interopDefault(i),c=e("./hoverInit"),u=n.interopDefault(c),p=e("./moveInit"),f=n.interopDefault(p),d=e("./resizeInit"),h=n.interopDefault(d),m=e("./gestureInit"),v=n.interopDefault(m),g=e("./viewInit"),_=n.interopDefault(g),y=e("./documentInit"),b=n.interopDefault(y),w=e("./updateInit"),x=n.interopDefault(w),j=function(){function e(t){(0,o._)(this,e),this.destroyEvents=[],this.proxy=this.proxy.bind(this),this.hover=this.hover.bind(this),this.loadImg=this.loadImg.bind(this),(0,l.default)(t,this),(0,u.default)(t,this),(0,f.default)(t,this),(0,h.default)(t,this),(0,v.default)(t,this),(0,_.default)(t,this),(0,b.default)(t,this),(0,x.default)(t,this)}return(0,a._)(e,[{key:"proxy",value:function(e,t,r){var n=this,o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};if(Array.isArray(t))return t.map(function(t){return n.proxy(e,t,r,o)});e.addEventListener(t,r,o);var a=function(){return e.removeEventListener(t,r,o)};return this.destroyEvents.push(a),a}},{key:"hover",value:function(e,t,r){t&&this.proxy(e,"mouseenter",t),r&&this.proxy(e,"mouseleave",r)}},{key:"loadImg",value:function(e){var t=this;return new Promise(function(r,n){var o;if(e instanceof HTMLImageElement)o=e;else{if("string"!=typeof e)return n(new s.ArtPlayerError("Unable to get Image"));(o=new Image).src=e}if(o.complete)return r(o);t.proxy(o,"load",function(){return r(o)}),t.proxy(o,"error",function(){return n(new s.ArtPlayerError("Failed to load Image: ".concat(o.src)))})})}},{key:"remove",value:function(e){var t=this.destroyEvents.indexOf(e);t>-1&&(e(),this.destroyEvents.splice(t,1))}},{key:"destroy",value:function(){for(var e=0;eMath.abs(a)&&2>Math.abs(o))return s;var i=180*Math.atan2(o,a)/Math.PI;return i>=-45&&i<45?s=4:i>=45&&i<135?s=1:i>=-135&&i<-45?s=2:(i>=135&&i<=180||i>=-180&&i<-135)&&(s=3),s}(c,u,a,s),d=[3,4].includes(f),h=[1,2].includes(f);if(d&&!e.isRotate||h&&e.isRotate){var m=(0,o.clamp)((a-c)/e.width,-1,1),v=(0,o.clamp)((s-u)/e.height,-1,1),g=e.isRotate?v:m,_=i===n?e.constructor.TOUCH_MOVE_RATIO:1,y=(0,o.clamp)(p+e.duration*g*_,0,e.duration);e.seek=y,e.emit("setBar","played",(0,o.clamp)(y/e.duration,0,1),t),e.notice.show="".concat((0,o.secondToTime)(y)," / ").concat((0,o.secondToTime)(e.duration))}}};t.proxy(s,"touchstart",function(e){i=s,f(e)}),t.proxy(n,"touchstart",function(e){i=n,f(e)}),t.proxy(n,"touchmove",d),t.proxy(s,"touchmove",d),t.proxy(document,"touchend",function(){l&&(c=0,u=0,p=0,l=!1,i=null)})}}},{"../utils":"7esST","../control/progress":"EmoUd","@parcel/transformer-js/src/esmodule-helpers.js":"hTt7M"}],goqLs:[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(r),n.export(r,"default",function(){return a});var o=e("../utils");function a(e,t){var r=e.option,n=e.constructor,a=e.template.$container,s=(0,o.throttle)(function(){e.emit("view",(0,o.isInViewport)(a,n.SCROLL_GAP))},n.SCROLL_TIME);t.proxy(window,"scroll",function(){return s()}),e.on("view",function(t){r.autoMini&&(e.mini=!t)})}},{"../utils":"7esST","@parcel/transformer-js/src/esmodule-helpers.js":"hTt7M"}],"7eAOV":[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");function o(e,t){t.proxy(document,"mousemove",function(t){e.emit("document:mousemove",t)}),t.proxy(document,"mouseup",function(t){e.emit("document:mouseup",t)})}n.defineInteropFlag(r),n.export(r,"default",function(){return o})},{"@parcel/transformer-js/src/esmodule-helpers.js":"hTt7M"}],ioax6:[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");function o(e){if(e.constructor.USE_RAF){var t=null;!function r(){e.playing&&e.emit("raf"),e.isDestroy||(t=requestAnimationFrame(r))}(),e.on("destroy",function(){cancelAnimationFrame(t)})}}n.defineInteropFlag(r),n.export(r,"default",function(){return o})},{"@parcel/transformer-js/src/esmodule-helpers.js":"hTt7M"}],bCoXC:[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(r),n.export(r,"default",function(){return i});var o=e("@swc/helpers/_/_class_call_check"),a=e("@swc/helpers/_/_create_class"),s=e("./utils"),i=function(){function e(t){(0,o._)(this,e),this.art=t,this.keys={},t.option.hotkey&&!s.isMobile&&this.init()}return(0,a._)(e,[{key:"init",value:function(){var e=this,t=this.art,r=t.proxy,n=t.constructor;this.add(27,function(){e.art.fullscreenWeb&&(e.art.fullscreenWeb=!1)}),this.add(32,function(){e.art.toggle()}),this.add(37,function(){e.art.backward=n.SEEK_STEP}),this.add(38,function(){e.art.volume+=n.VOLUME_STEP}),this.add(39,function(){e.art.forward=n.SEEK_STEP}),this.add(40,function(){e.art.volume-=n.VOLUME_STEP}),r(window,"keydown",function(t){if(e.art.isFocus){var r=document.activeElement.tagName.toUpperCase(),n=document.activeElement.getAttribute("contenteditable");if("INPUT"!==r&&"TEXTAREA"!==r&&""!==n&&"true"!==n&&!t.altKey&&!t.ctrlKey&&!t.metaKey&&!t.shiftKey){var o=e.keys[t.keyCode];if(o){t.preventDefault();for(var a=0;a'},{}],aoLmP:[function(e,t,r){t.exports=''},{}],"7BoWr":[function(e,t,r){t.exports=''},{}],bkCtG:[function(e,t,r){t.exports=''},{}],d9cJz:[function(e,t,r){t.exports=''},{}],bEc44:[function(e,t,r){t.exports=''},{}],jiUYL:[function(e,t,r){t.exports=''},{}],a8WfT:[function(e,t,r){t.exports=''},{}],iJ2rM:[function(e,t,r){t.exports=''},{}],"80RaN":[function(e,t,r){t.exports=''},{}],fHsvm:[function(e,t,r){t.exports=''},{}],dwdtS:[function(e,t,r){t.exports=''},{}],kYWrM:[function(e,t,r){t.exports=''},{}],d9UhH:[function(e,t,r){t.exports=''},{}],e4ZLS:[function(e,t,r){t.exports=''},{}],"2lyD4":[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(r),n.export(r,"default",function(){return j});var o=e("@swc/helpers/_/_async_to_generator"),a=e("@swc/helpers/_/_class_call_check"),s=e("@swc/helpers/_/_create_class"),i=e("@swc/helpers/_/_inherits"),l=e("@swc/helpers/_/_to_consumable_array"),c=e("@swc/helpers/_/_create_super"),u=e("@swc/helpers/_/_ts_generator"),p=e("./flip"),f=n.interopDefault(p),d=e("./aspectRatio"),h=n.interopDefault(d),m=e("./playbackRate"),v=n.interopDefault(m),g=e("./subtitleOffset"),_=n.interopDefault(g),y=e("../utils/component"),b=n.interopDefault(y),w=e("../utils/error"),x=e("../utils"),j=function(e){(0,i._)(r,e);var t=(0,c._)(r);function r(e){(0,a._)(this,r),n=t.call(this,e);var n,o=e.option,s=e.controls,i=e.template.$setting;return n.name="setting",n.$parent=i,n.option=[],n.events=[],n.cache=new Map,o.setting&&(n.init(),e.on("blur",function(){n.show&&(n.show=!1,n.render(n.option))}),e.on("focus",function(e){var t=(0,x.includeFromEvent)(e,s.setting),r=(0,x.includeFromEvent)(e,n.$parent);!n.show||t||r||(n.show=!1,n.render(n.option))})),n}return(0,s._)(r,[{key:"defaultSettings",get:function(){var e=[],t=this.art.option;return t.playbackRate&&e.push((0,v.default)(this.art)),t.aspectRatio&&e.push((0,h.default)(this.art)),t.flip&&e.push((0,f.default)(this.art)),t.subtitleOffset&&e.push((0,_.default)(this.art)),e}},{key:"init",value:function(){var e=this.art.option,t=(0,l._)(this.defaultSettings).concat((0,l._)(e.settings));this.option=r.makeRecursion(t),this.destroy(),this.render(this.option)}},{key:"destroy",value:function(){for(var e=0;e0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.option,r=0;r'),l=(0,x.createElement)("div");(0,x.addClass)(l,"art-setting-item-left-icon"),(0,x.append)(l,n.arrowLeft),(0,x.append)(i,l),(0,x.append)(i,e.$parentItem.html);var c=o(s,"click",function(){return t.render(e.$parentList)});return this.events.push(c),s}},{key:"creatItem",value:function(e,t){var r=this.art,n=r.icons,a=r.proxy,s=r.constructor,i=(0,x.createElement)("div");(0,x.addClass)(i,"art-setting-item"),(0,x.setStyle)(i,"height","".concat(s.SETTING_ITEM_HEIGHT,"px")),(0,x.isStringOrNumber)(t.name)&&(i.dataset.name=t.name),(0,x.isStringOrNumber)(t.value)&&(i.dataset.value=t.value);var l=(0,x.append)(i,'
'),c=(0,x.append)(i,'
'),p=(0,x.createElement)("div");switch((0,x.addClass)(p,"art-setting-item-left-icon"),e){case"switch":case"range":(0,x.append)(p,(0,x.isStringOrNumber)(t.icon)||t.icon instanceof Element?t.icon:n.config);break;case"selector":t.selector&&t.selector.length?(0,x.append)(p,(0,x.isStringOrNumber)(t.icon)||t.icon instanceof Element?t.icon:n.config):(0,x.append)(p,n.check)}(0,x.append)(l,p),t.$icon=p,(0,x.def)(t,"icon",{configurable:!0,get:function(){return p.innerHTML},set:function(e){(0,x.isStringOrNumber)(e)&&(p.innerHTML=e)}});var f=(0,x.createElement)("div");(0,x.addClass)(f,"art-setting-item-left-text"),(0,x.append)(f,t.html||""),(0,x.append)(l,f),t.$html=f,(0,x.def)(t,"html",{configurable:!0,get:function(){return f.innerHTML},set:function(e){(0,x.isStringOrNumber)(e)&&(f.innerHTML=e)}});var d=(0,x.createElement)("div");switch((0,x.addClass)(d,"art-setting-item-right-tooltip"),(0,x.append)(d,t.tooltip||""),(0,x.append)(c,d),t.$tooltip=d,(0,x.def)(t,"tooltip",{configurable:!0,get:function(){return d.innerHTML},set:function(e){(0,x.isStringOrNumber)(e)&&(d.innerHTML=e)}}),e){case"switch":var h=(0,x.createElement)("div");(0,x.addClass)(h,"art-setting-item-right-icon");var m=(0,x.append)(h,n.switchOn),v=(0,x.append)(h,n.switchOff);(0,x.setStyle)(t.switch?v:m,"display","none"),(0,x.append)(c,h),t.$switch=t.switch,(0,x.def)(t,"switch",{configurable:!0,get:function(){return t.$switch},set:function(e){t.$switch=e,e?((0,x.setStyle)(v,"display","none"),(0,x.setStyle)(m,"display",null)):((0,x.setStyle)(v,"display",null),(0,x.setStyle)(m,"display","none"))}});break;case"range":var g=(0,x.createElement)("div");(0,x.addClass)(g,"art-setting-item-right-icon");var _=(0,x.append)(g,'');_.value=t.range[0]||0,_.min=t.range[1]||0,_.max=t.range[2]||10,_.step=t.range[3]||1,(0,x.addClass)(_,"art-setting-range"),(0,x.append)(c,g),t.$range=_,(0,x.def)(t,"range",{configurable:!0,get:function(){return _.valueAsNumber},set:function(e){_.value=Number(e)}});break;case"selector":if(t.selector&&t.selector.length){var y=(0,x.createElement)("div");(0,x.addClass)(y,"art-setting-item-right-icon"),(0,x.append)(y,n.arrowRight),(0,x.append)(c,y)}}switch(e){case"switch":if(t.onSwitch){var b,w=this,j=a(i,"click",(b=(0,o._)(function(e){return(0,u._)(this,function(r){switch(r.label){case 0:return[4,t.onSwitch.call(w.art,t,i,e)];case 1:return t.switch=r.sent(),[2]}})}),function(e){return b.apply(this,arguments)}));this.events.push(j)}break;case"range":if(t.$range){if(t.onRange){var k,T=this,S=a(t.$range,"change",(k=(0,o._)(function(e){return(0,u._)(this,function(r){switch(r.label){case 0:return[4,t.onRange.call(T.art,t,i,e)];case 1:return t.tooltip=r.sent(),[2]}})}),function(e){return k.apply(this,arguments)}));this.events.push(S)}if(t.onChange){var M,I=this,E=a(t.$range,"input",(M=(0,o._)(function(e){return(0,u._)(this,function(r){switch(r.label){case 0:return[4,t.onChange.call(I.art,t,i,e)];case 1:return t.tooltip=r.sent(),[2]}})}),function(e){return M.apply(this,arguments)}));this.events.push(E)}}break;case"selector":var F,C=this,R=a(i,"click",(F=(0,o._)(function(e){var r,n,o;return(0,u._)(this,function(a){switch(a.label){case 0:if(!(t.selector&&t.selector.length))return[3,1];return C.render(t.selector,t.width),[3,3];case 1:for((0,x.inverseClass)(i,"art-current"),r=0;rd?((0,x.setStyle)(s,"left",null),(0,x.setStyle)(s,"right",null)):((0,x.setStyle)(s,"left","".concat(h,"px")),(0,x.setStyle)(s,"right","auto"))}}},{key:"render",value:function(e,t){var r=this.art.constructor;if(this.cache.has(e)){var n=this.cache.get(e);(0,x.inverseClass)(n,"art-current"),(0,x.setStyle)(this.$parent,"width","".concat(n.dataset.width,"px")),(0,x.setStyle)(this.$parent,"height","".concat(n.dataset.height,"px")),this.updateStyle(Number(n.dataset.width))}else{var o=(0,x.createElement)("div");(0,x.addClass)(o,"art-setting-panel"),o.dataset.width=t||r.SETTING_WIDTH,o.dataset.height=e.length*r.SETTING_ITEM_HEIGHT,e[0]&&e[0].$parentItem&&((0,x.append)(o,this.creatHeader(e[0])),o.dataset.height=Number(o.dataset.height)+r.SETTING_ITEM_HEIGHT);for(var a=0;ao&&cu)&&setTimeout(function(){(0,s.setStyle)(i,"width","".concat(u,"px")),(0,s.setStyle)(i,"height","".concat(c,"px")),(0,s.setStyle)(i,"transform-origin","0 0"),(0,s.setStyle)(i,"transform","rotate(90deg) translate(0, -".concat(c,"px)")),(0,s.addClass)(i,"art-auto-orientation"),e.isRotate=!0,e.emit("resize")},r.AUTO_ORIENTATION_TIME)}else(0,s.hasClass)(i,"art-auto-orientation")&&((0,s.removeClass)(i,"art-auto-orientation"),e.isRotate=!1,e.emit("resize"))}),e.on("fullscreen",(t=(0,o._)(function(e){var t,r,n,o,c,u,p,f,d;return(0,a._)(this,function(a){switch(a.label){case 0:if(!(null===(r=screen)||void 0===r?void 0:null===(t=r.orientation)||void 0===t?void 0:t.lock))return[2];if(n=screen.orientation.type,!e)return[3,3];if(o=l.videoWidth,c=l.videoHeight,p=(u=document.documentElement).clientWidth,f=u.clientHeight,!(o>c&&pf))return[3,2];return d=n.startsWith("portrait")?"landscape":"portrait",[4,screen.orientation.lock(d)];case 1:a.sent(),(0,s.addClass)(i,"art-auto-orientation-fullscreen"),a.label=2;case 2:return[3,5];case 3:if(!(0,s.hasClass)(i,"art-auto-orientation-fullscreen"))return[3,5];return[4,screen.orientation.lock(n)];case 4:a.sent(),(0,s.removeClass)(i,"art-auto-orientation-fullscreen"),a.label=5;case 5:return[2]}})}),function(e){return t.apply(this,arguments)})),{name:"autoOrientation",get state(){return(0,s.hasClass)(i,"art-auto-orientation")}}}},{"@swc/helpers/_/_async_to_generator":"eFkS8","@swc/helpers/_/_ts_generator":"7FJ4U","../utils":"7esST","@parcel/transformer-js/src/esmodule-helpers.js":"hTt7M"}],"6nThf":[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(r),n.export(r,"default",function(){return a});var o=e("../utils");function a(e){var t=e.i18n,r=e.icons,n=e.storage,a=e.constructor,s=e.proxy,i=e.template.$poster,l=e.layers.add({name:"auto-playback",html:'\n
\n
\n
\n '}),c=(0,o.query)(".art-auto-playback-last",l),u=(0,o.query)(".art-auto-playback-jump",l),p=(0,o.query)(".art-auto-playback-close",l);return e.on("video:timeupdate",function(){if(e.playing){var t=n.get("times")||{},r=Object.keys(t);r.length>a.AUTO_PLAYBACK_MAX&&delete t[r[0]],t[e.option.id||e.option.url]=e.currentTime,n.set("times",t)}}),e.on("ready",function(){var f=(n.get("times")||{})[e.option.id||e.option.url];f&&f>=a.AUTO_PLAYBACK_MIN&&((0,o.append)(p,r.close),(0,o.setStyle)(l,"display","flex"),c.innerText="".concat(t.get("Last Seen")," ").concat((0,o.secondToTime)(f)),u.innerText=t.get("Jump Play"),s(p,"click",function(){(0,o.setStyle)(l,"display","none")}),s(u,"click",function(){e.seek=f,e.play(),(0,o.setStyle)(i,"display","none"),(0,o.setStyle)(l,"display","none")}),e.once("video:timeupdate",function(){setTimeout(function(){(0,o.setStyle)(l,"display","none")},a.AUTO_PLAYBACK_TIMEOUT)}))}),{name:"auto-playback",get times(){return n.get("times")||{}},clear:function(){return n.del("times")},delete:function(e){var t=n.get("times")||{};return delete t[e],n.set("times",t),t}}}},{"../utils":"7esST","@parcel/transformer-js/src/esmodule-helpers.js":"hTt7M"}],foG6r:[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(r),n.export(r,"default",function(){return a});var o=e("../utils");function a(e){var t=e.constructor,r=e.proxy,n=e.template,a=n.$player,s=n.$video,i=null,l=!1,c=1,u=function(){clearTimeout(i),l&&(l=!1,e.playbackRate=c,(0,o.removeClass)(a,"art-fast-forward"))};return r(s,"touchstart",function(r){1===r.touches.length&&e.playing&&!e.isLock&&(i=setTimeout(function(){l=!0,c=e.playbackRate,e.playbackRate=t.FAST_FORWARD_VALUE,(0,o.addClass)(a,"art-fast-forward")},t.FAST_FORWARD_TIME))}),r(document,"touchmove",u),r(document,"touchend",u),{name:"fastForward",get state(){return(0,o.hasClass)(a,"art-fast-forward")}}}},{"../utils":"7esST","@parcel/transformer-js/src/esmodule-helpers.js":"hTt7M"}],"1zrgm":[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(r),n.export(r,"default",function(){return a});var o=e("../utils");function a(e){var t=e.layers,r=e.icons,n=e.template.$player;function a(){return(0,o.hasClass)(n,"art-lock")}function s(){(0,o.addClass)(n,"art-lock"),e.isLock=!0,e.emit("lock",!0)}function i(){(0,o.removeClass)(n,"art-lock"),e.isLock=!1,e.emit("lock",!1)}return t.add({name:"lock",mounted:function(t){var n=(0,o.append)(t,r.lock),a=(0,o.append)(t,r.unlock);(0,o.setStyle)(n,"display","none"),e.on("lock",function(e){e?((0,o.setStyle)(n,"display","inline-flex"),(0,o.setStyle)(a,"display","none")):((0,o.setStyle)(n,"display","none"),(0,o.setStyle)(a,"display","inline-flex"))})},click:function(){a()?i():s()}}),{name:"lock",get state(){return a()},set state(value){value?s():i()}}}},{"../utils":"7esST","@parcel/transformer-js/src/esmodule-helpers.js":"hTt7M"}]},["7Csdv"],"7Csdv","parcelRequireb749"); \ No newline at end of file +!function(e,t,r,n,o){var a="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},i="function"==typeof a[n]&&a[n],s=i.cache||{},l="undefined"!=typeof module&&"function"==typeof module.require&&module.require.bind(module);function c(t,r){if(!s[t]){if(!e[t]){var o="function"==typeof a[n]&&a[n];if(!r&&o)return o(t,!0);if(i)return i(t,!0);if(l&&"string"==typeof t)return l(t);var u=Error("Cannot find module '"+t+"'");throw u.code="MODULE_NOT_FOUND",u}f.resolve=function(r){var n=e[t][1][r];return null!=n?n:r},f.cache={};var p=s[t]=new c.Module(t);e[t][0].call(p.exports,f,p,p.exports,this)}return s[t].exports;function f(e){var t=f.resolve(e);return!1===t?{}:c(t)}}c.isParcelRequire=!0,c.Module=function(e){this.id=e,this.bundle=c,this.exports={}},c.modules=e,c.cache=s,c.parent=i,c.register=function(t,r){e[t]=[function(e,t){t.exports=r},{}]},Object.defineProperty(c,"root",{get:function(){return a[n]}}),a[n]=c;for(var u=0;u").concat(e))};l("Version@"+r.version),l("Env@"+r.env),l("Build@"+r.build);for(var c=0;c<_.default.events.length;c++)i.on("video:"+_.default.events[c],function(e){return l("Event@"+e.type)})}return et.push((0,o._)(i)),i}return(0,i._)(r,[{key:"proxy",get:function(){return this.events.proxy}},{key:"query",get:function(){return this.template.query}},{key:"video",get:function(){return this.template.$video}},{key:"destroy",value:function(){var e=!(arguments.length>0)||void 0===arguments[0]||arguments[0];this.events.destroy(),this.template.destroy(e),et.splice(et.indexOf(this),1),this.isDestroy=!0,this.emit("destroy")}}],[{key:"instances",get:function(){return et}},{key:"version",get:function(){return"5.1.7"}},{key:"env",get:function(){return"production"}},{key:"build",get:function(){return"2024-08-21 16:10:52"}},{key:"config",get:function(){return _.default}},{key:"utils",get:function(){return m}},{key:"scheme",get:function(){return g.default}},{key:"Emitter",get:function(){return h.default}},{key:"validator",get:function(){return f.default}},{key:"kindOf",get:function(){return f.default.kindOf}},{key:"html",get:function(){return w.default.html}},{key:"option",get:function(){return{id:"",container:"#artplayer",url:"",poster:"",type:"",theme:"#f00",volume:.7,isLive:!1,muted:!1,autoplay:!1,autoSize:!1,autoMini:!1,loop:!1,flip:!1,playbackRate:!1,aspectRatio:!1,screenshot:!1,setting:!1,hotkey:!0,pip:!1,mutex:!0,backdrop:!0,fullscreen:!1,fullscreenWeb:!1,subtitleOffset:!1,miniProgressBar:!1,useSSR:!1,playsInline:!0,lock:!1,fastForward:!1,autoPlayback:!1,autoOrientation:!1,airplay:!1,proxy:void 0,layers:[],contextmenu:[],controls:[],settings:[],quality:[],highlight:[],plugins:[],thumbnails:{url:"",number:60,column:10,width:0,height:0},subtitle:{url:"",type:"",style:{},name:"",escape:!0,encoding:"utf-8",onVttLoad:function(e){return e}},moreVideoAttr:{controls:!1,preload:m.isSafari?"auto":"metadata"},i18n:{},icons:{},cssVar:{},customType:{},lang:navigator.language.toLowerCase()}}}]),r}(h.default);er.STYLE=u.default,er.DEBUG=!1,er.CONTEXTMENU=!0,er.NOTICE_TIME=2e3,er.SETTING_WIDTH=250,er.SETTING_ITEM_WIDTH=200,er.SETTING_ITEM_HEIGHT=35,er.RESIZE_TIME=200,er.SCROLL_TIME=200,er.SCROLL_GAP=50,er.AUTO_PLAYBACK_MAX=10,er.AUTO_PLAYBACK_MIN=5,er.AUTO_PLAYBACK_TIMEOUT=3e3,er.RECONNECT_TIME_MAX=5,er.RECONNECT_SLEEP_TIME=1e3,er.CONTROL_HIDE_TIME=3e3,er.DBCLICK_TIME=300,er.DBCLICK_FULLSCREEN=!0,er.MOBILE_DBCLICK_PLAY=!0,er.MOBILE_CLICK_PLAY=!1,er.AUTO_ORIENTATION_TIME=200,er.INFO_LOOP_TIME=1e3,er.FAST_FORWARD_VALUE=3,er.FAST_FORWARD_TIME=1e3,er.TOUCH_MOVE_RATIO=.5,er.VOLUME_STEP=.1,er.SEEK_STEP=5,er.PLAYBACK_RATE=[.5,.75,1,1.25,1.5,2],er.ASPECT_RATIO=["default","4:3","16:9"],er.FLIP=["normal","horizontal","vertical"],er.FULLSCREEN_WEB_IN_BODY=!1,er.LOG_VERSION=!0,er.USE_RAF=!1,m.isBrowser&&(window.Artplayer=er,m.setStyleText("artplayer-style",u.default),setTimeout(function(){er.LOG_VERSION&&console.log("%c ArtPlayer %c ".concat(er.version," %c https://artplayer.org"),"color: #fff; background: #5f5f5f","color: #fff; background: #4bc729","")},100))},{"@swc/helpers/_/_assert_this_initialized":"jgeid","@swc/helpers/_/_class_call_check":"9iJMm","@swc/helpers/_/_create_class":"21IOT","@swc/helpers/_/_inherits":"3pfgY","@swc/helpers/_/_create_super":"86fte","bundle-text:./style/index.less":"3eiHP","option-validator":"8OeHO","./utils/emitter":"2V7i9","./utils":"7MU7R","./scheme":"39ygm","./config":"emMME","./template":"gqSBs","./i18n":"7iXtC","./player":"j7piB","./control":"7z0K5","./contextmenu":"5RLZo","./info":"6JYu5","./subtitle":"WYfF6","./events":"47RGg","./hotkey":"gszG1","./layer":"dImgv","./loading":"6vtvO","./notice":"3Z2RQ","./mask":"hUoLo","./icons":"4Bz82","./setting":"hGnnd","./storage":"8dSC3","./plugins":"gv8Rm","@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}],jgeid:[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");function o(e){if(void 0===e)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return e}n.defineInteropFlag(r),n.export(r,"_",function(){return o})},{"@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}],iWrD0:[function(e,t,r){r.interopDefault=function(e){return e&&e.__esModule?e:{default:e}},r.defineInteropFlag=function(e){Object.defineProperty(e,"__esModule",{value:!0})},r.exportAll=function(e,t){return Object.keys(e).forEach(function(r){"default"===r||"__esModule"===r||Object.prototype.hasOwnProperty.call(t,r)||Object.defineProperty(t,r,{enumerable:!0,get:function(){return e[r]}})}),t},r.export=function(e,t,r){Object.defineProperty(e,t,{enumerable:!0,get:r})}},{}],"9iJMm":[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");function o(e,t){if(!(e instanceof t))throw TypeError("Cannot call a class as a function")}n.defineInteropFlag(r),n.export(r,"_",function(){return o})},{"@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}],"21IOT":[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");function o(e,t){for(var r=0;r1?t-1:0),n=1;n1&&void 0!==arguments[1]?arguments[1]:document;return t.querySelector(e)}function i(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:document;return Array.from(t.querySelectorAll(e))}function s(e,t){return e.classList.add(t)}function l(e,t){return e.classList.remove(t)}function c(e,t){return e.classList.contains(t)}function u(e,t){return t instanceof Element?e.appendChild(t):e.insertAdjacentHTML("beforeend",String(t)),e.lastElementChild||e.lastChild}function p(e){return e.parentNode.removeChild(e)}function f(e,t,r){return e.style[t]=r,e}function d(e,t){for(var r in t)f(e,r,t[r]);return e}function h(e,t){var r=!(arguments.length>2)||void 0===arguments[2]||arguments[2],n=window.getComputedStyle(e,null).getPropertyValue(t);return r?parseFloat(n):n}function m(e){return Array.from(e.parentElement.children).filter(function(t){return t!==e})}function v(e,t){m(e).forEach(function(e){return l(e,t)}),s(e,t)}function g(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"top";o.isMobile||(e.setAttribute("aria-label",t),s(e,"hint--rounded"),s(e,"hint--".concat(r)))}function y(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=e.getBoundingClientRect(),n=window.innerHeight||document.documentElement.clientHeight,o=window.innerWidth||document.documentElement.clientWidth,a=r.top-t<=n&&r.top+r.height+t>=0,i=r.left-t<=o+t&&r.left+r.width+t>=0;return a&&i}function _(e,t){return e.composedPath&&e.composedPath().indexOf(t)>-1}function b(e,t){return t.parentNode.replaceChild(e,t),e}function w(e){return document.createElement(e)}function x(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",r=w("i");return s(r,"art-icon"),s(r,"art-icon-".concat(e)),u(r,t),r}function j(e,t){var r=document.getElementById(e);if(r)r.textContent=t;else{var n=w("style");n.id=e,n.textContent=t,document.head.appendChild(n)}}function k(){var e=document.createElement("div");return e.style.display="flex","flex"===e.style.display}function M(e){return e.getBoundingClientRect()}},{"./compatibility":"f9Vc8","@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}],f9Vc8:[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(r),n.export(r,"userAgent",function(){return o}),n.export(r,"isSafari",function(){return a}),n.export(r,"isWechat",function(){return i}),n.export(r,"isIE",function(){return s}),n.export(r,"isAndroid",function(){return l}),n.export(r,"isIOS",function(){return c}),n.export(r,"isIOS13",function(){return u}),n.export(r,"isMobile",function(){return p}),n.export(r,"isBrowser",function(){return f});var o="undefined"!=typeof navigator?navigator.userAgent:"",a=/^((?!chrome|android).)*safari/i.test(o),i=/MicroMessenger/i.test(o),s=/MSIE|Trident/i.test(o),l=/android/i.test(o),c=/iPad|iPhone|iPod/i.test(o)&&!window.MSStream,u=c||o.includes("Macintosh")&&navigator.maxTouchPoints>=1,p=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(o)||u,f="undefined"!=typeof window},{"@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}],"6WanZ":[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(r),n.export(r,"ArtPlayerError",function(){return c}),n.export(r,"errorHandle",function(){return u});var o=e("@swc/helpers/_/_assert_this_initialized"),a=e("@swc/helpers/_/_class_call_check"),i=e("@swc/helpers/_/_inherits"),s=e("@swc/helpers/_/_wrap_native_super"),l=e("@swc/helpers/_/_create_super"),c=/*#__PURE__*/function(e){(0,i._)(r,e);var t=(0,l._)(r);function r(e,n){var i;return(0,a._)(this,r),i=t.call(this,e),"function"==typeof Error.captureStackTrace&&Error.captureStackTrace((0,o._)(i),n||i.constructor),i.name="ArtPlayerError",i}return r}((0,s._)(Error));function u(e,t){if(!e)throw new c(t);return e}},{"@swc/helpers/_/_assert_this_initialized":"jgeid","@swc/helpers/_/_class_call_check":"9iJMm","@swc/helpers/_/_inherits":"3pfgY","@swc/helpers/_/_wrap_native_super":"hNYY1","@swc/helpers/_/_create_super":"86fte","@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}],hNYY1:[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(r),n.export(r,"_",function(){return l});var o=e("./_construct.js"),a=e("./_get_prototype_of.js"),i=e("./_is_native_function.js"),s=e("./_set_prototype_of.js");function l(e){var t="function"==typeof Map?new Map:void 0;return(l=function(e){if(null===e||!(0,i._)(e))return e;if("function"!=typeof e)throw TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,r)}function r(){return(0,o._)(e,arguments,(0,a._)(this).constructor)}return r.prototype=Object.create(e.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}),(0,s._)(r,e)})(e)}},{"./_construct.js":"ljlHN","./_get_prototype_of.js":"dAKgy","./_is_native_function.js":"fIKaN","./_set_prototype_of.js":"j4HiF","@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}],ljlHN:[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(r),n.export(r,"_",function(){return i});var o=e("./_is_native_reflect_construct.js"),a=e("./_set_prototype_of.js");function i(e,t,r){return(i=(0,o._)()?Reflect.construct:function(e,t,r){var n=[null];n.push.apply(n,t);var o=new(Function.bind.apply(e,n));return r&&(0,a._)(o,r.prototype),o}).apply(null,arguments)}},{"./_is_native_reflect_construct.js":"7fioR","./_set_prototype_of.js":"j4HiF","@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}],fIKaN:[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");function o(e){return -1!==Function.toString.call(e).indexOf("[native code]")}n.defineInteropFlag(r),n.export(r,"_",function(){return o})},{"@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}],cZfjQ:[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");function o(e){return"WEBVTT \r\n\r\n".concat(e.replace(/(\d\d:\d\d:\d\d)[,.](\d+)/g,function(e,t,r){var n=r.slice(0,3);return 1===r.length&&(n=r+"00"),2===r.length&&(n=r+"0"),"".concat(t,",").concat(n)}).replace(/\{\\([ibu])\}/g,"").replace(/\{\\([ibu])1\}/g,"<$1>").replace(/\{([ibu])\}/g,"<$1>").replace(/\{\/([ibu])\}/g,"").replace(/(\d\d:\d\d:\d\d),(\d\d\d)/g,"$1.$2").replace(/{[\s\S]*?}/g,"").concat("\r\n\r\n"))}function a(e){return URL.createObjectURL(new Blob([e],{type:"text/vtt"}))}function i(e){var t=RegExp("Dialogue:\\s\\d,(\\d+:\\d\\d:\\d\\d.\\d\\d),(\\d+:\\d\\d:\\d\\d.\\d\\d),([^,]*),([^,]*),(?:[^,]*,){4}([\\s\\S]*)$","i");function r(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return e.split(/[:.]/).map(function(e,t,r){if(t===r.length-1){if(1===e.length)return".".concat(e,"00");if(2===e.length)return".".concat(e,"0")}else if(1===e.length)return(0===t?"0":":0")+e;return 0===t?e:t===r.length-1?".".concat(e):":".concat(e)}).join("")}return"WEBVTT\n\n"+e.split(/\r?\n/).map(function(e){var n=e.match(t);return n?{start:r(n[1].trim()),end:r(n[2].trim()),text:n[5].replace(/{[\s\S]*?}/g,"").replace(/(\\N)/g,"\n").trim().split(/\r?\n/).map(function(e){return e.trim()}).join("\n")}:null}).filter(function(e){return e}).map(function(e,t){return e?t+1+"\n"+"".concat(e.start," --> ").concat(e.end)+"\n"+"".concat(e.text):""}).filter(function(e){return e.trim()}).join("\n\n")}n.defineInteropFlag(r),n.export(r,"srtToVtt",function(){return o}),n.export(r,"vttToBlob",function(){return a}),n.export(r,"assToVtt",function(){return i})},{"@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}],l2mTb:[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");function o(e,t){var r=document.createElement("a");r.style.display="none",r.href=e,r.download=t,document.body.appendChild(r),r.click(),document.body.removeChild(r)}n.defineInteropFlag(r),n.export(r,"getExt",function(){return function e(t){return t.includes("?")?e(t.split("?")[0]):t.includes("#")?e(t.split("#")[0]):t.trim().toLowerCase().split(".").pop()}}),n.export(r,"download",function(){return o})},{"@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}],"5EnnX":[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(r),n.export(r,"def",function(){return a}),n.export(r,"has",function(){return s}),n.export(r,"get",function(){return l}),n.export(r,"mergeDeep",function(){return function e(){for(var t=arguments.length,r=Array(t),n=0;ne.length)&&(t=e.length);for(var r=0,n=Array(t);r0&&void 0!==arguments[0]?arguments[0]:0;return new Promise(function(t){return setTimeout(t,e)})}function a(e,t){var r;return function(){for(var n=this,o=arguments.length,a=Array(o),i=0;i0?[t,r,n]:[r,n]).map(function(e){return e<10?"0".concat(e):String(e)}).join(":")}function c(e){return e.replace(/[&<>'"]/g,function(e){return({"&":"&","<":"<",">":">","'":"'",'"':"""})[e]||e})}function u(e){var t={"&":"&","<":"<",">":">","'":"'",""":'"'},r=RegExp("(".concat(Object.keys(t).join("|"),")"),"g");return e.replace(r,function(e){return t[e]||e})}},{"@swc/helpers/_/_type_of":"felZi","@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}],"39ygm":[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(r),n.export(r,"ComponentOption",function(){return h});var o=e("@swc/helpers/_/_object_spread"),a=e("@swc/helpers/_/_object_spread_props"),i=e("../utils"),s="array",l="boolean",c="string",u="number",p="object",f="function";function d(e,t,r){return(0,i.errorHandle)(t===c||t===u||e instanceof Element,"".concat(r.join(".")," require '").concat(c,"' or 'Element' type"))}var h={html:d,disable:"?".concat(l),name:"?".concat(c),index:"?".concat(u),style:"?".concat(p),click:"?".concat(f),mounted:"?".concat(f),tooltip:"?".concat(c,"|").concat(u),width:"?".concat(u),selector:"?".concat(s),onSelect:"?".concat(f),switch:"?".concat(l),onSwitch:"?".concat(f),range:"?".concat(s),onRange:"?".concat(f),onChange:"?".concat(f)};r.default={id:c,container:d,url:c,poster:c,type:c,theme:c,lang:c,volume:u,isLive:l,muted:l,autoplay:l,autoSize:l,autoMini:l,loop:l,flip:l,playbackRate:l,aspectRatio:l,screenshot:l,setting:l,hotkey:l,pip:l,mutex:l,backdrop:l,fullscreen:l,fullscreenWeb:l,subtitleOffset:l,miniProgressBar:l,useSSR:l,playsInline:l,lock:l,fastForward:l,autoPlayback:l,autoOrientation:l,airplay:l,proxy:"?".concat(f),plugins:[f],layers:[h],contextmenu:[h],settings:[h],controls:[(0,a._)((0,o._)({},h),{position:function(e,t,r){var n=["top","left","right"];return(0,i.errorHandle)(n.includes(e),"".concat(r.join(".")," only accept ").concat(n.toString()," as parameters"))}})],quality:[{default:"?".concat(l),html:c,url:c}],highlight:[{time:u,text:c}],thumbnails:{url:c,number:u,column:u,width:u,height:u},subtitle:{url:c,name:c,type:c,style:p,escape:l,encoding:c,onVttLoad:f},moreVideoAttr:p,i18n:p,icons:p,cssVar:p,customType:p}},{"@swc/helpers/_/_object_spread":"9agdF","@swc/helpers/_/_object_spread_props":"gJNH2","../utils":"7MU7R","@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}],"9agdF":[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(r),n.export(r,"_",function(){return a});var o=e("./_define_property.js");function a(e){for(var t=1;t\n\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
Player version:
\n
5.1.7
\n
\n
\n
Video url:
\n
\n
\n
\n
Video volume:
\n
\n
\n
\n
Video time:
\n
\n
\n
\n
Video duration:
\n
\n
\n
\n
Video resolution:
\n
\nx\n
\n
\n
\n
[x]
\n
\n
\n\n '}}]),e}()},{"@swc/helpers/_/_class_call_check":"9iJMm","@swc/helpers/_/_create_class":"21IOT","./utils":"7MU7R","@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}],"7iXtC":[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(r),n.export(r,"default",function(){return c});var o=e("@swc/helpers/_/_class_call_check"),a=e("@swc/helpers/_/_create_class"),i=e("../utils"),s=e("./zh-cn"),l=n.interopDefault(s),c=/*#__PURE__*/function(){function e(t){(0,o._)(this,e),this.art=t,this.languages={"zh-cn":l.default},this.language={},this.update(t.option.i18n)}return(0,a._)(e,[{key:"init",value:function(){var e=this.art.option.lang.toLowerCase();this.language=this.languages[e]||{}}},{key:"get",value:function(e){return this.language[e]||e}},{key:"update",value:function(e){this.languages=(0,i.mergeDeep)(this.languages,e),this.init()}}]),e}()},{"@swc/helpers/_/_class_call_check":"9iJMm","@swc/helpers/_/_create_class":"21IOT","../utils":"7MU7R","./zh-cn":"5mkZy","@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}],"5mkZy":[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var n={"Video Info":"统计信息",Close:"关闭","Video Load Failed":"加载失败",Volume:"音量",Play:"播放",Pause:"暂停",Rate:"速度",Mute:"静音","Video Flip":"画面翻转",Horizontal:"水平",Vertical:"垂直",Reconnect:"重新连接","Show Setting":"显示设置","Hide Setting":"隐藏设置",Screenshot:"截图","Play Speed":"播放速度","Aspect Ratio":"画面比例",Default:"默认",Normal:"正常",Open:"打开","Switch Video":"切换","Switch Subtitle":"切换字幕",Fullscreen:"全屏","Exit Fullscreen":"退出全屏","Web Fullscreen":"网页全屏","Exit Web Fullscreen":"退出网页全屏","Mini Player":"迷你播放器","PIP Mode":"开启画中画","Exit PIP Mode":"退出画中画","PIP Not Supported":"不支持画中画","Fullscreen Not Supported":"不支持全屏","Subtitle Offset":"字幕偏移","Last Seen":"上次看到","Jump Play":"跳转播放",AirPlay:"隔空播放","AirPlay Not Available":"隔空播放不可用"};r.default=n,"undefined"!=typeof window&&(window["artplayer-i18n-zh-cn"]=n)},{"@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}],j7piB:[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(r),n.export(r,"default",function(){return ew});var o=e("@swc/helpers/_/_class_call_check"),a=e("./urlMix"),i=n.interopDefault(a),s=e("./attrMix"),l=n.interopDefault(s),c=e("./playMix"),u=n.interopDefault(c),p=e("./pauseMix"),f=n.interopDefault(p),d=e("./toggleMix"),h=n.interopDefault(d),m=e("./seekMix"),v=n.interopDefault(m),g=e("./volumeMix"),y=n.interopDefault(g),_=e("./currentTimeMix"),b=n.interopDefault(_),w=e("./durationMix"),x=n.interopDefault(w),j=e("./switchMix"),k=n.interopDefault(j),M=e("./playbackRateMix"),S=n.interopDefault(M),I=e("./aspectRatioMix"),D=n.interopDefault(I),T=e("./screenshotMix"),E=n.interopDefault(T),F=e("./fullscreenMix"),R=n.interopDefault(F),O=e("./fullscreenWebMix"),C=n.interopDefault(O),W=e("./pipMix"),P=n.interopDefault(W),A=e("./loadedMix"),z=n.interopDefault(A),L=e("./playedMix"),$=n.interopDefault(L),H=e("./playingMix"),N=n.interopDefault(H),U=e("./autoSizeMix"),V=n.interopDefault(U),B=e("./rectMix"),q=n.interopDefault(B),Y=e("./flipMix"),J=n.interopDefault(Y),X=e("./miniMix"),G=n.interopDefault(X),K=e("./posterMix"),Z=n.interopDefault(K),Q=e("./autoHeightMix"),ee=n.interopDefault(Q),et=e("./cssVarMix"),er=n.interopDefault(et),en=e("./themeMix"),eo=n.interopDefault(en),ea=e("./typeMix"),ei=n.interopDefault(ea),es=e("./stateMix"),el=n.interopDefault(es),ec=e("./subtitleOffsetMix"),eu=n.interopDefault(ec),ep=e("./airplayMix"),ef=n.interopDefault(ep),ed=e("./qualityMix"),eh=n.interopDefault(ed),em=e("./thumbnailsMix"),ev=n.interopDefault(em),eg=e("./optionInit"),ey=n.interopDefault(eg),e_=e("./eventInit"),eb=n.interopDefault(e_),ew=function e(t){(0,o._)(this,e),(0,i.default)(t),(0,l.default)(t),(0,u.default)(t),(0,f.default)(t),(0,h.default)(t),(0,v.default)(t),(0,y.default)(t),(0,b.default)(t),(0,x.default)(t),(0,k.default)(t),(0,S.default)(t),(0,D.default)(t),(0,E.default)(t),(0,R.default)(t),(0,C.default)(t),(0,P.default)(t),(0,z.default)(t),(0,$.default)(t),(0,N.default)(t),(0,V.default)(t),(0,q.default)(t),(0,J.default)(t),(0,G.default)(t),(0,Z.default)(t),(0,ee.default)(t),(0,er.default)(t),(0,eo.default)(t),(0,ei.default)(t),(0,el.default)(t),(0,eu.default)(t),(0,ef.default)(t),(0,eh.default)(t),(0,ev.default)(t),(0,eb.default)(t),(0,ey.default)(t)}},{"@swc/helpers/_/_class_call_check":"9iJMm","./urlMix":"bnOAX","./attrMix":"YLwHz","./playMix":"ktu66","./pauseMix":"6JstV","./toggleMix":"cotiM","./seekMix":"8DVLx","./volumeMix":"9fjEr","./currentTimeMix":"fniLa","./durationMix":"2WMs4","./switchMix":"5XnRj","./playbackRateMix":"atzXU","./aspectRatioMix":"e67kx","./screenshotMix":"7FJKj","./fullscreenMix":"1hnoY","./fullscreenWebMix":"aLUYJ","./pipMix":"jJ7PZ","./loadedMix":"3RcYf","./playedMix":"hpdzI","./playingMix":"dQpMB","./autoSizeMix":"i3W5n","./rectMix":"eA2QA","./flipMix":"8B7eY","./miniMix":"f1BFf","./posterMix":"3Bs5U","./autoHeightMix":"gRfBQ","./cssVarMix":"6gWkU","./themeMix":"6YX9w","./typeMix":"cBZG8","./stateMix":"bpFKI","./subtitleOffsetMix":"hyhz8","./airplayMix":"5fLM6","./qualityMix":"jj5tM","./thumbnailsMix":"g4G3o","./optionInit":"PZTTa","./eventInit":"cKj2D","@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}],bnOAX:[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(r),n.export(r,"default",function(){return s});var o=e("@swc/helpers/_/_async_to_generator"),a=e("@swc/helpers/_/_ts_generator"),i=e("../utils");function s(e){var t=e.option,r=e.template.$video;(0,i.def)(e,"url",{get:function(){return r.src},set:function(n){return(0,o._)(function(){var o,s,l;return(0,a._)(this,function(a){switch(a.label){case 0:if(!n)return[3,4];if(o=e.url,s=t.type||(0,i.getExt)(n),l=t.customType[s],!(s&&l))return[3,2];return[4,(0,i.sleep)()];case 1:return a.sent(),e.loading.show=!0,l.call(e,r,n,e),[3,3];case 2:URL.revokeObjectURL(o),r.src=n,a.label=3;case 3:return o!==e.url&&(e.option.url=n,e.isReady&&o&&e.once("video:canplay",function(){e.emit("restart",n)})),[3,6];case 4:return[4,(0,i.sleep)()];case 5:a.sent(),e.loading.show=!0,a.label=6;case 6:return[2]}})})()}})}},{"@swc/helpers/_/_async_to_generator":"eONSn","@swc/helpers/_/_ts_generator":"6Xyd0","../utils":"7MU7R","@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}],eONSn:[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");function o(e,t,r,n,o,a,i){try{var s=e[a](i),l=s.value}catch(e){r(e);return}s.done?t(l):Promise.resolve(l).then(n,o)}function a(e){return function(){var t=this,r=arguments;return new Promise(function(n,a){var i=e.apply(t,r);function s(e){o(i,n,a,s,l,"next",e)}function l(e){o(i,n,a,s,l,"throw",e)}s(void 0)})}}n.defineInteropFlag(r),n.export(r,"_",function(){return a})},{"@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}],"6Xyd0":[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(r),n.export(r,"_",function(){return o.__generator});var o=e("tslib")},{tslib:"c0d7h","@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}],c0d7h:[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(r),n.export(r,"__extends",function(){return i}),n.export(r,"__assign",function(){return s}),n.export(r,"__rest",function(){return l}),n.export(r,"__decorate",function(){return c}),n.export(r,"__param",function(){return u}),n.export(r,"__esDecorate",function(){return p}),n.export(r,"__runInitializers",function(){return f}),n.export(r,"__propKey",function(){return d}),n.export(r,"__setFunctionName",function(){return h}),n.export(r,"__metadata",function(){return m}),n.export(r,"__awaiter",function(){return v}),n.export(r,"__generator",function(){return g}),n.export(r,"__createBinding",function(){return y}),n.export(r,"__exportStar",function(){return _}),n.export(r,"__values",function(){return b}),n.export(r,"__read",function(){return w}),n.export(r,"__spread",function(){return x}),n.export(r,"__spreadArrays",function(){return j}),n.export(r,"__spreadArray",function(){return k}),n.export(r,"__await",function(){return M}),n.export(r,"__asyncGenerator",function(){return S}),n.export(r,"__asyncDelegator",function(){return I}),n.export(r,"__asyncValues",function(){return D}),n.export(r,"__makeTemplateObject",function(){return T}),n.export(r,"__importStar",function(){return F}),n.export(r,"__importDefault",function(){return R}),n.export(r,"__classPrivateFieldGet",function(){return O}),n.export(r,"__classPrivateFieldSet",function(){return C}),n.export(r,"__classPrivateFieldIn",function(){return W}),n.export(r,"__addDisposableResource",function(){return P}),n.export(r,"__disposeResources",function(){return z});var o=e("@swc/helpers/_/_type_of"),a=function(e,t){return(a=Object.setPrototypeOf||({__proto__:[]})instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(e,t)};function i(e,t){if("function"!=typeof t&&null!==t)throw TypeError("Class extends value "+String(t)+" is not a constructor or null");function r(){this.constructor=e}a(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}var s=function(){return(s=Object.assign||function(e){for(var t,r=1,n=arguments.length;rt.indexOf(n)&&(r[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,n=Object.getOwnPropertySymbols(e);ot.indexOf(n[o])&&Object.prototype.propertyIsEnumerable.call(e,n[o])&&(r[n[o]]=e[n[o]]);return r}function c(e,t,r,n){var o,a=arguments.length,i=a<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(e,t,r,n);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(i=(a<3?o(i):a>3?o(t,r,i):o(t,r))||i);return a>3&&i&&Object.defineProperty(t,r,i),i}function u(e,t){return function(r,n){t(r,n,e)}}function p(e,t,r,n,o,a){function i(e){if(void 0!==e&&"function"!=typeof e)throw TypeError("Function expected");return e}for(var s,l=n.kind,c="getter"===l?"get":"setter"===l?"set":"value",u=!t&&e?n.static?e:e.prototype:null,p=t||(u?Object.getOwnPropertyDescriptor(u,n.name):{}),f=!1,d=r.length-1;d>=0;d--){var h={};for(var m in n)h[m]="access"===m?{}:n[m];for(var m in n.access)h.access[m]=n.access[m];h.addInitializer=function(e){if(f)throw TypeError("Cannot add initializers after decoration has completed");a.push(i(e||null))};var v=(0,r[d])("accessor"===l?{get:p.get,set:p.set}:p[c],h);if("accessor"===l){if(void 0===v)continue;if(null===v||"object"!=typeof v)throw TypeError("Object expected");(s=i(v.get))&&(p.get=s),(s=i(v.set))&&(p.set=s),(s=i(v.init))&&o.unshift(s)}else(s=i(v))&&("field"===l?o.unshift(s):p[c]=s)}u&&Object.defineProperty(u,n.name,p),f=!0}function f(e,t,r){for(var n=arguments.length>2,o=0;o0&&o[o.length-1])&&(6===s[0]||2===s[0])){i=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function w(e,t){var r="function"==typeof Symbol&&e[Symbol.iterator];if(!r)return e;var n,o,a=r.call(e),i=[];try{for(;(void 0===t||t-- >0)&&!(n=a.next()).done;)i.push(n.value)}catch(e){o={error:e}}finally{try{n&&!n.done&&(r=a.return)&&r.call(a)}finally{if(o)throw o.error}}return i}function x(){for(var e=[],t=0;t1||s(e,t)})},t&&(n[e]=t(n[e])))}function s(e,t){try{var r;(r=o[e](t)).value instanceof M?Promise.resolve(r.value.v).then(l,c):u(a[0][2],r)}catch(e){u(a[0][3],e)}}function l(e){s("next",e)}function c(e){s("throw",e)}function u(e,t){e(t),a.shift(),a.length&&s(a[0][0],a[0][1])}}function I(e){var t,r;return t={},n("next"),n("throw",function(e){throw e}),n("return"),t[Symbol.iterator]=function(){return this},t;function n(n,o){t[n]=e[n]?function(t){return(r=!r)?{value:M(e[n](t)),done:!1}:o?o(t):t}:o}}function D(e){if(!Symbol.asyncIterator)throw TypeError("Symbol.asyncIterator is not defined.");var t,r=e[Symbol.asyncIterator];return r?r.call(e):(e=b(e),t={},n("next"),n("throw"),n("return"),t[Symbol.asyncIterator]=function(){return this},t);function n(r){t[r]=e[r]&&function(t){return new Promise(function(n,o){!function(e,t,r,n){Promise.resolve(n).then(function(t){e({value:t,done:r})},t)}(n,o,(t=e[r](t)).done,t.value)})}}}function T(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e}var E=Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t};function F(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&y(t,e,r);return E(t,e),t}function R(e){return e&&e.__esModule?e:{default:e}}function O(e,t,r,n){if("a"===r&&!n)throw TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!n:!t.has(e))throw TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?n:"a"===r?n.call(e):n?n.value:t.get(e)}function C(e,t,r,n,o){if("m"===n)throw TypeError("Private method is not writable");if("a"===n&&!o)throw TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!o:!t.has(e))throw TypeError("Cannot write private member to an object whose class did not declare it");return"a"===n?o.call(e,r):o?o.value=r:t.set(e,r),r}function W(e,t){if(null===t||"object"!=typeof t&&"function"!=typeof t)throw TypeError("Cannot use 'in' operator on non-object");return"function"==typeof e?t===e:e.has(t)}function P(e,t,r){if(null!=t){var n,o;if("object"!=typeof t&&"function"!=typeof t)throw TypeError("Object expected.");if(r){if(!Symbol.asyncDispose)throw TypeError("Symbol.asyncDispose is not defined.");n=t[Symbol.asyncDispose]}if(void 0===n){if(!Symbol.dispose)throw TypeError("Symbol.dispose is not defined.");n=t[Symbol.dispose],r&&(o=n)}if("function"!=typeof n)throw TypeError("Object not disposable.");o&&(n=function(){try{o.call(this)}catch(e){return Promise.reject(e)}}),e.stack.push({value:t,dispose:n,async:r})}else r&&e.stack.push({async:!0});return t}var A="function"==typeof SuppressedError?SuppressedError:function(e,t,r){var n=Error(r);return n.name="SuppressedError",n.error=e,n.suppressed=t,n};function z(e){function t(t){e.error=e.hasError?new A(t,e.error,"An error was suppressed during disposal."):t,e.hasError=!0}return function r(){for(;e.stack.length;){var n=e.stack.pop();try{var o=n.dispose&&n.dispose.call(n.value);if(n.async)return Promise.resolve(o).then(r,function(e){return t(e),r()})}catch(e){t(e)}}if(e.hasError)throw e.error}()}r.default={__extends:i,__assign:s,__rest:l,__decorate:c,__param:u,__metadata:m,__awaiter:v,__generator:g,__createBinding:y,__exportStar:_,__values:b,__read:w,__spread:x,__spreadArrays:j,__spreadArray:k,__await:M,__asyncGenerator:S,__asyncDelegator:I,__asyncValues:D,__makeTemplateObject:T,__importStar:F,__importDefault:R,__classPrivateFieldGet:O,__classPrivateFieldSet:C,__classPrivateFieldIn:W,__addDisposableResource:P,__disposeResources:z}},{"@swc/helpers/_/_type_of":"felZi","@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}],YLwHz:[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(r),n.export(r,"default",function(){return a});var o=e("../utils");function a(e){var t=e.template.$video;(0,o.def)(e,"attr",{value:function(e,r){if(void 0===r)return t[e];t[e]=r}})}},{"../utils":"7MU7R","@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}],ktu66:[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(r),n.export(r,"default",function(){return s});var o=e("@swc/helpers/_/_async_to_generator"),a=e("@swc/helpers/_/_ts_generator"),i=e("../utils");function s(e){var t=e.i18n,r=e.notice,n=e.option,s=e.constructor.instances,l=e.template.$video;(0,i.def)(e,"play",{value:/*#__PURE__*/(0,o._)(function(){var o,i,c;return(0,a._)(this,function(a){switch(a.label){case 0:return[4,l.play()];case 1:if(o=a.sent(),r.show=t.get("Play"),e.emit("play"),n.mutex)for(i=0;iu?((0,o.setStyle)(a,"width","".concat(u*c,"px")),(0,o.setStyle)(a,"height","100%"),(0,o.setStyle)(a,"margin","0 auto")):((0,o.setStyle)(a,"width","100%"),(0,o.setStyle)(a,"height","".concat(l/u,"px")),(0,o.setStyle)(a,"margin","auto 0")),i.dataset.aspectRatio=n}r.show="".concat(t.get("Aspect Ratio"),": ").concat("default"===n?t.get("Default"):n),e.emit("aspectRatio",n)}})}},{"../utils":"7MU7R","@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}],"7FJKj":[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(r),n.export(r,"default",function(){return s});var o=e("@swc/helpers/_/_async_to_generator"),a=e("@swc/helpers/_/_ts_generator"),i=e("../utils");function s(e){var t,r=e.notice,n=e.template.$video,s=(0,i.createElement)("canvas");(0,i.def)(e,"getDataURL",{value:function(){return new Promise(function(e,t){try{s.width=n.videoWidth,s.height=n.videoHeight,s.getContext("2d").drawImage(n,0,0),e(s.toDataURL("image/png"))}catch(e){r.show=e,t(e)}})}}),(0,i.def)(e,"getBlobUrl",{value:function(){return new Promise(function(e,t){try{s.width=n.videoWidth,s.height=n.videoHeight,s.getContext("2d").drawImage(n,0,0),s.toBlob(function(t){e(URL.createObjectURL(t))})}catch(e){r.show=e,t(e)}})}}),(0,i.def)(e,"screenshot",{value:(t=(0,o._)(function(t){var r,o;return(0,a._)(this,function(a){switch(a.label){case 0:return[4,e.getDataURL()];case 1:return r=a.sent(),o=t||"artplayer_".concat((0,i.secondToTime)(n.currentTime)),(0,i.download)(r,"".concat(o,".png")),e.emit("screenshot",r),[2,r]}})}),function(e){return t.apply(this,arguments)})})}},{"@swc/helpers/_/_async_to_generator":"eONSn","@swc/helpers/_/_ts_generator":"6Xyd0","../utils":"7MU7R","@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}],"1hnoY":[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(r),n.export(r,"default",function(){return c});var o=e("@swc/helpers/_/_async_to_generator"),a=e("@swc/helpers/_/_ts_generator"),i=e("../libs/screenfull"),s=n.interopDefault(i),l=e("../utils");function c(e){var t=e.i18n,r=e.notice,n=e.template,i=n.$video,c=n.$player,u=function(e){(0,s.default).on("change",function(){e.emit("fullscreen",s.default.isFullscreen)}),(0,s.default).on("error",function(t){e.emit("fullscreenError",t)}),(0,l.def)(e,"fullscreen",{get:function(){return s.default.isFullscreen},set:function(t){return(0,o._)(function(){return(0,a._)(this,function(r){switch(r.label){case 0:if(!t)return[3,2];return e.state="fullscreen",[4,(0,s.default).request(c)];case 1:return r.sent(),(0,l.addClass)(c,"art-fullscreen"),[3,4];case 2:return[4,(0,s.default).exit()];case 3:r.sent(),(0,l.removeClass)(c,"art-fullscreen"),r.label=4;case 4:return e.emit("resize"),[2]}})})()}})},p=function(e){e.proxy(document,"webkitfullscreenchange",function(){e.emit("fullscreen",e.fullscreen),e.emit("resize")}),(0,l.def)(e,"fullscreen",{get:function(){return document.fullscreenElement===i},set:function(t){t?(e.state="fullscreen",i.webkitEnterFullscreen()):i.webkitExitFullscreen()}})};e.once("video:loadedmetadata",function(){s.default.isEnabled?u(e):i.webkitSupportsFullscreen?p(e):(0,l.def)(e,"fullscreen",{get:function(){return!1},set:function(){r.show=t.get("Fullscreen Not Supported")}}),(0,l.def)(e,"fullscreen",(0,l.get)(e,"fullscreen"))})}},{"@swc/helpers/_/_async_to_generator":"eONSn","@swc/helpers/_/_ts_generator":"6Xyd0","../libs/screenfull":"cM8lD","../utils":"7MU7R","@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}],cM8lD:[function(e,t,r){e("@parcel/transformer-js/src/esmodule-helpers.js").defineInteropFlag(r);var n=e("@swc/helpers/_/_sliced_to_array"),o=[["requestFullscreen","exitFullscreen","fullscreenElement","fullscreenEnabled","fullscreenchange","fullscreenerror"],["webkitRequestFullscreen","webkitExitFullscreen","webkitFullscreenElement","webkitFullscreenEnabled","webkitfullscreenchange","webkitfullscreenerror"],["webkitRequestFullScreen","webkitCancelFullScreen","webkitCurrentFullScreenElement","webkitCancelFullScreen","webkitfullscreenchange","webkitfullscreenerror"],["mozRequestFullScreen","mozCancelFullScreen","mozFullScreenElement","mozFullScreenEnabled","mozfullscreenchange","mozfullscreenerror"],["msRequestFullscreen","msExitFullscreen","msFullscreenElement","msFullscreenEnabled","MSFullscreenChange","MSFullscreenError"]],a=function(){if("undefined"==typeof document)return!1;var e=o[0],t={},r=!0,a=!1,i=void 0;try{for(var s,l=o[Symbol.iterator]();!(r=(s=l.next()).done);r=!0){var c=s.value;if(c[1]in document){var u=!0,p=!1,f=void 0;try{for(var d,h=c.entries()[Symbol.iterator]();!(u=(d=h.next()).done);u=!0){var m=(0,n._)(d.value,2),v=m[0],g=m[1];t[e[v]]=g}}catch(e){p=!0,f=e}finally{try{u||null==h.return||h.return()}finally{if(p)throw f}}return t}}}catch(e){a=!0,i=e}finally{try{r||null==l.return||l.return()}finally{if(a)throw i}}return!1}(),i={change:a.fullscreenchange,error:a.fullscreenerror},s={request:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:document.documentElement,t=arguments.length>1?arguments[1]:void 0;return new Promise(function(r,n){var o=function(){s.off("change",o),r()};s.on("change",o);var i=e[a.requestFullscreen](t);i instanceof Promise&&i.then(o).catch(n)})},exit:function(){return new Promise(function(e,t){if(!s.isFullscreen){e();return}var r=function(){s.off("change",r),e()};s.on("change",r);var n=document[a.exitFullscreen]();n instanceof Promise&&n.then(r).catch(t)})},toggle:function(e,t){return s.isFullscreen?s.exit():s.request(e,t)},onchange:function(e){s.on("change",e)},onerror:function(e){s.on("error",e)},on:function(e,t){var r=i[e];r&&document.addEventListener(r,t,!1)},off:function(e,t){var r=i[e];r&&document.removeEventListener(r,t,!1)},raw:a};Object.defineProperties(s,{isFullscreen:{get:function(){return!!document[a.fullscreenElement]}},element:{enumerable:!0,get:function(){return document[a.fullscreenElement]}},isEnabled:{enumerable:!0,get:function(){return!!document[a.fullscreenEnabled]}}}),a||(s={isEnabled:!1}),r.default=s},{"@swc/helpers/_/_sliced_to_array":"uVQht","@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}],uVQht:[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(r),n.export(r,"_",function(){return l});var o=e("./_array_with_holes.js"),a=e("./_iterable_to_array_limit.js"),i=e("./_non_iterable_rest.js"),s=e("./_unsupported_iterable_to_array.js");function l(e,t){return(0,o._)(e)||(0,a._)(e,t)||(0,s._)(e,t)||(0,i._)()}},{"./_array_with_holes.js":"hF14e","./_iterable_to_array_limit.js":"loYCM","./_non_iterable_rest.js":"2Mjp1","./_unsupported_iterable_to_array.js":"5m31D","@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}],hF14e:[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");function o(e){if(Array.isArray(e))return e}n.defineInteropFlag(r),n.export(r,"_",function(){return o})},{"@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}],loYCM:[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");function o(e,t){var r,n,o=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var a=[],i=!0,s=!1;try{for(o=o.call(e);!(i=(r=o.next()).done)&&(a.push(r.value),!t||a.length!==t);i=!0);}catch(e){s=!0,n=e}finally{try{i||null==o.return||o.return()}finally{if(s)throw n}}return a}}n.defineInteropFlag(r),n.export(r,"_",function(){return o})},{"@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}],"2Mjp1":[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");function o(){throw TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}n.defineInteropFlag(r),n.export(r,"_",function(){return o})},{"@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}],aLUYJ:[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(r),n.export(r,"default",function(){return a});var o=e("../utils");function a(e){var t=e.constructor,r=e.template,n=r.$container,a=r.$player,i="";(0,o.def)(e,"fullscreenWeb",{get:function(){return(0,o.hasClass)(a,"art-fullscreen-web")},set:function(r){r?(i=a.style.cssText,t.FULLSCREEN_WEB_IN_BODY&&(0,o.append)(document.body,a),e.state="fullscreenWeb",(0,o.setStyle)(a,"width","100%"),(0,o.setStyle)(a,"height","100%"),(0,o.addClass)(a,"art-fullscreen-web"),e.emit("fullscreenWeb",!0)):(t.FULLSCREEN_WEB_IN_BODY&&(0,o.append)(n,a),i&&(a.style.cssText=i,i=""),(0,o.removeClass)(a,"art-fullscreen-web"),e.emit("fullscreenWeb",!1)),e.emit("resize")}})}},{"../utils":"7MU7R","@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}],jJ7PZ:[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(r),n.export(r,"default",function(){return a});var o=e("../utils");function a(e){var t,r,n,a,i=e.i18n,s=e.notice,l=e.template.$video;document.pictureInPictureEnabled?(t=e.template.$video,r=e.proxy,n=e.notice,t.disablePictureInPicture=!1,(0,o.def)(e,"pip",{get:function(){return document.pictureInPictureElement},set:function(r){r?(e.state="pip",t.requestPictureInPicture().catch(function(e){throw n.show=e,e})):document.exitPictureInPicture().catch(function(e){throw n.show=e,e})}}),r(t,"enterpictureinpicture",function(){e.emit("pip",!0)}),r(t,"leavepictureinpicture",function(){e.emit("pip",!1)})):l.webkitSupportsPresentationMode?((a=e.template.$video).webkitSetPresentationMode("inline"),(0,o.def)(e,"pip",{get:function(){return"picture-in-picture"===a.webkitPresentationMode},set:function(t){t?(e.state="pip",a.webkitSetPresentationMode("picture-in-picture"),e.emit("pip",!0)):(a.webkitSetPresentationMode("inline"),e.emit("pip",!1))}})):(0,o.def)(e,"pip",{get:function(){return!1},set:function(){s.show=i.get("PIP Not Supported")}})}},{"../utils":"7MU7R","@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}],"3RcYf":[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(r),n.export(r,"default",function(){return a});var o=e("../utils");function a(e){var t=e.template.$video;(0,o.def)(e,"loaded",{get:function(){return e.loadedTime/t.duration}}),(0,o.def)(e,"loadedTime",{get:function(){return t.buffered.length?t.buffered.end(t.buffered.length-1):0}})}},{"../utils":"7MU7R","@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}],hpdzI:[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(r),n.export(r,"default",function(){return a});var o=e("../utils");function a(e){(0,o.def)(e,"played",{get:function(){return e.currentTime/e.duration}})}},{"../utils":"7MU7R","@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}],dQpMB:[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(r),n.export(r,"default",function(){return a});var o=e("../utils");function a(e){var t=e.template.$video;(0,o.def)(e,"playing",{get:function(){return"boolean"==typeof t.playing?t.playing:!!(t.currentTime>0&&!t.paused&&!t.ended&&t.readyState>2)}})}},{"../utils":"7MU7R","@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}],i3W5n:[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(r),n.export(r,"default",function(){return a});var o=e("../utils");function a(e){var t=e.template,r=t.$container,n=t.$player,a=t.$video;(0,o.def)(e,"autoSize",{value:function(){var t=a.videoWidth,i=a.videoHeight,s=(0,o.getRect)(r),l=s.width,c=s.height,u=t/i;l/c>u?((0,o.setStyle)(n,"width","".concat(c*u/l*100,"%")),(0,o.setStyle)(n,"height","100%")):((0,o.setStyle)(n,"width","100%"),(0,o.setStyle)(n,"height","".concat(l/u/c*100,"%"))),e.emit("autoSize",{width:e.width,height:e.height})}})}},{"../utils":"7MU7R","@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}],eA2QA:[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(r),n.export(r,"default",function(){return a});var o=e("../utils");function a(e){(0,o.def)(e,"rect",{get:function(){return(0,o.getRect)(e.template.$player)}});for(var t=["bottom","height","left","right","top","width"],r=0;r');(0,o.append)(d,t.close),r(d,"click",p);var h=(0,o.append)(i,'
'),m=(0,o.append)(h,t.play),v=(0,o.append)(h,t.pause);return r(m,"click",function(){return e.play()}),r(v,"click",function(){return e.pause()}),f(m,v),e.on("video:playing",function(){return f(m,v)}),e.on("video:pause",function(){return f(m,v)}),e.on("video:timeupdate",function(){return f(m,v)}),r(i,"mousedown",function(e){l=0===e.button,c=e.pageX,u=e.pageY}),e.on("document:mousemove",function(e){if(l){(0,o.addClass)(i,"art-mini-droging");var t=e.pageX-c,r=e.pageY-u;(0,o.setStyle)(i,"transform","translate(".concat(t,"px, ").concat(r,"px)"))}}),e.on("document:mouseup",function(){if(l){l=!1,(0,o.removeClass)(i,"art-mini-droging");var e=(0,o.getRect)(i);n.set("left",e.left),n.set("top",e.top),(0,o.setStyle)(i,"left","".concat(e.left,"px")),(0,o.setStyle)(i,"top","".concat(e.top,"px")),(0,o.setStyle)(i,"transform",null)}}),i}(),m=n.get("top"),v=n.get("left");m&&v?((0,o.setStyle)(h,"top","".concat(m,"px")),(0,o.setStyle)(h,"left","".concat(v,"px")),(0,o.isInViewport)(h)||d()):d(),e.emit("mini",!0)}else p()}})}},{"../utils":"7MU7R","@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}],"3Bs5U":[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(r),n.export(r,"default",function(){return a});var o=e("../utils");function a(e){var t=e.template.$poster;(0,o.def)(e,"poster",{get:function(){try{return t.style.backgroundImage.match(/"(.*)"/)[1]}catch(e){return""}},set:function(e){(0,o.setStyle)(t,"backgroundImage","url(".concat(e,")"))}})}},{"../utils":"7MU7R","@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}],gRfBQ:[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(r),n.export(r,"default",function(){return a});var o=e("../utils");function a(e){var t=e.template,r=t.$container,n=t.$video;(0,o.def)(e,"autoHeight",{value:function(){var t=r.clientWidth,a=n.videoHeight,i=t/n.videoWidth*a;(0,o.setStyle)(r,"height",i+"px"),e.emit("autoHeight",i)}})}},{"../utils":"7MU7R","@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}],"6gWkU":[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(r),n.export(r,"default",function(){return a});var o=e("../utils");function a(e){var t=e.template.$player;(0,o.def)(e,"cssVar",{value:function(e,r){return r?t.style.setProperty(e,r):getComputedStyle(t).getPropertyValue(e)}})}},{"../utils":"7MU7R","@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}],"6YX9w":[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(r),n.export(r,"default",function(){return a});var o=e("../utils");function a(e){(0,o.def)(e,"theme",{get:function(){return e.cssVar("--art-theme")},set:function(t){e.cssVar("--art-theme",t)}})}},{"../utils":"7MU7R","@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}],cBZG8:[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(r),n.export(r,"default",function(){return a});var o=e("../utils");function a(e){(0,o.def)(e,"type",{get:function(){return e.option.type},set:function(t){e.option.type=t}})}},{"../utils":"7MU7R","@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}],bpFKI:[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(r),n.export(r,"default",function(){return a});var o=e("../utils");function a(e){var t=["mini","pip","fullscreen","fullscreenWeb"];(0,o.def)(e,"state",{get:function(){return t.find(function(t){return e[t]})||"standard"},set:function(r){for(var n=0;n0&&yl.clientWidth-m/2?(0,i.setStyle)(o,"left","".concat(l.clientWidth-m,"px")):(0,i.setStyle)(o,"left","".concat(t-m/2,"px"))}}(y):i.isMobile||(0,i.setStyle)(m,"display","none"),g&&(clearTimeout(u),u=setTimeout(function(){(0,i.setStyle)(m,"display","none")},500)),a.label=3;case 3:return[2]}})}),function(e,r,n){return t.apply(this,arguments)})),(0,i.def)(e,"thumbnails",{get:function(){return e.option.thumbnails},set:function(t){t.url&&!e.option.isLive&&(e.option.thumbnails=t,clearTimeout(u),u=null,p=null,f=!1,d=!1)}})}},{"@swc/helpers/_/_async_to_generator":"eONSn","@swc/helpers/_/_ts_generator":"6Xyd0","../utils":"7MU7R","@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}],PZTTa:[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(r),n.export(r,"default",function(){return a});var o=e("../utils");function a(e){var t=e.option,r=e.storage,n=e.template,a=n.$video,i=n.$poster;for(var s in t.moreVideoAttr)e.attr(s,t.moreVideoAttr[s]);t.muted&&(e.muted=t.muted),t.volume&&(a.volume=(0,o.clamp)(t.volume,0,1));var l=r.get("volume");for(var c in"number"==typeof l&&(a.volume=(0,o.clamp)(l,0,1)),t.poster&&(0,o.setStyle)(i,"backgroundImage","url(".concat(t.poster,")")),t.autoplay&&(a.autoplay=t.autoplay),t.playsInline&&(a.playsInline=!0,a["webkit-playsinline"]=!0),t.theme&&(t.cssVar["--art-theme"]=t.theme),t.cssVar)e.cssVar(c,t.cssVar[c]);e.url=t.url}},{"../utils":"7MU7R","@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}],cKj2D:[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(r),n.export(r,"default",function(){return c});var o=e("@swc/helpers/_/_async_to_generator"),a=e("@swc/helpers/_/_ts_generator"),i=e("../config"),s=n.interopDefault(i),l=e("../utils");function c(e){for(var t,r=e.i18n,n=e.notice,i=e.option,c=e.constructor,u=e.proxy,p=e.template,f=p.$player,d=p.$video,h=p.$poster,m=0,v=0;v=a.CONTROL_HIDE_TIME&&(n.show=!1)}),e.on("control",function(e){e?((0,u.removeClass)(s,"art-hide-cursor"),(0,u.addClass)(s,"art-hover"),n.timer=Date.now()):((0,u.addClass)(s,"art-hide-cursor"),(0,u.removeClass)(s,"art-hover"))}),n.init(),n}return(0,a._)(r,[{key:"init",value:function(){var e=this,t=this.art.option;t.isLive||this.add((0,x.default)({name:"progress",position:"top",index:10})),this.add({name:"thumbnails",position:"top",index:20}),this.add((0,b.default)({name:"playAndPause",position:"left",index:10})),this.add((0,S.default)({name:"volume",position:"left",index:20})),t.isLive||this.add((0,k.default)({name:"time",position:"left",index:30})),t.quality.length&&(0,u.sleep)().then(function(){e.art.quality=t.quality}),t.screenshot&&!u.isMobile&&this.add((0,E.default)({name:"screenshot",position:"right",index:20})),t.setting&&this.add((0,D.default)({name:"setting",position:"right",index:30})),t.pip&&this.add((0,y.default)({name:"pip",position:"right",index:40})),t.airplay&&window.WebKitPlaybackTargetAvailabilityEvent&&this.add((0,R.default)({name:"airplay",position:"right",index:50})),t.fullscreenWeb&&this.add((0,v.default)({name:"fullscreenWeb",position:"right",index:60})),t.fullscreen&&this.add((0,h.default)({name:"fullscreen",position:"right",index:70}));for(var r=0;r=Number(a.dataset.index)});s?s.insertAdjacentElement("beforebegin",a):(0,l.append)(this.$parent,a),r.html&&(0,l.append)(a,r.html),r.style&&(0,l.setStyles)(a,r.style),r.tooltip&&(0,l.tooltip)(a,r.tooltip);var c=[];if(r.click){var p=this.art.events.proxy(a,"click",function(e){e.preventDefault(),r.click.call(t.art,t,e)});c.push(p)}return r.selector&&["left","right"].includes(r.position)&&this.addSelector(r,a,c),this[n]=a,this.cache.set(n,{$ref:a,events:c,option:r}),r.mounted&&r.mounted.call(this.art,a),a}}},{key:"addSelector",value:function(e,t,r){var n,a=this.art.events,i=a.hover,u=a.proxy;(0,l.addClass)(t,"art-control-selector");var p=(0,l.createElement)("div");(0,l.addClass)(p,"art-selector-value"),(0,l.append)(p,e.html),t.innerText="",(0,l.append)(t,p);var f=e.selector.map(function(e,t){return'
').concat(e.html,"
")}).join(""),d=(0,l.createElement)("div");(0,l.addClass)(d,"art-selector-list"),(0,l.append)(d,f),(0,l.append)(t,d);var h=function(){var e=(0,l.getStyle)(t,"width"),r=(0,l.getStyle)(d,"width");d.style.left="".concat(e/2-r/2,"px")};i(t,h);var m=this,v=u(d,"click",(n=(0,o._)(function(t){var r,n,o,a;return(0,s._)(this,function(i){switch(i.label){case 0:if(!(r=(t.composedPath()||[]).find(function(e){return(0,l.hasClass)(e,"art-selector-item")})))return[2];if((0,l.inverseClass)(r,"art-current"),n=Number(r.dataset.index),o=e.selector[n]||{},p.innerText=r.innerText,!e.onSelect)return[3,2];return[4,e.onSelect.call(m.art,o,r,t)];case 1:a=i.sent(),(0,c.isStringOrNumber)(a)&&(p.innerHTML=a),i.label=2;case 2:return h(),[2]}})}),function(e){return n.apply(this,arguments)}));r.push(v)}},{key:"remove",value:function(e){var t=this.cache.get(e);(0,u.errorHandle)(t,"Can't find [".concat(e,"] from the [").concat(this.name,"]")),t.option.beforeUnmount&&t.option.beforeUnmount.call(this.art,t.$ref);for(var r=0;r\n
\n
\n
\n
\n
\n
\n\n ',mounted:function(e){var o=null,a=!1,u=(0,i.query)(".art-progress-hover",e),p=(0,i.query)(".art-progress-loaded",e),f=(0,i.query)(".art-progress-played",e),d=(0,i.query)(".art-progress-highlight",e),h=(0,i.query)(".art-progress-indicator",e),m=(0,i.query)(".art-progress-tip",e);function v(r,n){var o=n||s(t,r),a=o.width,l=o.time;m.innerText=l;var c=m.clientWidth;a<=c/2?(0,i.setStyle)(m,"left",0):a>e.clientWidth-c/2?(0,i.setStyle)(m,"left","".concat(e.clientWidth-c,"px")):(0,i.setStyle)(m,"left","".concat(a-c/2,"px"))}r.indicator?(0,i.append)(h,r.indicator):(0,i.setStyle)(h,"backgroundColor","var(--art-theme)"),t.on("setBar",function(r,n,a){var s="played"===r&&a&&i.isMobile;"loaded"===r&&(0,i.setStyle)(p,"width","".concat(100*n,"%")),"hover"===r&&(0,i.setStyle)(u,"width","".concat(100*n,"%")),"played"===r&&((0,i.setStyle)(f,"width","".concat(100*n,"%")),(0,i.setStyle)(h,"left","".concat(100*n,"%"))),s&&((0,i.setStyle)(m,"display","flex"),v(a,{width:e.clientWidth*n,time:(0,i.secondToTime)(n*t.duration)}),clearTimeout(o),o=setTimeout(function(){(0,i.setStyle)(m,"display","none")},500))}),t.on("video:loadedmetadata",function(){d.innerText="";for(var e=0;e');(0,i.append)(d,a)}}),t.on("video:progress",function(){t.emit("setBar","loaded",t.loaded)}),t.constructor.USE_RAF?t.on("raf",function(){t.emit("setBar","played",t.played)}):t.on("video:timeupdate",function(){t.emit("setBar","played",t.played)}),t.on("video:ended",function(){t.emit("setBar","played",1)}),t.emit("setBar","loaded",t.loaded||0),i.isMobile||(c(e,"click",function(e){e.target!==h&&l(t,e)}),c(e,"mousemove",function(r){var n,o,a,l=s(t,r).percentage;(t.emit("setBar","hover",l,r),(0,i.setStyle)(m,"display","flex"),(0,i.includeFromEvent)(r,d))?(n=s(t,r).width,o=r.target.dataset.text,m.innerText=o,n<=(a=m.clientWidth)/2?(0,i.setStyle)(m,"left",0):n>e.clientWidth-a/2?(0,i.setStyle)(m,"left","".concat(e.clientWidth-a,"px")):(0,i.setStyle)(m,"left","".concat(n-a/2,"px"))):v(r)}),c(e,"mouseleave",function(e){(0,i.setStyle)(m,"display","none"),t.emit("setBar","hover",0,e)}),c(e,"mousedown",function(e){a=0===e.button}),t.on("document:mousemove",function(e){if(a){var r=s(t,e),n=r.second,o=r.percentage;t.emit("setBar","played",o,e),t.seek=n}}),t.on("document:mouseup",function(){a&&(a=!1)}))}})}}},{"@swc/helpers/_/_object_spread":"9agdF","@swc/helpers/_/_object_spread_props":"gJNH2","../utils":"7MU7R","@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}],l3dNa:[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(r),n.export(r,"default",function(){return s});var o=e("@swc/helpers/_/_object_spread"),a=e("@swc/helpers/_/_object_spread_props"),i=e("../utils");function s(e){return function(t){return(0,a._)((0,o._)({},e),{style:i.isMobile?{fontSize:"12px",padding:"0 5px"}:{cursor:"auto",padding:"0 10px"},mounted:function(e){function r(){var r="".concat((0,i.secondToTime)(t.currentTime)," / ").concat((0,i.secondToTime)(t.duration));r!==e.innerText&&(e.innerText=r)}r();for(var n=["video:loadedmetadata","video:timeupdate","video:progress"],o=0;o'),l=(0,i.append)(s,'
'),c=(0,i.append)(l,'
'),u=(0,i.append)(l,'
'),p=(0,i.append)(u,'
'),f=(0,i.append)(p,'
'),d=(0,i.append)(u,'
');function h(e){var t=(0,i.getRect)(u),r=t.top,n=t.height;return 1-(e.clientY-r)/n}function m(){if(t.muted||0===t.volume)(0,i.setStyle)(o,"display","none"),(0,i.setStyle)(a,"display","flex"),(0,i.setStyle)(d,"top","100%"),(0,i.setStyle)(f,"top","100%"),c.innerText=0;else{var e=100*t.volume;(0,i.setStyle)(o,"display","flex"),(0,i.setStyle)(a,"display","none"),(0,i.setStyle)(d,"top","".concat(100-e,"%")),(0,i.setStyle)(f,"top","".concat(100-e,"%")),c.innerText=Math.floor(e)}}if(m(),t.on("video:volumechange",m),r(o,"click",function(){t.muted=!0}),r(a,"click",function(){t.muted=!1}),i.isMobile)(0,i.setStyle)(s,"display","none");else{var v=!1;r(u,"mousedown",function(e){v=0===e.button,t.volume=h(e)}),t.on("document:mousemove",function(e){v&&(t.muted=!1,t.volume=h(e))}),t.on("document:mouseup",function(){v&&(v=!1)})}}})}}},{"@swc/helpers/_/_object_spread":"9agdF","@swc/helpers/_/_object_spread_props":"gJNH2","../utils":"7MU7R","@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}],"2XGYu":[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(r),n.export(r,"default",function(){return s});var o=e("@swc/helpers/_/_object_spread"),a=e("@swc/helpers/_/_object_spread_props"),i=e("../utils");function s(e){return function(t){return(0,a._)((0,o._)({},e),{tooltip:t.i18n.get("Show Setting"),mounted:function(e){var r=t.proxy,n=t.icons,o=t.i18n;(0,i.append)(e,n.setting),r(e,"click",function(){t.setting.toggle(),t.setting.updateStyle()}),t.on("setting",function(t){(0,i.tooltip)(e,o.get(t?"Hide Setting":"Show Setting"))})}})}}},{"@swc/helpers/_/_object_spread":"9agdF","@swc/helpers/_/_object_spread_props":"gJNH2","../utils":"7MU7R","@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}],idjoR:[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(r),n.export(r,"default",function(){return s});var o=e("@swc/helpers/_/_object_spread"),a=e("@swc/helpers/_/_object_spread_props"),i=e("../utils");function s(e){return function(t){return(0,a._)((0,o._)({},e),{tooltip:t.i18n.get("Screenshot"),mounted:function(e){var r=t.proxy,n=t.icons;(0,i.append)(e,n.screenshot),r(e,"click",function(){t.screenshot()})}})}}},{"@swc/helpers/_/_object_spread":"9agdF","@swc/helpers/_/_object_spread_props":"gJNH2","../utils":"7MU7R","@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}],huCXW:[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(r),n.export(r,"default",function(){return s});var o=e("@swc/helpers/_/_object_spread"),a=e("@swc/helpers/_/_object_spread_props"),i=e("../utils");function s(e){return function(t){return(0,a._)((0,o._)({},e),{tooltip:t.i18n.get("AirPlay"),mounted:function(e){var r=t.proxy,n=t.icons;(0,i.append)(e,n.airplay),r(e,"click",function(){return t.airplay()})}})}}},{"@swc/helpers/_/_object_spread":"9agdF","@swc/helpers/_/_object_spread_props":"gJNH2","../utils":"7MU7R","@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}],"5RLZo":[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(r),n.export(r,"default",function(){return j});var o=e("@swc/helpers/_/_class_call_check"),a=e("@swc/helpers/_/_create_class"),i=e("@swc/helpers/_/_inherits"),s=e("@swc/helpers/_/_create_super"),l=e("../utils"),c=e("../utils/component"),u=n.interopDefault(c),p=e("./playbackRate"),f=n.interopDefault(p),d=e("./aspectRatio"),h=n.interopDefault(d),m=e("./flip"),v=n.interopDefault(m),g=e("./info"),y=n.interopDefault(g),_=e("./version"),b=n.interopDefault(_),w=e("./close"),x=n.interopDefault(w),j=/*#__PURE__*/function(e){(0,i._)(r,e);var t=(0,s._)(r);function r(e){var n;return(0,o._)(this,r),(n=t.call(this,e)).name="contextmenu",n.$parent=e.template.$contextmenu,l.isMobile||n.init(),n}return(0,a._)(r,[{key:"init",value:function(){var e=this,t=this.art,r=t.option,n=t.proxy,o=t.template,a=o.$player,i=o.$contextmenu;r.playbackRate&&this.add((0,f.default)({name:"playbackRate",index:10})),r.aspectRatio&&this.add((0,h.default)({name:"aspectRatio",index:20})),r.flip&&this.add((0,v.default)({name:"flip",index:30})),this.add((0,y.default)({name:"info",index:40})),this.add((0,b.default)({name:"version",index:50})),this.add((0,x.default)({name:"close",index:60}));for(var s=0;su+c&&(m=c-h),n+d>p+s&&(v=s-d),(0,l.setStyles)(i,{top:"".concat(v,"px"),left:"".concat(m,"px")})}}),n(a,"click",function(t){(0,l.includeFromEvent)(t,i)||(e.show=!1)}),this.art.on("blur",function(){e.show=!1})}}]),r}(u.default)},{"@swc/helpers/_/_class_call_check":"9iJMm","@swc/helpers/_/_create_class":"21IOT","@swc/helpers/_/_inherits":"3pfgY","@swc/helpers/_/_create_super":"86fte","../utils":"7MU7R","../utils/component":"2dsXg","./playbackRate":"7w1iV","./aspectRatio":"cJDR0","./flip":"cpqHQ","./info":"FMfqg","./version":"a9IHg","./close":"9PxVB","@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}],"7w1iV":[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(r),n.export(r,"default",function(){return s});var o=e("@swc/helpers/_/_object_spread"),a=e("@swc/helpers/_/_object_spread_props"),i=e("../utils");function s(e){return function(t){var r=t.i18n,n=t.constructor.PLAYBACK_RATE.map(function(e){return'').concat(1===e?r.get("Normal"):e.toFixed(1),"")}).join("");return(0,a._)((0,o._)({},e),{html:"".concat(r.get("Play Speed"),": ").concat(n),click:function(e,r){var n=r.target.dataset.value;n&&(t.playbackRate=Number(n),e.show=!1)},mounted:function(e){var r=(0,i.query)('[data-value="1"]',e);r&&(0,i.inverseClass)(r,"art-current"),t.on("video:ratechange",function(){var r=(0,i.queryAll)("span",e).find(function(e){return Number(e.dataset.value)===t.playbackRate});r&&(0,i.inverseClass)(r,"art-current")})}})}}},{"@swc/helpers/_/_object_spread":"9agdF","@swc/helpers/_/_object_spread_props":"gJNH2","../utils":"7MU7R","@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}],cJDR0:[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(r),n.export(r,"default",function(){return s});var o=e("@swc/helpers/_/_object_spread"),a=e("@swc/helpers/_/_object_spread_props"),i=e("../utils");function s(e){return function(t){var r=t.i18n,n=t.constructor.ASPECT_RATIO.map(function(e){return'').concat("default"===e?r.get("Default"):e,"")}).join("");return(0,a._)((0,o._)({},e),{html:"".concat(r.get("Aspect Ratio"),": ").concat(n),click:function(e,r){var n=r.target.dataset.value;n&&(t.aspectRatio=n,e.show=!1)},mounted:function(e){var r=(0,i.query)('[data-value="default"]',e);r&&(0,i.inverseClass)(r,"art-current"),t.on("aspectRatio",function(t){var r=(0,i.queryAll)("span",e).find(function(e){return e.dataset.value===t});r&&(0,i.inverseClass)(r,"art-current")})}})}}},{"@swc/helpers/_/_object_spread":"9agdF","@swc/helpers/_/_object_spread_props":"gJNH2","../utils":"7MU7R","@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}],cpqHQ:[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(r),n.export(r,"default",function(){return s});var o=e("@swc/helpers/_/_object_spread"),a=e("@swc/helpers/_/_object_spread_props"),i=e("../utils");function s(e){return function(t){var r=t.i18n,n=t.constructor.FLIP.map(function(e){return'').concat(r.get((0,i.capitalize)(e)),"")}).join("");return(0,a._)((0,o._)({},e),{html:"".concat(r.get("Video Flip"),": ").concat(n),click:function(e,r){var n=r.target.dataset.value;n&&(t.flip=n.toLowerCase(),e.show=!1)},mounted:function(e){var r=(0,i.query)('[data-value="normal"]',e);r&&(0,i.inverseClass)(r,"art-current"),t.on("flip",function(t){var r=(0,i.queryAll)("span",e).find(function(e){return e.dataset.value===t});r&&(0,i.inverseClass)(r,"art-current")})}})}}},{"@swc/helpers/_/_object_spread":"9agdF","@swc/helpers/_/_object_spread_props":"gJNH2","../utils":"7MU7R","@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}],FMfqg:[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(r),n.export(r,"default",function(){return i});var o=e("@swc/helpers/_/_object_spread"),a=e("@swc/helpers/_/_object_spread_props");function i(e){return function(t){return(0,a._)((0,o._)({},e),{html:t.i18n.get("Video Info"),click:function(e){t.info.show=!0,e.show=!1}})}}},{"@swc/helpers/_/_object_spread":"9agdF","@swc/helpers/_/_object_spread_props":"gJNH2","@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}],a9IHg:[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(r),n.export(r,"default",function(){return i});var o=e("@swc/helpers/_/_object_spread"),a=e("@swc/helpers/_/_object_spread_props");function i(e){return(0,a._)((0,o._)({},e),{html:'ArtPlayer 5.1.7'})}},{"@swc/helpers/_/_object_spread":"9agdF","@swc/helpers/_/_object_spread_props":"gJNH2","@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}],"9PxVB":[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(r),n.export(r,"default",function(){return i});var o=e("@swc/helpers/_/_object_spread"),a=e("@swc/helpers/_/_object_spread_props");function i(e){return function(t){return(0,a._)((0,o._)({},e),{html:t.i18n.get("Close"),click:function(e){e.show=!1}})}}},{"@swc/helpers/_/_object_spread":"9agdF","@swc/helpers/_/_object_spread_props":"gJNH2","@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}],"6JYu5":[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(r),n.export(r,"default",function(){return u});var o=e("@swc/helpers/_/_class_call_check"),a=e("@swc/helpers/_/_create_class"),i=e("@swc/helpers/_/_inherits"),s=e("@swc/helpers/_/_create_super"),l=e("./utils"),c=e("./utils/component"),u=/*#__PURE__*/function(e){(0,i._)(r,e);var t=(0,s._)(r);function r(e){var n;return(0,o._)(this,r),(n=t.call(this,e)).name="info",l.isMobile||n.init(),n}return(0,a._)(r,[{key:"init",value:function(){var e=this,t=this.art,r=t.proxy,n=t.constructor,o=t.template,a=o.$infoPanel,i=o.$infoClose,s=o.$video;r(i,"click",function(){e.show=!1});var c=null,u=(0,l.queryAll)("[data-video]",a)||[];this.art.on("destroy",function(){return clearTimeout(c)}),function e(){for(var t=0;t'.concat((0,f.escape)(e),"")}).join(""):e.innerHTML=this.activeCue.text,this.art.emit("subtitleUpdate",this.activeCue.text))}},{key:"switch",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=this;return(0,o._)(function(){var n,o,a,i,s,u;return(0,p._)(this,function(p){switch(p.label){case 0:return o=(n=r.art).i18n,a=n.notice,i=n.option,s=(0,c._)((0,l._)({},i.subtitle,t),{url:e}),[4,r.init(s)];case 1:return u=p.sent(),t.name&&(a.show="".concat(o.get("Switch Subtitle"),": ").concat(t.name)),[2,u]}})})()}},{key:"createTrack",value:function(e,t){var r=this,n=this.art,o=n.template,a=n.proxy,i=n.option,s=o.$video,l=o.$track,c=(0,f.createElement)("track");c.default=!0,c.kind=e,c.src=t,c.label=i.subtitle.name||"Artplayer",c.track.mode="hidden",this.eventDestroy(),(0,f.remove)(l),(0,f.append)(s,c),o.$track=c,this.eventDestroy=a(this.textTrack,"cuechange",function(){return r.update()})}},{key:"init",value:function(e){var t=this;return(0,o._)(function(){var r,n,o;return(0,p._)(this,function(a){return(n=(r=t.art).notice,o=r.template.$subtitle,t.textTrack)?((0,v.default)(e,y.default.subtitle),e.url)?(t.style(e.style),[2,fetch(e.url).then(function(e){return e.arrayBuffer()}).then(function(r){var n=new TextDecoder(e.encoding).decode(r);switch(t.art.emit("subtitleLoad",e.url),e.type||(0,f.getExt)(e.url)){case"srt":var o=(0,f.srtToVtt)(n),a=e.onVttLoad(o);return(0,f.vttToBlob)(a);case"ass":var i=(0,f.assToVtt)(n),s=e.onVttLoad(i);return(0,f.vttToBlob)(s);case"vtt":var l=e.onVttLoad(n);return(0,f.vttToBlob)(l);default:return e.url}}).then(function(e){return o.innerHTML="",t.url===e||(URL.revokeObjectURL(t.url),t.createTrack("metadata",e),t.art.emit("subtitleSwitch",e)),e}).catch(function(e){throw o.innerHTML="",n.show=e,e})]):[2]:[2,null]})})()}}]),r}(h.default)},{"@swc/helpers/_/_async_to_generator":"eONSn","@swc/helpers/_/_class_call_check":"9iJMm","@swc/helpers/_/_create_class":"21IOT","@swc/helpers/_/_inherits":"3pfgY","@swc/helpers/_/_object_spread":"9agdF","@swc/helpers/_/_object_spread_props":"gJNH2","@swc/helpers/_/_create_super":"86fte","@swc/helpers/_/_ts_generator":"6Xyd0","./utils":"7MU7R","./utils/component":"2dsXg","option-validator":"8OeHO","./scheme":"39ygm","@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}],"47RGg":[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(r),n.export(r,"default",function(){return j});var o=e("@swc/helpers/_/_class_call_check"),a=e("@swc/helpers/_/_create_class"),i=e("../utils/error"),s=e("./clickInit"),l=n.interopDefault(s),c=e("./hoverInit"),u=n.interopDefault(c),p=e("./moveInit"),f=n.interopDefault(p),d=e("./resizeInit"),h=n.interopDefault(d),m=e("./gestureInit"),v=n.interopDefault(m),g=e("./viewInit"),y=n.interopDefault(g),_=e("./documentInit"),b=n.interopDefault(_),w=e("./updateInit"),x=n.interopDefault(w),j=/*#__PURE__*/function(){function e(t){(0,o._)(this,e),this.destroyEvents=[],this.proxy=this.proxy.bind(this),this.hover=this.hover.bind(this),this.loadImg=this.loadImg.bind(this),(0,l.default)(t,this),(0,u.default)(t,this),(0,f.default)(t,this),(0,h.default)(t,this),(0,v.default)(t,this),(0,y.default)(t,this),(0,b.default)(t,this),(0,x.default)(t,this)}return(0,a._)(e,[{key:"proxy",value:function(e,t,r){var n=this,o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};if(Array.isArray(t))return t.map(function(t){return n.proxy(e,t,r,o)});e.addEventListener(t,r,o);var a=function(){return e.removeEventListener(t,r,o)};return this.destroyEvents.push(a),a}},{key:"hover",value:function(e,t,r){t&&this.proxy(e,"mouseenter",t),r&&this.proxy(e,"mouseleave",r)}},{key:"loadImg",value:function(e){var t=this;return new Promise(function(r,n){var o;if(e instanceof HTMLImageElement)o=e;else{if("string"!=typeof e)return n(new i.ArtPlayerError("Unable to get Image"));(o=new Image).src=e}if(o.complete)return r(o);t.proxy(o,"load",function(){return r(o)}),t.proxy(o,"error",function(){return n(new i.ArtPlayerError("Failed to load Image: ".concat(o.src)))})})}},{key:"remove",value:function(e){var t=this.destroyEvents.indexOf(e);t>-1&&(e(),this.destroyEvents.splice(t,1))}},{key:"destroy",value:function(){for(var e=0;eMath.abs(a)&&2>Math.abs(o))return i;var s=180*Math.atan2(o,a)/Math.PI;return s>=-45&&s<45?i=4:s>=45&&s<135?i=1:s>=-135&&s<-45?i=2:(s>=135&&s<=180||s>=-180&&s<-135)&&(i=3),i}(c,u,a,i),d=[3,4].includes(f),h=[1,2].includes(f);if(d&&!e.isRotate||h&&e.isRotate){var m=(0,o.clamp)((a-c)/e.width,-1,1),v=(0,o.clamp)((i-u)/e.height,-1,1),g=e.isRotate?v:m,y=s===n?e.constructor.TOUCH_MOVE_RATIO:1,_=(0,o.clamp)(p+e.duration*g*y,0,e.duration);e.seek=_,e.emit("setBar","played",(0,o.clamp)(_/e.duration,0,1),t),e.notice.show="".concat((0,o.secondToTime)(_)," / ").concat((0,o.secondToTime)(e.duration))}}};t.proxy(i,"touchstart",function(e){s=i,f(e)}),t.proxy(n,"touchstart",function(e){s=n,f(e)}),t.proxy(n,"touchmove",d),t.proxy(i,"touchmove",d),t.proxy(document,"touchend",function(){l&&(c=0,u=0,p=0,l=!1,s=null)})}}},{"../utils":"7MU7R","../control/progress":"fVfii","@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}],jT4ny:[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(r),n.export(r,"default",function(){return a});var o=e("../utils");function a(e,t){var r=e.option,n=e.constructor,a=e.template.$container,i=(0,o.throttle)(function(){e.emit("view",(0,o.isInViewport)(a,n.SCROLL_GAP))},n.SCROLL_TIME);t.proxy(window,"scroll",function(){return i()}),e.on("view",function(t){r.autoMini&&(e.mini=!t)})}},{"../utils":"7MU7R","@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}],qu07O:[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");function o(e,t){t.proxy(document,"mousemove",function(t){e.emit("document:mousemove",t)}),t.proxy(document,"mouseup",function(t){e.emit("document:mouseup",t)})}n.defineInteropFlag(r),n.export(r,"default",function(){return o})},{"@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}],"9LDSG":[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");function o(e){if(e.constructor.USE_RAF){var t=null;!function r(){e.playing&&e.emit("raf"),e.isDestroy||(t=requestAnimationFrame(r))}(),e.on("destroy",function(){cancelAnimationFrame(t)})}}n.defineInteropFlag(r),n.export(r,"default",function(){return o})},{"@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}],gszG1:[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(r),n.export(r,"default",function(){return s});var o=e("@swc/helpers/_/_class_call_check"),a=e("@swc/helpers/_/_create_class"),i=e("./utils"),s=/*#__PURE__*/function(){function e(t){(0,o._)(this,e),this.art=t,this.keys={},t.option.hotkey&&!i.isMobile&&this.init()}return(0,a._)(e,[{key:"init",value:function(){var e=this,t=this.art,r=t.proxy,n=t.constructor;this.add(27,function(){e.art.fullscreenWeb&&(e.art.fullscreenWeb=!1)}),this.add(32,function(){e.art.toggle()}),this.add(37,function(){e.art.backward=n.SEEK_STEP}),this.add(38,function(){e.art.volume+=n.VOLUME_STEP}),this.add(39,function(){e.art.forward=n.SEEK_STEP}),this.add(40,function(){e.art.volume-=n.VOLUME_STEP}),r(window,"keydown",function(t){if(e.art.isFocus){var r=document.activeElement.tagName.toUpperCase(),n=document.activeElement.getAttribute("contenteditable");if("INPUT"!==r&&"TEXTAREA"!==r&&""!==n&&"true"!==n&&!t.altKey&&!t.ctrlKey&&!t.metaKey&&!t.shiftKey){var o=e.keys[t.keyCode];if(o){t.preventDefault();for(var a=0;a'},{}],fRhwm:[function(e,t,r){t.exports=''},{}],"4tFZV":[function(e,t,r){t.exports=''},{}],a8x3K:[function(e,t,r){t.exports=''},{}],e0utR:[function(e,t,r){t.exports=''},{}],"69Sc6":[function(e,t,r){t.exports=''},{}],"72xuc":[function(e,t,r){t.exports=''},{}],"85cgQ":[function(e,t,r){t.exports=''},{}],"1Qm4Q":[function(e,t,r){t.exports=''},{}],fpGzT:[function(e,t,r){t.exports=''},{}],jlMSj:[function(e,t,r){t.exports=''},{}],"7sEdH":[function(e,t,r){t.exports=''},{}],eHsVM:[function(e,t,r){t.exports=''},{}],"2f6qz":[function(e,t,r){t.exports=''},{}],cy2gj:[function(e,t,r){t.exports=''},{}],hGnnd:[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(r),n.export(r,"default",function(){return j});var o=e("@swc/helpers/_/_async_to_generator"),a=e("@swc/helpers/_/_class_call_check"),i=e("@swc/helpers/_/_create_class"),s=e("@swc/helpers/_/_inherits"),l=e("@swc/helpers/_/_to_consumable_array"),c=e("@swc/helpers/_/_create_super"),u=e("@swc/helpers/_/_ts_generator"),p=e("./flip"),f=n.interopDefault(p),d=e("./aspectRatio"),h=n.interopDefault(d),m=e("./playbackRate"),v=n.interopDefault(m),g=e("./subtitleOffset"),y=n.interopDefault(g),_=e("../utils/component"),b=n.interopDefault(_),w=e("../utils/error"),x=e("../utils"),j=/*#__PURE__*/function(e){(0,s._)(r,e);var t=(0,c._)(r);function r(e){(0,a._)(this,r),n=t.call(this,e);var n,o=e.option,i=e.controls,s=e.template.$setting;return n.name="setting",n.$parent=s,n.option=[],n.events=[],n.cache=new Map,o.setting&&(n.init(),e.on("blur",function(){n.show&&(n.show=!1,n.render(n.option))}),e.on("focus",function(e){var t=(0,x.includeFromEvent)(e,i.setting),r=(0,x.includeFromEvent)(e,n.$parent);!n.show||t||r||(n.show=!1,n.render(n.option))})),n}return(0,i._)(r,[{key:"defaultSettings",get:function(){var e=[],t=this.art.option;return t.playbackRate&&e.push((0,v.default)(this.art)),t.aspectRatio&&e.push((0,h.default)(this.art)),t.flip&&e.push((0,f.default)(this.art)),t.subtitleOffset&&e.push((0,y.default)(this.art)),e}},{key:"init",value:function(){var e=this.art.option,t=(0,l._)(this.defaultSettings).concat((0,l._)(e.settings));this.option=r.makeRecursion(t),this.destroy(),this.render(this.option)}},{key:"destroy",value:function(){for(var e=0;e0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.option,r=0;r'),l=(0,x.createElement)("div");(0,x.addClass)(l,"art-setting-item-left-icon"),(0,x.append)(l,n.arrowLeft),(0,x.append)(s,l),(0,x.append)(s,e.$parentItem.html);var c=o(i,"click",function(){return t.render(e.$parentList)});return this.events.push(c),i}},{key:"creatItem",value:function(e,t){var r=this.art,n=r.icons,a=r.proxy,i=r.constructor,s=(0,x.createElement)("div");(0,x.addClass)(s,"art-setting-item"),(0,x.setStyle)(s,"height","".concat(i.SETTING_ITEM_HEIGHT,"px")),(0,x.isStringOrNumber)(t.name)&&(s.dataset.name=t.name),(0,x.isStringOrNumber)(t.value)&&(s.dataset.value=t.value);var l=(0,x.append)(s,'
'),c=(0,x.append)(s,'
'),p=(0,x.createElement)("div");switch((0,x.addClass)(p,"art-setting-item-left-icon"),e){case"switch":case"range":(0,x.append)(p,(0,x.isStringOrNumber)(t.icon)||t.icon instanceof Element?t.icon:n.config);break;case"selector":t.selector&&t.selector.length?(0,x.append)(p,(0,x.isStringOrNumber)(t.icon)||t.icon instanceof Element?t.icon:n.config):(0,x.append)(p,n.check)}(0,x.append)(l,p),t.$icon=p,(0,x.def)(t,"icon",{configurable:!0,get:function(){return p.innerHTML},set:function(e){(0,x.isStringOrNumber)(e)&&(p.innerHTML=e)}});var f=(0,x.createElement)("div");(0,x.addClass)(f,"art-setting-item-left-text"),(0,x.append)(f,t.html||""),(0,x.append)(l,f),t.$html=f,(0,x.def)(t,"html",{configurable:!0,get:function(){return f.innerHTML},set:function(e){(0,x.isStringOrNumber)(e)&&(f.innerHTML=e)}});var d=(0,x.createElement)("div");switch((0,x.addClass)(d,"art-setting-item-right-tooltip"),(0,x.append)(d,t.tooltip||""),(0,x.append)(c,d),t.$tooltip=d,(0,x.def)(t,"tooltip",{configurable:!0,get:function(){return d.innerHTML},set:function(e){(0,x.isStringOrNumber)(e)&&(d.innerHTML=e)}}),e){case"switch":var h=(0,x.createElement)("div");(0,x.addClass)(h,"art-setting-item-right-icon");var m=(0,x.append)(h,n.switchOn),v=(0,x.append)(h,n.switchOff);(0,x.setStyle)(t.switch?v:m,"display","none"),(0,x.append)(c,h),t.$switch=t.switch,(0,x.def)(t,"switch",{configurable:!0,get:function(){return t.$switch},set:function(e){t.$switch=e,e?((0,x.setStyle)(v,"display","none"),(0,x.setStyle)(m,"display",null)):((0,x.setStyle)(v,"display",null),(0,x.setStyle)(m,"display","none"))}});break;case"range":var g=(0,x.createElement)("div");(0,x.addClass)(g,"art-setting-item-right-icon");var y=(0,x.append)(g,'');y.value=t.range[0]||0,y.min=t.range[1]||0,y.max=t.range[2]||10,y.step=t.range[3]||1,(0,x.addClass)(y,"art-setting-range"),(0,x.append)(c,g),t.$range=y,(0,x.def)(t,"range",{configurable:!0,get:function(){return y.valueAsNumber},set:function(e){y.value=Number(e)}});break;case"selector":if(t.selector&&t.selector.length){var _=(0,x.createElement)("div");(0,x.addClass)(_,"art-setting-item-right-icon"),(0,x.append)(_,n.arrowRight),(0,x.append)(c,_)}}switch(e){case"switch":if(t.onSwitch){var b,w=this,j=a(s,"click",(b=(0,o._)(function(e){return(0,u._)(this,function(r){switch(r.label){case 0:return[4,t.onSwitch.call(w.art,t,s,e)];case 1:return t.switch=r.sent(),[2]}})}),function(e){return b.apply(this,arguments)}));this.events.push(j)}break;case"range":if(t.$range){if(t.onRange){var k,M=this,S=a(t.$range,"change",(k=(0,o._)(function(e){return(0,u._)(this,function(r){switch(r.label){case 0:return[4,t.onRange.call(M.art,t,s,e)];case 1:return t.tooltip=r.sent(),[2]}})}),function(e){return k.apply(this,arguments)}));this.events.push(S)}if(t.onChange){var I,D=this,T=a(t.$range,"input",(I=(0,o._)(function(e){return(0,u._)(this,function(r){switch(r.label){case 0:return[4,t.onChange.call(D.art,t,s,e)];case 1:return t.tooltip=r.sent(),[2]}})}),function(e){return I.apply(this,arguments)}));this.events.push(T)}}break;case"selector":var E,F=this,R=a(s,"click",(E=(0,o._)(function(e){var r,n,o;return(0,u._)(this,function(a){switch(a.label){case 0:if(!(t.selector&&t.selector.length))return[3,1];return F.render(t.selector,t.width),[3,3];case 1:for((0,x.inverseClass)(s,"art-current"),r=0;rd?((0,x.setStyle)(i,"left",null),(0,x.setStyle)(i,"right",null)):((0,x.setStyle)(i,"left","".concat(h,"px")),(0,x.setStyle)(i,"right","auto"))}}},{key:"render",value:function(e,t){var r=this.art.constructor;if(this.cache.has(e)){var n=this.cache.get(e);(0,x.inverseClass)(n,"art-current"),(0,x.setStyle)(this.$parent,"width","".concat(n.dataset.width,"px")),(0,x.setStyle)(this.$parent,"height","".concat(n.dataset.height,"px")),this.updateStyle(Number(n.dataset.width))}else{var o=(0,x.createElement)("div");(0,x.addClass)(o,"art-setting-panel"),o.dataset.width=t||r.SETTING_WIDTH,o.dataset.height=e.length*r.SETTING_ITEM_HEIGHT,e[0]&&e[0].$parentItem&&((0,x.append)(o,this.creatHeader(e[0])),o.dataset.height=Number(o.dataset.height)+r.SETTING_ITEM_HEIGHT);for(var a=0;ao&&cu)&&setTimeout(function(){(0,i.setStyle)(s,"width","".concat(u,"px")),(0,i.setStyle)(s,"height","".concat(c,"px")),(0,i.setStyle)(s,"transform-origin","0 0"),(0,i.setStyle)(s,"transform","rotate(90deg) translate(0, -".concat(c,"px)")),(0,i.addClass)(s,"art-auto-orientation"),e.isRotate=!0,e.emit("resize")},r.AUTO_ORIENTATION_TIME)}else(0,i.hasClass)(s,"art-auto-orientation")&&((0,i.removeClass)(s,"art-auto-orientation"),e.isRotate=!1,e.emit("resize"))}),e.on("fullscreen",(t=(0,o._)(function(e){var t,r,n,o,c,u,p,f,d;return(0,a._)(this,function(a){switch(a.label){case 0:if(!(null===(r=screen)||void 0===r?void 0:null===(t=r.orientation)||void 0===t?void 0:t.lock))return[2];if(n=screen.orientation.type,!e)return[3,3];if(o=l.videoWidth,c=l.videoHeight,p=(u=document.documentElement).clientWidth,f=u.clientHeight,!(o>c&&pf))return[3,2];return d=n.startsWith("portrait")?"landscape":"portrait",[4,screen.orientation.lock(d)];case 1:a.sent(),(0,i.addClass)(s,"art-auto-orientation-fullscreen"),a.label=2;case 2:return[3,5];case 3:if(!(0,i.hasClass)(s,"art-auto-orientation-fullscreen"))return[3,5];return[4,screen.orientation.lock(n)];case 4:a.sent(),(0,i.removeClass)(s,"art-auto-orientation-fullscreen"),a.label=5;case 5:return[2]}})}),function(e){return t.apply(this,arguments)})),{name:"autoOrientation",get state(){return(0,i.hasClass)(s,"art-auto-orientation")}}}},{"@swc/helpers/_/_async_to_generator":"eONSn","@swc/helpers/_/_ts_generator":"6Xyd0","../utils":"7MU7R","@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}],bfOeF:[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(r),n.export(r,"default",function(){return a});var o=e("../utils");function a(e){var t=e.i18n,r=e.icons,n=e.storage,a=e.constructor,i=e.proxy,s=e.template.$poster,l=e.layers.add({name:"auto-playback",html:'\n
\n
\n
\n '}),c=(0,o.query)(".art-auto-playback-last",l),u=(0,o.query)(".art-auto-playback-jump",l),p=(0,o.query)(".art-auto-playback-close",l);return e.on("video:timeupdate",function(){if(e.playing){var t=n.get("times")||{},r=Object.keys(t);r.length>a.AUTO_PLAYBACK_MAX&&delete t[r[0]],t[e.option.id||e.option.url]=e.currentTime,n.set("times",t)}}),e.on("ready",function(){var f=(n.get("times")||{})[e.option.id||e.option.url];f&&f>=a.AUTO_PLAYBACK_MIN&&((0,o.append)(p,r.close),(0,o.setStyle)(l,"display","flex"),c.innerText="".concat(t.get("Last Seen")," ").concat((0,o.secondToTime)(f)),u.innerText=t.get("Jump Play"),i(p,"click",function(){(0,o.setStyle)(l,"display","none")}),i(u,"click",function(){e.seek=f,e.play(),(0,o.setStyle)(s,"display","none"),(0,o.setStyle)(l,"display","none")}),e.once("video:timeupdate",function(){setTimeout(function(){(0,o.setStyle)(l,"display","none")},a.AUTO_PLAYBACK_TIMEOUT)}))}),{name:"auto-playback",get times(){return n.get("times")||{}},clear:function(){return n.del("times")},delete:function(e){var t=n.get("times")||{};return delete t[e],n.set("times",t),t}}}},{"../utils":"7MU7R","@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}],giGC3:[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(r),n.export(r,"default",function(){return a});var o=e("../utils");function a(e){var t=e.constructor,r=e.proxy,n=e.template,a=n.$player,i=n.$video,s=null,l=!1,c=1,u=function(){clearTimeout(s),l&&(l=!1,e.playbackRate=c,(0,o.removeClass)(a,"art-fast-forward"))};return r(i,"touchstart",function(r){1===r.touches.length&&e.playing&&!e.isLock&&(s=setTimeout(function(){l=!0,c=e.playbackRate,e.playbackRate=t.FAST_FORWARD_VALUE,(0,o.addClass)(a,"art-fast-forward")},t.FAST_FORWARD_TIME))}),r(document,"touchmove",u),r(document,"touchend",u),{name:"fastForward",get state(){return(0,o.hasClass)(a,"art-fast-forward")}}}},{"../utils":"7MU7R","@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}],e0Ov6:[function(e,t,r){var n=e("@parcel/transformer-js/src/esmodule-helpers.js");n.defineInteropFlag(r),n.export(r,"default",function(){return a});var o=e("../utils");function a(e){var t=e.layers,r=e.icons,n=e.template.$player;function a(){return(0,o.hasClass)(n,"art-lock")}function i(){(0,o.addClass)(n,"art-lock"),e.isLock=!0,e.emit("lock",!0)}function s(){(0,o.removeClass)(n,"art-lock"),e.isLock=!1,e.emit("lock",!1)}return t.add({name:"lock",mounted:function(t){var n=(0,o.append)(t,r.lock),a=(0,o.append)(t,r.unlock);(0,o.setStyle)(n,"display","none"),e.on("lock",function(e){e?((0,o.setStyle)(n,"display","inline-flex"),(0,o.setStyle)(a,"display","none")):((0,o.setStyle)(n,"display","none"),(0,o.setStyle)(a,"display","inline-flex"))})},click:function(){a()?s():i()}}),{name:"lock",get state(){return a()},set state(value){value?i():s()}}}},{"../utils":"7MU7R","@parcel/transformer-js/src/esmodule-helpers.js":"iWrD0"}]},["4Be4O"],"4Be4O","parcelRequire4dc0"); \ No newline at end of file diff --git a/document/404.html b/document/404.html index 7b5e4c7c6..56b1da1d2 100644 --- a/document/404.html +++ b/document/404.html @@ -5,20 +5,22 @@ 404 | Artplayer.js - - + + - + + +
- + \ No newline at end of file diff --git a/document/advanced/built-in.html b/document/advanced/built-in.html index 166376f9b..07b8bbf09 100644 --- a/document/advanced/built-in.html +++ b/document/advanced/built-in.html @@ -5,22 +5,24 @@ 高级属性 | Artplayer.js - - + + - + - - - + + + + + -
Skip to content

高级属性

这里的 高级属性 是指挂载在 实例二级属性,比较少用

option

播放器的选项

▶ Run Code
js
var art = new Artplayer({
+    
Skip to content

高级属性

这里的 高级属性 是指挂载在 实例二级属性,比较少用

option

播放器的选项

▶ Run Code
js
var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
 });
@@ -206,8 +208,8 @@
 
 art.on('ready', () => {
     art.plugins.add(myPlugin);
-});
- +});
+ \ No newline at end of file diff --git a/document/advanced/class.html b/document/advanced/class.html index 0d33ada21..63dbd7a83 100644 --- a/document/advanced/class.html +++ b/document/advanced/class.html @@ -5,30 +5,32 @@ 静态属性 | Artplayer.js - - + + - + - - - + + + + + -
Skip to content

静态属性

这里的 静态属性 是指挂载在 构造函数一级属性,非常少使用

instances

返回全部播放器实例的数组,假如你想同时管理多个播放器的时候,可以用到该属性

▶ Run Code
js
console.info([...Artplayer.instances]);
+    
Skip to content

静态属性

这里的 静态属性 是指挂载在 构造函数一级属性,非常少使用

instances

返回全部播放器实例的数组,假如你想同时管理多个播放器的时候,可以用到该属性

▶ Run Code
js
console.info([...Artplayer.instances]);
 
 var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
 });
 
-console.info([...Artplayer.instances]);

version

返回播放器的版本信息

▶ Run Code
js
console.info(Artplayer.version);

env

返回播放器的环境变量

▶ Run Code
js
console.info(Artplayer.env);

build

返回播放器的打包时间

▶ Run Code
js
console.info(Artplayer.build);

config

返回视频的默认配置

▶ Run Code
js
console.info(Artplayer.config);

utils

返回播放器的工具函数集合

▶ Run Code
js
console.info(Artplayer.utils);

全部工具函数请参考以下地址:

artplayer/types/utils.d.ts

scheme

返回播放器选项的校验方案

▶ Run Code
js
console.info(Artplayer.scheme);

Emitter

返回事件分发器的构造函数

▶ Run Code
js
console.info(Artplayer.Emitter);

validator

返回选项的校验函数

▶ Run Code
js
console.info(Artplayer.validator);

kindOf

返回类型检测的函数工具

▶ Run Code
js
console.info(Artplayer.kindOf);

html

返回播放器所需的 html 字符串

▶ Run Code
js
console.info(Artplayer.html);

option

返回播放器的默认选项

▶ Run Code
js
console.info(Artplayer.option);
- +console.info([...Artplayer.instances]);

version

返回播放器的版本信息

▶ Run Code
js
console.info(Artplayer.version);

env

返回播放器的环境变量

▶ Run Code
js
console.info(Artplayer.env);

build

返回播放器的打包时间

▶ Run Code
js
console.info(Artplayer.build);

config

返回视频的默认配置

▶ Run Code
js
console.info(Artplayer.config);

utils

返回播放器的工具函数集合

▶ Run Code
js
console.info(Artplayer.utils);

全部工具函数请参考以下地址:

artplayer/types/utils.d.ts

scheme

返回播放器选项的校验方案

▶ Run Code
js
console.info(Artplayer.scheme);

Emitter

返回事件分发器的构造函数

▶ Run Code
js
console.info(Artplayer.Emitter);

validator

返回选项的校验函数

▶ Run Code
js
console.info(Artplayer.validator);

kindOf

返回类型检测的函数工具

▶ Run Code
js
console.info(Artplayer.kindOf);

html

返回播放器所需的 html 字符串

▶ Run Code
js
console.info(Artplayer.html);

option

返回播放器的默认选项

▶ Run Code
js
console.info(Artplayer.option);
+ \ No newline at end of file diff --git a/document/advanced/event.html b/document/advanced/event.html index 8a1f43a5b..420d541ba 100644 --- a/document/advanced/event.html +++ b/document/advanced/event.html @@ -5,22 +5,24 @@ 实例事件 | Artplayer.js - - + + - + - - - + + + + + -
Skip to content

实例事件

播放器的事件分为两种,一种视频的 原生事件 (前缀 video:),另外一种是 自定义事件

监听事件:

▶ Run Code
js
var art = new Artplayer({
+    
Skip to content

实例事件

播放器的事件分为两种,一种视频的 原生事件 (前缀 video:),另外一种是 自定义事件

监听事件:

▶ Run Code
js
var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
 });
@@ -378,8 +380,8 @@
 
 art.on('muted', (state) => {
     console.log(state);
-});

video:canplay

浏览器可以播放媒体文件了,但估计没有足够的数据来支撑播放到结束,不必停下来进一步缓冲内容

video:canplaythrough

浏览器估计它可以在不停止内容缓冲的情况下播放媒体直到结束

video:complete

OfflineAudioContext 渲染完成

video:durationchange

duration 属性的值改变时触发

video:emptied

媒体内容变为空;例如,当这个 media 已经加载完成(或者部分加载完成),则发送此事件,并调用 load() 方法重新加载它

video:ended

视频停止播放,因为 media 已经到达结束点

video:error

获取媒体数据时出错,或者资源类型不是受支持的媒体格式

video:loadeddata

media 中的首帧已经完成加载

video:loadedmetadata

已加载元数据

video:pause

播放已暂停

video:play

播放已开始

video:playing

由于缺乏数据而暂停或延迟后,播放准备开始

video:progress

在浏览器加载资源时周期性触发

video:ratechange

播放速率发生变化

video:seeked

跳帧(seek)操作完成

video:seeking

跳帧(seek)操作开始

video:stalled

用户代理(user agent)正在尝试获取媒体数据,但数据意外未出现

video:suspend

媒体数据加载已暂停

video:timeupdate

currentTime 属性指定的时间发生变化

video:volumechange

音量发生变化

video:waiting

由于暂时缺少数据,播放已停止

- +});

video:canplay

浏览器可以播放媒体文件了,但估计没有足够的数据来支撑播放到结束,不必停下来进一步缓冲内容

video:canplaythrough

浏览器估计它可以在不停止内容缓冲的情况下播放媒体直到结束

video:complete

OfflineAudioContext 渲染完成

video:durationchange

duration 属性的值改变时触发

video:emptied

媒体内容变为空;例如,当这个 media 已经加载完成(或者部分加载完成),则发送此事件,并调用 load() 方法重新加载它

video:ended

视频停止播放,因为 media 已经到达结束点

video:error

获取媒体数据时出错,或者资源类型不是受支持的媒体格式

video:loadeddata

media 中的首帧已经完成加载

video:loadedmetadata

已加载元数据

video:pause

播放已暂停

video:play

播放已开始

video:playing

由于缺乏数据而暂停或延迟后,播放准备开始

video:progress

在浏览器加载资源时周期性触发

video:ratechange

播放速率发生变化

video:seeked

跳帧(seek)操作完成

video:seeking

跳帧(seek)操作开始

video:stalled

用户代理(user agent)正在尝试获取媒体数据,但数据意外未出现

video:suspend

媒体数据加载已暂停

video:timeupdate

currentTime 属性指定的时间发生变化

video:volumechange

音量发生变化

video:waiting

由于暂时缺少数据,播放已停止

+ \ No newline at end of file diff --git a/document/advanced/global.html b/document/advanced/global.html index 15dea5ebc..b959427a9 100644 --- a/document/advanced/global.html +++ b/document/advanced/global.html @@ -5,27 +5,29 @@ 全局属性 | Artplayer.js - - + + - + - - - + + + + + -
Skip to content

全局属性

这里的 全局属性 也是指挂载在 构造函数一级属性,属性名字全部都是大写的形式,未来容易发生变动,基本上用不到

DEBUG

是否开始 debug 模式,可以打印出视频全部的内置事件,默认关闭

▶ Run Code
js
Artplayer.DEBUG = true;
+    
Skip to content

全局属性

这里的 全局属性 也是指挂载在 构造函数一级属性,属性名字全部都是大写的形式,未来容易发生变动,基本上用不到

DEBUG

是否开始 debug 模式,可以打印出视频全部的内置事件,默认关闭

▶ Run Code
js
Artplayer.DEBUG = true;
 
 var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
-});

CONTEXTMENU

是否开启右键菜单,默认开启

▶ Run Code
js
Artplayer.CONTEXTMENU = false;
+});

STYLE

返回播放器样式文本

▶ Run Code
js
console.log(Artplayer.STYLE);

CONTEXTMENU

是否开启右键菜单,默认开启

▶ Run Code
js
Artplayer.CONTEXTMENU = false;
 
 var art = new Artplayer({
     container: '.artplayer-app',
@@ -236,8 +238,8 @@
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
     miniProgressBar: true,
-});
- +});
+ \ No newline at end of file diff --git a/document/advanced/plugin.html b/document/advanced/plugin.html index 101442b81..1c95b32df 100644 --- a/document/advanced/plugin.html +++ b/document/advanced/plugin.html @@ -5,22 +5,24 @@ 编写插件 | Artplayer.js - - + + - + - - - + + + + + -
Skip to content

编写插件

但你已经知道播放器的属性, 方法事件后,再编写插件是非常简单的事

可以在实例化的时候加载插件的函数

▶ Run Code
js
function myPlugin(art) {
+    
Skip to content

编写插件

但你已经知道播放器的属性, 方法事件后,再编写插件是非常简单的事

可以在实例化的时候加载插件的函数

▶ Run Code
js
function myPlugin(art) {
     console.info(art);
     return {
         name: 'myPlugin',
@@ -118,8 +120,8 @@
             url: '/assets/sample/layer.png'
         })
     ],
-});
- +});
+ \ No newline at end of file diff --git a/document/advanced/property.html b/document/advanced/property.html index 500be298c..3bb0f6fc4 100644 --- a/document/advanced/property.html +++ b/document/advanced/property.html @@ -5,22 +5,24 @@ 实例属性 | Artplayer.js - - + + - + - - - + + + + + -
Skip to content

实例属性

这里的 实例属性 是指挂载在 实例一级属性,比较常用

play

  • Type: Function

播放视频

▶ Run Code
js
var art = new Artplayer({
+    
Skip to content

实例属性

这里的 实例属性 是指挂载在 实例一级属性,比较常用

play

  • Type: Function

播放视频

▶ Run Code
js
var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
     muted: true,
@@ -155,13 +157,13 @@
 
 art.on('ready', () => {
     console.info(art.duration);
-});

提示

有的视频是没有时长的,例如直播中的视频或者没被解码完成的视频,这个时候获取的时长会是 0

screenshot

  • Type: Function

下载当前视频帧的截图

▶ Run Code
js
var art = new Artplayer({
+});

提示

有的视频是没有时长的,例如直播中的视频或者没被解码完成的视频,这个时候获取的时长会是 0

screenshot

  • Type: Function

下载当前视频帧的截图, 可选参数为截图名字

▶ Run Code
js
var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
 });
 
 art.on('ready', () => {
-    art.screenshot();
+    art.screenshot('your-name');
 });

getDataURL

  • Type: Function

获取当前视频帧的截图的base64地址,返回的是一个 Promise

▶ Run Code
js
var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
@@ -402,8 +404,19 @@
 			},
 		];
 	}, 3000);
-})
- +})

thumbnails

  • Type: Setter/Getter
  • Parameter: Object

动态设置缩略图

▶ Run Code
js
var art = new Artplayer({
+	container: '.artplayer-app',
+	url: '/assets/sample/video.mp4',
+});
+
+art.on('ready', () => {
+    art.thumbnails = {
+        url: '/assets/sample/thumbnails.png',
+        number: 60,
+        column: 10,
+    };
+});
+ \ No newline at end of file diff --git a/document/assets/advanced_built-in.md.DmzqXfxm.js b/document/assets/advanced_built-in.md.DF0gNeZX.js similarity index 99% rename from document/assets/advanced_built-in.md.DmzqXfxm.js rename to document/assets/advanced_built-in.md.DF0gNeZX.js index 2d4e2468a..797cea156 100644 --- a/document/assets/advanced_built-in.md.DmzqXfxm.js +++ b/document/assets/advanced_built-in.md.DF0gNeZX.js @@ -1,4 +1,4 @@ -import{_ as a,c as n,o as l,a7 as s,j as i}from"./chunks/framework.DXlgpajS.js";const K=JSON.parse('{"title":"高级属性","description":"","frontmatter":{},"headers":[],"relativePath":"advanced/built-in.md","filePath":"advanced/built-in.md","lastUpdated":1683080086000}'),p={name:"advanced/built-in.md"},e=s('

高级属性

这里的 高级属性 是指挂载在 实例二级属性,比较少用

option

播放器的选项

',4),h=i("div",{className:"run-code"},"▶ Run Code",-1),t=s(`
js
var art = new Artplayer({
+import{_ as a,c as n,o as l,a7 as s,j as i}from"./chunks/framework.DHbvjPBJ.js";const K=JSON.parse('{"title":"高级属性","description":"","frontmatter":{},"headers":[],"relativePath":"advanced/built-in.md","filePath":"advanced/built-in.md","lastUpdated":1724256543000}'),p={name:"advanced/built-in.md"},e=s('

高级属性

这里的 高级属性 是指挂载在 实例二级属性,比较少用

option

播放器的选项

',4),h=i("div",{className:"run-code"},"▶ Run Code",-1),t=s(`
js
var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
 });
diff --git a/document/assets/advanced_built-in.md.DmzqXfxm.lean.js b/document/assets/advanced_built-in.md.DF0gNeZX.lean.js
similarity index 91%
rename from document/assets/advanced_built-in.md.DmzqXfxm.lean.js
rename to document/assets/advanced_built-in.md.DF0gNeZX.lean.js
index 128a2893b..8de45b01a 100644
--- a/document/assets/advanced_built-in.md.DmzqXfxm.lean.js
+++ b/document/assets/advanced_built-in.md.DF0gNeZX.lean.js
@@ -1 +1 @@
-import{_ as a,c as n,o as l,a7 as s,j as i}from"./chunks/framework.DXlgpajS.js";const K=JSON.parse('{"title":"高级属性","description":"","frontmatter":{},"headers":[],"relativePath":"advanced/built-in.md","filePath":"advanced/built-in.md","lastUpdated":1683080086000}'),p={name:"advanced/built-in.md"},e=s("",4),h=i("div",{className:"run-code"},"▶ Run Code",-1),t=s("",4),k=i("div",{className:"run-code"},"▶ Run Code",-1),r=s("",5),E=i("div",{className:"run-code"},"▶ Run Code",-1),d=s("",5),c=i("div",{className:"run-code"},"▶ Run Code",-1),o=s("",2),g=i("div",{className:"run-code"},"▶ Run Code",-1),y=s("",3),b=i("div",{className:"run-code"},"▶ Run Code",-1),u=s("",5),F=i("div",{className:"run-code"},"▶ Run Code",-1),m=s("",4),_=i("div",{className:"run-code"},"▶ Run Code",-1),C=s("",5),v=i("div",{className:"run-code"},"▶ Run Code",-1),A=s("",5),B=i("div",{className:"run-code"},"▶ Run Code",-1),D=s("",5),T=i("div",{className:"run-code"},"▶ Run Code",-1),w=s("",5),P=i("div",{className:"run-code"},"▶ Run Code",-1),S=s("",4),f=i("div",{className:"run-code"},"▶ Run Code",-1),x=s("",4),I=i("div",{className:"run-code"},"▶ Run Code",-1),N=s("",5),R=i("div",{className:"run-code"},"▶ Run Code",-1),V=s("",4),j=i("div",{className:"run-code"},"▶ Run Code",-1),q=s("",4),O=i("div",{className:"run-code"},"▶ Run Code",-1),M=s("",1),$=[e,h,t,k,r,E,d,c,o,g,y,b,u,F,m,_,C,v,A,B,D,T,w,P,S,f,x,I,N,R,V,j,q,O,M];function z(G,L,W,J,U,Y){return l(),n("div",null,$)}const Q=a(p,[["render",z]]);export{K as __pageData,Q as default};
+import{_ as a,c as n,o as l,a7 as s,j as i}from"./chunks/framework.DHbvjPBJ.js";const K=JSON.parse('{"title":"高级属性","description":"","frontmatter":{},"headers":[],"relativePath":"advanced/built-in.md","filePath":"advanced/built-in.md","lastUpdated":1724256543000}'),p={name:"advanced/built-in.md"},e=s("",4),h=i("div",{className:"run-code"},"▶ Run Code",-1),t=s("",4),k=i("div",{className:"run-code"},"▶ Run Code",-1),r=s("",5),E=i("div",{className:"run-code"},"▶ Run Code",-1),d=s("",5),c=i("div",{className:"run-code"},"▶ Run Code",-1),o=s("",2),g=i("div",{className:"run-code"},"▶ Run Code",-1),y=s("",3),b=i("div",{className:"run-code"},"▶ Run Code",-1),u=s("",5),F=i("div",{className:"run-code"},"▶ Run Code",-1),m=s("",4),_=i("div",{className:"run-code"},"▶ Run Code",-1),C=s("",5),v=i("div",{className:"run-code"},"▶ Run Code",-1),A=s("",5),B=i("div",{className:"run-code"},"▶ Run Code",-1),D=s("",5),T=i("div",{className:"run-code"},"▶ Run Code",-1),w=s("",5),P=i("div",{className:"run-code"},"▶ Run Code",-1),S=s("",4),f=i("div",{className:"run-code"},"▶ Run Code",-1),x=s("",4),I=i("div",{className:"run-code"},"▶ Run Code",-1),N=s("",5),R=i("div",{className:"run-code"},"▶ Run Code",-1),V=s("",4),j=i("div",{className:"run-code"},"▶ Run Code",-1),q=s("",4),O=i("div",{className:"run-code"},"▶ Run Code",-1),M=s("",1),$=[e,h,t,k,r,E,d,c,o,g,y,b,u,F,m,_,C,v,A,B,D,T,w,P,S,f,x,I,N,R,V,j,q,O,M];function z(G,L,W,J,U,Y){return l(),n("div",null,$)}const Q=a(p,[["render",z]]);export{K as __pageData,Q as default};
diff --git a/document/assets/advanced_class.md.1_Qn7xo8.js b/document/assets/advanced_class.md.DmiQrVry.js
similarity index 98%
rename from document/assets/advanced_class.md.1_Qn7xo8.js
rename to document/assets/advanced_class.md.DmiQrVry.js
index 84d742c19..d822f3bea 100644
--- a/document/assets/advanced_class.md.1_Qn7xo8.js
+++ b/document/assets/advanced_class.md.DmiQrVry.js
@@ -1,4 +1,4 @@
-import{_ as i,c as e,o as n,a7 as s,j as a}from"./chunks/framework.DXlgpajS.js";const $=JSON.parse('{"title":"静态属性","description":"","frontmatter":{},"headers":[],"relativePath":"advanced/class.md","filePath":"advanced/class.md","lastUpdated":1682233868000}'),t={name:"advanced/class.md"},l=s('

静态属性

这里的 静态属性 是指挂载在 构造函数一级属性,非常少使用

instances

返回全部播放器实例的数组,假如你想同时管理多个播放器的时候,可以用到该属性

',4),d=a("div",{className:"run-code"},"▶ Run Code",-1),p=s(`
js
console.info([...Artplayer.instances]);
+import{_ as i,c as e,o as n,a7 as s,j as a}from"./chunks/framework.DHbvjPBJ.js";const $=JSON.parse('{"title":"静态属性","description":"","frontmatter":{},"headers":[],"relativePath":"advanced/class.md","filePath":"advanced/class.md","lastUpdated":1724256543000}'),t={name:"advanced/class.md"},l=s('

静态属性

这里的 静态属性 是指挂载在 构造函数一级属性,非常少使用

instances

返回全部播放器实例的数组,假如你想同时管理多个播放器的时候,可以用到该属性

',4),d=a("div",{className:"run-code"},"▶ Run Code",-1),p=s(`
js
console.info([...Artplayer.instances]);
 
 var art = new Artplayer({
     container: '.artplayer-app',
diff --git a/document/assets/advanced_class.md.1_Qn7xo8.lean.js b/document/assets/advanced_class.md.DmiQrVry.lean.js
similarity index 84%
rename from document/assets/advanced_class.md.1_Qn7xo8.lean.js
rename to document/assets/advanced_class.md.DmiQrVry.lean.js
index 964f98b42..fddde6fff 100644
--- a/document/assets/advanced_class.md.1_Qn7xo8.lean.js
+++ b/document/assets/advanced_class.md.DmiQrVry.lean.js
@@ -1 +1 @@
-import{_ as i,c as e,o as n,a7 as s,j as a}from"./chunks/framework.DXlgpajS.js";const $=JSON.parse('{"title":"静态属性","description":"","frontmatter":{},"headers":[],"relativePath":"advanced/class.md","filePath":"advanced/class.md","lastUpdated":1682233868000}'),t={name:"advanced/class.md"},l=s("",4),d=a("div",{className:"run-code"},"▶ Run Code",-1),p=s("",3),h=a("div",{className:"run-code"},"▶ Run Code",-1),r=s("",3),o=a("div",{className:"run-code"},"▶ Run Code",-1),c=s("",3),k=a("div",{className:"run-code"},"▶ Run Code",-1),_=s("",3),u=a("div",{className:"run-code"},"▶ Run Code",-1),b=s("",3),E=a("div",{className:"run-code"},"▶ Run Code",-1),g=s("",4),m=a("div",{className:"run-code"},"▶ Run Code",-1),v=s("",3),y=a("div",{className:"run-code"},"▶ Run Code",-1),C=s("",3),T=a("div",{className:"run-code"},"▶ Run Code",-1),A=s("",3),f=a("div",{className:"run-code"},"▶ Run Code",-1),P=s("",3),S=a("div",{className:"run-code"},"▶ Run Code",-1),F=s("",3),x=a("div",{className:"run-code"},"▶ Run Code",-1),N=s("",1),V=[l,d,p,h,r,o,c,k,_,u,b,E,g,m,v,y,C,T,A,f,P,S,F,x,N];function q(I,j,R,B,D,w){return n(),e("div",null,V)}const z=i(t,[["render",q]]);export{$ as __pageData,z as default};
+import{_ as i,c as e,o as n,a7 as s,j as a}from"./chunks/framework.DHbvjPBJ.js";const $=JSON.parse('{"title":"静态属性","description":"","frontmatter":{},"headers":[],"relativePath":"advanced/class.md","filePath":"advanced/class.md","lastUpdated":1724256543000}'),t={name:"advanced/class.md"},l=s("",4),d=a("div",{className:"run-code"},"▶ Run Code",-1),p=s("",3),h=a("div",{className:"run-code"},"▶ Run Code",-1),r=s("",3),o=a("div",{className:"run-code"},"▶ Run Code",-1),c=s("",3),k=a("div",{className:"run-code"},"▶ Run Code",-1),_=s("",3),u=a("div",{className:"run-code"},"▶ Run Code",-1),b=s("",3),E=a("div",{className:"run-code"},"▶ Run Code",-1),g=s("",4),m=a("div",{className:"run-code"},"▶ Run Code",-1),v=s("",3),y=a("div",{className:"run-code"},"▶ Run Code",-1),C=s("",3),T=a("div",{className:"run-code"},"▶ Run Code",-1),A=s("",3),f=a("div",{className:"run-code"},"▶ Run Code",-1),P=s("",3),S=a("div",{className:"run-code"},"▶ Run Code",-1),F=s("",3),x=a("div",{className:"run-code"},"▶ Run Code",-1),N=s("",1),V=[l,d,p,h,r,o,c,k,_,u,b,E,g,m,v,y,C,T,A,f,P,S,F,x,N];function q(I,j,R,B,D,w){return n(),e("div",null,V)}const z=i(t,[["render",q]]);export{$ as __pageData,z as default};
diff --git a/document/assets/advanced_event.md.DIa3aeXS.js b/document/assets/advanced_event.md.BZeGx_rq.js
similarity index 99%
rename from document/assets/advanced_event.md.DIa3aeXS.js
rename to document/assets/advanced_event.md.BZeGx_rq.js
index 1500b05d0..5cb61d8b7 100644
--- a/document/assets/advanced_event.md.DIa3aeXS.js
+++ b/document/assets/advanced_event.md.BZeGx_rq.js
@@ -1,4 +1,4 @@
-import{_ as n,c as l,o as e,j as s,a,a7 as i}from"./chunks/framework.DXlgpajS.js";const Zs=JSON.parse('{"title":"实例事件","description":"","frontmatter":{},"headers":[],"relativePath":"advanced/event.md","filePath":"advanced/event.md","lastUpdated":1711766082000}'),p={name:"advanced/event.md"},h=s("h1",{id:"实例事件",tabindex:"-1"},[a("实例事件 "),s("a",{class:"header-anchor",href:"#实例事件","aria-label":'Permalink to "实例事件"'},"​")],-1),t=s("p",null,[a("播放器的事件分为两种,一种视频的 "),s("code",null,"原生事件"),a(" (前缀 "),s("code",null,"video:"),a("),另外一种是 "),s("code",null,"自定义事件")],-1),k=s("p",null,"监听事件:",-1),r=s("div",{className:"run-code"},"▶ Run Code",-1),E=i(`
js
var art = new Artplayer({
+import{_ as n,c as l,o as e,j as s,a,a7 as i}from"./chunks/framework.DHbvjPBJ.js";const Zs=JSON.parse('{"title":"实例事件","description":"","frontmatter":{},"headers":[],"relativePath":"advanced/event.md","filePath":"advanced/event.md","lastUpdated":1724256543000}'),p={name:"advanced/event.md"},h=s("h1",{id:"实例事件",tabindex:"-1"},[a("实例事件 "),s("a",{class:"header-anchor",href:"#实例事件","aria-label":'Permalink to "实例事件"'},"​")],-1),t=s("p",null,[a("播放器的事件分为两种,一种视频的 "),s("code",null,"原生事件"),a(" (前缀 "),s("code",null,"video:"),a("),另外一种是 "),s("code",null,"自定义事件")],-1),k=s("p",null,"监听事件:",-1),r=s("div",{className:"run-code"},"▶ Run Code",-1),E=i(`
js
var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
 });
diff --git a/document/assets/advanced_event.md.DIa3aeXS.lean.js b/document/assets/advanced_event.md.BZeGx_rq.lean.js
similarity index 96%
rename from document/assets/advanced_event.md.DIa3aeXS.lean.js
rename to document/assets/advanced_event.md.BZeGx_rq.lean.js
index 8c2a2c567..14ea0d79c 100644
--- a/document/assets/advanced_event.md.DIa3aeXS.lean.js
+++ b/document/assets/advanced_event.md.BZeGx_rq.lean.js
@@ -1 +1 @@
-import{_ as n,c as l,o as e,j as s,a,a7 as i}from"./chunks/framework.DXlgpajS.js";const Zs=JSON.parse('{"title":"实例事件","description":"","frontmatter":{},"headers":[],"relativePath":"advanced/event.md","filePath":"advanced/event.md","lastUpdated":1711766082000}'),p={name:"advanced/event.md"},h=s("h1",{id:"实例事件",tabindex:"-1"},[a("实例事件 "),s("a",{class:"header-anchor",href:"#实例事件","aria-label":'Permalink to "实例事件"'},"​")],-1),t=s("p",null,[a("播放器的事件分为两种,一种视频的 "),s("code",null,"原生事件"),a(" (前缀 "),s("code",null,"video:"),a("),另外一种是 "),s("code",null,"自定义事件")],-1),k=s("p",null,"监听事件:",-1),r=s("div",{className:"run-code"},"▶ Run Code",-1),E=i("",2),d=s("div",{className:"run-code"},"▶ Run Code",-1),c=i("",2),g=s("div",{className:"run-code"},"▶ Run Code",-1),o=i("",2),y=s("div",{className:"run-code"},"▶ Run Code",-1),b=i("",4),u=s("div",{className:"run-code"},"▶ Run Code",-1),F=i("",3),m=s("div",{className:"run-code"},"▶ Run Code",-1),_=i("",3),v=s("div",{className:"run-code"},"▶ Run Code",-1),C=i("",3),A=s("div",{className:"run-code"},"▶ Run Code",-1),B=i("",3),T=s("div",{className:"run-code"},"▶ Run Code",-1),D=i("",3),f=s("div",{className:"run-code"},"▶ Run Code",-1),P=i("",3),S=s("div",{className:"run-code"},"▶ Run Code",-1),q=i("",3),x=s("div",{className:"run-code"},"▶ Run Code",-1),w=i("",3),R=s("div",{className:"run-code"},"▶ Run Code",-1),N=i("",3),V=s("div",{className:"run-code"},"▶ Run Code",-1),j=i("",3),I=s("div",{className:"run-code"},"▶ Run Code",-1),z=i("",3),O=s("div",{className:"run-code"},"▶ Run Code",-1),U=i("",3),H=s("div",{className:"run-code"},"▶ Run Code",-1),W=i("",3),L=s("div",{className:"run-code"},"▶ Run Code",-1),$=i("",3),J=s("div",{className:"run-code"},"▶ Run Code",-1),G=i("",3),K=s("div",{className:"run-code"},"▶ Run Code",-1),M=i("",3),Q=s("div",{className:"run-code"},"▶ Run Code",-1),X=i("",3),Y=s("div",{className:"run-code"},"▶ Run Code",-1),Z=i("",3),ss=s("div",{className:"run-code"},"▶ Run Code",-1),is=i("",3),as=s("div",{className:"run-code"},"▶ Run Code",-1),ns=i("",3),ls=s("div",{className:"run-code"},"▶ Run Code",-1),es=i("",3),ps=s("div",{className:"run-code"},"▶ Run Code",-1),hs=i("",3),ts=s("div",{className:"run-code"},"▶ Run Code",-1),ks=i("",3),rs=s("div",{className:"run-code"},"▶ Run Code",-1),Es=i("",3),ds=s("div",{className:"run-code"},"▶ Run Code",-1),cs=i("",3),gs=s("div",{className:"run-code"},"▶ Run Code",-1),os=i("",3),ys=s("div",{className:"run-code"},"▶ Run Code",-1),bs=i("",3),us=s("div",{className:"run-code"},"▶ Run Code",-1),Fs=i("",3),ms=s("div",{className:"run-code"},"▶ Run Code",-1),_s=i("",3),vs=s("div",{className:"run-code"},"▶ Run Code",-1),Cs=i("",3),As=s("div",{className:"run-code"},"▶ Run Code",-1),Bs=i("",3),Ts=s("div",{className:"run-code"},"▶ Run Code",-1),Ds=i("",3),fs=s("div",{className:"run-code"},"▶ Run Code",-1),Ps=i("",3),Ss=s("div",{className:"run-code"},"▶ Run Code",-1),qs=i("",3),xs=s("div",{className:"run-code"},"▶ Run Code",-1),ws=i("",3),Rs=s("div",{className:"run-code"},"▶ Run Code",-1),Ns=i("",3),Vs=s("div",{className:"run-code"},"▶ Run Code",-1),js=i("",3),Is=s("div",{className:"run-code"},"▶ Run Code",-1),zs=i("",3),Os=s("div",{className:"run-code"},"▶ Run Code",-1),Us=i("",3),Hs=s("div",{className:"run-code"},"▶ Run Code",-1),Ws=i("",43),Ls=[h,t,k,r,E,d,c,g,o,y,b,u,F,m,_,v,C,A,B,T,D,f,P,S,q,x,w,R,N,V,j,I,z,O,U,H,W,L,$,J,G,K,M,Q,X,Y,Z,ss,is,as,ns,ls,es,ps,hs,ts,ks,rs,Es,ds,cs,gs,os,ys,bs,us,Fs,ms,_s,vs,Cs,As,Bs,Ts,Ds,fs,Ps,Ss,qs,xs,ws,Rs,Ns,Vs,js,Is,zs,Os,Us,Hs,Ws];function $s(Js,Gs,Ks,Ms,Qs,Xs){return e(),l("div",null,Ls)}const si=n(p,[["render",$s]]);export{Zs as __pageData,si as default};
+import{_ as n,c as l,o as e,j as s,a,a7 as i}from"./chunks/framework.DHbvjPBJ.js";const Zs=JSON.parse('{"title":"实例事件","description":"","frontmatter":{},"headers":[],"relativePath":"advanced/event.md","filePath":"advanced/event.md","lastUpdated":1724256543000}'),p={name:"advanced/event.md"},h=s("h1",{id:"实例事件",tabindex:"-1"},[a("实例事件 "),s("a",{class:"header-anchor",href:"#实例事件","aria-label":'Permalink to "实例事件"'},"​")],-1),t=s("p",null,[a("播放器的事件分为两种,一种视频的 "),s("code",null,"原生事件"),a(" (前缀 "),s("code",null,"video:"),a("),另外一种是 "),s("code",null,"自定义事件")],-1),k=s("p",null,"监听事件:",-1),r=s("div",{className:"run-code"},"▶ Run Code",-1),E=i("",2),d=s("div",{className:"run-code"},"▶ Run Code",-1),c=i("",2),g=s("div",{className:"run-code"},"▶ Run Code",-1),o=i("",2),y=s("div",{className:"run-code"},"▶ Run Code",-1),b=i("",4),u=s("div",{className:"run-code"},"▶ Run Code",-1),F=i("",3),m=s("div",{className:"run-code"},"▶ Run Code",-1),_=i("",3),v=s("div",{className:"run-code"},"▶ Run Code",-1),C=i("",3),A=s("div",{className:"run-code"},"▶ Run Code",-1),B=i("",3),T=s("div",{className:"run-code"},"▶ Run Code",-1),D=i("",3),f=s("div",{className:"run-code"},"▶ Run Code",-1),P=i("",3),S=s("div",{className:"run-code"},"▶ Run Code",-1),q=i("",3),x=s("div",{className:"run-code"},"▶ Run Code",-1),w=i("",3),R=s("div",{className:"run-code"},"▶ Run Code",-1),N=i("",3),V=s("div",{className:"run-code"},"▶ Run Code",-1),j=i("",3),I=s("div",{className:"run-code"},"▶ Run Code",-1),z=i("",3),O=s("div",{className:"run-code"},"▶ Run Code",-1),U=i("",3),H=s("div",{className:"run-code"},"▶ Run Code",-1),W=i("",3),L=s("div",{className:"run-code"},"▶ Run Code",-1),$=i("",3),J=s("div",{className:"run-code"},"▶ Run Code",-1),G=i("",3),K=s("div",{className:"run-code"},"▶ Run Code",-1),M=i("",3),Q=s("div",{className:"run-code"},"▶ Run Code",-1),X=i("",3),Y=s("div",{className:"run-code"},"▶ Run Code",-1),Z=i("",3),ss=s("div",{className:"run-code"},"▶ Run Code",-1),is=i("",3),as=s("div",{className:"run-code"},"▶ Run Code",-1),ns=i("",3),ls=s("div",{className:"run-code"},"▶ Run Code",-1),es=i("",3),ps=s("div",{className:"run-code"},"▶ Run Code",-1),hs=i("",3),ts=s("div",{className:"run-code"},"▶ Run Code",-1),ks=i("",3),rs=s("div",{className:"run-code"},"▶ Run Code",-1),Es=i("",3),ds=s("div",{className:"run-code"},"▶ Run Code",-1),cs=i("",3),gs=s("div",{className:"run-code"},"▶ Run Code",-1),os=i("",3),ys=s("div",{className:"run-code"},"▶ Run Code",-1),bs=i("",3),us=s("div",{className:"run-code"},"▶ Run Code",-1),Fs=i("",3),ms=s("div",{className:"run-code"},"▶ Run Code",-1),_s=i("",3),vs=s("div",{className:"run-code"},"▶ Run Code",-1),Cs=i("",3),As=s("div",{className:"run-code"},"▶ Run Code",-1),Bs=i("",3),Ts=s("div",{className:"run-code"},"▶ Run Code",-1),Ds=i("",3),fs=s("div",{className:"run-code"},"▶ Run Code",-1),Ps=i("",3),Ss=s("div",{className:"run-code"},"▶ Run Code",-1),qs=i("",3),xs=s("div",{className:"run-code"},"▶ Run Code",-1),ws=i("",3),Rs=s("div",{className:"run-code"},"▶ Run Code",-1),Ns=i("",3),Vs=s("div",{className:"run-code"},"▶ Run Code",-1),js=i("",3),Is=s("div",{className:"run-code"},"▶ Run Code",-1),zs=i("",3),Os=s("div",{className:"run-code"},"▶ Run Code",-1),Us=i("",3),Hs=s("div",{className:"run-code"},"▶ Run Code",-1),Ws=i("",43),Ls=[h,t,k,r,E,d,c,g,o,y,b,u,F,m,_,v,C,A,B,T,D,f,P,S,q,x,w,R,N,V,j,I,z,O,U,H,W,L,$,J,G,K,M,Q,X,Y,Z,ss,is,as,ns,ls,es,ps,hs,ts,ks,rs,Es,ds,cs,gs,os,ys,bs,us,Fs,ms,_s,vs,Cs,As,Bs,Ts,Ds,fs,Ps,Ss,qs,xs,ws,Rs,Ns,Vs,js,Is,zs,Os,Us,Hs,Ws];function $s(Js,Gs,Ks,Ms,Qs,Xs){return e(),l("div",null,Ls)}const si=n(p,[["render",$s]]);export{Zs as __pageData,si as default};
diff --git a/document/assets/advanced_global.md.AD97Z3-7.js b/document/assets/advanced_global.md.IzVetOq-.js
similarity index 92%
rename from document/assets/advanced_global.md.AD97Z3-7.js
rename to document/assets/advanced_global.md.IzVetOq-.js
index 227ca9f12..c91115284 100644
--- a/document/assets/advanced_global.md.AD97Z3-7.js
+++ b/document/assets/advanced_global.md.IzVetOq-.js
@@ -1,19 +1,19 @@
-import{_ as a,c as n,o as l,a7 as s,j as i}from"./chunks/framework.DXlgpajS.js";const Bs=JSON.parse('{"title":"全局属性","description":"","frontmatter":{},"headers":[],"relativePath":"advanced/global.md","filePath":"advanced/global.md","lastUpdated":1692979406000}'),p={name:"advanced/global.md"},e=s('

全局属性

这里的 全局属性 也是指挂载在 构造函数一级属性,属性名字全部都是大写的形式,未来容易发生变动,基本上用不到

DEBUG

是否开始 debug 模式,可以打印出视频全部的内置事件,默认关闭

',4),h=i("div",{className:"run-code"},"▶ Run Code",-1),t=s(`
js
Artplayer.DEBUG = true;
+import{_ as a,c as n,o as l,a7 as s,j as i}from"./chunks/framework.DHbvjPBJ.js";const Is=JSON.parse('{"title":"全局属性","description":"","frontmatter":{},"headers":[],"relativePath":"advanced/global.md","filePath":"advanced/global.md","lastUpdated":1724256543000}'),p={name:"advanced/global.md"},e=s('

全局属性

这里的 全局属性 也是指挂载在 构造函数一级属性,属性名字全部都是大写的形式,未来容易发生变动,基本上用不到

DEBUG

是否开始 debug 模式,可以打印出视频全部的内置事件,默认关闭

',4),h=i("div",{className:"run-code"},"▶ Run Code",-1),t=s(`
js
Artplayer.DEBUG = true;
 
 var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
-});

CONTEXTMENU

是否开启右键菜单,默认开启

`,3),k=i("div",{className:"run-code"},"▶ Run Code",-1),r=s(`
js
Artplayer.CONTEXTMENU = false;
+});

STYLE

返回播放器样式文本

`,3),k=i("div",{className:"run-code"},"▶ Run Code",-1),r=s('
js
console.log(Artplayer.STYLE);

CONTEXTMENU

是否开启右键菜单,默认开启

',3),E=i("div",{className:"run-code"},"▶ Run Code",-1),d=s(`
js
Artplayer.CONTEXTMENU = false;
 
 var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
-});

NOTICE_TIME

提示信息的显示时长,单位为毫秒,默认为 2000

`,3),E=i("div",{className:"run-code"},"▶ Run Code",-1),d=s(`
js
Artplayer.NOTICE_TIME = 5000;
+});

NOTICE_TIME

提示信息的显示时长,单位为毫秒,默认为 2000

`,3),c=i("div",{className:"run-code"},"▶ Run Code",-1),g=s(`
js
Artplayer.NOTICE_TIME = 5000;
 
 var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
-});

SETTING_WIDTH

设置面板的默认宽度,单位为像素,默认为 250

`,3),c=i("div",{className:"run-code"},"▶ Run Code",-1),g=s(`
js
Artplayer.SETTING_WIDTH = 300;
+});

SETTING_WIDTH

设置面板的默认宽度,单位为像素,默认为 250

`,3),y=i("div",{className:"run-code"},"▶ Run Code",-1),o=s(`
js
Artplayer.SETTING_WIDTH = 300;
 
 var art = new Artplayer({
     container: '.artplayer-app',
@@ -23,7 +23,7 @@ import{_ as a,c as n,o as l,a7 as s,j as i}from"./chunks/framework.DXlgpajS.js";
     flip: true,
     playbackRate: true,
     aspectRatio: true,
-});

SETTING_ITEM_WIDTH

设置面板的设置项的默认宽度,单位为像素,默认为 200

`,3),y=i("div",{className:"run-code"},"▶ Run Code",-1),o=s(`
js
Artplayer.SETTING_ITEM_WIDTH = 300;
+});

SETTING_ITEM_WIDTH

设置面板的设置项的默认宽度,单位为像素,默认为 200

`,3),b=i("div",{className:"run-code"},"▶ Run Code",-1),u=s(`
js
Artplayer.SETTING_ITEM_WIDTH = 300;
 
 var art = new Artplayer({
     container: '.artplayer-app',
@@ -33,7 +33,7 @@ import{_ as a,c as n,o as l,a7 as s,j as i}from"./chunks/framework.DXlgpajS.js";
     flip: true,
     playbackRate: true,
     aspectRatio: true,
-});

SETTING_ITEM_HEIGHT

设置面板的设置项的默认高度,单位为像素,默认为 35

`,3),b=i("div",{className:"run-code"},"▶ Run Code",-1),u=s(`
js
Artplayer.SETTING_ITEM_HEIGHT = 40;
+});

SETTING_ITEM_HEIGHT

设置面板的设置项的默认高度,单位为像素,默认为 35

`,3),F=i("div",{className:"run-code"},"▶ Run Code",-1),_=s(`
js
Artplayer.SETTING_ITEM_HEIGHT = 40;
 
 var art = new Artplayer({
     container: '.artplayer-app',
@@ -43,7 +43,7 @@ import{_ as a,c as n,o as l,a7 as s,j as i}from"./chunks/framework.DXlgpajS.js";
     flip: true,
     playbackRate: true,
     aspectRatio: true,
-});

RESIZE_TIME

resize 事件的节流时间,单位为毫秒,默认为 200

`,3),F=i("div",{className:"run-code"},"▶ Run Code",-1),_=s(`
js
Artplayer.RESIZE_TIME = 500;
+});

RESIZE_TIME

resize 事件的节流时间,单位为毫秒,默认为 200

`,3),m=i("div",{className:"run-code"},"▶ Run Code",-1),C=s(`
js
Artplayer.RESIZE_TIME = 500;
 
 var art = new Artplayer({
     container: '.artplayer-app',
@@ -52,7 +52,7 @@ import{_ as a,c as n,o as l,a7 as s,j as i}from"./chunks/framework.DXlgpajS.js";
 
 art.on('resize', () => {
     console.log('resize');
-});

SCROLL_TIME

scroll 事件的节流时间,单位为毫秒,默认为 200

`,3),m=i("div",{className:"run-code"},"▶ Run Code",-1),C=s(`
js
Artplayer.SCROLL_TIME = 500;
+});

SCROLL_TIME

scroll 事件的节流时间,单位为毫秒,默认为 200

`,3),A=i("div",{className:"run-code"},"▶ Run Code",-1),v=s(`
js
Artplayer.SCROLL_TIME = 500;
 
 var art = new Artplayer({
     container: '.artplayer-app',
@@ -61,7 +61,7 @@ import{_ as a,c as n,o as l,a7 as s,j as i}from"./chunks/framework.DXlgpajS.js";
 
 art.on('scroll', () => {
     console.log('scroll');
-});

SCROLL_GAP

view 事件的边界容差距离,单位为像素,默认为 50

`,3),A=i("div",{className:"run-code"},"▶ Run Code",-1),v=s(`
js
Artplayer.SCROLL_GAP = 100;
+});

SCROLL_GAP

view 事件的边界容差距离,单位为像素,默认为 50

`,3),T=i("div",{className:"run-code"},"▶ Run Code",-1),B=s(`
js
Artplayer.SCROLL_GAP = 100;
 
 var art = new Artplayer({
     container: '.artplayer-app',
@@ -70,40 +70,40 @@ import{_ as a,c as n,o as l,a7 as s,j as i}from"./chunks/framework.DXlgpajS.js";
 
 art.on('scroll', () => {
     console.log('scroll');
-});

AUTO_PLAYBACK_MAX

自动回放功能的最大记录数,默认为 10

`,3),T=i("div",{className:"run-code"},"▶ Run Code",-1),B=s(`
js
Artplayer.AUTO_PLAYBACK_MAX = 20;
+});

AUTO_PLAYBACK_MAX

自动回放功能的最大记录数,默认为 10

`,3),D=i("div",{className:"run-code"},"▶ Run Code",-1),I=s(`
js
Artplayer.AUTO_PLAYBACK_MAX = 20;
 
 var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
     autoPlayback: true,
-});

AUTO_PLAYBACK_MIN

自动回放功能的最小记录时长,单位为秒,默认为 5

`,3),D=i("div",{className:"run-code"},"▶ Run Code",-1),I=s(`
js
Artplayer.AUTO_PLAYBACK_MIN = 10;
+});

AUTO_PLAYBACK_MIN

自动回放功能的最小记录时长,单位为秒,默认为 5

`,3),S=i("div",{className:"run-code"},"▶ Run Code",-1),P=s(`
js
Artplayer.AUTO_PLAYBACK_MIN = 10;
 
 var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
     autoPlayback: true,
-});

AUTO_PLAYBACK_TIMEOUT

自动回放功能的隐藏延迟时长,单位为毫秒,默认为 3000

`,3),S=i("div",{className:"run-code"},"▶ Run Code",-1),P=s(`
js
Artplayer.AUTO_PLAYBACK_TIMEOUT = 5000;
+});

AUTO_PLAYBACK_TIMEOUT

自动回放功能的隐藏延迟时长,单位为毫秒,默认为 3000

`,3),R=i("div",{className:"run-code"},"▶ Run Code",-1),N=s(`
js
Artplayer.AUTO_PLAYBACK_TIMEOUT = 5000;
 
 var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
     autoPlayback: true,
-});

RECONNECT_TIME_MAX

发生连接错误时,自动连接的最大次数,默认为 5

`,3),R=i("div",{className:"run-code"},"▶ Run Code",-1),N=s(`
js
Artplayer.RECONNECT_TIME_MAX = 10;
+});

RECONNECT_TIME_MAX

发生连接错误时,自动连接的最大次数,默认为 5

`,3),O=i("div",{className:"run-code"},"▶ Run Code",-1),w=s(`
js
Artplayer.RECONNECT_TIME_MAX = 10;
 
 var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/404.mp4',
-});

RECONNECT_SLEEP_TIME

发生连接错误时,自动连接的延迟时间,单位为毫秒,默认为 1000

`,3),O=i("div",{className:"run-code"},"▶ Run Code",-1),w=s(`
js
Artplayer.RECONNECT_SLEEP_TIME = 3000;
+});

RECONNECT_SLEEP_TIME

发生连接错误时,自动连接的延迟时间,单位为毫秒,默认为 1000

`,3),L=i("div",{className:"run-code"},"▶ Run Code",-1),V=s(`
js
Artplayer.RECONNECT_SLEEP_TIME = 3000;
 
 var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/404.mp4',
-});

CONTROL_HIDE_TIME

底部控制栏的自动隐藏的延迟时间,单位为毫秒,默认为 3000

`,3),L=i("div",{className:"run-code"},"▶ Run Code",-1),V=s(`
js
Artplayer.CONTROL_HIDE_TIME = 5000;
+});

CONTROL_HIDE_TIME

底部控制栏的自动隐藏的延迟时间,单位为毫秒,默认为 3000

`,3),x=i("div",{className:"run-code"},"▶ Run Code",-1),f=s(`
js
Artplayer.CONTROL_HIDE_TIME = 5000;
 
 var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
-});

DBCLICK_TIME

双击事件的延迟事件,单位为毫秒,默认为 300

`,3),x=i("div",{className:"run-code"},"▶ Run Code",-1),f=s(`
js
Artplayer.DBCLICK_TIME = 500;
+});

DBCLICK_TIME

双击事件的延迟事件,单位为毫秒,默认为 300

`,3),q=i("div",{className:"run-code"},"▶ Run Code",-1),j=s(`
js
Artplayer.DBCLICK_TIME = 500;
 
 var art = new Artplayer({
     container: '.artplayer-app',
@@ -112,62 +112,62 @@ import{_ as a,c as n,o as l,a7 as s,j as i}from"./chunks/framework.DXlgpajS.js";
 
 art.on('dblclick', () => {
     console.log('dblclick');
-});

DBCLICK_FULLSCREEN

在桌面端,是否双击切换全屏,默认为 true

`,3),q=i("div",{className:"run-code"},"▶ Run Code",-1),j=s(`
js
Artplayer.DBCLICK_FULLSCREEN = false;
+});

DBCLICK_FULLSCREEN

在桌面端,是否双击切换全屏,默认为 true

`,3),M=i("div",{className:"run-code"},"▶ Run Code",-1),U=s(`
js
Artplayer.DBCLICK_FULLSCREEN = false;
 
 var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
-});

MOBILE_DBCLICK_PLAY

在移动端,是否双击切换播放暂停,默认为 true

`,3),M=i("div",{className:"run-code"},"▶ Run Code",-1),U=s(`
js
Artplayer.MOBILE_DBCLICK_PLAY = false;
+});

MOBILE_DBCLICK_PLAY

在移动端,是否双击切换播放暂停,默认为 true

`,3),K=i("div",{className:"run-code"},"▶ Run Code",-1),Y=s(`
js
Artplayer.MOBILE_DBCLICK_PLAY = false;
 
 var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
-});

MOBILE_CLICK_PLAY

在移动端,是否单击切换播放暂停,默认为 false

`,3),K=i("div",{className:"run-code"},"▶ Run Code",-1),G=s(`
js
Artplayer.MOBILE_CLICK_PLAY = true;
+});

MOBILE_CLICK_PLAY

在移动端,是否单击切换播放暂停,默认为 false

`,3),G=i("div",{className:"run-code"},"▶ Run Code",-1),H=s(`
js
Artplayer.MOBILE_CLICK_PLAY = true;
 
 var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
-});

AUTO_ORIENTATION_TIME

在移动端,自动旋屏的延迟时间,单位为毫秒,默认为 200

`,3),Y=i("div",{className:"run-code"},"▶ Run Code",-1),H=s(`
js
Artplayer.AUTO_ORIENTATION_TIME = 500;
+});

AUTO_ORIENTATION_TIME

在移动端,自动旋屏的延迟时间,单位为毫秒,默认为 200

`,3),W=i("div",{className:"run-code"},"▶ Run Code",-1),X=s(`
js
Artplayer.AUTO_ORIENTATION_TIME = 500;
 
 var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
     autoOrientation: true,
-});

INFO_LOOP_TIME

信息面板的刷新时间,单位为毫秒,默认为 1000

`,3),W=i("div",{className:"run-code"},"▶ Run Code",-1),X=s(`
js
Artplayer.INFO_LOOP_TIME = 2000;
+});

INFO_LOOP_TIME

信息面板的刷新时间,单位为毫秒,默认为 1000

`,3),z=i("div",{className:"run-code"},"▶ Run Code",-1),$=s(`
js
Artplayer.INFO_LOOP_TIME = 2000;
 
 var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
 });
 
-art.info.show = true;

FAST_FORWARD_VALUE

在移动端,长按加速的速率倍数,默认为 3

`,3),z=i("div",{className:"run-code"},"▶ Run Code",-1),$=s(`
js
Artplayer.FAST_FORWARD_VALUE = 5;
+art.info.show = true;

FAST_FORWARD_VALUE

在移动端,长按加速的速率倍数,默认为 3

`,3),Z=i("div",{className:"run-code"},"▶ Run Code",-1),J=s(`
js
Artplayer.FAST_FORWARD_VALUE = 5;
 
 var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
     fastForward: true,
-});

FAST_FORWARD_TIME

在移动端,长按加速的延迟时间,单位为毫秒,默认为 1000

`,3),Z=i("div",{className:"run-code"},"▶ Run Code",-1),J=s(`
js
Artplayer.FAST_FORWARD_TIME = 2000;
+});

FAST_FORWARD_TIME

在移动端,长按加速的延迟时间,单位为毫秒,默认为 1000

`,3),Q=i("div",{className:"run-code"},"▶ Run Code",-1),ss=s(`
js
Artplayer.FAST_FORWARD_TIME = 2000;
 
 var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
     fastForward: true,
-});

TOUCH_MOVE_RATIO

在移动端,左右滑动进度的速率倍数,默认为 0.5

`,3),Q=i("div",{className:"run-code"},"▶ Run Code",-1),ss=s(`
js
Artplayer.TOUCH_MOVE_RATIO = 1;
+});

TOUCH_MOVE_RATIO

在移动端,左右滑动进度的速率倍数,默认为 0.5

`,3),is=i("div",{className:"run-code"},"▶ Run Code",-1),as=s(`
js
Artplayer.TOUCH_MOVE_RATIO = 1;
 
 var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
-});

VOLUME_STEP

快捷键调节音量的幅度比例,默认为 0.1

`,3),is=i("div",{className:"run-code"},"▶ Run Code",-1),as=s(`
js
Artplayer.VOLUME_STEP = 0.2;
+});

VOLUME_STEP

快捷键调节音量的幅度比例,默认为 0.1

`,3),ns=i("div",{className:"run-code"},"▶ Run Code",-1),ls=s(`
js
Artplayer.VOLUME_STEP = 0.2;
 
 var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
-});

SEEK_STEP

快捷键调节播放进度的幅度,单位为秒,默认为 5

`,3),ns=i("div",{className:"run-code"},"▶ Run Code",-1),ls=s(`
js
Artplayer.SEEK_STEP = 10;
+});

SEEK_STEP

快捷键调节播放进度的幅度,单位为秒,默认为 5

`,3),ps=i("div",{className:"run-code"},"▶ Run Code",-1),es=s(`
js
Artplayer.SEEK_STEP = 10;
 
 var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
-});

PLAYBACK_RATE

内置播放速率的列表,默认为 [0.5, 0.75, 1, 1.25, 1.5, 2]

`,3),ps=i("div",{className:"run-code"},"▶ Run Code",-1),es=s(`
js
Artplayer.PLAYBACK_RATE = [0.5, 1, 2, 3, 4, 5];
+});

PLAYBACK_RATE

内置播放速率的列表,默认为 [0.5, 0.75, 1, 1.25, 1.5, 2]

`,3),hs=i("div",{className:"run-code"},"▶ Run Code",-1),ts=s(`
js
Artplayer.PLAYBACK_RATE = [0.5, 1, 2, 3, 4, 5];
 
 var art = new Artplayer({
     container: '.artplayer-app',
@@ -177,7 +177,7 @@ import{_ as a,c as n,o as l,a7 as s,j as i}from"./chunks/framework.DXlgpajS.js";
 });
 
 art.contextmenu.show = true;
-art.setting.show = true;

ASPECT_RATIO

内置视频长宽比的列表,默认为 ['default', '4:3', '16:9']

`,3),hs=i("div",{className:"run-code"},"▶ Run Code",-1),ts=s(`
js
Artplayer.ASPECT_RATIO = ['default', '1:1', '2:1', '4:3', '6:5'];
+art.setting.show = true;

ASPECT_RATIO

内置视频长宽比的列表,默认为 ['default', '4:3', '16:9']

`,3),ks=i("div",{className:"run-code"},"▶ Run Code",-1),rs=s(`
js
Artplayer.ASPECT_RATIO = ['default', '1:1', '2:1', '4:3', '6:5'];
 
 var art = new Artplayer({
     container: '.artplayer-app',
@@ -187,7 +187,7 @@ import{_ as a,c as n,o as l,a7 as s,j as i}from"./chunks/framework.DXlgpajS.js";
 });
 
 art.contextmenu.show = true;
-art.setting.show = true;

FLIP

内置视频翻转的列表,默认为 ['normal', 'horizontal', 'vertical']

`,3),ks=i("div",{className:"run-code"},"▶ Run Code",-1),rs=s(`
js
Artplayer.FLIP = ['normal', 'horizontal'];
+art.setting.show = true;

FLIP

内置视频翻转的列表,默认为 ['normal', 'horizontal', 'vertical']

`,3),Es=i("div",{className:"run-code"},"▶ Run Code",-1),ds=s(`
js
Artplayer.FLIP = ['normal', 'horizontal'];
 
 var art = new Artplayer({
     container: '.artplayer-app',
@@ -197,21 +197,21 @@ import{_ as a,c as n,o as l,a7 as s,j as i}from"./chunks/framework.DXlgpajS.js";
 });
 
 art.contextmenu.show = true;
-art.setting.show = true;

FULLSCREEN_WEB_IN_BODY

网页全屏时,是否把播放器挂在在 body 元素下,默认为 false

`,3),Es=i("div",{className:"run-code"},"▶ Run Code",-1),ds=s(`
js
Artplayer.FULLSCREEN_WEB_IN_BODY = true;
+art.setting.show = true;

FULLSCREEN_WEB_IN_BODY

网页全屏时,是否把播放器挂在在 body 元素下,默认为 false

`,3),cs=i("div",{className:"run-code"},"▶ Run Code",-1),gs=s(`
js
Artplayer.FULLSCREEN_WEB_IN_BODY = true;
 
 var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
     fullscreenWeb: true,
-});

LOG_VERSION

设置是否打印播放器版本,默认为 true

`,3),cs=i("div",{className:"run-code"},"▶ Run Code",-1),gs=s(`
js
Artplayer.LOG_VERSION = false;
+});

LOG_VERSION

设置是否打印播放器版本,默认为 true

`,3),ys=i("div",{className:"run-code"},"▶ Run Code",-1),os=s(`
js
Artplayer.LOG_VERSION = false;
 
 var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
-});

USE_RAF

设置是否使用 requestAnimationFrame ,默认为 false,目前主要用于进度条的平滑效果

`,3),ys=i("div",{className:"run-code"},"▶ Run Code",-1),os=s(`
js
Artplayer.USE_RAF = true;
+});

USE_RAF

设置是否使用 requestAnimationFrame ,默认为 false,目前主要用于进度条的平滑效果

`,3),bs=i("div",{className:"run-code"},"▶ Run Code",-1),us=s(`
js
Artplayer.USE_RAF = true;
 
 var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
     miniProgressBar: true,
-});
`,1),bs=[e,h,t,k,r,E,d,c,g,y,o,b,u,F,_,m,C,A,v,T,B,D,I,S,P,R,N,O,w,L,V,x,f,q,j,M,U,K,G,Y,H,W,X,z,$,Z,J,Q,ss,is,as,ns,ls,ps,es,hs,ts,ks,rs,Es,ds,cs,gs,ys,os];function us(Fs,_s,ms,Cs,As,vs){return l(),n("div",null,bs)}const Ds=a(p,[["render",us]]);export{Bs as __pageData,Ds as default}; +});
`,1),Fs=[e,h,t,k,r,E,d,c,g,y,o,b,u,F,_,m,C,A,v,T,B,D,I,S,P,R,N,O,w,L,V,x,f,q,j,M,U,K,Y,G,H,W,X,z,$,Z,J,Q,ss,is,as,ns,ls,ps,es,hs,ts,ks,rs,Es,ds,cs,gs,ys,os,bs,us];function _s(ms,Cs,As,vs,Ts,Bs){return l(),n("div",null,Fs)}const Ss=a(p,[["render",_s]]);export{Is as __pageData,Ss as default}; diff --git a/document/assets/advanced_global.md.AD97Z3-7.lean.js b/document/assets/advanced_global.md.IzVetOq-.lean.js similarity index 76% rename from document/assets/advanced_global.md.AD97Z3-7.lean.js rename to document/assets/advanced_global.md.IzVetOq-.lean.js index 49a2ba24e..29ca10d54 100644 --- a/document/assets/advanced_global.md.AD97Z3-7.lean.js +++ b/document/assets/advanced_global.md.IzVetOq-.lean.js @@ -1 +1 @@ -import{_ as a,c as n,o as l,a7 as s,j as i}from"./chunks/framework.DXlgpajS.js";const Bs=JSON.parse('{"title":"全局属性","description":"","frontmatter":{},"headers":[],"relativePath":"advanced/global.md","filePath":"advanced/global.md","lastUpdated":1692979406000}'),p={name:"advanced/global.md"},e=s("",4),h=i("div",{className:"run-code"},"▶ Run Code",-1),t=s("",3),k=i("div",{className:"run-code"},"▶ Run Code",-1),r=s("",3),E=i("div",{className:"run-code"},"▶ Run Code",-1),d=s("",3),c=i("div",{className:"run-code"},"▶ Run Code",-1),g=s("",3),y=i("div",{className:"run-code"},"▶ Run Code",-1),o=s("",3),b=i("div",{className:"run-code"},"▶ Run Code",-1),u=s("",3),F=i("div",{className:"run-code"},"▶ Run Code",-1),_=s("",3),m=i("div",{className:"run-code"},"▶ Run Code",-1),C=s("",3),A=i("div",{className:"run-code"},"▶ Run Code",-1),v=s("",3),T=i("div",{className:"run-code"},"▶ Run Code",-1),B=s("",3),D=i("div",{className:"run-code"},"▶ Run Code",-1),I=s("",3),S=i("div",{className:"run-code"},"▶ Run Code",-1),P=s("",3),R=i("div",{className:"run-code"},"▶ Run Code",-1),N=s("",3),O=i("div",{className:"run-code"},"▶ Run Code",-1),w=s("",3),L=i("div",{className:"run-code"},"▶ Run Code",-1),V=s("",3),x=i("div",{className:"run-code"},"▶ Run Code",-1),f=s("",3),q=i("div",{className:"run-code"},"▶ Run Code",-1),j=s("",3),M=i("div",{className:"run-code"},"▶ Run Code",-1),U=s("",3),K=i("div",{className:"run-code"},"▶ Run Code",-1),G=s("",3),Y=i("div",{className:"run-code"},"▶ Run Code",-1),H=s("",3),W=i("div",{className:"run-code"},"▶ Run Code",-1),X=s("",3),z=i("div",{className:"run-code"},"▶ Run Code",-1),$=s("",3),Z=i("div",{className:"run-code"},"▶ Run Code",-1),J=s("",3),Q=i("div",{className:"run-code"},"▶ Run Code",-1),ss=s("",3),is=i("div",{className:"run-code"},"▶ Run Code",-1),as=s("",3),ns=i("div",{className:"run-code"},"▶ Run Code",-1),ls=s("",3),ps=i("div",{className:"run-code"},"▶ Run Code",-1),es=s("",3),hs=i("div",{className:"run-code"},"▶ Run Code",-1),ts=s("",3),ks=i("div",{className:"run-code"},"▶ Run Code",-1),rs=s("",3),Es=i("div",{className:"run-code"},"▶ Run Code",-1),ds=s("",3),cs=i("div",{className:"run-code"},"▶ Run Code",-1),gs=s("",3),ys=i("div",{className:"run-code"},"▶ Run Code",-1),os=s("",1),bs=[e,h,t,k,r,E,d,c,g,y,o,b,u,F,_,m,C,A,v,T,B,D,I,S,P,R,N,O,w,L,V,x,f,q,j,M,U,K,G,Y,H,W,X,z,$,Z,J,Q,ss,is,as,ns,ls,ps,es,hs,ts,ks,rs,Es,ds,cs,gs,ys,os];function us(Fs,_s,ms,Cs,As,vs){return l(),n("div",null,bs)}const Ds=a(p,[["render",us]]);export{Bs as __pageData,Ds as default}; +import{_ as a,c as n,o as l,a7 as s,j as i}from"./chunks/framework.DHbvjPBJ.js";const Is=JSON.parse('{"title":"全局属性","description":"","frontmatter":{},"headers":[],"relativePath":"advanced/global.md","filePath":"advanced/global.md","lastUpdated":1724256543000}'),p={name:"advanced/global.md"},e=s("",4),h=i("div",{className:"run-code"},"▶ Run Code",-1),t=s("",3),k=i("div",{className:"run-code"},"▶ Run Code",-1),r=s("",3),E=i("div",{className:"run-code"},"▶ Run Code",-1),d=s("",3),c=i("div",{className:"run-code"},"▶ Run Code",-1),g=s("",3),y=i("div",{className:"run-code"},"▶ Run Code",-1),o=s("",3),b=i("div",{className:"run-code"},"▶ Run Code",-1),u=s("",3),F=i("div",{className:"run-code"},"▶ Run Code",-1),_=s("",3),m=i("div",{className:"run-code"},"▶ Run Code",-1),C=s("",3),A=i("div",{className:"run-code"},"▶ Run Code",-1),v=s("",3),T=i("div",{className:"run-code"},"▶ Run Code",-1),B=s("",3),D=i("div",{className:"run-code"},"▶ Run Code",-1),I=s("",3),S=i("div",{className:"run-code"},"▶ Run Code",-1),P=s("",3),R=i("div",{className:"run-code"},"▶ Run Code",-1),N=s("",3),O=i("div",{className:"run-code"},"▶ Run Code",-1),w=s("",3),L=i("div",{className:"run-code"},"▶ Run Code",-1),V=s("",3),x=i("div",{className:"run-code"},"▶ Run Code",-1),f=s("",3),q=i("div",{className:"run-code"},"▶ Run Code",-1),j=s("",3),M=i("div",{className:"run-code"},"▶ Run Code",-1),U=s("",3),K=i("div",{className:"run-code"},"▶ Run Code",-1),Y=s("",3),G=i("div",{className:"run-code"},"▶ Run Code",-1),H=s("",3),W=i("div",{className:"run-code"},"▶ Run Code",-1),X=s("",3),z=i("div",{className:"run-code"},"▶ Run Code",-1),$=s("",3),Z=i("div",{className:"run-code"},"▶ Run Code",-1),J=s("",3),Q=i("div",{className:"run-code"},"▶ Run Code",-1),ss=s("",3),is=i("div",{className:"run-code"},"▶ Run Code",-1),as=s("",3),ns=i("div",{className:"run-code"},"▶ Run Code",-1),ls=s("",3),ps=i("div",{className:"run-code"},"▶ Run Code",-1),es=s("",3),hs=i("div",{className:"run-code"},"▶ Run Code",-1),ts=s("",3),ks=i("div",{className:"run-code"},"▶ Run Code",-1),rs=s("",3),Es=i("div",{className:"run-code"},"▶ Run Code",-1),ds=s("",3),cs=i("div",{className:"run-code"},"▶ Run Code",-1),gs=s("",3),ys=i("div",{className:"run-code"},"▶ Run Code",-1),os=s("",3),bs=i("div",{className:"run-code"},"▶ Run Code",-1),us=s("",1),Fs=[e,h,t,k,r,E,d,c,g,y,o,b,u,F,_,m,C,A,v,T,B,D,I,S,P,R,N,O,w,L,V,x,f,q,j,M,U,K,Y,G,H,W,X,z,$,Z,J,Q,ss,is,as,ns,ls,ps,es,hs,ts,ks,rs,Es,ds,cs,gs,ys,os,bs,us];function _s(ms,Cs,As,vs,Ts,Bs){return l(),n("div",null,Fs)}const Ss=a(p,[["render",_s]]);export{Is as __pageData,Ss as default}; diff --git a/document/assets/advanced_plugin.md.2HyC-tGz.js b/document/assets/advanced_plugin.md.D4HmOHq-.js similarity index 99% rename from document/assets/advanced_plugin.md.2HyC-tGz.js rename to document/assets/advanced_plugin.md.D4HmOHq-.js index 6a05499d4..7e62fe95b 100644 --- a/document/assets/advanced_plugin.md.2HyC-tGz.js +++ b/document/assets/advanced_plugin.md.D4HmOHq-.js @@ -1,4 +1,4 @@ -import{_ as n,c as l,o as p,j as s,a as i,a7 as a}from"./chunks/framework.DXlgpajS.js";const v=JSON.parse('{"title":"编写插件","description":"","frontmatter":{},"headers":[],"relativePath":"advanced/plugin.md","filePath":"advanced/plugin.md","lastUpdated":1673441101000}'),h={name:"advanced/plugin.md"},e=s("h1",{id:"编写插件",tabindex:"-1"},[i("编写插件 "),s("a",{class:"header-anchor",href:"#编写插件","aria-label":'Permalink to "编写插件"'},"​")],-1),k=s("p",null,[i("但你已经知道播放器的"),s("code",null,"属性"),i(", "),s("code",null,"方法"),i("和"),s("code",null,"事件"),i("后,再编写插件是非常简单的事")],-1),t=s("p",null,"可以在实例化的时候加载插件的函数",-1),E=s("div",{className:"run-code"},"▶ Run Code",-1),r=a(`
js
function myPlugin(art) {
+import{_ as n,c as l,o as p,j as s,a as i,a7 as a}from"./chunks/framework.DHbvjPBJ.js";const v=JSON.parse('{"title":"编写插件","description":"","frontmatter":{},"headers":[],"relativePath":"advanced/plugin.md","filePath":"advanced/plugin.md","lastUpdated":1724256543000}'),h={name:"advanced/plugin.md"},e=s("h1",{id:"编写插件",tabindex:"-1"},[i("编写插件 "),s("a",{class:"header-anchor",href:"#编写插件","aria-label":'Permalink to "编写插件"'},"​")],-1),k=s("p",null,[i("但你已经知道播放器的"),s("code",null,"属性"),i(", "),s("code",null,"方法"),i("和"),s("code",null,"事件"),i("后,再编写插件是非常简单的事")],-1),t=s("p",null,"可以在实例化的时候加载插件的函数",-1),E=s("div",{className:"run-code"},"▶ Run Code",-1),r=a(`
js
function myPlugin(art) {
     console.info(art);
     return {
         name: 'myPlugin',
diff --git a/document/assets/advanced_plugin.md.2HyC-tGz.lean.js b/document/assets/advanced_plugin.md.D4HmOHq-.lean.js
similarity index 87%
rename from document/assets/advanced_plugin.md.2HyC-tGz.lean.js
rename to document/assets/advanced_plugin.md.D4HmOHq-.lean.js
index c2ba8f3c7..91f3e35c9 100644
--- a/document/assets/advanced_plugin.md.2HyC-tGz.lean.js
+++ b/document/assets/advanced_plugin.md.D4HmOHq-.lean.js
@@ -1 +1 @@
-import{_ as n,c as l,o as p,j as s,a as i,a7 as a}from"./chunks/framework.DXlgpajS.js";const v=JSON.parse('{"title":"编写插件","description":"","frontmatter":{},"headers":[],"relativePath":"advanced/plugin.md","filePath":"advanced/plugin.md","lastUpdated":1673441101000}'),h={name:"advanced/plugin.md"},e=s("h1",{id:"编写插件",tabindex:"-1"},[i("编写插件 "),s("a",{class:"header-anchor",href:"#编写插件","aria-label":'Permalink to "编写插件"'},"​")],-1),k=s("p",null,[i("但你已经知道播放器的"),s("code",null,"属性"),i(", "),s("code",null,"方法"),i("和"),s("code",null,"事件"),i("后,再编写插件是非常简单的事")],-1),t=s("p",null,"可以在实例化的时候加载插件的函数",-1),E=s("div",{className:"run-code"},"▶ Run Code",-1),r=a("",2),d=s("div",{className:"run-code"},"▶ Run Code",-1),g=a("",2),c=s("div",{className:"run-code"},"▶ Run Code",-1),y=a("",1),b=[e,k,t,E,r,d,g,c,y];function F(u,m,o,C,B,_){return p(),l("div",null,b)}const D=n(h,[["render",F]]);export{v as __pageData,D as default};
+import{_ as n,c as l,o as p,j as s,a as i,a7 as a}from"./chunks/framework.DHbvjPBJ.js";const v=JSON.parse('{"title":"编写插件","description":"","frontmatter":{},"headers":[],"relativePath":"advanced/plugin.md","filePath":"advanced/plugin.md","lastUpdated":1724256543000}'),h={name:"advanced/plugin.md"},e=s("h1",{id:"编写插件",tabindex:"-1"},[i("编写插件 "),s("a",{class:"header-anchor",href:"#编写插件","aria-label":'Permalink to "编写插件"'},"​")],-1),k=s("p",null,[i("但你已经知道播放器的"),s("code",null,"属性"),i(", "),s("code",null,"方法"),i("和"),s("code",null,"事件"),i("后,再编写插件是非常简单的事")],-1),t=s("p",null,"可以在实例化的时候加载插件的函数",-1),E=s("div",{className:"run-code"},"▶ Run Code",-1),r=a("",2),d=s("div",{className:"run-code"},"▶ Run Code",-1),g=a("",2),c=s("div",{className:"run-code"},"▶ Run Code",-1),y=a("",1),b=[e,k,t,E,r,d,g,c,y];function F(u,m,o,C,B,_){return p(),l("div",null,b)}const D=n(h,[["render",F]]);export{v as __pageData,D as default};
diff --git a/document/assets/advanced_property.md.CYjLkVe3.js b/document/assets/advanced_property.md.CsChyVZ8.js
similarity index 96%
rename from document/assets/advanced_property.md.CYjLkVe3.js
rename to document/assets/advanced_property.md.CsChyVZ8.js
index d13273a34..c072b3ba5 100644
--- a/document/assets/advanced_property.md.CYjLkVe3.js
+++ b/document/assets/advanced_property.md.CsChyVZ8.js
@@ -1,4 +1,4 @@
-import{_ as a,c as n,o as l,a7 as s,j as i}from"./chunks/framework.DXlgpajS.js";const Os=JSON.parse('{"title":"实例属性","description":"","frontmatter":{},"headers":[],"relativePath":"advanced/property.md","filePath":"advanced/property.md","lastUpdated":1700581325000}'),p={name:"advanced/property.md"},e=s('

实例属性

这里的 实例属性 是指挂载在 实例一级属性,比较常用

play

  • Type: Function

播放视频

',5),h=i("div",{className:"run-code"},"▶ Run Code",-1),t=s(`
js
var art = new Artplayer({
+import{_ as a,c as n,o as l,a7 as s,j as i}from"./chunks/framework.DHbvjPBJ.js";const $s=JSON.parse('{"title":"实例属性","description":"","frontmatter":{},"headers":[],"relativePath":"advanced/property.md","filePath":"advanced/property.md","lastUpdated":1724256543000}'),p={name:"advanced/property.md"},e=s('

实例属性

这里的 实例属性 是指挂载在 实例一级属性,比较常用

play

  • Type: Function

播放视频

',5),h=i("div",{className:"run-code"},"▶ Run Code",-1),t=s(`
js
var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
     muted: true,
@@ -133,13 +133,13 @@ import{_ as a,c as n,o as l,a7 as s,j as i}from"./chunks/framework.DXlgpajS.js";
 
 art.on('ready', () => {
     console.info(art.duration);
-});

提示

有的视频是没有时长的,例如直播中的视频或者没被解码完成的视频,这个时候获取的时长会是 0

screenshot

  • Type: Function

下载当前视频帧的截图

`,5),I=i("div",{className:"run-code"},"▶ Run Code",-1),j=s(`
js
var art = new Artplayer({
+});

提示

有的视频是没有时长的,例如直播中的视频或者没被解码完成的视频,这个时候获取的时长会是 0

screenshot

  • Type: Function

下载当前视频帧的截图, 可选参数为截图名字

`,5),I=i("div",{className:"run-code"},"▶ Run Code",-1),j=s(`
js
var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
 });
 
 art.on('ready', () => {
-    art.screenshot();
+    art.screenshot('your-name');
 });

getDataURL

  • Type: Function

获取当前视频帧的截图的base64地址,返回的是一个 Promise

`,4),G=i("div",{className:"run-code"},"▶ Run Code",-1),U=s(`
js
var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
@@ -148,7 +148,7 @@ import{_ as a,c as n,o as l,a7 as s,j as i}from"./chunks/framework.DXlgpajS.js";
 art.on('ready', async () => {
     const url = await art.getDataURL();
 	console.info(url)
-});

getBlobUrl

  • Type: Function

获取当前视频帧的截图的blob地址,返回的是一个 Promise

`,4),z=i("div",{className:"run-code"},"▶ Run Code",-1),H=s(`
js
var art = new Artplayer({
+});

getBlobUrl

  • Type: Function

获取当前视频帧的截图的blob地址,返回的是一个 Promise

`,4),z=i("div",{className:"run-code"},"▶ Run Code",-1),O=s(`
js
var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
 });
@@ -156,7 +156,7 @@ import{_ as a,c as n,o as l,a7 as s,j as i}from"./chunks/framework.DXlgpajS.js";
 art.on('ready', async () => {
     const url = await art.getBlobUrl();
     console.info(url);
-});

fullscreen

  • Type: Setter/Getter
  • Parameter: Boolean

设置和获取播放器窗口全屏

`,4),L=i("div",{className:"run-code"},"▶ Run Code",-1),O=s(`
js
var art = new Artplayer({
+});

fullscreen

  • Type: Setter/Getter
  • Parameter: Boolean

设置和获取播放器窗口全屏

`,4),H=i("div",{className:"run-code"},"▶ Run Code",-1),L=s(`
js
var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
     controls: [
@@ -380,4 +380,15 @@ import{_ as a,c as n,o as l,a7 as s,j as i}from"./chunks/framework.DXlgpajS.js";
 			},
 		];
 	}, 3000);
-})
`,1),xs=[e,h,t,k,r,E,d,c,g,y,o,b,u,F,m,_,C,v,A,B,T,D,S,P,w,f,q,R,N,x,V,I,j,G,U,z,H,L,O,W,$,M,Q,J,K,X,Y,Z,ss,is,as,ns,ls,ps,es,hs,ts,ks,rs,Es,ds,cs,gs,ys,os,bs,us,Fs,ms,_s,Cs,vs,As,Bs,Ts,Ds,Ss,Ps,ws,fs,qs,Rs,Ns];function Vs(Is,js,Gs,Us,zs,Hs){return l(),n("div",null,xs)}const Ws=a(p,[["render",Vs]]);export{Os as __pageData,Ws as default}; +})

thumbnails

  • Type: Setter/Getter
  • Parameter: Object

动态设置缩略图

`,4),xs=i("div",{className:"run-code"},"▶ Run Code",-1),Vs=s(`
js
var art = new Artplayer({
+	container: '.artplayer-app',
+	url: '/assets/sample/video.mp4',
+});
+
+art.on('ready', () => {
+    art.thumbnails = {
+        url: '/assets/sample/thumbnails.png',
+        number: 60,
+        column: 10,
+    };
+});
`,1),Is=[e,h,t,k,r,E,d,c,g,y,o,b,u,F,m,_,C,v,A,B,T,D,S,P,w,f,q,R,N,x,V,I,j,G,U,z,O,H,L,W,$,M,Q,J,K,X,Y,Z,ss,is,as,ns,ls,ps,es,hs,ts,ks,rs,Es,ds,cs,gs,ys,os,bs,us,Fs,ms,_s,Cs,vs,As,Bs,Ts,Ds,Ss,Ps,ws,fs,qs,Rs,Ns,xs,Vs];function js(Gs,Us,zs,Os,Hs,Ls){return l(),n("div",null,Is)}const Ms=a(p,[["render",js]]);export{$s as __pageData,Ms as default}; diff --git a/document/assets/advanced_property.md.CYjLkVe3.lean.js b/document/assets/advanced_property.md.CsChyVZ8.lean.js similarity index 81% rename from document/assets/advanced_property.md.CYjLkVe3.lean.js rename to document/assets/advanced_property.md.CsChyVZ8.lean.js index a0af24839..882d710a6 100644 --- a/document/assets/advanced_property.md.CYjLkVe3.lean.js +++ b/document/assets/advanced_property.md.CsChyVZ8.lean.js @@ -1 +1 @@ -import{_ as a,c as n,o as l,a7 as s,j as i}from"./chunks/framework.DXlgpajS.js";const Os=JSON.parse('{"title":"实例属性","description":"","frontmatter":{},"headers":[],"relativePath":"advanced/property.md","filePath":"advanced/property.md","lastUpdated":1700581325000}'),p={name:"advanced/property.md"},e=s("",5),h=i("div",{className:"run-code"},"▶ Run Code",-1),t=s("",4),k=i("div",{className:"run-code"},"▶ Run Code",-1),r=s("",4),E=i("div",{className:"run-code"},"▶ Run Code",-1),d=s("",4),c=i("div",{className:"run-code"},"▶ Run Code",-1),g=s("",4),y=i("div",{className:"run-code"},"▶ Run Code",-1),o=s("",4),b=i("div",{className:"run-code"},"▶ Run Code",-1),u=s("",4),F=i("div",{className:"run-code"},"▶ Run Code",-1),m=s("",4),_=i("div",{className:"run-code"},"▶ Run Code",-1),C=s("",4),v=i("div",{className:"run-code"},"▶ Run Code",-1),A=s("",4),B=i("div",{className:"run-code"},"▶ Run Code",-1),T=s("",4),D=i("div",{className:"run-code"},"▶ Run Code",-1),S=s("",5),P=i("div",{className:"run-code"},"▶ Run Code",-1),w=s("",4),f=i("div",{className:"run-code"},"▶ Run Code",-1),q=s("",4),R=i("div",{className:"run-code"},"▶ Run Code",-1),N=s("",4),x=i("div",{className:"run-code"},"▶ Run Code",-1),V=s("",5),I=i("div",{className:"run-code"},"▶ Run Code",-1),j=s("",4),G=i("div",{className:"run-code"},"▶ Run Code",-1),U=s("",4),z=i("div",{className:"run-code"},"▶ Run Code",-1),H=s("",4),L=i("div",{className:"run-code"},"▶ Run Code",-1),O=s("",5),W=i("div",{className:"run-code"},"▶ Run Code",-1),$=s("",4),M=i("div",{className:"run-code"},"▶ Run Code",-1),Q=s("",5),J=i("div",{className:"run-code"},"▶ Run Code",-1),K=s("",4),X=i("div",{className:"run-code"},"▶ Run Code",-1),Y=s("",4),Z=i("div",{className:"run-code"},"▶ Run Code",-1),ss=s("",4),is=i("div",{className:"run-code"},"▶ Run Code",-1),as=s("",4),ns=i("div",{className:"run-code"},"▶ Run Code",-1),ls=s("",5),ps=i("div",{className:"run-code"},"▶ Run Code",-1),es=s("",4),hs=i("div",{className:"run-code"},"▶ Run Code",-1),ts=s("",4),ks=i("div",{className:"run-code"},"▶ Run Code",-1),rs=s("",4),Es=i("div",{className:"run-code"},"▶ Run Code",-1),ds=s("",5),cs=i("div",{className:"run-code"},"▶ Run Code",-1),gs=s("",4),ys=i("div",{className:"run-code"},"▶ Run Code",-1),os=s("",4),bs=i("div",{className:"run-code"},"▶ Run Code",-1),us=s("",4),Fs=i("div",{className:"run-code"},"▶ Run Code",-1),ms=s("",4),_s=i("div",{className:"run-code"},"▶ Run Code",-1),Cs=s("",4),vs=i("div",{className:"run-code"},"▶ Run Code",-1),As=s("",4),Bs=i("div",{className:"run-code"},"▶ Run Code",-1),Ts=s("",5),Ds=i("div",{className:"run-code"},"▶ Run Code",-1),Ss=s("",4),Ps=i("div",{className:"run-code"},"▶ Run Code",-1),ws=s("",4),fs=i("div",{className:"run-code"},"▶ Run Code",-1),qs=s("",4),Rs=i("div",{className:"run-code"},"▶ Run Code",-1),Ns=s("",1),xs=[e,h,t,k,r,E,d,c,g,y,o,b,u,F,m,_,C,v,A,B,T,D,S,P,w,f,q,R,N,x,V,I,j,G,U,z,H,L,O,W,$,M,Q,J,K,X,Y,Z,ss,is,as,ns,ls,ps,es,hs,ts,ks,rs,Es,ds,cs,gs,ys,os,bs,us,Fs,ms,_s,Cs,vs,As,Bs,Ts,Ds,Ss,Ps,ws,fs,qs,Rs,Ns];function Vs(Is,js,Gs,Us,zs,Hs){return l(),n("div",null,xs)}const Ws=a(p,[["render",Vs]]);export{Os as __pageData,Ws as default}; +import{_ as a,c as n,o as l,a7 as s,j as i}from"./chunks/framework.DHbvjPBJ.js";const $s=JSON.parse('{"title":"实例属性","description":"","frontmatter":{},"headers":[],"relativePath":"advanced/property.md","filePath":"advanced/property.md","lastUpdated":1724256543000}'),p={name:"advanced/property.md"},e=s("",5),h=i("div",{className:"run-code"},"▶ Run Code",-1),t=s("",4),k=i("div",{className:"run-code"},"▶ Run Code",-1),r=s("",4),E=i("div",{className:"run-code"},"▶ Run Code",-1),d=s("",4),c=i("div",{className:"run-code"},"▶ Run Code",-1),g=s("",4),y=i("div",{className:"run-code"},"▶ Run Code",-1),o=s("",4),b=i("div",{className:"run-code"},"▶ Run Code",-1),u=s("",4),F=i("div",{className:"run-code"},"▶ Run Code",-1),m=s("",4),_=i("div",{className:"run-code"},"▶ Run Code",-1),C=s("",4),v=i("div",{className:"run-code"},"▶ Run Code",-1),A=s("",4),B=i("div",{className:"run-code"},"▶ Run Code",-1),T=s("",4),D=i("div",{className:"run-code"},"▶ Run Code",-1),S=s("",5),P=i("div",{className:"run-code"},"▶ Run Code",-1),w=s("",4),f=i("div",{className:"run-code"},"▶ Run Code",-1),q=s("",4),R=i("div",{className:"run-code"},"▶ Run Code",-1),N=s("",4),x=i("div",{className:"run-code"},"▶ Run Code",-1),V=s("",5),I=i("div",{className:"run-code"},"▶ Run Code",-1),j=s("",4),G=i("div",{className:"run-code"},"▶ Run Code",-1),U=s("",4),z=i("div",{className:"run-code"},"▶ Run Code",-1),O=s("",4),H=i("div",{className:"run-code"},"▶ Run Code",-1),L=s("",5),W=i("div",{className:"run-code"},"▶ Run Code",-1),$=s("",4),M=i("div",{className:"run-code"},"▶ Run Code",-1),Q=s("",5),J=i("div",{className:"run-code"},"▶ Run Code",-1),K=s("",4),X=i("div",{className:"run-code"},"▶ Run Code",-1),Y=s("",4),Z=i("div",{className:"run-code"},"▶ Run Code",-1),ss=s("",4),is=i("div",{className:"run-code"},"▶ Run Code",-1),as=s("",4),ns=i("div",{className:"run-code"},"▶ Run Code",-1),ls=s("",5),ps=i("div",{className:"run-code"},"▶ Run Code",-1),es=s("",4),hs=i("div",{className:"run-code"},"▶ Run Code",-1),ts=s("",4),ks=i("div",{className:"run-code"},"▶ Run Code",-1),rs=s("",4),Es=i("div",{className:"run-code"},"▶ Run Code",-1),ds=s("",5),cs=i("div",{className:"run-code"},"▶ Run Code",-1),gs=s("",4),ys=i("div",{className:"run-code"},"▶ Run Code",-1),os=s("",4),bs=i("div",{className:"run-code"},"▶ Run Code",-1),us=s("",4),Fs=i("div",{className:"run-code"},"▶ Run Code",-1),ms=s("",4),_s=i("div",{className:"run-code"},"▶ Run Code",-1),Cs=s("",4),vs=i("div",{className:"run-code"},"▶ Run Code",-1),As=s("",4),Bs=i("div",{className:"run-code"},"▶ Run Code",-1),Ts=s("",5),Ds=i("div",{className:"run-code"},"▶ Run Code",-1),Ss=s("",4),Ps=i("div",{className:"run-code"},"▶ Run Code",-1),ws=s("",4),fs=i("div",{className:"run-code"},"▶ Run Code",-1),qs=s("",4),Rs=i("div",{className:"run-code"},"▶ Run Code",-1),Ns=s("",4),xs=i("div",{className:"run-code"},"▶ Run Code",-1),Vs=s("",1),Is=[e,h,t,k,r,E,d,c,g,y,o,b,u,F,m,_,C,v,A,B,T,D,S,P,w,f,q,R,N,x,V,I,j,G,U,z,O,H,L,W,$,M,Q,J,K,X,Y,Z,ss,is,as,ns,ls,ps,es,hs,ts,ks,rs,Es,ds,cs,gs,ys,os,bs,us,Fs,ms,_s,Cs,vs,As,Bs,Ts,Ds,Ss,Ps,ws,fs,qs,Rs,Ns,xs,Vs];function js(Gs,Us,zs,Os,Hs,Ls){return l(),n("div",null,Is)}const Ms=a(p,[["render",js]]);export{$s as __pageData,Ms as default}; diff --git a/document/assets/app.D0lUm06M.js b/document/assets/app.n6qFtM8l.js similarity index 90% rename from document/assets/app.D0lUm06M.js rename to document/assets/app.n6qFtM8l.js index 71bd170e1..e848aaeee 100644 --- a/document/assets/app.D0lUm06M.js +++ b/document/assets/app.n6qFtM8l.js @@ -1 +1 @@ -import{U as o,a8 as p,a9 as u,aa as l,ab as c,ac as f,ad as d,ae as m,af as h,ag as g,ah as A,d as P,u as v,y,x as C,ai as b,aj as w,ak as E,al as R}from"./chunks/framework.DXlgpajS.js";import{t as S}from"./chunks/theme.eFWpDLSn.js";function i(e){if(e.extends){const a=i(e.extends);return{...a,...e,async enhanceApp(t){a.enhanceApp&&await a.enhanceApp(t),e.enhanceApp&&await e.enhanceApp(t)}}}return e}const s=i(S),_=P({name:"VitePressApp",setup(){const{site:e,lang:a,dir:t}=v();return y(()=>{C(()=>{document.documentElement.lang=a.value,document.documentElement.dir=t.value})}),e.value.router.prefetchLinks&&b(),w(),E(),s.setup&&s.setup(),()=>R(s.Layout)}});async function T(){globalThis.__VITEPRESS__=!0;const e=x(),a=j();a.provide(u,e);const t=l(e.route);return a.provide(c,t),a.component("Content",f),a.component("ClientOnly",d),Object.defineProperties(a.config.globalProperties,{$frontmatter:{get(){return t.frontmatter.value}},$params:{get(){return t.page.value.params}}}),s.enhanceApp&&await s.enhanceApp({app:a,router:e,siteData:m}),{app:a,router:e,data:t}}function j(){return h(_)}function x(){let e=o,a;return g(t=>{let n=A(t),r=null;return n&&(e&&(a=n),(e||a===n)&&(n=n.replace(/\.js$/,".lean.js")),r=import(n)),o&&(e=!1),r},s.NotFound)}o&&T().then(({app:e,router:a,data:t})=>{a.go().then(()=>{p(a.route,t.site),e.mount("#app")})});export{T as createApp}; +import{U as o,a8 as p,a9 as u,aa as l,ab as c,ac as f,ad as d,ae as m,af as h,ag as g,ah as A,d as P,u as v,y,x as C,ai as b,aj as w,ak as E,al as R}from"./chunks/framework.DHbvjPBJ.js";import{t as S}from"./chunks/theme.BNrOBAoa.js";function i(e){if(e.extends){const a=i(e.extends);return{...a,...e,async enhanceApp(t){a.enhanceApp&&await a.enhanceApp(t),e.enhanceApp&&await e.enhanceApp(t)}}}return e}const s=i(S),_=P({name:"VitePressApp",setup(){const{site:e,lang:a,dir:t}=v();return y(()=>{C(()=>{document.documentElement.lang=a.value,document.documentElement.dir=t.value})}),e.value.router.prefetchLinks&&b(),w(),E(),s.setup&&s.setup(),()=>R(s.Layout)}});async function T(){globalThis.__VITEPRESS__=!0;const e=x(),a=j();a.provide(u,e);const t=l(e.route);return a.provide(c,t),a.component("Content",f),a.component("ClientOnly",d),Object.defineProperties(a.config.globalProperties,{$frontmatter:{get(){return t.frontmatter.value}},$params:{get(){return t.page.value.params}}}),s.enhanceApp&&await s.enhanceApp({app:a,router:e,siteData:m}),{app:a,router:e,data:t}}function j(){return h(_)}function x(){let e=o,a;return g(t=>{let n=A(t),r=null;return n&&(e&&(a=n),(e||a===n)&&(n=n.replace(/\.js$/,".lean.js")),r=import(n)),o&&(e=!1),r},s.NotFound)}o&&T().then(({app:e,router:a,data:t})=>{a.go().then(()=>{p(a.route,t.site),e.mount("#app")})});export{T as createApp}; diff --git a/document/assets/chunks/framework.DHbvjPBJ.js b/document/assets/chunks/framework.DHbvjPBJ.js new file mode 100644 index 000000000..657741691 --- /dev/null +++ b/document/assets/chunks/framework.DHbvjPBJ.js @@ -0,0 +1,17 @@ +/** +* @vue/shared v3.4.38 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**//*! #__NO_SIDE_EFFECTS__ */function ws(e,t){const n=new Set(e.split(","));return s=>n.has(s)}const ne={},yt=[],Ae=()=>{},To=()=>!1,kt=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),vs=e=>e.startsWith("onUpdate:"),ce=Object.assign,Es=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},Ao=Object.prototype.hasOwnProperty,J=(e,t)=>Ao.call(e,t),B=Array.isArray,_t=e=>En(e)==="[object Map]",Br=e=>En(e)==="[object Set]",k=e=>typeof e=="function",re=e=>typeof e=="string",Qe=e=>typeof e=="symbol",Z=e=>e!==null&&typeof e=="object",kr=e=>(Z(e)||k(e))&&k(e.then)&&k(e.catch),Kr=Object.prototype.toString,En=e=>Kr.call(e),Oo=e=>En(e).slice(8,-1),Wr=e=>En(e)==="[object Object]",Cs=e=>re(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,bt=ws(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Cn=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},Ro=/-(\w)/g,Le=Cn(e=>e.replace(Ro,(t,n)=>n?n.toUpperCase():"")),Lo=/\B([A-Z])/g,Ze=Cn(e=>e.replace(Lo,"-$1").toLowerCase()),Sn=Cn(e=>e.charAt(0).toUpperCase()+e.slice(1)),ln=Cn(e=>e?`on${Sn(e)}`:""),Je=(e,t)=>!Object.is(e,t),cn=(e,...t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:s,value:n})},ls=e=>{const t=parseFloat(e);return isNaN(t)?e:t},Mo=e=>{const t=re(e)?Number(e):NaN;return isNaN(t)?e:t};let Gs;const Gr=()=>Gs||(Gs=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Ss(e){if(B(e)){const t={};for(let n=0;n{if(n){const s=n.split(Po);s.length>1&&(t[s[0].trim()]=s[1].trim())}}),t}function xs(e){let t="";if(re(e))t=e;else if(B(e))for(let n=0;n!!(e&&e.__v_isRef===!0),jo=e=>re(e)?e:e==null?"":B(e)||Z(e)&&(e.toString===Kr||!k(e.toString))?Yr(e)?jo(e.value):JSON.stringify(e,Jr,2):String(e),Jr=(e,t)=>Yr(t)?Jr(e,t.value):_t(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[s,r],i)=>(n[Bn(s,i)+" =>"]=r,n),{})}:Br(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>Bn(n))}:Qe(t)?Bn(t):Z(t)&&!B(t)&&!Wr(t)?String(t):t,Bn=(e,t="")=>{var n;return Qe(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};/** +* @vue/reactivity v3.4.38 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/let Ee;class Vo{constructor(t=!1){this.detached=t,this._active=!0,this.effects=[],this.cleanups=[],this.parent=Ee,!t&&Ee&&(this.index=(Ee.scopes||(Ee.scopes=[])).push(this)-1)}get active(){return this._active}run(t){if(this._active){const n=Ee;try{return Ee=this,t()}finally{Ee=n}}}on(){Ee=this}off(){Ee=this.parent}stop(t){if(this._active){let n,s;for(n=0,s=this.effects.length;n=4))break}this._dirtyLevel===1&&(this._dirtyLevel=0),tt()}return this._dirtyLevel>=4}set dirty(t){this._dirtyLevel=t?4:0}run(){if(this._dirtyLevel=0,!this.active)return this.fn();let t=Ge,n=ct;try{return Ge=!0,ct=this,this._runnings++,Xs(this),this.fn()}finally{Ys(this),this._runnings--,ct=n,Ge=t}}stop(){this.active&&(Xs(this),Ys(this),this.onStop&&this.onStop(),this.active=!1)}}function Bo(e){return e.value}function Xs(e){e._trackId++,e._depsLength=0}function Ys(e){if(e.deps.length>e._depsLength){for(let t=e._depsLength;t{const n=new Map;return n.cleanup=e,n.computed=t,n},hn=new WeakMap,at=Symbol(""),fs=Symbol("");function we(e,t,n){if(Ge&&ct){let s=hn.get(e);s||hn.set(e,s=new Map);let r=s.get(n);r||s.set(n,r=ni(()=>s.delete(n))),ei(ct,r)}}function He(e,t,n,s,r,i){const o=hn.get(e);if(!o)return;let l=[];if(t==="clear")l=[...o.values()];else if(n==="length"&&B(e)){const c=Number(s);o.forEach((f,d)=>{(d==="length"||!Qe(d)&&d>=c)&&l.push(f)})}else switch(n!==void 0&&l.push(o.get(n)),t){case"add":B(e)?Cs(n)&&l.push(o.get("length")):(l.push(o.get(at)),_t(e)&&l.push(o.get(fs)));break;case"delete":B(e)||(l.push(o.get(at)),_t(e)&&l.push(o.get(fs)));break;case"set":_t(e)&&l.push(o.get(at));break}As();for(const c of l)c&&ti(c,4);Os()}function ko(e,t){const n=hn.get(e);return n&&n.get(t)}const Ko=ws("__proto__,__v_isRef,__isVue"),si=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Qe)),Js=Wo();function Wo(){const e={};return["includes","indexOf","lastIndexOf"].forEach(t=>{e[t]=function(...n){const s=z(this);for(let i=0,o=this.length;i{e[t]=function(...n){et(),As();const s=z(this)[t].apply(this,n);return Os(),tt(),s}}),e}function qo(e){Qe(e)||(e=String(e));const t=z(this);return we(t,"has",e),t.hasOwnProperty(e)}class ri{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,s){const r=this._isReadonly,i=this._isShallow;if(n==="__v_isReactive")return!r;if(n==="__v_isReadonly")return r;if(n==="__v_isShallow")return i;if(n==="__v_raw")return s===(r?i?il:ci:i?li:oi).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(s)?t:void 0;const o=B(t);if(!r){if(o&&J(Js,n))return Reflect.get(Js,n,s);if(n==="hasOwnProperty")return qo}const l=Reflect.get(t,n,s);return(Qe(n)?si.has(n):Ko(n))||(r||we(t,"get",n),i)?l:ge(l)?o&&Cs(n)?l:l.value:Z(l)?r?An(l):Tn(l):l}}class ii extends ri{constructor(t=!1){super(!1,t)}set(t,n,s,r){let i=t[n];if(!this._isShallow){const c=dt(i);if(!xt(s)&&!dt(s)&&(i=z(i),s=z(s)),!B(t)&&ge(i)&&!ge(s))return c?!1:(i.value=s,!0)}const o=B(t)&&Cs(n)?Number(n)e,xn=e=>Reflect.getPrototypeOf(e);function Gt(e,t,n=!1,s=!1){e=e.__v_raw;const r=z(e),i=z(t);n||(Je(t,i)&&we(r,"get",t),we(r,"get",i));const{has:o}=xn(r),l=s?Rs:n?Is:jt;if(o.call(r,t))return l(e.get(t));if(o.call(r,i))return l(e.get(i));e!==r&&e.get(t)}function Xt(e,t=!1){const n=this.__v_raw,s=z(n),r=z(e);return t||(Je(e,r)&&we(s,"has",e),we(s,"has",r)),e===r?n.has(e):n.has(e)||n.has(r)}function Yt(e,t=!1){return e=e.__v_raw,!t&&we(z(e),"iterate",at),Reflect.get(e,"size",e)}function zs(e,t=!1){!t&&!xt(e)&&!dt(e)&&(e=z(e));const n=z(this);return xn(n).has.call(n,e)||(n.add(e),He(n,"add",e,e)),this}function Qs(e,t,n=!1){!n&&!xt(t)&&!dt(t)&&(t=z(t));const s=z(this),{has:r,get:i}=xn(s);let o=r.call(s,e);o||(e=z(e),o=r.call(s,e));const l=i.call(s,e);return s.set(e,t),o?Je(t,l)&&He(s,"set",e,t):He(s,"add",e,t),this}function Zs(e){const t=z(this),{has:n,get:s}=xn(t);let r=n.call(t,e);r||(e=z(e),r=n.call(t,e)),s&&s.call(t,e);const i=t.delete(e);return r&&He(t,"delete",e,void 0),i}function er(){const e=z(this),t=e.size!==0,n=e.clear();return t&&He(e,"clear",void 0,void 0),n}function Jt(e,t){return function(s,r){const i=this,o=i.__v_raw,l=z(o),c=t?Rs:e?Is:jt;return!e&&we(l,"iterate",at),o.forEach((f,d)=>s.call(r,c(f),c(d),i))}}function zt(e,t,n){return function(...s){const r=this.__v_raw,i=z(r),o=_t(i),l=e==="entries"||e===Symbol.iterator&&o,c=e==="keys"&&o,f=r[e](...s),d=n?Rs:t?Is:jt;return!t&&we(i,"iterate",c?fs:at),{next(){const{value:h,done:m}=f.next();return m?{value:h,done:m}:{value:l?[d(h[0]),d(h[1])]:d(h),done:m}},[Symbol.iterator](){return this}}}}function De(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function zo(){const e={get(i){return Gt(this,i)},get size(){return Yt(this)},has:Xt,add:zs,set:Qs,delete:Zs,clear:er,forEach:Jt(!1,!1)},t={get(i){return Gt(this,i,!1,!0)},get size(){return Yt(this)},has:Xt,add(i){return zs.call(this,i,!0)},set(i,o){return Qs.call(this,i,o,!0)},delete:Zs,clear:er,forEach:Jt(!1,!0)},n={get(i){return Gt(this,i,!0)},get size(){return Yt(this,!0)},has(i){return Xt.call(this,i,!0)},add:De("add"),set:De("set"),delete:De("delete"),clear:De("clear"),forEach:Jt(!0,!1)},s={get(i){return Gt(this,i,!0,!0)},get size(){return Yt(this,!0)},has(i){return Xt.call(this,i,!0)},add:De("add"),set:De("set"),delete:De("delete"),clear:De("clear"),forEach:Jt(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach(i=>{e[i]=zt(i,!1,!1),n[i]=zt(i,!0,!1),t[i]=zt(i,!1,!0),s[i]=zt(i,!0,!0)}),[e,n,t,s]}const[Qo,Zo,el,tl]=zo();function Ls(e,t){const n=t?e?tl:el:e?Zo:Qo;return(s,r,i)=>r==="__v_isReactive"?!e:r==="__v_isReadonly"?e:r==="__v_raw"?s:Reflect.get(J(n,r)&&r in s?n:s,r,i)}const nl={get:Ls(!1,!1)},sl={get:Ls(!1,!0)},rl={get:Ls(!0,!1)};const oi=new WeakMap,li=new WeakMap,ci=new WeakMap,il=new WeakMap;function ol(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function ll(e){return e.__v_skip||!Object.isExtensible(e)?0:ol(Oo(e))}function Tn(e){return dt(e)?e:Ms(e,!1,Xo,nl,oi)}function cl(e){return Ms(e,!1,Jo,sl,li)}function An(e){return Ms(e,!0,Yo,rl,ci)}function Ms(e,t,n,s,r){if(!Z(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const i=r.get(e);if(i)return i;const o=ll(e);if(o===0)return e;const l=new Proxy(e,o===2?s:n);return r.set(e,l),l}function wt(e){return dt(e)?wt(e.__v_raw):!!(e&&e.__v_isReactive)}function dt(e){return!!(e&&e.__v_isReadonly)}function xt(e){return!!(e&&e.__v_isShallow)}function ai(e){return e?!!e.__v_raw:!1}function z(e){const t=e&&e.__v_raw;return t?z(t):e}function an(e){return Object.isExtensible(e)&&qr(e,"__v_skip",!0),e}const jt=e=>Z(e)?Tn(e):e,Is=e=>Z(e)?An(e):e;class fi{constructor(t,n,s,r){this.getter=t,this._setter=n,this.dep=void 0,this.__v_isRef=!0,this.__v_isReadonly=!1,this.effect=new Ts(()=>t(this._value),()=>Pt(this,this.effect._dirtyLevel===2?2:3)),this.effect.computed=this,this.effect.active=this._cacheable=!r,this.__v_isReadonly=s}get value(){const t=z(this);return(!t._cacheable||t.effect.dirty)&&Je(t._value,t._value=t.effect.run())&&Pt(t,4),Ps(t),t.effect._dirtyLevel>=2&&Pt(t,2),t._value}set value(t){this._setter(t)}get _dirty(){return this.effect.dirty}set _dirty(t){this.effect.dirty=t}}function al(e,t,n=!1){let s,r;const i=k(e);return i?(s=e,r=Ae):(s=e.get,r=e.set),new fi(s,r,i||!r,n)}function Ps(e){var t;Ge&&ct&&(e=z(e),ei(ct,(t=e.dep)!=null?t:e.dep=ni(()=>e.dep=void 0,e instanceof fi?e:void 0)))}function Pt(e,t=4,n,s){e=z(e);const r=e.dep;r&&ti(r,t)}function ge(e){return!!(e&&e.__v_isRef===!0)}function ue(e){return di(e,!1)}function ui(e){return di(e,!0)}function di(e,t){return ge(e)?e:new fl(e,t)}class fl{constructor(t,n){this.__v_isShallow=n,this.dep=void 0,this.__v_isRef=!0,this._rawValue=n?t:z(t),this._value=n?t:jt(t)}get value(){return Ps(this),this._value}set value(t){const n=this.__v_isShallow||xt(t)||dt(t);t=n?t:z(t),Je(t,this._rawValue)&&(this._rawValue,this._rawValue=t,this._value=n?t:jt(t),Pt(this,4))}}function hi(e){return ge(e)?e.value:e}const ul={get:(e,t,n)=>hi(Reflect.get(e,t,n)),set:(e,t,n,s)=>{const r=e[t];return ge(r)&&!ge(n)?(r.value=n,!0):Reflect.set(e,t,n,s)}};function pi(e){return wt(e)?e:new Proxy(e,ul)}class dl{constructor(t){this.dep=void 0,this.__v_isRef=!0;const{get:n,set:s}=t(()=>Ps(this),()=>Pt(this));this._get=n,this._set=s}get value(){return this._get()}set value(t){this._set(t)}}function hl(e){return new dl(e)}class pl{constructor(t,n,s){this._object=t,this._key=n,this._defaultValue=s,this.__v_isRef=!0}get value(){const t=this._object[this._key];return t===void 0?this._defaultValue:t}set value(t){this._object[this._key]=t}get dep(){return ko(z(this._object),this._key)}}class gl{constructor(t){this._getter=t,this.__v_isRef=!0,this.__v_isReadonly=!0}get value(){return this._getter()}}function ml(e,t,n){return ge(e)?e:k(e)?new gl(e):Z(e)&&arguments.length>1?yl(e,t,n):ue(e)}function yl(e,t,n){const s=e[t];return ge(s)?s:new pl(e,t,n)}/** +* @vue/runtime-core v3.4.38 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/function Xe(e,t,n,s){try{return s?e(...s):e()}catch(r){On(r,t,n)}}function Oe(e,t,n,s){if(k(e)){const r=Xe(e,t,n,s);return r&&kr(r)&&r.catch(i=>{On(i,t,n)}),r}if(B(e)){const r=[];for(let i=0;i>>1,r=pe[s],i=Dt(r);iNe&&pe.splice(t,1)}function vl(e){B(e)?vt.push(...e):(!ke||!ke.includes(e,e.allowRecurse?ot+1:ot))&&vt.push(e),mi()}function tr(e,t,n=Vt?Ne+1:0){for(;nDt(n)-Dt(s));if(vt.length=0,ke){ke.push(...t);return}for(ke=t,ot=0;ote.id==null?1/0:e.id,El=(e,t)=>{const n=Dt(e)-Dt(t);if(n===0){if(e.pre&&!t.pre)return-1;if(t.pre&&!e.pre)return 1}return n};function yi(e){us=!1,Vt=!0,pe.sort(El);try{for(Ne=0;Ne{s._d&&pr(-1);const i=gn(t);let o;try{o=e(...r)}finally{gn(i),s._d&&pr(1)}return o};return s._n=!0,s._c=!0,s._d=!0,s}function of(e,t){if(le===null)return e;const n=jn(le),s=e.dirs||(e.dirs=[]);for(let r=0;r{e.isMounted=!0}),Si(()=>{e.isUnmounting=!0}),e}const Se=[Function,Array],_i={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:Se,onEnter:Se,onAfterEnter:Se,onEnterCancelled:Se,onBeforeLeave:Se,onLeave:Se,onAfterLeave:Se,onLeaveCancelled:Se,onBeforeAppear:Se,onAppear:Se,onAfterAppear:Se,onAppearCancelled:Se},bi=e=>{const t=e.subTree;return t.component?bi(t.component):t},xl={name:"BaseTransition",props:_i,setup(e,{slots:t}){const n=$n(),s=Sl();return()=>{const r=t.default&&vi(t.default(),!0);if(!r||!r.length)return;let i=r[0];if(r.length>1){for(const m of r)if(m.type!==ye){i=m;break}}const o=z(e),{mode:l}=o;if(s.isLeaving)return kn(i);const c=nr(i);if(!c)return kn(i);let f=ds(c,o,s,n,m=>f=m);mn(c,f);const d=n.subTree,h=d&&nr(d);if(h&&h.type!==ye&&!lt(c,h)&&bi(n).type!==ye){const m=ds(h,o,s,n);if(mn(h,m),l==="out-in"&&c.type!==ye)return s.isLeaving=!0,m.afterLeave=()=>{s.isLeaving=!1,n.update.active!==!1&&(n.effect.dirty=!0,n.update())},kn(i);l==="in-out"&&c.type!==ye&&(m.delayLeave=(C,A,P)=>{const D=wi(s,h);D[String(h.key)]=h,C[Ke]=()=>{A(),C[Ke]=void 0,delete f.delayedLeave},f.delayedLeave=P})}return i}}},Tl=xl;function wi(e,t){const{leavingVNodes:n}=e;let s=n.get(t.type);return s||(s=Object.create(null),n.set(t.type,s)),s}function ds(e,t,n,s,r){const{appear:i,mode:o,persisted:l=!1,onBeforeEnter:c,onEnter:f,onAfterEnter:d,onEnterCancelled:h,onBeforeLeave:m,onLeave:C,onAfterLeave:A,onLeaveCancelled:P,onBeforeAppear:D,onAppear:K,onAfterAppear:G,onAppearCancelled:p}=t,y=String(e.key),M=wi(n,e),x=(L,_)=>{L&&Oe(L,s,9,_)},F=(L,_)=>{const N=_[1];x(L,_),B(L)?L.every(S=>S.length<=1)&&N():L.length<=1&&N()},H={mode:o,persisted:l,beforeEnter(L){let _=c;if(!n.isMounted)if(i)_=D||c;else return;L[Ke]&&L[Ke](!0);const N=M[y];N&<(e,N)&&N.el[Ke]&&N.el[Ke](),x(_,[L])},enter(L){let _=f,N=d,S=h;if(!n.isMounted)if(i)_=K||f,N=G||d,S=p||h;else return;let q=!1;const ee=L[Qt]=se=>{q||(q=!0,se?x(S,[L]):x(N,[L]),H.delayedLeave&&H.delayedLeave(),L[Qt]=void 0)};_?F(_,[L,ee]):ee()},leave(L,_){const N=String(e.key);if(L[Qt]&&L[Qt](!0),n.isUnmounting)return _();x(m,[L]);let S=!1;const q=L[Ke]=ee=>{S||(S=!0,_(),ee?x(P,[L]):x(A,[L]),L[Ke]=void 0,M[N]===e&&delete M[N])};M[N]=e,C?F(C,[L,q]):q()},clone(L){const _=ds(L,t,n,s,r);return r&&r(_),_}};return H}function kn(e){if(Mn(e))return e=ze(e),e.children=null,e}function nr(e){if(!Mn(e))return e;const{shapeFlag:t,children:n}=e;if(n){if(t&16)return n[0];if(t&32&&k(n.default))return n.default()}}function mn(e,t){e.shapeFlag&6&&e.component?mn(e.component.subTree,t):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function vi(e,t=!1,n){let s=[],r=0;for(let i=0;i1)for(let i=0;i!!e.type.__asyncLoader,Mn=e=>e.type.__isKeepAlive;function Al(e,t){Ci(e,"a",t)}function Ol(e,t){Ci(e,"da",t)}function Ci(e,t,n=fe){const s=e.__wdc||(e.__wdc=()=>{let r=n;for(;r;){if(r.isDeactivated)return;r=r.parent}return e()});if(In(t,s,n),n){let r=n.parent;for(;r&&r.parent;)Mn(r.parent.vnode)&&Rl(s,t,n,r),r=r.parent}}function Rl(e,t,n,s){const r=In(t,e,s,!0);Pn(()=>{Es(s[t],r)},n)}function In(e,t,n=fe,s=!1){if(n){const r=n[e]||(n[e]=[]),i=t.__weh||(t.__weh=(...o)=>{et();const l=Kt(n),c=Oe(t,n,e,o);return l(),tt(),c});return s?r.unshift(i):r.push(i),i}}const Ve=e=>(t,n=fe)=>{(!Hn||e==="sp")&&In(e,(...s)=>t(...s),n)},Ll=Ve("bm"),At=Ve("m"),Ml=Ve("bu"),Il=Ve("u"),Si=Ve("bum"),Pn=Ve("um"),Pl=Ve("sp"),Nl=Ve("rtg"),Fl=Ve("rtc");function $l(e,t=fe){In("ec",e,t)}const xi="components";function lf(e,t){return Ai(xi,e,!0,t)||e}const Ti=Symbol.for("v-ndc");function cf(e){return re(e)?Ai(xi,e,!1)||e:e||Ti}function Ai(e,t,n=!0,s=!1){const r=le||fe;if(r){const i=r.type;{const l=Oc(i,!1);if(l&&(l===t||l===Le(t)||l===Sn(Le(t))))return i}const o=sr(r[e]||i[e],t)||sr(r.appContext[e],t);return!o&&s?i:o}}function sr(e,t){return e&&(e[t]||e[Le(t)]||e[Sn(Le(t))])}function af(e,t,n,s){let r;const i=n;if(B(e)||re(e)){r=new Array(e.length);for(let o=0,l=e.length;ot(o,l,void 0,i));else{const o=Object.keys(e);r=new Array(o.length);for(let l=0,c=o.length;lbn(t)?!(t.type===ye||t.type===be&&!Oi(t.children)):!0)?e:null}function uf(e,t){const n={};for(const s in e)n[/[A-Z]/.test(s)?`on:${s}`:ln(s)]=e[s];return n}const hs=e=>e?to(e)?jn(e):hs(e.parent):null,Nt=ce(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>hs(e.parent),$root:e=>hs(e.root),$emit:e=>e.emit,$options:e=>$s(e),$forceUpdate:e=>e.f||(e.f=()=>{e.effect.dirty=!0,Fs(e.update)}),$nextTick:e=>e.n||(e.n=Rn.bind(e.proxy)),$watch:e=>fc.bind(e)}),Kn=(e,t)=>e!==ne&&!e.__isScriptSetup&&J(e,t),Hl={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:s,data:r,props:i,accessCache:o,type:l,appContext:c}=e;let f;if(t[0]!=="$"){const C=o[t];if(C!==void 0)switch(C){case 1:return s[t];case 2:return r[t];case 4:return n[t];case 3:return i[t]}else{if(Kn(s,t))return o[t]=1,s[t];if(r!==ne&&J(r,t))return o[t]=2,r[t];if((f=e.propsOptions[0])&&J(f,t))return o[t]=3,i[t];if(n!==ne&&J(n,t))return o[t]=4,n[t];ps&&(o[t]=0)}}const d=Nt[t];let h,m;if(d)return t==="$attrs"&&we(e.attrs,"get",""),d(e);if((h=l.__cssModules)&&(h=h[t]))return h;if(n!==ne&&J(n,t))return o[t]=4,n[t];if(m=c.config.globalProperties,J(m,t))return m[t]},set({_:e},t,n){const{data:s,setupState:r,ctx:i}=e;return Kn(r,t)?(r[t]=n,!0):s!==ne&&J(s,t)?(s[t]=n,!0):J(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(i[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:s,appContext:r,propsOptions:i}},o){let l;return!!n[o]||e!==ne&&J(e,o)||Kn(t,o)||(l=i[0])&&J(l,o)||J(s,o)||J(Nt,o)||J(r.config.globalProperties,o)},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:J(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function df(){return jl().slots}function jl(){const e=$n();return e.setupContext||(e.setupContext=so(e))}function rr(e){return B(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let ps=!0;function Vl(e){const t=$s(e),n=e.proxy,s=e.ctx;ps=!1,t.beforeCreate&&ir(t.beforeCreate,e,"bc");const{data:r,computed:i,methods:o,watch:l,provide:c,inject:f,created:d,beforeMount:h,mounted:m,beforeUpdate:C,updated:A,activated:P,deactivated:D,beforeDestroy:K,beforeUnmount:G,destroyed:p,unmounted:y,render:M,renderTracked:x,renderTriggered:F,errorCaptured:H,serverPrefetch:L,expose:_,inheritAttrs:N,components:S,directives:q,filters:ee}=t;if(f&&Dl(f,s,null),o)for(const Y in o){const U=o[Y];k(U)&&(s[Y]=U.bind(n))}if(r){const Y=r.call(n,n);Z(Y)&&(e.data=Tn(Y))}if(ps=!0,i)for(const Y in i){const U=i[Y],ae=k(U)?U.bind(n,n):k(U.get)?U.get.bind(n,n):Ae,Wt=!k(U)&&k(U.set)?U.set.bind(n):Ae,nt=ie({get:ae,set:Wt});Object.defineProperty(s,Y,{enumerable:!0,configurable:!0,get:()=>nt.value,set:Me=>nt.value=Me})}if(l)for(const Y in l)Ri(l[Y],s,n,Y);if(c){const Y=k(c)?c.call(n):c;Reflect.ownKeys(Y).forEach(U=>{ql(U,Y[U])})}d&&ir(d,e,"c");function V(Y,U){B(U)?U.forEach(ae=>Y(ae.bind(n))):U&&Y(U.bind(n))}if(V(Ll,h),V(At,m),V(Ml,C),V(Il,A),V(Al,P),V(Ol,D),V($l,H),V(Fl,x),V(Nl,F),V(Si,G),V(Pn,y),V(Pl,L),B(_))if(_.length){const Y=e.exposed||(e.exposed={});_.forEach(U=>{Object.defineProperty(Y,U,{get:()=>n[U],set:ae=>n[U]=ae})})}else e.exposed||(e.exposed={});M&&e.render===Ae&&(e.render=M),N!=null&&(e.inheritAttrs=N),S&&(e.components=S),q&&(e.directives=q)}function Dl(e,t,n=Ae){B(e)&&(e=gs(e));for(const s in e){const r=e[s];let i;Z(r)?"default"in r?i=St(r.from||s,r.default,!0):i=St(r.from||s):i=St(r),ge(i)?Object.defineProperty(t,s,{enumerable:!0,configurable:!0,get:()=>i.value,set:o=>i.value=o}):t[s]=i}}function ir(e,t,n){Oe(B(e)?e.map(s=>s.bind(t.proxy)):e.bind(t.proxy),t,n)}function Ri(e,t,n,s){const r=s.includes(".")?qi(n,s):()=>n[s];if(re(e)){const i=t[e];k(i)&&Fe(r,i)}else if(k(e))Fe(r,e.bind(n));else if(Z(e))if(B(e))e.forEach(i=>Ri(i,t,n,s));else{const i=k(e.handler)?e.handler.bind(n):t[e.handler];k(i)&&Fe(r,i,e)}}function $s(e){const t=e.type,{mixins:n,extends:s}=t,{mixins:r,optionsCache:i,config:{optionMergeStrategies:o}}=e.appContext,l=i.get(t);let c;return l?c=l:!r.length&&!n&&!s?c=t:(c={},r.length&&r.forEach(f=>yn(c,f,o,!0)),yn(c,t,o)),Z(t)&&i.set(t,c),c}function yn(e,t,n,s=!1){const{mixins:r,extends:i}=t;i&&yn(e,i,n,!0),r&&r.forEach(o=>yn(e,o,n,!0));for(const o in t)if(!(s&&o==="expose")){const l=Ul[o]||n&&n[o];e[o]=l?l(e[o],t[o]):t[o]}return e}const Ul={data:or,props:lr,emits:lr,methods:It,computed:It,beforeCreate:me,created:me,beforeMount:me,mounted:me,beforeUpdate:me,updated:me,beforeDestroy:me,beforeUnmount:me,destroyed:me,unmounted:me,activated:me,deactivated:me,errorCaptured:me,serverPrefetch:me,components:It,directives:It,watch:kl,provide:or,inject:Bl};function or(e,t){return t?e?function(){return ce(k(e)?e.call(this,this):e,k(t)?t.call(this,this):t)}:t:e}function Bl(e,t){return It(gs(e),gs(t))}function gs(e){if(B(e)){const t={};for(let n=0;n1)return n&&k(t)?t.call(s&&s.proxy):t}}const Mi={},Ii=()=>Object.create(Mi),Pi=e=>Object.getPrototypeOf(e)===Mi;function Gl(e,t,n,s=!1){const r={},i=Ii();e.propsDefaults=Object.create(null),Ni(e,t,r,i);for(const o in e.propsOptions[0])o in r||(r[o]=void 0);n?e.props=s?r:cl(r):e.type.props?e.props=r:e.props=i,e.attrs=i}function Xl(e,t,n,s){const{props:r,attrs:i,vnode:{patchFlag:o}}=e,l=z(r),[c]=e.propsOptions;let f=!1;if((s||o>0)&&!(o&16)){if(o&8){const d=e.vnode.dynamicProps;for(let h=0;h{c=!0;const[m,C]=Fi(h,t,!0);ce(o,m),C&&l.push(...C)};!n&&t.mixins.length&&t.mixins.forEach(d),e.extends&&d(e.extends),e.mixins&&e.mixins.forEach(d)}if(!i&&!c)return Z(e)&&s.set(e,yt),yt;if(B(i))for(let d=0;de[0]==="_"||e==="$stable",Hs=e=>B(e)?e.map(Te):[Te(e)],Jl=(e,t,n)=>{if(t._n)return t;const s=Cl((...r)=>Hs(t(...r)),n);return s._c=!1,s},Hi=(e,t,n)=>{const s=e._ctx;for(const r in e){if($i(r))continue;const i=e[r];if(k(i))t[r]=Jl(r,i,s);else if(i!=null){const o=Hs(i);t[r]=()=>o}}},ji=(e,t)=>{const n=Hs(t);e.slots.default=()=>n},Vi=(e,t,n)=>{for(const s in t)(n||s!=="_")&&(e[s]=t[s])},zl=(e,t,n)=>{const s=e.slots=Ii();if(e.vnode.shapeFlag&32){const r=t._;r?(Vi(s,t,n),n&&qr(s,"_",r,!0)):Hi(t,s)}else t&&ji(e,t)},Ql=(e,t,n)=>{const{vnode:s,slots:r}=e;let i=!0,o=ne;if(s.shapeFlag&32){const l=t._;l?n&&l===1?i=!1:Vi(r,t,n):(i=!t.$stable,Hi(t,r)),o=t}else t&&(ji(e,t),o={default:1});if(i)for(const l in r)!$i(l)&&o[l]==null&&delete r[l]};function _n(e,t,n,s,r=!1){if(B(e)){e.forEach((m,C)=>_n(m,t&&(B(t)?t[C]:t),n,s,r));return}if(Et(s)&&!r)return;const i=s.shapeFlag&4?jn(s.component):s.el,o=r?null:i,{i:l,r:c}=e,f=t&&t.r,d=l.refs===ne?l.refs={}:l.refs,h=l.setupState;if(f!=null&&f!==c&&(re(f)?(d[f]=null,J(h,f)&&(h[f]=null)):ge(f)&&(f.value=null)),k(c))Xe(c,l,12,[o,d]);else{const m=re(c),C=ge(c);if(m||C){const A=()=>{if(e.f){const P=m?J(h,c)?h[c]:d[c]:c.value;r?B(P)&&Es(P,i):B(P)?P.includes(i)||P.push(i):m?(d[c]=[i],J(h,c)&&(h[c]=d[c])):(c.value=[i],e.k&&(d[e.k]=c.value))}else m?(d[c]=o,J(h,c)&&(h[c]=o)):C&&(c.value=o,e.k&&(d[e.k]=o))};o?(A.id=-1,_e(A,n)):A()}}}const Di=Symbol("_vte"),Zl=e=>e.__isTeleport,Ft=e=>e&&(e.disabled||e.disabled===""),ar=e=>typeof SVGElement<"u"&&e instanceof SVGElement,fr=e=>typeof MathMLElement=="function"&&e instanceof MathMLElement,ys=(e,t)=>{const n=e&&e.to;return re(n)?t?t(n):null:n},ec={name:"Teleport",__isTeleport:!0,process(e,t,n,s,r,i,o,l,c,f){const{mc:d,pc:h,pbc:m,o:{insert:C,querySelector:A,createText:P,createComment:D}}=f,K=Ft(t.props);let{shapeFlag:G,children:p,dynamicChildren:y}=t;if(e==null){const M=t.el=P(""),x=t.anchor=P("");C(M,n,s),C(x,n,s);const F=t.target=ys(t.props,A),H=Bi(F,t,P,C);F&&(o==="svg"||ar(F)?o="svg":(o==="mathml"||fr(F))&&(o="mathml"));const L=(_,N)=>{G&16&&d(p,_,N,r,i,o,l,c)};K?L(n,x):F&&L(F,H)}else{t.el=e.el,t.targetStart=e.targetStart;const M=t.anchor=e.anchor,x=t.target=e.target,F=t.targetAnchor=e.targetAnchor,H=Ft(e.props),L=H?n:x,_=H?M:F;if(o==="svg"||ar(x)?o="svg":(o==="mathml"||fr(x))&&(o="mathml"),y?(m(e.dynamicChildren,y,L,r,i,o,l),js(e,t,!0)):c||h(e,t,L,_,r,i,o,l,!1),K)H?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):Zt(t,n,M,f,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const N=t.target=ys(t.props,A);N&&Zt(t,N,null,f,0)}else H&&Zt(t,x,F,f,1)}Ui(t)},remove(e,t,n,{um:s,o:{remove:r}},i){const{shapeFlag:o,children:l,anchor:c,targetStart:f,targetAnchor:d,target:h,props:m}=e;if(h&&(r(f),r(d)),i&&r(c),o&16){const C=i||!Ft(m);for(let A=0;A{ur||(console.error("Hydration completed but contains mismatches."),ur=!0)},nc=e=>e.namespaceURI.includes("svg")&&e.tagName!=="foreignObject",sc=e=>e.namespaceURI.includes("MathML"),en=e=>{if(nc(e))return"svg";if(sc(e))return"mathml"},tn=e=>e.nodeType===8;function rc(e){const{mt:t,p:n,o:{patchProp:s,createText:r,nextSibling:i,parentNode:o,remove:l,insert:c,createComment:f}}=e,d=(p,y)=>{if(!y.hasChildNodes()){n(null,p,y),pn(),y._vnode=p;return}h(y.firstChild,p,null,null,null),pn(),y._vnode=p},h=(p,y,M,x,F,H=!1)=>{H=H||!!y.dynamicChildren;const L=tn(p)&&p.data==="[",_=()=>P(p,y,M,x,F,L),{type:N,ref:S,shapeFlag:q,patchFlag:ee}=y;let se=p.nodeType;y.el=p,ee===-2&&(H=!1,y.dynamicChildren=null);let V=null;switch(N){case ft:se!==3?y.children===""?(c(y.el=r(""),o(p),p),V=p):V=_():(p.data!==y.children&&(gt(),p.data=y.children),V=i(p));break;case ye:G(p)?(V=i(p),K(y.el=p.content.firstChild,p,M)):se!==8||L?V=_():V=i(p);break;case $t:if(L&&(p=i(p),se=p.nodeType),se===1||se===3){V=p;const Y=!y.children.length;for(let U=0;U{H=H||!!y.dynamicChildren;const{type:L,props:_,patchFlag:N,shapeFlag:S,dirs:q,transition:ee}=y,se=L==="input"||L==="option";if(se||N!==-1){q&&Pe(y,null,M,"created");let V=!1;if(G(p)){V=ki(x,ee)&&M&&M.vnode.props&&M.vnode.props.appear;const U=p.content.firstChild;V&&ee.beforeEnter(U),K(U,p,M),y.el=p=U}if(S&16&&!(_&&(_.innerHTML||_.textContent))){let U=C(p.firstChild,y,p,M,x,F,H);for(;U;){gt();const ae=U;U=U.nextSibling,l(ae)}}else S&8&&p.textContent!==y.children&&(gt(),p.textContent=y.children);if(_){if(se||!H||N&48){const U=p.tagName.includes("-");for(const ae in _)(se&&(ae.endsWith("value")||ae==="indeterminate")||kt(ae)&&!bt(ae)||ae[0]==="."||U)&&s(p,ae,null,_[ae],void 0,M)}else if(_.onClick)s(p,"onClick",null,_.onClick,void 0,M);else if(N&4&&wt(_.style))for(const U in _.style)_.style[U]}let Y;(Y=_&&_.onVnodeBeforeMount)&&xe(Y,M,y),q&&Pe(y,null,M,"beforeMount"),((Y=_&&_.onVnodeMounted)||q||V)&&Xi(()=>{Y&&xe(Y,M,y),V&&ee.enter(p),q&&Pe(y,null,M,"mounted")},x)}return p.nextSibling},C=(p,y,M,x,F,H,L)=>{L=L||!!y.dynamicChildren;const _=y.children,N=_.length;for(let S=0;S{const{slotScopeIds:L}=y;L&&(F=F?F.concat(L):L);const _=o(p),N=C(i(p),y,_,M,x,F,H);return N&&tn(N)&&N.data==="]"?i(y.anchor=N):(gt(),c(y.anchor=f("]"),_,N),N)},P=(p,y,M,x,F,H)=>{if(gt(),y.el=null,H){const N=D(p);for(;;){const S=i(p);if(S&&S!==N)l(S);else break}}const L=i(p),_=o(p);return l(p),n(null,y,_,L,M,x,en(_),F),L},D=(p,y="[",M="]")=>{let x=0;for(;p;)if(p=i(p),p&&tn(p)&&(p.data===y&&x++,p.data===M)){if(x===0)return i(p);x--}return p},K=(p,y,M)=>{const x=y.parentNode;x&&x.replaceChild(p,y);let F=M;for(;F;)F.vnode.el===y&&(F.vnode.el=F.subTree.el=p),F=F.parent},G=p=>p.nodeType===1&&p.tagName.toLowerCase()==="template";return[d,h]}const _e=Xi;function ic(e){return oc(e,rc)}function oc(e,t){const n=Gr();n.__VUE__=!0;const{insert:s,remove:r,patchProp:i,createElement:o,createText:l,createComment:c,setText:f,setElementText:d,parentNode:h,nextSibling:m,setScopeId:C=Ae,insertStaticContent:A}=e,P=(a,u,g,v=null,b=null,E=null,R=void 0,T=null,O=!!u.dynamicChildren)=>{if(a===u)return;a&&!lt(a,u)&&(v=qt(a),Me(a,b,E,!0),a=null),u.patchFlag===-2&&(O=!1,u.dynamicChildren=null);const{type:w,ref:I,shapeFlag:j}=u;switch(w){case ft:D(a,u,g,v);break;case ye:K(a,u,g,v);break;case $t:a==null&&G(u,g,v,R);break;case be:S(a,u,g,v,b,E,R,T,O);break;default:j&1?M(a,u,g,v,b,E,R,T,O):j&6?q(a,u,g,v,b,E,R,T,O):(j&64||j&128)&&w.process(a,u,g,v,b,E,R,T,O,ht)}I!=null&&b&&_n(I,a&&a.ref,E,u||a,!u)},D=(a,u,g,v)=>{if(a==null)s(u.el=l(u.children),g,v);else{const b=u.el=a.el;u.children!==a.children&&f(b,u.children)}},K=(a,u,g,v)=>{a==null?s(u.el=c(u.children||""),g,v):u.el=a.el},G=(a,u,g,v)=>{[a.el,a.anchor]=A(a.children,u,g,v,a.el,a.anchor)},p=({el:a,anchor:u},g,v)=>{let b;for(;a&&a!==u;)b=m(a),s(a,g,v),a=b;s(u,g,v)},y=({el:a,anchor:u})=>{let g;for(;a&&a!==u;)g=m(a),r(a),a=g;r(u)},M=(a,u,g,v,b,E,R,T,O)=>{u.type==="svg"?R="svg":u.type==="math"&&(R="mathml"),a==null?x(u,g,v,b,E,R,T,O):L(a,u,b,E,R,T,O)},x=(a,u,g,v,b,E,R,T)=>{let O,w;const{props:I,shapeFlag:j,transition:$,dirs:W}=a;if(O=a.el=o(a.type,E,I&&I.is,I),j&8?d(O,a.children):j&16&&H(a.children,O,null,v,b,Wn(a,E),R,T),W&&Pe(a,null,v,"created"),F(O,a,a.scopeId,R,v),I){for(const te in I)te!=="value"&&!bt(te)&&i(O,te,null,I[te],E,v);"value"in I&&i(O,"value",null,I.value,E),(w=I.onVnodeBeforeMount)&&xe(w,v,a)}W&&Pe(a,null,v,"beforeMount");const X=ki(b,$);X&&$.beforeEnter(O),s(O,u,g),((w=I&&I.onVnodeMounted)||X||W)&&_e(()=>{w&&xe(w,v,a),X&&$.enter(O),W&&Pe(a,null,v,"mounted")},b)},F=(a,u,g,v,b)=>{if(g&&C(a,g),v)for(let E=0;E{for(let w=O;w{const T=u.el=a.el;let{patchFlag:O,dynamicChildren:w,dirs:I}=u;O|=a.patchFlag&16;const j=a.props||ne,$=u.props||ne;let W;if(g&&st(g,!1),(W=$.onVnodeBeforeUpdate)&&xe(W,g,u,a),I&&Pe(u,a,g,"beforeUpdate"),g&&st(g,!0),(j.innerHTML&&$.innerHTML==null||j.textContent&&$.textContent==null)&&d(T,""),w?_(a.dynamicChildren,w,T,g,v,Wn(u,b),E):R||U(a,u,T,null,g,v,Wn(u,b),E,!1),O>0){if(O&16)N(T,j,$,g,b);else if(O&2&&j.class!==$.class&&i(T,"class",null,$.class,b),O&4&&i(T,"style",j.style,$.style,b),O&8){const X=u.dynamicProps;for(let te=0;te{W&&xe(W,g,u,a),I&&Pe(u,a,g,"updated")},v)},_=(a,u,g,v,b,E,R)=>{for(let T=0;T{if(u!==g){if(u!==ne)for(const E in u)!bt(E)&&!(E in g)&&i(a,E,u[E],null,b,v);for(const E in g){if(bt(E))continue;const R=g[E],T=u[E];R!==T&&E!=="value"&&i(a,E,T,R,b,v)}"value"in g&&i(a,"value",u.value,g.value,b)}},S=(a,u,g,v,b,E,R,T,O)=>{const w=u.el=a?a.el:l(""),I=u.anchor=a?a.anchor:l("");let{patchFlag:j,dynamicChildren:$,slotScopeIds:W}=u;W&&(T=T?T.concat(W):W),a==null?(s(w,g,v),s(I,g,v),H(u.children||[],g,I,b,E,R,T,O)):j>0&&j&64&&$&&a.dynamicChildren?(_(a.dynamicChildren,$,g,b,E,R,T),(u.key!=null||b&&u===b.subTree)&&js(a,u,!0)):U(a,u,g,I,b,E,R,T,O)},q=(a,u,g,v,b,E,R,T,O)=>{u.slotScopeIds=T,a==null?u.shapeFlag&512?b.ctx.activate(u,g,v,R,O):ee(u,g,v,b,E,R,O):se(a,u,O)},ee=(a,u,g,v,b,E,R)=>{const T=a.component=Sc(a,v,b);if(Mn(a)&&(T.ctx.renderer=ht),xc(T,!1,R),T.asyncDep){if(b&&b.registerDep(T,V,R),!a.el){const O=T.subTree=de(ye);K(null,O,u,g)}}else V(T,a,u,g,b,E,R)},se=(a,u,g)=>{const v=u.component=a.component;if(gc(a,u,g))if(v.asyncDep&&!v.asyncResolved){Y(v,u,g);return}else v.next=u,wl(v.update),v.effect.dirty=!0,v.update();else u.el=a.el,v.vnode=u},V=(a,u,g,v,b,E,R)=>{const T=()=>{if(a.isMounted){let{next:I,bu:j,u:$,parent:W,vnode:X}=a;{const pt=Ki(a);if(pt){I&&(I.el=X.el,Y(a,I,R)),pt.asyncDep.then(()=>{a.isUnmounted||T()});return}}let te=I,Q;st(a,!1),I?(I.el=X.el,Y(a,I,R)):I=X,j&&cn(j),(Q=I.props&&I.props.onVnodeBeforeUpdate)&&xe(Q,W,I,X),st(a,!0);const oe=qn(a),Re=a.subTree;a.subTree=oe,P(Re,oe,h(Re.el),qt(Re),a,b,E),I.el=oe.el,te===null&&mc(a,oe.el),$&&_e($,b),(Q=I.props&&I.props.onVnodeUpdated)&&_e(()=>xe(Q,W,I,X),b)}else{let I;const{el:j,props:$}=u,{bm:W,m:X,parent:te}=a,Q=Et(u);if(st(a,!1),W&&cn(W),!Q&&(I=$&&$.onVnodeBeforeMount)&&xe(I,te,u),st(a,!0),j&&Un){const oe=()=>{a.subTree=qn(a),Un(j,a.subTree,a,b,null)};Q?u.type.__asyncLoader().then(()=>!a.isUnmounted&&oe()):oe()}else{const oe=a.subTree=qn(a);P(null,oe,g,v,a,b,E),u.el=oe.el}if(X&&_e(X,b),!Q&&(I=$&&$.onVnodeMounted)){const oe=u;_e(()=>xe(I,te,oe),b)}(u.shapeFlag&256||te&&Et(te.vnode)&&te.vnode.shapeFlag&256)&&a.a&&_e(a.a,b),a.isMounted=!0,u=g=v=null}},O=a.effect=new Ts(T,Ae,()=>Fs(w),a.scope),w=a.update=()=>{O.dirty&&O.run()};w.i=a,w.id=a.uid,st(a,!0),w()},Y=(a,u,g)=>{u.component=a;const v=a.vnode.props;a.vnode=u,a.next=null,Xl(a,u.props,v,g),Ql(a,u.children,g),et(),tr(a),tt()},U=(a,u,g,v,b,E,R,T,O=!1)=>{const w=a&&a.children,I=a?a.shapeFlag:0,j=u.children,{patchFlag:$,shapeFlag:W}=u;if($>0){if($&128){Wt(w,j,g,v,b,E,R,T,O);return}else if($&256){ae(w,j,g,v,b,E,R,T,O);return}}W&8?(I&16&&Ot(w,b,E),j!==w&&d(g,j)):I&16?W&16?Wt(w,j,g,v,b,E,R,T,O):Ot(w,b,E,!0):(I&8&&d(g,""),W&16&&H(j,g,v,b,E,R,T,O))},ae=(a,u,g,v,b,E,R,T,O)=>{a=a||yt,u=u||yt;const w=a.length,I=u.length,j=Math.min(w,I);let $;for($=0;$I?Ot(a,b,E,!0,!1,j):H(u,g,v,b,E,R,T,O,j)},Wt=(a,u,g,v,b,E,R,T,O)=>{let w=0;const I=u.length;let j=a.length-1,$=I-1;for(;w<=j&&w<=$;){const W=a[w],X=u[w]=O?We(u[w]):Te(u[w]);if(lt(W,X))P(W,X,g,null,b,E,R,T,O);else break;w++}for(;w<=j&&w<=$;){const W=a[j],X=u[$]=O?We(u[$]):Te(u[$]);if(lt(W,X))P(W,X,g,null,b,E,R,T,O);else break;j--,$--}if(w>j){if(w<=$){const W=$+1,X=W$)for(;w<=j;)Me(a[w],b,E,!0),w++;else{const W=w,X=w,te=new Map;for(w=X;w<=$;w++){const ve=u[w]=O?We(u[w]):Te(u[w]);ve.key!=null&&te.set(ve.key,w)}let Q,oe=0;const Re=$-X+1;let pt=!1,Ks=0;const Rt=new Array(Re);for(w=0;w=Re){Me(ve,b,E,!0);continue}let Ie;if(ve.key!=null)Ie=te.get(ve.key);else for(Q=X;Q<=$;Q++)if(Rt[Q-X]===0&<(ve,u[Q])){Ie=Q;break}Ie===void 0?Me(ve,b,E,!0):(Rt[Ie-X]=w+1,Ie>=Ks?Ks=Ie:pt=!0,P(ve,u[Ie],g,null,b,E,R,T,O),oe++)}const Ws=pt?lc(Rt):yt;for(Q=Ws.length-1,w=Re-1;w>=0;w--){const ve=X+w,Ie=u[ve],qs=ve+1{const{el:E,type:R,transition:T,children:O,shapeFlag:w}=a;if(w&6){nt(a.component.subTree,u,g,v);return}if(w&128){a.suspense.move(u,g,v);return}if(w&64){R.move(a,u,g,ht);return}if(R===be){s(E,u,g);for(let j=0;jT.enter(E),b);else{const{leave:j,delayLeave:$,afterLeave:W}=T,X=()=>s(E,u,g),te=()=>{j(E,()=>{X(),W&&W()})};$?$(E,X,te):te()}else s(E,u,g)},Me=(a,u,g,v=!1,b=!1)=>{const{type:E,props:R,ref:T,children:O,dynamicChildren:w,shapeFlag:I,patchFlag:j,dirs:$,cacheIndex:W}=a;if(j===-2&&(b=!1),T!=null&&_n(T,null,g,a,!0),W!=null&&(u.renderCache[W]=void 0),I&256){u.ctx.deactivate(a);return}const X=I&1&&$,te=!Et(a);let Q;if(te&&(Q=R&&R.onVnodeBeforeUnmount)&&xe(Q,u,a),I&6)xo(a.component,g,v);else{if(I&128){a.suspense.unmount(g,v);return}X&&Pe(a,null,u,"beforeUnmount"),I&64?a.type.remove(a,u,g,ht,v):w&&!w.hasOnce&&(E!==be||j>0&&j&64)?Ot(w,u,g,!1,!0):(E===be&&j&384||!b&&I&16)&&Ot(O,u,g),v&&Bs(a)}(te&&(Q=R&&R.onVnodeUnmounted)||X)&&_e(()=>{Q&&xe(Q,u,a),X&&Pe(a,null,u,"unmounted")},g)},Bs=a=>{const{type:u,el:g,anchor:v,transition:b}=a;if(u===be){So(g,v);return}if(u===$t){y(a);return}const E=()=>{r(g),b&&!b.persisted&&b.afterLeave&&b.afterLeave()};if(a.shapeFlag&1&&b&&!b.persisted){const{leave:R,delayLeave:T}=b,O=()=>R(g,E);T?T(a.el,E,O):O()}else E()},So=(a,u)=>{let g;for(;a!==u;)g=m(a),r(a),a=g;r(u)},xo=(a,u,g)=>{const{bum:v,scope:b,update:E,subTree:R,um:T,m:O,a:w}=a;dr(O),dr(w),v&&cn(v),b.stop(),E&&(E.active=!1,Me(R,a,u,g)),T&&_e(T,u),_e(()=>{a.isUnmounted=!0},u),u&&u.pendingBranch&&!u.isUnmounted&&a.asyncDep&&!a.asyncResolved&&a.suspenseId===u.pendingId&&(u.deps--,u.deps===0&&u.resolve())},Ot=(a,u,g,v=!1,b=!1,E=0)=>{for(let R=E;R{if(a.shapeFlag&6)return qt(a.component.subTree);if(a.shapeFlag&128)return a.suspense.next();const u=m(a.anchor||a.el),g=u&&u[Di];return g?m(g):u};let Vn=!1;const ks=(a,u,g)=>{a==null?u._vnode&&Me(u._vnode,null,null,!0):P(u._vnode||null,a,u,null,null,null,g),u._vnode=a,Vn||(Vn=!0,tr(),pn(),Vn=!1)},ht={p:P,um:Me,m:nt,r:Bs,mt:ee,mc:H,pc:U,pbc:_,n:qt,o:e};let Dn,Un;return t&&([Dn,Un]=t(ht)),{render:ks,hydrate:Dn,createApp:Wl(ks,Dn)}}function Wn({type:e,props:t},n){return n==="svg"&&e==="foreignObject"||n==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function st({effect:e,update:t},n){e.allowRecurse=t.allowRecurse=n}function ki(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function js(e,t,n=!1){const s=e.children,r=t.children;if(B(s)&&B(r))for(let i=0;i>1,e[n[l]]0&&(t[s]=n[i-1]),n[i]=s)}}for(i=n.length,o=n[i-1];i-- >0;)n[i]=o,o=t[o];return n}function Ki(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Ki(t)}function dr(e){if(e)for(let t=0;tSt(cc);function Wi(e,t){return Nn(e,null,t)}function pf(e,t){return Nn(e,null,{flush:"post"})}const nn={};function Fe(e,t,n){return Nn(e,t,n)}function Nn(e,t,{immediate:n,deep:s,flush:r,once:i,onTrack:o,onTrigger:l}=ne){if(t&&i){const x=t;t=(...F)=>{x(...F),M()}}const c=fe,f=x=>s===!0?x:qe(x,s===!1?1:void 0);let d,h=!1,m=!1;if(ge(e)?(d=()=>e.value,h=xt(e)):wt(e)?(d=()=>f(e),h=!0):B(e)?(m=!0,h=e.some(x=>wt(x)||xt(x)),d=()=>e.map(x=>{if(ge(x))return x.value;if(wt(x))return f(x);if(k(x))return Xe(x,c,2)})):k(e)?t?d=()=>Xe(e,c,2):d=()=>(C&&C(),Oe(e,c,3,[A])):d=Ae,t&&s){const x=d;d=()=>qe(x())}let C,A=x=>{C=p.onStop=()=>{Xe(x,c,4),C=p.onStop=void 0}},P;if(Hn)if(A=Ae,t?n&&Oe(t,c,3,[d(),m?[]:void 0,A]):d(),r==="sync"){const x=ac();P=x.__watcherHandles||(x.__watcherHandles=[])}else return Ae;let D=m?new Array(e.length).fill(nn):nn;const K=()=>{if(!(!p.active||!p.dirty))if(t){const x=p.run();(s||h||(m?x.some((F,H)=>Je(F,D[H])):Je(x,D)))&&(C&&C(),Oe(t,c,3,[x,D===nn?void 0:m&&D[0]===nn?[]:D,A]),D=x)}else p.run()};K.allowRecurse=!!t;let G;r==="sync"?G=K:r==="post"?G=()=>_e(K,c&&c.suspense):(K.pre=!0,c&&(K.id=c.uid),G=()=>Fs(K));const p=new Ts(d,Ae,G),y=zr(),M=()=>{p.stop(),y&&Es(y.effects,p)};return t?n?K():D=p.run():r==="post"?_e(p.run.bind(p),c&&c.suspense):p.run(),P&&P.push(M),M}function fc(e,t,n){const s=this.proxy,r=re(e)?e.includes(".")?qi(s,e):()=>s[e]:e.bind(s,s);let i;k(t)?i=t:(i=t.handler,n=t);const o=Kt(this),l=Nn(r,i.bind(s),n);return o(),l}function qi(e,t){const n=t.split(".");return()=>{let s=e;for(let r=0;r{qe(s,t,n)});else if(Wr(e)){for(const s in e)qe(e[s],t,n);for(const s of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,s)&&qe(e[s],t,n)}return e}const uc=(e,t)=>t==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${Le(t)}Modifiers`]||e[`${Ze(t)}Modifiers`];function dc(e,t,...n){if(e.isUnmounted)return;const s=e.vnode.props||ne;let r=n;const i=t.startsWith("update:"),o=i&&uc(s,t.slice(7));o&&(o.trim&&(r=n.map(d=>re(d)?d.trim():d)),o.number&&(r=n.map(ls)));let l,c=s[l=ln(t)]||s[l=ln(Le(t))];!c&&i&&(c=s[l=ln(Ze(t))]),c&&Oe(c,e,6,r);const f=s[l+"Once"];if(f){if(!e.emitted)e.emitted={};else if(e.emitted[l])return;e.emitted[l]=!0,Oe(f,e,6,r)}}function Gi(e,t,n=!1){const s=t.emitsCache,r=s.get(e);if(r!==void 0)return r;const i=e.emits;let o={},l=!1;if(!k(e)){const c=f=>{const d=Gi(f,t,!0);d&&(l=!0,ce(o,d))};!n&&t.mixins.length&&t.mixins.forEach(c),e.extends&&c(e.extends),e.mixins&&e.mixins.forEach(c)}return!i&&!l?(Z(e)&&s.set(e,null),null):(B(i)?i.forEach(c=>o[c]=null):ce(o,i),Z(e)&&s.set(e,o),o)}function Fn(e,t){return!e||!kt(t)?!1:(t=t.slice(2).replace(/Once$/,""),J(e,t[0].toLowerCase()+t.slice(1))||J(e,Ze(t))||J(e,t))}function qn(e){const{type:t,vnode:n,proxy:s,withProxy:r,propsOptions:[i],slots:o,attrs:l,emit:c,render:f,renderCache:d,props:h,data:m,setupState:C,ctx:A,inheritAttrs:P}=e,D=gn(e);let K,G;try{if(n.shapeFlag&4){const y=r||s,M=y;K=Te(f.call(M,y,d,h,C,m,A)),G=l}else{const y=t;K=Te(y.length>1?y(h,{attrs:l,slots:o,emit:c}):y(h,null)),G=t.props?l:hc(l)}}catch(y){Ht.length=0,On(y,e,1),K=de(ye)}let p=K;if(G&&P!==!1){const y=Object.keys(G),{shapeFlag:M}=p;y.length&&M&7&&(i&&y.some(vs)&&(G=pc(G,i)),p=ze(p,G,!1,!0))}return n.dirs&&(p=ze(p,null,!1,!0),p.dirs=p.dirs?p.dirs.concat(n.dirs):n.dirs),n.transition&&(p.transition=n.transition),K=p,gn(D),K}const hc=e=>{let t;for(const n in e)(n==="class"||n==="style"||kt(n))&&((t||(t={}))[n]=e[n]);return t},pc=(e,t)=>{const n={};for(const s in e)(!vs(s)||!(s.slice(9)in t))&&(n[s]=e[s]);return n};function gc(e,t,n){const{props:s,children:r,component:i}=e,{props:o,children:l,patchFlag:c}=t,f=i.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&c>=0){if(c&1024)return!0;if(c&16)return s?hr(s,o,f):!!o;if(c&8){const d=t.dynamicProps;for(let h=0;he.__isSuspense;function Xi(e,t){t&&t.pendingBranch?B(e)?t.effects.push(...e):t.effects.push(e):vl(e)}const be=Symbol.for("v-fgt"),ft=Symbol.for("v-txt"),ye=Symbol.for("v-cmt"),$t=Symbol.for("v-stc"),Ht=[];let Ce=null;function Yi(e=!1){Ht.push(Ce=e?null:[])}function _c(){Ht.pop(),Ce=Ht[Ht.length-1]||null}let Ut=1;function pr(e){Ut+=e,e<0&&Ce&&(Ce.hasOnce=!0)}function Ji(e){return e.dynamicChildren=Ut>0?Ce||yt:null,_c(),Ut>0&&Ce&&Ce.push(e),e}function gf(e,t,n,s,r,i){return Ji(Zi(e,t,n,s,r,i,!0))}function zi(e,t,n,s,r){return Ji(de(e,t,n,s,r,!0))}function bn(e){return e?e.__v_isVNode===!0:!1}function lt(e,t){return e.type===t.type&&e.key===t.key}const Qi=({key:e})=>e??null,fn=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?re(e)||ge(e)||k(e)?{i:le,r:e,k:t,f:!!n}:e:null);function Zi(e,t=null,n=null,s=0,r=null,i=e===be?0:1,o=!1,l=!1){const c={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Qi(t),ref:t&&fn(t),scopeId:Ln,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:i,patchFlag:s,dynamicProps:r,dynamicChildren:null,appContext:null,ctx:le};return l?(Vs(c,n),i&128&&e.normalize(c)):n&&(c.shapeFlag|=re(n)?8:16),Ut>0&&!o&&Ce&&(c.patchFlag>0||i&6)&&c.patchFlag!==32&&Ce.push(c),c}const de=bc;function bc(e,t=null,n=null,s=0,r=null,i=!1){if((!e||e===Ti)&&(e=ye),bn(e)){const l=ze(e,t,!0);return n&&Vs(l,n),Ut>0&&!i&&Ce&&(l.shapeFlag&6?Ce[Ce.indexOf(e)]=l:Ce.push(l)),l.patchFlag=-2,l}if(Rc(e)&&(e=e.__vccOpts),t){t=wc(t);let{class:l,style:c}=t;l&&!re(l)&&(t.class=xs(l)),Z(c)&&(ai(c)&&!B(c)&&(c=ce({},c)),t.style=Ss(c))}const o=re(e)?1:yc(e)?128:Zl(e)?64:Z(e)?4:k(e)?2:0;return Zi(e,t,n,s,r,o,i,!0)}function wc(e){return e?ai(e)||Pi(e)?ce({},e):e:null}function ze(e,t,n=!1,s=!1){const{props:r,ref:i,patchFlag:o,children:l,transition:c}=e,f=t?vc(r||{},t):r,d={__v_isVNode:!0,__v_skip:!0,type:e.type,props:f,key:f&&Qi(f),ref:t&&t.ref?n&&i?B(i)?i.concat(fn(t)):[i,fn(t)]:fn(t):i,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:l,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==be?o===-1?16:o|16:o,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:c,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&ze(e.ssContent),ssFallback:e.ssFallback&&ze(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return c&&s&&mn(d,c.clone(d)),d}function eo(e=" ",t=0){return de(ft,null,e,t)}function mf(e,t){const n=de($t,null,e);return n.staticCount=t,n}function yf(e="",t=!1){return t?(Yi(),zi(ye,null,e)):de(ye,null,e)}function Te(e){return e==null||typeof e=="boolean"?de(ye):B(e)?de(be,null,e.slice()):typeof e=="object"?We(e):de(ft,null,String(e))}function We(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:ze(e)}function Vs(e,t){let n=0;const{shapeFlag:s}=e;if(t==null)t=null;else if(B(t))n=16;else if(typeof t=="object")if(s&65){const r=t.default;r&&(r._c&&(r._d=!1),Vs(e,r()),r._c&&(r._d=!0));return}else{n=32;const r=t._;!r&&!Pi(t)?t._ctx=le:r===3&&le&&(le.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else k(t)?(t={default:t,_ctx:le},n=32):(t=String(t),s&64?(n=16,t=[eo(t)]):n=8);e.children=t,e.shapeFlag|=n}function vc(...e){const t={};for(let n=0;nfe||le;let wn,_s;{const e=Gr(),t=(n,s)=>{let r;return(r=e[n])||(r=e[n]=[]),r.push(s),i=>{r.length>1?r.forEach(o=>o(i)):r[0](i)}};wn=t("__VUE_INSTANCE_SETTERS__",n=>fe=n),_s=t("__VUE_SSR_SETTERS__",n=>Hn=n)}const Kt=e=>{const t=fe;return wn(e),e.scope.on(),()=>{e.scope.off(),wn(t)}},gr=()=>{fe&&fe.scope.off(),wn(null)};function to(e){return e.vnode.shapeFlag&4}let Hn=!1;function xc(e,t=!1,n=!1){t&&_s(t);const{props:s,children:r}=e.vnode,i=to(e);Gl(e,s,i,t),zl(e,r,n);const o=i?Tc(e,t):void 0;return t&&_s(!1),o}function Tc(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,Hl);const{setup:s}=n;if(s){const r=e.setupContext=s.length>1?so(e):null,i=Kt(e);et();const o=Xe(s,e,0,[e.props,r]);if(tt(),i(),kr(o)){if(o.then(gr,gr),t)return o.then(l=>{mr(e,l,t)}).catch(l=>{On(l,e,0)});e.asyncDep=o}else mr(e,o,t)}else no(e,t)}function mr(e,t,n){k(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:Z(t)&&(e.setupState=pi(t)),no(e,n)}let yr;function no(e,t,n){const s=e.type;if(!e.render){if(!t&&yr&&!s.render){const r=s.template||$s(e).template;if(r){const{isCustomElement:i,compilerOptions:o}=e.appContext.config,{delimiters:l,compilerOptions:c}=s,f=ce(ce({isCustomElement:i,delimiters:l},o),c);s.render=yr(r,f)}}e.render=s.render||Ae}{const r=Kt(e);et();try{Vl(e)}finally{tt(),r()}}}const Ac={get(e,t){return we(e,"get",""),e[t]}};function so(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,Ac),slots:e.slots,emit:e.emit,expose:t}}function jn(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(pi(an(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in Nt)return Nt[n](e)},has(t,n){return n in t||n in Nt}})):e.proxy}function Oc(e,t=!0){return k(e)?e.displayName||e.name:e.name||t&&e.__name}function Rc(e){return k(e)&&"__vccOpts"in e}const ie=(e,t)=>al(e,t,Hn);function bs(e,t,n){const s=arguments.length;return s===2?Z(t)&&!B(t)?bn(t)?de(e,null,[t]):de(e,t):de(e,null,t):(s>3?n=Array.prototype.slice.call(arguments,2):s===3&&bn(n)&&(n=[n]),de(e,t,n))}const Lc="3.4.38";/** +* @vue/runtime-dom v3.4.38 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/const Mc="http://www.w3.org/2000/svg",Ic="http://www.w3.org/1998/Math/MathML",$e=typeof document<"u"?document:null,_r=$e&&$e.createElement("template"),Pc={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,s)=>{const r=t==="svg"?$e.createElementNS(Mc,e):t==="mathml"?$e.createElementNS(Ic,e):n?$e.createElement(e,{is:n}):$e.createElement(e);return e==="select"&&s&&s.multiple!=null&&r.setAttribute("multiple",s.multiple),r},createText:e=>$e.createTextNode(e),createComment:e=>$e.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>$e.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,s,r,i){const o=n?n.previousSibling:t.lastChild;if(r&&(r===i||r.nextSibling))for(;t.insertBefore(r.cloneNode(!0),n),!(r===i||!(r=r.nextSibling)););else{_r.innerHTML=s==="svg"?`${e}`:s==="mathml"?`${e}`:e;const l=_r.content;if(s==="svg"||s==="mathml"){const c=l.firstChild;for(;c.firstChild;)l.appendChild(c.firstChild);l.removeChild(c)}t.insertBefore(l,n)}return[o?o.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},Ue="transition",Lt="animation",Bt=Symbol("_vtc"),ro=(e,{slots:t})=>bs(Tl,Nc(e),t);ro.displayName="Transition";const io={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String};ro.props=ce({},_i,io);const rt=(e,t=[])=>{B(e)?e.forEach(n=>n(...t)):e&&e(...t)},br=e=>e?B(e)?e.some(t=>t.length>1):e.length>1:!1;function Nc(e){const t={};for(const S in e)S in io||(t[S]=e[S]);if(e.css===!1)return t;const{name:n="v",type:s,duration:r,enterFromClass:i=`${n}-enter-from`,enterActiveClass:o=`${n}-enter-active`,enterToClass:l=`${n}-enter-to`,appearFromClass:c=i,appearActiveClass:f=o,appearToClass:d=l,leaveFromClass:h=`${n}-leave-from`,leaveActiveClass:m=`${n}-leave-active`,leaveToClass:C=`${n}-leave-to`}=e,A=Fc(r),P=A&&A[0],D=A&&A[1],{onBeforeEnter:K,onEnter:G,onEnterCancelled:p,onLeave:y,onLeaveCancelled:M,onBeforeAppear:x=K,onAppear:F=G,onAppearCancelled:H=p}=t,L=(S,q,ee)=>{it(S,q?d:l),it(S,q?f:o),ee&&ee()},_=(S,q)=>{S._isLeaving=!1,it(S,h),it(S,C),it(S,m),q&&q()},N=S=>(q,ee)=>{const se=S?F:G,V=()=>L(q,S,ee);rt(se,[q,V]),wr(()=>{it(q,S?c:i),Be(q,S?d:l),br(se)||vr(q,s,P,V)})};return ce(t,{onBeforeEnter(S){rt(K,[S]),Be(S,i),Be(S,o)},onBeforeAppear(S){rt(x,[S]),Be(S,c),Be(S,f)},onEnter:N(!1),onAppear:N(!0),onLeave(S,q){S._isLeaving=!0;const ee=()=>_(S,q);Be(S,h),Be(S,m),jc(),wr(()=>{S._isLeaving&&(it(S,h),Be(S,C),br(y)||vr(S,s,D,ee))}),rt(y,[S,ee])},onEnterCancelled(S){L(S,!1),rt(p,[S])},onAppearCancelled(S){L(S,!0),rt(H,[S])},onLeaveCancelled(S){_(S),rt(M,[S])}})}function Fc(e){if(e==null)return null;if(Z(e))return[Gn(e.enter),Gn(e.leave)];{const t=Gn(e);return[t,t]}}function Gn(e){return Mo(e)}function Be(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e[Bt]||(e[Bt]=new Set)).add(t)}function it(e,t){t.split(/\s+/).forEach(s=>s&&e.classList.remove(s));const n=e[Bt];n&&(n.delete(t),n.size||(e[Bt]=void 0))}function wr(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let $c=0;function vr(e,t,n,s){const r=e._endId=++$c,i=()=>{r===e._endId&&s()};if(n)return setTimeout(i,n);const{type:o,timeout:l,propCount:c}=Hc(e,t);if(!o)return s();const f=o+"end";let d=0;const h=()=>{e.removeEventListener(f,m),i()},m=C=>{C.target===e&&++d>=c&&h()};setTimeout(()=>{d(n[A]||"").split(", "),r=s(`${Ue}Delay`),i=s(`${Ue}Duration`),o=Er(r,i),l=s(`${Lt}Delay`),c=s(`${Lt}Duration`),f=Er(l,c);let d=null,h=0,m=0;t===Ue?o>0&&(d=Ue,h=o,m=i.length):t===Lt?f>0&&(d=Lt,h=f,m=c.length):(h=Math.max(o,f),d=h>0?o>f?Ue:Lt:null,m=d?d===Ue?i.length:c.length:0);const C=d===Ue&&/\b(transform|all)(,|$)/.test(s(`${Ue}Property`).toString());return{type:d,timeout:h,propCount:m,hasTransform:C}}function Er(e,t){for(;e.lengthCr(n)+Cr(e[s])))}function Cr(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function jc(){return document.body.offsetHeight}function Vc(e,t,n){const s=e[Bt];s&&(t=(t?[t,...s]:[...s]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const vn=Symbol("_vod"),oo=Symbol("_vsh"),_f={beforeMount(e,{value:t},{transition:n}){e[vn]=e.style.display==="none"?"":e.style.display,n&&t?n.beforeEnter(e):Mt(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:s}){!t!=!n&&(s?t?(s.beforeEnter(e),Mt(e,!0),s.enter(e)):s.leave(e,()=>{Mt(e,!1)}):Mt(e,t))},beforeUnmount(e,{value:t}){Mt(e,t)}};function Mt(e,t){e.style.display=t?e[vn]:"none",e[oo]=!t}const Dc=Symbol(""),Uc=/(^|;)\s*display\s*:/;function Bc(e,t,n){const s=e.style,r=re(n);let i=!1;if(n&&!r){if(t)if(re(t))for(const o of t.split(";")){const l=o.slice(0,o.indexOf(":")).trim();n[l]==null&&un(s,l,"")}else for(const o in t)n[o]==null&&un(s,o,"");for(const o in n)o==="display"&&(i=!0),un(s,o,n[o])}else if(r){if(t!==n){const o=s[Dc];o&&(n+=";"+o),s.cssText=n,i=Uc.test(n)}}else t&&e.removeAttribute("style");vn in e&&(e[vn]=i?s.display:"",e[oo]&&(s.display="none"))}const Sr=/\s*!important$/;function un(e,t,n){if(B(n))n.forEach(s=>un(e,t,s));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const s=kc(e,t);Sr.test(n)?e.setProperty(Ze(s),n.replace(Sr,""),"important"):e[s]=n}}const xr=["Webkit","Moz","ms"],Xn={};function kc(e,t){const n=Xn[t];if(n)return n;let s=Le(t);if(s!=="filter"&&s in e)return Xn[t]=s;s=Sn(s);for(let r=0;rYn||(Xc.then(()=>Yn=0),Yn=Date.now());function Jc(e,t){const n=s=>{if(!s._vts)s._vts=Date.now();else if(s._vts<=n.attached)return;Oe(zc(s,n.value),t,5,[s])};return n.value=e,n.attached=Yc(),n}function zc(e,t){if(B(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(s=>r=>!r._stopped&&s&&s(r))}else return t}const Lr=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Qc=(e,t,n,s,r,i)=>{const o=r==="svg";t==="class"?Vc(e,s,o):t==="style"?Bc(e,n,s):kt(t)?vs(t)||qc(e,t,n,s,i):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Zc(e,t,s,o))?(Kc(e,t,s),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&Ar(e,t,s,o,i,t!=="value")):(t==="true-value"?e._trueValue=s:t==="false-value"&&(e._falseValue=s),Ar(e,t,s,o))};function Zc(e,t,n,s){if(s)return!!(t==="innerHTML"||t==="textContent"||t in e&&Lr(t)&&k(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const r=e.tagName;if(r==="IMG"||r==="VIDEO"||r==="CANVAS"||r==="SOURCE")return!1}return Lr(t)&&re(n)?!1:t in e}const Mr=e=>{const t=e.props["onUpdate:modelValue"]||!1;return B(t)?n=>cn(t,n):t};function ea(e){e.target.composing=!0}function Ir(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const Jn=Symbol("_assign"),bf={created(e,{modifiers:{lazy:t,trim:n,number:s}},r){e[Jn]=Mr(r);const i=s||r.props&&r.props.type==="number";mt(e,t?"change":"input",o=>{if(o.target.composing)return;let l=e.value;n&&(l=l.trim()),i&&(l=ls(l)),e[Jn](l)}),n&&mt(e,"change",()=>{e.value=e.value.trim()}),t||(mt(e,"compositionstart",ea),mt(e,"compositionend",Ir),mt(e,"change",Ir))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:s,trim:r,number:i}},o){if(e[Jn]=Mr(o),e.composing)return;const l=(i||e.type==="number")&&!/^0\d/.test(e.value)?ls(e.value):e.value,c=t??"";l!==c&&(document.activeElement===e&&e.type!=="range"&&(s&&t===n||r&&e.value.trim()===c)||(e.value=c))}},ta=["ctrl","shift","alt","meta"],na={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>ta.some(n=>e[`${n}Key`]&&!t.includes(n))},wf=(e,t)=>{const n=e._withMods||(e._withMods={}),s=t.join(".");return n[s]||(n[s]=(r,...i)=>{for(let o=0;o{const n=e._withKeys||(e._withKeys={}),s=t.join(".");return n[s]||(n[s]=r=>{if(!("key"in r))return;const i=Ze(r.key);if(t.some(o=>o===i||sa[o]===i))return e(r)})},ra=ce({patchProp:Qc},Pc);let zn,Pr=!1;function ia(){return zn=Pr?zn:ic(ra),Pr=!0,zn}const Ef=(...e)=>{const t=ia().createApp(...e),{mount:n}=t;return t.mount=s=>{const r=la(s);if(r)return n(r,!0,oa(r))},t};function oa(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function la(e){return re(e)?document.querySelector(e):e}const Cf=(e,t)=>{const n=e.__vccOpts||e;for(const[s,r]of t)n[s]=r;return n},ca="modulepreload",aa=function(e){return"/document/"+e},Nr={},Sf=function(t,n,s){let r=Promise.resolve();if(n&&n.length>0){document.getElementsByTagName("link");const i=document.querySelector("meta[property=csp-nonce]"),o=(i==null?void 0:i.nonce)||(i==null?void 0:i.getAttribute("nonce"));r=Promise.all(n.map(l=>{if(l=aa(l),l in Nr)return;Nr[l]=!0;const c=l.endsWith(".css"),f=c?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${l}"]${f}`))return;const d=document.createElement("link");if(d.rel=c?"stylesheet":ca,c||(d.as="script",d.crossOrigin=""),d.href=l,o&&d.setAttribute("nonce",o),document.head.appendChild(d),c)return new Promise((h,m)=>{d.addEventListener("load",h),d.addEventListener("error",()=>m(new Error(`Unable to preload CSS for ${l}`)))})}))}return r.then(()=>t()).catch(i=>{const o=new Event("vite:preloadError",{cancelable:!0});if(o.payload=i,window.dispatchEvent(o),!o.defaultPrevented)throw i})},fa=window.__VP_SITE_DATA__;function Ds(e){return zr()?(Uo(e),!0):!1}function Ye(e){return typeof e=="function"?e():hi(e)}const lo=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const ua=Object.prototype.toString,da=e=>ua.call(e)==="[object Object]",co=()=>{},Fr=ha();function ha(){var e,t;return lo&&((e=window==null?void 0:window.navigator)==null?void 0:e.userAgent)&&(/iP(?:ad|hone|od)/.test(window.navigator.userAgent)||((t=window==null?void 0:window.navigator)==null?void 0:t.maxTouchPoints)>2&&/iPad|Macintosh/.test(window==null?void 0:window.navigator.userAgent))}function pa(e,t){function n(...s){return new Promise((r,i)=>{Promise.resolve(e(()=>t.apply(this,s),{fn:t,thisArg:this,args:s})).then(r).catch(i)})}return n}const ao=e=>e();function ga(e=ao){const t=ue(!0);function n(){t.value=!1}function s(){t.value=!0}const r=(...i)=>{t.value&&e(...i)};return{isActive:An(t),pause:n,resume:s,eventFilter:r}}function ma(e){return $n()}function fo(...e){if(e.length!==1)return ml(...e);const t=e[0];return typeof t=="function"?An(hl(()=>({get:t,set:co}))):ue(t)}function ya(e,t,n={}){const{eventFilter:s=ao,...r}=n;return Fe(e,pa(s,t),r)}function _a(e,t,n={}){const{eventFilter:s,...r}=n,{eventFilter:i,pause:o,resume:l,isActive:c}=ga(s);return{stop:ya(e,t,{...r,eventFilter:i}),pause:o,resume:l,isActive:c}}function Us(e,t=!0,n){ma()?At(e,n):t?e():Rn(e)}function uo(e){var t;const n=Ye(e);return(t=n==null?void 0:n.$el)!=null?t:n}const je=lo?window:void 0;function Tt(...e){let t,n,s,r;if(typeof e[0]=="string"||Array.isArray(e[0])?([n,s,r]=e,t=je):[t,n,s,r]=e,!t)return co;Array.isArray(n)||(n=[n]),Array.isArray(s)||(s=[s]);const i=[],o=()=>{i.forEach(d=>d()),i.length=0},l=(d,h,m,C)=>(d.addEventListener(h,m,C),()=>d.removeEventListener(h,m,C)),c=Fe(()=>[uo(t),Ye(r)],([d,h])=>{if(o(),!d)return;const m=da(h)?{...h}:h;i.push(...n.flatMap(C=>s.map(A=>l(d,C,A,m))))},{immediate:!0,flush:"post"}),f=()=>{c(),o()};return Ds(f),f}function ba(e){return typeof e=="function"?e:typeof e=="string"?t=>t.key===e:Array.isArray(e)?t=>e.includes(t.key):()=>!0}function xf(...e){let t,n,s={};e.length===3?(t=e[0],n=e[1],s=e[2]):e.length===2?typeof e[1]=="object"?(t=!0,n=e[0],s=e[1]):(t=e[0],n=e[1]):(t=!0,n=e[0]);const{target:r=je,eventName:i="keydown",passive:o=!1,dedupe:l=!1}=s,c=ba(t);return Tt(r,i,d=>{d.repeat&&Ye(l)||c(d)&&n(d)},o)}function wa(){const e=ue(!1),t=$n();return t&&At(()=>{e.value=!0},t),e}function va(e){const t=wa();return ie(()=>(t.value,!!e()))}function ho(e,t={}){const{window:n=je}=t,s=va(()=>n&&"matchMedia"in n&&typeof n.matchMedia=="function");let r;const i=ue(!1),o=f=>{i.value=f.matches},l=()=>{r&&("removeEventListener"in r?r.removeEventListener("change",o):r.removeListener(o))},c=Wi(()=>{s.value&&(l(),r=n.matchMedia(Ye(e)),"addEventListener"in r?r.addEventListener("change",o):r.addListener(o),i.value=r.matches)});return Ds(()=>{c(),l(),r=void 0}),i}const sn=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},rn="__vueuse_ssr_handlers__",Ea=Ca();function Ca(){return rn in sn||(sn[rn]=sn[rn]||{}),sn[rn]}function po(e,t){return Ea[e]||t}function Sa(e){return e==null?"any":e instanceof Set?"set":e instanceof Map?"map":e instanceof Date?"date":typeof e=="boolean"?"boolean":typeof e=="string"?"string":typeof e=="object"?"object":Number.isNaN(e)?"any":"number"}const xa={boolean:{read:e=>e==="true",write:e=>String(e)},object:{read:e=>JSON.parse(e),write:e=>JSON.stringify(e)},number:{read:e=>Number.parseFloat(e),write:e=>String(e)},any:{read:e=>e,write:e=>String(e)},string:{read:e=>e,write:e=>String(e)},map:{read:e=>new Map(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e.entries()))},set:{read:e=>new Set(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e))},date:{read:e=>new Date(e),write:e=>e.toISOString()}},$r="vueuse-storage";function Ta(e,t,n,s={}){var r;const{flush:i="pre",deep:o=!0,listenToStorageChanges:l=!0,writeDefaults:c=!0,mergeDefaults:f=!1,shallow:d,window:h=je,eventFilter:m,onError:C=_=>{console.error(_)},initOnMounted:A}=s,P=(d?ui:ue)(typeof t=="function"?t():t);if(!n)try{n=po("getDefaultStorage",()=>{var _;return(_=je)==null?void 0:_.localStorage})()}catch(_){C(_)}if(!n)return P;const D=Ye(t),K=Sa(D),G=(r=s.serializer)!=null?r:xa[K],{pause:p,resume:y}=_a(P,()=>x(P.value),{flush:i,deep:o,eventFilter:m});h&&l&&Us(()=>{Tt(h,"storage",H),Tt(h,$r,L),A&&H()}),A||H();function M(_,N){h&&h.dispatchEvent(new CustomEvent($r,{detail:{key:e,oldValue:_,newValue:N,storageArea:n}}))}function x(_){try{const N=n.getItem(e);if(_==null)M(N,null),n.removeItem(e);else{const S=G.write(_);N!==S&&(n.setItem(e,S),M(N,S))}}catch(N){C(N)}}function F(_){const N=_?_.newValue:n.getItem(e);if(N==null)return c&&D!=null&&n.setItem(e,G.write(D)),D;if(!_&&f){const S=G.read(N);return typeof f=="function"?f(S,D):K==="object"&&!Array.isArray(S)?{...D,...S}:S}else return typeof N!="string"?N:G.read(N)}function H(_){if(!(_&&_.storageArea!==n)){if(_&&_.key==null){P.value=D;return}if(!(_&&_.key!==e)){p();try{(_==null?void 0:_.newValue)!==G.write(P.value)&&(P.value=F(_))}catch(N){C(N)}finally{_?Rn(y):y()}}}}function L(_){H(_.detail)}return P}function go(e){return ho("(prefers-color-scheme: dark)",e)}function Aa(e={}){const{selector:t="html",attribute:n="class",initialValue:s="auto",window:r=je,storage:i,storageKey:o="vueuse-color-scheme",listenToStorageChanges:l=!0,storageRef:c,emitAuto:f,disableTransition:d=!0}=e,h={auto:"",light:"light",dark:"dark",...e.modes||{}},m=go({window:r}),C=ie(()=>m.value?"dark":"light"),A=c||(o==null?fo(s):Ta(o,s,i,{window:r,listenToStorageChanges:l})),P=ie(()=>A.value==="auto"?C.value:A.value),D=po("updateHTMLAttrs",(y,M,x)=>{const F=typeof y=="string"?r==null?void 0:r.document.querySelector(y):uo(y);if(!F)return;let H;if(d&&(H=r.document.createElement("style"),H.appendChild(document.createTextNode("*,*::before,*::after{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}")),r.document.head.appendChild(H)),M==="class"){const L=x.split(/\s/g);Object.values(h).flatMap(_=>(_||"").split(/\s/g)).filter(Boolean).forEach(_=>{L.includes(_)?F.classList.add(_):F.classList.remove(_)})}else F.setAttribute(M,x);d&&(r.getComputedStyle(H).opacity,document.head.removeChild(H))});function K(y){var M;D(t,n,(M=h[y])!=null?M:y)}function G(y){e.onChanged?e.onChanged(y,K):K(y)}Fe(P,G,{flush:"post",immediate:!0}),Us(()=>G(P.value));const p=ie({get(){return f?A.value:P.value},set(y){A.value=y}});try{return Object.assign(p,{store:A,system:C,state:P})}catch{return p}}function Oa(e={}){const{valueDark:t="dark",valueLight:n="",window:s=je}=e,r=Aa({...e,onChanged:(l,c)=>{var f;e.onChanged?(f=e.onChanged)==null||f.call(e,l==="dark",c,l):c(l)},modes:{dark:t,light:n}}),i=ie(()=>r.system?r.system.value:go({window:s}).value?"dark":"light");return ie({get(){return r.value==="dark"},set(l){const c=l?"dark":"light";i.value===c?r.value="auto":r.value=c}})}function Qn(e){return typeof Window<"u"&&e instanceof Window?e.document.documentElement:typeof Document<"u"&&e instanceof Document?e.documentElement:e}function mo(e){const t=window.getComputedStyle(e);if(t.overflowX==="scroll"||t.overflowY==="scroll"||t.overflowX==="auto"&&e.clientWidth1?!0:(t.preventDefault&&t.preventDefault(),!1)}const Zn=new WeakMap;function Tf(e,t=!1){const n=ue(t);let s=null,r="";Fe(fo(e),l=>{const c=Qn(Ye(l));if(c){const f=c;if(Zn.get(f)||Zn.set(f,f.style.overflow),f.style.overflow!=="hidden"&&(r=f.style.overflow),f.style.overflow==="hidden")return n.value=!0;if(n.value)return f.style.overflow="hidden"}},{immediate:!0});const i=()=>{const l=Qn(Ye(e));!l||n.value||(Fr&&(s=Tt(l,"touchmove",c=>{Ra(c)},{passive:!1})),l.style.overflow="hidden",n.value=!0)},o=()=>{const l=Qn(Ye(e));!l||!n.value||(Fr&&(s==null||s()),l.style.overflow=r,Zn.delete(l),n.value=!1)};return Ds(o),ie({get(){return n.value},set(l){l?i():o()}})}function Af(e={}){const{window:t=je,behavior:n="auto"}=e;if(!t)return{x:ue(0),y:ue(0)};const s=ue(t.scrollX),r=ue(t.scrollY),i=ie({get(){return s.value},set(l){scrollTo({left:l,behavior:n})}}),o=ie({get(){return r.value},set(l){scrollTo({top:l,behavior:n})}});return Tt(t,"scroll",()=>{s.value=t.scrollX,r.value=t.scrollY},{capture:!1,passive:!0}),{x:i,y:o}}function Of(e={}){const{window:t=je,initialWidth:n=Number.POSITIVE_INFINITY,initialHeight:s=Number.POSITIVE_INFINITY,listenOrientation:r=!0,includeScrollbar:i=!0}=e,o=ue(n),l=ue(s),c=()=>{t&&(i?(o.value=t.innerWidth,l.value=t.innerHeight):(o.value=t.document.documentElement.clientWidth,l.value=t.document.documentElement.clientHeight))};if(c(),Us(c),Tt("resize",c,{passive:!0}),r){const f=ho("(orientation: portrait)");Fe(f,()=>c())}return{width:o,height:l}}const es={BASE_URL:"/document/",DEV:!1,MODE:"production",PROD:!0,SSR:!1};var ts={};const yo=/^(?:[a-z]+:|\/\/)/i,La="vitepress-theme-appearance",Ma=/#.*$/,Ia=/[?#].*$/,Pa=/(?:(^|\/)index)?\.(?:md|html)$/,he=typeof document<"u",_o={relativePath:"404.md",filePath:"",title:"404",description:"Not Found",headers:[],frontmatter:{sidebar:!1,layout:"page"},lastUpdated:0,isNotFound:!0};function Na(e,t,n=!1){if(t===void 0)return!1;if(e=Hr(`/${e}`),n)return new RegExp(t).test(e);if(Hr(t)!==e)return!1;const s=t.match(Ma);return s?(he?location.hash:"")===s[0]:!0}function Hr(e){return decodeURI(e).replace(Ia,"").replace(Pa,"$1")}function Fa(e){return yo.test(e)}function $a(e,t){return Object.keys((e==null?void 0:e.locales)||{}).find(n=>n!=="root"&&!Fa(n)&&Na(t,`/${n}/`,!0))||"root"}function Ha(e,t){var s,r,i,o,l,c,f;const n=$a(e,t);return Object.assign({},e,{localeIndex:n,lang:((s=e.locales[n])==null?void 0:s.lang)??e.lang,dir:((r=e.locales[n])==null?void 0:r.dir)??e.dir,title:((i=e.locales[n])==null?void 0:i.title)??e.title,titleTemplate:((o=e.locales[n])==null?void 0:o.titleTemplate)??e.titleTemplate,description:((l=e.locales[n])==null?void 0:l.description)??e.description,head:wo(e.head,((c=e.locales[n])==null?void 0:c.head)??[]),themeConfig:{...e.themeConfig,...(f=e.locales[n])==null?void 0:f.themeConfig}})}function bo(e,t){const n=t.title||e.title,s=t.titleTemplate??e.titleTemplate;if(typeof s=="string"&&s.includes(":title"))return s.replace(/:title/g,n);const r=ja(e.title,s);return n===r.slice(3)?n:`${n}${r}`}function ja(e,t){return t===!1?"":t===!0||t===void 0?` | ${e}`:e===t?"":` | ${t}`}function Va(e,t){const[n,s]=t;if(n!=="meta")return!1;const r=Object.entries(s)[0];return r==null?!1:e.some(([i,o])=>i===n&&o[r[0]]===r[1])}function wo(e,t){return[...e.filter(n=>!Va(t,n)),...t]}const Da=/[\u0000-\u001F"#$&*+,:;<=>?[\]^`{|}\u007F]/g,Ua=/^[a-z]:/i;function jr(e){const t=Ua.exec(e),n=t?t[0]:"";return n+e.slice(n.length).replace(Da,"_").replace(/(^|\/)_+(?=[^/]*$)/,"$1")}const ns=new Set;function Ba(e){if(ns.size===0){const n=typeof process=="object"&&(ts==null?void 0:ts.VITE_EXTRA_EXTENSIONS)||(es==null?void 0:es.VITE_EXTRA_EXTENSIONS)||"";("3g2,3gp,aac,ai,apng,au,avif,bin,bmp,cer,class,conf,crl,css,csv,dll,doc,eps,epub,exe,gif,gz,ics,ief,jar,jpe,jpeg,jpg,js,json,jsonld,m4a,man,mid,midi,mjs,mov,mp2,mp3,mp4,mpe,mpeg,mpg,mpp,oga,ogg,ogv,ogx,opus,otf,p10,p7c,p7m,p7s,pdf,png,ps,qt,roff,rtf,rtx,ser,svg,t,tif,tiff,tr,ts,tsv,ttf,txt,vtt,wav,weba,webm,webp,woff,woff2,xhtml,xml,yaml,yml,zip"+(n&&typeof n=="string"?","+n:"")).split(",").forEach(s=>ns.add(s))}const t=e.split(".").pop();return t==null||!ns.has(t.toLowerCase())}const ka=Symbol(),ut=ui(fa);function Rf(e){const t=ie(()=>Ha(ut.value,e.data.relativePath)),n=t.value.appearance,s=n==="force-dark"?ue(!0):n?Oa({storageKey:La,initialValue:()=>typeof n=="string"?n:"auto",...typeof n=="object"?n:{}}):ue(!1),r=ue(he?location.hash:"");return he&&window.addEventListener("hashchange",()=>{r.value=location.hash}),Fe(()=>e.data,()=>{r.value=he?location.hash:""}),{site:t,theme:ie(()=>t.value.themeConfig),page:ie(()=>e.data),frontmatter:ie(()=>e.data.frontmatter),params:ie(()=>e.data.params),lang:ie(()=>t.value.lang),dir:ie(()=>e.data.frontmatter.dir||t.value.dir),localeIndex:ie(()=>t.value.localeIndex||"root"),title:ie(()=>bo(t.value,e.data)),description:ie(()=>e.data.description||t.value.description),isDark:s,hash:ie(()=>r.value)}}function Ka(){const e=St(ka);if(!e)throw new Error("vitepress data not properly injected in app");return e}function Wa(e,t){return`${e}${t}`.replace(/\/+/g,"/")}function Vr(e){return yo.test(e)||!e.startsWith("/")?e:Wa(ut.value.base,e)}function qa(e){let t=e.replace(/\.html$/,"");if(t=decodeURIComponent(t),t=t.replace(/\/$/,"/index"),he){const n="/document/";t=jr(t.slice(n.length).replace(/\//g,"_")||"index")+".md";let s=__VP_HASH_MAP__[t.toLowerCase()];if(s||(t=t.endsWith("_index.md")?t.slice(0,-9)+".md":t.slice(0,-3)+"_index.md",s=__VP_HASH_MAP__[t.toLowerCase()]),!s)return null;t=`${n}assets/${t}.${s}.js`}else t=`./${jr(t.slice(1).replace(/\//g,"_"))}.md.js`;return t}let dn=[];function Lf(e){dn.push(e),Pn(()=>{dn=dn.filter(t=>t!==e)})}function Ga(){let e=ut.value.scrollOffset,t=0,n=24;if(typeof e=="object"&&"padding"in e&&(n=e.padding,e=e.selector),typeof e=="number")t=e;else if(typeof e=="string")t=Dr(e,n);else if(Array.isArray(e))for(const s of e){const r=Dr(s,n);if(r){t=r;break}}return t}function Dr(e,t){const n=document.querySelector(e);if(!n)return 0;const s=n.getBoundingClientRect().bottom;return s<0?0:s+t}const Xa=Symbol(),vo="http://a.com",Ya=()=>({path:"/",component:null,data:_o});function Mf(e,t){const n=Tn(Ya()),s={route:n,go:r};async function r(l=he?location.href:"/"){var c,f;l=ss(l),await((c=s.onBeforeRouteChange)==null?void 0:c.call(s,l))!==!1&&(he&&l!==ss(location.href)&&(history.replaceState({scrollPosition:window.scrollY},""),history.pushState({},"",l)),await o(l),await((f=s.onAfterRouteChanged)==null?void 0:f.call(s,l)))}let i=null;async function o(l,c=0,f=!1){var m;if(await((m=s.onBeforePageLoad)==null?void 0:m.call(s,l))===!1)return;const d=new URL(l,vo),h=i=d.pathname;try{let C=await e(h);if(!C)throw new Error(`Page not found: ${h}`);if(i===h){i=null;const{default:A,__pageData:P}=C;if(!A)throw new Error(`Invalid route component: ${A}`);n.path=he?h:Vr(h),n.component=an(A),n.data=an(P),he&&Rn(()=>{let D=ut.value.base+P.relativePath.replace(/(?:(^|\/)index)?\.md$/,"$1");if(!ut.value.cleanUrls&&!D.endsWith("/")&&(D+=".html"),D!==d.pathname&&(d.pathname=D,l=D+d.search+d.hash,history.replaceState({},"",l)),d.hash&&!c){let K=null;try{K=document.getElementById(decodeURIComponent(d.hash).slice(1))}catch(G){console.warn(G)}if(K){Ur(K,d.hash);return}}window.scrollTo(0,c)})}}catch(C){if(!/fetch|Page not found/.test(C.message)&&!/^\/404(\.html|\/)?$/.test(l)&&console.error(C),!f)try{const A=await fetch(ut.value.base+"hashmap.json");window.__VP_HASH_MAP__=await A.json(),await o(l,c,!0);return}catch{}if(i===h){i=null,n.path=he?h:Vr(h),n.component=t?an(t):null;const A=he?h.replace(/(^|\/)$/,"$1index").replace(/(\.html)?$/,".md").replace(/^\//,""):"404.md";n.data={..._o,relativePath:A}}}}return he&&(history.state===null&&history.replaceState({},""),window.addEventListener("click",l=>{if(l.target.closest("button"))return;const f=l.target.closest("a");if(f&&!f.closest(".vp-raw")&&(f instanceof SVGElement||!f.download)){const{target:d}=f,{href:h,origin:m,pathname:C,hash:A,search:P}=new URL(f.href instanceof SVGAnimatedString?f.href.animVal:f.href,f.baseURI),D=new URL(location.href);!l.ctrlKey&&!l.shiftKey&&!l.altKey&&!l.metaKey&&!d&&m===D.origin&&Ba(C)&&(l.preventDefault(),C===D.pathname&&P===D.search?(A!==D.hash&&(history.pushState({},"",h),window.dispatchEvent(new HashChangeEvent("hashchange",{oldURL:D.href,newURL:h}))),A?Ur(f,A,f.classList.contains("header-anchor")):window.scrollTo(0,0)):r(h))}},{capture:!0}),window.addEventListener("popstate",async l=>{var c;l.state!==null&&(await o(ss(location.href),l.state&&l.state.scrollPosition||0),(c=s.onAfterRouteChanged)==null||c.call(s,location.href))}),window.addEventListener("hashchange",l=>{l.preventDefault()})),s}function Ja(){const e=St(Xa);if(!e)throw new Error("useRouter() is called without provider.");return e}function Eo(){return Ja().route}function Ur(e,t,n=!1){let s=null;try{s=e.classList.contains("header-anchor")?e:document.getElementById(decodeURIComponent(t).slice(1))}catch(r){console.warn(r)}if(s){let r=function(){!n||Math.abs(o-window.scrollY)>window.innerHeight?window.scrollTo(0,o):window.scrollTo({left:0,top:o,behavior:"smooth"})};const i=parseInt(window.getComputedStyle(s).paddingTop,10),o=window.scrollY+s.getBoundingClientRect().top-Ga()+i;requestAnimationFrame(r)}}function ss(e){const t=new URL(e,vo);return t.pathname=t.pathname.replace(/(^|\/)index(\.html)?$/,"$1"),ut.value.cleanUrls?t.pathname=t.pathname.replace(/\.html$/,""):!t.pathname.endsWith("/")&&!t.pathname.endsWith(".html")&&(t.pathname+=".html"),t.pathname+t.search+t.hash}const rs=()=>dn.forEach(e=>e()),If=Ei({name:"VitePressContent",props:{as:{type:[Object,String],default:"div"}},setup(e){const t=Eo(),{site:n}=Ka();return()=>bs(e.as,n.value.contentProps??{style:{position:"relative"}},[t.component?bs(t.component,{onVnodeMounted:rs,onVnodeUpdated:rs,onVnodeUnmounted:rs}):"404 Page Not Found"])}}),Pf=Ei({setup(e,{slots:t}){const n=ue(!1);return At(()=>{n.value=!0}),()=>n.value&&t.default?t.default():null}});function Nf(){he&&window.addEventListener("click",e=>{var n;const t=e.target;if(t.matches(".vp-code-group input")){const s=(n=t.parentElement)==null?void 0:n.parentElement;if(!s)return;const r=Array.from(s.querySelectorAll("input")).indexOf(t);if(r<0)return;const i=s.querySelector(".blocks");if(!i)return;const o=Array.from(i.children).find(f=>f.classList.contains("active"));if(!o)return;const l=i.children[r];if(!l||o===l)return;o.classList.remove("active"),l.classList.add("active");const c=s==null?void 0:s.querySelector(`label[for="${t.id}"]`);c==null||c.scrollIntoView({block:"nearest"})}})}function Ff(){if(he){const e=new WeakMap;window.addEventListener("click",t=>{var s;const n=t.target;if(n.matches('div[class*="language-"] > button.copy')){const r=n.parentElement,i=(s=n.nextElementSibling)==null?void 0:s.nextElementSibling;if(!r||!i)return;const o=/language-(shellscript|shell|bash|sh|zsh)/.test(r.className),l=[".vp-copy-ignore",".diff.remove"],c=i.cloneNode(!0);c.querySelectorAll(l.join(",")).forEach(d=>d.remove());let f=c.textContent||"";o&&(f=f.replace(/^ *(\$|>) /gm,"").trim()),za(f).then(()=>{n.classList.add("copied"),clearTimeout(e.get(n));const d=setTimeout(()=>{n.classList.remove("copied"),n.blur(),e.delete(n)},2e3);e.set(n,d)})}})}}async function za(e){try{return navigator.clipboard.writeText(e)}catch{const t=document.createElement("textarea"),n=document.activeElement;t.value=e,t.setAttribute("readonly",""),t.style.contain="strict",t.style.position="absolute",t.style.left="-9999px",t.style.fontSize="12pt";const s=document.getSelection(),r=s?s.rangeCount>0&&s.getRangeAt(0):null;document.body.appendChild(t),t.select(),t.selectionStart=0,t.selectionEnd=e.length,document.execCommand("copy"),document.body.removeChild(t),r&&(s.removeAllRanges(),s.addRange(r)),n&&n.focus()}}function $f(e,t){let n=!0,s=[];const r=i=>{if(n){n=!1,i.forEach(l=>{const c=is(l);for(const f of document.head.children)if(f.isEqualNode(c)){s.push(f);return}});return}const o=i.map(is);s.forEach((l,c)=>{const f=o.findIndex(d=>d==null?void 0:d.isEqualNode(l??null));f!==-1?delete o[f]:(l==null||l.remove(),delete s[c])}),o.forEach(l=>l&&document.head.appendChild(l)),s=[...s,...o].filter(Boolean)};Wi(()=>{const i=e.data,o=t.value,l=i&&i.description,c=i&&i.frontmatter.head||[],f=bo(o,i);f!==document.title&&(document.title=f);const d=l||o.description;let h=document.querySelector("meta[name=description]");h?h.getAttribute("content")!==d&&h.setAttribute("content",d):is(["meta",{name:"description",content:d}]),r(wo(o.head,Za(c)))})}function is([e,t,n]){const s=document.createElement(e);for(const r in t)s.setAttribute(r,t[r]);return n&&(s.innerHTML=n),e==="script"&&!t.async&&(s.async=!1),s}function Qa(e){return e[0]==="meta"&&e[1]&&e[1].name==="description"}function Za(e){return e.filter(t=>!Qa(t))}const os=new Set,Co=()=>document.createElement("link"),ef=e=>{const t=Co();t.rel="prefetch",t.href=e,document.head.appendChild(t)},tf=e=>{const t=new XMLHttpRequest;t.open("GET",e,t.withCredentials=!0),t.send()};let on;const nf=he&&(on=Co())&&on.relList&&on.relList.supports&&on.relList.supports("prefetch")?ef:tf;function Hf(){if(!he||!window.IntersectionObserver)return;let e;if((e=navigator.connection)&&(e.saveData||/2g/.test(e.effectiveType)))return;const t=window.requestIdleCallback||setTimeout;let n=null;const s=()=>{n&&n.disconnect(),n=new IntersectionObserver(i=>{i.forEach(o=>{if(o.isIntersecting){const l=o.target;n.unobserve(l);const{pathname:c}=l;if(!os.has(c)){os.add(c);const f=qa(c);f&&nf(f)}}})}),t(()=>{document.querySelectorAll("#app a").forEach(i=>{const{hostname:o,pathname:l}=new URL(i.href instanceof SVGAnimatedString?i.href.animVal:i.href,i.baseURI),c=l.match(/\.\w+$/);c&&c[0]!==".html"||i.target!=="_blank"&&o===location.hostname&&(l!==location.pathname?n.observe(i):os.add(l))})})};At(s);const r=Eo();Fe(()=>r.path,s),Pn(()=>{n&&n.disconnect()})}export{wf as $,pf as A,Il as B,Ga as C,lf as D,af as E,be as F,ui as G,Lf as H,de as I,cf as J,yo as K,Eo as L,vc as M,St as N,Of as O,Ss as P,xf as Q,Rn as R,Af as S,ro as T,he as U,An as V,Ja as W,Sf as X,of as Y,_f as Z,Cf as _,eo as a,bf as a0,hf as a1,Tf as a2,ql as a3,vf as a4,uf as a5,df as a6,mf as a7,$f as a8,Xa as a9,Rf as aa,ka as ab,If as ac,Pf as ad,ut as ae,Ef as af,Mf as ag,qa as ah,Hf as ai,Ff as aj,Nf as ak,bs as al,zi as b,gf as c,Ei as d,yf as e,Ba as f,Vr as g,ie as h,Fa as i,Zi as j,hi as k,rf as l,Na as m,xs as n,Yi as o,sf as p,ho as q,ff as r,ue as s,jo as t,Ka as u,Fe as v,Cl as w,Wi as x,At as y,Pn as z}; diff --git a/document/assets/chunks/framework.DXlgpajS.js b/document/assets/chunks/framework.DXlgpajS.js deleted file mode 100644 index f2ea9e1d0..000000000 --- a/document/assets/chunks/framework.DXlgpajS.js +++ /dev/null @@ -1,17 +0,0 @@ -/** -* @vue/shared v3.4.27 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**//*! #__NO_SIDE_EFFECTS__ */function vs(e,t){const n=new Set(e.split(","));return s=>n.has(s)}const ee={},mt=[],xe=()=>{},wi=()=>!1,Bt=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),ws=e=>e.startsWith("onUpdate:"),re=Object.assign,Es=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},Ei=Object.prototype.hasOwnProperty,Y=(e,t)=>Ei.call(e,t),U=Array.isArray,yt=e=>En(e)==="[object Map]",Br=e=>En(e)==="[object Set]",K=e=>typeof e=="function",ne=e=>typeof e=="string",ut=e=>typeof e=="symbol",Z=e=>e!==null&&typeof e=="object",kr=e=>(Z(e)||K(e))&&K(e.then)&&K(e.catch),Kr=Object.prototype.toString,En=e=>Kr.call(e),Ci=e=>En(e).slice(8,-1),Wr=e=>En(e)==="[object Object]",Cs=e=>ne(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,_t=vs(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Cn=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},xi=/-(\w)/g,Ne=Cn(e=>e.replace(xi,(t,n)=>n?n.toUpperCase():"")),Si=/\B([A-Z])/g,dt=Cn(e=>e.replace(Si,"-$1").toLowerCase()),xn=Cn(e=>e.charAt(0).toUpperCase()+e.slice(1)),ln=Cn(e=>e?`on${xn(e)}`:""),Je=(e,t)=>!Object.is(e,t),cn=(e,t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:s,value:n})},is=e=>{const t=parseFloat(e);return isNaN(t)?e:t},Ti=e=>{const t=ne(e)?Number(e):NaN;return isNaN(t)?e:t};let Gs;const Gr=()=>Gs||(Gs=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function xs(e){if(U(e)){const t={};for(let n=0;n{if(n){const s=n.split(Ri);s.length>1&&(t[s[0].trim()]=s[1].trim())}}),t}function Ss(e){let t="";if(ne(e))t=e;else if(U(e))for(let n=0;nne(e)?e:e==null?"":U(e)||Z(e)&&(e.toString===Kr||!K(e.toString))?JSON.stringify(e,Xr,2):String(e),Xr=(e,t)=>t&&t.__v_isRef?Xr(e,t.value):yt(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[s,r],o)=>(n[Bn(s,o)+" =>"]=r,n),{})}:Br(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>Bn(n))}:ut(t)?Bn(t):Z(t)&&!U(t)&&!Wr(t)?String(t):t,Bn=(e,t="")=>{var n;return ut(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};/** -* @vue/reactivity v3.4.27 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**/let we;class Pi{constructor(t=!1){this.detached=t,this._active=!0,this.effects=[],this.cleanups=[],this.parent=we,!t&&we&&(this.index=(we.scopes||(we.scopes=[])).push(this)-1)}get active(){return this._active}run(t){if(this._active){const n=we;try{return we=this,t()}finally{we=n}}}on(){we=this}off(){we=this.parent}stop(t){if(this._active){let n,s;for(n=0,s=this.effects.length;n=4))break}this._dirtyLevel===1&&(this._dirtyLevel=0),et()}return this._dirtyLevel>=4}set dirty(t){this._dirtyLevel=t?4:0}run(){if(this._dirtyLevel=0,!this.active)return this.fn();let t=ze,n=ct;try{return ze=!0,ct=this,this._runnings++,zs(this),this.fn()}finally{Xs(this),this._runnings--,ct=n,ze=t}}stop(){this.active&&(zs(this),Xs(this),this.onStop&&this.onStop(),this.active=!1)}}function $i(e){return e.value}function zs(e){e._trackId++,e._depsLength=0}function Xs(e){if(e.deps.length>e._depsLength){for(let t=e._depsLength;t{const n=new Map;return n.cleanup=e,n.computed=t,n},hn=new WeakMap,at=Symbol(""),as=Symbol("");function be(e,t,n){if(ze&&ct){let s=hn.get(e);s||hn.set(e,s=new Map);let r=s.get(n);r||s.set(n,r=to(()=>s.delete(n))),Zr(ct,r)}}function He(e,t,n,s,r,o){const i=hn.get(e);if(!i)return;let l=[];if(t==="clear")l=[...i.values()];else if(n==="length"&&U(e)){const c=Number(s);i.forEach((f,u)=>{(u==="length"||!ut(u)&&u>=c)&&l.push(f)})}else switch(n!==void 0&&l.push(i.get(n)),t){case"add":U(e)?Cs(n)&&l.push(i.get("length")):(l.push(i.get(at)),yt(e)&&l.push(i.get(as)));break;case"delete":U(e)||(l.push(i.get(at)),yt(e)&&l.push(i.get(as)));break;case"set":yt(e)&&l.push(i.get(at));break}As();for(const c of l)c&&eo(c,4);Rs()}function Hi(e,t){const n=hn.get(e);return n&&n.get(t)}const ji=vs("__proto__,__v_isRef,__isVue"),no=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(ut)),Ys=Vi();function Vi(){const e={};return["includes","indexOf","lastIndexOf"].forEach(t=>{e[t]=function(...n){const s=J(this);for(let o=0,i=this.length;o{e[t]=function(...n){Ze(),As();const s=J(this)[t].apply(this,n);return Rs(),et(),s}}),e}function Di(e){ut(e)||(e=String(e));const t=J(this);return be(t,"has",e),t.hasOwnProperty(e)}class so{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,s){const r=this._isReadonly,o=this._isShallow;if(n==="__v_isReactive")return!r;if(n==="__v_isReadonly")return r;if(n==="__v_isShallow")return o;if(n==="__v_raw")return s===(r?o?Zi:lo:o?io:oo).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(s)?t:void 0;const i=U(t);if(!r){if(i&&Y(Ys,n))return Reflect.get(Ys,n,s);if(n==="hasOwnProperty")return Di}const l=Reflect.get(t,n,s);return(ut(n)?no.has(n):ji(n))||(r||be(t,"get",n),o)?l:pe(l)?i&&Cs(n)?l:l.value:Z(l)?r?An(l):Tn(l):l}}class ro extends so{constructor(t=!1){super(!1,t)}set(t,n,s,r){let o=t[n];if(!this._isShallow){const c=$t(o);if(!pn(s)&&!$t(s)&&(o=J(o),s=J(s)),!U(t)&&pe(o)&&!pe(s))return c?!1:(o.value=s,!0)}const i=U(t)&&Cs(n)?Number(n)e,Sn=e=>Reflect.getPrototypeOf(e);function qt(e,t,n=!1,s=!1){e=e.__v_raw;const r=J(e),o=J(t);n||(Je(t,o)&&be(r,"get",t),be(r,"get",o));const{has:i}=Sn(r),l=s?Os:n?Ms:Ht;if(i.call(r,t))return l(e.get(t));if(i.call(r,o))return l(e.get(o));e!==r&&e.get(t)}function Gt(e,t=!1){const n=this.__v_raw,s=J(n),r=J(e);return t||(Je(e,r)&&be(s,"has",e),be(s,"has",r)),e===r?n.has(e):n.has(e)||n.has(r)}function zt(e,t=!1){return e=e.__v_raw,!t&&be(J(e),"iterate",at),Reflect.get(e,"size",e)}function Js(e){e=J(e);const t=J(this);return Sn(t).has.call(t,e)||(t.add(e),He(t,"add",e,e)),this}function Qs(e,t){t=J(t);const n=J(this),{has:s,get:r}=Sn(n);let o=s.call(n,e);o||(e=J(e),o=s.call(n,e));const i=r.call(n,e);return n.set(e,t),o?Je(t,i)&&He(n,"set",e,t):He(n,"add",e,t),this}function Zs(e){const t=J(this),{has:n,get:s}=Sn(t);let r=n.call(t,e);r||(e=J(e),r=n.call(t,e)),s&&s.call(t,e);const o=t.delete(e);return r&&He(t,"delete",e,void 0),o}function er(){const e=J(this),t=e.size!==0,n=e.clear();return t&&He(e,"clear",void 0,void 0),n}function Xt(e,t){return function(s,r){const o=this,i=o.__v_raw,l=J(i),c=t?Os:e?Ms:Ht;return!e&&be(l,"iterate",at),i.forEach((f,u)=>s.call(r,c(f),c(u),o))}}function Yt(e,t,n){return function(...s){const r=this.__v_raw,o=J(r),i=yt(o),l=e==="entries"||e===Symbol.iterator&&i,c=e==="keys"&&i,f=r[e](...s),u=n?Os:t?Ms:Ht;return!t&&be(o,"iterate",c?as:at),{next(){const{value:h,done:m}=f.next();return m?{value:h,done:m}:{value:l?[u(h[0]),u(h[1])]:u(h),done:m}},[Symbol.iterator](){return this}}}}function De(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Wi(){const e={get(o){return qt(this,o)},get size(){return zt(this)},has:Gt,add:Js,set:Qs,delete:Zs,clear:er,forEach:Xt(!1,!1)},t={get(o){return qt(this,o,!1,!0)},get size(){return zt(this)},has:Gt,add:Js,set:Qs,delete:Zs,clear:er,forEach:Xt(!1,!0)},n={get(o){return qt(this,o,!0)},get size(){return zt(this,!0)},has(o){return Gt.call(this,o,!0)},add:De("add"),set:De("set"),delete:De("delete"),clear:De("clear"),forEach:Xt(!0,!1)},s={get(o){return qt(this,o,!0,!0)},get size(){return zt(this,!0)},has(o){return Gt.call(this,o,!0)},add:De("add"),set:De("set"),delete:De("delete"),clear:De("clear"),forEach:Xt(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach(o=>{e[o]=Yt(o,!1,!1),n[o]=Yt(o,!0,!1),t[o]=Yt(o,!1,!0),s[o]=Yt(o,!0,!0)}),[e,n,t,s]}const[qi,Gi,zi,Xi]=Wi();function Ls(e,t){const n=t?e?Xi:zi:e?Gi:qi;return(s,r,o)=>r==="__v_isReactive"?!e:r==="__v_isReadonly"?e:r==="__v_raw"?s:Reflect.get(Y(n,r)&&r in s?n:s,r,o)}const Yi={get:Ls(!1,!1)},Ji={get:Ls(!1,!0)},Qi={get:Ls(!0,!1)};const oo=new WeakMap,io=new WeakMap,lo=new WeakMap,Zi=new WeakMap;function el(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function tl(e){return e.__v_skip||!Object.isExtensible(e)?0:el(Ci(e))}function Tn(e){return $t(e)?e:Is(e,!1,Bi,Yi,oo)}function nl(e){return Is(e,!1,Ki,Ji,io)}function An(e){return Is(e,!0,ki,Qi,lo)}function Is(e,t,n,s,r){if(!Z(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const o=r.get(e);if(o)return o;const i=tl(e);if(i===0)return e;const l=new Proxy(e,i===2?s:n);return r.set(e,l),l}function Ot(e){return $t(e)?Ot(e.__v_raw):!!(e&&e.__v_isReactive)}function $t(e){return!!(e&&e.__v_isReadonly)}function pn(e){return!!(e&&e.__v_isShallow)}function co(e){return e?!!e.__v_raw:!1}function J(e){const t=e&&e.__v_raw;return t?J(t):e}function an(e){return Object.isExtensible(e)&&qr(e,"__v_skip",!0),e}const Ht=e=>Z(e)?Tn(e):e,Ms=e=>Z(e)?An(e):e;class ao{constructor(t,n,s,r){this.getter=t,this._setter=n,this.dep=void 0,this.__v_isRef=!0,this.__v_isReadonly=!1,this.effect=new Ts(()=>t(this._value),()=>Lt(this,this.effect._dirtyLevel===2?2:3)),this.effect.computed=this,this.effect.active=this._cacheable=!r,this.__v_isReadonly=s}get value(){const t=J(this);return(!t._cacheable||t.effect.dirty)&&Je(t._value,t._value=t.effect.run())&&Lt(t,4),Ps(t),t.effect._dirtyLevel>=2&&Lt(t,2),t._value}set value(t){this._setter(t)}get _dirty(){return this.effect.dirty}set _dirty(t){this.effect.dirty=t}}function sl(e,t,n=!1){let s,r;const o=K(e);return o?(s=e,r=xe):(s=e.get,r=e.set),new ao(s,r,o||!r,n)}function Ps(e){var t;ze&&ct&&(e=J(e),Zr(ct,(t=e.dep)!=null?t:e.dep=to(()=>e.dep=void 0,e instanceof ao?e:void 0)))}function Lt(e,t=4,n){e=J(e);const s=e.dep;s&&eo(s,t)}function pe(e){return!!(e&&e.__v_isRef===!0)}function fe(e){return uo(e,!1)}function fo(e){return uo(e,!0)}function uo(e,t){return pe(e)?e:new rl(e,t)}class rl{constructor(t,n){this.__v_isShallow=n,this.dep=void 0,this.__v_isRef=!0,this._rawValue=n?t:J(t),this._value=n?t:Ht(t)}get value(){return Ps(this),this._value}set value(t){const n=this.__v_isShallow||pn(t)||$t(t);t=n?t:J(t),Je(t,this._rawValue)&&(this._rawValue=t,this._value=n?t:Ht(t),Lt(this,4))}}function ho(e){return pe(e)?e.value:e}const ol={get:(e,t,n)=>ho(Reflect.get(e,t,n)),set:(e,t,n,s)=>{const r=e[t];return pe(r)&&!pe(n)?(r.value=n,!0):Reflect.set(e,t,n,s)}};function po(e){return Ot(e)?e:new Proxy(e,ol)}class il{constructor(t){this.dep=void 0,this.__v_isRef=!0;const{get:n,set:s}=t(()=>Ps(this),()=>Lt(this));this._get=n,this._set=s}get value(){return this._get()}set value(t){this._set(t)}}function ll(e){return new il(e)}class cl{constructor(t,n,s){this._object=t,this._key=n,this._defaultValue=s,this.__v_isRef=!0}get value(){const t=this._object[this._key];return t===void 0?this._defaultValue:t}set value(t){this._object[this._key]=t}get dep(){return Hi(J(this._object),this._key)}}class al{constructor(t){this._getter=t,this.__v_isRef=!0,this.__v_isReadonly=!0}get value(){return this._getter()}}function fl(e,t,n){return pe(e)?e:K(e)?new al(e):Z(e)&&arguments.length>1?ul(e,t,n):fe(e)}function ul(e,t,n){const s=e[t];return pe(s)?s:new cl(e,t,n)}/** -* @vue/runtime-core v3.4.27 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**/function Xe(e,t,n,s){try{return s?e(...s):e()}catch(r){Rn(r,t,n)}}function Se(e,t,n,s){if(K(e)){const r=Xe(e,t,n,s);return r&&kr(r)&&r.catch(o=>{Rn(o,t,n)}),r}if(U(e)){const r=[];for(let o=0;o>>1,r=he[s],o=Vt(r);oMe&&he.splice(t,1)}function gl(e){U(e)?bt.push(...e):(!Ke||!Ke.includes(e,e.allowRecurse?ot+1:ot))&&bt.push(e),mo()}function tr(e,t,n=jt?Me+1:0){for(;nVt(n)-Vt(s));if(bt.length=0,Ke){Ke.push(...t);return}for(Ke=t,ot=0;ote.id==null?1/0:e.id,ml=(e,t)=>{const n=Vt(e)-Vt(t);if(n===0){if(e.pre&&!t.pre)return-1;if(t.pre&&!e.pre)return 1}return n};function yo(e){fs=!1,jt=!0,he.sort(ml);try{for(Me=0;Mene(C)?C.trim():C)),h&&(r=n.map(is))}let l,c=s[l=ln(t)]||s[l=ln(Ne(t))];!c&&o&&(c=s[l=ln(dt(t))]),c&&Se(c,e,6,r);const f=s[l+"Once"];if(f){if(!e.emitted)e.emitted={};else if(e.emitted[l])return;e.emitted[l]=!0,Se(f,e,6,r)}}function _o(e,t,n=!1){const s=t.emitsCache,r=s.get(e);if(r!==void 0)return r;const o=e.emits;let i={},l=!1;if(!K(e)){const c=f=>{const u=_o(f,t,!0);u&&(l=!0,re(i,u))};!n&&t.mixins.length&&t.mixins.forEach(c),e.extends&&c(e.extends),e.mixins&&e.mixins.forEach(c)}return!o&&!l?(Z(e)&&s.set(e,null),null):(U(o)?o.forEach(c=>i[c]=null):re(i,o),Z(e)&&s.set(e,i),i)}function Ln(e,t){return!e||!Bt(t)?!1:(t=t.slice(2).replace(/Once$/,""),Y(e,t[0].toLowerCase()+t.slice(1))||Y(e,dt(t))||Y(e,t))}let ie=null,In=null;function mn(e){const t=ie;return ie=e,In=e&&e.type.__scopeId||null,t}function Ja(e){In=e}function Qa(){In=null}function _l(e,t=ie,n){if(!t||e._n)return e;const s=(...r)=>{s._d&&gr(-1);const o=mn(t);let i;try{i=e(...r)}finally{mn(o),s._d&&gr(1)}return i};return s._n=!0,s._c=!0,s._d=!0,s}function kn(e){const{type:t,vnode:n,proxy:s,withProxy:r,propsOptions:[o],slots:i,attrs:l,emit:c,render:f,renderCache:u,props:h,data:m,setupState:C,ctx:M,inheritAttrs:P}=e,B=mn(e);let W,q;try{if(n.shapeFlag&4){const y=r||s,L=y;W=Ae(f.call(L,y,u,h,C,m,M)),q=l}else{const y=t;W=Ae(y.length>1?y(h,{attrs:l,slots:i,emit:c}):y(h,null)),q=t.props?l:bl(l)}}catch(y){Ft.length=0,Rn(y,e,1),W=ue(_e)}let p=W;if(q&&P!==!1){const y=Object.keys(q),{shapeFlag:L}=p;y.length&&L&7&&(o&&y.some(ws)&&(q=vl(q,o)),p=Qe(p,q,!1,!0))}return n.dirs&&(p=Qe(p,null,!1,!0),p.dirs=p.dirs?p.dirs.concat(n.dirs):n.dirs),n.transition&&(p.transition=n.transition),W=p,mn(B),W}const bl=e=>{let t;for(const n in e)(n==="class"||n==="style"||Bt(n))&&((t||(t={}))[n]=e[n]);return t},vl=(e,t)=>{const n={};for(const s in e)(!ws(s)||!(s.slice(9)in t))&&(n[s]=e[s]);return n};function wl(e,t,n){const{props:s,children:r,component:o}=e,{props:i,children:l,patchFlag:c}=t,f=o.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&c>=0){if(c&1024)return!0;if(c&16)return s?nr(s,i,f):!!i;if(c&8){const u=t.dynamicProps;for(let h=0;he.__isSuspense;function Eo(e,t){t&&t.pendingBranch?U(e)?t.effects.push(...e):t.effects.push(e):gl(e)}const xl=Symbol.for("v-scx"),Sl=()=>wt(xl);function Co(e,t){return Mn(e,null,t)}function tf(e,t){return Mn(e,null,{flush:"post"})}const Jt={};function Pe(e,t,n){return Mn(e,t,n)}function Mn(e,t,{immediate:n,deep:s,flush:r,once:o,onTrack:i,onTrigger:l}=ee){if(t&&o){const R=t;t=(...N)=>{R(...N),L()}}const c=ae,f=R=>s===!0?R:lt(R,s===!1?1:void 0);let u,h=!1,m=!1;if(pe(e)?(u=()=>e.value,h=pn(e)):Ot(e)?(u=()=>f(e),h=!0):U(e)?(m=!0,h=e.some(R=>Ot(R)||pn(R)),u=()=>e.map(R=>{if(pe(R))return R.value;if(Ot(R))return f(R);if(K(R))return Xe(R,c,2)})):K(e)?t?u=()=>Xe(e,c,2):u=()=>(C&&C(),Se(e,c,3,[M])):u=xe,t&&s){const R=u;u=()=>lt(R())}let C,M=R=>{C=p.onStop=()=>{Xe(R,c,4),C=p.onStop=void 0}},P;if(Hn)if(M=xe,t?n&&Se(t,c,3,[u(),m?[]:void 0,M]):u(),r==="sync"){const R=Sl();P=R.__watcherHandles||(R.__watcherHandles=[])}else return xe;let B=m?new Array(e.length).fill(Jt):Jt;const W=()=>{if(!(!p.active||!p.dirty))if(t){const R=p.run();(s||h||(m?R.some((N,S)=>Je(N,B[S])):Je(R,B)))&&(C&&C(),Se(t,c,3,[R,B===Jt?void 0:m&&B[0]===Jt?[]:B,M]),B=R)}else p.run()};W.allowRecurse=!!t;let q;r==="sync"?q=W:r==="post"?q=()=>me(W,c&&c.suspense):(W.pre=!0,c&&(W.id=c.uid),q=()=>Fs(W));const p=new Ts(u,xe,q),y=Yr(),L=()=>{p.stop(),y&&Es(y.effects,p)};return t?n?W():B=p.run():r==="post"?me(p.run.bind(p),c&&c.suspense):p.run(),P&&P.push(L),L}function Tl(e,t,n){const s=this.proxy,r=ne(e)?e.includes(".")?xo(s,e):()=>s[e]:e.bind(s,s);let o;K(t)?o=t:(o=t.handler,n=t);const i=kt(this),l=Mn(r,o.bind(s),n);return i(),l}function xo(e,t){const n=t.split(".");return()=>{let s=e;for(let r=0;r{lt(s,t,n)});else if(Wr(e))for(const s in e)lt(e[s],t,n);return e}function nf(e,t){if(ie===null)return e;const n=jn(ie)||ie.proxy,s=e.dirs||(e.dirs=[]);for(let r=0;r{e.isMounted=!0}),Lo(()=>{e.isUnmounting=!0}),e}const Ee=[Function,Array],So={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:Ee,onEnter:Ee,onAfterEnter:Ee,onEnterCancelled:Ee,onBeforeLeave:Ee,onLeave:Ee,onAfterLeave:Ee,onLeaveCancelled:Ee,onBeforeAppear:Ee,onAppear:Ee,onAfterAppear:Ee,onAppearCancelled:Ee},Rl={name:"BaseTransition",props:So,setup(e,{slots:t}){const n=$n(),s=Al();return()=>{const r=t.default&&Ao(t.default(),!0);if(!r||!r.length)return;let o=r[0];if(r.length>1){for(const m of r)if(m.type!==_e){o=m;break}}const i=J(e),{mode:l}=i;if(s.isLeaving)return Kn(o);const c=rr(o);if(!c)return Kn(o);const f=us(c,i,s,n);ds(c,f);const u=n.subTree,h=u&&rr(u);if(h&&h.type!==_e&&!it(c,h)){const m=us(h,i,s,n);if(ds(h,m),l==="out-in"&&c.type!==_e)return s.isLeaving=!0,m.afterLeave=()=>{s.isLeaving=!1,n.update.active!==!1&&(n.effect.dirty=!0,n.update())},Kn(o);l==="in-out"&&c.type!==_e&&(m.delayLeave=(C,M,P)=>{const B=To(s,h);B[String(h.key)]=h,C[We]=()=>{M(),C[We]=void 0,delete f.delayedLeave},f.delayedLeave=P})}return o}}},Ol=Rl;function To(e,t){const{leavingVNodes:n}=e;let s=n.get(t.type);return s||(s=Object.create(null),n.set(t.type,s)),s}function us(e,t,n,s){const{appear:r,mode:o,persisted:i=!1,onBeforeEnter:l,onEnter:c,onAfterEnter:f,onEnterCancelled:u,onBeforeLeave:h,onLeave:m,onAfterLeave:C,onLeaveCancelled:M,onBeforeAppear:P,onAppear:B,onAfterAppear:W,onAppearCancelled:q}=t,p=String(e.key),y=To(n,e),L=(S,F)=>{S&&Se(S,s,9,F)},R=(S,F)=>{const v=F[1];L(S,F),U(S)?S.every(H=>H.length<=1)&&v():S.length<=1&&v()},N={mode:o,persisted:i,beforeEnter(S){let F=l;if(!n.isMounted)if(r)F=P||l;else return;S[We]&&S[We](!0);const v=y[p];v&&it(e,v)&&v.el[We]&&v.el[We](),L(F,[S])},enter(S){let F=c,v=f,H=u;if(!n.isMounted)if(r)F=B||c,v=W||f,H=q||u;else return;let T=!1;const G=S[Qt]=oe=>{T||(T=!0,oe?L(H,[S]):L(v,[S]),N.delayedLeave&&N.delayedLeave(),S[Qt]=void 0)};F?R(F,[S,G]):G()},leave(S,F){const v=String(e.key);if(S[Qt]&&S[Qt](!0),n.isUnmounting)return F();L(h,[S]);let H=!1;const T=S[We]=G=>{H||(H=!0,F(),G?L(M,[S]):L(C,[S]),S[We]=void 0,y[v]===e&&delete y[v])};y[v]=e,m?R(m,[S,T]):T()},clone(S){return us(S,t,n,s)}};return N}function Kn(e){if(Pn(e))return e=Qe(e),e.children=null,e}function rr(e){if(!Pn(e))return e;const{shapeFlag:t,children:n}=e;if(n){if(t&16)return n[0];if(t&32&&K(n.default))return n.default()}}function ds(e,t){e.shapeFlag&6&&e.component?ds(e.component.subTree,t):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function Ao(e,t=!1,n){let s=[],r=0;for(let o=0;o1)for(let o=0;o!!e.type.__asyncLoader,Pn=e=>e.type.__isKeepAlive;function Ll(e,t){Oo(e,"a",t)}function Il(e,t){Oo(e,"da",t)}function Oo(e,t,n=ae){const s=e.__wdc||(e.__wdc=()=>{let r=n;for(;r;){if(r.isDeactivated)return;r=r.parent}return e()});if(Nn(t,s,n),n){let r=n.parent;for(;r&&r.parent;)Pn(r.parent.vnode)&&Ml(s,t,n,r),r=r.parent}}function Ml(e,t,n,s){const r=Nn(t,e,s,!0);Fn(()=>{Es(s[t],r)},n)}function Nn(e,t,n=ae,s=!1){if(n){const r=n[e]||(n[e]=[]),o=t.__weh||(t.__weh=(...i)=>{if(n.isUnmounted)return;Ze();const l=kt(n),c=Se(t,n,e,i);return l(),et(),c});return s?r.unshift(o):r.push(o),o}}const Ve=e=>(t,n=ae)=>(!Hn||e==="sp")&&Nn(e,(...s)=>t(...s),n),Pl=Ve("bm"),xt=Ve("m"),Nl=Ve("bu"),Fl=Ve("u"),Lo=Ve("bum"),Fn=Ve("um"),$l=Ve("sp"),Hl=Ve("rtg"),jl=Ve("rtc");function Vl(e,t=ae){Nn("ec",e,t)}function sf(e,t,n,s){let r;const o=n;if(U(e)||ne(e)){r=new Array(e.length);for(let i=0,l=e.length;it(i,l,void 0,o));else{const i=Object.keys(e);r=new Array(i.length);for(let l=0,c=i.length;lbn(t)?!(t.type===_e||t.type===ye&&!Io(t.children)):!0)?e:null}function of(e,t){const n={};for(const s in e)n[/[A-Z]/.test(s)?`on:${s}`:ln(s)]=e[s];return n}const hs=e=>e?Jo(e)?jn(e)||e.proxy:hs(e.parent):null,It=re(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>hs(e.parent),$root:e=>hs(e.root),$emit:e=>e.emit,$options:e=>$s(e),$forceUpdate:e=>e.f||(e.f=()=>{e.effect.dirty=!0,Fs(e.update)}),$nextTick:e=>e.n||(e.n=On.bind(e.proxy)),$watch:e=>Tl.bind(e)}),Wn=(e,t)=>e!==ee&&!e.__isScriptSetup&&Y(e,t),Dl={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:s,data:r,props:o,accessCache:i,type:l,appContext:c}=e;let f;if(t[0]!=="$"){const C=i[t];if(C!==void 0)switch(C){case 1:return s[t];case 2:return r[t];case 4:return n[t];case 3:return o[t]}else{if(Wn(s,t))return i[t]=1,s[t];if(r!==ee&&Y(r,t))return i[t]=2,r[t];if((f=e.propsOptions[0])&&Y(f,t))return i[t]=3,o[t];if(n!==ee&&Y(n,t))return i[t]=4,n[t];ps&&(i[t]=0)}}const u=It[t];let h,m;if(u)return t==="$attrs"&&be(e.attrs,"get",""),u(e);if((h=l.__cssModules)&&(h=h[t]))return h;if(n!==ee&&Y(n,t))return i[t]=4,n[t];if(m=c.config.globalProperties,Y(m,t))return m[t]},set({_:e},t,n){const{data:s,setupState:r,ctx:o}=e;return Wn(r,t)?(r[t]=n,!0):s!==ee&&Y(s,t)?(s[t]=n,!0):Y(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(o[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:s,appContext:r,propsOptions:o}},i){let l;return!!n[i]||e!==ee&&Y(e,i)||Wn(t,i)||(l=o[0])&&Y(l,i)||Y(s,i)||Y(It,i)||Y(r.config.globalProperties,i)},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:Y(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function lf(){return Ul().slots}function Ul(){const e=$n();return e.setupContext||(e.setupContext=Zo(e))}function or(e){return U(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let ps=!0;function Bl(e){const t=$s(e),n=e.proxy,s=e.ctx;ps=!1,t.beforeCreate&&ir(t.beforeCreate,e,"bc");const{data:r,computed:o,methods:i,watch:l,provide:c,inject:f,created:u,beforeMount:h,mounted:m,beforeUpdate:C,updated:M,activated:P,deactivated:B,beforeDestroy:W,beforeUnmount:q,destroyed:p,unmounted:y,render:L,renderTracked:R,renderTriggered:N,errorCaptured:S,serverPrefetch:F,expose:v,inheritAttrs:H,components:T,directives:G,filters:oe}=t;if(f&&kl(f,s,null),i)for(const X in i){const j=i[X];K(j)&&(s[X]=j.bind(n))}if(r){const X=r.call(n,n);Z(X)&&(e.data=Tn(X))}if(ps=!0,o)for(const X in o){const j=o[X],Fe=K(j)?j.bind(n,n):K(j.get)?j.get.bind(n,n):xe,Kt=!K(j)&&K(j.set)?j.set.bind(n):xe,tt=se({get:Fe,set:Kt});Object.defineProperty(s,X,{enumerable:!0,configurable:!0,get:()=>tt.value,set:Oe=>tt.value=Oe})}if(l)for(const X in l)Mo(l[X],s,n,X);if(c){const X=K(c)?c.call(n):c;Reflect.ownKeys(X).forEach(j=>{Xl(j,X[j])})}u&&ir(u,e,"c");function V(X,j){U(j)?j.forEach(Fe=>X(Fe.bind(n))):j&&X(j.bind(n))}if(V(Pl,h),V(xt,m),V(Nl,C),V(Fl,M),V(Ll,P),V(Il,B),V(Vl,S),V(jl,R),V(Hl,N),V(Lo,q),V(Fn,y),V($l,F),U(v))if(v.length){const X=e.exposed||(e.exposed={});v.forEach(j=>{Object.defineProperty(X,j,{get:()=>n[j],set:Fe=>n[j]=Fe})})}else e.exposed||(e.exposed={});L&&e.render===xe&&(e.render=L),H!=null&&(e.inheritAttrs=H),T&&(e.components=T),G&&(e.directives=G)}function kl(e,t,n=xe){U(e)&&(e=gs(e));for(const s in e){const r=e[s];let o;Z(r)?"default"in r?o=wt(r.from||s,r.default,!0):o=wt(r.from||s):o=wt(r),pe(o)?Object.defineProperty(t,s,{enumerable:!0,configurable:!0,get:()=>o.value,set:i=>o.value=i}):t[s]=o}}function ir(e,t,n){Se(U(e)?e.map(s=>s.bind(t.proxy)):e.bind(t.proxy),t,n)}function Mo(e,t,n,s){const r=s.includes(".")?xo(n,s):()=>n[s];if(ne(e)){const o=t[e];K(o)&&Pe(r,o)}else if(K(e))Pe(r,e.bind(n));else if(Z(e))if(U(e))e.forEach(o=>Mo(o,t,n,s));else{const o=K(e.handler)?e.handler.bind(n):t[e.handler];K(o)&&Pe(r,o,e)}}function $s(e){const t=e.type,{mixins:n,extends:s}=t,{mixins:r,optionsCache:o,config:{optionMergeStrategies:i}}=e.appContext,l=o.get(t);let c;return l?c=l:!r.length&&!n&&!s?c=t:(c={},r.length&&r.forEach(f=>yn(c,f,i,!0)),yn(c,t,i)),Z(t)&&o.set(t,c),c}function yn(e,t,n,s=!1){const{mixins:r,extends:o}=t;o&&yn(e,o,n,!0),r&&r.forEach(i=>yn(e,i,n,!0));for(const i in t)if(!(s&&i==="expose")){const l=Kl[i]||n&&n[i];e[i]=l?l(e[i],t[i]):t[i]}return e}const Kl={data:lr,props:cr,emits:cr,methods:Rt,computed:Rt,beforeCreate:ge,created:ge,beforeMount:ge,mounted:ge,beforeUpdate:ge,updated:ge,beforeDestroy:ge,beforeUnmount:ge,destroyed:ge,unmounted:ge,activated:ge,deactivated:ge,errorCaptured:ge,serverPrefetch:ge,components:Rt,directives:Rt,watch:ql,provide:lr,inject:Wl};function lr(e,t){return t?e?function(){return re(K(e)?e.call(this,this):e,K(t)?t.call(this,this):t)}:t:e}function Wl(e,t){return Rt(gs(e),gs(t))}function gs(e){if(U(e)){const t={};for(let n=0;n1)return n&&K(t)?t.call(s&&s.proxy):t}}const No={},Fo=()=>Object.create(No),$o=e=>Object.getPrototypeOf(e)===No;function Yl(e,t,n,s=!1){const r={},o=Fo();e.propsDefaults=Object.create(null),Ho(e,t,r,o);for(const i in e.propsOptions[0])i in r||(r[i]=void 0);n?e.props=s?r:nl(r):e.type.props?e.props=r:e.props=o,e.attrs=o}function Jl(e,t,n,s){const{props:r,attrs:o,vnode:{patchFlag:i}}=e,l=J(r),[c]=e.propsOptions;let f=!1;if((s||i>0)&&!(i&16)){if(i&8){const u=e.vnode.dynamicProps;for(let h=0;h{c=!0;const[m,C]=jo(h,t,!0);re(i,m),C&&l.push(...C)};!n&&t.mixins.length&&t.mixins.forEach(u),e.extends&&u(e.extends),e.mixins&&e.mixins.forEach(u)}if(!o&&!c)return Z(e)&&s.set(e,mt),mt;if(U(o))for(let u=0;u-1,C[1]=P<0||M-1||Y(C,"default"))&&l.push(h)}}}const f=[i,l];return Z(e)&&s.set(e,f),f}function ar(e){return e[0]!=="$"&&!_t(e)}function fr(e){return e===null?"null":typeof e=="function"?e.name||"":typeof e=="object"&&e.constructor&&e.constructor.name||""}function ur(e,t){return fr(e)===fr(t)}function dr(e,t){return U(t)?t.findIndex(n=>ur(n,e)):K(t)&&ur(t,e)?0:-1}const Vo=e=>e[0]==="_"||e==="$stable",Hs=e=>U(e)?e.map(Ae):[Ae(e)],Ql=(e,t,n)=>{if(t._n)return t;const s=_l((...r)=>Hs(t(...r)),n);return s._c=!1,s},Do=(e,t,n)=>{const s=e._ctx;for(const r in e){if(Vo(r))continue;const o=e[r];if(K(o))t[r]=Ql(r,o,s);else if(o!=null){const i=Hs(o);t[r]=()=>i}}},Uo=(e,t)=>{const n=Hs(t);e.slots.default=()=>n},Zl=(e,t)=>{const n=e.slots=Fo();if(e.vnode.shapeFlag&32){const s=t._;s?(re(n,t),qr(n,"_",s,!0)):Do(t,n)}else t&&Uo(e,t)},ec=(e,t,n)=>{const{vnode:s,slots:r}=e;let o=!0,i=ee;if(s.shapeFlag&32){const l=t._;l?n&&l===1?o=!1:(re(r,t),!n&&l===1&&delete r._):(o=!t.$stable,Do(t,r)),i=t}else t&&(Uo(e,t),i={default:1});if(o)for(const l in r)!Vo(l)&&i[l]==null&&delete r[l]};function _n(e,t,n,s,r=!1){if(U(e)){e.forEach((m,C)=>_n(m,t&&(U(t)?t[C]:t),n,s,r));return}if(vt(s)&&!r)return;const o=s.shapeFlag&4?jn(s.component)||s.component.proxy:s.el,i=r?null:o,{i:l,r:c}=e,f=t&&t.r,u=l.refs===ee?l.refs={}:l.refs,h=l.setupState;if(f!=null&&f!==c&&(ne(f)?(u[f]=null,Y(h,f)&&(h[f]=null)):pe(f)&&(f.value=null)),K(c))Xe(c,l,12,[i,u]);else{const m=ne(c),C=pe(c);if(m||C){const M=()=>{if(e.f){const P=m?Y(h,c)?h[c]:u[c]:c.value;r?U(P)&&Es(P,o):U(P)?P.includes(o)||P.push(o):m?(u[c]=[o],Y(h,c)&&(h[c]=u[c])):(c.value=[o],e.k&&(u[e.k]=c.value))}else m?(u[c]=i,Y(h,c)&&(h[c]=i)):C&&(c.value=i,e.k&&(u[e.k]=i))};i?(M.id=-1,me(M,n)):M()}}}let Ue=!1;const tc=e=>e.namespaceURI.includes("svg")&&e.tagName!=="foreignObject",nc=e=>e.namespaceURI.includes("MathML"),Zt=e=>{if(tc(e))return"svg";if(nc(e))return"mathml"},en=e=>e.nodeType===8;function sc(e){const{mt:t,p:n,o:{patchProp:s,createText:r,nextSibling:o,parentNode:i,remove:l,insert:c,createComment:f}}=e,u=(p,y)=>{if(!y.hasChildNodes()){n(null,p,y),gn(),y._vnode=p;return}Ue=!1,h(y.firstChild,p,null,null,null),gn(),y._vnode=p,Ue&&console.error("Hydration completed but contains mismatches.")},h=(p,y,L,R,N,S=!1)=>{S=S||!!y.dynamicChildren;const F=en(p)&&p.data==="[",v=()=>P(p,y,L,R,N,F),{type:H,ref:T,shapeFlag:G,patchFlag:oe}=y;let ce=p.nodeType;y.el=p,oe===-2&&(S=!1,y.dynamicChildren=null);let V=null;switch(H){case Et:ce!==3?y.children===""?(c(y.el=r(""),i(p),p),V=p):V=v():(p.data!==y.children&&(Ue=!0,p.data=y.children),V=o(p));break;case _e:q(p)?(V=o(p),W(y.el=p.content.firstChild,p,L)):ce!==8||F?V=v():V=o(p);break;case Nt:if(F&&(p=o(p),ce=p.nodeType),ce===1||ce===3){V=p;const X=!y.children.length;for(let j=0;j{S=S||!!y.dynamicChildren;const{type:F,props:v,patchFlag:H,shapeFlag:T,dirs:G,transition:oe}=y,ce=F==="input"||F==="option";if(ce||H!==-1){G&&Ie(y,null,L,"created");let V=!1;if(q(p)){V=Bo(R,oe)&&L&&L.vnode.props&&L.vnode.props.appear;const j=p.content.firstChild;V&&oe.beforeEnter(j),W(j,p,L),y.el=p=j}if(T&16&&!(v&&(v.innerHTML||v.textContent))){let j=C(p.firstChild,y,p,L,R,N,S);for(;j;){Ue=!0;const Fe=j;j=j.nextSibling,l(Fe)}}else T&8&&p.textContent!==y.children&&(Ue=!0,p.textContent=y.children);if(v)if(ce||!S||H&48)for(const j in v)(ce&&(j.endsWith("value")||j==="indeterminate")||Bt(j)&&!_t(j)||j[0]===".")&&s(p,j,null,v[j],void 0,void 0,L);else v.onClick&&s(p,"onClick",null,v.onClick,void 0,void 0,L);let X;(X=v&&v.onVnodeBeforeMount)&&Ce(X,L,y),G&&Ie(y,null,L,"beforeMount"),((X=v&&v.onVnodeMounted)||G||V)&&Eo(()=>{X&&Ce(X,L,y),V&&oe.enter(p),G&&Ie(y,null,L,"mounted")},R)}return p.nextSibling},C=(p,y,L,R,N,S,F)=>{F=F||!!y.dynamicChildren;const v=y.children,H=v.length;for(let T=0;T{const{slotScopeIds:F}=y;F&&(N=N?N.concat(F):F);const v=i(p),H=C(o(p),y,v,L,R,N,S);return H&&en(H)&&H.data==="]"?o(y.anchor=H):(Ue=!0,c(y.anchor=f("]"),v,H),H)},P=(p,y,L,R,N,S)=>{if(Ue=!0,y.el=null,S){const H=B(p);for(;;){const T=o(p);if(T&&T!==H)l(T);else break}}const F=o(p),v=i(p);return l(p),n(null,y,v,F,L,R,Zt(v),N),F},B=(p,y="[",L="]")=>{let R=0;for(;p;)if(p=o(p),p&&en(p)&&(p.data===y&&R++,p.data===L)){if(R===0)return o(p);R--}return p},W=(p,y,L)=>{const R=y.parentNode;R&&R.replaceChild(p,y);let N=L;for(;N;)N.vnode.el===y&&(N.vnode.el=N.subTree.el=p),N=N.parent},q=p=>p.nodeType===1&&p.tagName.toLowerCase()==="template";return[u,h]}const me=Eo;function rc(e){return oc(e,sc)}function oc(e,t){const n=Gr();n.__VUE__=!0;const{insert:s,remove:r,patchProp:o,createElement:i,createText:l,createComment:c,setText:f,setElementText:u,parentNode:h,nextSibling:m,setScopeId:C=xe,insertStaticContent:M}=e,P=(a,d,g,_=null,b=null,x=null,O=void 0,E=null,A=!!d.dynamicChildren)=>{if(a===d)return;a&&!it(a,d)&&(_=Wt(a),Oe(a,b,x,!0),a=null),d.patchFlag===-2&&(A=!1,d.dynamicChildren=null);const{type:w,ref:I,shapeFlag:D}=d;switch(w){case Et:B(a,d,g,_);break;case _e:W(a,d,g,_);break;case Nt:a==null&&q(d,g,_,O);break;case ye:T(a,d,g,_,b,x,O,E,A);break;default:D&1?L(a,d,g,_,b,x,O,E,A):D&6?G(a,d,g,_,b,x,O,E,A):(D&64||D&128)&&w.process(a,d,g,_,b,x,O,E,A,ht)}I!=null&&b&&_n(I,a&&a.ref,x,d||a,!d)},B=(a,d,g,_)=>{if(a==null)s(d.el=l(d.children),g,_);else{const b=d.el=a.el;d.children!==a.children&&f(b,d.children)}},W=(a,d,g,_)=>{a==null?s(d.el=c(d.children||""),g,_):d.el=a.el},q=(a,d,g,_)=>{[a.el,a.anchor]=M(a.children,d,g,_,a.el,a.anchor)},p=({el:a,anchor:d},g,_)=>{let b;for(;a&&a!==d;)b=m(a),s(a,g,_),a=b;s(d,g,_)},y=({el:a,anchor:d})=>{let g;for(;a&&a!==d;)g=m(a),r(a),a=g;r(d)},L=(a,d,g,_,b,x,O,E,A)=>{d.type==="svg"?O="svg":d.type==="math"&&(O="mathml"),a==null?R(d,g,_,b,x,O,E,A):F(a,d,b,x,O,E,A)},R=(a,d,g,_,b,x,O,E)=>{let A,w;const{props:I,shapeFlag:D,transition:$,dirs:k}=a;if(A=a.el=i(a.type,x,I&&I.is,I),D&8?u(A,a.children):D&16&&S(a.children,A,null,_,b,qn(a,x),O,E),k&&Ie(a,null,_,"created"),N(A,a,a.scopeId,O,_),I){for(const Q in I)Q!=="value"&&!_t(Q)&&o(A,Q,null,I[Q],x,a.children,_,b,$e);"value"in I&&o(A,"value",null,I.value,x),(w=I.onVnodeBeforeMount)&&Ce(w,_,a)}k&&Ie(a,null,_,"beforeMount");const z=Bo(b,$);z&&$.beforeEnter(A),s(A,d,g),((w=I&&I.onVnodeMounted)||z||k)&&me(()=>{w&&Ce(w,_,a),z&&$.enter(A),k&&Ie(a,null,_,"mounted")},b)},N=(a,d,g,_,b)=>{if(g&&C(a,g),_)for(let x=0;x<_.length;x++)C(a,_[x]);if(b){let x=b.subTree;if(d===x){const O=b.vnode;N(a,O,O.scopeId,O.slotScopeIds,b.parent)}}},S=(a,d,g,_,b,x,O,E,A=0)=>{for(let w=A;w{const E=d.el=a.el;let{patchFlag:A,dynamicChildren:w,dirs:I}=d;A|=a.patchFlag&16;const D=a.props||ee,$=d.props||ee;let k;if(g&&nt(g,!1),(k=$.onVnodeBeforeUpdate)&&Ce(k,g,d,a),I&&Ie(d,a,g,"beforeUpdate"),g&&nt(g,!0),w?v(a.dynamicChildren,w,E,g,_,qn(d,b),x):O||j(a,d,E,null,g,_,qn(d,b),x,!1),A>0){if(A&16)H(E,d,D,$,g,_,b);else if(A&2&&D.class!==$.class&&o(E,"class",null,$.class,b),A&4&&o(E,"style",D.style,$.style,b),A&8){const z=d.dynamicProps;for(let Q=0;Q{k&&Ce(k,g,d,a),I&&Ie(d,a,g,"updated")},_)},v=(a,d,g,_,b,x,O)=>{for(let E=0;E{if(g!==_){if(g!==ee)for(const E in g)!_t(E)&&!(E in _)&&o(a,E,g[E],null,O,d.children,b,x,$e);for(const E in _){if(_t(E))continue;const A=_[E],w=g[E];A!==w&&E!=="value"&&o(a,E,w,A,O,d.children,b,x,$e)}"value"in _&&o(a,"value",g.value,_.value,O)}},T=(a,d,g,_,b,x,O,E,A)=>{const w=d.el=a?a.el:l(""),I=d.anchor=a?a.anchor:l("");let{patchFlag:D,dynamicChildren:$,slotScopeIds:k}=d;k&&(E=E?E.concat(k):k),a==null?(s(w,g,_),s(I,g,_),S(d.children||[],g,I,b,x,O,E,A)):D>0&&D&64&&$&&a.dynamicChildren?(v(a.dynamicChildren,$,g,b,x,O,E),(d.key!=null||b&&d===b.subTree)&&js(a,d,!0)):j(a,d,g,I,b,x,O,E,A)},G=(a,d,g,_,b,x,O,E,A)=>{d.slotScopeIds=E,a==null?d.shapeFlag&512?b.ctx.activate(d,g,_,O,A):oe(d,g,_,b,x,O,A):ce(a,d,A)},oe=(a,d,g,_,b,x,O)=>{const E=a.component=mc(a,_,b);if(Pn(a)&&(E.ctx.renderer=ht),yc(E),E.asyncDep){if(b&&b.registerDep(E,V),!a.el){const A=E.subTree=ue(_e);W(null,A,d,g)}}else V(E,a,d,g,b,x,O)},ce=(a,d,g)=>{const _=d.component=a.component;if(wl(a,d,g))if(_.asyncDep&&!_.asyncResolved){X(_,d,g);return}else _.next=d,pl(_.update),_.effect.dirty=!0,_.update();else d.el=a.el,_.vnode=d},V=(a,d,g,_,b,x,O)=>{const E=()=>{if(a.isMounted){let{next:I,bu:D,u:$,parent:k,vnode:z}=a;{const pt=ko(a);if(pt){I&&(I.el=z.el,X(a,I,O)),pt.asyncDep.then(()=>{a.isUnmounted||E()});return}}let Q=I,te;nt(a,!1),I?(I.el=z.el,X(a,I,O)):I=z,D&&cn(D),(te=I.props&&I.props.onVnodeBeforeUpdate)&&Ce(te,k,I,z),nt(a,!0);const le=kn(a),Te=a.subTree;a.subTree=le,P(Te,le,h(Te.el),Wt(Te),a,b,x),I.el=le.el,Q===null&&El(a,le.el),$&&me($,b),(te=I.props&&I.props.onVnodeUpdated)&&me(()=>Ce(te,k,I,z),b)}else{let I;const{el:D,props:$}=d,{bm:k,m:z,parent:Q}=a,te=vt(d);if(nt(a,!1),k&&cn(k),!te&&(I=$&&$.onVnodeBeforeMount)&&Ce(I,Q,d),nt(a,!0),D&&Un){const le=()=>{a.subTree=kn(a),Un(D,a.subTree,a,b,null)};te?d.type.__asyncLoader().then(()=>!a.isUnmounted&&le()):le()}else{const le=a.subTree=kn(a);P(null,le,g,_,a,b,x),d.el=le.el}if(z&&me(z,b),!te&&(I=$&&$.onVnodeMounted)){const le=d;me(()=>Ce(I,Q,le),b)}(d.shapeFlag&256||Q&&vt(Q.vnode)&&Q.vnode.shapeFlag&256)&&a.a&&me(a.a,b),a.isMounted=!0,d=g=_=null}},A=a.effect=new Ts(E,xe,()=>Fs(w),a.scope),w=a.update=()=>{A.dirty&&A.run()};w.id=a.uid,nt(a,!0),w()},X=(a,d,g)=>{d.component=a;const _=a.vnode.props;a.vnode=d,a.next=null,Jl(a,d.props,_,g),ec(a,d.children,g),Ze(),tr(a),et()},j=(a,d,g,_,b,x,O,E,A=!1)=>{const w=a&&a.children,I=a?a.shapeFlag:0,D=d.children,{patchFlag:$,shapeFlag:k}=d;if($>0){if($&128){Kt(w,D,g,_,b,x,O,E,A);return}else if($&256){Fe(w,D,g,_,b,x,O,E,A);return}}k&8?(I&16&&$e(w,b,x),D!==w&&u(g,D)):I&16?k&16?Kt(w,D,g,_,b,x,O,E,A):$e(w,b,x,!0):(I&8&&u(g,""),k&16&&S(D,g,_,b,x,O,E,A))},Fe=(a,d,g,_,b,x,O,E,A)=>{a=a||mt,d=d||mt;const w=a.length,I=d.length,D=Math.min(w,I);let $;for($=0;$I?$e(a,b,x,!0,!1,D):S(d,g,_,b,x,O,E,A,D)},Kt=(a,d,g,_,b,x,O,E,A)=>{let w=0;const I=d.length;let D=a.length-1,$=I-1;for(;w<=D&&w<=$;){const k=a[w],z=d[w]=A?qe(d[w]):Ae(d[w]);if(it(k,z))P(k,z,g,null,b,x,O,E,A);else break;w++}for(;w<=D&&w<=$;){const k=a[D],z=d[$]=A?qe(d[$]):Ae(d[$]);if(it(k,z))P(k,z,g,null,b,x,O,E,A);else break;D--,$--}if(w>D){if(w<=$){const k=$+1,z=k$)for(;w<=D;)Oe(a[w],b,x,!0),w++;else{const k=w,z=w,Q=new Map;for(w=z;w<=$;w++){const ve=d[w]=A?qe(d[w]):Ae(d[w]);ve.key!=null&&Q.set(ve.key,w)}let te,le=0;const Te=$-z+1;let pt=!1,Ks=0;const St=new Array(Te);for(w=0;w=Te){Oe(ve,b,x,!0);continue}let Le;if(ve.key!=null)Le=Q.get(ve.key);else for(te=z;te<=$;te++)if(St[te-z]===0&&it(ve,d[te])){Le=te;break}Le===void 0?Oe(ve,b,x,!0):(St[Le-z]=w+1,Le>=Ks?Ks=Le:pt=!0,P(ve,d[Le],g,null,b,x,O,E,A),le++)}const Ws=pt?ic(St):mt;for(te=Ws.length-1,w=Te-1;w>=0;w--){const ve=z+w,Le=d[ve],qs=ve+1{const{el:x,type:O,transition:E,children:A,shapeFlag:w}=a;if(w&6){tt(a.component.subTree,d,g,_);return}if(w&128){a.suspense.move(d,g,_);return}if(w&64){O.move(a,d,g,ht);return}if(O===ye){s(x,d,g);for(let D=0;DE.enter(x),b);else{const{leave:D,delayLeave:$,afterLeave:k}=E,z=()=>s(x,d,g),Q=()=>{D(x,()=>{z(),k&&k()})};$?$(x,z,Q):Q()}else s(x,d,g)},Oe=(a,d,g,_=!1,b=!1)=>{const{type:x,props:O,ref:E,children:A,dynamicChildren:w,shapeFlag:I,patchFlag:D,dirs:$}=a;if(E!=null&&_n(E,null,g,a,!0),I&256){d.ctx.deactivate(a);return}const k=I&1&&$,z=!vt(a);let Q;if(z&&(Q=O&&O.onVnodeBeforeUnmount)&&Ce(Q,d,a),I&6)vi(a.component,g,_);else{if(I&128){a.suspense.unmount(g,_);return}k&&Ie(a,null,d,"beforeUnmount"),I&64?a.type.remove(a,d,g,b,ht,_):w&&(x!==ye||D>0&&D&64)?$e(w,d,g,!1,!0):(x===ye&&D&384||!b&&I&16)&&$e(A,d,g),_&&Bs(a)}(z&&(Q=O&&O.onVnodeUnmounted)||k)&&me(()=>{Q&&Ce(Q,d,a),k&&Ie(a,null,d,"unmounted")},g)},Bs=a=>{const{type:d,el:g,anchor:_,transition:b}=a;if(d===ye){bi(g,_);return}if(d===Nt){y(a);return}const x=()=>{r(g),b&&!b.persisted&&b.afterLeave&&b.afterLeave()};if(a.shapeFlag&1&&b&&!b.persisted){const{leave:O,delayLeave:E}=b,A=()=>O(g,x);E?E(a.el,x,A):A()}else x()},bi=(a,d)=>{let g;for(;a!==d;)g=m(a),r(a),a=g;r(d)},vi=(a,d,g)=>{const{bum:_,scope:b,update:x,subTree:O,um:E}=a;_&&cn(_),b.stop(),x&&(x.active=!1,Oe(O,a,d,g)),E&&me(E,d),me(()=>{a.isUnmounted=!0},d),d&&d.pendingBranch&&!d.isUnmounted&&a.asyncDep&&!a.asyncResolved&&a.suspenseId===d.pendingId&&(d.deps--,d.deps===0&&d.resolve())},$e=(a,d,g,_=!1,b=!1,x=0)=>{for(let O=x;Oa.shapeFlag&6?Wt(a.component.subTree):a.shapeFlag&128?a.suspense.next():m(a.anchor||a.el);let Vn=!1;const ks=(a,d,g)=>{a==null?d._vnode&&Oe(d._vnode,null,null,!0):P(d._vnode||null,a,d,null,null,null,g),Vn||(Vn=!0,tr(),gn(),Vn=!1),d._vnode=a},ht={p:P,um:Oe,m:tt,r:Bs,mt:oe,mc:S,pc:j,pbc:v,n:Wt,o:e};let Dn,Un;return t&&([Dn,Un]=t(ht)),{render:ks,hydrate:Dn,createApp:zl(ks,Dn)}}function qn({type:e,props:t},n){return n==="svg"&&e==="foreignObject"||n==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function nt({effect:e,update:t},n){e.allowRecurse=t.allowRecurse=n}function Bo(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function js(e,t,n=!1){const s=e.children,r=t.children;if(U(s)&&U(r))for(let o=0;o>1,e[n[l]]0&&(t[s]=n[o-1]),n[o]=s)}}for(o=n.length,i=n[o-1];o-- >0;)n[o]=i,i=t[i];return n}function ko(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:ko(t)}const lc=e=>e.__isTeleport,Pt=e=>e&&(e.disabled||e.disabled===""),hr=e=>typeof SVGElement<"u"&&e instanceof SVGElement,pr=e=>typeof MathMLElement=="function"&&e instanceof MathMLElement,ys=(e,t)=>{const n=e&&e.to;return ne(n)?t?t(n):null:n},cc={name:"Teleport",__isTeleport:!0,process(e,t,n,s,r,o,i,l,c,f){const{mc:u,pc:h,pbc:m,o:{insert:C,querySelector:M,createText:P,createComment:B}}=f,W=Pt(t.props);let{shapeFlag:q,children:p,dynamicChildren:y}=t;if(e==null){const L=t.el=P(""),R=t.anchor=P("");C(L,n,s),C(R,n,s);const N=t.target=ys(t.props,M),S=t.targetAnchor=P("");N&&(C(S,N),i==="svg"||hr(N)?i="svg":(i==="mathml"||pr(N))&&(i="mathml"));const F=(v,H)=>{q&16&&u(p,v,H,r,o,i,l,c)};W?F(n,R):N&&F(N,S)}else{t.el=e.el;const L=t.anchor=e.anchor,R=t.target=e.target,N=t.targetAnchor=e.targetAnchor,S=Pt(e.props),F=S?n:R,v=S?L:N;if(i==="svg"||hr(R)?i="svg":(i==="mathml"||pr(R))&&(i="mathml"),y?(m(e.dynamicChildren,y,F,r,o,i,l),js(e,t,!0)):c||h(e,t,F,v,r,o,i,l,!1),W)S?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):tn(t,n,L,f,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const H=t.target=ys(t.props,M);H&&tn(t,H,null,f,0)}else S&&tn(t,R,N,f,1)}Ko(t)},remove(e,t,n,s,{um:r,o:{remove:o}},i){const{shapeFlag:l,children:c,anchor:f,targetAnchor:u,target:h,props:m}=e;if(h&&o(u),i&&o(f),l&16){const C=i||!Pt(m);for(let M=0;M0?Re||mt:null,fc(),Dt>0&&Re&&Re.push(e),e}function af(e,t,n,s,r,o){return qo(Xo(e,t,n,s,r,o,!0))}function Go(e,t,n,s,r){return qo(ue(e,t,n,s,r,!0))}function bn(e){return e?e.__v_isVNode===!0:!1}function it(e,t){return e.type===t.type&&e.key===t.key}const zo=({key:e})=>e??null,fn=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?ne(e)||pe(e)||K(e)?{i:ie,r:e,k:t,f:!!n}:e:null);function Xo(e,t=null,n=null,s=0,r=null,o=e===ye?0:1,i=!1,l=!1){const c={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&zo(t),ref:t&&fn(t),scopeId:In,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:o,patchFlag:s,dynamicProps:r,dynamicChildren:null,appContext:null,ctx:ie};return l?(Vs(c,n),o&128&&e.normalize(c)):n&&(c.shapeFlag|=ne(n)?8:16),Dt>0&&!i&&Re&&(c.patchFlag>0||o&6)&&c.patchFlag!==32&&Re.push(c),c}const ue=uc;function uc(e,t=null,n=null,s=0,r=null,o=!1){if((!e||e===vo)&&(e=_e),bn(e)){const l=Qe(e,t,!0);return n&&Vs(l,n),Dt>0&&!o&&Re&&(l.shapeFlag&6?Re[Re.indexOf(e)]=l:Re.push(l)),l.patchFlag|=-2,l}if(wc(e)&&(e=e.__vccOpts),t){t=dc(t);let{class:l,style:c}=t;l&&!ne(l)&&(t.class=Ss(l)),Z(c)&&(co(c)&&!U(c)&&(c=re({},c)),t.style=xs(c))}const i=ne(e)?1:Cl(e)?128:lc(e)?64:Z(e)?4:K(e)?2:0;return Xo(e,t,n,s,r,i,o,!0)}function dc(e){return e?co(e)||$o(e)?re({},e):e:null}function Qe(e,t,n=!1,s=!1){const{props:r,ref:o,patchFlag:i,children:l,transition:c}=e,f=t?hc(r||{},t):r,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:f,key:f&&zo(f),ref:t&&t.ref?n&&o?U(o)?o.concat(fn(t)):[o,fn(t)]:fn(t):o,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:l,target:e.target,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==ye?i===-1?16:i|16:i,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:c,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Qe(e.ssContent),ssFallback:e.ssFallback&&Qe(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return c&&s&&(u.transition=c.clone(u)),u}function Yo(e=" ",t=0){return ue(Et,null,e,t)}function ff(e,t){const n=ue(Nt,null,e);return n.staticCount=t,n}function uf(e="",t=!1){return t?(Wo(),Go(_e,null,e)):ue(_e,null,e)}function Ae(e){return e==null||typeof e=="boolean"?ue(_e):U(e)?ue(ye,null,e.slice()):typeof e=="object"?qe(e):ue(Et,null,String(e))}function qe(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Qe(e)}function Vs(e,t){let n=0;const{shapeFlag:s}=e;if(t==null)t=null;else if(U(t))n=16;else if(typeof t=="object")if(s&65){const r=t.default;r&&(r._c&&(r._d=!1),Vs(e,r()),r._c&&(r._d=!0));return}else{n=32;const r=t._;!r&&!$o(t)?t._ctx=ie:r===3&&ie&&(ie.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else K(t)?(t={default:t,_ctx:ie},n=32):(t=String(t),s&64?(n=16,t=[Yo(t)]):n=8);e.children=t,e.shapeFlag|=n}function hc(...e){const t={};for(let n=0;nae||ie;let vn,_s;{const e=Gr(),t=(n,s)=>{let r;return(r=e[n])||(r=e[n]=[]),r.push(s),o=>{r.length>1?r.forEach(i=>i(o)):r[0](o)}};vn=t("__VUE_INSTANCE_SETTERS__",n=>ae=n),_s=t("__VUE_SSR_SETTERS__",n=>Hn=n)}const kt=e=>{const t=ae;return vn(e),e.scope.on(),()=>{e.scope.off(),vn(t)}},mr=()=>{ae&&ae.scope.off(),vn(null)};function Jo(e){return e.vnode.shapeFlag&4}let Hn=!1;function yc(e,t=!1){t&&_s(t);const{props:n,children:s}=e.vnode,r=Jo(e);Yl(e,n,r,t),Zl(e,s);const o=r?_c(e,t):void 0;return t&&_s(!1),o}function _c(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,Dl);const{setup:s}=n;if(s){const r=e.setupContext=s.length>1?Zo(e):null,o=kt(e);Ze();const i=Xe(s,e,0,[e.props,r]);if(et(),o(),kr(i)){if(i.then(mr,mr),t)return i.then(l=>{yr(e,l,t)}).catch(l=>{Rn(l,e,0)});e.asyncDep=i}else yr(e,i,t)}else Qo(e,t)}function yr(e,t,n){K(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:Z(t)&&(e.setupState=po(t)),Qo(e,n)}let _r;function Qo(e,t,n){const s=e.type;if(!e.render){if(!t&&_r&&!s.render){const r=s.template||$s(e).template;if(r){const{isCustomElement:o,compilerOptions:i}=e.appContext.config,{delimiters:l,compilerOptions:c}=s,f=re(re({isCustomElement:o,delimiters:l},i),c);s.render=_r(r,f)}}e.render=s.render||xe}{const r=kt(e);Ze();try{Bl(e)}finally{et(),r()}}}const bc={get(e,t){return be(e,"get",""),e[t]}};function Zo(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,bc),slots:e.slots,emit:e.emit,expose:t}}function jn(e){if(e.exposed)return e.exposeProxy||(e.exposeProxy=new Proxy(po(an(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in It)return It[n](e)},has(t,n){return n in t||n in It}}))}function vc(e,t=!0){return K(e)?e.displayName||e.name:e.name||t&&e.__name}function wc(e){return K(e)&&"__vccOpts"in e}const se=(e,t)=>sl(e,t,Hn);function bs(e,t,n){const s=arguments.length;return s===2?Z(t)&&!U(t)?bn(t)?ue(e,null,[t]):ue(e,t):ue(e,null,t):(s>3?n=Array.prototype.slice.call(arguments,2):s===3&&bn(n)&&(n=[n]),ue(e,t,n))}const Ec="3.4.27";/** -* @vue/runtime-dom v3.4.27 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**/const Cc="http://www.w3.org/2000/svg",xc="http://www.w3.org/1998/Math/MathML",Ge=typeof document<"u"?document:null,br=Ge&&Ge.createElement("template"),Sc={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,s)=>{const r=t==="svg"?Ge.createElementNS(Cc,e):t==="mathml"?Ge.createElementNS(xc,e):Ge.createElement(e,n?{is:n}:void 0);return e==="select"&&s&&s.multiple!=null&&r.setAttribute("multiple",s.multiple),r},createText:e=>Ge.createTextNode(e),createComment:e=>Ge.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Ge.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,s,r,o){const i=n?n.previousSibling:t.lastChild;if(r&&(r===o||r.nextSibling))for(;t.insertBefore(r.cloneNode(!0),n),!(r===o||!(r=r.nextSibling)););else{br.innerHTML=s==="svg"?`${e}`:s==="mathml"?`${e}`:e;const l=br.content;if(s==="svg"||s==="mathml"){const c=l.firstChild;for(;c.firstChild;)l.appendChild(c.firstChild);l.removeChild(c)}t.insertBefore(l,n)}return[i?i.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},Be="transition",Tt="animation",Ut=Symbol("_vtc"),ei=(e,{slots:t})=>bs(Ol,Tc(e),t);ei.displayName="Transition";const ti={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String};ei.props=re({},So,ti);const st=(e,t=[])=>{U(e)?e.forEach(n=>n(...t)):e&&e(...t)},vr=e=>e?U(e)?e.some(t=>t.length>1):e.length>1:!1;function Tc(e){const t={};for(const T in e)T in ti||(t[T]=e[T]);if(e.css===!1)return t;const{name:n="v",type:s,duration:r,enterFromClass:o=`${n}-enter-from`,enterActiveClass:i=`${n}-enter-active`,enterToClass:l=`${n}-enter-to`,appearFromClass:c=o,appearActiveClass:f=i,appearToClass:u=l,leaveFromClass:h=`${n}-leave-from`,leaveActiveClass:m=`${n}-leave-active`,leaveToClass:C=`${n}-leave-to`}=e,M=Ac(r),P=M&&M[0],B=M&&M[1],{onBeforeEnter:W,onEnter:q,onEnterCancelled:p,onLeave:y,onLeaveCancelled:L,onBeforeAppear:R=W,onAppear:N=q,onAppearCancelled:S=p}=t,F=(T,G,oe)=>{rt(T,G?u:l),rt(T,G?f:i),oe&&oe()},v=(T,G)=>{T._isLeaving=!1,rt(T,h),rt(T,C),rt(T,m),G&&G()},H=T=>(G,oe)=>{const ce=T?N:q,V=()=>F(G,T,oe);st(ce,[G,V]),wr(()=>{rt(G,T?c:o),ke(G,T?u:l),vr(ce)||Er(G,s,P,V)})};return re(t,{onBeforeEnter(T){st(W,[T]),ke(T,o),ke(T,i)},onBeforeAppear(T){st(R,[T]),ke(T,c),ke(T,f)},onEnter:H(!1),onAppear:H(!0),onLeave(T,G){T._isLeaving=!0;const oe=()=>v(T,G);ke(T,h),ke(T,m),Lc(),wr(()=>{T._isLeaving&&(rt(T,h),ke(T,C),vr(y)||Er(T,s,B,oe))}),st(y,[T,oe])},onEnterCancelled(T){F(T,!1),st(p,[T])},onAppearCancelled(T){F(T,!0),st(S,[T])},onLeaveCancelled(T){v(T),st(L,[T])}})}function Ac(e){if(e==null)return null;if(Z(e))return[Gn(e.enter),Gn(e.leave)];{const t=Gn(e);return[t,t]}}function Gn(e){return Ti(e)}function ke(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e[Ut]||(e[Ut]=new Set)).add(t)}function rt(e,t){t.split(/\s+/).forEach(s=>s&&e.classList.remove(s));const n=e[Ut];n&&(n.delete(t),n.size||(e[Ut]=void 0))}function wr(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let Rc=0;function Er(e,t,n,s){const r=e._endId=++Rc,o=()=>{r===e._endId&&s()};if(n)return setTimeout(o,n);const{type:i,timeout:l,propCount:c}=Oc(e,t);if(!i)return s();const f=i+"end";let u=0;const h=()=>{e.removeEventListener(f,m),o()},m=C=>{C.target===e&&++u>=c&&h()};setTimeout(()=>{u(n[M]||"").split(", "),r=s(`${Be}Delay`),o=s(`${Be}Duration`),i=Cr(r,o),l=s(`${Tt}Delay`),c=s(`${Tt}Duration`),f=Cr(l,c);let u=null,h=0,m=0;t===Be?i>0&&(u=Be,h=i,m=o.length):t===Tt?f>0&&(u=Tt,h=f,m=c.length):(h=Math.max(i,f),u=h>0?i>f?Be:Tt:null,m=u?u===Be?o.length:c.length:0);const C=u===Be&&/\b(transform|all)(,|$)/.test(s(`${Be}Property`).toString());return{type:u,timeout:h,propCount:m,hasTransform:C}}function Cr(e,t){for(;e.lengthxr(n)+xr(e[s])))}function xr(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function Lc(){return document.body.offsetHeight}function Ic(e,t,n){const s=e[Ut];s&&(t=(t?[t,...s]:[...s]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const wn=Symbol("_vod"),ni=Symbol("_vsh"),df={beforeMount(e,{value:t},{transition:n}){e[wn]=e.style.display==="none"?"":e.style.display,n&&t?n.beforeEnter(e):At(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:s}){!t!=!n&&(s?t?(s.beforeEnter(e),At(e,!0),s.enter(e)):s.leave(e,()=>{At(e,!1)}):At(e,t))},beforeUnmount(e,{value:t}){At(e,t)}};function At(e,t){e.style.display=t?e[wn]:"none",e[ni]=!t}const Mc=Symbol(""),Pc=/(^|;)\s*display\s*:/;function Nc(e,t,n){const s=e.style,r=ne(n);let o=!1;if(n&&!r){if(t)if(ne(t))for(const i of t.split(";")){const l=i.slice(0,i.indexOf(":")).trim();n[l]==null&&un(s,l,"")}else for(const i in t)n[i]==null&&un(s,i,"");for(const i in n)i==="display"&&(o=!0),un(s,i,n[i])}else if(r){if(t!==n){const i=s[Mc];i&&(n+=";"+i),s.cssText=n,o=Pc.test(n)}}else t&&e.removeAttribute("style");wn in e&&(e[wn]=o?s.display:"",e[ni]&&(s.display="none"))}const Sr=/\s*!important$/;function un(e,t,n){if(U(n))n.forEach(s=>un(e,t,s));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const s=Fc(e,t);Sr.test(n)?e.setProperty(dt(s),n.replace(Sr,""),"important"):e[s]=n}}const Tr=["Webkit","Moz","ms"],zn={};function Fc(e,t){const n=zn[t];if(n)return n;let s=Ne(t);if(s!=="filter"&&s in e)return zn[t]=s;s=xn(s);for(let r=0;rXn||(Uc.then(()=>Xn=0),Xn=Date.now());function kc(e,t){const n=s=>{if(!s._vts)s._vts=Date.now();else if(s._vts<=n.attached)return;Se(Kc(s,n.value),t,5,[s])};return n.value=e,n.attached=Bc(),n}function Kc(e,t){if(U(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(s=>r=>!r._stopped&&s&&s(r))}else return t}const Lr=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Wc=(e,t,n,s,r,o,i,l,c)=>{const f=r==="svg";t==="class"?Ic(e,s,f):t==="style"?Nc(e,n,s):Bt(t)?ws(t)||Vc(e,t,n,s,i):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):qc(e,t,s,f))?Hc(e,t,s,o,i,l,c):(t==="true-value"?e._trueValue=s:t==="false-value"&&(e._falseValue=s),$c(e,t,s,f))};function qc(e,t,n,s){if(s)return!!(t==="innerHTML"||t==="textContent"||t in e&&Lr(t)&&K(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const r=e.tagName;if(r==="IMG"||r==="VIDEO"||r==="CANVAS"||r==="SOURCE")return!1}return Lr(t)&&ne(n)?!1:t in e}const Ir=e=>{const t=e.props["onUpdate:modelValue"]||!1;return U(t)?n=>cn(t,n):t};function Gc(e){e.target.composing=!0}function Mr(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const Yn=Symbol("_assign"),hf={created(e,{modifiers:{lazy:t,trim:n,number:s}},r){e[Yn]=Ir(r);const o=s||r.props&&r.props.type==="number";gt(e,t?"change":"input",i=>{if(i.target.composing)return;let l=e.value;n&&(l=l.trim()),o&&(l=is(l)),e[Yn](l)}),n&>(e,"change",()=>{e.value=e.value.trim()}),t||(gt(e,"compositionstart",Gc),gt(e,"compositionend",Mr),gt(e,"change",Mr))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,modifiers:{lazy:n,trim:s,number:r}},o){if(e[Yn]=Ir(o),e.composing)return;const i=(r||e.type==="number")&&!/^0\d/.test(e.value)?is(e.value):e.value,l=t??"";i!==l&&(document.activeElement===e&&e.type!=="range"&&(n||s&&e.value.trim()===l)||(e.value=l))}},zc=["ctrl","shift","alt","meta"],Xc={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>zc.some(n=>e[`${n}Key`]&&!t.includes(n))},pf=(e,t)=>{const n=e._withMods||(e._withMods={}),s=t.join(".");return n[s]||(n[s]=(r,...o)=>{for(let i=0;i{const n=e._withKeys||(e._withKeys={}),s=t.join(".");return n[s]||(n[s]=r=>{if(!("key"in r))return;const o=dt(r.key);if(t.some(i=>i===o||Yc[i]===o))return e(r)})},Jc=re({patchProp:Wc},Sc);let Jn,Pr=!1;function Qc(){return Jn=Pr?Jn:rc(Jc),Pr=!0,Jn}const mf=(...e)=>{const t=Qc().createApp(...e),{mount:n}=t;return t.mount=s=>{const r=ea(s);if(r)return n(r,!0,Zc(r))},t};function Zc(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function ea(e){return ne(e)?document.querySelector(e):e}const yf=(e,t)=>{const n=e.__vccOpts||e;for(const[s,r]of t)n[s]=r;return n},ta="modulepreload",na=function(e){return"/document/"+e},Nr={},_f=function(t,n,s){let r=Promise.resolve();if(n&&n.length>0){document.getElementsByTagName("link");const o=document.querySelector("meta[property=csp-nonce]"),i=(o==null?void 0:o.nonce)||(o==null?void 0:o.getAttribute("nonce"));r=Promise.all(n.map(l=>{if(l=na(l),l in Nr)return;Nr[l]=!0;const c=l.endsWith(".css"),f=c?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${l}"]${f}`))return;const u=document.createElement("link");if(u.rel=c?"stylesheet":ta,c||(u.as="script",u.crossOrigin=""),u.href=l,i&&u.setAttribute("nonce",i),document.head.appendChild(u),c)return new Promise((h,m)=>{u.addEventListener("load",h),u.addEventListener("error",()=>m(new Error(`Unable to preload CSS for ${l}`)))})}))}return r.then(()=>t()).catch(o=>{const i=new Event("vite:preloadError",{cancelable:!0});if(i.payload=o,window.dispatchEvent(i),!i.defaultPrevented)throw o})},sa=window.__VP_SITE_DATA__;function Ds(e){return Yr()?(Fi(e),!0):!1}function Ye(e){return typeof e=="function"?e():ho(e)}const si=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const ra=Object.prototype.toString,oa=e=>ra.call(e)==="[object Object]",ri=()=>{},Fr=ia();function ia(){var e,t;return si&&((e=window==null?void 0:window.navigator)==null?void 0:e.userAgent)&&(/iP(ad|hone|od)/.test(window.navigator.userAgent)||((t=window==null?void 0:window.navigator)==null?void 0:t.maxTouchPoints)>2&&/iPad|Macintosh/.test(window==null?void 0:window.navigator.userAgent))}function la(e,t){function n(...s){return new Promise((r,o)=>{Promise.resolve(e(()=>t.apply(this,s),{fn:t,thisArg:this,args:s})).then(r).catch(o)})}return n}const oi=e=>e();function ca(e=oi){const t=fe(!0);function n(){t.value=!1}function s(){t.value=!0}const r=(...o)=>{t.value&&e(...o)};return{isActive:An(t),pause:n,resume:s,eventFilter:r}}function aa(e){return $n()}function ii(...e){if(e.length!==1)return fl(...e);const t=e[0];return typeof t=="function"?An(ll(()=>({get:t,set:ri}))):fe(t)}function fa(e,t,n={}){const{eventFilter:s=oi,...r}=n;return Pe(e,la(s,t),r)}function ua(e,t,n={}){const{eventFilter:s,...r}=n,{eventFilter:o,pause:i,resume:l,isActive:c}=ca(s);return{stop:fa(e,t,{...r,eventFilter:o}),pause:i,resume:l,isActive:c}}function Us(e,t=!0,n){aa()?xt(e,n):t?e():On(e)}function li(e){var t;const n=Ye(e);return(t=n==null?void 0:n.$el)!=null?t:n}const je=si?window:void 0;function Ct(...e){let t,n,s,r;if(typeof e[0]=="string"||Array.isArray(e[0])?([n,s,r]=e,t=je):[t,n,s,r]=e,!t)return ri;Array.isArray(n)||(n=[n]),Array.isArray(s)||(s=[s]);const o=[],i=()=>{o.forEach(u=>u()),o.length=0},l=(u,h,m,C)=>(u.addEventListener(h,m,C),()=>u.removeEventListener(h,m,C)),c=Pe(()=>[li(t),Ye(r)],([u,h])=>{if(i(),!u)return;const m=oa(h)?{...h}:h;o.push(...n.flatMap(C=>s.map(M=>l(u,C,M,m))))},{immediate:!0,flush:"post"}),f=()=>{c(),i()};return Ds(f),f}function da(e){return typeof e=="function"?e:typeof e=="string"?t=>t.key===e:Array.isArray(e)?t=>e.includes(t.key):()=>!0}function bf(...e){let t,n,s={};e.length===3?(t=e[0],n=e[1],s=e[2]):e.length===2?typeof e[1]=="object"?(t=!0,n=e[0],s=e[1]):(t=e[0],n=e[1]):(t=!0,n=e[0]);const{target:r=je,eventName:o="keydown",passive:i=!1,dedupe:l=!1}=s,c=da(t);return Ct(r,o,u=>{u.repeat&&Ye(l)||c(u)&&n(u)},i)}function ha(){const e=fe(!1),t=$n();return t&&xt(()=>{e.value=!0},t),e}function pa(e){const t=ha();return se(()=>(t.value,!!e()))}function ci(e,t={}){const{window:n=je}=t,s=pa(()=>n&&"matchMedia"in n&&typeof n.matchMedia=="function");let r;const o=fe(!1),i=f=>{o.value=f.matches},l=()=>{r&&("removeEventListener"in r?r.removeEventListener("change",i):r.removeListener(i))},c=Co(()=>{s.value&&(l(),r=n.matchMedia(Ye(e)),"addEventListener"in r?r.addEventListener("change",i):r.addListener(i),o.value=r.matches)});return Ds(()=>{c(),l(),r=void 0}),o}const nn=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},sn="__vueuse_ssr_handlers__",ga=ma();function ma(){return sn in nn||(nn[sn]=nn[sn]||{}),nn[sn]}function ai(e,t){return ga[e]||t}function ya(e){return e==null?"any":e instanceof Set?"set":e instanceof Map?"map":e instanceof Date?"date":typeof e=="boolean"?"boolean":typeof e=="string"?"string":typeof e=="object"?"object":Number.isNaN(e)?"any":"number"}const _a={boolean:{read:e=>e==="true",write:e=>String(e)},object:{read:e=>JSON.parse(e),write:e=>JSON.stringify(e)},number:{read:e=>Number.parseFloat(e),write:e=>String(e)},any:{read:e=>e,write:e=>String(e)},string:{read:e=>e,write:e=>String(e)},map:{read:e=>new Map(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e.entries()))},set:{read:e=>new Set(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e))},date:{read:e=>new Date(e),write:e=>e.toISOString()}},$r="vueuse-storage";function ba(e,t,n,s={}){var r;const{flush:o="pre",deep:i=!0,listenToStorageChanges:l=!0,writeDefaults:c=!0,mergeDefaults:f=!1,shallow:u,window:h=je,eventFilter:m,onError:C=v=>{console.error(v)},initOnMounted:M}=s,P=(u?fo:fe)(typeof t=="function"?t():t);if(!n)try{n=ai("getDefaultStorage",()=>{var v;return(v=je)==null?void 0:v.localStorage})()}catch(v){C(v)}if(!n)return P;const B=Ye(t),W=ya(B),q=(r=s.serializer)!=null?r:_a[W],{pause:p,resume:y}=ua(P,()=>R(P.value),{flush:o,deep:i,eventFilter:m});h&&l&&Us(()=>{Ct(h,"storage",S),Ct(h,$r,F),M&&S()}),M||S();function L(v,H){h&&h.dispatchEvent(new CustomEvent($r,{detail:{key:e,oldValue:v,newValue:H,storageArea:n}}))}function R(v){try{const H=n.getItem(e);if(v==null)L(H,null),n.removeItem(e);else{const T=q.write(v);H!==T&&(n.setItem(e,T),L(H,T))}}catch(H){C(H)}}function N(v){const H=v?v.newValue:n.getItem(e);if(H==null)return c&&B!=null&&n.setItem(e,q.write(B)),B;if(!v&&f){const T=q.read(H);return typeof f=="function"?f(T,B):W==="object"&&!Array.isArray(T)?{...B,...T}:T}else return typeof H!="string"?H:q.read(H)}function S(v){if(!(v&&v.storageArea!==n)){if(v&&v.key==null){P.value=B;return}if(!(v&&v.key!==e)){p();try{(v==null?void 0:v.newValue)!==q.write(P.value)&&(P.value=N(v))}catch(H){C(H)}finally{v?On(y):y()}}}}function F(v){S(v.detail)}return P}function fi(e){return ci("(prefers-color-scheme: dark)",e)}function va(e={}){const{selector:t="html",attribute:n="class",initialValue:s="auto",window:r=je,storage:o,storageKey:i="vueuse-color-scheme",listenToStorageChanges:l=!0,storageRef:c,emitAuto:f,disableTransition:u=!0}=e,h={auto:"",light:"light",dark:"dark",...e.modes||{}},m=fi({window:r}),C=se(()=>m.value?"dark":"light"),M=c||(i==null?ii(s):ba(i,s,o,{window:r,listenToStorageChanges:l})),P=se(()=>M.value==="auto"?C.value:M.value),B=ai("updateHTMLAttrs",(y,L,R)=>{const N=typeof y=="string"?r==null?void 0:r.document.querySelector(y):li(y);if(!N)return;let S;if(u&&(S=r.document.createElement("style"),S.appendChild(document.createTextNode("*,*::before,*::after{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}")),r.document.head.appendChild(S)),L==="class"){const F=R.split(/\s/g);Object.values(h).flatMap(v=>(v||"").split(/\s/g)).filter(Boolean).forEach(v=>{F.includes(v)?N.classList.add(v):N.classList.remove(v)})}else N.setAttribute(L,R);u&&(r.getComputedStyle(S).opacity,document.head.removeChild(S))});function W(y){var L;B(t,n,(L=h[y])!=null?L:y)}function q(y){e.onChanged?e.onChanged(y,W):W(y)}Pe(P,q,{flush:"post",immediate:!0}),Us(()=>q(P.value));const p=se({get(){return f?M.value:P.value},set(y){M.value=y}});try{return Object.assign(p,{store:M,system:C,state:P})}catch{return p}}function wa(e={}){const{valueDark:t="dark",valueLight:n="",window:s=je}=e,r=va({...e,onChanged:(l,c)=>{var f;e.onChanged?(f=e.onChanged)==null||f.call(e,l==="dark",c,l):c(l)},modes:{dark:t,light:n}}),o=se(()=>r.system?r.system.value:fi({window:s}).value?"dark":"light");return se({get(){return r.value==="dark"},set(l){const c=l?"dark":"light";o.value===c?r.value="auto":r.value=c}})}function Qn(e){return typeof Window<"u"&&e instanceof Window?e.document.documentElement:typeof Document<"u"&&e instanceof Document?e.documentElement:e}function ui(e){const t=window.getComputedStyle(e);if(t.overflowX==="scroll"||t.overflowY==="scroll"||t.overflowX==="auto"&&e.clientWidth1?!0:(t.preventDefault&&t.preventDefault(),!1)}const rn=new WeakMap;function vf(e,t=!1){const n=fe(t);let s=null;Pe(ii(e),i=>{const l=Qn(Ye(i));if(l){const c=l;rn.get(c)||rn.set(c,c.style.overflow),n.value&&(c.style.overflow="hidden")}},{immediate:!0});const r=()=>{const i=Qn(Ye(e));!i||n.value||(Fr&&(s=Ct(i,"touchmove",l=>{Ea(l)},{passive:!1})),i.style.overflow="hidden",n.value=!0)},o=()=>{var i;const l=Qn(Ye(e));!l||!n.value||(Fr&&(s==null||s()),l.style.overflow=(i=rn.get(l))!=null?i:"",rn.delete(l),n.value=!1)};return Ds(o),se({get(){return n.value},set(i){i?r():o()}})}function wf(e={}){const{window:t=je,behavior:n="auto"}=e;if(!t)return{x:fe(0),y:fe(0)};const s=fe(t.scrollX),r=fe(t.scrollY),o=se({get(){return s.value},set(l){scrollTo({left:l,behavior:n})}}),i=se({get(){return r.value},set(l){scrollTo({top:l,behavior:n})}});return Ct(t,"scroll",()=>{s.value=t.scrollX,r.value=t.scrollY},{capture:!1,passive:!0}),{x:o,y:i}}function Ef(e={}){const{window:t=je,initialWidth:n=Number.POSITIVE_INFINITY,initialHeight:s=Number.POSITIVE_INFINITY,listenOrientation:r=!0,includeScrollbar:o=!0}=e,i=fe(n),l=fe(s),c=()=>{t&&(o?(i.value=t.innerWidth,l.value=t.innerHeight):(i.value=t.document.documentElement.clientWidth,l.value=t.document.documentElement.clientHeight))};if(c(),Us(c),Ct("resize",c,{passive:!0}),r){const f=ci("(orientation: portrait)");Pe(f,()=>c())}return{width:i,height:l}}var Zn={BASE_URL:"/document/",MODE:"production",DEV:!1,PROD:!0,SSR:!1},es={};const di=/^(?:[a-z]+:|\/\/)/i,Ca="vitepress-theme-appearance",xa=/#.*$/,Sa=/[?#].*$/,Ta=/(?:(^|\/)index)?\.(?:md|html)$/,de=typeof document<"u",hi={relativePath:"404.md",filePath:"",title:"404",description:"Not Found",headers:[],frontmatter:{sidebar:!1,layout:"page"},lastUpdated:0,isNotFound:!0};function Aa(e,t,n=!1){if(t===void 0)return!1;if(e=Hr(`/${e}`),n)return new RegExp(t).test(e);if(Hr(t)!==e)return!1;const s=t.match(xa);return s?(de?location.hash:"")===s[0]:!0}function Hr(e){return decodeURI(e).replace(Sa,"").replace(Ta,"$1")}function Ra(e){return di.test(e)}function Oa(e,t){return Object.keys((e==null?void 0:e.locales)||{}).find(n=>n!=="root"&&!Ra(n)&&Aa(t,`/${n}/`,!0))||"root"}function La(e,t){var s,r,o,i,l,c,f;const n=Oa(e,t);return Object.assign({},e,{localeIndex:n,lang:((s=e.locales[n])==null?void 0:s.lang)??e.lang,dir:((r=e.locales[n])==null?void 0:r.dir)??e.dir,title:((o=e.locales[n])==null?void 0:o.title)??e.title,titleTemplate:((i=e.locales[n])==null?void 0:i.titleTemplate)??e.titleTemplate,description:((l=e.locales[n])==null?void 0:l.description)??e.description,head:gi(e.head,((c=e.locales[n])==null?void 0:c.head)??[]),themeConfig:{...e.themeConfig,...(f=e.locales[n])==null?void 0:f.themeConfig}})}function pi(e,t){const n=t.title||e.title,s=t.titleTemplate??e.titleTemplate;if(typeof s=="string"&&s.includes(":title"))return s.replace(/:title/g,n);const r=Ia(e.title,s);return n===r.slice(3)?n:`${n}${r}`}function Ia(e,t){return t===!1?"":t===!0||t===void 0?` | ${e}`:e===t?"":` | ${t}`}function Ma(e,t){const[n,s]=t;if(n!=="meta")return!1;const r=Object.entries(s)[0];return r==null?!1:e.some(([o,i])=>o===n&&i[r[0]]===r[1])}function gi(e,t){return[...e.filter(n=>!Ma(t,n)),...t]}const Pa=/[\u0000-\u001F"#$&*+,:;<=>?[\]^`{|}\u007F]/g,Na=/^[a-z]:/i;function jr(e){const t=Na.exec(e),n=t?t[0]:"";return n+e.slice(n.length).replace(Pa,"_").replace(/(^|\/)_+(?=[^/]*$)/,"$1")}const ts=new Set;function Fa(e){if(ts.size===0){const n=typeof process=="object"&&(es==null?void 0:es.VITE_EXTRA_EXTENSIONS)||(Zn==null?void 0:Zn.VITE_EXTRA_EXTENSIONS)||"";("3g2,3gp,aac,ai,apng,au,avif,bin,bmp,cer,class,conf,crl,css,csv,dll,doc,eps,epub,exe,gif,gz,ics,ief,jar,jpe,jpeg,jpg,js,json,jsonld,m4a,man,mid,midi,mjs,mov,mp2,mp3,mp4,mpe,mpeg,mpg,mpp,oga,ogg,ogv,ogx,opus,otf,p10,p7c,p7m,p7s,pdf,png,ps,qt,roff,rtf,rtx,ser,svg,t,tif,tiff,tr,ts,tsv,ttf,txt,vtt,wav,weba,webm,webp,woff,woff2,xhtml,xml,yaml,yml,zip"+(n&&typeof n=="string"?","+n:"")).split(",").forEach(s=>ts.add(s))}const t=e.split(".").pop();return t==null||!ts.has(t.toLowerCase())}const $a=Symbol(),ft=fo(sa);function Cf(e){const t=se(()=>La(ft.value,e.data.relativePath)),n=t.value.appearance,s=n==="force-dark"?fe(!0):n?wa({storageKey:Ca,initialValue:()=>typeof n=="string"?n:"auto",...typeof n=="object"?n:{}}):fe(!1),r=fe(de?location.hash:"");return de&&window.addEventListener("hashchange",()=>{r.value=location.hash}),Pe(()=>e.data,()=>{r.value=de?location.hash:""}),{site:t,theme:se(()=>t.value.themeConfig),page:se(()=>e.data),frontmatter:se(()=>e.data.frontmatter),params:se(()=>e.data.params),lang:se(()=>t.value.lang),dir:se(()=>e.data.frontmatter.dir||t.value.dir),localeIndex:se(()=>t.value.localeIndex||"root"),title:se(()=>pi(t.value,e.data)),description:se(()=>e.data.description||t.value.description),isDark:s,hash:se(()=>r.value)}}function Ha(){const e=wt($a);if(!e)throw new Error("vitepress data not properly injected in app");return e}function ja(e,t){return`${e}${t}`.replace(/\/+/g,"/")}function Vr(e){return di.test(e)||!e.startsWith("/")?e:ja(ft.value.base,e)}function Va(e){let t=e.replace(/\.html$/,"");if(t=decodeURIComponent(t),t=t.replace(/\/$/,"/index"),de){const n="/document/";t=jr(t.slice(n.length).replace(/\//g,"_")||"index")+".md";let s=__VP_HASH_MAP__[t.toLowerCase()];if(s||(t=t.endsWith("_index.md")?t.slice(0,-9)+".md":t.slice(0,-3)+"_index.md",s=__VP_HASH_MAP__[t.toLowerCase()]),!s)return null;t=`${n}assets/${t}.${s}.js`}else t=`./${jr(t.slice(1).replace(/\//g,"_"))}.md.js`;return t}let dn=[];function xf(e){dn.push(e),Fn(()=>{dn=dn.filter(t=>t!==e)})}function Da(){let e=ft.value.scrollOffset,t=0,n=24;if(typeof e=="object"&&"padding"in e&&(n=e.padding,e=e.selector),typeof e=="number")t=e;else if(typeof e=="string")t=Dr(e,n);else if(Array.isArray(e))for(const s of e){const r=Dr(s,n);if(r){t=r;break}}return t}function Dr(e,t){const n=document.querySelector(e);if(!n)return 0;const s=n.getBoundingClientRect().bottom;return s<0?0:s+t}const Ua=Symbol(),mi="http://a.com",Ba=()=>({path:"/",component:null,data:hi});function Sf(e,t){const n=Tn(Ba()),s={route:n,go:r};async function r(l=de?location.href:"/"){var c,f;l=ns(l),await((c=s.onBeforeRouteChange)==null?void 0:c.call(s,l))!==!1&&(de&&l!==ns(location.href)&&(history.replaceState({scrollPosition:window.scrollY},""),history.pushState({},"",l)),await i(l),await((f=s.onAfterRouteChanged)==null?void 0:f.call(s,l)))}let o=null;async function i(l,c=0,f=!1){var m;if(await((m=s.onBeforePageLoad)==null?void 0:m.call(s,l))===!1)return;const u=new URL(l,mi),h=o=u.pathname;try{let C=await e(h);if(!C)throw new Error(`Page not found: ${h}`);if(o===h){o=null;const{default:M,__pageData:P}=C;if(!M)throw new Error(`Invalid route component: ${M}`);n.path=de?h:Vr(h),n.component=an(M),n.data=an(P),de&&On(()=>{let B=ft.value.base+P.relativePath.replace(/(?:(^|\/)index)?\.md$/,"$1");if(!ft.value.cleanUrls&&!B.endsWith("/")&&(B+=".html"),B!==u.pathname&&(u.pathname=B,l=B+u.search+u.hash,history.replaceState({},"",l)),u.hash&&!c){let W=null;try{W=document.getElementById(decodeURIComponent(u.hash).slice(1))}catch(q){console.warn(q)}if(W){Ur(W,u.hash);return}}window.scrollTo(0,c)})}}catch(C){if(!/fetch|Page not found/.test(C.message)&&!/^\/404(\.html|\/)?$/.test(l)&&console.error(C),!f)try{const M=await fetch(ft.value.base+"hashmap.json");window.__VP_HASH_MAP__=await M.json(),await i(l,c,!0);return}catch{}if(o===h){o=null,n.path=de?h:Vr(h),n.component=t?an(t):null;const M=de?h.replace(/(^|\/)$/,"$1index").replace(/(\.html)?$/,".md").replace(/^\//,""):"404.md";n.data={...hi,relativePath:M}}}}return de&&(history.state===null&&history.replaceState({},""),window.addEventListener("click",l=>{if(l.target.closest("button"))return;const f=l.target.closest("a");if(f&&!f.closest(".vp-raw")&&(f instanceof SVGElement||!f.download)){const{target:u}=f,{href:h,origin:m,pathname:C,hash:M,search:P}=new URL(f.href instanceof SVGAnimatedString?f.href.animVal:f.href,f.baseURI),B=new URL(location.href);!l.ctrlKey&&!l.shiftKey&&!l.altKey&&!l.metaKey&&!u&&m===B.origin&&Fa(C)&&(l.preventDefault(),C===B.pathname&&P===B.search?(M!==B.hash&&(history.pushState({},"",h),window.dispatchEvent(new HashChangeEvent("hashchange",{oldURL:B.href,newURL:h}))),M?Ur(f,M,f.classList.contains("header-anchor")):window.scrollTo(0,0)):r(h))}},{capture:!0}),window.addEventListener("popstate",async l=>{var c;l.state!==null&&(await i(ns(location.href),l.state&&l.state.scrollPosition||0),(c=s.onAfterRouteChanged)==null||c.call(s,location.href))}),window.addEventListener("hashchange",l=>{l.preventDefault()})),s}function ka(){const e=wt(Ua);if(!e)throw new Error("useRouter() is called without provider.");return e}function yi(){return ka().route}function Ur(e,t,n=!1){let s=null;try{s=e.classList.contains("header-anchor")?e:document.getElementById(decodeURIComponent(t).slice(1))}catch(r){console.warn(r)}if(s){let r=function(){!n||Math.abs(i-window.scrollY)>window.innerHeight?window.scrollTo(0,i):window.scrollTo({left:0,top:i,behavior:"smooth"})};const o=parseInt(window.getComputedStyle(s).paddingTop,10),i=window.scrollY+s.getBoundingClientRect().top-Da()+o;requestAnimationFrame(r)}}function ns(e){const t=new URL(e,mi);return t.pathname=t.pathname.replace(/(^|\/)index(\.html)?$/,"$1"),ft.value.cleanUrls?t.pathname=t.pathname.replace(/\.html$/,""):!t.pathname.endsWith("/")&&!t.pathname.endsWith(".html")&&(t.pathname+=".html"),t.pathname+t.search+t.hash}const ss=()=>dn.forEach(e=>e()),Tf=Ro({name:"VitePressContent",props:{as:{type:[Object,String],default:"div"}},setup(e){const t=yi(),{site:n}=Ha();return()=>bs(e.as,n.value.contentProps??{style:{position:"relative"}},[t.component?bs(t.component,{onVnodeMounted:ss,onVnodeUpdated:ss,onVnodeUnmounted:ss}):"404 Page Not Found"])}}),Af=Ro({setup(e,{slots:t}){const n=fe(!1);return xt(()=>{n.value=!0}),()=>n.value&&t.default?t.default():null}});function Rf(){de&&window.addEventListener("click",e=>{var n;const t=e.target;if(t.matches(".vp-code-group input")){const s=(n=t.parentElement)==null?void 0:n.parentElement;if(!s)return;const r=Array.from(s.querySelectorAll("input")).indexOf(t);if(r<0)return;const o=s.querySelector(".blocks");if(!o)return;const i=Array.from(o.children).find(f=>f.classList.contains("active"));if(!i)return;const l=o.children[r];if(!l||i===l)return;i.classList.remove("active"),l.classList.add("active");const c=s==null?void 0:s.querySelector(`label[for="${t.id}"]`);c==null||c.scrollIntoView({block:"nearest"})}})}function Of(){if(de){const e=new WeakMap;window.addEventListener("click",t=>{var s;const n=t.target;if(n.matches('div[class*="language-"] > button.copy')){const r=n.parentElement,o=(s=n.nextElementSibling)==null?void 0:s.nextElementSibling;if(!r||!o)return;const i=/language-(shellscript|shell|bash|sh|zsh)/.test(r.className),l=[".vp-copy-ignore",".diff.remove"],c=o.cloneNode(!0);c.querySelectorAll(l.join(",")).forEach(u=>u.remove());let f=c.textContent||"";i&&(f=f.replace(/^ *(\$|>) /gm,"").trim()),Ka(f).then(()=>{n.classList.add("copied"),clearTimeout(e.get(n));const u=setTimeout(()=>{n.classList.remove("copied"),n.blur(),e.delete(n)},2e3);e.set(n,u)})}})}}async function Ka(e){try{return navigator.clipboard.writeText(e)}catch{const t=document.createElement("textarea"),n=document.activeElement;t.value=e,t.setAttribute("readonly",""),t.style.contain="strict",t.style.position="absolute",t.style.left="-9999px",t.style.fontSize="12pt";const s=document.getSelection(),r=s?s.rangeCount>0&&s.getRangeAt(0):null;document.body.appendChild(t),t.select(),t.selectionStart=0,t.selectionEnd=e.length,document.execCommand("copy"),document.body.removeChild(t),r&&(s.removeAllRanges(),s.addRange(r)),n&&n.focus()}}function Lf(e,t){let n=!0,s=[];const r=o=>{if(n){n=!1,o.forEach(l=>{const c=rs(l);for(const f of document.head.children)if(f.isEqualNode(c)){s.push(f);return}});return}const i=o.map(rs);s.forEach((l,c)=>{const f=i.findIndex(u=>u==null?void 0:u.isEqualNode(l??null));f!==-1?delete i[f]:(l==null||l.remove(),delete s[c])}),i.forEach(l=>l&&document.head.appendChild(l)),s=[...s,...i].filter(Boolean)};Co(()=>{const o=e.data,i=t.value,l=o&&o.description,c=o&&o.frontmatter.head||[],f=pi(i,o);f!==document.title&&(document.title=f);const u=l||i.description;let h=document.querySelector("meta[name=description]");h?h.getAttribute("content")!==u&&h.setAttribute("content",u):rs(["meta",{name:"description",content:u}]),r(gi(i.head,qa(c)))})}function rs([e,t,n]){const s=document.createElement(e);for(const r in t)s.setAttribute(r,t[r]);return n&&(s.innerHTML=n),e==="script"&&!t.async&&(s.async=!1),s}function Wa(e){return e[0]==="meta"&&e[1]&&e[1].name==="description"}function qa(e){return e.filter(t=>!Wa(t))}const os=new Set,_i=()=>document.createElement("link"),Ga=e=>{const t=_i();t.rel="prefetch",t.href=e,document.head.appendChild(t)},za=e=>{const t=new XMLHttpRequest;t.open("GET",e,t.withCredentials=!0),t.send()};let on;const Xa=de&&(on=_i())&&on.relList&&on.relList.supports&&on.relList.supports("prefetch")?Ga:za;function If(){if(!de||!window.IntersectionObserver)return;let e;if((e=navigator.connection)&&(e.saveData||/2g/.test(e.effectiveType)))return;const t=window.requestIdleCallback||setTimeout;let n=null;const s=()=>{n&&n.disconnect(),n=new IntersectionObserver(o=>{o.forEach(i=>{if(i.isIntersecting){const l=i.target;n.unobserve(l);const{pathname:c}=l;if(!os.has(c)){os.add(c);const f=Va(c);f&&Xa(f)}}})}),t(()=>{document.querySelectorAll("#app a").forEach(o=>{const{hostname:i,pathname:l}=new URL(o.href instanceof SVGAnimatedString?o.href.animVal:o.href,o.baseURI),c=l.match(/\.\w+$/);c&&c[0]!==".html"||o.target!=="_blank"&&i===location.hostname&&(l!==location.pathname?n.observe(o):os.add(l))})})};xt(s);const r=yi();Pe(()=>r.path,s),Fn(()=>{n&&n.disconnect()})}export{pf as $,tf as A,Fl as B,Da as C,Za as D,sf as E,ye as F,fo as G,xf as H,ue as I,ef as J,di as K,yi as L,hc as M,wt as N,Ef as O,xs as P,bf as Q,On as R,wf as S,ei as T,de as U,An as V,ka as W,_f as X,nf as Y,df as Z,yf as _,Yo as a,hf as a0,cf as a1,vf as a2,Xl as a3,gf as a4,of as a5,lf as a6,ff as a7,Lf as a8,Ua as a9,Cf as aa,$a as ab,Tf as ac,Af as ad,ft as ae,mf as af,Sf as ag,Va as ah,If as ai,Of as aj,Rf as ak,bs as al,Go as b,af as c,Ro as d,uf as e,Fa as f,Vr as g,se as h,Ra as i,Xo as j,ho as k,Qa as l,Aa as m,Ss as n,Wo as o,Ja as p,ci as q,rf as r,fe as s,Ya as t,Ha as u,Pe as v,_l as w,Co as x,xt as y,Fn as z}; diff --git a/document/assets/chunks/theme.eFWpDLSn.js b/document/assets/chunks/theme.BNrOBAoa.js similarity index 99% rename from document/assets/chunks/theme.eFWpDLSn.js rename to document/assets/chunks/theme.BNrOBAoa.js index 82ae6f042..09aa33c66 100644 --- a/document/assets/chunks/theme.eFWpDLSn.js +++ b/document/assets/chunks/theme.BNrOBAoa.js @@ -1 +1 @@ -import{d as k,o as r,c as p,r as d,n as C,a as J,t as M,b as S,w as v,e as g,T as Ne,_ as L,u as Re,i as vt,f as ft,g as fe,h as V,j as h,k as l,p as z,l as j,m as ee,q as Le,s as I,v as Q,x as me,y as oe,z as Me,A as xe,B as mt,C as _t,D as Z,F as A,E as F,G as Ke,H as _e,I as y,J as se,K as We,L as ge,M as ce,N as ke,O as gt,P as Je,Q as kt,R as Xe,S as Ye,U as $e,V as $t,W as bt,X as yt,Y as Fe,Z as Pt,$ as Qe,a0 as Vt,a1 as Lt,a2 as Ze,a3 as et,a4 as St,a5 as wt,a6 as It}from"./framework.DXlgpajS.js";const Tt=k({__name:"VPBadge",props:{text:{},type:{default:"tip"}},setup(e){return(t,n)=>(r(),p("span",{class:C(["VPBadge",t.type])},[d(t.$slots,"default",{},()=>[J(M(t.text),1)])],2))}}),Nt={key:0,class:"VPBackdrop"},Mt=k({__name:"VPBackdrop",props:{show:{type:Boolean}},setup(e){return(t,n)=>(r(),S(Ne,{name:"fade"},{default:v(()=>[t.show?(r(),p("div",Nt)):g("",!0)]),_:1}))}}),Ct=L(Mt,[["__scopeId","data-v-b2600058"]]),T=Re;function At(e,t){let n,s=!1;return()=>{n&&clearTimeout(n),s?n=setTimeout(e,t):(e(),(s=!0)&&setTimeout(()=>s=!1,t))}}function Se(e){return/^\//.test(e)?e:`/${e}`}function Ce(e){const{pathname:t,search:n,hash:s,protocol:o}=new URL(e,"http://a.com");if(vt(e)||e.startsWith("#")||!o.startsWith("http")||!ft(t))return e;const{site:a}=T(),i=t.endsWith("/")||t.endsWith(".html")?e:e.replace(/(?:(^\.+)\/)?.*$/,`$1${t.replace(/(\.md)?$/,a.value.cleanUrls?"":".html")}${n}${s}`);return fe(i)}function ie({correspondingLink:e=!1}={}){const{site:t,localeIndex:n,page:s,theme:o,hash:a}=T(),i=V(()=>{var u,f;return{label:(u=t.value.locales[n.value])==null?void 0:u.label,link:((f=t.value.locales[n.value])==null?void 0:f.link)||(n.value==="root"?"/":`/${n.value}/`)}});return{localeLinks:V(()=>Object.entries(t.value.locales).flatMap(([u,f])=>i.value.label===f.label?[]:{text:f.label,link:Bt(f.link||(u==="root"?"/":`/${u}/`),o.value.i18nRouting!==!1&&e,s.value.relativePath.slice(i.value.link.length-1),!t.value.cleanUrls)+a.value})),currentLang:i}}function Bt(e,t,n,s){return t?e.replace(/\/$/,"")+Se(n.replace(/(^|\/)index\.md$/,"$1").replace(/\.md$/,s?".html":"")):e}const Ht=e=>(z("data-v-93fd8736"),e=e(),j(),e),Et={class:"NotFound"},Ot={class:"code"},Dt={class:"title"},Ft=Ht(()=>h("div",{class:"divider"},null,-1)),zt={class:"quote"},jt={class:"action"},Ut=["href","aria-label"],qt=k({__name:"NotFound",setup(e){const{theme:t}=T(),{currentLang:n}=ie();return(s,o)=>{var a,i,c,u,f;return r(),p("div",Et,[h("p",Ot,M(((a=l(t).notFound)==null?void 0:a.code)??"404"),1),h("h1",Dt,M(((i=l(t).notFound)==null?void 0:i.title)??"PAGE NOT FOUND"),1),Ft,h("blockquote",zt,M(((c=l(t).notFound)==null?void 0:c.quote)??"But if you don't change your direction, and if you keep looking, you may end up where you are heading."),1),h("div",jt,[h("a",{class:"link",href:l(fe)(l(n).link),"aria-label":((u=l(t).notFound)==null?void 0:u.linkLabel)??"go to home"},M(((f=l(t).notFound)==null?void 0:f.linkText)??"Take me home"),9,Ut)])])}}}),Gt=L(qt,[["__scopeId","data-v-93fd8736"]]);function tt(e,t){if(Array.isArray(e))return ue(e);if(e==null)return[];t=Se(t);const n=Object.keys(e).sort((o,a)=>a.split("/").length-o.split("/").length).find(o=>t.startsWith(Se(o))),s=n?e[n]:[];return Array.isArray(s)?ue(s):ue(s.items,s.base)}function Rt(e){const t=[];let n=0;for(const s in e){const o=e[s];if(o.items){n=t.push(o);continue}t[n]||t.push({items:[]}),t[n].items.push(o)}return t}function xt(e){const t=[];function n(s){for(const o of s)o.text&&o.link&&t.push({text:o.text,link:o.link,docFooterText:o.docFooterText}),o.items&&n(o.items)}return n(e),t}function we(e,t){return Array.isArray(t)?t.some(n=>we(e,n)):ee(e,t.link)?!0:t.items?we(e,t.items):!1}function ue(e,t){return[...e].map(n=>{const s={...n},o=s.base||t;return o&&s.link&&(s.link=o+s.link),s.items&&(s.items=ue(s.items,o)),s})}function X(){const{frontmatter:e,page:t,theme:n}=T(),s=Le("(min-width: 960px)"),o=I(!1),a=V(()=>{const N=n.value.sidebar,w=t.value.relativePath;return N?tt(N,w):[]}),i=I(a.value);Q(a,(N,w)=>{JSON.stringify(N)!==JSON.stringify(w)&&(i.value=a.value)});const c=V(()=>e.value.sidebar!==!1&&i.value.length>0&&e.value.layout!=="home"),u=V(()=>f?e.value.aside==null?n.value.aside==="left":e.value.aside==="left":!1),f=V(()=>e.value.layout==="home"?!1:e.value.aside!=null?!!e.value.aside:n.value.aside!==!1),_=V(()=>c.value&&s.value),m=V(()=>c.value?Rt(i.value):[]);function P(){o.value=!0}function $(){o.value=!1}function b(){o.value?$():P()}return{isOpen:o,sidebar:i,sidebarGroups:m,hasSidebar:c,hasAside:f,leftAside:u,isSidebarEnabled:_,open:P,close:$,toggle:b}}function Kt(e,t){let n;me(()=>{n=e.value?document.activeElement:void 0}),oe(()=>{window.addEventListener("keyup",s)}),Me(()=>{window.removeEventListener("keyup",s)});function s(o){o.key==="Escape"&&e.value&&(t(),n==null||n.focus())}}function Wt(e){const{page:t,hash:n}=T(),s=I(!1),o=V(()=>e.value.collapsed!=null),a=V(()=>!!e.value.link),i=I(!1),c=()=>{i.value=ee(t.value.relativePath,e.value.link)};Q([t,e,n],c),oe(c);const u=V(()=>i.value?!0:e.value.items?we(t.value.relativePath,e.value.items):!1),f=V(()=>!!(e.value.items&&e.value.items.length));me(()=>{s.value=!!(o.value&&e.value.collapsed)}),xe(()=>{(i.value||u.value)&&(s.value=!1)});function _(){o.value&&(s.value=!s.value)}return{collapsed:s,collapsible:o,isLink:a,isActiveLink:i,hasActiveLink:u,hasChildren:f,toggle:_}}function Jt(){const{hasSidebar:e}=X(),t=Le("(min-width: 960px)"),n=Le("(min-width: 1280px)");return{isAsideEnabled:V(()=>!n.value&&!t.value?!1:e.value?n.value:t.value)}}const Ie=[];function nt(e){return typeof e.outline=="object"&&!Array.isArray(e.outline)&&e.outline.label||e.outlineTitle||"On this page"}function Ae(e){const t=[...document.querySelectorAll(".VPDoc :where(h1,h2,h3,h4,h5,h6)")].filter(n=>n.id&&n.hasChildNodes()).map(n=>{const s=Number(n.tagName[1]);return{element:n,title:Xt(n),link:"#"+n.id,level:s}});return Yt(t,e)}function Xt(e){let t="";for(const n of e.childNodes)if(n.nodeType===1){if(n.classList.contains("VPBadge")||n.classList.contains("header-anchor")||n.classList.contains("ignore-header"))continue;t+=n.textContent}else n.nodeType===3&&(t+=n.textContent);return t.trim()}function Yt(e,t){if(t===!1)return[];const n=(typeof t=="object"&&!Array.isArray(t)?t.level:t)||2,[s,o]=typeof n=="number"?[n,n]:n==="deep"?[2,6]:n;e=e.filter(i=>i.level>=s&&i.level<=o),Ie.length=0;for(const{element:i,link:c}of e)Ie.push({element:i,link:c});const a=[];e:for(let i=0;i=0;u--){const f=e[u];if(f.level{requestAnimationFrame(a),window.addEventListener("scroll",s)}),mt(()=>{i(location.hash)}),Me(()=>{window.removeEventListener("scroll",s)});function a(){if(!n.value)return;const c=window.scrollY,u=window.innerHeight,f=document.body.offsetHeight,_=Math.abs(c+u-f)<1,m=Ie.map(({element:$,link:b})=>({link:b,top:Zt($)})).filter(({top:$})=>!Number.isNaN($)).sort(($,b)=>$.top-b.top);if(!m.length){i(null);return}if(c<1){i(null);return}if(_){i(m[m.length-1].link);return}let P=null;for(const{link:$,top:b}of m){if(b>c+_t()+4)break;P=$}i(P)}function i(c){o&&o.classList.remove("active"),c==null?o=null:o=e.value.querySelector(`a[href="${decodeURIComponent(c)}"]`);const u=o;u?(u.classList.add("active"),t.value.style.top=u.offsetTop+39+"px",t.value.style.opacity="1"):(t.value.style.top="33px",t.value.style.opacity="0")}}function Zt(e){let t=0;for(;e!==document.body;){if(e===null)return NaN;t+=e.offsetTop,e=e.offsetParent}return t}const en=["href","title"],tn=k({__name:"VPDocOutlineItem",props:{headers:{},root:{type:Boolean}},setup(e){function t({target:n}){const s=n.href.split("#")[1],o=document.getElementById(decodeURIComponent(s));o==null||o.focus({preventScroll:!0})}return(n,s)=>{const o=Z("VPDocOutlineItem",!0);return r(),p("ul",{class:C(["VPDocOutlineItem",n.root?"root":"nested"])},[(r(!0),p(A,null,F(n.headers,({children:a,link:i,title:c})=>(r(),p("li",null,[h("a",{class:"outline-link",href:i,onClick:t,title:c},M(c),9,en),a!=null&&a.length?(r(),S(o,{key:0,headers:a},null,8,["headers"])):g("",!0)]))),256))],2)}}}),st=L(tn,[["__scopeId","data-v-da421f78"]]),nn={class:"content"},sn={"aria-level":"2",class:"outline-title",id:"doc-outline-aria-label",role:"heading"},on=k({__name:"VPDocAsideOutline",setup(e){const{frontmatter:t,theme:n}=T(),s=Ke([]);_e(()=>{s.value=Ae(t.value.outline??n.value.outline)});const o=I(),a=I();return Qt(o,a),(i,c)=>(r(),p("nav",{"aria-labelledby":"doc-outline-aria-label",class:C(["VPDocAsideOutline",{"has-outline":s.value.length>0}]),ref_key:"container",ref:o},[h("div",nn,[h("div",{class:"outline-marker",ref_key:"marker",ref:a},null,512),h("div",sn,M(l(nt)(l(n))),1),y(st,{headers:s.value,root:!0},null,8,["headers"])])],2))}}),an=L(on,[["__scopeId","data-v-dfbd9fb8"]]),rn={class:"VPDocAsideCarbonAds"},ln=k({__name:"VPDocAsideCarbonAds",props:{carbonAds:{}},setup(e){const t=()=>null;return(n,s)=>(r(),p("div",rn,[y(l(t),{"carbon-ads":n.carbonAds},null,8,["carbon-ads"])]))}}),cn=e=>(z("data-v-79cae1a0"),e=e(),j(),e),un={class:"VPDocAside"},dn=cn(()=>h("div",{class:"spacer"},null,-1)),hn=k({__name:"VPDocAside",setup(e){const{theme:t}=T();return(n,s)=>(r(),p("div",un,[d(n.$slots,"aside-top",{},void 0,!0),d(n.$slots,"aside-outline-before",{},void 0,!0),y(an),d(n.$slots,"aside-outline-after",{},void 0,!0),dn,d(n.$slots,"aside-ads-before",{},void 0,!0),l(t).carbonAds?(r(),S(ln,{key:0,"carbon-ads":l(t).carbonAds},null,8,["carbon-ads"])):g("",!0),d(n.$slots,"aside-ads-after",{},void 0,!0),d(n.$slots,"aside-bottom",{},void 0,!0)]))}}),pn=L(hn,[["__scopeId","data-v-79cae1a0"]]);function vn(){const{theme:e,page:t}=T();return V(()=>{const{text:n="Edit this page",pattern:s=""}=e.value.editLink||{};let o;return typeof s=="function"?o=s(t.value):o=s.replace(/:path/g,t.value.filePath),{url:o,text:n}})}function fn(){const{page:e,theme:t,frontmatter:n}=T();return V(()=>{var f,_,m,P,$,b,N,w;const s=tt(t.value.sidebar,e.value.relativePath),o=xt(s),a=mn(o,U=>U.link.replace(/[?#].*$/,"")),i=a.findIndex(U=>ee(e.value.relativePath,U.link)),c=((f=t.value.docFooter)==null?void 0:f.prev)===!1&&!n.value.prev||n.value.prev===!1,u=((_=t.value.docFooter)==null?void 0:_.next)===!1&&!n.value.next||n.value.next===!1;return{prev:c?void 0:{text:(typeof n.value.prev=="string"?n.value.prev:typeof n.value.prev=="object"?n.value.prev.text:void 0)??((m=a[i-1])==null?void 0:m.docFooterText)??((P=a[i-1])==null?void 0:P.text),link:(typeof n.value.prev=="object"?n.value.prev.link:void 0)??(($=a[i-1])==null?void 0:$.link)},next:u?void 0:{text:(typeof n.value.next=="string"?n.value.next:typeof n.value.next=="object"?n.value.next.text:void 0)??((b=a[i+1])==null?void 0:b.docFooterText)??((N=a[i+1])==null?void 0:N.text),link:(typeof n.value.next=="object"?n.value.next.link:void 0)??((w=a[i+1])==null?void 0:w.link)}}})}function mn(e,t){const n=new Set;return e.filter(s=>{const o=t(s);return n.has(o)?!1:n.add(o)})}const W=k({__name:"VPLink",props:{tag:{},href:{},noIcon:{type:Boolean},target:{},rel:{}},setup(e){const t=e,n=V(()=>t.tag??(t.href?"a":"span")),s=V(()=>t.href&&We.test(t.href)||t.target==="_blank");return(o,a)=>(r(),S(se(n.value),{class:C(["VPLink",{link:o.href,"vp-external-link-icon":s.value,"no-icon":o.noIcon}]),href:o.href?l(Ce)(o.href):void 0,target:o.target??(s.value?"_blank":void 0),rel:o.rel??(s.value?"noreferrer":void 0)},{default:v(()=>[d(o.$slots,"default")]),_:3},8,["class","href","target","rel"]))}}),_n={class:"VPLastUpdated"},gn=["datetime"],kn=k({__name:"VPDocFooterLastUpdated",setup(e){const{theme:t,page:n,frontmatter:s,lang:o}=T(),a=V(()=>new Date(s.value.lastUpdated??n.value.lastUpdated)),i=V(()=>a.value.toISOString()),c=I("");return oe(()=>{me(()=>{var u,f,_;c.value=new Intl.DateTimeFormat((f=(u=t.value.lastUpdated)==null?void 0:u.formatOptions)!=null&&f.forceLocale?o.value:void 0,((_=t.value.lastUpdated)==null?void 0:_.formatOptions)??{dateStyle:"short",timeStyle:"short"}).format(a.value)})}),(u,f)=>{var _;return r(),p("p",_n,[J(M(((_=l(t).lastUpdated)==null?void 0:_.text)||l(t).lastUpdatedText||"Last updated")+": ",1),h("time",{datetime:i.value},M(c.value),9,gn)])}}}),$n=L(kn,[["__scopeId","data-v-5be60f87"]]),ot=e=>(z("data-v-0ce50de1"),e=e(),j(),e),bn={key:0,class:"VPDocFooter"},yn={key:0,class:"edit-info"},Pn={key:0,class:"edit-link"},Vn=ot(()=>h("span",{class:"vpi-square-pen edit-link-icon"},null,-1)),Ln={key:1,class:"last-updated"},Sn={key:1,class:"prev-next","aria-labelledby":"doc-footer-aria-label"},wn=ot(()=>h("span",{class:"visually-hidden",id:"doc-footer-aria-label"},"Pager",-1)),In={class:"pager"},Tn=["innerHTML"],Nn=["innerHTML"],Mn={class:"pager"},Cn=["innerHTML"],An=["innerHTML"],Bn=k({__name:"VPDocFooter",setup(e){const{theme:t,page:n,frontmatter:s}=T(),o=vn(),a=fn(),i=V(()=>t.value.editLink&&s.value.editLink!==!1),c=V(()=>n.value.lastUpdated&&s.value.lastUpdated!==!1),u=V(()=>i.value||c.value||a.value.prev||a.value.next);return(f,_)=>{var m,P,$,b;return u.value?(r(),p("footer",bn,[d(f.$slots,"doc-footer-before",{},void 0,!0),i.value||c.value?(r(),p("div",yn,[i.value?(r(),p("div",Pn,[y(W,{class:"edit-link-button",href:l(o).url,"no-icon":!0},{default:v(()=>[Vn,J(" "+M(l(o).text),1)]),_:1},8,["href"])])):g("",!0),c.value?(r(),p("div",Ln,[y($n)])):g("",!0)])):g("",!0),(m=l(a).prev)!=null&&m.link||(P=l(a).next)!=null&&P.link?(r(),p("nav",Sn,[wn,h("div",In,[($=l(a).prev)!=null&&$.link?(r(),S(W,{key:0,class:"pager-link prev",href:l(a).prev.link},{default:v(()=>{var N;return[h("span",{class:"desc",innerHTML:((N=l(t).docFooter)==null?void 0:N.prev)||"Previous page"},null,8,Tn),h("span",{class:"title",innerHTML:l(a).prev.text},null,8,Nn)]}),_:1},8,["href"])):g("",!0)]),h("div",Mn,[(b=l(a).next)!=null&&b.link?(r(),S(W,{key:0,class:"pager-link next",href:l(a).next.link},{default:v(()=>{var N;return[h("span",{class:"desc",innerHTML:((N=l(t).docFooter)==null?void 0:N.next)||"Next page"},null,8,Cn),h("span",{class:"title",innerHTML:l(a).next.text},null,8,An)]}),_:1},8,["href"])):g("",!0)])])):g("",!0)])):g("",!0)}}}),Hn=L(Bn,[["__scopeId","data-v-0ce50de1"]]),En=e=>(z("data-v-ef3a4dda"),e=e(),j(),e),On={class:"container"},Dn=En(()=>h("div",{class:"aside-curtain"},null,-1)),Fn={class:"aside-container"},zn={class:"aside-content"},jn={class:"content"},Un={class:"content-container"},qn={class:"main"},Gn=k({__name:"VPDoc",setup(e){const{theme:t}=T(),n=ge(),{hasSidebar:s,hasAside:o,leftAside:a}=X(),i=V(()=>n.path.replace(/[./]+/g,"_").replace(/_html$/,""));return(c,u)=>{const f=Z("Content");return r(),p("div",{class:C(["VPDoc",{"has-sidebar":l(s),"has-aside":l(o)}])},[d(c.$slots,"doc-top",{},void 0,!0),h("div",On,[l(o)?(r(),p("div",{key:0,class:C(["aside",{"left-aside":l(a)}])},[Dn,h("div",Fn,[h("div",zn,[y(pn,null,{"aside-top":v(()=>[d(c.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":v(()=>[d(c.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":v(()=>[d(c.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":v(()=>[d(c.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":v(()=>[d(c.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":v(()=>[d(c.$slots,"aside-ads-after",{},void 0,!0)]),_:3})])])],2)):g("",!0),h("div",jn,[h("div",Un,[d(c.$slots,"doc-before",{},void 0,!0),h("main",qn,[y(f,{class:C(["vp-doc",[i.value,l(t).externalLinkIcon&&"external-link-icon-enabled"]])},null,8,["class"])]),y(Hn,null,{"doc-footer-before":v(()=>[d(c.$slots,"doc-footer-before",{},void 0,!0)]),_:3}),d(c.$slots,"doc-after",{},void 0,!0)])])]),d(c.$slots,"doc-bottom",{},void 0,!0)],2)}}}),Rn=L(Gn,[["__scopeId","data-v-ef3a4dda"]]),xn=k({__name:"VPButton",props:{tag:{},size:{default:"medium"},theme:{default:"brand"},text:{},href:{},target:{},rel:{}},setup(e){const t=e,n=V(()=>t.href&&We.test(t.href)),s=V(()=>t.tag||t.href?"a":"button");return(o,a)=>(r(),S(se(s.value),{class:C(["VPButton",[o.size,o.theme]]),href:o.href?l(Ce)(o.href):void 0,target:t.target??(n.value?"_blank":void 0),rel:t.rel??(n.value?"noreferrer":void 0)},{default:v(()=>[J(M(o.text),1)]),_:1},8,["class","href","target","rel"]))}}),Kn=L(xn,[["__scopeId","data-v-877bb349"]]),Wn=["src","alt"],Jn=k({inheritAttrs:!1,__name:"VPImage",props:{image:{},alt:{}},setup(e){return(t,n)=>{const s=Z("VPImage",!0);return t.image?(r(),p(A,{key:0},[typeof t.image=="string"||"src"in t.image?(r(),p("img",ce({key:0,class:"VPImage"},typeof t.image=="string"?t.$attrs:{...t.image,...t.$attrs},{src:l(fe)(typeof t.image=="string"?t.image:t.image.src),alt:t.alt??(typeof t.image=="string"?"":t.image.alt||"")}),null,16,Wn)):(r(),p(A,{key:1},[y(s,ce({class:"dark",image:t.image.dark,alt:t.image.alt},t.$attrs),null,16,["image","alt"]),y(s,ce({class:"light",image:t.image.light,alt:t.image.alt},t.$attrs),null,16,["image","alt"])],64))],64)):g("",!0)}}}),he=L(Jn,[["__scopeId","data-v-4d414b82"]]),Xn=e=>(z("data-v-e244e0a0"),e=e(),j(),e),Yn={class:"container"},Qn={class:"main"},Zn={key:0,class:"name"},es=["innerHTML"],ts=["innerHTML"],ns=["innerHTML"],ss={key:0,class:"actions"},os={key:0,class:"image"},as={class:"image-container"},is=Xn(()=>h("div",{class:"image-bg"},null,-1)),rs=k({__name:"VPHero",props:{name:{},text:{},tagline:{},image:{},actions:{}},setup(e){const t=ke("hero-image-slot-exists");return(n,s)=>(r(),p("div",{class:C(["VPHero",{"has-image":n.image||l(t)}])},[h("div",Yn,[h("div",Qn,[d(n.$slots,"home-hero-info-before",{},void 0,!0),d(n.$slots,"home-hero-info",{},()=>[n.name?(r(),p("h1",Zn,[h("span",{innerHTML:n.name,class:"clip"},null,8,es)])):g("",!0),n.text?(r(),p("p",{key:1,innerHTML:n.text,class:"text"},null,8,ts)):g("",!0),n.tagline?(r(),p("p",{key:2,innerHTML:n.tagline,class:"tagline"},null,8,ns)):g("",!0)],!0),d(n.$slots,"home-hero-info-after",{},void 0,!0),n.actions?(r(),p("div",ss,[(r(!0),p(A,null,F(n.actions,o=>(r(),p("div",{key:o.link,class:"action"},[y(Kn,{tag:"a",size:"medium",theme:o.theme,text:o.text,href:o.link,target:o.target,rel:o.rel},null,8,["theme","text","href","target","rel"])]))),128))])):g("",!0),d(n.$slots,"home-hero-actions-after",{},void 0,!0)]),n.image||l(t)?(r(),p("div",os,[h("div",as,[is,d(n.$slots,"home-hero-image",{},()=>[n.image?(r(),S(he,{key:0,class:"image-src",image:n.image},null,8,["image"])):g("",!0)],!0)])])):g("",!0)])],2))}}),ls=L(rs,[["__scopeId","data-v-e244e0a0"]]),cs=k({__name:"VPHomeHero",setup(e){const{frontmatter:t}=T();return(n,s)=>l(t).hero?(r(),S(ls,{key:0,class:"VPHomeHero",name:l(t).hero.name,text:l(t).hero.text,tagline:l(t).hero.tagline,image:l(t).hero.image,actions:l(t).hero.actions},{"home-hero-info-before":v(()=>[d(n.$slots,"home-hero-info-before")]),"home-hero-info":v(()=>[d(n.$slots,"home-hero-info")]),"home-hero-info-after":v(()=>[d(n.$slots,"home-hero-info-after")]),"home-hero-actions-after":v(()=>[d(n.$slots,"home-hero-actions-after")]),"home-hero-image":v(()=>[d(n.$slots,"home-hero-image")]),_:3},8,["name","text","tagline","image","actions"])):g("",!0)}}),us=e=>(z("data-v-95001937"),e=e(),j(),e),ds={class:"box"},hs={key:0,class:"icon"},ps=["innerHTML"],vs=["innerHTML"],fs=["innerHTML"],ms={key:4,class:"link-text"},_s={class:"link-text-value"},gs=us(()=>h("span",{class:"vpi-arrow-right link-text-icon"},null,-1)),ks=k({__name:"VPFeature",props:{icon:{},title:{},details:{},link:{},linkText:{},rel:{},target:{}},setup(e){return(t,n)=>(r(),S(W,{class:"VPFeature",href:t.link,rel:t.rel,target:t.target,"no-icon":!0,tag:t.link?"a":"div"},{default:v(()=>[h("article",ds,[typeof t.icon=="object"&&t.icon.wrap?(r(),p("div",hs,[y(he,{image:t.icon,alt:t.icon.alt,height:t.icon.height||48,width:t.icon.width||48},null,8,["image","alt","height","width"])])):typeof t.icon=="object"?(r(),S(he,{key:1,image:t.icon,alt:t.icon.alt,height:t.icon.height||48,width:t.icon.width||48},null,8,["image","alt","height","width"])):t.icon?(r(),p("div",{key:2,class:"icon",innerHTML:t.icon},null,8,ps)):g("",!0),h("h2",{class:"title",innerHTML:t.title},null,8,vs),t.details?(r(),p("p",{key:3,class:"details",innerHTML:t.details},null,8,fs)):g("",!0),t.linkText?(r(),p("div",ms,[h("p",_s,[J(M(t.linkText)+" ",1),gs])])):g("",!0)])]),_:1},8,["href","rel","target","tag"]))}}),$s=L(ks,[["__scopeId","data-v-95001937"]]),bs={key:0,class:"VPFeatures"},ys={class:"container"},Ps={class:"items"},Vs=k({__name:"VPFeatures",props:{features:{}},setup(e){const t=e,n=V(()=>{const s=t.features.length;if(s){if(s===2)return"grid-2";if(s===3)return"grid-3";if(s%3===0)return"grid-6";if(s>3)return"grid-4"}else return});return(s,o)=>s.features?(r(),p("div",bs,[h("div",ys,[h("div",Ps,[(r(!0),p(A,null,F(s.features,a=>(r(),p("div",{key:a.title,class:C(["item",[n.value]])},[y($s,{icon:a.icon,title:a.title,details:a.details,link:a.link,"link-text":a.linkText,rel:a.rel,target:a.target},null,8,["icon","title","details","link","link-text","rel","target"])],2))),128))])])])):g("",!0)}}),Ls=L(Vs,[["__scopeId","data-v-1da4ff3d"]]),Ss=k({__name:"VPHomeFeatures",setup(e){const{frontmatter:t}=T();return(n,s)=>l(t).features?(r(),S(Ls,{key:0,class:"VPHomeFeatures",features:l(t).features},null,8,["features"])):g("",!0)}}),ws=k({__name:"VPHomeContent",setup(e){const{width:t}=gt({initialWidth:0,includeScrollbar:!1});return(n,s)=>(r(),p("div",{class:"vp-doc container",style:Je(l(t)?{"--vp-offset":`calc(50% - ${l(t)/2}px)`}:{})},[d(n.$slots,"default",{},void 0,!0)],4))}}),Is=L(ws,[["__scopeId","data-v-2498cc33"]]),Ts={class:"VPHome"},Ns=k({__name:"VPHome",setup(e){const{frontmatter:t}=T();return(n,s)=>{const o=Z("Content");return r(),p("div",Ts,[d(n.$slots,"home-hero-before",{},void 0,!0),y(cs,null,{"home-hero-info-before":v(()=>[d(n.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":v(()=>[d(n.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":v(()=>[d(n.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":v(()=>[d(n.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":v(()=>[d(n.$slots,"home-hero-image",{},void 0,!0)]),_:3}),d(n.$slots,"home-hero-after",{},void 0,!0),d(n.$slots,"home-features-before",{},void 0,!0),y(Ss),d(n.$slots,"home-features-after",{},void 0,!0),l(t).markdownStyles!==!1?(r(),S(Is,{key:0},{default:v(()=>[y(o)]),_:1})):(r(),S(o,{key:1}))])}}}),Ms=L(Ns,[["__scopeId","data-v-95a6a92c"]]),Cs={},As={class:"VPPage"};function Bs(e,t){const n=Z("Content");return r(),p("div",As,[d(e.$slots,"page-top"),y(n),d(e.$slots,"page-bottom")])}const Hs=L(Cs,[["render",Bs]]),Es=k({__name:"VPContent",setup(e){const{page:t,frontmatter:n}=T(),{hasSidebar:s}=X();return(o,a)=>(r(),p("div",{class:C(["VPContent",{"has-sidebar":l(s),"is-home":l(n).layout==="home"}]),id:"VPContent"},[l(t).isNotFound?d(o.$slots,"not-found",{key:0},()=>[y(Gt)],!0):l(n).layout==="page"?(r(),S(Hs,{key:1},{"page-top":v(()=>[d(o.$slots,"page-top",{},void 0,!0)]),"page-bottom":v(()=>[d(o.$slots,"page-bottom",{},void 0,!0)]),_:3})):l(n).layout==="home"?(r(),S(Ms,{key:2},{"home-hero-before":v(()=>[d(o.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info-before":v(()=>[d(o.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":v(()=>[d(o.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":v(()=>[d(o.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":v(()=>[d(o.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":v(()=>[d(o.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":v(()=>[d(o.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":v(()=>[d(o.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":v(()=>[d(o.$slots,"home-features-after",{},void 0,!0)]),_:3})):l(n).layout&&l(n).layout!=="doc"?(r(),S(se(l(n).layout),{key:3})):(r(),S(Rn,{key:4},{"doc-top":v(()=>[d(o.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":v(()=>[d(o.$slots,"doc-bottom",{},void 0,!0)]),"doc-footer-before":v(()=>[d(o.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":v(()=>[d(o.$slots,"doc-before",{},void 0,!0)]),"doc-after":v(()=>[d(o.$slots,"doc-after",{},void 0,!0)]),"aside-top":v(()=>[d(o.$slots,"aside-top",{},void 0,!0)]),"aside-outline-before":v(()=>[d(o.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":v(()=>[d(o.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":v(()=>[d(o.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":v(()=>[d(o.$slots,"aside-ads-after",{},void 0,!0)]),"aside-bottom":v(()=>[d(o.$slots,"aside-bottom",{},void 0,!0)]),_:3}))],2))}}),Os=L(Es,[["__scopeId","data-v-d2aef184"]]),Ds={class:"container"},Fs=["innerHTML"],zs=["innerHTML"],js=k({__name:"VPFooter",setup(e){const{theme:t,frontmatter:n}=T(),{hasSidebar:s}=X();return(o,a)=>l(t).footer&&l(n).footer!==!1?(r(),p("footer",{key:0,class:C(["VPFooter",{"has-sidebar":l(s)}])},[h("div",Ds,[l(t).footer.message?(r(),p("p",{key:0,class:"message",innerHTML:l(t).footer.message},null,8,Fs)):g("",!0),l(t).footer.copyright?(r(),p("p",{key:1,class:"copyright",innerHTML:l(t).footer.copyright},null,8,zs)):g("",!0)])],2)):g("",!0)}}),Us=L(js,[["__scopeId","data-v-e3157d6d"]]);function qs(){const{theme:e,frontmatter:t}=T(),n=Ke([]),s=V(()=>n.value.length>0);return _e(()=>{n.value=Ae(t.value.outline??e.value.outline)}),{headers:n,hasLocalNav:s}}const Gs=e=>(z("data-v-d1de893e"),e=e(),j(),e),Rs={class:"menu-text"},xs=Gs(()=>h("span",{class:"vpi-chevron-right icon"},null,-1)),Ks={class:"header"},Ws={class:"outline"},Js=k({__name:"VPLocalNavOutlineDropdown",props:{headers:{},navHeight:{}},setup(e){const t=e,{theme:n}=T(),s=I(!1),o=I(0),a=I(),i=I();function c(m){var P;(P=a.value)!=null&&P.contains(m.target)||(s.value=!1)}Q(s,m=>{if(m){document.addEventListener("click",c);return}document.removeEventListener("click",c)}),kt("Escape",()=>{s.value=!1}),_e(()=>{s.value=!1});function u(){s.value=!s.value,o.value=window.innerHeight+Math.min(window.scrollY-t.navHeight,0)}function f(m){m.target.classList.contains("outline-link")&&(i.value&&(i.value.style.transition="none"),Xe(()=>{s.value=!1}))}function _(){s.value=!1,window.scrollTo({top:0,left:0,behavior:"smooth"})}return(m,P)=>(r(),p("div",{class:"VPLocalNavOutlineDropdown",style:Je({"--vp-vh":o.value+"px"}),ref_key:"main",ref:a},[m.headers.length>0?(r(),p("button",{key:0,onClick:u,class:C({open:s.value})},[h("span",Rs,M(l(nt)(l(n))),1),xs],2)):(r(),p("button",{key:1,onClick:_},M(l(n).returnToTopLabel||"Return to top"),1)),y(Ne,{name:"flyout"},{default:v(()=>[s.value?(r(),p("div",{key:0,ref_key:"items",ref:i,class:"items",onClick:f},[h("div",Ks,[h("a",{class:"top-link",href:"#",onClick:_},M(l(n).returnToTopLabel||"Return to top"),1)]),h("div",Ws,[y(st,{headers:m.headers},null,8,["headers"])])],512)):g("",!0)]),_:1})],4))}}),Xs=L(Js,[["__scopeId","data-v-d1de893e"]]),Ys=e=>(z("data-v-9d8129cc"),e=e(),j(),e),Qs={class:"container"},Zs=["aria-expanded"],eo=Ys(()=>h("span",{class:"vpi-align-left menu-icon"},null,-1)),to={class:"menu-text"},no=k({__name:"VPLocalNav",props:{open:{type:Boolean}},emits:["open-menu"],setup(e){const{theme:t,frontmatter:n}=T(),{hasSidebar:s}=X(),{headers:o}=qs(),{y:a}=Ye(),i=I(0);oe(()=>{i.value=parseInt(getComputedStyle(document.documentElement).getPropertyValue("--vp-nav-height"))}),_e(()=>{o.value=Ae(n.value.outline??t.value.outline)});const c=V(()=>o.value.length===0),u=V(()=>c.value&&!s.value),f=V(()=>({VPLocalNav:!0,"has-sidebar":s.value,empty:c.value,fixed:u.value}));return(_,m)=>l(n).layout!=="home"&&(!u.value||l(a)>=i.value)?(r(),p("div",{key:0,class:C(f.value)},[h("div",Qs,[l(s)?(r(),p("button",{key:0,class:"menu","aria-expanded":_.open,"aria-controls":"VPSidebarNav",onClick:m[0]||(m[0]=P=>_.$emit("open-menu"))},[eo,h("span",to,M(l(t).sidebarMenuLabel||"Menu"),1)],8,Zs)):g("",!0),y(Xs,{headers:l(o),navHeight:i.value},null,8,["headers","navHeight"])])],2)):g("",!0)}}),so=L(no,[["__scopeId","data-v-9d8129cc"]]);function oo(){const e=I(!1);function t(){e.value=!0,window.addEventListener("resize",o)}function n(){e.value=!1,window.removeEventListener("resize",o)}function s(){e.value?n():t()}function o(){window.outerWidth>=768&&n()}const a=ge();return Q(()=>a.path,n),{isScreenOpen:e,openScreen:t,closeScreen:n,toggleScreen:s}}const ao={},io={class:"VPSwitch",type:"button",role:"switch"},ro={class:"check"},lo={key:0,class:"icon"};function co(e,t){return r(),p("button",io,[h("span",ro,[e.$slots.default?(r(),p("span",lo,[d(e.$slots,"default",{},void 0,!0)])):g("",!0)])])}const uo=L(ao,[["render",co],["__scopeId","data-v-7012e5dd"]]),at=e=>(z("data-v-bfa23729"),e=e(),j(),e),ho=at(()=>h("span",{class:"vpi-sun sun"},null,-1)),po=at(()=>h("span",{class:"vpi-moon moon"},null,-1)),vo=k({__name:"VPSwitchAppearance",setup(e){const{isDark:t,theme:n}=T(),s=ke("toggle-appearance",()=>{t.value=!t.value}),o=V(()=>t.value?n.value.lightModeSwitchTitle||"Switch to light theme":n.value.darkModeSwitchTitle||"Switch to dark theme");return(a,i)=>(r(),S(uo,{title:o.value,class:"VPSwitchAppearance","aria-checked":l(t),onClick:l(s)},{default:v(()=>[ho,po]),_:1},8,["title","aria-checked","onClick"]))}}),Be=L(vo,[["__scopeId","data-v-bfa23729"]]),fo={key:0,class:"VPNavBarAppearance"},mo=k({__name:"VPNavBarAppearance",setup(e){const{site:t}=T();return(n,s)=>l(t).appearance&&l(t).appearance!=="force-dark"?(r(),p("div",fo,[y(Be)])):g("",!0)}}),_o=L(mo,[["__scopeId","data-v-f774fc1d"]]),He=I();let it=!1,ye=0;function go(e){const t=I(!1);if($e){!it&&ko(),ye++;const n=Q(He,s=>{var o,a,i;s===e.el.value||(o=e.el.value)!=null&&o.contains(s)?(t.value=!0,(a=e.onFocus)==null||a.call(e)):(t.value=!1,(i=e.onBlur)==null||i.call(e))});Me(()=>{n(),ye--,ye||$o()})}return $t(t)}function ko(){document.addEventListener("focusin",rt),it=!0,He.value=document.activeElement}function $o(){document.removeEventListener("focusin",rt)}function rt(){He.value=document.activeElement}const bo={class:"VPMenuLink"},yo=k({__name:"VPMenuLink",props:{item:{}},setup(e){const{page:t}=T();return(n,s)=>(r(),p("div",bo,[y(W,{class:C({active:l(ee)(l(t).relativePath,n.item.activeMatch||n.item.link,!!n.item.activeMatch)}),href:n.item.link,target:n.item.target,rel:n.item.rel},{default:v(()=>[J(M(n.item.text),1)]),_:1},8,["class","href","target","rel"])]))}}),be=L(yo,[["__scopeId","data-v-71c5411b"]]),Po={class:"VPMenuGroup"},Vo={key:0,class:"title"},Lo=k({__name:"VPMenuGroup",props:{text:{},items:{}},setup(e){return(t,n)=>(r(),p("div",Po,[t.text?(r(),p("p",Vo,M(t.text),1)):g("",!0),(r(!0),p(A,null,F(t.items,s=>(r(),p(A,null,["link"in s?(r(),S(be,{key:0,item:s},null,8,["item"])):g("",!0)],64))),256))]))}}),So=L(Lo,[["__scopeId","data-v-2bec9359"]]),wo={class:"VPMenu"},Io={key:0,class:"items"},To=k({__name:"VPMenu",props:{items:{}},setup(e){return(t,n)=>(r(),p("div",wo,[t.items?(r(),p("div",Io,[(r(!0),p(A,null,F(t.items,s=>(r(),p(A,{key:s.text},["link"in s?(r(),S(be,{key:0,item:s},null,8,["item"])):(r(),S(So,{key:1,text:s.text,items:s.items},null,8,["text","items"]))],64))),128))])):g("",!0),d(t.$slots,"default",{},void 0,!0)]))}}),No=L(To,[["__scopeId","data-v-7bffa9cd"]]),Mo=e=>(z("data-v-8fd20e7d"),e=e(),j(),e),Co=["aria-expanded","aria-label"],Ao={key:0,class:"text"},Bo=["innerHTML"],Ho=Mo(()=>h("span",{class:"vpi-chevron-down text-icon"},null,-1)),Eo={key:1,class:"vpi-more-horizontal icon"},Oo={class:"menu"},Do=k({__name:"VPFlyout",props:{icon:{},button:{},label:{},items:{}},setup(e){const t=I(!1),n=I();go({el:n,onBlur:s});function s(){t.value=!1}return(o,a)=>(r(),p("div",{class:"VPFlyout",ref_key:"el",ref:n,onMouseenter:a[1]||(a[1]=i=>t.value=!0),onMouseleave:a[2]||(a[2]=i=>t.value=!1)},[h("button",{type:"button",class:"button","aria-haspopup":"true","aria-expanded":t.value,"aria-label":o.label,onClick:a[0]||(a[0]=i=>t.value=!t.value)},[o.button||o.icon?(r(),p("span",Ao,[o.icon?(r(),p("span",{key:0,class:C([o.icon,"option-icon"])},null,2)):g("",!0),o.button?(r(),p("span",{key:1,innerHTML:o.button},null,8,Bo)):g("",!0),Ho])):(r(),p("span",Eo))],8,Co),h("div",Oo,[y(No,{items:o.items},{default:v(()=>[d(o.$slots,"default",{},void 0,!0)]),_:3},8,["items"])])],544))}}),Ee=L(Do,[["__scopeId","data-v-8fd20e7d"]]),Fo=["href","aria-label","innerHTML"],zo=k({__name:"VPSocialLink",props:{icon:{},link:{},ariaLabel:{}},setup(e){const t=e,n=V(()=>typeof t.icon=="object"?t.icon.svg:``);return(s,o)=>(r(),p("a",{class:"VPSocialLink no-icon",href:s.link,"aria-label":s.ariaLabel??(typeof s.icon=="string"?s.icon:""),target:"_blank",rel:"noopener",innerHTML:n.value},null,8,Fo))}}),jo=L(zo,[["__scopeId","data-v-50151957"]]),Uo={class:"VPSocialLinks"},qo=k({__name:"VPSocialLinks",props:{links:{}},setup(e){return(t,n)=>(r(),p("div",Uo,[(r(!0),p(A,null,F(t.links,({link:s,icon:o,ariaLabel:a})=>(r(),S(jo,{key:s,icon:o,link:s,ariaLabel:a},null,8,["icon","link","ariaLabel"]))),128))]))}}),Oe=L(qo,[["__scopeId","data-v-f2234a39"]]),Go={key:0,class:"group translations"},Ro={class:"trans-title"},xo={key:1,class:"group"},Ko={class:"item appearance"},Wo={class:"label"},Jo={class:"appearance-action"},Xo={key:2,class:"group"},Yo={class:"item social-links"},Qo=k({__name:"VPNavBarExtra",setup(e){const{site:t,theme:n}=T(),{localeLinks:s,currentLang:o}=ie({correspondingLink:!0}),a=V(()=>s.value.length&&o.value.label||t.value.appearance||n.value.socialLinks);return(i,c)=>a.value?(r(),S(Ee,{key:0,class:"VPNavBarExtra",label:"extra navigation"},{default:v(()=>[l(s).length&&l(o).label?(r(),p("div",Go,[h("p",Ro,M(l(o).label),1),(r(!0),p(A,null,F(l(s),u=>(r(),S(be,{key:u.link,item:u},null,8,["item"]))),128))])):g("",!0),l(t).appearance&&l(t).appearance!=="force-dark"?(r(),p("div",xo,[h("div",Ko,[h("p",Wo,M(l(n).darkModeSwitchLabel||"Appearance"),1),h("div",Jo,[y(Be)])])])):g("",!0),l(n).socialLinks?(r(),p("div",Xo,[h("div",Yo,[y(Oe,{class:"social-links-list",links:l(n).socialLinks},null,8,["links"])])])):g("",!0)]),_:1})):g("",!0)}}),Zo=L(Qo,[["__scopeId","data-v-ca99dad5"]]),ea=e=>(z("data-v-670493dd"),e=e(),j(),e),ta=["aria-expanded"],na=ea(()=>h("span",{class:"container"},[h("span",{class:"top"}),h("span",{class:"middle"}),h("span",{class:"bottom"})],-1)),sa=[na],oa=k({__name:"VPNavBarHamburger",props:{active:{type:Boolean}},emits:["click"],setup(e){return(t,n)=>(r(),p("button",{type:"button",class:C(["VPNavBarHamburger",{active:t.active}]),"aria-label":"mobile navigation","aria-expanded":t.active,"aria-controls":"VPNavScreen",onClick:n[0]||(n[0]=s=>t.$emit("click"))},sa,10,ta))}}),aa=L(oa,[["__scopeId","data-v-670493dd"]]),ia=["innerHTML"],ra=k({__name:"VPNavBarMenuLink",props:{item:{}},setup(e){const{page:t}=T();return(n,s)=>(r(),S(W,{class:C({VPNavBarMenuLink:!0,active:l(ee)(l(t).relativePath,n.item.activeMatch||n.item.link,!!n.item.activeMatch)}),href:n.item.link,noIcon:n.item.noIcon,target:n.item.target,rel:n.item.rel,tabindex:"0"},{default:v(()=>[h("span",{innerHTML:n.item.text},null,8,ia)]),_:1},8,["class","href","noIcon","target","rel"]))}}),la=L(ra,[["__scopeId","data-v-2b93b872"]]),ca=k({__name:"VPNavBarMenuGroup",props:{item:{}},setup(e){const t=e,{page:n}=T(),s=a=>"link"in a?ee(n.value.relativePath,a.link,!!t.item.activeMatch):a.items.some(s),o=V(()=>s(t.item));return(a,i)=>(r(),S(Ee,{class:C({VPNavBarMenuGroup:!0,active:l(ee)(l(n).relativePath,a.item.activeMatch,!!a.item.activeMatch)||o.value}),button:a.item.text,items:a.item.items},null,8,["class","button","items"]))}}),ua=e=>(z("data-v-c6c3e6d4"),e=e(),j(),e),da={key:0,"aria-labelledby":"main-nav-aria-label",class:"VPNavBarMenu"},ha=ua(()=>h("span",{id:"main-nav-aria-label",class:"visually-hidden"},"Main Navigation",-1)),pa=k({__name:"VPNavBarMenu",setup(e){const{theme:t}=T();return(n,s)=>l(t).nav?(r(),p("nav",da,[ha,(r(!0),p(A,null,F(l(t).nav,o=>(r(),p(A,{key:o.text},["link"in o?(r(),S(la,{key:0,item:o},null,8,["item"])):(r(),S(ca,{key:1,item:o},null,8,["item"]))],64))),128))])):g("",!0)}}),va=L(pa,[["__scopeId","data-v-c6c3e6d4"]]),fa="/document/assets/flex-logo.BJA2J7hW.svg";function Pe(e,t){return typeof e>"u"?t:e}function ze(e){const t=Array(e);for(let n=0;n=this.minlength&&(c||!i[_])){let P=le(u,o,f),$="";switch(this.tokenize){case"full":if(3b;N--)if(N-b>=this.minlength){const w=le(u,o,f,m,b);$=_.substring(b,N),this.push_index(i,$,w,e,n)}break}case"reverse":if(2=this.minlength){const N=le(u,o,f,m,b);this.push_index(i,$,N,e,n)}$=""}case"forward":if(1=this.minlength&&this.push_index(i,$,P,e,n);break}default:if(this.boost&&(P=Math.min(0|P/this.boost(t,_,f),u-1)),this.push_index(i,_,P,e,n),c&&1=this.minlength&&!b[_]){b[_]=1;const K=le(N+(o/2>N?0:1),o,f,U-1,D-1),Y=this.bidirectional&&_>w;this.push_index(a,Y?w:_,K,e,n,Y?_:w)}}}}}this.fastupdate||(this.register[e]=1)}}return this};function le(e,t,n,s,o){return n&&1=this.minlength&&!m[$]){if(!this.optimize&&!a&&!this.map[$])return i;P[N++]=$,m[$]=1}e=P,s=e.length}if(!s)return i;t||(t=100);let u,f=this.depth&&1=n)))));$++);if(f)return o?qe(c,n,0):void(e[e.length]=c)}return!t&&c};function qe(e,t,n){return e=e.length===1?e[0]:_a(e),n||e.length>t?e.slice(n,n+t):e}function Ge(e,t,n,s){if(n){const o=s&&t>n;e=e[o?t:n],e=e&&e[o?n:t]}else e=e[t];return e}R.prototype.contain=function(e){return!!this.register[e]},R.prototype.update=function(e,t){return this.remove(e).add(e,t)},R.prototype.remove=function(e,t){const n=this.register[e];if(n){if(this.fastupdate)for(let s,o=0;o{if(a.value){for(var H=m.value.search(a.value,{enrich:!0}),B=[],q=0;q!H||!H.length?[]:H.reduce((q,E)=>(q[B(E)]||(q[B(E)]=[]),q[B(E)].push(E),q),{}),K=()=>{setTimeout(()=>{c.value&&c.value.focus()},100),De(),o.value=!0};oe(async()=>{var E,O;const H=await yt(()=>import("./virtual_search-data.BZPFDTFr.js"),[]);u.value=H.default.INDEX_DATA,f.value=H.default.PREVIEW_LOOKUP,_.value=H.default.Options,i.value=window.location.origin+fe(n.value==="root"?"/":n.value),P.value=((E=_.value)==null?void 0:E.buttonLabel)||P.value,$.value=((O=_.value)==null?void 0:O.placeholder)||$.value;var B=new R(_.value);B.import("reg",u.value.reg),B.import("cfg",u.value.cfg),B.import("map",u.value.map),B.import("ctx",u.value.ctx),m.value=B,s.value.innerHTML=/(Mac|iPhone|iPod|iPad)/i.test(navigator.platform)?"⌘":"Ctrl";const q=G=>{var ne;G.key==="k"&&(G.ctrlKey||G.metaKey)&&(G.preventDefault(),K()),G.key==="Escape"&&((ne=a.value)==null?void 0:ne.length)==0&&o.value&&(o.value=!1)};window.addEventListener("keydown",q)});const Y=V(()=>D(U.value,H=>H.link.split("/").slice(0,-1).join("-"))),te=V(()=>Object.values(Y.value).flat().map(H=>H.id));function De(){o.value=!1,a.value=""}const ht=H=>{var B,q;if(document.getElementsByClassName("search-group")[0]){if(H.key=="ArrowUp"||H.key=="ArrowDown"){const E=te.value.indexOf(b.value);if(H.key=="ArrowUp"){const O=E==0?te.value.length-1:E-1;b.value=te.value[O]}if(H.key=="ArrowDown"){const O=E>te.value.length-2?0:E+1;b.value=te.value[O]}if(E<5){const O=N.value.getElementsByClassName("VPPluginSearch-search-group")[0];O==null||O.scrollIntoView(!0)}else(B=document.getElementById(te.value[b.value]))==null||B.scrollIntoView(!0);Xe()}H.key=="Enter"&&w.go(t.site.value.base+((q=N.value.getElementsByClassName("link-focused")[0].getAttribute("href"))==null?void 0:q.replace(i.value,"")))}};return(H,B)=>{const q=Z("ClientOnly");return r(),p("div",Oa,[y(q,null,{default:v(()=>[(r(),S(Lt,{to:"body"},[Fe(h("div",{class:"VPPluginSearch-modal-back",onClick:B[2]||(B[2]=E=>o.value=!1),onKeydown:ht},[h("div",{class:"VPPluginSearch-modal",onClick:B[1]||(B[1]=Qe(()=>{},["stop"])),ref_key:"modal",ref:N},[h("form",Da,[Fa,Fe(h("input",{class:"DocSearch-Input","aria-autocomplete":"both","aria-labelledby":"docsearch-label",id:"docsearch-input",autocomplete:"off",autocorrect:"off",autocapitalize:"off",enterkeyhint:"search",spellcheck:"false",autofocus:"true","onUpdate:modelValue":B[0]||(B[0]=E=>a.value=E),placeholder:$.value,maxlength:"64",type:"search",ref_key:"input",ref:c},null,8,za),[[Vt,a.value]])]),h("div",ja,[(r(!0),p(A,null,F(Y.value,(E,O)=>(r(),p("div",{class:"search-group",key:O},[h("span",Ua,M(O?O.toString()[0].toUpperCase()+O.toString().slice(1):"Home"),1),(r(!0),p(A,null,F(E,(G,ne)=>(r(),p("a",{href:i.value+G.link,key:G.id,onClick:De,onMouseenter:re=>b.value=G.id,class:C({"link-focused":b.value==G.id}),id:ne.toString()},[h("div",Ga,[h("span",Ra,M(G.link.includes("#")?"#":"▤"),1),h("div",xa,[h("h3",null,M(G.title),1),h("p",null,[h("div",{innerHTML:G.preview},null,8,Ka)])]),Wa])],42,qa))),128))]))),128))]),Ja],512)],544),[[Pt,o.value]])]))]),_:1}),h("div",{id:"docsearch",onClick:B[3]||(B[3]=E=>K())},[h("button",Xa,[h("span",Ya,[Qa,h("span",Za,M(P.value),1)]),h("span",ei,[h("span",{class:"DocSearch-Button-Key",ref_key:"metaKey",ref:s},"Meta",512),ti])])])])}}}),si=k({__name:"VPNavBarSocialLinks",setup(e){const{theme:t}=T();return(n,s)=>l(t).socialLinks?(r(),S(Oe,{key:0,class:"VPNavBarSocialLinks",links:l(t).socialLinks},null,8,["links"])):g("",!0)}}),oi=L(si,[["__scopeId","data-v-08b35e6f"]]),ai=["href","rel","target"],ii={key:1},ri={key:2},li=k({__name:"VPNavBarTitle",setup(e){const{site:t,theme:n}=T(),{hasSidebar:s}=X(),{currentLang:o}=ie(),a=V(()=>{var u;return typeof n.value.logoLink=="string"?n.value.logoLink:(u=n.value.logoLink)==null?void 0:u.link}),i=V(()=>{var u;return typeof n.value.logoLink=="string"||(u=n.value.logoLink)==null?void 0:u.rel}),c=V(()=>{var u;return typeof n.value.logoLink=="string"||(u=n.value.logoLink)==null?void 0:u.target});return(u,f)=>(r(),p("div",{class:C(["VPNavBarTitle",{"has-sidebar":l(s)}])},[h("a",{class:"title",href:a.value??l(Ce)(l(o).link),rel:i.value,target:c.value},[d(u.$slots,"nav-bar-title-before",{},void 0,!0),l(n).logo?(r(),S(he,{key:0,class:"logo",image:l(n).logo},null,8,["image"])):g("",!0),l(n).siteTitle?(r(),p("span",ii,M(l(n).siteTitle),1)):l(n).siteTitle===void 0?(r(),p("span",ri,M(l(t).title),1)):g("",!0),d(u.$slots,"nav-bar-title-after",{},void 0,!0)],8,ai)],2))}}),ci=L(li,[["__scopeId","data-v-dbe614b8"]]),ui={class:"items"},di={class:"title"},hi=k({__name:"VPNavBarTranslations",setup(e){const{theme:t}=T(),{localeLinks:n,currentLang:s}=ie({correspondingLink:!0});return(o,a)=>l(n).length&&l(s).label?(r(),S(Ee,{key:0,class:"VPNavBarTranslations",icon:"vpi-languages",label:l(t).langMenuLabel||"Change language"},{default:v(()=>[h("div",ui,[h("p",di,M(l(s).label),1),(r(!0),p(A,null,F(l(n),i=>(r(),S(be,{key:i.link,item:i},null,8,["item"]))),128))])]),_:1},8,["label"])):g("",!0)}}),pi=L(hi,[["__scopeId","data-v-dac637f3"]]),vi=e=>(z("data-v-48384a78"),e=e(),j(),e),fi={class:"wrapper"},mi={class:"container"},_i={class:"title"},gi={class:"content"},ki={class:"content-body"},$i=vi(()=>h("div",{class:"divider"},[h("div",{class:"divider-line"})],-1)),bi=k({__name:"VPNavBar",props:{isScreenOpen:{type:Boolean}},emits:["toggle-screen"],setup(e){const{y:t}=Ye(),{hasSidebar:n}=X(),{frontmatter:s}=T(),o=I({});return xe(()=>{o.value={"has-sidebar":n.value,home:s.value.layout==="home",top:t.value===0}}),(a,i)=>(r(),p("div",{class:C(["VPNavBar",o.value])},[h("div",fi,[h("div",mi,[h("div",_i,[y(ci,null,{"nav-bar-title-before":v(()=>[d(a.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":v(()=>[d(a.$slots,"nav-bar-title-after",{},void 0,!0)]),_:3})]),h("div",gi,[h("div",ki,[d(a.$slots,"nav-bar-content-before",{},void 0,!0),y(ni,{class:"search"}),y(va,{class:"menu"}),y(pi,{class:"translations"}),y(_o,{class:"appearance"}),y(oi,{class:"social-links"}),y(Zo,{class:"extra"}),d(a.$slots,"nav-bar-content-after",{},void 0,!0),y(aa,{class:"hamburger",active:a.isScreenOpen,onClick:i[0]||(i[0]=c=>a.$emit("toggle-screen"))},null,8,["active"])])])])]),$i],2))}}),yi=L(bi,[["__scopeId","data-v-48384a78"]]),Pi={key:0,class:"VPNavScreenAppearance"},Vi={class:"text"},Li=k({__name:"VPNavScreenAppearance",setup(e){const{site:t,theme:n}=T();return(s,o)=>l(t).appearance&&l(t).appearance!=="force-dark"?(r(),p("div",Pi,[h("p",Vi,M(l(n).darkModeSwitchLabel||"Appearance"),1),y(Be)])):g("",!0)}}),Si=L(Li,[["__scopeId","data-v-2836e9a8"]]),wi=k({__name:"VPNavScreenMenuLink",props:{item:{}},setup(e){const t=ke("close-screen");return(n,s)=>(r(),S(W,{class:"VPNavScreenMenuLink",href:n.item.link,target:n.item.target,rel:n.item.rel,onClick:l(t),innerHTML:n.item.text},null,8,["href","target","rel","onClick","innerHTML"]))}}),Ii=L(wi,[["__scopeId","data-v-077287e8"]]),Ti=k({__name:"VPNavScreenMenuGroupLink",props:{item:{}},setup(e){const t=ke("close-screen");return(n,s)=>(r(),S(W,{class:"VPNavScreenMenuGroupLink",href:n.item.link,target:n.item.target,rel:n.item.rel,onClick:l(t)},{default:v(()=>[J(M(n.item.text),1)]),_:1},8,["href","target","rel","onClick"]))}}),lt=L(Ti,[["__scopeId","data-v-ed7bb82d"]]),Ni={class:"VPNavScreenMenuGroupSection"},Mi={key:0,class:"title"},Ci=k({__name:"VPNavScreenMenuGroupSection",props:{text:{},items:{}},setup(e){return(t,n)=>(r(),p("div",Ni,[t.text?(r(),p("p",Mi,M(t.text),1)):g("",!0),(r(!0),p(A,null,F(t.items,s=>(r(),S(lt,{key:s.text,item:s},null,8,["item"]))),128))]))}}),Ai=L(Ci,[["__scopeId","data-v-836cddb8"]]),Bi=e=>(z("data-v-43fd4ddf"),e=e(),j(),e),Hi=["aria-controls","aria-expanded"],Ei=["innerHTML"],Oi=Bi(()=>h("span",{class:"vpi-plus button-icon"},null,-1)),Di=["id"],Fi={key:1,class:"group"},zi=k({__name:"VPNavScreenMenuGroup",props:{text:{},items:{}},setup(e){const t=e,n=I(!1),s=V(()=>`NavScreenGroup-${t.text.replace(" ","-").toLowerCase()}`);function o(){n.value=!n.value}return(a,i)=>(r(),p("div",{class:C(["VPNavScreenMenuGroup",{open:n.value}])},[h("button",{class:"button","aria-controls":s.value,"aria-expanded":n.value,onClick:o},[h("span",{class:"button-text",innerHTML:a.text},null,8,Ei),Oi],8,Hi),h("div",{id:s.value,class:"items"},[(r(!0),p(A,null,F(a.items,c=>(r(),p(A,{key:c.text},["link"in c?(r(),p("div",{key:c.text,class:"item"},[y(lt,{item:c},null,8,["item"])])):(r(),p("div",Fi,[y(Ai,{text:c.text,items:c.items},null,8,["text","items"])]))],64))),128))],8,Di)],2))}}),ji=L(zi,[["__scopeId","data-v-43fd4ddf"]]),Ui={key:0,class:"VPNavScreenMenu"},qi=k({__name:"VPNavScreenMenu",setup(e){const{theme:t}=T();return(n,s)=>l(t).nav?(r(),p("nav",Ui,[(r(!0),p(A,null,F(l(t).nav,o=>(r(),p(A,{key:o.text},["link"in o?(r(),S(Ii,{key:0,item:o},null,8,["item"])):(r(),S(ji,{key:1,text:o.text||"",items:o.items},null,8,["text","items"]))],64))),128))])):g("",!0)}}),Gi=k({__name:"VPNavScreenSocialLinks",setup(e){const{theme:t}=T();return(n,s)=>l(t).socialLinks?(r(),S(Oe,{key:0,class:"VPNavScreenSocialLinks",links:l(t).socialLinks},null,8,["links"])):g("",!0)}}),ct=e=>(z("data-v-0d43316b"),e=e(),j(),e),Ri=ct(()=>h("span",{class:"vpi-languages icon lang"},null,-1)),xi=ct(()=>h("span",{class:"vpi-chevron-down icon chevron"},null,-1)),Ki={class:"list"},Wi=k({__name:"VPNavScreenTranslations",setup(e){const{localeLinks:t,currentLang:n}=ie({correspondingLink:!0}),s=I(!1);function o(){s.value=!s.value}return(a,i)=>l(t).length&&l(n).label?(r(),p("div",{key:0,class:C(["VPNavScreenTranslations",{open:s.value}])},[h("button",{class:"title",onClick:o},[Ri,J(" "+M(l(n).label)+" ",1),xi]),h("ul",Ki,[(r(!0),p(A,null,F(l(t),c=>(r(),p("li",{key:c.link,class:"item"},[y(W,{class:"link",href:c.link},{default:v(()=>[J(M(c.text),1)]),_:2},1032,["href"])]))),128))])],2)):g("",!0)}}),Ji=L(Wi,[["__scopeId","data-v-0d43316b"]]),Xi={class:"container"},Yi=k({__name:"VPNavScreen",props:{open:{type:Boolean}},setup(e){const t=I(null),n=Ze($e?document.body:null);return(s,o)=>(r(),S(Ne,{name:"fade",onEnter:o[0]||(o[0]=a=>n.value=!0),onAfterLeave:o[1]||(o[1]=a=>n.value=!1)},{default:v(()=>[s.open?(r(),p("div",{key:0,class:"VPNavScreen",ref_key:"screen",ref:t,id:"VPNavScreen"},[h("div",Xi,[d(s.$slots,"nav-screen-content-before",{},void 0,!0),y(qi,{class:"menu"}),y(Ji,{class:"translations"}),y(Si,{class:"appearance"}),y(Gi,{class:"social-links"}),d(s.$slots,"nav-screen-content-after",{},void 0,!0)])],512)):g("",!0)]),_:3}))}}),Qi=L(Yi,[["__scopeId","data-v-5f4e75ae"]]),Zi={key:0,class:"VPNav"},er=k({__name:"VPNav",setup(e){const{isScreenOpen:t,closeScreen:n,toggleScreen:s}=oo(),{frontmatter:o}=T(),a=V(()=>o.value.navbar!==!1);return et("close-screen",n),me(()=>{$e&&document.documentElement.classList.toggle("hide-nav",!a.value)}),(i,c)=>a.value?(r(),p("header",Zi,[y(yi,{"is-screen-open":l(t),onToggleScreen:l(s)},{"nav-bar-title-before":v(()=>[d(i.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":v(()=>[d(i.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":v(()=>[d(i.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":v(()=>[d(i.$slots,"nav-bar-content-after",{},void 0,!0)]),_:3},8,["is-screen-open","onToggleScreen"]),y(Qi,{open:l(t)},{"nav-screen-content-before":v(()=>[d(i.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":v(()=>[d(i.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3},8,["open"])])):g("",!0)}}),tr=L(er,[["__scopeId","data-v-a46e73f0"]]),ut=e=>(z("data-v-f2cc49b6"),e=e(),j(),e),nr=["role","tabindex"],sr=ut(()=>h("div",{class:"indicator"},null,-1)),or=ut(()=>h("span",{class:"vpi-chevron-right caret-icon"},null,-1)),ar=[or],ir={key:1,class:"items"},rr=k({__name:"VPSidebarItem",props:{item:{},depth:{}},setup(e){const t=e,{collapsed:n,collapsible:s,isLink:o,isActiveLink:a,hasActiveLink:i,hasChildren:c,toggle:u}=Wt(V(()=>t.item)),f=V(()=>c.value?"section":"div"),_=V(()=>o.value?"a":"div"),m=V(()=>c.value?t.depth+2===7?"p":`h${t.depth+2}`:"p"),P=V(()=>o.value?void 0:"button"),$=V(()=>[[`level-${t.depth}`],{collapsible:s.value},{collapsed:n.value},{"is-link":o.value},{"is-active":a.value},{"has-active":i.value}]);function b(w){"key"in w&&w.key!=="Enter"||!t.item.link&&u()}function N(){t.item.link&&u()}return(w,U)=>{const D=Z("VPSidebarItem",!0);return r(),S(se(f.value),{class:C(["VPSidebarItem",$.value])},{default:v(()=>[w.item.text?(r(),p("div",ce({key:0,class:"item",role:P.value},wt(w.item.items?{click:b,keydown:b}:{},!0),{tabindex:w.item.items&&0}),[sr,w.item.link?(r(),S(W,{key:0,tag:_.value,class:"link",href:w.item.link,rel:w.item.rel,target:w.item.target},{default:v(()=>[(r(),S(se(m.value),{class:"text",innerHTML:w.item.text},null,8,["innerHTML"]))]),_:1},8,["tag","href","rel","target"])):(r(),S(se(m.value),{key:1,class:"text",innerHTML:w.item.text},null,8,["innerHTML"])),w.item.collapsed!=null&&w.item.items&&w.item.items.length?(r(),p("div",{key:2,class:"caret",role:"button","aria-label":"toggle section",onClick:N,onKeydown:St(N,["enter"]),tabindex:"0"},ar,32)):g("",!0)],16,nr)):g("",!0),w.item.items&&w.item.items.length?(r(),p("div",ir,[w.depth<5?(r(!0),p(A,{key:0},F(w.item.items,K=>(r(),S(D,{key:K.text,item:K,depth:w.depth+1},null,8,["item","depth"]))),128)):g("",!0)])):g("",!0)]),_:1},8,["class"])}}}),lr=L(rr,[["__scopeId","data-v-f2cc49b6"]]),dt=e=>(z("data-v-2667f5e2"),e=e(),j(),e),cr=dt(()=>h("div",{class:"curtain"},null,-1)),ur={class:"nav",id:"VPSidebarNav","aria-labelledby":"sidebar-aria-label",tabindex:"-1"},dr=dt(()=>h("span",{class:"visually-hidden",id:"sidebar-aria-label"}," Sidebar Navigation ",-1)),hr=k({__name:"VPSidebar",props:{open:{type:Boolean}},setup(e){const{sidebarGroups:t,hasSidebar:n}=X(),s=e,o=I(null),a=Ze($e?document.body:null);return Q([s,o],()=>{var i;s.open?(a.value=!0,(i=o.value)==null||i.focus()):a.value=!1},{immediate:!0,flush:"post"}),(i,c)=>l(n)?(r(),p("aside",{key:0,class:C(["VPSidebar",{open:i.open}]),ref_key:"navEl",ref:o,onClick:c[0]||(c[0]=Qe(()=>{},["stop"]))},[cr,h("nav",ur,[dr,d(i.$slots,"sidebar-nav-before",{},void 0,!0),(r(!0),p(A,null,F(l(t),u=>(r(),p("div",{key:u.text,class:"group"},[y(lr,{item:u,depth:0},null,8,["item"])]))),128)),d(i.$slots,"sidebar-nav-after",{},void 0,!0)])],2)):g("",!0)}}),pr=L(hr,[["__scopeId","data-v-2667f5e2"]]),vr=k({__name:"VPSkipLink",setup(e){const t=ge(),n=I();Q(()=>t.path,()=>n.value.focus());function s({target:o}){const a=document.getElementById(decodeURIComponent(o.hash).slice(1));if(a){const i=()=>{a.removeAttribute("tabindex"),a.removeEventListener("blur",i)};a.setAttribute("tabindex","-1"),a.addEventListener("blur",i),a.focus(),window.scrollTo(0,0)}}return(o,a)=>(r(),p(A,null,[h("span",{ref_key:"backToTop",ref:n,tabindex:"-1"},null,512),h("a",{href:"#VPContent",class:"VPSkipLink visually-hidden",onClick:s}," Skip to content ")],64))}}),fr=L(vr,[["__scopeId","data-v-b22defb4"]]),mr=k({__name:"Layout",setup(e){const{isOpen:t,open:n,close:s}=X(),o=ge();Q(()=>o.path,s),Kt(t,s);const{frontmatter:a}=T(),i=It(),c=V(()=>!!i["home-hero-image"]);return et("hero-image-slot-exists",c),(u,f)=>{const _=Z("Content");return l(a).layout!==!1?(r(),p("div",{key:0,class:C(["Layout",l(a).pageClass])},[d(u.$slots,"layout-top",{},void 0,!0),y(fr),y(Ct,{class:"backdrop",show:l(t),onClick:l(s)},null,8,["show","onClick"]),y(tr,null,{"nav-bar-title-before":v(()=>[d(u.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":v(()=>[d(u.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":v(()=>[d(u.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":v(()=>[d(u.$slots,"nav-bar-content-after",{},void 0,!0)]),"nav-screen-content-before":v(()=>[d(u.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":v(()=>[d(u.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3}),y(so,{open:l(t),onOpenMenu:l(n)},null,8,["open","onOpenMenu"]),y(pr,{open:l(t)},{"sidebar-nav-before":v(()=>[d(u.$slots,"sidebar-nav-before",{},void 0,!0)]),"sidebar-nav-after":v(()=>[d(u.$slots,"sidebar-nav-after",{},void 0,!0)]),_:3},8,["open"]),y(Os,null,{"page-top":v(()=>[d(u.$slots,"page-top",{},void 0,!0)]),"page-bottom":v(()=>[d(u.$slots,"page-bottom",{},void 0,!0)]),"not-found":v(()=>[d(u.$slots,"not-found",{},void 0,!0)]),"home-hero-before":v(()=>[d(u.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info-before":v(()=>[d(u.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":v(()=>[d(u.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":v(()=>[d(u.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":v(()=>[d(u.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":v(()=>[d(u.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":v(()=>[d(u.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":v(()=>[d(u.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":v(()=>[d(u.$slots,"home-features-after",{},void 0,!0)]),"doc-footer-before":v(()=>[d(u.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":v(()=>[d(u.$slots,"doc-before",{},void 0,!0)]),"doc-after":v(()=>[d(u.$slots,"doc-after",{},void 0,!0)]),"doc-top":v(()=>[d(u.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":v(()=>[d(u.$slots,"doc-bottom",{},void 0,!0)]),"aside-top":v(()=>[d(u.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":v(()=>[d(u.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":v(()=>[d(u.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":v(()=>[d(u.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":v(()=>[d(u.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":v(()=>[d(u.$slots,"aside-ads-after",{},void 0,!0)]),_:3}),y(Us),d(u.$slots,"layout-bottom",{},void 0,!0)],2)):(r(),S(_,{key:1}))}}}),_r=L(mr,[["__scopeId","data-v-c4daae71"]]),kr={Layout:_r,enhanceApp:({app:e})=>{e.component("Badge",Tt)}};export{kr as t}; +import{d as k,o as r,c as p,r as d,n as C,a as J,t as M,b as S,w as v,e as g,T as Ne,_ as L,u as Re,i as vt,f as ft,g as fe,h as V,j as h,k as l,p as z,l as j,m as ee,q as Le,s as I,v as Q,x as me,y as oe,z as Me,A as xe,B as mt,C as _t,D as Z,F as A,E as F,G as Ke,H as _e,I as y,J as se,K as We,L as ge,M as ce,N as ke,O as gt,P as Je,Q as kt,R as Xe,S as Ye,U as $e,V as $t,W as bt,X as yt,Y as Fe,Z as Pt,$ as Qe,a0 as Vt,a1 as Lt,a2 as Ze,a3 as et,a4 as St,a5 as wt,a6 as It}from"./framework.DHbvjPBJ.js";const Tt=k({__name:"VPBadge",props:{text:{},type:{default:"tip"}},setup(e){return(t,n)=>(r(),p("span",{class:C(["VPBadge",t.type])},[d(t.$slots,"default",{},()=>[J(M(t.text),1)])],2))}}),Nt={key:0,class:"VPBackdrop"},Mt=k({__name:"VPBackdrop",props:{show:{type:Boolean}},setup(e){return(t,n)=>(r(),S(Ne,{name:"fade"},{default:v(()=>[t.show?(r(),p("div",Nt)):g("",!0)]),_:1}))}}),Ct=L(Mt,[["__scopeId","data-v-b2600058"]]),T=Re;function At(e,t){let n,s=!1;return()=>{n&&clearTimeout(n),s?n=setTimeout(e,t):(e(),(s=!0)&&setTimeout(()=>s=!1,t))}}function Se(e){return/^\//.test(e)?e:`/${e}`}function Ce(e){const{pathname:t,search:n,hash:s,protocol:o}=new URL(e,"http://a.com");if(vt(e)||e.startsWith("#")||!o.startsWith("http")||!ft(t))return e;const{site:a}=T(),i=t.endsWith("/")||t.endsWith(".html")?e:e.replace(/(?:(^\.+)\/)?.*$/,`$1${t.replace(/(\.md)?$/,a.value.cleanUrls?"":".html")}${n}${s}`);return fe(i)}function ie({correspondingLink:e=!1}={}){const{site:t,localeIndex:n,page:s,theme:o,hash:a}=T(),i=V(()=>{var u,f;return{label:(u=t.value.locales[n.value])==null?void 0:u.label,link:((f=t.value.locales[n.value])==null?void 0:f.link)||(n.value==="root"?"/":`/${n.value}/`)}});return{localeLinks:V(()=>Object.entries(t.value.locales).flatMap(([u,f])=>i.value.label===f.label?[]:{text:f.label,link:Bt(f.link||(u==="root"?"/":`/${u}/`),o.value.i18nRouting!==!1&&e,s.value.relativePath.slice(i.value.link.length-1),!t.value.cleanUrls)+a.value})),currentLang:i}}function Bt(e,t,n,s){return t?e.replace(/\/$/,"")+Se(n.replace(/(^|\/)index\.md$/,"$1").replace(/\.md$/,s?".html":"")):e}const Ht=e=>(z("data-v-93fd8736"),e=e(),j(),e),Et={class:"NotFound"},Ot={class:"code"},Dt={class:"title"},Ft=Ht(()=>h("div",{class:"divider"},null,-1)),zt={class:"quote"},jt={class:"action"},Ut=["href","aria-label"],qt=k({__name:"NotFound",setup(e){const{theme:t}=T(),{currentLang:n}=ie();return(s,o)=>{var a,i,c,u,f;return r(),p("div",Et,[h("p",Ot,M(((a=l(t).notFound)==null?void 0:a.code)??"404"),1),h("h1",Dt,M(((i=l(t).notFound)==null?void 0:i.title)??"PAGE NOT FOUND"),1),Ft,h("blockquote",zt,M(((c=l(t).notFound)==null?void 0:c.quote)??"But if you don't change your direction, and if you keep looking, you may end up where you are heading."),1),h("div",jt,[h("a",{class:"link",href:l(fe)(l(n).link),"aria-label":((u=l(t).notFound)==null?void 0:u.linkLabel)??"go to home"},M(((f=l(t).notFound)==null?void 0:f.linkText)??"Take me home"),9,Ut)])])}}}),Gt=L(qt,[["__scopeId","data-v-93fd8736"]]);function tt(e,t){if(Array.isArray(e))return ue(e);if(e==null)return[];t=Se(t);const n=Object.keys(e).sort((o,a)=>a.split("/").length-o.split("/").length).find(o=>t.startsWith(Se(o))),s=n?e[n]:[];return Array.isArray(s)?ue(s):ue(s.items,s.base)}function Rt(e){const t=[];let n=0;for(const s in e){const o=e[s];if(o.items){n=t.push(o);continue}t[n]||t.push({items:[]}),t[n].items.push(o)}return t}function xt(e){const t=[];function n(s){for(const o of s)o.text&&o.link&&t.push({text:o.text,link:o.link,docFooterText:o.docFooterText}),o.items&&n(o.items)}return n(e),t}function we(e,t){return Array.isArray(t)?t.some(n=>we(e,n)):ee(e,t.link)?!0:t.items?we(e,t.items):!1}function ue(e,t){return[...e].map(n=>{const s={...n},o=s.base||t;return o&&s.link&&(s.link=o+s.link),s.items&&(s.items=ue(s.items,o)),s})}function X(){const{frontmatter:e,page:t,theme:n}=T(),s=Le("(min-width: 960px)"),o=I(!1),a=V(()=>{const N=n.value.sidebar,w=t.value.relativePath;return N?tt(N,w):[]}),i=I(a.value);Q(a,(N,w)=>{JSON.stringify(N)!==JSON.stringify(w)&&(i.value=a.value)});const c=V(()=>e.value.sidebar!==!1&&i.value.length>0&&e.value.layout!=="home"),u=V(()=>f?e.value.aside==null?n.value.aside==="left":e.value.aside==="left":!1),f=V(()=>e.value.layout==="home"?!1:e.value.aside!=null?!!e.value.aside:n.value.aside!==!1),_=V(()=>c.value&&s.value),m=V(()=>c.value?Rt(i.value):[]);function P(){o.value=!0}function $(){o.value=!1}function b(){o.value?$():P()}return{isOpen:o,sidebar:i,sidebarGroups:m,hasSidebar:c,hasAside:f,leftAside:u,isSidebarEnabled:_,open:P,close:$,toggle:b}}function Kt(e,t){let n;me(()=>{n=e.value?document.activeElement:void 0}),oe(()=>{window.addEventListener("keyup",s)}),Me(()=>{window.removeEventListener("keyup",s)});function s(o){o.key==="Escape"&&e.value&&(t(),n==null||n.focus())}}function Wt(e){const{page:t,hash:n}=T(),s=I(!1),o=V(()=>e.value.collapsed!=null),a=V(()=>!!e.value.link),i=I(!1),c=()=>{i.value=ee(t.value.relativePath,e.value.link)};Q([t,e,n],c),oe(c);const u=V(()=>i.value?!0:e.value.items?we(t.value.relativePath,e.value.items):!1),f=V(()=>!!(e.value.items&&e.value.items.length));me(()=>{s.value=!!(o.value&&e.value.collapsed)}),xe(()=>{(i.value||u.value)&&(s.value=!1)});function _(){o.value&&(s.value=!s.value)}return{collapsed:s,collapsible:o,isLink:a,isActiveLink:i,hasActiveLink:u,hasChildren:f,toggle:_}}function Jt(){const{hasSidebar:e}=X(),t=Le("(min-width: 960px)"),n=Le("(min-width: 1280px)");return{isAsideEnabled:V(()=>!n.value&&!t.value?!1:e.value?n.value:t.value)}}const Ie=[];function nt(e){return typeof e.outline=="object"&&!Array.isArray(e.outline)&&e.outline.label||e.outlineTitle||"On this page"}function Ae(e){const t=[...document.querySelectorAll(".VPDoc :where(h1,h2,h3,h4,h5,h6)")].filter(n=>n.id&&n.hasChildNodes()).map(n=>{const s=Number(n.tagName[1]);return{element:n,title:Xt(n),link:"#"+n.id,level:s}});return Yt(t,e)}function Xt(e){let t="";for(const n of e.childNodes)if(n.nodeType===1){if(n.classList.contains("VPBadge")||n.classList.contains("header-anchor")||n.classList.contains("ignore-header"))continue;t+=n.textContent}else n.nodeType===3&&(t+=n.textContent);return t.trim()}function Yt(e,t){if(t===!1)return[];const n=(typeof t=="object"&&!Array.isArray(t)?t.level:t)||2,[s,o]=typeof n=="number"?[n,n]:n==="deep"?[2,6]:n;e=e.filter(i=>i.level>=s&&i.level<=o),Ie.length=0;for(const{element:i,link:c}of e)Ie.push({element:i,link:c});const a=[];e:for(let i=0;i=0;u--){const f=e[u];if(f.level{requestAnimationFrame(a),window.addEventListener("scroll",s)}),mt(()=>{i(location.hash)}),Me(()=>{window.removeEventListener("scroll",s)});function a(){if(!n.value)return;const c=window.scrollY,u=window.innerHeight,f=document.body.offsetHeight,_=Math.abs(c+u-f)<1,m=Ie.map(({element:$,link:b})=>({link:b,top:Zt($)})).filter(({top:$})=>!Number.isNaN($)).sort(($,b)=>$.top-b.top);if(!m.length){i(null);return}if(c<1){i(null);return}if(_){i(m[m.length-1].link);return}let P=null;for(const{link:$,top:b}of m){if(b>c+_t()+4)break;P=$}i(P)}function i(c){o&&o.classList.remove("active"),c==null?o=null:o=e.value.querySelector(`a[href="${decodeURIComponent(c)}"]`);const u=o;u?(u.classList.add("active"),t.value.style.top=u.offsetTop+39+"px",t.value.style.opacity="1"):(t.value.style.top="33px",t.value.style.opacity="0")}}function Zt(e){let t=0;for(;e!==document.body;){if(e===null)return NaN;t+=e.offsetTop,e=e.offsetParent}return t}const en=["href","title"],tn=k({__name:"VPDocOutlineItem",props:{headers:{},root:{type:Boolean}},setup(e){function t({target:n}){const s=n.href.split("#")[1],o=document.getElementById(decodeURIComponent(s));o==null||o.focus({preventScroll:!0})}return(n,s)=>{const o=Z("VPDocOutlineItem",!0);return r(),p("ul",{class:C(["VPDocOutlineItem",n.root?"root":"nested"])},[(r(!0),p(A,null,F(n.headers,({children:a,link:i,title:c})=>(r(),p("li",null,[h("a",{class:"outline-link",href:i,onClick:t,title:c},M(c),9,en),a!=null&&a.length?(r(),S(o,{key:0,headers:a},null,8,["headers"])):g("",!0)]))),256))],2)}}}),st=L(tn,[["__scopeId","data-v-da421f78"]]),nn={class:"content"},sn={"aria-level":"2",class:"outline-title",id:"doc-outline-aria-label",role:"heading"},on=k({__name:"VPDocAsideOutline",setup(e){const{frontmatter:t,theme:n}=T(),s=Ke([]);_e(()=>{s.value=Ae(t.value.outline??n.value.outline)});const o=I(),a=I();return Qt(o,a),(i,c)=>(r(),p("nav",{"aria-labelledby":"doc-outline-aria-label",class:C(["VPDocAsideOutline",{"has-outline":s.value.length>0}]),ref_key:"container",ref:o},[h("div",nn,[h("div",{class:"outline-marker",ref_key:"marker",ref:a},null,512),h("div",sn,M(l(nt)(l(n))),1),y(st,{headers:s.value,root:!0},null,8,["headers"])])],2))}}),an=L(on,[["__scopeId","data-v-dfbd9fb8"]]),rn={class:"VPDocAsideCarbonAds"},ln=k({__name:"VPDocAsideCarbonAds",props:{carbonAds:{}},setup(e){const t=()=>null;return(n,s)=>(r(),p("div",rn,[y(l(t),{"carbon-ads":n.carbonAds},null,8,["carbon-ads"])]))}}),cn=e=>(z("data-v-79cae1a0"),e=e(),j(),e),un={class:"VPDocAside"},dn=cn(()=>h("div",{class:"spacer"},null,-1)),hn=k({__name:"VPDocAside",setup(e){const{theme:t}=T();return(n,s)=>(r(),p("div",un,[d(n.$slots,"aside-top",{},void 0,!0),d(n.$slots,"aside-outline-before",{},void 0,!0),y(an),d(n.$slots,"aside-outline-after",{},void 0,!0),dn,d(n.$slots,"aside-ads-before",{},void 0,!0),l(t).carbonAds?(r(),S(ln,{key:0,"carbon-ads":l(t).carbonAds},null,8,["carbon-ads"])):g("",!0),d(n.$slots,"aside-ads-after",{},void 0,!0),d(n.$slots,"aside-bottom",{},void 0,!0)]))}}),pn=L(hn,[["__scopeId","data-v-79cae1a0"]]);function vn(){const{theme:e,page:t}=T();return V(()=>{const{text:n="Edit this page",pattern:s=""}=e.value.editLink||{};let o;return typeof s=="function"?o=s(t.value):o=s.replace(/:path/g,t.value.filePath),{url:o,text:n}})}function fn(){const{page:e,theme:t,frontmatter:n}=T();return V(()=>{var f,_,m,P,$,b,N,w;const s=tt(t.value.sidebar,e.value.relativePath),o=xt(s),a=mn(o,U=>U.link.replace(/[?#].*$/,"")),i=a.findIndex(U=>ee(e.value.relativePath,U.link)),c=((f=t.value.docFooter)==null?void 0:f.prev)===!1&&!n.value.prev||n.value.prev===!1,u=((_=t.value.docFooter)==null?void 0:_.next)===!1&&!n.value.next||n.value.next===!1;return{prev:c?void 0:{text:(typeof n.value.prev=="string"?n.value.prev:typeof n.value.prev=="object"?n.value.prev.text:void 0)??((m=a[i-1])==null?void 0:m.docFooterText)??((P=a[i-1])==null?void 0:P.text),link:(typeof n.value.prev=="object"?n.value.prev.link:void 0)??(($=a[i-1])==null?void 0:$.link)},next:u?void 0:{text:(typeof n.value.next=="string"?n.value.next:typeof n.value.next=="object"?n.value.next.text:void 0)??((b=a[i+1])==null?void 0:b.docFooterText)??((N=a[i+1])==null?void 0:N.text),link:(typeof n.value.next=="object"?n.value.next.link:void 0)??((w=a[i+1])==null?void 0:w.link)}}})}function mn(e,t){const n=new Set;return e.filter(s=>{const o=t(s);return n.has(o)?!1:n.add(o)})}const W=k({__name:"VPLink",props:{tag:{},href:{},noIcon:{type:Boolean},target:{},rel:{}},setup(e){const t=e,n=V(()=>t.tag??(t.href?"a":"span")),s=V(()=>t.href&&We.test(t.href)||t.target==="_blank");return(o,a)=>(r(),S(se(n.value),{class:C(["VPLink",{link:o.href,"vp-external-link-icon":s.value,"no-icon":o.noIcon}]),href:o.href?l(Ce)(o.href):void 0,target:o.target??(s.value?"_blank":void 0),rel:o.rel??(s.value?"noreferrer":void 0)},{default:v(()=>[d(o.$slots,"default")]),_:3},8,["class","href","target","rel"]))}}),_n={class:"VPLastUpdated"},gn=["datetime"],kn=k({__name:"VPDocFooterLastUpdated",setup(e){const{theme:t,page:n,frontmatter:s,lang:o}=T(),a=V(()=>new Date(s.value.lastUpdated??n.value.lastUpdated)),i=V(()=>a.value.toISOString()),c=I("");return oe(()=>{me(()=>{var u,f,_;c.value=new Intl.DateTimeFormat((f=(u=t.value.lastUpdated)==null?void 0:u.formatOptions)!=null&&f.forceLocale?o.value:void 0,((_=t.value.lastUpdated)==null?void 0:_.formatOptions)??{dateStyle:"short",timeStyle:"short"}).format(a.value)})}),(u,f)=>{var _;return r(),p("p",_n,[J(M(((_=l(t).lastUpdated)==null?void 0:_.text)||l(t).lastUpdatedText||"Last updated")+": ",1),h("time",{datetime:i.value},M(c.value),9,gn)])}}}),$n=L(kn,[["__scopeId","data-v-5be60f87"]]),ot=e=>(z("data-v-0ce50de1"),e=e(),j(),e),bn={key:0,class:"VPDocFooter"},yn={key:0,class:"edit-info"},Pn={key:0,class:"edit-link"},Vn=ot(()=>h("span",{class:"vpi-square-pen edit-link-icon"},null,-1)),Ln={key:1,class:"last-updated"},Sn={key:1,class:"prev-next","aria-labelledby":"doc-footer-aria-label"},wn=ot(()=>h("span",{class:"visually-hidden",id:"doc-footer-aria-label"},"Pager",-1)),In={class:"pager"},Tn=["innerHTML"],Nn=["innerHTML"],Mn={class:"pager"},Cn=["innerHTML"],An=["innerHTML"],Bn=k({__name:"VPDocFooter",setup(e){const{theme:t,page:n,frontmatter:s}=T(),o=vn(),a=fn(),i=V(()=>t.value.editLink&&s.value.editLink!==!1),c=V(()=>n.value.lastUpdated&&s.value.lastUpdated!==!1),u=V(()=>i.value||c.value||a.value.prev||a.value.next);return(f,_)=>{var m,P,$,b;return u.value?(r(),p("footer",bn,[d(f.$slots,"doc-footer-before",{},void 0,!0),i.value||c.value?(r(),p("div",yn,[i.value?(r(),p("div",Pn,[y(W,{class:"edit-link-button",href:l(o).url,"no-icon":!0},{default:v(()=>[Vn,J(" "+M(l(o).text),1)]),_:1},8,["href"])])):g("",!0),c.value?(r(),p("div",Ln,[y($n)])):g("",!0)])):g("",!0),(m=l(a).prev)!=null&&m.link||(P=l(a).next)!=null&&P.link?(r(),p("nav",Sn,[wn,h("div",In,[($=l(a).prev)!=null&&$.link?(r(),S(W,{key:0,class:"pager-link prev",href:l(a).prev.link},{default:v(()=>{var N;return[h("span",{class:"desc",innerHTML:((N=l(t).docFooter)==null?void 0:N.prev)||"Previous page"},null,8,Tn),h("span",{class:"title",innerHTML:l(a).prev.text},null,8,Nn)]}),_:1},8,["href"])):g("",!0)]),h("div",Mn,[(b=l(a).next)!=null&&b.link?(r(),S(W,{key:0,class:"pager-link next",href:l(a).next.link},{default:v(()=>{var N;return[h("span",{class:"desc",innerHTML:((N=l(t).docFooter)==null?void 0:N.next)||"Next page"},null,8,Cn),h("span",{class:"title",innerHTML:l(a).next.text},null,8,An)]}),_:1},8,["href"])):g("",!0)])])):g("",!0)])):g("",!0)}}}),Hn=L(Bn,[["__scopeId","data-v-0ce50de1"]]),En=e=>(z("data-v-ef3a4dda"),e=e(),j(),e),On={class:"container"},Dn=En(()=>h("div",{class:"aside-curtain"},null,-1)),Fn={class:"aside-container"},zn={class:"aside-content"},jn={class:"content"},Un={class:"content-container"},qn={class:"main"},Gn=k({__name:"VPDoc",setup(e){const{theme:t}=T(),n=ge(),{hasSidebar:s,hasAside:o,leftAside:a}=X(),i=V(()=>n.path.replace(/[./]+/g,"_").replace(/_html$/,""));return(c,u)=>{const f=Z("Content");return r(),p("div",{class:C(["VPDoc",{"has-sidebar":l(s),"has-aside":l(o)}])},[d(c.$slots,"doc-top",{},void 0,!0),h("div",On,[l(o)?(r(),p("div",{key:0,class:C(["aside",{"left-aside":l(a)}])},[Dn,h("div",Fn,[h("div",zn,[y(pn,null,{"aside-top":v(()=>[d(c.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":v(()=>[d(c.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":v(()=>[d(c.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":v(()=>[d(c.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":v(()=>[d(c.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":v(()=>[d(c.$slots,"aside-ads-after",{},void 0,!0)]),_:3})])])],2)):g("",!0),h("div",jn,[h("div",Un,[d(c.$slots,"doc-before",{},void 0,!0),h("main",qn,[y(f,{class:C(["vp-doc",[i.value,l(t).externalLinkIcon&&"external-link-icon-enabled"]])},null,8,["class"])]),y(Hn,null,{"doc-footer-before":v(()=>[d(c.$slots,"doc-footer-before",{},void 0,!0)]),_:3}),d(c.$slots,"doc-after",{},void 0,!0)])])]),d(c.$slots,"doc-bottom",{},void 0,!0)],2)}}}),Rn=L(Gn,[["__scopeId","data-v-ef3a4dda"]]),xn=k({__name:"VPButton",props:{tag:{},size:{default:"medium"},theme:{default:"brand"},text:{},href:{},target:{},rel:{}},setup(e){const t=e,n=V(()=>t.href&&We.test(t.href)),s=V(()=>t.tag||t.href?"a":"button");return(o,a)=>(r(),S(se(s.value),{class:C(["VPButton",[o.size,o.theme]]),href:o.href?l(Ce)(o.href):void 0,target:t.target??(n.value?"_blank":void 0),rel:t.rel??(n.value?"noreferrer":void 0)},{default:v(()=>[J(M(o.text),1)]),_:1},8,["class","href","target","rel"]))}}),Kn=L(xn,[["__scopeId","data-v-877bb349"]]),Wn=["src","alt"],Jn=k({inheritAttrs:!1,__name:"VPImage",props:{image:{},alt:{}},setup(e){return(t,n)=>{const s=Z("VPImage",!0);return t.image?(r(),p(A,{key:0},[typeof t.image=="string"||"src"in t.image?(r(),p("img",ce({key:0,class:"VPImage"},typeof t.image=="string"?t.$attrs:{...t.image,...t.$attrs},{src:l(fe)(typeof t.image=="string"?t.image:t.image.src),alt:t.alt??(typeof t.image=="string"?"":t.image.alt||"")}),null,16,Wn)):(r(),p(A,{key:1},[y(s,ce({class:"dark",image:t.image.dark,alt:t.image.alt},t.$attrs),null,16,["image","alt"]),y(s,ce({class:"light",image:t.image.light,alt:t.image.alt},t.$attrs),null,16,["image","alt"])],64))],64)):g("",!0)}}}),he=L(Jn,[["__scopeId","data-v-4d414b82"]]),Xn=e=>(z("data-v-e244e0a0"),e=e(),j(),e),Yn={class:"container"},Qn={class:"main"},Zn={key:0,class:"name"},es=["innerHTML"],ts=["innerHTML"],ns=["innerHTML"],ss={key:0,class:"actions"},os={key:0,class:"image"},as={class:"image-container"},is=Xn(()=>h("div",{class:"image-bg"},null,-1)),rs=k({__name:"VPHero",props:{name:{},text:{},tagline:{},image:{},actions:{}},setup(e){const t=ke("hero-image-slot-exists");return(n,s)=>(r(),p("div",{class:C(["VPHero",{"has-image":n.image||l(t)}])},[h("div",Yn,[h("div",Qn,[d(n.$slots,"home-hero-info-before",{},void 0,!0),d(n.$slots,"home-hero-info",{},()=>[n.name?(r(),p("h1",Zn,[h("span",{innerHTML:n.name,class:"clip"},null,8,es)])):g("",!0),n.text?(r(),p("p",{key:1,innerHTML:n.text,class:"text"},null,8,ts)):g("",!0),n.tagline?(r(),p("p",{key:2,innerHTML:n.tagline,class:"tagline"},null,8,ns)):g("",!0)],!0),d(n.$slots,"home-hero-info-after",{},void 0,!0),n.actions?(r(),p("div",ss,[(r(!0),p(A,null,F(n.actions,o=>(r(),p("div",{key:o.link,class:"action"},[y(Kn,{tag:"a",size:"medium",theme:o.theme,text:o.text,href:o.link,target:o.target,rel:o.rel},null,8,["theme","text","href","target","rel"])]))),128))])):g("",!0),d(n.$slots,"home-hero-actions-after",{},void 0,!0)]),n.image||l(t)?(r(),p("div",os,[h("div",as,[is,d(n.$slots,"home-hero-image",{},()=>[n.image?(r(),S(he,{key:0,class:"image-src",image:n.image},null,8,["image"])):g("",!0)],!0)])])):g("",!0)])],2))}}),ls=L(rs,[["__scopeId","data-v-e244e0a0"]]),cs=k({__name:"VPHomeHero",setup(e){const{frontmatter:t}=T();return(n,s)=>l(t).hero?(r(),S(ls,{key:0,class:"VPHomeHero",name:l(t).hero.name,text:l(t).hero.text,tagline:l(t).hero.tagline,image:l(t).hero.image,actions:l(t).hero.actions},{"home-hero-info-before":v(()=>[d(n.$slots,"home-hero-info-before")]),"home-hero-info":v(()=>[d(n.$slots,"home-hero-info")]),"home-hero-info-after":v(()=>[d(n.$slots,"home-hero-info-after")]),"home-hero-actions-after":v(()=>[d(n.$slots,"home-hero-actions-after")]),"home-hero-image":v(()=>[d(n.$slots,"home-hero-image")]),_:3},8,["name","text","tagline","image","actions"])):g("",!0)}}),us=e=>(z("data-v-95001937"),e=e(),j(),e),ds={class:"box"},hs={key:0,class:"icon"},ps=["innerHTML"],vs=["innerHTML"],fs=["innerHTML"],ms={key:4,class:"link-text"},_s={class:"link-text-value"},gs=us(()=>h("span",{class:"vpi-arrow-right link-text-icon"},null,-1)),ks=k({__name:"VPFeature",props:{icon:{},title:{},details:{},link:{},linkText:{},rel:{},target:{}},setup(e){return(t,n)=>(r(),S(W,{class:"VPFeature",href:t.link,rel:t.rel,target:t.target,"no-icon":!0,tag:t.link?"a":"div"},{default:v(()=>[h("article",ds,[typeof t.icon=="object"&&t.icon.wrap?(r(),p("div",hs,[y(he,{image:t.icon,alt:t.icon.alt,height:t.icon.height||48,width:t.icon.width||48},null,8,["image","alt","height","width"])])):typeof t.icon=="object"?(r(),S(he,{key:1,image:t.icon,alt:t.icon.alt,height:t.icon.height||48,width:t.icon.width||48},null,8,["image","alt","height","width"])):t.icon?(r(),p("div",{key:2,class:"icon",innerHTML:t.icon},null,8,ps)):g("",!0),h("h2",{class:"title",innerHTML:t.title},null,8,vs),t.details?(r(),p("p",{key:3,class:"details",innerHTML:t.details},null,8,fs)):g("",!0),t.linkText?(r(),p("div",ms,[h("p",_s,[J(M(t.linkText)+" ",1),gs])])):g("",!0)])]),_:1},8,["href","rel","target","tag"]))}}),$s=L(ks,[["__scopeId","data-v-95001937"]]),bs={key:0,class:"VPFeatures"},ys={class:"container"},Ps={class:"items"},Vs=k({__name:"VPFeatures",props:{features:{}},setup(e){const t=e,n=V(()=>{const s=t.features.length;if(s){if(s===2)return"grid-2";if(s===3)return"grid-3";if(s%3===0)return"grid-6";if(s>3)return"grid-4"}else return});return(s,o)=>s.features?(r(),p("div",bs,[h("div",ys,[h("div",Ps,[(r(!0),p(A,null,F(s.features,a=>(r(),p("div",{key:a.title,class:C(["item",[n.value]])},[y($s,{icon:a.icon,title:a.title,details:a.details,link:a.link,"link-text":a.linkText,rel:a.rel,target:a.target},null,8,["icon","title","details","link","link-text","rel","target"])],2))),128))])])])):g("",!0)}}),Ls=L(Vs,[["__scopeId","data-v-1da4ff3d"]]),Ss=k({__name:"VPHomeFeatures",setup(e){const{frontmatter:t}=T();return(n,s)=>l(t).features?(r(),S(Ls,{key:0,class:"VPHomeFeatures",features:l(t).features},null,8,["features"])):g("",!0)}}),ws=k({__name:"VPHomeContent",setup(e){const{width:t}=gt({initialWidth:0,includeScrollbar:!1});return(n,s)=>(r(),p("div",{class:"vp-doc container",style:Je(l(t)?{"--vp-offset":`calc(50% - ${l(t)/2}px)`}:{})},[d(n.$slots,"default",{},void 0,!0)],4))}}),Is=L(ws,[["__scopeId","data-v-2498cc33"]]),Ts={class:"VPHome"},Ns=k({__name:"VPHome",setup(e){const{frontmatter:t}=T();return(n,s)=>{const o=Z("Content");return r(),p("div",Ts,[d(n.$slots,"home-hero-before",{},void 0,!0),y(cs,null,{"home-hero-info-before":v(()=>[d(n.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":v(()=>[d(n.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":v(()=>[d(n.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":v(()=>[d(n.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":v(()=>[d(n.$slots,"home-hero-image",{},void 0,!0)]),_:3}),d(n.$slots,"home-hero-after",{},void 0,!0),d(n.$slots,"home-features-before",{},void 0,!0),y(Ss),d(n.$slots,"home-features-after",{},void 0,!0),l(t).markdownStyles!==!1?(r(),S(Is,{key:0},{default:v(()=>[y(o)]),_:1})):(r(),S(o,{key:1}))])}}}),Ms=L(Ns,[["__scopeId","data-v-95a6a92c"]]),Cs={},As={class:"VPPage"};function Bs(e,t){const n=Z("Content");return r(),p("div",As,[d(e.$slots,"page-top"),y(n),d(e.$slots,"page-bottom")])}const Hs=L(Cs,[["render",Bs]]),Es=k({__name:"VPContent",setup(e){const{page:t,frontmatter:n}=T(),{hasSidebar:s}=X();return(o,a)=>(r(),p("div",{class:C(["VPContent",{"has-sidebar":l(s),"is-home":l(n).layout==="home"}]),id:"VPContent"},[l(t).isNotFound?d(o.$slots,"not-found",{key:0},()=>[y(Gt)],!0):l(n).layout==="page"?(r(),S(Hs,{key:1},{"page-top":v(()=>[d(o.$slots,"page-top",{},void 0,!0)]),"page-bottom":v(()=>[d(o.$slots,"page-bottom",{},void 0,!0)]),_:3})):l(n).layout==="home"?(r(),S(Ms,{key:2},{"home-hero-before":v(()=>[d(o.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info-before":v(()=>[d(o.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":v(()=>[d(o.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":v(()=>[d(o.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":v(()=>[d(o.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":v(()=>[d(o.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":v(()=>[d(o.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":v(()=>[d(o.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":v(()=>[d(o.$slots,"home-features-after",{},void 0,!0)]),_:3})):l(n).layout&&l(n).layout!=="doc"?(r(),S(se(l(n).layout),{key:3})):(r(),S(Rn,{key:4},{"doc-top":v(()=>[d(o.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":v(()=>[d(o.$slots,"doc-bottom",{},void 0,!0)]),"doc-footer-before":v(()=>[d(o.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":v(()=>[d(o.$slots,"doc-before",{},void 0,!0)]),"doc-after":v(()=>[d(o.$slots,"doc-after",{},void 0,!0)]),"aside-top":v(()=>[d(o.$slots,"aside-top",{},void 0,!0)]),"aside-outline-before":v(()=>[d(o.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":v(()=>[d(o.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":v(()=>[d(o.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":v(()=>[d(o.$slots,"aside-ads-after",{},void 0,!0)]),"aside-bottom":v(()=>[d(o.$slots,"aside-bottom",{},void 0,!0)]),_:3}))],2))}}),Os=L(Es,[["__scopeId","data-v-d2aef184"]]),Ds={class:"container"},Fs=["innerHTML"],zs=["innerHTML"],js=k({__name:"VPFooter",setup(e){const{theme:t,frontmatter:n}=T(),{hasSidebar:s}=X();return(o,a)=>l(t).footer&&l(n).footer!==!1?(r(),p("footer",{key:0,class:C(["VPFooter",{"has-sidebar":l(s)}])},[h("div",Ds,[l(t).footer.message?(r(),p("p",{key:0,class:"message",innerHTML:l(t).footer.message},null,8,Fs)):g("",!0),l(t).footer.copyright?(r(),p("p",{key:1,class:"copyright",innerHTML:l(t).footer.copyright},null,8,zs)):g("",!0)])],2)):g("",!0)}}),Us=L(js,[["__scopeId","data-v-e3157d6d"]]);function qs(){const{theme:e,frontmatter:t}=T(),n=Ke([]),s=V(()=>n.value.length>0);return _e(()=>{n.value=Ae(t.value.outline??e.value.outline)}),{headers:n,hasLocalNav:s}}const Gs=e=>(z("data-v-d1de893e"),e=e(),j(),e),Rs={class:"menu-text"},xs=Gs(()=>h("span",{class:"vpi-chevron-right icon"},null,-1)),Ks={class:"header"},Ws={class:"outline"},Js=k({__name:"VPLocalNavOutlineDropdown",props:{headers:{},navHeight:{}},setup(e){const t=e,{theme:n}=T(),s=I(!1),o=I(0),a=I(),i=I();function c(m){var P;(P=a.value)!=null&&P.contains(m.target)||(s.value=!1)}Q(s,m=>{if(m){document.addEventListener("click",c);return}document.removeEventListener("click",c)}),kt("Escape",()=>{s.value=!1}),_e(()=>{s.value=!1});function u(){s.value=!s.value,o.value=window.innerHeight+Math.min(window.scrollY-t.navHeight,0)}function f(m){m.target.classList.contains("outline-link")&&(i.value&&(i.value.style.transition="none"),Xe(()=>{s.value=!1}))}function _(){s.value=!1,window.scrollTo({top:0,left:0,behavior:"smooth"})}return(m,P)=>(r(),p("div",{class:"VPLocalNavOutlineDropdown",style:Je({"--vp-vh":o.value+"px"}),ref_key:"main",ref:a},[m.headers.length>0?(r(),p("button",{key:0,onClick:u,class:C({open:s.value})},[h("span",Rs,M(l(nt)(l(n))),1),xs],2)):(r(),p("button",{key:1,onClick:_},M(l(n).returnToTopLabel||"Return to top"),1)),y(Ne,{name:"flyout"},{default:v(()=>[s.value?(r(),p("div",{key:0,ref_key:"items",ref:i,class:"items",onClick:f},[h("div",Ks,[h("a",{class:"top-link",href:"#",onClick:_},M(l(n).returnToTopLabel||"Return to top"),1)]),h("div",Ws,[y(st,{headers:m.headers},null,8,["headers"])])],512)):g("",!0)]),_:1})],4))}}),Xs=L(Js,[["__scopeId","data-v-d1de893e"]]),Ys=e=>(z("data-v-9d8129cc"),e=e(),j(),e),Qs={class:"container"},Zs=["aria-expanded"],eo=Ys(()=>h("span",{class:"vpi-align-left menu-icon"},null,-1)),to={class:"menu-text"},no=k({__name:"VPLocalNav",props:{open:{type:Boolean}},emits:["open-menu"],setup(e){const{theme:t,frontmatter:n}=T(),{hasSidebar:s}=X(),{headers:o}=qs(),{y:a}=Ye(),i=I(0);oe(()=>{i.value=parseInt(getComputedStyle(document.documentElement).getPropertyValue("--vp-nav-height"))}),_e(()=>{o.value=Ae(n.value.outline??t.value.outline)});const c=V(()=>o.value.length===0),u=V(()=>c.value&&!s.value),f=V(()=>({VPLocalNav:!0,"has-sidebar":s.value,empty:c.value,fixed:u.value}));return(_,m)=>l(n).layout!=="home"&&(!u.value||l(a)>=i.value)?(r(),p("div",{key:0,class:C(f.value)},[h("div",Qs,[l(s)?(r(),p("button",{key:0,class:"menu","aria-expanded":_.open,"aria-controls":"VPSidebarNav",onClick:m[0]||(m[0]=P=>_.$emit("open-menu"))},[eo,h("span",to,M(l(t).sidebarMenuLabel||"Menu"),1)],8,Zs)):g("",!0),y(Xs,{headers:l(o),navHeight:i.value},null,8,["headers","navHeight"])])],2)):g("",!0)}}),so=L(no,[["__scopeId","data-v-9d8129cc"]]);function oo(){const e=I(!1);function t(){e.value=!0,window.addEventListener("resize",o)}function n(){e.value=!1,window.removeEventListener("resize",o)}function s(){e.value?n():t()}function o(){window.outerWidth>=768&&n()}const a=ge();return Q(()=>a.path,n),{isScreenOpen:e,openScreen:t,closeScreen:n,toggleScreen:s}}const ao={},io={class:"VPSwitch",type:"button",role:"switch"},ro={class:"check"},lo={key:0,class:"icon"};function co(e,t){return r(),p("button",io,[h("span",ro,[e.$slots.default?(r(),p("span",lo,[d(e.$slots,"default",{},void 0,!0)])):g("",!0)])])}const uo=L(ao,[["render",co],["__scopeId","data-v-7012e5dd"]]),at=e=>(z("data-v-bfa23729"),e=e(),j(),e),ho=at(()=>h("span",{class:"vpi-sun sun"},null,-1)),po=at(()=>h("span",{class:"vpi-moon moon"},null,-1)),vo=k({__name:"VPSwitchAppearance",setup(e){const{isDark:t,theme:n}=T(),s=ke("toggle-appearance",()=>{t.value=!t.value}),o=V(()=>t.value?n.value.lightModeSwitchTitle||"Switch to light theme":n.value.darkModeSwitchTitle||"Switch to dark theme");return(a,i)=>(r(),S(uo,{title:o.value,class:"VPSwitchAppearance","aria-checked":l(t),onClick:l(s)},{default:v(()=>[ho,po]),_:1},8,["title","aria-checked","onClick"]))}}),Be=L(vo,[["__scopeId","data-v-bfa23729"]]),fo={key:0,class:"VPNavBarAppearance"},mo=k({__name:"VPNavBarAppearance",setup(e){const{site:t}=T();return(n,s)=>l(t).appearance&&l(t).appearance!=="force-dark"?(r(),p("div",fo,[y(Be)])):g("",!0)}}),_o=L(mo,[["__scopeId","data-v-f774fc1d"]]),He=I();let it=!1,ye=0;function go(e){const t=I(!1);if($e){!it&&ko(),ye++;const n=Q(He,s=>{var o,a,i;s===e.el.value||(o=e.el.value)!=null&&o.contains(s)?(t.value=!0,(a=e.onFocus)==null||a.call(e)):(t.value=!1,(i=e.onBlur)==null||i.call(e))});Me(()=>{n(),ye--,ye||$o()})}return $t(t)}function ko(){document.addEventListener("focusin",rt),it=!0,He.value=document.activeElement}function $o(){document.removeEventListener("focusin",rt)}function rt(){He.value=document.activeElement}const bo={class:"VPMenuLink"},yo=k({__name:"VPMenuLink",props:{item:{}},setup(e){const{page:t}=T();return(n,s)=>(r(),p("div",bo,[y(W,{class:C({active:l(ee)(l(t).relativePath,n.item.activeMatch||n.item.link,!!n.item.activeMatch)}),href:n.item.link,target:n.item.target,rel:n.item.rel},{default:v(()=>[J(M(n.item.text),1)]),_:1},8,["class","href","target","rel"])]))}}),be=L(yo,[["__scopeId","data-v-71c5411b"]]),Po={class:"VPMenuGroup"},Vo={key:0,class:"title"},Lo=k({__name:"VPMenuGroup",props:{text:{},items:{}},setup(e){return(t,n)=>(r(),p("div",Po,[t.text?(r(),p("p",Vo,M(t.text),1)):g("",!0),(r(!0),p(A,null,F(t.items,s=>(r(),p(A,null,["link"in s?(r(),S(be,{key:0,item:s},null,8,["item"])):g("",!0)],64))),256))]))}}),So=L(Lo,[["__scopeId","data-v-2bec9359"]]),wo={class:"VPMenu"},Io={key:0,class:"items"},To=k({__name:"VPMenu",props:{items:{}},setup(e){return(t,n)=>(r(),p("div",wo,[t.items?(r(),p("div",Io,[(r(!0),p(A,null,F(t.items,s=>(r(),p(A,{key:s.text},["link"in s?(r(),S(be,{key:0,item:s},null,8,["item"])):(r(),S(So,{key:1,text:s.text,items:s.items},null,8,["text","items"]))],64))),128))])):g("",!0),d(t.$slots,"default",{},void 0,!0)]))}}),No=L(To,[["__scopeId","data-v-7bffa9cd"]]),Mo=e=>(z("data-v-8fd20e7d"),e=e(),j(),e),Co=["aria-expanded","aria-label"],Ao={key:0,class:"text"},Bo=["innerHTML"],Ho=Mo(()=>h("span",{class:"vpi-chevron-down text-icon"},null,-1)),Eo={key:1,class:"vpi-more-horizontal icon"},Oo={class:"menu"},Do=k({__name:"VPFlyout",props:{icon:{},button:{},label:{},items:{}},setup(e){const t=I(!1),n=I();go({el:n,onBlur:s});function s(){t.value=!1}return(o,a)=>(r(),p("div",{class:"VPFlyout",ref_key:"el",ref:n,onMouseenter:a[1]||(a[1]=i=>t.value=!0),onMouseleave:a[2]||(a[2]=i=>t.value=!1)},[h("button",{type:"button",class:"button","aria-haspopup":"true","aria-expanded":t.value,"aria-label":o.label,onClick:a[0]||(a[0]=i=>t.value=!t.value)},[o.button||o.icon?(r(),p("span",Ao,[o.icon?(r(),p("span",{key:0,class:C([o.icon,"option-icon"])},null,2)):g("",!0),o.button?(r(),p("span",{key:1,innerHTML:o.button},null,8,Bo)):g("",!0),Ho])):(r(),p("span",Eo))],8,Co),h("div",Oo,[y(No,{items:o.items},{default:v(()=>[d(o.$slots,"default",{},void 0,!0)]),_:3},8,["items"])])],544))}}),Ee=L(Do,[["__scopeId","data-v-8fd20e7d"]]),Fo=["href","aria-label","innerHTML"],zo=k({__name:"VPSocialLink",props:{icon:{},link:{},ariaLabel:{}},setup(e){const t=e,n=V(()=>typeof t.icon=="object"?t.icon.svg:``);return(s,o)=>(r(),p("a",{class:"VPSocialLink no-icon",href:s.link,"aria-label":s.ariaLabel??(typeof s.icon=="string"?s.icon:""),target:"_blank",rel:"noopener",innerHTML:n.value},null,8,Fo))}}),jo=L(zo,[["__scopeId","data-v-50151957"]]),Uo={class:"VPSocialLinks"},qo=k({__name:"VPSocialLinks",props:{links:{}},setup(e){return(t,n)=>(r(),p("div",Uo,[(r(!0),p(A,null,F(t.links,({link:s,icon:o,ariaLabel:a})=>(r(),S(jo,{key:s,icon:o,link:s,ariaLabel:a},null,8,["icon","link","ariaLabel"]))),128))]))}}),Oe=L(qo,[["__scopeId","data-v-f2234a39"]]),Go={key:0,class:"group translations"},Ro={class:"trans-title"},xo={key:1,class:"group"},Ko={class:"item appearance"},Wo={class:"label"},Jo={class:"appearance-action"},Xo={key:2,class:"group"},Yo={class:"item social-links"},Qo=k({__name:"VPNavBarExtra",setup(e){const{site:t,theme:n}=T(),{localeLinks:s,currentLang:o}=ie({correspondingLink:!0}),a=V(()=>s.value.length&&o.value.label||t.value.appearance||n.value.socialLinks);return(i,c)=>a.value?(r(),S(Ee,{key:0,class:"VPNavBarExtra",label:"extra navigation"},{default:v(()=>[l(s).length&&l(o).label?(r(),p("div",Go,[h("p",Ro,M(l(o).label),1),(r(!0),p(A,null,F(l(s),u=>(r(),S(be,{key:u.link,item:u},null,8,["item"]))),128))])):g("",!0),l(t).appearance&&l(t).appearance!=="force-dark"?(r(),p("div",xo,[h("div",Ko,[h("p",Wo,M(l(n).darkModeSwitchLabel||"Appearance"),1),h("div",Jo,[y(Be)])])])):g("",!0),l(n).socialLinks?(r(),p("div",Xo,[h("div",Yo,[y(Oe,{class:"social-links-list",links:l(n).socialLinks},null,8,["links"])])])):g("",!0)]),_:1})):g("",!0)}}),Zo=L(Qo,[["__scopeId","data-v-ca99dad5"]]),ea=e=>(z("data-v-670493dd"),e=e(),j(),e),ta=["aria-expanded"],na=ea(()=>h("span",{class:"container"},[h("span",{class:"top"}),h("span",{class:"middle"}),h("span",{class:"bottom"})],-1)),sa=[na],oa=k({__name:"VPNavBarHamburger",props:{active:{type:Boolean}},emits:["click"],setup(e){return(t,n)=>(r(),p("button",{type:"button",class:C(["VPNavBarHamburger",{active:t.active}]),"aria-label":"mobile navigation","aria-expanded":t.active,"aria-controls":"VPNavScreen",onClick:n[0]||(n[0]=s=>t.$emit("click"))},sa,10,ta))}}),aa=L(oa,[["__scopeId","data-v-670493dd"]]),ia=["innerHTML"],ra=k({__name:"VPNavBarMenuLink",props:{item:{}},setup(e){const{page:t}=T();return(n,s)=>(r(),S(W,{class:C({VPNavBarMenuLink:!0,active:l(ee)(l(t).relativePath,n.item.activeMatch||n.item.link,!!n.item.activeMatch)}),href:n.item.link,noIcon:n.item.noIcon,target:n.item.target,rel:n.item.rel,tabindex:"0"},{default:v(()=>[h("span",{innerHTML:n.item.text},null,8,ia)]),_:1},8,["class","href","noIcon","target","rel"]))}}),la=L(ra,[["__scopeId","data-v-2b93b872"]]),ca=k({__name:"VPNavBarMenuGroup",props:{item:{}},setup(e){const t=e,{page:n}=T(),s=a=>"link"in a?ee(n.value.relativePath,a.link,!!t.item.activeMatch):a.items.some(s),o=V(()=>s(t.item));return(a,i)=>(r(),S(Ee,{class:C({VPNavBarMenuGroup:!0,active:l(ee)(l(n).relativePath,a.item.activeMatch,!!a.item.activeMatch)||o.value}),button:a.item.text,items:a.item.items},null,8,["class","button","items"]))}}),ua=e=>(z("data-v-c6c3e6d4"),e=e(),j(),e),da={key:0,"aria-labelledby":"main-nav-aria-label",class:"VPNavBarMenu"},ha=ua(()=>h("span",{id:"main-nav-aria-label",class:"visually-hidden"},"Main Navigation",-1)),pa=k({__name:"VPNavBarMenu",setup(e){const{theme:t}=T();return(n,s)=>l(t).nav?(r(),p("nav",da,[ha,(r(!0),p(A,null,F(l(t).nav,o=>(r(),p(A,{key:o.text},["link"in o?(r(),S(la,{key:0,item:o},null,8,["item"])):(r(),S(ca,{key:1,item:o},null,8,["item"]))],64))),128))])):g("",!0)}}),va=L(pa,[["__scopeId","data-v-c6c3e6d4"]]),fa="/document/assets/flex-logo.BJA2J7hW.svg";function Pe(e,t){return typeof e>"u"?t:e}function ze(e){const t=Array(e);for(let n=0;n=this.minlength&&(c||!i[_])){let P=le(u,o,f),$="";switch(this.tokenize){case"full":if(3b;N--)if(N-b>=this.minlength){const w=le(u,o,f,m,b);$=_.substring(b,N),this.push_index(i,$,w,e,n)}break}case"reverse":if(2=this.minlength){const N=le(u,o,f,m,b);this.push_index(i,$,N,e,n)}$=""}case"forward":if(1=this.minlength&&this.push_index(i,$,P,e,n);break}default:if(this.boost&&(P=Math.min(0|P/this.boost(t,_,f),u-1)),this.push_index(i,_,P,e,n),c&&1=this.minlength&&!b[_]){b[_]=1;const K=le(N+(o/2>N?0:1),o,f,U-1,D-1),Y=this.bidirectional&&_>w;this.push_index(a,Y?w:_,K,e,n,Y?_:w)}}}}}this.fastupdate||(this.register[e]=1)}}return this};function le(e,t,n,s,o){return n&&1=this.minlength&&!m[$]){if(!this.optimize&&!a&&!this.map[$])return i;P[N++]=$,m[$]=1}e=P,s=e.length}if(!s)return i;t||(t=100);let u,f=this.depth&&1=n)))));$++);if(f)return o?qe(c,n,0):void(e[e.length]=c)}return!t&&c};function qe(e,t,n){return e=e.length===1?e[0]:_a(e),n||e.length>t?e.slice(n,n+t):e}function Ge(e,t,n,s){if(n){const o=s&&t>n;e=e[o?t:n],e=e&&e[o?n:t]}else e=e[t];return e}R.prototype.contain=function(e){return!!this.register[e]},R.prototype.update=function(e,t){return this.remove(e).add(e,t)},R.prototype.remove=function(e,t){const n=this.register[e];if(n){if(this.fastupdate)for(let s,o=0;o{if(a.value){for(var H=m.value.search(a.value,{enrich:!0}),B=[],q=0;q!H||!H.length?[]:H.reduce((q,E)=>(q[B(E)]||(q[B(E)]=[]),q[B(E)].push(E),q),{}),K=()=>{setTimeout(()=>{c.value&&c.value.focus()},100),De(),o.value=!0};oe(async()=>{var E,O;const H=await yt(()=>import("./virtual_search-data.CQ4jmvKx.js"),[]);u.value=H.default.INDEX_DATA,f.value=H.default.PREVIEW_LOOKUP,_.value=H.default.Options,i.value=window.location.origin+fe(n.value==="root"?"/":n.value),P.value=((E=_.value)==null?void 0:E.buttonLabel)||P.value,$.value=((O=_.value)==null?void 0:O.placeholder)||$.value;var B=new R(_.value);B.import("reg",u.value.reg),B.import("cfg",u.value.cfg),B.import("map",u.value.map),B.import("ctx",u.value.ctx),m.value=B,s.value.innerHTML=/(Mac|iPhone|iPod|iPad)/i.test(navigator.platform)?"⌘":"Ctrl";const q=G=>{var ne;G.key==="k"&&(G.ctrlKey||G.metaKey)&&(G.preventDefault(),K()),G.key==="Escape"&&((ne=a.value)==null?void 0:ne.length)==0&&o.value&&(o.value=!1)};window.addEventListener("keydown",q)});const Y=V(()=>D(U.value,H=>H.link.split("/").slice(0,-1).join("-"))),te=V(()=>Object.values(Y.value).flat().map(H=>H.id));function De(){o.value=!1,a.value=""}const ht=H=>{var B,q;if(document.getElementsByClassName("search-group")[0]){if(H.key=="ArrowUp"||H.key=="ArrowDown"){const E=te.value.indexOf(b.value);if(H.key=="ArrowUp"){const O=E==0?te.value.length-1:E-1;b.value=te.value[O]}if(H.key=="ArrowDown"){const O=E>te.value.length-2?0:E+1;b.value=te.value[O]}if(E<5){const O=N.value.getElementsByClassName("VPPluginSearch-search-group")[0];O==null||O.scrollIntoView(!0)}else(B=document.getElementById(te.value[b.value]))==null||B.scrollIntoView(!0);Xe()}H.key=="Enter"&&w.go(t.site.value.base+((q=N.value.getElementsByClassName("link-focused")[0].getAttribute("href"))==null?void 0:q.replace(i.value,"")))}};return(H,B)=>{const q=Z("ClientOnly");return r(),p("div",Oa,[y(q,null,{default:v(()=>[(r(),S(Lt,{to:"body"},[Fe(h("div",{class:"VPPluginSearch-modal-back",onClick:B[2]||(B[2]=E=>o.value=!1),onKeydown:ht},[h("div",{class:"VPPluginSearch-modal",onClick:B[1]||(B[1]=Qe(()=>{},["stop"])),ref_key:"modal",ref:N},[h("form",Da,[Fa,Fe(h("input",{class:"DocSearch-Input","aria-autocomplete":"both","aria-labelledby":"docsearch-label",id:"docsearch-input",autocomplete:"off",autocorrect:"off",autocapitalize:"off",enterkeyhint:"search",spellcheck:"false",autofocus:"true","onUpdate:modelValue":B[0]||(B[0]=E=>a.value=E),placeholder:$.value,maxlength:"64",type:"search",ref_key:"input",ref:c},null,8,za),[[Vt,a.value]])]),h("div",ja,[(r(!0),p(A,null,F(Y.value,(E,O)=>(r(),p("div",{class:"search-group",key:O},[h("span",Ua,M(O?O.toString()[0].toUpperCase()+O.toString().slice(1):"Home"),1),(r(!0),p(A,null,F(E,(G,ne)=>(r(),p("a",{href:i.value+G.link,key:G.id,onClick:De,onMouseenter:re=>b.value=G.id,class:C({"link-focused":b.value==G.id}),id:ne.toString()},[h("div",Ga,[h("span",Ra,M(G.link.includes("#")?"#":"▤"),1),h("div",xa,[h("h3",null,M(G.title),1),h("p",null,[h("div",{innerHTML:G.preview},null,8,Ka)])]),Wa])],42,qa))),128))]))),128))]),Ja],512)],544),[[Pt,o.value]])]))]),_:1}),h("div",{id:"docsearch",onClick:B[3]||(B[3]=E=>K())},[h("button",Xa,[h("span",Ya,[Qa,h("span",Za,M(P.value),1)]),h("span",ei,[h("span",{class:"DocSearch-Button-Key",ref_key:"metaKey",ref:s},"Meta",512),ti])])])])}}}),si=k({__name:"VPNavBarSocialLinks",setup(e){const{theme:t}=T();return(n,s)=>l(t).socialLinks?(r(),S(Oe,{key:0,class:"VPNavBarSocialLinks",links:l(t).socialLinks},null,8,["links"])):g("",!0)}}),oi=L(si,[["__scopeId","data-v-08b35e6f"]]),ai=["href","rel","target"],ii={key:1},ri={key:2},li=k({__name:"VPNavBarTitle",setup(e){const{site:t,theme:n}=T(),{hasSidebar:s}=X(),{currentLang:o}=ie(),a=V(()=>{var u;return typeof n.value.logoLink=="string"?n.value.logoLink:(u=n.value.logoLink)==null?void 0:u.link}),i=V(()=>{var u;return typeof n.value.logoLink=="string"||(u=n.value.logoLink)==null?void 0:u.rel}),c=V(()=>{var u;return typeof n.value.logoLink=="string"||(u=n.value.logoLink)==null?void 0:u.target});return(u,f)=>(r(),p("div",{class:C(["VPNavBarTitle",{"has-sidebar":l(s)}])},[h("a",{class:"title",href:a.value??l(Ce)(l(o).link),rel:i.value,target:c.value},[d(u.$slots,"nav-bar-title-before",{},void 0,!0),l(n).logo?(r(),S(he,{key:0,class:"logo",image:l(n).logo},null,8,["image"])):g("",!0),l(n).siteTitle?(r(),p("span",ii,M(l(n).siteTitle),1)):l(n).siteTitle===void 0?(r(),p("span",ri,M(l(t).title),1)):g("",!0),d(u.$slots,"nav-bar-title-after",{},void 0,!0)],8,ai)],2))}}),ci=L(li,[["__scopeId","data-v-dbe614b8"]]),ui={class:"items"},di={class:"title"},hi=k({__name:"VPNavBarTranslations",setup(e){const{theme:t}=T(),{localeLinks:n,currentLang:s}=ie({correspondingLink:!0});return(o,a)=>l(n).length&&l(s).label?(r(),S(Ee,{key:0,class:"VPNavBarTranslations",icon:"vpi-languages",label:l(t).langMenuLabel||"Change language"},{default:v(()=>[h("div",ui,[h("p",di,M(l(s).label),1),(r(!0),p(A,null,F(l(n),i=>(r(),S(be,{key:i.link,item:i},null,8,["item"]))),128))])]),_:1},8,["label"])):g("",!0)}}),pi=L(hi,[["__scopeId","data-v-dac637f3"]]),vi=e=>(z("data-v-48384a78"),e=e(),j(),e),fi={class:"wrapper"},mi={class:"container"},_i={class:"title"},gi={class:"content"},ki={class:"content-body"},$i=vi(()=>h("div",{class:"divider"},[h("div",{class:"divider-line"})],-1)),bi=k({__name:"VPNavBar",props:{isScreenOpen:{type:Boolean}},emits:["toggle-screen"],setup(e){const{y:t}=Ye(),{hasSidebar:n}=X(),{frontmatter:s}=T(),o=I({});return xe(()=>{o.value={"has-sidebar":n.value,home:s.value.layout==="home",top:t.value===0}}),(a,i)=>(r(),p("div",{class:C(["VPNavBar",o.value])},[h("div",fi,[h("div",mi,[h("div",_i,[y(ci,null,{"nav-bar-title-before":v(()=>[d(a.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":v(()=>[d(a.$slots,"nav-bar-title-after",{},void 0,!0)]),_:3})]),h("div",gi,[h("div",ki,[d(a.$slots,"nav-bar-content-before",{},void 0,!0),y(ni,{class:"search"}),y(va,{class:"menu"}),y(pi,{class:"translations"}),y(_o,{class:"appearance"}),y(oi,{class:"social-links"}),y(Zo,{class:"extra"}),d(a.$slots,"nav-bar-content-after",{},void 0,!0),y(aa,{class:"hamburger",active:a.isScreenOpen,onClick:i[0]||(i[0]=c=>a.$emit("toggle-screen"))},null,8,["active"])])])])]),$i],2))}}),yi=L(bi,[["__scopeId","data-v-48384a78"]]),Pi={key:0,class:"VPNavScreenAppearance"},Vi={class:"text"},Li=k({__name:"VPNavScreenAppearance",setup(e){const{site:t,theme:n}=T();return(s,o)=>l(t).appearance&&l(t).appearance!=="force-dark"?(r(),p("div",Pi,[h("p",Vi,M(l(n).darkModeSwitchLabel||"Appearance"),1),y(Be)])):g("",!0)}}),Si=L(Li,[["__scopeId","data-v-2836e9a8"]]),wi=k({__name:"VPNavScreenMenuLink",props:{item:{}},setup(e){const t=ke("close-screen");return(n,s)=>(r(),S(W,{class:"VPNavScreenMenuLink",href:n.item.link,target:n.item.target,rel:n.item.rel,onClick:l(t),innerHTML:n.item.text},null,8,["href","target","rel","onClick","innerHTML"]))}}),Ii=L(wi,[["__scopeId","data-v-077287e8"]]),Ti=k({__name:"VPNavScreenMenuGroupLink",props:{item:{}},setup(e){const t=ke("close-screen");return(n,s)=>(r(),S(W,{class:"VPNavScreenMenuGroupLink",href:n.item.link,target:n.item.target,rel:n.item.rel,onClick:l(t)},{default:v(()=>[J(M(n.item.text),1)]),_:1},8,["href","target","rel","onClick"]))}}),lt=L(Ti,[["__scopeId","data-v-ed7bb82d"]]),Ni={class:"VPNavScreenMenuGroupSection"},Mi={key:0,class:"title"},Ci=k({__name:"VPNavScreenMenuGroupSection",props:{text:{},items:{}},setup(e){return(t,n)=>(r(),p("div",Ni,[t.text?(r(),p("p",Mi,M(t.text),1)):g("",!0),(r(!0),p(A,null,F(t.items,s=>(r(),S(lt,{key:s.text,item:s},null,8,["item"]))),128))]))}}),Ai=L(Ci,[["__scopeId","data-v-836cddb8"]]),Bi=e=>(z("data-v-43fd4ddf"),e=e(),j(),e),Hi=["aria-controls","aria-expanded"],Ei=["innerHTML"],Oi=Bi(()=>h("span",{class:"vpi-plus button-icon"},null,-1)),Di=["id"],Fi={key:1,class:"group"},zi=k({__name:"VPNavScreenMenuGroup",props:{text:{},items:{}},setup(e){const t=e,n=I(!1),s=V(()=>`NavScreenGroup-${t.text.replace(" ","-").toLowerCase()}`);function o(){n.value=!n.value}return(a,i)=>(r(),p("div",{class:C(["VPNavScreenMenuGroup",{open:n.value}])},[h("button",{class:"button","aria-controls":s.value,"aria-expanded":n.value,onClick:o},[h("span",{class:"button-text",innerHTML:a.text},null,8,Ei),Oi],8,Hi),h("div",{id:s.value,class:"items"},[(r(!0),p(A,null,F(a.items,c=>(r(),p(A,{key:c.text},["link"in c?(r(),p("div",{key:c.text,class:"item"},[y(lt,{item:c},null,8,["item"])])):(r(),p("div",Fi,[y(Ai,{text:c.text,items:c.items},null,8,["text","items"])]))],64))),128))],8,Di)],2))}}),ji=L(zi,[["__scopeId","data-v-43fd4ddf"]]),Ui={key:0,class:"VPNavScreenMenu"},qi=k({__name:"VPNavScreenMenu",setup(e){const{theme:t}=T();return(n,s)=>l(t).nav?(r(),p("nav",Ui,[(r(!0),p(A,null,F(l(t).nav,o=>(r(),p(A,{key:o.text},["link"in o?(r(),S(Ii,{key:0,item:o},null,8,["item"])):(r(),S(ji,{key:1,text:o.text||"",items:o.items},null,8,["text","items"]))],64))),128))])):g("",!0)}}),Gi=k({__name:"VPNavScreenSocialLinks",setup(e){const{theme:t}=T();return(n,s)=>l(t).socialLinks?(r(),S(Oe,{key:0,class:"VPNavScreenSocialLinks",links:l(t).socialLinks},null,8,["links"])):g("",!0)}}),ct=e=>(z("data-v-0d43316b"),e=e(),j(),e),Ri=ct(()=>h("span",{class:"vpi-languages icon lang"},null,-1)),xi=ct(()=>h("span",{class:"vpi-chevron-down icon chevron"},null,-1)),Ki={class:"list"},Wi=k({__name:"VPNavScreenTranslations",setup(e){const{localeLinks:t,currentLang:n}=ie({correspondingLink:!0}),s=I(!1);function o(){s.value=!s.value}return(a,i)=>l(t).length&&l(n).label?(r(),p("div",{key:0,class:C(["VPNavScreenTranslations",{open:s.value}])},[h("button",{class:"title",onClick:o},[Ri,J(" "+M(l(n).label)+" ",1),xi]),h("ul",Ki,[(r(!0),p(A,null,F(l(t),c=>(r(),p("li",{key:c.link,class:"item"},[y(W,{class:"link",href:c.link},{default:v(()=>[J(M(c.text),1)]),_:2},1032,["href"])]))),128))])],2)):g("",!0)}}),Ji=L(Wi,[["__scopeId","data-v-0d43316b"]]),Xi={class:"container"},Yi=k({__name:"VPNavScreen",props:{open:{type:Boolean}},setup(e){const t=I(null),n=Ze($e?document.body:null);return(s,o)=>(r(),S(Ne,{name:"fade",onEnter:o[0]||(o[0]=a=>n.value=!0),onAfterLeave:o[1]||(o[1]=a=>n.value=!1)},{default:v(()=>[s.open?(r(),p("div",{key:0,class:"VPNavScreen",ref_key:"screen",ref:t,id:"VPNavScreen"},[h("div",Xi,[d(s.$slots,"nav-screen-content-before",{},void 0,!0),y(qi,{class:"menu"}),y(Ji,{class:"translations"}),y(Si,{class:"appearance"}),y(Gi,{class:"social-links"}),d(s.$slots,"nav-screen-content-after",{},void 0,!0)])],512)):g("",!0)]),_:3}))}}),Qi=L(Yi,[["__scopeId","data-v-5f4e75ae"]]),Zi={key:0,class:"VPNav"},er=k({__name:"VPNav",setup(e){const{isScreenOpen:t,closeScreen:n,toggleScreen:s}=oo(),{frontmatter:o}=T(),a=V(()=>o.value.navbar!==!1);return et("close-screen",n),me(()=>{$e&&document.documentElement.classList.toggle("hide-nav",!a.value)}),(i,c)=>a.value?(r(),p("header",Zi,[y(yi,{"is-screen-open":l(t),onToggleScreen:l(s)},{"nav-bar-title-before":v(()=>[d(i.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":v(()=>[d(i.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":v(()=>[d(i.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":v(()=>[d(i.$slots,"nav-bar-content-after",{},void 0,!0)]),_:3},8,["is-screen-open","onToggleScreen"]),y(Qi,{open:l(t)},{"nav-screen-content-before":v(()=>[d(i.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":v(()=>[d(i.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3},8,["open"])])):g("",!0)}}),tr=L(er,[["__scopeId","data-v-a46e73f0"]]),ut=e=>(z("data-v-f2cc49b6"),e=e(),j(),e),nr=["role","tabindex"],sr=ut(()=>h("div",{class:"indicator"},null,-1)),or=ut(()=>h("span",{class:"vpi-chevron-right caret-icon"},null,-1)),ar=[or],ir={key:1,class:"items"},rr=k({__name:"VPSidebarItem",props:{item:{},depth:{}},setup(e){const t=e,{collapsed:n,collapsible:s,isLink:o,isActiveLink:a,hasActiveLink:i,hasChildren:c,toggle:u}=Wt(V(()=>t.item)),f=V(()=>c.value?"section":"div"),_=V(()=>o.value?"a":"div"),m=V(()=>c.value?t.depth+2===7?"p":`h${t.depth+2}`:"p"),P=V(()=>o.value?void 0:"button"),$=V(()=>[[`level-${t.depth}`],{collapsible:s.value},{collapsed:n.value},{"is-link":o.value},{"is-active":a.value},{"has-active":i.value}]);function b(w){"key"in w&&w.key!=="Enter"||!t.item.link&&u()}function N(){t.item.link&&u()}return(w,U)=>{const D=Z("VPSidebarItem",!0);return r(),S(se(f.value),{class:C(["VPSidebarItem",$.value])},{default:v(()=>[w.item.text?(r(),p("div",ce({key:0,class:"item",role:P.value},wt(w.item.items?{click:b,keydown:b}:{},!0),{tabindex:w.item.items&&0}),[sr,w.item.link?(r(),S(W,{key:0,tag:_.value,class:"link",href:w.item.link,rel:w.item.rel,target:w.item.target},{default:v(()=>[(r(),S(se(m.value),{class:"text",innerHTML:w.item.text},null,8,["innerHTML"]))]),_:1},8,["tag","href","rel","target"])):(r(),S(se(m.value),{key:1,class:"text",innerHTML:w.item.text},null,8,["innerHTML"])),w.item.collapsed!=null&&w.item.items&&w.item.items.length?(r(),p("div",{key:2,class:"caret",role:"button","aria-label":"toggle section",onClick:N,onKeydown:St(N,["enter"]),tabindex:"0"},ar,32)):g("",!0)],16,nr)):g("",!0),w.item.items&&w.item.items.length?(r(),p("div",ir,[w.depth<5?(r(!0),p(A,{key:0},F(w.item.items,K=>(r(),S(D,{key:K.text,item:K,depth:w.depth+1},null,8,["item","depth"]))),128)):g("",!0)])):g("",!0)]),_:1},8,["class"])}}}),lr=L(rr,[["__scopeId","data-v-f2cc49b6"]]),dt=e=>(z("data-v-2667f5e2"),e=e(),j(),e),cr=dt(()=>h("div",{class:"curtain"},null,-1)),ur={class:"nav",id:"VPSidebarNav","aria-labelledby":"sidebar-aria-label",tabindex:"-1"},dr=dt(()=>h("span",{class:"visually-hidden",id:"sidebar-aria-label"}," Sidebar Navigation ",-1)),hr=k({__name:"VPSidebar",props:{open:{type:Boolean}},setup(e){const{sidebarGroups:t,hasSidebar:n}=X(),s=e,o=I(null),a=Ze($e?document.body:null);return Q([s,o],()=>{var i;s.open?(a.value=!0,(i=o.value)==null||i.focus()):a.value=!1},{immediate:!0,flush:"post"}),(i,c)=>l(n)?(r(),p("aside",{key:0,class:C(["VPSidebar",{open:i.open}]),ref_key:"navEl",ref:o,onClick:c[0]||(c[0]=Qe(()=>{},["stop"]))},[cr,h("nav",ur,[dr,d(i.$slots,"sidebar-nav-before",{},void 0,!0),(r(!0),p(A,null,F(l(t),u=>(r(),p("div",{key:u.text,class:"group"},[y(lr,{item:u,depth:0},null,8,["item"])]))),128)),d(i.$slots,"sidebar-nav-after",{},void 0,!0)])],2)):g("",!0)}}),pr=L(hr,[["__scopeId","data-v-2667f5e2"]]),vr=k({__name:"VPSkipLink",setup(e){const t=ge(),n=I();Q(()=>t.path,()=>n.value.focus());function s({target:o}){const a=document.getElementById(decodeURIComponent(o.hash).slice(1));if(a){const i=()=>{a.removeAttribute("tabindex"),a.removeEventListener("blur",i)};a.setAttribute("tabindex","-1"),a.addEventListener("blur",i),a.focus(),window.scrollTo(0,0)}}return(o,a)=>(r(),p(A,null,[h("span",{ref_key:"backToTop",ref:n,tabindex:"-1"},null,512),h("a",{href:"#VPContent",class:"VPSkipLink visually-hidden",onClick:s}," Skip to content ")],64))}}),fr=L(vr,[["__scopeId","data-v-b22defb4"]]),mr=k({__name:"Layout",setup(e){const{isOpen:t,open:n,close:s}=X(),o=ge();Q(()=>o.path,s),Kt(t,s);const{frontmatter:a}=T(),i=It(),c=V(()=>!!i["home-hero-image"]);return et("hero-image-slot-exists",c),(u,f)=>{const _=Z("Content");return l(a).layout!==!1?(r(),p("div",{key:0,class:C(["Layout",l(a).pageClass])},[d(u.$slots,"layout-top",{},void 0,!0),y(fr),y(Ct,{class:"backdrop",show:l(t),onClick:l(s)},null,8,["show","onClick"]),y(tr,null,{"nav-bar-title-before":v(()=>[d(u.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":v(()=>[d(u.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":v(()=>[d(u.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":v(()=>[d(u.$slots,"nav-bar-content-after",{},void 0,!0)]),"nav-screen-content-before":v(()=>[d(u.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":v(()=>[d(u.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3}),y(so,{open:l(t),onOpenMenu:l(n)},null,8,["open","onOpenMenu"]),y(pr,{open:l(t)},{"sidebar-nav-before":v(()=>[d(u.$slots,"sidebar-nav-before",{},void 0,!0)]),"sidebar-nav-after":v(()=>[d(u.$slots,"sidebar-nav-after",{},void 0,!0)]),_:3},8,["open"]),y(Os,null,{"page-top":v(()=>[d(u.$slots,"page-top",{},void 0,!0)]),"page-bottom":v(()=>[d(u.$slots,"page-bottom",{},void 0,!0)]),"not-found":v(()=>[d(u.$slots,"not-found",{},void 0,!0)]),"home-hero-before":v(()=>[d(u.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info-before":v(()=>[d(u.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":v(()=>[d(u.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":v(()=>[d(u.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":v(()=>[d(u.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":v(()=>[d(u.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":v(()=>[d(u.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":v(()=>[d(u.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":v(()=>[d(u.$slots,"home-features-after",{},void 0,!0)]),"doc-footer-before":v(()=>[d(u.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":v(()=>[d(u.$slots,"doc-before",{},void 0,!0)]),"doc-after":v(()=>[d(u.$slots,"doc-after",{},void 0,!0)]),"doc-top":v(()=>[d(u.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":v(()=>[d(u.$slots,"doc-bottom",{},void 0,!0)]),"aside-top":v(()=>[d(u.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":v(()=>[d(u.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":v(()=>[d(u.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":v(()=>[d(u.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":v(()=>[d(u.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":v(()=>[d(u.$slots,"aside-ads-after",{},void 0,!0)]),_:3}),y(Us),d(u.$slots,"layout-bottom",{},void 0,!0)],2)):(r(),S(_,{key:1}))}}}),_r=L(mr,[["__scopeId","data-v-c4daae71"]]),kr={Layout:_r,enhanceApp:({app:e})=>{e.component("Badge",Tt)}};export{kr as t}; diff --git a/document/assets/chunks/virtual_search-data.BZPFDTFr.js b/document/assets/chunks/virtual_search-data.BZPFDTFr.js deleted file mode 100644 index 55a72a3e6..000000000 --- a/document/assets/chunks/virtual_search-data.BZPFDTFr.js +++ /dev/null @@ -1,1385 +0,0 @@ -const e={map:'[{"高级属性":["0.0"],"option":["0.1","1.12","10.1","11.12","20.9","25.17","31.9","36.17"],"template":["0.2","10.2"],"events":["0.3","10.3"],"storage":["0.4","10.4"],"icons":["0.5","10.5","30.38","41.38"],"i18n":["0.6","10.6","30.42","41.42"],"notice":["0.7","3.3","10.7","13.3"],"layers":["0.8","10.8","30.28","41.28"],"controls":["0.9","10.9","30.31","41.31"],"contextmenu":["0.10","2.37","3.2","10.10","12.37","13.2","30.30","41.30"],"subtitle":["0.11","2.36","10.11","12.36","30.36","41.36"],"loading":["0.12","2.34","10.12","12.34"],"hotkey":["0.13","2.5","10.13","12.5","30.19","41.19"],"mask":["0.14","2.35","10.14","12.35"],"setting":["0.15","2.39","3.4","3.5","3.6","10.15","12.39","13.4","13.5","13.6","30.18","41.18"],"plugins":["0.16","10.16","30.34","41.34"],"静态属性":["1.0"],"instances":["1.1","11.1"],"version":["1.2","11.2"],"env":["1.3","11.3"],"build":["1.4","11.4"],"config":["1.5","11.5","25.13","36.13"],"utils":["1.6","11.6"],"scheme":["1.7","11.7"],"emitter":["1.8","11.8"],"validator":["1.9","11.9"],"kindof":["1.10","11.10"],"html":["1.11","11.11"],"实例事件":["2.0"],"ready":["2.1","12.1"],"restart":["2.2","12.2"],"pause":["2.3","5.2","12.3","15.2"],"play":["2.4","5.1","12.4","15.1"],"destroy":["2.6","5.4","12.6","15.4","28.9","39.9"],"focus":["2.7","12.7"],"blur":["2.8","12.8"],"dblclick":["2.9","12.9"],"click":["2.10","12.10"],"error":["2.11","12.11"],"hover":["2.12","12.12"],"mousemove":["2.13","12.13"],"resize":["2.14","3.7","12.14","13.7"],"view":["2.15","12.15"],"lock":["2.16","12.16","30.43","41.43"],"aspectratio":["2.17","5.29","12.17","15.29","30.16","41.16"],"autoheight":["2.18","5.30","12.18","15.30"],"autosize":["2.19","5.25","12.19","15.25","30.11","41.11"],"flip":["2.20","3.29","5.27","12.20","13.29","15.27","30.14","41.14"],"fullscreen":["2.21","3.30","5.19","12.21","13.30","15.19","30.22","41.22"],"fullscreenerror":["2.22","12.22"],"fullscreenweb":["2.23","5.20","12.23","15.20","30.23","41.23"],"mini":["2.24","5.23","12.24","15.23"],"pip":["2.25","5.21","12.25","15.21","30.20","41.20"],"screenshot":["2.26","5.16","12.26","15.16","30.17","41.17"],"seek":["2.27","3.26","5.5","12.27","13.26","15.5"],"subtitleoffset":["2.28","12.28","30.24","41.24"],"subtitleupdate":["2.29","12.29"],"subtitleload":["2.30","12.30"],"subtitleswitch":["2.31","12.31"],"info":["2.32","3.21","12.32","13.21"],"layer":["2.33","12.33","18.0"],"control":["2.38","3.15","12.38","13.15"],"muted":["2.40","5.13","12.40","15.13","30.9","41.9"],"video":["2.41","2.42","2.43","2.44","2.45","2.46","2.47","2.48","2.49","2.50","2.51","2.52","2.53","2.54","2.55","2.56","2.57","2.58","2.59","2.60","2.61","5.39","12.41","12.42","12.43","12.44","12.45","12.46","12.47","12.48","12.49","12.50","12.51","12.52","12.53","12.54","12.55","12.56","12.57","12.58","12.59","12.60","12.61","15.39","24.0"],"全局属性":["3.0"],"debug":["3.1","13.1"],"scroll":["3.8","3.9","13.8","13.9"],"auto":["3.10","3.11","3.12","3.20","13.10","13.11","13.12","13.20"],"reconnect":["3.13","3.14","13.13","13.14"],"dbclick":["3.16","3.17","13.16","13.17"],"mobile":["3.18","3.19","13.18","13.19"],"fast":["3.22","3.23","13.22","13.23"],"touch":["3.24","13.24"],"volume":["3.25","5.8","13.25","15.8","30.7","41.7"],"playback":["3.27","13.27"],"aspect":["3.28","13.28"],"log":["3.31","13.31"],"use":["3.32","13.32"],"编写插件":["4.0"],"实例属性":["5.0"],"toggle":["5.3","15.3"],"forward":["5.6","15.6"],"backward":["5.7","15.7"],"url":["5.9","15.9","30.2","41.2"],"switch":["5.10","15.10"],"switchurl":["5.11","15.11"],"switchquality":["5.12","15.12"],"currenttime":["5.14","15.14"],"duration":["5.15","15.15"],"getdataurl":["5.17","15.17"],"getbloburl":["5.18","15.18"],"poster":["5.22","15.22","30.5","41.5"],"playing":["5.24","15.24"],"rect":["5.26","15.26"],"playbackrate":["5.28","15.28","30.15","41.15"],"attr":["5.31","15.31"],"type":["5.32","15.32","30.39","41.39"],"theme":["5.33","15.33","30.6","41.6"],"airplay":["5.34","15.34","30.47","41.47"],"loaded":["5.35","15.35"],"played":["5.36","15.36"],"proxy":["5.37","15.37"],"query":["5.38","15.38"],"cssvar":["5.40","15.40","30.48","41.48"],"quality":["5.41","15.41","30.32","41.32"],"右键菜单":["6.0"],"配置":["6.1","7.1","8.1"],"创建":["6.2","7.2","8.2","9.2","9.3","9.4","9.5"],"添加":["6.3","7.3","8.3","9.6"],"删除":["6.4","7.4","8.4","9.7"],"更新":["6.5","7.5","8.5","9.8"],"控制器":["7.0"],"业务层":["8.0"],"设置面板":["9.0"],"内置":["9.1"],"advanced":["10.0"],"static":["11.0"],"example":["12.0"],"global":["13.0"],"writing":["14.0"],"instance":["15.0"],"context":["16.0"],"configuration":["16.1","17.1","18.1"],"creation":["16.2","17.2","18.2"],"add":["16.3","18.3","19.6","29.3"],"delete":["16.4","17.4","18.4","19.7"],"updates":["16.5","19.8"],"controller":["17.0"],"adding":["17.3"],"update":["17.5","18.5"],"settings":["19.0","30.29","41.29"],"built":["19.1"],"create":["19.2","19.4","19.5"],"creating":["19.3"],"installation":["20.0","20.1","24.2","26.2","27.2","28.3"],"cdn":["20.2","24.3","25.3","26.3","27.3","28.4","31.2","35.3","36.3","37.3","38.3","39.4"],"usage":["20.3","24.4","28.5"],"vue":["20.4","20.7","31.4","31.7"],"react":["20.5","20.8","31.5","31.8"],"typescript":["20.6","31.6"],"javascript":["20.10","31.10"],"ancient":["20.11"],"dash":["21.0","26.0","32.0","37.0"],"flv":["22.0","33.0"],"hls":["23.0","27.0","34.0","38.0"],"demo":["24.1","26.1"],"弹幕库":["25.0","36.0"],"演示":["25.1","35.1","36.1","37.1","38.1","39.2"],"安装":["25.2","31.1","35.2","36.2","37.2","38.2","39.3"],"弹幕结构":["25.4","36.4"],"全部选项":["25.5","36.5"],"生命周期":["25.6","36.6"],"使用弹幕数组":["25.7","36.7"],"使用弹幕":["25.8","36.8"],"使用异步返回":["25.9","36.9"],"hide":["25.10","36.10"],"ishide":["25.11","36.11"],"emit":["25.12","36.12"],"load":["25.14","36.14"],"reset":["25.15","36.15"],"mount":["25.16","36.16"],"事件":["25.18","36.18"],"demonstration":["27.1","28.2"],"iframe":["28.0","28.10","39.0","39.10"],"description":["28.1"],"index":["28.6","39.6"],"commit":["28.7","39.7"],"message":["28.8","39.8"],"inject":["28.11","39.11"],"postmessage":["28.12","39.12"],"例子":["28.13","39.13"],"language":["29.0"],"default":["29.1"],"importing":["29.2"],"modify":["29.4"],"basic":["30.0"],"container":["30.1","41.1"],"id":["30.3","41.3"],"onready":["30.4","41.4"],"islive":["30.8","41.8"],"autoplay":["30.10","41.10"],"automini":["30.12","41.12"],"loop":["30.13","41.13"],"mutex":["30.21","41.21"],"miniprogressbar":["30.25","41.25"],"usessr":["30.26","41.26"],"playsinline":["30.27","41.27"],"highlight":["30.33","41.33"],"thumbnails":["30.35","41.35"],"morevideoattr":["30.37","41.37"],"customtype":["30.40","41.40"],"lang":["30.41","41.41"],"fastforward":["30.44","41.44"],"autoplayback":["30.45","41.45"],"autoorientation":["30.46","41.46"],"安装使用":["31.0"],"使用":["31.3","35.4","39.5"],"古老的浏览器":["31.11"],"视频广告":["35.0"],"说明":["39.1"],"语言设置":["40.0"],"默认语言":["40.1"],"导入语言":["40.2"],"新增语言":["40.3"],"修改语言":["40.4"],"基础选项":["41.0"]},{"0":["3.27","5.35","5.36","30.7","41.7"],"1":["25.5","31.11","36.5"],"2":["31.9"],"3":["3.28"],"4":["3.28","29.3","31.9","40.3"],"5":["3.27","8.2","18.2","25.5","36.5"],"7":["8.3","18.3","30.7"],"9":["40.3"],"15":["4.0","14.0"],"21":["8.5","9.8","18.5","19.8"],"26":["7.5","17.5"],"27":["9.8","19.8"],"75":["3.27"],"250":["3.4"],"这里的":["0.0","1.0","3.0","5.0"],"播放器的选项":["0.1"],"div":["0.1","0.2","0.4","0.5","0.7","0.13","0.16","1.1","1.6","2.0","2.1","2.2","2.3","2.4","2.5","2.6","2.7","2.8","2.9","2.10","2.11","2.12","2.13","2.14","2.15","2.16","2.17","2.18","2.19","2.20","2.21","2.22","2.23","2.24","2.25","2.26","2.27","2.28","2.29","2.30","2.31","2.32","2.33","2.34","2.35","2.36","2.37","2.38","2.39","2.40","3.2","4.0","5.1","5.2","5.3","5.15","5.26","5.30","5.34","5.41","6.2","6.3","6.4","6.5","7.2","7.3","7.4","7.5","8.2","8.3","8.4","8.5","9.3","9.6","9.7","9.8","10.1","12.31","14.0","15.15","16.2","16.3","16.4","16.5","17.2","17.3","17.4","17.5","18.2","18.3","18.4","18.5","19.3","19.6","19.7","19.8","21.0","22.0","23.0","24.4","25.6","25.7","25.9","25.10","25.11","25.12","25.13","25.14","25.15","25.17","25.18","30.2","30.28","30.29","32.0","33.0","34.0","35.4","36.6","36.7","36.9","36.10","36.11","36.12","36.13","36.14","36.15","36.17","36.18","41.2","41.28","41.29","41.30","41.31"],"classname":["0.1","0.2","0.16","2.0","2.1","2.2","2.3","2.4","2.5","2.6","2.7","2.8","2.9","2.10","2.11","2.12","2.13","2.14","2.15","2.16","2.17","2.18","2.19","2.20","2.21","2.22","2.23","2.24","2.25","2.26","2.27","2.28","2.29","2.30","2.31","2.32","2.33","2.34","2.35","2.36","2.37","2.38","2.39","2.40","4.0","5.41","6.2","6.3","6.4","6.5","7.2","7.3","7.4","7.5","8.2","8.3","8.4","8.5","9.3","9.6","9.7","9.8","12.31","14.0","15.15","16.2","16.3","16.4","16.5","17.2","17.3","17.4","17.5","18.2","18.3","18.4","18.5","19.3","19.6","19.7","19.8","21.0","22.0","23.0","24.4","25.6","25.7","25.9","25.11","25.12","25.13","25.14","25.15","25.17","25.18","30.2","30.28","30.29","32.0","33.0","34.0","35.4","36.6","36.7","36.9","36.11","36.12","36.13","36.14","36.15","36.17","36.18","41.2","41.28","41.29"],"run":["0.1","0.2","2.0","2.2","2.6","2.11","2.12","2.17","2.18","2.20","2.21","2.22","2.23","2.24","2.25","2.26","2.28","2.29","2.30","2.31","2.39","4.0","5.41","6.2","6.3","6.4","6.5","7.2","7.3","7.4","7.5","8.2","8.3","8.4","8.5","9.3","9.6","9.7","9.8","14.0","16.2","16.3","16.4","16.5","17.2","17.3","17.4","17.5","18.2","18.3","18.4","18.5","19.3","19.6","19.7","19.8","21.0","22.0","23.0","24.4","25.6","25.7","25.9","25.11","25.12","25.13","25.14","25.15","25.17","25.18","30.2","30.28","32.0","33.0","34.0","35.4","36.6","36.7","36.9","36.11","36.12","36.13","36.14","36.15","36.17","36.18","41.2","41.28","41.29"],"管理播放器所有的":["0.2","0.3","0.5"],"dom":["0.2","0.3","5.37","5.38","9.2","9.4","9.5","10.2","10.3","15.37","15.38","19.2","19.4","19.5","30.1","41.1"],"元素":["0.2","9.4","9.5"],"事件":["0.3","4.0"],"实质上是代理了":["0.3"],"addeventlistener":["0.3","5.37","10.3","15.37"],"和":["0.3","4.0","5.12","25.8","25.10","36.8","36.10","41.4"],"removeeventlistener":["0.3","10.3"],"当使用以下方法来处理事件":["0.3"],"播放器销毁时也会自动销毁该事件":["0.3"],"proxy":["0.3","10.3"],"方法用于代理":["0.3"],"管理播放器的本地存储":["0.4"],"name":["0.4","4.0","10.4","17.1"],"属性用于设置缓存的":["0.4"],"key":["0.4","10.4"],"set":["0.4","10.4","13.5","13.6","15.10","15.11","15.12","15.13","15.14","15.19","15.20","15.21","15.22","15.27","15.28","15.29","30.35","30.36"],"方法用于设置缓存":["0.4"],"get":["0.4","0.6","10.6","15.14","15.15","15.19","15.21","15.22","15.24","15.31"],"方法用于获取缓存":["0.4"],"del":["0.4"],"方法用于删除缓存":["0.4"],"clear":["0.4"],"方法用于清空缓存":["0.4"],"svg":["0.5","10.5"],"图标":["0.5"],"管理播放器的":["0.6"],"方法用于获取":["0.6"],"的值":["0.6"],"update":["0.6","0.8","0.9","0.10","0.15"],"管理播放器的提示语":["0.7"],"只有一个":["0.7"],"show":["0.7","0.12","0.14","10.12","10.14","25.10","30.17","30.20","30.32","30.33","36.10"],"属性用于显示提示语":["0.7"],"管理播放器的层":["0.8"],"add":["0.8","0.9","0.10","0.13","0.15","0.16","10.8","10.9","10.10","10.13","10.15"],"方法用于动态添加层":["0.8"],"remove":["0.8","0.9","0.10","0.13","0.15"],"方法用于动态删除层":["0.8"],"管理播放器的控制器":["0.9"],"方法用于动态添加控制器":["0.9"],"方法用于动态删除控制器":["0.9"],"管理播放器的右键菜单":["0.10"],"方法用于动态添加菜单":["0.10"],"方法用于动态删除菜单":["0.10"],"方法用于动态更新菜单":["0.10"],"管理播放器的字幕功能":["0.11"],"url":["0.11","5.11","10.11"],"属性设置和返回当前字幕地址":["0.11"],"style":["0.11"],"方法设置当前字幕的样式":["0.11"],"管理播放器的加载层":["0.12"],"属性用于设置是否显示加载层":["0.12"],"toggle":["0.12","0.14","19.4"],"管理播放器的快捷键功能":["0.13"],"方法用于添加快捷键":["0.13"],"方法用于删除快捷键":["0.13"],"管理播放器的遮罩层":["0.14"],"属性用于设置是否显示遮罩层":["0.14"],"管理播放器的设置面板":["0.15"],"方法用于动态添加设置项":["0.15"],"方法用于动态删除设置项":["0.15"],"方法用于动态更新设置项":["0.15"],"管理播放器的插件功能":["0.16"],"只有一个方法":["0.16"],"用于动态添加插件":["0.16"],"返回全部播放器实例的数组":["1.1"],"假如你想同时管理多个播放器的时候":["1.1"],"可以用到该属性":["1.1"],"返回播放器的版本信息":["1.2"],"返回播放器的环境变量":["1.3"],"返回播放器的打包时间":["1.4"],"返回视频的默认配置":["1.5"],"返回播放器的工具函数集合":["1.6"],"返回播放器选项的校验方案":["1.7"],"返回事件分发器的构造函数":["1.8"],"返回选项的校验函数":["1.9"],"返回类型检测的函数工具":["1.10"],"返回播放器所需的":["1.11"],"返回播放器的默认选项":["1.12"],"播放器的事件分为两种":["2.0"],"一种视频的":["2.0"],"原生事件":["2.0"],"前缀":["2.0"],"video":["2.0","12.0","13.28","13.29","15.1","15.2","15.7","15.10","15.11","15.12","15.15","23.0","26.0","30.2","30.36","30.39","30.40","34.0"],"另外一种是":["2.0"],"自定义事件":["2.0"],"监听事件":["2.0"],"code":["2.0","2.2","2.28","2.31","4.0","6.2","6.3","6.4","6.5","7.2","7.3","7.4","7.5","8.2","8.3","8.4","8.5","9.3","9.6","9.7","9.8","14.0","16.2","16.3","16.4","16.5","17.2","17.3","17.4","17.5","18.2","18.3","18.4","18.5","19.3","19.6","19.7","19.8","20.1","20.2","20.3","20.4","20.5","21.0","22.0","23.0","24.2","24.3","24.4","25.2","25.3","25.6","25.7","25.9","25.11","25.12","25.13","25.14","25.15","25.17","25.18","26.2","26.3","27.2","27.3","28.3","28.4","28.5","30.2","30.28","31.1","31.2","31.3","31.4","31.5","32.0","33.0","34.0","35.2","35.3","35.4","36.2","36.3","36.6","36.7","36.9","36.11","36.12","36.13","36.14","36.15","36.17","36.18","37.2","37.3","38.2","38.3","39.3","39.4","39.5","41.2","41.28"],"js":["2.0","4.0","6.5","7.2","7.3","7.5","8.2","8.3","8.5","9.3","9.7","9.8","14.0","16.5","17.2","17.3","17.5","18.2","18.3","18.5","19.3","19.7","19.8","20.3","20.4","20.5","20.7","20.8","20.10","20.11","21.0","22.0","23.0","24.4","25.5","25.18","29.2","29.3","29.4","31.3","31.4","31.5","31.7","31.8","31.10","31.11","32.0","33.0","34.0","35.4","36.5","36.18","40.2","40.3","40.4"],"当播放器首次可以播放器时触发":["2.1"],"当播放器切换地址后并可以播放时触发":["2.2"],"当播放器暂停时触发":["2.3"],"当播放器播放时触发":["2.4"],"当播放器热键被按下时触发":["2.5"],"当播放器销毁时触发":["2.6"],"当播放器获得焦点时触发":["2.7"],"当播放器失去焦点时触发":["2.8"],"当播放器被双击时触发":["2.9"],"当播放器被单击时触发":["2.10"],"当播放器加载视频发生错误时触发":["2.11"],"当播放器被鼠标移出或者移入时触发":["2.12"],"当播放器被鼠标经过时触发":["2.13"],"当播放器尺寸变化时触发":["2.14"],"当播放器出现在视口时触发":["2.15"],"在移动端":["2.16","3.18","3.19","3.20","3.22","3.23","3.24"],"当锁定的状态发生变化时触发":["2.16"],"当播放器长宽比变化时触发":["2.17"],"当播放器自动设置高度时触发":["2.18"],"当播放器自动设置尺寸时触发":["2.19"],"当播放器发生翻转时触发":["2.20"],"当播放器发生窗口全屏时触发":["2.21"],"当播放器发生窗口全屏错误时触发":["2.22"],"当播放器发生网页全屏时触发":["2.23"],"当播放器进入迷你模式时触发":["2.24"],"当播放器进入画中画时触发":["2.25"],"当播放器被截图时触发":["2.26"],"当播放器发生时间跳转时触发":["2.27"],"当播放器发生字幕偏移时触发":["2.28"],"当字幕更新时触发":["2.29"],"当字幕加载时触发":["2.30"],"当字幕切换时触发":["2.31"],"当信息面板显示或隐藏时触发":["2.32"],"当自定义层显示或隐藏时触发":["2.33"],"当加载器显示或隐藏时触发":["2.34"],"当遮罩层显示或隐藏时触发":["2.35"],"当字幕层显示或隐藏时触发":["2.36"],"当右键菜单显示或隐藏时触发":["2.37"],"当控制器显示或隐藏时触发":["2.38"],"当设置面板显示或隐藏时触发":["2.39"],"当静音的状态变化时触发":["2.40"],"canplay":["2.41","12.41"],"canplaythrough":["2.42","12.42"],"complete":["2.43","12.43"],"durationchange":["2.44","12.44"],"emptied":["2.45","12.45"],"ended":["2.46","12.46"],"error":["2.47","12.47"],"loadeddata":["2.48","12.48"],"loadedmetadata":["2.49","12.49"],"pause":["2.50","12.50","13.19"],"play":["2.51","3.18","3.19","12.51","13.18","13.19","15.3","30.10"],"playing":["2.52","12.52"],"progress":["2.53","12.53","30.35"],"ratechange":["2.54","12.54"],"seeked":["2.55","12.55"],"seeking":["2.56","12.56"],"stalled":["2.57","12.57"],"suspend":["2.58","12.58"],"timeupdate":["2.59","12.59"],"volumechange":["2.60","12.60"],"waiting":["2.61","12.61"],"是否开始":["3.1"],"模式":["3.1"],"是否开启右键菜单":["3.2"],"默认开启":["3.2"],"time":["3.3","3.7","3.8","3.13","3.14","3.15","3.16","3.20","3.21","3.23","13.3","13.7","13.8","13.13","13.14","13.15","13.16","13.20","13.21","13.23","30.24"],"提示信息的显示时长":["3.3"],"单位为毫秒":["3.3","3.7","3.8","3.12","3.15","3.16","3.21"],"width":["3.4","3.5","9.2","13.4","13.5","15.30"],"设置面板的默认宽度":["3.4"],"单位为像素":["3.4","3.5","3.6","3.9"],"默认为":["3.4","3.5","3.6","3.10","3.16","3.25","3.27","3.28","3.29","3.31","3.32"],"item":["3.5","3.6","13.5","13.6"],"设置面板的设置项的默认宽度":["3.5"],"height":["3.6","13.6"],"设置面板的设置项的默认高度":["3.6"],"事件的节流时间":["3.7","3.8"],"gap":["3.9","13.9"],"view":["3.9","24.1","26.1","27.1","28.2"],"事件的边界容差距离":["3.9"],"playback":["3.10","3.11","3.12","12.52","13.10","13.11","13.12","30.45"],"max":["3.10","3.13","13.10","13.13"],"自动回放功能的最大记录数":["3.10"],"min":["3.11","13.11"],"自动回放功能的最小记录时长":["3.11"],"单位为秒":["3.11","3.26"],"timeout":["3.12","13.12"],"自动回放功能的隐藏延迟时长":["3.12"],"发生连接错误时":["3.13","3.14"],"自动连接的最大次数":["3.13"],"sleep":["3.14","13.14"],"自动连接的延迟时间":["3.14"],"hide":["3.15","13.15"],"底部控制栏的自动隐藏的延迟时间":["3.15"],"双击事件的延迟事件":["3.16"],"fullscreen":["3.17","13.17"],"在桌面端":["3.17"],"是否双击切换全屏":["3.17"],"dbclick":["3.18","13.18"],"是否双击切换播放暂停":["3.18"],"click":["3.19","10.10","13.16","13.19"],"是否单击切换播放暂停":["3.19"],"orientation":["3.20","13.20"],"自动旋屏的延迟时间":["3.20"],"loop":["3.21","13.21"],"信息面板的刷新时间":["3.21"],"forward":["3.22","3.23","13.22","13.23"],"value":["3.22","13.22"],"长按加速的速率倍数":["3.22"],"长按加速的延迟时间":["3.23"],"move":["3.24","13.24"],"ratio":["3.24","3.28","12.17","13.24","13.25","13.28"],"左右滑动进度的速率倍数":["3.24"],"step":["3.25","3.26","13.25","13.26"],"快捷键调节音量的幅度比例":["3.25"],"快捷键调节播放进度的幅度":["3.26"],"rate":["3.27","13.27"],"内置播放速率的列表":["3.27"],"内置视频长宽比的列表":["3.28"],"default":["3.28","13.4","13.5","13.6","30.1","30.2","30.3","30.4","30.5","30.6","30.7","30.8","30.9","30.10","30.11","30.12","30.13","30.14","30.15","30.16","30.17","30.18","30.19","30.20","30.21","30.22","30.23","30.24","30.25","30.26","30.27","30.28","30.29","30.30","30.31","30.32","30.33","30.34","30.35","30.36","30.37","30.38","30.39","30.40","30.41","30.42","30.43","30.44","30.45","30.46","30.47","30.48","41.1","41.2","41.3","41.4","41.5","41.6","41.7","41.8","41.9","41.10","41.11","41.12","41.13","41.14","41.15","41.16","41.17","41.18","41.19","41.20","41.21","41.22","41.23","41.24","41.25","41.26","41.27","41.28","41.29","41.30","41.31","41.32","41.33","41.34","41.35","41.36","41.37","41.38","41.39","41.40","41.41","41.42","41.43","41.44","41.45","41.46","41.47","41.48"],"内置视频翻转的列表":["3.29"],"normal":["3.29"],"horizontal":["3.29"],"vertical":["3.29"],"web":["3.30","13.30"],"in":["3.30","10.3","13.23","13.27","13.28","13.29","13.30","19.1","29.2","30.39"],"body":["3.30","13.30"],"网页全屏时":["3.30"],"version":["3.31","13.31"],"设置是否打印播放器版本":["3.31"],"raf":["3.32","13.32"],"设置是否使用":["3.32"],"requestanimationframe":["3.32"],"但你已经知道播放器的":["4.0"],"属性":["4.0","6.1","7.1","8.1","9.2","9.4","9.5","41.32","41.33","41.35","41.36"],"方法":["4.0"],"后":["4.0"],"再编写插件是非常简单的事":["4.0"],"可以在实例化的时候加载插件的函数":["4.0"],"function":["4.0","5.1","5.2","5.3","5.4","5.11","5.12","5.16","5.17","5.18","5.25","5.30","5.31","5.34","5.37","5.38","5.40","9.2","14.0","15.1","15.2","15.3","15.4","15.11","15.12","15.16","15.17","15.18","15.25","15.30","15.31","15.34","15.37","15.38","15.40","19.2","28.7","30.4","41.4"],"myplugin":["4.0"],"art":["4.0","5.11","7.2","15.11","17.2","24.4"],"console":["4.0"],"info":["4.0"],"return":["4.0"],"something":["4.0"],"type":["5.1","5.2","5.3","5.4","5.5","5.6","5.7","5.8","5.9","5.10","5.11","5.12","5.13","5.14","5.15","5.16","5.17","5.18","5.19","5.20","5.21","5.22","5.23","5.24","5.25","5.26","5.27","5.28","5.29","5.30","5.31","5.33","5.34","5.35","5.36","5.37","5.38","5.39","5.40","5.41","15.1","15.2","15.3","15.4","15.5","15.6","15.7","15.8","15.9","15.10","15.11","15.12","15.13","15.14","15.15","15.16","15.17","15.18","15.19","15.20","15.21","15.22","15.23","15.24","15.25","15.26","15.27","15.28","15.29","15.30","15.31","15.33","15.34","15.35","15.36","15.37","15.38","15.39","15.40","15.41","16.1","17.1","18.1","19.2","19.4","19.5","20.10","30.1","30.2","30.3","30.4","30.5","30.6","30.7","30.8","30.9","30.10","30.11","30.12","30.13","30.14","30.15","30.16","30.17","30.18","30.19","30.20","30.21","30.22","30.23","30.24","30.25","30.26","30.27","30.28","30.29","30.30","30.31","30.32","30.33","30.34","30.35","30.36","30.37","30.38","30.40","30.41","30.42","30.43","30.44","30.45","30.46","30.47","30.48","41.1","41.2","41.3","41.4","41.5","41.6","41.7","41.8","41.9","41.10","41.11","41.12","41.13","41.14","41.15","41.16","41.17","41.18","41.19","41.20","41.21","41.22","41.23","41.24","41.25","41.26","41.27","41.28","41.29","41.30","41.31","41.32","41.33","41.34","41.35","41.36","41.37","41.38","41.40","41.41","41.42","41.43","41.44","41.45","41.46","41.47","41.48"],"播放视频":["5.1"],"暂停视频":["5.2"],"切换视频的播放和暂停":["5.3"],"parameter":["5.4","5.5","5.6","5.7","5.8","5.9","5.10","5.11","5.12","5.13","5.14","5.19","5.20","5.21","5.22","5.23","5.24","5.27","5.28","5.29","5.31","5.32","5.33","5.41","15.4","15.5","15.6","15.7","15.8","15.9","15.10","15.11","15.12","15.13","15.14","15.19","15.20","15.21","15.22","15.23","15.24","15.27","15.28","15.29","15.31","15.32","15.33","15.41"],"boolean":["5.4","5.13","5.19","5.20","5.21","5.24","7.1","15.4","15.13","15.19","15.20","15.21","15.23","15.24","16.1","17.1","18.1","30.8","30.9","30.10","30.11","30.12","30.13","30.14","30.15","30.16","30.17","30.18","30.19","30.20","30.21","30.22","30.23","30.24","30.25","30.26","30.27","30.43","30.44","30.45","30.46","30.47","41.8","41.9","41.10","41.11","41.12","41.13","41.14","41.15","41.16","41.17","41.18","41.19","41.20","41.21","41.22","41.23","41.24","41.25","41.26","41.27","41.43","41.44","41.45","41.46","41.47"],"setter":["5.5","5.6","5.7","5.8","5.9","5.10","5.13","5.14","5.19","5.20","5.21","5.22","5.23","5.27","5.28","5.29","5.32","5.33","5.41","15.5","15.6","15.7","15.8","15.9","15.10","15.13","15.14","15.19","15.20","15.21","15.22","15.23","15.27","15.28","15.29","15.32","15.33","15.41"],"number":["5.5","5.6","5.7","5.8","5.14","5.28","13.10","13.13","15.5","15.6","15.7","15.8","15.14","15.28","29.0","30.7","41.7"],"getter":["5.8","5.9","5.13","5.14","5.15","5.19","5.20","5.21","5.22","5.23","5.24","5.26","5.27","5.28","5.29","5.32","5.33","5.35","5.36","15.8","15.9","15.13","15.14","15.15","15.19","15.20","15.21","15.22","15.23","15.24","15.26","15.27","15.28","15.29","15.32","15.33","15.35","15.36"],"string":["5.10","5.11","5.12","5.22","5.27","5.29","5.31","5.32","5.33","9.2","9.4","9.5","15.9","15.10","15.11","15.12","15.22","15.27","15.29","15.31","15.32","15.33","17.1","19.2","19.4","19.5","30.1","30.2","30.3","30.5","30.6","30.39","30.41","41.1","41.2","41.3","41.5","41.6","41.39","41.41"],"设置视频地址":["5.10","5.11"],"设置时和":["5.10","5.11"],"设置视频画质地址":["5.12"],"获取视频时长":["5.15"],"下载当前视频帧的截图":["5.16"],"获取当前视频帧的截图的":["5.17","5.18"],"base64":["5.17","15.17"],"地址":["5.17","5.18"],"blob":["5.18","15.18"],"设置和获取视频海报":["5.22"],"设置视频是否自适应尺寸":["5.25"],"获取播放器的尺寸和坐标信息":["5.26"],"当容器只有宽度":["5.30"],"该属性可以自动计算出并设置视频的高度":["5.30"],"动态获取和设置":["5.31"],"开启隔空播放":["5.34"],"视频缓存的比例":["5.35"],"范围是":["5.35","5.36"],"视频播放的比例":["5.36"],"事件的代理函数":["5.37"],"实质上代理了":["5.37"],"的查询函数":["5.38"],"element":["5.39","9.2","9.4","9.5","15.39","19.2","19.4","19.5","30.1","41.1"],"快捷返回播放器的":["5.39"],"动态获取或设置":["5.40"],"css":["5.40"],"变量":["5.40","31.10"],"array":["5.41","9.2","11.1","15.41","19.2","30.28","30.29","30.30","30.31","30.32","30.33","30.34","41.28","41.29","41.30","41.31","41.32","41.33","41.34"],"动态设置画质列表":["5.41"],"类型":["6.1","7.1","8.1","9.2","9.4","9.5","41.33","41.35","41.36"],"描述":["6.1","7.1","8.1","9.2","9.4","9.5"],"disable":["6.1","7.1","8.1","16.1","17.1","18.1"],"var":["7.2","9.3","17.2","24.4"],"new":["7.2","17.2","24.4"],"artplayer":["7.2","17.2","20.3","20.4","20.5","20.11","24.4","25.18","29.2","30.1","31.3","31.5","31.11","35.4","36.18","40.2","40.4","41.1"],"container":["7.2","15.30","17.2","24.4"],"须先打开设置面板":["9.1"],"然后自带四个内置项":["9.1"],"flip":["9.1"],"playbackrate":["9.1"],"选择列表":["9.2"],"html":["9.2","9.4","9.5","19.2","19.4","19.5","28.5","28.6","28.7","28.10","28.13","39.5","39.6","39.7","39.10","39.13","41.38"],"元素的":["9.2","9.4","9.5"],"icon":["9.2","9.4","9.5","19.2","19.5"],"元素的图标":["9.2","19.2"],"selector":["9.2","19.2"],"元素列表":["9.2","19.2"],"onselect":["9.2","19.2"],"元素点击事件":["9.2"],"列表嵌套":["9.3"],"切换按钮":["9.4"],"范围滑块":["9.5"],"properties":["10.0","11.0","14.0","15.0"],"the":["10.0","10.1","10.2","10.3","10.4","10.5","10.6","10.7","10.8","10.9","10.10","10.11","10.12","10.13","10.14","10.15","10.16","11.2","11.3","11.4","11.5","11.7","11.8","11.9","11.10","11.11","11.12","12.0","12.1","12.2","12.3","12.4","12.6","12.7","12.8","12.9","12.10","12.12","12.13","12.14","12.15","12.16","12.17","12.18","12.19","12.20","12.21","12.22","12.23","12.24","12.25","12.26","12.27","12.28","12.29","12.30","12.32","12.36","12.37","12.38","12.39","12.40","12.41","12.42","12.45","12.57","13.2","13.3","13.4","13.5","13.6","13.7","13.8","13.9","13.10","13.11","13.12","13.13","13.14","13.22","13.23","13.24","13.25","13.26","13.27","14.0","15.3","15.4","15.10","15.11","15.15","15.17","15.18","15.19","15.26","15.30","15.35","15.36","15.41","17.1","19.1","19.5","20.9","20.10","20.11","29.0","29.1","30.1","30.2","30.3","30.4","30.5","30.7","30.11","30.17","30.32","30.33","30.35","30.36","30.39","30.40","30.45"],"options":["10.1","30.0"],"for":["10.1","10.3","10.8","13.7","13.8","15.37"],"player":["10.1","10.2","10.3","10.4","10.6","10.7","10.8","10.9","10.10","10.11","10.12","10.13","10.14","10.15","10.16","11.1","12.0","12.1","12.2","12.3","12.4","12.6","12.7","12.8","12.9","12.10","12.12","12.14","12.15","12.18","12.19","12.20","12.21","12.22","12.23","12.24","12.25","12.26","12.27","14.0"],"manages":["10.2","10.3","10.4"],"all":["10.2","10.3","10.5","11.1"],"of":["10.2","10.4","10.8","10.10","10.11","10.12","10.13","11.1","11.6","13.4","13.27","13.28","13.29","15.35","15.36","15.41","20.11","29.0","30.5","30.11","30.39"],"elements":["10.2"],"which":["10.3","13.26","15.37","30.4","30.39","30.42"],"is":["10.3","10.4","10.6","10.8","10.9","10.10","10.13","10.15","12.0","12.1","12.12","14.0","20.11","30.39"],"essentially":["10.3","15.37"],"a":["10.3","10.15","11.6","12.5","12.33","12.34","12.35","15.16","15.37","15.39","30.4"],"and":["10.3","14.0","15.14","15.19","15.21","15.22","15.26","20.0"],"when":["10.3","12.1","12.2","12.3","12.4","12.5","12.6","12.7","12.8","12.9","12.10","12.11","12.12","12.13","12.14","12.15","12.16","12.17","12.18","12.19","12.20","12.21","12.22","12.23","12.24","12.25","12.26","12.27","12.28","12.29","12.30","12.31","12.32","12.33","12.34","12.35","12.36","12.37","12.38","12.39","12.40","13.30","14.0","15.30"],"using":["10.3"],"following":["10.3"],"local":["10.4"],"attribute":["10.4","15.30","19.5"],"used":["10.4","10.6","10.8","10.9","10.10","10.15","30.38","30.39","30.48"],"to":["10.4","10.6","10.9","10.15","13.1","13.2","13.19","13.23","13.31","13.32","15.11","15.38","16.1","17.1","18.1","28.7","30.10","30.15","30.17","30.19","30.26","30.32","30.38","30.39","30.45","30.46","30.48"],"cache":["10.4"],"method":["10.4","10.6","10.8","10.9","10.10","10.13","10.15"],"manage":["10.5","10.6","10.7","10.8","10.9","10.10","10.11","10.12","10.13","10.14","10.15","10.16"],"s":["10.6","10.7","10.9","10.14","10.15","10.16","12.0","14.0","19.2","19.4","19.5","30.40"],"notices":["10.7"],"there":["10.7"],"dynamically":["10.8","10.9","10.15","15.31","15.32","15.33","15.40","15.41"],"controllers":["10.9"],"right":["10.10","12.37"],"context":["10.10","30.30"],"menu":["10.10","16.0","30.30"],"features":["10.11","10.16"],"layer":["10.12","10.14"],"functionality":["10.13"],"property":["10.14","16.1","17.1","18.1","19.2","19.4"],"settings":["10.15","12.39","19.1","29.0"],"panel":["10.15","12.39","13.21","19.0","19.1","30.29"],"plugin":["10.16","14.0","24.4","25.18","28.1","35.4","36.18"],"with":["10.16","20.11","28.1"],"here":["11.0","13.0","15.0"],"returns":["11.1","11.2","11.3","11.4","11.5","11.6","11.7","11.8","11.9","11.10","11.11","11.12"],"an":["11.1","12.11","12.47"],"collection":["11.6"],"utility":["11.6"],"events":["12.0","14.0","15.37"],"are":["12.0","29.2"],"divided":["12.0"],"into":["12.0"],"two":["12.0"],"types":["12.0"],"one":["12.0"],"native":["12.0"],"prefix":["12.0"],"other":["12.0"],"custom":["12.0","12.33","30.28","30.29","30.30","30.31","30.34","30.42"],"triggered":["12.1","12.2","12.3","12.4","12.5","12.6","12.7","12.8","12.9","12.10","12.11","12.12","12.13","12.14","12.15","12.16","12.17","12.18","12.19","12.20","12.21","12.22","12.23","12.24","12.25","12.26","12.27","12.28","12.29","12.30","12.31","12.32","12.33","12.34","12.35","12.36","12.37","12.38","12.39","12.40"],"switches":["12.2"],"occurs":["12.11","12.28"],"mouse":["12.13"],"on":["12.16","13.17","13.18","13.19","13.20","13.22","13.24","30.33","30.35"],"mobile":["12.16","13.20","13.22","13.24"],"aspect":["12.17"],"automatically":["12.18","30.10","30.12"],"goes":["12.21","12.22"],"enters":["12.24","12.25"],"subtitle":["12.28","12.29","12.30","30.24"],"offset":["12.28"],"updates":["12.29"],"loads":["12.30"],"subtitles":["12.31","30.36"],"switch":["12.31"],"information":["12.32","30.33"],"loader":["12.34"],"controller":["12.38"],"browser":["12.41"],"media":["12.45"],"content":["12.45"],"attributes":["13.0"],"whether":["13.1","13.2","13.17","13.18","13.19","13.31","13.32","15.25","16.1","17.1","18.1","30.10","30.14","30.15","30.17","30.19","30.26","30.32","30.43","30.44","30.45","30.46","30.47"],"start":["13.1"],"mode":["13.1"],"enable":["13.2"],"display":["13.3","30.18","30.22","30.23"],"duration":["13.3","13.11","13.12"],"throttle":["13.7","13.8"],"boundary":["13.9"],"tolerance":["13.9"],"distance":["13.9"],"maximum":["13.10","13.13"],"minimum":["13.11"],"delay":["13.12","13.14","13.15","13.16"],"auto":["13.15"],"double":["13.16"],"event":["13.16"],"desktop":["13.17"],"devices":["13.20"],"refresh":["13.21"],"milliseconds":["13.23"],"increment":["13.26"],"by":["13.26"],"list":["13.27","13.28","13.29","15.41","19.2"],"built":["13.27","13.28","13.29"],"flips":["13.29"],"setting":["13.31","13.32","15.11","15.40","15.41"],"plugins":["14.0"],"once":["14.0"],"you":["14.0","20.9","28.1","29.2"],"know":["14.0"],"methods":["14.0"],"very":["14.0"],"simple":["14.0"],"can":["14.0","15.30","20.9","28.1"],"load":["14.0"],"functions":["14.0"],"instantiated":["14.0"],"jump":["15.5"],"sets":["15.8","15.25"],"address":["15.11","15.17","15.18","30.2"],"similar":["15.11","15.38"],"quality":["15.12","27.0"],"download":["15.16"],"gets":["15.17","15.18","15.26"],"size":["15.26","30.11"],"has":["15.30"],"only":["15.30","20.11"],"this":["15.30","28.1","28.7"],"activate":["15.34"],"proportion":["15.35","15.36"],"proxies":["15.37"],"shortcut":["15.39"],"getting":["15.40"],"or":["15.40"],"description":["16.1","17.1","18.1","19.2","19.4","19.5"],"component":["17.1"],"first":["19.1"],"open":["19.1"],"selection":["19.2","30.32"],"nested":["19.3"],"lists":["19.3"],"button":["19.4"],"range":["19.5"],"slider":["19.5"],"group":["20.1","20.2","20.3","20.4","20.5","24.2","24.3","25.2","25.3","26.2","26.3","27.2","27.3","28.3","28.4","28.5","31.1","31.2","31.3","31.4","31.5","35.2","35.3","36.2","36.3","37.2","37.3","38.2","38.3","39.3","39.4","39.5"],"bash":["20.2","24.2","24.3","25.2","25.3","26.2","26.3","27.2","27.3","28.3","28.4","31.2","35.2","35.3","36.2","36.3","37.2","37.3","38.2","38.3","39.3","39.4"],"index":["20.3","24.4","25.18","28.5","28.7","28.13","31.3","35.4","36.18","39.5","39.7","39.12","39.13"],"import":["20.3","20.5","20.9","29.4","31.3","31.5","31.9","40.4"],"from":["20.3","20.5","28.7","29.4","31.5","40.4"],"const":["20.3"],"jsx":["20.5","20.8","31.5","31.8"],"useeffect":["20.5","31.5"],"useref":["20.5","31.5"],"importing":["20.6"],"also":["20.9"],"separately":["20.9"],"sometimes":["20.10"],"your":["20.10"],"file":["20.10"],"may":["20.10"],"lose":["20.10"],"typescript":["20.10","31.10"],"hints":["20.10"],"browsers":["20.11"],"production":["20.11"],"build":["20.11"],"compatible":["20.11"],"https":["21.0","22.0","23.0","32.0","33.0","34.0"],"github":["21.0","22.0","23.0","32.0","33.0","34.0"],"com":["21.0","22.0","23.0","32.0","33.0","34.0"],"industry":["21.0","32.0"],"forum":["21.0","32.0"],"bilibili":["22.0","33.0"],"data":["22.0","23.0","24.4","25.9","25.11","25.12","25.13","25.18","33.0","34.0","35.4","36.9","36.11","36.12","36.13","36.18"],"dev":["23.0","34.0"],"libs":["23.0","24.4","25.12","25.13","25.18","34.0","35.4","36.12","36.13","36.18"],"ads":["24.0","24.4","35.4"],"jsdelivr":["24.3","25.3","26.3","27.3","28.4","35.3","36.3","37.3","38.3","39.4"],"uncompiled":["24.4","25.13","25.18","35.4","36.13","36.18"],"app":["24.4"],"查看完整演示":["25.1","35.1","36.1","37.1","38.1","39.2"],"每一个弹幕是一个对象":["25.4","36.4"],"多个弹幕组成的数组就是弹幕源":["25.4","36.4"],"通常只需要":["25.4","36.4"],"text":["25.4","36.4"],"就可以发送一个弹幕":["25.4","36.4"],"只有":["25.5","36.5"],"danmuku":["25.5","25.18","36.5","36.18"],"是必须的参数":["25.5","36.5"],"其余都是非必填":["25.5","36.5"],"弹幕源":["25.5","36.5"],"speed":["25.5","36.5"],"弹幕持续时间":["25.5","36.5"],"范围在":["25.5","36.5"],"来自用户输入的弹幕":["25.6","36.6"],"beforeemit":["25.6","36.6"],"filter":["25.6","36.6"],"beforevisible":["25.6","36.6"],"artplayerplugindanmuku":["25.6","36.6"],"visible":["25.6","36.6"],"来自服务器的弹幕":["25.6","36.6"],"xml":["25.8","36.8"],"弹幕":["25.8","36.8"],"文件":["25.8","36.8"],"通过方法":["25.10","25.12","25.13","36.10","36.12","36.13"],"进行隐藏或者显示弹幕":["25.10","36.10"],"通过属性":["25.11","36.11"],"判断当前弹幕是隐藏或者显示":["25.11","36.11"],"发送一条实时弹幕":["25.12","36.12"],"实时改变弹幕配置":["25.13","36.13"],"通过":["25.14","36.14"],"方法可以重载弹幕源":["25.14","36.14"],"或者切换新弹幕":["25.14","36.14"],"用于清空当前显示的弹幕":["25.15","36.15"],"在初始化弹幕插件的时候":["25.16","36.16"],"是可以指定弹幕发射器的挂载位置的":["25.16","36.16"],"默认是挂载在控制栏的中部":["25.16","36.16"],"你也可以把它挂载在播放器以外的地方":["25.16","36.16"],"当播放器全屏的时候":["25.16","36.16"],"发射器会自动回到控制栏的中部":["25.16","36.16"],"假如你挂载的地方是亮色的话":["25.16","36.16"],"建议把":["25.16","36.16"],"用于获取当前弹幕配置":["25.17","36.17"],"control":["28.0","30.31"],"doctype":["28.5","39.5"],"push":["28.7","28.12"],"messages":["28.7","28.8","28.12"],"iframe":["28.7","28.13","39.7","39.13"],"receive":["28.8"],"after":["28.9"],"最常遇到的问题是":["28.13","39.13"],"播放器在":["28.13","39.13"],"里进行网页全屏":["28.13","39.13"],"但在":["28.13","39.13"],"danger":["29.0","40.0"],"given":["29.0"],"increasing":["29.0"],"bundled":["29.0"],"languages":["29.1","29.2"],"language":["29.2","29.3","29.4","30.41","41.41"],"files":["29.2"],"before":["29.2"],"packaging":["29.2"],"located":["29.2"],"src":["29.2","40.2"],"i18n":["29.2","40.2"],"zhtw":["29.4","40.4"],"where":["30.1"],"source":["30.2"],"unique":["30.3"],"undefined":["30.4","41.4"],"constructor":["30.4"],"accepts":["30.4"],"as":["30.4"],"second":["30.4"],"argument":["30.4"],"f00":["30.6","41.6"],"false":["30.8","30.9","30.10","30.11","30.12","30.13","30.14","30.15","30.16","30.17","30.18","30.20","30.22","30.23","30.24","30.25","30.26","30.37","30.43","30.44","30.45","30.46","30.47","41.10","41.11","41.12","41.14","41.15","41.16","41.17","41.24","41.26","41.43","41.45","41.47"],"use":["30.8","30.19","30.26","30.45"],"displays":["30.16"],"true":["30.19","30.21","30.27","41.19"],"hotkeys":["30.19"],"if":["30.21"],"mini":["30.25"],"ssr":["30.26","41.26"],"server":["30.26"],"initializes":["30.28","30.29","30.31"],"initialize":["30.30","30.34"],"bottom":["30.31"],"object":["30.35","30.36","30.37","30.38","30.40","30.42","30.48","41.35","41.36","41.37","41.38","41.40","41.42","41.48"],"bar":["30.35"],"supporting":["30.36"],"formats":["30.36"],"vtt":["30.36","41.36"],"srt":["30.36","41.36"],"controls":["30.37","41.37"],"preload":["30.37"],"replace":["30.38"],"specify":["30.39"],"format":["30.39"],"conjunction":["30.39"],"matches":["30.40"],"navigator":["30.41","41.41"],"configuration":["30.42"],"will":["30.42"],"be":["30.42"],"deeply":["30.42"],"merged":["30.42"],"automatic":["30.45"],"导入":["31.6"],"你也可以单独导入选项的类型":["31.9"],"ts":["31.9"],"有时你的":["31.10"],"文件会丢失":["31.10"],"的类型提示":["31.10"],"这时候你可以手动导入类型":["31.10"],"生产构建的":["31.11"],"只兼容最新一个主版本的":["31.11"],"chrome":["31.11"],"last":["31.11"],"画质":["37.0","38.0"],"控制":["39.0"],"通过该插件":["39.1"],"你可以轻松在":["39.1"],"从":["39.7","40.0"],"将消息推送到":["39.7","39.12"],"该函数将在":["39.7"],"在":["39.8"],"销毁后":["39.9"],"注入脚本":["39.11"],"鉴于捆绑的多国语言越来越多":["40.0"],"默认语言有":["40.1"],"en":["40.1"],"zh":["40.1"],"打包前的语言文件存放于":["40.2"],"欢迎来添加你的语言":["40.2"],"打包后的语言文件存放于":["40.2"],"dist":["40.2"],"播放器挂载的":["41.1"],"视频源地址":["41.2"],"播放器的唯一标识":["41.3"],"构造函数接受一个函数作为第二个参数":["41.4"],"播放器初始化成功且视频可以播放时触发":["41.4"],"ready":["41.4"],"视频的海报":["41.5"],"是否自动播放":["41.10"],"是否使用快捷键":["41.19"],"字幕时间偏移":["41.24"],"是否使用":["41.26"],"初始化自定义的":["41.28","41.29","41.30","41.34"],"层":["41.28"],"设置面板":["41.29"],"右键菜单":["41.30"],"初始化自定义的底部":["41.31"],"控制栏":["41.31"],"是否在底部控制栏里显示":["41.32"],"画质选择":["41.32"],"列表":["41.32"],"在进度条上显示":["41.33"],"高亮信息":["41.33"],"插件":["41.34"],"在进度条上设置":["41.35"],"预览图":["41.35"],"设置视频的字幕":["41.36"],"支持字幕格式":["41.36"],"ass":["41.36"],"用于替换默认图标":["41.38"],"支持":["41.38"],"用于指明视频的格式":["41.39"],"需要配合":["41.39"],"customtype":["41.39"],"通过视频的":["41.40"],"自定义":["41.42"],"配置":["41.42"],"该配置会和自带的":["41.42"],"进行深度合并":["41.42"],"新增你的语言":["41.42"],"是否使用自动":["41.45"],"回放功能":["41.45"],"用于改变内置的css变量":["41.48"]},{"0":["3.24","3.25","5.8","13.27","23.0","25.5","29.0","34.0","36.5","40.0"],"1":["3.25","3.27","5.8","5.35","5.36","13.27","20.11","22.0","29.0","31.10","33.0","40.0"],"2":["3.27","20.8","20.9","21.0","22.0","31.8","32.0","33.0"],"3":["3.22","13.28","23.0","30.2","31.10","34.0","41.2"],"4":["6.2","13.28","16.2","20.9","21.0","30.45","32.0","41.42"],"5":["3.11","3.13","3.24","3.26","13.27","21.0","29.0","30.28","30.29","32.0","40.0","41.28","41.29"],"6":["2.0","6.3","7.3","12.0","16.3","17.3","22.0","33.0"],"7":["15.15","41.7"],"8":["23.0","34.0"],"9":["3.28","9.6","13.28","19.6","29.3","41.42"],"10":["2.2","3.10","7.2","17.2","25.5","36.5"],"11":["2.28"],"13":["2.31","6.2","6.3","16.2","16.3"],"14":["9.6","19.6"],"16":["3.28","13.28"],"19":["5.41"],"21":["6.4","6.5","7.3","7.4","8.4","16.4","16.5","17.3","17.4","18.4"],"22":["8.2","8.3","9.7","18.2","18.3","19.7"],"23":["30.28","41.28"],"24":["6.5","16.5"],"25":["3.27","25.5","36.5"],"29":["5.41","8.5","18.5"],"34":["30.29","41.29"],"35":["3.6"],"40":["7.5","17.5"],"50":["3.9"],"75":["13.27"],"200":["3.5","3.7","3.8","3.20"],"300":["3.16"],"1000":["3.14","3.21","3.23"],"2000":["3.3"],"3000":["3.12","3.15"],"code":["0.1","0.2","0.4","0.5","0.6","0.7","0.12","0.13","0.14","0.15","0.16","1.1","1.6","2.1","2.3","2.4","2.5","2.6","2.7","2.8","2.9","2.10","2.11","2.12","2.13","2.14","2.15","2.16","2.17","2.18","2.19","2.20","2.21","2.22","2.23","2.24","2.25","2.26","2.27","2.29","2.30","2.32","2.33","2.34","2.35","2.36","2.37","2.38","2.39","2.40","3.2","3.4","3.5","3.6","3.16","3.28","3.29","5.1","5.2","5.3","5.11","5.13","5.15","5.16","5.19","5.20","5.21","5.22","5.24","5.25","5.26","5.28","5.29","5.30","5.31","5.32","5.33","5.34","5.40","5.41","9.2","10.1","10.2","12.0","12.20","12.29","12.30","12.31","13.19","15.1","15.2","15.11","15.15","15.19","15.34","15.40","15.41","19.2","25.10","25.16","30.1","30.7","30.10","30.19","30.29","30.30","30.31","30.34","30.42","30.45","36.10","36.16","40.2","41.1","41.4","41.10","41.19","41.29","41.30","41.31","41.34","41.38","41.42","41.45","41.48"],"js":["0.2","0.4","0.13","0.16","2.2","2.18","2.22","2.24","2.28","2.29","2.30","2.31","5.41","6.2","6.3","6.4","7.4","8.4","9.2","9.6","10.2","12.0","12.31","15.15","15.41","16.2","16.3","16.4","17.4","18.4","19.2","19.6","25.4","25.6","25.11","25.12","25.13","25.14","30.1","30.2","30.19","30.28","30.29","30.45","36.4","36.6","36.11","36.12","36.13","36.14","39.7","39.12","40.1","41.2","41.4","41.28","41.29","41.31","41.42"],"var":["0.2","0.4","2.0","2.31","4.0","5.41","6.2","6.3","6.4","6.5","7.3","7.4","7.5","8.2","8.3","8.4","8.5","9.2","9.6","9.7","9.8","10.2","12.0","14.0","15.15","16.2","16.3","16.4","16.5","17.3","17.4","17.5","18.2","18.3","18.4","18.5","19.2","19.3","19.6","19.7","19.8","25.13","25.18","29.3","30.2","30.28","30.29","35.4","36.13","36.18","39.7","40.3","40.4","41.2","41.28","41.29"],"hover":["0.3"],"方法用于代理自定义的":["0.3"],"loadimg":["0.3"],"方法用于监听图片的":["0.3"],"load":["0.3"],"加载事件":["0.3"],"div":["0.3","0.6","0.8","0.9","0.10","0.11","0.12","0.14","0.15","1.2","1.3","1.4","1.5","1.7","1.8","1.9","1.10","1.11","1.12","3.1","3.3","3.4","3.5","3.6","3.7","3.8","3.9","3.10","3.11","3.12","3.13","3.14","3.15","3.16","3.17","3.18","3.19","3.20","3.21","3.22","3.23","3.24","3.25","3.26","3.27","3.28","3.29","3.31","3.32","5.5","5.6","5.7","5.8","5.9","5.10","5.11","5.12","5.13","5.14","5.16","5.17","5.18","5.19","5.20","5.21","5.22","5.23","5.24","5.25","5.27","5.28","5.29","5.31","5.32","5.33","5.37","5.39","5.40","9.1","9.2","10.2","10.5","11.6","12.0","12.3","12.4","12.6","12.7","12.8","12.9","12.10","12.13","12.14","12.15","12.16","12.17","12.18","12.19","12.20","12.21","12.22","12.23","12.24","12.25","12.26","12.27","12.28","12.29","12.30","12.34","12.38","12.39","12.40","13.19","13.29","15.1","15.2","15.7","15.11","15.19","15.21","15.26","15.30","15.34","15.40","15.41","19.2","20.4","25.8","25.16","30.1","30.7","30.10","30.19","30.30","30.31","30.34","30.38","30.42","30.45","31.4","36.8","36.16","41.1","41.3","41.4","41.5","41.7","41.8","41.9","41.10","41.13","41.17","41.19","41.21","41.25","41.34","41.38","41.42","41.44","41.45","41.48"],"classname":["0.4","0.5","0.6","0.7","0.8","0.9","0.10","0.11","0.12","0.13","0.14","0.15","1.1","1.2","1.3","1.4","1.5","1.6","1.7","1.8","1.9","1.10","1.12","3.1","3.2","3.3","3.4","3.5","3.6","3.7","3.8","3.9","3.10","3.11","3.12","3.13","3.15","3.16","3.17","3.18","3.19","3.21","3.22","3.25","3.26","3.28","3.29","3.31","3.32","5.1","5.2","5.3","5.5","5.6","5.7","5.8","5.9","5.10","5.11","5.12","5.13","5.15","5.16","5.17","5.18","5.19","5.20","5.21","5.22","5.23","5.24","5.25","5.26","5.28","5.29","5.30","5.31","5.32","5.33","5.34","5.39","5.40","9.1","9.2","10.1","10.2","10.5","12.0","12.3","12.4","12.6","12.7","12.8","12.9","12.10","12.14","12.16","12.18","12.20","12.21","12.22","12.23","12.24","12.26","12.27","12.28","12.29","12.30","12.40","13.19","15.1","15.2","15.11","15.19","15.21","15.26","15.30","15.34","15.40","15.41","19.2","25.8","25.10","25.16","30.1","30.7","30.10","30.19","30.30","30.31","30.34","30.38","30.42","30.45","36.8","36.10","36.16","41.1","41.3","41.4","41.5","41.7","41.9","41.10","41.13","41.17","41.19","41.30","41.31","41.34","41.38","41.42","41.44","41.45","41.48"],"run":["0.4","0.5","0.6","0.7","0.10","0.11","0.12","0.13","0.14","0.15","0.16","1.1","1.6","2.1","2.3","2.4","2.5","2.7","2.8","2.9","2.10","2.13","2.14","2.15","2.16","2.19","2.27","2.32","2.33","2.34","2.35","2.36","2.37","2.38","2.40","3.2","3.4","3.5","3.6","3.7","3.8","3.9","3.10","3.16","3.21","3.28","3.29","3.31","5.1","5.2","5.3","5.7","5.9","5.11","5.13","5.15","5.16","5.17","5.18","5.19","5.20","5.21","5.22","5.24","5.25","5.26","5.28","5.29","5.30","5.31","5.32","5.33","5.34","5.40","9.1","9.2","10.1","10.2","10.5","12.0","12.6","12.7","12.8","12.10","12.20","12.24","12.28","12.29","12.30","12.31","13.19","15.1","15.2","15.11","15.15","15.19","15.21","15.30","15.34","15.40","15.41","19.2","25.8","25.10","25.16","28.7","30.1","30.7","30.10","30.19","30.29","30.30","30.31","30.34","30.42","30.45","36.8","36.10","36.16","41.1","41.4","41.5","41.7","41.10","41.19","41.30","41.31","41.34","41.38","41.42","41.45","41.48"],"art":["0.4","2.0","5.10","5.12","5.41","6.2","6.3","6.4","6.5","7.3","7.4","7.5","8.2","8.3","8.5","9.2","9.3","9.6","9.7","9.8","12.0","14.0","15.10","15.12","15.15","16.2","16.3","16.4","16.5","17.3","17.4","17.5","18.2","18.3","18.5","19.2","19.3","19.6","19.7","19.8","20.3","20.5","25.18","29.3","30.2","31.3","31.10","35.4","36.18","40.3","41.2"],"new":["0.4","2.0","4.0","6.2","6.3","6.4","6.5","7.3","7.4","7.5","8.3","9.2","9.3","9.6","9.7","9.8","12.0","14.0","16.2","16.3","16.4","16.5","17.3","17.4","17.5","18.3","19.2","19.3","19.6","19.7","19.8","20.3","20.5","25.18","30.2","31.3","35.4","36.18","40.3","41.2"],"artplayer":["0.4","2.0","4.0","6.2","6.3","6.4","6.5","7.3","7.4","7.5","9.2","9.3","9.7","9.8","12.0","14.0","16.2","16.3","16.4","16.5","17.3","17.4","17.5","19.2","19.3","19.7","19.8","20.6","25.6","25.7","25.9","25.10","25.11","25.12","25.13","25.14","25.15","25.17","26.2","27.2","28.5","29.4","30.2","31.4","31.6","31.9","31.10","36.6","36.7","36.9","36.10","36.11","36.12","36.13","36.14","36.15","36.17","37.2","38.2","39.5","41.2"],"container":["0.4","2.0","4.0","6.4","6.5","7.3","7.5","9.2","9.3","9.7","9.8","12.0","14.0","16.4","16.5","17.3","17.5","19.2","19.3","19.7","19.8","20.3","25.18","30.2","30.11","31.3","35.4","36.18","41.11"],"方法用于更新":["0.6"],"对象":["0.6"],"方法用于动态更新层":["0.8"],"show":["0.8","0.9","0.10","0.15","10.7","30.14","30.15"],"属性用于设置是否显示全部层":["0.8"],"toggle":["0.8","0.9","0.10","0.15","13.18","30.18"],"方法用于切换是否显示全部层":["0.8"],"方法用于动态更新控制器":["0.9"],"属性用于设置是否显示全部控制器":["0.9"],"方法用于切换是否显示全部控制器":["0.9"],"属性用于设置是否显示全部菜单":["0.10"],"方法用于切换是否显示全部菜单":["0.10"],"switch":["0.11","9.4","13.17","19.4","30.20"],"方法设置当前字幕地址和选项":["0.11"],"属性用于切换是否显示加载层":["0.12"],"属性用于切换是否显示遮罩层":["0.14"],"属性用于设置是否显示全部设置项":["0.15"],"方法用于切换是否显示全部设置项":["0.15"],"字符串":["1.11"],"app":["2.0","4.0","7.2","7.5","9.2","9.3","9.7","9.8","12.0","14.0","17.2","17.5","19.3","19.7","19.8","20.3","25.18","30.2","35.4","36.18"],"url":["2.0","4.0","5.10","7.2","7.5","9.3","9.8","12.0","14.0","15.10","15.11","17.2","17.5","19.3","19.8","20.3","24.4","25.18","30.35","30.36","35.4","36.18","41.35","41.36"],"assets":["2.0","4.0","7.2","8.2","8.3","8.4","8.5","9.3","9.8","12.0","14.0","17.2","18.2","18.3","18.4","18.5","19.3","19.8","24.4","25.18","30.2","30.28","35.4","36.18","41.28"],"sample":["2.0","4.0","7.2","8.2","8.3","8.4","8.5","9.3","9.8","14.0","17.2","18.2","18.3","18.4","18.5","19.3","19.8","24.4","25.18","30.2","30.28","35.4","36.18","41.28"],"mp4":["2.0","4.0","7.2","14.0","17.2","24.4","25.18","36.18"],"on":["2.0","4.0","12.5","14.0","30.21","30.22","30.23","30.46"],"canplay":["2.0"],"浏览器可以播放媒体文件了":["2.41"],"浏览器估计它可以在不停止内容缓冲的情况下播放媒体直到结束":["2.42"],"offlineaudiocontext":["2.43","12.43"],"duration":["2.44"],"媒体内容变为空":["2.45"],"例如":["2.45"],"视频停止播放":["2.46"],"获取媒体数据时出错":["2.47"],"media":["2.48","12.41","12.58"],"已加载元数据":["2.49"],"播放已暂停":["2.50"],"播放已开始":["2.51"],"由于缺乏数据而暂停或延迟后":["2.52"],"在浏览器加载资源时周期性触发":["2.53"],"播放速率发生变化":["2.54"],"跳帧":["2.55","2.56"],"用户代理":["2.57"],"媒体数据加载已暂停":["2.58"],"currenttime":["2.59"],"音量发生变化":["2.60"],"由于暂时缺少数据":["2.61"],"可以打印出视频全部的内置事件":["3.1"],"默认关闭":["3.1"],"默认为":["3.3","3.7","3.8","3.9","3.11","3.12","3.13","3.14","3.15","3.17","3.18","3.19","3.20","3.21","3.22","3.23","3.24","3.26","3.30","5.4"],"单位为毫秒":["3.14","3.20","3.23"],"true":["3.17","3.18","3.31","5.4","24.4","41.21","41.27"],"false":["3.19","3.30","3.32","13.19","13.32","41.8","41.9","41.13","41.18","41.20","41.22","41.23","41.25","41.37","41.44","41.46"],"是否把播放器挂在在":["3.30"],"元素下":["3.30"],"目前主要用于进度条的平滑效果":["3.32"],"dosomething":["4.0","14.0"],"video":["4.0","5.31","5.35","5.36","7.2","9.3","9.8","14.0","15.3","15.6","15.8","15.9","15.13","15.14","15.16","15.17","15.18","15.22","15.24","15.25","15.30","15.31","15.32","15.35","15.36","17.2","19.3","19.8","20.3","24.4","25.18","30.4","30.5","30.14","30.16","30.37","36.18","41.40"],"plugins":["4.0","24.4","25.18","36.18"],"ready":["4.0","12.52","14.0","30.4"],"可以在实例化之后再加载插件的函数":["4.0"],"销毁播放器":["5.4"],"接受一个参数表示是否销毁后同时移除播放器的":["5.4"],"html":["5.4","24.4","28.12","30.38","39.1","39.8","39.12","41.26","41.32"],"视频时间跳转":["5.5"],"单位秒":["5.5","5.6","5.7","41.33"],"视频时间快进":["5.6"],"视频时间快退":["5.7"],"设置和获取视频音量":["5.8"],"范围在":["5.8","41.24"],"string":["5.9","6.1","7.1","8.1","11.11","16.1","18.1","30.35","30.36","41.32","41.33","41.35","41.36"],"设置和获取视频地址":["5.9"],"类似":["5.10","5.11","5.12","5.14","5.38"],"但会执行一些优化操作":["5.10","5.11"],"switchurl":["5.12","15.12"],"但会带上之前的播放进度":["5.12"],"设置和获取视频是否静音":["5.13"],"设置和获取视频当前时间":["5.14"],"设置时间时和":["5.14"],"seek":["5.14"],"但它不会触发额外的事件":["5.14"],"返回的是一个":["5.17","5.18"],"promise":["5.17","5.18"],"设置和获取播放器窗口全屏":["5.19"],"设置和获取播放器网页全屏":["5.20"],"设置和获取播放器画中画模式":["5.21"],"只有在视频播放前才能看到海报效果":["5.22"],"boolean":["5.23","6.1","8.1","9.4","19.4","41.32"],"设置和获取播放器迷你模式":["5.23"],"获取视频是否正在播放中":["5.24"],"设置和获取播放器翻转":["5.27"],"支持":["5.27"],"normal":["5.27","13.29"],"horizontal":["5.27","13.29"],"vertical":["5.27","13.29"],"设置和获取播放器播放速度":["5.28"],"设置和获取播放器长宽比":["5.29"],"元素的属性":["5.31"],"动态获取和设置视频类型":["5.32"],"动态获取和设置播放器主题颜色":["5.33"],"常配合":["5.35","5.36"],"timeupdate":["5.35","5.36"],"事件使用":["5.35","5.36"],"和":["5.37","41.6","41.14","41.15","41.16"],"removeeventlistener":["5.37","15.37"],"当使用":["5.37"],"来处理事件":["5.37"],"播放器销毁时也会自动销毁该事件":["5.37"],"document":["5.38","15.38"],"queryselector":["5.38","15.38"],"但被查询的对象局限于当前播放器内":["5.38"],"可以避免同类名的错误":["5.38"],"元素":["5.39"],"是否禁用组件":["6.1","7.1","8.1"],"name":["6.1","7.1","7.2","8.1","14.0","16.1","17.2","18.1","30.36","41.36"],"组件唯一名称":["7.1"],"用于标记类名":["7.1"],"index":["7.1","7.2","17.1","17.2","25.6","25.9","25.11","25.12","25.13","25.14","28.9","28.12","36.6","36.9","36.11","36.12","36.13","36.14","39.1","39.8","39.9"],"controls":["7.2","17.2"],"your":["7.2","17.2","29.2","30.42"],"button":["7.2","17.2","30.17","30.18","30.22","30.23","30.43","30.47"],"img":["8.2","8.3","8.4","8.5","18.2","18.3","18.4","18.5","30.28","41.28"],"layer":["8.2","8.3","8.4","8.5","12.35","12.36","18.2","18.3","18.4","18.5","30.28"],"png":["8.2","8.3","8.5","18.2","18.3","18.5"],"aspectratio":["9.1"],"subtitleoffset":["9.1"],"number":["9.2","17.1","19.2","30.33","30.35","41.33","41.35"],"列表宽度":["9.2","19.2"],"tooltip":["9.2","9.4","9.5","19.2"],"提示文本":["9.2","9.5","19.2"],"元素的图标":["9.4","9.5"],"按钮默认状态":["9.4"],"onswitch":["9.4"],"function":["9.4","9.5","11.9","11.10","19.5","20.5","25.6","30.44","31.5","36.6"],"按钮切换事件":["9.4"],"range":["9.5","30.24"],"array":["9.5","19.5"],"默认状态数组":["9.5"],"onrange":["9.5","19.5"],"完成时触发的事件":["9.5"],"onchange":["9.5"],"变化时触发的事件":["9.5"],"here":["10.0"],"methods":["10.3"],"to":["10.3","10.7","10.10","10.12","10.13","10.14","10.16","12.0","12.1","12.2","13.0","13.4","13.17","13.18","13.29","13.30","15.5","15.10","15.12","15.37","15.39","20.3","28.12","29.2","30.4","30.9","30.13","30.14","30.27","30.40","30.43","30.44","30.47"],"handle":["10.3","15.37"],"event":["10.3","13.7","13.8","13.9","15.37","19.5"],"will":["10.3","15.11","15.37","28.7","30.8","30.11","30.17"],"also":["10.3","28.7"],"be":["10.3","15.11","28.7"],"automatically":["10.3","12.19","15.30","15.37"],"destroyed":["10.3","12.6"],"method":["10.3","10.16"],"get":["10.4","15.13","15.20","15.23","15.27","15.28","15.29","15.32","15.33"],"del":["10.4"],"of":["10.5","10.6","11.2","11.3","11.4","11.5","12.17","13.3","13.5","13.6","13.10","13.13","13.22","13.24","13.25","15.3","15.14","15.16","15.17","15.18","15.26","15.28","15.29","15.30","15.31","16.1","17.1","18.1","30.3","30.7","30.15"],"player":["10.5","11.6","11.12","12.5","12.11","12.13","12.17","12.28","13.30","13.31","15.4","15.19","15.20","15.21","15.23","15.26","15.27","15.33","20.5","28.1","30.1","30.3","30.4","30.6","30.7","30.11","30.46","31.5"],"retrieve":["10.6","15.9"],"value":["10.6"],"update":["10.6","10.8","10.9","10.15"],"only":["10.7","10.16","15.22","30.5","30.25"],"one":["10.7","10.16"],"property":["10.7","10.11","10.12","11.1","30.32","30.33","30.35","30.36"],"used":["10.7","10.12","10.13","10.14","28.7","30.6"],"display":["10.7","10.12","10.14","30.41","30.43","30.47"],"adding":["10.8"],"remove":["10.8","10.9","10.10","10.13","10.15"],"removing":["10.8"],"dynamically":["10.10","10.16"],"items":["10.10","13.5","13.6"],"sets":["10.11","12.18","12.19"],"and":["10.11","12.2","15.3","15.8","15.9","15.13","15.20","15.23","15.27","15.28","15.29","15.30","15.31","15.32","15.33","15.37","19.1","28.7","30.4","30.17","30.38"],"returns":["10.11"],"current":["10.11","15.14","15.16","15.17","15.18"],"address":["10.11","12.2","15.9","15.10","15.12"],"style":["10.11"],"is":["10.12","10.14","12.2","12.3","12.5","12.6","12.9","12.10","12.11","12.32","12.33","12.34","12.35","12.36","12.37","12.38","12.39","12.52","13.19","13.23","13.26","13.28","13.32","15.10","15.13","15.22","15.24","15.35","30.4","30.24"],"set":["10.12","10.14","15.9","15.23","15.30","15.31","15.32","15.33"],"whether":["10.12","10.14","13.30","15.4","15.13","15.24","30.9","30.13","30.27"],"a":["10.13","12.26","12.55","12.56","15.4","15.5","24.4","28.11","30.40","30.43"],"item":["10.15"],"add":["10.16","29.2","30.42","30.44"],"refer":["11.0","13.0"],"you":["11.1","20.10","20.11","30.26"],"can":["11.1","12.41","13.1","20.10","28.7"],"use":["11.1","30.27"],"this":["11.1","20.10"],"when":["11.1","13.13","13.14","13.22","13.23","15.37","30.4","30.5","30.12","30.25"],"information":["11.2","15.26"],"environment":["11.3"],"variables":["11.3","15.40","20.10","30.48"],"time":["11.4","12.27","15.5","15.6","15.7","15.14","25.4","30.33","36.4","41.33"],"default":["11.5","13.16","13.19","13.21","13.23","13.27","13.28","13.32","19.4","19.5","20.5","31.5"],"configuration":["11.5"],"functions":["11.6"],"for":["11.6","11.7","11.8","11.10","12.1","12.45","13.9","13.10","13.11","13.12","13.14","13.15","13.20","17.1","20.9","20.11","30.18"],"the":["11.6","12.5","12.11","12.46","12.48","12.54","12.59","13.0","13.15","13.20","13.30","13.31","13.32","15.6","15.8","15.9","15.13","15.14","15.16","15.20","15.21","15.22","15.23","15.24","15.25","15.27","15.28","15.29","15.31","15.32","15.33","15.37","15.38","15.39","16.1","18.1","26.1","27.1","28.1","30.12","30.13","30.14","30.15","30.16","30.18","30.20","30.21","30.22","30.23","30.24","30.42","30.46","30.47"],"validation":["11.7","11.9"],"constructor":["11.8"],"tool":["11.10"],"required":["11.11"],"s":["11.12","15.33","24.4"],"listening":["12.0"],"able":["12.1","12.2"],"play":["12.1","12.2","12.41","30.4"],"paused":["12.3"],"starts":["12.4"],"playing":["12.4"],"pressed":["12.5"],"gains":["12.7"],"loses":["12.8"],"focus":["12.8"],"double":["12.9","13.23"],"clicked":["12.9","12.10"],"while":["12.11"],"loading":["12.11"],"hovered":["12.12"],"or":["12.12","12.32","12.33","12.34","12.35","12.36","12.37","12.38","12.39"],"unhovered":["12.12"],"by":["12.12","13.27","30.9","30.11","30.39"],"moves":["12.13"],"over":["12.13"],"size":["12.14","12.19"],"changes":["12.14","12.16","12.17","12.40"],"appears":["12.15","30.5","30.25"],"in":["12.15","12.25","12.27","12.28","13.3","13.4","13.5","13.6","13.7","13.8","13.9","13.11","13.16","13.21","15.5","15.7","15.21","20.10","30.17","30.20","30.32","30.42","30.48"],"viewport":["12.15"],"locked":["12.16"],"state":["12.16","12.40","15.3","19.4","19.5"],"height":["12.18","15.30"],"flips":["12.20"],"into":["12.21","12.22"],"full":["12.21","12.22","24.1","28.2"],"screen":["12.21","12.22"],"error":["12.22"],"enters":["12.23"],"web":["12.23","15.20","30.23","30.46"],"fullscreen":["12.23","24.4","30.23"],"mode":["12.24","12.25","15.21","30.8","30.12","30.26","30.27"],"picture":["12.25","15.21","30.20"],"takes":["12.26"],"jumps":["12.27"],"panel":["12.32","13.4","13.5","13.6"],"shown":["12.32","12.33","12.34","12.35","12.36","12.37","12.38","12.39"],"hidden":["12.32","12.33","12.34","12.35","12.36","12.38","12.39"],"click":["12.37","13.2"],"menu":["12.37","13.2"],"browser":["12.42"],"estimates":["12.42"],"triggered":["12.44","19.5","30.4"],"becomes":["12.45"],"empty":["12.45"],"example":["12.45"],"occurred":["12.47"],"metadata":["12.49","30.37","41.37"],"playback":["12.50","12.51","12.61","13.26","15.28","30.15"],"periodically":["12.53"],"user":["12.57"],"agent":["12.57"],"volume":["12.60"],"which":["13.1","15.8","15.10","30.5","30.8"],"print":["13.1","13.31"],"out":["13.1"],"all":["13.1","21.0","32.0"],"built":["13.1","30.42","30.48"],"right":["13.2"],"context":["13.2","30.17"],"notification":["13.3"],"message":["13.3"],"settings":["13.4","13.5","13.6"],"pixels":["13.4","13.9"],"defaults":["13.4","13.7","13.8","13.29"],"milliseconds":["13.7","13.8","13.16","13.21"],"view":["13.9"],"records":["13.10"],"automatic":["13.10","13.13","13.14"],"feature":["13.11","13.12","30.14","30.15","30.16","30.45"],"hiding":["13.12"],"reconnection":["13.13","13.14"],"attempts":["13.13"],"attempt":["13.14"],"bottom":["13.15","30.32"],"measured":["13.16"],"pause":["13.18","15.3"],"single":["13.19"],"delay":["13.20"],"rotation":["13.20"],"unit":["13.21"],"multiplier":["13.22"],"rate":["13.22"],"speed":["13.22","13.24","15.28","30.15"],"tapped":["13.23"],"sliding":["13.24"],"adjusting":["13.25"],"with":["13.25","19.1","30.39","30.42"],"shortcuts":["13.25"],"progress":["13.26","30.25","30.33"],"adjusted":["13.26"],"via":["13.26"],"speeds":["13.27"],"ratios":["13.28"],"mount":["13.30","30.26"],"requestanimationframe":["13.32"],"currently":["13.32","15.24","30.3","30.6","30.41"],"myplugin":["14.0"],"console":["14.0"],"info":["14.0"],"return":["14.0","15.39"],"something":["14.0"],"accepts":["15.4"],"indicating":["15.4"],"specific":["15.5"],"fast":["15.6","30.44"],"rewind":["15.7"],"seconds":["15.7"],"gets":["15.8"],"ranges":["15.8"],"similar":["15.10","15.12"],"but":["15.11","15.12","15.38"],"some":["15.11"],"optimization":["15.11"],"operations":["15.11"],"executed":["15.11"],"it":["15.12","19.1","24.4","30.16","30.17"],"setting":["15.14"],"screenshot":["15.17","15.18"],"window":["15.19","30.22"],"page":["15.20"],"effect":["15.22"],"visible":["15.22"],"should":["15.25"],"auto":["15.25"],"adjust":["15.25"],"position":["15.26"],"supports":["15.27","30.38","30.41"],"aspect":["15.29","30.16"],"ratio":["15.29","30.16"],"calculate":["15.30"],"attributes":["15.31","30.37"],"that":["15.35","15.36"],"cached":["15.35"],"ranging":["15.35","15.36"],"from":["15.35","15.36","28.8","29.0","31.3","31.9"],"has":["15.36"],"been":["15.36"],"using":["15.37"],"object":["15.38"],"being":["15.38"],"queried":["15.38"],"css":["15.40","30.48"],"qualities":["15.41"],"component":["16.1","18.1"],"unique":["16.1","17.1","18.1"],"class":["17.1"],"identification":["17.1"],"then":["19.1"],"comes":["19.1"],"four":["19.1"],"元素点击事件":["19.2"],"width":["19.2"],"icon":["19.4"],"upon":["19.5"],"usage":["20.0"],"bash":["20.1","31.1"],"npm":["20.1","24.2","25.2","26.2","27.2","28.3","31.1","35.2","36.2","37.2","38.2","39.3"],"jsdelivr":["20.2","31.2"],"net":["20.2","24.3","25.3","26.3","27.3","28.4","31.2","35.3","36.3","37.3","38.3","39.4"],"https":["20.2","24.3","25.3","26.3","27.3","28.4","31.2","35.3","36.3","37.3","38.3","39.4"],"path":["20.3"],"template":["20.4","31.4"],"ref":["20.4"],"artref":["20.4","20.5","31.5"],"export":["20.5","31.5"],"option":["20.5","31.5"],"getinstance":["20.5","31.5"],"rest":["20.5","31.5"],"const":["20.5","31.3","31.5"],"import":["20.8","20.10","31.8","31.10"],"type":["20.9","31.9","31.10"],"options":["20.9"],"ts":["20.9","41.39"],"case":["20.10"],"manually":["20.10"],"types":["20.10"],"latest":["20.11"],"major":["20.11"],"version":["20.11","29.0","31.11"],"chrome":["20.11"],"last":["20.11"],"data":["21.0","25.6","25.7","25.10","25.14","25.15","25.17","32.0","36.6","36.7","36.10","36.14","36.15","36.17"],"libs":["21.0","22.0","25.6","25.7","25.9","25.10","25.11","25.14","25.15","25.17","32.0","33.0","36.6","36.7","36.9","36.10","36.11","36.14","36.15","36.17"],"cdnjs":["21.0","22.0","23.0","32.0","33.0","34.0"],"cloudflare":["21.0","22.0","23.0","32.0","33.0","34.0"],"ajax":["21.0","22.0","23.0","32.0","33.0","34.0"],"dashjs":["21.0","32.0"],"beta":["23.0","34.0"],"min":["23.0","34.0"],"install":["24.2","25.2","26.2","27.2","28.3","35.2","36.2","37.2","38.2","39.3"],"autosize":["24.4"],"fullscreenweb":["24.4","28.13","39.13"],"artplayerpluginads":["24.4"],"ad":["24.4"],"ignored":["24.4"],"if":["24.4","30.26"],"其余都是非必要参数":["25.4","36.4"],"弹幕文本":["25.4","36.4"],"margin":["25.5","36.5"],"弹幕上下边距":["25.5","36.5"],"支持像素数字和百分比":["25.5","36.5"],"opacity":["25.5","36.5"],"弹幕透明度":["25.5","36.5"],"uncompiled":["25.6","25.7","25.9","25.10","25.11","25.12","25.14","25.15","25.17","36.6","36.7","36.9","36.10","36.11","36.12","36.14","36.15","36.17"],"plugin":["25.6","25.7","25.9","25.10","25.11","25.12","25.13","25.14","25.15","25.17","36.6","36.7","36.9","36.10","36.11","36.12","36.13","36.14","36.15","36.17"],"danmuku":["25.6","25.9","25.11","25.12","25.13","25.14","25.15","25.17","36.6","36.9","36.11","36.12","36.13","36.14","36.15","36.17"],"保存到数据库":["25.6","36.6"],"savedanmu":["25.6","36.6"],"bilibili":["25.8","36.8"],"网站的弹幕格式一致":["25.8","36.8"],"theme":["25.16","36.16"],"设置成":["25.16","36.16"],"light":["25.16","36.16"],"否则会看不清":["25.16","36.16"],"quality":["26.0"],"easily":["28.1"],"control":["28.1","30.32"],"inside":["28.1","28.7"],"head":["28.5","39.5"],"title":["28.5","39.5"],"meta":["28.5","39.5"],"interface":["28.6","28.10"],"iframe":["28.8","39.12"],"destruction":["28.9"],"warning":["28.10","39.10"],"script":["28.11"],"是不生效的":["28.13","39.13"],"这时候只要监听":["28.13","39.13"],"里的":["28.13","39.13"],"事件并通知到":["28.13","39.13"],"multilingual":["29.0"],"packs":["29.0"],"starting":["29.0"],"are":["29.1","30.21"],"en":["29.1","41.41"],"zh":["29.1","29.4","40.2","40.4","41.41"],"cn":["29.1","40.1"],"welcome":["29.2"],"packaged":["29.2"],"at":["29.2"],"dist":["29.2"],"i18n":["29.4","40.4"],"tw":["29.4","40.2","40.4"],"mounts":["30.1"],"identifier":["30.3"],"successfully":["30.4"],"initialized":["30.4"],"color":["30.6"],"live":["30.8"],"hide":["30.8"],"mute":["30.9"],"fill":["30.11"],"entire":["30.11"],"enter":["30.12"],"mini":["30.12"],"appear":["30.17"],"toolbar":["30.17"],"there":["30.21"],"multiple":["30.21"],"players":["30.21"],"offset":["30.24"],"5s":["30.24","41.24"],"bar":["30.25","30.31","30.32","30.33"],"side":["30.26"],"rendering":["30.26"],"useful":["30.26"],"want":["30.26"],"list":["30.32"],"description":["30.32","30.33","30.35","30.36"],"thumbnail":["30.35"],"ass":["30.36"],"additional":["30.37"],"these":["30.37"],"strings":["30.38"],"htmlelement":["30.38","41.38"],"customtype":["30.39"],"same":["30.39"],"as":["30.39"],"file":["30.39"],"extension":["30.39"],"delegate":["30.40"],"decoding":["30.40"],"third":["30.40"],"tolowercase":["30.41","41.41"],"language":["30.42"],"forward":["30.44"],"rotate":["30.46"],"mobile":["30.46"],"change":["30.48"],"let":["31.10"],"null":["31.10"],"参数":["31.10"],"对于古老的浏览器":["31.11"],"可以使用":["31.11"],"legacy":["31.11"],"文件":["31.11"],"里控制跨域":["39.1"],"接口":["39.6","39.10"],"内部运行":["39.7"],"同时它也能用于异步获取":["39.7"],"里的值":["39.7"],"接收来自":["39.11"],"无需手动导入":["40.1"],"手动导入的语言有":["40.2"],"cs":["40.2"],"es":["40.2"],"fa":["40.2"],"fr":["40.2"],"id":["40.2"],"pl":["40.2"],"ru":["40.2"],"group":["40.2"],"容器":["41.1"],"目前只用于记忆播放":["41.3"],"autoplayback":["41.3"],"事件一样":["41.4"],"只会出现在播放器初始化且未播放的状态下":["41.5"],"播放器主题颜色":["41.6"],"目前用于":["41.6"],"进度条":["41.6"],"播放器的默认音量":["41.7"],"使用直播模式":["41.8"],"会隐藏进度条和播放时间":["41.8"],"是否默认静音":["41.9"],"播放器的尺寸默认会填充整个":["41.11"],"容器尺寸":["41.11"],"所以经常出现黑边":["41.11"],"该值能自动调整播放器尺寸以隐藏黑边":["41.11"],"当播放器滚动到浏览器视口以外时":["41.12"],"自动进入":["41.12"],"迷你播放":["41.12"],"模式":["41.12","41.27"],"是否循环播放":["41.13"],"是否显示视频翻转功能":["41.14"],"目前只出现在":["41.14"],"设置面板":["41.14","41.15","41.16","41.18","41.24"],"右键菜单":["41.14","41.15","41.16"],"是否显示视频播放速度功能":["41.15"],"会出现在":["41.15","41.16"],"是否显示视频长宽比功能":["41.16"],"是否在底部控制栏里显示":["41.17","41.18","41.20"],"视频截图":["41.17"],"功能":["41.17"],"的开关按钮":["41.18","41.20"],"画中画":["41.20"],"假如页面里同时存在多个播放器":["41.21"],"是否只能让一个播放器播放":["41.21"],"是否在底部控制栏里显示播放器":["41.22","41.23"],"窗口全屏":["41.22"],"按钮":["41.22","41.23","41.47"],"网页全屏":["41.23"],"出现在":["41.24"],"迷你进度条":["41.25"],"只在播放器失去焦点后且正在播放时出现":["41.25"],"挂载模式":["41.26"],"假如你希望在播放器挂载前":["41.26"],"就提前渲染好播放器所需的":["41.26"],"时有用":["41.26"],"你可以通过":["41.26"],"在移动端是否使用":["41.27"],"类型":["41.32"],"描述":["41.32","41.33","41.35","41.36"],"默认画质":["41.32"],"画质名字":["41.32"],"高亮时间":["41.33"],"text":["41.33"],"高亮文本":["41.33"],"预览图地址":["41.35"],"预览图数量":["41.35"],"column":["41.35"],"字幕名字":["41.36"],"字幕地址":["41.36"],"字幕类型":["41.36"],"可选":["41.36"],"preload":["41.37"],"更多视频属性":["41.37"],"这些属性将直接写入视频元素里":["41.37"],"字符串和":["41.38"],"一起使用":["41.39"],"默认视频的格式就是视频地址的后缀":["41.39"],"如":["41.39"],"m3u8":["41.39"],"mkv":["41.39"],"但有时候视频地地址没有正确的后缀":["41.39"],"进行匹配":["41.40"],"把视频解码权交给第三方程序进行处理":["41.40"],"处理的函数能接收三个参数":["41.40"],"视频":["41.40"],"dom":["41.40"],"默认显示语言":["41.41"],"目前支持":["41.41"],"是否在移动端显示一个":["41.43"],"锁定按钮":["41.43"],"用于隐藏底部":["41.43"],"控制栏":["41.43"],"是否在移动端添加长按视频快进功能":["41.44"],"是否在移动端的网页全屏时":["41.46"],"根据视频尺寸和视口尺寸":["41.46"],"旋转播放器":["41.46"],"是否显示":["41.47"],"当前只有部分浏览器支持该功能":["41.47"]},{"0":["9.5","13.25","15.8","15.35","15.36","25.4","36.4"],"1":["9.5","13.25","15.8","15.35","15.36","19.5","20.10"],"2":["13.27","25.5","30.1","36.5","41.1"],"3":["20.7","20.10","31.7"],"4":["30.7","30.10","30.19","30.30","30.31","30.38","30.42","40.1","41.10","41.19","41.30","41.31","41.38","41.45","41.48"],"5":["9.5","13.11","19.5","30.45","41.45"],"6":["2.1","2.3","2.4","2.5","2.7","2.8","2.9","2.10","2.11","2.12","2.13","2.14","2.15","2.16","2.27","2.32","2.33","2.34","2.35","2.36","2.37","2.38","2.39","2.40"],"7":["2.19","2.21","2.23","2.25","2.26","5.15","5.26","5.30","15.30","30.4","30.38","41.4","41.38"],"8":["2.17","2.20","5.1","5.13","5.20","5.28","5.29","5.31","5.32","5.33","5.40","12.20","15.40","28.5","39.5"],"9":["2.29","2.30","5.11","5.19","5.21","5.22","5.34","12.29","12.30","15.11","15.19","15.21","15.34","30.4","30.42","41.4"],"10":["2.6","2.18","2.24","7.5","9.5","12.24","13.10","13.23","17.5","25.4","36.4"],"11":["5.2","5.3","5.20","5.30","12.28","15.2","15.30","31.11"],"12":["30.30","41.30"],"13":["12.31"],"15":["30.34","41.34"],"16":["30.31","41.31"],"17":["4.0"],"18":["21.0","32.0"],"19":["15.41","22.0","33.0"],"21":["23.0","34.0"],"23":["21.0","32.0"],"24":["22.0","33.0"],"25":["13.27"],"26":["23.0","34.0"],"29":["15.41"],"35":["13.6"],"50":["13.9"],"200":["13.5","13.7","13.8","13.20"],"250":["9.2","13.4","19.2"],"300":["13.16"],"1000":["13.21","25.6","36.6"],"2000":["13.3"],"是指挂载在":["0.0","1.0","5.0"],"js":["0.1","0.3","0.5","0.6","0.7","0.8","0.9","0.10","0.11","0.12","0.14","0.15","1.1","2.1","2.3","2.4","2.5","2.6","2.7","2.8","2.9","2.10","2.11","2.12","2.13","2.14","2.15","2.16","2.17","2.19","2.20","2.21","2.23","2.25","2.26","2.27","2.32","2.33","2.34","2.35","2.36","2.37","2.38","2.39","2.40","3.2","3.4","3.5","3.6","3.7","3.8","3.9","3.16","3.27","3.28","3.29","5.1","5.2","5.3","5.7","5.8","5.9","5.10","5.11","5.12","5.13","5.15","5.16","5.17","5.18","5.19","5.20","5.21","5.22","5.24","5.25","5.26","5.28","5.29","5.30","5.31","5.32","5.33","5.34","5.37","5.40","9.1","9.4","9.5","10.1","10.4","10.5","10.6","10.13","12.6","12.18","12.20","12.24","12.28","12.29","12.30","13.19","15.1","15.2","15.11","15.19","15.21","15.26","15.30","15.34","15.40","19.5","25.7","25.9","25.10","25.15","25.16","25.17","28.7","28.12","29.0","30.4","30.7","30.10","30.30","30.31","30.34","30.38","30.42","36.7","36.9","36.10","36.15","36.16","36.17","40.0","41.1","41.7","41.10","41.19","41.30","41.33","41.34","41.38","41.45","41.48"],"var":["0.1","0.3","0.5","0.6","0.7","0.8","0.9","0.10","0.11","0.12","0.13","0.14","0.15","0.16","2.1","2.2","2.3","2.4","2.5","2.6","2.7","2.8","2.9","2.10","2.11","2.12","2.13","2.14","2.15","2.16","2.17","2.18","2.19","2.20","2.21","2.22","2.23","2.24","2.25","2.26","2.27","2.28","2.29","2.30","2.32","2.33","2.34","2.35","2.36","2.37","2.38","2.39","2.40","5.2","5.3","5.11","5.13","5.15","5.19","5.21","5.22","5.26","5.28","5.29","5.30","5.31","5.32","5.33","5.34","5.40","9.4","10.1","10.5","12.29","12.30","12.31","13.19","15.2","15.11","15.19","15.21","15.30","15.40","15.41","25.6","25.9","25.10","25.11","25.12","25.14","28.7","29.4","30.1","30.7","30.10","30.19","30.30","30.31","30.42","30.45","36.6","36.9","36.10","36.11","36.12","36.14","40.1","41.1","41.4","41.10","41.19","41.30","41.31","41.38","41.42","41.45"],"art":["0.1","0.2","0.5","0.6","0.7","0.10","0.13","0.15","0.16","2.2","2.6","2.11","2.12","2.16","2.17","2.18","2.20","2.21","2.22","2.23","2.24","2.25","2.26","2.28","2.29","2.30","2.31","2.39","5.15","5.19","5.21","5.22","5.26","5.30","5.40","8.4","9.4","10.1","10.2","12.31","13.19","15.19","15.21","15.30","15.40","15.41","18.4","20.10","21.0","23.0","25.6","25.11","25.12","25.13","25.14","29.4","30.1","30.7","30.10","30.19","30.28","30.29","30.30","30.31","30.42","30.45","31.5","32.0","34.0","36.6","36.11","36.12","36.13","36.14","39.7","40.1","40.4","41.1","41.4","41.19","41.28","41.29","41.30","41.31","41.34","41.38","41.40","41.42","41.45"],"new":["0.1","0.2","0.6","0.7","0.13","0.15","0.16","2.2","2.6","2.17","2.18","2.20","2.22","2.24","2.28","2.29","2.30","2.31","5.11","5.22","5.40","5.41","8.2","8.4","8.5","10.1","10.2","12.31","15.11","15.15","15.19","15.21","15.30","15.41","18.2","18.4","18.5","25.6","25.11","25.12","25.13","25.14","29.3","29.4","30.1","30.7","30.10","30.19","30.28","30.29","30.30","30.31","30.42","30.45","31.5","36.6","36.11","36.12","36.13","36.14","39.7","40.4","41.1","41.4","41.28","41.29","41.30","41.31","41.42"],"artplayer":["0.2","0.3","0.7","0.13","0.15","0.16","2.2","2.22","2.24","2.28","2.29","2.30","2.31","3.4","3.5","3.6","3.28","3.29","5.11","5.22","5.41","8.2","8.3","8.4","8.5","9.6","10.1","10.2","12.31","13.19","15.11","15.15","15.19","15.30","15.41","18.2","18.3","18.4","18.5","19.6","20.1","20.8","20.9","20.10","24.2","24.3","25.2","25.3","25.8","25.16","26.3","27.3","28.3","28.4","29.0","29.3","30.7","30.10","30.19","30.28","30.29","30.30","30.31","30.42","30.45","31.1","31.8","35.2","35.3","36.2","36.3","36.8","36.16","37.3","38.3","39.3","39.4","39.7","40.0","40.3","41.4","41.26","41.28","41.29","41.30","41.31","41.42"],"container":["0.2","0.3","0.13","0.16","2.2","2.28","2.31","5.11","5.41","6.2","6.3","7.4","8.2","8.3","8.4","8.5","9.6","10.2","12.31","15.11","15.15","15.19","15.41","16.2","16.3","17.4","18.2","18.3","18.4","18.5","19.6","20.5","25.6","25.11","25.12","25.13","25.14","29.3","29.4","30.7","30.10","30.19","30.28","30.29","30.30","30.31","30.42","30.45","31.5","36.6","36.11","36.12","36.13","36.14","39.7","40.3","40.4","41.2","41.4","41.28","41.29","41.31","41.42"],"app":["0.2","0.4","0.13","2.31","5.41","6.2","6.3","6.4","6.5","7.3","7.4","8.2","8.3","8.4","8.5","9.6","10.2","15.11","15.15","15.41","16.2","16.3","16.4","16.5","17.3","17.4","18.2","18.3","18.4","18.5","19.2","19.6","20.4","25.11","25.12","25.13","30.1","30.19","30.28","30.29","30.45","31.3","36.11","36.12","36.13","39.7","40.4","41.2","41.4","41.28","41.29","41.42"],"url":["0.2","0.4","5.41","6.2","6.3","6.4","6.5","7.3","7.4","8.2","8.3","8.5","9.2","9.6","9.7","10.2","15.15","15.41","16.2","16.3","16.4","16.5","17.3","17.4","18.2","18.3","18.5","19.2","19.6","19.7","21.0","22.0","23.0","25.12","25.13","30.19","30.28","30.29","30.32","30.39","30.45","31.3","32.0","33.0","34.0","36.12","36.13","39.7","41.28","41.29","41.32","41.40","41.42"],"classname":["0.3","1.11","3.14","3.20","3.23","3.24","3.27","3.30","5.4","5.14","5.27","5.35","5.36","5.37","5.38","9.4","10.4","10.6","10.7","10.13","10.16","11.6","12.1","12.2","12.5","12.11","12.12","12.13","12.15","12.17","12.19","12.25","12.32","12.33","12.34","12.35","12.36","12.37","12.38","12.39","13.2","13.4","13.7","13.8","13.9","13.16","13.21","13.27","13.28","13.29","13.31","15.3","15.5","15.6","15.7","15.8","15.9","15.10","15.13","15.16","15.20","15.22","15.23","15.24","15.25","15.27","15.28","15.29","15.31","15.32","15.33","15.37","15.39","19.4","30.4","30.9","30.13","30.33","30.41","30.48","41.6","41.8","41.12","41.14","41.15","41.16","41.18","41.20","41.21","41.22","41.23","41.24","41.25","41.26","41.27","41.32","41.33","41.37","41.39","41.41","41.43","41.46","41.47"],"run":["0.3","0.8","0.9","1.2","1.3","1.4","1.5","1.7","1.8","1.9","1.10","1.11","1.12","3.1","3.3","3.11","3.12","3.13","3.14","3.15","3.17","3.18","3.19","3.20","3.22","3.23","3.24","3.25","3.26","3.27","3.30","3.32","5.4","5.5","5.6","5.8","5.10","5.12","5.14","5.23","5.27","5.35","5.36","5.37","5.38","5.39","9.4","10.4","10.6","10.7","10.13","10.16","11.6","12.1","12.2","12.3","12.4","12.5","12.9","12.11","12.12","12.13","12.14","12.15","12.16","12.17","12.18","12.19","12.21","12.22","12.23","12.25","12.26","12.27","12.32","12.33","12.34","12.35","12.36","12.37","12.38","12.39","12.40","13.4","13.7","13.8","13.9","13.16","13.21","13.27","13.28","13.29","15.3","15.6","15.7","15.8","15.9","15.13","15.16","15.20","15.22","15.24","15.25","15.26","15.27","15.28","15.29","15.31","15.32","15.33","15.37","19.4","30.4","30.9","30.13","30.33","30.38","30.41","30.48","41.3","41.6","41.8","41.9","41.12","41.13","41.14","41.15","41.16","41.17","41.18","41.20","41.21","41.22","41.23","41.24","41.25","41.27","41.32","41.33","41.37","41.39","41.41","41.43","41.44","41.46","41.47"],"code":["0.3","0.8","0.9","0.10","0.11","1.2","1.3","1.4","1.5","1.7","1.8","1.9","1.10","1.12","3.1","3.3","3.7","3.8","3.9","3.10","3.11","3.12","3.13","3.14","3.15","3.17","3.18","3.19","3.20","3.21","3.22","3.23","3.24","3.25","3.26","3.27","3.30","3.31","3.32","5.4","5.5","5.6","5.7","5.8","5.9","5.10","5.12","5.14","5.17","5.18","5.23","5.27","5.35","5.36","5.37","5.38","5.39","9.1","9.4","10.4","10.5","10.6","10.7","10.13","10.16","11.6","12.2","12.3","12.4","12.5","12.6","12.7","12.8","12.9","12.10","12.11","12.12","12.13","12.14","12.15","12.16","12.17","12.18","12.19","12.21","12.22","12.23","12.24","12.25","12.26","12.27","12.28","12.32","12.33","12.34","12.35","12.36","12.37","12.38","12.39","12.40","13.4","13.7","13.8","13.16","13.21","13.28","13.29","15.3","15.7","15.8","15.9","15.13","15.16","15.20","15.21","15.24","15.26","15.27","15.28","15.29","15.30","15.31","15.32","15.33","15.37","19.4","25.8","28.13","29.0","29.2","30.4","30.38","30.48","36.8","39.13","41.3","41.5","41.7","41.8","41.9","41.12","41.13","41.17","41.18","41.20","41.21","41.22","41.23","41.24","41.25","41.27","41.32","41.33","41.37","41.39","41.41","41.43","41.44","41.46","41.47"],"document":["0.3","30.1"],"queryselector":["0.3"],"assets":["0.4","5.41","6.2","6.3","6.4","6.5","7.3","7.4","7.5","9.2","9.6","9.7","10.2","15.11","15.15","16.2","16.3","16.4","16.5","17.3","17.4","17.5","19.2","19.6","19.7","25.12","25.13","30.29","30.45","36.12","36.13","41.2","41.29","41.42"],"sample":["0.4","5.41","6.2","6.3","6.4","6.5","7.3","7.4","7.5","9.2","9.7","10.2","12.0","15.15","16.2","16.3","16.4","16.5","17.3","17.4","17.5","19.2","19.7","25.13","30.29","36.13","41.2","41.29","41.42"],"video":["0.4","5.41","6.2","6.3","6.4","6.5","7.3","7.5","8.2","8.3","8.5","9.2","9.7","10.2","11.5","12.11","13.1","15.5","16.2","16.3","16.4","16.5","17.3","17.5","18.2","18.3","18.5","19.2","19.7","21.0","22.0","25.13","30.13","30.15","30.29","30.44","31.3","32.0","33.0","35.4","36.13","41.2"],"mp4":["0.4","6.3","6.4","6.5","7.3","7.5","8.2","8.3","8.5","9.2","9.3","9.7","9.8","12.0","16.3","16.4","16.5","17.3","17.5","18.2","18.3","18.5","19.2","19.3","19.7","19.8","20.3","30.2","31.3","35.4","41.2"],"test":["0.4"],"foo":["0.4"],"bar":["0.4","13.15","13.32","30.6","30.8","30.17","30.22","30.23"],"const":["0.4","9.5","19.5","31.9"],"console":["1.1","2.0","12.0","25.18","36.18"],"info":["2.0","12.0","25.18","36.18"],"只监听一次事件":["2.0"],"但估计没有足够的数据来支撑播放到结束":["2.41"],"渲染完成":["2.43"],"属性的值改变时触发":["2.44"],"当这个":["2.45"],"因为":["2.46"],"或者资源类型不是受支持的媒体格式":["2.47"],"中的首帧已经完成加载":["2.48"],"播放准备开始":["2.52"],"seek":["2.55","2.56","12.55","12.56","13.24","15.14"],"user":["2.57"],"属性指定的时间发生变化":["2.59"],"播放已停止":["2.61"],"也是指挂载在":["3.0"],"构造函数":["3.0"],"div":["3.30","5.4","5.35","5.36","5.38","9.4","10.4","10.6","10.7","10.13","10.16","11.9","11.12","12.1","12.2","12.5","12.11","12.12","12.32","12.33","12.35","12.36","12.37","13.2","13.3","13.4","13.5","13.6","13.7","13.8","13.9","13.10","13.16","13.21","13.25","13.27","13.28","13.31","15.3","15.5","15.6","15.8","15.9","15.10","15.12","15.13","15.16","15.17","15.18","15.20","15.22","15.23","15.24","15.25","15.27","15.28","15.29","15.31","15.32","15.33","15.37","15.39","19.4","30.4","30.9","30.13","30.24","30.27","30.33","30.41","30.48","41.6","41.12","41.14","41.15","41.16","41.18","41.20","41.22","41.23","41.24","41.26","41.27","41.32","41.33","41.37","41.39","41.40","41.41","41.43","41.46","41.47"],"组件唯一名称":["6.1","8.1"],"用于标记类名":["6.1","8.1"],"index":["6.1","7.5","8.1","16.1","17.5","18.1","25.7","25.10","25.15","25.16","25.17","36.7","36.10","36.15","36.16","36.17","39.11"],"number":["6.1","7.1","8.1","16.1","18.1"],"contextmenu":["6.4","6.5","16.4","16.5"],"name":["6.5","7.5","9.8","16.5","17.5","19.8","30.32"],"组件索引":["7.1"],"用于显示的优先级":["7.1"],"html":["7.1","7.2","9.3","9.8","15.4","17.1","17.2","19.3","19.8","20.3","28.1","28.8","28.9","30.26","30.32","35.4","39.9"],"element":["7.1","13.30","15.31","17.1"],"position":["7.2","7.5","17.2","17.5"],"left":["7.2","13.24","17.2"],"tooltip":["7.2","9.8","17.2","19.4","19.5","19.8"],"style":["7.2","9.2","17.2","30.36","41.36"],"color":["7.2","15.33","17.2","25.5","36.5"],"red":["7.2","17.2"],"click":["7.2","13.17","13.18","17.2"],"function":["7.2","17.2","19.4","21.0","22.0","23.0","30.17","30.34","30.40","31.10","32.0","33.0","34.0","41.34"],"args":["7.2","17.2"],"controls":["7.3","7.5","17.3","17.5"],"add":["7.3","17.3"],"button1":["7.5","17.5"],"png":["8.4","18.4","30.28","41.28"],"setting":["9.2","9.3","9.7","9.8","19.2","19.3","19.7","19.8"],"true":["9.2","9.3","9.7","9.8","13.17","13.18","13.19","13.31","19.2","19.3","19.7","19.8","25.6","35.4","36.6"],"settings":["9.2","9.3","9.8","19.2","19.3","19.8","30.14","30.16","30.18","30.24"],"subtitle":["9.2","19.2"],"01":["9.2","9.3","19.2"],"default":["9.2","11.12","13.2","13.9","13.10","13.11","13.12","13.13","13.15","13.17","13.18","13.22","13.24","13.25","13.31","19.2"],"span":["9.2"],"multi":["9.3","19.3"],"level":["9.3","13.0","19.3"],"selector":["9.3","19.3"],"提示文本":["9.4"],"value":["9.5","30.11"],"min":["9.5","21.0","22.0","32.0","33.0"],"flip":["9.7","19.1","19.7"],"slider":["9.8","19.8"],"5x":["9.8","19.8"],"icon":["9.8","19.8"],"refer":["10.0","15.0"],"to":["10.0","10.8","11.0","11.1","12.52","12.57","13.3","13.7","13.8","13.20","13.24","15.0","15.4","15.14","20.11","31.3","39.7"],"used":["10.3","13.32","15.35","15.36","16.1","17.1","18.1","30.3"],"hover":["10.3"],"custom":["10.3"],"loadimg":["10.3"],"delete":["10.4"],"clear":["10.4"],"object":["10.6","41.11"],"updating":["10.8"],"show":["10.8","10.9","10.10","10.15"],"property":["10.8","10.9","10.15"],"set":["10.8","10.9","10.15"],"whether":["10.9","10.15"],"display":["10.9","17.1","30.17"],"update":["10.10"],"attribute":["10.10","10.12"],"method":["10.11"],"switch":["10.11"],"toggle":["10.12","10.14"],"the":["11.0","12.44","13.1","15.0","15.5","15.12","24.4","28.10","30.8","30.25","30.26","30.37","30.43","30.44"],"want":["11.1"],"manage":["11.1"],"multiple":["11.1"],"players":["11.1"],"player":["11.2","11.3","11.4","11.7","11.11","15.28","15.29","15.37","15.38","15.39","30.5","30.12","30.21","30.25","30.26"],"options":["11.7","11.9","11.12","30.36"],"event":["11.8","12.0","19.4","30.4","39.12"],"dispatcher":["11.8"],"for":["11.9","11.11","13.22","13.32","16.1","18.1","30.3","30.6","30.40"],"type":["11.10"],"checking":["11.10"],"on":["12.0","13.23","19.5","25.18","30.20","30.27","30.43","30.44","36.18"],"canplay":["12.0"],"listen":["12.0"],"an":["12.0"],"only":["12.0","30.3","30.14","30.21","30.47"],"once":["12.0"],"first":["12.1","12.48","13.0"],"time":["12.1","12.59"],"mouse":["12.12"],"hidden":["12.37"],"file":["12.41","20.11"],"but":["12.41","15.10","15.14"],"estimates":["12.41"],"there":["12.41"],"it":["12.42","15.14","30.15"],"can":["12.42","15.38","20.11","28.9","30.11","30.40"],"play":["12.42"],"rendering":["12.43"],"when":["12.44","12.45"],"this":["12.45","30.11"],"has":["12.45","12.46","12.49","12.50","12.51","12.61"],"stopped":["12.46"],"while":["12.47","12.53","14.0"],"fetching":["12.47"],"media":["12.47"],"frame":["12.48","15.16","15.17","15.18"],"start":["12.52"],"triggered":["12.53"],"playback":["12.54","15.12","30.3","30.8"],"is":["12.57","13.5","13.6","13.9","13.10","13.13","13.15","13.16","13.17","13.18","13.21","13.25","13.31","15.14","15.37","15.38","30.2","30.5"],"trying":["12.57"],"data":["12.58","25.8","25.16","36.8","36.16"],"specified":["12.59"],"changed":["12.60"],"properties":["13.0"],"mounted":["13.0"],"in":["13.1","13.12","13.14","13.15","13.20","13.26","15.6","28.8","30.2","30.11","30.14","30.15","30.16","30.18","30.24","30.33","30.46"],"events":["13.1"],"of":["13.1","13.11","13.12","13.23","14.0","15.39","24.4","30.12","30.35"],"by":["13.1","13.2","30.44"],"enabled":["13.2"],"milliseconds":["13.3","13.12","13.14","13.15","13.20"],"defaults":["13.3","13.20","13.30"],"pixels":["13.5","13.6"],"feature":["13.10"],"seconds":["13.11","13.26","15.5","15.6","30.33"],"with":["13.11","13.12","15.35","15.36","30.3"],"a":["13.11","13.12","13.13","13.14","14.0","15.17","15.18"],"connection":["13.13","13.14"],"error":["13.13","13.14"],"occurs":["13.13","13.14"],"measured":["13.15"],"double":["13.17","13.18"],"long":["13.22","30.44"],"pressing":["13.22","30.44"],"mobile":["13.23","30.27","30.43"],"delay":["13.23"],"and":["13.24","30.5","30.6","30.8","30.25"],"right":["13.24"],"keyboard":["13.26"],"shortcuts":["13.26"],"under":["13.30"],"mainly":["13.32"],"smooth":["13.32"],"progress":["13.32","15.12","30.6","30.8"],"here":["14.0"],"translation":["14.0"],"provided":["14.0"],"text":["14.0","19.4","19.5","30.33"],"into":["14.0","30.37"],"english":["14.0"],"preserving":["14.0"],"markdown":["14.0"],"formatting":["14.0"],"that":["14.0"],"allows":["14.0"],"loading":["14.0"],"after":["14.0","15.4"],"instantiation":["14.0"],"remove":["15.4"],"s":["15.4","15.23","17.1","30.26"],"from":["15.8","20.8","20.9","28.1","31.8","31.11","40.2"],"performs":["15.10"],"some":["15.10","30.47"],"optimization":["15.10"],"operations":["15.10"],"will":["15.12","20.6","29.0","30.15","30.16","30.37"],"carry":["15.12"],"over":["15.12"],"previous":["15.12"],"similar":["15.14","30.4"],"does":["15.14","30.39"],"which":["15.17","15.18","15.38","20.11","29.1","30.2","30.11"],"returns":["15.17","15.18"],"promise":["15.17","15.18","25.6","36.6"],"full":["15.20","26.1","27.1","30.46"],"screen":["15.20","30.46"],"before":["15.22","30.5","30.26"],"starts":["15.22"],"playing":["15.22"],"mode":["15.23","25.4","25.5","36.4","36.5"],"its":["15.25"],"size":["15.25"],"normal":["15.27"],"horizontal":["15.27"],"vertical":["15.27"],"commonly":["15.35","15.36"],"be":["15.37","30.21","30.37"],"destroyed":["15.37"],"limited":["15.38"],"within":["15.38","28.7"],"current":["15.38","20.5","31.5"],"marking":["16.1","18.1"],"class":["16.1","18.1"],"priority":["17.1"],"items":["19.1"],"playbackrate":["19.1"],"aspectratio":["19.1"],"subtitleoffset":["19.1"],"onswitch":["19.4"],"completion":["19.5"],"onchange":["19.5"],"change":["19.5"],"install":["20.1","31.1"],"head":["20.3"],"title":["20.3"],"demo":["20.3"],"if":["20.5","23.0","31.5","34.0"],"typeof":["20.5","31.5"],"return":["20.5","25.6","36.6"],"let":["20.10"],"null":["20.10"],"parameters":["20.10"],"use":["20.11"],"legacy":["20.11"],"up":["20.11"],"ie":["20.11","31.11"],"plaympd":["21.0","32.0"],"playflv":["22.0","33.0"],"playm3u8":["23.0","34.0"],"plugin":["24.2","24.3","25.2","25.3","25.8","25.16","26.2","26.3","27.2","27.3","28.3","28.4","35.2","35.3","36.2","36.3","36.8","36.16","37.2","37.3","38.2","38.3","39.3","39.4"],"ads":["24.2","35.2"],"npm":["24.3","25.3","26.3","27.3","28.4","35.3","36.3","37.3","38.3","39.4"],"img":["24.4"],"src":["24.4"],"poster":["24.4"],"jpg":["24.4"],"test1":["24.4"],"redirect":["24.4"],"no":["24.4","29.0"],"redirection":["24.4"],"empty":["24.4"],"danmuku":["25.2","25.7","25.10","25.16","36.2","36.7","36.10","36.16"],"弹幕时间":["25.4","36.4"],"默认为当前播放器时间":["25.4","36.4"],"ffffff":["25.5","36.5"],"默认弹幕颜色":["25.5","36.5"],"可以被单独弹幕项覆盖":["25.5","36.5"],"默认弹幕模式":["25.5","36.5"],"滚动":["25.5","36.5"],"顶部":["25.5","36.5"],"底部":["25.5","36.5"],"danmu":["25.6","25.18","36.6","36.18"],"resolve":["25.6","36.6"],"settimeout":["25.6","36.6"],"libs":["25.8","25.16","36.8","36.16"],"uncompiled":["25.8","25.16","36.8","36.16"],"artplayerplugindanmuku":["25.18","36.18"],"xml":["25.18","36.18"],"visible":["25.18","36.18"],"显示弹幕":["25.18","36.18"],"dash":["26.2","26.3","37.2","37.3"],"quality":["26.2","26.3","27.2","27.3","37.2","37.3","38.2","38.3"],"hls":["27.2","27.3","38.2","38.3"],"cross":["28.1"],"domain":["28.1"],"iframe":["28.1","28.3","28.5","28.12","39.1","39.3","39.5","39.8"],"page":["28.1","30.21"],"charset":["28.5","39.5"],"utf":["28.5","39.5","41.36"],"body":["28.5","39.5"],"id":["28.5","29.2","39.5"],"asynchronously":["28.7"],"retrieve":["28.7"],"values":["28.7"],"receive":["28.11","30.40"],"message":["28.12","39.12"],"即可":["28.13","39.13"],"group":["28.13","39.13"],"doctype":["28.13","39.13"],"core":["29.0"],"longer":["29.0"],"do":["29.1"],"not":["29.1","30.2","30.39"],"require":["29.1"],"manual":["29.1"],"manually":["29.2"],"imported":["29.2"],"include":["29.2"],"cs":["29.2"],"es":["29.2"],"fa":["29.2"],"fr":["29.2"],"pl":["29.2"],"ru":["29.2"],"zh":["29.2","30.41"],"tw":["29.2"],"sometimes":["30.2","30.39"],"known":["30.2"],"so":["30.2"],"quickly":["30.2"],"case":["30.2"],"you":["30.2"],"remembering":["30.3"],"initialized":["30.5"],"highlight":["30.6"],"often":["30.11"],"results":["30.11"],"black":["30.11"],"bars":["30.11"],"scrolls":["30.12"],"out":["30.12"],"currently":["30.14","30.47"],"available":["30.14"],"panel":["30.14","30.16","30.18","30.24"],"appear":["30.15","30.16"],"menu":["30.17"],"bottom":["30.17","30.18","30.20","30.43"],"control":["30.17","30.20","30.22","30.23"],"button":["30.20"],"should":["30.21"],"one":["30.21"],"at":["30.22","30.23"],"appearing":["30.24"],"loses":["30.25"],"focus":["30.25"],"pre":["30.26"],"render":["30.26"],"required":["30.26"],"devices":["30.27"],"boolean":["30.32"],"string":["30.32","30.33"],"myplugin":["30.34","41.34"],"column":["30.35"],"columns":["30.35"],"width":["30.35","41.35"],"encoding":["30.36","41.36"],"directly":["30.37"],"written":["30.37"],"such":["30.39"],"m3u8":["30.39"],"mkv":["30.39"],"ts":["30.39"],"however":["30.39"],"have":["30.39"],"party":["30.40"],"program":["30.40"],"processing":["30.40"],"en":["30.41"],"cn":["30.41","41.41"],"hide":["30.43"],"pages":["30.46"],"according":["30.46"],"browsers":["30.47"],"support":["30.47"],"path":["31.3","39.7"],"ref":["31.4"],"artref":["31.4"],"时会自动导入的":["31.6"],"types":["31.9"],"param":["31.10"],"getinstance":["31.10"],"可以兼容到":["31.11"],"import":["31.11","40.2"],"autosize":["35.4"],"fullscreen":["35.4"],"fullscreenweb":["35.4"],"plugins":["35.4"],"artplayerpluginads":["35.4"],"html广告":["35.4"],"假如是视频广告则忽略该值":["35.4"],"接收来自":["39.8"],"无法与":["39.9"],"提示":["39.10"],"版本开始":["40.0"],"核心代码除了包含":["40.0"],"zhtw":["40.2"],"高亮元素":["41.6"],"上":["41.6"],"类似":["41.11"],"css":["41.11"],"的":["41.11"],"fit":["41.11"],"里":["41.14","41.15","41.16","41.24"],"访问到播放器所需的":["41.26"],"layer":["41.28"],"画质地址":["41.32"],"预览图列数":["41.35"],"预览图宽度":["41.35"],"height":["41.35"],"预览图高度":["41.35"],"字幕样式":["41.36"],"字幕编码":["41.36"],"默认":["41.36"],"所以需要特别指明":["41.39"],"元素":["41.40"],"视频地址":["41.40"],"当前实例":["41.40"]},{"0":["13.24","19.5"],"1":["3.28","9.2","13.28","19.2","25.4","36.4"],"2":["3.28","9.5","13.28","19.5","41.3"],"3":["9.5","13.22"],"4":["9.1","29.1","30.17","30.33","30.48","31.10","41.5","41.7","41.8","41.9","41.13","41.17","41.21","41.24","41.25","41.32","41.33","41.37","41.39","41.41","41.44"],"5":["13.13","13.24","13.26","39.7"],"6":["5.38","5.39","12.3","12.4","12.5","12.7","12.8","12.9","12.10","12.11","12.12","12.13","12.14","12.15","12.16","12.27","12.32","12.33","12.34","12.35","12.36","12.37","12.38","12.39","12.40","31.10"],"7":["5.4","5.5","5.6","5.9","5.16","5.17","5.18","5.23","5.35","5.36","12.19","12.21","12.23","12.25","12.26","15.9","15.26","41.37"],"8":["5.8","5.14","5.24","5.25","5.27","5.37","12.17","15.1","15.8","15.13","15.20","15.24","15.27","15.28","15.29","15.31","15.32","15.33","15.37","20.3","28.13","30.36","39.13","41.36"],"9":["5.10","5.12","15.10","15.22"],"10":["5.7","5.37","7.3","7.4","12.2","12.6","12.18","15.7","15.11","15.37","17.3","17.4","19.5"],"11":["15.3","15.20","20.11"],"14":["41.32"],"17":["14.0"],"22":["9.8","19.8"],"25":["30.33","41.33"],"40":["3.6"],"100":["3.9"],"150":["9.3","19.3"],"300":["3.4","3.5"],"500":["3.7","3.8","3.16"],"1000":["13.14"],"3000":["13.12","13.15"],"实例":["0.0","5.0"],"artplayer":["0.1","0.5","0.6","0.8","0.9","0.10","0.11","0.12","0.14","1.1","2.1","2.3","2.4","2.5","2.6","2.7","2.8","2.9","2.10","2.11","2.12","2.13","2.14","2.15","2.16","2.17","2.18","2.19","2.20","2.21","2.23","2.25","2.26","2.27","2.32","2.33","2.34","2.35","2.36","2.37","2.38","2.39","2.40","3.1","3.2","3.3","3.7","3.8","3.9","3.10","3.11","3.12","3.13","3.14","3.15","3.16","3.17","3.18","3.19","3.20","3.21","3.22","3.23","3.24","3.25","3.26","3.27","3.30","3.31","3.32","5.1","5.2","5.3","5.7","5.8","5.9","5.10","5.12","5.13","5.14","5.15","5.17","5.18","5.19","5.20","5.21","5.24","5.26","5.27","5.28","5.29","5.30","5.31","5.32","5.33","5.34","5.37","5.40","9.1","9.4","10.4","10.5","10.6","10.7","10.13","10.16","11.6","12.2","12.6","12.18","12.20","12.22","12.24","12.28","12.29","12.30","13.4","13.7","13.8","13.16","13.21","13.27","13.28","13.29","15.2","15.21","15.26","15.34","15.37","15.40","19.4","20.2","28.7","28.13","30.4","30.38","31.2","39.13","40.1","41.10","41.19","41.33","41.38","41.39","41.45","41.48"],"container":["0.1","0.5","0.6","0.7","0.8","0.9","0.10","0.11","0.12","0.14","0.15","2.5","2.6","2.7","2.8","2.9","2.10","2.11","2.12","2.13","2.15","2.16","2.17","2.18","2.19","2.20","2.21","2.22","2.23","2.24","2.25","2.26","2.27","2.29","2.30","2.32","2.33","2.34","2.35","2.36","2.37","2.38","2.39","2.40","5.2","5.3","5.8","5.10","5.12","5.13","5.15","5.19","5.20","5.21","5.22","5.26","5.28","5.29","5.30","5.31","5.32","5.33","5.34","5.37","5.40","9.4","10.1","10.3","10.4","10.5","10.6","10.7","10.13","10.16","12.20","12.22","12.24","12.28","12.29","12.30","13.19","15.2","15.21","15.26","15.37","15.40","19.4","25.9","25.10","25.15","25.17","28.7","30.4","30.38","31.9","36.9","36.10","36.15","36.17","40.1","40.2","41.10","41.19","41.30","41.33","41.38","41.45","41.48"],"app":["0.1","0.3","0.5","0.6","0.7","0.8","0.9","0.10","0.15","0.16","2.2","2.6","2.17","2.18","2.20","2.22","2.24","2.28","2.29","2.30","5.11","5.15","5.19","5.21","5.22","5.26","5.30","5.31","5.40","9.4","10.1","10.4","10.5","10.6","10.13","12.31","13.19","15.19","15.21","15.30","15.37","15.40","19.4","20.5","25.6","25.10","25.14","28.7","29.3","29.4","30.4","30.7","30.10","30.30","30.31","30.38","30.42","31.4","31.9","36.6","36.10","36.14","40.3","41.1","41.19","41.30","41.31","41.38","41.45"],"assets":["0.2","0.3","0.6","0.7","0.10","0.13","0.15","0.16","2.2","2.22","2.28","2.31","5.11","5.22","5.40","9.4","10.1","10.4","10.6","10.13","12.31","13.19","15.19","15.21","15.30","15.41","25.6","25.10","25.11","25.14","29.3","29.4","30.1","30.4","30.7","30.10","30.19","30.30","30.31","30.42","36.6","36.10","36.11","36.14","40.3","40.4","41.1","41.4","41.30","41.31"],"sample":["0.2","0.3","0.6","0.13","0.15","0.16","2.2","2.28","2.31","5.11","5.22","9.4","9.6","10.1","10.4","10.6","10.13","12.31","13.19","15.11","15.19","15.21","15.30","15.41","19.6","25.6","25.11","25.12","25.14","29.4","30.1","30.4","30.7","30.10","30.19","30.30","30.31","30.42","30.45","36.6","36.11","36.12","36.14","40.4","41.4","41.30","41.31"],"video":["0.2","0.3","0.13","0.15","0.16","2.31","5.11","7.4","8.4","9.4","9.6","10.4","10.6","10.13","12.31","13.19","15.19","15.21","15.41","17.4","18.4","19.6","25.6","25.11","25.12","25.14","28.7","29.4","30.1","30.7","30.10","30.19","30.28","30.30","30.31","30.42","30.45","30.46","36.6","36.11","36.12","36.14","39.7","40.4","41.4","41.28","41.29","41.31","41.42"],"mp4":["0.2","0.13","0.16","2.31","5.11","5.41","6.2","7.4","8.4","9.4","9.6","10.2","10.4","12.31","15.11","15.15","15.19","15.21","15.30","15.41","16.2","17.4","18.4","19.6","25.6","25.11","25.12","25.13","25.14","28.7","30.1","30.4","30.7","30.10","30.19","30.28","30.29","30.30","30.31","30.42","30.45","36.6","36.11","36.12","36.13","36.14","39.7","40.4","41.4","41.28","41.29","41.42"],"console":["0.2","0.4","1.6","7.2","10.2","11.6","15.15","17.2","28.12","30.34","39.12","41.34"],"info":["0.2","0.4","1.1","7.2","10.2","11.6","15.15","17.2","28.12","30.34","39.12","41.34"],"art":["0.3","0.8","0.9","0.11","0.12","0.14","2.1","2.3","2.4","2.5","2.7","2.8","2.9","2.10","2.13","2.14","2.15","2.19","2.27","2.32","2.33","2.34","2.35","2.36","2.37","2.38","2.40","3.4","3.5","3.6","3.29","5.1","5.2","5.3","5.5","5.6","5.7","5.8","5.9","5.13","5.14","5.16","5.17","5.18","5.20","5.23","5.24","5.25","5.27","5.28","5.29","5.31","5.32","5.33","5.34","9.1","10.4","10.5","10.6","10.7","10.13","10.16","12.2","12.3","12.4","12.6","12.7","12.8","12.9","12.10","12.13","12.14","12.15","12.16","12.17","12.18","12.19","12.20","12.21","12.22","12.23","12.24","12.25","12.26","12.27","12.28","12.29","12.30","12.39","12.40","15.1","15.2","15.3","15.7","15.9","15.13","15.22","15.26","15.28","15.29","15.31","15.32","15.33","15.34","19.4","22.0","25.7","25.9","25.10","25.15","25.17","28.7","30.4","30.34","30.38","30.48","33.0","36.7","36.9","36.10","36.15","36.17","40.2","41.5","41.7","41.10","41.17","41.32","41.33","41.39","41.48"],"new":["0.3","0.5","0.8","0.9","0.10","0.11","0.12","0.14","2.1","2.3","2.4","2.5","2.7","2.8","2.9","2.10","2.11","2.12","2.13","2.14","2.15","2.16","2.19","2.21","2.23","2.25","2.26","2.27","2.32","2.33","2.34","2.35","2.36","2.37","2.38","2.39","2.40","3.4","3.29","5.1","5.2","5.3","5.7","5.8","5.9","5.10","5.12","5.13","5.14","5.15","5.16","5.17","5.18","5.19","5.20","5.21","5.24","5.25","5.26","5.27","5.28","5.29","5.30","5.31","5.32","5.33","5.34","9.1","9.4","10.4","10.5","10.6","10.7","10.13","10.16","12.2","12.6","12.7","12.8","12.10","12.16","12.17","12.18","12.20","12.21","12.22","12.23","12.24","12.26","12.28","12.29","12.30","13.19","15.1","15.2","15.7","15.22","15.26","15.31","15.32","15.34","15.40","19.4","23.0","25.9","25.10","25.15","25.17","28.7","30.4","30.38","34.0","36.9","36.10","36.15","36.17","40.1","40.2","41.7","41.10","41.19","41.33","41.38","41.39","41.45","41.48"],"url":["0.3","0.6","0.7","0.9","0.10","0.13","0.15","0.16","2.2","2.18","2.22","2.24","2.28","2.29","2.30","2.31","5.19","5.22","5.30","5.40","8.4","9.4","10.1","10.4","10.6","10.13","12.31","13.19","15.19","15.21","15.30","15.40","18.4","19.4","25.6","25.10","25.11","25.14","28.7","29.3","29.4","30.1","30.4","30.7","30.10","30.30","30.31","30.40","30.42","36.6","36.10","36.11","36.14","40.3","40.4","41.1","41.4","41.30","41.31","41.38","41.45"],"function":["0.13","6.5","16.5","17.1","20.10","41.36"],"构造函数":["1.0"],"var":["1.1","3.4","3.5","3.6","3.16","3.29","5.1","5.5","5.6","5.7","5.8","5.9","5.10","5.12","5.14","5.16","5.17","5.18","5.20","5.23","5.24","5.25","5.27","5.35","5.36","5.37","5.39","9.1","10.3","10.4","10.6","10.7","10.13","10.16","12.2","12.3","12.4","12.5","12.6","12.7","12.8","12.9","12.10","12.12","12.13","12.14","12.15","12.16","12.17","12.18","12.19","12.20","12.21","12.22","12.23","12.24","12.25","12.26","12.27","12.28","12.32","12.33","12.34","12.35","12.36","12.38","12.39","12.40","13.29","15.1","15.3","15.7","15.8","15.9","15.13","15.20","15.22","15.24","15.26","15.27","15.28","15.29","15.31","15.32","15.33","15.34","15.37","19.4","25.7","25.15","25.16","25.17","29.1","30.4","30.33","30.38","30.48","36.7","36.15","36.16","36.17","40.2","41.3","41.5","41.7","41.17","41.24","41.32","41.33","41.39","41.48"],"js":["1.6","3.1","3.3","3.10","3.11","3.12","3.13","3.14","3.15","3.17","3.18","3.19","3.20","3.21","3.22","3.23","3.24","3.25","3.26","3.30","3.31","3.32","5.4","5.5","5.6","5.14","5.23","5.27","5.35","5.36","5.38","5.39","10.3","10.7","10.16","11.6","12.1","12.2","12.3","12.4","12.5","12.7","12.8","12.9","12.10","12.11","12.12","12.13","12.14","12.15","12.16","12.17","12.19","12.21","12.22","12.23","12.25","12.26","12.27","12.32","12.33","12.34","12.35","12.36","12.37","12.38","12.39","12.40","13.4","13.5","13.6","13.7","13.8","13.9","13.16","13.21","13.27","13.28","13.29","15.3","15.6","15.7","15.8","15.9","15.10","15.12","15.13","15.16","15.17","15.18","15.20","15.22","15.24","15.25","15.27","15.28","15.29","15.31","15.32","15.33","15.37","19.4","25.8","29.1","30.17","30.33","30.41","30.48","36.8","41.3","41.5","41.8","41.9","41.12","41.13","41.14","41.15","41.16","41.17","41.18","41.20","41.21","41.22","41.23","41.24","41.25","41.26","41.27","41.32","41.37","41.39","41.41","41.43","41.44","41.46","41.47"],"code":["1.11","9.5","10.3","12.1","13.2","13.3","13.5","13.6","13.9","13.10","13.11","13.12","13.13","13.15","13.17","13.18","13.20","13.22","13.25","13.27","13.30","13.31","13.32","15.5","15.6","15.10","15.12","15.14","15.17","15.18","15.22","15.23","15.25","15.35","15.36","15.39","19.1","20.11","30.3","30.6","30.8","30.9","30.13","30.17","30.20","30.22","30.23","30.24","30.27","30.32","30.33","30.37","30.39","30.41","31.11","41.6","41.11","41.14","41.15","41.16","41.26","41.35","41.40"],"once":["2.0"],"subtitle":["2.31","7.2","7.5","17.2","17.5"],"不必停下来进一步缓冲内容":["2.41"],"media":["2.45","2.46","12.42","12.57"],"已经加载完成":["2.45"],"操作完成":["2.55"],"操作开始":["2.56"],"agent":["2.57"],"的":["3.0"],"false":["3.2","13.30","20.5","31.5"],"add":["4.0","6.3","8.3","14.0","24.2","25.2","26.2","27.2","28.3","35.2","36.2","37.2","38.2","39.3"],"例如我想写一个在视频暂停后":["4.0"],"显示一个图片广告的插件":["4.0"],"on":["5.11","13.0","15.11","15.15","15.30"],"document":["5.37","10.3","15.37","25.16","36.16","41.1"],"queryselector":["5.37","10.3","15.37","25.16","30.1","36.16","41.1"],"default":["5.41","7.5","13.1","13.14","13.26","15.41","17.5","31.10"],"true":["5.41","7.5","9.6","15.4","15.41","17.5","19.6","25.5","30.4","30.29","30.45","36.5","41.4","41.29","41.36"],"html":["5.41","6.1","6.2","6.3","6.4","6.5","7.3","7.5","8.1","8.2","8.3","8.5","9.7","15.41","16.1","16.2","16.3","16.4","16.5","17.3","17.5","18.1","18.2","18.3","18.5","19.7","30.28","30.29","30.36","31.3","39.11","41.28","41.29","41.36"],"sd":["5.41","15.41"],"480p":["5.41"],"组件索引":["6.1","8.1"],"用于显示的优先级":["6.1","8.1"],"contextmenu":["6.2","6.3","16.2","16.3"],"name":["6.2","6.3","6.4","7.3","7.4","8.2","8.3","8.4","8.5","9.7","16.2","16.3","16.4","17.3","17.4","18.2","18.3","18.4","18.5","19.7","30.28","30.34","41.28","41.34"],"your":["6.2","6.3","6.4","6.5","7.3","16.2","16.3","16.4","16.5","17.3","30.45","41.42"],"menu":["6.2","6.3","6.4","6.5","16.2","16.3","16.4","16.5","30.14","30.15","30.16"],"click":["6.4","6.5","16.4","16.5","17.1"],"args":["6.5","16.5"],"组件的":["7.1"],"dom":["7.1","17.1","30.40"],"元素":["7.1"],"style":["7.1","8.2","8.3","8.5","17.1","18.2","18.3","18.5","19.2","30.28"],"object":["7.1","17.1"],"mounted":["7.2","17.2"],"button1":["7.3","7.4","17.3","17.4"],"index":["7.3","7.4","17.3","17.4","25.8","28.1","28.8","36.8"],"position":["7.3","15.19","17.3","25.13","36.13"],"left":["7.3","17.3"],"controls":["7.4","15.19","17.4","25.13","36.13"],"right":["7.5","15.19","17.5"],"selector":["7.5","17.5","30.29","41.29"],"01":["7.5","17.5","19.3"],"layers":["8.2","8.3","8.4","8.5","18.2","18.3","18.4","18.5"],"potser":["8.2","8.3","8.5","41.28"],"width":["8.2","8.3","8.5","9.3","9.8","18.2","18.3","18.5","19.3","19.8","30.28"],"100px":["8.2","8.3","8.5","18.2","18.3","18.5","30.28"],"src":["8.2","8.5","9.8","18.2","18.5","19.8","35.4"],"color":["9.2","19.2"],"red":["9.2","19.2"],"srt":["9.2","19.2"],"id":["9.2","19.2","30.45"],"yellow":["9.2","19.2"],"02":["9.2","19.2"],"setting":["9.4","9.6","19.6","30.29","41.29"],"max":["9.5","19.5"],"step":["9.5"],"div":["9.5","10.3","10.11","10.12","10.14","11.1","11.2","11.3","11.4","11.5","11.7","11.8","11.10","11.11","13.1","13.11","13.12","13.13","13.14","13.15","13.17","13.18","13.20","13.22","13.24","13.26","13.30","13.32","15.4","15.14","15.35","15.36","19.1","20.3","20.5","30.3","30.5","30.6","30.8","30.12","30.14","30.15","30.16","30.17","30.18","30.20","30.22","30.23","30.25","30.32","30.35","30.37","30.39","30.43","30.44","30.47","31.5","41.11","41.35"],"classname":["9.5","10.3","10.14","11.1","11.2","11.3","11.4","11.5","11.7","11.8","11.9","11.10","11.11","11.12","13.3","13.5","13.6","13.10","13.11","13.12","13.13","13.14","13.15","13.17","13.18","13.20","13.22","13.24","13.25","13.26","13.30","13.32","15.12","15.14","15.17","15.18","15.35","15.36","19.1","30.3","30.5","30.6","30.8","30.12","30.14","30.16","30.17","30.18","30.20","30.22","30.23","30.24","30.25","30.27","30.32","30.35","30.37","30.39","30.43","30.44","30.47","41.11","41.35","41.40"],"run":["9.5","10.3","11.1","11.2","11.3","11.4","11.5","11.8","11.9","11.10","11.12","13.2","13.3","13.5","13.6","13.10","13.11","13.12","13.13","13.14","13.15","13.17","13.18","13.20","13.22","13.24","13.25","13.26","13.30","13.31","13.32","15.5","15.10","15.12","15.14","15.17","15.18","15.23","15.35","15.36","15.39","19.1","30.3","30.5","30.6","30.8","30.12","30.14","30.16","30.17","30.18","30.20","30.22","30.23","30.24","30.25","30.27","30.32","30.35","30.37","30.39","30.43","30.47","41.11","41.26","41.35","41.40"],"settings":["9.7","19.7","30.15"],"slider":["9.7","19.7"],"tooltip":["9.7","19.7"],"5x":["9.7","19.7"],"icon":["9.7","19.7"],"img":["9.8","19.8","35.4"],"heigth":["9.8","19.8"],"state":["9.8","19.8"],"svg":["9.8","19.8"],"secondary":["10.0"],"attributes":["10.0"],"listen":["10.3"],"load":["10.3"],"of":["10.3","10.9","10.14","12.48"],"images":["10.3"],"test":["10.4"],"foo":["10.4"],"bar":["10.4","30.18","30.20","30.43"],"const":["10.4","20.8","20.9","21.0","22.0","23.0","31.8","32.0","33.0","34.0"],"whether":["10.8","10.10","30.36"],"display":["10.8","10.15","16.1","18.1"],"all":["10.8","10.9","10.10","10.15"],"or":["10.8","12.45","12.47","24.4"],"not":["10.8","12.41","15.14"],"toggle":["10.8","10.9","10.10","10.15"],"set":["10.10","30.2"],"options":["10.11"],"items":["10.15"],"first":["11.0"],"level":["11.0"],"at":["11.1","30.21"],"the":["11.1","12.53","39.7"],"same":["11.1","15.38"],"time":["11.1","30.8","30.21"],"is":["12.41","12.43","13.1","13.14","13.22","13.24","24.4","30.25"],"enough":["12.41"],"value":["12.44","19.5","24.4"],"been":["12.45","12.49","12.50"],"completely":["12.45"],"loaded":["12.45","25.18","36.18"],"because":["12.46"],"data":["12.47","31.10"],"started":["12.51"],"following":["12.52"],"a":["12.52","30.21"],"rate":["12.54"],"frame":["12.55","12.56"],"fetch":["12.57"],"loading":["12.58"],"by":["12.59"],"stopped":["12.61"],"constructor":["13.0"],"property":["13.0"],"turned":["13.1"],"off":["13.1"],"long":["13.23"],"press":["13.23"],"acceleration":["13.23"],"effects":["13.32"],"primary":["15.0"],"destruction":["15.4"],"which":["15.4","24.4"],"defaults":["15.4"],"ready":["15.11","15.15","15.30"],"seek":["15.11","39.7"],"settimeout":["15.11"],"trigger":["15.14"],"additional":["15.14"],"events":["15.14"],"timeupdate":["15.35","15.36"],"event":["15.35","15.36","28.12"],"prevent":["15.38"],"errors":["15.38"],"due":["15.38"],"having":["15.38"],"priority":["16.1","18.1"],"element":["16.1","18.1","30.37","30.40"],"poster":["18.2","18.3","18.5","30.28","35.4"],"span":["19.2"],"min":["19.5"],"yarn":["20.1","24.2","25.2","26.2","27.2","28.3","31.1","35.2","36.2","37.2","38.2","39.3"],"npm":["20.2","31.2"],"dist":["20.2","20.11","24.3","25.3","26.3","27.3","28.4","31.2","31.11","35.3","36.3","37.3","38.3","39.4"],"meta":["20.3","28.13","39.13"],"charset":["20.3","28.13","39.13"],"utf":["20.3","28.13","30.36","39.13"],"body":["20.3"],"class":["20.3"],"get":["20.4","39.7"],"instance":["20.4"],"getinstance":["20.4","20.10"],"destroy":["20.5","21.0","22.0","23.0","31.5","32.0","33.0","34.0"],"ref":["20.5","31.5"],"automatically":["20.6","30.11"],"types":["20.9"],"param":["20.10"],"properties":["20.10"],"import":["20.11","29.1","29.2"],"from":["20.11","28.11","29.2"],"group":["20.11","29.2","31.11"],"bash":["20.11","31.11"],"if":["21.0","22.0","32.0","33.0"],"supportsmediasource":["21.0","32.0"],"mediaplayer":["21.0","32.0"],"create":["21.0","32.0"],"flvjs":["22.0","33.0"],"issupported":["22.0","23.0","33.0","34.0"],"loadsource":["23.0","34.0"],"ads":["24.3","35.3"],"http":["24.4"],"org":["24.4"],"duration":["24.4"],"that":["24.4"],"must":["24.4"],"be":["24.4","30.39"],"watched":["24.4"],"can":["24.4","30.2","30.26"],"t":["24.4"],"skipped":["24.4"],"in":["24.4"],"seconds":["24.4"],"this":["24.4","30.47"],"greater":["24.4"],"than":["24.4"],"danmuku":["25.3","25.8","36.3","36.8"],"弹幕模式":["25.4","36.4"],"滚动":["25.4","36.4"],"默认":["25.4","36.4"],"modes":["25.5","36.5"],"弹幕可见的模式":["25.5","36.5"],"fontsize":["25.5","36.5"],"弹幕字体大小":["25.5","36.5"],"antioverlap":["25.5","36.5"],"弹幕是否防重叠":["25.5","36.5"],"plugins":["25.6","25.11","25.12","25.13","25.14","36.6","36.11","36.12","36.13","36.14"],"xml":["25.6","25.13","36.6","36.13"],"这是用户在输入框输入弹幕文本":["25.6","36.6"],"然后点击发送按钮后触发的函数":["25.6","36.6"],"artplayerplugindanmuku":["25.11","25.12","25.13","25.14","36.11","36.12","36.13","36.14"],"danmu":["25.16","36.16"],"emit":["25.18","36.18"],"新增弹幕":["25.18","36.18"],"danmus":["25.18","36.18"],"demo":["27.1"],"within":["28.1"],"for":["28.1"],"example":["28.1"],"iframe":["28.4","39.4","39.9"],"path":["28.7"],"no":["28.9"],"longer":["28.9"],"messages":["28.11"],"head":["28.13","31.3","39.13"],"title":["28.13","31.3","39.13"],"include":["29.0"],"other":["29.0"],"languages":["29.0"],"besides":["29.0"],"simplified":["29.0"],"chinese":["29.0"],"and":["29.0","30.14","30.15","30.16","30.46"],"english":["29.0"],"zhtw":["29.2"],"you":["30.1"],"may":["30.1"],"asynchronously":["30.2"],"autoplayback":["30.3"],"muted":["30.4","41.4"],"it":["30.5","30.39"],"starts":["30.5"],"playing":["30.5","30.25"],"elements":["30.6"],"adjust":["30.11"],"to":["30.11","30.21","30.36"],"hide":["30.11"],"browser":["30.12"],"viewport":["30.12","30.46"],"context":["30.14","30.15","30.16"],"panel":["30.15"],"control":["30.18","30.43"],"description":["30.19"],"allowed":["30.21"],"play":["30.21","41.42"],"bottom":["30.22","30.23"],"mounts":["30.26"],"access":["30.26"],"setting01":["30.29","41.29"],"return":["30.34","31.5","31.10","41.34"],"height":["30.35"],"escape":["30.36","41.36"],"boolean":["30.36","41.36"],"tags":["30.36"],"correct":["30.39"],"so":["30.39"],"needs":["30.39"],"specifically":["30.39"],"stated":["30.39"],"three":["30.40"],"parameters":["30.40"],"lang":["30.42","41.42"],"mobile":["30.44"],"devices":["30.44"],"warning":["30.45"],"size":["30.46"],"feature":["30.47"],"属性":["31.10"],"export":["31.10"],"jsdelivr":["31.11"],"jpg":["35.4"],"视频广告的地址":["35.4"],"test1":["35.4"],"广告跳转网址":["35.4"],"页面里的播放器":["39.1"],"如在":["39.1"],"的消息":["39.8"],"简体中文":["40.0"],"和":["40.0"],"英文":["40.0"],"有时候":["41.2"],"地址没那么快知道":["41.2"],"这时候你可以异步设置":["41.2"],"cover":["41.11"],"是否转义":["41.36"],"标签":["41.36"],"默认为":["41.36"],"onvttload":["41.36"],"用于修改":["41.36"]},{"0":["15.11","24.4"],"1":["3.24","9.8","19.8"],"2":["3.25","9.2","19.2","25.4","30.3","36.4"],"3":["3.27","13.27","19.5","41.1"],"4":["3.27","13.27","19.1","20.10","30.5","30.6","30.8","30.9","30.12","30.13","30.14","30.16","30.18","30.20","30.22","30.23","30.24","30.25","30.27","30.32","30.35","30.37","30.39","30.41","30.47","41.6","41.11","41.12","41.14","41.15","41.16","41.18","41.20","41.22","41.23","41.27","41.35","41.36","41.40","41.43","41.46","41.47"],"5":["3.22","3.28","9.8","13.28","19.8","28.7","30.7","35.4"],"6":["3.28","12.1","13.28","15.39","20.10","30.2","41.2"],"7":["15.5","15.6","15.16","15.17","15.18","15.23","15.35","15.36","30.37","41.26"],"8":["15.14","15.25","30.35","31.3","41.35","41.40"],"9":["15.12","30.28"],"10":["3.11","3.13","3.26","5.11","9.8","19.8"],"12":["25.13","36.13"],"14":["30.32"],"20":["3.10"],"22":["9.4"],"40":["13.6"],"50":["25.13","36.13"],"100":["13.9"],"300":["13.4","13.5"],"500":["3.20","13.7","13.8","13.16"],"1000":["13.23"],"2000":["3.21","3.23","13.21"],"3000":["3.14","15.11"],"5000":["3.3","3.12","3.15"],"的":["0.0","0.4","1.0","5.0"],"url":["0.1","0.5","0.8","0.12","0.14","2.1","2.3","2.4","2.5","2.6","2.7","2.8","2.9","2.10","2.11","2.12","2.13","2.14","2.15","2.16","2.17","2.19","2.20","2.21","2.23","2.25","2.26","2.27","2.32","2.33","2.34","2.35","2.36","2.37","2.38","2.39","2.40","3.4","3.29","5.1","5.2","5.3","5.7","5.8","5.12","5.13","5.14","5.15","5.17","5.18","5.20","5.21","5.24","5.26","5.27","5.28","5.29","5.31","5.32","5.33","5.34","9.1","9.5","10.3","10.5","10.7","10.16","12.2","12.6","12.7","12.8","12.10","12.16","12.17","12.18","12.20","12.21","12.22","12.23","12.24","12.25","12.26","12.28","12.29","12.30","15.1","15.2","15.3","15.7","15.8","15.13","15.22","15.26","15.27","15.28","15.29","15.31","15.32","15.33","15.34","15.37","20.9","25.9","25.15","25.17","29.2","30.17","30.33","30.38","30.48","31.9","36.9","36.15","36.17","40.1","40.2","41.7","41.10","41.19","41.33","41.39","41.48"],"assets":["0.1","0.5","0.8","0.9","0.11","0.12","0.14","2.5","2.6","2.7","2.8","2.9","2.10","2.11","2.12","2.13","2.15","2.16","2.17","2.18","2.19","2.20","2.21","2.23","2.24","2.25","2.26","2.27","2.29","2.30","2.32","2.33","2.34","2.35","2.36","2.37","2.38","2.39","2.40","3.29","5.2","5.3","5.7","5.8","5.9","5.10","5.12","5.13","5.14","5.15","5.17","5.18","5.19","5.20","5.21","5.24","5.26","5.27","5.28","5.29","5.30","5.31","5.32","5.33","5.34","9.1","9.5","10.3","10.5","10.7","10.16","12.2","12.6","12.17","12.18","12.20","12.22","12.24","12.28","12.29","12.30","15.2","15.13","15.22","15.26","15.29","15.31","15.32","15.34","15.37","15.40","19.4","20.9","25.9","25.15","25.17","29.2","30.17","30.33","30.38","30.39","31.9","36.9","36.15","36.17","40.1","40.2","41.10","41.19","41.32","41.33","41.38","41.39","41.45","41.48"],"sample":["0.1","0.5","0.7","0.8","0.9","0.10","0.11","0.12","0.14","2.6","2.11","2.12","2.16","2.17","2.18","2.20","2.21","2.22","2.23","2.24","2.25","2.26","2.29","2.30","2.39","5.2","5.3","5.8","5.10","5.12","5.13","5.14","5.15","5.17","5.18","5.19","5.20","5.21","5.26","5.27","5.28","5.29","5.30","5.31","5.32","5.33","5.40","9.5","10.3","10.5","10.7","10.16","12.2","12.18","12.20","12.22","12.24","12.28","12.29","12.30","15.2","15.22","15.26","15.31","15.37","15.40","19.4","20.9","25.9","25.10","25.15","25.17","29.3","30.17","30.33","30.38","30.39","31.9","36.9","36.10","36.15","36.17","40.2","40.3","41.1","41.10","41.19","41.32","41.33","41.38","41.39","41.45","41.48"],"video":["0.1","0.5","0.6","0.7","0.8","0.9","0.10","0.11","0.12","0.14","2.2","2.6","2.12","2.17","2.18","2.20","2.21","2.22","2.23","2.24","2.25","2.26","2.28","2.29","2.30","5.2","5.3","5.8","5.10","5.12","5.13","5.15","5.19","5.21","5.22","5.26","5.28","5.29","5.30","5.32","5.33","5.40","10.1","10.3","10.5","10.7","10.16","12.2","12.22","12.24","12.28","12.29","12.30","15.26","15.37","15.40","19.4","25.9","25.10","25.15","25.17","29.3","30.38","31.9","36.9","36.10","36.15","36.17","40.2","40.3","41.1","41.10","41.19","41.30","41.33","41.38","41.39","41.45"],"mp4":["0.3","0.5","0.6","0.7","0.8","0.9","0.10","0.11","0.15","2.2","2.17","2.18","2.20","2.22","2.24","2.28","2.29","2.30","5.15","5.19","5.21","5.22","5.26","5.29","5.30","5.31","5.40","10.1","10.3","10.5","10.6","10.7","10.13","10.16","12.28","12.29","12.30","13.19","15.22","15.26","15.37","15.40","19.4","25.9","25.10","25.17","29.3","29.4","30.38","31.9","36.9","36.10","36.17","40.2","40.3","41.1","41.10","41.19","41.30","41.31","41.33","41.38","41.45"],"click":["0.3","0.13","6.2","6.3","7.1","7.3","10.3","10.13","15.19","15.21","16.2","16.3","17.3","25.12","30.30","36.12"],"event":["0.3","0.13","9.2","9.3","10.13","12.45","17.1","19.2","19.3"],"console":["0.3","0.6","0.13","0.16","6.2","6.3","6.4","6.5","9.2","9.3","10.1","10.3","10.4","10.5","10.6","10.13","11.1","16.2","16.3","16.4","16.5","19.2","19.3","30.29"],"info":["0.3","0.6","0.13","0.16","1.6","6.2","6.3","6.4","6.5","9.2","9.3","10.1","10.3","10.4","10.6","10.13","11.1","16.2","16.3","16.4","16.5","19.2","19.3","30.29"],"warning":["0.4","10.2","10.4","11.6","15.11","15.15","15.19","15.30","20.3","20.4","30.7","30.10","40.0"],"提示":["0.4"],"默认所有播放器实例都是共享同一个":["0.4"],"localstorage":["0.4"],"而且默认的":["0.4"],"是":["0.4"],"settings":["0.4","9.4","19.4"],"如果你想不同的播放器使用不同的":["0.4"],"play":["0.6","10.6","30.42","41.4"],"on":["0.7","0.8","0.9","0.10","2.2","2.22","5.30","5.40","7.5","8.5","9.8","10.0","10.13","11.0","15.0","15.40","17.5","18.5","19.8","20.3","21.0","23.0","29.0","32.0","34.0"],"ready":["0.9","0.10","2.2","5.11","5.40","7.5","10.13","17.5"],"app":["0.11","0.12","0.14","2.1","2.3","2.4","2.5","2.7","2.8","2.9","2.10","2.11","2.12","2.13","2.14","2.15","2.16","2.19","2.21","2.23","2.25","2.26","2.27","2.32","2.33","2.34","2.35","2.36","2.37","2.38","2.39","2.40","3.4","3.5","3.6","3.29","5.1","5.2","5.3","5.7","5.8","5.9","5.10","5.12","5.13","5.14","5.16","5.17","5.18","5.20","5.24","5.25","5.27","5.28","5.29","5.32","5.33","5.34","5.37","9.1","9.5","10.3","10.7","10.16","12.2","12.6","12.7","12.8","12.9","12.10","12.12","12.13","12.15","12.16","12.17","12.18","12.19","12.20","12.21","12.22","12.23","12.24","12.25","12.26","12.27","12.28","12.29","12.30","12.39","12.40","13.29","15.1","15.2","15.3","15.7","15.8","15.9","15.10","15.12","15.13","15.20","15.22","15.26","15.27","15.28","15.29","15.31","15.32","15.33","15.34","20.9","25.7","25.9","25.15","25.16","25.17","29.2","30.17","30.33","30.39","30.48","31.5","36.7","36.9","36.15","36.16","36.17","40.1","40.2","41.7","41.10","41.17","41.24","41.26","41.32","41.33","41.39","41.48"],"hotkeyevent":["0.13","10.13"],"true":["0.15","2.28","3.1","3.19","3.30","3.32","7.2","9.4","17.2","19.4","30.10","30.36"],"flip":["0.15"],"playbackrate":["0.15"],"aspectratio":["0.15"],"function":["0.16","6.2","6.3","6.4","7.1","7.3","9.3","10.13","10.16","15.19","15.21","16.2","16.3","16.4","17.3","19.3","25.12","30.29","30.30","30.36","36.12","39.7","41.29"],"myplugin":["0.16","10.16"],"art":["1.1","3.1","3.2","3.3","3.7","3.8","3.9","3.10","3.11","3.12","3.16","3.17","3.20","3.21","3.22","3.23","3.26","3.27","3.28","3.31","3.32","5.4","5.35","5.36","5.37","5.38","5.39","9.5","10.3","10.9","10.11","10.14","10.15","12.1","12.5","12.11","12.12","12.32","12.33","12.34","12.35","12.36","12.37","12.38","13.4","13.5","13.6","13.7","13.8","13.9","13.16","13.28","13.29","15.5","15.6","15.8","15.14","15.16","15.17","15.18","15.20","15.23","15.24","15.25","15.27","15.35","15.36","15.37","15.39","19.1","19.5","20.8","25.8","25.16","29.1","29.2","30.9","30.13","30.17","30.24","30.27","30.32","30.33","30.35","30.39","30.40","30.41","31.8","36.8","36.16","41.3","41.6","41.8","41.9","41.12","41.13","41.14","41.15","41.16","41.18","41.20","41.21","41.22","41.23","41.24","41.25","41.27","41.35","41.37","41.41","41.43","41.44","41.46","41.47"],"new":["1.1","3.2","3.5","3.6","3.7","3.8","3.9","3.10","3.16","3.21","3.27","3.28","3.32","5.4","5.5","5.6","5.23","5.35","5.36","5.37","5.38","5.39","9.5","10.3","10.9","10.15","12.1","12.3","12.4","12.5","12.9","12.11","12.12","12.13","12.14","12.15","12.19","12.25","12.27","12.32","12.33","12.34","12.35","12.36","12.37","12.38","12.39","12.40","13.4","13.7","13.8","13.16","13.28","13.29","15.3","15.5","15.6","15.8","15.9","15.10","15.12","15.13","15.14","15.16","15.17","15.18","15.20","15.23","15.24","15.25","15.27","15.28","15.29","15.33","15.37","15.39","19.1","19.5","25.7","25.8","25.16","29.1","29.2","30.9","30.13","30.17","30.24","30.32","30.33","30.39","30.41","30.48","36.7","36.8","36.16","41.3","41.5","41.8","41.9","41.12","41.13","41.14","41.15","41.16","41.17","41.18","41.20","41.21","41.22","41.23","41.24","41.25","41.27","41.32","41.35","41.37","41.41","41.43","41.44","41.46","41.47"],"container":["1.1","2.1","2.3","2.4","2.14","3.4","3.5","3.6","3.7","3.8","3.9","3.16","3.28","3.29","5.1","5.4","5.5","5.6","5.7","5.9","5.14","5.16","5.17","5.18","5.23","5.24","5.25","5.27","5.35","5.36","5.38","5.39","9.1","9.5","12.2","12.3","12.4","12.5","12.6","12.7","12.8","12.9","12.10","12.11","12.12","12.13","12.14","12.15","12.16","12.17","12.18","12.19","12.21","12.23","12.25","12.26","12.27","12.32","12.33","12.34","12.35","12.36","12.37","12.38","12.39","12.40","13.4","13.29","15.1","15.3","15.7","15.8","15.9","15.10","15.12","15.13","15.17","15.18","15.20","15.22","15.24","15.27","15.28","15.29","15.31","15.32","15.33","15.34","20.9","25.7","25.16","29.1","29.2","30.17","30.24","30.32","30.33","30.39","30.41","30.48","36.7","36.16","41.5","41.7","41.17","41.24","41.26","41.32","41.35","41.37","41.39","41.41"],"js":["1.2","1.3","1.4","1.5","1.7","1.8","1.9","1.10","1.12","10.8","10.9","10.10","10.11","10.12","10.14","10.15","11.1","13.2","13.3","13.10","13.11","13.12","13.13","13.14","13.15","13.17","13.18","13.20","13.22","13.24","13.25","13.26","13.30","13.31","13.32","15.4","15.5","15.14","15.23","15.35","15.36","15.39","19.1","20.2","24.3","25.3","26.3","27.3","28.4","28.8","30.3","30.5","30.6","30.8","30.9","30.12","30.13","30.14","30.15","30.16","30.18","30.20","30.22","30.23","30.24","30.25","30.27","30.32","30.35","30.37","30.39","30.43","30.44","30.47","31.2","35.3","36.3","37.3","38.3","39.4","39.8","39.11","41.6","41.11","41.35","41.36","41.40"],"artplayer":["1.6","5.4","5.5","5.6","5.16","5.23","5.25","5.35","5.36","5.38","5.39","9.5","10.3","10.9","10.15","12.1","12.3","12.4","12.5","12.7","12.8","12.9","12.10","12.11","12.12","12.13","12.14","12.15","12.16","12.17","12.19","12.21","12.23","12.25","12.26","12.27","12.32","12.33","12.34","12.35","12.36","12.37","12.38","12.39","12.40","13.2","13.3","13.5","13.6","13.9","13.10","13.11","13.12","13.13","13.14","13.15","13.17","13.18","13.20","13.22","13.24","13.25","13.26","13.30","13.31","13.32","15.1","15.3","15.6","15.7","15.8","15.9","15.10","15.12","15.13","15.16","15.17","15.18","15.20","15.22","15.23","15.24","15.25","15.27","15.28","15.29","15.31","15.32","15.33","19.1","19.5","29.1","30.17","30.24","30.26","30.32","30.33","30.39","30.41","30.48","41.3","41.5","41.7","41.8","41.9","41.13","41.14","41.15","41.16","41.17","41.21","41.24","41.25","41.32","41.35","41.37","41.41","41.44"],"手动触发事件":["2.0"],"subtitle":["2.28","2.29","2.30","12.31"],"srt":["2.31","12.31"],"或者部分加载完成":["2.45"],"则发送此事件":["2.45"],"已经到达结束点":["2.46"],"正在尝试获取媒体数据":["2.57"],"一级属性":["3.0"],"var":["3.1","3.2","3.3","3.7","3.8","3.9","3.10","3.11","3.12","3.13","3.14","3.15","3.17","3.18","3.19","3.20","3.21","3.22","3.23","3.24","3.25","3.26","3.27","3.28","3.30","3.31","3.32","5.4","5.38","9.5","10.9","10.11","10.12","10.14","10.15","12.1","12.11","12.37","13.4","13.5","13.6","13.7","13.8","13.9","13.16","13.21","13.27","13.28","15.5","15.6","15.10","15.12","15.14","15.16","15.17","15.18","15.23","15.25","15.35","15.36","15.39","19.1","19.5","25.8","29.2","30.3","30.9","30.13","30.17","30.24","30.27","30.32","30.35","30.37","30.39","30.41","36.8","41.6","41.8","41.9","41.12","41.13","41.14","41.15","41.16","41.18","41.20","41.21","41.22","41.23","41.25","41.26","41.27","41.35","41.37","41.40","41.41","41.43","41.44","41.46","41.47"],"false":["3.17","3.18","3.31","6.5","13.2","16.5","25.5","36.5"],"adsplugin":["4.0","14.0"],"option":["4.0","14.0","20.4","21.0","31.4","32.0"],"layers":["4.0","14.0"],"ads":["4.0"],"html":["4.0","7.4","8.4","9.6","15.19","15.21","17.4","18.4","19.6","25.11","25.12","25.13","25.14","28.11","30.30","30.31","36.11","36.12","36.13","36.14","41.30","41.31"],"img":["4.0","9.4","9.7","19.7","30.38","41.38"],"style":["4.0","6.1","7.3","8.1","8.4","16.1","17.3","18.1","18.4","20.4","41.28"],"width":["4.0","8.4","9.4","9.7","18.4","19.7","41.28"],"100px":["4.0","8.4","18.4","41.28"],"src":["4.0","8.3","8.4","9.7","18.3","18.4","19.7","30.28","41.28"],"display":["4.0"],"none":["4.0"],"position":["4.0","5.19","7.4","8.2","8.3","8.5","15.21","17.4","18.2","18.3","18.5","25.11","25.12","25.14","30.28","30.31","36.11","36.12","36.14","41.28","41.31"],"absolute":["4.0","8.2","8.3","8.5","18.2","18.3","18.5","30.28","41.28"],"top":["4.0","8.2","8.3","8.5","18.2","18.3","18.5","30.28","41.28"],"20px":["4.0","30.28","41.28"],"right":["4.0","7.2","7.4","8.2","8.5","15.21","17.2","17.4","18.2","18.5","25.11","25.12","25.13","25.14","30.28","36.11","36.12","36.13","36.14"],"seek":["5.11","28.7"],"settimeout":["5.11","7.5","17.5","30.2"],"controls":["5.19","5.21","15.21","25.11","25.12","25.14","36.11","36.12","36.14"],"jpg":["5.22"],"hd":["5.41","15.41"],"720p":["5.41","15.41"],"element":["6.1","8.1"],"组件的":["6.1","8.1"],"dom":["6.1","8.1","9.3","16.1","18.1","19.3"],"元素":["6.1","8.1"],"args":["6.2","6.3","6.4","16.2","16.3","16.4","30.29","30.30","41.29"],"show":["6.5","9.6","9.8","16.4","16.5","19.6","19.8"],"组件样式对象":["7.1"],"组件点击事件":["7.1"],"mounted":["7.1","10.0","11.0","15.0","17.1"],"selector":["7.2","17.2"],"default":["7.2","10.4","17.2","20.10","29.4","40.4"],"span":["7.2","17.2"],"01":["7.2","17.2","30.29","41.29"],"button":["7.3","7.4","17.3","17.4"],"tooltip":["7.3","7.4","8.2","8.3","17.1","17.3","17.4","18.2","18.3","30.31"],"color":["7.3","17.3","25.4","36.4"],"red":["7.3","17.3"],"your":["7.4","15.30","17.4","29.0","30.30","30.31","41.30","41.31","41.45"],"02":["7.5","9.3","17.5","19.3","30.29","41.29"],"update":["7.5"],"the":["7.5","12.47","17.5","20.3","28.7","29.4","40.4"],"tip":["8.2","8.3","18.2","18.3"],"50px":["8.2","8.3","8.5","18.2","18.3","18.5"],"potser":["8.4"],"item":["9.2","9.3","19.2","19.3"],"onselect":["9.3","19.3","30.29","41.29"],"pip":["9.4","19.4"],"mode":["9.4","19.4"],"close":["9.4","19.4"],"heigth":["9.4","9.7","19.7"],"add":["9.6","20.1","31.1"],"slider":["9.6","19.6"],"state":["9.7","19.7"],"range":["9.8","19.8","25.13","36.13"],"to":["10.2","12.41","12.42","12.61","14.0","24.4","29.0","30.1"],"easily":["10.2"],"distinguish":["10.2"],"between":["10.2"],"by":["10.4","30.45"],"all":["10.4","13.0"],"zh":["10.6"],"cn":["10.6"],"div":["10.8","10.9","10.10","10.15","13.23","15.38","19.5","30.21","30.26","30.36","30.40","30.46","41.36"],"classname":["10.8","10.9","10.10","10.11","10.12","10.15","13.1","13.23","15.4","15.38","19.5","30.15","30.21","30.26","30.36","30.40","30.46","41.36"],"run":["10.8","10.9","10.10","10.11","10.12","10.14","10.15","11.7","11.11","13.1","13.23","15.4","15.38","19.5","30.15","30.21","30.26","30.36","30.40","30.44","30.46","41.36"],"code":["10.8","10.9","10.10","10.11","10.12","10.14","10.15","11.1","11.2","11.3","11.4","11.5","11.7","11.8","11.9","11.10","11.11","11.12","13.1","13.14","13.23","13.24","13.26","15.4","15.38","19.5","30.5","30.12","30.14","30.15","30.16","30.18","30.21","30.25","30.26","30.35","30.36","30.40","30.43","30.44","30.46","30.47","41.36"],"switch":["10.10","15.11","15.19"],"visibility":["10.10"],"full":["11.6"],"list":["11.6"],"manually":["12.0"],"trigger":["12.0"],"data":["12.41","12.57","20.10"],"through":["12.41","12.42","30.26"],"of":["12.44","28.1","30.1"],"partially":["12.45"],"media":["12.46","12.48"],"resource":["12.47"],"type":["12.47","22.0","25.13","33.0","36.13"],"loaded":["12.49"],"paused":["12.50","14.0"],"pause":["12.52"],"or":["12.52"],"delay":["12.52"],"browser":["12.53"],"has":["12.54","12.58"],"skipping":["12.55","12.56"],"operation":["12.55","12.56"],"but":["12.57"],"due":["12.61"],"names":["13.0"],"are":["13.0"],"in":["13.0"],"devices":["13.19"],"a":["13.19","15.15"],"tap":["13.19"],"toggles":["13.19"],"for":["14.0"],"example":["14.0"],"i":["14.0","25.6","36.6"],"want":["14.0","30.10"],"write":["14.0"],"displays":["14.0"],"an":["14.0"],"image":["14.0"],"advertisement":["14.0"],"t":["15.11"],"and":["15.11"],"note":["15.15"],"some":["15.15"],"videos":["15.15"],"do":["15.15"],"not":["15.15"],"have":["15.15"],"resize":["15.30"],"class":["15.38"],"name":["15.38"],"480p":["15.41"],"object":["16.1","18.1","30.11"],"triggered":["17.1"],"after":["17.1"],"is":["17.1"],"poster":["18.4"],"setting":["19.4"],"step":["19.5","25.13","36.13"],"unpkg":["20.2","24.3","25.3","26.3","27.3","28.4","31.2","35.3","36.3","37.3","38.3","39.4"],"player":["20.3","30.45"],"s":["20.3","30.11"],"size":["20.3","30.1"],"depends":["20.3"],"import":["20.6","29.0"],"useref":["20.8","31.8"],"export":["20.10"],"return":["20.10"],"jsdelivr":["20.11"],"net":["20.11","31.11"],"https":["20.11","31.11"],"cdn":["20.11","31.11"],"npm":["20.11","31.11"],"initialize":["21.0","30.1","32.0"],"autoplay":["21.0","32.0"],"createplayer":["22.0","33.0"],"attachmediaelement":["22.0","33.0"],"load":["22.0","33.0"],"attachmedia":["23.0","34.0"],"else":["23.0","34.0"],"canplaytype":["23.0","34.0"],"application":["23.0","34.0"],"com":["24.3","25.3","26.3","27.3","28.4","35.3","36.3","37.3","38.3","39.4"],"equal":["24.4"],"totalduration":["24.4"],"closed":["24.4"],"early":["24.4"],"less":["24.4"],"then":["24.4"],"顶部":["25.4","36.4"],"底部":["25.4","36.4"],"ffffff":["25.4","36.4"],"弹幕颜色":["25.4","36.4"],"synchronousplayback":["25.5","36.5"],"是否同步播放速度":["25.5","36.5"],"mount":["25.5","36.5"],"undefined":["25.5","36.5"],"弹幕发射器挂载点":["25.5","36.5"],"默认为播放器控制栏中部":["25.5","36.5"],"heatmap":["25.5","36.5"],"是否开启热力图":["25.5","36.5"],"points":["25.5","36.5"],"热力图数据":["25.5","36.5"],"filter":["25.5","36.5"],"你可以对弹幕做合法校验":["25.6","36.6"],"或者做存库处理":["25.6","36.6"],"当返回true后才表示把弹幕加入到弹幕队列":["25.6","36.6"],"async":["25.6","36.6","39.7"],"const":["25.6","36.6"],"isdirty":["25.6","36.6"],"fuck":["25.6","36.6"],"test":["25.6","36.6"],"text":["25.6","25.12","30.36","36.6","36.12"],"if":["25.6","30.10","36.6"],"plugins":["25.10","36.10"],"artplayerplugindanmuku":["25.10","36.10"],"xml":["25.11","25.12","25.14","36.11","36.12","36.14"],"隐藏弹幕":["25.11","36.11"],"发送弹幕":["25.12","36.12"],"弹幕大小":["25.13","36.13"],"input":["25.13","36.13"],"min":["25.13","36.13"],"max":["25.13","36.13"],"重载弹幕":["25.14","36.14"],"加载弹幕":["25.18","36.18"],"length":["25.18","36.18"],"error":["25.18","36.18"],"加载错误":["25.18","36.18"],"functionalities":["28.1"],"get":["28.7","31.4"],"value":["28.7","39.7"],"communicate":["28.9"],"with":["28.9"],"can":["28.10"],"index":["28.11"],"commit":["28.12","39.12"],"body":["28.13","31.3","39.13"],"id":["28.13","39.13","41.45"],"you":["29.0","30.10"],"need":["29.0","30.1"],"required":["29.0"],"change":["29.4","40.4"],"like":["30.1"],"css":["30.1","30.11","41.1"],"this":["30.4","41.4"],"equivalent":["30.4"],"will":["30.7"],"cache":["30.7"],"muted":["30.10"],"similar":["30.11"],"fit":["30.11"],"increase":["30.19"],"volume":["30.19"],"decrease":["30.19"],"fast":["30.19"],"forward":["30.19"],"rewind":["30.19"],"opacity":["30.28"],"left":["30.31","41.31"],"something":["30.34","41.34"],"dosomething":["30.34","41.34"],"onvttload":["30.36"],"modify":["30.36"],"loading":["30.38","41.38"],"address":["30.40"],"current":["30.40"],"instance":["30.40","31.4"],"modifying":["30.42"],"existing":["30.42"],"because":["30.45"],"uses":["30.45"],"as":["30.45"],"key":["30.45"],"dimensions":["30.46"],"demo":["31.3"],"meta":["31.3"],"charset":["31.3"],"utf":["31.3"],"getinstance":["31.4"],"d":["31.6"],"选项":["31.10"],"为空则不跳转":["35.4"],"http":["35.4"],"org":["35.4"],"必须观看的时长":["35.4"],"期间不能被跳过":["35.4"],"单位为秒":["35.4"],"当该值大于或等于totalduration时":["35.4"],"不能提前关闭广告":["35.4"],"当该值等于或小于0时":["35.4"],"则随时都可以关闭广告":["35.4"],"playduration":["35.4"],"里通过代码控制":["39.1"],"from":["39.7"],"use":["39.7"],"通信":["39.9"],"只能运行在":["39.10"],"的消息":["39.11"],"artplayerpluginiframe":["39.12"],"外":["40.0"],"不再捆绑其它多国语言":["40.0"],"需要自行导入需要的语言":["40.0"],"lang":["40.3"],"language":["40.4"],"您可能需要初始化容器元素的大小":["41.1"],"如":["41.1"],"等同于":["41.4"],"document":["41.26"],"queryselector":["41.26"],"menu":["41.30"],"control":["41.31"],"文本的函数":["41.36"],"修改现有的语言":["41.42"]},{"0":["5.11","20.9","31.9"],"1":["9.7","13.24","19.7","25.13","36.13"],"2":["13.25"],"3":["30.1"],"4":["30.15","30.21","30.36","30.40","30.43","30.44","30.46"],"5":["9.7","13.22","19.7","20.9","24.4","31.9"],"6":["15.38"],"7":["15.4","30.26"],"8":["12.0","30.40"],"9":["41.28"],"10":["9.7","13.11","13.13","13.26","19.7","24.4","35.4"],"11":["30.42","41.42"],"12":["30.36","41.36"],"20":["13.10"],"22":["9.5","9.6","19.4","19.6"],"25":["25.13","36.13"],"32":["0.13","10.13"],"60":["30.33","41.33"],"120":["41.33"],"150":["9.2","19.2"],"404":["2.11","12.11"],"500":["13.20"],"1000":["30.2"],"2000":["13.23"],"3000":["5.11","13.14"],"5000":["13.3","13.12","13.15"],"二级属性":["0.0"],"mp4":["0.1","0.12","0.14","2.1","2.3","2.4","2.5","2.6","2.7","2.8","2.9","2.10","2.11","2.12","2.13","2.14","2.15","2.16","2.19","2.21","2.23","2.25","2.26","2.27","2.32","2.33","2.34","2.35","2.36","2.37","2.38","2.39","2.40","3.4","3.5","3.6","3.28","3.29","5.1","5.2","5.3","5.7","5.8","5.9","5.10","5.12","5.13","5.14","5.17","5.18","5.20","5.24","5.27","5.28","5.32","5.33","5.34","5.37","9.1","9.5","10.8","10.9","10.10","10.15","12.2","12.6","12.7","12.8","12.9","12.10","12.12","12.13","12.15","12.16","12.17","12.18","12.19","12.20","12.21","12.22","12.23","12.24","12.25","12.26","12.27","12.39","13.29","15.1","15.2","15.3","15.7","15.8","15.9","15.10","15.12","15.13","15.17","15.18","15.20","15.24","15.27","15.28","15.29","15.31","15.32","15.33","15.34","19.5","20.5","20.9","25.15","25.16","29.2","30.17","30.32","30.33","30.35","30.48","31.5","36.15","36.16","40.1","41.7","41.24","41.32","41.35","41.48"],"console":["0.1","0.5","1.2","1.3","1.4","1.5","1.7","1.8","1.9","1.10","1.11","1.12","5.8","5.13","5.14","5.15","5.22","5.26","5.27","5.28","5.29","5.31","5.32","5.33","5.40","7.3","8.2","8.3","10.16","15.26","15.31","15.37","15.40","17.3","18.2","18.3","30.28","30.30","30.31","41.28","41.29","41.30"],"info":["0.1","0.5","1.2","1.3","1.4","1.5","1.7","1.8","1.9","1.10","1.12","5.8","5.13","5.15","5.22","5.26","5.28","5.29","5.31","5.32","5.33","7.3","8.2","8.3","10.5","10.16","15.26","15.31","15.37","17.3","18.2","18.3","30.28","30.30","41.28","41.29","41.30"],"warning":["0.2","1.6","5.11","10.1","10.5","10.6","15.21","15.37","29.0","30.2","30.4","30.17","30.19","30.39","31.4","41.10","41.39","41.45","41.48"],"提示":["0.2","5.11","41.45"],"为了方便区别":["0.2"],"元素和普通对象":["0.2"],"播放器里的所有":["0.2"],"mouseenter":["0.3","10.3"],"你可以修改":["0.4"],"即可":["0.4"],"zh":["0.6"],"cn":["0.6","29.4","40.4"],"your":["0.6","10.6","20.3","29.3","29.4","30.3","40.3","40.4","41.3"],"ready":["0.7","0.8","0.11","0.12","0.13","0.14","0.15","2.6","2.18","2.22","2.24","2.31","5.8","5.10","5.12","5.13","5.14","5.15","5.17","5.18","5.22","5.26","5.27","5.28","5.29","5.30","5.31","5.32","5.33","5.41","6.5","8.5","9.8","10.7","10.9","10.10","12.2","12.18","12.22","12.24","12.31","15.8","15.10","15.13","15.22","15.26","15.28","15.29","15.31","15.32","15.33","15.40","15.41","16.5","18.5","19.8"],"html":["0.8","0.9","0.10","5.19","5.21","14.0","25.10","36.10"],"some":["0.8","0.9","0.10","15.37"],"text":["0.8","0.9","0.10","17.1"],"position":["0.9","5.21","5.34","7.1","8.4","14.0","17.1","18.4","25.10","36.10"],"on":["0.11","0.12","0.13","0.14","0.15","2.6","2.11","2.12","2.18","2.24","2.31","5.7","5.8","5.9","5.10","5.12","5.13","5.14","5.15","5.17","5.18","5.20","5.22","5.26","5.27","5.28","5.29","5.31","5.32","5.33","5.41","6.4","6.5","7.4","10.7","10.9","10.10","12.2","12.6","12.18","12.22","12.24","12.31","15.7","15.8","15.10","15.12","15.13","15.22","15.26","15.27","15.28","15.29","15.31","15.32","15.33","15.41","16.4","16.5","17.4","22.0","30.4","33.0"],"subtitleoffset":["0.15"],"return":["0.16","9.2","9.3","10.16","15.11","19.2","19.3","25.9","25.12","28.7","36.9","36.12","39.7"],"name":["0.16","10.16"],"something":["0.16"],"dosomething":["0.16"],"一级属性":["1.0","5.0"],"app":["1.1","3.2","3.7","3.8","3.9","3.10","3.11","3.12","3.16","3.21","3.22","3.27","3.28","3.32","5.4","5.5","5.6","5.23","5.35","5.36","5.38","5.39","10.8","10.9","10.10","10.11","10.12","10.14","10.15","12.1","12.3","12.4","12.5","12.11","12.14","12.32","12.33","12.34","12.35","12.36","12.37","12.38","13.4","13.5","13.6","13.7","13.8","13.9","13.16","13.21","13.27","13.28","15.5","15.6","15.14","15.16","15.17","15.18","15.23","15.24","15.25","15.35","15.36","15.39","19.1","19.5","25.8","29.1","30.9","30.13","30.24","30.26","30.32","30.35","30.36","30.37","30.41","36.8","41.5","41.6","41.8","41.9","41.12","41.13","41.14","41.15","41.16","41.18","41.20","41.21","41.22","41.23","41.25","41.27","41.35","41.36","41.37","41.40","41.41","41.43","41.44","41.46","41.47"],"url":["1.1","3.5","3.6","3.7","3.8","3.9","3.16","3.21","3.27","3.28","5.4","5.5","5.6","5.16","5.23","5.25","5.35","5.36","5.37","5.38","5.39","10.8","10.9","10.10","10.12","10.14","10.15","12.1","12.3","12.4","12.5","12.9","12.11","12.12","12.13","12.14","12.15","12.19","12.27","12.32","12.33","12.34","12.35","12.36","12.37","12.38","12.39","12.40","13.4","13.5","13.6","13.7","13.8","13.9","13.16","13.27","13.28","13.29","15.5","15.6","15.12","15.14","15.16","15.17","15.18","15.20","15.23","15.24","15.25","15.35","15.36","15.39","19.1","19.5","20.5","25.7","25.8","25.16","29.1","30.24","30.41","31.5","36.7","36.8","36.16","41.3","41.5","41.8","41.9","41.13","41.14","41.15","41.16","41.17","41.21","41.24","41.25","41.37","41.41","41.44"],"assets":["1.1","2.1","2.3","2.4","2.14","3.4","3.5","3.6","3.7","3.8","3.9","3.16","3.27","3.28","5.1","5.4","5.5","5.6","5.16","5.23","5.25","5.35","5.36","5.37","5.38","5.39","10.8","10.9","10.10","10.11","10.12","10.14","10.15","12.1","12.3","12.4","12.5","12.7","12.8","12.9","12.10","12.11","12.12","12.13","12.14","12.15","12.16","12.19","12.21","12.23","12.25","12.26","12.27","12.32","12.33","12.34","12.35","12.36","12.37","12.38","12.39","12.40","13.4","13.5","13.6","13.27","13.28","13.29","15.1","15.3","15.5","15.6","15.7","15.8","15.9","15.10","15.12","15.14","15.16","15.17","15.18","15.20","15.23","15.24","15.25","15.27","15.28","15.33","19.1","19.5","20.5","25.7","25.8","25.16","29.1","30.24","30.32","30.35","30.41","30.48","31.5","36.7","36.8","36.16","41.5","41.7","41.17","41.24","41.35","41.36","41.37","41.41"],"全部工具函数请参考以下地址":["1.6"],"js":["1.11","11.2","11.3","11.4","11.5","11.7","11.8","11.9","11.10","11.11","11.12","13.1","13.23","15.38","28.11","30.11","30.21","30.26","30.36","30.40","30.46","39.9"],"emit":["2.0","12.0"],"focus":["2.0","12.0"],"移除事件":["2.0"],"sample":["2.1","2.3","2.4","2.5","2.7","2.8","2.9","2.10","2.13","2.14","2.15","2.19","2.27","2.32","2.33","2.34","2.35","2.36","2.37","2.38","2.40","3.4","3.5","3.6","3.7","3.8","3.9","3.16","3.27","3.28","3.29","5.1","5.5","5.6","5.7","5.9","5.16","5.23","5.24","5.25","5.34","5.35","5.36","5.37","5.38","9.1","10.8","10.9","10.10","10.11","10.12","10.14","10.15","12.3","12.4","12.5","12.6","12.7","12.8","12.9","12.10","12.11","12.12","12.13","12.14","12.15","12.16","12.17","12.19","12.21","12.23","12.25","12.26","12.27","12.32","12.33","12.34","12.35","12.36","12.37","12.38","12.39","12.40","13.4","13.28","13.29","15.1","15.3","15.7","15.8","15.9","15.10","15.12","15.13","15.14","15.17","15.18","15.20","15.24","15.27","15.28","15.29","15.32","15.33","15.34","19.1","19.5","20.5","25.7","25.16","29.1","29.2","30.24","30.32","30.35","30.41","30.48","31.5","36.7","36.16","40.1","41.5","41.7","41.17","41.24","41.35","41.36","41.37","41.41"],"video":["2.1","2.3","2.4","2.5","2.7","2.8","2.9","2.10","2.13","2.14","2.15","2.16","2.19","2.27","2.32","2.33","2.34","2.35","2.36","2.37","2.38","2.39","2.40","3.4","3.5","3.6","3.27","3.28","3.29","5.1","5.5","5.6","5.7","5.9","5.14","5.16","5.17","5.18","5.20","5.23","5.24","5.25","5.27","5.34","5.37","9.1","9.5","10.8","10.9","10.10","10.11","10.15","12.3","12.4","12.5","12.6","12.7","12.8","12.9","12.10","12.12","12.13","12.14","12.15","12.16","12.17","12.18","12.19","12.20","12.21","12.23","12.25","12.26","12.27","12.32","12.33","12.34","12.35","12.36","12.38","12.39","12.40","13.4","15.20","15.27","15.28","15.29","15.33","15.34","19.5","20.5","20.9","25.7","25.16","29.2","30.17","30.24","30.32","30.33","30.35","30.41","30.48","31.5","36.7","36.16","40.1","41.7","41.17","41.24","41.32","41.35","41.48"],"true":["2.16","2.17","2.20","2.21","2.22","2.23","2.24","2.25","2.26","2.39","3.29","5.2","5.3","5.20","6.2","6.4","6.5","9.1","9.5","10.15","12.17","12.20","12.28","13.1","13.30","13.32","15.2","15.20","16.2","16.4","16.5","19.5","25.16","30.17","36.16","41.10","41.32","41.45"],"setting":["2.17","2.20","2.28","3.29","9.1","9.5","12.20","13.29","19.5"],"fullscreen":["2.22"],"srt":["2.28","2.29","2.30"],"并调用":["2.45"],"但数据意外未出现":["2.57"],"属性名字全部都是大写的形式":["3.0"],"未来容易发生变动":["3.0"],"new":["3.1","3.3","3.11","3.12","3.13","3.14","3.15","3.17","3.18","3.19","3.20","3.22","3.23","3.24","3.25","3.26","3.30","3.31","10.8","10.10","10.11","10.12","10.14","11.1","13.2","13.3","13.5","13.6","13.9","13.10","13.11","13.12","13.17","13.18","13.20","13.21","13.22","13.25","13.27","13.30","13.31","13.32","15.4","15.35","15.36","15.38","21.0","30.3","30.5","30.6","30.8","30.12","30.14","30.15","30.16","30.18","30.20","30.21","30.22","30.23","30.25","30.27","30.34","30.35","30.36","30.37","30.40","30.43","30.44","30.46","30.47","32.0","41.6","41.11","41.34","41.36","41.40"],"container":["3.1","3.2","3.3","3.10","3.11","3.12","3.13","3.14","3.15","3.17","3.18","3.19","3.20","3.21","3.22","3.23","3.24","3.25","3.26","3.27","3.30","3.31","3.32","10.8","10.9","10.10","10.11","10.12","10.14","10.15","12.1","13.5","13.6","13.7","13.8","13.9","13.16","13.21","13.27","13.28","15.4","15.5","15.6","15.14","15.16","15.23","15.25","15.35","15.36","15.39","19.1","19.5","25.8","30.5","30.6","30.8","30.9","30.12","30.13","30.14","30.15","30.16","30.18","30.20","30.22","30.23","30.25","30.26","30.27","30.35","30.36","30.37","30.43","30.47","31.10","36.8","41.3","41.6","41.8","41.9","41.12","41.13","41.14","41.15","41.16","41.18","41.20","41.21","41.22","41.23","41.25","41.27","41.36","41.40","41.43","41.44","41.46","41.47"],"art":["3.13","3.14","3.15","3.18","3.19","3.24","3.25","3.30","10.8","10.10","10.12","11.1","13.1","13.2","13.3","13.10","13.11","13.12","13.13","13.14","13.15","13.17","13.18","13.20","13.21","13.22","13.24","13.25","13.26","13.27","13.30","13.31","13.32","15.4","15.38","30.3","30.5","30.6","30.8","30.12","30.14","30.15","30.16","30.18","30.20","30.21","30.22","30.23","30.25","30.36","30.37","30.43","30.44","30.46","30.47","31.9","41.11","41.26","41.36"],"show":["4.0","6.2","6.3","6.4","14.0","16.2","16.3","21.0","22.0","23.0","30.28","30.30","32.0","33.0","34.0"],"block":["4.0","14.0"],"hide":["4.0","14.0"],"controls":["4.0","5.34","15.34","25.10","36.10"],"tooltip":["4.0","7.1","9.6","19.6","41.31"],"muted":["5.2","5.3","5.24","15.2","15.3","24.4","35.4","41.10"],"seek":["5.10","5.12"],"t":["5.11"],"right":["5.19","5.21","8.3","8.4","14.0","17.1","18.3","18.4","25.10","36.10","41.28"],"switch":["5.19"],"click":["5.19","5.21","6.1","8.1","8.2","8.3","15.37","16.1","18.1","18.2","18.3","25.10","25.11","25.14","30.28","30.31","36.10","36.11","36.14","41.28","41.30","41.31"],"function":["5.19","5.21","6.1","8.1","8.2","8.3","16.1","18.1","18.2","18.3","25.9","25.11","25.13","25.14","30.28","30.31","36.9","36.11","36.13","36.14","41.28","41.30"],"log":["5.40","15.40"],"theme":["5.40","15.40"],"settimeout":["5.41","6.5","8.5","9.8","10.13","15.41","16.5","18.5","19.8","41.2"],"object":["6.1","8.1"],"组件样式对象":["6.1","8.1"],"false":["6.2","6.3","6.4","9.4","13.17","13.18","13.31","16.2","16.3","16.4","19.4","25.4","25.6","30.30","35.4","36.4","36.6"],"update":["6.5","8.5","9.8","16.5","19.8"],"组件挂载后触发":["7.1"],"组件的提示文本":["7.1"],"yellow":["7.2","17.2"],"02":["7.2","17.2"],"onselect":["7.2","17.2"],"item":["7.2","9.4","17.2"],"dom":["7.2","17.2"],"args":["7.3","8.2","8.3","17.3","18.2","18.3","30.28","30.31","41.28","41.30"],"mounted":["7.3","8.2","8.3","17.3","18.2","18.3","25.13","36.13"],"style":["7.4","14.0","17.4","20.5","25.13","30.31","31.4","31.5","36.13","41.31"],"color":["7.4","17.4","30.31","41.31"],"red":["7.4","17.4"],"control":["7.5","17.1","17.5"],"by":["7.5","8.5","9.8","17.5","18.5","19.8","24.4","30.10"],"absolute":["8.4","14.0","18.4"],"top":["8.4","14.0","18.4"],"50px":["8.4","18.4"],"the":["8.5","9.8","18.5","19.8","30.10"],"quality":["9.2","19.2"],"1080p":["9.2","19.2"],"src":["9.4","14.0","19.4","23.0","30.38","34.0","41.38"],"state":["9.4","25.6","30.38","36.6","41.38"],"svg":["9.4","9.7","19.4","19.7"],"settings":["9.5","10.4","19.5"],"slider":["9.5"],"5x":["9.5","9.6","19.5","19.6"],"img":["9.5","9.6","14.0","19.4","19.6"],"width":["9.5","9.6","14.0","19.4","19.6","20.5","30.1","41.1"],"icon":["9.6","19.6"],"range":["9.7","19.7"],"instance":["10.0"],"which":["10.0","11.0","15.0"],"reminder":["10.1"],"if":["10.1","10.4","15.37","20.11","25.11","25.12","30.45","36.11","36.12"],"you":["10.1","10.4","15.30","15.37"],"directly":["10.1"],"and":["10.2","10.4","12.45","17.1"],"plain":["10.2"],"objects":["10.2"],"in":["10.2"],"are":["10.2","15.15"],"mouseleave":["10.3"],"instances":["10.4"],"share":["10.4"],"same":["10.4","15.11"],"localstorage":["10.4"],"want":["10.4"],"different":["10.4"],"players":["10.4"],"use":["10.4","28.7","30.1"],"loading":["10.5","12.53"],"this":["10.5","30.39"],"using":["10.6"],"can":["10.6","30.39"],"only":["10.6","28.10","30.39"],"var":["10.8","10.10","11.1","13.1","13.2","13.3","13.10","13.11","13.12","13.13","13.14","13.15","13.17","13.18","13.20","13.22","13.23","13.24","13.25","13.26","13.30","13.31","13.32","15.4","15.38","21.0","30.5","30.6","30.8","30.12","30.14","30.15","30.16","30.18","30.20","30.21","30.22","30.23","30.25","30.26","30.34","30.36","30.40","30.43","30.44","30.46","30.47","32.0","41.11","41.34","41.36"],"artplayer":["10.8","10.10","10.11","10.12","10.14","11.1","13.1","13.23","15.4","15.5","15.14","15.35","15.36","15.38","15.39","21.0","30.3","30.5","30.6","30.8","30.9","30.12","30.13","30.14","30.15","30.16","30.18","30.20","30.22","30.23","30.25","30.27","30.34","30.35","30.36","30.37","30.43","30.44","30.47","32.0","41.6","41.11","41.12","41.18","41.20","41.22","41.23","41.27","41.34","41.36","41.40","41.43","41.46","41.47"],"flip":["10.15"],"playbackrate":["10.15"],"aspectratio":["10.15"],"constructor":["11.0"],"please":["11.6"],"refer":["11.6"],"remove":["12.0"],"end":["12.41","12.42"],"without":["12.41","12.42"],"duration":["12.44"],"is":["12.45","12.47","12.53","15.30"],"sent":["12.45"],"reached":["12.46"],"not":["12.47","15.30","20.4"],"has":["12.48","12.55","12.56"],"due":["12.52","15.19","15.21","30.17"],"changed":["12.54"],"unexpectedly":["12.57"],"been":["12.58"],"currenttime":["12.59","28.7","39.7"],"attribute":["12.59"],"temporarily":["12.61"],"uppercase":["13.0"],"subject":["13.0"],"change":["13.0"],"defaults":["13.19"],"ads":["14.0"],"100px":["14.0"],"display":["14.0","25.13","36.13"],"none":["14.0"],"20px":["14.0"],"have":["15.11"],"functionality":["15.11"],"however":["15.11"],"method":["15.11"],"a":["15.11","29.0"],"promise":["15.11","25.5","36.5"],"such":["15.15"],"as":["15.15"],"that":["15.15"],"being":["15.15"],"live":["15.15"],"streamed":["15.15"],"or":["15.15","30.1"],"note":["15.19","30.2"],"to":["15.19","15.21"],"browser":["15.19","15.21","30.17"],"security":["15.19","15.21"],"mechanisms":["15.19","15.21"],"before":["15.19"],"triggering":["15.19"],"jpg":["15.22"],"json":["15.26"],"stringify":["15.26"],"but":["15.30","30.45"],"do":["15.30"],"know":["15.30"],"exact":["15.30"],"property":["15.30"],"tip":["15.37","20.11","30.19"],"need":["15.37"],"event":["16.1","18.1","25.11","28.8","36.11","39.8"],"left":["17.1"],"heigth":["19.4"],"pnpm":["20.1","24.2","25.2","26.2","27.2","28.3","31.1","35.2","36.2","37.2","38.2","39.3"],"com":["20.2","20.11","31.2","31.11"],"of":["20.3","30.45"],"so":["20.3"],"responsive":["20.4"],"modifying":["20.4"],"https":["20.5","31.5"],"org":["20.5","31.5"],"600px":["20.5"],"height":["20.5","30.1","41.1"],"400px":["20.5","30.1","41.1"],"margin":["20.5"],"d":["20.6"],"null":["20.8","31.8"],"volume":["20.9","31.9"],"options":["20.10"],"option":["20.10","25.18","31.10","36.18"],"unpkg":["20.11","31.11"],"else":["21.0","22.0","32.0","33.0"],"notice":["21.0","22.0","23.0","32.0","33.0","34.0"],"unsupported":["21.0","22.0","23.0","32.0","33.0","34.0"],"playback":["21.0","22.0","23.0","32.0","33.0","34.0"],"format":["21.0","22.0","23.0","32.0","33.0","34.0"],"mpd":["21.0","32.0"],"vnd":["23.0","34.0"],"apple":["23.0","34.0"],"mpegurl":["23.0","34.0"],"m3u8":["23.0","34.0"],"at":["24.4"],"any":["24.4"],"time":["24.4"],"playduration":["24.4"],"total":["24.4"],"whether":["24.4"],"默认为白色":["25.4","36.4"],"border":["25.4","36.4"],"弹幕是否有描边":["25.4","36.4"],"默认为":["25.4","36.4"],"弹幕载入前的过滤器":["25.5","36.5"],"只支持返回布尔值":["25.5","36.5"],"beforeemit":["25.5","36.5"],"弹幕发送前的过滤器":["25.5","36.5"],"支持返回":["25.5","36.5"],"beforevisible":["25.5","36.5"],"弹幕显示前的过滤器":["25.5","36.5"],"await":["25.6","28.7","36.6","39.7"],"这里是所有弹幕的过滤器":["25.6","36.6"],"包含来自服务端的和来自用户输入的":["25.6","36.6"],"plugins":["25.9","25.15","25.16","25.17","36.9","36.15","36.16","36.17"],"artplayerplugindanmuku":["25.9","25.15","25.16","25.17","36.9","36.15","36.16","36.17"],"xml":["25.10","36.10"],"隐藏弹幕":["25.10","36.10"],"prompt":["25.12","36.12"],"请输入弹幕文本":["25.12","36.12"],"弹幕测试文本":["25.12","36.12"],"trim":["25.12","36.12"],"value":["25.13","36.13"],"flex":["25.13","36.13"],"alignitems":["25.13","36.13"],"center":["25.13","36.13"],"fullscreenweb":["25.16","36.16"],"config":["25.18","36.18"],"配置变化":["25.18","36.18"],"stop":["25.18","36.18"],"弹幕停止":["25.18","36.18"],"async":["28.7"],"keyword":["28.7","39.7"],"iframe":["28.9"],"run":["28.10","30.11"],"artplayerpluginiframe":["28.12","39.11"],"type":["28.12","39.12"],"own":["29.0"],"when":["29.0","30.7"],"cannot":["29.0"],"be":["29.0"],"matched":["29.0"],"lang":["29.2","29.3","40.2"],"script":["29.2","40.2"],"i18n":["29.3","35.4","40.0","40.3"],"play":["29.4","30.19","40.4"],"300px":["30.1","41.1"],"support":["30.2"],"for":["30.2"],"three":["30.2"],"file":["30.2"],"formats":["30.2"],"size":["30.7"],"last":["30.7"],"upon":["30.10"],"entering":["30.10"],"cover":["30.11"],"div":["30.11","31.3"],"classname":["30.11"],"code":["30.11"],"space":["30.19"],"toggle":["30.19"],"pause":["30.19"],"these":["30.19"],"document":["30.26"],"queryselector":["30.26"],"setting02":["30.29","41.29"],"green":["30.31","41.31"],"one":["30.33","41.33"],"more":["30.33","41.33"],"chance":["30.33","41.33"],"gif":["30.38","41.38"],"recognition":["30.39"],"extensions":["30.39"],"player":["30.39"],"parse":["30.39"],"cache":["30.45"],"progress":["30.45"],"class":["31.3"],"ts":["31.6"],"types":["31.10"],"const":["31.10"],"广告总时长":["35.4"],"totalduration":["35.4"],"视频广告是否默认静音":["35.4"],"多语言支持":["35.4"],"close":["35.4"],"关闭广告":["35.4"],"countdown":["35.4"],"s秒":["35.4"],"播放器的功能":["39.1"],"当无法匹配到语言时":["40.0"],"会默认显示英文":["40.0"],"或者使用":["41.1"],"aspect":["41.1"],"热键":["41.19"],"描述":["41.19"],"增加音量":["41.19"],"降低音量":["41.19"],"innerhtml":["41.26"],"opacity":["41.28"],"sd":["41.32"],"ploading":["41.38"],"后缀的识别":["41.39"],"播放器只能解析这种后缀":["41.39"],"因为播放器默认使用":["41.45"]},{"0":["20.5","31.5"],"2":["5.28"],"4":["30.11"],"5":["5.7","5.8","5.14","15.7","41.7"],"8":["2.0"],"9":["5.29","30.1"],"10":["5.10","5.12","15.10","15.12"],"16":["5.29","15.29","25.12","30.1","36.12","41.1"],"22":["19.5"],"60":["30.35","41.35"],"100":["28.5","39.5"],"120":["30.33"],"180":["30.33","41.33"],"200":["25.5","25.6","36.5","36.6"],"240":["41.33"],"360":["9.2","19.2"],"720":["9.2","19.2"],"1000":["0.8","0.9","0.10","0.15","10.8","10.9","25.5","36.5","41.2"],"1080":["9.2","19.2"],"5000":["0.13","10.13"],"比较少用":["0.0"],"warning":["0.1","0.5","0.6","0.7","0.8","5.15","5.19","5.21","5.26","5.30","5.37","10.3","10.7","10.9","10.13","15.26","20.5","30.28","30.29","30.30","30.31","30.38","30.41","30.48","31.3","41.2","41.4","41.7","41.17","41.19","41.30","41.31","41.38","41.41"],"提示":["0.1","5.15","5.19","5.21","5.30","31.3","41.2","41.7","41.10","41.17"],"假如直接修改这个":["0.1"],"元素都是以":["0.2"],"开头命名的":["0.2"],"这是所有":["0.2"],"元素的定义":["0.2"],"mouseleave":["0.3"],"poster":["0.3","10.3"],"jpg":["0.3","10.3"],"then":["0.3","10.3","20.11","30.45"],"img":["0.3","10.3","19.5"],"loading":["0.5","12.48"],"这是所有图标的定义":["0.5"],"types":["0.5","1.6","40.0","41.48"],"使用":["0.6","25.9","36.9"],"只能更新实例化之后的":["0.6"],"to":["0.7","11.6","30.2","30.30","30.31"],"play":["0.7","4.0","5.2","10.7","15.2","29.3","30.2","40.3"],"如果想马上隐藏":["0.7"],"settimeout":["0.8","0.9","0.10","0.12","0.13","0.14","0.15","5.2","5.3","5.7","5.10","5.12","5.20","6.4","7.4","8.4","9.7","10.8","10.9","10.10","10.15","15.2","15.7","15.10","15.12","16.4","17.4","18.4","19.7"],"false":["0.8","0.9","0.10","0.14","0.15","10.8","10.9","10.10","10.15","24.4","30.28","41.28","41.30"],"left":["0.9","7.1","10.9"],"true":["0.10","0.12","2.19","3.4","3.5","3.6","3.27","3.28","5.1","5.13","5.24","5.31","6.3","10.10","12.16","12.19","12.21","12.22","12.23","12.24","12.25","12.26","12.39","13.4","13.5","13.6","13.27","13.28","13.29","15.1","15.3","15.24","15.31","16.3","19.1","30.24","30.32","41.17","41.24"],"srt":["0.11","12.28","12.29","12.30"],"on":["0.16","2.1","2.3","2.4","2.5","2.7","2.8","2.9","2.10","2.13","2.14","2.15","2.16","2.17","2.19","2.20","2.21","2.23","2.25","2.26","2.27","2.28","2.29","2.30","2.32","2.33","2.34","2.35","2.36","2.37","2.38","2.39","2.40","3.7","3.8","3.9","3.16","5.1","5.2","5.3","5.4","5.5","5.6","5.16","5.23","5.24","5.25","5.35","5.36","8.4","9.7","10.8","10.11","10.12","10.14","10.15","12.1","12.3","12.4","12.7","12.8","12.9","12.10","12.11","12.12","12.13","12.14","12.15","12.17","12.19","12.20","12.21","12.23","12.25","12.26","12.27","12.28","12.29","12.30","12.32","12.33","12.34","12.35","12.36","12.37","12.38","12.39","12.40","13.7","13.8","13.9","13.16","15.1","15.2","15.3","15.5","15.6","15.9","15.14","15.16","15.17","15.18","15.20","15.21","15.23","15.24","15.25","15.35","15.36","18.4","19.7","25.15","25.17","35.4","36.15","36.17","41.4"],"非常少使用":["1.0"],"sample":["1.1","3.1","3.2","3.3","3.10","3.11","3.12","3.17","3.20","3.21","3.22","3.23","3.26","3.30","3.31","3.32","5.4","5.39","11.1","12.1","13.5","13.6","13.7","13.8","13.9","13.10","13.11","13.12","13.16","13.20","13.21","13.27","13.32","15.4","15.5","15.6","15.16","15.23","15.25","15.35","15.36","15.38","15.39","20.10","22.0","25.8","30.5","30.6","30.8","30.9","30.12","30.13","30.14","30.15","30.16","30.18","30.20","30.22","30.23","30.25","30.27","30.34","30.36","30.37","30.40","30.43","30.44","30.47","31.10","33.0","36.8","41.6","41.8","41.9","41.11","41.12","41.13","41.14","41.15","41.16","41.18","41.20","41.21","41.22","41.23","41.25","41.27","41.34","41.40","41.43","41.44","41.46","41.47"],"video":["1.1","3.7","3.8","3.9","3.10","3.11","3.12","3.16","3.20","3.21","3.22","3.23","3.30","3.32","5.4","5.38","10.12","10.14","11.1","12.1","12.37","13.5","13.6","13.7","13.8","13.9","13.16","13.21","13.27","15.4","15.23","15.38","19.1","20.10","25.8","29.1","30.9","30.27","31.10","36.8","41.5","41.6","41.8","41.9","41.12","41.13","41.14","41.15","41.16","41.18","41.20","41.21","41.22","41.23","41.25","41.27","41.36","41.37","41.41","41.43","41.44","41.46","41.47"],"mp4":["1.1","3.7","3.8","3.9","3.16","3.21","3.27","5.4","5.5","5.6","5.16","5.23","5.25","5.35","5.36","5.38","5.39","10.11","10.12","10.14","12.1","12.3","12.4","12.5","12.11","12.14","12.32","12.33","12.34","12.35","12.36","12.37","12.38","12.40","13.4","13.5","13.6","13.7","13.8","13.9","13.16","13.21","13.27","13.28","15.4","15.5","15.6","15.14","15.16","15.23","15.25","15.35","15.36","15.38","15.39","19.1","20.10","25.7","25.8","29.1","30.5","30.14","30.16","30.24","30.36","30.37","30.41","31.10","36.7","36.8","41.5","41.8","41.9","41.13","41.14","41.15","41.16","41.17","41.21","41.25","41.36","41.37","41.41","41.44"],"artplayer":["1.2","1.3","1.4","1.5","1.7","1.8","1.9","1.10","1.11","1.12","11.2","11.3","11.4","11.5","11.7","11.8","11.9","11.10","11.11","11.12","22.0","23.0","30.11","30.21","30.40","30.46","33.0","34.0"],"d":["1.6"],"info":["1.11","2.12","5.14","5.27","5.37","5.38","9.4","11.2","11.3","11.4","11.5","11.7","11.8","11.9","11.10","11.11","11.12","15.8","15.13","15.14","15.22","15.27","15.28","15.29","15.32","15.33","19.4","20.5","25.17","28.8","30.31","31.5","36.17","39.8","41.31"],"const":["2.0","5.17","5.18","9.4","12.0","15.17","15.18","19.4","20.10","25.13","36.13"],"onready":["2.0","12.0"],"console":["2.1","2.3","2.4","2.5","2.7","2.8","2.9","2.10","2.11","2.12","2.13","2.14","2.15","2.16","2.17","2.18","2.20","2.21","2.22","2.23","2.24","2.25","2.26","2.27","2.29","2.30","2.32","2.33","2.34","2.35","2.36","2.37","2.38","2.40","5.24","5.37","5.38","5.39","9.4","11.2","11.3","11.4","11.5","11.7","11.8","11.9","11.10","11.11","11.12","12.7","12.8","12.9","12.10","12.12","12.13","12.15","12.27","15.8","15.13","15.14","15.22","15.27","15.28","15.29","15.32","15.33","15.39","19.4","20.5","25.17","28.8","31.5","35.4","36.17","39.8","41.31"],"event":["2.5","2.7","2.8","2.9","2.10","2.12","2.13","2.22","5.37","9.4","12.5","12.7","12.8","12.9","12.10","12.12","12.13","12.22"],"reconnecttime":["2.11","12.11"],"state":["2.12","2.15","2.16","2.21","2.23","2.24","2.25","2.32","2.33","2.34","2.35","2.36","2.37","2.38","2.39","2.40","9.5","9.6","12.12","12.15","12.21","12.23","12.24","12.25","12.32","12.33","12.34","12.35","12.36","12.38","19.6"],"height":["2.18","19.5","31.5"],"datauri":["2.26","12.26"],"currenttime":["2.27","12.27","28.12","39.12"],"offset":["2.28"],"text":["2.29","10.8","10.9","10.10","12.29","25.7","25.9","36.7","36.9"],"ass":["2.31","12.31"],"load":["2.45","12.45"],"方法重新加载它":["2.45"],"基本上用不到":["3.0"],"app":["3.1","3.3","3.13","3.14","3.15","3.17","3.18","3.19","3.20","3.23","3.24","3.25","3.26","3.30","3.31","11.1","13.1","13.2","13.3","13.10","13.11","13.12","13.13","13.14","13.15","13.17","13.18","13.20","13.22","13.23","13.24","13.25","13.26","13.30","13.31","13.32","15.4","15.38","20.10","21.0","22.0","23.0","28.5","28.13","30.3","30.5","30.6","30.8","30.11","30.12","30.14","30.15","30.16","30.18","30.20","30.21","30.22","30.23","30.25","30.27","30.34","30.40","30.43","30.44","30.46","30.47","31.10","32.0","33.0","34.0","39.5","39.13","41.3","41.11","41.34"],"url":["3.1","3.2","3.3","3.10","3.11","3.12","3.13","3.14","3.15","3.17","3.18","3.19","3.20","3.22","3.23","3.24","3.25","3.26","3.30","3.31","3.32","11.1","13.1","13.2","13.3","13.10","13.11","13.12","13.13","13.14","13.15","13.17","13.18","13.20","13.21","13.22","13.23","13.24","13.25","13.26","13.30","13.31","13.32","15.4","15.38","20.10","30.3","30.5","30.6","30.8","30.9","30.12","30.13","30.14","30.15","30.16","30.18","30.20","30.21","30.22","30.23","30.25","30.27","30.34","30.37","30.43","30.44","30.46","30.47","31.10","41.6","41.11","41.12","41.18","41.20","41.22","41.23","41.26","41.27","41.34","41.43","41.46","41.47"],"assets":["3.1","3.2","3.3","3.10","3.11","3.12","3.13","3.14","3.15","3.17","3.18","3.19","3.20","3.21","3.22","3.23","3.24","3.25","3.26","3.30","3.31","3.32","11.1","13.2","13.3","13.7","13.8","13.9","13.10","13.11","13.12","13.16","13.20","13.21","13.22","13.30","13.31","13.32","15.4","15.35","15.36","15.38","15.39","20.10","22.0","30.5","30.6","30.8","30.9","30.12","30.13","30.14","30.15","30.16","30.18","30.20","30.21","30.22","30.23","30.25","30.27","30.34","30.36","30.37","30.40","30.43","30.44","30.46","30.47","31.10","33.0","41.3","41.6","41.8","41.9","41.11","41.12","41.13","41.14","41.15","41.16","41.18","41.20","41.21","41.22","41.23","41.25","41.26","41.27","41.34","41.40","41.43","41.44","41.46","41.47"],"loop":["3.4","3.5","3.6","13.4","13.5","13.6"],"flip":["3.4","3.5","3.6","13.4"],"dblclick":["3.16"],"setting":["3.27","3.28","12.17","12.28","13.27","13.28","19.1","25.13","36.13"],"playbackrate":["3.27","13.27"],"contextmenu":["3.27","3.28","3.29","13.28","13.29"],"aspectratio":["3.28","13.28"],"show":["3.28","3.29","9.7","13.29","19.7","25.11","36.11","41.28","41.30"],"click":["4.0","5.34","5.37","14.0","15.34","35.4"],"marginright":["4.0","14.0"],"比较常用":["5.0"],"muted":["5.1","15.1","15.24"],"ready":["5.2","5.3","5.5","5.6","5.7","5.9","5.16","5.20","5.23","5.24","5.25","6.4","7.4","8.4","9.7","10.8","10.11","10.12","10.14","10.15","12.0","12.6","15.2","15.3","15.7","15.9","15.12","15.14","15.17","15.18","15.20","15.24","15.27","16.4","17.4","18.4","19.7","25.17","36.17"],"seek":["5.7","15.7","15.10","15.12"],"switch":["5.11"],"和":["5.11","7.1"],"的功能是一样的":["5.11"],"只是":["5.11"],"有的视频是没有时长的":["5.15"],"async":["5.17","5.18","15.17","15.18"],"await":["5.17","5.18","15.17","15.18"],"t":["5.22"],"json":["5.26"],"stringify":["5.26"],"resize":["5.30","25.15","36.15"],"当你的容器只有宽度":["5.30"],"playsinline":["5.31","15.31","41.37"],"m3u8":["5.32","30.2","41.40"],"000":["5.33"],"right":["5.34","7.1","15.34"],"html":["5.34","10.8","10.9","10.10","15.34","20.1","31.1"],"green":["5.40","15.40"],"1080p":["5.41","15.41"],"组件点击事件":["6.1","8.1"],"mounted":["6.1","8.1","16.1","18.1","30.28","41.28"],"组件挂载后触发":["6.1","8.1"],"get":["6.2","6.3","7.2","7.3","8.2","8.3","16.2","16.3","17.2","17.3","18.2","18.3"],"the":["6.2","6.3","6.4","6.5","7.2","7.3","7.4","8.2","8.3","8.4","9.7","16.2","16.3","16.4","16.5","17.2","17.3","17.4","18.2","18.3","18.4","19.7","30.19","30.30"],"element":["6.2","6.3","7.2","7.3","8.2","8.3","16.2","16.3","17.2","17.3","18.2","18.3"],"of":["6.2","6.3","7.2","7.3","8.2","8.3","12.52","15.37","16.2","16.3","17.2","17.3","18.2","18.3","30.38"],"by":["6.2","6.3","6.4","6.5","7.2","7.4","8.4","16.2","16.3","16.4","16.5","17.2","17.4","18.4","29.0"],"delete":["6.4","7.4","8.4","9.7"],"控制控制器出现的左右位置":["7.1"],"selector":["7.1","17.1"],"array":["7.1","17.1"],"return":["7.2","17.2"],"control":["7.2","7.3","7.4","17.2","17.3","17.4"],"200px":["8.5","18.5"],"720p":["9.2","19.2"],"360p":["9.2","19.2"],"nextstate":["9.4","19.4"],"heigth":["9.5","9.6","19.6"],"src":["9.5","9.6","19.5","19.6"],"svg":["9.5","9.6","19.5","19.6"],"pip":["9.8","19.8"],"mode":["9.8","19.8"],"close":["9.8","19.8","24.4"],"are":["10.0","11.0","15.0"],"less":["10.0"],"commonly":["10.0","15.0"],"modify":["10.1","10.4","20.11"],"this":["10.1"],"object":["10.1"],"named":["10.2"],"starting":["10.2"],"with":["10.2"],"a":["10.2","12.47","15.21","20.3"],"here":["10.2"],"is":["10.2","10.5","16.1","18.1","30.7","30.45","35.4"],"definition":["10.2","10.5","30.38"],"if":["10.3","10.6","30.2","30.4","30.17"],"you":["10.3","10.6","20.3","30.45"],"need":["10.3","20.11","30.2","30.45"],"some":["10.3","10.8","10.9","10.10"],"only":["10.3","10.13","15.37","30.19"],"exist":["10.3","15.37"],"can":["10.4","15.11","20.3"],"accordingly":["10.4"],"after":["10.6","10.13","16.1","18.1","30.19"],"instantiation":["10.6"],"want":["10.6"],"before":["10.6"],"please":["10.6","20.11","30.29","30.30"],"immediately":["10.7"],"hide":["10.7","25.18","36.18"],"position":["10.9","15.34"],"shortcut":["10.13"],"keys":["10.13"],"will":["10.13","20.4","30.19"],"work":["10.13","30.19"],"subtitleoffset":["10.15"],"something":["10.16"],"dosomething":["10.16"],"very":["11.0","15.30"],"rarely":["11.0"],"container":["11.1","13.1","13.2","13.3","13.10","13.11","13.12","13.13","13.14","13.15","13.17","13.18","13.20","13.22","13.23","13.24","13.25","13.26","13.30","13.31","13.32","15.38","20.10","21.0","22.0","23.0","30.3","30.21","30.34","30.40","30.44","30.46","32.0","33.0","34.0","41.34"],"following":["11.6","20.11"],"address":["11.6","30.17"],"off":["12.0"],"fullscreen":["12.22"],"having":["12.41"],"stop":["12.41"],"for":["12.41","12.42","29.0","30.10","30.48"],"stopping":["12.42"],"content":["12.42"],"property":["12.44"],"changes":["12.44"],"method":["12.45","28.7","39.7"],"called":["12.45"],"end":["12.46"],"point":["12.46"],"supported":["12.47"],"finished":["12.48"],"lack":["12.52"],"resources":["12.53"],"completed":["12.55"],"started":["12.56"],"has":["12.57","12.59"],"not":["12.57"],"suspended":["12.58"],"missing":["12.61"],"future":["13.0"],"and":["13.0","20.11"],"new":["13.1","13.13","13.14","13.15","13.23","13.24","13.26","20.8","20.9","22.0","30.11","30.26","31.8","31.9","33.0","41.26"],"art":["13.23","20.9","28.12","30.11","30.26","39.12"],"controls":["14.0"],"tooltip":["14.0"],"quite":["15.0"],"when":["15.11"],"it":["15.11","15.30","15.37"],"resolves":["15.11"],"indicates":["15.11"],"that":["15.11"],"played":["15.11"],"been":["15.15"],"fully":["15.15"],"decoded":["15.15"],"in":["15.15","20.4"],"which":["15.15"],"page":["15.19","30.10"],"must":["15.19","20.3","30.10"],"have":["15.19","20.3"],"had":["15.19"],"an":["15.19","17.1","30.4"],"user":["15.21"],"interaction":["15.21"],"e":["15.21"],"g":["15.21"],"useful":["15.30"],"as":["15.30","30.2","30.7"],"s":["15.30"],"during":["15.37"],"lifespan":["15.37"],"triggered":["16.1","18.1"],"context":["16.4"],"controller":["17.1"],"objects":["17.1"],"selection":["17.1"],"list":["17.1"],"onselect":["17.1"],"item":["19.4"],"width":["19.5","28.5","31.5","39.5"],"tip":["20.3","20.9","31.9","31.11"],"see":["20.3","24.4"],"more":["20.3","30.41"],"examples":["20.3"],"directly":["20.4"],"60px":["20.5","31.5"],"auto":["20.5","31.5"],"non":["20.5"],"responsive":["20.5"],"ts":["20.6"],"current":["20.8","31.8"],"complete":["20.9"],"support":["20.11","24.4"],"even":["20.11"],"older":["20.11"],"configuration":["20.11","30.28","30.30","30.31"],"akamaized":["21.0","32.0"],"net":["21.0","32.0"],"akamai":["21.0","32.0"],"bbb":["21.0","32.0"],"30fps":["21.0","32.0"],"var":["22.0","23.0","30.11","33.0","34.0"],"test":["23.0","34.0"],"streams":["23.0","34.0"],"mux":["23.0","34.0"],"x36xhzz":["23.0","34.0"],"default":["24.4","29.0"],"multilingual":["24.4"],"i18n":["24.4","29.0"],"countdown":["24.4"],"detail":["24.4","35.4"],"details":["24.4"],"canbeclosed":["24.4","35.4"],"until":["24.4"],"style":["25.4","28.5","36.4","39.5"],"弹幕自定义样式":["25.4","36.4"],"默认为空对象":["25.4","36.4"],"escape":["25.4","36.4"],"visible":["25.5","36.5"],"弹幕层是否可见":["25.5","36.5"],"maxlength":["25.5","36.5"],"弹幕输入框最大长度":["25.5","36.5"],"locktime":["25.5","36.5"],"输入框锁定时间":["25.5","36.5"],"length":["25.6","36.6"],"这是弹幕即将显示的时触发的函数":["25.6","36.6"],"当返回true后才表示可以马上发送到播放器里":["25.6","36.6"],"弹幕已经出现在播放器里":["25.6","36.6"],"你可以访问到弹幕的dom元素里":["25.6","36.6"],"plugins":["25.7","25.8","36.7","36.8"],"artplayerplugindanmuku":["25.7","25.8","36.7","36.8"],"promise":["25.9","36.9"],"resovle":["25.9","36.9"],"function":["25.10","36.10","41.31"],"target":["25.11","36.11"],"innertext":["25.11","36.11"],"else":["25.11","36.11"],"color":["25.12","36.12"],"math":["25.12","36.12"],"floor":["25.12","36.12"],"random":["25.12","36.12"],"0xffffff":["25.12","36.12"],"tostring":["25.12","36.12"],"queryselector":["25.13","36.13"],"addeventlistener":["25.13","36.13"],"切换弹幕":["25.14","36.14"],"config":["25.14","36.14"],"xml":["25.15","25.17","36.15","36.17"],"dark":["25.16","36.16"],"start":["25.18","36.18"],"弹幕开始":["25.18","36.18"],"弹幕隐藏":["25.18","36.18"],"or":["28.1","28.7","30.2","39.7"],"retrieve":["28.1"],"values":["28.1"],"div":["28.5","28.13","39.5","39.13"],"class":["28.5","28.13","39.5","39.13"],"resolve":["28.7","39.7"],"currenttime2":["28.7","39.7"],"js":["28.9"],"inside":["28.10","30.4"],"artplayerpluginiframe":["28.11"],"data":["28.12","39.12"],"displayed":["29.0"],"usage":["29.0"],"lang":["29.1","40.1"],"window":["29.2","40.2"],"imported":["29.4","40.4"],"aspect":["30.1"],"ratio":["30.1","41.1"],"ogg":["30.2","41.2"],"webm":["30.2","41.2"],"other":["30.2"],"such":["30.2","30.7"],"callback":["30.4"],"refers":["30.4"],"instance":["30.4"],"but":["30.4","30.39"],"arrow":["30.4"],"initialized":["30.7"],"next":["30.7"],"time":["30.7"],"refreshing":["30.7"],"be":["30.10"],"set":["30.10"],"security":["30.17"],"mechanisms":["30.17"],"source":["30.17"],"player":["30.19"],"gains":["30.19"],"focus":["30.19"],"innerhtml":["30.26"],"component":["30.28","30.30","30.31"],"refer":["30.30","30.31"],"sd":["30.32"],"480p":["30.32","41.32"],"谁でもいいはずなのに":["30.33","41.33"],"夏の想い出がまわる":["30.33","41.33"],"png":["30.35","30.38","41.35","41.38"],"all":["30.38"],"cannot":["30.39"],"zh":["30.42","41.42"],"cn":["30.42","41.42"],"same":["30.45"],"different":["30.45"],"reference":["30.48"],"syntax":["30.48"],"播放器的尺寸依赖于容器":["31.3"],"的尺寸":["31.3"],"所以你的容器":["31.3"],"非响应式":["31.4"],"在":["31.4"],"600px":["31.5"],"400px":["31.5"],"margin":["31.5"],"全部":["31.9"],"typescript":["31.9"],"volume":["31.10"],"假如你要兼容更古老的浏览器时":["31.11"],"查看详情":["35.4"],"s秒后可关闭广告":["35.4"],"ad":["35.4"],"clicked":["35.4"],"或者获取":["39.1"],"里":["39.10"],"写法参考":["40.0","41.48"],"默认支持三种视频文件格式":["41.2"],"播放器会缓存最后一次音量的大小":["41.7"],"假如希望默认进入页面就能自动播放视频":["41.10"],"必需为":["41.10"],"视频快进":["41.19"],"视频快退":["41.19"],"space":["41.19"],"切换播放":["41.19"],"暂停":["41.19"],"subtitle":["41.24"],"组件配置":["41.30"],"args":["41.31"],"hd":["41.32"],"webkit":["41.37"],"全部图标的定义":["41.38"],"但无法解析这种后缀":["41.39"],"作为":["41.45"],"key":["41.45"],"来缓存播放进度的":["41.45"],"但假如你的同一个视频的":["41.45"]},{"0":["5.9","5.10","5.12","5.15","5.22","15.9","15.10","15.12","15.15","15.22","20.10","31.10"],"1":["9.6","19.6","25.7","25.9","36.7","36.9"],"2":["5.7","15.7","15.28"],"5":["5.5","5.6","9.6","15.5","15.6","15.8","15.14","19.6","20.10","31.10"],"9":["15.29","41.1"],"10":["9.6","19.6","30.35","41.35"],"60":["25.5","36.5"],"100":["28.13","39.13"],"240":["30.33"],"300":["30.33","41.33"],"404":["3.13","3.14","13.13","13.14"],"1000":["0.12","0.14","10.10","10.12","10.14","10.15","28.7","39.7"],"3000":["5.2","5.3","5.7","5.10","5.12","5.20","5.41","6.4","6.5","7.4","7.5","8.4","8.5","9.7","9.8","15.2","15.3","15.7","15.10","15.12","15.20","15.41","16.4","16.5","17.4","17.5","18.4","18.5","19.7","19.8"],"对象":["0.1"],"播放器不会马上做出响应":["0.1"],"types":["0.2","2.0","10.2","10.5","11.6","29.0","30.38","30.48","41.38"],"d":["0.2","0.5","2.0","10.2","10.5","11.6","12.0","29.0","30.38","30.48","40.0","41.38","41.48"],"ts":["0.2","0.5","1.6","2.0","10.2","10.5","11.6","12.0","29.0","30.38","30.48","40.0","41.38","41.48"],"warning":["0.3","0.9","0.10","0.13","0.15","2.0","10.8","10.10","10.15","12.0","30.1","30.35","30.42","31.5","41.1","41.28","41.29","41.35","41.42"],"提示":["0.3","0.13","5.26","5.37","41.1","41.4","41.19"],"假如你需要一些":["0.3","5.37"],"事件只存在于播放器的生命周期上时":["0.3","5.37"],"强烈建议使用这些函数":["0.3"],"以避免造成内存泄漏":["0.3","5.37"],"your":["0.4","10.4"],"假如想在实例化之前更新":["0.6"],"请使用基础选项的":["0.6"],"来更新":["0.6"],"的显示":["0.7"],"组件配置":["0.8","0.9","0.10","41.28","41.31"],"请参考以下地址":["0.8","0.9","0.10","0.15","41.28","41.29","41.30","41.31"],"component":["0.8","0.9","0.10","0.15","10.8","10.9","10.10","10.15","30.29","41.28","41.29","41.30","41.31"],"color":["0.11","10.11","30.36","41.36"],"red":["0.11","10.11"],"false":["0.12","5.20","9.8","10.12","10.14","15.20","19.8"],"只在播放器获得焦点后":["0.13","41.19"],"如点击了播放器后":["0.13","41.19"],"这些快捷键才会生效":["0.13","41.19"],"true":["0.14","3.10","3.11","3.12","3.20","3.21","3.22","3.23","5.23","10.12","10.14","13.10","13.11","13.12","13.20","13.21","13.22","13.23","15.13","15.23","25.4","25.12","30.8","30.9","30.11","30.12","30.13","30.14","30.15","30.16","30.18","30.20","30.22","30.23","30.25","30.26","30.37","30.43","30.44","30.46","30.47","36.4","36.12","41.8","41.9","41.11","41.12","41.13","41.14","41.15","41.16","41.18","41.20","41.22","41.23","41.25","41.26","41.37","41.43","41.44","41.46","41.47"],"设置面板":["0.15"],"html":["0.15","10.15","24.2","25.2","26.2","27.2","28.3","30.41","30.42","35.2","36.2","37.2","38.2","39.3","41.41","41.42"],"ready":["0.16","2.0","5.1","5.4","10.16","15.1","15.4","15.5","15.6","15.16","15.23","15.25","21.0","22.0","23.0","32.0","33.0","34.0"],"off":["2.0"],"全部事件请参考以下地址":["2.0"],"events":["2.0"],"info":["2.1","2.2","2.3","2.4","2.5","2.6","2.7","2.8","2.9","2.10","2.11","2.13","2.14","2.15","2.16","2.17","2.18","2.19","2.20","2.21","2.22","2.23","2.24","2.25","2.26","2.27","2.28","2.29","2.30","2.31","5.17","5.18","5.24","5.35","5.36","5.39","9.5","12.1","12.2","12.3","12.4","12.5","12.6","12.7","12.8","12.9","12.10","12.11","12.12","12.13","12.14","12.15","12.16","12.17","12.18","12.19","12.20","12.21","12.22","12.23","12.24","12.25","12.26","12.27","12.28","12.29","12.30","12.31","15.17","15.18","15.24","15.35","15.36","15.38","15.39","19.5","21.0","22.0","23.0","24.4","32.0","33.0","34.0","35.4"],"console":["2.2","2.6","2.19","2.28","2.31","2.39","3.7","3.8","3.9","3.16","5.17","5.18","5.35","5.36","9.5","12.1","12.2","12.3","12.4","12.5","12.6","12.11","12.14","12.16","12.17","12.18","12.19","12.20","12.21","12.22","12.23","12.24","12.25","12.26","12.28","12.29","12.30","12.31","12.32","12.33","12.34","12.35","12.36","12.37","12.38","12.39","12.40","13.7","13.8","13.9","13.16","15.17","15.18","15.24","15.35","15.36","15.38","19.5","21.0","22.0","23.0","24.4","32.0","33.0","34.0"],"log":["2.32","2.33","2.34","2.35","2.36","2.37","2.38","2.39","2.40","3.7","3.8","3.9","3.16","12.32","12.33","12.34","12.35","12.36","12.37","12.38","12.39","12.40","13.7","13.8","13.9","13.16"],"video":["3.1","3.2","3.3","3.15","3.17","3.18","3.19","3.24","3.25","3.26","3.31","13.2","13.3","13.10","13.11","13.12","13.15","13.17","13.18","13.20","13.22","13.23","13.24","13.25","13.26","13.30","13.31","13.32","30.3","30.6","30.8","30.11","30.12","30.18","30.20","30.21","30.22","30.23","30.25","30.26","30.34","30.43","30.47","41.3","41.11","41.26","41.34"],"mp4":["3.1","3.2","3.3","3.10","3.11","3.12","3.13","3.14","3.15","3.17","3.18","3.19","3.20","3.22","3.23","3.24","3.25","3.26","3.30","3.31","3.32","11.1","13.1","13.2","13.3","13.10","13.11","13.12","13.13","13.14","13.15","13.17","13.18","13.20","13.22","13.23","13.24","13.25","13.26","13.30","13.31","13.32","30.3","30.6","30.8","30.9","30.11","30.12","30.13","30.15","30.18","30.20","30.21","30.22","30.23","30.25","30.26","30.27","30.34","30.43","30.44","30.46","30.47","41.3","41.6","41.11","41.12","41.18","41.20","41.22","41.23","41.26","41.27","41.34","41.43","41.46","41.47"],"playbackrate":["3.4","3.5","3.6","13.4","13.5","13.6"],"aspectratio":["3.4","3.5","3.6","13.4","13.5","13.6"],"autoplayback":["3.10","3.11","3.12","13.10","13.11","13.12"],"sample":["3.13","3.14","3.15","3.18","3.19","3.24","3.25","13.1","13.2","13.3","13.13","13.14","13.15","13.17","13.18","13.22","13.23","13.24","13.25","13.26","13.30","13.31","30.3","30.11","30.21","30.26","30.46","41.3","41.26"],"autoorientation":["3.20","13.20"],"show":["3.21","3.27","13.21","13.27","13.28","25.18","36.18"],"fastforward":["3.22","3.23","13.22","13.23"],"fullscreenweb":["3.30","13.30"],"miniprogressbar":["3.32","13.32"],"pause":["4.0","14.0"],"layer":["4.0","14.0"],"png":["4.0","14.0"],"t":["5.9","5.10","5.12","15.9","15.10","15.12","15.22"],"方法会返回":["5.11"],"promise":["5.11"],"当":["5.11"],"resolve":["5.11"],"时表示新地址是可以播放":["5.11"],"reject":["5.11"],"时表示新地址加载错误":["5.11"],"例如直播中的视频或者没被解码完成的视频":["5.15"],"这个时候获取的时长会是":["5.15"],"由于浏览器安全机制":["5.19","5.21","41.17"],"触发窗口全屏前":["5.19"],"页面必须先存在交互":["5.19","5.21"],"例如用户点击过页面":["5.19","5.21"],"触发画中画前":["5.21"],"尺寸和坐标信息是通过":["5.26"],"getboundingclientrect":["5.26","15.26"],"获取的":["5.26"],"但不知道具体高度时":["5.30"],"这个属性很有用":["5.30"],"它能自动计算出视频的高度":["5.30"],"但你需要确定设置这个属性的时机":["5.30"],"强烈建议使用该函数":["5.37"],"4k":["5.41","15.41"],"tooltip":["6.1","8.1","16.1","18.1"],"组件的提示文本":["6.1","8.1"],"remove":["6.4","7.4","8.4","9.7","16.4","17.4","18.4","19.7"],"选择列表的对象数组":["7.1"],"onselect":["7.1"],"选择列表的元素被点击时触发的函数":["7.1"],"by":["7.3","8.2","8.3","9.7","17.3","18.2","18.3","19.7"],"left":["8.5","18.5","30.2"],"switchquality":["9.2","19.2"],"open":["9.4","19.4"],"return":["9.4","9.5","19.4","19.5"],"item":["9.5","17.1","19.5"],"event":["9.5"],"x":["9.5","19.5"],"range":["9.6","19.6"],"switch":["9.8","19.8"],"used":["10.0","11.0","15.0","30.4"],"will":["10.1","15.15","20.5","30.4"],"not":["10.1","13.0","20.5","30.4"],"respond":["10.1"],"immediately":["10.1"],"during":["10.3"],"lifecycle":["10.3"],"it":["10.3","12.45","20.11","30.7"],"strongly":["10.3"],"recommended":["10.3","15.37"],"use":["10.3","10.6","15.37","20.3","30.39"],"these":["10.3"],"functions":["10.3"],"avoid":["10.3","15.37"],"causing":["10.3","15.37"],"memory":["10.3","15.37"],"leaks":["10.3","15.37"],"from":["10.6","17.1"],"basic":["10.6"],"options":["10.6","30.1"],"for":["10.6","12.0","30.4"],"of":["10.7","12.0"],"configuration":["10.8","10.9","10.10"],"please":["10.8","10.9","10.10","10.15","12.0","30.2","30.10","30.28"],"refer":["10.8","10.9","10.10","10.15","12.0","20.11","29.0","30.2","30.28","30.29"],"following":["10.8","10.9","10.10","10.15","12.0","20.3","30.28","30.29","30.30","30.31"],"address":["10.8","10.9","10.10","12.0","30.28","30.29","30.30","30.31"],"srt":["10.11","30.24","41.24"],"settimeout":["10.12","10.14","15.3","15.20","28.7","39.7"],"has":["10.13"],"gained":["10.13"],"focus":["10.13"],"e":["10.13","15.19"],"g":["10.13","15.19"],"clicking":["10.13","30.19"],"link":["10.15","20.3"],"on":["10.16","15.4","15.19","24.4","25.6","30.2","30.19","36.6"],"a":["12.0"],"full":["12.0"],"list":["12.0"],"state":["12.37","12.39"],"further":["12.41"],"buffering":["12.41","12.42"],"to":["12.45","15.30","30.28","30.29"],"reload":["12.45"],"format":["12.47"],"data":["12.52","12.61"],"appeared":["12.57"],"changed":["12.59"],"basically":["13.0"],"needed":["13.0"],"assets":["13.1","13.13","13.14","13.15","13.17","13.18","13.23","13.24","13.25","13.26","30.3","30.11","30.26"],"flip":["13.5","13.6"],"dblclick":["13.16"],"contextmenu":["13.27"],"play":["14.0"],"rejects":["15.11"],"there":["15.11"],"was":["15.11"],"an":["15.11"],"error":["15.11"],"loading":["15.11"],"case":["15.15"],"obtained":["15.15","15.26"],"be":["15.15"],"interaction":["15.19"],"user":["15.19"],"clicked":["15.19","17.1","24.4"],"page":["15.21","30.7"],"must":["15.21"],"occur":["15.21","30.17"],"before":["15.21"],"triggering":["15.21"],"coordinates":["15.26"],"are":["15.26","30.17"],"via":["15.26"],"need":["15.30"],"make":["15.30"],"sure":["15.30"],"m3u8":["15.32","30.40","41.2"],"000":["15.33"],"highly":["15.37"],"this":["15.37","30.7"],"text":["16.1","18.1"],"when":["17.1"],"script":["20.1","24.2","25.2","26.2","27.2","28.3","31.1","35.2","36.2","37.2","38.2","39.3"],"at":["20.3"],"packages":["20.3","20.9","31.3","31.9"],"template":["20.3","31.3"],"change":["20.4","20.5","25.13","36.13"],"the":["20.4","20.5","30.28","30.29","30.31"],"player":["20.4"],"in":["20.5"],"directly":["20.5"],"modifying":["20.5"],"typescript":["20.9"],"definitions":["20.9"],"volume":["20.10"],"art8":["20.10","31.10"],"new":["20.10","31.10"],"yourself":["20.11"],"scripts":["20.11","31.11"],"documentation":["20.11"],"browserslist":["20.11","31.11"],"type":["21.0","23.0","32.0","34.0"],"customtype":["21.0","22.0","23.0","32.0","33.0","34.0"],"click":["24.4"],"skip":["24.4","35.4"],"弹幕文本是否转义":["25.4","36.4"],"theme":["25.5","36.5"],"dark":["25.5","36.5"],"弹幕主题":["25.5","36.5"],"支持":["25.5","36.5"],"和":["25.5","36.5"],"light":["25.5","36.5"],"只在自定义挂载时生效":["25.5","36.5"],"ref":["25.6","36.6"],"innerhtml":["25.6","36.6"],"ଘ":["25.6","36.6"],"੭ˊᵕˋ":["25.6","36.6"],"੭":["25.6","36.6"],"使用数组":["25.7","36.7"],"time":["25.7","25.9","36.7","36.9"],"异步返回":["25.9","36.9"],"显示弹幕":["25.10","25.11","36.10","36.11"],"hide":["25.11","36.11"],"border":["25.12","36.12"],"fontsize":["25.13","36.13"],"number":["25.13","36.13"],"v2":["25.14","36.14"],"xml":["25.16","36.16"],"也可以手动挂载":["25.16","36.16"],"弹幕显示":["25.18","36.18"],"destroy":["25.18","36.18"],"弹幕销毁":["25.18","36.18"],"height":["28.5","28.13","39.5","39.13"],"style":["28.13","39.13"],"width":["28.13","39.13"],"or":["29.1","40.1"],"tip":["30.1","31.3"],"among":["30.1"],"all":["30.1"],"only":["30.1"],"is":["30.1"],"mandatory":["30.1"],"flv":["30.2","41.2"],"third":["30.2"],"party":["30.2"],"libraries":["30.2"],"side":["30.2"],"point":["30.4"],"jpg":["30.5","41.5"],"ffad00":["30.6","41.6"],"read":["30.7","30.10"],"cached":["30.7"],"value":["30.7"],"more":["30.10","30.42"],"information":["30.10"],"policy":["30.10","41.10"],"changes":["30.10","41.10"],"url":["30.11","30.26"],"setting":["30.14","30.15","30.16","30.24","41.14","41.15","41.16","41.24"],"website":["30.17"],"cross":["30.17"],"origin":["30.17"],"failure":["30.17"],"may":["30.17"],"such":["30.19"],"as":["30.19"],"hd":["30.32"],"720p":["30.32","41.32"],"こんなとこにあるはずもないのに":["30.33","41.33"],"终わり":["30.33","41.33"],"online":["30.35"],"generation":["30.35"],"tool":["30.35","41.35"],"03a9f4":["30.36","41.36"],"font":["30.36","41.36"],"size":["30.36","41.36"],"30px":["30.36","41.36"],"webkit":["30.37"],"playsinline":["30.37"],"therefore":["30.39"],"if":["30.39"],"you":["30.39"],"best":["30.39"],"well":["30.39"],"settings":["30.41","30.42"],"start":["30.41","30.42","41.41","41.42"],"i18n":["30.41","41.41"],"tw":["30.42","41.42"],"identify":["30.45"],"unique":["30.45"],"必须是有尺寸的":["31.3"],"以下链接可以看到更多的使用例子":["31.3"],"里直接修改":["31.4","31.5"],"是不会改变播放器的":["31.4","31.5"],"非响应式":["31.5"],"在":["31.5"],"定义":["31.9"],"请修改以下配置然后自行构建":["31.11"],"构建配置":["31.11"],"build":["31.11"],"参考文档":["31.11"],"skipped":["35.4"],"播放器的值":["39.1"],"全部选项里":["41.1"],"只有":["41.1"],"是必填的":["41.1"],"如需要播放":["41.2"],"或者":["41.2"],"等其它格式":["41.2"],"请参考左侧的":["41.2"],"第三方库":["41.2"],"回调函数里的":["41.4"],"就是播放器实例":["41.4"],"但回调函数假如使用了箭头函数":["41.4"],"则不会指向播放器实例":["41.4"],"下次初始化时":["41.7"],"如刷新页面":["41.7"],"播放器会读取该缓存值":["41.7"],"更多信息请阅读":["41.10"],"假如视频源地址和网站是跨域的":["41.17"],"可能会出现截图失败":["41.17"],"在线生成预览图":["41.35"],"thumbnail":["41.35"],"所以假如你使用了":["41.39"],"最好同时要指明":["41.39"],"function":["41.40"],"更多的语言设置":["41.41","41.42"],"是不同的话":["41.45"],"那么你需要使用":["41.45"],"来标识视频的唯一":["41.45"]}]'},t={"0.0":{t:"# 高级属性",p:`这里的 高级属性 是指挂载在 实例 的 二级属性,比较少用 -`,l:"advanced/built-in.html",a:"高级属性"},"0.1":{t:"`option`",p:`播放器的选项 -<div className="run-code">▶ Run Code< ...`,l:"advanced/built-in.html#option",a:"option"},"0.2":{t:"`template`",p:`管理播放器所有的 DOM 元素 -<div className="run-code">▶ Ru ...`,l:"advanced/built-in.html#template",a:"template"},"0.3":{t:"`events`",p:"管理播放器所有的 DOM 事件,实质上是代理了 addEventListener 和 removeEventListener ...",l:"advanced/built-in.html#events",a:"events"},"0.4":{t:"`storage`",p:`管理播放器的本地存储 - -name 属性用于设置缓存的 key -set 方法用于设置缓存 -get 方法用于获取缓存 -del 方 ...`,l:"advanced/built-in.html#storage",a:"storage"},"0.5":{t:"`icons`",p:`管理播放器所有的 svg 图标 -<div className="run-code">▶ Ru ...`,l:"advanced/built-in.html#icons",a:"icons"},"0.6":{t:"`i18n`",p:`管理播放器的 i18n - -get 方法用于获取 i18n 的值 -update 方法用于更新 i18n 对象 - -<div ...`,l:"advanced/built-in.html#i18n",a:"i18n"},"0.7":{t:"`notice`",p:`管理播放器的提示语,只有一个 show 属性用于显示提示语 -<div className="run-code ...`,l:"advanced/built-in.html#notice",a:"notice"},"0.8":{t:"`layers`",p:`管理播放器的层 - -add 方法用于动态添加层 -remove 方法用于动态删除层 -update 方法用于动态更新层 -show ...`,l:"advanced/built-in.html#layers",a:"layers"},"0.9":{t:"`controls`",p:`管理播放器的控制器 - -add 方法用于动态添加控制器 -remove 方法用于动态删除控制器 -update 方法用于动态更新控 ...`,l:"advanced/built-in.html#controls",a:"controls"},"0.10":{t:"`contextmenu`",p:`管理播放器的右键菜单 - -add 方法用于动态添加菜单 -remove 方法用于动态删除菜单 -update 方法用于动态更新菜单 ...`,l:"advanced/built-in.html#contextmenu",a:"contextmenu"},"0.11":{t:"`subtitle`",p:`管理播放器的字幕功能 - -url 属性设置和返回当前字幕地址 -style 方法设置当前字幕的样式 -switch 方法设置当前字 ...`,l:"advanced/built-in.html#subtitle",a:"subtitle"},"0.12":{t:"`loading`",p:`管理播放器的加载层 - -show 属性用于设置是否显示加载层 -toggle 属性用于切换是否显示加载层 - -<div cl ...`,l:"advanced/built-in.html#loading",a:"loading"},"0.13":{t:"`hotkey`",p:`管理播放器的快捷键功能 - -add 方法用于添加快捷键 -remove 方法用于删除快捷键 - -<div className ...`,l:"advanced/built-in.html#hotkey",a:"hotkey"},"0.14":{t:"`mask`",p:`管理播放器的遮罩层 - -show 属性用于设置是否显示遮罩层 -toggle 属性用于切换是否显示遮罩层 - -<div cl ...`,l:"advanced/built-in.html#mask",a:"mask"},"0.15":{t:"`setting`",p:`管理播放器的设置面板 - -add 方法用于动态添加设置项 -remove 方法用于动态删除设置项 -update 方法用于动态更新 ...`,l:"advanced/built-in.html#setting",a:"setting"},"0.16":{t:"`plugins`",p:`管理播放器的插件功能,只有一个方法 add 用于动态添加插件 -<div className="run-cod ...`,l:"advanced/built-in.html#plugins",a:"plugins"},"1.0":{t:"# 静态属性",p:`这里的 静态属性 是指挂载在 构造函数 的 一级属性,非常少使用 -`,l:"advanced/class.html",a:"静态属性"},"1.1":{t:"`instances`",p:`返回全部播放器实例的数组,假如你想同时管理多个播放器的时候,可以用到该属性 -<div className=" ...`,l:"advanced/class.html#instances",a:"instances"},"1.2":{t:"`version`",p:`返回播放器的版本信息 -<div className="run-code">▶ Run Cod ...`,l:"advanced/class.html#version",a:"version"},"1.3":{t:"`env`",p:`返回播放器的环境变量 -<div className="run-code">▶ Run Cod ...`,l:"advanced/class.html#env",a:"env"},"1.4":{t:"`build`",p:`返回播放器的打包时间 -<div className="run-code">▶ Run Cod ...`,l:"advanced/class.html#build",a:"build"},"1.5":{t:"`config`",p:`返回视频的默认配置 -<div className="run-code">▶ Run Code ...`,l:"advanced/class.html#config",a:"config"},"1.6":{t:"`utils`",p:`返回播放器的工具函数集合 -<div className="run-code">▶ Run C ...`,l:"advanced/class.html#utils",a:"utils"},"1.7":{t:"`scheme`",p:`返回播放器选项的校验方案 -<div className="run-code">▶ Run C ...`,l:"advanced/class.html#scheme",a:"scheme"},"1.8":{t:"`Emitter`",p:`返回事件分发器的构造函数 -<div className="run-code">▶ Run C ...`,l:"advanced/class.html#emitter",a:"emitter"},"1.9":{t:"`validator`",p:`返回选项的校验函数 -<div className="run-code">▶ Run Code ...`,l:"advanced/class.html#validator",a:"validator"},"1.10":{t:"`kindOf`",p:`返回类型检测的函数工具 -<div className="run-code">▶ Run Co ...`,l:"advanced/class.html#kindof",a:"kindof"},"1.11":{t:"`html`",p:`返回播放器所需的 html 字符串 -<div className="run-code">▶ ...`,l:"advanced/class.html#html",a:"html"},"1.12":{t:"`option`",p:`返回播放器的默认选项 -<div className="run-code">▶ Run Cod ...`,l:"advanced/class.html#option",a:"option"},"2.0":{t:"# 实例事件",p:`播放器的事件分为两种,一种视频的 原生事件 (前缀 video:),另外一种是 自定义事件 -监听事件: -<div cl ...`,l:"advanced/event.html",a:"实例事件"},"2.1":{t:"`ready`",p:`当播放器首次可以播放器时触发 -<div className="run-code">▶ Run ...`,l:"advanced/event.html#ready",a:"ready"},"2.2":{t:"`restart`",p:`当播放器切换地址后并可以播放时触发 -<div className="run-code">▶ ...`,l:"advanced/event.html#restart",a:"restart"},"2.3":{t:"`pause`",p:`当播放器暂停时触发 -<div className="run-code">▶ Run Code ...`,l:"advanced/event.html#pause",a:"pause"},"2.4":{t:"`play`",p:`当播放器播放时触发 -<div className="run-code">▶ Run Code ...`,l:"advanced/event.html#play",a:"play"},"2.5":{t:"`hotkey`",p:`当播放器热键被按下时触发 -<div className="run-code">▶ Run C ...`,l:"advanced/event.html#hotkey",a:"hotkey"},"2.6":{t:"`destroy`",p:`当播放器销毁时触发 -<div className="run-code">▶ Run Code ...`,l:"advanced/event.html#destroy",a:"destroy"},"2.7":{t:"`focus`",p:`当播放器获得焦点时触发 -<div className="run-code">▶ Run Co ...`,l:"advanced/event.html#focus",a:"focus"},"2.8":{t:"`blur`",p:`当播放器失去焦点时触发 -<div className="run-code">▶ Run Co ...`,l:"advanced/event.html#blur",a:"blur"},"2.9":{t:"`dblclick`",p:`当播放器被双击时触发 -<div className="run-code">▶ Run Cod ...`,l:"advanced/event.html#dblclick",a:"dblclick"},"2.10":{t:"`click`",p:`当播放器被单击时触发 -<div className="run-code">▶ Run Cod ...`,l:"advanced/event.html#click",a:"click"},"2.11":{t:"`error`",p:`当播放器加载视频发生错误时触发 -<div className="run-code">▶ Ru ...`,l:"advanced/event.html#error",a:"error"},"2.12":{t:"`hover`",p:`当播放器被鼠标移出或者移入时触发 -<div className="run-code">▶ R ...`,l:"advanced/event.html#hover",a:"hover"},"2.13":{t:"`mousemove`",p:`当播放器被鼠标经过时触发 -<div className="run-code">▶ Run C ...`,l:"advanced/event.html#mousemove",a:"mousemove"},"2.14":{t:"`resize`",p:`当播放器尺寸变化时触发 -<div className="run-code">▶ Run Co ...`,l:"advanced/event.html#resize",a:"resize"},"2.15":{t:"`view`",p:`当播放器出现在视口时触发 -<div className="run-code">▶ Run C ...`,l:"advanced/event.html#view",a:"view"},"2.16":{t:"`lock`",p:`在移动端,当锁定的状态发生变化时触发 -<div className="run-code">▶ ...`,l:"advanced/event.html#lock",a:"lock"},"2.17":{t:"`aspectRatio`",p:`当播放器长宽比变化时触发 -<div className="run-code">▶ Run C ...`,l:"advanced/event.html#aspectratio",a:"aspectratio"},"2.18":{t:"`autoHeight`",p:`当播放器自动设置高度时触发 -<div className="run-code">▶ Run ...`,l:"advanced/event.html#autoheight",a:"autoheight"},"2.19":{t:"`autoSize`",p:`当播放器自动设置尺寸时触发 -<div className="run-code">▶ Run ...`,l:"advanced/event.html#autosize",a:"autosize"},"2.20":{t:"`flip`",p:`当播放器发生翻转时触发 -<div className="run-code">▶ Run Co ...`,l:"advanced/event.html#flip",a:"flip"},"2.21":{t:"`fullscreen`",p:`当播放器发生窗口全屏时触发 -<div className="run-code">▶ Run ...`,l:"advanced/event.html#fullscreen",a:"fullscreen"},"2.22":{t:"`fullscreenError`",p:`当播放器发生窗口全屏错误时触发 -<div className="run-code">▶ Ru ...`,l:"advanced/event.html#fullscreenerror",a:"fullscreenerror"},"2.23":{t:"`fullscreenWeb`",p:`当播放器发生网页全屏时触发 -<div className="run-code">▶ Run ...`,l:"advanced/event.html#fullscreenweb",a:"fullscreenweb"},"2.24":{t:"`mini`",p:`当播放器进入迷你模式时触发 -<div className="run-code">▶ Run ...`,l:"advanced/event.html#mini",a:"mini"},"2.25":{t:"`pip`",p:`当播放器进入画中画时触发 -<div className="run-code">▶ Run C ...`,l:"advanced/event.html#pip",a:"pip"},"2.26":{t:"`screenshot`",p:`当播放器被截图时触发 -<div className="run-code">▶ Run Cod ...`,l:"advanced/event.html#screenshot",a:"screenshot"},"2.27":{t:"`seek`",p:`当播放器发生时间跳转时触发 -<div className="run-code">▶ Run ...`,l:"advanced/event.html#seek",a:"seek"},"2.28":{t:"`subtitleOffset`",p:`当播放器发生字幕偏移时触发 -<div className="run-code">▶ Run ...`,l:"advanced/event.html#subtitleoffset",a:"subtitleoffset"},"2.29":{t:"`subtitleUpdate`",p:`当字幕更新时触发 -<div className="run-code">▶ Run Code& ...`,l:"advanced/event.html#subtitleupdate",a:"subtitleupdate"},"2.30":{t:"`subtitleLoad`",p:`当字幕加载时触发 -<div className="run-code">▶ Run Code& ...`,l:"advanced/event.html#subtitleload",a:"subtitleload"},"2.31":{t:"`subtitleSwitch`",p:`当字幕切换时触发 -<div className="run-code">▶ Run Code& ...`,l:"advanced/event.html#subtitleswitch",a:"subtitleswitch"},"2.32":{t:"`info`",p:`当信息面板显示或隐藏时触发 -<div className="run-code">▶ Run ...`,l:"advanced/event.html#info",a:"info"},"2.33":{t:"`layer`",p:`当自定义层显示或隐藏时触发 -<div className="run-code">▶ Run ...`,l:"advanced/event.html#layer",a:"layer"},"2.34":{t:"`loading`",p:`当加载器显示或隐藏时触发 -<div className="run-code">▶ Run C ...`,l:"advanced/event.html#loading",a:"loading"},"2.35":{t:"`mask`",p:`当遮罩层显示或隐藏时触发 -<div className="run-code">▶ Run C ...`,l:"advanced/event.html#mask",a:"mask"},"2.36":{t:"`subtitle`",p:`当字幕层显示或隐藏时触发 -<div className="run-code">▶ Run C ...`,l:"advanced/event.html#subtitle",a:"subtitle"},"2.37":{t:"`contextmenu`",p:`当右键菜单显示或隐藏时触发 -<div className="run-code">▶ Run ...`,l:"advanced/event.html#contextmenu",a:"contextmenu"},"2.38":{t:"`control`",p:`当控制器显示或隐藏时触发 -<div className="run-code">▶ Run C ...`,l:"advanced/event.html#control",a:"control"},"2.39":{t:"`setting`",p:`当设置面板显示或隐藏时触发 -<div className="run-code">▶ Run ...`,l:"advanced/event.html#setting",a:"setting"},"2.40":{t:"`muted`",p:`当静音的状态变化时触发 -<div className="run-code">▶ Run Co ...`,l:"advanced/event.html#muted",a:"muted"},"2.41":{t:"`video:canplay`",p:`浏览器可以播放媒体文件了,但估计没有足够的数据来支撑播放到结束,不必停下来进一步缓冲内容 -`,l:"advanced/event.html#video-canplay",a:"video-canplay"},"2.42":{t:"`video:canplaythrough`",p:`浏览器估计它可以在不停止内容缓冲的情况下播放媒体直到结束 -`,l:"advanced/event.html#video-canplaythrough",a:"video-canplaythrough"},"2.43":{t:"`video:complete`",p:`OfflineAudioContext 渲染完成 -`,l:"advanced/event.html#video-complete",a:"video-complete"},"2.44":{t:"`video:durationchange`",p:`duration 属性的值改变时触发 -`,l:"advanced/event.html#video-durationchange",a:"video-durationchange"},"2.45":{t:"`video:emptied`",p:"媒体内容变为空;例如,当这个 media 已经加载完成(或者部分加载完成),则发送此事件,并调用 load() 方法重新加载 ...",l:"advanced/event.html#video-emptied",a:"video-emptied"},"2.46":{t:"`video:ended`",p:`视频停止播放,因为 media 已经到达结束点 -`,l:"advanced/event.html#video-ended",a:"video-ended"},"2.47":{t:"`video:error`",p:`获取媒体数据时出错,或者资源类型不是受支持的媒体格式 -`,l:"advanced/event.html#video-error",a:"video-error"},"2.48":{t:"`video:loadeddata`",p:`media 中的首帧已经完成加载 -`,l:"advanced/event.html#video-loadeddata",a:"video-loadeddata"},"2.49":{t:"`video:loadedmetadata`",p:`已加载元数据 -`,l:"advanced/event.html#video-loadedmetadata",a:"video-loadedmetadata"},"2.50":{t:"`video:pause`",p:`播放已暂停 -`,l:"advanced/event.html#video-pause",a:"video-pause"},"2.51":{t:"`video:play`",p:`播放已开始 -`,l:"advanced/event.html#video-play",a:"video-play"},"2.52":{t:"`video:playing`",p:`由于缺乏数据而暂停或延迟后,播放准备开始 -`,l:"advanced/event.html#video-playing",a:"video-playing"},"2.53":{t:"`video:progress`",p:`在浏览器加载资源时周期性触发 -`,l:"advanced/event.html#video-progress",a:"video-progress"},"2.54":{t:"`video:ratechange`",p:`播放速率发生变化 -`,l:"advanced/event.html#video-ratechange",a:"video-ratechange"},"2.55":{t:"`video:seeked`",p:`跳帧(seek)操作完成 -`,l:"advanced/event.html#video-seeked",a:"video-seeked"},"2.56":{t:"`video:seeking`",p:`跳帧(seek)操作开始 -`,l:"advanced/event.html#video-seeking",a:"video-seeking"},"2.57":{t:"`video:stalled`",p:`用户代理(user agent)正在尝试获取媒体数据,但数据意外未出现 -`,l:"advanced/event.html#video-stalled",a:"video-stalled"},"2.58":{t:"`video:suspend`",p:`媒体数据加载已暂停 -`,l:"advanced/event.html#video-suspend",a:"video-suspend"},"2.59":{t:"`video:timeupdate`",p:`currentTime 属性指定的时间发生变化 -`,l:"advanced/event.html#video-timeupdate",a:"video-timeupdate"},"2.60":{t:"`video:volumechange`",p:`音量发生变化 -`,l:"advanced/event.html#video-volumechange",a:"video-volumechange"},"2.61":{t:"`video:waiting`",p:`由于暂时缺少数据,播放已停止 -`,l:"advanced/event.html#video-waiting",a:"video-waiting"},"3.0":{t:"# 全局属性",p:`这里的 全局属性 也是指挂载在 构造函数 的 一级属性,属性名字全部都是大写的形式,未来容易发生变动,基本上用不到 -`,l:"advanced/global.html",a:"全局属性"},"3.1":{t:"DEBUG",p:`是否开始 debug 模式,可以打印出视频全部的内置事件,默认关闭 -<div className="run- ...`,l:"advanced/global.html#debug",a:"debug"},"3.2":{t:"CONTEXTMENU",p:`是否开启右键菜单,默认开启 -<div className="run-code">▶ Run ...`,l:"advanced/global.html#contextmenu",a:"contextmenu"},"3.3":{t:"NOTICE_TIME",p:`提示信息的显示时长,单位为毫秒,默认为 2000 -<div className="run-code" ...`,l:"advanced/global.html#notice-time",a:"notice-time"},"3.4":{t:"SETTING_WIDTH",p:`设置面板的默认宽度,单位为像素,默认为 250 -<div className="run-code" ...`,l:"advanced/global.html#setting-width",a:"setting-width"},"3.5":{t:"SETTING_ITEM_WIDTH",p:`设置面板的设置项的默认宽度,单位为像素,默认为 200 -<div className="run-code&q ...`,l:"advanced/global.html#setting-item-width",a:"setting-item-width"},"3.6":{t:"SETTING_ITEM_HEIGHT",p:`设置面板的设置项的默认高度,单位为像素,默认为 35 -<div className="run-code&qu ...`,l:"advanced/global.html#setting-item-height",a:"setting-item-height"},"3.7":{t:"RESIZE_TIME",p:`resize 事件的节流时间,单位为毫秒,默认为 200 -<div className="run-code& ...`,l:"advanced/global.html#resize-time",a:"resize-time"},"3.8":{t:"SCROLL_TIME",p:`scroll 事件的节流时间,单位为毫秒,默认为 200 -<div className="run-code& ...`,l:"advanced/global.html#scroll-time",a:"scroll-time"},"3.9":{t:"SCROLL_GAP",p:`view 事件的边界容差距离,单位为像素,默认为 50 -<div className="run-code&q ...`,l:"advanced/global.html#scroll-gap",a:"scroll-gap"},"3.10":{t:"AUTO_PLAYBACK_MAX",p:`自动回放功能的最大记录数,默认为 10 -<div className="run-code"> ...`,l:"advanced/global.html#auto-playback-max",a:"auto-playback-max"},"3.11":{t:"AUTO_PLAYBACK_MIN",p:`自动回放功能的最小记录时长,单位为秒,默认为 5 -<div className="run-code" ...`,l:"advanced/global.html#auto-playback-min",a:"auto-playback-min"},"3.12":{t:"AUTO_PLAYBACK_TIMEOUT",p:`自动回放功能的隐藏延迟时长,单位为毫秒,默认为 3000 -<div className="run-code& ...`,l:"advanced/global.html#auto-playback-timeout",a:"auto-playback-timeout"},"3.13":{t:"RECONNECT_TIME_MAX",p:`发生连接错误时,自动连接的最大次数,默认为 5 -<div className="run-code" ...`,l:"advanced/global.html#reconnect-time-max",a:"reconnect-time-max"},"3.14":{t:"RECONNECT_SLEEP_TIME",p:`发生连接错误时,自动连接的延迟时间,单位为毫秒,默认为 1000 -<div className="run-c ...`,l:"advanced/global.html#reconnect-sleep-time",a:"reconnect-sleep-time"},"3.15":{t:"CONTROL_HIDE_TIME",p:`底部控制栏的自动隐藏的延迟时间,单位为毫秒,默认为 3000 -<div className="run-cod ...`,l:"advanced/global.html#control-hide-time",a:"control-hide-time"},"3.16":{t:"DBCLICK_TIME",p:`双击事件的延迟事件,单位为毫秒,默认为 300 -<div className="run-code" ...`,l:"advanced/global.html#dbclick-time",a:"dbclick-time"},"3.17":{t:"DBCLICK_FULLSCREEN",p:`在桌面端,是否双击切换全屏,默认为 true -<div className="run-code"& ...`,l:"advanced/global.html#dbclick-fullscreen",a:"dbclick-fullscreen"},"3.18":{t:"MOBILE_DBCLICK_PLAY",p:`在移动端,是否双击切换播放暂停,默认为 true -<div className="run-code" ...`,l:"advanced/global.html#mobile-dbclick-play",a:"mobile-dbclick-play"},"3.19":{t:"MOBILE_CLICK_PLAY",p:`在移动端,是否单击切换播放暂停,默认为 false -<div className="run-code&quo ...`,l:"advanced/global.html#mobile-click-play",a:"mobile-click-play"},"3.20":{t:"AUTO_ORIENTATION_TIME",p:`在移动端,自动旋屏的延迟时间,单位为毫秒,默认为 200 -<div className="run-code& ...`,l:"advanced/global.html#auto-orientation-time",a:"auto-orientation-time"},"3.21":{t:"INFO_LOOP_TIME",p:`信息面板的刷新时间,单位为毫秒,默认为 1000 -<div className="run-code" ...`,l:"advanced/global.html#info-loop-time",a:"info-loop-time"},"3.22":{t:"FAST_FORWARD_VALUE",p:`在移动端,长按加速的速率倍数,默认为 3 -<div className="run-code"> ...`,l:"advanced/global.html#fast-forward-value",a:"fast-forward-value"},"3.23":{t:"FAST_FORWARD_TIME",p:`在移动端,长按加速的延迟时间,单位为毫秒,默认为 1000 -<div className="run-code ...`,l:"advanced/global.html#fast-forward-time",a:"fast-forward-time"},"3.24":{t:"TOUCH_MOVE_RATIO",p:`在移动端,左右滑动进度的速率倍数,默认为 0.5 -<div className="run-code" ...`,l:"advanced/global.html#touch-move-ratio",a:"touch-move-ratio"},"3.25":{t:"VOLUME_STEP",p:`快捷键调节音量的幅度比例,默认为 0.1 -<div className="run-code"> ...`,l:"advanced/global.html#volume-step",a:"volume-step"},"3.26":{t:"SEEK_STEP",p:`快捷键调节播放进度的幅度,单位为秒,默认为 5 -<div className="run-code" ...`,l:"advanced/global.html#seek-step",a:"seek-step"},"3.27":{t:"PLAYBACK_RATE",p:`内置播放速率的列表,默认为 [0.5, 0.75, 1, 1.25, 1.5, 2] -<div className=& ...`,l:"advanced/global.html#playback-rate",a:"playback-rate"},"3.28":{t:"ASPECT_RATIO",p:`内置视频长宽比的列表,默认为 ['default', '4:3', '16:9'] -<div className=&q ...`,l:"advanced/global.html#aspect-ratio",a:"aspect-ratio"},"3.29":{t:"FLIP",p:`内置视频翻转的列表,默认为 ['normal', 'horizontal', 'vertical'] -<div cla ...`,l:"advanced/global.html#flip",a:"flip"},"3.30":{t:"FULLSCREEN_WEB_IN_BODY",p:`网页全屏时,是否把播放器挂在在 body 元素下,默认为 false -<div className="run ...`,l:"advanced/global.html#fullscreen-web-in-body",a:"fullscreen-web-in-body"},"3.31":{t:"LOG_VERSION",p:`设置是否打印播放器版本,默认为 true -<div className="run-code"> ...`,l:"advanced/global.html#log-version",a:"log-version"},"3.32":{t:"USE_RAF",p:`设置是否使用 requestAnimationFrame ,默认为 false,目前主要用于进度条的平滑效果 -<div ...`,l:"advanced/global.html#use-raf",a:"use-raf"},"4.0":{t:"# 编写插件",p:`但你已经知道播放器的属性, 方法和事件后,再编写插件是非常简单的事 -可以在实例化的时候加载插件的函数 -<div cla ...`,l:"advanced/plugin.html",a:"编写插件"},"5.0":{t:"# 实例属性",p:`这里的 实例属性 是指挂载在 实例 的 一级属性,比较常用 -`,l:"advanced/property.html",a:"实例属性"},"5.1":{t:"`play`",p:` -Type: Function - -播放视频 -<div className="run-code"&g ...`,l:"advanced/property.html#play",a:"play"},"5.2":{t:"`pause`",p:` -Type: Function - -暂停视频 -<div className="run-code"&g ...`,l:"advanced/property.html#pause",a:"pause"},"5.3":{t:"`toggle`",p:` -Type: Function - -切换视频的播放和暂停 -<div className="run-code&q ...`,l:"advanced/property.html#toggle",a:"toggle"},"5.4":{t:"`destroy`",p:` -Type: Function -Parameter: Boolean - -销毁播放器,接受一个参数表示是否销毁后同时移除播放器 ...`,l:"advanced/property.html#destroy",a:"destroy"},"5.5":{t:"`seek`",p:` -Type: Setter -Parameter: Number - -视频时间跳转,单位秒 -<div className= ...`,l:"advanced/property.html#seek",a:"seek"},"5.6":{t:"`forward`",p:` -Type: Setter -Parameter: Number - -视频时间快进,单位秒 -<div className= ...`,l:"advanced/property.html#forward",a:"forward"},"5.7":{t:"`backward`",p:` -Type: Setter -Parameter: Number - -视频时间快退,单位秒 -<div className= ...`,l:"advanced/property.html#backward",a:"backward"},"5.8":{t:"`volume`",p:` -Type: Setter/Getter -Parameter: Number - -设置和获取视频音量,范围在:[0, 1] -& ...`,l:"advanced/property.html#volume",a:"volume"},"5.9":{t:"`url`",p:` -Type: Setter/Getter -Parameter: String - -设置和获取视频地址 -<div clas ...`,l:"advanced/property.html#url",a:"url"},"5.10":{t:"`switch`",p:` -Type: Setter -Parameter: String - -设置视频地址,设置时和 art.url 类似,但会执行一些 ...`,l:"advanced/property.html#switch",a:"switch"},"5.11":{t:"`switchUrl`",p:` -Type: Function -Parameter: String - -设置视频地址,设置时和 art.url 类似,但会执行 ...`,l:"advanced/property.html#switchurl",a:"switchurl"},"5.12":{t:"`switchQuality`",p:` -Type: Function -Parameter: String - -设置视频画质地址,和 art.switchUrl 类似 ...`,l:"advanced/property.html#switchquality",a:"switchquality"},"5.13":{t:"`muted`",p:` -Type: Setter/Getter -Parameter: Boolean - -设置和获取视频是否静音 -<div c ...`,l:"advanced/property.html#muted",a:"muted"},"5.14":{t:"`currentTime`",p:` -Type: Setter/Getter -Parameter: Number - -设置和获取视频当前时间,设置时间时和 see ...`,l:"advanced/property.html#currenttime",a:"currenttime"},"5.15":{t:"`duration`",p:` -Type: Getter - -获取视频时长 -<div className="run-code"&g ...`,l:"advanced/property.html#duration",a:"duration"},"5.16":{t:"`screenshot`",p:` -Type: Function - -下载当前视频帧的截图 -<div className="run-code&q ...`,l:"advanced/property.html#screenshot",a:"screenshot"},"5.17":{t:"`getDataURL`",p:` -Type: Function - -获取当前视频帧的截图的base64地址,返回的是一个 Promise -<div cl ...`,l:"advanced/property.html#getdataurl",a:"getdataurl"},"5.18":{t:"`getBlobUrl`",p:` -Type: Function - -获取当前视频帧的截图的blob地址,返回的是一个 Promise -<div clas ...`,l:"advanced/property.html#getbloburl",a:"getbloburl"},"5.19":{t:"`fullscreen`",p:` -Type: Setter/Getter -Parameter: Boolean - -设置和获取播放器窗口全屏 -<div ...`,l:"advanced/property.html#fullscreen",a:"fullscreen"},"5.20":{t:"`fullscreenWeb`",p:` -Type: Setter/Getter -Parameter: Boolean - -设置和获取播放器网页全屏 -<div ...`,l:"advanced/property.html#fullscreenweb",a:"fullscreenweb"},"5.21":{t:"`pip`",p:` -Type: Setter/Getter -Parameter: Boolean - -设置和获取播放器画中画模式 -<div ...`,l:"advanced/property.html#pip",a:"pip"},"5.22":{t:"`poster`",p:` -Type: Setter/Getter -Parameter: String - -设置和获取视频海报,只有在视频播放前才能看到 ...`,l:"advanced/property.html#poster",a:"poster"},"5.23":{t:"`mini`",p:` -Type: Setter/Getter -Parameter: Boolean - -设置和获取播放器迷你模式 -<div ...`,l:"advanced/property.html#mini",a:"mini"},"5.24":{t:"`playing`",p:` -Type: Getter -Parameter: Boolean - -获取视频是否正在播放中 -<div classNam ...`,l:"advanced/property.html#playing",a:"playing"},"5.25":{t:"`autoSize`",p:` -Type: Function - -设置视频是否自适应尺寸 -<div className="run-code& ...`,l:"advanced/property.html#autosize",a:"autosize"},"5.26":{t:"`rect`",p:` -Type: Getter - -获取播放器的尺寸和坐标信息 -<div className="run-code& ...`,l:"advanced/property.html#rect",a:"rect"},"5.27":{t:"`flip`",p:` -Type: Setter/Getter -Parameter: String - -设置和获取播放器翻转,支持normal, ...`,l:"advanced/property.html#flip",a:"flip"},"5.28":{t:"`playbackRate`",p:` -Type: Setter/Getter -Parameter: Number - -设置和获取播放器播放速度 -<div c ...`,l:"advanced/property.html#playbackrate",a:"playbackrate"},"5.29":{t:"`aspectRatio`",p:` -Type: Setter/Getter -Parameter: String - -设置和获取播放器长宽比 -<div cl ...`,l:"advanced/property.html#aspectratio",a:"aspectratio"},"5.30":{t:"`autoHeight`",p:` -Type: Function - -当容器只有宽度,该属性可以自动计算出并设置视频的高度 -<div className= ...`,l:"advanced/property.html#autoheight",a:"autoheight"},"5.31":{t:"`attr`",p:` -Type: Function -Parameter: String - -动态获取和设置 video 元素的属性 -<div ...`,l:"advanced/property.html#attr",a:"attr"},"5.32":{t:"`type`",p:` -Type: Setter/Getter -Parameter: String - -动态获取和设置视频类型 -<div cl ...`,l:"advanced/property.html#type",a:"type"},"5.33":{t:"`theme`",p:` -Type: Setter/Getter -Parameter: String - -动态获取和设置播放器主题颜色 -<div ...`,l:"advanced/property.html#theme",a:"theme"},"5.34":{t:"`airplay`",p:` -Type: Function - -开启隔空播放 -<div className="run-code" ...`,l:"advanced/property.html#airplay",a:"airplay"},"5.35":{t:"`loaded`",p:` -Type: Getter - -视频缓存的比例,范围是 [0, 1],常配合 video:timeupdate 事件使用 -&l ...`,l:"advanced/property.html#loaded",a:"loaded"},"5.36":{t:"`played`",p:` -Type: Getter - -视频播放的比例,范围是 [0, 1],常配合 video:timeupdate 事件使用 -&l ...`,l:"advanced/property.html#played",a:"played"},"5.37":{t:"`proxy`",p:` -Type: Function - -DOM 事件的代理函数,实质上代理了 addEventListener 和 removeE ...`,l:"advanced/property.html#proxy",a:"proxy"},"5.38":{t:"`query`",p:` -Type: Function - -DOM 的查询函数,类似 document.querySelector,但被查询的对象局限 ...`,l:"advanced/property.html#query",a:"query"},"5.39":{t:"`video`",p:` -Type: Element - -快捷返回播放器的 video 元素 -<div className="run- ...`,l:"advanced/property.html#video",a:"video"},"5.40":{t:"`cssVar`",p:` -Type: Function - -动态获取或设置 css 变量 -<div className="run-co ...`,l:"advanced/property.html#cssvar",a:"cssvar"},"5.41":{t:"`quality`",p:` -Type: Setter -Parameter: Array - -动态设置画质列表 -<div className=&qu ...`,l:"advanced/property.html#quality",a:"quality"},"6.0":{t:"# 右键菜单",p:"",l:"component/contextmenu.html",a:"右键菜单"},"6.1":{t:"配置",p:` - - -属性 -类型 -描述 - - - - -disable -Boolean -是否禁用组件 - - -name -String -组件唯一名称,用于 ...`,l:"component/contextmenu.html#配置",a:"配置"},"6.2":{t:"创建",p:"<div className="run-code">▶ Run Code</div&g ...",l:"component/contextmenu.html#创建",a:"创建"},"6.3":{t:"添加",p:"<div className="run-code">▶ Run Code</div&g ...",l:"component/contextmenu.html#添加",a:"添加"},"6.4":{t:"删除",p:"<div className="run-code">▶ Run Code</div&g ...",l:"component/contextmenu.html#删除",a:"删除"},"6.5":{t:"更新",p:"<div className="run-code">▶ Run Code</div&g ...",l:"component/contextmenu.html#更新",a:"更新"},"7.0":{t:"# 控制器",p:"",l:"component/controls.html",a:"控制器"},"7.1":{t:"配置",p:` - - -属性 -类型 -描述 - - - - -disable -Boolean -是否禁用组件 - - -name -String -组件唯一名称,用于 ...`,l:"component/controls.html#配置",a:"配置"},"7.2":{t:"创建",p:"<div className="run-code">▶ Run Code</div&g ...",l:"component/controls.html#创建",a:"创建"},"7.3":{t:"添加",p:"<div className="run-code">▶ Run Code</div&g ...",l:"component/controls.html#添加",a:"添加"},"7.4":{t:"删除",p:"<div className="run-code">▶ Run Code</div&g ...",l:"component/controls.html#删除",a:"删除"},"7.5":{t:"更新",p:"<div className="run-code">▶ Run Code</div&g ...",l:"component/controls.html#更新",a:"更新"},"8.0":{t:"# 业务层",p:"",l:"component/layers.html",a:"业务层"},"8.1":{t:"配置",p:` - - -属性 -类型 -描述 - - - - -disable -Boolean -是否禁用组件 - - -name -String -组件唯一名称,用于 ...`,l:"component/layers.html#配置",a:"配置"},"8.2":{t:"创建",p:"<div className="run-code">▶ Run Code</div&g ...",l:"component/layers.html#创建",a:"创建"},"8.3":{t:"添加",p:"<div className="run-code">▶ Run Code</div&g ...",l:"component/layers.html#添加",a:"添加"},"8.4":{t:"删除",p:"<div className="run-code">▶ Run Code</div&g ...",l:"component/layers.html#删除",a:"删除"},"8.5":{t:"更新",p:"<div className="run-code">▶ Run Code</div&g ...",l:"component/layers.html#更新",a:"更新"},"9.0":{t:"# 设置面板",p:"",l:"component/setting.html",a:"设置面板"},"9.1":{t:"内置",p:"须先打开设置面板,然后自带四个内置项:flip, playbackRate, aspectRatio, subtitleOf ...",l:"component/setting.html#内置",a:"内置"},"9.2":{t:"创建 - 选择列表",p:` - - -属性 -类型 -描述 - - - - -html -String, Element -元素的 DOM - - -icon -String, El ...`,l:"component/setting.html#创建-选择列表",a:"创建-选择列表"},"9.3":{t:"创建 - 列表嵌套",p:"<div className="run-code">▶ Run Code</div&g ...",l:"component/setting.html#创建-列表嵌套",a:"创建-列表嵌套"},"9.4":{t:"创建 - 切换按钮",p:` - - -属性 -类型 -描述 - - - - -html -String, Element -元素的 DOM 元素 - - -icon -String, ...`,l:"component/setting.html#创建-切换按钮",a:"创建-切换按钮"},"9.5":{t:"创建 - 范围滑块",p:` - - -属性 -类型 -描述 - - - - -html -String, Element -元素的 DOM 元素 - - -icon -String, ...`,l:"component/setting.html#创建-范围滑块",a:"创建-范围滑块"},"9.6":{t:"添加",p:"<div className="run-code">▶ Run Code</div&g ...",l:"component/setting.html#添加",a:"添加"},"9.7":{t:"删除",p:"<div className="run-code">▶ Run Code</div&g ...",l:"component/setting.html#删除",a:"删除"},"9.8":{t:"更新",p:"<div className="run-code">▶ Run Code</div&g ...",l:"component/setting.html#更新",a:"更新"},"10.0":{t:"# Advanced Properties",p:"The advanced properties here refer to the secondary attributes ...",l:"en/advanced/built-in.html",a:"advanced-properties"},"10.1":{t:"`option`",p:`Options for the player -<div className="run-code"& ...`,l:"en/advanced/built-in.html#option",a:"option"},"10.2":{t:"`template`",p:`Manages all of the DOM elements of the player -<div classNam ...`,l:"en/advanced/built-in.html#template",a:"template"},"10.3":{t:"`events`",p:"Manages all DOM events in the player, which is essentially a p ...",l:"en/advanced/built-in.html#events",a:"events"},"10.4":{t:"`storage`",p:`Manages the local storage of the player - -The name attribute is ...`,l:"en/advanced/built-in.html#storage",a:"storage"},"10.5":{t:"`icons`",p:`Manage all the svg icons of the player -<div className=" ...`,l:"en/advanced/built-in.html#icons",a:"icons"},"10.6":{t:"`i18n`",p:`Manage the player's i18n - -The get method is used to retrieve t ...`,l:"en/advanced/built-in.html#i18n",a:"i18n"},"10.7":{t:"`notice`",p:"Manage the player's notices, there's only one show property us ...",l:"en/advanced/built-in.html#notice",a:"notice"},"10.8":{t:"`layers`",p:`Manage the layers of the player - -The add method is used for dy ...`,l:"en/advanced/built-in.html#layers",a:"layers"},"10.9":{t:"`controls`",p:`Manage the player's controllers - -add method is used to dynamic ...`,l:"en/advanced/built-in.html#controls",a:"controls"},"10.10":{t:"`contextmenu`",p:`Manage the right-click context menu of the player - -The add met ...`,l:"en/advanced/built-in.html#contextmenu",a:"contextmenu"},"10.11":{t:"`subtitle`",p:`Manage the subtitle features of the player - -url property sets ...`,l:"en/advanced/built-in.html#subtitle",a:"subtitle"},"10.12":{t:"`loading`",p:`Manage the loading layer of the player - -show property is used ...`,l:"en/advanced/built-in.html#loading",a:"loading"},"10.13":{t:"`hotkey`",p:`Manage the hotkey functionality of the player - -The add method ...`,l:"en/advanced/built-in.html#hotkey",a:"hotkey"},"10.14":{t:"`mask`",p:`Manage the player's mask layer - -show property is used to set w ...`,l:"en/advanced/built-in.html#mask",a:"mask"},"10.15":{t:"`setting`",p:`Manage the player's settings panel - -add method is used to dyna ...`,l:"en/advanced/built-in.html#setting",a:"setting"},"10.16":{t:"`plugins`",p:"Manage the player's plugin features, with only one method add ...",l:"en/advanced/built-in.html#plugins",a:"plugins"},"11.0":{t:"# Static Properties",p:"Here, Static Properties refer to the first-level properties mo ...",l:"en/advanced/class.html",a:"static-properties"},"11.1":{t:"`instances`",p:"Returns an array of all player instances. You can use this pro ...",l:"en/advanced/class.html#instances",a:"instances"},"11.2":{t:"`version`",p:`Returns the version information of the player. -<div classNa ...`,l:"en/advanced/class.html#version",a:"version"},"11.3":{t:"`env`",p:`Returns the environment variables of the player. -<div class ...`,l:"en/advanced/class.html#env",a:"env"},"11.4":{t:"`build`",p:`Returns the build time of the player -<div className="r ...`,l:"en/advanced/class.html#build",a:"build"},"11.5":{t:"`config`",p:`Returns the default configuration of the video -<div classNa ...`,l:"en/advanced/class.html#config",a:"config"},"11.6":{t:"`utils`",p:`Returns a collection of utility functions for the player -<d ...`,l:"en/advanced/class.html#utils",a:"utils"},"11.7":{t:"`scheme`",p:`Returns the validation scheme for the player options -<div c ...`,l:"en/advanced/class.html#scheme",a:"scheme"},"11.8":{t:"`Emitter`",p:`Returns the constructor for the event dispatcher -<div class ...`,l:"en/advanced/class.html#emitter",a:"emitter"},"11.9":{t:"`validator`",p:`Returns the validation function for options -<div className= ...`,l:"en/advanced/class.html#validator",a:"validator"},"11.10":{t:"`kindOf`",p:`Returns the function tool for type checking -<div className= ...`,l:"en/advanced/class.html#kindof",a:"kindof"},"11.11":{t:"`html`",p:`Returns the html string required for the player -<div classN ...`,l:"en/advanced/class.html#html",a:"html"},"11.12":{t:"`option`",p:`Returns the player's default options -<div className="r ...`,l:"en/advanced/class.html#option",a:"option"},"12.0":{t:"# Example Events",p:"Player events are divided into two types, one is the video's n ...",l:"en/advanced/event.html",a:"example-events"},"12.1":{t:"`ready`",p:`Triggered when the player is able to play for the first time -& ...`,l:"en/advanced/event.html#ready",a:"ready"},"12.2":{t:"`restart`",p:"Triggered when the player switches the address and is able to ...",l:"en/advanced/event.html#restart",a:"restart"},"12.3":{t:"`pause`",p:`Triggered when the player is paused -<div className="ru ...`,l:"en/advanced/event.html#pause",a:"pause"},"12.4":{t:"`play`",p:`Triggered when the player starts playing -<div className=&qu ...`,l:"en/advanced/event.html#play",a:"play"},"12.5":{t:"`hotkey`",p:`Triggered when a hotkey on the player is pressed -<div class ...`,l:"en/advanced/event.html#hotkey",a:"hotkey"},"12.6":{t:"`destroy`",p:`Triggered when the player is destroyed -<div className=" ...`,l:"en/advanced/event.html#destroy",a:"destroy"},"12.7":{t:"`focus`",p:`Triggered when the player gains focus -<div className=" ...`,l:"en/advanced/event.html#focus",a:"focus"},"12.8":{t:"`blur`",p:`Triggered when the player loses focus -<div className=" ...`,l:"en/advanced/event.html#blur",a:"blur"},"12.9":{t:"`dblclick`",p:`Triggered when the player is double-clicked -<div className= ...`,l:"en/advanced/event.html#dblclick",a:"dblclick"},"12.10":{t:"`click`",p:`Triggered when the player is clicked -<div className="r ...`,l:"en/advanced/event.html#click",a:"click"},"12.11":{t:"`error`",p:"Triggered when an error occurs while the player is loading the ...",l:"en/advanced/event.html#error",a:"error"},"12.12":{t:"`hover`",p:"Triggered when the player is hovered or unhovered by the mouse ...",l:"en/advanced/event.html#hover",a:"hover"},"12.13":{t:"`mousemove`",p:`Triggered when the mouse moves over the player -<div classNa ...`,l:"en/advanced/event.html#mousemove",a:"mousemove"},"12.14":{t:"`resize`",p:`Triggered when the player size changes -<div className=" ...`,l:"en/advanced/event.html#resize",a:"resize"},"12.15":{t:"`view`",p:`Triggered when the player appears in the viewport -<div clas ...`,l:"en/advanced/event.html#view",a:"view"},"12.16":{t:"`lock`",p:`On mobile, triggered when the locked state changes -<div cla ...`,l:"en/advanced/event.html#lock",a:"lock"},"12.17":{t:"`aspectRatio`",p:`Triggered when the aspect ratio of the player changes -<div ...`,l:"en/advanced/event.html#aspectratio",a:"aspectratio"},"12.18":{t:"`autoHeight`",p:`Triggered when the player automatically sets the height -<di ...`,l:"en/advanced/event.html#autoheight",a:"autoheight"},"12.19":{t:"`autoSize`",p:`Triggered when the player automatically sets the size -<div ...`,l:"en/advanced/event.html#autosize",a:"autosize"},"12.20":{t:"`flip`",p:`Triggered when the player flips -<div className="run-co ...`,l:"en/advanced/event.html#flip",a:"flip"},"12.21":{t:"`fullscreen`",p:`Triggered when the player goes into full screen -<div classN ...`,l:"en/advanced/event.html#fullscreen",a:"fullscreen"},"12.22":{t:"`fullscreenError`",p:`Triggered when the player goes into full screen error -<div ...`,l:"en/advanced/event.html#fullscreenerror",a:"fullscreenerror"},"12.23":{t:"`fullscreenWeb`",p:`Triggered when the player enters web fullscreen -<div classN ...`,l:"en/advanced/event.html#fullscreenweb",a:"fullscreenweb"},"12.24":{t:"`mini`",p:`Triggered when the player enters mini mode -<div className=& ...`,l:"en/advanced/event.html#mini",a:"mini"},"12.25":{t:"`pip`",p:`Triggered when the player enters Picture-in-Picture mode -<d ...`,l:"en/advanced/event.html#pip",a:"pip"},"12.26":{t:"`screenshot`",p:`Triggered when the player takes a screenshot -<div className ...`,l:"en/advanced/event.html#screenshot",a:"screenshot"},"12.27":{t:"`seek`",p:`Triggered when the player jumps in time -<div className=&quo ...`,l:"en/advanced/event.html#seek",a:"seek"},"12.28":{t:"`subtitleOffset`",p:`Triggered when the subtitle offset occurs in the player -<di ...`,l:"en/advanced/event.html#subtitleoffset",a:"subtitleoffset"},"12.29":{t:"`subtitleUpdate`",p:`Triggered when the subtitle updates -<div className="ru ...`,l:"en/advanced/event.html#subtitleupdate",a:"subtitleupdate"},"12.30":{t:"`subtitleLoad`",p:`Triggered when the subtitle loads -<div className="run- ...`,l:"en/advanced/event.html#subtitleload",a:"subtitleload"},"12.31":{t:"`subtitleSwitch`",p:`Triggered when subtitles switch -<div className="run-co ...`,l:"en/advanced/event.html#subtitleswitch",a:"subtitleswitch"},"12.32":{t:"`info`",p:`Triggered when the information panel is shown or hidden -<di ...`,l:"en/advanced/event.html#info",a:"info"},"12.33":{t:"`layer`",p:`Triggered when a custom layer is shown or hidden -<div class ...`,l:"en/advanced/event.html#layer",a:"layer"},"12.34":{t:"`loading`",p:`Triggered when a loader is shown or hidden -<div className=& ...`,l:"en/advanced/event.html#loading",a:"loading"},"12.35":{t:"`mask`",p:`Triggered when a mask layer is shown or hidden -<div classNa ...`,l:"en/advanced/event.html#mask",a:"mask"},"12.36":{t:"`subtitle`",p:`Triggered when the subtitle layer is shown or hidden -<div c ...`,l:"en/advanced/event.html#subtitle",a:"subtitle"},"12.37":{t:"`contextmenu`",p:`Triggered when the right-click menu is shown or hidden -<div ...`,l:"en/advanced/event.html#contextmenu",a:"contextmenu"},"12.38":{t:"`control`",p:`Triggered when the controller is shown or hidden -<div class ...`,l:"en/advanced/event.html#control",a:"control"},"12.39":{t:"`setting`",p:`Triggered when the settings panel is shown or hidden -<div c ...`,l:"en/advanced/event.html#setting",a:"setting"},"12.40":{t:"`muted`",p:`Triggered when the muted state changes -<div className=" ...`,l:"en/advanced/event.html#muted",a:"muted"},"12.41":{t:"`video:canplay`",p:"The browser can play the media file, but estimates there is no ...",l:"en/advanced/event.html#video-canplay",a:"video-canplay"},"12.42":{t:"`video:canplaythrough`",p:"The browser estimates it can play the media through to the end ...",l:"en/advanced/event.html#video-canplaythrough",a:"video-canplaythrough"},"12.43":{t:"`video:complete`",p:`OfflineAudioContext rendering is complete -`,l:"en/advanced/event.html#video-complete",a:"video-complete"},"12.44":{t:"`video:durationchange`",p:`Triggered when the value of the duration property changes -`,l:"en/advanced/event.html#video-durationchange",a:"video-durationchange"},"12.45":{t:"`video:emptied`",p:"The media content becomes empty; for example, when this media ...",l:"en/advanced/event.html#video-emptied",a:"video-emptied"},"12.46":{t:"`video:ended`",p:`The video has stopped because the media reached the end point -`,l:"en/advanced/event.html#video-ended",a:"video-ended"},"12.47":{t:"`video:error`",p:"An error occurred while fetching media data, or the resource t ...",l:"en/advanced/event.html#video-error",a:"video-error"},"12.48":{t:"`video:loadeddata`",p:`The first frame of the media has finished loading -`,l:"en/advanced/event.html#video-loadeddata",a:"video-loadeddata"},"12.49":{t:"`video:loadedmetadata`",p:`Metadata has been loaded -`,l:"en/advanced/event.html#video-loadedmetadata",a:"video-loadedmetadata"},"12.50":{t:"`video:pause`",p:`Playback has been paused -`,l:"en/advanced/event.html#video-pause",a:"video-pause"},"12.51":{t:"`video:play`",p:`Playback has started -`,l:"en/advanced/event.html#video-play",a:"video-play"},"12.52":{t:"`video:playing`",p:"Playback is ready to start following a pause or delay due to l ...",l:"en/advanced/event.html#video-playing",a:"video-playing"},"12.53":{t:"`video:progress`",p:`Periodically triggered while the browser is loading resources -`,l:"en/advanced/event.html#video-progress",a:"video-progress"},"12.54":{t:"`video:ratechange`",p:`The playback rate has changed -`,l:"en/advanced/event.html#video-ratechange",a:"video-ratechange"},"12.55":{t:"`video:seeked`",p:`A seek (frame skipping) operation has completed -`,l:"en/advanced/event.html#video-seeked",a:"video-seeked"},"12.56":{t:"`video:seeking`",p:`A seek (frame skipping) operation has started -`,l:"en/advanced/event.html#video-seeking",a:"video-seeking"},"12.57":{t:"`video:stalled`",p:"The user agent is trying to fetch media data, but the data une ...",l:"en/advanced/event.html#video-stalled",a:"video-stalled"},"12.58":{t:"`video:suspend`",p:`Media data loading has been suspended -`,l:"en/advanced/event.html#video-suspend",a:"video-suspend"},"12.59":{t:"`video:timeupdate`",p:`The time specified by the currentTime attribute has changed -`,l:"en/advanced/event.html#video-timeupdate",a:"video-timeupdate"},"12.60":{t:"`video:volumechange`",p:`Volume changed -`,l:"en/advanced/event.html#video-volumechange",a:"video-volumechange"},"12.61":{t:"`video:waiting`",p:`Playback has stopped due to temporarily missing data -`,l:"en/advanced/event.html#video-waiting",a:"video-waiting"},"13.0":{t:"# Global Attributes",p:"Here, Global Attributes refer to the first-level properties mo ...",l:"en/advanced/global.html",a:"global-attributes"},"13.1":{t:"DEBUG",p:"Whether to start debug mode, which can print out all built-in ...",l:"en/advanced/global.html#debug",a:"debug"},"13.2":{t:"CONTEXTMENU",p:"Whether to enable the right-click context menu, enabled by def ...",l:"en/advanced/global.html#contextmenu",a:"contextmenu"},"13.3":{t:"NOTICE_TIME",p:"The display duration of the notification message, in milliseco ...",l:"en/advanced/global.html#notice-time",a:"notice-time"},"13.4":{t:"SETTING_WIDTH",p:"The default width of the settings panel, in pixels, defaults t ...",l:"en/advanced/global.html#setting-width",a:"setting-width"},"13.5":{t:"SETTING_ITEM_WIDTH",p:"Set the default width of the settings items in the panel, in p ...",l:"en/advanced/global.html#setting-item-width",a:"setting-item-width"},"13.6":{t:"SETTING_ITEM_HEIGHT",p:"Set the default height of the settings items in the panel, in ...",l:"en/advanced/global.html#setting-item-height",a:"setting-item-height"},"13.7":{t:"RESIZE_TIME",p:"Throttle time for the resize event, in milliseconds, defaults ...",l:"en/advanced/global.html#resize-time",a:"resize-time"},"13.8":{t:"SCROLL_TIME",p:"Throttle time for the scroll event, in milliseconds, defaults ...",l:"en/advanced/global.html#scroll-time",a:"scroll-time"},"13.9":{t:"SCROLL_GAP",p:"The boundary tolerance distance for the view event, in pixels, ...",l:"en/advanced/global.html#scroll-gap",a:"scroll-gap"},"13.10":{t:"AUTO_PLAYBACK_MAX",p:"The maximum number of records for the automatic playback featu ...",l:"en/advanced/global.html#auto-playback-max",a:"auto-playback-max"},"13.11":{t:"AUTO_PLAYBACK_MIN",p:"The minimum duration for the auto playback feature, in seconds ...",l:"en/advanced/global.html#auto-playback-min",a:"auto-playback-min"},"13.12":{t:"AUTO_PLAYBACK_TIMEOUT",p:"The delay duration for hiding the auto playback feature, in mi ...",l:"en/advanced/global.html#auto-playback-timeout",a:"auto-playback-timeout"},"13.13":{t:"RECONNECT_TIME_MAX",p:"The maximum number of automatic reconnection attempts when a c ...",l:"en/advanced/global.html#reconnect-time-max",a:"reconnect-time-max"},"13.14":{t:"RECONNECT_SLEEP_TIME",p:"The delay time for the automatic reconnection attempt when a c ...",l:"en/advanced/global.html#reconnect-sleep-time",a:"reconnect-sleep-time"},"13.15":{t:"CONTROL_HIDE_TIME",p:`... -Auto-hide delay time for the bottom control bar, measured ...`,l:"en/advanced/global.html#control-hide-time",a:"control-hide-time"},"13.16":{t:"DBCLICK_TIME",p:"Double-click event delay time, measured in milliseconds, defau ...",l:"en/advanced/global.html#dbclick-time",a:"dbclick-time"},"13.17":{t:"DBCLICK_FULLSCREEN",p:"On desktop, whether to switch to fullscreen on double click, d ...",l:"en/advanced/global.html#dbclick-fullscreen",a:"dbclick-fullscreen"},"13.18":{t:"MOBILE_DBCLICK_PLAY",p:"On mobile, whether to toggle play/pause on double click, defau ...",l:"en/advanced/global.html#mobile-dbclick-play",a:"mobile-dbclick-play"},"13.19":{t:"MOBILE_CLICK_PLAY",p:"On mobile, whether to play/pause on single click, default is f ...",l:"en/advanced/global.html#mobile-click-play",a:"mobile-click-play"},"13.20":{t:"AUTO_ORIENTATION_TIME",p:"On mobile devices, the delay time for auto-rotation, in millis ...",l:"en/advanced/global.html#auto-orientation-time",a:"auto-orientation-time"},"13.21":{t:"INFO_LOOP_TIME",p:"Info panel refresh time, unit in milliseconds, default is 1000 ...",l:"en/advanced/global.html#info-loop-time",a:"info-loop-time"},"13.22":{t:"FAST_FORWARD_VALUE",p:"On mobile, the multiplier rate of the speed when long-pressing ...",l:"en/advanced/global.html#fast-forward-value",a:"fast-forward-value"},"13.23":{t:"FAST_FORWARD_TIME",p:"The time, in milliseconds, to fast-forward when double-tapped, ...",l:"en/advanced/global.html#fast-forward-time",a:"fast-forward-time"},"13.24":{t:"TOUCH_MOVE_RATIO",p:"On mobile, the ratio of the speed of sliding left and right to ...",l:"en/advanced/global.html#touch-move-ratio",a:"touch-move-ratio"},"13.25":{t:"VOLUME_STEP",p:"The step ratio of adjusting volume with shortcuts, default is ...",l:"en/advanced/global.html#volume-step",a:"volume-step"},"13.26":{t:"SEEK_STEP",p:"The increment by which the playback progress is adjusted via k ...",l:"en/advanced/global.html#seek-step",a:"seek-step"},"13.27":{t:"PLAYBACK_RATE",p:"The list of built-in playback speeds, by default [0.5, 0.75, 1 ...",l:"en/advanced/global.html#playback-rate",a:"playback-rate"},"13.28":{t:"ASPECT_RATIO",p:"Built-in list of video aspect ratios, default is ['default', ' ...",l:"en/advanced/global.html#aspect-ratio",a:"aspect-ratio"},"13.29":{t:"FLIP",p:"Built-in list of video flips, defaults to ['normal', 'horizont ...",l:"en/advanced/global.html#flip",a:"flip"},"13.30":{t:"FULLSCREEN_WEB_IN_BODY",p:"When in web fullscreen, whether to mount the player under the ...",l:"en/advanced/global.html#fullscreen-web-in-body",a:"fullscreen-web-in-body"},"13.31":{t:"LOG_VERSION",p:"Setting whether to print the player version, the default is tr ...",l:"en/advanced/global.html#log-version",a:"log-version"},"13.32":{t:"USE_RAF",p:"Setting whether to use requestAnimationFrame, the default is f ...",l:"en/advanced/global.html#use-raf",a:"use-raf"},"14.0":{t:"# Writing Plugins",p:"Once you know the player's properties, methods, and events, wr ...",l:"en/advanced/plugin.html",a:"writing-plugins"},"15.0":{t:"# Instance Properties",p:"Here, instance properties refer to the primary properties moun ...",l:"en/advanced/property.html",a:"instance-properties"},"15.1":{t:"`play`",p:` -Type: Function - -Play video -<div className="run-code&q ...`,l:"en/advanced/property.html#play",a:"play"},"15.2":{t:"`pause`",p:` -Type: Function - -Pause video -<div className="run-code& ...`,l:"en/advanced/property.html#pause",a:"pause"},"15.3":{t:"`toggle`",p:` -Type: Function - -Toggle the play and pause state of the video - ...`,l:"en/advanced/property.html#toggle",a:"toggle"},"15.4":{t:"`destroy`",p:` -Type: Function -Parameter: Boolean - -Destroy the player. Accept ...`,l:"en/advanced/property.html#destroy",a:"destroy"},"15.5":{t:"`seek`",p:` -Type: Setter -Parameter: Number - -Jump to a specific time in th ...`,l:"en/advanced/property.html#seek",a:"seek"},"15.6":{t:"`forward`",p:` -Type: Setter -Parameter: Number - -Fast forward the video time, ...`,l:"en/advanced/property.html#forward",a:"forward"},"15.7":{t:"`backward`",p:` -Type: Setter -Parameter: Number - -Video rewind time in seconds - ...`,l:"en/advanced/property.html#backward",a:"backward"},"15.8":{t:"`volume`",p:` -Type: Setter/Getter -Parameter: Number - -Sets and gets the vide ...`,l:"en/advanced/property.html#volume",a:"volume"},"15.9":{t:"`url`",p:` -Type: Setter/Getter -Parameter: String - -Set and retrieve the v ...`,l:"en/advanced/property.html#url",a:"url"},"15.10":{t:"`switch`",p:` -Type: Setter -Parameter: String - -Set the video address, which ...`,l:"en/advanced/property.html#switch",a:"switch"},"15.11":{t:"`switchUrl`",p:` -Type: Function -Parameter: String - -Set the video address, simi ...`,l:"en/advanced/property.html#switchurl",a:"switchurl"},"15.12":{t:"`switchQuality`",p:` -Type: Function -Parameter: String - -Set video quality address, ...`,l:"en/advanced/property.html#switchquality",a:"switchquality"},"15.13":{t:"`muted`",p:` -Type: Setter/Getter -Parameter: Boolean - -Set and get whether t ...`,l:"en/advanced/property.html#muted",a:"muted"},"15.14":{t:"`currentTime`",p:` -Type: Setter/Getter -Parameter: Number - -Set and get the curren ...`,l:"en/advanced/property.html#currenttime",a:"currenttime"},"15.15":{t:"`duration`",p:` -Type: Getter - -Get the video duration -<div className=" ...`,l:"en/advanced/property.html#duration",a:"duration"},"15.16":{t:"`screenshot`",p:` -Type: Function - -Download a screenshot of the current video fr ...`,l:"en/advanced/property.html#screenshot",a:"screenshot"},"15.17":{t:"`getDataURL`",p:` -Type: Function - -Gets the base64 address of the screenshot of ...`,l:"en/advanced/property.html#getdataurl",a:"getdataurl"},"15.18":{t:"`getBlobUrl`",p:` -Type: Function - -Gets the blob address of the screenshot of th ...`,l:"en/advanced/property.html#getbloburl",a:"getbloburl"},"15.19":{t:"`fullscreen`",p:` -Type: Setter/Getter -Parameter: Boolean - -Set and get the playe ...`,l:"en/advanced/property.html#fullscreen",a:"fullscreen"},"15.20":{t:"`fullscreenWeb`",p:` -Type: Setter/Getter -Parameter: Boolean - -Set and get the playe ...`,l:"en/advanced/property.html#fullscreenweb",a:"fullscreenweb"},"15.21":{t:"`pip`",p:` -Type: Setter/Getter -Parameter: Boolean - -Set and get the playe ...`,l:"en/advanced/property.html#pip",a:"pip"},"15.22":{t:"`poster`",p:` -Type: Setter/Getter -Parameter: String - -Set and get the video ...`,l:"en/advanced/property.html#poster",a:"poster"},"15.23":{t:"`mini`",p:` -Type: Setter/Getter -Parameter: Boolean - -Set and get the playe ...`,l:"en/advanced/property.html#mini",a:"mini"},"15.24":{t:"`playing`",p:` -Type: Getter -Parameter: Boolean - -Get whether the video is cur ...`,l:"en/advanced/property.html#playing",a:"playing"},"15.25":{t:"`autoSize`",p:` -Type: Function - -Sets whether the video should auto adjust its ...`,l:"en/advanced/property.html#autosize",a:"autosize"},"15.26":{t:"`rect`",p:` -Type: Getter - -Gets the size and position information of the p ...`,l:"en/advanced/property.html#rect",a:"rect"},"15.27":{t:"`flip`",p:` -Type: Setter/Getter -Parameter: String - -Set and get the player ...`,l:"en/advanced/property.html#flip",a:"flip"},"15.28":{t:"`playbackRate`",p:` -Type: Setter/Getter -Parameter: Number -Set and get the playbac ...`,l:"en/advanced/property.html#playbackrate",a:"playbackrate"},"15.29":{t:"`aspectRatio`",p:` -Type: Setter/Getter -Parameter: String - -Set and get the aspect ...`,l:"en/advanced/property.html#aspectratio",a:"aspectratio"},"15.30":{t:"`autoHeight`",p:` -Type: Function - -When the container has only width, this attri ...`,l:"en/advanced/property.html#autoheight",a:"autoheight"},"15.31":{t:"`attr`",p:` -Type: Function -Parameter: String - -Dynamically get and set the ...`,l:"en/advanced/property.html#attr",a:"attr"},"15.32":{t:"`type`",p:` -Type: Setter/Getter -Parameter: String - -Dynamically get and se ...`,l:"en/advanced/property.html#type",a:"type"},"15.33":{t:"`theme`",p:` -Type: Setter/Getter -Parameter: String - -Dynamically get and se ...`,l:"en/advanced/property.html#theme",a:"theme"},"15.34":{t:"`airplay`",p:` -Type: Function - -Activate airplay -<div className="run- ...`,l:"en/advanced/property.html#airplay",a:"airplay"},"15.35":{t:"`loaded`",p:` -Type: Getter - -The proportion of the video that is cached, ran ...`,l:"en/advanced/property.html#loaded",a:"loaded"},"15.36":{t:"`played`",p:` -Type: Getter - -The proportion of the video that has been playe ...`,l:"en/advanced/property.html#played",a:"played"},"15.37":{t:"`proxy`",p:` -Type: Function - -A proxy function for DOM events, which essent ...`,l:"en/advanced/property.html#proxy",a:"proxy"},"15.38":{t:"`query`",p:` -Type: Function - -DOM query function, similar to document.query ...`,l:"en/advanced/property.html#query",a:"query"},"15.39":{t:"`video`",p:` -Type: Element - -A shortcut to return the video element of the ...`,l:"en/advanced/property.html#video",a:"video"},"15.40":{t:"`cssVar`",p:` -Type: Function - -Dynamically getting or setting css variables - ...`,l:"en/advanced/property.html#cssvar",a:"cssvar"},"15.41":{t:"`quality`",p:` -Type: Setter -Parameter: Array - -Dynamically setting the list o ...`,l:"en/advanced/property.html#quality",a:"quality"},"16.0":{t:"# Context Menu",p:"",l:"en/component/contextmenu.html",a:"context-menu"},"16.1":{t:"Configuration",p:` - - -Property -Type -Description - - - - -disable -Boolean -Whether to di ...`,l:"en/component/contextmenu.html#configuration",a:"configuration"},"16.2":{t:"Creation",p:"<div className="run-code">▶ Run Code</div&g ...",l:"en/component/contextmenu.html#creation",a:"creation"},"16.3":{t:"Add",p:"<div className="run-code">▶ Run Code</div&g ...",l:"en/component/contextmenu.html#add",a:"add"},"16.4":{t:"Delete",p:"<div className="run-code">▶ Run Code</div&g ...",l:"en/component/contextmenu.html#delete",a:"delete"},"16.5":{t:"Updates",p:"<div className="run-code">▶ Run Code</div&g ...",l:"en/component/contextmenu.html#updates",a:"updates"},"17.0":{t:"# Controller",p:"",l:"en/component/controls.html",a:"controller"},"17.1":{t:"Configuration",p:` - - -Property -Type -Description - - - - -disable -Boolean -Whether to di ...`,l:"en/component/controls.html#configuration",a:"configuration"},"17.2":{t:"Creation",p:"<div className="run-code">▶ Run Code</div&g ...",l:"en/component/controls.html#creation",a:"creation"},"17.3":{t:"Adding",p:"<div className="run-code">▶ Run Code</div&g ...",l:"en/component/controls.html#adding",a:"adding"},"17.4":{t:"Delete",p:"<div className="run-code">▶ Run Code</div&g ...",l:"en/component/controls.html#delete",a:"delete"},"17.5":{t:"Update",p:"<div className="run-code">▶ Run Code</div&g ...",l:"en/component/controls.html#update",a:"update"},"18.0":{t:"# Layer",p:"",l:"en/component/layers.html",a:"layer"},"18.1":{t:"Configuration",p:` - - -Property -Type -Description - - - - -disable -Boolean -Whether to di ...`,l:"en/component/layers.html#configuration",a:"configuration"},"18.2":{t:"Creation",p:"<div className="run-code">▶ Run Code</div&g ...",l:"en/component/layers.html#creation",a:"creation"},"18.3":{t:"Add",p:"<div className="run-code">▶ Run Code</div&g ...",l:"en/component/layers.html#add",a:"add"},"18.4":{t:"Delete",p:"<div className="run-code">▶ Run Code</div&g ...",l:"en/component/layers.html#delete",a:"delete"},"18.5":{t:"Update",p:"<div className="run-code">▶ Run Code</div&g ...",l:"en/component/layers.html#update",a:"update"},"19.0":{t:"# Settings Panel",p:"",l:"en/component/setting.html",a:"settings-panel"},"19.1":{t:"Built-in",p:"First, open the settings panel, and then it comes with four bu ...",l:"en/component/setting.html#built-in",a:"built-in"},"19.2":{t:"Create - Selection List",p:` - - -Property -Type -Description - - - - -html -String, Element -Element' ...`,l:"en/component/setting.html#create-selection-list",a:"create-selection-list"},"19.3":{t:"Creating - Nested Lists",p:"<div className="run-code">▶ Run Code</div&g ...",l:"en/component/setting.html#creating-nested-lists",a:"creating-nested-lists"},"19.4":{t:"Create - Toggle Button",p:` - - -Property -Type -Description - - - - -html -String, Element -Element' ...`,l:"en/component/setting.html#create-toggle-button",a:"create-toggle-button"},"19.5":{t:"Create - Range Slider",p:` - - -Attribute -Type -Description - - - - -html -String, Element -The ele ...`,l:"en/component/setting.html#create-range-slider",a:"create-range-slider"},"19.6":{t:"Add",p:"<div className="run-code">▶ Run Code</div&g ...",l:"en/component/setting.html#add",a:"add"},"19.7":{t:"Delete",p:"<div className="run-code">▶ Run Code</div&g ...",l:"en/component/setting.html#delete",a:"delete"},"19.8":{t:"Updates",p:"<div className="run-code">▶ Run Code</div&g ...",l:"en/component/setting.html#updates",a:"updates"},"20.0":{t:"# Installation and Usage",p:"",l:"en/index.html",a:"installation-and-usage"},"20.1":{t:"Installation",p:`::: code-group -npm install artplayer - -yarn add artplayer - -pnpm ...`,l:"en/index.html#installation",a:"installation"},"20.2":{t:"`CDN`",p:`::: code-group -https://cdn.jsdelivr.net/npm/artplayer/dist/art ...`,l:"en/index.html#cdn",a:"cdn"},"20.3":{t:"Usage",p:`::: code-group -import Artplayer from 'artplayer'; - -const art = ...`,l:"en/index.html#usage",a:"usage"},"20.4":{t:"`Vue.js`",p:`::: code-group -<template> - <div ref="artRef&quo ...`,l:"en/index.html#vue-js",a:"vue-js"},"20.5":{t:"`React.js`",p:`::: code-group -import { useEffect, useRef } from 'react'; -impo ...`,l:"en/index.html#react-js",a:"react-js"},"20.6":{t:"TypeScript",p:`Importing Artplayer will automatically import artplayer.d.ts -`,l:"en/index.html#typescript",a:"typescript"},"20.7":{t:"Vue.js",p:` - -`,l:"en/index.html#vue-js",a:"vue-js"},"20.8":{t:"React.js",p:`import Artplayer from 'artplayer'; -const art = useRef<Artpl ...`,l:"en/index.html#react-js",a:"react-js"},"20.9":{t:"Option",p:`you can also separately import the type for options -import Art ...`,l:"en/index.html#option",a:"option"},"20.10":{t:"JavaScript",p:"Sometimes your js file may lose the TypeScript type hints, in ...",l:"en/index.html#javascript",a:"javascript"},"20.11":{t:"Ancient Browsers",p:"The production build of artplayer.js is only compatible with t ...",l:"en/index.html#ancient-browsers",a:"ancient-browsers"},"21.0":{t:"# dash.js",p:`👉 https://github.com/Dash-Industry-Forum/dash.js -<div clas ...`,l:"en/library/dash.html",a:"dash-js"},"22.0":{t:"# flv.js",p:`👉 https://github.com/Bilibili/flv.js -<div className=" ...`,l:"en/library/flv.html",a:"flv-js"},"23.0":{t:"# hls.js",p:`👉 https://github.com/video-dev/hls.js -<div className=" ...`,l:"en/library/hls.html",a:"hls-js"},"24.0":{t:"# Video Ads",p:"",l:"en/plugin/ads.html",a:"video-ads"},"24.1":{t:"Demo",p:`👉 View Full Demo -`,l:"en/plugin/ads.html#demo",a:"demo"},"24.2":{t:"Installation",p:`::: code-group -npm install artplayer-plugin-ads - -yarn add artp ...`,l:"en/plugin/ads.html#installation",a:"installation"},"24.3":{t:"CDN",p:`::: code-group -https://cdn.jsdelivr.net/npm/artplayer-plugin-a ...`,l:"en/plugin/ads.html#cdn",a:"cdn"},"24.4":{t:"Usage",p:"<div className="run-code" data-libs="./uncom ...",l:"en/plugin/ads.html#usage",a:"usage"},"25.0":{t:"# 弹幕库",p:"",l:"en/plugin/danmuku.html",a:"弹幕库"},"25.1":{t:"演示",p:`👉 查看完整演示 -`,l:"en/plugin/danmuku.html#演示",a:"演示"},"25.2":{t:"安装",p:`::: code-group -npm install artplayer-plugin-danmuku - -yarn add ...`,l:"en/plugin/danmuku.html#安装",a:"安装"},"25.3":{t:"CDN",p:`::: code-group -https://cdn.jsdelivr.net/npm/artplayer-plugin-d ...`,l:"en/plugin/danmuku.html#cdn",a:"cdn"},"25.4":{t:"弹幕结构",p:`每一个弹幕是一个对象,多个弹幕组成的数组就是弹幕源,通常只需要text就可以发送一个弹幕,其余都是非必要参数 -{ - t ...`,l:"en/plugin/danmuku.html#弹幕结构",a:"弹幕结构"},"25.5":{t:"全部选项",p:`只有danmuku是必须的参数,其余都是非必填 -{ - danmuku: [], // 弹幕源 - speed: 5 ...`,l:"en/plugin/danmuku.html#全部选项",a:"全部选项"},"25.6":{t:"生命周期",p:`来自用户输入的弹幕: -beforeEmit -> filter -> beforeVisible -> a ...`,l:"en/plugin/danmuku.html#生命周期",a:"生命周期"},"25.7":{t:"使用弹幕数组",p:"<div className="run-code" data-libs="./uncom ...",l:"en/plugin/danmuku.html#使用弹幕数组",a:"使用弹幕数组"},"25.8":{t:"使用弹幕 XML",p:`弹幕 XML 文件,和 Bilibili 网站的弹幕格式一致 -<div className="run-cod ...`,l:"en/plugin/danmuku.html#使用弹幕-xml",a:"使用弹幕-xml"},"25.9":{t:"使用异步返回",p:"<div className="run-code" data-libs="./uncom ...",l:"en/plugin/danmuku.html#使用异步返回",a:"使用异步返回"},"25.10":{t:"`hide/show`",p:`通过方法 hide 和 show 进行隐藏或者显示弹幕 -<div className="run-code&q ...`,l:"en/plugin/danmuku.html#hide-show",a:"hide-show"},"25.11":{t:"`isHide`",p:`通过属性 isHide 判断当前弹幕是隐藏或者显示 -<div className="run-code&quo ...`,l:"en/plugin/danmuku.html#ishide",a:"ishide"},"25.12":{t:"`emit`",p:`通过方法 emit 发送一条实时弹幕 -<div className="run-code" data ...`,l:"en/plugin/danmuku.html#emit",a:"emit"},"25.13":{t:"`config`",p:`通过方法 config 实时改变弹幕配置 -<div className="run-code" da ...`,l:"en/plugin/danmuku.html#config",a:"config"},"25.14":{t:"`load`",p:`通过 load 方法可以重载弹幕源,或者切换新弹幕 -<div className="run-code&quo ...`,l:"en/plugin/danmuku.html#load",a:"load"},"25.15":{t:"`reset`",p:`用于清空当前显示的弹幕 -<div className="run-code" data-libs=& ...`,l:"en/plugin/danmuku.html#reset",a:"reset"},"25.16":{t:"`mount`",p:`在初始化弹幕插件的时候,是可以指定弹幕发射器的挂载位置的,默认是挂载在控制栏的中部,你也可以把它挂载在播放器以外的地方。 -当 ...`,l:"en/plugin/danmuku.html#mount",a:"mount"},"25.17":{t:"`option`",p:`用于获取当前弹幕配置 -<div className="run-code" data-libs=&q ...`,l:"en/plugin/danmuku.html#option",a:"option"},"25.18":{t:"事件",p:"<div className="run-code" data-libs="./uncom ...",l:"en/plugin/danmuku.html#事件",a:"事件"},"26.0":{t:"# Dash Video Quality",p:"",l:"en/plugin/dash-quality.html",a:"dash-video-quality"},"26.1":{t:"Demo",p:`👉 View the full demo -`,l:"en/plugin/dash-quality.html#demo",a:"demo"},"26.2":{t:"Installation",p:`::: code-group -npm install artplayer-plugin-dash-quality - -yarn ...`,l:"en/plugin/dash-quality.html#installation",a:"installation"},"26.3":{t:"CDN",p:`::: code-group -https://cdn.jsdelivr.net/npm/artplayer-plugin-d ...`,l:"en/plugin/dash-quality.html#cdn",a:"cdn"},"27.0":{t:"# HLS Quality",p:"",l:"en/plugin/hls-quality.html",a:"hls-quality"},"27.1":{t:"Demonstration",p:`👉 View the full demo -`,l:"en/plugin/hls-quality.html#demonstration",a:"demonstration"},"27.2":{t:"Installation",p:`::: code-group -npm install artplayer-plugin-hls-quality - -yarn ...`,l:"en/plugin/hls-quality.html#installation",a:"installation"},"27.3":{t:"CDN",p:`::: code-group -https://cdn.jsdelivr.net/npm/artplayer-plugin-h ...`,l:"en/plugin/hls-quality.html#cdn",a:"cdn"},"28.0":{t:"# Iframe Control",p:"",l:"en/plugin/iframe.html",a:"iframe-control"},"28.1":{t:"Description",p:"With this plugin, you can easily control the player inside the ...",l:"en/plugin/iframe.html#description",a:"description"},"28.2":{t:"Demonstration",p:`👉 View full demonstration -`,l:"en/plugin/iframe.html#demonstration",a:"demonstration"},"28.3":{t:"Installation",p:`::: code-group -npm install artplayer-plugin-iframe - -yarn add a ...`,l:"en/plugin/iframe.html#installation",a:"installation"},"28.4":{t:"`CDN`",p:`::: code-group -https://cdn.jsdelivr.net/npm/artplayer-plugin-i ...`,l:"en/plugin/iframe.html#cdn",a:"cdn"},"28.5":{t:"Usage",p:`::: code-group -<!DOCTYPE html> -<html> - <head ...`,l:"en/plugin/iframe.html#usage",a:"usage"},"28.6":{t:"`index.html` Interface",p:"",l:"en/plugin/iframe.html#index-html-interface",a:"index-html-interface"},"28.7":{t:"`commit`",p:"Push messages from index.html to iframe.html. This function wi ...",l:"en/plugin/iframe.html#commit",a:"commit"},"28.8":{t:"`message`",p:`Receive messages from iframe.html in index.html -iframe.message ...`,l:"en/plugin/iframe.html#message",a:"message"},"28.9":{t:"`destroy`",p:"After destruction, index.html can no longer communicate with i ...",l:"en/plugin/iframe.html#destroy",a:"destroy"},"28.10":{t:"`iframe.html` Interface",p:`:::warning Warning -The iframe.html interface can only run insi ...`,l:"en/plugin/iframe.html#iframe-html-interface",a:"iframe-html-interface"},"28.11":{t:"`inject`",p:`Inject a script, receive messages from index.html -ArtplayerPlu ...`,l:"en/plugin/iframe.html#inject",a:"inject"},"28.12":{t:"`postMessage`",p:`Push messages to index.html -iframe.message((event) => { - ...`,l:"en/plugin/iframe.html#postmessage",a:"postmessage"},"28.13":{t:"例子",p:"最常遇到的问题是,播放器在 iframe.html 里进行网页全屏,但在 index.html 是不生效的,这时候只要监听 ...",l:"en/plugin/iframe.html#例子",a:"例子"},"29.0":{t:"# Language Settings",p:`::: danger -Given the increasing number of bundled multilingual ...`,l:"en/start/i18n.html",a:"language-settings"},"29.1":{t:"Default Languages",p:"The default languages are: en, zh-cn, which do not require man ...",l:"en/start/i18n.html#default-languages",a:"default-languages"},"29.2":{t:"Importing Languages",p:"Language files before packaging are located in: artplayer/src/ ...",l:"en/start/i18n.html#importing-languages",a:"importing-languages"},"29.3":{t:"Add Language",p:`var art = new Artplayer({ - container: '.artplayer-app', - ...`,l:"en/start/i18n.html#add-language",a:"add-language"},"29.4":{t:"Modify Language",p:`import zhTw from 'artplayer/i18n/zh-tw.js'; - -var art = new Art ...`,l:"en/start/i18n.html#modify-language",a:"modify-language"},"30.0":{t:"# Basic Options",p:"",l:"en/start/option.html",a:"basic-options"},"30.1":{t:"`container`",p:` -Type: String, Element -Default: #artplayer - -The DOM container ...`,l:"en/start/option.html#container",a:"container"},"30.2":{t:"`url`",p:` -Type: String -Default: '' - -The video source address -<div cl ...`,l:"en/start/option.html#url",a:"url"},"30.3":{t:"`id`",p:` -Type: String -Default: '' - -The unique identifier of the player ...`,l:"en/start/option.html#id",a:"id"},"30.4":{t:"`onReady`",p:` -Type: Function -Default: undefined - -The constructor accepts a ...`,l:"en/start/option.html#onready",a:"onready"},"30.5":{t:"`poster`",p:` -Type: String -Default: '' - -The poster of the video, which only ...`,l:"en/start/option.html#poster",a:"poster"},"30.6":{t:"`theme`",p:` -Type: String -Default: #f00 - -Player theme color, currently use ...`,l:"en/start/option.html#theme",a:"theme"},"30.7":{t:"`volume`",p:` -Type: Number -Default: 0.7 - -The default volume of the player -& ...`,l:"en/start/option.html#volume",a:"volume"},"30.8":{t:"`isLive`",p:` -Type: Boolean -Default: false - -Use live mode, which will hide ...`,l:"en/start/option.html#islive",a:"islive"},"30.9":{t:"`muted`",p:` -Type: Boolean -Default: false - -Whether to mute by default -< ...`,l:"en/start/option.html#muted",a:"muted"},"30.10":{t:"`autoplay`",p:` -Type: Boolean -Default: false - -Whether to play automatically - - ...`,l:"en/start/option.html#autoplay",a:"autoplay"},"30.11":{t:"`autoSize`",p:` -Type: Boolean -Default: false - -The size of the player will by ...`,l:"en/start/option.html#autosize",a:"autosize"},"30.12":{t:"`autoMini`",p:` -Type: Boolean -Default: false - -Automatically enter mini mode w ...`,l:"en/start/option.html#automini",a:"automini"},"30.13":{t:"`loop`",p:` -Type: Boolean -Default: false - -Whether to loop the video -<d ...`,l:"en/start/option.html#loop",a:"loop"},"30.14":{t:"`flip`",p:` -Type: Boolean -Default: false - -Whether to show the video flip ...`,l:"en/start/option.html#flip",a:"flip"},"30.15":{t:"`playbackRate`",p:` -Type: Boolean -Default: false - -Whether to show the playback sp ...`,l:"en/start/option.html#playbackrate",a:"playbackrate"},"30.16":{t:"`aspectRatio`",p:` -Type: Boolean -Default: false - -Displays the video aspect ratio ...`,l:"en/start/option.html#aspectratio",a:"aspectratio"},"30.17":{t:"`screenshot`",p:` -Type: Boolean -Default: false - -Whether to show the screenshot ...`,l:"en/start/option.html#screenshot",a:"screenshot"},"30.18":{t:"`setting`",p:` -Type: Boolean -Default: false - -Display the toggle button for t ...`,l:"en/start/option.html#setting",a:"setting"},"30.19":{t:"`hotkey`",p:` -Type: Boolean -Default: true - -Whether to use hotkeys -<div c ...`,l:"en/start/option.html#hotkey",a:"hotkey"},"30.20":{t:"`pip`",p:` -Type: Boolean -Default: false -Show the Picture in Picture swit ...`,l:"en/start/option.html#pip",a:"pip"},"30.21":{t:"`mutex`",p:` -Type: Boolean -Default: true - -If there are multiple players on ...`,l:"en/start/option.html#mutex",a:"mutex"},"30.22":{t:"`fullscreen`",p:` -Type: Boolean -Default: false -Display the Window Fullscreen bu ...`,l:"en/start/option.html#fullscreen",a:"fullscreen"},"30.23":{t:"`fullscreenWeb`",p:` -Type: Boolean -Default: false - -Display the Web Fullscreen butt ...`,l:"en/start/option.html#fullscreenweb",a:"fullscreenweb"},"30.24":{t:"`subtitleOffset`",p:` - -Type: Boolean - - -Default: false - - -Subtitle time offset, the r ...`,l:"en/start/option.html#subtitleoffset",a:"subtitleoffset"},"30.25":{t:"`miniProgressBar`",p:` -Type: Boolean -Default: false - -Mini progress bar, only appears ...`,l:"en/start/option.html#miniprogressbar",a:"miniprogressbar"},"30.26":{t:"`useSSR`",p:` -Type: Boolean -Default: false - -Whether to use SSR (Server-Side ...`,l:"en/start/option.html#usessr",a:"usessr"},"30.27":{t:"`playsInline`",p:` -Type: Boolean -Default: true - -Whether to use playsInline mode ...`,l:"en/start/option.html#playsinline",a:"playsinline"},"30.28":{t:"`layers`",p:` -Type: Array -Default: [] - -Initializes custom layers -<div cl ...`,l:"en/start/option.html#layers",a:"layers"},"30.29":{t:"`settings`",p:` -Type: Array -Default: [] - -Initializes custom settings panel -&l ...`,l:"en/start/option.html#settings",a:"settings"},"30.30":{t:"`contextmenu`",p:` -Type: Array -Default: [] - -Initialize custom context menu -<d ...`,l:"en/start/option.html#contextmenu",a:"contextmenu"},"30.31":{t:"`controls`",p:` -Type: Array -Default: [] - -Initializes custom bottom control ba ...`,l:"en/start/option.html#controls",a:"controls"},"30.32":{t:"`quality`",p:` -Type: Array -Default: [] - -Whether to show the quality selectio ...`,l:"en/start/option.html#quality",a:"quality"},"30.33":{t:"`highlight`",p:` -Type: Array -Default: [] - -Show highlight information on the pr ...`,l:"en/start/option.html#highlight",a:"highlight"},"30.34":{t:"`plugins`",p:` -Type: Array -Default: [] - -Initialize custom plugins -<div cl ...`,l:"en/start/option.html#plugins",a:"plugins"},"30.35":{t:"`thumbnails`",p:` -Type: Object -Default: {} - -Set thumbnails on the progress bar - ...`,l:"en/start/option.html#thumbnails",a:"thumbnails"},"30.36":{t:"`subtitle`",p:` -Type: Object -Default: {} - -Set the video subtitles, supporting ...`,l:"en/start/option.html#subtitle",a:"subtitle"},"30.37":{t:"`moreVideoAttr`",p:` -Type: Object -Default: {'controls': false, 'preload': 'metadat ...`,l:"en/start/option.html#morevideoattr",a:"morevideoattr"},"30.38":{t:"`icons`",p:` -Type: Object -Default: {} - -Used to replace default icons, supp ...`,l:"en/start/option.html#icons",a:"icons"},"30.39":{t:"`type`",p:` -Type: String -Default: '' - -Used to specify the format of the v ...`,l:"en/start/option.html#type",a:"type"},"30.40":{t:"`customType`",p:` -Type: Object -Default: {} - -Matches the video's type to delegat ...`,l:"en/start/option.html#customtype",a:"customtype"},"30.41":{t:"`lang`",p:` -Type: String -Default: navigator.language.toLowerCase() - -Defau ...`,l:"en/start/option.html#lang",a:"lang"},"30.42":{t:"`i18n`",p:` -Type: Object -Default: {} - -Custom i18n configuration, which wi ...`,l:"en/start/option.html#i18n",a:"i18n"},"30.43":{t:"`lock`",p:` -Type: Boolean -Default: false - -Whether to display a lock butto ...`,l:"en/start/option.html#lock",a:"lock"},"30.44":{t:"`fastForward`",p:` -Type: Boolean -Default: false - -Whether to add fast forward fun ...`,l:"en/start/option.html#fastforward",a:"fastforward"},"30.45":{t:"`autoPlayback`",p:` -Type: Boolean -Default: false - -Whether to use the automatic pl ...`,l:"en/start/option.html#autoplayback",a:"autoplayback"},"30.46":{t:"`autoOrientation`",p:` -Type: Boolean -Default: false - -Whether to rotate the player on ...`,l:"en/start/option.html#autoorientation",a:"autoorientation"},"30.47":{t:"`airplay`",p:` -Type: Boolean -Default: false - -Whether to display the airplay ...`,l:"en/start/option.html#airplay",a:"airplay"},"30.48":{t:"`cssVar`",p:` -Type: Object -Default: {} - -Used to change built-in CSS variabl ...`,l:"en/start/option.html#cssvar",a:"cssvar"},"31.0":{t:"# 安装使用",p:"",l:"index.html",a:"安装使用"},"31.1":{t:"安装",p:`::: code-group -npm install artplayer - -yarn add artplayer - -pnpm ...`,l:"index.html#安装",a:"安装"},"31.2":{t:"`CDN`",p:`::: code-group -https://cdn.jsdelivr.net/npm/artplayer/dist/art ...`,l:"index.html#cdn",a:"cdn"},"31.3":{t:"使用",p:`::: code-group -import Artplayer from 'artplayer'; - -const art = ...`,l:"index.html#使用",a:"使用"},"31.4":{t:"`Vue.js`",p:`::: code-group -<template> - <div ref="artRef&quo ...`,l:"index.html#vue-js",a:"vue-js"},"31.5":{t:"`React.js`",p:`::: code-group -import { useEffect, useRef } from 'react'; -impo ...`,l:"index.html#react-js",a:"react-js"},"31.6":{t:"TypeScript",p:`导入 Artplayer 时会自动导入的 artplayer.d.ts -`,l:"index.html#typescript",a:"typescript"},"31.7":{t:"Vue.js",p:` - -`,l:"index.html#vue-js",a:"vue-js"},"31.8":{t:"React.js",p:`import Artplayer from 'artplayer'; -const art = useRef<Artpl ...`,l:"index.html#react-js",a:"react-js"},"31.9":{t:"Option",p:`你也可以单独导入选项的类型 -import Artplayer from 'artplayer'; -import { type ...`,l:"index.html#option",a:"option"},"31.10":{t:"JavaScript",p:`有时你的 js 文件会丢失 TypeScript 的类型提示,这时候你可以手动导入类型 -变量: -/** - * @type { ...`,l:"index.html#javascript",a:"javascript"},"31.11":{t:"古老的浏览器",p:`生产构建的 artplayer.js 只兼容最新一个主版本的 Chrome:last 1 Chrome version -对于 ...`,l:"index.html#古老的浏览器",a:"古老的浏览器"},"32.0":{t:"# dash.js",p:`👉 https://github.com/Dash-Industry-Forum/dash.js -<div clas ...`,l:"library/dash.html",a:"dash-js"},"33.0":{t:"# flv.js",p:`👉 https://github.com/Bilibili/flv.js -<div className=" ...`,l:"library/flv.html",a:"flv-js"},"34.0":{t:"# hls.js",p:`👉 https://github.com/video-dev/hls.js -<div className=" ...`,l:"library/hls.html",a:"hls-js"},"35.0":{t:"# 视频广告",p:"",l:"plugin/ads.html",a:"视频广告"},"35.1":{t:"演示",p:`👉 查看完整演示 -`,l:"plugin/ads.html#演示",a:"演示"},"35.2":{t:"安装",p:`::: code-group -npm install artplayer-plugin-ads - -yarn add artp ...`,l:"plugin/ads.html#安装",a:"安装"},"35.3":{t:"CDN",p:`::: code-group -https://cdn.jsdelivr.net/npm/artplayer-plugin-a ...`,l:"plugin/ads.html#cdn",a:"cdn"},"35.4":{t:"使用",p:"<div className="run-code" data-libs="./uncom ...",l:"plugin/ads.html#使用",a:"使用"},"36.0":{t:"# 弹幕库",p:"",l:"plugin/danmuku.html",a:"弹幕库"},"36.1":{t:"演示",p:`👉 查看完整演示 -`,l:"plugin/danmuku.html#演示",a:"演示"},"36.2":{t:"安装",p:`::: code-group -npm install artplayer-plugin-danmuku - -yarn add ...`,l:"plugin/danmuku.html#安装",a:"安装"},"36.3":{t:"CDN",p:`::: code-group -https://cdn.jsdelivr.net/npm/artplayer-plugin-d ...`,l:"plugin/danmuku.html#cdn",a:"cdn"},"36.4":{t:"弹幕结构",p:`每一个弹幕是一个对象,多个弹幕组成的数组就是弹幕源,通常只需要text就可以发送一个弹幕,其余都是非必要参数 -{ - t ...`,l:"plugin/danmuku.html#弹幕结构",a:"弹幕结构"},"36.5":{t:"全部选项",p:`只有danmuku是必须的参数,其余都是非必填 -{ - danmuku: [], // 弹幕源 - speed: 5 ...`,l:"plugin/danmuku.html#全部选项",a:"全部选项"},"36.6":{t:"生命周期",p:`来自用户输入的弹幕: -beforeEmit -> filter -> beforeVisible -> a ...`,l:"plugin/danmuku.html#生命周期",a:"生命周期"},"36.7":{t:"使用弹幕数组",p:"<div className="run-code" data-libs="./uncom ...",l:"plugin/danmuku.html#使用弹幕数组",a:"使用弹幕数组"},"36.8":{t:"使用弹幕 XML",p:`弹幕 XML 文件,和 Bilibili 网站的弹幕格式一致 -<div className="run-cod ...`,l:"plugin/danmuku.html#使用弹幕-xml",a:"使用弹幕-xml"},"36.9":{t:"使用异步返回",p:"<div className="run-code" data-libs="./uncom ...",l:"plugin/danmuku.html#使用异步返回",a:"使用异步返回"},"36.10":{t:"`hide/show`",p:`通过方法 hide 和 show 进行隐藏或者显示弹幕 -<div className="run-code&q ...`,l:"plugin/danmuku.html#hide-show",a:"hide-show"},"36.11":{t:"`isHide`",p:`通过属性 isHide 判断当前弹幕是隐藏或者显示 -<div className="run-code&quo ...`,l:"plugin/danmuku.html#ishide",a:"ishide"},"36.12":{t:"`emit`",p:`通过方法 emit 发送一条实时弹幕 -<div className="run-code" data ...`,l:"plugin/danmuku.html#emit",a:"emit"},"36.13":{t:"`config`",p:`通过方法 config 实时改变弹幕配置 -<div className="run-code" da ...`,l:"plugin/danmuku.html#config",a:"config"},"36.14":{t:"`load`",p:`通过 load 方法可以重载弹幕源,或者切换新弹幕 -<div className="run-code&quo ...`,l:"plugin/danmuku.html#load",a:"load"},"36.15":{t:"`reset`",p:`用于清空当前显示的弹幕 -<div className="run-code" data-libs=& ...`,l:"plugin/danmuku.html#reset",a:"reset"},"36.16":{t:"`mount`",p:`在初始化弹幕插件的时候,是可以指定弹幕发射器的挂载位置的,默认是挂载在控制栏的中部,你也可以把它挂载在播放器以外的地方。 -当 ...`,l:"plugin/danmuku.html#mount",a:"mount"},"36.17":{t:"`option`",p:`用于获取当前弹幕配置 -<div className="run-code" data-libs=&q ...`,l:"plugin/danmuku.html#option",a:"option"},"36.18":{t:"事件",p:"<div className="run-code" data-libs="./uncom ...",l:"plugin/danmuku.html#事件",a:"事件"},"37.0":{t:"# Dash 画质",p:"",l:"plugin/dash-quality.html",a:"dash-画质"},"37.1":{t:"演示",p:`👉 查看完整演示 -`,l:"plugin/dash-quality.html#演示",a:"演示"},"37.2":{t:"安装",p:`::: code-group -npm install artplayer-plugin-dash-quality - -yarn ...`,l:"plugin/dash-quality.html#安装",a:"安装"},"37.3":{t:"CDN",p:`::: code-group -https://cdn.jsdelivr.net/npm/artplayer-plugin-d ...`,l:"plugin/dash-quality.html#cdn",a:"cdn"},"38.0":{t:"# HLS 画质",p:"",l:"plugin/hls-quality.html",a:"hls-画质"},"38.1":{t:"演示",p:`👉 查看完整演示 -`,l:"plugin/hls-quality.html#演示",a:"演示"},"38.2":{t:"安装",p:`::: code-group -npm install artplayer-plugin-hls-quality - -yarn ...`,l:"plugin/hls-quality.html#安装",a:"安装"},"38.3":{t:"CDN",p:`::: code-group -https://cdn.jsdelivr.net/npm/artplayer-plugin-h ...`,l:"plugin/hls-quality.html#cdn",a:"cdn"},"39.0":{t:"# Iframe 控制",p:"",l:"plugin/iframe.html",a:"iframe-控制"},"39.1":{t:"说明",p:"通过该插件,你可以轻松在 index.html 里控制跨域 iframe.html 页面里的播放器,如在 index.htm ...",l:"plugin/iframe.html#说明",a:"说明"},"39.2":{t:"演示",p:`👉 查看完整演示 -`,l:"plugin/iframe.html#演示",a:"演示"},"39.3":{t:"安装",p:`::: code-group -npm install artplayer-plugin-iframe - -yarn add a ...`,l:"plugin/iframe.html#安装",a:"安装"},"39.4":{t:"`CDN`",p:`::: code-group -https://cdn.jsdelivr.net/npm/artplayer-plugin-i ...`,l:"plugin/iframe.html#cdn",a:"cdn"},"39.5":{t:"使用",p:`::: code-group -<!DOCTYPE html> -<html> - <head ...`,l:"plugin/iframe.html#使用",a:"使用"},"39.6":{t:"`index.html` 接口",p:"",l:"plugin/iframe.html#index-html-接口",a:"index-html-接口"},"39.7":{t:"`commit`",p:"从 index.html 将消息推送到 iframe.html,该函数将在 iframe.html 内部运行,同时它也能用于 ...",l:"plugin/iframe.html#commit",a:"commit"},"39.8":{t:"`message`",p:`在 index.html 接收来自 iframe.html 的消息 -iframe.message((event) => ...`,l:"plugin/iframe.html#message",a:"message"},"39.9":{t:"`destroy`",p:`销毁后 index.html 无法与 iframe.html 通信 -iframe.destroy(); - -`,l:"plugin/iframe.html#destroy",a:"destroy"},"39.10":{t:"`iframe.html` 接口",p:`:::warning 提示 -iframe.html 接口 只能运行在 iframe.html 里 -::: -`,l:"plugin/iframe.html#iframe-html-接口",a:"iframe-html-接口"},"39.11":{t:"`inject`",p:`注入脚本,接收来自 index.html 的消息 -ArtplayerPluginIframe.inject(); - -`,l:"plugin/iframe.html#inject",a:"inject"},"39.12":{t:"`postMessage`",p:`将消息推送到 index.html -iframe.message((event) => { - console.i ...`,l:"plugin/iframe.html#postmessage",a:"postmessage"},"39.13":{t:"例子",p:"最常遇到的问题是,播放器在 iframe.html 里进行网页全屏,但在 index.html 是不生效的,这时候只要监听 ...",l:"plugin/iframe.html#例子",a:"例子"},"40.0":{t:"# 语言设置",p:`::: danger -鉴于捆绑的多国语言越来越多, 从 5.1.0 版本开始, artplayer.js 核心代码除了包含 ...`,l:"start/i18n.html",a:"语言设置"},"40.1":{t:"默认语言",p:`默认语言有: en, zh-cn, 无需手动导入 -var art = new Artplayer({ - contain ...`,l:"start/i18n.html#默认语言",a:"默认语言"},"40.2":{t:"导入语言",p:`打包前的语言文件存放于: artplayer/src/i18n/*.js, 欢迎来添加你的语言 -打包后的语言文件存放于: a ...`,l:"start/i18n.html#导入语言",a:"导入语言"},"40.3":{t:"新增语言",p:`var art = new Artplayer({ - container: '.artplayer-app', - ...`,l:"start/i18n.html#新增语言",a:"新增语言"},"40.4":{t:"修改语言",p:`import zhTw from 'artplayer/i18n/zh-tw.js'; - -var art = new Art ...`,l:"start/i18n.html#修改语言",a:"修改语言"},"41.0":{t:"# 基础选项",p:"",l:"start/option.html",a:"基础选项"},"41.1":{t:"`container`",p:` -Type: String, Element -Default: #artplayer - -播放器挂载的 DOM 容器 -< ...`,l:"start/option.html#container",a:"container"},"41.2":{t:"`url`",p:` -Type: String -Default: '' - -视频源地址 -<div className="run-c ...`,l:"start/option.html#url",a:"url"},"41.3":{t:"`id`",p:` -Type: String -Default: '' - -播放器的唯一标识,目前只用于记忆播放 autoplayback -< ...`,l:"start/option.html#id",a:"id"},"41.4":{t:"`onReady`",p:` -Type: Function -Default: undefined - -构造函数接受一个函数作为第二个参数,播放器初始化成功 ...`,l:"start/option.html#onready",a:"onready"},"41.5":{t:"`poster`",p:` -Type: String -Default: '' - -视频的海报,只会出现在播放器初始化且未播放的状态下 -<div c ...`,l:"start/option.html#poster",a:"poster"},"41.6":{t:"`theme`",p:` -Type: String -Default: #f00 - -播放器主题颜色,目前用于 进度条 和 高亮元素 上 -<div ...`,l:"start/option.html#theme",a:"theme"},"41.7":{t:"`volume`",p:` -Type: Number -Default: 0.7 - -播放器的默认音量 -<div className="r ...`,l:"start/option.html#volume",a:"volume"},"41.8":{t:"`isLive`",p:` -Type: Boolean -Default: false - -使用直播模式,会隐藏进度条和播放时间 -<div clas ...`,l:"start/option.html#islive",a:"islive"},"41.9":{t:"`muted`",p:` -Type: Boolean -Default: false - -是否默认静音 -<div className=" ...`,l:"start/option.html#muted",a:"muted"},"41.10":{t:"`autoplay`",p:` -Type: Boolean -Default: false - -是否自动播放 -<div className=" ...`,l:"start/option.html#autoplay",a:"autoplay"},"41.11":{t:"`autoSize`",p:` -Type: Boolean -Default: false - -播放器的尺寸默认会填充整个 container 容器尺寸,所以 ...`,l:"start/option.html#autosize",a:"autosize"},"41.12":{t:"`autoMini`",p:` -Type: Boolean -Default: false - -当播放器滚动到浏览器视口以外时,自动进入 迷你播放 模式 -&l ...`,l:"start/option.html#automini",a:"automini"},"41.13":{t:"`loop`",p:` -Type: Boolean -Default: false - -是否循环播放 -<div className=" ...`,l:"start/option.html#loop",a:"loop"},"41.14":{t:"`flip`",p:` -Type: Boolean -Default: false - -是否显示视频翻转功能,目前只出现在 设置面板 和 右键菜单 里 ...`,l:"start/option.html#flip",a:"flip"},"41.15":{t:"`playbackRate`",p:` -Type: Boolean -Default: false - -是否显示视频播放速度功能,会出现在 设置面板 和 右键菜单 里 ...`,l:"start/option.html#playbackrate",a:"playbackrate"},"41.16":{t:"`aspectRatio`",p:` -Type: Boolean -Default: false - -是否显示视频长宽比功能,会出现在 设置面板 和 右键菜单 里 - ...`,l:"start/option.html#aspectratio",a:"aspectratio"},"41.17":{t:"`screenshot`",p:` -Type: Boolean -Default: false - -是否在底部控制栏里显示 视频截图 功能 -<div cla ...`,l:"start/option.html#screenshot",a:"screenshot"},"41.18":{t:"`setting`",p:` -Type: Boolean -Default: false - -是否在底部控制栏里显示 设置面板 的开关按钮 -<div ...`,l:"start/option.html#setting",a:"setting"},"41.19":{t:"`hotkey`",p:` -Type: Boolean -Default: true - -是否使用快捷键 -<div className=" ...`,l:"start/option.html#hotkey",a:"hotkey"},"41.20":{t:"`pip`",p:` -Type: Boolean -Default: false - -是否在底部控制栏里显示 画中画 的开关按钮 -<div c ...`,l:"start/option.html#pip",a:"pip"},"41.21":{t:"`mutex`",p:` -Type: Boolean -Default: true - -假如页面里同时存在多个播放器,是否只能让一个播放器播放 -< ...`,l:"start/option.html#mutex",a:"mutex"},"41.22":{t:"`fullscreen`",p:` -Type: Boolean -Default: false - -是否在底部控制栏里显示播放器 窗口全屏 按钮 -<div ...`,l:"start/option.html#fullscreen",a:"fullscreen"},"41.23":{t:"`fullscreenWeb`",p:` -Type: Boolean -Default: false - -是否在底部控制栏里显示播放器 网页全屏 按钮 -<div ...`,l:"start/option.html#fullscreenweb",a:"fullscreenweb"},"41.24":{t:"`subtitleOffset`",p:` -Type: Boolean -Default: false - -字幕时间偏移,范围在 [-5s, 5s],出现在 设置面板 里 ...`,l:"start/option.html#subtitleoffset",a:"subtitleoffset"},"41.25":{t:"`miniProgressBar`",p:` -Type: Boolean -Default: false - -迷你进度条,只在播放器失去焦点后且正在播放时出现 -<di ...`,l:"start/option.html#miniprogressbar",a:"miniprogressbar"},"41.26":{t:"`useSSR`",p:` -Type: Boolean -Default: false - -是否使用 SSR 挂载模式,假如你希望在播放器挂载前,就提前渲 ...`,l:"start/option.html#usessr",a:"usessr"},"41.27":{t:"`playsInline`",p:` -Type: Boolean -Default: true - -在移动端是否使用 playsInline 模式 -<div ...`,l:"start/option.html#playsinline",a:"playsinline"},"41.28":{t:"`layers`",p:` -Type: Array -Default: [] - -初始化自定义的 层 -<div className="ru ...`,l:"start/option.html#layers",a:"layers"},"41.29":{t:"`settings`",p:` -Type: Array -Default: [] - -初始化自定义的 设置面板 -<div className=" ...`,l:"start/option.html#settings",a:"settings"},"41.30":{t:"`contextmenu`",p:` -Type: Array -Default: [] - -初始化自定义的 右键菜单 -<div className=" ...`,l:"start/option.html#contextmenu",a:"contextmenu"},"41.31":{t:"`controls`",p:` -Type: Array -Default: [] - -初始化自定义的底部 控制栏 -<div className=&quo ...`,l:"start/option.html#controls",a:"controls"},"41.32":{t:"`quality`",p:` -Type: Array -Default: [] - -是否在底部控制栏里显示 画质选择 列表 - - - -属性 -类型 -描述 - - - - - ...`,l:"start/option.html#quality",a:"quality"},"41.33":{t:"`highlight`",p:` -Type: Array -Default: [] - -在进度条上显示 高亮信息 - - - -属性 -类型 -描述 - - - - -time -Nu ...`,l:"start/option.html#highlight",a:"highlight"},"41.34":{t:"`plugins`",p:` -Type: Array -Default: [] - -初始化自定义的 插件 -<div className="r ...`,l:"start/option.html#plugins",a:"plugins"},"41.35":{t:"`thumbnails`",p:` -Type: Object -Default: {} - -在进度条上设置 预览图 - - - -属性 -类型 -描述 - - - - -url -Str ...`,l:"start/option.html#thumbnails",a:"thumbnails"},"41.36":{t:"`subtitle`",p:` -Type: Object -Default: {} - -设置视频的字幕,支持字幕格式:vtt, srt, ass - - - -属性 - ...`,l:"start/option.html#subtitle",a:"subtitle"},"41.37":{t:"`moreVideoAttr`",p:` -Type: Object -Default: {'controls': false,'preload': 'metadata ...`,l:"start/option.html#morevideoattr",a:"morevideoattr"},"41.38":{t:"`icons`",p:` -Type: Object -Default: {} - -用于替换默认图标,支持 Html 字符串和 HTMLElement -& ...`,l:"start/option.html#icons",a:"icons"},"41.39":{t:"`type`",p:` -Type: String -Default: '' - -用于指明视频的格式,需要配合 customType 一起使用,默认视频 ...`,l:"start/option.html#type",a:"type"},"41.40":{t:"`customType`",p:` -Type: Object -Default: {} - -通过视频的 type 进行匹配,把视频解码权交给第三方程序进行处理,处 ...`,l:"start/option.html#customtype",a:"customtype"},"41.41":{t:"`lang`",p:` -Type: String -Default: navigator.language.toLowerCase() - -默认显示语 ...`,l:"start/option.html#lang",a:"lang"},"41.42":{t:"`i18n`",p:` -Type: Object -Default: {} - -自定义 i18n 配置,该配置会和自带的 i18n 进行深度合并 -新增 ...`,l:"start/option.html#i18n",a:"i18n"},"41.43":{t:"`lock`",p:` -Type: Boolean -Default: false - -是否在移动端显示一个 锁定按钮 ,用于隐藏底部 控制栏 -< ...`,l:"start/option.html#lock",a:"lock"},"41.44":{t:"`fastForward`",p:` -Type: Boolean -Default: false - -是否在移动端添加长按视频快进功能 -<div classN ...`,l:"start/option.html#fastforward",a:"fastforward"},"41.45":{t:"`autoPlayback`",p:` -Type: Boolean -Default: false - -是否使用自动 回放功能 -<div className=& ...`,l:"start/option.html#autoplayback",a:"autoplayback"},"41.46":{t:"`autoOrientation`",p:` -Type: Boolean -Default: false - -是否在移动端的网页全屏时,根据视频尺寸和视口尺寸,旋转播放器 - ...`,l:"start/option.html#autoorientation",a:"autoorientation"},"41.47":{t:"`airplay`",p:` -Type: Boolean -Default: false - -是否显示 airplay 按钮,当前只有部分浏览器支持该功能 - ...`,l:"start/option.html#airplay",a:"airplay"},"41.48":{t:"`cssVar`",p:` -Type: Object -Default: {} - -用于改变内置的css变量 -<div className=&quo ...`,l:"start/option.html#cssvar",a:"cssvar"}},n={previewLength:62,buttonLabel:"Search",placeholder:"Search docs",allow:[],ignore:[]},a={INDEX_DATA:e,PREVIEW_LOOKUP:t,Options:n};export{a as default}; diff --git a/document/assets/chunks/virtual_search-data.CQ4jmvKx.js b/document/assets/chunks/virtual_search-data.CQ4jmvKx.js new file mode 100644 index 000000000..cea79b810 --- /dev/null +++ b/document/assets/chunks/virtual_search-data.CQ4jmvKx.js @@ -0,0 +1,1308 @@ +const e={map:'[{"高级属性":["0.0"],"option":["0.1","1.12","10.1","11.12","20.9","23.9","24.17"],"template":["0.2","10.2"],"events":["0.3","10.3"],"storage":["0.4","10.4"],"icons":["0.5","10.5","22.38","26.38"],"i18n":["0.6","10.6","22.42","26.42"],"notice":["0.7","3.4","10.7","13.4"],"layers":["0.8","10.8","22.28","26.28"],"controls":["0.9","10.9","22.31","26.31"],"contextmenu":["0.10","2.37","3.3","10.10","12.37","13.3","22.30","26.30"],"subtitle":["0.11","2.36","10.11","12.36","22.36","26.36"],"loading":["0.12","2.34","10.12","12.34"],"hotkey":["0.13","2.5","10.13","12.5","22.19","26.19"],"mask":["0.14","2.35","10.14","12.35"],"setting":["0.15","2.39","3.5","3.6","3.7","10.15","12.39","13.5","13.6","13.7","22.18","26.18"],"plugins":["0.16","10.16","22.34","26.34"],"静态属性":["1.0"],"instances":["1.1","11.1"],"version":["1.2","11.2"],"env":["1.3","11.3"],"build":["1.4","11.4"],"config":["1.5","11.5","24.13"],"utils":["1.6","11.6"],"scheme":["1.7","11.7"],"emitter":["1.8","11.8"],"validator":["1.9","11.9"],"kindof":["1.10","11.10"],"html":["1.11","11.11"],"实例事件":["2.0"],"ready":["2.1","12.1"],"restart":["2.2","12.2"],"pause":["2.3","5.2","12.3","15.2"],"play":["2.4","5.1","12.4","15.1"],"destroy":["2.6","5.4","12.6","15.4"],"focus":["2.7","12.7"],"blur":["2.8","12.8"],"dblclick":["2.9","12.9"],"click":["2.10","12.10"],"error":["2.11","12.11"],"hover":["2.12","12.12"],"mousemove":["2.13","12.13"],"resize":["2.14","3.8","12.14","13.8"],"view":["2.15","12.15"],"lock":["2.16","12.16","22.43","26.43"],"aspectratio":["2.17","5.29","12.17","15.29","22.16","26.16"],"autoheight":["2.18","5.30","12.18","15.30"],"autosize":["2.19","5.25","12.19","15.25","22.11","26.11"],"flip":["2.20","3.30","5.27","12.20","13.30","15.27","22.14","26.14"],"fullscreen":["2.21","3.31","5.19","12.21","13.31","15.19","22.22","26.22"],"fullscreenerror":["2.22","12.22"],"fullscreenweb":["2.23","5.20","12.23","15.20","22.23","26.23"],"mini":["2.24","5.23","12.24","15.23"],"pip":["2.25","5.21","12.25","15.21","22.20","26.20"],"screenshot":["2.26","5.16","12.26","15.16","22.17","26.17"],"seek":["2.27","3.27","5.5","12.27","13.27","15.5"],"subtitleoffset":["2.28","12.28","22.24","26.24"],"subtitleupdate":["2.29","12.29"],"subtitleload":["2.30","12.30"],"subtitleswitch":["2.31","12.31"],"info":["2.32","3.22","12.32","13.22"],"layer":["2.33","12.33","18.0"],"control":["2.38","3.16","12.38","13.16"],"muted":["2.40","5.13","12.40","15.13","22.9","26.9"],"video":["2.41","2.42","2.43","2.44","2.45","2.46","2.47","2.48","2.49","2.50","2.51","2.52","2.53","2.54","2.55","2.56","2.57","2.58","2.59","2.60","2.61","5.39","12.41","12.42","12.43","12.44","12.45","12.46","12.47","12.48","12.49","12.50","12.51","12.52","12.53","12.54","12.55","12.56","12.57","12.58","12.59","12.60","12.61","15.39"],"全局属性":["3.0"],"debug":["3.1","13.1"],"style":["3.2","13.2"],"scroll":["3.9","3.10","13.9","13.10"],"auto":["3.11","3.12","3.13","3.21","13.11","13.12","13.13","13.21"],"reconnect":["3.14","3.15","13.14","13.15"],"dbclick":["3.17","3.18","13.17","13.18"],"mobile":["3.19","3.20","13.19","13.20"],"fast":["3.23","3.24","13.23","13.24"],"touch":["3.25","13.25"],"volume":["3.26","5.8","13.26","15.8","22.7","26.7"],"playback":["3.28","13.28"],"aspect":["3.29","13.29"],"log":["3.32","13.32"],"use":["3.33","13.33"],"编写插件":["4.0"],"实例属性":["5.0"],"toggle":["5.3","15.3"],"forward":["5.6","15.6"],"backward":["5.7","15.7"],"url":["5.9","15.9","22.2","26.2"],"switch":["5.10","15.10"],"switchurl":["5.11","15.11"],"switchquality":["5.12","15.12"],"currenttime":["5.14","15.14"],"duration":["5.15","15.15"],"getdataurl":["5.17","15.17"],"getbloburl":["5.18","15.18"],"poster":["5.22","15.22","22.5","26.5"],"playing":["5.24","15.24"],"rect":["5.26","15.26"],"playbackrate":["5.28","15.28","22.15","26.15"],"attr":["5.31","15.31"],"type":["5.32","15.32","22.39","26.39"],"theme":["5.33","15.33","22.6","26.6"],"airplay":["5.34","15.34","22.47","26.47"],"loaded":["5.35","15.35"],"played":["5.36","15.36"],"proxy":["5.37","15.37"],"query":["5.38","15.38"],"cssvar":["5.40","15.40","22.48","26.48"],"quality":["5.41","15.41","22.32","26.32"],"thumbnails":["5.42","15.42","22.35","26.35"],"右键菜单":["6.0"],"配置":["6.1","7.1","8.1"],"创建":["6.2","7.2","8.2","9.2","9.3","9.4","9.5"],"添加":["6.3","7.3","8.3","9.6"],"删除":["6.4","7.4","8.4","9.7"],"更新":["6.5","7.5","8.5","9.8"],"控制器":["7.0"],"业务层":["8.0"],"设置面板":["9.0"],"内置":["9.1"],"advanced":["10.0"],"static":["11.0"],"example":["12.0"],"global":["13.0"],"writing":["14.0"],"instance":["15.0"],"context":["16.0"],"configuration":["16.1","17.1","18.1"],"creation":["16.2","17.2","18.2"],"add":["16.3","18.3","19.6","21.3"],"delete":["16.4","17.4","18.4","19.7"],"updates":["16.5","19.8"],"controller":["17.0"],"adding":["17.3"],"update":["17.5","18.5"],"settings":["19.0","22.29","26.29"],"built":["19.1"],"create":["19.2","19.4","19.5"],"creating":["19.3"],"installation":["20.0","20.1"],"cdn":["20.2","23.2","24.3"],"usage":["20.3"],"vue":["20.4","20.7","23.4","23.7"],"react":["20.5","20.8","23.5","23.8"],"typescript":["20.6","23.6"],"javascript":["20.10","23.10"],"ancient":["20.11"],"language":["21.0"],"default":["21.1"],"importing":["21.2"],"modify":["21.4"],"basic":["22.0"],"container":["22.1","26.1"],"id":["22.3","26.3"],"onready":["22.4","26.4"],"islive":["22.8","26.8"],"autoplay":["22.10","26.10"],"automini":["22.12","26.12"],"loop":["22.13","26.13"],"mutex":["22.21","26.21"],"miniprogressbar":["22.25","26.25"],"usessr":["22.26","26.26"],"playsinline":["22.27","26.27"],"highlight":["22.33","26.33"],"morevideoattr":["22.37","26.37"],"customtype":["22.40","26.40"],"lang":["22.41","26.41"],"fastforward":["22.44","26.44"],"autoplayback":["22.45","26.45"],"autoorientation":["22.46","26.46"],"安装使用":["23.0"],"安装":["23.1","24.2"],"使用":["23.3"],"古老的浏览器":["23.11"],"弹幕库":["24.0"],"演示":["24.1"],"弹幕结构":["24.4"],"全部选项":["24.5"],"生命周期":["24.6"],"使用弹幕数组":["24.7"],"使用弹幕":["24.8"],"使用异步返回":["24.9"],"hide":["24.10"],"ishide":["24.11"],"emit":["24.12"],"load":["24.14"],"reset":["24.15"],"mount":["24.16"],"事件":["24.18"],"语言设置":["25.0"],"默认语言":["25.1"],"导入语言":["25.2"],"新增语言":["25.3"],"修改语言":["25.4"],"基础选项":["26.0"]},{"0":["3.28","5.35","5.36","22.7","26.7"],"1":["23.11","24.5"],"3":["3.29","23.9"],"4":["3.29","21.3","25.3"],"5":["3.28","8.2","18.2","24.5"],"7":["8.3","18.3","22.7"],"9":["25.3"],"10":["24.5"],"15":["4.0","14.0"],"21":["8.5","9.8","18.5","19.8"],"26":["7.5","17.5"],"27":["9.8","19.8"],"75":["3.28"],"250":["3.5"],"这里的":["0.0","1.0","3.0","5.0"],"播放器的选项":["0.1"],"div":["0.1","0.2","0.4","0.5","0.7","0.13","0.16","1.1","1.6","2.0","2.1","2.2","2.3","2.4","2.5","2.6","2.7","2.8","2.9","2.10","2.11","2.12","2.13","2.14","2.15","2.16","2.17","2.18","2.19","2.20","2.21","2.22","2.23","2.24","2.25","2.26","2.27","2.28","2.29","2.30","2.31","2.32","2.33","2.34","2.35","2.36","2.37","2.38","2.39","2.40","3.3","4.0","5.1","5.2","5.3","5.15","5.26","5.30","5.34","5.41","6.2","6.3","6.4","6.5","7.2","7.3","7.4","7.5","8.2","8.3","8.4","8.5","9.3","9.6","9.7","9.8","10.1","12.31","14.0","15.15","16.2","16.3","16.4","16.5","17.2","17.3","17.4","17.5","18.2","18.3","18.4","18.5","19.3","19.6","19.7","19.8","22.2","22.28","22.29","24.6","24.7","24.9","24.10","24.11","24.12","24.13","24.14","24.15","24.17","24.18","26.2","26.28","26.29","26.30","26.31"],"classname":["0.1","0.2","0.16","2.0","2.1","2.2","2.3","2.4","2.5","2.6","2.7","2.8","2.9","2.10","2.11","2.12","2.13","2.14","2.15","2.16","2.17","2.18","2.19","2.20","2.21","2.22","2.23","2.24","2.25","2.26","2.27","2.28","2.29","2.30","2.31","2.32","2.33","2.34","2.35","2.36","2.37","2.38","2.39","2.40","4.0","5.41","6.2","6.3","6.4","6.5","7.2","7.3","7.4","7.5","8.2","8.3","8.4","8.5","9.3","9.6","9.7","9.8","12.31","14.0","15.15","16.2","16.3","16.4","16.5","17.2","17.3","17.4","17.5","18.2","18.3","18.4","18.5","19.3","19.6","19.7","19.8","22.2","22.28","22.29","24.6","24.7","24.9","24.11","24.12","24.13","24.14","24.15","24.17","24.18","26.2","26.28","26.29"],"run":["0.1","0.2","2.0","2.2","2.6","2.11","2.12","2.17","2.18","2.20","2.21","2.22","2.23","2.24","2.25","2.26","2.28","2.29","2.30","2.31","2.39","4.0","5.41","6.2","6.3","6.4","6.5","7.2","7.3","7.4","7.5","8.2","8.3","8.4","8.5","9.3","9.6","9.7","9.8","14.0","16.2","16.3","16.4","16.5","17.2","17.3","17.4","17.5","18.2","18.3","18.4","18.5","19.3","19.6","19.7","19.8","22.2","22.28","24.6","24.7","24.9","24.11","24.12","24.13","24.14","24.15","24.17","24.18","26.2","26.28","26.29"],"管理播放器所有的":["0.2","0.3","0.5"],"dom":["0.2","0.3","5.37","5.38","9.2","9.4","9.5","10.2","10.3","15.37","15.38","19.2","19.4","19.5","22.1","26.1"],"元素":["0.2","9.4","9.5"],"事件":["0.3","4.0"],"实质上是代理了":["0.3"],"addeventlistener":["0.3","5.37","10.3","15.37"],"和":["0.3","4.0","5.12","24.8","24.10","26.4"],"removeeventlistener":["0.3","10.3"],"当使用以下方法来处理事件":["0.3"],"播放器销毁时也会自动销毁该事件":["0.3"],"proxy":["0.3","10.3"],"方法用于代理":["0.3"],"管理播放器的本地存储":["0.4"],"name":["0.4","4.0","10.4","17.1"],"属性用于设置缓存的":["0.4"],"key":["0.4","10.4"],"set":["0.4","10.4","13.6","13.7","15.10","15.11","15.12","15.13","15.14","15.19","15.20","15.21","15.22","15.27","15.28","15.29","22.35","22.36"],"方法用于设置缓存":["0.4"],"get":["0.4","0.6","10.6","15.14","15.15","15.19","15.21","15.22","15.24","15.31"],"方法用于获取缓存":["0.4"],"del":["0.4"],"方法用于删除缓存":["0.4"],"clear":["0.4"],"方法用于清空缓存":["0.4"],"svg":["0.5","10.5"],"图标":["0.5"],"管理播放器的":["0.6"],"方法用于获取":["0.6"],"的值":["0.6"],"update":["0.6","0.8","0.9","0.10","0.15"],"管理播放器的提示语":["0.7"],"只有一个":["0.7"],"show":["0.7","0.12","0.14","10.12","10.14","22.17","22.20","22.32","22.33","24.10"],"属性用于显示提示语":["0.7"],"管理播放器的层":["0.8"],"add":["0.8","0.9","0.10","0.13","0.15","0.16","10.8","10.9","10.10","10.13","10.15"],"方法用于动态添加层":["0.8"],"remove":["0.8","0.9","0.10","0.13","0.15"],"方法用于动态删除层":["0.8"],"管理播放器的控制器":["0.9"],"方法用于动态添加控制器":["0.9"],"方法用于动态删除控制器":["0.9"],"管理播放器的右键菜单":["0.10"],"方法用于动态添加菜单":["0.10"],"方法用于动态删除菜单":["0.10"],"方法用于动态更新菜单":["0.10"],"管理播放器的字幕功能":["0.11"],"url":["0.11","5.11","10.11"],"属性设置和返回当前字幕地址":["0.11"],"style":["0.11"],"方法设置当前字幕的样式":["0.11"],"管理播放器的加载层":["0.12"],"属性用于设置是否显示加载层":["0.12"],"toggle":["0.12","0.14","19.4"],"管理播放器的快捷键功能":["0.13"],"方法用于添加快捷键":["0.13"],"方法用于删除快捷键":["0.13"],"管理播放器的遮罩层":["0.14"],"属性用于设置是否显示遮罩层":["0.14"],"管理播放器的设置面板":["0.15"],"方法用于动态添加设置项":["0.15"],"方法用于动态删除设置项":["0.15"],"方法用于动态更新设置项":["0.15"],"管理播放器的插件功能":["0.16"],"只有一个方法":["0.16"],"用于动态添加插件":["0.16"],"返回全部播放器实例的数组":["1.1"],"假如你想同时管理多个播放器的时候":["1.1"],"可以用到该属性":["1.1"],"返回播放器的版本信息":["1.2"],"返回播放器的环境变量":["1.3"],"返回播放器的打包时间":["1.4"],"返回视频的默认配置":["1.5"],"返回播放器的工具函数集合":["1.6"],"返回播放器选项的校验方案":["1.7"],"返回事件分发器的构造函数":["1.8"],"返回选项的校验函数":["1.9"],"返回类型检测的函数工具":["1.10"],"返回播放器所需的":["1.11"],"返回播放器的默认选项":["1.12"],"播放器的事件分为两种":["2.0"],"一种视频的":["2.0"],"原生事件":["2.0"],"前缀":["2.0"],"video":["2.0","12.0","13.29","13.30","15.1","15.2","15.7","15.10","15.11","15.12","15.15","22.2","22.36","22.39","22.40"],"另外一种是":["2.0"],"自定义事件":["2.0"],"监听事件":["2.0"],"code":["2.0","2.2","2.28","2.31","4.0","6.2","6.3","6.4","6.5","7.2","7.3","7.4","7.5","8.2","8.3","8.4","8.5","9.3","9.6","9.7","9.8","14.0","16.2","16.3","16.4","16.5","17.2","17.3","17.4","17.5","18.2","18.3","18.4","18.5","19.3","19.6","19.7","19.8","20.1","20.2","20.3","20.4","20.5","22.2","22.28","23.1","23.2","23.3","23.4","23.5","24.2","24.3","24.6","24.7","24.9","24.11","24.12","24.13","24.14","24.15","24.17","24.18","26.2","26.28"],"js":["2.0","4.0","6.5","7.2","7.3","7.5","8.2","8.3","8.5","9.3","9.7","9.8","14.0","16.5","17.2","17.3","17.5","18.2","18.3","18.5","19.3","19.7","19.8","20.4","20.5","20.7","20.8","20.10","20.11","21.2","21.3","21.4","23.4","23.5","23.7","23.8","23.10","23.11","24.5","24.18","25.2","25.3","25.4"],"当播放器首次可以播放器时触发":["2.1"],"当播放器切换地址后并可以播放时触发":["2.2"],"当播放器暂停时触发":["2.3"],"当播放器播放时触发":["2.4"],"当播放器热键被按下时触发":["2.5"],"当播放器销毁时触发":["2.6"],"当播放器获得焦点时触发":["2.7"],"当播放器失去焦点时触发":["2.8"],"当播放器被双击时触发":["2.9"],"当播放器被单击时触发":["2.10"],"当播放器加载视频发生错误时触发":["2.11"],"当播放器被鼠标移出或者移入时触发":["2.12"],"当播放器被鼠标经过时触发":["2.13"],"当播放器尺寸变化时触发":["2.14"],"当播放器出现在视口时触发":["2.15"],"在移动端":["2.16","3.19","3.20","3.21","3.23","3.24","3.25"],"当锁定的状态发生变化时触发":["2.16"],"当播放器长宽比变化时触发":["2.17"],"当播放器自动设置高度时触发":["2.18"],"当播放器自动设置尺寸时触发":["2.19"],"当播放器发生翻转时触发":["2.20"],"当播放器发生窗口全屏时触发":["2.21"],"当播放器发生窗口全屏错误时触发":["2.22"],"当播放器发生网页全屏时触发":["2.23"],"当播放器进入迷你模式时触发":["2.24"],"当播放器进入画中画时触发":["2.25"],"当播放器被截图时触发":["2.26"],"当播放器发生时间跳转时触发":["2.27"],"当播放器发生字幕偏移时触发":["2.28"],"当字幕更新时触发":["2.29"],"当字幕加载时触发":["2.30"],"当字幕切换时触发":["2.31"],"当信息面板显示或隐藏时触发":["2.32"],"当自定义层显示或隐藏时触发":["2.33"],"当加载器显示或隐藏时触发":["2.34"],"当遮罩层显示或隐藏时触发":["2.35"],"当字幕层显示或隐藏时触发":["2.36"],"当右键菜单显示或隐藏时触发":["2.37"],"当控制器显示或隐藏时触发":["2.38"],"当设置面板显示或隐藏时触发":["2.39"],"当静音的状态变化时触发":["2.40"],"canplay":["2.41","12.41"],"canplaythrough":["2.42","12.42"],"complete":["2.43","12.43"],"durationchange":["2.44","12.44"],"emptied":["2.45","12.45"],"ended":["2.46","12.46"],"error":["2.47","12.47"],"loadeddata":["2.48","12.48"],"loadedmetadata":["2.49","12.49"],"pause":["2.50","12.50","13.20"],"play":["2.51","3.19","3.20","12.51","13.19","13.20","15.3","22.10"],"playing":["2.52","12.52"],"progress":["2.53","12.53","22.35"],"ratechange":["2.54","12.54"],"seeked":["2.55","12.55"],"seeking":["2.56","12.56"],"stalled":["2.57","12.57"],"suspend":["2.58","12.58"],"timeupdate":["2.59","12.59"],"volumechange":["2.60","12.60"],"waiting":["2.61","12.61"],"是否开始":["3.1"],"模式":["3.1"],"返回播放器样式文本":["3.2"],"是否开启右键菜单":["3.3"],"默认开启":["3.3"],"time":["3.4","3.8","3.9","3.14","3.15","3.16","3.17","3.21","3.22","3.24","13.4","13.8","13.9","13.14","13.15","13.16","13.17","13.21","13.22","13.24","22.24"],"提示信息的显示时长":["3.4"],"单位为毫秒":["3.4","3.8","3.9","3.13","3.16","3.17","3.22"],"width":["3.5","3.6","9.2","13.5","13.6","15.30"],"设置面板的默认宽度":["3.5"],"单位为像素":["3.5","3.6","3.7","3.10"],"默认为":["3.5","3.6","3.7","3.11","3.17","3.26","3.28","3.29","3.30","3.32","3.33"],"item":["3.6","3.7","13.6","13.7"],"设置面板的设置项的默认宽度":["3.6"],"height":["3.7","13.7"],"设置面板的设置项的默认高度":["3.7"],"事件的节流时间":["3.8","3.9"],"gap":["3.10","13.10"],"view":["3.10"],"事件的边界容差距离":["3.10"],"playback":["3.11","3.12","3.13","12.52","13.11","13.12","13.13","22.45"],"max":["3.11","3.14","13.11","13.14"],"自动回放功能的最大记录数":["3.11"],"min":["3.12","13.12"],"自动回放功能的最小记录时长":["3.12"],"单位为秒":["3.12","3.27"],"timeout":["3.13","13.13"],"自动回放功能的隐藏延迟时长":["3.13"],"发生连接错误时":["3.14","3.15"],"自动连接的最大次数":["3.14"],"sleep":["3.15","13.15"],"自动连接的延迟时间":["3.15"],"hide":["3.16","13.16"],"底部控制栏的自动隐藏的延迟时间":["3.16"],"双击事件的延迟事件":["3.17"],"fullscreen":["3.18","13.18"],"在桌面端":["3.18"],"是否双击切换全屏":["3.18"],"dbclick":["3.19","13.19"],"是否双击切换播放暂停":["3.19"],"click":["3.20","10.10","13.17","13.20"],"是否单击切换播放暂停":["3.20"],"orientation":["3.21","13.21"],"自动旋屏的延迟时间":["3.21"],"loop":["3.22","13.22"],"信息面板的刷新时间":["3.22"],"forward":["3.23","3.24","13.23","13.24"],"value":["3.23","13.23"],"长按加速的速率倍数":["3.23"],"长按加速的延迟时间":["3.24"],"move":["3.25","13.25"],"ratio":["3.25","3.29","12.17","13.25","13.26","13.29"],"左右滑动进度的速率倍数":["3.25"],"step":["3.26","3.27","13.26","13.27"],"快捷键调节音量的幅度比例":["3.26"],"快捷键调节播放进度的幅度":["3.27"],"rate":["3.28","13.28"],"内置播放速率的列表":["3.28"],"内置视频长宽比的列表":["3.29"],"default":["3.29","13.5","13.6","13.7","22.1","22.2","22.3","22.4","22.5","22.6","22.7","22.8","22.9","22.10","22.11","22.12","22.13","22.14","22.15","22.16","22.17","22.18","22.19","22.20","22.21","22.22","22.23","22.24","22.25","22.26","22.27","22.28","22.29","22.30","22.31","22.32","22.33","22.34","22.35","22.36","22.37","22.38","22.39","22.40","22.41","22.42","22.43","22.44","22.45","22.46","22.47","22.48","26.1","26.2","26.3","26.4","26.5","26.6","26.7","26.8","26.9","26.10","26.11","26.12","26.13","26.14","26.15","26.16","26.17","26.18","26.19","26.20","26.21","26.22","26.23","26.24","26.25","26.26","26.27","26.28","26.29","26.30","26.31","26.32","26.33","26.34","26.35","26.36","26.37","26.38","26.39","26.40","26.41","26.42","26.43","26.44","26.45","26.46","26.47","26.48"],"内置视频翻转的列表":["3.30"],"normal":["3.30"],"horizontal":["3.30"],"vertical":["3.30"],"web":["3.31","13.31"],"in":["3.31","10.3","13.24","13.28","13.29","13.30","13.31","19.1","21.2","22.39"],"body":["3.31","13.31"],"网页全屏时":["3.31"],"version":["3.32","13.32"],"设置是否打印播放器版本":["3.32"],"raf":["3.33","13.33"],"设置是否使用":["3.33"],"requestanimationframe":["3.33"],"但你已经知道播放器的":["4.0"],"属性":["4.0","6.1","7.1","8.1","9.2","9.4","9.5","26.32","26.33","26.35","26.36"],"方法":["4.0"],"后":["4.0"],"再编写插件是非常简单的事":["4.0"],"可以在实例化的时候加载插件的函数":["4.0"],"function":["4.0","5.1","5.2","5.3","5.4","5.11","5.12","5.16","5.17","5.18","5.25","5.30","5.31","5.34","5.37","5.38","5.40","9.2","14.0","15.1","15.2","15.3","15.4","15.11","15.12","15.16","15.17","15.18","15.25","15.30","15.31","15.34","15.37","15.38","15.40","19.2","22.4","26.4"],"myplugin":["4.0"],"art":["4.0","5.11","7.2","15.11","17.2"],"console":["4.0"],"info":["4.0"],"return":["4.0"],"something":["4.0"],"type":["5.1","5.2","5.3","5.4","5.5","5.6","5.7","5.8","5.9","5.10","5.11","5.12","5.13","5.14","5.15","5.16","5.17","5.18","5.19","5.20","5.21","5.22","5.23","5.24","5.25","5.26","5.27","5.28","5.29","5.30","5.31","5.33","5.34","5.35","5.36","5.37","5.38","5.39","5.40","5.41","5.42","15.1","15.2","15.3","15.4","15.5","15.6","15.7","15.8","15.9","15.10","15.11","15.12","15.13","15.14","15.15","15.16","15.17","15.18","15.19","15.20","15.21","15.22","15.23","15.24","15.25","15.26","15.27","15.28","15.29","15.30","15.31","15.33","15.34","15.35","15.36","15.37","15.38","15.39","15.40","15.41","15.42","16.1","17.1","18.1","19.2","19.4","19.5","20.10","22.1","22.2","22.3","22.4","22.5","22.6","22.7","22.8","22.9","22.10","22.11","22.12","22.13","22.14","22.15","22.16","22.17","22.18","22.19","22.20","22.21","22.22","22.23","22.24","22.25","22.26","22.27","22.28","22.29","22.30","22.31","22.32","22.33","22.34","22.35","22.36","22.37","22.38","22.40","22.41","22.42","22.43","22.44","22.45","22.46","22.47","22.48","26.1","26.2","26.3","26.4","26.5","26.6","26.7","26.8","26.9","26.10","26.11","26.12","26.13","26.14","26.15","26.16","26.17","26.18","26.19","26.20","26.21","26.22","26.23","26.24","26.25","26.26","26.27","26.28","26.29","26.30","26.31","26.32","26.33","26.34","26.35","26.36","26.37","26.38","26.40","26.41","26.42","26.43","26.44","26.45","26.46","26.47","26.48"],"播放视频":["5.1"],"暂停视频":["5.2"],"切换视频的播放和暂停":["5.3"],"parameter":["5.4","5.5","5.6","5.7","5.8","5.9","5.10","5.11","5.12","5.13","5.14","5.19","5.20","5.21","5.22","5.23","5.24","5.27","5.28","5.29","5.31","5.32","5.33","5.41","5.42","15.4","15.5","15.6","15.7","15.8","15.9","15.10","15.11","15.12","15.13","15.14","15.19","15.20","15.21","15.22","15.23","15.24","15.27","15.28","15.29","15.31","15.32","15.33","15.41","15.42"],"boolean":["5.4","5.13","5.19","5.20","5.21","5.24","7.1","15.4","15.13","15.19","15.20","15.21","15.23","15.24","16.1","17.1","18.1","22.8","22.9","22.10","22.11","22.12","22.13","22.14","22.15","22.16","22.17","22.18","22.19","22.20","22.21","22.22","22.23","22.24","22.25","22.26","22.27","22.43","22.44","22.45","22.46","22.47","26.8","26.9","26.10","26.11","26.12","26.13","26.14","26.15","26.16","26.17","26.18","26.19","26.20","26.21","26.22","26.23","26.24","26.25","26.26","26.27","26.43","26.44","26.45","26.46","26.47"],"setter":["5.5","5.6","5.7","5.8","5.9","5.10","5.13","5.14","5.19","5.20","5.21","5.22","5.23","5.27","5.28","5.29","5.32","5.33","5.41","5.42","15.5","15.6","15.7","15.8","15.9","15.10","15.13","15.14","15.19","15.20","15.21","15.22","15.23","15.27","15.28","15.29","15.32","15.33","15.41","15.42"],"number":["5.5","5.6","5.7","5.8","5.14","5.28","13.11","13.14","15.5","15.6","15.7","15.8","15.14","15.28","21.0","22.7","26.7"],"getter":["5.8","5.9","5.13","5.14","5.15","5.19","5.20","5.21","5.22","5.23","5.24","5.26","5.27","5.28","5.29","5.32","5.33","5.35","5.36","5.42","15.8","15.9","15.13","15.14","15.15","15.19","15.20","15.21","15.22","15.23","15.24","15.26","15.27","15.28","15.29","15.32","15.33","15.35","15.36","15.42"],"string":["5.10","5.11","5.12","5.22","5.27","5.29","5.31","5.32","5.33","9.2","9.4","9.5","15.9","15.10","15.11","15.12","15.22","15.27","15.29","15.31","15.32","15.33","17.1","19.2","19.4","19.5","22.1","22.2","22.3","22.5","22.6","22.39","22.41","26.1","26.2","26.3","26.5","26.6","26.39","26.41"],"设置视频地址":["5.10","5.11"],"设置时和":["5.10","5.11"],"设置视频画质地址":["5.12"],"获取视频时长":["5.15"],"下载当前视频帧的截图":["5.16"],"可选参数为截图名字":["5.16"],"获取当前视频帧的截图的":["5.17","5.18"],"base64":["5.17","15.17"],"地址":["5.17","5.18"],"blob":["5.18","15.18"],"设置和获取视频海报":["5.22"],"设置视频是否自适应尺寸":["5.25"],"获取播放器的尺寸和坐标信息":["5.26"],"当容器只有宽度":["5.30"],"该属性可以自动计算出并设置视频的高度":["5.30"],"动态获取和设置":["5.31"],"开启隔空播放":["5.34"],"视频缓存的比例":["5.35"],"范围是":["5.35","5.36"],"视频播放的比例":["5.36"],"事件的代理函数":["5.37"],"实质上代理了":["5.37"],"的查询函数":["5.38"],"element":["5.39","9.2","9.4","9.5","15.39","19.2","19.4","19.5","22.1","26.1"],"快捷返回播放器的":["5.39"],"动态获取或设置":["5.40"],"css":["5.40"],"变量":["5.40","23.10"],"array":["5.41","9.2","11.1","15.41","19.2","22.28","22.29","22.30","22.31","22.32","22.33","22.34","26.28","26.29","26.30","26.31","26.32","26.33","26.34"],"动态设置画质列表":["5.41"],"object":["5.42","15.42","22.35","22.36","22.37","22.38","22.40","22.42","22.48","26.35","26.36","26.37","26.38","26.40","26.42","26.48"],"类型":["6.1","7.1","8.1","9.2","9.4","9.5","26.33","26.35","26.36"],"描述":["6.1","7.1","8.1","9.2","9.4","9.5"],"disable":["6.1","7.1","8.1","16.1","17.1","18.1"],"var":["7.2","9.3","17.2"],"new":["7.2","17.2"],"artplayer":["7.2","17.2","20.4","20.5","20.11","21.2","22.1","23.5","23.11","24.18","25.2","25.4","26.1"],"container":["7.2","15.30","17.2"],"须先打开设置面板":["9.1"],"然后自带四个内置项":["9.1"],"flip":["9.1"],"playbackrate":["9.1"],"选择列表":["9.2"],"html":["9.2","9.4","9.5","19.2","19.4","19.5","20.3","23.3","26.38"],"元素的":["9.2","9.4","9.5"],"icon":["9.2","9.4","9.5","19.2","19.5"],"元素的图标":["9.2","19.2"],"selector":["9.2","19.2"],"元素列表":["9.2","19.2"],"onselect":["9.2","19.2"],"元素点击事件":["9.2"],"列表嵌套":["9.3"],"切换按钮":["9.4"],"范围滑块":["9.5"],"properties":["10.0","11.0","14.0","15.0"],"the":["10.0","10.1","10.2","10.3","10.4","10.5","10.6","10.7","10.8","10.9","10.10","10.11","10.12","10.13","10.14","10.15","10.16","11.2","11.3","11.4","11.5","11.7","11.8","11.9","11.10","11.11","11.12","12.0","12.1","12.2","12.3","12.4","12.6","12.7","12.8","12.9","12.10","12.12","12.13","12.14","12.15","12.16","12.17","12.18","12.19","12.20","12.21","12.22","12.23","12.24","12.25","12.26","12.27","12.28","12.29","12.30","12.32","12.36","12.37","12.38","12.39","12.40","12.41","12.42","12.45","12.57","13.2","13.3","13.4","13.5","13.6","13.7","13.8","13.9","13.10","13.11","13.12","13.13","13.14","13.15","13.23","13.24","13.25","13.26","13.27","13.28","14.0","15.3","15.4","15.10","15.11","15.15","15.17","15.18","15.19","15.26","15.30","15.35","15.36","15.41","17.1","19.1","19.5","20.9","20.10","20.11","21.0","21.1","22.1","22.2","22.3","22.4","22.5","22.7","22.11","22.17","22.32","22.33","22.35","22.36","22.39","22.40","22.45"],"options":["10.1","22.0"],"for":["10.1","10.3","10.8","13.8","13.9","15.37"],"player":["10.1","10.2","10.3","10.4","10.6","10.7","10.8","10.9","10.10","10.11","10.12","10.13","10.14","10.15","10.16","11.1","12.0","12.1","12.2","12.3","12.4","12.6","12.7","12.8","12.9","12.10","12.12","12.14","12.15","12.18","12.19","12.20","12.21","12.22","12.23","12.24","12.25","12.26","12.27","14.0"],"manages":["10.2","10.3","10.4"],"all":["10.2","10.3","10.5","11.1"],"of":["10.2","10.4","10.8","10.10","10.11","10.12","10.13","11.1","11.6","13.5","13.28","13.29","13.30","15.35","15.36","15.41","20.11","21.0","22.5","22.11","22.39"],"elements":["10.2"],"which":["10.3","13.27","15.37","22.4","22.39","22.42"],"is":["10.3","10.4","10.6","10.8","10.9","10.10","10.13","10.15","12.0","12.1","12.12","14.0","20.11","22.39"],"essentially":["10.3","15.37"],"a":["10.3","10.15","11.6","12.5","12.33","12.34","12.35","15.16","15.37","15.39","22.4"],"and":["10.3","14.0","15.14","15.19","15.21","15.22","15.26","20.0"],"when":["10.3","12.1","12.2","12.3","12.4","12.5","12.6","12.7","12.8","12.9","12.10","12.11","12.12","12.13","12.14","12.15","12.16","12.17","12.18","12.19","12.20","12.21","12.22","12.23","12.24","12.25","12.26","12.27","12.28","12.29","12.30","12.31","12.32","12.33","12.34","12.35","12.36","12.37","12.38","12.39","12.40","13.31","14.0","15.30"],"using":["10.3"],"following":["10.3"],"local":["10.4"],"attribute":["10.4","15.30","19.5"],"used":["10.4","10.6","10.8","10.9","10.10","10.15","22.38","22.39","22.48"],"to":["10.4","10.6","10.9","10.15","13.1","13.3","13.20","13.24","13.32","13.33","15.11","15.38","16.1","17.1","18.1","22.10","22.15","22.17","22.19","22.26","22.32","22.38","22.39","22.45","22.46","22.48"],"cache":["10.4"],"method":["10.4","10.6","10.8","10.9","10.10","10.13","10.15"],"manage":["10.5","10.6","10.7","10.8","10.9","10.10","10.11","10.12","10.13","10.14","10.15","10.16"],"s":["10.6","10.7","10.9","10.14","10.15","10.16","12.0","14.0","19.2","19.4","19.5","22.40"],"notices":["10.7"],"there":["10.7"],"dynamically":["10.8","10.9","10.15","15.31","15.32","15.33","15.40","15.41"],"controllers":["10.9"],"right":["10.10","12.37"],"context":["10.10","22.30"],"menu":["10.10","16.0","22.30"],"features":["10.11","10.16"],"layer":["10.12","10.14"],"functionality":["10.13"],"property":["10.14","16.1","17.1","18.1","19.2","19.4"],"settings":["10.15","12.39","19.1","21.0"],"panel":["10.15","12.39","13.22","19.0","19.1","22.29"],"plugin":["10.16","14.0","24.18"],"with":["10.16","20.11"],"here":["11.0","13.0","15.0"],"returns":["11.1","11.2","11.3","11.4","11.5","11.6","11.7","11.8","11.9","11.10","11.11","11.12","13.2"],"an":["11.1","12.11","12.47"],"collection":["11.6"],"utility":["11.6"],"events":["12.0","14.0","15.37"],"are":["12.0","21.2"],"divided":["12.0"],"into":["12.0"],"two":["12.0"],"types":["12.0"],"one":["12.0"],"native":["12.0"],"prefix":["12.0"],"other":["12.0"],"custom":["12.0","12.33","22.28","22.29","22.30","22.31","22.34","22.42"],"triggered":["12.1","12.2","12.3","12.4","12.5","12.6","12.7","12.8","12.9","12.10","12.11","12.12","12.13","12.14","12.15","12.16","12.17","12.18","12.19","12.20","12.21","12.22","12.23","12.24","12.25","12.26","12.27","12.28","12.29","12.30","12.31","12.32","12.33","12.34","12.35","12.36","12.37","12.38","12.39","12.40"],"switches":["12.2"],"occurs":["12.11","12.28"],"mouse":["12.13"],"on":["12.16","13.18","13.19","13.20","13.21","13.23","13.25","22.33","22.35"],"mobile":["12.16","13.21","13.23","13.25"],"aspect":["12.17"],"automatically":["12.18","22.10","22.12"],"goes":["12.21","12.22"],"enters":["12.24","12.25"],"subtitle":["12.28","12.29","12.30","22.24"],"offset":["12.28"],"updates":["12.29"],"loads":["12.30"],"subtitles":["12.31","22.36"],"switch":["12.31"],"information":["12.32","22.33"],"loader":["12.34"],"controller":["12.38"],"browser":["12.41"],"media":["12.45"],"content":["12.45"],"attributes":["13.0"],"whether":["13.1","13.3","13.18","13.19","13.20","13.32","13.33","15.25","16.1","17.1","18.1","22.10","22.14","22.15","22.17","22.19","22.26","22.32","22.43","22.44","22.45","22.46","22.47"],"start":["13.1"],"mode":["13.1"],"enable":["13.3"],"display":["13.4","22.18","22.22","22.23"],"duration":["13.4","13.12","13.13"],"throttle":["13.8","13.9"],"boundary":["13.10"],"tolerance":["13.10"],"distance":["13.10"],"maximum":["13.11","13.14"],"minimum":["13.12"],"delay":["13.13","13.15","13.16","13.17"],"auto":["13.16"],"double":["13.17"],"event":["13.17"],"desktop":["13.18"],"devices":["13.21"],"refresh":["13.22"],"milliseconds":["13.24"],"increment":["13.27"],"by":["13.27"],"list":["13.28","13.29","13.30","15.41","19.2"],"built":["13.28","13.29","13.30"],"flips":["13.30"],"setting":["13.32","13.33","15.11","15.40","15.41"],"plugins":["14.0"],"once":["14.0"],"you":["14.0","20.9","21.2"],"know":["14.0"],"methods":["14.0"],"very":["14.0"],"simple":["14.0"],"can":["14.0","15.30","20.9"],"load":["14.0"],"functions":["14.0"],"instantiated":["14.0"],"jump":["15.5"],"sets":["15.8","15.25"],"address":["15.11","15.17","15.18","22.2"],"similar":["15.11","15.38"],"quality":["15.12"],"download":["15.16"],"gets":["15.17","15.18","15.26"],"size":["15.26","22.11"],"has":["15.30"],"only":["15.30","20.11"],"this":["15.30"],"activate":["15.34"],"proportion":["15.35","15.36"],"proxies":["15.37"],"shortcut":["15.39"],"getting":["15.40"],"or":["15.40"],"description":["16.1","17.1","18.1","19.2","19.4","19.5"],"component":["17.1"],"first":["19.1"],"open":["19.1"],"selection":["19.2","22.32"],"nested":["19.3"],"lists":["19.3"],"button":["19.4"],"range":["19.5"],"slider":["19.5"],"group":["20.1","20.2","20.3","20.4","20.5","23.1","23.2","23.3","23.4","23.5","24.2","24.3"],"bash":["20.2","23.2","24.2","24.3"],"index":["20.3","23.3","24.18"],"head":["20.3"],"jsx":["20.5","20.8","23.5","23.8"],"import":["20.5","21.4","23.5","23.9","25.4"],"useeffect":["20.5","23.5"],"useref":["20.5","23.5"],"from":["20.5","21.4","23.5","25.4"],"importing":["20.6"],"also":["20.9"],"use":["20.9","22.8","22.19","22.26","22.45"],"sometimes":["20.10"],"your":["20.10"],"file":["20.10"],"may":["20.10"],"lose":["20.10"],"typescript":["20.10","23.10"],"hints":["20.10"],"browsers":["20.11"],"production":["20.11"],"build":["20.11"],"compatible":["20.11"],"danger":["21.0","25.0"],"given":["21.0"],"increasing":["21.0"],"bundled":["21.0"],"languages":["21.1","21.2"],"language":["21.2","21.3","21.4","22.41","26.41"],"files":["21.2"],"before":["21.2"],"packaging":["21.2"],"located":["21.2"],"src":["21.2","25.2"],"i18n":["21.2","25.2"],"zhtw":["21.4","25.4"],"where":["22.1"],"source":["22.2"],"unique":["22.3"],"undefined":["22.4","26.4"],"constructor":["22.4"],"accepts":["22.4"],"as":["22.4"],"second":["22.4"],"argument":["22.4"],"f00":["22.6","26.6"],"false":["22.8","22.9","22.10","22.11","22.12","22.13","22.14","22.15","22.16","22.17","22.18","22.20","22.22","22.23","22.24","22.25","22.26","22.37","22.43","22.44","22.45","22.46","22.47","26.10","26.11","26.12","26.14","26.15","26.16","26.17","26.24","26.26","26.43","26.45","26.47"],"displays":["22.16"],"true":["22.19","22.21","22.27","26.19"],"hotkeys":["22.19"],"if":["22.21"],"mini":["22.25"],"ssr":["22.26","26.26"],"server":["22.26"],"initializes":["22.28","22.29","22.31"],"initialize":["22.30","22.34"],"bottom":["22.31"],"control":["22.31"],"bar":["22.35"],"supporting":["22.36"],"formats":["22.36"],"vtt":["22.36","26.36"],"srt":["22.36","26.36"],"controls":["22.37","26.37"],"preload":["22.37"],"replace":["22.38"],"specify":["22.39"],"format":["22.39"],"conjunction":["22.39"],"matches":["22.40"],"navigator":["22.41","26.41"],"configuration":["22.42"],"will":["22.42"],"be":["22.42"],"deeply":["22.42"],"merged":["22.42"],"automatic":["22.45"],"导入":["23.6"],"你也可以使用选项的类型":["23.9"],"ts":["23.9"],"有时你的":["23.10"],"文件会丢失":["23.10"],"的类型提示":["23.10"],"这时候你可以手动导入类型":["23.10"],"生产构建的":["23.11"],"只兼容最新一个主版本的":["23.11"],"chrome":["23.11"],"last":["23.11"],"查看完整演示":["24.1"],"jsdelivr":["24.3"],"每一个弹幕是一个对象":["24.4"],"多个弹幕组成的数组就是弹幕库":["24.4"],"通常只需要":["24.4"],"text":["24.4"],"只有":["24.5"],"danmuku":["24.5","24.18"],"是必须的参数":["24.5"],"其余都是非必填":["24.5"],"弹幕数据":["24.5"],"speed":["24.5"],"弹幕持续时间":["24.5"],"范围在":["24.5"],"margin":["24.5"],"来自用户输入的弹幕":["24.6"],"beforeemit":["24.6"],"filter":["24.6"],"beforevisible":["24.6"],"artplayerplugindanmuku":["24.6"],"visible":["24.6"],"来自服务器的弹幕":["24.6"],"xml":["24.8"],"弹幕":["24.8"],"文件":["24.8"],"data":["24.9","24.11","24.12","24.13","24.14","24.18"],"通过方法":["24.10","24.12","24.13"],"进行隐藏或者显示弹幕":["24.10"],"通过属性":["24.11"],"判断当前弹幕是隐藏或者显示":["24.11"],"发送一条实时弹幕":["24.12"],"libs":["24.12","24.13","24.14","24.18"],"实时改变弹幕配置":["24.13"],"uncompiled":["24.13","24.14","24.18"],"通过":["24.14"],"方法可以重载弹幕库":["24.14"],"或者切换新弹幕库":["24.14"],"或者追加新的弹幕库":["24.14"],"用于清空当前显示的弹幕":["24.15"],"在初始化弹幕插件的时候":["24.16"],"是可以指定弹幕发射器的挂载位置的":["24.16"],"默认是挂载在控制栏的中部":["24.16"],"你也可以把它挂载在播放器以外的地方":["24.16"],"当播放器全屏的时候":["24.16"],"发射器会自动回到控制栏的中部":["24.16"],"假如你挂载的地方是亮色的话":["24.16"],"建议把":["24.16"],"用于获取当前弹幕配置":["24.17"],"鉴于捆绑的多国语言越来越多":["25.0"],"从":["25.0"],"默认语言有":["25.1"],"en":["25.1"],"zh":["25.1"],"打包前的语言文件存放于":["25.2"],"欢迎来添加你的语言":["25.2"],"打包后的语言文件存放于":["25.2"],"dist":["25.2"],"播放器挂载的":["26.1"],"视频源地址":["26.2"],"播放器的唯一标识":["26.3"],"构造函数接受一个函数作为第二个参数":["26.4"],"播放器初始化成功且视频可以播放时触发":["26.4"],"ready":["26.4"],"视频的海报":["26.5"],"是否自动播放":["26.10"],"是否使用快捷键":["26.19"],"字幕时间偏移":["26.24"],"是否使用":["26.26"],"初始化自定义的":["26.28","26.29","26.30","26.34"],"层":["26.28"],"设置面板":["26.29"],"右键菜单":["26.30"],"初始化自定义的底部":["26.31"],"控制栏":["26.31"],"是否在底部控制栏里显示":["26.32"],"画质选择":["26.32"],"列表":["26.32"],"在进度条上显示":["26.33"],"高亮信息":["26.33"],"插件":["26.34"],"在进度条上设置":["26.35"],"预览图":["26.35"],"设置视频的字幕":["26.36"],"支持字幕格式":["26.36"],"ass":["26.36"],"用于替换默认图标":["26.38"],"支持":["26.38"],"用于指明视频的格式":["26.39"],"需要配合":["26.39"],"customtype":["26.39"],"通过视频的":["26.40"],"自定义":["26.42"],"配置":["26.42"],"该配置会和自带的":["26.42"],"进行深度合并":["26.42"],"新增你的语言":["26.42"],"是否使用自动":["26.45"],"回放功能":["26.45"],"用于改变内置的css变量":["26.48"]},{"0":["3.25","3.26","5.8","13.28","21.0","24.5","25.0"],"1":["3.26","3.28","5.8","5.35","5.36","13.28","20.11","21.0","23.10","25.0"],"2":["3.28","20.8","23.8"],"3":["3.23","13.29","20.9","22.2","23.10","26.2"],"4":["6.2","13.29","16.2","22.45","26.42"],"5":["3.12","3.14","3.25","3.27","13.28","21.0","22.28","22.29","25.0","26.28","26.29"],"6":["2.0","6.3","7.3","12.0","16.3","17.3"],"7":["15.15","26.7"],"8":["20.3"],"9":["3.29","9.6","13.29","19.6","21.3","26.42"],"10":["2.2","3.11","7.2","17.2"],"11":["2.28"],"13":["2.31","6.2","6.3","16.2","16.3"],"14":["9.6","19.6"],"16":["3.29","13.29"],"19":["5.41"],"21":["6.4","6.5","7.3","7.4","8.4","16.4","16.5","17.3","17.4","18.4"],"22":["8.2","8.3","9.7","18.2","18.3","19.7"],"23":["22.28","26.28"],"24":["6.5","16.5"],"25":["3.28","24.5"],"29":["5.41","8.5","18.5"],"34":["22.29","26.29"],"35":["3.7"],"40":["7.5","17.5"],"50":["3.10"],"75":["13.28"],"200":["3.6","3.8","3.9","3.21"],"300":["3.17"],"1000":["3.15","3.22","3.24"],"2000":["3.4"],"3000":["3.13","3.16"],"code":["0.1","0.2","0.4","0.5","0.6","0.7","0.12","0.13","0.14","0.15","0.16","1.1","1.6","2.1","2.3","2.4","2.5","2.6","2.7","2.8","2.9","2.10","2.11","2.12","2.13","2.14","2.15","2.16","2.17","2.18","2.19","2.20","2.21","2.22","2.23","2.24","2.25","2.26","2.27","2.29","2.30","2.32","2.33","2.34","2.35","2.36","2.37","2.38","2.39","2.40","3.3","3.5","3.6","3.7","3.17","3.29","3.30","5.1","5.2","5.3","5.11","5.13","5.15","5.16","5.19","5.20","5.21","5.22","5.24","5.25","5.26","5.28","5.29","5.30","5.31","5.32","5.33","5.34","5.40","5.41","5.42","9.2","10.1","10.2","12.0","12.20","12.29","12.30","12.31","13.20","15.1","15.2","15.11","15.15","15.19","15.34","15.40","15.41","19.2","22.1","22.7","22.10","22.19","22.29","22.30","22.31","22.34","22.42","22.45","24.10","24.16","25.2","26.1","26.4","26.10","26.19","26.29","26.30","26.31","26.34","26.38","26.42","26.45","26.48"],"js":["0.2","0.4","0.13","0.16","2.2","2.18","2.22","2.24","2.28","2.29","2.30","2.31","5.41","6.2","6.3","6.4","7.4","8.4","9.2","9.6","10.2","12.0","12.31","15.15","15.41","16.2","16.3","16.4","17.4","18.4","19.2","19.6","22.1","22.2","22.19","22.28","22.29","22.45","24.4","24.6","24.11","24.12","24.13","24.14","25.1","26.2","26.4","26.28","26.29","26.31","26.42"],"var":["0.2","0.4","2.0","2.31","4.0","5.41","6.2","6.3","6.4","6.5","7.3","7.4","7.5","8.2","8.3","8.4","8.5","9.2","9.6","9.7","9.8","10.2","12.0","14.0","15.15","16.2","16.3","16.4","16.5","17.3","17.4","17.5","18.2","18.3","18.4","18.5","19.2","19.3","19.6","19.7","19.8","21.3","22.2","22.28","22.29","24.13","24.14","24.18","25.3","25.4","26.2","26.28","26.29"],"hover":["0.3"],"方法用于代理自定义的":["0.3"],"loadimg":["0.3"],"方法用于监听图片的":["0.3"],"load":["0.3"],"加载事件":["0.3"],"div":["0.3","0.6","0.8","0.9","0.10","0.11","0.12","0.14","0.15","1.2","1.3","1.4","1.5","1.7","1.8","1.9","1.10","1.11","1.12","3.1","3.2","3.4","3.5","3.6","3.7","3.8","3.9","3.10","3.11","3.12","3.13","3.14","3.15","3.16","3.17","3.18","3.19","3.20","3.21","3.22","3.23","3.24","3.25","3.26","3.27","3.28","3.29","3.30","3.32","3.33","5.5","5.6","5.7","5.8","5.9","5.10","5.11","5.12","5.13","5.14","5.16","5.17","5.18","5.19","5.20","5.21","5.22","5.23","5.24","5.25","5.27","5.28","5.29","5.31","5.32","5.33","5.37","5.39","5.40","5.42","9.1","9.2","10.2","10.5","11.6","12.0","12.3","12.4","12.6","12.7","12.8","12.9","12.10","12.13","12.14","12.15","12.16","12.17","12.18","12.19","12.20","12.21","12.22","12.23","12.24","12.25","12.26","12.27","12.28","12.29","12.30","12.34","12.38","12.39","12.40","13.20","13.30","15.1","15.2","15.7","15.11","15.19","15.21","15.26","15.30","15.34","15.40","15.41","15.42","19.2","20.4","22.1","22.7","22.10","22.19","22.30","22.31","22.34","22.38","22.42","22.45","23.4","24.8","24.16","26.1","26.3","26.4","26.5","26.7","26.8","26.9","26.10","26.13","26.17","26.19","26.21","26.25","26.34","26.38","26.42","26.44","26.45","26.48"],"classname":["0.4","0.5","0.6","0.7","0.8","0.9","0.10","0.11","0.12","0.13","0.14","0.15","1.1","1.2","1.3","1.4","1.5","1.6","1.7","1.8","1.9","1.10","1.12","3.1","3.2","3.3","3.4","3.5","3.6","3.7","3.8","3.9","3.10","3.11","3.12","3.13","3.14","3.16","3.17","3.18","3.19","3.20","3.22","3.23","3.26","3.27","3.29","3.30","3.32","3.33","5.1","5.2","5.3","5.5","5.6","5.7","5.8","5.9","5.10","5.11","5.12","5.13","5.15","5.16","5.17","5.18","5.19","5.20","5.21","5.22","5.23","5.24","5.25","5.26","5.28","5.29","5.30","5.31","5.32","5.33","5.34","5.39","5.40","5.42","9.1","9.2","10.1","10.2","10.5","12.0","12.3","12.4","12.6","12.7","12.8","12.9","12.10","12.14","12.16","12.18","12.20","12.21","12.22","12.23","12.24","12.26","12.27","12.28","12.29","12.30","12.40","13.20","15.1","15.2","15.11","15.19","15.21","15.26","15.30","15.34","15.40","15.41","15.42","19.2","22.1","22.7","22.10","22.19","22.30","22.31","22.34","22.38","22.42","22.45","24.8","24.10","24.16","26.1","26.3","26.4","26.5","26.7","26.9","26.10","26.13","26.17","26.19","26.30","26.31","26.34","26.38","26.42","26.44","26.45","26.48"],"run":["0.4","0.5","0.6","0.7","0.10","0.11","0.12","0.13","0.14","0.15","0.16","1.1","1.6","2.1","2.3","2.4","2.5","2.7","2.8","2.9","2.10","2.13","2.14","2.15","2.16","2.19","2.27","2.32","2.33","2.34","2.35","2.36","2.37","2.38","2.40","3.3","3.5","3.6","3.7","3.8","3.9","3.10","3.11","3.17","3.22","3.29","3.30","3.32","5.1","5.2","5.3","5.7","5.9","5.11","5.13","5.15","5.16","5.17","5.18","5.19","5.20","5.21","5.22","5.24","5.25","5.26","5.28","5.29","5.30","5.31","5.32","5.33","5.34","5.40","5.42","9.1","9.2","10.1","10.2","10.5","12.0","12.6","12.7","12.8","12.10","12.20","12.24","12.28","12.29","12.30","12.31","13.20","15.1","15.2","15.11","15.15","15.19","15.21","15.30","15.34","15.40","15.41","19.2","22.1","22.7","22.10","22.19","22.29","22.30","22.31","22.34","22.42","22.45","24.8","24.10","24.16","26.1","26.4","26.5","26.7","26.10","26.19","26.30","26.31","26.34","26.38","26.42","26.45","26.48"],"art":["0.4","2.0","5.10","5.12","5.41","6.2","6.3","6.4","6.5","7.3","7.4","7.5","8.2","8.3","8.5","9.2","9.3","9.6","9.7","9.8","12.0","14.0","15.10","15.12","15.15","16.2","16.3","16.4","16.5","17.3","17.4","17.5","18.2","18.3","18.5","19.2","19.3","19.6","19.7","19.8","20.5","21.3","22.2","23.10","24.14","24.18","25.3","26.2"],"new":["0.4","2.0","4.0","6.2","6.3","6.4","6.5","7.3","7.4","7.5","8.3","9.2","9.3","9.6","9.7","9.8","12.0","14.0","16.2","16.3","16.4","16.5","17.3","17.4","17.5","18.3","19.2","19.3","19.6","19.7","19.8","20.5","22.2","24.14","24.18","25.3","26.2"],"artplayer":["0.4","2.0","4.0","6.2","6.3","6.4","6.5","7.3","7.4","7.5","9.2","9.3","9.7","9.8","12.0","14.0","16.2","16.3","16.4","16.5","17.3","17.4","17.5","19.2","19.3","19.7","19.8","20.3","20.6","21.4","22.2","23.3","23.4","23.6","23.9","23.10","24.6","24.7","24.9","24.10","24.11","24.12","24.13","24.14","24.15","24.17","26.2"],"container":["0.4","2.0","4.0","6.4","6.5","7.3","7.5","9.2","9.3","9.7","9.8","12.0","14.0","16.4","16.5","17.3","17.5","19.2","19.3","19.7","19.8","22.2","22.11","24.18","26.11"],"方法用于更新":["0.6"],"对象":["0.6"],"方法用于动态更新层":["0.8"],"show":["0.8","0.9","0.10","0.15","10.7","22.14","22.15"],"属性用于设置是否显示全部层":["0.8"],"toggle":["0.8","0.9","0.10","0.15","13.19","22.18"],"方法用于切换是否显示全部层":["0.8"],"方法用于动态更新控制器":["0.9"],"属性用于设置是否显示全部控制器":["0.9"],"方法用于切换是否显示全部控制器":["0.9"],"属性用于设置是否显示全部菜单":["0.10"],"方法用于切换是否显示全部菜单":["0.10"],"switch":["0.11","9.4","13.18","19.4","22.20"],"方法设置当前字幕地址和选项":["0.11"],"属性用于切换是否显示加载层":["0.12"],"属性用于切换是否显示遮罩层":["0.14"],"属性用于设置是否显示全部设置项":["0.15"],"方法用于切换是否显示全部设置项":["0.15"],"字符串":["1.11"],"app":["2.0","4.0","7.2","7.5","9.2","9.3","9.7","9.8","12.0","14.0","17.2","17.5","19.3","19.7","19.8","22.2","24.18"],"url":["2.0","4.0","5.10","7.2","7.5","9.3","9.8","12.0","14.0","15.10","15.11","17.2","17.5","19.3","19.8","22.35","22.36","24.18","26.35","26.36"],"assets":["2.0","4.0","7.2","8.2","8.3","8.4","8.5","9.3","9.8","12.0","14.0","17.2","18.2","18.3","18.4","18.5","19.3","19.8","22.2","22.28","24.18","26.28"],"sample":["2.0","4.0","7.2","8.2","8.3","8.4","8.5","9.3","9.8","14.0","17.2","18.2","18.3","18.4","18.5","19.3","19.8","22.2","22.28","24.18","26.28"],"mp4":["2.0","4.0","7.2","14.0","17.2","24.18"],"on":["2.0","4.0","12.5","14.0","22.21","22.22","22.23","22.46"],"canplay":["2.0"],"浏览器可以播放媒体文件了":["2.41"],"浏览器估计它可以在不停止内容缓冲的情况下播放媒体直到结束":["2.42"],"offlineaudiocontext":["2.43","12.43"],"duration":["2.44"],"媒体内容变为空":["2.45"],"例如":["2.45"],"视频停止播放":["2.46"],"获取媒体数据时出错":["2.47"],"media":["2.48","12.41","12.58"],"已加载元数据":["2.49"],"播放已暂停":["2.50"],"播放已开始":["2.51"],"由于缺乏数据而暂停或延迟后":["2.52"],"在浏览器加载资源时周期性触发":["2.53"],"播放速率发生变化":["2.54"],"跳帧":["2.55","2.56"],"用户代理":["2.57"],"媒体数据加载已暂停":["2.58"],"currenttime":["2.59"],"音量发生变化":["2.60"],"由于暂时缺少数据":["2.61"],"可以打印出视频全部的内置事件":["3.1"],"默认关闭":["3.1"],"默认为":["3.4","3.8","3.9","3.10","3.12","3.13","3.14","3.15","3.16","3.18","3.19","3.20","3.21","3.22","3.23","3.24","3.25","3.27","3.31","5.4"],"单位为毫秒":["3.15","3.21","3.24"],"true":["3.18","3.19","3.32","5.4","26.21","26.27"],"false":["3.20","3.31","3.33","13.20","13.33","26.8","26.9","26.13","26.18","26.20","26.22","26.23","26.25","26.37","26.44","26.46"],"是否把播放器挂在在":["3.31"],"元素下":["3.31"],"目前主要用于进度条的平滑效果":["3.33"],"dosomething":["4.0","14.0"],"video":["4.0","5.31","5.35","5.36","7.2","9.3","9.8","14.0","15.3","15.6","15.8","15.9","15.13","15.14","15.16","15.17","15.18","15.22","15.24","15.25","15.30","15.31","15.32","15.35","15.36","17.2","19.3","19.8","22.4","22.5","22.14","22.16","22.37","24.18","26.40"],"plugins":["4.0","24.18"],"ready":["4.0","12.52","14.0","22.4"],"可以在实例化之后再加载插件的函数":["4.0"],"销毁播放器":["5.4"],"接受一个参数表示是否销毁后同时移除播放器的":["5.4"],"html":["5.4","22.38","26.26","26.32"],"视频时间跳转":["5.5"],"单位秒":["5.5","5.6","5.7","26.33"],"视频时间快进":["5.6"],"视频时间快退":["5.7"],"设置和获取视频音量":["5.8"],"范围在":["5.8","26.24"],"string":["5.9","6.1","7.1","8.1","11.11","16.1","18.1","22.35","22.36","26.32","26.33","26.35","26.36"],"设置和获取视频地址":["5.9"],"类似":["5.10","5.11","5.12","5.14","5.38"],"但会执行一些优化操作":["5.10","5.11"],"switchurl":["5.12","15.12"],"但会带上之前的播放进度":["5.12"],"设置和获取视频是否静音":["5.13"],"设置和获取视频当前时间":["5.14"],"设置时间时和":["5.14"],"seek":["5.14"],"但它不会触发额外的事件":["5.14"],"返回的是一个":["5.17","5.18"],"promise":["5.17","5.18"],"设置和获取播放器窗口全屏":["5.19"],"设置和获取播放器网页全屏":["5.20"],"设置和获取播放器画中画模式":["5.21"],"只有在视频播放前才能看到海报效果":["5.22"],"boolean":["5.23","6.1","8.1","9.4","19.4","26.32"],"设置和获取播放器迷你模式":["5.23"],"获取视频是否正在播放中":["5.24"],"设置和获取播放器翻转":["5.27"],"支持":["5.27"],"normal":["5.27","13.30"],"horizontal":["5.27","13.30"],"vertical":["5.27","13.30"],"设置和获取播放器播放速度":["5.28"],"设置和获取播放器长宽比":["5.29"],"元素的属性":["5.31"],"动态获取和设置视频类型":["5.32"],"动态获取和设置播放器主题颜色":["5.33"],"常配合":["5.35","5.36"],"timeupdate":["5.35","5.36"],"事件使用":["5.35","5.36"],"和":["5.37","26.6","26.14","26.15","26.16"],"removeeventlistener":["5.37","15.37"],"当使用":["5.37"],"来处理事件":["5.37"],"播放器销毁时也会自动销毁该事件":["5.37"],"document":["5.38","15.38"],"queryselector":["5.38","15.38"],"但被查询的对象局限于当前播放器内":["5.38"],"可以避免同类名的错误":["5.38"],"元素":["5.39"],"动态设置缩略图":["5.42"],"是否禁用组件":["6.1","7.1","8.1"],"name":["6.1","7.1","7.2","8.1","14.0","16.1","17.2","18.1","22.36","26.36"],"组件唯一名称":["7.1"],"用于标记类名":["7.1"],"index":["7.1","7.2","17.1","17.2","24.6","24.9","24.11","24.12","24.13","24.14"],"controls":["7.2","17.2"],"your":["7.2","17.2","21.2","22.42"],"button":["7.2","17.2","22.17","22.18","22.22","22.23","22.43","22.47"],"img":["8.2","8.3","8.4","8.5","18.2","18.3","18.4","18.5","22.28","26.28"],"layer":["8.2","8.3","8.4","8.5","12.35","12.36","18.2","18.3","18.4","18.5","22.28"],"png":["8.2","8.3","8.5","18.2","18.3","18.5"],"aspectratio":["9.1"],"subtitleoffset":["9.1"],"number":["9.2","17.1","19.2","22.33","22.35","26.33","26.35"],"列表宽度":["9.2","19.2"],"tooltip":["9.2","9.4","9.5","19.2"],"提示文本":["9.2","9.5","19.2"],"元素的图标":["9.4","9.5"],"按钮默认状态":["9.4"],"onswitch":["9.4"],"function":["9.4","9.5","11.9","11.10","19.5","20.5","22.44","23.5","24.6"],"按钮切换事件":["9.4"],"range":["9.5","22.24"],"array":["9.5","19.5"],"默认状态数组":["9.5"],"onrange":["9.5","19.5"],"完成时触发的事件":["9.5"],"onchange":["9.5"],"变化时触发的事件":["9.5"],"here":["10.0"],"methods":["10.3"],"to":["10.3","10.7","10.10","10.12","10.13","10.14","10.16","12.0","12.1","12.2","13.0","13.5","13.18","13.19","13.30","13.31","15.5","15.10","15.12","15.37","15.39","21.2","22.4","22.9","22.13","22.14","22.27","22.40","22.43","22.44","22.47"],"handle":["10.3","15.37"],"event":["10.3","13.8","13.9","13.10","15.37","19.5"],"will":["10.3","15.11","15.37","22.8","22.11","22.17"],"also":["10.3"],"be":["10.3","15.11"],"automatically":["10.3","12.19","15.30","15.37"],"destroyed":["10.3","12.6"],"method":["10.3","10.16"],"get":["10.4","15.13","15.20","15.23","15.27","15.28","15.29","15.32","15.33"],"del":["10.4"],"of":["10.5","10.6","11.2","11.3","11.4","11.5","12.17","13.4","13.6","13.7","13.11","13.14","13.23","13.25","13.26","15.3","15.14","15.16","15.17","15.18","15.26","15.28","15.29","15.30","15.31","16.1","17.1","18.1","22.3","22.7","22.15"],"player":["10.5","11.6","11.12","12.5","12.11","12.13","12.17","12.28","13.2","13.31","13.32","15.4","15.19","15.20","15.21","15.23","15.26","15.27","15.33","20.5","22.1","22.3","22.4","22.6","22.7","22.11","22.46","23.5"],"retrieve":["10.6","15.9"],"value":["10.6"],"update":["10.6","10.8","10.9","10.15"],"only":["10.7","10.16","15.22","22.5","22.25"],"one":["10.7","10.16"],"property":["10.7","10.11","10.12","11.1","22.32","22.33","22.35","22.36"],"used":["10.7","10.12","10.13","10.14","22.6"],"display":["10.7","10.12","10.14","22.41","22.43","22.47"],"adding":["10.8"],"remove":["10.8","10.9","10.10","10.13","10.15"],"removing":["10.8"],"dynamically":["10.10","10.16","15.42"],"items":["10.10","13.6","13.7"],"sets":["10.11","12.18","12.19"],"and":["10.11","12.2","15.3","15.8","15.9","15.13","15.20","15.23","15.27","15.28","15.29","15.30","15.31","15.32","15.33","15.37","19.1","22.4","22.17","22.38"],"returns":["10.11"],"current":["10.11","15.14","15.16","15.17","15.18"],"address":["10.11","12.2","15.9","15.10","15.12"],"style":["10.11"],"is":["10.12","10.14","12.2","12.3","12.5","12.6","12.9","12.10","12.11","12.32","12.33","12.34","12.35","12.36","12.37","12.38","12.39","12.52","13.20","13.24","13.27","13.29","13.33","15.10","15.13","15.22","15.24","15.35","22.4","22.24"],"set":["10.12","10.14","15.9","15.23","15.30","15.31","15.32","15.33","15.42"],"whether":["10.12","10.14","13.31","15.4","15.13","15.24","22.9","22.13","22.27"],"a":["10.13","12.26","12.55","12.56","15.4","15.5","22.40","22.43"],"item":["10.15"],"add":["10.16","21.2","22.42","22.44"],"refer":["11.0","13.0"],"you":["11.1","20.10","20.11","22.26"],"can":["11.1","12.41","13.1","20.10"],"use":["11.1","22.27"],"this":["11.1","20.10"],"when":["11.1","13.14","13.15","13.23","13.24","15.37","22.4","22.5","22.12","22.25"],"information":["11.2","15.26"],"environment":["11.3"],"variables":["11.3","15.40","20.10","22.48"],"time":["11.4","12.27","15.5","15.6","15.7","15.14","22.33","26.33"],"default":["11.5","13.17","13.20","13.22","13.24","13.28","13.29","13.33","19.4","19.5","20.5","23.5"],"configuration":["11.5"],"functions":["11.6"],"for":["11.6","11.7","11.8","11.10","12.1","12.45","13.10","13.11","13.12","13.13","13.15","13.16","13.21","17.1","20.11","22.18"],"the":["11.6","12.5","12.11","12.46","12.48","12.54","12.59","13.0","13.16","13.21","13.31","13.32","13.33","15.6","15.8","15.9","15.13","15.14","15.16","15.20","15.21","15.22","15.23","15.24","15.25","15.27","15.28","15.29","15.31","15.32","15.33","15.37","15.38","15.39","16.1","18.1","22.12","22.13","22.14","22.15","22.16","22.18","22.20","22.21","22.22","22.23","22.24","22.42","22.46","22.47"],"validation":["11.7","11.9"],"constructor":["11.8"],"tool":["11.10"],"required":["11.11"],"s":["11.12","15.33"],"listening":["12.0"],"able":["12.1","12.2"],"play":["12.1","12.2","12.41","22.4"],"paused":["12.3"],"starts":["12.4"],"playing":["12.4"],"pressed":["12.5"],"gains":["12.7"],"loses":["12.8"],"focus":["12.8"],"double":["12.9","13.24"],"clicked":["12.9","12.10"],"while":["12.11"],"loading":["12.11"],"hovered":["12.12"],"or":["12.12","12.32","12.33","12.34","12.35","12.36","12.37","12.38","12.39"],"unhovered":["12.12"],"by":["12.12","13.28","22.9","22.11","22.39"],"moves":["12.13"],"over":["12.13"],"size":["12.14","12.19"],"changes":["12.14","12.16","12.17","12.40"],"appears":["12.15","22.5","22.25"],"in":["12.15","12.25","12.27","12.28","13.4","13.5","13.6","13.7","13.8","13.9","13.10","13.12","13.17","13.22","15.5","15.7","15.21","20.10","22.17","22.20","22.32","22.42","22.48"],"viewport":["12.15"],"locked":["12.16"],"state":["12.16","12.40","15.3","19.4","19.5"],"height":["12.18","15.30"],"flips":["12.20"],"into":["12.21","12.22"],"full":["12.21","12.22"],"screen":["12.21","12.22"],"error":["12.22"],"enters":["12.23"],"web":["12.23","15.20","22.23","22.46"],"fullscreen":["12.23","22.23"],"mode":["12.24","12.25","15.21","22.8","22.12","22.26","22.27","24.5"],"picture":["12.25","15.21","22.20"],"takes":["12.26"],"jumps":["12.27"],"panel":["12.32","13.5","13.6","13.7"],"shown":["12.32","12.33","12.34","12.35","12.36","12.37","12.38","12.39"],"hidden":["12.32","12.33","12.34","12.35","12.36","12.38","12.39"],"click":["12.37","13.3"],"menu":["12.37","13.3"],"browser":["12.42"],"estimates":["12.42"],"triggered":["12.44","19.5","22.4"],"becomes":["12.45"],"empty":["12.45"],"example":["12.45"],"occurred":["12.47"],"metadata":["12.49","22.37","26.37"],"playback":["12.50","12.51","12.61","13.27","15.28","22.15"],"periodically":["12.53"],"user":["12.57"],"agent":["12.57"],"volume":["12.60"],"which":["13.1","15.8","15.10","22.5","22.8"],"print":["13.1","13.32"],"out":["13.1"],"all":["13.1"],"built":["13.1","22.42","22.48"],"right":["13.3"],"context":["13.3","22.17"],"notification":["13.4"],"message":["13.4"],"settings":["13.5","13.6","13.7"],"pixels":["13.5","13.10"],"defaults":["13.5","13.8","13.9","13.30"],"milliseconds":["13.8","13.9","13.17","13.22"],"view":["13.10"],"records":["13.11"],"automatic":["13.11","13.14","13.15"],"feature":["13.12","13.13","22.14","22.15","22.16","22.45"],"hiding":["13.13"],"reconnection":["13.14","13.15"],"attempts":["13.14"],"attempt":["13.15"],"bottom":["13.16","22.32"],"measured":["13.17"],"pause":["13.19","15.3"],"single":["13.20"],"delay":["13.21"],"rotation":["13.21"],"unit":["13.22"],"multiplier":["13.23"],"rate":["13.23"],"speed":["13.23","13.25","15.28","22.15"],"tapped":["13.24"],"sliding":["13.25"],"adjusting":["13.26"],"with":["13.26","19.1","22.39","22.42"],"shortcuts":["13.26"],"progress":["13.27","22.25","22.33"],"adjusted":["13.27"],"via":["13.27"],"speeds":["13.28"],"ratios":["13.29"],"mount":["13.31","22.26"],"requestanimationframe":["13.33"],"currently":["13.33","15.24","22.3","22.6","22.41"],"myplugin":["14.0"],"console":["14.0"],"info":["14.0"],"return":["14.0","15.39"],"something":["14.0"],"accepts":["15.4"],"indicating":["15.4"],"specific":["15.5"],"fast":["15.6","22.44"],"rewind":["15.7"],"seconds":["15.7"],"gets":["15.8"],"ranges":["15.8"],"similar":["15.10","15.12"],"but":["15.11","15.12","15.38"],"some":["15.11"],"optimization":["15.11"],"operations":["15.11"],"executed":["15.11"],"it":["15.12","19.1","22.16","22.17"],"setting":["15.14"],"frame":["15.16"],"optional":["15.16"],"screenshot":["15.17","15.18"],"window":["15.19","22.22"],"page":["15.20"],"effect":["15.22"],"visible":["15.22"],"should":["15.25"],"auto":["15.25"],"adjust":["15.25"],"position":["15.26"],"supports":["15.27","22.38","22.41"],"aspect":["15.29","22.16"],"ratio":["15.29","22.16"],"calculate":["15.30"],"attributes":["15.31","22.37"],"that":["15.35","15.36"],"cached":["15.35"],"ranging":["15.35","15.36"],"from":["15.35","15.36","21.0","23.9"],"has":["15.36"],"been":["15.36"],"using":["15.37"],"object":["15.38"],"being":["15.38"],"queried":["15.38"],"css":["15.40","22.48"],"qualities":["15.41"],"component":["16.1","18.1"],"unique":["16.1","17.1","18.1"],"class":["17.1"],"identification":["17.1"],"then":["19.1"],"comes":["19.1"],"four":["19.1"],"元素点击事件":["19.2"],"width":["19.2"],"icon":["19.4"],"upon":["19.5"],"usage":["20.0"],"bash":["20.1","23.1"],"npm":["20.1","23.1","24.2"],"jsdelivr":["20.2","23.2"],"net":["20.2","23.2","24.3"],"https":["20.2","23.2","24.3"],"title":["20.3","23.3"],"demo":["20.3"],"meta":["20.3"],"charset":["20.3"],"utf":["20.3"],"template":["20.4","23.4"],"ref":["20.4"],"artref":["20.4","20.5","23.5"],"export":["20.5","23.5"],"option":["20.5","23.5"],"getinstance":["20.5","23.5"],"rest":["20.5","23.5"],"const":["20.5","23.5","23.9"],"import":["20.8","20.9","20.10","23.8","23.10"],"type":["20.9","23.10"],"ts":["20.9","26.39"],"case":["20.10"],"manually":["20.10"],"types":["20.10"],"latest":["20.11"],"major":["20.11"],"version":["20.11","21.0","23.11"],"chrome":["20.11"],"last":["20.11"],"multilingual":["21.0"],"packs":["21.0"],"starting":["21.0"],"are":["21.1","22.21"],"en":["21.1","26.41"],"zh":["21.1","21.4","25.2","25.4","26.41"],"cn":["21.1","25.1"],"welcome":["21.2"],"packaged":["21.2"],"at":["21.2"],"dist":["21.2"],"i18n":["21.4","25.4"],"tw":["21.4","25.2","25.4"],"mounts":["22.1"],"identifier":["22.3"],"successfully":["22.4"],"initialized":["22.4"],"color":["22.6","24.5"],"live":["22.8"],"hide":["22.8"],"mute":["22.9"],"fill":["22.11"],"entire":["22.11"],"enter":["22.12"],"mini":["22.12"],"appear":["22.17"],"toolbar":["22.17"],"there":["22.21"],"multiple":["22.21"],"players":["22.21"],"offset":["22.24"],"5s":["22.24","26.24"],"bar":["22.25","22.31","22.32","22.33"],"side":["22.26"],"rendering":["22.26"],"useful":["22.26"],"if":["22.26"],"want":["22.26"],"list":["22.32"],"control":["22.32"],"description":["22.32","22.33","22.35","22.36"],"thumbnail":["22.35"],"ass":["22.36"],"additional":["22.37"],"these":["22.37"],"strings":["22.38"],"htmlelement":["22.38","26.38"],"customtype":["22.39"],"same":["22.39"],"as":["22.39"],"file":["22.39"],"extension":["22.39"],"delegate":["22.40"],"decoding":["22.40"],"third":["22.40"],"tolowercase":["22.41","26.41"],"language":["22.42"],"forward":["22.44"],"rotate":["22.46"],"mobile":["22.46"],"change":["22.48"],"head":["23.3"],"let":["23.10"],"null":["23.10"],"参数":["23.10"],"对于古老的浏览器":["23.11"],"可以使用":["23.11"],"legacy":["23.11"],"文件":["23.11"],"install":["24.2"],"就可以发送一个弹幕":["24.4"],"其余都是非必要参数":["24.4"],"弹幕文本":["24.4"],"弹幕上下边距":["24.5"],"支持像素数字和百分比":["24.5"],"opacity":["24.5"],"弹幕透明度":["24.5"],"ffffff":["24.5"],"默认弹幕颜色":["24.5"],"可以被单独弹幕项覆盖":["24.5"],"data":["24.6","24.7","24.10","24.15","24.17"],"libs":["24.6","24.7","24.9","24.10","24.11","24.15","24.17"],"uncompiled":["24.6","24.7","24.9","24.10","24.11","24.12","24.15","24.17"],"plugin":["24.6","24.7","24.9","24.10","24.11","24.12","24.13","24.14","24.15","24.17"],"danmuku":["24.6","24.9","24.11","24.12","24.13","24.14","24.15","24.17"],"保存到数据库":["24.6"],"savedanmu":["24.6"],"bilibili":["24.8"],"网站的弹幕格式一致":["24.8"],"theme":["24.16"],"设置成":["24.16"],"light":["24.16"],"否则会看不清":["24.16"],"artplayerplugindanmuku":["24.18"],"无需手动导入":["25.1"],"手动导入的语言有":["25.2"],"cs":["25.2"],"es":["25.2"],"fa":["25.2"],"fr":["25.2"],"id":["25.2"],"pl":["25.2"],"ru":["25.2"],"group":["25.2"],"容器":["26.1"],"目前只用于记忆播放":["26.3"],"autoplayback":["26.3"],"事件一样":["26.4"],"只会出现在播放器初始化且未播放的状态下":["26.5"],"播放器主题颜色":["26.6"],"目前用于":["26.6"],"进度条":["26.6"],"播放器的默认音量":["26.7"],"使用直播模式":["26.8"],"会隐藏进度条和播放时间":["26.8"],"是否默认静音":["26.9"],"播放器的尺寸默认会填充整个":["26.11"],"容器尺寸":["26.11"],"所以经常出现黑边":["26.11"],"该值能自动调整播放器尺寸以隐藏黑边":["26.11"],"当播放器滚动到浏览器视口以外时":["26.12"],"自动进入":["26.12"],"迷你播放":["26.12"],"模式":["26.12","26.27"],"是否循环播放":["26.13"],"是否显示视频翻转功能":["26.14"],"目前只出现在":["26.14"],"设置面板":["26.14","26.15","26.16","26.18","26.24"],"右键菜单":["26.14","26.15","26.16"],"是否显示视频播放速度功能":["26.15"],"会出现在":["26.15","26.16"],"是否显示视频长宽比功能":["26.16"],"是否在底部控制栏里显示":["26.17","26.18","26.20"],"视频截图":["26.17"],"功能":["26.17"],"的开关按钮":["26.18","26.20"],"画中画":["26.20"],"假如页面里同时存在多个播放器":["26.21"],"是否只能让一个播放器播放":["26.21"],"是否在底部控制栏里显示播放器":["26.22","26.23"],"窗口全屏":["26.22"],"按钮":["26.22","26.23","26.47"],"网页全屏":["26.23"],"出现在":["26.24"],"迷你进度条":["26.25"],"只在播放器失去焦点后且正在播放时出现":["26.25"],"挂载模式":["26.26"],"假如你希望在播放器挂载前":["26.26"],"就提前渲染好播放器所需的":["26.26"],"时有用":["26.26"],"你可以通过":["26.26"],"在移动端是否使用":["26.27"],"类型":["26.32"],"描述":["26.32","26.33","26.35","26.36"],"默认画质":["26.32"],"画质名字":["26.32"],"高亮时间":["26.33"],"text":["26.33"],"高亮文本":["26.33"],"预览图地址":["26.35"],"预览图数量":["26.35"],"column":["26.35"],"字幕名字":["26.36"],"字幕地址":["26.36"],"字幕类型":["26.36"],"可选":["26.36"],"preload":["26.37"],"更多视频属性":["26.37"],"这些属性将直接写入视频元素里":["26.37"],"字符串和":["26.38"],"一起使用":["26.39"],"默认视频的格式就是视频地址的后缀":["26.39"],"如":["26.39"],"m3u8":["26.39"],"mkv":["26.39"],"但有时候视频地地址没有正确的后缀":["26.39"],"进行匹配":["26.40"],"把视频解码权交给第三方程序进行处理":["26.40"],"处理的函数能接收三个参数":["26.40"],"视频":["26.40"],"dom":["26.40"],"默认显示语言":["26.41"],"目前支持":["26.41"],"是否在移动端显示一个":["26.43"],"锁定按钮":["26.43"],"用于隐藏底部":["26.43"],"控制栏":["26.43"],"是否在移动端添加长按视频快进功能":["26.44"],"是否在移动端的网页全屏时":["26.46"],"根据视频尺寸和视口尺寸":["26.46"],"旋转播放器":["26.46"],"是否显示":["26.47"],"当前只有部分浏览器支持该功能":["26.47"]},{"0":["9.5","13.26","15.8","15.35","15.36"],"1":["9.5","13.26","15.8","15.35","15.36","19.5","20.10"],"2":["13.28","22.1","24.5","26.1"],"3":["20.7","20.10","23.7"],"4":["22.7","22.10","22.19","22.30","22.31","22.38","22.42","25.1","26.10","26.19","26.30","26.31","26.38","26.45","26.48"],"5":["9.5","13.12","19.5","22.45","26.45"],"6":["2.1","2.3","2.4","2.5","2.7","2.8","2.9","2.10","2.11","2.12","2.13","2.14","2.15","2.16","2.27","2.32","2.33","2.34","2.35","2.36","2.37","2.38","2.39","2.40"],"7":["2.19","2.21","2.23","2.25","2.26","5.15","5.26","5.30","15.30","22.4","22.38","26.4","26.38"],"8":["2.17","2.20","5.1","5.13","5.20","5.28","5.29","5.31","5.32","5.33","5.40","12.20","15.40"],"9":["2.29","2.30","5.11","5.19","5.21","5.22","5.34","12.29","12.30","15.11","15.19","15.21","15.34","22.4","22.42","26.4"],"10":["2.6","2.18","2.24","7.5","9.5","12.24","13.11","13.24","17.5","24.4"],"11":["5.2","5.3","5.20","5.30","12.28","15.2","15.30","23.11"],"12":["22.30","26.30"],"13":["12.31"],"15":["22.34","26.34"],"16":["22.31","26.31"],"17":["4.0"],"19":["15.41"],"25":["13.28"],"29":["15.41"],"35":["13.7"],"50":["13.10"],"200":["13.6","13.8","13.9","13.21"],"250":["9.2","13.5","19.2"],"300":["13.17"],"1000":["13.22","24.6"],"2000":["13.4"],"是指挂载在":["0.0","1.0","5.0"],"js":["0.1","0.3","0.5","0.6","0.7","0.8","0.9","0.10","0.11","0.12","0.14","0.15","1.1","2.1","2.3","2.4","2.5","2.6","2.7","2.8","2.9","2.10","2.11","2.12","2.13","2.14","2.15","2.16","2.17","2.19","2.20","2.21","2.23","2.25","2.26","2.27","2.32","2.33","2.34","2.35","2.36","2.37","2.38","2.39","2.40","3.3","3.5","3.6","3.7","3.8","3.9","3.10","3.17","3.28","3.29","3.30","5.1","5.2","5.3","5.7","5.8","5.9","5.10","5.11","5.12","5.13","5.15","5.16","5.17","5.18","5.19","5.20","5.21","5.22","5.24","5.25","5.26","5.28","5.29","5.30","5.31","5.32","5.33","5.34","5.37","5.40","5.42","9.1","9.4","9.5","10.1","10.4","10.5","10.6","10.13","12.6","12.18","12.20","12.24","12.28","12.29","12.30","13.20","15.1","15.2","15.11","15.19","15.21","15.26","15.30","15.34","15.40","15.42","19.5","21.0","22.4","22.7","22.10","22.30","22.31","22.34","22.38","22.42","24.7","24.9","24.10","24.15","24.16","24.17","25.0","26.1","26.7","26.10","26.19","26.30","26.33","26.34","26.38","26.45","26.48"],"var":["0.1","0.3","0.5","0.6","0.7","0.8","0.9","0.10","0.11","0.12","0.13","0.14","0.15","0.16","2.1","2.2","2.3","2.4","2.5","2.6","2.7","2.8","2.9","2.10","2.11","2.12","2.13","2.14","2.15","2.16","2.17","2.18","2.19","2.20","2.21","2.22","2.23","2.24","2.25","2.26","2.27","2.28","2.29","2.30","2.32","2.33","2.34","2.35","2.36","2.37","2.38","2.39","2.40","5.2","5.3","5.11","5.13","5.15","5.19","5.21","5.22","5.26","5.28","5.29","5.30","5.31","5.32","5.33","5.34","5.40","5.42","9.4","10.1","10.5","12.29","12.30","12.31","13.20","15.2","15.11","15.19","15.21","15.30","15.40","15.41","21.4","22.1","22.7","22.10","22.19","22.30","22.31","22.42","22.45","24.6","24.9","24.10","24.11","24.12","25.1","26.1","26.4","26.10","26.19","26.30","26.31","26.38","26.42","26.45"],"art":["0.1","0.2","0.5","0.6","0.7","0.10","0.13","0.15","0.16","2.2","2.6","2.11","2.12","2.16","2.17","2.18","2.20","2.21","2.22","2.23","2.24","2.25","2.26","2.28","2.29","2.30","2.31","2.39","5.15","5.19","5.21","5.22","5.26","5.30","5.40","8.4","9.4","10.1","10.2","12.31","13.20","15.19","15.21","15.30","15.40","15.41","18.4","20.10","21.4","22.1","22.7","22.10","22.19","22.28","22.29","22.30","22.31","22.42","22.45","23.5","24.6","24.11","24.12","24.13","25.1","25.4","26.1","26.4","26.19","26.28","26.29","26.30","26.31","26.34","26.38","26.40","26.42","26.45"],"new":["0.1","0.2","0.6","0.7","0.13","0.15","0.16","2.2","2.6","2.17","2.18","2.20","2.22","2.24","2.28","2.29","2.30","2.31","5.11","5.22","5.40","5.41","8.2","8.4","8.5","10.1","10.2","12.31","15.11","15.15","15.19","15.21","15.30","15.41","18.2","18.4","18.5","21.3","21.4","22.1","22.7","22.10","22.19","22.28","22.29","22.30","22.31","22.42","22.45","23.5","24.6","24.11","24.12","24.13","25.4","26.1","26.4","26.28","26.29","26.30","26.31","26.42"],"artplayer":["0.2","0.3","0.7","0.13","0.15","0.16","2.2","2.22","2.24","2.28","2.29","2.30","2.31","3.5","3.6","3.7","3.29","3.30","5.11","5.22","5.41","8.2","8.3","8.4","8.5","9.6","10.1","10.2","12.31","13.20","15.11","15.15","15.19","15.30","15.41","18.2","18.3","18.4","18.5","19.6","20.1","20.8","20.9","20.10","21.0","21.3","22.7","22.10","22.19","22.28","22.29","22.30","22.31","22.42","22.45","23.1","23.8","24.2","24.3","24.8","24.16","25.0","25.3","26.4","26.26","26.28","26.29","26.30","26.31","26.42"],"container":["0.2","0.3","0.13","0.16","2.2","2.28","2.31","5.11","5.41","6.2","6.3","7.4","8.2","8.3","8.4","8.5","9.6","10.2","12.31","15.11","15.15","15.19","15.41","16.2","16.3","17.4","18.2","18.3","18.4","18.5","19.6","20.5","21.3","21.4","22.7","22.10","22.19","22.28","22.29","22.30","22.31","22.42","22.45","23.5","23.9","24.6","24.11","24.12","24.13","24.14","25.3","25.4","26.2","26.4","26.28","26.29","26.31","26.42"],"app":["0.2","0.4","0.13","2.31","5.41","6.2","6.3","6.4","6.5","7.3","7.4","8.2","8.3","8.4","8.5","9.6","10.2","15.11","15.15","15.41","16.2","16.3","16.4","16.5","17.3","17.4","18.2","18.3","18.4","18.5","19.2","19.6","20.3","20.4","22.1","22.19","22.28","22.29","22.45","24.11","24.12","24.13","24.14","25.4","26.2","26.4","26.28","26.29","26.42"],"url":["0.2","0.4","5.41","6.2","6.3","6.4","6.5","7.3","7.4","8.2","8.3","8.5","9.2","9.6","9.7","10.2","15.15","15.41","16.2","16.3","16.4","16.5","17.3","17.4","18.2","18.3","18.5","19.2","19.6","19.7","22.19","22.28","22.29","22.32","22.39","22.45","24.12","24.13","24.14","26.28","26.29","26.32","26.40","26.42"],"classname":["0.3","1.11","3.15","3.21","3.24","3.25","3.28","3.31","5.4","5.14","5.27","5.35","5.36","5.37","5.38","9.4","10.4","10.6","10.7","10.13","10.16","11.6","12.1","12.2","12.5","12.11","12.12","12.13","12.15","12.17","12.19","12.25","12.32","12.33","12.34","12.35","12.36","12.37","12.38","12.39","13.2","13.3","13.5","13.8","13.9","13.10","13.17","13.22","13.28","13.29","13.30","13.32","15.3","15.5","15.6","15.7","15.8","15.9","15.10","15.13","15.20","15.22","15.23","15.24","15.25","15.27","15.28","15.29","15.31","15.32","15.33","15.37","15.39","19.4","22.4","22.9","22.13","22.33","22.41","22.48","26.6","26.8","26.12","26.14","26.15","26.16","26.18","26.20","26.21","26.22","26.23","26.24","26.25","26.26","26.27","26.32","26.33","26.37","26.39","26.41","26.43","26.46","26.47"],"run":["0.3","0.8","0.9","1.2","1.3","1.4","1.5","1.7","1.8","1.9","1.10","1.11","1.12","3.1","3.2","3.4","3.12","3.13","3.14","3.15","3.16","3.18","3.19","3.20","3.21","3.23","3.24","3.25","3.26","3.27","3.28","3.31","3.33","5.4","5.5","5.6","5.8","5.10","5.12","5.14","5.23","5.27","5.35","5.36","5.37","5.38","5.39","9.4","10.4","10.6","10.7","10.13","10.16","11.6","12.1","12.2","12.3","12.4","12.5","12.9","12.11","12.12","12.13","12.14","12.15","12.16","12.17","12.18","12.19","12.21","12.22","12.23","12.25","12.26","12.27","12.32","12.33","12.34","12.35","12.36","12.37","12.38","12.39","12.40","13.5","13.8","13.9","13.10","13.17","13.22","13.28","13.29","13.30","15.3","15.6","15.7","15.8","15.9","15.13","15.20","15.22","15.24","15.25","15.26","15.27","15.28","15.29","15.31","15.32","15.33","15.37","15.42","19.4","22.4","22.9","22.13","22.33","22.38","22.41","22.48","26.3","26.6","26.8","26.9","26.12","26.13","26.14","26.15","26.16","26.17","26.18","26.20","26.21","26.22","26.23","26.24","26.25","26.27","26.32","26.33","26.37","26.39","26.41","26.43","26.44","26.46","26.47"],"code":["0.3","0.8","0.9","0.10","0.11","1.2","1.3","1.4","1.5","1.7","1.8","1.9","1.10","1.12","3.1","3.2","3.4","3.8","3.9","3.10","3.11","3.12","3.13","3.14","3.15","3.16","3.18","3.19","3.20","3.21","3.22","3.23","3.24","3.25","3.26","3.27","3.28","3.31","3.32","3.33","5.4","5.5","5.6","5.7","5.8","5.9","5.10","5.12","5.14","5.17","5.18","5.23","5.27","5.35","5.36","5.37","5.38","5.39","9.1","9.4","10.4","10.5","10.6","10.7","10.13","10.16","11.6","12.2","12.3","12.4","12.5","12.6","12.7","12.8","12.9","12.10","12.11","12.12","12.13","12.14","12.15","12.16","12.17","12.18","12.19","12.21","12.22","12.23","12.24","12.25","12.26","12.27","12.28","12.32","12.33","12.34","12.35","12.36","12.37","12.38","12.39","12.40","13.5","13.8","13.9","13.17","13.22","13.29","13.30","15.3","15.7","15.8","15.9","15.13","15.20","15.21","15.24","15.26","15.27","15.28","15.29","15.30","15.31","15.32","15.33","15.37","15.42","19.4","21.0","21.2","22.4","22.38","22.48","24.8","26.3","26.5","26.7","26.8","26.9","26.12","26.13","26.17","26.18","26.20","26.21","26.22","26.23","26.24","26.25","26.27","26.32","26.33","26.37","26.39","26.41","26.43","26.44","26.46","26.47"],"document":["0.3","22.1"],"queryselector":["0.3"],"assets":["0.4","5.41","6.2","6.3","6.4","6.5","7.3","7.4","7.5","9.2","9.6","9.7","10.2","15.11","15.15","16.2","16.3","16.4","16.5","17.3","17.4","17.5","19.2","19.6","19.7","22.29","22.45","24.12","24.13","24.14","26.2","26.29","26.42"],"sample":["0.4","5.41","6.2","6.3","6.4","6.5","7.3","7.4","7.5","9.2","9.7","10.2","12.0","15.15","16.2","16.3","16.4","16.5","17.3","17.4","17.5","19.2","19.7","22.29","24.13","24.14","26.2","26.29","26.42"],"video":["0.4","5.41","6.2","6.3","6.4","6.5","7.3","7.5","8.2","8.3","8.5","9.2","9.7","10.2","11.5","12.11","13.1","15.5","16.2","16.3","16.4","16.5","17.3","17.5","18.2","18.3","18.5","19.2","19.7","22.13","22.15","22.29","22.44","24.13","24.14","26.2"],"mp4":["0.4","6.3","6.4","6.5","7.3","7.5","8.2","8.3","8.5","9.2","9.3","9.7","9.8","12.0","16.3","16.4","16.5","17.3","17.5","18.2","18.3","18.5","19.2","19.3","19.7","19.8","22.2","24.14","26.2"],"test":["0.4"],"foo":["0.4"],"bar":["0.4","13.16","13.33","22.6","22.8","22.17","22.22","22.23"],"const":["0.4","9.5","19.5","20.9"],"console":["1.1","2.0","12.0","24.18"],"info":["2.0","12.0","24.18"],"只监听一次事件":["2.0"],"但估计没有足够的数据来支撑播放到结束":["2.41"],"渲染完成":["2.43"],"属性的值改变时触发":["2.44"],"当这个":["2.45"],"因为":["2.46"],"或者资源类型不是受支持的媒体格式":["2.47"],"中的首帧已经完成加载":["2.48"],"播放准备开始":["2.52"],"seek":["2.55","2.56","12.55","12.56","13.25","15.14"],"user":["2.57"],"属性指定的时间发生变化":["2.59"],"播放已停止":["2.61"],"也是指挂载在":["3.0"],"构造函数":["3.0"],"div":["3.31","5.4","5.35","5.36","5.38","9.4","10.4","10.6","10.7","10.13","10.16","11.9","11.12","12.1","12.2","12.5","12.11","12.12","12.32","12.33","12.35","12.36","12.37","13.2","13.3","13.4","13.5","13.6","13.7","13.8","13.9","13.10","13.11","13.17","13.22","13.26","13.28","13.29","13.32","15.3","15.5","15.6","15.8","15.9","15.10","15.12","15.13","15.16","15.17","15.18","15.20","15.22","15.23","15.24","15.25","15.27","15.28","15.29","15.31","15.32","15.33","15.37","15.39","19.4","20.3","22.4","22.9","22.13","22.24","22.27","22.33","22.41","22.48","26.6","26.12","26.14","26.15","26.16","26.18","26.20","26.22","26.23","26.24","26.26","26.27","26.32","26.33","26.37","26.39","26.40","26.41","26.43","26.46","26.47"],"组件唯一名称":["6.1","8.1"],"用于标记类名":["6.1","8.1"],"index":["6.1","7.5","8.1","16.1","17.5","18.1","24.7","24.10","24.15","24.16","24.17"],"number":["6.1","7.1","8.1","16.1","18.1"],"contextmenu":["6.4","6.5","16.4","16.5"],"name":["6.5","7.5","9.8","15.16","16.5","17.5","19.8","22.32"],"组件索引":["7.1"],"用于显示的优先级":["7.1"],"html":["7.1","7.2","9.3","9.8","15.4","17.1","17.2","19.3","19.8","22.26","22.32"],"element":["7.1","13.31","15.31","17.1"],"position":["7.2","7.5","17.2","17.5"],"left":["7.2","13.25","17.2"],"tooltip":["7.2","9.8","17.2","19.4","19.5","19.8"],"style":["7.2","9.2","17.2","22.36","26.36"],"color":["7.2","15.33","17.2"],"red":["7.2","17.2"],"click":["7.2","13.18","13.19","17.2"],"function":["7.2","17.2","19.4","22.17","22.34","22.40","23.10","26.34"],"args":["7.2","17.2"],"controls":["7.3","7.5","17.3","17.5"],"add":["7.3","17.3"],"button1":["7.5","17.5"],"png":["8.4","18.4","22.28","26.28"],"setting":["9.2","9.3","9.7","9.8","19.2","19.3","19.7","19.8"],"true":["9.2","9.3","9.7","9.8","13.18","13.19","13.20","13.32","19.2","19.3","19.7","19.8","24.6"],"settings":["9.2","9.3","9.8","19.2","19.3","19.8","22.14","22.16","22.18","22.24"],"subtitle":["9.2","19.2"],"01":["9.2","9.3","19.2"],"default":["9.2","11.12","13.3","13.10","13.11","13.12","13.13","13.14","13.16","13.18","13.19","13.23","13.25","13.26","13.32","19.2"],"span":["9.2"],"multi":["9.3","19.3"],"level":["9.3","13.0","19.3"],"selector":["9.3","19.3"],"提示文本":["9.4"],"value":["9.5","22.11"],"min":["9.5"],"flip":["9.7","19.1","19.7"],"slider":["9.8","19.8"],"5x":["9.8","19.8"],"icon":["9.8","19.8"],"refer":["10.0","15.0"],"to":["10.0","10.8","11.0","11.1","12.52","12.57","13.4","13.8","13.9","13.21","13.25","15.0","15.4","15.14","20.11"],"used":["10.3","13.33","15.35","15.36","16.1","17.1","18.1","22.3"],"hover":["10.3"],"custom":["10.3"],"loadimg":["10.3"],"delete":["10.4"],"clear":["10.4"],"object":["10.6","26.11"],"updating":["10.8"],"show":["10.8","10.9","10.10","10.15"],"property":["10.8","10.9","10.15"],"set":["10.8","10.9","10.15"],"whether":["10.9","10.15"],"display":["10.9","17.1","22.17"],"update":["10.10"],"attribute":["10.10","10.12"],"method":["10.11"],"switch":["10.11"],"toggle":["10.12","10.14"],"the":["11.0","12.44","13.1","15.0","15.5","15.12","22.8","22.25","22.26","22.37","22.43","22.44"],"want":["11.1"],"manage":["11.1"],"multiple":["11.1"],"players":["11.1"],"player":["11.2","11.3","11.4","11.7","11.11","15.28","15.29","15.37","15.38","15.39","22.5","22.12","22.21","22.25","22.26"],"options":["11.7","11.9","11.12","22.36"],"event":["11.8","12.0","19.4","22.4"],"dispatcher":["11.8"],"for":["11.9","11.11","13.23","13.33","16.1","18.1","22.3","22.6","22.40"],"type":["11.10"],"checking":["11.10"],"on":["12.0","13.24","19.5","22.20","22.27","22.43","22.44","24.18"],"canplay":["12.0"],"listen":["12.0"],"an":["12.0"],"only":["12.0","22.3","22.14","22.21","22.47"],"once":["12.0"],"first":["12.1","12.48","13.0"],"time":["12.1","12.59","24.4"],"mouse":["12.12"],"hidden":["12.37"],"file":["12.41","20.11"],"but":["12.41","15.10","15.14"],"estimates":["12.41"],"there":["12.41"],"it":["12.42","15.14","22.15"],"can":["12.42","15.38","20.11","22.11","22.40"],"play":["12.42"],"rendering":["12.43"],"when":["12.44","12.45"],"this":["12.45","22.11"],"has":["12.45","12.46","12.49","12.50","12.51","12.61"],"stopped":["12.46"],"while":["12.47","12.53","14.0"],"fetching":["12.47"],"media":["12.47"],"frame":["12.48","15.17","15.18"],"start":["12.52"],"triggered":["12.53"],"playback":["12.54","15.12","22.3","22.8"],"is":["12.57","13.6","13.7","13.10","13.11","13.14","13.16","13.17","13.18","13.19","13.22","13.26","13.32","15.14","15.16","15.37","15.38","22.2","22.5"],"trying":["12.57"],"data":["12.58","24.8","24.16"],"specified":["12.59"],"changed":["12.60"],"properties":["13.0"],"mounted":["13.0"],"in":["13.1","13.13","13.15","13.16","13.21","13.27","15.6","22.2","22.11","22.14","22.15","22.16","22.18","22.24","22.33","22.46"],"events":["13.1"],"of":["13.1","13.12","13.13","13.24","14.0","15.39","22.12","22.35"],"by":["13.1","13.3","22.44"],"text":["13.2","14.0","19.4","19.5","22.33"],"enabled":["13.3"],"milliseconds":["13.4","13.13","13.15","13.16","13.21"],"defaults":["13.4","13.21","13.31"],"pixels":["13.6","13.7"],"feature":["13.11"],"seconds":["13.12","13.27","15.5","15.6","22.33"],"with":["13.12","13.13","15.35","15.36","22.3"],"a":["13.12","13.13","13.14","13.15","14.0","15.17","15.18"],"connection":["13.14","13.15"],"error":["13.14","13.15"],"occurs":["13.14","13.15"],"measured":["13.16"],"double":["13.18","13.19"],"long":["13.23","22.44"],"pressing":["13.23","22.44"],"mobile":["13.24","22.27","22.43"],"delay":["13.24"],"and":["13.25","22.5","22.6","22.8","22.25"],"right":["13.25"],"keyboard":["13.27"],"shortcuts":["13.27"],"under":["13.31"],"mainly":["13.33"],"smooth":["13.33"],"progress":["13.33","15.12","22.6","22.8"],"here":["14.0"],"translation":["14.0"],"provided":["14.0"],"into":["14.0","22.37"],"english":["14.0"],"preserving":["14.0"],"markdown":["14.0"],"formatting":["14.0"],"that":["14.0"],"allows":["14.0"],"loading":["14.0"],"after":["14.0","15.4"],"instantiation":["14.0"],"remove":["15.4"],"s":["15.4","15.23","17.1","22.26"],"from":["15.8","20.8","20.9","23.8","23.11","25.2"],"performs":["15.10"],"some":["15.10","22.47"],"optimization":["15.10"],"operations":["15.10"],"will":["15.12","20.6","21.0","22.15","22.16","22.37"],"carry":["15.12"],"over":["15.12"],"previous":["15.12"],"similar":["15.14","22.4"],"does":["15.14","22.39"],"parameter":["15.16"],"which":["15.17","15.18","15.38","20.11","21.1","22.2","22.11"],"returns":["15.17","15.18"],"promise":["15.17","15.18","24.6"],"full":["15.20","22.46"],"screen":["15.20","22.46"],"before":["15.22","22.5","22.26"],"starts":["15.22"],"playing":["15.22"],"mode":["15.23"],"its":["15.25"],"size":["15.25"],"normal":["15.27"],"horizontal":["15.27"],"vertical":["15.27"],"commonly":["15.35","15.36"],"be":["15.37","22.21","22.37"],"destroyed":["15.37"],"limited":["15.38"],"within":["15.38"],"current":["15.38","20.5","23.5"],"marking":["16.1","18.1"],"class":["16.1","18.1","20.3"],"priority":["17.1"],"items":["19.1"],"playbackrate":["19.1"],"aspectratio":["19.1"],"subtitleoffset":["19.1"],"onswitch":["19.4"],"completion":["19.5"],"onchange":["19.5"],"change":["19.5"],"install":["20.1","23.1"],"body":["20.3"],"if":["20.5","23.5"],"typeof":["20.5","23.5"],"return":["20.5","24.6"],"let":["20.10"],"null":["20.10"],"parameters":["20.10"],"use":["20.11"],"legacy":["20.11"],"up":["20.11"],"ie":["20.11","23.11"],"core":["21.0"],"no":["21.0"],"longer":["21.0"],"do":["21.1"],"not":["21.1","22.2","22.39"],"require":["21.1"],"manual":["21.1"],"manually":["21.2"],"imported":["21.2"],"include":["21.2"],"cs":["21.2"],"es":["21.2"],"fa":["21.2"],"fr":["21.2"],"id":["21.2"],"pl":["21.2"],"ru":["21.2"],"zh":["21.2","22.41"],"tw":["21.2"],"sometimes":["22.2","22.39"],"known":["22.2"],"so":["22.2"],"quickly":["22.2"],"case":["22.2"],"you":["22.2"],"remembering":["22.3"],"initialized":["22.5"],"highlight":["22.6"],"often":["22.11"],"results":["22.11"],"black":["22.11"],"bars":["22.11"],"scrolls":["22.12"],"out":["22.12"],"currently":["22.14","22.47"],"available":["22.14"],"panel":["22.14","22.16","22.18","22.24"],"appear":["22.15","22.16"],"menu":["22.17"],"bottom":["22.17","22.18","22.20","22.43"],"control":["22.17","22.20","22.22","22.23"],"button":["22.20"],"page":["22.21"],"should":["22.21"],"one":["22.21"],"at":["22.22","22.23"],"appearing":["22.24"],"loses":["22.25"],"focus":["22.25"],"pre":["22.26"],"render":["22.26"],"required":["22.26"],"devices":["22.27"],"boolean":["22.32"],"string":["22.32","22.33"],"myplugin":["22.34","26.34"],"column":["22.35"],"columns":["22.35"],"width":["22.35","26.35"],"encoding":["22.36","26.36"],"directly":["22.37"],"written":["22.37"],"such":["22.39"],"m3u8":["22.39"],"mkv":["22.39"],"ts":["22.39"],"however":["22.39"],"have":["22.39"],"party":["22.40"],"program":["22.40"],"processing":["22.40"],"receive":["22.40"],"en":["22.41"],"cn":["22.41","26.41"],"hide":["22.43"],"pages":["22.46"],"according":["22.46"],"browsers":["22.47"],"support":["22.47"],"demo":["23.3"],"meta":["23.3"],"charset":["23.3"],"utf":["23.3","26.36"],"ref":["23.4"],"artref":["23.4"],"时会自动导入的":["23.6"],"param":["23.10"],"getinstance":["23.10"],"可以兼容到":["23.11"],"import":["23.11","25.2"],"plugin":["24.2","24.3","24.8","24.16"],"danmuku":["24.2","24.7","24.10","24.16"],"npm":["24.3"],"弹幕时间":["24.4"],"默认为当前播放器时间":["24.4"],"默认弹幕模式":["24.5"],"滚动":["24.5"],"顶部":["24.5"],"底部":["24.5"],"modes":["24.5"],"弹幕可见的模式":["24.5"],"fontsize":["24.5"],"danmu":["24.6","24.18"],"resolve":["24.6"],"settimeout":["24.6"],"libs":["24.8","24.16"],"uncompiled":["24.8","24.16"],"plugins":["24.14"],"artplayerplugindanmuku":["24.14"],"xml":["24.18"],"visible":["24.18"],"显示弹幕":["24.18"],"版本开始":["25.0"],"核心代码除了包含":["25.0"],"zhtw":["25.2"],"高亮元素":["26.6"],"上":["26.6"],"类似":["26.11"],"css":["26.11"],"的":["26.11"],"fit":["26.11"],"里":["26.14","26.15","26.16","26.24"],"访问到播放器所需的":["26.26"],"layer":["26.28"],"画质地址":["26.32"],"预览图列数":["26.35"],"预览图宽度":["26.35"],"height":["26.35"],"预览图高度":["26.35"],"字幕样式":["26.36"],"字幕编码":["26.36"],"默认":["26.36"],"所以需要特别指明":["26.39"],"元素":["26.40"],"视频地址":["26.40"],"当前实例":["26.40"]},{"0":["13.25","19.5","24.4"],"1":["3.29","9.2","13.29","19.2"],"2":["3.29","9.5","13.29","19.5","26.3"],"3":["9.5","13.23"],"4":["9.1","21.1","22.17","22.33","22.48","23.10","26.5","26.7","26.8","26.9","26.13","26.17","26.21","26.24","26.25","26.32","26.33","26.37","26.39","26.41","26.44"],"5":["13.14","13.25","13.27"],"6":["5.38","5.39","12.3","12.4","12.5","12.7","12.8","12.9","12.10","12.11","12.12","12.13","12.14","12.15","12.16","12.27","12.32","12.33","12.34","12.35","12.36","12.37","12.38","12.39","12.40","23.10"],"7":["5.4","5.5","5.6","5.9","5.16","5.17","5.18","5.23","5.35","5.36","12.19","12.21","12.23","12.25","12.26","15.9","15.26","26.37"],"8":["5.8","5.14","5.24","5.25","5.27","5.37","12.17","15.1","15.8","15.13","15.20","15.24","15.27","15.28","15.29","15.31","15.32","15.33","15.37","22.36","23.3","26.36"],"9":["5.10","5.12","15.10","15.22"],"10":["5.7","5.37","7.3","7.4","12.2","12.6","12.18","15.7","15.11","15.37","17.3","17.4","19.5"],"11":["15.3","15.20","20.11"],"14":["26.32"],"17":["14.0"],"22":["9.8","19.8"],"25":["22.33","26.33"],"40":["3.7"],"100":["3.10"],"150":["9.3","19.3"],"300":["3.5","3.6"],"500":["3.8","3.9","3.17"],"1000":["13.15"],"3000":["13.13","13.16"],"实例":["0.0","5.0"],"artplayer":["0.1","0.5","0.6","0.8","0.9","0.10","0.11","0.12","0.14","1.1","2.1","2.3","2.4","2.5","2.6","2.7","2.8","2.9","2.10","2.11","2.12","2.13","2.14","2.15","2.16","2.17","2.18","2.19","2.20","2.21","2.23","2.25","2.26","2.27","2.32","2.33","2.34","2.35","2.36","2.37","2.38","2.39","2.40","3.1","3.3","3.4","3.8","3.9","3.10","3.11","3.12","3.13","3.14","3.15","3.16","3.17","3.18","3.19","3.20","3.21","3.22","3.23","3.24","3.25","3.26","3.27","3.28","3.31","3.32","3.33","5.1","5.2","5.3","5.7","5.8","5.9","5.10","5.12","5.13","5.14","5.15","5.17","5.18","5.19","5.20","5.21","5.24","5.26","5.27","5.28","5.29","5.30","5.31","5.32","5.33","5.34","5.37","5.40","5.42","9.1","9.4","10.4","10.5","10.6","10.7","10.13","10.16","11.6","12.2","12.6","12.18","12.20","12.22","12.24","12.28","12.29","12.30","13.5","13.8","13.9","13.17","13.22","13.28","13.29","13.30","15.2","15.21","15.26","15.34","15.37","15.40","15.42","19.4","20.2","22.4","22.38","23.2","25.1","26.10","26.19","26.33","26.38","26.39","26.45","26.48"],"container":["0.1","0.5","0.6","0.7","0.8","0.9","0.10","0.11","0.12","0.14","0.15","2.5","2.6","2.7","2.8","2.9","2.10","2.11","2.12","2.13","2.15","2.16","2.17","2.18","2.19","2.20","2.21","2.22","2.23","2.24","2.25","2.26","2.27","2.29","2.30","2.32","2.33","2.34","2.35","2.36","2.37","2.38","2.39","2.40","5.2","5.3","5.8","5.10","5.12","5.13","5.15","5.19","5.20","5.21","5.22","5.26","5.28","5.29","5.30","5.31","5.32","5.33","5.34","5.37","5.40","5.42","9.4","10.1","10.3","10.4","10.5","10.6","10.7","10.13","10.16","12.20","12.22","12.24","12.28","12.29","12.30","13.20","15.2","15.21","15.26","15.37","15.40","15.42","19.4","20.9","22.4","22.38","24.9","24.10","24.15","24.17","25.1","25.2","26.10","26.19","26.30","26.33","26.38","26.45","26.48"],"app":["0.1","0.3","0.5","0.6","0.7","0.8","0.9","0.10","0.15","0.16","2.2","2.6","2.17","2.18","2.20","2.22","2.24","2.28","2.29","2.30","5.11","5.15","5.19","5.21","5.22","5.26","5.30","5.31","5.40","9.4","10.1","10.4","10.5","10.6","10.13","12.31","13.20","15.19","15.21","15.30","15.37","15.40","19.4","20.5","20.9","21.3","21.4","22.4","22.7","22.10","22.30","22.31","22.38","22.42","23.4","23.9","24.6","24.10","25.3","26.1","26.19","26.30","26.31","26.38","26.45"],"assets":["0.2","0.3","0.6","0.7","0.10","0.13","0.15","0.16","2.2","2.22","2.28","2.31","5.11","5.22","5.40","9.4","10.1","10.4","10.6","10.13","12.31","13.20","15.19","15.21","15.30","15.41","21.3","21.4","22.1","22.4","22.7","22.10","22.19","22.30","22.31","22.42","23.9","24.6","24.10","24.11","25.3","25.4","26.1","26.4","26.30","26.31"],"sample":["0.2","0.3","0.6","0.13","0.15","0.16","2.2","2.28","2.31","5.11","5.22","9.4","9.6","10.1","10.4","10.6","10.13","12.31","13.20","15.11","15.19","15.21","15.30","15.41","19.6","21.4","22.1","22.4","22.7","22.10","22.19","22.30","22.31","22.42","22.45","23.9","24.6","24.11","24.12","25.4","26.4","26.30","26.31"],"video":["0.2","0.3","0.13","0.15","0.16","2.31","5.11","7.4","8.4","9.4","9.6","10.4","10.6","10.13","12.31","13.20","15.19","15.21","15.41","17.4","18.4","19.6","21.4","22.1","22.7","22.10","22.19","22.28","22.30","22.31","22.42","22.45","22.46","23.9","24.6","24.11","24.12","25.4","26.4","26.28","26.29","26.31","26.42"],"mp4":["0.2","0.13","0.16","2.31","5.11","5.41","6.2","7.4","8.4","9.4","9.6","10.2","10.4","12.31","15.11","15.15","15.19","15.21","15.30","15.41","16.2","17.4","18.4","19.6","22.1","22.4","22.7","22.10","22.19","22.28","22.29","22.30","22.31","22.42","22.45","24.6","24.11","24.12","24.13","25.4","26.4","26.28","26.29","26.42"],"console":["0.2","0.4","1.6","7.2","10.2","11.6","15.15","17.2","22.34","26.34"],"info":["0.2","0.4","1.1","7.2","10.2","11.6","15.15","17.2","22.34","26.34"],"art":["0.3","0.8","0.9","0.11","0.12","0.14","2.1","2.3","2.4","2.5","2.7","2.8","2.9","2.10","2.13","2.14","2.15","2.19","2.27","2.32","2.33","2.34","2.35","2.36","2.37","2.38","2.40","3.5","3.6","3.7","3.30","5.1","5.2","5.3","5.5","5.6","5.7","5.8","5.9","5.13","5.14","5.16","5.17","5.18","5.20","5.23","5.24","5.25","5.27","5.28","5.29","5.31","5.32","5.33","5.34","5.42","9.1","10.4","10.5","10.6","10.7","10.13","10.16","12.2","12.3","12.4","12.6","12.7","12.8","12.9","12.10","12.13","12.14","12.15","12.16","12.17","12.18","12.19","12.20","12.21","12.22","12.23","12.24","12.25","12.26","12.27","12.28","12.29","12.30","12.39","12.40","15.1","15.2","15.3","15.7","15.9","15.13","15.22","15.26","15.28","15.29","15.31","15.32","15.33","15.34","15.42","19.4","22.4","22.34","22.38","22.48","24.7","24.9","24.10","24.15","24.17","25.2","26.5","26.7","26.10","26.17","26.32","26.33","26.39","26.48"],"new":["0.3","0.5","0.8","0.9","0.10","0.11","0.12","0.14","2.1","2.3","2.4","2.5","2.7","2.8","2.9","2.10","2.11","2.12","2.13","2.14","2.15","2.16","2.19","2.21","2.23","2.25","2.26","2.27","2.32","2.33","2.34","2.35","2.36","2.37","2.38","2.39","2.40","3.5","3.30","5.1","5.2","5.3","5.7","5.8","5.9","5.10","5.12","5.13","5.14","5.15","5.16","5.17","5.18","5.19","5.20","5.21","5.24","5.25","5.26","5.27","5.28","5.29","5.30","5.31","5.32","5.33","5.34","5.42","9.1","9.4","10.4","10.5","10.6","10.7","10.13","10.16","12.2","12.6","12.7","12.8","12.10","12.16","12.17","12.18","12.20","12.21","12.22","12.23","12.24","12.26","12.28","12.29","12.30","13.20","15.1","15.2","15.7","15.22","15.26","15.31","15.32","15.34","15.40","15.42","19.4","22.4","22.38","24.9","24.10","24.15","24.17","25.1","25.2","26.7","26.10","26.19","26.33","26.38","26.39","26.45","26.48"],"url":["0.3","0.6","0.7","0.9","0.10","0.13","0.15","0.16","2.2","2.18","2.22","2.24","2.28","2.29","2.30","2.31","5.19","5.22","5.30","5.40","8.4","9.4","10.1","10.4","10.6","10.13","12.31","13.20","15.19","15.21","15.30","15.40","18.4","19.4","20.9","21.3","21.4","22.1","22.4","22.7","22.10","22.30","22.31","22.40","22.42","23.9","24.6","24.10","24.11","25.3","25.4","26.1","26.4","26.30","26.31","26.38","26.45"],"function":["0.13","6.5","16.5","17.1","20.10","26.36"],"构造函数":["1.0"],"var":["1.1","3.5","3.6","3.7","3.17","3.30","5.1","5.5","5.6","5.7","5.8","5.9","5.10","5.12","5.14","5.16","5.17","5.18","5.20","5.23","5.24","5.25","5.27","5.35","5.36","5.37","5.39","9.1","10.3","10.4","10.6","10.7","10.13","10.16","12.2","12.3","12.4","12.5","12.6","12.7","12.8","12.9","12.10","12.12","12.13","12.14","12.15","12.16","12.17","12.18","12.19","12.20","12.21","12.22","12.23","12.24","12.25","12.26","12.27","12.28","12.32","12.33","12.34","12.35","12.36","12.38","12.39","12.40","13.30","15.1","15.3","15.7","15.8","15.9","15.13","15.20","15.22","15.24","15.26","15.27","15.28","15.29","15.31","15.32","15.33","15.34","15.37","15.42","19.4","21.1","22.4","22.33","22.38","22.48","24.7","24.15","24.16","24.17","25.2","26.3","26.5","26.7","26.17","26.24","26.32","26.33","26.39","26.48"],"js":["1.6","3.1","3.4","3.11","3.12","3.13","3.14","3.15","3.16","3.18","3.19","3.20","3.21","3.22","3.23","3.24","3.25","3.26","3.27","3.31","3.32","3.33","5.4","5.5","5.6","5.14","5.23","5.27","5.35","5.36","5.38","5.39","10.3","10.7","10.16","11.6","12.1","12.2","12.3","12.4","12.5","12.7","12.8","12.9","12.10","12.11","12.12","12.13","12.14","12.15","12.16","12.17","12.19","12.21","12.22","12.23","12.25","12.26","12.27","12.32","12.33","12.34","12.35","12.36","12.37","12.38","12.39","12.40","13.5","13.6","13.7","13.8","13.9","13.10","13.17","13.22","13.28","13.29","13.30","15.3","15.6","15.7","15.8","15.9","15.10","15.12","15.13","15.17","15.18","15.20","15.22","15.24","15.25","15.27","15.28","15.29","15.31","15.32","15.33","15.37","19.4","21.1","22.17","22.33","22.41","22.48","24.8","26.3","26.5","26.8","26.9","26.12","26.13","26.14","26.15","26.16","26.17","26.18","26.20","26.21","26.22","26.23","26.24","26.25","26.26","26.27","26.32","26.37","26.39","26.41","26.43","26.44","26.46","26.47"],"code":["1.11","9.5","10.3","12.1","13.2","13.3","13.4","13.6","13.7","13.10","13.11","13.12","13.13","13.14","13.16","13.18","13.19","13.21","13.23","13.26","13.28","13.31","13.32","13.33","15.5","15.6","15.10","15.12","15.14","15.16","15.17","15.18","15.22","15.23","15.25","15.35","15.36","15.39","19.1","20.11","22.3","22.6","22.8","22.9","22.13","22.17","22.20","22.22","22.23","22.24","22.27","22.32","22.33","22.37","22.39","22.41","23.11","26.6","26.11","26.14","26.15","26.16","26.26","26.35","26.40"],"once":["2.0"],"subtitle":["2.31","7.2","7.5","17.2","17.5"],"不必停下来进一步缓冲内容":["2.41"],"media":["2.45","2.46","12.42","12.57"],"已经加载完成":["2.45"],"操作完成":["2.55"],"操作开始":["2.56"],"agent":["2.57"],"的":["3.0"],"false":["3.3","13.31","20.5","23.5","24.5","24.14"],"add":["4.0","6.3","8.3","14.0","24.2"],"例如我想写一个在视频暂停后":["4.0"],"显示一个图片广告的插件":["4.0"],"on":["5.11","13.0","15.11","15.15","15.30"],"document":["5.37","10.3","15.37","24.16","26.1"],"queryselector":["5.37","10.3","15.37","22.1","24.16","26.1"],"default":["5.41","7.5","13.1","13.15","13.27","15.41","17.5","23.10"],"true":["5.41","7.5","9.6","15.4","15.41","17.5","19.6","22.4","22.29","22.45","24.5","26.4","26.29","26.36"],"html":["5.41","6.1","6.2","6.3","6.4","6.5","7.3","7.5","8.1","8.2","8.3","8.5","9.7","15.41","16.1","16.2","16.3","16.4","16.5","17.3","17.5","18.1","18.2","18.3","18.5","19.7","22.28","22.29","22.36","24.14","26.28","26.29","26.36"],"sd":["5.41","15.41"],"480p":["5.41"],"组件索引":["6.1","8.1"],"用于显示的优先级":["6.1","8.1"],"contextmenu":["6.2","6.3","16.2","16.3"],"name":["6.2","6.3","6.4","7.3","7.4","8.2","8.3","8.4","8.5","9.7","16.2","16.3","16.4","17.3","17.4","18.2","18.3","18.4","18.5","19.7","22.28","22.34","26.28","26.34"],"your":["6.2","6.3","6.4","6.5","7.3","16.2","16.3","16.4","16.5","17.3","22.45","26.42"],"menu":["6.2","6.3","6.4","6.5","16.2","16.3","16.4","16.5","22.14","22.15","22.16"],"click":["6.4","6.5","16.4","16.5","17.1","24.14"],"args":["6.5","16.5"],"组件的":["7.1"],"dom":["7.1","17.1","22.40"],"元素":["7.1"],"style":["7.1","8.2","8.3","8.5","17.1","18.2","18.3","18.5","19.2","22.28"],"object":["7.1","17.1"],"mounted":["7.2","17.2"],"button1":["7.3","7.4","17.3","17.4"],"index":["7.3","7.4","17.3","17.4","24.8"],"position":["7.3","15.19","17.3","24.13","24.14"],"left":["7.3","17.3"],"controls":["7.4","15.19","17.4","24.13","24.14"],"right":["7.5","15.19","17.5","24.14"],"selector":["7.5","17.5","22.29","26.29"],"01":["7.5","17.5","19.3"],"layers":["8.2","8.3","8.4","8.5","18.2","18.3","18.4","18.5"],"potser":["8.2","8.3","8.5","26.28"],"width":["8.2","8.3","8.5","9.3","9.8","18.2","18.3","18.5","19.3","19.8","22.28"],"100px":["8.2","8.3","8.5","18.2","18.3","18.5","22.28"],"src":["8.2","8.5","9.8","18.2","18.5","19.8"],"color":["9.2","19.2"],"red":["9.2","19.2"],"srt":["9.2","19.2"],"id":["9.2","19.2","22.45"],"yellow":["9.2","19.2"],"02":["9.2","19.2"],"setting":["9.4","9.6","19.6","22.29","26.29"],"max":["9.5","19.5"],"step":["9.5"],"div":["9.5","10.3","10.11","10.12","10.14","11.1","11.2","11.3","11.4","11.5","11.7","11.8","11.10","11.11","13.1","13.12","13.13","13.14","13.15","13.16","13.18","13.19","13.21","13.23","13.25","13.27","13.31","13.33","15.4","15.14","15.35","15.36","19.1","20.5","22.3","22.5","22.6","22.8","22.12","22.14","22.15","22.16","22.17","22.18","22.20","22.22","22.23","22.25","22.32","22.35","22.37","22.39","22.43","22.44","22.47","23.3","23.5","26.11","26.35"],"classname":["9.5","10.3","10.14","11.1","11.2","11.3","11.4","11.5","11.7","11.8","11.9","11.10","11.11","11.12","13.4","13.6","13.7","13.11","13.12","13.13","13.14","13.15","13.16","13.18","13.19","13.21","13.23","13.25","13.26","13.27","13.31","13.33","15.12","15.14","15.16","15.17","15.18","15.35","15.36","19.1","22.3","22.5","22.6","22.8","22.12","22.14","22.16","22.17","22.18","22.20","22.22","22.23","22.24","22.25","22.27","22.32","22.35","22.37","22.39","22.43","22.44","22.47","26.11","26.35","26.40"],"run":["9.5","10.3","11.1","11.2","11.3","11.4","11.5","11.8","11.9","11.10","11.12","13.2","13.3","13.4","13.6","13.7","13.11","13.12","13.13","13.14","13.15","13.16","13.18","13.19","13.21","13.23","13.25","13.26","13.27","13.31","13.32","13.33","15.5","15.10","15.12","15.14","15.16","15.17","15.18","15.23","15.35","15.36","15.39","19.1","22.3","22.5","22.6","22.8","22.12","22.14","22.16","22.17","22.18","22.20","22.22","22.23","22.24","22.25","22.27","22.32","22.35","22.37","22.39","22.43","22.47","26.11","26.26","26.35","26.40"],"settings":["9.7","19.7","22.15"],"slider":["9.7","19.7"],"tooltip":["9.7","19.7"],"5x":["9.7","19.7"],"icon":["9.7","19.7"],"img":["9.8","19.8"],"heigth":["9.8","19.8"],"state":["9.8","19.8"],"svg":["9.8","19.8"],"secondary":["10.0"],"attributes":["10.0"],"listen":["10.3"],"load":["10.3"],"of":["10.3","10.9","10.14","12.48"],"images":["10.3"],"test":["10.4"],"foo":["10.4"],"bar":["10.4","22.18","22.20","22.43"],"const":["10.4","20.8","23.8"],"whether":["10.8","10.10","22.36"],"display":["10.8","10.15","16.1","18.1"],"all":["10.8","10.9","10.10","10.15"],"or":["10.8","12.45","12.47"],"not":["10.8","12.41","15.14"],"toggle":["10.8","10.9","10.10","10.15"],"set":["10.10","22.2"],"options":["10.11"],"items":["10.15"],"first":["11.0"],"level":["11.0"],"at":["11.1","22.21"],"the":["11.1","12.53","20.3"],"same":["11.1","15.38"],"time":["11.1","22.8","22.21"],"is":["12.41","12.43","13.1","13.15","13.23","13.25","22.25"],"enough":["12.41"],"value":["12.44","19.5"],"been":["12.45","12.49","12.50"],"completely":["12.45"],"loaded":["12.45","24.18"],"because":["12.46"],"data":["12.47","23.10"],"started":["12.51"],"following":["12.52"],"a":["12.52","22.21"],"rate":["12.54"],"frame":["12.55","12.56"],"fetch":["12.57"],"loading":["12.58"],"by":["12.59"],"stopped":["12.61"],"constructor":["13.0"],"property":["13.0"],"turned":["13.1"],"off":["13.1"],"long":["13.24"],"press":["13.24"],"acceleration":["13.24"],"effects":["13.33"],"primary":["15.0"],"destruction":["15.4"],"which":["15.4"],"defaults":["15.4"],"ready":["15.11","15.15","15.30"],"seek":["15.11"],"settimeout":["15.11"],"trigger":["15.14"],"additional":["15.14"],"events":["15.14"],"timeupdate":["15.35","15.36"],"event":["15.35","15.36"],"prevent":["15.38"],"errors":["15.38"],"due":["15.38"],"having":["15.38"],"priority":["16.1","18.1"],"element":["16.1","18.1","22.37","22.40"],"poster":["18.2","18.3","18.5","22.28"],"span":["19.2"],"min":["19.5"],"yarn":["20.1","23.1","24.2"],"npm":["20.2","23.2"],"dist":["20.2","20.11","23.2","23.11","24.3"],"warning":["20.3","22.45"],"player":["20.3"],"s":["20.3"],"size":["20.3","22.46"],"depends":["20.3"],"get":["20.4"],"instance":["20.4"],"getinstance":["20.4","20.10"],"destroy":["20.5","23.5"],"ref":["20.5","23.5"],"automatically":["20.6","22.11"],"param":["20.10"],"properties":["20.10"],"import":["20.11","21.1","21.2"],"from":["20.11","21.2"],"group":["20.11","21.2","23.11"],"bash":["20.11","23.11"],"include":["21.0"],"other":["21.0"],"languages":["21.0"],"besides":["21.0"],"simplified":["21.0"],"chinese":["21.0"],"and":["21.0","22.14","22.15","22.16","22.46"],"english":["21.0"],"zhtw":["21.2"],"you":["22.1"],"may":["22.1"],"can":["22.2","22.26"],"asynchronously":["22.2"],"autoplayback":["22.3"],"muted":["22.4","26.4"],"it":["22.5","22.39"],"starts":["22.5"],"playing":["22.5","22.25"],"elements":["22.6"],"adjust":["22.11"],"to":["22.11","22.21","22.36"],"hide":["22.11"],"browser":["22.12"],"viewport":["22.12","22.46"],"context":["22.14","22.15","22.16"],"panel":["22.15"],"control":["22.18","22.43"],"description":["22.19"],"allowed":["22.21"],"play":["22.21","26.42"],"bottom":["22.22","22.23"],"mounts":["22.26"],"access":["22.26"],"setting01":["22.29","26.29"],"return":["22.34","23.5","23.10","26.34"],"height":["22.35"],"utf":["22.36"],"escape":["22.36","26.36"],"boolean":["22.36","26.36"],"tags":["22.36"],"correct":["22.39"],"so":["22.39"],"needs":["22.39"],"be":["22.39"],"specifically":["22.39"],"stated":["22.39"],"three":["22.40"],"parameters":["22.40"],"lang":["22.42","26.42"],"mobile":["22.44"],"devices":["22.44"],"this":["22.47"],"feature":["22.47"],"body":["23.3"],"class":["23.3"],"属性":["23.10"],"export":["23.10"],"jsdelivr":["23.11"],"danmuku":["24.3","24.8"],"mode":["24.4"],"弹幕模式":["24.4"],"滚动":["24.4"],"弹幕字体大小":["24.5"],"antioverlap":["24.5"],"弹幕是否防重叠":["24.5"],"synchronousplayback":["24.5"],"是否同步播放速度":["24.5"],"mount":["24.5"],"undefined":["24.5"],"弹幕发射器挂载点":["24.5"],"默认为播放器控制栏中部":["24.5"],"heatmap":["24.5"],"plugins":["24.6","24.11","24.12","24.13"],"xml":["24.6","24.13","24.14"],"这是用户在输入框输入弹幕文本":["24.6"],"然后点击发送按钮后触发的函数":["24.6"],"artplayerplugindanmuku":["24.11","24.12","24.13"],"emitter":["24.14"],"重载":["24.14"],"danmu":["24.16"],"emit":["24.18"],"新增弹幕":["24.18"],"danmus":["24.18"],"加载弹幕":["24.18"],"简体中文":["25.0"],"和":["25.0"],"英文":["25.0"],"有时候":["26.2"],"地址没那么快知道":["26.2"],"这时候你可以异步设置":["26.2"],"cover":["26.11"],"是否转义":["26.36"],"标签":["26.36"],"默认为":["26.36"],"onvttload":["26.36"],"用于修改":["26.36"]},{"0":["15.11","23.9"],"1":["3.25","9.8","19.8","24.4"],"2":["3.26","9.2","19.2","22.3","24.4"],"3":["3.28","13.28","19.5","26.1"],"4":["3.28","13.28","19.1","20.10","22.5","22.6","22.8","22.9","22.12","22.13","22.14","22.16","22.18","22.20","22.22","22.23","22.24","22.25","22.27","22.32","22.35","22.37","22.39","22.41","22.47","26.6","26.11","26.12","26.14","26.15","26.16","26.18","26.20","26.22","26.23","26.27","26.35","26.36","26.40","26.43","26.46","26.47"],"5":["3.23","3.29","9.8","13.29","19.8","22.7","23.9"],"6":["3.29","12.1","13.29","15.39","20.10","22.2","26.2"],"7":["15.5","15.6","15.16","15.17","15.18","15.23","15.35","15.36","22.37","26.26"],"8":["15.14","15.25","22.35","26.35","26.40"],"9":["15.12","22.28"],"10":["3.12","3.14","3.27","5.11","9.8","19.8"],"12":["24.13"],"14":["22.32"],"20":["3.11"],"22":["9.4"],"40":["13.7"],"50":["24.13"],"100":["13.10"],"300":["13.5","13.6"],"500":["3.21","13.8","13.9","13.17"],"512":["24.5"],"1000":["13.24"],"2000":["3.22","3.24","13.22"],"3000":["3.15","15.11"],"5000":["3.4","3.13","3.16"],"的":["0.0","0.4","1.0","5.0"],"url":["0.1","0.5","0.8","0.12","0.14","2.1","2.3","2.4","2.5","2.6","2.7","2.8","2.9","2.10","2.11","2.12","2.13","2.14","2.15","2.16","2.17","2.19","2.20","2.21","2.23","2.25","2.26","2.27","2.32","2.33","2.34","2.35","2.36","2.37","2.38","2.39","2.40","3.5","3.30","5.1","5.2","5.3","5.7","5.8","5.12","5.13","5.14","5.15","5.16","5.17","5.18","5.20","5.21","5.24","5.26","5.27","5.28","5.29","5.31","5.32","5.33","5.34","5.42","9.1","9.5","10.3","10.5","10.7","10.16","12.2","12.6","12.7","12.8","12.10","12.16","12.17","12.18","12.20","12.21","12.22","12.23","12.24","12.25","12.26","12.28","12.29","12.30","15.1","15.2","15.3","15.7","15.8","15.13","15.22","15.26","15.27","15.28","15.29","15.31","15.32","15.33","15.34","15.37","15.42","21.2","22.17","22.33","22.38","22.48","24.9","24.15","24.17","25.1","25.2","26.7","26.10","26.19","26.33","26.39","26.48"],"assets":["0.1","0.5","0.8","0.9","0.11","0.12","0.14","2.5","2.6","2.7","2.8","2.9","2.10","2.11","2.12","2.13","2.15","2.16","2.17","2.18","2.19","2.20","2.21","2.23","2.24","2.25","2.26","2.27","2.29","2.30","2.32","2.33","2.34","2.35","2.36","2.37","2.38","2.39","2.40","3.30","5.2","5.3","5.7","5.8","5.9","5.10","5.12","5.13","5.14","5.15","5.17","5.18","5.19","5.20","5.21","5.24","5.26","5.27","5.28","5.29","5.30","5.31","5.32","5.33","5.34","5.42","9.1","9.5","10.3","10.5","10.7","10.16","12.2","12.6","12.17","12.18","12.20","12.22","12.24","12.28","12.29","12.30","15.2","15.13","15.22","15.26","15.29","15.31","15.32","15.34","15.37","15.40","15.42","19.4","20.9","21.2","22.17","22.33","22.38","22.39","24.9","24.15","24.17","25.1","25.2","26.10","26.19","26.32","26.33","26.38","26.39","26.45","26.48"],"sample":["0.1","0.5","0.7","0.8","0.9","0.10","0.11","0.12","0.14","2.6","2.11","2.12","2.16","2.17","2.18","2.20","2.21","2.22","2.23","2.24","2.25","2.26","2.29","2.30","2.39","5.2","5.3","5.8","5.10","5.12","5.13","5.14","5.15","5.17","5.18","5.19","5.20","5.21","5.26","5.27","5.28","5.29","5.30","5.31","5.32","5.33","5.40","5.42","9.5","10.3","10.5","10.7","10.16","12.2","12.18","12.20","12.22","12.24","12.28","12.29","12.30","15.2","15.22","15.26","15.31","15.37","15.40","15.42","19.4","20.9","21.3","22.17","22.33","22.38","22.39","24.9","24.10","24.15","24.17","25.2","25.3","26.1","26.10","26.19","26.32","26.33","26.38","26.39","26.45","26.48"],"video":["0.1","0.5","0.6","0.7","0.8","0.9","0.10","0.11","0.12","0.14","2.2","2.6","2.12","2.17","2.18","2.20","2.21","2.22","2.23","2.24","2.25","2.26","2.28","2.29","2.30","5.2","5.3","5.8","5.10","5.12","5.13","5.15","5.19","5.21","5.22","5.26","5.28","5.29","5.30","5.32","5.33","5.40","5.42","10.1","10.3","10.5","10.7","10.16","12.2","12.22","12.24","12.28","12.29","12.30","15.26","15.37","15.40","15.42","19.4","20.9","21.3","22.38","24.9","24.10","24.15","24.17","25.2","25.3","26.1","26.10","26.19","26.30","26.33","26.38","26.39","26.45"],"mp4":["0.3","0.5","0.6","0.7","0.8","0.9","0.10","0.11","0.15","2.2","2.17","2.18","2.20","2.22","2.24","2.28","2.29","2.30","5.15","5.19","5.21","5.22","5.26","5.29","5.30","5.31","5.40","5.42","10.1","10.3","10.5","10.6","10.7","10.13","10.16","12.28","12.29","12.30","13.20","15.22","15.26","15.37","15.40","19.4","20.9","21.3","21.4","22.38","23.9","24.9","24.10","24.17","25.2","25.3","26.1","26.10","26.19","26.30","26.31","26.33","26.38","26.45"],"click":["0.3","0.13","6.2","6.3","7.1","7.3","10.3","10.13","15.19","15.21","16.2","16.3","17.3","22.30","24.12"],"event":["0.3","0.13","9.2","9.3","10.13","12.45","17.1","19.2","19.3"],"console":["0.3","0.6","0.13","0.16","6.2","6.3","6.4","6.5","9.2","9.3","10.1","10.3","10.4","10.5","10.6","10.13","11.1","16.2","16.3","16.4","16.5","19.2","19.3","22.29"],"info":["0.3","0.6","0.13","0.16","1.6","6.2","6.3","6.4","6.5","9.2","9.3","10.1","10.3","10.4","10.6","10.13","11.1","16.2","16.3","16.4","16.5","19.2","19.3","22.29"],"warning":["0.4","10.2","10.4","11.6","15.11","15.15","15.19","15.30","20.4","22.7","22.10","25.0"],"提示":["0.4"],"默认所有播放器实例都是共享同一个":["0.4"],"localstorage":["0.4"],"而且默认的":["0.4"],"是":["0.4"],"settings":["0.4","9.4","19.4"],"如果你想不同的播放器使用不同的":["0.4"],"play":["0.6","10.6","22.42","26.4"],"on":["0.7","0.8","0.9","0.10","2.2","2.22","5.30","5.40","7.5","8.5","9.8","10.0","10.13","11.0","15.0","15.40","17.5","18.5","19.8","20.3","21.0"],"ready":["0.9","0.10","2.2","5.11","5.40","7.5","10.13","17.5"],"app":["0.11","0.12","0.14","2.1","2.3","2.4","2.5","2.7","2.8","2.9","2.10","2.11","2.12","2.13","2.14","2.15","2.16","2.19","2.21","2.23","2.25","2.26","2.27","2.32","2.33","2.34","2.35","2.36","2.37","2.38","2.39","2.40","3.5","3.6","3.7","3.30","5.1","5.2","5.3","5.7","5.8","5.9","5.10","5.12","5.13","5.14","5.16","5.17","5.18","5.20","5.24","5.25","5.27","5.28","5.29","5.32","5.33","5.34","5.37","5.42","9.1","9.5","10.3","10.7","10.16","12.2","12.6","12.7","12.8","12.9","12.10","12.12","12.13","12.15","12.16","12.17","12.18","12.19","12.20","12.21","12.22","12.23","12.24","12.25","12.26","12.27","12.28","12.29","12.30","12.39","12.40","13.30","15.1","15.2","15.3","15.7","15.8","15.9","15.10","15.12","15.13","15.20","15.22","15.26","15.27","15.28","15.29","15.31","15.32","15.33","15.34","15.42","21.2","22.17","22.33","22.39","22.48","23.3","23.5","24.7","24.9","24.15","24.16","24.17","25.1","25.2","26.7","26.10","26.17","26.24","26.26","26.32","26.33","26.39","26.48"],"hotkeyevent":["0.13","10.13"],"true":["0.15","2.28","3.1","3.20","3.31","3.33","7.2","9.4","17.2","19.4","22.10","22.36"],"flip":["0.15"],"playbackrate":["0.15"],"aspectratio":["0.15"],"function":["0.16","6.2","6.3","6.4","7.1","7.3","9.3","10.13","10.16","15.19","15.21","16.2","16.3","16.4","17.3","19.3","22.29","22.30","22.36","24.12","24.14","26.29"],"myplugin":["0.16","10.16"],"art":["1.1","3.1","3.3","3.4","3.8","3.9","3.10","3.11","3.12","3.13","3.17","3.18","3.21","3.22","3.23","3.24","3.27","3.28","3.29","3.32","3.33","5.4","5.35","5.36","5.37","5.38","5.39","9.5","10.3","10.9","10.11","10.14","10.15","12.1","12.5","12.11","12.12","12.32","12.33","12.34","12.35","12.36","12.37","12.38","13.5","13.6","13.7","13.8","13.9","13.10","13.17","13.29","13.30","15.5","15.6","15.8","15.14","15.16","15.17","15.18","15.20","15.23","15.24","15.25","15.27","15.35","15.36","15.37","15.39","19.1","19.5","20.8","21.1","21.2","22.9","22.13","22.17","22.24","22.27","22.32","22.33","22.35","22.39","22.40","22.41","23.8","24.8","24.16","26.3","26.6","26.8","26.9","26.12","26.13","26.14","26.15","26.16","26.18","26.20","26.21","26.22","26.23","26.24","26.25","26.27","26.35","26.37","26.41","26.43","26.44","26.46","26.47"],"new":["1.1","3.3","3.6","3.7","3.8","3.9","3.10","3.11","3.17","3.22","3.28","3.29","3.33","5.4","5.5","5.6","5.23","5.35","5.36","5.37","5.38","5.39","9.5","10.3","10.9","10.15","12.1","12.3","12.4","12.5","12.9","12.11","12.12","12.13","12.14","12.15","12.19","12.25","12.27","12.32","12.33","12.34","12.35","12.36","12.37","12.38","12.39","12.40","13.5","13.8","13.9","13.17","13.29","13.30","15.3","15.5","15.6","15.8","15.9","15.10","15.12","15.13","15.14","15.16","15.17","15.18","15.20","15.23","15.24","15.25","15.27","15.28","15.29","15.33","15.37","15.39","19.1","19.5","21.1","21.2","22.9","22.13","22.17","22.24","22.32","22.33","22.39","22.41","22.48","24.7","24.8","24.16","26.3","26.5","26.8","26.9","26.12","26.13","26.14","26.15","26.16","26.17","26.18","26.20","26.21","26.22","26.23","26.24","26.25","26.27","26.32","26.35","26.37","26.41","26.43","26.44","26.46","26.47"],"container":["1.1","2.1","2.3","2.4","2.14","3.5","3.6","3.7","3.8","3.9","3.10","3.17","3.29","3.30","5.1","5.4","5.5","5.6","5.7","5.9","5.14","5.16","5.17","5.18","5.23","5.24","5.25","5.27","5.35","5.36","5.38","5.39","9.1","9.5","12.2","12.3","12.4","12.5","12.6","12.7","12.8","12.9","12.10","12.11","12.12","12.13","12.14","12.15","12.16","12.17","12.18","12.19","12.21","12.23","12.25","12.26","12.27","12.32","12.33","12.34","12.35","12.36","12.37","12.38","12.39","12.40","13.5","13.30","15.1","15.3","15.7","15.8","15.9","15.10","15.12","15.13","15.17","15.18","15.20","15.22","15.24","15.27","15.28","15.29","15.31","15.32","15.33","15.34","20.3","21.1","21.2","22.17","22.24","22.32","22.33","22.39","22.41","22.48","24.7","24.16","26.5","26.7","26.17","26.24","26.26","26.32","26.35","26.37","26.39","26.41"],"js":["1.2","1.3","1.4","1.5","1.7","1.8","1.9","1.10","1.12","3.2","10.8","10.9","10.10","10.11","10.12","10.14","10.15","11.1","13.3","13.4","13.11","13.12","13.13","13.14","13.15","13.16","13.18","13.19","13.21","13.23","13.25","13.26","13.27","13.31","13.32","13.33","15.4","15.5","15.14","15.16","15.23","15.35","15.36","15.39","19.1","20.2","22.3","22.5","22.6","22.8","22.9","22.12","22.13","22.14","22.15","22.16","22.18","22.20","22.22","22.23","22.24","22.25","22.27","22.32","22.35","22.37","22.39","22.43","22.44","22.47","23.2","24.3","26.6","26.11","26.35","26.36","26.40"],"artplayer":["1.6","5.4","5.5","5.6","5.16","5.23","5.25","5.35","5.36","5.38","5.39","9.5","10.3","10.9","10.15","12.1","12.3","12.4","12.5","12.7","12.8","12.9","12.10","12.11","12.12","12.13","12.14","12.15","12.16","12.17","12.19","12.21","12.23","12.25","12.26","12.27","12.32","12.33","12.34","12.35","12.36","12.37","12.38","12.39","12.40","13.3","13.4","13.6","13.7","13.10","13.11","13.12","13.13","13.14","13.15","13.16","13.18","13.19","13.21","13.23","13.25","13.26","13.27","13.31","13.32","13.33","15.1","15.3","15.6","15.7","15.8","15.9","15.10","15.12","15.13","15.17","15.18","15.20","15.22","15.23","15.24","15.25","15.27","15.28","15.29","15.31","15.32","15.33","19.1","19.5","21.1","22.17","22.24","22.26","22.32","22.33","22.39","22.41","22.48","26.3","26.5","26.7","26.8","26.9","26.13","26.14","26.15","26.16","26.17","26.21","26.24","26.25","26.32","26.35","26.37","26.41","26.44"],"手动触发事件":["2.0"],"subtitle":["2.28","2.29","2.30","12.31"],"srt":["2.31","12.31"],"或者部分加载完成":["2.45"],"则发送此事件":["2.45"],"已经到达结束点":["2.46"],"正在尝试获取媒体数据":["2.57"],"一级属性":["3.0"],"var":["3.1","3.3","3.4","3.8","3.9","3.10","3.11","3.12","3.13","3.14","3.15","3.16","3.18","3.19","3.20","3.21","3.22","3.23","3.24","3.25","3.26","3.27","3.28","3.29","3.31","3.32","3.33","5.4","5.38","9.5","10.9","10.11","10.12","10.14","10.15","12.1","12.11","12.37","13.5","13.6","13.7","13.8","13.9","13.10","13.17","13.22","13.28","13.29","15.5","15.6","15.10","15.12","15.14","15.16","15.17","15.18","15.23","15.25","15.35","15.36","15.39","19.1","19.5","21.2","22.3","22.9","22.13","22.17","22.24","22.27","22.32","22.35","22.37","22.39","22.41","24.8","26.6","26.8","26.9","26.12","26.13","26.14","26.15","26.16","26.18","26.20","26.21","26.22","26.23","26.25","26.26","26.27","26.35","26.37","26.40","26.41","26.43","26.44","26.46","26.47"],"false":["3.18","3.19","3.32","6.5","13.3","16.5"],"adsplugin":["4.0","14.0"],"option":["4.0","14.0","20.4","23.4","24.18"],"layers":["4.0","14.0"],"ads":["4.0"],"html":["4.0","7.4","8.4","9.6","15.19","15.21","17.4","18.4","19.6","22.30","22.31","24.11","24.12","24.13","26.30","26.31"],"img":["4.0","9.4","9.7","19.7","22.38","26.38"],"style":["4.0","6.1","7.3","8.1","8.4","16.1","17.3","18.1","18.4","20.4","26.28"],"width":["4.0","8.4","9.4","9.7","18.4","19.7","24.5","26.28"],"100px":["4.0","8.4","18.4","26.28"],"src":["4.0","8.3","8.4","9.7","18.3","18.4","19.7","22.28","26.28"],"display":["4.0"],"none":["4.0"],"position":["4.0","5.19","7.4","8.2","8.3","8.5","15.21","17.4","18.2","18.3","18.5","22.28","22.31","24.11","24.12","26.28","26.31"],"absolute":["4.0","8.2","8.3","8.5","18.2","18.3","18.5","22.28","26.28"],"top":["4.0","8.2","8.3","8.5","18.2","18.3","18.5","22.28","26.28"],"20px":["4.0","22.28","26.28"],"right":["4.0","7.2","7.4","8.2","8.5","15.21","17.2","17.4","18.2","18.5","22.28","24.11","24.12","24.13"],"seek":["5.11"],"settimeout":["5.11","7.5","17.5","22.2"],"controls":["5.19","5.21","15.21","24.11","24.12"],"jpg":["5.22"],"hd":["5.41","15.41"],"720p":["5.41","15.41"],"element":["6.1","8.1"],"组件的":["6.1","8.1"],"dom":["6.1","8.1","9.3","16.1","18.1","19.3"],"元素":["6.1","8.1"],"args":["6.2","6.3","6.4","16.2","16.3","16.4","22.29","22.30","26.29"],"show":["6.5","9.6","9.8","16.4","16.5","19.6","19.8"],"组件样式对象":["7.1"],"组件点击事件":["7.1"],"mounted":["7.1","10.0","11.0","15.0","17.1"],"selector":["7.2","17.2"],"default":["7.2","10.4","17.2","20.10","21.4","25.4"],"span":["7.2","17.2"],"01":["7.2","17.2","22.29","26.29"],"button":["7.3","7.4","17.3","17.4"],"tooltip":["7.3","7.4","8.2","8.3","17.1","17.3","17.4","18.2","18.3","22.31"],"color":["7.3","17.3"],"red":["7.3","17.3"],"your":["7.4","15.30","17.4","21.0","22.30","22.31","26.30","26.31","26.45"],"02":["7.5","9.3","17.5","19.3","22.29","26.29"],"update":["7.5"],"the":["7.5","12.47","17.5","21.4","25.4"],"tip":["8.2","8.3","18.2","18.3"],"50px":["8.2","8.3","8.5","18.2","18.3","18.5"],"potser":["8.4"],"item":["9.2","9.3","19.2","19.3"],"onselect":["9.3","19.3","22.29","26.29"],"pip":["9.4","19.4"],"mode":["9.4","19.4"],"close":["9.4","19.4"],"heigth":["9.4","9.7","19.7"],"add":["9.6","20.1","23.1"],"slider":["9.6","19.6"],"state":["9.7","19.7"],"range":["9.8","19.8","24.13"],"to":["10.2","12.41","12.42","12.61","14.0","21.0","22.1"],"easily":["10.2"],"distinguish":["10.2"],"between":["10.2"],"by":["10.4","22.45"],"all":["10.4","13.0"],"zh":["10.6"],"cn":["10.6"],"div":["10.8","10.9","10.10","10.15","13.24","15.38","19.5","22.21","22.26","22.36","22.40","22.46","26.36"],"classname":["10.8","10.9","10.10","10.11","10.12","10.15","13.1","13.24","15.4","15.38","19.5","22.15","22.21","22.26","22.36","22.40","22.46","26.36"],"run":["10.8","10.9","10.10","10.11","10.12","10.14","10.15","11.7","11.11","13.1","13.24","15.4","15.38","19.5","22.15","22.21","22.26","22.36","22.40","22.44","22.46","26.36"],"code":["10.8","10.9","10.10","10.11","10.12","10.14","10.15","11.1","11.2","11.3","11.4","11.5","11.7","11.8","11.9","11.10","11.11","11.12","13.1","13.15","13.24","13.25","13.27","15.4","15.38","19.5","22.5","22.12","22.14","22.15","22.16","22.18","22.21","22.25","22.26","22.35","22.36","22.40","22.43","22.44","22.46","22.47","26.36"],"switch":["10.10","15.11","15.19"],"visibility":["10.10"],"full":["11.6"],"list":["11.6"],"manually":["12.0"],"trigger":["12.0"],"data":["12.41","12.57","20.10"],"through":["12.41","12.42","22.26"],"of":["12.44","20.3","22.1"],"partially":["12.45"],"media":["12.46","12.48"],"resource":["12.47"],"type":["12.47","24.13"],"loaded":["12.49"],"paused":["12.50","14.0"],"pause":["12.52"],"or":["12.52"],"delay":["12.52"],"browser":["12.53"],"has":["12.54","12.58"],"skipping":["12.55","12.56"],"operation":["12.55","12.56"],"but":["12.57"],"due":["12.61"],"names":["13.0"],"are":["13.0"],"in":["13.0"],"devices":["13.20"],"a":["13.20","15.15"],"tap":["13.20"],"toggles":["13.20"],"for":["14.0"],"example":["14.0"],"i":["14.0","24.6"],"want":["14.0","22.10"],"write":["14.0"],"displays":["14.0"],"an":["14.0"],"image":["14.0"],"advertisement":["14.0"],"t":["15.11"],"and":["15.11"],"note":["15.15"],"some":["15.15"],"videos":["15.15"],"do":["15.15"],"not":["15.15"],"have":["15.15"],"resize":["15.30"],"class":["15.38"],"name":["15.38"],"480p":["15.41"],"object":["16.1","18.1","22.11"],"triggered":["17.1"],"after":["17.1"],"is":["17.1"],"poster":["18.4"],"setting":["19.4"],"step":["19.5","24.13"],"unpkg":["20.2","23.2","24.3"],"so":["20.3"],"import":["20.6","21.0"],"useref":["20.8","23.8"],"export":["20.10"],"return":["20.10"],"jsdelivr":["20.11"],"net":["20.11","23.11"],"https":["20.11","23.11"],"cdn":["20.11","23.11"],"npm":["20.11","23.11"],"you":["21.0","22.10"],"need":["21.0","22.1"],"required":["21.0"],"change":["21.4","25.4"],"initialize":["22.1"],"size":["22.1"],"like":["22.1"],"css":["22.1","22.11","26.1"],"this":["22.4","26.4"],"equivalent":["22.4"],"will":["22.7"],"cache":["22.7"],"muted":["22.10"],"if":["22.10","24.6"],"similar":["22.11"],"s":["22.11"],"fit":["22.11"],"increase":["22.19"],"volume":["22.19","23.9"],"decrease":["22.19"],"fast":["22.19"],"forward":["22.19"],"rewind":["22.19"],"opacity":["22.28"],"left":["22.31","26.31"],"something":["22.34","26.34"],"dosomething":["22.34","26.34"],"onvttload":["22.36"],"modify":["22.36"],"text":["22.36","24.6","24.12"],"loading":["22.38","26.38"],"address":["22.40"],"current":["22.40"],"instance":["22.40","23.4"],"modifying":["22.42"],"existing":["22.42"],"because":["22.45"],"player":["22.45"],"uses":["22.45"],"as":["22.45"],"key":["22.45"],"dimensions":["22.46"],"get":["23.4"],"getinstance":["23.4"],"d":["23.6"],"选项":["23.10"],"com":["24.3"],"默认":["24.4"],"顶部":["24.4"],"底部":["24.4"],"是否开启热力图":["24.5"],"当播放器宽度小于此值时":["24.5"],"弹幕发射器置于播放器底部":["24.5"],"points":["24.5"],"热力图数据":["24.5"],"filter":["24.5"],"弹幕载入前的过滤器":["24.5"],"只支持返回布尔值":["24.5"],"beforeemit":["24.5"],"弹幕发送前的过滤器":["24.5"],"支持返回":["24.5"],"你可以对弹幕做合法校验":["24.6"],"或者做存库处理":["24.6"],"当返回true后才表示把弹幕加入到弹幕队列":["24.6"],"async":["24.6"],"const":["24.6"],"isdirty":["24.6"],"fuck":["24.6"],"test":["24.6"],"plugins":["24.10"],"artplayerplugindanmuku":["24.10"],"xml":["24.11","24.12"],"隐藏弹幕":["24.11"],"发送弹幕":["24.12"],"弹幕大小":["24.13"],"input":["24.13"],"min":["24.13"],"max":["24.13"],"重新加载当前弹幕库":["24.14"],"切换":["24.14"],"length":["24.18"],"error":["24.18"],"加载错误":["24.18"],"config":["24.18"],"外":["25.0"],"不再捆绑其它多国语言":["25.0"],"需要自行导入需要的语言":["25.0"],"lang":["25.3"],"language":["25.4"],"您可能需要初始化容器元素的大小":["26.1"],"如":["26.1"],"等同于":["26.4"],"document":["26.26"],"queryselector":["26.26"],"menu":["26.30"],"control":["26.31"],"文本的函数":["26.36"],"修改现有的语言":["26.42"],"id":["26.45"]},{"0":["5.11","20.9"],"1":["9.7","13.25","19.7","24.13"],"2":["13.26"],"3":["22.1"],"4":["22.15","22.21","22.36","22.40","22.43","22.44","22.46"],"5":["9.7","13.23","19.7","20.9"],"6":["15.38"],"7":["15.4","22.26"],"8":["12.0","22.40"],"9":["26.28"],"10":["9.7","13.12","13.14","13.27","19.7"],"11":["22.42","26.42"],"12":["22.36","26.36"],"20":["13.11"],"22":["9.5","9.6","19.4","19.6"],"25":["24.13"],"32":["0.13","10.13"],"60":["22.33","26.33"],"120":["26.33"],"150":["9.2","19.2"],"200":["24.5"],"404":["2.11","12.11"],"500":["13.21"],"1000":["22.2"],"2000":["13.24"],"3000":["5.11","13.15"],"5000":["13.4","13.13","13.16"],"二级属性":["0.0"],"mp4":["0.1","0.12","0.14","2.1","2.3","2.4","2.5","2.6","2.7","2.8","2.9","2.10","2.11","2.12","2.13","2.14","2.15","2.16","2.19","2.21","2.23","2.25","2.26","2.27","2.32","2.33","2.34","2.35","2.36","2.37","2.38","2.39","2.40","3.5","3.6","3.7","3.29","3.30","5.1","5.2","5.3","5.7","5.8","5.9","5.10","5.12","5.13","5.14","5.16","5.17","5.18","5.20","5.24","5.27","5.28","5.32","5.33","5.34","5.37","9.1","9.5","10.8","10.9","10.10","10.15","12.2","12.6","12.7","12.8","12.9","12.10","12.12","12.13","12.15","12.16","12.17","12.18","12.19","12.20","12.21","12.22","12.23","12.24","12.25","12.26","12.27","12.39","13.30","15.1","15.2","15.3","15.7","15.8","15.9","15.10","15.12","15.13","15.17","15.18","15.20","15.24","15.27","15.28","15.29","15.31","15.32","15.33","15.34","15.42","19.5","20.5","21.2","22.17","22.32","22.33","22.35","22.48","23.5","24.15","24.16","25.1","26.7","26.24","26.32","26.35","26.48"],"console":["0.1","0.5","1.2","1.3","1.4","1.5","1.7","1.8","1.9","1.10","1.11","1.12","3.2","5.8","5.13","5.14","5.15","5.22","5.26","5.27","5.28","5.29","5.31","5.32","5.33","5.40","7.3","8.2","8.3","10.16","13.2","15.26","15.31","15.37","15.40","17.3","18.2","18.3","22.28","22.30","22.31","26.28","26.29","26.30"],"info":["0.1","0.5","1.2","1.3","1.4","1.5","1.7","1.8","1.9","1.10","1.12","5.8","5.13","5.15","5.22","5.26","5.28","5.29","5.31","5.32","5.33","7.3","8.2","8.3","10.5","10.16","15.26","15.31","15.37","17.3","18.2","18.3","22.28","22.30","26.28","26.29","26.30"],"warning":["0.2","1.6","5.11","10.1","10.5","10.6","15.21","15.37","21.0","22.2","22.4","22.17","22.19","22.39","23.3","23.4","26.10","26.39","26.45","26.48"],"提示":["0.2","5.11","23.3","26.45"],"为了方便区别":["0.2"],"元素和普通对象":["0.2"],"播放器里的所有":["0.2"],"mouseenter":["0.3","10.3"],"你可以修改":["0.4"],"即可":["0.4"],"zh":["0.6"],"cn":["0.6","21.4","25.4"],"your":["0.6","10.6","20.3","21.3","21.4","22.3","25.3","25.4","26.3"],"ready":["0.7","0.8","0.11","0.12","0.13","0.14","0.15","2.6","2.18","2.22","2.24","2.31","5.8","5.10","5.12","5.13","5.14","5.15","5.17","5.18","5.22","5.26","5.27","5.28","5.29","5.30","5.31","5.32","5.33","5.41","5.42","6.5","8.5","9.8","10.7","10.9","10.10","12.2","12.18","12.22","12.24","12.31","15.8","15.10","15.13","15.22","15.26","15.28","15.29","15.31","15.32","15.33","15.40","15.41","15.42","16.5","18.5","19.8"],"html":["0.8","0.9","0.10","5.19","5.21","14.0","24.10"],"some":["0.8","0.9","0.10","15.37"],"text":["0.8","0.9","0.10","17.1"],"position":["0.9","5.21","5.34","7.1","8.4","14.0","17.1","18.4","24.10"],"on":["0.11","0.12","0.13","0.14","0.15","2.6","2.11","2.12","2.18","2.24","2.31","5.7","5.8","5.9","5.10","5.12","5.13","5.14","5.15","5.17","5.18","5.20","5.22","5.26","5.27","5.28","5.29","5.31","5.32","5.33","5.41","5.42","6.4","6.5","7.4","10.7","10.9","10.10","12.2","12.6","12.18","12.22","12.24","12.31","15.7","15.8","15.10","15.12","15.13","15.22","15.26","15.27","15.28","15.29","15.31","15.32","15.33","15.41","15.42","16.4","16.5","17.4","22.4"],"subtitleoffset":["0.15"],"return":["0.16","9.2","9.3","10.16","15.11","19.2","19.3","24.9","24.12"],"name":["0.16","10.16"],"something":["0.16"],"dosomething":["0.16"],"一级属性":["1.0","5.0"],"app":["1.1","3.3","3.8","3.9","3.10","3.11","3.12","3.13","3.17","3.22","3.23","3.28","3.29","3.33","5.4","5.5","5.6","5.23","5.35","5.36","5.38","5.39","10.8","10.9","10.10","10.11","10.12","10.14","10.15","12.1","12.3","12.4","12.5","12.11","12.14","12.32","12.33","12.34","12.35","12.36","12.37","12.38","13.5","13.6","13.7","13.8","13.9","13.10","13.17","13.22","13.28","13.29","15.5","15.6","15.14","15.16","15.17","15.18","15.23","15.24","15.25","15.35","15.36","15.39","19.1","19.5","21.1","22.9","22.13","22.24","22.26","22.32","22.35","22.36","22.37","22.41","24.8","26.5","26.6","26.8","26.9","26.12","26.13","26.14","26.15","26.16","26.18","26.20","26.21","26.22","26.23","26.25","26.27","26.35","26.36","26.37","26.40","26.41","26.43","26.44","26.46","26.47"],"url":["1.1","3.6","3.7","3.8","3.9","3.10","3.17","3.22","3.28","3.29","5.4","5.5","5.6","5.23","5.25","5.35","5.36","5.37","5.38","5.39","10.8","10.9","10.10","10.12","10.14","10.15","12.1","12.3","12.4","12.5","12.9","12.11","12.12","12.13","12.14","12.15","12.19","12.27","12.32","12.33","12.34","12.35","12.36","12.37","12.38","12.39","12.40","13.5","13.6","13.7","13.8","13.9","13.10","13.17","13.28","13.29","13.30","15.5","15.6","15.12","15.14","15.16","15.17","15.18","15.20","15.23","15.24","15.25","15.35","15.36","15.39","19.1","19.5","20.5","21.1","22.24","22.41","23.5","24.7","24.8","24.16","26.3","26.5","26.8","26.9","26.13","26.14","26.15","26.16","26.17","26.21","26.24","26.25","26.37","26.41","26.44"],"assets":["1.1","2.1","2.3","2.4","2.14","3.5","3.6","3.7","3.8","3.9","3.10","3.17","3.28","3.29","5.1","5.4","5.5","5.6","5.16","5.23","5.25","5.35","5.36","5.37","5.38","5.39","10.8","10.9","10.10","10.11","10.12","10.14","10.15","12.1","12.3","12.4","12.5","12.7","12.8","12.9","12.10","12.11","12.12","12.13","12.14","12.15","12.16","12.19","12.21","12.23","12.25","12.26","12.27","12.32","12.33","12.34","12.35","12.36","12.37","12.38","12.39","12.40","13.5","13.6","13.7","13.28","13.29","13.30","15.1","15.3","15.5","15.6","15.7","15.8","15.9","15.10","15.12","15.14","15.16","15.17","15.18","15.20","15.23","15.24","15.25","15.27","15.28","15.33","19.1","19.5","20.5","21.1","22.24","22.32","22.35","22.41","22.48","23.5","24.7","24.8","24.16","26.5","26.7","26.17","26.24","26.35","26.36","26.37","26.41"],"全部工具函数请参考以下地址":["1.6"],"js":["1.11","11.2","11.3","11.4","11.5","11.7","11.8","11.9","11.10","11.11","11.12","13.1","13.2","13.24","15.38","22.11","22.21","22.26","22.36","22.40","22.46"],"emit":["2.0","12.0"],"focus":["2.0","12.0"],"移除事件":["2.0"],"sample":["2.1","2.3","2.4","2.5","2.7","2.8","2.9","2.10","2.13","2.14","2.15","2.19","2.27","2.32","2.33","2.34","2.35","2.36","2.37","2.38","2.40","3.5","3.6","3.7","3.8","3.9","3.10","3.17","3.28","3.29","3.30","5.1","5.5","5.6","5.7","5.9","5.16","5.23","5.24","5.25","5.34","5.35","5.36","5.37","5.38","9.1","10.8","10.9","10.10","10.11","10.12","10.14","10.15","12.3","12.4","12.5","12.6","12.7","12.8","12.9","12.10","12.11","12.12","12.13","12.14","12.15","12.16","12.17","12.19","12.21","12.23","12.25","12.26","12.27","12.32","12.33","12.34","12.35","12.36","12.37","12.38","12.39","12.40","13.5","13.29","13.30","15.1","15.3","15.7","15.8","15.9","15.10","15.12","15.13","15.14","15.17","15.18","15.20","15.24","15.27","15.28","15.29","15.32","15.33","15.34","19.1","19.5","20.5","21.1","21.2","22.24","22.32","22.35","22.41","22.48","23.5","24.7","24.16","25.1","26.5","26.7","26.17","26.24","26.35","26.36","26.37","26.41"],"video":["2.1","2.3","2.4","2.5","2.7","2.8","2.9","2.10","2.13","2.14","2.15","2.16","2.19","2.27","2.32","2.33","2.34","2.35","2.36","2.37","2.38","2.39","2.40","3.5","3.6","3.7","3.28","3.29","3.30","5.1","5.5","5.6","5.7","5.9","5.14","5.16","5.17","5.18","5.20","5.23","5.24","5.25","5.27","5.34","5.37","9.1","9.5","10.8","10.9","10.10","10.11","10.15","12.3","12.4","12.5","12.6","12.7","12.8","12.9","12.10","12.12","12.13","12.14","12.15","12.16","12.17","12.18","12.19","12.20","12.21","12.23","12.25","12.26","12.27","12.32","12.33","12.34","12.35","12.36","12.38","12.39","12.40","13.5","15.20","15.27","15.28","15.29","15.33","15.34","19.5","20.5","21.2","22.17","22.24","22.32","22.33","22.35","22.41","22.48","23.5","24.7","24.16","25.1","26.7","26.17","26.24","26.32","26.35","26.48"],"true":["2.16","2.17","2.20","2.21","2.22","2.23","2.24","2.25","2.26","2.39","3.30","5.2","5.3","5.20","6.2","6.4","6.5","9.1","9.5","10.15","12.17","12.20","12.28","13.1","13.31","13.33","15.2","15.20","16.2","16.4","16.5","19.5","22.17","24.16","26.10","26.32","26.45"],"setting":["2.17","2.20","2.28","3.30","9.1","9.5","12.20","13.30","19.5"],"fullscreen":["2.22"],"srt":["2.28","2.29","2.30"],"并调用":["2.45"],"但数据意外未出现":["2.57"],"属性名字全部都是大写的形式":["3.0"],"未来容易发生变动":["3.0"],"new":["3.1","3.4","3.12","3.13","3.14","3.15","3.16","3.18","3.19","3.20","3.21","3.23","3.24","3.25","3.26","3.27","3.31","3.32","10.8","10.10","10.11","10.12","10.14","11.1","13.3","13.4","13.6","13.7","13.10","13.11","13.12","13.13","13.18","13.19","13.21","13.22","13.23","13.26","13.28","13.31","13.32","13.33","15.4","15.35","15.36","15.38","20.9","22.3","22.5","22.6","22.8","22.12","22.14","22.15","22.16","22.18","22.20","22.21","22.22","22.23","22.25","22.27","22.34","22.35","22.36","22.37","22.40","22.43","22.44","22.46","22.47","23.9","26.6","26.11","26.34","26.36","26.40"],"container":["3.1","3.3","3.4","3.11","3.12","3.13","3.14","3.15","3.16","3.18","3.19","3.20","3.21","3.22","3.23","3.24","3.25","3.26","3.27","3.28","3.31","3.32","3.33","10.8","10.9","10.10","10.11","10.12","10.14","10.15","12.1","13.6","13.7","13.8","13.9","13.10","13.17","13.22","13.28","13.29","15.4","15.5","15.6","15.14","15.16","15.23","15.25","15.35","15.36","15.39","19.1","19.5","22.5","22.6","22.8","22.9","22.12","22.13","22.14","22.15","22.16","22.18","22.20","22.22","22.23","22.25","22.26","22.27","22.35","22.36","22.37","22.43","22.47","23.3","23.10","24.8","26.3","26.6","26.8","26.9","26.12","26.13","26.14","26.15","26.16","26.18","26.20","26.21","26.22","26.23","26.25","26.27","26.36","26.40","26.43","26.44","26.46","26.47"],"log":["3.2","5.40","15.40"],"art":["3.14","3.15","3.16","3.19","3.20","3.25","3.26","3.31","10.8","10.10","10.12","11.1","13.1","13.3","13.4","13.11","13.12","13.13","13.14","13.15","13.16","13.18","13.19","13.21","13.22","13.23","13.25","13.26","13.27","13.28","13.31","13.32","13.33","15.4","15.38","20.9","22.3","22.5","22.6","22.8","22.12","22.14","22.15","22.16","22.18","22.20","22.21","22.22","22.23","22.25","22.36","22.37","22.43","22.44","22.46","22.47","23.9","26.11","26.26","26.36"],"show":["4.0","6.2","6.3","6.4","14.0","16.2","16.3","22.28","22.30"],"block":["4.0","14.0"],"hide":["4.0","14.0"],"controls":["4.0","5.34","15.34","24.10"],"tooltip":["4.0","7.1","9.6","19.6","26.31"],"muted":["5.2","5.3","5.24","15.2","15.3","26.10"],"seek":["5.10","5.12"],"t":["5.11"],"right":["5.19","5.21","8.3","8.4","14.0","17.1","18.3","18.4","24.10","26.28"],"switch":["5.19"],"click":["5.19","5.21","6.1","8.1","8.2","8.3","15.37","16.1","18.1","18.2","18.3","22.28","22.31","24.10","24.11","26.28","26.30","26.31"],"function":["5.19","5.21","6.1","8.1","8.2","8.3","16.1","18.1","18.2","18.3","22.28","22.31","24.9","24.11","24.13","26.28","26.30"],"theme":["5.40","15.40"],"settimeout":["5.41","6.5","8.5","9.8","10.13","15.41","16.5","18.5","19.8","26.2"],"object":["6.1","8.1"],"组件样式对象":["6.1","8.1"],"false":["6.2","6.3","6.4","9.4","13.18","13.19","13.32","16.2","16.3","16.4","19.4","22.30","24.6"],"update":["6.5","8.5","9.8","16.5","19.8"],"组件挂载后触发":["7.1"],"组件的提示文本":["7.1"],"yellow":["7.2","17.2"],"02":["7.2","17.2"],"onselect":["7.2","17.2"],"item":["7.2","9.4","17.2"],"dom":["7.2","17.2"],"args":["7.3","8.2","8.3","17.3","18.2","18.3","22.28","22.31","26.28","26.30"],"mounted":["7.3","8.2","8.3","17.3","18.2","18.3","24.13"],"style":["7.4","14.0","17.4","20.5","22.31","23.4","23.5","24.13","26.31"],"color":["7.4","17.4","22.31","24.4","26.31"],"red":["7.4","17.4"],"control":["7.5","17.1","17.5"],"by":["7.5","8.5","9.8","17.5","18.5","19.8","22.10"],"absolute":["8.4","14.0","18.4"],"top":["8.4","14.0","18.4"],"50px":["8.4","18.4"],"the":["8.5","9.8","18.5","19.8","22.10"],"quality":["9.2","19.2"],"1080p":["9.2","19.2"],"src":["9.4","14.0","19.4","22.38","26.38"],"state":["9.4","22.38","24.6","26.38"],"svg":["9.4","9.7","19.4","19.7"],"settings":["9.5","10.4","19.5"],"slider":["9.5"],"5x":["9.5","9.6","19.5","19.6"],"img":["9.5","9.6","14.0","19.4","19.6"],"width":["9.5","9.6","14.0","19.4","19.6","20.5","22.1","26.1"],"icon":["9.6","19.6"],"range":["9.7","19.7"],"instance":["10.0"],"which":["10.0","11.0","15.0"],"reminder":["10.1"],"if":["10.1","10.4","15.37","20.11","22.45","24.11","24.12"],"you":["10.1","10.4","15.30","15.37"],"directly":["10.1"],"and":["10.2","10.4","12.45","17.1"],"plain":["10.2"],"objects":["10.2"],"in":["10.2"],"are":["10.2","15.15"],"mouseleave":["10.3"],"instances":["10.4"],"share":["10.4"],"same":["10.4","15.11"],"localstorage":["10.4"],"want":["10.4"],"different":["10.4"],"players":["10.4"],"use":["10.4","22.1"],"loading":["10.5","12.53"],"this":["10.5","22.39"],"using":["10.6"],"can":["10.6","22.39"],"only":["10.6","22.39"],"var":["10.8","10.10","11.1","13.1","13.3","13.4","13.11","13.12","13.13","13.14","13.15","13.16","13.18","13.19","13.21","13.23","13.24","13.25","13.26","13.27","13.31","13.32","13.33","15.4","15.38","22.5","22.6","22.8","22.12","22.14","22.15","22.16","22.18","22.20","22.21","22.22","22.23","22.25","22.26","22.34","22.36","22.40","22.43","22.44","22.46","22.47","26.11","26.34","26.36"],"artplayer":["10.8","10.10","10.11","10.12","10.14","11.1","13.1","13.24","15.4","15.5","15.14","15.16","15.35","15.36","15.38","15.39","22.3","22.5","22.6","22.8","22.9","22.12","22.13","22.14","22.15","22.16","22.18","22.20","22.22","22.23","22.25","22.27","22.34","22.35","22.36","22.37","22.43","22.44","22.47","26.6","26.11","26.12","26.18","26.20","26.22","26.23","26.27","26.34","26.36","26.40","26.43","26.46","26.47"],"flip":["10.15"],"playbackrate":["10.15"],"aspectratio":["10.15"],"constructor":["11.0"],"please":["11.6"],"refer":["11.6"],"remove":["12.0"],"end":["12.41","12.42"],"without":["12.41","12.42"],"duration":["12.44"],"is":["12.45","12.47","12.53","15.30"],"sent":["12.45"],"reached":["12.46"],"not":["12.47","15.30","20.4"],"has":["12.48","12.55","12.56"],"due":["12.52","15.19","15.21","22.17"],"changed":["12.54"],"unexpectedly":["12.57"],"been":["12.58"],"currenttime":["12.59"],"attribute":["12.59"],"temporarily":["12.61"],"uppercase":["13.0"],"subject":["13.0"],"change":["13.0"],"defaults":["13.20"],"ads":["14.0"],"100px":["14.0"],"display":["14.0","24.13"],"none":["14.0"],"20px":["14.0"],"have":["15.11","20.3"],"functionality":["15.11"],"however":["15.11"],"method":["15.11"],"a":["15.11","20.3","21.0"],"promise":["15.11","24.5"],"such":["15.15"],"as":["15.15"],"that":["15.15"],"being":["15.15"],"live":["15.15"],"streamed":["15.15"],"or":["15.15","22.1"],"note":["15.19","22.2"],"to":["15.19","15.21"],"browser":["15.19","15.21","22.17"],"security":["15.19","15.21"],"mechanisms":["15.19","15.21"],"before":["15.19"],"triggering":["15.19"],"jpg":["15.22"],"json":["15.26"],"stringify":["15.26"],"but":["15.30","22.45"],"do":["15.30"],"know":["15.30"],"exact":["15.30"],"property":["15.30"],"tip":["15.37","20.3","20.11","22.19"],"need":["15.37"],"event":["16.1","18.1","24.11"],"left":["17.1"],"heigth":["19.4"],"pnpm":["20.1","23.1","24.2"],"com":["20.2","20.11","23.2","23.11"],"must":["20.3"],"responsive":["20.4"],"modifying":["20.4"],"https":["20.5","23.5"],"org":["20.5","23.5"],"600px":["20.5"],"height":["20.5","22.1","26.1"],"400px":["20.5","22.1","26.1"],"margin":["20.5"],"d":["20.6"],"null":["20.8","23.8"],"volume":["20.9"],"options":["20.10"],"option":["20.10","23.10"],"unpkg":["20.11","23.11"],"own":["21.0"],"when":["21.0","22.7"],"cannot":["21.0"],"be":["21.0"],"matched":["21.0"],"lang":["21.2","21.3","25.2"],"script":["21.2","25.2"],"i18n":["21.3","25.0","25.3"],"play":["21.4","22.19","25.4"],"300px":["22.1","26.1"],"support":["22.2"],"for":["22.2"],"three":["22.2"],"file":["22.2"],"formats":["22.2"],"size":["22.7"],"last":["22.7"],"upon":["22.10"],"entering":["22.10"],"cover":["22.11"],"div":["22.11"],"classname":["22.11"],"run":["22.11"],"code":["22.11"],"space":["22.19"],"toggle":["22.19"],"pause":["22.19"],"these":["22.19"],"document":["22.26"],"queryselector":["22.26"],"setting02":["22.29","26.29"],"green":["22.31","26.31"],"one":["22.33","26.33"],"more":["22.33","26.33"],"chance":["22.33","26.33"],"gif":["22.38","26.38"],"recognition":["22.39"],"extensions":["22.39"],"player":["22.39"],"parse":["22.39"],"cache":["22.45"],"progress":["22.45"],"of":["22.45"],"播放器的尺寸依赖于容器":["23.3"],"的尺寸":["23.3"],"ts":["23.6"],"types":["23.10"],"const":["23.10"],"ffffff":["24.4"],"弹幕颜色":["24.4"],"默认为白色":["24.4"],"beforevisible":["24.5"],"弹幕显示前的过滤器":["24.5"],"visible":["24.5"],"弹幕层是否可见":["24.5"],"emitter":["24.5"],"是否开启弹幕发射器":["24.5"],"maxlength":["24.5"],"弹幕输入框最大长度":["24.5"],"await":["24.6"],"这里是所有弹幕的过滤器":["24.6"],"包含来自服务端的和来自用户输入的":["24.6"],"plugins":["24.9","24.15","24.16","24.17"],"artplayerplugindanmuku":["24.9","24.15","24.16","24.17"],"xml":["24.10"],"隐藏弹幕":["24.10"],"prompt":["24.12"],"请输入弹幕文本":["24.12"],"弹幕测试文本":["24.12"],"trim":["24.12"],"value":["24.13"],"flex":["24.13"],"alignitems":["24.13"],"center":["24.13"],"切换到新的弹幕库":["24.14"],"config":["24.14"],"v2":["24.14"],"fullscreenweb":["24.16"],"配置变化":["24.18"],"stop":["24.18"],"弹幕停止":["24.18"],"start":["24.18"],"当无法匹配到语言时":["25.0"],"会默认显示英文":["25.0"],"或者使用":["26.1"],"aspect":["26.1"],"热键":["26.19"],"描述":["26.19"],"增加音量":["26.19"],"降低音量":["26.19"],"innerhtml":["26.26"],"opacity":["26.28"],"sd":["26.32"],"ploading":["26.38"],"后缀的识别":["26.39"],"播放器只能解析这种后缀":["26.39"],"因为播放器默认使用":["26.45"]},{"0":["20.5","23.5"],"2":["5.28"],"4":["22.11"],"5":["5.7","5.8","5.14","15.7","26.7"],"8":["2.0"],"9":["5.29","22.1"],"10":["5.10","5.12","15.10","15.12"],"16":["5.29","15.29","22.1","24.12","26.1"],"22":["19.5"],"60":["22.35","24.5","26.35"],"120":["22.33"],"180":["22.33","26.33"],"200":["24.6"],"240":["26.33"],"360":["9.2","19.2"],"720":["9.2","19.2"],"1000":["0.8","0.9","0.10","0.15","10.8","10.9","24.5","26.2"],"1080":["9.2","19.2"],"5000":["0.13","10.13"],"比较少用":["0.0"],"warning":["0.1","0.5","0.6","0.7","0.8","5.15","5.19","5.21","5.26","5.30","5.37","10.3","10.7","10.9","10.13","15.26","20.5","22.28","22.29","22.30","22.31","22.38","22.41","22.48","26.2","26.4","26.7","26.17","26.19","26.30","26.31","26.38","26.41"],"提示":["0.1","5.15","5.19","5.21","5.30","26.2","26.7","26.10","26.17"],"假如直接修改这个":["0.1"],"元素都是以":["0.2"],"开头命名的":["0.2"],"这是所有":["0.2"],"元素的定义":["0.2"],"mouseleave":["0.3"],"poster":["0.3","10.3"],"jpg":["0.3","10.3"],"then":["0.3","10.3","20.11","22.45"],"img":["0.3","10.3","19.5"],"loading":["0.5","12.48"],"这是所有图标的定义":["0.5"],"types":["0.5","1.6","25.0","26.48"],"使用":["0.6","24.9"],"只能更新实例化之后的":["0.6"],"to":["0.7","11.6","22.2","22.30","22.31"],"play":["0.7","4.0","5.2","10.7","15.2","21.3","22.2","25.3"],"如果想马上隐藏":["0.7"],"settimeout":["0.8","0.9","0.10","0.12","0.13","0.14","0.15","5.2","5.3","5.7","5.10","5.12","5.20","6.4","7.4","8.4","9.7","10.8","10.9","10.10","10.15","15.2","15.7","15.10","15.12","16.4","17.4","18.4","19.7"],"false":["0.8","0.9","0.10","0.14","0.15","10.8","10.9","10.10","10.15","22.28","24.4","26.28","26.30"],"left":["0.9","7.1","10.9"],"true":["0.10","0.12","2.19","3.5","3.6","3.7","3.28","3.29","5.1","5.13","5.24","5.31","6.3","10.10","12.16","12.19","12.21","12.22","12.23","12.24","12.25","12.26","12.39","13.5","13.6","13.7","13.28","13.29","13.30","15.1","15.3","15.24","15.31","16.3","19.1","22.24","22.32","26.17","26.24"],"srt":["0.11","12.28","12.29","12.30"],"on":["0.16","2.1","2.3","2.4","2.5","2.7","2.8","2.9","2.10","2.13","2.14","2.15","2.16","2.17","2.19","2.20","2.21","2.23","2.25","2.26","2.27","2.28","2.29","2.30","2.32","2.33","2.34","2.35","2.36","2.37","2.38","2.39","2.40","3.8","3.9","3.10","3.17","5.1","5.2","5.3","5.4","5.5","5.6","5.16","5.23","5.24","5.25","5.35","5.36","8.4","9.7","10.8","10.11","10.12","10.14","10.15","12.1","12.3","12.4","12.7","12.8","12.9","12.10","12.11","12.12","12.13","12.14","12.15","12.17","12.19","12.20","12.21","12.23","12.25","12.26","12.27","12.28","12.29","12.30","12.32","12.33","12.34","12.35","12.36","12.37","12.38","12.39","12.40","13.8","13.9","13.10","13.17","15.1","15.2","15.3","15.5","15.6","15.9","15.14","15.16","15.17","15.18","15.20","15.21","15.23","15.24","15.25","15.35","15.36","18.4","19.7","24.15","24.17","26.4"],"非常少使用":["1.0"],"sample":["1.1","3.1","3.3","3.4","3.11","3.12","3.13","3.18","3.21","3.22","3.23","3.24","3.27","3.31","3.32","3.33","5.4","5.39","11.1","12.1","13.6","13.7","13.8","13.9","13.10","13.11","13.12","13.13","13.17","13.21","13.22","13.28","13.33","15.4","15.5","15.6","15.16","15.23","15.25","15.35","15.36","15.38","15.39","20.10","22.5","22.6","22.8","22.9","22.12","22.13","22.14","22.15","22.16","22.18","22.20","22.22","22.23","22.25","22.27","22.34","22.36","22.37","22.40","22.43","22.44","22.47","23.10","24.8","26.6","26.8","26.9","26.11","26.12","26.13","26.14","26.15","26.16","26.18","26.20","26.21","26.22","26.23","26.25","26.27","26.34","26.40","26.43","26.44","26.46","26.47"],"video":["1.1","3.8","3.9","3.10","3.11","3.12","3.13","3.17","3.21","3.22","3.23","3.24","3.31","3.33","5.4","5.38","10.12","10.14","11.1","12.1","12.37","13.6","13.7","13.8","13.9","13.10","13.17","13.22","13.28","15.4","15.23","15.38","19.1","20.10","21.1","22.9","22.27","23.10","24.8","26.5","26.6","26.8","26.9","26.12","26.13","26.14","26.15","26.16","26.18","26.20","26.21","26.22","26.23","26.25","26.27","26.36","26.37","26.41","26.43","26.44","26.46","26.47"],"mp4":["1.1","3.8","3.9","3.10","3.17","3.22","3.28","5.4","5.5","5.6","5.23","5.25","5.35","5.36","5.38","5.39","10.11","10.12","10.14","12.1","12.3","12.4","12.5","12.11","12.14","12.32","12.33","12.34","12.35","12.36","12.37","12.38","12.40","13.5","13.6","13.7","13.8","13.9","13.10","13.17","13.22","13.28","13.29","15.4","15.5","15.6","15.14","15.16","15.23","15.25","15.35","15.36","15.38","15.39","19.1","20.10","21.1","22.5","22.14","22.16","22.24","22.36","22.37","22.41","23.10","24.7","24.8","26.5","26.8","26.9","26.13","26.14","26.15","26.16","26.17","26.21","26.25","26.36","26.37","26.41","26.44"],"artplayer":["1.2","1.3","1.4","1.5","1.7","1.8","1.9","1.10","1.11","1.12","3.2","11.2","11.3","11.4","11.5","11.7","11.8","11.9","11.10","11.11","11.12","13.2","22.11","22.21","22.40","22.46"],"d":["1.6"],"info":["1.11","2.12","5.14","5.27","5.37","5.38","9.4","11.2","11.3","11.4","11.5","11.7","11.8","11.9","11.10","11.11","11.12","15.8","15.13","15.14","15.22","15.27","15.28","15.29","15.32","15.33","19.4","20.5","22.31","23.5","24.17","26.31"],"const":["2.0","5.17","5.18","9.4","12.0","15.17","15.18","19.4","20.10","24.13"],"onready":["2.0","12.0"],"console":["2.1","2.3","2.4","2.5","2.7","2.8","2.9","2.10","2.11","2.12","2.13","2.14","2.15","2.16","2.17","2.18","2.20","2.21","2.22","2.23","2.24","2.25","2.26","2.27","2.29","2.30","2.32","2.33","2.34","2.35","2.36","2.37","2.38","2.40","5.24","5.37","5.38","5.39","9.4","11.2","11.3","11.4","11.5","11.7","11.8","11.9","11.10","11.11","11.12","12.7","12.8","12.9","12.10","12.12","12.13","12.15","12.27","15.8","15.13","15.14","15.22","15.27","15.28","15.29","15.32","15.33","15.39","19.4","20.5","23.5","24.17","26.31"],"event":["2.5","2.7","2.8","2.9","2.10","2.12","2.13","2.22","5.37","9.4","12.5","12.7","12.8","12.9","12.10","12.12","12.13","12.22"],"reconnecttime":["2.11","12.11"],"state":["2.12","2.15","2.16","2.21","2.23","2.24","2.25","2.32","2.33","2.34","2.35","2.36","2.37","2.38","2.39","2.40","9.5","9.6","12.12","12.15","12.21","12.23","12.24","12.25","12.32","12.33","12.34","12.35","12.36","12.38","19.6"],"height":["2.18","19.5","23.5"],"datauri":["2.26","12.26"],"currenttime":["2.27","12.27"],"offset":["2.28"],"text":["2.29","10.8","10.9","10.10","12.29","24.7","24.9"],"ass":["2.31","12.31"],"load":["2.45","12.45"],"方法重新加载它":["2.45"],"基本上用不到":["3.0"],"app":["3.1","3.4","3.14","3.15","3.16","3.18","3.19","3.20","3.21","3.24","3.25","3.26","3.27","3.31","3.32","11.1","13.1","13.3","13.4","13.11","13.12","13.13","13.14","13.15","13.16","13.18","13.19","13.21","13.23","13.24","13.25","13.26","13.27","13.31","13.32","13.33","15.4","15.38","20.10","22.3","22.5","22.6","22.8","22.11","22.12","22.14","22.15","22.16","22.18","22.20","22.21","22.22","22.23","22.25","22.27","22.34","22.40","22.43","22.44","22.46","22.47","23.10","26.3","26.11","26.34"],"url":["3.1","3.3","3.4","3.11","3.12","3.13","3.14","3.15","3.16","3.18","3.19","3.20","3.21","3.23","3.24","3.25","3.26","3.27","3.31","3.32","3.33","11.1","13.1","13.3","13.4","13.11","13.12","13.13","13.14","13.15","13.16","13.18","13.19","13.21","13.22","13.23","13.24","13.25","13.26","13.27","13.31","13.32","13.33","15.4","15.38","20.10","22.3","22.5","22.6","22.8","22.9","22.12","22.13","22.14","22.15","22.16","22.18","22.20","22.21","22.22","22.23","22.25","22.27","22.34","22.37","22.43","22.44","22.46","22.47","23.10","26.6","26.11","26.12","26.18","26.20","26.22","26.23","26.26","26.27","26.34","26.43","26.46","26.47"],"assets":["3.1","3.3","3.4","3.11","3.12","3.13","3.14","3.15","3.16","3.18","3.19","3.20","3.21","3.22","3.23","3.24","3.25","3.26","3.27","3.31","3.32","3.33","11.1","13.3","13.4","13.8","13.9","13.10","13.11","13.12","13.13","13.17","13.21","13.22","13.23","13.31","13.32","13.33","15.4","15.35","15.36","15.38","15.39","20.10","22.5","22.6","22.8","22.9","22.12","22.13","22.14","22.15","22.16","22.18","22.20","22.21","22.22","22.23","22.25","22.27","22.34","22.36","22.37","22.40","22.43","22.44","22.46","22.47","23.10","26.3","26.6","26.8","26.9","26.11","26.12","26.13","26.14","26.15","26.16","26.18","26.20","26.21","26.22","26.23","26.25","26.26","26.27","26.34","26.40","26.43","26.44","26.46","26.47"],"loop":["3.5","3.6","3.7","13.5","13.6","13.7"],"flip":["3.5","3.6","3.7","13.5"],"dblclick":["3.17"],"setting":["3.28","3.29","12.17","12.28","13.28","13.29","19.1","24.13"],"playbackrate":["3.28","13.28"],"contextmenu":["3.28","3.29","3.30","13.29","13.30"],"aspectratio":["3.29","13.29"],"show":["3.29","3.30","9.7","13.30","19.7","24.11","24.18","26.28","26.30"],"click":["4.0","5.34","5.37","14.0","15.34"],"marginright":["4.0","14.0"],"比较常用":["5.0"],"muted":["5.1","15.1","15.24"],"ready":["5.2","5.3","5.5","5.6","5.7","5.9","5.16","5.20","5.23","5.24","5.25","6.4","7.4","8.4","9.7","10.8","10.11","10.12","10.14","10.15","12.0","12.6","15.2","15.3","15.7","15.9","15.12","15.14","15.16","15.17","15.18","15.20","15.24","15.27","16.4","17.4","18.4","19.7","24.17"],"seek":["5.7","15.7","15.10","15.12"],"switch":["5.11"],"和":["5.11","7.1","24.5"],"的功能是一样的":["5.11"],"只是":["5.11"],"有的视频是没有时长的":["5.15"],"async":["5.17","5.18","15.17","15.18"],"await":["5.17","5.18","15.17","15.18"],"t":["5.22"],"json":["5.26"],"stringify":["5.26"],"resize":["5.30","24.15"],"当你的容器只有宽度":["5.30"],"playsinline":["5.31","15.31","26.37"],"m3u8":["5.32","22.2","26.40"],"000":["5.33"],"right":["5.34","7.1","15.34"],"html":["5.34","10.8","10.9","10.10","15.34","20.1","23.1"],"green":["5.40","15.40"],"1080p":["5.41","15.41"],"png":["5.42","15.42","22.35","22.38","26.35","26.38"],"组件点击事件":["6.1","8.1"],"mounted":["6.1","8.1","16.1","18.1","22.28","26.28"],"组件挂载后触发":["6.1","8.1"],"get":["6.2","6.3","7.2","7.3","8.2","8.3","16.2","16.3","17.2","17.3","18.2","18.3"],"the":["6.2","6.3","6.4","6.5","7.2","7.3","7.4","8.2","8.3","8.4","9.7","16.2","16.3","16.4","16.5","17.2","17.3","17.4","18.2","18.3","18.4","19.7","22.19","22.30"],"element":["6.2","6.3","7.2","7.3","8.2","8.3","16.2","16.3","17.2","17.3","18.2","18.3"],"of":["6.2","6.3","7.2","7.3","8.2","8.3","12.52","15.37","16.2","16.3","17.2","17.3","18.2","18.3","22.38"],"by":["6.2","6.3","6.4","6.5","7.2","7.4","8.4","16.2","16.3","16.4","16.5","17.2","17.4","18.4","21.0"],"delete":["6.4","7.4","8.4","9.7"],"控制控制器出现的左右位置":["7.1"],"selector":["7.1","17.1"],"array":["7.1","17.1"],"return":["7.2","17.2"],"control":["7.2","7.3","7.4","17.2","17.3","17.4"],"200px":["8.5","18.5"],"720p":["9.2","19.2"],"360p":["9.2","19.2"],"nextstate":["9.4","19.4"],"heigth":["9.5","9.6","19.6"],"src":["9.5","9.6","19.5","19.6"],"svg":["9.5","9.6","19.5","19.6"],"pip":["9.8","19.8"],"mode":["9.8","19.8"],"close":["9.8","19.8"],"are":["10.0","11.0","15.0"],"less":["10.0"],"commonly":["10.0","15.0"],"modify":["10.1","10.4","20.11"],"this":["10.1"],"object":["10.1"],"named":["10.2"],"starting":["10.2"],"with":["10.2"],"a":["10.2","12.47","15.21"],"here":["10.2"],"is":["10.2","10.5","16.1","18.1","22.7","22.45"],"definition":["10.2","10.5","22.38"],"if":["10.3","10.6","22.2","22.4","22.17"],"you":["10.3","10.6","20.3","22.45"],"need":["10.3","20.11","22.2","22.45"],"some":["10.3","10.8","10.9","10.10"],"only":["10.3","10.13","15.37","22.19"],"exist":["10.3","15.37"],"can":["10.4","15.11","20.3"],"accordingly":["10.4"],"after":["10.6","10.13","16.1","18.1","22.19"],"instantiation":["10.6"],"want":["10.6"],"before":["10.6"],"please":["10.6","20.11","22.29","22.30"],"immediately":["10.7"],"hide":["10.7","24.18"],"position":["10.9","15.34"],"shortcut":["10.13"],"keys":["10.13"],"will":["10.13","20.4","22.19"],"work":["10.13","22.19"],"subtitleoffset":["10.15"],"something":["10.16"],"dosomething":["10.16"],"very":["11.0","15.30"],"rarely":["11.0"],"container":["11.1","13.1","13.3","13.4","13.11","13.12","13.13","13.14","13.15","13.16","13.18","13.19","13.21","13.23","13.24","13.25","13.26","13.27","13.31","13.32","13.33","15.38","20.10","22.3","22.21","22.34","22.40","22.44","22.46","26.34"],"following":["11.6","20.11"],"address":["11.6","22.17"],"off":["12.0"],"fullscreen":["12.22"],"having":["12.41"],"stop":["12.41"],"for":["12.41","12.42","21.0","22.10","22.48"],"stopping":["12.42"],"content":["12.42"],"property":["12.44"],"changes":["12.44"],"method":["12.45"],"called":["12.45"],"end":["12.46"],"point":["12.46"],"supported":["12.47"],"finished":["12.48"],"lack":["12.52"],"resources":["12.53"],"completed":["12.55"],"started":["12.56"],"has":["12.57","12.59"],"not":["12.57"],"suspended":["12.58"],"missing":["12.61"],"future":["13.0"],"and":["13.0","20.11"],"new":["13.1","13.14","13.15","13.16","13.24","13.25","13.27","20.8","22.11","22.26","23.8","26.26"],"log":["13.2"],"art":["13.24","22.11","22.26"],"controls":["14.0"],"tooltip":["14.0"],"quite":["15.0"],"when":["15.11"],"it":["15.11","15.30","15.37"],"resolves":["15.11"],"indicates":["15.11"],"that":["15.11"],"played":["15.11"],"been":["15.15"],"fully":["15.15"],"decoded":["15.15"],"in":["15.15","20.4"],"which":["15.15"],"page":["15.19","22.10"],"must":["15.19","22.10"],"have":["15.19"],"had":["15.19"],"an":["15.19","17.1","22.4"],"user":["15.21"],"interaction":["15.21"],"e":["15.21"],"g":["15.21"],"useful":["15.30"],"as":["15.30","22.2","22.7"],"s":["15.30"],"during":["15.37"],"lifespan":["15.37"],"triggered":["16.1","18.1"],"context":["16.4"],"controller":["17.1"],"objects":["17.1"],"selection":["17.1"],"list":["17.1"],"onselect":["17.1"],"item":["19.4"],"width":["19.5","23.5"],"see":["20.3"],"more":["20.3","22.41"],"examples":["20.3"],"use":["20.3"],"at":["20.3"],"directly":["20.4"],"60px":["20.5","23.5"],"auto":["20.5","23.5"],"non":["20.5"],"responsive":["20.5"],"ts":["20.6"],"current":["20.8","23.8"],"tip":["20.9","23.3","23.9","23.11"],"complete":["20.9"],"typescript":["20.9","23.9"],"support":["20.11"],"even":["20.11"],"older":["20.11"],"configuration":["20.11","22.28","22.30","22.31"],"displayed":["21.0"],"default":["21.0"],"i18n":["21.0"],"usage":["21.0"],"lang":["21.1","25.1"],"window":["21.2","25.2"],"imported":["21.4","25.4"],"aspect":["22.1"],"ratio":["22.1","26.1"],"ogg":["22.2","26.2"],"webm":["22.2","26.2"],"other":["22.2"],"such":["22.2","22.7"],"or":["22.2"],"inside":["22.4"],"callback":["22.4"],"refers":["22.4"],"instance":["22.4"],"but":["22.4","22.39"],"arrow":["22.4"],"initialized":["22.7"],"next":["22.7"],"time":["22.7"],"refreshing":["22.7"],"be":["22.10"],"set":["22.10"],"var":["22.11"],"security":["22.17"],"mechanisms":["22.17"],"source":["22.17"],"player":["22.19"],"gains":["22.19"],"focus":["22.19"],"innerhtml":["22.26"],"component":["22.28","22.30","22.31"],"refer":["22.30","22.31"],"sd":["22.32"],"480p":["22.32","26.32"],"谁でもいいはずなのに":["22.33","26.33"],"夏の想い出がまわる":["22.33","26.33"],"all":["22.38"],"cannot":["22.39"],"zh":["22.42","26.42"],"cn":["22.42","26.42"],"same":["22.45"],"different":["22.45"],"reference":["22.48"],"syntax":["22.48"],"所以你的容器":["23.3"],"必须是有尺寸的":["23.3"],"以下链接可以看到更多的使用例子":["23.3"],"非响应式":["23.4"],"在":["23.4"],"600px":["23.5"],"400px":["23.5"],"margin":["23.5"],"全部":["23.9"],"定义":["23.9"],"volume":["23.10"],"假如你要兼容更古老的浏览器时":["23.11"],"border":["24.4"],"弹幕是否有描边":["24.4"],"默认为":["24.4"],"locktime":["24.5"],"输入框锁定时间":["24.5"],"theme":["24.5"],"dark":["24.5","24.16"],"弹幕主题":["24.5"],"支持":["24.5"],"length":["24.6"],"这是弹幕即将显示的时触发的函数":["24.6"],"当返回true后才表示可以马上发送到播放器里":["24.6"],"弹幕已经出现在播放器里":["24.6"],"你可以访问到弹幕的dom元素里":["24.6"],"plugins":["24.7","24.8"],"artplayerplugindanmuku":["24.7","24.8"],"promise":["24.9"],"resovle":["24.9"],"function":["24.10","26.31"],"target":["24.11"],"innertext":["24.11"],"else":["24.11"],"color":["24.12"],"math":["24.12"],"floor":["24.12"],"random":["24.12"],"0xffffff":["24.12"],"tostring":["24.12"],"queryselector":["24.13"],"addeventlistener":["24.13"],"追加":["24.14"],"追加新的弹幕库":["24.14"],"参数类型和option":["24.14"],"danmuku相同":["24.14"],"xml":["24.15","24.17"],"弹幕开始":["24.18"],"弹幕隐藏":["24.18"],"弹幕显示":["24.18"],"写法参考":["25.0","26.48"],"默认支持三种视频文件格式":["26.2"],"播放器会缓存最后一次音量的大小":["26.7"],"假如希望默认进入页面就能自动播放视频":["26.10"],"必需为":["26.10"],"视频快进":["26.19"],"视频快退":["26.19"],"space":["26.19"],"切换播放":["26.19"],"暂停":["26.19"],"subtitle":["26.24"],"组件配置":["26.30"],"args":["26.31"],"hd":["26.32"],"webkit":["26.37"],"全部图标的定义":["26.38"],"但无法解析这种后缀":["26.39"],"作为":["26.45"],"key":["26.45"],"来缓存播放进度的":["26.45"],"但假如你的同一个视频的":["26.45"]},{"0":["5.9","5.10","5.12","5.15","5.22","15.9","15.10","15.12","15.15","15.22","20.10","23.10"],"1":["9.6","19.6","24.7","24.9"],"2":["5.7","15.7","15.28"],"5":["5.5","5.6","9.6","15.5","15.6","15.8","15.14","19.6","20.10","23.10"],"9":["15.29","26.1"],"10":["5.42","9.6","15.42","19.6","22.35","26.35"],"60":["5.42","15.42"],"240":["22.33"],"300":["22.33","26.33"],"404":["3.14","3.15","13.14","13.15"],"1000":["0.12","0.14","10.10","10.12","10.14","10.15"],"3000":["5.2","5.3","5.7","5.10","5.12","5.20","5.41","6.4","6.5","7.4","7.5","8.4","8.5","9.7","9.8","15.2","15.3","15.7","15.10","15.12","15.20","15.41","16.4","16.5","17.4","17.5","18.4","18.5","19.7","19.8"],"对象":["0.1"],"播放器不会马上做出响应":["0.1"],"types":["0.2","2.0","10.2","10.5","11.6","20.9","21.0","22.38","22.48","23.9","26.38"],"d":["0.2","0.5","2.0","10.2","10.5","11.6","12.0","21.0","22.38","22.48","25.0","26.38","26.48"],"ts":["0.2","0.5","1.6","2.0","10.2","10.5","11.6","12.0","21.0","22.38","22.48","25.0","26.38","26.48"],"warning":["0.3","0.9","0.10","0.13","0.15","2.0","10.8","10.10","10.15","12.0","22.1","22.35","22.42","23.5","26.1","26.28","26.29","26.35","26.42"],"提示":["0.3","0.13","5.26","5.37","26.1","26.4","26.19"],"假如你需要一些":["0.3","5.37"],"事件只存在于播放器的生命周期上时":["0.3","5.37"],"强烈建议使用这些函数":["0.3"],"以避免造成内存泄漏":["0.3","5.37"],"your":["0.4","5.16","10.4","15.16"],"假如想在实例化之前更新":["0.6"],"请使用基础选项的":["0.6"],"来更新":["0.6"],"的显示":["0.7"],"组件配置":["0.8","0.9","0.10","26.28","26.31"],"请参考以下地址":["0.8","0.9","0.10","0.15","26.28","26.29","26.30","26.31"],"component":["0.8","0.9","0.10","0.15","10.8","10.9","10.10","10.15","22.29","26.28","26.29","26.30","26.31"],"color":["0.11","10.11","22.36","26.36"],"red":["0.11","10.11"],"false":["0.12","5.20","9.8","10.12","10.14","15.20","19.8"],"只在播放器获得焦点后":["0.13","26.19"],"如点击了播放器后":["0.13","26.19"],"这些快捷键才会生效":["0.13","26.19"],"true":["0.14","3.11","3.12","3.13","3.21","3.22","3.23","3.24","5.23","10.12","10.14","13.11","13.12","13.13","13.21","13.22","13.23","13.24","15.13","15.23","22.8","22.9","22.11","22.12","22.13","22.14","22.15","22.16","22.18","22.20","22.22","22.23","22.25","22.26","22.37","22.43","22.44","22.46","22.47","24.12","26.8","26.9","26.11","26.12","26.13","26.14","26.15","26.16","26.18","26.20","26.22","26.23","26.25","26.26","26.37","26.43","26.44","26.46","26.47"],"设置面板":["0.15"],"html":["0.15","10.15","22.41","22.42","24.2","26.41","26.42"],"ready":["0.16","2.0","5.1","5.4","10.16","15.1","15.4","15.5","15.6","15.23","15.25"],"off":["2.0"],"全部事件请参考以下地址":["2.0"],"events":["2.0"],"info":["2.1","2.2","2.3","2.4","2.5","2.6","2.7","2.8","2.9","2.10","2.11","2.13","2.14","2.15","2.16","2.17","2.18","2.19","2.20","2.21","2.22","2.23","2.24","2.25","2.26","2.27","2.28","2.29","2.30","2.31","5.17","5.18","5.24","5.35","5.36","5.39","9.5","12.1","12.2","12.3","12.4","12.5","12.6","12.7","12.8","12.9","12.10","12.11","12.12","12.13","12.14","12.15","12.16","12.17","12.18","12.19","12.20","12.21","12.22","12.23","12.24","12.25","12.26","12.27","12.28","12.29","12.30","12.31","15.17","15.18","15.24","15.35","15.36","15.38","15.39","19.5"],"console":["2.2","2.6","2.19","2.28","2.31","2.39","3.8","3.9","3.10","3.17","5.17","5.18","5.35","5.36","9.5","12.1","12.2","12.3","12.4","12.5","12.6","12.11","12.14","12.16","12.17","12.18","12.19","12.20","12.21","12.22","12.23","12.24","12.25","12.26","12.28","12.29","12.30","12.31","12.32","12.33","12.34","12.35","12.36","12.37","12.38","12.39","12.40","13.8","13.9","13.10","13.17","15.17","15.18","15.24","15.35","15.36","15.38","19.5"],"log":["2.32","2.33","2.34","2.35","2.36","2.37","2.38","2.39","2.40","3.8","3.9","3.10","3.17","12.32","12.33","12.34","12.35","12.36","12.37","12.38","12.39","12.40","13.8","13.9","13.10","13.17"],"video":["3.1","3.3","3.4","3.16","3.18","3.19","3.20","3.25","3.26","3.27","3.32","13.3","13.4","13.11","13.12","13.13","13.16","13.18","13.19","13.21","13.23","13.24","13.25","13.26","13.27","13.31","13.32","13.33","22.3","22.6","22.8","22.11","22.12","22.18","22.20","22.21","22.22","22.23","22.25","22.26","22.34","22.43","22.47","26.3","26.11","26.26","26.34"],"mp4":["3.1","3.3","3.4","3.11","3.12","3.13","3.14","3.15","3.16","3.18","3.19","3.20","3.21","3.23","3.24","3.25","3.26","3.27","3.31","3.32","3.33","11.1","13.1","13.3","13.4","13.11","13.12","13.13","13.14","13.15","13.16","13.18","13.19","13.21","13.23","13.24","13.25","13.26","13.27","13.31","13.32","13.33","22.3","22.6","22.8","22.9","22.11","22.12","22.13","22.15","22.18","22.20","22.21","22.22","22.23","22.25","22.26","22.27","22.34","22.43","22.44","22.46","22.47","26.3","26.6","26.11","26.12","26.18","26.20","26.22","26.23","26.26","26.27","26.34","26.43","26.46","26.47"],"playbackrate":["3.5","3.6","3.7","13.5","13.6","13.7"],"aspectratio":["3.5","3.6","3.7","13.5","13.6","13.7"],"autoplayback":["3.11","3.12","3.13","13.11","13.12","13.13"],"sample":["3.14","3.15","3.16","3.19","3.20","3.25","3.26","13.1","13.3","13.4","13.14","13.15","13.16","13.18","13.19","13.23","13.24","13.25","13.26","13.27","13.31","13.32","22.3","22.11","22.21","22.26","22.46","26.3","26.26"],"autoorientation":["3.21","13.21"],"show":["3.22","3.28","13.22","13.28","13.29"],"fastforward":["3.23","3.24","13.23","13.24"],"fullscreenweb":["3.31","13.31"],"miniprogressbar":["3.33","13.33"],"pause":["4.0","14.0"],"layer":["4.0","14.0"],"png":["4.0","14.0"],"t":["5.9","5.10","5.12","15.9","15.10","15.12","15.22"],"方法会返回":["5.11"],"promise":["5.11"],"当":["5.11"],"resolve":["5.11"],"时表示新地址是可以播放":["5.11"],"reject":["5.11"],"时表示新地址加载错误":["5.11"],"例如直播中的视频或者没被解码完成的视频":["5.15"],"这个时候获取的时长会是":["5.15"],"name":["5.16"],"由于浏览器安全机制":["5.19","5.21","26.17"],"触发窗口全屏前":["5.19"],"页面必须先存在交互":["5.19","5.21"],"例如用户点击过页面":["5.19","5.21"],"触发画中画前":["5.21"],"尺寸和坐标信息是通过":["5.26"],"getboundingclientrect":["5.26","15.26"],"获取的":["5.26"],"但不知道具体高度时":["5.30"],"这个属性很有用":["5.30"],"它能自动计算出视频的高度":["5.30"],"但你需要确定设置这个属性的时机":["5.30"],"强烈建议使用该函数":["5.37"],"4k":["5.41","15.41"],"number":["5.42","15.42","24.13"],"column":["5.42","15.42"],"tooltip":["6.1","8.1","16.1","18.1"],"组件的提示文本":["6.1","8.1"],"remove":["6.4","7.4","8.4","9.7","16.4","17.4","18.4","19.7"],"选择列表的对象数组":["7.1"],"onselect":["7.1"],"选择列表的元素被点击时触发的函数":["7.1"],"by":["7.3","8.2","8.3","9.7","17.3","18.2","18.3","19.7"],"left":["8.5","18.5","22.2"],"switchquality":["9.2","19.2"],"open":["9.4","19.4"],"return":["9.4","9.5","19.4","19.5"],"item":["9.5","17.1","19.5"],"event":["9.5"],"x":["9.5","19.5"],"range":["9.6","19.6"],"switch":["9.8","19.8"],"used":["10.0","11.0","15.0","22.4"],"will":["10.1","15.15","20.5","22.4"],"not":["10.1","13.0","20.5","22.4"],"respond":["10.1"],"immediately":["10.1"],"during":["10.3"],"lifecycle":["10.3"],"it":["10.3","12.45","20.11","22.7"],"strongly":["10.3"],"recommended":["10.3","15.37"],"use":["10.3","10.6","15.37","22.39"],"these":["10.3"],"functions":["10.3"],"avoid":["10.3","15.37"],"causing":["10.3","15.37"],"memory":["10.3","15.37"],"leaks":["10.3","15.37"],"from":["10.6","17.1"],"basic":["10.6"],"options":["10.6","22.1"],"for":["10.6","12.0","22.4"],"of":["10.7","12.0"],"configuration":["10.8","10.9","10.10"],"please":["10.8","10.9","10.10","10.15","12.0","22.2","22.10","22.28"],"refer":["10.8","10.9","10.10","10.15","12.0","20.11","21.0","22.2","22.28","22.29"],"following":["10.8","10.9","10.10","10.15","12.0","20.3","22.28","22.29","22.30","22.31"],"address":["10.8","10.9","10.10","12.0","22.28","22.29","22.30","22.31"],"srt":["10.11","22.24","26.24"],"settimeout":["10.12","10.14","15.3","15.20"],"has":["10.13"],"gained":["10.13"],"focus":["10.13"],"e":["10.13","15.19"],"g":["10.13","15.19"],"clicking":["10.13","22.19"],"link":["10.15","20.3"],"on":["10.16","15.4","15.19","22.2","22.19","24.6"],"a":["12.0"],"full":["12.0"],"list":["12.0"],"state":["12.37","12.39"],"further":["12.41"],"buffering":["12.41","12.42"],"to":["12.45","15.30","22.28","22.29"],"reload":["12.45"],"format":["12.47"],"data":["12.52","12.61"],"appeared":["12.57"],"changed":["12.59"],"basically":["13.0"],"needed":["13.0"],"assets":["13.1","13.14","13.15","13.16","13.18","13.19","13.24","13.25","13.26","13.27","22.3","22.11","22.26"],"flip":["13.6","13.7"],"dblclick":["13.17"],"contextmenu":["13.28"],"play":["14.0"],"rejects":["15.11"],"there":["15.11"],"was":["15.11"],"an":["15.11"],"error":["15.11"],"loading":["15.11"],"case":["15.15"],"obtained":["15.15","15.26"],"be":["15.15"],"interaction":["15.19"],"user":["15.19"],"clicked":["15.19","17.1"],"page":["15.21","22.7"],"must":["15.21"],"occur":["15.21","22.17"],"before":["15.21"],"triggering":["15.21"],"coordinates":["15.26"],"are":["15.26","22.17"],"via":["15.26"],"need":["15.30"],"make":["15.30"],"sure":["15.30"],"m3u8":["15.32","22.40","26.2"],"000":["15.33"],"highly":["15.37"],"this":["15.37","22.7"],"text":["16.1","18.1"],"when":["17.1"],"script":["20.1","23.1","24.2"],"packages":["20.3","20.9","23.3","23.9"],"template":["20.3","23.3"],"change":["20.4","20.5","24.13"],"the":["20.4","20.5","22.28","22.29","22.31"],"player":["20.4"],"in":["20.5"],"directly":["20.5"],"modifying":["20.5"],"definitions":["20.9"],"volume":["20.10"],"art8":["20.10","23.10"],"new":["20.10","23.10"],"yourself":["20.11"],"scripts":["20.11","23.11"],"documentation":["20.11"],"browserslist":["20.11","23.11"],"or":["21.1","25.1"],"tip":["22.1"],"among":["22.1"],"all":["22.1"],"only":["22.1"],"is":["22.1"],"mandatory":["22.1"],"flv":["22.2","26.2"],"third":["22.2"],"party":["22.2"],"libraries":["22.2"],"side":["22.2"],"point":["22.4"],"jpg":["22.5","26.5"],"ffad00":["22.6","26.6"],"read":["22.7","22.10"],"cached":["22.7"],"value":["22.7"],"more":["22.10","22.42"],"information":["22.10"],"policy":["22.10","26.10"],"changes":["22.10","26.10"],"url":["22.11","22.26"],"setting":["22.14","22.15","22.16","22.24","26.14","26.15","26.16","26.24"],"website":["22.17"],"cross":["22.17"],"origin":["22.17"],"failure":["22.17"],"may":["22.17"],"such":["22.19"],"as":["22.19"],"hd":["22.32"],"720p":["22.32","26.32"],"こんなとこにあるはずもないのに":["22.33","26.33"],"终わり":["22.33","26.33"],"online":["22.35"],"generation":["22.35"],"tool":["22.35","26.35"],"03a9f4":["22.36","26.36"],"font":["22.36","24.5","26.36"],"size":["22.36","24.5","26.36"],"30px":["22.36","26.36"],"webkit":["22.37"],"playsinline":["22.37"],"therefore":["22.39"],"if":["22.39"],"you":["22.39"],"best":["22.39"],"well":["22.39"],"settings":["22.41","22.42"],"start":["22.41","22.42","26.41","26.42"],"i18n":["22.41","26.41"],"tw":["22.42","26.42"],"identify":["22.45"],"unique":["22.45"],"里直接修改":["23.4","23.5"],"是不会改变播放器的":["23.4","23.5"],"非响应式":["23.5"],"在":["23.5"],"请修改以下配置然后自行构建":["23.11"],"构建配置":["23.11"],"build":["23.11"],"参考文档":["23.11"],"style":["24.4"],"弹幕自定义样式":["24.4"],"默认为空对象":["24.4"],"light":["24.5"],"只在自定义挂载时生效":["24.5"],"不透明度配置项":["24.5"],"弹幕字号配置项":["24.5"],"显示区域配置项":["24.5"],"弹幕速度配置项":["24.5"],"颜色列表配置项":["24.5"],"ref":["24.6"],"innerhtml":["24.6"],"ଘ":["24.6"],"੭ˊᵕˋ":["24.6"],"੭":["24.6"],"使用数组":["24.7"],"time":["24.7","24.9"],"异步返回":["24.9"],"显示弹幕":["24.10","24.11"],"hide":["24.11"],"border":["24.12"],"fontsize":["24.13"],"const":["24.14"],"target":["24.14"],"xml":["24.16"],"也可以手动挂载":["24.16"],"reset":["24.18"],"弹幕重置":["24.18"],"destroy":["24.18"],"弹幕销毁":["24.18"],"全部选项里":["26.1"],"只有":["26.1"],"是必填的":["26.1"],"如需要播放":["26.2"],"或者":["26.2"],"等其它格式":["26.2"],"请参考左侧的":["26.2"],"第三方库":["26.2"],"回调函数里的":["26.4"],"就是播放器实例":["26.4"],"但回调函数假如使用了箭头函数":["26.4"],"则不会指向播放器实例":["26.4"],"下次初始化时":["26.7"],"如刷新页面":["26.7"],"播放器会读取该缓存值":["26.7"],"更多信息请阅读":["26.10"],"假如视频源地址和网站是跨域的":["26.17"],"可能会出现截图失败":["26.17"],"在线生成预览图":["26.35"],"thumbnail":["26.35"],"所以假如你使用了":["26.39"],"最好同时要指明":["26.39"],"function":["26.40"],"更多的语言设置":["26.41","26.42"],"是不同的话":["26.45"],"那么你需要使用":["26.45"],"来标识视频的唯一":["26.45"]}]'},t={"0.0":{t:"# 高级属性",p:`这里的 高级属性 是指挂载在 实例 的 二级属性,比较少用 +`,l:"advanced/built-in.html",a:"高级属性"},"0.1":{t:"`option`",p:`播放器的选项 +<div className="run-code">▶ Run Code< ...`,l:"advanced/built-in.html#option",a:"option"},"0.2":{t:"`template`",p:`管理播放器所有的 DOM 元素 +<div className="run-code">▶ Ru ...`,l:"advanced/built-in.html#template",a:"template"},"0.3":{t:"`events`",p:"管理播放器所有的 DOM 事件,实质上是代理了 addEventListener 和 removeEventListener ...",l:"advanced/built-in.html#events",a:"events"},"0.4":{t:"`storage`",p:`管理播放器的本地存储 + +name 属性用于设置缓存的 key +set 方法用于设置缓存 +get 方法用于获取缓存 +del 方 ...`,l:"advanced/built-in.html#storage",a:"storage"},"0.5":{t:"`icons`",p:`管理播放器所有的 svg 图标 +<div className="run-code">▶ Ru ...`,l:"advanced/built-in.html#icons",a:"icons"},"0.6":{t:"`i18n`",p:`管理播放器的 i18n + +get 方法用于获取 i18n 的值 +update 方法用于更新 i18n 对象 + +<div ...`,l:"advanced/built-in.html#i18n",a:"i18n"},"0.7":{t:"`notice`",p:`管理播放器的提示语,只有一个 show 属性用于显示提示语 +<div className="run-code ...`,l:"advanced/built-in.html#notice",a:"notice"},"0.8":{t:"`layers`",p:`管理播放器的层 + +add 方法用于动态添加层 +remove 方法用于动态删除层 +update 方法用于动态更新层 +show ...`,l:"advanced/built-in.html#layers",a:"layers"},"0.9":{t:"`controls`",p:`管理播放器的控制器 + +add 方法用于动态添加控制器 +remove 方法用于动态删除控制器 +update 方法用于动态更新控 ...`,l:"advanced/built-in.html#controls",a:"controls"},"0.10":{t:"`contextmenu`",p:`管理播放器的右键菜单 + +add 方法用于动态添加菜单 +remove 方法用于动态删除菜单 +update 方法用于动态更新菜单 ...`,l:"advanced/built-in.html#contextmenu",a:"contextmenu"},"0.11":{t:"`subtitle`",p:`管理播放器的字幕功能 + +url 属性设置和返回当前字幕地址 +style 方法设置当前字幕的样式 +switch 方法设置当前字 ...`,l:"advanced/built-in.html#subtitle",a:"subtitle"},"0.12":{t:"`loading`",p:`管理播放器的加载层 + +show 属性用于设置是否显示加载层 +toggle 属性用于切换是否显示加载层 + +<div cl ...`,l:"advanced/built-in.html#loading",a:"loading"},"0.13":{t:"`hotkey`",p:`管理播放器的快捷键功能 + +add 方法用于添加快捷键 +remove 方法用于删除快捷键 + +<div className ...`,l:"advanced/built-in.html#hotkey",a:"hotkey"},"0.14":{t:"`mask`",p:`管理播放器的遮罩层 + +show 属性用于设置是否显示遮罩层 +toggle 属性用于切换是否显示遮罩层 + +<div cl ...`,l:"advanced/built-in.html#mask",a:"mask"},"0.15":{t:"`setting`",p:`管理播放器的设置面板 + +add 方法用于动态添加设置项 +remove 方法用于动态删除设置项 +update 方法用于动态更新 ...`,l:"advanced/built-in.html#setting",a:"setting"},"0.16":{t:"`plugins`",p:`管理播放器的插件功能,只有一个方法 add 用于动态添加插件 +<div className="run-cod ...`,l:"advanced/built-in.html#plugins",a:"plugins"},"1.0":{t:"# 静态属性",p:`这里的 静态属性 是指挂载在 构造函数 的 一级属性,非常少使用 +`,l:"advanced/class.html",a:"静态属性"},"1.1":{t:"`instances`",p:`返回全部播放器实例的数组,假如你想同时管理多个播放器的时候,可以用到该属性 +<div className=" ...`,l:"advanced/class.html#instances",a:"instances"},"1.2":{t:"`version`",p:`返回播放器的版本信息 +<div className="run-code">▶ Run Cod ...`,l:"advanced/class.html#version",a:"version"},"1.3":{t:"`env`",p:`返回播放器的环境变量 +<div className="run-code">▶ Run Cod ...`,l:"advanced/class.html#env",a:"env"},"1.4":{t:"`build`",p:`返回播放器的打包时间 +<div className="run-code">▶ Run Cod ...`,l:"advanced/class.html#build",a:"build"},"1.5":{t:"`config`",p:`返回视频的默认配置 +<div className="run-code">▶ Run Code ...`,l:"advanced/class.html#config",a:"config"},"1.6":{t:"`utils`",p:`返回播放器的工具函数集合 +<div className="run-code">▶ Run C ...`,l:"advanced/class.html#utils",a:"utils"},"1.7":{t:"`scheme`",p:`返回播放器选项的校验方案 +<div className="run-code">▶ Run C ...`,l:"advanced/class.html#scheme",a:"scheme"},"1.8":{t:"`Emitter`",p:`返回事件分发器的构造函数 +<div className="run-code">▶ Run C ...`,l:"advanced/class.html#emitter",a:"emitter"},"1.9":{t:"`validator`",p:`返回选项的校验函数 +<div className="run-code">▶ Run Code ...`,l:"advanced/class.html#validator",a:"validator"},"1.10":{t:"`kindOf`",p:`返回类型检测的函数工具 +<div className="run-code">▶ Run Co ...`,l:"advanced/class.html#kindof",a:"kindof"},"1.11":{t:"`html`",p:`返回播放器所需的 html 字符串 +<div className="run-code">▶ ...`,l:"advanced/class.html#html",a:"html"},"1.12":{t:"`option`",p:`返回播放器的默认选项 +<div className="run-code">▶ Run Cod ...`,l:"advanced/class.html#option",a:"option"},"2.0":{t:"# 实例事件",p:`播放器的事件分为两种,一种视频的 原生事件 (前缀 video:),另外一种是 自定义事件 +监听事件: +<div cl ...`,l:"advanced/event.html",a:"实例事件"},"2.1":{t:"`ready`",p:`当播放器首次可以播放器时触发 +<div className="run-code">▶ Run ...`,l:"advanced/event.html#ready",a:"ready"},"2.2":{t:"`restart`",p:`当播放器切换地址后并可以播放时触发 +<div className="run-code">▶ ...`,l:"advanced/event.html#restart",a:"restart"},"2.3":{t:"`pause`",p:`当播放器暂停时触发 +<div className="run-code">▶ Run Code ...`,l:"advanced/event.html#pause",a:"pause"},"2.4":{t:"`play`",p:`当播放器播放时触发 +<div className="run-code">▶ Run Code ...`,l:"advanced/event.html#play",a:"play"},"2.5":{t:"`hotkey`",p:`当播放器热键被按下时触发 +<div className="run-code">▶ Run C ...`,l:"advanced/event.html#hotkey",a:"hotkey"},"2.6":{t:"`destroy`",p:`当播放器销毁时触发 +<div className="run-code">▶ Run Code ...`,l:"advanced/event.html#destroy",a:"destroy"},"2.7":{t:"`focus`",p:`当播放器获得焦点时触发 +<div className="run-code">▶ Run Co ...`,l:"advanced/event.html#focus",a:"focus"},"2.8":{t:"`blur`",p:`当播放器失去焦点时触发 +<div className="run-code">▶ Run Co ...`,l:"advanced/event.html#blur",a:"blur"},"2.9":{t:"`dblclick`",p:`当播放器被双击时触发 +<div className="run-code">▶ Run Cod ...`,l:"advanced/event.html#dblclick",a:"dblclick"},"2.10":{t:"`click`",p:`当播放器被单击时触发 +<div className="run-code">▶ Run Cod ...`,l:"advanced/event.html#click",a:"click"},"2.11":{t:"`error`",p:`当播放器加载视频发生错误时触发 +<div className="run-code">▶ Ru ...`,l:"advanced/event.html#error",a:"error"},"2.12":{t:"`hover`",p:`当播放器被鼠标移出或者移入时触发 +<div className="run-code">▶ R ...`,l:"advanced/event.html#hover",a:"hover"},"2.13":{t:"`mousemove`",p:`当播放器被鼠标经过时触发 +<div className="run-code">▶ Run C ...`,l:"advanced/event.html#mousemove",a:"mousemove"},"2.14":{t:"`resize`",p:`当播放器尺寸变化时触发 +<div className="run-code">▶ Run Co ...`,l:"advanced/event.html#resize",a:"resize"},"2.15":{t:"`view`",p:`当播放器出现在视口时触发 +<div className="run-code">▶ Run C ...`,l:"advanced/event.html#view",a:"view"},"2.16":{t:"`lock`",p:`在移动端,当锁定的状态发生变化时触发 +<div className="run-code">▶ ...`,l:"advanced/event.html#lock",a:"lock"},"2.17":{t:"`aspectRatio`",p:`当播放器长宽比变化时触发 +<div className="run-code">▶ Run C ...`,l:"advanced/event.html#aspectratio",a:"aspectratio"},"2.18":{t:"`autoHeight`",p:`当播放器自动设置高度时触发 +<div className="run-code">▶ Run ...`,l:"advanced/event.html#autoheight",a:"autoheight"},"2.19":{t:"`autoSize`",p:`当播放器自动设置尺寸时触发 +<div className="run-code">▶ Run ...`,l:"advanced/event.html#autosize",a:"autosize"},"2.20":{t:"`flip`",p:`当播放器发生翻转时触发 +<div className="run-code">▶ Run Co ...`,l:"advanced/event.html#flip",a:"flip"},"2.21":{t:"`fullscreen`",p:`当播放器发生窗口全屏时触发 +<div className="run-code">▶ Run ...`,l:"advanced/event.html#fullscreen",a:"fullscreen"},"2.22":{t:"`fullscreenError`",p:`当播放器发生窗口全屏错误时触发 +<div className="run-code">▶ Ru ...`,l:"advanced/event.html#fullscreenerror",a:"fullscreenerror"},"2.23":{t:"`fullscreenWeb`",p:`当播放器发生网页全屏时触发 +<div className="run-code">▶ Run ...`,l:"advanced/event.html#fullscreenweb",a:"fullscreenweb"},"2.24":{t:"`mini`",p:`当播放器进入迷你模式时触发 +<div className="run-code">▶ Run ...`,l:"advanced/event.html#mini",a:"mini"},"2.25":{t:"`pip`",p:`当播放器进入画中画时触发 +<div className="run-code">▶ Run C ...`,l:"advanced/event.html#pip",a:"pip"},"2.26":{t:"`screenshot`",p:`当播放器被截图时触发 +<div className="run-code">▶ Run Cod ...`,l:"advanced/event.html#screenshot",a:"screenshot"},"2.27":{t:"`seek`",p:`当播放器发生时间跳转时触发 +<div className="run-code">▶ Run ...`,l:"advanced/event.html#seek",a:"seek"},"2.28":{t:"`subtitleOffset`",p:`当播放器发生字幕偏移时触发 +<div className="run-code">▶ Run ...`,l:"advanced/event.html#subtitleoffset",a:"subtitleoffset"},"2.29":{t:"`subtitleUpdate`",p:`当字幕更新时触发 +<div className="run-code">▶ Run Code& ...`,l:"advanced/event.html#subtitleupdate",a:"subtitleupdate"},"2.30":{t:"`subtitleLoad`",p:`当字幕加载时触发 +<div className="run-code">▶ Run Code& ...`,l:"advanced/event.html#subtitleload",a:"subtitleload"},"2.31":{t:"`subtitleSwitch`",p:`当字幕切换时触发 +<div className="run-code">▶ Run Code& ...`,l:"advanced/event.html#subtitleswitch",a:"subtitleswitch"},"2.32":{t:"`info`",p:`当信息面板显示或隐藏时触发 +<div className="run-code">▶ Run ...`,l:"advanced/event.html#info",a:"info"},"2.33":{t:"`layer`",p:`当自定义层显示或隐藏时触发 +<div className="run-code">▶ Run ...`,l:"advanced/event.html#layer",a:"layer"},"2.34":{t:"`loading`",p:`当加载器显示或隐藏时触发 +<div className="run-code">▶ Run C ...`,l:"advanced/event.html#loading",a:"loading"},"2.35":{t:"`mask`",p:`当遮罩层显示或隐藏时触发 +<div className="run-code">▶ Run C ...`,l:"advanced/event.html#mask",a:"mask"},"2.36":{t:"`subtitle`",p:`当字幕层显示或隐藏时触发 +<div className="run-code">▶ Run C ...`,l:"advanced/event.html#subtitle",a:"subtitle"},"2.37":{t:"`contextmenu`",p:`当右键菜单显示或隐藏时触发 +<div className="run-code">▶ Run ...`,l:"advanced/event.html#contextmenu",a:"contextmenu"},"2.38":{t:"`control`",p:`当控制器显示或隐藏时触发 +<div className="run-code">▶ Run C ...`,l:"advanced/event.html#control",a:"control"},"2.39":{t:"`setting`",p:`当设置面板显示或隐藏时触发 +<div className="run-code">▶ Run ...`,l:"advanced/event.html#setting",a:"setting"},"2.40":{t:"`muted`",p:`当静音的状态变化时触发 +<div className="run-code">▶ Run Co ...`,l:"advanced/event.html#muted",a:"muted"},"2.41":{t:"`video:canplay`",p:`浏览器可以播放媒体文件了,但估计没有足够的数据来支撑播放到结束,不必停下来进一步缓冲内容 +`,l:"advanced/event.html#video-canplay",a:"video-canplay"},"2.42":{t:"`video:canplaythrough`",p:`浏览器估计它可以在不停止内容缓冲的情况下播放媒体直到结束 +`,l:"advanced/event.html#video-canplaythrough",a:"video-canplaythrough"},"2.43":{t:"`video:complete`",p:`OfflineAudioContext 渲染完成 +`,l:"advanced/event.html#video-complete",a:"video-complete"},"2.44":{t:"`video:durationchange`",p:`duration 属性的值改变时触发 +`,l:"advanced/event.html#video-durationchange",a:"video-durationchange"},"2.45":{t:"`video:emptied`",p:"媒体内容变为空;例如,当这个 media 已经加载完成(或者部分加载完成),则发送此事件,并调用 load() 方法重新加载 ...",l:"advanced/event.html#video-emptied",a:"video-emptied"},"2.46":{t:"`video:ended`",p:`视频停止播放,因为 media 已经到达结束点 +`,l:"advanced/event.html#video-ended",a:"video-ended"},"2.47":{t:"`video:error`",p:`获取媒体数据时出错,或者资源类型不是受支持的媒体格式 +`,l:"advanced/event.html#video-error",a:"video-error"},"2.48":{t:"`video:loadeddata`",p:`media 中的首帧已经完成加载 +`,l:"advanced/event.html#video-loadeddata",a:"video-loadeddata"},"2.49":{t:"`video:loadedmetadata`",p:`已加载元数据 +`,l:"advanced/event.html#video-loadedmetadata",a:"video-loadedmetadata"},"2.50":{t:"`video:pause`",p:`播放已暂停 +`,l:"advanced/event.html#video-pause",a:"video-pause"},"2.51":{t:"`video:play`",p:`播放已开始 +`,l:"advanced/event.html#video-play",a:"video-play"},"2.52":{t:"`video:playing`",p:`由于缺乏数据而暂停或延迟后,播放准备开始 +`,l:"advanced/event.html#video-playing",a:"video-playing"},"2.53":{t:"`video:progress`",p:`在浏览器加载资源时周期性触发 +`,l:"advanced/event.html#video-progress",a:"video-progress"},"2.54":{t:"`video:ratechange`",p:`播放速率发生变化 +`,l:"advanced/event.html#video-ratechange",a:"video-ratechange"},"2.55":{t:"`video:seeked`",p:`跳帧(seek)操作完成 +`,l:"advanced/event.html#video-seeked",a:"video-seeked"},"2.56":{t:"`video:seeking`",p:`跳帧(seek)操作开始 +`,l:"advanced/event.html#video-seeking",a:"video-seeking"},"2.57":{t:"`video:stalled`",p:`用户代理(user agent)正在尝试获取媒体数据,但数据意外未出现 +`,l:"advanced/event.html#video-stalled",a:"video-stalled"},"2.58":{t:"`video:suspend`",p:`媒体数据加载已暂停 +`,l:"advanced/event.html#video-suspend",a:"video-suspend"},"2.59":{t:"`video:timeupdate`",p:`currentTime 属性指定的时间发生变化 +`,l:"advanced/event.html#video-timeupdate",a:"video-timeupdate"},"2.60":{t:"`video:volumechange`",p:`音量发生变化 +`,l:"advanced/event.html#video-volumechange",a:"video-volumechange"},"2.61":{t:"`video:waiting`",p:`由于暂时缺少数据,播放已停止 +`,l:"advanced/event.html#video-waiting",a:"video-waiting"},"3.0":{t:"# 全局属性",p:`这里的 全局属性 也是指挂载在 构造函数 的 一级属性,属性名字全部都是大写的形式,未来容易发生变动,基本上用不到 +`,l:"advanced/global.html",a:"全局属性"},"3.1":{t:"DEBUG",p:`是否开始 debug 模式,可以打印出视频全部的内置事件,默认关闭 +<div className="run- ...`,l:"advanced/global.html#debug",a:"debug"},"3.2":{t:"STYLE",p:`返回播放器样式文本 +<div className="run-code">▶ Run Code ...`,l:"advanced/global.html#style",a:"style"},"3.3":{t:"CONTEXTMENU",p:`是否开启右键菜单,默认开启 +<div className="run-code">▶ Run ...`,l:"advanced/global.html#contextmenu",a:"contextmenu"},"3.4":{t:"NOTICE_TIME",p:`提示信息的显示时长,单位为毫秒,默认为 2000 +<div className="run-code" ...`,l:"advanced/global.html#notice-time",a:"notice-time"},"3.5":{t:"SETTING_WIDTH",p:`设置面板的默认宽度,单位为像素,默认为 250 +<div className="run-code" ...`,l:"advanced/global.html#setting-width",a:"setting-width"},"3.6":{t:"SETTING_ITEM_WIDTH",p:`设置面板的设置项的默认宽度,单位为像素,默认为 200 +<div className="run-code&q ...`,l:"advanced/global.html#setting-item-width",a:"setting-item-width"},"3.7":{t:"SETTING_ITEM_HEIGHT",p:`设置面板的设置项的默认高度,单位为像素,默认为 35 +<div className="run-code&qu ...`,l:"advanced/global.html#setting-item-height",a:"setting-item-height"},"3.8":{t:"RESIZE_TIME",p:`resize 事件的节流时间,单位为毫秒,默认为 200 +<div className="run-code& ...`,l:"advanced/global.html#resize-time",a:"resize-time"},"3.9":{t:"SCROLL_TIME",p:`scroll 事件的节流时间,单位为毫秒,默认为 200 +<div className="run-code& ...`,l:"advanced/global.html#scroll-time",a:"scroll-time"},"3.10":{t:"SCROLL_GAP",p:`view 事件的边界容差距离,单位为像素,默认为 50 +<div className="run-code&q ...`,l:"advanced/global.html#scroll-gap",a:"scroll-gap"},"3.11":{t:"AUTO_PLAYBACK_MAX",p:`自动回放功能的最大记录数,默认为 10 +<div className="run-code"> ...`,l:"advanced/global.html#auto-playback-max",a:"auto-playback-max"},"3.12":{t:"AUTO_PLAYBACK_MIN",p:`自动回放功能的最小记录时长,单位为秒,默认为 5 +<div className="run-code" ...`,l:"advanced/global.html#auto-playback-min",a:"auto-playback-min"},"3.13":{t:"AUTO_PLAYBACK_TIMEOUT",p:`自动回放功能的隐藏延迟时长,单位为毫秒,默认为 3000 +<div className="run-code& ...`,l:"advanced/global.html#auto-playback-timeout",a:"auto-playback-timeout"},"3.14":{t:"RECONNECT_TIME_MAX",p:`发生连接错误时,自动连接的最大次数,默认为 5 +<div className="run-code" ...`,l:"advanced/global.html#reconnect-time-max",a:"reconnect-time-max"},"3.15":{t:"RECONNECT_SLEEP_TIME",p:`发生连接错误时,自动连接的延迟时间,单位为毫秒,默认为 1000 +<div className="run-c ...`,l:"advanced/global.html#reconnect-sleep-time",a:"reconnect-sleep-time"},"3.16":{t:"CONTROL_HIDE_TIME",p:`底部控制栏的自动隐藏的延迟时间,单位为毫秒,默认为 3000 +<div className="run-cod ...`,l:"advanced/global.html#control-hide-time",a:"control-hide-time"},"3.17":{t:"DBCLICK_TIME",p:`双击事件的延迟事件,单位为毫秒,默认为 300 +<div className="run-code" ...`,l:"advanced/global.html#dbclick-time",a:"dbclick-time"},"3.18":{t:"DBCLICK_FULLSCREEN",p:`在桌面端,是否双击切换全屏,默认为 true +<div className="run-code"& ...`,l:"advanced/global.html#dbclick-fullscreen",a:"dbclick-fullscreen"},"3.19":{t:"MOBILE_DBCLICK_PLAY",p:`在移动端,是否双击切换播放暂停,默认为 true +<div className="run-code" ...`,l:"advanced/global.html#mobile-dbclick-play",a:"mobile-dbclick-play"},"3.20":{t:"MOBILE_CLICK_PLAY",p:`在移动端,是否单击切换播放暂停,默认为 false +<div className="run-code&quo ...`,l:"advanced/global.html#mobile-click-play",a:"mobile-click-play"},"3.21":{t:"AUTO_ORIENTATION_TIME",p:`在移动端,自动旋屏的延迟时间,单位为毫秒,默认为 200 +<div className="run-code& ...`,l:"advanced/global.html#auto-orientation-time",a:"auto-orientation-time"},"3.22":{t:"INFO_LOOP_TIME",p:`信息面板的刷新时间,单位为毫秒,默认为 1000 +<div className="run-code" ...`,l:"advanced/global.html#info-loop-time",a:"info-loop-time"},"3.23":{t:"FAST_FORWARD_VALUE",p:`在移动端,长按加速的速率倍数,默认为 3 +<div className="run-code"> ...`,l:"advanced/global.html#fast-forward-value",a:"fast-forward-value"},"3.24":{t:"FAST_FORWARD_TIME",p:`在移动端,长按加速的延迟时间,单位为毫秒,默认为 1000 +<div className="run-code ...`,l:"advanced/global.html#fast-forward-time",a:"fast-forward-time"},"3.25":{t:"TOUCH_MOVE_RATIO",p:`在移动端,左右滑动进度的速率倍数,默认为 0.5 +<div className="run-code" ...`,l:"advanced/global.html#touch-move-ratio",a:"touch-move-ratio"},"3.26":{t:"VOLUME_STEP",p:`快捷键调节音量的幅度比例,默认为 0.1 +<div className="run-code"> ...`,l:"advanced/global.html#volume-step",a:"volume-step"},"3.27":{t:"SEEK_STEP",p:`快捷键调节播放进度的幅度,单位为秒,默认为 5 +<div className="run-code" ...`,l:"advanced/global.html#seek-step",a:"seek-step"},"3.28":{t:"PLAYBACK_RATE",p:`内置播放速率的列表,默认为 [0.5, 0.75, 1, 1.25, 1.5, 2] +<div className=& ...`,l:"advanced/global.html#playback-rate",a:"playback-rate"},"3.29":{t:"ASPECT_RATIO",p:`内置视频长宽比的列表,默认为 ['default', '4:3', '16:9'] +<div className=&q ...`,l:"advanced/global.html#aspect-ratio",a:"aspect-ratio"},"3.30":{t:"FLIP",p:`内置视频翻转的列表,默认为 ['normal', 'horizontal', 'vertical'] +<div cla ...`,l:"advanced/global.html#flip",a:"flip"},"3.31":{t:"FULLSCREEN_WEB_IN_BODY",p:`网页全屏时,是否把播放器挂在在 body 元素下,默认为 false +<div className="run ...`,l:"advanced/global.html#fullscreen-web-in-body",a:"fullscreen-web-in-body"},"3.32":{t:"LOG_VERSION",p:`设置是否打印播放器版本,默认为 true +<div className="run-code"> ...`,l:"advanced/global.html#log-version",a:"log-version"},"3.33":{t:"USE_RAF",p:`设置是否使用 requestAnimationFrame ,默认为 false,目前主要用于进度条的平滑效果 +<div ...`,l:"advanced/global.html#use-raf",a:"use-raf"},"4.0":{t:"# 编写插件",p:`但你已经知道播放器的属性, 方法和事件后,再编写插件是非常简单的事 +可以在实例化的时候加载插件的函数 +<div cla ...`,l:"advanced/plugin.html",a:"编写插件"},"5.0":{t:"# 实例属性",p:`这里的 实例属性 是指挂载在 实例 的 一级属性,比较常用 +`,l:"advanced/property.html",a:"实例属性"},"5.1":{t:"`play`",p:` +Type: Function + +播放视频 +<div className="run-code"&g ...`,l:"advanced/property.html#play",a:"play"},"5.2":{t:"`pause`",p:` +Type: Function + +暂停视频 +<div className="run-code"&g ...`,l:"advanced/property.html#pause",a:"pause"},"5.3":{t:"`toggle`",p:` +Type: Function + +切换视频的播放和暂停 +<div className="run-code&q ...`,l:"advanced/property.html#toggle",a:"toggle"},"5.4":{t:"`destroy`",p:` +Type: Function +Parameter: Boolean + +销毁播放器,接受一个参数表示是否销毁后同时移除播放器 ...`,l:"advanced/property.html#destroy",a:"destroy"},"5.5":{t:"`seek`",p:` +Type: Setter +Parameter: Number + +视频时间跳转,单位秒 +<div className= ...`,l:"advanced/property.html#seek",a:"seek"},"5.6":{t:"`forward`",p:` +Type: Setter +Parameter: Number + +视频时间快进,单位秒 +<div className= ...`,l:"advanced/property.html#forward",a:"forward"},"5.7":{t:"`backward`",p:` +Type: Setter +Parameter: Number + +视频时间快退,单位秒 +<div className= ...`,l:"advanced/property.html#backward",a:"backward"},"5.8":{t:"`volume`",p:` +Type: Setter/Getter +Parameter: Number + +设置和获取视频音量,范围在:[0, 1] +& ...`,l:"advanced/property.html#volume",a:"volume"},"5.9":{t:"`url`",p:` +Type: Setter/Getter +Parameter: String + +设置和获取视频地址 +<div clas ...`,l:"advanced/property.html#url",a:"url"},"5.10":{t:"`switch`",p:` +Type: Setter +Parameter: String + +设置视频地址,设置时和 art.url 类似,但会执行一些 ...`,l:"advanced/property.html#switch",a:"switch"},"5.11":{t:"`switchUrl`",p:` +Type: Function +Parameter: String + +设置视频地址,设置时和 art.url 类似,但会执行 ...`,l:"advanced/property.html#switchurl",a:"switchurl"},"5.12":{t:"`switchQuality`",p:` +Type: Function +Parameter: String + +设置视频画质地址,和 art.switchUrl 类似 ...`,l:"advanced/property.html#switchquality",a:"switchquality"},"5.13":{t:"`muted`",p:` +Type: Setter/Getter +Parameter: Boolean + +设置和获取视频是否静音 +<div c ...`,l:"advanced/property.html#muted",a:"muted"},"5.14":{t:"`currentTime`",p:` +Type: Setter/Getter +Parameter: Number + +设置和获取视频当前时间,设置时间时和 see ...`,l:"advanced/property.html#currenttime",a:"currenttime"},"5.15":{t:"`duration`",p:` +Type: Getter + +获取视频时长 +<div className="run-code"&g ...`,l:"advanced/property.html#duration",a:"duration"},"5.16":{t:"`screenshot`",p:` +Type: Function + +下载当前视频帧的截图, 可选参数为截图名字 +<div className=" ...`,l:"advanced/property.html#screenshot",a:"screenshot"},"5.17":{t:"`getDataURL`",p:` +Type: Function + +获取当前视频帧的截图的base64地址,返回的是一个 Promise +<div cl ...`,l:"advanced/property.html#getdataurl",a:"getdataurl"},"5.18":{t:"`getBlobUrl`",p:` +Type: Function + +获取当前视频帧的截图的blob地址,返回的是一个 Promise +<div clas ...`,l:"advanced/property.html#getbloburl",a:"getbloburl"},"5.19":{t:"`fullscreen`",p:` +Type: Setter/Getter +Parameter: Boolean + +设置和获取播放器窗口全屏 +<div ...`,l:"advanced/property.html#fullscreen",a:"fullscreen"},"5.20":{t:"`fullscreenWeb`",p:` +Type: Setter/Getter +Parameter: Boolean + +设置和获取播放器网页全屏 +<div ...`,l:"advanced/property.html#fullscreenweb",a:"fullscreenweb"},"5.21":{t:"`pip`",p:` +Type: Setter/Getter +Parameter: Boolean + +设置和获取播放器画中画模式 +<div ...`,l:"advanced/property.html#pip",a:"pip"},"5.22":{t:"`poster`",p:` +Type: Setter/Getter +Parameter: String + +设置和获取视频海报,只有在视频播放前才能看到 ...`,l:"advanced/property.html#poster",a:"poster"},"5.23":{t:"`mini`",p:` +Type: Setter/Getter +Parameter: Boolean + +设置和获取播放器迷你模式 +<div ...`,l:"advanced/property.html#mini",a:"mini"},"5.24":{t:"`playing`",p:` +Type: Getter +Parameter: Boolean + +获取视频是否正在播放中 +<div classNam ...`,l:"advanced/property.html#playing",a:"playing"},"5.25":{t:"`autoSize`",p:` +Type: Function + +设置视频是否自适应尺寸 +<div className="run-code& ...`,l:"advanced/property.html#autosize",a:"autosize"},"5.26":{t:"`rect`",p:` +Type: Getter + +获取播放器的尺寸和坐标信息 +<div className="run-code& ...`,l:"advanced/property.html#rect",a:"rect"},"5.27":{t:"`flip`",p:` +Type: Setter/Getter +Parameter: String + +设置和获取播放器翻转,支持normal, ...`,l:"advanced/property.html#flip",a:"flip"},"5.28":{t:"`playbackRate`",p:` +Type: Setter/Getter +Parameter: Number + +设置和获取播放器播放速度 +<div c ...`,l:"advanced/property.html#playbackrate",a:"playbackrate"},"5.29":{t:"`aspectRatio`",p:` +Type: Setter/Getter +Parameter: String + +设置和获取播放器长宽比 +<div cl ...`,l:"advanced/property.html#aspectratio",a:"aspectratio"},"5.30":{t:"`autoHeight`",p:` +Type: Function + +当容器只有宽度,该属性可以自动计算出并设置视频的高度 +<div className= ...`,l:"advanced/property.html#autoheight",a:"autoheight"},"5.31":{t:"`attr`",p:` +Type: Function +Parameter: String + +动态获取和设置 video 元素的属性 +<div ...`,l:"advanced/property.html#attr",a:"attr"},"5.32":{t:"`type`",p:` +Type: Setter/Getter +Parameter: String + +动态获取和设置视频类型 +<div cl ...`,l:"advanced/property.html#type",a:"type"},"5.33":{t:"`theme`",p:` +Type: Setter/Getter +Parameter: String + +动态获取和设置播放器主题颜色 +<div ...`,l:"advanced/property.html#theme",a:"theme"},"5.34":{t:"`airplay`",p:` +Type: Function + +开启隔空播放 +<div className="run-code" ...`,l:"advanced/property.html#airplay",a:"airplay"},"5.35":{t:"`loaded`",p:` +Type: Getter + +视频缓存的比例,范围是 [0, 1],常配合 video:timeupdate 事件使用 +&l ...`,l:"advanced/property.html#loaded",a:"loaded"},"5.36":{t:"`played`",p:` +Type: Getter + +视频播放的比例,范围是 [0, 1],常配合 video:timeupdate 事件使用 +&l ...`,l:"advanced/property.html#played",a:"played"},"5.37":{t:"`proxy`",p:` +Type: Function + +DOM 事件的代理函数,实质上代理了 addEventListener 和 removeE ...`,l:"advanced/property.html#proxy",a:"proxy"},"5.38":{t:"`query`",p:` +Type: Function + +DOM 的查询函数,类似 document.querySelector,但被查询的对象局限 ...`,l:"advanced/property.html#query",a:"query"},"5.39":{t:"`video`",p:` +Type: Element + +快捷返回播放器的 video 元素 +<div className="run- ...`,l:"advanced/property.html#video",a:"video"},"5.40":{t:"`cssVar`",p:` +Type: Function + +动态获取或设置 css 变量 +<div className="run-co ...`,l:"advanced/property.html#cssvar",a:"cssvar"},"5.41":{t:"`quality`",p:` +Type: Setter +Parameter: Array + +动态设置画质列表 +<div className=&qu ...`,l:"advanced/property.html#quality",a:"quality"},"5.42":{t:"`thumbnails`",p:` +Type: Setter/Getter +Parameter: Object + +动态设置缩略图 +<div classN ...`,l:"advanced/property.html#thumbnails",a:"thumbnails"},"6.0":{t:"# 右键菜单",p:"",l:"component/contextmenu.html",a:"右键菜单"},"6.1":{t:"配置",p:` + + +属性 +类型 +描述 + + + + +disable +Boolean +是否禁用组件 + + +name +String +组件唯一名称,用于 ...`,l:"component/contextmenu.html#配置",a:"配置"},"6.2":{t:"创建",p:"<div className="run-code">▶ Run Code</div&g ...",l:"component/contextmenu.html#创建",a:"创建"},"6.3":{t:"添加",p:"<div className="run-code">▶ Run Code</div&g ...",l:"component/contextmenu.html#添加",a:"添加"},"6.4":{t:"删除",p:"<div className="run-code">▶ Run Code</div&g ...",l:"component/contextmenu.html#删除",a:"删除"},"6.5":{t:"更新",p:"<div className="run-code">▶ Run Code</div&g ...",l:"component/contextmenu.html#更新",a:"更新"},"7.0":{t:"# 控制器",p:"",l:"component/controls.html",a:"控制器"},"7.1":{t:"配置",p:` + + +属性 +类型 +描述 + + + + +disable +Boolean +是否禁用组件 + + +name +String +组件唯一名称,用于 ...`,l:"component/controls.html#配置",a:"配置"},"7.2":{t:"创建",p:"<div className="run-code">▶ Run Code</div&g ...",l:"component/controls.html#创建",a:"创建"},"7.3":{t:"添加",p:"<div className="run-code">▶ Run Code</div&g ...",l:"component/controls.html#添加",a:"添加"},"7.4":{t:"删除",p:"<div className="run-code">▶ Run Code</div&g ...",l:"component/controls.html#删除",a:"删除"},"7.5":{t:"更新",p:"<div className="run-code">▶ Run Code</div&g ...",l:"component/controls.html#更新",a:"更新"},"8.0":{t:"# 业务层",p:"",l:"component/layers.html",a:"业务层"},"8.1":{t:"配置",p:` + + +属性 +类型 +描述 + + + + +disable +Boolean +是否禁用组件 + + +name +String +组件唯一名称,用于 ...`,l:"component/layers.html#配置",a:"配置"},"8.2":{t:"创建",p:"<div className="run-code">▶ Run Code</div&g ...",l:"component/layers.html#创建",a:"创建"},"8.3":{t:"添加",p:"<div className="run-code">▶ Run Code</div&g ...",l:"component/layers.html#添加",a:"添加"},"8.4":{t:"删除",p:"<div className="run-code">▶ Run Code</div&g ...",l:"component/layers.html#删除",a:"删除"},"8.5":{t:"更新",p:"<div className="run-code">▶ Run Code</div&g ...",l:"component/layers.html#更新",a:"更新"},"9.0":{t:"# 设置面板",p:"",l:"component/setting.html",a:"设置面板"},"9.1":{t:"内置",p:"须先打开设置面板,然后自带四个内置项:flip, playbackRate, aspectRatio, subtitleOf ...",l:"component/setting.html#内置",a:"内置"},"9.2":{t:"创建 - 选择列表",p:` + + +属性 +类型 +描述 + + + + +html +String, Element +元素的 DOM + + +icon +String, El ...`,l:"component/setting.html#创建-选择列表",a:"创建-选择列表"},"9.3":{t:"创建 - 列表嵌套",p:"<div className="run-code">▶ Run Code</div&g ...",l:"component/setting.html#创建-列表嵌套",a:"创建-列表嵌套"},"9.4":{t:"创建 - 切换按钮",p:` + + +属性 +类型 +描述 + + + + +html +String, Element +元素的 DOM 元素 + + +icon +String, ...`,l:"component/setting.html#创建-切换按钮",a:"创建-切换按钮"},"9.5":{t:"创建 - 范围滑块",p:` + + +属性 +类型 +描述 + + + + +html +String, Element +元素的 DOM 元素 + + +icon +String, ...`,l:"component/setting.html#创建-范围滑块",a:"创建-范围滑块"},"9.6":{t:"添加",p:"<div className="run-code">▶ Run Code</div&g ...",l:"component/setting.html#添加",a:"添加"},"9.7":{t:"删除",p:"<div className="run-code">▶ Run Code</div&g ...",l:"component/setting.html#删除",a:"删除"},"9.8":{t:"更新",p:"<div className="run-code">▶ Run Code</div&g ...",l:"component/setting.html#更新",a:"更新"},"10.0":{t:"# Advanced Properties",p:"The advanced properties here refer to the secondary attributes ...",l:"en/advanced/built-in.html",a:"advanced-properties"},"10.1":{t:"`option`",p:`Options for the player +<div className="run-code"& ...`,l:"en/advanced/built-in.html#option",a:"option"},"10.2":{t:"`template`",p:`Manages all of the DOM elements of the player +<div classNam ...`,l:"en/advanced/built-in.html#template",a:"template"},"10.3":{t:"`events`",p:"Manages all DOM events in the player, which is essentially a p ...",l:"en/advanced/built-in.html#events",a:"events"},"10.4":{t:"`storage`",p:`Manages the local storage of the player + +The name attribute is ...`,l:"en/advanced/built-in.html#storage",a:"storage"},"10.5":{t:"`icons`",p:`Manage all the svg icons of the player +<div className=" ...`,l:"en/advanced/built-in.html#icons",a:"icons"},"10.6":{t:"`i18n`",p:`Manage the player's i18n + +The get method is used to retrieve t ...`,l:"en/advanced/built-in.html#i18n",a:"i18n"},"10.7":{t:"`notice`",p:"Manage the player's notices, there's only one show property us ...",l:"en/advanced/built-in.html#notice",a:"notice"},"10.8":{t:"`layers`",p:`Manage the layers of the player + +The add method is used for dy ...`,l:"en/advanced/built-in.html#layers",a:"layers"},"10.9":{t:"`controls`",p:`Manage the player's controllers + +add method is used to dynamic ...`,l:"en/advanced/built-in.html#controls",a:"controls"},"10.10":{t:"`contextmenu`",p:`Manage the right-click context menu of the player + +The add met ...`,l:"en/advanced/built-in.html#contextmenu",a:"contextmenu"},"10.11":{t:"`subtitle`",p:`Manage the subtitle features of the player + +url property sets ...`,l:"en/advanced/built-in.html#subtitle",a:"subtitle"},"10.12":{t:"`loading`",p:`Manage the loading layer of the player + +show property is used ...`,l:"en/advanced/built-in.html#loading",a:"loading"},"10.13":{t:"`hotkey`",p:`Manage the hotkey functionality of the player + +The add method ...`,l:"en/advanced/built-in.html#hotkey",a:"hotkey"},"10.14":{t:"`mask`",p:`Manage the player's mask layer + +show property is used to set w ...`,l:"en/advanced/built-in.html#mask",a:"mask"},"10.15":{t:"`setting`",p:`Manage the player's settings panel + +add method is used to dyna ...`,l:"en/advanced/built-in.html#setting",a:"setting"},"10.16":{t:"`plugins`",p:"Manage the player's plugin features, with only one method add ...",l:"en/advanced/built-in.html#plugins",a:"plugins"},"11.0":{t:"# Static Properties",p:"Here, Static Properties refer to the first-level properties mo ...",l:"en/advanced/class.html",a:"static-properties"},"11.1":{t:"`instances`",p:"Returns an array of all player instances. You can use this pro ...",l:"en/advanced/class.html#instances",a:"instances"},"11.2":{t:"`version`",p:`Returns the version information of the player. +<div classNa ...`,l:"en/advanced/class.html#version",a:"version"},"11.3":{t:"`env`",p:`Returns the environment variables of the player. +<div class ...`,l:"en/advanced/class.html#env",a:"env"},"11.4":{t:"`build`",p:`Returns the build time of the player +<div className="r ...`,l:"en/advanced/class.html#build",a:"build"},"11.5":{t:"`config`",p:`Returns the default configuration of the video +<div classNa ...`,l:"en/advanced/class.html#config",a:"config"},"11.6":{t:"`utils`",p:`Returns a collection of utility functions for the player +<d ...`,l:"en/advanced/class.html#utils",a:"utils"},"11.7":{t:"`scheme`",p:`Returns the validation scheme for the player options +<div c ...`,l:"en/advanced/class.html#scheme",a:"scheme"},"11.8":{t:"`Emitter`",p:`Returns the constructor for the event dispatcher +<div class ...`,l:"en/advanced/class.html#emitter",a:"emitter"},"11.9":{t:"`validator`",p:`Returns the validation function for options +<div className= ...`,l:"en/advanced/class.html#validator",a:"validator"},"11.10":{t:"`kindOf`",p:`Returns the function tool for type checking +<div className= ...`,l:"en/advanced/class.html#kindof",a:"kindof"},"11.11":{t:"`html`",p:`Returns the html string required for the player +<div classN ...`,l:"en/advanced/class.html#html",a:"html"},"11.12":{t:"`option`",p:`Returns the player's default options +<div className="r ...`,l:"en/advanced/class.html#option",a:"option"},"12.0":{t:"# Example Events",p:"Player events are divided into two types, one is the video's n ...",l:"en/advanced/event.html",a:"example-events"},"12.1":{t:"`ready`",p:`Triggered when the player is able to play for the first time +& ...`,l:"en/advanced/event.html#ready",a:"ready"},"12.2":{t:"`restart`",p:"Triggered when the player switches the address and is able to ...",l:"en/advanced/event.html#restart",a:"restart"},"12.3":{t:"`pause`",p:`Triggered when the player is paused +<div className="ru ...`,l:"en/advanced/event.html#pause",a:"pause"},"12.4":{t:"`play`",p:`Triggered when the player starts playing +<div className=&qu ...`,l:"en/advanced/event.html#play",a:"play"},"12.5":{t:"`hotkey`",p:`Triggered when a hotkey on the player is pressed +<div class ...`,l:"en/advanced/event.html#hotkey",a:"hotkey"},"12.6":{t:"`destroy`",p:`Triggered when the player is destroyed +<div className=" ...`,l:"en/advanced/event.html#destroy",a:"destroy"},"12.7":{t:"`focus`",p:`Triggered when the player gains focus +<div className=" ...`,l:"en/advanced/event.html#focus",a:"focus"},"12.8":{t:"`blur`",p:`Triggered when the player loses focus +<div className=" ...`,l:"en/advanced/event.html#blur",a:"blur"},"12.9":{t:"`dblclick`",p:`Triggered when the player is double-clicked +<div className= ...`,l:"en/advanced/event.html#dblclick",a:"dblclick"},"12.10":{t:"`click`",p:`Triggered when the player is clicked +<div className="r ...`,l:"en/advanced/event.html#click",a:"click"},"12.11":{t:"`error`",p:"Triggered when an error occurs while the player is loading the ...",l:"en/advanced/event.html#error",a:"error"},"12.12":{t:"`hover`",p:"Triggered when the player is hovered or unhovered by the mouse ...",l:"en/advanced/event.html#hover",a:"hover"},"12.13":{t:"`mousemove`",p:`Triggered when the mouse moves over the player +<div classNa ...`,l:"en/advanced/event.html#mousemove",a:"mousemove"},"12.14":{t:"`resize`",p:`Triggered when the player size changes +<div className=" ...`,l:"en/advanced/event.html#resize",a:"resize"},"12.15":{t:"`view`",p:`Triggered when the player appears in the viewport +<div clas ...`,l:"en/advanced/event.html#view",a:"view"},"12.16":{t:"`lock`",p:`On mobile, triggered when the locked state changes +<div cla ...`,l:"en/advanced/event.html#lock",a:"lock"},"12.17":{t:"`aspectRatio`",p:`Triggered when the aspect ratio of the player changes +<div ...`,l:"en/advanced/event.html#aspectratio",a:"aspectratio"},"12.18":{t:"`autoHeight`",p:`Triggered when the player automatically sets the height +<di ...`,l:"en/advanced/event.html#autoheight",a:"autoheight"},"12.19":{t:"`autoSize`",p:`Triggered when the player automatically sets the size +<div ...`,l:"en/advanced/event.html#autosize",a:"autosize"},"12.20":{t:"`flip`",p:`Triggered when the player flips +<div className="run-co ...`,l:"en/advanced/event.html#flip",a:"flip"},"12.21":{t:"`fullscreen`",p:`Triggered when the player goes into full screen +<div classN ...`,l:"en/advanced/event.html#fullscreen",a:"fullscreen"},"12.22":{t:"`fullscreenError`",p:`Triggered when the player goes into full screen error +<div ...`,l:"en/advanced/event.html#fullscreenerror",a:"fullscreenerror"},"12.23":{t:"`fullscreenWeb`",p:`Triggered when the player enters web fullscreen +<div classN ...`,l:"en/advanced/event.html#fullscreenweb",a:"fullscreenweb"},"12.24":{t:"`mini`",p:`Triggered when the player enters mini mode +<div className=& ...`,l:"en/advanced/event.html#mini",a:"mini"},"12.25":{t:"`pip`",p:`Triggered when the player enters Picture-in-Picture mode +<d ...`,l:"en/advanced/event.html#pip",a:"pip"},"12.26":{t:"`screenshot`",p:`Triggered when the player takes a screenshot +<div className ...`,l:"en/advanced/event.html#screenshot",a:"screenshot"},"12.27":{t:"`seek`",p:`Triggered when the player jumps in time +<div className=&quo ...`,l:"en/advanced/event.html#seek",a:"seek"},"12.28":{t:"`subtitleOffset`",p:`Triggered when the subtitle offset occurs in the player +<di ...`,l:"en/advanced/event.html#subtitleoffset",a:"subtitleoffset"},"12.29":{t:"`subtitleUpdate`",p:`Triggered when the subtitle updates +<div className="ru ...`,l:"en/advanced/event.html#subtitleupdate",a:"subtitleupdate"},"12.30":{t:"`subtitleLoad`",p:`Triggered when the subtitle loads +<div className="run- ...`,l:"en/advanced/event.html#subtitleload",a:"subtitleload"},"12.31":{t:"`subtitleSwitch`",p:`Triggered when subtitles switch +<div className="run-co ...`,l:"en/advanced/event.html#subtitleswitch",a:"subtitleswitch"},"12.32":{t:"`info`",p:`Triggered when the information panel is shown or hidden +<di ...`,l:"en/advanced/event.html#info",a:"info"},"12.33":{t:"`layer`",p:`Triggered when a custom layer is shown or hidden +<div class ...`,l:"en/advanced/event.html#layer",a:"layer"},"12.34":{t:"`loading`",p:`Triggered when a loader is shown or hidden +<div className=& ...`,l:"en/advanced/event.html#loading",a:"loading"},"12.35":{t:"`mask`",p:`Triggered when a mask layer is shown or hidden +<div classNa ...`,l:"en/advanced/event.html#mask",a:"mask"},"12.36":{t:"`subtitle`",p:`Triggered when the subtitle layer is shown or hidden +<div c ...`,l:"en/advanced/event.html#subtitle",a:"subtitle"},"12.37":{t:"`contextmenu`",p:`Triggered when the right-click menu is shown or hidden +<div ...`,l:"en/advanced/event.html#contextmenu",a:"contextmenu"},"12.38":{t:"`control`",p:`Triggered when the controller is shown or hidden +<div class ...`,l:"en/advanced/event.html#control",a:"control"},"12.39":{t:"`setting`",p:`Triggered when the settings panel is shown or hidden +<div c ...`,l:"en/advanced/event.html#setting",a:"setting"},"12.40":{t:"`muted`",p:`Triggered when the muted state changes +<div className=" ...`,l:"en/advanced/event.html#muted",a:"muted"},"12.41":{t:"`video:canplay`",p:"The browser can play the media file, but estimates there is no ...",l:"en/advanced/event.html#video-canplay",a:"video-canplay"},"12.42":{t:"`video:canplaythrough`",p:"The browser estimates it can play the media through to the end ...",l:"en/advanced/event.html#video-canplaythrough",a:"video-canplaythrough"},"12.43":{t:"`video:complete`",p:`OfflineAudioContext rendering is complete +`,l:"en/advanced/event.html#video-complete",a:"video-complete"},"12.44":{t:"`video:durationchange`",p:`Triggered when the value of the duration property changes +`,l:"en/advanced/event.html#video-durationchange",a:"video-durationchange"},"12.45":{t:"`video:emptied`",p:"The media content becomes empty; for example, when this media ...",l:"en/advanced/event.html#video-emptied",a:"video-emptied"},"12.46":{t:"`video:ended`",p:`The video has stopped because the media reached the end point +`,l:"en/advanced/event.html#video-ended",a:"video-ended"},"12.47":{t:"`video:error`",p:"An error occurred while fetching media data, or the resource t ...",l:"en/advanced/event.html#video-error",a:"video-error"},"12.48":{t:"`video:loadeddata`",p:`The first frame of the media has finished loading +`,l:"en/advanced/event.html#video-loadeddata",a:"video-loadeddata"},"12.49":{t:"`video:loadedmetadata`",p:`Metadata has been loaded +`,l:"en/advanced/event.html#video-loadedmetadata",a:"video-loadedmetadata"},"12.50":{t:"`video:pause`",p:`Playback has been paused +`,l:"en/advanced/event.html#video-pause",a:"video-pause"},"12.51":{t:"`video:play`",p:`Playback has started +`,l:"en/advanced/event.html#video-play",a:"video-play"},"12.52":{t:"`video:playing`",p:"Playback is ready to start following a pause or delay due to l ...",l:"en/advanced/event.html#video-playing",a:"video-playing"},"12.53":{t:"`video:progress`",p:`Periodically triggered while the browser is loading resources +`,l:"en/advanced/event.html#video-progress",a:"video-progress"},"12.54":{t:"`video:ratechange`",p:`The playback rate has changed +`,l:"en/advanced/event.html#video-ratechange",a:"video-ratechange"},"12.55":{t:"`video:seeked`",p:`A seek (frame skipping) operation has completed +`,l:"en/advanced/event.html#video-seeked",a:"video-seeked"},"12.56":{t:"`video:seeking`",p:`A seek (frame skipping) operation has started +`,l:"en/advanced/event.html#video-seeking",a:"video-seeking"},"12.57":{t:"`video:stalled`",p:"The user agent is trying to fetch media data, but the data une ...",l:"en/advanced/event.html#video-stalled",a:"video-stalled"},"12.58":{t:"`video:suspend`",p:`Media data loading has been suspended +`,l:"en/advanced/event.html#video-suspend",a:"video-suspend"},"12.59":{t:"`video:timeupdate`",p:`The time specified by the currentTime attribute has changed +`,l:"en/advanced/event.html#video-timeupdate",a:"video-timeupdate"},"12.60":{t:"`video:volumechange`",p:`Volume changed +`,l:"en/advanced/event.html#video-volumechange",a:"video-volumechange"},"12.61":{t:"`video:waiting`",p:`Playback has stopped due to temporarily missing data +`,l:"en/advanced/event.html#video-waiting",a:"video-waiting"},"13.0":{t:"# Global Attributes",p:"Here, Global Attributes refer to the first-level properties mo ...",l:"en/advanced/global.html",a:"global-attributes"},"13.1":{t:"DEBUG",p:"Whether to start debug mode, which can print out all built-in ...",l:"en/advanced/global.html#debug",a:"debug"},"13.2":{t:"STYLE",p:`Returns the player style text +<div className="run-code ...`,l:"en/advanced/global.html#style",a:"style"},"13.3":{t:"CONTEXTMENU",p:"Whether to enable the right-click context menu, enabled by def ...",l:"en/advanced/global.html#contextmenu",a:"contextmenu"},"13.4":{t:"NOTICE_TIME",p:"The display duration of the notification message, in milliseco ...",l:"en/advanced/global.html#notice-time",a:"notice-time"},"13.5":{t:"SETTING_WIDTH",p:"The default width of the settings panel, in pixels, defaults t ...",l:"en/advanced/global.html#setting-width",a:"setting-width"},"13.6":{t:"SETTING_ITEM_WIDTH",p:"Set the default width of the settings items in the panel, in p ...",l:"en/advanced/global.html#setting-item-width",a:"setting-item-width"},"13.7":{t:"SETTING_ITEM_HEIGHT",p:"Set the default height of the settings items in the panel, in ...",l:"en/advanced/global.html#setting-item-height",a:"setting-item-height"},"13.8":{t:"RESIZE_TIME",p:"Throttle time for the resize event, in milliseconds, defaults ...",l:"en/advanced/global.html#resize-time",a:"resize-time"},"13.9":{t:"SCROLL_TIME",p:"Throttle time for the scroll event, in milliseconds, defaults ...",l:"en/advanced/global.html#scroll-time",a:"scroll-time"},"13.10":{t:"SCROLL_GAP",p:"The boundary tolerance distance for the view event, in pixels, ...",l:"en/advanced/global.html#scroll-gap",a:"scroll-gap"},"13.11":{t:"AUTO_PLAYBACK_MAX",p:"The maximum number of records for the automatic playback featu ...",l:"en/advanced/global.html#auto-playback-max",a:"auto-playback-max"},"13.12":{t:"AUTO_PLAYBACK_MIN",p:"The minimum duration for the auto playback feature, in seconds ...",l:"en/advanced/global.html#auto-playback-min",a:"auto-playback-min"},"13.13":{t:"AUTO_PLAYBACK_TIMEOUT",p:"The delay duration for hiding the auto playback feature, in mi ...",l:"en/advanced/global.html#auto-playback-timeout",a:"auto-playback-timeout"},"13.14":{t:"RECONNECT_TIME_MAX",p:"The maximum number of automatic reconnection attempts when a c ...",l:"en/advanced/global.html#reconnect-time-max",a:"reconnect-time-max"},"13.15":{t:"RECONNECT_SLEEP_TIME",p:"The delay time for the automatic reconnection attempt when a c ...",l:"en/advanced/global.html#reconnect-sleep-time",a:"reconnect-sleep-time"},"13.16":{t:"CONTROL_HIDE_TIME",p:`... +Auto-hide delay time for the bottom control bar, measured ...`,l:"en/advanced/global.html#control-hide-time",a:"control-hide-time"},"13.17":{t:"DBCLICK_TIME",p:"Double-click event delay time, measured in milliseconds, defau ...",l:"en/advanced/global.html#dbclick-time",a:"dbclick-time"},"13.18":{t:"DBCLICK_FULLSCREEN",p:"On desktop, whether to switch to fullscreen on double click, d ...",l:"en/advanced/global.html#dbclick-fullscreen",a:"dbclick-fullscreen"},"13.19":{t:"MOBILE_DBCLICK_PLAY",p:"On mobile, whether to toggle play/pause on double click, defau ...",l:"en/advanced/global.html#mobile-dbclick-play",a:"mobile-dbclick-play"},"13.20":{t:"MOBILE_CLICK_PLAY",p:"On mobile, whether to play/pause on single click, default is f ...",l:"en/advanced/global.html#mobile-click-play",a:"mobile-click-play"},"13.21":{t:"AUTO_ORIENTATION_TIME",p:"On mobile devices, the delay time for auto-rotation, in millis ...",l:"en/advanced/global.html#auto-orientation-time",a:"auto-orientation-time"},"13.22":{t:"INFO_LOOP_TIME",p:"Info panel refresh time, unit in milliseconds, default is 1000 ...",l:"en/advanced/global.html#info-loop-time",a:"info-loop-time"},"13.23":{t:"FAST_FORWARD_VALUE",p:"On mobile, the multiplier rate of the speed when long-pressing ...",l:"en/advanced/global.html#fast-forward-value",a:"fast-forward-value"},"13.24":{t:"FAST_FORWARD_TIME",p:"The time, in milliseconds, to fast-forward when double-tapped, ...",l:"en/advanced/global.html#fast-forward-time",a:"fast-forward-time"},"13.25":{t:"TOUCH_MOVE_RATIO",p:"On mobile, the ratio of the speed of sliding left and right to ...",l:"en/advanced/global.html#touch-move-ratio",a:"touch-move-ratio"},"13.26":{t:"VOLUME_STEP",p:"The step ratio of adjusting volume with shortcuts, default is ...",l:"en/advanced/global.html#volume-step",a:"volume-step"},"13.27":{t:"SEEK_STEP",p:"The increment by which the playback progress is adjusted via k ...",l:"en/advanced/global.html#seek-step",a:"seek-step"},"13.28":{t:"PLAYBACK_RATE",p:"The list of built-in playback speeds, by default [0.5, 0.75, 1 ...",l:"en/advanced/global.html#playback-rate",a:"playback-rate"},"13.29":{t:"ASPECT_RATIO",p:"Built-in list of video aspect ratios, default is ['default', ' ...",l:"en/advanced/global.html#aspect-ratio",a:"aspect-ratio"},"13.30":{t:"FLIP",p:"Built-in list of video flips, defaults to ['normal', 'horizont ...",l:"en/advanced/global.html#flip",a:"flip"},"13.31":{t:"FULLSCREEN_WEB_IN_BODY",p:"When in web fullscreen, whether to mount the player under the ...",l:"en/advanced/global.html#fullscreen-web-in-body",a:"fullscreen-web-in-body"},"13.32":{t:"LOG_VERSION",p:"Setting whether to print the player version, the default is tr ...",l:"en/advanced/global.html#log-version",a:"log-version"},"13.33":{t:"USE_RAF",p:"Setting whether to use requestAnimationFrame, the default is f ...",l:"en/advanced/global.html#use-raf",a:"use-raf"},"14.0":{t:"# Writing Plugins",p:"Once you know the player's properties, methods, and events, wr ...",l:"en/advanced/plugin.html",a:"writing-plugins"},"15.0":{t:"# Instance Properties",p:"Here, instance properties refer to the primary properties moun ...",l:"en/advanced/property.html",a:"instance-properties"},"15.1":{t:"`play`",p:` +Type: Function + +Play video +<div className="run-code&q ...`,l:"en/advanced/property.html#play",a:"play"},"15.2":{t:"`pause`",p:` +Type: Function + +Pause video +<div className="run-code& ...`,l:"en/advanced/property.html#pause",a:"pause"},"15.3":{t:"`toggle`",p:` +Type: Function + +Toggle the play and pause state of the video + ...`,l:"en/advanced/property.html#toggle",a:"toggle"},"15.4":{t:"`destroy`",p:` +Type: Function +Parameter: Boolean + +Destroy the player. Accept ...`,l:"en/advanced/property.html#destroy",a:"destroy"},"15.5":{t:"`seek`",p:` +Type: Setter +Parameter: Number + +Jump to a specific time in th ...`,l:"en/advanced/property.html#seek",a:"seek"},"15.6":{t:"`forward`",p:` +Type: Setter +Parameter: Number + +Fast forward the video time, ...`,l:"en/advanced/property.html#forward",a:"forward"},"15.7":{t:"`backward`",p:` +Type: Setter +Parameter: Number + +Video rewind time in seconds + ...`,l:"en/advanced/property.html#backward",a:"backward"},"15.8":{t:"`volume`",p:` +Type: Setter/Getter +Parameter: Number + +Sets and gets the vide ...`,l:"en/advanced/property.html#volume",a:"volume"},"15.9":{t:"`url`",p:` +Type: Setter/Getter +Parameter: String + +Set and retrieve the v ...`,l:"en/advanced/property.html#url",a:"url"},"15.10":{t:"`switch`",p:` +Type: Setter +Parameter: String + +Set the video address, which ...`,l:"en/advanced/property.html#switch",a:"switch"},"15.11":{t:"`switchUrl`",p:` +Type: Function +Parameter: String + +Set the video address, simi ...`,l:"en/advanced/property.html#switchurl",a:"switchurl"},"15.12":{t:"`switchQuality`",p:` +Type: Function +Parameter: String + +Set video quality address, ...`,l:"en/advanced/property.html#switchquality",a:"switchquality"},"15.13":{t:"`muted`",p:` +Type: Setter/Getter +Parameter: Boolean + +Set and get whether t ...`,l:"en/advanced/property.html#muted",a:"muted"},"15.14":{t:"`currentTime`",p:` +Type: Setter/Getter +Parameter: Number + +Set and get the curren ...`,l:"en/advanced/property.html#currenttime",a:"currenttime"},"15.15":{t:"`duration`",p:` +Type: Getter + +Get the video duration +<div className=" ...`,l:"en/advanced/property.html#duration",a:"duration"},"15.16":{t:"`screenshot`",p:` +Type: Function + +Download a screenshot of the current video fr ...`,l:"en/advanced/property.html#screenshot",a:"screenshot"},"15.17":{t:"`getDataURL`",p:` +Type: Function + +Gets the base64 address of the screenshot of ...`,l:"en/advanced/property.html#getdataurl",a:"getdataurl"},"15.18":{t:"`getBlobUrl`",p:` +Type: Function + +Gets the blob address of the screenshot of th ...`,l:"en/advanced/property.html#getbloburl",a:"getbloburl"},"15.19":{t:"`fullscreen`",p:` +Type: Setter/Getter +Parameter: Boolean + +Set and get the playe ...`,l:"en/advanced/property.html#fullscreen",a:"fullscreen"},"15.20":{t:"`fullscreenWeb`",p:` +Type: Setter/Getter +Parameter: Boolean + +Set and get the playe ...`,l:"en/advanced/property.html#fullscreenweb",a:"fullscreenweb"},"15.21":{t:"`pip`",p:` +Type: Setter/Getter +Parameter: Boolean + +Set and get the playe ...`,l:"en/advanced/property.html#pip",a:"pip"},"15.22":{t:"`poster`",p:` +Type: Setter/Getter +Parameter: String + +Set and get the video ...`,l:"en/advanced/property.html#poster",a:"poster"},"15.23":{t:"`mini`",p:` +Type: Setter/Getter +Parameter: Boolean + +Set and get the playe ...`,l:"en/advanced/property.html#mini",a:"mini"},"15.24":{t:"`playing`",p:` +Type: Getter +Parameter: Boolean + +Get whether the video is cur ...`,l:"en/advanced/property.html#playing",a:"playing"},"15.25":{t:"`autoSize`",p:` +Type: Function + +Sets whether the video should auto adjust its ...`,l:"en/advanced/property.html#autosize",a:"autosize"},"15.26":{t:"`rect`",p:` +Type: Getter + +Gets the size and position information of the p ...`,l:"en/advanced/property.html#rect",a:"rect"},"15.27":{t:"`flip`",p:` +Type: Setter/Getter +Parameter: String + +Set and get the player ...`,l:"en/advanced/property.html#flip",a:"flip"},"15.28":{t:"`playbackRate`",p:` +Type: Setter/Getter +Parameter: Number +Set and get the playbac ...`,l:"en/advanced/property.html#playbackrate",a:"playbackrate"},"15.29":{t:"`aspectRatio`",p:` +Type: Setter/Getter +Parameter: String + +Set and get the aspect ...`,l:"en/advanced/property.html#aspectratio",a:"aspectratio"},"15.30":{t:"`autoHeight`",p:` +Type: Function + +When the container has only width, this attri ...`,l:"en/advanced/property.html#autoheight",a:"autoheight"},"15.31":{t:"`attr`",p:` +Type: Function +Parameter: String + +Dynamically get and set the ...`,l:"en/advanced/property.html#attr",a:"attr"},"15.32":{t:"`type`",p:` +Type: Setter/Getter +Parameter: String + +Dynamically get and se ...`,l:"en/advanced/property.html#type",a:"type"},"15.33":{t:"`theme`",p:` +Type: Setter/Getter +Parameter: String + +Dynamically get and se ...`,l:"en/advanced/property.html#theme",a:"theme"},"15.34":{t:"`airplay`",p:` +Type: Function + +Activate airplay +<div className="run- ...`,l:"en/advanced/property.html#airplay",a:"airplay"},"15.35":{t:"`loaded`",p:` +Type: Getter + +The proportion of the video that is cached, ran ...`,l:"en/advanced/property.html#loaded",a:"loaded"},"15.36":{t:"`played`",p:` +Type: Getter + +The proportion of the video that has been playe ...`,l:"en/advanced/property.html#played",a:"played"},"15.37":{t:"`proxy`",p:` +Type: Function + +A proxy function for DOM events, which essent ...`,l:"en/advanced/property.html#proxy",a:"proxy"},"15.38":{t:"`query`",p:` +Type: Function + +DOM query function, similar to document.query ...`,l:"en/advanced/property.html#query",a:"query"},"15.39":{t:"`video`",p:` +Type: Element + +A shortcut to return the video element of the ...`,l:"en/advanced/property.html#video",a:"video"},"15.40":{t:"`cssVar`",p:` +Type: Function + +Dynamically getting or setting css variables + ...`,l:"en/advanced/property.html#cssvar",a:"cssvar"},"15.41":{t:"`quality`",p:` +Type: Setter +Parameter: Array + +Dynamically setting the list o ...`,l:"en/advanced/property.html#quality",a:"quality"},"15.42":{t:"`thumbnails`",p:` +Type: Setter/Getter +Parameter: Object + +Dynamically set thumbn ...`,l:"en/advanced/property.html#thumbnails",a:"thumbnails"},"16.0":{t:"# Context Menu",p:"",l:"en/component/contextmenu.html",a:"context-menu"},"16.1":{t:"Configuration",p:` + + +Property +Type +Description + + + + +disable +Boolean +Whether to di ...`,l:"en/component/contextmenu.html#configuration",a:"configuration"},"16.2":{t:"Creation",p:"<div className="run-code">▶ Run Code</div&g ...",l:"en/component/contextmenu.html#creation",a:"creation"},"16.3":{t:"Add",p:"<div className="run-code">▶ Run Code</div&g ...",l:"en/component/contextmenu.html#add",a:"add"},"16.4":{t:"Delete",p:"<div className="run-code">▶ Run Code</div&g ...",l:"en/component/contextmenu.html#delete",a:"delete"},"16.5":{t:"Updates",p:"<div className="run-code">▶ Run Code</div&g ...",l:"en/component/contextmenu.html#updates",a:"updates"},"17.0":{t:"# Controller",p:"",l:"en/component/controls.html",a:"controller"},"17.1":{t:"Configuration",p:` + + +Property +Type +Description + + + + +disable +Boolean +Whether to di ...`,l:"en/component/controls.html#configuration",a:"configuration"},"17.2":{t:"Creation",p:"<div className="run-code">▶ Run Code</div&g ...",l:"en/component/controls.html#creation",a:"creation"},"17.3":{t:"Adding",p:"<div className="run-code">▶ Run Code</div&g ...",l:"en/component/controls.html#adding",a:"adding"},"17.4":{t:"Delete",p:"<div className="run-code">▶ Run Code</div&g ...",l:"en/component/controls.html#delete",a:"delete"},"17.5":{t:"Update",p:"<div className="run-code">▶ Run Code</div&g ...",l:"en/component/controls.html#update",a:"update"},"18.0":{t:"# Layer",p:"",l:"en/component/layers.html",a:"layer"},"18.1":{t:"Configuration",p:` + + +Property +Type +Description + + + + +disable +Boolean +Whether to di ...`,l:"en/component/layers.html#configuration",a:"configuration"},"18.2":{t:"Creation",p:"<div className="run-code">▶ Run Code</div&g ...",l:"en/component/layers.html#creation",a:"creation"},"18.3":{t:"Add",p:"<div className="run-code">▶ Run Code</div&g ...",l:"en/component/layers.html#add",a:"add"},"18.4":{t:"Delete",p:"<div className="run-code">▶ Run Code</div&g ...",l:"en/component/layers.html#delete",a:"delete"},"18.5":{t:"Update",p:"<div className="run-code">▶ Run Code</div&g ...",l:"en/component/layers.html#update",a:"update"},"19.0":{t:"# Settings Panel",p:"",l:"en/component/setting.html",a:"settings-panel"},"19.1":{t:"Built-in",p:"First, open the settings panel, and then it comes with four bu ...",l:"en/component/setting.html#built-in",a:"built-in"},"19.2":{t:"Create - Selection List",p:` + + +Property +Type +Description + + + + +html +String, Element +Element' ...`,l:"en/component/setting.html#create-selection-list",a:"create-selection-list"},"19.3":{t:"Creating - Nested Lists",p:"<div className="run-code">▶ Run Code</div&g ...",l:"en/component/setting.html#creating-nested-lists",a:"creating-nested-lists"},"19.4":{t:"Create - Toggle Button",p:` + + +Property +Type +Description + + + + +html +String, Element +Element' ...`,l:"en/component/setting.html#create-toggle-button",a:"create-toggle-button"},"19.5":{t:"Create - Range Slider",p:` + + +Attribute +Type +Description + + + + +html +String, Element +The ele ...`,l:"en/component/setting.html#create-range-slider",a:"create-range-slider"},"19.6":{t:"Add",p:"<div className="run-code">▶ Run Code</div&g ...",l:"en/component/setting.html#add",a:"add"},"19.7":{t:"Delete",p:"<div className="run-code">▶ Run Code</div&g ...",l:"en/component/setting.html#delete",a:"delete"},"19.8":{t:"Updates",p:"<div className="run-code">▶ Run Code</div&g ...",l:"en/component/setting.html#updates",a:"updates"},"20.0":{t:"# Installation and Usage",p:"",l:"en/index.html",a:"installation-and-usage"},"20.1":{t:"Installation",p:`::: code-group +npm install artplayer + +yarn add artplayer + +pnpm ...`,l:"en/index.html#installation",a:"installation"},"20.2":{t:"`CDN`",p:`::: code-group +https://cdn.jsdelivr.net/npm/artplayer/dist/art ...`,l:"en/index.html#cdn",a:"cdn"},"20.3":{t:"Usage",p:`::: code-group +<html> + <head> + <title ...`,l:"en/index.html#usage",a:"usage"},"20.4":{t:"`Vue.js`",p:`::: code-group +<template> + <div ref="artRef&quo ...`,l:"en/index.html#vue-js",a:"vue-js"},"20.5":{t:"`React.js`",p:`::: code-group +import { useEffect, useRef } from 'react'; +impo ...`,l:"en/index.html#react-js",a:"react-js"},"20.6":{t:"TypeScript",p:`Importing Artplayer will automatically import artplayer.d.ts +`,l:"en/index.html#typescript",a:"typescript"},"20.7":{t:"Vue.js",p:` + +`,l:"en/index.html#vue-js",a:"vue-js"},"20.8":{t:"React.js",p:`import Artplayer from 'artplayer'; +const art = useRef<Artpl ...`,l:"en/index.html#react-js",a:"react-js"},"20.9":{t:"Option",p:`You can also use the option type +import Artplayer from 'artpla ...`,l:"en/index.html#option",a:"option"},"20.10":{t:"JavaScript",p:"Sometimes your js file may lose the TypeScript type hints, in ...",l:"en/index.html#javascript",a:"javascript"},"20.11":{t:"Ancient Browsers",p:"The production build of artplayer.js is only compatible with t ...",l:"en/index.html#ancient-browsers",a:"ancient-browsers"},"21.0":{t:"# Language Settings",p:`::: danger +Given the increasing number of bundled multilingual ...`,l:"en/start/i18n.html",a:"language-settings"},"21.1":{t:"Default Languages",p:"The default languages are: en, zh-cn, which do not require man ...",l:"en/start/i18n.html#default-languages",a:"default-languages"},"21.2":{t:"Importing Languages",p:"Language files before packaging are located in: artplayer/src/ ...",l:"en/start/i18n.html#importing-languages",a:"importing-languages"},"21.3":{t:"Add Language",p:`var art = new Artplayer({ + container: '.artplayer-app', + ...`,l:"en/start/i18n.html#add-language",a:"add-language"},"21.4":{t:"Modify Language",p:`import zhTw from 'artplayer/i18n/zh-tw.js'; + +var art = new Art ...`,l:"en/start/i18n.html#modify-language",a:"modify-language"},"22.0":{t:"# Basic Options",p:"",l:"en/start/option.html",a:"basic-options"},"22.1":{t:"`container`",p:` +Type: String, Element +Default: #artplayer + +The DOM container ...`,l:"en/start/option.html#container",a:"container"},"22.2":{t:"`url`",p:` +Type: String +Default: '' + +The video source address +<div cl ...`,l:"en/start/option.html#url",a:"url"},"22.3":{t:"`id`",p:` +Type: String +Default: '' + +The unique identifier of the player ...`,l:"en/start/option.html#id",a:"id"},"22.4":{t:"`onReady`",p:` +Type: Function +Default: undefined + +The constructor accepts a ...`,l:"en/start/option.html#onready",a:"onready"},"22.5":{t:"`poster`",p:` +Type: String +Default: '' + +The poster of the video, which only ...`,l:"en/start/option.html#poster",a:"poster"},"22.6":{t:"`theme`",p:` +Type: String +Default: #f00 + +Player theme color, currently use ...`,l:"en/start/option.html#theme",a:"theme"},"22.7":{t:"`volume`",p:` +Type: Number +Default: 0.7 + +The default volume of the player +& ...`,l:"en/start/option.html#volume",a:"volume"},"22.8":{t:"`isLive`",p:` +Type: Boolean +Default: false + +Use live mode, which will hide ...`,l:"en/start/option.html#islive",a:"islive"},"22.9":{t:"`muted`",p:` +Type: Boolean +Default: false + +Whether to mute by default +< ...`,l:"en/start/option.html#muted",a:"muted"},"22.10":{t:"`autoplay`",p:` +Type: Boolean +Default: false + +Whether to play automatically + + ...`,l:"en/start/option.html#autoplay",a:"autoplay"},"22.11":{t:"`autoSize`",p:` +Type: Boolean +Default: false + +The size of the player will by ...`,l:"en/start/option.html#autosize",a:"autosize"},"22.12":{t:"`autoMini`",p:` +Type: Boolean +Default: false + +Automatically enter mini mode w ...`,l:"en/start/option.html#automini",a:"automini"},"22.13":{t:"`loop`",p:` +Type: Boolean +Default: false + +Whether to loop the video +<d ...`,l:"en/start/option.html#loop",a:"loop"},"22.14":{t:"`flip`",p:` +Type: Boolean +Default: false + +Whether to show the video flip ...`,l:"en/start/option.html#flip",a:"flip"},"22.15":{t:"`playbackRate`",p:` +Type: Boolean +Default: false + +Whether to show the playback sp ...`,l:"en/start/option.html#playbackrate",a:"playbackrate"},"22.16":{t:"`aspectRatio`",p:` +Type: Boolean +Default: false + +Displays the video aspect ratio ...`,l:"en/start/option.html#aspectratio",a:"aspectratio"},"22.17":{t:"`screenshot`",p:` +Type: Boolean +Default: false + +Whether to show the screenshot ...`,l:"en/start/option.html#screenshot",a:"screenshot"},"22.18":{t:"`setting`",p:` +Type: Boolean +Default: false + +Display the toggle button for t ...`,l:"en/start/option.html#setting",a:"setting"},"22.19":{t:"`hotkey`",p:` +Type: Boolean +Default: true + +Whether to use hotkeys +<div c ...`,l:"en/start/option.html#hotkey",a:"hotkey"},"22.20":{t:"`pip`",p:` +Type: Boolean +Default: false +Show the Picture in Picture swit ...`,l:"en/start/option.html#pip",a:"pip"},"22.21":{t:"`mutex`",p:` +Type: Boolean +Default: true + +If there are multiple players on ...`,l:"en/start/option.html#mutex",a:"mutex"},"22.22":{t:"`fullscreen`",p:` +Type: Boolean +Default: false +Display the Window Fullscreen bu ...`,l:"en/start/option.html#fullscreen",a:"fullscreen"},"22.23":{t:"`fullscreenWeb`",p:` +Type: Boolean +Default: false + +Display the Web Fullscreen butt ...`,l:"en/start/option.html#fullscreenweb",a:"fullscreenweb"},"22.24":{t:"`subtitleOffset`",p:` + +Type: Boolean + + +Default: false + + +Subtitle time offset, the r ...`,l:"en/start/option.html#subtitleoffset",a:"subtitleoffset"},"22.25":{t:"`miniProgressBar`",p:` +Type: Boolean +Default: false + +Mini progress bar, only appears ...`,l:"en/start/option.html#miniprogressbar",a:"miniprogressbar"},"22.26":{t:"`useSSR`",p:` +Type: Boolean +Default: false + +Whether to use SSR (Server-Side ...`,l:"en/start/option.html#usessr",a:"usessr"},"22.27":{t:"`playsInline`",p:` +Type: Boolean +Default: true + +Whether to use playsInline mode ...`,l:"en/start/option.html#playsinline",a:"playsinline"},"22.28":{t:"`layers`",p:` +Type: Array +Default: [] + +Initializes custom layers +<div cl ...`,l:"en/start/option.html#layers",a:"layers"},"22.29":{t:"`settings`",p:` +Type: Array +Default: [] + +Initializes custom settings panel +&l ...`,l:"en/start/option.html#settings",a:"settings"},"22.30":{t:"`contextmenu`",p:` +Type: Array +Default: [] + +Initialize custom context menu +<d ...`,l:"en/start/option.html#contextmenu",a:"contextmenu"},"22.31":{t:"`controls`",p:` +Type: Array +Default: [] + +Initializes custom bottom control ba ...`,l:"en/start/option.html#controls",a:"controls"},"22.32":{t:"`quality`",p:` +Type: Array +Default: [] + +Whether to show the quality selectio ...`,l:"en/start/option.html#quality",a:"quality"},"22.33":{t:"`highlight`",p:` +Type: Array +Default: [] + +Show highlight information on the pr ...`,l:"en/start/option.html#highlight",a:"highlight"},"22.34":{t:"`plugins`",p:` +Type: Array +Default: [] + +Initialize custom plugins +<div cl ...`,l:"en/start/option.html#plugins",a:"plugins"},"22.35":{t:"`thumbnails`",p:` +Type: Object +Default: {} + +Set thumbnails on the progress bar + ...`,l:"en/start/option.html#thumbnails",a:"thumbnails"},"22.36":{t:"`subtitle`",p:` +Type: Object +Default: {} + +Set the video subtitles, supporting ...`,l:"en/start/option.html#subtitle",a:"subtitle"},"22.37":{t:"`moreVideoAttr`",p:` +Type: Object +Default: {'controls': false, 'preload': 'metadat ...`,l:"en/start/option.html#morevideoattr",a:"morevideoattr"},"22.38":{t:"`icons`",p:` +Type: Object +Default: {} + +Used to replace default icons, supp ...`,l:"en/start/option.html#icons",a:"icons"},"22.39":{t:"`type`",p:` +Type: String +Default: '' + +Used to specify the format of the v ...`,l:"en/start/option.html#type",a:"type"},"22.40":{t:"`customType`",p:` +Type: Object +Default: {} + +Matches the video's type to delegat ...`,l:"en/start/option.html#customtype",a:"customtype"},"22.41":{t:"`lang`",p:` +Type: String +Default: navigator.language.toLowerCase() + +Defau ...`,l:"en/start/option.html#lang",a:"lang"},"22.42":{t:"`i18n`",p:` +Type: Object +Default: {} + +Custom i18n configuration, which wi ...`,l:"en/start/option.html#i18n",a:"i18n"},"22.43":{t:"`lock`",p:` +Type: Boolean +Default: false + +Whether to display a lock butto ...`,l:"en/start/option.html#lock",a:"lock"},"22.44":{t:"`fastForward`",p:` +Type: Boolean +Default: false + +Whether to add fast forward fun ...`,l:"en/start/option.html#fastforward",a:"fastforward"},"22.45":{t:"`autoPlayback`",p:` +Type: Boolean +Default: false + +Whether to use the automatic pl ...`,l:"en/start/option.html#autoplayback",a:"autoplayback"},"22.46":{t:"`autoOrientation`",p:` +Type: Boolean +Default: false + +Whether to rotate the player on ...`,l:"en/start/option.html#autoorientation",a:"autoorientation"},"22.47":{t:"`airplay`",p:` +Type: Boolean +Default: false + +Whether to display the airplay ...`,l:"en/start/option.html#airplay",a:"airplay"},"22.48":{t:"`cssVar`",p:` +Type: Object +Default: {} + +Used to change built-in CSS variabl ...`,l:"en/start/option.html#cssvar",a:"cssvar"},"23.0":{t:"# 安装使用",p:"",l:"index.html",a:"安装使用"},"23.1":{t:"安装",p:`::: code-group +npm install artplayer + +yarn add artplayer + +pnpm ...`,l:"index.html#安装",a:"安装"},"23.2":{t:"`CDN`",p:`::: code-group +https://cdn.jsdelivr.net/npm/artplayer/dist/art ...`,l:"index.html#cdn",a:"cdn"},"23.3":{t:"使用",p:`::: code-group +<html> + <head> + <title ...`,l:"index.html#使用",a:"使用"},"23.4":{t:"`Vue.js`",p:`::: code-group +<template> + <div ref="artRef&quo ...`,l:"index.html#vue-js",a:"vue-js"},"23.5":{t:"`React.js`",p:`::: code-group +import { useEffect, useRef } from 'react'; +impo ...`,l:"index.html#react-js",a:"react-js"},"23.6":{t:"TypeScript",p:`导入 Artplayer 时会自动导入的 artplayer.d.ts +`,l:"index.html#typescript",a:"typescript"},"23.7":{t:"Vue.js",p:` + +`,l:"index.html#vue-js",a:"vue-js"},"23.8":{t:"React.js",p:`import Artplayer from 'artplayer'; +const art = useRef<Artpl ...`,l:"index.html#react-js",a:"react-js"},"23.9":{t:"Option",p:`你也可以使用选项的类型 +import Artplayer from 'artplayer'; + +const option: ...`,l:"index.html#option",a:"option"},"23.10":{t:"JavaScript",p:`有时你的 js 文件会丢失 TypeScript 的类型提示,这时候你可以手动导入类型 +变量: +/** + * @type { ...`,l:"index.html#javascript",a:"javascript"},"23.11":{t:"古老的浏览器",p:`生产构建的 artplayer.js 只兼容最新一个主版本的 Chrome:last 1 Chrome version +对于 ...`,l:"index.html#古老的浏览器",a:"古老的浏览器"},"24.0":{t:"# 弹幕库",p:"",l:"plugin/danmuku.html",a:"弹幕库"},"24.1":{t:"演示",p:`👉 查看完整演示 +`,l:"plugin/danmuku.html#演示",a:"演示"},"24.2":{t:"安装",p:`::: code-group +npm install artplayer-plugin-danmuku + +yarn add ...`,l:"plugin/danmuku.html#安装",a:"安装"},"24.3":{t:"CDN",p:`::: code-group +https://cdn.jsdelivr.net/npm/artplayer-plugin-d ...`,l:"plugin/danmuku.html#cdn",a:"cdn"},"24.4":{t:"弹幕结构",p:`每一个弹幕是一个对象,多个弹幕组成的数组就是弹幕库,通常只需要text就可以发送一个弹幕,其余都是非必要参数 +{ + t ...`,l:"plugin/danmuku.html#弹幕结构",a:"弹幕结构"},"24.5":{t:"全部选项",p:`只有danmuku是必须的参数,其余都是非必填 +{ + danmuku: [], // 弹幕数据 + speed: ...`,l:"plugin/danmuku.html#全部选项",a:"全部选项"},"24.6":{t:"生命周期",p:`来自用户输入的弹幕: +beforeEmit -> filter -> beforeVisible -> a ...`,l:"plugin/danmuku.html#生命周期",a:"生命周期"},"24.7":{t:"使用弹幕数组",p:"<div className="run-code" data-libs="./uncom ...",l:"plugin/danmuku.html#使用弹幕数组",a:"使用弹幕数组"},"24.8":{t:"使用弹幕 XML",p:`弹幕 XML 文件,和 Bilibili 网站的弹幕格式一致 +<div className="run-cod ...`,l:"plugin/danmuku.html#使用弹幕-xml",a:"使用弹幕-xml"},"24.9":{t:"使用异步返回",p:"<div className="run-code" data-libs="./uncom ...",l:"plugin/danmuku.html#使用异步返回",a:"使用异步返回"},"24.10":{t:"`hide/show`",p:`通过方法 hide 和 show 进行隐藏或者显示弹幕 +<div className="run-code&q ...`,l:"plugin/danmuku.html#hide-show",a:"hide-show"},"24.11":{t:"`isHide`",p:`通过属性 isHide 判断当前弹幕是隐藏或者显示 +<div className="run-code&quo ...`,l:"plugin/danmuku.html#ishide",a:"ishide"},"24.12":{t:"`emit`",p:`通过方法 emit 发送一条实时弹幕 +<div className="run-code" data ...`,l:"plugin/danmuku.html#emit",a:"emit"},"24.13":{t:"`config`",p:`通过方法 config 实时改变弹幕配置 +<div className="run-code" da ...`,l:"plugin/danmuku.html#config",a:"config"},"24.14":{t:"`load`",p:`通过 load 方法可以重载弹幕库,或者切换新弹幕库,或者追加新的弹幕库 +<div className="r ...`,l:"plugin/danmuku.html#load",a:"load"},"24.15":{t:"`reset`",p:`用于清空当前显示的弹幕 +<div className="run-code" data-libs=& ...`,l:"plugin/danmuku.html#reset",a:"reset"},"24.16":{t:"`mount`",p:`在初始化弹幕插件的时候,是可以指定弹幕发射器的挂载位置的,默认是挂载在控制栏的中部,你也可以把它挂载在播放器以外的地方。 +当 ...`,l:"plugin/danmuku.html#mount",a:"mount"},"24.17":{t:"`option`",p:`用于获取当前弹幕配置 +<div className="run-code" data-libs=&q ...`,l:"plugin/danmuku.html#option",a:"option"},"24.18":{t:"事件",p:"<div className="run-code" data-libs="./uncom ...",l:"plugin/danmuku.html#事件",a:"事件"},"25.0":{t:"# 语言设置",p:`::: danger +鉴于捆绑的多国语言越来越多, 从 5.1.0 版本开始, artplayer.js 核心代码除了包含 ...`,l:"start/i18n.html",a:"语言设置"},"25.1":{t:"默认语言",p:`默认语言有: en, zh-cn, 无需手动导入 +var art = new Artplayer({ + contain ...`,l:"start/i18n.html#默认语言",a:"默认语言"},"25.2":{t:"导入语言",p:`打包前的语言文件存放于: artplayer/src/i18n/*.js, 欢迎来添加你的语言 +打包后的语言文件存放于: a ...`,l:"start/i18n.html#导入语言",a:"导入语言"},"25.3":{t:"新增语言",p:`var art = new Artplayer({ + container: '.artplayer-app', + ...`,l:"start/i18n.html#新增语言",a:"新增语言"},"25.4":{t:"修改语言",p:`import zhTw from 'artplayer/i18n/zh-tw.js'; + +var art = new Art ...`,l:"start/i18n.html#修改语言",a:"修改语言"},"26.0":{t:"# 基础选项",p:"",l:"start/option.html",a:"基础选项"},"26.1":{t:"`container`",p:` +Type: String, Element +Default: #artplayer + +播放器挂载的 DOM 容器 +< ...`,l:"start/option.html#container",a:"container"},"26.2":{t:"`url`",p:` +Type: String +Default: '' + +视频源地址 +<div className="run-c ...`,l:"start/option.html#url",a:"url"},"26.3":{t:"`id`",p:` +Type: String +Default: '' + +播放器的唯一标识,目前只用于记忆播放 autoplayback +< ...`,l:"start/option.html#id",a:"id"},"26.4":{t:"`onReady`",p:` +Type: Function +Default: undefined + +构造函数接受一个函数作为第二个参数,播放器初始化成功 ...`,l:"start/option.html#onready",a:"onready"},"26.5":{t:"`poster`",p:` +Type: String +Default: '' + +视频的海报,只会出现在播放器初始化且未播放的状态下 +<div c ...`,l:"start/option.html#poster",a:"poster"},"26.6":{t:"`theme`",p:` +Type: String +Default: #f00 + +播放器主题颜色,目前用于 进度条 和 高亮元素 上 +<div ...`,l:"start/option.html#theme",a:"theme"},"26.7":{t:"`volume`",p:` +Type: Number +Default: 0.7 + +播放器的默认音量 +<div className="r ...`,l:"start/option.html#volume",a:"volume"},"26.8":{t:"`isLive`",p:` +Type: Boolean +Default: false + +使用直播模式,会隐藏进度条和播放时间 +<div clas ...`,l:"start/option.html#islive",a:"islive"},"26.9":{t:"`muted`",p:` +Type: Boolean +Default: false + +是否默认静音 +<div className=" ...`,l:"start/option.html#muted",a:"muted"},"26.10":{t:"`autoplay`",p:` +Type: Boolean +Default: false + +是否自动播放 +<div className=" ...`,l:"start/option.html#autoplay",a:"autoplay"},"26.11":{t:"`autoSize`",p:` +Type: Boolean +Default: false + +播放器的尺寸默认会填充整个 container 容器尺寸,所以 ...`,l:"start/option.html#autosize",a:"autosize"},"26.12":{t:"`autoMini`",p:` +Type: Boolean +Default: false + +当播放器滚动到浏览器视口以外时,自动进入 迷你播放 模式 +&l ...`,l:"start/option.html#automini",a:"automini"},"26.13":{t:"`loop`",p:` +Type: Boolean +Default: false + +是否循环播放 +<div className=" ...`,l:"start/option.html#loop",a:"loop"},"26.14":{t:"`flip`",p:` +Type: Boolean +Default: false + +是否显示视频翻转功能,目前只出现在 设置面板 和 右键菜单 里 ...`,l:"start/option.html#flip",a:"flip"},"26.15":{t:"`playbackRate`",p:` +Type: Boolean +Default: false + +是否显示视频播放速度功能,会出现在 设置面板 和 右键菜单 里 ...`,l:"start/option.html#playbackrate",a:"playbackrate"},"26.16":{t:"`aspectRatio`",p:` +Type: Boolean +Default: false + +是否显示视频长宽比功能,会出现在 设置面板 和 右键菜单 里 + ...`,l:"start/option.html#aspectratio",a:"aspectratio"},"26.17":{t:"`screenshot`",p:` +Type: Boolean +Default: false + +是否在底部控制栏里显示 视频截图 功能 +<div cla ...`,l:"start/option.html#screenshot",a:"screenshot"},"26.18":{t:"`setting`",p:` +Type: Boolean +Default: false + +是否在底部控制栏里显示 设置面板 的开关按钮 +<div ...`,l:"start/option.html#setting",a:"setting"},"26.19":{t:"`hotkey`",p:` +Type: Boolean +Default: true + +是否使用快捷键 +<div className=" ...`,l:"start/option.html#hotkey",a:"hotkey"},"26.20":{t:"`pip`",p:` +Type: Boolean +Default: false + +是否在底部控制栏里显示 画中画 的开关按钮 +<div c ...`,l:"start/option.html#pip",a:"pip"},"26.21":{t:"`mutex`",p:` +Type: Boolean +Default: true + +假如页面里同时存在多个播放器,是否只能让一个播放器播放 +< ...`,l:"start/option.html#mutex",a:"mutex"},"26.22":{t:"`fullscreen`",p:` +Type: Boolean +Default: false + +是否在底部控制栏里显示播放器 窗口全屏 按钮 +<div ...`,l:"start/option.html#fullscreen",a:"fullscreen"},"26.23":{t:"`fullscreenWeb`",p:` +Type: Boolean +Default: false + +是否在底部控制栏里显示播放器 网页全屏 按钮 +<div ...`,l:"start/option.html#fullscreenweb",a:"fullscreenweb"},"26.24":{t:"`subtitleOffset`",p:` +Type: Boolean +Default: false + +字幕时间偏移,范围在 [-5s, 5s],出现在 设置面板 里 ...`,l:"start/option.html#subtitleoffset",a:"subtitleoffset"},"26.25":{t:"`miniProgressBar`",p:` +Type: Boolean +Default: false + +迷你进度条,只在播放器失去焦点后且正在播放时出现 +<di ...`,l:"start/option.html#miniprogressbar",a:"miniprogressbar"},"26.26":{t:"`useSSR`",p:` +Type: Boolean +Default: false + +是否使用 SSR 挂载模式,假如你希望在播放器挂载前,就提前渲 ...`,l:"start/option.html#usessr",a:"usessr"},"26.27":{t:"`playsInline`",p:` +Type: Boolean +Default: true + +在移动端是否使用 playsInline 模式 +<div ...`,l:"start/option.html#playsinline",a:"playsinline"},"26.28":{t:"`layers`",p:` +Type: Array +Default: [] + +初始化自定义的 层 +<div className="ru ...`,l:"start/option.html#layers",a:"layers"},"26.29":{t:"`settings`",p:` +Type: Array +Default: [] + +初始化自定义的 设置面板 +<div className=" ...`,l:"start/option.html#settings",a:"settings"},"26.30":{t:"`contextmenu`",p:` +Type: Array +Default: [] + +初始化自定义的 右键菜单 +<div className=" ...`,l:"start/option.html#contextmenu",a:"contextmenu"},"26.31":{t:"`controls`",p:` +Type: Array +Default: [] + +初始化自定义的底部 控制栏 +<div className=&quo ...`,l:"start/option.html#controls",a:"controls"},"26.32":{t:"`quality`",p:` +Type: Array +Default: [] + +是否在底部控制栏里显示 画质选择 列表 + + + +属性 +类型 +描述 + + + + + ...`,l:"start/option.html#quality",a:"quality"},"26.33":{t:"`highlight`",p:` +Type: Array +Default: [] + +在进度条上显示 高亮信息 + + + +属性 +类型 +描述 + + + + +time +Nu ...`,l:"start/option.html#highlight",a:"highlight"},"26.34":{t:"`plugins`",p:` +Type: Array +Default: [] + +初始化自定义的 插件 +<div className="r ...`,l:"start/option.html#plugins",a:"plugins"},"26.35":{t:"`thumbnails`",p:` +Type: Object +Default: {} + +在进度条上设置 预览图 + + + +属性 +类型 +描述 + + + + +url +Str ...`,l:"start/option.html#thumbnails",a:"thumbnails"},"26.36":{t:"`subtitle`",p:` +Type: Object +Default: {} + +设置视频的字幕,支持字幕格式:vtt, srt, ass + + + +属性 + ...`,l:"start/option.html#subtitle",a:"subtitle"},"26.37":{t:"`moreVideoAttr`",p:` +Type: Object +Default: {'controls': false,'preload': 'metadata ...`,l:"start/option.html#morevideoattr",a:"morevideoattr"},"26.38":{t:"`icons`",p:` +Type: Object +Default: {} + +用于替换默认图标,支持 Html 字符串和 HTMLElement +& ...`,l:"start/option.html#icons",a:"icons"},"26.39":{t:"`type`",p:` +Type: String +Default: '' + +用于指明视频的格式,需要配合 customType 一起使用,默认视频 ...`,l:"start/option.html#type",a:"type"},"26.40":{t:"`customType`",p:` +Type: Object +Default: {} + +通过视频的 type 进行匹配,把视频解码权交给第三方程序进行处理,处 ...`,l:"start/option.html#customtype",a:"customtype"},"26.41":{t:"`lang`",p:` +Type: String +Default: navigator.language.toLowerCase() + +默认显示语 ...`,l:"start/option.html#lang",a:"lang"},"26.42":{t:"`i18n`",p:` +Type: Object +Default: {} + +自定义 i18n 配置,该配置会和自带的 i18n 进行深度合并 +新增 ...`,l:"start/option.html#i18n",a:"i18n"},"26.43":{t:"`lock`",p:` +Type: Boolean +Default: false + +是否在移动端显示一个 锁定按钮 ,用于隐藏底部 控制栏 +< ...`,l:"start/option.html#lock",a:"lock"},"26.44":{t:"`fastForward`",p:` +Type: Boolean +Default: false + +是否在移动端添加长按视频快进功能 +<div classN ...`,l:"start/option.html#fastforward",a:"fastforward"},"26.45":{t:"`autoPlayback`",p:` +Type: Boolean +Default: false + +是否使用自动 回放功能 +<div className=& ...`,l:"start/option.html#autoplayback",a:"autoplayback"},"26.46":{t:"`autoOrientation`",p:` +Type: Boolean +Default: false + +是否在移动端的网页全屏时,根据视频尺寸和视口尺寸,旋转播放器 + ...`,l:"start/option.html#autoorientation",a:"autoorientation"},"26.47":{t:"`airplay`",p:` +Type: Boolean +Default: false + +是否显示 airplay 按钮,当前只有部分浏览器支持该功能 + ...`,l:"start/option.html#airplay",a:"airplay"},"26.48":{t:"`cssVar`",p:` +Type: Object +Default: {} + +用于改变内置的css变量 +<div className=&quo ...`,l:"start/option.html#cssvar",a:"cssvar"}},n={previewLength:62,buttonLabel:"Search",placeholder:"Search docs",allow:[],ignore:[]},a={INDEX_DATA:e,PREVIEW_LOOKUP:t,Options:n};export{a as default}; diff --git a/document/assets/component_contextmenu.md.BJEn6dWt.js b/document/assets/component_contextmenu.md.qE60TY3S.js similarity index 92% rename from document/assets/component_contextmenu.md.BJEn6dWt.js rename to document/assets/component_contextmenu.md.qE60TY3S.js index 8610b19b3..54245f3e1 100644 --- a/document/assets/component_contextmenu.md.BJEn6dWt.js +++ b/document/assets/component_contextmenu.md.qE60TY3S.js @@ -1,4 +1,4 @@ -import{_ as a,c as n,o as l,a7 as s,j as i}from"./chunks/framework.DXlgpajS.js";const B=JSON.parse('{"title":"右键菜单","description":"","frontmatter":{},"headers":[],"relativePath":"component/contextmenu.md","filePath":"component/contextmenu.md","lastUpdated":1682229030000}'),p={name:"component/contextmenu.md"},e=s('

右键菜单

配置

属性类型描述
disableBoolean是否禁用组件
nameString组件唯一名称,用于标记类名
indexNumber组件索引,用于显示的优先级
htmlString, Element组件的 DOM 元素
styleObject组件样式对象
clickFunction组件点击事件
mountedFunction组件挂载后触发
tooltipString组件的提示文本

创建

',4),h=i("div",{className:"run-code"},"▶ Run Code",-1),t=s(`
js
var art = new Artplayer({
+import{_ as a,c as n,o as l,a7 as s,j as i}from"./chunks/framework.DHbvjPBJ.js";const B=JSON.parse('{"title":"右键菜单","description":"","frontmatter":{},"headers":[],"relativePath":"component/contextmenu.md","filePath":"component/contextmenu.md","lastUpdated":1724256543000}'),p={name:"component/contextmenu.md"},e=s('

右键菜单

配置

属性类型描述
disableBoolean是否禁用组件
nameString组件唯一名称,用于标记类名
indexNumber组件索引,用于显示的优先级
htmlString, Element组件的 DOM 元素
styleObject组件样式对象
clickFunction组件点击事件
mountedFunction组件挂载后触发
tooltipString组件的提示文本

创建

',4),h=i("div",{className:"run-code"},"▶ Run Code",-1),t=s(`
js
var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
     contextmenu: [
diff --git a/document/assets/component_contextmenu.md.BJEn6dWt.lean.js b/document/assets/component_contextmenu.md.qE60TY3S.lean.js
similarity index 82%
rename from document/assets/component_contextmenu.md.BJEn6dWt.lean.js
rename to document/assets/component_contextmenu.md.qE60TY3S.lean.js
index 6b4b175ef..65e96f8a6 100644
--- a/document/assets/component_contextmenu.md.BJEn6dWt.lean.js
+++ b/document/assets/component_contextmenu.md.qE60TY3S.lean.js
@@ -1 +1 @@
-import{_ as a,c as n,o as l,a7 as s,j as i}from"./chunks/framework.DXlgpajS.js";const B=JSON.parse('{"title":"右键菜单","description":"","frontmatter":{},"headers":[],"relativePath":"component/contextmenu.md","filePath":"component/contextmenu.md","lastUpdated":1682229030000}'),p={name:"component/contextmenu.md"},e=s("",4),h=i("div",{className:"run-code"},"▶ Run Code",-1),t=s("",2),k=i("div",{className:"run-code"},"▶ Run Code",-1),r=s("",2),E=i("div",{className:"run-code"},"▶ Run Code",-1),d=s("",2),c=i("div",{className:"run-code"},"▶ Run Code",-1),g=s("",1),y=[e,h,t,k,r,E,d,c,g];function o(b,u,m,F,_,C){return l(),n("div",null,y)}const D=a(p,[["render",o]]);export{B as __pageData,D as default};
+import{_ as a,c as n,o as l,a7 as s,j as i}from"./chunks/framework.DHbvjPBJ.js";const B=JSON.parse('{"title":"右键菜单","description":"","frontmatter":{},"headers":[],"relativePath":"component/contextmenu.md","filePath":"component/contextmenu.md","lastUpdated":1724256543000}'),p={name:"component/contextmenu.md"},e=s("",4),h=i("div",{className:"run-code"},"▶ Run Code",-1),t=s("",2),k=i("div",{className:"run-code"},"▶ Run Code",-1),r=s("",2),E=i("div",{className:"run-code"},"▶ Run Code",-1),d=s("",2),c=i("div",{className:"run-code"},"▶ Run Code",-1),g=s("",1),y=[e,h,t,k,r,E,d,c,g];function o(b,u,m,F,_,C){return l(),n("div",null,y)}const D=a(p,[["render",o]]);export{B as __pageData,D as default};
diff --git a/document/assets/component_controls.md.BYiGOdHR.js b/document/assets/component_controls.md.qsW-Fw21.js
similarity index 94%
rename from document/assets/component_controls.md.BYiGOdHR.js
rename to document/assets/component_controls.md.qsW-Fw21.js
index 687ed7d47..51e3e6d64 100644
--- a/document/assets/component_controls.md.BYiGOdHR.js
+++ b/document/assets/component_controls.md.qsW-Fw21.js
@@ -1,4 +1,4 @@
-import{_ as a,c as n,o as l,a7 as s,j as i}from"./chunks/framework.DXlgpajS.js";const A=JSON.parse('{"title":"控制器","description":"","frontmatter":{},"headers":[],"relativePath":"component/controls.md","filePath":"component/controls.md","lastUpdated":1682233868000}'),p={name:"component/controls.md"},h=s('

控制器

配置

属性类型描述
disableBoolean是否禁用组件
nameString组件唯一名称,用于标记类名
indexNumber组件索引,用于显示的优先级
htmlString, Element组件的 DOM 元素
styleObject组件样式对象
clickFunction组件点击事件
mountedFunction组件挂载后触发
tooltipString组件的提示文本
positionStringleftright 控制控制器出现的左右位置
selectorArray选择列表的对象数组
onSelectFunction选择列表的元素被点击时触发的函数

创建

',4),t=i("div",{className:"run-code"},"▶ Run Code",-1),e=s(`
js
var art = new Artplayer({
+import{_ as a,c as n,o as l,a7 as s,j as i}from"./chunks/framework.DHbvjPBJ.js";const A=JSON.parse('{"title":"控制器","description":"","frontmatter":{},"headers":[],"relativePath":"component/controls.md","filePath":"component/controls.md","lastUpdated":1724256543000}'),p={name:"component/controls.md"},h=s('

控制器

配置

属性类型描述
disableBoolean是否禁用组件
nameString组件唯一名称,用于标记类名
indexNumber组件索引,用于显示的优先级
htmlString, Element组件的 DOM 元素
styleObject组件样式对象
clickFunction组件点击事件
mountedFunction组件挂载后触发
tooltipString组件的提示文本
positionStringleftright 控制控制器出现的左右位置
selectorArray选择列表的对象数组
onSelectFunction选择列表的元素被点击时触发的函数

创建

',4),t=i("div",{className:"run-code"},"▶ Run Code",-1),e=s(`
js
var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
     controls: [
diff --git a/document/assets/component_controls.md.BYiGOdHR.lean.js b/document/assets/component_controls.md.qsW-Fw21.lean.js
similarity index 81%
rename from document/assets/component_controls.md.BYiGOdHR.lean.js
rename to document/assets/component_controls.md.qsW-Fw21.lean.js
index 436b1b652..6d84a6cae 100644
--- a/document/assets/component_controls.md.BYiGOdHR.lean.js
+++ b/document/assets/component_controls.md.qsW-Fw21.lean.js
@@ -1 +1 @@
-import{_ as a,c as n,o as l,a7 as s,j as i}from"./chunks/framework.DXlgpajS.js";const A=JSON.parse('{"title":"控制器","description":"","frontmatter":{},"headers":[],"relativePath":"component/controls.md","filePath":"component/controls.md","lastUpdated":1682233868000}'),p={name:"component/controls.md"},h=s("",4),t=i("div",{className:"run-code"},"▶ Run Code",-1),e=s("",2),k=i("div",{className:"run-code"},"▶ Run Code",-1),E=s("",2),r=i("div",{className:"run-code"},"▶ Run Code",-1),d=s("",2),c=i("div",{className:"run-code"},"▶ Run Code",-1),g=s("",1),y=[h,t,e,k,E,r,d,c,g];function b(o,F,u,m,C,B){return l(),n("div",null,y)}const v=a(p,[["render",b]]);export{A as __pageData,v as default};
+import{_ as a,c as n,o as l,a7 as s,j as i}from"./chunks/framework.DHbvjPBJ.js";const A=JSON.parse('{"title":"控制器","description":"","frontmatter":{},"headers":[],"relativePath":"component/controls.md","filePath":"component/controls.md","lastUpdated":1724256543000}'),p={name:"component/controls.md"},h=s("",4),t=i("div",{className:"run-code"},"▶ Run Code",-1),e=s("",2),k=i("div",{className:"run-code"},"▶ Run Code",-1),E=s("",2),r=i("div",{className:"run-code"},"▶ Run Code",-1),d=s("",2),c=i("div",{className:"run-code"},"▶ Run Code",-1),g=s("",1),y=[h,t,e,k,E,r,d,c,g];function b(o,F,u,m,C,B){return l(),n("div",null,y)}const v=a(p,[["render",b]]);export{A as __pageData,v as default};
diff --git a/document/assets/component_layers.md.CwYgrgxj.js b/document/assets/component_layers.md.ET912xz2.js
similarity index 94%
rename from document/assets/component_layers.md.CwYgrgxj.js
rename to document/assets/component_layers.md.ET912xz2.js
index 69a7315a9..f3a838bb9 100644
--- a/document/assets/component_layers.md.CwYgrgxj.js
+++ b/document/assets/component_layers.md.ET912xz2.js
@@ -1,4 +1,4 @@
-import{_ as a,c as n,o as l,a7 as s,j as i}from"./chunks/framework.DXlgpajS.js";const A=JSON.parse('{"title":"业务层","description":"","frontmatter":{},"headers":[],"relativePath":"component/layers.md","filePath":"component/layers.md","lastUpdated":1682229030000}'),p={name:"component/layers.md"},h=s('

业务层

配置

属性类型描述
disableBoolean是否禁用组件
nameString组件唯一名称,用于标记类名
indexNumber组件索引,用于显示的优先级
htmlString, Element组件的 DOM 元素
styleObject组件样式对象
clickFunction组件点击事件
mountedFunction组件挂载后触发
tooltipString组件的提示文本

创建

',4),e=i("div",{className:"run-code"},"▶ Run Code",-1),t=s(`
js
var img = '/assets/sample/layer.png';
+import{_ as a,c as n,o as l,a7 as s,j as i}from"./chunks/framework.DHbvjPBJ.js";const A=JSON.parse('{"title":"业务层","description":"","frontmatter":{},"headers":[],"relativePath":"component/layers.md","filePath":"component/layers.md","lastUpdated":1724256543000}'),p={name:"component/layers.md"},h=s('

业务层

配置

属性类型描述
disableBoolean是否禁用组件
nameString组件唯一名称,用于标记类名
indexNumber组件索引,用于显示的优先级
htmlString, Element组件的 DOM 元素
styleObject组件样式对象
clickFunction组件点击事件
mountedFunction组件挂载后触发
tooltipString组件的提示文本

创建

',4),e=i("div",{className:"run-code"},"▶ Run Code",-1),t=s(`
js
var img = '/assets/sample/layer.png';
 var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
diff --git a/document/assets/component_layers.md.CwYgrgxj.lean.js b/document/assets/component_layers.md.ET912xz2.lean.js
similarity index 72%
rename from document/assets/component_layers.md.CwYgrgxj.lean.js
rename to document/assets/component_layers.md.ET912xz2.lean.js
index 2fbdf693b..180563c35 100644
--- a/document/assets/component_layers.md.CwYgrgxj.lean.js
+++ b/document/assets/component_layers.md.ET912xz2.lean.js
@@ -1 +1 @@
-import{_ as a,c as n,o as l,a7 as s,j as i}from"./chunks/framework.DXlgpajS.js";const A=JSON.parse('{"title":"业务层","description":"","frontmatter":{},"headers":[],"relativePath":"component/layers.md","filePath":"component/layers.md","lastUpdated":1682229030000}'),p={name:"component/layers.md"},h=s("",4),e=i("div",{className:"run-code"},"▶ Run Code",-1),t=s("",2),k=i("div",{className:"run-code"},"▶ Run Code",-1),E=s("",2),r=i("div",{className:"run-code"},"▶ Run Code",-1),d=s("",2),g=i("div",{className:"run-code"},"▶ Run Code",-1),c=s("",1),y=[h,e,t,k,E,r,d,g,c];function b(o,F,u,m,C,_){return l(),n("div",null,y)}const D=a(p,[["render",b]]);export{A as __pageData,D as default};
+import{_ as a,c as n,o as l,a7 as s,j as i}from"./chunks/framework.DHbvjPBJ.js";const A=JSON.parse('{"title":"业务层","description":"","frontmatter":{},"headers":[],"relativePath":"component/layers.md","filePath":"component/layers.md","lastUpdated":1724256543000}'),p={name:"component/layers.md"},h=s("",4),e=i("div",{className:"run-code"},"▶ Run Code",-1),t=s("",2),k=i("div",{className:"run-code"},"▶ Run Code",-1),E=s("",2),r=i("div",{className:"run-code"},"▶ Run Code",-1),d=s("",2),g=i("div",{className:"run-code"},"▶ Run Code",-1),c=s("",1),y=[h,e,t,k,E,r,d,g,c];function b(o,F,u,m,C,_){return l(),n("div",null,y)}const D=a(p,[["render",b]]);export{A as __pageData,D as default};
diff --git a/document/assets/component_setting.md.DyK4mklZ.js b/document/assets/component_setting.md.DocCYZfm.js
similarity index 94%
rename from document/assets/component_setting.md.DyK4mklZ.js
rename to document/assets/component_setting.md.DocCYZfm.js
index 4fb77d436..66e9c90aa 100644
--- a/document/assets/component_setting.md.DyK4mklZ.js
+++ b/document/assets/component_setting.md.DocCYZfm.js
@@ -1,4 +1,4 @@
-import{_ as a,c as n,o as l,a7 as s,j as i}from"./chunks/framework.DXlgpajS.js";const P=JSON.parse('{"title":"设置面板","description":"","frontmatter":{},"headers":[],"relativePath":"component/setting.md","filePath":"component/setting.md","lastUpdated":1682779928000}'),p={name:"component/setting.md"},h=s('

设置面板

内置

须先打开设置面板,然后自带四个内置项:flip, playbackRate, aspectRatio, subtitleOffset

',3),t=i("div",{className:"run-code"},"▶ Run Code",-1),e=s(`
js
var art = new Artplayer({
+import{_ as a,c as n,o as l,a7 as s,j as i}from"./chunks/framework.DHbvjPBJ.js";const P=JSON.parse('{"title":"设置面板","description":"","frontmatter":{},"headers":[],"relativePath":"component/setting.md","filePath":"component/setting.md","lastUpdated":1724256543000}'),p={name:"component/setting.md"},h=s('

设置面板

内置

须先打开设置面板,然后自带四个内置项:flip, playbackRate, aspectRatio, subtitleOffset

',3),t=i("div",{className:"run-code"},"▶ Run Code",-1),e=s(`
js
var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
 	setting: true,
@@ -6,7 +6,7 @@ import{_ as a,c as n,o as l,a7 as s,j as i}from"./chunks/framework.DXlgpajS.js";
     playbackRate: true,
     aspectRatio: true,
     subtitleOffset: true,
-});

创建 - 选择列表

属性类型描述
htmlString, Element元素的 DOM
iconString, Element元素的图标
selectorArray元素列表
onSelectFunction元素点击事件
widthNumber列表宽度
tooltipString提示文本
`,3),k=i("div",{className:"run-code"},"▶ Run Code",-1),E=s(`
js
var art = new Artplayer({
+});

创建 - 选择列表

属性类型描述
htmlString, Element元素的 DOM
iconString, Element元素的图标
selectorArray元素列表
onSelectFunction元素点击事件
widthNumber列表宽度
tooltipString提示文本
`,3),k=i("div",{className:"run-code"},"▶ Run Code",-1),E=s(`
js
var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
     setting: true,
@@ -101,7 +101,7 @@ import{_ as a,c as n,o as l,a7 as s,j as i}from"./chunks/framework.DXlgpajS.js";
             ],
         },
     ],
-});

创建 - 切换按钮

属性类型描述
htmlString, Element元素的 DOM 元素
iconString, Element元素的图标
switchBoolean按钮默认状态
onSwitchFunction按钮切换事件
tooltipString提示文本
`,3),g=i("div",{className:"run-code"},"▶ Run Code",-1),c=s(`
js
var art = new Artplayer({
+});

创建 - 切换按钮

属性类型描述
htmlString, Element元素的 DOM 元素
iconString, Element元素的图标
switchBoolean按钮默认状态
onSwitchFunction按钮切换事件
tooltipString提示文本
`,3),g=i("div",{className:"run-code"},"▶ Run Code",-1),c=s(`
js
var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
     setting: true,
@@ -120,7 +120,7 @@ import{_ as a,c as n,o as l,a7 as s,j as i}from"./chunks/framework.DXlgpajS.js";
             },
         },
     ],
-});

创建 - 范围滑块

属性类型描述
htmlString, Element元素的 DOM 元素
iconString, Element元素的图标
rangeArray默认状态数组
onRangeFunction完成时触发的事件
onChangeFunction变化时触发的事件
tooltipString提示文本
js
const range = [5, 1, 10, 1];
+});

创建 - 范围滑块

属性类型描述
htmlString, Element元素的 DOM 元素
iconString, Element元素的图标
rangeArray默认状态数组
onRangeFunction完成时触发的事件
onChangeFunction变化时触发的事件
tooltipString提示文本
js
const range = [5, 1, 10, 1];
 const value = range[0];
 const min = range[1];
 const max = range[2];
diff --git a/document/assets/component_setting.md.DyK4mklZ.lean.js b/document/assets/component_setting.md.DocCYZfm.lean.js
similarity index 86%
rename from document/assets/component_setting.md.DyK4mklZ.lean.js
rename to document/assets/component_setting.md.DocCYZfm.lean.js
index 062e328f8..b48f7cb0a 100644
--- a/document/assets/component_setting.md.DyK4mklZ.lean.js
+++ b/document/assets/component_setting.md.DocCYZfm.lean.js
@@ -1 +1 @@
-import{_ as a,c as n,o as l,a7 as s,j as i}from"./chunks/framework.DXlgpajS.js";const P=JSON.parse('{"title":"设置面板","description":"","frontmatter":{},"headers":[],"relativePath":"component/setting.md","filePath":"component/setting.md","lastUpdated":1682779928000}'),p={name:"component/setting.md"},h=s("",3),t=i("div",{className:"run-code"},"▶ Run Code",-1),e=s("",3),k=i("div",{className:"run-code"},"▶ Run Code",-1),E=s("",2),r=i("div",{className:"run-code"},"▶ Run Code",-1),d=s("",3),g=i("div",{className:"run-code"},"▶ Run Code",-1),c=s("",4),y=i("div",{className:"run-code"},"▶ Run Code",-1),b=s("",2),o=i("div",{className:"run-code"},"▶ Run Code",-1),F=s("",2),u=i("div",{className:"run-code"},"▶ Run Code",-1),m=s("",2),C=i("div",{className:"run-code"},"▶ Run Code",-1),B=s("",1),_=[h,t,e,k,E,r,d,g,c,y,b,o,F,u,m,C,B];function A(v,D,S,q,T,f){return l(),n("div",null,_)}const x=a(p,[["render",A]]);export{P as __pageData,x as default};
+import{_ as a,c as n,o as l,a7 as s,j as i}from"./chunks/framework.DHbvjPBJ.js";const P=JSON.parse('{"title":"设置面板","description":"","frontmatter":{},"headers":[],"relativePath":"component/setting.md","filePath":"component/setting.md","lastUpdated":1724256543000}'),p={name:"component/setting.md"},h=s("",3),t=i("div",{className:"run-code"},"▶ Run Code",-1),e=s("",3),k=i("div",{className:"run-code"},"▶ Run Code",-1),E=s("",2),r=i("div",{className:"run-code"},"▶ Run Code",-1),d=s("",3),g=i("div",{className:"run-code"},"▶ Run Code",-1),c=s("",4),y=i("div",{className:"run-code"},"▶ Run Code",-1),b=s("",2),o=i("div",{className:"run-code"},"▶ Run Code",-1),F=s("",2),u=i("div",{className:"run-code"},"▶ Run Code",-1),m=s("",2),C=i("div",{className:"run-code"},"▶ Run Code",-1),B=s("",1),_=[h,t,e,k,E,r,d,g,c,y,b,o,F,u,m,C,B];function A(v,D,S,q,T,f){return l(),n("div",null,_)}const x=a(p,[["render",A]]);export{P as __pageData,x as default};
diff --git a/document/assets/en_advanced_built-in.md.2IAm3gis.js b/document/assets/en_advanced_built-in.md.Dlrc1KyU.js
similarity index 99%
rename from document/assets/en_advanced_built-in.md.2IAm3gis.js
rename to document/assets/en_advanced_built-in.md.Dlrc1KyU.js
index 0f9a8da88..d96e64412 100644
--- a/document/assets/en_advanced_built-in.md.2IAm3gis.js
+++ b/document/assets/en_advanced_built-in.md.Dlrc1KyU.js
@@ -1,4 +1,4 @@
-import{_ as a,c as n,o as e,a7 as s,j as i}from"./chunks/framework.DXlgpajS.js";const K=JSON.parse('{"title":"Advanced Properties","description":"","frontmatter":{},"headers":[],"relativePath":"en/advanced/built-in.md","filePath":"en/advanced/built-in.md","lastUpdated":1700976201000}'),l={name:"en/advanced/built-in.md"},p=s('

Advanced Properties

The advanced properties here refer to the secondary attributes mounted on the instance, which are less commonly used

option

Options for the player

',4),t=i("div",{className:"run-code"},"▶ Run Code",-1),h=s(`
js
var art = new Artplayer({
+import{_ as a,c as n,o as e,a7 as s,j as i}from"./chunks/framework.DHbvjPBJ.js";const K=JSON.parse('{"title":"Advanced Properties","description":"","frontmatter":{},"headers":[],"relativePath":"en/advanced/built-in.md","filePath":"en/advanced/built-in.md","lastUpdated":1724256543000}'),l={name:"en/advanced/built-in.md"},p=s('

Advanced Properties

The advanced properties here refer to the secondary attributes mounted on the instance, which are less commonly used

option

Options for the player

',4),t=i("div",{className:"run-code"},"▶ Run Code",-1),h=s(`
js
var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
 });
diff --git a/document/assets/en_advanced_built-in.md.2IAm3gis.lean.js b/document/assets/en_advanced_built-in.md.Dlrc1KyU.lean.js
similarity index 91%
rename from document/assets/en_advanced_built-in.md.2IAm3gis.lean.js
rename to document/assets/en_advanced_built-in.md.Dlrc1KyU.lean.js
index 8b139726c..f4ca7ed57 100644
--- a/document/assets/en_advanced_built-in.md.2IAm3gis.lean.js
+++ b/document/assets/en_advanced_built-in.md.Dlrc1KyU.lean.js
@@ -1 +1 @@
-import{_ as a,c as n,o as e,a7 as s,j as i}from"./chunks/framework.DXlgpajS.js";const K=JSON.parse('{"title":"Advanced Properties","description":"","frontmatter":{},"headers":[],"relativePath":"en/advanced/built-in.md","filePath":"en/advanced/built-in.md","lastUpdated":1700976201000}'),l={name:"en/advanced/built-in.md"},p=s("",4),t=i("div",{className:"run-code"},"▶ Run Code",-1),h=s("",4),k=i("div",{className:"run-code"},"▶ Run Code",-1),r=s("",5),E=i("div",{className:"run-code"},"▶ Run Code",-1),d=s("",5),c=i("div",{className:"run-code"},"▶ Run Code",-1),o=s("",2),g=i("div",{className:"run-code"},"▶ Run Code",-1),y=s("",3),u=i("div",{className:"run-code"},"▶ Run Code",-1),b=s("",5),m=i("div",{className:"run-code"},"▶ Run Code",-1),F=s("",4),_=i("div",{className:"run-code"},"▶ Run Code",-1),C=s("",5),v=i("div",{className:"run-code"},"▶ Run Code",-1),A=s("",5),B=i("div",{className:"run-code"},"▶ Run Code",-1),T=s("",5),f=i("div",{className:"run-code"},"▶ Run Code",-1),D=s("",5),w=i("div",{className:"run-code"},"▶ Run Code",-1),P=s("",4),S=i("div",{className:"run-code"},"▶ Run Code",-1),x=s("",4),I=i("div",{className:"run-code"},"▶ Run Code",-1),N=s("",5),R=i("div",{className:"run-code"},"▶ Run Code",-1),j=s("",4),V=i("div",{className:"run-code"},"▶ Run Code",-1),q=s("",4),M=i("div",{className:"run-code"},"▶ Run Code",-1),O=s("",1),W=[p,t,h,k,r,E,d,c,o,g,y,u,b,m,F,_,C,v,A,B,T,f,D,w,P,S,x,I,N,R,j,V,q,M,O];function $(z,G,L,U,H,J){return e(),n("div",null,W)}const Q=a(l,[["render",$]]);export{K as __pageData,Q as default};
+import{_ as a,c as n,o as e,a7 as s,j as i}from"./chunks/framework.DHbvjPBJ.js";const K=JSON.parse('{"title":"Advanced Properties","description":"","frontmatter":{},"headers":[],"relativePath":"en/advanced/built-in.md","filePath":"en/advanced/built-in.md","lastUpdated":1724256543000}'),l={name:"en/advanced/built-in.md"},p=s("",4),t=i("div",{className:"run-code"},"▶ Run Code",-1),h=s("",4),k=i("div",{className:"run-code"},"▶ Run Code",-1),r=s("",5),E=i("div",{className:"run-code"},"▶ Run Code",-1),d=s("",5),c=i("div",{className:"run-code"},"▶ Run Code",-1),o=s("",2),g=i("div",{className:"run-code"},"▶ Run Code",-1),y=s("",3),u=i("div",{className:"run-code"},"▶ Run Code",-1),b=s("",5),m=i("div",{className:"run-code"},"▶ Run Code",-1),F=s("",4),_=i("div",{className:"run-code"},"▶ Run Code",-1),C=s("",5),v=i("div",{className:"run-code"},"▶ Run Code",-1),A=s("",5),B=i("div",{className:"run-code"},"▶ Run Code",-1),T=s("",5),f=i("div",{className:"run-code"},"▶ Run Code",-1),D=s("",5),w=i("div",{className:"run-code"},"▶ Run Code",-1),P=s("",4),S=i("div",{className:"run-code"},"▶ Run Code",-1),x=s("",4),I=i("div",{className:"run-code"},"▶ Run Code",-1),N=s("",5),R=i("div",{className:"run-code"},"▶ Run Code",-1),j=s("",4),V=i("div",{className:"run-code"},"▶ Run Code",-1),q=s("",4),M=i("div",{className:"run-code"},"▶ Run Code",-1),O=s("",1),W=[p,t,h,k,r,E,d,c,o,g,y,u,b,m,F,_,C,v,A,B,T,f,D,w,P,S,x,I,N,R,j,V,q,M,O];function $(z,G,L,U,H,J){return e(),n("div",null,W)}const Q=a(l,[["render",$]]);export{K as __pageData,Q as default};
diff --git a/document/assets/en_advanced_class.md.mixu78XH.js b/document/assets/en_advanced_class.md.D-yes8Yl.js
similarity index 99%
rename from document/assets/en_advanced_class.md.mixu78XH.js
rename to document/assets/en_advanced_class.md.D-yes8Yl.js
index e23434abc..c965aec67 100644
--- a/document/assets/en_advanced_class.md.mixu78XH.js
+++ b/document/assets/en_advanced_class.md.D-yes8Yl.js
@@ -1,4 +1,4 @@
-import{_ as e,c as i,o as n,a7 as s,j as a}from"./chunks/framework.DXlgpajS.js";const $=JSON.parse('{"title":"Static Properties","description":"","frontmatter":{},"headers":[],"relativePath":"en/advanced/class.md","filePath":"en/advanced/class.md","lastUpdated":1700976201000}'),t={name:"en/advanced/class.md"},l=s('

Static Properties

Here, Static Properties refer to the first-level properties mounted on the constructor, which are very rarely used.

instances

Returns an array of all player instances. You can use this property when you want to manage multiple players at the same time.

',4),r=a("div",{className:"run-code"},"▶ Run Code",-1),o=s(`
js
console.info([...Artplayer.instances]);
+import{_ as e,c as i,o as n,a7 as s,j as a}from"./chunks/framework.DHbvjPBJ.js";const $=JSON.parse('{"title":"Static Properties","description":"","frontmatter":{},"headers":[],"relativePath":"en/advanced/class.md","filePath":"en/advanced/class.md","lastUpdated":1724256543000}'),t={name:"en/advanced/class.md"},l=s('

Static Properties

Here, Static Properties refer to the first-level properties mounted on the constructor, which are very rarely used.

instances

Returns an array of all player instances. You can use this property when you want to manage multiple players at the same time.

',4),r=a("div",{className:"run-code"},"▶ Run Code",-1),o=s(`
js
console.info([...Artplayer.instances]);
 
 var art = new Artplayer({
     container: '.artplayer-app',
diff --git a/document/assets/en_advanced_class.md.mixu78XH.lean.js b/document/assets/en_advanced_class.md.D-yes8Yl.lean.js
similarity index 89%
rename from document/assets/en_advanced_class.md.mixu78XH.lean.js
rename to document/assets/en_advanced_class.md.D-yes8Yl.lean.js
index e161a24c8..715c52c1c 100644
--- a/document/assets/en_advanced_class.md.mixu78XH.lean.js
+++ b/document/assets/en_advanced_class.md.D-yes8Yl.lean.js
@@ -1 +1 @@
-import{_ as e,c as i,o as n,a7 as s,j as a}from"./chunks/framework.DXlgpajS.js";const $=JSON.parse('{"title":"Static Properties","description":"","frontmatter":{},"headers":[],"relativePath":"en/advanced/class.md","filePath":"en/advanced/class.md","lastUpdated":1700976201000}'),t={name:"en/advanced/class.md"},l=s("",4),r=a("div",{className:"run-code"},"▶ Run Code",-1),o=s("",3),p=a("div",{className:"run-code"},"▶ Run Code",-1),d=s("",3),h=a("div",{className:"run-code"},"▶ Run Code",-1),c=s("",3),k=a("div",{className:"run-code"},"▶ Run Code",-1),_=s("",3),u=a("div",{className:"run-code"},"▶ Run Code",-1),b=s("",3),E=a("div",{className:"run-code"},"▶ Run Code",-1),m=s("",4),g=a("div",{className:"run-code"},"▶ Run Code",-1),v=s("",3),y=a("div",{className:"run-code"},"▶ Run Code",-1),C=s("",3),T=a("div",{className:"run-code"},"▶ Run Code",-1),f=s("",3),A=a("div",{className:"run-code"},"▶ Run Code",-1),P=s("",3),S=a("div",{className:"run-code"},"▶ Run Code",-1),F=s("",3),R=a("div",{className:"run-code"},"▶ Run Code",-1),x=s("",1),N=[l,r,o,p,d,h,c,k,_,u,b,E,m,g,v,y,C,T,f,A,P,S,F,R,x];function V(q,I,j,w,B,D){return n(),i("div",null,N)}const z=e(t,[["render",V]]);export{$ as __pageData,z as default};
+import{_ as e,c as i,o as n,a7 as s,j as a}from"./chunks/framework.DHbvjPBJ.js";const $=JSON.parse('{"title":"Static Properties","description":"","frontmatter":{},"headers":[],"relativePath":"en/advanced/class.md","filePath":"en/advanced/class.md","lastUpdated":1724256543000}'),t={name:"en/advanced/class.md"},l=s("",4),r=a("div",{className:"run-code"},"▶ Run Code",-1),o=s("",3),p=a("div",{className:"run-code"},"▶ Run Code",-1),d=s("",3),h=a("div",{className:"run-code"},"▶ Run Code",-1),c=s("",3),k=a("div",{className:"run-code"},"▶ Run Code",-1),_=s("",3),u=a("div",{className:"run-code"},"▶ Run Code",-1),b=s("",3),E=a("div",{className:"run-code"},"▶ Run Code",-1),m=s("",4),g=a("div",{className:"run-code"},"▶ Run Code",-1),v=s("",3),y=a("div",{className:"run-code"},"▶ Run Code",-1),C=s("",3),T=a("div",{className:"run-code"},"▶ Run Code",-1),f=s("",3),A=a("div",{className:"run-code"},"▶ Run Code",-1),P=s("",3),S=a("div",{className:"run-code"},"▶ Run Code",-1),F=s("",3),R=a("div",{className:"run-code"},"▶ Run Code",-1),x=s("",1),N=[l,r,o,p,d,h,c,k,_,u,b,E,m,g,v,y,C,T,f,A,P,S,F,R,x];function V(q,I,j,w,B,D){return n(),i("div",null,N)}const z=e(t,[["render",V]]);export{$ as __pageData,z as default};
diff --git a/document/assets/en_advanced_event.md.CkF3W8ym.js b/document/assets/en_advanced_event.md.CPzjTq9Z.js
similarity index 99%
rename from document/assets/en_advanced_event.md.CkF3W8ym.js
rename to document/assets/en_advanced_event.md.CPzjTq9Z.js
index b6057897d..c30d81a00 100644
--- a/document/assets/en_advanced_event.md.CkF3W8ym.js
+++ b/document/assets/en_advanced_event.md.CPzjTq9Z.js
@@ -1,4 +1,4 @@
-import{_ as n,c as e,o as l,j as s,a,a7 as i}from"./chunks/framework.DXlgpajS.js";const Zs=JSON.parse('{"title":"Example Events","description":"","frontmatter":{},"headers":[],"relativePath":"en/advanced/event.md","filePath":"en/advanced/event.md","lastUpdated":1711766082000}'),p={name:"en/advanced/event.md"},h=s("h1",{id:"example-events",tabindex:"-1"},[a("Example Events "),s("a",{class:"header-anchor",href:"#example-events","aria-label":'Permalink to "Example Events"'},"​")],-1),t=s("p",null,[a("Player events are divided into two types, one is the video's "),s("code",null,"native events"),a(" (prefix "),s("code",null,"video:"),a("), the other is "),s("code",null,"custom events")],-1),k=s("p",null,"Listening to events:",-1),r=s("div",{className:"run-code"},"▶ Run Code",-1),E=i(`
js
var art = new Artplayer({
+import{_ as n,c as e,o as l,j as s,a,a7 as i}from"./chunks/framework.DHbvjPBJ.js";const Zs=JSON.parse('{"title":"Example Events","description":"","frontmatter":{},"headers":[],"relativePath":"en/advanced/event.md","filePath":"en/advanced/event.md","lastUpdated":1724256543000}'),p={name:"en/advanced/event.md"},h=s("h1",{id:"example-events",tabindex:"-1"},[a("Example Events "),s("a",{class:"header-anchor",href:"#example-events","aria-label":'Permalink to "Example Events"'},"​")],-1),t=s("p",null,[a("Player events are divided into two types, one is the video's "),s("code",null,"native events"),a(" (prefix "),s("code",null,"video:"),a("), the other is "),s("code",null,"custom events")],-1),k=s("p",null,"Listening to events:",-1),r=s("div",{className:"run-code"},"▶ Run Code",-1),E=i(`
js
var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
 });
diff --git a/document/assets/en_advanced_event.md.CkF3W8ym.lean.js b/document/assets/en_advanced_event.md.CPzjTq9Z.lean.js
similarity index 96%
rename from document/assets/en_advanced_event.md.CkF3W8ym.lean.js
rename to document/assets/en_advanced_event.md.CPzjTq9Z.lean.js
index 2e1b85b5e..f84c0914f 100644
--- a/document/assets/en_advanced_event.md.CkF3W8ym.lean.js
+++ b/document/assets/en_advanced_event.md.CPzjTq9Z.lean.js
@@ -1 +1 @@
-import{_ as n,c as e,o as l,j as s,a,a7 as i}from"./chunks/framework.DXlgpajS.js";const Zs=JSON.parse('{"title":"Example Events","description":"","frontmatter":{},"headers":[],"relativePath":"en/advanced/event.md","filePath":"en/advanced/event.md","lastUpdated":1711766082000}'),p={name:"en/advanced/event.md"},h=s("h1",{id:"example-events",tabindex:"-1"},[a("Example Events "),s("a",{class:"header-anchor",href:"#example-events","aria-label":'Permalink to "Example Events"'},"​")],-1),t=s("p",null,[a("Player events are divided into two types, one is the video's "),s("code",null,"native events"),a(" (prefix "),s("code",null,"video:"),a("), the other is "),s("code",null,"custom events")],-1),k=s("p",null,"Listening to events:",-1),r=s("div",{className:"run-code"},"▶ Run Code",-1),E=i("",2),d=s("div",{className:"run-code"},"▶ Run Code",-1),c=i("",2),g=s("div",{className:"run-code"},"▶ Run Code",-1),o=i("",2),y=s("div",{className:"run-code"},"▶ Run Code",-1),b=i("",4),u=s("div",{className:"run-code"},"▶ Run Code",-1),F=i("",3),m=s("div",{className:"run-code"},"▶ Run Code",-1),_=i("",3),v=s("div",{className:"run-code"},"▶ Run Code",-1),C=i("",3),A=s("div",{className:"run-code"},"▶ Run Code",-1),B=i("",3),T=s("div",{className:"run-code"},"▶ Run Code",-1),D=i("",3),f=s("div",{className:"run-code"},"▶ Run Code",-1),w=i("",3),P=s("div",{className:"run-code"},"▶ Run Code",-1),S=i("",3),x=s("div",{className:"run-code"},"▶ Run Code",-1),q=i("",3),R=s("div",{className:"run-code"},"▶ Run Code",-1),N=i("",3),V=s("div",{className:"run-code"},"▶ Run Code",-1),j=i("",3),I=s("div",{className:"run-code"},"▶ Run Code",-1),z=i("",3),O=s("div",{className:"run-code"},"▶ Run Code",-1),U=i("",3),L=s("div",{className:"run-code"},"▶ Run Code",-1),H=i("",3),W=s("div",{className:"run-code"},"▶ Run Code",-1),$=i("",3),M=s("div",{className:"run-code"},"▶ Run Code",-1),J=i("",3),G=s("div",{className:"run-code"},"▶ Run Code",-1),K=i("",3),Q=s("div",{className:"run-code"},"▶ Run Code",-1),X=i("",3),Y=s("div",{className:"run-code"},"▶ Run Code",-1),Z=i("",3),ss=s("div",{className:"run-code"},"▶ Run Code",-1),is=i("",3),as=s("div",{className:"run-code"},"▶ Run Code",-1),ns=i("",3),es=s("div",{className:"run-code"},"▶ Run Code",-1),ls=i("",3),ps=s("div",{className:"run-code"},"▶ Run Code",-1),hs=i("",3),ts=s("div",{className:"run-code"},"▶ Run Code",-1),ks=i("",3),rs=s("div",{className:"run-code"},"▶ Run Code",-1),Es=i("",3),ds=s("div",{className:"run-code"},"▶ Run Code",-1),cs=i("",3),gs=s("div",{className:"run-code"},"▶ Run Code",-1),os=i("",3),ys=s("div",{className:"run-code"},"▶ Run Code",-1),bs=i("",3),us=s("div",{className:"run-code"},"▶ Run Code",-1),Fs=i("",3),ms=s("div",{className:"run-code"},"▶ Run Code",-1),_s=i("",3),vs=s("div",{className:"run-code"},"▶ Run Code",-1),Cs=i("",3),As=s("div",{className:"run-code"},"▶ Run Code",-1),Bs=i("",3),Ts=s("div",{className:"run-code"},"▶ Run Code",-1),Ds=i("",3),fs=s("div",{className:"run-code"},"▶ Run Code",-1),ws=i("",3),Ps=s("div",{className:"run-code"},"▶ Run Code",-1),Ss=i("",3),xs=s("div",{className:"run-code"},"▶ Run Code",-1),qs=i("",3),Rs=s("div",{className:"run-code"},"▶ Run Code",-1),Ns=i("",3),Vs=s("div",{className:"run-code"},"▶ Run Code",-1),js=i("",3),Is=s("div",{className:"run-code"},"▶ Run Code",-1),zs=i("",3),Os=s("div",{className:"run-code"},"▶ Run Code",-1),Us=i("",3),Ls=s("div",{className:"run-code"},"▶ Run Code",-1),Hs=i("",43),Ws=[h,t,k,r,E,d,c,g,o,y,b,u,F,m,_,v,C,A,B,T,D,f,w,P,S,x,q,R,N,V,j,I,z,O,U,L,H,W,$,M,J,G,K,Q,X,Y,Z,ss,is,as,ns,es,ls,ps,hs,ts,ks,rs,Es,ds,cs,gs,os,ys,bs,us,Fs,ms,_s,vs,Cs,As,Bs,Ts,Ds,fs,ws,Ps,Ss,xs,qs,Rs,Ns,Vs,js,Is,zs,Os,Us,Ls,Hs];function $s(Ms,Js,Gs,Ks,Qs,Xs){return l(),e("div",null,Ws)}const si=n(p,[["render",$s]]);export{Zs as __pageData,si as default};
+import{_ as n,c as e,o as l,j as s,a,a7 as i}from"./chunks/framework.DHbvjPBJ.js";const Zs=JSON.parse('{"title":"Example Events","description":"","frontmatter":{},"headers":[],"relativePath":"en/advanced/event.md","filePath":"en/advanced/event.md","lastUpdated":1724256543000}'),p={name:"en/advanced/event.md"},h=s("h1",{id:"example-events",tabindex:"-1"},[a("Example Events "),s("a",{class:"header-anchor",href:"#example-events","aria-label":'Permalink to "Example Events"'},"​")],-1),t=s("p",null,[a("Player events are divided into two types, one is the video's "),s("code",null,"native events"),a(" (prefix "),s("code",null,"video:"),a("), the other is "),s("code",null,"custom events")],-1),k=s("p",null,"Listening to events:",-1),r=s("div",{className:"run-code"},"▶ Run Code",-1),E=i("",2),d=s("div",{className:"run-code"},"▶ Run Code",-1),c=i("",2),g=s("div",{className:"run-code"},"▶ Run Code",-1),o=i("",2),y=s("div",{className:"run-code"},"▶ Run Code",-1),b=i("",4),u=s("div",{className:"run-code"},"▶ Run Code",-1),F=i("",3),m=s("div",{className:"run-code"},"▶ Run Code",-1),_=i("",3),v=s("div",{className:"run-code"},"▶ Run Code",-1),C=i("",3),A=s("div",{className:"run-code"},"▶ Run Code",-1),B=i("",3),T=s("div",{className:"run-code"},"▶ Run Code",-1),D=i("",3),f=s("div",{className:"run-code"},"▶ Run Code",-1),w=i("",3),P=s("div",{className:"run-code"},"▶ Run Code",-1),S=i("",3),x=s("div",{className:"run-code"},"▶ Run Code",-1),q=i("",3),R=s("div",{className:"run-code"},"▶ Run Code",-1),N=i("",3),V=s("div",{className:"run-code"},"▶ Run Code",-1),j=i("",3),I=s("div",{className:"run-code"},"▶ Run Code",-1),z=i("",3),O=s("div",{className:"run-code"},"▶ Run Code",-1),U=i("",3),L=s("div",{className:"run-code"},"▶ Run Code",-1),H=i("",3),W=s("div",{className:"run-code"},"▶ Run Code",-1),$=i("",3),M=s("div",{className:"run-code"},"▶ Run Code",-1),J=i("",3),G=s("div",{className:"run-code"},"▶ Run Code",-1),K=i("",3),Q=s("div",{className:"run-code"},"▶ Run Code",-1),X=i("",3),Y=s("div",{className:"run-code"},"▶ Run Code",-1),Z=i("",3),ss=s("div",{className:"run-code"},"▶ Run Code",-1),is=i("",3),as=s("div",{className:"run-code"},"▶ Run Code",-1),ns=i("",3),es=s("div",{className:"run-code"},"▶ Run Code",-1),ls=i("",3),ps=s("div",{className:"run-code"},"▶ Run Code",-1),hs=i("",3),ts=s("div",{className:"run-code"},"▶ Run Code",-1),ks=i("",3),rs=s("div",{className:"run-code"},"▶ Run Code",-1),Es=i("",3),ds=s("div",{className:"run-code"},"▶ Run Code",-1),cs=i("",3),gs=s("div",{className:"run-code"},"▶ Run Code",-1),os=i("",3),ys=s("div",{className:"run-code"},"▶ Run Code",-1),bs=i("",3),us=s("div",{className:"run-code"},"▶ Run Code",-1),Fs=i("",3),ms=s("div",{className:"run-code"},"▶ Run Code",-1),_s=i("",3),vs=s("div",{className:"run-code"},"▶ Run Code",-1),Cs=i("",3),As=s("div",{className:"run-code"},"▶ Run Code",-1),Bs=i("",3),Ts=s("div",{className:"run-code"},"▶ Run Code",-1),Ds=i("",3),fs=s("div",{className:"run-code"},"▶ Run Code",-1),ws=i("",3),Ps=s("div",{className:"run-code"},"▶ Run Code",-1),Ss=i("",3),xs=s("div",{className:"run-code"},"▶ Run Code",-1),qs=i("",3),Rs=s("div",{className:"run-code"},"▶ Run Code",-1),Ns=i("",3),Vs=s("div",{className:"run-code"},"▶ Run Code",-1),js=i("",3),Is=s("div",{className:"run-code"},"▶ Run Code",-1),zs=i("",3),Os=s("div",{className:"run-code"},"▶ Run Code",-1),Us=i("",3),Ls=s("div",{className:"run-code"},"▶ Run Code",-1),Hs=i("",43),Ws=[h,t,k,r,E,d,c,g,o,y,b,u,F,m,_,v,C,A,B,T,D,f,w,P,S,x,q,R,N,V,j,I,z,O,U,L,H,W,$,M,J,G,K,Q,X,Y,Z,ss,is,as,ns,es,ls,ps,hs,ts,ks,rs,Es,ds,cs,gs,os,ys,bs,us,Fs,ms,_s,vs,Cs,As,Bs,Ts,Ds,fs,ws,Ps,Ss,xs,qs,Rs,Ns,Vs,js,Is,zs,Os,Us,Ls,Hs];function $s(Ms,Js,Gs,Ks,Qs,Xs){return l(),e("div",null,Ws)}const si=n(p,[["render",$s]]);export{Zs as __pageData,si as default};
diff --git a/document/assets/en_advanced_global.md.DlSHTMOC.js b/document/assets/en_advanced_global.md.CqhD0oCj.js
similarity index 92%
rename from document/assets/en_advanced_global.md.DlSHTMOC.js
rename to document/assets/en_advanced_global.md.CqhD0oCj.js
index 33ec16b9e..3ff9df932 100644
--- a/document/assets/en_advanced_global.md.DlSHTMOC.js
+++ b/document/assets/en_advanced_global.md.CqhD0oCj.js
@@ -1,19 +1,19 @@
-import{_ as a,c as n,o as l,a7 as s,j as i}from"./chunks/framework.DXlgpajS.js";const Is=JSON.parse('{"title":"Global Attributes","description":"","frontmatter":{},"headers":[],"relativePath":"en/advanced/global.md","filePath":"en/advanced/global.md","lastUpdated":1700976201000}'),e={name:"en/advanced/global.md"},p=s('

Global Attributes

Here, Global Attributes refer to the first-level properties mounted on the constructor. Property names are all in uppercase, subject to change in the future and basically not needed.

DEBUG

Whether to start debug mode, which can print out all built-in events of the video by default is turned off.

',4),t=i("div",{className:"run-code"},"▶ Run Code",-1),h=s(`
js
Artplayer.DEBUG = true;
+import{_ as a,c as n,o as l,a7 as s,j as i}from"./chunks/framework.DHbvjPBJ.js";const fs=JSON.parse('{"title":"Global Attributes","description":"","frontmatter":{},"headers":[],"relativePath":"en/advanced/global.md","filePath":"en/advanced/global.md","lastUpdated":1724256543000}'),e={name:"en/advanced/global.md"},p=s('

Global Attributes

Here, Global Attributes refer to the first-level properties mounted on the constructor. Property names are all in uppercase, subject to change in the future and basically not needed.

DEBUG

Whether to start debug mode, which can print out all built-in events of the video by default is turned off.

',4),t=i("div",{className:"run-code"},"▶ Run Code",-1),h=s(`
js
Artplayer.DEBUG = true;
 
 var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
-});

CONTEXTMENU

Whether to enable the right-click context menu, enabled by default.

`,3),k=i("div",{className:"run-code"},"▶ Run Code",-1),r=s(`
js
Artplayer.CONTEXTMENU = false;
+});

STYLE

Returns the player style text

`,3),k=i("div",{className:"run-code"},"▶ Run Code",-1),r=s('
js
console.log(Artplayer.STYLE);

CONTEXTMENU

Whether to enable the right-click context menu, enabled by default.

',3),E=i("div",{className:"run-code"},"▶ Run Code",-1),d=s(`
js
Artplayer.CONTEXTMENU = false;
 
 var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
-});

NOTICE_TIME

The display duration of the notification message, in milliseconds, defaults to 2000

`,3),E=i("div",{className:"run-code"},"▶ Run Code",-1),d=s(`
js
Artplayer.NOTICE_TIME = 5000;
+});

NOTICE_TIME

The display duration of the notification message, in milliseconds, defaults to 2000

`,3),c=i("div",{className:"run-code"},"▶ Run Code",-1),o=s(`
js
Artplayer.NOTICE_TIME = 5000;
 
 var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
-});

SETTING_WIDTH

The default width of the settings panel, in pixels, defaults to 250

`,3),c=i("div",{className:"run-code"},"▶ Run Code",-1),o=s(`
js
Artplayer.SETTING_WIDTH = 300;
+});

SETTING_WIDTH

The default width of the settings panel, in pixels, defaults to 250

`,3),g=i("div",{className:"run-code"},"▶ Run Code",-1),y=s(`
js
Artplayer.SETTING_WIDTH = 300;
 
 var art = new Artplayer({
     container: '.artplayer-app',
@@ -23,7 +23,7 @@ import{_ as a,c as n,o as l,a7 as s,j as i}from"./chunks/framework.DXlgpajS.js";
     flip: true,
     playbackRate: true,
     aspectRatio: true,
-});

SETTING_ITEM_WIDTH

Set the default width of the settings items in the panel, in pixels, the default is 200.

`,3),g=i("div",{className:"run-code"},"▶ Run Code",-1),y=s(`
js
Artplayer.SETTING_ITEM_WIDTH = 300;
+});

SETTING_ITEM_WIDTH

Set the default width of the settings items in the panel, in pixels, the default is 200.

`,3),b=i("div",{className:"run-code"},"▶ Run Code",-1),u=s(`
js
Artplayer.SETTING_ITEM_WIDTH = 300;
 
 var art = new Artplayer({
     container: '.artplayer-app',
@@ -33,7 +33,7 @@ import{_ as a,c as n,o as l,a7 as s,j as i}from"./chunks/framework.DXlgpajS.js";
     flip: true,
     playbackRate: true,
     aspectRatio: true,
-});

SETTING_ITEM_HEIGHT

Set the default height of the settings items in the panel, in pixels, the default is 35.

`,3),b=i("div",{className:"run-code"},"▶ Run Code",-1),u=s(`
js
Artplayer.SETTING_ITEM_HEIGHT = 40;
+});

SETTING_ITEM_HEIGHT

Set the default height of the settings items in the panel, in pixels, the default is 35.

`,3),F=i("div",{className:"run-code"},"▶ Run Code",-1),_=s(`
js
Artplayer.SETTING_ITEM_HEIGHT = 40;
 
 var art = new Artplayer({
     container: '.artplayer-app',
@@ -43,7 +43,7 @@ import{_ as a,c as n,o as l,a7 as s,j as i}from"./chunks/framework.DXlgpajS.js";
     flip: true,
     playbackRate: true,
     aspectRatio: true,
-});

RESIZE_TIME

Throttle time for the resize event, in milliseconds, defaults to 200

`,3),F=i("div",{className:"run-code"},"▶ Run Code",-1),_=s(`
js
Artplayer.RESIZE_TIME = 500;
+});

RESIZE_TIME

Throttle time for the resize event, in milliseconds, defaults to 200

`,3),m=i("div",{className:"run-code"},"▶ Run Code",-1),C=s(`
js
Artplayer.RESIZE_TIME = 500;
 
 var art = new Artplayer({
     container: '.artplayer-app',
@@ -52,7 +52,7 @@ import{_ as a,c as n,o as l,a7 as s,j as i}from"./chunks/framework.DXlgpajS.js";
 
 art.on('resize', () => {
     console.log('resize');
-});

SCROLL_TIME

Throttle time for the scroll event, in milliseconds, defaults to 200

`,3),m=i("div",{className:"run-code"},"▶ Run Code",-1),C=s(`
js
Artplayer.SCROLL_TIME = 500;
+});

SCROLL_TIME

Throttle time for the scroll event, in milliseconds, defaults to 200

`,3),A=i("div",{className:"run-code"},"▶ Run Code",-1),v=s(`
js
Artplayer.SCROLL_TIME = 500;
 
 var art = new Artplayer({
     container: '.artplayer-app',
@@ -61,7 +61,7 @@ import{_ as a,c as n,o as l,a7 as s,j as i}from"./chunks/framework.DXlgpajS.js";
 
 art.on('scroll', () => {
     console.log('scroll');
-});

SCROLL_GAP

The boundary tolerance distance for the view event, in pixels, default is 50

`,3),A=i("div",{className:"run-code"},"▶ Run Code",-1),v=s(`
js
Artplayer.SCROLL_GAP = 100;
+});

SCROLL_GAP

The boundary tolerance distance for the view event, in pixels, default is 50

`,3),T=i("div",{className:"run-code"},"▶ Run Code",-1),B=s(`
js
Artplayer.SCROLL_GAP = 100;
 
 var art = new Artplayer({
     container: '.artplayer-app',
@@ -70,40 +70,40 @@ import{_ as a,c as n,o as l,a7 as s,j as i}from"./chunks/framework.DXlgpajS.js";
 
 art.on('scroll', () => {
     console.log('scroll');
-});

AUTO_PLAYBACK_MAX

The maximum number of records for the automatic playback feature, default is 10

`,3),T=i("div",{className:"run-code"},"▶ Run Code",-1),B=s(`
js
Artplayer.AUTO_PLAYBACK_MAX = 20;
+});

AUTO_PLAYBACK_MAX

The maximum number of records for the automatic playback feature, default is 10

`,3),D=i("div",{className:"run-code"},"▶ Run Code",-1),I=s(`
js
Artplayer.AUTO_PLAYBACK_MAX = 20;
 
 var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
     autoPlayback: true,
-});

AUTO_PLAYBACK_MIN

The minimum duration for the auto playback feature, in seconds, with a default of 5.

`,3),D=i("div",{className:"run-code"},"▶ Run Code",-1),I=s(`
js
Artplayer.AUTO_PLAYBACK_MIN = 10;
+});

AUTO_PLAYBACK_MIN

The minimum duration for the auto playback feature, in seconds, with a default of 5.

`,3),S=i("div",{className:"run-code"},"▶ Run Code",-1),f=s(`
js
Artplayer.AUTO_PLAYBACK_MIN = 10;
 
 var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
     autoPlayback: true,
-});

AUTO_PLAYBACK_TIMEOUT

The delay duration for hiding the auto playback feature, in milliseconds, with a default of 3000.

`,3),f=i("div",{className:"run-code"},"▶ Run Code",-1),S=s(`
js
Artplayer.AUTO_PLAYBACK_TIMEOUT = 5000;
+});

AUTO_PLAYBACK_TIMEOUT

The delay duration for hiding the auto playback feature, in milliseconds, with a default of 3000.

`,3),P=i("div",{className:"run-code"},"▶ Run Code",-1),R=s(`
js
Artplayer.AUTO_PLAYBACK_TIMEOUT = 5000;
 
 var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
     autoPlayback: true,
-});

RECONNECT_TIME_MAX

The maximum number of automatic reconnection attempts when a connection error occurs, default is 5

`,3),P=i("div",{className:"run-code"},"▶ Run Code",-1),R=s(`
js
Artplayer.RECONNECT_TIME_MAX = 10;
+});

RECONNECT_TIME_MAX

The maximum number of automatic reconnection attempts when a connection error occurs, default is 5

`,3),N=i("div",{className:"run-code"},"▶ Run Code",-1),w=s(`
js
Artplayer.RECONNECT_TIME_MAX = 10;
 
 var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/404.mp4',
-});

RECONNECT_SLEEP_TIME

The delay time for the automatic reconnection attempt when a connection error occurs, in milliseconds, default is 1000

`,3),N=i("div",{className:"run-code"},"▶ Run Code",-1),w=s(`
js
Artplayer.RECONNECT_SLEEP_TIME = 3000;
+});

RECONNECT_SLEEP_TIME

The delay time for the automatic reconnection attempt when a connection error occurs, in milliseconds, default is 1000

`,3),O=i("div",{className:"run-code"},"▶ Run Code",-1),x=s(`
js
Artplayer.RECONNECT_SLEEP_TIME = 3000;
 
 var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/404.mp4',
-});

CONTROL_HIDE_TIME

...

Auto-hide delay time for the bottom control bar, measured in milliseconds, default is 3000

`,4),O=i("div",{className:"run-code"},"▶ Run Code",-1),x=s(`
js
Artplayer.CONTROL_HIDE_TIME = 5000;
+});

CONTROL_HIDE_TIME

...

Auto-hide delay time for the bottom control bar, measured in milliseconds, default is 3000

`,4),L=i("div",{className:"run-code"},"▶ Run Code",-1),V=s(`
js
Artplayer.CONTROL_HIDE_TIME = 5000;
 
 var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
-});

DBCLICK_TIME

Double-click event delay time, measured in milliseconds, default is 300

`,3),L=i("div",{className:"run-code"},"▶ Run Code",-1),V=s(`
js
Artplayer.DBCLICK_TIME = 500;
+});

DBCLICK_TIME

Double-click event delay time, measured in milliseconds, default is 300

`,3),j=i("div",{className:"run-code"},"▶ Run Code",-1),q=s(`
js
Artplayer.DBCLICK_TIME = 500;
 
 var art = new Artplayer({
     container: '.artplayer-app',
@@ -112,67 +112,67 @@ import{_ as a,c as n,o as l,a7 as s,j as i}from"./chunks/framework.DXlgpajS.js";
 
 art.on('dblclick', () => {
     console.log('dblclick');
-});

DBCLICK_FULLSCREEN

On desktop, whether to switch to fullscreen on double click, default is true

`,3),j=i("div",{className:"run-code"},"▶ Run Code",-1),q=s(`
js
Artplayer.DBCLICK_FULLSCREEN = false;
+});

DBCLICK_FULLSCREEN

On desktop, whether to switch to fullscreen on double click, default is true

`,3),M=i("div",{className:"run-code"},"▶ Run Code",-1),U=s(`
js
Artplayer.DBCLICK_FULLSCREEN = false;
 
 var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
-});

MOBILE_DBCLICK_PLAY

On mobile, whether to toggle play/pause on double click, default is true

`,3),M=i("div",{className:"run-code"},"▶ Run Code",-1),U=s(`
js
Artplayer.MOBILE_DBCLICK_PLAY = false;
+});

MOBILE_DBCLICK_PLAY

On mobile, whether to toggle play/pause on double click, default is true

`,3),K=i("div",{className:"run-code"},"▶ Run Code",-1),G=s(`
js
Artplayer.MOBILE_DBCLICK_PLAY = false;
 
 var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
-});

MOBILE_CLICK_PLAY

On mobile, whether to play/pause on single click, default is false

`,3),K=i("div",{className:"run-code"},"▶ Run Code",-1),G=s(`
js
Artplayer.MOBILE_CLICK_PLAY = true;
+});

MOBILE_CLICK_PLAY

On mobile, whether to play/pause on single click, default is false

`,3),Y=i("div",{className:"run-code"},"▶ Run Code",-1),H=s(`
js
Artplayer.MOBILE_CLICK_PLAY = true;
 
 var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
-});

On mobile devices, whether a tap toggles play/pause, defaults to false

`,2),Y=i("div",{className:"run-code"},"▶ Run Code",-1),H=s(`
js
Artplayer.MOBILE_CLICK_PLAY = true;
+});

On mobile devices, whether a tap toggles play/pause, defaults to false

`,2),W=i("div",{className:"run-code"},"▶ Run Code",-1),X=s(`
js
Artplayer.MOBILE_CLICK_PLAY = true;
 
 var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
-});

AUTO_ORIENTATION_TIME

On mobile devices, the delay time for auto-rotation, in milliseconds, defaults to 200

`,3),W=i("div",{className:"run-code"},"▶ Run Code",-1),X=s(`
js
Artplayer.AUTO_ORIENTATION_TIME = 500;
+});

AUTO_ORIENTATION_TIME

On mobile devices, the delay time for auto-rotation, in milliseconds, defaults to 200

`,3),z=i("div",{className:"run-code"},"▶ Run Code",-1),$=s(`
js
Artplayer.AUTO_ORIENTATION_TIME = 500;
 
 var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
     autoOrientation: true,
-});

INFO_LOOP_TIME

Info panel refresh time, unit in milliseconds, default is 1000

`,3),z=i("div",{className:"run-code"},"▶ Run Code",-1),$=s(`
js
Artplayer.INFO_LOOP_TIME = 2000;
+});

INFO_LOOP_TIME

Info panel refresh time, unit in milliseconds, default is 1000

`,3),Z=i("div",{className:"run-code"},"▶ Run Code",-1),J=s(`
js
Artplayer.INFO_LOOP_TIME = 2000;
 
 var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
 });
 
-art.info.show = true;

FAST_FORWARD_VALUE

On mobile, the multiplier rate of the speed when long-pressing for fast-forward, default is 3

`,3),Z=i("div",{className:"run-code"},"▶ Run Code",-1),J=s(`
js
Artplayer.FAST_FORWARD_VALUE = 5;
+art.info.show = true;

FAST_FORWARD_VALUE

On mobile, the multiplier rate of the speed when long-pressing for fast-forward, default is 3

`,3),Q=i("div",{className:"run-code"},"▶ Run Code",-1),ss=s(`
js
Artplayer.FAST_FORWARD_VALUE = 5;
 
 var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
     fastForward: true,
-});

FAST_FORWARD_TIME

The time, in milliseconds, to fast-forward when double-tapped, default is 10 On mobile, the delay time of the long-press acceleration, in milliseconds, default is 1000

`,3),Q=i("div",{className:"run-code"},"▶ Run Code",-1),ss=s(`
js
Artplayer.FAST_FORWARD_TIME = 2000;
+});

FAST_FORWARD_TIME

The time, in milliseconds, to fast-forward when double-tapped, default is 10 On mobile, the delay time of the long-press acceleration, in milliseconds, default is 1000

`,3),is=i("div",{className:"run-code"},"▶ Run Code",-1),as=s(`
js
Artplayer.FAST_FORWARD_TIME = 2000;
 
 var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
     fastForward: true,
-});

TOUCH_MOVE_RATIO

On mobile, the ratio of the speed of sliding left and right to seek, default is 0.5

`,3),is=i("div",{className:"run-code"},"▶ Run Code",-1),as=s(`
js
Artplayer.TOUCH_MOVE_RATIO = 1;
+});

TOUCH_MOVE_RATIO

On mobile, the ratio of the speed of sliding left and right to seek, default is 0.5

`,3),ns=i("div",{className:"run-code"},"▶ Run Code",-1),ls=s(`
js
Artplayer.TOUCH_MOVE_RATIO = 1;
 
 var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
-});

VOLUME_STEP

The step ratio of adjusting volume with shortcuts, default is 0.1

`,3),ns=i("div",{className:"run-code"},"▶ Run Code",-1),ls=s(`
js
Artplayer.VOLUME_STEP = 0.2;
+});

VOLUME_STEP

The step ratio of adjusting volume with shortcuts, default is 0.1

`,3),es=i("div",{className:"run-code"},"▶ Run Code",-1),ps=s(`
js
Artplayer.VOLUME_STEP = 0.2;
 
 var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
-});

SEEK_STEP

The increment by which the playback progress is adjusted via keyboard shortcuts, in seconds, the default is 5

`,3),es=i("div",{className:"run-code"},"▶ Run Code",-1),ps=s(`
js
Artplayer.SEEK_STEP = 10;
+});

SEEK_STEP

The increment by which the playback progress is adjusted via keyboard shortcuts, in seconds, the default is 5

`,3),ts=i("div",{className:"run-code"},"▶ Run Code",-1),hs=s(`
js
Artplayer.SEEK_STEP = 10;
 
 var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
-});

PLAYBACK_RATE

The list of built-in playback speeds, by default [0.5, 0.75, 1, 1.25, 1.5, 2]

`,3),ts=i("div",{className:"run-code"},"▶ Run Code",-1),hs=s(`
js
Artplayer.PLAYBACK_RATE = [0.5, 1, 2, 3, 4, 5];
+});

PLAYBACK_RATE

The list of built-in playback speeds, by default [0.5, 0.75, 1, 1.25, 1.5, 2]

`,3),ks=i("div",{className:"run-code"},"▶ Run Code",-1),rs=s(`
js
Artplayer.PLAYBACK_RATE = [0.5, 1, 2, 3, 4, 5];
 
 var art = new Artplayer({
     container: '.artplayer-app',
@@ -182,7 +182,7 @@ import{_ as a,c as n,o as l,a7 as s,j as i}from"./chunks/framework.DXlgpajS.js";
 });
 
 art.contextmenu.show = true;
-art.setting.show = true;

ASPECT_RATIO

Built-in list of video aspect ratios, default is ['default', '4:3', '16:9']

`,3),ks=i("div",{className:"run-code"},"▶ Run Code",-1),rs=s(`
js
Artplayer.ASPECT_RATIO = ['default', '1:1', '2:1', '4:3', '6:5'];
+art.setting.show = true;

ASPECT_RATIO

Built-in list of video aspect ratios, default is ['default', '4:3', '16:9']

`,3),Es=i("div",{className:"run-code"},"▶ Run Code",-1),ds=s(`
js
Artplayer.ASPECT_RATIO = ['default', '1:1', '2:1', '4:3', '6:5'];
 
 var art = new Artplayer({
     container: '.artplayer-app',
@@ -192,7 +192,7 @@ import{_ as a,c as n,o as l,a7 as s,j as i}from"./chunks/framework.DXlgpajS.js";
 });
 
 art.contextmenu.show = true;
-art.setting.show = true;

FLIP

Built-in list of video flips, defaults to ['normal', 'horizontal', 'vertical']

`,3),Es=i("div",{className:"run-code"},"▶ Run Code",-1),ds=s(`
js
Artplayer.FLIP = ['normal', 'horizontal'];
+art.setting.show = true;

FLIP

Built-in list of video flips, defaults to ['normal', 'horizontal', 'vertical']

`,3),cs=i("div",{className:"run-code"},"▶ Run Code",-1),os=s(`
js
Artplayer.FLIP = ['normal', 'horizontal'];
 
 var art = new Artplayer({
     container: '.artplayer-app',
@@ -202,21 +202,21 @@ import{_ as a,c as n,o as l,a7 as s,j as i}from"./chunks/framework.DXlgpajS.js";
 });
 
 art.contextmenu.show = true;
-art.setting.show = true;

FULLSCREEN_WEB_IN_BODY

When in web fullscreen, whether to mount the player under the body element, defaults to false

`,3),cs=i("div",{className:"run-code"},"▶ Run Code",-1),os=s(`
js
Artplayer.FULLSCREEN_WEB_IN_BODY = true;
+art.setting.show = true;

FULLSCREEN_WEB_IN_BODY

When in web fullscreen, whether to mount the player under the body element, defaults to false

`,3),gs=i("div",{className:"run-code"},"▶ Run Code",-1),ys=s(`
js
Artplayer.FULLSCREEN_WEB_IN_BODY = true;
 
 var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
     fullscreenWeb: true,
-});

LOG_VERSION

Setting whether to print the player version, the default is true

`,3),gs=i("div",{className:"run-code"},"▶ Run Code",-1),ys=s(`
js
Artplayer.LOG_VERSION = false;
+});

LOG_VERSION

Setting whether to print the player version, the default is true

`,3),bs=i("div",{className:"run-code"},"▶ Run Code",-1),us=s(`
js
Artplayer.LOG_VERSION = false;
 
 var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
-});

USE_RAF

Setting whether to use requestAnimationFrame, the default is false, currently mainly used for smooth progress bar effects

`,3),bs=i("div",{className:"run-code"},"▶ Run Code",-1),us=s(`
js
Artplayer.USE_RAF = true;
+});

USE_RAF

Setting whether to use requestAnimationFrame, the default is false, currently mainly used for smooth progress bar effects

`,3),Fs=i("div",{className:"run-code"},"▶ Run Code",-1),_s=s(`
js
Artplayer.USE_RAF = true;
 
 var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
     miniProgressBar: true,
-});
`,1),Fs=[p,t,h,k,r,E,d,c,o,g,y,b,u,F,_,m,C,A,v,T,B,D,I,f,S,P,R,N,w,O,x,L,V,j,q,M,U,K,G,Y,H,W,X,z,$,Z,J,Q,ss,is,as,ns,ls,es,ps,ts,hs,ks,rs,Es,ds,cs,os,gs,ys,bs,us];function _s(ms,Cs,As,vs,Ts,Bs){return l(),n("div",null,Fs)}const fs=a(e,[["render",_s]]);export{Is as __pageData,fs as default}; +});
`,1),ms=[p,t,h,k,r,E,d,c,o,g,y,b,u,F,_,m,C,A,v,T,B,D,I,S,f,P,R,N,w,O,x,L,V,j,q,M,U,K,G,Y,H,W,X,z,$,Z,J,Q,ss,is,as,ns,ls,es,ps,ts,hs,ks,rs,Es,ds,cs,os,gs,ys,bs,us,Fs,_s];function Cs(As,vs,Ts,Bs,Ds,Is){return l(),n("div",null,ms)}const Ps=a(e,[["render",Cs]]);export{fs as __pageData,Ps as default}; diff --git a/document/assets/en_advanced_global.md.DlSHTMOC.lean.js b/document/assets/en_advanced_global.md.CqhD0oCj.lean.js similarity index 67% rename from document/assets/en_advanced_global.md.DlSHTMOC.lean.js rename to document/assets/en_advanced_global.md.CqhD0oCj.lean.js index 5257d510f..4d3b358ea 100644 --- a/document/assets/en_advanced_global.md.DlSHTMOC.lean.js +++ b/document/assets/en_advanced_global.md.CqhD0oCj.lean.js @@ -1 +1 @@ -import{_ as a,c as n,o as l,a7 as s,j as i}from"./chunks/framework.DXlgpajS.js";const Is=JSON.parse('{"title":"Global Attributes","description":"","frontmatter":{},"headers":[],"relativePath":"en/advanced/global.md","filePath":"en/advanced/global.md","lastUpdated":1700976201000}'),e={name:"en/advanced/global.md"},p=s("",4),t=i("div",{className:"run-code"},"▶ Run Code",-1),h=s("",3),k=i("div",{className:"run-code"},"▶ Run Code",-1),r=s("",3),E=i("div",{className:"run-code"},"▶ Run Code",-1),d=s("",3),c=i("div",{className:"run-code"},"▶ Run Code",-1),o=s("",3),g=i("div",{className:"run-code"},"▶ Run Code",-1),y=s("",3),b=i("div",{className:"run-code"},"▶ Run Code",-1),u=s("",3),F=i("div",{className:"run-code"},"▶ Run Code",-1),_=s("",3),m=i("div",{className:"run-code"},"▶ Run Code",-1),C=s("",3),A=i("div",{className:"run-code"},"▶ Run Code",-1),v=s("",3),T=i("div",{className:"run-code"},"▶ Run Code",-1),B=s("",3),D=i("div",{className:"run-code"},"▶ Run Code",-1),I=s("",3),f=i("div",{className:"run-code"},"▶ Run Code",-1),S=s("",3),P=i("div",{className:"run-code"},"▶ Run Code",-1),R=s("",3),N=i("div",{className:"run-code"},"▶ Run Code",-1),w=s("",4),O=i("div",{className:"run-code"},"▶ Run Code",-1),x=s("",3),L=i("div",{className:"run-code"},"▶ Run Code",-1),V=s("",3),j=i("div",{className:"run-code"},"▶ Run Code",-1),q=s("",3),M=i("div",{className:"run-code"},"▶ Run Code",-1),U=s("",3),K=i("div",{className:"run-code"},"▶ Run Code",-1),G=s("",2),Y=i("div",{className:"run-code"},"▶ Run Code",-1),H=s("",3),W=i("div",{className:"run-code"},"▶ Run Code",-1),X=s("",3),z=i("div",{className:"run-code"},"▶ Run Code",-1),$=s("",3),Z=i("div",{className:"run-code"},"▶ Run Code",-1),J=s("",3),Q=i("div",{className:"run-code"},"▶ Run Code",-1),ss=s("",3),is=i("div",{className:"run-code"},"▶ Run Code",-1),as=s("",3),ns=i("div",{className:"run-code"},"▶ Run Code",-1),ls=s("",3),es=i("div",{className:"run-code"},"▶ Run Code",-1),ps=s("",3),ts=i("div",{className:"run-code"},"▶ Run Code",-1),hs=s("",3),ks=i("div",{className:"run-code"},"▶ Run Code",-1),rs=s("",3),Es=i("div",{className:"run-code"},"▶ Run Code",-1),ds=s("",3),cs=i("div",{className:"run-code"},"▶ Run Code",-1),os=s("",3),gs=i("div",{className:"run-code"},"▶ Run Code",-1),ys=s("",3),bs=i("div",{className:"run-code"},"▶ Run Code",-1),us=s("",1),Fs=[p,t,h,k,r,E,d,c,o,g,y,b,u,F,_,m,C,A,v,T,B,D,I,f,S,P,R,N,w,O,x,L,V,j,q,M,U,K,G,Y,H,W,X,z,$,Z,J,Q,ss,is,as,ns,ls,es,ps,ts,hs,ks,rs,Es,ds,cs,os,gs,ys,bs,us];function _s(ms,Cs,As,vs,Ts,Bs){return l(),n("div",null,Fs)}const fs=a(e,[["render",_s]]);export{Is as __pageData,fs as default}; +import{_ as a,c as n,o as l,a7 as s,j as i}from"./chunks/framework.DHbvjPBJ.js";const fs=JSON.parse('{"title":"Global Attributes","description":"","frontmatter":{},"headers":[],"relativePath":"en/advanced/global.md","filePath":"en/advanced/global.md","lastUpdated":1724256543000}'),e={name:"en/advanced/global.md"},p=s("",4),t=i("div",{className:"run-code"},"▶ Run Code",-1),h=s("",3),k=i("div",{className:"run-code"},"▶ Run Code",-1),r=s("",3),E=i("div",{className:"run-code"},"▶ Run Code",-1),d=s("",3),c=i("div",{className:"run-code"},"▶ Run Code",-1),o=s("",3),g=i("div",{className:"run-code"},"▶ Run Code",-1),y=s("",3),b=i("div",{className:"run-code"},"▶ Run Code",-1),u=s("",3),F=i("div",{className:"run-code"},"▶ Run Code",-1),_=s("",3),m=i("div",{className:"run-code"},"▶ Run Code",-1),C=s("",3),A=i("div",{className:"run-code"},"▶ Run Code",-1),v=s("",3),T=i("div",{className:"run-code"},"▶ Run Code",-1),B=s("",3),D=i("div",{className:"run-code"},"▶ Run Code",-1),I=s("",3),S=i("div",{className:"run-code"},"▶ Run Code",-1),f=s("",3),P=i("div",{className:"run-code"},"▶ Run Code",-1),R=s("",3),N=i("div",{className:"run-code"},"▶ Run Code",-1),w=s("",3),O=i("div",{className:"run-code"},"▶ Run Code",-1),x=s("",4),L=i("div",{className:"run-code"},"▶ Run Code",-1),V=s("",3),j=i("div",{className:"run-code"},"▶ Run Code",-1),q=s("",3),M=i("div",{className:"run-code"},"▶ Run Code",-1),U=s("",3),K=i("div",{className:"run-code"},"▶ Run Code",-1),G=s("",3),Y=i("div",{className:"run-code"},"▶ Run Code",-1),H=s("",2),W=i("div",{className:"run-code"},"▶ Run Code",-1),X=s("",3),z=i("div",{className:"run-code"},"▶ Run Code",-1),$=s("",3),Z=i("div",{className:"run-code"},"▶ Run Code",-1),J=s("",3),Q=i("div",{className:"run-code"},"▶ Run Code",-1),ss=s("",3),is=i("div",{className:"run-code"},"▶ Run Code",-1),as=s("",3),ns=i("div",{className:"run-code"},"▶ Run Code",-1),ls=s("",3),es=i("div",{className:"run-code"},"▶ Run Code",-1),ps=s("",3),ts=i("div",{className:"run-code"},"▶ Run Code",-1),hs=s("",3),ks=i("div",{className:"run-code"},"▶ Run Code",-1),rs=s("",3),Es=i("div",{className:"run-code"},"▶ Run Code",-1),ds=s("",3),cs=i("div",{className:"run-code"},"▶ Run Code",-1),os=s("",3),gs=i("div",{className:"run-code"},"▶ Run Code",-1),ys=s("",3),bs=i("div",{className:"run-code"},"▶ Run Code",-1),us=s("",3),Fs=i("div",{className:"run-code"},"▶ Run Code",-1),_s=s("",1),ms=[p,t,h,k,r,E,d,c,o,g,y,b,u,F,_,m,C,A,v,T,B,D,I,S,f,P,R,N,w,O,x,L,V,j,q,M,U,K,G,Y,H,W,X,z,$,Z,J,Q,ss,is,as,ns,ls,es,ps,ts,hs,ks,rs,Es,ds,cs,os,gs,ys,bs,us,Fs,_s];function Cs(As,vs,Ts,Bs,Ds,Is){return l(),n("div",null,ms)}const Ps=a(e,[["render",Cs]]);export{fs as __pageData,Ps as default}; diff --git a/document/assets/en_advanced_plugin.md.xm12vlBU.js b/document/assets/en_advanced_plugin.md.FEKZicGn.js similarity index 99% rename from document/assets/en_advanced_plugin.md.xm12vlBU.js rename to document/assets/en_advanced_plugin.md.FEKZicGn.js index eb17c49ca..c169cfb33 100644 --- a/document/assets/en_advanced_plugin.md.xm12vlBU.js +++ b/document/assets/en_advanced_plugin.md.FEKZicGn.js @@ -1,4 +1,4 @@ -import{_ as n,c as l,o as p,j as s,a as i,a7 as a}from"./chunks/framework.DXlgpajS.js";const _=JSON.parse('{"title":"Writing Plugins","description":"","frontmatter":{},"headers":[],"relativePath":"en/advanced/plugin.md","filePath":"en/advanced/plugin.md","lastUpdated":1700976201000}'),h={name:"en/advanced/plugin.md"},e=s("h1",{id:"writing-plugins",tabindex:"-1"},[i("Writing Plugins "),s("a",{class:"header-anchor",href:"#writing-plugins","aria-label":'Permalink to "Writing Plugins"'},"​")],-1),k=s("p",null,[i("Once you know the player's "),s("code",null,"properties"),i(", "),s("code",null,"methods"),i(", and "),s("code",null,"events"),i(", writing plugins is very simple.")],-1),t=s("p",null,"You can load the plugin functions when instantiated.",-1),E=s("div",{className:"run-code"},"▶ Run Code",-1),r=a(`
js
function myPlugin(art) {
+import{_ as n,c as l,o as p,j as s,a as i,a7 as a}from"./chunks/framework.DHbvjPBJ.js";const _=JSON.parse('{"title":"Writing Plugins","description":"","frontmatter":{},"headers":[],"relativePath":"en/advanced/plugin.md","filePath":"en/advanced/plugin.md","lastUpdated":1724256543000}'),h={name:"en/advanced/plugin.md"},e=s("h1",{id:"writing-plugins",tabindex:"-1"},[i("Writing Plugins "),s("a",{class:"header-anchor",href:"#writing-plugins","aria-label":'Permalink to "Writing Plugins"'},"​")],-1),k=s("p",null,[i("Once you know the player's "),s("code",null,"properties"),i(", "),s("code",null,"methods"),i(", and "),s("code",null,"events"),i(", writing plugins is very simple.")],-1),t=s("p",null,"You can load the plugin functions when instantiated.",-1),E=s("div",{className:"run-code"},"▶ Run Code",-1),r=a(`
js
function myPlugin(art) {
     console.info(art);
     return {
         name: 'myPlugin',
diff --git a/document/assets/en_advanced_plugin.md.xm12vlBU.lean.js b/document/assets/en_advanced_plugin.md.FEKZicGn.lean.js
similarity index 87%
rename from document/assets/en_advanced_plugin.md.xm12vlBU.lean.js
rename to document/assets/en_advanced_plugin.md.FEKZicGn.lean.js
index 38565df32..669dafc35 100644
--- a/document/assets/en_advanced_plugin.md.xm12vlBU.lean.js
+++ b/document/assets/en_advanced_plugin.md.FEKZicGn.lean.js
@@ -1 +1 @@
-import{_ as n,c as l,o as p,j as s,a as i,a7 as a}from"./chunks/framework.DXlgpajS.js";const _=JSON.parse('{"title":"Writing Plugins","description":"","frontmatter":{},"headers":[],"relativePath":"en/advanced/plugin.md","filePath":"en/advanced/plugin.md","lastUpdated":1700976201000}'),h={name:"en/advanced/plugin.md"},e=s("h1",{id:"writing-plugins",tabindex:"-1"},[i("Writing Plugins "),s("a",{class:"header-anchor",href:"#writing-plugins","aria-label":'Permalink to "Writing Plugins"'},"​")],-1),k=s("p",null,[i("Once you know the player's "),s("code",null,"properties"),i(", "),s("code",null,"methods"),i(", and "),s("code",null,"events"),i(", writing plugins is very simple.")],-1),t=s("p",null,"You can load the plugin functions when instantiated.",-1),E=s("div",{className:"run-code"},"▶ Run Code",-1),r=a("",3),d=s("div",{className:"run-code"},"▶ Run Code",-1),g=a("",3),c=[e,k,t,E,r,d,g];function y(b,u,F,o,m,C){return p(),l("div",null,c)}const A=n(h,[["render",y]]);export{_ as __pageData,A as default};
+import{_ as n,c as l,o as p,j as s,a as i,a7 as a}from"./chunks/framework.DHbvjPBJ.js";const _=JSON.parse('{"title":"Writing Plugins","description":"","frontmatter":{},"headers":[],"relativePath":"en/advanced/plugin.md","filePath":"en/advanced/plugin.md","lastUpdated":1724256543000}'),h={name:"en/advanced/plugin.md"},e=s("h1",{id:"writing-plugins",tabindex:"-1"},[i("Writing Plugins "),s("a",{class:"header-anchor",href:"#writing-plugins","aria-label":'Permalink to "Writing Plugins"'},"​")],-1),k=s("p",null,[i("Once you know the player's "),s("code",null,"properties"),i(", "),s("code",null,"methods"),i(", and "),s("code",null,"events"),i(", writing plugins is very simple.")],-1),t=s("p",null,"You can load the plugin functions when instantiated.",-1),E=s("div",{className:"run-code"},"▶ Run Code",-1),r=a("",3),d=s("div",{className:"run-code"},"▶ Run Code",-1),g=a("",3),c=[e,k,t,E,r,d,g];function y(b,u,F,o,m,C){return p(),l("div",null,c)}const A=n(h,[["render",y]]);export{_ as __pageData,A as default};
diff --git a/document/assets/en_advanced_property.md.B6mgqp4Q.js b/document/assets/en_advanced_property.md.BgeqHkZ6.js
similarity index 96%
rename from document/assets/en_advanced_property.md.B6mgqp4Q.js
rename to document/assets/en_advanced_property.md.BgeqHkZ6.js
index 86b77c97f..ead8c16dd 100644
--- a/document/assets/en_advanced_property.md.B6mgqp4Q.js
+++ b/document/assets/en_advanced_property.md.BgeqHkZ6.js
@@ -1,4 +1,4 @@
-import{_ as a,c as n,o as l,a7 as s,j as i}from"./chunks/framework.DXlgpajS.js";const Ls=JSON.parse('{"title":"Instance Properties","description":"","frontmatter":{},"headers":[],"relativePath":"en/advanced/property.md","filePath":"en/advanced/property.md","lastUpdated":1700976201000}'),e={name:"en/advanced/property.md"},p=s('

Instance Properties

Here, instance properties refer to the primary properties mounted on the instance, which are quite commonly used.

play

  • Type: Function

Play video

',5),h=i("div",{className:"run-code"},"▶ Run Code",-1),t=s(`
js

+import{_ as a,c as n,o as l,a7 as s,j as i}from"./chunks/framework.DHbvjPBJ.js";const $s=JSON.parse('{"title":"Instance Properties","description":"","frontmatter":{},"headers":[],"relativePath":"en/advanced/property.md","filePath":"en/advanced/property.md","lastUpdated":1724256543000}'),e={name:"en/advanced/property.md"},p=s('

Instance Properties

Here, instance properties refer to the primary properties mounted on the instance, which are quite commonly used.

play

  • Type: Function

Play video

',5),h=i("div",{className:"run-code"},"▶ Run Code",-1),t=s(`
js

 var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
@@ -45,7 +45,7 @@ import{_ as a,c as n,o as l,a7 as s,j as i}from"./chunks/framework.DXlgpajS.js";
 
 art.on('ready', () => {
     art.seek = 5;
-});

forward

  • Type: Setter
  • Parameter: Number

Fast forward the video time, in seconds.

`,4),u=i("div",{className:"run-code"},"▶ Run Code",-1),b=s(`
js
var art = new Artplayer({
+});

forward

  • Type: Setter
  • Parameter: Number

Fast forward the video time, in seconds.

`,4),b=i("div",{className:"run-code"},"▶ Run Code",-1),u=s(`
js
var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
 });
@@ -134,13 +134,13 @@ import{_ as a,c as n,o as l,a7 as s,j as i}from"./chunks/framework.DXlgpajS.js";
 
 art.on('ready', () => {
     console.info(art.duration);
-});

Note

Some videos do not have a duration, such as videos that are being live streamed or videos that have not been fully decoded, in which case the obtained duration will be 0

screenshot

  • Type: Function

Download a screenshot of the current video frame

`,5),V=i("div",{className:"run-code"},"▶ Run Code",-1),j=s(`
js
var art = new Artplayer({
+});

Note

Some videos do not have a duration, such as videos that are being live streamed or videos that have not been fully decoded, in which case the obtained duration will be 0

screenshot

  • Type: Function

Download a screenshot of the current video frame, optional parameter is the screenshot name

`,5),V=i("div",{className:"run-code"},"▶ Run Code",-1),j=s(`
js
var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
 });
 
 art.on('ready', () => {
-    art.screenshot();
+    art.screenshot('your-name');
 });

getDataURL

  • Type: Function

Gets the base64 address of the screenshot of the current video frame, which returns a Promise.

`,4),G=i("div",{className:"run-code"},"▶ Run Code",-1),z=s(`
js
var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
@@ -157,7 +157,7 @@ import{_ as a,c as n,o as l,a7 as s,j as i}from"./chunks/framework.DXlgpajS.js";
 art.on('ready', async () => {
     const url = await art.getBlobUrl();
     console.info(url);
-});

fullscreen

  • Type: Setter/Getter
  • Parameter: Boolean

Set and get the player window fullscreen

`,4),H=i("div",{className:"run-code"},"▶ Run Code",-1),L=s(`
js
var art = new Artplayer({
+});

fullscreen

  • Type: Setter/Getter
  • Parameter: Boolean

Set and get the player window fullscreen

`,4),H=i("div",{className:"run-code"},"▶ Run Code",-1),O=s(`
js
var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
     controls: [
@@ -169,7 +169,7 @@ import{_ as a,c as n,o as l,a7 as s,j as i}from"./chunks/framework.DXlgpajS.js";
             },
         },
     ],
-});

Note

Due to browser security mechanisms, before triggering the window to fullscreen, the page must have had an interaction (e.g. user clicked on the page).

fullscreenWeb

  • Type: Setter/Getter
  • Parameter: Boolean

Set and get the player web page full screen

`,5),O=i("div",{className:"run-code"},"▶ Run Code",-1),$=s(`
js
var art = new Artplayer({
+});

Note

Due to browser security mechanisms, before triggering the window to fullscreen, the page must have had an interaction (e.g. user clicked on the page).

fullscreenWeb

  • Type: Setter/Getter
  • Parameter: Boolean

Set and get the player web page full screen

`,5),L=i("div",{className:"run-code"},"▶ Run Code",-1),$=s(`
js
var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
     fullscreenWeb: true,
@@ -288,7 +288,7 @@ import{_ as a,c as n,o as l,a7 as s,j as i}from"./chunks/framework.DXlgpajS.js";
     console.info(art.type);
     art.type = 'm3u8';
     console.info(art.type);
-});

theme

  • Type: Setter/Getter
  • Parameter: String

Dynamically get and set the player's theme color

`,4),us=i("div",{className:"run-code"},"▶ Run Code",-1),bs=s(`
js
var art = new Artplayer({
+});

theme

  • Type: Setter/Getter
  • Parameter: String

Dynamically get and set the player's theme color

`,4),bs=i("div",{className:"run-code"},"▶ Run Code",-1),us=s(`
js
var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
 });
@@ -381,4 +381,15 @@ import{_ as a,c as n,o as l,a7 as s,j as i}from"./chunks/framework.DXlgpajS.js";
 			},
 		];
 	}, 3000);
-})
`,1),Ns=[p,h,t,k,r,E,d,c,g,o,y,u,b,F,m,_,C,v,A,B,T,D,S,P,w,f,q,x,R,N,I,V,j,G,z,U,W,H,L,O,$,J,M,Q,K,X,Y,Z,ss,is,as,ns,ls,es,ps,hs,ts,ks,rs,Es,ds,cs,gs,os,ys,us,bs,Fs,ms,_s,Cs,vs,As,Bs,Ts,Ds,Ss,Ps,ws,fs,qs,xs,Rs];function Is(Vs,js,Gs,zs,Us,Ws){return l(),n("div",null,Ns)}const Os=a(e,[["render",Is]]);export{Ls as __pageData,Os as default}; +})

thumbnails

  • Type: Setter/Getter
  • Parameter: Object

Dynamically set thumbnails

`,4),Ns=i("div",{className:"run-code"},"▶ Run Code",-1),Is=s(`
js
var art = new Artplayer({
+	container: '.artplayer-app',
+	url: '/assets/sample/video.mp4',
+});
+
+art.on('ready', () => {
+    art.thumbnails = {
+        url: '/assets/sample/thumbnails.png',
+        number: 60,
+        column: 10,
+    };
+});
`,1),Vs=[p,h,t,k,r,E,d,c,g,o,y,b,u,F,m,_,C,v,A,B,T,D,S,P,w,f,q,x,R,N,I,V,j,G,z,U,W,H,O,L,$,J,M,Q,K,X,Y,Z,ss,is,as,ns,ls,es,ps,hs,ts,ks,rs,Es,ds,cs,gs,os,ys,bs,us,Fs,ms,_s,Cs,vs,As,Bs,Ts,Ds,Ss,Ps,ws,fs,qs,xs,Rs,Ns,Is];function js(Gs,zs,Us,Ws,Hs,Os){return l(),n("div",null,Vs)}const Js=a(e,[["render",js]]);export{$s as __pageData,Js as default}; diff --git a/document/assets/en_advanced_property.md.B6mgqp4Q.lean.js b/document/assets/en_advanced_property.md.BgeqHkZ6.lean.js similarity index 75% rename from document/assets/en_advanced_property.md.B6mgqp4Q.lean.js rename to document/assets/en_advanced_property.md.BgeqHkZ6.lean.js index 1f437a10a..750fe051f 100644 --- a/document/assets/en_advanced_property.md.B6mgqp4Q.lean.js +++ b/document/assets/en_advanced_property.md.BgeqHkZ6.lean.js @@ -1 +1 @@ -import{_ as a,c as n,o as l,a7 as s,j as i}from"./chunks/framework.DXlgpajS.js";const Ls=JSON.parse('{"title":"Instance Properties","description":"","frontmatter":{},"headers":[],"relativePath":"en/advanced/property.md","filePath":"en/advanced/property.md","lastUpdated":1700976201000}'),e={name:"en/advanced/property.md"},p=s("",5),h=i("div",{className:"run-code"},"▶ Run Code",-1),t=s("",4),k=i("div",{className:"run-code"},"▶ Run Code",-1),r=s("",4),E=i("div",{className:"run-code"},"▶ Run Code",-1),d=s("",4),c=i("div",{className:"run-code"},"▶ Run Code",-1),g=s("",4),o=i("div",{className:"run-code"},"▶ Run Code",-1),y=s("",4),u=i("div",{className:"run-code"},"▶ Run Code",-1),b=s("",4),F=i("div",{className:"run-code"},"▶ Run Code",-1),m=s("",4),_=i("div",{className:"run-code"},"▶ Run Code",-1),C=s("",4),v=i("div",{className:"run-code"},"▶ Run Code",-1),A=s("",4),B=i("div",{className:"run-code"},"▶ Run Code",-1),T=s("",4),D=i("div",{className:"run-code"},"▶ Run Code",-1),S=s("",5),P=i("div",{className:"run-code"},"▶ Run Code",-1),w=s("",4),f=i("div",{className:"run-code"},"▶ Run Code",-1),q=s("",4),x=i("div",{className:"run-code"},"▶ Run Code",-1),R=s("",4),N=i("div",{className:"run-code"},"▶ Run Code",-1),I=s("",5),V=i("div",{className:"run-code"},"▶ Run Code",-1),j=s("",4),G=i("div",{className:"run-code"},"▶ Run Code",-1),z=s("",4),U=i("div",{className:"run-code"},"▶ Run Code",-1),W=s("",4),H=i("div",{className:"run-code"},"▶ Run Code",-1),L=s("",5),O=i("div",{className:"run-code"},"▶ Run Code",-1),$=s("",4),J=i("div",{className:"run-code"},"▶ Run Code",-1),M=s("",5),Q=i("div",{className:"run-code"},"▶ Run Code",-1),K=s("",4),X=i("div",{className:"run-code"},"▶ Run Code",-1),Y=s("",4),Z=i("div",{className:"run-code"},"▶ Run Code",-1),ss=s("",4),is=i("div",{className:"run-code"},"▶ Run Code",-1),as=s("",4),ns=i("div",{className:"run-code"},"▶ Run Code",-1),ls=s("",5),es=i("div",{className:"run-code"},"▶ Run Code",-1),ps=s("",3),hs=i("div",{className:"run-code"},"▶ Run Code",-1),ts=s("",4),ks=i("div",{className:"run-code"},"▶ Run Code",-1),rs=s("",4),Es=i("div",{className:"run-code"},"▶ Run Code",-1),ds=s("",5),cs=i("div",{className:"run-code"},"▶ Run Code",-1),gs=s("",4),os=i("div",{className:"run-code"},"▶ Run Code",-1),ys=s("",4),us=i("div",{className:"run-code"},"▶ Run Code",-1),bs=s("",4),Fs=i("div",{className:"run-code"},"▶ Run Code",-1),ms=s("",4),_s=i("div",{className:"run-code"},"▶ Run Code",-1),Cs=s("",4),vs=i("div",{className:"run-code"},"▶ Run Code",-1),As=s("",4),Bs=i("div",{className:"run-code"},"▶ Run Code",-1),Ts=s("",5),Ds=i("div",{className:"run-code"},"▶ Run Code",-1),Ss=s("",4),Ps=i("div",{className:"run-code"},"▶ Run Code",-1),ws=s("",4),fs=i("div",{className:"run-code"},"▶ Run Code",-1),qs=s("",4),xs=i("div",{className:"run-code"},"▶ Run Code",-1),Rs=s("",1),Ns=[p,h,t,k,r,E,d,c,g,o,y,u,b,F,m,_,C,v,A,B,T,D,S,P,w,f,q,x,R,N,I,V,j,G,z,U,W,H,L,O,$,J,M,Q,K,X,Y,Z,ss,is,as,ns,ls,es,ps,hs,ts,ks,rs,Es,ds,cs,gs,os,ys,us,bs,Fs,ms,_s,Cs,vs,As,Bs,Ts,Ds,Ss,Ps,ws,fs,qs,xs,Rs];function Is(Vs,js,Gs,zs,Us,Ws){return l(),n("div",null,Ns)}const Os=a(e,[["render",Is]]);export{Ls as __pageData,Os as default}; +import{_ as a,c as n,o as l,a7 as s,j as i}from"./chunks/framework.DHbvjPBJ.js";const $s=JSON.parse('{"title":"Instance Properties","description":"","frontmatter":{},"headers":[],"relativePath":"en/advanced/property.md","filePath":"en/advanced/property.md","lastUpdated":1724256543000}'),e={name:"en/advanced/property.md"},p=s("",5),h=i("div",{className:"run-code"},"▶ Run Code",-1),t=s("",4),k=i("div",{className:"run-code"},"▶ Run Code",-1),r=s("",4),E=i("div",{className:"run-code"},"▶ Run Code",-1),d=s("",4),c=i("div",{className:"run-code"},"▶ Run Code",-1),g=s("",4),o=i("div",{className:"run-code"},"▶ Run Code",-1),y=s("",4),b=i("div",{className:"run-code"},"▶ Run Code",-1),u=s("",4),F=i("div",{className:"run-code"},"▶ Run Code",-1),m=s("",4),_=i("div",{className:"run-code"},"▶ Run Code",-1),C=s("",4),v=i("div",{className:"run-code"},"▶ Run Code",-1),A=s("",4),B=i("div",{className:"run-code"},"▶ Run Code",-1),T=s("",4),D=i("div",{className:"run-code"},"▶ Run Code",-1),S=s("",5),P=i("div",{className:"run-code"},"▶ Run Code",-1),w=s("",4),f=i("div",{className:"run-code"},"▶ Run Code",-1),q=s("",4),x=i("div",{className:"run-code"},"▶ Run Code",-1),R=s("",4),N=i("div",{className:"run-code"},"▶ Run Code",-1),I=s("",5),V=i("div",{className:"run-code"},"▶ Run Code",-1),j=s("",4),G=i("div",{className:"run-code"},"▶ Run Code",-1),z=s("",4),U=i("div",{className:"run-code"},"▶ Run Code",-1),W=s("",4),H=i("div",{className:"run-code"},"▶ Run Code",-1),O=s("",5),L=i("div",{className:"run-code"},"▶ Run Code",-1),$=s("",4),J=i("div",{className:"run-code"},"▶ Run Code",-1),M=s("",5),Q=i("div",{className:"run-code"},"▶ Run Code",-1),K=s("",4),X=i("div",{className:"run-code"},"▶ Run Code",-1),Y=s("",4),Z=i("div",{className:"run-code"},"▶ Run Code",-1),ss=s("",4),is=i("div",{className:"run-code"},"▶ Run Code",-1),as=s("",4),ns=i("div",{className:"run-code"},"▶ Run Code",-1),ls=s("",5),es=i("div",{className:"run-code"},"▶ Run Code",-1),ps=s("",3),hs=i("div",{className:"run-code"},"▶ Run Code",-1),ts=s("",4),ks=i("div",{className:"run-code"},"▶ Run Code",-1),rs=s("",4),Es=i("div",{className:"run-code"},"▶ Run Code",-1),ds=s("",5),cs=i("div",{className:"run-code"},"▶ Run Code",-1),gs=s("",4),os=i("div",{className:"run-code"},"▶ Run Code",-1),ys=s("",4),bs=i("div",{className:"run-code"},"▶ Run Code",-1),us=s("",4),Fs=i("div",{className:"run-code"},"▶ Run Code",-1),ms=s("",4),_s=i("div",{className:"run-code"},"▶ Run Code",-1),Cs=s("",4),vs=i("div",{className:"run-code"},"▶ Run Code",-1),As=s("",4),Bs=i("div",{className:"run-code"},"▶ Run Code",-1),Ts=s("",5),Ds=i("div",{className:"run-code"},"▶ Run Code",-1),Ss=s("",4),Ps=i("div",{className:"run-code"},"▶ Run Code",-1),ws=s("",4),fs=i("div",{className:"run-code"},"▶ Run Code",-1),qs=s("",4),xs=i("div",{className:"run-code"},"▶ Run Code",-1),Rs=s("",4),Ns=i("div",{className:"run-code"},"▶ Run Code",-1),Is=s("",1),Vs=[p,h,t,k,r,E,d,c,g,o,y,b,u,F,m,_,C,v,A,B,T,D,S,P,w,f,q,x,R,N,I,V,j,G,z,U,W,H,O,L,$,J,M,Q,K,X,Y,Z,ss,is,as,ns,ls,es,ps,hs,ts,ks,rs,Es,ds,cs,gs,os,ys,bs,us,Fs,ms,_s,Cs,vs,As,Bs,Ts,Ds,Ss,Ps,ws,fs,qs,xs,Rs,Ns,Is];function js(Gs,zs,Us,Ws,Hs,Os){return l(),n("div",null,Vs)}const Js=a(e,[["render",js]]);export{$s as __pageData,Js as default}; diff --git a/document/assets/en_component_contextmenu.md.uSIzNo9m.js b/document/assets/en_component_contextmenu.md.DKJYyZz3.js similarity index 92% rename from document/assets/en_component_contextmenu.md.uSIzNo9m.js rename to document/assets/en_component_contextmenu.md.DKJYyZz3.js index 928707827..c120eb929 100644 --- a/document/assets/en_component_contextmenu.md.uSIzNo9m.js +++ b/document/assets/en_component_contextmenu.md.DKJYyZz3.js @@ -1,4 +1,4 @@ -import{_ as a,c as n,o as l,a7 as s,j as i}from"./chunks/framework.DXlgpajS.js";const B=JSON.parse('{"title":"Context Menu","description":"","frontmatter":{},"headers":[],"relativePath":"en/component/contextmenu.md","filePath":"en/component/contextmenu.md","lastUpdated":1700976201000}'),e={name:"en/component/contextmenu.md"},p=s('

Context Menu

Configuration

PropertyTypeDescription
disableBooleanWhether to disable the component
nameStringUnique name of the component, used for marking the class name
indexNumberComponent index, used for display priority
htmlString, ElementThe DOM element of the component
styleObjectStyle object for the component
clickFunctionClick event for the component
mountedFunctionTriggered after the component is mounted
tooltipStringTooltip text for the component

Creation

',4),t=i("div",{className:"run-code"},"▶ Run Code",-1),h=s(`
js
var art = new Artplayer({
+import{_ as a,c as n,o as l,a7 as s,j as i}from"./chunks/framework.DHbvjPBJ.js";const B=JSON.parse('{"title":"Context Menu","description":"","frontmatter":{},"headers":[],"relativePath":"en/component/contextmenu.md","filePath":"en/component/contextmenu.md","lastUpdated":1724256543000}'),e={name:"en/component/contextmenu.md"},p=s('

Context Menu

Configuration

PropertyTypeDescription
disableBooleanWhether to disable the component
nameStringUnique name of the component, used for marking the class name
indexNumberComponent index, used for display priority
htmlString, ElementThe DOM element of the component
styleObjectStyle object for the component
clickFunctionClick event for the component
mountedFunctionTriggered after the component is mounted
tooltipStringTooltip text for the component

Creation

',4),t=i("div",{className:"run-code"},"▶ Run Code",-1),h=s(`
js
var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
     contextmenu: [
diff --git a/document/assets/en_component_contextmenu.md.uSIzNo9m.lean.js b/document/assets/en_component_contextmenu.md.DKJYyZz3.lean.js
similarity index 82%
rename from document/assets/en_component_contextmenu.md.uSIzNo9m.lean.js
rename to document/assets/en_component_contextmenu.md.DKJYyZz3.lean.js
index bbc1d48af..aab6dbd45 100644
--- a/document/assets/en_component_contextmenu.md.uSIzNo9m.lean.js
+++ b/document/assets/en_component_contextmenu.md.DKJYyZz3.lean.js
@@ -1 +1 @@
-import{_ as a,c as n,o as l,a7 as s,j as i}from"./chunks/framework.DXlgpajS.js";const B=JSON.parse('{"title":"Context Menu","description":"","frontmatter":{},"headers":[],"relativePath":"en/component/contextmenu.md","filePath":"en/component/contextmenu.md","lastUpdated":1700976201000}'),e={name:"en/component/contextmenu.md"},p=s("",4),t=i("div",{className:"run-code"},"▶ Run Code",-1),h=s("",2),k=i("div",{className:"run-code"},"▶ Run Code",-1),r=s("",2),E=i("div",{className:"run-code"},"▶ Run Code",-1),d=s("",2),c=i("div",{className:"run-code"},"▶ Run Code",-1),g=s("",1),o=[p,t,h,k,r,E,d,c,g];function y(u,b,m,F,C,_){return l(),n("div",null,o)}const D=a(e,[["render",y]]);export{B as __pageData,D as default};
+import{_ as a,c as n,o as l,a7 as s,j as i}from"./chunks/framework.DHbvjPBJ.js";const B=JSON.parse('{"title":"Context Menu","description":"","frontmatter":{},"headers":[],"relativePath":"en/component/contextmenu.md","filePath":"en/component/contextmenu.md","lastUpdated":1724256543000}'),e={name:"en/component/contextmenu.md"},p=s("",4),t=i("div",{className:"run-code"},"▶ Run Code",-1),h=s("",2),k=i("div",{className:"run-code"},"▶ Run Code",-1),r=s("",2),E=i("div",{className:"run-code"},"▶ Run Code",-1),d=s("",2),c=i("div",{className:"run-code"},"▶ Run Code",-1),g=s("",1),o=[p,t,h,k,r,E,d,c,g];function y(u,b,m,F,C,_){return l(),n("div",null,o)}const D=a(e,[["render",y]]);export{B as __pageData,D as default};
diff --git a/document/assets/en_component_controls.md.DgtD9xxu.js b/document/assets/en_component_controls.md.BXxe9A4F.js
similarity index 93%
rename from document/assets/en_component_controls.md.DgtD9xxu.js
rename to document/assets/en_component_controls.md.BXxe9A4F.js
index 867148ef0..ed1263047 100644
--- a/document/assets/en_component_controls.md.DgtD9xxu.js
+++ b/document/assets/en_component_controls.md.BXxe9A4F.js
@@ -1,4 +1,4 @@
-import{_ as a,c as n,o as l,a7 as s,j as i}from"./chunks/framework.DXlgpajS.js";const A=JSON.parse('{"title":"Controller","description":"","frontmatter":{},"headers":[],"relativePath":"en/component/controls.md","filePath":"en/component/controls.md","lastUpdated":1700976201000}'),p={name:"en/component/controls.md"},e=s('

Controller

Configuration

PropertyTypeDescription
disableBooleanWhether to disable the component
nameStringThe unique name of the component for class identification
indexNumberThe index of the component, used for display priority
htmlString, ElementThe component's DOM element
styleObjectThe style object for the component
clickFunctionComponent click event
mountedFunctionTriggered after the component is mounted
tooltipStringTooltip text for the component
positionStringleft and right control the position of the controller
selectorArrayAn array of objects for the selection list
onSelectFunctionFunction triggered when an item from the selection list is clicked

Creation

',4),h=i("div",{className:"run-code"},"▶ Run Code",-1),t=s(`
js
var art = new Artplayer({
+import{_ as a,c as n,o as l,a7 as s,j as i}from"./chunks/framework.DHbvjPBJ.js";const A=JSON.parse('{"title":"Controller","description":"","frontmatter":{},"headers":[],"relativePath":"en/component/controls.md","filePath":"en/component/controls.md","lastUpdated":1724256543000}'),p={name:"en/component/controls.md"},e=s('

Controller

Configuration

PropertyTypeDescription
disableBooleanWhether to disable the component
nameStringThe unique name of the component for class identification
indexNumberThe index of the component, used for display priority
htmlString, ElementThe component's DOM element
styleObjectThe style object for the component
clickFunctionComponent click event
mountedFunctionTriggered after the component is mounted
tooltipStringTooltip text for the component
positionStringleft and right control the position of the controller
selectorArrayAn array of objects for the selection list
onSelectFunctionFunction triggered when an item from the selection list is clicked

Creation

',4),h=i("div",{className:"run-code"},"▶ Run Code",-1),t=s(`
js
var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
     controls: [
diff --git a/document/assets/en_component_controls.md.DgtD9xxu.lean.js b/document/assets/en_component_controls.md.BXxe9A4F.lean.js
similarity index 82%
rename from document/assets/en_component_controls.md.DgtD9xxu.lean.js
rename to document/assets/en_component_controls.md.BXxe9A4F.lean.js
index c1a9508bb..875dec356 100644
--- a/document/assets/en_component_controls.md.DgtD9xxu.lean.js
+++ b/document/assets/en_component_controls.md.BXxe9A4F.lean.js
@@ -1 +1 @@
-import{_ as a,c as n,o as l,a7 as s,j as i}from"./chunks/framework.DXlgpajS.js";const A=JSON.parse('{"title":"Controller","description":"","frontmatter":{},"headers":[],"relativePath":"en/component/controls.md","filePath":"en/component/controls.md","lastUpdated":1700976201000}'),p={name:"en/component/controls.md"},e=s("",4),h=i("div",{className:"run-code"},"▶ Run Code",-1),t=s("",2),k=i("div",{className:"run-code"},"▶ Run Code",-1),E=s("",2),r=i("div",{className:"run-code"},"▶ Run Code",-1),d=s("",2),c=i("div",{className:"run-code"},"▶ Run Code",-1),g=s("",1),o=[e,h,t,k,E,r,d,c,g];function y(b,u,F,m,C,B){return l(),n("div",null,o)}const f=a(p,[["render",y]]);export{A as __pageData,f as default};
+import{_ as a,c as n,o as l,a7 as s,j as i}from"./chunks/framework.DHbvjPBJ.js";const A=JSON.parse('{"title":"Controller","description":"","frontmatter":{},"headers":[],"relativePath":"en/component/controls.md","filePath":"en/component/controls.md","lastUpdated":1724256543000}'),p={name:"en/component/controls.md"},e=s("",4),h=i("div",{className:"run-code"},"▶ Run Code",-1),t=s("",2),k=i("div",{className:"run-code"},"▶ Run Code",-1),E=s("",2),r=i("div",{className:"run-code"},"▶ Run Code",-1),d=s("",2),c=i("div",{className:"run-code"},"▶ Run Code",-1),g=s("",1),o=[e,h,t,k,E,r,d,c,g];function y(b,u,F,m,C,B){return l(),n("div",null,o)}const f=a(p,[["render",y]]);export{A as __pageData,f as default};
diff --git a/document/assets/en_component_layers.md.fymDx04R.js b/document/assets/en_component_layers.md.4vLDHf2F.js
similarity index 93%
rename from document/assets/en_component_layers.md.fymDx04R.js
rename to document/assets/en_component_layers.md.4vLDHf2F.js
index 22b1e5454..74c81c0b8 100644
--- a/document/assets/en_component_layers.md.fymDx04R.js
+++ b/document/assets/en_component_layers.md.4vLDHf2F.js
@@ -1,4 +1,4 @@
-import{_ as a,c as n,o as l,a7 as s,j as i}from"./chunks/framework.DXlgpajS.js";const A=JSON.parse('{"title":"Layer","description":"","frontmatter":{},"headers":[],"relativePath":"en/component/layers.md","filePath":"en/component/layers.md","lastUpdated":1700976201000}'),p={name:"en/component/layers.md"},h=s('

Layer

Configuration

PropertyTypeDescription
disableBooleanWhether to disable the component
nameStringUnique name of the component, used for marking class name
indexNumberComponent index, used for display priority
htmlString, ElementThe DOM element of the component
styleObjectStyle object for the component
clickFunctionClick event for the component
mountedFunctionTriggered after the component is mounted
tooltipStringTooltip text for the component

Creation

',4),e=i("div",{className:"run-code"},"▶ Run Code",-1),t=s(`
js
var img = '/assets/sample/layer.png';
+import{_ as a,c as n,o as l,a7 as s,j as i}from"./chunks/framework.DHbvjPBJ.js";const A=JSON.parse('{"title":"Layer","description":"","frontmatter":{},"headers":[],"relativePath":"en/component/layers.md","filePath":"en/component/layers.md","lastUpdated":1724256543000}'),p={name:"en/component/layers.md"},h=s('

Layer

Configuration

PropertyTypeDescription
disableBooleanWhether to disable the component
nameStringUnique name of the component, used for marking class name
indexNumberComponent index, used for display priority
htmlString, ElementThe DOM element of the component
styleObjectStyle object for the component
clickFunctionClick event for the component
mountedFunctionTriggered after the component is mounted
tooltipStringTooltip text for the component

Creation

',4),e=i("div",{className:"run-code"},"▶ Run Code",-1),t=s(`
js
var img = '/assets/sample/layer.png';
 var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
diff --git a/document/assets/en_component_layers.md.fymDx04R.lean.js b/document/assets/en_component_layers.md.4vLDHf2F.lean.js
similarity index 81%
rename from document/assets/en_component_layers.md.fymDx04R.lean.js
rename to document/assets/en_component_layers.md.4vLDHf2F.lean.js
index 3096edeed..6e5186671 100644
--- a/document/assets/en_component_layers.md.fymDx04R.lean.js
+++ b/document/assets/en_component_layers.md.4vLDHf2F.lean.js
@@ -1 +1 @@
-import{_ as a,c as n,o as l,a7 as s,j as i}from"./chunks/framework.DXlgpajS.js";const A=JSON.parse('{"title":"Layer","description":"","frontmatter":{},"headers":[],"relativePath":"en/component/layers.md","filePath":"en/component/layers.md","lastUpdated":1700976201000}'),p={name:"en/component/layers.md"},h=s("",4),e=i("div",{className:"run-code"},"▶ Run Code",-1),t=s("",2),k=i("div",{className:"run-code"},"▶ Run Code",-1),E=s("",2),r=i("div",{className:"run-code"},"▶ Run Code",-1),d=s("",2),g=i("div",{className:"run-code"},"▶ Run Code",-1),c=s("",1),y=[h,e,t,k,E,r,d,g,c];function o(b,F,u,m,C,_){return l(),n("div",null,y)}const D=a(p,[["render",o]]);export{A as __pageData,D as default};
+import{_ as a,c as n,o as l,a7 as s,j as i}from"./chunks/framework.DHbvjPBJ.js";const A=JSON.parse('{"title":"Layer","description":"","frontmatter":{},"headers":[],"relativePath":"en/component/layers.md","filePath":"en/component/layers.md","lastUpdated":1724256543000}'),p={name:"en/component/layers.md"},h=s("",4),e=i("div",{className:"run-code"},"▶ Run Code",-1),t=s("",2),k=i("div",{className:"run-code"},"▶ Run Code",-1),E=s("",2),r=i("div",{className:"run-code"},"▶ Run Code",-1),d=s("",2),g=i("div",{className:"run-code"},"▶ Run Code",-1),c=s("",1),y=[h,e,t,k,E,r,d,g,c];function o(b,F,u,m,C,_){return l(),n("div",null,y)}const D=a(p,[["render",o]]);export{A as __pageData,D as default};
diff --git a/document/assets/en_component_setting.md.UN5J6naQ.js b/document/assets/en_component_setting.md.C2oQ5svJ.js
similarity index 94%
rename from document/assets/en_component_setting.md.UN5J6naQ.js
rename to document/assets/en_component_setting.md.C2oQ5svJ.js
index d3c02c11a..9de1df9fb 100644
--- a/document/assets/en_component_setting.md.UN5J6naQ.js
+++ b/document/assets/en_component_setting.md.C2oQ5svJ.js
@@ -1,4 +1,4 @@
-import{_ as a,c as n,o as l,a7 as s,j as i}from"./chunks/framework.DXlgpajS.js";const w=JSON.parse('{"title":"Settings Panel","description":"","frontmatter":{},"headers":[],"relativePath":"en/component/setting.md","filePath":"en/component/setting.md","lastUpdated":1700976201000}'),p={name:"en/component/setting.md"},e=s('

Settings Panel

Built-in

First, open the settings panel, and then it comes with four built-in items: flip, playbackRate, aspectRatio, subtitleOffset

',3),t=i("div",{className:"run-code"},"▶ Run Code",-1),h=s(`
js
var art = new Artplayer({
+import{_ as a,c as n,o as l,a7 as s,j as i}from"./chunks/framework.DHbvjPBJ.js";const w=JSON.parse('{"title":"Settings Panel","description":"","frontmatter":{},"headers":[],"relativePath":"en/component/setting.md","filePath":"en/component/setting.md","lastUpdated":1724256543000}'),p={name:"en/component/setting.md"},e=s('

Settings Panel

Built-in

First, open the settings panel, and then it comes with four built-in items: flip, playbackRate, aspectRatio, subtitleOffset

',3),t=i("div",{className:"run-code"},"▶ Run Code",-1),h=s(`
js
var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
     setting: true,
@@ -6,7 +6,7 @@ import{_ as a,c as n,o as l,a7 as s,j as i}from"./chunks/framework.DXlgpajS.js";
     playbackRate: true,
     aspectRatio: true,
     subtitleOffset: true,
-});

Create - Selection List

PropertyTypeDescription
htmlString, ElementElement's DOM

| icon | String, Element | 元素的图标 | | selector | Array | 元素列表 | | onSelect | Function | 元素点击事件 | | width | Number | 列表宽度 | | tooltip | String | 提示文本 |

`,4),k=i("div",{className:"run-code"},"▶ Run Code",-1),E=s(`
js
var art = new Artplayer({
+});

Create - Selection List

PropertyTypeDescription
htmlString, ElementElement's DOM

| icon | String, Element | 元素的图标 | | selector | Array | 元素列表 | | onSelect | Function | 元素点击事件 | | width | Number | 列表宽度 | | tooltip | String | 提示文本 |

`,4),k=i("div",{className:"run-code"},"▶ Run Code",-1),E=s(`
js
var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
     setting: true,
@@ -101,7 +101,7 @@ import{_ as a,c as n,o as l,a7 as s,j as i}from"./chunks/framework.DXlgpajS.js";
             ],
         },
     ],
-});

Create - Toggle Button

PropertyTypeDescription
htmlString, ElementElement's DOM element
iconString, ElementElement's icon
switchBooleanButton's default state
onSwitchFunctionButton toggle event
tooltipStringTooltip text
`,3),g=i("div",{className:"run-code"},"▶ Run Code",-1),c=s(`
js
var art = new Artplayer({
+});

Create - Toggle Button

PropertyTypeDescription
htmlString, ElementElement's DOM element
iconString, ElementElement's icon
switchBooleanButton's default state
onSwitchFunctionButton toggle event
tooltipStringTooltip text
`,3),g=i("div",{className:"run-code"},"▶ Run Code",-1),c=s(`
js
var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
     setting: true,
@@ -120,7 +120,7 @@ import{_ as a,c as n,o as l,a7 as s,j as i}from"./chunks/framework.DXlgpajS.js";
             },
         },
     ],
-});

Create - Range Slider

AttributeTypeDescription
htmlString, ElementThe element's DOM element
iconString, ElementThe element's icon
rangeArrayDefault state array
onRangeFunctionEvent triggered upon completion
onChangeFunctionEvent triggered on change
tooltipStringTooltip text
js
const range = [5, 1, 10, 1];
+});

Create - Range Slider

AttributeTypeDescription
htmlString, ElementThe element's DOM element
iconString, ElementThe element's icon
rangeArrayDefault state array
onRangeFunctionEvent triggered upon completion
onChangeFunctionEvent triggered on change
tooltipStringTooltip text
js
const range = [5, 1, 10, 1];
 const value = range[0];
 const min = range[1];
 const max = range[2];
diff --git a/document/assets/en_component_setting.md.UN5J6naQ.lean.js b/document/assets/en_component_setting.md.C2oQ5svJ.lean.js
similarity index 86%
rename from document/assets/en_component_setting.md.UN5J6naQ.lean.js
rename to document/assets/en_component_setting.md.C2oQ5svJ.lean.js
index b27168d74..6abdcf91f 100644
--- a/document/assets/en_component_setting.md.UN5J6naQ.lean.js
+++ b/document/assets/en_component_setting.md.C2oQ5svJ.lean.js
@@ -1 +1 @@
-import{_ as a,c as n,o as l,a7 as s,j as i}from"./chunks/framework.DXlgpajS.js";const w=JSON.parse('{"title":"Settings Panel","description":"","frontmatter":{},"headers":[],"relativePath":"en/component/setting.md","filePath":"en/component/setting.md","lastUpdated":1700976201000}'),p={name:"en/component/setting.md"},e=s("",3),t=i("div",{className:"run-code"},"▶ Run Code",-1),h=s("",4),k=i("div",{className:"run-code"},"▶ Run Code",-1),E=s("",2),r=i("div",{className:"run-code"},"▶ Run Code",-1),d=s("",3),g=i("div",{className:"run-code"},"▶ Run Code",-1),c=s("",4),y=i("div",{className:"run-code"},"▶ Run Code",-1),b=s("",2),o=i("div",{className:"run-code"},"▶ Run Code",-1),F=s("",2),u=i("div",{className:"run-code"},"▶ Run Code",-1),m=s("",2),C=i("div",{className:"run-code"},"▶ Run Code",-1),B=s("",1),_=[e,t,h,k,E,r,d,g,c,y,b,o,F,u,m,C,B];function A(v,D,S,T,q,f){return l(),n("div",null,_)}const x=a(p,[["render",A]]);export{w as __pageData,x as default};
+import{_ as a,c as n,o as l,a7 as s,j as i}from"./chunks/framework.DHbvjPBJ.js";const w=JSON.parse('{"title":"Settings Panel","description":"","frontmatter":{},"headers":[],"relativePath":"en/component/setting.md","filePath":"en/component/setting.md","lastUpdated":1724256543000}'),p={name:"en/component/setting.md"},e=s("",3),t=i("div",{className:"run-code"},"▶ Run Code",-1),h=s("",4),k=i("div",{className:"run-code"},"▶ Run Code",-1),E=s("",2),r=i("div",{className:"run-code"},"▶ Run Code",-1),d=s("",3),g=i("div",{className:"run-code"},"▶ Run Code",-1),c=s("",4),y=i("div",{className:"run-code"},"▶ Run Code",-1),b=s("",2),o=i("div",{className:"run-code"},"▶ Run Code",-1),F=s("",2),u=i("div",{className:"run-code"},"▶ Run Code",-1),m=s("",2),C=i("div",{className:"run-code"},"▶ Run Code",-1),B=s("",1),_=[e,t,h,k,E,r,d,g,c,y,b,o,F,u,m,C,B];function A(v,D,S,T,q,f){return l(),n("div",null,_)}const x=a(p,[["render",A]]);export{w as __pageData,x as default};
diff --git a/document/assets/en_index.md.BWJ8NY_j.js b/document/assets/en_index.md.C4b6ZydJ.js
similarity index 88%
rename from document/assets/en_index.md.BWJ8NY_j.js
rename to document/assets/en_index.md.C4b6ZydJ.js
index 450c97e11..3abe4a3f5 100644
--- a/document/assets/en_index.md.BWJ8NY_j.js
+++ b/document/assets/en_index.md.C4b6ZydJ.js
@@ -1,9 +1,4 @@
-import{_ as s,c as i,o as a,a7 as n}from"./chunks/framework.DXlgpajS.js";const y=JSON.parse('{"title":"Installation and Usage","description":"","frontmatter":{},"headers":[],"relativePath":"en/index.md","filePath":"en/index.md","lastUpdated":1704849613000}'),l={name:"en/index.md"},p=n(`

Installation and Usage

Installation

bash
npm install artplayer
bash
yarn add artplayer
bash
pnpm add artplayer
html
<script src="path/to/artplayer.js"></script>

CDN

bash
https://cdn.jsdelivr.net/npm/artplayer/dist/artplayer.js
bash
https://unpkg.com/artplayer/dist/artplayer.js

Usage

js
import Artplayer from 'artplayer';
-
-const art = new Artplayer({
-    container: '.artplayer-app',
-    url: 'path/to/video.mp4',
-});
html
<html>
+import{_ as s,c as i,o as a,a7 as n}from"./chunks/framework.DHbvjPBJ.js";const y=JSON.parse('{"title":"Installation and Usage","description":"","frontmatter":{},"headers":[],"relativePath":"en/index.md","filePath":"en/index.md","lastUpdated":1724256543000}'),l={name:"en/index.md"},p=n(`

Installation and Usage

Installation

bash
npm install artplayer
bash
yarn add artplayer
bash
pnpm add artplayer
html
<script src="path/to/artplayer.js"></script>

CDN

bash
https://cdn.jsdelivr.net/npm/artplayer/dist/artplayer.js
bash
https://unpkg.com/artplayer/dist/artplayer.js

Usage

html
<html>
     <head>
         <title>ArtPlayer Demo</title>
         <meta charset="UTF-8" />
@@ -16,8 +11,15 @@ import{_ as s,c as i,o as a,a7 as n}from"./chunks/framework.DXlgpajS.js";const y
     </head>
     <body>
         <div class="artplayer-app"></div>
+        <script src="path/to/artplayer.js"></script>
+        <script>
+          const art = new Artplayer({
+              container: '.artplayer-app',
+              url: 'path/to/video.mp4',
+          });
+        </script>
     </body>
-</html>

Warning

The player's size depends on the size of the container container, so your container container must have a size.

You can see more examples of use at the following link

/packages/artplayer-template

Vue.js

vue
<template>
+</html>

Warning

The player's size depends on the size of the container container, so your container container must have a size.

You can see more examples of use at the following link

/packages/artplayer-template

Vue.js

vue
<template>
   <div ref="artRef"></div>
 </template>
 
@@ -81,7 +83,7 @@ import{_ as s,c as i,o as a,a7 as n}from"./chunks/framework.DXlgpajS.js";const y
     },
   },
 };
-</script>

Artplayer Not Responsive:

Modifying option directly in Vue.js will not change the player

React.js

jsx
import { useEffect, useRef } from 'react';
+</script>

Artplayer Not Responsive:

Modifying option directly in Vue.js will not change the player

React.js

jsx
import { useEffect, useRef } from 'react';
 import Artplayer from 'artplayer';
 
 export default function Player({ option, getInstance, ...rest }) {
@@ -132,17 +134,16 @@ import{_ as s,c as i,o as a,a7 as n}from"./chunks/framework.DXlgpajS.js";const y
 art.value = new Artplayer();
 </script>

React.js

jsx
import Artplayer from 'artplayer';
 const art = useRef<Artplayer>(null);
-art.current = new Artplayer();

Option

you can also separately import the type for options

ts
import Artplayer from 'artplayer';
-import { type Option } from 'artplayer/types/option';
+art.current = new Artplayer();

Option

You can also use the option type

ts
import Artplayer from 'artplayer';
 
-const option: Option = {
+const option: Artplayer['Option'] = {
     container: '.artplayer-app',
     url: './assets/sample/video.mp4',
 };
 
 option.volume = 0.5;
 
-const art = new Artplayer(option);

Complete TypeScript Definitions

packages/artplayer/types

JavaScript

Sometimes your js file may lose the TypeScript type hints, in this case, you can manually import the types

Variables:

js
/**
+const art = new Artplayer(option);

Complete TypeScript Definitions

packages/artplayer/types

JavaScript

Sometimes your js file may lose the TypeScript type hints, in this case, you can manually import the types

Variables:

js
/**
  * @type {import("artplayer")}
  */
 let art = null;

Parameters:

js
/**
@@ -170,4 +171,4 @@ import{_ as s,c as i,o as a,a7 as n}from"./chunks/framework.DXlgpajS.js";const y
 
 option.volume = 0.5;
 
-const art8 = new Artplayer(option);

Ancient Browsers

The production build of artplayer.js is only compatible with the latest major version of Chrome: last 1 Chrome version

For ancient browsers, you can use the artplayer.legacy.js file, which is compatible up to: IE 11

js
import Artplayer from 'artplayer/dist/artplayer.legacy.js';
bash
https://cdn.jsdelivr.net/npm/artplayer/dist/artplayer.legacy.js
bash
https://unpkg.com/artplayer/dist/artplayer.legacy.js

If you need to support even older browsers, please modify the following configuration and then build it yourself:

Build configuration: scripts/build.js

Refer to documentation: browserslist

`,41),e=[p];function t(h,k,r,E,d,c){return a(),i("div",null,e)}const b=s(l,[["render",t]]);export{y as __pageData,b as default}; +const art8 = new Artplayer(option);

Ancient Browsers

The production build of artplayer.js is only compatible with the latest major version of Chrome: last 1 Chrome version

For ancient browsers, you can use the artplayer.legacy.js file, which is compatible up to: IE 11

js
import Artplayer from 'artplayer/dist/artplayer.legacy.js';
bash
https://cdn.jsdelivr.net/npm/artplayer/dist/artplayer.legacy.js
bash
https://unpkg.com/artplayer/dist/artplayer.legacy.js

If you need to support even older browsers, please modify the following configuration and then build it yourself:

Build configuration: scripts/build.js

Refer to documentation: browserslist

`,41),e=[p];function t(h,k,r,E,d,c){return a(),i("div",null,e)}const b=s(l,[["render",t]]);export{y as __pageData,b as default}; diff --git a/document/assets/en_index.md.BWJ8NY_j.lean.js b/document/assets/en_index.md.C4b6ZydJ.lean.js similarity index 53% rename from document/assets/en_index.md.BWJ8NY_j.lean.js rename to document/assets/en_index.md.C4b6ZydJ.lean.js index 0a855d5b2..e32c5f673 100644 --- a/document/assets/en_index.md.BWJ8NY_j.lean.js +++ b/document/assets/en_index.md.C4b6ZydJ.lean.js @@ -1 +1 @@ -import{_ as s,c as i,o as a,a7 as n}from"./chunks/framework.DXlgpajS.js";const y=JSON.parse('{"title":"Installation and Usage","description":"","frontmatter":{},"headers":[],"relativePath":"en/index.md","filePath":"en/index.md","lastUpdated":1704849613000}'),l={name:"en/index.md"},p=n("",41),e=[p];function t(h,k,r,E,d,c){return a(),i("div",null,e)}const b=s(l,[["render",t]]);export{y as __pageData,b as default}; +import{_ as s,c as i,o as a,a7 as n}from"./chunks/framework.DHbvjPBJ.js";const y=JSON.parse('{"title":"Installation and Usage","description":"","frontmatter":{},"headers":[],"relativePath":"en/index.md","filePath":"en/index.md","lastUpdated":1724256543000}'),l={name:"en/index.md"},p=n("",41),e=[p];function t(h,k,r,E,d,c){return a(),i("div",null,e)}const b=s(l,[["render",t]]);export{y as __pageData,b as default}; diff --git a/document/assets/en_library_dash.md.DX1YLUoV.js b/document/assets/en_library_dash.md.DX1YLUoV.js deleted file mode 100644 index f1e73dd78..000000000 --- a/document/assets/en_library_dash.md.DX1YLUoV.js +++ /dev/null @@ -1,24 +0,0 @@ -import{_ as i,c as n,o as l,j as s,a,a7 as p}from"./chunks/framework.DXlgpajS.js";const m=JSON.parse('{"title":"dash.js","description":"","frontmatter":{},"headers":[],"relativePath":"en/library/dash.md","filePath":"en/library/dash.md","lastUpdated":1700965824000}'),h={name:"en/library/dash.md"},t=s("h1",{id:"dash-js",tabindex:"-1"},[a("dash.js "),s("a",{class:"header-anchor",href:"#dash-js","aria-label":'Permalink to "dash.js"'},"​")],-1),e=s("p",null,[a("👉 "),s("a",{href:"https://github.com/Dash-Industry-Forum/dash.js",target:"_blank",rel:"noreferrer"},"https://github.com/Dash-Industry-Forum/dash.js")],-1),k=s("div",{className:"run-code","data-libs":"https://cdnjs.cloudflare.com/ajax/libs/dashjs/4.5.2/dash.all.min.js"}," ▶ Run Code ",-1),r=p(`
js
function playMpd(video, url, art) {
-    if (dashjs.supportsMediaSource()) {
-        if (art.dash) art.dash.destroy();
-        const dash = dashjs.MediaPlayer().create();
-        dash.initialize(video, url, art.option.autoplay);
-        art.dash = dash; 
-        art.on('destroy', () => dash.destroy());
-    } else {
-        art.notice.show = 'Unsupported playback format: mpd';
-    }
-}
-
-var art = new Artplayer({
-    container: '.artplayer-app',
-    url: 'https://dash.akamaized.net/akamai/bbb_30fps/bbb_30fps.mpd',
-    type: 'mpd',
-    customType: {
-        mpd: playMpd
-    },
-});
-
-art.on('ready', () => {
-    console.info(art.dash);
-});
`,1),E=[t,e,k,r];function d(c,y,g,o,b,F){return l(),n("div",null,E)}const _=i(h,[["render",d]]);export{m as __pageData,_ as default}; diff --git a/document/assets/en_library_dash.md.DX1YLUoV.lean.js b/document/assets/en_library_dash.md.DX1YLUoV.lean.js deleted file mode 100644 index 21ab3841c..000000000 --- a/document/assets/en_library_dash.md.DX1YLUoV.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as i,c as n,o as l,j as s,a,a7 as p}from"./chunks/framework.DXlgpajS.js";const m=JSON.parse('{"title":"dash.js","description":"","frontmatter":{},"headers":[],"relativePath":"en/library/dash.md","filePath":"en/library/dash.md","lastUpdated":1700965824000}'),h={name:"en/library/dash.md"},t=s("h1",{id:"dash-js",tabindex:"-1"},[a("dash.js "),s("a",{class:"header-anchor",href:"#dash-js","aria-label":'Permalink to "dash.js"'},"​")],-1),e=s("p",null,[a("👉 "),s("a",{href:"https://github.com/Dash-Industry-Forum/dash.js",target:"_blank",rel:"noreferrer"},"https://github.com/Dash-Industry-Forum/dash.js")],-1),k=s("div",{className:"run-code","data-libs":"https://cdnjs.cloudflare.com/ajax/libs/dashjs/4.5.2/dash.all.min.js"}," ▶ Run Code ",-1),r=p("",1),E=[t,e,k,r];function d(c,y,g,o,b,F){return l(),n("div",null,E)}const _=i(h,[["render",d]]);export{m as __pageData,_ as default}; diff --git a/document/assets/en_library_flv.md.BGe1v4Lx.js b/document/assets/en_library_flv.md.BGe1v4Lx.js deleted file mode 100644 index 19566f39b..000000000 --- a/document/assets/en_library_flv.md.BGe1v4Lx.js +++ /dev/null @@ -1,25 +0,0 @@ -import{_ as a,c as n,o as l,j as s,a as i,a7 as p}from"./chunks/framework.DXlgpajS.js";const m=JSON.parse('{"title":"flv.js","description":"","frontmatter":{},"headers":[],"relativePath":"en/library/flv.md","filePath":"en/library/flv.md","lastUpdated":1700965824000}'),h={name:"en/library/flv.md"},e=s("h1",{id:"flv-js",tabindex:"-1"},[i("flv.js "),s("a",{class:"header-anchor",href:"#flv-js","aria-label":'Permalink to "flv.js"'},"​")],-1),t=s("p",null,[i("👉 "),s("a",{href:"https://github.com/Bilibili/flv.js",target:"_blank",rel:"noreferrer"},"https://github.com/Bilibili/flv.js")],-1),k=s("div",{className:"run-code","data-libs":"https://cdnjs.cloudflare.com/ajax/libs/flv.js/1.6.2/flv.min.js"}," ▶ Run Code ",-1),r=p(`
js
function playFlv(video, url, art) {
-    if (flvjs.isSupported()) {
-        if (art.flv) art.flv.destroy();
-        const flv = flvjs.createPlayer({ type: 'flv', url });
-        flv.attachMediaElement(video);
-        flv.load();
-        art.flv = flv; 
-        art.on('destroy', () => flv.destroy());
-    } else {
-        art.notice.show = 'Unsupported playback format: flv';
-    }
-}
-
-var art = new Artplayer({
-    container: '.artplayer-app',
-    url: '/assets/sample/video.flv',
-    type: 'flv',
-    customType: {
-        flv: playFlv,
-    },
-});
-
-art.on('ready', () => {
-    console.info(art.flv);
-});
`,1),E=[e,t,k,r];function d(c,y,g,b,o,F){return l(),n("div",null,E)}const f=a(h,[["render",d]]);export{m as __pageData,f as default}; diff --git a/document/assets/en_library_flv.md.BGe1v4Lx.lean.js b/document/assets/en_library_flv.md.BGe1v4Lx.lean.js deleted file mode 100644 index abb01eaab..000000000 --- a/document/assets/en_library_flv.md.BGe1v4Lx.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as a,c as n,o as l,j as s,a as i,a7 as p}from"./chunks/framework.DXlgpajS.js";const m=JSON.parse('{"title":"flv.js","description":"","frontmatter":{},"headers":[],"relativePath":"en/library/flv.md","filePath":"en/library/flv.md","lastUpdated":1700965824000}'),h={name:"en/library/flv.md"},e=s("h1",{id:"flv-js",tabindex:"-1"},[i("flv.js "),s("a",{class:"header-anchor",href:"#flv-js","aria-label":'Permalink to "flv.js"'},"​")],-1),t=s("p",null,[i("👉 "),s("a",{href:"https://github.com/Bilibili/flv.js",target:"_blank",rel:"noreferrer"},"https://github.com/Bilibili/flv.js")],-1),k=s("div",{className:"run-code","data-libs":"https://cdnjs.cloudflare.com/ajax/libs/flv.js/1.6.2/flv.min.js"}," ▶ Run Code ",-1),r=p("",1),E=[e,t,k,r];function d(c,y,g,b,o,F){return l(),n("div",null,E)}const f=a(h,[["render",d]]);export{m as __pageData,f as default}; diff --git a/document/assets/en_library_hls.md.DAEC9wJG.js b/document/assets/en_library_hls.md.DAEC9wJG.js deleted file mode 100644 index 767dcef47..000000000 --- a/document/assets/en_library_hls.md.DAEC9wJG.js +++ /dev/null @@ -1,27 +0,0 @@ -import{_ as a,c as n,o as l,j as s,a as i,a7 as p}from"./chunks/framework.DXlgpajS.js";const m=JSON.parse('{"title":"hls.js","description":"","frontmatter":{},"headers":[],"relativePath":"en/library/hls.md","filePath":"en/library/hls.md","lastUpdated":1700965824000}'),h={name:"en/library/hls.md"},e=s("h1",{id:"hls-js",tabindex:"-1"},[i("hls.js "),s("a",{class:"header-anchor",href:"#hls-js","aria-label":'Permalink to "hls.js"'},"​")],-1),t=s("p",null,[i("👉 "),s("a",{href:"https://github.com/video-dev/hls.js",target:"_blank",rel:"noreferrer"},"https://github.com/video-dev/hls.js")],-1),k=s("div",{className:"run-code","data-libs":"https://cdnjs.cloudflare.com/ajax/libs/hls.js/8.0.0-beta.3/hls.min.js"}," ▶ Run Code ",-1),r=p(`
js
function playM3u8(video, url, art) {
-    if (Hls.isSupported()) {
-        if (art.hls) art.hls.destroy();
-        const hls = new Hls();
-        hls.loadSource(url);
-        hls.attachMedia(video);
-        art.hls = hls;
-        art.on('destroy', () => hls.destroy());
-    } else if (video.canPlayType('application/vnd.apple.mpegurl')) {
-        video.src = url;
-    } else {
-        art.notice.show = 'Unsupported playback format: m3u8';
-    }
-}
-
-var art = new Artplayer({
-    container: '.artplayer-app',
-    url: 'https://test-streams.mux.dev/x36xhzz/x36xhzz.m3u8',
-    type: 'm3u8',
-    customType: {
-        m3u8: playM3u8,
-    },
-});
-
-art.on('ready', () => {
-    console.info(art.hls);
-});
`,1),E=[e,t,k,r];function d(y,c,g,o,b,F){return l(),n("div",null,E)}const _=a(h,[["render",d]]);export{m as __pageData,_ as default}; diff --git a/document/assets/en_library_hls.md.DAEC9wJG.lean.js b/document/assets/en_library_hls.md.DAEC9wJG.lean.js deleted file mode 100644 index af7731243..000000000 --- a/document/assets/en_library_hls.md.DAEC9wJG.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as a,c as n,o as l,j as s,a as i,a7 as p}from"./chunks/framework.DXlgpajS.js";const m=JSON.parse('{"title":"hls.js","description":"","frontmatter":{},"headers":[],"relativePath":"en/library/hls.md","filePath":"en/library/hls.md","lastUpdated":1700965824000}'),h={name:"en/library/hls.md"},e=s("h1",{id:"hls-js",tabindex:"-1"},[i("hls.js "),s("a",{class:"header-anchor",href:"#hls-js","aria-label":'Permalink to "hls.js"'},"​")],-1),t=s("p",null,[i("👉 "),s("a",{href:"https://github.com/video-dev/hls.js",target:"_blank",rel:"noreferrer"},"https://github.com/video-dev/hls.js")],-1),k=s("div",{className:"run-code","data-libs":"https://cdnjs.cloudflare.com/ajax/libs/hls.js/8.0.0-beta.3/hls.min.js"}," ▶ Run Code ",-1),r=p("",1),E=[e,t,k,r];function d(y,c,g,o,b,F){return l(),n("div",null,E)}const _=a(h,[["render",d]]);export{m as __pageData,_ as default}; diff --git a/document/assets/en_plugin_ads.md.B15fMRFM.js b/document/assets/en_plugin_ads.md.B15fMRFM.js deleted file mode 100644 index 784384401..000000000 --- a/document/assets/en_plugin_ads.md.B15fMRFM.js +++ /dev/null @@ -1,48 +0,0 @@ -import{_ as a,c as i,o as n,a7 as s,j as l}from"./chunks/framework.DXlgpajS.js";const y=JSON.parse('{"title":"Video Ads","description":"","frontmatter":{},"headers":[],"relativePath":"en/plugin/ads.md","filePath":"en/plugin/ads.md","lastUpdated":1700976201000}'),e={name:"en/plugin/ads.md"},p=s('

Video Ads

Demo

👉 View Full Demo

Installation

bash
npm install artplayer-plugin-ads
bash
yarn add artplayer-plugin-ads
bash
pnpm add artplayer-plugin-ads
html
<script src="path/to/artplayer-plugin-ads.js"></script>

CDN

bash
https://cdn.jsdelivr.net/npm/artplayer-plugin-ads/dist/artplayer-plugin-ads.js
bash
https://unpkg.com/artplayer-plugin-ads/dist/artplayer-plugin-ads.js

Usage

',8),t=l("div",{className:"run-code","data-libs":"./uncompiled/artplayer-plugin-ads/index.js"}," ▶ Run Code ",-1),h=s(`
js
var art = new Artplayer({
-    container: '.artplayer-app',
-    url: '/assets/sample/video.mp4',
-    autoSize: true,
-    fullscreen: true,
-    fullscreenWeb: true,
-    plugins: [
-        artplayerPluginAds({
-            // HTML ad, ignored if it's a video ad
-            html: '<img src="/assets/sample/poster.jpg">',
-
-            // URL of the video ad
-            video: '/assets/sample/test1.mp4',
-
-            // Ad redirect URL, no redirection if empty
-            url: 'http://artplayer.org',
-
-            // The duration that must be watched, which can't be skipped, in seconds
-            // If this value is greater than or equal to totalDuration, the ad can't be closed early
-            // If this value is less than or equal to 0, then the ad can be closed at any time
-            playDuration: 5,
-
-            // Total duration of the ad, in seconds
-            totalDuration: 10,
-
-            // Whether the video ad is muted by default
-            muted: false,
-
-            // Multilingual support
-            i18n: {
-                close: 'Close ad',
-                countdown: '%s seconds',
-                detail: 'See details',
-                canBeClosed: '%s seconds until the ad can be closed',
-            },
-        }),
-    ],
-});
-
-// ad is clicked
-art.on('artplayerPluginAds:click', (ads) => {
-    console.info(ads);
-});
-
-// Ad skipped
-art.on('artplayerPluginAds:skip', (ads) => {
-    console.info(ads);
-});
`,1),r=[p,t,h];function k(d,E,c,b,o,g){return n(),i("div",null,r)}const m=a(e,[["render",k]]);export{y as __pageData,m as default}; diff --git a/document/assets/en_plugin_ads.md.B15fMRFM.lean.js b/document/assets/en_plugin_ads.md.B15fMRFM.lean.js deleted file mode 100644 index 31c6b2d48..000000000 --- a/document/assets/en_plugin_ads.md.B15fMRFM.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as a,c as i,o as n,a7 as s,j as l}from"./chunks/framework.DXlgpajS.js";const y=JSON.parse('{"title":"Video Ads","description":"","frontmatter":{},"headers":[],"relativePath":"en/plugin/ads.md","filePath":"en/plugin/ads.md","lastUpdated":1700976201000}'),e={name:"en/plugin/ads.md"},p=s("",8),t=l("div",{className:"run-code","data-libs":"./uncompiled/artplayer-plugin-ads/index.js"}," ▶ Run Code ",-1),h=s("",1),r=[p,t,h];function k(d,E,c,b,o,g){return n(),i("div",null,r)}const m=a(e,[["render",k]]);export{y as __pageData,m as default}; diff --git a/document/assets/en_plugin_danmuku.md.DwUNBb7S.js b/document/assets/en_plugin_danmuku.md.DwUNBb7S.js deleted file mode 100644 index a5e3a5cf3..000000000 --- a/document/assets/en_plugin_danmuku.md.DwUNBb7S.js +++ /dev/null @@ -1,326 +0,0 @@ -import{_ as a,c as n,o as l,a7 as s,j as i}from"./chunks/framework.DXlgpajS.js";const M=JSON.parse('{"title":"弹幕库","description":"","frontmatter":{},"headers":[],"relativePath":"en/plugin/danmuku.md","filePath":"en/plugin/danmuku.md","lastUpdated":1716706642000}'),p={name:"en/plugin/danmuku.md"},h=s(`

弹幕库

演示

👉 查看完整演示

安装

bash
npm install artplayer-plugin-danmuku
bash
yarn add artplayer-plugin-danmuku
bash
pnpm add artplayer-plugin-danmuku
html
<script src="path/to/artplayer-plugin-danmuku.js"></script>

CDN

bash
https://cdn.jsdelivr.net/npm/artplayer-plugin-danmuku/dist/artplayer-plugin-danmuku.js
bash
https://unpkg.com/artplayer-plugin-danmuku/dist/artplayer-plugin-danmuku.js

弹幕结构

每一个弹幕是一个对象,多个弹幕组成的数组就是弹幕源,通常只需要text就可以发送一个弹幕,其余都是非必要参数

js
{
-    text: '', // 弹幕文本
-    time: 10, // 弹幕时间, 默认为当前播放器时间
-    mode: 0, // 弹幕模式: 0: 滚动(默认),1: 顶部,2: 底部
-    color: '#FFFFFF', // 弹幕颜色,默认为白色
-    border: false, // 弹幕是否有描边, 默认为 false
-    style: {}, // 弹幕自定义样式, 默认为空对象
-    escape: true, // 弹幕文本是否转义, 默认为 true
-}

全部选项

只有danmuku是必须的参数,其余都是非必填

js
{
-    danmuku: [], // 弹幕源
-    speed: 5, // 弹幕持续时间,范围在[1 ~ 10]
-    margin: [10, '25%'], // 弹幕上下边距,支持像素数字和百分比
-    opacity: 1, // 弹幕透明度,范围在[0 ~ 1]
-    color: '#FFFFFF', // 默认弹幕颜色,可以被单独弹幕项覆盖
-    mode: 0, // 默认弹幕模式: 0: 滚动,1: 顶部,2: 底部
-    modes: [0, 1, 2], // 弹幕可见的模式
-    fontSize: 25, // 弹幕字体大小,支持像素数字和百分比
-    antiOverlap: true, // 弹幕是否防重叠
-    synchronousPlayback: false, // 是否同步播放速度
-    mount: undefined, // 弹幕发射器挂载点, 默认为播放器控制栏中部
-    heatmap: false, // 是否开启热力图
-    points: [], // 热力图数据
-    filter: () => true, // 弹幕载入前的过滤器,只支持返回布尔值
-    beforeEmit: () => true, // 弹幕发送前的过滤器,支持返回 Promise
-    beforeVisible: () => true, // 弹幕显示前的过滤器,支持返回 Promise
-    visible: true, // 弹幕层是否可见
-    maxLength: 200, // 弹幕输入框最大长度, 范围在[1 ~ 1000]
-    lockTime: 5, // 输入框锁定时间,范围在[1 ~ 60]
-    theme: 'dark', // 弹幕主题,支持 dark 和 light,只在自定义挂载时生效
-}

生命周期

来自用户输入的弹幕:

beforeEmit -> filter -> beforeVisible -> artplayerPluginDanmuku:visible

来自服务器的弹幕:

filter -> beforeVisible -> artplayerPluginDanmuku:visible

`,18),e=i("div",{className:"run-code","data-libs":"./uncompiled/artplayer-plugin-danmuku/index.js"}," ▶ Run Code ",-1),k=s(`
js
// 保存到数据库
-function saveDanmu(danmu) {
-    return new Promise(resolve => {
-        setTimeout(() => {
-            resolve(true);
-        }, 1000);
-    })
-}
-
-var art = new Artplayer({
-    container: '.artplayer-app',
-    url: '/assets/sample/video.mp4',
-    plugins: [
-        artplayerPluginDanmuku({
-            danmuku: '/assets/sample/danmuku.xml',
-
-            // 这是用户在输入框输入弹幕文本,然后点击发送按钮后触发的函数
-            // 你可以对弹幕做合法校验,或者做存库处理
-            // 当返回true后才表示把弹幕加入到弹幕队列
-            async beforeEmit(danmu) {
-               const isDirty = (/fuck/i).test(danmu.text);
-               if (isDirty) return false;
-               const state = await saveDanmu(danmu);
-               return state;
-            },
-
-            // 这里是所有弹幕的过滤器,包含来自服务端的和来自用户输入的
-            // 你可以对弹幕做合法校验
-            // 当返回true后才表示把弹幕加入到弹幕队列
-            filter(danmu) {
-                return danmu.text.length <= 200;
-            },
-
-            // 这是弹幕即将显示的时触发的函数
-            // 你可以对弹幕做合法校验
-            // 当返回true后才表示可以马上发送到播放器里
-            async beforeVisible(danmu) {
-               return true;
-            },
-        }),
-    ],
-});
-
-// 弹幕已经出现在播放器里,你可以访问到弹幕的dom元素里
-art.on('artplayerPluginDanmuku:visible', danmu => {
-    danmu.$ref.innerHTML = 'ଘ(੭ˊᵕˋ)੭: ' + danmu.$ref.innerHTML;
-})

使用弹幕数组

`,2),t=i("div",{className:"run-code","data-libs":"./uncompiled/artplayer-plugin-danmuku/index.js"}," ▶ Run Code ",-1),r=s(`
js
var art = new Artplayer({
-    container: '.artplayer-app',
-    url: '/assets/sample/video.mp4',
-    plugins: [
-        artplayerPluginDanmuku({
-            danmuku: [
-                {
-                    text: '使用数组',
-                    time: 1
-                },
-            ],
-        }),
-    ],
-});

使用弹幕 XML

弹幕 XML 文件,和 Bilibili 网站的弹幕格式一致

`,3),E=i("div",{className:"run-code","data-libs":"./uncompiled/artplayer-plugin-danmuku/index.js"}," ▶ Run Code ",-1),d=s(`
js
var art = new Artplayer({
-    container: '.artplayer-app',
-    url: '/assets/sample/video.mp4',
-    plugins: [
-        artplayerPluginDanmuku({
-            danmuku: '/assets/sample/danmuku.xml',
-        }),
-    ],
-});

使用异步返回

`,2),g=i("div",{className:"run-code","data-libs":"./uncompiled/artplayer-plugin-danmuku/index.js"}," ▶ Run Code ",-1),c=s(`
js
var art = new Artplayer({
-    container: '.artplayer-app',
-    url: '/assets/sample/video.mp4',
-    plugins: [
-        artplayerPluginDanmuku({
-            danmuku: function () {
-                return new Promise((resovle) => {
-                    return resovle([
-                        {
-                            text: '使用 Promise 异步返回',
-                            time: 1
-                        },
-                    ]);
-                });
-            },
-        }),
-    ],
-});

hide/show

通过方法 hideshow 进行隐藏或者显示弹幕

`,3),y=i("div",{className:"run-code","data-libs":"./uncompiled/artplayer-plugin-danmuku/index.js"}," ▶ Run Code ",-1),u=s(`
js
var art = new Artplayer({
-    container: '.artplayer-app',
-    url: '/assets/sample/video.mp4',
-    plugins: [
-        artplayerPluginDanmuku({
-            danmuku: '/assets/sample/danmuku.xml',
-        }),
-    ],
-    controls: [
-        {
-            position: 'right',
-            html: '隐藏弹幕',
-            click: function () {
-                art.plugins.artplayerPluginDanmuku.hide();
-            },
-        },
-        {
-            position: 'right',
-            html: '显示弹幕',
-            click: function () {
-                art.plugins.artplayerPluginDanmuku.show();
-            },
-        },
-    ],
-});

isHide

通过属性 isHide 判断当前弹幕是隐藏或者显示

`,3),b=i("div",{className:"run-code","data-libs":"./uncompiled/artplayer-plugin-danmuku/index.js"}," ▶ Run Code ",-1),F=s(`
js
var art = new Artplayer({
-    container: '.artplayer-app',
-    url: '/assets/sample/video.mp4',
-    plugins: [
-        artplayerPluginDanmuku({
-            danmuku: '/assets/sample/danmuku.xml',
-        }),
-    ],
-    controls: [
-        {
-            position: 'right',
-            html: '隐藏弹幕',
-            click: function (_, event) {
-                if (art.plugins.artplayerPluginDanmuku.isHide) {
-                    art.plugins.artplayerPluginDanmuku.show();
-                    event.target.innerText = '隐藏弹幕';
-                } else {
-                    art.plugins.artplayerPluginDanmuku.hide();
-                    event.target.innerText = '显示弹幕';
-                }
-            },
-        },
-    ],
-});

emit

通过方法 emit 发送一条实时弹幕

`,3),m=i("div",{className:"run-code","data-libs":"./uncompiled/artplayer-plugin-danmuku/index.js"}," ▶ Run Code ",-1),o=s(`
js
var art = new Artplayer({
-    container: '.artplayer-app',
-    url: '/assets/sample/video.mp4',
-    plugins: [
-        artplayerPluginDanmuku({
-            danmuku: '/assets/sample/danmuku.xml',
-        }),
-    ],
-    controls: [
-        {
-            position: 'right',
-            html: '发送弹幕',
-            click: function () {
-                var text = prompt('请输入弹幕文本', '弹幕测试文本');
-                if (!text || !text.trim()) return;
-                var color = '#' + Math.floor(Math.random() * 0xffffff).toString(16);
-                art.plugins.artplayerPluginDanmuku.emit({
-                    text: text,
-                    color: color,
-                    border: true,
-                });
-            },
-        },
-    ],
-});

config

通过方法 config 实时改变弹幕配置

`,3),C=i("div",{className:"run-code","data-libs":"./uncompiled/artplayer-plugin-danmuku/index.js"}," ▶ Run Code ",-1),B=s(`
js
var art = new Artplayer({
-    container: '.artplayer-app',
-    url: '/assets/sample/video.mp4',
-    plugins: [
-        artplayerPluginDanmuku({
-            danmuku: '/assets/sample/danmuku.xml',
-        }),
-    ],
-    controls: [
-        {
-            position: 'right',
-            html: '弹幕大小:<input type="range" min="12" max="50" step="1" value="25">',
-            style: {
-                display: 'flex',
-                alignItems: 'center',
-            },
-            mounted: function ($setting) {
-                const $range = $setting.querySelector('input[type=range]');
-                $range.addEventListener('change', () => {
-                    art.plugins.artplayerPluginDanmuku.config({
-                        fontSize: Number($range.value),
-                    });
-                });
-            },
-        },
-    ],
-});

load

通过 load 方法可以重载弹幕源,或者切换新弹幕

`,3),A=i("div",{className:"run-code","data-libs":"./uncompiled/artplayer-plugin-danmuku/index.js"}," ▶ Run Code ",-1),D=s(`
js
var art = new Artplayer({
-    container: '.artplayer-app',
-    url: '/assets/sample/video.mp4',
-    plugins: [
-        artplayerPluginDanmuku({
-            danmuku: '/assets/sample/danmuku.xml',
-        }),
-    ],
-    controls: [
-        {
-            position: 'right',
-            html: '重载弹幕',
-            click: function () {
-                art.plugins.artplayerPluginDanmuku.load();
-            },
-        },
-        {
-            position: 'right',
-            html: '切换弹幕',
-            click: function () {
-                art.plugins.artplayerPluginDanmuku.config({
-                    danmuku: '/assets/sample/danmuku-v2.xml',
-                });
-                art.plugins.artplayerPluginDanmuku.load();
-            },
-        },
-    ],
-});

reset

用于清空当前显示的弹幕

`,3),_=i("div",{className:"run-code","data-libs":"./uncompiled/artplayer-plugin-danmuku/index.js"}," ▶ Run Code ",-1),v=s(`
js
var art = new Artplayer({
-    container: '.artplayer-app',
-    url: '/assets/sample/video.mp4',
-    plugins: [
-        artplayerPluginDanmuku({
-            danmuku: '/assets/sample/danmuku.xml',
-        }),
-    ],
-});
-
-art.on('resize', () => {
-    art.plugins.artplayerPluginDanmuku.reset();
-});

mount

在初始化弹幕插件的时候,是可以指定弹幕发射器的挂载位置的,默认是挂载在控制栏的中部,你也可以把它挂载在播放器以外的地方。 当播放器全屏的时候,发射器会自动回到控制栏的中部。假如你挂载的地方是亮色的话,建议把 theme 设置成 light,否则会看不清。

`,3),f=i("div",{className:"run-code","data-libs":"./uncompiled/artplayer-plugin-danmuku/index.js"}," ▶ Run Code ",-1),T=s(`
js
var $danmu = document.querySelector('.artplayer-app');
-
-var art = new Artplayer({
-    container: '.artplayer-app',
-    url: '/assets/sample/video.mp4',
-    fullscreenWeb: true,
-    plugins: [
-        artplayerPluginDanmuku({
-			mount: $danmu,
-            theme: 'dark',
-            danmuku: '/assets/sample/danmuku.xml',
-        }),
-    ],
-});
-
-// 也可以手动挂载
-// art.plugins.artplayerPluginDanmuku.mount($danmu);

option

用于获取当前弹幕配置

`,3),P=i("div",{className:"run-code","data-libs":"./uncompiled/artplayer-plugin-danmuku/index.js"}," ▶ Run Code ",-1),x=s(`
js
var art = new Artplayer({
-    container: '.artplayer-app',
-    url: '/assets/sample/video.mp4',
-    plugins: [
-        artplayerPluginDanmuku({
-            danmuku: '/assets/sample/danmuku.xml',
-        }),
-    ],
-});
-
-art.on('ready', () => {
-    console.info(art.plugins.artplayerPluginDanmuku.option);
-});

事件

`,2),j=i("div",{className:"run-code","data-libs":"./uncompiled/artplayer-plugin-danmuku/index.js"}," ▶ Run Code ",-1),q=s(`
js
var art = new Artplayer({
-    container: '.artplayer-app',
-    url: '/assets/sample/video.mp4',
-    plugins: [
-        artplayerPluginDanmuku({
-            danmuku: '/assets/sample/danmuku.xml',
-        }),
-    ],
-});
-
-art.on('artplayerPluginDanmuku:visible', (danmu) => {
-    console.info('显示弹幕', danmu);
-});
-
-art.on('artplayerPluginDanmuku:emit', (danmu) => {
-    console.info('新增弹幕', danmu);
-});
-
-art.on('artplayerPluginDanmuku:loaded', (danmus) => {
-    console.info('加载弹幕', danmus.length);
-});
-
-art.on('artplayerPluginDanmuku:error', (error) => {
-    console.info('加载错误', error);
-});
-
-art.on('artplayerPluginDanmuku:config', (option) => {
-    console.info('配置变化', option);
-});
-
-art.on('artplayerPluginDanmuku:stop', () => {
-    console.info('弹幕停止');
-});
-
-art.on('artplayerPluginDanmuku:start', () => {
-    console.info('弹幕开始');
-});
-
-art.on('artplayerPluginDanmuku:hide', () => {
-    console.info('弹幕隐藏');
-});
-
-art.on('artplayerPluginDanmuku:show', () => {
-    console.info('弹幕显示');
-});
-
-art.on('artplayerPluginDanmuku:destroy', () => {
-    console.info('弹幕销毁');
-});
`,1),w=[h,e,k,t,r,E,d,g,c,y,u,b,F,m,o,C,B,A,D,_,v,f,T,P,x,j,q];function S(V,I,N,R,$,H){return l(),n("div",null,w)}const K=a(p,[["render",S]]);export{M as __pageData,K as default}; diff --git a/document/assets/en_plugin_danmuku.md.DwUNBb7S.lean.js b/document/assets/en_plugin_danmuku.md.DwUNBb7S.lean.js deleted file mode 100644 index a7ffd0cde..000000000 --- a/document/assets/en_plugin_danmuku.md.DwUNBb7S.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as a,c as n,o as l,a7 as s,j as i}from"./chunks/framework.DXlgpajS.js";const M=JSON.parse('{"title":"弹幕库","description":"","frontmatter":{},"headers":[],"relativePath":"en/plugin/danmuku.md","filePath":"en/plugin/danmuku.md","lastUpdated":1716706642000}'),p={name:"en/plugin/danmuku.md"},h=s("",18),e=i("div",{className:"run-code","data-libs":"./uncompiled/artplayer-plugin-danmuku/index.js"}," ▶ Run Code ",-1),k=s("",2),t=i("div",{className:"run-code","data-libs":"./uncompiled/artplayer-plugin-danmuku/index.js"}," ▶ Run Code ",-1),r=s("",3),E=i("div",{className:"run-code","data-libs":"./uncompiled/artplayer-plugin-danmuku/index.js"}," ▶ Run Code ",-1),d=s("",2),g=i("div",{className:"run-code","data-libs":"./uncompiled/artplayer-plugin-danmuku/index.js"}," ▶ Run Code ",-1),c=s("",3),y=i("div",{className:"run-code","data-libs":"./uncompiled/artplayer-plugin-danmuku/index.js"}," ▶ Run Code ",-1),u=s("",3),b=i("div",{className:"run-code","data-libs":"./uncompiled/artplayer-plugin-danmuku/index.js"}," ▶ Run Code ",-1),F=s("",3),m=i("div",{className:"run-code","data-libs":"./uncompiled/artplayer-plugin-danmuku/index.js"}," ▶ Run Code ",-1),o=s("",3),C=i("div",{className:"run-code","data-libs":"./uncompiled/artplayer-plugin-danmuku/index.js"}," ▶ Run Code ",-1),B=s("",3),A=i("div",{className:"run-code","data-libs":"./uncompiled/artplayer-plugin-danmuku/index.js"}," ▶ Run Code ",-1),D=s("",3),_=i("div",{className:"run-code","data-libs":"./uncompiled/artplayer-plugin-danmuku/index.js"}," ▶ Run Code ",-1),v=s("",3),f=i("div",{className:"run-code","data-libs":"./uncompiled/artplayer-plugin-danmuku/index.js"}," ▶ Run Code ",-1),T=s("",3),P=i("div",{className:"run-code","data-libs":"./uncompiled/artplayer-plugin-danmuku/index.js"}," ▶ Run Code ",-1),x=s("",2),j=i("div",{className:"run-code","data-libs":"./uncompiled/artplayer-plugin-danmuku/index.js"}," ▶ Run Code ",-1),q=s("",1),w=[h,e,k,t,r,E,d,g,c,y,u,b,F,m,o,C,B,A,D,_,v,f,T,P,x,j,q];function S(V,I,N,R,$,H){return l(),n("div",null,w)}const K=a(p,[["render",S]]);export{M as __pageData,K as default}; diff --git a/document/assets/en_plugin_dash-quality.md.CmKTKIX1.js b/document/assets/en_plugin_dash-quality.md.CmKTKIX1.js deleted file mode 100644 index 30042f0fe..000000000 --- a/document/assets/en_plugin_dash-quality.md.CmKTKIX1.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as a,c as s,o as i,a7 as e}from"./chunks/framework.DXlgpajS.js";const k=JSON.parse('{"title":"Dash Video Quality","description":"","frontmatter":{},"headers":[],"relativePath":"en/plugin/dash-quality.md","filePath":"en/plugin/dash-quality.md","lastUpdated":1700976201000}'),t={name:"en/plugin/dash-quality.md"},l=e('

Dash Video Quality

Demo

👉 View the full demo

Installation

bash
npm install artplayer-plugin-dash-quality
bash
yarn add artplayer-plugin-dash-quality
bash
pnpm add artplayer-plugin-dash-quality
html
<script src="path/to/artplayer-plugin-dash-quality.js"></script>

CDN

bash
https://cdn.jsdelivr.net/npm/artplayer-plugin-dash-quality/dist/artplayer-plugin-dash-quality.js
bash
https://unpkg.com/artplayer-plugin-dash-quality/dist/artplayer-plugin-dash-quality.js
',7),n=[l];function p(d,r,h,o,c,u){return i(),s("div",null,n)}const g=a(t,[["render",p]]);export{k as __pageData,g as default}; diff --git a/document/assets/en_plugin_dash-quality.md.CmKTKIX1.lean.js b/document/assets/en_plugin_dash-quality.md.CmKTKIX1.lean.js deleted file mode 100644 index 7ecf3be2e..000000000 --- a/document/assets/en_plugin_dash-quality.md.CmKTKIX1.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as a,c as s,o as i,a7 as e}from"./chunks/framework.DXlgpajS.js";const k=JSON.parse('{"title":"Dash Video Quality","description":"","frontmatter":{},"headers":[],"relativePath":"en/plugin/dash-quality.md","filePath":"en/plugin/dash-quality.md","lastUpdated":1700976201000}'),t={name:"en/plugin/dash-quality.md"},l=e("",7),n=[l];function p(d,r,h,o,c,u){return i(),s("div",null,n)}const g=a(t,[["render",p]]);export{k as __pageData,g as default}; diff --git a/document/assets/en_plugin_hls-quality.md.BiRuZ3tL.js b/document/assets/en_plugin_hls-quality.md.BiRuZ3tL.js deleted file mode 100644 index 90baf592f..000000000 --- a/document/assets/en_plugin_hls-quality.md.BiRuZ3tL.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as a,c as s,o as i,a7 as e}from"./chunks/framework.DXlgpajS.js";const k=JSON.parse('{"title":"HLS Quality","description":"","frontmatter":{},"headers":[],"relativePath":"en/plugin/hls-quality.md","filePath":"en/plugin/hls-quality.md","lastUpdated":1700976201000}'),t={name:"en/plugin/hls-quality.md"},l=e('

HLS Quality

Demonstration

👉 View the full demo

Installation

bash
npm install artplayer-plugin-hls-quality
bash
yarn add artplayer-plugin-hls-quality
bash
pnpm add artplayer-plugin-hls-quality
html
<script src="path/to/artplayer-plugin-hls-quality.js"></script>

CDN

bash
https://cdn.jsdelivr.net/npm/artplayer-plugin-hls-quality/dist/artplayer-plugin-hls-quality.js
bash
https://unpkg.com/artplayer-plugin-hls-quality/dist/artplayer-plugin-hls-quality.js
',7),n=[l];function p(r,d,h,o,c,u){return i(),s("div",null,n)}const g=a(t,[["render",p]]);export{k as __pageData,g as default}; diff --git a/document/assets/en_plugin_hls-quality.md.BiRuZ3tL.lean.js b/document/assets/en_plugin_hls-quality.md.BiRuZ3tL.lean.js deleted file mode 100644 index 573480ea1..000000000 --- a/document/assets/en_plugin_hls-quality.md.BiRuZ3tL.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as a,c as s,o as i,a7 as e}from"./chunks/framework.DXlgpajS.js";const k=JSON.parse('{"title":"HLS Quality","description":"","frontmatter":{},"headers":[],"relativePath":"en/plugin/hls-quality.md","filePath":"en/plugin/hls-quality.md","lastUpdated":1700976201000}'),t={name:"en/plugin/hls-quality.md"},l=e("",7),n=[l];function p(r,d,h,o,c,u){return i(),s("div",null,n)}const g=a(t,[["render",p]]);export{k as __pageData,g as default}; diff --git a/document/assets/en_plugin_iframe.md.Bb8FK2M7.js b/document/assets/en_plugin_iframe.md.Bb8FK2M7.js deleted file mode 100644 index 917d0fd5d..000000000 --- a/document/assets/en_plugin_iframe.md.Bb8FK2M7.js +++ /dev/null @@ -1,168 +0,0 @@ -import{_ as s,c as i,o as a,a7 as n}from"./chunks/framework.DXlgpajS.js";const y=JSON.parse('{"title":"Iframe Control","description":"","frontmatter":{},"headers":[],"relativePath":"en/plugin/iframe.md","filePath":"en/plugin/iframe.md","lastUpdated":1700976201000}'),l={name:"en/plugin/iframe.md"},p=n(`

Iframe Control

Description

With this plugin, you can easily control the player inside the cross-domain iframe.html page from within index.html. For example, you can control the functionalities of the iframe.html player from index.html or retrieve the values of the iframe.html player.

Demonstration

👉 View full demonstration

Installation

bash
npm install artplayer-plugin-iframe
bash
yarn add artplayer-plugin-iframe
bash
pnpm add artplayer-plugin-iframe
html
<script src="path/to/artplayer-plugin-iframe.js"></script>

CDN

bash
https://cdn.jsdelivr.net/npm/artplayer-plugin-iframe/dist/artplayer-plugin-iframe.js
bash
https://unpkg.com/artplayer-plugin-iframe/dist/artplayer-plugin-iframe.js

Usage

html
<!DOCTYPE html>
-<html>
-    <head>
-        <title>ArtPlayer</title>
-        <meta charset="UTF-8" />
-    </head>
-    <body>
-        <iframe id="iframe"></iframe>
-        <script src="path/to/artplayer-plugin-iframe.js"></script>
-        <script>
-            const iframe = new ArtplayerPluginIframe({
-                // Iframe element
-                iframe: document.querySelector('#iframe'),
-                // Iframe url
-                url: 'path/to/iframe.html',
-            });
-
-            // Send message to iframe
-            iframe.commit(() => {
-                var art = new Artplayer({
-                    container: '.artplayer-app',
-                    url: 'path/to/video.mp4',
-                });
-            });
-        </script>
-    </body>
-</html>
html
<!DOCTYPE html>
-<html>
-    <head>
-        <title>ArtPlayer</title>
-        <meta charset="UTF-8" />
-        <style>
-            html,
-            body {
-                width: 100%;
-                height: 100%;
-                margin: 0;
-                padding: 0;
-            }
-        </style>
-    </head>
-    <body>
-        <div class="artplayer-app" style="width: 100%; height: 100%;"></div>
-        <script src="path/to/artplayer.js"></script>
-        <script src="path/to/artplayer-plugin-iframe.js"></script>
-        <script>
-            // Inject scripts to receive messages from instances
-            ArtplayerPluginIframe.inject();
-        </script>
-    </body>
-</html>

index.html Interface

commit

Push messages from index.html to iframe.html. This function will run inside iframe.html and can also be used to asynchronously retrieve values from within iframe.html.

js
iframe.commit(() => {
-    var art = new Artplayer({
-        container: '.artplayer-app',
-        url: 'path/to/video.mp4',
-    });
-});
-
-iframe.commit(() => {
-    art.seek = 5;
-});
-
-// Get the value from the iframe.html
-(async function () {
-    // Use the return keyword
-    var currentTime = await iframe.commit(() => {
-        return art.currentTime;
-    });
-
-    // or use the resolve method
-    var currentTime2 = await iframe.commit((resolve) => {
-        setTimeout(() => {
-            resolve(art.currentTime);
-        }, 1000);
-    });
-})();

message

Receive messages from iframe.html in index.html

js
iframe.message((event) => {
-    console.info(event);
-});

destroy

After destruction, index.html can no longer communicate with iframe.html

js
iframe.destroy();

iframe.html Interface

Warning

The iframe.html interface can only run inside iframe.html

inject

Inject a script, receive messages from index.html

js
ArtplayerPluginIframe.inject();

postMessage

Push messages to index.html

js
iframe.message((event) => {
-    console.info(event);
-});
-
-iframe.commit(() => {
-    ArtplayerPluginIframe.postMessage({
-        type: 'currentTime',
-        data: art.currentTime,
-    });
-});

例子

最常遇到的问题是,播放器在 iframe.html 里进行网页全屏,但在 index.html 是不生效的,这时候只要监听 iframe.html 里的 fullscreenWeb 事件并通知到 index.html 即可

html

-<!DOCTYPE html>
-<html>
-    <head>
-        <title>ArtPlayer</title>
-        <meta charset="UTF-8" />
-    </head>
-    <body>
-        <iframe id="iframe"></iframe>
-        <script src="path/to/artplayer-plugin-iframe.js"></script>
-        <style>
-            .fullscreenWeb {
-                position: fixed;
-                z-index: 9999;
-                width: 100%;
-                height: 100%;
-                left: 0;
-                top: 0;
-                right: 0;
-                bottom: 0;
-            }
-        </style>
-        <script>
-            const $iframe = document.querySelector('#iframe');
-            const iframe = new ArtplayerPluginIframe({
-                iframe: $iframe,
-                url: 'path/to/iframe.html',
-            });
-
-            iframe.message(({ type, data }) => {
-                switch (type) {
-                    case 'fullscreenWeb':
-                        if (data) {
-                            $iframe.classList.add('fullscreenWeb');
-                        } else {
-                            $iframe.classList.remove('fullscreenWeb');
-                        }
-                        break;
-                    default:
-                        break;
-                }
-            });
-
-            iframe.commit(() => {
-                var art = new Artplayer({
-                    container: '.artplayer-app',
-                    url: 'path/to/video.mp4',
-                });
-
-                art.on('fullscreenWeb', (state) => {
-                    ArtplayerPluginIframe.postMessage({
-                        type: 'fullscreenWeb',
-                        data: state,
-                    });
-                });
-            });
-        </script>
-    </body>
-</html>
html

-<!DOCTYPE html>
-<html>
-    <head>
-        <title>ArtPlayer</title>
-        <meta charset="UTF-8" />
-        <style>
-            html,
-            body {
-                width: 100%;
-                height: 100%;
-                margin: 0;
-                padding: 0;
-            }
-        </style>
-    </head>
-    <body>
-        <div class="artplayer-app" style="width: 100%; height: 100%;"></div>
-        <script src="path/to/artplayer.js"></script>
-        <script src="path/to/artplayer-plugin-iframe.js"></script>
-        <script>
-            ArtplayerPluginIframe.inject();
-        </script>
-    </body>
-</html>
`,32),h=[p];function e(t,k,r,E,d,g){return a(),i("div",null,h)}const b=s(l,[["render",e]]);export{y as __pageData,b as default}; diff --git a/document/assets/en_plugin_iframe.md.Bb8FK2M7.lean.js b/document/assets/en_plugin_iframe.md.Bb8FK2M7.lean.js deleted file mode 100644 index 28e15a90e..000000000 --- a/document/assets/en_plugin_iframe.md.Bb8FK2M7.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as s,c as i,o as a,a7 as n}from"./chunks/framework.DXlgpajS.js";const y=JSON.parse('{"title":"Iframe Control","description":"","frontmatter":{},"headers":[],"relativePath":"en/plugin/iframe.md","filePath":"en/plugin/iframe.md","lastUpdated":1700976201000}'),l={name:"en/plugin/iframe.md"},p=n("",32),h=[p];function e(t,k,r,E,d,g){return a(),i("div",null,h)}const b=s(l,[["render",e]]);export{y as __pageData,b as default}; diff --git a/document/assets/en_start_i18n.md.DHealdL7.js b/document/assets/en_start_i18n.md.Bm8clzNy.js similarity index 97% rename from document/assets/en_start_i18n.md.DHealdL7.js rename to document/assets/en_start_i18n.md.Bm8clzNy.js index 36fc21167..bdd386c6e 100644 --- a/document/assets/en_start_i18n.md.DHealdL7.js +++ b/document/assets/en_start_i18n.md.Bm8clzNy.js @@ -1,8 +1,8 @@ -import{_ as s,c as a,o as i,a7 as n}from"./chunks/framework.DXlgpajS.js";const o=JSON.parse('{"title":"Language Settings","description":"","frontmatter":{},"headers":[],"relativePath":"en/start/i18n.md","filePath":"en/start/i18n.md","lastUpdated":1700976201000}'),l={name:"en/start/i18n.md"},e=n(`

Language Settings

DANGER

Given the increasing number of bundled multilingual packs, starting from version 5.1.0, the core code of artplayer.js will no longer include other languages besides Simplified Chinese and English. You need to import the required languages on your own.

WARNING

When a language cannot be matched, English will be displayed by default. For i18n usage, refer to: artplayer/types/i18n.d.ts

Default Languages

The default languages are: en, zh-cn, which do not require manual import.

js
var art = new Artplayer({
+import{_ as s,c as a,o as i,a7 as n}from"./chunks/framework.DHbvjPBJ.js";const o=JSON.parse('{"title":"Language Settings","description":"","frontmatter":{},"headers":[],"relativePath":"en/start/i18n.md","filePath":"en/start/i18n.md","lastUpdated":1724256543000}'),l={name:"en/start/i18n.md"},e=n(`

Language Settings

DANGER

Given the increasing number of bundled multilingual packs, starting from version 5.1.0, the core code of artplayer.js will no longer include other languages besides Simplified Chinese and English. You need to import the required languages on your own.

WARNING

When a language cannot be matched, English will be displayed by default. For i18n usage, refer to: artplayer/types/i18n.d.ts

Default Languages

The default languages are: en, zh-cn, which do not require manual import.

js
var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
     lang: 'zh-cn', // or 'en'
-});

Importing Languages

Language files before packaging are located in: artplayer/src/i18n/*.js. You are welcome to add your language. Packaged language files are located at: artplayer/dist/i18n/*.js

Manually imported languages include: cs, es, fa, fr, id, pl, ru, zh-tw

js
import id from 'artplayer/dist/i18n/id.js';
+});

Importing Languages

Language files before packaging are located in: artplayer/src/i18n/*.js. You are welcome to add your language. Packaged language files are located at: artplayer/dist/i18n/*.js

Manually imported languages include: cs, es, fa, fr, id, pl, ru, zh-tw

js
import id from 'artplayer/dist/i18n/id.js';
 import zhTw from 'artplayer/dist/i18n/zh-tw.js';
 
 var art = new Artplayer({
diff --git a/document/assets/en_start_i18n.md.Bm8clzNy.lean.js b/document/assets/en_start_i18n.md.Bm8clzNy.lean.js
new file mode 100644
index 000000000..3e6b07402
--- /dev/null
+++ b/document/assets/en_start_i18n.md.Bm8clzNy.lean.js
@@ -0,0 +1 @@
+import{_ as s,c as a,o as i,a7 as n}from"./chunks/framework.DHbvjPBJ.js";const o=JSON.parse('{"title":"Language Settings","description":"","frontmatter":{},"headers":[],"relativePath":"en/start/i18n.md","filePath":"en/start/i18n.md","lastUpdated":1724256543000}'),l={name:"en/start/i18n.md"},e=n("",14),p=[e];function t(h,r,k,d,E,g){return i(),a("div",null,p)}const y=s(l,[["render",t]]);export{o as __pageData,y as default};
diff --git a/document/assets/en_start_i18n.md.DHealdL7.lean.js b/document/assets/en_start_i18n.md.DHealdL7.lean.js
deleted file mode 100644
index e35026d82..000000000
--- a/document/assets/en_start_i18n.md.DHealdL7.lean.js
+++ /dev/null
@@ -1 +0,0 @@
-import{_ as s,c as a,o as i,a7 as n}from"./chunks/framework.DXlgpajS.js";const o=JSON.parse('{"title":"Language Settings","description":"","frontmatter":{},"headers":[],"relativePath":"en/start/i18n.md","filePath":"en/start/i18n.md","lastUpdated":1700976201000}'),l={name:"en/start/i18n.md"},e=n("",14),p=[e];function t(h,r,k,d,E,g){return i(),a("div",null,p)}const y=s(l,[["render",t]]);export{o as __pageData,y as default};
diff --git a/document/assets/en_start_option.md.C8PufWlv.js b/document/assets/en_start_option.md.DQ8fijxb.js
similarity index 95%
rename from document/assets/en_start_option.md.C8PufWlv.js
rename to document/assets/en_start_option.md.DQ8fijxb.js
index 8ca25591d..18c3117ee 100644
--- a/document/assets/en_start_option.md.C8PufWlv.js
+++ b/document/assets/en_start_option.md.DQ8fijxb.js
@@ -1,4 +1,4 @@
-import{_ as a,c as n,o as e,a7 as s,j as i}from"./chunks/framework.DXlgpajS.js";const hi=JSON.parse('{"title":"Basic Options","description":"","frontmatter":{},"headers":[],"relativePath":"en/start/option.md","filePath":"en/start/option.md","lastUpdated":1700976201000}'),l={name:"en/start/option.md"},p=s('

Basic Options

container

  • Type: String, Element
  • Default: #artplayer

The DOM container where the player mounts

',4),t=i("div",{className:"run-code"},"▶ Run Code",-1),h=s(`
js
var art = new Artplayer({
+import{_ as a,c as n,o as e,a7 as s,j as i}from"./chunks/framework.DHbvjPBJ.js";const hi=JSON.parse('{"title":"Basic Options","description":"","frontmatter":{},"headers":[],"relativePath":"en/start/option.md","filePath":"en/start/option.md","lastUpdated":1724256543000}'),l={name:"en/start/option.md"},p=s('

Basic Options

container

  • Type: String, Element
  • Default: #artplayer

The DOM container where the player mounts

',4),t=i("div",{className:"run-code"},"▶ Run Code",-1),h=s(`
js
var art = new Artplayer({
     container: '.artplayer-app', 
     // container: document.querySelector('.artplayer-app'),
     url: '/assets/sample/video.mp4',
@@ -101,7 +101,7 @@ import{_ as a,c as n,o as e,a7 as s,j as i}from"./chunks/framework.DXlgpajS.js";
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
     hotkey: true,
-});
HotkeyDescription
Increase volume
Decrease volume
Fast forward video
Rewind video
spaceToggle play/pause

Tip

These hotkeys will only work after the player gains focus (such as after clicking on the player).

pip

  • Type: Boolean
  • Default: false Show the Picture in Picture switch button on the bottom control bar
`,5),Y=i("div",{className:"run-code"},"▶ Run Code",-1),Q=s(`
js
var art = new Artplayer({
+});
HotkeyDescription
Increase volume
Decrease volume
Fast forward video
Rewind video
spaceToggle play/pause

Tip

These hotkeys will only work after the player gains focus (such as after clicking on the player).

pip

  • Type: Boolean
  • Default: false Show the Picture in Picture switch button on the bottom control bar
`,5),Y=i("div",{className:"run-code"},"▶ Run Code",-1),Q=s(`
js
var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
     pip: true,
@@ -225,7 +225,7 @@ import{_ as a,c as n,o as e,a7 as s,j as i}from"./chunks/framework.DXlgpajS.js";
             },
         },
     ],
-});

Component Configuration Refer to the following address:

/component/controls.html

quality

  • Type: Array
  • Default: []

Whether to show the quality selection list in the bottom control bar

PropertyTypeDescription
defaultBooleanDefault quality
htmlStringQuality name
urlStringQuality URL
`,6),us=i("div",{className:"run-code"},"▶ Run Code",-1),bs=s(`
js
var art = new Artplayer({
+});

Component Configuration Refer to the following address:

/component/controls.html

quality

  • Type: Array
  • Default: []

Whether to show the quality selection list in the bottom control bar

PropertyTypeDescription
defaultBooleanDefault quality
htmlStringQuality name
urlStringQuality URL
`,6),us=i("div",{className:"run-code"},"▶ Run Code",-1),bs=s(`
js
var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
     quality: [
@@ -239,7 +239,7 @@ import{_ as a,c as n,o as e,a7 as s,j as i}from"./chunks/framework.DXlgpajS.js";
             url: '/assets/sample/video.mp4',
         },
     ],
-});

highlight

  • Type: Array
  • Default: []

Show highlight information on the progress bar

PropertyTypeDescription
timeNumberHighlight time (in seconds)
textStringHighlight text
`,5),ms=i("div",{className:"run-code"},"▶ Run Code",-1),Fs=s(`
js
var art = new Artplayer({
+});

highlight

  • Type: Array
  • Default: []

Show highlight information on the progress bar

PropertyTypeDescription
timeNumberHighlight time (in seconds)
textStringHighlight text
`,5),ms=i("div",{className:"run-code"},"▶ Run Code",-1),Fs=s(`
js
var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
     highlight: [
@@ -279,7 +279,7 @@ import{_ as a,c as n,o as e,a7 as s,j as i}from"./chunks/framework.DXlgpajS.js";
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
     plugins: [myPlugin],
-});

thumbnails

  • Type: Object
  • Default: {}

Set thumbnails on the progress bar

PropertyTypeDescription
urlStringThumbnail URL
numberNumberNumber of thumbnails
columnNumberColumns of thumbnails
widthNumberThumbnail width
heightNumberThumbnail height
`,5),Cs=i("div",{className:"run-code"},"▶ Run Code",-1),As=s(`
js
var art = new Artplayer({
+});

thumbnails

  • Type: Object
  • Default: {}

Set thumbnails on the progress bar

PropertyTypeDescription
urlStringThumbnail URL
numberNumberNumber of thumbnails
columnNumberColumns of thumbnails
widthNumberThumbnail width
heightNumberThumbnail height
`,5),Cs=i("div",{className:"run-code"},"▶ Run Code",-1),As=s(`
js
var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
     thumbnails: {
@@ -287,7 +287,7 @@ import{_ as a,c as n,o as e,a7 as s,j as i}from"./chunks/framework.DXlgpajS.js";
         number: 60,
         column: 10,
     },
-});

Online thumbnail generation

artplayer-tool-thumbnail

subtitle

  • Type: Object
  • Default: {}

Set the video subtitles, supporting subtitle formats: vtt, srt, ass

PropertyTypeDescription
nameStringSubtitle name
urlStringSubtitle URL
typeStringSubtitle type, options: vtt, srt, ass

| style | Object | Subtitle style | | encoding | String | Subtitle encoding, default utf-8 | | escape | Boolean | Whether to escape html tags, default true | | onVttLoad | Function | Function to modify vtt text |

`,7),Ts=i("div",{className:"run-code"},"▶ Run Code",-1),Bs=s(`
js
var art = new Artplayer({
+});

Online thumbnail generation

artplayer-tool-thumbnail

subtitle

  • Type: Object
  • Default: {}

Set the video subtitles, supporting subtitle formats: vtt, srt, ass

PropertyTypeDescription
nameStringSubtitle name
urlStringSubtitle URL
typeStringSubtitle type, options: vtt, srt, ass

| style | Object | Subtitle style | | encoding | String | Subtitle encoding, default utf-8 | | escape | Boolean | Whether to escape html tags, default true | | onVttLoad | Function | Function to modify vtt text |

`,7),Ts=i("div",{className:"run-code"},"▶ Run Code",-1),Bs=s(`
js
var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
     subtitle: {
diff --git a/document/assets/en_start_option.md.C8PufWlv.lean.js b/document/assets/en_start_option.md.DQ8fijxb.lean.js
similarity index 96%
rename from document/assets/en_start_option.md.C8PufWlv.lean.js
rename to document/assets/en_start_option.md.DQ8fijxb.lean.js
index 5252a2f0f..aa1965d14 100644
--- a/document/assets/en_start_option.md.C8PufWlv.lean.js
+++ b/document/assets/en_start_option.md.DQ8fijxb.lean.js
@@ -1 +1 @@
-import{_ as a,c as n,o as e,a7 as s,j as i}from"./chunks/framework.DXlgpajS.js";const hi=JSON.parse('{"title":"Basic Options","description":"","frontmatter":{},"headers":[],"relativePath":"en/start/option.md","filePath":"en/start/option.md","lastUpdated":1700976201000}'),l={name:"en/start/option.md"},p=s("",4),t=i("div",{className:"run-code"},"▶ Run Code",-1),h=s("",9),r=i("div",{className:"run-code"},"▶ Run Code",-1),k=s("",2),d=i("div",{className:"run-code"},"▶ Run Code",-1),E=s("",5),c=i("div",{className:"run-code"},"▶ Run Code",-1),o=s("",4),g=i("div",{className:"run-code"},"▶ Run Code",-1),y=s("",7),u=i("div",{className:"run-code"},"▶ Run Code",-1),b=s("",4),m=i("div",{className:"run-code"},"▶ Run Code",-1),F=s("",4),_=i("div",{className:"run-code"},"▶ Run Code",-1),v=s("",5),C=i("div",{className:"run-code"},"▶ Run Code",-1),A=s("",4),T=i("div",{className:"run-code"},"▶ Run Code",-1),B=s("",6),f=i("div",{className:"run-code"},"▶ Run Code",-1),D=s("",5),S=i("div",{className:"run-code"},"▶ Run Code",-1),w=s("",4),P=i("div",{className:"run-code"},"▶ Run Code",-1),x=s("",4),R=i("div",{className:"run-code"},"▶ Run Code",-1),q=s("",4),j=i("div",{className:"run-code"},"▶ Run Code",-1),I=s("",4),V=i("div",{className:"run-code"},"▶ Run Code",-1),N=s("",4),W=i("div",{className:"run-code"},"▶ Run Code",-1),z=s("",4),O=i("div",{className:"run-code"},"▶ Run Code",-1),M=s("",5),L=i("div",{className:"run-code"},"▶ Run Code",-1),H=s("",4),U=i("div",{className:"run-code"},"▶ Run Code",-1),$=s("",5),Y=i("div",{className:"run-code"},"▶ Run Code",-1),Q=s("",4),J=i("div",{className:"run-code"},"▶ Run Code",-1),G=s("",3),K=i("div",{className:"run-code"},"▶ Run Code",-1),X=s("",4),Z=i("div",{className:"run-code"},"▶ Run Code",-1),ss=s("",4),is=i("div",{className:"run-code"},"▶ Run Code",-1),as=s("",4),ns=i("div",{className:"run-code"},"▶ Run Code",-1),es=s("",5),ls=i("div",{className:"run-code"},"▶ Run Code",-1),ps=s("",4),ts=i("div",{className:"run-code"},"▶ Run Code",-1),hs=s("",4),rs=i("div",{className:"run-code"},"▶ Run Code",-1),ks=s("",5),ds=i("div",{className:"run-code"},"▶ Run Code",-1),Es=s("",5),cs=i("div",{className:"run-code"},"▶ Run Code",-1),os=s("",5),gs=i("div",{className:"run-code"},"▶ Run Code",-1),ys=s("",6),us=i("div",{className:"run-code"},"▶ Run Code",-1),bs=s("",5),ms=i("div",{className:"run-code"},"▶ Run Code",-1),Fs=s("",4),_s=i("div",{className:"run-code"},"▶ Run Code",-1),vs=s("",5),Cs=i("div",{className:"run-code"},"▶ Run Code",-1),As=s("",7),Ts=i("div",{className:"run-code"},"▶ Run Code",-1),Bs=s("",4),fs=i("div",{className:"run-code"},"▶ Run Code",-1),Ds=s("",4),Ss=i("div",{className:"run-code"},"▶ Run Code",-1),ws=s("",5),Ps=i("div",{className:"run-code"},"▶ Run Code",-1),xs=s("",6),Rs=i("div",{className:"run-code"},"▶ Run Code",-1),qs=s("",4),js=i("div",{className:"run-code"},"▶ Run Code",-1),Is=s("",6),Vs=i("div",{className:"run-code"},"▶ Run Code",-1),Ns=s("",2),Ws=i("div",{className:"run-code"},"▶ Run Code",-1),zs=s("",5),Os=i("div",{className:"run-code"},"▶ Run Code",-1),Ms=s("",4),Ls=i("div",{className:"run-code"},"▶ Run Code",-1),Hs=s("",4),Us=i("div",{className:"run-code"},"▶ Run Code",-1),$s=s("",5),Ys=i("div",{className:"run-code"},"▶ Run Code",-1),Qs=s("",4),Js=i("div",{className:"run-code"},"▶ Run Code",-1),Gs=s("",4),Ks=i("div",{className:"run-code"},"▶ Run Code",-1),Xs=s("",2),Zs=[p,t,h,r,k,d,E,c,o,g,y,u,b,m,F,_,v,C,A,T,B,f,D,S,w,P,x,R,q,j,I,V,N,W,z,O,M,L,H,U,$,Y,Q,J,G,K,X,Z,ss,is,as,ns,es,ls,ps,ts,hs,rs,ks,ds,Es,cs,os,gs,ys,us,bs,ms,Fs,_s,vs,Cs,As,Ts,Bs,fs,Ds,Ss,ws,Ps,xs,Rs,qs,js,Is,Vs,Ns,Ws,zs,Os,Ms,Ls,Hs,Us,$s,Ys,Qs,Js,Gs,Ks,Xs];function si(ii,ai,ni,ei,li,pi){return e(),n("div",null,Zs)}const ri=a(l,[["render",si]]);export{hi as __pageData,ri as default};
+import{_ as a,c as n,o as e,a7 as s,j as i}from"./chunks/framework.DHbvjPBJ.js";const hi=JSON.parse('{"title":"Basic Options","description":"","frontmatter":{},"headers":[],"relativePath":"en/start/option.md","filePath":"en/start/option.md","lastUpdated":1724256543000}'),l={name:"en/start/option.md"},p=s("",4),t=i("div",{className:"run-code"},"▶ Run Code",-1),h=s("",9),r=i("div",{className:"run-code"},"▶ Run Code",-1),k=s("",2),d=i("div",{className:"run-code"},"▶ Run Code",-1),E=s("",5),c=i("div",{className:"run-code"},"▶ Run Code",-1),o=s("",4),g=i("div",{className:"run-code"},"▶ Run Code",-1),y=s("",7),u=i("div",{className:"run-code"},"▶ Run Code",-1),b=s("",4),m=i("div",{className:"run-code"},"▶ Run Code",-1),F=s("",4),_=i("div",{className:"run-code"},"▶ Run Code",-1),v=s("",5),C=i("div",{className:"run-code"},"▶ Run Code",-1),A=s("",4),T=i("div",{className:"run-code"},"▶ Run Code",-1),B=s("",6),f=i("div",{className:"run-code"},"▶ Run Code",-1),D=s("",5),S=i("div",{className:"run-code"},"▶ Run Code",-1),w=s("",4),P=i("div",{className:"run-code"},"▶ Run Code",-1),x=s("",4),R=i("div",{className:"run-code"},"▶ Run Code",-1),q=s("",4),j=i("div",{className:"run-code"},"▶ Run Code",-1),I=s("",4),V=i("div",{className:"run-code"},"▶ Run Code",-1),N=s("",4),W=i("div",{className:"run-code"},"▶ Run Code",-1),z=s("",4),O=i("div",{className:"run-code"},"▶ Run Code",-1),M=s("",5),L=i("div",{className:"run-code"},"▶ Run Code",-1),H=s("",4),U=i("div",{className:"run-code"},"▶ Run Code",-1),$=s("",5),Y=i("div",{className:"run-code"},"▶ Run Code",-1),Q=s("",4),J=i("div",{className:"run-code"},"▶ Run Code",-1),G=s("",3),K=i("div",{className:"run-code"},"▶ Run Code",-1),X=s("",4),Z=i("div",{className:"run-code"},"▶ Run Code",-1),ss=s("",4),is=i("div",{className:"run-code"},"▶ Run Code",-1),as=s("",4),ns=i("div",{className:"run-code"},"▶ Run Code",-1),es=s("",5),ls=i("div",{className:"run-code"},"▶ Run Code",-1),ps=s("",4),ts=i("div",{className:"run-code"},"▶ Run Code",-1),hs=s("",4),rs=i("div",{className:"run-code"},"▶ Run Code",-1),ks=s("",5),ds=i("div",{className:"run-code"},"▶ Run Code",-1),Es=s("",5),cs=i("div",{className:"run-code"},"▶ Run Code",-1),os=s("",5),gs=i("div",{className:"run-code"},"▶ Run Code",-1),ys=s("",6),us=i("div",{className:"run-code"},"▶ Run Code",-1),bs=s("",5),ms=i("div",{className:"run-code"},"▶ Run Code",-1),Fs=s("",4),_s=i("div",{className:"run-code"},"▶ Run Code",-1),vs=s("",5),Cs=i("div",{className:"run-code"},"▶ Run Code",-1),As=s("",7),Ts=i("div",{className:"run-code"},"▶ Run Code",-1),Bs=s("",4),fs=i("div",{className:"run-code"},"▶ Run Code",-1),Ds=s("",4),Ss=i("div",{className:"run-code"},"▶ Run Code",-1),ws=s("",5),Ps=i("div",{className:"run-code"},"▶ Run Code",-1),xs=s("",6),Rs=i("div",{className:"run-code"},"▶ Run Code",-1),qs=s("",4),js=i("div",{className:"run-code"},"▶ Run Code",-1),Is=s("",6),Vs=i("div",{className:"run-code"},"▶ Run Code",-1),Ns=s("",2),Ws=i("div",{className:"run-code"},"▶ Run Code",-1),zs=s("",5),Os=i("div",{className:"run-code"},"▶ Run Code",-1),Ms=s("",4),Ls=i("div",{className:"run-code"},"▶ Run Code",-1),Hs=s("",4),Us=i("div",{className:"run-code"},"▶ Run Code",-1),$s=s("",5),Ys=i("div",{className:"run-code"},"▶ Run Code",-1),Qs=s("",4),Js=i("div",{className:"run-code"},"▶ Run Code",-1),Gs=s("",4),Ks=i("div",{className:"run-code"},"▶ Run Code",-1),Xs=s("",2),Zs=[p,t,h,r,k,d,E,c,o,g,y,u,b,m,F,_,v,C,A,T,B,f,D,S,w,P,x,R,q,j,I,V,N,W,z,O,M,L,H,U,$,Y,Q,J,G,K,X,Z,ss,is,as,ns,es,ls,ps,ts,hs,rs,ks,ds,Es,cs,os,gs,ys,us,bs,ms,Fs,_s,vs,Cs,As,Ts,Bs,fs,Ds,Ss,ws,Ps,xs,Rs,qs,js,Is,Vs,Ns,Ws,zs,Os,Ms,Ls,Hs,Us,$s,Ys,Qs,Js,Gs,Ks,Xs];function si(ii,ai,ni,ei,li,pi){return e(),n("div",null,Zs)}const ri=a(l,[["render",si]]);export{hi as __pageData,ri as default};
diff --git a/document/assets/index.md.QqOTVt-D.js b/document/assets/index.md.BFGhgebz.js
similarity index 88%
rename from document/assets/index.md.QqOTVt-D.js
rename to document/assets/index.md.BFGhgebz.js
index 9b05bb292..1c97894bf 100644
--- a/document/assets/index.md.QqOTVt-D.js
+++ b/document/assets/index.md.BFGhgebz.js
@@ -1,9 +1,4 @@
-import{_ as s,c as i,o as a,a7 as n}from"./chunks/framework.DXlgpajS.js";const y=JSON.parse('{"title":"安装使用","description":"","frontmatter":{},"headers":[],"relativePath":"index.md","filePath":"index.md","lastUpdated":1704849613000}'),l={name:"index.md"},p=n(`

安装使用

安装

bash
npm install artplayer
bash
yarn add artplayer
bash
pnpm add artplayer
html
<script src="path/to/artplayer.js"></script>

CDN

bash
https://cdn.jsdelivr.net/npm/artplayer/dist/artplayer.js
bash
https://unpkg.com/artplayer/dist/artplayer.js

使用

js
import Artplayer from 'artplayer';
-
-const art = new Artplayer({
-    container: '.artplayer-app',
-    url: 'path/to/video.mp4',
-});
html
<html>
+import{_ as s,c as i,o as a,a7 as n}from"./chunks/framework.DHbvjPBJ.js";const y=JSON.parse('{"title":"安装使用","description":"","frontmatter":{},"headers":[],"relativePath":"index.md","filePath":"index.md","lastUpdated":1724256543000}'),l={name:"index.md"},p=n(`

安装使用

安装

bash
npm install artplayer
bash
yarn add artplayer
bash
pnpm add artplayer
html
<script src="path/to/artplayer.js"></script>

CDN

bash
https://cdn.jsdelivr.net/npm/artplayer/dist/artplayer.js
bash
https://unpkg.com/artplayer/dist/artplayer.js

使用

html
<html>
     <head>
         <title>ArtPlayer Demo</title>
         <meta charset="UTF-8" />
@@ -16,8 +11,15 @@ import{_ as s,c as i,o as a,a7 as n}from"./chunks/framework.DXlgpajS.js";const y
     </head>
     <body>
         <div class="artplayer-app"></div>
+        <script src="path/to/artplayer.js"></script>
+        <script>
+          const art = new Artplayer({
+              container: '.artplayer-app',
+              url: 'path/to/video.mp4',
+          });
+        </script>
     </body>
-</html>

提示

播放器的尺寸依赖于容器 container 的尺寸,所以你的容器 container 必须是有尺寸的

以下链接可以看到更多的使用例子

/packages/artplayer-template

Vue.js

vue
<template>
+</html>

提示

播放器的尺寸依赖于容器 container 的尺寸,所以你的容器 container 必须是有尺寸的

以下链接可以看到更多的使用例子

/packages/artplayer-template

Vue.js

vue
<template>
   <div ref="artRef"></div>
 </template>
 
@@ -81,7 +83,7 @@ import{_ as s,c as i,o as a,a7 as n}from"./chunks/framework.DXlgpajS.js";const y
     },
   },
 };
-</script>

Artplayer 非响应式:

Vue.js 里直接修改 option 是不会改变播放器的

React.js

jsx
import { useEffect, useRef } from 'react';
+</script>

Artplayer 非响应式:

Vue.js 里直接修改 option 是不会改变播放器的

React.js

jsx
import { useEffect, useRef } from 'react';
 import Artplayer from 'artplayer';
 
 export default function Player({ option, getInstance, ...rest }) {
@@ -132,17 +134,16 @@ import{_ as s,c as i,o as a,a7 as n}from"./chunks/framework.DXlgpajS.js";const y
 art.value = new Artplayer();
 </script>

React.js

jsx
import Artplayer from 'artplayer';
 const art = useRef<Artplayer>(null);
-art.current = new Artplayer();

Option

你也可以单独导入选项的类型

ts
import Artplayer from 'artplayer';
-import { type Option } from 'artplayer/types/option';
+art.current = new Artplayer();

Option

你也可以使用选项的类型

ts
import Artplayer from 'artplayer';
 
-const option: Option = {
+const option: Artplayer['Option'] = {
     container: '.artplayer-app',
     url: './assets/sample/video.mp4',
 };
 
 option.volume = 0.5;
 
-const art = new Artplayer(option);

全部 TypeScript 定义

packages/artplayer/types

JavaScript

有时你的 js 文件会丢失 TypeScript 的类型提示,这时候你可以手动导入类型

变量:

js
/**
+const art = new Artplayer(option);

全部 TypeScript 定义

packages/artplayer/types

JavaScript

有时你的 js 文件会丢失 TypeScript 的类型提示,这时候你可以手动导入类型

变量:

js
/**
  * @type {import("artplayer")}
  */
 let art = null;

参数:

js
/**
@@ -170,4 +171,4 @@ import{_ as s,c as i,o as a,a7 as n}from"./chunks/framework.DXlgpajS.js";const y
 
 option.volume = 0.5;
 
-const art8 = new Artplayer(option);

古老的浏览器

生产构建的 artplayer.js 只兼容最新一个主版本的 Chromelast 1 Chrome version

对于古老的浏览器,可以使用 artplayer.legacy.js 文件,可以兼容到:IE 11

js
import Artplayer from 'artplayer/dist/artplayer.legacy.js';
bash
https://cdn.jsdelivr.net/npm/artplayer/dist/artplayer.legacy.js
bash
https://unpkg.com/artplayer/dist/artplayer.legacy.js

假如你要兼容更古老的浏览器时,请修改以下配置然后自行构建:

构建配置:scripts/build.js

参考文档:browserslist

`,41),e=[p];function t(h,k,r,E,d,c){return a(),i("div",null,e)}const b=s(l,[["render",t]]);export{y as __pageData,b as default}; +const art8 = new Artplayer(option);

古老的浏览器

生产构建的 artplayer.js 只兼容最新一个主版本的 Chromelast 1 Chrome version

对于古老的浏览器,可以使用 artplayer.legacy.js 文件,可以兼容到:IE 11

js
import Artplayer from 'artplayer/dist/artplayer.legacy.js';
bash
https://cdn.jsdelivr.net/npm/artplayer/dist/artplayer.legacy.js
bash
https://unpkg.com/artplayer/dist/artplayer.legacy.js

假如你要兼容更古老的浏览器时,请修改以下配置然后自行构建:

构建配置:scripts/build.js

参考文档:browserslist

`,41),e=[p];function t(h,k,r,E,d,c){return a(),i("div",null,e)}const b=s(l,[["render",t]]);export{y as __pageData,b as default}; diff --git a/document/assets/index.md.QqOTVt-D.lean.js b/document/assets/index.md.BFGhgebz.lean.js similarity index 51% rename from document/assets/index.md.QqOTVt-D.lean.js rename to document/assets/index.md.BFGhgebz.lean.js index d2f3117d8..165441b0c 100644 --- a/document/assets/index.md.QqOTVt-D.lean.js +++ b/document/assets/index.md.BFGhgebz.lean.js @@ -1 +1 @@ -import{_ as s,c as i,o as a,a7 as n}from"./chunks/framework.DXlgpajS.js";const y=JSON.parse('{"title":"安装使用","description":"","frontmatter":{},"headers":[],"relativePath":"index.md","filePath":"index.md","lastUpdated":1704849613000}'),l={name:"index.md"},p=n("",41),e=[p];function t(h,k,r,E,d,c){return a(),i("div",null,e)}const b=s(l,[["render",t]]);export{y as __pageData,b as default}; +import{_ as s,c as i,o as a,a7 as n}from"./chunks/framework.DHbvjPBJ.js";const y=JSON.parse('{"title":"安装使用","description":"","frontmatter":{},"headers":[],"relativePath":"index.md","filePath":"index.md","lastUpdated":1724256543000}'),l={name:"index.md"},p=n("",41),e=[p];function t(h,k,r,E,d,c){return a(),i("div",null,e)}const b=s(l,[["render",t]]);export{y as __pageData,b as default}; diff --git a/document/assets/library_dash.md.1Czoi6Go.js b/document/assets/library_dash.md.1Czoi6Go.js deleted file mode 100644 index e628efbaf..000000000 --- a/document/assets/library_dash.md.1Czoi6Go.js +++ /dev/null @@ -1,24 +0,0 @@ -import{_ as i,c as n,o as l,j as s,a,a7 as p}from"./chunks/framework.DXlgpajS.js";const m=JSON.parse('{"title":"dash.js","description":"","frontmatter":{},"headers":[],"relativePath":"library/dash.md","filePath":"library/dash.md","lastUpdated":1682237343000}'),h={name:"library/dash.md"},t=s("h1",{id:"dash-js",tabindex:"-1"},[a("dash.js "),s("a",{class:"header-anchor",href:"#dash-js","aria-label":'Permalink to "dash.js"'},"​")],-1),e=s("p",null,[a("👉 "),s("a",{href:"https://github.com/Dash-Industry-Forum/dash.js",target:"_blank",rel:"noreferrer"},"https://github.com/Dash-Industry-Forum/dash.js")],-1),k=s("div",{className:"run-code","data-libs":"https://cdnjs.cloudflare.com/ajax/libs/dashjs/4.5.2/dash.all.min.js"}," ▶ Run Code ",-1),r=p(`
js
function playMpd(video, url, art) {
-    if (dashjs.supportsMediaSource()) {
-        if (art.dash) art.dash.destroy();
-        const dash = dashjs.MediaPlayer().create();
-        dash.initialize(video, url, art.option.autoplay);
-        art.dash = dash; 
-        art.on('destroy', () => dash.destroy());
-    } else {
-        art.notice.show = 'Unsupported playback format: mpd';
-    }
-}
-
-var art = new Artplayer({
-    container: '.artplayer-app',
-    url: 'https://dash.akamaized.net/akamai/bbb_30fps/bbb_30fps.mpd',
-    type: 'mpd',
-    customType: {
-        mpd: playMpd
-    },
-});
-
-art.on('ready', () => {
-    console.info(art.dash);
-});
`,1),E=[t,e,k,r];function d(c,y,g,o,b,F){return l(),n("div",null,E)}const _=i(h,[["render",d]]);export{m as __pageData,_ as default}; diff --git a/document/assets/library_dash.md.1Czoi6Go.lean.js b/document/assets/library_dash.md.1Czoi6Go.lean.js deleted file mode 100644 index 23441a9a2..000000000 --- a/document/assets/library_dash.md.1Czoi6Go.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as i,c as n,o as l,j as s,a,a7 as p}from"./chunks/framework.DXlgpajS.js";const m=JSON.parse('{"title":"dash.js","description":"","frontmatter":{},"headers":[],"relativePath":"library/dash.md","filePath":"library/dash.md","lastUpdated":1682237343000}'),h={name:"library/dash.md"},t=s("h1",{id:"dash-js",tabindex:"-1"},[a("dash.js "),s("a",{class:"header-anchor",href:"#dash-js","aria-label":'Permalink to "dash.js"'},"​")],-1),e=s("p",null,[a("👉 "),s("a",{href:"https://github.com/Dash-Industry-Forum/dash.js",target:"_blank",rel:"noreferrer"},"https://github.com/Dash-Industry-Forum/dash.js")],-1),k=s("div",{className:"run-code","data-libs":"https://cdnjs.cloudflare.com/ajax/libs/dashjs/4.5.2/dash.all.min.js"}," ▶ Run Code ",-1),r=p("",1),E=[t,e,k,r];function d(c,y,g,o,b,F){return l(),n("div",null,E)}const _=i(h,[["render",d]]);export{m as __pageData,_ as default}; diff --git a/document/assets/library_flv.md.C49DbVRN.js b/document/assets/library_flv.md.C49DbVRN.js deleted file mode 100644 index 3d1124ddd..000000000 --- a/document/assets/library_flv.md.C49DbVRN.js +++ /dev/null @@ -1,25 +0,0 @@ -import{_ as a,c as n,o as l,j as s,a as i,a7 as p}from"./chunks/framework.DXlgpajS.js";const m=JSON.parse('{"title":"flv.js","description":"","frontmatter":{},"headers":[],"relativePath":"library/flv.md","filePath":"library/flv.md","lastUpdated":1682237343000}'),h={name:"library/flv.md"},e=s("h1",{id:"flv-js",tabindex:"-1"},[i("flv.js "),s("a",{class:"header-anchor",href:"#flv-js","aria-label":'Permalink to "flv.js"'},"​")],-1),t=s("p",null,[i("👉 "),s("a",{href:"https://github.com/Bilibili/flv.js",target:"_blank",rel:"noreferrer"},"https://github.com/Bilibili/flv.js")],-1),k=s("div",{className:"run-code","data-libs":"https://cdnjs.cloudflare.com/ajax/libs/flv.js/1.6.2/flv.min.js"}," ▶ Run Code ",-1),r=p(`
js
function playFlv(video, url, art) {
-    if (flvjs.isSupported()) {
-        if (art.flv) art.flv.destroy();
-        const flv = flvjs.createPlayer({ type: 'flv', url });
-        flv.attachMediaElement(video);
-        flv.load();
-        art.flv = flv; 
-        art.on('destroy', () => flv.destroy());
-    } else {
-        art.notice.show = 'Unsupported playback format: flv';
-    }
-}
-
-var art = new Artplayer({
-    container: '.artplayer-app',
-    url: '/assets/sample/video.flv',
-    type: 'flv',
-    customType: {
-        flv: playFlv,
-    },
-});
-
-art.on('ready', () => {
-    console.info(art.flv);
-});
`,1),E=[e,t,k,r];function d(c,y,g,b,o,F){return l(),n("div",null,E)}const f=a(h,[["render",d]]);export{m as __pageData,f as default}; diff --git a/document/assets/library_flv.md.C49DbVRN.lean.js b/document/assets/library_flv.md.C49DbVRN.lean.js deleted file mode 100644 index 11c905ae7..000000000 --- a/document/assets/library_flv.md.C49DbVRN.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as a,c as n,o as l,j as s,a as i,a7 as p}from"./chunks/framework.DXlgpajS.js";const m=JSON.parse('{"title":"flv.js","description":"","frontmatter":{},"headers":[],"relativePath":"library/flv.md","filePath":"library/flv.md","lastUpdated":1682237343000}'),h={name:"library/flv.md"},e=s("h1",{id:"flv-js",tabindex:"-1"},[i("flv.js "),s("a",{class:"header-anchor",href:"#flv-js","aria-label":'Permalink to "flv.js"'},"​")],-1),t=s("p",null,[i("👉 "),s("a",{href:"https://github.com/Bilibili/flv.js",target:"_blank",rel:"noreferrer"},"https://github.com/Bilibili/flv.js")],-1),k=s("div",{className:"run-code","data-libs":"https://cdnjs.cloudflare.com/ajax/libs/flv.js/1.6.2/flv.min.js"}," ▶ Run Code ",-1),r=p("",1),E=[e,t,k,r];function d(c,y,g,b,o,F){return l(),n("div",null,E)}const f=a(h,[["render",d]]);export{m as __pageData,f as default}; diff --git a/document/assets/library_hls.md.CvE_u2CQ.js b/document/assets/library_hls.md.CvE_u2CQ.js deleted file mode 100644 index 0dd696c1d..000000000 --- a/document/assets/library_hls.md.CvE_u2CQ.js +++ /dev/null @@ -1,27 +0,0 @@ -import{_ as a,c as n,o as l,j as s,a as i,a7 as p}from"./chunks/framework.DXlgpajS.js";const m=JSON.parse('{"title":"hls.js","description":"","frontmatter":{},"headers":[],"relativePath":"library/hls.md","filePath":"library/hls.md","lastUpdated":1682237343000}'),h={name:"library/hls.md"},e=s("h1",{id:"hls-js",tabindex:"-1"},[i("hls.js "),s("a",{class:"header-anchor",href:"#hls-js","aria-label":'Permalink to "hls.js"'},"​")],-1),t=s("p",null,[i("👉 "),s("a",{href:"https://github.com/video-dev/hls.js",target:"_blank",rel:"noreferrer"},"https://github.com/video-dev/hls.js")],-1),k=s("div",{className:"run-code","data-libs":"https://cdnjs.cloudflare.com/ajax/libs/hls.js/8.0.0-beta.3/hls.min.js"}," ▶ Run Code ",-1),r=p(`
js
function playM3u8(video, url, art) {
-    if (Hls.isSupported()) {
-        if (art.hls) art.hls.destroy();
-        const hls = new Hls();
-        hls.loadSource(url);
-        hls.attachMedia(video);
-        art.hls = hls;
-        art.on('destroy', () => hls.destroy());
-    } else if (video.canPlayType('application/vnd.apple.mpegurl')) {
-        video.src = url;
-    } else {
-        art.notice.show = 'Unsupported playback format: m3u8';
-    }
-}
-
-var art = new Artplayer({
-    container: '.artplayer-app',
-    url: 'https://test-streams.mux.dev/x36xhzz/x36xhzz.m3u8',
-    type: 'm3u8',
-    customType: {
-        m3u8: playM3u8,
-    },
-});
-
-art.on('ready', () => {
-    console.info(art.hls);
-});
`,1),E=[e,t,k,r];function d(y,c,g,o,b,F){return l(),n("div",null,E)}const _=a(h,[["render",d]]);export{m as __pageData,_ as default}; diff --git a/document/assets/library_hls.md.CvE_u2CQ.lean.js b/document/assets/library_hls.md.CvE_u2CQ.lean.js deleted file mode 100644 index 3ea6a6ec9..000000000 --- a/document/assets/library_hls.md.CvE_u2CQ.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as a,c as n,o as l,j as s,a as i,a7 as p}from"./chunks/framework.DXlgpajS.js";const m=JSON.parse('{"title":"hls.js","description":"","frontmatter":{},"headers":[],"relativePath":"library/hls.md","filePath":"library/hls.md","lastUpdated":1682237343000}'),h={name:"library/hls.md"},e=s("h1",{id:"hls-js",tabindex:"-1"},[i("hls.js "),s("a",{class:"header-anchor",href:"#hls-js","aria-label":'Permalink to "hls.js"'},"​")],-1),t=s("p",null,[i("👉 "),s("a",{href:"https://github.com/video-dev/hls.js",target:"_blank",rel:"noreferrer"},"https://github.com/video-dev/hls.js")],-1),k=s("div",{className:"run-code","data-libs":"https://cdnjs.cloudflare.com/ajax/libs/hls.js/8.0.0-beta.3/hls.min.js"}," ▶ Run Code ",-1),r=p("",1),E=[e,t,k,r];function d(y,c,g,o,b,F){return l(),n("div",null,E)}const _=a(h,[["render",d]]);export{m as __pageData,_ as default}; diff --git a/document/assets/plugin_ads.md.DiSI9MdU.js b/document/assets/plugin_ads.md.DiSI9MdU.js deleted file mode 100644 index bf78224eb..000000000 --- a/document/assets/plugin_ads.md.DiSI9MdU.js +++ /dev/null @@ -1,48 +0,0 @@ -import{_ as a,c as i,o as n,a7 as s,j as l}from"./chunks/framework.DXlgpajS.js";const y=JSON.parse('{"title":"视频广告","description":"","frontmatter":{},"headers":[],"relativePath":"plugin/ads.md","filePath":"plugin/ads.md","lastUpdated":1673441101000}'),p={name:"plugin/ads.md"},e=s('

视频广告

演示

👉 查看完整演示

安装

bash
npm install artplayer-plugin-ads
bash
yarn add artplayer-plugin-ads
bash
pnpm add artplayer-plugin-ads
html
<script src="path/to/artplayer-plugin-ads.js"></script>

CDN

bash
https://cdn.jsdelivr.net/npm/artplayer-plugin-ads/dist/artplayer-plugin-ads.js
bash
https://unpkg.com/artplayer-plugin-ads/dist/artplayer-plugin-ads.js

使用

',8),t=l("div",{className:"run-code","data-libs":"./uncompiled/artplayer-plugin-ads/index.js"}," ▶ Run Code ",-1),h=s(`
js
var art = new Artplayer({
-    container: '.artplayer-app',
-    url: '/assets/sample/video.mp4',
-    autoSize: true,
-    fullscreen: true,
-    fullscreenWeb: true,
-    plugins: [
-        artplayerPluginAds({
-            // html广告,假如是视频广告则忽略该值
-            html: '<img src="/assets/sample/poster.jpg">',
-
-            // 视频广告的地址
-            video: '/assets/sample/test1.mp4',
-
-            // 广告跳转网址,为空则不跳转
-            url: 'http://artplayer.org',
-
-            // 必须观看的时长,期间不能被跳过,单位为秒
-            // 当该值大于或等于totalDuration时,不能提前关闭广告
-            // 当该值等于或小于0时,则随时都可以关闭广告
-            playDuration: 5,
-
-            // 广告总时长,单位为秒
-            totalDuration: 10,
-
-            // 视频广告是否默认静音
-            muted: false,
-
-            // 多语言支持
-            i18n: {
-                close: '关闭广告',
-                countdown: '%s秒',
-                detail: '查看详情',
-                canBeClosed: '%s秒后可关闭广告',
-            },
-        }),
-    ],
-});
-
-// ad is clicked
-art.on('artplayerPluginAds:click', (ads) => {
-    console.info(ads);
-});
-
-// Ad skipped
-art.on('artplayerPluginAds:skip', (ads) => {
-    console.info(ads);
-});
`,1),r=[e,t,h];function k(d,E,c,b,g,u){return n(),i("div",null,r)}const m=a(p,[["render",k]]);export{y as __pageData,m as default}; diff --git a/document/assets/plugin_ads.md.DiSI9MdU.lean.js b/document/assets/plugin_ads.md.DiSI9MdU.lean.js deleted file mode 100644 index 1ad23fb37..000000000 --- a/document/assets/plugin_ads.md.DiSI9MdU.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as a,c as i,o as n,a7 as s,j as l}from"./chunks/framework.DXlgpajS.js";const y=JSON.parse('{"title":"视频广告","description":"","frontmatter":{},"headers":[],"relativePath":"plugin/ads.md","filePath":"plugin/ads.md","lastUpdated":1673441101000}'),p={name:"plugin/ads.md"},e=s("",8),t=l("div",{className:"run-code","data-libs":"./uncompiled/artplayer-plugin-ads/index.js"}," ▶ Run Code ",-1),h=s("",1),r=[e,t,h];function k(d,E,c,b,g,u){return n(),i("div",null,r)}const m=a(p,[["render",k]]);export{y as __pageData,m as default}; diff --git a/document/assets/plugin_danmuku.md.LIEFac-0.js b/document/assets/plugin_danmuku.md.CWF4WEhd.js similarity index 90% rename from document/assets/plugin_danmuku.md.LIEFac-0.js rename to document/assets/plugin_danmuku.md.CWF4WEhd.js index 5bc76ff56..18b373c3f 100644 --- a/document/assets/plugin_danmuku.md.LIEFac-0.js +++ b/document/assets/plugin_danmuku.md.CWF4WEhd.js @@ -1,13 +1,12 @@ -import{_ as a,c as n,o as l,a7 as s,j as i}from"./chunks/framework.DXlgpajS.js";const H=JSON.parse('{"title":"弹幕库","description":"","frontmatter":{},"headers":[],"relativePath":"plugin/danmuku.md","filePath":"plugin/danmuku.md","lastUpdated":1716706642000}'),p={name:"plugin/danmuku.md"},h=s(`

弹幕库

演示

👉 查看完整演示

安装

bash
npm install artplayer-plugin-danmuku
bash
yarn add artplayer-plugin-danmuku
bash
pnpm add artplayer-plugin-danmuku
html
<script src="path/to/artplayer-plugin-danmuku.js"></script>

CDN

bash
https://cdn.jsdelivr.net/npm/artplayer-plugin-danmuku/dist/artplayer-plugin-danmuku.js
bash
https://unpkg.com/artplayer-plugin-danmuku/dist/artplayer-plugin-danmuku.js

弹幕结构

每一个弹幕是一个对象,多个弹幕组成的数组就是弹幕源,通常只需要text就可以发送一个弹幕,其余都是非必要参数

js
{
+import{_ as a,c as n,o as l,a7 as s,j as i}from"./chunks/framework.DHbvjPBJ.js";const L=JSON.parse('{"title":"弹幕库","description":"","frontmatter":{},"headers":[],"relativePath":"plugin/danmuku.md","filePath":"plugin/danmuku.md","lastUpdated":1724256543000}'),p={name:"plugin/danmuku.md"},h=s(`

弹幕库

演示

👉 查看完整演示

安装

bash
npm install artplayer-plugin-danmuku
bash
yarn add artplayer-plugin-danmuku
bash
pnpm add artplayer-plugin-danmuku
html
<script src="path/to/artplayer-plugin-danmuku.js"></script>

CDN

bash
https://cdn.jsdelivr.net/npm/artplayer-plugin-danmuku/dist/artplayer-plugin-danmuku.js
bash
https://unpkg.com/artplayer-plugin-danmuku/dist/artplayer-plugin-danmuku.js

弹幕结构

每一个弹幕是一个对象,多个弹幕组成的数组就是弹幕库,通常只需要text就可以发送一个弹幕,其余都是非必要参数

js
{
     text: '', // 弹幕文本
     time: 10, // 弹幕时间, 默认为当前播放器时间
     mode: 0, // 弹幕模式: 0: 滚动(默认),1: 顶部,2: 底部
     color: '#FFFFFF', // 弹幕颜色,默认为白色
     border: false, // 弹幕是否有描边, 默认为 false
     style: {}, // 弹幕自定义样式, 默认为空对象
-    escape: true, // 弹幕文本是否转义, 默认为 true
-}

全部选项

只有danmuku是必须的参数,其余都是非必填

js
{
-    danmuku: [], // 弹幕源
+}

全部选项

只有danmuku是必须的参数,其余都是非必填

js
{
+    danmuku: [], // 弹幕数据
     speed: 5, // 弹幕持续时间,范围在[1 ~ 10]
     margin: [10, '25%'], // 弹幕上下边距,支持像素数字和百分比
     opacity: 1, // 弹幕透明度,范围在[0 ~ 1]
@@ -19,15 +18,22 @@ import{_ as a,c as n,o as l,a7 as s,j as i}from"./chunks/framework.DXlgpajS.js";
     synchronousPlayback: false, // 是否同步播放速度
     mount: undefined, // 弹幕发射器挂载点, 默认为播放器控制栏中部
     heatmap: false, // 是否开启热力图
+    width: 512, // 当播放器宽度小于此值时,弹幕发射器置于播放器底部
     points: [], // 热力图数据
     filter: () => true, // 弹幕载入前的过滤器,只支持返回布尔值
     beforeEmit: () => true, // 弹幕发送前的过滤器,支持返回 Promise
     beforeVisible: () => true, // 弹幕显示前的过滤器,支持返回 Promise
     visible: true, // 弹幕层是否可见
+    emitter: true, // 是否开启弹幕发射器
     maxLength: 200, // 弹幕输入框最大长度, 范围在[1 ~ 1000]
     lockTime: 5, // 输入框锁定时间,范围在[1 ~ 60]
     theme: 'dark', // 弹幕主题,支持 dark 和 light,只在自定义挂载时生效
-}

生命周期

来自用户输入的弹幕:

beforeEmit -> filter -> beforeVisible -> artplayerPluginDanmuku:visible

来自服务器的弹幕:

filter -> beforeVisible -> artplayerPluginDanmuku:visible

`,18),e=i("div",{className:"run-code","data-libs":"./uncompiled/artplayer-plugin-danmuku/index.js"}," ▶ Run Code ",-1),k=s(`
js
// 保存到数据库
+    OPACITY: {}, // 不透明度配置项
+    FONT_SIZE: {}, // 弹幕字号配置项
+    MARGIN: {}, // 显示区域配置项
+    SPEED: {}, // 弹幕速度配置项
+    COLOR: [], // 颜色列表配置项
+}

生命周期

来自用户输入的弹幕:

beforeEmit -> filter -> beforeVisible -> artplayerPluginDanmuku:visible

来自服务器的弹幕:

filter -> beforeVisible -> artplayerPluginDanmuku:visible

`,18),e=i("div",{className:"run-code","data-libs":"./uncompiled/artplayer-plugin-danmuku/index.js"}," ▶ Run Code ",-1),k=s(`
js
// 保存到数据库
 function saveDanmu(danmu) {
     return new Promise(resolve => {
         setTimeout(() => {
@@ -208,34 +214,46 @@ import{_ as a,c as n,o as l,a7 as s,j as i}from"./chunks/framework.DXlgpajS.js";
             },
         },
     ],
-});

load

通过 load 方法可以重载弹幕源,或者切换新弹幕

`,3),A=i("div",{className:"run-code","data-libs":"./uncompiled/artplayer-plugin-danmuku/index.js"}," ▶ Run Code ",-1),D=s(`
js
var art = new Artplayer({
+});

load

通过 load 方法可以重载弹幕库,或者切换新弹幕库,或者追加新的弹幕库

`,3),A=i("div",{className:"run-code","data-libs":"./uncompiled/artplayer-plugin-danmuku/index.js"}," ▶ Run Code ",-1),D=s(`
js
var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
     plugins: [
         artplayerPluginDanmuku({
             danmuku: '/assets/sample/danmuku.xml',
+            emitter: false,
         }),
     ],
     controls: [
         {
             position: 'right',
-            html: '重载弹幕',
+            html: '重载',
             click: function () {
+                // 重新加载当前弹幕库
                 art.plugins.artplayerPluginDanmuku.load();
             },
         },
         {
             position: 'right',
-            html: '切换弹幕',
+            html: '切换',
             click: function () {
+                // 切换到新的弹幕库
                 art.plugins.artplayerPluginDanmuku.config({
                     danmuku: '/assets/sample/danmuku-v2.xml',
                 });
                 art.plugins.artplayerPluginDanmuku.load();
             },
         },
+        {
+            position: 'right',
+            html: '追加',
+            click: function () {
+                // 追加新的弹幕库,参数类型和option.danmuku相同
+                const target = '/assets/sample/danmuku.xml'
+                art.plugins.artplayerPluginDanmuku.load(target);
+            },
+        },
     ],
-});

reset

用于清空当前显示的弹幕

`,3),_=i("div",{className:"run-code","data-libs":"./uncompiled/artplayer-plugin-danmuku/index.js"}," ▶ Run Code ",-1),v=s(`
js
var art = new Artplayer({
+});

reset

用于清空当前显示的弹幕

`,3),_=i("div",{className:"run-code","data-libs":"./uncompiled/artplayer-plugin-danmuku/index.js"}," ▶ Run Code ",-1),v=s(`
js
var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
     plugins: [
@@ -275,7 +293,7 @@ import{_ as a,c as n,o as l,a7 as s,j as i}from"./chunks/framework.DXlgpajS.js";
 
 art.on('ready', () => {
     console.info(art.plugins.artplayerPluginDanmuku.option);
-});

事件

`,2),q=i("div",{className:"run-code","data-libs":"./uncompiled/artplayer-plugin-danmuku/index.js"}," ▶ Run Code ",-1),S=s(`
js
var art = new Artplayer({
+});

事件

`,2),q=i("div",{className:"run-code","data-libs":"./uncompiled/artplayer-plugin-danmuku/index.js"}," ▶ Run Code ",-1),j=s(`
js
var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
     plugins: [
@@ -321,6 +339,10 @@ import{_ as a,c as n,o as l,a7 as s,j as i}from"./chunks/framework.DXlgpajS.js";
     console.info('弹幕显示');
 });
 
+art.on('artplayerPluginDanmuku:reset', () => {
+    console.info('弹幕重置');
+});
+
 art.on('artplayerPluginDanmuku:destroy', () => {
     console.info('弹幕销毁');
-});
`,1),j=[h,e,k,t,r,E,d,g,c,y,u,b,F,m,o,C,B,A,D,_,v,f,P,x,T,q,S];function w(N,V,I,R,L,$){return l(),n("div",null,j)}const z=a(p,[["render",w]]);export{H as __pageData,z as default}; +});
`,1),w=[h,e,k,t,r,E,d,g,c,y,u,b,F,m,o,C,B,A,D,_,v,f,P,x,T,q,j];function S(N,V,I,R,$,M){return l(),n("div",null,w)}const X=a(p,[["render",S]]);export{L as __pageData,X as default}; diff --git a/document/assets/plugin_danmuku.md.LIEFac-0.lean.js b/document/assets/plugin_danmuku.md.CWF4WEhd.lean.js similarity index 82% rename from document/assets/plugin_danmuku.md.LIEFac-0.lean.js rename to document/assets/plugin_danmuku.md.CWF4WEhd.lean.js index 157b55898..3dc7c46ab 100644 --- a/document/assets/plugin_danmuku.md.LIEFac-0.lean.js +++ b/document/assets/plugin_danmuku.md.CWF4WEhd.lean.js @@ -1 +1 @@ -import{_ as a,c as n,o as l,a7 as s,j as i}from"./chunks/framework.DXlgpajS.js";const H=JSON.parse('{"title":"弹幕库","description":"","frontmatter":{},"headers":[],"relativePath":"plugin/danmuku.md","filePath":"plugin/danmuku.md","lastUpdated":1716706642000}'),p={name:"plugin/danmuku.md"},h=s("",18),e=i("div",{className:"run-code","data-libs":"./uncompiled/artplayer-plugin-danmuku/index.js"}," ▶ Run Code ",-1),k=s("",2),t=i("div",{className:"run-code","data-libs":"./uncompiled/artplayer-plugin-danmuku/index.js"}," ▶ Run Code ",-1),r=s("",3),E=i("div",{className:"run-code","data-libs":"./uncompiled/artplayer-plugin-danmuku/index.js"}," ▶ Run Code ",-1),d=s("",2),g=i("div",{className:"run-code","data-libs":"./uncompiled/artplayer-plugin-danmuku/index.js"}," ▶ Run Code ",-1),c=s("",3),y=i("div",{className:"run-code","data-libs":"./uncompiled/artplayer-plugin-danmuku/index.js"}," ▶ Run Code ",-1),u=s("",3),b=i("div",{className:"run-code","data-libs":"./uncompiled/artplayer-plugin-danmuku/index.js"}," ▶ Run Code ",-1),F=s("",3),m=i("div",{className:"run-code","data-libs":"./uncompiled/artplayer-plugin-danmuku/index.js"}," ▶ Run Code ",-1),o=s("",3),C=i("div",{className:"run-code","data-libs":"./uncompiled/artplayer-plugin-danmuku/index.js"}," ▶ Run Code ",-1),B=s("",3),A=i("div",{className:"run-code","data-libs":"./uncompiled/artplayer-plugin-danmuku/index.js"}," ▶ Run Code ",-1),D=s("",3),_=i("div",{className:"run-code","data-libs":"./uncompiled/artplayer-plugin-danmuku/index.js"}," ▶ Run Code ",-1),v=s("",3),f=i("div",{className:"run-code","data-libs":"./uncompiled/artplayer-plugin-danmuku/index.js"}," ▶ Run Code ",-1),P=s("",3),x=i("div",{className:"run-code","data-libs":"./uncompiled/artplayer-plugin-danmuku/index.js"}," ▶ Run Code ",-1),T=s("",2),q=i("div",{className:"run-code","data-libs":"./uncompiled/artplayer-plugin-danmuku/index.js"}," ▶ Run Code ",-1),S=s("",1),j=[h,e,k,t,r,E,d,g,c,y,u,b,F,m,o,C,B,A,D,_,v,f,P,x,T,q,S];function w(N,V,I,R,L,$){return l(),n("div",null,j)}const z=a(p,[["render",w]]);export{H as __pageData,z as default}; +import{_ as a,c as n,o as l,a7 as s,j as i}from"./chunks/framework.DHbvjPBJ.js";const L=JSON.parse('{"title":"弹幕库","description":"","frontmatter":{},"headers":[],"relativePath":"plugin/danmuku.md","filePath":"plugin/danmuku.md","lastUpdated":1724256543000}'),p={name:"plugin/danmuku.md"},h=s("",18),e=i("div",{className:"run-code","data-libs":"./uncompiled/artplayer-plugin-danmuku/index.js"}," ▶ Run Code ",-1),k=s("",2),t=i("div",{className:"run-code","data-libs":"./uncompiled/artplayer-plugin-danmuku/index.js"}," ▶ Run Code ",-1),r=s("",3),E=i("div",{className:"run-code","data-libs":"./uncompiled/artplayer-plugin-danmuku/index.js"}," ▶ Run Code ",-1),d=s("",2),g=i("div",{className:"run-code","data-libs":"./uncompiled/artplayer-plugin-danmuku/index.js"}," ▶ Run Code ",-1),c=s("",3),y=i("div",{className:"run-code","data-libs":"./uncompiled/artplayer-plugin-danmuku/index.js"}," ▶ Run Code ",-1),u=s("",3),b=i("div",{className:"run-code","data-libs":"./uncompiled/artplayer-plugin-danmuku/index.js"}," ▶ Run Code ",-1),F=s("",3),m=i("div",{className:"run-code","data-libs":"./uncompiled/artplayer-plugin-danmuku/index.js"}," ▶ Run Code ",-1),o=s("",3),C=i("div",{className:"run-code","data-libs":"./uncompiled/artplayer-plugin-danmuku/index.js"}," ▶ Run Code ",-1),B=s("",3),A=i("div",{className:"run-code","data-libs":"./uncompiled/artplayer-plugin-danmuku/index.js"}," ▶ Run Code ",-1),D=s("",3),_=i("div",{className:"run-code","data-libs":"./uncompiled/artplayer-plugin-danmuku/index.js"}," ▶ Run Code ",-1),v=s("",3),f=i("div",{className:"run-code","data-libs":"./uncompiled/artplayer-plugin-danmuku/index.js"}," ▶ Run Code ",-1),P=s("",3),x=i("div",{className:"run-code","data-libs":"./uncompiled/artplayer-plugin-danmuku/index.js"}," ▶ Run Code ",-1),T=s("",2),q=i("div",{className:"run-code","data-libs":"./uncompiled/artplayer-plugin-danmuku/index.js"}," ▶ Run Code ",-1),j=s("",1),w=[h,e,k,t,r,E,d,g,c,y,u,b,F,m,o,C,B,A,D,_,v,f,P,x,T,q,j];function S(N,V,I,R,$,M){return l(),n("div",null,w)}const X=a(p,[["render",S]]);export{L as __pageData,X as default}; diff --git a/document/assets/plugin_dash-quality.md.zwMqa6A4.js b/document/assets/plugin_dash-quality.md.zwMqa6A4.js deleted file mode 100644 index 1e9cb403c..000000000 --- a/document/assets/plugin_dash-quality.md.zwMqa6A4.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as a,c as s,o as i,a7 as e}from"./chunks/framework.DXlgpajS.js";const k=JSON.parse('{"title":"Dash 画质","description":"","frontmatter":{},"headers":[],"relativePath":"plugin/dash-quality.md","filePath":"plugin/dash-quality.md","lastUpdated":1676696783000}'),t={name:"plugin/dash-quality.md"},l=e('

Dash 画质

演示

👉 查看完整演示

安装

bash
npm install artplayer-plugin-dash-quality
bash
yarn add artplayer-plugin-dash-quality
bash
pnpm add artplayer-plugin-dash-quality
html
<script src="path/to/artplayer-plugin-dash-quality.js"></script>

CDN

bash
https://cdn.jsdelivr.net/npm/artplayer-plugin-dash-quality/dist/artplayer-plugin-dash-quality.js
bash
https://unpkg.com/artplayer-plugin-dash-quality/dist/artplayer-plugin-dash-quality.js
',7),n=[l];function p(d,r,h,o,c,u){return i(),s("div",null,n)}const g=a(t,[["render",p]]);export{k as __pageData,g as default}; diff --git a/document/assets/plugin_dash-quality.md.zwMqa6A4.lean.js b/document/assets/plugin_dash-quality.md.zwMqa6A4.lean.js deleted file mode 100644 index a7f7fc41d..000000000 --- a/document/assets/plugin_dash-quality.md.zwMqa6A4.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as a,c as s,o as i,a7 as e}from"./chunks/framework.DXlgpajS.js";const k=JSON.parse('{"title":"Dash 画质","description":"","frontmatter":{},"headers":[],"relativePath":"plugin/dash-quality.md","filePath":"plugin/dash-quality.md","lastUpdated":1676696783000}'),t={name:"plugin/dash-quality.md"},l=e("",7),n=[l];function p(d,r,h,o,c,u){return i(),s("div",null,n)}const g=a(t,[["render",p]]);export{k as __pageData,g as default}; diff --git a/document/assets/plugin_hls-quality.md.DwNB4Q2D.js b/document/assets/plugin_hls-quality.md.DwNB4Q2D.js deleted file mode 100644 index 1141870ba..000000000 --- a/document/assets/plugin_hls-quality.md.DwNB4Q2D.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as a,c as s,o as i,a7 as e}from"./chunks/framework.DXlgpajS.js";const k=JSON.parse('{"title":"HLS 画质","description":"","frontmatter":{},"headers":[],"relativePath":"plugin/hls-quality.md","filePath":"plugin/hls-quality.md","lastUpdated":1673441101000}'),t={name:"plugin/hls-quality.md"},l=e('

HLS 画质

演示

👉 查看完整演示

安装

bash
npm install artplayer-plugin-hls-quality
bash
yarn add artplayer-plugin-hls-quality
bash
pnpm add artplayer-plugin-hls-quality
html
<script src="path/to/artplayer-plugin-hls-quality.js"></script>

CDN

bash
https://cdn.jsdelivr.net/npm/artplayer-plugin-hls-quality/dist/artplayer-plugin-hls-quality.js
bash
https://unpkg.com/artplayer-plugin-hls-quality/dist/artplayer-plugin-hls-quality.js
',7),n=[l];function p(r,d,h,o,c,u){return i(),s("div",null,n)}const g=a(t,[["render",p]]);export{k as __pageData,g as default}; diff --git a/document/assets/plugin_hls-quality.md.DwNB4Q2D.lean.js b/document/assets/plugin_hls-quality.md.DwNB4Q2D.lean.js deleted file mode 100644 index b8d5f6505..000000000 --- a/document/assets/plugin_hls-quality.md.DwNB4Q2D.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as a,c as s,o as i,a7 as e}from"./chunks/framework.DXlgpajS.js";const k=JSON.parse('{"title":"HLS 画质","description":"","frontmatter":{},"headers":[],"relativePath":"plugin/hls-quality.md","filePath":"plugin/hls-quality.md","lastUpdated":1673441101000}'),t={name:"plugin/hls-quality.md"},l=e("",7),n=[l];function p(r,d,h,o,c,u){return i(),s("div",null,n)}const g=a(t,[["render",p]]);export{k as __pageData,g as default}; diff --git a/document/assets/plugin_iframe.md.BouVq-4j.js b/document/assets/plugin_iframe.md.BouVq-4j.js deleted file mode 100644 index 141cbd3c5..000000000 --- a/document/assets/plugin_iframe.md.BouVq-4j.js +++ /dev/null @@ -1,168 +0,0 @@ -import{_ as s,c as i,o as a,a7 as n}from"./chunks/framework.DXlgpajS.js";const y=JSON.parse('{"title":"Iframe 控制","description":"","frontmatter":{},"headers":[],"relativePath":"plugin/iframe.md","filePath":"plugin/iframe.md","lastUpdated":1680272727000}'),l={name:"plugin/iframe.md"},p=n(`

Iframe 控制

说明

通过该插件,你可以轻松在 index.html 里控制跨域 iframe.html 页面里的播放器,如在 index.html 里通过代码控制 iframe.html 播放器的功能,或者获取 iframe.html 播放器的值

演示

👉 查看完整演示

安装

bash
npm install artplayer-plugin-iframe
bash
yarn add artplayer-plugin-iframe
bash
pnpm add artplayer-plugin-iframe
html
<script src="path/to/artplayer-plugin-iframe.js"></script>

CDN

bash
https://cdn.jsdelivr.net/npm/artplayer-plugin-iframe/dist/artplayer-plugin-iframe.js
bash
https://unpkg.com/artplayer-plugin-iframe/dist/artplayer-plugin-iframe.js

使用

html
<!DOCTYPE html>
-<html>
-    <head>
-        <title>ArtPlayer</title>
-        <meta charset="UTF-8" />
-    </head>
-    <body>
-        <iframe id="iframe"></iframe>
-        <script src="path/to/artplayer-plugin-iframe.js"></script>
-        <script>
-            const iframe = new ArtplayerPluginIframe({
-                // Iframe element
-                iframe: document.querySelector('#iframe'),
-                // Iframe url
-                url: 'path/to/iframe.html',
-            });
-
-            // Send message to iframe
-            iframe.commit(() => {
-                var art = new Artplayer({
-                    container: '.artplayer-app',
-                    url: 'path/to/video.mp4',
-                });
-            });
-        </script>
-    </body>
-</html>
html
<!DOCTYPE html>
-<html>
-    <head>
-        <title>ArtPlayer</title>
-        <meta charset="UTF-8" />
-        <style>
-            html,
-            body {
-                width: 100%;
-                height: 100%;
-                margin: 0;
-                padding: 0;
-            }
-        </style>
-    </head>
-    <body>
-        <div class="artplayer-app" style="width: 100%; height: 100%;"></div>
-        <script src="path/to/artplayer.js"></script>
-        <script src="path/to/artplayer-plugin-iframe.js"></script>
-        <script>
-            // Inject scripts to receive messages from instances
-            ArtplayerPluginIframe.inject();
-        </script>
-    </body>
-</html>

index.html 接口

commit

index.html 将消息推送到 iframe.html,该函数将在 iframe.html 内部运行,同时它也能用于异步获取 iframe.html 里的值

js
iframe.commit(() => {
-    var art = new Artplayer({
-        container: '.artplayer-app',
-        url: 'path/to/video.mp4',
-    });
-});
-
-iframe.commit(() => {
-    art.seek = 5;
-});
-
-// Get the value from the iframe.html
-(async function () {
-    // Use the return keyword
-    var currentTime = await iframe.commit(() => {
-        return art.currentTime;
-    });
-
-    // or use the resolve method
-    var currentTime2 = await iframe.commit((resolve) => {
-        setTimeout(() => {
-            resolve(art.currentTime);
-        }, 1000);
-    });
-})();

message

index.html 接收来自 iframe.html 的消息

js
iframe.message((event) => {
-    console.info(event);
-});

destroy

销毁后 index.html 无法与 iframe.html 通信

js
iframe.destroy();

iframe.html 接口

提示

iframe.html 接口 只能运行在 iframe.html

inject

注入脚本,接收来自 index.html 的消息

js
ArtplayerPluginIframe.inject();

postMessage

将消息推送到 index.html

js
iframe.message((event) => {
-    console.info(event);
-});
-
-iframe.commit(() => {
-    ArtplayerPluginIframe.postMessage({
-        type: 'currentTime',
-        data: art.currentTime,
-    });
-});

例子

最常遇到的问题是,播放器在 iframe.html 里进行网页全屏,但在 index.html 是不生效的,这时候只要监听 iframe.html 里的 fullscreenWeb 事件并通知到 index.html 即可

html

-<!DOCTYPE html>
-<html>
-    <head>
-        <title>ArtPlayer</title>
-        <meta charset="UTF-8" />
-    </head>
-    <body>
-        <iframe id="iframe"></iframe>
-        <script src="path/to/artplayer-plugin-iframe.js"></script>
-        <style>
-            .fullscreenWeb {
-                position: fixed;
-                z-index: 9999;
-                width: 100%;
-                height: 100%;
-                left: 0;
-                top: 0;
-                right: 0;
-                bottom: 0;
-            }
-        </style>
-        <script>
-            const $iframe = document.querySelector('#iframe');
-            const iframe = new ArtplayerPluginIframe({
-                iframe: $iframe,
-                url: 'path/to/iframe.html',
-            });
-
-            iframe.message(({ type, data }) => {
-                switch (type) {
-                    case 'fullscreenWeb':
-                        if (data) {
-                            $iframe.classList.add('fullscreenWeb');
-                        } else {
-                            $iframe.classList.remove('fullscreenWeb');
-                        }
-                        break;
-                    default:
-                        break;
-                }
-            });
-
-            iframe.commit(() => {
-                var art = new Artplayer({
-                    container: '.artplayer-app',
-                    url: 'path/to/video.mp4',
-                });
-
-                art.on('fullscreenWeb', (state) => {
-                    ArtplayerPluginIframe.postMessage({
-                        type: 'fullscreenWeb',
-                        data: state,
-                    });
-                });
-            });
-        </script>
-    </body>
-</html>
html

-<!DOCTYPE html>
-<html>
-    <head>
-        <title>ArtPlayer</title>
-        <meta charset="UTF-8" />
-        <style>
-            html,
-            body {
-                width: 100%;
-                height: 100%;
-                margin: 0;
-                padding: 0;
-            }
-        </style>
-    </head>
-    <body>
-        <div class="artplayer-app" style="width: 100%; height: 100%;"></div>
-        <script src="path/to/artplayer.js"></script>
-        <script src="path/to/artplayer-plugin-iframe.js"></script>
-        <script>
-            ArtplayerPluginIframe.inject();
-        </script>
-    </body>
-</html>
`,32),h=[p];function t(e,k,r,E,d,g){return a(),i("div",null,h)}const b=s(l,[["render",t]]);export{y as __pageData,b as default}; diff --git a/document/assets/plugin_iframe.md.BouVq-4j.lean.js b/document/assets/plugin_iframe.md.BouVq-4j.lean.js deleted file mode 100644 index f33c28e32..000000000 --- a/document/assets/plugin_iframe.md.BouVq-4j.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as s,c as i,o as a,a7 as n}from"./chunks/framework.DXlgpajS.js";const y=JSON.parse('{"title":"Iframe 控制","description":"","frontmatter":{},"headers":[],"relativePath":"plugin/iframe.md","filePath":"plugin/iframe.md","lastUpdated":1680272727000}'),l={name:"plugin/iframe.md"},p=n("",32),h=[p];function t(e,k,r,E,d,g){return a(),i("div",null,h)}const b=s(l,[["render",t]]);export{y as __pageData,b as default}; diff --git a/document/assets/start_i18n.md.B5YaDutN.js b/document/assets/start_i18n.md.CPiytgtM.js similarity index 97% rename from document/assets/start_i18n.md.B5YaDutN.js rename to document/assets/start_i18n.md.CPiytgtM.js index f77e3db99..2e793589d 100644 --- a/document/assets/start_i18n.md.B5YaDutN.js +++ b/document/assets/start_i18n.md.CPiytgtM.js @@ -1,8 +1,8 @@ -import{_ as s,c as a,o as i,a7 as n}from"./chunks/framework.DXlgpajS.js";const y=JSON.parse('{"title":"语言设置","description":"","frontmatter":{},"headers":[],"relativePath":"start/i18n.md","filePath":"start/i18n.md","lastUpdated":1693027339000}'),l={name:"start/i18n.md"},p=n(`

语言设置

DANGER

鉴于捆绑的多国语言越来越多, 从 5.1.0 版本开始, artplayer.js 核心代码除了包含 简体中文英文 外, 不再捆绑其它多国语言, 需要自行导入需要的语言。

WARNING

当无法匹配到语言时, 会默认显示英文, i18n 写法参考: artplayer/types/i18n.d.ts

默认语言

默认语言有: en, zh-cn, 无需手动导入

js
var art = new Artplayer({
+import{_ as s,c as a,o as i,a7 as n}from"./chunks/framework.DHbvjPBJ.js";const y=JSON.parse('{"title":"语言设置","description":"","frontmatter":{},"headers":[],"relativePath":"start/i18n.md","filePath":"start/i18n.md","lastUpdated":1724256543000}'),l={name:"start/i18n.md"},p=n(`

语言设置

DANGER

鉴于捆绑的多国语言越来越多, 从 5.1.0 版本开始, artplayer.js 核心代码除了包含 简体中文英文 外, 不再捆绑其它多国语言, 需要自行导入需要的语言。

WARNING

当无法匹配到语言时, 会默认显示英文, i18n 写法参考: artplayer/types/i18n.d.ts

默认语言

默认语言有: en, zh-cn, 无需手动导入

js
var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
     lang: 'zh-cn', // or 'en'
-});

导入语言

打包前的语言文件存放于: artplayer/src/i18n/*.js, 欢迎来添加你的语言

打包后的语言文件存放于: artplayer/dist/i18n/*.js

手动导入的语言有: cs, es, fa, fr, id, pl, ru, zh-tw

js
import id from 'artplayer/dist/i18n/id.js';
+});

导入语言

打包前的语言文件存放于: artplayer/src/i18n/*.js, 欢迎来添加你的语言

打包后的语言文件存放于: artplayer/dist/i18n/*.js

手动导入的语言有: cs, es, fa, fr, id, pl, ru, zh-tw

js
import id from 'artplayer/dist/i18n/id.js';
 import zhTw from 'artplayer/dist/i18n/zh-tw.js';
 
 var art = new Artplayer({
diff --git a/document/assets/start_i18n.md.B5YaDutN.lean.js b/document/assets/start_i18n.md.CPiytgtM.lean.js
similarity index 53%
rename from document/assets/start_i18n.md.B5YaDutN.lean.js
rename to document/assets/start_i18n.md.CPiytgtM.lean.js
index 38e6fd170..205d7c364 100644
--- a/document/assets/start_i18n.md.B5YaDutN.lean.js
+++ b/document/assets/start_i18n.md.CPiytgtM.lean.js
@@ -1 +1 @@
-import{_ as s,c as a,o as i,a7 as n}from"./chunks/framework.DXlgpajS.js";const y=JSON.parse('{"title":"语言设置","description":"","frontmatter":{},"headers":[],"relativePath":"start/i18n.md","filePath":"start/i18n.md","lastUpdated":1693027339000}'),l={name:"start/i18n.md"},p=n("",15),e=[p];function h(t,k,r,E,d,c){return i(),a("div",null,e)}const b=s(l,[["render",h]]);export{y as __pageData,b as default};
+import{_ as s,c as a,o as i,a7 as n}from"./chunks/framework.DHbvjPBJ.js";const y=JSON.parse('{"title":"语言设置","description":"","frontmatter":{},"headers":[],"relativePath":"start/i18n.md","filePath":"start/i18n.md","lastUpdated":1724256543000}'),l={name:"start/i18n.md"},p=n("",15),e=[p];function h(t,k,r,E,d,c){return i(),a("div",null,e)}const b=s(l,[["render",h]]);export{y as __pageData,b as default};
diff --git a/document/assets/start_option.md.Bww-xQnc.js b/document/assets/start_option.md.Bpwk5Bj8.js
similarity index 95%
rename from document/assets/start_option.md.Bww-xQnc.js
rename to document/assets/start_option.md.Bpwk5Bj8.js
index b0d978cb1..91a6f1d2c 100644
--- a/document/assets/start_option.md.Bww-xQnc.js
+++ b/document/assets/start_option.md.Bpwk5Bj8.js
@@ -1,4 +1,4 @@
-import{_ as a,c as n,o as l,a7 as s,j as i}from"./chunks/framework.DXlgpajS.js";const ti=JSON.parse('{"title":"基础选项","description":"","frontmatter":{},"headers":[],"relativePath":"start/option.md","filePath":"start/option.md","lastUpdated":1700581325000}'),e={name:"start/option.md"},p=s('

基础选项

container

  • Type: String, Element
  • Default: #artplayer

播放器挂载的 DOM 容器

',4),h=i("div",{className:"run-code"},"▶ Run Code",-1),t=s(`
js
var art = new Artplayer({
+import{_ as a,c as n,o as l,a7 as s,j as i}from"./chunks/framework.DHbvjPBJ.js";const ti=JSON.parse('{"title":"基础选项","description":"","frontmatter":{},"headers":[],"relativePath":"start/option.md","filePath":"start/option.md","lastUpdated":1724256543000}'),e={name:"start/option.md"},p=s('

基础选项

container

  • Type: String, Element
  • Default: #artplayer

播放器挂载的 DOM 容器

',4),h=i("div",{className:"run-code"},"▶ Run Code",-1),t=s(`
js
var art = new Artplayer({
     container: '.artplayer-app', 
     // container: document.querySelector('.artplayer-app'),
     url: '/assets/sample/video.mp4',
@@ -101,7 +101,7 @@ import{_ as a,c as n,o as l,a7 as s,j as i}from"./chunks/framework.DXlgpajS.js";
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
     hotkey: true,
-});
热键描述
增加音量
降低音量
视频快进
视频快退
space切换播放/暂停

提示

只在播放器获得焦点后(如点击了播放器后),这些快捷键才会生效

pip

  • Type: Boolean
  • Default: false

是否在底部控制栏里显示 画中画 的开关按钮

`,6),J=i("div",{className:"run-code"},"▶ Run Code",-1),U=s(`
js
var art = new Artplayer({
+});
热键描述
增加音量
降低音量
视频快进
视频快退
space切换播放/暂停

提示

只在播放器获得焦点后(如点击了播放器后),这些快捷键才会生效

pip

  • Type: Boolean
  • Default: false

是否在底部控制栏里显示 画中画 的开关按钮

`,6),J=i("div",{className:"run-code"},"▶ Run Code",-1),U=s(`
js
var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
     pip: true,
@@ -225,7 +225,7 @@ import{_ as a,c as n,o as l,a7 as s,j as i}from"./chunks/framework.DXlgpajS.js";
             },
         },
     ],
-});

组件配置 请参考以下地址:

/component/controls.html

quality

  • Type: Array
  • Default: []

是否在底部控制栏里显示 画质选择 列表

属性类型描述
defaultBoolean默认画质
htmlString画质名字
urlString画质地址
`,6),us=i("div",{className:"run-code"},"▶ Run Code",-1),bs=s(`
js
var art = new Artplayer({
+});

组件配置 请参考以下地址:

/component/controls.html

quality

  • Type: Array
  • Default: []

是否在底部控制栏里显示 画质选择 列表

属性类型描述
defaultBoolean默认画质
htmlString画质名字
urlString画质地址
`,6),us=i("div",{className:"run-code"},"▶ Run Code",-1),bs=s(`
js
var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
     quality: [
@@ -239,7 +239,7 @@ import{_ as a,c as n,o as l,a7 as s,j as i}from"./chunks/framework.DXlgpajS.js";
             url: '/assets/sample/video.mp4',
         },
     ],
-});

highlight

  • Type: Array
  • Default: []

在进度条上显示 高亮信息

属性类型描述
timeNumber高亮时间(单位秒)
textString高亮文本
`,5),ms=i("div",{className:"run-code"},"▶ Run Code",-1),Fs=s(`
js
var art = new Artplayer({
+});

highlight

  • Type: Array
  • Default: []

在进度条上显示 高亮信息

属性类型描述
timeNumber高亮时间(单位秒)
textString高亮文本
`,5),ms=i("div",{className:"run-code"},"▶ Run Code",-1),Fs=s(`
js
var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
     highlight: [
@@ -279,7 +279,7 @@ import{_ as a,c as n,o as l,a7 as s,j as i}from"./chunks/framework.DXlgpajS.js";
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
     plugins: [myPlugin],
-});

thumbnails

  • Type: Object
  • Default: {}

在进度条上设置 预览图

属性类型描述
urlString预览图地址
numberNumber预览图数量
columnNumber预览图列数
widthNumber预览图宽度
heightNumber预览图高度
`,5),vs=i("div",{className:"run-code"},"▶ Run Code",-1),As=s(`
js
var art = new Artplayer({
+});

thumbnails

  • Type: Object
  • Default: {}

在进度条上设置 预览图

属性类型描述
urlString预览图地址
numberNumber预览图数量
columnNumber预览图列数
widthNumber预览图宽度
heightNumber预览图高度
`,5),vs=i("div",{className:"run-code"},"▶ Run Code",-1),As=s(`
js
var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
     thumbnails: {
@@ -287,7 +287,7 @@ import{_ as a,c as n,o as l,a7 as s,j as i}from"./chunks/framework.DXlgpajS.js";
         number: 60,
         column: 10,
     },
-});

在线生成预览图

artplayer-tool-thumbnail

subtitle

  • Type: Object
  • Default: {}

设置视频的字幕,支持字幕格式:vtt, srt, ass

属性类型描述
nameString字幕名字
urlString字幕地址
typeString字幕类型,可选 vtt, srt, ass
styleObject字幕样式
encodingString字幕编码,默认 utf-8
escapeBoolean是否转义 html 标签,默认为 true
onVttLoadFunction用于修改 vtt 文本的函数
`,6),Ts=i("div",{className:"run-code"},"▶ Run Code",-1),Bs=s(`
js
var art = new Artplayer({
+});

在线生成预览图

artplayer-tool-thumbnail

subtitle

  • Type: Object
  • Default: {}

设置视频的字幕,支持字幕格式:vtt, srt, ass

属性类型描述
nameString字幕名字
urlString字幕地址
typeString字幕类型,可选 vtt, srt, ass
styleObject字幕样式
encodingString字幕编码,默认 utf-8
escapeBoolean是否转义 html 标签,默认为 true
onVttLoadFunction用于修改 vtt 文本的函数
`,6),Ts=i("div",{className:"run-code"},"▶ Run Code",-1),Bs=s(`
js
var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
     subtitle: {
diff --git a/document/assets/start_option.md.Bww-xQnc.lean.js b/document/assets/start_option.md.Bpwk5Bj8.lean.js
similarity index 95%
rename from document/assets/start_option.md.Bww-xQnc.lean.js
rename to document/assets/start_option.md.Bpwk5Bj8.lean.js
index 9fd76f3af..54873907d 100644
--- a/document/assets/start_option.md.Bww-xQnc.lean.js
+++ b/document/assets/start_option.md.Bpwk5Bj8.lean.js
@@ -1 +1 @@
-import{_ as a,c as n,o as l,a7 as s,j as i}from"./chunks/framework.DXlgpajS.js";const ti=JSON.parse('{"title":"基础选项","description":"","frontmatter":{},"headers":[],"relativePath":"start/option.md","filePath":"start/option.md","lastUpdated":1700581325000}'),e={name:"start/option.md"},p=s("",4),h=i("div",{className:"run-code"},"▶ Run Code",-1),t=s("",9),k=i("div",{className:"run-code"},"▶ Run Code",-1),r=s("",2),d=i("div",{className:"run-code"},"▶ Run Code",-1),E=s("",5),c=i("div",{className:"run-code"},"▶ Run Code",-1),o=s("",4),g=i("div",{className:"run-code"},"▶ Run Code",-1),y=s("",7),u=i("div",{className:"run-code"},"▶ Run Code",-1),b=s("",4),m=i("div",{className:"run-code"},"▶ Run Code",-1),F=s("",4),_=i("div",{className:"run-code"},"▶ Run Code",-1),C=s("",5),v=i("div",{className:"run-code"},"▶ Run Code",-1),A=s("",4),T=i("div",{className:"run-code"},"▶ Run Code",-1),B=s("",4),D=i("div",{className:"run-code"},"▶ Run Code",-1),f=s("",5),S=i("div",{className:"run-code"},"▶ Run Code",-1),P=s("",4),w=i("div",{className:"run-code"},"▶ Run Code",-1),x=s("",4),j=i("div",{className:"run-code"},"▶ Run Code",-1),R=s("",4),V=i("div",{className:"run-code"},"▶ Run Code",-1),q=s("",4),N=i("div",{className:"run-code"},"▶ Run Code",-1),I=s("",4),O=i("div",{className:"run-code"},"▶ Run Code",-1),z=s("",4),L=i("div",{className:"run-code"},"▶ Run Code",-1),M=s("",5),$=i("div",{className:"run-code"},"▶ Run Code",-1),H=s("",4),Y=i("div",{className:"run-code"},"▶ Run Code",-1),W=s("",6),J=i("div",{className:"run-code"},"▶ Run Code",-1),U=s("",4),G=i("div",{className:"run-code"},"▶ Run Code",-1),K=s("",4),Q=i("div",{className:"run-code"},"▶ Run Code",-1),X=s("",4),Z=i("div",{className:"run-code"},"▶ Run Code",-1),ss=s("",4),is=i("div",{className:"run-code"},"▶ Run Code",-1),as=s("",4),ns=i("div",{className:"run-code"},"▶ Run Code",-1),ls=s("",5),es=i("div",{className:"run-code"},"▶ Run Code",-1),ps=s("",4),hs=i("div",{className:"run-code"},"▶ Run Code",-1),ts=s("",4),ks=i("div",{className:"run-code"},"▶ Run Code",-1),rs=s("",5),ds=i("div",{className:"run-code"},"▶ Run Code",-1),Es=s("",5),cs=i("div",{className:"run-code"},"▶ Run Code",-1),os=s("",5),gs=i("div",{className:"run-code"},"▶ Run Code",-1),ys=s("",6),us=i("div",{className:"run-code"},"▶ Run Code",-1),bs=s("",5),ms=i("div",{className:"run-code"},"▶ Run Code",-1),Fs=s("",4),_s=i("div",{className:"run-code"},"▶ Run Code",-1),Cs=s("",5),vs=i("div",{className:"run-code"},"▶ Run Code",-1),As=s("",6),Ts=i("div",{className:"run-code"},"▶ Run Code",-1),Bs=s("",4),Ds=i("div",{className:"run-code"},"▶ Run Code",-1),fs=s("",4),Ss=i("div",{className:"run-code"},"▶ Run Code",-1),Ps=s("",5),ws=i("div",{className:"run-code"},"▶ Run Code",-1),xs=s("",6),js=i("div",{className:"run-code"},"▶ Run Code",-1),Rs=s("",4),Vs=i("div",{className:"run-code"},"▶ Run Code",-1),qs=s("",6),Ns=i("div",{className:"run-code"},"▶ Run Code",-1),Is=s("",2),Os=i("div",{className:"run-code"},"▶ Run Code",-1),zs=s("",5),Ls=i("div",{className:"run-code"},"▶ Run Code",-1),Ms=s("",4),$s=i("div",{className:"run-code"},"▶ Run Code",-1),Hs=s("",4),Ys=i("div",{className:"run-code"},"▶ Run Code",-1),Ws=s("",5),Js=i("div",{className:"run-code"},"▶ Run Code",-1),Us=s("",4),Gs=i("div",{className:"run-code"},"▶ Run Code",-1),Ks=s("",4),Qs=i("div",{className:"run-code"},"▶ Run Code",-1),Xs=s("",2),Zs=[p,h,t,k,r,d,E,c,o,g,y,u,b,m,F,_,C,v,A,T,B,D,f,S,P,w,x,j,R,V,q,N,I,O,z,L,M,$,H,Y,W,J,U,G,K,Q,X,Z,ss,is,as,ns,ls,es,ps,hs,ts,ks,rs,ds,Es,cs,os,gs,ys,us,bs,ms,Fs,_s,Cs,vs,As,Ts,Bs,Ds,fs,Ss,Ps,ws,xs,js,Rs,Vs,qs,Ns,Is,Os,zs,Ls,Ms,$s,Hs,Ys,Ws,Js,Us,Gs,Ks,Qs,Xs];function si(ii,ai,ni,li,ei,pi){return l(),n("div",null,Zs)}const ki=a(e,[["render",si]]);export{ti as __pageData,ki as default};
+import{_ as a,c as n,o as l,a7 as s,j as i}from"./chunks/framework.DHbvjPBJ.js";const ti=JSON.parse('{"title":"基础选项","description":"","frontmatter":{},"headers":[],"relativePath":"start/option.md","filePath":"start/option.md","lastUpdated":1724256543000}'),e={name:"start/option.md"},p=s("",4),h=i("div",{className:"run-code"},"▶ Run Code",-1),t=s("",9),k=i("div",{className:"run-code"},"▶ Run Code",-1),r=s("",2),d=i("div",{className:"run-code"},"▶ Run Code",-1),E=s("",5),c=i("div",{className:"run-code"},"▶ Run Code",-1),o=s("",4),g=i("div",{className:"run-code"},"▶ Run Code",-1),y=s("",7),u=i("div",{className:"run-code"},"▶ Run Code",-1),b=s("",4),m=i("div",{className:"run-code"},"▶ Run Code",-1),F=s("",4),_=i("div",{className:"run-code"},"▶ Run Code",-1),C=s("",5),v=i("div",{className:"run-code"},"▶ Run Code",-1),A=s("",4),T=i("div",{className:"run-code"},"▶ Run Code",-1),B=s("",4),D=i("div",{className:"run-code"},"▶ Run Code",-1),f=s("",5),S=i("div",{className:"run-code"},"▶ Run Code",-1),P=s("",4),w=i("div",{className:"run-code"},"▶ Run Code",-1),x=s("",4),j=i("div",{className:"run-code"},"▶ Run Code",-1),R=s("",4),V=i("div",{className:"run-code"},"▶ Run Code",-1),q=s("",4),N=i("div",{className:"run-code"},"▶ Run Code",-1),I=s("",4),O=i("div",{className:"run-code"},"▶ Run Code",-1),z=s("",4),L=i("div",{className:"run-code"},"▶ Run Code",-1),M=s("",5),$=i("div",{className:"run-code"},"▶ Run Code",-1),H=s("",4),Y=i("div",{className:"run-code"},"▶ Run Code",-1),W=s("",6),J=i("div",{className:"run-code"},"▶ Run Code",-1),U=s("",4),G=i("div",{className:"run-code"},"▶ Run Code",-1),K=s("",4),Q=i("div",{className:"run-code"},"▶ Run Code",-1),X=s("",4),Z=i("div",{className:"run-code"},"▶ Run Code",-1),ss=s("",4),is=i("div",{className:"run-code"},"▶ Run Code",-1),as=s("",4),ns=i("div",{className:"run-code"},"▶ Run Code",-1),ls=s("",5),es=i("div",{className:"run-code"},"▶ Run Code",-1),ps=s("",4),hs=i("div",{className:"run-code"},"▶ Run Code",-1),ts=s("",4),ks=i("div",{className:"run-code"},"▶ Run Code",-1),rs=s("",5),ds=i("div",{className:"run-code"},"▶ Run Code",-1),Es=s("",5),cs=i("div",{className:"run-code"},"▶ Run Code",-1),os=s("",5),gs=i("div",{className:"run-code"},"▶ Run Code",-1),ys=s("",6),us=i("div",{className:"run-code"},"▶ Run Code",-1),bs=s("",5),ms=i("div",{className:"run-code"},"▶ Run Code",-1),Fs=s("",4),_s=i("div",{className:"run-code"},"▶ Run Code",-1),Cs=s("",5),vs=i("div",{className:"run-code"},"▶ Run Code",-1),As=s("",6),Ts=i("div",{className:"run-code"},"▶ Run Code",-1),Bs=s("",4),Ds=i("div",{className:"run-code"},"▶ Run Code",-1),fs=s("",4),Ss=i("div",{className:"run-code"},"▶ Run Code",-1),Ps=s("",5),ws=i("div",{className:"run-code"},"▶ Run Code",-1),xs=s("",6),js=i("div",{className:"run-code"},"▶ Run Code",-1),Rs=s("",4),Vs=i("div",{className:"run-code"},"▶ Run Code",-1),qs=s("",6),Ns=i("div",{className:"run-code"},"▶ Run Code",-1),Is=s("",2),Os=i("div",{className:"run-code"},"▶ Run Code",-1),zs=s("",5),Ls=i("div",{className:"run-code"},"▶ Run Code",-1),Ms=s("",4),$s=i("div",{className:"run-code"},"▶ Run Code",-1),Hs=s("",4),Ys=i("div",{className:"run-code"},"▶ Run Code",-1),Ws=s("",5),Js=i("div",{className:"run-code"},"▶ Run Code",-1),Us=s("",4),Gs=i("div",{className:"run-code"},"▶ Run Code",-1),Ks=s("",4),Qs=i("div",{className:"run-code"},"▶ Run Code",-1),Xs=s("",2),Zs=[p,h,t,k,r,d,E,c,o,g,y,u,b,m,F,_,C,v,A,T,B,D,f,S,P,w,x,j,R,V,q,N,I,O,z,L,M,$,H,Y,W,J,U,G,K,Q,X,Z,ss,is,as,ns,ls,es,ps,hs,ts,ks,rs,ds,Es,cs,os,gs,ys,us,bs,ms,Fs,_s,Cs,vs,As,Ts,Bs,Ds,fs,Ss,Ps,ws,xs,js,Rs,Vs,qs,Ns,Is,Os,zs,Ls,Ms,$s,Hs,Ys,Ws,Js,Us,Gs,Ks,Qs,Xs];function si(ii,ai,ni,li,ei,pi){return l(),n("div",null,Zs)}const ki=a(e,[["render",si]]);export{ti as __pageData,ki as default};
diff --git a/document/assets/style.BCFi8ev9.css b/document/assets/style.BCFi8ev9.css
new file mode 100644
index 000000000..43615510b
--- /dev/null
+++ b/document/assets/style.BCFi8ev9.css
@@ -0,0 +1 @@
+@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/document/assets/inter-roman-cyrillic-ext.BBPuwvHQ.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/document/assets/inter-roman-cyrillic.C5lxZ8CY.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/document/assets/inter-roman-greek-ext.CqjqNYQ-.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/document/assets/inter-roman-greek.BBVDIX6e.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/document/assets/inter-roman-vietnamese.BjW4sHH5.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/document/assets/inter-roman-latin-ext.4ZJIpNVo.woff2) format("woff2");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/document/assets/inter-roman-latin.Di8DUHzh.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:italic;font-weight:100 900;font-display:swap;src:url(/document/assets/inter-italic-cyrillic-ext.r48I6akx.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:italic;font-weight:100 900;font-display:swap;src:url(/document/assets/inter-italic-cyrillic.By2_1cv3.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:italic;font-weight:100 900;font-display:swap;src:url(/document/assets/inter-italic-greek-ext.1u6EdAuj.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:italic;font-weight:100 900;font-display:swap;src:url(/document/assets/inter-italic-greek.DJ8dCoTZ.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:italic;font-weight:100 900;font-display:swap;src:url(/document/assets/inter-italic-vietnamese.BSbpV94h.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:italic;font-weight:100 900;font-display:swap;src:url(/document/assets/inter-italic-latin-ext.CN1xVJS-.woff2) format("woff2");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:italic;font-weight:100 900;font-display:swap;src:url(/document/assets/inter-italic-latin.C2AdPX0b.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Punctuation SC;font-weight:400;src:local("PingFang SC Regular"),local("Noto Sans CJK SC"),local("Microsoft YaHei");unicode-range:U+201C,U+201D,U+2018,U+2019,U+2E3A,U+2014,U+2013,U+2026,U+00B7,U+007E,U+002F}@font-face{font-family:Punctuation SC;font-weight:500;src:local("PingFang SC Medium"),local("Noto Sans CJK SC"),local("Microsoft YaHei");unicode-range:U+201C,U+201D,U+2018,U+2019,U+2E3A,U+2014,U+2013,U+2026,U+00B7,U+007E,U+002F}@font-face{font-family:Punctuation SC;font-weight:600;src:local("PingFang SC Semibold"),local("Noto Sans CJK SC Bold"),local("Microsoft YaHei Bold");unicode-range:U+201C,U+201D,U+2018,U+2019,U+2E3A,U+2014,U+2013,U+2026,U+00B7,U+007E,U+002F}@font-face{font-family:Punctuation SC;font-weight:700;src:local("PingFang SC Semibold"),local("Noto Sans CJK SC Bold"),local("Microsoft YaHei Bold");unicode-range:U+201C,U+201D,U+2018,U+2019,U+2E3A,U+2014,U+2013,U+2026,U+00B7,U+007E,U+002F}:root{--vp-c-white: #ffffff;--vp-c-black: #000000;--vp-c-neutral: var(--vp-c-black);--vp-c-neutral-inverse: var(--vp-c-white)}.dark{--vp-c-neutral: var(--vp-c-white);--vp-c-neutral-inverse: var(--vp-c-black)}:root{--vp-c-gray-1: #dddde3;--vp-c-gray-2: #e4e4e9;--vp-c-gray-3: #ebebef;--vp-c-gray-soft: rgba(142, 150, 170, .14);--vp-c-indigo-1: #3451b2;--vp-c-indigo-2: #3a5ccc;--vp-c-indigo-3: #5672cd;--vp-c-indigo-soft: rgba(100, 108, 255, .14);--vp-c-purple-1: #6f42c1;--vp-c-purple-2: #7e4cc9;--vp-c-purple-3: #8e5cd9;--vp-c-purple-soft: rgba(159, 122, 234, .14);--vp-c-green-1: #18794e;--vp-c-green-2: #299764;--vp-c-green-3: #30a46c;--vp-c-green-soft: rgba(16, 185, 129, .14);--vp-c-yellow-1: #915930;--vp-c-yellow-2: #946300;--vp-c-yellow-3: #9f6a00;--vp-c-yellow-soft: rgba(234, 179, 8, .14);--vp-c-red-1: #b8272c;--vp-c-red-2: #d5393e;--vp-c-red-3: #e0575b;--vp-c-red-soft: rgba(244, 63, 94, .14);--vp-c-sponsor: #db2777}.dark{--vp-c-gray-1: #515c67;--vp-c-gray-2: #414853;--vp-c-gray-3: #32363f;--vp-c-gray-soft: rgba(101, 117, 133, .16);--vp-c-indigo-1: #a8b1ff;--vp-c-indigo-2: #5c73e7;--vp-c-indigo-3: #3e63dd;--vp-c-indigo-soft: rgba(100, 108, 255, .16);--vp-c-purple-1: #c8abfa;--vp-c-purple-2: #a879e6;--vp-c-purple-3: #8e5cd9;--vp-c-purple-soft: rgba(159, 122, 234, .16);--vp-c-green-1: #3dd68c;--vp-c-green-2: #30a46c;--vp-c-green-3: #298459;--vp-c-green-soft: rgba(16, 185, 129, .16);--vp-c-yellow-1: #f9b44e;--vp-c-yellow-2: #da8b17;--vp-c-yellow-3: #a46a0a;--vp-c-yellow-soft: rgba(234, 179, 8, .16);--vp-c-red-1: #f66f81;--vp-c-red-2: #f14158;--vp-c-red-3: #b62a3c;--vp-c-red-soft: rgba(244, 63, 94, .16)}:root{--vp-c-bg: #ffffff;--vp-c-bg-alt: #f6f6f7;--vp-c-bg-elv: #ffffff;--vp-c-bg-soft: #f6f6f7}.dark{--vp-c-bg: #1b1b1f;--vp-c-bg-alt: #161618;--vp-c-bg-elv: #202127;--vp-c-bg-soft: #202127}:root{--vp-c-border: #c2c2c4;--vp-c-divider: #e2e2e3;--vp-c-gutter: #e2e2e3}.dark{--vp-c-border: #3c3f44;--vp-c-divider: #2e2e32;--vp-c-gutter: #000000}:root{--vp-c-text-1: rgba(60, 60, 67);--vp-c-text-2: rgba(60, 60, 67, .78);--vp-c-text-3: rgba(60, 60, 67, .56)}.dark{--vp-c-text-1: rgba(255, 255, 245, .86);--vp-c-text-2: rgba(235, 235, 245, .6);--vp-c-text-3: rgba(235, 235, 245, .38)}:root{--vp-c-default-1: var(--vp-c-gray-1);--vp-c-default-2: var(--vp-c-gray-2);--vp-c-default-3: var(--vp-c-gray-3);--vp-c-default-soft: var(--vp-c-gray-soft);--vp-c-brand-1: var(--vp-c-indigo-1);--vp-c-brand-2: var(--vp-c-indigo-2);--vp-c-brand-3: var(--vp-c-indigo-3);--vp-c-brand-soft: var(--vp-c-indigo-soft);--vp-c-brand: var(--vp-c-brand-1);--vp-c-tip-1: var(--vp-c-brand-1);--vp-c-tip-2: var(--vp-c-brand-2);--vp-c-tip-3: var(--vp-c-brand-3);--vp-c-tip-soft: var(--vp-c-brand-soft);--vp-c-note-1: var(--vp-c-brand-1);--vp-c-note-2: var(--vp-c-brand-2);--vp-c-note-3: var(--vp-c-brand-3);--vp-c-note-soft: var(--vp-c-brand-soft);--vp-c-success-1: var(--vp-c-green-1);--vp-c-success-2: var(--vp-c-green-2);--vp-c-success-3: var(--vp-c-green-3);--vp-c-success-soft: var(--vp-c-green-soft);--vp-c-important-1: var(--vp-c-purple-1);--vp-c-important-2: var(--vp-c-purple-2);--vp-c-important-3: var(--vp-c-purple-3);--vp-c-important-soft: var(--vp-c-purple-soft);--vp-c-warning-1: var(--vp-c-yellow-1);--vp-c-warning-2: var(--vp-c-yellow-2);--vp-c-warning-3: var(--vp-c-yellow-3);--vp-c-warning-soft: var(--vp-c-yellow-soft);--vp-c-danger-1: var(--vp-c-red-1);--vp-c-danger-2: var(--vp-c-red-2);--vp-c-danger-3: var(--vp-c-red-3);--vp-c-danger-soft: var(--vp-c-red-soft);--vp-c-caution-1: var(--vp-c-red-1);--vp-c-caution-2: var(--vp-c-red-2);--vp-c-caution-3: var(--vp-c-red-3);--vp-c-caution-soft: var(--vp-c-red-soft)}:root{--vp-font-family-base: "Inter", ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--vp-font-family-mono: ui-monospace, "Menlo", "Monaco", "Consolas", "Liberation Mono", "Courier New", monospace;font-optical-sizing:auto}:root:where(:lang(zh)){--vp-font-family-base: "Punctuation SC", "Inter", ui-sans-serif, system-ui, "PingFang SC", "Noto Sans CJK SC", "Noto Sans SC", "Heiti SC", "Microsoft YaHei", "DengXian", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"}:root{--vp-shadow-1: 0 1px 2px rgba(0, 0, 0, .04), 0 1px 2px rgba(0, 0, 0, .06);--vp-shadow-2: 0 3px 12px rgba(0, 0, 0, .07), 0 1px 4px rgba(0, 0, 0, .07);--vp-shadow-3: 0 12px 32px rgba(0, 0, 0, .1), 0 2px 6px rgba(0, 0, 0, .08);--vp-shadow-4: 0 14px 44px rgba(0, 0, 0, .12), 0 3px 9px rgba(0, 0, 0, .12);--vp-shadow-5: 0 18px 56px rgba(0, 0, 0, .16), 0 4px 12px rgba(0, 0, 0, .16)}:root{--vp-z-index-footer: 10;--vp-z-index-local-nav: 20;--vp-z-index-nav: 30;--vp-z-index-layout-top: 40;--vp-z-index-backdrop: 50;--vp-z-index-sidebar: 60}@media (min-width: 960px){:root{--vp-z-index-sidebar: 25}}:root{--vp-layout-max-width: 1440px}:root{--vp-header-anchor-symbol: "#"}:root{--vp-code-line-height: 1.7;--vp-code-font-size: .875em;--vp-code-color: var(--vp-c-brand-1);--vp-code-link-color: var(--vp-c-brand-1);--vp-code-link-hover-color: var(--vp-c-brand-2);--vp-code-bg: var(--vp-c-default-soft);--vp-code-block-color: var(--vp-c-text-2);--vp-code-block-bg: var(--vp-c-bg-alt);--vp-code-block-divider-color: var(--vp-c-gutter);--vp-code-lang-color: var(--vp-c-text-3);--vp-code-line-highlight-color: var(--vp-c-default-soft);--vp-code-line-number-color: var(--vp-c-text-3);--vp-code-line-diff-add-color: var(--vp-c-success-soft);--vp-code-line-diff-add-symbol-color: var(--vp-c-success-1);--vp-code-line-diff-remove-color: var(--vp-c-danger-soft);--vp-code-line-diff-remove-symbol-color: var(--vp-c-danger-1);--vp-code-line-warning-color: var(--vp-c-warning-soft);--vp-code-line-error-color: var(--vp-c-danger-soft);--vp-code-copy-code-border-color: var(--vp-c-divider);--vp-code-copy-code-bg: var(--vp-c-bg-soft);--vp-code-copy-code-hover-border-color: var(--vp-c-divider);--vp-code-copy-code-hover-bg: var(--vp-c-bg);--vp-code-copy-code-active-text: var(--vp-c-text-2);--vp-code-copy-copied-text-content: "Copied";--vp-code-tab-divider: var(--vp-code-block-divider-color);--vp-code-tab-text-color: var(--vp-c-text-2);--vp-code-tab-bg: var(--vp-code-block-bg);--vp-code-tab-hover-text-color: var(--vp-c-text-1);--vp-code-tab-active-text-color: var(--vp-c-text-1);--vp-code-tab-active-bar-color: var(--vp-c-brand-1)}:root{--vp-button-brand-border: transparent;--vp-button-brand-text: var(--vp-c-white);--vp-button-brand-bg: var(--vp-c-brand-3);--vp-button-brand-hover-border: transparent;--vp-button-brand-hover-text: var(--vp-c-white);--vp-button-brand-hover-bg: var(--vp-c-brand-2);--vp-button-brand-active-border: transparent;--vp-button-brand-active-text: var(--vp-c-white);--vp-button-brand-active-bg: var(--vp-c-brand-1);--vp-button-alt-border: transparent;--vp-button-alt-text: var(--vp-c-text-1);--vp-button-alt-bg: var(--vp-c-default-3);--vp-button-alt-hover-border: transparent;--vp-button-alt-hover-text: var(--vp-c-text-1);--vp-button-alt-hover-bg: var(--vp-c-default-2);--vp-button-alt-active-border: transparent;--vp-button-alt-active-text: var(--vp-c-text-1);--vp-button-alt-active-bg: var(--vp-c-default-1);--vp-button-sponsor-border: var(--vp-c-text-2);--vp-button-sponsor-text: var(--vp-c-text-2);--vp-button-sponsor-bg: transparent;--vp-button-sponsor-hover-border: var(--vp-c-sponsor);--vp-button-sponsor-hover-text: var(--vp-c-sponsor);--vp-button-sponsor-hover-bg: transparent;--vp-button-sponsor-active-border: var(--vp-c-sponsor);--vp-button-sponsor-active-text: var(--vp-c-sponsor);--vp-button-sponsor-active-bg: transparent}:root{--vp-custom-block-font-size: 14px;--vp-custom-block-code-font-size: 13px;--vp-custom-block-info-border: transparent;--vp-custom-block-info-text: var(--vp-c-text-1);--vp-custom-block-info-bg: var(--vp-c-default-soft);--vp-custom-block-info-code-bg: var(--vp-c-default-soft);--vp-custom-block-note-border: transparent;--vp-custom-block-note-text: var(--vp-c-text-1);--vp-custom-block-note-bg: var(--vp-c-default-soft);--vp-custom-block-note-code-bg: var(--vp-c-default-soft);--vp-custom-block-tip-border: transparent;--vp-custom-block-tip-text: var(--vp-c-text-1);--vp-custom-block-tip-bg: var(--vp-c-tip-soft);--vp-custom-block-tip-code-bg: var(--vp-c-tip-soft);--vp-custom-block-important-border: transparent;--vp-custom-block-important-text: var(--vp-c-text-1);--vp-custom-block-important-bg: var(--vp-c-important-soft);--vp-custom-block-important-code-bg: var(--vp-c-important-soft);--vp-custom-block-warning-border: transparent;--vp-custom-block-warning-text: var(--vp-c-text-1);--vp-custom-block-warning-bg: var(--vp-c-warning-soft);--vp-custom-block-warning-code-bg: var(--vp-c-warning-soft);--vp-custom-block-danger-border: transparent;--vp-custom-block-danger-text: var(--vp-c-text-1);--vp-custom-block-danger-bg: var(--vp-c-danger-soft);--vp-custom-block-danger-code-bg: var(--vp-c-danger-soft);--vp-custom-block-caution-border: transparent;--vp-custom-block-caution-text: var(--vp-c-text-1);--vp-custom-block-caution-bg: var(--vp-c-caution-soft);--vp-custom-block-caution-code-bg: var(--vp-c-caution-soft);--vp-custom-block-details-border: var(--vp-custom-block-info-border);--vp-custom-block-details-text: var(--vp-custom-block-info-text);--vp-custom-block-details-bg: var(--vp-custom-block-info-bg);--vp-custom-block-details-code-bg: var(--vp-custom-block-info-code-bg)}:root{--vp-input-border-color: var(--vp-c-border);--vp-input-bg-color: var(--vp-c-bg-alt);--vp-input-switch-bg-color: var(--vp-c-default-soft)}:root{--vp-nav-height: 64px;--vp-nav-bg-color: var(--vp-c-bg);--vp-nav-screen-bg-color: var(--vp-c-bg);--vp-nav-logo-height: 24px}.hide-nav{--vp-nav-height: 0px}.hide-nav .VPSidebar{--vp-nav-height: 22px}:root{--vp-local-nav-bg-color: var(--vp-c-bg)}:root{--vp-sidebar-width: 272px;--vp-sidebar-bg-color: var(--vp-c-bg-alt)}:root{--vp-backdrop-bg-color: rgba(0, 0, 0, .6)}:root{--vp-home-hero-name-color: var(--vp-c-brand-1);--vp-home-hero-name-background: transparent;--vp-home-hero-image-background-image: none;--vp-home-hero-image-filter: none}:root{--vp-badge-info-border: transparent;--vp-badge-info-text: var(--vp-c-text-2);--vp-badge-info-bg: var(--vp-c-default-soft);--vp-badge-tip-border: transparent;--vp-badge-tip-text: var(--vp-c-tip-1);--vp-badge-tip-bg: var(--vp-c-tip-soft);--vp-badge-warning-border: transparent;--vp-badge-warning-text: var(--vp-c-warning-1);--vp-badge-warning-bg: var(--vp-c-warning-soft);--vp-badge-danger-border: transparent;--vp-badge-danger-text: var(--vp-c-danger-1);--vp-badge-danger-bg: var(--vp-c-danger-soft)}:root{--vp-carbon-ads-text-color: var(--vp-c-text-1);--vp-carbon-ads-poweredby-color: var(--vp-c-text-2);--vp-carbon-ads-bg-color: var(--vp-c-bg-soft);--vp-carbon-ads-hover-text-color: var(--vp-c-brand-1);--vp-carbon-ads-hover-poweredby-color: var(--vp-c-text-1)}:root{--vp-local-search-bg: var(--vp-c-bg);--vp-local-search-result-bg: var(--vp-c-bg);--vp-local-search-result-border: var(--vp-c-divider);--vp-local-search-result-selected-bg: var(--vp-c-bg);--vp-local-search-result-selected-border: var(--vp-c-brand-1);--vp-local-search-highlight-bg: var(--vp-c-brand-1);--vp-local-search-highlight-text: var(--vp-c-neutral-inverse)}@media (prefers-reduced-motion: reduce){*,:before,:after{animation-delay:-1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important;background-attachment:initial!important;scroll-behavior:auto!important;transition-duration:0s!important;transition-delay:0s!important}}*,:before,:after{box-sizing:border-box}html{line-height:1.4;font-size:16px;-webkit-text-size-adjust:100%}html.dark{color-scheme:dark}body{margin:0;width:100%;min-width:320px;min-height:100vh;line-height:24px;font-family:var(--vp-font-family-base);font-size:16px;font-weight:400;color:var(--vp-c-text-1);background-color:var(--vp-c-bg);font-synthesis:style;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}main{display:block}h1,h2,h3,h4,h5,h6{margin:0;line-height:24px;font-size:16px;font-weight:400}p{margin:0}strong,b{font-weight:600}a,area,button,[role=button],input,label,select,summary,textarea{touch-action:manipulation}a{color:inherit;text-decoration:inherit}ol,ul{list-style:none;margin:0;padding:0}blockquote{margin:0}pre,code,kbd,samp{font-family:var(--vp-font-family-mono)}img,svg,video,canvas,audio,iframe,embed,object{display:block}figure{margin:0}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{border:0;padding:0;line-height:inherit;color:inherit}button{padding:0;font-family:inherit;background-color:transparent;background-image:none}button:enabled,[role=button]:enabled{cursor:pointer}button:focus,button:focus-visible{outline:1px dotted;outline:4px auto -webkit-focus-ring-color}button:focus:not(:focus-visible){outline:none!important}input:focus,textarea:focus,select:focus{outline:none}table{border-collapse:collapse}input{background-color:transparent}input:-ms-input-placeholder,textarea:-ms-input-placeholder{color:var(--vp-c-text-3)}input::-ms-input-placeholder,textarea::-ms-input-placeholder{color:var(--vp-c-text-3)}input::placeholder,textarea::placeholder{color:var(--vp-c-text-3)}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}textarea{resize:vertical}select{-webkit-appearance:none}fieldset{margin:0;padding:0}h1,h2,h3,h4,h5,h6,li,p{overflow-wrap:break-word}vite-error-overlay{z-index:9999}mjx-container{overflow-x:auto}mjx-container>svg{display:inline-block;margin:auto}[class^=vpi-],[class*=" vpi-"],.vp-icon{width:1em;height:1em}[class^=vpi-].bg,[class*=" vpi-"].bg,.vp-icon.bg{background-size:100% 100%;background-color:transparent}[class^=vpi-]:not(.bg),[class*=" vpi-"]:not(.bg),.vp-icon:not(.bg){-webkit-mask:var(--icon) no-repeat;mask:var(--icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit}.vpi-align-left{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M21 6H3M15 12H3M17 18H3'/%3E%3C/svg%3E")}.vpi-arrow-right,.vpi-arrow-down,.vpi-arrow-left,.vpi-arrow-up{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M5 12h14M12 5l7 7-7 7'/%3E%3C/svg%3E")}.vpi-chevron-right,.vpi-chevron-down,.vpi-chevron-left,.vpi-chevron-up{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='m9 18 6-6-6-6'/%3E%3C/svg%3E")}.vpi-chevron-down,.vpi-arrow-down{transform:rotate(90deg)}.vpi-chevron-left,.vpi-arrow-left{transform:rotate(180deg)}.vpi-chevron-up,.vpi-arrow-up{transform:rotate(-90deg)}.vpi-square-pen{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7'/%3E%3Cpath d='M18.375 2.625a2.121 2.121 0 1 1 3 3L12 15l-4 1 1-4Z'/%3E%3C/svg%3E")}.vpi-plus{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M5 12h14M12 5v14'/%3E%3C/svg%3E")}.vpi-sun{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Cpath d='M12 2v2M12 20v2M4.93 4.93l1.41 1.41M17.66 17.66l1.41 1.41M2 12h2M20 12h2M6.34 17.66l-1.41 1.41M19.07 4.93l-1.41 1.41'/%3E%3C/svg%3E")}.vpi-moon{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z'/%3E%3C/svg%3E")}.vpi-more-horizontal{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='1'/%3E%3Ccircle cx='19' cy='12' r='1'/%3E%3Ccircle cx='5' cy='12' r='1'/%3E%3C/svg%3E")}.vpi-languages{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='m5 8 6 6M4 14l6-6 2-3M2 5h12M7 2h1M22 22l-5-10-5 10M14 18h6'/%3E%3C/svg%3E")}.vpi-heart{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4.05 3 5.5l7 7Z'/%3E%3C/svg%3E")}.vpi-search{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.3-4.3'/%3E%3C/svg%3E")}.vpi-layout-list{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Crect width='7' height='7' x='3' y='3' rx='1'/%3E%3Crect width='7' height='7' x='3' y='14' rx='1'/%3E%3Cpath d='M14 4h7M14 9h7M14 15h7M14 20h7'/%3E%3C/svg%3E")}.vpi-delete{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M20 5H9l-7 7 7 7h11a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2ZM18 9l-6 6M12 9l6 6'/%3E%3C/svg%3E")}.vpi-corner-down-left{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='m9 10-5 5 5 5'/%3E%3Cpath d='M20 4v7a4 4 0 0 1-4 4H4'/%3E%3C/svg%3E")}:root{--vp-icon-copy: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='rgba(128,128,128,1)' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Crect width='8' height='4' x='8' y='2' rx='1' ry='1'/%3E%3Cpath d='M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2'/%3E%3C/svg%3E");--vp-icon-copied: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='rgba(128,128,128,1)' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Crect width='8' height='4' x='8' y='2' rx='1' ry='1'/%3E%3Cpath d='M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2'/%3E%3Cpath d='m9 14 2 2 4-4'/%3E%3C/svg%3E")}.vpi-social-discord{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20.317 4.37a19.791 19.791 0 0 0-4.885-1.515.074.074 0 0 0-.079.037c-.21.375-.444.864-.608 1.25a18.27 18.27 0 0 0-5.487 0 12.64 12.64 0 0 0-.617-1.25.077.077 0 0 0-.079-.037A19.736 19.736 0 0 0 3.677 4.37a.07.07 0 0 0-.032.027C.533 9.046-.32 13.58.099 18.057a.082.082 0 0 0 .031.057 19.9 19.9 0 0 0 5.993 3.03.078.078 0 0 0 .084-.028c.462-.63.874-1.295 1.226-1.994a.076.076 0 0 0-.041-.106 13.107 13.107 0 0 1-1.872-.892.077.077 0 0 1-.008-.128 10.2 10.2 0 0 0 .372-.292.074.074 0 0 1 .077-.01c3.928 1.793 8.18 1.793 12.062 0a.074.074 0 0 1 .078.01c.12.098.246.198.373.292a.077.077 0 0 1-.006.127 12.299 12.299 0 0 1-1.873.892.077.077 0 0 0-.041.107c.36.698.772 1.362 1.225 1.993a.076.076 0 0 0 .084.028 19.839 19.839 0 0 0 6.002-3.03.077.077 0 0 0 .032-.054c.5-5.177-.838-9.674-3.549-13.66a.061.061 0 0 0-.031-.03zM8.02 15.33c-1.183 0-2.157-1.085-2.157-2.419 0-1.333.956-2.419 2.157-2.419 1.21 0 2.176 1.096 2.157 2.42 0 1.333-.956 2.418-2.157 2.418zm7.975 0c-1.183 0-2.157-1.085-2.157-2.419 0-1.333.955-2.419 2.157-2.419 1.21 0 2.176 1.096 2.157 2.42 0 1.333-.946 2.418-2.157 2.418Z'/%3E%3C/svg%3E")}.vpi-social-facebook{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9.101 23.691v-7.98H6.627v-3.667h2.474v-1.58c0-4.085 1.848-5.978 5.858-5.978.401 0 .955.042 1.468.103a8.68 8.68 0 0 1 1.141.195v3.325a8.623 8.623 0 0 0-.653-.036 26.805 26.805 0 0 0-.733-.009c-.707 0-1.259.096-1.675.309a1.686 1.686 0 0 0-.679.622c-.258.42-.374.995-.374 1.752v1.297h3.919l-.386 2.103-.287 1.564h-3.246v8.245C19.396 23.238 24 18.179 24 12.044c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.628 3.874 10.35 9.101 11.647Z'/%3E%3C/svg%3E")}.vpi-social-github{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12'/%3E%3C/svg%3E")}.vpi-social-instagram{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7.03.084c-1.277.06-2.149.264-2.91.563a5.874 5.874 0 0 0-2.124 1.388 5.878 5.878 0 0 0-1.38 2.127C.321 4.926.12 5.8.064 7.076.008 8.354-.005 8.764.001 12.023c.007 3.259.021 3.667.083 4.947.061 1.277.264 2.149.563 2.911.308.789.72 1.457 1.388 2.123a5.872 5.872 0 0 0 2.129 1.38c.763.295 1.636.496 2.913.552 1.278.056 1.689.069 4.947.063 3.257-.007 3.668-.021 4.947-.082 1.28-.06 2.147-.265 2.91-.563a5.881 5.881 0 0 0 2.123-1.388 5.881 5.881 0 0 0 1.38-2.129c.295-.763.496-1.636.551-2.912.056-1.28.07-1.69.063-4.948-.006-3.258-.02-3.667-.081-4.947-.06-1.28-.264-2.148-.564-2.911a5.892 5.892 0 0 0-1.387-2.123 5.857 5.857 0 0 0-2.128-1.38C19.074.322 18.202.12 16.924.066 15.647.009 15.236-.006 11.977 0 8.718.008 8.31.021 7.03.084m.14 21.693c-1.17-.05-1.805-.245-2.228-.408a3.736 3.736 0 0 1-1.382-.895 3.695 3.695 0 0 1-.9-1.378c-.165-.423-.363-1.058-.417-2.228-.06-1.264-.072-1.644-.08-4.848-.006-3.204.006-3.583.061-4.848.05-1.169.246-1.805.408-2.228.216-.561.477-.96.895-1.382a3.705 3.705 0 0 1 1.379-.9c.423-.165 1.057-.361 2.227-.417 1.265-.06 1.644-.072 4.848-.08 3.203-.006 3.583.006 4.85.062 1.168.05 1.804.244 2.227.408.56.216.96.475 1.382.895.421.42.681.817.9 1.378.165.422.362 1.056.417 2.227.06 1.265.074 1.645.08 4.848.005 3.203-.006 3.583-.061 4.848-.051 1.17-.245 1.805-.408 2.23-.216.56-.477.96-.896 1.38a3.705 3.705 0 0 1-1.378.9c-.422.165-1.058.362-2.226.418-1.266.06-1.645.072-4.85.079-3.204.007-3.582-.006-4.848-.06m9.783-16.192a1.44 1.44 0 1 0 1.437-1.442 1.44 1.44 0 0 0-1.437 1.442M5.839 12.012a6.161 6.161 0 1 0 12.323-.024 6.162 6.162 0 0 0-12.323.024M8 12.008A4 4 0 1 1 12.008 16 4 4 0 0 1 8 12.008'/%3E%3C/svg%3E")}.vpi-social-linkedin{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433a2.062 2.062 0 0 1-2.063-2.065 2.064 2.064 0 1 1 2.063 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z'/%3E%3C/svg%3E")}.vpi-social-mastodon{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M23.268 5.313c-.35-2.578-2.617-4.61-5.304-5.004C17.51.242 15.792 0 11.813 0h-.03c-3.98 0-4.835.242-5.288.309C3.882.692 1.496 2.518.917 5.127.64 6.412.61 7.837.661 9.143c.074 1.874.088 3.745.26 5.611.118 1.24.325 2.47.62 3.68.55 2.237 2.777 4.098 4.96 4.857 2.336.792 4.849.923 7.256.38.265-.061.527-.132.786-.213.585-.184 1.27-.39 1.774-.753a.057.057 0 0 0 .023-.043v-1.809a.052.052 0 0 0-.02-.041.053.053 0 0 0-.046-.01 20.282 20.282 0 0 1-4.709.545c-2.73 0-3.463-1.284-3.674-1.818a5.593 5.593 0 0 1-.319-1.433.053.053 0 0 1 .066-.054c1.517.363 3.072.546 4.632.546.376 0 .75 0 1.125-.01 1.57-.044 3.224-.124 4.768-.422.038-.008.077-.015.11-.024 2.435-.464 4.753-1.92 4.989-5.604.008-.145.03-1.52.03-1.67.002-.512.167-3.63-.024-5.545zm-3.748 9.195h-2.561V8.29c0-1.309-.55-1.976-1.67-1.976-1.23 0-1.846.79-1.846 2.35v3.403h-2.546V8.663c0-1.56-.617-2.35-1.848-2.35-1.112 0-1.668.668-1.67 1.977v6.218H4.822V8.102c0-1.31.337-2.35 1.011-3.12.696-.77 1.608-1.164 2.74-1.164 1.311 0 2.302.5 2.962 1.498l.638 1.06.638-1.06c.66-.999 1.65-1.498 2.96-1.498 1.13 0 2.043.395 2.74 1.164.675.77 1.012 1.81 1.012 3.12z'/%3E%3C/svg%3E")}.vpi-social-npm{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M1.763 0C.786 0 0 .786 0 1.763v20.474C0 23.214.786 24 1.763 24h20.474c.977 0 1.763-.786 1.763-1.763V1.763C24 .786 23.214 0 22.237 0zM5.13 5.323l13.837.019-.009 13.836h-3.464l.01-10.382h-3.456L12.04 19.17H5.113z'/%3E%3C/svg%3E")}.vpi-social-slack{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5.042 15.165a2.528 2.528 0 0 1-2.52 2.523A2.528 2.528 0 0 1 0 15.165a2.527 2.527 0 0 1 2.522-2.52h2.52v2.52zm1.271 0a2.527 2.527 0 0 1 2.521-2.52 2.527 2.527 0 0 1 2.521 2.52v6.313A2.528 2.528 0 0 1 8.834 24a2.528 2.528 0 0 1-2.521-2.522v-6.313zM8.834 5.042a2.528 2.528 0 0 1-2.521-2.52A2.528 2.528 0 0 1 8.834 0a2.528 2.528 0 0 1 2.521 2.522v2.52H8.834zm0 1.271a2.528 2.528 0 0 1 2.521 2.521 2.528 2.528 0 0 1-2.521 2.521H2.522A2.528 2.528 0 0 1 0 8.834a2.528 2.528 0 0 1 2.522-2.521h6.312zm10.122 2.521a2.528 2.528 0 0 1 2.522-2.521A2.528 2.528 0 0 1 24 8.834a2.528 2.528 0 0 1-2.522 2.521h-2.522V8.834zm-1.268 0a2.528 2.528 0 0 1-2.523 2.521 2.527 2.527 0 0 1-2.52-2.521V2.522A2.527 2.527 0 0 1 15.165 0a2.528 2.528 0 0 1 2.523 2.522v6.312zm-2.523 10.122a2.528 2.528 0 0 1 2.523 2.522A2.528 2.528 0 0 1 15.165 24a2.527 2.527 0 0 1-2.52-2.522v-2.522h2.52zm0-1.268a2.527 2.527 0 0 1-2.52-2.523 2.526 2.526 0 0 1 2.52-2.52h6.313A2.527 2.527 0 0 1 24 15.165a2.528 2.528 0 0 1-2.522 2.523h-6.313z'/%3E%3C/svg%3E")}.vpi-social-twitter,.vpi-social-x{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M18.901 1.153h3.68l-8.04 9.19L24 22.846h-7.406l-5.8-7.584-6.638 7.584H.474l8.6-9.83L0 1.154h7.594l5.243 6.932ZM17.61 20.644h2.039L6.486 3.24H4.298Z'/%3E%3C/svg%3E")}.vpi-social-youtube{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z'/%3E%3C/svg%3E")}.visually-hidden{position:absolute;width:1px;height:1px;white-space:nowrap;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden}.custom-block{border:1px solid transparent;border-radius:8px;padding:16px 16px 8px;line-height:24px;font-size:var(--vp-custom-block-font-size);color:var(--vp-c-text-2)}.custom-block.info{border-color:var(--vp-custom-block-info-border);color:var(--vp-custom-block-info-text);background-color:var(--vp-custom-block-info-bg)}.custom-block.info a,.custom-block.info code{color:var(--vp-c-brand-1)}.custom-block.info a:hover,.custom-block.info a:hover>code{color:var(--vp-c-brand-2)}.custom-block.info code{background-color:var(--vp-custom-block-info-code-bg)}.custom-block.note{border-color:var(--vp-custom-block-note-border);color:var(--vp-custom-block-note-text);background-color:var(--vp-custom-block-note-bg)}.custom-block.note a,.custom-block.note code{color:var(--vp-c-brand-1)}.custom-block.note a:hover,.custom-block.note a:hover>code{color:var(--vp-c-brand-2)}.custom-block.note code{background-color:var(--vp-custom-block-note-code-bg)}.custom-block.tip{border-color:var(--vp-custom-block-tip-border);color:var(--vp-custom-block-tip-text);background-color:var(--vp-custom-block-tip-bg)}.custom-block.tip a,.custom-block.tip code{color:var(--vp-c-tip-1)}.custom-block.tip a:hover,.custom-block.tip a:hover>code{color:var(--vp-c-tip-2)}.custom-block.tip code{background-color:var(--vp-custom-block-tip-code-bg)}.custom-block.important{border-color:var(--vp-custom-block-important-border);color:var(--vp-custom-block-important-text);background-color:var(--vp-custom-block-important-bg)}.custom-block.important a,.custom-block.important code{color:var(--vp-c-important-1)}.custom-block.important a:hover,.custom-block.important a:hover>code{color:var(--vp-c-important-2)}.custom-block.important code{background-color:var(--vp-custom-block-important-code-bg)}.custom-block.warning{border-color:var(--vp-custom-block-warning-border);color:var(--vp-custom-block-warning-text);background-color:var(--vp-custom-block-warning-bg)}.custom-block.warning a,.custom-block.warning code{color:var(--vp-c-warning-1)}.custom-block.warning a:hover,.custom-block.warning a:hover>code{color:var(--vp-c-warning-2)}.custom-block.warning code{background-color:var(--vp-custom-block-warning-code-bg)}.custom-block.danger{border-color:var(--vp-custom-block-danger-border);color:var(--vp-custom-block-danger-text);background-color:var(--vp-custom-block-danger-bg)}.custom-block.danger a,.custom-block.danger code{color:var(--vp-c-danger-1)}.custom-block.danger a:hover,.custom-block.danger a:hover>code{color:var(--vp-c-danger-2)}.custom-block.danger code{background-color:var(--vp-custom-block-danger-code-bg)}.custom-block.caution{border-color:var(--vp-custom-block-caution-border);color:var(--vp-custom-block-caution-text);background-color:var(--vp-custom-block-caution-bg)}.custom-block.caution a,.custom-block.caution code{color:var(--vp-c-caution-1)}.custom-block.caution a:hover,.custom-block.caution a:hover>code{color:var(--vp-c-caution-2)}.custom-block.caution code{background-color:var(--vp-custom-block-caution-code-bg)}.custom-block.details{border-color:var(--vp-custom-block-details-border);color:var(--vp-custom-block-details-text);background-color:var(--vp-custom-block-details-bg)}.custom-block.details a{color:var(--vp-c-brand-1)}.custom-block.details a:hover,.custom-block.details a:hover>code{color:var(--vp-c-brand-2)}.custom-block.details code{background-color:var(--vp-custom-block-details-code-bg)}.custom-block-title{font-weight:600}.custom-block p+p{margin:8px 0}.custom-block.details summary{margin:0 0 8px;font-weight:700;cursor:pointer;-webkit-user-select:none;user-select:none}.custom-block.details summary+p{margin:8px 0}.custom-block a{color:inherit;font-weight:600;text-decoration:underline;text-underline-offset:2px;transition:opacity .25s}.custom-block a:hover{opacity:.75}.custom-block code{font-size:var(--vp-custom-block-code-font-size)}.custom-block.custom-block th,.custom-block.custom-block blockquote>p{font-size:var(--vp-custom-block-font-size);color:inherit}.dark .vp-code span{color:var(--shiki-dark, inherit)}html:not(.dark) .vp-code span{color:var(--shiki-light, inherit)}.vp-code-group{margin-top:16px}.vp-code-group .tabs{position:relative;display:flex;margin-right:-24px;margin-left:-24px;padding:0 12px;background-color:var(--vp-code-tab-bg);overflow-x:auto;overflow-y:hidden;box-shadow:inset 0 -1px var(--vp-code-tab-divider)}@media (min-width: 640px){.vp-code-group .tabs{margin-right:0;margin-left:0;border-radius:8px 8px 0 0}}.vp-code-group .tabs input{position:fixed;opacity:0;pointer-events:none}.vp-code-group .tabs label{position:relative;display:inline-block;border-bottom:1px solid transparent;padding:0 12px;line-height:48px;font-size:14px;font-weight:500;color:var(--vp-code-tab-text-color);white-space:nowrap;cursor:pointer;transition:color .25s}.vp-code-group .tabs label:after{position:absolute;right:8px;bottom:-1px;left:8px;z-index:1;height:2px;border-radius:2px;content:"";background-color:transparent;transition:background-color .25s}.vp-code-group label:hover{color:var(--vp-code-tab-hover-text-color)}.vp-code-group input:checked+label{color:var(--vp-code-tab-active-text-color)}.vp-code-group input:checked+label:after{background-color:var(--vp-code-tab-active-bar-color)}.vp-code-group div[class*=language-],.vp-block{display:none;margin-top:0!important;border-top-left-radius:0!important;border-top-right-radius:0!important}.vp-code-group div[class*=language-].active,.vp-block.active{display:block}.vp-block{padding:20px 24px}.vp-doc h1,.vp-doc h2,.vp-doc h3,.vp-doc h4,.vp-doc h5,.vp-doc h6{position:relative;font-weight:600;outline:none}.vp-doc h1{letter-spacing:-.02em;line-height:40px;font-size:28px}.vp-doc h2{margin:48px 0 16px;border-top:1px solid var(--vp-c-divider);padding-top:24px;letter-spacing:-.02em;line-height:32px;font-size:24px}.vp-doc h3{margin:32px 0 0;letter-spacing:-.01em;line-height:28px;font-size:20px}.vp-doc .header-anchor{position:absolute;top:0;left:0;margin-left:-.87em;font-weight:500;-webkit-user-select:none;user-select:none;opacity:0;text-decoration:none;transition:color .25s,opacity .25s}.vp-doc .header-anchor:before{content:var(--vp-header-anchor-symbol)}.vp-doc h1:hover .header-anchor,.vp-doc h1 .header-anchor:focus,.vp-doc h2:hover .header-anchor,.vp-doc h2 .header-anchor:focus,.vp-doc h3:hover .header-anchor,.vp-doc h3 .header-anchor:focus,.vp-doc h4:hover .header-anchor,.vp-doc h4 .header-anchor:focus,.vp-doc h5:hover .header-anchor,.vp-doc h5 .header-anchor:focus,.vp-doc h6:hover .header-anchor,.vp-doc h6 .header-anchor:focus{opacity:1}@media (min-width: 768px){.vp-doc h1{letter-spacing:-.02em;line-height:40px;font-size:32px}}.vp-doc h2 .header-anchor{top:24px}.vp-doc p,.vp-doc summary{margin:16px 0}.vp-doc p{line-height:28px}.vp-doc blockquote{margin:16px 0;border-left:2px solid var(--vp-c-divider);padding-left:16px;transition:border-color .5s}.vp-doc blockquote>p{margin:0;font-size:16px;color:var(--vp-c-text-2);transition:color .5s}.vp-doc a{font-weight:500;color:var(--vp-c-brand-1);text-decoration:underline;text-underline-offset:2px;transition:color .25s,opacity .25s}.vp-doc a:hover{color:var(--vp-c-brand-2)}.vp-doc strong{font-weight:600}.vp-doc ul,.vp-doc ol{padding-left:1.25rem;margin:16px 0}.vp-doc ul{list-style:disc}.vp-doc ol{list-style:decimal}.vp-doc li+li{margin-top:8px}.vp-doc li>ol,.vp-doc li>ul{margin:8px 0 0}.vp-doc table{display:block;border-collapse:collapse;margin:20px 0;overflow-x:auto}.vp-doc tr{background-color:var(--vp-c-bg);border-top:1px solid var(--vp-c-divider);transition:background-color .5s}.vp-doc tr:nth-child(2n){background-color:var(--vp-c-bg-soft)}.vp-doc th,.vp-doc td{border:1px solid var(--vp-c-divider);padding:8px 16px}.vp-doc th{text-align:left;font-size:14px;font-weight:600;color:var(--vp-c-text-2);background-color:var(--vp-c-bg-soft)}.vp-doc td{font-size:14px}.vp-doc hr{margin:16px 0;border:none;border-top:1px solid var(--vp-c-divider)}.vp-doc .custom-block{margin:16px 0}.vp-doc .custom-block p{margin:8px 0;line-height:24px}.vp-doc .custom-block p:first-child{margin:0}.vp-doc .custom-block div[class*=language-]{margin:8px 0;border-radius:8px}.vp-doc .custom-block div[class*=language-] code{font-weight:400;background-color:transparent}.vp-doc .custom-block .vp-code-group .tabs{margin:0;border-radius:8px 8px 0 0}.vp-doc :not(pre,h1,h2,h3,h4,h5,h6)>code{font-size:var(--vp-code-font-size);color:var(--vp-code-color)}.vp-doc :not(pre)>code{border-radius:4px;padding:3px 6px;background-color:var(--vp-code-bg);transition:color .25s,background-color .5s}.vp-doc a>code{color:var(--vp-code-link-color)}.vp-doc a:hover>code{color:var(--vp-code-link-hover-color)}.vp-doc h1>code,.vp-doc h2>code,.vp-doc h3>code{font-size:.9em}.vp-doc div[class*=language-],.vp-block{position:relative;margin:16px -24px;background-color:var(--vp-code-block-bg);overflow-x:auto;transition:background-color .5s}@media (min-width: 640px){.vp-doc div[class*=language-],.vp-block{border-radius:8px;margin:16px 0}}@media (max-width: 639px){.vp-doc li div[class*=language-]{border-radius:8px 0 0 8px}}.vp-doc div[class*=language-]+div[class*=language-],.vp-doc div[class$=-api]+div[class*=language-],.vp-doc div[class*=language-]+div[class$=-api]>div[class*=language-]{margin-top:-8px}.vp-doc [class*=language-] pre,.vp-doc [class*=language-] code{direction:ltr;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}.vp-doc [class*=language-] pre{position:relative;z-index:1;margin:0;padding:20px 0;background:transparent;overflow-x:auto}.vp-doc [class*=language-] code{display:block;padding:0 24px;width:fit-content;min-width:100%;line-height:var(--vp-code-line-height);font-size:var(--vp-code-font-size);color:var(--vp-code-block-color);transition:color .5s}.vp-doc [class*=language-] code .highlighted{background-color:var(--vp-code-line-highlight-color);transition:background-color .5s;margin:0 -24px;padding:0 24px;width:calc(100% + 48px);display:inline-block}.vp-doc [class*=language-] code .highlighted.error{background-color:var(--vp-code-line-error-color)}.vp-doc [class*=language-] code .highlighted.warning{background-color:var(--vp-code-line-warning-color)}.vp-doc [class*=language-] code .diff{transition:background-color .5s;margin:0 -24px;padding:0 24px;width:calc(100% + 48px);display:inline-block}.vp-doc [class*=language-] code .diff:before{position:absolute;left:10px}.vp-doc [class*=language-] .has-focused-lines .line:not(.has-focus){filter:blur(.095rem);opacity:.4;transition:filter .35s,opacity .35s}.vp-doc [class*=language-] .has-focused-lines .line:not(.has-focus){opacity:.7;transition:filter .35s,opacity .35s}.vp-doc [class*=language-]:hover .has-focused-lines .line:not(.has-focus){filter:blur(0);opacity:1}.vp-doc [class*=language-] code .diff.remove{background-color:var(--vp-code-line-diff-remove-color);opacity:.7}.vp-doc [class*=language-] code .diff.remove:before{content:"-";color:var(--vp-code-line-diff-remove-symbol-color)}.vp-doc [class*=language-] code .diff.add{background-color:var(--vp-code-line-diff-add-color)}.vp-doc [class*=language-] code .diff.add:before{content:"+";color:var(--vp-code-line-diff-add-symbol-color)}.vp-doc div[class*=language-].line-numbers-mode{padding-left:32px}.vp-doc .line-numbers-wrapper{position:absolute;top:0;bottom:0;left:0;z-index:3;border-right:1px solid var(--vp-code-block-divider-color);padding-top:20px;width:32px;text-align:center;font-family:var(--vp-font-family-mono);line-height:var(--vp-code-line-height);font-size:var(--vp-code-font-size);color:var(--vp-code-line-number-color);transition:border-color .5s,color .5s}.vp-doc [class*=language-]>button.copy{direction:ltr;position:absolute;top:12px;right:12px;z-index:3;border:1px solid var(--vp-code-copy-code-border-color);border-radius:4px;width:40px;height:40px;background-color:var(--vp-code-copy-code-bg);opacity:0;cursor:pointer;background-image:var(--vp-icon-copy);background-position:50%;background-size:20px;background-repeat:no-repeat;transition:border-color .25s,background-color .25s,opacity .25s}.vp-doc [class*=language-]:hover>button.copy,.vp-doc [class*=language-]>button.copy:focus{opacity:1}.vp-doc [class*=language-]>button.copy:hover,.vp-doc [class*=language-]>button.copy.copied{border-color:var(--vp-code-copy-code-hover-border-color);background-color:var(--vp-code-copy-code-hover-bg)}.vp-doc [class*=language-]>button.copy.copied,.vp-doc [class*=language-]>button.copy:hover.copied{border-radius:0 4px 4px 0;background-color:var(--vp-code-copy-code-hover-bg);background-image:var(--vp-icon-copied)}.vp-doc [class*=language-]>button.copy.copied:before,.vp-doc [class*=language-]>button.copy:hover.copied:before{position:relative;top:-1px;transform:translate(calc(-100% - 1px));display:flex;justify-content:center;align-items:center;border:1px solid var(--vp-code-copy-code-hover-border-color);border-right:0;border-radius:4px 0 0 4px;padding:0 10px;width:fit-content;height:40px;text-align:center;font-size:12px;font-weight:500;color:var(--vp-code-copy-code-active-text);background-color:var(--vp-code-copy-code-hover-bg);white-space:nowrap;content:var(--vp-code-copy-copied-text-content)}.vp-doc [class*=language-]>span.lang{position:absolute;top:2px;right:8px;z-index:2;font-size:12px;font-weight:500;color:var(--vp-code-lang-color);transition:color .4s,opacity .4s}.vp-doc [class*=language-]:hover>button.copy+span.lang,.vp-doc [class*=language-]>button.copy:focus+span.lang{opacity:0}.vp-doc .VPTeamMembers{margin-top:24px}.vp-doc .VPTeamMembers.small.count-1 .container{margin:0!important;max-width:calc((100% - 24px)/2)!important}.vp-doc .VPTeamMembers.small.count-2 .container,.vp-doc .VPTeamMembers.small.count-3 .container{max-width:100%!important}.vp-doc .VPTeamMembers.medium.count-1 .container{margin:0!important;max-width:calc((100% - 24px)/2)!important}:is(.vp-external-link-icon,.vp-doc a[href*="://"],.vp-doc a[target=_blank]):not(.no-icon):after{display:inline-block;margin-top:-1px;margin-left:4px;width:11px;height:11px;background:currentColor;color:var(--vp-c-text-3);flex-shrink:0;--icon: url("data:image/svg+xml, %3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' %3E%3Cpath d='M0 0h24v24H0V0z' fill='none' /%3E%3Cpath d='M9 5v2h6.59L4 18.59 5.41 20 17 8.41V15h2V5H9z' /%3E%3C/svg%3E");-webkit-mask-image:var(--icon);mask-image:var(--icon)}.vp-external-link-icon:after{content:""}.external-link-icon-enabled :is(.vp-doc a[href*="://"],.vp-doc a[target=_blank]):after{content:"";color:currentColor}.vp-sponsor{border-radius:16px;overflow:hidden}.vp-sponsor.aside{border-radius:12px}.vp-sponsor-section+.vp-sponsor-section{margin-top:4px}.vp-sponsor-tier{margin:0 0 4px!important;text-align:center;letter-spacing:1px!important;line-height:24px;width:100%;font-weight:600;color:var(--vp-c-text-2);background-color:var(--vp-c-bg-soft)}.vp-sponsor.normal .vp-sponsor-tier{padding:13px 0 11px;font-size:14px}.vp-sponsor.aside .vp-sponsor-tier{padding:9px 0 7px;font-size:12px}.vp-sponsor-grid+.vp-sponsor-tier{margin-top:4px}.vp-sponsor-grid{display:flex;flex-wrap:wrap;gap:4px}.vp-sponsor-grid.xmini .vp-sponsor-grid-link{height:64px}.vp-sponsor-grid.xmini .vp-sponsor-grid-image{max-width:64px;max-height:22px}.vp-sponsor-grid.mini .vp-sponsor-grid-link{height:72px}.vp-sponsor-grid.mini .vp-sponsor-grid-image{max-width:96px;max-height:24px}.vp-sponsor-grid.small .vp-sponsor-grid-link{height:96px}.vp-sponsor-grid.small .vp-sponsor-grid-image{max-width:96px;max-height:24px}.vp-sponsor-grid.medium .vp-sponsor-grid-link{height:112px}.vp-sponsor-grid.medium .vp-sponsor-grid-image{max-width:120px;max-height:36px}.vp-sponsor-grid.big .vp-sponsor-grid-link{height:184px}.vp-sponsor-grid.big .vp-sponsor-grid-image{max-width:192px;max-height:56px}.vp-sponsor-grid[data-vp-grid="2"] .vp-sponsor-grid-item{width:calc((100% - 4px)/2)}.vp-sponsor-grid[data-vp-grid="3"] .vp-sponsor-grid-item{width:calc((100% - 4px * 2) / 3)}.vp-sponsor-grid[data-vp-grid="4"] .vp-sponsor-grid-item{width:calc((100% - 12px)/4)}.vp-sponsor-grid[data-vp-grid="5"] .vp-sponsor-grid-item{width:calc((100% - 16px)/5)}.vp-sponsor-grid[data-vp-grid="6"] .vp-sponsor-grid-item{width:calc((100% - 4px * 5) / 6)}.vp-sponsor-grid-item{flex-shrink:0;width:100%;background-color:var(--vp-c-bg-soft);transition:background-color .25s}.vp-sponsor-grid-item:hover{background-color:var(--vp-c-default-soft)}.vp-sponsor-grid-item:hover .vp-sponsor-grid-image{filter:grayscale(0) invert(0)}.vp-sponsor-grid-item.empty:hover{background-color:var(--vp-c-bg-soft)}.dark .vp-sponsor-grid-item:hover{background-color:var(--vp-c-white)}.dark .vp-sponsor-grid-item.empty:hover{background-color:var(--vp-c-bg-soft)}.vp-sponsor-grid-link{display:flex}.vp-sponsor-grid-box{display:flex;justify-content:center;align-items:center;width:100%}.vp-sponsor-grid-image{max-width:100%;filter:grayscale(1);transition:filter .25s}.dark .vp-sponsor-grid-image{filter:grayscale(1) invert(1)}.VPBadge{display:inline-block;margin-left:2px;border:1px solid transparent;border-radius:12px;padding:0 10px;line-height:22px;font-size:12px;font-weight:500;transform:translateY(-2px)}.VPBadge.small{padding:0 6px;line-height:18px;font-size:10px;transform:translateY(-8px)}.VPDocFooter .VPBadge{display:none}.vp-doc h1>.VPBadge{margin-top:4px;vertical-align:top}.vp-doc h2>.VPBadge{margin-top:3px;padding:0 8px;vertical-align:top}.vp-doc h3>.VPBadge{vertical-align:middle}.vp-doc h4>.VPBadge,.vp-doc h5>.VPBadge,.vp-doc h6>.VPBadge{vertical-align:middle;line-height:18px}.VPBadge.info{border-color:var(--vp-badge-info-border);color:var(--vp-badge-info-text);background-color:var(--vp-badge-info-bg)}.VPBadge.tip{border-color:var(--vp-badge-tip-border);color:var(--vp-badge-tip-text);background-color:var(--vp-badge-tip-bg)}.VPBadge.warning{border-color:var(--vp-badge-warning-border);color:var(--vp-badge-warning-text);background-color:var(--vp-badge-warning-bg)}.VPBadge.danger{border-color:var(--vp-badge-danger-border);color:var(--vp-badge-danger-text);background-color:var(--vp-badge-danger-bg)}.VPBackdrop[data-v-b2600058]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--vp-z-index-backdrop);background:var(--vp-backdrop-bg-color);transition:opacity .5s}.VPBackdrop.fade-enter-from[data-v-b2600058],.VPBackdrop.fade-leave-to[data-v-b2600058]{opacity:0}.VPBackdrop.fade-leave-active[data-v-b2600058]{transition-duration:.25s}@media (min-width: 1280px){.VPBackdrop[data-v-b2600058]{display:none}}.NotFound[data-v-93fd8736]{padding:64px 24px 96px;text-align:center}@media (min-width: 768px){.NotFound[data-v-93fd8736]{padding:96px 32px 168px}}.code[data-v-93fd8736]{line-height:64px;font-size:64px;font-weight:600}.title[data-v-93fd8736]{padding-top:12px;letter-spacing:2px;line-height:20px;font-size:20px;font-weight:700}.divider[data-v-93fd8736]{margin:24px auto 18px;width:64px;height:1px;background-color:var(--vp-c-divider)}.quote[data-v-93fd8736]{margin:0 auto;max-width:256px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}.action[data-v-93fd8736]{padding-top:20px}.link[data-v-93fd8736]{display:inline-block;border:1px solid var(--vp-c-brand-1);border-radius:16px;padding:3px 16px;font-size:14px;font-weight:500;color:var(--vp-c-brand-1);transition:border-color .25s,color .25s}.link[data-v-93fd8736]:hover{border-color:var(--vp-c-brand-2);color:var(--vp-c-brand-2)}.root[data-v-da421f78]{position:relative;z-index:1}.nested[data-v-da421f78]{padding-right:16px;padding-left:16px}.outline-link[data-v-da421f78]{display:block;line-height:32px;font-size:14px;font-weight:400;color:var(--vp-c-text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .5s}.outline-link[data-v-da421f78]:hover,.outline-link.active[data-v-da421f78]{color:var(--vp-c-text-1);transition:color .25s}.outline-link.nested[data-v-da421f78]{padding-left:13px}.VPDocAsideOutline[data-v-dfbd9fb8]{display:none}.VPDocAsideOutline.has-outline[data-v-dfbd9fb8]{display:block}.content[data-v-dfbd9fb8]{position:relative;border-left:1px solid var(--vp-c-divider);padding-left:16px;font-size:13px;font-weight:500}.outline-marker[data-v-dfbd9fb8]{position:absolute;top:32px;left:-1px;z-index:0;opacity:0;width:2px;border-radius:2px;height:18px;background-color:var(--vp-c-brand-1);transition:top .25s cubic-bezier(0,1,.5,1),background-color .5s,opacity .25s}.outline-title[data-v-dfbd9fb8]{line-height:32px;font-size:14px;font-weight:600}.VPDocAside[data-v-79cae1a0]{display:flex;flex-direction:column;flex-grow:1}.spacer[data-v-79cae1a0]{flex-grow:1}.VPDocAside[data-v-79cae1a0] .spacer+.VPDocAsideSponsors,.VPDocAside[data-v-79cae1a0] .spacer+.VPDocAsideCarbonAds{margin-top:24px}.VPDocAside[data-v-79cae1a0] .VPDocAsideSponsors+.VPDocAsideCarbonAds{margin-top:16px}.VPLastUpdated[data-v-5be60f87]{line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}@media (min-width: 640px){.VPLastUpdated[data-v-5be60f87]{line-height:32px;font-size:14px;font-weight:500}}.VPDocFooter[data-v-0ce50de1]{margin-top:64px}.edit-info[data-v-0ce50de1]{padding-bottom:18px}@media (min-width: 640px){.edit-info[data-v-0ce50de1]{display:flex;justify-content:space-between;align-items:center;padding-bottom:14px}}.edit-link-button[data-v-0ce50de1]{display:flex;align-items:center;border:0;line-height:32px;font-size:14px;font-weight:500;color:var(--vp-c-brand-1);transition:color .25s}.edit-link-button[data-v-0ce50de1]:hover{color:var(--vp-c-brand-2)}.edit-link-icon[data-v-0ce50de1]{margin-right:8px}.prev-next[data-v-0ce50de1]{border-top:1px solid var(--vp-c-divider);padding-top:24px;display:grid;grid-row-gap:8px}@media (min-width: 640px){.prev-next[data-v-0ce50de1]{grid-template-columns:repeat(2,1fr);grid-column-gap:16px}}.pager-link[data-v-0ce50de1]{display:block;border:1px solid var(--vp-c-divider);border-radius:8px;padding:11px 16px 13px;width:100%;height:100%;transition:border-color .25s}.pager-link[data-v-0ce50de1]:hover{border-color:var(--vp-c-brand-1)}.pager-link.next[data-v-0ce50de1]{margin-left:auto;text-align:right}.desc[data-v-0ce50de1]{display:block;line-height:20px;font-size:12px;font-weight:500;color:var(--vp-c-text-2)}.title[data-v-0ce50de1]{display:block;line-height:20px;font-size:14px;font-weight:500;color:var(--vp-c-brand-1);transition:color .25s}.VPDoc[data-v-ef3a4dda]{padding:32px 24px 96px;width:100%}@media (min-width: 768px){.VPDoc[data-v-ef3a4dda]{padding:48px 32px 128px}}@media (min-width: 960px){.VPDoc[data-v-ef3a4dda]{padding:48px 32px 0}.VPDoc:not(.has-sidebar) .container[data-v-ef3a4dda]{display:flex;justify-content:center;max-width:992px}.VPDoc:not(.has-sidebar) .content[data-v-ef3a4dda]{max-width:752px}}@media (min-width: 1280px){.VPDoc .container[data-v-ef3a4dda]{display:flex;justify-content:center}.VPDoc .aside[data-v-ef3a4dda]{display:block}}@media (min-width: 1440px){.VPDoc:not(.has-sidebar) .content[data-v-ef3a4dda]{max-width:784px}.VPDoc:not(.has-sidebar) .container[data-v-ef3a4dda]{max-width:1104px}}.container[data-v-ef3a4dda]{margin:0 auto;width:100%}.aside[data-v-ef3a4dda]{position:relative;display:none;order:2;flex-grow:1;padding-left:32px;width:100%;max-width:256px}.left-aside[data-v-ef3a4dda]{order:1;padding-left:unset;padding-right:32px}.aside-container[data-v-ef3a4dda]{position:fixed;top:0;padding-top:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + var(--vp-doc-top-height, 0px) + 48px);width:224px;height:100vh;overflow-x:hidden;overflow-y:auto;scrollbar-width:none}.aside-container[data-v-ef3a4dda]::-webkit-scrollbar{display:none}.aside-curtain[data-v-ef3a4dda]{position:fixed;bottom:0;z-index:10;width:224px;height:32px;background:linear-gradient(transparent,var(--vp-c-bg) 70%)}.aside-content[data-v-ef3a4dda]{display:flex;flex-direction:column;min-height:calc(100vh - (var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 48px));padding-bottom:32px}.content[data-v-ef3a4dda]{position:relative;margin:0 auto;width:100%}@media (min-width: 960px){.content[data-v-ef3a4dda]{padding:0 32px 128px}}@media (min-width: 1280px){.content[data-v-ef3a4dda]{order:1;margin:0;min-width:640px}}.content-container[data-v-ef3a4dda]{margin:0 auto}.VPDoc.has-aside .content-container[data-v-ef3a4dda]{max-width:688px}.VPButton[data-v-877bb349]{display:inline-block;border:1px solid transparent;text-align:center;font-weight:600;white-space:nowrap;transition:color .25s,border-color .25s,background-color .25s}.VPButton[data-v-877bb349]:active{transition:color .1s,border-color .1s,background-color .1s}.VPButton.medium[data-v-877bb349]{border-radius:20px;padding:0 20px;line-height:38px;font-size:14px}.VPButton.big[data-v-877bb349]{border-radius:24px;padding:0 24px;line-height:46px;font-size:16px}.VPButton.brand[data-v-877bb349]{border-color:var(--vp-button-brand-border);color:var(--vp-button-brand-text);background-color:var(--vp-button-brand-bg)}.VPButton.brand[data-v-877bb349]:hover{border-color:var(--vp-button-brand-hover-border);color:var(--vp-button-brand-hover-text);background-color:var(--vp-button-brand-hover-bg)}.VPButton.brand[data-v-877bb349]:active{border-color:var(--vp-button-brand-active-border);color:var(--vp-button-brand-active-text);background-color:var(--vp-button-brand-active-bg)}.VPButton.alt[data-v-877bb349]{border-color:var(--vp-button-alt-border);color:var(--vp-button-alt-text);background-color:var(--vp-button-alt-bg)}.VPButton.alt[data-v-877bb349]:hover{border-color:var(--vp-button-alt-hover-border);color:var(--vp-button-alt-hover-text);background-color:var(--vp-button-alt-hover-bg)}.VPButton.alt[data-v-877bb349]:active{border-color:var(--vp-button-alt-active-border);color:var(--vp-button-alt-active-text);background-color:var(--vp-button-alt-active-bg)}.VPButton.sponsor[data-v-877bb349]{border-color:var(--vp-button-sponsor-border);color:var(--vp-button-sponsor-text);background-color:var(--vp-button-sponsor-bg)}.VPButton.sponsor[data-v-877bb349]:hover{border-color:var(--vp-button-sponsor-hover-border);color:var(--vp-button-sponsor-hover-text);background-color:var(--vp-button-sponsor-hover-bg)}.VPButton.sponsor[data-v-877bb349]:active{border-color:var(--vp-button-sponsor-active-border);color:var(--vp-button-sponsor-active-text);background-color:var(--vp-button-sponsor-active-bg)}html:not(.dark) .VPImage.dark[data-v-4d414b82]{display:none}.dark .VPImage.light[data-v-4d414b82]{display:none}.VPHero[data-v-e244e0a0]{margin-top:calc((var(--vp-nav-height) + var(--vp-layout-top-height, 0px)) * -1);padding:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 48px) 24px 48px}@media (min-width: 640px){.VPHero[data-v-e244e0a0]{padding:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 80px) 48px 64px}}@media (min-width: 960px){.VPHero[data-v-e244e0a0]{padding:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 80px) 64px 64px}}.container[data-v-e244e0a0]{display:flex;flex-direction:column;margin:0 auto;max-width:1152px}@media (min-width: 960px){.container[data-v-e244e0a0]{flex-direction:row}}.main[data-v-e244e0a0]{position:relative;z-index:10;order:2;flex-grow:1;flex-shrink:0}.VPHero.has-image .container[data-v-e244e0a0]{text-align:center}@media (min-width: 960px){.VPHero.has-image .container[data-v-e244e0a0]{text-align:left}}@media (min-width: 960px){.main[data-v-e244e0a0]{order:1;width:calc((100% / 3) * 2)}.VPHero.has-image .main[data-v-e244e0a0]{max-width:592px}}.name[data-v-e244e0a0],.text[data-v-e244e0a0]{max-width:392px;letter-spacing:-.4px;line-height:40px;font-size:32px;font-weight:700;white-space:pre-wrap}.VPHero.has-image .name[data-v-e244e0a0],.VPHero.has-image .text[data-v-e244e0a0]{margin:0 auto}.name[data-v-e244e0a0]{color:var(--vp-home-hero-name-color)}.clip[data-v-e244e0a0]{background:var(--vp-home-hero-name-background);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:var(--vp-home-hero-name-color)}@media (min-width: 640px){.name[data-v-e244e0a0],.text[data-v-e244e0a0]{max-width:576px;line-height:56px;font-size:48px}}@media (min-width: 960px){.name[data-v-e244e0a0],.text[data-v-e244e0a0]{line-height:64px;font-size:56px}.VPHero.has-image .name[data-v-e244e0a0],.VPHero.has-image .text[data-v-e244e0a0]{margin:0}}.tagline[data-v-e244e0a0]{padding-top:8px;max-width:392px;line-height:28px;font-size:18px;font-weight:500;white-space:pre-wrap;color:var(--vp-c-text-2)}.VPHero.has-image .tagline[data-v-e244e0a0]{margin:0 auto}@media (min-width: 640px){.tagline[data-v-e244e0a0]{padding-top:12px;max-width:576px;line-height:32px;font-size:20px}}@media (min-width: 960px){.tagline[data-v-e244e0a0]{line-height:36px;font-size:24px}.VPHero.has-image .tagline[data-v-e244e0a0]{margin:0}}.actions[data-v-e244e0a0]{display:flex;flex-wrap:wrap;margin:-6px;padding-top:24px}.VPHero.has-image .actions[data-v-e244e0a0]{justify-content:center}@media (min-width: 640px){.actions[data-v-e244e0a0]{padding-top:32px}}@media (min-width: 960px){.VPHero.has-image .actions[data-v-e244e0a0]{justify-content:flex-start}}.action[data-v-e244e0a0]{flex-shrink:0;padding:6px}.image[data-v-e244e0a0]{order:1;margin:-76px -24px -48px}@media (min-width: 640px){.image[data-v-e244e0a0]{margin:-108px -24px -48px}}@media (min-width: 960px){.image[data-v-e244e0a0]{flex-grow:1;order:2;margin:0;min-height:100%}}.image-container[data-v-e244e0a0]{position:relative;margin:0 auto;width:320px;height:320px}@media (min-width: 640px){.image-container[data-v-e244e0a0]{width:392px;height:392px}}@media (min-width: 960px){.image-container[data-v-e244e0a0]{display:flex;justify-content:center;align-items:center;width:100%;height:100%;transform:translate(-32px,-32px)}}.image-bg[data-v-e244e0a0]{position:absolute;top:50%;left:50%;border-radius:50%;width:192px;height:192px;background-image:var(--vp-home-hero-image-background-image);filter:var(--vp-home-hero-image-filter);transform:translate(-50%,-50%)}@media (min-width: 640px){.image-bg[data-v-e244e0a0]{width:256px;height:256px}}@media (min-width: 960px){.image-bg[data-v-e244e0a0]{width:320px;height:320px}}[data-v-e244e0a0] .image-src{position:absolute;top:50%;left:50%;max-width:192px;max-height:192px;transform:translate(-50%,-50%)}@media (min-width: 640px){[data-v-e244e0a0] .image-src{max-width:256px;max-height:256px}}@media (min-width: 960px){[data-v-e244e0a0] .image-src{max-width:320px;max-height:320px}}.VPFeature[data-v-95001937]{display:block;border:1px solid var(--vp-c-bg-soft);border-radius:12px;height:100%;background-color:var(--vp-c-bg-soft);transition:border-color .25s,background-color .25s}.VPFeature.link[data-v-95001937]:hover{border-color:var(--vp-c-brand-1)}.box[data-v-95001937]{display:flex;flex-direction:column;padding:24px;height:100%}.box[data-v-95001937]>.VPImage{margin-bottom:20px}.icon[data-v-95001937]{display:flex;justify-content:center;align-items:center;margin-bottom:20px;border-radius:6px;background-color:var(--vp-c-default-soft);width:48px;height:48px;font-size:24px;transition:background-color .25s}.title[data-v-95001937]{line-height:24px;font-size:16px;font-weight:600}.details[data-v-95001937]{flex-grow:1;padding-top:8px;line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}.link-text[data-v-95001937]{padding-top:8px}.link-text-value[data-v-95001937]{display:flex;align-items:center;font-size:14px;font-weight:500;color:var(--vp-c-brand-1)}.link-text-icon[data-v-95001937]{margin-left:6px}.VPFeatures[data-v-1da4ff3d]{position:relative;padding:0 24px}@media (min-width: 640px){.VPFeatures[data-v-1da4ff3d]{padding:0 48px}}@media (min-width: 960px){.VPFeatures[data-v-1da4ff3d]{padding:0 64px}}.container[data-v-1da4ff3d]{margin:0 auto;max-width:1152px}.items[data-v-1da4ff3d]{display:flex;flex-wrap:wrap;margin:-8px}.item[data-v-1da4ff3d]{padding:8px;width:100%}@media (min-width: 640px){.item.grid-2[data-v-1da4ff3d],.item.grid-4[data-v-1da4ff3d],.item.grid-6[data-v-1da4ff3d]{width:50%}}@media (min-width: 768px){.item.grid-2[data-v-1da4ff3d],.item.grid-4[data-v-1da4ff3d]{width:50%}.item.grid-3[data-v-1da4ff3d],.item.grid-6[data-v-1da4ff3d]{width:calc(100% / 3)}}@media (min-width: 960px){.item.grid-4[data-v-1da4ff3d]{width:25%}}.container[data-v-2498cc33]{margin:auto;width:100%;max-width:1280px;padding:0 24px}@media (min-width: 640px){.container[data-v-2498cc33]{padding:0 48px}}@media (min-width: 960px){.container[data-v-2498cc33]{width:100%;padding:0 64px}}.vp-doc[data-v-2498cc33] .VPHomeSponsors,.vp-doc[data-v-2498cc33] .VPTeamPage{margin-left:var(--vp-offset, calc(50% - 50vw) );margin-right:var(--vp-offset, calc(50% - 50vw) )}.vp-doc[data-v-2498cc33] .VPHomeSponsors h2{border-top:none;letter-spacing:normal}.vp-doc[data-v-2498cc33] .VPHomeSponsors a,.vp-doc[data-v-2498cc33] .VPTeamPage a{text-decoration:none}.VPHome[data-v-95a6a92c]{margin-bottom:96px}@media (min-width: 768px){.VPHome[data-v-95a6a92c]{margin-bottom:128px}}.VPContent[data-v-d2aef184]{flex-grow:1;flex-shrink:0;margin:var(--vp-layout-top-height, 0px) auto 0;width:100%}.VPContent.is-home[data-v-d2aef184]{width:100%;max-width:100%}.VPContent.has-sidebar[data-v-d2aef184]{margin:0}@media (min-width: 960px){.VPContent[data-v-d2aef184]{padding-top:var(--vp-nav-height)}.VPContent.has-sidebar[data-v-d2aef184]{margin:var(--vp-layout-top-height, 0px) 0 0;padding-left:var(--vp-sidebar-width)}}@media (min-width: 1440px){.VPContent.has-sidebar[data-v-d2aef184]{padding-right:calc((100vw - var(--vp-layout-max-width)) / 2);padding-left:calc((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width))}}.VPFooter[data-v-e3157d6d]{position:relative;z-index:var(--vp-z-index-footer);border-top:1px solid var(--vp-c-gutter);padding:32px 24px;background-color:var(--vp-c-bg)}.VPFooter.has-sidebar[data-v-e3157d6d]{display:none}.VPFooter[data-v-e3157d6d] a{text-decoration-line:underline;text-underline-offset:2px;transition:color .25s}.VPFooter[data-v-e3157d6d] a:hover{color:var(--vp-c-text-1)}@media (min-width: 768px){.VPFooter[data-v-e3157d6d]{padding:32px}}.container[data-v-e3157d6d]{margin:0 auto;max-width:var(--vp-layout-max-width);text-align:center}.message[data-v-e3157d6d],.copyright[data-v-e3157d6d]{line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}.VPLocalNavOutlineDropdown[data-v-d1de893e]{padding:12px 20px 11px}@media (min-width: 960px){.VPLocalNavOutlineDropdown[data-v-d1de893e]{padding:12px 36px 11px}}.VPLocalNavOutlineDropdown button[data-v-d1de893e]{display:block;font-size:12px;font-weight:500;line-height:24px;color:var(--vp-c-text-2);transition:color .5s;position:relative}.VPLocalNavOutlineDropdown button[data-v-d1de893e]:hover{color:var(--vp-c-text-1);transition:color .25s}.VPLocalNavOutlineDropdown button.open[data-v-d1de893e]{color:var(--vp-c-text-1)}.icon[data-v-d1de893e]{display:inline-block;vertical-align:middle;margin-left:2px;font-size:14px;transform:rotate(0);transition:transform .25s}@media (min-width: 960px){.VPLocalNavOutlineDropdown button[data-v-d1de893e]{font-size:14px}.icon[data-v-d1de893e]{font-size:16px}}.open>.icon[data-v-d1de893e]{transform:rotate(90deg)}.items[data-v-d1de893e]{position:absolute;top:40px;right:16px;left:16px;display:grid;gap:1px;border:1px solid var(--vp-c-border);border-radius:8px;background-color:var(--vp-c-gutter);max-height:calc(var(--vp-vh, 100vh) - 86px);overflow:hidden auto;box-shadow:var(--vp-shadow-3)}@media (min-width: 960px){.items[data-v-d1de893e]{right:auto;left:calc(var(--vp-sidebar-width) + 32px);width:320px}}.header[data-v-d1de893e]{background-color:var(--vp-c-bg-soft)}.top-link[data-v-d1de893e]{display:block;padding:0 16px;line-height:48px;font-size:14px;font-weight:500;color:var(--vp-c-brand-1)}.outline[data-v-d1de893e]{padding:8px 0;background-color:var(--vp-c-bg-soft)}.flyout-enter-active[data-v-d1de893e]{transition:all .2s ease-out}.flyout-leave-active[data-v-d1de893e]{transition:all .15s ease-in}.flyout-enter-from[data-v-d1de893e],.flyout-leave-to[data-v-d1de893e]{opacity:0;transform:translateY(-16px)}.VPLocalNav[data-v-9d8129cc]{position:sticky;top:0;left:0;z-index:var(--vp-z-index-local-nav);border-bottom:1px solid var(--vp-c-gutter);padding-top:var(--vp-layout-top-height, 0px);width:100%;background-color:var(--vp-local-nav-bg-color)}.VPLocalNav.fixed[data-v-9d8129cc]{position:fixed}@media (min-width: 960px){.VPLocalNav[data-v-9d8129cc]{top:var(--vp-nav-height)}.VPLocalNav.has-sidebar[data-v-9d8129cc]{padding-left:var(--vp-sidebar-width)}.VPLocalNav.empty[data-v-9d8129cc]{display:none}}@media (min-width: 1280px){.VPLocalNav[data-v-9d8129cc]{display:none}}@media (min-width: 1440px){.VPLocalNav.has-sidebar[data-v-9d8129cc]{padding-left:calc((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width))}}.container[data-v-9d8129cc]{display:flex;justify-content:space-between;align-items:center}.menu[data-v-9d8129cc]{display:flex;align-items:center;padding:12px 24px 11px;line-height:24px;font-size:12px;font-weight:500;color:var(--vp-c-text-2);transition:color .5s}.menu[data-v-9d8129cc]:hover{color:var(--vp-c-text-1);transition:color .25s}@media (min-width: 768px){.menu[data-v-9d8129cc]{padding:0 32px}}@media (min-width: 960px){.menu[data-v-9d8129cc]{display:none}}.menu-icon[data-v-9d8129cc]{margin-right:8px;font-size:14px}.VPOutlineDropdown[data-v-9d8129cc]{padding:12px 24px 11px}@media (min-width: 768px){.VPOutlineDropdown[data-v-9d8129cc]{padding:12px 32px 11px}}.VPSwitch[data-v-7012e5dd]{position:relative;border-radius:11px;display:block;width:40px;height:22px;flex-shrink:0;border:1px solid var(--vp-input-border-color);background-color:var(--vp-input-switch-bg-color);transition:border-color .25s!important}.VPSwitch[data-v-7012e5dd]:hover{border-color:var(--vp-c-brand-1)}.check[data-v-7012e5dd]{position:absolute;top:1px;left:1px;width:18px;height:18px;border-radius:50%;background-color:var(--vp-c-neutral-inverse);box-shadow:var(--vp-shadow-1);transition:transform .25s!important}.icon[data-v-7012e5dd]{position:relative;display:block;width:18px;height:18px;border-radius:50%;overflow:hidden}.icon[data-v-7012e5dd] [class^=vpi-]{position:absolute;top:3px;left:3px;width:12px;height:12px;color:var(--vp-c-text-2)}.dark .icon[data-v-7012e5dd] [class^=vpi-]{color:var(--vp-c-text-1);transition:opacity .25s!important}.sun[data-v-bfa23729]{opacity:1}.moon[data-v-bfa23729],.dark .sun[data-v-bfa23729]{opacity:0}.dark .moon[data-v-bfa23729]{opacity:1}.dark .VPSwitchAppearance[data-v-bfa23729] .check{transform:translate(18px)}.VPNavBarAppearance[data-v-f774fc1d]{display:none}@media (min-width: 1280px){.VPNavBarAppearance[data-v-f774fc1d]{display:flex;align-items:center}}.VPMenuGroup+.VPMenuLink[data-v-71c5411b]{margin:12px -12px 0;border-top:1px solid var(--vp-c-divider);padding:12px 12px 0}.link[data-v-71c5411b]{display:block;border-radius:6px;padding:0 12px;line-height:32px;font-size:14px;font-weight:500;color:var(--vp-c-text-1);white-space:nowrap;transition:background-color .25s,color .25s}.link[data-v-71c5411b]:hover{color:var(--vp-c-brand-1);background-color:var(--vp-c-default-soft)}.link.active[data-v-71c5411b]{color:var(--vp-c-brand-1)}.VPMenuGroup[data-v-2bec9359]{margin:12px -12px 0;border-top:1px solid var(--vp-c-divider);padding:12px 12px 0}.VPMenuGroup[data-v-2bec9359]:first-child{margin-top:0;border-top:0;padding-top:0}.VPMenuGroup+.VPMenuGroup[data-v-2bec9359]{margin-top:12px;border-top:1px solid var(--vp-c-divider)}.title[data-v-2bec9359]{padding:0 12px;line-height:32px;font-size:14px;font-weight:600;color:var(--vp-c-text-2);white-space:nowrap;transition:color .25s}.VPMenu[data-v-7bffa9cd]{border-radius:12px;padding:12px;min-width:128px;border:1px solid var(--vp-c-divider);background-color:var(--vp-c-bg-elv);box-shadow:var(--vp-shadow-3);transition:background-color .5s;max-height:calc(100vh - var(--vp-nav-height));overflow-y:auto}.VPMenu[data-v-7bffa9cd] .group{margin:0 -12px;padding:0 12px 12px}.VPMenu[data-v-7bffa9cd] .group+.group{border-top:1px solid var(--vp-c-divider);padding:11px 12px 12px}.VPMenu[data-v-7bffa9cd] .group:last-child{padding-bottom:0}.VPMenu[data-v-7bffa9cd] .group+.item{border-top:1px solid var(--vp-c-divider);padding:11px 16px 0}.VPMenu[data-v-7bffa9cd] .item{padding:0 16px;white-space:nowrap}.VPMenu[data-v-7bffa9cd] .label{flex-grow:1;line-height:28px;font-size:12px;font-weight:500;color:var(--vp-c-text-2);transition:color .5s}.VPMenu[data-v-7bffa9cd] .action{padding-left:24px}.VPFlyout[data-v-8fd20e7d]{position:relative}.VPFlyout[data-v-8fd20e7d]:hover{color:var(--vp-c-brand-1);transition:color .25s}.VPFlyout:hover .text[data-v-8fd20e7d]{color:var(--vp-c-text-2)}.VPFlyout:hover .icon[data-v-8fd20e7d]{fill:var(--vp-c-text-2)}.VPFlyout.active .text[data-v-8fd20e7d]{color:var(--vp-c-brand-1)}.VPFlyout.active:hover .text[data-v-8fd20e7d]{color:var(--vp-c-brand-2)}.VPFlyout:hover .menu[data-v-8fd20e7d],.button[aria-expanded=true]+.menu[data-v-8fd20e7d]{opacity:1;visibility:visible;transform:translateY(0)}.button[aria-expanded=false]+.menu[data-v-8fd20e7d]{opacity:0;visibility:hidden;transform:translateY(0)}.button[data-v-8fd20e7d]{display:flex;align-items:center;padding:0 12px;height:var(--vp-nav-height);color:var(--vp-c-text-1);transition:color .5s}.text[data-v-8fd20e7d]{display:flex;align-items:center;line-height:var(--vp-nav-height);font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:color .25s}.option-icon[data-v-8fd20e7d]{margin-right:0;font-size:16px}.text-icon[data-v-8fd20e7d]{margin-left:4px;font-size:14px}.icon[data-v-8fd20e7d]{font-size:20px;transition:fill .25s}.menu[data-v-8fd20e7d]{position:absolute;top:calc(var(--vp-nav-height) / 2 + 20px);right:0;opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s,transform .25s}.VPSocialLink[data-v-50151957]{display:flex;justify-content:center;align-items:center;width:36px;height:36px;color:var(--vp-c-text-2);transition:color .5s}.VPSocialLink[data-v-50151957]:hover{color:var(--vp-c-text-1);transition:color .25s}.VPSocialLink[data-v-50151957]>svg,.VPSocialLink[data-v-50151957]>[class^=vpi-social-]{width:20px;height:20px;fill:currentColor}.VPSocialLinks[data-v-f2234a39]{display:flex;justify-content:center}.VPNavBarExtra[data-v-ca99dad5]{display:none;margin-right:-12px}@media (min-width: 768px){.VPNavBarExtra[data-v-ca99dad5]{display:block}}@media (min-width: 1280px){.VPNavBarExtra[data-v-ca99dad5]{display:none}}.trans-title[data-v-ca99dad5]{padding:0 24px 0 12px;line-height:32px;font-size:14px;font-weight:700;color:var(--vp-c-text-1)}.item.appearance[data-v-ca99dad5],.item.social-links[data-v-ca99dad5]{display:flex;align-items:center;padding:0 12px}.item.appearance[data-v-ca99dad5]{min-width:176px}.appearance-action[data-v-ca99dad5]{margin-right:-2px}.social-links-list[data-v-ca99dad5]{margin:-4px -8px}.VPNavBarHamburger[data-v-670493dd]{display:flex;justify-content:center;align-items:center;width:48px;height:var(--vp-nav-height)}@media (min-width: 768px){.VPNavBarHamburger[data-v-670493dd]{display:none}}.container[data-v-670493dd]{position:relative;width:16px;height:14px;overflow:hidden}.VPNavBarHamburger:hover .top[data-v-670493dd]{top:0;left:0;transform:translate(4px)}.VPNavBarHamburger:hover .middle[data-v-670493dd]{top:6px;left:0;transform:translate(0)}.VPNavBarHamburger:hover .bottom[data-v-670493dd]{top:12px;left:0;transform:translate(8px)}.VPNavBarHamburger.active .top[data-v-670493dd]{top:6px;transform:translate(0) rotate(225deg)}.VPNavBarHamburger.active .middle[data-v-670493dd]{top:6px;transform:translate(16px)}.VPNavBarHamburger.active .bottom[data-v-670493dd]{top:6px;transform:translate(0) rotate(135deg)}.VPNavBarHamburger.active:hover .top[data-v-670493dd],.VPNavBarHamburger.active:hover .middle[data-v-670493dd],.VPNavBarHamburger.active:hover .bottom[data-v-670493dd]{background-color:var(--vp-c-text-2);transition:top .25s,background-color .25s,transform .25s}.top[data-v-670493dd],.middle[data-v-670493dd],.bottom[data-v-670493dd]{position:absolute;width:16px;height:2px;background-color:var(--vp-c-text-1);transition:top .25s,background-color .5s,transform .25s}.top[data-v-670493dd]{top:0;left:0;transform:translate(0)}.middle[data-v-670493dd]{top:6px;left:0;transform:translate(8px)}.bottom[data-v-670493dd]{top:12px;left:0;transform:translate(4px)}.VPNavBarMenuLink[data-v-2b93b872]{display:flex;align-items:center;padding:0 12px;line-height:var(--vp-nav-height);font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:color .25s}.VPNavBarMenuLink.active[data-v-2b93b872],.VPNavBarMenuLink[data-v-2b93b872]:hover{color:var(--vp-c-brand-1)}.VPNavBarMenu[data-v-c6c3e6d4]{display:none}@media (min-width: 768px){.VPNavBarMenu[data-v-c6c3e6d4]{display:flex}}.VPPluginSearch-flex-logo{width:80px;margin-left:calc(100% - 90px);padding-bottom:10px}.VPPluginSearch-search-list{padding:1rem;max-height:calc(100vh - 230px);overflow-x:auto}.VPPluginSearch-search-item-icon{font-family:none;align-self:center;padding:0 1rem 0 0;font-size:x-large}.VPPluginSearch-search-list>div{color:var(--vp-c-brand-dark);font-weight:700}.VPPluginSearch-search-item{padding:.25rem 1rem;margin:8px 0 0;border:solid 1px;border-radius:6px;display:flex;border-color:var(--vp-custom-block-details-border);color:var(--vp-custom-block-details-text);background-color:var(--vp-custom-block-details-bg)}.VPPluginSearch-search-item p{margin:0;font-size:smaller;color:var(--c-text-light-3)}a.link-focused .VPPluginSearch-search-item,.VPPluginSearch-search-item:hover{color:#fff;background:var(--vp-local-search-highlight-bg)}a.link-focused .VPPluginSearch-search-item,.VPPluginSearch-search-item:hover>p{color:#fff}.VPNavBarSearch{display:flex;align-items:center;padding-left:16px}.DocSearch-MagnifierLabel{margin:16px;color:var(--c-brand-light);stroke-width:2px}.DocSearch-Input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#58565636;border:solid 1px var(--c-brand-light);color:var(--docsearch-text-color);flex:1;font:inherit;font-size:1.2em;height:100%;outline:none;width:80%;margin:8px;padding:8px;border-radius:6px}.dark .DocSearch-Input{color:var(--vp-c-text-1)}.VPPluginSearch-modal-back{left:0;right:0;top:0;bottom:0;background:#545454b3;position:fixed;z-index:65}.dark .VPPluginSearch-modal{background-color:#242424}.VPPluginSearch-modal{background-color:#f9f9f9;border-radius:6px;box-shadow:none;flex-direction:column;margin:80px auto auto;max-width:560px;position:relative}.DocSearch-Button-Keys{display:flex;min-width:calc(40px + .8em)}@media (max-width: 768px){.VPPluginSearch-modal{max-width:100%;border-radius:0}}.dark .DocSearch-Form{background-color:var(--vt-c-bg-mute)}.DocSearch-Form{background-color:#fff;border:1px solid var(--vt-c-brand);padding:6px}.DocSearch-Form{align-items:center;background:var(--docsearch-searchbox-focus-background);border-radius:4px;box-shadow:var(--docsearch-searchbox-shadow);display:flex;height:var(--docsearch-searchbox-height);margin:0;padding:0 var(--docsearch-spacing);position:relative;width:100%}.DocSearch-Container,.DocSearch-Container *{box-sizing:border-box}.DocSearch-Button-Key{align-items:center;background:var(--c-brand-light);border-radius:3px;box-shadow:var(--c-brand);color:var(--docsearch-muted-color);display:flex;height:18px;justify-content:center;margin-right:.4em;padding-bottom:2px;position:relative;top:-1px;width:20px}body.dark .DocSearch-Button:hover{box-shadow:none}.DocSearch{--docsearch-primary-color: var(--vt-c-brand);--docsearch-highlight-color: var(--docsearch-primary-color);--docsearch-text-color: var(--vt-c-text-1);--docsearch-muted-color: #ebebeb99;--docsearch-searchbox-shadow: none;--docsearch-searchbox-focus-background: transparent;--docsearch-key-gradient: transparent;--docsearch-key-shadow: none;--docsearch-modal-background: var(--vt-c-bg-soft);--docsearch-footer-background: var(--vt-c-bg)}.dark .DocSearch{--docsearch-modal-shadow: none;--docsearch-footer-shadow: none;--docsearch-logo-color: #ebebeb99;--docsearch-hit-background: #2f2f2f;--docsearch-hit-color: #ebebeb99;--docsearch-hit-shadow: none}.dark .DocSearch-Footer{border-top:1px solid var(--vt-c-divider)}.DocSearch-Form{background-color:#fff;border:1px solid var(--vt-c-brand)}.DocSearch-Button-Container{align-items:center;display:flex}.DocSearch-Button{display:flex;justify-content:center;align-items:center;margin:0;width:48px;height:55px;background:transparent;border:none}.DocSearch-Button:hover{background:transparent}.DocSearch-Button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}.DocSearch-Button:focus:not(:focus-visible){outline:none!important}@media (min-width: 768px){.DocSearch-Button{justify-content:flex-start;width:100%}}.DocSearch-MagnifierLabel{color:var(--vp-c-brand-dark)}.DocSearch-Button .DocSearch-Search-Icon{transition:color .5s;fill:currentColor;width:18px;height:18px;position:relative}@media (min-width: 768px){.DocSearch-Button .DocSearch-Search-Icon{top:1px;margin-right:10px;width:15px;height:15px}}.DocSearch-Button:hover .DocSearch-Search-Icon{color:var(--vt-c-text-1)}.DocSearch-Button-Placeholder{transition:color .5s;font-size:13px;font-weight:500;color:#6669;display:none;padding:0 10px 0 0}@media (min-width: 960px){.DocSearch-Button-Placeholder{display:inline-block}}.DocSearch-Button:hover .DocSearch-Button-Placeholder{color:var(--vt-c-text-1)}.DocSearch-Button .DocSearch-Button-Key{margin-top:2px;border:1px solid var(--vt-c-divider);border-right:none;border-radius:4px 0 0 4px;display:none;padding-left:6px;height:22px;line-height:22px;transition:color .5s,border-color .5s;min-width:0}.DocSearch-Button .DocSearch-Button-Key+.DocSearch-Button-Key{border-right:1px solid var(--vt-c-divider);border-left:none;border-radius:0 4px 4px 0;padding-left:2px;padding-right:6px}.DocSearch-Button:hover .DocSearch-Button-Key{color:var(--vt-c-brand-light)}@media (min-width: 768px){.DocSearch-Button .DocSearch-Button-Key{display:inline-block}}.DocSearch-Button-Key{font-size:12px;font-weight:500;height:20px;margin:0;width:auto;color:var(--vt-c-text-3);transition:color .5s;display:inline-block;padding:0 1px}.VPPluginSearch-search-group{color:var(--vp-c-brand-1)}.VPNavBarSocialLinks[data-v-08b35e6f]{display:none}@media (min-width: 1280px){.VPNavBarSocialLinks[data-v-08b35e6f]{display:flex;align-items:center}}.title[data-v-dbe614b8]{display:flex;align-items:center;border-bottom:1px solid transparent;width:100%;height:var(--vp-nav-height);font-size:16px;font-weight:600;color:var(--vp-c-text-1);transition:opacity .25s}@media (min-width: 960px){.title[data-v-dbe614b8]{flex-shrink:0}.VPNavBarTitle.has-sidebar .title[data-v-dbe614b8]{border-bottom-color:var(--vp-c-divider)}}[data-v-dbe614b8] .logo{margin-right:8px;height:var(--vp-nav-logo-height)}.VPNavBarTranslations[data-v-dac637f3]{display:none}@media (min-width: 1280px){.VPNavBarTranslations[data-v-dac637f3]{display:flex;align-items:center}}.title[data-v-dac637f3]{padding:0 24px 0 12px;line-height:32px;font-size:14px;font-weight:700;color:var(--vp-c-text-1)}.VPNavBar[data-v-48384a78]{position:relative;height:var(--vp-nav-height);pointer-events:none;white-space:nowrap;transition:background-color .5s}.VPNavBar[data-v-48384a78]:not(.home){background-color:var(--vp-nav-bg-color)}@media (min-width: 960px){.VPNavBar[data-v-48384a78]:not(.home){background-color:transparent}.VPNavBar[data-v-48384a78]:not(.has-sidebar):not(.home.top){background-color:var(--vp-nav-bg-color)}}.wrapper[data-v-48384a78]{padding:0 8px 0 24px}@media (min-width: 768px){.wrapper[data-v-48384a78]{padding:0 32px}}@media (min-width: 960px){.VPNavBar.has-sidebar .wrapper[data-v-48384a78]{padding:0}}.container[data-v-48384a78]{display:flex;justify-content:space-between;margin:0 auto;max-width:calc(var(--vp-layout-max-width) - 64px);height:var(--vp-nav-height);pointer-events:none}.container>.title[data-v-48384a78],.container>.content[data-v-48384a78]{pointer-events:none}.container[data-v-48384a78] *{pointer-events:auto}@media (min-width: 960px){.VPNavBar.has-sidebar .container[data-v-48384a78]{max-width:100%}}.title[data-v-48384a78]{flex-shrink:0;height:calc(var(--vp-nav-height) - 1px);transition:background-color .5s}@media (min-width: 960px){.VPNavBar.has-sidebar .title[data-v-48384a78]{position:absolute;top:0;left:0;z-index:2;padding:0 32px;width:var(--vp-sidebar-width);height:var(--vp-nav-height);background-color:transparent}}@media (min-width: 1440px){.VPNavBar.has-sidebar .title[data-v-48384a78]{padding-left:max(32px,calc((100% - (var(--vp-layout-max-width) - 64px)) / 2));width:calc((100% - (var(--vp-layout-max-width) - 64px)) / 2 + var(--vp-sidebar-width) - 32px)}}.content[data-v-48384a78]{flex-grow:1}@media (min-width: 960px){.VPNavBar.has-sidebar .content[data-v-48384a78]{position:relative;z-index:1;padding-right:32px;padding-left:var(--vp-sidebar-width)}}@media (min-width: 1440px){.VPNavBar.has-sidebar .content[data-v-48384a78]{padding-right:calc((100vw - var(--vp-layout-max-width)) / 2 + 32px);padding-left:calc((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width))}}.content-body[data-v-48384a78]{display:flex;justify-content:flex-end;align-items:center;height:var(--vp-nav-height);transition:background-color .5s}@media (min-width: 960px){.VPNavBar:not(.home.top) .content-body[data-v-48384a78]{position:relative;background-color:var(--vp-nav-bg-color)}.VPNavBar:not(.has-sidebar):not(.home.top) .content-body[data-v-48384a78]{background-color:transparent}}@media (max-width: 767px){.content-body[data-v-48384a78]{column-gap:.5rem}}.menu+.translations[data-v-48384a78]:before,.menu+.appearance[data-v-48384a78]:before,.menu+.social-links[data-v-48384a78]:before,.translations+.appearance[data-v-48384a78]:before,.appearance+.social-links[data-v-48384a78]:before{margin-right:8px;margin-left:8px;width:1px;height:24px;background-color:var(--vp-c-divider);content:""}.menu+.appearance[data-v-48384a78]:before,.translations+.appearance[data-v-48384a78]:before{margin-right:16px}.appearance+.social-links[data-v-48384a78]:before{margin-left:16px}.social-links[data-v-48384a78]{margin-right:-8px}.divider[data-v-48384a78]{width:100%;height:1px}@media (min-width: 960px){.VPNavBar.has-sidebar .divider[data-v-48384a78]{padding-left:var(--vp-sidebar-width)}}@media (min-width: 1440px){.VPNavBar.has-sidebar .divider[data-v-48384a78]{padding-left:calc((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width))}}.divider-line[data-v-48384a78]{width:100%;height:1px;transition:background-color .5s}.VPNavBar:not(.home) .divider-line[data-v-48384a78]{background-color:var(--vp-c-gutter)}@media (min-width: 960px){.VPNavBar:not(.home.top) .divider-line[data-v-48384a78]{background-color:var(--vp-c-gutter)}.VPNavBar:not(.has-sidebar):not(.home.top) .divider[data-v-48384a78]{background-color:var(--vp-c-gutter)}}.VPNavScreenAppearance[data-v-2836e9a8]{display:flex;justify-content:space-between;align-items:center;border-radius:8px;padding:12px 14px 12px 16px;background-color:var(--vp-c-bg-soft)}.text[data-v-2836e9a8]{line-height:24px;font-size:12px;font-weight:500;color:var(--vp-c-text-2)}.VPNavScreenMenuLink[data-v-077287e8]{display:block;border-bottom:1px solid var(--vp-c-divider);padding:12px 0 11px;line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:border-color .25s,color .25s}.VPNavScreenMenuLink[data-v-077287e8]:hover{color:var(--vp-c-brand-1)}.VPNavScreenMenuGroupLink[data-v-ed7bb82d]{display:block;margin-left:12px;line-height:32px;font-size:14px;font-weight:400;color:var(--vp-c-text-1);transition:color .25s}.VPNavScreenMenuGroupLink[data-v-ed7bb82d]:hover{color:var(--vp-c-brand-1)}.VPNavScreenMenuGroupSection[data-v-836cddb8]{display:block}.title[data-v-836cddb8]{line-height:32px;font-size:13px;font-weight:700;color:var(--vp-c-text-2);transition:color .25s}.VPNavScreenMenuGroup[data-v-43fd4ddf]{border-bottom:1px solid var(--vp-c-divider);height:48px;overflow:hidden;transition:border-color .5s}.VPNavScreenMenuGroup .items[data-v-43fd4ddf]{visibility:hidden}.VPNavScreenMenuGroup.open .items[data-v-43fd4ddf]{visibility:visible}.VPNavScreenMenuGroup.open[data-v-43fd4ddf]{padding-bottom:10px;height:auto}.VPNavScreenMenuGroup.open .button[data-v-43fd4ddf]{padding-bottom:6px;color:var(--vp-c-brand-1)}.VPNavScreenMenuGroup.open .button-icon[data-v-43fd4ddf]{transform:rotate(45deg)}.button[data-v-43fd4ddf]{display:flex;justify-content:space-between;align-items:center;padding:12px 4px 11px 0;width:100%;line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:color .25s}.button[data-v-43fd4ddf]:hover{color:var(--vp-c-brand-1)}.button-icon[data-v-43fd4ddf]{transition:transform .25s}.group[data-v-43fd4ddf]:first-child{padding-top:0}.group+.group[data-v-43fd4ddf],.group+.item[data-v-43fd4ddf]{padding-top:4px}.VPNavScreenTranslations[data-v-0d43316b]{height:24px;overflow:hidden}.VPNavScreenTranslations.open[data-v-0d43316b]{height:auto}.title[data-v-0d43316b]{display:flex;align-items:center;font-size:14px;font-weight:500;color:var(--vp-c-text-1)}.icon[data-v-0d43316b]{font-size:16px}.icon.lang[data-v-0d43316b]{margin-right:8px}.icon.chevron[data-v-0d43316b]{margin-left:4px}.list[data-v-0d43316b]{padding:4px 0 0 24px}.link[data-v-0d43316b]{line-height:32px;font-size:13px;color:var(--vp-c-text-1)}.VPNavScreen[data-v-5f4e75ae]{position:fixed;top:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 1px);right:0;bottom:0;left:0;padding:0 32px;width:100%;background-color:var(--vp-nav-screen-bg-color);overflow-y:auto;transition:background-color .5s;pointer-events:auto}.VPNavScreen.fade-enter-active[data-v-5f4e75ae],.VPNavScreen.fade-leave-active[data-v-5f4e75ae]{transition:opacity .25s}.VPNavScreen.fade-enter-active .container[data-v-5f4e75ae],.VPNavScreen.fade-leave-active .container[data-v-5f4e75ae]{transition:transform .25s ease}.VPNavScreen.fade-enter-from[data-v-5f4e75ae],.VPNavScreen.fade-leave-to[data-v-5f4e75ae]{opacity:0}.VPNavScreen.fade-enter-from .container[data-v-5f4e75ae],.VPNavScreen.fade-leave-to .container[data-v-5f4e75ae]{transform:translateY(-8px)}@media (min-width: 768px){.VPNavScreen[data-v-5f4e75ae]{display:none}}.container[data-v-5f4e75ae]{margin:0 auto;padding:24px 0 96px;max-width:288px}.menu+.translations[data-v-5f4e75ae],.menu+.appearance[data-v-5f4e75ae],.translations+.appearance[data-v-5f4e75ae]{margin-top:24px}.menu+.social-links[data-v-5f4e75ae]{margin-top:16px}.appearance+.social-links[data-v-5f4e75ae]{margin-top:16px}.VPNav[data-v-a46e73f0]{position:relative;top:var(--vp-layout-top-height, 0px);left:0;z-index:var(--vp-z-index-nav);width:100%;pointer-events:none;transition:background-color .5s}@media (min-width: 960px){.VPNav[data-v-a46e73f0]{position:fixed}}.VPSidebarItem.level-0[data-v-f2cc49b6]{padding-bottom:24px}.VPSidebarItem.collapsed.level-0[data-v-f2cc49b6]{padding-bottom:10px}.item[data-v-f2cc49b6]{position:relative;display:flex;width:100%}.VPSidebarItem.collapsible>.item[data-v-f2cc49b6]{cursor:pointer}.indicator[data-v-f2cc49b6]{position:absolute;top:6px;bottom:6px;left:-17px;width:2px;border-radius:2px;transition:background-color .25s}.VPSidebarItem.level-2.is-active>.item>.indicator[data-v-f2cc49b6],.VPSidebarItem.level-3.is-active>.item>.indicator[data-v-f2cc49b6],.VPSidebarItem.level-4.is-active>.item>.indicator[data-v-f2cc49b6],.VPSidebarItem.level-5.is-active>.item>.indicator[data-v-f2cc49b6]{background-color:var(--vp-c-brand-1)}.link[data-v-f2cc49b6]{display:flex;align-items:center;flex-grow:1}.text[data-v-f2cc49b6]{flex-grow:1;padding:4px 0;line-height:24px;font-size:14px;transition:color .25s}.VPSidebarItem.level-0 .text[data-v-f2cc49b6]{font-weight:700;color:var(--vp-c-text-1)}.VPSidebarItem.level-1 .text[data-v-f2cc49b6],.VPSidebarItem.level-2 .text[data-v-f2cc49b6],.VPSidebarItem.level-3 .text[data-v-f2cc49b6],.VPSidebarItem.level-4 .text[data-v-f2cc49b6],.VPSidebarItem.level-5 .text[data-v-f2cc49b6]{font-weight:500;color:var(--vp-c-text-2)}.VPSidebarItem.level-0.is-link>.item>.link:hover .text[data-v-f2cc49b6],.VPSidebarItem.level-1.is-link>.item>.link:hover .text[data-v-f2cc49b6],.VPSidebarItem.level-2.is-link>.item>.link:hover .text[data-v-f2cc49b6],.VPSidebarItem.level-3.is-link>.item>.link:hover .text[data-v-f2cc49b6],.VPSidebarItem.level-4.is-link>.item>.link:hover .text[data-v-f2cc49b6],.VPSidebarItem.level-5.is-link>.item>.link:hover .text[data-v-f2cc49b6]{color:var(--vp-c-brand-1)}.VPSidebarItem.level-0.has-active>.item>.text[data-v-f2cc49b6],.VPSidebarItem.level-1.has-active>.item>.text[data-v-f2cc49b6],.VPSidebarItem.level-2.has-active>.item>.text[data-v-f2cc49b6],.VPSidebarItem.level-3.has-active>.item>.text[data-v-f2cc49b6],.VPSidebarItem.level-4.has-active>.item>.text[data-v-f2cc49b6],.VPSidebarItem.level-5.has-active>.item>.text[data-v-f2cc49b6],.VPSidebarItem.level-0.has-active>.item>.link>.text[data-v-f2cc49b6],.VPSidebarItem.level-1.has-active>.item>.link>.text[data-v-f2cc49b6],.VPSidebarItem.level-2.has-active>.item>.link>.text[data-v-f2cc49b6],.VPSidebarItem.level-3.has-active>.item>.link>.text[data-v-f2cc49b6],.VPSidebarItem.level-4.has-active>.item>.link>.text[data-v-f2cc49b6],.VPSidebarItem.level-5.has-active>.item>.link>.text[data-v-f2cc49b6]{color:var(--vp-c-text-1)}.VPSidebarItem.level-0.is-active>.item .link>.text[data-v-f2cc49b6],.VPSidebarItem.level-1.is-active>.item .link>.text[data-v-f2cc49b6],.VPSidebarItem.level-2.is-active>.item .link>.text[data-v-f2cc49b6],.VPSidebarItem.level-3.is-active>.item .link>.text[data-v-f2cc49b6],.VPSidebarItem.level-4.is-active>.item .link>.text[data-v-f2cc49b6],.VPSidebarItem.level-5.is-active>.item .link>.text[data-v-f2cc49b6]{color:var(--vp-c-brand-1)}.caret[data-v-f2cc49b6]{display:flex;justify-content:center;align-items:center;margin-right:-7px;width:32px;height:32px;color:var(--vp-c-text-3);cursor:pointer;transition:color .25s;flex-shrink:0}.item:hover .caret[data-v-f2cc49b6]{color:var(--vp-c-text-2)}.item:hover .caret[data-v-f2cc49b6]:hover{color:var(--vp-c-text-1)}.caret-icon[data-v-f2cc49b6]{font-size:18px;transform:rotate(90deg);transition:transform .25s}.VPSidebarItem.collapsed .caret-icon[data-v-f2cc49b6]{transform:rotate(0)}.VPSidebarItem.level-1 .items[data-v-f2cc49b6],.VPSidebarItem.level-2 .items[data-v-f2cc49b6],.VPSidebarItem.level-3 .items[data-v-f2cc49b6],.VPSidebarItem.level-4 .items[data-v-f2cc49b6],.VPSidebarItem.level-5 .items[data-v-f2cc49b6]{border-left:1px solid var(--vp-c-divider);padding-left:16px}.VPSidebarItem.collapsed .items[data-v-f2cc49b6]{display:none}.VPSidebar[data-v-2667f5e2]{position:fixed;top:var(--vp-layout-top-height, 0px);bottom:0;left:0;z-index:var(--vp-z-index-sidebar);padding:32px 32px 96px;width:calc(100vw - 64px);max-width:320px;background-color:var(--vp-sidebar-bg-color);opacity:0;box-shadow:var(--vp-c-shadow-3);overflow-x:hidden;overflow-y:auto;transform:translate(-100%);transition:opacity .5s,transform .25s ease;overscroll-behavior:contain}.VPSidebar.open[data-v-2667f5e2]{opacity:1;visibility:visible;transform:translate(0);transition:opacity .25s,transform .5s cubic-bezier(.19,1,.22,1)}.dark .VPSidebar[data-v-2667f5e2]{box-shadow:var(--vp-shadow-1)}@media (min-width: 960px){.VPSidebar[data-v-2667f5e2]{padding-top:var(--vp-nav-height);width:var(--vp-sidebar-width);max-width:100%;background-color:var(--vp-sidebar-bg-color);opacity:1;visibility:visible;box-shadow:none;transform:translate(0)}}@media (min-width: 1440px){.VPSidebar[data-v-2667f5e2]{padding-left:max(32px,calc((100% - (var(--vp-layout-max-width) - 64px)) / 2));width:calc((100% - (var(--vp-layout-max-width) - 64px)) / 2 + var(--vp-sidebar-width) - 32px)}}@media (min-width: 960px){.curtain[data-v-2667f5e2]{position:sticky;top:-64px;left:0;z-index:1;margin-top:calc(var(--vp-nav-height) * -1);margin-right:-32px;margin-left:-32px;height:var(--vp-nav-height);background-color:var(--vp-sidebar-bg-color)}}.nav[data-v-2667f5e2]{outline:0}.group+.group[data-v-2667f5e2]{border-top:1px solid var(--vp-c-divider);padding-top:10px}@media (min-width: 960px){.group[data-v-2667f5e2]{padding-top:10px;width:calc(var(--vp-sidebar-width) - 64px)}}.VPSkipLink[data-v-b22defb4]{top:8px;left:8px;padding:8px 16px;z-index:999;border-radius:8px;font-size:12px;font-weight:700;text-decoration:none;color:var(--vp-c-brand-1);box-shadow:var(--vp-shadow-3);background-color:var(--vp-c-bg)}.VPSkipLink[data-v-b22defb4]:focus{height:auto;width:auto;clip:auto;clip-path:none}@media (min-width: 1280px){.VPSkipLink[data-v-b22defb4]{top:14px;left:16px}}.Layout[data-v-c4daae71]{display:flex;flex-direction:column;min-height:100vh}.VPHomeSponsors[data-v-b272d7e5]{border-top:1px solid var(--vp-c-gutter);padding-top:88px!important}.VPHomeSponsors[data-v-b272d7e5]{margin:96px 0}@media (min-width: 768px){.VPHomeSponsors[data-v-b272d7e5]{margin:128px 0}}.VPHomeSponsors[data-v-b272d7e5]{padding:0 24px}@media (min-width: 768px){.VPHomeSponsors[data-v-b272d7e5]{padding:0 48px}}@media (min-width: 960px){.VPHomeSponsors[data-v-b272d7e5]{padding:0 64px}}.container[data-v-b272d7e5]{margin:0 auto;max-width:1152px}.love[data-v-b272d7e5]{margin:0 auto;width:fit-content;font-size:28px;color:var(--vp-c-text-3)}.icon[data-v-b272d7e5]{display:inline-block}.message[data-v-b272d7e5]{margin:0 auto;padding-top:10px;max-width:320px;text-align:center;line-height:24px;font-size:16px;font-weight:500;color:var(--vp-c-text-2)}.sponsors[data-v-b272d7e5]{padding-top:32px}.action[data-v-b272d7e5]{padding-top:40px;text-align:center}.VPTeamPage[data-v-de6c58d7]{margin:96px 0}@media (min-width: 768px){.VPTeamPage[data-v-de6c58d7]{margin:128px 0}}.VPHome .VPTeamPageTitle[data-v-de6c58d7-s]{border-top:1px solid var(--vp-c-gutter);padding-top:88px!important}.VPTeamPageSection+.VPTeamPageSection[data-v-de6c58d7-s],.VPTeamMembers+.VPTeamPageSection[data-v-de6c58d7-s]{margin-top:64px}.VPTeamMembers+.VPTeamMembers[data-v-de6c58d7-s]{margin-top:24px}@media (min-width: 768px){.VPTeamPageTitle+.VPTeamPageSection[data-v-de6c58d7-s]{margin-top:16px}.VPTeamPageSection+.VPTeamPageSection[data-v-de6c58d7-s],.VPTeamMembers+.VPTeamPageSection[data-v-de6c58d7-s]{margin-top:96px}}.VPTeamMembers[data-v-de6c58d7-s]{padding:0 24px}@media (min-width: 768px){.VPTeamMembers[data-v-de6c58d7-s]{padding:0 48px}}@media (min-width: 960px){.VPTeamMembers[data-v-de6c58d7-s]{padding:0 64px}}.VPTeamPageTitle[data-v-6ce551d6]{padding:48px 32px;text-align:center}@media (min-width: 768px){.VPTeamPageTitle[data-v-6ce551d6]{padding:64px 48px 48px}}@media (min-width: 960px){.VPTeamPageTitle[data-v-6ce551d6]{padding:80px 64px 48px}}.title[data-v-6ce551d6]{letter-spacing:0;line-height:44px;font-size:36px;font-weight:500}@media (min-width: 768px){.title[data-v-6ce551d6]{letter-spacing:-.5px;line-height:56px;font-size:48px}}.lead[data-v-6ce551d6]{margin:0 auto;max-width:512px;padding-top:12px;line-height:24px;font-size:16px;font-weight:500;color:var(--vp-c-text-2)}@media (min-width: 768px){.lead[data-v-6ce551d6]{max-width:592px;letter-spacing:.15px;line-height:28px;font-size:20px}}.VPTeamPageSection[data-v-1ac32f26]{padding:0 32px}@media (min-width: 768px){.VPTeamPageSection[data-v-1ac32f26]{padding:0 48px}}@media (min-width: 960px){.VPTeamPageSection[data-v-1ac32f26]{padding:0 64px}}.title[data-v-1ac32f26]{position:relative;margin:0 auto;max-width:1152px;text-align:center;color:var(--vp-c-text-2)}.title-line[data-v-1ac32f26]{position:absolute;top:16px;left:0;width:100%;height:1px;background-color:var(--vp-c-divider)}.title-text[data-v-1ac32f26]{position:relative;display:inline-block;padding:0 24px;letter-spacing:0;line-height:32px;font-size:20px;font-weight:500;background-color:var(--vp-c-bg)}.lead[data-v-1ac32f26]{margin:0 auto;max-width:480px;padding-top:12px;text-align:center;line-height:24px;font-size:16px;font-weight:500;color:var(--vp-c-text-2)}.members[data-v-1ac32f26]{padding-top:40px}.VPTeamMembersItem[data-v-af8dff8e]{display:flex;flex-direction:column;gap:2px;border-radius:12px;width:100%;height:100%;overflow:hidden}.VPTeamMembersItem.small .profile[data-v-af8dff8e]{padding:32px}.VPTeamMembersItem.small .data[data-v-af8dff8e]{padding-top:20px}.VPTeamMembersItem.small .avatar[data-v-af8dff8e]{width:64px;height:64px}.VPTeamMembersItem.small .name[data-v-af8dff8e]{line-height:24px;font-size:16px}.VPTeamMembersItem.small .affiliation[data-v-af8dff8e]{padding-top:4px;line-height:20px;font-size:14px}.VPTeamMembersItem.small .desc[data-v-af8dff8e]{padding-top:12px;line-height:20px;font-size:14px}.VPTeamMembersItem.small .links[data-v-af8dff8e]{margin:0 -16px -20px;padding:10px 0 0}.VPTeamMembersItem.medium .profile[data-v-af8dff8e]{padding:48px 32px}.VPTeamMembersItem.medium .data[data-v-af8dff8e]{padding-top:24px;text-align:center}.VPTeamMembersItem.medium .avatar[data-v-af8dff8e]{width:96px;height:96px}.VPTeamMembersItem.medium .name[data-v-af8dff8e]{letter-spacing:.15px;line-height:28px;font-size:20px}.VPTeamMembersItem.medium .affiliation[data-v-af8dff8e]{padding-top:4px;font-size:16px}.VPTeamMembersItem.medium .desc[data-v-af8dff8e]{padding-top:16px;max-width:288px;font-size:16px}.VPTeamMembersItem.medium .links[data-v-af8dff8e]{margin:0 -16px -12px;padding:16px 12px 0}.profile[data-v-af8dff8e]{flex-grow:1;background-color:var(--vp-c-bg-soft)}.data[data-v-af8dff8e]{text-align:center}.avatar[data-v-af8dff8e]{position:relative;flex-shrink:0;margin:0 auto;border-radius:50%;box-shadow:var(--vp-shadow-3)}.avatar-img[data-v-af8dff8e]{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;object-fit:cover}.name[data-v-af8dff8e]{margin:0;font-weight:600}.affiliation[data-v-af8dff8e]{margin:0;font-weight:500;color:var(--vp-c-text-2)}.org.link[data-v-af8dff8e]{color:var(--vp-c-text-2);transition:color .25s}.org.link[data-v-af8dff8e]:hover{color:var(--vp-c-brand-1)}.desc[data-v-af8dff8e]{margin:0 auto}.desc[data-v-af8dff8e] a{font-weight:500;color:var(--vp-c-brand-1);text-decoration-style:dotted;transition:color .25s}.links[data-v-af8dff8e]{display:flex;justify-content:center;height:56px}.sp-link[data-v-af8dff8e]{display:flex;justify-content:center;align-items:center;text-align:center;padding:16px;font-size:14px;font-weight:500;color:var(--vp-c-sponsor);background-color:var(--vp-c-bg-soft);transition:color .25s,background-color .25s}.sp .sp-link.link[data-v-af8dff8e]:hover,.sp .sp-link.link[data-v-af8dff8e]:focus{outline:none;color:var(--vp-c-white);background-color:var(--vp-c-sponsor)}.sp-icon[data-v-af8dff8e]{margin-right:8px;font-size:16px}.VPTeamMembers.small .container[data-v-3ca0e3f5]{grid-template-columns:repeat(auto-fit,minmax(224px,1fr))}.VPTeamMembers.small.count-1 .container[data-v-3ca0e3f5]{max-width:276px}.VPTeamMembers.small.count-2 .container[data-v-3ca0e3f5]{max-width:576px}.VPTeamMembers.small.count-3 .container[data-v-3ca0e3f5]{max-width:876px}.VPTeamMembers.medium .container[data-v-3ca0e3f5]{grid-template-columns:repeat(auto-fit,minmax(256px,1fr))}@media (min-width: 375px){.VPTeamMembers.medium .container[data-v-3ca0e3f5]{grid-template-columns:repeat(auto-fit,minmax(288px,1fr))}}.VPTeamMembers.medium.count-1 .container[data-v-3ca0e3f5]{max-width:368px}.VPTeamMembers.medium.count-2 .container[data-v-3ca0e3f5]{max-width:760px}.container[data-v-3ca0e3f5]{display:grid;gap:24px;margin:0 auto;max-width:1152px}
diff --git a/document/assets/style.g0bP384Z.css b/document/assets/style.g0bP384Z.css
deleted file mode 100644
index 7f2cde63f..000000000
--- a/document/assets/style.g0bP384Z.css
+++ /dev/null
@@ -1 +0,0 @@
-@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/document/assets/inter-roman-cyrillic-ext.BBPuwvHQ.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/document/assets/inter-roman-cyrillic.C5lxZ8CY.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/document/assets/inter-roman-greek-ext.CqjqNYQ-.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/document/assets/inter-roman-greek.BBVDIX6e.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/document/assets/inter-roman-vietnamese.BjW4sHH5.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/document/assets/inter-roman-latin-ext.4ZJIpNVo.woff2) format("woff2");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/document/assets/inter-roman-latin.Di8DUHzh.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:italic;font-weight:100 900;font-display:swap;src:url(/document/assets/inter-italic-cyrillic-ext.r48I6akx.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:italic;font-weight:100 900;font-display:swap;src:url(/document/assets/inter-italic-cyrillic.By2_1cv3.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:italic;font-weight:100 900;font-display:swap;src:url(/document/assets/inter-italic-greek-ext.1u6EdAuj.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:italic;font-weight:100 900;font-display:swap;src:url(/document/assets/inter-italic-greek.DJ8dCoTZ.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:italic;font-weight:100 900;font-display:swap;src:url(/document/assets/inter-italic-vietnamese.BSbpV94h.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:italic;font-weight:100 900;font-display:swap;src:url(/document/assets/inter-italic-latin-ext.CN1xVJS-.woff2) format("woff2");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:italic;font-weight:100 900;font-display:swap;src:url(/document/assets/inter-italic-latin.C2AdPX0b.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Punctuation SC;font-weight:400;src:local("PingFang SC Regular"),local("Noto Sans CJK SC"),local("Microsoft YaHei");unicode-range:U+201C,U+201D,U+2018,U+2019,U+2E3A,U+2014,U+2013,U+2026,U+00B7,U+007E,U+002F}@font-face{font-family:Punctuation SC;font-weight:500;src:local("PingFang SC Medium"),local("Noto Sans CJK SC"),local("Microsoft YaHei");unicode-range:U+201C,U+201D,U+2018,U+2019,U+2E3A,U+2014,U+2013,U+2026,U+00B7,U+007E,U+002F}@font-face{font-family:Punctuation SC;font-weight:600;src:local("PingFang SC Semibold"),local("Noto Sans CJK SC Bold"),local("Microsoft YaHei Bold");unicode-range:U+201C,U+201D,U+2018,U+2019,U+2E3A,U+2014,U+2013,U+2026,U+00B7,U+007E,U+002F}@font-face{font-family:Punctuation SC;font-weight:700;src:local("PingFang SC Semibold"),local("Noto Sans CJK SC Bold"),local("Microsoft YaHei Bold");unicode-range:U+201C,U+201D,U+2018,U+2019,U+2E3A,U+2014,U+2013,U+2026,U+00B7,U+007E,U+002F}:root{--vp-c-white: #ffffff;--vp-c-black: #000000;--vp-c-neutral: var(--vp-c-black);--vp-c-neutral-inverse: var(--vp-c-white)}.dark{--vp-c-neutral: var(--vp-c-white);--vp-c-neutral-inverse: var(--vp-c-black)}:root{--vp-c-gray-1: #dddde3;--vp-c-gray-2: #e4e4e9;--vp-c-gray-3: #ebebef;--vp-c-gray-soft: rgba(142, 150, 170, .14);--vp-c-indigo-1: #3451b2;--vp-c-indigo-2: #3a5ccc;--vp-c-indigo-3: #5672cd;--vp-c-indigo-soft: rgba(100, 108, 255, .14);--vp-c-purple-1: #6f42c1;--vp-c-purple-2: #7e4cc9;--vp-c-purple-3: #8e5cd9;--vp-c-purple-soft: rgba(159, 122, 234, .14);--vp-c-green-1: #18794e;--vp-c-green-2: #299764;--vp-c-green-3: #30a46c;--vp-c-green-soft: rgba(16, 185, 129, .14);--vp-c-yellow-1: #915930;--vp-c-yellow-2: #946300;--vp-c-yellow-3: #9f6a00;--vp-c-yellow-soft: rgba(234, 179, 8, .14);--vp-c-red-1: #b8272c;--vp-c-red-2: #d5393e;--vp-c-red-3: #e0575b;--vp-c-red-soft: rgba(244, 63, 94, .14);--vp-c-sponsor: #db2777}.dark{--vp-c-gray-1: #515c67;--vp-c-gray-2: #414853;--vp-c-gray-3: #32363f;--vp-c-gray-soft: rgba(101, 117, 133, .16);--vp-c-indigo-1: #a8b1ff;--vp-c-indigo-2: #5c73e7;--vp-c-indigo-3: #3e63dd;--vp-c-indigo-soft: rgba(100, 108, 255, .16);--vp-c-purple-1: #c8abfa;--vp-c-purple-2: #a879e6;--vp-c-purple-3: #8e5cd9;--vp-c-purple-soft: rgba(159, 122, 234, .16);--vp-c-green-1: #3dd68c;--vp-c-green-2: #30a46c;--vp-c-green-3: #298459;--vp-c-green-soft: rgba(16, 185, 129, .16);--vp-c-yellow-1: #f9b44e;--vp-c-yellow-2: #da8b17;--vp-c-yellow-3: #a46a0a;--vp-c-yellow-soft: rgba(234, 179, 8, .16);--vp-c-red-1: #f66f81;--vp-c-red-2: #f14158;--vp-c-red-3: #b62a3c;--vp-c-red-soft: rgba(244, 63, 94, .16)}:root{--vp-c-bg: #ffffff;--vp-c-bg-alt: #f6f6f7;--vp-c-bg-elv: #ffffff;--vp-c-bg-soft: #f6f6f7}.dark{--vp-c-bg: #1b1b1f;--vp-c-bg-alt: #161618;--vp-c-bg-elv: #202127;--vp-c-bg-soft: #202127}:root{--vp-c-border: #c2c2c4;--vp-c-divider: #e2e2e3;--vp-c-gutter: #e2e2e3}.dark{--vp-c-border: #3c3f44;--vp-c-divider: #2e2e32;--vp-c-gutter: #000000}:root{--vp-c-text-1: rgba(60, 60, 67);--vp-c-text-2: rgba(60, 60, 67, .78);--vp-c-text-3: rgba(60, 60, 67, .56)}.dark{--vp-c-text-1: rgba(255, 255, 245, .86);--vp-c-text-2: rgba(235, 235, 245, .6);--vp-c-text-3: rgba(235, 235, 245, .38)}:root{--vp-c-default-1: var(--vp-c-gray-1);--vp-c-default-2: var(--vp-c-gray-2);--vp-c-default-3: var(--vp-c-gray-3);--vp-c-default-soft: var(--vp-c-gray-soft);--vp-c-brand-1: var(--vp-c-indigo-1);--vp-c-brand-2: var(--vp-c-indigo-2);--vp-c-brand-3: var(--vp-c-indigo-3);--vp-c-brand-soft: var(--vp-c-indigo-soft);--vp-c-brand: var(--vp-c-brand-1);--vp-c-tip-1: var(--vp-c-brand-1);--vp-c-tip-2: var(--vp-c-brand-2);--vp-c-tip-3: var(--vp-c-brand-3);--vp-c-tip-soft: var(--vp-c-brand-soft);--vp-c-note-1: var(--vp-c-brand-1);--vp-c-note-2: var(--vp-c-brand-2);--vp-c-note-3: var(--vp-c-brand-3);--vp-c-note-soft: var(--vp-c-brand-soft);--vp-c-success-1: var(--vp-c-green-1);--vp-c-success-2: var(--vp-c-green-2);--vp-c-success-3: var(--vp-c-green-3);--vp-c-success-soft: var(--vp-c-green-soft);--vp-c-important-1: var(--vp-c-purple-1);--vp-c-important-2: var(--vp-c-purple-2);--vp-c-important-3: var(--vp-c-purple-3);--vp-c-important-soft: var(--vp-c-purple-soft);--vp-c-warning-1: var(--vp-c-yellow-1);--vp-c-warning-2: var(--vp-c-yellow-2);--vp-c-warning-3: var(--vp-c-yellow-3);--vp-c-warning-soft: var(--vp-c-yellow-soft);--vp-c-danger-1: var(--vp-c-red-1);--vp-c-danger-2: var(--vp-c-red-2);--vp-c-danger-3: var(--vp-c-red-3);--vp-c-danger-soft: var(--vp-c-red-soft);--vp-c-caution-1: var(--vp-c-red-1);--vp-c-caution-2: var(--vp-c-red-2);--vp-c-caution-3: var(--vp-c-red-3);--vp-c-caution-soft: var(--vp-c-red-soft)}:root{--vp-font-family-base: "Inter", ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--vp-font-family-mono: ui-monospace, "Menlo", "Monaco", "Consolas", "Liberation Mono", "Courier New", monospace;font-optical-sizing:auto}:root:where(:lang(zh)){--vp-font-family-base: "Punctuation SC", "Inter", ui-sans-serif, system-ui, "PingFang SC", "Noto Sans CJK SC", "Noto Sans SC", "Heiti SC", "Microsoft YaHei", "DengXian", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"}:root{--vp-shadow-1: 0 1px 2px rgba(0, 0, 0, .04), 0 1px 2px rgba(0, 0, 0, .06);--vp-shadow-2: 0 3px 12px rgba(0, 0, 0, .07), 0 1px 4px rgba(0, 0, 0, .07);--vp-shadow-3: 0 12px 32px rgba(0, 0, 0, .1), 0 2px 6px rgba(0, 0, 0, .08);--vp-shadow-4: 0 14px 44px rgba(0, 0, 0, .12), 0 3px 9px rgba(0, 0, 0, .12);--vp-shadow-5: 0 18px 56px rgba(0, 0, 0, .16), 0 4px 12px rgba(0, 0, 0, .16)}:root{--vp-z-index-footer: 10;--vp-z-index-local-nav: 20;--vp-z-index-nav: 30;--vp-z-index-layout-top: 40;--vp-z-index-backdrop: 50;--vp-z-index-sidebar: 60}@media (min-width: 960px){:root{--vp-z-index-sidebar: 25}}:root{--vp-layout-max-width: 1440px}:root{--vp-header-anchor-symbol: "#"}:root{--vp-code-line-height: 1.7;--vp-code-font-size: .875em;--vp-code-color: var(--vp-c-brand-1);--vp-code-link-color: var(--vp-c-brand-1);--vp-code-link-hover-color: var(--vp-c-brand-2);--vp-code-bg: var(--vp-c-default-soft);--vp-code-block-color: var(--vp-c-text-2);--vp-code-block-bg: var(--vp-c-bg-alt);--vp-code-block-divider-color: var(--vp-c-gutter);--vp-code-lang-color: var(--vp-c-text-3);--vp-code-line-highlight-color: var(--vp-c-default-soft);--vp-code-line-number-color: var(--vp-c-text-3);--vp-code-line-diff-add-color: var(--vp-c-success-soft);--vp-code-line-diff-add-symbol-color: var(--vp-c-success-1);--vp-code-line-diff-remove-color: var(--vp-c-danger-soft);--vp-code-line-diff-remove-symbol-color: var(--vp-c-danger-1);--vp-code-line-warning-color: var(--vp-c-warning-soft);--vp-code-line-error-color: var(--vp-c-danger-soft);--vp-code-copy-code-border-color: var(--vp-c-divider);--vp-code-copy-code-bg: var(--vp-c-bg-soft);--vp-code-copy-code-hover-border-color: var(--vp-c-divider);--vp-code-copy-code-hover-bg: var(--vp-c-bg);--vp-code-copy-code-active-text: var(--vp-c-text-2);--vp-code-copy-copied-text-content: "Copied";--vp-code-tab-divider: var(--vp-code-block-divider-color);--vp-code-tab-text-color: var(--vp-c-text-2);--vp-code-tab-bg: var(--vp-code-block-bg);--vp-code-tab-hover-text-color: var(--vp-c-text-1);--vp-code-tab-active-text-color: var(--vp-c-text-1);--vp-code-tab-active-bar-color: var(--vp-c-brand-1)}:root{--vp-button-brand-border: transparent;--vp-button-brand-text: var(--vp-c-white);--vp-button-brand-bg: var(--vp-c-brand-3);--vp-button-brand-hover-border: transparent;--vp-button-brand-hover-text: var(--vp-c-white);--vp-button-brand-hover-bg: var(--vp-c-brand-2);--vp-button-brand-active-border: transparent;--vp-button-brand-active-text: var(--vp-c-white);--vp-button-brand-active-bg: var(--vp-c-brand-1);--vp-button-alt-border: transparent;--vp-button-alt-text: var(--vp-c-text-1);--vp-button-alt-bg: var(--vp-c-default-3);--vp-button-alt-hover-border: transparent;--vp-button-alt-hover-text: var(--vp-c-text-1);--vp-button-alt-hover-bg: var(--vp-c-default-2);--vp-button-alt-active-border: transparent;--vp-button-alt-active-text: var(--vp-c-text-1);--vp-button-alt-active-bg: var(--vp-c-default-1);--vp-button-sponsor-border: var(--vp-c-text-2);--vp-button-sponsor-text: var(--vp-c-text-2);--vp-button-sponsor-bg: transparent;--vp-button-sponsor-hover-border: var(--vp-c-sponsor);--vp-button-sponsor-hover-text: var(--vp-c-sponsor);--vp-button-sponsor-hover-bg: transparent;--vp-button-sponsor-active-border: var(--vp-c-sponsor);--vp-button-sponsor-active-text: var(--vp-c-sponsor);--vp-button-sponsor-active-bg: transparent}:root{--vp-custom-block-font-size: 14px;--vp-custom-block-code-font-size: 13px;--vp-custom-block-info-border: transparent;--vp-custom-block-info-text: var(--vp-c-text-1);--vp-custom-block-info-bg: var(--vp-c-default-soft);--vp-custom-block-info-code-bg: var(--vp-c-default-soft);--vp-custom-block-note-border: transparent;--vp-custom-block-note-text: var(--vp-c-text-1);--vp-custom-block-note-bg: var(--vp-c-default-soft);--vp-custom-block-note-code-bg: var(--vp-c-default-soft);--vp-custom-block-tip-border: transparent;--vp-custom-block-tip-text: var(--vp-c-text-1);--vp-custom-block-tip-bg: var(--vp-c-tip-soft);--vp-custom-block-tip-code-bg: var(--vp-c-tip-soft);--vp-custom-block-important-border: transparent;--vp-custom-block-important-text: var(--vp-c-text-1);--vp-custom-block-important-bg: var(--vp-c-important-soft);--vp-custom-block-important-code-bg: var(--vp-c-important-soft);--vp-custom-block-warning-border: transparent;--vp-custom-block-warning-text: var(--vp-c-text-1);--vp-custom-block-warning-bg: var(--vp-c-warning-soft);--vp-custom-block-warning-code-bg: var(--vp-c-warning-soft);--vp-custom-block-danger-border: transparent;--vp-custom-block-danger-text: var(--vp-c-text-1);--vp-custom-block-danger-bg: var(--vp-c-danger-soft);--vp-custom-block-danger-code-bg: var(--vp-c-danger-soft);--vp-custom-block-caution-border: transparent;--vp-custom-block-caution-text: var(--vp-c-text-1);--vp-custom-block-caution-bg: var(--vp-c-caution-soft);--vp-custom-block-caution-code-bg: var(--vp-c-caution-soft);--vp-custom-block-details-border: var(--vp-custom-block-info-border);--vp-custom-block-details-text: var(--vp-custom-block-info-text);--vp-custom-block-details-bg: var(--vp-custom-block-info-bg);--vp-custom-block-details-code-bg: var(--vp-custom-block-info-code-bg)}:root{--vp-input-border-color: var(--vp-c-border);--vp-input-bg-color: var(--vp-c-bg-alt);--vp-input-switch-bg-color: var(--vp-c-default-soft)}:root{--vp-nav-height: 64px;--vp-nav-bg-color: var(--vp-c-bg);--vp-nav-screen-bg-color: var(--vp-c-bg);--vp-nav-logo-height: 24px}.hide-nav{--vp-nav-height: 0px}.hide-nav .VPSidebar{--vp-nav-height: 22px}:root{--vp-local-nav-bg-color: var(--vp-c-bg)}:root{--vp-sidebar-width: 272px;--vp-sidebar-bg-color: var(--vp-c-bg-alt)}:root{--vp-backdrop-bg-color: rgba(0, 0, 0, .6)}:root{--vp-home-hero-name-color: var(--vp-c-brand-1);--vp-home-hero-name-background: transparent;--vp-home-hero-image-background-image: none;--vp-home-hero-image-filter: none}:root{--vp-badge-info-border: transparent;--vp-badge-info-text: var(--vp-c-text-2);--vp-badge-info-bg: var(--vp-c-default-soft);--vp-badge-tip-border: transparent;--vp-badge-tip-text: var(--vp-c-tip-1);--vp-badge-tip-bg: var(--vp-c-tip-soft);--vp-badge-warning-border: transparent;--vp-badge-warning-text: var(--vp-c-warning-1);--vp-badge-warning-bg: var(--vp-c-warning-soft);--vp-badge-danger-border: transparent;--vp-badge-danger-text: var(--vp-c-danger-1);--vp-badge-danger-bg: var(--vp-c-danger-soft)}:root{--vp-carbon-ads-text-color: var(--vp-c-text-1);--vp-carbon-ads-poweredby-color: var(--vp-c-text-2);--vp-carbon-ads-bg-color: var(--vp-c-bg-soft);--vp-carbon-ads-hover-text-color: var(--vp-c-brand-1);--vp-carbon-ads-hover-poweredby-color: var(--vp-c-text-1)}:root{--vp-local-search-bg: var(--vp-c-bg);--vp-local-search-result-bg: var(--vp-c-bg);--vp-local-search-result-border: var(--vp-c-divider);--vp-local-search-result-selected-bg: var(--vp-c-bg);--vp-local-search-result-selected-border: var(--vp-c-brand-1);--vp-local-search-highlight-bg: var(--vp-c-brand-1);--vp-local-search-highlight-text: var(--vp-c-neutral-inverse)}@media (prefers-reduced-motion: reduce){*,:before,:after{animation-delay:-1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important;background-attachment:initial!important;scroll-behavior:auto!important;transition-duration:0s!important;transition-delay:0s!important}}*,:before,:after{box-sizing:border-box}html{line-height:1.4;font-size:16px;-webkit-text-size-adjust:100%}html.dark{color-scheme:dark}body{margin:0;width:100%;min-width:320px;min-height:100vh;line-height:24px;font-family:var(--vp-font-family-base);font-size:16px;font-weight:400;color:var(--vp-c-text-1);background-color:var(--vp-c-bg);font-synthesis:style;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}main{display:block}h1,h2,h3,h4,h5,h6{margin:0;line-height:24px;font-size:16px;font-weight:400}p{margin:0}strong,b{font-weight:600}a,area,button,[role=button],input,label,select,summary,textarea{touch-action:manipulation}a{color:inherit;text-decoration:inherit}ol,ul{list-style:none;margin:0;padding:0}blockquote{margin:0}pre,code,kbd,samp{font-family:var(--vp-font-family-mono)}img,svg,video,canvas,audio,iframe,embed,object{display:block}figure{margin:0}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{border:0;padding:0;line-height:inherit;color:inherit}button{padding:0;font-family:inherit;background-color:transparent;background-image:none}button:enabled,[role=button]:enabled{cursor:pointer}button:focus,button:focus-visible{outline:1px dotted;outline:4px auto -webkit-focus-ring-color}button:focus:not(:focus-visible){outline:none!important}input:focus,textarea:focus,select:focus{outline:none}table{border-collapse:collapse}input{background-color:transparent}input:-ms-input-placeholder,textarea:-ms-input-placeholder{color:var(--vp-c-text-3)}input::-ms-input-placeholder,textarea::-ms-input-placeholder{color:var(--vp-c-text-3)}input::placeholder,textarea::placeholder{color:var(--vp-c-text-3)}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}textarea{resize:vertical}select{-webkit-appearance:none}fieldset{margin:0;padding:0}h1,h2,h3,h4,h5,h6,li,p{overflow-wrap:break-word}vite-error-overlay{z-index:9999}mjx-container{display:inline-block;margin:auto 2px -2px}mjx-container>svg{display:inline-block;margin:auto}[class^=vpi-],[class*=" vpi-"],.vp-icon{width:1em;height:1em}[class^=vpi-].bg,[class*=" vpi-"].bg,.vp-icon.bg{background-size:100% 100%;background-color:transparent}[class^=vpi-]:not(.bg),[class*=" vpi-"]:not(.bg),.vp-icon:not(.bg){-webkit-mask:var(--icon) no-repeat;mask:var(--icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit}.vpi-align-left{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M21 6H3M15 12H3M17 18H3'/%3E%3C/svg%3E")}.vpi-arrow-right,.vpi-arrow-down,.vpi-arrow-left,.vpi-arrow-up{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M5 12h14M12 5l7 7-7 7'/%3E%3C/svg%3E")}.vpi-chevron-right,.vpi-chevron-down,.vpi-chevron-left,.vpi-chevron-up{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='m9 18 6-6-6-6'/%3E%3C/svg%3E")}.vpi-chevron-down,.vpi-arrow-down{transform:rotate(90deg)}.vpi-chevron-left,.vpi-arrow-left{transform:rotate(180deg)}.vpi-chevron-up,.vpi-arrow-up{transform:rotate(-90deg)}.vpi-square-pen{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7'/%3E%3Cpath d='M18.375 2.625a2.121 2.121 0 1 1 3 3L12 15l-4 1 1-4Z'/%3E%3C/svg%3E")}.vpi-plus{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M5 12h14M12 5v14'/%3E%3C/svg%3E")}.vpi-sun{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Cpath d='M12 2v2M12 20v2M4.93 4.93l1.41 1.41M17.66 17.66l1.41 1.41M2 12h2M20 12h2M6.34 17.66l-1.41 1.41M19.07 4.93l-1.41 1.41'/%3E%3C/svg%3E")}.vpi-moon{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z'/%3E%3C/svg%3E")}.vpi-more-horizontal{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='1'/%3E%3Ccircle cx='19' cy='12' r='1'/%3E%3Ccircle cx='5' cy='12' r='1'/%3E%3C/svg%3E")}.vpi-languages{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='m5 8 6 6M4 14l6-6 2-3M2 5h12M7 2h1M22 22l-5-10-5 10M14 18h6'/%3E%3C/svg%3E")}.vpi-heart{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4.05 3 5.5l7 7Z'/%3E%3C/svg%3E")}.vpi-search{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.3-4.3'/%3E%3C/svg%3E")}.vpi-layout-list{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Crect width='7' height='7' x='3' y='3' rx='1'/%3E%3Crect width='7' height='7' x='3' y='14' rx='1'/%3E%3Cpath d='M14 4h7M14 9h7M14 15h7M14 20h7'/%3E%3C/svg%3E")}.vpi-delete{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M20 5H9l-7 7 7 7h11a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2ZM18 9l-6 6M12 9l6 6'/%3E%3C/svg%3E")}.vpi-corner-down-left{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='m9 10-5 5 5 5'/%3E%3Cpath d='M20 4v7a4 4 0 0 1-4 4H4'/%3E%3C/svg%3E")}:root{--vp-icon-copy: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='rgba(128,128,128,1)' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Crect width='8' height='4' x='8' y='2' rx='1' ry='1'/%3E%3Cpath d='M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2'/%3E%3C/svg%3E");--vp-icon-copied: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='rgba(128,128,128,1)' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Crect width='8' height='4' x='8' y='2' rx='1' ry='1'/%3E%3Cpath d='M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2'/%3E%3Cpath d='m9 14 2 2 4-4'/%3E%3C/svg%3E")}.vpi-social-discord{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20.317 4.37a19.791 19.791 0 0 0-4.885-1.515.074.074 0 0 0-.079.037c-.21.375-.444.864-.608 1.25a18.27 18.27 0 0 0-5.487 0 12.64 12.64 0 0 0-.617-1.25.077.077 0 0 0-.079-.037A19.736 19.736 0 0 0 3.677 4.37a.07.07 0 0 0-.032.027C.533 9.046-.32 13.58.099 18.057a.082.082 0 0 0 .031.057 19.9 19.9 0 0 0 5.993 3.03.078.078 0 0 0 .084-.028c.462-.63.874-1.295 1.226-1.994a.076.076 0 0 0-.041-.106 13.107 13.107 0 0 1-1.872-.892.077.077 0 0 1-.008-.128 10.2 10.2 0 0 0 .372-.292.074.074 0 0 1 .077-.01c3.928 1.793 8.18 1.793 12.062 0a.074.074 0 0 1 .078.01c.12.098.246.198.373.292a.077.077 0 0 1-.006.127 12.299 12.299 0 0 1-1.873.892.077.077 0 0 0-.041.107c.36.698.772 1.362 1.225 1.993a.076.076 0 0 0 .084.028 19.839 19.839 0 0 0 6.002-3.03.077.077 0 0 0 .032-.054c.5-5.177-.838-9.674-3.549-13.66a.061.061 0 0 0-.031-.03zM8.02 15.33c-1.183 0-2.157-1.085-2.157-2.419 0-1.333.956-2.419 2.157-2.419 1.21 0 2.176 1.096 2.157 2.42 0 1.333-.956 2.418-2.157 2.418zm7.975 0c-1.183 0-2.157-1.085-2.157-2.419 0-1.333.955-2.419 2.157-2.419 1.21 0 2.176 1.096 2.157 2.42 0 1.333-.946 2.418-2.157 2.418Z'/%3E%3C/svg%3E")}.vpi-social-facebook{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9.101 23.691v-7.98H6.627v-3.667h2.474v-1.58c0-4.085 1.848-5.978 5.858-5.978.401 0 .955.042 1.468.103a8.68 8.68 0 0 1 1.141.195v3.325a8.623 8.623 0 0 0-.653-.036 26.805 26.805 0 0 0-.733-.009c-.707 0-1.259.096-1.675.309a1.686 1.686 0 0 0-.679.622c-.258.42-.374.995-.374 1.752v1.297h3.919l-.386 2.103-.287 1.564h-3.246v8.245C19.396 23.238 24 18.179 24 12.044c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.628 3.874 10.35 9.101 11.647Z'/%3E%3C/svg%3E")}.vpi-social-github{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12'/%3E%3C/svg%3E")}.vpi-social-instagram{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7.03.084c-1.277.06-2.149.264-2.91.563a5.874 5.874 0 0 0-2.124 1.388 5.878 5.878 0 0 0-1.38 2.127C.321 4.926.12 5.8.064 7.076.008 8.354-.005 8.764.001 12.023c.007 3.259.021 3.667.083 4.947.061 1.277.264 2.149.563 2.911.308.789.72 1.457 1.388 2.123a5.872 5.872 0 0 0 2.129 1.38c.763.295 1.636.496 2.913.552 1.278.056 1.689.069 4.947.063 3.257-.007 3.668-.021 4.947-.082 1.28-.06 2.147-.265 2.91-.563a5.881 5.881 0 0 0 2.123-1.388 5.881 5.881 0 0 0 1.38-2.129c.295-.763.496-1.636.551-2.912.056-1.28.07-1.69.063-4.948-.006-3.258-.02-3.667-.081-4.947-.06-1.28-.264-2.148-.564-2.911a5.892 5.892 0 0 0-1.387-2.123 5.857 5.857 0 0 0-2.128-1.38C19.074.322 18.202.12 16.924.066 15.647.009 15.236-.006 11.977 0 8.718.008 8.31.021 7.03.084m.14 21.693c-1.17-.05-1.805-.245-2.228-.408a3.736 3.736 0 0 1-1.382-.895 3.695 3.695 0 0 1-.9-1.378c-.165-.423-.363-1.058-.417-2.228-.06-1.264-.072-1.644-.08-4.848-.006-3.204.006-3.583.061-4.848.05-1.169.246-1.805.408-2.228.216-.561.477-.96.895-1.382a3.705 3.705 0 0 1 1.379-.9c.423-.165 1.057-.361 2.227-.417 1.265-.06 1.644-.072 4.848-.08 3.203-.006 3.583.006 4.85.062 1.168.05 1.804.244 2.227.408.56.216.96.475 1.382.895.421.42.681.817.9 1.378.165.422.362 1.056.417 2.227.06 1.265.074 1.645.08 4.848.005 3.203-.006 3.583-.061 4.848-.051 1.17-.245 1.805-.408 2.23-.216.56-.477.96-.896 1.38a3.705 3.705 0 0 1-1.378.9c-.422.165-1.058.362-2.226.418-1.266.06-1.645.072-4.85.079-3.204.007-3.582-.006-4.848-.06m9.783-16.192a1.44 1.44 0 1 0 1.437-1.442 1.44 1.44 0 0 0-1.437 1.442M5.839 12.012a6.161 6.161 0 1 0 12.323-.024 6.162 6.162 0 0 0-12.323.024M8 12.008A4 4 0 1 1 12.008 16 4 4 0 0 1 8 12.008'/%3E%3C/svg%3E")}.vpi-social-linkedin{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433a2.062 2.062 0 0 1-2.063-2.065 2.064 2.064 0 1 1 2.063 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z'/%3E%3C/svg%3E")}.vpi-social-mastodon{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M23.268 5.313c-.35-2.578-2.617-4.61-5.304-5.004C17.51.242 15.792 0 11.813 0h-.03c-3.98 0-4.835.242-5.288.309C3.882.692 1.496 2.518.917 5.127.64 6.412.61 7.837.661 9.143c.074 1.874.088 3.745.26 5.611.118 1.24.325 2.47.62 3.68.55 2.237 2.777 4.098 4.96 4.857 2.336.792 4.849.923 7.256.38.265-.061.527-.132.786-.213.585-.184 1.27-.39 1.774-.753a.057.057 0 0 0 .023-.043v-1.809a.052.052 0 0 0-.02-.041.053.053 0 0 0-.046-.01 20.282 20.282 0 0 1-4.709.545c-2.73 0-3.463-1.284-3.674-1.818a5.593 5.593 0 0 1-.319-1.433.053.053 0 0 1 .066-.054c1.517.363 3.072.546 4.632.546.376 0 .75 0 1.125-.01 1.57-.044 3.224-.124 4.768-.422.038-.008.077-.015.11-.024 2.435-.464 4.753-1.92 4.989-5.604.008-.145.03-1.52.03-1.67.002-.512.167-3.63-.024-5.545zm-3.748 9.195h-2.561V8.29c0-1.309-.55-1.976-1.67-1.976-1.23 0-1.846.79-1.846 2.35v3.403h-2.546V8.663c0-1.56-.617-2.35-1.848-2.35-1.112 0-1.668.668-1.67 1.977v6.218H4.822V8.102c0-1.31.337-2.35 1.011-3.12.696-.77 1.608-1.164 2.74-1.164 1.311 0 2.302.5 2.962 1.498l.638 1.06.638-1.06c.66-.999 1.65-1.498 2.96-1.498 1.13 0 2.043.395 2.74 1.164.675.77 1.012 1.81 1.012 3.12z'/%3E%3C/svg%3E")}.vpi-social-npm{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M1.763 0C.786 0 0 .786 0 1.763v20.474C0 23.214.786 24 1.763 24h20.474c.977 0 1.763-.786 1.763-1.763V1.763C24 .786 23.214 0 22.237 0zM5.13 5.323l13.837.019-.009 13.836h-3.464l.01-10.382h-3.456L12.04 19.17H5.113z'/%3E%3C/svg%3E")}.vpi-social-slack{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5.042 15.165a2.528 2.528 0 0 1-2.52 2.523A2.528 2.528 0 0 1 0 15.165a2.527 2.527 0 0 1 2.522-2.52h2.52v2.52zm1.271 0a2.527 2.527 0 0 1 2.521-2.52 2.527 2.527 0 0 1 2.521 2.52v6.313A2.528 2.528 0 0 1 8.834 24a2.528 2.528 0 0 1-2.521-2.522v-6.313zM8.834 5.042a2.528 2.528 0 0 1-2.521-2.52A2.528 2.528 0 0 1 8.834 0a2.528 2.528 0 0 1 2.521 2.522v2.52H8.834zm0 1.271a2.528 2.528 0 0 1 2.521 2.521 2.528 2.528 0 0 1-2.521 2.521H2.522A2.528 2.528 0 0 1 0 8.834a2.528 2.528 0 0 1 2.522-2.521h6.312zm10.122 2.521a2.528 2.528 0 0 1 2.522-2.521A2.528 2.528 0 0 1 24 8.834a2.528 2.528 0 0 1-2.522 2.521h-2.522V8.834zm-1.268 0a2.528 2.528 0 0 1-2.523 2.521 2.527 2.527 0 0 1-2.52-2.521V2.522A2.527 2.527 0 0 1 15.165 0a2.528 2.528 0 0 1 2.523 2.522v6.312zm-2.523 10.122a2.528 2.528 0 0 1 2.523 2.522A2.528 2.528 0 0 1 15.165 24a2.527 2.527 0 0 1-2.52-2.522v-2.522h2.52zm0-1.268a2.527 2.527 0 0 1-2.52-2.523 2.526 2.526 0 0 1 2.52-2.52h6.313A2.527 2.527 0 0 1 24 15.165a2.528 2.528 0 0 1-2.522 2.523h-6.313z'/%3E%3C/svg%3E")}.vpi-social-twitter,.vpi-social-x{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M18.901 1.153h3.68l-8.04 9.19L24 22.846h-7.406l-5.8-7.584-6.638 7.584H.474l8.6-9.83L0 1.154h7.594l5.243 6.932ZM17.61 20.644h2.039L6.486 3.24H4.298Z'/%3E%3C/svg%3E")}.vpi-social-youtube{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z'/%3E%3C/svg%3E")}.visually-hidden{position:absolute;width:1px;height:1px;white-space:nowrap;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden}.custom-block{border:1px solid transparent;border-radius:8px;padding:16px 16px 8px;line-height:24px;font-size:var(--vp-custom-block-font-size);color:var(--vp-c-text-2)}.custom-block.info{border-color:var(--vp-custom-block-info-border);color:var(--vp-custom-block-info-text);background-color:var(--vp-custom-block-info-bg)}.custom-block.info a,.custom-block.info code{color:var(--vp-c-brand-1)}.custom-block.info a:hover,.custom-block.info a:hover>code{color:var(--vp-c-brand-2)}.custom-block.info code{background-color:var(--vp-custom-block-info-code-bg)}.custom-block.note{border-color:var(--vp-custom-block-note-border);color:var(--vp-custom-block-note-text);background-color:var(--vp-custom-block-note-bg)}.custom-block.note a,.custom-block.note code{color:var(--vp-c-brand-1)}.custom-block.note a:hover,.custom-block.note a:hover>code{color:var(--vp-c-brand-2)}.custom-block.note code{background-color:var(--vp-custom-block-note-code-bg)}.custom-block.tip{border-color:var(--vp-custom-block-tip-border);color:var(--vp-custom-block-tip-text);background-color:var(--vp-custom-block-tip-bg)}.custom-block.tip a,.custom-block.tip code{color:var(--vp-c-tip-1)}.custom-block.tip a:hover,.custom-block.tip a:hover>code{color:var(--vp-c-tip-2)}.custom-block.tip code{background-color:var(--vp-custom-block-tip-code-bg)}.custom-block.important{border-color:var(--vp-custom-block-important-border);color:var(--vp-custom-block-important-text);background-color:var(--vp-custom-block-important-bg)}.custom-block.important a,.custom-block.important code{color:var(--vp-c-important-1)}.custom-block.important a:hover,.custom-block.important a:hover>code{color:var(--vp-c-important-2)}.custom-block.important code{background-color:var(--vp-custom-block-important-code-bg)}.custom-block.warning{border-color:var(--vp-custom-block-warning-border);color:var(--vp-custom-block-warning-text);background-color:var(--vp-custom-block-warning-bg)}.custom-block.warning a,.custom-block.warning code{color:var(--vp-c-warning-1)}.custom-block.warning a:hover,.custom-block.warning a:hover>code{color:var(--vp-c-warning-2)}.custom-block.warning code{background-color:var(--vp-custom-block-warning-code-bg)}.custom-block.danger{border-color:var(--vp-custom-block-danger-border);color:var(--vp-custom-block-danger-text);background-color:var(--vp-custom-block-danger-bg)}.custom-block.danger a,.custom-block.danger code{color:var(--vp-c-danger-1)}.custom-block.danger a:hover,.custom-block.danger a:hover>code{color:var(--vp-c-danger-2)}.custom-block.danger code{background-color:var(--vp-custom-block-danger-code-bg)}.custom-block.caution{border-color:var(--vp-custom-block-caution-border);color:var(--vp-custom-block-caution-text);background-color:var(--vp-custom-block-caution-bg)}.custom-block.caution a,.custom-block.caution code{color:var(--vp-c-caution-1)}.custom-block.caution a:hover,.custom-block.caution a:hover>code{color:var(--vp-c-caution-2)}.custom-block.caution code{background-color:var(--vp-custom-block-caution-code-bg)}.custom-block.details{border-color:var(--vp-custom-block-details-border);color:var(--vp-custom-block-details-text);background-color:var(--vp-custom-block-details-bg)}.custom-block.details a{color:var(--vp-c-brand-1)}.custom-block.details a:hover,.custom-block.details a:hover>code{color:var(--vp-c-brand-2)}.custom-block.details code{background-color:var(--vp-custom-block-details-code-bg)}.custom-block-title{font-weight:600}.custom-block p+p{margin:8px 0}.custom-block.details summary{margin:0 0 8px;font-weight:700;cursor:pointer;-webkit-user-select:none;user-select:none}.custom-block.details summary+p{margin:8px 0}.custom-block a{color:inherit;font-weight:600;text-decoration:underline;text-underline-offset:2px;transition:opacity .25s}.custom-block a:hover{opacity:.75}.custom-block code{font-size:var(--vp-custom-block-code-font-size)}.custom-block.custom-block th,.custom-block.custom-block blockquote>p{font-size:var(--vp-custom-block-font-size);color:inherit}.dark .vp-code span{color:var(--shiki-dark, inherit)}html:not(.dark) .vp-code span{color:var(--shiki-light, inherit)}.vp-code-group{margin-top:16px}.vp-code-group .tabs{position:relative;display:flex;margin-right:-24px;margin-left:-24px;padding:0 12px;background-color:var(--vp-code-tab-bg);overflow-x:auto;overflow-y:hidden;box-shadow:inset 0 -1px var(--vp-code-tab-divider)}@media (min-width: 640px){.vp-code-group .tabs{margin-right:0;margin-left:0;border-radius:8px 8px 0 0}}.vp-code-group .tabs input{position:fixed;opacity:0;pointer-events:none}.vp-code-group .tabs label{position:relative;display:inline-block;border-bottom:1px solid transparent;padding:0 12px;line-height:48px;font-size:14px;font-weight:500;color:var(--vp-code-tab-text-color);white-space:nowrap;cursor:pointer;transition:color .25s}.vp-code-group .tabs label:after{position:absolute;right:8px;bottom:-1px;left:8px;z-index:1;height:2px;border-radius:2px;content:"";background-color:transparent;transition:background-color .25s}.vp-code-group label:hover{color:var(--vp-code-tab-hover-text-color)}.vp-code-group input:checked+label{color:var(--vp-code-tab-active-text-color)}.vp-code-group input:checked+label:after{background-color:var(--vp-code-tab-active-bar-color)}.vp-code-group div[class*=language-],.vp-block{display:none;margin-top:0!important;border-top-left-radius:0!important;border-top-right-radius:0!important}.vp-code-group div[class*=language-].active,.vp-block.active{display:block}.vp-block{padding:20px 24px}.vp-doc h1,.vp-doc h2,.vp-doc h3,.vp-doc h4,.vp-doc h5,.vp-doc h6{position:relative;font-weight:600;outline:none}.vp-doc h1{letter-spacing:-.02em;line-height:40px;font-size:28px}.vp-doc h2{margin:48px 0 16px;border-top:1px solid var(--vp-c-divider);padding-top:24px;letter-spacing:-.02em;line-height:32px;font-size:24px}.vp-doc h3{margin:32px 0 0;letter-spacing:-.01em;line-height:28px;font-size:20px}.vp-doc .header-anchor{position:absolute;top:0;left:0;margin-left:-.87em;font-weight:500;-webkit-user-select:none;user-select:none;opacity:0;text-decoration:none;transition:color .25s,opacity .25s}.vp-doc .header-anchor:before{content:var(--vp-header-anchor-symbol)}.vp-doc h1:hover .header-anchor,.vp-doc h1 .header-anchor:focus,.vp-doc h2:hover .header-anchor,.vp-doc h2 .header-anchor:focus,.vp-doc h3:hover .header-anchor,.vp-doc h3 .header-anchor:focus,.vp-doc h4:hover .header-anchor,.vp-doc h4 .header-anchor:focus,.vp-doc h5:hover .header-anchor,.vp-doc h5 .header-anchor:focus,.vp-doc h6:hover .header-anchor,.vp-doc h6 .header-anchor:focus{opacity:1}@media (min-width: 768px){.vp-doc h1{letter-spacing:-.02em;line-height:40px;font-size:32px}}.vp-doc h2 .header-anchor{top:24px}.vp-doc p,.vp-doc summary{margin:16px 0}.vp-doc p{line-height:28px}.vp-doc blockquote{margin:16px 0;border-left:2px solid var(--vp-c-divider);padding-left:16px;transition:border-color .5s}.vp-doc blockquote>p{margin:0;font-size:16px;color:var(--vp-c-text-2);transition:color .5s}.vp-doc a{font-weight:500;color:var(--vp-c-brand-1);text-decoration:underline;text-underline-offset:2px;transition:color .25s,opacity .25s}.vp-doc a:hover{color:var(--vp-c-brand-2)}.vp-doc strong{font-weight:600}.vp-doc ul,.vp-doc ol{padding-left:1.25rem;margin:16px 0}.vp-doc ul{list-style:disc}.vp-doc ol{list-style:decimal}.vp-doc li+li{margin-top:8px}.vp-doc li>ol,.vp-doc li>ul{margin:8px 0 0}.vp-doc table{display:block;border-collapse:collapse;margin:20px 0;overflow-x:auto}.vp-doc tr{background-color:var(--vp-c-bg);border-top:1px solid var(--vp-c-divider);transition:background-color .5s}.vp-doc tr:nth-child(2n){background-color:var(--vp-c-bg-soft)}.vp-doc th,.vp-doc td{border:1px solid var(--vp-c-divider);padding:8px 16px}.vp-doc th{text-align:left;font-size:14px;font-weight:600;color:var(--vp-c-text-2);background-color:var(--vp-c-bg-soft)}.vp-doc td{font-size:14px}.vp-doc hr{margin:16px 0;border:none;border-top:1px solid var(--vp-c-divider)}.vp-doc .custom-block{margin:16px 0}.vp-doc .custom-block p{margin:8px 0;line-height:24px}.vp-doc .custom-block p:first-child{margin:0}.vp-doc .custom-block div[class*=language-]{margin:8px 0;border-radius:8px}.vp-doc .custom-block div[class*=language-] code{font-weight:400;background-color:transparent}.vp-doc .custom-block .vp-code-group .tabs{margin:0;border-radius:8px 8px 0 0}.vp-doc :not(pre,h1,h2,h3,h4,h5,h6)>code{font-size:var(--vp-code-font-size);color:var(--vp-code-color)}.vp-doc :not(pre)>code{border-radius:4px;padding:3px 6px;background-color:var(--vp-code-bg);transition:color .25s,background-color .5s}.vp-doc a>code{color:var(--vp-code-link-color)}.vp-doc a:hover>code{color:var(--vp-code-link-hover-color)}.vp-doc h1>code,.vp-doc h2>code,.vp-doc h3>code{font-size:.9em}.vp-doc div[class*=language-],.vp-block{position:relative;margin:16px -24px;background-color:var(--vp-code-block-bg);overflow-x:auto;transition:background-color .5s}@media (min-width: 640px){.vp-doc div[class*=language-],.vp-block{border-radius:8px;margin:16px 0}}@media (max-width: 639px){.vp-doc li div[class*=language-]{border-radius:8px 0 0 8px}}.vp-doc div[class*=language-]+div[class*=language-],.vp-doc div[class$=-api]+div[class*=language-],.vp-doc div[class*=language-]+div[class$=-api]>div[class*=language-]{margin-top:-8px}.vp-doc [class*=language-] pre,.vp-doc [class*=language-] code{direction:ltr;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}.vp-doc [class*=language-] pre{position:relative;z-index:1;margin:0;padding:20px 0;background:transparent;overflow-x:auto}.vp-doc [class*=language-] code{display:block;padding:0 24px;width:fit-content;min-width:100%;line-height:var(--vp-code-line-height);font-size:var(--vp-code-font-size);color:var(--vp-code-block-color);transition:color .5s}.vp-doc [class*=language-] code .highlighted{background-color:var(--vp-code-line-highlight-color);transition:background-color .5s;margin:0 -24px;padding:0 24px;width:calc(100% + 48px);display:inline-block}.vp-doc [class*=language-] code .highlighted.error{background-color:var(--vp-code-line-error-color)}.vp-doc [class*=language-] code .highlighted.warning{background-color:var(--vp-code-line-warning-color)}.vp-doc [class*=language-] code .diff{transition:background-color .5s;margin:0 -24px;padding:0 24px;width:calc(100% + 48px);display:inline-block}.vp-doc [class*=language-] code .diff:before{position:absolute;left:10px}.vp-doc [class*=language-] .has-focused-lines .line:not(.has-focus){filter:blur(.095rem);opacity:.4;transition:filter .35s,opacity .35s}.vp-doc [class*=language-] .has-focused-lines .line:not(.has-focus){opacity:.7;transition:filter .35s,opacity .35s}.vp-doc [class*=language-]:hover .has-focused-lines .line:not(.has-focus){filter:blur(0);opacity:1}.vp-doc [class*=language-] code .diff.remove{background-color:var(--vp-code-line-diff-remove-color);opacity:.7}.vp-doc [class*=language-] code .diff.remove:before{content:"-";color:var(--vp-code-line-diff-remove-symbol-color)}.vp-doc [class*=language-] code .diff.add{background-color:var(--vp-code-line-diff-add-color)}.vp-doc [class*=language-] code .diff.add:before{content:"+";color:var(--vp-code-line-diff-add-symbol-color)}.vp-doc div[class*=language-].line-numbers-mode{padding-left:32px}.vp-doc .line-numbers-wrapper{position:absolute;top:0;bottom:0;left:0;z-index:3;border-right:1px solid var(--vp-code-block-divider-color);padding-top:20px;width:32px;text-align:center;font-family:var(--vp-font-family-mono);line-height:var(--vp-code-line-height);font-size:var(--vp-code-font-size);color:var(--vp-code-line-number-color);transition:border-color .5s,color .5s}.vp-doc [class*=language-]>button.copy{direction:ltr;position:absolute;top:12px;right:12px;z-index:3;border:1px solid var(--vp-code-copy-code-border-color);border-radius:4px;width:40px;height:40px;background-color:var(--vp-code-copy-code-bg);opacity:0;cursor:pointer;background-image:var(--vp-icon-copy);background-position:50%;background-size:20px;background-repeat:no-repeat;transition:border-color .25s,background-color .25s,opacity .25s}.vp-doc [class*=language-]:hover>button.copy,.vp-doc [class*=language-]>button.copy:focus{opacity:1}.vp-doc [class*=language-]>button.copy:hover,.vp-doc [class*=language-]>button.copy.copied{border-color:var(--vp-code-copy-code-hover-border-color);background-color:var(--vp-code-copy-code-hover-bg)}.vp-doc [class*=language-]>button.copy.copied,.vp-doc [class*=language-]>button.copy:hover.copied{border-radius:0 4px 4px 0;background-color:var(--vp-code-copy-code-hover-bg);background-image:var(--vp-icon-copied)}.vp-doc [class*=language-]>button.copy.copied:before,.vp-doc [class*=language-]>button.copy:hover.copied:before{position:relative;top:-1px;transform:translate(calc(-100% - 1px));display:flex;justify-content:center;align-items:center;border:1px solid var(--vp-code-copy-code-hover-border-color);border-right:0;border-radius:4px 0 0 4px;padding:0 10px;width:fit-content;height:40px;text-align:center;font-size:12px;font-weight:500;color:var(--vp-code-copy-code-active-text);background-color:var(--vp-code-copy-code-hover-bg);white-space:nowrap;content:var(--vp-code-copy-copied-text-content)}.vp-doc [class*=language-]>span.lang{position:absolute;top:2px;right:8px;z-index:2;font-size:12px;font-weight:500;color:var(--vp-code-lang-color);transition:color .4s,opacity .4s}.vp-doc [class*=language-]:hover>button.copy+span.lang,.vp-doc [class*=language-]>button.copy:focus+span.lang{opacity:0}.vp-doc .VPTeamMembers{margin-top:24px}.vp-doc .VPTeamMembers.small.count-1 .container{margin:0!important;max-width:calc((100% - 24px)/2)!important}.vp-doc .VPTeamMembers.small.count-2 .container,.vp-doc .VPTeamMembers.small.count-3 .container{max-width:100%!important}.vp-doc .VPTeamMembers.medium.count-1 .container{margin:0!important;max-width:calc((100% - 24px)/2)!important}:is(.vp-external-link-icon,.vp-doc a[href*="://"],.vp-doc a[target=_blank]):not(.no-icon):after{display:inline-block;margin-top:-1px;margin-left:4px;width:11px;height:11px;background:currentColor;color:var(--vp-c-text-3);flex-shrink:0;--icon: url("data:image/svg+xml, %3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' %3E%3Cpath d='M0 0h24v24H0V0z' fill='none' /%3E%3Cpath d='M9 5v2h6.59L4 18.59 5.41 20 17 8.41V15h2V5H9z' /%3E%3C/svg%3E");-webkit-mask-image:var(--icon);mask-image:var(--icon)}.vp-external-link-icon:after{content:""}.external-link-icon-enabled :is(.vp-doc a[href*="://"],.vp-doc a[target=_blank]):after{content:"";color:currentColor}.vp-sponsor{border-radius:16px;overflow:hidden}.vp-sponsor.aside{border-radius:12px}.vp-sponsor-section+.vp-sponsor-section{margin-top:4px}.vp-sponsor-tier{margin:0 0 4px!important;text-align:center;letter-spacing:1px!important;line-height:24px;width:100%;font-weight:600;color:var(--vp-c-text-2);background-color:var(--vp-c-bg-soft)}.vp-sponsor.normal .vp-sponsor-tier{padding:13px 0 11px;font-size:14px}.vp-sponsor.aside .vp-sponsor-tier{padding:9px 0 7px;font-size:12px}.vp-sponsor-grid+.vp-sponsor-tier{margin-top:4px}.vp-sponsor-grid{display:flex;flex-wrap:wrap;gap:4px}.vp-sponsor-grid.xmini .vp-sponsor-grid-link{height:64px}.vp-sponsor-grid.xmini .vp-sponsor-grid-image{max-width:64px;max-height:22px}.vp-sponsor-grid.mini .vp-sponsor-grid-link{height:72px}.vp-sponsor-grid.mini .vp-sponsor-grid-image{max-width:96px;max-height:24px}.vp-sponsor-grid.small .vp-sponsor-grid-link{height:96px}.vp-sponsor-grid.small .vp-sponsor-grid-image{max-width:96px;max-height:24px}.vp-sponsor-grid.medium .vp-sponsor-grid-link{height:112px}.vp-sponsor-grid.medium .vp-sponsor-grid-image{max-width:120px;max-height:36px}.vp-sponsor-grid.big .vp-sponsor-grid-link{height:184px}.vp-sponsor-grid.big .vp-sponsor-grid-image{max-width:192px;max-height:56px}.vp-sponsor-grid[data-vp-grid="2"] .vp-sponsor-grid-item{width:calc((100% - 4px)/2)}.vp-sponsor-grid[data-vp-grid="3"] .vp-sponsor-grid-item{width:calc((100% - 4px * 2) / 3)}.vp-sponsor-grid[data-vp-grid="4"] .vp-sponsor-grid-item{width:calc((100% - 12px)/4)}.vp-sponsor-grid[data-vp-grid="5"] .vp-sponsor-grid-item{width:calc((100% - 16px)/5)}.vp-sponsor-grid[data-vp-grid="6"] .vp-sponsor-grid-item{width:calc((100% - 4px * 5) / 6)}.vp-sponsor-grid-item{flex-shrink:0;width:100%;background-color:var(--vp-c-bg-soft);transition:background-color .25s}.vp-sponsor-grid-item:hover{background-color:var(--vp-c-default-soft)}.vp-sponsor-grid-item:hover .vp-sponsor-grid-image{filter:grayscale(0) invert(0)}.vp-sponsor-grid-item.empty:hover{background-color:var(--vp-c-bg-soft)}.dark .vp-sponsor-grid-item:hover{background-color:var(--vp-c-white)}.dark .vp-sponsor-grid-item.empty:hover{background-color:var(--vp-c-bg-soft)}.vp-sponsor-grid-link{display:flex}.vp-sponsor-grid-box{display:flex;justify-content:center;align-items:center;width:100%}.vp-sponsor-grid-image{max-width:100%;filter:grayscale(1);transition:filter .25s}.dark .vp-sponsor-grid-image{filter:grayscale(1) invert(1)}.VPBadge{display:inline-block;margin-left:2px;border:1px solid transparent;border-radius:12px;padding:0 10px;line-height:22px;font-size:12px;font-weight:500;transform:translateY(-2px)}.VPBadge.small{padding:0 6px;line-height:18px;font-size:10px;transform:translateY(-8px)}.VPDocFooter .VPBadge{display:none}.vp-doc h1>.VPBadge{margin-top:4px;vertical-align:top}.vp-doc h2>.VPBadge{margin-top:3px;padding:0 8px;vertical-align:top}.vp-doc h3>.VPBadge{vertical-align:middle}.vp-doc h4>.VPBadge,.vp-doc h5>.VPBadge,.vp-doc h6>.VPBadge{vertical-align:middle;line-height:18px}.VPBadge.info{border-color:var(--vp-badge-info-border);color:var(--vp-badge-info-text);background-color:var(--vp-badge-info-bg)}.VPBadge.tip{border-color:var(--vp-badge-tip-border);color:var(--vp-badge-tip-text);background-color:var(--vp-badge-tip-bg)}.VPBadge.warning{border-color:var(--vp-badge-warning-border);color:var(--vp-badge-warning-text);background-color:var(--vp-badge-warning-bg)}.VPBadge.danger{border-color:var(--vp-badge-danger-border);color:var(--vp-badge-danger-text);background-color:var(--vp-badge-danger-bg)}.VPBackdrop[data-v-b2600058]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--vp-z-index-backdrop);background:var(--vp-backdrop-bg-color);transition:opacity .5s}.VPBackdrop.fade-enter-from[data-v-b2600058],.VPBackdrop.fade-leave-to[data-v-b2600058]{opacity:0}.VPBackdrop.fade-leave-active[data-v-b2600058]{transition-duration:.25s}@media (min-width: 1280px){.VPBackdrop[data-v-b2600058]{display:none}}.NotFound[data-v-93fd8736]{padding:64px 24px 96px;text-align:center}@media (min-width: 768px){.NotFound[data-v-93fd8736]{padding:96px 32px 168px}}.code[data-v-93fd8736]{line-height:64px;font-size:64px;font-weight:600}.title[data-v-93fd8736]{padding-top:12px;letter-spacing:2px;line-height:20px;font-size:20px;font-weight:700}.divider[data-v-93fd8736]{margin:24px auto 18px;width:64px;height:1px;background-color:var(--vp-c-divider)}.quote[data-v-93fd8736]{margin:0 auto;max-width:256px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}.action[data-v-93fd8736]{padding-top:20px}.link[data-v-93fd8736]{display:inline-block;border:1px solid var(--vp-c-brand-1);border-radius:16px;padding:3px 16px;font-size:14px;font-weight:500;color:var(--vp-c-brand-1);transition:border-color .25s,color .25s}.link[data-v-93fd8736]:hover{border-color:var(--vp-c-brand-2);color:var(--vp-c-brand-2)}.root[data-v-da421f78]{position:relative;z-index:1}.nested[data-v-da421f78]{padding-right:16px;padding-left:16px}.outline-link[data-v-da421f78]{display:block;line-height:32px;font-size:14px;font-weight:400;color:var(--vp-c-text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .5s}.outline-link[data-v-da421f78]:hover,.outline-link.active[data-v-da421f78]{color:var(--vp-c-text-1);transition:color .25s}.outline-link.nested[data-v-da421f78]{padding-left:13px}.VPDocAsideOutline[data-v-dfbd9fb8]{display:none}.VPDocAsideOutline.has-outline[data-v-dfbd9fb8]{display:block}.content[data-v-dfbd9fb8]{position:relative;border-left:1px solid var(--vp-c-divider);padding-left:16px;font-size:13px;font-weight:500}.outline-marker[data-v-dfbd9fb8]{position:absolute;top:32px;left:-1px;z-index:0;opacity:0;width:2px;border-radius:2px;height:18px;background-color:var(--vp-c-brand-1);transition:top .25s cubic-bezier(0,1,.5,1),background-color .5s,opacity .25s}.outline-title[data-v-dfbd9fb8]{line-height:32px;font-size:14px;font-weight:600}.VPDocAside[data-v-79cae1a0]{display:flex;flex-direction:column;flex-grow:1}.spacer[data-v-79cae1a0]{flex-grow:1}.VPDocAside[data-v-79cae1a0] .spacer+.VPDocAsideSponsors,.VPDocAside[data-v-79cae1a0] .spacer+.VPDocAsideCarbonAds{margin-top:24px}.VPDocAside[data-v-79cae1a0] .VPDocAsideSponsors+.VPDocAsideCarbonAds{margin-top:16px}.VPLastUpdated[data-v-5be60f87]{line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}@media (min-width: 640px){.VPLastUpdated[data-v-5be60f87]{line-height:32px;font-size:14px;font-weight:500}}.VPDocFooter[data-v-0ce50de1]{margin-top:64px}.edit-info[data-v-0ce50de1]{padding-bottom:18px}@media (min-width: 640px){.edit-info[data-v-0ce50de1]{display:flex;justify-content:space-between;align-items:center;padding-bottom:14px}}.edit-link-button[data-v-0ce50de1]{display:flex;align-items:center;border:0;line-height:32px;font-size:14px;font-weight:500;color:var(--vp-c-brand-1);transition:color .25s}.edit-link-button[data-v-0ce50de1]:hover{color:var(--vp-c-brand-2)}.edit-link-icon[data-v-0ce50de1]{margin-right:8px}.prev-next[data-v-0ce50de1]{border-top:1px solid var(--vp-c-divider);padding-top:24px;display:grid;grid-row-gap:8px}@media (min-width: 640px){.prev-next[data-v-0ce50de1]{grid-template-columns:repeat(2,1fr);grid-column-gap:16px}}.pager-link[data-v-0ce50de1]{display:block;border:1px solid var(--vp-c-divider);border-radius:8px;padding:11px 16px 13px;width:100%;height:100%;transition:border-color .25s}.pager-link[data-v-0ce50de1]:hover{border-color:var(--vp-c-brand-1)}.pager-link.next[data-v-0ce50de1]{margin-left:auto;text-align:right}.desc[data-v-0ce50de1]{display:block;line-height:20px;font-size:12px;font-weight:500;color:var(--vp-c-text-2)}.title[data-v-0ce50de1]{display:block;line-height:20px;font-size:14px;font-weight:500;color:var(--vp-c-brand-1);transition:color .25s}.VPDoc[data-v-ef3a4dda]{padding:32px 24px 96px;width:100%}@media (min-width: 768px){.VPDoc[data-v-ef3a4dda]{padding:48px 32px 128px}}@media (min-width: 960px){.VPDoc[data-v-ef3a4dda]{padding:48px 32px 0}.VPDoc:not(.has-sidebar) .container[data-v-ef3a4dda]{display:flex;justify-content:center;max-width:992px}.VPDoc:not(.has-sidebar) .content[data-v-ef3a4dda]{max-width:752px}}@media (min-width: 1280px){.VPDoc .container[data-v-ef3a4dda]{display:flex;justify-content:center}.VPDoc .aside[data-v-ef3a4dda]{display:block}}@media (min-width: 1440px){.VPDoc:not(.has-sidebar) .content[data-v-ef3a4dda]{max-width:784px}.VPDoc:not(.has-sidebar) .container[data-v-ef3a4dda]{max-width:1104px}}.container[data-v-ef3a4dda]{margin:0 auto;width:100%}.aside[data-v-ef3a4dda]{position:relative;display:none;order:2;flex-grow:1;padding-left:32px;width:100%;max-width:256px}.left-aside[data-v-ef3a4dda]{order:1;padding-left:unset;padding-right:32px}.aside-container[data-v-ef3a4dda]{position:fixed;top:0;padding-top:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + var(--vp-doc-top-height, 0px) + 48px);width:224px;height:100vh;overflow-x:hidden;overflow-y:auto;scrollbar-width:none}.aside-container[data-v-ef3a4dda]::-webkit-scrollbar{display:none}.aside-curtain[data-v-ef3a4dda]{position:fixed;bottom:0;z-index:10;width:224px;height:32px;background:linear-gradient(transparent,var(--vp-c-bg) 70%)}.aside-content[data-v-ef3a4dda]{display:flex;flex-direction:column;min-height:calc(100vh - (var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 48px));padding-bottom:32px}.content[data-v-ef3a4dda]{position:relative;margin:0 auto;width:100%}@media (min-width: 960px){.content[data-v-ef3a4dda]{padding:0 32px 128px}}@media (min-width: 1280px){.content[data-v-ef3a4dda]{order:1;margin:0;min-width:640px}}.content-container[data-v-ef3a4dda]{margin:0 auto}.VPDoc.has-aside .content-container[data-v-ef3a4dda]{max-width:688px}.VPButton[data-v-877bb349]{display:inline-block;border:1px solid transparent;text-align:center;font-weight:600;white-space:nowrap;transition:color .25s,border-color .25s,background-color .25s}.VPButton[data-v-877bb349]:active{transition:color .1s,border-color .1s,background-color .1s}.VPButton.medium[data-v-877bb349]{border-radius:20px;padding:0 20px;line-height:38px;font-size:14px}.VPButton.big[data-v-877bb349]{border-radius:24px;padding:0 24px;line-height:46px;font-size:16px}.VPButton.brand[data-v-877bb349]{border-color:var(--vp-button-brand-border);color:var(--vp-button-brand-text);background-color:var(--vp-button-brand-bg)}.VPButton.brand[data-v-877bb349]:hover{border-color:var(--vp-button-brand-hover-border);color:var(--vp-button-brand-hover-text);background-color:var(--vp-button-brand-hover-bg)}.VPButton.brand[data-v-877bb349]:active{border-color:var(--vp-button-brand-active-border);color:var(--vp-button-brand-active-text);background-color:var(--vp-button-brand-active-bg)}.VPButton.alt[data-v-877bb349]{border-color:var(--vp-button-alt-border);color:var(--vp-button-alt-text);background-color:var(--vp-button-alt-bg)}.VPButton.alt[data-v-877bb349]:hover{border-color:var(--vp-button-alt-hover-border);color:var(--vp-button-alt-hover-text);background-color:var(--vp-button-alt-hover-bg)}.VPButton.alt[data-v-877bb349]:active{border-color:var(--vp-button-alt-active-border);color:var(--vp-button-alt-active-text);background-color:var(--vp-button-alt-active-bg)}.VPButton.sponsor[data-v-877bb349]{border-color:var(--vp-button-sponsor-border);color:var(--vp-button-sponsor-text);background-color:var(--vp-button-sponsor-bg)}.VPButton.sponsor[data-v-877bb349]:hover{border-color:var(--vp-button-sponsor-hover-border);color:var(--vp-button-sponsor-hover-text);background-color:var(--vp-button-sponsor-hover-bg)}.VPButton.sponsor[data-v-877bb349]:active{border-color:var(--vp-button-sponsor-active-border);color:var(--vp-button-sponsor-active-text);background-color:var(--vp-button-sponsor-active-bg)}html:not(.dark) .VPImage.dark[data-v-4d414b82]{display:none}.dark .VPImage.light[data-v-4d414b82]{display:none}.VPHero[data-v-e244e0a0]{margin-top:calc((var(--vp-nav-height) + var(--vp-layout-top-height, 0px)) * -1);padding:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 48px) 24px 48px}@media (min-width: 640px){.VPHero[data-v-e244e0a0]{padding:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 80px) 48px 64px}}@media (min-width: 960px){.VPHero[data-v-e244e0a0]{padding:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 80px) 64px 64px}}.container[data-v-e244e0a0]{display:flex;flex-direction:column;margin:0 auto;max-width:1152px}@media (min-width: 960px){.container[data-v-e244e0a0]{flex-direction:row}}.main[data-v-e244e0a0]{position:relative;z-index:10;order:2;flex-grow:1;flex-shrink:0}.VPHero.has-image .container[data-v-e244e0a0]{text-align:center}@media (min-width: 960px){.VPHero.has-image .container[data-v-e244e0a0]{text-align:left}}@media (min-width: 960px){.main[data-v-e244e0a0]{order:1;width:calc((100% / 3) * 2)}.VPHero.has-image .main[data-v-e244e0a0]{max-width:592px}}.name[data-v-e244e0a0],.text[data-v-e244e0a0]{max-width:392px;letter-spacing:-.4px;line-height:40px;font-size:32px;font-weight:700;white-space:pre-wrap}.VPHero.has-image .name[data-v-e244e0a0],.VPHero.has-image .text[data-v-e244e0a0]{margin:0 auto}.name[data-v-e244e0a0]{color:var(--vp-home-hero-name-color)}.clip[data-v-e244e0a0]{background:var(--vp-home-hero-name-background);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:var(--vp-home-hero-name-color)}@media (min-width: 640px){.name[data-v-e244e0a0],.text[data-v-e244e0a0]{max-width:576px;line-height:56px;font-size:48px}}@media (min-width: 960px){.name[data-v-e244e0a0],.text[data-v-e244e0a0]{line-height:64px;font-size:56px}.VPHero.has-image .name[data-v-e244e0a0],.VPHero.has-image .text[data-v-e244e0a0]{margin:0}}.tagline[data-v-e244e0a0]{padding-top:8px;max-width:392px;line-height:28px;font-size:18px;font-weight:500;white-space:pre-wrap;color:var(--vp-c-text-2)}.VPHero.has-image .tagline[data-v-e244e0a0]{margin:0 auto}@media (min-width: 640px){.tagline[data-v-e244e0a0]{padding-top:12px;max-width:576px;line-height:32px;font-size:20px}}@media (min-width: 960px){.tagline[data-v-e244e0a0]{line-height:36px;font-size:24px}.VPHero.has-image .tagline[data-v-e244e0a0]{margin:0}}.actions[data-v-e244e0a0]{display:flex;flex-wrap:wrap;margin:-6px;padding-top:24px}.VPHero.has-image .actions[data-v-e244e0a0]{justify-content:center}@media (min-width: 640px){.actions[data-v-e244e0a0]{padding-top:32px}}@media (min-width: 960px){.VPHero.has-image .actions[data-v-e244e0a0]{justify-content:flex-start}}.action[data-v-e244e0a0]{flex-shrink:0;padding:6px}.image[data-v-e244e0a0]{order:1;margin:-76px -24px -48px}@media (min-width: 640px){.image[data-v-e244e0a0]{margin:-108px -24px -48px}}@media (min-width: 960px){.image[data-v-e244e0a0]{flex-grow:1;order:2;margin:0;min-height:100%}}.image-container[data-v-e244e0a0]{position:relative;margin:0 auto;width:320px;height:320px}@media (min-width: 640px){.image-container[data-v-e244e0a0]{width:392px;height:392px}}@media (min-width: 960px){.image-container[data-v-e244e0a0]{display:flex;justify-content:center;align-items:center;width:100%;height:100%;transform:translate(-32px,-32px)}}.image-bg[data-v-e244e0a0]{position:absolute;top:50%;left:50%;border-radius:50%;width:192px;height:192px;background-image:var(--vp-home-hero-image-background-image);filter:var(--vp-home-hero-image-filter);transform:translate(-50%,-50%)}@media (min-width: 640px){.image-bg[data-v-e244e0a0]{width:256px;height:256px}}@media (min-width: 960px){.image-bg[data-v-e244e0a0]{width:320px;height:320px}}[data-v-e244e0a0] .image-src{position:absolute;top:50%;left:50%;max-width:192px;max-height:192px;transform:translate(-50%,-50%)}@media (min-width: 640px){[data-v-e244e0a0] .image-src{max-width:256px;max-height:256px}}@media (min-width: 960px){[data-v-e244e0a0] .image-src{max-width:320px;max-height:320px}}.VPFeature[data-v-95001937]{display:block;border:1px solid var(--vp-c-bg-soft);border-radius:12px;height:100%;background-color:var(--vp-c-bg-soft);transition:border-color .25s,background-color .25s}.VPFeature.link[data-v-95001937]:hover{border-color:var(--vp-c-brand-1)}.box[data-v-95001937]{display:flex;flex-direction:column;padding:24px;height:100%}.box[data-v-95001937]>.VPImage{margin-bottom:20px}.icon[data-v-95001937]{display:flex;justify-content:center;align-items:center;margin-bottom:20px;border-radius:6px;background-color:var(--vp-c-default-soft);width:48px;height:48px;font-size:24px;transition:background-color .25s}.title[data-v-95001937]{line-height:24px;font-size:16px;font-weight:600}.details[data-v-95001937]{flex-grow:1;padding-top:8px;line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}.link-text[data-v-95001937]{padding-top:8px}.link-text-value[data-v-95001937]{display:flex;align-items:center;font-size:14px;font-weight:500;color:var(--vp-c-brand-1)}.link-text-icon[data-v-95001937]{margin-left:6px}.VPFeatures[data-v-1da4ff3d]{position:relative;padding:0 24px}@media (min-width: 640px){.VPFeatures[data-v-1da4ff3d]{padding:0 48px}}@media (min-width: 960px){.VPFeatures[data-v-1da4ff3d]{padding:0 64px}}.container[data-v-1da4ff3d]{margin:0 auto;max-width:1152px}.items[data-v-1da4ff3d]{display:flex;flex-wrap:wrap;margin:-8px}.item[data-v-1da4ff3d]{padding:8px;width:100%}@media (min-width: 640px){.item.grid-2[data-v-1da4ff3d],.item.grid-4[data-v-1da4ff3d],.item.grid-6[data-v-1da4ff3d]{width:50%}}@media (min-width: 768px){.item.grid-2[data-v-1da4ff3d],.item.grid-4[data-v-1da4ff3d]{width:50%}.item.grid-3[data-v-1da4ff3d],.item.grid-6[data-v-1da4ff3d]{width:calc(100% / 3)}}@media (min-width: 960px){.item.grid-4[data-v-1da4ff3d]{width:25%}}.container[data-v-2498cc33]{margin:auto;width:100%;max-width:1280px;padding:0 24px}@media (min-width: 640px){.container[data-v-2498cc33]{padding:0 48px}}@media (min-width: 960px){.container[data-v-2498cc33]{width:100%;padding:0 64px}}.vp-doc[data-v-2498cc33] .VPHomeSponsors,.vp-doc[data-v-2498cc33] .VPTeamPage{margin-left:var(--vp-offset, calc(50% - 50vw) );margin-right:var(--vp-offset, calc(50% - 50vw) )}.vp-doc[data-v-2498cc33] .VPHomeSponsors h2{border-top:none;letter-spacing:normal}.vp-doc[data-v-2498cc33] .VPHomeSponsors a,.vp-doc[data-v-2498cc33] .VPTeamPage a{text-decoration:none}.VPHome[data-v-95a6a92c]{margin-bottom:96px}@media (min-width: 768px){.VPHome[data-v-95a6a92c]{margin-bottom:128px}}.VPContent[data-v-d2aef184]{flex-grow:1;flex-shrink:0;margin:var(--vp-layout-top-height, 0px) auto 0;width:100%}.VPContent.is-home[data-v-d2aef184]{width:100%;max-width:100%}.VPContent.has-sidebar[data-v-d2aef184]{margin:0}@media (min-width: 960px){.VPContent[data-v-d2aef184]{padding-top:var(--vp-nav-height)}.VPContent.has-sidebar[data-v-d2aef184]{margin:var(--vp-layout-top-height, 0px) 0 0;padding-left:var(--vp-sidebar-width)}}@media (min-width: 1440px){.VPContent.has-sidebar[data-v-d2aef184]{padding-right:calc((100vw - var(--vp-layout-max-width)) / 2);padding-left:calc((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width))}}.VPFooter[data-v-e3157d6d]{position:relative;z-index:var(--vp-z-index-footer);border-top:1px solid var(--vp-c-gutter);padding:32px 24px;background-color:var(--vp-c-bg)}.VPFooter.has-sidebar[data-v-e3157d6d]{display:none}.VPFooter[data-v-e3157d6d] a{text-decoration-line:underline;text-underline-offset:2px;transition:color .25s}.VPFooter[data-v-e3157d6d] a:hover{color:var(--vp-c-text-1)}@media (min-width: 768px){.VPFooter[data-v-e3157d6d]{padding:32px}}.container[data-v-e3157d6d]{margin:0 auto;max-width:var(--vp-layout-max-width);text-align:center}.message[data-v-e3157d6d],.copyright[data-v-e3157d6d]{line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}.VPLocalNavOutlineDropdown[data-v-d1de893e]{padding:12px 20px 11px}@media (min-width: 960px){.VPLocalNavOutlineDropdown[data-v-d1de893e]{padding:12px 36px 11px}}.VPLocalNavOutlineDropdown button[data-v-d1de893e]{display:block;font-size:12px;font-weight:500;line-height:24px;color:var(--vp-c-text-2);transition:color .5s;position:relative}.VPLocalNavOutlineDropdown button[data-v-d1de893e]:hover{color:var(--vp-c-text-1);transition:color .25s}.VPLocalNavOutlineDropdown button.open[data-v-d1de893e]{color:var(--vp-c-text-1)}.icon[data-v-d1de893e]{display:inline-block;vertical-align:middle;margin-left:2px;font-size:14px;transform:rotate(0);transition:transform .25s}@media (min-width: 960px){.VPLocalNavOutlineDropdown button[data-v-d1de893e]{font-size:14px}.icon[data-v-d1de893e]{font-size:16px}}.open>.icon[data-v-d1de893e]{transform:rotate(90deg)}.items[data-v-d1de893e]{position:absolute;top:40px;right:16px;left:16px;display:grid;gap:1px;border:1px solid var(--vp-c-border);border-radius:8px;background-color:var(--vp-c-gutter);max-height:calc(var(--vp-vh, 100vh) - 86px);overflow:hidden auto;box-shadow:var(--vp-shadow-3)}@media (min-width: 960px){.items[data-v-d1de893e]{right:auto;left:calc(var(--vp-sidebar-width) + 32px);width:320px}}.header[data-v-d1de893e]{background-color:var(--vp-c-bg-soft)}.top-link[data-v-d1de893e]{display:block;padding:0 16px;line-height:48px;font-size:14px;font-weight:500;color:var(--vp-c-brand-1)}.outline[data-v-d1de893e]{padding:8px 0;background-color:var(--vp-c-bg-soft)}.flyout-enter-active[data-v-d1de893e]{transition:all .2s ease-out}.flyout-leave-active[data-v-d1de893e]{transition:all .15s ease-in}.flyout-enter-from[data-v-d1de893e],.flyout-leave-to[data-v-d1de893e]{opacity:0;transform:translateY(-16px)}.VPLocalNav[data-v-9d8129cc]{position:sticky;top:0;left:0;z-index:var(--vp-z-index-local-nav);border-bottom:1px solid var(--vp-c-gutter);padding-top:var(--vp-layout-top-height, 0px);width:100%;background-color:var(--vp-local-nav-bg-color)}.VPLocalNav.fixed[data-v-9d8129cc]{position:fixed}@media (min-width: 960px){.VPLocalNav[data-v-9d8129cc]{top:var(--vp-nav-height)}.VPLocalNav.has-sidebar[data-v-9d8129cc]{padding-left:var(--vp-sidebar-width)}.VPLocalNav.empty[data-v-9d8129cc]{display:none}}@media (min-width: 1280px){.VPLocalNav[data-v-9d8129cc]{display:none}}@media (min-width: 1440px){.VPLocalNav.has-sidebar[data-v-9d8129cc]{padding-left:calc((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width))}}.container[data-v-9d8129cc]{display:flex;justify-content:space-between;align-items:center}.menu[data-v-9d8129cc]{display:flex;align-items:center;padding:12px 24px 11px;line-height:24px;font-size:12px;font-weight:500;color:var(--vp-c-text-2);transition:color .5s}.menu[data-v-9d8129cc]:hover{color:var(--vp-c-text-1);transition:color .25s}@media (min-width: 768px){.menu[data-v-9d8129cc]{padding:0 32px}}@media (min-width: 960px){.menu[data-v-9d8129cc]{display:none}}.menu-icon[data-v-9d8129cc]{margin-right:8px;font-size:14px}.VPOutlineDropdown[data-v-9d8129cc]{padding:12px 24px 11px}@media (min-width: 768px){.VPOutlineDropdown[data-v-9d8129cc]{padding:12px 32px 11px}}.VPSwitch[data-v-7012e5dd]{position:relative;border-radius:11px;display:block;width:40px;height:22px;flex-shrink:0;border:1px solid var(--vp-input-border-color);background-color:var(--vp-input-switch-bg-color);transition:border-color .25s!important}.VPSwitch[data-v-7012e5dd]:hover{border-color:var(--vp-c-brand-1)}.check[data-v-7012e5dd]{position:absolute;top:1px;left:1px;width:18px;height:18px;border-radius:50%;background-color:var(--vp-c-neutral-inverse);box-shadow:var(--vp-shadow-1);transition:transform .25s!important}.icon[data-v-7012e5dd]{position:relative;display:block;width:18px;height:18px;border-radius:50%;overflow:hidden}.icon[data-v-7012e5dd] [class^=vpi-]{position:absolute;top:3px;left:3px;width:12px;height:12px;color:var(--vp-c-text-2)}.dark .icon[data-v-7012e5dd] [class^=vpi-]{color:var(--vp-c-text-1);transition:opacity .25s!important}.sun[data-v-bfa23729]{opacity:1}.moon[data-v-bfa23729],.dark .sun[data-v-bfa23729]{opacity:0}.dark .moon[data-v-bfa23729]{opacity:1}.dark .VPSwitchAppearance[data-v-bfa23729] .check{transform:translate(18px)}.VPNavBarAppearance[data-v-f774fc1d]{display:none}@media (min-width: 1280px){.VPNavBarAppearance[data-v-f774fc1d]{display:flex;align-items:center}}.VPMenuGroup+.VPMenuLink[data-v-71c5411b]{margin:12px -12px 0;border-top:1px solid var(--vp-c-divider);padding:12px 12px 0}.link[data-v-71c5411b]{display:block;border-radius:6px;padding:0 12px;line-height:32px;font-size:14px;font-weight:500;color:var(--vp-c-text-1);white-space:nowrap;transition:background-color .25s,color .25s}.link[data-v-71c5411b]:hover{color:var(--vp-c-brand-1);background-color:var(--vp-c-default-soft)}.link.active[data-v-71c5411b]{color:var(--vp-c-brand-1)}.VPMenuGroup[data-v-2bec9359]{margin:12px -12px 0;border-top:1px solid var(--vp-c-divider);padding:12px 12px 0}.VPMenuGroup[data-v-2bec9359]:first-child{margin-top:0;border-top:0;padding-top:0}.VPMenuGroup+.VPMenuGroup[data-v-2bec9359]{margin-top:12px;border-top:1px solid var(--vp-c-divider)}.title[data-v-2bec9359]{padding:0 12px;line-height:32px;font-size:14px;font-weight:600;color:var(--vp-c-text-2);white-space:nowrap;transition:color .25s}.VPMenu[data-v-7bffa9cd]{border-radius:12px;padding:12px;min-width:128px;border:1px solid var(--vp-c-divider);background-color:var(--vp-c-bg-elv);box-shadow:var(--vp-shadow-3);transition:background-color .5s;max-height:calc(100vh - var(--vp-nav-height));overflow-y:auto}.VPMenu[data-v-7bffa9cd] .group{margin:0 -12px;padding:0 12px 12px}.VPMenu[data-v-7bffa9cd] .group+.group{border-top:1px solid var(--vp-c-divider);padding:11px 12px 12px}.VPMenu[data-v-7bffa9cd] .group:last-child{padding-bottom:0}.VPMenu[data-v-7bffa9cd] .group+.item{border-top:1px solid var(--vp-c-divider);padding:11px 16px 0}.VPMenu[data-v-7bffa9cd] .item{padding:0 16px;white-space:nowrap}.VPMenu[data-v-7bffa9cd] .label{flex-grow:1;line-height:28px;font-size:12px;font-weight:500;color:var(--vp-c-text-2);transition:color .5s}.VPMenu[data-v-7bffa9cd] .action{padding-left:24px}.VPFlyout[data-v-8fd20e7d]{position:relative}.VPFlyout[data-v-8fd20e7d]:hover{color:var(--vp-c-brand-1);transition:color .25s}.VPFlyout:hover .text[data-v-8fd20e7d]{color:var(--vp-c-text-2)}.VPFlyout:hover .icon[data-v-8fd20e7d]{fill:var(--vp-c-text-2)}.VPFlyout.active .text[data-v-8fd20e7d]{color:var(--vp-c-brand-1)}.VPFlyout.active:hover .text[data-v-8fd20e7d]{color:var(--vp-c-brand-2)}.VPFlyout:hover .menu[data-v-8fd20e7d],.button[aria-expanded=true]+.menu[data-v-8fd20e7d]{opacity:1;visibility:visible;transform:translateY(0)}.button[aria-expanded=false]+.menu[data-v-8fd20e7d]{opacity:0;visibility:hidden;transform:translateY(0)}.button[data-v-8fd20e7d]{display:flex;align-items:center;padding:0 12px;height:var(--vp-nav-height);color:var(--vp-c-text-1);transition:color .5s}.text[data-v-8fd20e7d]{display:flex;align-items:center;line-height:var(--vp-nav-height);font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:color .25s}.option-icon[data-v-8fd20e7d]{margin-right:0;font-size:16px}.text-icon[data-v-8fd20e7d]{margin-left:4px;font-size:14px}.icon[data-v-8fd20e7d]{font-size:20px;transition:fill .25s}.menu[data-v-8fd20e7d]{position:absolute;top:calc(var(--vp-nav-height) / 2 + 20px);right:0;opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s,transform .25s}.VPSocialLink[data-v-50151957]{display:flex;justify-content:center;align-items:center;width:36px;height:36px;color:var(--vp-c-text-2);transition:color .5s}.VPSocialLink[data-v-50151957]:hover{color:var(--vp-c-text-1);transition:color .25s}.VPSocialLink[data-v-50151957]>svg,.VPSocialLink[data-v-50151957]>[class^=vpi-social-]{width:20px;height:20px;fill:currentColor}.VPSocialLinks[data-v-f2234a39]{display:flex;justify-content:center}.VPNavBarExtra[data-v-ca99dad5]{display:none;margin-right:-12px}@media (min-width: 768px){.VPNavBarExtra[data-v-ca99dad5]{display:block}}@media (min-width: 1280px){.VPNavBarExtra[data-v-ca99dad5]{display:none}}.trans-title[data-v-ca99dad5]{padding:0 24px 0 12px;line-height:32px;font-size:14px;font-weight:700;color:var(--vp-c-text-1)}.item.appearance[data-v-ca99dad5],.item.social-links[data-v-ca99dad5]{display:flex;align-items:center;padding:0 12px}.item.appearance[data-v-ca99dad5]{min-width:176px}.appearance-action[data-v-ca99dad5]{margin-right:-2px}.social-links-list[data-v-ca99dad5]{margin:-4px -8px}.VPNavBarHamburger[data-v-670493dd]{display:flex;justify-content:center;align-items:center;width:48px;height:var(--vp-nav-height)}@media (min-width: 768px){.VPNavBarHamburger[data-v-670493dd]{display:none}}.container[data-v-670493dd]{position:relative;width:16px;height:14px;overflow:hidden}.VPNavBarHamburger:hover .top[data-v-670493dd]{top:0;left:0;transform:translate(4px)}.VPNavBarHamburger:hover .middle[data-v-670493dd]{top:6px;left:0;transform:translate(0)}.VPNavBarHamburger:hover .bottom[data-v-670493dd]{top:12px;left:0;transform:translate(8px)}.VPNavBarHamburger.active .top[data-v-670493dd]{top:6px;transform:translate(0) rotate(225deg)}.VPNavBarHamburger.active .middle[data-v-670493dd]{top:6px;transform:translate(16px)}.VPNavBarHamburger.active .bottom[data-v-670493dd]{top:6px;transform:translate(0) rotate(135deg)}.VPNavBarHamburger.active:hover .top[data-v-670493dd],.VPNavBarHamburger.active:hover .middle[data-v-670493dd],.VPNavBarHamburger.active:hover .bottom[data-v-670493dd]{background-color:var(--vp-c-text-2);transition:top .25s,background-color .25s,transform .25s}.top[data-v-670493dd],.middle[data-v-670493dd],.bottom[data-v-670493dd]{position:absolute;width:16px;height:2px;background-color:var(--vp-c-text-1);transition:top .25s,background-color .5s,transform .25s}.top[data-v-670493dd]{top:0;left:0;transform:translate(0)}.middle[data-v-670493dd]{top:6px;left:0;transform:translate(8px)}.bottom[data-v-670493dd]{top:12px;left:0;transform:translate(4px)}.VPNavBarMenuLink[data-v-2b93b872]{display:flex;align-items:center;padding:0 12px;line-height:var(--vp-nav-height);font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:color .25s}.VPNavBarMenuLink.active[data-v-2b93b872],.VPNavBarMenuLink[data-v-2b93b872]:hover{color:var(--vp-c-brand-1)}.VPNavBarMenu[data-v-c6c3e6d4]{display:none}@media (min-width: 768px){.VPNavBarMenu[data-v-c6c3e6d4]{display:flex}}.VPPluginSearch-flex-logo{width:80px;margin-left:calc(100% - 90px);padding-bottom:10px}.VPPluginSearch-search-list{padding:1rem;max-height:calc(100vh - 230px);overflow-x:auto}.VPPluginSearch-search-item-icon{font-family:none;align-self:center;padding:0 1rem 0 0;font-size:x-large}.VPPluginSearch-search-list>div{color:var(--vp-c-brand-dark);font-weight:700}.VPPluginSearch-search-item{padding:.25rem 1rem;margin:8px 0 0;border:solid 1px;border-radius:6px;display:flex;border-color:var(--vp-custom-block-details-border);color:var(--vp-custom-block-details-text);background-color:var(--vp-custom-block-details-bg)}.VPPluginSearch-search-item p{margin:0;font-size:smaller;color:var(--c-text-light-3)}a.link-focused .VPPluginSearch-search-item,.VPPluginSearch-search-item:hover{color:#fff;background:var(--vp-local-search-highlight-bg)}a.link-focused .VPPluginSearch-search-item,.VPPluginSearch-search-item:hover>p{color:#fff}.VPNavBarSearch{display:flex;align-items:center;padding-left:16px}.DocSearch-MagnifierLabel{margin:16px;color:var(--c-brand-light);stroke-width:2px}.DocSearch-Input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#58565636;border:solid 1px var(--c-brand-light);color:var(--docsearch-text-color);flex:1;font:inherit;font-size:1.2em;height:100%;outline:none;width:80%;margin:8px;padding:8px;border-radius:6px}.dark .DocSearch-Input{color:var(--vp-c-text-1)}.VPPluginSearch-modal-back{left:0;right:0;top:0;bottom:0;background:#545454b3;position:fixed;z-index:65}.dark .VPPluginSearch-modal{background-color:#242424}.VPPluginSearch-modal{background-color:#f9f9f9;border-radius:6px;box-shadow:none;flex-direction:column;margin:80px auto auto;max-width:560px;position:relative}.DocSearch-Button-Keys{display:flex;min-width:calc(40px + .8em)}@media (max-width: 768px){.VPPluginSearch-modal{max-width:100%;border-radius:0}}.dark .DocSearch-Form{background-color:var(--vt-c-bg-mute)}.DocSearch-Form{background-color:#fff;border:1px solid var(--vt-c-brand);padding:6px}.DocSearch-Form{align-items:center;background:var(--docsearch-searchbox-focus-background);border-radius:4px;box-shadow:var(--docsearch-searchbox-shadow);display:flex;height:var(--docsearch-searchbox-height);margin:0;padding:0 var(--docsearch-spacing);position:relative;width:100%}.DocSearch-Container,.DocSearch-Container *{box-sizing:border-box}.DocSearch-Button-Key{align-items:center;background:var(--c-brand-light);border-radius:3px;box-shadow:var(--c-brand);color:var(--docsearch-muted-color);display:flex;height:18px;justify-content:center;margin-right:.4em;padding-bottom:2px;position:relative;top:-1px;width:20px}body.dark .DocSearch-Button:hover{box-shadow:none}.DocSearch{--docsearch-primary-color: var(--vt-c-brand);--docsearch-highlight-color: var(--docsearch-primary-color);--docsearch-text-color: var(--vt-c-text-1);--docsearch-muted-color: #ebebeb99;--docsearch-searchbox-shadow: none;--docsearch-searchbox-focus-background: transparent;--docsearch-key-gradient: transparent;--docsearch-key-shadow: none;--docsearch-modal-background: var(--vt-c-bg-soft);--docsearch-footer-background: var(--vt-c-bg)}.dark .DocSearch{--docsearch-modal-shadow: none;--docsearch-footer-shadow: none;--docsearch-logo-color: #ebebeb99;--docsearch-hit-background: #2f2f2f;--docsearch-hit-color: #ebebeb99;--docsearch-hit-shadow: none}.dark .DocSearch-Footer{border-top:1px solid var(--vt-c-divider)}.DocSearch-Form{background-color:#fff;border:1px solid var(--vt-c-brand)}.DocSearch-Button-Container{align-items:center;display:flex}.DocSearch-Button{display:flex;justify-content:center;align-items:center;margin:0;width:48px;height:55px;background:transparent;border:none}.DocSearch-Button:hover{background:transparent}.DocSearch-Button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}.DocSearch-Button:focus:not(:focus-visible){outline:none!important}@media (min-width: 768px){.DocSearch-Button{justify-content:flex-start;width:100%}}.DocSearch-MagnifierLabel{color:var(--vp-c-brand-dark)}.DocSearch-Button .DocSearch-Search-Icon{transition:color .5s;fill:currentColor;width:18px;height:18px;position:relative}@media (min-width: 768px){.DocSearch-Button .DocSearch-Search-Icon{top:1px;margin-right:10px;width:15px;height:15px}}.DocSearch-Button:hover .DocSearch-Search-Icon{color:var(--vt-c-text-1)}.DocSearch-Button-Placeholder{transition:color .5s;font-size:13px;font-weight:500;color:#6669;display:none;padding:0 10px 0 0}@media (min-width: 960px){.DocSearch-Button-Placeholder{display:inline-block}}.DocSearch-Button:hover .DocSearch-Button-Placeholder{color:var(--vt-c-text-1)}.DocSearch-Button .DocSearch-Button-Key{margin-top:2px;border:1px solid var(--vt-c-divider);border-right:none;border-radius:4px 0 0 4px;display:none;padding-left:6px;height:22px;line-height:22px;transition:color .5s,border-color .5s;min-width:0}.DocSearch-Button .DocSearch-Button-Key+.DocSearch-Button-Key{border-right:1px solid var(--vt-c-divider);border-left:none;border-radius:0 4px 4px 0;padding-left:2px;padding-right:6px}.DocSearch-Button:hover .DocSearch-Button-Key{color:var(--vt-c-brand-light)}@media (min-width: 768px){.DocSearch-Button .DocSearch-Button-Key{display:inline-block}}.DocSearch-Button-Key{font-size:12px;font-weight:500;height:20px;margin:0;width:auto;color:var(--vt-c-text-3);transition:color .5s;display:inline-block;padding:0 1px}.VPPluginSearch-search-group{color:var(--vp-c-brand-1)}.VPNavBarSocialLinks[data-v-08b35e6f]{display:none}@media (min-width: 1280px){.VPNavBarSocialLinks[data-v-08b35e6f]{display:flex;align-items:center}}.title[data-v-dbe614b8]{display:flex;align-items:center;border-bottom:1px solid transparent;width:100%;height:var(--vp-nav-height);font-size:16px;font-weight:600;color:var(--vp-c-text-1);transition:opacity .25s}@media (min-width: 960px){.title[data-v-dbe614b8]{flex-shrink:0}.VPNavBarTitle.has-sidebar .title[data-v-dbe614b8]{border-bottom-color:var(--vp-c-divider)}}[data-v-dbe614b8] .logo{margin-right:8px;height:var(--vp-nav-logo-height)}.VPNavBarTranslations[data-v-dac637f3]{display:none}@media (min-width: 1280px){.VPNavBarTranslations[data-v-dac637f3]{display:flex;align-items:center}}.title[data-v-dac637f3]{padding:0 24px 0 12px;line-height:32px;font-size:14px;font-weight:700;color:var(--vp-c-text-1)}.VPNavBar[data-v-48384a78]{position:relative;height:var(--vp-nav-height);pointer-events:none;white-space:nowrap;transition:background-color .5s}.VPNavBar[data-v-48384a78]:not(.home){background-color:var(--vp-nav-bg-color)}@media (min-width: 960px){.VPNavBar[data-v-48384a78]:not(.home){background-color:transparent}.VPNavBar[data-v-48384a78]:not(.has-sidebar):not(.home.top){background-color:var(--vp-nav-bg-color)}}.wrapper[data-v-48384a78]{padding:0 8px 0 24px}@media (min-width: 768px){.wrapper[data-v-48384a78]{padding:0 32px}}@media (min-width: 960px){.VPNavBar.has-sidebar .wrapper[data-v-48384a78]{padding:0}}.container[data-v-48384a78]{display:flex;justify-content:space-between;margin:0 auto;max-width:calc(var(--vp-layout-max-width) - 64px);height:var(--vp-nav-height);pointer-events:none}.container>.title[data-v-48384a78],.container>.content[data-v-48384a78]{pointer-events:none}.container[data-v-48384a78] *{pointer-events:auto}@media (min-width: 960px){.VPNavBar.has-sidebar .container[data-v-48384a78]{max-width:100%}}.title[data-v-48384a78]{flex-shrink:0;height:calc(var(--vp-nav-height) - 1px);transition:background-color .5s}@media (min-width: 960px){.VPNavBar.has-sidebar .title[data-v-48384a78]{position:absolute;top:0;left:0;z-index:2;padding:0 32px;width:var(--vp-sidebar-width);height:var(--vp-nav-height);background-color:transparent}}@media (min-width: 1440px){.VPNavBar.has-sidebar .title[data-v-48384a78]{padding-left:max(32px,calc((100% - (var(--vp-layout-max-width) - 64px)) / 2));width:calc((100% - (var(--vp-layout-max-width) - 64px)) / 2 + var(--vp-sidebar-width) - 32px)}}.content[data-v-48384a78]{flex-grow:1}@media (min-width: 960px){.VPNavBar.has-sidebar .content[data-v-48384a78]{position:relative;z-index:1;padding-right:32px;padding-left:var(--vp-sidebar-width)}}@media (min-width: 1440px){.VPNavBar.has-sidebar .content[data-v-48384a78]{padding-right:calc((100vw - var(--vp-layout-max-width)) / 2 + 32px);padding-left:calc((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width))}}.content-body[data-v-48384a78]{display:flex;justify-content:flex-end;align-items:center;height:var(--vp-nav-height);transition:background-color .5s}@media (min-width: 960px){.VPNavBar:not(.home.top) .content-body[data-v-48384a78]{position:relative;background-color:var(--vp-nav-bg-color)}.VPNavBar:not(.has-sidebar):not(.home.top) .content-body[data-v-48384a78]{background-color:transparent}}@media (max-width: 767px){.content-body[data-v-48384a78]{column-gap:.5rem}}.menu+.translations[data-v-48384a78]:before,.menu+.appearance[data-v-48384a78]:before,.menu+.social-links[data-v-48384a78]:before,.translations+.appearance[data-v-48384a78]:before,.appearance+.social-links[data-v-48384a78]:before{margin-right:8px;margin-left:8px;width:1px;height:24px;background-color:var(--vp-c-divider);content:""}.menu+.appearance[data-v-48384a78]:before,.translations+.appearance[data-v-48384a78]:before{margin-right:16px}.appearance+.social-links[data-v-48384a78]:before{margin-left:16px}.social-links[data-v-48384a78]{margin-right:-8px}.divider[data-v-48384a78]{width:100%;height:1px}@media (min-width: 960px){.VPNavBar.has-sidebar .divider[data-v-48384a78]{padding-left:var(--vp-sidebar-width)}}@media (min-width: 1440px){.VPNavBar.has-sidebar .divider[data-v-48384a78]{padding-left:calc((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width))}}.divider-line[data-v-48384a78]{width:100%;height:1px;transition:background-color .5s}.VPNavBar:not(.home) .divider-line[data-v-48384a78]{background-color:var(--vp-c-gutter)}@media (min-width: 960px){.VPNavBar:not(.home.top) .divider-line[data-v-48384a78]{background-color:var(--vp-c-gutter)}.VPNavBar:not(.has-sidebar):not(.home.top) .divider[data-v-48384a78]{background-color:var(--vp-c-gutter)}}.VPNavScreenAppearance[data-v-2836e9a8]{display:flex;justify-content:space-between;align-items:center;border-radius:8px;padding:12px 14px 12px 16px;background-color:var(--vp-c-bg-soft)}.text[data-v-2836e9a8]{line-height:24px;font-size:12px;font-weight:500;color:var(--vp-c-text-2)}.VPNavScreenMenuLink[data-v-077287e8]{display:block;border-bottom:1px solid var(--vp-c-divider);padding:12px 0 11px;line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:border-color .25s,color .25s}.VPNavScreenMenuLink[data-v-077287e8]:hover{color:var(--vp-c-brand-1)}.VPNavScreenMenuGroupLink[data-v-ed7bb82d]{display:block;margin-left:12px;line-height:32px;font-size:14px;font-weight:400;color:var(--vp-c-text-1);transition:color .25s}.VPNavScreenMenuGroupLink[data-v-ed7bb82d]:hover{color:var(--vp-c-brand-1)}.VPNavScreenMenuGroupSection[data-v-836cddb8]{display:block}.title[data-v-836cddb8]{line-height:32px;font-size:13px;font-weight:700;color:var(--vp-c-text-2);transition:color .25s}.VPNavScreenMenuGroup[data-v-43fd4ddf]{border-bottom:1px solid var(--vp-c-divider);height:48px;overflow:hidden;transition:border-color .5s}.VPNavScreenMenuGroup .items[data-v-43fd4ddf]{visibility:hidden}.VPNavScreenMenuGroup.open .items[data-v-43fd4ddf]{visibility:visible}.VPNavScreenMenuGroup.open[data-v-43fd4ddf]{padding-bottom:10px;height:auto}.VPNavScreenMenuGroup.open .button[data-v-43fd4ddf]{padding-bottom:6px;color:var(--vp-c-brand-1)}.VPNavScreenMenuGroup.open .button-icon[data-v-43fd4ddf]{transform:rotate(45deg)}.button[data-v-43fd4ddf]{display:flex;justify-content:space-between;align-items:center;padding:12px 4px 11px 0;width:100%;line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:color .25s}.button[data-v-43fd4ddf]:hover{color:var(--vp-c-brand-1)}.button-icon[data-v-43fd4ddf]{transition:transform .25s}.group[data-v-43fd4ddf]:first-child{padding-top:0}.group+.group[data-v-43fd4ddf],.group+.item[data-v-43fd4ddf]{padding-top:4px}.VPNavScreenTranslations[data-v-0d43316b]{height:24px;overflow:hidden}.VPNavScreenTranslations.open[data-v-0d43316b]{height:auto}.title[data-v-0d43316b]{display:flex;align-items:center;font-size:14px;font-weight:500;color:var(--vp-c-text-1)}.icon[data-v-0d43316b]{font-size:16px}.icon.lang[data-v-0d43316b]{margin-right:8px}.icon.chevron[data-v-0d43316b]{margin-left:4px}.list[data-v-0d43316b]{padding:4px 0 0 24px}.link[data-v-0d43316b]{line-height:32px;font-size:13px;color:var(--vp-c-text-1)}.VPNavScreen[data-v-5f4e75ae]{position:fixed;top:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 1px);right:0;bottom:0;left:0;padding:0 32px;width:100%;background-color:var(--vp-nav-screen-bg-color);overflow-y:auto;transition:background-color .5s;pointer-events:auto}.VPNavScreen.fade-enter-active[data-v-5f4e75ae],.VPNavScreen.fade-leave-active[data-v-5f4e75ae]{transition:opacity .25s}.VPNavScreen.fade-enter-active .container[data-v-5f4e75ae],.VPNavScreen.fade-leave-active .container[data-v-5f4e75ae]{transition:transform .25s ease}.VPNavScreen.fade-enter-from[data-v-5f4e75ae],.VPNavScreen.fade-leave-to[data-v-5f4e75ae]{opacity:0}.VPNavScreen.fade-enter-from .container[data-v-5f4e75ae],.VPNavScreen.fade-leave-to .container[data-v-5f4e75ae]{transform:translateY(-8px)}@media (min-width: 768px){.VPNavScreen[data-v-5f4e75ae]{display:none}}.container[data-v-5f4e75ae]{margin:0 auto;padding:24px 0 96px;max-width:288px}.menu+.translations[data-v-5f4e75ae],.menu+.appearance[data-v-5f4e75ae],.translations+.appearance[data-v-5f4e75ae]{margin-top:24px}.menu+.social-links[data-v-5f4e75ae]{margin-top:16px}.appearance+.social-links[data-v-5f4e75ae]{margin-top:16px}.VPNav[data-v-a46e73f0]{position:relative;top:var(--vp-layout-top-height, 0px);left:0;z-index:var(--vp-z-index-nav);width:100%;pointer-events:none;transition:background-color .5s}@media (min-width: 960px){.VPNav[data-v-a46e73f0]{position:fixed}}.VPSidebarItem.level-0[data-v-f2cc49b6]{padding-bottom:24px}.VPSidebarItem.collapsed.level-0[data-v-f2cc49b6]{padding-bottom:10px}.item[data-v-f2cc49b6]{position:relative;display:flex;width:100%}.VPSidebarItem.collapsible>.item[data-v-f2cc49b6]{cursor:pointer}.indicator[data-v-f2cc49b6]{position:absolute;top:6px;bottom:6px;left:-17px;width:2px;border-radius:2px;transition:background-color .25s}.VPSidebarItem.level-2.is-active>.item>.indicator[data-v-f2cc49b6],.VPSidebarItem.level-3.is-active>.item>.indicator[data-v-f2cc49b6],.VPSidebarItem.level-4.is-active>.item>.indicator[data-v-f2cc49b6],.VPSidebarItem.level-5.is-active>.item>.indicator[data-v-f2cc49b6]{background-color:var(--vp-c-brand-1)}.link[data-v-f2cc49b6]{display:flex;align-items:center;flex-grow:1}.text[data-v-f2cc49b6]{flex-grow:1;padding:4px 0;line-height:24px;font-size:14px;transition:color .25s}.VPSidebarItem.level-0 .text[data-v-f2cc49b6]{font-weight:700;color:var(--vp-c-text-1)}.VPSidebarItem.level-1 .text[data-v-f2cc49b6],.VPSidebarItem.level-2 .text[data-v-f2cc49b6],.VPSidebarItem.level-3 .text[data-v-f2cc49b6],.VPSidebarItem.level-4 .text[data-v-f2cc49b6],.VPSidebarItem.level-5 .text[data-v-f2cc49b6]{font-weight:500;color:var(--vp-c-text-2)}.VPSidebarItem.level-0.is-link>.item>.link:hover .text[data-v-f2cc49b6],.VPSidebarItem.level-1.is-link>.item>.link:hover .text[data-v-f2cc49b6],.VPSidebarItem.level-2.is-link>.item>.link:hover .text[data-v-f2cc49b6],.VPSidebarItem.level-3.is-link>.item>.link:hover .text[data-v-f2cc49b6],.VPSidebarItem.level-4.is-link>.item>.link:hover .text[data-v-f2cc49b6],.VPSidebarItem.level-5.is-link>.item>.link:hover .text[data-v-f2cc49b6]{color:var(--vp-c-brand-1)}.VPSidebarItem.level-0.has-active>.item>.text[data-v-f2cc49b6],.VPSidebarItem.level-1.has-active>.item>.text[data-v-f2cc49b6],.VPSidebarItem.level-2.has-active>.item>.text[data-v-f2cc49b6],.VPSidebarItem.level-3.has-active>.item>.text[data-v-f2cc49b6],.VPSidebarItem.level-4.has-active>.item>.text[data-v-f2cc49b6],.VPSidebarItem.level-5.has-active>.item>.text[data-v-f2cc49b6],.VPSidebarItem.level-0.has-active>.item>.link>.text[data-v-f2cc49b6],.VPSidebarItem.level-1.has-active>.item>.link>.text[data-v-f2cc49b6],.VPSidebarItem.level-2.has-active>.item>.link>.text[data-v-f2cc49b6],.VPSidebarItem.level-3.has-active>.item>.link>.text[data-v-f2cc49b6],.VPSidebarItem.level-4.has-active>.item>.link>.text[data-v-f2cc49b6],.VPSidebarItem.level-5.has-active>.item>.link>.text[data-v-f2cc49b6]{color:var(--vp-c-text-1)}.VPSidebarItem.level-0.is-active>.item .link>.text[data-v-f2cc49b6],.VPSidebarItem.level-1.is-active>.item .link>.text[data-v-f2cc49b6],.VPSidebarItem.level-2.is-active>.item .link>.text[data-v-f2cc49b6],.VPSidebarItem.level-3.is-active>.item .link>.text[data-v-f2cc49b6],.VPSidebarItem.level-4.is-active>.item .link>.text[data-v-f2cc49b6],.VPSidebarItem.level-5.is-active>.item .link>.text[data-v-f2cc49b6]{color:var(--vp-c-brand-1)}.caret[data-v-f2cc49b6]{display:flex;justify-content:center;align-items:center;margin-right:-7px;width:32px;height:32px;color:var(--vp-c-text-3);cursor:pointer;transition:color .25s;flex-shrink:0}.item:hover .caret[data-v-f2cc49b6]{color:var(--vp-c-text-2)}.item:hover .caret[data-v-f2cc49b6]:hover{color:var(--vp-c-text-1)}.caret-icon[data-v-f2cc49b6]{font-size:18px;transform:rotate(90deg);transition:transform .25s}.VPSidebarItem.collapsed .caret-icon[data-v-f2cc49b6]{transform:rotate(0)}.VPSidebarItem.level-1 .items[data-v-f2cc49b6],.VPSidebarItem.level-2 .items[data-v-f2cc49b6],.VPSidebarItem.level-3 .items[data-v-f2cc49b6],.VPSidebarItem.level-4 .items[data-v-f2cc49b6],.VPSidebarItem.level-5 .items[data-v-f2cc49b6]{border-left:1px solid var(--vp-c-divider);padding-left:16px}.VPSidebarItem.collapsed .items[data-v-f2cc49b6]{display:none}.VPSidebar[data-v-2667f5e2]{position:fixed;top:var(--vp-layout-top-height, 0px);bottom:0;left:0;z-index:var(--vp-z-index-sidebar);padding:32px 32px 96px;width:calc(100vw - 64px);max-width:320px;background-color:var(--vp-sidebar-bg-color);opacity:0;box-shadow:var(--vp-c-shadow-3);overflow-x:hidden;overflow-y:auto;transform:translate(-100%);transition:opacity .5s,transform .25s ease;overscroll-behavior:contain}.VPSidebar.open[data-v-2667f5e2]{opacity:1;visibility:visible;transform:translate(0);transition:opacity .25s,transform .5s cubic-bezier(.19,1,.22,1)}.dark .VPSidebar[data-v-2667f5e2]{box-shadow:var(--vp-shadow-1)}@media (min-width: 960px){.VPSidebar[data-v-2667f5e2]{padding-top:var(--vp-nav-height);width:var(--vp-sidebar-width);max-width:100%;background-color:var(--vp-sidebar-bg-color);opacity:1;visibility:visible;box-shadow:none;transform:translate(0)}}@media (min-width: 1440px){.VPSidebar[data-v-2667f5e2]{padding-left:max(32px,calc((100% - (var(--vp-layout-max-width) - 64px)) / 2));width:calc((100% - (var(--vp-layout-max-width) - 64px)) / 2 + var(--vp-sidebar-width) - 32px)}}@media (min-width: 960px){.curtain[data-v-2667f5e2]{position:sticky;top:-64px;left:0;z-index:1;margin-top:calc(var(--vp-nav-height) * -1);margin-right:-32px;margin-left:-32px;height:var(--vp-nav-height);background-color:var(--vp-sidebar-bg-color)}}.nav[data-v-2667f5e2]{outline:0}.group+.group[data-v-2667f5e2]{border-top:1px solid var(--vp-c-divider);padding-top:10px}@media (min-width: 960px){.group[data-v-2667f5e2]{padding-top:10px;width:calc(var(--vp-sidebar-width) - 64px)}}.VPSkipLink[data-v-b22defb4]{top:8px;left:8px;padding:8px 16px;z-index:999;border-radius:8px;font-size:12px;font-weight:700;text-decoration:none;color:var(--vp-c-brand-1);box-shadow:var(--vp-shadow-3);background-color:var(--vp-c-bg)}.VPSkipLink[data-v-b22defb4]:focus{height:auto;width:auto;clip:auto;clip-path:none}@media (min-width: 1280px){.VPSkipLink[data-v-b22defb4]{top:14px;left:16px}}.Layout[data-v-c4daae71]{display:flex;flex-direction:column;min-height:100vh}.VPHomeSponsors[data-v-b272d7e5]{border-top:1px solid var(--vp-c-gutter);padding-top:88px!important}.VPHomeSponsors[data-v-b272d7e5]{margin:96px 0}@media (min-width: 768px){.VPHomeSponsors[data-v-b272d7e5]{margin:128px 0}}.VPHomeSponsors[data-v-b272d7e5]{padding:0 24px}@media (min-width: 768px){.VPHomeSponsors[data-v-b272d7e5]{padding:0 48px}}@media (min-width: 960px){.VPHomeSponsors[data-v-b272d7e5]{padding:0 64px}}.container[data-v-b272d7e5]{margin:0 auto;max-width:1152px}.love[data-v-b272d7e5]{margin:0 auto;width:fit-content;font-size:28px;color:var(--vp-c-text-3)}.icon[data-v-b272d7e5]{display:inline-block}.message[data-v-b272d7e5]{margin:0 auto;padding-top:10px;max-width:320px;text-align:center;line-height:24px;font-size:16px;font-weight:500;color:var(--vp-c-text-2)}.sponsors[data-v-b272d7e5]{padding-top:32px}.action[data-v-b272d7e5]{padding-top:40px;text-align:center}.VPTeamPage[data-v-de6c58d7]{margin:96px 0}@media (min-width: 768px){.VPTeamPage[data-v-de6c58d7]{margin:128px 0}}.VPHome .VPTeamPageTitle[data-v-de6c58d7-s]{border-top:1px solid var(--vp-c-gutter);padding-top:88px!important}.VPTeamPageSection+.VPTeamPageSection[data-v-de6c58d7-s],.VPTeamMembers+.VPTeamPageSection[data-v-de6c58d7-s]{margin-top:64px}.VPTeamMembers+.VPTeamMembers[data-v-de6c58d7-s]{margin-top:24px}@media (min-width: 768px){.VPTeamPageTitle+.VPTeamPageSection[data-v-de6c58d7-s]{margin-top:16px}.VPTeamPageSection+.VPTeamPageSection[data-v-de6c58d7-s],.VPTeamMembers+.VPTeamPageSection[data-v-de6c58d7-s]{margin-top:96px}}.VPTeamMembers[data-v-de6c58d7-s]{padding:0 24px}@media (min-width: 768px){.VPTeamMembers[data-v-de6c58d7-s]{padding:0 48px}}@media (min-width: 960px){.VPTeamMembers[data-v-de6c58d7-s]{padding:0 64px}}.VPTeamPageTitle[data-v-6ce551d6]{padding:48px 32px;text-align:center}@media (min-width: 768px){.VPTeamPageTitle[data-v-6ce551d6]{padding:64px 48px 48px}}@media (min-width: 960px){.VPTeamPageTitle[data-v-6ce551d6]{padding:80px 64px 48px}}.title[data-v-6ce551d6]{letter-spacing:0;line-height:44px;font-size:36px;font-weight:500}@media (min-width: 768px){.title[data-v-6ce551d6]{letter-spacing:-.5px;line-height:56px;font-size:48px}}.lead[data-v-6ce551d6]{margin:0 auto;max-width:512px;padding-top:12px;line-height:24px;font-size:16px;font-weight:500;color:var(--vp-c-text-2)}@media (min-width: 768px){.lead[data-v-6ce551d6]{max-width:592px;letter-spacing:.15px;line-height:28px;font-size:20px}}.VPTeamPageSection[data-v-1ac32f26]{padding:0 32px}@media (min-width: 768px){.VPTeamPageSection[data-v-1ac32f26]{padding:0 48px}}@media (min-width: 960px){.VPTeamPageSection[data-v-1ac32f26]{padding:0 64px}}.title[data-v-1ac32f26]{position:relative;margin:0 auto;max-width:1152px;text-align:center;color:var(--vp-c-text-2)}.title-line[data-v-1ac32f26]{position:absolute;top:16px;left:0;width:100%;height:1px;background-color:var(--vp-c-divider)}.title-text[data-v-1ac32f26]{position:relative;display:inline-block;padding:0 24px;letter-spacing:0;line-height:32px;font-size:20px;font-weight:500;background-color:var(--vp-c-bg)}.lead[data-v-1ac32f26]{margin:0 auto;max-width:480px;padding-top:12px;text-align:center;line-height:24px;font-size:16px;font-weight:500;color:var(--vp-c-text-2)}.members[data-v-1ac32f26]{padding-top:40px}.VPTeamMembersItem[data-v-af8dff8e]{display:flex;flex-direction:column;gap:2px;border-radius:12px;width:100%;height:100%;overflow:hidden}.VPTeamMembersItem.small .profile[data-v-af8dff8e]{padding:32px}.VPTeamMembersItem.small .data[data-v-af8dff8e]{padding-top:20px}.VPTeamMembersItem.small .avatar[data-v-af8dff8e]{width:64px;height:64px}.VPTeamMembersItem.small .name[data-v-af8dff8e]{line-height:24px;font-size:16px}.VPTeamMembersItem.small .affiliation[data-v-af8dff8e]{padding-top:4px;line-height:20px;font-size:14px}.VPTeamMembersItem.small .desc[data-v-af8dff8e]{padding-top:12px;line-height:20px;font-size:14px}.VPTeamMembersItem.small .links[data-v-af8dff8e]{margin:0 -16px -20px;padding:10px 0 0}.VPTeamMembersItem.medium .profile[data-v-af8dff8e]{padding:48px 32px}.VPTeamMembersItem.medium .data[data-v-af8dff8e]{padding-top:24px;text-align:center}.VPTeamMembersItem.medium .avatar[data-v-af8dff8e]{width:96px;height:96px}.VPTeamMembersItem.medium .name[data-v-af8dff8e]{letter-spacing:.15px;line-height:28px;font-size:20px}.VPTeamMembersItem.medium .affiliation[data-v-af8dff8e]{padding-top:4px;font-size:16px}.VPTeamMembersItem.medium .desc[data-v-af8dff8e]{padding-top:16px;max-width:288px;font-size:16px}.VPTeamMembersItem.medium .links[data-v-af8dff8e]{margin:0 -16px -12px;padding:16px 12px 0}.profile[data-v-af8dff8e]{flex-grow:1;background-color:var(--vp-c-bg-soft)}.data[data-v-af8dff8e]{text-align:center}.avatar[data-v-af8dff8e]{position:relative;flex-shrink:0;margin:0 auto;border-radius:50%;box-shadow:var(--vp-shadow-3)}.avatar-img[data-v-af8dff8e]{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;object-fit:cover}.name[data-v-af8dff8e]{margin:0;font-weight:600}.affiliation[data-v-af8dff8e]{margin:0;font-weight:500;color:var(--vp-c-text-2)}.org.link[data-v-af8dff8e]{color:var(--vp-c-text-2);transition:color .25s}.org.link[data-v-af8dff8e]:hover{color:var(--vp-c-brand-1)}.desc[data-v-af8dff8e]{margin:0 auto}.desc[data-v-af8dff8e] a{font-weight:500;color:var(--vp-c-brand-1);text-decoration-style:dotted;transition:color .25s}.links[data-v-af8dff8e]{display:flex;justify-content:center;height:56px}.sp-link[data-v-af8dff8e]{display:flex;justify-content:center;align-items:center;text-align:center;padding:16px;font-size:14px;font-weight:500;color:var(--vp-c-sponsor);background-color:var(--vp-c-bg-soft);transition:color .25s,background-color .25s}.sp .sp-link.link[data-v-af8dff8e]:hover,.sp .sp-link.link[data-v-af8dff8e]:focus{outline:none;color:var(--vp-c-white);background-color:var(--vp-c-sponsor)}.sp-icon[data-v-af8dff8e]{margin-right:8px;font-size:16px}.VPTeamMembers.small .container[data-v-3ca0e3f5]{grid-template-columns:repeat(auto-fit,minmax(224px,1fr))}.VPTeamMembers.small.count-1 .container[data-v-3ca0e3f5]{max-width:276px}.VPTeamMembers.small.count-2 .container[data-v-3ca0e3f5]{max-width:576px}.VPTeamMembers.small.count-3 .container[data-v-3ca0e3f5]{max-width:876px}.VPTeamMembers.medium .container[data-v-3ca0e3f5]{grid-template-columns:repeat(auto-fit,minmax(256px,1fr))}@media (min-width: 375px){.VPTeamMembers.medium .container[data-v-3ca0e3f5]{grid-template-columns:repeat(auto-fit,minmax(288px,1fr))}}.VPTeamMembers.medium.count-1 .container[data-v-3ca0e3f5]{max-width:368px}.VPTeamMembers.medium.count-2 .container[data-v-3ca0e3f5]{max-width:760px}.container[data-v-3ca0e3f5]{display:grid;gap:24px;margin:0 auto;max-width:1152px}
diff --git a/document/component/contextmenu.html b/document/component/contextmenu.html
index dc00e2914..54c775c8d 100644
--- a/document/component/contextmenu.html
+++ b/document/component/contextmenu.html
@@ -5,22 +5,24 @@
     
     右键菜单 | Artplayer.js
     
-    
-    
+    
+    
     
-    
+    
     
-    
-    
-    
+    
+    
+    
     
     
     
+    
+    
     
     
   
   
-    
Skip to content

右键菜单

配置

属性类型描述
disableBoolean是否禁用组件
nameString组件唯一名称,用于标记类名
indexNumber组件索引,用于显示的优先级
htmlString, Element组件的 DOM 元素
styleObject组件样式对象
clickFunction组件点击事件
mountedFunction组件挂载后触发
tooltipString组件的提示文本

创建

▶ Run Code
js
var art = new Artplayer({
+    
Skip to content

右键菜单

配置

属性类型描述
disableBoolean是否禁用组件
nameString组件唯一名称,用于标记类名
indexNumber组件索引,用于显示的优先级
htmlString, Element组件的 DOM 元素
styleObject组件样式对象
clickFunction组件点击事件
mountedFunction组件挂载后触发
tooltipString组件的提示文本

创建

▶ Run Code
js
var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
     contextmenu: [
@@ -102,8 +104,8 @@
             html: 'Your New Menu',
         })
     }, 3000);
-});
- +});
+ \ No newline at end of file diff --git a/document/component/controls.html b/document/component/controls.html index 404248fcf..5c03faf6c 100644 --- a/document/component/controls.html +++ b/document/component/controls.html @@ -5,22 +5,24 @@ 控制器 | Artplayer.js - - + + - + - - - + + + + + -
Skip to content

控制器

配置

属性类型描述
disableBoolean是否禁用组件
nameString组件唯一名称,用于标记类名
indexNumber组件索引,用于显示的优先级
htmlString, Element组件的 DOM 元素
styleObject组件样式对象
clickFunction组件点击事件
mountedFunction组件挂载后触发
tooltipString组件的提示文本
positionStringleftright 控制控制器出现的左右位置
selectorArray选择列表的对象数组
onSelectFunction选择列表的元素被点击时触发的函数

创建

▶ Run Code
js
var art = new Artplayer({
+    
Skip to content

控制器

配置

属性类型描述
disableBoolean是否禁用组件
nameString组件唯一名称,用于标记类名
indexNumber组件索引,用于显示的优先级
htmlString, Element组件的 DOM 元素
styleObject组件样式对象
clickFunction组件点击事件
mountedFunction组件挂载后触发
tooltipString组件的提示文本
positionStringleftright 控制控制器出现的左右位置
selectorArray选择列表的对象数组
onSelectFunction选择列表的元素被点击时触发的函数

创建

▶ Run Code
js
var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
     controls: [
@@ -149,8 +151,8 @@
             ],
         });
     }, 3000);
-});
- +});
+ \ No newline at end of file diff --git a/document/component/layers.html b/document/component/layers.html index c5d4d44b7..f565c2b7d 100644 --- a/document/component/layers.html +++ b/document/component/layers.html @@ -5,22 +5,24 @@ 业务层 | Artplayer.js - - + + - + - - - + + + + + -
Skip to content

业务层

配置

属性类型描述
disableBoolean是否禁用组件
nameString组件唯一名称,用于标记类名
indexNumber组件索引,用于显示的优先级
htmlString, Element组件的 DOM 元素
styleObject组件样式对象
clickFunction组件点击事件
mountedFunction组件挂载后触发
tooltipString组件的提示文本

创建

▶ Run Code
js
var img = '/assets/sample/layer.png';
+    
Skip to content

业务层

配置

属性类型描述
disableBoolean是否禁用组件
nameString组件唯一名称,用于标记类名
indexNumber组件索引,用于显示的优先级
htmlString, Element组件的 DOM 元素
styleObject组件样式对象
clickFunction组件点击事件
mountedFunction组件挂载后触发
tooltipString组件的提示文本

创建

▶ Run Code
js
var img = '/assets/sample/layer.png';
 var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
@@ -121,8 +123,8 @@
             },
         });
     }, 3000);
-});
- +});
+ \ No newline at end of file diff --git a/document/component/setting.html b/document/component/setting.html index 8bcae6f6b..362b43fca 100644 --- a/document/component/setting.html +++ b/document/component/setting.html @@ -5,22 +5,24 @@ 设置面板 | Artplayer.js - - + + - + - - - + + + + + -
Skip to content

设置面板

内置

须先打开设置面板,然后自带四个内置项:flip, playbackRate, aspectRatio, subtitleOffset

▶ Run Code
js
var art = new Artplayer({
+    
Skip to content

设置面板

内置

须先打开设置面板,然后自带四个内置项:flip, playbackRate, aspectRatio, subtitleOffset

▶ Run Code
js
var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
 	setting: true,
@@ -28,7 +30,7 @@
     playbackRate: true,
     aspectRatio: true,
     subtitleOffset: true,
-});

创建 - 选择列表

属性类型描述
htmlString, Element元素的 DOM
iconString, Element元素的图标
selectorArray元素列表
onSelectFunction元素点击事件
widthNumber列表宽度
tooltipString提示文本
▶ Run Code
js
var art = new Artplayer({
+});

创建 - 选择列表

属性类型描述
htmlString, Element元素的 DOM
iconString, Element元素的图标
selectorArray元素列表
onSelectFunction元素点击事件
widthNumber列表宽度
tooltipString提示文本
▶ Run Code
js
var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
     setting: true,
@@ -123,7 +125,7 @@
             ],
         },
     ],
-});

创建 - 切换按钮

属性类型描述
htmlString, Element元素的 DOM 元素
iconString, Element元素的图标
switchBoolean按钮默认状态
onSwitchFunction按钮切换事件
tooltipString提示文本
▶ Run Code
js
var art = new Artplayer({
+});

创建 - 切换按钮

属性类型描述
htmlString, Element元素的 DOM 元素
iconString, Element元素的图标
switchBoolean按钮默认状态
onSwitchFunction按钮切换事件
tooltipString提示文本
▶ Run Code
js
var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
     setting: true,
@@ -142,7 +144,7 @@
             },
         },
     ],
-});

创建 - 范围滑块

属性类型描述
htmlString, Element元素的 DOM 元素
iconString, Element元素的图标
rangeArray默认状态数组
onRangeFunction完成时触发的事件
onChangeFunction变化时触发的事件
tooltipString提示文本
js
const range = [5, 1, 10, 1];
+});

创建 - 范围滑块

属性类型描述
htmlString, Element元素的 DOM 元素
iconString, Element元素的图标
rangeArray默认状态数组
onRangeFunction完成时触发的事件
onChangeFunction变化时触发的事件
tooltipString提示文本
js
const range = [5, 1, 10, 1];
 const value = range[0];
 const min = range[1];
 const max = range[2];
@@ -226,8 +228,8 @@
             switch: false,
         });
     }, 3000);
-});
- +});
+ \ No newline at end of file diff --git a/document/en/advanced/built-in.html b/document/en/advanced/built-in.html index e29221266..e56ad3ce6 100644 --- a/document/en/advanced/built-in.html +++ b/document/en/advanced/built-in.html @@ -5,22 +5,24 @@ Advanced Properties | Artplayer.js - - + + - + - - - + + + + + -
Skip to content

Advanced Properties

The advanced properties here refer to the secondary attributes mounted on the instance, which are less commonly used

option

Options for the player

▶ Run Code
js
var art = new Artplayer({
+    
Skip to content

Advanced Properties

The advanced properties here refer to the secondary attributes mounted on the instance, which are less commonly used

option

Options for the player

▶ Run Code
js
var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
 });
@@ -206,8 +208,8 @@
 
 art.on('ready', () => {
     art.plugins.add(myPlugin);
-});
- +});
+ \ No newline at end of file diff --git a/document/en/advanced/class.html b/document/en/advanced/class.html index e93bb4ebc..362173bd7 100644 --- a/document/en/advanced/class.html +++ b/document/en/advanced/class.html @@ -5,30 +5,32 @@ Static Properties | Artplayer.js - - + + - + - - - + + + + + -
Skip to content

Static Properties

Here, Static Properties refer to the first-level properties mounted on the constructor, which are very rarely used.

instances

Returns an array of all player instances. You can use this property when you want to manage multiple players at the same time.

▶ Run Code
js
console.info([...Artplayer.instances]);
+    
Skip to content

Static Properties

Here, Static Properties refer to the first-level properties mounted on the constructor, which are very rarely used.

instances

Returns an array of all player instances. You can use this property when you want to manage multiple players at the same time.

▶ Run Code
js
console.info([...Artplayer.instances]);
 
 var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
 });
 
-console.info([...Artplayer.instances]);

version

Returns the version information of the player.

▶ Run Code
js
console.info(Artplayer.version);

env

Returns the environment variables of the player.

▶ Run Code
js
console.info(Artplayer.env);

build

Returns the build time of the player

▶ Run Code
js
console.info(Artplayer.build);

config

Returns the default configuration of the video

▶ Run Code
js
console.info(Artplayer.config);

utils

Returns a collection of utility functions for the player

▶ Run Code
js
console.info(Artplayer.utils);

For the full list of utility functions, please refer to the following address:

artplayer/types/utils.d.ts

scheme

Returns the validation scheme for the player options

▶ Run Code
js
console.info(Artplayer.scheme);

Emitter

Returns the constructor for the event dispatcher

▶ Run Code
js
console.info(Artplayer.Emitter);

validator

Returns the validation function for options

▶ Run Code
js
console.info(Artplayer.validator);

kindOf

Returns the function tool for type checking

▶ Run Code
js
console.info(Artplayer.kindOf);

html

Returns the html string required for the player

▶ Run Code
js
console.info(Artplayer.html);

option

Returns the player's default options

▶ Run Code
js
console.info(Artplayer.option);
- +console.info([...Artplayer.instances]);

version

Returns the version information of the player.

▶ Run Code
js
console.info(Artplayer.version);

env

Returns the environment variables of the player.

▶ Run Code
js
console.info(Artplayer.env);

build

Returns the build time of the player

▶ Run Code
js
console.info(Artplayer.build);

config

Returns the default configuration of the video

▶ Run Code
js
console.info(Artplayer.config);

utils

Returns a collection of utility functions for the player

▶ Run Code
js
console.info(Artplayer.utils);

For the full list of utility functions, please refer to the following address:

artplayer/types/utils.d.ts

scheme

Returns the validation scheme for the player options

▶ Run Code
js
console.info(Artplayer.scheme);

Emitter

Returns the constructor for the event dispatcher

▶ Run Code
js
console.info(Artplayer.Emitter);

validator

Returns the validation function for options

▶ Run Code
js
console.info(Artplayer.validator);

kindOf

Returns the function tool for type checking

▶ Run Code
js
console.info(Artplayer.kindOf);

html

Returns the html string required for the player

▶ Run Code
js
console.info(Artplayer.html);

option

Returns the player's default options

▶ Run Code
js
console.info(Artplayer.option);
+ \ No newline at end of file diff --git a/document/en/advanced/event.html b/document/en/advanced/event.html index 79eb4f7ce..af2b3dccb 100644 --- a/document/en/advanced/event.html +++ b/document/en/advanced/event.html @@ -5,22 +5,24 @@ Example Events | Artplayer.js - - + + - + - - - + + + + + -
Skip to content

Example Events

Player events are divided into two types, one is the video's native events (prefix video:), the other is custom events

Listening to events:

▶ Run Code
js
var art = new Artplayer({
+    
Skip to content

Example Events

Player events are divided into two types, one is the video's native events (prefix video:), the other is custom events

Listening to events:

▶ Run Code
js
var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
 });
@@ -378,8 +380,8 @@
 
 art.on('muted', (state) => {
     console.log(state);
-});

video:canplay

The browser can play the media file, but estimates there is not enough data to play through to the end without having to stop for further buffering

video:canplaythrough

The browser estimates it can play the media through to the end without stopping for content buffering

video:complete

OfflineAudioContext rendering is complete

video:durationchange

Triggered when the value of the duration property changes

video:emptied

The media content becomes empty; for example, when this media has been completely loaded (or partially loaded), this event is sent and the load() method is called to reload it

video:ended

The video has stopped because the media reached the end point

video:error

An error occurred while fetching media data, or the resource type is not a supported media format

video:loadeddata

The first frame of the media has finished loading

video:loadedmetadata

Metadata has been loaded

video:pause

Playback has been paused

video:play

Playback has started

video:playing

Playback is ready to start following a pause or delay due to lack of data

video:progress

Periodically triggered while the browser is loading resources

video:ratechange

The playback rate has changed

video:seeked

A seek (frame skipping) operation has completed

video:seeking

A seek (frame skipping) operation has started

video:stalled

The user agent is trying to fetch media data, but the data unexpectedly has not appeared

video:suspend

Media data loading has been suspended

video:timeupdate

The time specified by the currentTime attribute has changed

video:volumechange

Volume changed

video:waiting

Playback has stopped due to temporarily missing data

- +});

video:canplay

The browser can play the media file, but estimates there is not enough data to play through to the end without having to stop for further buffering

video:canplaythrough

The browser estimates it can play the media through to the end without stopping for content buffering

video:complete

OfflineAudioContext rendering is complete

video:durationchange

Triggered when the value of the duration property changes

video:emptied

The media content becomes empty; for example, when this media has been completely loaded (or partially loaded), this event is sent and the load() method is called to reload it

video:ended

The video has stopped because the media reached the end point

video:error

An error occurred while fetching media data, or the resource type is not a supported media format

video:loadeddata

The first frame of the media has finished loading

video:loadedmetadata

Metadata has been loaded

video:pause

Playback has been paused

video:play

Playback has started

video:playing

Playback is ready to start following a pause or delay due to lack of data

video:progress

Periodically triggered while the browser is loading resources

video:ratechange

The playback rate has changed

video:seeked

A seek (frame skipping) operation has completed

video:seeking

A seek (frame skipping) operation has started

video:stalled

The user agent is trying to fetch media data, but the data unexpectedly has not appeared

video:suspend

Media data loading has been suspended

video:timeupdate

The time specified by the currentTime attribute has changed

video:volumechange

Volume changed

video:waiting

Playback has stopped due to temporarily missing data

+ \ No newline at end of file diff --git a/document/en/advanced/global.html b/document/en/advanced/global.html index 4540ce796..d1526202a 100644 --- a/document/en/advanced/global.html +++ b/document/en/advanced/global.html @@ -5,27 +5,29 @@ Global Attributes | Artplayer.js - - + + - + - - - + + + + + -
Skip to content

Global Attributes

Here, Global Attributes refer to the first-level properties mounted on the constructor. Property names are all in uppercase, subject to change in the future and basically not needed.

DEBUG

Whether to start debug mode, which can print out all built-in events of the video by default is turned off.

▶ Run Code
js
Artplayer.DEBUG = true;
+    
Skip to content

Global Attributes

Here, Global Attributes refer to the first-level properties mounted on the constructor. Property names are all in uppercase, subject to change in the future and basically not needed.

DEBUG

Whether to start debug mode, which can print out all built-in events of the video by default is turned off.

▶ Run Code
js
Artplayer.DEBUG = true;
 
 var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
-});

CONTEXTMENU

Whether to enable the right-click context menu, enabled by default.

▶ Run Code
js
Artplayer.CONTEXTMENU = false;
+});

STYLE

Returns the player style text

▶ Run Code
js
console.log(Artplayer.STYLE);

CONTEXTMENU

Whether to enable the right-click context menu, enabled by default.

▶ Run Code
js
Artplayer.CONTEXTMENU = false;
 
 var art = new Artplayer({
     container: '.artplayer-app',
@@ -241,8 +243,8 @@
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
     miniProgressBar: true,
-});
- +});
+ \ No newline at end of file diff --git a/document/en/advanced/plugin.html b/document/en/advanced/plugin.html index e75d850ea..cc7cc6044 100644 --- a/document/en/advanced/plugin.html +++ b/document/en/advanced/plugin.html @@ -5,22 +5,24 @@ Writing Plugins | Artplayer.js - - + + - + - - - + + + + + -
Skip to content

Writing Plugins

Once you know the player's properties, methods, and events, writing plugins is very simple.

You can load the plugin functions when instantiated.

▶ Run Code
js
function myPlugin(art) {
+    
Skip to content

Writing Plugins

Once you know the player's properties, methods, and events, writing plugins is very simple.

You can load the plugin functions when instantiated.

▶ Run Code
js
function myPlugin(art) {
     console.info(art);
     return {
         name: 'myPlugin',
@@ -118,8 +120,8 @@
             url: '/assets/sample/layer.png'
         })
     ],
-});
- +});
+ \ No newline at end of file diff --git a/document/en/advanced/property.html b/document/en/advanced/property.html index 809596f55..b2306ff91 100644 --- a/document/en/advanced/property.html +++ b/document/en/advanced/property.html @@ -5,22 +5,24 @@ Instance Properties | Artplayer.js - - + + - + - - - + + + + + -
Skip to content

Instance Properties

Here, instance properties refer to the primary properties mounted on the instance, which are quite commonly used.

play

  • Type: Function

Play video

▶ Run Code
js

+    
Skip to content

Instance Properties

Here, instance properties refer to the primary properties mounted on the instance, which are quite commonly used.

play

  • Type: Function

Play video

▶ Run Code
js

 var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
@@ -156,13 +158,13 @@
 
 art.on('ready', () => {
     console.info(art.duration);
-});

Note

Some videos do not have a duration, such as videos that are being live streamed or videos that have not been fully decoded, in which case the obtained duration will be 0

screenshot

  • Type: Function

Download a screenshot of the current video frame

▶ Run Code
js
var art = new Artplayer({
+});

Note

Some videos do not have a duration, such as videos that are being live streamed or videos that have not been fully decoded, in which case the obtained duration will be 0

screenshot

  • Type: Function

Download a screenshot of the current video frame, optional parameter is the screenshot name

▶ Run Code
js
var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
 });
 
 art.on('ready', () => {
-    art.screenshot();
+    art.screenshot('your-name');
 });

getDataURL

  • Type: Function

Gets the base64 address of the screenshot of the current video frame, which returns a Promise.

▶ Run Code
js
var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
@@ -403,8 +405,19 @@
 			},
 		];
 	}, 3000);
-})
- +})

thumbnails

  • Type: Setter/Getter
  • Parameter: Object

Dynamically set thumbnails

▶ Run Code
js
var art = new Artplayer({
+	container: '.artplayer-app',
+	url: '/assets/sample/video.mp4',
+});
+
+art.on('ready', () => {
+    art.thumbnails = {
+        url: '/assets/sample/thumbnails.png',
+        number: 60,
+        column: 10,
+    };
+});
+ \ No newline at end of file diff --git a/document/en/component/contextmenu.html b/document/en/component/contextmenu.html index b43f2e3f8..9b227cd73 100644 --- a/document/en/component/contextmenu.html +++ b/document/en/component/contextmenu.html @@ -5,22 +5,24 @@ Context Menu | Artplayer.js - - + + - + - - - + + + + + -
Skip to content

Context Menu

Configuration

PropertyTypeDescription
disableBooleanWhether to disable the component
nameStringUnique name of the component, used for marking the class name
indexNumberComponent index, used for display priority
htmlString, ElementThe DOM element of the component
styleObjectStyle object for the component
clickFunctionClick event for the component
mountedFunctionTriggered after the component is mounted
tooltipStringTooltip text for the component

Creation

▶ Run Code
js
var art = new Artplayer({
+    
Skip to content

Context Menu

Configuration

PropertyTypeDescription
disableBooleanWhether to disable the component
nameStringUnique name of the component, used for marking the class name
indexNumberComponent index, used for display priority
htmlString, ElementThe DOM element of the component
styleObjectStyle object for the component
clickFunctionClick event for the component
mountedFunctionTriggered after the component is mounted
tooltipStringTooltip text for the component

Creation

▶ Run Code
js
var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
     contextmenu: [
@@ -102,8 +104,8 @@
             html: 'Your New Menu',
         })
     }, 3000);
-});
- +});
+ \ No newline at end of file diff --git a/document/en/component/controls.html b/document/en/component/controls.html index 1301ecae5..7be9d6ab3 100644 --- a/document/en/component/controls.html +++ b/document/en/component/controls.html @@ -5,22 +5,24 @@ Controller | Artplayer.js - - + + - + - - - + + + + + -
Skip to content

Controller

Configuration

PropertyTypeDescription
disableBooleanWhether to disable the component
nameStringThe unique name of the component for class identification
indexNumberThe index of the component, used for display priority
htmlString, ElementThe component's DOM element
styleObjectThe style object for the component
clickFunctionComponent click event
mountedFunctionTriggered after the component is mounted
tooltipStringTooltip text for the component
positionStringleft and right control the position of the controller
selectorArrayAn array of objects for the selection list
onSelectFunctionFunction triggered when an item from the selection list is clicked

Creation

▶ Run Code
js
var art = new Artplayer({
+    
Skip to content

Controller

Configuration

PropertyTypeDescription
disableBooleanWhether to disable the component
nameStringThe unique name of the component for class identification
indexNumberThe index of the component, used for display priority
htmlString, ElementThe component's DOM element
styleObjectThe style object for the component
clickFunctionComponent click event
mountedFunctionTriggered after the component is mounted
tooltipStringTooltip text for the component
positionStringleft and right control the position of the controller
selectorArrayAn array of objects for the selection list
onSelectFunctionFunction triggered when an item from the selection list is clicked

Creation

▶ Run Code
js
var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
     controls: [
@@ -149,8 +151,8 @@
             ],
         });
     }, 3000);
-});
- +});
+ \ No newline at end of file diff --git a/document/en/component/layers.html b/document/en/component/layers.html index 2258208f3..251901629 100644 --- a/document/en/component/layers.html +++ b/document/en/component/layers.html @@ -5,22 +5,24 @@ Layer | Artplayer.js - - + + - + - - - + + + + + -
Skip to content

Layer

Configuration

PropertyTypeDescription
disableBooleanWhether to disable the component
nameStringUnique name of the component, used for marking class name
indexNumberComponent index, used for display priority
htmlString, ElementThe DOM element of the component
styleObjectStyle object for the component
clickFunctionClick event for the component
mountedFunctionTriggered after the component is mounted
tooltipStringTooltip text for the component

Creation

▶ Run Code
js
var img = '/assets/sample/layer.png';
+    
Skip to content

Layer

Configuration

PropertyTypeDescription
disableBooleanWhether to disable the component
nameStringUnique name of the component, used for marking class name
indexNumberComponent index, used for display priority
htmlString, ElementThe DOM element of the component
styleObjectStyle object for the component
clickFunctionClick event for the component
mountedFunctionTriggered after the component is mounted
tooltipStringTooltip text for the component

Creation

▶ Run Code
js
var img = '/assets/sample/layer.png';
 var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
@@ -121,8 +123,8 @@
             },
         });
     }, 3000);
-});
- +});
+ \ No newline at end of file diff --git a/document/en/component/setting.html b/document/en/component/setting.html index dd79ef445..32df80b8f 100644 --- a/document/en/component/setting.html +++ b/document/en/component/setting.html @@ -5,22 +5,24 @@ Settings Panel | Artplayer.js - - + + - + - - - + + + + + -
Skip to content

Settings Panel

Built-in

First, open the settings panel, and then it comes with four built-in items: flip, playbackRate, aspectRatio, subtitleOffset

▶ Run Code
js
var art = new Artplayer({
+    
Skip to content

Settings Panel

Built-in

First, open the settings panel, and then it comes with four built-in items: flip, playbackRate, aspectRatio, subtitleOffset

▶ Run Code
js
var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
     setting: true,
@@ -28,7 +30,7 @@
     playbackRate: true,
     aspectRatio: true,
     subtitleOffset: true,
-});

Create - Selection List

PropertyTypeDescription
htmlString, ElementElement's DOM

| icon | String, Element | 元素的图标 | | selector | Array | 元素列表 | | onSelect | Function | 元素点击事件 | | width | Number | 列表宽度 | | tooltip | String | 提示文本 |

▶ Run Code
js
var art = new Artplayer({
+});

Create - Selection List

PropertyTypeDescription
htmlString, ElementElement's DOM

| icon | String, Element | 元素的图标 | | selector | Array | 元素列表 | | onSelect | Function | 元素点击事件 | | width | Number | 列表宽度 | | tooltip | String | 提示文本 |

▶ Run Code
js
var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
     setting: true,
@@ -123,7 +125,7 @@
             ],
         },
     ],
-});

Create - Toggle Button

PropertyTypeDescription
htmlString, ElementElement's DOM element
iconString, ElementElement's icon
switchBooleanButton's default state
onSwitchFunctionButton toggle event
tooltipStringTooltip text
▶ Run Code
js
var art = new Artplayer({
+});

Create - Toggle Button

PropertyTypeDescription
htmlString, ElementElement's DOM element
iconString, ElementElement's icon
switchBooleanButton's default state
onSwitchFunctionButton toggle event
tooltipStringTooltip text
▶ Run Code
js
var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
     setting: true,
@@ -142,7 +144,7 @@
             },
         },
     ],
-});

Create - Range Slider

AttributeTypeDescription
htmlString, ElementThe element's DOM element
iconString, ElementThe element's icon
rangeArrayDefault state array
onRangeFunctionEvent triggered upon completion
onChangeFunctionEvent triggered on change
tooltipStringTooltip text
js
const range = [5, 1, 10, 1];
+});

Create - Range Slider

AttributeTypeDescription
htmlString, ElementThe element's DOM element
iconString, ElementThe element's icon
rangeArrayDefault state array
onRangeFunctionEvent triggered upon completion
onChangeFunctionEvent triggered on change
tooltipStringTooltip text
js
const range = [5, 1, 10, 1];
 const value = range[0];
 const min = range[1];
 const max = range[2];
@@ -226,8 +228,8 @@
             switch: false,
         });
     }, 3000);
-});
- +});
+ \ No newline at end of file diff --git a/document/en/index.html b/document/en/index.html index 868479d9a..bcd45ca20 100644 --- a/document/en/index.html +++ b/document/en/index.html @@ -5,27 +5,24 @@ Installation and Usage | Artplayer.js - - + + - + - - - + + + + + -
Skip to content

Installation and Usage

Installation

bash
npm install artplayer
bash
yarn add artplayer
bash
pnpm add artplayer
html
<script src="path/to/artplayer.js"></script>

CDN

bash
https://cdn.jsdelivr.net/npm/artplayer/dist/artplayer.js
bash
https://unpkg.com/artplayer/dist/artplayer.js

Usage

js
import Artplayer from 'artplayer';
-
-const art = new Artplayer({
-    container: '.artplayer-app',
-    url: 'path/to/video.mp4',
-});
html
<html>
+    
Skip to content

Installation and Usage

Installation

bash
npm install artplayer
bash
yarn add artplayer
bash
pnpm add artplayer
html
<script src="path/to/artplayer.js"></script>

CDN

bash
https://cdn.jsdelivr.net/npm/artplayer/dist/artplayer.js
bash
https://unpkg.com/artplayer/dist/artplayer.js

Usage

html
<html>
     <head>
         <title>ArtPlayer Demo</title>
         <meta charset="UTF-8" />
@@ -38,8 +35,15 @@
     </head>
     <body>
         <div class="artplayer-app"></div>
+        <script src="path/to/artplayer.js"></script>
+        <script>
+          const art = new Artplayer({
+              container: '.artplayer-app',
+              url: 'path/to/video.mp4',
+          });
+        </script>
     </body>
-</html>

Warning

The player's size depends on the size of the container container, so your container container must have a size.

You can see more examples of use at the following link

/packages/artplayer-template

Vue.js

vue
<template>
+</html>

Warning

The player's size depends on the size of the container container, so your container container must have a size.

You can see more examples of use at the following link

/packages/artplayer-template

Vue.js

vue
<template>
   <div ref="artRef"></div>
 </template>
 
@@ -103,7 +107,7 @@
     },
   },
 };
-</script>

Artplayer Not Responsive:

Modifying option directly in Vue.js will not change the player

React.js

jsx
import { useEffect, useRef } from 'react';
+</script>

Artplayer Not Responsive:

Modifying option directly in Vue.js will not change the player

React.js

jsx
import { useEffect, useRef } from 'react';
 import Artplayer from 'artplayer';
 
 export default function Player({ option, getInstance, ...rest }) {
@@ -154,17 +158,16 @@
 art.value = new Artplayer();
 </script>

React.js

jsx
import Artplayer from 'artplayer';
 const art = useRef<Artplayer>(null);
-art.current = new Artplayer();

Option

you can also separately import the type for options

ts
import Artplayer from 'artplayer';
-import { type Option } from 'artplayer/types/option';
+art.current = new Artplayer();

Option

You can also use the option type

ts
import Artplayer from 'artplayer';
 
-const option: Option = {
+const option: Artplayer['Option'] = {
     container: '.artplayer-app',
     url: './assets/sample/video.mp4',
 };
 
 option.volume = 0.5;
 
-const art = new Artplayer(option);

Complete TypeScript Definitions

packages/artplayer/types

JavaScript

Sometimes your js file may lose the TypeScript type hints, in this case, you can manually import the types

Variables:

js
/**
+const art = new Artplayer(option);

Complete TypeScript Definitions

packages/artplayer/types

JavaScript

Sometimes your js file may lose the TypeScript type hints, in this case, you can manually import the types

Variables:

js
/**
  * @type {import("artplayer")}
  */
 let art = null;

Parameters:

js
/**
@@ -192,8 +195,8 @@
 
 option.volume = 0.5;
 
-const art8 = new Artplayer(option);

Ancient Browsers

The production build of artplayer.js is only compatible with the latest major version of Chrome: last 1 Chrome version

For ancient browsers, you can use the artplayer.legacy.js file, which is compatible up to: IE 11

js
import Artplayer from 'artplayer/dist/artplayer.legacy.js';
bash
https://cdn.jsdelivr.net/npm/artplayer/dist/artplayer.legacy.js
bash
https://unpkg.com/artplayer/dist/artplayer.legacy.js

If you need to support even older browsers, please modify the following configuration and then build it yourself:

Build configuration: scripts/build.js

Refer to documentation: browserslist

- +const art8 = new Artplayer(option);

Ancient Browsers

The production build of artplayer.js is only compatible with the latest major version of Chrome: last 1 Chrome version

For ancient browsers, you can use the artplayer.legacy.js file, which is compatible up to: IE 11

js
import Artplayer from 'artplayer/dist/artplayer.legacy.js';
bash
https://cdn.jsdelivr.net/npm/artplayer/dist/artplayer.legacy.js
bash
https://unpkg.com/artplayer/dist/artplayer.legacy.js

If you need to support even older browsers, please modify the following configuration and then build it yourself:

Build configuration: scripts/build.js

Refer to documentation: browserslist

+ \ No newline at end of file diff --git a/document/en/library/dash.html b/document/en/library/dash.html deleted file mode 100644 index 2f73ba028..000000000 --- a/document/en/library/dash.html +++ /dev/null @@ -1,50 +0,0 @@ - - - - - - dash.js | Artplayer.js - - - - - - - - - - - - - - - - -
Skip to content

dash.js

👉 https://github.com/Dash-Industry-Forum/dash.js

▶ Run Code
js
function playMpd(video, url, art) {
-    if (dashjs.supportsMediaSource()) {
-        if (art.dash) art.dash.destroy();
-        const dash = dashjs.MediaPlayer().create();
-        dash.initialize(video, url, art.option.autoplay);
-        art.dash = dash; 
-        art.on('destroy', () => dash.destroy());
-    } else {
-        art.notice.show = 'Unsupported playback format: mpd';
-    }
-}
-
-var art = new Artplayer({
-    container: '.artplayer-app',
-    url: 'https://dash.akamaized.net/akamai/bbb_30fps/bbb_30fps.mpd',
-    type: 'mpd',
-    customType: {
-        mpd: playMpd
-    },
-});
-
-art.on('ready', () => {
-    console.info(art.dash);
-});
- - - - \ No newline at end of file diff --git a/document/en/library/flv.html b/document/en/library/flv.html deleted file mode 100644 index f4319f2c4..000000000 --- a/document/en/library/flv.html +++ /dev/null @@ -1,51 +0,0 @@ - - - - - - flv.js | Artplayer.js - - - - - - - - - - - - - - - - -
Skip to content

flv.js

👉 https://github.com/Bilibili/flv.js

▶ Run Code
js
function playFlv(video, url, art) {
-    if (flvjs.isSupported()) {
-        if (art.flv) art.flv.destroy();
-        const flv = flvjs.createPlayer({ type: 'flv', url });
-        flv.attachMediaElement(video);
-        flv.load();
-        art.flv = flv; 
-        art.on('destroy', () => flv.destroy());
-    } else {
-        art.notice.show = 'Unsupported playback format: flv';
-    }
-}
-
-var art = new Artplayer({
-    container: '.artplayer-app',
-    url: '/assets/sample/video.flv',
-    type: 'flv',
-    customType: {
-        flv: playFlv,
-    },
-});
-
-art.on('ready', () => {
-    console.info(art.flv);
-});
- - - - \ No newline at end of file diff --git a/document/en/library/hls.html b/document/en/library/hls.html deleted file mode 100644 index 16719d3f2..000000000 --- a/document/en/library/hls.html +++ /dev/null @@ -1,53 +0,0 @@ - - - - - - hls.js | Artplayer.js - - - - - - - - - - - - - - - - -
Skip to content

hls.js

👉 https://github.com/video-dev/hls.js

▶ Run Code
js
function playM3u8(video, url, art) {
-    if (Hls.isSupported()) {
-        if (art.hls) art.hls.destroy();
-        const hls = new Hls();
-        hls.loadSource(url);
-        hls.attachMedia(video);
-        art.hls = hls;
-        art.on('destroy', () => hls.destroy());
-    } else if (video.canPlayType('application/vnd.apple.mpegurl')) {
-        video.src = url;
-    } else {
-        art.notice.show = 'Unsupported playback format: m3u8';
-    }
-}
-
-var art = new Artplayer({
-    container: '.artplayer-app',
-    url: 'https://test-streams.mux.dev/x36xhzz/x36xhzz.m3u8',
-    type: 'm3u8',
-    customType: {
-        m3u8: playM3u8,
-    },
-});
-
-art.on('ready', () => {
-    console.info(art.hls);
-});
- - - - \ No newline at end of file diff --git a/document/en/plugin/ads.html b/document/en/plugin/ads.html deleted file mode 100644 index 591311f01..000000000 --- a/document/en/plugin/ads.html +++ /dev/null @@ -1,74 +0,0 @@ - - - - - - Video Ads | Artplayer.js - - - - - - - - - - - - - - - - -
Skip to content

Video Ads

Demo

👉 View Full Demo

Installation

bash
npm install artplayer-plugin-ads
bash
yarn add artplayer-plugin-ads
bash
pnpm add artplayer-plugin-ads
html
<script src="path/to/artplayer-plugin-ads.js"></script>

CDN

bash
https://cdn.jsdelivr.net/npm/artplayer-plugin-ads/dist/artplayer-plugin-ads.js
bash
https://unpkg.com/artplayer-plugin-ads/dist/artplayer-plugin-ads.js

Usage

▶ Run Code
js
var art = new Artplayer({
-    container: '.artplayer-app',
-    url: '/assets/sample/video.mp4',
-    autoSize: true,
-    fullscreen: true,
-    fullscreenWeb: true,
-    plugins: [
-        artplayerPluginAds({
-            // HTML ad, ignored if it's a video ad
-            html: '<img src="/assets/sample/poster.jpg">',
-
-            // URL of the video ad
-            video: '/assets/sample/test1.mp4',
-
-            // Ad redirect URL, no redirection if empty
-            url: 'http://artplayer.org',
-
-            // The duration that must be watched, which can't be skipped, in seconds
-            // If this value is greater than or equal to totalDuration, the ad can't be closed early
-            // If this value is less than or equal to 0, then the ad can be closed at any time
-            playDuration: 5,
-
-            // Total duration of the ad, in seconds
-            totalDuration: 10,
-
-            // Whether the video ad is muted by default
-            muted: false,
-
-            // Multilingual support
-            i18n: {
-                close: 'Close ad',
-                countdown: '%s seconds',
-                detail: 'See details',
-                canBeClosed: '%s seconds until the ad can be closed',
-            },
-        }),
-    ],
-});
-
-// ad is clicked
-art.on('artplayerPluginAds:click', (ads) => {
-    console.info(ads);
-});
-
-// Ad skipped
-art.on('artplayerPluginAds:skip', (ads) => {
-    console.info(ads);
-});
- - - - \ No newline at end of file diff --git a/document/en/plugin/danmuku.html b/document/en/plugin/danmuku.html deleted file mode 100644 index ee55e6f06..000000000 --- a/document/en/plugin/danmuku.html +++ /dev/null @@ -1,352 +0,0 @@ - - - - - - 弹幕库 | Artplayer.js - - - - - - - - - - - - - - - - -
Skip to content

弹幕库

演示

👉 查看完整演示

安装

bash
npm install artplayer-plugin-danmuku
bash
yarn add artplayer-plugin-danmuku
bash
pnpm add artplayer-plugin-danmuku
html
<script src="path/to/artplayer-plugin-danmuku.js"></script>

CDN

bash
https://cdn.jsdelivr.net/npm/artplayer-plugin-danmuku/dist/artplayer-plugin-danmuku.js
bash
https://unpkg.com/artplayer-plugin-danmuku/dist/artplayer-plugin-danmuku.js

弹幕结构

每一个弹幕是一个对象,多个弹幕组成的数组就是弹幕源,通常只需要text就可以发送一个弹幕,其余都是非必要参数

js
{
-    text: '', // 弹幕文本
-    time: 10, // 弹幕时间, 默认为当前播放器时间
-    mode: 0, // 弹幕模式: 0: 滚动(默认),1: 顶部,2: 底部
-    color: '#FFFFFF', // 弹幕颜色,默认为白色
-    border: false, // 弹幕是否有描边, 默认为 false
-    style: {}, // 弹幕自定义样式, 默认为空对象
-    escape: true, // 弹幕文本是否转义, 默认为 true
-}

全部选项

只有danmuku是必须的参数,其余都是非必填

js
{
-    danmuku: [], // 弹幕源
-    speed: 5, // 弹幕持续时间,范围在[1 ~ 10]
-    margin: [10, '25%'], // 弹幕上下边距,支持像素数字和百分比
-    opacity: 1, // 弹幕透明度,范围在[0 ~ 1]
-    color: '#FFFFFF', // 默认弹幕颜色,可以被单独弹幕项覆盖
-    mode: 0, // 默认弹幕模式: 0: 滚动,1: 顶部,2: 底部
-    modes: [0, 1, 2], // 弹幕可见的模式
-    fontSize: 25, // 弹幕字体大小,支持像素数字和百分比
-    antiOverlap: true, // 弹幕是否防重叠
-    synchronousPlayback: false, // 是否同步播放速度
-    mount: undefined, // 弹幕发射器挂载点, 默认为播放器控制栏中部
-    heatmap: false, // 是否开启热力图
-    points: [], // 热力图数据
-    filter: () => true, // 弹幕载入前的过滤器,只支持返回布尔值
-    beforeEmit: () => true, // 弹幕发送前的过滤器,支持返回 Promise
-    beforeVisible: () => true, // 弹幕显示前的过滤器,支持返回 Promise
-    visible: true, // 弹幕层是否可见
-    maxLength: 200, // 弹幕输入框最大长度, 范围在[1 ~ 1000]
-    lockTime: 5, // 输入框锁定时间,范围在[1 ~ 60]
-    theme: 'dark', // 弹幕主题,支持 dark 和 light,只在自定义挂载时生效
-}

生命周期

来自用户输入的弹幕:

beforeEmit -> filter -> beforeVisible -> artplayerPluginDanmuku:visible

来自服务器的弹幕:

filter -> beforeVisible -> artplayerPluginDanmuku:visible

▶ Run Code
js
// 保存到数据库
-function saveDanmu(danmu) {
-    return new Promise(resolve => {
-        setTimeout(() => {
-            resolve(true);
-        }, 1000);
-    })
-}
-
-var art = new Artplayer({
-    container: '.artplayer-app',
-    url: '/assets/sample/video.mp4',
-    plugins: [
-        artplayerPluginDanmuku({
-            danmuku: '/assets/sample/danmuku.xml',
-
-            // 这是用户在输入框输入弹幕文本,然后点击发送按钮后触发的函数
-            // 你可以对弹幕做合法校验,或者做存库处理
-            // 当返回true后才表示把弹幕加入到弹幕队列
-            async beforeEmit(danmu) {
-               const isDirty = (/fuck/i).test(danmu.text);
-               if (isDirty) return false;
-               const state = await saveDanmu(danmu);
-               return state;
-            },
-
-            // 这里是所有弹幕的过滤器,包含来自服务端的和来自用户输入的
-            // 你可以对弹幕做合法校验
-            // 当返回true后才表示把弹幕加入到弹幕队列
-            filter(danmu) {
-                return danmu.text.length <= 200;
-            },
-
-            // 这是弹幕即将显示的时触发的函数
-            // 你可以对弹幕做合法校验
-            // 当返回true后才表示可以马上发送到播放器里
-            async beforeVisible(danmu) {
-               return true;
-            },
-        }),
-    ],
-});
-
-// 弹幕已经出现在播放器里,你可以访问到弹幕的dom元素里
-art.on('artplayerPluginDanmuku:visible', danmu => {
-    danmu.$ref.innerHTML = 'ଘ(੭ˊᵕˋ)੭: ' + danmu.$ref.innerHTML;
-})

使用弹幕数组

▶ Run Code
js
var art = new Artplayer({
-    container: '.artplayer-app',
-    url: '/assets/sample/video.mp4',
-    plugins: [
-        artplayerPluginDanmuku({
-            danmuku: [
-                {
-                    text: '使用数组',
-                    time: 1
-                },
-            ],
-        }),
-    ],
-});

使用弹幕 XML

弹幕 XML 文件,和 Bilibili 网站的弹幕格式一致

▶ Run Code
js
var art = new Artplayer({
-    container: '.artplayer-app',
-    url: '/assets/sample/video.mp4',
-    plugins: [
-        artplayerPluginDanmuku({
-            danmuku: '/assets/sample/danmuku.xml',
-        }),
-    ],
-});

使用异步返回

▶ Run Code
js
var art = new Artplayer({
-    container: '.artplayer-app',
-    url: '/assets/sample/video.mp4',
-    plugins: [
-        artplayerPluginDanmuku({
-            danmuku: function () {
-                return new Promise((resovle) => {
-                    return resovle([
-                        {
-                            text: '使用 Promise 异步返回',
-                            time: 1
-                        },
-                    ]);
-                });
-            },
-        }),
-    ],
-});

hide/show

通过方法 hideshow 进行隐藏或者显示弹幕

▶ Run Code
js
var art = new Artplayer({
-    container: '.artplayer-app',
-    url: '/assets/sample/video.mp4',
-    plugins: [
-        artplayerPluginDanmuku({
-            danmuku: '/assets/sample/danmuku.xml',
-        }),
-    ],
-    controls: [
-        {
-            position: 'right',
-            html: '隐藏弹幕',
-            click: function () {
-                art.plugins.artplayerPluginDanmuku.hide();
-            },
-        },
-        {
-            position: 'right',
-            html: '显示弹幕',
-            click: function () {
-                art.plugins.artplayerPluginDanmuku.show();
-            },
-        },
-    ],
-});

isHide

通过属性 isHide 判断当前弹幕是隐藏或者显示

▶ Run Code
js
var art = new Artplayer({
-    container: '.artplayer-app',
-    url: '/assets/sample/video.mp4',
-    plugins: [
-        artplayerPluginDanmuku({
-            danmuku: '/assets/sample/danmuku.xml',
-        }),
-    ],
-    controls: [
-        {
-            position: 'right',
-            html: '隐藏弹幕',
-            click: function (_, event) {
-                if (art.plugins.artplayerPluginDanmuku.isHide) {
-                    art.plugins.artplayerPluginDanmuku.show();
-                    event.target.innerText = '隐藏弹幕';
-                } else {
-                    art.plugins.artplayerPluginDanmuku.hide();
-                    event.target.innerText = '显示弹幕';
-                }
-            },
-        },
-    ],
-});

emit

通过方法 emit 发送一条实时弹幕

▶ Run Code
js
var art = new Artplayer({
-    container: '.artplayer-app',
-    url: '/assets/sample/video.mp4',
-    plugins: [
-        artplayerPluginDanmuku({
-            danmuku: '/assets/sample/danmuku.xml',
-        }),
-    ],
-    controls: [
-        {
-            position: 'right',
-            html: '发送弹幕',
-            click: function () {
-                var text = prompt('请输入弹幕文本', '弹幕测试文本');
-                if (!text || !text.trim()) return;
-                var color = '#' + Math.floor(Math.random() * 0xffffff).toString(16);
-                art.plugins.artplayerPluginDanmuku.emit({
-                    text: text,
-                    color: color,
-                    border: true,
-                });
-            },
-        },
-    ],
-});

config

通过方法 config 实时改变弹幕配置

▶ Run Code
js
var art = new Artplayer({
-    container: '.artplayer-app',
-    url: '/assets/sample/video.mp4',
-    plugins: [
-        artplayerPluginDanmuku({
-            danmuku: '/assets/sample/danmuku.xml',
-        }),
-    ],
-    controls: [
-        {
-            position: 'right',
-            html: '弹幕大小:<input type="range" min="12" max="50" step="1" value="25">',
-            style: {
-                display: 'flex',
-                alignItems: 'center',
-            },
-            mounted: function ($setting) {
-                const $range = $setting.querySelector('input[type=range]');
-                $range.addEventListener('change', () => {
-                    art.plugins.artplayerPluginDanmuku.config({
-                        fontSize: Number($range.value),
-                    });
-                });
-            },
-        },
-    ],
-});

load

通过 load 方法可以重载弹幕源,或者切换新弹幕

▶ Run Code
js
var art = new Artplayer({
-    container: '.artplayer-app',
-    url: '/assets/sample/video.mp4',
-    plugins: [
-        artplayerPluginDanmuku({
-            danmuku: '/assets/sample/danmuku.xml',
-        }),
-    ],
-    controls: [
-        {
-            position: 'right',
-            html: '重载弹幕',
-            click: function () {
-                art.plugins.artplayerPluginDanmuku.load();
-            },
-        },
-        {
-            position: 'right',
-            html: '切换弹幕',
-            click: function () {
-                art.plugins.artplayerPluginDanmuku.config({
-                    danmuku: '/assets/sample/danmuku-v2.xml',
-                });
-                art.plugins.artplayerPluginDanmuku.load();
-            },
-        },
-    ],
-});

reset

用于清空当前显示的弹幕

▶ Run Code
js
var art = new Artplayer({
-    container: '.artplayer-app',
-    url: '/assets/sample/video.mp4',
-    plugins: [
-        artplayerPluginDanmuku({
-            danmuku: '/assets/sample/danmuku.xml',
-        }),
-    ],
-});
-
-art.on('resize', () => {
-    art.plugins.artplayerPluginDanmuku.reset();
-});

mount

在初始化弹幕插件的时候,是可以指定弹幕发射器的挂载位置的,默认是挂载在控制栏的中部,你也可以把它挂载在播放器以外的地方。 当播放器全屏的时候,发射器会自动回到控制栏的中部。假如你挂载的地方是亮色的话,建议把 theme 设置成 light,否则会看不清。

▶ Run Code
js
var $danmu = document.querySelector('.artplayer-app');
-
-var art = new Artplayer({
-    container: '.artplayer-app',
-    url: '/assets/sample/video.mp4',
-    fullscreenWeb: true,
-    plugins: [
-        artplayerPluginDanmuku({
-			mount: $danmu,
-            theme: 'dark',
-            danmuku: '/assets/sample/danmuku.xml',
-        }),
-    ],
-});
-
-// 也可以手动挂载
-// art.plugins.artplayerPluginDanmuku.mount($danmu);

option

用于获取当前弹幕配置

▶ Run Code
js
var art = new Artplayer({
-    container: '.artplayer-app',
-    url: '/assets/sample/video.mp4',
-    plugins: [
-        artplayerPluginDanmuku({
-            danmuku: '/assets/sample/danmuku.xml',
-        }),
-    ],
-});
-
-art.on('ready', () => {
-    console.info(art.plugins.artplayerPluginDanmuku.option);
-});

事件

▶ Run Code
js
var art = new Artplayer({
-    container: '.artplayer-app',
-    url: '/assets/sample/video.mp4',
-    plugins: [
-        artplayerPluginDanmuku({
-            danmuku: '/assets/sample/danmuku.xml',
-        }),
-    ],
-});
-
-art.on('artplayerPluginDanmuku:visible', (danmu) => {
-    console.info('显示弹幕', danmu);
-});
-
-art.on('artplayerPluginDanmuku:emit', (danmu) => {
-    console.info('新增弹幕', danmu);
-});
-
-art.on('artplayerPluginDanmuku:loaded', (danmus) => {
-    console.info('加载弹幕', danmus.length);
-});
-
-art.on('artplayerPluginDanmuku:error', (error) => {
-    console.info('加载错误', error);
-});
-
-art.on('artplayerPluginDanmuku:config', (option) => {
-    console.info('配置变化', option);
-});
-
-art.on('artplayerPluginDanmuku:stop', () => {
-    console.info('弹幕停止');
-});
-
-art.on('artplayerPluginDanmuku:start', () => {
-    console.info('弹幕开始');
-});
-
-art.on('artplayerPluginDanmuku:hide', () => {
-    console.info('弹幕隐藏');
-});
-
-art.on('artplayerPluginDanmuku:show', () => {
-    console.info('弹幕显示');
-});
-
-art.on('artplayerPluginDanmuku:destroy', () => {
-    console.info('弹幕销毁');
-});
- - - - \ No newline at end of file diff --git a/document/en/plugin/dash-quality.html b/document/en/plugin/dash-quality.html deleted file mode 100644 index 0eca768a7..000000000 --- a/document/en/plugin/dash-quality.html +++ /dev/null @@ -1,27 +0,0 @@ - - - - - - Dash Video Quality | Artplayer.js - - - - - - - - - - - - - - - - -
Skip to content

Dash Video Quality

Demo

👉 View the full demo

Installation

bash
npm install artplayer-plugin-dash-quality
bash
yarn add artplayer-plugin-dash-quality
bash
pnpm add artplayer-plugin-dash-quality
html
<script src="path/to/artplayer-plugin-dash-quality.js"></script>

CDN

bash
https://cdn.jsdelivr.net/npm/artplayer-plugin-dash-quality/dist/artplayer-plugin-dash-quality.js
bash
https://unpkg.com/artplayer-plugin-dash-quality/dist/artplayer-plugin-dash-quality.js
- - - - \ No newline at end of file diff --git a/document/en/plugin/hls-quality.html b/document/en/plugin/hls-quality.html deleted file mode 100644 index 0e0a43787..000000000 --- a/document/en/plugin/hls-quality.html +++ /dev/null @@ -1,27 +0,0 @@ - - - - - - HLS Quality | Artplayer.js - - - - - - - - - - - - - - - - -
Skip to content

HLS Quality

Demonstration

👉 View the full demo

Installation

bash
npm install artplayer-plugin-hls-quality
bash
yarn add artplayer-plugin-hls-quality
bash
pnpm add artplayer-plugin-hls-quality
html
<script src="path/to/artplayer-plugin-hls-quality.js"></script>

CDN

bash
https://cdn.jsdelivr.net/npm/artplayer-plugin-hls-quality/dist/artplayer-plugin-hls-quality.js
bash
https://unpkg.com/artplayer-plugin-hls-quality/dist/artplayer-plugin-hls-quality.js
- - - - \ No newline at end of file diff --git a/document/en/plugin/iframe.html b/document/en/plugin/iframe.html deleted file mode 100644 index 0732d36ea..000000000 --- a/document/en/plugin/iframe.html +++ /dev/null @@ -1,194 +0,0 @@ - - - - - - Iframe Control | Artplayer.js - - - - - - - - - - - - - - - - -
Skip to content

Iframe Control

Description

With this plugin, you can easily control the player inside the cross-domain iframe.html page from within index.html. For example, you can control the functionalities of the iframe.html player from index.html or retrieve the values of the iframe.html player.

Demonstration

👉 View full demonstration

Installation

bash
npm install artplayer-plugin-iframe
bash
yarn add artplayer-plugin-iframe
bash
pnpm add artplayer-plugin-iframe
html
<script src="path/to/artplayer-plugin-iframe.js"></script>

CDN

bash
https://cdn.jsdelivr.net/npm/artplayer-plugin-iframe/dist/artplayer-plugin-iframe.js
bash
https://unpkg.com/artplayer-plugin-iframe/dist/artplayer-plugin-iframe.js

Usage

html
<!DOCTYPE html>
-<html>
-    <head>
-        <title>ArtPlayer</title>
-        <meta charset="UTF-8" />
-    </head>
-    <body>
-        <iframe id="iframe"></iframe>
-        <script src="path/to/artplayer-plugin-iframe.js"></script>
-        <script>
-            const iframe = new ArtplayerPluginIframe({
-                // Iframe element
-                iframe: document.querySelector('#iframe'),
-                // Iframe url
-                url: 'path/to/iframe.html',
-            });
-
-            // Send message to iframe
-            iframe.commit(() => {
-                var art = new Artplayer({
-                    container: '.artplayer-app',
-                    url: 'path/to/video.mp4',
-                });
-            });
-        </script>
-    </body>
-</html>
html
<!DOCTYPE html>
-<html>
-    <head>
-        <title>ArtPlayer</title>
-        <meta charset="UTF-8" />
-        <style>
-            html,
-            body {
-                width: 100%;
-                height: 100%;
-                margin: 0;
-                padding: 0;
-            }
-        </style>
-    </head>
-    <body>
-        <div class="artplayer-app" style="width: 100%; height: 100%;"></div>
-        <script src="path/to/artplayer.js"></script>
-        <script src="path/to/artplayer-plugin-iframe.js"></script>
-        <script>
-            // Inject scripts to receive messages from instances
-            ArtplayerPluginIframe.inject();
-        </script>
-    </body>
-</html>

index.html Interface

commit

Push messages from index.html to iframe.html. This function will run inside iframe.html and can also be used to asynchronously retrieve values from within iframe.html.

js
iframe.commit(() => {
-    var art = new Artplayer({
-        container: '.artplayer-app',
-        url: 'path/to/video.mp4',
-    });
-});
-
-iframe.commit(() => {
-    art.seek = 5;
-});
-
-// Get the value from the iframe.html
-(async function () {
-    // Use the return keyword
-    var currentTime = await iframe.commit(() => {
-        return art.currentTime;
-    });
-
-    // or use the resolve method
-    var currentTime2 = await iframe.commit((resolve) => {
-        setTimeout(() => {
-            resolve(art.currentTime);
-        }, 1000);
-    });
-})();

message

Receive messages from iframe.html in index.html

js
iframe.message((event) => {
-    console.info(event);
-});

destroy

After destruction, index.html can no longer communicate with iframe.html

js
iframe.destroy();

iframe.html Interface

Warning

The iframe.html interface can only run inside iframe.html

inject

Inject a script, receive messages from index.html

js
ArtplayerPluginIframe.inject();

postMessage

Push messages to index.html

js
iframe.message((event) => {
-    console.info(event);
-});
-
-iframe.commit(() => {
-    ArtplayerPluginIframe.postMessage({
-        type: 'currentTime',
-        data: art.currentTime,
-    });
-});

例子

最常遇到的问题是,播放器在 iframe.html 里进行网页全屏,但在 index.html 是不生效的,这时候只要监听 iframe.html 里的 fullscreenWeb 事件并通知到 index.html 即可

html

-<!DOCTYPE html>
-<html>
-    <head>
-        <title>ArtPlayer</title>
-        <meta charset="UTF-8" />
-    </head>
-    <body>
-        <iframe id="iframe"></iframe>
-        <script src="path/to/artplayer-plugin-iframe.js"></script>
-        <style>
-            .fullscreenWeb {
-                position: fixed;
-                z-index: 9999;
-                width: 100%;
-                height: 100%;
-                left: 0;
-                top: 0;
-                right: 0;
-                bottom: 0;
-            }
-        </style>
-        <script>
-            const $iframe = document.querySelector('#iframe');
-            const iframe = new ArtplayerPluginIframe({
-                iframe: $iframe,
-                url: 'path/to/iframe.html',
-            });
-
-            iframe.message(({ type, data }) => {
-                switch (type) {
-                    case 'fullscreenWeb':
-                        if (data) {
-                            $iframe.classList.add('fullscreenWeb');
-                        } else {
-                            $iframe.classList.remove('fullscreenWeb');
-                        }
-                        break;
-                    default:
-                        break;
-                }
-            });
-
-            iframe.commit(() => {
-                var art = new Artplayer({
-                    container: '.artplayer-app',
-                    url: 'path/to/video.mp4',
-                });
-
-                art.on('fullscreenWeb', (state) => {
-                    ArtplayerPluginIframe.postMessage({
-                        type: 'fullscreenWeb',
-                        data: state,
-                    });
-                });
-            });
-        </script>
-    </body>
-</html>
html

-<!DOCTYPE html>
-<html>
-    <head>
-        <title>ArtPlayer</title>
-        <meta charset="UTF-8" />
-        <style>
-            html,
-            body {
-                width: 100%;
-                height: 100%;
-                margin: 0;
-                padding: 0;
-            }
-        </style>
-    </head>
-    <body>
-        <div class="artplayer-app" style="width: 100%; height: 100%;"></div>
-        <script src="path/to/artplayer.js"></script>
-        <script src="path/to/artplayer-plugin-iframe.js"></script>
-        <script>
-            ArtplayerPluginIframe.inject();
-        </script>
-    </body>
-</html>
- - - - \ No newline at end of file diff --git a/document/en/start/i18n.html b/document/en/start/i18n.html index 5d553e06e..4fb9e896f 100644 --- a/document/en/start/i18n.html +++ b/document/en/start/i18n.html @@ -5,26 +5,28 @@ Language Settings | Artplayer.js - - + + - + - - - + + + + + -
Skip to content

Language Settings

DANGER

Given the increasing number of bundled multilingual packs, starting from version 5.1.0, the core code of artplayer.js will no longer include other languages besides Simplified Chinese and English. You need to import the required languages on your own.

WARNING

When a language cannot be matched, English will be displayed by default. For i18n usage, refer to: artplayer/types/i18n.d.ts

Default Languages

The default languages are: en, zh-cn, which do not require manual import.

js
var art = new Artplayer({
+    
Skip to content

Language Settings

DANGER

Given the increasing number of bundled multilingual packs, starting from version 5.1.0, the core code of artplayer.js will no longer include other languages besides Simplified Chinese and English. You need to import the required languages on your own.

WARNING

When a language cannot be matched, English will be displayed by default. For i18n usage, refer to: artplayer/types/i18n.d.ts

Default Languages

The default languages are: en, zh-cn, which do not require manual import.

js
var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
     lang: 'zh-cn', // or 'en'
-});

Importing Languages

Language files before packaging are located in: artplayer/src/i18n/*.js. You are welcome to add your language. Packaged language files are located at: artplayer/dist/i18n/*.js

Manually imported languages include: cs, es, fa, fr, id, pl, ru, zh-tw

js
import id from 'artplayer/dist/i18n/id.js';
+});

Importing Languages

Language files before packaging are located in: artplayer/src/i18n/*.js. You are welcome to add your language. Packaged language files are located at: artplayer/dist/i18n/*.js

Manually imported languages include: cs, es, fa, fr, id, pl, ru, zh-tw

js
import id from 'artplayer/dist/i18n/id.js';
 import zhTw from 'artplayer/dist/i18n/zh-tw.js';
 
 var art = new Artplayer({
@@ -71,8 +73,8 @@
             Play: 'Your Play'
         },
     },
-});
- +});
+ \ No newline at end of file diff --git a/document/en/start/option.html b/document/en/start/option.html index a38bbdfc3..45931c928 100644 --- a/document/en/start/option.html +++ b/document/en/start/option.html @@ -5,22 +5,24 @@ Basic Options | Artplayer.js - - + + - + - - - + + + + + -
Skip to content

Basic Options

container

  • Type: String, Element
  • Default: #artplayer

The DOM container where the player mounts

▶ Run Code
js
var art = new Artplayer({
+    
Skip to content

Basic Options

container

  • Type: String, Element
  • Default: #artplayer

The DOM container where the player mounts

▶ Run Code
js
var art = new Artplayer({
     container: '.artplayer-app', 
     // container: document.querySelector('.artplayer-app'),
     url: '/assets/sample/video.mp4',
@@ -123,7 +125,7 @@
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
     hotkey: true,
-});
HotkeyDescription
Increase volume
Decrease volume
Fast forward video
Rewind video
spaceToggle play/pause

Tip

These hotkeys will only work after the player gains focus (such as after clicking on the player).

pip

  • Type: Boolean
  • Default: false Show the Picture in Picture switch button on the bottom control bar
▶ Run Code
js
var art = new Artplayer({
+});
HotkeyDescription
Increase volume
Decrease volume
Fast forward video
Rewind video
spaceToggle play/pause

Tip

These hotkeys will only work after the player gains focus (such as after clicking on the player).

pip

  • Type: Boolean
  • Default: false Show the Picture in Picture switch button on the bottom control bar
▶ Run Code
js
var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
     pip: true,
@@ -247,7 +249,7 @@
             },
         },
     ],
-});

Component Configuration Refer to the following address:

/component/controls.html

quality

  • Type: Array
  • Default: []

Whether to show the quality selection list in the bottom control bar

PropertyTypeDescription
defaultBooleanDefault quality
htmlStringQuality name
urlStringQuality URL
▶ Run Code
js
var art = new Artplayer({
+});

Component Configuration Refer to the following address:

/component/controls.html

quality

  • Type: Array
  • Default: []

Whether to show the quality selection list in the bottom control bar

PropertyTypeDescription
defaultBooleanDefault quality
htmlStringQuality name
urlStringQuality URL
▶ Run Code
js
var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
     quality: [
@@ -261,7 +263,7 @@
             url: '/assets/sample/video.mp4',
         },
     ],
-});

highlight

  • Type: Array
  • Default: []

Show highlight information on the progress bar

PropertyTypeDescription
timeNumberHighlight time (in seconds)
textStringHighlight text
▶ Run Code
js
var art = new Artplayer({
+});

highlight

  • Type: Array
  • Default: []

Show highlight information on the progress bar

PropertyTypeDescription
timeNumberHighlight time (in seconds)
textStringHighlight text
▶ Run Code
js
var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
     highlight: [
@@ -301,7 +303,7 @@
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
     plugins: [myPlugin],
-});

thumbnails

  • Type: Object
  • Default: {}

Set thumbnails on the progress bar

PropertyTypeDescription
urlStringThumbnail URL
numberNumberNumber of thumbnails
columnNumberColumns of thumbnails
widthNumberThumbnail width
heightNumberThumbnail height
▶ Run Code
js
var art = new Artplayer({
+});

thumbnails

  • Type: Object
  • Default: {}

Set thumbnails on the progress bar

PropertyTypeDescription
urlStringThumbnail URL
numberNumberNumber of thumbnails
columnNumberColumns of thumbnails
widthNumberThumbnail width
heightNumberThumbnail height
▶ Run Code
js
var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
     thumbnails: {
@@ -309,7 +311,7 @@
         number: 60,
         column: 10,
     },
-});

Online thumbnail generation

artplayer-tool-thumbnail

subtitle

  • Type: Object
  • Default: {}

Set the video subtitles, supporting subtitle formats: vtt, srt, ass

PropertyTypeDescription
nameStringSubtitle name
urlStringSubtitle URL
typeStringSubtitle type, options: vtt, srt, ass

| style | Object | Subtitle style | | encoding | String | Subtitle encoding, default utf-8 | | escape | Boolean | Whether to escape html tags, default true | | onVttLoad | Function | Function to modify vtt text |

▶ Run Code
js
var art = new Artplayer({
+});

Online thumbnail generation

artplayer-tool-thumbnail

subtitle

  • Type: Object
  • Default: {}

Set the video subtitles, supporting subtitle formats: vtt, srt, ass

PropertyTypeDescription
nameStringSubtitle name
urlStringSubtitle URL
typeStringSubtitle type, options: vtt, srt, ass

| style | Object | Subtitle style | | encoding | String | Subtitle encoding, default utf-8 | | escape | Boolean | Whether to escape html tags, default true | | onVttLoad | Function | Function to modify vtt text |

▶ Run Code
js
var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
     subtitle: {
@@ -399,8 +401,8 @@
     cssVar: {
         //
     },
-});

Reference for cssVar syntax

artplayer/types/cssVar.d.ts

- +});

Reference for cssVar syntax

artplayer/types/cssVar.d.ts

+ \ No newline at end of file diff --git a/document/hashmap.json b/document/hashmap.json index 9aa70c03d..cb92dab0f 100644 --- a/document/hashmap.json +++ b/document/hashmap.json @@ -1 +1 @@ -{"advanced_class.md":"1_Qn7xo8","advanced_plugin.md":"2HyC-tGz","advanced_built-in.md":"DmzqXfxm","advanced_global.md":"AD97Z3-7","component_contextmenu.md":"BJEn6dWt","component_controls.md":"BYiGOdHR","advanced_event.md":"DIa3aeXS","component_layers.md":"CwYgrgxj","advanced_property.md":"CYjLkVe3","component_setting.md":"DyK4mklZ","en_advanced_class.md":"mixu78XH","en_advanced_built-in.md":"2IAm3gis","en_advanced_plugin.md":"xm12vlBU","en_advanced_global.md":"DlSHTMOC","en_advanced_event.md":"CkF3W8ym","en_component_contextmenu.md":"uSIzNo9m","en_component_layers.md":"fymDx04R","en_component_controls.md":"DgtD9xxu","en_library_dash.md":"DX1YLUoV","en_library_flv.md":"BGe1v4Lx","en_component_setting.md":"UN5J6naQ","en_library_hls.md":"DAEC9wJG","en_plugin_dash-quality.md":"CmKTKIX1","en_plugin_ads.md":"B15fMRFM","en_index.md":"BWJ8NY_j","en_plugin_hls-quality.md":"BiRuZ3tL","en_advanced_property.md":"B6mgqp4Q","en_start_i18n.md":"DHealdL7","en_plugin_danmuku.md":"DwUNBb7S","en_plugin_iframe.md":"Bb8FK2M7","library_dash.md":"1Czoi6Go","library_flv.md":"C49DbVRN","library_hls.md":"CvE_u2CQ","plugin_ads.md":"DiSI9MdU","plugin_hls-quality.md":"DwNB4Q2D","plugin_dash-quality.md":"zwMqa6A4","index.md":"QqOTVt-D","plugin_iframe.md":"BouVq-4j","start_i18n.md":"B5YaDutN","plugin_danmuku.md":"LIEFac-0","en_start_option.md":"C8PufWlv","start_option.md":"Bww-xQnc"} +{"component_contextmenu.md":"qE60TY3S","en_advanced_event.md":"CPzjTq9Z","advanced_class.md":"DmiQrVry","en_component_contextmenu.md":"DKJYyZz3","en_component_controls.md":"BXxe9A4F","en_advanced_built-in.md":"Dlrc1KyU","start_i18n.md":"CPiytgtM","en_component_layers.md":"4vLDHf2F","en_index.md":"C4b6ZydJ","en_advanced_global.md":"CqhD0oCj","advanced_property.md":"CsChyVZ8","index.md":"BFGhgebz","advanced_plugin.md":"D4HmOHq-","plugin_danmuku.md":"CWF4WEhd","advanced_event.md":"BZeGx_rq","en_start_i18n.md":"Bm8clzNy","en_component_setting.md":"C2oQ5svJ","en_advanced_plugin.md":"FEKZicGn","en_advanced_class.md":"D-yes8Yl","en_start_option.md":"DQ8fijxb","advanced_built-in.md":"DF0gNeZX","component_controls.md":"qsW-Fw21","component_layers.md":"ET912xz2","start_option.md":"Bpwk5Bj8","en_advanced_property.md":"BgeqHkZ6","component_setting.md":"DocCYZfm","advanced_global.md":"IzVetOq-"} diff --git a/document/index.html b/document/index.html index 7565e458e..a7a723802 100644 --- a/document/index.html +++ b/document/index.html @@ -5,27 +5,24 @@ 安装使用 | Artplayer.js - - + + - + - - - + + + + + -
Skip to content

安装使用

安装

bash
npm install artplayer
bash
yarn add artplayer
bash
pnpm add artplayer
html
<script src="path/to/artplayer.js"></script>

CDN

bash
https://cdn.jsdelivr.net/npm/artplayer/dist/artplayer.js
bash
https://unpkg.com/artplayer/dist/artplayer.js

使用

js
import Artplayer from 'artplayer';
-
-const art = new Artplayer({
-    container: '.artplayer-app',
-    url: 'path/to/video.mp4',
-});
html
<html>
+    
Skip to content

安装使用

安装

bash
npm install artplayer
bash
yarn add artplayer
bash
pnpm add artplayer
html
<script src="path/to/artplayer.js"></script>

CDN

bash
https://cdn.jsdelivr.net/npm/artplayer/dist/artplayer.js
bash
https://unpkg.com/artplayer/dist/artplayer.js

使用

html
<html>
     <head>
         <title>ArtPlayer Demo</title>
         <meta charset="UTF-8" />
@@ -38,8 +35,15 @@
     </head>
     <body>
         <div class="artplayer-app"></div>
+        <script src="path/to/artplayer.js"></script>
+        <script>
+          const art = new Artplayer({
+              container: '.artplayer-app',
+              url: 'path/to/video.mp4',
+          });
+        </script>
     </body>
-</html>

提示

播放器的尺寸依赖于容器 container 的尺寸,所以你的容器 container 必须是有尺寸的

以下链接可以看到更多的使用例子

/packages/artplayer-template

Vue.js

vue
<template>
+</html>

提示

播放器的尺寸依赖于容器 container 的尺寸,所以你的容器 container 必须是有尺寸的

以下链接可以看到更多的使用例子

/packages/artplayer-template

Vue.js

vue
<template>
   <div ref="artRef"></div>
 </template>
 
@@ -103,7 +107,7 @@
     },
   },
 };
-</script>

Artplayer 非响应式:

Vue.js 里直接修改 option 是不会改变播放器的

React.js

jsx
import { useEffect, useRef } from 'react';
+</script>

Artplayer 非响应式:

Vue.js 里直接修改 option 是不会改变播放器的

React.js

jsx
import { useEffect, useRef } from 'react';
 import Artplayer from 'artplayer';
 
 export default function Player({ option, getInstance, ...rest }) {
@@ -154,17 +158,16 @@
 art.value = new Artplayer();
 </script>

React.js

jsx
import Artplayer from 'artplayer';
 const art = useRef<Artplayer>(null);
-art.current = new Artplayer();

Option

你也可以单独导入选项的类型

ts
import Artplayer from 'artplayer';
-import { type Option } from 'artplayer/types/option';
+art.current = new Artplayer();

Option

你也可以使用选项的类型

ts
import Artplayer from 'artplayer';
 
-const option: Option = {
+const option: Artplayer['Option'] = {
     container: '.artplayer-app',
     url: './assets/sample/video.mp4',
 };
 
 option.volume = 0.5;
 
-const art = new Artplayer(option);

全部 TypeScript 定义

packages/artplayer/types

JavaScript

有时你的 js 文件会丢失 TypeScript 的类型提示,这时候你可以手动导入类型

变量:

js
/**
+const art = new Artplayer(option);

全部 TypeScript 定义

packages/artplayer/types

JavaScript

有时你的 js 文件会丢失 TypeScript 的类型提示,这时候你可以手动导入类型

变量:

js
/**
  * @type {import("artplayer")}
  */
 let art = null;

参数:

js
/**
@@ -192,8 +195,8 @@
 
 option.volume = 0.5;
 
-const art8 = new Artplayer(option);

古老的浏览器

生产构建的 artplayer.js 只兼容最新一个主版本的 Chromelast 1 Chrome version

对于古老的浏览器,可以使用 artplayer.legacy.js 文件,可以兼容到:IE 11

js
import Artplayer from 'artplayer/dist/artplayer.legacy.js';
bash
https://cdn.jsdelivr.net/npm/artplayer/dist/artplayer.legacy.js
bash
https://unpkg.com/artplayer/dist/artplayer.legacy.js

假如你要兼容更古老的浏览器时,请修改以下配置然后自行构建:

构建配置:scripts/build.js

参考文档:browserslist

- +const art8 = new Artplayer(option);

古老的浏览器

生产构建的 artplayer.js 只兼容最新一个主版本的 Chromelast 1 Chrome version

对于古老的浏览器,可以使用 artplayer.legacy.js 文件,可以兼容到:IE 11

js
import Artplayer from 'artplayer/dist/artplayer.legacy.js';
bash
https://cdn.jsdelivr.net/npm/artplayer/dist/artplayer.legacy.js
bash
https://unpkg.com/artplayer/dist/artplayer.legacy.js

假如你要兼容更古老的浏览器时,请修改以下配置然后自行构建:

构建配置:scripts/build.js

参考文档:browserslist

+ \ No newline at end of file diff --git a/document/library/dash.html b/document/library/dash.html deleted file mode 100644 index 69fed1a9d..000000000 --- a/document/library/dash.html +++ /dev/null @@ -1,50 +0,0 @@ - - - - - - dash.js | Artplayer.js - - - - - - - - - - - - - - - - -
Skip to content

dash.js

👉 https://github.com/Dash-Industry-Forum/dash.js

▶ Run Code
js
function playMpd(video, url, art) {
-    if (dashjs.supportsMediaSource()) {
-        if (art.dash) art.dash.destroy();
-        const dash = dashjs.MediaPlayer().create();
-        dash.initialize(video, url, art.option.autoplay);
-        art.dash = dash; 
-        art.on('destroy', () => dash.destroy());
-    } else {
-        art.notice.show = 'Unsupported playback format: mpd';
-    }
-}
-
-var art = new Artplayer({
-    container: '.artplayer-app',
-    url: 'https://dash.akamaized.net/akamai/bbb_30fps/bbb_30fps.mpd',
-    type: 'mpd',
-    customType: {
-        mpd: playMpd
-    },
-});
-
-art.on('ready', () => {
-    console.info(art.dash);
-});
- - - - \ No newline at end of file diff --git a/document/library/flv.html b/document/library/flv.html deleted file mode 100644 index c9fb725ae..000000000 --- a/document/library/flv.html +++ /dev/null @@ -1,51 +0,0 @@ - - - - - - flv.js | Artplayer.js - - - - - - - - - - - - - - - - -
Skip to content

flv.js

👉 https://github.com/Bilibili/flv.js

▶ Run Code
js
function playFlv(video, url, art) {
-    if (flvjs.isSupported()) {
-        if (art.flv) art.flv.destroy();
-        const flv = flvjs.createPlayer({ type: 'flv', url });
-        flv.attachMediaElement(video);
-        flv.load();
-        art.flv = flv; 
-        art.on('destroy', () => flv.destroy());
-    } else {
-        art.notice.show = 'Unsupported playback format: flv';
-    }
-}
-
-var art = new Artplayer({
-    container: '.artplayer-app',
-    url: '/assets/sample/video.flv',
-    type: 'flv',
-    customType: {
-        flv: playFlv,
-    },
-});
-
-art.on('ready', () => {
-    console.info(art.flv);
-});
- - - - \ No newline at end of file diff --git a/document/library/hls.html b/document/library/hls.html deleted file mode 100644 index 82c966365..000000000 --- a/document/library/hls.html +++ /dev/null @@ -1,53 +0,0 @@ - - - - - - hls.js | Artplayer.js - - - - - - - - - - - - - - - - -
Skip to content

hls.js

👉 https://github.com/video-dev/hls.js

▶ Run Code
js
function playM3u8(video, url, art) {
-    if (Hls.isSupported()) {
-        if (art.hls) art.hls.destroy();
-        const hls = new Hls();
-        hls.loadSource(url);
-        hls.attachMedia(video);
-        art.hls = hls;
-        art.on('destroy', () => hls.destroy());
-    } else if (video.canPlayType('application/vnd.apple.mpegurl')) {
-        video.src = url;
-    } else {
-        art.notice.show = 'Unsupported playback format: m3u8';
-    }
-}
-
-var art = new Artplayer({
-    container: '.artplayer-app',
-    url: 'https://test-streams.mux.dev/x36xhzz/x36xhzz.m3u8',
-    type: 'm3u8',
-    customType: {
-        m3u8: playM3u8,
-    },
-});
-
-art.on('ready', () => {
-    console.info(art.hls);
-});
- - - - \ No newline at end of file diff --git a/document/main.js b/document/main.js index e3cf6426d..636b9f796 100644 --- a/document/main.js +++ b/document/main.js @@ -8,7 +8,8 @@ if (codeElement) { const libs = event.target.dataset.libs || ''; const code = encodeURIComponent(codeElement.innerText); - const env = 'https://artplayer.org'; + const isDev = location.hostname === 'localhost'; + const env = isDev ? 'http://localhost:8082' : 'https://artplayer.org'; const url = env + '/?libs=' + libs + '&code=' + code; window.open(url); } diff --git a/document/plugin/ads.html b/document/plugin/ads.html deleted file mode 100644 index 2f31d6492..000000000 --- a/document/plugin/ads.html +++ /dev/null @@ -1,74 +0,0 @@ - - - - - - 视频广告 | Artplayer.js - - - - - - - - - - - - - - - - -
Skip to content

视频广告

演示

👉 查看完整演示

安装

bash
npm install artplayer-plugin-ads
bash
yarn add artplayer-plugin-ads
bash
pnpm add artplayer-plugin-ads
html
<script src="path/to/artplayer-plugin-ads.js"></script>

CDN

bash
https://cdn.jsdelivr.net/npm/artplayer-plugin-ads/dist/artplayer-plugin-ads.js
bash
https://unpkg.com/artplayer-plugin-ads/dist/artplayer-plugin-ads.js

使用

▶ Run Code
js
var art = new Artplayer({
-    container: '.artplayer-app',
-    url: '/assets/sample/video.mp4',
-    autoSize: true,
-    fullscreen: true,
-    fullscreenWeb: true,
-    plugins: [
-        artplayerPluginAds({
-            // html广告,假如是视频广告则忽略该值
-            html: '<img src="/assets/sample/poster.jpg">',
-
-            // 视频广告的地址
-            video: '/assets/sample/test1.mp4',
-
-            // 广告跳转网址,为空则不跳转
-            url: 'http://artplayer.org',
-
-            // 必须观看的时长,期间不能被跳过,单位为秒
-            // 当该值大于或等于totalDuration时,不能提前关闭广告
-            // 当该值等于或小于0时,则随时都可以关闭广告
-            playDuration: 5,
-
-            // 广告总时长,单位为秒
-            totalDuration: 10,
-
-            // 视频广告是否默认静音
-            muted: false,
-
-            // 多语言支持
-            i18n: {
-                close: '关闭广告',
-                countdown: '%s秒',
-                detail: '查看详情',
-                canBeClosed: '%s秒后可关闭广告',
-            },
-        }),
-    ],
-});
-
-// ad is clicked
-art.on('artplayerPluginAds:click', (ads) => {
-    console.info(ads);
-});
-
-// Ad skipped
-art.on('artplayerPluginAds:skip', (ads) => {
-    console.info(ads);
-});
- - - - \ No newline at end of file diff --git a/document/plugin/danmuku.html b/document/plugin/danmuku.html index bc8e5753b..96cc3dd35 100644 --- a/document/plugin/danmuku.html +++ b/document/plugin/danmuku.html @@ -5,31 +5,32 @@ 弹幕库 | Artplayer.js - - + + - + - - - + + + + + -
Skip to content

弹幕库

演示

👉 查看完整演示

安装

bash
npm install artplayer-plugin-danmuku
bash
yarn add artplayer-plugin-danmuku
bash
pnpm add artplayer-plugin-danmuku
html
<script src="path/to/artplayer-plugin-danmuku.js"></script>

CDN

bash
https://cdn.jsdelivr.net/npm/artplayer-plugin-danmuku/dist/artplayer-plugin-danmuku.js
bash
https://unpkg.com/artplayer-plugin-danmuku/dist/artplayer-plugin-danmuku.js

弹幕结构

每一个弹幕是一个对象,多个弹幕组成的数组就是弹幕源,通常只需要text就可以发送一个弹幕,其余都是非必要参数

js
{
+    
Skip to content

弹幕库

演示

👉 查看完整演示

安装

bash
npm install artplayer-plugin-danmuku
bash
yarn add artplayer-plugin-danmuku
bash
pnpm add artplayer-plugin-danmuku
html
<script src="path/to/artplayer-plugin-danmuku.js"></script>

CDN

bash
https://cdn.jsdelivr.net/npm/artplayer-plugin-danmuku/dist/artplayer-plugin-danmuku.js
bash
https://unpkg.com/artplayer-plugin-danmuku/dist/artplayer-plugin-danmuku.js

弹幕结构

每一个弹幕是一个对象,多个弹幕组成的数组就是弹幕库,通常只需要text就可以发送一个弹幕,其余都是非必要参数

js
{
     text: '', // 弹幕文本
     time: 10, // 弹幕时间, 默认为当前播放器时间
     mode: 0, // 弹幕模式: 0: 滚动(默认),1: 顶部,2: 底部
     color: '#FFFFFF', // 弹幕颜色,默认为白色
     border: false, // 弹幕是否有描边, 默认为 false
     style: {}, // 弹幕自定义样式, 默认为空对象
-    escape: true, // 弹幕文本是否转义, 默认为 true
-}

全部选项

只有danmuku是必须的参数,其余都是非必填

js
{
-    danmuku: [], // 弹幕源
+}

全部选项

只有danmuku是必须的参数,其余都是非必填

js
{
+    danmuku: [], // 弹幕数据
     speed: 5, // 弹幕持续时间,范围在[1 ~ 10]
     margin: [10, '25%'], // 弹幕上下边距,支持像素数字和百分比
     opacity: 1, // 弹幕透明度,范围在[0 ~ 1]
@@ -41,15 +42,22 @@
     synchronousPlayback: false, // 是否同步播放速度
     mount: undefined, // 弹幕发射器挂载点, 默认为播放器控制栏中部
     heatmap: false, // 是否开启热力图
+    width: 512, // 当播放器宽度小于此值时,弹幕发射器置于播放器底部
     points: [], // 热力图数据
     filter: () => true, // 弹幕载入前的过滤器,只支持返回布尔值
     beforeEmit: () => true, // 弹幕发送前的过滤器,支持返回 Promise
     beforeVisible: () => true, // 弹幕显示前的过滤器,支持返回 Promise
     visible: true, // 弹幕层是否可见
+    emitter: true, // 是否开启弹幕发射器
     maxLength: 200, // 弹幕输入框最大长度, 范围在[1 ~ 1000]
     lockTime: 5, // 输入框锁定时间,范围在[1 ~ 60]
     theme: 'dark', // 弹幕主题,支持 dark 和 light,只在自定义挂载时生效
-}

生命周期

来自用户输入的弹幕:

beforeEmit -> filter -> beforeVisible -> artplayerPluginDanmuku:visible

来自服务器的弹幕:

filter -> beforeVisible -> artplayerPluginDanmuku:visible

▶ Run Code
js
// 保存到数据库
+    OPACITY: {}, // 不透明度配置项
+    FONT_SIZE: {}, // 弹幕字号配置项
+    MARGIN: {}, // 显示区域配置项
+    SPEED: {}, // 弹幕速度配置项
+    COLOR: [], // 颜色列表配置项
+}

生命周期

来自用户输入的弹幕:

beforeEmit -> filter -> beforeVisible -> artplayerPluginDanmuku:visible

来自服务器的弹幕:

filter -> beforeVisible -> artplayerPluginDanmuku:visible

▶ Run Code
js
// 保存到数据库
 function saveDanmu(danmu) {
     return new Promise(resolve => {
         setTimeout(() => {
@@ -230,34 +238,46 @@
             },
         },
     ],
-});

load

通过 load 方法可以重载弹幕源,或者切换新弹幕

▶ Run Code
js
var art = new Artplayer({
+});

load

通过 load 方法可以重载弹幕库,或者切换新弹幕库,或者追加新的弹幕库

▶ Run Code
js
var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
     plugins: [
         artplayerPluginDanmuku({
             danmuku: '/assets/sample/danmuku.xml',
+            emitter: false,
         }),
     ],
     controls: [
         {
             position: 'right',
-            html: '重载弹幕',
+            html: '重载',
             click: function () {
+                // 重新加载当前弹幕库
                 art.plugins.artplayerPluginDanmuku.load();
             },
         },
         {
             position: 'right',
-            html: '切换弹幕',
+            html: '切换',
             click: function () {
+                // 切换到新的弹幕库
                 art.plugins.artplayerPluginDanmuku.config({
                     danmuku: '/assets/sample/danmuku-v2.xml',
                 });
                 art.plugins.artplayerPluginDanmuku.load();
             },
         },
+        {
+            position: 'right',
+            html: '追加',
+            click: function () {
+                // 追加新的弹幕库,参数类型和option.danmuku相同
+                const target = '/assets/sample/danmuku.xml'
+                art.plugins.artplayerPluginDanmuku.load(target);
+            },
+        },
     ],
-});

reset

用于清空当前显示的弹幕

▶ Run Code
js
var art = new Artplayer({
+});

reset

用于清空当前显示的弹幕

▶ Run Code
js
var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
     plugins: [
@@ -343,10 +363,14 @@
     console.info('弹幕显示');
 });
 
+art.on('artplayerPluginDanmuku:reset', () => {
+    console.info('弹幕重置');
+});
+
 art.on('artplayerPluginDanmuku:destroy', () => {
     console.info('弹幕销毁');
-});
- +});
+ \ No newline at end of file diff --git a/document/plugin/dash-quality.html b/document/plugin/dash-quality.html deleted file mode 100644 index 66ca9829f..000000000 --- a/document/plugin/dash-quality.html +++ /dev/null @@ -1,27 +0,0 @@ - - - - - - Dash 画质 | Artplayer.js - - - - - - - - - - - - - - - - -
Skip to content

Dash 画质

演示

👉 查看完整演示

安装

bash
npm install artplayer-plugin-dash-quality
bash
yarn add artplayer-plugin-dash-quality
bash
pnpm add artplayer-plugin-dash-quality
html
<script src="path/to/artplayer-plugin-dash-quality.js"></script>

CDN

bash
https://cdn.jsdelivr.net/npm/artplayer-plugin-dash-quality/dist/artplayer-plugin-dash-quality.js
bash
https://unpkg.com/artplayer-plugin-dash-quality/dist/artplayer-plugin-dash-quality.js
- - - - \ No newline at end of file diff --git a/document/plugin/hls-quality.html b/document/plugin/hls-quality.html deleted file mode 100644 index 0bf8955a2..000000000 --- a/document/plugin/hls-quality.html +++ /dev/null @@ -1,27 +0,0 @@ - - - - - - HLS 画质 | Artplayer.js - - - - - - - - - - - - - - - - -
Skip to content

HLS 画质

演示

👉 查看完整演示

安装

bash
npm install artplayer-plugin-hls-quality
bash
yarn add artplayer-plugin-hls-quality
bash
pnpm add artplayer-plugin-hls-quality
html
<script src="path/to/artplayer-plugin-hls-quality.js"></script>

CDN

bash
https://cdn.jsdelivr.net/npm/artplayer-plugin-hls-quality/dist/artplayer-plugin-hls-quality.js
bash
https://unpkg.com/artplayer-plugin-hls-quality/dist/artplayer-plugin-hls-quality.js
- - - - \ No newline at end of file diff --git a/document/plugin/iframe.html b/document/plugin/iframe.html deleted file mode 100644 index f0b69b9f6..000000000 --- a/document/plugin/iframe.html +++ /dev/null @@ -1,194 +0,0 @@ - - - - - - Iframe 控制 | Artplayer.js - - - - - - - - - - - - - - - - -
Skip to content

Iframe 控制

说明

通过该插件,你可以轻松在 index.html 里控制跨域 iframe.html 页面里的播放器,如在 index.html 里通过代码控制 iframe.html 播放器的功能,或者获取 iframe.html 播放器的值

演示

👉 查看完整演示

安装

bash
npm install artplayer-plugin-iframe
bash
yarn add artplayer-plugin-iframe
bash
pnpm add artplayer-plugin-iframe
html
<script src="path/to/artplayer-plugin-iframe.js"></script>

CDN

bash
https://cdn.jsdelivr.net/npm/artplayer-plugin-iframe/dist/artplayer-plugin-iframe.js
bash
https://unpkg.com/artplayer-plugin-iframe/dist/artplayer-plugin-iframe.js

使用

html
<!DOCTYPE html>
-<html>
-    <head>
-        <title>ArtPlayer</title>
-        <meta charset="UTF-8" />
-    </head>
-    <body>
-        <iframe id="iframe"></iframe>
-        <script src="path/to/artplayer-plugin-iframe.js"></script>
-        <script>
-            const iframe = new ArtplayerPluginIframe({
-                // Iframe element
-                iframe: document.querySelector('#iframe'),
-                // Iframe url
-                url: 'path/to/iframe.html',
-            });
-
-            // Send message to iframe
-            iframe.commit(() => {
-                var art = new Artplayer({
-                    container: '.artplayer-app',
-                    url: 'path/to/video.mp4',
-                });
-            });
-        </script>
-    </body>
-</html>
html
<!DOCTYPE html>
-<html>
-    <head>
-        <title>ArtPlayer</title>
-        <meta charset="UTF-8" />
-        <style>
-            html,
-            body {
-                width: 100%;
-                height: 100%;
-                margin: 0;
-                padding: 0;
-            }
-        </style>
-    </head>
-    <body>
-        <div class="artplayer-app" style="width: 100%; height: 100%;"></div>
-        <script src="path/to/artplayer.js"></script>
-        <script src="path/to/artplayer-plugin-iframe.js"></script>
-        <script>
-            // Inject scripts to receive messages from instances
-            ArtplayerPluginIframe.inject();
-        </script>
-    </body>
-</html>

index.html 接口

commit

index.html 将消息推送到 iframe.html,该函数将在 iframe.html 内部运行,同时它也能用于异步获取 iframe.html 里的值

js
iframe.commit(() => {
-    var art = new Artplayer({
-        container: '.artplayer-app',
-        url: 'path/to/video.mp4',
-    });
-});
-
-iframe.commit(() => {
-    art.seek = 5;
-});
-
-// Get the value from the iframe.html
-(async function () {
-    // Use the return keyword
-    var currentTime = await iframe.commit(() => {
-        return art.currentTime;
-    });
-
-    // or use the resolve method
-    var currentTime2 = await iframe.commit((resolve) => {
-        setTimeout(() => {
-            resolve(art.currentTime);
-        }, 1000);
-    });
-})();

message

index.html 接收来自 iframe.html 的消息

js
iframe.message((event) => {
-    console.info(event);
-});

destroy

销毁后 index.html 无法与 iframe.html 通信

js
iframe.destroy();

iframe.html 接口

提示

iframe.html 接口 只能运行在 iframe.html

inject

注入脚本,接收来自 index.html 的消息

js
ArtplayerPluginIframe.inject();

postMessage

将消息推送到 index.html

js
iframe.message((event) => {
-    console.info(event);
-});
-
-iframe.commit(() => {
-    ArtplayerPluginIframe.postMessage({
-        type: 'currentTime',
-        data: art.currentTime,
-    });
-});

例子

最常遇到的问题是,播放器在 iframe.html 里进行网页全屏,但在 index.html 是不生效的,这时候只要监听 iframe.html 里的 fullscreenWeb 事件并通知到 index.html 即可

html

-<!DOCTYPE html>
-<html>
-    <head>
-        <title>ArtPlayer</title>
-        <meta charset="UTF-8" />
-    </head>
-    <body>
-        <iframe id="iframe"></iframe>
-        <script src="path/to/artplayer-plugin-iframe.js"></script>
-        <style>
-            .fullscreenWeb {
-                position: fixed;
-                z-index: 9999;
-                width: 100%;
-                height: 100%;
-                left: 0;
-                top: 0;
-                right: 0;
-                bottom: 0;
-            }
-        </style>
-        <script>
-            const $iframe = document.querySelector('#iframe');
-            const iframe = new ArtplayerPluginIframe({
-                iframe: $iframe,
-                url: 'path/to/iframe.html',
-            });
-
-            iframe.message(({ type, data }) => {
-                switch (type) {
-                    case 'fullscreenWeb':
-                        if (data) {
-                            $iframe.classList.add('fullscreenWeb');
-                        } else {
-                            $iframe.classList.remove('fullscreenWeb');
-                        }
-                        break;
-                    default:
-                        break;
-                }
-            });
-
-            iframe.commit(() => {
-                var art = new Artplayer({
-                    container: '.artplayer-app',
-                    url: 'path/to/video.mp4',
-                });
-
-                art.on('fullscreenWeb', (state) => {
-                    ArtplayerPluginIframe.postMessage({
-                        type: 'fullscreenWeb',
-                        data: state,
-                    });
-                });
-            });
-        </script>
-    </body>
-</html>
html

-<!DOCTYPE html>
-<html>
-    <head>
-        <title>ArtPlayer</title>
-        <meta charset="UTF-8" />
-        <style>
-            html,
-            body {
-                width: 100%;
-                height: 100%;
-                margin: 0;
-                padding: 0;
-            }
-        </style>
-    </head>
-    <body>
-        <div class="artplayer-app" style="width: 100%; height: 100%;"></div>
-        <script src="path/to/artplayer.js"></script>
-        <script src="path/to/artplayer-plugin-iframe.js"></script>
-        <script>
-            ArtplayerPluginIframe.inject();
-        </script>
-    </body>
-</html>
- - - - \ No newline at end of file diff --git a/document/start/i18n.html b/document/start/i18n.html index ea7440d0e..8dba29d2c 100644 --- a/document/start/i18n.html +++ b/document/start/i18n.html @@ -5,26 +5,28 @@ 语言设置 | Artplayer.js - - + + - + - - - + + + + + -
Skip to content

语言设置

DANGER

鉴于捆绑的多国语言越来越多, 从 5.1.0 版本开始, artplayer.js 核心代码除了包含 简体中文英文 外, 不再捆绑其它多国语言, 需要自行导入需要的语言。

WARNING

当无法匹配到语言时, 会默认显示英文, i18n 写法参考: artplayer/types/i18n.d.ts

默认语言

默认语言有: en, zh-cn, 无需手动导入

js
var art = new Artplayer({
+    
Skip to content

语言设置

DANGER

鉴于捆绑的多国语言越来越多, 从 5.1.0 版本开始, artplayer.js 核心代码除了包含 简体中文英文 外, 不再捆绑其它多国语言, 需要自行导入需要的语言。

WARNING

当无法匹配到语言时, 会默认显示英文, i18n 写法参考: artplayer/types/i18n.d.ts

默认语言

默认语言有: en, zh-cn, 无需手动导入

js
var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
     lang: 'zh-cn', // or 'en'
-});

导入语言

打包前的语言文件存放于: artplayer/src/i18n/*.js, 欢迎来添加你的语言

打包后的语言文件存放于: artplayer/dist/i18n/*.js

手动导入的语言有: cs, es, fa, fr, id, pl, ru, zh-tw

js
import id from 'artplayer/dist/i18n/id.js';
+});

导入语言

打包前的语言文件存放于: artplayer/src/i18n/*.js, 欢迎来添加你的语言

打包后的语言文件存放于: artplayer/dist/i18n/*.js

手动导入的语言有: cs, es, fa, fr, id, pl, ru, zh-tw

js
import id from 'artplayer/dist/i18n/id.js';
 import zhTw from 'artplayer/dist/i18n/zh-tw.js';
 
 var art = new Artplayer({
@@ -71,8 +73,8 @@
             Play: 'Your Play'
         },
     },
-});
- +});
+ \ No newline at end of file diff --git a/document/start/option.html b/document/start/option.html index ee65c5e1b..4fae73ec8 100644 --- a/document/start/option.html +++ b/document/start/option.html @@ -5,22 +5,24 @@ 基础选项 | Artplayer.js - - + + - + - - - + + + + + -
Skip to content

基础选项

container

  • Type: String, Element
  • Default: #artplayer

播放器挂载的 DOM 容器

▶ Run Code
js
var art = new Artplayer({
+    
Skip to content

基础选项

container

  • Type: String, Element
  • Default: #artplayer

播放器挂载的 DOM 容器

▶ Run Code
js
var art = new Artplayer({
     container: '.artplayer-app', 
     // container: document.querySelector('.artplayer-app'),
     url: '/assets/sample/video.mp4',
@@ -123,7 +125,7 @@
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
     hotkey: true,
-});
热键描述
增加音量
降低音量
视频快进
视频快退
space切换播放/暂停

提示

只在播放器获得焦点后(如点击了播放器后),这些快捷键才会生效

pip

  • Type: Boolean
  • Default: false

是否在底部控制栏里显示 画中画 的开关按钮

▶ Run Code
js
var art = new Artplayer({
+});
热键描述
增加音量
降低音量
视频快进
视频快退
space切换播放/暂停

提示

只在播放器获得焦点后(如点击了播放器后),这些快捷键才会生效

pip

  • Type: Boolean
  • Default: false

是否在底部控制栏里显示 画中画 的开关按钮

▶ Run Code
js
var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
     pip: true,
@@ -247,7 +249,7 @@
             },
         },
     ],
-});

组件配置 请参考以下地址:

/component/controls.html

quality

  • Type: Array
  • Default: []

是否在底部控制栏里显示 画质选择 列表

属性类型描述
defaultBoolean默认画质
htmlString画质名字
urlString画质地址
▶ Run Code
js
var art = new Artplayer({
+});

组件配置 请参考以下地址:

/component/controls.html

quality

  • Type: Array
  • Default: []

是否在底部控制栏里显示 画质选择 列表

属性类型描述
defaultBoolean默认画质
htmlString画质名字
urlString画质地址
▶ Run Code
js
var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
     quality: [
@@ -261,7 +263,7 @@
             url: '/assets/sample/video.mp4',
         },
     ],
-});

highlight

  • Type: Array
  • Default: []

在进度条上显示 高亮信息

属性类型描述
timeNumber高亮时间(单位秒)
textString高亮文本
▶ Run Code
js
var art = new Artplayer({
+});

highlight

  • Type: Array
  • Default: []

在进度条上显示 高亮信息

属性类型描述
timeNumber高亮时间(单位秒)
textString高亮文本
▶ Run Code
js
var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
     highlight: [
@@ -301,7 +303,7 @@
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
     plugins: [myPlugin],
-});

thumbnails

  • Type: Object
  • Default: {}

在进度条上设置 预览图

属性类型描述
urlString预览图地址
numberNumber预览图数量
columnNumber预览图列数
widthNumber预览图宽度
heightNumber预览图高度
▶ Run Code
js
var art = new Artplayer({
+});

thumbnails

  • Type: Object
  • Default: {}

在进度条上设置 预览图

属性类型描述
urlString预览图地址
numberNumber预览图数量
columnNumber预览图列数
widthNumber预览图宽度
heightNumber预览图高度
▶ Run Code
js
var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
     thumbnails: {
@@ -309,7 +311,7 @@
         number: 60,
         column: 10,
     },
-});

在线生成预览图

artplayer-tool-thumbnail

subtitle

  • Type: Object
  • Default: {}

设置视频的字幕,支持字幕格式:vtt, srt, ass

属性类型描述
nameString字幕名字
urlString字幕地址
typeString字幕类型,可选 vtt, srt, ass
styleObject字幕样式
encodingString字幕编码,默认 utf-8
escapeBoolean是否转义 html 标签,默认为 true
onVttLoadFunction用于修改 vtt 文本的函数
▶ Run Code
js
var art = new Artplayer({
+});

在线生成预览图

artplayer-tool-thumbnail

subtitle

  • Type: Object
  • Default: {}

设置视频的字幕,支持字幕格式:vtt, srt, ass

属性类型描述
nameString字幕名字
urlString字幕地址
typeString字幕类型,可选 vtt, srt, ass
styleObject字幕样式
encodingString字幕编码,默认 utf-8
escapeBoolean是否转义 html 标签,默认为 true
onVttLoadFunction用于修改 vtt 文本的函数
▶ Run Code
js
var art = new Artplayer({
     container: '.artplayer-app',
     url: '/assets/sample/video.mp4',
     subtitle: {
@@ -399,8 +401,8 @@
     cssVar: {
         //
     },
-});
- +});
+ \ No newline at end of file diff --git a/sw.js b/sw.js index 5e9df4167..e8811959f 100644 --- a/sw.js +++ b/sw.js @@ -1 +1 @@ -if(!self.define){let s,a={};const e=(e,i)=>(e=new URL(e+".js",i).href,a[e]||new Promise((a=>{if("document"in self){const s=document.createElement("script");s.src=e,s.onload=a,document.head.appendChild(s)}else s=e,importScripts(e),a()})).then((()=>{let s=a[e];if(!s)throw new Error(`Module ${e} didn’t register its module`);return s})));self.define=(i,b)=>{const l=s||("document"in self?document.currentScript.src:"")||location.href;if(a[l])return;let c={};const r=s=>e(s,l),n={module:{uri:l},exports:c,require:r};a[l]=Promise.all(i.map((s=>n[s]||r(s)))).then((s=>(b(...s),c)))}}define(["./workbox-9a84fccb"],(function(s){"use strict";self.addEventListener("message",(s=>{s.data&&"SKIP_WAITING"===s.data.type&&self.skipWaiting()})),s.precacheAndRoute([{url:"assets/css/normalize.css",revision:"be7f3425b44480dcf3aab3408f632f37"},{url:"assets/css/style.css",revision:"0032b8d5eab16995c6e163910b98c869"},{url:"assets/example/ads.js",revision:"389d77de2c5d399002030a1b346343d1"},{url:"assets/example/chromecast.js",revision:"2d71915b5258a2078a1c5148791dd6d5"},{url:"assets/example/danmuku.js",revision:"68c058192c03b0c9b2b4da2a331d1d46"},{url:"assets/example/dash.js",revision:"e85db4f2a3a3f19bef6f73c629cf2dd1"},{url:"assets/example/dash.quality.js",revision:"da369d188bb3487a0139d36ce0d05c34"},{url:"assets/example/flv.js",revision:"bf2932683e281878c61f631754a5db74"},{url:"assets/example/hls.js",revision:"4c10d5092198c603aac420f78d9cddcc"},{url:"assets/example/hls.quality.js",revision:"81fb6d089d7e687fa5a43a40ecd61804"},{url:"assets/example/iframe.js",revision:"24893a44a55daeb33399be3b38a01273"},{url:"assets/example/index.js",revision:"1afe555780acc87929479dac3a00bd2b"},{url:"assets/example/libass.js",revision:"a22b71162b890490c7f6419b3f65af62"},{url:"assets/example/mobile.js",revision:"4f8f02644c6dfadeac529b1bc28bfbfd"},{url:"assets/example/mpegts.js",revision:"fceecd0ca83c0f7abdade04c85463f8d"},{url:"assets/example/multiple.subtitles.js",revision:"bfe9a77e6bfb4557610bdf202442675f"},{url:"assets/example/thumbnail.js",revision:"ed1119d0517accdea6b88aa08cd4fc27"},{url:"assets/example/vtt.thumbnail.js",revision:"f7ec84294fa73ee4815abc088eac6bcb"},{url:"assets/img/danmu-off.svg",revision:"a1483de76b68dd12a2fdf2c3734537ea"},{url:"assets/img/danmu-on.svg",revision:"1b846589a581e9d2ed720973d00a8a38"},{url:"assets/img/indicator.svg",revision:"696037ccd6fb7db7c68d82d2c69e7e6c"},{url:"assets/img/logo.png",revision:"113f758a35e9c71b8d9c41240da8233b"},{url:"assets/img/pause.svg",revision:"dab341d85c778a097caa2f6603ffce87"},{url:"assets/img/state.svg",revision:"2e9bac37536c46c09a38e74a480b56c6"},{url:"assets/img/subtitle.svg",revision:"9a231c6167f7a8b168b5f19cc892b170"},{url:"assets/js/common.js",revision:"0d4568ba9be345a19e80c1254c554670"},{url:"assets/js/console.js",revision:"4e9a2c80679b6bbf78a4809a4a90f64a"},{url:"assets/js/JavascriptSubtitlesOctopus/subtitles-octopus-worker.js",revision:"cef7e5f6ef27a8e01d7c1bcb78cbbe4d"},{url:"assets/js/JavascriptSubtitlesOctopus/subtitles-octopus.js",revision:"a02d9bcf0639259b92b1c8ddfc45b994"},{url:"assets/js/mobile.js",revision:"47af8a8baea97d5f10a169c4ffb2c869"},{url:"assets/js/polyfill/core.js",revision:"1d2194332562ff4194b431f2bad8ad68"},{url:"assets/js/polyfill/encoding-indexes.js",revision:"50f27403be5972eae4831f5b69db1f80"},{url:"assets/js/polyfill/encoding.js",revision:"022884ab2a5bd42b6f4fff580fa0dd34"},{url:"assets/js/polyfill/fetch.polyfill.js",revision:"f625f62b3249b03ef6d9aef1aa375342"},{url:"assets/js/vconsole.min.js",revision:"e637889f2f4e869003f4950cce737ba6"},{url:"assets/js/vs/base/worker/workerMain.js",revision:"ff1e00116d48f10b29a7f4f0deac2cd3"},{url:"assets/js/vs/basic-languages/abap/abap.js",revision:"0d31790a1a820013ebfceaaea520086e"},{url:"assets/js/vs/basic-languages/apex/apex.js",revision:"7ed571a41e7a0f49e3813733ee9668ab"},{url:"assets/js/vs/basic-languages/azcli/azcli.js",revision:"2c95f109efa42b39efd112e1ca3f6156"},{url:"assets/js/vs/basic-languages/bat/bat.js",revision:"3a19616507d8d1f534c6155dd45075b7"},{url:"assets/js/vs/basic-languages/bicep/bicep.js",revision:"a454b074c4897916902a31bc7488c7c6"},{url:"assets/js/vs/basic-languages/cameligo/cameligo.js",revision:"714bc3d62760814c66d2722403956093"},{url:"assets/js/vs/basic-languages/clojure/clojure.js",revision:"bc3dfd6ec24e73dd26c7acb5fdf0026e"},{url:"assets/js/vs/basic-languages/coffee/coffee.js",revision:"72268e931cec85bc41f6677416e86cbd"},{url:"assets/js/vs/basic-languages/cpp/cpp.js",revision:"400136ec6edf93a21103ab54fe244b44"},{url:"assets/js/vs/basic-languages/csharp/csharp.js",revision:"60763afe31e9a27b3e11f31ca07222d0"},{url:"assets/js/vs/basic-languages/csp/csp.js",revision:"7c7a0ecfa43e63dea1c5c3b90e3669ee"},{url:"assets/js/vs/basic-languages/css/css.js",revision:"6ee9d8b753ab02e86d2fef1cd6839bae"},{url:"assets/js/vs/basic-languages/dart/dart.js",revision:"994c907e6e2fca9831c70fb220a8dfe7"},{url:"assets/js/vs/basic-languages/dockerfile/dockerfile.js",revision:"886100cd736f23bfcdf61029439ebb91"},{url:"assets/js/vs/basic-languages/ecl/ecl.js",revision:"59c4e667668ebbb528ba64fd2b76411c"},{url:"assets/js/vs/basic-languages/elixir/elixir.js",revision:"9adf3da05ba73c8728db04aa24479830"},{url:"assets/js/vs/basic-languages/flow9/flow9.js",revision:"07f962e581808968eaf81b4757ba427d"},{url:"assets/js/vs/basic-languages/fsharp/fsharp.js",revision:"4a059944d9de46a22b1e7f3b636beb98"},{url:"assets/js/vs/basic-languages/go/go.js",revision:"1e78e6e22eca1bf5ad47108dead26490"},{url:"assets/js/vs/basic-languages/graphql/graphql.js",revision:"33366aac3f03b0c919818dff9e228bad"},{url:"assets/js/vs/basic-languages/handlebars/handlebars.js",revision:"9a05aa526495f0a1e241f3ac142e91a9"},{url:"assets/js/vs/basic-languages/hcl/hcl.js",revision:"710a5636d53b53e1290873211ddb6a9e"},{url:"assets/js/vs/basic-languages/html/html.js",revision:"2b130bc85c8c8646e5bea546d14a0b41"},{url:"assets/js/vs/basic-languages/ini/ini.js",revision:"2c52fccc7378467c65c40d246cbd05a4"},{url:"assets/js/vs/basic-languages/java/java.js",revision:"b6bd764730176bec564b8ed428790b5b"},{url:"assets/js/vs/basic-languages/javascript/javascript.js",revision:"a2e9534e6798dec260a05c3af6995ab6"},{url:"assets/js/vs/basic-languages/julia/julia.js",revision:"31b9ccddbca591c0a144e2854ad1df6f"},{url:"assets/js/vs/basic-languages/kotlin/kotlin.js",revision:"47f9a5dda454ed959e63ad41d7ed5d0f"},{url:"assets/js/vs/basic-languages/less/less.js",revision:"141d7e275a8415231fbd59f8113923b3"},{url:"assets/js/vs/basic-languages/lexon/lexon.js",revision:"8c87d858060a5a0a3f5d865f4e0f3b6e"},{url:"assets/js/vs/basic-languages/liquid/liquid.js",revision:"7f54c34250cd122147b9f479b0df9ad7"},{url:"assets/js/vs/basic-languages/lua/lua.js",revision:"00eb2f7a1c0ff215b1412b2f7d547293"},{url:"assets/js/vs/basic-languages/m3/m3.js",revision:"3fea60c45ed2c3cccfd37c02ec8eb611"},{url:"assets/js/vs/basic-languages/markdown/markdown.js",revision:"a17bd15cd9a17844d5c7533bb75aa75c"},{url:"assets/js/vs/basic-languages/mips/mips.js",revision:"b8e1fe126721a24f76b063625f00a99d"},{url:"assets/js/vs/basic-languages/msdax/msdax.js",revision:"cbb4a2dcff92b9bdbe236b176628d71e"},{url:"assets/js/vs/basic-languages/mysql/mysql.js",revision:"aa1c6fe8896c11c04822fa56609a2ed9"},{url:"assets/js/vs/basic-languages/objective-c/objective-c.js",revision:"6598c5e2591909635986178ca0273677"},{url:"assets/js/vs/basic-languages/pascal/pascal.js",revision:"373d426bb58b2a8fb1d14db8185cd34d"},{url:"assets/js/vs/basic-languages/pascaligo/pascaligo.js",revision:"eb41b781bbbf5bfa1cef31c666380302"},{url:"assets/js/vs/basic-languages/perl/perl.js",revision:"00ef4985b150a11a8e55632baa389942"},{url:"assets/js/vs/basic-languages/pgsql/pgsql.js",revision:"ab269b493eb717b4b49248569c63ba94"},{url:"assets/js/vs/basic-languages/php/php.js",revision:"5193d1ca2571967f42dffc9b0ec4d77c"},{url:"assets/js/vs/basic-languages/pla/pla.js",revision:"015b1b777840e2ff60d7d05da0c5833b"},{url:"assets/js/vs/basic-languages/postiats/postiats.js",revision:"0bebc84a5a7934887c44d81df346fa5b"},{url:"assets/js/vs/basic-languages/powerquery/powerquery.js",revision:"7a73f17d3e48b9a8c55492aea11a7e89"},{url:"assets/js/vs/basic-languages/powershell/powershell.js",revision:"6fa0bf908c12ff12186dc2f6948b7e68"},{url:"assets/js/vs/basic-languages/protobuf/protobuf.js",revision:"14343c432c7bc348af5b4a577906a338"},{url:"assets/js/vs/basic-languages/pug/pug.js",revision:"03e47508816771cbbc9dac8bb2cbba68"},{url:"assets/js/vs/basic-languages/python/python.js",revision:"020e23b1bdb676936ebe868a21a653b7"},{url:"assets/js/vs/basic-languages/qsharp/qsharp.js",revision:"5d8f229a1be1fec9c98532584c05bbf7"},{url:"assets/js/vs/basic-languages/r/r.js",revision:"4b585406c67d68af9cec6882d7b71b68"},{url:"assets/js/vs/basic-languages/razor/razor.js",revision:"4106dc94db262064c0f993ee27e1f1e6"},{url:"assets/js/vs/basic-languages/redis/redis.js",revision:"0dd6e471ef6fda3a0f9d9526c65dcd8c"},{url:"assets/js/vs/basic-languages/redshift/redshift.js",revision:"85edaf030683e5ba5e97a63df1fabd22"},{url:"assets/js/vs/basic-languages/restructuredtext/restructuredtext.js",revision:"8a5eec0e86d673a4b045d1b76fd178da"},{url:"assets/js/vs/basic-languages/ruby/ruby.js",revision:"9301210ab438575bce0f3b807dde974f"},{url:"assets/js/vs/basic-languages/rust/rust.js",revision:"e79c2eac7164955ca1f6f18a0711bdff"},{url:"assets/js/vs/basic-languages/sb/sb.js",revision:"a5b5f477d4bb446c3656cb3004e10a13"},{url:"assets/js/vs/basic-languages/scala/scala.js",revision:"4b05491d91202206f8e6cbb7f0552464"},{url:"assets/js/vs/basic-languages/scheme/scheme.js",revision:"642c56a7f33709481000481c1cfacf3f"},{url:"assets/js/vs/basic-languages/scss/scss.js",revision:"bb6b3db21c6aec0eaa5154231fd022cb"},{url:"assets/js/vs/basic-languages/shell/shell.js",revision:"c58d441824914a525210f72d05d4deae"},{url:"assets/js/vs/basic-languages/solidity/solidity.js",revision:"ab530c388e337be309fe44c9fe3b9101"},{url:"assets/js/vs/basic-languages/sophia/sophia.js",revision:"d2fb2b60b1701b26ef21dfd69bfd4bb3"},{url:"assets/js/vs/basic-languages/sparql/sparql.js",revision:"04ecb7894faf838af73f6e45ec5e849b"},{url:"assets/js/vs/basic-languages/sql/sql.js",revision:"e902f67b2ae9356456eb80f799935743"},{url:"assets/js/vs/basic-languages/st/st.js",revision:"184cf06d81cc6db926108652253788a8"},{url:"assets/js/vs/basic-languages/swift/swift.js",revision:"257edb0d4785f7dc2b87d40b9ffd9f2a"},{url:"assets/js/vs/basic-languages/systemverilog/systemverilog.js",revision:"5f463d344d22b4c25db7427863ffc785"},{url:"assets/js/vs/basic-languages/tcl/tcl.js",revision:"1b87289b43d801c746f0983263f159be"},{url:"assets/js/vs/basic-languages/twig/twig.js",revision:"8e8e7e5b4fe4530a376e1fd9871bb3c0"},{url:"assets/js/vs/basic-languages/typescript/typescript.js",revision:"9550dfbf82d3d02b4085778bdc2f5144"},{url:"assets/js/vs/basic-languages/vb/vb.js",revision:"98ea1d711b815f7e0058403cfb2f47f7"},{url:"assets/js/vs/basic-languages/xml/xml.js",revision:"843ca49336b9c8afad3cebe31e3499ba"},{url:"assets/js/vs/basic-languages/yaml/yaml.js",revision:"e65d368240a0a33f5dd8517042d22baf"},{url:"assets/js/vs/editor/editor.main.css",revision:"30994a557d1488ddd0e46487aa9282f1"},{url:"assets/js/vs/editor/editor.main.nls.de.js",revision:"5ac795573e517a9f7cd61f94f5ba53b6"},{url:"assets/js/vs/editor/editor.main.nls.es.js",revision:"18c8b0b6dcc1916afb3e31d4ba05a424"},{url:"assets/js/vs/editor/editor.main.nls.fr.js",revision:"e1e0a8bc716d8717a1c88333f03ad98a"},{url:"assets/js/vs/editor/editor.main.nls.it.js",revision:"b6602f2a32698f3997942dbbf8bdc78a"},{url:"assets/js/vs/editor/editor.main.nls.ja.js",revision:"41b561666c3c30da46e5e11460968596"},{url:"assets/js/vs/editor/editor.main.nls.js",revision:"be9bc3c87be5debf24bb958b0ad7b061"},{url:"assets/js/vs/editor/editor.main.nls.ko.js",revision:"59aa975695c2f9fef08fcf66c6fb5837"},{url:"assets/js/vs/editor/editor.main.nls.ru.js",revision:"f6ac240c2d24025c522e106784940f10"},{url:"assets/js/vs/editor/editor.main.nls.zh-cn.js",revision:"c82a3dc31d6fb1934849c477ccea7e52"},{url:"assets/js/vs/editor/editor.main.nls.zh-tw.js",revision:"ec3212f2680c449b23a3f4d5d5856f90"},{url:"assets/js/vs/language/css/cssMode.js",revision:"09d7edb49c180ae4361016eff500b956"},{url:"assets/js/vs/language/css/cssWorker.js",revision:"19c30b90021b645cb3bf1af079c818ec"},{url:"assets/js/vs/language/html/htmlMode.js",revision:"dad776df2f75d75a10246ebe1318796e"},{url:"assets/js/vs/language/html/htmlWorker.js",revision:"8f26bf62f45fa6b3099c6bb95a269791"},{url:"assets/js/vs/language/json/jsonMode.js",revision:"4a8b21fa884d86cfa39534e0fd72a936"},{url:"assets/js/vs/language/json/jsonWorker.js",revision:"994d228233541bafc0540bb0f6f678cc"},{url:"assets/js/vs/language/typescript/tsMode.js",revision:"3735e7b6c27ed7880c641c572d40b4c0"},{url:"assets/js/vs/loader.js",revision:"a223df1cdea17a435e1ab7bc6761ddd8"},{url:"assets/sample/bbb-sprite.jpg",revision:"6ab02ab0ffe5bc3e122444f957553021"},{url:"assets/sample/layer.png",revision:"73966368866d0ea547be0799c99a2cf4"},{url:"assets/sample/poster.jpg",revision:"01421f680dfa206faf700ac60e394c3b"},{url:"assets/sample/test.png",revision:"28d1af6531f1463ea16654750d2b6928"},{url:"assets/sample/thumbnails.png",revision:"773f00bee2e4b58eb7418bc6318991f9"},{url:"assets/sample/thumbnails/thumbnail_1.jpg",revision:"890d671ff24609fe664591e532369ef0"},{url:"assets/sample/thumbnails/thumbnail_10.jpg",revision:"a7663ab4dfdf9193324209308ffbb7a5"},{url:"assets/sample/thumbnails/thumbnail_11.jpg",revision:"a08bdfedcc3aeac05f016e56a689653e"},{url:"assets/sample/thumbnails/thumbnail_12.jpg",revision:"1ced197e631315c5e9382d9a96ccfe46"},{url:"assets/sample/thumbnails/thumbnail_13.jpg",revision:"bf23e98f786d724bccda04ad09aec530"},{url:"assets/sample/thumbnails/thumbnail_14.jpg",revision:"2c0c50d2ba6ec12d5a2114f233cb8feb"},{url:"assets/sample/thumbnails/thumbnail_15.jpg",revision:"742f369717cf8df7e8571d3a5d0ac237"},{url:"assets/sample/thumbnails/thumbnail_16.jpg",revision:"2a20d4f23e08f20e70b43c3b239b2d63"},{url:"assets/sample/thumbnails/thumbnail_17.jpg",revision:"0111a62a4d1d1d33fce9353c7b4a7c91"},{url:"assets/sample/thumbnails/thumbnail_18.jpg",revision:"f3b04f2dfd5637a6b776263366ad4e4f"},{url:"assets/sample/thumbnails/thumbnail_19.jpg",revision:"2edd56f02f4be9ad1cdafe6fb5d84b26"},{url:"assets/sample/thumbnails/thumbnail_2.jpg",revision:"5f10723ac5c3db6026aa412e9a1b502d"},{url:"assets/sample/thumbnails/thumbnail_20.jpg",revision:"cfa252ef04b723cef9cc55975ba37cc7"},{url:"assets/sample/thumbnails/thumbnail_21.jpg",revision:"4568c38ddede0ac141c63c48a67e8476"},{url:"assets/sample/thumbnails/thumbnail_22.jpg",revision:"da810e7381acf11fdc0f271b42545d6d"},{url:"assets/sample/thumbnails/thumbnail_23.jpg",revision:"3f2ec2efaeff3179d5deb83012cd1a8c"},{url:"assets/sample/thumbnails/thumbnail_24.jpg",revision:"c3076ef8687470207a1efc92a7064350"},{url:"assets/sample/thumbnails/thumbnail_25.jpg",revision:"1bdf905f9d9a480ab069a6ba9557deb0"},{url:"assets/sample/thumbnails/thumbnail_26.jpg",revision:"12bea1094da0ca575b7cb69b27f83193"},{url:"assets/sample/thumbnails/thumbnail_27.jpg",revision:"51ea6f2bf02352123ab4f82e1689d515"},{url:"assets/sample/thumbnails/thumbnail_28.jpg",revision:"23f6c6910d48bec39154cb4ec89e43a2"},{url:"assets/sample/thumbnails/thumbnail_29.jpg",revision:"9911d20ad159762c487ceaa1f94fe55e"},{url:"assets/sample/thumbnails/thumbnail_3.jpg",revision:"590503a9cd098b113e4ad12aa899289f"},{url:"assets/sample/thumbnails/thumbnail_30.jpg",revision:"06c29411daedee89327b416a10689f45"},{url:"assets/sample/thumbnails/thumbnail_31.jpg",revision:"afc3783603b2f1616b5c2847a7a0c1d2"},{url:"assets/sample/thumbnails/thumbnail_32.jpg",revision:"146450d476a314e4c642b9c4fc7f9985"},{url:"assets/sample/thumbnails/thumbnail_33.jpg",revision:"397ec56c329d4dab7e137b1ca34bda9a"},{url:"assets/sample/thumbnails/thumbnail_34.jpg",revision:"f8acf52926bd804923183c82e7afbd46"},{url:"assets/sample/thumbnails/thumbnail_35.jpg",revision:"da27980a581f6a36874135ded47d6379"},{url:"assets/sample/thumbnails/thumbnail_36.jpg",revision:"0d832f8e56d49e08b7d0071fce424d74"},{url:"assets/sample/thumbnails/thumbnail_37.jpg",revision:"d6df71542bee77d04b5cd7a4df4f53d1"},{url:"assets/sample/thumbnails/thumbnail_38.jpg",revision:"ff247fdc930dfbb5711292870ea2c2ca"},{url:"assets/sample/thumbnails/thumbnail_39.jpg",revision:"cf9f9280e85a4958478bd03d8f51b87a"},{url:"assets/sample/thumbnails/thumbnail_4.jpg",revision:"a42f2b695d6e83b8f55354e4969b6aae"},{url:"assets/sample/thumbnails/thumbnail_40.jpg",revision:"07b27e70b7b4a125aa6cebeb4bc974d1"},{url:"assets/sample/thumbnails/thumbnail_41.jpg",revision:"f59aa668eef771af88ba970943b2b76d"},{url:"assets/sample/thumbnails/thumbnail_42.jpg",revision:"7ec9856c7ece414262b4c048e2d8a67e"},{url:"assets/sample/thumbnails/thumbnail_43.jpg",revision:"40fbf64bceb65aaf250d56041414c615"},{url:"assets/sample/thumbnails/thumbnail_44.jpg",revision:"63ebb0f8b33273037ea44a014ba1512e"},{url:"assets/sample/thumbnails/thumbnail_45.jpg",revision:"77c0cc31fa7022becdac5cc35b97e040"},{url:"assets/sample/thumbnails/thumbnail_46.jpg",revision:"8f35febea549973aac957b95a3f6b450"},{url:"assets/sample/thumbnails/thumbnail_47.jpg",revision:"8511eed5538ead79decdd473f4e648dc"},{url:"assets/sample/thumbnails/thumbnail_48.jpg",revision:"8450abbd5c545c5e20b378f651f18ebc"},{url:"assets/sample/thumbnails/thumbnail_49.jpg",revision:"8eaf81670a54dd2945ff9152f1d36e50"},{url:"assets/sample/thumbnails/thumbnail_5.jpg",revision:"ef90dd12b9c5eb0ad3b205c844045416"},{url:"assets/sample/thumbnails/thumbnail_50.jpg",revision:"2dae99bab8a8a0cac445c483c8d5524e"},{url:"assets/sample/thumbnails/thumbnail_51.jpg",revision:"4c3a94aeafa5102d8f999da8db05b8ac"},{url:"assets/sample/thumbnails/thumbnail_52.jpg",revision:"b63727ad0ea2de79b14f034140f23b6c"},{url:"assets/sample/thumbnails/thumbnail_53.jpg",revision:"b14e77f7ac281e6791f2dd6a897635f4"},{url:"assets/sample/thumbnails/thumbnail_54.jpg",revision:"84d5f6ac22f76b1a80b426647205314d"},{url:"assets/sample/thumbnails/thumbnail_55.jpg",revision:"3f8c9153990819828a0c40d8b6f93c96"},{url:"assets/sample/thumbnails/thumbnail_56.jpg",revision:"e321896fd577815dad0c224e3c0c99b6"},{url:"assets/sample/thumbnails/thumbnail_57.jpg",revision:"d04385f715f75c105034bcf1f1ea169c"},{url:"assets/sample/thumbnails/thumbnail_58.jpg",revision:"bb0abc4058799551e057dbe525a8032c"},{url:"assets/sample/thumbnails/thumbnail_59.jpg",revision:"0a641a8e43ebfd9982acaffeb772e41c"},{url:"assets/sample/thumbnails/thumbnail_6.jpg",revision:"5068cbd2ba1e7112f09e601126787082"},{url:"assets/sample/thumbnails/thumbnail_60.jpg",revision:"a3485360065e8aee489314f9fb6105ed"},{url:"assets/sample/thumbnails/thumbnail_7.jpg",revision:"9107a2b9ef154590427f4edd30a7af61"},{url:"assets/sample/thumbnails/thumbnail_8.jpg",revision:"0f22ef7e53e42d47d260707b7a4416eb"},{url:"assets/sample/thumbnails/thumbnail_9.jpg",revision:"d2dd29ef088dcfa125565a6e0fe1b834"}],{})})); +if(!self.define){let s,a={};const e=(e,i)=>(e=new URL(e+".js",i).href,a[e]||new Promise((a=>{if("document"in self){const s=document.createElement("script");s.src=e,s.onload=a,document.head.appendChild(s)}else s=e,importScripts(e),a()})).then((()=>{let s=a[e];if(!s)throw new Error(`Module ${e} didn’t register its module`);return s})));self.define=(i,b)=>{const l=s||("document"in self?document.currentScript.src:"")||location.href;if(a[l])return;let c={};const r=s=>e(s,l),n={module:{uri:l},exports:c,require:r};a[l]=Promise.all(i.map((s=>n[s]||r(s)))).then((s=>(b(...s),c)))}}define(["./workbox-9a84fccb"],(function(s){"use strict";self.addEventListener("message",(s=>{s.data&&"SKIP_WAITING"===s.data.type&&self.skipWaiting()})),s.precacheAndRoute([{url:"assets/css/normalize.css",revision:"be7f3425b44480dcf3aab3408f632f37"},{url:"assets/css/style.css",revision:"7ed8c0a94062a8fedfe9f0a414ad244a"},{url:"assets/example/ads.js",revision:"25341ac4a88a4ac42eb267dbd3067b29"},{url:"assets/example/chapter.js",revision:"479c0841ed154948f0cc46fd92daa7eb"},{url:"assets/example/chromecast.js",revision:"80d4535179ea849fddcfde5d470e8ed0"},{url:"assets/example/danmuku.js",revision:"648e20547b40efcd922496039a8a2500"},{url:"assets/example/dash.js",revision:"fc57b1cce558540eac7d35c480e36ab5"},{url:"assets/example/dash.quality.js",revision:"28dfc0d42681daabe9a35d4ecc8c136d"},{url:"assets/example/flv.js",revision:"4f05c5655380ccf4a40e91505035603b"},{url:"assets/example/hls.js",revision:"85039853d0f759dd63f00d4a9d5b22ce"},{url:"assets/example/hls.quality.js",revision:"0daeb098df103f9dcea50d28dff0f643"},{url:"assets/example/iframe.js",revision:"e7d004c0a155efe99533903d5af7278c"},{url:"assets/example/index.js",revision:"1afe555780acc87929479dac3a00bd2b"},{url:"assets/example/libass.js",revision:"4542dc99c7a2667b371f9d6071b36bfd"},{url:"assets/example/libmedia.js",revision:"f3a68617ae3c885e2c6b6155a7b2c9b8"},{url:"assets/example/mobile.js",revision:"624dc0dbe81490be4dbd43a3efa9bd25"},{url:"assets/example/mpegts.js",revision:"62b285aad427dd06ea5dc02e432e067b"},{url:"assets/example/multiple.subtitles.js",revision:"e12bf313d9d66b4158cd1782e5234cc3"},{url:"assets/example/thumbnail.js",revision:"ed1119d0517accdea6b88aa08cd4fc27"},{url:"assets/example/vast.js",revision:"d4d477ab832aa4371e31febf88746e49"},{url:"assets/example/vtt.thumbnail.js",revision:"e3bf1f75e62330d41d471b0a44aca24c"},{url:"assets/example/webav.js",revision:"12571b3b5653f5a5da034bcba9c954b4"},{url:"assets/example/webtorrent.js",revision:"0b813a8f18b3de714affa3ce176ec160"},{url:"assets/img/alipay.jpg",revision:"b01a1e3ebda10dffdf7157680ad94d06"},{url:"assets/img/danmu-off.svg",revision:"a1483de76b68dd12a2fdf2c3734537ea"},{url:"assets/img/danmu-on.svg",revision:"1b846589a581e9d2ed720973d00a8a38"},{url:"assets/img/indicator.svg",revision:"696037ccd6fb7db7c68d82d2c69e7e6c"},{url:"assets/img/logo.png",revision:"113f758a35e9c71b8d9c41240da8233b"},{url:"assets/img/pause.svg",revision:"dab341d85c778a097caa2f6603ffce87"},{url:"assets/img/paypal.svg",revision:"cbe85a7e4c5ca04274a8aedda007b710"},{url:"assets/img/state.svg",revision:"2e9bac37536c46c09a38e74a480b56c6"},{url:"assets/img/subtitle.svg",revision:"9a231c6167f7a8b168b5f19cc892b170"},{url:"assets/img/wechat.jpg",revision:"f2dd1964f839781270569fe53cbae21b"},{url:"assets/js/common.js",revision:"070ccb108d4644e87a8d42409c5fb0d7"},{url:"assets/js/console.js",revision:"4e9a2c80679b6bbf78a4809a4a90f64a"},{url:"assets/js/JavascriptSubtitlesOctopus/subtitles-octopus-worker.js",revision:"cef7e5f6ef27a8e01d7c1bcb78cbbe4d"},{url:"assets/js/JavascriptSubtitlesOctopus/subtitles-octopus.js",revision:"a02d9bcf0639259b92b1c8ddfc45b994"},{url:"assets/js/mobile.js",revision:"47af8a8baea97d5f10a169c4ffb2c869"},{url:"assets/js/vconsole.min.js",revision:"e637889f2f4e869003f4950cce737ba6"},{url:"assets/js/vs/base/worker/workerMain.js",revision:"ff1e00116d48f10b29a7f4f0deac2cd3"},{url:"assets/js/vs/basic-languages/abap/abap.js",revision:"0d31790a1a820013ebfceaaea520086e"},{url:"assets/js/vs/basic-languages/apex/apex.js",revision:"7ed571a41e7a0f49e3813733ee9668ab"},{url:"assets/js/vs/basic-languages/azcli/azcli.js",revision:"2c95f109efa42b39efd112e1ca3f6156"},{url:"assets/js/vs/basic-languages/bat/bat.js",revision:"3a19616507d8d1f534c6155dd45075b7"},{url:"assets/js/vs/basic-languages/bicep/bicep.js",revision:"a454b074c4897916902a31bc7488c7c6"},{url:"assets/js/vs/basic-languages/cameligo/cameligo.js",revision:"714bc3d62760814c66d2722403956093"},{url:"assets/js/vs/basic-languages/clojure/clojure.js",revision:"bc3dfd6ec24e73dd26c7acb5fdf0026e"},{url:"assets/js/vs/basic-languages/coffee/coffee.js",revision:"72268e931cec85bc41f6677416e86cbd"},{url:"assets/js/vs/basic-languages/cpp/cpp.js",revision:"400136ec6edf93a21103ab54fe244b44"},{url:"assets/js/vs/basic-languages/csharp/csharp.js",revision:"60763afe31e9a27b3e11f31ca07222d0"},{url:"assets/js/vs/basic-languages/csp/csp.js",revision:"7c7a0ecfa43e63dea1c5c3b90e3669ee"},{url:"assets/js/vs/basic-languages/css/css.js",revision:"6ee9d8b753ab02e86d2fef1cd6839bae"},{url:"assets/js/vs/basic-languages/dart/dart.js",revision:"994c907e6e2fca9831c70fb220a8dfe7"},{url:"assets/js/vs/basic-languages/dockerfile/dockerfile.js",revision:"886100cd736f23bfcdf61029439ebb91"},{url:"assets/js/vs/basic-languages/ecl/ecl.js",revision:"59c4e667668ebbb528ba64fd2b76411c"},{url:"assets/js/vs/basic-languages/elixir/elixir.js",revision:"9adf3da05ba73c8728db04aa24479830"},{url:"assets/js/vs/basic-languages/flow9/flow9.js",revision:"07f962e581808968eaf81b4757ba427d"},{url:"assets/js/vs/basic-languages/fsharp/fsharp.js",revision:"4a059944d9de46a22b1e7f3b636beb98"},{url:"assets/js/vs/basic-languages/go/go.js",revision:"1e78e6e22eca1bf5ad47108dead26490"},{url:"assets/js/vs/basic-languages/graphql/graphql.js",revision:"33366aac3f03b0c919818dff9e228bad"},{url:"assets/js/vs/basic-languages/handlebars/handlebars.js",revision:"9a05aa526495f0a1e241f3ac142e91a9"},{url:"assets/js/vs/basic-languages/hcl/hcl.js",revision:"710a5636d53b53e1290873211ddb6a9e"},{url:"assets/js/vs/basic-languages/html/html.js",revision:"2b130bc85c8c8646e5bea546d14a0b41"},{url:"assets/js/vs/basic-languages/ini/ini.js",revision:"2c52fccc7378467c65c40d246cbd05a4"},{url:"assets/js/vs/basic-languages/java/java.js",revision:"b6bd764730176bec564b8ed428790b5b"},{url:"assets/js/vs/basic-languages/javascript/javascript.js",revision:"a2e9534e6798dec260a05c3af6995ab6"},{url:"assets/js/vs/basic-languages/julia/julia.js",revision:"31b9ccddbca591c0a144e2854ad1df6f"},{url:"assets/js/vs/basic-languages/kotlin/kotlin.js",revision:"47f9a5dda454ed959e63ad41d7ed5d0f"},{url:"assets/js/vs/basic-languages/less/less.js",revision:"141d7e275a8415231fbd59f8113923b3"},{url:"assets/js/vs/basic-languages/lexon/lexon.js",revision:"8c87d858060a5a0a3f5d865f4e0f3b6e"},{url:"assets/js/vs/basic-languages/liquid/liquid.js",revision:"7f54c34250cd122147b9f479b0df9ad7"},{url:"assets/js/vs/basic-languages/lua/lua.js",revision:"00eb2f7a1c0ff215b1412b2f7d547293"},{url:"assets/js/vs/basic-languages/m3/m3.js",revision:"3fea60c45ed2c3cccfd37c02ec8eb611"},{url:"assets/js/vs/basic-languages/markdown/markdown.js",revision:"a17bd15cd9a17844d5c7533bb75aa75c"},{url:"assets/js/vs/basic-languages/mips/mips.js",revision:"b8e1fe126721a24f76b063625f00a99d"},{url:"assets/js/vs/basic-languages/msdax/msdax.js",revision:"cbb4a2dcff92b9bdbe236b176628d71e"},{url:"assets/js/vs/basic-languages/mysql/mysql.js",revision:"aa1c6fe8896c11c04822fa56609a2ed9"},{url:"assets/js/vs/basic-languages/objective-c/objective-c.js",revision:"6598c5e2591909635986178ca0273677"},{url:"assets/js/vs/basic-languages/pascal/pascal.js",revision:"373d426bb58b2a8fb1d14db8185cd34d"},{url:"assets/js/vs/basic-languages/pascaligo/pascaligo.js",revision:"eb41b781bbbf5bfa1cef31c666380302"},{url:"assets/js/vs/basic-languages/perl/perl.js",revision:"00ef4985b150a11a8e55632baa389942"},{url:"assets/js/vs/basic-languages/pgsql/pgsql.js",revision:"ab269b493eb717b4b49248569c63ba94"},{url:"assets/js/vs/basic-languages/php/php.js",revision:"5193d1ca2571967f42dffc9b0ec4d77c"},{url:"assets/js/vs/basic-languages/pla/pla.js",revision:"015b1b777840e2ff60d7d05da0c5833b"},{url:"assets/js/vs/basic-languages/postiats/postiats.js",revision:"0bebc84a5a7934887c44d81df346fa5b"},{url:"assets/js/vs/basic-languages/powerquery/powerquery.js",revision:"7a73f17d3e48b9a8c55492aea11a7e89"},{url:"assets/js/vs/basic-languages/powershell/powershell.js",revision:"6fa0bf908c12ff12186dc2f6948b7e68"},{url:"assets/js/vs/basic-languages/protobuf/protobuf.js",revision:"14343c432c7bc348af5b4a577906a338"},{url:"assets/js/vs/basic-languages/pug/pug.js",revision:"03e47508816771cbbc9dac8bb2cbba68"},{url:"assets/js/vs/basic-languages/python/python.js",revision:"020e23b1bdb676936ebe868a21a653b7"},{url:"assets/js/vs/basic-languages/qsharp/qsharp.js",revision:"5d8f229a1be1fec9c98532584c05bbf7"},{url:"assets/js/vs/basic-languages/r/r.js",revision:"4b585406c67d68af9cec6882d7b71b68"},{url:"assets/js/vs/basic-languages/razor/razor.js",revision:"4106dc94db262064c0f993ee27e1f1e6"},{url:"assets/js/vs/basic-languages/redis/redis.js",revision:"0dd6e471ef6fda3a0f9d9526c65dcd8c"},{url:"assets/js/vs/basic-languages/redshift/redshift.js",revision:"85edaf030683e5ba5e97a63df1fabd22"},{url:"assets/js/vs/basic-languages/restructuredtext/restructuredtext.js",revision:"8a5eec0e86d673a4b045d1b76fd178da"},{url:"assets/js/vs/basic-languages/ruby/ruby.js",revision:"9301210ab438575bce0f3b807dde974f"},{url:"assets/js/vs/basic-languages/rust/rust.js",revision:"e79c2eac7164955ca1f6f18a0711bdff"},{url:"assets/js/vs/basic-languages/sb/sb.js",revision:"a5b5f477d4bb446c3656cb3004e10a13"},{url:"assets/js/vs/basic-languages/scala/scala.js",revision:"4b05491d91202206f8e6cbb7f0552464"},{url:"assets/js/vs/basic-languages/scheme/scheme.js",revision:"642c56a7f33709481000481c1cfacf3f"},{url:"assets/js/vs/basic-languages/scss/scss.js",revision:"bb6b3db21c6aec0eaa5154231fd022cb"},{url:"assets/js/vs/basic-languages/shell/shell.js",revision:"c58d441824914a525210f72d05d4deae"},{url:"assets/js/vs/basic-languages/solidity/solidity.js",revision:"ab530c388e337be309fe44c9fe3b9101"},{url:"assets/js/vs/basic-languages/sophia/sophia.js",revision:"d2fb2b60b1701b26ef21dfd69bfd4bb3"},{url:"assets/js/vs/basic-languages/sparql/sparql.js",revision:"04ecb7894faf838af73f6e45ec5e849b"},{url:"assets/js/vs/basic-languages/sql/sql.js",revision:"e902f67b2ae9356456eb80f799935743"},{url:"assets/js/vs/basic-languages/st/st.js",revision:"184cf06d81cc6db926108652253788a8"},{url:"assets/js/vs/basic-languages/swift/swift.js",revision:"257edb0d4785f7dc2b87d40b9ffd9f2a"},{url:"assets/js/vs/basic-languages/systemverilog/systemverilog.js",revision:"5f463d344d22b4c25db7427863ffc785"},{url:"assets/js/vs/basic-languages/tcl/tcl.js",revision:"1b87289b43d801c746f0983263f159be"},{url:"assets/js/vs/basic-languages/twig/twig.js",revision:"8e8e7e5b4fe4530a376e1fd9871bb3c0"},{url:"assets/js/vs/basic-languages/typescript/typescript.js",revision:"9550dfbf82d3d02b4085778bdc2f5144"},{url:"assets/js/vs/basic-languages/vb/vb.js",revision:"98ea1d711b815f7e0058403cfb2f47f7"},{url:"assets/js/vs/basic-languages/xml/xml.js",revision:"843ca49336b9c8afad3cebe31e3499ba"},{url:"assets/js/vs/basic-languages/yaml/yaml.js",revision:"e65d368240a0a33f5dd8517042d22baf"},{url:"assets/js/vs/editor/editor.main.css",revision:"30994a557d1488ddd0e46487aa9282f1"},{url:"assets/js/vs/editor/editor.main.nls.de.js",revision:"5ac795573e517a9f7cd61f94f5ba53b6"},{url:"assets/js/vs/editor/editor.main.nls.es.js",revision:"18c8b0b6dcc1916afb3e31d4ba05a424"},{url:"assets/js/vs/editor/editor.main.nls.fr.js",revision:"e1e0a8bc716d8717a1c88333f03ad98a"},{url:"assets/js/vs/editor/editor.main.nls.it.js",revision:"b6602f2a32698f3997942dbbf8bdc78a"},{url:"assets/js/vs/editor/editor.main.nls.ja.js",revision:"41b561666c3c30da46e5e11460968596"},{url:"assets/js/vs/editor/editor.main.nls.js",revision:"be9bc3c87be5debf24bb958b0ad7b061"},{url:"assets/js/vs/editor/editor.main.nls.ko.js",revision:"59aa975695c2f9fef08fcf66c6fb5837"},{url:"assets/js/vs/editor/editor.main.nls.ru.js",revision:"f6ac240c2d24025c522e106784940f10"},{url:"assets/js/vs/editor/editor.main.nls.zh-cn.js",revision:"c82a3dc31d6fb1934849c477ccea7e52"},{url:"assets/js/vs/editor/editor.main.nls.zh-tw.js",revision:"ec3212f2680c449b23a3f4d5d5856f90"},{url:"assets/js/vs/language/css/cssMode.js",revision:"09d7edb49c180ae4361016eff500b956"},{url:"assets/js/vs/language/css/cssWorker.js",revision:"19c30b90021b645cb3bf1af079c818ec"},{url:"assets/js/vs/language/html/htmlMode.js",revision:"dad776df2f75d75a10246ebe1318796e"},{url:"assets/js/vs/language/html/htmlWorker.js",revision:"8f26bf62f45fa6b3099c6bb95a269791"},{url:"assets/js/vs/language/json/jsonMode.js",revision:"4a8b21fa884d86cfa39534e0fd72a936"},{url:"assets/js/vs/language/json/jsonWorker.js",revision:"994d228233541bafc0540bb0f6f678cc"},{url:"assets/js/vs/language/typescript/tsMode.js",revision:"3735e7b6c27ed7880c641c572d40b4c0"},{url:"assets/js/vs/loader.js",revision:"a223df1cdea17a435e1ab7bc6761ddd8"},{url:"assets/sample/bbb-sprite.jpg",revision:"6ab02ab0ffe5bc3e122444f957553021"},{url:"assets/sample/layer.png",revision:"73966368866d0ea547be0799c99a2cf4"},{url:"assets/sample/poster.jpg",revision:"01421f680dfa206faf700ac60e394c3b"},{url:"assets/sample/test.png",revision:"28d1af6531f1463ea16654750d2b6928"},{url:"assets/sample/thumbnails.png",revision:"773f00bee2e4b58eb7418bc6318991f9"},{url:"assets/sample/thumbnails/thumbnail_1.jpg",revision:"890d671ff24609fe664591e532369ef0"},{url:"assets/sample/thumbnails/thumbnail_10.jpg",revision:"a7663ab4dfdf9193324209308ffbb7a5"},{url:"assets/sample/thumbnails/thumbnail_11.jpg",revision:"a08bdfedcc3aeac05f016e56a689653e"},{url:"assets/sample/thumbnails/thumbnail_12.jpg",revision:"1ced197e631315c5e9382d9a96ccfe46"},{url:"assets/sample/thumbnails/thumbnail_13.jpg",revision:"bf23e98f786d724bccda04ad09aec530"},{url:"assets/sample/thumbnails/thumbnail_14.jpg",revision:"2c0c50d2ba6ec12d5a2114f233cb8feb"},{url:"assets/sample/thumbnails/thumbnail_15.jpg",revision:"742f369717cf8df7e8571d3a5d0ac237"},{url:"assets/sample/thumbnails/thumbnail_16.jpg",revision:"2a20d4f23e08f20e70b43c3b239b2d63"},{url:"assets/sample/thumbnails/thumbnail_17.jpg",revision:"0111a62a4d1d1d33fce9353c7b4a7c91"},{url:"assets/sample/thumbnails/thumbnail_18.jpg",revision:"f3b04f2dfd5637a6b776263366ad4e4f"},{url:"assets/sample/thumbnails/thumbnail_19.jpg",revision:"2edd56f02f4be9ad1cdafe6fb5d84b26"},{url:"assets/sample/thumbnails/thumbnail_2.jpg",revision:"5f10723ac5c3db6026aa412e9a1b502d"},{url:"assets/sample/thumbnails/thumbnail_20.jpg",revision:"cfa252ef04b723cef9cc55975ba37cc7"},{url:"assets/sample/thumbnails/thumbnail_21.jpg",revision:"4568c38ddede0ac141c63c48a67e8476"},{url:"assets/sample/thumbnails/thumbnail_22.jpg",revision:"da810e7381acf11fdc0f271b42545d6d"},{url:"assets/sample/thumbnails/thumbnail_23.jpg",revision:"3f2ec2efaeff3179d5deb83012cd1a8c"},{url:"assets/sample/thumbnails/thumbnail_24.jpg",revision:"c3076ef8687470207a1efc92a7064350"},{url:"assets/sample/thumbnails/thumbnail_25.jpg",revision:"1bdf905f9d9a480ab069a6ba9557deb0"},{url:"assets/sample/thumbnails/thumbnail_26.jpg",revision:"12bea1094da0ca575b7cb69b27f83193"},{url:"assets/sample/thumbnails/thumbnail_27.jpg",revision:"51ea6f2bf02352123ab4f82e1689d515"},{url:"assets/sample/thumbnails/thumbnail_28.jpg",revision:"23f6c6910d48bec39154cb4ec89e43a2"},{url:"assets/sample/thumbnails/thumbnail_29.jpg",revision:"9911d20ad159762c487ceaa1f94fe55e"},{url:"assets/sample/thumbnails/thumbnail_3.jpg",revision:"590503a9cd098b113e4ad12aa899289f"},{url:"assets/sample/thumbnails/thumbnail_30.jpg",revision:"06c29411daedee89327b416a10689f45"},{url:"assets/sample/thumbnails/thumbnail_31.jpg",revision:"afc3783603b2f1616b5c2847a7a0c1d2"},{url:"assets/sample/thumbnails/thumbnail_32.jpg",revision:"146450d476a314e4c642b9c4fc7f9985"},{url:"assets/sample/thumbnails/thumbnail_33.jpg",revision:"397ec56c329d4dab7e137b1ca34bda9a"},{url:"assets/sample/thumbnails/thumbnail_34.jpg",revision:"f8acf52926bd804923183c82e7afbd46"},{url:"assets/sample/thumbnails/thumbnail_35.jpg",revision:"da27980a581f6a36874135ded47d6379"},{url:"assets/sample/thumbnails/thumbnail_36.jpg",revision:"0d832f8e56d49e08b7d0071fce424d74"},{url:"assets/sample/thumbnails/thumbnail_37.jpg",revision:"d6df71542bee77d04b5cd7a4df4f53d1"},{url:"assets/sample/thumbnails/thumbnail_38.jpg",revision:"ff247fdc930dfbb5711292870ea2c2ca"},{url:"assets/sample/thumbnails/thumbnail_39.jpg",revision:"cf9f9280e85a4958478bd03d8f51b87a"},{url:"assets/sample/thumbnails/thumbnail_4.jpg",revision:"a42f2b695d6e83b8f55354e4969b6aae"},{url:"assets/sample/thumbnails/thumbnail_40.jpg",revision:"07b27e70b7b4a125aa6cebeb4bc974d1"},{url:"assets/sample/thumbnails/thumbnail_41.jpg",revision:"f59aa668eef771af88ba970943b2b76d"},{url:"assets/sample/thumbnails/thumbnail_42.jpg",revision:"7ec9856c7ece414262b4c048e2d8a67e"},{url:"assets/sample/thumbnails/thumbnail_43.jpg",revision:"40fbf64bceb65aaf250d56041414c615"},{url:"assets/sample/thumbnails/thumbnail_44.jpg",revision:"63ebb0f8b33273037ea44a014ba1512e"},{url:"assets/sample/thumbnails/thumbnail_45.jpg",revision:"77c0cc31fa7022becdac5cc35b97e040"},{url:"assets/sample/thumbnails/thumbnail_46.jpg",revision:"8f35febea549973aac957b95a3f6b450"},{url:"assets/sample/thumbnails/thumbnail_47.jpg",revision:"8511eed5538ead79decdd473f4e648dc"},{url:"assets/sample/thumbnails/thumbnail_48.jpg",revision:"8450abbd5c545c5e20b378f651f18ebc"},{url:"assets/sample/thumbnails/thumbnail_49.jpg",revision:"8eaf81670a54dd2945ff9152f1d36e50"},{url:"assets/sample/thumbnails/thumbnail_5.jpg",revision:"ef90dd12b9c5eb0ad3b205c844045416"},{url:"assets/sample/thumbnails/thumbnail_50.jpg",revision:"2dae99bab8a8a0cac445c483c8d5524e"},{url:"assets/sample/thumbnails/thumbnail_51.jpg",revision:"4c3a94aeafa5102d8f999da8db05b8ac"},{url:"assets/sample/thumbnails/thumbnail_52.jpg",revision:"b63727ad0ea2de79b14f034140f23b6c"},{url:"assets/sample/thumbnails/thumbnail_53.jpg",revision:"b14e77f7ac281e6791f2dd6a897635f4"},{url:"assets/sample/thumbnails/thumbnail_54.jpg",revision:"84d5f6ac22f76b1a80b426647205314d"},{url:"assets/sample/thumbnails/thumbnail_55.jpg",revision:"3f8c9153990819828a0c40d8b6f93c96"},{url:"assets/sample/thumbnails/thumbnail_56.jpg",revision:"e321896fd577815dad0c224e3c0c99b6"},{url:"assets/sample/thumbnails/thumbnail_57.jpg",revision:"d04385f715f75c105034bcf1f1ea169c"},{url:"assets/sample/thumbnails/thumbnail_58.jpg",revision:"bb0abc4058799551e057dbe525a8032c"},{url:"assets/sample/thumbnails/thumbnail_59.jpg",revision:"0a641a8e43ebfd9982acaffeb772e41c"},{url:"assets/sample/thumbnails/thumbnail_6.jpg",revision:"5068cbd2ba1e7112f09e601126787082"},{url:"assets/sample/thumbnails/thumbnail_60.jpg",revision:"a3485360065e8aee489314f9fb6105ed"},{url:"assets/sample/thumbnails/thumbnail_7.jpg",revision:"9107a2b9ef154590427f4edd30a7af61"},{url:"assets/sample/thumbnails/thumbnail_8.jpg",revision:"0f22ef7e53e42d47d260707b7a4416eb"},{url:"assets/sample/thumbnails/thumbnail_9.jpg",revision:"d2dd29ef088dcfa125565a6e0fe1b834"}],{})})); diff --git a/workbox-9a84fccb.js b/workbox-9a84fccb.js new file mode 100644 index 000000000..e24662230 --- /dev/null +++ b/workbox-9a84fccb.js @@ -0,0 +1 @@ +define(["exports"],(function(t){"use strict";try{self["workbox:core:7.0.0"]&&_()}catch(t){}const e=(t,...e)=>{let s=t;return e.length>0&&(s+=` :: ${JSON.stringify(e)}`),s};class s extends Error{constructor(t,s){super(e(t,s)),this.name=t,this.details=s}}try{self["workbox:routing:7.0.0"]&&_()}catch(t){}const n=t=>t&&"object"==typeof t?t:{handle:t};class i{constructor(t,e,s="GET"){this.handler=n(e),this.match=t,this.method=s}setCatchHandler(t){this.catchHandler=n(t)}}class r extends i{constructor(t,e,s){super((({url:e})=>{const s=t.exec(e.href);if(s&&(e.origin===location.origin||0===s.index))return s.slice(1)}),e,s)}}class o{constructor(){this.t=new Map,this.i=new Map}get routes(){return this.t}addFetchListener(){self.addEventListener("fetch",(t=>{const{request:e}=t,s=this.handleRequest({request:e,event:t});s&&t.respondWith(s)}))}addCacheListener(){self.addEventListener("message",(t=>{if(t.data&&"CACHE_URLS"===t.data.type){const{payload:e}=t.data,s=Promise.all(e.urlsToCache.map((e=>{"string"==typeof e&&(e=[e]);const s=new Request(...e);return this.handleRequest({request:s,event:t})})));t.waitUntil(s),t.ports&&t.ports[0]&&s.then((()=>t.ports[0].postMessage(!0)))}}))}handleRequest({request:t,event:e}){const s=new URL(t.url,location.href);if(!s.protocol.startsWith("http"))return;const n=s.origin===location.origin,{params:i,route:r}=this.findMatchingRoute({event:e,request:t,sameOrigin:n,url:s});let o=r&&r.handler;const c=t.method;if(!o&&this.i.has(c)&&(o=this.i.get(c)),!o)return;let a;try{a=o.handle({url:s,request:t,event:e,params:i})}catch(t){a=Promise.reject(t)}const h=r&&r.catchHandler;return a instanceof Promise&&(this.o||h)&&(a=a.catch((async n=>{if(h)try{return await h.handle({url:s,request:t,event:e,params:i})}catch(t){t instanceof Error&&(n=t)}if(this.o)return this.o.handle({url:s,request:t,event:e});throw n}))),a}findMatchingRoute({url:t,sameOrigin:e,request:s,event:n}){const i=this.t.get(s.method)||[];for(const r of i){let i;const o=r.match({url:t,sameOrigin:e,request:s,event:n});if(o)return i=o,(Array.isArray(i)&&0===i.length||o.constructor===Object&&0===Object.keys(o).length||"boolean"==typeof o)&&(i=void 0),{route:r,params:i}}return{}}setDefaultHandler(t,e="GET"){this.i.set(e,n(t))}setCatchHandler(t){this.o=n(t)}registerRoute(t){this.t.has(t.method)||this.t.set(t.method,[]),this.t.get(t.method).push(t)}unregisterRoute(t){if(!this.t.has(t.method))throw new s("unregister-route-but-not-found-with-method",{method:t.method});const e=this.t.get(t.method).indexOf(t);if(!(e>-1))throw new s("unregister-route-route-not-registered");this.t.get(t.method).splice(e,1)}}let c;const a=()=>(c||(c=new o,c.addFetchListener(),c.addCacheListener()),c);const h={googleAnalytics:"googleAnalytics",precache:"precache-v2",prefix:"workbox",runtime:"runtime",suffix:"undefined"!=typeof registration?registration.scope:""},u=t=>[h.prefix,t,h.suffix].filter((t=>t&&t.length>0)).join("-"),l=t=>t||u(h.precache),f=t=>t||u(h.runtime);function w(t,e){const s=e();return t.waitUntil(s),s}try{self["workbox:precaching:7.0.0"]&&_()}catch(t){}function d(t){if(!t)throw new s("add-to-cache-list-unexpected-type",{entry:t});if("string"==typeof t){const e=new URL(t,location.href);return{cacheKey:e.href,url:e.href}}const{revision:e,url:n}=t;if(!n)throw new s("add-to-cache-list-unexpected-type",{entry:t});if(!e){const t=new URL(n,location.href);return{cacheKey:t.href,url:t.href}}const i=new URL(n,location.href),r=new URL(n,location.href);return i.searchParams.set("__WB_REVISION__",e),{cacheKey:i.href,url:r.href}}class p{constructor(){this.updatedURLs=[],this.notUpdatedURLs=[],this.handlerWillStart=async({request:t,state:e})=>{e&&(e.originalRequest=t)},this.cachedResponseWillBeUsed=async({event:t,state:e,cachedResponse:s})=>{if("install"===t.type&&e&&e.originalRequest&&e.originalRequest instanceof Request){const t=e.originalRequest.url;s?this.notUpdatedURLs.push(t):this.updatedURLs.push(t)}return s}}}class y{constructor({precacheController:t}){this.cacheKeyWillBeUsed=async({request:t,params:e})=>{const s=(null==e?void 0:e.cacheKey)||this.h.getCacheKeyForURL(t.url);return s?new Request(s,{headers:t.headers}):t},this.h=t}}let g;async function R(t,e){let n=null;if(t.url){n=new URL(t.url).origin}if(n!==self.location.origin)throw new s("cross-origin-copy-response",{origin:n});const i=t.clone(),r={headers:new Headers(i.headers),status:i.status,statusText:i.statusText},o=e?e(r):r,c=function(){if(void 0===g){const t=new Response("");if("body"in t)try{new Response(t.body),g=!0}catch(t){g=!1}g=!1}return g}()?i.body:await i.blob();return new Response(c,o)}function m(t,e){const s=new URL(t);for(const t of e)s.searchParams.delete(t);return s.href}class v{constructor(){this.promise=new Promise(((t,e)=>{this.resolve=t,this.reject=e}))}}const q=new Set;try{self["workbox:strategies:7.0.0"]&&_()}catch(t){}function U(t){return"string"==typeof t?new Request(t):t}class L{constructor(t,e){this.u={},Object.assign(this,e),this.event=e.event,this.l=t,this.p=new v,this.R=[],this.m=[...t.plugins],this.v=new Map;for(const t of this.m)this.v.set(t,{});this.event.waitUntil(this.p.promise)}async fetch(t){const{event:e}=this;let n=U(t);if("navigate"===n.mode&&e instanceof FetchEvent&&e.preloadResponse){const t=await e.preloadResponse;if(t)return t}const i=this.hasCallback("fetchDidFail")?n.clone():null;try{for(const t of this.iterateCallbacks("requestWillFetch"))n=await t({request:n.clone(),event:e})}catch(t){if(t instanceof Error)throw new s("plugin-error-request-will-fetch",{thrownErrorMessage:t.message})}const r=n.clone();try{let t;t=await fetch(n,"navigate"===n.mode?void 0:this.l.fetchOptions);for(const s of this.iterateCallbacks("fetchDidSucceed"))t=await s({event:e,request:r,response:t});return t}catch(t){throw i&&await this.runCallbacks("fetchDidFail",{error:t,event:e,originalRequest:i.clone(),request:r.clone()}),t}}async fetchAndCachePut(t){const e=await this.fetch(t),s=e.clone();return this.waitUntil(this.cachePut(t,s)),e}async cacheMatch(t){const e=U(t);let s;const{cacheName:n,matchOptions:i}=this.l,r=await this.getCacheKey(e,"read"),o=Object.assign(Object.assign({},i),{cacheName:n});s=await caches.match(r,o);for(const t of this.iterateCallbacks("cachedResponseWillBeUsed"))s=await t({cacheName:n,matchOptions:i,cachedResponse:s,request:r,event:this.event})||void 0;return s}async cachePut(t,e){const n=U(t);var i;await(i=0,new Promise((t=>setTimeout(t,i))));const r=await this.getCacheKey(n,"write");if(!e)throw new s("cache-put-with-no-response",{url:(o=r.url,new URL(String(o),location.href).href.replace(new RegExp(`^${location.origin}`),""))});var o;const c=await this.q(e);if(!c)return!1;const{cacheName:a,matchOptions:h}=this.l,u=await self.caches.open(a),l=this.hasCallback("cacheDidUpdate"),f=l?await async function(t,e,s,n){const i=m(e.url,s);if(e.url===i)return t.match(e,n);const r=Object.assign(Object.assign({},n),{ignoreSearch:!0}),o=await t.keys(e,r);for(const e of o)if(i===m(e.url,s))return t.match(e,n)}(u,r.clone(),["__WB_REVISION__"],h):null;try{await u.put(r,l?c.clone():c)}catch(t){if(t instanceof Error)throw"QuotaExceededError"===t.name&&await async function(){for(const t of q)await t()}(),t}for(const t of this.iterateCallbacks("cacheDidUpdate"))await t({cacheName:a,oldResponse:f,newResponse:c.clone(),request:r,event:this.event});return!0}async getCacheKey(t,e){const s=`${t.url} | ${e}`;if(!this.u[s]){let n=t;for(const t of this.iterateCallbacks("cacheKeyWillBeUsed"))n=U(await t({mode:e,request:n,event:this.event,params:this.params}));this.u[s]=n}return this.u[s]}hasCallback(t){for(const e of this.l.plugins)if(t in e)return!0;return!1}async runCallbacks(t,e){for(const s of this.iterateCallbacks(t))await s(e)}*iterateCallbacks(t){for(const e of this.l.plugins)if("function"==typeof e[t]){const s=this.v.get(e),n=n=>{const i=Object.assign(Object.assign({},n),{state:s});return e[t](i)};yield n}}waitUntil(t){return this.R.push(t),t}async doneWaiting(){let t;for(;t=this.R.shift();)await t}destroy(){this.p.resolve(null)}async q(t){let e=t,s=!1;for(const t of this.iterateCallbacks("cacheWillUpdate"))if(e=await t({request:this.request,response:e,event:this.event})||void 0,s=!0,!e)break;return s||e&&200!==e.status&&(e=void 0),e}}class b{constructor(t={}){this.cacheName=f(t.cacheName),this.plugins=t.plugins||[],this.fetchOptions=t.fetchOptions,this.matchOptions=t.matchOptions}handle(t){const[e]=this.handleAll(t);return e}handleAll(t){t instanceof FetchEvent&&(t={event:t,request:t.request});const e=t.event,s="string"==typeof t.request?new Request(t.request):t.request,n="params"in t?t.params:void 0,i=new L(this,{event:e,request:s,params:n}),r=this.U(i,s,e);return[r,this.L(r,i,s,e)]}async U(t,e,n){let i;await t.runCallbacks("handlerWillStart",{event:n,request:e});try{if(i=await this._(e,t),!i||"error"===i.type)throw new s("no-response",{url:e.url})}catch(s){if(s instanceof Error)for(const r of t.iterateCallbacks("handlerDidError"))if(i=await r({error:s,event:n,request:e}),i)break;if(!i)throw s}for(const s of t.iterateCallbacks("handlerWillRespond"))i=await s({event:n,request:e,response:i});return i}async L(t,e,s,n){let i,r;try{i=await t}catch(r){}try{await e.runCallbacks("handlerDidRespond",{event:n,request:s,response:i}),await e.doneWaiting()}catch(t){t instanceof Error&&(r=t)}if(await e.runCallbacks("handlerDidComplete",{event:n,request:s,response:i,error:r}),e.destroy(),r)throw r}}class C extends b{constructor(t={}){t.cacheName=l(t.cacheName),super(t),this.C=!1!==t.fallbackToNetwork,this.plugins.push(C.copyRedirectedCacheableResponsesPlugin)}async _(t,e){const s=await e.cacheMatch(t);return s||(e.event&&"install"===e.event.type?await this.O(t,e):await this.N(t,e))}async N(t,e){let n;const i=e.params||{};if(!this.C)throw new s("missing-precache-entry",{cacheName:this.cacheName,url:t.url});{const s=i.integrity,r=t.integrity,o=!r||r===s;n=await e.fetch(new Request(t,{integrity:"no-cors"!==t.mode?r||s:void 0})),s&&o&&"no-cors"!==t.mode&&(this.k(),await e.cachePut(t,n.clone()))}return n}async O(t,e){this.k();const n=await e.fetch(t);if(!await e.cachePut(t,n.clone()))throw new s("bad-precaching-response",{url:t.url,status:n.status});return n}k(){let t=null,e=0;for(const[s,n]of this.plugins.entries())n!==C.copyRedirectedCacheableResponsesPlugin&&(n===C.defaultPrecacheCacheabilityPlugin&&(t=s),n.cacheWillUpdate&&e++);0===e?this.plugins.push(C.defaultPrecacheCacheabilityPlugin):e>1&&null!==t&&this.plugins.splice(t,1)}}C.defaultPrecacheCacheabilityPlugin={cacheWillUpdate:async({response:t})=>!t||t.status>=400?null:t},C.copyRedirectedCacheableResponsesPlugin={cacheWillUpdate:async({response:t})=>t.redirected?await R(t):t};class E{constructor({cacheName:t,plugins:e=[],fallbackToNetwork:s=!0}={}){this.K=new Map,this.T=new Map,this.W=new Map,this.l=new C({cacheName:l(t),plugins:[...e,new y({precacheController:this})],fallbackToNetwork:s}),this.install=this.install.bind(this),this.activate=this.activate.bind(this)}get strategy(){return this.l}precache(t){this.addToCacheList(t),this.j||(self.addEventListener("install",this.install),self.addEventListener("activate",this.activate),this.j=!0)}addToCacheList(t){const e=[];for(const n of t){"string"==typeof n?e.push(n):n&&void 0===n.revision&&e.push(n.url);const{cacheKey:t,url:i}=d(n),r="string"!=typeof n&&n.revision?"reload":"default";if(this.K.has(i)&&this.K.get(i)!==t)throw new s("add-to-cache-list-conflicting-entries",{firstEntry:this.K.get(i),secondEntry:t});if("string"!=typeof n&&n.integrity){if(this.W.has(t)&&this.W.get(t)!==n.integrity)throw new s("add-to-cache-list-conflicting-integrities",{url:i});this.W.set(t,n.integrity)}if(this.K.set(i,t),this.T.set(i,r),e.length>0){const t=`Workbox is precaching URLs without revision info: ${e.join(", ")}\nThis is generally NOT safe. Learn more at https://bit.ly/wb-precache`;console.warn(t)}}}install(t){return w(t,(async()=>{const e=new p;this.strategy.plugins.push(e);for(const[e,s]of this.K){const n=this.W.get(s),i=this.T.get(e),r=new Request(e,{integrity:n,cache:i,credentials:"same-origin"});await Promise.all(this.strategy.handleAll({params:{cacheKey:s},request:r,event:t}))}const{updatedURLs:s,notUpdatedURLs:n}=e;return{updatedURLs:s,notUpdatedURLs:n}}))}activate(t){return w(t,(async()=>{const t=await self.caches.open(this.strategy.cacheName),e=await t.keys(),s=new Set(this.K.values()),n=[];for(const i of e)s.has(i.url)||(await t.delete(i),n.push(i.url));return{deletedURLs:n}}))}getURLsToCacheKeys(){return this.K}getCachedURLs(){return[...this.K.keys()]}getCacheKeyForURL(t){const e=new URL(t,location.href);return this.K.get(e.href)}getIntegrityForCacheKey(t){return this.W.get(t)}async matchPrecache(t){const e=t instanceof Request?t.url:t,s=this.getCacheKeyForURL(e);if(s){return(await self.caches.open(this.strategy.cacheName)).match(s)}}createHandlerBoundToURL(t){const e=this.getCacheKeyForURL(t);if(!e)throw new s("non-precached-url",{url:t});return s=>(s.request=new Request(t),s.params=Object.assign({cacheKey:e},s.params),this.strategy.handle(s))}}let O;const x=()=>(O||(O=new E),O);class N extends i{constructor(t,e){super((({request:s})=>{const n=t.getURLsToCacheKeys();for(const i of function*(t,{ignoreURLParametersMatching:e=[/^utm_/,/^fbclid$/],directoryIndex:s="index.html",cleanURLs:n=!0,urlManipulation:i}={}){const r=new URL(t,location.href);r.hash="",yield r.href;const o=function(t,e=[]){for(const s of[...t.searchParams.keys()])e.some((t=>t.test(s)))&&t.searchParams.delete(s);return t}(r,e);if(yield o.href,s&&o.pathname.endsWith("/")){const t=new URL(o.href);t.pathname+=s,yield t.href}if(n){const t=new URL(o.href);t.pathname+=".html",yield t.href}if(i){const t=i({url:r});for(const e of t)yield e.href}}(s.url,e)){const e=n.get(i);if(e){return{cacheKey:e,integrity:t.getIntegrityForCacheKey(e)}}}}),t.strategy)}}function k(t){const e=x();!function(t,e,n){let o;if("string"==typeof t){const s=new URL(t,location.href);o=new i((({url:t})=>t.href===s.href),e,n)}else if(t instanceof RegExp)o=new r(t,e,n);else if("function"==typeof t)o=new i(t,e,n);else{if(!(t instanceof i))throw new s("unsupported-route-type",{moduleName:"workbox-routing",funcName:"registerRoute",paramName:"capture"});o=t}a().registerRoute(o)}(new N(e,t))}t.precacheAndRoute=function(t,e){!function(t){x().precache(t)}(t),k(e)}}));