diff --git a/demo/index.html b/demo/index.html index e37cc05c8..bfe8a51aa 100644 --- a/demo/index.html +++ b/demo/index.html @@ -22,7 +22,10 @@

Quick Start

video: { url: 'http://devtest.qiniudn.com/若能绽放光芒.mp4', pic: 'http://devtest.qiniudn.com/若能绽放光芒.png', - thumbnails: 'http://devtest.qiniudn.com/thumbnails.jpg' + thumbnails: 'http://devtest.qiniudn.com/thumbnails.jpg', + }, + subtitle: { + url: 'http://devtest.qiniudn.com/若能绽放光芒2.vtt' }, danmaku: { id: '9E2E3368B56CDBB4', @@ -60,6 +63,13 @@

Options

type: 'auto', thumbnails: 'http://devtest.qiniudn.com/thumbnails.jpg' }, + subtitle: { + url: 'http://devtest.qiniudn.com/若能绽放光芒2.vtt', + type: 'webvtt', + fontSize: '25px', + bottom: '10%', + color: '#b7daff' + }, danmaku: { id: '9E2E3368B56CDBB4', api: 'https://api.prprpr.me/dplayer/', diff --git a/dist/DPlayer.min.css b/dist/DPlayer.min.css index 1cad9f277..9b7fd9b96 100644 --- a/dist/DPlayer.min.css +++ b/dist/DPlayer.min.css @@ -1,2 +1,2 @@ -button[data-balloon]{overflow:visible}[data-balloon]{position:relative;cursor:pointer}[data-balloon]:after{font-family:sans-serif!important;font-weight:400!important;font-style:normal!important;text-shadow:none!important;font-size:12px!important;background:hsla(0,0%,7%,.9);border-radius:4px;color:#fff;content:attr(data-balloon);padding:.5em 1em;white-space:nowrap}[data-balloon]:after,[data-balloon]:before{filter:alpha(opactiy=0);-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";-moz-opacity:0;-khtml-opacity:0;opacity:0;pointer-events:none;-webkit-transition:all .18s ease-out .18s;transition:all .18s ease-out .18s;position:absolute;z-index:10}[data-balloon]:before{background:no-repeat url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='12'%3E%3Cpath fill='rgba(17, 17, 17, 0.9)' d='M2.658 0h32.004c-6 0-11.627 12.002-16.002 12.002C14.285 12.002 8.594 0 2.658 0z'/%3E%3C/svg%3E");background-size:100% auto;width:18px;height:6px;content:""}[data-balloon]:hover:after,[data-balloon]:hover:before,[data-balloon][data-balloon-visible]:after,[data-balloon][data-balloon-visible]:before{filter:alpha(opactiy=100);-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";-moz-opacity:1;-khtml-opacity:1;opacity:1;pointer-events:auto}[data-balloon].font-awesome:after{font-family:FontAwesome}[data-balloon][data-balloon-break]:after{white-space:pre}[data-balloon][data-balloon-blunt]:after,[data-balloon][data-balloon-blunt]:before{-webkit-transition:none;transition:none}[data-balloon][data-balloon-pos=up]:after{margin-bottom:11px}[data-balloon][data-balloon-pos=up]:after,[data-balloon][data-balloon-pos=up]:before{bottom:100%;left:50%;-webkit-transform:translate(-50%,10px);transform:translate(-50%,10px);-webkit-transform-origin:top;transform-origin:top}[data-balloon][data-balloon-pos=up]:before{margin-bottom:5px}[data-balloon][data-balloon-pos=up]:hover:after,[data-balloon][data-balloon-pos=up]:hover:before,[data-balloon][data-balloon-pos=up][data-balloon-visible]:after,[data-balloon][data-balloon-pos=up][data-balloon-visible]:before{-webkit-transform:translate(-50%);transform:translate(-50%)}[data-balloon][data-balloon-pos=up-left]:after{left:0;margin-bottom:11px}[data-balloon][data-balloon-pos=up-left]:after,[data-balloon][data-balloon-pos=up-left]:before{bottom:100%;-webkit-transform:translateY(10px);transform:translateY(10px);-webkit-transform-origin:top;transform-origin:top}[data-balloon][data-balloon-pos=up-left]:before{left:5px;margin-bottom:5px}[data-balloon][data-balloon-pos=up-left]:hover:after,[data-balloon][data-balloon-pos=up-left]:hover:before,[data-balloon][data-balloon-pos=up-left][data-balloon-visible]:after,[data-balloon][data-balloon-pos=up-left][data-balloon-visible]:before{-webkit-transform:translate(0);transform:translate(0)}[data-balloon][data-balloon-pos=up-right]:after{right:0;margin-bottom:11px}[data-balloon][data-balloon-pos=up-right]:after,[data-balloon][data-balloon-pos=up-right]:before{bottom:100%;-webkit-transform:translateY(10px);transform:translateY(10px);-webkit-transform-origin:top;transform-origin:top}[data-balloon][data-balloon-pos=up-right]:before{right:5px;margin-bottom:5px}[data-balloon][data-balloon-pos=up-right]:hover:after,[data-balloon][data-balloon-pos=up-right]:hover:before,[data-balloon][data-balloon-pos=up-right][data-balloon-visible]:after,[data-balloon][data-balloon-pos=up-right][data-balloon-visible]:before{-webkit-transform:translate(0);transform:translate(0)}[data-balloon][data-balloon-pos=down]:after{margin-top:11px}[data-balloon][data-balloon-pos=down]:after,[data-balloon][data-balloon-pos=down]:before{left:50%;top:100%;-webkit-transform:translate(-50%,-10px);transform:translate(-50%,-10px)}[data-balloon][data-balloon-pos=down]:before{background:no-repeat url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='12'%3E%3Cpath fill='rgba(17, 17, 17, 0.9)' d='M33.342 12H1.338c6 0 11.627-12.002 16.002-12.002C21.715-.002 27.406 12 33.342 12z'/%3E%3C/svg%3E");background-size:100% auto;width:18px;height:6px;margin-top:5px}[data-balloon][data-balloon-pos=down]:hover:after,[data-balloon][data-balloon-pos=down]:hover:before,[data-balloon][data-balloon-pos=down][data-balloon-visible]:after,[data-balloon][data-balloon-pos=down][data-balloon-visible]:before{-webkit-transform:translate(-50%);transform:translate(-50%)}[data-balloon][data-balloon-pos=down-left]:after{left:0;margin-top:11px;top:100%;-webkit-transform:translateY(-10px);transform:translateY(-10px)}[data-balloon][data-balloon-pos=down-left]:before{background:no-repeat url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='12'%3E%3Cpath fill='rgba(17, 17, 17, 0.9)' d='M33.342 12H1.338c6 0 11.627-12.002 16.002-12.002C21.715-.002 27.406 12 33.342 12z'/%3E%3C/svg%3E");background-size:100% auto;width:18px;height:6px;left:5px;margin-top:5px;top:100%;-webkit-transform:translateY(-10px);transform:translateY(-10px)}[data-balloon][data-balloon-pos=down-left]:hover:after,[data-balloon][data-balloon-pos=down-left]:hover:before,[data-balloon][data-balloon-pos=down-left][data-balloon-visible]:after,[data-balloon][data-balloon-pos=down-left][data-balloon-visible]:before{-webkit-transform:translate(0);transform:translate(0)}[data-balloon][data-balloon-pos=down-right]:after{right:0;margin-top:11px;top:100%;-webkit-transform:translateY(-10px);transform:translateY(-10px)}[data-balloon][data-balloon-pos=down-right]:before{background:no-repeat url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='12'%3E%3Cpath fill='rgba(17, 17, 17, 0.9)' d='M33.342 12H1.338c6 0 11.627-12.002 16.002-12.002C21.715-.002 27.406 12 33.342 12z'/%3E%3C/svg%3E");background-size:100% auto;width:18px;height:6px;right:5px;margin-top:5px;top:100%;-webkit-transform:translateY(-10px);transform:translateY(-10px)}[data-balloon][data-balloon-pos=down-right]:hover:after,[data-balloon][data-balloon-pos=down-right]:hover:before,[data-balloon][data-balloon-pos=down-right][data-balloon-visible]:after,[data-balloon][data-balloon-pos=down-right][data-balloon-visible]:before{-webkit-transform:translate(0);transform:translate(0)}[data-balloon][data-balloon-pos=left]:after{margin-right:11px;right:100%;top:50%;-webkit-transform:translate(10px,-50%);transform:translate(10px,-50%)}[data-balloon][data-balloon-pos=left]:before{background:no-repeat url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='36'%3E%3Cpath fill='rgba(17, 17, 17, 0.9)' d='M0 33.342V1.338c0 6 12.002 11.627 12.002 16.002C12.002 21.715 0 27.406 0 33.342z'/%3E%3C/svg%3E");background-size:100% auto;width:6px;height:18px;margin-right:5px;right:100%;top:50%;-webkit-transform:translate(10px,-50%);transform:translate(10px,-50%)}[data-balloon][data-balloon-pos=left]:hover:after,[data-balloon][data-balloon-pos=left]:hover:before,[data-balloon][data-balloon-pos=left][data-balloon-visible]:after,[data-balloon][data-balloon-pos=left][data-balloon-visible]:before{-webkit-transform:translateY(-50%);transform:translateY(-50%)}[data-balloon][data-balloon-pos=right]:after{left:100%;margin-left:11px;top:50%;-webkit-transform:translate(-10px,-50%);transform:translate(-10px,-50%)}[data-balloon][data-balloon-pos=right]:before{background:no-repeat url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='36'%3E%3Cpath fill='rgba(17, 17, 17, 0.9)' d='M12 2.658v32.004c0-6-12.002-11.627-12.002-16.002C-.002 14.285 12 8.594 12 2.658z'/%3E%3C/svg%3E");background-size:100% auto;width:6px;height:18px;left:100%;margin-left:5px;top:50%;-webkit-transform:translate(-10px,-50%);transform:translate(-10px,-50%)}[data-balloon][data-balloon-pos=right]:hover:after,[data-balloon][data-balloon-pos=right]:hover:before,[data-balloon][data-balloon-pos=right][data-balloon-visible]:after,[data-balloon][data-balloon-pos=right][data-balloon-visible]:before{-webkit-transform:translateY(-50%);transform:translateY(-50%)}[data-balloon][data-balloon-length=small]:after{white-space:normal;width:80px}[data-balloon][data-balloon-length=medium]:after{white-space:normal;width:150px}[data-balloon][data-balloon-length=large]:after{white-space:normal;width:260px}[data-balloon][data-balloon-length=xlarge]:after{white-space:normal;width:380px}@media screen and (max-width:768px){[data-balloon][data-balloon-length=xlarge]:after{white-space:normal;width:90vw}}[data-balloon][data-balloon-length=fit]:after{white-space:normal;width:100%}.dplayer{position:relative;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;line-height:1}.dplayer *{-webkit-box-sizing:content-box;box-sizing:content-box}.dplayer:-webkit-full-screen{width:100%;height:100%;background:#000;position:fixed;z-index:100000;left:0;top:0}.dplayer:-webkit-full-screen .dplayer-danmaku .dplayer-danmaku-bottom.dplayer-danmaku-move,.dplayer:-webkit-full-screen .dplayer-danmaku .dplayer-danmaku-top.dplayer-danmaku-move{-webkit-animation:danmaku-center 6s linear;animation:danmaku-center 6s linear;-webkit-animation-play-state:paused;animation-play-state:paused}.dplayer:-webkit-full-screen .dplayer-danmaku .dplayer-danmaku-right.dplayer-danmaku-move{-webkit-animation:danmaku 8s linear;animation:danmaku 8s linear;-webkit-animation-play-state:paused;animation-play-state:paused}.dplayer.dplayer-no-danmaku .dplayer-controller .dplayer-icons .dplayer-comment,.dplayer.dplayer-no-danmaku .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box .dplayer-setting-danmaku,.dplayer.dplayer-no-danmaku .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box .dplayer-setting-danunlimit,.dplayer.dplayer-no-danmaku .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box .dplayer-setting-showdan,.dplayer.dplayer-no-danmaku .dplayer-danmaku{display:none}.dplayer.dplayer-playing .dplayer-danmaku .dplayer-danmaku-move{-webkit-animation-play-state:running!important;animation-play-state:running!important}@media (min-width:900px){.dplayer.dplayer-playing .dplayer-controller,.dplayer.dplayer-playing .dplayer-controller-mask{opacity:0}.dplayer.dplayer-playing:hover .dplayer-controller,.dplayer.dplayer-playing:hover .dplayer-controller-mask{opacity:1}}.dplayer.dplayer-loading .dplayer-bezel .diplayer-loading-icon{display:block}.dplayer.dplayer-loading .dplayer-danmaku .dplayer-danmaku-move{-webkit-animation-play-state:paused!important;animation-play-state:paused!important}.dplayer.dplayer-hide-controller{cursor:none}.dplayer.dplayer-hide-controller .dplayer-controller,.dplayer.dplayer-hide-controller .dplayer-controller-mask{opacity:0;-webkit-transform:translateY(100%);transform:translateY(100%)}.dplayer.dplayer-show-controller .dplayer-controller,.dplayer.dplayer-show-controller .dplayer-controller-mask{opacity:1}.dplayer.dplayer-fulled{position:fixed;z-index:100000;left:0;top:0;width:100%;height:100%}.dplayer.dplayer-mobile .dplayer-camera-icon,.dplayer.dplayer-mobile .dplayer-volume{display:none!important}.dplayer.dplayer-mobile .dplayer-full-in-icon{position:static!important;display:inline-block!important}.dplayer.dplayer-mobile .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box .dplayer-comment-input{width:200px}.dplayer.dplayer-mobile .dplayer-comment-setting-title{display:none}.dplayer.dplayer-mobile .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box .dplayer-comment-setting-box{left:17px}.dplayer.dplayer-mobile .dplayer-controller .dplayer-icons .dplayer-icon{width:40px}.dplayer .dplayer-mask{position:absolute;top:0;bottom:0;left:0;right:0;z-index:1;display:none}.dplayer .dplayer-mask.dplayer-mask-show{display:block}.dplayer .dplayer-video-wrap{position:relative;background:#000;font-size:0;width:100%;height:100%}.dplayer .dplayer-video-wrap .dplayer-video{width:100%;height:100%;display:none}.dplayer .dplayer-video-wrap .dplayer-video-current{display:block}.dplayer .dplayer-video-wrap .dplayer-video-prepare{display:none}.dplayer .dplayer-danmaku{position:absolute;left:0;right:0;top:0;bottom:0;font-size:22px;color:#fff}.dplayer .dplayer-danmaku .dplayer-danmaku-item{display:inline-block;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default;white-space:nowrap;text-shadow:.5px .5px .5px rgba(0,0,0,.5)}.dplayer .dplayer-danmaku .dplayer-danmaku-item--demo{position:absolute;visibility:hidden}.dplayer .dplayer-danmaku .dplayer-danmaku-right{position:absolute;right:0;-webkit-transform:translateX(100%);transform:translateX(100%)}.dplayer .dplayer-danmaku .dplayer-danmaku-right.dplayer-danmaku-move{will-change:transform;-webkit-animation:danmaku 5s linear;animation:danmaku 5s linear;-webkit-animation-play-state:paused;animation-play-state:paused}@-webkit-keyframes danmaku{0%{-webkit-transform:translateX(100%);transform:translateX(100%)}}@keyframes danmaku{0%{-webkit-transform:translateX(100%);transform:translateX(100%)}}.dplayer .dplayer-danmaku .dplayer-danmaku-bottom,.dplayer .dplayer-danmaku .dplayer-danmaku-top{position:absolute;width:100%;text-align:center;visibility:hidden}.dplayer .dplayer-danmaku .dplayer-danmaku-bottom.dplayer-danmaku-move,.dplayer .dplayer-danmaku .dplayer-danmaku-top.dplayer-danmaku-move{will-change:visibility;-webkit-animation:danmaku-center 4s linear;animation:danmaku-center 4s linear;-webkit-animation-play-state:paused;animation-play-state:paused}@-webkit-keyframes danmaku-center{0%{visibility:visible}to{visibility:visible}}@keyframes danmaku-center{0%{visibility:visible}to{visibility:visible}}.dplayer .dplayer-bezel{position:absolute;left:0;right:0;top:0;bottom:0;font-size:22px;color:#fff;pointer-events:none}.dplayer .dplayer-bezel .dplayer-fill{fill:hsla(0,0%,100%,.8)}.dplayer .dplayer-bezel .dplayer-bezel-icon{position:absolute;top:50%;left:50%;margin:-26px 0 0 -26px;height:52px;width:52px;padding:12px;-webkit-box-sizing:border-box;box-sizing:border-box;background:rgba(0,0,0,.5);border-radius:50%;opacity:0;pointer-events:none}.dplayer .dplayer-bezel .dplayer-bezel-icon.dplayer-bezel-transition{-webkit-animation:bezel-hide .5s linear;animation:bezel-hide .5s linear}@-webkit-keyframes bezel-hide{0%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}to{opacity:0;-webkit-transform:scale(2);transform:scale(2)}}@keyframes bezel-hide{0%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}to{opacity:0;-webkit-transform:scale(2);transform:scale(2)}}.dplayer .dplayer-bezel .dplayer-danloading{position:absolute;top:50%;margin-top:-7px;width:100%;text-align:center;font-size:14px;line-height:14px;-webkit-animation:my-face 5s infinite ease-in-out;animation:my-face 5s infinite ease-in-out}.dplayer .dplayer-bezel .diplayer-loading-icon{display:none;position:absolute;top:50%;left:50%;margin:-18px 0 0 -18px;height:36px;width:36px;pointer-events:none}.dplayer .dplayer-bezel .diplayer-loading-icon .diplayer-loading-hide{display:none}.dplayer .dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot{-webkit-animation:diplayer-loading-dot-fade .8s ease infinite;animation:diplayer-loading-dot-fade .8s ease infinite;opacity:0;fill:#fff;-webkit-transform-origin:4px 4px;transform-origin:4px 4px}.dplayer .dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-7{-webkit-animation-delay:.7s;animation-delay:.7s}.dplayer .dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-6{-webkit-animation-delay:.6s;animation-delay:.6s}.dplayer .dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-5{-webkit-animation-delay:.5s;animation-delay:.5s}.dplayer .dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-4{-webkit-animation-delay:.4s;animation-delay:.4s}.dplayer .dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-3{-webkit-animation-delay:.3s;animation-delay:.3s}.dplayer .dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-2{-webkit-animation-delay:.2s;animation-delay:.2s}.dplayer .dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-1{-webkit-animation-delay:.1s;animation-delay:.1s}@-webkit-keyframes diplayer-loading-dot-fade{0%{opacity:.7;-webkit-transform:scale(1.2);transform:scale(1.2)}50%{opacity:.25;-webkit-transform:scale(.9);transform:scale(.9)}to{opacity:.25;-webkit-transform:scale(.85);transform:scale(.85)}}@keyframes diplayer-loading-dot-fade{0%{opacity:.7;-webkit-transform:scale(1.2);transform:scale(1.2)}50%{opacity:.25;-webkit-transform:scale(.9);transform:scale(.9)}to{opacity:.25;-webkit-transform:scale(.85);transform:scale(.85)}}.dplayer .dplayer-controller-mask{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAADGCAYAAAAT+OqFAAAAdklEQVQoz42QQQ7AIAgEF/T/D+kbq/RWAlnQyyazA4aoAB4FsBSA/bFjuF1EOL7VbrIrBuusmrt4ZZORfb6ehbWdnRHEIiITaEUKa5EJqUakRSaEYBJSCY2dEstQY7AuxahwXFrvZmWl2rh4JZ07z9dLtesfNj5q0FU3A5ObbwAAAABJRU5ErkJggg==) repeat-x bottom;height:98px;width:100%}.dplayer .dplayer-controller,.dplayer .dplayer-controller-mask{position:absolute;bottom:0;-webkit-transition:all .3s ease;transition:all .3s ease}.dplayer .dplayer-controller{left:0;right:0;height:41px;padding:0 20px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.dplayer .dplayer-controller .dplayer-bar-wrap{padding:5px 0;cursor:pointer;position:absolute;bottom:33px;width:calc(100% - 40px);height:3px}.dplayer .dplayer-controller .dplayer-bar-wrap:hover .dplayer-thumb{-webkit-transform:scale(1)!important;transform:scale(1)!important}.dplayer .dplayer-controller .dplayer-bar-wrap .dplayer-bar-preview{position:absolute;background:#fff;pointer-events:none;display:none;background-size:auto 100%}.dplayer .dplayer-controller .dplayer-bar-wrap .dplayer-bar-preview-canvas{position:absolute;width:100%;height:100%;z-index:1;pointer-events:none}.dplayer .dplayer-controller .dplayer-bar-wrap .dplayer-bar-time{position:absolute;left:0;top:-20px;width:30px;border-radius:4px;padding:5px 7px;background-color:rgba(0,0,0,.62);color:#fff;font-size:12px;text-align:center;opacity:1;-webkit-transition:opacity .1s ease-in-out;transition:opacity .1s ease-in-out;word-wrap:normal;word-break:normal;z-index:2;pointer-events:none}.dplayer .dplayer-controller .dplayer-bar-wrap .dplayer-bar-time.hidden{opacity:0}.dplayer .dplayer-controller .dplayer-bar-wrap .dplayer-bar{position:relative;height:3px;width:100%;background:hsla(0,0%,100%,.2);cursor:pointer!important}.dplayer .dplayer-controller .dplayer-bar-wrap .dplayer-bar .dplayer-loaded{position:absolute;left:0;top:0;bottom:0;background:hsla(0,0%,100%,.4);height:3px;-webkit-transition:all .5s ease;transition:all .5s ease;will-change:width}.dplayer .dplayer-controller .dplayer-bar-wrap .dplayer-bar .dplayer-played{position:absolute;left:0;top:0;bottom:0;height:3px;will-change:width}.dplayer .dplayer-controller .dplayer-bar-wrap .dplayer-bar .dplayer-played .dplayer-thumb{position:absolute;top:0;right:5px;margin-top:-4px;margin-right:-10px;height:11px;width:11px;border-radius:50%;cursor:pointer!important;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out;-webkit-transform:scale(0);transform:scale(0)}.dplayer .dplayer-controller .dplayer-icons{height:38px;position:absolute;bottom:0}.dplayer .dplayer-controller .dplayer-icons.dplayer-icons-left .dplayer-icon{padding:7px}.dplayer .dplayer-controller .dplayer-icons.dplayer-icons-right{right:20px}.dplayer .dplayer-controller .dplayer-icons.dplayer-icons-right .dplayer-icon{padding:8px}.dplayer .dplayer-controller .dplayer-icons #dplayer-menu{stroke:#ddd;stroke-width:1px}.dplayer .dplayer-controller .dplayer-icons .dplayer-time{line-height:38px;color:#eee;text-shadow:0 0 2px rgba(0,0,0,.5);vertical-align:middle;font-size:13px;cursor:default}.dplayer .dplayer-controller .dplayer-icons .dplayer-icon{width:40px;height:100%;border:none;background-color:transparent;outline:none;cursor:pointer;vertical-align:middle;-webkit-box-sizing:border-box;box-sizing:border-box;display:inline-block}.dplayer .dplayer-controller .dplayer-icons .dplayer-icon .dplayer-icon-content{-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out;opacity:.8}.dplayer .dplayer-controller .dplayer-icons .dplayer-icon:hover .dplayer-icon-content{opacity:1}.dplayer .dplayer-controller .dplayer-icons .dplayer-icon.dplayer-quality-icon{color:#fff;width:auto;line-height:22px;font-size:14px}.dplayer .dplayer-controller .dplayer-icons .dplayer-icon.dplayer-comment-icon{padding:10px 9px 9px}.dplayer .dplayer-controller .dplayer-icons .dplayer-icon.dplayer-setting-icon{padding-top:8.5px}.dplayer .dplayer-controller .dplayer-icons .dplayer-icon.dplayer-volume-icon{width:43px}.dplayer .dplayer-controller .dplayer-icons .dplayer-fill{fill:#fff}.dplayer .dplayer-controller .dplayer-icons .dplayer-volume{position:relative;display:inline-block;cursor:pointer!important;height:100%}.dplayer .dplayer-controller .dplayer-icons .dplayer-volume:hover .dplayer-volume-bar{width:45px!important}.dplayer .dplayer-controller .dplayer-icons .dplayer-volume:hover .dplayer-thumb{-webkit-transform:scale(1)!important;transform:scale(1)!important}.dplayer .dplayer-controller .dplayer-icons .dplayer-volume.dplayer-volume-active .dplayer-volume-bar{width:45px!important}.dplayer .dplayer-controller .dplayer-icons .dplayer-volume.dplayer-volume-active .dplayer-thumb{-webkit-transform:scale(1)!important;transform:scale(1)!important}.dplayer .dplayer-controller .dplayer-icons .dplayer-volume .dplayer-volume-bar-wrap{display:inline-block;margin:0 5px 0 -5px;vertical-align:middle;height:100%}.dplayer .dplayer-controller .dplayer-icons .dplayer-volume .dplayer-volume-bar-wrap .dplayer-volume-bar{position:relative;top:17px;width:0;height:3px;background:#aaa;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.dplayer .dplayer-controller .dplayer-icons .dplayer-volume .dplayer-volume-bar-wrap .dplayer-volume-bar .dplayer-volume-bar-inner{position:absolute;bottom:0;left:0;height:100%;-webkit-transition:all .1s ease;transition:all .1s ease;will-change:width}.dplayer .dplayer-controller .dplayer-icons .dplayer-volume .dplayer-volume-bar-wrap .dplayer-volume-bar .dplayer-volume-bar-inner .dplayer-thumb{position:absolute;top:0;right:5px;margin-top:-4px;margin-right:-10px;height:11px;width:11px;border-radius:50%;cursor:pointer!important;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out;-webkit-transform:scale(0);transform:scale(0)}.dplayer .dplayer-controller .dplayer-icons .dplayer-setting{display:inline-block;height:100%}.dplayer .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box{position:absolute;right:0;bottom:50px;-webkit-transform:translateX(170px);transform:translateX(170px);width:150px;border-radius:2px;background:rgba(28,28,28,.9);padding:7px 0;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out;overflow:hidden;z-index:2}.dplayer .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box.dplayer-setting-box-open{-webkit-transform:translateX(0);transform:translateX(0)}.dplayer .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box.dplayer-setting-box-narrow{width:70px;height:180px;text-align:center}.dplayer .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-item,.dplayer .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-speed-item{height:30px;padding:5px 10px;-webkit-box-sizing:border-box;box-sizing:border-box;cursor:pointer;position:relative}.dplayer .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-item:hover,.dplayer .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-speed-item:hover{background-color:hsla(0,0%,100%,.1)}.dplayer .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku{padding:5px 0}.dplayer .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku .dplayer-label{padding:0 10px;display:inline}.dplayer .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku:hover .dplayer-label{display:none}.dplayer .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku:hover .dplayer-danmaku-bar-wrap{display:inline-block}.dplayer .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku.dplayer-setting-danmaku-active .dplayer-label{display:none}.dplayer .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku.dplayer-setting-danmaku-active .dplayer-danmaku-bar-wrap{display:inline-block}.dplayer .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku .dplayer-danmaku-bar-wrap{padding:0 10px;-webkit-box-sizing:border-box;box-sizing:border-box;display:none;vertical-align:middle;height:100%;width:100%}.dplayer .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku .dplayer-danmaku-bar-wrap .dplayer-danmaku-bar{position:relative;top:8.5px;width:100%;height:3px;background:#fff;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.dplayer .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku .dplayer-danmaku-bar-wrap .dplayer-danmaku-bar .dplayer-danmaku-bar-inner{position:absolute;bottom:0;left:0;height:100%;-webkit-transition:all .1s ease;transition:all .1s ease;background:#aaa;will-change:width}.dplayer .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku .dplayer-danmaku-bar-wrap .dplayer-danmaku-bar .dplayer-danmaku-bar-inner .dplayer-thumb{position:absolute;top:0;right:5px;margin-top:-4px;margin-right:-10px;height:11px;width:11px;border-radius:50%;cursor:pointer!important;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out;background:#aaa}.dplayer .dplayer-controller .dplayer-icons .dplayer-full{display:inline-block;height:100%;position:relative}.dplayer .dplayer-controller .dplayer-icons .dplayer-full:hover .dplayer-full-in-icon{display:block}.dplayer .dplayer-controller .dplayer-icons .dplayer-full .dplayer-full-in-icon{position:absolute;top:-30px;z-index:1;display:none}.dplayer .dplayer-controller .dplayer-icons .dplayer-quality{position:relative;display:inline-block;height:100%;z-index:2}.dplayer .dplayer-controller .dplayer-icons .dplayer-quality:hover .dplayer-quality-list,.dplayer .dplayer-controller .dplayer-icons .dplayer-quality:hover .dplayer-quality-mask{display:block}.dplayer .dplayer-controller .dplayer-icons .dplayer-quality .dplayer-quality-mask{display:none;position:absolute;bottom:38px;left:-18px;width:80px;padding-bottom:12px}.dplayer .dplayer-controller .dplayer-icons .dplayer-quality .dplayer-quality-list{display:none;font-size:12px;width:80px;border-radius:2px;background:rgba(28,28,28,.9);padding:5px 0;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out;overflow:hidden;color:#fff;text-align:center}.dplayer .dplayer-controller .dplayer-icons .dplayer-quality .dplayer-quality-item{height:25px;-webkit-box-sizing:border-box;box-sizing:border-box;cursor:pointer;line-height:25px}.dplayer .dplayer-controller .dplayer-icons .dplayer-quality .dplayer-quality-item:hover{background-color:hsla(0,0%,100%,.1)}.dplayer .dplayer-controller .dplayer-icons .dplayer-comment{display:inline-block;height:100%}.dplayer .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box{position:absolute;right:0;bottom:50px;-webkit-transform:translateX(382px);transform:translateX(382px);border-radius:2px;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out;z-index:2}.dplayer .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box.dplayer-comment-box-open{-webkit-transform:translateX(0);transform:translateX(0)}.dplayer .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box .dplayer-comment-setting-icon{height:24px;width:24px;position:absolute;top:5px;left:7px;padding:0;opacity:1}.dplayer .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box .dplayer-comment-setting-icon:hover .dplayer-fill{fill:#aaa}.dplayer .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box .dplayer-comment-setting-icon .dplayer-fill{-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out;fill:#ddd}.dplayer .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box .dplayer-comment-setting-box{position:absolute;background:#fff;bottom:40px;left:-93px;-webkit-box-shadow:0 0 25px rgba(0,0,0,.3);box-shadow:0 0 25px rgba(0,0,0,.3);border-radius:4px;padding:10px 10px 16px;font-size:14px;width:204px;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out;-webkit-transform:scale(0);transform:scale(0)}.dplayer .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box .dplayer-comment-setting-box.dplayer-comment-setting-open{-webkit-transform:scale(1);transform:scale(1)}.dplayer .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box .dplayer-comment-setting-box:after{content:"";position:absolute;top:100%;left:50%;margin-left:-12px;background:url('data:image/svg+xml;utf8,');width:24px;height:12px}.dplayer .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box .dplayer-comment-setting-box input[type=radio]{display:none}.dplayer .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box .dplayer-comment-setting-box label{cursor:pointer}.dplayer .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-title{font-size:14px;color:#555;padding:6px}.dplayer .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-type{font-size:0}.dplayer .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-type label:nth-child(2) span{border-radius:4px 0 0 4px}.dplayer .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-type label:nth-child(4) span{border-radius:0 4px 4px 0}.dplayer .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-type span{width:33%;padding:4px 6px;line-height:16px;display:inline-block;font-size:12px;color:#555;border:1px solid #e4e4e6;margin-right:-1px;-webkit-box-sizing:border-box;box-sizing:border-box;text-align:center;cursor:pointer}.dplayer .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-type input:checked+span{background:#e4e4e6}.dplayer .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-color{font-size:0}.dplayer .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-color label{font-size:0;padding:6px;display:inline-block}.dplayer .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-color span{width:22px;height:22px;display:inline-block;border-radius:50%;-webkit-box-sizing:border-box;box-sizing:border-box;cursor:pointer}.dplayer .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-color span:hover{-webkit-animation:my-face 5s infinite ease-in-out;animation:my-face 5s infinite ease-in-out;-webkit-box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12);box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12)}.dplayer .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-color input:checked+span{-webkit-box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12);box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12);border:none!important}.dplayer .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box .dplayer-comment-input{outline:none;border:none;padding:8px 31px;font-size:14px;line-height:18px;text-align:center;border-radius:4px;width:300px;background:#fff;margin:0;height:auto}.dplayer .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box .dplayer-send-icon{height:22px;width:22px;position:absolute;top:6px;right:7px;padding:0;opacity:1}.dplayer .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box .dplayer-send-icon:hover .dplayer-fill{fill:#aaa}.dplayer .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box .dplayer-send-icon .dplayer-fill{-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out;fill:#ddd}.dplayer .dplayer-controller .dplayer-icons .dplayer-label{color:#eee;font-size:13px;display:inline-block;vertical-align:middle;white-space:nowrap}.dplayer .dplayer-controller .dplayer-icons .dplayer-toggle{width:32px;height:20px;text-align:center;font-size:0;vertical-align:middle;position:absolute;top:5px;right:10px}.dplayer .dplayer-controller .dplayer-icons .dplayer-toggle input{max-height:0;max-width:0;display:none}.dplayer .dplayer-controller .dplayer-icons .dplayer-toggle input+label{display:inline-block;position:relative;-webkit-box-shadow:#dfdfdf 0 0 0 0 inset;box-shadow:inset 0 0 0 0 #dfdfdf;border:1px solid #dfdfdf;height:20px;width:32px;border-radius:10px;-webkit-box-sizing:border-box;box-sizing:border-box;cursor:pointer;-webkit-transition:.2s ease-in-out;transition:.2s ease-in-out}.dplayer .dplayer-controller .dplayer-icons .dplayer-toggle input+label:after,.dplayer .dplayer-controller .dplayer-icons .dplayer-toggle input+label:before{content:"";position:absolute;display:block;height:18px;width:18px;top:0;left:0;border-radius:15px;-webkit-transition:.2s ease-in-out;transition:.2s ease-in-out}.dplayer .dplayer-controller .dplayer-icons .dplayer-toggle input+label:after{background:#fff;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.4);box-shadow:0 1px 3px rgba(0,0,0,.4)}.dplayer .dplayer-controller .dplayer-icons .dplayer-toggle input:checked+label{border-color:hsla(0,0%,100%,.5)}.dplayer .dplayer-controller .dplayer-icons .dplayer-toggle input:checked+label:before{width:30px;background:hsla(0,0%,100%,.5)}.dplayer .dplayer-controller .dplayer-icons .dplayer-toggle input:checked+label:after{left:12px}.dplayer .dplayer-menu{position:absolute;width:170px;border-radius:2px;background:rgba(28,28,28,.85);padding:5px 0;overflow:hidden;z-index:3;display:none}.dplayer .dplayer-menu.dplayer-menu-show{display:block}.dplayer .dplayer-menu .dplayer-menu-item{height:30px;-webkit-box-sizing:border-box;box-sizing:border-box;cursor:pointer}.dplayer .dplayer-menu .dplayer-menu-item:hover{background-color:hsla(0,0%,100%,.1)}.dplayer .dplayer-menu .dplayer-menu-item a{padding:0 10px;line-height:30px;color:#eee;font-size:13px;display:inline-block;vertical-align:middle;width:100%;-webkit-box-sizing:border-box;box-sizing:border-box;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.dplayer .dplayer-menu .dplayer-menu-item a:hover{text-decoration:none}.dplayer .dplayer-logo{pointer-events:none;position:absolute;left:20px;top:20px;max-width:50px;max-height:50px}.dplayer .dplayer-logo img{max-width:100%;max-height:100%;background:none}.dplayer .dplayer-notice{opacity:0;position:absolute;bottom:60px;left:20px;font-size:14px;border-radius:2px;background:rgba(28,28,28,.9);padding:7px 20px;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out;overflow:hidden;color:#fff;pointer-events:none}@-webkit-keyframes my-face{2%{-webkit-transform:translateY(1.5px) rotate(1.5deg);transform:translateY(1.5px) rotate(1.5deg)}4%{-webkit-transform:translateY(-1.5px) rotate(-.5deg);transform:translateY(-1.5px) rotate(-.5deg)}6%{-webkit-transform:translateY(1.5px) rotate(-1.5deg);transform:translateY(1.5px) rotate(-1.5deg)}8%{-webkit-transform:translateY(-1.5px) rotate(-1.5deg);transform:translateY(-1.5px) rotate(-1.5deg)}10%{-webkit-transform:translateY(2.5px) rotate(1.5deg);transform:translateY(2.5px) rotate(1.5deg)}12%{-webkit-transform:translateY(-.5px) rotate(1.5deg);transform:translateY(-.5px) rotate(1.5deg)}14%{-webkit-transform:translateY(-1.5px) rotate(1.5deg);transform:translateY(-1.5px) rotate(1.5deg)}16%{-webkit-transform:translateY(-.5px) rotate(-1.5deg);transform:translateY(-.5px) rotate(-1.5deg)}18%{-webkit-transform:translateY(.5px) rotate(-1.5deg);transform:translateY(.5px) rotate(-1.5deg)}20%{-webkit-transform:translateY(-1.5px) rotate(2.5deg);transform:translateY(-1.5px) rotate(2.5deg)}22%{-webkit-transform:translateY(.5px) rotate(-1.5deg);transform:translateY(.5px) rotate(-1.5deg)}24%{-webkit-transform:translateY(1.5px) rotate(1.5deg);transform:translateY(1.5px) rotate(1.5deg)}26%{-webkit-transform:translateY(.5px) rotate(.5deg);transform:translateY(.5px) rotate(.5deg)}28%{-webkit-transform:translateY(.5px) rotate(1.5deg);transform:translateY(.5px) rotate(1.5deg)}30%{-webkit-transform:translateY(-.5px) rotate(2.5deg);transform:translateY(-.5px) rotate(2.5deg)}32%{-webkit-transform:translateY(1.5px) rotate(-.5deg);transform:translateY(1.5px) rotate(-.5deg)}34%{-webkit-transform:translateY(1.5px) rotate(-.5deg);transform:translateY(1.5px) rotate(-.5deg)}36%{-webkit-transform:translateY(-1.5px) rotate(2.5deg);transform:translateY(-1.5px) rotate(2.5deg)}38%{-webkit-transform:translateY(1.5px) rotate(-1.5deg);transform:translateY(1.5px) rotate(-1.5deg)}40%{-webkit-transform:translateY(-.5px) rotate(2.5deg);transform:translateY(-.5px) rotate(2.5deg)}42%{-webkit-transform:translateY(2.5px) rotate(-1.5deg);transform:translateY(2.5px) rotate(-1.5deg)}44%{-webkit-transform:translateY(1.5px) rotate(.5deg);transform:translateY(1.5px) rotate(.5deg)}46%{-webkit-transform:translateY(-1.5px) rotate(2.5deg);transform:translateY(-1.5px) rotate(2.5deg)}48%{-webkit-transform:translateY(-.5px) rotate(.5deg);transform:translateY(-.5px) rotate(.5deg)}50%{-webkit-transform:translateY(.5px) rotate(.5deg);transform:translateY(.5px) rotate(.5deg)}52%{-webkit-transform:translateY(2.5px) rotate(2.5deg);transform:translateY(2.5px) rotate(2.5deg)}54%{-webkit-transform:translateY(-1.5px) rotate(1.5deg);transform:translateY(-1.5px) rotate(1.5deg)}56%{-webkit-transform:translateY(2.5px) rotate(2.5deg);transform:translateY(2.5px) rotate(2.5deg)}58%{-webkit-transform:translateY(.5px) rotate(2.5deg);transform:translateY(.5px) rotate(2.5deg)}60%{-webkit-transform:translateY(2.5px) rotate(2.5deg);transform:translateY(2.5px) rotate(2.5deg)}62%{-webkit-transform:translateY(-.5px) rotate(2.5deg);transform:translateY(-.5px) rotate(2.5deg)}64%{-webkit-transform:translateY(-.5px) rotate(1.5deg);transform:translateY(-.5px) rotate(1.5deg)}66%{-webkit-transform:translateY(1.5px) rotate(-.5deg);transform:translateY(1.5px) rotate(-.5deg)}68%{-webkit-transform:translateY(-1.5px) rotate(-.5deg);transform:translateY(-1.5px) rotate(-.5deg)}70%{-webkit-transform:translateY(1.5px) rotate(.5deg);transform:translateY(1.5px) rotate(.5deg)}72%{-webkit-transform:translateY(2.5px) rotate(1.5deg);transform:translateY(2.5px) rotate(1.5deg)}74%{-webkit-transform:translateY(-.5px) rotate(.5deg);transform:translateY(-.5px) rotate(.5deg)}76%{-webkit-transform:translateY(-.5px) rotate(2.5deg);transform:translateY(-.5px) rotate(2.5deg)}78%{-webkit-transform:translateY(-.5px) rotate(1.5deg);transform:translateY(-.5px) rotate(1.5deg)}80%{-webkit-transform:translateY(1.5px) rotate(1.5deg);transform:translateY(1.5px) rotate(1.5deg)}82%{-webkit-transform:translateY(-.5px) rotate(.5deg);transform:translateY(-.5px) rotate(.5deg)}84%{-webkit-transform:translateY(1.5px) rotate(2.5deg);transform:translateY(1.5px) rotate(2.5deg)}86%{-webkit-transform:translateY(-1.5px) rotate(-1.5deg);transform:translateY(-1.5px) rotate(-1.5deg)}88%{-webkit-transform:translateY(-.5px) rotate(2.5deg);transform:translateY(-.5px) rotate(2.5deg)}90%{-webkit-transform:translateY(2.5px) rotate(-.5deg);transform:translateY(2.5px) rotate(-.5deg)}92%{-webkit-transform:translateY(.5px) rotate(-.5deg);transform:translateY(.5px) rotate(-.5deg)}94%{-webkit-transform:translateY(2.5px) rotate(.5deg);transform:translateY(2.5px) rotate(.5deg)}96%{-webkit-transform:translateY(-.5px) rotate(1.5deg);transform:translateY(-.5px) rotate(1.5deg)}98%{-webkit-transform:translateY(-1.5px) rotate(-.5deg);transform:translateY(-1.5px) rotate(-.5deg)}0%,to{-webkit-transform:translate(0) rotate(0deg);transform:translate(0) rotate(0deg)}}@keyframes my-face{2%{-webkit-transform:translateY(1.5px) rotate(1.5deg);transform:translateY(1.5px) rotate(1.5deg)}4%{-webkit-transform:translateY(-1.5px) rotate(-.5deg);transform:translateY(-1.5px) rotate(-.5deg)}6%{-webkit-transform:translateY(1.5px) rotate(-1.5deg);transform:translateY(1.5px) rotate(-1.5deg)}8%{-webkit-transform:translateY(-1.5px) rotate(-1.5deg);transform:translateY(-1.5px) rotate(-1.5deg)}10%{-webkit-transform:translateY(2.5px) rotate(1.5deg);transform:translateY(2.5px) rotate(1.5deg)}12%{-webkit-transform:translateY(-.5px) rotate(1.5deg);transform:translateY(-.5px) rotate(1.5deg)}14%{-webkit-transform:translateY(-1.5px) rotate(1.5deg);transform:translateY(-1.5px) rotate(1.5deg)}16%{-webkit-transform:translateY(-.5px) rotate(-1.5deg);transform:translateY(-.5px) rotate(-1.5deg)}18%{-webkit-transform:translateY(.5px) rotate(-1.5deg);transform:translateY(.5px) rotate(-1.5deg)}20%{-webkit-transform:translateY(-1.5px) rotate(2.5deg);transform:translateY(-1.5px) rotate(2.5deg)}22%{-webkit-transform:translateY(.5px) rotate(-1.5deg);transform:translateY(.5px) rotate(-1.5deg)}24%{-webkit-transform:translateY(1.5px) rotate(1.5deg);transform:translateY(1.5px) rotate(1.5deg)}26%{-webkit-transform:translateY(.5px) rotate(.5deg);transform:translateY(.5px) rotate(.5deg)}28%{-webkit-transform:translateY(.5px) rotate(1.5deg);transform:translateY(.5px) rotate(1.5deg)}30%{-webkit-transform:translateY(-.5px) rotate(2.5deg);transform:translateY(-.5px) rotate(2.5deg)}32%{-webkit-transform:translateY(1.5px) rotate(-.5deg);transform:translateY(1.5px) rotate(-.5deg)}34%{-webkit-transform:translateY(1.5px) rotate(-.5deg);transform:translateY(1.5px) rotate(-.5deg)}36%{-webkit-transform:translateY(-1.5px) rotate(2.5deg);transform:translateY(-1.5px) rotate(2.5deg)}38%{-webkit-transform:translateY(1.5px) rotate(-1.5deg);transform:translateY(1.5px) rotate(-1.5deg)}40%{-webkit-transform:translateY(-.5px) rotate(2.5deg);transform:translateY(-.5px) rotate(2.5deg)}42%{-webkit-transform:translateY(2.5px) rotate(-1.5deg);transform:translateY(2.5px) rotate(-1.5deg)}44%{-webkit-transform:translateY(1.5px) rotate(.5deg);transform:translateY(1.5px) rotate(.5deg)}46%{-webkit-transform:translateY(-1.5px) rotate(2.5deg);transform:translateY(-1.5px) rotate(2.5deg)}48%{-webkit-transform:translateY(-.5px) rotate(.5deg);transform:translateY(-.5px) rotate(.5deg)}50%{-webkit-transform:translateY(.5px) rotate(.5deg);transform:translateY(.5px) rotate(.5deg)}52%{-webkit-transform:translateY(2.5px) rotate(2.5deg);transform:translateY(2.5px) rotate(2.5deg)}54%{-webkit-transform:translateY(-1.5px) rotate(1.5deg);transform:translateY(-1.5px) rotate(1.5deg)}56%{-webkit-transform:translateY(2.5px) rotate(2.5deg);transform:translateY(2.5px) rotate(2.5deg)}58%{-webkit-transform:translateY(.5px) rotate(2.5deg);transform:translateY(.5px) rotate(2.5deg)}60%{-webkit-transform:translateY(2.5px) rotate(2.5deg);transform:translateY(2.5px) rotate(2.5deg)}62%{-webkit-transform:translateY(-.5px) rotate(2.5deg);transform:translateY(-.5px) rotate(2.5deg)}64%{-webkit-transform:translateY(-.5px) rotate(1.5deg);transform:translateY(-.5px) rotate(1.5deg)}66%{-webkit-transform:translateY(1.5px) rotate(-.5deg);transform:translateY(1.5px) rotate(-.5deg)}68%{-webkit-transform:translateY(-1.5px) rotate(-.5deg);transform:translateY(-1.5px) rotate(-.5deg)}70%{-webkit-transform:translateY(1.5px) rotate(.5deg);transform:translateY(1.5px) rotate(.5deg)}72%{-webkit-transform:translateY(2.5px) rotate(1.5deg);transform:translateY(2.5px) rotate(1.5deg)}74%{-webkit-transform:translateY(-.5px) rotate(.5deg);transform:translateY(-.5px) rotate(.5deg)}76%{-webkit-transform:translateY(-.5px) rotate(2.5deg);transform:translateY(-.5px) rotate(2.5deg)}78%{-webkit-transform:translateY(-.5px) rotate(1.5deg);transform:translateY(-.5px) rotate(1.5deg)}80%{-webkit-transform:translateY(1.5px) rotate(1.5deg);transform:translateY(1.5px) rotate(1.5deg)}82%{-webkit-transform:translateY(-.5px) rotate(.5deg);transform:translateY(-.5px) rotate(.5deg)}84%{-webkit-transform:translateY(1.5px) rotate(2.5deg);transform:translateY(1.5px) rotate(2.5deg)}86%{-webkit-transform:translateY(-1.5px) rotate(-1.5deg);transform:translateY(-1.5px) rotate(-1.5deg)}88%{-webkit-transform:translateY(-.5px) rotate(2.5deg);transform:translateY(-.5px) rotate(2.5deg)}90%{-webkit-transform:translateY(2.5px) rotate(-.5deg);transform:translateY(2.5px) rotate(-.5deg)}92%{-webkit-transform:translateY(.5px) rotate(-.5deg);transform:translateY(.5px) rotate(-.5deg)}94%{-webkit-transform:translateY(2.5px) rotate(.5deg);transform:translateY(2.5px) rotate(.5deg)}96%{-webkit-transform:translateY(-.5px) rotate(1.5deg);transform:translateY(-.5px) rotate(1.5deg)}98%{-webkit-transform:translateY(-1.5px) rotate(-.5deg);transform:translateY(-1.5px) rotate(-.5deg)}0%,to{-webkit-transform:translate(0) rotate(0deg);transform:translate(0) rotate(0deg)}}[data-balloon]:before{display:none}[data-balloon]:after{padding:.3em .7em;background:hsla(0,0%,7%,.7)}[data-balloon][data-balloon-pos=up]:after{margin-bottom:0} +button[data-balloon]{overflow:visible}[data-balloon]{position:relative;cursor:pointer}[data-balloon]:after{font-family:sans-serif!important;font-weight:400!important;font-style:normal!important;text-shadow:none!important;font-size:12px!important;background:hsla(0,0%,7%,.9);border-radius:4px;color:#fff;content:attr(data-balloon);padding:.5em 1em;white-space:nowrap}[data-balloon]:after,[data-balloon]:before{filter:alpha(opactiy=0);-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";-moz-opacity:0;-khtml-opacity:0;opacity:0;pointer-events:none;-webkit-transition:all .18s ease-out .18s;transition:all .18s ease-out .18s;position:absolute;z-index:10}[data-balloon]:before{background:no-repeat url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='12'%3E%3Cpath fill='rgba(17, 17, 17, 0.9)' d='M2.658 0h32.004c-6 0-11.627 12.002-16.002 12.002C14.285 12.002 8.594 0 2.658 0z'/%3E%3C/svg%3E");background-size:100% auto;width:18px;height:6px;content:""}[data-balloon]:hover:after,[data-balloon]:hover:before,[data-balloon][data-balloon-visible]:after,[data-balloon][data-balloon-visible]:before{filter:alpha(opactiy=100);-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";-moz-opacity:1;-khtml-opacity:1;opacity:1;pointer-events:auto}[data-balloon].font-awesome:after{font-family:FontAwesome}[data-balloon][data-balloon-break]:after{white-space:pre}[data-balloon][data-balloon-blunt]:after,[data-balloon][data-balloon-blunt]:before{-webkit-transition:none;transition:none}[data-balloon][data-balloon-pos=up]:after{margin-bottom:11px}[data-balloon][data-balloon-pos=up]:after,[data-balloon][data-balloon-pos=up]:before{bottom:100%;left:50%;-webkit-transform:translate(-50%,10px);transform:translate(-50%,10px);-webkit-transform-origin:top;transform-origin:top}[data-balloon][data-balloon-pos=up]:before{margin-bottom:5px}[data-balloon][data-balloon-pos=up]:hover:after,[data-balloon][data-balloon-pos=up]:hover:before,[data-balloon][data-balloon-pos=up][data-balloon-visible]:after,[data-balloon][data-balloon-pos=up][data-balloon-visible]:before{-webkit-transform:translate(-50%);transform:translate(-50%)}[data-balloon][data-balloon-pos=up-left]:after{left:0;margin-bottom:11px}[data-balloon][data-balloon-pos=up-left]:after,[data-balloon][data-balloon-pos=up-left]:before{bottom:100%;-webkit-transform:translateY(10px);transform:translateY(10px);-webkit-transform-origin:top;transform-origin:top}[data-balloon][data-balloon-pos=up-left]:before{left:5px;margin-bottom:5px}[data-balloon][data-balloon-pos=up-left]:hover:after,[data-balloon][data-balloon-pos=up-left]:hover:before,[data-balloon][data-balloon-pos=up-left][data-balloon-visible]:after,[data-balloon][data-balloon-pos=up-left][data-balloon-visible]:before{-webkit-transform:translate(0);transform:translate(0)}[data-balloon][data-balloon-pos=up-right]:after{right:0;margin-bottom:11px}[data-balloon][data-balloon-pos=up-right]:after,[data-balloon][data-balloon-pos=up-right]:before{bottom:100%;-webkit-transform:translateY(10px);transform:translateY(10px);-webkit-transform-origin:top;transform-origin:top}[data-balloon][data-balloon-pos=up-right]:before{right:5px;margin-bottom:5px}[data-balloon][data-balloon-pos=up-right]:hover:after,[data-balloon][data-balloon-pos=up-right]:hover:before,[data-balloon][data-balloon-pos=up-right][data-balloon-visible]:after,[data-balloon][data-balloon-pos=up-right][data-balloon-visible]:before{-webkit-transform:translate(0);transform:translate(0)}[data-balloon][data-balloon-pos=down]:after{margin-top:11px}[data-balloon][data-balloon-pos=down]:after,[data-balloon][data-balloon-pos=down]:before{left:50%;top:100%;-webkit-transform:translate(-50%,-10px);transform:translate(-50%,-10px)}[data-balloon][data-balloon-pos=down]:before{background:no-repeat url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='12'%3E%3Cpath fill='rgba(17, 17, 17, 0.9)' d='M33.342 12H1.338c6 0 11.627-12.002 16.002-12.002C21.715-.002 27.406 12 33.342 12z'/%3E%3C/svg%3E");background-size:100% auto;width:18px;height:6px;margin-top:5px}[data-balloon][data-balloon-pos=down]:hover:after,[data-balloon][data-balloon-pos=down]:hover:before,[data-balloon][data-balloon-pos=down][data-balloon-visible]:after,[data-balloon][data-balloon-pos=down][data-balloon-visible]:before{-webkit-transform:translate(-50%);transform:translate(-50%)}[data-balloon][data-balloon-pos=down-left]:after{left:0;margin-top:11px;top:100%;-webkit-transform:translateY(-10px);transform:translateY(-10px)}[data-balloon][data-balloon-pos=down-left]:before{background:no-repeat url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='12'%3E%3Cpath fill='rgba(17, 17, 17, 0.9)' d='M33.342 12H1.338c6 0 11.627-12.002 16.002-12.002C21.715-.002 27.406 12 33.342 12z'/%3E%3C/svg%3E");background-size:100% auto;width:18px;height:6px;left:5px;margin-top:5px;top:100%;-webkit-transform:translateY(-10px);transform:translateY(-10px)}[data-balloon][data-balloon-pos=down-left]:hover:after,[data-balloon][data-balloon-pos=down-left]:hover:before,[data-balloon][data-balloon-pos=down-left][data-balloon-visible]:after,[data-balloon][data-balloon-pos=down-left][data-balloon-visible]:before{-webkit-transform:translate(0);transform:translate(0)}[data-balloon][data-balloon-pos=down-right]:after{right:0;margin-top:11px;top:100%;-webkit-transform:translateY(-10px);transform:translateY(-10px)}[data-balloon][data-balloon-pos=down-right]:before{background:no-repeat url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='12'%3E%3Cpath fill='rgba(17, 17, 17, 0.9)' d='M33.342 12H1.338c6 0 11.627-12.002 16.002-12.002C21.715-.002 27.406 12 33.342 12z'/%3E%3C/svg%3E");background-size:100% auto;width:18px;height:6px;right:5px;margin-top:5px;top:100%;-webkit-transform:translateY(-10px);transform:translateY(-10px)}[data-balloon][data-balloon-pos=down-right]:hover:after,[data-balloon][data-balloon-pos=down-right]:hover:before,[data-balloon][data-balloon-pos=down-right][data-balloon-visible]:after,[data-balloon][data-balloon-pos=down-right][data-balloon-visible]:before{-webkit-transform:translate(0);transform:translate(0)}[data-balloon][data-balloon-pos=left]:after{margin-right:11px;right:100%;top:50%;-webkit-transform:translate(10px,-50%);transform:translate(10px,-50%)}[data-balloon][data-balloon-pos=left]:before{background:no-repeat url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='36'%3E%3Cpath fill='rgba(17, 17, 17, 0.9)' d='M0 33.342V1.338c0 6 12.002 11.627 12.002 16.002C12.002 21.715 0 27.406 0 33.342z'/%3E%3C/svg%3E");background-size:100% auto;width:6px;height:18px;margin-right:5px;right:100%;top:50%;-webkit-transform:translate(10px,-50%);transform:translate(10px,-50%)}[data-balloon][data-balloon-pos=left]:hover:after,[data-balloon][data-balloon-pos=left]:hover:before,[data-balloon][data-balloon-pos=left][data-balloon-visible]:after,[data-balloon][data-balloon-pos=left][data-balloon-visible]:before{-webkit-transform:translateY(-50%);transform:translateY(-50%)}[data-balloon][data-balloon-pos=right]:after{left:100%;margin-left:11px;top:50%;-webkit-transform:translate(-10px,-50%);transform:translate(-10px,-50%)}[data-balloon][data-balloon-pos=right]:before{background:no-repeat url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='36'%3E%3Cpath fill='rgba(17, 17, 17, 0.9)' d='M12 2.658v32.004c0-6-12.002-11.627-12.002-16.002C-.002 14.285 12 8.594 12 2.658z'/%3E%3C/svg%3E");background-size:100% auto;width:6px;height:18px;left:100%;margin-left:5px;top:50%;-webkit-transform:translate(-10px,-50%);transform:translate(-10px,-50%)}[data-balloon][data-balloon-pos=right]:hover:after,[data-balloon][data-balloon-pos=right]:hover:before,[data-balloon][data-balloon-pos=right][data-balloon-visible]:after,[data-balloon][data-balloon-pos=right][data-balloon-visible]:before{-webkit-transform:translateY(-50%);transform:translateY(-50%)}[data-balloon][data-balloon-length=small]:after{white-space:normal;width:80px}[data-balloon][data-balloon-length=medium]:after{white-space:normal;width:150px}[data-balloon][data-balloon-length=large]:after{white-space:normal;width:260px}[data-balloon][data-balloon-length=xlarge]:after{white-space:normal;width:380px}@media screen and (max-width:768px){[data-balloon][data-balloon-length=xlarge]:after{white-space:normal;width:90vw}}[data-balloon][data-balloon-length=fit]:after{white-space:normal;width:100%}.dplayer{position:relative;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;line-height:1}.dplayer *{-webkit-box-sizing:content-box;box-sizing:content-box}.dplayer:-webkit-full-screen{width:100%;height:100%;background:#000;position:fixed;z-index:100000;left:0;top:0}.dplayer:-webkit-full-screen .dplayer-danmaku .dplayer-danmaku-bottom.dplayer-danmaku-move,.dplayer:-webkit-full-screen .dplayer-danmaku .dplayer-danmaku-top.dplayer-danmaku-move{-webkit-animation:danmaku-center 6s linear;animation:danmaku-center 6s linear;-webkit-animation-play-state:paused;animation-play-state:paused}.dplayer:-webkit-full-screen .dplayer-danmaku .dplayer-danmaku-right.dplayer-danmaku-move{-webkit-animation:danmaku 8s linear;animation:danmaku 8s linear;-webkit-animation-play-state:paused;animation-play-state:paused}.dplayer.dplayer-no-danmaku .dplayer-controller .dplayer-icons .dplayer-comment,.dplayer.dplayer-no-danmaku .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box .dplayer-setting-danmaku,.dplayer.dplayer-no-danmaku .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box .dplayer-setting-danunlimit,.dplayer.dplayer-no-danmaku .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box .dplayer-setting-showdan,.dplayer.dplayer-no-danmaku .dplayer-danmaku{display:none}.dplayer.dplayer-playing .dplayer-danmaku .dplayer-danmaku-move{-webkit-animation-play-state:running!important;animation-play-state:running!important}@media (min-width:900px){.dplayer.dplayer-playing .dplayer-controller,.dplayer.dplayer-playing .dplayer-controller-mask{opacity:0}.dplayer.dplayer-playing:hover .dplayer-controller,.dplayer.dplayer-playing:hover .dplayer-controller-mask{opacity:1}}.dplayer.dplayer-loading .dplayer-bezel .diplayer-loading-icon{display:block}.dplayer.dplayer-loading .dplayer-danmaku .dplayer-danmaku-move{-webkit-animation-play-state:paused!important;animation-play-state:paused!important}.dplayer.dplayer-hide-controller{cursor:none}.dplayer.dplayer-hide-controller .dplayer-controller,.dplayer.dplayer-hide-controller .dplayer-controller-mask{opacity:0;-webkit-transform:translateY(100%);transform:translateY(100%)}.dplayer.dplayer-show-controller .dplayer-controller,.dplayer.dplayer-show-controller .dplayer-controller-mask{opacity:1}.dplayer.dplayer-fulled{position:fixed;z-index:100000;left:0;top:0;width:100%;height:100%}.dplayer.dplayer-mobile .dplayer-camera-icon,.dplayer.dplayer-mobile .dplayer-volume{display:none!important}.dplayer.dplayer-mobile .dplayer-full-in-icon{position:static!important;display:inline-block!important}.dplayer.dplayer-mobile .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box .dplayer-comment-input{width:200px}.dplayer.dplayer-mobile .dplayer-comment-setting-title{display:none}.dplayer.dplayer-mobile .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box .dplayer-comment-setting-box{left:17px}.dplayer.dplayer-mobile .dplayer-controller .dplayer-icons .dplayer-icon{width:40px}.dplayer .dplayer-mask{position:absolute;top:0;bottom:0;left:0;right:0;z-index:1;display:none}.dplayer .dplayer-mask.dplayer-mask-show{display:block}.dplayer .dplayer-video-wrap{position:relative;background:#000;font-size:0;width:100%;height:100%}.dplayer .dplayer-video-wrap .dplayer-video{width:100%;height:100%;display:none}.dplayer .dplayer-video-wrap .dplayer-video-current{display:block}.dplayer .dplayer-video-wrap .dplayer-video-prepare{display:none}.dplayer .dplayer-danmaku{position:absolute;left:0;right:0;top:0;bottom:0;font-size:22px;color:#fff}.dplayer .dplayer-danmaku .dplayer-danmaku-item{display:inline-block;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default;white-space:nowrap;text-shadow:.5px .5px .5px rgba(0,0,0,.5)}.dplayer .dplayer-danmaku .dplayer-danmaku-item--demo{position:absolute;visibility:hidden}.dplayer .dplayer-danmaku .dplayer-danmaku-right{position:absolute;right:0;-webkit-transform:translateX(100%);transform:translateX(100%)}.dplayer .dplayer-danmaku .dplayer-danmaku-right.dplayer-danmaku-move{will-change:transform;-webkit-animation:danmaku 5s linear;animation:danmaku 5s linear;-webkit-animation-play-state:paused;animation-play-state:paused}@-webkit-keyframes danmaku{0%{-webkit-transform:translateX(100%);transform:translateX(100%)}}@keyframes danmaku{0%{-webkit-transform:translateX(100%);transform:translateX(100%)}}.dplayer .dplayer-danmaku .dplayer-danmaku-bottom,.dplayer .dplayer-danmaku .dplayer-danmaku-top{position:absolute;width:100%;text-align:center;visibility:hidden}.dplayer .dplayer-danmaku .dplayer-danmaku-bottom.dplayer-danmaku-move,.dplayer .dplayer-danmaku .dplayer-danmaku-top.dplayer-danmaku-move{will-change:visibility;-webkit-animation:danmaku-center 4s linear;animation:danmaku-center 4s linear;-webkit-animation-play-state:paused;animation-play-state:paused}@-webkit-keyframes danmaku-center{0%{visibility:visible}to{visibility:visible}}@keyframes danmaku-center{0%{visibility:visible}to{visibility:visible}}.dplayer .dplayer-subtitle{position:absolute;bottom:40px;width:90%;left:5%;text-align:center;color:#fff;text-shadow:.5px .5px .5px rgba(0,0,0,.5);font-size:20px}.dplayer .dplayer-bezel{position:absolute;left:0;right:0;top:0;bottom:0;font-size:22px;color:#fff;pointer-events:none}.dplayer .dplayer-bezel .dplayer-bezel-icon{position:absolute;top:50%;left:50%;margin:-26px 0 0 -26px;height:52px;width:52px;padding:12px;-webkit-box-sizing:border-box;box-sizing:border-box;background:rgba(0,0,0,.5);border-radius:50%;opacity:0;pointer-events:none}.dplayer .dplayer-bezel .dplayer-bezel-icon.dplayer-bezel-transition{-webkit-animation:bezel-hide .5s linear;animation:bezel-hide .5s linear}@-webkit-keyframes bezel-hide{0%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}to{opacity:0;-webkit-transform:scale(2);transform:scale(2)}}@keyframes bezel-hide{0%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}to{opacity:0;-webkit-transform:scale(2);transform:scale(2)}}.dplayer .dplayer-bezel .dplayer-danloading{position:absolute;top:50%;margin-top:-7px;width:100%;text-align:center;font-size:14px;line-height:14px;-webkit-animation:my-face 5s infinite ease-in-out;animation:my-face 5s infinite ease-in-out}.dplayer .dplayer-bezel .diplayer-loading-icon{display:none;position:absolute;top:50%;left:50%;margin:-18px 0 0 -18px;height:36px;width:36px;pointer-events:none}.dplayer .dplayer-bezel .diplayer-loading-icon .diplayer-loading-hide{display:none}.dplayer .dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot{-webkit-animation:diplayer-loading-dot-fade .8s ease infinite;animation:diplayer-loading-dot-fade .8s ease infinite;opacity:0;fill:#fff;-webkit-transform-origin:4px 4px;transform-origin:4px 4px}.dplayer .dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-7{-webkit-animation-delay:.7s;animation-delay:.7s}.dplayer .dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-6{-webkit-animation-delay:.6s;animation-delay:.6s}.dplayer .dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-5{-webkit-animation-delay:.5s;animation-delay:.5s}.dplayer .dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-4{-webkit-animation-delay:.4s;animation-delay:.4s}.dplayer .dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-3{-webkit-animation-delay:.3s;animation-delay:.3s}.dplayer .dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-2{-webkit-animation-delay:.2s;animation-delay:.2s}.dplayer .dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-1{-webkit-animation-delay:.1s;animation-delay:.1s}@-webkit-keyframes diplayer-loading-dot-fade{0%{opacity:.7;-webkit-transform:scale(1.2);transform:scale(1.2)}50%{opacity:.25;-webkit-transform:scale(.9);transform:scale(.9)}to{opacity:.25;-webkit-transform:scale(.85);transform:scale(.85)}}@keyframes diplayer-loading-dot-fade{0%{opacity:.7;-webkit-transform:scale(1.2);transform:scale(1.2)}50%{opacity:.25;-webkit-transform:scale(.9);transform:scale(.9)}to{opacity:.25;-webkit-transform:scale(.85);transform:scale(.85)}}.dplayer .dplayer-controller-mask{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAADGCAYAAAAT+OqFAAAAdklEQVQoz42QQQ7AIAgEF/T/D+kbq/RWAlnQyyazA4aoAB4FsBSA/bFjuF1EOL7VbrIrBuusmrt4ZZORfb6ehbWdnRHEIiITaEUKa5EJqUakRSaEYBJSCY2dEstQY7AuxahwXFrvZmWl2rh4JZ07z9dLtesfNj5q0FU3A5ObbwAAAABJRU5ErkJggg==) repeat-x bottom;height:98px;width:100%}.dplayer .dplayer-controller,.dplayer .dplayer-controller-mask{position:absolute;bottom:0;-webkit-transition:all .3s ease;transition:all .3s ease}.dplayer .dplayer-controller{left:0;right:0;height:41px;padding:0 20px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.dplayer .dplayer-controller .dplayer-bar-wrap{padding:5px 0;cursor:pointer;position:absolute;bottom:33px;width:calc(100% - 40px);height:3px}.dplayer .dplayer-controller .dplayer-bar-wrap:hover .dplayer-thumb{-webkit-transform:scale(1)!important;transform:scale(1)!important}.dplayer .dplayer-controller .dplayer-bar-wrap .dplayer-bar-preview{position:absolute;background:#fff;pointer-events:none;display:none;background-size:auto 100%}.dplayer .dplayer-controller .dplayer-bar-wrap .dplayer-bar-preview-canvas{position:absolute;width:100%;height:100%;z-index:1;pointer-events:none}.dplayer .dplayer-controller .dplayer-bar-wrap .dplayer-bar-time{position:absolute;left:0;top:-20px;width:30px;border-radius:4px;padding:5px 7px;background-color:rgba(0,0,0,.62);color:#fff;font-size:12px;text-align:center;opacity:1;-webkit-transition:opacity .1s ease-in-out;transition:opacity .1s ease-in-out;word-wrap:normal;word-break:normal;z-index:2;pointer-events:none}.dplayer .dplayer-controller .dplayer-bar-wrap .dplayer-bar-time.hidden{opacity:0}.dplayer .dplayer-controller .dplayer-bar-wrap .dplayer-bar{position:relative;height:3px;width:100%;background:hsla(0,0%,100%,.2);cursor:pointer!important}.dplayer .dplayer-controller .dplayer-bar-wrap .dplayer-bar .dplayer-loaded{position:absolute;left:0;top:0;bottom:0;background:hsla(0,0%,100%,.4);height:3px;-webkit-transition:all .5s ease;transition:all .5s ease;will-change:width}.dplayer .dplayer-controller .dplayer-bar-wrap .dplayer-bar .dplayer-played{position:absolute;left:0;top:0;bottom:0;height:3px;will-change:width}.dplayer .dplayer-controller .dplayer-bar-wrap .dplayer-bar .dplayer-played .dplayer-thumb{position:absolute;top:0;right:5px;margin-top:-4px;margin-right:-10px;height:11px;width:11px;border-radius:50%;cursor:pointer!important;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out;-webkit-transform:scale(0);transform:scale(0)}.dplayer .dplayer-controller .dplayer-icons{height:38px;position:absolute;bottom:0}.dplayer .dplayer-controller .dplayer-icons.dplayer-icons-left .dplayer-icon{padding:7px}.dplayer .dplayer-controller .dplayer-icons.dplayer-icons-right{right:20px}.dplayer .dplayer-controller .dplayer-icons.dplayer-icons-right .dplayer-icon{padding:8px}.dplayer .dplayer-controller .dplayer-icons #dplayer-menu{stroke:#ddd;stroke-width:1px}.dplayer .dplayer-controller .dplayer-icons .dplayer-time{line-height:38px;color:#eee;text-shadow:0 0 2px rgba(0,0,0,.5);vertical-align:middle;font-size:13px;cursor:default}.dplayer .dplayer-controller .dplayer-icons .dplayer-icon{width:40px;height:100%;border:none;background-color:transparent;outline:none;cursor:pointer;vertical-align:middle;-webkit-box-sizing:border-box;box-sizing:border-box;display:inline-block}.dplayer .dplayer-controller .dplayer-icons .dplayer-icon .dplayer-icon-content{-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out;opacity:.8}.dplayer .dplayer-controller .dplayer-icons .dplayer-icon:hover .dplayer-icon-content{opacity:1}.dplayer .dplayer-controller .dplayer-icons .dplayer-icon.dplayer-quality-icon{color:#fff;width:auto;line-height:22px;font-size:14px}.dplayer .dplayer-controller .dplayer-icons .dplayer-icon.dplayer-comment-icon{padding:10px 9px 9px}.dplayer .dplayer-controller .dplayer-icons .dplayer-icon.dplayer-setting-icon{padding-top:8.5px}.dplayer .dplayer-controller .dplayer-icons .dplayer-icon.dplayer-volume-icon{width:43px}.dplayer .dplayer-controller .dplayer-icons .dplayer-volume{position:relative;display:inline-block;cursor:pointer!important;height:100%}.dplayer .dplayer-controller .dplayer-icons .dplayer-volume:hover .dplayer-volume-bar{width:45px!important}.dplayer .dplayer-controller .dplayer-icons .dplayer-volume:hover .dplayer-thumb{-webkit-transform:scale(1)!important;transform:scale(1)!important}.dplayer .dplayer-controller .dplayer-icons .dplayer-volume.dplayer-volume-active .dplayer-volume-bar{width:45px!important}.dplayer .dplayer-controller .dplayer-icons .dplayer-volume.dplayer-volume-active .dplayer-thumb{-webkit-transform:scale(1)!important;transform:scale(1)!important}.dplayer .dplayer-controller .dplayer-icons .dplayer-volume .dplayer-volume-bar-wrap{display:inline-block;margin:0 5px 0 -5px;vertical-align:middle;height:100%}.dplayer .dplayer-controller .dplayer-icons .dplayer-volume .dplayer-volume-bar-wrap .dplayer-volume-bar{position:relative;top:17px;width:0;height:3px;background:#aaa;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.dplayer .dplayer-controller .dplayer-icons .dplayer-volume .dplayer-volume-bar-wrap .dplayer-volume-bar .dplayer-volume-bar-inner{position:absolute;bottom:0;left:0;height:100%;-webkit-transition:all .1s ease;transition:all .1s ease;will-change:width}.dplayer .dplayer-controller .dplayer-icons .dplayer-volume .dplayer-volume-bar-wrap .dplayer-volume-bar .dplayer-volume-bar-inner .dplayer-thumb{position:absolute;top:0;right:5px;margin-top:-4px;margin-right:-10px;height:11px;width:11px;border-radius:50%;cursor:pointer!important;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out;-webkit-transform:scale(0);transform:scale(0)}.dplayer .dplayer-controller .dplayer-icons .dplayer-setting{display:inline-block;height:100%}.dplayer .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box{position:absolute;right:0;bottom:50px;-webkit-transform:translateX(170px);transform:translateX(170px);width:150px;border-radius:2px;background:rgba(28,28,28,.9);padding:7px 0;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out;overflow:hidden;z-index:2}.dplayer .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box.dplayer-setting-box-open{-webkit-transform:translateX(0);transform:translateX(0)}.dplayer .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box.dplayer-setting-box-narrow{width:70px;height:180px;text-align:center}.dplayer .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-item,.dplayer .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-speed-item{height:30px;padding:5px 10px;-webkit-box-sizing:border-box;box-sizing:border-box;cursor:pointer;position:relative}.dplayer .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-item:hover,.dplayer .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-speed-item:hover{background-color:hsla(0,0%,100%,.1)}.dplayer .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku{padding:5px 0}.dplayer .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku .dplayer-label{padding:0 10px;display:inline}.dplayer .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku:hover .dplayer-label{display:none}.dplayer .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku:hover .dplayer-danmaku-bar-wrap{display:inline-block}.dplayer .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku.dplayer-setting-danmaku-active .dplayer-label{display:none}.dplayer .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku.dplayer-setting-danmaku-active .dplayer-danmaku-bar-wrap{display:inline-block}.dplayer .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku .dplayer-danmaku-bar-wrap{padding:0 10px;-webkit-box-sizing:border-box;box-sizing:border-box;display:none;vertical-align:middle;height:100%;width:100%}.dplayer .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku .dplayer-danmaku-bar-wrap .dplayer-danmaku-bar{position:relative;top:8.5px;width:100%;height:3px;background:#fff;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.dplayer .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku .dplayer-danmaku-bar-wrap .dplayer-danmaku-bar .dplayer-danmaku-bar-inner{position:absolute;bottom:0;left:0;height:100%;-webkit-transition:all .1s ease;transition:all .1s ease;background:#aaa;will-change:width}.dplayer .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku .dplayer-danmaku-bar-wrap .dplayer-danmaku-bar .dplayer-danmaku-bar-inner .dplayer-thumb{position:absolute;top:0;right:5px;margin-top:-4px;margin-right:-10px;height:11px;width:11px;border-radius:50%;cursor:pointer!important;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out;background:#aaa}.dplayer .dplayer-controller .dplayer-icons .dplayer-full{display:inline-block;height:100%;position:relative}.dplayer .dplayer-controller .dplayer-icons .dplayer-full:hover .dplayer-full-in-icon{display:block}.dplayer .dplayer-controller .dplayer-icons .dplayer-full .dplayer-full-in-icon{position:absolute;top:-30px;z-index:1;display:none}.dplayer .dplayer-controller .dplayer-icons .dplayer-quality{position:relative;display:inline-block;height:100%;z-index:2}.dplayer .dplayer-controller .dplayer-icons .dplayer-quality:hover .dplayer-quality-list,.dplayer .dplayer-controller .dplayer-icons .dplayer-quality:hover .dplayer-quality-mask{display:block}.dplayer .dplayer-controller .dplayer-icons .dplayer-quality .dplayer-quality-mask{display:none;position:absolute;bottom:38px;left:-18px;width:80px;padding-bottom:12px}.dplayer .dplayer-controller .dplayer-icons .dplayer-quality .dplayer-quality-list{display:none;font-size:12px;width:80px;border-radius:2px;background:rgba(28,28,28,.9);padding:5px 0;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out;overflow:hidden;color:#fff;text-align:center}.dplayer .dplayer-controller .dplayer-icons .dplayer-quality .dplayer-quality-item{height:25px;-webkit-box-sizing:border-box;box-sizing:border-box;cursor:pointer;line-height:25px}.dplayer .dplayer-controller .dplayer-icons .dplayer-quality .dplayer-quality-item:hover{background-color:hsla(0,0%,100%,.1)}.dplayer .dplayer-controller .dplayer-icons .dplayer-comment{display:inline-block;height:100%}.dplayer .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box{position:absolute;right:0;bottom:50px;-webkit-transform:translateX(382px);transform:translateX(382px);border-radius:2px;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out;z-index:2}.dplayer .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box.dplayer-comment-box-open{-webkit-transform:translateX(0);transform:translateX(0)}.dplayer .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box .dplayer-comment-setting-icon{height:24px;width:24px;position:absolute;top:5px;left:7px;padding:0}.dplayer .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box .dplayer-comment-setting-box{position:absolute;background:#fff;bottom:40px;left:-93px;-webkit-box-shadow:0 0 25px rgba(0,0,0,.3);box-shadow:0 0 25px rgba(0,0,0,.3);border-radius:4px;padding:10px 10px 16px;font-size:14px;width:204px;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out;-webkit-transform:scale(0);transform:scale(0)}.dplayer .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box .dplayer-comment-setting-box.dplayer-comment-setting-open{-webkit-transform:scale(1);transform:scale(1)}.dplayer .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box .dplayer-comment-setting-box:after{content:"";position:absolute;top:100%;left:50%;margin-left:-12px;background:url('data:image/svg+xml;utf8,');width:24px;height:12px}.dplayer .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box .dplayer-comment-setting-box input[type=radio]{display:none}.dplayer .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box .dplayer-comment-setting-box label{cursor:pointer}.dplayer .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-title{font-size:14px;color:#555;padding:6px}.dplayer .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-type{font-size:0}.dplayer .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-type label:nth-child(2) span{border-radius:4px 0 0 4px}.dplayer .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-type label:nth-child(4) span{border-radius:0 4px 4px 0}.dplayer .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-type span{width:33%;padding:4px 6px;line-height:16px;display:inline-block;font-size:12px;color:#555;border:1px solid #e4e4e6;margin-right:-1px;-webkit-box-sizing:border-box;box-sizing:border-box;text-align:center;cursor:pointer}.dplayer .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-type input:checked+span{background:#e4e4e6}.dplayer .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-color{font-size:0}.dplayer .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-color label{font-size:0;padding:6px;display:inline-block}.dplayer .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-color span{width:22px;height:22px;display:inline-block;border-radius:50%;-webkit-box-sizing:border-box;box-sizing:border-box;cursor:pointer}.dplayer .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-color span:hover{-webkit-animation:my-face 5s infinite ease-in-out;animation:my-face 5s infinite ease-in-out;-webkit-box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12);box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12)}.dplayer .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-color input:checked+span{-webkit-box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12);box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12);border:none!important}.dplayer .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box .dplayer-comment-input{outline:none;border:none;padding:8px 31px;font-size:14px;line-height:18px;text-align:center;border-radius:4px;width:300px;background:#fff;margin:0;height:auto}.dplayer .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box .dplayer-send-icon{height:22px;width:22px;position:absolute;top:6px;right:7px;padding:0}.dplayer .dplayer-controller .dplayer-icons .dplayer-label{color:#eee;font-size:13px;display:inline-block;vertical-align:middle;white-space:nowrap}.dplayer .dplayer-controller .dplayer-icons .dplayer-toggle{width:32px;height:20px;text-align:center;font-size:0;vertical-align:middle;position:absolute;top:5px;right:10px}.dplayer .dplayer-controller .dplayer-icons .dplayer-toggle input{max-height:0;max-width:0;display:none}.dplayer .dplayer-controller .dplayer-icons .dplayer-toggle input+label{display:inline-block;position:relative;-webkit-box-shadow:#dfdfdf 0 0 0 0 inset;box-shadow:inset 0 0 0 0 #dfdfdf;border:1px solid #dfdfdf;height:20px;width:32px;border-radius:10px;-webkit-box-sizing:border-box;box-sizing:border-box;cursor:pointer;-webkit-transition:.2s ease-in-out;transition:.2s ease-in-out}.dplayer .dplayer-controller .dplayer-icons .dplayer-toggle input+label:after,.dplayer .dplayer-controller .dplayer-icons .dplayer-toggle input+label:before{content:"";position:absolute;display:block;height:18px;width:18px;top:0;left:0;border-radius:15px;-webkit-transition:.2s ease-in-out;transition:.2s ease-in-out}.dplayer .dplayer-controller .dplayer-icons .dplayer-toggle input+label:after{background:#fff;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.4);box-shadow:0 1px 3px rgba(0,0,0,.4)}.dplayer .dplayer-controller .dplayer-icons .dplayer-toggle input:checked+label{border-color:hsla(0,0%,100%,.5)}.dplayer .dplayer-controller .dplayer-icons .dplayer-toggle input:checked+label:before{width:30px;background:hsla(0,0%,100%,.5)}.dplayer .dplayer-controller .dplayer-icons .dplayer-toggle input:checked+label:after{left:12px}.dplayer .dplayer-menu{position:absolute;width:170px;border-radius:2px;background:rgba(28,28,28,.85);padding:5px 0;overflow:hidden;z-index:3;display:none}.dplayer .dplayer-menu.dplayer-menu-show{display:block}.dplayer .dplayer-menu .dplayer-menu-item{height:30px;-webkit-box-sizing:border-box;box-sizing:border-box;cursor:pointer}.dplayer .dplayer-menu .dplayer-menu-item:hover{background-color:hsla(0,0%,100%,.1)}.dplayer .dplayer-menu .dplayer-menu-item a{padding:0 10px;line-height:30px;color:#eee;font-size:13px;display:inline-block;vertical-align:middle;width:100%;-webkit-box-sizing:border-box;box-sizing:border-box;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.dplayer .dplayer-menu .dplayer-menu-item a:hover{text-decoration:none}.dplayer .dplayer-logo{pointer-events:none;position:absolute;left:20px;top:20px;max-width:50px;max-height:50px}.dplayer .dplayer-logo img{max-width:100%;max-height:100%;background:none}.dplayer .dplayer-notice{opacity:0;position:absolute;bottom:60px;left:20px;font-size:14px;border-radius:2px;background:rgba(28,28,28,.9);padding:7px 20px;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out;overflow:hidden;color:#fff;pointer-events:none}@-webkit-keyframes my-face{2%{-webkit-transform:translateY(1.5px) rotate(1.5deg);transform:translateY(1.5px) rotate(1.5deg)}4%{-webkit-transform:translateY(-1.5px) rotate(-.5deg);transform:translateY(-1.5px) rotate(-.5deg)}6%{-webkit-transform:translateY(1.5px) rotate(-1.5deg);transform:translateY(1.5px) rotate(-1.5deg)}8%{-webkit-transform:translateY(-1.5px) rotate(-1.5deg);transform:translateY(-1.5px) rotate(-1.5deg)}10%{-webkit-transform:translateY(2.5px) rotate(1.5deg);transform:translateY(2.5px) rotate(1.5deg)}12%{-webkit-transform:translateY(-.5px) rotate(1.5deg);transform:translateY(-.5px) rotate(1.5deg)}14%{-webkit-transform:translateY(-1.5px) rotate(1.5deg);transform:translateY(-1.5px) rotate(1.5deg)}16%{-webkit-transform:translateY(-.5px) rotate(-1.5deg);transform:translateY(-.5px) rotate(-1.5deg)}18%{-webkit-transform:translateY(.5px) rotate(-1.5deg);transform:translateY(.5px) rotate(-1.5deg)}20%{-webkit-transform:translateY(-1.5px) rotate(2.5deg);transform:translateY(-1.5px) rotate(2.5deg)}22%{-webkit-transform:translateY(.5px) rotate(-1.5deg);transform:translateY(.5px) rotate(-1.5deg)}24%{-webkit-transform:translateY(1.5px) rotate(1.5deg);transform:translateY(1.5px) rotate(1.5deg)}26%{-webkit-transform:translateY(.5px) rotate(.5deg);transform:translateY(.5px) rotate(.5deg)}28%{-webkit-transform:translateY(.5px) rotate(1.5deg);transform:translateY(.5px) rotate(1.5deg)}30%{-webkit-transform:translateY(-.5px) rotate(2.5deg);transform:translateY(-.5px) rotate(2.5deg)}32%{-webkit-transform:translateY(1.5px) rotate(-.5deg);transform:translateY(1.5px) rotate(-.5deg)}34%{-webkit-transform:translateY(1.5px) rotate(-.5deg);transform:translateY(1.5px) rotate(-.5deg)}36%{-webkit-transform:translateY(-1.5px) rotate(2.5deg);transform:translateY(-1.5px) rotate(2.5deg)}38%{-webkit-transform:translateY(1.5px) rotate(-1.5deg);transform:translateY(1.5px) rotate(-1.5deg)}40%{-webkit-transform:translateY(-.5px) rotate(2.5deg);transform:translateY(-.5px) rotate(2.5deg)}42%{-webkit-transform:translateY(2.5px) rotate(-1.5deg);transform:translateY(2.5px) rotate(-1.5deg)}44%{-webkit-transform:translateY(1.5px) rotate(.5deg);transform:translateY(1.5px) rotate(.5deg)}46%{-webkit-transform:translateY(-1.5px) rotate(2.5deg);transform:translateY(-1.5px) rotate(2.5deg)}48%{-webkit-transform:translateY(-.5px) rotate(.5deg);transform:translateY(-.5px) rotate(.5deg)}50%{-webkit-transform:translateY(.5px) rotate(.5deg);transform:translateY(.5px) rotate(.5deg)}52%{-webkit-transform:translateY(2.5px) rotate(2.5deg);transform:translateY(2.5px) rotate(2.5deg)}54%{-webkit-transform:translateY(-1.5px) rotate(1.5deg);transform:translateY(-1.5px) rotate(1.5deg)}56%{-webkit-transform:translateY(2.5px) rotate(2.5deg);transform:translateY(2.5px) rotate(2.5deg)}58%{-webkit-transform:translateY(.5px) rotate(2.5deg);transform:translateY(.5px) rotate(2.5deg)}60%{-webkit-transform:translateY(2.5px) rotate(2.5deg);transform:translateY(2.5px) rotate(2.5deg)}62%{-webkit-transform:translateY(-.5px) rotate(2.5deg);transform:translateY(-.5px) rotate(2.5deg)}64%{-webkit-transform:translateY(-.5px) rotate(1.5deg);transform:translateY(-.5px) rotate(1.5deg)}66%{-webkit-transform:translateY(1.5px) rotate(-.5deg);transform:translateY(1.5px) rotate(-.5deg)}68%{-webkit-transform:translateY(-1.5px) rotate(-.5deg);transform:translateY(-1.5px) rotate(-.5deg)}70%{-webkit-transform:translateY(1.5px) rotate(.5deg);transform:translateY(1.5px) rotate(.5deg)}72%{-webkit-transform:translateY(2.5px) rotate(1.5deg);transform:translateY(2.5px) rotate(1.5deg)}74%{-webkit-transform:translateY(-.5px) rotate(.5deg);transform:translateY(-.5px) rotate(.5deg)}76%{-webkit-transform:translateY(-.5px) rotate(2.5deg);transform:translateY(-.5px) rotate(2.5deg)}78%{-webkit-transform:translateY(-.5px) rotate(1.5deg);transform:translateY(-.5px) rotate(1.5deg)}80%{-webkit-transform:translateY(1.5px) rotate(1.5deg);transform:translateY(1.5px) rotate(1.5deg)}82%{-webkit-transform:translateY(-.5px) rotate(.5deg);transform:translateY(-.5px) rotate(.5deg)}84%{-webkit-transform:translateY(1.5px) rotate(2.5deg);transform:translateY(1.5px) rotate(2.5deg)}86%{-webkit-transform:translateY(-1.5px) rotate(-1.5deg);transform:translateY(-1.5px) rotate(-1.5deg)}88%{-webkit-transform:translateY(-.5px) rotate(2.5deg);transform:translateY(-.5px) rotate(2.5deg)}90%{-webkit-transform:translateY(2.5px) rotate(-.5deg);transform:translateY(2.5px) rotate(-.5deg)}92%{-webkit-transform:translateY(.5px) rotate(-.5deg);transform:translateY(.5px) rotate(-.5deg)}94%{-webkit-transform:translateY(2.5px) rotate(.5deg);transform:translateY(2.5px) rotate(.5deg)}96%{-webkit-transform:translateY(-.5px) rotate(1.5deg);transform:translateY(-.5px) rotate(1.5deg)}98%{-webkit-transform:translateY(-1.5px) rotate(-.5deg);transform:translateY(-1.5px) rotate(-.5deg)}0%,to{-webkit-transform:translate(0) rotate(0deg);transform:translate(0) rotate(0deg)}}@keyframes my-face{2%{-webkit-transform:translateY(1.5px) rotate(1.5deg);transform:translateY(1.5px) rotate(1.5deg)}4%{-webkit-transform:translateY(-1.5px) rotate(-.5deg);transform:translateY(-1.5px) rotate(-.5deg)}6%{-webkit-transform:translateY(1.5px) rotate(-1.5deg);transform:translateY(1.5px) rotate(-1.5deg)}8%{-webkit-transform:translateY(-1.5px) rotate(-1.5deg);transform:translateY(-1.5px) rotate(-1.5deg)}10%{-webkit-transform:translateY(2.5px) rotate(1.5deg);transform:translateY(2.5px) rotate(1.5deg)}12%{-webkit-transform:translateY(-.5px) rotate(1.5deg);transform:translateY(-.5px) rotate(1.5deg)}14%{-webkit-transform:translateY(-1.5px) rotate(1.5deg);transform:translateY(-1.5px) rotate(1.5deg)}16%{-webkit-transform:translateY(-.5px) rotate(-1.5deg);transform:translateY(-.5px) rotate(-1.5deg)}18%{-webkit-transform:translateY(.5px) rotate(-1.5deg);transform:translateY(.5px) rotate(-1.5deg)}20%{-webkit-transform:translateY(-1.5px) rotate(2.5deg);transform:translateY(-1.5px) rotate(2.5deg)}22%{-webkit-transform:translateY(.5px) rotate(-1.5deg);transform:translateY(.5px) rotate(-1.5deg)}24%{-webkit-transform:translateY(1.5px) rotate(1.5deg);transform:translateY(1.5px) rotate(1.5deg)}26%{-webkit-transform:translateY(.5px) rotate(.5deg);transform:translateY(.5px) rotate(.5deg)}28%{-webkit-transform:translateY(.5px) rotate(1.5deg);transform:translateY(.5px) rotate(1.5deg)}30%{-webkit-transform:translateY(-.5px) rotate(2.5deg);transform:translateY(-.5px) rotate(2.5deg)}32%{-webkit-transform:translateY(1.5px) rotate(-.5deg);transform:translateY(1.5px) rotate(-.5deg)}34%{-webkit-transform:translateY(1.5px) rotate(-.5deg);transform:translateY(1.5px) rotate(-.5deg)}36%{-webkit-transform:translateY(-1.5px) rotate(2.5deg);transform:translateY(-1.5px) rotate(2.5deg)}38%{-webkit-transform:translateY(1.5px) rotate(-1.5deg);transform:translateY(1.5px) rotate(-1.5deg)}40%{-webkit-transform:translateY(-.5px) rotate(2.5deg);transform:translateY(-.5px) rotate(2.5deg)}42%{-webkit-transform:translateY(2.5px) rotate(-1.5deg);transform:translateY(2.5px) rotate(-1.5deg)}44%{-webkit-transform:translateY(1.5px) rotate(.5deg);transform:translateY(1.5px) rotate(.5deg)}46%{-webkit-transform:translateY(-1.5px) rotate(2.5deg);transform:translateY(-1.5px) rotate(2.5deg)}48%{-webkit-transform:translateY(-.5px) rotate(.5deg);transform:translateY(-.5px) rotate(.5deg)}50%{-webkit-transform:translateY(.5px) rotate(.5deg);transform:translateY(.5px) rotate(.5deg)}52%{-webkit-transform:translateY(2.5px) rotate(2.5deg);transform:translateY(2.5px) rotate(2.5deg)}54%{-webkit-transform:translateY(-1.5px) rotate(1.5deg);transform:translateY(-1.5px) rotate(1.5deg)}56%{-webkit-transform:translateY(2.5px) rotate(2.5deg);transform:translateY(2.5px) rotate(2.5deg)}58%{-webkit-transform:translateY(.5px) rotate(2.5deg);transform:translateY(.5px) rotate(2.5deg)}60%{-webkit-transform:translateY(2.5px) rotate(2.5deg);transform:translateY(2.5px) rotate(2.5deg)}62%{-webkit-transform:translateY(-.5px) rotate(2.5deg);transform:translateY(-.5px) rotate(2.5deg)}64%{-webkit-transform:translateY(-.5px) rotate(1.5deg);transform:translateY(-.5px) rotate(1.5deg)}66%{-webkit-transform:translateY(1.5px) rotate(-.5deg);transform:translateY(1.5px) rotate(-.5deg)}68%{-webkit-transform:translateY(-1.5px) rotate(-.5deg);transform:translateY(-1.5px) rotate(-.5deg)}70%{-webkit-transform:translateY(1.5px) rotate(.5deg);transform:translateY(1.5px) rotate(.5deg)}72%{-webkit-transform:translateY(2.5px) rotate(1.5deg);transform:translateY(2.5px) rotate(1.5deg)}74%{-webkit-transform:translateY(-.5px) rotate(.5deg);transform:translateY(-.5px) rotate(.5deg)}76%{-webkit-transform:translateY(-.5px) rotate(2.5deg);transform:translateY(-.5px) rotate(2.5deg)}78%{-webkit-transform:translateY(-.5px) rotate(1.5deg);transform:translateY(-.5px) rotate(1.5deg)}80%{-webkit-transform:translateY(1.5px) rotate(1.5deg);transform:translateY(1.5px) rotate(1.5deg)}82%{-webkit-transform:translateY(-.5px) rotate(.5deg);transform:translateY(-.5px) rotate(.5deg)}84%{-webkit-transform:translateY(1.5px) rotate(2.5deg);transform:translateY(1.5px) rotate(2.5deg)}86%{-webkit-transform:translateY(-1.5px) rotate(-1.5deg);transform:translateY(-1.5px) rotate(-1.5deg)}88%{-webkit-transform:translateY(-.5px) rotate(2.5deg);transform:translateY(-.5px) rotate(2.5deg)}90%{-webkit-transform:translateY(2.5px) rotate(-.5deg);transform:translateY(2.5px) rotate(-.5deg)}92%{-webkit-transform:translateY(.5px) rotate(-.5deg);transform:translateY(.5px) rotate(-.5deg)}94%{-webkit-transform:translateY(2.5px) rotate(.5deg);transform:translateY(2.5px) rotate(.5deg)}96%{-webkit-transform:translateY(-.5px) rotate(1.5deg);transform:translateY(-.5px) rotate(1.5deg)}98%{-webkit-transform:translateY(-1.5px) rotate(-.5deg);transform:translateY(-1.5px) rotate(-.5deg)}0%,to{-webkit-transform:translate(0) rotate(0deg);transform:translate(0) rotate(0deg)}}[data-balloon]:before{display:none}[data-balloon]:after{padding:.3em .7em;background:hsla(0,0%,7%,.7)}[data-balloon][data-balloon-pos=up]:after{margin-bottom:0} /*# sourceMappingURL=DPlayer.min.css.map*/ \ No newline at end of file diff --git a/dist/DPlayer.min.css.map b/dist/DPlayer.min.css.map index b596f2335..83aba4563 100644 --- a/dist/DPlayer.min.css.map +++ b/dist/DPlayer.min.css.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///./node_modules/balloon-css/balloon.css","webpack:///./src/DPlayer.scss"],"names":[],"mappings":"AAAA,qBACE,gBAAkB,CAEpB,eACE,kBACA,cAAgB,CAChB,qBASE,iCACA,0BACA,4BACA,2BACA,yBACA,4BACA,kBACA,WACA,2BACA,iBAEA,kBAAoB,CAEtB,2CArBE,wBACA,gEACA,eACA,iBACA,UACA,oBACA,0CACA,kCAWA,kBAEA,UAAY,CAgBE,sBAdd,uQACA,0BACA,WACA,WASA,UAAY,CAGd,8IACE,0BACA,kEACA,eACA,iBACA,UACA,mBAAqB,CACvB,kCACE,uBAAyB,CAC3B,yCACE,eAAiB,CACnB,mFACE,wBACA,eAAiB,CACnB,0CAGE,kBAAoB,CAKtB,qFAPE,YACA,SAEA,uCACA,+BACA,6BACA,oBAAsB,CAQE,2CAJxB,iBAAmB,CAQrB,kOACE,kCACA,yBAA8B,CAChC,+CAEE,OACA,kBAAoB,CAKtB,+FAPE,YAGA,mCACA,2BACA,6BACA,oBAAsB,CAQE,gDALxB,SACA,iBAAmB,CAQrB,sPACE,+BACA,sBAA2B,CAC7B,gDAEE,QACA,kBAAoB,CAKtB,iGAPE,YAGA,mCACA,2BACA,6BACA,oBAAsB,CAQE,iDALxB,UACA,iBAAmB,CAQrB,0PACE,+BACA,sBAA2B,CAC7B,4CAEE,eAAiB,CAInB,yFALE,SAEA,SACA,wCACA,+BAAkC,CAUE,6CARpC,yQACA,0BACA,WACA,WAEA,cAAgB,CAOlB,0OACE,kCACA,yBAA8B,CAChC,iDACE,OACA,gBACA,SACA,oCACA,2BAA+B,CACjC,kDACE,yQACA,0BACA,WACA,WACA,SACA,eACA,SACA,oCACA,2BAA+B,CAIjC,8PACE,+BACA,sBAA2B,CAC7B,kDACE,QACA,gBACA,SACA,oCACA,2BAA+B,CACjC,mDACE,yQACA,0BACA,WACA,WACA,UACA,eACA,SACA,oCACA,2BAA+B,CAIjC,kQACE,+BACA,sBAA2B,CAC7B,4CACE,kBACA,WACA,QACA,uCACA,8BAAiC,CACnC,6CACE,wQACA,0BACA,UACA,YACA,iBACA,WACA,QACA,uCACA,8BAAiC,CAInC,0OACE,mCACA,0BAA8B,CAChC,6CACE,UACA,iBACA,QACA,wCACA,+BAAkC,CACpC,8CACE,wQACA,0BACA,UACA,YACA,UACA,gBACA,QACA,wCACA,+BAAkC,CAIpC,8OACE,mCACA,0BAA8B,CAChC,gDACE,mBACA,UAAY,CACd,iDACE,mBACA,WAAa,CACf,gDACE,mBACA,WAAa,CACf,iDACE,mBACA,WAAa,CACb,oCACE,iDACE,mBACA,UAAY,CAAE,CACpB,8CACE,mBACA,UAAY,CC3PhB,SACE,kBACA,gBACA,yBACG,sBACC,qBACI,iBACR,aAAe,CACf,WACE,+BACQ,sBAAwB,CAClC,6BACE,WACA,YACA,gBACA,eACA,eACA,OACA,KAAO,CACP,mLAEE,2CACQ,mCACR,oCACQ,2BAA6B,CACvC,0FACE,oCACQ,4BACR,oCACQ,2BAA6B,CAOzC,0fACE,YAAc,CAChB,gEACE,+CACQ,sCAAyC,CACnD,yBAGE,+FACE,SAAW,CAGb,2GACE,SAAW,CAAE,CACjB,+DACE,aAAe,CACjB,gEACE,8CACQ,qCAAwC,CAClD,iCACE,WAAa,CAKb,+GACE,UACA,mCACQ,0BAA4B,CAGxC,+GACE,SAAW,CACb,wBACE,eACA,eACA,OACA,MACA,WACA,WAAa,CACf,qFAEE,sBAAyB,CAC3B,8CACE,0BACA,8BAAiC,CACnC,wHACE,WAAa,CACf,uDACE,YAAc,CAChB,8HACE,SAAW,CACb,yEACE,UAAY,CACd,uBACE,kBACA,MACA,SACA,OACA,QACA,UACA,YAAc,CACd,yCACE,aAAe,CACnB,6BACE,kBACA,gBACA,YACA,WACA,WAAa,CACb,4CACE,WACA,YACA,YAAc,CAChB,oDACE,aAAe,CACjB,oDACE,YAAc,CAClB,0BACE,kBACA,OACA,QACA,MACA,SACA,eACA,UAAY,CACZ,gDACE,qBACA,oBACA,yBACG,sBACC,qBACI,iBACR,eACA,mBACA,yCAAkD,CAClD,sDACE,kBACA,iBAAmB,CACvB,iDACE,kBACA,QACA,mCACQ,0BAA4B,CACpC,sEACE,sBACA,oCACQ,4BACR,oCACQ,2BAA6B,CAE7C,2BACE,GACE,mCACQ,0BAA4B,CAAE,CAE1C,mBACE,GACE,mCACQ,0BAA4B,CAAE,CACtC,iGAEE,kBACA,WACA,kBACA,iBAAmB,CACnB,2IAEE,uBACA,2CACQ,mCACR,oCACQ,2BAA6B,CAE7C,kCACE,GACE,kBAAoB,CACtB,GACE,kBAAoB,CAAE,CAE1B,0BACE,GACE,kBAAoB,CACtB,GACE,kBAAoB,CAAE,CACxB,wBACE,kBACA,OACA,QACA,MACA,SACA,eACA,WACA,mBAAqB,CACrB,sCACE,uBAA+B,CACjC,4CACE,kBACA,QACA,SACA,uBACA,YACA,WACA,aACA,8BACQ,sBACR,0BACA,kBACA,UACA,mBAAqB,CACrB,qEACE,wCACQ,+BAAiC,CAEjD,8BACE,GACE,UACA,2BACQ,kBAAoB,CAC9B,GACE,UACA,2BACQ,kBAAoB,CAAE,CAElC,sBACE,GACE,UACA,2BACQ,kBAAoB,CAC9B,GACE,UACA,2BACQ,kBAAoB,CAAE,CAC9B,4CACE,kBACA,QACA,gBACA,WACA,kBACA,eACA,iBACA,kDACQ,yCAA2C,CACrD,+CACE,aACA,kBACA,QACA,SACA,uBACA,YACA,WACA,mBAAqB,CACrB,sEACE,YAAc,CAChB,qEACE,8DACQ,sDACR,UACA,UACA,iCACQ,wBAA0B,CAClC,4FACE,4BACQ,mBAAsB,CAChC,4FACE,4BACQ,mBAAsB,CAChC,4FACE,4BACQ,mBAAsB,CAChC,4FACE,4BACQ,mBAAsB,CAChC,4FACE,4BACQ,mBAAsB,CAChC,4FACE,4BACQ,mBAAsB,CAChC,4FACE,4BACQ,mBAAsB,CAExC,6CACE,GACE,WACA,6BACQ,oBAA2B,CACrC,IACE,YACA,4BACQ,mBAA2B,CACrC,GACE,YACA,6BACQ,oBAA6B,CAAE,CAE3C,qCACE,GACE,WACA,6BACQ,oBAA2B,CACrC,IACE,YACA,4BACQ,mBAA2B,CACrC,GACE,YACA,6BACQ,oBAA6B,CAAE,CACzC,kCACE,mSACA,YACA,UAAY,CAKd,+DAJE,kBACA,SACA,gCACA,uBAA0B,CAaE,6BAT5B,OACA,QACA,YACA,eACA,yBACG,sBACC,qBACI,gBAAkB,CAG1B,+CACE,cACA,eACA,kBACA,YACA,wBACA,UAAY,CACZ,oEACE,qCACQ,4BAA+B,CACzC,oEACE,kBACA,gBACA,oBACA,aACA,yBAA2B,CAC7B,2EACE,kBACA,WACA,YACA,UACA,mBAAqB,CACvB,iEACE,kBACA,OACA,UACA,WACA,kBACA,gBACA,iCACA,WACA,eACA,kBACA,UACA,2CACA,mCACA,iBACA,kBACA,UACA,mBAAqB,CACrB,wEACE,SAAW,CACf,4DACE,kBACA,WACA,WACA,8BACA,wBAA2B,CAC3B,4EACE,kBACA,OACA,MACA,SACA,8BACA,WACA,gCACA,wBACA,iBAAmB,CACrB,4EACE,kBACA,OACA,MACA,SACA,WACA,iBAAmB,CACnB,2FACE,kBACA,MACA,UACA,gBACA,mBACA,YACA,WACA,kBACA,yBACA,uCACA,+BACA,2BACQ,kBAAoB,CACpC,4CACE,YACA,kBACA,QAAU,CACV,6EACE,WAAa,CACf,gEACE,UAAY,CACZ,8EACE,WAAa,CACjB,0DACE,YACA,gBAAkB,CACpB,0DACE,iBACA,WACA,mCACA,sBACA,eACA,cAAgB,CAClB,0DACE,WACA,YACA,YACA,6BACA,aACA,eACA,sBACA,8BACQ,sBACR,oBAAsB,CACtB,gFACE,uCACA,+BACA,UAAY,CACd,sFACE,SAAW,CACb,+EACE,WACA,WACA,iBACA,cAAgB,CAClB,+EACE,oBAAsB,CACxB,+EACE,iBAAmB,CACrB,8EACE,UAAY,CAChB,0DACE,SAAW,CACb,4DACE,kBACA,qBACA,yBACA,WAAa,CACb,sFACE,oBAAuB,CACzB,iFACE,qCACQ,4BAA+B,CACzC,sGACE,oBAAuB,CACzB,iGACE,qCACQ,4BAA+B,CACzC,qFACE,qBACA,oBACA,sBACA,WAAa,CACb,yGACE,kBACA,SACA,QACA,WACA,gBACA,uCACA,8BAAiC,CACjC,mIACE,kBACA,SACA,OACA,YACA,gCACA,wBACA,iBAAmB,CACnB,kJACE,kBACA,MACA,UACA,gBACA,mBACA,YACA,WACA,kBACA,yBACA,uCACA,+BACA,2BACQ,kBAAoB,CACtC,6DACE,qBACA,WAAa,CACb,kFACE,kBACA,QACA,YACA,oCACQ,4BACR,YACA,kBACA,6BACA,cACA,uCACA,+BACA,gBACA,SAAW,CACX,2GACE,gCACQ,uBAAyB,CACnC,6GACE,WACA,aACA,iBAAmB,CACvB,4KAEE,YACA,iBACA,8BACQ,sBACR,eACA,iBAAmB,CACnB,wLAEE,mCAA2C,CAC/C,sFACE,aAAe,CACf,qGACE,eACA,cAAgB,CAClB,2GACE,YAAc,CAChB,sHACE,oBAAsB,CACxB,oIACE,YAAc,CAChB,+IACE,oBAAsB,CACxB,gHACE,eACA,8BACQ,sBACR,aACA,sBACA,YACA,UAAY,CACZ,qIACE,kBACA,UACA,WACA,WACA,gBACA,uCACA,8BAAiC,CACjC,gKACE,kBACA,SACA,OACA,YACA,gCACA,wBACA,gBACA,iBAAmB,CACnB,+KACE,kBACA,MACA,UACA,gBACA,mBACA,YACA,WACA,kBACA,yBACA,uCACA,+BACA,eAAiB,CAC7B,0DACE,qBACA,YACA,iBAAmB,CACnB,sFACE,aAAe,CACjB,gFACE,kBACA,UACA,UACA,YAAc,CAClB,6DACE,kBACA,qBACA,YACA,SAAW,CAGX,kLACE,aAAe,CACjB,mFACE,aACA,kBACA,YACA,WACA,WACA,mBAAqB,CACvB,mFACE,aACA,eACA,WACA,kBACA,6BACA,cACA,uCACA,+BACA,gBACA,WACA,iBAAmB,CACrB,mFACE,YACA,8BACQ,sBACR,eACA,gBAAkB,CAClB,yFACE,mCAA2C,CACjD,6DACE,qBACA,WAAa,CACb,kFACE,kBACA,QACA,YACA,oCACQ,4BACR,kBACA,uCACA,+BACA,SAAW,CACX,2GACE,gCACQ,uBAAyB,CACnC,gHACE,YACA,WACA,kBACA,QACA,SACA,UACA,SAAW,CACX,oIACE,SAAW,CACb,8HACE,uCACA,+BACA,SAAW,CACf,+GACE,kBACA,gBACA,YACA,WACA,2CACQ,mCACR,kBACA,uBACA,eACA,YACA,uCACA,+BACA,2BACQ,kBAAoB,CAC5B,4IACE,2BACQ,kBAAoB,CAC9B,qHACE,WACA,kBACA,SACA,SACA,kBACA,+NACA,WACA,WAAa,CACf,iIACE,YAAc,CAChB,qHACE,cAAgB,CAClB,8IACE,eACA,WACA,WAAa,CACf,6IACE,WAAa,CACb,qKACE,yBAA2B,CAC7B,qKACE,yBAA2B,CAC7B,kJACE,UACA,gBACA,iBACA,qBACA,eACA,WACA,yBACA,kBACA,8BACQ,sBACR,kBACA,cAAgB,CAClB,gKACE,kBAAoB,CACxB,8IACE,WAAa,CACb,oJACE,YACA,YACA,oBAAsB,CACxB,mJACE,WACA,YACA,qBACA,kBACA,8BACQ,sBACR,cAAgB,CAChB,yJACE,kDACQ,0CACR,yGACQ,gGAAgH,CAC5H,iKACE,yGACQ,iGACR,qBAAwB,CAC9B,yGACE,aACA,YACA,iBACA,eACA,iBACA,kBACA,kBACA,YACA,gBACA,SACA,WAAa,CACf,qGACE,YACA,WACA,kBACA,QACA,UACA,UACA,SAAW,CACX,yHACE,SAAW,CACb,mHACE,uCACA,+BACA,SAAW,CACnB,2DACE,WACA,eACA,qBACA,sBACA,kBAAoB,CACtB,4DACE,WACA,YACA,kBACA,YACA,sBACA,kBACA,QACA,UAAY,CACZ,kEACE,aACA,YACA,YAAc,CAChB,wEACE,qBACA,kBACA,yCACQ,iCACR,yBACA,YACA,WACA,mBACA,8BACQ,sBACR,eACA,mCACA,0BAA4B,CAY9B,6JAVE,WACA,kBACA,cACA,YACA,WACA,MACA,OACA,mBACA,mCACA,0BAA4B,CAcd,8EANd,gBAGA,4CACQ,mCAAyC,CAGnD,gFACE,+BAAuC,CACzC,uFACE,WACA,6BAAqC,CACvC,sFACE,SAAW,CACnB,uBACE,kBACA,YACA,kBACA,8BACA,cACA,gBACA,UACA,YAAc,CACd,yCACE,aAAe,CACjB,0CACE,YACA,8BACQ,sBACR,cAAgB,CAChB,gDACE,mCAA2C,CAC7C,4CAEE,eACA,iBACA,WACA,eACA,qBACA,sBACA,WACA,8BACQ,sBACR,mBACA,uBACA,eAAiB,CACjB,kDACE,oBAAsB,CAC9B,uBACE,oBACA,kBACA,UACA,SACA,eACA,eAAiB,CACjB,2BACE,eACA,gBACA,eAAiB,CACrB,yBACE,UACA,kBACA,YACA,UACA,eACA,kBACA,6BACA,iBACA,uCACA,+BACA,gBACA,WACA,mBAAqB,CAEzB,2BACE,GACE,mDACQ,0CAA8C,CACxD,GACE,oDACQ,2CAAgD,CAC1D,GACE,oDACQ,2CAA+C,CACzD,GACE,qDACQ,4CAAgD,CAC1D,IACE,mDACQ,0CAA8C,CACxD,IACE,mDACQ,0CAA+C,CACzD,IACE,oDACQ,2CAA+C,CACzD,IACE,oDACQ,2CAAgD,CAC1D,IACE,mDACQ,0CAA+C,CACzD,IACE,oDACQ,2CAA+C,CACzD,IACE,mDACQ,0CAA+C,CACzD,IACE,mDACQ,0CAA8C,CACxD,IACE,iDACQ,wCAA8C,CACxD,IACE,kDACQ,yCAA8C,CACxD,IACE,mDACQ,0CAA+C,CACzD,IACE,mDACQ,0CAA+C,CACzD,IACE,mDACQ,0CAA+C,CACzD,IACE,oDACQ,2CAA+C,CACzD,IACE,oDACQ,2CAA+C,CACzD,IACE,mDACQ,0CAA+C,CACzD,IACE,oDACQ,2CAA+C,CACzD,IACE,kDACQ,yCAA8C,CACxD,IACE,oDACQ,2CAA+C,CACzD,IACE,kDACQ,yCAA+C,CACzD,IACE,iDACQ,wCAA8C,CACxD,IACE,mDACQ,0CAA8C,CACxD,IACE,oDACQ,2CAA+C,CACzD,IACE,mDACQ,0CAA8C,CACxD,IACE,kDACQ,yCAA8C,CACxD,IACE,mDACQ,0CAA8C,CACxD,IACE,mDACQ,0CAA+C,CACzD,IACE,mDACQ,0CAA+C,CACzD,IACE,mDACQ,0CAA+C,CACzD,IACE,oDACQ,2CAAgD,CAC1D,IACE,kDACQ,yCAA8C,CACxD,IACE,mDACQ,0CAA8C,CACxD,IACE,kDACQ,yCAA+C,CACzD,IACE,mDACQ,0CAA+C,CACzD,IACE,mDACQ,0CAA+C,CACzD,IACE,mDACQ,0CAA8C,CACxD,IACE,kDACQ,yCAA+C,CACzD,IACE,mDACQ,0CAA8C,CACxD,IACE,qDACQ,4CAAgD,CAC1D,IACE,mDACQ,0CAA+C,CACzD,IACE,mDACQ,0CAA+C,CACzD,IACE,kDACQ,yCAA+C,CACzD,IACE,kDACQ,yCAA8C,CACxD,IACE,mDACQ,0CAA+C,CACzD,IACE,oDACQ,2CAAgD,CAC1D,MACE,4CACQ,mCAAwC,CAAE,CAEtD,mBACE,GACE,mDACQ,0CAA8C,CACxD,GACE,oDACQ,2CAAgD,CAC1D,GACE,oDACQ,2CAA+C,CACzD,GACE,qDACQ,4CAAgD,CAC1D,IACE,mDACQ,0CAA8C,CACxD,IACE,mDACQ,0CAA+C,CACzD,IACE,oDACQ,2CAA+C,CACzD,IACE,oDACQ,2CAAgD,CAC1D,IACE,mDACQ,0CAA+C,CACzD,IACE,oDACQ,2CAA+C,CACzD,IACE,mDACQ,0CAA+C,CACzD,IACE,mDACQ,0CAA8C,CACxD,IACE,iDACQ,wCAA8C,CACxD,IACE,kDACQ,yCAA8C,CACxD,IACE,mDACQ,0CAA+C,CACzD,IACE,mDACQ,0CAA+C,CACzD,IACE,mDACQ,0CAA+C,CACzD,IACE,oDACQ,2CAA+C,CACzD,IACE,oDACQ,2CAA+C,CACzD,IACE,mDACQ,0CAA+C,CACzD,IACE,oDACQ,2CAA+C,CACzD,IACE,kDACQ,yCAA8C,CACxD,IACE,oDACQ,2CAA+C,CACzD,IACE,kDACQ,yCAA+C,CACzD,IACE,iDACQ,wCAA8C,CACxD,IACE,mDACQ,0CAA8C,CACxD,IACE,oDACQ,2CAA+C,CACzD,IACE,mDACQ,0CAA8C,CACxD,IACE,kDACQ,yCAA8C,CACxD,IACE,mDACQ,0CAA8C,CACxD,IACE,mDACQ,0CAA+C,CACzD,IACE,mDACQ,0CAA+C,CACzD,IACE,mDACQ,0CAA+C,CACzD,IACE,oDACQ,2CAAgD,CAC1D,IACE,kDACQ,yCAA8C,CACxD,IACE,mDACQ,0CAA8C,CACxD,IACE,kDACQ,yCAA+C,CACzD,IACE,mDACQ,0CAA+C,CACzD,IACE,mDACQ,0CAA+C,CACzD,IACE,mDACQ,0CAA8C,CACxD,IACE,kDACQ,yCAA+C,CACzD,IACE,mDACQ,0CAA8C,CACxD,IACE,qDACQ,4CAAgD,CAC1D,IACE,mDACQ,0CAA+C,CACzD,IACE,mDACQ,0CAA+C,CACzD,IACE,kDACQ,yCAA+C,CACzD,IACE,kDACQ,yCAA8C,CACxD,IACE,mDACQ,0CAA+C,CACzD,IACE,oDACQ,2CAAgD,CAC1D,MACE,4CACQ,mCAAwC,CAAE,CAEtD,sBACE,YAAc,CAEhB,qBACE,kBACA,2BAAkC,CAEpC,0CACE,eAAiB","file":"DPlayer.min.css","sourcesContent":["button[data-balloon] {\n overflow: visible; }\n\n[data-balloon] {\n position: relative;\n cursor: pointer; }\n [data-balloon]:after {\n filter: alpha(opactiy=0);\n -ms-filter: \"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)\";\n -moz-opacity: 0;\n -khtml-opacity: 0;\n opacity: 0;\n pointer-events: none;\n -webkit-transition: all 0.18s ease-out 0.18s;\n transition: all 0.18s ease-out 0.18s;\n font-family: sans-serif !important;\n font-weight: normal !important;\n font-style: normal !important;\n text-shadow: none !important;\n font-size: 12px !important;\n background: rgba(17, 17, 17, 0.9);\n border-radius: 4px;\n color: #fff;\n content: attr(data-balloon);\n padding: .5em 1em;\n position: absolute;\n white-space: nowrap;\n z-index: 10; }\n [data-balloon]:before {\n background: no-repeat url(\"data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20width%3D%2236px%22%20height%3D%2212px%22%3E%3Cpath%20fill%3D%22rgba(17, 17, 17, 0.9)%22%20transform%3D%22rotate(0)%22%20d%3D%22M2.658,0.000%20C-13.615,0.000%2050.938,0.000%2034.662,0.000%20C28.662,0.000%2023.035,12.002%2018.660,12.002%20C14.285,12.002%208.594,0.000%202.658,0.000%20Z%22/%3E%3C/svg%3E\");\n background-size: 100% auto;\n width: 18px;\n height: 6px;\n filter: alpha(opactiy=0);\n -ms-filter: \"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)\";\n -moz-opacity: 0;\n -khtml-opacity: 0;\n opacity: 0;\n pointer-events: none;\n -webkit-transition: all 0.18s ease-out 0.18s;\n transition: all 0.18s ease-out 0.18s;\n content: '';\n position: absolute;\n z-index: 10; }\n [data-balloon]:hover:before, [data-balloon]:hover:after, [data-balloon][data-balloon-visible]:before, [data-balloon][data-balloon-visible]:after {\n filter: alpha(opactiy=100);\n -ms-filter: \"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)\";\n -moz-opacity: 1;\n -khtml-opacity: 1;\n opacity: 1;\n pointer-events: auto; }\n [data-balloon].font-awesome:after {\n font-family: FontAwesome; }\n [data-balloon][data-balloon-break]:after {\n white-space: pre; }\n [data-balloon][data-balloon-blunt]:before, [data-balloon][data-balloon-blunt]:after {\n -webkit-transition: none;\n transition: none; }\n [data-balloon][data-balloon-pos=\"up\"]:after {\n bottom: 100%;\n left: 50%;\n margin-bottom: 11px;\n -webkit-transform: translate(-50%, 10px);\n transform: translate(-50%, 10px);\n -webkit-transform-origin: top;\n transform-origin: top; }\n [data-balloon][data-balloon-pos=\"up\"]:before {\n bottom: 100%;\n left: 50%;\n margin-bottom: 5px;\n -webkit-transform: translate(-50%, 10px);\n transform: translate(-50%, 10px);\n -webkit-transform-origin: top;\n transform-origin: top; }\n [data-balloon][data-balloon-pos=\"up\"]:hover:after, [data-balloon][data-balloon-pos=\"up\"][data-balloon-visible]:after {\n -webkit-transform: translate(-50%, 0);\n transform: translate(-50%, 0); }\n [data-balloon][data-balloon-pos=\"up\"]:hover:before, [data-balloon][data-balloon-pos=\"up\"][data-balloon-visible]:before {\n -webkit-transform: translate(-50%, 0);\n transform: translate(-50%, 0); }\n [data-balloon][data-balloon-pos=\"up-left\"]:after {\n bottom: 100%;\n left: 0;\n margin-bottom: 11px;\n -webkit-transform: translate(0, 10px);\n transform: translate(0, 10px);\n -webkit-transform-origin: top;\n transform-origin: top; }\n [data-balloon][data-balloon-pos=\"up-left\"]:before {\n bottom: 100%;\n left: 5px;\n margin-bottom: 5px;\n -webkit-transform: translate(0, 10px);\n transform: translate(0, 10px);\n -webkit-transform-origin: top;\n transform-origin: top; }\n [data-balloon][data-balloon-pos=\"up-left\"]:hover:after, [data-balloon][data-balloon-pos=\"up-left\"][data-balloon-visible]:after {\n -webkit-transform: translate(0, 0);\n transform: translate(0, 0); }\n [data-balloon][data-balloon-pos=\"up-left\"]:hover:before, [data-balloon][data-balloon-pos=\"up-left\"][data-balloon-visible]:before {\n -webkit-transform: translate(0, 0);\n transform: translate(0, 0); }\n [data-balloon][data-balloon-pos=\"up-right\"]:after {\n bottom: 100%;\n right: 0;\n margin-bottom: 11px;\n -webkit-transform: translate(0, 10px);\n transform: translate(0, 10px);\n -webkit-transform-origin: top;\n transform-origin: top; }\n [data-balloon][data-balloon-pos=\"up-right\"]:before {\n bottom: 100%;\n right: 5px;\n margin-bottom: 5px;\n -webkit-transform: translate(0, 10px);\n transform: translate(0, 10px);\n -webkit-transform-origin: top;\n transform-origin: top; }\n [data-balloon][data-balloon-pos=\"up-right\"]:hover:after, [data-balloon][data-balloon-pos=\"up-right\"][data-balloon-visible]:after {\n -webkit-transform: translate(0, 0);\n transform: translate(0, 0); }\n [data-balloon][data-balloon-pos=\"up-right\"]:hover:before, [data-balloon][data-balloon-pos=\"up-right\"][data-balloon-visible]:before {\n -webkit-transform: translate(0, 0);\n transform: translate(0, 0); }\n [data-balloon][data-balloon-pos='down']:after {\n left: 50%;\n margin-top: 11px;\n top: 100%;\n -webkit-transform: translate(-50%, -10px);\n transform: translate(-50%, -10px); }\n [data-balloon][data-balloon-pos='down']:before {\n background: no-repeat url(\"data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20width%3D%2236px%22%20height%3D%2212px%22%3E%3Cpath%20fill%3D%22rgba(17, 17, 17, 0.9)%22%20transform%3D%22rotate(180 18 6)%22%20d%3D%22M2.658,0.000%20C-13.615,0.000%2050.938,0.000%2034.662,0.000%20C28.662,0.000%2023.035,12.002%2018.660,12.002%20C14.285,12.002%208.594,0.000%202.658,0.000%20Z%22/%3E%3C/svg%3E\");\n background-size: 100% auto;\n width: 18px;\n height: 6px;\n left: 50%;\n margin-top: 5px;\n top: 100%;\n -webkit-transform: translate(-50%, -10px);\n transform: translate(-50%, -10px); }\n [data-balloon][data-balloon-pos='down']:hover:after, [data-balloon][data-balloon-pos='down'][data-balloon-visible]:after {\n -webkit-transform: translate(-50%, 0);\n transform: translate(-50%, 0); }\n [data-balloon][data-balloon-pos='down']:hover:before, [data-balloon][data-balloon-pos='down'][data-balloon-visible]:before {\n -webkit-transform: translate(-50%, 0);\n transform: translate(-50%, 0); }\n [data-balloon][data-balloon-pos='down-left']:after {\n left: 0;\n margin-top: 11px;\n top: 100%;\n -webkit-transform: translate(0, -10px);\n transform: translate(0, -10px); }\n [data-balloon][data-balloon-pos='down-left']:before {\n background: no-repeat url(\"data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20width%3D%2236px%22%20height%3D%2212px%22%3E%3Cpath%20fill%3D%22rgba(17, 17, 17, 0.9)%22%20transform%3D%22rotate(180 18 6)%22%20d%3D%22M2.658,0.000%20C-13.615,0.000%2050.938,0.000%2034.662,0.000%20C28.662,0.000%2023.035,12.002%2018.660,12.002%20C14.285,12.002%208.594,0.000%202.658,0.000%20Z%22/%3E%3C/svg%3E\");\n background-size: 100% auto;\n width: 18px;\n height: 6px;\n left: 5px;\n margin-top: 5px;\n top: 100%;\n -webkit-transform: translate(0, -10px);\n transform: translate(0, -10px); }\n [data-balloon][data-balloon-pos='down-left']:hover:after, [data-balloon][data-balloon-pos='down-left'][data-balloon-visible]:after {\n -webkit-transform: translate(0, 0);\n transform: translate(0, 0); }\n [data-balloon][data-balloon-pos='down-left']:hover:before, [data-balloon][data-balloon-pos='down-left'][data-balloon-visible]:before {\n -webkit-transform: translate(0, 0);\n transform: translate(0, 0); }\n [data-balloon][data-balloon-pos='down-right']:after {\n right: 0;\n margin-top: 11px;\n top: 100%;\n -webkit-transform: translate(0, -10px);\n transform: translate(0, -10px); }\n [data-balloon][data-balloon-pos='down-right']:before {\n background: no-repeat url(\"data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20width%3D%2236px%22%20height%3D%2212px%22%3E%3Cpath%20fill%3D%22rgba(17, 17, 17, 0.9)%22%20transform%3D%22rotate(180 18 6)%22%20d%3D%22M2.658,0.000%20C-13.615,0.000%2050.938,0.000%2034.662,0.000%20C28.662,0.000%2023.035,12.002%2018.660,12.002%20C14.285,12.002%208.594,0.000%202.658,0.000%20Z%22/%3E%3C/svg%3E\");\n background-size: 100% auto;\n width: 18px;\n height: 6px;\n right: 5px;\n margin-top: 5px;\n top: 100%;\n -webkit-transform: translate(0, -10px);\n transform: translate(0, -10px); }\n [data-balloon][data-balloon-pos='down-right']:hover:after, [data-balloon][data-balloon-pos='down-right'][data-balloon-visible]:after {\n -webkit-transform: translate(0, 0);\n transform: translate(0, 0); }\n [data-balloon][data-balloon-pos='down-right']:hover:before, [data-balloon][data-balloon-pos='down-right'][data-balloon-visible]:before {\n -webkit-transform: translate(0, 0);\n transform: translate(0, 0); }\n [data-balloon][data-balloon-pos='left']:after {\n margin-right: 11px;\n right: 100%;\n top: 50%;\n -webkit-transform: translate(10px, -50%);\n transform: translate(10px, -50%); }\n [data-balloon][data-balloon-pos='left']:before {\n background: no-repeat url(\"data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20width%3D%2212px%22%20height%3D%2236px%22%3E%3Cpath%20fill%3D%22rgba(17, 17, 17, 0.9)%22%20transform%3D%22rotate(-90 18 18)%22%20d%3D%22M2.658,0.000%20C-13.615,0.000%2050.938,0.000%2034.662,0.000%20C28.662,0.000%2023.035,12.002%2018.660,12.002%20C14.285,12.002%208.594,0.000%202.658,0.000%20Z%22/%3E%3C/svg%3E\");\n background-size: 100% auto;\n width: 6px;\n height: 18px;\n margin-right: 5px;\n right: 100%;\n top: 50%;\n -webkit-transform: translate(10px, -50%);\n transform: translate(10px, -50%); }\n [data-balloon][data-balloon-pos='left']:hover:after, [data-balloon][data-balloon-pos='left'][data-balloon-visible]:after {\n -webkit-transform: translate(0, -50%);\n transform: translate(0, -50%); }\n [data-balloon][data-balloon-pos='left']:hover:before, [data-balloon][data-balloon-pos='left'][data-balloon-visible]:before {\n -webkit-transform: translate(0, -50%);\n transform: translate(0, -50%); }\n [data-balloon][data-balloon-pos='right']:after {\n left: 100%;\n margin-left: 11px;\n top: 50%;\n -webkit-transform: translate(-10px, -50%);\n transform: translate(-10px, -50%); }\n [data-balloon][data-balloon-pos='right']:before {\n background: no-repeat url(\"data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20width%3D%2212px%22%20height%3D%2236px%22%3E%3Cpath%20fill%3D%22rgba(17, 17, 17, 0.9)%22%20transform%3D%22rotate(90 6 6)%22%20d%3D%22M2.658,0.000%20C-13.615,0.000%2050.938,0.000%2034.662,0.000%20C28.662,0.000%2023.035,12.002%2018.660,12.002%20C14.285,12.002%208.594,0.000%202.658,0.000%20Z%22/%3E%3C/svg%3E\");\n background-size: 100% auto;\n width: 6px;\n height: 18px;\n left: 100%;\n margin-left: 5px;\n top: 50%;\n -webkit-transform: translate(-10px, -50%);\n transform: translate(-10px, -50%); }\n [data-balloon][data-balloon-pos='right']:hover:after, [data-balloon][data-balloon-pos='right'][data-balloon-visible]:after {\n -webkit-transform: translate(0, -50%);\n transform: translate(0, -50%); }\n [data-balloon][data-balloon-pos='right']:hover:before, [data-balloon][data-balloon-pos='right'][data-balloon-visible]:before {\n -webkit-transform: translate(0, -50%);\n transform: translate(0, -50%); }\n [data-balloon][data-balloon-length='small']:after {\n white-space: normal;\n width: 80px; }\n [data-balloon][data-balloon-length='medium']:after {\n white-space: normal;\n width: 150px; }\n [data-balloon][data-balloon-length='large']:after {\n white-space: normal;\n width: 260px; }\n [data-balloon][data-balloon-length='xlarge']:after {\n white-space: normal;\n width: 380px; }\n @media screen and (max-width: 768px) {\n [data-balloon][data-balloon-length='xlarge']:after {\n white-space: normal;\n width: 90vw; } }\n [data-balloon][data-balloon-length='fit']:after {\n white-space: normal;\n width: 100%; }\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/balloon-css/balloon.css","@import url(../node_modules/balloon-css/balloon.css);\n.dplayer {\n position: relative;\n overflow: hidden;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n line-height: 1; }\n .dplayer * {\n -webkit-box-sizing: content-box;\n box-sizing: content-box; }\n .dplayer:-webkit-full-screen {\n width: 100%;\n height: 100%;\n background: #000;\n position: fixed;\n z-index: 100000;\n left: 0;\n top: 0; }\n .dplayer:-webkit-full-screen .dplayer-danmaku .dplayer-danmaku-top.dplayer-danmaku-move,\n .dplayer:-webkit-full-screen .dplayer-danmaku .dplayer-danmaku-bottom.dplayer-danmaku-move {\n -webkit-animation: danmaku-center 6s linear;\n animation: danmaku-center 6s linear;\n -webkit-animation-play-state: paused;\n animation-play-state: paused; }\n .dplayer:-webkit-full-screen .dplayer-danmaku .dplayer-danmaku-right.dplayer-danmaku-move {\n -webkit-animation: danmaku 8s linear;\n animation: danmaku 8s linear;\n -webkit-animation-play-state: paused;\n animation-play-state: paused; }\n .dplayer.dplayer-no-danmaku .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box .dplayer-setting-showdan,\n .dplayer.dplayer-no-danmaku .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box .dplayer-setting-danmaku,\n .dplayer.dplayer-no-danmaku .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box .dplayer-setting-danunlimit {\n display: none; }\n .dplayer.dplayer-no-danmaku .dplayer-controller .dplayer-icons .dplayer-comment {\n display: none; }\n .dplayer.dplayer-no-danmaku .dplayer-danmaku {\n display: none; }\n .dplayer.dplayer-playing .dplayer-danmaku .dplayer-danmaku-move {\n -webkit-animation-play-state: running !important;\n animation-play-state: running !important; }\n @media (min-width: 900px) {\n .dplayer.dplayer-playing .dplayer-controller-mask {\n opacity: 0; }\n .dplayer.dplayer-playing .dplayer-controller {\n opacity: 0; }\n .dplayer.dplayer-playing:hover .dplayer-controller-mask {\n opacity: 1; }\n .dplayer.dplayer-playing:hover .dplayer-controller {\n opacity: 1; } }\n .dplayer.dplayer-loading .dplayer-bezel .diplayer-loading-icon {\n display: block; }\n .dplayer.dplayer-loading .dplayer-danmaku .dplayer-danmaku-move {\n -webkit-animation-play-state: paused !important;\n animation-play-state: paused !important; }\n .dplayer.dplayer-hide-controller {\n cursor: none; }\n .dplayer.dplayer-hide-controller .dplayer-controller-mask {\n opacity: 0;\n -webkit-transform: translateY(100%);\n transform: translateY(100%); }\n .dplayer.dplayer-hide-controller .dplayer-controller {\n opacity: 0;\n -webkit-transform: translateY(100%);\n transform: translateY(100%); }\n .dplayer.dplayer-show-controller .dplayer-controller-mask {\n opacity: 1; }\n .dplayer.dplayer-show-controller .dplayer-controller {\n opacity: 1; }\n .dplayer.dplayer-fulled {\n position: fixed;\n z-index: 100000;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%; }\n .dplayer.dplayer-mobile .dplayer-volume,\n .dplayer.dplayer-mobile .dplayer-camera-icon {\n display: none !important; }\n .dplayer.dplayer-mobile .dplayer-full-in-icon {\n position: static !important;\n display: inline-block !important; }\n .dplayer.dplayer-mobile .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box .dplayer-comment-input {\n width: 200px; }\n .dplayer.dplayer-mobile .dplayer-comment-setting-title {\n display: none; }\n .dplayer.dplayer-mobile .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box .dplayer-comment-setting-box {\n left: 17px; }\n .dplayer.dplayer-mobile .dplayer-controller .dplayer-icons .dplayer-icon {\n width: 40px; }\n .dplayer .dplayer-mask {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n z-index: 1;\n display: none; }\n .dplayer .dplayer-mask.dplayer-mask-show {\n display: block; }\n .dplayer .dplayer-video-wrap {\n position: relative;\n background: #000;\n font-size: 0;\n width: 100%;\n height: 100%; }\n .dplayer .dplayer-video-wrap .dplayer-video {\n width: 100%;\n height: 100%;\n display: none; }\n .dplayer .dplayer-video-wrap .dplayer-video-current {\n display: block; }\n .dplayer .dplayer-video-wrap .dplayer-video-prepare {\n display: none; }\n .dplayer .dplayer-danmaku {\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n font-size: 22px;\n color: #fff; }\n .dplayer .dplayer-danmaku .dplayer-danmaku-item {\n display: inline-block;\n pointer-events: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n cursor: default;\n white-space: nowrap;\n text-shadow: 0.5px 0.5px 0.5px rgba(0, 0, 0, 0.5); }\n .dplayer .dplayer-danmaku .dplayer-danmaku-item--demo {\n position: absolute;\n visibility: hidden; }\n .dplayer .dplayer-danmaku .dplayer-danmaku-right {\n position: absolute;\n right: 0;\n -webkit-transform: translateX(100%);\n transform: translateX(100%); }\n .dplayer .dplayer-danmaku .dplayer-danmaku-right.dplayer-danmaku-move {\n will-change: transform;\n -webkit-animation: danmaku 5s linear;\n animation: danmaku 5s linear;\n -webkit-animation-play-state: paused;\n animation-play-state: paused; }\n\n@-webkit-keyframes danmaku {\n from {\n -webkit-transform: translateX(100%);\n transform: translateX(100%); } }\n\n@keyframes danmaku {\n from {\n -webkit-transform: translateX(100%);\n transform: translateX(100%); } }\n .dplayer .dplayer-danmaku .dplayer-danmaku-top,\n .dplayer .dplayer-danmaku .dplayer-danmaku-bottom {\n position: absolute;\n width: 100%;\n text-align: center;\n visibility: hidden; }\n .dplayer .dplayer-danmaku .dplayer-danmaku-top.dplayer-danmaku-move,\n .dplayer .dplayer-danmaku .dplayer-danmaku-bottom.dplayer-danmaku-move {\n will-change: visibility;\n -webkit-animation: danmaku-center 4s linear;\n animation: danmaku-center 4s linear;\n -webkit-animation-play-state: paused;\n animation-play-state: paused; }\n\n@-webkit-keyframes danmaku-center {\n from {\n visibility: visible; }\n to {\n visibility: visible; } }\n\n@keyframes danmaku-center {\n from {\n visibility: visible; }\n to {\n visibility: visible; } }\n .dplayer .dplayer-bezel {\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n font-size: 22px;\n color: #fff;\n pointer-events: none; }\n .dplayer .dplayer-bezel .dplayer-fill {\n fill: rgba(255, 255, 255, 0.8); }\n .dplayer .dplayer-bezel .dplayer-bezel-icon {\n position: absolute;\n top: 50%;\n left: 50%;\n margin: -26px 0 0 -26px;\n height: 52px;\n width: 52px;\n padding: 12px;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n background: rgba(0, 0, 0, 0.5);\n border-radius: 50%;\n opacity: 0;\n pointer-events: none; }\n .dplayer .dplayer-bezel .dplayer-bezel-icon.dplayer-bezel-transition {\n -webkit-animation: bezel-hide .5s linear;\n animation: bezel-hide .5s linear; }\n\n@-webkit-keyframes bezel-hide {\n from {\n opacity: 1;\n -webkit-transform: scale(1);\n transform: scale(1); }\n to {\n opacity: 0;\n -webkit-transform: scale(2);\n transform: scale(2); } }\n\n@keyframes bezel-hide {\n from {\n opacity: 1;\n -webkit-transform: scale(1);\n transform: scale(1); }\n to {\n opacity: 0;\n -webkit-transform: scale(2);\n transform: scale(2); } }\n .dplayer .dplayer-bezel .dplayer-danloading {\n position: absolute;\n top: 50%;\n margin-top: -7px;\n width: 100%;\n text-align: center;\n font-size: 14px;\n line-height: 14px;\n -webkit-animation: my-face 5s infinite ease-in-out;\n animation: my-face 5s infinite ease-in-out; }\n .dplayer .dplayer-bezel .diplayer-loading-icon {\n display: none;\n position: absolute;\n top: 50%;\n left: 50%;\n margin: -18px 0 0 -18px;\n height: 36px;\n width: 36px;\n pointer-events: none; }\n .dplayer .dplayer-bezel .diplayer-loading-icon .diplayer-loading-hide {\n display: none; }\n .dplayer .dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot {\n -webkit-animation: diplayer-loading-dot-fade .8s ease infinite;\n animation: diplayer-loading-dot-fade .8s ease infinite;\n opacity: 0;\n fill: #fff;\n -webkit-transform-origin: 4px 4px;\n transform-origin: 4px 4px; }\n .dplayer .dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-7 {\n -webkit-animation-delay: 0.7s;\n animation-delay: 0.7s; }\n .dplayer .dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-6 {\n -webkit-animation-delay: 0.6s;\n animation-delay: 0.6s; }\n .dplayer .dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-5 {\n -webkit-animation-delay: 0.5s;\n animation-delay: 0.5s; }\n .dplayer .dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-4 {\n -webkit-animation-delay: 0.4s;\n animation-delay: 0.4s; }\n .dplayer .dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-3 {\n -webkit-animation-delay: 0.3s;\n animation-delay: 0.3s; }\n .dplayer .dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-2 {\n -webkit-animation-delay: 0.2s;\n animation-delay: 0.2s; }\n .dplayer .dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-1 {\n -webkit-animation-delay: 0.1s;\n animation-delay: 0.1s; }\n\n@-webkit-keyframes diplayer-loading-dot-fade {\n 0% {\n opacity: .7;\n -webkit-transform: scale(1.2, 1.2);\n transform: scale(1.2, 1.2); }\n 50% {\n opacity: .25;\n -webkit-transform: scale(0.9, 0.9);\n transform: scale(0.9, 0.9); }\n to {\n opacity: .25;\n -webkit-transform: scale(0.85, 0.85);\n transform: scale(0.85, 0.85); } }\n\n@keyframes diplayer-loading-dot-fade {\n 0% {\n opacity: .7;\n -webkit-transform: scale(1.2, 1.2);\n transform: scale(1.2, 1.2); }\n 50% {\n opacity: .25;\n -webkit-transform: scale(0.9, 0.9);\n transform: scale(0.9, 0.9); }\n to {\n opacity: .25;\n -webkit-transform: scale(0.85, 0.85);\n transform: scale(0.85, 0.85); } }\n .dplayer .dplayer-controller-mask {\n background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAADGCAYAAAAT+OqFAAAAdklEQVQoz42QQQ7AIAgEF/T/D+kbq/RWAlnQyyazA4aoAB4FsBSA/bFjuF1EOL7VbrIrBuusmrt4ZZORfb6ehbWdnRHEIiITaEUKa5EJqUakRSaEYBJSCY2dEstQY7AuxahwXFrvZmWl2rh4JZ07z9dLtesfNj5q0FU3A5ObbwAAAABJRU5ErkJggg==) repeat-x bottom;\n height: 98px;\n width: 100%;\n position: absolute;\n bottom: 0;\n -webkit-transition: all 0.3s ease;\n transition: all 0.3s ease; }\n .dplayer .dplayer-controller {\n position: absolute;\n bottom: 0;\n left: 0;\n right: 0;\n height: 41px;\n padding: 0 20px;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n -webkit-transition: all 0.3s ease;\n transition: all 0.3s ease; }\n .dplayer .dplayer-controller .dplayer-bar-wrap {\n padding: 5px 0;\n cursor: pointer;\n position: absolute;\n bottom: 33px;\n width: calc(100% - 40px);\n height: 3px; }\n .dplayer .dplayer-controller .dplayer-bar-wrap:hover .dplayer-thumb {\n -webkit-transform: scale(1) !important;\n transform: scale(1) !important; }\n .dplayer .dplayer-controller .dplayer-bar-wrap .dplayer-bar-preview {\n position: absolute;\n background: #fff;\n pointer-events: none;\n display: none;\n background-size: auto 100%; }\n .dplayer .dplayer-controller .dplayer-bar-wrap .dplayer-bar-preview-canvas {\n position: absolute;\n width: 100%;\n height: 100%;\n z-index: 1;\n pointer-events: none; }\n .dplayer .dplayer-controller .dplayer-bar-wrap .dplayer-bar-time {\n position: absolute;\n left: 0px;\n top: -20px;\n width: 30px;\n border-radius: 4px;\n padding: 5px 7px;\n background-color: rgba(0, 0, 0, 0.62);\n color: #fff;\n font-size: 12px;\n text-align: center;\n opacity: 1;\n -webkit-transition: opacity .1s ease-in-out;\n transition: opacity .1s ease-in-out;\n word-wrap: normal;\n word-break: normal;\n z-index: 2;\n pointer-events: none; }\n .dplayer .dplayer-controller .dplayer-bar-wrap .dplayer-bar-time.hidden {\n opacity: 0; }\n .dplayer .dplayer-controller .dplayer-bar-wrap .dplayer-bar {\n position: relative;\n height: 3px;\n width: 100%;\n background: rgba(255, 255, 255, 0.2);\n cursor: pointer !important; }\n .dplayer .dplayer-controller .dplayer-bar-wrap .dplayer-bar .dplayer-loaded {\n position: absolute;\n left: 0;\n top: 0;\n bottom: 0;\n background: rgba(255, 255, 255, 0.4);\n height: 3px;\n -webkit-transition: all 0.5s ease;\n transition: all 0.5s ease;\n will-change: width; }\n .dplayer .dplayer-controller .dplayer-bar-wrap .dplayer-bar .dplayer-played {\n position: absolute;\n left: 0;\n top: 0;\n bottom: 0;\n height: 3px;\n will-change: width; }\n .dplayer .dplayer-controller .dplayer-bar-wrap .dplayer-bar .dplayer-played .dplayer-thumb {\n position: absolute;\n top: 0;\n right: 5px;\n margin-top: -4px;\n margin-right: -10px;\n height: 11px;\n width: 11px;\n border-radius: 50%;\n cursor: pointer !important;\n -webkit-transition: all .3s ease-in-out;\n transition: all .3s ease-in-out;\n -webkit-transform: scale(0);\n transform: scale(0); }\n .dplayer .dplayer-controller .dplayer-icons {\n height: 38px;\n position: absolute;\n bottom: 0; }\n .dplayer .dplayer-controller .dplayer-icons.dplayer-icons-left .dplayer-icon {\n padding: 7px; }\n .dplayer .dplayer-controller .dplayer-icons.dplayer-icons-right {\n right: 20px; }\n .dplayer .dplayer-controller .dplayer-icons.dplayer-icons-right .dplayer-icon {\n padding: 8px; }\n .dplayer .dplayer-controller .dplayer-icons #dplayer-menu {\n stroke: #ddd;\n stroke-width: 1px; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-time {\n line-height: 38px;\n color: #eee;\n text-shadow: 0 0 2px rgba(0, 0, 0, 0.5);\n vertical-align: middle;\n font-size: 13px;\n cursor: default; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-icon {\n width: 40px;\n height: 100%;\n border: none;\n background-color: transparent;\n outline: none;\n cursor: pointer;\n vertical-align: middle;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n display: inline-block; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-icon .dplayer-icon-content {\n -webkit-transition: all .2s ease-in-out;\n transition: all .2s ease-in-out;\n opacity: .8; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-icon:hover .dplayer-icon-content {\n opacity: 1; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-icon.dplayer-quality-icon {\n color: #fff;\n width: auto;\n line-height: 22px;\n font-size: 14px; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-icon.dplayer-comment-icon {\n padding: 10px 9px 9px; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-icon.dplayer-setting-icon {\n padding-top: 8.5px; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-icon.dplayer-volume-icon {\n width: 43px; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-fill {\n fill: #fff; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-volume {\n position: relative;\n display: inline-block;\n cursor: pointer !important;\n height: 100%; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-volume:hover .dplayer-volume-bar {\n width: 45px !important; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-volume:hover .dplayer-thumb {\n -webkit-transform: scale(1) !important;\n transform: scale(1) !important; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-volume.dplayer-volume-active .dplayer-volume-bar {\n width: 45px !important; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-volume.dplayer-volume-active .dplayer-thumb {\n -webkit-transform: scale(1) !important;\n transform: scale(1) !important; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-volume .dplayer-volume-bar-wrap {\n display: inline-block;\n margin: 0 5px 0 -5px;\n vertical-align: middle;\n height: 100%; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-volume .dplayer-volume-bar-wrap .dplayer-volume-bar {\n position: relative;\n top: 17px;\n width: 0;\n height: 3px;\n background: #aaa;\n -webkit-transition: all 0.3s ease-in-out;\n transition: all 0.3s ease-in-out; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-volume .dplayer-volume-bar-wrap .dplayer-volume-bar .dplayer-volume-bar-inner {\n position: absolute;\n bottom: 0;\n left: 0;\n height: 100%;\n -webkit-transition: all 0.1s ease;\n transition: all 0.1s ease;\n will-change: width; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-volume .dplayer-volume-bar-wrap .dplayer-volume-bar .dplayer-volume-bar-inner .dplayer-thumb {\n position: absolute;\n top: 0;\n right: 5px;\n margin-top: -4px;\n margin-right: -10px;\n height: 11px;\n width: 11px;\n border-radius: 50%;\n cursor: pointer !important;\n -webkit-transition: all .3s ease-in-out;\n transition: all .3s ease-in-out;\n -webkit-transform: scale(0);\n transform: scale(0); }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-setting {\n display: inline-block;\n height: 100%; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box {\n position: absolute;\n right: 0;\n bottom: 50px;\n -webkit-transform: translateX(170px);\n transform: translateX(170px);\n width: 150px;\n border-radius: 2px;\n background: rgba(28, 28, 28, 0.9);\n padding: 7px 0;\n -webkit-transition: all .3s ease-in-out;\n transition: all .3s ease-in-out;\n overflow: hidden;\n z-index: 2; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box.dplayer-setting-box-open {\n -webkit-transform: translateX(0);\n transform: translateX(0); }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box.dplayer-setting-box-narrow {\n width: 70px;\n height: 180px;\n text-align: center; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-item,\n .dplayer .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-speed-item {\n height: 30px;\n padding: 5px 10px;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n cursor: pointer;\n position: relative; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-item:hover,\n .dplayer .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-speed-item:hover {\n background-color: rgba(255, 255, 255, 0.1); }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku {\n padding: 5px 0; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku .dplayer-label {\n padding: 0 10px;\n display: inline; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku:hover .dplayer-label {\n display: none; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku:hover .dplayer-danmaku-bar-wrap {\n display: inline-block; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku.dplayer-setting-danmaku-active .dplayer-label {\n display: none; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku.dplayer-setting-danmaku-active .dplayer-danmaku-bar-wrap {\n display: inline-block; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku .dplayer-danmaku-bar-wrap {\n padding: 0 10px;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n display: none;\n vertical-align: middle;\n height: 100%;\n width: 100%; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku .dplayer-danmaku-bar-wrap .dplayer-danmaku-bar {\n position: relative;\n top: 8.5px;\n width: 100%;\n height: 3px;\n background: #fff;\n -webkit-transition: all 0.3s ease-in-out;\n transition: all 0.3s ease-in-out; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku .dplayer-danmaku-bar-wrap .dplayer-danmaku-bar .dplayer-danmaku-bar-inner {\n position: absolute;\n bottom: 0;\n left: 0;\n height: 100%;\n -webkit-transition: all 0.1s ease;\n transition: all 0.1s ease;\n background: #aaa;\n will-change: width; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku .dplayer-danmaku-bar-wrap .dplayer-danmaku-bar .dplayer-danmaku-bar-inner .dplayer-thumb {\n position: absolute;\n top: 0;\n right: 5px;\n margin-top: -4px;\n margin-right: -10px;\n height: 11px;\n width: 11px;\n border-radius: 50%;\n cursor: pointer !important;\n -webkit-transition: all .3s ease-in-out;\n transition: all .3s ease-in-out;\n background: #aaa; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-full {\n display: inline-block;\n height: 100%;\n position: relative; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-full:hover .dplayer-full-in-icon {\n display: block; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-full .dplayer-full-in-icon {\n position: absolute;\n top: -30px;\n z-index: 1;\n display: none; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-quality {\n position: relative;\n display: inline-block;\n height: 100%;\n z-index: 2; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-quality:hover .dplayer-quality-list {\n display: block; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-quality:hover .dplayer-quality-mask {\n display: block; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-quality .dplayer-quality-mask {\n display: none;\n position: absolute;\n bottom: 38px;\n left: -18px;\n width: 80px;\n padding-bottom: 12px; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-quality .dplayer-quality-list {\n display: none;\n font-size: 12px;\n width: 80px;\n border-radius: 2px;\n background: rgba(28, 28, 28, 0.9);\n padding: 5px 0;\n -webkit-transition: all .3s ease-in-out;\n transition: all .3s ease-in-out;\n overflow: hidden;\n color: #fff;\n text-align: center; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-quality .dplayer-quality-item {\n height: 25px;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n cursor: pointer;\n line-height: 25px; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-quality .dplayer-quality-item:hover {\n background-color: rgba(255, 255, 255, 0.1); }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-comment {\n display: inline-block;\n height: 100%; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box {\n position: absolute;\n right: 0;\n bottom: 50px;\n -webkit-transform: translateX(382px);\n transform: translateX(382px);\n border-radius: 2px;\n -webkit-transition: all .3s ease-in-out;\n transition: all .3s ease-in-out;\n z-index: 2; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box.dplayer-comment-box-open {\n -webkit-transform: translateX(0);\n transform: translateX(0); }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box .dplayer-comment-setting-icon {\n height: 24px;\n width: 24px;\n position: absolute;\n top: 5px;\n left: 7px;\n padding: 0;\n opacity: 1; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box .dplayer-comment-setting-icon:hover .dplayer-fill {\n fill: #aaa; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box .dplayer-comment-setting-icon .dplayer-fill {\n -webkit-transition: all .2s ease-in-out;\n transition: all .2s ease-in-out;\n fill: #ddd; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box .dplayer-comment-setting-box {\n position: absolute;\n background: #fff;\n bottom: 40px;\n left: -93px;\n -webkit-box-shadow: 0 0 25px rgba(0, 0, 0, 0.3);\n box-shadow: 0 0 25px rgba(0, 0, 0, 0.3);\n border-radius: 4px;\n padding: 10px 10px 16px;\n font-size: 14px;\n width: 204px;\n -webkit-transition: all .3s ease-in-out;\n transition: all .3s ease-in-out;\n -webkit-transform: scale(0);\n transform: scale(0); }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box .dplayer-comment-setting-box.dplayer-comment-setting-open {\n -webkit-transform: scale(1);\n transform: scale(1); }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box .dplayer-comment-setting-box::after {\n content: '';\n position: absolute;\n top: 100%;\n left: 50%;\n margin-left: -12px;\n background: url('data:image/svg+xml;utf8,');\n width: 24px;\n height: 12px; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box .dplayer-comment-setting-box input[type=radio] {\n display: none; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box .dplayer-comment-setting-box label {\n cursor: pointer; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-title {\n font-size: 14px;\n color: #555;\n padding: 6px; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-type {\n font-size: 0; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-type label:nth-child(2) span {\n border-radius: 4px 0 0 4px; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-type label:nth-child(4) span {\n border-radius: 0 4px 4px 0; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-type span {\n width: 33%;\n padding: 4px 6px;\n line-height: 16px;\n display: inline-block;\n font-size: 12px;\n color: #555;\n border: 1px solid #E4E4E6;\n margin-right: -1px;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n text-align: center;\n cursor: pointer; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-type input:checked + span {\n background: #E4E4E6; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-color {\n font-size: 0; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-color label {\n font-size: 0;\n padding: 6px;\n display: inline-block; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-color span {\n width: 22px;\n height: 22px;\n display: inline-block;\n border-radius: 50%;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n cursor: pointer; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-color span:hover {\n -webkit-animation: my-face 5s infinite ease-in-out;\n animation: my-face 5s infinite ease-in-out;\n -webkit-box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12);\n box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12); }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-color input:checked + span {\n -webkit-box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12);\n box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12);\n border: none !important; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box .dplayer-comment-input {\n outline: none;\n border: none;\n padding: 8px 31px;\n font-size: 14px;\n line-height: 18px;\n text-align: center;\n border-radius: 4px;\n width: 300px;\n background: #fff;\n margin: 0;\n height: auto; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box .dplayer-send-icon {\n height: 22px;\n width: 22px;\n position: absolute;\n top: 6px;\n right: 7px;\n padding: 0;\n opacity: 1; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box .dplayer-send-icon:hover .dplayer-fill {\n fill: #aaa; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box .dplayer-send-icon .dplayer-fill {\n -webkit-transition: all .2s ease-in-out;\n transition: all .2s ease-in-out;\n fill: #ddd; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-label {\n color: #eee;\n font-size: 13px;\n display: inline-block;\n vertical-align: middle;\n white-space: nowrap; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-toggle {\n width: 32px;\n height: 20px;\n text-align: center;\n font-size: 0;\n vertical-align: middle;\n position: absolute;\n top: 5px;\n right: 10px; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-toggle input {\n max-height: 0;\n max-width: 0;\n display: none; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-toggle input + label {\n display: inline-block;\n position: relative;\n -webkit-box-shadow: #dfdfdf 0 0 0 0 inset;\n box-shadow: #dfdfdf 0 0 0 0 inset;\n border: 1px solid #dfdfdf;\n height: 20px;\n width: 32px;\n border-radius: 10px;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n cursor: pointer;\n -webkit-transition: .2s ease-in-out;\n transition: .2s ease-in-out; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-toggle input + label:before {\n content: \"\";\n position: absolute;\n display: block;\n height: 18px;\n width: 18px;\n top: 0;\n left: 0;\n border-radius: 15px;\n -webkit-transition: .2s ease-in-out;\n transition: .2s ease-in-out; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-toggle input + label:after {\n content: \"\";\n position: absolute;\n display: block;\n left: 0;\n top: 0;\n border-radius: 15px;\n background: #fff;\n -webkit-transition: .2s ease-in-out;\n transition: .2s ease-in-out;\n -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.4);\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.4);\n height: 18px;\n width: 18px; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-toggle input:checked + label {\n border-color: rgba(255, 255, 255, 0.5); }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-toggle input:checked + label:before {\n width: 30px;\n background: rgba(255, 255, 255, 0.5); }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-toggle input:checked + label:after {\n left: 12px; }\n .dplayer .dplayer-menu {\n position: absolute;\n width: 170px;\n border-radius: 2px;\n background: rgba(28, 28, 28, 0.85);\n padding: 5px 0;\n overflow: hidden;\n z-index: 3;\n display: none; }\n .dplayer .dplayer-menu.dplayer-menu-show {\n display: block; }\n .dplayer .dplayer-menu .dplayer-menu-item {\n height: 30px;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n cursor: pointer; }\n .dplayer .dplayer-menu .dplayer-menu-item:hover {\n background-color: rgba(255, 255, 255, 0.1); }\n .dplayer .dplayer-menu .dplayer-menu-item a {\n display: inline-block;\n padding: 0 10px;\n line-height: 30px;\n color: #eee;\n font-size: 13px;\n display: inline-block;\n vertical-align: middle;\n width: 100%;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden; }\n .dplayer .dplayer-menu .dplayer-menu-item a:hover {\n text-decoration: none; }\n .dplayer .dplayer-logo {\n pointer-events: none;\n position: absolute;\n left: 20px;\n top: 20px;\n max-width: 50px;\n max-height: 50px; }\n .dplayer .dplayer-logo img {\n max-width: 100%;\n max-height: 100%;\n background: none; }\n .dplayer .dplayer-notice {\n opacity: 0;\n position: absolute;\n bottom: 60px;\n left: 20px;\n font-size: 14px;\n border-radius: 2px;\n background: rgba(28, 28, 28, 0.9);\n padding: 7px 20px;\n -webkit-transition: all .3s ease-in-out;\n transition: all .3s ease-in-out;\n overflow: hidden;\n color: #fff;\n pointer-events: none; }\n\n@-webkit-keyframes my-face {\n 2% {\n -webkit-transform: translate(0, 1.5px) rotate(1.5deg);\n transform: translate(0, 1.5px) rotate(1.5deg); }\n 4% {\n -webkit-transform: translate(0, -1.5px) rotate(-0.5deg);\n transform: translate(0, -1.5px) rotate(-0.5deg); }\n 6% {\n -webkit-transform: translate(0, 1.5px) rotate(-1.5deg);\n transform: translate(0, 1.5px) rotate(-1.5deg); }\n 8% {\n -webkit-transform: translate(0, -1.5px) rotate(-1.5deg);\n transform: translate(0, -1.5px) rotate(-1.5deg); }\n 10% {\n -webkit-transform: translate(0, 2.5px) rotate(1.5deg);\n transform: translate(0, 2.5px) rotate(1.5deg); }\n 12% {\n -webkit-transform: translate(0, -0.5px) rotate(1.5deg);\n transform: translate(0, -0.5px) rotate(1.5deg); }\n 14% {\n -webkit-transform: translate(0, -1.5px) rotate(1.5deg);\n transform: translate(0, -1.5px) rotate(1.5deg); }\n 16% {\n -webkit-transform: translate(0, -0.5px) rotate(-1.5deg);\n transform: translate(0, -0.5px) rotate(-1.5deg); }\n 18% {\n -webkit-transform: translate(0, 0.5px) rotate(-1.5deg);\n transform: translate(0, 0.5px) rotate(-1.5deg); }\n 20% {\n -webkit-transform: translate(0, -1.5px) rotate(2.5deg);\n transform: translate(0, -1.5px) rotate(2.5deg); }\n 22% {\n -webkit-transform: translate(0, 0.5px) rotate(-1.5deg);\n transform: translate(0, 0.5px) rotate(-1.5deg); }\n 24% {\n -webkit-transform: translate(0, 1.5px) rotate(1.5deg);\n transform: translate(0, 1.5px) rotate(1.5deg); }\n 26% {\n -webkit-transform: translate(0, 0.5px) rotate(0.5deg);\n transform: translate(0, 0.5px) rotate(0.5deg); }\n 28% {\n -webkit-transform: translate(0, 0.5px) rotate(1.5deg);\n transform: translate(0, 0.5px) rotate(1.5deg); }\n 30% {\n -webkit-transform: translate(0, -0.5px) rotate(2.5deg);\n transform: translate(0, -0.5px) rotate(2.5deg); }\n 32% {\n -webkit-transform: translate(0, 1.5px) rotate(-0.5deg);\n transform: translate(0, 1.5px) rotate(-0.5deg); }\n 34% {\n -webkit-transform: translate(0, 1.5px) rotate(-0.5deg);\n transform: translate(0, 1.5px) rotate(-0.5deg); }\n 36% {\n -webkit-transform: translate(0, -1.5px) rotate(2.5deg);\n transform: translate(0, -1.5px) rotate(2.5deg); }\n 38% {\n -webkit-transform: translate(0, 1.5px) rotate(-1.5deg);\n transform: translate(0, 1.5px) rotate(-1.5deg); }\n 40% {\n -webkit-transform: translate(0, -0.5px) rotate(2.5deg);\n transform: translate(0, -0.5px) rotate(2.5deg); }\n 42% {\n -webkit-transform: translate(0, 2.5px) rotate(-1.5deg);\n transform: translate(0, 2.5px) rotate(-1.5deg); }\n 44% {\n -webkit-transform: translate(0, 1.5px) rotate(0.5deg);\n transform: translate(0, 1.5px) rotate(0.5deg); }\n 46% {\n -webkit-transform: translate(0, -1.5px) rotate(2.5deg);\n transform: translate(0, -1.5px) rotate(2.5deg); }\n 48% {\n -webkit-transform: translate(0, -0.5px) rotate(0.5deg);\n transform: translate(0, -0.5px) rotate(0.5deg); }\n 50% {\n -webkit-transform: translate(0, 0.5px) rotate(0.5deg);\n transform: translate(0, 0.5px) rotate(0.5deg); }\n 52% {\n -webkit-transform: translate(0, 2.5px) rotate(2.5deg);\n transform: translate(0, 2.5px) rotate(2.5deg); }\n 54% {\n -webkit-transform: translate(0, -1.5px) rotate(1.5deg);\n transform: translate(0, -1.5px) rotate(1.5deg); }\n 56% {\n -webkit-transform: translate(0, 2.5px) rotate(2.5deg);\n transform: translate(0, 2.5px) rotate(2.5deg); }\n 58% {\n -webkit-transform: translate(0, 0.5px) rotate(2.5deg);\n transform: translate(0, 0.5px) rotate(2.5deg); }\n 60% {\n -webkit-transform: translate(0, 2.5px) rotate(2.5deg);\n transform: translate(0, 2.5px) rotate(2.5deg); }\n 62% {\n -webkit-transform: translate(0, -0.5px) rotate(2.5deg);\n transform: translate(0, -0.5px) rotate(2.5deg); }\n 64% {\n -webkit-transform: translate(0, -0.5px) rotate(1.5deg);\n transform: translate(0, -0.5px) rotate(1.5deg); }\n 66% {\n -webkit-transform: translate(0, 1.5px) rotate(-0.5deg);\n transform: translate(0, 1.5px) rotate(-0.5deg); }\n 68% {\n -webkit-transform: translate(0, -1.5px) rotate(-0.5deg);\n transform: translate(0, -1.5px) rotate(-0.5deg); }\n 70% {\n -webkit-transform: translate(0, 1.5px) rotate(0.5deg);\n transform: translate(0, 1.5px) rotate(0.5deg); }\n 72% {\n -webkit-transform: translate(0, 2.5px) rotate(1.5deg);\n transform: translate(0, 2.5px) rotate(1.5deg); }\n 74% {\n -webkit-transform: translate(0, -0.5px) rotate(0.5deg);\n transform: translate(0, -0.5px) rotate(0.5deg); }\n 76% {\n -webkit-transform: translate(0, -0.5px) rotate(2.5deg);\n transform: translate(0, -0.5px) rotate(2.5deg); }\n 78% {\n -webkit-transform: translate(0, -0.5px) rotate(1.5deg);\n transform: translate(0, -0.5px) rotate(1.5deg); }\n 80% {\n -webkit-transform: translate(0, 1.5px) rotate(1.5deg);\n transform: translate(0, 1.5px) rotate(1.5deg); }\n 82% {\n -webkit-transform: translate(0, -0.5px) rotate(0.5deg);\n transform: translate(0, -0.5px) rotate(0.5deg); }\n 84% {\n -webkit-transform: translate(0, 1.5px) rotate(2.5deg);\n transform: translate(0, 1.5px) rotate(2.5deg); }\n 86% {\n -webkit-transform: translate(0, -1.5px) rotate(-1.5deg);\n transform: translate(0, -1.5px) rotate(-1.5deg); }\n 88% {\n -webkit-transform: translate(0, -0.5px) rotate(2.5deg);\n transform: translate(0, -0.5px) rotate(2.5deg); }\n 90% {\n -webkit-transform: translate(0, 2.5px) rotate(-0.5deg);\n transform: translate(0, 2.5px) rotate(-0.5deg); }\n 92% {\n -webkit-transform: translate(0, 0.5px) rotate(-0.5deg);\n transform: translate(0, 0.5px) rotate(-0.5deg); }\n 94% {\n -webkit-transform: translate(0, 2.5px) rotate(0.5deg);\n transform: translate(0, 2.5px) rotate(0.5deg); }\n 96% {\n -webkit-transform: translate(0, -0.5px) rotate(1.5deg);\n transform: translate(0, -0.5px) rotate(1.5deg); }\n 98% {\n -webkit-transform: translate(0, -1.5px) rotate(-0.5deg);\n transform: translate(0, -1.5px) rotate(-0.5deg); }\n 0%, 100% {\n -webkit-transform: translate(0, 0) rotate(0deg);\n transform: translate(0, 0) rotate(0deg); } }\n\n@keyframes my-face {\n 2% {\n -webkit-transform: translate(0, 1.5px) rotate(1.5deg);\n transform: translate(0, 1.5px) rotate(1.5deg); }\n 4% {\n -webkit-transform: translate(0, -1.5px) rotate(-0.5deg);\n transform: translate(0, -1.5px) rotate(-0.5deg); }\n 6% {\n -webkit-transform: translate(0, 1.5px) rotate(-1.5deg);\n transform: translate(0, 1.5px) rotate(-1.5deg); }\n 8% {\n -webkit-transform: translate(0, -1.5px) rotate(-1.5deg);\n transform: translate(0, -1.5px) rotate(-1.5deg); }\n 10% {\n -webkit-transform: translate(0, 2.5px) rotate(1.5deg);\n transform: translate(0, 2.5px) rotate(1.5deg); }\n 12% {\n -webkit-transform: translate(0, -0.5px) rotate(1.5deg);\n transform: translate(0, -0.5px) rotate(1.5deg); }\n 14% {\n -webkit-transform: translate(0, -1.5px) rotate(1.5deg);\n transform: translate(0, -1.5px) rotate(1.5deg); }\n 16% {\n -webkit-transform: translate(0, -0.5px) rotate(-1.5deg);\n transform: translate(0, -0.5px) rotate(-1.5deg); }\n 18% {\n -webkit-transform: translate(0, 0.5px) rotate(-1.5deg);\n transform: translate(0, 0.5px) rotate(-1.5deg); }\n 20% {\n -webkit-transform: translate(0, -1.5px) rotate(2.5deg);\n transform: translate(0, -1.5px) rotate(2.5deg); }\n 22% {\n -webkit-transform: translate(0, 0.5px) rotate(-1.5deg);\n transform: translate(0, 0.5px) rotate(-1.5deg); }\n 24% {\n -webkit-transform: translate(0, 1.5px) rotate(1.5deg);\n transform: translate(0, 1.5px) rotate(1.5deg); }\n 26% {\n -webkit-transform: translate(0, 0.5px) rotate(0.5deg);\n transform: translate(0, 0.5px) rotate(0.5deg); }\n 28% {\n -webkit-transform: translate(0, 0.5px) rotate(1.5deg);\n transform: translate(0, 0.5px) rotate(1.5deg); }\n 30% {\n -webkit-transform: translate(0, -0.5px) rotate(2.5deg);\n transform: translate(0, -0.5px) rotate(2.5deg); }\n 32% {\n -webkit-transform: translate(0, 1.5px) rotate(-0.5deg);\n transform: translate(0, 1.5px) rotate(-0.5deg); }\n 34% {\n -webkit-transform: translate(0, 1.5px) rotate(-0.5deg);\n transform: translate(0, 1.5px) rotate(-0.5deg); }\n 36% {\n -webkit-transform: translate(0, -1.5px) rotate(2.5deg);\n transform: translate(0, -1.5px) rotate(2.5deg); }\n 38% {\n -webkit-transform: translate(0, 1.5px) rotate(-1.5deg);\n transform: translate(0, 1.5px) rotate(-1.5deg); }\n 40% {\n -webkit-transform: translate(0, -0.5px) rotate(2.5deg);\n transform: translate(0, -0.5px) rotate(2.5deg); }\n 42% {\n -webkit-transform: translate(0, 2.5px) rotate(-1.5deg);\n transform: translate(0, 2.5px) rotate(-1.5deg); }\n 44% {\n -webkit-transform: translate(0, 1.5px) rotate(0.5deg);\n transform: translate(0, 1.5px) rotate(0.5deg); }\n 46% {\n -webkit-transform: translate(0, -1.5px) rotate(2.5deg);\n transform: translate(0, -1.5px) rotate(2.5deg); }\n 48% {\n -webkit-transform: translate(0, -0.5px) rotate(0.5deg);\n transform: translate(0, -0.5px) rotate(0.5deg); }\n 50% {\n -webkit-transform: translate(0, 0.5px) rotate(0.5deg);\n transform: translate(0, 0.5px) rotate(0.5deg); }\n 52% {\n -webkit-transform: translate(0, 2.5px) rotate(2.5deg);\n transform: translate(0, 2.5px) rotate(2.5deg); }\n 54% {\n -webkit-transform: translate(0, -1.5px) rotate(1.5deg);\n transform: translate(0, -1.5px) rotate(1.5deg); }\n 56% {\n -webkit-transform: translate(0, 2.5px) rotate(2.5deg);\n transform: translate(0, 2.5px) rotate(2.5deg); }\n 58% {\n -webkit-transform: translate(0, 0.5px) rotate(2.5deg);\n transform: translate(0, 0.5px) rotate(2.5deg); }\n 60% {\n -webkit-transform: translate(0, 2.5px) rotate(2.5deg);\n transform: translate(0, 2.5px) rotate(2.5deg); }\n 62% {\n -webkit-transform: translate(0, -0.5px) rotate(2.5deg);\n transform: translate(0, -0.5px) rotate(2.5deg); }\n 64% {\n -webkit-transform: translate(0, -0.5px) rotate(1.5deg);\n transform: translate(0, -0.5px) rotate(1.5deg); }\n 66% {\n -webkit-transform: translate(0, 1.5px) rotate(-0.5deg);\n transform: translate(0, 1.5px) rotate(-0.5deg); }\n 68% {\n -webkit-transform: translate(0, -1.5px) rotate(-0.5deg);\n transform: translate(0, -1.5px) rotate(-0.5deg); }\n 70% {\n -webkit-transform: translate(0, 1.5px) rotate(0.5deg);\n transform: translate(0, 1.5px) rotate(0.5deg); }\n 72% {\n -webkit-transform: translate(0, 2.5px) rotate(1.5deg);\n transform: translate(0, 2.5px) rotate(1.5deg); }\n 74% {\n -webkit-transform: translate(0, -0.5px) rotate(0.5deg);\n transform: translate(0, -0.5px) rotate(0.5deg); }\n 76% {\n -webkit-transform: translate(0, -0.5px) rotate(2.5deg);\n transform: translate(0, -0.5px) rotate(2.5deg); }\n 78% {\n -webkit-transform: translate(0, -0.5px) rotate(1.5deg);\n transform: translate(0, -0.5px) rotate(1.5deg); }\n 80% {\n -webkit-transform: translate(0, 1.5px) rotate(1.5deg);\n transform: translate(0, 1.5px) rotate(1.5deg); }\n 82% {\n -webkit-transform: translate(0, -0.5px) rotate(0.5deg);\n transform: translate(0, -0.5px) rotate(0.5deg); }\n 84% {\n -webkit-transform: translate(0, 1.5px) rotate(2.5deg);\n transform: translate(0, 1.5px) rotate(2.5deg); }\n 86% {\n -webkit-transform: translate(0, -1.5px) rotate(-1.5deg);\n transform: translate(0, -1.5px) rotate(-1.5deg); }\n 88% {\n -webkit-transform: translate(0, -0.5px) rotate(2.5deg);\n transform: translate(0, -0.5px) rotate(2.5deg); }\n 90% {\n -webkit-transform: translate(0, 2.5px) rotate(-0.5deg);\n transform: translate(0, 2.5px) rotate(-0.5deg); }\n 92% {\n -webkit-transform: translate(0, 0.5px) rotate(-0.5deg);\n transform: translate(0, 0.5px) rotate(-0.5deg); }\n 94% {\n -webkit-transform: translate(0, 2.5px) rotate(0.5deg);\n transform: translate(0, 2.5px) rotate(0.5deg); }\n 96% {\n -webkit-transform: translate(0, -0.5px) rotate(1.5deg);\n transform: translate(0, -0.5px) rotate(1.5deg); }\n 98% {\n -webkit-transform: translate(0, -1.5px) rotate(-0.5deg);\n transform: translate(0, -1.5px) rotate(-0.5deg); }\n 0%, 100% {\n -webkit-transform: translate(0, 0) rotate(0deg);\n transform: translate(0, 0) rotate(0deg); } }\n\n[data-balloon]:before {\n display: none; }\n\n[data-balloon]:after {\n padding: 0.3em 0.7em;\n background: rgba(17, 17, 17, 0.7); }\n\n[data-balloon][data-balloon-pos=\"up\"]:after {\n margin-bottom: 0; }\n\n\n\n// WEBPACK FOOTER //\n// ./src/DPlayer.scss"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack:///./node_modules/balloon-css/balloon.css","webpack:///./src/DPlayer.scss"],"names":[],"mappings":"AAAA,qBACE,gBAAkB,CAEpB,eACE,kBACA,cAAgB,CAChB,qBASE,iCACA,0BACA,4BACA,2BACA,yBACA,4BACA,kBACA,WACA,2BACA,iBAEA,kBAAoB,CAEtB,2CArBE,wBACA,gEACA,eACA,iBACA,UACA,oBACA,0CACA,kCAWA,kBAEA,UAAY,CAgBE,sBAdd,uQACA,0BACA,WACA,WASA,UAAY,CAGd,8IACE,0BACA,kEACA,eACA,iBACA,UACA,mBAAqB,CACvB,kCACE,uBAAyB,CAC3B,yCACE,eAAiB,CACnB,mFACE,wBACA,eAAiB,CACnB,0CAGE,kBAAoB,CAKtB,qFAPE,YACA,SAEA,uCACA,+BACA,6BACA,oBAAsB,CAQE,2CAJxB,iBAAmB,CAQrB,kOACE,kCACA,yBAA8B,CAChC,+CAEE,OACA,kBAAoB,CAKtB,+FAPE,YAGA,mCACA,2BACA,6BACA,oBAAsB,CAQE,gDALxB,SACA,iBAAmB,CAQrB,sPACE,+BACA,sBAA2B,CAC7B,gDAEE,QACA,kBAAoB,CAKtB,iGAPE,YAGA,mCACA,2BACA,6BACA,oBAAsB,CAQE,iDALxB,UACA,iBAAmB,CAQrB,0PACE,+BACA,sBAA2B,CAC7B,4CAEE,eAAiB,CAInB,yFALE,SAEA,SACA,wCACA,+BAAkC,CAUE,6CARpC,yQACA,0BACA,WACA,WAEA,cAAgB,CAOlB,0OACE,kCACA,yBAA8B,CAChC,iDACE,OACA,gBACA,SACA,oCACA,2BAA+B,CACjC,kDACE,yQACA,0BACA,WACA,WACA,SACA,eACA,SACA,oCACA,2BAA+B,CAIjC,8PACE,+BACA,sBAA2B,CAC7B,kDACE,QACA,gBACA,SACA,oCACA,2BAA+B,CACjC,mDACE,yQACA,0BACA,WACA,WACA,UACA,eACA,SACA,oCACA,2BAA+B,CAIjC,kQACE,+BACA,sBAA2B,CAC7B,4CACE,kBACA,WACA,QACA,uCACA,8BAAiC,CACnC,6CACE,wQACA,0BACA,UACA,YACA,iBACA,WACA,QACA,uCACA,8BAAiC,CAInC,0OACE,mCACA,0BAA8B,CAChC,6CACE,UACA,iBACA,QACA,wCACA,+BAAkC,CACpC,8CACE,wQACA,0BACA,UACA,YACA,UACA,gBACA,QACA,wCACA,+BAAkC,CAIpC,8OACE,mCACA,0BAA8B,CAChC,gDACE,mBACA,UAAY,CACd,iDACE,mBACA,WAAa,CACf,gDACE,mBACA,WAAa,CACf,iDACE,mBACA,WAAa,CACb,oCACE,iDACE,mBACA,UAAY,CAAE,CACpB,8CACE,mBACA,UAAY,CC3PhB,SACE,kBACA,gBACA,yBACG,sBACC,qBACI,iBACR,aAAe,CACf,WACE,+BACQ,sBAAwB,CAClC,6BACE,WACA,YACA,gBACA,eACA,eACA,OACA,KAAO,CACP,mLAEE,2CACQ,mCACR,oCACQ,2BAA6B,CACvC,0FACE,oCACQ,4BACR,oCACQ,2BAA6B,CAOzC,0fACE,YAAc,CAChB,gEACE,+CACQ,sCAAyC,CACnD,yBAGE,+FACE,SAAW,CAGb,2GACE,SAAW,CAAE,CACjB,+DACE,aAAe,CACjB,gEACE,8CACQ,qCAAwC,CAClD,iCACE,WAAa,CAKb,+GACE,UACA,mCACQ,0BAA4B,CAGxC,+GACE,SAAW,CACb,wBACE,eACA,eACA,OACA,MACA,WACA,WAAa,CACf,qFAEE,sBAAyB,CAC3B,8CACE,0BACA,8BAAiC,CACnC,wHACE,WAAa,CACf,uDACE,YAAc,CAChB,8HACE,SAAW,CACb,yEACE,UAAY,CACd,uBACE,kBACA,MACA,SACA,OACA,QACA,UACA,YAAc,CACd,yCACE,aAAe,CACnB,6BACE,kBACA,gBACA,YACA,WACA,WAAa,CACb,4CACE,WACA,YACA,YAAc,CAChB,oDACE,aAAe,CACjB,oDACE,YAAc,CAClB,0BACE,kBACA,OACA,QACA,MACA,SACA,eACA,UAAY,CACZ,gDACE,qBACA,oBACA,yBACG,sBACC,qBACI,iBACR,eACA,mBACA,yCAAkD,CAClD,sDACE,kBACA,iBAAmB,CACvB,iDACE,kBACA,QACA,mCACQ,0BAA4B,CACpC,sEACE,sBACA,oCACQ,4BACR,oCACQ,2BAA6B,CAE7C,2BACE,GACE,mCACQ,0BAA4B,CAAE,CAE1C,mBACE,GACE,mCACQ,0BAA4B,CAAE,CACtC,iGAEE,kBACA,WACA,kBACA,iBAAmB,CACnB,2IAEE,uBACA,2CACQ,mCACR,oCACQ,2BAA6B,CAE7C,kCACE,GACE,kBAAoB,CACtB,GACE,kBAAoB,CAAE,CAE1B,0BACE,GACE,kBAAoB,CACtB,GACE,kBAAoB,CAAE,CACxB,2BACE,kBACA,YACA,UACA,QACA,kBACA,WACA,0CACA,cAAgB,CAClB,wBACE,kBACA,OACA,QACA,MACA,SACA,eACA,WACA,mBAAqB,CACrB,4CACE,kBACA,QACA,SACA,uBACA,YACA,WACA,aACA,8BACQ,sBACR,0BACA,kBACA,UACA,mBAAqB,CACrB,qEACE,wCACQ,+BAAiC,CAEjD,8BACE,GACE,UACA,2BACQ,kBAAoB,CAC9B,GACE,UACA,2BACQ,kBAAoB,CAAE,CAElC,sBACE,GACE,UACA,2BACQ,kBAAoB,CAC9B,GACE,UACA,2BACQ,kBAAoB,CAAE,CAC9B,4CACE,kBACA,QACA,gBACA,WACA,kBACA,eACA,iBACA,kDACQ,yCAA2C,CACrD,+CACE,aACA,kBACA,QACA,SACA,uBACA,YACA,WACA,mBAAqB,CACrB,sEACE,YAAc,CAChB,qEACE,8DACQ,sDACR,UACA,UACA,iCACQ,wBAA0B,CAClC,4FACE,4BACQ,mBAAsB,CAChC,4FACE,4BACQ,mBAAsB,CAChC,4FACE,4BACQ,mBAAsB,CAChC,4FACE,4BACQ,mBAAsB,CAChC,4FACE,4BACQ,mBAAsB,CAChC,4FACE,4BACQ,mBAAsB,CAChC,4FACE,4BACQ,mBAAsB,CAExC,6CACE,GACE,WACA,6BACQ,oBAA2B,CACrC,IACE,YACA,4BACQ,mBAA2B,CACrC,GACE,YACA,6BACQ,oBAA6B,CAAE,CAE3C,qCACE,GACE,WACA,6BACQ,oBAA2B,CACrC,IACE,YACA,4BACQ,mBAA2B,CACrC,GACE,YACA,6BACQ,oBAA6B,CAAE,CACzC,kCACE,mSACA,YACA,UAAY,CAKd,+DAJE,kBACA,SACA,gCACA,uBAA0B,CAaE,6BAT5B,OACA,QACA,YACA,eACA,yBACG,sBACC,qBACI,gBAAkB,CAG1B,+CACE,cACA,eACA,kBACA,YACA,wBACA,UAAY,CACZ,oEACE,qCACQ,4BAA+B,CACzC,oEACE,kBACA,gBACA,oBACA,aACA,yBAA2B,CAC7B,2EACE,kBACA,WACA,YACA,UACA,mBAAqB,CACvB,iEACE,kBACA,OACA,UACA,WACA,kBACA,gBACA,iCACA,WACA,eACA,kBACA,UACA,2CACA,mCACA,iBACA,kBACA,UACA,mBAAqB,CACrB,wEACE,SAAW,CACf,4DACE,kBACA,WACA,WACA,8BACA,wBAA2B,CAC3B,4EACE,kBACA,OACA,MACA,SACA,8BACA,WACA,gCACA,wBACA,iBAAmB,CACrB,4EACE,kBACA,OACA,MACA,SACA,WACA,iBAAmB,CACnB,2FACE,kBACA,MACA,UACA,gBACA,mBACA,YACA,WACA,kBACA,yBACA,uCACA,+BACA,2BACQ,kBAAoB,CACpC,4CACE,YACA,kBACA,QAAU,CACV,6EACE,WAAa,CACf,gEACE,UAAY,CACZ,8EACE,WAAa,CACjB,0DACE,YACA,gBAAkB,CACpB,0DACE,iBACA,WACA,mCACA,sBACA,eACA,cAAgB,CAClB,0DACE,WACA,YACA,YACA,6BACA,aACA,eACA,sBACA,8BACQ,sBACR,oBAAsB,CACtB,gFACE,uCACA,+BACA,UAAY,CACd,sFACE,SAAW,CACb,+EACE,WACA,WACA,iBACA,cAAgB,CAClB,+EACE,oBAAsB,CACxB,+EACE,iBAAmB,CACrB,8EACE,UAAY,CAChB,4DACE,kBACA,qBACA,yBACA,WAAa,CACb,sFACE,oBAAuB,CACzB,iFACE,qCACQ,4BAA+B,CACzC,sGACE,oBAAuB,CACzB,iGACE,qCACQ,4BAA+B,CACzC,qFACE,qBACA,oBACA,sBACA,WAAa,CACb,yGACE,kBACA,SACA,QACA,WACA,gBACA,uCACA,8BAAiC,CACjC,mIACE,kBACA,SACA,OACA,YACA,gCACA,wBACA,iBAAmB,CACnB,kJACE,kBACA,MACA,UACA,gBACA,mBACA,YACA,WACA,kBACA,yBACA,uCACA,+BACA,2BACQ,kBAAoB,CACtC,6DACE,qBACA,WAAa,CACb,kFACE,kBACA,QACA,YACA,oCACQ,4BACR,YACA,kBACA,6BACA,cACA,uCACA,+BACA,gBACA,SAAW,CACX,2GACE,gCACQ,uBAAyB,CACnC,6GACE,WACA,aACA,iBAAmB,CACvB,4KAEE,YACA,iBACA,8BACQ,sBACR,eACA,iBAAmB,CACnB,wLAEE,mCAA2C,CAC/C,sFACE,aAAe,CACf,qGACE,eACA,cAAgB,CAClB,2GACE,YAAc,CAChB,sHACE,oBAAsB,CACxB,oIACE,YAAc,CAChB,+IACE,oBAAsB,CACxB,gHACE,eACA,8BACQ,sBACR,aACA,sBACA,YACA,UAAY,CACZ,qIACE,kBACA,UACA,WACA,WACA,gBACA,uCACA,8BAAiC,CACjC,gKACE,kBACA,SACA,OACA,YACA,gCACA,wBACA,gBACA,iBAAmB,CACnB,+KACE,kBACA,MACA,UACA,gBACA,mBACA,YACA,WACA,kBACA,yBACA,uCACA,+BACA,eAAiB,CAC7B,0DACE,qBACA,YACA,iBAAmB,CACnB,sFACE,aAAe,CACjB,gFACE,kBACA,UACA,UACA,YAAc,CAClB,6DACE,kBACA,qBACA,YACA,SAAW,CAGX,kLACE,aAAe,CACjB,mFACE,aACA,kBACA,YACA,WACA,WACA,mBAAqB,CACvB,mFACE,aACA,eACA,WACA,kBACA,6BACA,cACA,uCACA,+BACA,gBACA,WACA,iBAAmB,CACrB,mFACE,YACA,8BACQ,sBACR,eACA,gBAAkB,CAClB,yFACE,mCAA2C,CACjD,6DACE,qBACA,WAAa,CACb,kFACE,kBACA,QACA,YACA,oCACQ,4BACR,kBACA,uCACA,+BACA,SAAW,CACX,2GACE,gCACQ,uBAAyB,CACnC,gHACE,YACA,WACA,kBACA,QACA,SACA,SAAW,CACb,+GACE,kBACA,gBACA,YACA,WACA,2CACQ,mCACR,kBACA,uBACA,eACA,YACA,uCACA,+BACA,2BACQ,kBAAoB,CAC5B,4IACE,2BACQ,kBAAoB,CAC9B,qHACE,WACA,kBACA,SACA,SACA,kBACA,+NACA,WACA,WAAa,CACf,iIACE,YAAc,CAChB,qHACE,cAAgB,CAClB,8IACE,eACA,WACA,WAAa,CACf,6IACE,WAAa,CACb,qKACE,yBAA2B,CAC7B,qKACE,yBAA2B,CAC7B,kJACE,UACA,gBACA,iBACA,qBACA,eACA,WACA,yBACA,kBACA,8BACQ,sBACR,kBACA,cAAgB,CAClB,gKACE,kBAAoB,CACxB,8IACE,WAAa,CACb,oJACE,YACA,YACA,oBAAsB,CACxB,mJACE,WACA,YACA,qBACA,kBACA,8BACQ,sBACR,cAAgB,CAChB,yJACE,kDACQ,0CACR,yGACQ,gGAAgH,CAC5H,iKACE,yGACQ,iGACR,qBAAwB,CAC9B,yGACE,aACA,YACA,iBACA,eACA,iBACA,kBACA,kBACA,YACA,gBACA,SACA,WAAa,CACf,qGACE,YACA,WACA,kBACA,QACA,UACA,SAAW,CACjB,2DACE,WACA,eACA,qBACA,sBACA,kBAAoB,CACtB,4DACE,WACA,YACA,kBACA,YACA,sBACA,kBACA,QACA,UAAY,CACZ,kEACE,aACA,YACA,YAAc,CAChB,wEACE,qBACA,kBACA,yCACQ,iCACR,yBACA,YACA,WACA,mBACA,8BACQ,sBACR,eACA,mCACA,0BAA4B,CAY9B,6JAVE,WACA,kBACA,cACA,YACA,WACA,MACA,OACA,mBACA,mCACA,0BAA4B,CAcd,8EANd,gBAGA,4CACQ,mCAAyC,CAGnD,gFACE,+BAAuC,CACzC,uFACE,WACA,6BAAqC,CACvC,sFACE,SAAW,CACnB,uBACE,kBACA,YACA,kBACA,8BACA,cACA,gBACA,UACA,YAAc,CACd,yCACE,aAAe,CACjB,0CACE,YACA,8BACQ,sBACR,cAAgB,CAChB,gDACE,mCAA2C,CAC7C,4CAEE,eACA,iBACA,WACA,eACA,qBACA,sBACA,WACA,8BACQ,sBACR,mBACA,uBACA,eAAiB,CACjB,kDACE,oBAAsB,CAC9B,uBACE,oBACA,kBACA,UACA,SACA,eACA,eAAiB,CACjB,2BACE,eACA,gBACA,eAAiB,CACrB,yBACE,UACA,kBACA,YACA,UACA,eACA,kBACA,6BACA,iBACA,uCACA,+BACA,gBACA,WACA,mBAAqB,CAEzB,2BACE,GACE,mDACQ,0CAA8C,CACxD,GACE,oDACQ,2CAAgD,CAC1D,GACE,oDACQ,2CAA+C,CACzD,GACE,qDACQ,4CAAgD,CAC1D,IACE,mDACQ,0CAA8C,CACxD,IACE,mDACQ,0CAA+C,CACzD,IACE,oDACQ,2CAA+C,CACzD,IACE,oDACQ,2CAAgD,CAC1D,IACE,mDACQ,0CAA+C,CACzD,IACE,oDACQ,2CAA+C,CACzD,IACE,mDACQ,0CAA+C,CACzD,IACE,mDACQ,0CAA8C,CACxD,IACE,iDACQ,wCAA8C,CACxD,IACE,kDACQ,yCAA8C,CACxD,IACE,mDACQ,0CAA+C,CACzD,IACE,mDACQ,0CAA+C,CACzD,IACE,mDACQ,0CAA+C,CACzD,IACE,oDACQ,2CAA+C,CACzD,IACE,oDACQ,2CAA+C,CACzD,IACE,mDACQ,0CAA+C,CACzD,IACE,oDACQ,2CAA+C,CACzD,IACE,kDACQ,yCAA8C,CACxD,IACE,oDACQ,2CAA+C,CACzD,IACE,kDACQ,yCAA+C,CACzD,IACE,iDACQ,wCAA8C,CACxD,IACE,mDACQ,0CAA8C,CACxD,IACE,oDACQ,2CAA+C,CACzD,IACE,mDACQ,0CAA8C,CACxD,IACE,kDACQ,yCAA8C,CACxD,IACE,mDACQ,0CAA8C,CACxD,IACE,mDACQ,0CAA+C,CACzD,IACE,mDACQ,0CAA+C,CACzD,IACE,mDACQ,0CAA+C,CACzD,IACE,oDACQ,2CAAgD,CAC1D,IACE,kDACQ,yCAA8C,CACxD,IACE,mDACQ,0CAA8C,CACxD,IACE,kDACQ,yCAA+C,CACzD,IACE,mDACQ,0CAA+C,CACzD,IACE,mDACQ,0CAA+C,CACzD,IACE,mDACQ,0CAA8C,CACxD,IACE,kDACQ,yCAA+C,CACzD,IACE,mDACQ,0CAA8C,CACxD,IACE,qDACQ,4CAAgD,CAC1D,IACE,mDACQ,0CAA+C,CACzD,IACE,mDACQ,0CAA+C,CACzD,IACE,kDACQ,yCAA+C,CACzD,IACE,kDACQ,yCAA8C,CACxD,IACE,mDACQ,0CAA+C,CACzD,IACE,oDACQ,2CAAgD,CAC1D,MACE,4CACQ,mCAAwC,CAAE,CAEtD,mBACE,GACE,mDACQ,0CAA8C,CACxD,GACE,oDACQ,2CAAgD,CAC1D,GACE,oDACQ,2CAA+C,CACzD,GACE,qDACQ,4CAAgD,CAC1D,IACE,mDACQ,0CAA8C,CACxD,IACE,mDACQ,0CAA+C,CACzD,IACE,oDACQ,2CAA+C,CACzD,IACE,oDACQ,2CAAgD,CAC1D,IACE,mDACQ,0CAA+C,CACzD,IACE,oDACQ,2CAA+C,CACzD,IACE,mDACQ,0CAA+C,CACzD,IACE,mDACQ,0CAA8C,CACxD,IACE,iDACQ,wCAA8C,CACxD,IACE,kDACQ,yCAA8C,CACxD,IACE,mDACQ,0CAA+C,CACzD,IACE,mDACQ,0CAA+C,CACzD,IACE,mDACQ,0CAA+C,CACzD,IACE,oDACQ,2CAA+C,CACzD,IACE,oDACQ,2CAA+C,CACzD,IACE,mDACQ,0CAA+C,CACzD,IACE,oDACQ,2CAA+C,CACzD,IACE,kDACQ,yCAA8C,CACxD,IACE,oDACQ,2CAA+C,CACzD,IACE,kDACQ,yCAA+C,CACzD,IACE,iDACQ,wCAA8C,CACxD,IACE,mDACQ,0CAA8C,CACxD,IACE,oDACQ,2CAA+C,CACzD,IACE,mDACQ,0CAA8C,CACxD,IACE,kDACQ,yCAA8C,CACxD,IACE,mDACQ,0CAA8C,CACxD,IACE,mDACQ,0CAA+C,CACzD,IACE,mDACQ,0CAA+C,CACzD,IACE,mDACQ,0CAA+C,CACzD,IACE,oDACQ,2CAAgD,CAC1D,IACE,kDACQ,yCAA8C,CACxD,IACE,mDACQ,0CAA8C,CACxD,IACE,kDACQ,yCAA+C,CACzD,IACE,mDACQ,0CAA+C,CACzD,IACE,mDACQ,0CAA+C,CACzD,IACE,mDACQ,0CAA8C,CACxD,IACE,kDACQ,yCAA+C,CACzD,IACE,mDACQ,0CAA8C,CACxD,IACE,qDACQ,4CAAgD,CAC1D,IACE,mDACQ,0CAA+C,CACzD,IACE,mDACQ,0CAA+C,CACzD,IACE,kDACQ,yCAA+C,CACzD,IACE,kDACQ,yCAA8C,CACxD,IACE,mDACQ,0CAA+C,CACzD,IACE,oDACQ,2CAAgD,CAC1D,MACE,4CACQ,mCAAwC,CAAE,CAEtD,sBACE,YAAc,CAEhB,qBACE,kBACA,2BAAkC,CAEpC,0CACE,eAAiB","file":"DPlayer.min.css","sourcesContent":["button[data-balloon] {\n overflow: visible; }\n\n[data-balloon] {\n position: relative;\n cursor: pointer; }\n [data-balloon]:after {\n filter: alpha(opactiy=0);\n -ms-filter: \"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)\";\n -moz-opacity: 0;\n -khtml-opacity: 0;\n opacity: 0;\n pointer-events: none;\n -webkit-transition: all 0.18s ease-out 0.18s;\n transition: all 0.18s ease-out 0.18s;\n font-family: sans-serif !important;\n font-weight: normal !important;\n font-style: normal !important;\n text-shadow: none !important;\n font-size: 12px !important;\n background: rgba(17, 17, 17, 0.9);\n border-radius: 4px;\n color: #fff;\n content: attr(data-balloon);\n padding: .5em 1em;\n position: absolute;\n white-space: nowrap;\n z-index: 10; }\n [data-balloon]:before {\n background: no-repeat url(\"data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20width%3D%2236px%22%20height%3D%2212px%22%3E%3Cpath%20fill%3D%22rgba(17, 17, 17, 0.9)%22%20transform%3D%22rotate(0)%22%20d%3D%22M2.658,0.000%20C-13.615,0.000%2050.938,0.000%2034.662,0.000%20C28.662,0.000%2023.035,12.002%2018.660,12.002%20C14.285,12.002%208.594,0.000%202.658,0.000%20Z%22/%3E%3C/svg%3E\");\n background-size: 100% auto;\n width: 18px;\n height: 6px;\n filter: alpha(opactiy=0);\n -ms-filter: \"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)\";\n -moz-opacity: 0;\n -khtml-opacity: 0;\n opacity: 0;\n pointer-events: none;\n -webkit-transition: all 0.18s ease-out 0.18s;\n transition: all 0.18s ease-out 0.18s;\n content: '';\n position: absolute;\n z-index: 10; }\n [data-balloon]:hover:before, [data-balloon]:hover:after, [data-balloon][data-balloon-visible]:before, [data-balloon][data-balloon-visible]:after {\n filter: alpha(opactiy=100);\n -ms-filter: \"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)\";\n -moz-opacity: 1;\n -khtml-opacity: 1;\n opacity: 1;\n pointer-events: auto; }\n [data-balloon].font-awesome:after {\n font-family: FontAwesome; }\n [data-balloon][data-balloon-break]:after {\n white-space: pre; }\n [data-balloon][data-balloon-blunt]:before, [data-balloon][data-balloon-blunt]:after {\n -webkit-transition: none;\n transition: none; }\n [data-balloon][data-balloon-pos=\"up\"]:after {\n bottom: 100%;\n left: 50%;\n margin-bottom: 11px;\n -webkit-transform: translate(-50%, 10px);\n transform: translate(-50%, 10px);\n -webkit-transform-origin: top;\n transform-origin: top; }\n [data-balloon][data-balloon-pos=\"up\"]:before {\n bottom: 100%;\n left: 50%;\n margin-bottom: 5px;\n -webkit-transform: translate(-50%, 10px);\n transform: translate(-50%, 10px);\n -webkit-transform-origin: top;\n transform-origin: top; }\n [data-balloon][data-balloon-pos=\"up\"]:hover:after, [data-balloon][data-balloon-pos=\"up\"][data-balloon-visible]:after {\n -webkit-transform: translate(-50%, 0);\n transform: translate(-50%, 0); }\n [data-balloon][data-balloon-pos=\"up\"]:hover:before, [data-balloon][data-balloon-pos=\"up\"][data-balloon-visible]:before {\n -webkit-transform: translate(-50%, 0);\n transform: translate(-50%, 0); }\n [data-balloon][data-balloon-pos=\"up-left\"]:after {\n bottom: 100%;\n left: 0;\n margin-bottom: 11px;\n -webkit-transform: translate(0, 10px);\n transform: translate(0, 10px);\n -webkit-transform-origin: top;\n transform-origin: top; }\n [data-balloon][data-balloon-pos=\"up-left\"]:before {\n bottom: 100%;\n left: 5px;\n margin-bottom: 5px;\n -webkit-transform: translate(0, 10px);\n transform: translate(0, 10px);\n -webkit-transform-origin: top;\n transform-origin: top; }\n [data-balloon][data-balloon-pos=\"up-left\"]:hover:after, [data-balloon][data-balloon-pos=\"up-left\"][data-balloon-visible]:after {\n -webkit-transform: translate(0, 0);\n transform: translate(0, 0); }\n [data-balloon][data-balloon-pos=\"up-left\"]:hover:before, [data-balloon][data-balloon-pos=\"up-left\"][data-balloon-visible]:before {\n -webkit-transform: translate(0, 0);\n transform: translate(0, 0); }\n [data-balloon][data-balloon-pos=\"up-right\"]:after {\n bottom: 100%;\n right: 0;\n margin-bottom: 11px;\n -webkit-transform: translate(0, 10px);\n transform: translate(0, 10px);\n -webkit-transform-origin: top;\n transform-origin: top; }\n [data-balloon][data-balloon-pos=\"up-right\"]:before {\n bottom: 100%;\n right: 5px;\n margin-bottom: 5px;\n -webkit-transform: translate(0, 10px);\n transform: translate(0, 10px);\n -webkit-transform-origin: top;\n transform-origin: top; }\n [data-balloon][data-balloon-pos=\"up-right\"]:hover:after, [data-balloon][data-balloon-pos=\"up-right\"][data-balloon-visible]:after {\n -webkit-transform: translate(0, 0);\n transform: translate(0, 0); }\n [data-balloon][data-balloon-pos=\"up-right\"]:hover:before, [data-balloon][data-balloon-pos=\"up-right\"][data-balloon-visible]:before {\n -webkit-transform: translate(0, 0);\n transform: translate(0, 0); }\n [data-balloon][data-balloon-pos='down']:after {\n left: 50%;\n margin-top: 11px;\n top: 100%;\n -webkit-transform: translate(-50%, -10px);\n transform: translate(-50%, -10px); }\n [data-balloon][data-balloon-pos='down']:before {\n background: no-repeat url(\"data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20width%3D%2236px%22%20height%3D%2212px%22%3E%3Cpath%20fill%3D%22rgba(17, 17, 17, 0.9)%22%20transform%3D%22rotate(180 18 6)%22%20d%3D%22M2.658,0.000%20C-13.615,0.000%2050.938,0.000%2034.662,0.000%20C28.662,0.000%2023.035,12.002%2018.660,12.002%20C14.285,12.002%208.594,0.000%202.658,0.000%20Z%22/%3E%3C/svg%3E\");\n background-size: 100% auto;\n width: 18px;\n height: 6px;\n left: 50%;\n margin-top: 5px;\n top: 100%;\n -webkit-transform: translate(-50%, -10px);\n transform: translate(-50%, -10px); }\n [data-balloon][data-balloon-pos='down']:hover:after, [data-balloon][data-balloon-pos='down'][data-balloon-visible]:after {\n -webkit-transform: translate(-50%, 0);\n transform: translate(-50%, 0); }\n [data-balloon][data-balloon-pos='down']:hover:before, [data-balloon][data-balloon-pos='down'][data-balloon-visible]:before {\n -webkit-transform: translate(-50%, 0);\n transform: translate(-50%, 0); }\n [data-balloon][data-balloon-pos='down-left']:after {\n left: 0;\n margin-top: 11px;\n top: 100%;\n -webkit-transform: translate(0, -10px);\n transform: translate(0, -10px); }\n [data-balloon][data-balloon-pos='down-left']:before {\n background: no-repeat url(\"data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20width%3D%2236px%22%20height%3D%2212px%22%3E%3Cpath%20fill%3D%22rgba(17, 17, 17, 0.9)%22%20transform%3D%22rotate(180 18 6)%22%20d%3D%22M2.658,0.000%20C-13.615,0.000%2050.938,0.000%2034.662,0.000%20C28.662,0.000%2023.035,12.002%2018.660,12.002%20C14.285,12.002%208.594,0.000%202.658,0.000%20Z%22/%3E%3C/svg%3E\");\n background-size: 100% auto;\n width: 18px;\n height: 6px;\n left: 5px;\n margin-top: 5px;\n top: 100%;\n -webkit-transform: translate(0, -10px);\n transform: translate(0, -10px); }\n [data-balloon][data-balloon-pos='down-left']:hover:after, [data-balloon][data-balloon-pos='down-left'][data-balloon-visible]:after {\n -webkit-transform: translate(0, 0);\n transform: translate(0, 0); }\n [data-balloon][data-balloon-pos='down-left']:hover:before, [data-balloon][data-balloon-pos='down-left'][data-balloon-visible]:before {\n -webkit-transform: translate(0, 0);\n transform: translate(0, 0); }\n [data-balloon][data-balloon-pos='down-right']:after {\n right: 0;\n margin-top: 11px;\n top: 100%;\n -webkit-transform: translate(0, -10px);\n transform: translate(0, -10px); }\n [data-balloon][data-balloon-pos='down-right']:before {\n background: no-repeat url(\"data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20width%3D%2236px%22%20height%3D%2212px%22%3E%3Cpath%20fill%3D%22rgba(17, 17, 17, 0.9)%22%20transform%3D%22rotate(180 18 6)%22%20d%3D%22M2.658,0.000%20C-13.615,0.000%2050.938,0.000%2034.662,0.000%20C28.662,0.000%2023.035,12.002%2018.660,12.002%20C14.285,12.002%208.594,0.000%202.658,0.000%20Z%22/%3E%3C/svg%3E\");\n background-size: 100% auto;\n width: 18px;\n height: 6px;\n right: 5px;\n margin-top: 5px;\n top: 100%;\n -webkit-transform: translate(0, -10px);\n transform: translate(0, -10px); }\n [data-balloon][data-balloon-pos='down-right']:hover:after, [data-balloon][data-balloon-pos='down-right'][data-balloon-visible]:after {\n -webkit-transform: translate(0, 0);\n transform: translate(0, 0); }\n [data-balloon][data-balloon-pos='down-right']:hover:before, [data-balloon][data-balloon-pos='down-right'][data-balloon-visible]:before {\n -webkit-transform: translate(0, 0);\n transform: translate(0, 0); }\n [data-balloon][data-balloon-pos='left']:after {\n margin-right: 11px;\n right: 100%;\n top: 50%;\n -webkit-transform: translate(10px, -50%);\n transform: translate(10px, -50%); }\n [data-balloon][data-balloon-pos='left']:before {\n background: no-repeat url(\"data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20width%3D%2212px%22%20height%3D%2236px%22%3E%3Cpath%20fill%3D%22rgba(17, 17, 17, 0.9)%22%20transform%3D%22rotate(-90 18 18)%22%20d%3D%22M2.658,0.000%20C-13.615,0.000%2050.938,0.000%2034.662,0.000%20C28.662,0.000%2023.035,12.002%2018.660,12.002%20C14.285,12.002%208.594,0.000%202.658,0.000%20Z%22/%3E%3C/svg%3E\");\n background-size: 100% auto;\n width: 6px;\n height: 18px;\n margin-right: 5px;\n right: 100%;\n top: 50%;\n -webkit-transform: translate(10px, -50%);\n transform: translate(10px, -50%); }\n [data-balloon][data-balloon-pos='left']:hover:after, [data-balloon][data-balloon-pos='left'][data-balloon-visible]:after {\n -webkit-transform: translate(0, -50%);\n transform: translate(0, -50%); }\n [data-balloon][data-balloon-pos='left']:hover:before, [data-balloon][data-balloon-pos='left'][data-balloon-visible]:before {\n -webkit-transform: translate(0, -50%);\n transform: translate(0, -50%); }\n [data-balloon][data-balloon-pos='right']:after {\n left: 100%;\n margin-left: 11px;\n top: 50%;\n -webkit-transform: translate(-10px, -50%);\n transform: translate(-10px, -50%); }\n [data-balloon][data-balloon-pos='right']:before {\n background: no-repeat url(\"data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20width%3D%2212px%22%20height%3D%2236px%22%3E%3Cpath%20fill%3D%22rgba(17, 17, 17, 0.9)%22%20transform%3D%22rotate(90 6 6)%22%20d%3D%22M2.658,0.000%20C-13.615,0.000%2050.938,0.000%2034.662,0.000%20C28.662,0.000%2023.035,12.002%2018.660,12.002%20C14.285,12.002%208.594,0.000%202.658,0.000%20Z%22/%3E%3C/svg%3E\");\n background-size: 100% auto;\n width: 6px;\n height: 18px;\n left: 100%;\n margin-left: 5px;\n top: 50%;\n -webkit-transform: translate(-10px, -50%);\n transform: translate(-10px, -50%); }\n [data-balloon][data-balloon-pos='right']:hover:after, [data-balloon][data-balloon-pos='right'][data-balloon-visible]:after {\n -webkit-transform: translate(0, -50%);\n transform: translate(0, -50%); }\n [data-balloon][data-balloon-pos='right']:hover:before, [data-balloon][data-balloon-pos='right'][data-balloon-visible]:before {\n -webkit-transform: translate(0, -50%);\n transform: translate(0, -50%); }\n [data-balloon][data-balloon-length='small']:after {\n white-space: normal;\n width: 80px; }\n [data-balloon][data-balloon-length='medium']:after {\n white-space: normal;\n width: 150px; }\n [data-balloon][data-balloon-length='large']:after {\n white-space: normal;\n width: 260px; }\n [data-balloon][data-balloon-length='xlarge']:after {\n white-space: normal;\n width: 380px; }\n @media screen and (max-width: 768px) {\n [data-balloon][data-balloon-length='xlarge']:after {\n white-space: normal;\n width: 90vw; } }\n [data-balloon][data-balloon-length='fit']:after {\n white-space: normal;\n width: 100%; }\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/balloon-css/balloon.css","@import url(../node_modules/balloon-css/balloon.css);\n.dplayer {\n position: relative;\n overflow: hidden;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n line-height: 1; }\n .dplayer * {\n -webkit-box-sizing: content-box;\n box-sizing: content-box; }\n .dplayer:-webkit-full-screen {\n width: 100%;\n height: 100%;\n background: #000;\n position: fixed;\n z-index: 100000;\n left: 0;\n top: 0; }\n .dplayer:-webkit-full-screen .dplayer-danmaku .dplayer-danmaku-top.dplayer-danmaku-move,\n .dplayer:-webkit-full-screen .dplayer-danmaku .dplayer-danmaku-bottom.dplayer-danmaku-move {\n -webkit-animation: danmaku-center 6s linear;\n animation: danmaku-center 6s linear;\n -webkit-animation-play-state: paused;\n animation-play-state: paused; }\n .dplayer:-webkit-full-screen .dplayer-danmaku .dplayer-danmaku-right.dplayer-danmaku-move {\n -webkit-animation: danmaku 8s linear;\n animation: danmaku 8s linear;\n -webkit-animation-play-state: paused;\n animation-play-state: paused; }\n .dplayer.dplayer-no-danmaku .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box .dplayer-setting-showdan,\n .dplayer.dplayer-no-danmaku .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box .dplayer-setting-danmaku,\n .dplayer.dplayer-no-danmaku .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box .dplayer-setting-danunlimit {\n display: none; }\n .dplayer.dplayer-no-danmaku .dplayer-controller .dplayer-icons .dplayer-comment {\n display: none; }\n .dplayer.dplayer-no-danmaku .dplayer-danmaku {\n display: none; }\n .dplayer.dplayer-playing .dplayer-danmaku .dplayer-danmaku-move {\n -webkit-animation-play-state: running !important;\n animation-play-state: running !important; }\n @media (min-width: 900px) {\n .dplayer.dplayer-playing .dplayer-controller-mask {\n opacity: 0; }\n .dplayer.dplayer-playing .dplayer-controller {\n opacity: 0; }\n .dplayer.dplayer-playing:hover .dplayer-controller-mask {\n opacity: 1; }\n .dplayer.dplayer-playing:hover .dplayer-controller {\n opacity: 1; } }\n .dplayer.dplayer-loading .dplayer-bezel .diplayer-loading-icon {\n display: block; }\n .dplayer.dplayer-loading .dplayer-danmaku .dplayer-danmaku-move {\n -webkit-animation-play-state: paused !important;\n animation-play-state: paused !important; }\n .dplayer.dplayer-hide-controller {\n cursor: none; }\n .dplayer.dplayer-hide-controller .dplayer-controller-mask {\n opacity: 0;\n -webkit-transform: translateY(100%);\n transform: translateY(100%); }\n .dplayer.dplayer-hide-controller .dplayer-controller {\n opacity: 0;\n -webkit-transform: translateY(100%);\n transform: translateY(100%); }\n .dplayer.dplayer-show-controller .dplayer-controller-mask {\n opacity: 1; }\n .dplayer.dplayer-show-controller .dplayer-controller {\n opacity: 1; }\n .dplayer.dplayer-fulled {\n position: fixed;\n z-index: 100000;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%; }\n .dplayer.dplayer-mobile .dplayer-volume,\n .dplayer.dplayer-mobile .dplayer-camera-icon {\n display: none !important; }\n .dplayer.dplayer-mobile .dplayer-full-in-icon {\n position: static !important;\n display: inline-block !important; }\n .dplayer.dplayer-mobile .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box .dplayer-comment-input {\n width: 200px; }\n .dplayer.dplayer-mobile .dplayer-comment-setting-title {\n display: none; }\n .dplayer.dplayer-mobile .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box .dplayer-comment-setting-box {\n left: 17px; }\n .dplayer.dplayer-mobile .dplayer-controller .dplayer-icons .dplayer-icon {\n width: 40px; }\n .dplayer .dplayer-mask {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n z-index: 1;\n display: none; }\n .dplayer .dplayer-mask.dplayer-mask-show {\n display: block; }\n .dplayer .dplayer-video-wrap {\n position: relative;\n background: #000;\n font-size: 0;\n width: 100%;\n height: 100%; }\n .dplayer .dplayer-video-wrap .dplayer-video {\n width: 100%;\n height: 100%;\n display: none; }\n .dplayer .dplayer-video-wrap .dplayer-video-current {\n display: block; }\n .dplayer .dplayer-video-wrap .dplayer-video-prepare {\n display: none; }\n .dplayer .dplayer-danmaku {\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n font-size: 22px;\n color: #fff; }\n .dplayer .dplayer-danmaku .dplayer-danmaku-item {\n display: inline-block;\n pointer-events: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n cursor: default;\n white-space: nowrap;\n text-shadow: 0.5px 0.5px 0.5px rgba(0, 0, 0, 0.5); }\n .dplayer .dplayer-danmaku .dplayer-danmaku-item--demo {\n position: absolute;\n visibility: hidden; }\n .dplayer .dplayer-danmaku .dplayer-danmaku-right {\n position: absolute;\n right: 0;\n -webkit-transform: translateX(100%);\n transform: translateX(100%); }\n .dplayer .dplayer-danmaku .dplayer-danmaku-right.dplayer-danmaku-move {\n will-change: transform;\n -webkit-animation: danmaku 5s linear;\n animation: danmaku 5s linear;\n -webkit-animation-play-state: paused;\n animation-play-state: paused; }\n\n@-webkit-keyframes danmaku {\n from {\n -webkit-transform: translateX(100%);\n transform: translateX(100%); } }\n\n@keyframes danmaku {\n from {\n -webkit-transform: translateX(100%);\n transform: translateX(100%); } }\n .dplayer .dplayer-danmaku .dplayer-danmaku-top,\n .dplayer .dplayer-danmaku .dplayer-danmaku-bottom {\n position: absolute;\n width: 100%;\n text-align: center;\n visibility: hidden; }\n .dplayer .dplayer-danmaku .dplayer-danmaku-top.dplayer-danmaku-move,\n .dplayer .dplayer-danmaku .dplayer-danmaku-bottom.dplayer-danmaku-move {\n will-change: visibility;\n -webkit-animation: danmaku-center 4s linear;\n animation: danmaku-center 4s linear;\n -webkit-animation-play-state: paused;\n animation-play-state: paused; }\n\n@-webkit-keyframes danmaku-center {\n from {\n visibility: visible; }\n to {\n visibility: visible; } }\n\n@keyframes danmaku-center {\n from {\n visibility: visible; }\n to {\n visibility: visible; } }\n .dplayer .dplayer-subtitle {\n position: absolute;\n bottom: 40px;\n width: 90%;\n left: 5%;\n text-align: center;\n color: #fff;\n text-shadow: 0.5px 0.5px 0.5px rgba(0, 0, 0, 0.5);\n font-size: 20px; }\n .dplayer .dplayer-bezel {\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n font-size: 22px;\n color: #fff;\n pointer-events: none; }\n .dplayer .dplayer-bezel .dplayer-bezel-icon {\n position: absolute;\n top: 50%;\n left: 50%;\n margin: -26px 0 0 -26px;\n height: 52px;\n width: 52px;\n padding: 12px;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n background: rgba(0, 0, 0, 0.5);\n border-radius: 50%;\n opacity: 0;\n pointer-events: none; }\n .dplayer .dplayer-bezel .dplayer-bezel-icon.dplayer-bezel-transition {\n -webkit-animation: bezel-hide .5s linear;\n animation: bezel-hide .5s linear; }\n\n@-webkit-keyframes bezel-hide {\n from {\n opacity: 1;\n -webkit-transform: scale(1);\n transform: scale(1); }\n to {\n opacity: 0;\n -webkit-transform: scale(2);\n transform: scale(2); } }\n\n@keyframes bezel-hide {\n from {\n opacity: 1;\n -webkit-transform: scale(1);\n transform: scale(1); }\n to {\n opacity: 0;\n -webkit-transform: scale(2);\n transform: scale(2); } }\n .dplayer .dplayer-bezel .dplayer-danloading {\n position: absolute;\n top: 50%;\n margin-top: -7px;\n width: 100%;\n text-align: center;\n font-size: 14px;\n line-height: 14px;\n -webkit-animation: my-face 5s infinite ease-in-out;\n animation: my-face 5s infinite ease-in-out; }\n .dplayer .dplayer-bezel .diplayer-loading-icon {\n display: none;\n position: absolute;\n top: 50%;\n left: 50%;\n margin: -18px 0 0 -18px;\n height: 36px;\n width: 36px;\n pointer-events: none; }\n .dplayer .dplayer-bezel .diplayer-loading-icon .diplayer-loading-hide {\n display: none; }\n .dplayer .dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot {\n -webkit-animation: diplayer-loading-dot-fade .8s ease infinite;\n animation: diplayer-loading-dot-fade .8s ease infinite;\n opacity: 0;\n fill: #fff;\n -webkit-transform-origin: 4px 4px;\n transform-origin: 4px 4px; }\n .dplayer .dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-7 {\n -webkit-animation-delay: 0.7s;\n animation-delay: 0.7s; }\n .dplayer .dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-6 {\n -webkit-animation-delay: 0.6s;\n animation-delay: 0.6s; }\n .dplayer .dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-5 {\n -webkit-animation-delay: 0.5s;\n animation-delay: 0.5s; }\n .dplayer .dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-4 {\n -webkit-animation-delay: 0.4s;\n animation-delay: 0.4s; }\n .dplayer .dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-3 {\n -webkit-animation-delay: 0.3s;\n animation-delay: 0.3s; }\n .dplayer .dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-2 {\n -webkit-animation-delay: 0.2s;\n animation-delay: 0.2s; }\n .dplayer .dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-1 {\n -webkit-animation-delay: 0.1s;\n animation-delay: 0.1s; }\n\n@-webkit-keyframes diplayer-loading-dot-fade {\n 0% {\n opacity: .7;\n -webkit-transform: scale(1.2, 1.2);\n transform: scale(1.2, 1.2); }\n 50% {\n opacity: .25;\n -webkit-transform: scale(0.9, 0.9);\n transform: scale(0.9, 0.9); }\n to {\n opacity: .25;\n -webkit-transform: scale(0.85, 0.85);\n transform: scale(0.85, 0.85); } }\n\n@keyframes diplayer-loading-dot-fade {\n 0% {\n opacity: .7;\n -webkit-transform: scale(1.2, 1.2);\n transform: scale(1.2, 1.2); }\n 50% {\n opacity: .25;\n -webkit-transform: scale(0.9, 0.9);\n transform: scale(0.9, 0.9); }\n to {\n opacity: .25;\n -webkit-transform: scale(0.85, 0.85);\n transform: scale(0.85, 0.85); } }\n .dplayer .dplayer-controller-mask {\n background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAADGCAYAAAAT+OqFAAAAdklEQVQoz42QQQ7AIAgEF/T/D+kbq/RWAlnQyyazA4aoAB4FsBSA/bFjuF1EOL7VbrIrBuusmrt4ZZORfb6ehbWdnRHEIiITaEUKa5EJqUakRSaEYBJSCY2dEstQY7AuxahwXFrvZmWl2rh4JZ07z9dLtesfNj5q0FU3A5ObbwAAAABJRU5ErkJggg==) repeat-x bottom;\n height: 98px;\n width: 100%;\n position: absolute;\n bottom: 0;\n -webkit-transition: all 0.3s ease;\n transition: all 0.3s ease; }\n .dplayer .dplayer-controller {\n position: absolute;\n bottom: 0;\n left: 0;\n right: 0;\n height: 41px;\n padding: 0 20px;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n -webkit-transition: all 0.3s ease;\n transition: all 0.3s ease; }\n .dplayer .dplayer-controller .dplayer-bar-wrap {\n padding: 5px 0;\n cursor: pointer;\n position: absolute;\n bottom: 33px;\n width: calc(100% - 40px);\n height: 3px; }\n .dplayer .dplayer-controller .dplayer-bar-wrap:hover .dplayer-thumb {\n -webkit-transform: scale(1) !important;\n transform: scale(1) !important; }\n .dplayer .dplayer-controller .dplayer-bar-wrap .dplayer-bar-preview {\n position: absolute;\n background: #fff;\n pointer-events: none;\n display: none;\n background-size: auto 100%; }\n .dplayer .dplayer-controller .dplayer-bar-wrap .dplayer-bar-preview-canvas {\n position: absolute;\n width: 100%;\n height: 100%;\n z-index: 1;\n pointer-events: none; }\n .dplayer .dplayer-controller .dplayer-bar-wrap .dplayer-bar-time {\n position: absolute;\n left: 0px;\n top: -20px;\n width: 30px;\n border-radius: 4px;\n padding: 5px 7px;\n background-color: rgba(0, 0, 0, 0.62);\n color: #fff;\n font-size: 12px;\n text-align: center;\n opacity: 1;\n -webkit-transition: opacity .1s ease-in-out;\n transition: opacity .1s ease-in-out;\n word-wrap: normal;\n word-break: normal;\n z-index: 2;\n pointer-events: none; }\n .dplayer .dplayer-controller .dplayer-bar-wrap .dplayer-bar-time.hidden {\n opacity: 0; }\n .dplayer .dplayer-controller .dplayer-bar-wrap .dplayer-bar {\n position: relative;\n height: 3px;\n width: 100%;\n background: rgba(255, 255, 255, 0.2);\n cursor: pointer !important; }\n .dplayer .dplayer-controller .dplayer-bar-wrap .dplayer-bar .dplayer-loaded {\n position: absolute;\n left: 0;\n top: 0;\n bottom: 0;\n background: rgba(255, 255, 255, 0.4);\n height: 3px;\n -webkit-transition: all 0.5s ease;\n transition: all 0.5s ease;\n will-change: width; }\n .dplayer .dplayer-controller .dplayer-bar-wrap .dplayer-bar .dplayer-played {\n position: absolute;\n left: 0;\n top: 0;\n bottom: 0;\n height: 3px;\n will-change: width; }\n .dplayer .dplayer-controller .dplayer-bar-wrap .dplayer-bar .dplayer-played .dplayer-thumb {\n position: absolute;\n top: 0;\n right: 5px;\n margin-top: -4px;\n margin-right: -10px;\n height: 11px;\n width: 11px;\n border-radius: 50%;\n cursor: pointer !important;\n -webkit-transition: all .3s ease-in-out;\n transition: all .3s ease-in-out;\n -webkit-transform: scale(0);\n transform: scale(0); }\n .dplayer .dplayer-controller .dplayer-icons {\n height: 38px;\n position: absolute;\n bottom: 0; }\n .dplayer .dplayer-controller .dplayer-icons.dplayer-icons-left .dplayer-icon {\n padding: 7px; }\n .dplayer .dplayer-controller .dplayer-icons.dplayer-icons-right {\n right: 20px; }\n .dplayer .dplayer-controller .dplayer-icons.dplayer-icons-right .dplayer-icon {\n padding: 8px; }\n .dplayer .dplayer-controller .dplayer-icons #dplayer-menu {\n stroke: #ddd;\n stroke-width: 1px; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-time {\n line-height: 38px;\n color: #eee;\n text-shadow: 0 0 2px rgba(0, 0, 0, 0.5);\n vertical-align: middle;\n font-size: 13px;\n cursor: default; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-icon {\n width: 40px;\n height: 100%;\n border: none;\n background-color: transparent;\n outline: none;\n cursor: pointer;\n vertical-align: middle;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n display: inline-block; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-icon .dplayer-icon-content {\n -webkit-transition: all .2s ease-in-out;\n transition: all .2s ease-in-out;\n opacity: .8; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-icon:hover .dplayer-icon-content {\n opacity: 1; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-icon.dplayer-quality-icon {\n color: #fff;\n width: auto;\n line-height: 22px;\n font-size: 14px; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-icon.dplayer-comment-icon {\n padding: 10px 9px 9px; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-icon.dplayer-setting-icon {\n padding-top: 8.5px; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-icon.dplayer-volume-icon {\n width: 43px; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-volume {\n position: relative;\n display: inline-block;\n cursor: pointer !important;\n height: 100%; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-volume:hover .dplayer-volume-bar {\n width: 45px !important; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-volume:hover .dplayer-thumb {\n -webkit-transform: scale(1) !important;\n transform: scale(1) !important; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-volume.dplayer-volume-active .dplayer-volume-bar {\n width: 45px !important; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-volume.dplayer-volume-active .dplayer-thumb {\n -webkit-transform: scale(1) !important;\n transform: scale(1) !important; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-volume .dplayer-volume-bar-wrap {\n display: inline-block;\n margin: 0 5px 0 -5px;\n vertical-align: middle;\n height: 100%; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-volume .dplayer-volume-bar-wrap .dplayer-volume-bar {\n position: relative;\n top: 17px;\n width: 0;\n height: 3px;\n background: #aaa;\n -webkit-transition: all 0.3s ease-in-out;\n transition: all 0.3s ease-in-out; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-volume .dplayer-volume-bar-wrap .dplayer-volume-bar .dplayer-volume-bar-inner {\n position: absolute;\n bottom: 0;\n left: 0;\n height: 100%;\n -webkit-transition: all 0.1s ease;\n transition: all 0.1s ease;\n will-change: width; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-volume .dplayer-volume-bar-wrap .dplayer-volume-bar .dplayer-volume-bar-inner .dplayer-thumb {\n position: absolute;\n top: 0;\n right: 5px;\n margin-top: -4px;\n margin-right: -10px;\n height: 11px;\n width: 11px;\n border-radius: 50%;\n cursor: pointer !important;\n -webkit-transition: all .3s ease-in-out;\n transition: all .3s ease-in-out;\n -webkit-transform: scale(0);\n transform: scale(0); }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-setting {\n display: inline-block;\n height: 100%; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box {\n position: absolute;\n right: 0;\n bottom: 50px;\n -webkit-transform: translateX(170px);\n transform: translateX(170px);\n width: 150px;\n border-radius: 2px;\n background: rgba(28, 28, 28, 0.9);\n padding: 7px 0;\n -webkit-transition: all .3s ease-in-out;\n transition: all .3s ease-in-out;\n overflow: hidden;\n z-index: 2; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box.dplayer-setting-box-open {\n -webkit-transform: translateX(0);\n transform: translateX(0); }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box.dplayer-setting-box-narrow {\n width: 70px;\n height: 180px;\n text-align: center; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-item,\n .dplayer .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-speed-item {\n height: 30px;\n padding: 5px 10px;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n cursor: pointer;\n position: relative; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-item:hover,\n .dplayer .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-speed-item:hover {\n background-color: rgba(255, 255, 255, 0.1); }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku {\n padding: 5px 0; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku .dplayer-label {\n padding: 0 10px;\n display: inline; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku:hover .dplayer-label {\n display: none; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku:hover .dplayer-danmaku-bar-wrap {\n display: inline-block; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku.dplayer-setting-danmaku-active .dplayer-label {\n display: none; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku.dplayer-setting-danmaku-active .dplayer-danmaku-bar-wrap {\n display: inline-block; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku .dplayer-danmaku-bar-wrap {\n padding: 0 10px;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n display: none;\n vertical-align: middle;\n height: 100%;\n width: 100%; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku .dplayer-danmaku-bar-wrap .dplayer-danmaku-bar {\n position: relative;\n top: 8.5px;\n width: 100%;\n height: 3px;\n background: #fff;\n -webkit-transition: all 0.3s ease-in-out;\n transition: all 0.3s ease-in-out; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku .dplayer-danmaku-bar-wrap .dplayer-danmaku-bar .dplayer-danmaku-bar-inner {\n position: absolute;\n bottom: 0;\n left: 0;\n height: 100%;\n -webkit-transition: all 0.1s ease;\n transition: all 0.1s ease;\n background: #aaa;\n will-change: width; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku .dplayer-danmaku-bar-wrap .dplayer-danmaku-bar .dplayer-danmaku-bar-inner .dplayer-thumb {\n position: absolute;\n top: 0;\n right: 5px;\n margin-top: -4px;\n margin-right: -10px;\n height: 11px;\n width: 11px;\n border-radius: 50%;\n cursor: pointer !important;\n -webkit-transition: all .3s ease-in-out;\n transition: all .3s ease-in-out;\n background: #aaa; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-full {\n display: inline-block;\n height: 100%;\n position: relative; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-full:hover .dplayer-full-in-icon {\n display: block; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-full .dplayer-full-in-icon {\n position: absolute;\n top: -30px;\n z-index: 1;\n display: none; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-quality {\n position: relative;\n display: inline-block;\n height: 100%;\n z-index: 2; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-quality:hover .dplayer-quality-list {\n display: block; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-quality:hover .dplayer-quality-mask {\n display: block; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-quality .dplayer-quality-mask {\n display: none;\n position: absolute;\n bottom: 38px;\n left: -18px;\n width: 80px;\n padding-bottom: 12px; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-quality .dplayer-quality-list {\n display: none;\n font-size: 12px;\n width: 80px;\n border-radius: 2px;\n background: rgba(28, 28, 28, 0.9);\n padding: 5px 0;\n -webkit-transition: all .3s ease-in-out;\n transition: all .3s ease-in-out;\n overflow: hidden;\n color: #fff;\n text-align: center; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-quality .dplayer-quality-item {\n height: 25px;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n cursor: pointer;\n line-height: 25px; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-quality .dplayer-quality-item:hover {\n background-color: rgba(255, 255, 255, 0.1); }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-comment {\n display: inline-block;\n height: 100%; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box {\n position: absolute;\n right: 0;\n bottom: 50px;\n -webkit-transform: translateX(382px);\n transform: translateX(382px);\n border-radius: 2px;\n -webkit-transition: all .3s ease-in-out;\n transition: all .3s ease-in-out;\n z-index: 2; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box.dplayer-comment-box-open {\n -webkit-transform: translateX(0);\n transform: translateX(0); }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box .dplayer-comment-setting-icon {\n height: 24px;\n width: 24px;\n position: absolute;\n top: 5px;\n left: 7px;\n padding: 0; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box .dplayer-comment-setting-box {\n position: absolute;\n background: #fff;\n bottom: 40px;\n left: -93px;\n -webkit-box-shadow: 0 0 25px rgba(0, 0, 0, 0.3);\n box-shadow: 0 0 25px rgba(0, 0, 0, 0.3);\n border-radius: 4px;\n padding: 10px 10px 16px;\n font-size: 14px;\n width: 204px;\n -webkit-transition: all .3s ease-in-out;\n transition: all .3s ease-in-out;\n -webkit-transform: scale(0);\n transform: scale(0); }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box .dplayer-comment-setting-box.dplayer-comment-setting-open {\n -webkit-transform: scale(1);\n transform: scale(1); }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box .dplayer-comment-setting-box::after {\n content: '';\n position: absolute;\n top: 100%;\n left: 50%;\n margin-left: -12px;\n background: url('data:image/svg+xml;utf8,');\n width: 24px;\n height: 12px; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box .dplayer-comment-setting-box input[type=radio] {\n display: none; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box .dplayer-comment-setting-box label {\n cursor: pointer; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-title {\n font-size: 14px;\n color: #555;\n padding: 6px; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-type {\n font-size: 0; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-type label:nth-child(2) span {\n border-radius: 4px 0 0 4px; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-type label:nth-child(4) span {\n border-radius: 0 4px 4px 0; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-type span {\n width: 33%;\n padding: 4px 6px;\n line-height: 16px;\n display: inline-block;\n font-size: 12px;\n color: #555;\n border: 1px solid #E4E4E6;\n margin-right: -1px;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n text-align: center;\n cursor: pointer; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-type input:checked + span {\n background: #E4E4E6; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-color {\n font-size: 0; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-color label {\n font-size: 0;\n padding: 6px;\n display: inline-block; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-color span {\n width: 22px;\n height: 22px;\n display: inline-block;\n border-radius: 50%;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n cursor: pointer; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-color span:hover {\n -webkit-animation: my-face 5s infinite ease-in-out;\n animation: my-face 5s infinite ease-in-out;\n -webkit-box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12);\n box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12); }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-color input:checked + span {\n -webkit-box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12);\n box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12);\n border: none !important; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box .dplayer-comment-input {\n outline: none;\n border: none;\n padding: 8px 31px;\n font-size: 14px;\n line-height: 18px;\n text-align: center;\n border-radius: 4px;\n width: 300px;\n background: #fff;\n margin: 0;\n height: auto; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box .dplayer-send-icon {\n height: 22px;\n width: 22px;\n position: absolute;\n top: 6px;\n right: 7px;\n padding: 0; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-label {\n color: #eee;\n font-size: 13px;\n display: inline-block;\n vertical-align: middle;\n white-space: nowrap; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-toggle {\n width: 32px;\n height: 20px;\n text-align: center;\n font-size: 0;\n vertical-align: middle;\n position: absolute;\n top: 5px;\n right: 10px; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-toggle input {\n max-height: 0;\n max-width: 0;\n display: none; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-toggle input + label {\n display: inline-block;\n position: relative;\n -webkit-box-shadow: #dfdfdf 0 0 0 0 inset;\n box-shadow: #dfdfdf 0 0 0 0 inset;\n border: 1px solid #dfdfdf;\n height: 20px;\n width: 32px;\n border-radius: 10px;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n cursor: pointer;\n -webkit-transition: .2s ease-in-out;\n transition: .2s ease-in-out; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-toggle input + label:before {\n content: \"\";\n position: absolute;\n display: block;\n height: 18px;\n width: 18px;\n top: 0;\n left: 0;\n border-radius: 15px;\n -webkit-transition: .2s ease-in-out;\n transition: .2s ease-in-out; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-toggle input + label:after {\n content: \"\";\n position: absolute;\n display: block;\n left: 0;\n top: 0;\n border-radius: 15px;\n background: #fff;\n -webkit-transition: .2s ease-in-out;\n transition: .2s ease-in-out;\n -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.4);\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.4);\n height: 18px;\n width: 18px; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-toggle input:checked + label {\n border-color: rgba(255, 255, 255, 0.5); }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-toggle input:checked + label:before {\n width: 30px;\n background: rgba(255, 255, 255, 0.5); }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-toggle input:checked + label:after {\n left: 12px; }\n .dplayer .dplayer-menu {\n position: absolute;\n width: 170px;\n border-radius: 2px;\n background: rgba(28, 28, 28, 0.85);\n padding: 5px 0;\n overflow: hidden;\n z-index: 3;\n display: none; }\n .dplayer .dplayer-menu.dplayer-menu-show {\n display: block; }\n .dplayer .dplayer-menu .dplayer-menu-item {\n height: 30px;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n cursor: pointer; }\n .dplayer .dplayer-menu .dplayer-menu-item:hover {\n background-color: rgba(255, 255, 255, 0.1); }\n .dplayer .dplayer-menu .dplayer-menu-item a {\n display: inline-block;\n padding: 0 10px;\n line-height: 30px;\n color: #eee;\n font-size: 13px;\n display: inline-block;\n vertical-align: middle;\n width: 100%;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden; }\n .dplayer .dplayer-menu .dplayer-menu-item a:hover {\n text-decoration: none; }\n .dplayer .dplayer-logo {\n pointer-events: none;\n position: absolute;\n left: 20px;\n top: 20px;\n max-width: 50px;\n max-height: 50px; }\n .dplayer .dplayer-logo img {\n max-width: 100%;\n max-height: 100%;\n background: none; }\n .dplayer .dplayer-notice {\n opacity: 0;\n position: absolute;\n bottom: 60px;\n left: 20px;\n font-size: 14px;\n border-radius: 2px;\n background: rgba(28, 28, 28, 0.9);\n padding: 7px 20px;\n -webkit-transition: all .3s ease-in-out;\n transition: all .3s ease-in-out;\n overflow: hidden;\n color: #fff;\n pointer-events: none; }\n\n@-webkit-keyframes my-face {\n 2% {\n -webkit-transform: translate(0, 1.5px) rotate(1.5deg);\n transform: translate(0, 1.5px) rotate(1.5deg); }\n 4% {\n -webkit-transform: translate(0, -1.5px) rotate(-0.5deg);\n transform: translate(0, -1.5px) rotate(-0.5deg); }\n 6% {\n -webkit-transform: translate(0, 1.5px) rotate(-1.5deg);\n transform: translate(0, 1.5px) rotate(-1.5deg); }\n 8% {\n -webkit-transform: translate(0, -1.5px) rotate(-1.5deg);\n transform: translate(0, -1.5px) rotate(-1.5deg); }\n 10% {\n -webkit-transform: translate(0, 2.5px) rotate(1.5deg);\n transform: translate(0, 2.5px) rotate(1.5deg); }\n 12% {\n -webkit-transform: translate(0, -0.5px) rotate(1.5deg);\n transform: translate(0, -0.5px) rotate(1.5deg); }\n 14% {\n -webkit-transform: translate(0, -1.5px) rotate(1.5deg);\n transform: translate(0, -1.5px) rotate(1.5deg); }\n 16% {\n -webkit-transform: translate(0, -0.5px) rotate(-1.5deg);\n transform: translate(0, -0.5px) rotate(-1.5deg); }\n 18% {\n -webkit-transform: translate(0, 0.5px) rotate(-1.5deg);\n transform: translate(0, 0.5px) rotate(-1.5deg); }\n 20% {\n -webkit-transform: translate(0, -1.5px) rotate(2.5deg);\n transform: translate(0, -1.5px) rotate(2.5deg); }\n 22% {\n -webkit-transform: translate(0, 0.5px) rotate(-1.5deg);\n transform: translate(0, 0.5px) rotate(-1.5deg); }\n 24% {\n -webkit-transform: translate(0, 1.5px) rotate(1.5deg);\n transform: translate(0, 1.5px) rotate(1.5deg); }\n 26% {\n -webkit-transform: translate(0, 0.5px) rotate(0.5deg);\n transform: translate(0, 0.5px) rotate(0.5deg); }\n 28% {\n -webkit-transform: translate(0, 0.5px) rotate(1.5deg);\n transform: translate(0, 0.5px) rotate(1.5deg); }\n 30% {\n -webkit-transform: translate(0, -0.5px) rotate(2.5deg);\n transform: translate(0, -0.5px) rotate(2.5deg); }\n 32% {\n -webkit-transform: translate(0, 1.5px) rotate(-0.5deg);\n transform: translate(0, 1.5px) rotate(-0.5deg); }\n 34% {\n -webkit-transform: translate(0, 1.5px) rotate(-0.5deg);\n transform: translate(0, 1.5px) rotate(-0.5deg); }\n 36% {\n -webkit-transform: translate(0, -1.5px) rotate(2.5deg);\n transform: translate(0, -1.5px) rotate(2.5deg); }\n 38% {\n -webkit-transform: translate(0, 1.5px) rotate(-1.5deg);\n transform: translate(0, 1.5px) rotate(-1.5deg); }\n 40% {\n -webkit-transform: translate(0, -0.5px) rotate(2.5deg);\n transform: translate(0, -0.5px) rotate(2.5deg); }\n 42% {\n -webkit-transform: translate(0, 2.5px) rotate(-1.5deg);\n transform: translate(0, 2.5px) rotate(-1.5deg); }\n 44% {\n -webkit-transform: translate(0, 1.5px) rotate(0.5deg);\n transform: translate(0, 1.5px) rotate(0.5deg); }\n 46% {\n -webkit-transform: translate(0, -1.5px) rotate(2.5deg);\n transform: translate(0, -1.5px) rotate(2.5deg); }\n 48% {\n -webkit-transform: translate(0, -0.5px) rotate(0.5deg);\n transform: translate(0, -0.5px) rotate(0.5deg); }\n 50% {\n -webkit-transform: translate(0, 0.5px) rotate(0.5deg);\n transform: translate(0, 0.5px) rotate(0.5deg); }\n 52% {\n -webkit-transform: translate(0, 2.5px) rotate(2.5deg);\n transform: translate(0, 2.5px) rotate(2.5deg); }\n 54% {\n -webkit-transform: translate(0, -1.5px) rotate(1.5deg);\n transform: translate(0, -1.5px) rotate(1.5deg); }\n 56% {\n -webkit-transform: translate(0, 2.5px) rotate(2.5deg);\n transform: translate(0, 2.5px) rotate(2.5deg); }\n 58% {\n -webkit-transform: translate(0, 0.5px) rotate(2.5deg);\n transform: translate(0, 0.5px) rotate(2.5deg); }\n 60% {\n -webkit-transform: translate(0, 2.5px) rotate(2.5deg);\n transform: translate(0, 2.5px) rotate(2.5deg); }\n 62% {\n -webkit-transform: translate(0, -0.5px) rotate(2.5deg);\n transform: translate(0, -0.5px) rotate(2.5deg); }\n 64% {\n -webkit-transform: translate(0, -0.5px) rotate(1.5deg);\n transform: translate(0, -0.5px) rotate(1.5deg); }\n 66% {\n -webkit-transform: translate(0, 1.5px) rotate(-0.5deg);\n transform: translate(0, 1.5px) rotate(-0.5deg); }\n 68% {\n -webkit-transform: translate(0, -1.5px) rotate(-0.5deg);\n transform: translate(0, -1.5px) rotate(-0.5deg); }\n 70% {\n -webkit-transform: translate(0, 1.5px) rotate(0.5deg);\n transform: translate(0, 1.5px) rotate(0.5deg); }\n 72% {\n -webkit-transform: translate(0, 2.5px) rotate(1.5deg);\n transform: translate(0, 2.5px) rotate(1.5deg); }\n 74% {\n -webkit-transform: translate(0, -0.5px) rotate(0.5deg);\n transform: translate(0, -0.5px) rotate(0.5deg); }\n 76% {\n -webkit-transform: translate(0, -0.5px) rotate(2.5deg);\n transform: translate(0, -0.5px) rotate(2.5deg); }\n 78% {\n -webkit-transform: translate(0, -0.5px) rotate(1.5deg);\n transform: translate(0, -0.5px) rotate(1.5deg); }\n 80% {\n -webkit-transform: translate(0, 1.5px) rotate(1.5deg);\n transform: translate(0, 1.5px) rotate(1.5deg); }\n 82% {\n -webkit-transform: translate(0, -0.5px) rotate(0.5deg);\n transform: translate(0, -0.5px) rotate(0.5deg); }\n 84% {\n -webkit-transform: translate(0, 1.5px) rotate(2.5deg);\n transform: translate(0, 1.5px) rotate(2.5deg); }\n 86% {\n -webkit-transform: translate(0, -1.5px) rotate(-1.5deg);\n transform: translate(0, -1.5px) rotate(-1.5deg); }\n 88% {\n -webkit-transform: translate(0, -0.5px) rotate(2.5deg);\n transform: translate(0, -0.5px) rotate(2.5deg); }\n 90% {\n -webkit-transform: translate(0, 2.5px) rotate(-0.5deg);\n transform: translate(0, 2.5px) rotate(-0.5deg); }\n 92% {\n -webkit-transform: translate(0, 0.5px) rotate(-0.5deg);\n transform: translate(0, 0.5px) rotate(-0.5deg); }\n 94% {\n -webkit-transform: translate(0, 2.5px) rotate(0.5deg);\n transform: translate(0, 2.5px) rotate(0.5deg); }\n 96% {\n -webkit-transform: translate(0, -0.5px) rotate(1.5deg);\n transform: translate(0, -0.5px) rotate(1.5deg); }\n 98% {\n -webkit-transform: translate(0, -1.5px) rotate(-0.5deg);\n transform: translate(0, -1.5px) rotate(-0.5deg); }\n 0%, 100% {\n -webkit-transform: translate(0, 0) rotate(0deg);\n transform: translate(0, 0) rotate(0deg); } }\n\n@keyframes my-face {\n 2% {\n -webkit-transform: translate(0, 1.5px) rotate(1.5deg);\n transform: translate(0, 1.5px) rotate(1.5deg); }\n 4% {\n -webkit-transform: translate(0, -1.5px) rotate(-0.5deg);\n transform: translate(0, -1.5px) rotate(-0.5deg); }\n 6% {\n -webkit-transform: translate(0, 1.5px) rotate(-1.5deg);\n transform: translate(0, 1.5px) rotate(-1.5deg); }\n 8% {\n -webkit-transform: translate(0, -1.5px) rotate(-1.5deg);\n transform: translate(0, -1.5px) rotate(-1.5deg); }\n 10% {\n -webkit-transform: translate(0, 2.5px) rotate(1.5deg);\n transform: translate(0, 2.5px) rotate(1.5deg); }\n 12% {\n -webkit-transform: translate(0, -0.5px) rotate(1.5deg);\n transform: translate(0, -0.5px) rotate(1.5deg); }\n 14% {\n -webkit-transform: translate(0, -1.5px) rotate(1.5deg);\n transform: translate(0, -1.5px) rotate(1.5deg); }\n 16% {\n -webkit-transform: translate(0, -0.5px) rotate(-1.5deg);\n transform: translate(0, -0.5px) rotate(-1.5deg); }\n 18% {\n -webkit-transform: translate(0, 0.5px) rotate(-1.5deg);\n transform: translate(0, 0.5px) rotate(-1.5deg); }\n 20% {\n -webkit-transform: translate(0, -1.5px) rotate(2.5deg);\n transform: translate(0, -1.5px) rotate(2.5deg); }\n 22% {\n -webkit-transform: translate(0, 0.5px) rotate(-1.5deg);\n transform: translate(0, 0.5px) rotate(-1.5deg); }\n 24% {\n -webkit-transform: translate(0, 1.5px) rotate(1.5deg);\n transform: translate(0, 1.5px) rotate(1.5deg); }\n 26% {\n -webkit-transform: translate(0, 0.5px) rotate(0.5deg);\n transform: translate(0, 0.5px) rotate(0.5deg); }\n 28% {\n -webkit-transform: translate(0, 0.5px) rotate(1.5deg);\n transform: translate(0, 0.5px) rotate(1.5deg); }\n 30% {\n -webkit-transform: translate(0, -0.5px) rotate(2.5deg);\n transform: translate(0, -0.5px) rotate(2.5deg); }\n 32% {\n -webkit-transform: translate(0, 1.5px) rotate(-0.5deg);\n transform: translate(0, 1.5px) rotate(-0.5deg); }\n 34% {\n -webkit-transform: translate(0, 1.5px) rotate(-0.5deg);\n transform: translate(0, 1.5px) rotate(-0.5deg); }\n 36% {\n -webkit-transform: translate(0, -1.5px) rotate(2.5deg);\n transform: translate(0, -1.5px) rotate(2.5deg); }\n 38% {\n -webkit-transform: translate(0, 1.5px) rotate(-1.5deg);\n transform: translate(0, 1.5px) rotate(-1.5deg); }\n 40% {\n -webkit-transform: translate(0, -0.5px) rotate(2.5deg);\n transform: translate(0, -0.5px) rotate(2.5deg); }\n 42% {\n -webkit-transform: translate(0, 2.5px) rotate(-1.5deg);\n transform: translate(0, 2.5px) rotate(-1.5deg); }\n 44% {\n -webkit-transform: translate(0, 1.5px) rotate(0.5deg);\n transform: translate(0, 1.5px) rotate(0.5deg); }\n 46% {\n -webkit-transform: translate(0, -1.5px) rotate(2.5deg);\n transform: translate(0, -1.5px) rotate(2.5deg); }\n 48% {\n -webkit-transform: translate(0, -0.5px) rotate(0.5deg);\n transform: translate(0, -0.5px) rotate(0.5deg); }\n 50% {\n -webkit-transform: translate(0, 0.5px) rotate(0.5deg);\n transform: translate(0, 0.5px) rotate(0.5deg); }\n 52% {\n -webkit-transform: translate(0, 2.5px) rotate(2.5deg);\n transform: translate(0, 2.5px) rotate(2.5deg); }\n 54% {\n -webkit-transform: translate(0, -1.5px) rotate(1.5deg);\n transform: translate(0, -1.5px) rotate(1.5deg); }\n 56% {\n -webkit-transform: translate(0, 2.5px) rotate(2.5deg);\n transform: translate(0, 2.5px) rotate(2.5deg); }\n 58% {\n -webkit-transform: translate(0, 0.5px) rotate(2.5deg);\n transform: translate(0, 0.5px) rotate(2.5deg); }\n 60% {\n -webkit-transform: translate(0, 2.5px) rotate(2.5deg);\n transform: translate(0, 2.5px) rotate(2.5deg); }\n 62% {\n -webkit-transform: translate(0, -0.5px) rotate(2.5deg);\n transform: translate(0, -0.5px) rotate(2.5deg); }\n 64% {\n -webkit-transform: translate(0, -0.5px) rotate(1.5deg);\n transform: translate(0, -0.5px) rotate(1.5deg); }\n 66% {\n -webkit-transform: translate(0, 1.5px) rotate(-0.5deg);\n transform: translate(0, 1.5px) rotate(-0.5deg); }\n 68% {\n -webkit-transform: translate(0, -1.5px) rotate(-0.5deg);\n transform: translate(0, -1.5px) rotate(-0.5deg); }\n 70% {\n -webkit-transform: translate(0, 1.5px) rotate(0.5deg);\n transform: translate(0, 1.5px) rotate(0.5deg); }\n 72% {\n -webkit-transform: translate(0, 2.5px) rotate(1.5deg);\n transform: translate(0, 2.5px) rotate(1.5deg); }\n 74% {\n -webkit-transform: translate(0, -0.5px) rotate(0.5deg);\n transform: translate(0, -0.5px) rotate(0.5deg); }\n 76% {\n -webkit-transform: translate(0, -0.5px) rotate(2.5deg);\n transform: translate(0, -0.5px) rotate(2.5deg); }\n 78% {\n -webkit-transform: translate(0, -0.5px) rotate(1.5deg);\n transform: translate(0, -0.5px) rotate(1.5deg); }\n 80% {\n -webkit-transform: translate(0, 1.5px) rotate(1.5deg);\n transform: translate(0, 1.5px) rotate(1.5deg); }\n 82% {\n -webkit-transform: translate(0, -0.5px) rotate(0.5deg);\n transform: translate(0, -0.5px) rotate(0.5deg); }\n 84% {\n -webkit-transform: translate(0, 1.5px) rotate(2.5deg);\n transform: translate(0, 1.5px) rotate(2.5deg); }\n 86% {\n -webkit-transform: translate(0, -1.5px) rotate(-1.5deg);\n transform: translate(0, -1.5px) rotate(-1.5deg); }\n 88% {\n -webkit-transform: translate(0, -0.5px) rotate(2.5deg);\n transform: translate(0, -0.5px) rotate(2.5deg); }\n 90% {\n -webkit-transform: translate(0, 2.5px) rotate(-0.5deg);\n transform: translate(0, 2.5px) rotate(-0.5deg); }\n 92% {\n -webkit-transform: translate(0, 0.5px) rotate(-0.5deg);\n transform: translate(0, 0.5px) rotate(-0.5deg); }\n 94% {\n -webkit-transform: translate(0, 2.5px) rotate(0.5deg);\n transform: translate(0, 2.5px) rotate(0.5deg); }\n 96% {\n -webkit-transform: translate(0, -0.5px) rotate(1.5deg);\n transform: translate(0, -0.5px) rotate(1.5deg); }\n 98% {\n -webkit-transform: translate(0, -1.5px) rotate(-0.5deg);\n transform: translate(0, -1.5px) rotate(-0.5deg); }\n 0%, 100% {\n -webkit-transform: translate(0, 0) rotate(0deg);\n transform: translate(0, 0) rotate(0deg); } }\n\n[data-balloon]:before {\n display: none; }\n\n[data-balloon]:after {\n padding: 0.3em 0.7em;\n background: rgba(17, 17, 17, 0.7); }\n\n[data-balloon][data-balloon-pos=\"up\"]:after {\n margin-bottom: 0; }\n\n\n\n// WEBPACK FOOTER //\n// ./src/DPlayer.scss"],"sourceRoot":""} \ No newline at end of file diff --git a/dist/DPlayer.min.js b/dist/DPlayer.min.js index 9522899b0..ae32edf5f 100644 --- a/dist/DPlayer.min.js +++ b/dist/DPlayer.min.js @@ -1,2 +1,2 @@ -!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("DPlayer",[],t):"object"==typeof exports?exports.DPlayer=t():e.DPlayer=t()}(this,function(){return function(e){function t(a){if(n[a])return n[a].exports;var i=n[a]={i:a,l:!1,exports:{}};return e[a].call(i.exports,i,i.exports,t),i.l=!0,i.exports}var n={};return t.m=e,t.c=n,t.d=function(e,n,a){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:a})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="/",t(t.s=2)}([function(e,t,n){"use strict";e.exports={secondToTime:function(e){var t=function(e){return e<10?"0"+e:""+e},n=parseInt(e/60),a=parseInt(e-60*n);return t(n)+":"+t(a)},getElementViewLeft:function(e){var t=e.offsetLeft,n=e.offsetParent,a=document.body.scrollLeft+document.documentElement.scrollLeft;if(document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement)for(;null!==n&&n!==e;)t+=n.offsetLeft,n=n.offsetParent;else for(;null!==n;)t+=n.offsetLeft,n=n.offsetParent;return t-a},isMobile:/mobile/i.test(window.navigator.userAgent),storage:{set:function(e,t){localStorage.setItem(e,t)},get:function(e){return localStorage.getItem(e)}}}},function(e,t,n){"use strict";var a={play:["0 0 16 32","M15.552 15.168q0.448 0.32 0.448 0.832 0 0.448-0.448 0.768l-13.696 8.512q-0.768 0.512-1.312 0.192t-0.544-1.28v-16.448q0-0.96 0.544-1.28t1.312 0.192z"],pause:["0 0 17 32","M14.080 4.8q2.88 0 2.88 2.048v18.24q0 2.112-2.88 2.112t-2.88-2.112v-18.24q0-2.048 2.88-2.048zM2.88 4.8q2.88 0 2.88 2.048v18.24q0 2.112-2.88 2.112t-2.88-2.112v-18.24q0-2.048 2.88-2.048z"],"volume-up":["0 0 21 32","M13.728 6.272v19.456q0 0.448-0.352 0.8t-0.8 0.32-0.8-0.32l-5.952-5.952h-4.672q-0.48 0-0.8-0.352t-0.352-0.8v-6.848q0-0.48 0.352-0.8t0.8-0.352h4.672l5.952-5.952q0.32-0.32 0.8-0.32t0.8 0.32 0.352 0.8zM20.576 16q0 1.344-0.768 2.528t-2.016 1.664q-0.16 0.096-0.448 0.096-0.448 0-0.8-0.32t-0.32-0.832q0-0.384 0.192-0.64t0.544-0.448 0.608-0.384 0.512-0.64 0.192-1.024-0.192-1.024-0.512-0.64-0.608-0.384-0.544-0.448-0.192-0.64q0-0.48 0.32-0.832t0.8-0.32q0.288 0 0.448 0.096 1.248 0.48 2.016 1.664t0.768 2.528zM25.152 16q0 2.72-1.536 5.056t-4 3.36q-0.256 0.096-0.448 0.096-0.48 0-0.832-0.352t-0.32-0.8q0-0.704 0.672-1.056 1.024-0.512 1.376-0.8 1.312-0.96 2.048-2.4t0.736-3.104-0.736-3.104-2.048-2.4q-0.352-0.288-1.376-0.8-0.672-0.352-0.672-1.056 0-0.448 0.32-0.8t0.8-0.352q0.224 0 0.48 0.096 2.496 1.056 4 3.36t1.536 5.056zM29.728 16q0 4.096-2.272 7.552t-6.048 5.056q-0.224 0.096-0.448 0.096-0.48 0-0.832-0.352t-0.32-0.8q0-0.64 0.704-1.056 0.128-0.064 0.384-0.192t0.416-0.192q0.8-0.448 1.44-0.896 2.208-1.632 3.456-4.064t1.216-5.152-1.216-5.152-3.456-4.064q-0.64-0.448-1.44-0.896-0.128-0.096-0.416-0.192t-0.384-0.192q-0.704-0.416-0.704-1.056 0-0.448 0.32-0.8t0.832-0.352q0.224 0 0.448 0.096 3.776 1.632 6.048 5.056t2.272 7.552z"],"volume-down":["0 0 21 32","M13.728 6.272v19.456q0 0.448-0.352 0.8t-0.8 0.32-0.8-0.32l-5.952-5.952h-4.672q-0.48 0-0.8-0.352t-0.352-0.8v-6.848q0-0.48 0.352-0.8t0.8-0.352h4.672l5.952-5.952q0.32-0.32 0.8-0.32t0.8 0.32 0.352 0.8zM20.576 16q0 1.344-0.768 2.528t-2.016 1.664q-0.16 0.096-0.448 0.096-0.448 0-0.8-0.32t-0.32-0.832q0-0.384 0.192-0.64t0.544-0.448 0.608-0.384 0.512-0.64 0.192-1.024-0.192-1.024-0.512-0.64-0.608-0.384-0.544-0.448-0.192-0.64q0-0.48 0.32-0.832t0.8-0.32q0.288 0 0.448 0.096 1.248 0.48 2.016 1.664t0.768 2.528z"],"volume-off":["0 0 21 32","M13.728 6.272v19.456q0 0.448-0.352 0.8t-0.8 0.32-0.8-0.32l-5.952-5.952h-4.672q-0.48 0-0.8-0.352t-0.352-0.8v-6.848q0-0.48 0.352-0.8t0.8-0.352h4.672l5.952-5.952q0.32-0.32 0.8-0.32t0.8 0.32 0.352 0.8z"],loop:["0 0 32 32","M1.882 16.941c0 4.152 3.221 7.529 7.177 7.529v1.882c-4.996 0-9.060-4.222-9.060-9.412s4.064-9.412 9.060-9.412h7.96l-3.098-3.098 1.331-1.331 5.372 5.37-5.37 5.372-1.333-1.333 3.1-3.098h-7.962c-3.957 0-7.177 3.377-7.177 7.529zM22.94 7.529v1.882c3.957 0 7.177 3.377 7.177 7.529s-3.221 7.529-7.177 7.529h-7.962l3.098-3.098-1.331-1.331-5.37 5.37 5.372 5.372 1.331-1.331-3.1-3.1h7.96c4.998 0 9.062-4.222 9.062-9.412s-4.064-9.412-9.060-9.412z"],full:["0 0 32 33","M6.667 28h-5.333c-0.8 0-1.333-0.533-1.333-1.333v-5.333c0-0.8 0.533-1.333 1.333-1.333s1.333 0.533 1.333 1.333v4h4c0.8 0 1.333 0.533 1.333 1.333s-0.533 1.333-1.333 1.333zM30.667 28h-5.333c-0.8 0-1.333-0.533-1.333-1.333s0.533-1.333 1.333-1.333h4v-4c0-0.8 0.533-1.333 1.333-1.333s1.333 0.533 1.333 1.333v5.333c0 0.8-0.533 1.333-1.333 1.333zM30.667 12c-0.8 0-1.333-0.533-1.333-1.333v-4h-4c-0.8 0-1.333-0.533-1.333-1.333s0.533-1.333 1.333-1.333h5.333c0.8 0 1.333 0.533 1.333 1.333v5.333c0 0.8-0.533 1.333-1.333 1.333zM1.333 12c-0.8 0-1.333-0.533-1.333-1.333v-5.333c0-0.8 0.533-1.333 1.333-1.333h5.333c0.8 0 1.333 0.533 1.333 1.333s-0.533 1.333-1.333 1.333h-4v4c0 0.8-0.533 1.333-1.333 1.333z"],"full-in":["0 0 32 33","M24.965 24.38h-18.132c-1.366 0-2.478-1.113-2.478-2.478v-11.806c0-1.364 1.111-2.478 2.478-2.478h18.132c1.366 0 2.478 1.113 2.478 2.478v11.806c0 1.364-1.11 2.478-2.478 2.478zM6.833 10.097v11.806h18.134l-0.002-11.806h-18.132zM2.478 28.928h5.952c0.684 0 1.238-0.554 1.238-1.239 0-0.684-0.554-1.238-1.238-1.238h-5.952v-5.802c0-0.684-0.554-1.239-1.238-1.239s-1.239 0.556-1.239 1.239v5.802c0 1.365 1.111 2.478 2.478 2.478zM30.761 19.412c-0.684 0-1.238 0.554-1.238 1.238v5.801h-5.951c-0.686 0-1.239 0.554-1.239 1.238 0 0.686 0.554 1.239 1.239 1.239h5.951c1.366 0 2.478-1.111 2.478-2.478v-5.801c0-0.683-0.554-1.238-1.239-1.238zM0 5.55v5.802c0 0.683 0.554 1.238 1.238 1.238s1.238-0.555 1.238-1.238v-5.802h5.952c0.684 0 1.238-0.554 1.238-1.238s-0.554-1.238-1.238-1.238h-5.951c-1.366-0.001-2.478 1.111-2.478 2.476zM32 11.35v-5.801c0-1.365-1.11-2.478-2.478-2.478h-5.951c-0.686 0-1.239 0.554-1.239 1.238s0.554 1.238 1.239 1.238h5.951v5.801c0 0.683 0.554 1.237 1.238 1.237 0.686 0.002 1.239-0.553 1.239-1.236z"],setting:["0 0 32 28","M28.633 17.104c0.035 0.21 0.026 0.463-0.026 0.76s-0.14 0.598-0.262 0.904c-0.122 0.306-0.271 0.581-0.445 0.825s-0.367 0.419-0.576 0.524c-0.209 0.105-0.393 0.157-0.55 0.157s-0.332-0.035-0.524-0.105c-0.175-0.052-0.393-0.1-0.655-0.144s-0.528-0.052-0.799-0.026c-0.271 0.026-0.541 0.083-0.812 0.17s-0.502 0.236-0.694 0.445c-0.419 0.437-0.664 0.934-0.734 1.493s0.009 1.092 0.236 1.598c0.175 0.349 0.148 0.699-0.079 1.048-0.105 0.14-0.271 0.284-0.498 0.432s-0.476 0.284-0.747 0.406-0.555 0.218-0.851 0.288c-0.297 0.070-0.559 0.105-0.786 0.105-0.157 0-0.306-0.061-0.445-0.183s-0.236-0.253-0.288-0.393h-0.026c-0.192-0.541-0.52-1.009-0.982-1.402s-1-0.589-1.611-0.589c-0.594 0-1.131 0.197-1.611 0.589s-0.816 0.851-1.009 1.375c-0.087 0.21-0.218 0.362-0.393 0.458s-0.367 0.144-0.576 0.144c-0.244 0-0.52-0.044-0.825-0.131s-0.611-0.197-0.917-0.327c-0.306-0.131-0.581-0.284-0.825-0.458s-0.428-0.349-0.55-0.524c-0.087-0.122-0.135-0.266-0.144-0.432s0.057-0.397 0.197-0.694c0.192-0.402 0.266-0.86 0.223-1.375s-0.266-0.991-0.668-1.428c-0.244-0.262-0.541-0.432-0.891-0.511s-0.681-0.109-0.995-0.092c-0.367 0.017-0.742 0.087-1.127 0.21-0.244 0.070-0.489 0.052-0.734-0.052-0.192-0.070-0.371-0.231-0.537-0.485s-0.314-0.533-0.445-0.838c-0.131-0.306-0.231-0.62-0.301-0.943s-0.087-0.59-0.052-0.799c0.052-0.384 0.227-0.629 0.524-0.734 0.524-0.21 0.995-0.555 1.415-1.035s0.629-1.017 0.629-1.611c0-0.611-0.21-1.144-0.629-1.598s-0.891-0.786-1.415-0.996c-0.157-0.052-0.288-0.179-0.393-0.38s-0.157-0.406-0.157-0.616c0-0.227 0.035-0.48 0.105-0.76s0.162-0.55 0.275-0.812 0.244-0.502 0.393-0.72c0.148-0.218 0.31-0.38 0.485-0.485 0.14-0.087 0.275-0.122 0.406-0.105s0.275 0.052 0.432 0.105c0.524 0.21 1.070 0.275 1.637 0.197s1.070-0.327 1.506-0.747c0.21-0.209 0.362-0.467 0.458-0.773s0.157-0.607 0.183-0.904c0.026-0.297 0.026-0.568 0-0.812s-0.048-0.419-0.065-0.524c-0.035-0.105-0.066-0.227-0.092-0.367s-0.013-0.262 0.039-0.367c0.105-0.244 0.293-0.458 0.563-0.642s0.563-0.336 0.878-0.458c0.314-0.122 0.62-0.214 0.917-0.275s0.533-0.092 0.707-0.092c0.227 0 0.406 0.074 0.537 0.223s0.223 0.301 0.275 0.458c0.192 0.471 0.507 0.886 0.943 1.244s0.952 0.537 1.546 0.537c0.611 0 1.153-0.17 1.624-0.511s0.803-0.773 0.996-1.297c0.070-0.14 0.179-0.284 0.327-0.432s0.301-0.223 0.458-0.223c0.244 0 0.511 0.035 0.799 0.105s0.572 0.166 0.851 0.288c0.279 0.122 0.537 0.279 0.773 0.472s0.423 0.402 0.563 0.629c0.087 0.14 0.113 0.293 0.079 0.458s-0.070 0.284-0.105 0.354c-0.227 0.506-0.297 1.039-0.21 1.598s0.341 1.048 0.76 1.467c0.419 0.419 0.934 0.651 1.546 0.694s1.179-0.057 1.703-0.301c0.14-0.087 0.31-0.122 0.511-0.105s0.371 0.096 0.511 0.236c0.262 0.244 0.493 0.616 0.694 1.113s0.336 1 0.406 1.506c0.035 0.297-0.013 0.528-0.144 0.694s-0.266 0.275-0.406 0.327c-0.542 0.192-1.004 0.528-1.388 1.009s-0.576 1.026-0.576 1.637c0 0.594 0.162 1.113 0.485 1.559s0.747 0.764 1.27 0.956c0.122 0.070 0.227 0.14 0.314 0.21 0.192 0.157 0.323 0.358 0.393 0.602v0zM16.451 19.462c0.786 0 1.528-0.149 2.227-0.445s1.305-0.707 1.821-1.231c0.515-0.524 0.921-1.131 1.218-1.821s0.445-1.428 0.445-2.214c0-0.786-0.148-1.524-0.445-2.214s-0.703-1.292-1.218-1.808c-0.515-0.515-1.122-0.921-1.821-1.218s-1.441-0.445-2.227-0.445c-0.786 0-1.524 0.148-2.214 0.445s-1.292 0.703-1.808 1.218c-0.515 0.515-0.921 1.118-1.218 1.808s-0.445 1.428-0.445 2.214c0 0.786 0.149 1.524 0.445 2.214s0.703 1.297 1.218 1.821c0.515 0.524 1.118 0.934 1.808 1.231s1.428 0.445 2.214 0.445v0z"],right:["0 0 32 32","M22 16l-10.105-10.6-1.895 1.987 8.211 8.613-8.211 8.612 1.895 1.988 8.211-8.613z"],comment:["0 0 32 32","M27.128 0.38h-22.553c-2.336 0-4.229 1.825-4.229 4.076v16.273c0 2.251 1.893 4.076 4.229 4.076h4.229v-2.685h8.403l-8.784 8.072 1.566 1.44 7.429-6.827h9.71c2.335 0 4.229-1.825 4.229-4.076v-16.273c0-2.252-1.894-4.076-4.229-4.076zM28.538 19.403c0 1.5-1.262 2.717-2.819 2.717h-8.36l-0.076-0.070-0.076 0.070h-11.223c-1.557 0-2.819-1.217-2.819-2.717v-13.589c0-1.501 1.262-2.718 2.819-2.718h19.734c1.557 0 2.819-0.141 2.819 1.359v14.947zM9.206 10.557c-1.222 0-2.215 0.911-2.215 2.036s0.992 2.035 2.215 2.035c1.224 0 2.216-0.911 2.216-2.035s-0.992-2.036-2.216-2.036zM22.496 10.557c-1.224 0-2.215 0.911-2.215 2.036s0.991 2.035 2.215 2.035c1.224 0 2.215-0.911 2.215-2.035s-0.991-2.036-2.215-2.036zM15.852 10.557c-1.224 0-2.215 0.911-2.215 2.036s0.991 2.035 2.215 2.035c1.222 0 2.215-0.911 2.215-2.035s-0.992-2.036-2.215-2.036z"],"comment-off":["0 0 32 32","M27.090 0.131h-22.731c-2.354 0-4.262 1.839-4.262 4.109v16.401c0 2.269 1.908 4.109 4.262 4.109h4.262v-2.706h8.469l-8.853 8.135 1.579 1.451 7.487-6.88h9.787c2.353 0 4.262-1.84 4.262-4.109v-16.401c0-2.27-1.909-4.109-4.262-4.109v0zM28.511 19.304c0 1.512-1.272 2.738-2.841 2.738h-8.425l-0.076-0.070-0.076 0.070h-11.311c-1.569 0-2.841-1.226-2.841-2.738v-13.696c0-1.513 1.272-2.739 2.841-2.739h19.889c1.569 0 2.841-0.142 2.841 1.37v15.064z"],send:["0 0 32 32","M13.725 30l3.9-5.325-3.9-1.125v6.45zM0 17.5l11.050 3.35 13.6-11.55-10.55 12.425 11.8 3.65 6.1-23.375-32 15.5z"],menu:["0 0 22 32","M20.8 14.4q0.704 0 1.152 0.48t0.448 1.12-0.48 1.12-1.12 0.48h-19.2q-0.64 0-1.12-0.48t-0.48-1.12 0.448-1.12 1.152-0.48h19.2zM1.6 11.2q-0.64 0-1.12-0.48t-0.48-1.12 0.448-1.12 1.152-0.48h19.2q0.704 0 1.152 0.48t0.448 1.12-0.48 1.12-1.12 0.48h-19.2zM20.8 20.8q0.704 0 1.152 0.48t0.448 1.12-0.48 1.12-1.12 0.48h-19.2q-0.64 0-1.12-0.48t-0.48-1.12 0.448-1.12 1.152-0.48h19.2z"],camera:["0 0 32 32","M16 23c-3.309 0-6-2.691-6-6s2.691-6 6-6 6 2.691 6 6-2.691 6-6 6zM16 13c-2.206 0-4 1.794-4 4s1.794 4 4 4c2.206 0 4-1.794 4-4s-1.794-4-4-4zM27 28h-22c-1.654 0-3-1.346-3-3v-16c0-1.654 1.346-3 3-3h3c0.552 0 1 0.448 1 1s-0.448 1-1 1h-3c-0.551 0-1 0.449-1 1v16c0 0.552 0.449 1 1 1h22c0.552 0 1-0.448 1-1v-16c0-0.551-0.448-1-1-1h-11c-0.552 0-1-0.448-1-1s0.448-1 1-1h11c1.654 0 3 1.346 3 3v16c0 1.654-1.346 3-3 3zM24 10.5c0 0.828 0.672 1.5 1.5 1.5s1.5-0.672 1.5-1.5c0-0.828-0.672-1.5-1.5-1.5s-1.5 0.672-1.5 1.5zM15 4c0 0.552-0.448 1-1 1h-4c-0.552 0-1-0.448-1-1v0c0-0.552 0.448-1 1-1h4c0.552 0 1 0.448 1 1v0z"]};e.exports=function(e){return'\n'}},function(e,t,n){"use strict";console.log("\n %c DPlayer 1.11.0 2323e73 %c http://dplayer.js.org \n\n","color: #fadfa3; background: #030307; padding:5px 0;","background: #fadfa3; padding:5px 0;"),e.exports=n(3)},function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var s=function(){function e(e,t){for(var n=0;n0?t:0,t=t<1?t:1,a[e+"Bar"].style[n]=100*t+"%"},document.addEventListener("click",function(){n.focus=!1},!0),this.container.addEventListener("click",function(){n.focus=!0},!0),this.options.danmaku&&(this.danmaku=new f.default({container:this.container.getElementsByClassName("dplayer-danmaku")[0],opacity:this.user.get("opacity"),callback:function(){n.container.getElementsByClassName("dplayer-danloading")[0].style.display="none",n.options.autoplay&&!o.isMobile?n.play():o.isMobile&&n.pause()},error:function(e){n.notice(e)},apiBackend:this.options.apiBackend,borderColor:this.options.theme,height:this.arrow?24:30,time:function(){return n.video.currentTime},unlimited:this.user.get("unlimited"),api:{id:this.options.danmaku.id,address:this.options.danmaku.api,token:this.options.danmaku.token,maximum:this.options.danmaku.maximum,addition:this.options.danmaku.addition,user:this.options.danmaku.user},events:this.events})),this.arrow=this.container.offsetWidth<=500,this.arrow){var p=document.createElement("style");p.innerHTML=".dplayer .dplayer-danmaku{font-size:18px}",document.head.appendChild(p)}this.video=this.container.getElementsByClassName("dplayer-video-current")[0],this.bezel=this.container.getElementsByClassName("dplayer-bezel-icon")[0],this.bezel.addEventListener("animationend",function(){n.bezel.classList.remove("dplayer-bezel-transition")}),this.playButton=this.container.getElementsByClassName("dplayer-play-icon")[0],this.paused=!0,this.playButton.addEventListener("click",function(){n.toggle()});var h=this.container.getElementsByClassName("dplayer-video-wrap")[0],v=this.container.getElementsByClassName("dplayer-controller-mask")[0];if(o.isMobile){var g=function(){n.container.classList.contains("dplayer-hide-controller")?n.container.classList.remove("dplayer-hide-controller"):n.container.classList.add("dplayer-hide-controller")};h.addEventListener("click",g),v.addEventListener("click",g)}else h.addEventListener("click",function(){n.toggle()}),v.addEventListener("click",function(){n.toggle()});var k=0,b=0,E=!1;window.requestAnimationFrame=function(){return window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(e){window.setTimeout(e,1e3/60)}}();var x=function(){n.checkLoading=setInterval(function(){b=n.video.currentTime,E||b!==k||n.video.paused||(n.container.classList.add("dplayer-loading"),E=!0),E&&b>k&&!n.video.paused&&(n.container.classList.remove("dplayer-loading"),E=!1),k=b},100)},B=function(){clearInterval(n.checkLoading)};this.playedTime=!1,this.animationFrame=function(){n.playedTime&&(n.updateBar("played",n.video.currentTime/n.video.duration,"width"),n.container.getElementsByClassName("dplayer-ptime")[0].innerHTML=l.default.secondToTime(n.video.currentTime)),window.requestAnimationFrame(n.animationFrame)},window.requestAnimationFrame(this.animationFrame),this.setTime=function(e){e?(n[e+"Time"]=!0,"played"===e&&x()):(n.playedTime=!0,x())},this.clearTime=function(e){e?(n[e+"Time"]=!1,"played"===e&&B()):(n.playedTime=!1,B())},this.options.video.thumbnails&&this.initThumbnails(),this.isTimeTipsShow=!0,this.mouseHandler=this.mouseHandler(s,r).bind(this),s.addEventListener("mousemove",this.mouseHandler),s.addEventListener("mouseenter",this.mouseHandler),s.addEventListener("mouseleave",this.mouseHandler);var C=function(e){var t=(e.clientX-l.default.getElementViewLeft(s))/c;t=t>0?t:0,t=t<1?t:1,n.updateBar("played",t,"width"),n.container.getElementsByClassName("dplayer-ptime")[0].innerHTML=l.default.secondToTime(t*n.video.duration)},M=function e(t){document.removeEventListener("mouseup",e),document.removeEventListener("mousemove",C);var i=(t.clientX-l.default.getElementViewLeft(s))/c;i=i>0?i:0,i=i<1?i:1,n.updateBar("played",i,"width"),n.seek(parseFloat(a.playedBar.style.width)/100*n.video.duration),n.setTime()};s.addEventListener("mousedown",function(){c=s.clientWidth,n.clearTime(),document.addEventListener("mousemove",C),document.addEventListener("mouseup",M)});var S=this.container.getElementsByClassName("dplayer-volume")[0],z=this.container.getElementsByClassName("dplayer-volume-bar-wrap")[0],N=this.container.getElementsByClassName("dplayer-volume-bar")[0],F=this.container.getElementsByClassName("dplayer-volume-icon")[0].getElementsByClassName("dplayer-icon-content")[0];this.switchVolumeIcon=function(){n.volume()>=.95?F.innerHTML=(0,d.default)("volume-up"):n.volume()>0?F.innerHTML=(0,d.default)("volume-down"):F.innerHTML=(0,d.default)("volume-off")};var _=function(e){var t=e||window.event,a=(t.clientX-l.default.getElementViewLeft(N)-5.5)/35;n.volume(a)},P=function e(){document.removeEventListener("mouseup",e),document.removeEventListener("mousemove",_),S.classList.remove("dplayer-volume-active")};z.addEventListener("click",function(e){var t=e||window.event,a=(t.clientX-l.default.getElementViewLeft(N)-5.5)/35;n.volume(a)}),z.addEventListener("mousedown",function(){document.addEventListener("mousemove",_),document.addEventListener("mouseup",P),S.classList.add("dplayer-volume-active")}),F.addEventListener("click",function(){n.video.muted?(n.video.muted=!1,n.switchVolumeIcon(),n.updateBar("volume",n.volume(),"width")):(n.video.muted=!0,F.innerHTML=(0,d.default)("volume-off"),n.updateBar("volume",0,"width"))}),this.hideTime=0;var D=function(){n.container.classList.remove("dplayer-hide-controller"),clearTimeout(n.hideTime),n.hideTime=setTimeout(function(){n.video.played.length&&(n.container.classList.add("dplayer-hide-controller"),O(),ne())},2e3)};o.isMobile||(this.container.addEventListener("mousemove",D),this.container.addEventListener("click",D));var H=y.default.setting(this.tran),I=this.container.getElementsByClassName("dplayer-setting-icon")[0],R=this.container.getElementsByClassName("dplayer-setting-box")[0],A=this.container.getElementsByClassName("dplayer-mask")[0];R.innerHTML=H.original;var O=function(){R.classList.contains("dplayer-setting-box-open")&&(R.classList.remove("dplayer-setting-box-open"),A.classList.remove("dplayer-mask-show"),setTimeout(function(){R.classList.remove("dplayer-setting-box-narrow"),R.innerHTML=H.original,X()},300))},V=function(){R.classList.add("dplayer-setting-box-open"),A.classList.add("dplayer-mask-show")};A.addEventListener("click",function(){O()}),I.addEventListener("click",function(){V()}),this.loop=this.options.loop;var j=this.user.get("danmaku");j||this.danmaku&&this.danmaku.hide();var W=this.user.get("unlimited"),X=function(){var e=n.container.getElementsByClassName("dplayer-setting-loop")[0],t=e.getElementsByClassName("dplayer-toggle-setting-input")[0];t.checked=n.loop,e.addEventListener("click",function(){t.checked=!t.checked,t.checked?n.loop=!0:n.loop=!1,O()});var i=n.container.getElementsByClassName("dplayer-setting-showdan")[0],s=i.getElementsByClassName("dplayer-showdan-setting-input")[0];s.checked=j,i.addEventListener("click",function(){s.checked=!s.checked,s.checked?(j=!0,n.paused||n.danmaku.show()):(j=!1,n.danmaku.hide()),n.user.set("danmaku",j?1:0),O()});var o=n.container.getElementsByClassName("dplayer-setting-danunlimit")[0],r=o.getElementsByClassName("dplayer-danunlimit-setting-input")[0];if(r.checked=W,o.addEventListener("click",function(){r.checked=!r.checked,r.checked?(W=!0,n.danmaku.unlimit(!0)):(W=!1,n.danmaku.unlimit(!1)),n.user.set("unlimited",W?1:0),O()}),n.container.getElementsByClassName("dplayer-setting-speed")[0].addEventListener("click",function(){R.classList.add("dplayer-setting-box-narrow"),R.innerHTML=H.speed;for(var e=R.getElementsByClassName("dplayer-setting-speed-item"),t=0;t0?a:0,a=a<1?a:1,n.danmaku.opacity(a)},m=function e(){document.removeEventListener("mouseup",e),document.removeEventListener("mousemove",p),u.classList.remove("dplayer-setting-danmaku-active")};d.addEventListener("click",function(e){var t=e||window.event,a=(t.clientX-l.default.getElementViewLeft(c))/130;a=a>0?a:0,a=a<1?a:1,n.danmaku.opacity(a)}),d.addEventListener("mousedown",function(){document.addEventListener("mousemove",p),document.addEventListener("mouseup",m),u.classList.add("dplayer-setting-danmaku-active")})}};X(),1!==this.video.duration&&(this.container.getElementsByClassName("dplayer-dtime")[0].innerHTML=this.video.duration?l.default.secondToTime(this.video.duration):"00:00"),this.danmaku||(this.options.autoplay&&!o.isMobile?this.play():o.isMobile&&this.pause());var Q=this.container.getElementsByClassName("dplayer-comment-input")[0],U=this.container.getElementsByClassName("dplayer-comment-icon")[0],$=this.container.getElementsByClassName("dplayer-comment-box")[0],Y=this.container.getElementsByClassName("dplayer-comment-setting-icon")[0],J=this.container.getElementsByClassName("dplayer-comment-setting-box")[0],G=this.container.getElementsByClassName("dplayer-send-icon")[0],K=function(){J.classList.contains("dplayer-comment-setting-open")&&J.classList.remove("dplayer-comment-setting-open")},Z=function(){J.classList.contains("dplayer-comment-setting-open")?J.classList.remove("dplayer-comment-setting-open"):J.classList.add("dplayer-comment-setting-open")},ee=0,te=0,ne=function(){$.classList.contains("dplayer-comment-box-open")&&($.classList.remove("dplayer-comment-box-open"),A.classList.remove("dplayer-mask-show"),n.container.classList.remove("dplayer-show-controller"),clearInterval(ee),clearTimeout(te),K())},ae=function(){$.classList.contains("dplayer-comment-box-open")||($.classList.add("dplayer-comment-box-open"),A.classList.add("dplayer-mask-show"),n.container.classList.add("dplayer-show-controller"),ee=setInterval(function(){clearTimeout(n.hideTime)},1e3),te=setTimeout(function(){Q.focus()},300))};A.addEventListener("click",function(){ne()}),U.addEventListener("click",function(){ae()}),Y.addEventListener("click",function(){Z()}),this.container.getElementsByClassName("dplayer-comment-setting-color")[0].addEventListener("click",function(){n.container.querySelector('input[name="dplayer-danmaku-color-${index}"]:checked+span')&&(Y.getElementsByClassName("dplayer-fill")[0].style.fill=n.container.querySelector('input[name="dplayer-danmaku-color-${index}"]:checked').value)});var ie=function(){if(Q.blur(),!Q.value.replace(/^\s+|\s+$/g,""))return void n.notice(n.tran("Please input danmaku content!"));n.danmaku.send({text:Q.value,color:n.container.querySelector(".dplayer-comment-setting-color input:checked").value,type:n.container.querySelector(".dplayer-comment-setting-type input:checked").value},function(){Q.value="",ne()})};Q.addEventListener("click",function(){K()}),Q.addEventListener("keydown",function(e){13===(e||window.event).keyCode&&ie()}),G.addEventListener("click",ie),this.fullScreen=new L.default(this),this.container.getElementsByClassName("dplayer-full-icon")[0].addEventListener("click",function(){n.fullScreen.toggle("browser")}),this.container.getElementsByClassName("dplayer-full-in-icon")[0].addEventListener("click",function(){n.fullScreen.toggle("web")});var se=function(e){if(n.focus){var t=document.activeElement.tagName.toUpperCase(),a=document.activeElement.getAttribute("contenteditable");if("INPUT"!==t&&"TEXTAREA"!==t&&""!==a&&"true"!==a){var i=e||window.event,s=void 0;switch(i.keyCode){case 32:i.preventDefault(),n.toggle();break;case 37:i.preventDefault(),n.seek(n.video.currentTime-5),D();break;case 39:i.preventDefault(),n.seek(n.video.currentTime+5),D();break;case 38:i.preventDefault(),s=n.volume()+.1,n.volume(s);break;case 40:i.preventDefault(),s=n.volume()-.1,n.volume(s)}}}};this.options.hotkey&&document.addEventListener("keydown",se),document.addEventListener("keydown",function(e){switch((e||window.event).keyCode){case 27:n.fullScreen.isFullScreen("web")&&n.fullScreen.cancel("web")}});var oe=this.container.getElementsByClassName("dplayer-menu")[0];if(this.container.addEventListener("contextmenu",function(e){var t=e||window.event;t.preventDefault(),oe.classList.add("dplayer-menu-show");var a=n.container.getBoundingClientRect(),i=t.clientX-a.left,s=t.clientY-a.top;i+oe.offsetWidth>=a.width?(oe.style.right=a.width-i+"px",oe.style.left="initial"):(oe.style.left=t.clientX-n.container.getBoundingClientRect().left+"px",oe.style.right="initial"),s+oe.offsetHeight>=a.height?(oe.style.bottom=a.height-s+"px",oe.style.top="initial"):(oe.style.top=t.clientY-n.container.getBoundingClientRect().top+"px",oe.style.bottom="initial"),A.classList.add("dplayer-mask-show"),n.events.trigger("contextmenu_show"),A.addEventListener("click",function(){A.classList.remove("dplayer-mask-show"),oe.classList.remove("dplayer-menu-show"),n.events.trigger("contextmenu_hide")})}),this.options.video.quality&&this.container.getElementsByClassName("dplayer-quality-list")[0].addEventListener("click",function(e){e.target.classList.contains("dplayer-quality-item")&&n.switchQuality(e.target.dataset.index)}),this.options.screenshot){var le=this.container.getElementsByClassName("dplayer-camera-icon")[0];le.addEventListener("click",function(){var e=document.createElement("canvas");e.width=n.video.videoWidth,e.height=n.video.videoHeight,e.getContext("2d").drawImage(n.video,0,0,e.width,e.height);var t=e.toDataURL();le.href=t,le.download="DPlayer.png",n.events.trigger("screenshot",t)})}this.initVideo(this.video,this.quality&&this.quality.type||this.options.video.type),q++}return s(e,[{key:"seek",value:function(e){e=Math.max(e,0),this.video.duration&&(e=Math.min(e,this.video.duration)),this.video.currentTimee&&this.notice(this.tran("REW")+" "+(this.video.currentTime-e).toFixed(0)+" "+this.tran("s")),this.video.currentTime=e,this.danmaku&&this.danmaku.seek(),this.updateBar("played",e/this.video.duration,"width")}},{key:"play",value:function(){this.paused=!1,this.video.paused&&(this.bezel.innerHTML=(0,d.default)("play"),this.bezel.classList.add("dplayer-bezel-transition")),this.playButton.innerHTML=(0,d.default)("pause"),this.video.play(),this.setTime(),this.container.classList.add("dplayer-playing"),this.danmaku&&this.danmaku.play()}},{key:"pause",value:function(){this.paused=!0,this.container.classList.remove("dplayer-loading"),this.video.paused||(this.bezel.innerHTML=(0,d.default)("pause"),this.bezel.classList.add("dplayer-bezel-transition")),this.ended=!1,this.playButton.innerHTML=(0,d.default)("play"),this.video.pause(),this.clearTime(),this.container.classList.remove("dplayer-playing"),this.danmaku&&this.danmaku.pause()}},{key:"volume",value:function(e,t){if(e=parseFloat(e),!isNaN(e)){e=e>0?e:0,e=e<1?e:1,this.updateBar("volume",e,"width");var n=(100*e).toFixed(0)+"%";this.container.getElementsByClassName("dplayer-volume-bar-wrap")[0].dataset.balloon=n,t||this.user.set("volume",e),this.video.volume=e,this.video.muted&&(this.video.muted=!1),this.switchVolumeIcon()}return this.video.volume}},{key:"toggle",value:function(){this.video.paused?this.play():this.pause()}},{key:"on",value:function(e,t){this.events.on(e,t)}},{key:"switchVideo",value:function(e,t){this.pause(),this.video.poster=e.pic?e.pic:"",this.video.src=e.url,this.initMSE(this.video,e.type||"auto"),t&&(this.container.getElementsByClassName("dplayer-danloading")[0].style.display="block",this.updateBar("played",0,"width"),this.updateBar("loaded",0,"width"),this.container.getElementsByClassName("dplayer-ptime")[0].innerHTML="00:00",this.container.getElementsByClassName("dplayer-danmaku")[0].innerHTML="",this.danmaku&&this.danmaku.reload({id:t.id,address:t.api,token:t.token,maximum:t.maximum,addition:t.addition,user:t.user}))}},{key:"initMSE",value:function(e,t){if(this.type=t,"auto"===this.type&&(/m3u8(#|\?|$)/i.exec(e.src)?this.type="hls":/.flv(#|\?|$)/i.exec(e.src)?this.type="flv":this.type="normal"),"hls"===this.type&&Hls.isSupported()){var n=new Hls;n.loadSource(e.src),n.attachMedia(e)}if("flv"===this.type&&flvjs.isSupported()){var a=flvjs.createPlayer({type:"flv",url:e.src});a.attachMediaElement(e),a.load()}}},{key:"initVideo",value:function(e,t){var n=this;this.initMSE(e,t),this.on("durationchange",function(){1!==e.duration&&(n.container.getElementsByClassName("dplayer-dtime")[0].innerHTML=l.default.secondToTime(e.duration))}),this.on("progress",function(){var t=e.buffered.length?e.buffered.end(e.buffered.length-1)/e.duration:0;n.updateBar("loaded",t,"width")}),this.on("error",function(){n.tran&&n.notice&&n.notice(n.tran("This video fails to load"),-1)}),this.ended=!1,this.on("ended",function(){n.updateBar("played",1,"width"),n.loop?(n.seek(0),e.play()):(n.ended=!0,n.pause()),n.danmaku&&(n.danmaku.danIndex=0)}),this.on("play",function(){n.paused&&n.play()}),this.on("pause",function(){n.paused||n.pause()});for(var a=0;ae.offsetWidth)){var d=n.video.duration*(r/e.offsetWidth);switch(t.style.left=r-20+"px",i.type){case"mouseenter":n.thumbnails&&n.thumbnails.show();break;case"mousemove":n.thumbnails&&n.thumbnails.move(r),t.innerText=l.default.secondToTime(d),n.timeTipsDisplay(!0,t);break;case"mouseleave":n.thumbnails&&n.thumbnails.hide(),n.timeTipsDisplay(!1,t)}}}}}},{key:"timeTipsDisplay",value:function(e,t){if(e){if(this.isTimeTipsShow)return;t.classList.remove("hidden"),this.isTimeTipsShow=!0}else{if(!this.isTimeTipsShow)return;t.classList.add("hidden"),this.isTimeTipsShow=!1}}},{key:"initThumbnails",value:function(){var e=this;this.thumbnails=new k.default(this.container.getElementsByClassName("dplayer-bar-preview")[0],this.container.getElementsByClassName("dplayer-bar-wrap")[0].offsetWidth,this.options.video.thumbnails,this.events),this.on("loadedmetadata",function(){e.thumbnails.resize(160,90)})}},{key:"notice",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:2e3,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:.8,i=this.container.getElementsByClassName("dplayer-notice")[0];i.innerHTML=e,i.style.opacity=a,this.noticeTime&&clearTimeout(this.noticeTime),this.events.trigger("notice_show",e),this.noticeTime=setTimeout(function(){i.style.opacity=0,t.events.trigger("notice_hide")},n)}},{key:"resize",value:function(){this.danmaku&&this.danmaku.resize(),this.events.trigger("resize")}},{key:"destroy",value:function(){this.pause(),clearTimeout(this.hideTime),this.video.src="",this.container.innerHTML="",this.events.trigger("destroy");for(var e in this)this.hasOwnProperty(e)&&"paused"!==e&&delete this[e]}}]),e}();e.exports=B},function(e,t){},function(e,t,n){"use strict";var a=n(6);e.exports=function(e){/mobile/i.test(window.navigator.userAgent)&&(e.autoplay=!1);var t={container:e.element||document.getElementsByClassName("dplayer")[0],autoplay:!1,theme:"#b7daff",loop:!1,lang:(navigator.language||navigator.browserLanguage).toLowerCase(),screenshot:!1,hotkey:!0,preload:"auto",volume:"0.7",apiBackend:a,video:{},contextmenu:[]};for(var n in t)t.hasOwnProperty(n)&&!e.hasOwnProperty(n)&&(e[n]=t[n]);return e.video&&!e.video.hasOwnProperty("type")&&(e.video.type="auto"),e.danmaku&&!e.danmaku.hasOwnProperty("user")&&(e.danmaku.user="DIYgod"),e.video.quality&&(e.video.url=[e.video.quality[e.video.defaultQuality].url]),e.lang&&(e.lang=e.lang.toLowerCase()),e.contextmenu=e.contextmenu.concat([{text:"About author",link:"https://www.anotherhome.net/"},{text:"About DPlayer",link:"https://github.com/MoePlayer/DPlayer"},{text:"DPlayer feedback",link:"https://github.com/DIYgod/DPlayer/issues"},{text:"DPlayer 1.11.0 2323e73",link:"https://github.com/MoePlayer/DPlayer/releases"}]),e}},function(e,t,n){"use strict";var a=function(e,t,n,a,i){var s=new XMLHttpRequest;s.onreadystatechange=function(){if(4===s.readyState){if(s.status>=200&&s.status<300||304===s.status){var e=JSON.parse(s.responseText);return 1!==e.code?a(s,e):n(s,e)}i(s)}},s.open(null!==t?"POST":"GET",e,!0),s.send(null!==t?JSON.stringify(t):null)};e.exports={send:function(e,t,n){a(e,t,function(e,t){console.log("Post danmaku: ",t),n&&n()},function(e,t){alert(t.msg)},function(e){console.log("Request was unsuccessful: "+e.status)})},read:function(e,t){a(e,null,function(e,n){t(null,n.danmaku)},function(e,n){t({status:e.status,response:n})},function(e){t({status:e.status,response:null})})}}},function(e,t,n){"use strict";e.exports=function(e){var t=this;this.lang=e,this.tran=function(e){return a[t.lang]&&a[t.lang][e]?a[t.lang][e]:e}};var a={"zh-cn":{"Danmaku is loading":"\u5f39\u5e55\u52a0\u8f7d\u4e2d",Top:"\u9876\u90e8",Bottom:"\u5e95\u90e8",Rolling:"\u6eda\u52a8","Input danmaku, hit Enter":"\u8f93\u5165\u5f39\u5e55\uff0c\u56de\u8f66\u53d1\u9001","About author":"\u5173\u4e8e\u4f5c\u8005","DPlayer feedback":"\u64ad\u653e\u5668\u610f\u89c1\u53cd\u9988","About DPlayer":"\u5173\u4e8e DPlayer \u64ad\u653e\u5668",Loop:"\u6d17\u8111\u5faa\u73af",Speed:"\u901f\u5ea6","Opacity for danmaku":"\u5f39\u5e55\u900f\u660e\u5ea6",Normal:"\u6b63\u5e38","Please input danmaku content!":"\u8981\u8f93\u5165\u5f39\u5e55\u5185\u5bb9\u554a\u5582\uff01","Set danmaku color":"\u8bbe\u7f6e\u5f39\u5e55\u989c\u8272","Set danmaku type":"\u8bbe\u7f6e\u5f39\u5e55\u7c7b\u578b","Show danmaku":"\u663e\u793a\u5f39\u5e55","This video fails to load":"\u89c6\u9891\u52a0\u8f7d\u5931\u8d25","Switching to":"\u6b63\u5728\u5207\u6362\u81f3","Switched to":"\u5df2\u7ecf\u5207\u6362\u81f3",quality:"\u753b\u8d28",FF:"\u5feb\u8fdb",REW:"\u5feb\u9000","Unlimited danmaku":"\u6d77\u91cf\u5f39\u5e55","Send danmaku":"\u53d1\u9001\u5f39\u5e55",Setting:"\u8bbe\u7f6e","Full screen":"\u5168\u5c4f","Web full screen":"\u9875\u9762\u5168\u5c4f",Send:"\u53d1\u9001",Screenshot:"\u622a\u56fe",s:"\u79d2"},"zh-tw":{"Danmaku is loading":"\u5f48\u5e55\u52a0\u8f09\u4e2d",Top:"\u9802\u90e8",Bottom:"\u5e95\u90e8",Rolling:"\u6efe\u52d5","Input danmaku, hit Enter":"\u8f38\u5165\u5f48\u5e55\uff0cEnter \u767c\u9001","About author":"\u95dc\u65bc\u4f5c\u8005","DPlayer feedback":"\u64ad\u653e\u5668\u610f\u898b\u53cd\u994b","About DPlayer":"\u95dc\u65bc DPlayer \u64ad\u653e\u5668",Loop:"\u5faa\u74b0\u64ad\u653e",Speed:"\u901f\u5ea6","Opacity for danmaku":"\u5f48\u5e55\u900f\u660e\u5ea6",Normal:"\u6b63\u5e38","Please input danmaku content!":"\u8acb\u8f38\u5165\u5f48\u5e55\u5185\u5bb9\u554a\uff01","Set danmaku color":"\u8a2d\u7f6e\u5f48\u5e55\u984f\u8272","Set danmaku type":"\u8a2d\u7f6e\u5f48\u5e55\u985e\u578b","Show danmaku":"\u986f\u793a\u5f48\u5e55","This video fails to load":"\u8996\u983b\u52a0\u8f09\u5931\u6557","Switching to":"\u6b63\u5728\u5207\u63db\u81f3","Switched to":"\u5df2\u7d93\u5207\u63db\u81f3",quality:"\u756b\u8cea",FF:"\u5feb\u9032",REW:"\u5feb\u9000","Unlimited danmaku":"\u6d77\u91cf\u5f48\u5e55","Send danmaku":"\u767c\u9001\u5f48\u5e55",Setting:"\u8a2d\u7f6e","Full screen":"\u5168\u5c4f","Web full screen":"\u9801\u9762\u5168\u5c4f",Send:"\u767c\u9001",Screenshot:"\u622a\u5716",s:"\u79d2"}}},function(e,t,n){"use strict";var a=n(1),i={main:function(e,t,n){var s="";return'
'+(s+=i.video(!0,e.video.pic,e.screenshot,e.preload,e.video.url))+(e.logo?'':"")+'
'+(e.danmaku?''+n("Danmaku is loading")+"":"")+'
0:00 / 0:00
'+(e.video.quality?'
'+i.qualityList(e.video.quality)+"
":"")+(e.screenshot?''+a("camera")+"":"")+'
'+n("Set danmaku color")+'
'+n("Set danmaku type")+'
'+i.contextmenuList(e.contextmenu,n)+'
'},danmakumargin:function(e){var t="";if(e)for(var n in e)t+=n+":"+e[n]+";";return t},contextmenuList:function(e,t){for(var n='";return n+=""},qualityList:function(e){for(var t='
',n=0;n'+e[n].name+"
";return t+=""},video:function(e,t,n,a,i){return''},setting:function(e){return{original:'
'+e("Speed")+'
'+a("right")+'
'+e("Loop")+'
'+e("Show danmaku")+'
'+e("Unlimited danmaku")+'
'+e("Opacity for danmaku")+'
',speed:'
0.5
0.75
'+e("Normal")+'
1.25
1.5
2
'}}};e.exports=i},function(e,t,n){"use strict";function a(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var i="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},s=function(){function e(e,t){for(var n=0;nparseFloat(t.time);)n.push(t),t=this.dan[++this.danIndex];this.draw(n)}window.requestAnimationFrame(function(){e.frame()})}},{key:"opacity",value:function(e){if(void 0!==e){for(var t=this.container.getElementsByClassName("dplayer-danmaku-item"),n=0;n'+e[i].text+"":s.innerHTML=e[i].text,s.style.opacity=t._opacity,s.style.color=e[i].color,s.addEventListener("animationend",function(){t.container.removeChild(s)});var o=t._measure(e[i].text),l=void 0;switch(e[i].type){case"right":l=d(s,e[i].type,o),l>=0&&(s.style.width=o+1+"px",s.style.top=n*l+"px",s.style.transform="translateX(-"+a+"px)");break;case"top":l=d(s,e[i].type),l>=0&&(s.style.top=n*l+"px");break;case"bottom":l=d(s,e[i].type),l>=0&&(s.style.bottom=n*l+"px");break;default:console.error("Can't handled danmaku type: "+e[i].type)}l>=0&&(s.classList.add("dplayer-danmaku-move"),c.appendChild(s))}(u);return this.container.appendChild(c),c}},{key:"play",value:function(){this.paused=!1}},{key:"pause",value:function(){this.paused=!0}},{key:"_measure",value:function(e){if(!this.context){var t=getComputedStyle(this.container.getElementsByClassName("dplayer-danmaku-item")[0],null);this.context=document.createElement("canvas").getContext("2d"),this.context.font=t.getPropertyValue("font")}return this.context.measureText(e).width}},{key:"seek",value:function(){for(var e=0;e=this.options.time()){this.danIndex=e;break}this.danIndex=this.dan.length}}},{key:"clear",value:function(){this.danTunnel={right:{},top:{},bottom:{}},this.danIndex=0,this.options.container.innerHTML="",this.events&&this.events.trigger("danmaku_clear")}},{key:"htmlEncode",value:function(e){return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'").replace(/\//g,"/")}},{key:"resize",value:function(){for(var e=this.container.offsetWidth,t=this.container.getElementsByClassName("dplayer-danmaku-item"),n=0;n0&&void 0!==arguments[0]?arguments[0]:"browser"){case"browser":return document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement;case"web":return this.player.container.classList.contains("dplayer-fulled")}}},{key:"request",value:function(){switch(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"browser"){case"browser":this.player.container.requestFullscreen?this.player.container.requestFullscreen():this.player.container.mozRequestFullScreen?this.player.container.mozRequestFullScreen():this.player.container.webkitRequestFullscreen?this.player.container.webkitRequestFullscreen():this.player.video.webkitEnterFullscreen&&this.player.video.webkitEnterFullscreen();break;case"web":this.player.container.classList.add("dplayer-fulled"),this.player.events.trigger("webfullscreen")}}},{key:"cancel",value:function(){switch(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"browser"){case"browser":document.cancelFullScreen?document.cancelFullScreen():document.mozCancelFullScreen?document.mozCancelFullScreen():document.webkitCancelFullScreen&&document.webkitCancelFullScreen();break;case"web":this.player.container.classList.remove("dplayer-fulled"),this.player.events.trigger("webfullscreen_cancel")}}},{key:"toggle",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"browser";this.isFullScreen(e)?this.cancel(e):this.request(e)}}]),e}();e.exports=s},function(e,t,n){"use strict";function a(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var i=function(){function e(e,t){for(var n=0;n0?t:0,t=t<1?t:1,i[e+"Bar"].style[n]=100*t+"%"},document.addEventListener("click",function(){n.focus=!1},!0),this.container.addEventListener("click",function(){n.focus=!0},!0),this.options.danmaku&&(this.danmaku=new f.default({container:this.container.getElementsByClassName("dplayer-danmaku")[0],opacity:this.user.get("opacity"),callback:function(){n.container.getElementsByClassName("dplayer-danloading")[0].style.display="none",n.options.autoplay&&!o.isMobile?n.play():o.isMobile&&n.pause()},error:function(e){n.notice(e)},apiBackend:this.options.apiBackend,borderColor:this.options.theme,height:this.arrow?24:30,time:function(){return n.video.currentTime},unlimited:this.user.get("unlimited"),api:{id:this.options.danmaku.id,address:this.options.danmaku.api,token:this.options.danmaku.token,maximum:this.options.danmaku.maximum,addition:this.options.danmaku.addition,user:this.options.danmaku.user},events:this.events})),this.arrow=this.container.offsetWidth<=500,this.arrow){var p=document.createElement("style");p.innerHTML=".dplayer .dplayer-danmaku{font-size:18px}",document.head.appendChild(p)}this.video=this.container.getElementsByClassName("dplayer-video-current")[0],this.bezel=this.container.getElementsByClassName("dplayer-bezel-icon")[0],this.bezel.addEventListener("animationend",function(){n.bezel.classList.remove("dplayer-bezel-transition")}),this.playButton=this.container.getElementsByClassName("dplayer-play-icon")[0],this.paused=!0,this.playButton.addEventListener("click",function(){n.toggle()});var m=this.container.getElementsByClassName("dplayer-video-wrap")[0],v=this.container.getElementsByClassName("dplayer-controller-mask")[0];if(o.isMobile){var g=function(){n.container.classList.contains("dplayer-hide-controller")?n.container.classList.remove("dplayer-hide-controller"):n.container.classList.add("dplayer-hide-controller")};m.addEventListener("click",g),v.addEventListener("click",g)}else m.addEventListener("click",function(){n.toggle()}),v.addEventListener("click",function(){n.toggle()});var b=0,k=0,E=!1;window.requestAnimationFrame=function(){return window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(e){window.setTimeout(e,1e3/60)}}();var x=function(){n.checkLoading=setInterval(function(){k=n.video.currentTime,E||k!==b||n.video.paused||(n.container.classList.add("dplayer-loading"),E=!0),E&&k>b&&!n.video.paused&&(n.container.classList.remove("dplayer-loading"),E=!1),b=k},100)},q=function(){clearInterval(n.checkLoading)};this.playedTime=!1,this.animationFrame=function(){n.playedTime&&(n.updateBar("played",n.video.currentTime/n.video.duration,"width"),n.container.getElementsByClassName("dplayer-ptime")[0].innerHTML=l.default.secondToTime(n.video.currentTime)),window.requestAnimationFrame(n.animationFrame)},window.requestAnimationFrame(this.animationFrame),this.setTime=function(e){e?(n[e+"Time"]=!0,"played"===e&&x()):(n.playedTime=!0,x())},this.clearTime=function(e){e?(n[e+"Time"]=!1,"played"===e&&q()):(n.playedTime=!1,q())},this.options.video.thumbnails&&this.initThumbnails(),this.isTimeTipsShow=!0,this.mouseHandler=this.mouseHandler(s,r).bind(this),s.addEventListener("mousemove",this.mouseHandler),s.addEventListener("mouseenter",this.mouseHandler),s.addEventListener("mouseleave",this.mouseHandler);var C=function(e){var t=(e.clientX-l.default.getElementViewLeft(s))/c;t=t>0?t:0,t=t<1?t:1,n.updateBar("played",t,"width"),n.container.getElementsByClassName("dplayer-ptime")[0].innerHTML=l.default.secondToTime(t*n.video.duration)},M=function e(t){document.removeEventListener("mouseup",e),document.removeEventListener("mousemove",C);var a=(t.clientX-l.default.getElementViewLeft(s))/c;a=a>0?a:0,a=a<1?a:1,n.updateBar("played",a,"width"),n.seek(parseFloat(i.playedBar.style.width)/100*n.video.duration),n.setTime()};s.addEventListener("mousedown",function(){c=s.clientWidth,n.clearTime(),document.addEventListener("mousemove",C),document.addEventListener("mouseup",M)});var S=this.container.getElementsByClassName("dplayer-volume")[0],z=this.container.getElementsByClassName("dplayer-volume-bar-wrap")[0],N=this.container.getElementsByClassName("dplayer-volume-bar")[0],F=this.container.getElementsByClassName("dplayer-volume-icon")[0].getElementsByClassName("dplayer-icon-content")[0];this.switchVolumeIcon=function(){n.volume()>=.95?F.innerHTML=n.icons.get("volume-up"):n.volume()>0?F.innerHTML=n.icons.get("volume-down"):F.innerHTML=n.icons.get("volume-off")};var _=function(e){var t=e||window.event,i=(t.clientX-l.default.getElementViewLeft(N)-5.5)/35;n.volume(i)},P=function e(){document.removeEventListener("mouseup",e),document.removeEventListener("mousemove",_),S.classList.remove("dplayer-volume-active")};z.addEventListener("click",function(e){var t=e||window.event,i=(t.clientX-l.default.getElementViewLeft(N)-5.5)/35;n.volume(i)}),z.addEventListener("mousedown",function(){document.addEventListener("mousemove",_),document.addEventListener("mouseup",P),S.classList.add("dplayer-volume-active")}),F.addEventListener("click",function(){n.video.muted?(n.video.muted=!1,n.switchVolumeIcon(),n.updateBar("volume",n.volume(),"width")):(n.video.muted=!0,F.innerHTML=n.icons.get("volume-off"),n.updateBar("volume",0,"width"))}),this.hideTime=0;var D=function(){n.container.classList.remove("dplayer-hide-controller"),clearTimeout(n.hideTime),n.hideTime=setTimeout(function(){n.video.played.length&&(n.container.classList.add("dplayer-hide-controller"),O(),ne())},2e3)};o.isMobile||(this.container.addEventListener("mousemove",D),this.container.addEventListener("click",D));var H=h.default.setting(this.tran,this.icons),I=this.container.getElementsByClassName("dplayer-setting-icon")[0],R=this.container.getElementsByClassName("dplayer-setting-box")[0],A=this.container.getElementsByClassName("dplayer-mask")[0];R.innerHTML=H.original;var O=function(){R.classList.contains("dplayer-setting-box-open")&&(R.classList.remove("dplayer-setting-box-open"),A.classList.remove("dplayer-mask-show"),setTimeout(function(){R.classList.remove("dplayer-setting-box-narrow"),R.innerHTML=H.original,X()},300))},V=function(){R.classList.add("dplayer-setting-box-open"),A.classList.add("dplayer-mask-show")};A.addEventListener("click",function(){O()}),I.addEventListener("click",function(){V()}),this.loop=this.options.loop;var j=this.user.get("danmaku");j||this.danmaku&&this.danmaku.hide();var W=this.user.get("unlimited"),X=function(){var e=n.container.getElementsByClassName("dplayer-setting-loop")[0],t=e.getElementsByClassName("dplayer-toggle-setting-input")[0];t.checked=n.loop,e.addEventListener("click",function(){t.checked=!t.checked,t.checked?n.loop=!0:n.loop=!1,O()});var a=n.container.getElementsByClassName("dplayer-setting-showdan")[0],s=a.getElementsByClassName("dplayer-showdan-setting-input")[0];s.checked=j,a.addEventListener("click",function(){s.checked=!s.checked,s.checked?(j=!0,n.paused||n.danmaku.show()):(j=!1,n.danmaku.hide()),n.user.set("danmaku",j?1:0),O()});var o=n.container.getElementsByClassName("dplayer-setting-danunlimit")[0],r=o.getElementsByClassName("dplayer-danunlimit-setting-input")[0];if(r.checked=W,o.addEventListener("click",function(){r.checked=!r.checked,r.checked?(W=!0,n.danmaku.unlimit(!0)):(W=!1,n.danmaku.unlimit(!1)),n.user.set("unlimited",W?1:0),O()}),n.container.getElementsByClassName("dplayer-setting-speed")[0].addEventListener("click",function(){R.classList.add("dplayer-setting-box-narrow"),R.innerHTML=H.speed;for(var e=R.getElementsByClassName("dplayer-setting-speed-item"),t=0;t0?i:0,i=i<1?i:1,n.danmaku.opacity(i)},h=function e(){document.removeEventListener("mouseup",e),document.removeEventListener("mousemove",p),u.classList.remove("dplayer-setting-danmaku-active")};d.addEventListener("click",function(e){var t=e||window.event,i=(t.clientX-l.default.getElementViewLeft(c))/130;i=i>0?i:0,i=i<1?i:1,n.danmaku.opacity(i)}),d.addEventListener("mousedown",function(){document.addEventListener("mousemove",p),document.addEventListener("mouseup",h),u.classList.add("dplayer-setting-danmaku-active")})}};X(),1!==this.video.duration&&(this.container.getElementsByClassName("dplayer-dtime")[0].innerHTML=this.video.duration?l.default.secondToTime(this.video.duration):"00:00"),this.danmaku||(this.options.autoplay&&!o.isMobile?this.play():o.isMobile&&this.pause());var Q=this.container.getElementsByClassName("dplayer-comment-input")[0],U=this.container.getElementsByClassName("dplayer-comment-icon")[0],$=this.container.getElementsByClassName("dplayer-comment-box")[0],Y=this.container.getElementsByClassName("dplayer-comment-setting-icon")[0],J=this.container.getElementsByClassName("dplayer-comment-setting-box")[0],G=this.container.getElementsByClassName("dplayer-send-icon")[0],K=function(){J.classList.contains("dplayer-comment-setting-open")&&J.classList.remove("dplayer-comment-setting-open")},Z=function(){J.classList.contains("dplayer-comment-setting-open")?J.classList.remove("dplayer-comment-setting-open"):J.classList.add("dplayer-comment-setting-open")},ee=0,te=0,ne=function(){$.classList.contains("dplayer-comment-box-open")&&($.classList.remove("dplayer-comment-box-open"),A.classList.remove("dplayer-mask-show"),n.container.classList.remove("dplayer-show-controller"),clearInterval(ee),clearTimeout(te),K())},ie=function(){$.classList.contains("dplayer-comment-box-open")||($.classList.add("dplayer-comment-box-open"),A.classList.add("dplayer-mask-show"),n.container.classList.add("dplayer-show-controller"),ee=setInterval(function(){clearTimeout(n.hideTime)},1e3),te=setTimeout(function(){Q.focus()},300))};A.addEventListener("click",function(){ne()}),U.addEventListener("click",function(){ie()}),Y.addEventListener("click",function(){Z()}),this.container.getElementsByClassName("dplayer-comment-setting-color")[0].addEventListener("click",function(){n.container.querySelector('input[name="dplayer-danmaku-color-${index}"]:checked+span')&&(Y.getElementsByClassName("dplayer-fill")[0].style.fill=n.container.querySelector('input[name="dplayer-danmaku-color-${index}"]:checked').value)});var ae=function(){if(Q.blur(),!Q.value.replace(/^\s+|\s+$/g,""))return void n.notice(n.tran("Please input danmaku content!"));n.danmaku.send({text:Q.value,color:n.container.querySelector(".dplayer-comment-setting-color input:checked").value,type:n.container.querySelector(".dplayer-comment-setting-type input:checked").value},function(){Q.value="",ne()})};Q.addEventListener("click",function(){K()}),Q.addEventListener("keydown",function(e){13===(e||window.event).keyCode&&ae()}),G.addEventListener("click",ae),this.fullScreen=new L.default(this),this.container.getElementsByClassName("dplayer-full-icon")[0].addEventListener("click",function(){n.fullScreen.toggle("browser")}),this.container.getElementsByClassName("dplayer-full-in-icon")[0].addEventListener("click",function(){n.fullScreen.toggle("web")});var se=function(e){if(n.focus){var t=document.activeElement.tagName.toUpperCase(),i=document.activeElement.getAttribute("contenteditable");if("INPUT"!==t&&"TEXTAREA"!==t&&""!==i&&"true"!==i){var a=e||window.event,s=void 0;switch(a.keyCode){case 32:a.preventDefault(),n.toggle();break;case 37:a.preventDefault(),n.seek(n.video.currentTime-5),D();break;case 39:a.preventDefault(),n.seek(n.video.currentTime+5),D();break;case 38:a.preventDefault(),s=n.volume()+.1,n.volume(s);break;case 40:a.preventDefault(),s=n.volume()-.1,n.volume(s)}}}};this.options.hotkey&&document.addEventListener("keydown",se),document.addEventListener("keydown",function(e){switch((e||window.event).keyCode){case 27:n.fullScreen.isFullScreen("web")&&n.fullScreen.cancel("web")}});var oe=this.container.getElementsByClassName("dplayer-menu")[0];if(this.container.addEventListener("contextmenu",function(e){var t=e||window.event;t.preventDefault(),oe.classList.add("dplayer-menu-show");var i=n.container.getBoundingClientRect(),a=t.clientX-i.left,s=t.clientY-i.top;a+oe.offsetWidth>=i.width?(oe.style.right=i.width-a+"px",oe.style.left="initial"):(oe.style.left=t.clientX-n.container.getBoundingClientRect().left+"px",oe.style.right="initial"),s+oe.offsetHeight>=i.height?(oe.style.bottom=i.height-s+"px",oe.style.top="initial"):(oe.style.top=t.clientY-n.container.getBoundingClientRect().top+"px",oe.style.bottom="initial"),A.classList.add("dplayer-mask-show"),n.events.trigger("contextmenu_show"),A.addEventListener("click",function(){A.classList.remove("dplayer-mask-show"),oe.classList.remove("dplayer-menu-show"),n.events.trigger("contextmenu_hide")})}),this.options.video.quality&&this.container.getElementsByClassName("dplayer-quality-list")[0].addEventListener("click",function(e){e.target.classList.contains("dplayer-quality-item")&&n.switchQuality(e.target.dataset.index)}),this.options.screenshot){var le=this.container.getElementsByClassName("dplayer-camera-icon")[0];le.addEventListener("click",function(){var e=document.createElement("canvas");e.width=n.video.videoWidth,e.height=n.video.videoHeight,e.getContext("2d").drawImage(n.video,0,0,e.width,e.height);var t=e.toDataURL();le.href=t,le.download="DPlayer.png",n.events.trigger("screenshot",t)})}this.initVideo(this.video,this.quality&&this.quality.type||this.options.video.type),B++}return s(e,[{key:"seek",value:function(e){e=Math.max(e,0),this.video.duration&&(e=Math.min(e,this.video.duration)),this.video.currentTimee&&this.notice(this.tran("REW")+" "+(this.video.currentTime-e).toFixed(0)+" "+this.tran("s")),this.video.currentTime=e,this.danmaku&&this.danmaku.seek(),this.updateBar("played",e/this.video.duration,"width")}},{key:"play",value:function(){this.paused=!1,this.video.paused&&(this.bezel.innerHTML=this.icons.get("play"),this.bezel.classList.add("dplayer-bezel-transition")),this.playButton.innerHTML=this.icons.get("pause"),this.video.play(),this.setTime(),this.container.classList.add("dplayer-playing"),this.danmaku&&this.danmaku.play()}},{key:"pause",value:function(){this.paused=!0,this.container.classList.remove("dplayer-loading"),this.video.paused||(this.bezel.innerHTML=this.icons.get("pause"),this.bezel.classList.add("dplayer-bezel-transition")),this.ended=!1,this.playButton.innerHTML=this.icons.get("play"),this.video.pause(),this.clearTime(),this.container.classList.remove("dplayer-playing"),this.danmaku&&this.danmaku.pause()}},{key:"volume",value:function(e,t){if(e=parseFloat(e),!isNaN(e)){e=e>0?e:0,e=e<1?e:1,this.updateBar("volume",e,"width");var n=(100*e).toFixed(0)+"%";this.container.getElementsByClassName("dplayer-volume-bar-wrap")[0].dataset.balloon=n,t||this.user.set("volume",e),this.video.volume=e,this.video.muted&&(this.video.muted=!1),this.switchVolumeIcon()}return this.video.volume}},{key:"toggle",value:function(){this.video.paused?this.play():this.pause()}},{key:"on",value:function(e,t){this.events.on(e,t)}},{key:"switchVideo",value:function(e,t){this.pause(),this.video.poster=e.pic?e.pic:"",this.video.src=e.url,this.initMSE(this.video,e.type||"auto"),t&&(this.container.getElementsByClassName("dplayer-danloading")[0].style.display="block",this.updateBar("played",0,"width"),this.updateBar("loaded",0,"width"),this.container.getElementsByClassName("dplayer-ptime")[0].innerHTML="00:00",this.container.getElementsByClassName("dplayer-danmaku")[0].innerHTML="",this.danmaku&&this.danmaku.reload({id:t.id,address:t.api,token:t.token,maximum:t.maximum,addition:t.addition,user:t.user}))}},{key:"initMSE",value:function(e,t){if(this.type=t,"auto"===this.type&&(/m3u8(#|\?|$)/i.exec(e.src)?this.type="hls":/.flv(#|\?|$)/i.exec(e.src)?this.type="flv":this.type="normal"),"hls"===this.type&&Hls.isSupported()){var n=new Hls;n.loadSource(e.src),n.attachMedia(e)}if("flv"===this.type&&flvjs.isSupported()){var i=flvjs.createPlayer({type:"flv",url:e.src});i.attachMediaElement(e),i.load()}}},{key:"initVideo",value:function(e,t){var n=this;this.initMSE(e,t),this.on("durationchange",function(){1!==e.duration&&(n.container.getElementsByClassName("dplayer-dtime")[0].innerHTML=l.default.secondToTime(e.duration))}),this.on("progress",function(){var t=e.buffered.length?e.buffered.end(e.buffered.length-1)/e.duration:0;n.updateBar("loaded",t,"width")}),this.on("error",function(){n.tran&&n.notice&&n.notice(n.tran("This video fails to load"),-1)}),this.ended=!1,this.on("ended",function(){n.updateBar("played",1,"width"),n.loop?(n.seek(0),e.play()):(n.ended=!0,n.pause()),n.danmaku&&(n.danmaku.danIndex=0)}),this.on("play",function(){n.paused&&n.play()}),this.on("pause",function(){n.paused||n.pause()});for(var i=0;ie.offsetWidth)){var d=n.video.duration*(r/e.offsetWidth);switch(t.style.left=r-20+"px",a.type){case"mouseenter":n.thumbnails&&n.thumbnails.show();break;case"mousemove":n.thumbnails&&n.thumbnails.move(r),t.innerText=l.default.secondToTime(d),n.timeTipsDisplay(!0,t);break;case"mouseleave":n.thumbnails&&n.thumbnails.hide(),n.timeTipsDisplay(!1,t)}}}}}},{key:"timeTipsDisplay",value:function(e,t){if(e){if(this.isTimeTipsShow)return;t.classList.remove("hidden"),this.isTimeTipsShow=!0}else{if(!this.isTimeTipsShow)return;t.classList.add("hidden"),this.isTimeTipsShow=!1}}},{key:"initThumbnails",value:function(){var e=this;this.thumbnails=new b.default(this.container.getElementsByClassName("dplayer-bar-preview")[0],this.container.getElementsByClassName("dplayer-bar-wrap")[0].offsetWidth,this.options.video.thumbnails,this.events),this.on("loadedmetadata",function(){e.thumbnails.resize(160,90)})}},{key:"notice",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:2e3,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:.8,a=this.container.getElementsByClassName("dplayer-notice")[0];a.innerHTML=e,a.style.opacity=i,this.noticeTime&&clearTimeout(this.noticeTime),this.events.trigger("notice_show",e),this.noticeTime=setTimeout(function(){a.style.opacity=0,t.events.trigger("notice_hide")},n)}},{key:"resize",value:function(){this.danmaku&&this.danmaku.resize(),this.events.trigger("resize")}},{key:"destroy",value:function(){this.pause(),clearTimeout(this.hideTime),this.video.src="",this.container.innerHTML="",this.events.trigger("destroy");for(var e in this)this.hasOwnProperty(e)&&"paused"!==e&&delete this[e]}}]),e}();e.exports=M},function(e,t){},function(e,t,n){"use strict";var i=n(5);e.exports=function(e){/mobile/i.test(window.navigator.userAgent)&&(e.autoplay=!1);var t={container:e.element||document.getElementsByClassName("dplayer")[0],autoplay:!1,theme:"#b7daff",loop:!1,lang:(navigator.language||navigator.browserLanguage).toLowerCase(),screenshot:!1,hotkey:!0,preload:"auto",volume:.7,apiBackend:i,video:{},icons:{play:["0 0 16 32","M15.552 15.168q0.448 0.32 0.448 0.832 0 0.448-0.448 0.768l-13.696 8.512q-0.768 0.512-1.312 0.192t-0.544-1.28v-16.448q0-0.96 0.544-1.28t1.312 0.192z"],pause:["0 0 17 32","M14.080 4.8q2.88 0 2.88 2.048v18.24q0 2.112-2.88 2.112t-2.88-2.112v-18.24q0-2.048 2.88-2.048zM2.88 4.8q2.88 0 2.88 2.048v18.24q0 2.112-2.88 2.112t-2.88-2.112v-18.24q0-2.048 2.88-2.048z"],"volume-up":["0 0 21 32","M13.728 6.272v19.456q0 0.448-0.352 0.8t-0.8 0.32-0.8-0.32l-5.952-5.952h-4.672q-0.48 0-0.8-0.352t-0.352-0.8v-6.848q0-0.48 0.352-0.8t0.8-0.352h4.672l5.952-5.952q0.32-0.32 0.8-0.32t0.8 0.32 0.352 0.8zM20.576 16q0 1.344-0.768 2.528t-2.016 1.664q-0.16 0.096-0.448 0.096-0.448 0-0.8-0.32t-0.32-0.832q0-0.384 0.192-0.64t0.544-0.448 0.608-0.384 0.512-0.64 0.192-1.024-0.192-1.024-0.512-0.64-0.608-0.384-0.544-0.448-0.192-0.64q0-0.48 0.32-0.832t0.8-0.32q0.288 0 0.448 0.096 1.248 0.48 2.016 1.664t0.768 2.528zM25.152 16q0 2.72-1.536 5.056t-4 3.36q-0.256 0.096-0.448 0.096-0.48 0-0.832-0.352t-0.32-0.8q0-0.704 0.672-1.056 1.024-0.512 1.376-0.8 1.312-0.96 2.048-2.4t0.736-3.104-0.736-3.104-2.048-2.4q-0.352-0.288-1.376-0.8-0.672-0.352-0.672-1.056 0-0.448 0.32-0.8t0.8-0.352q0.224 0 0.48 0.096 2.496 1.056 4 3.36t1.536 5.056zM29.728 16q0 4.096-2.272 7.552t-6.048 5.056q-0.224 0.096-0.448 0.096-0.48 0-0.832-0.352t-0.32-0.8q0-0.64 0.704-1.056 0.128-0.064 0.384-0.192t0.416-0.192q0.8-0.448 1.44-0.896 2.208-1.632 3.456-4.064t1.216-5.152-1.216-5.152-3.456-4.064q-0.64-0.448-1.44-0.896-0.128-0.096-0.416-0.192t-0.384-0.192q-0.704-0.416-0.704-1.056 0-0.448 0.32-0.8t0.832-0.352q0.224 0 0.448 0.096 3.776 1.632 6.048 5.056t2.272 7.552z"],"volume-down":["0 0 21 32","M13.728 6.272v19.456q0 0.448-0.352 0.8t-0.8 0.32-0.8-0.32l-5.952-5.952h-4.672q-0.48 0-0.8-0.352t-0.352-0.8v-6.848q0-0.48 0.352-0.8t0.8-0.352h4.672l5.952-5.952q0.32-0.32 0.8-0.32t0.8 0.32 0.352 0.8zM20.576 16q0 1.344-0.768 2.528t-2.016 1.664q-0.16 0.096-0.448 0.096-0.448 0-0.8-0.32t-0.32-0.832q0-0.384 0.192-0.64t0.544-0.448 0.608-0.384 0.512-0.64 0.192-1.024-0.192-1.024-0.512-0.64-0.608-0.384-0.544-0.448-0.192-0.64q0-0.48 0.32-0.832t0.8-0.32q0.288 0 0.448 0.096 1.248 0.48 2.016 1.664t0.768 2.528z"],"volume-off":["0 0 21 32","M13.728 6.272v19.456q0 0.448-0.352 0.8t-0.8 0.32-0.8-0.32l-5.952-5.952h-4.672q-0.48 0-0.8-0.352t-0.352-0.8v-6.848q0-0.48 0.352-0.8t0.8-0.352h4.672l5.952-5.952q0.32-0.32 0.8-0.32t0.8 0.32 0.352 0.8z"],loop:["0 0 32 32","M1.882 16.941c0 4.152 3.221 7.529 7.177 7.529v1.882c-4.996 0-9.060-4.222-9.060-9.412s4.064-9.412 9.060-9.412h7.96l-3.098-3.098 1.331-1.331 5.372 5.37-5.37 5.372-1.333-1.333 3.1-3.098h-7.962c-3.957 0-7.177 3.377-7.177 7.529zM22.94 7.529v1.882c3.957 0 7.177 3.377 7.177 7.529s-3.221 7.529-7.177 7.529h-7.962l3.098-3.098-1.331-1.331-5.37 5.37 5.372 5.372 1.331-1.331-3.1-3.1h7.96c4.998 0 9.062-4.222 9.062-9.412s-4.064-9.412-9.060-9.412z"],full:["0 0 32 33","M6.667 28h-5.333c-0.8 0-1.333-0.533-1.333-1.333v-5.333c0-0.8 0.533-1.333 1.333-1.333s1.333 0.533 1.333 1.333v4h4c0.8 0 1.333 0.533 1.333 1.333s-0.533 1.333-1.333 1.333zM30.667 28h-5.333c-0.8 0-1.333-0.533-1.333-1.333s0.533-1.333 1.333-1.333h4v-4c0-0.8 0.533-1.333 1.333-1.333s1.333 0.533 1.333 1.333v5.333c0 0.8-0.533 1.333-1.333 1.333zM30.667 12c-0.8 0-1.333-0.533-1.333-1.333v-4h-4c-0.8 0-1.333-0.533-1.333-1.333s0.533-1.333 1.333-1.333h5.333c0.8 0 1.333 0.533 1.333 1.333v5.333c0 0.8-0.533 1.333-1.333 1.333zM1.333 12c-0.8 0-1.333-0.533-1.333-1.333v-5.333c0-0.8 0.533-1.333 1.333-1.333h5.333c0.8 0 1.333 0.533 1.333 1.333s-0.533 1.333-1.333 1.333h-4v4c0 0.8-0.533 1.333-1.333 1.333z"],"full-in":["0 0 32 33","M24.965 24.38h-18.132c-1.366 0-2.478-1.113-2.478-2.478v-11.806c0-1.364 1.111-2.478 2.478-2.478h18.132c1.366 0 2.478 1.113 2.478 2.478v11.806c0 1.364-1.11 2.478-2.478 2.478zM6.833 10.097v11.806h18.134l-0.002-11.806h-18.132zM2.478 28.928h5.952c0.684 0 1.238-0.554 1.238-1.239 0-0.684-0.554-1.238-1.238-1.238h-5.952v-5.802c0-0.684-0.554-1.239-1.238-1.239s-1.239 0.556-1.239 1.239v5.802c0 1.365 1.111 2.478 2.478 2.478zM30.761 19.412c-0.684 0-1.238 0.554-1.238 1.238v5.801h-5.951c-0.686 0-1.239 0.554-1.239 1.238 0 0.686 0.554 1.239 1.239 1.239h5.951c1.366 0 2.478-1.111 2.478-2.478v-5.801c0-0.683-0.554-1.238-1.239-1.238zM0 5.55v5.802c0 0.683 0.554 1.238 1.238 1.238s1.238-0.555 1.238-1.238v-5.802h5.952c0.684 0 1.238-0.554 1.238-1.238s-0.554-1.238-1.238-1.238h-5.951c-1.366-0.001-2.478 1.111-2.478 2.476zM32 11.35v-5.801c0-1.365-1.11-2.478-2.478-2.478h-5.951c-0.686 0-1.239 0.554-1.239 1.238s0.554 1.238 1.239 1.238h5.951v5.801c0 0.683 0.554 1.237 1.238 1.237 0.686 0.002 1.239-0.553 1.239-1.236z"],setting:["0 0 32 28","M28.633 17.104c0.035 0.21 0.026 0.463-0.026 0.76s-0.14 0.598-0.262 0.904c-0.122 0.306-0.271 0.581-0.445 0.825s-0.367 0.419-0.576 0.524c-0.209 0.105-0.393 0.157-0.55 0.157s-0.332-0.035-0.524-0.105c-0.175-0.052-0.393-0.1-0.655-0.144s-0.528-0.052-0.799-0.026c-0.271 0.026-0.541 0.083-0.812 0.17s-0.502 0.236-0.694 0.445c-0.419 0.437-0.664 0.934-0.734 1.493s0.009 1.092 0.236 1.598c0.175 0.349 0.148 0.699-0.079 1.048-0.105 0.14-0.271 0.284-0.498 0.432s-0.476 0.284-0.747 0.406-0.555 0.218-0.851 0.288c-0.297 0.070-0.559 0.105-0.786 0.105-0.157 0-0.306-0.061-0.445-0.183s-0.236-0.253-0.288-0.393h-0.026c-0.192-0.541-0.52-1.009-0.982-1.402s-1-0.589-1.611-0.589c-0.594 0-1.131 0.197-1.611 0.589s-0.816 0.851-1.009 1.375c-0.087 0.21-0.218 0.362-0.393 0.458s-0.367 0.144-0.576 0.144c-0.244 0-0.52-0.044-0.825-0.131s-0.611-0.197-0.917-0.327c-0.306-0.131-0.581-0.284-0.825-0.458s-0.428-0.349-0.55-0.524c-0.087-0.122-0.135-0.266-0.144-0.432s0.057-0.397 0.197-0.694c0.192-0.402 0.266-0.86 0.223-1.375s-0.266-0.991-0.668-1.428c-0.244-0.262-0.541-0.432-0.891-0.511s-0.681-0.109-0.995-0.092c-0.367 0.017-0.742 0.087-1.127 0.21-0.244 0.070-0.489 0.052-0.734-0.052-0.192-0.070-0.371-0.231-0.537-0.485s-0.314-0.533-0.445-0.838c-0.131-0.306-0.231-0.62-0.301-0.943s-0.087-0.59-0.052-0.799c0.052-0.384 0.227-0.629 0.524-0.734 0.524-0.21 0.995-0.555 1.415-1.035s0.629-1.017 0.629-1.611c0-0.611-0.21-1.144-0.629-1.598s-0.891-0.786-1.415-0.996c-0.157-0.052-0.288-0.179-0.393-0.38s-0.157-0.406-0.157-0.616c0-0.227 0.035-0.48 0.105-0.76s0.162-0.55 0.275-0.812 0.244-0.502 0.393-0.72c0.148-0.218 0.31-0.38 0.485-0.485 0.14-0.087 0.275-0.122 0.406-0.105s0.275 0.052 0.432 0.105c0.524 0.21 1.070 0.275 1.637 0.197s1.070-0.327 1.506-0.747c0.21-0.209 0.362-0.467 0.458-0.773s0.157-0.607 0.183-0.904c0.026-0.297 0.026-0.568 0-0.812s-0.048-0.419-0.065-0.524c-0.035-0.105-0.066-0.227-0.092-0.367s-0.013-0.262 0.039-0.367c0.105-0.244 0.293-0.458 0.563-0.642s0.563-0.336 0.878-0.458c0.314-0.122 0.62-0.214 0.917-0.275s0.533-0.092 0.707-0.092c0.227 0 0.406 0.074 0.537 0.223s0.223 0.301 0.275 0.458c0.192 0.471 0.507 0.886 0.943 1.244s0.952 0.537 1.546 0.537c0.611 0 1.153-0.17 1.624-0.511s0.803-0.773 0.996-1.297c0.070-0.14 0.179-0.284 0.327-0.432s0.301-0.223 0.458-0.223c0.244 0 0.511 0.035 0.799 0.105s0.572 0.166 0.851 0.288c0.279 0.122 0.537 0.279 0.773 0.472s0.423 0.402 0.563 0.629c0.087 0.14 0.113 0.293 0.079 0.458s-0.070 0.284-0.105 0.354c-0.227 0.506-0.297 1.039-0.21 1.598s0.341 1.048 0.76 1.467c0.419 0.419 0.934 0.651 1.546 0.694s1.179-0.057 1.703-0.301c0.14-0.087 0.31-0.122 0.511-0.105s0.371 0.096 0.511 0.236c0.262 0.244 0.493 0.616 0.694 1.113s0.336 1 0.406 1.506c0.035 0.297-0.013 0.528-0.144 0.694s-0.266 0.275-0.406 0.327c-0.542 0.192-1.004 0.528-1.388 1.009s-0.576 1.026-0.576 1.637c0 0.594 0.162 1.113 0.485 1.559s0.747 0.764 1.27 0.956c0.122 0.070 0.227 0.14 0.314 0.21 0.192 0.157 0.323 0.358 0.393 0.602v0zM16.451 19.462c0.786 0 1.528-0.149 2.227-0.445s1.305-0.707 1.821-1.231c0.515-0.524 0.921-1.131 1.218-1.821s0.445-1.428 0.445-2.214c0-0.786-0.148-1.524-0.445-2.214s-0.703-1.292-1.218-1.808c-0.515-0.515-1.122-0.921-1.821-1.218s-1.441-0.445-2.227-0.445c-0.786 0-1.524 0.148-2.214 0.445s-1.292 0.703-1.808 1.218c-0.515 0.515-0.921 1.118-1.218 1.808s-0.445 1.428-0.445 2.214c0 0.786 0.149 1.524 0.445 2.214s0.703 1.297 1.218 1.821c0.515 0.524 1.118 0.934 1.808 1.231s1.428 0.445 2.214 0.445v0z"],right:["0 0 32 32","M22 16l-10.105-10.6-1.895 1.987 8.211 8.613-8.211 8.612 1.895 1.988 8.211-8.613z"],comment:["0 0 32 32","M27.128 0.38h-22.553c-2.336 0-4.229 1.825-4.229 4.076v16.273c0 2.251 1.893 4.076 4.229 4.076h4.229v-2.685h8.403l-8.784 8.072 1.566 1.44 7.429-6.827h9.71c2.335 0 4.229-1.825 4.229-4.076v-16.273c0-2.252-1.894-4.076-4.229-4.076zM28.538 19.403c0 1.5-1.262 2.717-2.819 2.717h-8.36l-0.076-0.070-0.076 0.070h-11.223c-1.557 0-2.819-1.217-2.819-2.717v-13.589c0-1.501 1.262-2.718 2.819-2.718h19.734c1.557 0 2.819-0.141 2.819 1.359v14.947zM9.206 10.557c-1.222 0-2.215 0.911-2.215 2.036s0.992 2.035 2.215 2.035c1.224 0 2.216-0.911 2.216-2.035s-0.992-2.036-2.216-2.036zM22.496 10.557c-1.224 0-2.215 0.911-2.215 2.036s0.991 2.035 2.215 2.035c1.224 0 2.215-0.911 2.215-2.035s-0.991-2.036-2.215-2.036zM15.852 10.557c-1.224 0-2.215 0.911-2.215 2.036s0.991 2.035 2.215 2.035c1.222 0 2.215-0.911 2.215-2.035s-0.992-2.036-2.215-2.036z"],"comment-off":["0 0 32 32","M27.090 0.131h-22.731c-2.354 0-4.262 1.839-4.262 4.109v16.401c0 2.269 1.908 4.109 4.262 4.109h4.262v-2.706h8.469l-8.853 8.135 1.579 1.451 7.487-6.88h9.787c2.353 0 4.262-1.84 4.262-4.109v-16.401c0-2.27-1.909-4.109-4.262-4.109v0zM28.511 19.304c0 1.512-1.272 2.738-2.841 2.738h-8.425l-0.076-0.070-0.076 0.070h-11.311c-1.569 0-2.841-1.226-2.841-2.738v-13.696c0-1.513 1.272-2.739 2.841-2.739h19.889c1.569 0 2.841-0.142 2.841 1.37v15.064z"],send:["0 0 32 32","M13.725 30l3.9-5.325-3.9-1.125v6.45zM0 17.5l11.050 3.35 13.6-11.55-10.55 12.425 11.8 3.65 6.1-23.375-32 15.5z"],menu:["0 0 22 32","M20.8 14.4q0.704 0 1.152 0.48t0.448 1.12-0.48 1.12-1.12 0.48h-19.2q-0.64 0-1.12-0.48t-0.48-1.12 0.448-1.12 1.152-0.48h19.2zM1.6 11.2q-0.64 0-1.12-0.48t-0.48-1.12 0.448-1.12 1.152-0.48h19.2q0.704 0 1.152 0.48t0.448 1.12-0.48 1.12-1.12 0.48h-19.2zM20.8 20.8q0.704 0 1.152 0.48t0.448 1.12-0.48 1.12-1.12 0.48h-19.2q-0.64 0-1.12-0.48t-0.48-1.12 0.448-1.12 1.152-0.48h19.2z"],camera:["0 0 32 32","M16 23c-3.309 0-6-2.691-6-6s2.691-6 6-6 6 2.691 6 6-2.691 6-6 6zM16 13c-2.206 0-4 1.794-4 4s1.794 4 4 4c2.206 0 4-1.794 4-4s-1.794-4-4-4zM27 28h-22c-1.654 0-3-1.346-3-3v-16c0-1.654 1.346-3 3-3h3c0.552 0 1 0.448 1 1s-0.448 1-1 1h-3c-0.551 0-1 0.449-1 1v16c0 0.552 0.449 1 1 1h22c0.552 0 1-0.448 1-1v-16c0-0.551-0.448-1-1-1h-11c-0.552 0-1-0.448-1-1s0.448-1 1-1h11c1.654 0 3 1.346 3 3v16c0 1.654-1.346 3-3 3zM24 10.5c0 0.828 0.672 1.5 1.5 1.5s1.5-0.672 1.5-1.5c0-0.828-0.672-1.5-1.5-1.5s-1.5 0.672-1.5 1.5zM15 4c0 0.552-0.448 1-1 1h-4c-0.552 0-1-0.448-1-1v0c0-0.552 0.448-1 1-1h4c0.552 0 1 0.448 1 1v0z"]},iconsColor:"#ffffff",contextmenu:[]};for(var n in t)t.hasOwnProperty(n)&&!e.hasOwnProperty(n)&&(e[n]=t[n]);return e.video&&!e.video.type&&(e.video.type="auto"),e.danmaku&&!e.danmaku.user&&(e.danmaku.user="DIYgod"),e.subtitle&&(!e.subtitle.type&&(e.subtitle.type="webvtt"),!e.subtitle.fontSize&&(e.subtitle.fontSize="20px"),!e.subtitle.bottom&&(e.subtitle.bottom="40px"),!e.subtitle.color&&(e.subtitle.color="#fff")),e.video.quality&&(e.video.url=[e.video.quality[e.video.defaultQuality].url]),e.lang&&(e.lang=e.lang.toLowerCase()),e.icons&&(e.icons=Object.assign({},t.icons,e.icons)),e.contextmenu=e.contextmenu.concat([{text:"About author",link:"https://www.anotherhome.net/"},{text:"About DPlayer",link:"https://github.com/MoePlayer/DPlayer"},{text:"DPlayer feedback",link:"https://github.com/DIYgod/DPlayer/issues"},{text:"DPlayer 1.12.0 7d1b719",link:"https://github.com/MoePlayer/DPlayer/releases"}]),e}},function(e,t,n){"use strict";var i=function(e,t,n,i,a){var s=new XMLHttpRequest;s.onreadystatechange=function(){if(4===s.readyState){if(s.status>=200&&s.status<300||304===s.status){var e=JSON.parse(s.responseText);return 1!==e.code?i(s,e):n(s,e)}a(s)}},s.open(null!==t?"POST":"GET",e,!0),s.send(null!==t?JSON.stringify(t):null)};e.exports={send:function(e,t,n){i(e,t,function(e,t){console.log("Post danmaku: ",t),n&&n()},function(e,t){alert(t.msg)},function(e){console.log("Request was unsuccessful: "+e.status)})},read:function(e,t){i(e,null,function(e,n){t(null,n.danmaku)},function(e,n){t({status:e.status,response:n})},function(e){t({status:e.status,response:null})})}}},function(e,t,n){"use strict";e.exports=function(e){var t=this;this.lang=e,this.tran=function(e){return i[t.lang]&&i[t.lang][e]?i[t.lang][e]:e}};var i={"zh-cn":{"Danmaku is loading":"\u5f39\u5e55\u52a0\u8f7d\u4e2d",Top:"\u9876\u90e8",Bottom:"\u5e95\u90e8",Rolling:"\u6eda\u52a8","Input danmaku, hit Enter":"\u8f93\u5165\u5f39\u5e55\uff0c\u56de\u8f66\u53d1\u9001","About author":"\u5173\u4e8e\u4f5c\u8005","DPlayer feedback":"\u64ad\u653e\u5668\u610f\u89c1\u53cd\u9988","About DPlayer":"\u5173\u4e8e DPlayer \u64ad\u653e\u5668",Loop:"\u6d17\u8111\u5faa\u73af",Speed:"\u901f\u5ea6","Opacity for danmaku":"\u5f39\u5e55\u900f\u660e\u5ea6",Normal:"\u6b63\u5e38","Please input danmaku content!":"\u8981\u8f93\u5165\u5f39\u5e55\u5185\u5bb9\u554a\u5582\uff01","Set danmaku color":"\u8bbe\u7f6e\u5f39\u5e55\u989c\u8272","Set danmaku type":"\u8bbe\u7f6e\u5f39\u5e55\u7c7b\u578b","Show danmaku":"\u663e\u793a\u5f39\u5e55","This video fails to load":"\u89c6\u9891\u52a0\u8f7d\u5931\u8d25","Switching to":"\u6b63\u5728\u5207\u6362\u81f3","Switched to":"\u5df2\u7ecf\u5207\u6362\u81f3",quality:"\u753b\u8d28",FF:"\u5feb\u8fdb",REW:"\u5feb\u9000","Unlimited danmaku":"\u6d77\u91cf\u5f39\u5e55","Send danmaku":"\u53d1\u9001\u5f39\u5e55",Setting:"\u8bbe\u7f6e","Full screen":"\u5168\u5c4f","Web full screen":"\u9875\u9762\u5168\u5c4f",Send:"\u53d1\u9001",Screenshot:"\u622a\u56fe",s:"\u79d2"},"zh-tw":{"Danmaku is loading":"\u5f48\u5e55\u52a0\u8f09\u4e2d",Top:"\u9802\u90e8",Bottom:"\u5e95\u90e8",Rolling:"\u6efe\u52d5","Input danmaku, hit Enter":"\u8f38\u5165\u5f48\u5e55\uff0cEnter \u767c\u9001","About author":"\u95dc\u65bc\u4f5c\u8005","DPlayer feedback":"\u64ad\u653e\u5668\u610f\u898b\u53cd\u994b","About DPlayer":"\u95dc\u65bc DPlayer \u64ad\u653e\u5668",Loop:"\u5faa\u74b0\u64ad\u653e",Speed:"\u901f\u5ea6","Opacity for danmaku":"\u5f48\u5e55\u900f\u660e\u5ea6",Normal:"\u6b63\u5e38","Please input danmaku content!":"\u8acb\u8f38\u5165\u5f48\u5e55\u5185\u5bb9\u554a\uff01","Set danmaku color":"\u8a2d\u7f6e\u5f48\u5e55\u984f\u8272","Set danmaku type":"\u8a2d\u7f6e\u5f48\u5e55\u985e\u578b","Show danmaku":"\u986f\u793a\u5f48\u5e55","This video fails to load":"\u8996\u983b\u52a0\u8f09\u5931\u6557","Switching to":"\u6b63\u5728\u5207\u63db\u81f3","Switched to":"\u5df2\u7d93\u5207\u63db\u81f3",quality:"\u756b\u8cea",FF:"\u5feb\u9032",REW:"\u5feb\u9000","Unlimited danmaku":"\u6d77\u91cf\u5f48\u5e55","Send danmaku":"\u767c\u9001\u5f48\u5e55",Setting:"\u8a2d\u7f6e","Full screen":"\u5168\u5c4f","Web full screen":"\u9801\u9762\u5168\u5c4f",Send:"\u767c\u9001",Screenshot:"\u622a\u5716",s:"\u79d2"}}},function(e,t,n){"use strict";var i={main:function(e,t,n,a){return'
'+i.video(!0,e.video.pic,e.screenshot,e.preload,e.video.url,e.subtitle)+(e.logo?'':"")+'
'+(e.danmaku?''+n("Danmaku is loading")+"":"")+'
0:00 / 0:00
'+(e.video.quality?'
'+i.qualityList(e.video.quality)+"
":"")+(e.screenshot?''+a.get("camera")+"":"")+'
'+n("Set danmaku color")+'
'+n("Set danmaku type")+'
'+i.contextmenuList(e.contextmenu,n)+'
'},danmakumargin:function(e){var t="";if(e)for(var n in e)t+=n+":"+e[n]+";";return t},contextmenuList:function(e,t){for(var n='";return n+=""},qualityList:function(e){for(var t='
',n=0;n'+e[n].name+"
";return t+=""},video:function(e,t,n,i,a,s){var o=s&&"webvtt"===s.type;return'"},setting:function(e,t){return{original:'
'+e("Speed")+'
'+t.get("right")+'
'+e("Loop")+'
'+e("Show danmaku")+'
'+e("Unlimited danmaku")+'
'+e("Opacity for danmaku")+'
',speed:'
0.5
0.75
'+e("Normal")+'
1.25
1.5
2
'}}};e.exports=i},function(e,t,n){"use strict";function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var a=function(){function e(e,t){for(var n=0;n'}}]),e}();e.exports=s},function(e,t,n){"use strict";function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var a="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},s=function(){function e(e,t){for(var n=0;nparseFloat(t.time);)n.push(t),t=this.dan[++this.danIndex];this.draw(n)}window.requestAnimationFrame(function(){e.frame()})}},{key:"opacity",value:function(e){if(void 0!==e){for(var t=this.container.getElementsByClassName("dplayer-danmaku-item"),n=0;n'+e[a].text+"":s.innerHTML=e[a].text,s.style.opacity=t._opacity,s.style.color=e[a].color,s.addEventListener("animationend",function(){t.container.removeChild(s)});var o=t._measure(e[a].text),l=void 0;switch(e[a].type){case"right":l=d(s,e[a].type,o),l>=0&&(s.style.width=o+1+"px",s.style.top=n*l+"px",s.style.transform="translateX(-"+i+"px)");break;case"top":l=d(s,e[a].type),l>=0&&(s.style.top=n*l+"px");break;case"bottom":l=d(s,e[a].type),l>=0&&(s.style.bottom=n*l+"px");break;default:console.error("Can't handled danmaku type: "+e[a].type)}l>=0&&(s.classList.add("dplayer-danmaku-move"),c.appendChild(s))}(u);return this.container.appendChild(c),c}},{key:"play",value:function(){this.paused=!1}},{key:"pause",value:function(){this.paused=!0}},{key:"_measure",value:function(e){if(!this.context){var t=getComputedStyle(this.container.getElementsByClassName("dplayer-danmaku-item")[0],null);this.context=document.createElement("canvas").getContext("2d"),this.context.font=t.getPropertyValue("font")}return this.context.measureText(e).width}},{key:"seek",value:function(){for(var e=0;e=this.options.time()){this.danIndex=e;break}this.danIndex=this.dan.length}}},{key:"clear",value:function(){this.danTunnel={right:{},top:{},bottom:{}},this.danIndex=0,this.options.container.innerHTML="",this.events&&this.events.trigger("danmaku_clear")}},{key:"htmlEncode",value:function(e){return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'").replace(/\//g,"/")}},{key:"resize",value:function(){for(var e=this.container.offsetWidth,t=this.container.getElementsByClassName("dplayer-danmaku-item"),n=0;n0&&void 0!==arguments[0]?arguments[0]:"browser"){case"browser":return document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement;case"web":return this.player.container.classList.contains("dplayer-fulled")}}},{key:"request",value:function(){switch(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"browser"){case"browser":this.player.container.requestFullscreen?this.player.container.requestFullscreen():this.player.container.mozRequestFullScreen?this.player.container.mozRequestFullScreen():this.player.container.webkitRequestFullscreen?this.player.container.webkitRequestFullscreen():this.player.video.webkitEnterFullscreen&&this.player.video.webkitEnterFullscreen();break;case"web":this.player.container.classList.add("dplayer-fulled"),this.player.events.trigger("webfullscreen")}}},{key:"cancel",value:function(){switch(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"browser"){case"browser":document.cancelFullScreen?document.cancelFullScreen():document.mozCancelFullScreen?document.mozCancelFullScreen():document.webkitCancelFullScreen&&document.webkitCancelFullScreen();break;case"web":this.player.container.classList.remove("dplayer-fulled"),this.player.events.trigger("webfullscreen_cancel")}}},{key:"toggle",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"browser";this.isFullScreen(e)?this.cancel(e):this.request(e)}}]),e}();e.exports=s},function(e,t,n){"use strict";function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var a=function(){function e(e,t){for(var n=0;n\\n';\n};\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nconsole.log('\\n' + ' %c DPlayer ' + \"1.11.0\" + ' ' + \"2323e73\" + ' %c http://dplayer.js.org ' + '\\n' + '\\n', 'color: #fadfa3; background: #030307; padding:5px 0;', 'background: #fadfa3; padding:5px 0;');\nmodule.exports = __webpack_require__(3);\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n__webpack_require__(4);\nvar _utils = __webpack_require__(0);\nvar _utils2 = _interopRequireDefault(_utils);\nvar _svg = __webpack_require__(1);\nvar _svg2 = _interopRequireDefault(_svg);\nvar _options = __webpack_require__(5);\nvar _options2 = _interopRequireDefault(_options);\nvar _i18n = __webpack_require__(7);\nvar _i18n2 = _interopRequireDefault(_i18n);\nvar _html = __webpack_require__(8);\nvar _html2 = _interopRequireDefault(_html);\nvar _danmaku = __webpack_require__(9);\nvar _danmaku2 = _interopRequireDefault(_danmaku);\nvar _thumbnails = __webpack_require__(10);\nvar _thumbnails2 = _interopRequireDefault(_thumbnails);\nvar _events = __webpack_require__(11);\nvar _events2 = _interopRequireDefault(_events);\nvar _fullscreen = __webpack_require__(12);\nvar _fullscreen2 = _interopRequireDefault(_fullscreen);\nvar _user = __webpack_require__(13);\nvar _user2 = _interopRequireDefault(_user);\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nvar index = 0;\nvar DPlayer = function () {\n function DPlayer(options) {\n var _this = this;\n _classCallCheck(this, DPlayer);\n this.options = (0, _options2.default)(options);\n this.options.container.classList.add('dplayer');\n if (this.options.video.quality) {\n this.qualityIndex = this.options.video.defaultQuality;\n this.quality = this.options.video.quality[this.options.video.defaultQuality];\n }\n this.tran = new _i18n2.default(this.options.lang).tran;\n this.events = new _events2.default();\n this.user = new _user2.default(this);\n this.container = this.options.container;\n if (!this.options.danmaku) {\n this.container.classList.add('dplayer-no-danmaku');\n }\n if (_utils.isMobile) {\n this.container.classList.add('dplayer-mobile');\n }\n this.container.innerHTML = _html2.default.main(this.options, index, this.tran);\n var bar = {};\n bar.volumeBar = this.container.getElementsByClassName('dplayer-volume-bar-inner')[0];\n bar.playedBar = this.container.getElementsByClassName('dplayer-played')[0];\n bar.loadedBar = this.container.getElementsByClassName('dplayer-loaded')[0];\n var pbar = this.container.getElementsByClassName('dplayer-bar-wrap')[0];\n var pbarTimeTips = this.container.getElementsByClassName('dplayer-bar-time')[0];\n var barWidth = void 0;\n this.updateBar = function (type, percentage, direction) {\n percentage = percentage > 0 ? percentage : 0;\n percentage = percentage < 1 ? percentage : 1;\n bar[type + 'Bar'].style[direction] = percentage * 100 + '%';\n };\n document.addEventListener('click', function () {\n _this.focus = false;\n }, true);\n this.container.addEventListener('click', function () {\n _this.focus = true;\n }, true);\n if (this.options.danmaku) {\n this.danmaku = new _danmaku2.default({\n container: this.container.getElementsByClassName('dplayer-danmaku')[0],\n opacity: this.user.get('opacity'),\n callback: function callback() {\n _this.container.getElementsByClassName('dplayer-danloading')[0].style.display = 'none';\n if (_this.options.autoplay && !_utils.isMobile) {\n _this.play();\n } else if (_utils.isMobile) {\n _this.pause();\n }\n },\n error: function error(msg) {\n _this.notice(msg);\n },\n apiBackend: this.options.apiBackend,\n borderColor: this.options.theme,\n height: this.arrow ? 24 : 30,\n time: function time() {\n return _this.video.currentTime;\n },\n unlimited: this.user.get('unlimited'),\n api: {\n id: this.options.danmaku.id,\n address: this.options.danmaku.api,\n token: this.options.danmaku.token,\n maximum: this.options.danmaku.maximum,\n addition: this.options.danmaku.addition,\n user: this.options.danmaku.user\n },\n events: this.events\n });\n }\n this.arrow = this.container.offsetWidth <= 500;\n if (this.arrow) {\n var arrowStyle = document.createElement('style');\n arrowStyle.innerHTML = '.dplayer .dplayer-danmaku{font-size:18px}';\n document.head.appendChild(arrowStyle);\n }\n this.video = this.container.getElementsByClassName('dplayer-video-current')[0];\n this.bezel = this.container.getElementsByClassName('dplayer-bezel-icon')[0];\n this.bezel.addEventListener('animationend', function () {\n _this.bezel.classList.remove('dplayer-bezel-transition');\n });\n this.playButton = this.container.getElementsByClassName('dplayer-play-icon')[0];\n this.paused = true;\n this.playButton.addEventListener('click', function () {\n _this.toggle();\n });\n var videoWrap = this.container.getElementsByClassName('dplayer-video-wrap')[0];\n var conMask = this.container.getElementsByClassName('dplayer-controller-mask')[0];\n if (!_utils.isMobile) {\n videoWrap.addEventListener('click', function () {\n _this.toggle();\n });\n conMask.addEventListener('click', function () {\n _this.toggle();\n });\n } else {\n var toggleController = function toggleController() {\n if (_this.container.classList.contains('dplayer-hide-controller')) {\n _this.container.classList.remove('dplayer-hide-controller');\n } else {\n _this.container.classList.add('dplayer-hide-controller');\n }\n };\n videoWrap.addEventListener('click', toggleController);\n conMask.addEventListener('click', toggleController);\n }\n var lastPlayPos = 0;\n var currentPlayPos = 0;\n var bufferingDetected = false;\n window.requestAnimationFrame = function () {\n return window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || window.oRequestAnimationFrame || window.msRequestAnimationFrame || function (callback) {\n window.setTimeout(callback, 1000 / 60);\n };\n }();\n var setCheckLoadingTime = function setCheckLoadingTime() {\n _this.checkLoading = setInterval(function () {\n currentPlayPos = _this.video.currentTime;\n if (!bufferingDetected && currentPlayPos === lastPlayPos && !_this.video.paused) {\n _this.container.classList.add('dplayer-loading');\n bufferingDetected = true;\n }\n if (bufferingDetected && currentPlayPos > lastPlayPos && !_this.video.paused) {\n _this.container.classList.remove('dplayer-loading');\n bufferingDetected = false;\n }\n lastPlayPos = currentPlayPos;\n }, 100);\n };\n var clearCheckLoadingTime = function clearCheckLoadingTime() {\n clearInterval(_this.checkLoading);\n };\n this.playedTime = false;\n this.animationFrame = function () {\n if (_this.playedTime) {\n _this.updateBar('played', _this.video.currentTime / _this.video.duration, 'width');\n _this.container.getElementsByClassName('dplayer-ptime')[0].innerHTML = _utils2.default.secondToTime(_this.video.currentTime);\n }\n window.requestAnimationFrame(_this.animationFrame);\n };\n window.requestAnimationFrame(this.animationFrame);\n this.setTime = function (type) {\n if (!type) {\n _this.playedTime = true;\n setCheckLoadingTime();\n } else {\n _this[type + 'Time'] = true;\n if (type === 'played') {\n setCheckLoadingTime();\n }\n }\n };\n this.clearTime = function (type) {\n if (!type) {\n _this.playedTime = false;\n clearCheckLoadingTime();\n } else {\n _this[type + 'Time'] = false;\n if (type === 'played') {\n clearCheckLoadingTime();\n }\n }\n };\n if (this.options.video.thumbnails) {\n this.initThumbnails();\n }\n this.isTimeTipsShow = true;\n this.mouseHandler = this.mouseHandler(pbar, pbarTimeTips).bind(this);\n pbar.addEventListener('mousemove', this.mouseHandler);\n pbar.addEventListener('mouseenter', this.mouseHandler);\n pbar.addEventListener('mouseleave', this.mouseHandler);\n var thumbMove = function thumbMove(e) {\n var percentage = (e.clientX - _utils2.default.getElementViewLeft(pbar)) / barWidth;\n percentage = percentage > 0 ? percentage : 0;\n percentage = percentage < 1 ? percentage : 1;\n _this.updateBar('played', percentage, 'width');\n _this.container.getElementsByClassName('dplayer-ptime')[0].innerHTML = _utils2.default.secondToTime(percentage * _this.video.duration);\n };\n var thumbUp = function thumbUp(e) {\n document.removeEventListener('mouseup', thumbUp);\n document.removeEventListener('mousemove', thumbMove);\n var percentage = (e.clientX - _utils2.default.getElementViewLeft(pbar)) / barWidth;\n percentage = percentage > 0 ? percentage : 0;\n percentage = percentage < 1 ? percentage : 1;\n _this.updateBar('played', percentage, 'width');\n _this.seek(parseFloat(bar.playedBar.style.width) / 100 * _this.video.duration);\n _this.setTime();\n };\n pbar.addEventListener('mousedown', function () {\n barWidth = pbar.clientWidth;\n _this.clearTime();\n document.addEventListener('mousemove', thumbMove);\n document.addEventListener('mouseup', thumbUp);\n });\n var volumeEle = this.container.getElementsByClassName('dplayer-volume')[0];\n var volumeBarWrapWrap = this.container.getElementsByClassName('dplayer-volume-bar-wrap')[0];\n var volumeBarWrap = this.container.getElementsByClassName('dplayer-volume-bar')[0];\n var volumeicon = this.container.getElementsByClassName('dplayer-volume-icon')[0].getElementsByClassName('dplayer-icon-content')[0];\n var vWidth = 35;\n this.switchVolumeIcon = function () {\n if (_this.volume() >= 0.95) {\n volumeicon.innerHTML = (0, _svg2.default)('volume-up');\n } else if (_this.volume() > 0) {\n volumeicon.innerHTML = (0, _svg2.default)('volume-down');\n } else {\n volumeicon.innerHTML = (0, _svg2.default)('volume-off');\n }\n };\n var volumeMove = function volumeMove(event) {\n var e = event || window.event;\n var percentage = (e.clientX - _utils2.default.getElementViewLeft(volumeBarWrap) - 5.5) / vWidth;\n _this.volume(percentage);\n };\n var volumeUp = function volumeUp() {\n document.removeEventListener('mouseup', volumeUp);\n document.removeEventListener('mousemove', volumeMove);\n volumeEle.classList.remove('dplayer-volume-active');\n };\n volumeBarWrapWrap.addEventListener('click', function (event) {\n var e = event || window.event;\n var percentage = (e.clientX - _utils2.default.getElementViewLeft(volumeBarWrap) - 5.5) / vWidth;\n _this.volume(percentage);\n });\n volumeBarWrapWrap.addEventListener('mousedown', function () {\n document.addEventListener('mousemove', volumeMove);\n document.addEventListener('mouseup', volumeUp);\n volumeEle.classList.add('dplayer-volume-active');\n });\n volumeicon.addEventListener('click', function () {\n if (_this.video.muted) {\n _this.video.muted = false;\n _this.switchVolumeIcon();\n _this.updateBar('volume', _this.volume(), 'width');\n } else {\n _this.video.muted = true;\n volumeicon.innerHTML = (0, _svg2.default)('volume-off');\n _this.updateBar('volume', 0, 'width');\n }\n });\n this.hideTime = 0;\n var hideController = function hideController() {\n _this.container.classList.remove('dplayer-hide-controller');\n clearTimeout(_this.hideTime);\n _this.hideTime = setTimeout(function () {\n if (_this.video.played.length) {\n _this.container.classList.add('dplayer-hide-controller');\n closeSetting();\n closeComment();\n }\n }, 2000);\n };\n if (!_utils.isMobile) {\n this.container.addEventListener('mousemove', hideController);\n this.container.addEventListener('click', hideController);\n }\n var settingHTML = _html2.default.setting(this.tran);\n var settingIcon = this.container.getElementsByClassName('dplayer-setting-icon')[0];\n var settingBox = this.container.getElementsByClassName('dplayer-setting-box')[0];\n var mask = this.container.getElementsByClassName('dplayer-mask')[0];\n settingBox.innerHTML = settingHTML.original;\n var closeSetting = function closeSetting() {\n if (settingBox.classList.contains('dplayer-setting-box-open')) {\n settingBox.classList.remove('dplayer-setting-box-open');\n mask.classList.remove('dplayer-mask-show');\n setTimeout(function () {\n settingBox.classList.remove('dplayer-setting-box-narrow');\n settingBox.innerHTML = settingHTML.original;\n settingEvent();\n }, 300);\n }\n };\n var openSetting = function openSetting() {\n settingBox.classList.add('dplayer-setting-box-open');\n mask.classList.add('dplayer-mask-show');\n };\n mask.addEventListener('click', function () {\n closeSetting();\n });\n settingIcon.addEventListener('click', function () {\n openSetting();\n });\n this.loop = this.options.loop;\n var showdan = this.user.get('danmaku');\n if (!showdan) {\n this.danmaku && this.danmaku.hide();\n }\n var unlimitDan = this.user.get('unlimited');\n var settingEvent = function settingEvent() {\n var loopEle = _this.container.getElementsByClassName('dplayer-setting-loop')[0];\n var loopToggle = loopEle.getElementsByClassName('dplayer-toggle-setting-input')[0];\n loopToggle.checked = _this.loop;\n loopEle.addEventListener('click', function () {\n loopToggle.checked = !loopToggle.checked;\n if (loopToggle.checked) {\n _this.loop = true;\n } else {\n _this.loop = false;\n }\n closeSetting();\n });\n var showDanEle = _this.container.getElementsByClassName('dplayer-setting-showdan')[0];\n var showDanToggle = showDanEle.getElementsByClassName('dplayer-showdan-setting-input')[0];\n showDanToggle.checked = showdan;\n showDanEle.addEventListener('click', function () {\n showDanToggle.checked = !showDanToggle.checked;\n if (showDanToggle.checked) {\n showdan = true;\n if (!_this.paused) {\n _this.danmaku.show();\n }\n } else {\n showdan = false;\n _this.danmaku.hide();\n }\n _this.user.set('danmaku', showdan ? 1 : 0);\n closeSetting();\n });\n var unlimitDanEle = _this.container.getElementsByClassName('dplayer-setting-danunlimit')[0];\n var unlimitDanToggle = unlimitDanEle.getElementsByClassName('dplayer-danunlimit-setting-input')[0];\n unlimitDanToggle.checked = unlimitDan;\n unlimitDanEle.addEventListener('click', function () {\n unlimitDanToggle.checked = !unlimitDanToggle.checked;\n if (unlimitDanToggle.checked) {\n unlimitDan = true;\n _this.danmaku.unlimit(true);\n } else {\n unlimitDan = false;\n _this.danmaku.unlimit(false);\n }\n _this.user.set('unlimited', unlimitDan ? 1 : 0);\n closeSetting();\n });\n var speedEle = _this.container.getElementsByClassName('dplayer-setting-speed')[0];\n speedEle.addEventListener('click', function () {\n settingBox.classList.add('dplayer-setting-box-narrow');\n settingBox.innerHTML = settingHTML.speed;\n var speedItem = settingBox.getElementsByClassName('dplayer-setting-speed-item');\n var _loop = function _loop(i) {\n speedItem[i].addEventListener('click', function () {\n _this.video.playbackRate = speedItem[i].dataset.speed;\n closeSetting();\n });\n };\n for (var i = 0; i < speedItem.length; i++) {\n _loop(i);\n }\n });\n if (_this.danmaku) {\n bar.danmakuBar = _this.container.getElementsByClassName('dplayer-danmaku-bar-inner')[0];\n var danmakuBarWrapWrap = _this.container.getElementsByClassName('dplayer-danmaku-bar-wrap')[0];\n var danmakuBarWrap = _this.container.getElementsByClassName('dplayer-danmaku-bar')[0];\n var danmakuSettingBox = _this.container.getElementsByClassName('dplayer-setting-danmaku')[0];\n var dWidth = 130;\n _this.on('danmaku_opacity', function (percentage) {\n _this.updateBar('danmaku', percentage, 'width');\n _this.user.set('opacity', percentage);\n });\n _this.danmaku.opacity(_this.user.get('opacity'));\n var danmakuMove = function danmakuMove(event) {\n var e = event || window.event;\n var percentage = (e.clientX - _utils2.default.getElementViewLeft(danmakuBarWrap)) / dWidth;\n percentage = percentage > 0 ? percentage : 0;\n percentage = percentage < 1 ? percentage : 1;\n _this.danmaku.opacity(percentage);\n };\n var danmakuUp = function danmakuUp() {\n document.removeEventListener('mouseup', danmakuUp);\n document.removeEventListener('mousemove', danmakuMove);\n danmakuSettingBox.classList.remove('dplayer-setting-danmaku-active');\n };\n danmakuBarWrapWrap.addEventListener('click', function (event) {\n var e = event || window.event;\n var percentage = (e.clientX - _utils2.default.getElementViewLeft(danmakuBarWrap)) / dWidth;\n percentage = percentage > 0 ? percentage : 0;\n percentage = percentage < 1 ? percentage : 1;\n _this.danmaku.opacity(percentage);\n });\n danmakuBarWrapWrap.addEventListener('mousedown', function () {\n document.addEventListener('mousemove', danmakuMove);\n document.addEventListener('mouseup', danmakuUp);\n danmakuSettingBox.classList.add('dplayer-setting-danmaku-active');\n });\n }\n };\n settingEvent();\n if (this.video.duration !== 1) {\n this.container.getElementsByClassName('dplayer-dtime')[0].innerHTML = this.video.duration ? _utils2.default.secondToTime(this.video.duration) : '00:00';\n }\n if (!this.danmaku) {\n if (this.options.autoplay && !_utils.isMobile) {\n this.play();\n } else if (_utils.isMobile) {\n this.pause();\n }\n }\n var commentInput = this.container.getElementsByClassName('dplayer-comment-input')[0];\n var commentIcon = this.container.getElementsByClassName('dplayer-comment-icon')[0];\n var commentBox = this.container.getElementsByClassName('dplayer-comment-box')[0];\n var commentSettingIcon = this.container.getElementsByClassName('dplayer-comment-setting-icon')[0];\n var commentSettingBox = this.container.getElementsByClassName('dplayer-comment-setting-box')[0];\n var commentSendIcon = this.container.getElementsByClassName('dplayer-send-icon')[0];\n var closeCommentSetting = function closeCommentSetting() {\n if (commentSettingBox.classList.contains('dplayer-comment-setting-open')) {\n commentSettingBox.classList.remove('dplayer-comment-setting-open');\n }\n };\n var toggleCommentSetting = function toggleCommentSetting() {\n if (commentSettingBox.classList.contains('dplayer-comment-setting-open')) {\n commentSettingBox.classList.remove('dplayer-comment-setting-open');\n } else {\n commentSettingBox.classList.add('dplayer-comment-setting-open');\n }\n };\n var disableHide = 0;\n var commentFocusTimeout = 0;\n var closeComment = function closeComment() {\n if (!commentBox.classList.contains('dplayer-comment-box-open')) {\n return;\n }\n commentBox.classList.remove('dplayer-comment-box-open');\n mask.classList.remove('dplayer-mask-show');\n _this.container.classList.remove('dplayer-show-controller');\n clearInterval(disableHide);\n clearTimeout(commentFocusTimeout);\n closeCommentSetting();\n };\n var openComment = function openComment() {\n if (commentBox.classList.contains('dplayer-comment-box-open')) {\n return;\n }\n commentBox.classList.add('dplayer-comment-box-open');\n mask.classList.add('dplayer-mask-show');\n _this.container.classList.add('dplayer-show-controller');\n disableHide = setInterval(function () {\n clearTimeout(_this.hideTime);\n }, 1000);\n commentFocusTimeout = setTimeout(function () {\n commentInput.focus();\n }, 300);\n };\n mask.addEventListener('click', function () {\n closeComment();\n });\n commentIcon.addEventListener('click', function () {\n openComment();\n });\n commentSettingIcon.addEventListener('click', function () {\n toggleCommentSetting();\n });\n this.container.getElementsByClassName('dplayer-comment-setting-color')[0].addEventListener('click', function () {\n var sele = _this.container.querySelector('input[name=\"dplayer-danmaku-color-${index}\"]:checked+span');\n if (sele) {\n commentSettingIcon.getElementsByClassName('dplayer-fill')[0].style.fill = _this.container.querySelector('input[name=\"dplayer-danmaku-color-${index}\"]:checked').value;\n }\n });\n var sendComment = function sendComment() {\n commentInput.blur();\n if (!commentInput.value.replace(/^\\s+|\\s+$/g, '')) {\n _this.notice(_this.tran('Please input danmaku content!'));\n return;\n }\n _this.danmaku.send({\n text: commentInput.value,\n color: _this.container.querySelector('.dplayer-comment-setting-color input:checked').value,\n type: _this.container.querySelector('.dplayer-comment-setting-type input:checked').value\n }, function () {\n commentInput.value = '';\n closeComment();\n });\n };\n commentInput.addEventListener('click', function () {\n closeCommentSetting();\n });\n commentInput.addEventListener('keydown', function (e) {\n var event = e || window.event;\n if (event.keyCode === 13) {\n sendComment();\n }\n });\n commentSendIcon.addEventListener('click', sendComment);\n this.fullScreen = new _fullscreen2.default(this);\n this.container.getElementsByClassName('dplayer-full-icon')[0].addEventListener('click', function () {\n _this.fullScreen.toggle('browser');\n });\n this.container.getElementsByClassName('dplayer-full-in-icon')[0].addEventListener('click', function () {\n _this.fullScreen.toggle('web');\n });\n var handleKeyDown = function handleKeyDown(e) {\n if (_this.focus) {\n var tag = document.activeElement.tagName.toUpperCase();\n var editable = document.activeElement.getAttribute('contenteditable');\n if (tag !== 'INPUT' && tag !== 'TEXTAREA' && editable !== '' && editable !== 'true') {\n var event = e || window.event;\n var percentage = void 0;\n switch (event.keyCode) {\n case 32:\n event.preventDefault();\n _this.toggle();\n break;\n case 37:\n event.preventDefault();\n _this.seek(_this.video.currentTime - 5);\n hideController();\n break;\n case 39:\n event.preventDefault();\n _this.seek(_this.video.currentTime + 5);\n hideController();\n break;\n case 38:\n event.preventDefault();\n percentage = _this.volume() + 0.1;\n _this.volume(percentage);\n break;\n case 40:\n event.preventDefault();\n percentage = _this.volume() - 0.1;\n _this.volume(percentage);\n break;\n }\n }\n }\n };\n if (this.options.hotkey) {\n document.addEventListener('keydown', handleKeyDown);\n }\n document.addEventListener('keydown', function (e) {\n var event = e || window.event;\n switch (event.keyCode) {\n case 27:\n if (_this.fullScreen.isFullScreen('web')) {\n _this.fullScreen.cancel('web');\n }\n break;\n }\n });\n var menu = this.container.getElementsByClassName('dplayer-menu')[0];\n this.container.addEventListener('contextmenu', function (e) {\n var event = e || window.event;\n event.preventDefault();\n menu.classList.add('dplayer-menu-show');\n var clientRect = _this.container.getBoundingClientRect();\n var menuLeft = event.clientX - clientRect.left;\n var menuTop = event.clientY - clientRect.top;\n if (menuLeft + menu.offsetWidth >= clientRect.width) {\n menu.style.right = clientRect.width - menuLeft + 'px';\n menu.style.left = 'initial';\n } else {\n menu.style.left = event.clientX - _this.container.getBoundingClientRect().left + 'px';\n menu.style.right = 'initial';\n }\n if (menuTop + menu.offsetHeight >= clientRect.height) {\n menu.style.bottom = clientRect.height - menuTop + 'px';\n menu.style.top = 'initial';\n } else {\n menu.style.top = event.clientY - _this.container.getBoundingClientRect().top + 'px';\n menu.style.bottom = 'initial';\n }\n mask.classList.add('dplayer-mask-show');\n _this.events.trigger('contextmenu_show');\n mask.addEventListener('click', function () {\n mask.classList.remove('dplayer-mask-show');\n menu.classList.remove('dplayer-menu-show');\n _this.events.trigger('contextmenu_hide');\n });\n });\n if (this.options.video.quality) {\n this.container.getElementsByClassName('dplayer-quality-list')[0].addEventListener('click', function (e) {\n if (e.target.classList.contains('dplayer-quality-item')) {\n _this.switchQuality(e.target.dataset.index);\n }\n });\n }\n if (this.options.screenshot) {\n var camareIcon = this.container.getElementsByClassName('dplayer-camera-icon')[0];\n camareIcon.addEventListener('click', function () {\n var canvas = document.createElement('canvas');\n canvas.width = _this.video.videoWidth;\n canvas.height = _this.video.videoHeight;\n canvas.getContext('2d').drawImage(_this.video, 0, 0, canvas.width, canvas.height);\n var dataURL = canvas.toDataURL();\n camareIcon.href = dataURL;\n camareIcon.download = 'DPlayer.png';\n _this.events.trigger('screenshot', dataURL);\n });\n }\n this.initVideo(this.video, this.quality && this.quality.type || this.options.video.type);\n index++;\n }\n _createClass(DPlayer, [\n {\n key: 'seek',\n value: function seek(time) {\n time = Math.max(time, 0);\n if (this.video.duration) {\n time = Math.min(time, this.video.duration);\n }\n if (this.video.currentTime < time) {\n this.notice(this.tran('FF') + ' ' + (time - this.video.currentTime).toFixed(0) + ' ' + this.tran('s'));\n } else if (this.video.currentTime > time) {\n this.notice(this.tran('REW') + ' ' + (this.video.currentTime - time).toFixed(0) + ' ' + this.tran('s'));\n }\n this.video.currentTime = time;\n if (this.danmaku) {\n this.danmaku.seek();\n }\n this.updateBar('played', time / this.video.duration, 'width');\n }\n },\n {\n key: 'play',\n value: function play() {\n this.paused = false;\n if (this.video.paused) {\n this.bezel.innerHTML = (0, _svg2.default)('play');\n this.bezel.classList.add('dplayer-bezel-transition');\n }\n this.playButton.innerHTML = (0, _svg2.default)('pause');\n this.video.play();\n this.setTime();\n this.container.classList.add('dplayer-playing');\n if (this.danmaku) {\n this.danmaku.play();\n }\n }\n },\n {\n key: 'pause',\n value: function pause() {\n this.paused = true;\n this.container.classList.remove('dplayer-loading');\n if (!this.video.paused) {\n this.bezel.innerHTML = (0, _svg2.default)('pause');\n this.bezel.classList.add('dplayer-bezel-transition');\n }\n this.ended = false;\n this.playButton.innerHTML = (0, _svg2.default)('play');\n this.video.pause();\n this.clearTime();\n this.container.classList.remove('dplayer-playing');\n if (this.danmaku) {\n this.danmaku.pause();\n }\n }\n },\n {\n key: 'volume',\n value: function volume(percentage, nostorage) {\n percentage = parseFloat(percentage);\n if (!isNaN(percentage)) {\n percentage = percentage > 0 ? percentage : 0;\n percentage = percentage < 1 ? percentage : 1;\n this.updateBar('volume', percentage, 'width');\n var formatPercentage = (percentage * 100).toFixed(0) + '%';\n this.container.getElementsByClassName('dplayer-volume-bar-wrap')[0].dataset.balloon = formatPercentage;\n if (!nostorage) {\n this.user.set('volume', percentage);\n }\n this.video.volume = percentage;\n if (this.video.muted) {\n this.video.muted = false;\n }\n this.switchVolumeIcon();\n }\n return this.video.volume;\n }\n },\n {\n key: 'toggle',\n value: function toggle() {\n if (this.video.paused) {\n this.play();\n } else {\n this.pause();\n }\n }\n },\n {\n key: 'on',\n value: function on(name, callback) {\n this.events.on(name, callback);\n }\n },\n {\n key: 'switchVideo',\n value: function switchVideo(video, danmakuAPI) {\n this.pause();\n this.video.poster = video.pic ? video.pic : '';\n this.video.src = video.url;\n this.initMSE(this.video, video.type || 'auto');\n if (danmakuAPI) {\n this.container.getElementsByClassName('dplayer-danloading')[0].style.display = 'block';\n this.updateBar('played', 0, 'width');\n this.updateBar('loaded', 0, 'width');\n this.container.getElementsByClassName('dplayer-ptime')[0].innerHTML = '00:00';\n this.container.getElementsByClassName('dplayer-danmaku')[0].innerHTML = '';\n if (this.danmaku) {\n this.danmaku.reload({\n id: danmakuAPI.id,\n address: danmakuAPI.api,\n token: danmakuAPI.token,\n maximum: danmakuAPI.maximum,\n addition: danmakuAPI.addition,\n user: danmakuAPI.user\n });\n }\n }\n }\n },\n {\n key: 'initMSE',\n value: function initMSE(video, type) {\n this.type = type;\n if (this.type === 'auto') {\n if (/m3u8(#|\\?|$)/i.exec(video.src)) {\n this.type = 'hls';\n } else if (/.flv(#|\\?|$)/i.exec(video.src)) {\n this.type = 'flv';\n } else {\n this.type = 'normal';\n }\n }\n if (this.type === 'hls' && Hls.isSupported()) {\n var hls = new Hls();\n hls.loadSource(video.src);\n hls.attachMedia(video);\n }\n if (this.type === 'flv' && flvjs.isSupported()) {\n var flvPlayer = flvjs.createPlayer({\n type: 'flv',\n url: video.src\n });\n flvPlayer.attachMediaElement(video);\n flvPlayer.load();\n }\n }\n },\n {\n key: 'initVideo',\n value: function initVideo(video, type) {\n var _this2 = this;\n this.initMSE(video, type);\n this.on('durationchange', function () {\n if (video.duration !== 1) {\n _this2.container.getElementsByClassName('dplayer-dtime')[0].innerHTML = _utils2.default.secondToTime(video.duration);\n }\n });\n this.on('progress', function () {\n var percentage = video.buffered.length ? video.buffered.end(video.buffered.length - 1) / video.duration : 0;\n _this2.updateBar('loaded', percentage, 'width');\n });\n this.on('error', function () {\n _this2.tran && _this2.notice && _this2.notice(_this2.tran('This video fails to load'), -1);\n });\n this.ended = false;\n this.on('ended', function () {\n _this2.updateBar('played', 1, 'width');\n if (!_this2.loop) {\n _this2.ended = true;\n _this2.pause();\n } else {\n _this2.seek(0);\n video.play();\n }\n if (_this2.danmaku) {\n _this2.danmaku.danIndex = 0;\n }\n });\n this.on('play', function () {\n if (_this2.paused) {\n _this2.play();\n }\n });\n this.on('pause', function () {\n if (!_this2.paused) {\n _this2.pause();\n }\n });\n var _loop2 = function _loop2(i) {\n video.addEventListener(_this2.events.videoEvents[i], function () {\n _this2.events.trigger(_this2.events.videoEvents[i]);\n });\n };\n for (var i = 0; i < this.events.videoEvents.length; i++) {\n _loop2(i);\n }\n this.volume(this.user.get('volume'), true);\n }\n },\n {\n key: 'switchQuality',\n value: function switchQuality(index) {\n var _this3 = this;\n if (this.qualityIndex === index || this.switchingQuality) {\n return;\n } else {\n this.qualityIndex = index;\n }\n this.switchingQuality = true;\n this.quality = this.options.video.quality[index];\n this.container.getElementsByClassName('dplayer-quality-icon')[0].innerHTML = this.quality.name;\n var paused = this.video.paused;\n this.video.pause();\n var videoHTML = _html2.default.video(false, null, this.options.screenshot, 'auto', this.quality.url);\n var videoEle = new DOMParser().parseFromString(videoHTML, 'text/html').body.firstChild;\n var parent = this.container.getElementsByClassName('dplayer-video-wrap')[0];\n parent.insertBefore(videoEle, parent.getElementsByTagName('div')[0]);\n this.prevVideo = this.video;\n this.video = videoEle;\n this.initVideo(this.video, this.quality.type || this.options.video.type);\n this.seek(this.prevVideo.currentTime);\n this.notice(this.tran('Switching to') + ' ' + this.quality.name + ' ' + this.tran('quality'), -1);\n this.events.trigger('quality_start', this.quality);\n this.on('canplay', function () {\n if (_this3.prevVideo) {\n if (_this3.video.currentTime !== _this3.prevVideo.currentTime) {\n _this3.seek(_this3.prevVideo.currentTime);\n return;\n }\n parent.removeChild(_this3.prevVideo);\n _this3.video.classList.add('dplayer-video-current');\n if (!paused) {\n _this3.video.play();\n }\n _this3.prevVideo = null;\n _this3.notice(_this3.tran('Switched to') + ' ' + _this3.quality.name + ' ' + _this3.tran('quality'));\n _this3.switchingQuality = false;\n _this3.events.trigger('quality_end');\n }\n });\n }\n },\n {\n key: 'mouseHandler',\n value: function mouseHandler(pbar, timeTips) {\n var _this4 = this;\n var cumulativeOffset = function cumulativeOffset(element) {\n var top = 0, left = 0;\n do {\n top += element.offsetTop || 0;\n left += element.offsetLeft || 0;\n element = element.offsetParent;\n } while (element);\n return {\n top: top,\n left: left\n };\n };\n return function (e) {\n if (!_this4.video.duration) {\n return;\n }\n var clientX = e.clientX;\n var px = cumulativeOffset(pbar).left;\n var tx = clientX - px;\n if (tx < 0 || tx > pbar.offsetWidth) {\n return;\n }\n var time = _this4.video.duration * (tx / pbar.offsetWidth);\n timeTips.style.left = tx - 20 + 'px';\n switch (e.type) {\n case 'mouseenter':\n _this4.thumbnails && _this4.thumbnails.show();\n break;\n case 'mousemove':\n _this4.thumbnails && _this4.thumbnails.move(tx);\n timeTips.innerText = _utils2.default.secondToTime(time);\n _this4.timeTipsDisplay(true, timeTips);\n break;\n case 'mouseleave':\n _this4.thumbnails && _this4.thumbnails.hide();\n _this4.timeTipsDisplay(false, timeTips);\n break;\n }\n };\n }\n },\n {\n key: 'timeTipsDisplay',\n value: function timeTipsDisplay(show, timeTips) {\n if (show) {\n if (this.isTimeTipsShow) {\n return;\n }\n timeTips.classList.remove('hidden');\n this.isTimeTipsShow = true;\n } else {\n if (!this.isTimeTipsShow) {\n return;\n }\n timeTips.classList.add('hidden');\n this.isTimeTipsShow = false;\n }\n }\n },\n {\n key: 'initThumbnails',\n value: function initThumbnails() {\n var _this5 = this;\n this.thumbnails = new _thumbnails2.default(this.container.getElementsByClassName('dplayer-bar-preview')[0], this.container.getElementsByClassName('dplayer-bar-wrap')[0].offsetWidth, this.options.video.thumbnails, this.events);\n this.on('loadedmetadata', function () {\n _this5.thumbnails.resize(160, 90);\n });\n }\n },\n {\n key: 'notice',\n value: function notice(text) {\n var _this6 = this;\n var time = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 2000;\n var opacity = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0.8;\n var noticeEle = this.container.getElementsByClassName('dplayer-notice')[0];\n noticeEle.innerHTML = text;\n noticeEle.style.opacity = opacity;\n if (this.noticeTime) {\n clearTimeout(this.noticeTime);\n }\n this.events.trigger('notice_show', text);\n this.noticeTime = setTimeout(function () {\n noticeEle.style.opacity = 0;\n _this6.events.trigger('notice_hide');\n }, time);\n }\n },\n {\n key: 'resize',\n value: function resize() {\n if (this.danmaku) {\n this.danmaku.resize();\n }\n this.events.trigger('resize');\n }\n },\n {\n key: 'destroy',\n value: function destroy() {\n this.pause();\n clearTimeout(this.hideTime);\n this.video.src = '';\n this.container.innerHTML = '';\n this.events.trigger('destroy');\n for (var key in this) {\n if (this.hasOwnProperty(key) && key !== 'paused') {\n delete this[key];\n }\n }\n }\n }\n ]);\n return DPlayer;\n}();\nmodule.exports = DPlayer;\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar defaultApiBackend = __webpack_require__(6);\nmodule.exports = function (options) {\n var isMobile = /mobile/i.test(window.navigator.userAgent);\n if (isMobile) {\n options.autoplay = false;\n }\n var defaultOption = {\n container: options.element || document.getElementsByClassName('dplayer')[0],\n autoplay: false,\n theme: '#b7daff',\n loop: false,\n lang: (navigator.language || navigator.browserLanguage).toLowerCase(),\n screenshot: false,\n hotkey: true,\n preload: 'auto',\n volume: '0.7',\n apiBackend: defaultApiBackend,\n video: {},\n contextmenu: []\n };\n for (var defaultKey in defaultOption) {\n if (defaultOption.hasOwnProperty(defaultKey) && !options.hasOwnProperty(defaultKey)) {\n options[defaultKey] = defaultOption[defaultKey];\n }\n }\n if (options.video && !options.video.hasOwnProperty('type')) {\n options.video.type = 'auto';\n }\n if (options.danmaku && !options.danmaku.hasOwnProperty('user')) {\n options.danmaku.user = 'DIYgod';\n }\n if (options.video.quality) {\n options.video.url = [options.video.quality[options.video.defaultQuality].url];\n }\n if (options.lang) {\n options.lang = options.lang.toLowerCase();\n }\n options.contextmenu = options.contextmenu.concat([\n {\n text: 'About author',\n link: 'https://www.anotherhome.net/'\n },\n {\n text: 'About DPlayer',\n link: 'https://github.com/MoePlayer/DPlayer'\n },\n {\n text: 'DPlayer feedback',\n link: 'https://github.com/DIYgod/DPlayer/issues'\n },\n {\n text: 'DPlayer ' + \"1.11.0\" + ' ' + \"2323e73\",\n link: 'https://github.com/MoePlayer/DPlayer/releases'\n }\n ]);\n return options;\n};\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar SendXMLHttpRequest = function SendXMLHttpRequest(url, data, success, error, fail) {\n var xhr = new XMLHttpRequest();\n xhr.onreadystatechange = function () {\n if (xhr.readyState === 4) {\n if (xhr.status >= 200 && xhr.status < 300 || xhr.status === 304) {\n var response = JSON.parse(xhr.responseText);\n if (response.code !== 1) {\n return error(xhr, response);\n }\n return success(xhr, response);\n }\n fail(xhr);\n }\n };\n xhr.open(data !== null ? 'POST' : 'GET', url, true);\n xhr.send(data !== null ? JSON.stringify(data) : null);\n};\nmodule.exports = {\n send: function send(endpoint, danmakuData, callback) {\n SendXMLHttpRequest(endpoint, danmakuData, function (xhr, response) {\n console.log('Post danmaku: ', response);\n if (callback) {\n callback();\n }\n }, function (xhr, response) {\n alert(response.msg);\n }, function (xhr) {\n console.log('Request was unsuccessful: ' + xhr.status);\n });\n },\n read: function read(endpoint, callback) {\n SendXMLHttpRequest(endpoint, null, function (xhr, response) {\n callback(null, response.danmaku);\n }, function (xhr, response) {\n callback({\n status: xhr.status,\n response: response\n });\n }, function (xhr) {\n callback({\n status: xhr.status,\n response: null\n });\n });\n }\n};\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nmodule.exports = function (lang) {\n var _this = this;\n this.lang = lang;\n this.tran = function (text) {\n if (tranTxt[_this.lang] && tranTxt[_this.lang][text]) {\n return tranTxt[_this.lang][text];\n } else {\n return text;\n }\n };\n};\nvar tranTxt = {\n 'zh-cn': {\n 'Danmaku is loading': '弹幕加载中',\n 'Top': '顶部',\n 'Bottom': '底部',\n 'Rolling': '滚动',\n 'Input danmaku, hit Enter': '输入弹幕\\uFF0C回车发送',\n 'About author': '关于作者',\n 'DPlayer feedback': '播放器意见反馈',\n 'About DPlayer': '关于 DPlayer 播放器',\n 'Loop': '洗脑循环',\n 'Speed': '速度',\n 'Opacity for danmaku': '弹幕透明度',\n 'Normal': '正常',\n 'Please input danmaku content!': '要输入弹幕内容啊喂\\uFF01',\n 'Set danmaku color': '设置弹幕颜色',\n 'Set danmaku type': '设置弹幕类型',\n 'Show danmaku': '显示弹幕',\n 'This video fails to load': '视频加载失败',\n 'Switching to': '正在切换至',\n 'Switched to': '已经切换至',\n 'quality': '画质',\n 'FF': '快进',\n 'REW': '快退',\n 'Unlimited danmaku': '海量弹幕',\n 'Send danmaku': '发送弹幕',\n 'Setting': '设置',\n 'Full screen': '全屏',\n 'Web full screen': '页面全屏',\n 'Send': '发送',\n 'Screenshot': '截图',\n 's': '秒'\n },\n 'zh-tw': {\n 'Danmaku is loading': '彈幕加載中',\n 'Top': '頂部',\n 'Bottom': '底部',\n 'Rolling': '滾動',\n 'Input danmaku, hit Enter': '輸入彈幕\\uFF0CEnter 發送',\n 'About author': '關於作者',\n 'DPlayer feedback': '播放器意見反饋',\n 'About DPlayer': '關於 DPlayer 播放器',\n 'Loop': '循環播放',\n 'Speed': '速度',\n 'Opacity for danmaku': '彈幕透明度',\n 'Normal': '正常',\n 'Please input danmaku content!': '請輸入彈幕内容啊\\uFF01',\n 'Set danmaku color': '設置彈幕顏色',\n 'Set danmaku type': '設置彈幕類型',\n 'Show danmaku': '顯示彈幕',\n 'This video fails to load': '視頻加載失敗',\n 'Switching to': '正在切換至',\n 'Switched to': '已經切換至',\n 'quality': '畫質',\n 'FF': '快進',\n 'REW': '快退',\n 'Unlimited danmaku': '海量彈幕',\n 'Send danmaku': '發送彈幕',\n 'Setting': '設置',\n 'Full screen': '全屏',\n 'Web full screen': '頁面全屏',\n 'Send': '發送',\n 'Screenshot': '截圖',\n 's': '秒'\n }\n};\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar svg = __webpack_require__(1);\nvar html = {\n main: function main(options, index, tran) {\n var videos = '';\n videos += html.video(true, options.video.pic, options.screenshot, options.preload, options.video.url);\n return '
' + videos + '' + (options.logo ? '
' : '') + '
' + (options.danmaku ? '' + tran('Danmaku is loading') + '' : '') + '
0:00 / 0:00
' + (options.video.quality ? '
' + html.qualityList(options.video.quality) + '
' : '') + '' + (options.screenshot ? '' + svg('camera') + '' : '') + '
' + tran('Set danmaku color') + '
' + tran('Set danmaku type') + '
00:00
' + html.contextmenuList(options.contextmenu, tran) + '
';\n },\n danmakumargin: function danmakumargin(margin) {\n var result = '';\n if (margin) {\n for (var key in margin) {\n result += key + ':' + margin[key] + ';';\n }\n }\n return result;\n },\n contextmenuList: function contextmenuList(contextmenu, tran) {\n var result = '
';\n for (var i = 0; i < contextmenu.length; i++) {\n result += '';\n }\n result += '
';\n return result;\n },\n qualityList: function qualityList(quality) {\n var result = '
';\n for (var i = 0; i < quality.length; i++) {\n result += '
' + quality[i].name + '
';\n }\n result += '
';\n return result;\n },\n video: function video(current, pic, screenshot, preload, url) {\n return '';\n },\n setting: function setting(tran) {\n return {\n 'original': '
' + tran('Speed') + '
' + svg('right') + '
' + tran('Loop') + '
' + tran('Show danmaku') + '
' + tran('Unlimited danmaku') + '
' + tran('Opacity for danmaku') + '
',\n 'speed': '
0.5
0.75
' + tran('Normal') + '
1.25
1.5
2
'\n };\n }\n};\nmodule.exports = html;\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar _typeof = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol' ? function (obj) {\n return typeof obj;\n} : function (obj) {\n return obj && typeof Symbol === 'function' && obj.constructor === Symbol && obj !== Symbol.prototype ? 'symbol' : typeof obj;\n};\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nvar Danmaku = function () {\n function Danmaku(options) {\n _classCallCheck(this, Danmaku);\n this.options = options;\n this.container = this.options.container;\n this.danTunnel = {\n right: {},\n top: {},\n bottom: {}\n };\n this.danIndex = 0;\n this.dan = [];\n this.showing = true;\n this._opacity = this.options.opacity;\n this.events = this.options.events;\n this.unlimited = this.options.unlimited;\n this._measure('');\n this.load();\n }\n _createClass(Danmaku, [\n {\n key: 'load',\n value: function load() {\n var _this = this;\n var apiurl = void 0;\n if (this.options.api.maximum) {\n apiurl = this.options.api.address + '?id=' + this.options.api.id + '&max=' + this.options.api.maximum;\n } else {\n apiurl = this.options.api.address + '?id=' + this.options.api.id;\n }\n var endpoints = (this.options.api.addition || []).slice(0);\n endpoints.push(apiurl);\n this.events && this.events.trigger('danmaku_load_start', endpoints);\n this._readAllEndpoints(endpoints, function (results) {\n _this.dan = [].concat.apply([], results).sort(function (a, b) {\n return a.time - b.time;\n });\n window.requestAnimationFrame(function () {\n _this.frame();\n });\n _this.options.callback();\n _this.events && _this.events.trigger('danmaku_load_end');\n });\n }\n },\n {\n key: 'reload',\n value: function reload(newAPI) {\n this.options.api = newAPI;\n this.dan = [];\n this.clear();\n this.load();\n }\n },\n {\n key: '_readAllEndpoints',\n value: function _readAllEndpoints(endpoints, callback) {\n var _this2 = this;\n var results = [];\n var readCount = 0;\n var cbk = function cbk(i) {\n return function (err, data) {\n ++readCount;\n if (err) {\n if (err.response) {\n _this2.options.error(err.response.msg);\n } else {\n _this2.options.error('Request was unsuccessful: ' + err.status);\n }\n results[i] = [];\n } else {\n results[i] = data;\n }\n if (readCount === endpoints.length) {\n return callback(results);\n }\n };\n };\n for (var i = 0; i < endpoints.length; ++i) {\n this.options.apiBackend.read(endpoints[i], cbk(i));\n }\n }\n },\n {\n key: 'send',\n value: function send(dan, callback) {\n var danmakuData = {\n token: this.options.api.token,\n player: this.options.api.id,\n author: this.options.api.user,\n time: this.options.time(),\n text: dan.text,\n color: dan.color,\n type: dan.type\n };\n this.options.apiBackend.send(this.options.api.address, danmakuData, callback);\n this.dan.splice(this.danIndex, 0, danmakuData);\n this.danIndex++;\n var danmaku = {\n text: this.htmlEncode(danmakuData.text),\n color: danmakuData.color,\n type: danmakuData.type,\n border: '2px solid ' + this.options.borderColor\n };\n this.draw(danmaku);\n this.events && this.events.trigger('danmaku_send', danmakuData);\n }\n },\n {\n key: 'frame',\n value: function frame() {\n var _this3 = this;\n if (this.dan.length && !this.paused && this.showing) {\n var item = this.dan[this.danIndex];\n var dan = [];\n while (item && this.options.time() > parseFloat(item.time)) {\n dan.push(item);\n item = this.dan[++this.danIndex];\n }\n this.draw(dan);\n }\n window.requestAnimationFrame(function () {\n _this3.frame();\n });\n }\n },\n {\n key: 'opacity',\n value: function opacity(percentage) {\n if (percentage !== undefined) {\n var items = this.container.getElementsByClassName('dplayer-danmaku-item');\n for (var i = 0; i < items.length; i++) {\n items[i].style.opacity = percentage;\n }\n this._opacity = percentage;\n this.events && this.events.trigger('danmaku_opacity', this._opacity);\n }\n return this._opacity;\n }\n },\n {\n key: 'draw',\n value: function draw(dan) {\n var _this4 = this;\n var itemHeight = this.options.height;\n var danWidth = this.container.offsetWidth;\n var danHeight = this.container.offsetHeight;\n var itemY = parseInt(danHeight / itemHeight);\n var danItemRight = function danItemRight(ele) {\n var eleWidth = ele.offsetWidth || parseInt(ele.style.width);\n var eleRight = ele.getBoundingClientRect().right || _this4.container.getBoundingClientRect().right + eleWidth;\n return _this4.container.getBoundingClientRect().right - eleRight;\n };\n var danSpeed = function danSpeed(width) {\n return (danWidth + width) / 5;\n };\n var getTunnel = function getTunnel(ele, type, width) {\n var tmp = danWidth / danSpeed(width);\n var _loop = function _loop(i) {\n var item = _this4.danTunnel[type][i + ''];\n if (item && item.length) {\n if (type !== 'right') {\n return 'continue';\n }\n for (var j = 0; j < item.length; j++) {\n var danRight = danItemRight(item[j]) - 10;\n if (danRight <= danWidth - tmp * danSpeed(parseInt(item[j].style.width)) || danRight <= 0) {\n break;\n }\n if (j === item.length - 1) {\n _this4.danTunnel[type][i + ''].push(ele);\n ele.addEventListener('animationend', function () {\n _this4.danTunnel[type][i + ''].splice(0, 1);\n });\n return { v: i % itemY };\n }\n }\n } else {\n _this4.danTunnel[type][i + ''] = [ele];\n ele.addEventListener('animationend', function () {\n _this4.danTunnel[type][i + ''].splice(0, 1);\n });\n return { v: i % itemY };\n }\n };\n for (var i = 0; _this4.unlimited || i < itemY; i++) {\n var _ret = _loop(i);\n switch (_ret) {\n case 'continue':\n continue;\n default:\n if ((typeof _ret === 'undefined' ? 'undefined' : _typeof(_ret)) === 'object')\n return _ret.v;\n }\n }\n return -1;\n };\n if (Object.prototype.toString.call(dan) !== '[object Array]') {\n dan = [dan];\n }\n var docFragment = document.createDocumentFragment();\n var _loop2 = function _loop2(i) {\n if (!dan[i].type) {\n dan[i].type = 'right';\n }\n if (!dan[i].color) {\n dan[i].color = '#fff';\n }\n var item = document.createElement('div');\n item.classList.add('dplayer-danmaku-item');\n item.classList.add('dplayer-danmaku-' + dan[i].type);\n if (dan[i].border) {\n item.innerHTML = '' + dan[i].text + '';\n } else {\n item.innerHTML = dan[i].text;\n }\n item.style.opacity = _this4._opacity;\n item.style.color = dan[i].color;\n item.addEventListener('animationend', function () {\n _this4.container.removeChild(item);\n });\n var itemWidth = _this4._measure(dan[i].text);\n var tunnel = void 0;\n switch (dan[i].type) {\n case 'right':\n tunnel = getTunnel(item, dan[i].type, itemWidth);\n if (tunnel >= 0) {\n item.style.width = itemWidth + 1 + 'px';\n item.style.top = itemHeight * tunnel + 'px';\n item.style.transform = 'translateX(-' + danWidth + 'px)';\n }\n break;\n case 'top':\n tunnel = getTunnel(item, dan[i].type);\n if (tunnel >= 0) {\n item.style.top = itemHeight * tunnel + 'px';\n }\n break;\n case 'bottom':\n tunnel = getTunnel(item, dan[i].type);\n if (tunnel >= 0) {\n item.style.bottom = itemHeight * tunnel + 'px';\n }\n break;\n default:\n console.error('Can\\'t handled danmaku type: ' + dan[i].type);\n }\n if (tunnel >= 0) {\n item.classList.add('dplayer-danmaku-move');\n docFragment.appendChild(item);\n }\n };\n for (var i = 0; i < dan.length; i++) {\n _loop2(i);\n }\n this.container.appendChild(docFragment);\n return docFragment;\n }\n },\n {\n key: 'play',\n value: function play() {\n this.paused = false;\n }\n },\n {\n key: 'pause',\n value: function pause() {\n this.paused = true;\n }\n },\n {\n key: '_measure',\n value: function _measure(text) {\n if (!this.context) {\n var measureStyle = getComputedStyle(this.container.getElementsByClassName('dplayer-danmaku-item')[0], null);\n this.context = document.createElement('canvas').getContext('2d');\n this.context.font = measureStyle.getPropertyValue('font');\n }\n return this.context.measureText(text).width;\n }\n },\n {\n key: 'seek',\n value: function seek() {\n for (var i = 0; i < this.dan.length; i++) {\n if (this.dan[i].time >= this.options.time()) {\n this.danIndex = i;\n break;\n }\n this.danIndex = this.dan.length;\n }\n }\n },\n {\n key: 'clear',\n value: function clear() {\n this.danTunnel = {\n right: {},\n top: {},\n bottom: {}\n };\n this.danIndex = 0;\n this.options.container.innerHTML = '';\n this.events && this.events.trigger('danmaku_clear');\n }\n },\n {\n key: 'htmlEncode',\n value: function htmlEncode(str) {\n return str.replace(/&/g, '&').replace(//g, '>').replace(/\"/g, '"').replace(/'/g, ''').replace(/\\//g, '/');\n }\n },\n {\n key: 'resize',\n value: function resize() {\n var danWidth = this.container.offsetWidth;\n var items = this.container.getElementsByClassName('dplayer-danmaku-item');\n for (var i = 0; i < items.length; i++) {\n items[i].style.transform = 'translateX(-' + danWidth + 'px)';\n }\n }\n },\n {\n key: 'hide',\n value: function hide() {\n this.showing = false;\n this.pause();\n this.clear();\n this.events && this.events.trigger('danmaku_hide');\n }\n },\n {\n key: 'show',\n value: function show() {\n this.seek();\n this.showing = true;\n this.play();\n this.events && this.events.trigger('danmaku_show');\n }\n },\n {\n key: 'unlimit',\n value: function unlimit(boolean) {\n this.unlimited = boolean;\n }\n }\n ]);\n return Danmaku;\n}();\nmodule.exports = Danmaku;\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nvar Thumbnails = function () {\n function Thumbnails(container, width, url, events) {\n _classCallCheck(this, Thumbnails);\n this.container = container;\n this.width = width;\n this.container.style.backgroundImage = 'url(\\'' + url + '\\')';\n this.events = events;\n }\n _createClass(Thumbnails, [\n {\n key: 'resize',\n value: function resize(width, height) {\n this.container.style.width = width + 'px';\n this.container.style.height = height + 'px';\n this.container.style.top = -height + 2 + 'px';\n }\n },\n {\n key: 'show',\n value: function show() {\n this.container.style.display = 'block';\n this.events && this.events.trigger('thumbnails_show');\n }\n },\n {\n key: 'move',\n value: function move(position) {\n this.container.style.backgroundPosition = '-' + (Math.ceil(position / this.width * 100) - 1) * 160 + 'px 0';\n this.container.style.left = position - this.container.offsetWidth / 2 + 'px';\n }\n },\n {\n key: 'hide',\n value: function hide() {\n this.container.style.display = 'none';\n this.events && this.events.trigger('thumbnails_hide');\n }\n }\n ]);\n return Thumbnails;\n}();\nmodule.exports = Thumbnails;\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nvar Events = function () {\n function Events() {\n _classCallCheck(this, Events);\n this.events = {};\n this.videoEvents = [\n 'abort',\n 'canplay',\n 'canplaythrough',\n 'durationchange',\n 'emptied',\n 'ended',\n 'error',\n 'loadeddata',\n 'loadedmetadata',\n 'loadstart',\n 'mozaudioavailable',\n 'pause',\n 'play',\n 'playing',\n 'progress',\n 'ratechange',\n 'seeked',\n 'seeking',\n 'stalled',\n 'suspend',\n 'timeupdate',\n 'volumechange',\n 'waiting'\n ];\n this.playerEvents = [\n 'screenshot',\n 'thumbnails_show',\n 'thumbnails_hide',\n 'danmaku_show',\n 'danmaku_hide',\n 'danmaku_clear',\n 'danmaku_loaded',\n 'danmaku_send',\n 'danmaku_opacity',\n 'contextmenu_show',\n 'contextmenu_hide',\n 'notice_show',\n 'notice_hide',\n 'quality_start',\n 'quality_end',\n 'destroy',\n 'resize',\n 'fullscreen',\n 'fullscreen_cancel',\n 'webfullscreen',\n 'webfullscreen_cancel'\n ];\n }\n _createClass(Events, [\n {\n key: 'on',\n value: function on(name, callback) {\n if (this.type(name) && typeof callback === 'function') {\n if (!this.events[name]) {\n this.events[name] = [];\n }\n this.events[name].push(callback);\n }\n }\n },\n {\n key: 'trigger',\n value: function trigger(name, info) {\n if (this.events[name] && this.events[name].length) {\n for (var i = 0; i < this.events[name].length; i++) {\n this.events[name][i](info);\n }\n }\n }\n },\n {\n key: 'type',\n value: function type(name) {\n if (this.playerEvents.indexOf(name) !== -1) {\n return 'player';\n } else if (this.videoEvents.indexOf(name) !== -1) {\n return 'video';\n }\n console.error('Unknown event name: ' + name);\n return null;\n }\n }\n ]);\n return Events;\n}();\nmodule.exports = Events;\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nvar FullScreen = function () {\n function FullScreen(player) {\n var _this = this;\n _classCallCheck(this, FullScreen);\n this.player = player;\n this.player.events.on('webfullscreen', function () {\n _this.player.resize();\n });\n this.player.events.on('webfullscreen_cancel', function () {\n _this.player.resize();\n });\n var fullscreenchange = function fullscreenchange() {\n _this.player.resize();\n if (_this.isFullScreen('browser')) {\n _this.player.events.trigger('fullscreen');\n } else {\n _this.player.events.trigger('fullscreen_cancel');\n }\n };\n this.player.container.addEventListener('fullscreenchange', fullscreenchange);\n this.player.container.addEventListener('mozfullscreenchange', fullscreenchange);\n this.player.container.addEventListener('webkitfullscreenchange', fullscreenchange);\n }\n _createClass(FullScreen, [\n {\n key: 'isFullScreen',\n value: function isFullScreen() {\n var type = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'browser';\n switch (type) {\n case 'browser':\n return document.fullscreenElement || document.mozFullScreenElement || document.webkitFullscreenElement;\n case 'web':\n return this.player.container.classList.contains('dplayer-fulled');\n }\n }\n },\n {\n key: 'request',\n value: function request() {\n var type = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'browser';\n switch (type) {\n case 'browser':\n if (this.player.container.requestFullscreen) {\n this.player.container.requestFullscreen();\n } else if (this.player.container.mozRequestFullScreen) {\n this.player.container.mozRequestFullScreen();\n } else if (this.player.container.webkitRequestFullscreen) {\n this.player.container.webkitRequestFullscreen();\n } else if (this.player.video.webkitEnterFullscreen) {\n this.player.video.webkitEnterFullscreen();\n }\n break;\n case 'web':\n this.player.container.classList.add('dplayer-fulled');\n this.player.events.trigger('webfullscreen');\n break;\n }\n }\n },\n {\n key: 'cancel',\n value: function cancel() {\n var type = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'browser';\n switch (type) {\n case 'browser':\n if (document.cancelFullScreen) {\n document.cancelFullScreen();\n } else if (document.mozCancelFullScreen) {\n document.mozCancelFullScreen();\n } else if (document.webkitCancelFullScreen) {\n document.webkitCancelFullScreen();\n }\n break;\n case 'web':\n this.player.container.classList.remove('dplayer-fulled');\n this.player.events.trigger('webfullscreen_cancel');\n break;\n }\n }\n },\n {\n key: 'toggle',\n value: function toggle() {\n var type = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'browser';\n if (this.isFullScreen(type)) {\n this.cancel(type);\n } else {\n this.request(type);\n }\n }\n }\n ]);\n return FullScreen;\n}();\nmodule.exports = FullScreen;\n\n/***/ }),\n/* 13 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nvar _utils = __webpack_require__(0);\nvar _utils2 = _interopRequireDefault(_utils);\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nvar User = function () {\n function User(player) {\n _classCallCheck(this, User);\n this.storageName = {\n opacity: 'dplayer-danmaku-opacity',\n volume: 'dplayer-volume',\n unlimited: 'dplayer-danmaku-unlimited',\n danmaku: 'dplayer-danmaku-show'\n };\n this.default = {\n opacity: 0.7,\n volume: player.options.volume || 0.7,\n unlimited: (player.options.danmaku && player.options.danmaku.unlimited ? 1 : 0) || 0,\n danmaku: 1\n };\n this.data = {};\n this.init();\n }\n _createClass(User, [\n {\n key: 'init',\n value: function init() {\n for (var item in this.storageName) {\n var name = this.storageName[item];\n this.data[item] = parseFloat(_utils2.default.storage.get(name) || this.default[item]);\n }\n }\n },\n {\n key: 'get',\n value: function get(key) {\n return this.data[key];\n }\n },\n {\n key: 'set',\n value: function set(key, value) {\n this.data[key] = value;\n _utils2.default.storage.set(this.storageName[key], value);\n }\n }\n ]);\n return User;\n}();\nmodule.exports = User;\n\n/***/ })\n/******/ ]);\n});\n\n\n// WEBPACK FOOTER //\n// DPlayer.min.js"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 2);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 9cd8dcb2cfe685559b0b","'use strict';\nmodule.exports = {\n secondToTime: function secondToTime(second) {\n var add0 = function add0(num) {\n return num < 10 ? '0' + num : '' + num;\n };\n var min = parseInt(second / 60);\n var sec = parseInt(second - min * 60);\n return add0(min) + ':' + add0(sec);\n },\n getElementViewLeft: function getElementViewLeft(element) {\n var actualLeft = element.offsetLeft;\n var current = element.offsetParent;\n var elementScrollLeft = document.body.scrollLeft + document.documentElement.scrollLeft;\n if (!document.fullscreenElement && !document.mozFullScreenElement && !document.webkitFullscreenElement) {\n while (current !== null) {\n actualLeft += current.offsetLeft;\n current = current.offsetParent;\n }\n } else {\n while (current !== null && current !== element) {\n actualLeft += current.offsetLeft;\n current = current.offsetParent;\n }\n }\n return actualLeft - elementScrollLeft;\n },\n isMobile: /mobile/i.test(window.navigator.userAgent),\n storage: {\n set: function set(key, value) {\n localStorage.setItem(key, value);\n },\n get: function get(key) {\n return localStorage.getItem(key);\n }\n }\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/utils.js\n// module id = 0\n// module chunks = 0","'use strict';\nvar svgSource = {\n 'play': [\n '0 0 16 32',\n 'M15.552 15.168q0.448 0.32 0.448 0.832 0 0.448-0.448 0.768l-13.696 8.512q-0.768 0.512-1.312 0.192t-0.544-1.28v-16.448q0-0.96 0.544-1.28t1.312 0.192z'\n ],\n 'pause': [\n '0 0 17 32',\n 'M14.080 4.8q2.88 0 2.88 2.048v18.24q0 2.112-2.88 2.112t-2.88-2.112v-18.24q0-2.048 2.88-2.048zM2.88 4.8q2.88 0 2.88 2.048v18.24q0 2.112-2.88 2.112t-2.88-2.112v-18.24q0-2.048 2.88-2.048z'\n ],\n 'volume-up': [\n '0 0 21 32',\n 'M13.728 6.272v19.456q0 0.448-0.352 0.8t-0.8 0.32-0.8-0.32l-5.952-5.952h-4.672q-0.48 0-0.8-0.352t-0.352-0.8v-6.848q0-0.48 0.352-0.8t0.8-0.352h4.672l5.952-5.952q0.32-0.32 0.8-0.32t0.8 0.32 0.352 0.8zM20.576 16q0 1.344-0.768 2.528t-2.016 1.664q-0.16 0.096-0.448 0.096-0.448 0-0.8-0.32t-0.32-0.832q0-0.384 0.192-0.64t0.544-0.448 0.608-0.384 0.512-0.64 0.192-1.024-0.192-1.024-0.512-0.64-0.608-0.384-0.544-0.448-0.192-0.64q0-0.48 0.32-0.832t0.8-0.32q0.288 0 0.448 0.096 1.248 0.48 2.016 1.664t0.768 2.528zM25.152 16q0 2.72-1.536 5.056t-4 3.36q-0.256 0.096-0.448 0.096-0.48 0-0.832-0.352t-0.32-0.8q0-0.704 0.672-1.056 1.024-0.512 1.376-0.8 1.312-0.96 2.048-2.4t0.736-3.104-0.736-3.104-2.048-2.4q-0.352-0.288-1.376-0.8-0.672-0.352-0.672-1.056 0-0.448 0.32-0.8t0.8-0.352q0.224 0 0.48 0.096 2.496 1.056 4 3.36t1.536 5.056zM29.728 16q0 4.096-2.272 7.552t-6.048 5.056q-0.224 0.096-0.448 0.096-0.48 0-0.832-0.352t-0.32-0.8q0-0.64 0.704-1.056 0.128-0.064 0.384-0.192t0.416-0.192q0.8-0.448 1.44-0.896 2.208-1.632 3.456-4.064t1.216-5.152-1.216-5.152-3.456-4.064q-0.64-0.448-1.44-0.896-0.128-0.096-0.416-0.192t-0.384-0.192q-0.704-0.416-0.704-1.056 0-0.448 0.32-0.8t0.832-0.352q0.224 0 0.448 0.096 3.776 1.632 6.048 5.056t2.272 7.552z'\n ],\n 'volume-down': [\n '0 0 21 32',\n 'M13.728 6.272v19.456q0 0.448-0.352 0.8t-0.8 0.32-0.8-0.32l-5.952-5.952h-4.672q-0.48 0-0.8-0.352t-0.352-0.8v-6.848q0-0.48 0.352-0.8t0.8-0.352h4.672l5.952-5.952q0.32-0.32 0.8-0.32t0.8 0.32 0.352 0.8zM20.576 16q0 1.344-0.768 2.528t-2.016 1.664q-0.16 0.096-0.448 0.096-0.448 0-0.8-0.32t-0.32-0.832q0-0.384 0.192-0.64t0.544-0.448 0.608-0.384 0.512-0.64 0.192-1.024-0.192-1.024-0.512-0.64-0.608-0.384-0.544-0.448-0.192-0.64q0-0.48 0.32-0.832t0.8-0.32q0.288 0 0.448 0.096 1.248 0.48 2.016 1.664t0.768 2.528z'\n ],\n 'volume-off': [\n '0 0 21 32',\n 'M13.728 6.272v19.456q0 0.448-0.352 0.8t-0.8 0.32-0.8-0.32l-5.952-5.952h-4.672q-0.48 0-0.8-0.352t-0.352-0.8v-6.848q0-0.48 0.352-0.8t0.8-0.352h4.672l5.952-5.952q0.32-0.32 0.8-0.32t0.8 0.32 0.352 0.8z'\n ],\n 'loop': [\n '0 0 32 32',\n 'M1.882 16.941c0 4.152 3.221 7.529 7.177 7.529v1.882c-4.996 0-9.060-4.222-9.060-9.412s4.064-9.412 9.060-9.412h7.96l-3.098-3.098 1.331-1.331 5.372 5.37-5.37 5.372-1.333-1.333 3.1-3.098h-7.962c-3.957 0-7.177 3.377-7.177 7.529zM22.94 7.529v1.882c3.957 0 7.177 3.377 7.177 7.529s-3.221 7.529-7.177 7.529h-7.962l3.098-3.098-1.331-1.331-5.37 5.37 5.372 5.372 1.331-1.331-3.1-3.1h7.96c4.998 0 9.062-4.222 9.062-9.412s-4.064-9.412-9.060-9.412z'\n ],\n 'full': [\n '0 0 32 33',\n 'M6.667 28h-5.333c-0.8 0-1.333-0.533-1.333-1.333v-5.333c0-0.8 0.533-1.333 1.333-1.333s1.333 0.533 1.333 1.333v4h4c0.8 0 1.333 0.533 1.333 1.333s-0.533 1.333-1.333 1.333zM30.667 28h-5.333c-0.8 0-1.333-0.533-1.333-1.333s0.533-1.333 1.333-1.333h4v-4c0-0.8 0.533-1.333 1.333-1.333s1.333 0.533 1.333 1.333v5.333c0 0.8-0.533 1.333-1.333 1.333zM30.667 12c-0.8 0-1.333-0.533-1.333-1.333v-4h-4c-0.8 0-1.333-0.533-1.333-1.333s0.533-1.333 1.333-1.333h5.333c0.8 0 1.333 0.533 1.333 1.333v5.333c0 0.8-0.533 1.333-1.333 1.333zM1.333 12c-0.8 0-1.333-0.533-1.333-1.333v-5.333c0-0.8 0.533-1.333 1.333-1.333h5.333c0.8 0 1.333 0.533 1.333 1.333s-0.533 1.333-1.333 1.333h-4v4c0 0.8-0.533 1.333-1.333 1.333z'\n ],\n 'full-in': [\n '0 0 32 33',\n 'M24.965 24.38h-18.132c-1.366 0-2.478-1.113-2.478-2.478v-11.806c0-1.364 1.111-2.478 2.478-2.478h18.132c1.366 0 2.478 1.113 2.478 2.478v11.806c0 1.364-1.11 2.478-2.478 2.478zM6.833 10.097v11.806h18.134l-0.002-11.806h-18.132zM2.478 28.928h5.952c0.684 0 1.238-0.554 1.238-1.239 0-0.684-0.554-1.238-1.238-1.238h-5.952v-5.802c0-0.684-0.554-1.239-1.238-1.239s-1.239 0.556-1.239 1.239v5.802c0 1.365 1.111 2.478 2.478 2.478zM30.761 19.412c-0.684 0-1.238 0.554-1.238 1.238v5.801h-5.951c-0.686 0-1.239 0.554-1.239 1.238 0 0.686 0.554 1.239 1.239 1.239h5.951c1.366 0 2.478-1.111 2.478-2.478v-5.801c0-0.683-0.554-1.238-1.239-1.238zM0 5.55v5.802c0 0.683 0.554 1.238 1.238 1.238s1.238-0.555 1.238-1.238v-5.802h5.952c0.684 0 1.238-0.554 1.238-1.238s-0.554-1.238-1.238-1.238h-5.951c-1.366-0.001-2.478 1.111-2.478 2.476zM32 11.35v-5.801c0-1.365-1.11-2.478-2.478-2.478h-5.951c-0.686 0-1.239 0.554-1.239 1.238s0.554 1.238 1.239 1.238h5.951v5.801c0 0.683 0.554 1.237 1.238 1.237 0.686 0.002 1.239-0.553 1.239-1.236z'\n ],\n 'setting': [\n '0 0 32 28',\n 'M28.633 17.104c0.035 0.21 0.026 0.463-0.026 0.76s-0.14 0.598-0.262 0.904c-0.122 0.306-0.271 0.581-0.445 0.825s-0.367 0.419-0.576 0.524c-0.209 0.105-0.393 0.157-0.55 0.157s-0.332-0.035-0.524-0.105c-0.175-0.052-0.393-0.1-0.655-0.144s-0.528-0.052-0.799-0.026c-0.271 0.026-0.541 0.083-0.812 0.17s-0.502 0.236-0.694 0.445c-0.419 0.437-0.664 0.934-0.734 1.493s0.009 1.092 0.236 1.598c0.175 0.349 0.148 0.699-0.079 1.048-0.105 0.14-0.271 0.284-0.498 0.432s-0.476 0.284-0.747 0.406-0.555 0.218-0.851 0.288c-0.297 0.070-0.559 0.105-0.786 0.105-0.157 0-0.306-0.061-0.445-0.183s-0.236-0.253-0.288-0.393h-0.026c-0.192-0.541-0.52-1.009-0.982-1.402s-1-0.589-1.611-0.589c-0.594 0-1.131 0.197-1.611 0.589s-0.816 0.851-1.009 1.375c-0.087 0.21-0.218 0.362-0.393 0.458s-0.367 0.144-0.576 0.144c-0.244 0-0.52-0.044-0.825-0.131s-0.611-0.197-0.917-0.327c-0.306-0.131-0.581-0.284-0.825-0.458s-0.428-0.349-0.55-0.524c-0.087-0.122-0.135-0.266-0.144-0.432s0.057-0.397 0.197-0.694c0.192-0.402 0.266-0.86 0.223-1.375s-0.266-0.991-0.668-1.428c-0.244-0.262-0.541-0.432-0.891-0.511s-0.681-0.109-0.995-0.092c-0.367 0.017-0.742 0.087-1.127 0.21-0.244 0.070-0.489 0.052-0.734-0.052-0.192-0.070-0.371-0.231-0.537-0.485s-0.314-0.533-0.445-0.838c-0.131-0.306-0.231-0.62-0.301-0.943s-0.087-0.59-0.052-0.799c0.052-0.384 0.227-0.629 0.524-0.734 0.524-0.21 0.995-0.555 1.415-1.035s0.629-1.017 0.629-1.611c0-0.611-0.21-1.144-0.629-1.598s-0.891-0.786-1.415-0.996c-0.157-0.052-0.288-0.179-0.393-0.38s-0.157-0.406-0.157-0.616c0-0.227 0.035-0.48 0.105-0.76s0.162-0.55 0.275-0.812 0.244-0.502 0.393-0.72c0.148-0.218 0.31-0.38 0.485-0.485 0.14-0.087 0.275-0.122 0.406-0.105s0.275 0.052 0.432 0.105c0.524 0.21 1.070 0.275 1.637 0.197s1.070-0.327 1.506-0.747c0.21-0.209 0.362-0.467 0.458-0.773s0.157-0.607 0.183-0.904c0.026-0.297 0.026-0.568 0-0.812s-0.048-0.419-0.065-0.524c-0.035-0.105-0.066-0.227-0.092-0.367s-0.013-0.262 0.039-0.367c0.105-0.244 0.293-0.458 0.563-0.642s0.563-0.336 0.878-0.458c0.314-0.122 0.62-0.214 0.917-0.275s0.533-0.092 0.707-0.092c0.227 0 0.406 0.074 0.537 0.223s0.223 0.301 0.275 0.458c0.192 0.471 0.507 0.886 0.943 1.244s0.952 0.537 1.546 0.537c0.611 0 1.153-0.17 1.624-0.511s0.803-0.773 0.996-1.297c0.070-0.14 0.179-0.284 0.327-0.432s0.301-0.223 0.458-0.223c0.244 0 0.511 0.035 0.799 0.105s0.572 0.166 0.851 0.288c0.279 0.122 0.537 0.279 0.773 0.472s0.423 0.402 0.563 0.629c0.087 0.14 0.113 0.293 0.079 0.458s-0.070 0.284-0.105 0.354c-0.227 0.506-0.297 1.039-0.21 1.598s0.341 1.048 0.76 1.467c0.419 0.419 0.934 0.651 1.546 0.694s1.179-0.057 1.703-0.301c0.14-0.087 0.31-0.122 0.511-0.105s0.371 0.096 0.511 0.236c0.262 0.244 0.493 0.616 0.694 1.113s0.336 1 0.406 1.506c0.035 0.297-0.013 0.528-0.144 0.694s-0.266 0.275-0.406 0.327c-0.542 0.192-1.004 0.528-1.388 1.009s-0.576 1.026-0.576 1.637c0 0.594 0.162 1.113 0.485 1.559s0.747 0.764 1.27 0.956c0.122 0.070 0.227 0.14 0.314 0.21 0.192 0.157 0.323 0.358 0.393 0.602v0zM16.451 19.462c0.786 0 1.528-0.149 2.227-0.445s1.305-0.707 1.821-1.231c0.515-0.524 0.921-1.131 1.218-1.821s0.445-1.428 0.445-2.214c0-0.786-0.148-1.524-0.445-2.214s-0.703-1.292-1.218-1.808c-0.515-0.515-1.122-0.921-1.821-1.218s-1.441-0.445-2.227-0.445c-0.786 0-1.524 0.148-2.214 0.445s-1.292 0.703-1.808 1.218c-0.515 0.515-0.921 1.118-1.218 1.808s-0.445 1.428-0.445 2.214c0 0.786 0.149 1.524 0.445 2.214s0.703 1.297 1.218 1.821c0.515 0.524 1.118 0.934 1.808 1.231s1.428 0.445 2.214 0.445v0z'\n ],\n 'right': [\n '0 0 32 32',\n 'M22 16l-10.105-10.6-1.895 1.987 8.211 8.613-8.211 8.612 1.895 1.988 8.211-8.613z'\n ],\n 'comment': [\n '0 0 32 32',\n 'M27.128 0.38h-22.553c-2.336 0-4.229 1.825-4.229 4.076v16.273c0 2.251 1.893 4.076 4.229 4.076h4.229v-2.685h8.403l-8.784 8.072 1.566 1.44 7.429-6.827h9.71c2.335 0 4.229-1.825 4.229-4.076v-16.273c0-2.252-1.894-4.076-4.229-4.076zM28.538 19.403c0 1.5-1.262 2.717-2.819 2.717h-8.36l-0.076-0.070-0.076 0.070h-11.223c-1.557 0-2.819-1.217-2.819-2.717v-13.589c0-1.501 1.262-2.718 2.819-2.718h19.734c1.557 0 2.819-0.141 2.819 1.359v14.947zM9.206 10.557c-1.222 0-2.215 0.911-2.215 2.036s0.992 2.035 2.215 2.035c1.224 0 2.216-0.911 2.216-2.035s-0.992-2.036-2.216-2.036zM22.496 10.557c-1.224 0-2.215 0.911-2.215 2.036s0.991 2.035 2.215 2.035c1.224 0 2.215-0.911 2.215-2.035s-0.991-2.036-2.215-2.036zM15.852 10.557c-1.224 0-2.215 0.911-2.215 2.036s0.991 2.035 2.215 2.035c1.222 0 2.215-0.911 2.215-2.035s-0.992-2.036-2.215-2.036z'\n ],\n 'comment-off': [\n '0 0 32 32',\n 'M27.090 0.131h-22.731c-2.354 0-4.262 1.839-4.262 4.109v16.401c0 2.269 1.908 4.109 4.262 4.109h4.262v-2.706h8.469l-8.853 8.135 1.579 1.451 7.487-6.88h9.787c2.353 0 4.262-1.84 4.262-4.109v-16.401c0-2.27-1.909-4.109-4.262-4.109v0zM28.511 19.304c0 1.512-1.272 2.738-2.841 2.738h-8.425l-0.076-0.070-0.076 0.070h-11.311c-1.569 0-2.841-1.226-2.841-2.738v-13.696c0-1.513 1.272-2.739 2.841-2.739h19.889c1.569 0 2.841-0.142 2.841 1.37v15.064z'\n ],\n 'send': [\n '0 0 32 32',\n 'M13.725 30l3.9-5.325-3.9-1.125v6.45zM0 17.5l11.050 3.35 13.6-11.55-10.55 12.425 11.8 3.65 6.1-23.375-32 15.5z'\n ],\n 'menu': [\n '0 0 22 32',\n 'M20.8 14.4q0.704 0 1.152 0.48t0.448 1.12-0.48 1.12-1.12 0.48h-19.2q-0.64 0-1.12-0.48t-0.48-1.12 0.448-1.12 1.152-0.48h19.2zM1.6 11.2q-0.64 0-1.12-0.48t-0.48-1.12 0.448-1.12 1.152-0.48h19.2q0.704 0 1.152 0.48t0.448 1.12-0.48 1.12-1.12 0.48h-19.2zM20.8 20.8q0.704 0 1.152 0.48t0.448 1.12-0.48 1.12-1.12 0.48h-19.2q-0.64 0-1.12-0.48t-0.48-1.12 0.448-1.12 1.152-0.48h19.2z'\n ],\n 'camera': [\n '0 0 32 32',\n 'M16 23c-3.309 0-6-2.691-6-6s2.691-6 6-6 6 2.691 6 6-2.691 6-6 6zM16 13c-2.206 0-4 1.794-4 4s1.794 4 4 4c2.206 0 4-1.794 4-4s-1.794-4-4-4zM27 28h-22c-1.654 0-3-1.346-3-3v-16c0-1.654 1.346-3 3-3h3c0.552 0 1 0.448 1 1s-0.448 1-1 1h-3c-0.551 0-1 0.449-1 1v16c0 0.552 0.449 1 1 1h22c0.552 0 1-0.448 1-1v-16c0-0.551-0.448-1-1-1h-11c-0.552 0-1-0.448-1-1s0.448-1 1-1h11c1.654 0 3 1.346 3 3v16c0 1.654-1.346 3-3 3zM24 10.5c0 0.828 0.672 1.5 1.5 1.5s1.5-0.672 1.5-1.5c0-0.828-0.672-1.5-1.5-1.5s-1.5 0.672-1.5 1.5zM15 4c0 0.552-0.448 1-1 1h-4c-0.552 0-1-0.448-1-1v0c0-0.552 0.448-1 1-1h4c0.552 0 1 0.448 1 1v0z'\n ]\n};\nmodule.exports = function (type) {\n return '\\n';\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/svg.js\n// module id = 1\n// module chunks = 0","'use strict';\nconsole.log('\\n' + ' %c DPlayer ' + DPLAYER_VERSION + ' ' + GIT_HASH + ' %c http://dplayer.js.org ' + '\\n' + '\\n', 'color: #fadfa3; background: #030307; padding:5px 0;', 'background: #fadfa3; padding:5px 0;');\nmodule.exports = require('./DPlayer');\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/index.js\n// module id = 2\n// module chunks = 0","'use strict';\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nrequire('./DPlayer.scss');\nvar _utils = require('./utils');\nvar _utils2 = _interopRequireDefault(_utils);\nvar _svg = require('./svg');\nvar _svg2 = _interopRequireDefault(_svg);\nvar _options = require('./options');\nvar _options2 = _interopRequireDefault(_options);\nvar _i18n = require('./i18n');\nvar _i18n2 = _interopRequireDefault(_i18n);\nvar _html = require('./html');\nvar _html2 = _interopRequireDefault(_html);\nvar _danmaku = require('./danmaku');\nvar _danmaku2 = _interopRequireDefault(_danmaku);\nvar _thumbnails = require('./thumbnails');\nvar _thumbnails2 = _interopRequireDefault(_thumbnails);\nvar _events = require('./events');\nvar _events2 = _interopRequireDefault(_events);\nvar _fullscreen = require('./fullscreen');\nvar _fullscreen2 = _interopRequireDefault(_fullscreen);\nvar _user = require('./user');\nvar _user2 = _interopRequireDefault(_user);\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nvar index = 0;\nvar DPlayer = function () {\n function DPlayer(options) {\n var _this = this;\n _classCallCheck(this, DPlayer);\n this.options = (0, _options2.default)(options);\n this.options.container.classList.add('dplayer');\n if (this.options.video.quality) {\n this.qualityIndex = this.options.video.defaultQuality;\n this.quality = this.options.video.quality[this.options.video.defaultQuality];\n }\n this.tran = new _i18n2.default(this.options.lang).tran;\n this.events = new _events2.default();\n this.user = new _user2.default(this);\n this.container = this.options.container;\n if (!this.options.danmaku) {\n this.container.classList.add('dplayer-no-danmaku');\n }\n if (_utils.isMobile) {\n this.container.classList.add('dplayer-mobile');\n }\n this.container.innerHTML = _html2.default.main(this.options, index, this.tran);\n var bar = {};\n bar.volumeBar = this.container.getElementsByClassName('dplayer-volume-bar-inner')[0];\n bar.playedBar = this.container.getElementsByClassName('dplayer-played')[0];\n bar.loadedBar = this.container.getElementsByClassName('dplayer-loaded')[0];\n var pbar = this.container.getElementsByClassName('dplayer-bar-wrap')[0];\n var pbarTimeTips = this.container.getElementsByClassName('dplayer-bar-time')[0];\n var barWidth = void 0;\n this.updateBar = function (type, percentage, direction) {\n percentage = percentage > 0 ? percentage : 0;\n percentage = percentage < 1 ? percentage : 1;\n bar[type + 'Bar'].style[direction] = percentage * 100 + '%';\n };\n document.addEventListener('click', function () {\n _this.focus = false;\n }, true);\n this.container.addEventListener('click', function () {\n _this.focus = true;\n }, true);\n if (this.options.danmaku) {\n this.danmaku = new _danmaku2.default({\n container: this.container.getElementsByClassName('dplayer-danmaku')[0],\n opacity: this.user.get('opacity'),\n callback: function callback() {\n _this.container.getElementsByClassName('dplayer-danloading')[0].style.display = 'none';\n if (_this.options.autoplay && !_utils.isMobile) {\n _this.play();\n } else if (_utils.isMobile) {\n _this.pause();\n }\n },\n error: function error(msg) {\n _this.notice(msg);\n },\n apiBackend: this.options.apiBackend,\n borderColor: this.options.theme,\n height: this.arrow ? 24 : 30,\n time: function time() {\n return _this.video.currentTime;\n },\n unlimited: this.user.get('unlimited'),\n api: {\n id: this.options.danmaku.id,\n address: this.options.danmaku.api,\n token: this.options.danmaku.token,\n maximum: this.options.danmaku.maximum,\n addition: this.options.danmaku.addition,\n user: this.options.danmaku.user\n },\n events: this.events\n });\n }\n this.arrow = this.container.offsetWidth <= 500;\n if (this.arrow) {\n var arrowStyle = document.createElement('style');\n arrowStyle.innerHTML = '.dplayer .dplayer-danmaku{font-size:18px}';\n document.head.appendChild(arrowStyle);\n }\n this.video = this.container.getElementsByClassName('dplayer-video-current')[0];\n this.bezel = this.container.getElementsByClassName('dplayer-bezel-icon')[0];\n this.bezel.addEventListener('animationend', function () {\n _this.bezel.classList.remove('dplayer-bezel-transition');\n });\n this.playButton = this.container.getElementsByClassName('dplayer-play-icon')[0];\n this.paused = true;\n this.playButton.addEventListener('click', function () {\n _this.toggle();\n });\n var videoWrap = this.container.getElementsByClassName('dplayer-video-wrap')[0];\n var conMask = this.container.getElementsByClassName('dplayer-controller-mask')[0];\n if (!_utils.isMobile) {\n videoWrap.addEventListener('click', function () {\n _this.toggle();\n });\n conMask.addEventListener('click', function () {\n _this.toggle();\n });\n } else {\n var toggleController = function toggleController() {\n if (_this.container.classList.contains('dplayer-hide-controller')) {\n _this.container.classList.remove('dplayer-hide-controller');\n } else {\n _this.container.classList.add('dplayer-hide-controller');\n }\n };\n videoWrap.addEventListener('click', toggleController);\n conMask.addEventListener('click', toggleController);\n }\n var lastPlayPos = 0;\n var currentPlayPos = 0;\n var bufferingDetected = false;\n window.requestAnimationFrame = function () {\n return window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || window.oRequestAnimationFrame || window.msRequestAnimationFrame || function (callback) {\n window.setTimeout(callback, 1000 / 60);\n };\n }();\n var setCheckLoadingTime = function setCheckLoadingTime() {\n _this.checkLoading = setInterval(function () {\n currentPlayPos = _this.video.currentTime;\n if (!bufferingDetected && currentPlayPos === lastPlayPos && !_this.video.paused) {\n _this.container.classList.add('dplayer-loading');\n bufferingDetected = true;\n }\n if (bufferingDetected && currentPlayPos > lastPlayPos && !_this.video.paused) {\n _this.container.classList.remove('dplayer-loading');\n bufferingDetected = false;\n }\n lastPlayPos = currentPlayPos;\n }, 100);\n };\n var clearCheckLoadingTime = function clearCheckLoadingTime() {\n clearInterval(_this.checkLoading);\n };\n this.playedTime = false;\n this.animationFrame = function () {\n if (_this.playedTime) {\n _this.updateBar('played', _this.video.currentTime / _this.video.duration, 'width');\n _this.container.getElementsByClassName('dplayer-ptime')[0].innerHTML = _utils2.default.secondToTime(_this.video.currentTime);\n }\n window.requestAnimationFrame(_this.animationFrame);\n };\n window.requestAnimationFrame(this.animationFrame);\n this.setTime = function (type) {\n if (!type) {\n _this.playedTime = true;\n setCheckLoadingTime();\n } else {\n _this[type + 'Time'] = true;\n if (type === 'played') {\n setCheckLoadingTime();\n }\n }\n };\n this.clearTime = function (type) {\n if (!type) {\n _this.playedTime = false;\n clearCheckLoadingTime();\n } else {\n _this[type + 'Time'] = false;\n if (type === 'played') {\n clearCheckLoadingTime();\n }\n }\n };\n if (this.options.video.thumbnails) {\n this.initThumbnails();\n }\n this.isTimeTipsShow = true;\n this.mouseHandler = this.mouseHandler(pbar, pbarTimeTips).bind(this);\n pbar.addEventListener('mousemove', this.mouseHandler);\n pbar.addEventListener('mouseenter', this.mouseHandler);\n pbar.addEventListener('mouseleave', this.mouseHandler);\n var thumbMove = function thumbMove(e) {\n var percentage = (e.clientX - _utils2.default.getElementViewLeft(pbar)) / barWidth;\n percentage = percentage > 0 ? percentage : 0;\n percentage = percentage < 1 ? percentage : 1;\n _this.updateBar('played', percentage, 'width');\n _this.container.getElementsByClassName('dplayer-ptime')[0].innerHTML = _utils2.default.secondToTime(percentage * _this.video.duration);\n };\n var thumbUp = function thumbUp(e) {\n document.removeEventListener('mouseup', thumbUp);\n document.removeEventListener('mousemove', thumbMove);\n var percentage = (e.clientX - _utils2.default.getElementViewLeft(pbar)) / barWidth;\n percentage = percentage > 0 ? percentage : 0;\n percentage = percentage < 1 ? percentage : 1;\n _this.updateBar('played', percentage, 'width');\n _this.seek(parseFloat(bar.playedBar.style.width) / 100 * _this.video.duration);\n _this.setTime();\n };\n pbar.addEventListener('mousedown', function () {\n barWidth = pbar.clientWidth;\n _this.clearTime();\n document.addEventListener('mousemove', thumbMove);\n document.addEventListener('mouseup', thumbUp);\n });\n var volumeEle = this.container.getElementsByClassName('dplayer-volume')[0];\n var volumeBarWrapWrap = this.container.getElementsByClassName('dplayer-volume-bar-wrap')[0];\n var volumeBarWrap = this.container.getElementsByClassName('dplayer-volume-bar')[0];\n var volumeicon = this.container.getElementsByClassName('dplayer-volume-icon')[0].getElementsByClassName('dplayer-icon-content')[0];\n var vWidth = 35;\n this.switchVolumeIcon = function () {\n if (_this.volume() >= 0.95) {\n volumeicon.innerHTML = (0, _svg2.default)('volume-up');\n } else if (_this.volume() > 0) {\n volumeicon.innerHTML = (0, _svg2.default)('volume-down');\n } else {\n volumeicon.innerHTML = (0, _svg2.default)('volume-off');\n }\n };\n var volumeMove = function volumeMove(event) {\n var e = event || window.event;\n var percentage = (e.clientX - _utils2.default.getElementViewLeft(volumeBarWrap) - 5.5) / vWidth;\n _this.volume(percentage);\n };\n var volumeUp = function volumeUp() {\n document.removeEventListener('mouseup', volumeUp);\n document.removeEventListener('mousemove', volumeMove);\n volumeEle.classList.remove('dplayer-volume-active');\n };\n volumeBarWrapWrap.addEventListener('click', function (event) {\n var e = event || window.event;\n var percentage = (e.clientX - _utils2.default.getElementViewLeft(volumeBarWrap) - 5.5) / vWidth;\n _this.volume(percentage);\n });\n volumeBarWrapWrap.addEventListener('mousedown', function () {\n document.addEventListener('mousemove', volumeMove);\n document.addEventListener('mouseup', volumeUp);\n volumeEle.classList.add('dplayer-volume-active');\n });\n volumeicon.addEventListener('click', function () {\n if (_this.video.muted) {\n _this.video.muted = false;\n _this.switchVolumeIcon();\n _this.updateBar('volume', _this.volume(), 'width');\n } else {\n _this.video.muted = true;\n volumeicon.innerHTML = (0, _svg2.default)('volume-off');\n _this.updateBar('volume', 0, 'width');\n }\n });\n this.hideTime = 0;\n var hideController = function hideController() {\n _this.container.classList.remove('dplayer-hide-controller');\n clearTimeout(_this.hideTime);\n _this.hideTime = setTimeout(function () {\n if (_this.video.played.length) {\n _this.container.classList.add('dplayer-hide-controller');\n closeSetting();\n closeComment();\n }\n }, 2000);\n };\n if (!_utils.isMobile) {\n this.container.addEventListener('mousemove', hideController);\n this.container.addEventListener('click', hideController);\n }\n var settingHTML = _html2.default.setting(this.tran);\n var settingIcon = this.container.getElementsByClassName('dplayer-setting-icon')[0];\n var settingBox = this.container.getElementsByClassName('dplayer-setting-box')[0];\n var mask = this.container.getElementsByClassName('dplayer-mask')[0];\n settingBox.innerHTML = settingHTML.original;\n var closeSetting = function closeSetting() {\n if (settingBox.classList.contains('dplayer-setting-box-open')) {\n settingBox.classList.remove('dplayer-setting-box-open');\n mask.classList.remove('dplayer-mask-show');\n setTimeout(function () {\n settingBox.classList.remove('dplayer-setting-box-narrow');\n settingBox.innerHTML = settingHTML.original;\n settingEvent();\n }, 300);\n }\n };\n var openSetting = function openSetting() {\n settingBox.classList.add('dplayer-setting-box-open');\n mask.classList.add('dplayer-mask-show');\n };\n mask.addEventListener('click', function () {\n closeSetting();\n });\n settingIcon.addEventListener('click', function () {\n openSetting();\n });\n this.loop = this.options.loop;\n var showdan = this.user.get('danmaku');\n if (!showdan) {\n this.danmaku && this.danmaku.hide();\n }\n var unlimitDan = this.user.get('unlimited');\n var settingEvent = function settingEvent() {\n var loopEle = _this.container.getElementsByClassName('dplayer-setting-loop')[0];\n var loopToggle = loopEle.getElementsByClassName('dplayer-toggle-setting-input')[0];\n loopToggle.checked = _this.loop;\n loopEle.addEventListener('click', function () {\n loopToggle.checked = !loopToggle.checked;\n if (loopToggle.checked) {\n _this.loop = true;\n } else {\n _this.loop = false;\n }\n closeSetting();\n });\n var showDanEle = _this.container.getElementsByClassName('dplayer-setting-showdan')[0];\n var showDanToggle = showDanEle.getElementsByClassName('dplayer-showdan-setting-input')[0];\n showDanToggle.checked = showdan;\n showDanEle.addEventListener('click', function () {\n showDanToggle.checked = !showDanToggle.checked;\n if (showDanToggle.checked) {\n showdan = true;\n if (!_this.paused) {\n _this.danmaku.show();\n }\n } else {\n showdan = false;\n _this.danmaku.hide();\n }\n _this.user.set('danmaku', showdan ? 1 : 0);\n closeSetting();\n });\n var unlimitDanEle = _this.container.getElementsByClassName('dplayer-setting-danunlimit')[0];\n var unlimitDanToggle = unlimitDanEle.getElementsByClassName('dplayer-danunlimit-setting-input')[0];\n unlimitDanToggle.checked = unlimitDan;\n unlimitDanEle.addEventListener('click', function () {\n unlimitDanToggle.checked = !unlimitDanToggle.checked;\n if (unlimitDanToggle.checked) {\n unlimitDan = true;\n _this.danmaku.unlimit(true);\n } else {\n unlimitDan = false;\n _this.danmaku.unlimit(false);\n }\n _this.user.set('unlimited', unlimitDan ? 1 : 0);\n closeSetting();\n });\n var speedEle = _this.container.getElementsByClassName('dplayer-setting-speed')[0];\n speedEle.addEventListener('click', function () {\n settingBox.classList.add('dplayer-setting-box-narrow');\n settingBox.innerHTML = settingHTML.speed;\n var speedItem = settingBox.getElementsByClassName('dplayer-setting-speed-item');\n var _loop = function _loop(i) {\n speedItem[i].addEventListener('click', function () {\n _this.video.playbackRate = speedItem[i].dataset.speed;\n closeSetting();\n });\n };\n for (var i = 0; i < speedItem.length; i++) {\n _loop(i);\n }\n });\n if (_this.danmaku) {\n bar.danmakuBar = _this.container.getElementsByClassName('dplayer-danmaku-bar-inner')[0];\n var danmakuBarWrapWrap = _this.container.getElementsByClassName('dplayer-danmaku-bar-wrap')[0];\n var danmakuBarWrap = _this.container.getElementsByClassName('dplayer-danmaku-bar')[0];\n var danmakuSettingBox = _this.container.getElementsByClassName('dplayer-setting-danmaku')[0];\n var dWidth = 130;\n _this.on('danmaku_opacity', function (percentage) {\n _this.updateBar('danmaku', percentage, 'width');\n _this.user.set('opacity', percentage);\n });\n _this.danmaku.opacity(_this.user.get('opacity'));\n var danmakuMove = function danmakuMove(event) {\n var e = event || window.event;\n var percentage = (e.clientX - _utils2.default.getElementViewLeft(danmakuBarWrap)) / dWidth;\n percentage = percentage > 0 ? percentage : 0;\n percentage = percentage < 1 ? percentage : 1;\n _this.danmaku.opacity(percentage);\n };\n var danmakuUp = function danmakuUp() {\n document.removeEventListener('mouseup', danmakuUp);\n document.removeEventListener('mousemove', danmakuMove);\n danmakuSettingBox.classList.remove('dplayer-setting-danmaku-active');\n };\n danmakuBarWrapWrap.addEventListener('click', function (event) {\n var e = event || window.event;\n var percentage = (e.clientX - _utils2.default.getElementViewLeft(danmakuBarWrap)) / dWidth;\n percentage = percentage > 0 ? percentage : 0;\n percentage = percentage < 1 ? percentage : 1;\n _this.danmaku.opacity(percentage);\n });\n danmakuBarWrapWrap.addEventListener('mousedown', function () {\n document.addEventListener('mousemove', danmakuMove);\n document.addEventListener('mouseup', danmakuUp);\n danmakuSettingBox.classList.add('dplayer-setting-danmaku-active');\n });\n }\n };\n settingEvent();\n if (this.video.duration !== 1) {\n this.container.getElementsByClassName('dplayer-dtime')[0].innerHTML = this.video.duration ? _utils2.default.secondToTime(this.video.duration) : '00:00';\n }\n if (!this.danmaku) {\n if (this.options.autoplay && !_utils.isMobile) {\n this.play();\n } else if (_utils.isMobile) {\n this.pause();\n }\n }\n var commentInput = this.container.getElementsByClassName('dplayer-comment-input')[0];\n var commentIcon = this.container.getElementsByClassName('dplayer-comment-icon')[0];\n var commentBox = this.container.getElementsByClassName('dplayer-comment-box')[0];\n var commentSettingIcon = this.container.getElementsByClassName('dplayer-comment-setting-icon')[0];\n var commentSettingBox = this.container.getElementsByClassName('dplayer-comment-setting-box')[0];\n var commentSendIcon = this.container.getElementsByClassName('dplayer-send-icon')[0];\n var closeCommentSetting = function closeCommentSetting() {\n if (commentSettingBox.classList.contains('dplayer-comment-setting-open')) {\n commentSettingBox.classList.remove('dplayer-comment-setting-open');\n }\n };\n var toggleCommentSetting = function toggleCommentSetting() {\n if (commentSettingBox.classList.contains('dplayer-comment-setting-open')) {\n commentSettingBox.classList.remove('dplayer-comment-setting-open');\n } else {\n commentSettingBox.classList.add('dplayer-comment-setting-open');\n }\n };\n var disableHide = 0;\n var commentFocusTimeout = 0;\n var closeComment = function closeComment() {\n if (!commentBox.classList.contains('dplayer-comment-box-open')) {\n return;\n }\n commentBox.classList.remove('dplayer-comment-box-open');\n mask.classList.remove('dplayer-mask-show');\n _this.container.classList.remove('dplayer-show-controller');\n clearInterval(disableHide);\n clearTimeout(commentFocusTimeout);\n closeCommentSetting();\n };\n var openComment = function openComment() {\n if (commentBox.classList.contains('dplayer-comment-box-open')) {\n return;\n }\n commentBox.classList.add('dplayer-comment-box-open');\n mask.classList.add('dplayer-mask-show');\n _this.container.classList.add('dplayer-show-controller');\n disableHide = setInterval(function () {\n clearTimeout(_this.hideTime);\n }, 1000);\n commentFocusTimeout = setTimeout(function () {\n commentInput.focus();\n }, 300);\n };\n mask.addEventListener('click', function () {\n closeComment();\n });\n commentIcon.addEventListener('click', function () {\n openComment();\n });\n commentSettingIcon.addEventListener('click', function () {\n toggleCommentSetting();\n });\n this.container.getElementsByClassName('dplayer-comment-setting-color')[0].addEventListener('click', function () {\n var sele = _this.container.querySelector('input[name=\"dplayer-danmaku-color-${index}\"]:checked+span');\n if (sele) {\n commentSettingIcon.getElementsByClassName('dplayer-fill')[0].style.fill = _this.container.querySelector('input[name=\"dplayer-danmaku-color-${index}\"]:checked').value;\n }\n });\n var sendComment = function sendComment() {\n commentInput.blur();\n if (!commentInput.value.replace(/^\\s+|\\s+$/g, '')) {\n _this.notice(_this.tran('Please input danmaku content!'));\n return;\n }\n _this.danmaku.send({\n text: commentInput.value,\n color: _this.container.querySelector('.dplayer-comment-setting-color input:checked').value,\n type: _this.container.querySelector('.dplayer-comment-setting-type input:checked').value\n }, function () {\n commentInput.value = '';\n closeComment();\n });\n };\n commentInput.addEventListener('click', function () {\n closeCommentSetting();\n });\n commentInput.addEventListener('keydown', function (e) {\n var event = e || window.event;\n if (event.keyCode === 13) {\n sendComment();\n }\n });\n commentSendIcon.addEventListener('click', sendComment);\n this.fullScreen = new _fullscreen2.default(this);\n this.container.getElementsByClassName('dplayer-full-icon')[0].addEventListener('click', function () {\n _this.fullScreen.toggle('browser');\n });\n this.container.getElementsByClassName('dplayer-full-in-icon')[0].addEventListener('click', function () {\n _this.fullScreen.toggle('web');\n });\n var handleKeyDown = function handleKeyDown(e) {\n if (_this.focus) {\n var tag = document.activeElement.tagName.toUpperCase();\n var editable = document.activeElement.getAttribute('contenteditable');\n if (tag !== 'INPUT' && tag !== 'TEXTAREA' && editable !== '' && editable !== 'true') {\n var event = e || window.event;\n var percentage = void 0;\n switch (event.keyCode) {\n case 32:\n event.preventDefault();\n _this.toggle();\n break;\n case 37:\n event.preventDefault();\n _this.seek(_this.video.currentTime - 5);\n hideController();\n break;\n case 39:\n event.preventDefault();\n _this.seek(_this.video.currentTime + 5);\n hideController();\n break;\n case 38:\n event.preventDefault();\n percentage = _this.volume() + 0.1;\n _this.volume(percentage);\n break;\n case 40:\n event.preventDefault();\n percentage = _this.volume() - 0.1;\n _this.volume(percentage);\n break;\n }\n }\n }\n };\n if (this.options.hotkey) {\n document.addEventListener('keydown', handleKeyDown);\n }\n document.addEventListener('keydown', function (e) {\n var event = e || window.event;\n switch (event.keyCode) {\n case 27:\n if (_this.fullScreen.isFullScreen('web')) {\n _this.fullScreen.cancel('web');\n }\n break;\n }\n });\n var menu = this.container.getElementsByClassName('dplayer-menu')[0];\n this.container.addEventListener('contextmenu', function (e) {\n var event = e || window.event;\n event.preventDefault();\n menu.classList.add('dplayer-menu-show');\n var clientRect = _this.container.getBoundingClientRect();\n var menuLeft = event.clientX - clientRect.left;\n var menuTop = event.clientY - clientRect.top;\n if (menuLeft + menu.offsetWidth >= clientRect.width) {\n menu.style.right = clientRect.width - menuLeft + 'px';\n menu.style.left = 'initial';\n } else {\n menu.style.left = event.clientX - _this.container.getBoundingClientRect().left + 'px';\n menu.style.right = 'initial';\n }\n if (menuTop + menu.offsetHeight >= clientRect.height) {\n menu.style.bottom = clientRect.height - menuTop + 'px';\n menu.style.top = 'initial';\n } else {\n menu.style.top = event.clientY - _this.container.getBoundingClientRect().top + 'px';\n menu.style.bottom = 'initial';\n }\n mask.classList.add('dplayer-mask-show');\n _this.events.trigger('contextmenu_show');\n mask.addEventListener('click', function () {\n mask.classList.remove('dplayer-mask-show');\n menu.classList.remove('dplayer-menu-show');\n _this.events.trigger('contextmenu_hide');\n });\n });\n if (this.options.video.quality) {\n this.container.getElementsByClassName('dplayer-quality-list')[0].addEventListener('click', function (e) {\n if (e.target.classList.contains('dplayer-quality-item')) {\n _this.switchQuality(e.target.dataset.index);\n }\n });\n }\n if (this.options.screenshot) {\n var camareIcon = this.container.getElementsByClassName('dplayer-camera-icon')[0];\n camareIcon.addEventListener('click', function () {\n var canvas = document.createElement('canvas');\n canvas.width = _this.video.videoWidth;\n canvas.height = _this.video.videoHeight;\n canvas.getContext('2d').drawImage(_this.video, 0, 0, canvas.width, canvas.height);\n var dataURL = canvas.toDataURL();\n camareIcon.href = dataURL;\n camareIcon.download = 'DPlayer.png';\n _this.events.trigger('screenshot', dataURL);\n });\n }\n this.initVideo(this.video, this.quality && this.quality.type || this.options.video.type);\n index++;\n }\n _createClass(DPlayer, [\n {\n key: 'seek',\n value: function seek(time) {\n time = Math.max(time, 0);\n if (this.video.duration) {\n time = Math.min(time, this.video.duration);\n }\n if (this.video.currentTime < time) {\n this.notice(this.tran('FF') + ' ' + (time - this.video.currentTime).toFixed(0) + ' ' + this.tran('s'));\n } else if (this.video.currentTime > time) {\n this.notice(this.tran('REW') + ' ' + (this.video.currentTime - time).toFixed(0) + ' ' + this.tran('s'));\n }\n this.video.currentTime = time;\n if (this.danmaku) {\n this.danmaku.seek();\n }\n this.updateBar('played', time / this.video.duration, 'width');\n }\n },\n {\n key: 'play',\n value: function play() {\n this.paused = false;\n if (this.video.paused) {\n this.bezel.innerHTML = (0, _svg2.default)('play');\n this.bezel.classList.add('dplayer-bezel-transition');\n }\n this.playButton.innerHTML = (0, _svg2.default)('pause');\n this.video.play();\n this.setTime();\n this.container.classList.add('dplayer-playing');\n if (this.danmaku) {\n this.danmaku.play();\n }\n }\n },\n {\n key: 'pause',\n value: function pause() {\n this.paused = true;\n this.container.classList.remove('dplayer-loading');\n if (!this.video.paused) {\n this.bezel.innerHTML = (0, _svg2.default)('pause');\n this.bezel.classList.add('dplayer-bezel-transition');\n }\n this.ended = false;\n this.playButton.innerHTML = (0, _svg2.default)('play');\n this.video.pause();\n this.clearTime();\n this.container.classList.remove('dplayer-playing');\n if (this.danmaku) {\n this.danmaku.pause();\n }\n }\n },\n {\n key: 'volume',\n value: function volume(percentage, nostorage) {\n percentage = parseFloat(percentage);\n if (!isNaN(percentage)) {\n percentage = percentage > 0 ? percentage : 0;\n percentage = percentage < 1 ? percentage : 1;\n this.updateBar('volume', percentage, 'width');\n var formatPercentage = (percentage * 100).toFixed(0) + '%';\n this.container.getElementsByClassName('dplayer-volume-bar-wrap')[0].dataset.balloon = formatPercentage;\n if (!nostorage) {\n this.user.set('volume', percentage);\n }\n this.video.volume = percentage;\n if (this.video.muted) {\n this.video.muted = false;\n }\n this.switchVolumeIcon();\n }\n return this.video.volume;\n }\n },\n {\n key: 'toggle',\n value: function toggle() {\n if (this.video.paused) {\n this.play();\n } else {\n this.pause();\n }\n }\n },\n {\n key: 'on',\n value: function on(name, callback) {\n this.events.on(name, callback);\n }\n },\n {\n key: 'switchVideo',\n value: function switchVideo(video, danmakuAPI) {\n this.pause();\n this.video.poster = video.pic ? video.pic : '';\n this.video.src = video.url;\n this.initMSE(this.video, video.type || 'auto');\n if (danmakuAPI) {\n this.container.getElementsByClassName('dplayer-danloading')[0].style.display = 'block';\n this.updateBar('played', 0, 'width');\n this.updateBar('loaded', 0, 'width');\n this.container.getElementsByClassName('dplayer-ptime')[0].innerHTML = '00:00';\n this.container.getElementsByClassName('dplayer-danmaku')[0].innerHTML = '';\n if (this.danmaku) {\n this.danmaku.reload({\n id: danmakuAPI.id,\n address: danmakuAPI.api,\n token: danmakuAPI.token,\n maximum: danmakuAPI.maximum,\n addition: danmakuAPI.addition,\n user: danmakuAPI.user\n });\n }\n }\n }\n },\n {\n key: 'initMSE',\n value: function initMSE(video, type) {\n this.type = type;\n if (this.type === 'auto') {\n if (/m3u8(#|\\?|$)/i.exec(video.src)) {\n this.type = 'hls';\n } else if (/.flv(#|\\?|$)/i.exec(video.src)) {\n this.type = 'flv';\n } else {\n this.type = 'normal';\n }\n }\n if (this.type === 'hls' && Hls.isSupported()) {\n var hls = new Hls();\n hls.loadSource(video.src);\n hls.attachMedia(video);\n }\n if (this.type === 'flv' && flvjs.isSupported()) {\n var flvPlayer = flvjs.createPlayer({\n type: 'flv',\n url: video.src\n });\n flvPlayer.attachMediaElement(video);\n flvPlayer.load();\n }\n }\n },\n {\n key: 'initVideo',\n value: function initVideo(video, type) {\n var _this2 = this;\n this.initMSE(video, type);\n this.on('durationchange', function () {\n if (video.duration !== 1) {\n _this2.container.getElementsByClassName('dplayer-dtime')[0].innerHTML = _utils2.default.secondToTime(video.duration);\n }\n });\n this.on('progress', function () {\n var percentage = video.buffered.length ? video.buffered.end(video.buffered.length - 1) / video.duration : 0;\n _this2.updateBar('loaded', percentage, 'width');\n });\n this.on('error', function () {\n _this2.tran && _this2.notice && _this2.notice(_this2.tran('This video fails to load'), -1);\n });\n this.ended = false;\n this.on('ended', function () {\n _this2.updateBar('played', 1, 'width');\n if (!_this2.loop) {\n _this2.ended = true;\n _this2.pause();\n } else {\n _this2.seek(0);\n video.play();\n }\n if (_this2.danmaku) {\n _this2.danmaku.danIndex = 0;\n }\n });\n this.on('play', function () {\n if (_this2.paused) {\n _this2.play();\n }\n });\n this.on('pause', function () {\n if (!_this2.paused) {\n _this2.pause();\n }\n });\n var _loop2 = function _loop2(i) {\n video.addEventListener(_this2.events.videoEvents[i], function () {\n _this2.events.trigger(_this2.events.videoEvents[i]);\n });\n };\n for (var i = 0; i < this.events.videoEvents.length; i++) {\n _loop2(i);\n }\n this.volume(this.user.get('volume'), true);\n }\n },\n {\n key: 'switchQuality',\n value: function switchQuality(index) {\n var _this3 = this;\n if (this.qualityIndex === index || this.switchingQuality) {\n return;\n } else {\n this.qualityIndex = index;\n }\n this.switchingQuality = true;\n this.quality = this.options.video.quality[index];\n this.container.getElementsByClassName('dplayer-quality-icon')[0].innerHTML = this.quality.name;\n var paused = this.video.paused;\n this.video.pause();\n var videoHTML = _html2.default.video(false, null, this.options.screenshot, 'auto', this.quality.url);\n var videoEle = new DOMParser().parseFromString(videoHTML, 'text/html').body.firstChild;\n var parent = this.container.getElementsByClassName('dplayer-video-wrap')[0];\n parent.insertBefore(videoEle, parent.getElementsByTagName('div')[0]);\n this.prevVideo = this.video;\n this.video = videoEle;\n this.initVideo(this.video, this.quality.type || this.options.video.type);\n this.seek(this.prevVideo.currentTime);\n this.notice(this.tran('Switching to') + ' ' + this.quality.name + ' ' + this.tran('quality'), -1);\n this.events.trigger('quality_start', this.quality);\n this.on('canplay', function () {\n if (_this3.prevVideo) {\n if (_this3.video.currentTime !== _this3.prevVideo.currentTime) {\n _this3.seek(_this3.prevVideo.currentTime);\n return;\n }\n parent.removeChild(_this3.prevVideo);\n _this3.video.classList.add('dplayer-video-current');\n if (!paused) {\n _this3.video.play();\n }\n _this3.prevVideo = null;\n _this3.notice(_this3.tran('Switched to') + ' ' + _this3.quality.name + ' ' + _this3.tran('quality'));\n _this3.switchingQuality = false;\n _this3.events.trigger('quality_end');\n }\n });\n }\n },\n {\n key: 'mouseHandler',\n value: function mouseHandler(pbar, timeTips) {\n var _this4 = this;\n var cumulativeOffset = function cumulativeOffset(element) {\n var top = 0, left = 0;\n do {\n top += element.offsetTop || 0;\n left += element.offsetLeft || 0;\n element = element.offsetParent;\n } while (element);\n return {\n top: top,\n left: left\n };\n };\n return function (e) {\n if (!_this4.video.duration) {\n return;\n }\n var clientX = e.clientX;\n var px = cumulativeOffset(pbar).left;\n var tx = clientX - px;\n if (tx < 0 || tx > pbar.offsetWidth) {\n return;\n }\n var time = _this4.video.duration * (tx / pbar.offsetWidth);\n timeTips.style.left = tx - 20 + 'px';\n switch (e.type) {\n case 'mouseenter':\n _this4.thumbnails && _this4.thumbnails.show();\n break;\n case 'mousemove':\n _this4.thumbnails && _this4.thumbnails.move(tx);\n timeTips.innerText = _utils2.default.secondToTime(time);\n _this4.timeTipsDisplay(true, timeTips);\n break;\n case 'mouseleave':\n _this4.thumbnails && _this4.thumbnails.hide();\n _this4.timeTipsDisplay(false, timeTips);\n break;\n }\n };\n }\n },\n {\n key: 'timeTipsDisplay',\n value: function timeTipsDisplay(show, timeTips) {\n if (show) {\n if (this.isTimeTipsShow) {\n return;\n }\n timeTips.classList.remove('hidden');\n this.isTimeTipsShow = true;\n } else {\n if (!this.isTimeTipsShow) {\n return;\n }\n timeTips.classList.add('hidden');\n this.isTimeTipsShow = false;\n }\n }\n },\n {\n key: 'initThumbnails',\n value: function initThumbnails() {\n var _this5 = this;\n this.thumbnails = new _thumbnails2.default(this.container.getElementsByClassName('dplayer-bar-preview')[0], this.container.getElementsByClassName('dplayer-bar-wrap')[0].offsetWidth, this.options.video.thumbnails, this.events);\n this.on('loadedmetadata', function () {\n _this5.thumbnails.resize(160, 90);\n });\n }\n },\n {\n key: 'notice',\n value: function notice(text) {\n var _this6 = this;\n var time = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 2000;\n var opacity = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0.8;\n var noticeEle = this.container.getElementsByClassName('dplayer-notice')[0];\n noticeEle.innerHTML = text;\n noticeEle.style.opacity = opacity;\n if (this.noticeTime) {\n clearTimeout(this.noticeTime);\n }\n this.events.trigger('notice_show', text);\n this.noticeTime = setTimeout(function () {\n noticeEle.style.opacity = 0;\n _this6.events.trigger('notice_hide');\n }, time);\n }\n },\n {\n key: 'resize',\n value: function resize() {\n if (this.danmaku) {\n this.danmaku.resize();\n }\n this.events.trigger('resize');\n }\n },\n {\n key: 'destroy',\n value: function destroy() {\n this.pause();\n clearTimeout(this.hideTime);\n this.video.src = '';\n this.container.innerHTML = '';\n this.events.trigger('destroy');\n for (var key in this) {\n if (this.hasOwnProperty(key) && key !== 'paused') {\n delete this[key];\n }\n }\n }\n }\n ]);\n return DPlayer;\n}();\nmodule.exports = DPlayer;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/DPlayer.js\n// module id = 3\n// module chunks = 0","'use strict';\nvar defaultApiBackend = require('./api.js');\nmodule.exports = function (options) {\n var isMobile = /mobile/i.test(window.navigator.userAgent);\n if (isMobile) {\n options.autoplay = false;\n }\n var defaultOption = {\n container: options.element || document.getElementsByClassName('dplayer')[0],\n autoplay: false,\n theme: '#b7daff',\n loop: false,\n lang: (navigator.language || navigator.browserLanguage).toLowerCase(),\n screenshot: false,\n hotkey: true,\n preload: 'auto',\n volume: '0.7',\n apiBackend: defaultApiBackend,\n video: {},\n contextmenu: []\n };\n for (var defaultKey in defaultOption) {\n if (defaultOption.hasOwnProperty(defaultKey) && !options.hasOwnProperty(defaultKey)) {\n options[defaultKey] = defaultOption[defaultKey];\n }\n }\n if (options.video && !options.video.hasOwnProperty('type')) {\n options.video.type = 'auto';\n }\n if (options.danmaku && !options.danmaku.hasOwnProperty('user')) {\n options.danmaku.user = 'DIYgod';\n }\n if (options.video.quality) {\n options.video.url = [options.video.quality[options.video.defaultQuality].url];\n }\n if (options.lang) {\n options.lang = options.lang.toLowerCase();\n }\n options.contextmenu = options.contextmenu.concat([\n {\n text: 'About author',\n link: 'https://www.anotherhome.net/'\n },\n {\n text: 'About DPlayer',\n link: 'https://github.com/MoePlayer/DPlayer'\n },\n {\n text: 'DPlayer feedback',\n link: 'https://github.com/DIYgod/DPlayer/issues'\n },\n {\n text: 'DPlayer ' + DPLAYER_VERSION + ' ' + GIT_HASH,\n link: 'https://github.com/MoePlayer/DPlayer/releases'\n }\n ]);\n return options;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/options.js\n// module id = 5\n// module chunks = 0","'use strict';\nvar SendXMLHttpRequest = function SendXMLHttpRequest(url, data, success, error, fail) {\n var xhr = new XMLHttpRequest();\n xhr.onreadystatechange = function () {\n if (xhr.readyState === 4) {\n if (xhr.status >= 200 && xhr.status < 300 || xhr.status === 304) {\n var response = JSON.parse(xhr.responseText);\n if (response.code !== 1) {\n return error(xhr, response);\n }\n return success(xhr, response);\n }\n fail(xhr);\n }\n };\n xhr.open(data !== null ? 'POST' : 'GET', url, true);\n xhr.send(data !== null ? JSON.stringify(data) : null);\n};\nmodule.exports = {\n send: function send(endpoint, danmakuData, callback) {\n SendXMLHttpRequest(endpoint, danmakuData, function (xhr, response) {\n console.log('Post danmaku: ', response);\n if (callback) {\n callback();\n }\n }, function (xhr, response) {\n alert(response.msg);\n }, function (xhr) {\n console.log('Request was unsuccessful: ' + xhr.status);\n });\n },\n read: function read(endpoint, callback) {\n SendXMLHttpRequest(endpoint, null, function (xhr, response) {\n callback(null, response.danmaku);\n }, function (xhr, response) {\n callback({\n status: xhr.status,\n response: response\n });\n }, function (xhr) {\n callback({\n status: xhr.status,\n response: null\n });\n });\n }\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/api.js\n// module id = 6\n// module chunks = 0","'use strict';\nmodule.exports = function (lang) {\n var _this = this;\n this.lang = lang;\n this.tran = function (text) {\n if (tranTxt[_this.lang] && tranTxt[_this.lang][text]) {\n return tranTxt[_this.lang][text];\n } else {\n return text;\n }\n };\n};\nvar tranTxt = {\n 'zh-cn': {\n 'Danmaku is loading': '弹幕加载中',\n 'Top': '顶部',\n 'Bottom': '底部',\n 'Rolling': '滚动',\n 'Input danmaku, hit Enter': '输入弹幕\\uFF0C回车发送',\n 'About author': '关于作者',\n 'DPlayer feedback': '播放器意见反馈',\n 'About DPlayer': '关于 DPlayer 播放器',\n 'Loop': '洗脑循环',\n 'Speed': '速度',\n 'Opacity for danmaku': '弹幕透明度',\n 'Normal': '正常',\n 'Please input danmaku content!': '要输入弹幕内容啊喂\\uFF01',\n 'Set danmaku color': '设置弹幕颜色',\n 'Set danmaku type': '设置弹幕类型',\n 'Show danmaku': '显示弹幕',\n 'This video fails to load': '视频加载失败',\n 'Switching to': '正在切换至',\n 'Switched to': '已经切换至',\n 'quality': '画质',\n 'FF': '快进',\n 'REW': '快退',\n 'Unlimited danmaku': '海量弹幕',\n 'Send danmaku': '发送弹幕',\n 'Setting': '设置',\n 'Full screen': '全屏',\n 'Web full screen': '页面全屏',\n 'Send': '发送',\n 'Screenshot': '截图',\n 's': '秒'\n },\n 'zh-tw': {\n 'Danmaku is loading': '彈幕加載中',\n 'Top': '頂部',\n 'Bottom': '底部',\n 'Rolling': '滾動',\n 'Input danmaku, hit Enter': '輸入彈幕\\uFF0CEnter 發送',\n 'About author': '關於作者',\n 'DPlayer feedback': '播放器意見反饋',\n 'About DPlayer': '關於 DPlayer 播放器',\n 'Loop': '循環播放',\n 'Speed': '速度',\n 'Opacity for danmaku': '彈幕透明度',\n 'Normal': '正常',\n 'Please input danmaku content!': '請輸入彈幕内容啊\\uFF01',\n 'Set danmaku color': '設置彈幕顏色',\n 'Set danmaku type': '設置彈幕類型',\n 'Show danmaku': '顯示彈幕',\n 'This video fails to load': '視頻加載失敗',\n 'Switching to': '正在切換至',\n 'Switched to': '已經切換至',\n 'quality': '畫質',\n 'FF': '快進',\n 'REW': '快退',\n 'Unlimited danmaku': '海量彈幕',\n 'Send danmaku': '發送彈幕',\n 'Setting': '設置',\n 'Full screen': '全屏',\n 'Web full screen': '頁面全屏',\n 'Send': '發送',\n 'Screenshot': '截圖',\n 's': '秒'\n }\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/i18n.js\n// module id = 7\n// module chunks = 0","'use strict';\nvar svg = require('./svg.js');\nvar html = {\n main: function main(options, index, tran) {\n var videos = '';\n videos += html.video(true, options.video.pic, options.screenshot, options.preload, options.video.url);\n return '
' + videos + '' + (options.logo ? '
' : '') + '
' + (options.danmaku ? '' + tran('Danmaku is loading') + '' : '') + '
0:00 / 0:00
' + (options.video.quality ? '
' + html.qualityList(options.video.quality) + '
' : '') + '' + (options.screenshot ? '' + svg('camera') + '' : '') + '
' + tran('Set danmaku color') + '
' + tran('Set danmaku type') + '
00:00
' + html.contextmenuList(options.contextmenu, tran) + '
';\n },\n danmakumargin: function danmakumargin(margin) {\n var result = '';\n if (margin) {\n for (var key in margin) {\n result += key + ':' + margin[key] + ';';\n }\n }\n return result;\n },\n contextmenuList: function contextmenuList(contextmenu, tran) {\n var result = '
';\n for (var i = 0; i < contextmenu.length; i++) {\n result += '';\n }\n result += '
';\n return result;\n },\n qualityList: function qualityList(quality) {\n var result = '
';\n for (var i = 0; i < quality.length; i++) {\n result += '
' + quality[i].name + '
';\n }\n result += '
';\n return result;\n },\n video: function video(current, pic, screenshot, preload, url) {\n return '';\n },\n setting: function setting(tran) {\n return {\n 'original': '
' + tran('Speed') + '
' + svg('right') + '
' + tran('Loop') + '
' + tran('Show danmaku') + '
' + tran('Unlimited danmaku') + '
' + tran('Opacity for danmaku') + '
',\n 'speed': '
0.5
0.75
' + tran('Normal') + '
1.25
1.5
2
'\n };\n }\n};\nmodule.exports = html;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/html.js\n// module id = 8\n// module chunks = 0","'use strict';\nvar _typeof = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol' ? function (obj) {\n return typeof obj;\n} : function (obj) {\n return obj && typeof Symbol === 'function' && obj.constructor === Symbol && obj !== Symbol.prototype ? 'symbol' : typeof obj;\n};\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nvar Danmaku = function () {\n function Danmaku(options) {\n _classCallCheck(this, Danmaku);\n this.options = options;\n this.container = this.options.container;\n this.danTunnel = {\n right: {},\n top: {},\n bottom: {}\n };\n this.danIndex = 0;\n this.dan = [];\n this.showing = true;\n this._opacity = this.options.opacity;\n this.events = this.options.events;\n this.unlimited = this.options.unlimited;\n this._measure('');\n this.load();\n }\n _createClass(Danmaku, [\n {\n key: 'load',\n value: function load() {\n var _this = this;\n var apiurl = void 0;\n if (this.options.api.maximum) {\n apiurl = this.options.api.address + '?id=' + this.options.api.id + '&max=' + this.options.api.maximum;\n } else {\n apiurl = this.options.api.address + '?id=' + this.options.api.id;\n }\n var endpoints = (this.options.api.addition || []).slice(0);\n endpoints.push(apiurl);\n this.events && this.events.trigger('danmaku_load_start', endpoints);\n this._readAllEndpoints(endpoints, function (results) {\n _this.dan = [].concat.apply([], results).sort(function (a, b) {\n return a.time - b.time;\n });\n window.requestAnimationFrame(function () {\n _this.frame();\n });\n _this.options.callback();\n _this.events && _this.events.trigger('danmaku_load_end');\n });\n }\n },\n {\n key: 'reload',\n value: function reload(newAPI) {\n this.options.api = newAPI;\n this.dan = [];\n this.clear();\n this.load();\n }\n },\n {\n key: '_readAllEndpoints',\n value: function _readAllEndpoints(endpoints, callback) {\n var _this2 = this;\n var results = [];\n var readCount = 0;\n var cbk = function cbk(i) {\n return function (err, data) {\n ++readCount;\n if (err) {\n if (err.response) {\n _this2.options.error(err.response.msg);\n } else {\n _this2.options.error('Request was unsuccessful: ' + err.status);\n }\n results[i] = [];\n } else {\n results[i] = data;\n }\n if (readCount === endpoints.length) {\n return callback(results);\n }\n };\n };\n for (var i = 0; i < endpoints.length; ++i) {\n this.options.apiBackend.read(endpoints[i], cbk(i));\n }\n }\n },\n {\n key: 'send',\n value: function send(dan, callback) {\n var danmakuData = {\n token: this.options.api.token,\n player: this.options.api.id,\n author: this.options.api.user,\n time: this.options.time(),\n text: dan.text,\n color: dan.color,\n type: dan.type\n };\n this.options.apiBackend.send(this.options.api.address, danmakuData, callback);\n this.dan.splice(this.danIndex, 0, danmakuData);\n this.danIndex++;\n var danmaku = {\n text: this.htmlEncode(danmakuData.text),\n color: danmakuData.color,\n type: danmakuData.type,\n border: '2px solid ' + this.options.borderColor\n };\n this.draw(danmaku);\n this.events && this.events.trigger('danmaku_send', danmakuData);\n }\n },\n {\n key: 'frame',\n value: function frame() {\n var _this3 = this;\n if (this.dan.length && !this.paused && this.showing) {\n var item = this.dan[this.danIndex];\n var dan = [];\n while (item && this.options.time() > parseFloat(item.time)) {\n dan.push(item);\n item = this.dan[++this.danIndex];\n }\n this.draw(dan);\n }\n window.requestAnimationFrame(function () {\n _this3.frame();\n });\n }\n },\n {\n key: 'opacity',\n value: function opacity(percentage) {\n if (percentage !== undefined) {\n var items = this.container.getElementsByClassName('dplayer-danmaku-item');\n for (var i = 0; i < items.length; i++) {\n items[i].style.opacity = percentage;\n }\n this._opacity = percentage;\n this.events && this.events.trigger('danmaku_opacity', this._opacity);\n }\n return this._opacity;\n }\n },\n {\n key: 'draw',\n value: function draw(dan) {\n var _this4 = this;\n var itemHeight = this.options.height;\n var danWidth = this.container.offsetWidth;\n var danHeight = this.container.offsetHeight;\n var itemY = parseInt(danHeight / itemHeight);\n var danItemRight = function danItemRight(ele) {\n var eleWidth = ele.offsetWidth || parseInt(ele.style.width);\n var eleRight = ele.getBoundingClientRect().right || _this4.container.getBoundingClientRect().right + eleWidth;\n return _this4.container.getBoundingClientRect().right - eleRight;\n };\n var danSpeed = function danSpeed(width) {\n return (danWidth + width) / 5;\n };\n var getTunnel = function getTunnel(ele, type, width) {\n var tmp = danWidth / danSpeed(width);\n var _loop = function _loop(i) {\n var item = _this4.danTunnel[type][i + ''];\n if (item && item.length) {\n if (type !== 'right') {\n return 'continue';\n }\n for (var j = 0; j < item.length; j++) {\n var danRight = danItemRight(item[j]) - 10;\n if (danRight <= danWidth - tmp * danSpeed(parseInt(item[j].style.width)) || danRight <= 0) {\n break;\n }\n if (j === item.length - 1) {\n _this4.danTunnel[type][i + ''].push(ele);\n ele.addEventListener('animationend', function () {\n _this4.danTunnel[type][i + ''].splice(0, 1);\n });\n return { v: i % itemY };\n }\n }\n } else {\n _this4.danTunnel[type][i + ''] = [ele];\n ele.addEventListener('animationend', function () {\n _this4.danTunnel[type][i + ''].splice(0, 1);\n });\n return { v: i % itemY };\n }\n };\n for (var i = 0; _this4.unlimited || i < itemY; i++) {\n var _ret = _loop(i);\n switch (_ret) {\n case 'continue':\n continue;\n default:\n if ((typeof _ret === 'undefined' ? 'undefined' : _typeof(_ret)) === 'object')\n return _ret.v;\n }\n }\n return -1;\n };\n if (Object.prototype.toString.call(dan) !== '[object Array]') {\n dan = [dan];\n }\n var docFragment = document.createDocumentFragment();\n var _loop2 = function _loop2(i) {\n if (!dan[i].type) {\n dan[i].type = 'right';\n }\n if (!dan[i].color) {\n dan[i].color = '#fff';\n }\n var item = document.createElement('div');\n item.classList.add('dplayer-danmaku-item');\n item.classList.add('dplayer-danmaku-' + dan[i].type);\n if (dan[i].border) {\n item.innerHTML = '' + dan[i].text + '';\n } else {\n item.innerHTML = dan[i].text;\n }\n item.style.opacity = _this4._opacity;\n item.style.color = dan[i].color;\n item.addEventListener('animationend', function () {\n _this4.container.removeChild(item);\n });\n var itemWidth = _this4._measure(dan[i].text);\n var tunnel = void 0;\n switch (dan[i].type) {\n case 'right':\n tunnel = getTunnel(item, dan[i].type, itemWidth);\n if (tunnel >= 0) {\n item.style.width = itemWidth + 1 + 'px';\n item.style.top = itemHeight * tunnel + 'px';\n item.style.transform = 'translateX(-' + danWidth + 'px)';\n }\n break;\n case 'top':\n tunnel = getTunnel(item, dan[i].type);\n if (tunnel >= 0) {\n item.style.top = itemHeight * tunnel + 'px';\n }\n break;\n case 'bottom':\n tunnel = getTunnel(item, dan[i].type);\n if (tunnel >= 0) {\n item.style.bottom = itemHeight * tunnel + 'px';\n }\n break;\n default:\n console.error('Can\\'t handled danmaku type: ' + dan[i].type);\n }\n if (tunnel >= 0) {\n item.classList.add('dplayer-danmaku-move');\n docFragment.appendChild(item);\n }\n };\n for (var i = 0; i < dan.length; i++) {\n _loop2(i);\n }\n this.container.appendChild(docFragment);\n return docFragment;\n }\n },\n {\n key: 'play',\n value: function play() {\n this.paused = false;\n }\n },\n {\n key: 'pause',\n value: function pause() {\n this.paused = true;\n }\n },\n {\n key: '_measure',\n value: function _measure(text) {\n if (!this.context) {\n var measureStyle = getComputedStyle(this.container.getElementsByClassName('dplayer-danmaku-item')[0], null);\n this.context = document.createElement('canvas').getContext('2d');\n this.context.font = measureStyle.getPropertyValue('font');\n }\n return this.context.measureText(text).width;\n }\n },\n {\n key: 'seek',\n value: function seek() {\n for (var i = 0; i < this.dan.length; i++) {\n if (this.dan[i].time >= this.options.time()) {\n this.danIndex = i;\n break;\n }\n this.danIndex = this.dan.length;\n }\n }\n },\n {\n key: 'clear',\n value: function clear() {\n this.danTunnel = {\n right: {},\n top: {},\n bottom: {}\n };\n this.danIndex = 0;\n this.options.container.innerHTML = '';\n this.events && this.events.trigger('danmaku_clear');\n }\n },\n {\n key: 'htmlEncode',\n value: function htmlEncode(str) {\n return str.replace(/&/g, '&').replace(//g, '>').replace(/\"/g, '"').replace(/'/g, ''').replace(/\\//g, '/');\n }\n },\n {\n key: 'resize',\n value: function resize() {\n var danWidth = this.container.offsetWidth;\n var items = this.container.getElementsByClassName('dplayer-danmaku-item');\n for (var i = 0; i < items.length; i++) {\n items[i].style.transform = 'translateX(-' + danWidth + 'px)';\n }\n }\n },\n {\n key: 'hide',\n value: function hide() {\n this.showing = false;\n this.pause();\n this.clear();\n this.events && this.events.trigger('danmaku_hide');\n }\n },\n {\n key: 'show',\n value: function show() {\n this.seek();\n this.showing = true;\n this.play();\n this.events && this.events.trigger('danmaku_show');\n }\n },\n {\n key: 'unlimit',\n value: function unlimit(boolean) {\n this.unlimited = boolean;\n }\n }\n ]);\n return Danmaku;\n}();\nmodule.exports = Danmaku;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/danmaku.js\n// module id = 9\n// module chunks = 0","'use strict';\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nvar Thumbnails = function () {\n function Thumbnails(container, width, url, events) {\n _classCallCheck(this, Thumbnails);\n this.container = container;\n this.width = width;\n this.container.style.backgroundImage = 'url(\\'' + url + '\\')';\n this.events = events;\n }\n _createClass(Thumbnails, [\n {\n key: 'resize',\n value: function resize(width, height) {\n this.container.style.width = width + 'px';\n this.container.style.height = height + 'px';\n this.container.style.top = -height + 2 + 'px';\n }\n },\n {\n key: 'show',\n value: function show() {\n this.container.style.display = 'block';\n this.events && this.events.trigger('thumbnails_show');\n }\n },\n {\n key: 'move',\n value: function move(position) {\n this.container.style.backgroundPosition = '-' + (Math.ceil(position / this.width * 100) - 1) * 160 + 'px 0';\n this.container.style.left = position - this.container.offsetWidth / 2 + 'px';\n }\n },\n {\n key: 'hide',\n value: function hide() {\n this.container.style.display = 'none';\n this.events && this.events.trigger('thumbnails_hide');\n }\n }\n ]);\n return Thumbnails;\n}();\nmodule.exports = Thumbnails;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/thumbnails.js\n// module id = 10\n// module chunks = 0","'use strict';\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nvar Events = function () {\n function Events() {\n _classCallCheck(this, Events);\n this.events = {};\n this.videoEvents = [\n 'abort',\n 'canplay',\n 'canplaythrough',\n 'durationchange',\n 'emptied',\n 'ended',\n 'error',\n 'loadeddata',\n 'loadedmetadata',\n 'loadstart',\n 'mozaudioavailable',\n 'pause',\n 'play',\n 'playing',\n 'progress',\n 'ratechange',\n 'seeked',\n 'seeking',\n 'stalled',\n 'suspend',\n 'timeupdate',\n 'volumechange',\n 'waiting'\n ];\n this.playerEvents = [\n 'screenshot',\n 'thumbnails_show',\n 'thumbnails_hide',\n 'danmaku_show',\n 'danmaku_hide',\n 'danmaku_clear',\n 'danmaku_loaded',\n 'danmaku_send',\n 'danmaku_opacity',\n 'contextmenu_show',\n 'contextmenu_hide',\n 'notice_show',\n 'notice_hide',\n 'quality_start',\n 'quality_end',\n 'destroy',\n 'resize',\n 'fullscreen',\n 'fullscreen_cancel',\n 'webfullscreen',\n 'webfullscreen_cancel'\n ];\n }\n _createClass(Events, [\n {\n key: 'on',\n value: function on(name, callback) {\n if (this.type(name) && typeof callback === 'function') {\n if (!this.events[name]) {\n this.events[name] = [];\n }\n this.events[name].push(callback);\n }\n }\n },\n {\n key: 'trigger',\n value: function trigger(name, info) {\n if (this.events[name] && this.events[name].length) {\n for (var i = 0; i < this.events[name].length; i++) {\n this.events[name][i](info);\n }\n }\n }\n },\n {\n key: 'type',\n value: function type(name) {\n if (this.playerEvents.indexOf(name) !== -1) {\n return 'player';\n } else if (this.videoEvents.indexOf(name) !== -1) {\n return 'video';\n }\n console.error('Unknown event name: ' + name);\n return null;\n }\n }\n ]);\n return Events;\n}();\nmodule.exports = Events;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/events.js\n// module id = 11\n// module chunks = 0","'use strict';\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nvar FullScreen = function () {\n function FullScreen(player) {\n var _this = this;\n _classCallCheck(this, FullScreen);\n this.player = player;\n this.player.events.on('webfullscreen', function () {\n _this.player.resize();\n });\n this.player.events.on('webfullscreen_cancel', function () {\n _this.player.resize();\n });\n var fullscreenchange = function fullscreenchange() {\n _this.player.resize();\n if (_this.isFullScreen('browser')) {\n _this.player.events.trigger('fullscreen');\n } else {\n _this.player.events.trigger('fullscreen_cancel');\n }\n };\n this.player.container.addEventListener('fullscreenchange', fullscreenchange);\n this.player.container.addEventListener('mozfullscreenchange', fullscreenchange);\n this.player.container.addEventListener('webkitfullscreenchange', fullscreenchange);\n }\n _createClass(FullScreen, [\n {\n key: 'isFullScreen',\n value: function isFullScreen() {\n var type = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'browser';\n switch (type) {\n case 'browser':\n return document.fullscreenElement || document.mozFullScreenElement || document.webkitFullscreenElement;\n case 'web':\n return this.player.container.classList.contains('dplayer-fulled');\n }\n }\n },\n {\n key: 'request',\n value: function request() {\n var type = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'browser';\n switch (type) {\n case 'browser':\n if (this.player.container.requestFullscreen) {\n this.player.container.requestFullscreen();\n } else if (this.player.container.mozRequestFullScreen) {\n this.player.container.mozRequestFullScreen();\n } else if (this.player.container.webkitRequestFullscreen) {\n this.player.container.webkitRequestFullscreen();\n } else if (this.player.video.webkitEnterFullscreen) {\n this.player.video.webkitEnterFullscreen();\n }\n break;\n case 'web':\n this.player.container.classList.add('dplayer-fulled');\n this.player.events.trigger('webfullscreen');\n break;\n }\n }\n },\n {\n key: 'cancel',\n value: function cancel() {\n var type = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'browser';\n switch (type) {\n case 'browser':\n if (document.cancelFullScreen) {\n document.cancelFullScreen();\n } else if (document.mozCancelFullScreen) {\n document.mozCancelFullScreen();\n } else if (document.webkitCancelFullScreen) {\n document.webkitCancelFullScreen();\n }\n break;\n case 'web':\n this.player.container.classList.remove('dplayer-fulled');\n this.player.events.trigger('webfullscreen_cancel');\n break;\n }\n }\n },\n {\n key: 'toggle',\n value: function toggle() {\n var type = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'browser';\n if (this.isFullScreen(type)) {\n this.cancel(type);\n } else {\n this.request(type);\n }\n }\n }\n ]);\n return FullScreen;\n}();\nmodule.exports = FullScreen;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/fullscreen.js\n// module id = 12\n// module chunks = 0","'use strict';\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nvar _utils = require('./utils');\nvar _utils2 = _interopRequireDefault(_utils);\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nvar User = function () {\n function User(player) {\n _classCallCheck(this, User);\n this.storageName = {\n opacity: 'dplayer-danmaku-opacity',\n volume: 'dplayer-volume',\n unlimited: 'dplayer-danmaku-unlimited',\n danmaku: 'dplayer-danmaku-show'\n };\n this.default = {\n opacity: 0.7,\n volume: player.options.volume || 0.7,\n unlimited: (player.options.danmaku && player.options.danmaku.unlimited ? 1 : 0) || 0,\n danmaku: 1\n };\n this.data = {};\n this.init();\n }\n _createClass(User, [\n {\n key: 'init',\n value: function init() {\n for (var item in this.storageName) {\n var name = this.storageName[item];\n this.data[item] = parseFloat(_utils2.default.storage.get(name) || this.default[item]);\n }\n }\n },\n {\n key: 'get',\n value: function get(key) {\n return this.data[key];\n }\n },\n {\n key: 'set',\n value: function set(key, value) {\n this.data[key] = value;\n _utils2.default.storage.set(this.storageName[key], value);\n }\n }\n ]);\n return User;\n}();\nmodule.exports = User;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/user.js\n// module id = 13\n// module chunks = 0"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///DPlayer.min.js","webpack:///webpack/bootstrap a149569763009e935b8a","webpack:///./src/utils.js","webpack:///./src/index.js","webpack:///./src/DPlayer.js","webpack:///./src/options.js","webpack:///./src/api.js","webpack:///./src/i18n.js","webpack:///./src/html.js","webpack:///./src/svg.js","webpack:///./src/danmaku.js","webpack:///./src/thumbnails.js","webpack:///./src/events.js","webpack:///./src/fullscreen.js","webpack:///./src/user.js","webpack:///./src/subtitle.js"],"names":["root","factory","exports","module","define","amd","this","modules","__webpack_require__","moduleId","installedModules","i","l","call","m","c","d","name","getter","o","Object","defineProperty","configurable","enumerable","get","n","__esModule","object","property","prototype","hasOwnProperty","p","s","secondToTime","second","add0","num","min","parseInt","sec","getElementViewLeft","element","actualLeft","offsetLeft","current","offsetParent","elementScrollLeft","document","body","scrollLeft","documentElement","fullscreenElement","mozFullScreenElement","webkitFullscreenElement","isMobile","test","window","navigator","userAgent","storage","set","key","value","localStorage","setItem","getItem","console","log","_interopRequireDefault","obj","default","_classCallCheck","instance","Constructor","TypeError","_createClass","defineProperties","target","props","length","descriptor","writable","protoProps","staticProps","_utils","_utils2","_options","_options2","_i18n","_i18n2","_html","_html2","_svg","_svg2","_danmaku","_danmaku2","_thumbnails","_thumbnails2","_events","_events2","_fullscreen","_fullscreen2","_user","_user2","_subtitle","_subtitle2","index","DPlayer","options","_this","container","classList","add","video","quality","qualityIndex","defaultQuality","tran","lang","icons","events","user","danmaku","innerHTML","main","bar","volumeBar","getElementsByClassName","playedBar","loadedBar","pbar","pbarTimeTips","barWidth","updateBar","type","percentage","direction","style","addEventListener","focus","opacity","callback","display","autoplay","play","pause","error","msg","notice","apiBackend","borderColor","theme","height","arrow","time","currentTime","unlimited","api","id","address","token","maximum","addition","offsetWidth","arrowStyle","createElement","head","appendChild","bezel","remove","playButton","paused","toggle","videoWrap","conMask","toggleController","contains","lastPlayPos","currentPlayPos","bufferingDetected","requestAnimationFrame","webkitRequestAnimationFrame","mozRequestAnimationFrame","oRequestAnimationFrame","msRequestAnimationFrame","setTimeout","setCheckLoadingTime","checkLoading","setInterval","clearCheckLoadingTime","clearInterval","playedTime","animationFrame","duration","setTime","clearTime","thumbnails","initThumbnails","isTimeTipsShow","mouseHandler","bind","thumbMove","e","clientX","thumbUp","removeEventListener","seek","parseFloat","width","clientWidth","volumeEle","volumeBarWrapWrap","volumeBarWrap","volumeicon","switchVolumeIcon","volume","volumeMove","event","volumeUp","muted","hideTime","hideController","clearTimeout","played","closeSetting","closeComment","settingHTML","setting","settingIcon","settingBox","mask","original","settingEvent","openSetting","loop","showdan","hide","unlimitDan","loopEle","loopToggle","checked","showDanEle","showDanToggle","show","unlimitDanEle","unlimitDanToggle","unlimit","speed","speedItem","playbackRate","dataset","danmakuBar","danmakuBarWrapWrap","danmakuBarWrap","danmakuSettingBox","on","danmakuMove","danmakuUp","commentInput","commentIcon","commentBox","commentSettingIcon","commentSettingBox","commentSendIcon","closeCommentSetting","toggleCommentSetting","disableHide","commentFocusTimeout","openComment","querySelector","fill","sendComment","blur","replace","send","text","color","keyCode","fullScreen","handleKeyDown","tag","activeElement","tagName","toUpperCase","editable","getAttribute","preventDefault","hotkey","isFullScreen","cancel","menu","clientRect","getBoundingClientRect","menuLeft","left","menuTop","clientY","top","right","offsetHeight","bottom","trigger","switchQuality","screenshot","camareIcon","canvas","videoWidth","videoHeight","getContext","drawImage","dataURL","toDataURL","href","download","initVideo","Math","max","toFixed","ended","nostorage","isNaN","formatPercentage","balloon","danmakuAPI","poster","pic","src","url","initMSE","reload","exec","Hls","isSupported","hls","loadSource","attachMedia","flvjs","flvPlayer","createPlayer","attachMediaElement","load","_this2","buffered","end","danIndex","videoEvents","subtitle","_this3","switchingQuality","videoHTML","videoEle","DOMParser","parseFromString","firstChild","parent","insertBefore","getElementsByTagName","prevVideo","removeChild","timeTips","_this4","cumulativeOffset","offsetTop","px","tx","move","innerText","timeTipsDisplay","_this5","resize","_this6","arguments","undefined","noticeEle","noticeTime","defaultApiBackend","defaultOption","language","browserLanguage","toLowerCase","preload","volume-up","volume-down","volume-off","full","full-in","comment","comment-off","camera","iconsColor","contextmenu","defaultKey","fontSize","assign","concat","link","SendXMLHttpRequest","data","success","fail","xhr","XMLHttpRequest","onreadystatechange","readyState","status","response","JSON","parse","responseText","code","open","stringify","endpoint","danmakuData","alert","read","tranTxt","zh-cn","Danmaku is loading","Top","Bottom","Rolling","Input danmaku, hit Enter","About author","DPlayer feedback","About DPlayer","Loop","Speed","Opacity for danmaku","Normal","Please input danmaku content!","Set danmaku color","Set danmaku type","Show danmaku","This video fails to load","Switching to","Switched to","FF","REW","Unlimited danmaku","Send danmaku","Setting","Full screen","Web full screen","Send","Screenshot","zh-tw","html","logo","danmakumargin","margin","qualityList","contextmenuList","result","enableSubtitle","SvgSource","iconColor","_typeof","Symbol","iterator","constructor","Danmaku","danTunnel","dan","showing","_opacity","_measure","apiurl","endpoints","slice","push","_readAllEndpoints","results","apply","sort","a","b","frame","newAPI","clear","readCount","err","player","author","splice","htmlEncode","border","draw","item","items","itemHeight","danWidth","danHeight","itemY","danItemRight","ele","eleWidth","eleRight","danSpeed","getTunnel","tmp","_ret","v","j","danRight","toString","docFragment","createDocumentFragment","itemWidth","tunnel","transform","context","measureStyle","getComputedStyle","font","getPropertyValue","measureText","str","boolean","Thumbnails","backgroundImage","position","backgroundPosition","ceil","Events","playerEvents","info","indexOf","FullScreen","fullscreenchange","requestFullscreen","mozRequestFullScreen","webkitRequestFullscreen","webkitEnterFullscreen","cancelFullScreen","mozCancelFullScreen","webkitCancelFullScreen","request","User","storageName","init","Subtitle","textTracks","track","oncuechange","cue","activeCues","getCueAsHTML"],"mappings":"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","file":"DPlayer.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"DPlayer\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"DPlayer\"] = factory();\n\telse\n\t\troot[\"DPlayer\"] = factory();\n})(this, function() {\nreturn \n\n\n// WEBPACK FOOTER //\n// webpack/universalModuleDefinition","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"DPlayer\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"DPlayer\"] = factory();\n\telse\n\t\troot[\"DPlayer\"] = factory();\n})(this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"/\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 1);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nmodule.exports = {\n secondToTime: function secondToTime(second) {\n var add0 = function add0(num) {\n return num < 10 ? '0' + num : '' + num;\n };\n var min = parseInt(second / 60);\n var sec = parseInt(second - min * 60);\n return add0(min) + ':' + add0(sec);\n },\n getElementViewLeft: function getElementViewLeft(element) {\n var actualLeft = element.offsetLeft;\n var current = element.offsetParent;\n var elementScrollLeft = document.body.scrollLeft + document.documentElement.scrollLeft;\n if (!document.fullscreenElement && !document.mozFullScreenElement && !document.webkitFullscreenElement) {\n while (current !== null) {\n actualLeft += current.offsetLeft;\n current = current.offsetParent;\n }\n } else {\n while (current !== null && current !== element) {\n actualLeft += current.offsetLeft;\n current = current.offsetParent;\n }\n }\n return actualLeft - elementScrollLeft;\n },\n isMobile: /mobile/i.test(window.navigator.userAgent),\n storage: {\n set: function set(key, value) {\n localStorage.setItem(key, value);\n },\n get: function get(key) {\n return localStorage.getItem(key);\n }\n }\n};\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nconsole.log('\\n' + ' %c DPlayer ' + \"1.12.0\" + ' ' + \"7d1b719\" + ' %c http://dplayer.js.org ' + '\\n' + '\\n', 'color: #fadfa3; background: #030307; padding:5px 0;', 'background: #fadfa3; padding:5px 0;');\nmodule.exports = __webpack_require__(2);\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n__webpack_require__(3);\nvar _utils = __webpack_require__(0);\nvar _utils2 = _interopRequireDefault(_utils);\nvar _options = __webpack_require__(4);\nvar _options2 = _interopRequireDefault(_options);\nvar _i18n = __webpack_require__(6);\nvar _i18n2 = _interopRequireDefault(_i18n);\nvar _html = __webpack_require__(7);\nvar _html2 = _interopRequireDefault(_html);\nvar _svg = __webpack_require__(8);\nvar _svg2 = _interopRequireDefault(_svg);\nvar _danmaku = __webpack_require__(9);\nvar _danmaku2 = _interopRequireDefault(_danmaku);\nvar _thumbnails = __webpack_require__(10);\nvar _thumbnails2 = _interopRequireDefault(_thumbnails);\nvar _events = __webpack_require__(11);\nvar _events2 = _interopRequireDefault(_events);\nvar _fullscreen = __webpack_require__(12);\nvar _fullscreen2 = _interopRequireDefault(_fullscreen);\nvar _user = __webpack_require__(13);\nvar _user2 = _interopRequireDefault(_user);\nvar _subtitle = __webpack_require__(14);\nvar _subtitle2 = _interopRequireDefault(_subtitle);\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nvar index = 0;\nvar DPlayer = function () {\n function DPlayer(options) {\n var _this = this;\n _classCallCheck(this, DPlayer);\n this.options = (0, _options2.default)(options);\n this.options.container.classList.add('dplayer');\n if (this.options.video.quality) {\n this.qualityIndex = this.options.video.defaultQuality;\n this.quality = this.options.video.quality[this.options.video.defaultQuality];\n }\n this.tran = new _i18n2.default(this.options.lang).tran;\n this.icons = new _svg2.default(this.options);\n this.events = new _events2.default();\n this.user = new _user2.default(this);\n this.container = this.options.container;\n if (!this.options.danmaku) {\n this.container.classList.add('dplayer-no-danmaku');\n }\n if (_utils.isMobile) {\n this.container.classList.add('dplayer-mobile');\n }\n this.container.innerHTML = _html2.default.main(this.options, index, this.tran, this.icons);\n var bar = {};\n bar.volumeBar = this.container.getElementsByClassName('dplayer-volume-bar-inner')[0];\n bar.playedBar = this.container.getElementsByClassName('dplayer-played')[0];\n bar.loadedBar = this.container.getElementsByClassName('dplayer-loaded')[0];\n var pbar = this.container.getElementsByClassName('dplayer-bar-wrap')[0];\n var pbarTimeTips = this.container.getElementsByClassName('dplayer-bar-time')[0];\n var barWidth = void 0;\n this.updateBar = function (type, percentage, direction) {\n percentage = percentage > 0 ? percentage : 0;\n percentage = percentage < 1 ? percentage : 1;\n bar[type + 'Bar'].style[direction] = percentage * 100 + '%';\n };\n document.addEventListener('click', function () {\n _this.focus = false;\n }, true);\n this.container.addEventListener('click', function () {\n _this.focus = true;\n }, true);\n if (this.options.danmaku) {\n this.danmaku = new _danmaku2.default({\n container: this.container.getElementsByClassName('dplayer-danmaku')[0],\n opacity: this.user.get('opacity'),\n callback: function callback() {\n _this.container.getElementsByClassName('dplayer-danloading')[0].style.display = 'none';\n if (_this.options.autoplay && !_utils.isMobile) {\n _this.play();\n } else if (_utils.isMobile) {\n _this.pause();\n }\n },\n error: function error(msg) {\n _this.notice(msg);\n },\n apiBackend: this.options.apiBackend,\n borderColor: this.options.theme,\n height: this.arrow ? 24 : 30,\n time: function time() {\n return _this.video.currentTime;\n },\n unlimited: this.user.get('unlimited'),\n api: {\n id: this.options.danmaku.id,\n address: this.options.danmaku.api,\n token: this.options.danmaku.token,\n maximum: this.options.danmaku.maximum,\n addition: this.options.danmaku.addition,\n user: this.options.danmaku.user\n },\n events: this.events\n });\n }\n this.arrow = this.container.offsetWidth <= 500;\n if (this.arrow) {\n var arrowStyle = document.createElement('style');\n arrowStyle.innerHTML = '.dplayer .dplayer-danmaku{font-size:18px}';\n document.head.appendChild(arrowStyle);\n }\n this.video = this.container.getElementsByClassName('dplayer-video-current')[0];\n this.bezel = this.container.getElementsByClassName('dplayer-bezel-icon')[0];\n this.bezel.addEventListener('animationend', function () {\n _this.bezel.classList.remove('dplayer-bezel-transition');\n });\n this.playButton = this.container.getElementsByClassName('dplayer-play-icon')[0];\n this.paused = true;\n this.playButton.addEventListener('click', function () {\n _this.toggle();\n });\n var videoWrap = this.container.getElementsByClassName('dplayer-video-wrap')[0];\n var conMask = this.container.getElementsByClassName('dplayer-controller-mask')[0];\n if (!_utils.isMobile) {\n videoWrap.addEventListener('click', function () {\n _this.toggle();\n });\n conMask.addEventListener('click', function () {\n _this.toggle();\n });\n } else {\n var toggleController = function toggleController() {\n if (_this.container.classList.contains('dplayer-hide-controller')) {\n _this.container.classList.remove('dplayer-hide-controller');\n } else {\n _this.container.classList.add('dplayer-hide-controller');\n }\n };\n videoWrap.addEventListener('click', toggleController);\n conMask.addEventListener('click', toggleController);\n }\n var lastPlayPos = 0;\n var currentPlayPos = 0;\n var bufferingDetected = false;\n window.requestAnimationFrame = function () {\n return window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || window.oRequestAnimationFrame || window.msRequestAnimationFrame || function (callback) {\n window.setTimeout(callback, 1000 / 60);\n };\n }();\n var setCheckLoadingTime = function setCheckLoadingTime() {\n _this.checkLoading = setInterval(function () {\n currentPlayPos = _this.video.currentTime;\n if (!bufferingDetected && currentPlayPos === lastPlayPos && !_this.video.paused) {\n _this.container.classList.add('dplayer-loading');\n bufferingDetected = true;\n }\n if (bufferingDetected && currentPlayPos > lastPlayPos && !_this.video.paused) {\n _this.container.classList.remove('dplayer-loading');\n bufferingDetected = false;\n }\n lastPlayPos = currentPlayPos;\n }, 100);\n };\n var clearCheckLoadingTime = function clearCheckLoadingTime() {\n clearInterval(_this.checkLoading);\n };\n this.playedTime = false;\n this.animationFrame = function () {\n if (_this.playedTime) {\n _this.updateBar('played', _this.video.currentTime / _this.video.duration, 'width');\n _this.container.getElementsByClassName('dplayer-ptime')[0].innerHTML = _utils2.default.secondToTime(_this.video.currentTime);\n }\n window.requestAnimationFrame(_this.animationFrame);\n };\n window.requestAnimationFrame(this.animationFrame);\n this.setTime = function (type) {\n if (!type) {\n _this.playedTime = true;\n setCheckLoadingTime();\n } else {\n _this[type + 'Time'] = true;\n if (type === 'played') {\n setCheckLoadingTime();\n }\n }\n };\n this.clearTime = function (type) {\n if (!type) {\n _this.playedTime = false;\n clearCheckLoadingTime();\n } else {\n _this[type + 'Time'] = false;\n if (type === 'played') {\n clearCheckLoadingTime();\n }\n }\n };\n if (this.options.video.thumbnails) {\n this.initThumbnails();\n }\n this.isTimeTipsShow = true;\n this.mouseHandler = this.mouseHandler(pbar, pbarTimeTips).bind(this);\n pbar.addEventListener('mousemove', this.mouseHandler);\n pbar.addEventListener('mouseenter', this.mouseHandler);\n pbar.addEventListener('mouseleave', this.mouseHandler);\n var thumbMove = function thumbMove(e) {\n var percentage = (e.clientX - _utils2.default.getElementViewLeft(pbar)) / barWidth;\n percentage = percentage > 0 ? percentage : 0;\n percentage = percentage < 1 ? percentage : 1;\n _this.updateBar('played', percentage, 'width');\n _this.container.getElementsByClassName('dplayer-ptime')[0].innerHTML = _utils2.default.secondToTime(percentage * _this.video.duration);\n };\n var thumbUp = function thumbUp(e) {\n document.removeEventListener('mouseup', thumbUp);\n document.removeEventListener('mousemove', thumbMove);\n var percentage = (e.clientX - _utils2.default.getElementViewLeft(pbar)) / barWidth;\n percentage = percentage > 0 ? percentage : 0;\n percentage = percentage < 1 ? percentage : 1;\n _this.updateBar('played', percentage, 'width');\n _this.seek(parseFloat(bar.playedBar.style.width) / 100 * _this.video.duration);\n _this.setTime();\n };\n pbar.addEventListener('mousedown', function () {\n barWidth = pbar.clientWidth;\n _this.clearTime();\n document.addEventListener('mousemove', thumbMove);\n document.addEventListener('mouseup', thumbUp);\n });\n var volumeEle = this.container.getElementsByClassName('dplayer-volume')[0];\n var volumeBarWrapWrap = this.container.getElementsByClassName('dplayer-volume-bar-wrap')[0];\n var volumeBarWrap = this.container.getElementsByClassName('dplayer-volume-bar')[0];\n var volumeicon = this.container.getElementsByClassName('dplayer-volume-icon')[0].getElementsByClassName('dplayer-icon-content')[0];\n var vWidth = 35;\n this.switchVolumeIcon = function () {\n if (_this.volume() >= 0.95) {\n volumeicon.innerHTML = _this.icons.get('volume-up');\n } else if (_this.volume() > 0) {\n volumeicon.innerHTML = _this.icons.get('volume-down');\n } else {\n volumeicon.innerHTML = _this.icons.get('volume-off');\n }\n };\n var volumeMove = function volumeMove(event) {\n var e = event || window.event;\n var percentage = (e.clientX - _utils2.default.getElementViewLeft(volumeBarWrap) - 5.5) / vWidth;\n _this.volume(percentage);\n };\n var volumeUp = function volumeUp() {\n document.removeEventListener('mouseup', volumeUp);\n document.removeEventListener('mousemove', volumeMove);\n volumeEle.classList.remove('dplayer-volume-active');\n };\n volumeBarWrapWrap.addEventListener('click', function (event) {\n var e = event || window.event;\n var percentage = (e.clientX - _utils2.default.getElementViewLeft(volumeBarWrap) - 5.5) / vWidth;\n _this.volume(percentage);\n });\n volumeBarWrapWrap.addEventListener('mousedown', function () {\n document.addEventListener('mousemove', volumeMove);\n document.addEventListener('mouseup', volumeUp);\n volumeEle.classList.add('dplayer-volume-active');\n });\n volumeicon.addEventListener('click', function () {\n if (_this.video.muted) {\n _this.video.muted = false;\n _this.switchVolumeIcon();\n _this.updateBar('volume', _this.volume(), 'width');\n } else {\n _this.video.muted = true;\n volumeicon.innerHTML = _this.icons.get('volume-off');\n _this.updateBar('volume', 0, 'width');\n }\n });\n this.hideTime = 0;\n var hideController = function hideController() {\n _this.container.classList.remove('dplayer-hide-controller');\n clearTimeout(_this.hideTime);\n _this.hideTime = setTimeout(function () {\n if (_this.video.played.length) {\n _this.container.classList.add('dplayer-hide-controller');\n closeSetting();\n closeComment();\n }\n }, 2000);\n };\n if (!_utils.isMobile) {\n this.container.addEventListener('mousemove', hideController);\n this.container.addEventListener('click', hideController);\n }\n var settingHTML = _html2.default.setting(this.tran, this.icons);\n var settingIcon = this.container.getElementsByClassName('dplayer-setting-icon')[0];\n var settingBox = this.container.getElementsByClassName('dplayer-setting-box')[0];\n var mask = this.container.getElementsByClassName('dplayer-mask')[0];\n settingBox.innerHTML = settingHTML.original;\n var closeSetting = function closeSetting() {\n if (settingBox.classList.contains('dplayer-setting-box-open')) {\n settingBox.classList.remove('dplayer-setting-box-open');\n mask.classList.remove('dplayer-mask-show');\n setTimeout(function () {\n settingBox.classList.remove('dplayer-setting-box-narrow');\n settingBox.innerHTML = settingHTML.original;\n settingEvent();\n }, 300);\n }\n };\n var openSetting = function openSetting() {\n settingBox.classList.add('dplayer-setting-box-open');\n mask.classList.add('dplayer-mask-show');\n };\n mask.addEventListener('click', function () {\n closeSetting();\n });\n settingIcon.addEventListener('click', function () {\n openSetting();\n });\n this.loop = this.options.loop;\n var showdan = this.user.get('danmaku');\n if (!showdan) {\n this.danmaku && this.danmaku.hide();\n }\n var unlimitDan = this.user.get('unlimited');\n var settingEvent = function settingEvent() {\n var loopEle = _this.container.getElementsByClassName('dplayer-setting-loop')[0];\n var loopToggle = loopEle.getElementsByClassName('dplayer-toggle-setting-input')[0];\n loopToggle.checked = _this.loop;\n loopEle.addEventListener('click', function () {\n loopToggle.checked = !loopToggle.checked;\n if (loopToggle.checked) {\n _this.loop = true;\n } else {\n _this.loop = false;\n }\n closeSetting();\n });\n var showDanEle = _this.container.getElementsByClassName('dplayer-setting-showdan')[0];\n var showDanToggle = showDanEle.getElementsByClassName('dplayer-showdan-setting-input')[0];\n showDanToggle.checked = showdan;\n showDanEle.addEventListener('click', function () {\n showDanToggle.checked = !showDanToggle.checked;\n if (showDanToggle.checked) {\n showdan = true;\n if (!_this.paused) {\n _this.danmaku.show();\n }\n } else {\n showdan = false;\n _this.danmaku.hide();\n }\n _this.user.set('danmaku', showdan ? 1 : 0);\n closeSetting();\n });\n var unlimitDanEle = _this.container.getElementsByClassName('dplayer-setting-danunlimit')[0];\n var unlimitDanToggle = unlimitDanEle.getElementsByClassName('dplayer-danunlimit-setting-input')[0];\n unlimitDanToggle.checked = unlimitDan;\n unlimitDanEle.addEventListener('click', function () {\n unlimitDanToggle.checked = !unlimitDanToggle.checked;\n if (unlimitDanToggle.checked) {\n unlimitDan = true;\n _this.danmaku.unlimit(true);\n } else {\n unlimitDan = false;\n _this.danmaku.unlimit(false);\n }\n _this.user.set('unlimited', unlimitDan ? 1 : 0);\n closeSetting();\n });\n var speedEle = _this.container.getElementsByClassName('dplayer-setting-speed')[0];\n speedEle.addEventListener('click', function () {\n settingBox.classList.add('dplayer-setting-box-narrow');\n settingBox.innerHTML = settingHTML.speed;\n var speedItem = settingBox.getElementsByClassName('dplayer-setting-speed-item');\n var _loop = function _loop(i) {\n speedItem[i].addEventListener('click', function () {\n _this.video.playbackRate = speedItem[i].dataset.speed;\n closeSetting();\n });\n };\n for (var i = 0; i < speedItem.length; i++) {\n _loop(i);\n }\n });\n if (_this.danmaku) {\n bar.danmakuBar = _this.container.getElementsByClassName('dplayer-danmaku-bar-inner')[0];\n var danmakuBarWrapWrap = _this.container.getElementsByClassName('dplayer-danmaku-bar-wrap')[0];\n var danmakuBarWrap = _this.container.getElementsByClassName('dplayer-danmaku-bar')[0];\n var danmakuSettingBox = _this.container.getElementsByClassName('dplayer-setting-danmaku')[0];\n var dWidth = 130;\n _this.on('danmaku_opacity', function (percentage) {\n _this.updateBar('danmaku', percentage, 'width');\n _this.user.set('opacity', percentage);\n });\n _this.danmaku.opacity(_this.user.get('opacity'));\n var danmakuMove = function danmakuMove(event) {\n var e = event || window.event;\n var percentage = (e.clientX - _utils2.default.getElementViewLeft(danmakuBarWrap)) / dWidth;\n percentage = percentage > 0 ? percentage : 0;\n percentage = percentage < 1 ? percentage : 1;\n _this.danmaku.opacity(percentage);\n };\n var danmakuUp = function danmakuUp() {\n document.removeEventListener('mouseup', danmakuUp);\n document.removeEventListener('mousemove', danmakuMove);\n danmakuSettingBox.classList.remove('dplayer-setting-danmaku-active');\n };\n danmakuBarWrapWrap.addEventListener('click', function (event) {\n var e = event || window.event;\n var percentage = (e.clientX - _utils2.default.getElementViewLeft(danmakuBarWrap)) / dWidth;\n percentage = percentage > 0 ? percentage : 0;\n percentage = percentage < 1 ? percentage : 1;\n _this.danmaku.opacity(percentage);\n });\n danmakuBarWrapWrap.addEventListener('mousedown', function () {\n document.addEventListener('mousemove', danmakuMove);\n document.addEventListener('mouseup', danmakuUp);\n danmakuSettingBox.classList.add('dplayer-setting-danmaku-active');\n });\n }\n };\n settingEvent();\n if (this.video.duration !== 1) {\n this.container.getElementsByClassName('dplayer-dtime')[0].innerHTML = this.video.duration ? _utils2.default.secondToTime(this.video.duration) : '00:00';\n }\n if (!this.danmaku) {\n if (this.options.autoplay && !_utils.isMobile) {\n this.play();\n } else if (_utils.isMobile) {\n this.pause();\n }\n }\n var commentInput = this.container.getElementsByClassName('dplayer-comment-input')[0];\n var commentIcon = this.container.getElementsByClassName('dplayer-comment-icon')[0];\n var commentBox = this.container.getElementsByClassName('dplayer-comment-box')[0];\n var commentSettingIcon = this.container.getElementsByClassName('dplayer-comment-setting-icon')[0];\n var commentSettingBox = this.container.getElementsByClassName('dplayer-comment-setting-box')[0];\n var commentSendIcon = this.container.getElementsByClassName('dplayer-send-icon')[0];\n var closeCommentSetting = function closeCommentSetting() {\n if (commentSettingBox.classList.contains('dplayer-comment-setting-open')) {\n commentSettingBox.classList.remove('dplayer-comment-setting-open');\n }\n };\n var toggleCommentSetting = function toggleCommentSetting() {\n if (commentSettingBox.classList.contains('dplayer-comment-setting-open')) {\n commentSettingBox.classList.remove('dplayer-comment-setting-open');\n } else {\n commentSettingBox.classList.add('dplayer-comment-setting-open');\n }\n };\n var disableHide = 0;\n var commentFocusTimeout = 0;\n var closeComment = function closeComment() {\n if (!commentBox.classList.contains('dplayer-comment-box-open')) {\n return;\n }\n commentBox.classList.remove('dplayer-comment-box-open');\n mask.classList.remove('dplayer-mask-show');\n _this.container.classList.remove('dplayer-show-controller');\n clearInterval(disableHide);\n clearTimeout(commentFocusTimeout);\n closeCommentSetting();\n };\n var openComment = function openComment() {\n if (commentBox.classList.contains('dplayer-comment-box-open')) {\n return;\n }\n commentBox.classList.add('dplayer-comment-box-open');\n mask.classList.add('dplayer-mask-show');\n _this.container.classList.add('dplayer-show-controller');\n disableHide = setInterval(function () {\n clearTimeout(_this.hideTime);\n }, 1000);\n commentFocusTimeout = setTimeout(function () {\n commentInput.focus();\n }, 300);\n };\n mask.addEventListener('click', function () {\n closeComment();\n });\n commentIcon.addEventListener('click', function () {\n openComment();\n });\n commentSettingIcon.addEventListener('click', function () {\n toggleCommentSetting();\n });\n this.container.getElementsByClassName('dplayer-comment-setting-color')[0].addEventListener('click', function () {\n var sele = _this.container.querySelector('input[name=\"dplayer-danmaku-color-${index}\"]:checked+span');\n if (sele) {\n commentSettingIcon.getElementsByClassName('dplayer-fill')[0].style.fill = _this.container.querySelector('input[name=\"dplayer-danmaku-color-${index}\"]:checked').value;\n }\n });\n var sendComment = function sendComment() {\n commentInput.blur();\n if (!commentInput.value.replace(/^\\s+|\\s+$/g, '')) {\n _this.notice(_this.tran('Please input danmaku content!'));\n return;\n }\n _this.danmaku.send({\n text: commentInput.value,\n color: _this.container.querySelector('.dplayer-comment-setting-color input:checked').value,\n type: _this.container.querySelector('.dplayer-comment-setting-type input:checked').value\n }, function () {\n commentInput.value = '';\n closeComment();\n });\n };\n commentInput.addEventListener('click', function () {\n closeCommentSetting();\n });\n commentInput.addEventListener('keydown', function (e) {\n var event = e || window.event;\n if (event.keyCode === 13) {\n sendComment();\n }\n });\n commentSendIcon.addEventListener('click', sendComment);\n this.fullScreen = new _fullscreen2.default(this);\n this.container.getElementsByClassName('dplayer-full-icon')[0].addEventListener('click', function () {\n _this.fullScreen.toggle('browser');\n });\n this.container.getElementsByClassName('dplayer-full-in-icon')[0].addEventListener('click', function () {\n _this.fullScreen.toggle('web');\n });\n var handleKeyDown = function handleKeyDown(e) {\n if (_this.focus) {\n var tag = document.activeElement.tagName.toUpperCase();\n var editable = document.activeElement.getAttribute('contenteditable');\n if (tag !== 'INPUT' && tag !== 'TEXTAREA' && editable !== '' && editable !== 'true') {\n var event = e || window.event;\n var percentage = void 0;\n switch (event.keyCode) {\n case 32:\n event.preventDefault();\n _this.toggle();\n break;\n case 37:\n event.preventDefault();\n _this.seek(_this.video.currentTime - 5);\n hideController();\n break;\n case 39:\n event.preventDefault();\n _this.seek(_this.video.currentTime + 5);\n hideController();\n break;\n case 38:\n event.preventDefault();\n percentage = _this.volume() + 0.1;\n _this.volume(percentage);\n break;\n case 40:\n event.preventDefault();\n percentage = _this.volume() - 0.1;\n _this.volume(percentage);\n break;\n }\n }\n }\n };\n if (this.options.hotkey) {\n document.addEventListener('keydown', handleKeyDown);\n }\n document.addEventListener('keydown', function (e) {\n var event = e || window.event;\n switch (event.keyCode) {\n case 27:\n if (_this.fullScreen.isFullScreen('web')) {\n _this.fullScreen.cancel('web');\n }\n break;\n }\n });\n var menu = this.container.getElementsByClassName('dplayer-menu')[0];\n this.container.addEventListener('contextmenu', function (e) {\n var event = e || window.event;\n event.preventDefault();\n menu.classList.add('dplayer-menu-show');\n var clientRect = _this.container.getBoundingClientRect();\n var menuLeft = event.clientX - clientRect.left;\n var menuTop = event.clientY - clientRect.top;\n if (menuLeft + menu.offsetWidth >= clientRect.width) {\n menu.style.right = clientRect.width - menuLeft + 'px';\n menu.style.left = 'initial';\n } else {\n menu.style.left = event.clientX - _this.container.getBoundingClientRect().left + 'px';\n menu.style.right = 'initial';\n }\n if (menuTop + menu.offsetHeight >= clientRect.height) {\n menu.style.bottom = clientRect.height - menuTop + 'px';\n menu.style.top = 'initial';\n } else {\n menu.style.top = event.clientY - _this.container.getBoundingClientRect().top + 'px';\n menu.style.bottom = 'initial';\n }\n mask.classList.add('dplayer-mask-show');\n _this.events.trigger('contextmenu_show');\n mask.addEventListener('click', function () {\n mask.classList.remove('dplayer-mask-show');\n menu.classList.remove('dplayer-menu-show');\n _this.events.trigger('contextmenu_hide');\n });\n });\n if (this.options.video.quality) {\n this.container.getElementsByClassName('dplayer-quality-list')[0].addEventListener('click', function (e) {\n if (e.target.classList.contains('dplayer-quality-item')) {\n _this.switchQuality(e.target.dataset.index);\n }\n });\n }\n if (this.options.screenshot) {\n var camareIcon = this.container.getElementsByClassName('dplayer-camera-icon')[0];\n camareIcon.addEventListener('click', function () {\n var canvas = document.createElement('canvas');\n canvas.width = _this.video.videoWidth;\n canvas.height = _this.video.videoHeight;\n canvas.getContext('2d').drawImage(_this.video, 0, 0, canvas.width, canvas.height);\n var dataURL = canvas.toDataURL();\n camareIcon.href = dataURL;\n camareIcon.download = 'DPlayer.png';\n _this.events.trigger('screenshot', dataURL);\n });\n }\n this.initVideo(this.video, this.quality && this.quality.type || this.options.video.type);\n index++;\n }\n _createClass(DPlayer, [\n {\n key: 'seek',\n value: function seek(time) {\n time = Math.max(time, 0);\n if (this.video.duration) {\n time = Math.min(time, this.video.duration);\n }\n if (this.video.currentTime < time) {\n this.notice(this.tran('FF') + ' ' + (time - this.video.currentTime).toFixed(0) + ' ' + this.tran('s'));\n } else if (this.video.currentTime > time) {\n this.notice(this.tran('REW') + ' ' + (this.video.currentTime - time).toFixed(0) + ' ' + this.tran('s'));\n }\n this.video.currentTime = time;\n if (this.danmaku) {\n this.danmaku.seek();\n }\n this.updateBar('played', time / this.video.duration, 'width');\n }\n },\n {\n key: 'play',\n value: function play() {\n this.paused = false;\n if (this.video.paused) {\n this.bezel.innerHTML = this.icons.get('play');\n this.bezel.classList.add('dplayer-bezel-transition');\n }\n this.playButton.innerHTML = this.icons.get('pause');\n this.video.play();\n this.setTime();\n this.container.classList.add('dplayer-playing');\n if (this.danmaku) {\n this.danmaku.play();\n }\n }\n },\n {\n key: 'pause',\n value: function pause() {\n this.paused = true;\n this.container.classList.remove('dplayer-loading');\n if (!this.video.paused) {\n this.bezel.innerHTML = this.icons.get('pause');\n this.bezel.classList.add('dplayer-bezel-transition');\n }\n this.ended = false;\n this.playButton.innerHTML = this.icons.get('play');\n this.video.pause();\n this.clearTime();\n this.container.classList.remove('dplayer-playing');\n if (this.danmaku) {\n this.danmaku.pause();\n }\n }\n },\n {\n key: 'volume',\n value: function volume(percentage, nostorage) {\n percentage = parseFloat(percentage);\n if (!isNaN(percentage)) {\n percentage = percentage > 0 ? percentage : 0;\n percentage = percentage < 1 ? percentage : 1;\n this.updateBar('volume', percentage, 'width');\n var formatPercentage = (percentage * 100).toFixed(0) + '%';\n this.container.getElementsByClassName('dplayer-volume-bar-wrap')[0].dataset.balloon = formatPercentage;\n if (!nostorage) {\n this.user.set('volume', percentage);\n }\n this.video.volume = percentage;\n if (this.video.muted) {\n this.video.muted = false;\n }\n this.switchVolumeIcon();\n }\n return this.video.volume;\n }\n },\n {\n key: 'toggle',\n value: function toggle() {\n if (this.video.paused) {\n this.play();\n } else {\n this.pause();\n }\n }\n },\n {\n key: 'on',\n value: function on(name, callback) {\n this.events.on(name, callback);\n }\n },\n {\n key: 'switchVideo',\n value: function switchVideo(video, danmakuAPI) {\n this.pause();\n this.video.poster = video.pic ? video.pic : '';\n this.video.src = video.url;\n this.initMSE(this.video, video.type || 'auto');\n if (danmakuAPI) {\n this.container.getElementsByClassName('dplayer-danloading')[0].style.display = 'block';\n this.updateBar('played', 0, 'width');\n this.updateBar('loaded', 0, 'width');\n this.container.getElementsByClassName('dplayer-ptime')[0].innerHTML = '00:00';\n this.container.getElementsByClassName('dplayer-danmaku')[0].innerHTML = '';\n if (this.danmaku) {\n this.danmaku.reload({\n id: danmakuAPI.id,\n address: danmakuAPI.api,\n token: danmakuAPI.token,\n maximum: danmakuAPI.maximum,\n addition: danmakuAPI.addition,\n user: danmakuAPI.user\n });\n }\n }\n }\n },\n {\n key: 'initMSE',\n value: function initMSE(video, type) {\n this.type = type;\n if (this.type === 'auto') {\n if (/m3u8(#|\\?|$)/i.exec(video.src)) {\n this.type = 'hls';\n } else if (/.flv(#|\\?|$)/i.exec(video.src)) {\n this.type = 'flv';\n } else {\n this.type = 'normal';\n }\n }\n if (this.type === 'hls' && Hls.isSupported()) {\n var hls = new Hls();\n hls.loadSource(video.src);\n hls.attachMedia(video);\n }\n if (this.type === 'flv' && flvjs.isSupported()) {\n var flvPlayer = flvjs.createPlayer({\n type: 'flv',\n url: video.src\n });\n flvPlayer.attachMediaElement(video);\n flvPlayer.load();\n }\n }\n },\n {\n key: 'initVideo',\n value: function initVideo(video, type) {\n var _this2 = this;\n this.initMSE(video, type);\n this.on('durationchange', function () {\n if (video.duration !== 1) {\n _this2.container.getElementsByClassName('dplayer-dtime')[0].innerHTML = _utils2.default.secondToTime(video.duration);\n }\n });\n this.on('progress', function () {\n var percentage = video.buffered.length ? video.buffered.end(video.buffered.length - 1) / video.duration : 0;\n _this2.updateBar('loaded', percentage, 'width');\n });\n this.on('error', function () {\n _this2.tran && _this2.notice && _this2.notice(_this2.tran('This video fails to load'), -1);\n });\n this.ended = false;\n this.on('ended', function () {\n _this2.updateBar('played', 1, 'width');\n if (!_this2.loop) {\n _this2.ended = true;\n _this2.pause();\n } else {\n _this2.seek(0);\n video.play();\n }\n if (_this2.danmaku) {\n _this2.danmaku.danIndex = 0;\n }\n });\n this.on('play', function () {\n if (_this2.paused) {\n _this2.play();\n }\n });\n this.on('pause', function () {\n if (!_this2.paused) {\n _this2.pause();\n }\n });\n var _loop2 = function _loop2(i) {\n video.addEventListener(_this2.events.videoEvents[i], function () {\n _this2.events.trigger(_this2.events.videoEvents[i]);\n });\n };\n for (var i = 0; i < this.events.videoEvents.length; i++) {\n _loop2(i);\n }\n this.volume(this.user.get('volume'), true);\n if (this.options.subtitle) {\n this.subtitle = new _subtitle2.default(this.container.getElementsByClassName('dplayer-subtitle')[0], this.video, this.options.subtitle);\n }\n }\n },\n {\n key: 'switchQuality',\n value: function switchQuality(index) {\n var _this3 = this;\n if (this.qualityIndex === index || this.switchingQuality) {\n return;\n } else {\n this.qualityIndex = index;\n }\n this.switchingQuality = true;\n this.quality = this.options.video.quality[index];\n this.container.getElementsByClassName('dplayer-quality-icon')[0].innerHTML = this.quality.name;\n var paused = this.video.paused;\n this.video.pause();\n var videoHTML = _html2.default.video(false, null, this.options.screenshot, 'auto', this.quality.url, this.options.subtitle);\n var videoEle = new DOMParser().parseFromString(videoHTML, 'text/html').body.firstChild;\n var parent = this.container.getElementsByClassName('dplayer-video-wrap')[0];\n parent.insertBefore(videoEle, parent.getElementsByTagName('div')[0]);\n this.prevVideo = this.video;\n this.video = videoEle;\n this.initVideo(this.video, this.quality.type || this.options.video.type);\n this.seek(this.prevVideo.currentTime);\n this.notice(this.tran('Switching to') + ' ' + this.quality.name + ' ' + this.tran('quality'), -1);\n this.events.trigger('quality_start', this.quality);\n this.on('canplay', function () {\n if (_this3.prevVideo) {\n if (_this3.video.currentTime !== _this3.prevVideo.currentTime) {\n _this3.seek(_this3.prevVideo.currentTime);\n return;\n }\n parent.removeChild(_this3.prevVideo);\n _this3.video.classList.add('dplayer-video-current');\n if (!paused) {\n _this3.video.play();\n }\n _this3.prevVideo = null;\n _this3.notice(_this3.tran('Switched to') + ' ' + _this3.quality.name + ' ' + _this3.tran('quality'));\n _this3.switchingQuality = false;\n _this3.events.trigger('quality_end');\n }\n });\n }\n },\n {\n key: 'mouseHandler',\n value: function mouseHandler(pbar, timeTips) {\n var _this4 = this;\n var cumulativeOffset = function cumulativeOffset(element) {\n var top = 0, left = 0;\n do {\n top += element.offsetTop || 0;\n left += element.offsetLeft || 0;\n element = element.offsetParent;\n } while (element);\n return {\n top: top,\n left: left\n };\n };\n return function (e) {\n if (!_this4.video.duration) {\n return;\n }\n var clientX = e.clientX;\n var px = cumulativeOffset(pbar).left;\n var tx = clientX - px;\n if (tx < 0 || tx > pbar.offsetWidth) {\n return;\n }\n var time = _this4.video.duration * (tx / pbar.offsetWidth);\n timeTips.style.left = tx - 20 + 'px';\n switch (e.type) {\n case 'mouseenter':\n _this4.thumbnails && _this4.thumbnails.show();\n break;\n case 'mousemove':\n _this4.thumbnails && _this4.thumbnails.move(tx);\n timeTips.innerText = _utils2.default.secondToTime(time);\n _this4.timeTipsDisplay(true, timeTips);\n break;\n case 'mouseleave':\n _this4.thumbnails && _this4.thumbnails.hide();\n _this4.timeTipsDisplay(false, timeTips);\n break;\n }\n };\n }\n },\n {\n key: 'timeTipsDisplay',\n value: function timeTipsDisplay(show, timeTips) {\n if (show) {\n if (this.isTimeTipsShow) {\n return;\n }\n timeTips.classList.remove('hidden');\n this.isTimeTipsShow = true;\n } else {\n if (!this.isTimeTipsShow) {\n return;\n }\n timeTips.classList.add('hidden');\n this.isTimeTipsShow = false;\n }\n }\n },\n {\n key: 'initThumbnails',\n value: function initThumbnails() {\n var _this5 = this;\n this.thumbnails = new _thumbnails2.default(this.container.getElementsByClassName('dplayer-bar-preview')[0], this.container.getElementsByClassName('dplayer-bar-wrap')[0].offsetWidth, this.options.video.thumbnails, this.events);\n this.on('loadedmetadata', function () {\n _this5.thumbnails.resize(160, 90);\n });\n }\n },\n {\n key: 'notice',\n value: function notice(text) {\n var _this6 = this;\n var time = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 2000;\n var opacity = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0.8;\n var noticeEle = this.container.getElementsByClassName('dplayer-notice')[0];\n noticeEle.innerHTML = text;\n noticeEle.style.opacity = opacity;\n if (this.noticeTime) {\n clearTimeout(this.noticeTime);\n }\n this.events.trigger('notice_show', text);\n this.noticeTime = setTimeout(function () {\n noticeEle.style.opacity = 0;\n _this6.events.trigger('notice_hide');\n }, time);\n }\n },\n {\n key: 'resize',\n value: function resize() {\n if (this.danmaku) {\n this.danmaku.resize();\n }\n this.events.trigger('resize');\n }\n },\n {\n key: 'destroy',\n value: function destroy() {\n this.pause();\n clearTimeout(this.hideTime);\n this.video.src = '';\n this.container.innerHTML = '';\n this.events.trigger('destroy');\n for (var key in this) {\n if (this.hasOwnProperty(key) && key !== 'paused') {\n delete this[key];\n }\n }\n }\n }\n ]);\n return DPlayer;\n}();\nmodule.exports = DPlayer;\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar defaultApiBackend = __webpack_require__(5);\nmodule.exports = function (options) {\n var isMobile = /mobile/i.test(window.navigator.userAgent);\n if (isMobile) {\n options.autoplay = false;\n }\n var defaultOption = {\n container: options.element || document.getElementsByClassName('dplayer')[0],\n autoplay: false,\n theme: '#b7daff',\n loop: false,\n lang: (navigator.language || navigator.browserLanguage).toLowerCase(),\n screenshot: false,\n hotkey: true,\n preload: 'auto',\n volume: 0.7,\n apiBackend: defaultApiBackend,\n video: {},\n icons: {\n play: [\n '0 0 16 32',\n 'M15.552 15.168q0.448 0.32 0.448 0.832 0 0.448-0.448 0.768l-13.696 8.512q-0.768 0.512-1.312 0.192t-0.544-1.28v-16.448q0-0.96 0.544-1.28t1.312 0.192z'\n ],\n pause: [\n '0 0 17 32',\n 'M14.080 4.8q2.88 0 2.88 2.048v18.24q0 2.112-2.88 2.112t-2.88-2.112v-18.24q0-2.048 2.88-2.048zM2.88 4.8q2.88 0 2.88 2.048v18.24q0 2.112-2.88 2.112t-2.88-2.112v-18.24q0-2.048 2.88-2.048z'\n ],\n 'volume-up': [\n '0 0 21 32',\n 'M13.728 6.272v19.456q0 0.448-0.352 0.8t-0.8 0.32-0.8-0.32l-5.952-5.952h-4.672q-0.48 0-0.8-0.352t-0.352-0.8v-6.848q0-0.48 0.352-0.8t0.8-0.352h4.672l5.952-5.952q0.32-0.32 0.8-0.32t0.8 0.32 0.352 0.8zM20.576 16q0 1.344-0.768 2.528t-2.016 1.664q-0.16 0.096-0.448 0.096-0.448 0-0.8-0.32t-0.32-0.832q0-0.384 0.192-0.64t0.544-0.448 0.608-0.384 0.512-0.64 0.192-1.024-0.192-1.024-0.512-0.64-0.608-0.384-0.544-0.448-0.192-0.64q0-0.48 0.32-0.832t0.8-0.32q0.288 0 0.448 0.096 1.248 0.48 2.016 1.664t0.768 2.528zM25.152 16q0 2.72-1.536 5.056t-4 3.36q-0.256 0.096-0.448 0.096-0.48 0-0.832-0.352t-0.32-0.8q0-0.704 0.672-1.056 1.024-0.512 1.376-0.8 1.312-0.96 2.048-2.4t0.736-3.104-0.736-3.104-2.048-2.4q-0.352-0.288-1.376-0.8-0.672-0.352-0.672-1.056 0-0.448 0.32-0.8t0.8-0.352q0.224 0 0.48 0.096 2.496 1.056 4 3.36t1.536 5.056zM29.728 16q0 4.096-2.272 7.552t-6.048 5.056q-0.224 0.096-0.448 0.096-0.48 0-0.832-0.352t-0.32-0.8q0-0.64 0.704-1.056 0.128-0.064 0.384-0.192t0.416-0.192q0.8-0.448 1.44-0.896 2.208-1.632 3.456-4.064t1.216-5.152-1.216-5.152-3.456-4.064q-0.64-0.448-1.44-0.896-0.128-0.096-0.416-0.192t-0.384-0.192q-0.704-0.416-0.704-1.056 0-0.448 0.32-0.8t0.832-0.352q0.224 0 0.448 0.096 3.776 1.632 6.048 5.056t2.272 7.552z'\n ],\n 'volume-down': [\n '0 0 21 32',\n 'M13.728 6.272v19.456q0 0.448-0.352 0.8t-0.8 0.32-0.8-0.32l-5.952-5.952h-4.672q-0.48 0-0.8-0.352t-0.352-0.8v-6.848q0-0.48 0.352-0.8t0.8-0.352h4.672l5.952-5.952q0.32-0.32 0.8-0.32t0.8 0.32 0.352 0.8zM20.576 16q0 1.344-0.768 2.528t-2.016 1.664q-0.16 0.096-0.448 0.096-0.448 0-0.8-0.32t-0.32-0.832q0-0.384 0.192-0.64t0.544-0.448 0.608-0.384 0.512-0.64 0.192-1.024-0.192-1.024-0.512-0.64-0.608-0.384-0.544-0.448-0.192-0.64q0-0.48 0.32-0.832t0.8-0.32q0.288 0 0.448 0.096 1.248 0.48 2.016 1.664t0.768 2.528z'\n ],\n 'volume-off': [\n '0 0 21 32',\n 'M13.728 6.272v19.456q0 0.448-0.352 0.8t-0.8 0.32-0.8-0.32l-5.952-5.952h-4.672q-0.48 0-0.8-0.352t-0.352-0.8v-6.848q0-0.48 0.352-0.8t0.8-0.352h4.672l5.952-5.952q0.32-0.32 0.8-0.32t0.8 0.32 0.352 0.8z'\n ],\n loop: [\n '0 0 32 32',\n 'M1.882 16.941c0 4.152 3.221 7.529 7.177 7.529v1.882c-4.996 0-9.060-4.222-9.060-9.412s4.064-9.412 9.060-9.412h7.96l-3.098-3.098 1.331-1.331 5.372 5.37-5.37 5.372-1.333-1.333 3.1-3.098h-7.962c-3.957 0-7.177 3.377-7.177 7.529zM22.94 7.529v1.882c3.957 0 7.177 3.377 7.177 7.529s-3.221 7.529-7.177 7.529h-7.962l3.098-3.098-1.331-1.331-5.37 5.37 5.372 5.372 1.331-1.331-3.1-3.1h7.96c4.998 0 9.062-4.222 9.062-9.412s-4.064-9.412-9.060-9.412z'\n ],\n full: [\n '0 0 32 33',\n 'M6.667 28h-5.333c-0.8 0-1.333-0.533-1.333-1.333v-5.333c0-0.8 0.533-1.333 1.333-1.333s1.333 0.533 1.333 1.333v4h4c0.8 0 1.333 0.533 1.333 1.333s-0.533 1.333-1.333 1.333zM30.667 28h-5.333c-0.8 0-1.333-0.533-1.333-1.333s0.533-1.333 1.333-1.333h4v-4c0-0.8 0.533-1.333 1.333-1.333s1.333 0.533 1.333 1.333v5.333c0 0.8-0.533 1.333-1.333 1.333zM30.667 12c-0.8 0-1.333-0.533-1.333-1.333v-4h-4c-0.8 0-1.333-0.533-1.333-1.333s0.533-1.333 1.333-1.333h5.333c0.8 0 1.333 0.533 1.333 1.333v5.333c0 0.8-0.533 1.333-1.333 1.333zM1.333 12c-0.8 0-1.333-0.533-1.333-1.333v-5.333c0-0.8 0.533-1.333 1.333-1.333h5.333c0.8 0 1.333 0.533 1.333 1.333s-0.533 1.333-1.333 1.333h-4v4c0 0.8-0.533 1.333-1.333 1.333z'\n ],\n 'full-in': [\n '0 0 32 33',\n 'M24.965 24.38h-18.132c-1.366 0-2.478-1.113-2.478-2.478v-11.806c0-1.364 1.111-2.478 2.478-2.478h18.132c1.366 0 2.478 1.113 2.478 2.478v11.806c0 1.364-1.11 2.478-2.478 2.478zM6.833 10.097v11.806h18.134l-0.002-11.806h-18.132zM2.478 28.928h5.952c0.684 0 1.238-0.554 1.238-1.239 0-0.684-0.554-1.238-1.238-1.238h-5.952v-5.802c0-0.684-0.554-1.239-1.238-1.239s-1.239 0.556-1.239 1.239v5.802c0 1.365 1.111 2.478 2.478 2.478zM30.761 19.412c-0.684 0-1.238 0.554-1.238 1.238v5.801h-5.951c-0.686 0-1.239 0.554-1.239 1.238 0 0.686 0.554 1.239 1.239 1.239h5.951c1.366 0 2.478-1.111 2.478-2.478v-5.801c0-0.683-0.554-1.238-1.239-1.238zM0 5.55v5.802c0 0.683 0.554 1.238 1.238 1.238s1.238-0.555 1.238-1.238v-5.802h5.952c0.684 0 1.238-0.554 1.238-1.238s-0.554-1.238-1.238-1.238h-5.951c-1.366-0.001-2.478 1.111-2.478 2.476zM32 11.35v-5.801c0-1.365-1.11-2.478-2.478-2.478h-5.951c-0.686 0-1.239 0.554-1.239 1.238s0.554 1.238 1.239 1.238h5.951v5.801c0 0.683 0.554 1.237 1.238 1.237 0.686 0.002 1.239-0.553 1.239-1.236z'\n ],\n setting: [\n '0 0 32 28',\n 'M28.633 17.104c0.035 0.21 0.026 0.463-0.026 0.76s-0.14 0.598-0.262 0.904c-0.122 0.306-0.271 0.581-0.445 0.825s-0.367 0.419-0.576 0.524c-0.209 0.105-0.393 0.157-0.55 0.157s-0.332-0.035-0.524-0.105c-0.175-0.052-0.393-0.1-0.655-0.144s-0.528-0.052-0.799-0.026c-0.271 0.026-0.541 0.083-0.812 0.17s-0.502 0.236-0.694 0.445c-0.419 0.437-0.664 0.934-0.734 1.493s0.009 1.092 0.236 1.598c0.175 0.349 0.148 0.699-0.079 1.048-0.105 0.14-0.271 0.284-0.498 0.432s-0.476 0.284-0.747 0.406-0.555 0.218-0.851 0.288c-0.297 0.070-0.559 0.105-0.786 0.105-0.157 0-0.306-0.061-0.445-0.183s-0.236-0.253-0.288-0.393h-0.026c-0.192-0.541-0.52-1.009-0.982-1.402s-1-0.589-1.611-0.589c-0.594 0-1.131 0.197-1.611 0.589s-0.816 0.851-1.009 1.375c-0.087 0.21-0.218 0.362-0.393 0.458s-0.367 0.144-0.576 0.144c-0.244 0-0.52-0.044-0.825-0.131s-0.611-0.197-0.917-0.327c-0.306-0.131-0.581-0.284-0.825-0.458s-0.428-0.349-0.55-0.524c-0.087-0.122-0.135-0.266-0.144-0.432s0.057-0.397 0.197-0.694c0.192-0.402 0.266-0.86 0.223-1.375s-0.266-0.991-0.668-1.428c-0.244-0.262-0.541-0.432-0.891-0.511s-0.681-0.109-0.995-0.092c-0.367 0.017-0.742 0.087-1.127 0.21-0.244 0.070-0.489 0.052-0.734-0.052-0.192-0.070-0.371-0.231-0.537-0.485s-0.314-0.533-0.445-0.838c-0.131-0.306-0.231-0.62-0.301-0.943s-0.087-0.59-0.052-0.799c0.052-0.384 0.227-0.629 0.524-0.734 0.524-0.21 0.995-0.555 1.415-1.035s0.629-1.017 0.629-1.611c0-0.611-0.21-1.144-0.629-1.598s-0.891-0.786-1.415-0.996c-0.157-0.052-0.288-0.179-0.393-0.38s-0.157-0.406-0.157-0.616c0-0.227 0.035-0.48 0.105-0.76s0.162-0.55 0.275-0.812 0.244-0.502 0.393-0.72c0.148-0.218 0.31-0.38 0.485-0.485 0.14-0.087 0.275-0.122 0.406-0.105s0.275 0.052 0.432 0.105c0.524 0.21 1.070 0.275 1.637 0.197s1.070-0.327 1.506-0.747c0.21-0.209 0.362-0.467 0.458-0.773s0.157-0.607 0.183-0.904c0.026-0.297 0.026-0.568 0-0.812s-0.048-0.419-0.065-0.524c-0.035-0.105-0.066-0.227-0.092-0.367s-0.013-0.262 0.039-0.367c0.105-0.244 0.293-0.458 0.563-0.642s0.563-0.336 0.878-0.458c0.314-0.122 0.62-0.214 0.917-0.275s0.533-0.092 0.707-0.092c0.227 0 0.406 0.074 0.537 0.223s0.223 0.301 0.275 0.458c0.192 0.471 0.507 0.886 0.943 1.244s0.952 0.537 1.546 0.537c0.611 0 1.153-0.17 1.624-0.511s0.803-0.773 0.996-1.297c0.070-0.14 0.179-0.284 0.327-0.432s0.301-0.223 0.458-0.223c0.244 0 0.511 0.035 0.799 0.105s0.572 0.166 0.851 0.288c0.279 0.122 0.537 0.279 0.773 0.472s0.423 0.402 0.563 0.629c0.087 0.14 0.113 0.293 0.079 0.458s-0.070 0.284-0.105 0.354c-0.227 0.506-0.297 1.039-0.21 1.598s0.341 1.048 0.76 1.467c0.419 0.419 0.934 0.651 1.546 0.694s1.179-0.057 1.703-0.301c0.14-0.087 0.31-0.122 0.511-0.105s0.371 0.096 0.511 0.236c0.262 0.244 0.493 0.616 0.694 1.113s0.336 1 0.406 1.506c0.035 0.297-0.013 0.528-0.144 0.694s-0.266 0.275-0.406 0.327c-0.542 0.192-1.004 0.528-1.388 1.009s-0.576 1.026-0.576 1.637c0 0.594 0.162 1.113 0.485 1.559s0.747 0.764 1.27 0.956c0.122 0.070 0.227 0.14 0.314 0.21 0.192 0.157 0.323 0.358 0.393 0.602v0zM16.451 19.462c0.786 0 1.528-0.149 2.227-0.445s1.305-0.707 1.821-1.231c0.515-0.524 0.921-1.131 1.218-1.821s0.445-1.428 0.445-2.214c0-0.786-0.148-1.524-0.445-2.214s-0.703-1.292-1.218-1.808c-0.515-0.515-1.122-0.921-1.821-1.218s-1.441-0.445-2.227-0.445c-0.786 0-1.524 0.148-2.214 0.445s-1.292 0.703-1.808 1.218c-0.515 0.515-0.921 1.118-1.218 1.808s-0.445 1.428-0.445 2.214c0 0.786 0.149 1.524 0.445 2.214s0.703 1.297 1.218 1.821c0.515 0.524 1.118 0.934 1.808 1.231s1.428 0.445 2.214 0.445v0z'\n ],\n right: [\n '0 0 32 32',\n 'M22 16l-10.105-10.6-1.895 1.987 8.211 8.613-8.211 8.612 1.895 1.988 8.211-8.613z'\n ],\n comment: [\n '0 0 32 32',\n 'M27.128 0.38h-22.553c-2.336 0-4.229 1.825-4.229 4.076v16.273c0 2.251 1.893 4.076 4.229 4.076h4.229v-2.685h8.403l-8.784 8.072 1.566 1.44 7.429-6.827h9.71c2.335 0 4.229-1.825 4.229-4.076v-16.273c0-2.252-1.894-4.076-4.229-4.076zM28.538 19.403c0 1.5-1.262 2.717-2.819 2.717h-8.36l-0.076-0.070-0.076 0.070h-11.223c-1.557 0-2.819-1.217-2.819-2.717v-13.589c0-1.501 1.262-2.718 2.819-2.718h19.734c1.557 0 2.819-0.141 2.819 1.359v14.947zM9.206 10.557c-1.222 0-2.215 0.911-2.215 2.036s0.992 2.035 2.215 2.035c1.224 0 2.216-0.911 2.216-2.035s-0.992-2.036-2.216-2.036zM22.496 10.557c-1.224 0-2.215 0.911-2.215 2.036s0.991 2.035 2.215 2.035c1.224 0 2.215-0.911 2.215-2.035s-0.991-2.036-2.215-2.036zM15.852 10.557c-1.224 0-2.215 0.911-2.215 2.036s0.991 2.035 2.215 2.035c1.222 0 2.215-0.911 2.215-2.035s-0.992-2.036-2.215-2.036z'\n ],\n 'comment-off': [\n '0 0 32 32',\n 'M27.090 0.131h-22.731c-2.354 0-4.262 1.839-4.262 4.109v16.401c0 2.269 1.908 4.109 4.262 4.109h4.262v-2.706h8.469l-8.853 8.135 1.579 1.451 7.487-6.88h9.787c2.353 0 4.262-1.84 4.262-4.109v-16.401c0-2.27-1.909-4.109-4.262-4.109v0zM28.511 19.304c0 1.512-1.272 2.738-2.841 2.738h-8.425l-0.076-0.070-0.076 0.070h-11.311c-1.569 0-2.841-1.226-2.841-2.738v-13.696c0-1.513 1.272-2.739 2.841-2.739h19.889c1.569 0 2.841-0.142 2.841 1.37v15.064z'\n ],\n send: [\n '0 0 32 32',\n 'M13.725 30l3.9-5.325-3.9-1.125v6.45zM0 17.5l11.050 3.35 13.6-11.55-10.55 12.425 11.8 3.65 6.1-23.375-32 15.5z'\n ],\n menu: [\n '0 0 22 32',\n 'M20.8 14.4q0.704 0 1.152 0.48t0.448 1.12-0.48 1.12-1.12 0.48h-19.2q-0.64 0-1.12-0.48t-0.48-1.12 0.448-1.12 1.152-0.48h19.2zM1.6 11.2q-0.64 0-1.12-0.48t-0.48-1.12 0.448-1.12 1.152-0.48h19.2q0.704 0 1.152 0.48t0.448 1.12-0.48 1.12-1.12 0.48h-19.2zM20.8 20.8q0.704 0 1.152 0.48t0.448 1.12-0.48 1.12-1.12 0.48h-19.2q-0.64 0-1.12-0.48t-0.48-1.12 0.448-1.12 1.152-0.48h19.2z'\n ],\n camera: [\n '0 0 32 32',\n 'M16 23c-3.309 0-6-2.691-6-6s2.691-6 6-6 6 2.691 6 6-2.691 6-6 6zM16 13c-2.206 0-4 1.794-4 4s1.794 4 4 4c2.206 0 4-1.794 4-4s-1.794-4-4-4zM27 28h-22c-1.654 0-3-1.346-3-3v-16c0-1.654 1.346-3 3-3h3c0.552 0 1 0.448 1 1s-0.448 1-1 1h-3c-0.551 0-1 0.449-1 1v16c0 0.552 0.449 1 1 1h22c0.552 0 1-0.448 1-1v-16c0-0.551-0.448-1-1-1h-11c-0.552 0-1-0.448-1-1s0.448-1 1-1h11c1.654 0 3 1.346 3 3v16c0 1.654-1.346 3-3 3zM24 10.5c0 0.828 0.672 1.5 1.5 1.5s1.5-0.672 1.5-1.5c0-0.828-0.672-1.5-1.5-1.5s-1.5 0.672-1.5 1.5zM15 4c0 0.552-0.448 1-1 1h-4c-0.552 0-1-0.448-1-1v0c0-0.552 0.448-1 1-1h4c0.552 0 1 0.448 1 1v0z'\n ]\n },\n iconsColor: '#ffffff',\n contextmenu: []\n };\n for (var defaultKey in defaultOption) {\n if (defaultOption.hasOwnProperty(defaultKey) && !options.hasOwnProperty(defaultKey)) {\n options[defaultKey] = defaultOption[defaultKey];\n }\n }\n if (options.video) {\n !options.video.type && (options.video.type = 'auto');\n }\n if (options.danmaku) {\n !options.danmaku.user && (options.danmaku.user = 'DIYgod');\n }\n if (options.subtitle) {\n !options.subtitle.type && (options.subtitle.type = 'webvtt');\n !options.subtitle.fontSize && (options.subtitle.fontSize = '20px');\n !options.subtitle.bottom && (options.subtitle.bottom = '40px');\n !options.subtitle.color && (options.subtitle.color = '#fff');\n }\n if (options.video.quality) {\n options.video.url = [options.video.quality[options.video.defaultQuality].url];\n }\n if (options.lang) {\n options.lang = options.lang.toLowerCase();\n }\n if (options.icons) {\n options.icons = Object.assign({}, defaultOption.icons, options.icons);\n }\n options.contextmenu = options.contextmenu.concat([\n {\n text: 'About author',\n link: 'https://www.anotherhome.net/'\n },\n {\n text: 'About DPlayer',\n link: 'https://github.com/MoePlayer/DPlayer'\n },\n {\n text: 'DPlayer feedback',\n link: 'https://github.com/DIYgod/DPlayer/issues'\n },\n {\n text: 'DPlayer ' + \"1.12.0\" + ' ' + \"7d1b719\",\n link: 'https://github.com/MoePlayer/DPlayer/releases'\n }\n ]);\n return options;\n};\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar SendXMLHttpRequest = function SendXMLHttpRequest(url, data, success, error, fail) {\n var xhr = new XMLHttpRequest();\n xhr.onreadystatechange = function () {\n if (xhr.readyState === 4) {\n if (xhr.status >= 200 && xhr.status < 300 || xhr.status === 304) {\n var response = JSON.parse(xhr.responseText);\n if (response.code !== 1) {\n return error(xhr, response);\n }\n return success(xhr, response);\n }\n fail(xhr);\n }\n };\n xhr.open(data !== null ? 'POST' : 'GET', url, true);\n xhr.send(data !== null ? JSON.stringify(data) : null);\n};\nmodule.exports = {\n send: function send(endpoint, danmakuData, callback) {\n SendXMLHttpRequest(endpoint, danmakuData, function (xhr, response) {\n console.log('Post danmaku: ', response);\n if (callback) {\n callback();\n }\n }, function (xhr, response) {\n alert(response.msg);\n }, function (xhr) {\n console.log('Request was unsuccessful: ' + xhr.status);\n });\n },\n read: function read(endpoint, callback) {\n SendXMLHttpRequest(endpoint, null, function (xhr, response) {\n callback(null, response.danmaku);\n }, function (xhr, response) {\n callback({\n status: xhr.status,\n response: response\n });\n }, function (xhr) {\n callback({\n status: xhr.status,\n response: null\n });\n });\n }\n};\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nmodule.exports = function (lang) {\n var _this = this;\n this.lang = lang;\n this.tran = function (text) {\n if (tranTxt[_this.lang] && tranTxt[_this.lang][text]) {\n return tranTxt[_this.lang][text];\n } else {\n return text;\n }\n };\n};\nvar tranTxt = {\n 'zh-cn': {\n 'Danmaku is loading': '弹幕加载中',\n 'Top': '顶部',\n 'Bottom': '底部',\n 'Rolling': '滚动',\n 'Input danmaku, hit Enter': '输入弹幕\\uFF0C回车发送',\n 'About author': '关于作者',\n 'DPlayer feedback': '播放器意见反馈',\n 'About DPlayer': '关于 DPlayer 播放器',\n 'Loop': '洗脑循环',\n 'Speed': '速度',\n 'Opacity for danmaku': '弹幕透明度',\n 'Normal': '正常',\n 'Please input danmaku content!': '要输入弹幕内容啊喂\\uFF01',\n 'Set danmaku color': '设置弹幕颜色',\n 'Set danmaku type': '设置弹幕类型',\n 'Show danmaku': '显示弹幕',\n 'This video fails to load': '视频加载失败',\n 'Switching to': '正在切换至',\n 'Switched to': '已经切换至',\n 'quality': '画质',\n 'FF': '快进',\n 'REW': '快退',\n 'Unlimited danmaku': '海量弹幕',\n 'Send danmaku': '发送弹幕',\n 'Setting': '设置',\n 'Full screen': '全屏',\n 'Web full screen': '页面全屏',\n 'Send': '发送',\n 'Screenshot': '截图',\n 's': '秒'\n },\n 'zh-tw': {\n 'Danmaku is loading': '彈幕加載中',\n 'Top': '頂部',\n 'Bottom': '底部',\n 'Rolling': '滾動',\n 'Input danmaku, hit Enter': '輸入彈幕\\uFF0CEnter 發送',\n 'About author': '關於作者',\n 'DPlayer feedback': '播放器意見反饋',\n 'About DPlayer': '關於 DPlayer 播放器',\n 'Loop': '循環播放',\n 'Speed': '速度',\n 'Opacity for danmaku': '彈幕透明度',\n 'Normal': '正常',\n 'Please input danmaku content!': '請輸入彈幕内容啊\\uFF01',\n 'Set danmaku color': '設置彈幕顏色',\n 'Set danmaku type': '設置彈幕類型',\n 'Show danmaku': '顯示彈幕',\n 'This video fails to load': '視頻加載失敗',\n 'Switching to': '正在切換至',\n 'Switched to': '已經切換至',\n 'quality': '畫質',\n 'FF': '快進',\n 'REW': '快退',\n 'Unlimited danmaku': '海量彈幕',\n 'Send danmaku': '發送彈幕',\n 'Setting': '設置',\n 'Full screen': '全屏',\n 'Web full screen': '頁面全屏',\n 'Send': '發送',\n 'Screenshot': '截圖',\n 's': '秒'\n }\n};\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar html = {\n main: function main(options, index, tran, icons) {\n return '
' + html.video(true, options.video.pic, options.screenshot, options.preload, options.video.url, options.subtitle) + '' + (options.logo ? '
' : '') + '
' + (options.danmaku ? '' + tran('Danmaku is loading') + '' : '') + '
0:00 / 0:00
' + (options.video.quality ? '
' + html.qualityList(options.video.quality) + '
' : '') + '' + (options.screenshot ? '' + icons.get('camera') + '' : '') + '
' + tran('Set danmaku color') + '
' + tran('Set danmaku type') + '
00:00
' + html.contextmenuList(options.contextmenu, tran) + '
';\n },\n danmakumargin: function danmakumargin(margin) {\n var result = '';\n if (margin) {\n for (var key in margin) {\n result += key + ':' + margin[key] + ';';\n }\n }\n return result;\n },\n contextmenuList: function contextmenuList(contextmenu, tran) {\n var result = '
';\n for (var i = 0; i < contextmenu.length; i++) {\n result += '';\n }\n result += '
';\n return result;\n },\n qualityList: function qualityList(quality) {\n var result = '
';\n for (var i = 0; i < quality.length; i++) {\n result += '
' + quality[i].name + '
';\n }\n result += '
';\n return result;\n },\n video: function video(current, pic, screenshot, preload, url, subtitle) {\n var enableSubtitle = subtitle && subtitle.type === 'webvtt';\n return '';\n },\n setting: function setting(tran, icons) {\n return {\n 'original': '
' + tran('Speed') + '
' + icons.get('right') + '
' + tran('Loop') + '
' + tran('Show danmaku') + '
' + tran('Unlimited danmaku') + '
' + tran('Opacity for danmaku') + '
',\n 'speed': '
0.5
0.75
' + tran('Normal') + '
1.25
1.5
2
'\n };\n }\n};\nmodule.exports = html;\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nvar SvgSource = function () {\n function SvgSource(options) {\n _classCallCheck(this, SvgSource);\n this.icons = options.icons;\n this.iconColor = options.iconsColor;\n }\n _createClass(SvgSource, [{\n key: 'get',\n value: function get(type) {\n return '';\n }\n }]);\n return SvgSource;\n}();\nmodule.exports = SvgSource;\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar _typeof = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol' ? function (obj) {\n return typeof obj;\n} : function (obj) {\n return obj && typeof Symbol === 'function' && obj.constructor === Symbol && obj !== Symbol.prototype ? 'symbol' : typeof obj;\n};\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nvar Danmaku = function () {\n function Danmaku(options) {\n _classCallCheck(this, Danmaku);\n this.options = options;\n this.container = this.options.container;\n this.danTunnel = {\n right: {},\n top: {},\n bottom: {}\n };\n this.danIndex = 0;\n this.dan = [];\n this.showing = true;\n this._opacity = this.options.opacity;\n this.events = this.options.events;\n this.unlimited = this.options.unlimited;\n this._measure('');\n this.load();\n }\n _createClass(Danmaku, [\n {\n key: 'load',\n value: function load() {\n var _this = this;\n var apiurl = void 0;\n if (this.options.api.maximum) {\n apiurl = this.options.api.address + '?id=' + this.options.api.id + '&max=' + this.options.api.maximum;\n } else {\n apiurl = this.options.api.address + '?id=' + this.options.api.id;\n }\n var endpoints = (this.options.api.addition || []).slice(0);\n endpoints.push(apiurl);\n this.events && this.events.trigger('danmaku_load_start', endpoints);\n this._readAllEndpoints(endpoints, function (results) {\n _this.dan = [].concat.apply([], results).sort(function (a, b) {\n return a.time - b.time;\n });\n window.requestAnimationFrame(function () {\n _this.frame();\n });\n _this.options.callback();\n _this.events && _this.events.trigger('danmaku_load_end');\n });\n }\n },\n {\n key: 'reload',\n value: function reload(newAPI) {\n this.options.api = newAPI;\n this.dan = [];\n this.clear();\n this.load();\n }\n },\n {\n key: '_readAllEndpoints',\n value: function _readAllEndpoints(endpoints, callback) {\n var _this2 = this;\n var results = [];\n var readCount = 0;\n var cbk = function cbk(i) {\n return function (err, data) {\n ++readCount;\n if (err) {\n if (err.response) {\n _this2.options.error(err.response.msg);\n } else {\n _this2.options.error('Request was unsuccessful: ' + err.status);\n }\n results[i] = [];\n } else {\n results[i] = data;\n }\n if (readCount === endpoints.length) {\n return callback(results);\n }\n };\n };\n for (var i = 0; i < endpoints.length; ++i) {\n this.options.apiBackend.read(endpoints[i], cbk(i));\n }\n }\n },\n {\n key: 'send',\n value: function send(dan, callback) {\n var danmakuData = {\n token: this.options.api.token,\n player: this.options.api.id,\n author: this.options.api.user,\n time: this.options.time(),\n text: dan.text,\n color: dan.color,\n type: dan.type\n };\n this.options.apiBackend.send(this.options.api.address, danmakuData, callback);\n this.dan.splice(this.danIndex, 0, danmakuData);\n this.danIndex++;\n var danmaku = {\n text: this.htmlEncode(danmakuData.text),\n color: danmakuData.color,\n type: danmakuData.type,\n border: '2px solid ' + this.options.borderColor\n };\n this.draw(danmaku);\n this.events && this.events.trigger('danmaku_send', danmakuData);\n }\n },\n {\n key: 'frame',\n value: function frame() {\n var _this3 = this;\n if (this.dan.length && !this.paused && this.showing) {\n var item = this.dan[this.danIndex];\n var dan = [];\n while (item && this.options.time() > parseFloat(item.time)) {\n dan.push(item);\n item = this.dan[++this.danIndex];\n }\n this.draw(dan);\n }\n window.requestAnimationFrame(function () {\n _this3.frame();\n });\n }\n },\n {\n key: 'opacity',\n value: function opacity(percentage) {\n if (percentage !== undefined) {\n var items = this.container.getElementsByClassName('dplayer-danmaku-item');\n for (var i = 0; i < items.length; i++) {\n items[i].style.opacity = percentage;\n }\n this._opacity = percentage;\n this.events && this.events.trigger('danmaku_opacity', this._opacity);\n }\n return this._opacity;\n }\n },\n {\n key: 'draw',\n value: function draw(dan) {\n var _this4 = this;\n var itemHeight = this.options.height;\n var danWidth = this.container.offsetWidth;\n var danHeight = this.container.offsetHeight;\n var itemY = parseInt(danHeight / itemHeight);\n var danItemRight = function danItemRight(ele) {\n var eleWidth = ele.offsetWidth || parseInt(ele.style.width);\n var eleRight = ele.getBoundingClientRect().right || _this4.container.getBoundingClientRect().right + eleWidth;\n return _this4.container.getBoundingClientRect().right - eleRight;\n };\n var danSpeed = function danSpeed(width) {\n return (danWidth + width) / 5;\n };\n var getTunnel = function getTunnel(ele, type, width) {\n var tmp = danWidth / danSpeed(width);\n var _loop = function _loop(i) {\n var item = _this4.danTunnel[type][i + ''];\n if (item && item.length) {\n if (type !== 'right') {\n return 'continue';\n }\n for (var j = 0; j < item.length; j++) {\n var danRight = danItemRight(item[j]) - 10;\n if (danRight <= danWidth - tmp * danSpeed(parseInt(item[j].style.width)) || danRight <= 0) {\n break;\n }\n if (j === item.length - 1) {\n _this4.danTunnel[type][i + ''].push(ele);\n ele.addEventListener('animationend', function () {\n _this4.danTunnel[type][i + ''].splice(0, 1);\n });\n return { v: i % itemY };\n }\n }\n } else {\n _this4.danTunnel[type][i + ''] = [ele];\n ele.addEventListener('animationend', function () {\n _this4.danTunnel[type][i + ''].splice(0, 1);\n });\n return { v: i % itemY };\n }\n };\n for (var i = 0; _this4.unlimited || i < itemY; i++) {\n var _ret = _loop(i);\n switch (_ret) {\n case 'continue':\n continue;\n default:\n if ((typeof _ret === 'undefined' ? 'undefined' : _typeof(_ret)) === 'object')\n return _ret.v;\n }\n }\n return -1;\n };\n if (Object.prototype.toString.call(dan) !== '[object Array]') {\n dan = [dan];\n }\n var docFragment = document.createDocumentFragment();\n var _loop2 = function _loop2(i) {\n if (!dan[i].type) {\n dan[i].type = 'right';\n }\n if (!dan[i].color) {\n dan[i].color = '#fff';\n }\n var item = document.createElement('div');\n item.classList.add('dplayer-danmaku-item');\n item.classList.add('dplayer-danmaku-' + dan[i].type);\n if (dan[i].border) {\n item.innerHTML = '' + dan[i].text + '';\n } else {\n item.innerHTML = dan[i].text;\n }\n item.style.opacity = _this4._opacity;\n item.style.color = dan[i].color;\n item.addEventListener('animationend', function () {\n _this4.container.removeChild(item);\n });\n var itemWidth = _this4._measure(dan[i].text);\n var tunnel = void 0;\n switch (dan[i].type) {\n case 'right':\n tunnel = getTunnel(item, dan[i].type, itemWidth);\n if (tunnel >= 0) {\n item.style.width = itemWidth + 1 + 'px';\n item.style.top = itemHeight * tunnel + 'px';\n item.style.transform = 'translateX(-' + danWidth + 'px)';\n }\n break;\n case 'top':\n tunnel = getTunnel(item, dan[i].type);\n if (tunnel >= 0) {\n item.style.top = itemHeight * tunnel + 'px';\n }\n break;\n case 'bottom':\n tunnel = getTunnel(item, dan[i].type);\n if (tunnel >= 0) {\n item.style.bottom = itemHeight * tunnel + 'px';\n }\n break;\n default:\n console.error('Can\\'t handled danmaku type: ' + dan[i].type);\n }\n if (tunnel >= 0) {\n item.classList.add('dplayer-danmaku-move');\n docFragment.appendChild(item);\n }\n };\n for (var i = 0; i < dan.length; i++) {\n _loop2(i);\n }\n this.container.appendChild(docFragment);\n return docFragment;\n }\n },\n {\n key: 'play',\n value: function play() {\n this.paused = false;\n }\n },\n {\n key: 'pause',\n value: function pause() {\n this.paused = true;\n }\n },\n {\n key: '_measure',\n value: function _measure(text) {\n if (!this.context) {\n var measureStyle = getComputedStyle(this.container.getElementsByClassName('dplayer-danmaku-item')[0], null);\n this.context = document.createElement('canvas').getContext('2d');\n this.context.font = measureStyle.getPropertyValue('font');\n }\n return this.context.measureText(text).width;\n }\n },\n {\n key: 'seek',\n value: function seek() {\n for (var i = 0; i < this.dan.length; i++) {\n if (this.dan[i].time >= this.options.time()) {\n this.danIndex = i;\n break;\n }\n this.danIndex = this.dan.length;\n }\n }\n },\n {\n key: 'clear',\n value: function clear() {\n this.danTunnel = {\n right: {},\n top: {},\n bottom: {}\n };\n this.danIndex = 0;\n this.options.container.innerHTML = '';\n this.events && this.events.trigger('danmaku_clear');\n }\n },\n {\n key: 'htmlEncode',\n value: function htmlEncode(str) {\n return str.replace(/&/g, '&').replace(//g, '>').replace(/\"/g, '"').replace(/'/g, ''').replace(/\\//g, '/');\n }\n },\n {\n key: 'resize',\n value: function resize() {\n var danWidth = this.container.offsetWidth;\n var items = this.container.getElementsByClassName('dplayer-danmaku-item');\n for (var i = 0; i < items.length; i++) {\n items[i].style.transform = 'translateX(-' + danWidth + 'px)';\n }\n }\n },\n {\n key: 'hide',\n value: function hide() {\n this.showing = false;\n this.pause();\n this.clear();\n this.events && this.events.trigger('danmaku_hide');\n }\n },\n {\n key: 'show',\n value: function show() {\n this.seek();\n this.showing = true;\n this.play();\n this.events && this.events.trigger('danmaku_show');\n }\n },\n {\n key: 'unlimit',\n value: function unlimit(boolean) {\n this.unlimited = boolean;\n }\n }\n ]);\n return Danmaku;\n}();\nmodule.exports = Danmaku;\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nvar Thumbnails = function () {\n function Thumbnails(container, width, url, events) {\n _classCallCheck(this, Thumbnails);\n this.container = container;\n this.width = width;\n this.container.style.backgroundImage = 'url(\\'' + url + '\\')';\n this.events = events;\n }\n _createClass(Thumbnails, [\n {\n key: 'resize',\n value: function resize(width, height) {\n this.container.style.width = width + 'px';\n this.container.style.height = height + 'px';\n this.container.style.top = -height + 2 + 'px';\n }\n },\n {\n key: 'show',\n value: function show() {\n this.container.style.display = 'block';\n this.events && this.events.trigger('thumbnails_show');\n }\n },\n {\n key: 'move',\n value: function move(position) {\n this.container.style.backgroundPosition = '-' + (Math.ceil(position / this.width * 100) - 1) * 160 + 'px 0';\n this.container.style.left = position - this.container.offsetWidth / 2 + 'px';\n }\n },\n {\n key: 'hide',\n value: function hide() {\n this.container.style.display = 'none';\n this.events && this.events.trigger('thumbnails_hide');\n }\n }\n ]);\n return Thumbnails;\n}();\nmodule.exports = Thumbnails;\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nvar Events = function () {\n function Events() {\n _classCallCheck(this, Events);\n this.events = {};\n this.videoEvents = [\n 'abort',\n 'canplay',\n 'canplaythrough',\n 'durationchange',\n 'emptied',\n 'ended',\n 'error',\n 'loadeddata',\n 'loadedmetadata',\n 'loadstart',\n 'mozaudioavailable',\n 'pause',\n 'play',\n 'playing',\n 'progress',\n 'ratechange',\n 'seeked',\n 'seeking',\n 'stalled',\n 'suspend',\n 'timeupdate',\n 'volumechange',\n 'waiting'\n ];\n this.playerEvents = [\n 'screenshot',\n 'thumbnails_show',\n 'thumbnails_hide',\n 'danmaku_show',\n 'danmaku_hide',\n 'danmaku_clear',\n 'danmaku_loaded',\n 'danmaku_send',\n 'danmaku_opacity',\n 'contextmenu_show',\n 'contextmenu_hide',\n 'notice_show',\n 'notice_hide',\n 'quality_start',\n 'quality_end',\n 'destroy',\n 'resize',\n 'fullscreen',\n 'fullscreen_cancel',\n 'webfullscreen',\n 'webfullscreen_cancel'\n ];\n }\n _createClass(Events, [\n {\n key: 'on',\n value: function on(name, callback) {\n if (this.type(name) && typeof callback === 'function') {\n if (!this.events[name]) {\n this.events[name] = [];\n }\n this.events[name].push(callback);\n }\n }\n },\n {\n key: 'trigger',\n value: function trigger(name, info) {\n if (this.events[name] && this.events[name].length) {\n for (var i = 0; i < this.events[name].length; i++) {\n this.events[name][i](info);\n }\n }\n }\n },\n {\n key: 'type',\n value: function type(name) {\n if (this.playerEvents.indexOf(name) !== -1) {\n return 'player';\n } else if (this.videoEvents.indexOf(name) !== -1) {\n return 'video';\n }\n console.error('Unknown event name: ' + name);\n return null;\n }\n }\n ]);\n return Events;\n}();\nmodule.exports = Events;\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nvar FullScreen = function () {\n function FullScreen(player) {\n var _this = this;\n _classCallCheck(this, FullScreen);\n this.player = player;\n this.player.events.on('webfullscreen', function () {\n _this.player.resize();\n });\n this.player.events.on('webfullscreen_cancel', function () {\n _this.player.resize();\n });\n var fullscreenchange = function fullscreenchange() {\n _this.player.resize();\n if (_this.isFullScreen('browser')) {\n _this.player.events.trigger('fullscreen');\n } else {\n _this.player.events.trigger('fullscreen_cancel');\n }\n };\n this.player.container.addEventListener('fullscreenchange', fullscreenchange);\n this.player.container.addEventListener('mozfullscreenchange', fullscreenchange);\n this.player.container.addEventListener('webkitfullscreenchange', fullscreenchange);\n }\n _createClass(FullScreen, [\n {\n key: 'isFullScreen',\n value: function isFullScreen() {\n var type = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'browser';\n switch (type) {\n case 'browser':\n return document.fullscreenElement || document.mozFullScreenElement || document.webkitFullscreenElement;\n case 'web':\n return this.player.container.classList.contains('dplayer-fulled');\n }\n }\n },\n {\n key: 'request',\n value: function request() {\n var type = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'browser';\n switch (type) {\n case 'browser':\n if (this.player.container.requestFullscreen) {\n this.player.container.requestFullscreen();\n } else if (this.player.container.mozRequestFullScreen) {\n this.player.container.mozRequestFullScreen();\n } else if (this.player.container.webkitRequestFullscreen) {\n this.player.container.webkitRequestFullscreen();\n } else if (this.player.video.webkitEnterFullscreen) {\n this.player.video.webkitEnterFullscreen();\n }\n break;\n case 'web':\n this.player.container.classList.add('dplayer-fulled');\n this.player.events.trigger('webfullscreen');\n break;\n }\n }\n },\n {\n key: 'cancel',\n value: function cancel() {\n var type = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'browser';\n switch (type) {\n case 'browser':\n if (document.cancelFullScreen) {\n document.cancelFullScreen();\n } else if (document.mozCancelFullScreen) {\n document.mozCancelFullScreen();\n } else if (document.webkitCancelFullScreen) {\n document.webkitCancelFullScreen();\n }\n break;\n case 'web':\n this.player.container.classList.remove('dplayer-fulled');\n this.player.events.trigger('webfullscreen_cancel');\n break;\n }\n }\n },\n {\n key: 'toggle',\n value: function toggle() {\n var type = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'browser';\n if (this.isFullScreen(type)) {\n this.cancel(type);\n } else {\n this.request(type);\n }\n }\n }\n ]);\n return FullScreen;\n}();\nmodule.exports = FullScreen;\n\n/***/ }),\n/* 13 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nvar _utils = __webpack_require__(0);\nvar _utils2 = _interopRequireDefault(_utils);\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nvar User = function () {\n function User(player) {\n _classCallCheck(this, User);\n this.storageName = {\n opacity: 'dplayer-danmaku-opacity',\n volume: 'dplayer-volume',\n unlimited: 'dplayer-danmaku-unlimited',\n danmaku: 'dplayer-danmaku-show'\n };\n this.default = {\n opacity: 0.7,\n volume: player.options.volume || 0.7,\n unlimited: (player.options.danmaku && player.options.danmaku.unlimited ? 1 : 0) || 0,\n danmaku: 1\n };\n this.data = {};\n this.init();\n }\n _createClass(User, [\n {\n key: 'init',\n value: function init() {\n for (var item in this.storageName) {\n var name = this.storageName[item];\n this.data[item] = parseFloat(_utils2.default.storage.get(name) || this.default[item]);\n }\n }\n },\n {\n key: 'get',\n value: function get(key) {\n return this.data[key];\n }\n },\n {\n key: 'set',\n value: function set(key, value) {\n this.data[key] = value;\n _utils2.default.storage.set(this.storageName[key], value);\n }\n }\n ]);\n return User;\n}();\nmodule.exports = User;\n\n/***/ }),\n/* 14 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nvar Subtitle = function () {\n function Subtitle(container, video, options) {\n _classCallCheck(this, Subtitle);\n this.container = container;\n this.video = video;\n this.options = options;\n this.init();\n }\n _createClass(Subtitle, [{\n key: 'init',\n value: function init() {\n var _this = this;\n this.container.style.fontSize = this.options.fontSize;\n this.container.style.bottom = this.options.bottom;\n this.container.style.color = this.options.color;\n if (this.video.textTracks && this.video.textTracks[0]) {\n var track = this.video.textTracks[0];\n track.oncuechange = function () {\n var cue = track.activeCues[0];\n if (cue) {\n _this.container.innerHTML = '';\n var p = document.createElement('p');\n p.appendChild(cue.getCueAsHTML());\n _this.container.appendChild(p);\n } else {\n _this.container.innerHTML = '';\n }\n };\n }\n }\n }]);\n return Subtitle;\n}();\nmodule.exports = Subtitle;\n\n/***/ })\n/******/ ]);\n});\n\n\n// WEBPACK FOOTER //\n// DPlayer.min.js"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 1);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap a149569763009e935b8a","'use strict';\nmodule.exports = {\n secondToTime: function secondToTime(second) {\n var add0 = function add0(num) {\n return num < 10 ? '0' + num : '' + num;\n };\n var min = parseInt(second / 60);\n var sec = parseInt(second - min * 60);\n return add0(min) + ':' + add0(sec);\n },\n getElementViewLeft: function getElementViewLeft(element) {\n var actualLeft = element.offsetLeft;\n var current = element.offsetParent;\n var elementScrollLeft = document.body.scrollLeft + document.documentElement.scrollLeft;\n if (!document.fullscreenElement && !document.mozFullScreenElement && !document.webkitFullscreenElement) {\n while (current !== null) {\n actualLeft += current.offsetLeft;\n current = current.offsetParent;\n }\n } else {\n while (current !== null && current !== element) {\n actualLeft += current.offsetLeft;\n current = current.offsetParent;\n }\n }\n return actualLeft - elementScrollLeft;\n },\n isMobile: /mobile/i.test(window.navigator.userAgent),\n storage: {\n set: function set(key, value) {\n localStorage.setItem(key, value);\n },\n get: function get(key) {\n return localStorage.getItem(key);\n }\n }\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/utils.js\n// module id = 0\n// module chunks = 0","'use strict';\nconsole.log('\\n' + ' %c DPlayer ' + DPLAYER_VERSION + ' ' + GIT_HASH + ' %c http://dplayer.js.org ' + '\\n' + '\\n', 'color: #fadfa3; background: #030307; padding:5px 0;', 'background: #fadfa3; padding:5px 0;');\nmodule.exports = require('./DPlayer');\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/index.js\n// module id = 1\n// module chunks = 0","'use strict';\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nrequire('./DPlayer.scss');\nvar _utils = require('./utils');\nvar _utils2 = _interopRequireDefault(_utils);\nvar _options = require('./options');\nvar _options2 = _interopRequireDefault(_options);\nvar _i18n = require('./i18n');\nvar _i18n2 = _interopRequireDefault(_i18n);\nvar _html = require('./html');\nvar _html2 = _interopRequireDefault(_html);\nvar _svg = require('./svg');\nvar _svg2 = _interopRequireDefault(_svg);\nvar _danmaku = require('./danmaku');\nvar _danmaku2 = _interopRequireDefault(_danmaku);\nvar _thumbnails = require('./thumbnails');\nvar _thumbnails2 = _interopRequireDefault(_thumbnails);\nvar _events = require('./events');\nvar _events2 = _interopRequireDefault(_events);\nvar _fullscreen = require('./fullscreen');\nvar _fullscreen2 = _interopRequireDefault(_fullscreen);\nvar _user = require('./user');\nvar _user2 = _interopRequireDefault(_user);\nvar _subtitle = require('./subtitle');\nvar _subtitle2 = _interopRequireDefault(_subtitle);\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nvar index = 0;\nvar DPlayer = function () {\n function DPlayer(options) {\n var _this = this;\n _classCallCheck(this, DPlayer);\n this.options = (0, _options2.default)(options);\n this.options.container.classList.add('dplayer');\n if (this.options.video.quality) {\n this.qualityIndex = this.options.video.defaultQuality;\n this.quality = this.options.video.quality[this.options.video.defaultQuality];\n }\n this.tran = new _i18n2.default(this.options.lang).tran;\n this.icons = new _svg2.default(this.options);\n this.events = new _events2.default();\n this.user = new _user2.default(this);\n this.container = this.options.container;\n if (!this.options.danmaku) {\n this.container.classList.add('dplayer-no-danmaku');\n }\n if (_utils.isMobile) {\n this.container.classList.add('dplayer-mobile');\n }\n this.container.innerHTML = _html2.default.main(this.options, index, this.tran, this.icons);\n var bar = {};\n bar.volumeBar = this.container.getElementsByClassName('dplayer-volume-bar-inner')[0];\n bar.playedBar = this.container.getElementsByClassName('dplayer-played')[0];\n bar.loadedBar = this.container.getElementsByClassName('dplayer-loaded')[0];\n var pbar = this.container.getElementsByClassName('dplayer-bar-wrap')[0];\n var pbarTimeTips = this.container.getElementsByClassName('dplayer-bar-time')[0];\n var barWidth = void 0;\n this.updateBar = function (type, percentage, direction) {\n percentage = percentage > 0 ? percentage : 0;\n percentage = percentage < 1 ? percentage : 1;\n bar[type + 'Bar'].style[direction] = percentage * 100 + '%';\n };\n document.addEventListener('click', function () {\n _this.focus = false;\n }, true);\n this.container.addEventListener('click', function () {\n _this.focus = true;\n }, true);\n if (this.options.danmaku) {\n this.danmaku = new _danmaku2.default({\n container: this.container.getElementsByClassName('dplayer-danmaku')[0],\n opacity: this.user.get('opacity'),\n callback: function callback() {\n _this.container.getElementsByClassName('dplayer-danloading')[0].style.display = 'none';\n if (_this.options.autoplay && !_utils.isMobile) {\n _this.play();\n } else if (_utils.isMobile) {\n _this.pause();\n }\n },\n error: function error(msg) {\n _this.notice(msg);\n },\n apiBackend: this.options.apiBackend,\n borderColor: this.options.theme,\n height: this.arrow ? 24 : 30,\n time: function time() {\n return _this.video.currentTime;\n },\n unlimited: this.user.get('unlimited'),\n api: {\n id: this.options.danmaku.id,\n address: this.options.danmaku.api,\n token: this.options.danmaku.token,\n maximum: this.options.danmaku.maximum,\n addition: this.options.danmaku.addition,\n user: this.options.danmaku.user\n },\n events: this.events\n });\n }\n this.arrow = this.container.offsetWidth <= 500;\n if (this.arrow) {\n var arrowStyle = document.createElement('style');\n arrowStyle.innerHTML = '.dplayer .dplayer-danmaku{font-size:18px}';\n document.head.appendChild(arrowStyle);\n }\n this.video = this.container.getElementsByClassName('dplayer-video-current')[0];\n this.bezel = this.container.getElementsByClassName('dplayer-bezel-icon')[0];\n this.bezel.addEventListener('animationend', function () {\n _this.bezel.classList.remove('dplayer-bezel-transition');\n });\n this.playButton = this.container.getElementsByClassName('dplayer-play-icon')[0];\n this.paused = true;\n this.playButton.addEventListener('click', function () {\n _this.toggle();\n });\n var videoWrap = this.container.getElementsByClassName('dplayer-video-wrap')[0];\n var conMask = this.container.getElementsByClassName('dplayer-controller-mask')[0];\n if (!_utils.isMobile) {\n videoWrap.addEventListener('click', function () {\n _this.toggle();\n });\n conMask.addEventListener('click', function () {\n _this.toggle();\n });\n } else {\n var toggleController = function toggleController() {\n if (_this.container.classList.contains('dplayer-hide-controller')) {\n _this.container.classList.remove('dplayer-hide-controller');\n } else {\n _this.container.classList.add('dplayer-hide-controller');\n }\n };\n videoWrap.addEventListener('click', toggleController);\n conMask.addEventListener('click', toggleController);\n }\n var lastPlayPos = 0;\n var currentPlayPos = 0;\n var bufferingDetected = false;\n window.requestAnimationFrame = function () {\n return window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || window.oRequestAnimationFrame || window.msRequestAnimationFrame || function (callback) {\n window.setTimeout(callback, 1000 / 60);\n };\n }();\n var setCheckLoadingTime = function setCheckLoadingTime() {\n _this.checkLoading = setInterval(function () {\n currentPlayPos = _this.video.currentTime;\n if (!bufferingDetected && currentPlayPos === lastPlayPos && !_this.video.paused) {\n _this.container.classList.add('dplayer-loading');\n bufferingDetected = true;\n }\n if (bufferingDetected && currentPlayPos > lastPlayPos && !_this.video.paused) {\n _this.container.classList.remove('dplayer-loading');\n bufferingDetected = false;\n }\n lastPlayPos = currentPlayPos;\n }, 100);\n };\n var clearCheckLoadingTime = function clearCheckLoadingTime() {\n clearInterval(_this.checkLoading);\n };\n this.playedTime = false;\n this.animationFrame = function () {\n if (_this.playedTime) {\n _this.updateBar('played', _this.video.currentTime / _this.video.duration, 'width');\n _this.container.getElementsByClassName('dplayer-ptime')[0].innerHTML = _utils2.default.secondToTime(_this.video.currentTime);\n }\n window.requestAnimationFrame(_this.animationFrame);\n };\n window.requestAnimationFrame(this.animationFrame);\n this.setTime = function (type) {\n if (!type) {\n _this.playedTime = true;\n setCheckLoadingTime();\n } else {\n _this[type + 'Time'] = true;\n if (type === 'played') {\n setCheckLoadingTime();\n }\n }\n };\n this.clearTime = function (type) {\n if (!type) {\n _this.playedTime = false;\n clearCheckLoadingTime();\n } else {\n _this[type + 'Time'] = false;\n if (type === 'played') {\n clearCheckLoadingTime();\n }\n }\n };\n if (this.options.video.thumbnails) {\n this.initThumbnails();\n }\n this.isTimeTipsShow = true;\n this.mouseHandler = this.mouseHandler(pbar, pbarTimeTips).bind(this);\n pbar.addEventListener('mousemove', this.mouseHandler);\n pbar.addEventListener('mouseenter', this.mouseHandler);\n pbar.addEventListener('mouseleave', this.mouseHandler);\n var thumbMove = function thumbMove(e) {\n var percentage = (e.clientX - _utils2.default.getElementViewLeft(pbar)) / barWidth;\n percentage = percentage > 0 ? percentage : 0;\n percentage = percentage < 1 ? percentage : 1;\n _this.updateBar('played', percentage, 'width');\n _this.container.getElementsByClassName('dplayer-ptime')[0].innerHTML = _utils2.default.secondToTime(percentage * _this.video.duration);\n };\n var thumbUp = function thumbUp(e) {\n document.removeEventListener('mouseup', thumbUp);\n document.removeEventListener('mousemove', thumbMove);\n var percentage = (e.clientX - _utils2.default.getElementViewLeft(pbar)) / barWidth;\n percentage = percentage > 0 ? percentage : 0;\n percentage = percentage < 1 ? percentage : 1;\n _this.updateBar('played', percentage, 'width');\n _this.seek(parseFloat(bar.playedBar.style.width) / 100 * _this.video.duration);\n _this.setTime();\n };\n pbar.addEventListener('mousedown', function () {\n barWidth = pbar.clientWidth;\n _this.clearTime();\n document.addEventListener('mousemove', thumbMove);\n document.addEventListener('mouseup', thumbUp);\n });\n var volumeEle = this.container.getElementsByClassName('dplayer-volume')[0];\n var volumeBarWrapWrap = this.container.getElementsByClassName('dplayer-volume-bar-wrap')[0];\n var volumeBarWrap = this.container.getElementsByClassName('dplayer-volume-bar')[0];\n var volumeicon = this.container.getElementsByClassName('dplayer-volume-icon')[0].getElementsByClassName('dplayer-icon-content')[0];\n var vWidth = 35;\n this.switchVolumeIcon = function () {\n if (_this.volume() >= 0.95) {\n volumeicon.innerHTML = _this.icons.get('volume-up');\n } else if (_this.volume() > 0) {\n volumeicon.innerHTML = _this.icons.get('volume-down');\n } else {\n volumeicon.innerHTML = _this.icons.get('volume-off');\n }\n };\n var volumeMove = function volumeMove(event) {\n var e = event || window.event;\n var percentage = (e.clientX - _utils2.default.getElementViewLeft(volumeBarWrap) - 5.5) / vWidth;\n _this.volume(percentage);\n };\n var volumeUp = function volumeUp() {\n document.removeEventListener('mouseup', volumeUp);\n document.removeEventListener('mousemove', volumeMove);\n volumeEle.classList.remove('dplayer-volume-active');\n };\n volumeBarWrapWrap.addEventListener('click', function (event) {\n var e = event || window.event;\n var percentage = (e.clientX - _utils2.default.getElementViewLeft(volumeBarWrap) - 5.5) / vWidth;\n _this.volume(percentage);\n });\n volumeBarWrapWrap.addEventListener('mousedown', function () {\n document.addEventListener('mousemove', volumeMove);\n document.addEventListener('mouseup', volumeUp);\n volumeEle.classList.add('dplayer-volume-active');\n });\n volumeicon.addEventListener('click', function () {\n if (_this.video.muted) {\n _this.video.muted = false;\n _this.switchVolumeIcon();\n _this.updateBar('volume', _this.volume(), 'width');\n } else {\n _this.video.muted = true;\n volumeicon.innerHTML = _this.icons.get('volume-off');\n _this.updateBar('volume', 0, 'width');\n }\n });\n this.hideTime = 0;\n var hideController = function hideController() {\n _this.container.classList.remove('dplayer-hide-controller');\n clearTimeout(_this.hideTime);\n _this.hideTime = setTimeout(function () {\n if (_this.video.played.length) {\n _this.container.classList.add('dplayer-hide-controller');\n closeSetting();\n closeComment();\n }\n }, 2000);\n };\n if (!_utils.isMobile) {\n this.container.addEventListener('mousemove', hideController);\n this.container.addEventListener('click', hideController);\n }\n var settingHTML = _html2.default.setting(this.tran, this.icons);\n var settingIcon = this.container.getElementsByClassName('dplayer-setting-icon')[0];\n var settingBox = this.container.getElementsByClassName('dplayer-setting-box')[0];\n var mask = this.container.getElementsByClassName('dplayer-mask')[0];\n settingBox.innerHTML = settingHTML.original;\n var closeSetting = function closeSetting() {\n if (settingBox.classList.contains('dplayer-setting-box-open')) {\n settingBox.classList.remove('dplayer-setting-box-open');\n mask.classList.remove('dplayer-mask-show');\n setTimeout(function () {\n settingBox.classList.remove('dplayer-setting-box-narrow');\n settingBox.innerHTML = settingHTML.original;\n settingEvent();\n }, 300);\n }\n };\n var openSetting = function openSetting() {\n settingBox.classList.add('dplayer-setting-box-open');\n mask.classList.add('dplayer-mask-show');\n };\n mask.addEventListener('click', function () {\n closeSetting();\n });\n settingIcon.addEventListener('click', function () {\n openSetting();\n });\n this.loop = this.options.loop;\n var showdan = this.user.get('danmaku');\n if (!showdan) {\n this.danmaku && this.danmaku.hide();\n }\n var unlimitDan = this.user.get('unlimited');\n var settingEvent = function settingEvent() {\n var loopEle = _this.container.getElementsByClassName('dplayer-setting-loop')[0];\n var loopToggle = loopEle.getElementsByClassName('dplayer-toggle-setting-input')[0];\n loopToggle.checked = _this.loop;\n loopEle.addEventListener('click', function () {\n loopToggle.checked = !loopToggle.checked;\n if (loopToggle.checked) {\n _this.loop = true;\n } else {\n _this.loop = false;\n }\n closeSetting();\n });\n var showDanEle = _this.container.getElementsByClassName('dplayer-setting-showdan')[0];\n var showDanToggle = showDanEle.getElementsByClassName('dplayer-showdan-setting-input')[0];\n showDanToggle.checked = showdan;\n showDanEle.addEventListener('click', function () {\n showDanToggle.checked = !showDanToggle.checked;\n if (showDanToggle.checked) {\n showdan = true;\n if (!_this.paused) {\n _this.danmaku.show();\n }\n } else {\n showdan = false;\n _this.danmaku.hide();\n }\n _this.user.set('danmaku', showdan ? 1 : 0);\n closeSetting();\n });\n var unlimitDanEle = _this.container.getElementsByClassName('dplayer-setting-danunlimit')[0];\n var unlimitDanToggle = unlimitDanEle.getElementsByClassName('dplayer-danunlimit-setting-input')[0];\n unlimitDanToggle.checked = unlimitDan;\n unlimitDanEle.addEventListener('click', function () {\n unlimitDanToggle.checked = !unlimitDanToggle.checked;\n if (unlimitDanToggle.checked) {\n unlimitDan = true;\n _this.danmaku.unlimit(true);\n } else {\n unlimitDan = false;\n _this.danmaku.unlimit(false);\n }\n _this.user.set('unlimited', unlimitDan ? 1 : 0);\n closeSetting();\n });\n var speedEle = _this.container.getElementsByClassName('dplayer-setting-speed')[0];\n speedEle.addEventListener('click', function () {\n settingBox.classList.add('dplayer-setting-box-narrow');\n settingBox.innerHTML = settingHTML.speed;\n var speedItem = settingBox.getElementsByClassName('dplayer-setting-speed-item');\n var _loop = function _loop(i) {\n speedItem[i].addEventListener('click', function () {\n _this.video.playbackRate = speedItem[i].dataset.speed;\n closeSetting();\n });\n };\n for (var i = 0; i < speedItem.length; i++) {\n _loop(i);\n }\n });\n if (_this.danmaku) {\n bar.danmakuBar = _this.container.getElementsByClassName('dplayer-danmaku-bar-inner')[0];\n var danmakuBarWrapWrap = _this.container.getElementsByClassName('dplayer-danmaku-bar-wrap')[0];\n var danmakuBarWrap = _this.container.getElementsByClassName('dplayer-danmaku-bar')[0];\n var danmakuSettingBox = _this.container.getElementsByClassName('dplayer-setting-danmaku')[0];\n var dWidth = 130;\n _this.on('danmaku_opacity', function (percentage) {\n _this.updateBar('danmaku', percentage, 'width');\n _this.user.set('opacity', percentage);\n });\n _this.danmaku.opacity(_this.user.get('opacity'));\n var danmakuMove = function danmakuMove(event) {\n var e = event || window.event;\n var percentage = (e.clientX - _utils2.default.getElementViewLeft(danmakuBarWrap)) / dWidth;\n percentage = percentage > 0 ? percentage : 0;\n percentage = percentage < 1 ? percentage : 1;\n _this.danmaku.opacity(percentage);\n };\n var danmakuUp = function danmakuUp() {\n document.removeEventListener('mouseup', danmakuUp);\n document.removeEventListener('mousemove', danmakuMove);\n danmakuSettingBox.classList.remove('dplayer-setting-danmaku-active');\n };\n danmakuBarWrapWrap.addEventListener('click', function (event) {\n var e = event || window.event;\n var percentage = (e.clientX - _utils2.default.getElementViewLeft(danmakuBarWrap)) / dWidth;\n percentage = percentage > 0 ? percentage : 0;\n percentage = percentage < 1 ? percentage : 1;\n _this.danmaku.opacity(percentage);\n });\n danmakuBarWrapWrap.addEventListener('mousedown', function () {\n document.addEventListener('mousemove', danmakuMove);\n document.addEventListener('mouseup', danmakuUp);\n danmakuSettingBox.classList.add('dplayer-setting-danmaku-active');\n });\n }\n };\n settingEvent();\n if (this.video.duration !== 1) {\n this.container.getElementsByClassName('dplayer-dtime')[0].innerHTML = this.video.duration ? _utils2.default.secondToTime(this.video.duration) : '00:00';\n }\n if (!this.danmaku) {\n if (this.options.autoplay && !_utils.isMobile) {\n this.play();\n } else if (_utils.isMobile) {\n this.pause();\n }\n }\n var commentInput = this.container.getElementsByClassName('dplayer-comment-input')[0];\n var commentIcon = this.container.getElementsByClassName('dplayer-comment-icon')[0];\n var commentBox = this.container.getElementsByClassName('dplayer-comment-box')[0];\n var commentSettingIcon = this.container.getElementsByClassName('dplayer-comment-setting-icon')[0];\n var commentSettingBox = this.container.getElementsByClassName('dplayer-comment-setting-box')[0];\n var commentSendIcon = this.container.getElementsByClassName('dplayer-send-icon')[0];\n var closeCommentSetting = function closeCommentSetting() {\n if (commentSettingBox.classList.contains('dplayer-comment-setting-open')) {\n commentSettingBox.classList.remove('dplayer-comment-setting-open');\n }\n };\n var toggleCommentSetting = function toggleCommentSetting() {\n if (commentSettingBox.classList.contains('dplayer-comment-setting-open')) {\n commentSettingBox.classList.remove('dplayer-comment-setting-open');\n } else {\n commentSettingBox.classList.add('dplayer-comment-setting-open');\n }\n };\n var disableHide = 0;\n var commentFocusTimeout = 0;\n var closeComment = function closeComment() {\n if (!commentBox.classList.contains('dplayer-comment-box-open')) {\n return;\n }\n commentBox.classList.remove('dplayer-comment-box-open');\n mask.classList.remove('dplayer-mask-show');\n _this.container.classList.remove('dplayer-show-controller');\n clearInterval(disableHide);\n clearTimeout(commentFocusTimeout);\n closeCommentSetting();\n };\n var openComment = function openComment() {\n if (commentBox.classList.contains('dplayer-comment-box-open')) {\n return;\n }\n commentBox.classList.add('dplayer-comment-box-open');\n mask.classList.add('dplayer-mask-show');\n _this.container.classList.add('dplayer-show-controller');\n disableHide = setInterval(function () {\n clearTimeout(_this.hideTime);\n }, 1000);\n commentFocusTimeout = setTimeout(function () {\n commentInput.focus();\n }, 300);\n };\n mask.addEventListener('click', function () {\n closeComment();\n });\n commentIcon.addEventListener('click', function () {\n openComment();\n });\n commentSettingIcon.addEventListener('click', function () {\n toggleCommentSetting();\n });\n this.container.getElementsByClassName('dplayer-comment-setting-color')[0].addEventListener('click', function () {\n var sele = _this.container.querySelector('input[name=\"dplayer-danmaku-color-${index}\"]:checked+span');\n if (sele) {\n commentSettingIcon.getElementsByClassName('dplayer-fill')[0].style.fill = _this.container.querySelector('input[name=\"dplayer-danmaku-color-${index}\"]:checked').value;\n }\n });\n var sendComment = function sendComment() {\n commentInput.blur();\n if (!commentInput.value.replace(/^\\s+|\\s+$/g, '')) {\n _this.notice(_this.tran('Please input danmaku content!'));\n return;\n }\n _this.danmaku.send({\n text: commentInput.value,\n color: _this.container.querySelector('.dplayer-comment-setting-color input:checked').value,\n type: _this.container.querySelector('.dplayer-comment-setting-type input:checked').value\n }, function () {\n commentInput.value = '';\n closeComment();\n });\n };\n commentInput.addEventListener('click', function () {\n closeCommentSetting();\n });\n commentInput.addEventListener('keydown', function (e) {\n var event = e || window.event;\n if (event.keyCode === 13) {\n sendComment();\n }\n });\n commentSendIcon.addEventListener('click', sendComment);\n this.fullScreen = new _fullscreen2.default(this);\n this.container.getElementsByClassName('dplayer-full-icon')[0].addEventListener('click', function () {\n _this.fullScreen.toggle('browser');\n });\n this.container.getElementsByClassName('dplayer-full-in-icon')[0].addEventListener('click', function () {\n _this.fullScreen.toggle('web');\n });\n var handleKeyDown = function handleKeyDown(e) {\n if (_this.focus) {\n var tag = document.activeElement.tagName.toUpperCase();\n var editable = document.activeElement.getAttribute('contenteditable');\n if (tag !== 'INPUT' && tag !== 'TEXTAREA' && editable !== '' && editable !== 'true') {\n var event = e || window.event;\n var percentage = void 0;\n switch (event.keyCode) {\n case 32:\n event.preventDefault();\n _this.toggle();\n break;\n case 37:\n event.preventDefault();\n _this.seek(_this.video.currentTime - 5);\n hideController();\n break;\n case 39:\n event.preventDefault();\n _this.seek(_this.video.currentTime + 5);\n hideController();\n break;\n case 38:\n event.preventDefault();\n percentage = _this.volume() + 0.1;\n _this.volume(percentage);\n break;\n case 40:\n event.preventDefault();\n percentage = _this.volume() - 0.1;\n _this.volume(percentage);\n break;\n }\n }\n }\n };\n if (this.options.hotkey) {\n document.addEventListener('keydown', handleKeyDown);\n }\n document.addEventListener('keydown', function (e) {\n var event = e || window.event;\n switch (event.keyCode) {\n case 27:\n if (_this.fullScreen.isFullScreen('web')) {\n _this.fullScreen.cancel('web');\n }\n break;\n }\n });\n var menu = this.container.getElementsByClassName('dplayer-menu')[0];\n this.container.addEventListener('contextmenu', function (e) {\n var event = e || window.event;\n event.preventDefault();\n menu.classList.add('dplayer-menu-show');\n var clientRect = _this.container.getBoundingClientRect();\n var menuLeft = event.clientX - clientRect.left;\n var menuTop = event.clientY - clientRect.top;\n if (menuLeft + menu.offsetWidth >= clientRect.width) {\n menu.style.right = clientRect.width - menuLeft + 'px';\n menu.style.left = 'initial';\n } else {\n menu.style.left = event.clientX - _this.container.getBoundingClientRect().left + 'px';\n menu.style.right = 'initial';\n }\n if (menuTop + menu.offsetHeight >= clientRect.height) {\n menu.style.bottom = clientRect.height - menuTop + 'px';\n menu.style.top = 'initial';\n } else {\n menu.style.top = event.clientY - _this.container.getBoundingClientRect().top + 'px';\n menu.style.bottom = 'initial';\n }\n mask.classList.add('dplayer-mask-show');\n _this.events.trigger('contextmenu_show');\n mask.addEventListener('click', function () {\n mask.classList.remove('dplayer-mask-show');\n menu.classList.remove('dplayer-menu-show');\n _this.events.trigger('contextmenu_hide');\n });\n });\n if (this.options.video.quality) {\n this.container.getElementsByClassName('dplayer-quality-list')[0].addEventListener('click', function (e) {\n if (e.target.classList.contains('dplayer-quality-item')) {\n _this.switchQuality(e.target.dataset.index);\n }\n });\n }\n if (this.options.screenshot) {\n var camareIcon = this.container.getElementsByClassName('dplayer-camera-icon')[0];\n camareIcon.addEventListener('click', function () {\n var canvas = document.createElement('canvas');\n canvas.width = _this.video.videoWidth;\n canvas.height = _this.video.videoHeight;\n canvas.getContext('2d').drawImage(_this.video, 0, 0, canvas.width, canvas.height);\n var dataURL = canvas.toDataURL();\n camareIcon.href = dataURL;\n camareIcon.download = 'DPlayer.png';\n _this.events.trigger('screenshot', dataURL);\n });\n }\n this.initVideo(this.video, this.quality && this.quality.type || this.options.video.type);\n index++;\n }\n _createClass(DPlayer, [\n {\n key: 'seek',\n value: function seek(time) {\n time = Math.max(time, 0);\n if (this.video.duration) {\n time = Math.min(time, this.video.duration);\n }\n if (this.video.currentTime < time) {\n this.notice(this.tran('FF') + ' ' + (time - this.video.currentTime).toFixed(0) + ' ' + this.tran('s'));\n } else if (this.video.currentTime > time) {\n this.notice(this.tran('REW') + ' ' + (this.video.currentTime - time).toFixed(0) + ' ' + this.tran('s'));\n }\n this.video.currentTime = time;\n if (this.danmaku) {\n this.danmaku.seek();\n }\n this.updateBar('played', time / this.video.duration, 'width');\n }\n },\n {\n key: 'play',\n value: function play() {\n this.paused = false;\n if (this.video.paused) {\n this.bezel.innerHTML = this.icons.get('play');\n this.bezel.classList.add('dplayer-bezel-transition');\n }\n this.playButton.innerHTML = this.icons.get('pause');\n this.video.play();\n this.setTime();\n this.container.classList.add('dplayer-playing');\n if (this.danmaku) {\n this.danmaku.play();\n }\n }\n },\n {\n key: 'pause',\n value: function pause() {\n this.paused = true;\n this.container.classList.remove('dplayer-loading');\n if (!this.video.paused) {\n this.bezel.innerHTML = this.icons.get('pause');\n this.bezel.classList.add('dplayer-bezel-transition');\n }\n this.ended = false;\n this.playButton.innerHTML = this.icons.get('play');\n this.video.pause();\n this.clearTime();\n this.container.classList.remove('dplayer-playing');\n if (this.danmaku) {\n this.danmaku.pause();\n }\n }\n },\n {\n key: 'volume',\n value: function volume(percentage, nostorage) {\n percentage = parseFloat(percentage);\n if (!isNaN(percentage)) {\n percentage = percentage > 0 ? percentage : 0;\n percentage = percentage < 1 ? percentage : 1;\n this.updateBar('volume', percentage, 'width');\n var formatPercentage = (percentage * 100).toFixed(0) + '%';\n this.container.getElementsByClassName('dplayer-volume-bar-wrap')[0].dataset.balloon = formatPercentage;\n if (!nostorage) {\n this.user.set('volume', percentage);\n }\n this.video.volume = percentage;\n if (this.video.muted) {\n this.video.muted = false;\n }\n this.switchVolumeIcon();\n }\n return this.video.volume;\n }\n },\n {\n key: 'toggle',\n value: function toggle() {\n if (this.video.paused) {\n this.play();\n } else {\n this.pause();\n }\n }\n },\n {\n key: 'on',\n value: function on(name, callback) {\n this.events.on(name, callback);\n }\n },\n {\n key: 'switchVideo',\n value: function switchVideo(video, danmakuAPI) {\n this.pause();\n this.video.poster = video.pic ? video.pic : '';\n this.video.src = video.url;\n this.initMSE(this.video, video.type || 'auto');\n if (danmakuAPI) {\n this.container.getElementsByClassName('dplayer-danloading')[0].style.display = 'block';\n this.updateBar('played', 0, 'width');\n this.updateBar('loaded', 0, 'width');\n this.container.getElementsByClassName('dplayer-ptime')[0].innerHTML = '00:00';\n this.container.getElementsByClassName('dplayer-danmaku')[0].innerHTML = '';\n if (this.danmaku) {\n this.danmaku.reload({\n id: danmakuAPI.id,\n address: danmakuAPI.api,\n token: danmakuAPI.token,\n maximum: danmakuAPI.maximum,\n addition: danmakuAPI.addition,\n user: danmakuAPI.user\n });\n }\n }\n }\n },\n {\n key: 'initMSE',\n value: function initMSE(video, type) {\n this.type = type;\n if (this.type === 'auto') {\n if (/m3u8(#|\\?|$)/i.exec(video.src)) {\n this.type = 'hls';\n } else if (/.flv(#|\\?|$)/i.exec(video.src)) {\n this.type = 'flv';\n } else {\n this.type = 'normal';\n }\n }\n if (this.type === 'hls' && Hls.isSupported()) {\n var hls = new Hls();\n hls.loadSource(video.src);\n hls.attachMedia(video);\n }\n if (this.type === 'flv' && flvjs.isSupported()) {\n var flvPlayer = flvjs.createPlayer({\n type: 'flv',\n url: video.src\n });\n flvPlayer.attachMediaElement(video);\n flvPlayer.load();\n }\n }\n },\n {\n key: 'initVideo',\n value: function initVideo(video, type) {\n var _this2 = this;\n this.initMSE(video, type);\n this.on('durationchange', function () {\n if (video.duration !== 1) {\n _this2.container.getElementsByClassName('dplayer-dtime')[0].innerHTML = _utils2.default.secondToTime(video.duration);\n }\n });\n this.on('progress', function () {\n var percentage = video.buffered.length ? video.buffered.end(video.buffered.length - 1) / video.duration : 0;\n _this2.updateBar('loaded', percentage, 'width');\n });\n this.on('error', function () {\n _this2.tran && _this2.notice && _this2.notice(_this2.tran('This video fails to load'), -1);\n });\n this.ended = false;\n this.on('ended', function () {\n _this2.updateBar('played', 1, 'width');\n if (!_this2.loop) {\n _this2.ended = true;\n _this2.pause();\n } else {\n _this2.seek(0);\n video.play();\n }\n if (_this2.danmaku) {\n _this2.danmaku.danIndex = 0;\n }\n });\n this.on('play', function () {\n if (_this2.paused) {\n _this2.play();\n }\n });\n this.on('pause', function () {\n if (!_this2.paused) {\n _this2.pause();\n }\n });\n var _loop2 = function _loop2(i) {\n video.addEventListener(_this2.events.videoEvents[i], function () {\n _this2.events.trigger(_this2.events.videoEvents[i]);\n });\n };\n for (var i = 0; i < this.events.videoEvents.length; i++) {\n _loop2(i);\n }\n this.volume(this.user.get('volume'), true);\n if (this.options.subtitle) {\n this.subtitle = new _subtitle2.default(this.container.getElementsByClassName('dplayer-subtitle')[0], this.video, this.options.subtitle);\n }\n }\n },\n {\n key: 'switchQuality',\n value: function switchQuality(index) {\n var _this3 = this;\n if (this.qualityIndex === index || this.switchingQuality) {\n return;\n } else {\n this.qualityIndex = index;\n }\n this.switchingQuality = true;\n this.quality = this.options.video.quality[index];\n this.container.getElementsByClassName('dplayer-quality-icon')[0].innerHTML = this.quality.name;\n var paused = this.video.paused;\n this.video.pause();\n var videoHTML = _html2.default.video(false, null, this.options.screenshot, 'auto', this.quality.url, this.options.subtitle);\n var videoEle = new DOMParser().parseFromString(videoHTML, 'text/html').body.firstChild;\n var parent = this.container.getElementsByClassName('dplayer-video-wrap')[0];\n parent.insertBefore(videoEle, parent.getElementsByTagName('div')[0]);\n this.prevVideo = this.video;\n this.video = videoEle;\n this.initVideo(this.video, this.quality.type || this.options.video.type);\n this.seek(this.prevVideo.currentTime);\n this.notice(this.tran('Switching to') + ' ' + this.quality.name + ' ' + this.tran('quality'), -1);\n this.events.trigger('quality_start', this.quality);\n this.on('canplay', function () {\n if (_this3.prevVideo) {\n if (_this3.video.currentTime !== _this3.prevVideo.currentTime) {\n _this3.seek(_this3.prevVideo.currentTime);\n return;\n }\n parent.removeChild(_this3.prevVideo);\n _this3.video.classList.add('dplayer-video-current');\n if (!paused) {\n _this3.video.play();\n }\n _this3.prevVideo = null;\n _this3.notice(_this3.tran('Switched to') + ' ' + _this3.quality.name + ' ' + _this3.tran('quality'));\n _this3.switchingQuality = false;\n _this3.events.trigger('quality_end');\n }\n });\n }\n },\n {\n key: 'mouseHandler',\n value: function mouseHandler(pbar, timeTips) {\n var _this4 = this;\n var cumulativeOffset = function cumulativeOffset(element) {\n var top = 0, left = 0;\n do {\n top += element.offsetTop || 0;\n left += element.offsetLeft || 0;\n element = element.offsetParent;\n } while (element);\n return {\n top: top,\n left: left\n };\n };\n return function (e) {\n if (!_this4.video.duration) {\n return;\n }\n var clientX = e.clientX;\n var px = cumulativeOffset(pbar).left;\n var tx = clientX - px;\n if (tx < 0 || tx > pbar.offsetWidth) {\n return;\n }\n var time = _this4.video.duration * (tx / pbar.offsetWidth);\n timeTips.style.left = tx - 20 + 'px';\n switch (e.type) {\n case 'mouseenter':\n _this4.thumbnails && _this4.thumbnails.show();\n break;\n case 'mousemove':\n _this4.thumbnails && _this4.thumbnails.move(tx);\n timeTips.innerText = _utils2.default.secondToTime(time);\n _this4.timeTipsDisplay(true, timeTips);\n break;\n case 'mouseleave':\n _this4.thumbnails && _this4.thumbnails.hide();\n _this4.timeTipsDisplay(false, timeTips);\n break;\n }\n };\n }\n },\n {\n key: 'timeTipsDisplay',\n value: function timeTipsDisplay(show, timeTips) {\n if (show) {\n if (this.isTimeTipsShow) {\n return;\n }\n timeTips.classList.remove('hidden');\n this.isTimeTipsShow = true;\n } else {\n if (!this.isTimeTipsShow) {\n return;\n }\n timeTips.classList.add('hidden');\n this.isTimeTipsShow = false;\n }\n }\n },\n {\n key: 'initThumbnails',\n value: function initThumbnails() {\n var _this5 = this;\n this.thumbnails = new _thumbnails2.default(this.container.getElementsByClassName('dplayer-bar-preview')[0], this.container.getElementsByClassName('dplayer-bar-wrap')[0].offsetWidth, this.options.video.thumbnails, this.events);\n this.on('loadedmetadata', function () {\n _this5.thumbnails.resize(160, 90);\n });\n }\n },\n {\n key: 'notice',\n value: function notice(text) {\n var _this6 = this;\n var time = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 2000;\n var opacity = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0.8;\n var noticeEle = this.container.getElementsByClassName('dplayer-notice')[0];\n noticeEle.innerHTML = text;\n noticeEle.style.opacity = opacity;\n if (this.noticeTime) {\n clearTimeout(this.noticeTime);\n }\n this.events.trigger('notice_show', text);\n this.noticeTime = setTimeout(function () {\n noticeEle.style.opacity = 0;\n _this6.events.trigger('notice_hide');\n }, time);\n }\n },\n {\n key: 'resize',\n value: function resize() {\n if (this.danmaku) {\n this.danmaku.resize();\n }\n this.events.trigger('resize');\n }\n },\n {\n key: 'destroy',\n value: function destroy() {\n this.pause();\n clearTimeout(this.hideTime);\n this.video.src = '';\n this.container.innerHTML = '';\n this.events.trigger('destroy');\n for (var key in this) {\n if (this.hasOwnProperty(key) && key !== 'paused') {\n delete this[key];\n }\n }\n }\n }\n ]);\n return DPlayer;\n}();\nmodule.exports = DPlayer;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/DPlayer.js\n// module id = 2\n// module chunks = 0","'use strict';\nvar defaultApiBackend = require('./api.js');\nmodule.exports = function (options) {\n var isMobile = /mobile/i.test(window.navigator.userAgent);\n if (isMobile) {\n options.autoplay = false;\n }\n var defaultOption = {\n container: options.element || document.getElementsByClassName('dplayer')[0],\n autoplay: false,\n theme: '#b7daff',\n loop: false,\n lang: (navigator.language || navigator.browserLanguage).toLowerCase(),\n screenshot: false,\n hotkey: true,\n preload: 'auto',\n volume: 0.7,\n apiBackend: defaultApiBackend,\n video: {},\n icons: {\n play: [\n '0 0 16 32',\n 'M15.552 15.168q0.448 0.32 0.448 0.832 0 0.448-0.448 0.768l-13.696 8.512q-0.768 0.512-1.312 0.192t-0.544-1.28v-16.448q0-0.96 0.544-1.28t1.312 0.192z'\n ],\n pause: [\n '0 0 17 32',\n 'M14.080 4.8q2.88 0 2.88 2.048v18.24q0 2.112-2.88 2.112t-2.88-2.112v-18.24q0-2.048 2.88-2.048zM2.88 4.8q2.88 0 2.88 2.048v18.24q0 2.112-2.88 2.112t-2.88-2.112v-18.24q0-2.048 2.88-2.048z'\n ],\n 'volume-up': [\n '0 0 21 32',\n 'M13.728 6.272v19.456q0 0.448-0.352 0.8t-0.8 0.32-0.8-0.32l-5.952-5.952h-4.672q-0.48 0-0.8-0.352t-0.352-0.8v-6.848q0-0.48 0.352-0.8t0.8-0.352h4.672l5.952-5.952q0.32-0.32 0.8-0.32t0.8 0.32 0.352 0.8zM20.576 16q0 1.344-0.768 2.528t-2.016 1.664q-0.16 0.096-0.448 0.096-0.448 0-0.8-0.32t-0.32-0.832q0-0.384 0.192-0.64t0.544-0.448 0.608-0.384 0.512-0.64 0.192-1.024-0.192-1.024-0.512-0.64-0.608-0.384-0.544-0.448-0.192-0.64q0-0.48 0.32-0.832t0.8-0.32q0.288 0 0.448 0.096 1.248 0.48 2.016 1.664t0.768 2.528zM25.152 16q0 2.72-1.536 5.056t-4 3.36q-0.256 0.096-0.448 0.096-0.48 0-0.832-0.352t-0.32-0.8q0-0.704 0.672-1.056 1.024-0.512 1.376-0.8 1.312-0.96 2.048-2.4t0.736-3.104-0.736-3.104-2.048-2.4q-0.352-0.288-1.376-0.8-0.672-0.352-0.672-1.056 0-0.448 0.32-0.8t0.8-0.352q0.224 0 0.48 0.096 2.496 1.056 4 3.36t1.536 5.056zM29.728 16q0 4.096-2.272 7.552t-6.048 5.056q-0.224 0.096-0.448 0.096-0.48 0-0.832-0.352t-0.32-0.8q0-0.64 0.704-1.056 0.128-0.064 0.384-0.192t0.416-0.192q0.8-0.448 1.44-0.896 2.208-1.632 3.456-4.064t1.216-5.152-1.216-5.152-3.456-4.064q-0.64-0.448-1.44-0.896-0.128-0.096-0.416-0.192t-0.384-0.192q-0.704-0.416-0.704-1.056 0-0.448 0.32-0.8t0.832-0.352q0.224 0 0.448 0.096 3.776 1.632 6.048 5.056t2.272 7.552z'\n ],\n 'volume-down': [\n '0 0 21 32',\n 'M13.728 6.272v19.456q0 0.448-0.352 0.8t-0.8 0.32-0.8-0.32l-5.952-5.952h-4.672q-0.48 0-0.8-0.352t-0.352-0.8v-6.848q0-0.48 0.352-0.8t0.8-0.352h4.672l5.952-5.952q0.32-0.32 0.8-0.32t0.8 0.32 0.352 0.8zM20.576 16q0 1.344-0.768 2.528t-2.016 1.664q-0.16 0.096-0.448 0.096-0.448 0-0.8-0.32t-0.32-0.832q0-0.384 0.192-0.64t0.544-0.448 0.608-0.384 0.512-0.64 0.192-1.024-0.192-1.024-0.512-0.64-0.608-0.384-0.544-0.448-0.192-0.64q0-0.48 0.32-0.832t0.8-0.32q0.288 0 0.448 0.096 1.248 0.48 2.016 1.664t0.768 2.528z'\n ],\n 'volume-off': [\n '0 0 21 32',\n 'M13.728 6.272v19.456q0 0.448-0.352 0.8t-0.8 0.32-0.8-0.32l-5.952-5.952h-4.672q-0.48 0-0.8-0.352t-0.352-0.8v-6.848q0-0.48 0.352-0.8t0.8-0.352h4.672l5.952-5.952q0.32-0.32 0.8-0.32t0.8 0.32 0.352 0.8z'\n ],\n loop: [\n '0 0 32 32',\n 'M1.882 16.941c0 4.152 3.221 7.529 7.177 7.529v1.882c-4.996 0-9.060-4.222-9.060-9.412s4.064-9.412 9.060-9.412h7.96l-3.098-3.098 1.331-1.331 5.372 5.37-5.37 5.372-1.333-1.333 3.1-3.098h-7.962c-3.957 0-7.177 3.377-7.177 7.529zM22.94 7.529v1.882c3.957 0 7.177 3.377 7.177 7.529s-3.221 7.529-7.177 7.529h-7.962l3.098-3.098-1.331-1.331-5.37 5.37 5.372 5.372 1.331-1.331-3.1-3.1h7.96c4.998 0 9.062-4.222 9.062-9.412s-4.064-9.412-9.060-9.412z'\n ],\n full: [\n '0 0 32 33',\n 'M6.667 28h-5.333c-0.8 0-1.333-0.533-1.333-1.333v-5.333c0-0.8 0.533-1.333 1.333-1.333s1.333 0.533 1.333 1.333v4h4c0.8 0 1.333 0.533 1.333 1.333s-0.533 1.333-1.333 1.333zM30.667 28h-5.333c-0.8 0-1.333-0.533-1.333-1.333s0.533-1.333 1.333-1.333h4v-4c0-0.8 0.533-1.333 1.333-1.333s1.333 0.533 1.333 1.333v5.333c0 0.8-0.533 1.333-1.333 1.333zM30.667 12c-0.8 0-1.333-0.533-1.333-1.333v-4h-4c-0.8 0-1.333-0.533-1.333-1.333s0.533-1.333 1.333-1.333h5.333c0.8 0 1.333 0.533 1.333 1.333v5.333c0 0.8-0.533 1.333-1.333 1.333zM1.333 12c-0.8 0-1.333-0.533-1.333-1.333v-5.333c0-0.8 0.533-1.333 1.333-1.333h5.333c0.8 0 1.333 0.533 1.333 1.333s-0.533 1.333-1.333 1.333h-4v4c0 0.8-0.533 1.333-1.333 1.333z'\n ],\n 'full-in': [\n '0 0 32 33',\n 'M24.965 24.38h-18.132c-1.366 0-2.478-1.113-2.478-2.478v-11.806c0-1.364 1.111-2.478 2.478-2.478h18.132c1.366 0 2.478 1.113 2.478 2.478v11.806c0 1.364-1.11 2.478-2.478 2.478zM6.833 10.097v11.806h18.134l-0.002-11.806h-18.132zM2.478 28.928h5.952c0.684 0 1.238-0.554 1.238-1.239 0-0.684-0.554-1.238-1.238-1.238h-5.952v-5.802c0-0.684-0.554-1.239-1.238-1.239s-1.239 0.556-1.239 1.239v5.802c0 1.365 1.111 2.478 2.478 2.478zM30.761 19.412c-0.684 0-1.238 0.554-1.238 1.238v5.801h-5.951c-0.686 0-1.239 0.554-1.239 1.238 0 0.686 0.554 1.239 1.239 1.239h5.951c1.366 0 2.478-1.111 2.478-2.478v-5.801c0-0.683-0.554-1.238-1.239-1.238zM0 5.55v5.802c0 0.683 0.554 1.238 1.238 1.238s1.238-0.555 1.238-1.238v-5.802h5.952c0.684 0 1.238-0.554 1.238-1.238s-0.554-1.238-1.238-1.238h-5.951c-1.366-0.001-2.478 1.111-2.478 2.476zM32 11.35v-5.801c0-1.365-1.11-2.478-2.478-2.478h-5.951c-0.686 0-1.239 0.554-1.239 1.238s0.554 1.238 1.239 1.238h5.951v5.801c0 0.683 0.554 1.237 1.238 1.237 0.686 0.002 1.239-0.553 1.239-1.236z'\n ],\n setting: [\n '0 0 32 28',\n 'M28.633 17.104c0.035 0.21 0.026 0.463-0.026 0.76s-0.14 0.598-0.262 0.904c-0.122 0.306-0.271 0.581-0.445 0.825s-0.367 0.419-0.576 0.524c-0.209 0.105-0.393 0.157-0.55 0.157s-0.332-0.035-0.524-0.105c-0.175-0.052-0.393-0.1-0.655-0.144s-0.528-0.052-0.799-0.026c-0.271 0.026-0.541 0.083-0.812 0.17s-0.502 0.236-0.694 0.445c-0.419 0.437-0.664 0.934-0.734 1.493s0.009 1.092 0.236 1.598c0.175 0.349 0.148 0.699-0.079 1.048-0.105 0.14-0.271 0.284-0.498 0.432s-0.476 0.284-0.747 0.406-0.555 0.218-0.851 0.288c-0.297 0.070-0.559 0.105-0.786 0.105-0.157 0-0.306-0.061-0.445-0.183s-0.236-0.253-0.288-0.393h-0.026c-0.192-0.541-0.52-1.009-0.982-1.402s-1-0.589-1.611-0.589c-0.594 0-1.131 0.197-1.611 0.589s-0.816 0.851-1.009 1.375c-0.087 0.21-0.218 0.362-0.393 0.458s-0.367 0.144-0.576 0.144c-0.244 0-0.52-0.044-0.825-0.131s-0.611-0.197-0.917-0.327c-0.306-0.131-0.581-0.284-0.825-0.458s-0.428-0.349-0.55-0.524c-0.087-0.122-0.135-0.266-0.144-0.432s0.057-0.397 0.197-0.694c0.192-0.402 0.266-0.86 0.223-1.375s-0.266-0.991-0.668-1.428c-0.244-0.262-0.541-0.432-0.891-0.511s-0.681-0.109-0.995-0.092c-0.367 0.017-0.742 0.087-1.127 0.21-0.244 0.070-0.489 0.052-0.734-0.052-0.192-0.070-0.371-0.231-0.537-0.485s-0.314-0.533-0.445-0.838c-0.131-0.306-0.231-0.62-0.301-0.943s-0.087-0.59-0.052-0.799c0.052-0.384 0.227-0.629 0.524-0.734 0.524-0.21 0.995-0.555 1.415-1.035s0.629-1.017 0.629-1.611c0-0.611-0.21-1.144-0.629-1.598s-0.891-0.786-1.415-0.996c-0.157-0.052-0.288-0.179-0.393-0.38s-0.157-0.406-0.157-0.616c0-0.227 0.035-0.48 0.105-0.76s0.162-0.55 0.275-0.812 0.244-0.502 0.393-0.72c0.148-0.218 0.31-0.38 0.485-0.485 0.14-0.087 0.275-0.122 0.406-0.105s0.275 0.052 0.432 0.105c0.524 0.21 1.070 0.275 1.637 0.197s1.070-0.327 1.506-0.747c0.21-0.209 0.362-0.467 0.458-0.773s0.157-0.607 0.183-0.904c0.026-0.297 0.026-0.568 0-0.812s-0.048-0.419-0.065-0.524c-0.035-0.105-0.066-0.227-0.092-0.367s-0.013-0.262 0.039-0.367c0.105-0.244 0.293-0.458 0.563-0.642s0.563-0.336 0.878-0.458c0.314-0.122 0.62-0.214 0.917-0.275s0.533-0.092 0.707-0.092c0.227 0 0.406 0.074 0.537 0.223s0.223 0.301 0.275 0.458c0.192 0.471 0.507 0.886 0.943 1.244s0.952 0.537 1.546 0.537c0.611 0 1.153-0.17 1.624-0.511s0.803-0.773 0.996-1.297c0.070-0.14 0.179-0.284 0.327-0.432s0.301-0.223 0.458-0.223c0.244 0 0.511 0.035 0.799 0.105s0.572 0.166 0.851 0.288c0.279 0.122 0.537 0.279 0.773 0.472s0.423 0.402 0.563 0.629c0.087 0.14 0.113 0.293 0.079 0.458s-0.070 0.284-0.105 0.354c-0.227 0.506-0.297 1.039-0.21 1.598s0.341 1.048 0.76 1.467c0.419 0.419 0.934 0.651 1.546 0.694s1.179-0.057 1.703-0.301c0.14-0.087 0.31-0.122 0.511-0.105s0.371 0.096 0.511 0.236c0.262 0.244 0.493 0.616 0.694 1.113s0.336 1 0.406 1.506c0.035 0.297-0.013 0.528-0.144 0.694s-0.266 0.275-0.406 0.327c-0.542 0.192-1.004 0.528-1.388 1.009s-0.576 1.026-0.576 1.637c0 0.594 0.162 1.113 0.485 1.559s0.747 0.764 1.27 0.956c0.122 0.070 0.227 0.14 0.314 0.21 0.192 0.157 0.323 0.358 0.393 0.602v0zM16.451 19.462c0.786 0 1.528-0.149 2.227-0.445s1.305-0.707 1.821-1.231c0.515-0.524 0.921-1.131 1.218-1.821s0.445-1.428 0.445-2.214c0-0.786-0.148-1.524-0.445-2.214s-0.703-1.292-1.218-1.808c-0.515-0.515-1.122-0.921-1.821-1.218s-1.441-0.445-2.227-0.445c-0.786 0-1.524 0.148-2.214 0.445s-1.292 0.703-1.808 1.218c-0.515 0.515-0.921 1.118-1.218 1.808s-0.445 1.428-0.445 2.214c0 0.786 0.149 1.524 0.445 2.214s0.703 1.297 1.218 1.821c0.515 0.524 1.118 0.934 1.808 1.231s1.428 0.445 2.214 0.445v0z'\n ],\n right: [\n '0 0 32 32',\n 'M22 16l-10.105-10.6-1.895 1.987 8.211 8.613-8.211 8.612 1.895 1.988 8.211-8.613z'\n ],\n comment: [\n '0 0 32 32',\n 'M27.128 0.38h-22.553c-2.336 0-4.229 1.825-4.229 4.076v16.273c0 2.251 1.893 4.076 4.229 4.076h4.229v-2.685h8.403l-8.784 8.072 1.566 1.44 7.429-6.827h9.71c2.335 0 4.229-1.825 4.229-4.076v-16.273c0-2.252-1.894-4.076-4.229-4.076zM28.538 19.403c0 1.5-1.262 2.717-2.819 2.717h-8.36l-0.076-0.070-0.076 0.070h-11.223c-1.557 0-2.819-1.217-2.819-2.717v-13.589c0-1.501 1.262-2.718 2.819-2.718h19.734c1.557 0 2.819-0.141 2.819 1.359v14.947zM9.206 10.557c-1.222 0-2.215 0.911-2.215 2.036s0.992 2.035 2.215 2.035c1.224 0 2.216-0.911 2.216-2.035s-0.992-2.036-2.216-2.036zM22.496 10.557c-1.224 0-2.215 0.911-2.215 2.036s0.991 2.035 2.215 2.035c1.224 0 2.215-0.911 2.215-2.035s-0.991-2.036-2.215-2.036zM15.852 10.557c-1.224 0-2.215 0.911-2.215 2.036s0.991 2.035 2.215 2.035c1.222 0 2.215-0.911 2.215-2.035s-0.992-2.036-2.215-2.036z'\n ],\n 'comment-off': [\n '0 0 32 32',\n 'M27.090 0.131h-22.731c-2.354 0-4.262 1.839-4.262 4.109v16.401c0 2.269 1.908 4.109 4.262 4.109h4.262v-2.706h8.469l-8.853 8.135 1.579 1.451 7.487-6.88h9.787c2.353 0 4.262-1.84 4.262-4.109v-16.401c0-2.27-1.909-4.109-4.262-4.109v0zM28.511 19.304c0 1.512-1.272 2.738-2.841 2.738h-8.425l-0.076-0.070-0.076 0.070h-11.311c-1.569 0-2.841-1.226-2.841-2.738v-13.696c0-1.513 1.272-2.739 2.841-2.739h19.889c1.569 0 2.841-0.142 2.841 1.37v15.064z'\n ],\n send: [\n '0 0 32 32',\n 'M13.725 30l3.9-5.325-3.9-1.125v6.45zM0 17.5l11.050 3.35 13.6-11.55-10.55 12.425 11.8 3.65 6.1-23.375-32 15.5z'\n ],\n menu: [\n '0 0 22 32',\n 'M20.8 14.4q0.704 0 1.152 0.48t0.448 1.12-0.48 1.12-1.12 0.48h-19.2q-0.64 0-1.12-0.48t-0.48-1.12 0.448-1.12 1.152-0.48h19.2zM1.6 11.2q-0.64 0-1.12-0.48t-0.48-1.12 0.448-1.12 1.152-0.48h19.2q0.704 0 1.152 0.48t0.448 1.12-0.48 1.12-1.12 0.48h-19.2zM20.8 20.8q0.704 0 1.152 0.48t0.448 1.12-0.48 1.12-1.12 0.48h-19.2q-0.64 0-1.12-0.48t-0.48-1.12 0.448-1.12 1.152-0.48h19.2z'\n ],\n camera: [\n '0 0 32 32',\n 'M16 23c-3.309 0-6-2.691-6-6s2.691-6 6-6 6 2.691 6 6-2.691 6-6 6zM16 13c-2.206 0-4 1.794-4 4s1.794 4 4 4c2.206 0 4-1.794 4-4s-1.794-4-4-4zM27 28h-22c-1.654 0-3-1.346-3-3v-16c0-1.654 1.346-3 3-3h3c0.552 0 1 0.448 1 1s-0.448 1-1 1h-3c-0.551 0-1 0.449-1 1v16c0 0.552 0.449 1 1 1h22c0.552 0 1-0.448 1-1v-16c0-0.551-0.448-1-1-1h-11c-0.552 0-1-0.448-1-1s0.448-1 1-1h11c1.654 0 3 1.346 3 3v16c0 1.654-1.346 3-3 3zM24 10.5c0 0.828 0.672 1.5 1.5 1.5s1.5-0.672 1.5-1.5c0-0.828-0.672-1.5-1.5-1.5s-1.5 0.672-1.5 1.5zM15 4c0 0.552-0.448 1-1 1h-4c-0.552 0-1-0.448-1-1v0c0-0.552 0.448-1 1-1h4c0.552 0 1 0.448 1 1v0z'\n ]\n },\n iconsColor: '#ffffff',\n contextmenu: []\n };\n for (var defaultKey in defaultOption) {\n if (defaultOption.hasOwnProperty(defaultKey) && !options.hasOwnProperty(defaultKey)) {\n options[defaultKey] = defaultOption[defaultKey];\n }\n }\n if (options.video) {\n !options.video.type && (options.video.type = 'auto');\n }\n if (options.danmaku) {\n !options.danmaku.user && (options.danmaku.user = 'DIYgod');\n }\n if (options.subtitle) {\n !options.subtitle.type && (options.subtitle.type = 'webvtt');\n !options.subtitle.fontSize && (options.subtitle.fontSize = '20px');\n !options.subtitle.bottom && (options.subtitle.bottom = '40px');\n !options.subtitle.color && (options.subtitle.color = '#fff');\n }\n if (options.video.quality) {\n options.video.url = [options.video.quality[options.video.defaultQuality].url];\n }\n if (options.lang) {\n options.lang = options.lang.toLowerCase();\n }\n if (options.icons) {\n options.icons = Object.assign({}, defaultOption.icons, options.icons);\n }\n options.contextmenu = options.contextmenu.concat([\n {\n text: 'About author',\n link: 'https://www.anotherhome.net/'\n },\n {\n text: 'About DPlayer',\n link: 'https://github.com/MoePlayer/DPlayer'\n },\n {\n text: 'DPlayer feedback',\n link: 'https://github.com/DIYgod/DPlayer/issues'\n },\n {\n text: 'DPlayer ' + DPLAYER_VERSION + ' ' + GIT_HASH,\n link: 'https://github.com/MoePlayer/DPlayer/releases'\n }\n ]);\n return options;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/options.js\n// module id = 4\n// module chunks = 0","'use strict';\nvar SendXMLHttpRequest = function SendXMLHttpRequest(url, data, success, error, fail) {\n var xhr = new XMLHttpRequest();\n xhr.onreadystatechange = function () {\n if (xhr.readyState === 4) {\n if (xhr.status >= 200 && xhr.status < 300 || xhr.status === 304) {\n var response = JSON.parse(xhr.responseText);\n if (response.code !== 1) {\n return error(xhr, response);\n }\n return success(xhr, response);\n }\n fail(xhr);\n }\n };\n xhr.open(data !== null ? 'POST' : 'GET', url, true);\n xhr.send(data !== null ? JSON.stringify(data) : null);\n};\nmodule.exports = {\n send: function send(endpoint, danmakuData, callback) {\n SendXMLHttpRequest(endpoint, danmakuData, function (xhr, response) {\n console.log('Post danmaku: ', response);\n if (callback) {\n callback();\n }\n }, function (xhr, response) {\n alert(response.msg);\n }, function (xhr) {\n console.log('Request was unsuccessful: ' + xhr.status);\n });\n },\n read: function read(endpoint, callback) {\n SendXMLHttpRequest(endpoint, null, function (xhr, response) {\n callback(null, response.danmaku);\n }, function (xhr, response) {\n callback({\n status: xhr.status,\n response: response\n });\n }, function (xhr) {\n callback({\n status: xhr.status,\n response: null\n });\n });\n }\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/api.js\n// module id = 5\n// module chunks = 0","'use strict';\nmodule.exports = function (lang) {\n var _this = this;\n this.lang = lang;\n this.tran = function (text) {\n if (tranTxt[_this.lang] && tranTxt[_this.lang][text]) {\n return tranTxt[_this.lang][text];\n } else {\n return text;\n }\n };\n};\nvar tranTxt = {\n 'zh-cn': {\n 'Danmaku is loading': '弹幕加载中',\n 'Top': '顶部',\n 'Bottom': '底部',\n 'Rolling': '滚动',\n 'Input danmaku, hit Enter': '输入弹幕\\uFF0C回车发送',\n 'About author': '关于作者',\n 'DPlayer feedback': '播放器意见反馈',\n 'About DPlayer': '关于 DPlayer 播放器',\n 'Loop': '洗脑循环',\n 'Speed': '速度',\n 'Opacity for danmaku': '弹幕透明度',\n 'Normal': '正常',\n 'Please input danmaku content!': '要输入弹幕内容啊喂\\uFF01',\n 'Set danmaku color': '设置弹幕颜色',\n 'Set danmaku type': '设置弹幕类型',\n 'Show danmaku': '显示弹幕',\n 'This video fails to load': '视频加载失败',\n 'Switching to': '正在切换至',\n 'Switched to': '已经切换至',\n 'quality': '画质',\n 'FF': '快进',\n 'REW': '快退',\n 'Unlimited danmaku': '海量弹幕',\n 'Send danmaku': '发送弹幕',\n 'Setting': '设置',\n 'Full screen': '全屏',\n 'Web full screen': '页面全屏',\n 'Send': '发送',\n 'Screenshot': '截图',\n 's': '秒'\n },\n 'zh-tw': {\n 'Danmaku is loading': '彈幕加載中',\n 'Top': '頂部',\n 'Bottom': '底部',\n 'Rolling': '滾動',\n 'Input danmaku, hit Enter': '輸入彈幕\\uFF0CEnter 發送',\n 'About author': '關於作者',\n 'DPlayer feedback': '播放器意見反饋',\n 'About DPlayer': '關於 DPlayer 播放器',\n 'Loop': '循環播放',\n 'Speed': '速度',\n 'Opacity for danmaku': '彈幕透明度',\n 'Normal': '正常',\n 'Please input danmaku content!': '請輸入彈幕内容啊\\uFF01',\n 'Set danmaku color': '設置彈幕顏色',\n 'Set danmaku type': '設置彈幕類型',\n 'Show danmaku': '顯示彈幕',\n 'This video fails to load': '視頻加載失敗',\n 'Switching to': '正在切換至',\n 'Switched to': '已經切換至',\n 'quality': '畫質',\n 'FF': '快進',\n 'REW': '快退',\n 'Unlimited danmaku': '海量彈幕',\n 'Send danmaku': '發送彈幕',\n 'Setting': '設置',\n 'Full screen': '全屏',\n 'Web full screen': '頁面全屏',\n 'Send': '發送',\n 'Screenshot': '截圖',\n 's': '秒'\n }\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/i18n.js\n// module id = 6\n// module chunks = 0","'use strict';\nvar html = {\n main: function main(options, index, tran, icons) {\n return '
' + html.video(true, options.video.pic, options.screenshot, options.preload, options.video.url, options.subtitle) + '' + (options.logo ? '
' : '') + '
' + (options.danmaku ? '' + tran('Danmaku is loading') + '' : '') + '
0:00 / 0:00
' + (options.video.quality ? '
' + html.qualityList(options.video.quality) + '
' : '') + '' + (options.screenshot ? '' + icons.get('camera') + '' : '') + '
' + tran('Set danmaku color') + '
' + tran('Set danmaku type') + '
00:00
' + html.contextmenuList(options.contextmenu, tran) + '
';\n },\n danmakumargin: function danmakumargin(margin) {\n var result = '';\n if (margin) {\n for (var key in margin) {\n result += key + ':' + margin[key] + ';';\n }\n }\n return result;\n },\n contextmenuList: function contextmenuList(contextmenu, tran) {\n var result = '
';\n for (var i = 0; i < contextmenu.length; i++) {\n result += '';\n }\n result += '
';\n return result;\n },\n qualityList: function qualityList(quality) {\n var result = '
';\n for (var i = 0; i < quality.length; i++) {\n result += '
' + quality[i].name + '
';\n }\n result += '
';\n return result;\n },\n video: function video(current, pic, screenshot, preload, url, subtitle) {\n var enableSubtitle = subtitle && subtitle.type === 'webvtt';\n return '';\n },\n setting: function setting(tran, icons) {\n return {\n 'original': '
' + tran('Speed') + '
' + icons.get('right') + '
' + tran('Loop') + '
' + tran('Show danmaku') + '
' + tran('Unlimited danmaku') + '
' + tran('Opacity for danmaku') + '
',\n 'speed': '
0.5
0.75
' + tran('Normal') + '
1.25
1.5
2
'\n };\n }\n};\nmodule.exports = html;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/html.js\n// module id = 7\n// module chunks = 0","'use strict';\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nvar SvgSource = function () {\n function SvgSource(options) {\n _classCallCheck(this, SvgSource);\n this.icons = options.icons;\n this.iconColor = options.iconsColor;\n }\n _createClass(SvgSource, [{\n key: 'get',\n value: function get(type) {\n return '';\n }\n }]);\n return SvgSource;\n}();\nmodule.exports = SvgSource;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/svg.js\n// module id = 8\n// module chunks = 0","'use strict';\nvar _typeof = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol' ? function (obj) {\n return typeof obj;\n} : function (obj) {\n return obj && typeof Symbol === 'function' && obj.constructor === Symbol && obj !== Symbol.prototype ? 'symbol' : typeof obj;\n};\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nvar Danmaku = function () {\n function Danmaku(options) {\n _classCallCheck(this, Danmaku);\n this.options = options;\n this.container = this.options.container;\n this.danTunnel = {\n right: {},\n top: {},\n bottom: {}\n };\n this.danIndex = 0;\n this.dan = [];\n this.showing = true;\n this._opacity = this.options.opacity;\n this.events = this.options.events;\n this.unlimited = this.options.unlimited;\n this._measure('');\n this.load();\n }\n _createClass(Danmaku, [\n {\n key: 'load',\n value: function load() {\n var _this = this;\n var apiurl = void 0;\n if (this.options.api.maximum) {\n apiurl = this.options.api.address + '?id=' + this.options.api.id + '&max=' + this.options.api.maximum;\n } else {\n apiurl = this.options.api.address + '?id=' + this.options.api.id;\n }\n var endpoints = (this.options.api.addition || []).slice(0);\n endpoints.push(apiurl);\n this.events && this.events.trigger('danmaku_load_start', endpoints);\n this._readAllEndpoints(endpoints, function (results) {\n _this.dan = [].concat.apply([], results).sort(function (a, b) {\n return a.time - b.time;\n });\n window.requestAnimationFrame(function () {\n _this.frame();\n });\n _this.options.callback();\n _this.events && _this.events.trigger('danmaku_load_end');\n });\n }\n },\n {\n key: 'reload',\n value: function reload(newAPI) {\n this.options.api = newAPI;\n this.dan = [];\n this.clear();\n this.load();\n }\n },\n {\n key: '_readAllEndpoints',\n value: function _readAllEndpoints(endpoints, callback) {\n var _this2 = this;\n var results = [];\n var readCount = 0;\n var cbk = function cbk(i) {\n return function (err, data) {\n ++readCount;\n if (err) {\n if (err.response) {\n _this2.options.error(err.response.msg);\n } else {\n _this2.options.error('Request was unsuccessful: ' + err.status);\n }\n results[i] = [];\n } else {\n results[i] = data;\n }\n if (readCount === endpoints.length) {\n return callback(results);\n }\n };\n };\n for (var i = 0; i < endpoints.length; ++i) {\n this.options.apiBackend.read(endpoints[i], cbk(i));\n }\n }\n },\n {\n key: 'send',\n value: function send(dan, callback) {\n var danmakuData = {\n token: this.options.api.token,\n player: this.options.api.id,\n author: this.options.api.user,\n time: this.options.time(),\n text: dan.text,\n color: dan.color,\n type: dan.type\n };\n this.options.apiBackend.send(this.options.api.address, danmakuData, callback);\n this.dan.splice(this.danIndex, 0, danmakuData);\n this.danIndex++;\n var danmaku = {\n text: this.htmlEncode(danmakuData.text),\n color: danmakuData.color,\n type: danmakuData.type,\n border: '2px solid ' + this.options.borderColor\n };\n this.draw(danmaku);\n this.events && this.events.trigger('danmaku_send', danmakuData);\n }\n },\n {\n key: 'frame',\n value: function frame() {\n var _this3 = this;\n if (this.dan.length && !this.paused && this.showing) {\n var item = this.dan[this.danIndex];\n var dan = [];\n while (item && this.options.time() > parseFloat(item.time)) {\n dan.push(item);\n item = this.dan[++this.danIndex];\n }\n this.draw(dan);\n }\n window.requestAnimationFrame(function () {\n _this3.frame();\n });\n }\n },\n {\n key: 'opacity',\n value: function opacity(percentage) {\n if (percentage !== undefined) {\n var items = this.container.getElementsByClassName('dplayer-danmaku-item');\n for (var i = 0; i < items.length; i++) {\n items[i].style.opacity = percentage;\n }\n this._opacity = percentage;\n this.events && this.events.trigger('danmaku_opacity', this._opacity);\n }\n return this._opacity;\n }\n },\n {\n key: 'draw',\n value: function draw(dan) {\n var _this4 = this;\n var itemHeight = this.options.height;\n var danWidth = this.container.offsetWidth;\n var danHeight = this.container.offsetHeight;\n var itemY = parseInt(danHeight / itemHeight);\n var danItemRight = function danItemRight(ele) {\n var eleWidth = ele.offsetWidth || parseInt(ele.style.width);\n var eleRight = ele.getBoundingClientRect().right || _this4.container.getBoundingClientRect().right + eleWidth;\n return _this4.container.getBoundingClientRect().right - eleRight;\n };\n var danSpeed = function danSpeed(width) {\n return (danWidth + width) / 5;\n };\n var getTunnel = function getTunnel(ele, type, width) {\n var tmp = danWidth / danSpeed(width);\n var _loop = function _loop(i) {\n var item = _this4.danTunnel[type][i + ''];\n if (item && item.length) {\n if (type !== 'right') {\n return 'continue';\n }\n for (var j = 0; j < item.length; j++) {\n var danRight = danItemRight(item[j]) - 10;\n if (danRight <= danWidth - tmp * danSpeed(parseInt(item[j].style.width)) || danRight <= 0) {\n break;\n }\n if (j === item.length - 1) {\n _this4.danTunnel[type][i + ''].push(ele);\n ele.addEventListener('animationend', function () {\n _this4.danTunnel[type][i + ''].splice(0, 1);\n });\n return { v: i % itemY };\n }\n }\n } else {\n _this4.danTunnel[type][i + ''] = [ele];\n ele.addEventListener('animationend', function () {\n _this4.danTunnel[type][i + ''].splice(0, 1);\n });\n return { v: i % itemY };\n }\n };\n for (var i = 0; _this4.unlimited || i < itemY; i++) {\n var _ret = _loop(i);\n switch (_ret) {\n case 'continue':\n continue;\n default:\n if ((typeof _ret === 'undefined' ? 'undefined' : _typeof(_ret)) === 'object')\n return _ret.v;\n }\n }\n return -1;\n };\n if (Object.prototype.toString.call(dan) !== '[object Array]') {\n dan = [dan];\n }\n var docFragment = document.createDocumentFragment();\n var _loop2 = function _loop2(i) {\n if (!dan[i].type) {\n dan[i].type = 'right';\n }\n if (!dan[i].color) {\n dan[i].color = '#fff';\n }\n var item = document.createElement('div');\n item.classList.add('dplayer-danmaku-item');\n item.classList.add('dplayer-danmaku-' + dan[i].type);\n if (dan[i].border) {\n item.innerHTML = '' + dan[i].text + '';\n } else {\n item.innerHTML = dan[i].text;\n }\n item.style.opacity = _this4._opacity;\n item.style.color = dan[i].color;\n item.addEventListener('animationend', function () {\n _this4.container.removeChild(item);\n });\n var itemWidth = _this4._measure(dan[i].text);\n var tunnel = void 0;\n switch (dan[i].type) {\n case 'right':\n tunnel = getTunnel(item, dan[i].type, itemWidth);\n if (tunnel >= 0) {\n item.style.width = itemWidth + 1 + 'px';\n item.style.top = itemHeight * tunnel + 'px';\n item.style.transform = 'translateX(-' + danWidth + 'px)';\n }\n break;\n case 'top':\n tunnel = getTunnel(item, dan[i].type);\n if (tunnel >= 0) {\n item.style.top = itemHeight * tunnel + 'px';\n }\n break;\n case 'bottom':\n tunnel = getTunnel(item, dan[i].type);\n if (tunnel >= 0) {\n item.style.bottom = itemHeight * tunnel + 'px';\n }\n break;\n default:\n console.error('Can\\'t handled danmaku type: ' + dan[i].type);\n }\n if (tunnel >= 0) {\n item.classList.add('dplayer-danmaku-move');\n docFragment.appendChild(item);\n }\n };\n for (var i = 0; i < dan.length; i++) {\n _loop2(i);\n }\n this.container.appendChild(docFragment);\n return docFragment;\n }\n },\n {\n key: 'play',\n value: function play() {\n this.paused = false;\n }\n },\n {\n key: 'pause',\n value: function pause() {\n this.paused = true;\n }\n },\n {\n key: '_measure',\n value: function _measure(text) {\n if (!this.context) {\n var measureStyle = getComputedStyle(this.container.getElementsByClassName('dplayer-danmaku-item')[0], null);\n this.context = document.createElement('canvas').getContext('2d');\n this.context.font = measureStyle.getPropertyValue('font');\n }\n return this.context.measureText(text).width;\n }\n },\n {\n key: 'seek',\n value: function seek() {\n for (var i = 0; i < this.dan.length; i++) {\n if (this.dan[i].time >= this.options.time()) {\n this.danIndex = i;\n break;\n }\n this.danIndex = this.dan.length;\n }\n }\n },\n {\n key: 'clear',\n value: function clear() {\n this.danTunnel = {\n right: {},\n top: {},\n bottom: {}\n };\n this.danIndex = 0;\n this.options.container.innerHTML = '';\n this.events && this.events.trigger('danmaku_clear');\n }\n },\n {\n key: 'htmlEncode',\n value: function htmlEncode(str) {\n return str.replace(/&/g, '&').replace(//g, '>').replace(/\"/g, '"').replace(/'/g, ''').replace(/\\//g, '/');\n }\n },\n {\n key: 'resize',\n value: function resize() {\n var danWidth = this.container.offsetWidth;\n var items = this.container.getElementsByClassName('dplayer-danmaku-item');\n for (var i = 0; i < items.length; i++) {\n items[i].style.transform = 'translateX(-' + danWidth + 'px)';\n }\n }\n },\n {\n key: 'hide',\n value: function hide() {\n this.showing = false;\n this.pause();\n this.clear();\n this.events && this.events.trigger('danmaku_hide');\n }\n },\n {\n key: 'show',\n value: function show() {\n this.seek();\n this.showing = true;\n this.play();\n this.events && this.events.trigger('danmaku_show');\n }\n },\n {\n key: 'unlimit',\n value: function unlimit(boolean) {\n this.unlimited = boolean;\n }\n }\n ]);\n return Danmaku;\n}();\nmodule.exports = Danmaku;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/danmaku.js\n// module id = 9\n// module chunks = 0","'use strict';\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nvar Thumbnails = function () {\n function Thumbnails(container, width, url, events) {\n _classCallCheck(this, Thumbnails);\n this.container = container;\n this.width = width;\n this.container.style.backgroundImage = 'url(\\'' + url + '\\')';\n this.events = events;\n }\n _createClass(Thumbnails, [\n {\n key: 'resize',\n value: function resize(width, height) {\n this.container.style.width = width + 'px';\n this.container.style.height = height + 'px';\n this.container.style.top = -height + 2 + 'px';\n }\n },\n {\n key: 'show',\n value: function show() {\n this.container.style.display = 'block';\n this.events && this.events.trigger('thumbnails_show');\n }\n },\n {\n key: 'move',\n value: function move(position) {\n this.container.style.backgroundPosition = '-' + (Math.ceil(position / this.width * 100) - 1) * 160 + 'px 0';\n this.container.style.left = position - this.container.offsetWidth / 2 + 'px';\n }\n },\n {\n key: 'hide',\n value: function hide() {\n this.container.style.display = 'none';\n this.events && this.events.trigger('thumbnails_hide');\n }\n }\n ]);\n return Thumbnails;\n}();\nmodule.exports = Thumbnails;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/thumbnails.js\n// module id = 10\n// module chunks = 0","'use strict';\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nvar Events = function () {\n function Events() {\n _classCallCheck(this, Events);\n this.events = {};\n this.videoEvents = [\n 'abort',\n 'canplay',\n 'canplaythrough',\n 'durationchange',\n 'emptied',\n 'ended',\n 'error',\n 'loadeddata',\n 'loadedmetadata',\n 'loadstart',\n 'mozaudioavailable',\n 'pause',\n 'play',\n 'playing',\n 'progress',\n 'ratechange',\n 'seeked',\n 'seeking',\n 'stalled',\n 'suspend',\n 'timeupdate',\n 'volumechange',\n 'waiting'\n ];\n this.playerEvents = [\n 'screenshot',\n 'thumbnails_show',\n 'thumbnails_hide',\n 'danmaku_show',\n 'danmaku_hide',\n 'danmaku_clear',\n 'danmaku_loaded',\n 'danmaku_send',\n 'danmaku_opacity',\n 'contextmenu_show',\n 'contextmenu_hide',\n 'notice_show',\n 'notice_hide',\n 'quality_start',\n 'quality_end',\n 'destroy',\n 'resize',\n 'fullscreen',\n 'fullscreen_cancel',\n 'webfullscreen',\n 'webfullscreen_cancel'\n ];\n }\n _createClass(Events, [\n {\n key: 'on',\n value: function on(name, callback) {\n if (this.type(name) && typeof callback === 'function') {\n if (!this.events[name]) {\n this.events[name] = [];\n }\n this.events[name].push(callback);\n }\n }\n },\n {\n key: 'trigger',\n value: function trigger(name, info) {\n if (this.events[name] && this.events[name].length) {\n for (var i = 0; i < this.events[name].length; i++) {\n this.events[name][i](info);\n }\n }\n }\n },\n {\n key: 'type',\n value: function type(name) {\n if (this.playerEvents.indexOf(name) !== -1) {\n return 'player';\n } else if (this.videoEvents.indexOf(name) !== -1) {\n return 'video';\n }\n console.error('Unknown event name: ' + name);\n return null;\n }\n }\n ]);\n return Events;\n}();\nmodule.exports = Events;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/events.js\n// module id = 11\n// module chunks = 0","'use strict';\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nvar FullScreen = function () {\n function FullScreen(player) {\n var _this = this;\n _classCallCheck(this, FullScreen);\n this.player = player;\n this.player.events.on('webfullscreen', function () {\n _this.player.resize();\n });\n this.player.events.on('webfullscreen_cancel', function () {\n _this.player.resize();\n });\n var fullscreenchange = function fullscreenchange() {\n _this.player.resize();\n if (_this.isFullScreen('browser')) {\n _this.player.events.trigger('fullscreen');\n } else {\n _this.player.events.trigger('fullscreen_cancel');\n }\n };\n this.player.container.addEventListener('fullscreenchange', fullscreenchange);\n this.player.container.addEventListener('mozfullscreenchange', fullscreenchange);\n this.player.container.addEventListener('webkitfullscreenchange', fullscreenchange);\n }\n _createClass(FullScreen, [\n {\n key: 'isFullScreen',\n value: function isFullScreen() {\n var type = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'browser';\n switch (type) {\n case 'browser':\n return document.fullscreenElement || document.mozFullScreenElement || document.webkitFullscreenElement;\n case 'web':\n return this.player.container.classList.contains('dplayer-fulled');\n }\n }\n },\n {\n key: 'request',\n value: function request() {\n var type = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'browser';\n switch (type) {\n case 'browser':\n if (this.player.container.requestFullscreen) {\n this.player.container.requestFullscreen();\n } else if (this.player.container.mozRequestFullScreen) {\n this.player.container.mozRequestFullScreen();\n } else if (this.player.container.webkitRequestFullscreen) {\n this.player.container.webkitRequestFullscreen();\n } else if (this.player.video.webkitEnterFullscreen) {\n this.player.video.webkitEnterFullscreen();\n }\n break;\n case 'web':\n this.player.container.classList.add('dplayer-fulled');\n this.player.events.trigger('webfullscreen');\n break;\n }\n }\n },\n {\n key: 'cancel',\n value: function cancel() {\n var type = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'browser';\n switch (type) {\n case 'browser':\n if (document.cancelFullScreen) {\n document.cancelFullScreen();\n } else if (document.mozCancelFullScreen) {\n document.mozCancelFullScreen();\n } else if (document.webkitCancelFullScreen) {\n document.webkitCancelFullScreen();\n }\n break;\n case 'web':\n this.player.container.classList.remove('dplayer-fulled');\n this.player.events.trigger('webfullscreen_cancel');\n break;\n }\n }\n },\n {\n key: 'toggle',\n value: function toggle() {\n var type = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'browser';\n if (this.isFullScreen(type)) {\n this.cancel(type);\n } else {\n this.request(type);\n }\n }\n }\n ]);\n return FullScreen;\n}();\nmodule.exports = FullScreen;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/fullscreen.js\n// module id = 12\n// module chunks = 0","'use strict';\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nvar _utils = require('./utils');\nvar _utils2 = _interopRequireDefault(_utils);\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nvar User = function () {\n function User(player) {\n _classCallCheck(this, User);\n this.storageName = {\n opacity: 'dplayer-danmaku-opacity',\n volume: 'dplayer-volume',\n unlimited: 'dplayer-danmaku-unlimited',\n danmaku: 'dplayer-danmaku-show'\n };\n this.default = {\n opacity: 0.7,\n volume: player.options.volume || 0.7,\n unlimited: (player.options.danmaku && player.options.danmaku.unlimited ? 1 : 0) || 0,\n danmaku: 1\n };\n this.data = {};\n this.init();\n }\n _createClass(User, [\n {\n key: 'init',\n value: function init() {\n for (var item in this.storageName) {\n var name = this.storageName[item];\n this.data[item] = parseFloat(_utils2.default.storage.get(name) || this.default[item]);\n }\n }\n },\n {\n key: 'get',\n value: function get(key) {\n return this.data[key];\n }\n },\n {\n key: 'set',\n value: function set(key, value) {\n this.data[key] = value;\n _utils2.default.storage.set(this.storageName[key], value);\n }\n }\n ]);\n return User;\n}();\nmodule.exports = User;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/user.js\n// module id = 13\n// module chunks = 0","'use strict';\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps)\n defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\nvar Subtitle = function () {\n function Subtitle(container, video, options) {\n _classCallCheck(this, Subtitle);\n this.container = container;\n this.video = video;\n this.options = options;\n this.init();\n }\n _createClass(Subtitle, [{\n key: 'init',\n value: function init() {\n var _this = this;\n this.container.style.fontSize = this.options.fontSize;\n this.container.style.bottom = this.options.bottom;\n this.container.style.color = this.options.color;\n if (this.video.textTracks && this.video.textTracks[0]) {\n var track = this.video.textTracks[0];\n track.oncuechange = function () {\n var cue = track.activeCues[0];\n if (cue) {\n _this.container.innerHTML = '';\n var p = document.createElement('p');\n p.appendChild(cue.getCueAsHTML());\n _this.container.appendChild(p);\n } else {\n _this.container.innerHTML = '';\n }\n };\n }\n }\n }]);\n return Subtitle;\n}();\nmodule.exports = Subtitle;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/subtitle.js\n// module id = 14\n// module chunks = 0"],"sourceRoot":""} \ No newline at end of file diff --git a/package.json b/package.json index f6a6049c5..f7b83aa58 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "dplayer", - "version": "1.11.0", + "version": "1.12.0", "description": "Wow, such a lovely HTML5 danmaku video player", "main": "dist/DPlayer.min.js", "style": "dist/DPlayer.min.css", diff --git a/src/DPlayer.js b/src/DPlayer.js index abb08fcef..4ae10fcf7 100644 --- a/src/DPlayer.js +++ b/src/DPlayer.js @@ -10,6 +10,7 @@ import Thumbnails from './thumbnails'; import Events from './events'; import FullScreen from './fullscreen'; import User from './user'; +import Subtitle from './subtitle'; let index = 0; @@ -998,6 +999,10 @@ class DPlayer { } this.volume(this.user.get('volume'), true); + + if (this.options.subtitle) { + this.subtitle = new Subtitle(this.container.getElementsByClassName('dplayer-subtitle')[0], this.video, this.options.subtitle); + } } switchQuality (index) { @@ -1013,7 +1018,7 @@ class DPlayer { const paused = this.video.paused; this.video.pause(); - const videoHTML = html.video(false, null, this.options.screenshot, 'auto', this.quality.url); + const videoHTML = html.video(false, null, this.options.screenshot, 'auto', this.quality.url, this.options.subtitle); const videoEle = new DOMParser().parseFromString(videoHTML, 'text/html').body.firstChild; const parent = this.container.getElementsByClassName('dplayer-video-wrap')[0]; parent.insertBefore(videoEle, parent.getElementsByTagName('div')[0]); diff --git a/src/DPlayer.scss b/src/DPlayer.scss index 5f9f67b6a..55416fde3 100644 --- a/src/DPlayer.scss +++ b/src/DPlayer.scss @@ -247,6 +247,17 @@ } } + .dplayer-subtitle { + position: absolute; + bottom: 40px; + width: 90%; + left: 5%; + text-align: center; + color: #fff; + text-shadow: 0.5px 0.5px 0.5px rgba(0, 0, 0, 0.5); + font-size: 20px; + } + .dplayer-bezel { position: absolute; left: 0; diff --git a/src/html.js b/src/html.js index 22758c25c..07a9e39f3 100644 --- a/src/html.js +++ b/src/html.js @@ -1,17 +1,15 @@ const html = { - main: (options, index, tran, icons) => { - let videos = ``; - videos += html.video(true, options.video.pic, options.screenshot, options.preload, options.video.url); - return ` + main: (options, index, tran, icons) => `
- ${videos} + ${html.video(true, options.video.pic, options.screenshot, options.preload, options.video.url, options.subtitle)} ${options.logo ? ` ` : ``}
+
${options.danmaku ? `${tran('Danmaku is loading')}` : ``} @@ -164,8 +162,7 @@ const html = {
${html.contextmenuList(options.contextmenu, tran)} -
`; - }, +
`, danmakumargin: (margin) => { let result = ''; @@ -197,7 +194,13 @@ const html = { return result; }, - video: (current, pic, screenshot, preload, url) => ``, + video: (current, pic, screenshot, preload, url, subtitle) => { + const enableSubtitle = subtitle && subtitle.type === 'webvtt'; + return ` + `; + }, setting: (tran, icons) => ({ 'original': ` diff --git a/src/options.js b/src/options.js index 37193f6b5..d98266ce4 100644 --- a/src/options.js +++ b/src/options.js @@ -18,7 +18,7 @@ module.exports = (options) => { screenshot: false, hotkey: true, preload: 'auto', - volume: '0.7', + volume: 0.7, apiBackend: defaultApiBackend, video: {}, icons: { @@ -91,11 +91,17 @@ module.exports = (options) => { options[defaultKey] = defaultOption[defaultKey]; } } - if (options.video && !options.video.hasOwnProperty('type')) { - options.video.type = 'auto'; + if (options.video) { + !options.video.type && (options.video.type = 'auto'); } - if (options.danmaku && !options.danmaku.hasOwnProperty('user')) { - options.danmaku.user = 'DIYgod'; + if (options.danmaku) { + !options.danmaku.user && (options.danmaku.user = 'DIYgod'); + } + if (options.subtitle) { + !options.subtitle.type && (options.subtitle.type = 'webvtt'); + !options.subtitle.fontSize && (options.subtitle.fontSize = '20px'); + !options.subtitle.bottom && (options.subtitle.bottom = '40px'); + !options.subtitle.color && (options.subtitle.color = '#fff'); } if (options.video.quality) { diff --git a/src/subtitle.js b/src/subtitle.js new file mode 100644 index 000000000..b01d71278 --- /dev/null +++ b/src/subtitle.js @@ -0,0 +1,34 @@ +class Subtitle { + constructor (container, video, options) { + this.container = container; + this.video = video; + this.options = options; + + this.init(); + } + + init () { + this.container.style.fontSize = this.options.fontSize; + this.container.style.bottom = this.options.bottom; + this.container.style.color = this.options.color; + + if (this.video.textTracks && this.video.textTracks[0]) { + const track = this.video.textTracks[0]; + + track.oncuechange = () => { + const cue = track.activeCues[0]; + if (cue) { + this.container.innerHTML = ''; + const p = document.createElement('p'); + p.appendChild(cue.getCueAsHTML()); + this.container.appendChild(p); + } + else { + this.container.innerHTML = ''; + } + }; + } + } +} + +module.exports = Subtitle; \ No newline at end of file