{"version":3,"sources":["webpack://[name]/webpack/universalModuleDefinition","webpack://[name]/webpack/bootstrap","webpack://[name]/./node_modules/axios/lib/utils.js","webpack://[name]/./src/js/utils.js","webpack://[name]/./src/js/icons.js","webpack://[name]/./node_modules/axios/lib/defaults.js","webpack://[name]/(webpack)/buildin/global.js","webpack://[name]/./src/template/video.art","webpack://[name]/./node_modules/art-template/lib/runtime.js","webpack://[name]/./node_modules/axios/lib/cancel/Cancel.js","webpack://[name]/./node_modules/axios/lib/cancel/isCancel.js","webpack://[name]/./node_modules/axios/lib/core/createError.js","webpack://[name]/./node_modules/axios/lib/adapters/xhr.js","webpack://[name]/./node_modules/axios/lib/helpers/bind.js","webpack://[name]/./node_modules/process/browser.js","webpack://[name]/./src/js/info-panel.js","webpack://[name]/./src/js/contextmenu.js","webpack://[name]/./src/js/hotkey.js","webpack://[name]/./src/js/comment.js","webpack://[name]/./src/js/setting.js","webpack://[name]/./src/js/thumbnails.js","webpack://[name]/./src/js/controller.js","webpack://[name]/./src/js/bezel.js","webpack://[name]/./src/js/timer.js","webpack://[name]/./src/js/bar.js","webpack://[name]/./src/js/subtitle.js","webpack://[name]/./src/js/user.js","webpack://[name]/./src/js/fullscreen.js","webpack://[name]/./src/js/events.js","webpack://[name]/./src/js/danmaku.js","webpack://[name]/./node_modules/detect-node/index.js","webpack://[name]/./node_modules/art-template/lib/compile/runtime.js","webpack://[name]/./src/template/player.art","webpack://[name]/./src/assets/loading.svg","webpack://[name]/./src/assets/subtitle.svg","webpack://[name]/./src/assets/camera.svg","webpack://[name]/./src/assets/pallette.svg","webpack://[name]/./src/assets/send.svg","webpack://[name]/./src/assets/comment-off.svg","webpack://[name]/./src/assets/comment.svg","webpack://[name]/./src/assets/right.svg","webpack://[name]/./src/assets/setting.svg","webpack://[name]/./src/assets/full-web.svg","webpack://[name]/./src/assets/full.svg","webpack://[name]/./src/assets/volume-off.svg","webpack://[name]/./src/assets/volume-down.svg","webpack://[name]/./src/assets/volume-up.svg","webpack://[name]/./src/assets/pause.svg","webpack://[name]/./src/assets/play.svg","webpack://[name]/./src/js/template.js","webpack://[name]/./src/js/i18n.js","webpack://[name]/./node_modules/axios/lib/helpers/spread.js","webpack://[name]/./node_modules/axios/lib/cancel/CancelToken.js","webpack://[name]/./node_modules/axios/lib/helpers/combineURLs.js","webpack://[name]/./node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack://[name]/./node_modules/axios/lib/core/transformData.js","webpack://[name]/./node_modules/axios/lib/core/dispatchRequest.js","webpack://[name]/./node_modules/axios/lib/core/InterceptorManager.js","webpack://[name]/./node_modules/axios/lib/helpers/cookies.js","webpack://[name]/./node_modules/axios/lib/helpers/btoa.js","webpack://[name]/./node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack://[name]/./node_modules/axios/lib/helpers/parseHeaders.js","webpack://[name]/./node_modules/axios/lib/helpers/buildURL.js","webpack://[name]/./node_modules/axios/lib/core/enhanceError.js","webpack://[name]/./node_modules/axios/lib/core/settle.js","webpack://[name]/./node_modules/axios/lib/helpers/normalizeHeaderName.js","webpack://[name]/./node_modules/axios/lib/core/Axios.js","webpack://[name]/./node_modules/is-buffer/index.js","webpack://[name]/./node_modules/axios/lib/axios.js","webpack://[name]/./node_modules/axios/index.js","webpack://[name]/./src/js/api.js","webpack://[name]/./src/js/options.js","webpack://[name]/./node_modules/promise-polyfill/src/finally.js","webpack://[name]/./node_modules/setimmediate/setImmediate.js","webpack://[name]/./node_modules/timers-browserify/main.js","webpack://[name]/./node_modules/promise-polyfill/src/index.js","webpack://[name]/./src/js/player.js","webpack://[name]/./src/js/index.js"],"names":["root","factory","exports","module","define","amd","window","installedModules","__webpack_require__","moduleId","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","_typeof","iterator","obj","constructor","isBuffer","toString","isArray","val","isObject","isFunction","forEach","fn","length","isArrayBuffer","isFormData","FormData","isArrayBufferView","ArrayBuffer","isView","buffer","isString","isNumber","isUndefined","isDate","isFile","isBlob","isStream","pipe","isURLSearchParams","URLSearchParams","isStandardBrowserEnv","navigator","product","document","merge","result","assignValue","arguments","extend","a","b","thisArg","trim","str","replace","isMobile","test","userAgent","utils","secondToTime","second","hour","Math","floor","min","sec","map","num","join","getElementViewLeft","element","actualLeft","offsetLeft","current","offsetParent","elementScrollLeft","body","scrollLeft","documentElement","fullscreenElement","mozFullScreenElement","webkitFullscreenElement","getBoundingClientRectViewLeft","scrollTop","getBoundingClientRect","this","offset","temp","createElement","style","cssText","appendChild","top","removeChild","rect","left","getScrollPosition","pageXOffset","pageYOffset","setScrollPosition","_ref","_ref$left","undefined","_ref$top","isFirefox","scrollTo","isChrome","storage","set","localStorage","setItem","getItem","cumulativeOffset","offsetTop","nameMap","dragStart","dragMove","dragEnd","color2Number","color","substr","parseInt","number2Color","number","slice","number2Type","default","_play2","_interopRequireDefault","_pause2","_volumeUp2","_volumeDown2","_volumeOff2","_full2","_fullWeb2","_setting2","_right2","_comment2","_commentOff2","_send2","_pallette2","_camera2","_subtitle2","_loading2","Icons","play","pause","volumeUp","volumeDown","volumeOff","full","fullWeb","setting","right","comment","commentOff","send","pallette","camera","subtitle","loading","normalizeHeaderName","DEFAULT_CONTENT_TYPE","Content-Type","setContentTypeIfUnset","headers","adapter","defaults","XMLHttpRequest","process","transformRequest","data","JSON","stringify","transformResponse","parse","e","timeout","xsrfCookieName","xsrfHeaderName","maxContentLength","validateStatus","status","common","Accept","method","g","Function","eval","$$out","enableSubtitle","$data","pic","$escape","$imports","screenshot","preload","url","type","Cancel","message","__CANCEL__","enhanceError","config","code","request","response","error","Error","settle","buildURL","parseHeaders","isURLSameOrigin","createError","btoa","Promise","resolve","reject","requestData","requestHeaders","loadEvent","xDomain","XDomainRequest","onprogress","ontimeout","auth","username","password","Authorization","open","toUpperCase","params","paramsSerializer","readyState","responseURL","indexOf","responseHeaders","getAllResponseHeaders","responseType","responseText","statusText","onerror","cookies","xsrfValue","withCredentials","read","toLowerCase","setRequestHeader","onDownloadProgress","addEventListener","onUploadProgress","upload","cancelToken","promise","then","cancel","abort","args","Array","apply","cachedSetTimeout","cachedClearTimeout","defaultSetTimout","defaultClearTimeout","runTimeout","fun","setTimeout","clearTimeout","currentQueue","queue","draining","queueIndex","cleanUpNextTick","concat","drainQueue","len","run","marker","runClearTimeout","Item","array","noop","nextTick","push","title","browser","env","argv","version","versions","on","addListener","once","off","removeListener","removeAllListeners","emit","prependListener","prependOnceListener","listeners","binding","cwd","chdir","dir","umask","_createClass","defineProperties","target","props","descriptor","configurable","writable","Constructor","protoProps","staticProps","InfoPanel","player","_this","instance","TypeError","_classCallCheck","container","template","infoPanel","video","infoPanelClose","hide","beginTime","Date","now","update","timer","enable","classList","remove","disable","add","contains","show","infoVersion","innerHTML","infoType","infoUrl","options","infoResolution","videoWidth","videoHeight","infoDuration","duration","danmaku","infoDanmakuId","id","infoDanmakuApi","api","infoDanmakuAmount","dan","infoFPS","toFixed","ContextMenu","shown","menuItem","item","index","contextmenu","click","event","preventDefault","clientRect","clientX","clientY","mask","x","y","menu","offsetWidth","width","offsetHeight","height","bottom","events","trigger","HotKey","hotkey","focus","tag","activeElement","tagName","editable","getAttribute","percentage","keyCode","toggle","seek","currentTime","controller","setAutoHide","volume","fullScreen","isFullScreen","_utils","_utils2","Comment","commentButton","commentSettingButton","toggleSetting","commentColorSettingBox","querySelector","commentSettingFill","fill","commentInput","commentSendFill","hideSetting","commentSendButton","disableAutoHide","commentSettingBox","showSetting","_this2","blur","text","notice","tran","Setting","settingButton","loop","loopToggle","checked","showDanmaku","user","showDanmakuToggle","unlimitDanmaku","unlimitDanmakuToggle","unlimit","speed","settingBox","_loop","speedItem","dataset","bar","opacity","danmakuMove","changedTouches","danmakuOpacityBarWrap","max","danmakuUp","removeEventListener","danmakuOpacityBox","danmakuOpacityBarWrapWrap","Thumbnails","barWidth","backgroundImage","display","position","backgroundPosition","ceil","_thumbnails2","_icons2","Controller","autoHideTimer","initPlayButton","initThumbnails","initPlayedBar","initFullButton","initQualityButton","initScreenshotButton","initSubtitleButton","initHighlights","initVolumeButton","playButton","videoWrap","controllerMask","_this3","Infinity","highlight","highlights","querySelectorAll","playedBarWrap","time","insertBefore","playedBarTime","_this4","thumbnails","barPreview","barWrap","resize","_this5","thumbMove","clientWidth","ptime","thumbUp","px","tx","move","innerText","_this6","browserFullButton","webFullButton","_this7","volumeMove","volumeBarWrap","volumeButton","volumeBarWrapWrap","volumeButtonIcon","muted","switchVolumeIcon","volumeIcon","_this8","quality","qualityList","switchQuality","_this9","camareButton","canvas","getContext","drawImage","dataURL","toBlob","blob","URL","createObjectURL","link","href","download","revokeObjectURL","_this10","subtitleButton","balloon","subtitleButtonInner","_this11","played","paused","isShow","Bezel","icon","Timer","requestAnimationFrame","webkitRequestAnimationFrame","mozRequestAnimationFrame","oRequestAnimationFrame","msRequestAnimationFrame","callback","types","init","lastPlayPos","currentPlayPos","bufferingDetected","loadingChecker","setInterval","enableloadingChecker","enablefpsChecker","initfpsChecker","fpsStart","fpsIndex","fpsCurrent","fps","infoChecker","enableinfoChecker","clearInterval","Bar","elements","volumeBar","playedBar","loaded","loadedBar","danmakuOpacityBar","direction","parseFloat","Subtitle","fontSize","textTracks","track","oncuechange","cue","activeCues","getCueAsHTML","User","storageName","unlimited","FullScreen","lastScrollPosition","fullscreenchange","docfullscreenchange","fullEle","msFullscreenElement","anotherType","anotherTypeOn","requestFullscreen","mozRequestFullScreen","webkitRequestFullscreen","webkitEnterFullscreen","webkitEnterFullScreen","msRequestFullscreen","cancelFullScreen","mozCancelFullScreen","webkitCancelFullScreen","webkitCancelFullscreen","msCancelFullScreen","msExitFullscreen","Events","videoEvents","playerEvents","info","console","Danmaku","danTunnel","danIndex","showing","_opacity","_measure","load","apiurl","maximum","address","endpoints","addition","_readAllEndpoints","results","sort","frame","newAPI","clear","readCount","apiBackend","success","msg","danmakuData","token","author","splice","htmlEncode","border","borderColor","draw","items","getElementsByClassName","itemHeight","danWidth","danHeight","itemY","danItemRight","ele","eleWidth","eleRight","danSpeed","getTunnel","tmp","_loop2","v","j","danRight","_ret2","docFragment","createDocumentFragment","_loop3","itemWidth","tunnel","transform","context","measureStyle","getComputedStyle","font","getPropertyValue","measureText","boolean","global","detectNode","runtime","ESCAPE_REG","content","html","regexResult","exec","lastIndex","char","charCodeAt","substring","xmlEscape","$each","_i","icons","$value","$index","logo","bottm","theme","live","defaultQuality","_player2","Template","danmakuLoading","bezel","dtime","qualityButton","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","Video load failed","Danmaku load failed","Danmaku send failed","Switching to","Switched to","FF","REW","Unlimited danmaku","Send danmaku","Full screen","Web full screen","Send","Screenshot","Show subtitle","Hide subtitle","Volume","Live","Video info","zh-tw","lang","arr","CancelToken","executor","resolvePromise","reason","throwIfRequested","source","baseURL","relativeURL","fns","transformData","isCancel","isAbsoluteURL","combineURLs","throwIfCancellationRequested","InterceptorManager","handlers","use","fulfilled","rejected","eject","h","write","expires","path","domain","secure","cookie","encodeURIComponent","toGMTString","match","RegExp","decodeURIComponent","chars","E","input","block","charCode","String","output","idx","charAt","originURL","msie","urlParsingNode","resolveURL","setAttribute","protocol","host","search","hash","hostname","port","pathname","location","requestURL","parsed","ignoreDuplicateOf","split","line","encode","serializedParams","parts","toISOString","normalizedName","dispatchRequest","Axios","instanceConfig","interceptors","chain","interceptor","unshift","shift","readFloatLE","isSlowBuffer","_isBuffer","createInstance","defaultConfig","axios","all","promises","spread","_axios","_axios2","post","catch","_api","_api2","defaultOption","autoplay","language","browserLanguage","mutex","defaultKey","triggle","setImmediate","registerImmediate","channel","messagePrefix","onGlobalMessage","nextHandle","tasksByHandle","currentlyRunningATask","doc","attachTo","getPrototypeOf","handle","runIfPresent","postMessage","importScripts","postMessageIsAsynchronous","oldOnMessage","onmessage","canUsePostMessage","MessageChannel","port1","port2","script","onreadystatechange","random","attachEvent","task","clearImmediate","self","Timeout","clearFn","_id","_clearFn","close","unref","ref","enroll","msecs","_idleTimeoutId","_idleTimeout","unenroll","_unrefActive","active","_onTimeout","_finally","_finally2","setTimeoutFunc","_state","_handled","_value","_deferreds","doResolve","deferred","_immediateFn","cb","onFulfilled","onRejected","ret","newValue","finale","_unhandledRejectionFn","done","ex","prom","remaining","res","race","values","err","warn","_promisePolyfill2","_options2","_i18n2","_template2","_danmaku2","_events2","_fullscreen2","_user2","_bar2","_timer2","_bezel2","_controller2","_hotkey2","_contextmenu2","_infoPanel2","_video2","instances","DPlayer","qualityIndex","arrow","initVideo","switch","nostorage","nonotice","isNaN","formatPercentage","danmakuAPI","poster","src","initMSE","reload","customType","canPlayType","Hls","isSupported","hls","loadSource","attachMedia","flvjs","flvPlayer","createPlayer","attachMediaElement","dashjs","MediaPlayer","initialize","WebTorrent","WEBRTC_SUPPORT","client","torrentId","torrent","files","find","file","endsWith","renderTo","buffered","end","switchingQuality","videoHTML","videoEle","DOMParser","parseFromString","firstChild","getElementsByTagName","prevVideo","noticeTime","rate","playbackRate","destroy","_player","log"],"mappings":"CAAA,SAAAA,EAAAC,GACA,iBAAAC,SAAA,iBAAAC,OACAA,OAAAD,QAAAD,IACA,mBAAAG,eAAAC,IACAD,OAAA,aAAAH,GACA,iBAAAC,QACAA,QAAA,QAAAD,IAEAD,EAAA,QAAAC,IARA,CASCK,OAAA,WACD,mBCTA,IAAAC,KAGA,SAAAC,EAAAC,GAGA,GAAAF,EAAAE,GACA,OAAAF,EAAAE,GAAAP,QAGA,IAAAC,EAAAI,EAAAE,IACAC,EAAAD,EACAE,GAAA,EACAT,YAUA,OANAU,EAAAH,GAAAI,KAAAV,EAAAD,QAAAC,IAAAD,QAAAM,GAGAL,EAAAQ,GAAA,EAGAR,EAAAD,QA0DA,OArDAM,EAAAM,EAAAF,EAGAJ,EAAAO,EAAAR,EAGAC,EAAAQ,EAAA,SAAAd,EAAAe,EAAAC,GACAV,EAAAW,EAAAjB,EAAAe,IACAG,OAAAC,eAAAnB,EAAAe,GAA0CK,YAAA,EAAAC,IAAAL,KAK1CV,EAAAgB,EAAA,SAAAtB,GACA,oBAAAuB,eAAAC,aACAN,OAAAC,eAAAnB,EAAAuB,OAAAC,aAAwDC,MAAA,WAExDP,OAAAC,eAAAnB,EAAA,cAAiDyB,OAAA,KAQjDnB,EAAAoB,EAAA,SAAAD,EAAAE,GAEA,GADA,EAAAA,IAAAF,EAAAnB,EAAAmB,IACA,EAAAE,EAAA,OAAAF,EACA,KAAAE,GAAA,iBAAAF,QAAAG,WAAA,OAAAH,EACA,IAAAI,EAAAX,OAAAY,OAAA,MAGA,GAFAxB,EAAAgB,EAAAO,GACAX,OAAAC,eAAAU,EAAA,WAAyCT,YAAA,EAAAK,UACzC,EAAAE,GAAA,iBAAAF,EAAA,QAAAM,KAAAN,EAAAnB,EAAAQ,EAAAe,EAAAE,EAAA,SAAAA,GAAgH,OAAAN,EAAAM,IAAqBC,KAAA,KAAAD,IACrI,OAAAF,GAIAvB,EAAA2B,EAAA,SAAAhC,GACA,IAAAe,EAAAf,KAAA2B,WACA,WAA2B,OAAA3B,EAAA,SAC3B,WAAiC,OAAAA,GAEjC,OADAK,EAAAQ,EAAAE,EAAA,IAAAA,GACAA,GAIAV,EAAAW,EAAA,SAAAiB,EAAAC,GAAsD,OAAAjB,OAAAkB,UAAAC,eAAA1B,KAAAuB,EAAAC,IAGtD7B,EAAAgC,EAAA,IAIAhC,IAAAiC,EAAA,mCCjFA,IAAAC,EAAA,mBAAAjB,QAAA,iBAAAA,OAAAkB,SAAA,SAAAC,GACA,cAAAA,GACC,SAAAA,GACD,OAAAA,GAAA,mBAAAnB,QAAAmB,EAAAC,cAAApB,QAAAmB,IAAAnB,OAAAa,UAAA,gBAAAM,GAEAV,EAAA1B,EAAA,IACAsC,EAAAtC,EAAA,IACAuC,EAAA3B,OAAAkB,UAAAS,SACA,SAAAC,EAAAC,GACA,yBAAAF,EAAAlC,KAAAoC,GA0BA,SAAAC,EAAAD,GACA,cAAAA,GAAA,qBAAAA,EAAA,YAAAP,EAAAO,IAWA,SAAAE,EAAAF,GACA,4BAAAF,EAAAlC,KAAAoC,GAiBA,SAAAG,EAAAR,EAAAS,GACA,UAAAT,QAAA,IAAAA,EAMA,GAHA,qBAAAA,EAAA,YAAAF,EAAAE,MACAA,OAEAI,EAAAJ,GACA,QAAAlC,EAAA,EAAAC,EAAAiC,EAAAU,OAAuC5C,EAAAC,EAAOD,IAC9C2C,EAAAxC,KAAA,KAAA+B,EAAAlC,KAAAkC,QAGA,QAAAX,KAAAW,EACAxB,OAAAkB,UAAAC,eAAA1B,KAAA+B,EAAAX,IACAoB,EAAAxC,KAAA,KAAA+B,EAAAX,KAAAW,GA6BAzC,EAAAD,SACA8C,UACAO,cAnGA,SAAAN,GACA,+BAAAF,EAAAlC,KAAAoC,IAmGAH,WACAU,WAlGA,SAAAP,GACA,0BAAAQ,UAAAR,aAAAQ,UAkGAC,kBAhGA,SAAAT,GAOA,MALA,oBAAAU,yBAAAC,OACAD,YAAAC,OAAAX,GAEAA,KAAAY,QAAAZ,EAAAY,kBAAAF,aA4FAG,SAxFA,SAAAb,GACA,uBAAAA,GAwFAc,SAtFA,SAAAd,GACA,uBAAAA,GAsFAC,WACAc,YArFA,SAAAf,GACA,gBAAAA,GAqFAgB,OAhFA,SAAAhB,GACA,wBAAAF,EAAAlC,KAAAoC,IAgFAiB,OA9EA,SAAAjB,GACA,wBAAAF,EAAAlC,KAAAoC,IA8EAkB,OA5EA,SAAAlB,GACA,wBAAAF,EAAAlC,KAAAoC,IA4EAE,aACAiB,SAxEA,SAAAnB,GACA,OAAAC,EAAAD,IAAAE,EAAAF,EAAAoB,OAwEAC,kBAtEA,SAAArB,GACA,0BAAAsB,iBAAAtB,aAAAsB,iBAsEAC,qBAjEA,WACA,2BAAAC,WAAA,gBAAAA,UAAAC,UAGA,oBAAApE,QAAA,oBAAAqE,UA8DAvB,UACAwB,MA1CA,SAAAA,IACA,IAAAC,KACA,SAAAC,EAAA7B,EAAAhB,GACA,WAAAS,EAAAmC,EAAA5C,KAAA,qBAAAgB,EAAA,YAAAP,EAAAO,IACA4B,EAAA5C,GAAA2C,EAAAC,EAAA5C,GAAAgB,GAEA4B,EAAA5C,GAAAgB,EAGA,QAAAvC,EAAA,EAAAC,EAAAoE,UAAAzB,OAAyC5C,EAAAC,EAAOD,IAChD0C,EAAA2B,UAAArE,GAAAoE,GAEA,OAAAD,GA+BAG,OA7BA,SAAAC,EAAAC,EAAAC,GAQA,OAPA/B,EAAA8B,EAAA,SAAAjC,EAAAhB,GAEAgD,EAAAhD,GADAkD,GAAA,mBAAAlC,EACAf,EAAAe,EAAAkC,GAEAlC,IAGAgC,GAsBAG,KAxEA,SAAAC,GACA,OAAAA,EAAAC,QAAA,WAAAA,QAAA,2CCzDAlE,OAAAC,eAAAnB,EAAA,cAA8CyB,OAAA,IAC9C,IAAA4D,EAAA,UAAAC,KAAAlF,OAAAmE,UAAAgB,WACAC,GACAC,aAAA,SAAAC,GACA,IAGAC,EAAAC,KAAAC,MAAAH,EAAA,MACAI,EAAAF,KAAAC,OAAAH,EAAA,KAAAC,GAAA,IACAI,EAAAH,KAAAC,MAAAH,EAAA,KAAAC,EAAA,GAAAG,GACA,OAAAH,EAAA,GACAA,EACAG,EACAC,IAEAD,EACAC,IACAC,IAbA,SAAAC,GACA,OAAAA,EAAA,OAAAA,EAAA,GAAAA,IAYAC,KAAA,MAEAC,mBAAA,SAAAC,GACA,IAAAC,EAAAD,EAAAE,WACAC,EAAAH,EAAAI,aACAC,EAAAhC,SAAAiC,KAAAC,WAAAlC,SAAAmC,gBAAAD,WACA,GAAAlC,SAAAoC,mBAAApC,SAAAqC,sBAAArC,SAAAsC,wBAMA,YAAAR,OAAAH,GACAC,GAAAE,EAAAD,WACAC,IAAAC,kBAPA,YAAAD,GACAF,GAAAE,EAAAD,WACAC,IAAAC,aAQA,OAAAH,EAAAI,GAEAO,8BAAA,SAAAZ,GACA,IAAAa,EAAAxC,SAAAmC,gBAAAK,UACA,GAAAb,EAAAc,sBAAA,CACA,oBAAAC,KAAAH,8BAAAI,OAAA,CACA,IAAAC,EAAA5C,SAAA6C,cAAA,OACAD,EAAAE,MAAAC,QAAA,kCACA/C,SAAAiC,KAAAe,YAAAJ,GACAF,KAAAH,8BAAAI,QAAAC,EAAAH,wBAAAQ,IAAAT,EACAxC,SAAAiC,KAAAiB,YAAAN,GACAA,EAAA,KAEA,IAAAO,EAAAxB,EAAAc,wBACAE,EAAAD,KAAAH,8BAAAI,OACA,OAAAQ,EAAAC,KAAAT,EAEA,OAAAD,KAAAhB,mBAAAC,IAGA0B,kBAAA,WACA,OACAD,KAAAzH,OAAA2H,aAAAtD,SAAAmC,gBAAAD,YAAAlC,SAAAiC,KAAAC,YAAA,EACAe,IAAAtH,OAAA4H,aAAAvD,SAAAmC,gBAAAK,WAAAxC,SAAAiC,KAAAO,WAAA,IAGAgB,kBAAA,SAAAC,GACA,IAAAC,EAAAD,EAAAL,YAAAO,IAAAD,EAAA,EAAAA,EAAAE,EAAAH,EAAAR,WAAAU,IAAAC,EAAA,EAAAA,EACAlB,KAAAmB,WACA7D,SAAAmC,gBAAAD,WAAAkB,EACApD,SAAAmC,gBAAAK,UAAAS,GAEAtH,OAAAmI,SAAAV,EAAAH,IAGArC,WACAiD,UAAA,WAAAhD,KAAAlF,OAAAmE,UAAAgB,WACAiD,SAAA,UAAAlD,KAAAlF,OAAAmE,UAAAgB,WACAkD,SACAC,IAAA,SAAA3G,EAAAN,GACAkH,aAAAC,QAAA7G,EAAAN,IAEAJ,IAAA,SAAAU,GACA,OAAA4G,aAAAE,QAAA9G,KAGA+G,iBAAA,SAAA1C,GACA,IAAAsB,EAAA,EAAAG,EAAA,EACA,GACAH,GAAAtB,EAAA2C,WAAA,EACAlB,GAAAzB,EAAAE,YAAA,EACAF,IAAAI,mBACSJ,GACT,OACAsB,MACAG,SAGAmB,SACAC,UAAA5D,EAAA,yBACA6D,SAAA7D,EAAA,wBACA8D,QAAA9D,EAAA,sBAEA+D,aAAA,SAAAC,GAOA,MANA,MAAAA,EAAA,KACAA,IAAAC,OAAA,IAEA,IAAAD,EAAAjG,SACAiG,EAAA,GAAAA,EAAA,GAAAA,EAAA,GAAAA,EAAA,GAAAA,EAAA,GAAAA,EAAA,GAAAA,EAAA,IAEAE,SAAAF,EAAA,gBAEAG,aAAA,SAAAC,GACA,mBAAAA,EAAA5G,SAAA,KAAA6G,OAAA,IAEAC,YAAA,SAAAF,GACA,OAAAA,GACA,OACA,cACA,OACA,YACA,OACA,eACA,QACA,iBAIAzJ,EAAA4J,QAAApE,gCC1HAtE,OAAAC,eAAAnB,EAAA,cAA8CyB,OAAA,IAC9C,IACAoI,EAAAC,EADAxJ,EAAA,KAGAyJ,EAAAD,EADAxJ,EAAA,KAGA0J,EAAAF,EADAxJ,EAAA,KAGA2J,EAAAH,EADAxJ,EAAA,KAGA4J,EAAAJ,EADAxJ,EAAA,KAGA6J,EAAAL,EADAxJ,EAAA,KAGA8J,EAAAN,EADAxJ,EAAA,KAGA+J,EAAAP,EADAxJ,EAAA,KAGAgK,EAAAR,EADAxJ,EAAA,KAGAiK,EAAAT,EADAxJ,EAAA,KAGAkK,EAAAV,EADAxJ,EAAA,KAGAmK,EAAAX,EADAxJ,EAAA,KAGAoK,EAAAZ,EADAxJ,EAAA,KAGAqK,EAAAb,EADAxJ,EAAA,KAGAsK,EAAAd,EADAxJ,EAAA,KAGAuK,EAAAf,EADAxJ,EAAA,KAEA,SAAAwJ,EAAApH,GACA,OAAAA,KAAAd,WAAAc,GAA0CkH,QAAAlH,GAE1C,IAAAoI,GACAC,KAAAlB,EAAAD,QACAoB,MAAAjB,EAAAH,QACAqB,SAAAjB,EAAAJ,QACAsB,WAAAjB,EAAAL,QACAuB,UAAAjB,EAAAN,QACAwB,KAAAjB,EAAAP,QACAyB,QAAAjB,EAAAR,QACA0B,QAAAjB,EAAAT,QACA2B,MAAAjB,EAAAV,QACA4B,QAAAjB,EAAAX,QACA6B,WAAAjB,EAAAZ,QACA8B,KAAAjB,EAAAb,QACA+B,SAAAjB,EAAAd,QACAgC,OAAAjB,EAAAf,QACAiC,SAAAjB,EAAAhB,QACAkC,QAAAjB,EAAAjB,SAEA5J,EAAA4J,QAAAkB,6CCtDA,IAAAtF,EAAAlF,EAAA,GACAyL,EAAAzL,EAAA,IACA0L,GAA4BC,eAAA,qCAC5B,SAAAC,EAAAC,EAAA1K,IACA+D,EAAA1B,YAAAqI,IAAA3G,EAAA1B,YAAAqI,EAAA,mBACAA,EAAA,gBAAA1K,GAYA,IARA2K,EAQAC,GACAD,SARA,oBAAAE,eACAF,EAAA9L,EAAA,SACK,IAAAiM,IACLH,EAAA9L,EAAA,KAEA8L,GAIAI,kBAAA,SAAAC,EAAAN,GAEA,OADAJ,EAAAI,EAAA,gBACA3G,EAAAlC,WAAAmJ,IAAAjH,EAAAnC,cAAAoJ,IAAAjH,EAAA5C,SAAA6J,IAAAjH,EAAAtB,SAAAuI,IAAAjH,EAAAxB,OAAAyI,IAAAjH,EAAAvB,OAAAwI,GACAA,EAEAjH,EAAAhC,kBAAAiJ,GACAA,EAAA9I,OAEA6B,EAAApB,kBAAAqI,IACAP,EAAAC,EAAA,mDACAM,EAAA5J,YAEA2C,EAAAxC,SAAAyJ,IACAP,EAAAC,EAAA,kCACAO,KAAAC,UAAAF,IAEAA,IAEAG,mBAAA,SAAAH,GACA,oBAAAA,EACA,IACAA,EAAAC,KAAAG,MAAAJ,GACiB,MAAAK,IAGjB,OAAAL,IAEAM,QAAA,EACAC,eAAA,aACAC,eAAA,eACAC,kBAAA,EACAC,eAAA,SAAAC,GACA,OAAAA,GAAA,KAAAA,EAAA,MAGAf,EAAAF,SAAoBkB,QAAUC,OAAA,sCAC9B9H,EAAAtC,SACA,SACA,MACA,QACA,SAAAqK,GACAlB,EAAAF,QAAAoB,QAEA/H,EAAAtC,SACA,OACA,MACA,SACA,SAAAqK,GACAlB,EAAAF,QAAAoB,GAAA/H,EAAAd,MAAAsH,KAEA/L,EAAAD,QAAAqM,mDCrEA,IAKAmB,EALAhL,EAAA,mBAAAjB,QAAA,iBAAAA,OAAAkB,SAAA,SAAAC,GACA,cAAAA,GACC,SAAAA,GACD,OAAAA,GAAA,mBAAAnB,QAAAmB,EAAAC,cAAApB,QAAAmB,IAAAnB,OAAAa,UAAA,gBAAAM,GAGA8K,EAAA,WACA,OAAArG,KADA,GAGA,IACAqG,KAAAC,SAAA,cAAAA,KAAA,EAAAC,MAAA,QACC,MAAAZ,GACD,gCAAA1M,OAAA,YAAAoC,EAAApC,WACAoN,EAAApN,QAEAH,EAAAD,QAAAwN,qEChBCG,EAAA,GAAAC,2BAAA/B,EAAAgC,EAAAhC,SAAAtF,EAAAsH,EAAAtH,QAAAuH,EAAAD,EAAAC,IAAAC,EAAAC,EAAAD,QAAAE,EAAAJ,EAAAI,WAAAC,EAAAL,EAAAK,QAAAC,EAAAN,EAAAM,MAAiEtC,GAAA,WAAAA,EAAAuC,eAExC,sCAAA7H,IAAAoH,GAAA,4BAGrB,mDAAAG,IAAAH,GAAoB,WAApBA,GAA6BI,EAA7BD,GAAAH,GAAA,QACA,UAAAM,GAAqCL,KAArCD,GAAA,8BACA,SAAAO,IAAAP,GAAyB,YAAzBA,GAAsCI,EAAtCG,GAAAP,GAAA,QACA,SAAAQ,IAAAR,GAAiB,QAAjBA,GAA0BI,EAA1BI,GAAAR,GAAA,QAEA,gBAAAC,IAAAD,GACoC,6CADpCA,GACsDI,EAAAlC,EAAAsC,KADtDR,GAAA,mECTL1N,EAAAD,QAAAM,EAAA,kCCAA,SAAA+N,EAAAC,GACAnH,KAAAmH,UAEAD,EAAAjM,UAAAS,SAAA,WACA,gBAAAsE,KAAAmH,QAAA,KAAAnH,KAAAmH,QAAA,KAEAD,EAAAjM,UAAAmM,YAAA,EACAtO,EAAAD,QAAAqO,gCCPApO,EAAAD,QAAA,SAAAyB,GACA,SAAAA,MAAA8M,2CCDA,IAAAC,EAAAlO,EAAA,IACAL,EAAAD,QAAA,SAAAsO,EAAAG,EAAAC,EAAAC,EAAAC,GACA,IAAAC,EAAA,IAAAC,MAAAR,GACA,OAAAE,EAAAK,EAAAJ,EAAAC,EAAAC,EAAAC,kCCHA,IAAApJ,EAAAlF,EAAA,GACAyO,EAAAzO,EAAA,IACA0O,EAAA1O,EAAA,IACA2O,EAAA3O,EAAA,IACA4O,EAAA5O,EAAA,IACA6O,EAAA7O,EAAA,GACA8O,EAAA,oBAAAhP,eAAAgP,MAAAhP,OAAAgP,KAAApN,KAAA5B,SAAAE,EAAA,IACAL,EAAAD,QAAA,SAAAyO,GACA,WAAAY,QAAA,SAAAC,EAAAC,GACA,IAAAC,EAAAf,EAAAhC,KACAgD,EAAAhB,EAAAtC,QACA3G,EAAAlC,WAAAkM,WACAC,EAAA,gBAEA,IAAAd,EAAA,IAAArC,eACAoD,EAAA,qBACAC,GAAA,EAUA,GATA,oBAAAvP,gBAAAwP,gBAAA,oBAAAjB,GAAAO,EAAAT,EAAAN,OACAQ,EAAA,IAAAvO,OAAAwP,eACAF,EAAA,SACAC,GAAA,EACAhB,EAAAkB,WAAA,aAEAlB,EAAAmB,UAAA,cAGArB,EAAAsB,KAAA,CACA,IAAAC,EAAAvB,EAAAsB,KAAAC,UAAA,GACAC,EAAAxB,EAAAsB,KAAAE,UAAA,GACAR,EAAAS,cAAA,SAAAd,EAAAY,EAAA,IAAAC,GAgCA,GA9BAtB,EAAAwB,KAAA1B,EAAAlB,OAAA6C,cAAApB,EAAAP,EAAAN,IAAAM,EAAA4B,OAAA5B,EAAA6B,mBAAA,GACA3B,EAAA5B,QAAA0B,EAAA1B,QACA4B,EAAAe,GAAA,WACA,GAAAf,IAAA,IAAAA,EAAA4B,YAAAZ,KAGA,IAAAhB,EAAAvB,QAAAuB,EAAA6B,aAAA,IAAA7B,EAAA6B,YAAAC,QAAA,WAGA,IAAAC,EAAA,0BAAA/B,EAAAM,EAAAN,EAAAgC,yBAAA,KAEA/B,GACAnC,KAFAgC,EAAAmC,cAAA,SAAAnC,EAAAmC,aAAAjC,EAAAC,SAAAD,EAAAkC,aAGAzD,OAAA,OAAAuB,EAAAvB,OAAA,IAAAuB,EAAAvB,OACA0D,WAAA,OAAAnC,EAAAvB,OAAA,aAAAuB,EAAAmC,WACA3E,QAAAuE,EACAjC,SACAE,WAEAI,EAAAO,EAAAC,EAAAX,GACAD,EAAA,OAEAA,EAAAoC,QAAA,WACAxB,EAAAJ,EAAA,gBAAAV,EAAA,KAAAE,IACAA,EAAA,MAEAA,EAAAmB,UAAA,WACAP,EAAAJ,EAAA,cAAAV,EAAA1B,QAAA,cAAA0B,EAAA,eAAAE,IACAA,EAAA,MAEAnJ,EAAAlB,uBAAA,CACA,IAAA0M,EAAA1Q,EAAA,IACA2Q,GAAAxC,EAAAyC,iBAAAhC,EAAAT,EAAAN,OAAAM,EAAAzB,eAAAgE,EAAAG,KAAA1C,EAAAzB,qBAAA5E,EACA6I,IACAxB,EAAAhB,EAAAxB,gBAAAgE,GAeA,GAZA,qBAAAtC,GACAnJ,EAAAtC,QAAAuM,EAAA,SAAA1M,EAAAhB,QACA,IAAAyN,GAAA,iBAAAzN,EAAAqP,qBACA3B,EAAA1N,GAEA4M,EAAA0C,iBAAAtP,EAAAgB,KAIA0L,EAAAyC,kBACAvC,EAAAuC,iBAAA,GAEAzC,EAAAmC,aACA,IACAjC,EAAAiC,aAAAnC,EAAAmC,aACa,MAAA9D,GACb,YAAA2B,EAAAmC,aACA,MAAA9D,EAIA,mBAAA2B,EAAA6C,oBACA3C,EAAA4C,iBAAA,WAAA9C,EAAA6C,oBAEA,mBAAA7C,EAAA+C,kBAAA7C,EAAA8C,QACA9C,EAAA8C,OAAAF,iBAAA,WAAA9C,EAAA+C,kBAEA/C,EAAAiD,aACAjD,EAAAiD,YAAAC,QAAAC,KAAA,SAAAC,GACAlD,IAGAA,EAAAmD,QACAvC,EAAAsC,GACAlD,EAAA,aAGAvG,IAAAoH,IACAA,EAAA,MAEAb,EAAAjD,KAAA8D,oCC5GAvP,EAAAD,QAAA,SAAAmD,EAAA8B,GACA,kBAEA,IADA,IAAA8M,EAAA,IAAAC,MAAAnN,UAAAzB,QACA5C,EAAA,EAAuBA,EAAAuR,EAAA3O,OAAiB5C,IACxCuR,EAAAvR,GAAAqE,UAAArE,GAEA,OAAA2C,EAAA8O,MAAAhN,EAAA8M,mCCNA,IACAG,EACAC,EAFA5F,EAAAtM,EAAAD,WAGA,SAAAoS,IACA,UAAAtD,MAAA,mCAEA,SAAAuD,IACA,UAAAvD,MAAA,qCAsBA,SAAAwD,EAAAC,GACA,GAAAL,IAAAM,WACA,OAAAA,WAAAD,EAAA,GAEA,IAAAL,IAAAE,IAAAF,IAAAM,WAEA,OADAN,EAAAM,WACAA,WAAAD,EAAA,GAEA,IACA,OAAAL,EAAAK,EAAA,GACK,MAAAzF,GACL,IACA,OAAAoF,EAAAvR,KAAA,KAAA4R,EAAA,GACS,MAAAzF,GACT,OAAAoF,EAAAvR,KAAAwG,KAAAoL,EAAA,MAlCA,WACA,IAEAL,EADA,mBAAAM,WACAA,WAEAJ,EAEK,MAAAtF,GACLoF,EAAAE,EAEA,IAEAD,EADA,mBAAAM,aACAA,aAEAJ,EAEK,MAAAvF,GACLqF,EAAAE,GAjBA,GAwDA,IAEAK,EAFAC,KACAC,GAAA,EAEAC,GAAA,EACA,SAAAC,IACAF,GAAAF,IAGAE,GAAA,EACAF,EAAAtP,OACAuP,EAAAD,EAAAK,OAAAJ,GAEAE,GAAA,EAEAF,EAAAvP,QACA4P,KAGA,SAAAA,IACA,IAAAJ,EAAA,CAGA,IAAA7F,EAAAuF,EAAAQ,GACAF,GAAA,EAEA,IADA,IAAAK,EAAAN,EAAAvP,OACA6P,GAAA,CAGA,IAFAP,EAAAC,EACAA,OACAE,EAAAI,GACAP,GACAA,EAAAG,GAAAK,MAGAL,GAAA,EACAI,EAAAN,EAAAvP,OAEAsP,EAAA,KACAE,GAAA,EAvDA,SAAAO,GACA,GAAAhB,IAAAM,aACA,OAAAA,aAAAU,GAEA,IAAAhB,IAAAE,IAAAF,IAAAM,aAEA,OADAN,EAAAM,aACAA,aAAAU,GAEA,IACAhB,EAAAgB,GACK,MAAArG,GACL,IACA,OAAAqF,EAAAxR,KAAA,KAAAwS,GACS,MAAArG,GACT,OAAAqF,EAAAxR,KAAAwG,KAAAgM,KA0CAC,CAAArG,IAcA,SAAAsG,EAAAd,EAAAe,GACAnM,KAAAoL,MACApL,KAAAmM,QAWA,SAAAC,KAzBAhH,EAAAiH,SAAA,SAAAjB,GACA,IAAAR,EAAA,IAAAC,MAAAnN,UAAAzB,OAAA,GACA,GAAAyB,UAAAzB,OAAA,EACA,QAAA5C,EAAA,EAAuBA,EAAAqE,UAAAzB,OAAsB5C,IAC7CuR,EAAAvR,EAAA,GAAAqE,UAAArE,GAGAmS,EAAAc,KAAA,IAAAJ,EAAAd,EAAAR,IACA,IAAAY,EAAAvP,QAAAwP,GACAN,EAAAU,IAOAK,EAAAjR,UAAA8Q,IAAA,WACA/L,KAAAoL,IAAAN,MAAA,KAAA9K,KAAAmM,QAEA/G,EAAAmH,MAAA,UACAnH,EAAAoH,SAAA,EACApH,EAAAqH,OACArH,EAAAsH,QACAtH,EAAAuH,QAAA,GACAvH,EAAAwH,YAGAxH,EAAAyH,GAAAT,EACAhH,EAAA0H,YAAAV,EACAhH,EAAA2H,KAAAX,EACAhH,EAAA4H,IAAAZ,EACAhH,EAAA6H,eAAAb,EACAhH,EAAA8H,mBAAAd,EACAhH,EAAA+H,KAAAf,EACAhH,EAAAgI,gBAAAhB,EACAhH,EAAAiI,oBAAAjB,EACAhH,EAAAkI,UAAA,SAAA1T,GACA,UAEAwL,EAAAmI,QAAA,SAAA3T,GACA,UAAA+N,MAAA,qCAEAvC,EAAAoI,IAAA,WACA,WAEApI,EAAAqI,MAAA,SAAAC,GACA,UAAA/F,MAAA,mCAEAvC,EAAAuI,MAAA,WACA,wCC1JA5T,OAAAC,eAAAnB,EAAA,cAA8CyB,OAAA,IAC9C,IAAAsT,EAAA,WACA,SAAAC,EAAAC,EAAAC,GACA,QAAA1U,EAAA,EAAuBA,EAAA0U,EAAA9R,OAAkB5C,IAAA,CACzC,IAAA2U,EAAAD,EAAA1U,GACA2U,EAAA/T,WAAA+T,EAAA/T,aAAA,EACA+T,EAAAC,cAAA,EACA,UAAAD,IACAA,EAAAE,UAAA,GACAnU,OAAAC,eAAA8T,EAAAE,EAAApT,IAAAoT,IAGA,gBAAAG,EAAAC,EAAAC,GAKA,OAJAD,GACAP,EAAAM,EAAAlT,UAAAmT,GACAC,GACAR,EAAAM,EAAAE,GACAF,GAhBA,GAwBA,IAAAG,EAAA,WACA,SAAAA,EAAAC,GACA,IAAAC,EAAAxO,MAPA,SAAAyO,EAAAN,GACA,KAAAM,aAAAN,GACA,UAAAO,UAAA,qCAMAC,CAAA3O,KAAAsO,GACAtO,KAAA4O,UAAAL,EAAAM,SAAAC,UACA9O,KAAA6O,SAAAN,EAAAM,SACA7O,KAAA+O,MAAAR,EAAAQ,MACA/O,KAAAuO,SACAvO,KAAA6O,SAAAG,eAAA5E,iBAAA,mBACAoE,EAAAS,SAsDA,OAnDArB,EAAAU,IAEA1T,IAAA,OACAN,MAAA,WACA0F,KAAAkP,UAAAC,KAAAC,MACApP,KAAAqP,SACArP,KAAAuO,OAAAe,MAAAC,OAAA,QACAvP,KAAAuO,OAAAe,MAAAC,OAAA,OACAvP,KAAA4O,UAAAY,UAAAC,OAAA,8BAIA7U,IAAA,OACAN,MAAA,WACA0F,KAAAuO,OAAAe,MAAAI,QAAA,QACA1P,KAAAuO,OAAAe,MAAAI,QAAA,OACA1P,KAAA4O,UAAAY,UAAAG,IAAA,8BAIA/U,IAAA,UACAN,MAAA,WACA0F,KAAA4O,UAAAY,UAAAI,SAAA,2BACA5P,KAAA6P,OAEA7P,KAAAiP,UAKArU,IAAA,SACAN,MAAA,WACA0F,KAAA6O,SAAAiB,YAAAC,UAAA,kBACA/P,KAAA6O,SAAAmB,SAAAD,UAAA/P,KAAAuO,OAAAtH,KACAjH,KAAA6O,SAAAoB,QAAAF,UAAA/P,KAAAuO,OAAA2B,QAAAnB,MAAA/H,IACAhH,KAAA6O,SAAAsB,eAAAJ,UAAA/P,KAAAuO,OAAAQ,MAAAqB,WAAA,MAAApQ,KAAAuO,OAAAQ,MAAAsB,YACArQ,KAAA6O,SAAAyB,aAAAP,UAAA/P,KAAAuO,OAAAQ,MAAAwB,SACAvQ,KAAAuO,OAAA2B,QAAAM,UACAxQ,KAAA6O,SAAA4B,cAAAV,UAAA/P,KAAAuO,OAAA2B,QAAAM,QAAAE,GACA1Q,KAAA6O,SAAA8B,eAAAZ,UAAA/P,KAAAuO,OAAA2B,QAAAM,QAAAI,IACA5Q,KAAA6O,SAAAgC,kBAAAd,UAAA/P,KAAAuO,OAAAiC,QAAAM,IAAA7U,WAKArB,IAAA,MACAN,MAAA,SAAAA,GACA0F,KAAA6O,SAAAkC,QAAAhB,UAAA,GAAAzV,EAAA0W,QAAA,OAIA1C,EA/DA,GAiEAzV,EAAA4J,QAAA6L,gCC1FAvU,OAAAC,eAAAnB,EAAA,cAA8CyB,OAAA,IAC9C,IAAAsT,EAAA,WACA,SAAAC,EAAAC,EAAAC,GACA,QAAA1U,EAAA,EAAuBA,EAAA0U,EAAA9R,OAAkB5C,IAAA,CACzC,IAAA2U,EAAAD,EAAA1U,GACA2U,EAAA/T,WAAA+T,EAAA/T,aAAA,EACA+T,EAAAC,cAAA,EACA,UAAAD,IACAA,EAAAE,UAAA,GACAnU,OAAAC,eAAA8T,EAAAE,EAAApT,IAAAoT,IAGA,gBAAAG,EAAAC,EAAAC,GAKA,OAJAD,GACAP,EAAAM,EAAAlT,UAAAmT,GACAC,GACAR,EAAAM,EAAAE,GACAF,GAhBA,GAwBA,IAAA8C,EAAA,WACA,SAAAA,EAAA1C,GACA,IAAAC,EAAAxO,MAPA,SAAAyO,EAAAN,GACA,KAAAM,aAAAN,GACA,UAAAO,UAAA,qCAMAC,CAAA3O,KAAAiR,GACAjR,KAAAuO,SACAvO,KAAAkR,OAAA,EACArG,MAAA5P,UAAAsH,MAAA/I,KAAAwG,KAAAuO,OAAAM,SAAAsC,UAAApV,QAAA,SAAAqV,EAAAC,GACA7C,EAAAD,OAAA2B,QAAAoB,YAAAD,GAAAE,OACAH,EAAAhH,iBAAA,mBACAoE,EAAAD,OAAA2B,QAAAoB,YAAAD,GAAAE,MAAA/C,EAAAD,QACAC,EAAAS,WAIAjP,KAAAuO,OAAAK,UAAAxE,iBAAA,uBAAAzE,GACA,GAAA6I,EAAA0C,MACA1C,EAAAS,WADA,CAIA,IAAAuC,EAAA7L,GAAA1M,OAAAuY,MACAA,EAAAC,iBACA,IAAAC,EAAAlD,EAAAD,OAAAK,UAAA7O,wBACAyO,EAAAqB,KAAA2B,EAAAG,QAAAD,EAAAhR,KAAA8Q,EAAAI,QAAAF,EAAAnR,KACAiO,EAAAD,OAAAM,SAAAgD,KAAAzH,iBAAA,mBACAoE,EAAAS,YAuCA,OAnCArB,EAAAqD,IAEArW,IAAA,OACAN,MAAA,SAAAwX,EAAAC,GACA/R,KAAAuO,OAAAM,SAAAmD,KAAAxC,UAAAG,IAAA,qBACA,IAAA+B,EAAA1R,KAAAuO,OAAAK,UAAA7O,wBACA+R,EAAA9R,KAAAuO,OAAAM,SAAAmD,KAAAC,aAAAP,EAAAQ,OACAlS,KAAAuO,OAAAM,SAAAmD,KAAA5R,MAAAgE,MAAAsN,EAAAQ,MAAAJ,EAAA,KACA9R,KAAAuO,OAAAM,SAAAmD,KAAA5R,MAAAM,KAAA,YAEAV,KAAAuO,OAAAM,SAAAmD,KAAA5R,MAAAM,KAAAoR,EAAA,KACA9R,KAAAuO,OAAAM,SAAAmD,KAAA5R,MAAAgE,MAAA,WAEA2N,EAAA/R,KAAAuO,OAAAM,SAAAmD,KAAAG,cAAAT,EAAAU,QACApS,KAAAuO,OAAAM,SAAAmD,KAAA5R,MAAAiS,OAAAX,EAAAU,OAAAL,EAAA,KACA/R,KAAAuO,OAAAM,SAAAmD,KAAA5R,MAAAG,IAAA,YAEAP,KAAAuO,OAAAM,SAAAmD,KAAA5R,MAAAG,IAAAwR,EAAA,KACA/R,KAAAuO,OAAAM,SAAAmD,KAAA5R,MAAAiS,OAAA,WAEArS,KAAAuO,OAAAM,SAAAgD,KAAArC,UAAAG,IAAA,qBACA3P,KAAAkR,OAAA,EACAlR,KAAAuO,OAAA+D,OAAAC,QAAA,uBAIA3X,IAAA,OACAN,MAAA,WACA0F,KAAAuO,OAAAM,SAAAgD,KAAArC,UAAAC,OAAA,qBACAzP,KAAAuO,OAAAM,SAAAmD,KAAAxC,UAAAC,OAAA,qBACAzP,KAAAkR,OAAA,EACAlR,KAAAuO,OAAA+D,OAAAC,QAAA,wBAIAtB,EA/DA,GAiEApY,EAAA4J,QAAAwO,gCC1FAlX,OAAAC,eAAAnB,EAAA,cAA8CyB,OAAA,IAyD9CzB,EAAA4J,QAnDA,SAAA+P,EAAAjE,IALA,SAAAE,EAAAN,GACA,KAAAM,aAAAN,GACA,UAAAO,UAAA,qCAIAC,CAAA3O,KAAAwS,GACAjE,EAAA2B,QAAAuC,QACAnV,SAAA8M,iBAAA,mBAAAzE,GACA,GAAA4I,EAAAmE,MAAA,CACA,IAAAC,EAAArV,SAAAsV,cAAAC,QAAA5J,cACA6J,EAAAxV,SAAAsV,cAAAG,aAAA,mBACA,aAAAJ,GAAA,aAAAA,GAAA,KAAAG,GAAA,SAAAA,EAAA,CACA,IAAAtB,EAAA7L,GAAA1M,OAAAuY,MACAwB,OAAA,EACA,OAAAxB,EAAAyB,SACA,QACAzB,EAAAC,iBACAlD,EAAA2E,SACA,MACA,QACA1B,EAAAC,iBACAlD,EAAA4E,KAAA5E,EAAAQ,MAAAqE,YAAA,GACA7E,EAAA8E,WAAAC,cACA,MACA,QACA9B,EAAAC,iBACAlD,EAAA4E,KAAA5E,EAAAQ,MAAAqE,YAAA,GACA7E,EAAA8E,WAAAC,cACA,MACA,QACA9B,EAAAC,iBACAuB,EAAAzE,EAAAgF,SAAA,GACAhF,EAAAgF,OAAAP,GACA,MACA,QACAxB,EAAAC,iBACAuB,EAAAzE,EAAAgF,SAAA,GACAhF,EAAAgF,OAAAP,QAOA1V,SAAA8M,iBAAA,mBAAAzE,GAEA,QADAA,GAAA1M,OAAAuY,OACAyB,SACA,QACA1E,EAAAiF,WAAAC,aAAA,QACAlF,EAAAiF,WAAA9I,OAAA,yCCnDA3Q,OAAAC,eAAAnB,EAAA,cAA8CyB,OAAA,IAC9C,IAqBAiB,EArBAqS,EAAA,WACA,SAAAC,EAAAC,EAAAC,GACA,QAAA1U,EAAA,EAAuBA,EAAA0U,EAAA9R,OAAkB5C,IAAA,CACzC,IAAA2U,EAAAD,EAAA1U,GACA2U,EAAA/T,WAAA+T,EAAA/T,aAAA,EACA+T,EAAAC,cAAA,EACA,UAAAD,IACAA,EAAAE,UAAA,GACAnU,OAAAC,eAAA8T,EAAAE,EAAApT,IAAAoT,IAGA,gBAAAG,EAAAC,EAAAC,GAKA,OAJAD,GACAP,EAAAM,EAAAlT,UAAAmT,GACAC,GACAR,EAAAM,EAAAE,GACAF,GAhBA,GAmBAuF,EAAAva,EAAA,GACAwa,GACApY,EADAmY,IAEAnY,EAAAd,WAAAc,GAA0CkH,QAAAlH,GAO1C,IAAAqY,EAAA,WACA,SAAAA,EAAArF,GACA,IAAAC,EAAAxO,MAPA,SAAAyO,EAAAN,GACA,KAAAM,aAAAN,GACA,UAAAO,UAAA,qCAMAC,CAAA3O,KAAA4T,GACA5T,KAAAuO,SACAvO,KAAAuO,OAAAM,SAAAgD,KAAAzH,iBAAA,mBACAoE,EAAAS,SAEAjP,KAAAuO,OAAAM,SAAAgF,cAAAzJ,iBAAA,mBACAoE,EAAAqB,SAEA7P,KAAAuO,OAAAM,SAAAiF,qBAAA1J,iBAAA,mBACAoE,EAAAuF,kBAEA/T,KAAAuO,OAAAM,SAAAmF,uBAAA5J,iBAAA,mBAEA,GADAoE,EAAAD,OAAAM,SAAAmF,uBAAAC,cAAA,sBACA,CACA,IAAA/R,EAAAsM,EAAAD,OAAAM,SAAAmF,uBAAAC,cAAA,iBAAA3Z,MACAkU,EAAAD,OAAAM,SAAAqF,mBAAA9T,MAAA+T,KAAAjS,EACAsM,EAAAD,OAAAM,SAAAuF,aAAAhU,MAAA8B,QACAsM,EAAAD,OAAAM,SAAAwF,gBAAAjU,MAAA+T,KAAAjS,KAGAlC,KAAAuO,OAAAM,SAAAuF,aAAAhK,iBAAA,mBACAoE,EAAA8F,gBAEAtU,KAAAuO,OAAAM,SAAAuF,aAAAhK,iBAAA,mBAAAzE,GAEA,MADAA,GAAA1M,OAAAuY,OACAyB,SACAzE,EAAAjK,SAGAvE,KAAAuO,OAAAM,SAAA0F,kBAAAnK,iBAAA,mBACAoE,EAAAjK,SAkEA,OA/DAqJ,EAAAgG,IAEAhZ,IAAA,OACAN,MAAA,WACA0F,KAAAuO,OAAA8E,WAAAmB,iBAAA,EACAxU,KAAAuO,OAAAM,SAAAwE,WAAA7D,UAAAG,IAAA,8BACA3P,KAAAuO,OAAAM,SAAAgD,KAAArC,UAAAG,IAAA,qBACA3P,KAAAuO,OAAAK,UAAAY,UAAAG,IAAA,2BACA3P,KAAAuO,OAAAM,SAAAuF,aAAA1B,WAIA9X,IAAA,OACAN,MAAA,WACA0F,KAAAuO,OAAAM,SAAAwE,WAAA7D,UAAAC,OAAA,8BACAzP,KAAAuO,OAAAM,SAAAgD,KAAArC,UAAAC,OAAA,qBACAzP,KAAAuO,OAAAK,UAAAY,UAAAC,OAAA,2BACAzP,KAAAuO,OAAA8E,WAAAmB,iBAAA,EACAxU,KAAAsU,iBAIA1Z,IAAA,cACAN,MAAA,WACA0F,KAAAuO,OAAAM,SAAA4F,kBAAAjF,UAAAG,IAAA,mCAIA/U,IAAA,cACAN,MAAA,WACA0F,KAAAuO,OAAAM,SAAA4F,kBAAAjF,UAAAC,OAAA,mCAIA7U,IAAA,gBACAN,MAAA,WACA0F,KAAAuO,OAAAM,SAAA4F,kBAAAjF,UAAAI,SAAA,gCACA5P,KAAAsU,cAEAtU,KAAA0U,iBAKA9Z,IAAA,OACAN,MAAA,WACA,IAAAqa,EAAA3U,KACAA,KAAAuO,OAAAM,SAAAuF,aAAAQ,OACA5U,KAAAuO,OAAAM,SAAAuF,aAAA9Z,MAAA2D,QAAA,iBAIA+B,KAAAuO,OAAAiC,QAAAjM,MACAsQ,KAAA7U,KAAAuO,OAAAM,SAAAuF,aAAA9Z,MACA4H,MAAAyR,EAAAlR,QAAAR,aAAAjC,KAAAuO,OAAAK,UAAAqF,cAAA,gDAAA3Z,OACA2M,KAAA7E,SAAApC,KAAAuO,OAAAK,UAAAqF,cAAA,+CAAA3Z,QACiB,WACjBqa,EAAApG,OAAAM,SAAAuF,aAAA9Z,MAAA,GACAqa,EAAA1F,SATAjP,KAAAuO,OAAAuG,OAAA9U,KAAAuO,OAAAwG,KAAA,sCAcAnB,EAnGA,GAqGA/a,EAAA4J,QAAAmR,gCCnIA7Z,OAAAC,eAAAnB,EAAA,cAA8CyB,OAAA,IAC9C,IAqBAiB,EArBAqS,EAAA,WACA,SAAAC,EAAAC,EAAAC,GACA,QAAA1U,EAAA,EAAuBA,EAAA0U,EAAA9R,OAAkB5C,IAAA,CACzC,IAAA2U,EAAAD,EAAA1U,GACA2U,EAAA/T,WAAA+T,EAAA/T,aAAA,EACA+T,EAAAC,cAAA,EACA,UAAAD,IACAA,EAAAE,UAAA,GACAnU,OAAAC,eAAA8T,EAAAE,EAAApT,IAAAoT,IAGA,gBAAAG,EAAAC,EAAAC,GAKA,OAJAD,GACAP,EAAAM,EAAAlT,UAAAmT,GACAC,GACAR,EAAAM,EAAAE,GACAF,GAhBA,GAmBAuF,EAAAva,EAAA,GACAwa,GACApY,EADAmY,IAEAnY,EAAAd,WAAAc,GAA0CkH,QAAAlH,GAO1C,IAAAyZ,EAAA,WACA,SAAAA,EAAAzG,GACA,IAAAC,EAAAxO,MAPA,SAAAyO,EAAAN,GACA,KAAAM,aAAAN,GACA,UAAAO,UAAA,qCAMAC,CAAA3O,KAAAgV,GACAhV,KAAAuO,SACAvO,KAAAuO,OAAAM,SAAAgD,KAAAzH,iBAAA,mBACAoE,EAAAS,SAEAjP,KAAAuO,OAAAM,SAAAoG,cAAA7K,iBAAA,mBACAoE,EAAAqB,SAEA7P,KAAAkV,KAAAlV,KAAAuO,OAAA2B,QAAAgF,KACAlV,KAAAuO,OAAAM,SAAAsG,WAAAC,QAAApV,KAAAkV,KACAlV,KAAAuO,OAAAM,SAAAqG,KAAA9K,iBAAA,mBACAoE,EAAAD,OAAAM,SAAAsG,WAAAC,SAAA5G,EAAAD,OAAAM,SAAAsG,WAAAC,QACA5G,EAAAD,OAAAM,SAAAsG,WAAAC,QACA5G,EAAA0G,MAAA,EAEA1G,EAAA0G,MAAA,EAEA1G,EAAAS,SAEAjP,KAAAqV,YAAArV,KAAAuO,OAAA+G,KAAApb,IAAA,WACA8F,KAAAqV,aACArV,KAAAuO,OAAAiC,SAAAxQ,KAAAuO,OAAAiC,QAAAvB,OAEAjP,KAAAuO,OAAAM,SAAA0G,kBAAAH,QAAApV,KAAAqV,YACArV,KAAAuO,OAAAM,SAAAwG,YAAAjL,iBAAA,mBACAoE,EAAAD,OAAAM,SAAA0G,kBAAAH,SAAA5G,EAAAD,OAAAM,SAAA0G,kBAAAH,QACA5G,EAAAD,OAAAM,SAAA0G,kBAAAH,SACA5G,EAAA6G,aAAA,EACA7G,EAAAD,OAAAiC,QAAAX,SAEArB,EAAA6G,aAAA,EACA7G,EAAAD,OAAAiC,QAAAvB,QAEAT,EAAAD,OAAA+G,KAAA/T,IAAA,UAAAiN,EAAA6G,YAAA,KACA7G,EAAAS,SAEAjP,KAAAwV,eAAAxV,KAAAuO,OAAA+G,KAAApb,IAAA,aACA8F,KAAAuO,OAAAM,SAAA4G,qBAAAL,QAAApV,KAAAwV,eACAxV,KAAAuO,OAAAM,SAAA2G,eAAApL,iBAAA,mBACAoE,EAAAD,OAAAM,SAAA4G,qBAAAL,SAAA5G,EAAAD,OAAAM,SAAA4G,qBAAAL,QACA5G,EAAAD,OAAAM,SAAA4G,qBAAAL,SACA5G,EAAAgH,gBAAA,EACAhH,EAAAD,OAAAiC,QAAAkF,SAAA,KAEAlH,EAAAgH,gBAAA,EACAhH,EAAAD,OAAAiC,QAAAkF,SAAA,IAEAlH,EAAAD,OAAA+G,KAAA/T,IAAA,YAAAiN,EAAAgH,eAAA,KACAhH,EAAAS,SAEAjP,KAAAuO,OAAAM,SAAA8G,MAAAvL,iBAAA,mBACAoE,EAAAD,OAAAM,SAAA+G,WAAApG,UAAAG,IAAA,8BACAnB,EAAAD,OAAAM,SAAA+G,WAAApG,UAAAG,IAAA,+BAQA,IANA,IAAAkG,EAAA,SAAAxc,GACAmV,EAAAD,OAAAM,SAAAiH,UAAAzc,GAAA+Q,iBAAA,mBACAoE,EAAAD,OAAAoH,MAAAnH,EAAAD,OAAAM,SAAAiH,UAAAzc,GAAA0c,QAAAJ,OACAnH,EAAAS,UAGA5V,EAAA,EAAuBA,EAAA2G,KAAAuO,OAAAM,SAAAiH,UAAA7Z,OAA2C5C,IAClEwc,EAAAxc,GAEA,GAAA2G,KAAAuO,OAAAiC,QAAA,CAEAxQ,KAAAuO,OAAA1B,GAAA,2BAAAmG,GACAxE,EAAAD,OAAAyH,IAAAzU,IAAA,UAAAyR,EAAA,SACAxE,EAAAD,OAAA+G,KAAA/T,IAAA,UAAAyR,KAEAhT,KAAAuO,OAAAiC,QAAAyF,QAAAjW,KAAAuO,OAAA+G,KAAApb,IAAA,YACA,IAAAgc,EAAA,SAAA1E,GACA,IAAA7L,EAAA6L,GAAAvY,OAAAuY,MACAwB,IAAArN,EAAAgM,SAAAhM,EAAAwQ,eAAA,GAAAxE,SAAAgC,EAAAlR,QAAA5C,8BAAA2O,EAAAD,OAAAM,SAAAuH,wBARA,IASApD,EAAAvU,KAAA4X,IAAArD,EAAA,GACAA,EAAAvU,KAAAE,IAAAqU,EAAA,GACAxE,EAAAD,OAAAiC,QAAAyF,QAAAjD,IAEAsD,EAAA,SAAAA,IACAhZ,SAAAiZ,oBAAA5C,EAAAlR,QAAAZ,QAAAG,QAAAsU,GACAhZ,SAAAiZ,oBAAA5C,EAAAlR,QAAAZ,QAAAE,SAAAmU,GACA1H,EAAAD,OAAAM,SAAA2H,kBAAAhH,UAAAC,OAAA,mCAEAzP,KAAAuO,OAAAM,SAAA4H,0BAAArM,iBAAA,iBAAAoH,GACA,IAAA7L,EAAA6L,GAAAvY,OAAAuY,MACAwB,IAAArN,EAAAgM,SAAAhM,EAAAwQ,eAAA,GAAAxE,SAAAgC,EAAAlR,QAAA5C,8BAAA2O,EAAAD,OAAAM,SAAAuH,wBApBA,IAqBApD,EAAAvU,KAAA4X,IAAArD,EAAA,GACAA,EAAAvU,KAAAE,IAAAqU,EAAA,GACAxE,EAAAD,OAAAiC,QAAAyF,QAAAjD,KAEAhT,KAAAuO,OAAAM,SAAA4H,0BAAArM,iBAAAuJ,EAAAlR,QAAAZ,QAAAC,UAAA,WACAxE,SAAA8M,iBAAAuJ,EAAAlR,QAAAZ,QAAAE,SAAAmU,GACA5Y,SAAA8M,iBAAAuJ,EAAAlR,QAAAZ,QAAAG,QAAAsU,GACA9H,EAAAD,OAAAM,SAAA2H,kBAAAhH,UAAAG,IAAA,qCA2BA,OAvBA/B,EAAAoH,IAEApa,IAAA,OACAN,MAAA,WACA,IAAAqa,EAAA3U,KACAA,KAAAuO,OAAAM,SAAA+G,WAAApG,UAAAC,OAAA,4BACAzP,KAAAuO,OAAAM,SAAAgD,KAAArC,UAAAC,OAAA,qBACApE,WAAA,WACAsJ,EAAApG,OAAAM,SAAA+G,WAAApG,UAAAC,OAAA,8BACAkF,EAAApG,OAAAM,SAAA+G,WAAApG,UAAAC,OAAA,8BACiB,KACjBzP,KAAAuO,OAAA8E,WAAAmB,iBAAA,KAIA5Z,IAAA,OACAN,MAAA,WACA0F,KAAAuO,OAAAM,SAAA+G,WAAApG,UAAAG,IAAA,4BACA3P,KAAAuO,OAAAM,SAAAgD,KAAArC,UAAAG,IAAA,qBACA3P,KAAAuO,OAAA8E,WAAAmB,iBAAA,MAIAQ,EA1HA,GA4HAnc,EAAA4J,QAAAuS,gCC1JAjb,OAAAC,eAAAnB,EAAA,cAA8CyB,OAAA,IAC9C,IAAAsT,EAAA,WACA,SAAAC,EAAAC,EAAAC,GACA,QAAA1U,EAAA,EAAuBA,EAAA0U,EAAA9R,OAAkB5C,IAAA,CACzC,IAAA2U,EAAAD,EAAA1U,GACA2U,EAAA/T,WAAA+T,EAAA/T,aAAA,EACA+T,EAAAC,cAAA,EACA,UAAAD,IACAA,EAAAE,UAAA,GACAnU,OAAAC,eAAA8T,EAAAE,EAAApT,IAAAoT,IAGA,gBAAAG,EAAAC,EAAAC,GAKA,OAJAD,GACAP,EAAAM,EAAAlT,UAAAmT,GACAC,GACAR,EAAAM,EAAAE,GACAF,GAhBA,GAwBA,IAAAuI,EAAA,WACA,SAAAA,EAAAxG,IANA,SAAAzB,EAAAN,GACA,KAAAM,aAAAN,GACA,UAAAO,UAAA,qCAKAC,CAAA3O,KAAA0W,GACA1W,KAAA4O,UAAAsB,EAAAtB,UACA5O,KAAA2W,SAAAzG,EAAAyG,SACA3W,KAAA4O,UAAAxO,MAAAwW,gBAAA,QAAA1G,EAAAlJ,IAAA,KACAhH,KAAAsS,OAAApC,EAAAoC,OAiCA,OA/BA1E,EAAA8I,IAEA9b,IAAA,SACAN,MAAA,SAAA4X,EAAAE,GACApS,KAAA4O,UAAAxO,MAAA8R,QAAA,KACAlS,KAAA4O,UAAAxO,MAAAgS,SAAA,KACApS,KAAA4O,UAAAxO,MAAAG,IAAA,EAAA6R,EAAA,QAIAxX,IAAA,OACAN,MAAA,WACA0F,KAAA4O,UAAAxO,MAAAyW,QAAA,QACA7W,KAAAsS,QAAAtS,KAAAsS,OAAAC,QAAA,sBAIA3X,IAAA,OACAN,MAAA,SAAAwc,GACA9W,KAAA4O,UAAAxO,MAAA2W,mBAAA,SAAAtY,KAAAuY,KAAAF,EAAA9W,KAAA2W,SAAA,eACA3W,KAAA4O,UAAAxO,MAAAM,KAAAjC,KAAAE,IAAAF,KAAA4X,IAAAS,EAAA9W,KAAA4O,UAAAqD,YAAA,OAAAjS,KAAA2W,SAAA,aAIA/b,IAAA,OACAN,MAAA,WACA0F,KAAA4O,UAAAxO,MAAAyW,QAAA,OACA7W,KAAAsS,QAAAtS,KAAAsS,OAAAC,QAAA,uBAIAmE,EAvCA,GAyCA7d,EAAA4J,QAAAiU,gCClEA3c,OAAAC,eAAAnB,EAAA,cAA8CyB,OAAA,IAC9C,IAAAsT,EAAA,WACA,SAAAC,EAAAC,EAAAC,GACA,QAAA1U,EAAA,EAAuBA,EAAA0U,EAAA9R,OAAkB5C,IAAA,CACzC,IAAA2U,EAAAD,EAAA1U,GACA2U,EAAA/T,WAAA+T,EAAA/T,aAAA,EACA+T,EAAAC,cAAA,EACA,UAAAD,IACAA,EAAAE,UAAA,GACAnU,OAAAC,eAAA8T,EAAAE,EAAApT,IAAAoT,IAGA,gBAAAG,EAAAC,EAAAC,GAKA,OAJAD,GACAP,EAAAM,EAAAlT,UAAAmT,GACAC,GACAR,EAAAM,EAAAE,GACAF,GAhBA,GAoBAwF,EAAAhR,EADAxJ,EAAA,IAGA8d,EAAAtU,EADAxJ,EAAA,KAGA+d,EAAAvU,EADAxJ,EAAA,IAEA,SAAAwJ,EAAApH,GACA,OAAAA,KAAAd,WAAAc,GAA0CkH,QAAAlH,GAO1C,IAAA4b,EAAA,WACA,SAAAA,EAAA5I,GACA,IAAAC,EAAAxO,MAPA,SAAAyO,EAAAN,GACA,KAAAM,aAAAN,GACA,UAAAO,UAAA,qCAMAC,CAAA3O,KAAAmX,GACAnX,KAAAuO,SACAvO,KAAAoX,cAAA,EACAzD,EAAAlR,QAAAvE,WACA8B,KAAAuO,OAAAK,UAAAxE,iBAAA,uBACAoE,EAAA8E,gBAEAtT,KAAAuO,OAAAK,UAAAxE,iBAAA,mBACAoE,EAAA8E,gBAEAtT,KAAAuO,OAAA1B,GAAA,kBACA2B,EAAA8E,gBAEAtT,KAAAuO,OAAA1B,GAAA,mBACA2B,EAAA8E,iBAGAtT,KAAAqX,iBACArX,KAAAsX,iBACAtX,KAAAuX,gBACAvX,KAAAwX,iBACAxX,KAAAyX,oBACAzX,KAAA0X,uBACA1X,KAAA2X,qBACA3X,KAAA4X,iBACAjE,EAAAlR,QAAAvE,UACA8B,KAAA6X,mBAwSA,OArSAjK,EAAAuJ,IAEAvc,IAAA,iBACAN,MAAA,WACA,IAAAqa,EAAA3U,KACAA,KAAAuO,OAAAM,SAAAiJ,WAAA1N,iBAAA,mBACAuK,EAAApG,OAAA2E,WAEAS,EAAAlR,QAAAvE,UAQA8B,KAAAuO,OAAAM,SAAAkJ,UAAA3N,iBAAA,mBACAuK,EAAAzB,WAEAlT,KAAAuO,OAAAM,SAAAmJ,eAAA5N,iBAAA,mBACAuK,EAAAzB,aAXAlT,KAAAuO,OAAAM,SAAAkJ,UAAA3N,iBAAA,mBACAuK,EAAApG,OAAA2E,WAEAlT,KAAAuO,OAAAM,SAAAmJ,eAAA5N,iBAAA,mBACAuK,EAAApG,OAAA2E,eAaAtY,IAAA,iBACAN,MAAA,WACA,IAAA2d,EAAAjY,KACAA,KAAAuO,OAAA1B,GAAA,4BACA,OAAAoL,EAAA1J,OAAAQ,MAAAwB,UAAA0H,EAAA1J,OAAAQ,MAAAwB,WAAA2H,KACAD,EAAA1J,OAAA2B,QAAAiI,UAAA,CACA,IAAAC,EAAA9a,SAAA+a,iBAAA,yBACA9V,MAAA/I,KAAA4e,EAAA,GAAArc,QAAA,SAAAqV,GACA6G,EAAA1J,OAAAM,SAAAyJ,cAAA9X,YAAA4Q,KAEA,QAAA/X,EAAA,EAA2CA,EAAA4e,EAAA1J,OAAA2B,QAAAiI,UAAAlc,OAA4C5C,IACvF,GAAA4e,EAAA1J,OAAA2B,QAAAiI,UAAA9e,GAAAwb,MAAAoD,EAAA1J,OAAA2B,QAAAiI,UAAA9e,GAAAkf,KAAA,CAGA,IAAApd,EAAAmC,SAAA6C,cAAA,OACAhF,EAAAqU,UAAAG,IAAA,qBACAxU,EAAAiF,MAAAM,KAAAuX,EAAA1J,OAAA2B,QAAAiI,UAAA9e,GAAAkf,KAAAN,EAAA1J,OAAAQ,MAAAwB,SAAA,QACApV,EAAA4U,UAAA,wCAAAkI,EAAA1J,OAAA2B,QAAAiI,UAAA9e,GAAAwb,KAAA,UACAoD,EAAA1J,OAAAM,SAAAyJ,cAAAE,aAAArd,EAAA8c,EAAA1J,OAAAM,SAAA4J,sBAQA7d,IAAA,iBACAN,MAAA,WACA,IAAAoe,EAAA1Y,KACAA,KAAAuO,OAAA2B,QAAAnB,MAAA4J,aACA3Y,KAAA2Y,WAAA,IAAA1B,EAAAxU,SACAmM,UAAA5O,KAAAuO,OAAAM,SAAA+J,WACAjC,SAAA3W,KAAAuO,OAAAM,SAAAgK,QAAA5G,YACAjL,IAAAhH,KAAAuO,OAAA2B,QAAAnB,MAAA4J,WACArG,OAAAtS,KAAAuO,OAAA+D,SAEAtS,KAAAuO,OAAA1B,GAAA,4BACA6L,EAAAC,WAAAG,OAAA,IAAAJ,EAAAnK,OAAAQ,MAAAsB,YAAAqI,EAAAnK,OAAAQ,MAAAqB,WAAA,WAMAxV,IAAA,gBACAN,MAAA,WACA,IAAAye,EAAA/Y,KACAgZ,EAAA,SAAArT,GACA,IAAAqN,IAAArN,EAAAgM,SAAAhM,EAAAwQ,eAAA,GAAAxE,SAAAgC,EAAAlR,QAAA5C,8BAAAkZ,EAAAxK,OAAAM,SAAAyJ,gBAAAS,EAAAxK,OAAAM,SAAAyJ,cAAAW,YACAjG,EAAAvU,KAAA4X,IAAArD,EAAA,GACAA,EAAAvU,KAAAE,IAAAqU,EAAA,GACA+F,EAAAxK,OAAAyH,IAAAzU,IAAA,SAAAyR,EAAA,SACA+F,EAAAxK,OAAAM,SAAAqK,MAAAnJ,UAAA4D,EAAAlR,QAAAnE,aAAA0U,EAAA+F,EAAAxK,OAAAQ,MAAAwB,WAEA4I,EAAA,SAAAA,EAAAxT,GACArI,SAAAiZ,oBAAA5C,EAAAlR,QAAAZ,QAAAG,QAAAmX,GACA7b,SAAAiZ,oBAAA5C,EAAAlR,QAAAZ,QAAAE,SAAAiX,GACA,IAAAhG,IAAArN,EAAAgM,SAAAhM,EAAAwQ,eAAA,GAAAxE,SAAAgC,EAAAlR,QAAA5C,8BAAAkZ,EAAAxK,OAAAM,SAAAyJ,gBAAAS,EAAAxK,OAAAM,SAAAyJ,cAAAW,YACAjG,EAAAvU,KAAA4X,IAAArD,EAAA,GACAA,EAAAvU,KAAAE,IAAAqU,EAAA,GACA+F,EAAAxK,OAAAyH,IAAAzU,IAAA,SAAAyR,EAAA,SACA+F,EAAAxK,OAAA4E,KAAA4F,EAAAxK,OAAAyH,IAAA9b,IAAA,UAAA6e,EAAAxK,OAAAQ,MAAAwB,UACAwI,EAAAxK,OAAAe,MAAAC,OAAA,aAEAvP,KAAAuO,OAAAM,SAAAyJ,cAAAlO,iBAAAuJ,EAAAlR,QAAAZ,QAAAC,UAAA,WACAiX,EAAAxK,OAAAe,MAAAI,QAAA,YACApS,SAAA8M,iBAAAuJ,EAAAlR,QAAAZ,QAAAE,SAAAiX,GACA1b,SAAA8M,iBAAAuJ,EAAAlR,QAAAZ,QAAAG,QAAAmX,KAEAnZ,KAAAuO,OAAAM,SAAAyJ,cAAAlO,iBAAAuJ,EAAAlR,QAAAZ,QAAAE,SAAA,SAAA4D,GACA,GAAAoT,EAAAxK,OAAAQ,MAAAwB,SAAA,CACA,IAAA6I,EAAAzF,EAAAlR,QAAAd,iBAAAoX,EAAAxK,OAAAM,SAAAyJ,eAAA5X,KACA2Y,GAAA1T,EAAAgM,SAAAhM,EAAAwQ,eAAA,GAAAxE,SAAAyH,EACA,GAAAC,EAAA,GAAAA,EAAAN,EAAAxK,OAAAM,SAAAyJ,cAAArG,YACA,OAEA,IAAAsG,EAAAQ,EAAAxK,OAAAQ,MAAAwB,UAAA8I,EAAAN,EAAAxK,OAAAM,SAAAyJ,cAAArG,aACA0B,EAAAlR,QAAAvE,UACA6a,EAAAJ,YAAAI,EAAAJ,WAAA9I,OAEAkJ,EAAAJ,YAAAI,EAAAJ,WAAAW,KAAAD,GACAN,EAAAxK,OAAAM,SAAA4J,cAAArY,MAAAM,KAAA2Y,GAAAd,GAAA,iBACAQ,EAAAxK,OAAAM,SAAA4J,cAAAc,UAAA5F,EAAAlR,QAAAnE,aAAAia,GACAQ,EAAAxK,OAAAM,SAAA4J,cAAAjJ,UAAAC,OAAA,aAGAzP,KAAAuO,OAAAM,SAAAyJ,cAAAlO,iBAAAuJ,EAAAlR,QAAAZ,QAAAG,QAAA,WACA2R,EAAAlR,QAAAvE,UACA6a,EAAAJ,YAAAI,EAAAJ,WAAA1J,SAGA0E,EAAAlR,QAAAvE,WACA8B,KAAAuO,OAAAM,SAAAyJ,cAAAlO,iBAAA,wBACA2O,EAAAxK,OAAAQ,MAAAwB,WACAwI,EAAAJ,YAAAI,EAAAJ,WAAA9I,OACAkJ,EAAAxK,OAAAM,SAAA4J,cAAAjJ,UAAAC,OAAA,aAGAzP,KAAAuO,OAAAM,SAAAyJ,cAAAlO,iBAAA,wBACA2O,EAAAxK,OAAAQ,MAAAwB,WACAwI,EAAAJ,YAAAI,EAAAJ,WAAA1J,OACA8J,EAAAxK,OAAAM,SAAA4J,cAAAjJ,UAAAG,IAAA,iBAOA/U,IAAA,iBACAN,MAAA,WACA,IAAAkf,EAAAxZ,KACAA,KAAAuO,OAAAM,SAAA4K,kBAAArP,iBAAA,mBACAoP,EAAAjL,OAAAiF,WAAAN,OAAA,aAEAlT,KAAAuO,OAAAM,SAAA6K,cAAAtP,iBAAA,mBACAoP,EAAAjL,OAAAiF,WAAAN,OAAA,YAKAtY,IAAA,mBACAN,MAAA,WACA,IAAAqf,EAAA3Z,KAEA4Z,EAAA,SAAApI,GACA,IAAA7L,EAAA6L,GAAAvY,OAAAuY,MACAwB,IAAArN,EAAAgM,SAAAhM,EAAAwQ,eAAA,GAAAxE,SAAAgC,EAAAlR,QAAA5C,8BAAA8Z,EAAApL,OAAAM,SAAAgL,eAAA,KAHA,GAIAF,EAAApL,OAAAgF,OAAAP,IAEAlP,EAAA,SAAAA,IACAxG,SAAAiZ,oBAAA5C,EAAAlR,QAAAZ,QAAAG,QAAA8B,GACAxG,SAAAiZ,oBAAA5C,EAAAlR,QAAAZ,QAAAE,SAAA6X,GACAD,EAAApL,OAAAM,SAAAiL,aAAAtK,UAAAC,OAAA,0BAEAzP,KAAAuO,OAAAM,SAAAkL,kBAAA3P,iBAAA,iBAAAoH,GACA,IAAA7L,EAAA6L,GAAAvY,OAAAuY,MACAwB,IAAArN,EAAAgM,SAAAhM,EAAAwQ,eAAA,GAAAxE,SAAAgC,EAAAlR,QAAA5C,8BAAA8Z,EAAApL,OAAAM,SAAAgL,eAAA,KAbA,GAcAF,EAAApL,OAAAgF,OAAAP,KAEAhT,KAAAuO,OAAAM,SAAAkL,kBAAA3P,iBAAAuJ,EAAAlR,QAAAZ,QAAAC,UAAA,WACAxE,SAAA8M,iBAAAuJ,EAAAlR,QAAAZ,QAAAE,SAAA6X,GACAtc,SAAA8M,iBAAAuJ,EAAAlR,QAAAZ,QAAAG,QAAA8B,GACA6V,EAAApL,OAAAM,SAAAiL,aAAAtK,UAAAG,IAAA,2BAEA3P,KAAAuO,OAAAM,SAAAmL,iBAAA5P,iBAAA,mBACAuP,EAAApL,OAAAQ,MAAAkL,OACAN,EAAApL,OAAAQ,MAAAkL,OAAA,EACAN,EAAApL,OAAA2L,mBACAP,EAAApL,OAAAyH,IAAAzU,IAAA,SAAAoY,EAAApL,OAAAgF,SAAA,WAEAoG,EAAApL,OAAAQ,MAAAkL,OAAA,EACAN,EAAApL,OAAAM,SAAAsL,WAAApK,UAAAmH,EAAAzU,QAAAuB,UACA2V,EAAApL,OAAAyH,IAAAzU,IAAA,0BAMA3G,IAAA,oBACAN,MAAA,WACA,IAAA8f,EAAApa,KACAA,KAAAuO,OAAA2B,QAAAnB,MAAAsL,SACAra,KAAAuO,OAAAM,SAAAyL,YAAAlQ,iBAAA,iBAAAzE,GACAA,EAAAmI,OAAA0B,UAAAI,SAAA,yBACAwK,EAAA7L,OAAAgM,cAAA5U,EAAAmI,OAAAiI,QAAA1E,YAOAzW,IAAA,uBACAN,MAAA,WACA,IAAAkgB,EAAAxa,KACAA,KAAAuO,OAAA2B,QAAApJ,YACA9G,KAAAuO,OAAAM,SAAA4L,aAAArQ,iBAAA,mBACA,IAAAsQ,EAAApd,SAAA6C,cAAA,UACAua,EAAAxI,MAAAsI,EAAAjM,OAAAQ,MAAAqB,WACAsK,EAAAtI,OAAAoI,EAAAjM,OAAAQ,MAAAsB,YACAqK,EAAAC,WAAA,MAAAC,UAAAJ,EAAAjM,OAAAQ,MAAA,IAAA2L,EAAAxI,MAAAwI,EAAAtI,QACA,IAAAyI,OAAA,EACAH,EAAAI,OAAA,SAAAC,GACAF,EAAAG,IAAAC,gBAAAF,GACA,IAAAG,EAAA5d,SAAA6C,cAAA,KACA+a,EAAAC,KAAAN,EACAK,EAAAE,SAAA,cACAF,EAAA9a,MAAAyW,QAAA,OACAvZ,SAAAiC,KAAAe,YAAA4a,GACAA,EAAA3J,QACAjU,SAAAiC,KAAAiB,YAAA0a,GACAF,IAAAK,gBAAAR,KAEAL,EAAAjM,OAAA+D,OAAAC,QAAA,aAAAsI,QAMAjgB,IAAA,qBACAN,MAAA,WACA,IAAAghB,EAAAtb,KACAA,KAAAuO,OAAA2B,QAAAxL,WACA1E,KAAAuO,OAAA+D,OAAAzF,GAAA,2BACAyO,EAAA/M,OAAAM,SAAA0M,eAAAxF,QAAAyF,QAAAF,EAAA/M,OAAAwG,KAAA,iBACAuG,EAAA/M,OAAAM,SAAA4M,oBAAArb,MAAA6V,QAAA,GACAqF,EAAA/M,OAAA+G,KAAA/T,IAAA,gBAEAvB,KAAAuO,OAAA+D,OAAAzF,GAAA,2BACAyO,EAAA/M,OAAAM,SAAA0M,eAAAxF,QAAAyF,QAAAF,EAAA/M,OAAAwG,KAAA,iBACAuG,EAAA/M,OAAAM,SAAA4M,oBAAArb,MAAA6V,QAAA,MACAqF,EAAA/M,OAAA+G,KAAA/T,IAAA,gBAEAvB,KAAAuO,OAAAM,SAAA0M,eAAAnR,iBAAA,mBACAkR,EAAA/M,OAAA7J,SAAAwO,eAMAtY,IAAA,cACAN,MAAA,WACA,IAAAohB,EAAA1b,KACAA,KAAA6P,OACAvE,aAAAtL,KAAAoX,eACApX,KAAAoX,cAAA/L,WAAA,YACAqQ,EAAAnN,OAAAQ,MAAA4M,OAAA1f,QAAAyf,EAAAnN,OAAAqN,QAAAF,EAAAlH,iBACAkH,EAAAzM,QAEiB,QAIjBrU,IAAA,OACAN,MAAA,WACA0F,KAAAuO,OAAAK,UAAAY,UAAAC,OAAA,8BAIA7U,IAAA,OACAN,MAAA,WACA0F,KAAAuO,OAAAK,UAAAY,UAAAG,IAAA,2BACA3P,KAAAuO,OAAApK,QAAA8K,OACAjP,KAAAuO,OAAAlK,SAAArE,KAAAuO,OAAAlK,QAAA4K,UAIArU,IAAA,SACAN,MAAA,WACA,OAAA0F,KAAAuO,OAAAK,UAAAY,UAAAI,SAAA,8BAIAhV,IAAA,SACAN,MAAA,WACA0F,KAAA6b,SACA7b,KAAAiP,OAEAjP,KAAA6P,UAKAjV,IAAA,UACAN,MAAA,WACAgR,aAAAtL,KAAAoX,mBAIAD,EArUA,GAuUAte,EAAA4J,QAAA0U,gCCzWApd,OAAAC,eAAAnB,EAAA,cAA8CyB,OAAA,IAC9C,IAAAsT,EAAA,WACA,SAAAC,EAAAC,EAAAC,GACA,QAAA1U,EAAA,EAAuBA,EAAA0U,EAAA9R,OAAkB5C,IAAA,CACzC,IAAA2U,EAAAD,EAAA1U,GACA2U,EAAA/T,WAAA+T,EAAA/T,aAAA,EACA+T,EAAAC,cAAA,EACA,UAAAD,IACAA,EAAAE,UAAA,GACAnU,OAAAC,eAAA8T,EAAAE,EAAApT,IAAAoT,IAGA,gBAAAG,EAAAC,EAAAC,GAKA,OAJAD,GACAP,EAAAM,EAAAlT,UAAAmT,GACAC,GACAR,EAAAM,EAAAE,GACAF,GAhBA,GAwBA,IAAA2N,EAAA,WACA,SAAAA,EAAAlN,GACA,IAAAJ,EAAAxO,MAPA,SAAAyO,EAAAN,GACA,KAAAM,aAAAN,GACA,UAAAO,UAAA,qCAMAC,CAAA3O,KAAA8b,GACA9b,KAAA4O,YACA5O,KAAA4O,UAAAxE,iBAAA,0BACAoE,EAAAI,UAAAY,UAAAC,OAAA,8BAUA,OAPA7B,EAAAkO,IACAlhB,IAAA,SACAN,MAAA,SAAAyhB,GACA/b,KAAA4O,UAAAmB,UAAAgM,EACA/b,KAAA4O,UAAAY,UAAAG,IAAA,gCAGAmM,EAhBA,GAkBAjjB,EAAA4J,QAAAqZ,gCC3CA/hB,OAAAC,eAAAnB,EAAA,cAA8CyB,OAAA,IAC9C,IAAAsT,EAAA,WACA,SAAAC,EAAAC,EAAAC,GACA,QAAA1U,EAAA,EAAuBA,EAAA0U,EAAA9R,OAAkB5C,IAAA,CACzC,IAAA2U,EAAAD,EAAA1U,GACA2U,EAAA/T,WAAA+T,EAAA/T,aAAA,EACA+T,EAAAC,cAAA,EACA,UAAAD,IACAA,EAAAE,UAAA,GACAnU,OAAAC,eAAA8T,EAAAE,EAAApT,IAAAoT,IAGA,gBAAAG,EAAAC,EAAAC,GAKA,OAJAD,GACAP,EAAAM,EAAAlT,UAAAmT,GACAC,GACAR,EAAAM,EAAAE,GACAF,GAhBA,GAwBA,IAAA6N,EAAA,WACA,SAAAA,EAAAzN,IANA,SAAAE,EAAAN,GACA,KAAAM,aAAAN,GACA,UAAAO,UAAA,qCAKAC,CAAA3O,KAAAgc,GACAhc,KAAAuO,SACAtV,OAAAgjB,sBACAhjB,OAAAgjB,uBAAAhjB,OAAAijB,6BAAAjjB,OAAAkjB,0BAAAljB,OAAAmjB,wBAAAnjB,OAAAojB,yBAAA,SAAAC,GACArjB,OAAAoS,WAAAiR,EAAA,SAGAtc,KAAAuc,OACA,UACA,OACA,OAEAvc,KAAAwc,OAsGA,OApGA5O,EAAAoO,IAEAphB,IAAA,OACAN,MAAA,WACA,IAAAkU,EAAAxO,KACAA,KAAAuc,MAAA1d,IAAA,SAAAuS,GAIA,MAHA,QAAAA,GACA5C,EAAA,OAAA4C,EAAA,aAEAA,OAKAxW,IAAA,qBACAN,MAAA,WACA,IAAAqa,EAAA3U,KACAyc,EAAA,EACAC,EAAA,EACAC,GAAA,EACA3c,KAAA4c,eAAAC,YAAA,WACAlI,EAAAmI,uBACAJ,EAAA/H,EAAApG,OAAAQ,MAAAqE,YACAuJ,GAAAD,IAAAD,GAAA9H,EAAApG,OAAAQ,MAAA6M,SACAjH,EAAApG,OAAAK,UAAAY,UAAAG,IAAA,mBACAgN,GAAA,GAEAA,GAAAD,EAAAD,IAAA9H,EAAApG,OAAAQ,MAAA6M,SACAjH,EAAApG,OAAAK,UAAAY,UAAAC,OAAA,mBACAkN,GAAA,GAEAF,EAAAC,IAEiB,QAIjB9hB,IAAA,iBACAN,MAAA,WACA,IAAA2d,EAAAjY,KACA/G,OAAAgjB,sBAAA,WACA,GAAAhE,EAAA8E,iBAEA,GADA9E,EAAA+E,iBACA/E,EAAAgF,SAGyB,CACzBhF,EAAAiF,WACA,IAAAC,EAAA,IAAAhO,KACAgO,EAAAlF,EAAAgF,SAAA,MACAhF,EAAA1J,OAAAO,UAAAsO,IAAAnF,EAAAiF,UAAAC,EAAAlF,EAAAgF,UAAA,KACAhF,EAAAgF,SAAA,IAAA9N,KACA8I,EAAAiF,SAAA,QARAjF,EAAAgF,SAAA,IAAA9N,KACA8I,EAAAiF,SAAA,OAWAjF,EAAAgF,SAAA,EACAhF,EAAAiF,SAAA,OAMAtiB,IAAA,kBACAN,MAAA,WACA,IAAAoe,EAAA1Y,KACAA,KAAAqd,YAAAR,YAAA,WACAnE,EAAA4E,mBACA5E,EAAAnK,OAAAO,UAAAO,UAEiB,QAIjBzU,IAAA,SACAN,MAAA,SAAA2M,GACAjH,KAAA,SAAAiH,EAAA,cACA,QAAAA,GACAjH,KAAAgd,oBAKApiB,IAAA,UACAN,MAAA,SAAA2M,GACAjH,KAAA,SAAAiH,EAAA,iBAIArM,IAAA,UACAN,MAAA,WACA,IAAAye,EAAA/Y,KACAA,KAAAuc,MAAA1d,IAAA,SAAAuS,GAGA,OAFA2H,EAAA,SAAA3H,EAAA,cACA2H,EAAA3H,EAAA,YAAAmM,cAAAxE,EAAA3H,EAAA,YACAA,QAKA4K,EApHA,GAsHAnjB,EAAA4J,QAAAuZ,gCC/IAjiB,OAAAC,eAAAnB,EAAA,cAA8CyB,OAAA,IAC9C,IAAAsT,EAAA,WACA,SAAAC,EAAAC,EAAAC,GACA,QAAA1U,EAAA,EAAuBA,EAAA0U,EAAA9R,OAAkB5C,IAAA,CACzC,IAAA2U,EAAAD,EAAA1U,GACA2U,EAAA/T,WAAA+T,EAAA/T,aAAA,EACA+T,EAAAC,cAAA,EACA,UAAAD,IACAA,EAAAE,UAAA,GACAnU,OAAAC,eAAA8T,EAAAE,EAAApT,IAAAoT,IAGA,gBAAAG,EAAAC,EAAAC,GAKA,OAJAD,GACAP,EAAAM,EAAAlT,UAAAmT,GACAC,GACAR,EAAAM,EAAAE,GACAF,GAhBA,GAwBA,IAAAqP,EAAA,WACA,SAAAA,EAAA3O,IANA,SAAAJ,EAAAN,GACA,KAAAM,aAAAN,GACA,UAAAO,UAAA,qCAKAC,CAAA3O,KAAAwd,GACAxd,KAAAyd,YACAzd,KAAAyd,SAAAlK,OAAA1E,EAAA6O,UACA1d,KAAAyd,SAAA9B,OAAA9M,EAAA8O,UACA3d,KAAAyd,SAAAG,OAAA/O,EAAAgP,UACA7d,KAAAyd,SAAAjN,QAAA3B,EAAAiP,kBAkBA,OAhBAlQ,EAAA4P,IAEA5iB,IAAA,MACAN,MAAA,SAAA2M,EAAA+L,EAAA+K,GACA/K,EAAAvU,KAAA4X,IAAArD,EAAA,GACAA,EAAAvU,KAAAE,IAAAqU,EAAA,GACAhT,KAAAyd,SAAAxW,GAAA7G,MAAA2d,GAAA,IAAA/K,EAAA,OAIApY,IAAA,MACAN,MAAA,SAAA2M,GACA,OAAA+W,WAAAhe,KAAAyd,SAAAxW,GAAA7G,MAAA8R,OAAA,QAIAsL,EAzBA,GA2BA3kB,EAAA4J,QAAA+a,gCCpDAzjB,OAAAC,eAAAnB,EAAA,cAA8CyB,OAAA,IAC9C,IAAAsT,EAAA,WACA,SAAAC,EAAAC,EAAAC,GACA,QAAA1U,EAAA,EAAuBA,EAAA0U,EAAA9R,OAAkB5C,IAAA,CACzC,IAAA2U,EAAAD,EAAA1U,GACA2U,EAAA/T,WAAA+T,EAAA/T,aAAA,EACA+T,EAAAC,cAAA,EACA,UAAAD,IACAA,EAAAE,UAAA,GACAnU,OAAAC,eAAA8T,EAAAE,EAAApT,IAAAoT,IAGA,gBAAAG,EAAAC,EAAAC,GAKA,OAJAD,GACAP,EAAAM,EAAAlT,UAAAmT,GACAC,GACAR,EAAAM,EAAAE,GACAF,GAhBA,GAwBA,IAAA8P,EAAA,WACA,SAAAA,EAAArP,EAAAG,EAAAmB,EAAAoC,IANA,SAAA7D,EAAAN,GACA,KAAAM,aAAAN,GACA,UAAAO,UAAA,qCAKAC,CAAA3O,KAAAie,GACAje,KAAA4O,YACA5O,KAAA+O,QACA/O,KAAAkQ,UACAlQ,KAAAsS,SACAtS,KAAAwc,OAoDA,OAlDA5O,EAAAqQ,IAEArjB,IAAA,OACAN,MAAA,WACA,IAAAkU,EAAAxO,KAIA,GAHAA,KAAA4O,UAAAxO,MAAA8d,SAAAle,KAAAkQ,QAAAgO,SACAle,KAAA4O,UAAAxO,MAAAiS,OAAArS,KAAAkQ,QAAAmC,OACArS,KAAA4O,UAAAxO,MAAA8B,MAAAlC,KAAAkQ,QAAAhO,MACAlC,KAAA+O,MAAAoP,YAAAne,KAAA+O,MAAAoP,WAAA,IACA,IAAAC,EAAApe,KAAA+O,MAAAoP,WAAA,GACAC,EAAAC,YAAA,WACA,IAAAC,EAAAF,EAAAG,WAAA,GACA,GAAAD,EAAA,CACA9P,EAAAI,UAAAmB,UAAA,GACA,IAAA5U,EAAAmC,SAAA6C,cAAA,KACAhF,EAAAmF,YAAAge,EAAAE,gBACAhQ,EAAAI,UAAAtO,YAAAnF,QAEAqT,EAAAI,UAAAmB,UAAA,GAEAvB,EAAA8D,OAAAC,QAAA,wBAMA3X,IAAA,OACAN,MAAA,WACA0F,KAAA4O,UAAAY,UAAAC,OAAA,yBACAzP,KAAAsS,OAAAC,QAAA,oBAIA3X,IAAA,OACAN,MAAA,WACA0F,KAAA4O,UAAAY,UAAAG,IAAA,yBACA3P,KAAAsS,OAAAC,QAAA,oBAIA3X,IAAA,SACAN,MAAA,WACA0F,KAAA4O,UAAAY,UAAAI,SAAA,yBACA5P,KAAA6P,OAEA7P,KAAAiP,WAKAgP,EA3DA,GA6DAplB,EAAA4J,QAAAwb,gCCtFAlkB,OAAAC,eAAAnB,EAAA,cAA8CyB,OAAA,IAC9C,IAqBAiB,EArBAqS,EAAA,WACA,SAAAC,EAAAC,EAAAC,GACA,QAAA1U,EAAA,EAAuBA,EAAA0U,EAAA9R,OAAkB5C,IAAA,CACzC,IAAA2U,EAAAD,EAAA1U,GACA2U,EAAA/T,WAAA+T,EAAA/T,aAAA,EACA+T,EAAAC,cAAA,EACA,UAAAD,IACAA,EAAAE,UAAA,GACAnU,OAAAC,eAAA8T,EAAAE,EAAApT,IAAAoT,IAGA,gBAAAG,EAAAC,EAAAC,GAKA,OAJAD,GACAP,EAAAM,EAAAlT,UAAAmT,GACAC,GACAR,EAAAM,EAAAE,GACAF,GAhBA,GAmBAuF,EAAAva,EAAA,GACAwa,GACApY,EADAmY,IAEAnY,EAAAd,WAAAc,GAA0CkH,QAAAlH,GAO1C,IAAAkjB,EAAA,WACA,SAAAA,EAAAlQ,IANA,SAAAE,EAAAN,GACA,KAAAM,aAAAN,GACA,UAAAO,UAAA,qCAKAC,CAAA3O,KAAAye,GACAze,KAAA0e,aACAzI,QAAA,0BACA1C,OAAA,iBACAoL,UAAA,4BACAnO,QAAA,uBACA9L,SAAA,yBAEA1E,KAAAyC,SACAwT,QAAA,GACA1C,OAAAhF,EAAA2B,QAAAhV,eAAA,UAAAqT,EAAA2B,QAAAqD,OAAA,GACAoL,WAAApQ,EAAA2B,QAAAM,SAAAjC,EAAA2B,QAAAM,QAAAmO,UAAA,QACAnO,QAAA,EACA9L,SAAA,GAEA1E,KAAAsF,QACAtF,KAAAwc,OA0BA,OAxBA5O,EAAA6Q,IAEA7jB,IAAA,OACAN,MAAA,WACA,QAAA8W,KAAApR,KAAA0e,YAAA,CACA,IAAA9kB,EAAAoG,KAAA0e,YAAAtN,GACApR,KAAAsF,KAAA8L,GAAA4M,WAAArK,EAAAlR,QAAAnB,QAAApH,IAAAN,IAAAoG,KAAAyC,QAAA2O,QAKAxW,IAAA,MACAN,MAAA,SAAAM,GACA,OAAAoF,KAAAsF,KAAA1K,MAIAA,IAAA,MACAN,MAAA,SAAAM,EAAAN,GACA0F,KAAAsF,KAAA1K,GAAAN,EACAqZ,EAAAlR,QAAAnB,QAAAC,IAAAvB,KAAA0e,YAAA9jB,GAAAN,OAIAmkB,EA5CA,GA8CA5lB,EAAA4J,QAAAgc,gCC5EA1kB,OAAAC,eAAAnB,EAAA,cAA8CyB,OAAA,IAC9C,IAqBAiB,EArBAqS,EAAA,WACA,SAAAC,EAAAC,EAAAC,GACA,QAAA1U,EAAA,EAAuBA,EAAA0U,EAAA9R,OAAkB5C,IAAA,CACzC,IAAA2U,EAAAD,EAAA1U,GACA2U,EAAA/T,WAAA+T,EAAA/T,aAAA,EACA+T,EAAAC,cAAA,EACA,UAAAD,IACAA,EAAAE,UAAA,GACAnU,OAAAC,eAAA8T,EAAAE,EAAApT,IAAAoT,IAGA,gBAAAG,EAAAC,EAAAC,GAKA,OAJAD,GACAP,EAAAM,EAAAlT,UAAAmT,GACAC,GACAR,EAAAM,EAAAE,GACAF,GAhBA,GAmBAuF,EAAAva,EAAA,GACAwa,GACApY,EADAmY,IAEAnY,EAAAd,WAAAc,GAA0CkH,QAAAlH,GAO1C,IAAAqjB,EAAA,WACA,SAAAA,EAAArQ,GACA,IAAAC,EAAAxO,MAPA,SAAAyO,EAAAN,GACA,KAAAM,aAAAN,GACA,UAAAO,UAAA,qCAMAC,CAAA3O,KAAA4e,GACA5e,KAAAuO,SACAvO,KAAAuO,OAAA+D,OAAAzF,GAAA,2BACA2B,EAAAD,OAAAuK,WAEA9Y,KAAAuO,OAAA+D,OAAAzF,GAAA,kCACA2B,EAAAD,OAAAuK,SACAnF,EAAAlR,QAAA3B,kBAAA0N,EAAAqQ,sBAEA,IAAAC,EAAA,WACAtQ,EAAAD,OAAAuK,SACAtK,EAAAiF,aAAA,WACAjF,EAAAD,OAAA+D,OAAAC,QAAA,eAEAoB,EAAAlR,QAAA3B,kBAAA0N,EAAAqQ,oBACArQ,EAAAD,OAAA+D,OAAAC,QAAA,uBAGAwM,EAAA,WACA,IAAAC,EAAA1hB,SAAAoC,mBAAApC,SAAAqC,sBAAArC,SAAA2hB,oBACAD,OAAAxQ,EAAAD,OAAAK,YAGAJ,EAAAD,OAAAuK,SACAkG,EACAxQ,EAAAD,OAAA+D,OAAAC,QAAA,eAEAoB,EAAAlR,QAAA3B,kBAAA0N,EAAAqQ,oBACArQ,EAAAD,OAAA+D,OAAAC,QAAA,wBAGA,UAAApU,KAAAf,UAAAgB,YACAd,SAAA8M,iBAAA,sBAAA2U,GACAzhB,SAAA8M,iBAAA,mBAAA2U,KAEA/e,KAAAuO,OAAAK,UAAAxE,iBAAA,mBAAA0U,GACA9e,KAAAuO,OAAAK,UAAAxE,iBAAA,yBAAA0U,GACAxhB,SAAA8M,iBAAA,qBAAA2U,GACAzhB,SAAA8M,iBAAA,qBAAA2U,IA4FA,OAzFAnR,EAAAgR,IAEAhkB,IAAA,eACAN,MAAA,WAEA,OADAoD,UAAAzB,OAAA,QAAAgF,IAAAvD,UAAA,GAAAA,UAAA,cAEA,cACA,OAAAJ,SAAAoC,mBAAApC,SAAAqC,sBAAArC,SAAAsC,yBAAAtC,SAAA2hB,oBACA,UACA,OAAAjf,KAAAuO,OAAAK,UAAAY,UAAAI,SAAA,sBAKAhV,IAAA,UACAN,MAAA,WACA,IAAA2M,EAAAvJ,UAAAzB,OAAA,QAAAgF,IAAAvD,UAAA,GAAAA,UAAA,aACAwhB,EAAA,YAAAjY,EAAA,gBACAkY,EAAAnf,KAAAyT,aAAAyL,GAIA,OAHAC,IACAnf,KAAA6e,mBAAAlL,EAAAlR,QAAA9B,qBAEAsG,GACA,cACAjH,KAAAuO,OAAAK,UAAAwQ,kBACApf,KAAAuO,OAAAK,UAAAwQ,oBACqBpf,KAAAuO,OAAAK,UAAAyQ,qBACrBrf,KAAAuO,OAAAK,UAAAyQ,uBACqBrf,KAAAuO,OAAAK,UAAA0Q,wBACrBtf,KAAAuO,OAAAK,UAAA0Q,0BACqBtf,KAAAuO,OAAAQ,MAAAwQ,sBACrBvf,KAAAuO,OAAAQ,MAAAwQ,wBACqBvf,KAAAuO,OAAAQ,MAAAyQ,sBACrBxf,KAAAuO,OAAAQ,MAAAyQ,wBACqBxf,KAAAuO,OAAAK,UAAA6Q,qBACrBzf,KAAAuO,OAAAK,UAAA6Q,sBAEA,MACA,UACAzf,KAAAuO,OAAAK,UAAAY,UAAAG,IAAA,kBACArS,SAAAiC,KAAAiQ,UAAAG,IAAA,8BACA3P,KAAAuO,OAAA+D,OAAAC,QAAA,iBAGA4M,GACAnf,KAAA0K,OAAAwU,MAKAtkB,IAAA,SACAN,MAAA,WAEA,OADAoD,UAAAzB,OAAA,QAAAgF,IAAAvD,UAAA,GAAAA,UAAA,cAEA,cACAJ,SAAAoiB,iBACApiB,SAAAoiB,mBACqBpiB,SAAAqiB,oBACrBriB,SAAAqiB,sBACqBriB,SAAAsiB,uBACrBtiB,SAAAsiB,yBACqBtiB,SAAAuiB,uBACrBviB,SAAAuiB,yBACqBviB,SAAAwiB,mBACrBxiB,SAAAwiB,qBACqBxiB,SAAAyiB,kBACrBziB,SAAAyiB,mBAEA,MACA,UACA/f,KAAAuO,OAAAK,UAAAY,UAAAC,OAAA,kBACAnS,SAAAiC,KAAAiQ,UAAAC,OAAA,8BACAzP,KAAAuO,OAAA+D,OAAAC,QAAA,4BAMA3X,IAAA,SACAN,MAAA,WACA,IAAA2M,EAAAvJ,UAAAzB,OAAA,QAAAgF,IAAAvD,UAAA,GAAAA,UAAA,aACAsC,KAAAyT,aAAAxM,GACAjH,KAAA0K,OAAAzD,GAEAjH,KAAAwH,QAAAP,OAKA2X,EArIA,GAuIA/lB,EAAA4J,QAAAmc,gCCrKA7kB,OAAAC,eAAAnB,EAAA,cAA8CyB,OAAA,IAC9C,IAAAsT,EAAA,WACA,SAAAC,EAAAC,EAAAC,GACA,QAAA1U,EAAA,EAAuBA,EAAA0U,EAAA9R,OAAkB5C,IAAA,CACzC,IAAA2U,EAAAD,EAAA1U,GACA2U,EAAA/T,WAAA+T,EAAA/T,aAAA,EACA+T,EAAAC,cAAA,EACA,UAAAD,IACAA,EAAAE,UAAA,GACAnU,OAAAC,eAAA8T,EAAAE,EAAApT,IAAAoT,IAGA,gBAAAG,EAAAC,EAAAC,GAKA,OAJAD,GACAP,EAAAM,EAAAlT,UAAAmT,GACAC,GACAR,EAAAM,EAAAE,GACAF,GAhBA,GAwBA,IAAA6R,EAAA,WACA,SAAAA,KANA,SAAAvR,EAAAN,GACA,KAAAM,aAAAN,GACA,UAAAO,UAAA,qCAKAC,CAAA3O,KAAAggB,GACAhgB,KAAAsS,UACAtS,KAAAigB,aACA,QACA,UACA,iBACA,iBACA,UACA,QACA,QACA,aACA,iBACA,YACA,oBACA,QACA,OACA,UACA,WACA,aACA,SACA,UACA,UACA,UACA,aACA,eACA,WAEAjgB,KAAAkgB,cACA,aACA,kBACA,kBACA,eACA,eACA,gBACA,iBACA,eACA,kBACA,mBACA,mBACA,cACA,cACA,gBACA,cACA,UACA,SACA,aACA,oBACA,gBACA,uBACA,gBACA,gBACA,mBAsCA,OAnCAtS,EAAAoS,IAEAplB,IAAA,KACAN,MAAA,SAAAV,EAAA0iB,GACAtc,KAAAiH,KAAArN,IAAA,mBAAA0iB,IACAtc,KAAAsS,OAAA1Y,KACAoG,KAAAsS,OAAA1Y,OAEAoG,KAAAsS,OAAA1Y,GAAA0S,KAAAgQ,OAKA1hB,IAAA,UACAN,MAAA,SAAAV,EAAAumB,GACA,GAAAngB,KAAAsS,OAAA1Y,IAAAoG,KAAAsS,OAAA1Y,GAAAqC,OACA,QAAA5C,EAAA,EAAmCA,EAAA2G,KAAAsS,OAAA1Y,GAAAqC,OAA8B5C,IACjE2G,KAAAsS,OAAA1Y,GAAAP,GAAA8mB,MAMAvlB,IAAA,OACAN,MAAA,SAAAV,GACA,WAAAoG,KAAAkgB,aAAA5W,QAAA1P,GACA,UACiB,IAAAoG,KAAAigB,YAAA3W,QAAA1P,GACjB,SAEAwmB,QAAA1Y,MAAA,uBAAA9N,GACA,UAIAomB,EA3FA,GA6FAnnB,EAAA4J,QAAAud,gCCtHAjmB,OAAAC,eAAAnB,EAAA,cAA8CyB,OAAA,IAC9C,IA0BAiB,EA1BAF,EAAA,mBAAAjB,QAAA,iBAAAA,OAAAkB,SAAA,SAAAC,GACA,cAAAA,GACC,SAAAA,GACD,OAAAA,GAAA,mBAAAnB,QAAAmB,EAAAC,cAAApB,QAAAmB,IAAAnB,OAAAa,UAAA,gBAAAM,GAEAqS,EAAA,WACA,SAAAC,EAAAC,EAAAC,GACA,QAAA1U,EAAA,EAAuBA,EAAA0U,EAAA9R,OAAkB5C,IAAA,CACzC,IAAA2U,EAAAD,EAAA1U,GACA2U,EAAA/T,WAAA+T,EAAA/T,aAAA,EACA+T,EAAAC,cAAA,EACA,UAAAD,IACAA,EAAAE,UAAA,GACAnU,OAAAC,eAAA8T,EAAAE,EAAApT,IAAAoT,IAGA,gBAAAG,EAAAC,EAAAC,GAKA,OAJAD,GACAP,EAAAM,EAAAlT,UAAAmT,GACAC,GACAR,EAAAM,EAAAE,GACAF,GAhBA,GAmBAuF,EAAAva,EAAA,GACAwa,GACApY,EADAmY,IAEAnY,EAAAd,WAAAc,GAA0CkH,QAAAlH,GAO1C,IAAA8kB,EAAA,WACA,SAAAA,EAAAnQ,IANA,SAAAzB,EAAAN,GACA,KAAAM,aAAAN,GACA,UAAAO,UAAA,qCAKAC,CAAA3O,KAAAqgB,GACArgB,KAAAkQ,UACAlQ,KAAA4O,UAAA5O,KAAAkQ,QAAAtB,UACA5O,KAAAsgB,WACAlc,SACA7D,OACA8R,WAEArS,KAAAugB,SAAA,EACAvgB,KAAA8Q,OACA9Q,KAAAwgB,SAAA,EACAxgB,KAAAygB,SAAAzgB,KAAAkQ,QAAA+F,QACAjW,KAAAsS,OAAAtS,KAAAkQ,QAAAoC,OACAtS,KAAA2e,UAAA3e,KAAAkQ,QAAAyO,UACA3e,KAAA0gB,SAAA,IACA1gB,KAAA2gB,OAsVA,OApVA/S,EAAAyS,IAEAzlB,IAAA,OACAN,MAAA,WACA,IAAAkU,EAAAxO,KACA4gB,OAAA,EAEAA,EADA5gB,KAAAkQ,QAAAU,IAAAiQ,QACA7gB,KAAAkQ,QAAAU,IAAAkQ,QAAA,UAAA9gB,KAAAkQ,QAAAU,IAAAF,GAAA,QAAA1Q,KAAAkQ,QAAAU,IAAAiQ,QAEA7gB,KAAAkQ,QAAAU,IAAAkQ,QAAA,UAAA9gB,KAAAkQ,QAAAU,IAAAF,GAEA,IAAAqQ,GAAA/gB,KAAAkQ,QAAAU,IAAAoQ,cAAAze,MAAA,GACAwe,EAAAzU,KAAAsU,GACA5gB,KAAAsS,QAAAtS,KAAAsS,OAAAC,QAAA,qBAAAwO,GACA/gB,KAAAihB,kBAAAF,EAAA,SAAAG,GACA1S,EAAAsC,OAAAlF,OAAAd,SAAAoW,GAAAC,KAAA,SAAAvjB,EAAAC,GACA,OAAAD,EAAA2a,KAAA1a,EAAA0a,OAEAtf,OAAAgjB,sBAAA,WACAzN,EAAA4S,UAEA5S,EAAA0B,QAAAoM,WACA9N,EAAA8D,QAAA9D,EAAA8D,OAAAC,QAAA,yBAKA3X,IAAA,SACAN,MAAA,SAAA+mB,GACArhB,KAAAkQ,QAAAU,IAAAyQ,EACArhB,KAAA8Q,OACA9Q,KAAAshB,QACAthB,KAAA2gB,UAIA/lB,IAAA,oBACAN,MAAA,SAAAymB,EAAAzE,GAwBA,IAvBA,IAAA3H,EAAA3U,KACAkhB,KACAK,EAAA,EACA1L,EAAA,SAAAxc,GACAsb,EAAAzE,QAAAsR,WAAAxX,MACAhD,IAAA+Z,EAAA1nB,GACAooB,QAAA,SAAAnc,GACA4b,EAAA7nB,GAAAiM,IACAic,IACAR,EAAA9kB,QACAqgB,EAAA4E,IAGAxZ,MAAA,SAAAga,GACA/M,EAAAzE,QAAAxI,MAAAga,GAAA/M,EAAAzE,QAAA6E,KAAA,wBACAmM,EAAA7nB,QACAkoB,IACAR,EAAA9kB,QACAqgB,EAAA4E,OAKA7nB,EAAA,EAA+BA,EAAA0nB,EAAA9kB,SAAsB5C,EACrDwc,EAAAxc,MAKAuB,IAAA,OACAN,MAAA,SAAAwW,EAAAwL,GACA,IAAArE,EAAAjY,KACA2hB,GACAC,MAAA5hB,KAAAkQ,QAAAU,IAAAgR,MACAlR,GAAA1Q,KAAAkQ,QAAAU,IAAAF,GACAmR,OAAA7hB,KAAAkQ,QAAAU,IAAA0E,KACAiD,KAAAvY,KAAAkQ,QAAAqI,OACA1D,KAAA/D,EAAA+D,KACA3S,MAAA4O,EAAA5O,MACA+E,KAAA6J,EAAA7J,MAEAjH,KAAAkQ,QAAAsR,WAAAjd,MACAyC,IAAAhH,KAAAkQ,QAAAU,IAAAkQ,QAAA,MACAxb,KAAAqc,EACAF,QAAAnF,EACA5U,MAAA,SAAAga,GACAzJ,EAAA/H,QAAAxI,MAAAga,GAAAzJ,EAAA/H,QAAA6E,KAAA,2BAGA/U,KAAA8Q,IAAAgR,OAAA9hB,KAAAugB,SAAA,EAAAoB,GACA3hB,KAAAugB,WACA,IAAA/P,GACAqE,KAAA7U,KAAA+hB,WAAAJ,EAAA9M,MACA3S,MAAAyf,EAAAzf,MACA+E,KAAA0a,EAAA1a,KACA+a,OAAA,aAAAhiB,KAAAkQ,QAAA+R,aAEAjiB,KAAAkiB,KAAA1R,GACAxQ,KAAAsS,QAAAtS,KAAAsS,OAAAC,QAAA,eAAAoP,MAIA/mB,IAAA,QACAN,MAAA,WACA,IAAAoe,EAAA1Y,KACA,GAAAA,KAAA8Q,IAAA7U,SAAA+D,KAAA4b,QAAA5b,KAAAwgB,QAAA,CAGA,IAFA,IAAApP,EAAApR,KAAA8Q,IAAA9Q,KAAAugB,UACAzP,KACAM,GAAApR,KAAAkQ,QAAAqI,OAAAyF,WAAA5M,EAAAmH,OACAzH,EAAAxE,KAAA8E,GACAA,EAAApR,KAAA8Q,MAAA9Q,KAAAugB,UAEAvgB,KAAAkiB,KAAApR,GAEA7X,OAAAgjB,sBAAA,WACAvD,EAAA0I,aAKAxmB,IAAA,UACAN,MAAA,SAAA0Y,GACA,QAAA/R,IAAA+R,EAAA,CAEA,IADA,IAAAmP,EAAAniB,KAAA4O,UAAAwT,uBAAA,wBACA/oB,EAAA,EAAmCA,EAAA8oB,EAAAlmB,OAAkB5C,IACrD8oB,EAAA9oB,GAAA+G,MAAA6V,QAAAjD,EAEAhT,KAAAygB,SAAAzN,EACAhT,KAAAsS,QAAAtS,KAAAsS,OAAAC,QAAA,kBAAAvS,KAAAygB,UAEA,OAAAzgB,KAAAygB,YAIA7lB,IAAA,OACAN,MAAA,SAAAwW,GACA,IAAAiI,EAAA/Y,KACA,GAAAA,KAAAwgB,QAAA,CACA,IAAA6B,EAAAriB,KAAAkQ,QAAAkC,OACAkQ,EAAAtiB,KAAA4O,UAAAqD,YACAsQ,EAAAviB,KAAA4O,UAAAuD,aACAqQ,EAAApgB,SAAAmgB,EAAAF,GACAI,EAAA,SAAAC,GACA,IAAAC,EAAAD,EAAAzQ,aAAA7P,SAAAsgB,EAAAtiB,MAAA8R,OACA0Q,EAAAF,EAAA3iB,wBAAAqE,OAAA2U,EAAAnK,UAAA7O,wBAAAqE,MAAAue,EACA,OAAA5J,EAAAnK,UAAA7O,wBAAAqE,MAAAwe,GAEAC,EAAA,SAAA3Q,GACA,OAAAoQ,EAAApQ,GAAA,GAEA4Q,EAAA,SAAAJ,EAAAzb,EAAAiL,GA6BA,IA5BA,IAAA6Q,EAAAT,EAAAO,EAAA3Q,GACA8Q,EAAA,SAAA3pB,GACA,IAAA+X,EAAA2H,EAAAuH,UAAArZ,GAAA5N,EAAA,IACA,IAAA+X,MAAAnV,OAsBA,OAJA8c,EAAAuH,UAAArZ,GAAA5N,EAAA,KAAAqpB,GACAA,EAAAtY,iBAAA,0BACA2O,EAAAuH,UAAArZ,GAAA5N,EAAA,IAAAyoB,OAAA,QAEwCmB,EAAA5pB,EAAAmpB,GArBxC,aAAAvb,EACA,iBAEA,QAAAic,EAAA,EAA+CA,EAAA9R,EAAAnV,OAAiBinB,IAAA,CAChE,IAAAC,EAAAV,EAAArR,EAAA8R,IAAA,GACA,GAAAC,GAAAb,EAAAS,EAAAF,EAAAzgB,SAAAgP,EAAA8R,GAAA9iB,MAAA8R,SAAAiR,GAAA,EACA,MAEA,GAAAD,IAAA9R,EAAAnV,OAAA,EAKA,OAJA8c,EAAAuH,UAAArZ,GAAA5N,EAAA,IAAAiT,KAAAoW,GACAA,EAAAtY,iBAAA,0BACA2O,EAAAuH,UAAArZ,GAAA5N,EAAA,IAAAyoB,OAAA,QAEgDmB,EAAA5pB,EAAAmpB,KAWhDnpB,EAAA,EAAuC0f,EAAA4F,WAAAtlB,EAAAmpB,EAA+BnpB,IAAA,CACtE,IAAA+pB,EAAAJ,EAAA3pB,GACA,OAAA+pB,GACA,eACA,SACA,QACA,wBAAAA,EAAA,YAAA/nB,EAAA+nB,IACA,OAAAA,EAAAH,GAGA,UAEA,mBAAAlpB,OAAAkB,UAAAS,SAAAlC,KAAAsX,KACAA,OAoDA,IAlDA,IAAAuS,EAAA/lB,SAAAgmB,yBACAC,EAAA,SAAAlqB,GACAyX,EAAAzX,GAAA4N,KAAA0M,EAAAlR,QAAAD,YAAAsO,EAAAzX,GAAA4N,MACA6J,EAAAzX,GAAA6I,QACA4O,EAAAzX,GAAA6I,MAAA,UAEA,IAAAkP,EAAA9T,SAAA6C,cAAA,OACAiR,EAAA5B,UAAAG,IAAA,wBACAyB,EAAA5B,UAAAG,IAAA,mBAAAmB,EAAAzX,GAAA4N,MACA6J,EAAAzX,GAAA2oB,OACA5Q,EAAArB,UAAA,uBAAAe,EAAAzX,GAAA2oB,OAAA,KAAAlR,EAAAzX,GAAAwb,KAAA,UAEAzD,EAAArB,UAAAe,EAAAzX,GAAAwb,KAEAzD,EAAAhR,MAAA6V,QAAA8C,EAAA0H,SACArP,EAAAhR,MAAA8B,MAAAyR,EAAAlR,QAAAJ,aAAAyO,EAAAzX,GAAA6I,OACAkP,EAAAhH,iBAAA,0BACA2O,EAAAnK,UAAApO,YAAA4Q,KAEA,IAAAoS,EAAAzK,EAAA2H,SAAA5P,EAAAzX,GAAAwb,MACA4O,OAAA,EACA,OAAA3S,EAAAzX,GAAA4N,MACA,aACAwc,EAAAX,EAAA1R,EAAAN,EAAAzX,GAAA4N,KAAAuc,KACA,IACApS,EAAAhR,MAAA8R,MAAAsR,EAAA,OACApS,EAAAhR,MAAAG,IAAA8hB,EAAAoB,EAAA,KACArS,EAAAhR,MAAAsjB,UAAA,eAAApB,EAAA,OAEA,MACA,WACAmB,EAAAX,EAAA1R,EAAAN,EAAAzX,GAAA4N,QACA,IACAmK,EAAAhR,MAAAG,IAAA8hB,EAAAoB,EAAA,MAEA,MACA,cACAA,EAAAX,EAAA1R,EAAAN,EAAAzX,GAAA4N,QACA,IACAmK,EAAAhR,MAAAiS,OAAAgQ,EAAAoB,EAAA,MAEA,MACA,QACArD,QAAA1Y,MAAA,+BAAAoJ,EAAAzX,GAAA4N,MAEAwc,GAAA,IACArS,EAAA5B,UAAAG,IAAA,wBACA0T,EAAA/iB,YAAA8Q,KAGA/X,EAAA,EAAmCA,EAAAyX,EAAA7U,OAAgB5C,IACnDkqB,EAAAlqB,GAGA,OADA2G,KAAA4O,UAAAtO,YAAA+iB,GACAA,MAKAzoB,IAAA,OACAN,MAAA,WACA0F,KAAA4b,QAAA,KAIAhhB,IAAA,QACAN,MAAA,WACA0F,KAAA4b,QAAA,KAIAhhB,IAAA,WACAN,MAAA,SAAAua,GACA,IAAA7U,KAAA2jB,QAAA,CACA,IAAAC,EAAAC,iBAAA7jB,KAAA4O,UAAAwT,uBAAA,iCACApiB,KAAA2jB,QAAArmB,SAAA6C,cAAA,UAAAwa,WAAA,MACA3a,KAAA2jB,QAAAG,KAAAF,EAAAG,iBAAA,QAEA,OAAA/jB,KAAA2jB,QAAAK,YAAAnP,GAAA3C,SAIAtX,IAAA,OACAN,MAAA,WACA0F,KAAAshB,QACA,QAAAjoB,EAAA,EAA+BA,EAAA2G,KAAA8Q,IAAA7U,OAAqB5C,IAAA,CACpD,GAAA2G,KAAA8Q,IAAAzX,GAAAkf,MAAAvY,KAAAkQ,QAAAqI,OAAA,CACAvY,KAAAugB,SAAAlnB,EACA,MAEA2G,KAAAugB,SAAAvgB,KAAA8Q,IAAA7U,WAKArB,IAAA,QACAN,MAAA,WACA0F,KAAAsgB,WACAlc,SACA7D,OACA8R,WAEArS,KAAAugB,SAAA,EACAvgB,KAAAkQ,QAAAtB,UAAAmB,UAAA,GACA/P,KAAAsS,QAAAtS,KAAAsS,OAAAC,QAAA,oBAIA3X,IAAA,aACAN,MAAA,SAAA0D,GACA,OAAAA,EAAAC,QAAA,cAA+CA,QAAA,aAAsBA,QAAA,aAAsBA,QAAA,eAAwBA,QAAA,eAAwBA,QAAA,mBAI3IrD,IAAA,SACAN,MAAA,WAGA,IAFA,IAAAgoB,EAAAtiB,KAAA4O,UAAAqD,YACAkQ,EAAAniB,KAAA4O,UAAAwT,uBAAA,wBACA/oB,EAAA,EAA+BA,EAAA8oB,EAAAlmB,OAAkB5C,IACjD8oB,EAAA9oB,GAAA+G,MAAAsjB,UAAA,eAAApB,EAAA,SAKA1nB,IAAA,OACAN,MAAA,WACA0F,KAAAwgB,SAAA,EACAxgB,KAAA6D,QACA7D,KAAAshB,QACAthB,KAAAsS,QAAAtS,KAAAsS,OAAAC,QAAA,mBAIA3X,IAAA,OACAN,MAAA,WACA0F,KAAAmT,OACAnT,KAAAwgB,SAAA,EACAxgB,KAAA4D,OACA5D,KAAAsS,QAAAtS,KAAAsS,OAAAC,QAAA,mBAIA3X,IAAA,UACAN,MAAA,SAAA2pB,GACAjkB,KAAA2e,UAAAsF,MAIA5D,EAvWA,GAyWAxnB,EAAA4J,QAAA4d,6CC5YAvnB,EAAAD,SAAA,EACA,IACAC,EAAAD,QAAA,qBAAAkB,OAAAkB,UAAAS,SAAAlC,KAAA0qB,EAAA9e,SACC,MAAAO,kECHD,IAAAwe,EAAAhrB,EAAA,IACAirB,EAAArqB,OAAAY,OAAAwpB,EAAAD,EAAAjrB,QACAorB,EAAA,UACAD,EAAAxd,QAAA,SAAA0d,GACA,OA0BA,SAAAA,GACA,IAAAC,EAAA,GAAAD,EACAE,EAAAH,EAAAI,KAAAF,GACA,IAAAC,EACA,OAAAF,EAEA,IAAA9mB,EAAA,GACAnE,OAAA,EAAAqrB,OAAA,EAAAC,OAAA,EACA,IAAAtrB,EAAAmrB,EAAAnT,MAAAqT,EAAA,EAA8CrrB,EAAAkrB,EAAAtoB,OAAiB5C,IAAA,CAC/D,OAAAkrB,EAAAK,WAAAvrB,IACA,QACAsrB,EAAA,QACA,MACA,QACAA,EAAA,QACA,MACA,QACAA,EAAA,QACA,MACA,QACAA,EAAA,QACA,MACA,QACAA,EAAA,QACA,MACA,QACA,SAEAD,IAAArrB,IACAmE,GAAA+mB,EAAAM,UAAAH,EAAArrB,IAEAqrB,EAAArrB,EAAA,EACAmE,GAAAmnB,EAEA,OAAAD,IAAArrB,EACAmE,EAAA+mB,EAAAM,UAAAH,EAAArrB,GAEAmE,EA/DAsnB,CAaA,SAAAppB,EAAApB,GACA,iBAAAA,IAEAA,OADA2G,IAAA3G,GAAA,OAAAA,EACA,GACS,mBAAAA,EACToB,EAAApB,EAAAd,KAAAc,IAEAiL,KAAAC,UAAAlL,IAGA,OAAAA,EAvBAoB,CAAA4oB,KAEAF,EAAAW,MAAA,SAAAzf,EAAAgX,GACA,GAAAzR,MAAAlP,QAAA2J,GACA,QAAAjM,EAAA,EAAAyS,EAAAxG,EAAArJ,OAA0C5C,EAAAyS,EAASzS,IACnDijB,EAAAhX,EAAAjM,WAGA,QAAA2rB,KAAA1f,EACAgX,EAAAhX,EAAA0f,OA0DAlsB,EAAAD,QAAAurB,sHCxEC1d,EAAAqI,OAAAmB,EAAAxJ,EAAAwJ,QAAAtJ,EAAAC,EAAAD,QAAAmO,EAAArO,EAAAqO,KAAAkQ,EAAAve,EAAAue,MAAA5T,EAAA3K,EAAA2K,MAAA0T,EAAAle,EAAAke,MAAAre,EAAAwe,OAAAxe,EAAAye,gGAEqC,GAAApW,WACjC,SAAAmB,EAAAkV,OAAA5e,GAEc,uDAFdA,GAEgCI,EAAAsJ,EAAAkV,MAFhC5e,GAAA,2BAK4B,qCAAA0J,EAAAM,SAAiDN,EAAAM,QAAjD6U,QAAA7e,GAAuE,yBAAvEA,GAAkGI,EAAlGsJ,EAAAM,QAAA6U,OAAA7e,GAAA,QAMxB,oOAAA0J,EAAAM,UAAAhK,GACiC,8CADjCA,GACiEI,EAAAmO,EAAA,uBADjEvO,GAAA,wBAGoC,oDAAoBye,EAAAtgB,WAMgB,uPAAqBiC,EAAAmO,EAAA,eACtD,+EAAqBkQ,EAAAzgB,YAIT,yMAA+BoC,EAAAmO,EAAA,yBAEtB,2GAAWnO,EAAAyK,MAIX,mNAAWzK,EAAAyK,MAIX,gNAAWzK,EAAAyK,MAIX,gNAAWzK,EAAAyK,MAIX,gNAAWzK,EAAAyK,MAIX,gNAAWzK,EAAAyK,MAKpB,0PAA8BzK,EAAAmO,EAAA,wBAEtB,0GAAWnO,EAAAyK,MACpD,8CAAiBzK,EAAAmO,EAAA,WAGwB,qIAAWnO,EAAAyK,MACpD,sDAAqBzK,EAAAmO,EAAA,eAGoB,qIAAWnO,EAAAyK,MACpD,8CAAoBzK,EAAAmO,EAAA,cAIwB,mJAAsCnO,EAAAmO,EAAA,gCACvC,8FAAkBnO,EAAAmO,EAAA,YACxC,+EAAiBkQ,EAAA1gB,QAKjB,0MAAiB0gB,EAAArhB,QAIb,0LAAuBqhB,EAAAlhB,cAIG,8OAAmB6C,EAAAsJ,EAAAoV,UACzB,kFAAmB1e,EAAAsJ,EAAAoV,UASlF,gRAAApV,EAAAqV,OAAA/e,GACmF,gGADnFA,GACsGI,EAAAsJ,EADtGoV,OAAA9e,GACgH,aADhHA,GACkII,EAAAmO,EAAA,SADlIvO,GAAA,wBAKA,8EAAA0J,EAAAnB,MAA8BsL,UAA9B7T,GAEsD,0GAFtDA,GAEoHI,EAAAsJ,EAAAnB,MAAAsL,QAAAnK,EAAAnB,MAAAyW,gBAAA5rB,MAFpH4M,GAKQ,kIAAAue,EAAA7U,EAAgCnB,MAAAsL,QAAA,SAAA6K,EAAAC,GAAhC3e,GACkD,uEADlDA,GAC8DI,EAD9Due,GAAA3e,GACgE,KADhEA,GACiFI,EAAAse,EAAAtrB,MANzF4M,GAAA,6BAAAA,GAAA,6EAYA,aAAA0J,EAAApJ,aAAAN,GAC4D,yEAD5DA,GACoFI,EAAAmO,EAAA,eADpFvO,GAEuC,4EAFvCA,GAE0Dye,EAAAxgB,OAF1D+B,GAAA,wCAMoE,2HAA0BI,EAAAmO,EAAA,oBACnD,mFAAoBkQ,EAAA5gB,WAG/D,2DAAA6L,EAAAxL,WAAA8B,GAEqE,8HAFrEA,GAEgGI,EAAAmO,EAAA,kBAFhGvO,GAG2C,gFAH3CA,GAGgEye,EAAAvgB,SAHhE8B,GAAA,+DAQoE,2HAAqBI,EAAAmO,EAAA,eAC9C,mFAAoBkQ,EAAA9gB,WAKnB,mRAAmByC,EAAAmO,EAAA,aACnB,mEAAkBkQ,EAAA7gB,SAGlB,2KAAkBwC,EAAAmO,EAAA,YAOlB,ubAA0BnO,EAAAmO,EAAA,oBAO1B,mcAA+BnO,EAAAmO,EAAA,yBAO/B,idAAiCnO,EAAAmO,EAAA,2BAkBjC,o9BAAoBnO,EAAAmO,EAAA,cAeI,stBAA6BnO,EAAAmO,EAAA,uBACtD,mFAAoBkQ,EAAA/gB,WAEE,+GAAyB0C,EAAAmO,EAAA,mBAC/C,mFAAiBkQ,EAAAhhB,QASC,2XAAmB2C,EAAAsJ,EAAAoV,UACzB,yEAAmB1e,EAAAsJ,EAAAoV,UA+B9E,29CAAApV,EAAAM,UAAAhK,GAAA,8qBAgBA,6CAAAue,EAAA7U,EAA8BoB,YAAA,SAAA4T,EAAAC,GAA9B3e,GAEU,4DAAA0e,EAAAhK,OAFV1U,GAAA,oBAAAA,GAE8D,UAF9DA,GAEwGI,EAFxGse,EAAAhK,MAAA,uBAAA1U,GAE0G,KAF1GA,GAEiII,EAAAmO,EAAAmQ,EAAArQ,OAFjIrO,GAAA,iGC/PL1N,EAAAD,QAAA,q8BCAAC,EAAAD,QAAA,0lBCAAC,EAAAD,QAAA,2sBCAAC,EAAAD,QAAA,6qECAAC,EAAAD,QAAA,iOCAAC,EAAAD,QAAA,oiBCAAC,EAAAD,QAAA,k6BCAAC,EAAAD,QAAA,oMCAAC,EAAAD,QAAA,26GCAAC,EAAAD,QAAA,slCCAAC,EAAAD,QAAA,iyBCAAC,EAAAD,QAAA,yTCAAC,EAAAD,QAAA,wmBCAAC,EAAAD,QAAA,i6BCAAC,EAAAD,QAAA,4SCAAC,EAAAD,QAAA,sRCCAkB,OAAAC,eAAAnB,EAAA,cAA8CyB,OAAA,IAC9C,IAAAsT,EAAA,WACA,SAAAC,EAAAC,EAAAC,GACA,QAAA1U,EAAA,EAAuBA,EAAA0U,EAAA9R,OAAkB5C,IAAA,CACzC,IAAA2U,EAAAD,EAAA1U,GACA2U,EAAA/T,WAAA+T,EAAA/T,aAAA,EACA+T,EAAAC,cAAA,EACA,UAAAD,IACAA,EAAAE,UAAA,GACAnU,OAAAC,eAAA8T,EAAAE,EAAApT,IAAAoT,IAGA,gBAAAG,EAAAC,EAAAC,GAKA,OAJAD,GACAP,EAAAM,EAAAlT,UAAAmT,GACAC,GACAR,EAAAM,EAAAE,GACAF,GAhBA,GAoBA+I,EAAAvU,EADAxJ,EAAA,IAGAssB,EAAA9iB,EADAxJ,EAAA,KAEA,SAAAwJ,EAAApH,GACA,OAAAA,KAAAd,WAAAc,GAA0CkH,QAAAlH,GAO1C,IAAAmqB,EAAA,WACA,SAAAA,EAAAxV,IANA,SAAAzB,EAAAN,GACA,KAAAM,aAAAN,GACA,UAAAO,UAAA,qCAKAC,CAAA3O,KAAA0lB,GACA1lB,KAAA4O,UAAAsB,EAAAtB,UACA5O,KAAAkQ,kBACAlQ,KAAAqR,MAAAnB,EAAAmB,MACArR,KAAA+U,KAAA7E,EAAA6E,KACA/U,KAAAwc,OAwFA,OAtFA5O,EAAA8X,IACA9qB,IAAA,OACAN,MAAA,WACA0F,KAAA4O,UAAAmB,WAAA,EAAA0V,EAAAhjB,UACAyN,QAAAlQ,KAAAkQ,QACAmB,MAAArR,KAAAqR,MACA0D,KAAA/U,KAAA+U,KACAkQ,MAAA/N,EAAAzU,QACAsM,OACA3P,SAAA,EACAuH,IAAA3G,KAAAkQ,QAAAnB,MAAApI,IACAG,WAAA9G,KAAAkQ,QAAApJ,WACAC,QAAA/G,KAAAkQ,QAAAnJ,QACAC,IAAAhH,KAAAkQ,QAAAnB,MAAA/H,IACAtC,SAAA1E,KAAAkQ,QAAAxL,YAGA1E,KAAA0d,UAAA1d,KAAA4O,UAAAqF,cAAA,6BACAjU,KAAA6Z,cAAA7Z,KAAA4O,UAAAqF,cAAA,uBACAjU,KAAA+Z,kBAAA/Z,KAAA4O,UAAAqF,cAAA,4BACAjU,KAAA8Z,aAAA9Z,KAAA4O,UAAAqF,cAAA,mBACAjU,KAAAga,iBAAAha,KAAA4O,UAAAqF,cAAA,wBACAjU,KAAAma,WAAAna,KAAA4O,UAAAqF,cAAA,8CACAjU,KAAA2d,UAAA3d,KAAA4O,UAAAqF,cAAA,mBACAjU,KAAA6d,UAAA7d,KAAA4O,UAAAqF,cAAA,mBACAjU,KAAAsY,cAAAtY,KAAA4O,UAAAqF,cAAA,qBACAjU,KAAAyY,cAAAzY,KAAA4O,UAAAqF,cAAA,qBACAjU,KAAAwQ,QAAAxQ,KAAA4O,UAAAqF,cAAA,oBACAjU,KAAA2lB,eAAA3lB,KAAA4O,UAAAqF,cAAA,uBACAjU,KAAA+O,MAAA/O,KAAA4O,UAAAqF,cAAA,0BACAjU,KAAA4lB,MAAA5lB,KAAA4O,UAAAqF,cAAA,uBACAjU,KAAA8X,WAAA9X,KAAA4O,UAAAqF,cAAA,sBACAjU,KAAA+X,UAAA/X,KAAA4O,UAAAqF,cAAA,uBACAjU,KAAAgY,eAAAhY,KAAA4O,UAAAqF,cAAA,4BACAjU,KAAAkZ,MAAAlZ,KAAA4O,UAAAqF,cAAA,kBACAjU,KAAAiV,cAAAjV,KAAA4O,UAAAqF,cAAA,yBACAjU,KAAA4V,WAAA5V,KAAA4O,UAAAqF,cAAA,wBACAjU,KAAA6R,KAAA7R,KAAA4O,UAAAqF,cAAA,iBACAjU,KAAAkV,KAAAlV,KAAA4O,UAAAqF,cAAA,yBACAjU,KAAAmV,WAAAnV,KAAA4O,UAAAqF,cAAA,uDACAjU,KAAAqV,YAAArV,KAAA4O,UAAAqF,cAAA,4BACAjU,KAAAuV,kBAAAvV,KAAA4O,UAAAqF,cAAA,kCACAjU,KAAAwV,eAAAxV,KAAA4O,UAAAqF,cAAA,+BACAjU,KAAAyV,qBAAAzV,KAAA4O,UAAAqF,cAAA,qCACAjU,KAAA2V,MAAA3V,KAAA4O,UAAAqF,cAAA,0BACAjU,KAAA8V,UAAA9V,KAAA4O,UAAAyJ,iBAAA,+BACArY,KAAA8d,kBAAA9d,KAAA4O,UAAAqF,cAAA,8BACAjU,KAAAoW,sBAAApW,KAAA4O,UAAAqF,cAAA,wBACAjU,KAAAyW,0BAAAzW,KAAA4O,UAAAqF,cAAA,6BACAjU,KAAAwW,kBAAAxW,KAAA4O,UAAAqF,cAAA,4BACAjU,KAAA6lB,MAAA7lB,KAAA4O,UAAAqF,cAAA,kBACAjU,KAAAqT,WAAArT,KAAA4O,UAAAqF,cAAA,uBACAjU,KAAAoU,aAAApU,KAAA4O,UAAAqF,cAAA,0BACAjU,KAAA6T,cAAA7T,KAAA4O,UAAAqF,cAAA,yBACAjU,KAAAyU,kBAAAzU,KAAA4O,UAAAqF,cAAA,gCACAjU,KAAA8T,qBAAA9T,KAAA4O,UAAAqF,cAAA,iCACAjU,KAAAkU,mBAAAlU,KAAA4O,UAAAqF,cAAA,sCACAjU,KAAAuU,kBAAAvU,KAAA4O,UAAAqF,cAAA,sBACAjU,KAAAqU,gBAAArU,KAAA4O,UAAAqF,cAAA,2BACAjU,KAAAgU,uBAAAhU,KAAA4O,UAAAqF,cAAA,kCACAjU,KAAAyZ,kBAAAzZ,KAAA4O,UAAAqF,cAAA,sBACAjU,KAAA0Z,cAAA1Z,KAAA4O,UAAAqF,cAAA,yBACAjU,KAAAgS,KAAAhS,KAAA4O,UAAAqF,cAAA,iBACAjU,KAAAmR,SAAAnR,KAAA4O,UAAAyJ,iBAAA,sBACArY,KAAAsa,YAAAta,KAAA4O,UAAAqF,cAAA,yBACAjU,KAAAya,aAAAza,KAAA4O,UAAAqF,cAAA,wBACAjU,KAAAub,eAAAvb,KAAA4O,UAAAqF,cAAA,0BACAjU,KAAAyb,oBAAAzb,KAAA4O,UAAAqF,cAAA,gDACAjU,KAAA0E,SAAA1E,KAAA4O,UAAAqF,cAAA,qBACAjU,KAAA8lB,cAAA9lB,KAAA4O,UAAAqF,cAAA,yBACAjU,KAAA4Y,WAAA5Y,KAAA4O,UAAAqF,cAAA,wBACAjU,KAAA6Y,QAAA7Y,KAAA4O,UAAAqF,cAAA,qBACAjU,KAAA8U,OAAA9U,KAAA4O,UAAAqF,cAAA,mBACAjU,KAAA8O,UAAA9O,KAAA4O,UAAAqF,cAAA,uBACAjU,KAAAgP,eAAAhP,KAAA4O,UAAAqF,cAAA,6BACAjU,KAAA8P,YAAA9P,KAAA4O,UAAAqF,cAAA,kEACAjU,KAAA+Q,QAAA/Q,KAAA4O,UAAAqF,cAAA,8DACAjU,KAAAgQ,SAAAhQ,KAAA4O,UAAAqF,cAAA,+DACAjU,KAAAiQ,QAAAjQ,KAAA4O,UAAAqF,cAAA,8DACAjU,KAAAmQ,eAAAnQ,KAAA4O,UAAAqF,cAAA,qEACAjU,KAAAsQ,aAAAtQ,KAAA4O,UAAAqF,cAAA,mEACAjU,KAAAyQ,cAAAzQ,KAAA4O,UAAAqF,cAAA,qEACAjU,KAAA2Q,eAAA3Q,KAAA4O,UAAAqF,cAAA,sEACAjU,KAAA6Q,kBAAA7Q,KAAA4O,UAAAqF,cAAA,6EAGAyR,EA/FA,GAiGA7sB,EAAA4J,QAAAijB,gCCjIA3rB,OAAAC,eAAAnB,EAAA,cAA8CyB,OAAA,IAY9C,IAAAyrB,GACAC,SACAC,qBAAA,QACAC,IAAA,KACAC,OAAA,KACAC,QAAA,KACAC,2BAAA,YACAC,eAAA,OACAC,mBAAA,UACAC,gBAAA,iBACAC,KAAA,OACAC,MAAA,KACAC,sBAAA,QACAC,OAAA,KACAC,gCAAA,aACAC,oBAAA,SACAC,mBAAA,SACAC,eAAA,OACAC,oBAAA,SACAC,sBAAA,SACAC,sBAAA,SACAC,eAAA,QACAC,cAAA,QACAhN,QAAA,KACAiN,GAAA,KACAC,IAAA,KACAC,oBAAA,OACAC,eAAA,OACAzS,QAAA,KACA0S,cAAA,KACAC,kBAAA,OACAC,KAAA,KACAC,WAAA,KACAzsB,EAAA,IACA0sB,gBAAA,OACAC,gBAAA,OACAC,OAAA,KACAC,KAAA,KACAC,aAAA,UAEAC,SACAlC,qBAAA,QACAC,IAAA,KACAC,OAAA,KACAC,QAAA,KACAC,2BAAA,gBACAC,eAAA,OACAC,mBAAA,UACAC,gBAAA,iBACAC,KAAA,OACAC,MAAA,KACAC,sBAAA,QACAC,OAAA,KACAC,gCAAA,YACAC,oBAAA,SACAC,mBAAA,SACAC,eAAA,OACAC,oBAAA,SACAC,sBAAA,SACAC,sBAAA,SACAC,eAAA,QACAC,cAAA,QACAhN,QAAA,KACAiN,GAAA,KACAC,IAAA,KACAC,oBAAA,OACAC,eAAA,OACAzS,QAAA,KACA0S,cAAA,MACAC,kBAAA,QACAC,KAAA,KACAC,WAAA,KACAzsB,EAAA,IACA0sB,gBAAA,OACAC,gBAAA,OACAC,OAAA,KACAC,KAAA,KACAC,aAAA,WAGArvB,EAAA4J,QA3FA,SAAA2lB,GACA,IAAA5Z,EAAAxO,KACAA,KAAAooB,OACApoB,KAAA+U,KAAA,SAAAF,GACA,OAAAkR,EAAAvX,EAAA4Z,OAAArC,EAAAvX,EAAA4Z,MAAAvT,GACAkR,EAAAvX,EAAA4Z,MAAAvT,GAEAA,kCCRA/b,EAAAD,QAAA,SAAAyjB,GACA,gBAAA+L,GACA,OAAA/L,EAAAxR,MAAA,KAAAud,mCCFA,IAAAnhB,EAAA/N,EAAA,GACA,SAAAmvB,EAAAC,GACA,sBAAAA,EACA,UAAA7Z,UAAA,gCAEA,IAAA8Z,EACAxoB,KAAAwK,QAAA,IAAAtC,QAAA,SAAAC,GACAqgB,EAAArgB,IAEA,IAAAyZ,EAAA5hB,KACAuoB,EAAA,SAAAphB,GACAya,EAAA6G,SAGA7G,EAAA6G,OAAA,IAAAvhB,EAAAC,GACAqhB,EAAA5G,EAAA6G,WAGAH,EAAArtB,UAAAytB,iBAAA,WACA,GAAA1oB,KAAAyoB,OACA,MAAAzoB,KAAAyoB,QAGAH,EAAAK,OAAA,WACA,IAAAje,EAIA,OACAkX,MAJA,IAAA0G,EAAA,SAAA5uB,GACAgR,EAAAhR,IAIAgR,WAGA5R,EAAAD,QAAAyvB,gCCjCAxvB,EAAAD,QAAA,SAAA+vB,EAAAC,GACA,OAAAA,EAAAD,EAAA3qB,QAAA,eAAA4qB,EAAA5qB,QAAA,WAAA2qB,iCCDA9vB,EAAAD,QAAA,SAAAmO,GACA,sCAAA7I,KAAA6I,kCCDA,IAAA3I,EAAAlF,EAAA,GACAL,EAAAD,QAAA,SAAAyM,EAAAN,EAAA8jB,GAIA,OAHAzqB,EAAAtC,QAAA+sB,EAAA,SAAA9sB,GACAsJ,EAAAtJ,EAAAsJ,EAAAN,KAEAM,iCCLA,IAAAjH,EAAAlF,EAAA,GACA4vB,EAAA5vB,EAAA,IACA6vB,EAAA7vB,EAAA,GACA+L,EAAA/L,EAAA,GACA8vB,EAAA9vB,EAAA,IACA+vB,EAAA/vB,EAAA,IACA,SAAAgwB,EAAA7hB,GACAA,EAAAiD,aACAjD,EAAAiD,YAAAme,mBAGA5vB,EAAAD,QAAA,SAAAyO,GAoBA,OAnBA6hB,EAAA7hB,GACAA,EAAAshB,UAAAK,EAAA3hB,EAAAN,OACAM,EAAAN,IAAAkiB,EAAA5hB,EAAAshB,QAAAthB,EAAAN,MAEAM,EAAAtC,QAAAsC,EAAAtC,YACAsC,EAAAhC,KAAAyjB,EAAAzhB,EAAAhC,KAAAgC,EAAAtC,QAAAsC,EAAAjC,kBACAiC,EAAAtC,QAAA3G,EAAAd,MAAA+J,EAAAtC,QAAAkB,WAA4DoB,EAAAtC,QAAAsC,EAAAlB,YAAqCkB,EAAAtC,aACjG3G,EAAAtC,SACA,SACA,MACA,OACA,OACA,MACA,QACA,UACA,SAAAqK,UACAkB,EAAAtC,QAAAoB,MAEAkB,EAAArC,SAAAC,EAAAD,SACAqC,GAAAmD,KAAA,SAAAhD,GAGA,OAFA0hB,EAAA7hB,GACAG,EAAAnC,KAAAyjB,EAAAthB,EAAAnC,KAAAmC,EAAAzC,QAAAsC,EAAA7B,mBACAgC,GACK,SAAAghB,GAOL,OANAO,EAAAP,KACAU,EAAA7hB,GACAmhB,KAAAhhB,WACAghB,EAAAhhB,SAAAnC,KAAAyjB,EAAAN,EAAAhhB,SAAAnC,KAAAmjB,EAAAhhB,SAAAzC,QAAAsC,EAAA7B,qBAGAyC,QAAAE,OAAAqgB,oCC1CA,IAAApqB,EAAAlF,EAAA,GACA,SAAAiwB,IACAppB,KAAAqpB,YAEAD,EAAAnuB,UAAAquB,IAAA,SAAAC,EAAAC,GAKA,OAJAxpB,KAAAqpB,SAAA/c,MACAid,YACAC,aAEAxpB,KAAAqpB,SAAAptB,OAAA,GAEAmtB,EAAAnuB,UAAAwuB,MAAA,SAAA/Y,GACA1Q,KAAAqpB,SAAA3Y,KACA1Q,KAAAqpB,SAAA3Y,GAAA,OAGA0Y,EAAAnuB,UAAAc,QAAA,SAAAC,GACAqC,EAAAtC,QAAAiE,KAAAqpB,SAAA,SAAAK,GACA,OAAAA,GACA1tB,EAAA0tB,MAIA5wB,EAAAD,QAAAuwB,gCCvBA,IAAA/qB,EAAAlF,EAAA,GACAL,EAAAD,QAAAwF,EAAAlB,wBAEAwsB,MAAA,SAAA/vB,EAAAU,EAAAsvB,EAAAC,EAAAC,EAAAC,GACA,IAAAC,KACAA,EAAA1d,KAAA1S,EAAA,IAAAqwB,mBAAA3vB,IACA+D,EAAA3B,SAAAktB,IACAI,EAAA1d,KAAA,eAAA6C,KAAAya,GAAAM,eAEA7rB,EAAA5B,SAAAotB,IACAG,EAAA1d,KAAA,QAAAud,GAEAxrB,EAAA5B,SAAAqtB,IACAE,EAAA1d,KAAA,UAAAwd,IAEA,IAAAC,GACAC,EAAA1d,KAAA,UAEAhP,SAAA0sB,SAAAjrB,KAAA,OAEAiL,KAAA,SAAApQ,GACA,IAAAuwB,EAAA7sB,SAAA0sB,OAAAG,MAAA,IAAAC,OAAA,aAA8DxwB,EAAA,cAC9D,OAAAuwB,EAAAE,mBAAAF,EAAA,UAEA1a,OAAA,SAAA7V,GACAoG,KAAA2pB,MAAA/vB,EAAA,GAAAuV,KAAAC,MAAA,UAKAua,MAAA,aAEA3f,KAAA,WACA,aAEAyF,OAAA,4CCnCA,IAAA6a,EAAA,oEACA,SAAAC,IACAvqB,KAAAmH,QAAA,uCAEAojB,EAAAtvB,UAAA,IAAA0M,MACA4iB,EAAAtvB,UAAAsM,KAAA,EACAgjB,EAAAtvB,UAAArB,KAAA,wBAaAd,EAAAD,QAZA,SAAA2xB,GAGA,IAFA,IAEAC,EAAAC,EAFA1sB,EAAA2sB,OAAAH,GACAI,EAAA,GACAC,EAAA,EAAAhsB,EAAAyrB,EAAmDtsB,EAAA8sB,OAAA,EAAAD,KAAAhsB,EAAA,IAAAgsB,EAAA,GAA6CD,GAAA/rB,EAAAisB,OAAA,GAAAL,GAAA,EAAAI,EAAA,MAEhG,IADAH,EAAA1sB,EAAA4mB,WAAAiG,GAAA,MACA,IACA,UAAAN,EAEAE,KAAA,EAAAC,EAEA,OAAAE,iCCjBA,IAAAvsB,EAAAlF,EAAA,GACAL,EAAAD,QAAAwF,EAAAlB,uBAAA,WACA,IAEA4tB,EAFAC,EAAA,kBAAA7sB,KAAAf,UAAAgB,WACA6sB,EAAA3tB,SAAA6C,cAAA,KAEA,SAAA+qB,EAAAlkB,GACA,IAAAmU,EAAAnU,EAMA,OALAgkB,IACAC,EAAAE,aAAA,OAAAhQ,GACAA,EAAA8P,EAAA9P,MAEA8P,EAAAE,aAAA,OAAAhQ,IAEAA,KAAA8P,EAAA9P,KACAiQ,SAAAH,EAAAG,SAAAH,EAAAG,SAAAntB,QAAA,YACAotB,KAAAJ,EAAAI,KACAC,OAAAL,EAAAK,OAAAL,EAAAK,OAAArtB,QAAA,aACAstB,KAAAN,EAAAM,KAAAN,EAAAM,KAAAttB,QAAA,YACAutB,SAAAP,EAAAO,SACAC,KAAAR,EAAAQ,KACAC,SAAA,MAAAT,EAAAS,SAAAZ,OAAA,GAAAG,EAAAS,SAAA,IAAAT,EAAAS,UAIA,OADAX,EAAAG,EAAAjyB,OAAA0yB,SAAAxQ,MACA,SAAAyQ,GACA,IAAAC,EAAAxtB,EAAA5B,SAAAmvB,GAAAV,EAAAU,KACA,OAAAC,EAAAT,WAAAL,EAAAK,UAAAS,EAAAR,OAAAN,EAAAM,MAzBA,GA4BA,WACA,wCC9BA,IAAAhtB,EAAAlF,EAAA,GACA2yB,GACA,MACA,gBACA,iBACA,eACA,OACA,UACA,OACA,OACA,oBACA,sBACA,gBACA,WACA,eACA,sBACA,UACA,cACA,cAEAhzB,EAAAD,QAAA,SAAAmM,GACA,IACApK,EACAgB,EACAvC,EAHAwyB,KAIA,OAAA7mB,GAGA3G,EAAAtC,QAAAiJ,EAAA+mB,MAAA,eAAAC,GAIA,GAHA3yB,EAAA2yB,EAAA1iB,QAAA,KACA1O,EAAAyD,EAAAN,KAAAiuB,EAAA7pB,OAAA,EAAA9I,IAAA4Q,cACArO,EAAAyC,EAAAN,KAAAiuB,EAAA7pB,OAAA9I,EAAA,IACAuB,EAAA,CACA,GAAAixB,EAAAjxB,IAAAkxB,EAAAxiB,QAAA1O,IAAA,EACA,OAGAixB,EAAAjxB,GADA,eAAAA,GACAixB,EAAAjxB,GAAAixB,EAAAjxB,OAAAgR,QAAAhQ,IAEAiwB,EAAAjxB,GAAAixB,EAAAjxB,GAAA,KAAAgB,OAIAiwB,GAjBAA,iCC1BA,IAAAxtB,EAAAlF,EAAA,GACA,SAAA8yB,EAAArwB,GACA,OAAAquB,mBAAAruB,GAAAqC,QAAA,aAAAA,QAAA,aAAAA,QAAA,YAAAA,QAAA,aAAAA,QAAA,YAAAA,QAAA,aAAAA,QAAA,aAEAnF,EAAAD,QAAA,SAAAmO,EAAAkC,EAAAC,GACA,IAAAD,EACA,OAAAlC,EAEA,IAAAklB,EACA,GAAA/iB,EACA+iB,EAAA/iB,EAAAD,QACK,GAAA7K,EAAApB,kBAAAiM,GACLgjB,EAAAhjB,EAAAxN,eACK,CACL,IAAAywB,KACA9tB,EAAAtC,QAAAmN,EAAA,SAAAtN,EAAAhB,GACA,OAAAgB,QAAA,IAAAA,IAGAyC,EAAA1C,QAAAC,GACAhB,GAAA,KAEAgB,MAEAyC,EAAAtC,QAAAH,EAAA,SAAAqnB,GACA5kB,EAAAzB,OAAAqmB,GACAA,IAAAmJ,cACiB/tB,EAAAxC,SAAAonB,KACjBA,EAAA1d,KAAAC,UAAAyd,IAEAkJ,EAAA7f,KAAA2f,EAAArxB,GAAA,IAAAqxB,EAAAhJ,SAGAiJ,EAAAC,EAAAptB,KAAA,KAKA,OAHAmtB,IACAllB,KAAA,IAAAA,EAAAsC,QAAA,cAAA4iB,GAEAllB,iCCtCAlO,EAAAD,QAAA,SAAA6O,EAAAJ,EAAAC,EAAAC,EAAAC,GAOA,OANAC,EAAAJ,SACAC,IACAG,EAAAH,QAEAG,EAAAF,UACAE,EAAAD,WACAC,iCCPA,IAAAM,EAAA7O,EAAA,GACAL,EAAAD,QAAA,SAAAsP,EAAAC,EAAAX,GACA,IAAAzB,EAAAyB,EAAAH,OAAAtB,eACAyB,EAAAxB,QAAAD,MAAAyB,EAAAxB,QAGAmC,EAAAJ,EAAA,mCAAAP,EAAAxB,OAAAwB,EAAAH,OAAA,KAAAG,EAAAD,QAAAC,IAFAU,EAAAV,kCCJA,IAAApJ,EAAAlF,EAAA,GACAL,EAAAD,QAAA,SAAAmM,EAAAqnB,GACAhuB,EAAAtC,QAAAiJ,EAAA,SAAA1K,EAAAV,GACAA,IAAAyyB,GAAAzyB,EAAAqP,gBAAAojB,EAAApjB,gBACAjE,EAAAqnB,GAAA/xB,SACA0K,EAAApL,qCCLA,IAAAsL,EAAA/L,EAAA,GACAkF,EAAAlF,EAAA,GACAiwB,EAAAjwB,EAAA,IACAmzB,EAAAnzB,EAAA,IACA,SAAAozB,EAAAC,GACAxsB,KAAAkF,SAAAsnB,EACAxsB,KAAAysB,cACAjlB,QAAA,IAAA4hB,EACA3hB,SAAA,IAAA2hB,GAGAmD,EAAAtxB,UAAAuM,QAAA,SAAAF,GACA,iBAAAA,IACAA,EAAAjJ,EAAAd,OAA8ByJ,IAAAtJ,UAAA,IAAoBA,UAAA,MAElD4J,EAAAjJ,EAAAd,MAAA2H,GAAoCkB,OAAA,OAAgBpG,KAAAkF,SAAAoC,IACpDlB,OAAAkB,EAAAlB,OAAA6D,cACA,IAAAyiB,GACAJ,OACArrB,GAEAuJ,EAAAtC,QAAAC,QAAAb,GAOA,IANAtH,KAAAysB,aAAAjlB,QAAAzL,QAAA,SAAA4wB,GACAD,EAAAE,QAAAD,EAAApD,UAAAoD,EAAAnD,YAEAxpB,KAAAysB,aAAAhlB,SAAA1L,QAAA,SAAA4wB,GACAD,EAAApgB,KAAAqgB,EAAApD,UAAAoD,EAAAnD,YAEAkD,EAAAzwB,QACAuO,IAAAC,KAAAiiB,EAAAG,QAAAH,EAAAG,SAEA,OAAAriB,GAEAnM,EAAAtC,SACA,SACA,MACA,OACA,WACA,SAAAqK,GACAmmB,EAAAtxB,UAAAmL,GAAA,SAAAY,EAAAM,GACA,OAAAtH,KAAAwH,QAAAnJ,EAAAd,MAAA+J,OACAlB,SACAY,YAIA3I,EAAAtC,SACA,OACA,MACA,SACA,SAAAqK,GACAmmB,EAAAtxB,UAAAmL,GAAA,SAAAY,EAAA1B,EAAAgC,GACA,OAAAtH,KAAAwH,QAAAnJ,EAAAd,MAAA+J,OACAlB,SACAY,MACA1B,aAIAxM,EAAAD,QAAA0zB,gCCxDA,SAAA9wB,EAAAF,GACA,QAAAA,EAAAC,aAAA,mBAAAD,EAAAC,YAAAC,UAAAF,EAAAC,YAAAC,SAAAF,GAJAzC,EAAAD,QAAA,SAAA0C,GACA,aAAAA,IAAAE,EAAAF,IAKA,SAAAA,GACA,yBAAAA,EAAAuxB,aAAA,mBAAAvxB,EAAAgH,OAAA9G,EAAAF,EAAAgH,MAAA,MANAwqB,CAAAxxB,QAAAyxB,0CCDA,IAAA3uB,EAAAlF,EAAA,GACA0B,EAAA1B,EAAA,IACAozB,EAAApzB,EAAA,IACA+L,EAAA/L,EAAA,GACA,SAAA8zB,EAAAC,GACA,IAAAvJ,EAAA,IAAA4I,EAAAW,GACAze,EAAA5T,EAAA0xB,EAAAtxB,UAAAuM,QAAAmc,GAGA,OAFAtlB,EAAAV,OAAA8Q,EAAA8d,EAAAtxB,UAAA0oB,GACAtlB,EAAAV,OAAA8Q,EAAAkV,GACAlV,EAEA,IAAA0e,EAAAF,EAAA/nB,GACAioB,EAAAZ,QACAY,EAAAxyB,OAAA,SAAA6xB,GACA,OAAAS,EAAA5uB,EAAAd,MAAA2H,EAAAsnB,KAEAW,EAAAjmB,OAAA/N,EAAA,GACAg0B,EAAA7E,YAAAnvB,EAAA,IACAg0B,EAAAnE,SAAA7vB,EAAA,GACAg0B,EAAAC,IAAA,SAAAC,GACA,OAAAnlB,QAAAklB,IAAAC,IAEAF,EAAAG,OAAAn0B,EAAA,IACAL,EAAAD,QAAAs0B,EACAr0B,EAAAD,QAAA4J,QAAA0qB,gCCxBAr0B,EAAAD,QAAAM,EAAA,kCCAAY,OAAAC,eAAAnB,EAAA,cAA8CyB,OAAA,IAC9C,IAEAiB,EAFAgyB,EAAAp0B,EAAA,IACAq0B,GACAjyB,EADAgyB,IAEAhyB,EAAAd,WAAAc,GAA0CkH,QAAAlH,GAE1C1C,EAAA4J,SACA8B,KAAA,SAAA2L,GACAsd,EAAA/qB,QAAAgrB,KAAAvd,EAAAlJ,IAAAkJ,EAAA5K,MAAAmF,KAAA,SAAAhD,GACA,IAAAnC,EAAAmC,EAAAnC,KACAA,GAAA,IAAAA,EAAAiC,KAIA2I,EAAAuR,SAAAvR,EAAAuR,QAAAnc,GAHA4K,EAAAxI,OAAAwI,EAAAxI,MAAApC,KAAAoc,OAISgM,MAAA,SAAA/nB,GACTya,QAAA1Y,MAAA/B,GACAuK,EAAAxI,OAAAwI,EAAAxI,WAGAsC,KAAA,SAAAkG,GACAsd,EAAA/qB,QAAAvI,IAAAgW,EAAAlJ,KAAAyD,KAAA,SAAAhD,GACA,IAAAnC,EAAAmC,EAAAnC,KACAA,GAAA,IAAAA,EAAAiC,KAIA2I,EAAAuR,SAAAvR,EAAAuR,QAAAnc,OAAAzG,IAAA,SAAAuS,GACA,OACAmH,KAAAnH,EAAA,GACAnK,KAAAmK,EAAA,GACAlP,MAAAkP,EAAA,GACAyQ,OAAAzQ,EAAA,GACAyD,KAAAzD,EAAA,OATAlB,EAAAxI,OAAAwI,EAAAxI,MAAApC,KAAAoc,OAYSgM,MAAA,SAAA/nB,GACTya,QAAA1Y,MAAA/B,GACAuK,EAAAxI,OAAAwI,EAAAxI,0CCtCA3N,OAAAC,eAAAnB,EAAA,cAA8CyB,OAAA,IAC9C,IAOAiB,EAPAF,EAAA,mBAAAjB,QAAA,iBAAAA,OAAAkB,SAAA,SAAAC,GACA,cAAAA,GACC,SAAAA,GACD,OAAAA,GAAA,mBAAAnB,QAAAmB,EAAAC,cAAApB,QAAAmB,IAAAnB,OAAAa,UAAA,gBAAAM,GAEAoyB,EAAAx0B,EAAA,IACAy0B,GACAryB,EADAoyB,IAEApyB,EAAAd,WAAAc,GAA0CkH,QAAAlH,GAE1C1C,EAAA4J,QAAA,SAAAyN,GACA,IAAA2d,GACAjf,UAAAsB,EAAAjR,SAAA3B,SAAA8kB,uBAAA,cACAmD,MAAA,EACAuI,UAAA,EACAxI,MAAA,UACApQ,MAAA,EACAkT,MAAAhrB,UAAA2wB,UAAA3wB,UAAA4wB,iBAAA/jB,cACAnD,YAAA,EACA2L,QAAA,EACA1L,QAAA,WACAwM,OAAA,GACAiO,WAAAoM,EAAAnrB,QACAsM,SACAuC,eACA2c,OAAA,GAEA,QAAAC,KAAAL,EACAA,EAAA3yB,eAAAgzB,KAAAhe,EAAAhV,eAAAgzB,KACAhe,EAAAge,GAAAL,EAAAK,IAqCA,OAlCAhe,EAAAnB,QACAmB,EAAAnB,MAAA9H,OAAAiJ,EAAAnB,MAAA9H,KAAA,QAEA,WAAA5L,EAAA6U,EAAAM,UAAAN,EAAAM,UACAN,EAAAM,QAAA8E,OAAApF,EAAAM,QAAA8E,KAAA,UAEApF,EAAAxL,YACAwL,EAAAxL,SAAAuC,OAAAiJ,EAAAxL,SAAAuC,KAAA,WACAiJ,EAAAxL,SAAAwZ,WAAAhO,EAAAxL,SAAAwZ,SAAA,SACAhO,EAAAxL,SAAA2N,SAAAnC,EAAAxL,SAAA2N,OAAA,SACAnC,EAAAxL,SAAAxC,QAAAgO,EAAAxL,SAAAxC,MAAA,SAEAgO,EAAAnB,MAAAsL,UACAnK,EAAAnB,MAAA/H,IAAAkJ,EAAAnB,MAAAsL,QAAAnK,EAAAnB,MAAAyW,gBAAAxe,KAEAkJ,EAAAkY,OACAlY,EAAAkY,KAAAlY,EAAAkY,KAAAne,eAEAiG,EAAAoB,YAAApB,EAAAoB,YAAA1F,SAEAiJ,KAAA,aACAtD,MAAA,SAAAhD,GACAA,EAAAO,UAAAqf,aAIAtZ,KAAA,eACAqG,KAAA,sBAGArG,KAAA,kBACAqG,KAAA,0CAGAhL,iCCnEAnW,OAAAC,eAAAnB,EAAA,cAA8CyB,OAAA,IAC9CzB,EAAA4J,QAAA,SAAA6Z,GACA,IAAA9gB,EAAAwE,KAAAxE,YACA,OAAAwE,KAAAyK,KAAA,SAAAnQ,GACA,OAAAkB,EAAA2M,QAAAmU,KAAA7R,KAAA,WACA,OAAAnQ,KAEK,SAAAmuB,GACL,OAAAjtB,EAAA2M,QAAAmU,KAAA7R,KAAA,WACA,OAAAjP,EAAA4M,OAAAqgB,sDCTA,SAAAvE,EAAAjjB,GAEA,IAAAijB,EAAAkK,aAAA,CAGA,IAIAC,EAuGA9J,EAVA+J,EAhBAC,EACAC,EAlFAC,EAAA,EACAC,KACAC,GAAA,EACAC,EAAA1K,EAAA5mB,SAyHAuxB,EAAA90B,OAAA+0B,gBAAA/0B,OAAA+0B,eAAA5K,GACA2K,OAAAxjB,WAAAwjB,EAAA3K,EACU,wBAAAxoB,SAAAlC,KAAA0qB,EAAA9e,SAhEVipB,EAAA,SAAAU,GACA3pB,EAAAiH,SAAA,WACA2iB,EAAAD,OAIA,WACA,GAAA7K,EAAA+K,cAAA/K,EAAAgL,cAAA,CACA,IAAAC,GAAA,EACAC,EAAAlL,EAAAmL,UAMA,OALAnL,EAAAmL,UAAA,WACAF,GAAA,GAEAjL,EAAA+K,YAAA,QACA/K,EAAAmL,UAAAD,EACAD,GAmDKG,GAEApL,EAAAqL,iBAjCLjB,EAAA,IAAAiB,gBACAC,MAAAH,UAAA,SAAA7d,GAEAwd,EADAxd,EAAAlM,OAGA+oB,EAAA,SAAAU,GACAT,EAAAmB,MAAAR,YAAAF,KA6BKH,GAAA,uBAAAA,EAAAzuB,cAAA,WAzBLokB,EAAAqK,EAAAnvB,gBACA4uB,EAAA,SAAAU,GACA,IAAAW,EAAAd,EAAAzuB,cAAA,UACAuvB,EAAAC,mBAAA,WACAX,EAAAD,GACAW,EAAAC,mBAAA,KACApL,EAAA/jB,YAAAkvB,GACAA,EAAA,MAEAnL,EAAAjkB,YAAAovB,KAIArB,EAAA,SAAAU,GACA1jB,WAAA2jB,EAAA,EAAAD,KAxCAR,EAAA,gBAAA9vB,KAAAmxB,SAAA,IACApB,EAAA,SAAAhd,GACAA,EAAAmX,SAAAzE,GAAA,iBAAA1S,EAAAlM,MAAA,IAAAkM,EAAAlM,KAAAgE,QAAAilB,IACAS,GAAAxd,EAAAlM,KAAA/C,MAAAgsB,EAAAtyB,UAGAioB,EAAA9Z,iBACA8Z,EAAA9Z,iBAAA,UAAAokB,GAAA,GAEAtK,EAAA2L,YAAA,YAAArB,GAEAH,EAAA,SAAAU,GACA7K,EAAA+K,YAAAV,EAAAQ,EAAA,OA4CAF,EAAAT,aApIA,SAAA9R,GACA,mBAAAA,IACAA,EAAA,IAAAhW,SAAA,GAAAgW,IAGA,IADA,IAAA1R,EAAA,IAAAC,MAAAnN,UAAAzB,OAAA,GACA5C,EAAA,EAAuBA,EAAAuR,EAAA3O,OAAiB5C,IACxCuR,EAAAvR,GAAAqE,UAAArE,EAAA,GAEA,IAAAy2B,GACAxT,WACA1R,QAIA,OAFA8jB,EAAAD,GAAAqB,EACAzB,EAAAI,GACAA,KAuHAI,EAAAkB,iBArHA,SAAAA,EAAAhB,UACAL,EAAAK,GAuBA,SAAAC,EAAAD,GACA,GAAAJ,EACAtjB,WAAA2jB,EAAA,EAAAD,OACS,CACT,IAAAe,EAAApB,EAAAK,GACA,GAAAe,EAAA,CACAnB,GAAA,EACA,KA5BA,SAAAmB,GACA,IAAAxT,EAAAwT,EAAAxT,SACA1R,EAAAklB,EAAAllB,KACA,OAAAA,EAAA3O,QACA,OACAqgB,IACA,MACA,OACAA,EAAA1R,EAAA,IACA,MACA,OACA0R,EAAA1R,EAAA,GAAAA,EAAA,IACA,MACA,OACA0R,EAAA1R,EAAA,GAAAA,EAAA,GAAAA,EAAA,IACA,MACA,QACA0R,EAAAxR,MAAA7J,EAAA2J,IAYAmB,CAAA+jB,GACiB,QACjBC,EAAAhB,GACAJ,GAAA,MA7DA,CAgJC,oBAAAqB,UAAA,IAAA9L,OAAAjjB,EAAAijB,EAAA8L,4DChJD,IAAAllB,EAAAxE,SAAArL,UAAA6P,MAYA,SAAAmlB,EAAAvf,EAAAwf,GACAlwB,KAAAmwB,IAAAzf,EACA1Q,KAAAowB,SAAAF,EAbAr3B,EAAAwS,WAAA,WACA,WAAA4kB,EAAAnlB,EAAAtR,KAAA6R,WAAApS,OAAAyE,WAAA4N,eAEAzS,EAAAgkB,YAAA,WACA,WAAAoT,EAAAnlB,EAAAtR,KAAAqjB,YAAA5jB,OAAAyE,WAAA6f,gBAEA1kB,EAAAyS,aAAAzS,EAAA0kB,cAAA,SAAA3X,GACAA,GACAA,EAAAyqB,SAOAJ,EAAAh1B,UAAAq1B,MAAAL,EAAAh1B,UAAAs1B,IAAA,aAEAN,EAAAh1B,UAAAo1B,MAAA,WACArwB,KAAAowB,SAAA52B,KAAAP,OAAA+G,KAAAmwB,MAEAt3B,EAAA23B,OAAA,SAAApf,EAAAqf,GACAnlB,aAAA8F,EAAAsf,gBACAtf,EAAAuf,aAAAF,GAEA53B,EAAA+3B,SAAA,SAAAxf,GACA9F,aAAA8F,EAAAsf,gBACAtf,EAAAuf,cAAA,GAEA93B,EAAAg4B,aAAAh4B,EAAAi4B,OAAA,SAAA1f,GACA9F,aAAA8F,EAAAsf,gBACA,IAAAD,EAAArf,EAAAuf,aACAF,GAAA,IACArf,EAAAsf,eAAArlB,WAAA,WACA+F,EAAA2f,YACA3f,EAAA2f,cACSN,KAGTt3B,EAAA,IACAN,EAAAu1B,0BACAv1B,EAAAk3B,yECzCAh2B,OAAAC,eAAAnB,EAAA,cAA8CyB,OAAA,IAC9C,IAOAiB,EAPAF,EAAA,mBAAAjB,QAAA,iBAAAA,OAAAkB,SAAA,SAAAC,GACA,cAAAA,GACC,SAAAA,GACD,OAAAA,GAAA,mBAAAnB,QAAAmB,EAAAC,cAAApB,QAAAmB,IAAAnB,OAAAa,UAAA,gBAAAM,GAEAy1B,EAAA73B,EAAA,IACA83B,GACA11B,EADAy1B,IAEAz1B,EAAAd,WAAAc,GAA0CkH,QAAAlH,GAE1C,IAAA21B,EAAA7lB,WACA,SAAAe,KAOA,SAAAlE,EAAAlM,GACA,KAAAgE,gBAAAkI,GACA,UAAAwG,UAAA,wCACA,sBAAA1S,EACA,UAAA0S,UAAA,kBACA1O,KAAAmxB,OAAA,EACAnxB,KAAAoxB,UAAA,EACApxB,KAAAqxB,YAAApwB,EACAjB,KAAAsxB,cACAC,EAAAv1B,EAAAgE,MAEA,SAAA+uB,EAAAiB,EAAAwB,GACA,SAAAxB,EAAAmB,QACAnB,IAAAqB,OAEA,IAAArB,EAAAmB,QAIAnB,EAAAoB,UAAA,EACAlpB,EAAAupB,aAAA,WACA,IAAAC,EAAA,IAAA1B,EAAAmB,OAAAK,EAAAG,YAAAH,EAAAI,WACA,UAAAF,EAAA,CAIA,IAAAG,EACA,IACAA,EAAAH,EAAA1B,EAAAqB,QACS,MAAA1rB,GAET,YADAyC,EAAAopB,EAAAhnB,QAAA7E,GAGAwC,EAAAqpB,EAAAhnB,QAAAqnB,QAVA,IAAA7B,EAAAmB,OAAAhpB,EAAAC,GAAAopB,EAAAhnB,QAAAwlB,EAAAqB,WAPArB,EAAAsB,WAAAhlB,KAAAklB,GAoBA,SAAArpB,EAAA6nB,EAAA8B,GACA,IACA,GAAAA,IAAA9B,EACA,UAAAthB,UAAA,6CACA,GAAAojB,IAAA,qBAAAA,EAAA,YAAAz2B,EAAAy2B,KAAA,mBAAAA,GAAA,CACA,IAAArnB,EAAAqnB,EAAArnB,KACA,GAAAqnB,aAAA5pB,EAIA,OAHA8nB,EAAAmB,OAAA,EACAnB,EAAAqB,OAAAS,OACAC,EAAA/B,GAEa,sBAAAvlB,EAEb,YADA8mB,GArDAv1B,EAqDAyO,EArDA3M,EAqDAg0B,EApDA,WACA91B,EAAA8O,MAAAhN,EAAAJ,aAmDAsyB,GAIAA,EAAAmB,OAAA,EACAnB,EAAAqB,OAAAS,EACAC,EAAA/B,GACK,MAAArqB,GACLyC,EAAA4nB,EAAArqB,GA7DA,IAAA3J,EAAA8B,EAgEA,SAAAsK,EAAA4nB,EAAA8B,GACA9B,EAAAmB,OAAA,EACAnB,EAAAqB,OAAAS,EACAC,EAAA/B,GAEA,SAAA+B,EAAA/B,GACA,IAAAA,EAAAmB,QAAA,IAAAnB,EAAAsB,WAAAr1B,QACAiM,EAAAupB,aAAA,WACAzB,EAAAoB,UACAlpB,EAAA8pB,sBAAAhC,EAAAqB,UAIA,QAAAh4B,EAAA,EAAAyS,EAAAkkB,EAAAsB,WAAAr1B,OAAiD5C,EAAAyS,EAASzS,IAC1D01B,EAAAiB,IAAAsB,WAAAj4B,IAEA22B,EAAAsB,WAAA,KAOA,SAAAC,EAAAv1B,EAAAg0B,GACA,IAAAiC,GAAA,EACA,IACAj2B,EAAA,SAAA1B,GACA23B,IAEAA,GAAA,EACA9pB,EAAA6nB,EAAA11B,KACS,SAAAmuB,GACTwJ,IAEAA,GAAA,EACA7pB,EAAA4nB,EAAAvH,MAEK,MAAAyJ,GACL,GAAAD,EACA,OACAA,GAAA,EACA7pB,EAAA4nB,EAAAkC,IAGAhqB,EAAAjN,UAAA,eAAA22B,GACA,OAAA5xB,KAAAyK,KAAA,KAAAmnB,IAEA1pB,EAAAjN,UAAAwP,KAAA,SAAAknB,EAAAC,GACA,IAAAO,EAAA,IAAAnyB,KAAAxE,YAAA4Q,GAEA,OADA2iB,EAAA/uB,KAAA,IA/BA,SAAA2xB,EAAAC,EAAApnB,GACAxK,KAAA2xB,YAAA,mBAAAA,IAAA,KACA3xB,KAAA4xB,WAAA,mBAAAA,IAAA,KACA5xB,KAAAwK,UA4BA,CAAAmnB,EAAAC,EAAAO,IACAA,GAEAjqB,EAAAjN,UAAA,QAAAg2B,EAAAxuB,QACAyF,EAAAklB,IAAA,SAAA/E,GACA,WAAAngB,EAAA,SAAAC,EAAAC,GACA,IAAAigB,QAAA,IAAAA,EAAApsB,OACA,UAAAyS,UAAA,gCACA,IAAA9D,EAAAC,MAAA5P,UAAAsH,MAAA/I,KAAA6uB,GACA,OAAAzd,EAAA3O,OACA,OAAAkM,MACA,IAAAiqB,EAAAxnB,EAAA3O,OACA,SAAAo2B,EAAAh5B,EAAAuC,GACA,IACA,GAAAA,IAAA,qBAAAA,EAAA,YAAAP,EAAAO,KAAA,mBAAAA,GAAA,CACA,IAAA6O,EAAA7O,EAAA6O,KACA,sBAAAA,EAIA,YAHAA,EAAAjR,KAAAoC,EAAA,SAAAA,GACAy2B,EAAAh5B,EAAAuC,IACyBwM,GAIzBwC,EAAAvR,GAAAuC,EACA,KAAAw2B,GACAjqB,EAAAyC,GAEa,MAAAsnB,GACb9pB,EAAA8pB,IAGA,QAAA74B,EAAA,EAAuBA,EAAAuR,EAAA3O,OAAiB5C,IACxCg5B,EAAAh5B,EAAAuR,EAAAvR,OAIA6O,EAAAC,QAAA,SAAA7N,GACA,OAAAA,GAAA,qBAAAA,EAAA,YAAAe,EAAAf,OAAAkB,cAAA0M,EACA5N,EAEA,IAAA4N,EAAA,SAAAC,GACAA,EAAA7N,MAGA4N,EAAAE,OAAA,SAAA9N,GACA,WAAA4N,EAAA,SAAAC,EAAAC,GACAA,EAAA9N,MAGA4N,EAAAoqB,KAAA,SAAAC,GACA,WAAArqB,EAAA,SAAAC,EAAAC,GACA,QAAA/O,EAAA,EAAAyS,EAAAymB,EAAAt2B,OAA4C5C,EAAAyS,EAASzS,IACrDk5B,EAAAl5B,GAAAoR,KAAAtC,EAAAC,MAIAF,EAAAupB,aAAA,mBAAArD,GAAA,SAAApyB,GACAoyB,EAAApyB,KACC,SAAAA,GACDk1B,EAAAl1B,EAAA,IAEAkM,EAAA8pB,sBAAA,SAAAQ,GACA,oBAAApS,kBACAA,QAAAqS,KAAA,wCAAAD,IAGA35B,EAAA4J,QAAAyF,gECjMAnO,OAAAC,eAAAnB,EAAA,cAA8CyB,OAAA,IAC9C,IAAAsT,EAAA,WACA,SAAAC,EAAAC,EAAAC,GACA,QAAA1U,EAAA,EAAuBA,EAAA0U,EAAA9R,OAAkB5C,IAAA,CACzC,IAAA2U,EAAAD,EAAA1U,GACA2U,EAAA/T,WAAA+T,EAAA/T,aAAA,EACA+T,EAAAC,cAAA,EACA,UAAAD,IACAA,EAAAE,UAAA,GACAnU,OAAAC,eAAA8T,EAAAE,EAAApT,IAAAoT,IAGA,gBAAAG,EAAAC,EAAAC,GAKA,OAJAD,GACAP,EAAAM,EAAAlT,UAAAmT,GACAC,GACAR,EAAAM,EAAAE,GACAF,GAhBA,GAoBAukB,EAAA/vB,EADAxJ,EAAA,KAGAwa,EAAAhR,EADAxJ,EAAA,IAGAw5B,EAAAhwB,EADAxJ,EAAA,KAGAy5B,EAAAjwB,EADAxJ,EAAA,KAGA05B,EAAAlwB,EADAxJ,EAAA,KAGA+d,EAAAvU,EADAxJ,EAAA,IAGA25B,EAAAnwB,EADAxJ,EAAA,KAGA45B,EAAApwB,EADAxJ,EAAA,KAGA65B,EAAArwB,EADAxJ,EAAA,KAGA85B,EAAAtwB,EADAxJ,EAAA,KAGAsK,EAAAd,EADAxJ,EAAA,KAGA+5B,EAAAvwB,EADAxJ,EAAA,KAGAg6B,EAAAxwB,EADAxJ,EAAA,KAGAi6B,EAAAzwB,EADAxJ,EAAA,KAGAk6B,EAAA1wB,EADAxJ,EAAA,KAGA+J,EAAAP,EADAxJ,EAAA,KAGAiK,EAAAT,EADAxJ,EAAA,KAGAm6B,EAAA3wB,EADAxJ,EAAA,KAGAo6B,EAAA5wB,EADAxJ,EAAA,KAGAq6B,EAAA7wB,EADAxJ,EAAA,KAGAs6B,EAAA9wB,EADAxJ,EAAA,IAEA,SAAAwJ,EAAApH,GACA,OAAAA,KAAAd,WAAAc,GAA0CkH,QAAAlH,GAO1C,IAAA8V,EAAA,EACAqiB,KACAC,EAAA,WACA,SAAAA,EAAAzjB,GACA,IAAA1B,EAAAxO,MATA,SAAAyO,EAAAN,GACA,KAAAM,aAAAN,GACA,UAAAO,UAAA,qCAQAC,CAAA3O,KAAA2zB,GACA3zB,KAAAkQ,SAAA,EAAAyiB,EAAAlwB,SAAAyN,GACAlQ,KAAAkQ,QAAAnB,MAAAsL,UACAra,KAAA4zB,aAAA5zB,KAAAkQ,QAAAnB,MAAAyW,eACAxlB,KAAAqa,QAAAra,KAAAkQ,QAAAnB,MAAAsL,QAAAra,KAAAkQ,QAAAnB,MAAAyW,iBAEAxlB,KAAA+U,KAAA,IAAA6d,EAAAnwB,QAAAzC,KAAAkQ,QAAAkY,MAAArT,KACA/U,KAAAsS,OAAA,IAAAygB,EAAAtwB,QACAzC,KAAAsV,KAAA,IAAA2d,EAAAxwB,QAAAzC,MACAA,KAAA4O,UAAA5O,KAAAkQ,QAAAtB,UACA5O,KAAA4O,UAAAY,UAAAG,IAAA,WACA3P,KAAAkQ,QAAAM,SACAxQ,KAAA4O,UAAAY,UAAAG,IAAA,sBAEA3P,KAAAkQ,QAAAqV,MACAvlB,KAAA4O,UAAAY,UAAAG,IAAA,gBAEAgE,EAAAlR,QAAAvE,UACA8B,KAAA4O,UAAAY,UAAAG,IAAA,kBAEA3P,KAAA6zB,MAAA7zB,KAAA4O,UAAAqD,aAAA,IACAjS,KAAA6zB,OACA7zB,KAAA4O,UAAAY,UAAAG,IAAA,iBAEA3P,KAAA6O,SAAA,IAAAgkB,EAAApwB,SACAmM,UAAA5O,KAAA4O,UACAsB,QAAAlQ,KAAAkQ,QACAmB,QACA0D,KAAA/U,KAAA+U,OAEA/U,KAAA+O,MAAA/O,KAAA6O,SAAAE,MACA/O,KAAAgW,IAAA,IAAAkd,EAAAzwB,QAAAzC,KAAA6O,UACA7O,KAAA4lB,MAAA,IAAAwN,EAAA3wB,QAAAzC,KAAA6O,SAAA+W,OACA5lB,KAAAwT,WAAA,IAAAwf,EAAAvwB,QAAAzC,MACAA,KAAAqT,WAAA,IAAAggB,EAAA5wB,QAAAzC,MACAA,KAAAkQ,QAAAM,UACAxQ,KAAAwQ,QAAA,IAAAsiB,EAAArwB,SACAmM,UAAA5O,KAAA6O,SAAA2B,QACAyF,QAAAjW,KAAAsV,KAAApb,IAAA,WACAoiB,SAAA,WACAjR,WAAA,WACAmD,EAAAK,SAAA8W,eAAAvlB,MAAAyW,QAAA,OACArI,EAAA0B,QAAA4d,UACAtf,EAAA5K,QAEqB,IAErB8D,MAAA,SAAAga,GACAlT,EAAAsG,OAAA4M,IAEAF,WAAAxhB,KAAAkQ,QAAAsR,WACAS,YAAAjiB,KAAAkQ,QAAAoV,MACAlT,OAAApS,KAAA6zB,MAAA,MACAtb,KAAA,WACA,OAAA/J,EAAAO,MAAAqE,aAEAuL,UAAA3e,KAAAsV,KAAApb,IAAA,aACA0W,KACAF,GAAA1Q,KAAAkQ,QAAAM,QAAAE,GACAoQ,QAAA9gB,KAAAkQ,QAAAM,QAAAI,IACAgR,MAAA5hB,KAAAkQ,QAAAM,QAAAoR,MACAf,QAAA7gB,KAAAkQ,QAAAM,QAAAqQ,QACAG,SAAAhhB,KAAAkQ,QAAAM,QAAAwQ,SACA1L,KAAAtV,KAAAkQ,QAAAM,QAAA8E,MAEAhD,OAAAtS,KAAAsS,OACAyC,KAAA,SAAA2M,GACA,OAAAlT,EAAAuG,KAAA2M,MAGA1hB,KAAAqE,QAAA,IAAAjB,EAAAX,QAAAzC,OAEAA,KAAAmE,QAAA,IAAAjB,EAAAT,QAAAzC,MACA1C,SAAA8M,iBAAA,mBACAoE,EAAAkE,OAAA,IACS,GACT1S,KAAA4O,UAAAxE,iBAAA,mBACAoE,EAAAkE,OAAA,IACS,GACT1S,KAAA4b,QAAA,EACA5b,KAAAsP,MAAA,IAAA6jB,EAAA1wB,QAAAzC,MACAA,KAAAyS,OAAA,IAAA6gB,EAAA7wB,QAAAzC,MACAA,KAAAsR,YAAA,IAAAiiB,EAAA9wB,QAAAzC,MACAA,KAAA8zB,UAAA9zB,KAAA+O,MAAA/O,KAAAqa,SAAAra,KAAAqa,QAAApT,MAAAjH,KAAAkQ,QAAAnB,MAAA9H,MACAjH,KAAA8O,UAAA,IAAA0kB,EAAA/wB,QAAAzC,OACAA,KAAAwQ,SAAAxQ,KAAAkQ,QAAA4d,UACA9tB,KAAA4D,OAEAyN,IACAqiB,EAAApnB,KAAAtM,MAqZA,OAnZA4N,EAAA+lB,IAEA/4B,IAAA,OACAN,MAAA,SAAAie,GACAA,EAAA9Z,KAAA4X,IAAAkC,EAAA,GACAvY,KAAA+O,MAAAwB,WACAgI,EAAA9Z,KAAAE,IAAA4Z,EAAAvY,KAAA+O,MAAAwB,WAEAvQ,KAAA+O,MAAAqE,YAAAmF,EACAvY,KAAA8U,OAAA9U,KAAA+U,KAAA,WAAAwD,EAAAvY,KAAA+O,MAAAqE,aAAApC,QAAA,OAAAhR,KAAA+U,KAAA,MACiB/U,KAAA+O,MAAAqE,YAAAmF,GACjBvY,KAAA8U,OAAA9U,KAAA+U,KAAA,YAAA/U,KAAA+O,MAAAqE,YAAAmF,GAAAvH,QAAA,OAAAhR,KAAA+U,KAAA,MAEA/U,KAAA+O,MAAAqE,YAAAmF,EACAvY,KAAAwQ,SACAxQ,KAAAwQ,QAAA2C,OAEAnT,KAAAgW,IAAAzU,IAAA,SAAAgX,EAAAvY,KAAA+O,MAAAwB,SAAA,SACAvQ,KAAA6O,SAAAqK,MAAAnJ,UAAA4D,EAAAlR,QAAAnE,aAAAia,MAIA3d,IAAA,OACAN,MAAA,WACA,IAAAqa,EAAA3U,KAiBA,GAhBAA,KAAA4b,QAAA,EACA5b,KAAA+O,MAAA6M,QACA5b,KAAA4lB,MAAAmO,OAAA7c,EAAAzU,QAAAmB,MAEA5D,KAAA6O,SAAAiJ,WAAA/H,UAAAmH,EAAAzU,QAAAoB,MACA6uB,EAAAjwB,QAAA0F,QAAAnI,KAAA+O,MAAAnL,QACA8pB,MAAA,WACA/Y,EAAA9Q,UACiB4G,KAAA,cAEjBzK,KAAAsP,MAAAC,OAAA,WACAvP,KAAA4O,UAAAY,UAAAC,OAAA,kBACAzP,KAAA4O,UAAAY,UAAAG,IAAA,mBACA3P,KAAAwQ,SACAxQ,KAAAwQ,QAAA5M,OAEA5D,KAAAkQ,QAAA+d,MACA,QAAA50B,EAAA,EAAmCA,EAAAq6B,EAAAz3B,OAAsB5C,IACzD2G,OAAA0zB,EAAAr6B,IACAq6B,EAAAr6B,GAAAwK,WAOAjJ,IAAA,QACAN,MAAA,WACA0F,KAAA4b,QAAA,EACA5b,KAAA4O,UAAAY,UAAAC,OAAA,mBACAzP,KAAA+O,MAAA6M,QACA5b,KAAA4lB,MAAAmO,OAAA7c,EAAAzU,QAAAoB,OAEA7D,KAAA6O,SAAAiJ,WAAA/H,UAAAmH,EAAAzU,QAAAmB,KACA5D,KAAA+O,MAAAlL,QACA7D,KAAAsP,MAAAI,QAAA,WACA1P,KAAA4O,UAAAY,UAAAC,OAAA,mBACAzP,KAAA4O,UAAAY,UAAAG,IAAA,kBACA3P,KAAAwQ,SACAxQ,KAAAwQ,QAAA3M,WAKAjJ,IAAA,mBACAN,MAAA,WACA0F,KAAAuT,UAAA,IACAvT,KAAA6O,SAAAsL,WAAApK,UAAAmH,EAAAzU,QAAAqB,SACiB9D,KAAAuT,SAAA,EACjBvT,KAAA6O,SAAAsL,WAAApK,UAAAmH,EAAAzU,QAAAsB,WAEA/D,KAAA6O,SAAAsL,WAAApK,UAAAmH,EAAAzU,QAAAuB,aAKApJ,IAAA,SACAN,MAAA,SAAA0Y,EAAAghB,EAAAC,GAEA,GADAjhB,EAAAgL,WAAAhL,IACAkhB,MAAAlhB,GAAA,CACAA,EAAAvU,KAAA4X,IAAArD,EAAA,GACAA,EAAAvU,KAAAE,IAAAqU,EAAA,GACAhT,KAAAgW,IAAAzU,IAAA,SAAAyR,EAAA,SACA,IAAAmhB,GAAA,IAAAnhB,GAAAhC,QAAA,OACAhR,KAAA6O,SAAAkL,kBAAAhE,QAAAyF,QAAA2Y,EACAH,GACAh0B,KAAAsV,KAAA/T,IAAA,SAAAyR,GAEAihB,GACAj0B,KAAA8U,OAAA9U,KAAA+U,KAAA,mBAAA/B,GAAAhC,QAAA,QAEAhR,KAAA+O,MAAAwE,OAAAP,EACAhT,KAAA+O,MAAAkL,QACAja,KAAA+O,MAAAkL,OAAA,GAEAja,KAAAka,mBAEA,OAAAla,KAAA+O,MAAAwE,UAIA3Y,IAAA,SACAN,MAAA,WACA0F,KAAA+O,MAAA6M,OACA5b,KAAA4D,OAEA5D,KAAA6D,WAKAjJ,IAAA,KACAN,MAAA,SAAAV,EAAA0iB,GACAtc,KAAAsS,OAAAzF,GAAAjT,EAAA0iB,MAIA1hB,IAAA,cACAN,MAAA,SAAAyU,EAAAqlB,GACAp0B,KAAA6D,QACA7D,KAAA+O,MAAAslB,OAAAtlB,EAAApI,IAAAoI,EAAApI,IAAA,GACA3G,KAAA+O,MAAAulB,IAAAvlB,EAAA/H,IACAhH,KAAAu0B,QAAAv0B,KAAA+O,QAAA9H,MAAA,QACAmtB,IACAp0B,KAAA6O,SAAA8W,eAAAvlB,MAAAyW,QAAA,QACA7W,KAAAgW,IAAAzU,IAAA,oBACAvB,KAAAgW,IAAAzU,IAAA,oBACAvB,KAAA6O,SAAAqK,MAAAnJ,UAAA,QACA/P,KAAA6O,SAAA2B,QAAAT,UAAA,GACA/P,KAAAwQ,SACAxQ,KAAAwQ,QAAAgkB,QACA9jB,GAAA0jB,EAAA1jB,GACAoQ,QAAAsT,EAAAxjB,IACAgR,MAAAwS,EAAAxS,MACAf,QAAAuT,EAAAvT,QACAG,SAAAoT,EAAApT,SACA1L,KAAA8e,EAAA9e,WAOA1a,IAAA,UACAN,MAAA,SAAAyU,EAAA9H,GACA,IAAAgR,EAAAjY,KAEA,GADAA,KAAAiH,OACAjH,KAAAkQ,QAAAnB,MAAA0lB,YAAAz0B,KAAAkQ,QAAAnB,MAAA0lB,WAAAxtB,GACA,sBAAAlN,OAAAkB,UAAAS,SAAAlC,KAAAwG,KAAAkQ,QAAAnB,MAAA0lB,WAAAxtB,IACAjH,KAAAkQ,QAAAnB,MAAA0lB,WAAAxtB,GAAAjH,KAAA+O,MAAA/O,MAEAogB,QAAA1Y,MAAA,uBAAAT,QAiBA,OAdA,SAAAjH,KAAAiH,OACA,gBAAAwd,KAAA1V,EAAAulB,KACAt0B,KAAAiH,KAAA,MACyB,gBAAAwd,KAAA1V,EAAAulB,KACzBt0B,KAAAiH,KAAA,MACyB,gBAAAwd,KAAA1V,EAAAulB,KACzBt0B,KAAAiH,KAAA,OAEAjH,KAAAiH,KAAA,UAGA,QAAAjH,KAAAiH,OAAA8H,EAAA2lB,YAAA,0BAAA3lB,EAAA2lB,YAAA,oCACA10B,KAAAiH,KAAA,UAEAjH,KAAAiH,MACA,UACA,GAAA0tB,IACA,GAAAA,IAAAC,cAAA,CACA,IAAAC,EAAA,IAAAF,IACAE,EAAAC,WAAA/lB,EAAAulB,KACAO,EAAAE,YAAAhmB,QAEA/O,KAAA8U,OAAA,qCAGA9U,KAAA8U,OAAA,0BAEA,MACA,UACA,GAAAkgB,aAAAJ,cACA,GAAAI,MAAAJ,cAAA,CACA,IAAAK,EAAAD,MAAAE,cACAjuB,KAAA,MACAD,IAAA+H,EAAAulB,MAEAW,EAAAE,mBAAApmB,GACAkmB,EAAAtU,YAEA3gB,KAAA8U,OAAA,uCAGA9U,KAAA8U,OAAA,4BAEA,MACA,WACAsgB,OACAA,OAAAC,cAAA16B,SAAA26B,WAAAvmB,IAAAulB,KAAA,GAEAt0B,KAAA8U,OAAA,6BAEA,MACA,iBACA,GAAAygB,WACA,GAAAA,WAAAC,eAAA,CACAx1B,KAAA4O,UAAAY,UAAAG,IAAA,mBACA,IAAA8lB,EAAA,IAAAF,WACAG,EAAA3mB,EAAAulB,IACAmB,EAAA9lB,IAAA+lB,EAAA,SAAAC,GACAA,EAAAC,MAAAC,KAAA,SAAAC,GACA,OAAAA,EAAAl8B,KAAAm8B,SAAA,UAEAC,SAAA/d,EAAAlJ,OAAiE+e,SAAA7V,EAAA/H,QAAA4d,UAAoC,WACrG7V,EAAArJ,UAAAY,UAAAC,OAAA,4BAIAzP,KAAA8U,OAAA,4CAGA9U,KAAA8U,OAAA,qCAQAla,IAAA,YACAN,MAAA,SAAAyU,EAAA9H,GACA,IAAAyR,EAAA1Y,KACAA,KAAAu0B,QAAAxlB,EAAA9H,GACAjH,KAAA6M,GAAA,4BACA,IAAAkC,EAAAwB,UAAAxB,EAAAwB,WAAA2H,MACAQ,EAAA7J,SAAAgX,MAAA9V,UAAA4D,EAAAlR,QAAAnE,aAAAyQ,EAAAwB,aAGAvQ,KAAA6M,GAAA,sBACA,IAAAmG,EAAAjE,EAAAknB,SAAAh6B,OAAA8S,EAAAknB,SAAAC,IAAAnnB,EAAAknB,SAAAh6B,OAAA,GAAA8S,EAAAwB,SAAA,EACAmI,EAAA1C,IAAAzU,IAAA,SAAAyR,EAAA,WAEAhT,KAAA6M,GAAA,mBACA6L,EAAA3J,MAAArH,OAGAgR,EAAA3D,MAAA2D,EAAA5D,SAAA4D,EAAAzR,KAAAyR,EAAA5D,OAAA4D,EAAA3D,KAAA,4BAEA/U,KAAA6M,GAAA,mBACA6L,EAAA1C,IAAAzU,IAAA,oBACAmX,EAAAvU,QAAA+Q,MAGAwD,EAAAvF,KAAA,GACAuF,EAAA9U,QAHA8U,EAAA7U,QAKA6U,EAAAlI,UACAkI,EAAAlI,QAAA+P,SAAA,KAGAvgB,KAAA6M,GAAA,kBACA6L,EAAAkD,QACAlD,EAAA9U,SAGA5D,KAAA6M,GAAA,mBACA6L,EAAAkD,QACAlD,EAAA7U,UAGA7D,KAAA6M,GAAA,wBACA6L,EAAA1C,IAAAzU,IAAA,SAAAmX,EAAA3J,MAAAqE,YAAAsF,EAAA3J,MAAAwB,SAAA,SACA,IAAA6C,EAAAO,EAAAlR,QAAAnE,aAAAoa,EAAA3J,MAAAqE,aACAsF,EAAA7J,SAAAqK,MAAAnJ,YAAAqD,IACAsF,EAAA7J,SAAAqK,MAAAnJ,UAAAqD,KAQA,IALA,IAAAyC,EAAA,SAAAxc,GACA0V,EAAA3E,iBAAAsO,EAAApG,OAAA2N,YAAA5mB,GAAA,WACAqf,EAAApG,OAAAC,QAAAmG,EAAApG,OAAA2N,YAAA5mB,OAGAA,EAAA,EAA+BA,EAAA2G,KAAAsS,OAAA2N,YAAAhkB,OAAoC5C,IACnEwc,EAAAxc,GAEA2G,KAAAuT,OAAAvT,KAAAsV,KAAApb,IAAA,iBACA8F,KAAAkQ,QAAAxL,WACA1E,KAAA0E,SAAA,IAAAjB,EAAAhB,QAAAzC,KAAA6O,SAAAnK,SAAA1E,KAAA+O,MAAA/O,KAAAkQ,QAAAxL,SAAA1E,KAAAsS,QACAtS,KAAAsV,KAAApb,IAAA,aACA8F,KAAA0E,SAAAuK,WAMArU,IAAA,gBACAN,MAAA,SAAA+W,GACA,IAAA0H,EAAA/Y,KACA,GAAAA,KAAA4zB,eAAAviB,IAAArR,KAAAm2B,iBAAA,CAGAn2B,KAAA4zB,aAAAviB,EAEArR,KAAAm2B,kBAAA,EACAn2B,KAAAqa,QAAAra,KAAAkQ,QAAAnB,MAAAsL,QAAAhJ,GACArR,KAAA6O,SAAAiX,cAAA/V,UAAA/P,KAAAqa,QAAAzgB,KACA,IAAAgiB,EAAA5b,KAAA+O,MAAA6M,OACA5b,KAAA+O,MAAAlL,QACA,IAAAuyB,GAAA,EAAA3C,EAAAhxB,UACArD,SAAA,EACAuH,IAAA,KACAG,WAAA9G,KAAAkQ,QAAApJ,WACAC,QAAA,OACAC,IAAAhH,KAAAqa,QAAArT,IACAtC,SAAA1E,KAAAkQ,QAAAxL,WAEA2xB,GAAA,IAAAC,WAAAC,gBAAAH,EAAA,aAAA72B,KAAAi3B,WACAx2B,KAAA6O,SAAAkJ,UAAAS,aAAA6d,EAAAr2B,KAAA6O,SAAAkJ,UAAA0e,qBAAA,WACAz2B,KAAA02B,UAAA12B,KAAA+O,MACA/O,KAAA+O,MAAAsnB,EACAr2B,KAAA8zB,UAAA9zB,KAAA+O,MAAA/O,KAAAqa,QAAApT,MAAAjH,KAAAkQ,QAAAnB,MAAA9H,MACAjH,KAAAmT,KAAAnT,KAAA02B,UAAAtjB,aACApT,KAAA8U,OAAA9U,KAAA+U,KAAA,oBAAA/U,KAAAqa,QAAAzgB,KAAA,IAAAoG,KAAA+U,KAAA,eACA/U,KAAAsS,OAAAC,QAAA,gBAAAvS,KAAAqa,SACAra,KAAA6M,GAAA,qBACA,GAAAkM,EAAA2d,UAAA,CACA,GAAA3d,EAAAhK,MAAAqE,cAAA2F,EAAA2d,UAAAtjB,YAEA,YADA2F,EAAA5F,KAAA4F,EAAA2d,UAAAtjB,aAGA2F,EAAAlK,SAAAkJ,UAAAvX,YAAAuY,EAAA2d,WACA3d,EAAAhK,MAAAS,UAAAG,IAAA,yBACAiM,GACA7C,EAAAhK,MAAAnL,OAEAmV,EAAA2d,UAAA,KACA3d,EAAAjE,OAAAiE,EAAAhE,KAAA,mBAAAgE,EAAAsB,QAAAzgB,KAAA,IAAAmf,EAAAhE,KAAA,YACAgE,EAAAod,kBAAA,EACApd,EAAAzG,OAAAC,QAAA,sBAMA3X,IAAA,SACAN,MAAA,SAAAua,GACA,IAAA2E,EAAAxZ,KACAuY,EAAA7a,UAAAzB,OAAA,QAAAgF,IAAAvD,UAAA,GAAAA,UAAA,OACAuY,EAAAvY,UAAAzB,OAAA,QAAAgF,IAAAvD,UAAA,GAAAA,UAAA,MACAsC,KAAA6O,SAAAiG,OAAA/E,UAAA8E,EACA7U,KAAA6O,SAAAiG,OAAA1U,MAAA6V,UACAjW,KAAA22B,YACArrB,aAAAtL,KAAA22B,YAEA32B,KAAAsS,OAAAC,QAAA,cAAAsC,GACA0D,EAAA,IACAvY,KAAA22B,WAAAtrB,WAAA,WACAmO,EAAA3K,SAAAiG,OAAA1U,MAAA6V,QAAA,EACAuD,EAAAlH,OAAAC,QAAA,gBACqBgG,OAKrB3d,IAAA,SACAN,MAAA,WACA0F,KAAAwQ,SACAxQ,KAAAwQ,QAAAsI,SAEA9Y,KAAAsS,OAAAC,QAAA,aAIA3X,IAAA,QACAN,MAAA,SAAAs8B,GACA52B,KAAA+O,MAAA8nB,aAAAD,KAIAh8B,IAAA,UACAN,MAAA,WACAo5B,EAAA5R,OAAA4R,EAAApqB,QAAAtJ,MAAA,GACAA,KAAA6D,QACA7D,KAAAqT,WAAAyjB,UACA92B,KAAAsP,MAAAwnB,UACA92B,KAAA+O,MAAAulB,IAAA,GACAt0B,KAAA4O,UAAAmB,UAAA,GACA/P,KAAAsS,OAAAC,QAAA,gBAIA3X,IAAA,UACAV,IAAA,WACA,mBAGAy5B,EAjfA,GAmfA96B,EAAA4J,QAAAkxB,oDC3jBA55B,OAAAC,eAAAnB,EAAA,cAA8CyB,OAAA,IAC9CnB,EAAA,IACA,IAEAoC,EAFAw7B,EAAA59B,EAAA,IACAssB,GACAlqB,EADAw7B,IAEAx7B,EAAAd,WAAAc,GAA0CkH,QAAAlH,GAE1C6kB,QAAA4W,IAAA,oHAAwK,uCACxKn+B,EAAA4J,QAAAgjB,EAAAhjB","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})(window, function() {\nreturn "," \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, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\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\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 78);\n","'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 bind = require('./helpers/bind');\nvar isBuffer = require('is-buffer');\nvar toString = Object.prototype.toString;\nfunction isArray(val) {\n    return toString.call(val) === '[object Array]';\n}\nfunction isArrayBuffer(val) {\n    return toString.call(val) === '[object ArrayBuffer]';\n}\nfunction isFormData(val) {\n    return typeof FormData !== 'undefined' && val instanceof FormData;\n}\nfunction isArrayBufferView(val) {\n    var result;\n    if (typeof ArrayBuffer !== 'undefined' && ArrayBuffer.isView) {\n        result = ArrayBuffer.isView(val);\n    } else {\n        result = val && val.buffer && val.buffer instanceof ArrayBuffer;\n    }\n    return result;\n}\nfunction isString(val) {\n    return typeof val === 'string';\n}\nfunction isNumber(val) {\n    return typeof val === 'number';\n}\nfunction isUndefined(val) {\n    return typeof val === 'undefined';\n}\nfunction isObject(val) {\n    return val !== null && (typeof val === 'undefined' ? 'undefined' : _typeof(val)) === 'object';\n}\nfunction isDate(val) {\n    return toString.call(val) === '[object Date]';\n}\nfunction isFile(val) {\n    return toString.call(val) === '[object File]';\n}\nfunction isBlob(val) {\n    return toString.call(val) === '[object Blob]';\n}\nfunction isFunction(val) {\n    return toString.call(val) === '[object Function]';\n}\nfunction isStream(val) {\n    return isObject(val) && isFunction(val.pipe);\n}\nfunction isURLSearchParams(val) {\n    return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams;\n}\nfunction trim(str) {\n    return str.replace(/^\\s*/, '').replace(/\\s*$/, '');\n}\nfunction isStandardBrowserEnv() {\n    if (typeof navigator !== 'undefined' && navigator.product === 'ReactNative') {\n        return false;\n    }\n    return typeof window !== 'undefined' && typeof document !== 'undefined';\n}\nfunction forEach(obj, fn) {\n    if (obj === null || typeof obj === 'undefined') {\n        return;\n    }\n    if ((typeof obj === 'undefined' ? 'undefined' : _typeof(obj)) !== 'object') {\n        obj = [obj];\n    }\n    if (isArray(obj)) {\n        for (var i = 0, l = obj.length; i < l; i++) {\n            fn.call(null, obj[i], i, obj);\n        }\n    } else {\n        for (var key in obj) {\n            if (Object.prototype.hasOwnProperty.call(obj, key)) {\n                fn.call(null, obj[key], key, obj);\n            }\n        }\n    }\n}\nfunction merge() {\n    var result = {};\n    function assignValue(val, key) {\n        if (_typeof(result[key]) === 'object' && (typeof val === 'undefined' ? 'undefined' : _typeof(val)) === 'object') {\n            result[key] = merge(result[key], val);\n        } else {\n            result[key] = val;\n        }\n    }\n    for (var i = 0, l = arguments.length; i < l; i++) {\n        forEach(arguments[i], assignValue);\n    }\n    return result;\n}\nfunction extend(a, b, thisArg) {\n    forEach(b, function assignValue(val, key) {\n        if (thisArg && typeof val === 'function') {\n            a[key] = bind(val, thisArg);\n        } else {\n            a[key] = val;\n        }\n    });\n    return a;\n}\nmodule.exports = {\n    isArray: isArray,\n    isArrayBuffer: isArrayBuffer,\n    isBuffer: isBuffer,\n    isFormData: isFormData,\n    isArrayBufferView: isArrayBufferView,\n    isString: isString,\n    isNumber: isNumber,\n    isObject: isObject,\n    isUndefined: isUndefined,\n    isDate: isDate,\n    isFile: isFile,\n    isBlob: isBlob,\n    isFunction: isFunction,\n    isStream: isStream,\n    isURLSearchParams: isURLSearchParams,\n    isStandardBrowserEnv: isStandardBrowserEnv,\n    forEach: forEach,\n    merge: merge,\n    extend: extend,\n    trim: trim\n};","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar isMobile = /mobile/i.test(window.navigator.userAgent);\nvar utils = {\n    secondToTime: function secondToTime(second) {\n        var add0 = function add0(num) {\n            return num < 10 ? '0' + num : '' + num;\n        };\n        var hour = Math.floor(second / 3600);\n        var min = Math.floor((second - hour * 3600) / 60);\n        var sec = Math.floor(second - hour * 3600 - min * 60);\n        return (hour > 0 ? [\n            hour,\n            min,\n            sec\n        ] : [\n            min,\n            sec\n        ]).map(add0).join(':');\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    getBoundingClientRectViewLeft: function getBoundingClientRectViewLeft(element) {\n        var scrollTop = document.documentElement.scrollTop;\n        if (element.getBoundingClientRect) {\n            if (typeof this.getBoundingClientRectViewLeft.offset !== 'number') {\n                var temp = document.createElement('div');\n                temp.style.cssText = 'position:absolute;top:0;left:0;';\n                document.body.appendChild(temp);\n                this.getBoundingClientRectViewLeft.offset = -temp.getBoundingClientRect().top - scrollTop;\n                document.body.removeChild(temp);\n                temp = null;\n            }\n            var rect = element.getBoundingClientRect();\n            var offset = this.getBoundingClientRectViewLeft.offset;\n            return rect.left + offset;\n        } else {\n            return this.getElementViewLeft(element);\n        }\n    },\n    getScrollPosition: function getScrollPosition() {\n        return {\n            left: window.pageXOffset || document.documentElement.scrollLeft || document.body.scrollLeft || 0,\n            top: window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0\n        };\n    },\n    setScrollPosition: function setScrollPosition(_ref) {\n        var _ref$left = _ref.left, left = _ref$left === undefined ? 0 : _ref$left, _ref$top = _ref.top, top = _ref$top === undefined ? 0 : _ref$top;\n        if (this.isFirefox) {\n            document.documentElement.scrollLeft = left;\n            document.documentElement.scrollTop = top;\n        } else {\n            window.scrollTo(left, top);\n        }\n    },\n    isMobile: isMobile,\n    isFirefox: /firefox/i.test(window.navigator.userAgent),\n    isChrome: /chrome/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    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    nameMap: {\n        dragStart: isMobile ? 'touchstart' : 'mousedown',\n        dragMove: isMobile ? 'touchmove' : 'mousemove',\n        dragEnd: isMobile ? 'touchend' : 'mouseup'\n    },\n    color2Number: function color2Number(color) {\n        if (color[0] === '#') {\n            color = color.substr(1);\n        }\n        if (color.length === 3) {\n            color = '' + color[0] + color[0] + color[1] + color[1] + color[2] + color[2];\n        }\n        return parseInt(color, 16) + 0 & 16777215;\n    },\n    number2Color: function number2Color(number) {\n        return '#' + ('00000' + number.toString(16)).slice(-6);\n    },\n    number2Type: function number2Type(number) {\n        switch (number) {\n        case 0:\n            return 'right';\n        case 1:\n            return 'top';\n        case 2:\n            return 'bottom';\n        default:\n            return 'right';\n        }\n    }\n};\nexports.default = utils;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar _play = require('../assets/play.svg');\nvar _play2 = _interopRequireDefault(_play);\nvar _pause = require('../assets/pause.svg');\nvar _pause2 = _interopRequireDefault(_pause);\nvar _volumeUp = require('../assets/volume-up.svg');\nvar _volumeUp2 = _interopRequireDefault(_volumeUp);\nvar _volumeDown = require('../assets/volume-down.svg');\nvar _volumeDown2 = _interopRequireDefault(_volumeDown);\nvar _volumeOff = require('../assets/volume-off.svg');\nvar _volumeOff2 = _interopRequireDefault(_volumeOff);\nvar _full = require('../assets/full.svg');\nvar _full2 = _interopRequireDefault(_full);\nvar _fullWeb = require('../assets/full-web.svg');\nvar _fullWeb2 = _interopRequireDefault(_fullWeb);\nvar _setting = require('../assets/setting.svg');\nvar _setting2 = _interopRequireDefault(_setting);\nvar _right = require('../assets/right.svg');\nvar _right2 = _interopRequireDefault(_right);\nvar _comment = require('../assets/comment.svg');\nvar _comment2 = _interopRequireDefault(_comment);\nvar _commentOff = require('../assets/comment-off.svg');\nvar _commentOff2 = _interopRequireDefault(_commentOff);\nvar _send = require('../assets/send.svg');\nvar _send2 = _interopRequireDefault(_send);\nvar _pallette = require('../assets/pallette.svg');\nvar _pallette2 = _interopRequireDefault(_pallette);\nvar _camera = require('../assets/camera.svg');\nvar _camera2 = _interopRequireDefault(_camera);\nvar _subtitle = require('../assets/subtitle.svg');\nvar _subtitle2 = _interopRequireDefault(_subtitle);\nvar _loading = require('../assets/loading.svg');\nvar _loading2 = _interopRequireDefault(_loading);\nfunction _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : { default: obj };\n}\nvar Icons = {\n    play: _play2.default,\n    pause: _pause2.default,\n    volumeUp: _volumeUp2.default,\n    volumeDown: _volumeDown2.default,\n    volumeOff: _volumeOff2.default,\n    full: _full2.default,\n    fullWeb: _fullWeb2.default,\n    setting: _setting2.default,\n    right: _right2.default,\n    comment: _comment2.default,\n    commentOff: _commentOff2.default,\n    send: _send2.default,\n    pallette: _pallette2.default,\n    camera: _camera2.default,\n    subtitle: _subtitle2.default,\n    loading: _loading2.default\n};\nexports.default = Icons;","'use strict';\nvar utils = require('./utils');\nvar normalizeHeaderName = require('./helpers/normalizeHeaderName');\nvar DEFAULT_CONTENT_TYPE = { 'Content-Type': 'application/x-www-form-urlencoded' };\nfunction setContentTypeIfUnset(headers, value) {\n    if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {\n        headers['Content-Type'] = value;\n    }\n}\nfunction getDefaultAdapter() {\n    var adapter;\n    if (typeof XMLHttpRequest !== 'undefined') {\n        adapter = require('./adapters/xhr');\n    } else if (typeof process !== 'undefined') {\n        adapter = require('./adapters/http');\n    }\n    return adapter;\n}\nvar defaults = {\n    adapter: getDefaultAdapter(),\n    transformRequest: [function transformRequest(data, headers) {\n            normalizeHeaderName(headers, 'Content-Type');\n            if (utils.isFormData(data) || utils.isArrayBuffer(data) || utils.isBuffer(data) || utils.isStream(data) || utils.isFile(data) || utils.isBlob(data)) {\n                return data;\n            }\n            if (utils.isArrayBufferView(data)) {\n                return data.buffer;\n            }\n            if (utils.isURLSearchParams(data)) {\n                setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n                return data.toString();\n            }\n            if (utils.isObject(data)) {\n                setContentTypeIfUnset(headers, 'application/json;charset=utf-8');\n                return JSON.stringify(data);\n            }\n            return data;\n        }],\n    transformResponse: [function transformResponse(data) {\n            if (typeof data === 'string') {\n                try {\n                    data = JSON.parse(data);\n                } catch (e) {\n                }\n            }\n            return data;\n        }],\n    timeout: 0,\n    xsrfCookieName: 'XSRF-TOKEN',\n    xsrfHeaderName: 'X-XSRF-TOKEN',\n    maxContentLength: -1,\n    validateStatus: function validateStatus(status) {\n        return status >= 200 && status < 300;\n    }\n};\ndefaults.headers = { common: { 'Accept': 'application/json, text/plain, */*' } };\nutils.forEach([\n    'delete',\n    'get',\n    'head'\n], function forEachMethodNoData(method) {\n    defaults.headers[method] = {};\n});\nutils.forEach([\n    'post',\n    'put',\n    'patch'\n], function forEachMethodWithData(method) {\n    defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\nmodule.exports = defaults;","'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 g;\ng = function () {\n    return this;\n}();\ntry {\n    g = g || Function('return this')() || (1, eval)('this');\n} catch (e) {\n    if ((typeof window === 'undefined' ? 'undefined' : _typeof(window)) === 'object')\n        g = window;\n}\nmodule.exports = g;","{{ set enableSubtitle = subtitle && subtitle.type === 'webvtt' }}\n<video\n    class=\"dplayer-video {{ if current }}dplayer-video-current{{ /if }}\"\n    webkit-playsinline\n    playsinline\n    {{ if pic }}poster=\"{{ pic }}\"{{ /if }}\n    {{ if screenshot || enableSubtitle }}crossorigin=\"anonymous\"{{ /if }}\n    {{ if preload }}preload=\"{{ preload }}\"{{ /if }}\n    {{ if url }}src=\"{{ url }}\"{{ /if }}\n    >\n    {{ if enableSubtitle }}\n    <track kind=\"metadata\" default src=\"{{ subtitle.url }}\"></track>\n    {{ /if }}\n</video>","'use strict';\nmodule.exports = require('./compile/runtime');","'use strict';\nfunction Cancel(message) {\n    this.message = message;\n}\nCancel.prototype.toString = function toString() {\n    return 'Cancel' + (this.message ? ': ' + this.message : '');\n};\nCancel.prototype.__CANCEL__ = true;\nmodule.exports = Cancel;","'use strict';\nmodule.exports = function isCancel(value) {\n    return !!(value && value.__CANCEL__);\n};","'use strict';\nvar enhanceError = require('./enhanceError');\nmodule.exports = function createError(message, config, code, request, response) {\n    var error = new Error(message);\n    return enhanceError(error, config, code, request, response);\n};","'use strict';\nvar utils = require('./../utils');\nvar settle = require('./../core/settle');\nvar buildURL = require('./../helpers/buildURL');\nvar parseHeaders = require('./../helpers/parseHeaders');\nvar isURLSameOrigin = require('./../helpers/isURLSameOrigin');\nvar createError = require('../core/createError');\nvar btoa = typeof window !== 'undefined' && window.btoa && window.btoa.bind(window) || require('./../helpers/btoa');\nmodule.exports = function xhrAdapter(config) {\n    return new Promise(function dispatchXhrRequest(resolve, reject) {\n        var requestData = config.data;\n        var requestHeaders = config.headers;\n        if (utils.isFormData(requestData)) {\n            delete requestHeaders['Content-Type'];\n        }\n        var request = new XMLHttpRequest();\n        var loadEvent = 'onreadystatechange';\n        var xDomain = false;\n        if (process.env.NODE_ENV !== 'test' && typeof window !== 'undefined' && window.XDomainRequest && !('withCredentials' in request) && !isURLSameOrigin(config.url)) {\n            request = new window.XDomainRequest();\n            loadEvent = 'onload';\n            xDomain = true;\n            request.onprogress = function handleProgress() {\n            };\n            request.ontimeout = function handleTimeout() {\n            };\n        }\n        if (config.auth) {\n            var username = config.auth.username || '';\n            var password = config.auth.password || '';\n            requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);\n        }\n        request.open(config.method.toUpperCase(), buildURL(config.url, config.params, config.paramsSerializer), true);\n        request.timeout = config.timeout;\n        request[loadEvent] = function handleLoad() {\n            if (!request || request.readyState !== 4 && !xDomain) {\n                return;\n            }\n            if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n                return;\n            }\n            var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;\n            var responseData = !config.responseType || config.responseType === 'text' ? request.responseText : request.response;\n            var response = {\n                data: responseData,\n                status: request.status === 1223 ? 204 : request.status,\n                statusText: request.status === 1223 ? 'No Content' : request.statusText,\n                headers: responseHeaders,\n                config: config,\n                request: request\n            };\n            settle(resolve, reject, response);\n            request = null;\n        };\n        request.onerror = function handleError() {\n            reject(createError('Network Error', config, null, request));\n            request = null;\n        };\n        request.ontimeout = function handleTimeout() {\n            reject(createError('timeout of ' + config.timeout + 'ms exceeded', config, 'ECONNABORTED', request));\n            request = null;\n        };\n        if (utils.isStandardBrowserEnv()) {\n            var cookies = require('./../helpers/cookies');\n            var xsrfValue = (config.withCredentials || isURLSameOrigin(config.url)) && config.xsrfCookieName ? cookies.read(config.xsrfCookieName) : undefined;\n            if (xsrfValue) {\n                requestHeaders[config.xsrfHeaderName] = xsrfValue;\n            }\n        }\n        if ('setRequestHeader' in request) {\n            utils.forEach(requestHeaders, function setRequestHeader(val, key) {\n                if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {\n                    delete requestHeaders[key];\n                } else {\n                    request.setRequestHeader(key, val);\n                }\n            });\n        }\n        if (config.withCredentials) {\n            request.withCredentials = true;\n        }\n        if (config.responseType) {\n            try {\n                request.responseType = config.responseType;\n            } catch (e) {\n                if (config.responseType !== 'json') {\n                    throw e;\n                }\n            }\n        }\n        if (typeof config.onDownloadProgress === 'function') {\n            request.addEventListener('progress', config.onDownloadProgress);\n        }\n        if (typeof config.onUploadProgress === 'function' && request.upload) {\n            request.upload.addEventListener('progress', config.onUploadProgress);\n        }\n        if (config.cancelToken) {\n            config.cancelToken.promise.then(function onCanceled(cancel) {\n                if (!request) {\n                    return;\n                }\n                request.abort();\n                reject(cancel);\n                request = null;\n            });\n        }\n        if (requestData === undefined) {\n            requestData = null;\n        }\n        request.send(requestData);\n    });\n};","'use strict';\nmodule.exports = function bind(fn, thisArg) {\n    return function wrap() {\n        var args = new Array(arguments.length);\n        for (var i = 0; i < args.length; i++) {\n            args[i] = arguments[i];\n        }\n        return fn.apply(thisArg, args);\n    };\n};","'use strict';\nvar process = module.exports = {};\nvar cachedSetTimeout;\nvar cachedClearTimeout;\nfunction defaultSetTimout() {\n    throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout() {\n    throw new Error('clearTimeout has not been defined');\n}\n(function () {\n    try {\n        if (typeof setTimeout === 'function') {\n            cachedSetTimeout = setTimeout;\n        } else {\n            cachedSetTimeout = defaultSetTimout;\n        }\n    } catch (e) {\n        cachedSetTimeout = defaultSetTimout;\n    }\n    try {\n        if (typeof clearTimeout === 'function') {\n            cachedClearTimeout = clearTimeout;\n        } else {\n            cachedClearTimeout = defaultClearTimeout;\n        }\n    } catch (e) {\n        cachedClearTimeout = defaultClearTimeout;\n    }\n}());\nfunction runTimeout(fun) {\n    if (cachedSetTimeout === setTimeout) {\n        return setTimeout(fun, 0);\n    }\n    if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n        cachedSetTimeout = setTimeout;\n        return setTimeout(fun, 0);\n    }\n    try {\n        return cachedSetTimeout(fun, 0);\n    } catch (e) {\n        try {\n            return cachedSetTimeout.call(null, fun, 0);\n        } catch (e) {\n            return cachedSetTimeout.call(this, fun, 0);\n        }\n    }\n}\nfunction runClearTimeout(marker) {\n    if (cachedClearTimeout === clearTimeout) {\n        return clearTimeout(marker);\n    }\n    if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n        cachedClearTimeout = clearTimeout;\n        return clearTimeout(marker);\n    }\n    try {\n        return cachedClearTimeout(marker);\n    } catch (e) {\n        try {\n            return cachedClearTimeout.call(null, marker);\n        } catch (e) {\n            return cachedClearTimeout.call(this, marker);\n        }\n    }\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\nfunction cleanUpNextTick() {\n    if (!draining || !currentQueue) {\n        return;\n    }\n    draining = false;\n    if (currentQueue.length) {\n        queue = currentQueue.concat(queue);\n    } else {\n        queueIndex = -1;\n    }\n    if (queue.length) {\n        drainQueue();\n    }\n}\nfunction drainQueue() {\n    if (draining) {\n        return;\n    }\n    var timeout = runTimeout(cleanUpNextTick);\n    draining = true;\n    var len = queue.length;\n    while (len) {\n        currentQueue = queue;\n        queue = [];\n        while (++queueIndex < len) {\n            if (currentQueue) {\n                currentQueue[queueIndex].run();\n            }\n        }\n        queueIndex = -1;\n        len = queue.length;\n    }\n    currentQueue = null;\n    draining = false;\n    runClearTimeout(timeout);\n}\nprocess.nextTick = function (fun) {\n    var args = new Array(arguments.length - 1);\n    if (arguments.length > 1) {\n        for (var i = 1; i < arguments.length; i++) {\n            args[i - 1] = arguments[i];\n        }\n    }\n    queue.push(new Item(fun, args));\n    if (queue.length === 1 && !draining) {\n        runTimeout(drainQueue);\n    }\n};\nfunction Item(fun, array) {\n    this.fun = fun;\n    this.array = array;\n}\nItem.prototype.run = function () {\n    this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = '';\nprocess.versions = {};\nfunction noop() {\n}\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\nprocess.listeners = function (name) {\n    return [];\n};\nprocess.binding = function (name) {\n    throw new Error('process.binding is not supported');\n};\nprocess.cwd = function () {\n    return '/';\n};\nprocess.chdir = function (dir) {\n    throw new Error('process.chdir is not supported');\n};\nprocess.umask = function () {\n    return 0;\n};","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\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 InfoPanel = function () {\n    function InfoPanel(player) {\n        var _this = this;\n        _classCallCheck(this, InfoPanel);\n        this.container = player.template.infoPanel;\n        this.template = player.template;\n        this.video = player.video;\n        this.player = player;\n        this.template.infoPanelClose.addEventListener('click', function () {\n            _this.hide();\n        });\n    }\n    _createClass(InfoPanel, [\n        {\n            key: 'show',\n            value: function show() {\n                this.beginTime = Date.now();\n                this.update();\n                this.player.timer.enable('info');\n                this.player.timer.enable('fps');\n                this.container.classList.remove('dplayer-info-panel-hide');\n            }\n        },\n        {\n            key: 'hide',\n            value: function hide() {\n                this.player.timer.disable('info');\n                this.player.timer.disable('fps');\n                this.container.classList.add('dplayer-info-panel-hide');\n            }\n        },\n        {\n            key: 'triggle',\n            value: function triggle() {\n                if (this.container.classList.contains('dplayer-info-panel-hide')) {\n                    this.show();\n                } else {\n                    this.hide();\n                }\n            }\n        },\n        {\n            key: 'update',\n            value: function update() {\n                this.template.infoVersion.innerHTML = 'v' + DPLAYER_VERSION + ' ' + GIT_HASH;\n                this.template.infoType.innerHTML = this.player.type;\n                this.template.infoUrl.innerHTML = this.player.options.video.url;\n                this.template.infoResolution.innerHTML = this.player.video.videoWidth + ' x ' + this.player.video.videoHeight;\n                this.template.infoDuration.innerHTML = this.player.video.duration;\n                if (this.player.options.danmaku) {\n                    this.template.infoDanmakuId.innerHTML = this.player.options.danmaku.id;\n                    this.template.infoDanmakuApi.innerHTML = this.player.options.danmaku.api;\n                    this.template.infoDanmakuAmount.innerHTML = this.player.danmaku.dan.length;\n                }\n            }\n        },\n        {\n            key: 'fps',\n            value: function fps(value) {\n                this.template.infoFPS.innerHTML = '' + value.toFixed(1);\n            }\n        }\n    ]);\n    return InfoPanel;\n}();\nexports.default = InfoPanel;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\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 ContextMenu = function () {\n    function ContextMenu(player) {\n        var _this = this;\n        _classCallCheck(this, ContextMenu);\n        this.player = player;\n        this.shown = false;\n        Array.prototype.slice.call(this.player.template.menuItem).forEach(function (item, index) {\n            if (_this.player.options.contextmenu[index].click) {\n                item.addEventListener('click', function () {\n                    _this.player.options.contextmenu[index].click(_this.player);\n                    _this.hide();\n                });\n            }\n        });\n        this.player.container.addEventListener('contextmenu', function (e) {\n            if (_this.shown) {\n                _this.hide();\n                return;\n            }\n            var event = e || window.event;\n            event.preventDefault();\n            var clientRect = _this.player.container.getBoundingClientRect();\n            _this.show(event.clientX - clientRect.left, event.clientY - clientRect.top);\n            _this.player.template.mask.addEventListener('click', function () {\n                _this.hide();\n            });\n        });\n    }\n    _createClass(ContextMenu, [\n        {\n            key: 'show',\n            value: function show(x, y) {\n                this.player.template.menu.classList.add('dplayer-menu-show');\n                var clientRect = this.player.container.getBoundingClientRect();\n                if (x + this.player.template.menu.offsetWidth >= clientRect.width) {\n                    this.player.template.menu.style.right = clientRect.width - x + 'px';\n                    this.player.template.menu.style.left = 'initial';\n                } else {\n                    this.player.template.menu.style.left = x + 'px';\n                    this.player.template.menu.style.right = 'initial';\n                }\n                if (y + this.player.template.menu.offsetHeight >= clientRect.height) {\n                    this.player.template.menu.style.bottom = clientRect.height - y + 'px';\n                    this.player.template.menu.style.top = 'initial';\n                } else {\n                    this.player.template.menu.style.top = y + 'px';\n                    this.player.template.menu.style.bottom = 'initial';\n                }\n                this.player.template.mask.classList.add('dplayer-mask-show');\n                this.shown = true;\n                this.player.events.trigger('contextmenu_show');\n            }\n        },\n        {\n            key: 'hide',\n            value: function hide() {\n                this.player.template.mask.classList.remove('dplayer-mask-show');\n                this.player.template.menu.classList.remove('dplayer-menu-show');\n                this.shown = false;\n                this.player.events.trigger('contextmenu_hide');\n            }\n        }\n    ]);\n    return ContextMenu;\n}();\nexports.default = ContextMenu;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nfunction _classCallCheck(instance, Constructor) {\n    if (!(instance instanceof Constructor)) {\n        throw new TypeError('Cannot call a class as a function');\n    }\n}\nvar HotKey = function HotKey(player) {\n    _classCallCheck(this, HotKey);\n    if (player.options.hotkey) {\n        document.addEventListener('keydown', function (e) {\n            if (player.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                        player.toggle();\n                        break;\n                    case 37:\n                        event.preventDefault();\n                        player.seek(player.video.currentTime - 5);\n                        player.controller.setAutoHide();\n                        break;\n                    case 39:\n                        event.preventDefault();\n                        player.seek(player.video.currentTime + 5);\n                        player.controller.setAutoHide();\n                        break;\n                    case 38:\n                        event.preventDefault();\n                        percentage = player.volume() + 0.1;\n                        player.volume(percentage);\n                        break;\n                    case 40:\n                        event.preventDefault();\n                        percentage = player.volume() - 0.1;\n                        player.volume(percentage);\n                        break;\n                    }\n                }\n            }\n        });\n    }\n    document.addEventListener('keydown', function (e) {\n        var event = e || window.event;\n        switch (event.keyCode) {\n        case 27:\n            if (player.fullScreen.isFullScreen('web')) {\n                player.fullScreen.cancel('web');\n            }\n            break;\n        }\n    });\n};\nexports.default = HotKey;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\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 Comment = function () {\n    function Comment(player) {\n        var _this = this;\n        _classCallCheck(this, Comment);\n        this.player = player;\n        this.player.template.mask.addEventListener('click', function () {\n            _this.hide();\n        });\n        this.player.template.commentButton.addEventListener('click', function () {\n            _this.show();\n        });\n        this.player.template.commentSettingButton.addEventListener('click', function () {\n            _this.toggleSetting();\n        });\n        this.player.template.commentColorSettingBox.addEventListener('click', function () {\n            var sele = _this.player.template.commentColorSettingBox.querySelector('input:checked+span');\n            if (sele) {\n                var color = _this.player.template.commentColorSettingBox.querySelector('input:checked').value;\n                _this.player.template.commentSettingFill.style.fill = color;\n                _this.player.template.commentInput.style.color = color;\n                _this.player.template.commentSendFill.style.fill = color;\n            }\n        });\n        this.player.template.commentInput.addEventListener('click', function () {\n            _this.hideSetting();\n        });\n        this.player.template.commentInput.addEventListener('keydown', function (e) {\n            var event = e || window.event;\n            if (event.keyCode === 13) {\n                _this.send();\n            }\n        });\n        this.player.template.commentSendButton.addEventListener('click', function () {\n            _this.send();\n        });\n    }\n    _createClass(Comment, [\n        {\n            key: 'show',\n            value: function show() {\n                this.player.controller.disableAutoHide = true;\n                this.player.template.controller.classList.add('dplayer-controller-comment');\n                this.player.template.mask.classList.add('dplayer-mask-show');\n                this.player.container.classList.add('dplayer-show-controller');\n                this.player.template.commentInput.focus();\n            }\n        },\n        {\n            key: 'hide',\n            value: function hide() {\n                this.player.template.controller.classList.remove('dplayer-controller-comment');\n                this.player.template.mask.classList.remove('dplayer-mask-show');\n                this.player.container.classList.remove('dplayer-show-controller');\n                this.player.controller.disableAutoHide = false;\n                this.hideSetting();\n            }\n        },\n        {\n            key: 'showSetting',\n            value: function showSetting() {\n                this.player.template.commentSettingBox.classList.add('dplayer-comment-setting-open');\n            }\n        },\n        {\n            key: 'hideSetting',\n            value: function hideSetting() {\n                this.player.template.commentSettingBox.classList.remove('dplayer-comment-setting-open');\n            }\n        },\n        {\n            key: 'toggleSetting',\n            value: function toggleSetting() {\n                if (this.player.template.commentSettingBox.classList.contains('dplayer-comment-setting-open')) {\n                    this.hideSetting();\n                } else {\n                    this.showSetting();\n                }\n            }\n        },\n        {\n            key: 'send',\n            value: function send() {\n                var _this2 = this;\n                this.player.template.commentInput.blur();\n                if (!this.player.template.commentInput.value.replace(/^\\s+|\\s+$/g, '')) {\n                    this.player.notice(this.player.tran('Please input danmaku content!'));\n                    return;\n                }\n                this.player.danmaku.send({\n                    text: this.player.template.commentInput.value,\n                    color: _utils2.default.color2Number(this.player.container.querySelector('.dplayer-comment-setting-color input:checked').value),\n                    type: parseInt(this.player.container.querySelector('.dplayer-comment-setting-type input:checked').value)\n                }, function () {\n                    _this2.player.template.commentInput.value = '';\n                    _this2.hide();\n                });\n            }\n        }\n    ]);\n    return Comment;\n}();\nexports.default = Comment;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\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 Setting = function () {\n    function Setting(player) {\n        var _this = this;\n        _classCallCheck(this, Setting);\n        this.player = player;\n        this.player.template.mask.addEventListener('click', function () {\n            _this.hide();\n        });\n        this.player.template.settingButton.addEventListener('click', function () {\n            _this.show();\n        });\n        this.loop = this.player.options.loop;\n        this.player.template.loopToggle.checked = this.loop;\n        this.player.template.loop.addEventListener('click', function () {\n            _this.player.template.loopToggle.checked = !_this.player.template.loopToggle.checked;\n            if (_this.player.template.loopToggle.checked) {\n                _this.loop = true;\n            } else {\n                _this.loop = false;\n            }\n            _this.hide();\n        });\n        this.showDanmaku = this.player.user.get('danmaku');\n        if (!this.showDanmaku) {\n            this.player.danmaku && this.player.danmaku.hide();\n        }\n        this.player.template.showDanmakuToggle.checked = this.showDanmaku;\n        this.player.template.showDanmaku.addEventListener('click', function () {\n            _this.player.template.showDanmakuToggle.checked = !_this.player.template.showDanmakuToggle.checked;\n            if (_this.player.template.showDanmakuToggle.checked) {\n                _this.showDanmaku = true;\n                _this.player.danmaku.show();\n            } else {\n                _this.showDanmaku = false;\n                _this.player.danmaku.hide();\n            }\n            _this.player.user.set('danmaku', _this.showDanmaku ? 1 : 0);\n            _this.hide();\n        });\n        this.unlimitDanmaku = this.player.user.get('unlimited');\n        this.player.template.unlimitDanmakuToggle.checked = this.unlimitDanmaku;\n        this.player.template.unlimitDanmaku.addEventListener('click', function () {\n            _this.player.template.unlimitDanmakuToggle.checked = !_this.player.template.unlimitDanmakuToggle.checked;\n            if (_this.player.template.unlimitDanmakuToggle.checked) {\n                _this.unlimitDanmaku = true;\n                _this.player.danmaku.unlimit(true);\n            } else {\n                _this.unlimitDanmaku = false;\n                _this.player.danmaku.unlimit(false);\n            }\n            _this.player.user.set('unlimited', _this.unlimitDanmaku ? 1 : 0);\n            _this.hide();\n        });\n        this.player.template.speed.addEventListener('click', function () {\n            _this.player.template.settingBox.classList.add('dplayer-setting-box-narrow');\n            _this.player.template.settingBox.classList.add('dplayer-setting-box-speed');\n        });\n        var _loop = function _loop(i) {\n            _this.player.template.speedItem[i].addEventListener('click', function () {\n                _this.player.speed(_this.player.template.speedItem[i].dataset.speed);\n                _this.hide();\n            });\n        };\n        for (var i = 0; i < this.player.template.speedItem.length; i++) {\n            _loop(i);\n        }\n        if (this.player.danmaku) {\n            var dWidth = 130;\n            this.player.on('danmaku_opacity', function (percentage) {\n                _this.player.bar.set('danmaku', percentage, 'width');\n                _this.player.user.set('opacity', percentage);\n            });\n            this.player.danmaku.opacity(this.player.user.get('opacity'));\n            var danmakuMove = function danmakuMove(event) {\n                var e = event || window.event;\n                var percentage = ((e.clientX || e.changedTouches[0].clientX) - _utils2.default.getBoundingClientRectViewLeft(_this.player.template.danmakuOpacityBarWrap)) / dWidth;\n                percentage = Math.max(percentage, 0);\n                percentage = Math.min(percentage, 1);\n                _this.player.danmaku.opacity(percentage);\n            };\n            var danmakuUp = function danmakuUp() {\n                document.removeEventListener(_utils2.default.nameMap.dragEnd, danmakuUp);\n                document.removeEventListener(_utils2.default.nameMap.dragMove, danmakuMove);\n                _this.player.template.danmakuOpacityBox.classList.remove('dplayer-setting-danmaku-active');\n            };\n            this.player.template.danmakuOpacityBarWrapWrap.addEventListener('click', function (event) {\n                var e = event || window.event;\n                var percentage = ((e.clientX || e.changedTouches[0].clientX) - _utils2.default.getBoundingClientRectViewLeft(_this.player.template.danmakuOpacityBarWrap)) / dWidth;\n                percentage = Math.max(percentage, 0);\n                percentage = Math.min(percentage, 1);\n                _this.player.danmaku.opacity(percentage);\n            });\n            this.player.template.danmakuOpacityBarWrapWrap.addEventListener(_utils2.default.nameMap.dragStart, function () {\n                document.addEventListener(_utils2.default.nameMap.dragMove, danmakuMove);\n                document.addEventListener(_utils2.default.nameMap.dragEnd, danmakuUp);\n                _this.player.template.danmakuOpacityBox.classList.add('dplayer-setting-danmaku-active');\n            });\n        }\n    }\n    _createClass(Setting, [\n        {\n            key: 'hide',\n            value: function hide() {\n                var _this2 = this;\n                this.player.template.settingBox.classList.remove('dplayer-setting-box-open');\n                this.player.template.mask.classList.remove('dplayer-mask-show');\n                setTimeout(function () {\n                    _this2.player.template.settingBox.classList.remove('dplayer-setting-box-narrow');\n                    _this2.player.template.settingBox.classList.remove('dplayer-setting-box-speed');\n                }, 300);\n                this.player.controller.disableAutoHide = false;\n            }\n        },\n        {\n            key: 'show',\n            value: function show() {\n                this.player.template.settingBox.classList.add('dplayer-setting-box-open');\n                this.player.template.mask.classList.add('dplayer-mask-show');\n                this.player.controller.disableAutoHide = true;\n            }\n        }\n    ]);\n    return Setting;\n}();\nexports.default = Setting;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\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(options) {\n        _classCallCheck(this, Thumbnails);\n        this.container = options.container;\n        this.barWidth = options.barWidth;\n        this.container.style.backgroundImage = 'url(\\'' + options.url + '\\')';\n        this.events = options.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.barWidth * 100) - 1) * 160 + 'px 0';\n                this.container.style.left = Math.min(Math.max(position - this.container.offsetWidth / 2, -10), this.barWidth - 150) + '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}();\nexports.default = Thumbnails;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\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);\nvar _thumbnails = require('./thumbnails');\nvar _thumbnails2 = _interopRequireDefault(_thumbnails);\nvar _icons = require('./icons');\nvar _icons2 = _interopRequireDefault(_icons);\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 Controller = function () {\n    function Controller(player) {\n        var _this = this;\n        _classCallCheck(this, Controller);\n        this.player = player;\n        this.autoHideTimer = 0;\n        if (!_utils2.default.isMobile) {\n            this.player.container.addEventListener('mousemove', function () {\n                _this.setAutoHide();\n            });\n            this.player.container.addEventListener('click', function () {\n                _this.setAutoHide();\n            });\n            this.player.on('play', function () {\n                _this.setAutoHide();\n            });\n            this.player.on('pause', function () {\n                _this.setAutoHide();\n            });\n        }\n        this.initPlayButton();\n        this.initThumbnails();\n        this.initPlayedBar();\n        this.initFullButton();\n        this.initQualityButton();\n        this.initScreenshotButton();\n        this.initSubtitleButton();\n        this.initHighlights();\n        if (!_utils2.default.isMobile) {\n            this.initVolumeButton();\n        }\n    }\n    _createClass(Controller, [\n        {\n            key: 'initPlayButton',\n            value: function initPlayButton() {\n                var _this2 = this;\n                this.player.template.playButton.addEventListener('click', function () {\n                    _this2.player.toggle();\n                });\n                if (!_utils2.default.isMobile) {\n                    this.player.template.videoWrap.addEventListener('click', function () {\n                        _this2.player.toggle();\n                    });\n                    this.player.template.controllerMask.addEventListener('click', function () {\n                        _this2.player.toggle();\n                    });\n                } else {\n                    this.player.template.videoWrap.addEventListener('click', function () {\n                        _this2.toggle();\n                    });\n                    this.player.template.controllerMask.addEventListener('click', function () {\n                        _this2.toggle();\n                    });\n                }\n            }\n        },\n        {\n            key: 'initHighlights',\n            value: function initHighlights() {\n                var _this3 = this;\n                this.player.on('durationchange', function () {\n                    if (_this3.player.video.duration !== 1 && _this3.player.video.duration !== Infinity) {\n                        if (_this3.player.options.highlight) {\n                            var highlights = document.querySelectorAll('.dplayer-highlight');\n                            [].slice.call(highlights, 0).forEach(function (item) {\n                                _this3.player.template.playedBarWrap.removeChild(item);\n                            });\n                            for (var i = 0; i < _this3.player.options.highlight.length; i++) {\n                                if (!_this3.player.options.highlight[i].text || !_this3.player.options.highlight[i].time) {\n                                    continue;\n                                }\n                                var p = document.createElement('div');\n                                p.classList.add('dplayer-highlight');\n                                p.style.left = _this3.player.options.highlight[i].time / _this3.player.video.duration * 100 + '%';\n                                p.innerHTML = '<span class=\"dplayer-highlight-text\">' + _this3.player.options.highlight[i].text + '</span>';\n                                _this3.player.template.playedBarWrap.insertBefore(p, _this3.player.template.playedBarTime);\n                            }\n                        }\n                    }\n                });\n            }\n        },\n        {\n            key: 'initThumbnails',\n            value: function initThumbnails() {\n                var _this4 = this;\n                if (this.player.options.video.thumbnails) {\n                    this.thumbnails = new _thumbnails2.default({\n                        container: this.player.template.barPreview,\n                        barWidth: this.player.template.barWrap.offsetWidth,\n                        url: this.player.options.video.thumbnails,\n                        events: this.player.events\n                    });\n                    this.player.on('loadedmetadata', function () {\n                        _this4.thumbnails.resize(160, _this4.player.video.videoHeight / _this4.player.video.videoWidth * 160);\n                    });\n                }\n            }\n        },\n        {\n            key: 'initPlayedBar',\n            value: function initPlayedBar() {\n                var _this5 = this;\n                var thumbMove = function thumbMove(e) {\n                    var percentage = ((e.clientX || e.changedTouches[0].clientX) - _utils2.default.getBoundingClientRectViewLeft(_this5.player.template.playedBarWrap)) / _this5.player.template.playedBarWrap.clientWidth;\n                    percentage = Math.max(percentage, 0);\n                    percentage = Math.min(percentage, 1);\n                    _this5.player.bar.set('played', percentage, 'width');\n                    _this5.player.template.ptime.innerHTML = _utils2.default.secondToTime(percentage * _this5.player.video.duration);\n                };\n                var thumbUp = function thumbUp(e) {\n                    document.removeEventListener(_utils2.default.nameMap.dragEnd, thumbUp);\n                    document.removeEventListener(_utils2.default.nameMap.dragMove, thumbMove);\n                    var percentage = ((e.clientX || e.changedTouches[0].clientX) - _utils2.default.getBoundingClientRectViewLeft(_this5.player.template.playedBarWrap)) / _this5.player.template.playedBarWrap.clientWidth;\n                    percentage = Math.max(percentage, 0);\n                    percentage = Math.min(percentage, 1);\n                    _this5.player.bar.set('played', percentage, 'width');\n                    _this5.player.seek(_this5.player.bar.get('played') * _this5.player.video.duration);\n                    _this5.player.timer.enable('progress');\n                };\n                this.player.template.playedBarWrap.addEventListener(_utils2.default.nameMap.dragStart, function () {\n                    _this5.player.timer.disable('progress');\n                    document.addEventListener(_utils2.default.nameMap.dragMove, thumbMove);\n                    document.addEventListener(_utils2.default.nameMap.dragEnd, thumbUp);\n                });\n                this.player.template.playedBarWrap.addEventListener(_utils2.default.nameMap.dragMove, function (e) {\n                    if (_this5.player.video.duration) {\n                        var px = _utils2.default.cumulativeOffset(_this5.player.template.playedBarWrap).left;\n                        var tx = (e.clientX || e.changedTouches[0].clientX) - px;\n                        if (tx < 0 || tx > _this5.player.template.playedBarWrap.offsetWidth) {\n                            return;\n                        }\n                        var time = _this5.player.video.duration * (tx / _this5.player.template.playedBarWrap.offsetWidth);\n                        if (_utils2.default.isMobile) {\n                            _this5.thumbnails && _this5.thumbnails.show();\n                        }\n                        _this5.thumbnails && _this5.thumbnails.move(tx);\n                        _this5.player.template.playedBarTime.style.left = tx - (time >= 3600 ? 25 : 20) + 'px';\n                        _this5.player.template.playedBarTime.innerText = _utils2.default.secondToTime(time);\n                        _this5.player.template.playedBarTime.classList.remove('hidden');\n                    }\n                });\n                this.player.template.playedBarWrap.addEventListener(_utils2.default.nameMap.dragEnd, function () {\n                    if (_utils2.default.isMobile) {\n                        _this5.thumbnails && _this5.thumbnails.hide();\n                    }\n                });\n                if (!_utils2.default.isMobile) {\n                    this.player.template.playedBarWrap.addEventListener('mouseenter', function () {\n                        if (_this5.player.video.duration) {\n                            _this5.thumbnails && _this5.thumbnails.show();\n                            _this5.player.template.playedBarTime.classList.remove('hidden');\n                        }\n                    });\n                    this.player.template.playedBarWrap.addEventListener('mouseleave', function () {\n                        if (_this5.player.video.duration) {\n                            _this5.thumbnails && _this5.thumbnails.hide();\n                            _this5.player.template.playedBarTime.classList.add('hidden');\n                        }\n                    });\n                }\n            }\n        },\n        {\n            key: 'initFullButton',\n            value: function initFullButton() {\n                var _this6 = this;\n                this.player.template.browserFullButton.addEventListener('click', function () {\n                    _this6.player.fullScreen.toggle('browser');\n                });\n                this.player.template.webFullButton.addEventListener('click', function () {\n                    _this6.player.fullScreen.toggle('web');\n                });\n            }\n        },\n        {\n            key: 'initVolumeButton',\n            value: function initVolumeButton() {\n                var _this7 = this;\n                var vWidth = 35;\n                var volumeMove = function volumeMove(event) {\n                    var e = event || window.event;\n                    var percentage = ((e.clientX || e.changedTouches[0].clientX) - _utils2.default.getBoundingClientRectViewLeft(_this7.player.template.volumeBarWrap) - 5.5) / vWidth;\n                    _this7.player.volume(percentage);\n                };\n                var volumeUp = function volumeUp() {\n                    document.removeEventListener(_utils2.default.nameMap.dragEnd, volumeUp);\n                    document.removeEventListener(_utils2.default.nameMap.dragMove, volumeMove);\n                    _this7.player.template.volumeButton.classList.remove('dplayer-volume-active');\n                };\n                this.player.template.volumeBarWrapWrap.addEventListener('click', function (event) {\n                    var e = event || window.event;\n                    var percentage = ((e.clientX || e.changedTouches[0].clientX) - _utils2.default.getBoundingClientRectViewLeft(_this7.player.template.volumeBarWrap) - 5.5) / vWidth;\n                    _this7.player.volume(percentage);\n                });\n                this.player.template.volumeBarWrapWrap.addEventListener(_utils2.default.nameMap.dragStart, function () {\n                    document.addEventListener(_utils2.default.nameMap.dragMove, volumeMove);\n                    document.addEventListener(_utils2.default.nameMap.dragEnd, volumeUp);\n                    _this7.player.template.volumeButton.classList.add('dplayer-volume-active');\n                });\n                this.player.template.volumeButtonIcon.addEventListener('click', function () {\n                    if (_this7.player.video.muted) {\n                        _this7.player.video.muted = false;\n                        _this7.player.switchVolumeIcon();\n                        _this7.player.bar.set('volume', _this7.player.volume(), 'width');\n                    } else {\n                        _this7.player.video.muted = true;\n                        _this7.player.template.volumeIcon.innerHTML = _icons2.default.volumeOff;\n                        _this7.player.bar.set('volume', 0, 'width');\n                    }\n                });\n            }\n        },\n        {\n            key: 'initQualityButton',\n            value: function initQualityButton() {\n                var _this8 = this;\n                if (this.player.options.video.quality) {\n                    this.player.template.qualityList.addEventListener('click', function (e) {\n                        if (e.target.classList.contains('dplayer-quality-item')) {\n                            _this8.player.switchQuality(e.target.dataset.index);\n                        }\n                    });\n                }\n            }\n        },\n        {\n            key: 'initScreenshotButton',\n            value: function initScreenshotButton() {\n                var _this9 = this;\n                if (this.player.options.screenshot) {\n                    this.player.template.camareButton.addEventListener('click', function () {\n                        var canvas = document.createElement('canvas');\n                        canvas.width = _this9.player.video.videoWidth;\n                        canvas.height = _this9.player.video.videoHeight;\n                        canvas.getContext('2d').drawImage(_this9.player.video, 0, 0, canvas.width, canvas.height);\n                        var dataURL = void 0;\n                        canvas.toBlob(function (blob) {\n                            dataURL = URL.createObjectURL(blob);\n                            var link = document.createElement('a');\n                            link.href = dataURL;\n                            link.download = 'DPlayer.png';\n                            link.style.display = 'none';\n                            document.body.appendChild(link);\n                            link.click();\n                            document.body.removeChild(link);\n                            URL.revokeObjectURL(dataURL);\n                        });\n                        _this9.player.events.trigger('screenshot', dataURL);\n                    });\n                }\n            }\n        },\n        {\n            key: 'initSubtitleButton',\n            value: function initSubtitleButton() {\n                var _this10 = this;\n                if (this.player.options.subtitle) {\n                    this.player.events.on('subtitle_show', function () {\n                        _this10.player.template.subtitleButton.dataset.balloon = _this10.player.tran('Hide subtitle');\n                        _this10.player.template.subtitleButtonInner.style.opacity = '';\n                        _this10.player.user.set('subtitle', 1);\n                    });\n                    this.player.events.on('subtitle_hide', function () {\n                        _this10.player.template.subtitleButton.dataset.balloon = _this10.player.tran('Show subtitle');\n                        _this10.player.template.subtitleButtonInner.style.opacity = '0.4';\n                        _this10.player.user.set('subtitle', 0);\n                    });\n                    this.player.template.subtitleButton.addEventListener('click', function () {\n                        _this10.player.subtitle.toggle();\n                    });\n                }\n            }\n        },\n        {\n            key: 'setAutoHide',\n            value: function setAutoHide() {\n                var _this11 = this;\n                this.show();\n                clearTimeout(this.autoHideTimer);\n                this.autoHideTimer = setTimeout(function () {\n                    if (_this11.player.video.played.length && !_this11.player.paused && !_this11.disableAutoHide) {\n                        _this11.hide();\n                    }\n                }, 3000);\n            }\n        },\n        {\n            key: 'show',\n            value: function show() {\n                this.player.container.classList.remove('dplayer-hide-controller');\n            }\n        },\n        {\n            key: 'hide',\n            value: function hide() {\n                this.player.container.classList.add('dplayer-hide-controller');\n                this.player.setting.hide();\n                this.player.comment && this.player.comment.hide();\n            }\n        },\n        {\n            key: 'isShow',\n            value: function isShow() {\n                return !this.player.container.classList.contains('dplayer-hide-controller');\n            }\n        },\n        {\n            key: 'toggle',\n            value: function toggle() {\n                if (this.isShow()) {\n                    this.hide();\n                } else {\n                    this.show();\n                }\n            }\n        },\n        {\n            key: 'destroy',\n            value: function destroy() {\n                clearTimeout(this.autoHideTimer);\n            }\n        }\n    ]);\n    return Controller;\n}();\nexports.default = Controller;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\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 Bezel = function () {\n    function Bezel(container) {\n        var _this = this;\n        _classCallCheck(this, Bezel);\n        this.container = container;\n        this.container.addEventListener('animationend', function () {\n            _this.container.classList.remove('dplayer-bezel-transition');\n        });\n    }\n    _createClass(Bezel, [{\n            key: 'switch',\n            value: function _switch(icon) {\n                this.container.innerHTML = icon;\n                this.container.classList.add('dplayer-bezel-transition');\n            }\n        }]);\n    return Bezel;\n}();\nexports.default = Bezel;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\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 Timer = function () {\n    function Timer(player) {\n        _classCallCheck(this, Timer);\n        this.player = player;\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        this.types = [\n            'loading',\n            'info',\n            'fps'\n        ];\n        this.init();\n    }\n    _createClass(Timer, [\n        {\n            key: 'init',\n            value: function init() {\n                var _this = this;\n                this.types.map(function (item) {\n                    if (item !== 'fps') {\n                        _this['init' + item + 'Checker']();\n                    }\n                    return item;\n                });\n            }\n        },\n        {\n            key: 'initloadingChecker',\n            value: function initloadingChecker() {\n                var _this2 = this;\n                var lastPlayPos = 0;\n                var currentPlayPos = 0;\n                var bufferingDetected = false;\n                this.loadingChecker = setInterval(function () {\n                    if (_this2.enableloadingChecker) {\n                        currentPlayPos = _this2.player.video.currentTime;\n                        if (!bufferingDetected && currentPlayPos === lastPlayPos && !_this2.player.video.paused) {\n                            _this2.player.container.classList.add('dplayer-loading');\n                            bufferingDetected = true;\n                        }\n                        if (bufferingDetected && currentPlayPos > lastPlayPos && !_this2.player.video.paused) {\n                            _this2.player.container.classList.remove('dplayer-loading');\n                            bufferingDetected = false;\n                        }\n                        lastPlayPos = currentPlayPos;\n                    }\n                }, 100);\n            }\n        },\n        {\n            key: 'initfpsChecker',\n            value: function initfpsChecker() {\n                var _this3 = this;\n                window.requestAnimationFrame(function () {\n                    if (_this3.enablefpsChecker) {\n                        _this3.initfpsChecker();\n                        if (!_this3.fpsStart) {\n                            _this3.fpsStart = new Date();\n                            _this3.fpsIndex = 0;\n                        } else {\n                            _this3.fpsIndex++;\n                            var fpsCurrent = new Date();\n                            if (fpsCurrent - _this3.fpsStart > 1000) {\n                                _this3.player.infoPanel.fps(_this3.fpsIndex / (fpsCurrent - _this3.fpsStart) * 1000);\n                                _this3.fpsStart = new Date();\n                                _this3.fpsIndex = 0;\n                            }\n                        }\n                    } else {\n                        _this3.fpsStart = 0;\n                        _this3.fpsIndex = 0;\n                    }\n                });\n            }\n        },\n        {\n            key: 'initinfoChecker',\n            value: function initinfoChecker() {\n                var _this4 = this;\n                this.infoChecker = setInterval(function () {\n                    if (_this4.enableinfoChecker) {\n                        _this4.player.infoPanel.update();\n                    }\n                }, 1000);\n            }\n        },\n        {\n            key: 'enable',\n            value: function enable(type) {\n                this['enable' + type + 'Checker'] = true;\n                if (type === 'fps') {\n                    this.initfpsChecker();\n                }\n            }\n        },\n        {\n            key: 'disable',\n            value: function disable(type) {\n                this['enable' + type + 'Checker'] = false;\n            }\n        },\n        {\n            key: 'destroy',\n            value: function destroy() {\n                var _this5 = this;\n                this.types.map(function (item) {\n                    _this5['enable' + item + 'Checker'] = false;\n                    _this5[item + 'Checker'] && clearInterval(_this5[item + 'Checker']);\n                    return item;\n                });\n            }\n        }\n    ]);\n    return Timer;\n}();\nexports.default = Timer;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\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 Bar = function () {\n    function Bar(template) {\n        _classCallCheck(this, Bar);\n        this.elements = {};\n        this.elements.volume = template.volumeBar;\n        this.elements.played = template.playedBar;\n        this.elements.loaded = template.loadedBar;\n        this.elements.danmaku = template.danmakuOpacityBar;\n    }\n    _createClass(Bar, [\n        {\n            key: 'set',\n            value: function set(type, percentage, direction) {\n                percentage = Math.max(percentage, 0);\n                percentage = Math.min(percentage, 1);\n                this.elements[type].style[direction] = percentage * 100 + '%';\n            }\n        },\n        {\n            key: 'get',\n            value: function get(type) {\n                return parseFloat(this.elements[type].style.width) / 100;\n            }\n        }\n    ]);\n    return Bar;\n}();\nexports.default = Bar;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\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, events) {\n        _classCallCheck(this, Subtitle);\n        this.container = container;\n        this.video = video;\n        this.options = options;\n        this.events = events;\n        this.init();\n    }\n    _createClass(Subtitle, [\n        {\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                        _this.events.trigger('subtitle_change');\n                    };\n                }\n            }\n        },\n        {\n            key: 'show',\n            value: function show() {\n                this.container.classList.remove('dplayer-subtitle-hide');\n                this.events.trigger('subtitle_show');\n            }\n        },\n        {\n            key: 'hide',\n            value: function hide() {\n                this.container.classList.add('dplayer-subtitle-hide');\n                this.events.trigger('subtitle_hide');\n            }\n        },\n        {\n            key: 'toggle',\n            value: function toggle() {\n                if (this.container.classList.contains('dplayer-subtitle-hide')) {\n                    this.show();\n                } else {\n                    this.hide();\n                }\n            }\n        }\n    ]);\n    return Subtitle;\n}();\nexports.default = Subtitle;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\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            subtitle: 'dplayer-subtitle-show'\n        };\n        this.default = {\n            opacity: 0.7,\n            volume: player.options.hasOwnProperty('volume') ? player.options.volume : 0.7,\n            unlimited: (player.options.danmaku && player.options.danmaku.unlimited ? 1 : 0) || 0,\n            danmaku: 1,\n            subtitle: 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}();\nexports.default = User;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\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 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            _utils2.default.setScrollPosition(_this.lastScrollPosition);\n        });\n        var fullscreenchange = function fullscreenchange() {\n            _this.player.resize();\n            if (_this.isFullScreen('browser')) {\n                _this.player.events.trigger('fullscreen');\n            } else {\n                _utils2.default.setScrollPosition(_this.lastScrollPosition);\n                _this.player.events.trigger('fullscreen_cancel');\n            }\n        };\n        var docfullscreenchange = function docfullscreenchange() {\n            var fullEle = document.fullscreenElement || document.mozFullScreenElement || document.msFullscreenElement;\n            if (fullEle && fullEle !== _this.player.container) {\n                return;\n            }\n            _this.player.resize();\n            if (fullEle) {\n                _this.player.events.trigger('fullscreen');\n            } else {\n                _utils2.default.setScrollPosition(_this.lastScrollPosition);\n                _this.player.events.trigger('fullscreen_cancel');\n            }\n        };\n        if (/Firefox/.test(navigator.userAgent)) {\n            document.addEventListener('mozfullscreenchange', docfullscreenchange);\n            document.addEventListener('fullscreenchange', docfullscreenchange);\n        } else {\n            this.player.container.addEventListener('fullscreenchange', fullscreenchange);\n            this.player.container.addEventListener('webkitfullscreenchange', fullscreenchange);\n            document.addEventListener('msfullscreenchange', docfullscreenchange);\n            document.addEventListener('MSFullscreenChange', docfullscreenchange);\n        }\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 || document.msFullscreenElement;\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                var anotherType = type === 'browser' ? 'web' : 'browser';\n                var anotherTypeOn = this.isFullScreen(anotherType);\n                if (!anotherTypeOn) {\n                    this.lastScrollPosition = _utils2.default.getScrollPosition();\n                }\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                    } else if (this.player.video.webkitEnterFullScreen) {\n                        this.player.video.webkitEnterFullScreen();\n                    } else if (this.player.container.msRequestFullscreen) {\n                        this.player.container.msRequestFullscreen();\n                    }\n                    break;\n                case 'web':\n                    this.player.container.classList.add('dplayer-fulled');\n                    document.body.classList.add('dplayer-web-fullscreen-fix');\n                    this.player.events.trigger('webfullscreen');\n                    break;\n                }\n                if (anotherTypeOn) {\n                    this.cancel(anotherType);\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                    } else if (document.webkitCancelFullscreen) {\n                        document.webkitCancelFullscreen();\n                    } else if (document.msCancelFullScreen) {\n                        document.msCancelFullScreen();\n                    } else if (document.msExitFullscreen) {\n                        document.msExitFullscreen();\n                    }\n                    break;\n                case 'web':\n                    this.player.container.classList.remove('dplayer-fulled');\n                    document.body.classList.remove('dplayer-web-fullscreen-fix');\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}();\nexports.default = FullScreen;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\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            'subtitle_show',\n            'subtitle_hide',\n            'subtitle_change'\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}();\nexports.default = Events;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\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}();\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 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 + 'v3/?id=' + this.options.api.id + '&max=' + this.options.api.maximum;\n                } else {\n                    apiurl = this.options.api.address + 'v3/?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 _loop = function _loop(i) {\n                    _this2.options.apiBackend.read({\n                        url: endpoints[i],\n                        success: function success(data) {\n                            results[i] = data;\n                            ++readCount;\n                            if (readCount === endpoints.length) {\n                                callback(results);\n                            }\n                        },\n                        error: function error(msg) {\n                            _this2.options.error(msg || _this2.options.tran('Danmaku load failed'));\n                            results[i] = [];\n                            ++readCount;\n                            if (readCount === endpoints.length) {\n                                callback(results);\n                            }\n                        }\n                    });\n                };\n                for (var i = 0; i < endpoints.length; ++i) {\n                    _loop(i);\n                }\n            }\n        },\n        {\n            key: 'send',\n            value: function send(dan, callback) {\n                var _this3 = this;\n                var danmakuData = {\n                    token: this.options.api.token,\n                    id: 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({\n                    url: this.options.api.address + 'v3/',\n                    data: danmakuData,\n                    success: callback,\n                    error: function error(msg) {\n                        _this3.options.error(msg || _this3.options.tran('Danmaku send failed'));\n                    }\n                });\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 _this4 = 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                    _this4.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 _this5 = this;\n                if (this.showing) {\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 || _this5.container.getBoundingClientRect().right + eleWidth;\n                        return _this5.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 _loop2 = function _loop2(i) {\n                            var item = _this5.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                                        _this5.danTunnel[type][i + ''].push(ele);\n                                        ele.addEventListener('animationend', function () {\n                                            _this5.danTunnel[type][i + ''].splice(0, 1);\n                                        });\n                                        return { v: i % itemY };\n                                    }\n                                }\n                            } else {\n                                _this5.danTunnel[type][i + ''] = [ele];\n                                ele.addEventListener('animationend', function () {\n                                    _this5.danTunnel[type][i + ''].splice(0, 1);\n                                });\n                                return { v: i % itemY };\n                            }\n                        };\n                        for (var i = 0; _this5.unlimited || i < itemY; i++) {\n                            var _ret2 = _loop2(i);\n                            switch (_ret2) {\n                            case 'continue':\n                                continue;\n                            default:\n                                if ((typeof _ret2 === 'undefined' ? 'undefined' : _typeof(_ret2)) === 'object')\n                                    return _ret2.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 _loop3 = function _loop3(i) {\n                        dan[i].type = _utils2.default.number2Type(dan[i].type);\n                        if (!dan[i].color) {\n                            dan[i].color = 16777215;\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 = '<span style=\"border:' + dan[i].border + '\">' + dan[i].text + '</span>';\n                        } else {\n                            item.innerHTML = dan[i].text;\n                        }\n                        item.style.opacity = _this5._opacity;\n                        item.style.color = _utils2.default.number2Color(dan[i].color);\n                        item.addEventListener('animationend', function () {\n                            _this5.container.removeChild(item);\n                        });\n                        var itemWidth = _this5._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                        _loop3(i);\n                    }\n                    this.container.appendChild(docFragment);\n                    return docFragment;\n                }\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                this.clear();\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, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;').replace(/\"/g, '&quot;').replace(/'/g, '&#x27;').replace(/\\//g, '&#x2f;');\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}();\nexports.default = Danmaku;","'use strict';\nmodule.exports = false;\ntry {\n    module.exports = Object.prototype.toString.call(global.process) === '[object process]';\n} catch (e) {\n}","'use strict';\nvar detectNode = require('detect-node');\nvar runtime = Object.create(detectNode ? global : window);\nvar ESCAPE_REG = /[\"&'<>]/;\nruntime.$escape = function (content) {\n    return xmlEscape(toString(content));\n};\nruntime.$each = function (data, callback) {\n    if (Array.isArray(data)) {\n        for (var i = 0, len = data.length; i < len; i++) {\n            callback(data[i], i);\n        }\n    } else {\n        for (var _i in data) {\n            callback(data[_i], _i);\n        }\n    }\n};\nfunction toString(value) {\n    if (typeof value !== 'string') {\n        if (value === undefined || value === null) {\n            value = '';\n        } else if (typeof value === 'function') {\n            value = toString(value.call(value));\n        } else {\n            value = JSON.stringify(value);\n        }\n    }\n    return value;\n}\n;\nfunction xmlEscape(content) {\n    var html = '' + content;\n    var regexResult = ESCAPE_REG.exec(html);\n    if (!regexResult) {\n        return content;\n    }\n    var result = '';\n    var i = void 0, lastIndex = void 0, char = void 0;\n    for (i = regexResult.index, lastIndex = 0; i < html.length; i++) {\n        switch (html.charCodeAt(i)) {\n        case 34:\n            char = '&#34;';\n            break;\n        case 38:\n            char = '&#38;';\n            break;\n        case 39:\n            char = '&#39;';\n            break;\n        case 60:\n            char = '&#60;';\n            break;\n        case 62:\n            char = '&#62;';\n            break;\n        default:\n            continue;\n        }\n        if (lastIndex !== i) {\n            result += html.substring(lastIndex, i);\n        }\n        lastIndex = i + 1;\n        result += char;\n    }\n    if (lastIndex !== i) {\n        return result + html.substring(lastIndex, i);\n    } else {\n        return result;\n    }\n}\n;\nmodule.exports = runtime;","<div class=\"dplayer-mask\"></div>\n<div class=\"dplayer-video-wrap\">\n    {{ include './video.art' video }}\n    {{ if options.logo }}\n    <div class=\"dplayer-logo\">\n        <img src=\"{{ options.logo }}\">\n    </div>\n    {{ /if }}\n    <div class=\"dplayer-danmaku\"{{ if options.danmaku && options.danmaku.bottm }} style=\"margin-bottom:{{ options.danmaku.bottm }}\"{{ /if }}>\n        <div class=\"dplayer-danmaku-item dplayer-danmaku-item--demo\"></div>\n    </div>\n    <div class=\"dplayer-subtitle\"></div>\n    <div class=\"dplayer-bezel\">\n        <span class=\"dplayer-bezel-icon\"></span>\n        {{ if options.danmaku }}\n        <span class=\"dplayer-danloading\">{{ tran('Danmaku is loading') }}</span>\n        {{ /if }}\n        <span class=\"diplayer-loading-icon\">{{@ icons.loading }}</span>\n    </div>\n</div>\n<div class=\"dplayer-controller-mask\"></div>\n<div class=\"dplayer-controller\">\n    <div class=\"dplayer-icons dplayer-comment-box\">\n        <button class=\"dplayer-icon dplayer-comment-setting-icon\" data-balloon=\"{{ tran('Setting') }}\" data-balloon-pos=\"up\">\n            <span class=\"dplayer-icon-content\">{{@ icons.pallette }}</span>\n        </button>\n        <div class=\"dplayer-comment-setting-box\">\n            <div class=\"dplayer-comment-setting-color\">\n                <div class=\"dplayer-comment-setting-title\">{{ tran('Set danmaku color') }}</div>\n                <label>\n                    <input type=\"radio\" name=\"dplayer-danmaku-color-{{ index }}\" value=\"#fff\" checked>\n                    <span style=\"background: #fff;\"></span>\n                </label>\n                <label>\n                    <input type=\"radio\" name=\"dplayer-danmaku-color-{{ index }}\" value=\"#e54256\">\n                    <span style=\"background: #e54256\"></span>\n                </label>\n                <label>\n                    <input type=\"radio\" name=\"dplayer-danmaku-color-{{ index }}\" value=\"#ffe133\">\n                    <span style=\"background: #ffe133\"></span>\n                </label>\n                <label>\n                    <input type=\"radio\" name=\"dplayer-danmaku-color-{{ index }}\" value=\"#64DD17\">\n                    <span style=\"background: #64DD17\"></span>\n                </label>\n                <label>\n                    <input type=\"radio\" name=\"dplayer-danmaku-color-{{ index }}\" value=\"#39ccff\">\n                    <span style=\"background: #39ccff\"></span>\n                </label>\n                <label>\n                    <input type=\"radio\" name=\"dplayer-danmaku-color-{{ index }}\" value=\"#D500F9\">\n                    <span style=\"background: #D500F9\"></span>\n                </label>\n            </div>\n            <div class=\"dplayer-comment-setting-type\">\n                <div class=\"dplayer-comment-setting-title\">{{ tran('Set danmaku type') }}</div>\n                <label>\n                    <input type=\"radio\" name=\"dplayer-danmaku-type-{{ index }}\" value=\"1\">\n                    <span>{{ tran('Top') }}</span>\n                </label>\n                <label>\n                    <input type=\"radio\" name=\"dplayer-danmaku-type-{{ index }}\" value=\"0\" checked>\n                    <span>{{ tran('Rolling') }}</span>\n                </label>\n                <label>\n                    <input type=\"radio\" name=\"dplayer-danmaku-type-{{ index }}\" value=\"2\">\n                    <span>{{ tran('Bottom') }}</span>\n                </label>\n            </div>\n        </div>\n        <input class=\"dplayer-comment-input\" type=\"text\" placeholder=\"{{ tran('Input danmaku, hit Enter') }}\" maxlength=\"30\">\n        <button class=\"dplayer-icon dplayer-send-icon\" data-balloon=\"{{ tran('Send') }}\" data-balloon-pos=\"up\">\n            <span class=\"dplayer-icon-content\">{{@ icons.send }}</span>\n        </button>\n    </div>\n    <div class=\"dplayer-icons dplayer-icons-left\">\n        <button class=\"dplayer-icon dplayer-play-icon\">\n            <span class=\"dplayer-icon-content\">{{@ icons.play }}</span>\n        </button>\n        <div class=\"dplayer-volume\">\n            <button class=\"dplayer-icon dplayer-volume-icon\">\n                <span class=\"dplayer-icon-content\">{{@ icons.volumeDown }}</span>\n            </button>\n            <div class=\"dplayer-volume-bar-wrap\" data-balloon-pos=\"up\">\n                <div class=\"dplayer-volume-bar\">\n                    <div class=\"dplayer-volume-bar-inner\" style=\"background: {{ options.theme }};\">\n                        <span class=\"dplayer-thumb\" style=\"background: {{ options.theme }}\"></span>\n                    </div>\n                </div>\n            </div>\n        </div>\n        <span class=\"dplayer-time\">\n            <span class=\"dplayer-ptime\">0:00</span> /\n            <span class=\"dplayer-dtime\">0:00</span>\n        </span>\n        {{ if options.live }}\n        <span class=\"dplayer-live-badge\"><span class=\"dplayer-live-dot\" style=\"background: {{ options.theme }};\"></span>{{ tran('Live') }}</span>\n        {{ /if }}\n    </div>\n    <div class=\"dplayer-icons dplayer-icons-right\">\n        {{ if options.video.quality }}\n        <div class=\"dplayer-quality\">\n            <button class=\"dplayer-icon dplayer-quality-icon\">{{ options.video.quality[options.video.defaultQuality].name }}</button>\n            <div class=\"dplayer-quality-mask\">\n                <div class=\"dplayer-quality-list\">\n                {{ each options.video.quality }}\n                    <div class=\"dplayer-quality-item\" data-index=\"{{ $index }}\">{{ $value.name }}</div>\n                {{ /each }}\n                </div>\n            </div>\n        </div>\n        {{ /if }}\n        {{ if options.screenshot }}\n        <div class=\"dplayer-icon dplayer-camera-icon\" data-balloon=\"{{ tran('Screenshot') }}\" data-balloon-pos=\"up\">\n            <span class=\"dplayer-icon-content\">{{@ icons.camera }}</span>\n        </div>\n        {{ /if }}\n        <div class=\"dplayer-comment\">\n            <button class=\"dplayer-icon dplayer-comment-icon\" data-balloon=\"{{ tran('Send danmaku') }}\" data-balloon-pos=\"up\">\n                <span class=\"dplayer-icon-content\">{{@ icons.comment }}</span>\n            </button>\n        </div>\n        {{ if options.subtitle }}\n        <div class=\"dplayer-subtitle-btn\">\n            <button class=\"dplayer-icon dplayer-subtitle-icon\" data-balloon=\"{{ tran('Hide subtitle') }}\" data-balloon-pos=\"up\">\n                <span class=\"dplayer-icon-content\">{{@ icons.subtitle }}</span>\n            </button>\n        </div>\n        {{ /if }}\n        <div class=\"dplayer-setting\">\n            <button class=\"dplayer-icon dplayer-setting-icon\" data-balloon=\"{{ tran('Setting') }}\" data-balloon-pos=\"up\">\n                <span class=\"dplayer-icon-content\">{{@ icons.setting }}</span>\n            </button>\n            <div class=\"dplayer-setting-box\">\n                <div class=\"dplayer-setting-origin-panel\">\n                    <div class=\"dplayer-setting-item dplayer-setting-speed\">\n                        <span class=\"dplayer-label\">{{ tran('Speed') }}</span>\n                        <div class=\"dplayer-toggle\">{{@ icons.right }}</div>\n                    </div>\n                    <div class=\"dplayer-setting-item dplayer-setting-loop\">\n                        <span class=\"dplayer-label\">{{ tran('Loop') }}</span>\n                        <div class=\"dplayer-toggle\">\n                            <input class=\"dplayer-toggle-setting-input\" type=\"checkbox\" name=\"dplayer-toggle\">\n                            <label for=\"dplayer-toggle\"></label>\n                        </div>\n                    </div>\n                    <div class=\"dplayer-setting-item dplayer-setting-showdan\">\n                        <span class=\"dplayer-label\">{{ tran('Show danmaku') }}</span>\n                        <div class=\"dplayer-toggle\">\n                            <input class=\"dplayer-showdan-setting-input\" type=\"checkbox\" name=\"dplayer-toggle-dan\">\n                            <label for=\"dplayer-toggle-dan\"></label>\n                        </div>\n                    </div>\n                    <div class=\"dplayer-setting-item dplayer-setting-danunlimit\">\n                        <span class=\"dplayer-label\">{{ tran('Unlimited danmaku') }}</span>\n                        <div class=\"dplayer-toggle\">\n                            <input class=\"dplayer-danunlimit-setting-input\" type=\"checkbox\" name=\"dplayer-toggle-danunlimit\">\n                            <label for=\"dplayer-toggle-danunlimit\"></label>\n                        </div>\n                    </div>\n                    <div class=\"dplayer-setting-item dplayer-setting-danmaku\">\n                        <span class=\"dplayer-label\">{{ tran('Opacity for danmaku') }}</span>\n                        <div class=\"dplayer-danmaku-bar-wrap\">\n                            <div class=\"dplayer-danmaku-bar\">\n                                <div class=\"dplayer-danmaku-bar-inner\">\n                                    <span class=\"dplayer-thumb\"></span>\n                                </div>\n                            </div>\n                        </div>\n                    </div>\n                </div>\n                <div class=\"dplayer-setting-speed-panel\">\n                    <div class=\"dplayer-setting-speed-item\" data-speed=\"0.5\">\n                        <span class=\"dplayer-label\">0.5</span>\n                    </div>\n                    <div class=\"dplayer-setting-speed-item\" data-speed=\"0.75\">\n                        <span class=\"dplayer-label\">0.75</span>\n                    </div>\n                    <div class=\"dplayer-setting-speed-item\" data-speed=\"1\">\n                        <span class=\"dplayer-label\">{{ tran('Normal') }}</span>\n                    </div>\n                    <div class=\"dplayer-setting-speed-item\" data-speed=\"1.25\">\n                        <span class=\"dplayer-label\">1.25</span>\n                    </div>\n                    <div class=\"dplayer-setting-speed-item\" data-speed=\"1.5\">\n                        <span class=\"dplayer-label\">1.5</span>\n                    </div>\n                    <div class=\"dplayer-setting-speed-item\" data-speed=\"2\">\n                        <span class=\"dplayer-label\">2</span>\n                    </div>\n                </div>\n            </div>\n        </div>\n        <div class=\"dplayer-full\">\n            <button class=\"dplayer-icon dplayer-full-in-icon\" data-balloon=\"{{ tran('Web full screen') }}\" data-balloon-pos=\"up\">\n                <span class=\"dplayer-icon-content\">{{@ icons.fullWeb }}</span>\n            </button>\n            <button class=\"dplayer-icon dplayer-full-icon\" data-balloon=\"{{ tran('Full screen') }}\" data-balloon-pos=\"up\">\n                <span class=\"dplayer-icon-content\">{{@ icons.full }}</span>\n            </button>\n        </div>\n    </div>\n    <div class=\"dplayer-bar-wrap\">\n        <div class=\"dplayer-bar-time hidden\">00:00</div>\n        <div class=\"dplayer-bar-preview\"></div>\n        <div class=\"dplayer-bar\">\n            <div class=\"dplayer-loaded\" style=\"width: 0;\"></div>\n            <div class=\"dplayer-played\" style=\"width: 0; background: {{ options.theme }}\">\n                <span class=\"dplayer-thumb\" style=\"background: {{ options.theme }}\"></span>\n            </div>\n        </div>\n    </div>\n</div>\n<div class=\"dplayer-info-panel dplayer-info-panel-hide\">\n    <div class=\"dplayer-info-panel-close\">[x]</div>\n    <div class=\"dplayer-info-panel-item dplayer-info-panel-item-version\">\n        <span class=\"dplayer-info-panel-item-title\">Player version</span>\n        <span class=\"dplayer-info-panel-item-data\"></span>\n    </div>\n    <div class=\"dplayer-info-panel-item dplayer-info-panel-item-fps\">\n        <span class=\"dplayer-info-panel-item-title\">Player FPS</span>\n        <span class=\"dplayer-info-panel-item-data\"></span>\n    </div>\n    <div class=\"dplayer-info-panel-item dplayer-info-panel-item-type\">\n        <span class=\"dplayer-info-panel-item-title\">Video type</span>\n        <span class=\"dplayer-info-panel-item-data\"></span>\n    </div>\n    <div class=\"dplayer-info-panel-item dplayer-info-panel-item-url\">\n        <span class=\"dplayer-info-panel-item-title\">Video url</span>\n        <span class=\"dplayer-info-panel-item-data\"></span>\n    </div>\n    <div class=\"dplayer-info-panel-item dplayer-info-panel-item-resolution\">\n        <span class=\"dplayer-info-panel-item-title\">Video resolution</span>\n        <span class=\"dplayer-info-panel-item-data\"></span>\n    </div>\n    <div class=\"dplayer-info-panel-item dplayer-info-panel-item-duration\">\n        <span class=\"dplayer-info-panel-item-title\">Video duration</span>\n        <span class=\"dplayer-info-panel-item-data\"></span>\n    </div>\n    {{ if options.danmaku }}\n    <div class=\"dplayer-info-panel-item dplayer-info-panel-item-danmaku-id\">\n        <span class=\"dplayer-info-panel-item-title\">Danamku id</span>\n        <span class=\"dplayer-info-panel-item-data\"></span>\n    </div>\n    <div class=\"dplayer-info-panel-item dplayer-info-panel-item-danmaku-api\">\n        <span class=\"dplayer-info-panel-item-title\">Danamku api</span>\n        <span class=\"dplayer-info-panel-item-data\"></span>\n    </div>\n    <div class=\"dplayer-info-panel-item dplayer-info-panel-item-danmaku-amount\">\n        <span class=\"dplayer-info-panel-item-title\">Danamku amount</span>\n        <span class=\"dplayer-info-panel-item-data\"></span>\n    </div>\n    {{ /if }}\n</div>\n<div class=\"dplayer-menu\">\n    {{ each options.contextmenu }}\n        <div class=\"dplayer-menu-item\">\n            <a{{ if $value.link }} target=\"_blank\"{{ /if }} href=\"{{ $value.link || 'javascript:void(0);' }}\">{{ tran($value.text) }}</a>\n        </div>\n    {{ /each }}\n</div>\n<div class=\"dplayer-notice\"></div>","module.exports = \"<svg version=\\\"1.1\\\" viewBox=\\\"0 0 22 22\\\"><svg x=\\\"7\\\" y=\\\"1\\\"><circle class=\\\"diplayer-loading-dot diplayer-loading-dot-0\\\" cx=\\\"4\\\" cy=\\\"4\\\" r=\\\"2\\\"></circle></svg><svg x=\\\"11\\\" y=\\\"3\\\"><circle class=\\\"diplayer-loading-dot diplayer-loading-dot-1\\\" cx=\\\"4\\\" cy=\\\"4\\\" r=\\\"2\\\"></circle></svg><svg x=\\\"13\\\" y=\\\"7\\\"><circle class=\\\"diplayer-loading-dot diplayer-loading-dot-2\\\" cx=\\\"4\\\" cy=\\\"4\\\" r=\\\"2\\\"></circle></svg><svg x=\\\"11\\\" y=\\\"11\\\"><circle class=\\\"diplayer-loading-dot diplayer-loading-dot-3\\\" cx=\\\"4\\\" cy=\\\"4\\\" r=\\\"2\\\"></circle></svg><svg x=\\\"7\\\" y=\\\"13\\\"><circle class=\\\"diplayer-loading-dot diplayer-loading-dot-4\\\" cx=\\\"4\\\" cy=\\\"4\\\" r=\\\"2\\\"></circle></svg><svg x=\\\"3\\\" y=\\\"11\\\"><circle class=\\\"diplayer-loading-dot diplayer-loading-dot-5\\\" cx=\\\"4\\\" cy=\\\"4\\\" r=\\\"2\\\"></circle></svg><svg x=\\\"1\\\" y=\\\"7\\\"><circle class=\\\"diplayer-loading-dot diplayer-loading-dot-6\\\" cx=\\\"4\\\" cy=\\\"4\\\" r=\\\"2\\\"></circle></svg><svg x=\\\"3\\\" y=\\\"3\\\"><circle class=\\\"diplayer-loading-dot diplayer-loading-dot-7\\\" cx=\\\"4\\\" cy=\\\"4\\\" r=\\\"2\\\"></circle></svg></svg>\"","module.exports = \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" version=\\\"1.1\\\" viewBox=\\\"0 0 32 32\\\"><path d=\\\"M26.667 5.333h-21.333c-0 0-0.001 0-0.001 0-1.472 0-2.666 1.194-2.666 2.666 0 0 0 0.001 0 0.001v-0 16c0 0 0 0.001 0 0.001 0 1.472 1.194 2.666 2.666 2.666 0 0 0.001 0 0.001 0h21.333c0 0 0.001 0 0.001 0 1.472 0 2.666-1.194 2.666-2.666 0-0 0-0.001 0-0.001v0-16c0-0 0-0.001 0-0.001 0-1.472-1.194-2.666-2.666-2.666-0 0-0.001 0-0.001 0h0zM5.333 16h5.333v2.667h-5.333v-2.667zM18.667 24h-13.333v-2.667h13.333v2.667zM26.667 24h-5.333v-2.667h5.333v2.667zM26.667 18.667h-13.333v-2.667h13.333v2.667z\\\"></path></svg>\"","module.exports = \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" version=\\\"1.1\\\" viewBox=\\\"0 0 32 32\\\"><path d=\\\"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\\\"></path></svg>\"","module.exports = \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" version=\\\"1.1\\\" viewBox=\\\"0 0 32 32\\\"><path d=\\\"M19.357 2.88c1.749 0 3.366 0.316 4.851 0.946 1.485 0.632 2.768 1.474 3.845 2.533s1.922 2.279 2.532 3.661c0.611 1.383 0.915 2.829 0.915 4.334 0 1.425-0.304 2.847-0.915 4.271-0.611 1.425-1.587 2.767-2.928 4.028-0.855 0.813-1.811 1.607-2.869 2.38s-2.136 1.465-3.233 2.075c-1.099 0.61-2.198 1.098-3.296 1.465-1.098 0.366-2.115 0.549-3.051 0.549-1.343 0-2.441-0.438-3.296-1.311-0.854-0.876-1.281-2.41-1.281-4.608 0-0.366 0.020-0.773 0.060-1.221s0.062-0.895 0.062-1.343c0-0.773-0.183-1.353-0.55-1.738-0.366-0.387-0.793-0.58-1.281-0.58-0.652 0-1.21 0.295-1.678 0.886s-0.926 1.23-1.373 1.921c-0.447 0.693-0.905 1.334-1.372 1.923s-1.028 0.886-1.679 0.886c-0.529 0-1.048-0.427-1.556-1.282s-0.763-2.259-0.763-4.212c0-2.197 0.529-4.241 1.587-6.133s2.462-3.529 4.21-4.912c1.75-1.383 3.762-2.471 6.041-3.264 2.277-0.796 4.617-1.212 7.018-1.253zM7.334 15.817c0.569 0 1.047-0.204 1.434-0.611s0.579-0.875 0.579-1.404c0-0.569-0.193-1.047-0.579-1.434s-0.864-0.579-1.434-0.579c-0.529 0-0.987 0.193-1.373 0.579s-0.58 0.864-0.58 1.434c0 0.53 0.194 0.998 0.58 1.404 0.388 0.407 0.845 0.611 1.373 0.611zM12.216 11.79c0.691 0 1.292-0.254 1.8-0.763s0.762-1.107 0.762-1.8c0-0.732-0.255-1.343-0.762-1.831-0.509-0.489-1.109-0.732-1.8-0.732-0.732 0-1.342 0.244-1.831 0.732-0.488 0.488-0.732 1.098-0.732 1.831 0 0.693 0.244 1.292 0.732 1.8s1.099 0.763 1.831 0.763zM16.366 25.947c0.692 0 1.282-0.214 1.77-0.64s0.732-0.987 0.732-1.678-0.244-1.261-0.732-1.709c-0.489-0.448-1.078-0.671-1.77-0.671-0.65 0-1.21 0.223-1.678 0.671s-0.702 1.018-0.702 1.709c0 0.692 0.234 1.25 0.702 1.678s1.027 0.64 1.678 0.64zM19.113 9.592c0.651 0 1.129-0.203 1.433-0.611 0.305-0.406 0.459-0.874 0.459-1.404 0-0.488-0.154-0.947-0.459-1.373-0.304-0.427-0.782-0.641-1.433-0.641-0.529 0-1.008 0.193-1.434 0.58s-0.64 0.865-0.64 1.434c0 0.571 0.213 1.049 0.64 1.434 0.427 0.389 0.905 0.581 1.434 0.581zM24.848 12.826c0.57 0 1.067-0.213 1.495-0.64 0.427-0.427 0.64-0.947 0.64-1.556 0-0.57-0.214-1.068-0.64-1.495-0.428-0.427-0.927-0.64-1.495-0.64-0.611 0-1.129 0.213-1.555 0.64-0.428 0.427-0.642 0.926-0.642 1.495 0 0.611 0.213 1.129 0.642 1.556s0.947 0.64 1.555 0.64z\\\"></path></svg>\"","module.exports = \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" version=\\\"1.1\\\" viewBox=\\\"0 0 32 32\\\"><path d=\\\"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\\\"></path></svg>\"","module.exports = \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" version=\\\"1.1\\\" viewBox=\\\"0 0 32 32\\\"><path d=\\\"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\\\"></path></svg>\"","module.exports = \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" version=\\\"1.1\\\" viewBox=\\\"0 0 32 32\\\"><path d=\\\"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\\\"></path></svg>\"","module.exports = \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" version=\\\"1.1\\\" viewBox=\\\"0 0 32 32\\\"><path d=\\\"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\\\"></path></svg>\"","module.exports = \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" version=\\\"1.1\\\" viewBox=\\\"0 0 32 28\\\"><path d=\\\"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\\\"></path></svg>\"","module.exports = \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" version=\\\"1.1\\\" viewBox=\\\"0 0 32 33\\\"><path d=\\\"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\\\"></path></svg>\"","module.exports = \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" version=\\\"1.1\\\" viewBox=\\\"0 0 32 33\\\"><path d=\\\"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\\\"></path></svg>\"","module.exports = \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" version=\\\"1.1\\\" viewBox=\\\"0 0 21 32\\\"><path d=\\\"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\\\"></path></svg>\"","module.exports = \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" version=\\\"1.1\\\" viewBox=\\\"0 0 21 32\\\"><path d=\\\"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\\\"></path></svg>\"","module.exports = \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" version=\\\"1.1\\\" viewBox=\\\"0 0 21 32\\\"><path d=\\\"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.056z\\\"></path></svg>\"","module.exports = \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" version=\\\"1.1\\\" viewBox=\\\"0 0 17 32\\\"><path d=\\\"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\\\"></path></svg>\"","module.exports = \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" version=\\\"1.1\\\" viewBox=\\\"0 0 16 32\\\"><path d=\\\"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\\\"></path></svg>\"","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\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 _icons = require('./icons');\nvar _icons2 = _interopRequireDefault(_icons);\nvar _player = require('../template/player.art');\nvar _player2 = _interopRequireDefault(_player);\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 Template = function () {\n    function Template(options) {\n        _classCallCheck(this, Template);\n        this.container = options.container;\n        this.options = options.options;\n        this.index = options.index;\n        this.tran = options.tran;\n        this.init();\n    }\n    _createClass(Template, [{\n            key: 'init',\n            value: function init() {\n                this.container.innerHTML = (0, _player2.default)({\n                    options: this.options,\n                    index: this.index,\n                    tran: this.tran,\n                    icons: _icons2.default,\n                    video: {\n                        current: true,\n                        pic: this.options.video.pic,\n                        screenshot: this.options.screenshot,\n                        preload: this.options.preload,\n                        url: this.options.video.url,\n                        subtitle: this.options.subtitle\n                    }\n                });\n                this.volumeBar = this.container.querySelector('.dplayer-volume-bar-inner');\n                this.volumeBarWrap = this.container.querySelector('.dplayer-volume-bar');\n                this.volumeBarWrapWrap = this.container.querySelector('.dplayer-volume-bar-wrap');\n                this.volumeButton = this.container.querySelector('.dplayer-volume');\n                this.volumeButtonIcon = this.container.querySelector('.dplayer-volume-icon');\n                this.volumeIcon = this.container.querySelector('.dplayer-volume-icon .dplayer-icon-content');\n                this.playedBar = this.container.querySelector('.dplayer-played');\n                this.loadedBar = this.container.querySelector('.dplayer-loaded');\n                this.playedBarWrap = this.container.querySelector('.dplayer-bar-wrap');\n                this.playedBarTime = this.container.querySelector('.dplayer-bar-time');\n                this.danmaku = this.container.querySelector('.dplayer-danmaku');\n                this.danmakuLoading = this.container.querySelector('.dplayer-danloading');\n                this.video = this.container.querySelector('.dplayer-video-current');\n                this.bezel = this.container.querySelector('.dplayer-bezel-icon');\n                this.playButton = this.container.querySelector('.dplayer-play-icon');\n                this.videoWrap = this.container.querySelector('.dplayer-video-wrap');\n                this.controllerMask = this.container.querySelector('.dplayer-controller-mask');\n                this.ptime = this.container.querySelector('.dplayer-ptime');\n                this.settingButton = this.container.querySelector('.dplayer-setting-icon');\n                this.settingBox = this.container.querySelector('.dplayer-setting-box');\n                this.mask = this.container.querySelector('.dplayer-mask');\n                this.loop = this.container.querySelector('.dplayer-setting-loop');\n                this.loopToggle = this.container.querySelector('.dplayer-setting-loop .dplayer-toggle-setting-input');\n                this.showDanmaku = this.container.querySelector('.dplayer-setting-showdan');\n                this.showDanmakuToggle = this.container.querySelector('.dplayer-showdan-setting-input');\n                this.unlimitDanmaku = this.container.querySelector('.dplayer-setting-danunlimit');\n                this.unlimitDanmakuToggle = this.container.querySelector('.dplayer-danunlimit-setting-input');\n                this.speed = this.container.querySelector('.dplayer-setting-speed');\n                this.speedItem = this.container.querySelectorAll('.dplayer-setting-speed-item');\n                this.danmakuOpacityBar = this.container.querySelector('.dplayer-danmaku-bar-inner');\n                this.danmakuOpacityBarWrap = this.container.querySelector('.dplayer-danmaku-bar');\n                this.danmakuOpacityBarWrapWrap = this.container.querySelector('.dplayer-danmaku-bar-wrap');\n                this.danmakuOpacityBox = this.container.querySelector('.dplayer-setting-danmaku');\n                this.dtime = this.container.querySelector('.dplayer-dtime');\n                this.controller = this.container.querySelector('.dplayer-controller');\n                this.commentInput = this.container.querySelector('.dplayer-comment-input');\n                this.commentButton = this.container.querySelector('.dplayer-comment-icon');\n                this.commentSettingBox = this.container.querySelector('.dplayer-comment-setting-box');\n                this.commentSettingButton = this.container.querySelector('.dplayer-comment-setting-icon');\n                this.commentSettingFill = this.container.querySelector('.dplayer-comment-setting-icon path');\n                this.commentSendButton = this.container.querySelector('.dplayer-send-icon');\n                this.commentSendFill = this.container.querySelector('.dplayer-send-icon path');\n                this.commentColorSettingBox = this.container.querySelector('.dplayer-comment-setting-color');\n                this.browserFullButton = this.container.querySelector('.dplayer-full-icon');\n                this.webFullButton = this.container.querySelector('.dplayer-full-in-icon');\n                this.menu = this.container.querySelector('.dplayer-menu');\n                this.menuItem = this.container.querySelectorAll('.dplayer-menu-item');\n                this.qualityList = this.container.querySelector('.dplayer-quality-list');\n                this.camareButton = this.container.querySelector('.dplayer-camera-icon');\n                this.subtitleButton = this.container.querySelector('.dplayer-subtitle-icon');\n                this.subtitleButtonInner = this.container.querySelector('.dplayer-subtitle-icon .dplayer-icon-content');\n                this.subtitle = this.container.querySelector('.dplayer-subtitle');\n                this.qualityButton = this.container.querySelector('.dplayer-quality-icon');\n                this.barPreview = this.container.querySelector('.dplayer-bar-preview');\n                this.barWrap = this.container.querySelector('.dplayer-bar-wrap');\n                this.notice = this.container.querySelector('.dplayer-notice');\n                this.infoPanel = this.container.querySelector('.dplayer-info-panel');\n                this.infoPanelClose = this.container.querySelector('.dplayer-info-panel-close');\n                this.infoVersion = this.container.querySelector('.dplayer-info-panel-item-version .dplayer-info-panel-item-data');\n                this.infoFPS = this.container.querySelector('.dplayer-info-panel-item-fps .dplayer-info-panel-item-data');\n                this.infoType = this.container.querySelector('.dplayer-info-panel-item-type .dplayer-info-panel-item-data');\n                this.infoUrl = this.container.querySelector('.dplayer-info-panel-item-url .dplayer-info-panel-item-data');\n                this.infoResolution = this.container.querySelector('.dplayer-info-panel-item-resolution .dplayer-info-panel-item-data');\n                this.infoDuration = this.container.querySelector('.dplayer-info-panel-item-duration .dplayer-info-panel-item-data');\n                this.infoDanmakuId = this.container.querySelector('.dplayer-info-panel-item-danmaku-id .dplayer-info-panel-item-data');\n                this.infoDanmakuApi = this.container.querySelector('.dplayer-info-panel-item-danmaku-api .dplayer-info-panel-item-data');\n                this.infoDanmakuAmount = this.container.querySelector('.dplayer-info-panel-item-danmaku-amount .dplayer-info-panel-item-data');\n            }\n        }]);\n    return Template;\n}();\nexports.default = Template;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nfunction i18n(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        'Video load failed': '视频加载失败',\n        'Danmaku load failed': '弹幕加载失败',\n        'Danmaku send failed': '弹幕发送失败',\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        'Show subtitle': '显示字幕',\n        'Hide subtitle': '隐藏字幕',\n        'Volume': '音量',\n        'Live': '直播',\n        'Video info': '视频统计信息'\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        'Video load failed': '影片載入失敗',\n        'Danmaku load failed': '彈幕載入失敗',\n        'Danmaku send failed': '彈幕發送失敗',\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        'Show subtitle': '顯示字幕',\n        'Hide subtitle': '隱藏字幕',\n        'Volume': '音量',\n        'Live': '直播',\n        'Video info': '影片統計訊息'\n    }\n};\nexports.default = i18n;","'use strict';\nmodule.exports = function spread(callback) {\n    return function wrap(arr) {\n        return callback.apply(null, arr);\n    };\n};","'use strict';\nvar Cancel = require('./Cancel');\nfunction CancelToken(executor) {\n    if (typeof executor !== 'function') {\n        throw new TypeError('executor must be a function.');\n    }\n    var resolvePromise;\n    this.promise = new Promise(function promiseExecutor(resolve) {\n        resolvePromise = resolve;\n    });\n    var token = this;\n    executor(function cancel(message) {\n        if (token.reason) {\n            return;\n        }\n        token.reason = new Cancel(message);\n        resolvePromise(token.reason);\n    });\n}\nCancelToken.prototype.throwIfRequested = function throwIfRequested() {\n    if (this.reason) {\n        throw this.reason;\n    }\n};\nCancelToken.source = function source() {\n    var cancel;\n    var token = new CancelToken(function executor(c) {\n        cancel = c;\n    });\n    return {\n        token: token,\n        cancel: cancel\n    };\n};\nmodule.exports = CancelToken;","'use strict';\nmodule.exports = function combineURLs(baseURL, relativeURL) {\n    return relativeURL ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '') : baseURL;\n};","'use strict';\nmodule.exports = function isAbsoluteURL(url) {\n    return /^([a-z][a-z\\d\\+\\-\\.]*:)?\\/\\//i.test(url);\n};","'use strict';\nvar utils = require('./../utils');\nmodule.exports = function transformData(data, headers, fns) {\n    utils.forEach(fns, function transform(fn) {\n        data = fn(data, headers);\n    });\n    return data;\n};","'use strict';\nvar utils = require('./../utils');\nvar transformData = require('./transformData');\nvar isCancel = require('../cancel/isCancel');\nvar defaults = require('../defaults');\nvar isAbsoluteURL = require('./../helpers/isAbsoluteURL');\nvar combineURLs = require('./../helpers/combineURLs');\nfunction throwIfCancellationRequested(config) {\n    if (config.cancelToken) {\n        config.cancelToken.throwIfRequested();\n    }\n}\nmodule.exports = function dispatchRequest(config) {\n    throwIfCancellationRequested(config);\n    if (config.baseURL && !isAbsoluteURL(config.url)) {\n        config.url = combineURLs(config.baseURL, config.url);\n    }\n    config.headers = config.headers || {};\n    config.data = transformData(config.data, config.headers, config.transformRequest);\n    config.headers = utils.merge(config.headers.common || {}, config.headers[config.method] || {}, config.headers || {});\n    utils.forEach([\n        'delete',\n        'get',\n        'head',\n        'post',\n        'put',\n        'patch',\n        'common'\n    ], function cleanHeaderConfig(method) {\n        delete config.headers[method];\n    });\n    var adapter = config.adapter || defaults.adapter;\n    return adapter(config).then(function onAdapterResolution(response) {\n        throwIfCancellationRequested(config);\n        response.data = transformData(response.data, response.headers, config.transformResponse);\n        return response;\n    }, function onAdapterRejection(reason) {\n        if (!isCancel(reason)) {\n            throwIfCancellationRequested(config);\n            if (reason && reason.response) {\n                reason.response.data = transformData(reason.response.data, reason.response.headers, config.transformResponse);\n            }\n        }\n        return Promise.reject(reason);\n    });\n};","'use strict';\nvar utils = require('./../utils');\nfunction InterceptorManager() {\n    this.handlers = [];\n}\nInterceptorManager.prototype.use = function use(fulfilled, rejected) {\n    this.handlers.push({\n        fulfilled: fulfilled,\n        rejected: rejected\n    });\n    return this.handlers.length - 1;\n};\nInterceptorManager.prototype.eject = function eject(id) {\n    if (this.handlers[id]) {\n        this.handlers[id] = null;\n    }\n};\nInterceptorManager.prototype.forEach = function forEach(fn) {\n    utils.forEach(this.handlers, function forEachHandler(h) {\n        if (h !== null) {\n            fn(h);\n        }\n    });\n};\nmodule.exports = InterceptorManager;","'use strict';\nvar utils = require('./../utils');\nmodule.exports = utils.isStandardBrowserEnv() ? function standardBrowserEnv() {\n    return {\n        write: function write(name, value, expires, path, domain, secure) {\n            var cookie = [];\n            cookie.push(name + '=' + encodeURIComponent(value));\n            if (utils.isNumber(expires)) {\n                cookie.push('expires=' + new Date(expires).toGMTString());\n            }\n            if (utils.isString(path)) {\n                cookie.push('path=' + path);\n            }\n            if (utils.isString(domain)) {\n                cookie.push('domain=' + domain);\n            }\n            if (secure === true) {\n                cookie.push('secure');\n            }\n            document.cookie = cookie.join('; ');\n        },\n        read: function read(name) {\n            var match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n            return match ? decodeURIComponent(match[3]) : null;\n        },\n        remove: function remove(name) {\n            this.write(name, '', Date.now() - 86400000);\n        }\n    };\n}() : function nonStandardBrowserEnv() {\n    return {\n        write: function write() {\n        },\n        read: function read() {\n            return null;\n        },\n        remove: function remove() {\n        }\n    };\n}();","'use strict';\nvar chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';\nfunction E() {\n    this.message = 'String contains an invalid character';\n}\nE.prototype = new Error();\nE.prototype.code = 5;\nE.prototype.name = 'InvalidCharacterError';\nfunction btoa(input) {\n    var str = String(input);\n    var output = '';\n    for (var block, charCode, idx = 0, map = chars; str.charAt(idx | 0) || (map = '=', idx % 1); output += map.charAt(63 & block >> 8 - idx % 1 * 8)) {\n        charCode = str.charCodeAt(idx += 3 / 4);\n        if (charCode > 255) {\n            throw new E();\n        }\n        block = block << 8 | charCode;\n    }\n    return output;\n}\nmodule.exports = btoa;","'use strict';\nvar utils = require('./../utils');\nmodule.exports = utils.isStandardBrowserEnv() ? function standardBrowserEnv() {\n    var msie = /(msie|trident)/i.test(navigator.userAgent);\n    var urlParsingNode = document.createElement('a');\n    var originURL;\n    function resolveURL(url) {\n        var href = url;\n        if (msie) {\n            urlParsingNode.setAttribute('href', href);\n            href = urlParsingNode.href;\n        }\n        urlParsingNode.setAttribute('href', href);\n        return {\n            href: urlParsingNode.href,\n            protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n            host: urlParsingNode.host,\n            search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n            hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n            hostname: urlParsingNode.hostname,\n            port: urlParsingNode.port,\n            pathname: urlParsingNode.pathname.charAt(0) === '/' ? urlParsingNode.pathname : '/' + urlParsingNode.pathname\n        };\n    }\n    originURL = resolveURL(window.location.href);\n    return function isURLSameOrigin(requestURL) {\n        var parsed = utils.isString(requestURL) ? resolveURL(requestURL) : requestURL;\n        return parsed.protocol === originURL.protocol && parsed.host === originURL.host;\n    };\n}() : function nonStandardBrowserEnv() {\n    return function isURLSameOrigin() {\n        return true;\n    };\n}();","'use strict';\nvar utils = require('./../utils');\nvar ignoreDuplicateOf = [\n    'age',\n    'authorization',\n    'content-length',\n    'content-type',\n    'etag',\n    'expires',\n    'from',\n    'host',\n    'if-modified-since',\n    'if-unmodified-since',\n    'last-modified',\n    'location',\n    'max-forwards',\n    'proxy-authorization',\n    'referer',\n    'retry-after',\n    'user-agent'\n];\nmodule.exports = function parseHeaders(headers) {\n    var parsed = {};\n    var key;\n    var val;\n    var i;\n    if (!headers) {\n        return parsed;\n    }\n    utils.forEach(headers.split('\\n'), function parser(line) {\n        i = line.indexOf(':');\n        key = utils.trim(line.substr(0, i)).toLowerCase();\n        val = utils.trim(line.substr(i + 1));\n        if (key) {\n            if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {\n                return;\n            }\n            if (key === 'set-cookie') {\n                parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);\n            } else {\n                parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n            }\n        }\n    });\n    return parsed;\n};","'use strict';\nvar utils = require('./../utils');\nfunction encode(val) {\n    return encodeURIComponent(val).replace(/%40/gi, '@').replace(/%3A/gi, ':').replace(/%24/g, '$').replace(/%2C/gi, ',').replace(/%20/g, '+').replace(/%5B/gi, '[').replace(/%5D/gi, ']');\n}\nmodule.exports = function buildURL(url, params, paramsSerializer) {\n    if (!params) {\n        return url;\n    }\n    var serializedParams;\n    if (paramsSerializer) {\n        serializedParams = paramsSerializer(params);\n    } else if (utils.isURLSearchParams(params)) {\n        serializedParams = params.toString();\n    } else {\n        var parts = [];\n        utils.forEach(params, function serialize(val, key) {\n            if (val === null || typeof val === 'undefined') {\n                return;\n            }\n            if (utils.isArray(val)) {\n                key = key + '[]';\n            } else {\n                val = [val];\n            }\n            utils.forEach(val, function parseValue(v) {\n                if (utils.isDate(v)) {\n                    v = v.toISOString();\n                } else if (utils.isObject(v)) {\n                    v = JSON.stringify(v);\n                }\n                parts.push(encode(key) + '=' + encode(v));\n            });\n        });\n        serializedParams = parts.join('&');\n    }\n    if (serializedParams) {\n        url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n    }\n    return url;\n};","'use strict';\nmodule.exports = function enhanceError(error, config, code, request, response) {\n    error.config = config;\n    if (code) {\n        error.code = code;\n    }\n    error.request = request;\n    error.response = response;\n    return error;\n};","'use strict';\nvar createError = require('./createError');\nmodule.exports = function settle(resolve, reject, response) {\n    var validateStatus = response.config.validateStatus;\n    if (!response.status || !validateStatus || validateStatus(response.status)) {\n        resolve(response);\n    } else {\n        reject(createError('Request failed with status code ' + response.status, response.config, null, response.request, response));\n    }\n};","'use strict';\nvar utils = require('../utils');\nmodule.exports = function normalizeHeaderName(headers, normalizedName) {\n    utils.forEach(headers, function processHeader(value, name) {\n        if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {\n            headers[normalizedName] = value;\n            delete headers[name];\n        }\n    });\n};","'use strict';\nvar defaults = require('./../defaults');\nvar utils = require('./../utils');\nvar InterceptorManager = require('./InterceptorManager');\nvar dispatchRequest = require('./dispatchRequest');\nfunction Axios(instanceConfig) {\n    this.defaults = instanceConfig;\n    this.interceptors = {\n        request: new InterceptorManager(),\n        response: new InterceptorManager()\n    };\n}\nAxios.prototype.request = function request(config) {\n    if (typeof config === 'string') {\n        config = utils.merge({ url: arguments[0] }, arguments[1]);\n    }\n    config = utils.merge(defaults, { method: 'get' }, this.defaults, config);\n    config.method = config.method.toLowerCase();\n    var chain = [\n        dispatchRequest,\n        undefined\n    ];\n    var promise = Promise.resolve(config);\n    this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n        chain.unshift(interceptor.fulfilled, interceptor.rejected);\n    });\n    this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n        chain.push(interceptor.fulfilled, interceptor.rejected);\n    });\n    while (chain.length) {\n        promise = promise.then(chain.shift(), chain.shift());\n    }\n    return promise;\n};\nutils.forEach([\n    'delete',\n    'get',\n    'head',\n    'options'\n], function forEachMethodNoData(method) {\n    Axios.prototype[method] = function (url, config) {\n        return this.request(utils.merge(config || {}, {\n            method: method,\n            url: url\n        }));\n    };\n});\nutils.forEach([\n    'post',\n    'put',\n    'patch'\n], function forEachMethodWithData(method) {\n    Axios.prototype[method] = function (url, data, config) {\n        return this.request(utils.merge(config || {}, {\n            method: method,\n            url: url,\n            data: data\n        }));\n    };\n});\nmodule.exports = Axios;","'use strict';\nmodule.exports = function (obj) {\n    return obj != null && (isBuffer(obj) || isSlowBuffer(obj) || !!obj._isBuffer);\n};\nfunction isBuffer(obj) {\n    return !!obj.constructor && typeof obj.constructor.isBuffer === 'function' && obj.constructor.isBuffer(obj);\n}\nfunction isSlowBuffer(obj) {\n    return typeof obj.readFloatLE === 'function' && typeof obj.slice === 'function' && isBuffer(obj.slice(0, 0));\n}","'use strict';\nvar utils = require('./utils');\nvar bind = require('./helpers/bind');\nvar Axios = require('./core/Axios');\nvar defaults = require('./defaults');\nfunction createInstance(defaultConfig) {\n    var context = new Axios(defaultConfig);\n    var instance = bind(Axios.prototype.request, context);\n    utils.extend(instance, Axios.prototype, context);\n    utils.extend(instance, context);\n    return instance;\n}\nvar axios = createInstance(defaults);\naxios.Axios = Axios;\naxios.create = function create(instanceConfig) {\n    return createInstance(utils.merge(defaults, instanceConfig));\n};\naxios.Cancel = require('./cancel/Cancel');\naxios.CancelToken = require('./cancel/CancelToken');\naxios.isCancel = require('./cancel/isCancel');\naxios.all = function all(promises) {\n    return Promise.all(promises);\n};\naxios.spread = require('./helpers/spread');\nmodule.exports = axios;\nmodule.exports.default = axios;","'use strict';\nmodule.exports = require('./lib/axios');","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nvar _axios = require('axios');\nvar _axios2 = _interopRequireDefault(_axios);\nfunction _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : { default: obj };\n}\nexports.default = {\n    send: function send(options) {\n        _axios2.default.post(options.url, options.data).then(function (response) {\n            var data = response.data;\n            if (!data || data.code !== 0) {\n                options.error && options.error(data && data.msg);\n                return;\n            }\n            options.success && options.success(data);\n        }).catch(function (e) {\n            console.error(e);\n            options.error && options.error();\n        });\n    },\n    read: function read(options) {\n        _axios2.default.get(options.url).then(function (response) {\n            var data = response.data;\n            if (!data || data.code !== 0) {\n                options.error && options.error(data && data.msg);\n                return;\n            }\n            options.success && options.success(data.data.map(function (item) {\n                return {\n                    time: item[0],\n                    type: item[1],\n                    color: item[2],\n                    author: item[3],\n                    text: item[4]\n                };\n            }));\n        }).catch(function (e) {\n            console.error(e);\n            options.error && options.error();\n        });\n    }\n};","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\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 _api = require('./api.js');\nvar _api2 = _interopRequireDefault(_api);\nfunction _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : { default: obj };\n}\nexports.default = function (options) {\n    var defaultOption = {\n        container: options.element || document.getElementsByClassName('dplayer')[0],\n        live: false,\n        autoplay: false,\n        theme: '#b7daff',\n        loop: false,\n        lang: (navigator.language || navigator.browserLanguage).toLowerCase(),\n        screenshot: false,\n        hotkey: true,\n        preload: 'metadata',\n        volume: 0.7,\n        apiBackend: _api2.default,\n        video: {},\n        contextmenu: [],\n        mutex: true\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 (_typeof(options.danmaku) === 'object' && 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    options.contextmenu = options.contextmenu.concat([\n        {\n            text: 'Video info',\n            click: function click(player) {\n                player.infoPanel.triggle();\n            }\n        },\n        {\n            text: 'About author',\n            link: 'https://diygod.me'\n        },\n        {\n            text: 'DPlayer v' + DPLAYER_VERSION,\n            link: 'https://github.com/MoePlayer/DPlayer'\n        }\n    ]);\n    return options;\n};","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nexports.default = function (callback) {\n    var constructor = this.constructor;\n    return this.then(function (value) {\n        return constructor.resolve(callback()).then(function () {\n            return value;\n        });\n    }, function (reason) {\n        return constructor.resolve(callback()).then(function () {\n            return constructor.reject(reason);\n        });\n    });\n};","'use strict';\n(function (global, undefined) {\n    'use strict';\n    if (global.setImmediate) {\n        return;\n    }\n    var nextHandle = 1;\n    var tasksByHandle = {};\n    var currentlyRunningATask = false;\n    var doc = global.document;\n    var registerImmediate;\n    function setImmediate(callback) {\n        if (typeof callback !== 'function') {\n            callback = new Function('' + callback);\n        }\n        var args = new Array(arguments.length - 1);\n        for (var i = 0; i < args.length; i++) {\n            args[i] = arguments[i + 1];\n        }\n        var task = {\n            callback: callback,\n            args: args\n        };\n        tasksByHandle[nextHandle] = task;\n        registerImmediate(nextHandle);\n        return nextHandle++;\n    }\n    function clearImmediate(handle) {\n        delete tasksByHandle[handle];\n    }\n    function run(task) {\n        var callback = task.callback;\n        var args = task.args;\n        switch (args.length) {\n        case 0:\n            callback();\n            break;\n        case 1:\n            callback(args[0]);\n            break;\n        case 2:\n            callback(args[0], args[1]);\n            break;\n        case 3:\n            callback(args[0], args[1], args[2]);\n            break;\n        default:\n            callback.apply(undefined, args);\n            break;\n        }\n    }\n    function runIfPresent(handle) {\n        if (currentlyRunningATask) {\n            setTimeout(runIfPresent, 0, handle);\n        } else {\n            var task = tasksByHandle[handle];\n            if (task) {\n                currentlyRunningATask = true;\n                try {\n                    run(task);\n                } finally {\n                    clearImmediate(handle);\n                    currentlyRunningATask = false;\n                }\n            }\n        }\n    }\n    function installNextTickImplementation() {\n        registerImmediate = function registerImmediate(handle) {\n            process.nextTick(function () {\n                runIfPresent(handle);\n            });\n        };\n    }\n    function canUsePostMessage() {\n        if (global.postMessage && !global.importScripts) {\n            var postMessageIsAsynchronous = true;\n            var oldOnMessage = global.onmessage;\n            global.onmessage = function () {\n                postMessageIsAsynchronous = false;\n            };\n            global.postMessage('', '*');\n            global.onmessage = oldOnMessage;\n            return postMessageIsAsynchronous;\n        }\n    }\n    function installPostMessageImplementation() {\n        var messagePrefix = 'setImmediate$' + Math.random() + '$';\n        var onGlobalMessage = function onGlobalMessage(event) {\n            if (event.source === global && typeof event.data === 'string' && event.data.indexOf(messagePrefix) === 0) {\n                runIfPresent(+event.data.slice(messagePrefix.length));\n            }\n        };\n        if (global.addEventListener) {\n            global.addEventListener('message', onGlobalMessage, false);\n        } else {\n            global.attachEvent('onmessage', onGlobalMessage);\n        }\n        registerImmediate = function registerImmediate(handle) {\n            global.postMessage(messagePrefix + handle, '*');\n        };\n    }\n    function installMessageChannelImplementation() {\n        var channel = new MessageChannel();\n        channel.port1.onmessage = function (event) {\n            var handle = event.data;\n            runIfPresent(handle);\n        };\n        registerImmediate = function registerImmediate(handle) {\n            channel.port2.postMessage(handle);\n        };\n    }\n    function installReadyStateChangeImplementation() {\n        var html = doc.documentElement;\n        registerImmediate = function registerImmediate(handle) {\n            var script = doc.createElement('script');\n            script.onreadystatechange = function () {\n                runIfPresent(handle);\n                script.onreadystatechange = null;\n                html.removeChild(script);\n                script = null;\n            };\n            html.appendChild(script);\n        };\n    }\n    function installSetTimeoutImplementation() {\n        registerImmediate = function registerImmediate(handle) {\n            setTimeout(runIfPresent, 0, handle);\n        };\n    }\n    var attachTo = Object.getPrototypeOf && Object.getPrototypeOf(global);\n    attachTo = attachTo && attachTo.setTimeout ? attachTo : global;\n    if ({}.toString.call(global.process) === '[object process]') {\n        installNextTickImplementation();\n    } else if (canUsePostMessage()) {\n        installPostMessageImplementation();\n    } else if (global.MessageChannel) {\n        installMessageChannelImplementation();\n    } else if (doc && 'onreadystatechange' in doc.createElement('script')) {\n        installReadyStateChangeImplementation();\n    } else {\n        installSetTimeoutImplementation();\n    }\n    attachTo.setImmediate = setImmediate;\n    attachTo.clearImmediate = clearImmediate;\n}(typeof self === 'undefined' ? typeof global === 'undefined' ? undefined : global : self));","'use strict';\nvar apply = Function.prototype.apply;\nexports.setTimeout = function () {\n    return new Timeout(apply.call(setTimeout, window, arguments), clearTimeout);\n};\nexports.setInterval = function () {\n    return new Timeout(apply.call(setInterval, window, arguments), clearInterval);\n};\nexports.clearTimeout = exports.clearInterval = function (timeout) {\n    if (timeout) {\n        timeout.close();\n    }\n};\nfunction Timeout(id, clearFn) {\n    this._id = id;\n    this._clearFn = clearFn;\n}\nTimeout.prototype.unref = Timeout.prototype.ref = function () {\n};\nTimeout.prototype.close = function () {\n    this._clearFn.call(window, this._id);\n};\nexports.enroll = function (item, msecs) {\n    clearTimeout(item._idleTimeoutId);\n    item._idleTimeout = msecs;\n};\nexports.unenroll = function (item) {\n    clearTimeout(item._idleTimeoutId);\n    item._idleTimeout = -1;\n};\nexports._unrefActive = exports.active = function (item) {\n    clearTimeout(item._idleTimeoutId);\n    var msecs = item._idleTimeout;\n    if (msecs >= 0) {\n        item._idleTimeoutId = setTimeout(function onTimeout() {\n            if (item._onTimeout)\n                item._onTimeout();\n        }, msecs);\n    }\n};\nrequire('setimmediate');\nexports.setImmediate = setImmediate;\nexports.clearImmediate = clearImmediate;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\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 _finally = require('./finally');\nvar _finally2 = _interopRequireDefault(_finally);\nfunction _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : { default: obj };\n}\nvar setTimeoutFunc = setTimeout;\nfunction noop() {\n}\nfunction bind(fn, thisArg) {\n    return function () {\n        fn.apply(thisArg, arguments);\n    };\n}\nfunction Promise(fn) {\n    if (!(this instanceof Promise))\n        throw new TypeError('Promises must be constructed via new');\n    if (typeof fn !== 'function')\n        throw new TypeError('not a function');\n    this._state = 0;\n    this._handled = false;\n    this._value = undefined;\n    this._deferreds = [];\n    doResolve(fn, this);\n}\nfunction handle(self, deferred) {\n    while (self._state === 3) {\n        self = self._value;\n    }\n    if (self._state === 0) {\n        self._deferreds.push(deferred);\n        return;\n    }\n    self._handled = true;\n    Promise._immediateFn(function () {\n        var cb = self._state === 1 ? deferred.onFulfilled : deferred.onRejected;\n        if (cb === null) {\n            (self._state === 1 ? resolve : reject)(deferred.promise, self._value);\n            return;\n        }\n        var ret;\n        try {\n            ret = cb(self._value);\n        } catch (e) {\n            reject(deferred.promise, e);\n            return;\n        }\n        resolve(deferred.promise, ret);\n    });\n}\nfunction resolve(self, newValue) {\n    try {\n        if (newValue === self)\n            throw new TypeError('A promise cannot be resolved with itself.');\n        if (newValue && ((typeof newValue === 'undefined' ? 'undefined' : _typeof(newValue)) === 'object' || typeof newValue === 'function')) {\n            var then = newValue.then;\n            if (newValue instanceof Promise) {\n                self._state = 3;\n                self._value = newValue;\n                finale(self);\n                return;\n            } else if (typeof then === 'function') {\n                doResolve(bind(then, newValue), self);\n                return;\n            }\n        }\n        self._state = 1;\n        self._value = newValue;\n        finale(self);\n    } catch (e) {\n        reject(self, e);\n    }\n}\nfunction reject(self, newValue) {\n    self._state = 2;\n    self._value = newValue;\n    finale(self);\n}\nfunction finale(self) {\n    if (self._state === 2 && self._deferreds.length === 0) {\n        Promise._immediateFn(function () {\n            if (!self._handled) {\n                Promise._unhandledRejectionFn(self._value);\n            }\n        });\n    }\n    for (var i = 0, len = self._deferreds.length; i < len; i++) {\n        handle(self, self._deferreds[i]);\n    }\n    self._deferreds = null;\n}\nfunction Handler(onFulfilled, onRejected, promise) {\n    this.onFulfilled = typeof onFulfilled === 'function' ? onFulfilled : null;\n    this.onRejected = typeof onRejected === 'function' ? onRejected : null;\n    this.promise = promise;\n}\nfunction doResolve(fn, self) {\n    var done = false;\n    try {\n        fn(function (value) {\n            if (done)\n                return;\n            done = true;\n            resolve(self, value);\n        }, function (reason) {\n            if (done)\n                return;\n            done = true;\n            reject(self, reason);\n        });\n    } catch (ex) {\n        if (done)\n            return;\n        done = true;\n        reject(self, ex);\n    }\n}\nPromise.prototype['catch'] = function (onRejected) {\n    return this.then(null, onRejected);\n};\nPromise.prototype.then = function (onFulfilled, onRejected) {\n    var prom = new this.constructor(noop);\n    handle(this, new Handler(onFulfilled, onRejected, prom));\n    return prom;\n};\nPromise.prototype['finally'] = _finally2.default;\nPromise.all = function (arr) {\n    return new Promise(function (resolve, reject) {\n        if (!arr || typeof arr.length === 'undefined')\n            throw new TypeError('Promise.all accepts an array');\n        var args = Array.prototype.slice.call(arr);\n        if (args.length === 0)\n            return resolve([]);\n        var remaining = args.length;\n        function res(i, val) {\n            try {\n                if (val && ((typeof val === 'undefined' ? 'undefined' : _typeof(val)) === 'object' || typeof val === 'function')) {\n                    var then = val.then;\n                    if (typeof then === 'function') {\n                        then.call(val, function (val) {\n                            res(i, val);\n                        }, reject);\n                        return;\n                    }\n                }\n                args[i] = val;\n                if (--remaining === 0) {\n                    resolve(args);\n                }\n            } catch (ex) {\n                reject(ex);\n            }\n        }\n        for (var i = 0; i < args.length; i++) {\n            res(i, args[i]);\n        }\n    });\n};\nPromise.resolve = function (value) {\n    if (value && (typeof value === 'undefined' ? 'undefined' : _typeof(value)) === 'object' && value.constructor === Promise) {\n        return value;\n    }\n    return new Promise(function (resolve) {\n        resolve(value);\n    });\n};\nPromise.reject = function (value) {\n    return new Promise(function (resolve, reject) {\n        reject(value);\n    });\n};\nPromise.race = function (values) {\n    return new Promise(function (resolve, reject) {\n        for (var i = 0, len = values.length; i < len; i++) {\n            values[i].then(resolve, reject);\n        }\n    });\n};\nPromise._immediateFn = typeof setImmediate === 'function' && function (fn) {\n    setImmediate(fn);\n} || function (fn) {\n    setTimeoutFunc(fn, 0);\n};\nPromise._unhandledRejectionFn = function _unhandledRejectionFn(err) {\n    if (typeof console !== 'undefined' && console) {\n        console.warn('Possible Unhandled Promise Rejection:', err);\n    }\n};\nexports.default = Promise;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\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 _promisePolyfill = require('promise-polyfill');\nvar _promisePolyfill2 = _interopRequireDefault(_promisePolyfill);\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 _template = require('./template');\nvar _template2 = _interopRequireDefault(_template);\nvar _icons = require('./icons');\nvar _icons2 = _interopRequireDefault(_icons);\nvar _danmaku = require('./danmaku');\nvar _danmaku2 = _interopRequireDefault(_danmaku);\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);\nvar _bar = require('./bar');\nvar _bar2 = _interopRequireDefault(_bar);\nvar _timer = require('./timer');\nvar _timer2 = _interopRequireDefault(_timer);\nvar _bezel = require('./bezel');\nvar _bezel2 = _interopRequireDefault(_bezel);\nvar _controller = require('./controller');\nvar _controller2 = _interopRequireDefault(_controller);\nvar _setting = require('./setting');\nvar _setting2 = _interopRequireDefault(_setting);\nvar _comment = require('./comment');\nvar _comment2 = _interopRequireDefault(_comment);\nvar _hotkey = require('./hotkey');\nvar _hotkey2 = _interopRequireDefault(_hotkey);\nvar _contextmenu = require('./contextmenu');\nvar _contextmenu2 = _interopRequireDefault(_contextmenu);\nvar _infoPanel = require('./info-panel');\nvar _infoPanel2 = _interopRequireDefault(_infoPanel);\nvar _video = require('../template/video.art');\nvar _video2 = _interopRequireDefault(_video);\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 instances = [];\nvar DPlayer = function () {\n    function DPlayer(options) {\n        var _this = this;\n        _classCallCheck(this, DPlayer);\n        this.options = (0, _options2.default)(options);\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        this.container.classList.add('dplayer');\n        if (!this.options.danmaku) {\n            this.container.classList.add('dplayer-no-danmaku');\n        }\n        if (this.options.live) {\n            this.container.classList.add('dplayer-live');\n        }\n        if (_utils2.default.isMobile) {\n            this.container.classList.add('dplayer-mobile');\n        }\n        this.arrow = this.container.offsetWidth <= 500;\n        if (this.arrow) {\n            this.container.classList.add('dplayer-arrow');\n        }\n        this.template = new _template2.default({\n            container: this.container,\n            options: this.options,\n            index: index,\n            tran: this.tran\n        });\n        this.video = this.template.video;\n        this.bar = new _bar2.default(this.template);\n        this.bezel = new _bezel2.default(this.template.bezel);\n        this.fullScreen = new _fullscreen2.default(this);\n        this.controller = new _controller2.default(this);\n        if (this.options.danmaku) {\n            this.danmaku = new _danmaku2.default({\n                container: this.template.danmaku,\n                opacity: this.user.get('opacity'),\n                callback: function callback() {\n                    setTimeout(function () {\n                        _this.template.danmakuLoading.style.display = 'none';\n                        if (_this.options.autoplay) {\n                            _this.play();\n                        }\n                    }, 0);\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                tran: function tran(msg) {\n                    return _this.tran(msg);\n                }\n            });\n            this.comment = new _comment2.default(this);\n        }\n        this.setting = new _setting2.default(this);\n        document.addEventListener('click', function () {\n            _this.focus = false;\n        }, true);\n        this.container.addEventListener('click', function () {\n            _this.focus = true;\n        }, true);\n        this.paused = true;\n        this.timer = new _timer2.default(this);\n        this.hotkey = new _hotkey2.default(this);\n        this.contextmenu = new _contextmenu2.default(this);\n        this.initVideo(this.video, this.quality && this.quality.type || this.options.video.type);\n        this.infoPanel = new _infoPanel2.default(this);\n        if (!this.danmaku && this.options.autoplay) {\n            this.play();\n        }\n        index++;\n        instances.push(this);\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.bar.set('played', time / this.video.duration, 'width');\n                this.template.ptime.innerHTML = _utils2.default.secondToTime(time);\n            }\n        },\n        {\n            key: 'play',\n            value: function play() {\n                var _this2 = this;\n                this.paused = false;\n                if (this.video.paused) {\n                    this.bezel.switch(_icons2.default.play);\n                }\n                this.template.playButton.innerHTML = _icons2.default.pause;\n                var playedPromise = _promisePolyfill2.default.resolve(this.video.play());\n                playedPromise.catch(function () {\n                    _this2.pause();\n                }).then(function () {\n                });\n                this.timer.enable('loading');\n                this.container.classList.remove('dplayer-paused');\n                this.container.classList.add('dplayer-playing');\n                if (this.danmaku) {\n                    this.danmaku.play();\n                }\n                if (this.options.mutex) {\n                    for (var i = 0; i < instances.length; i++) {\n                        if (this !== instances[i]) {\n                            instances[i].pause();\n                        }\n                    }\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.switch(_icons2.default.pause);\n                }\n                this.template.playButton.innerHTML = _icons2.default.play;\n                this.video.pause();\n                this.timer.disable('loading');\n                this.container.classList.remove('dplayer-playing');\n                this.container.classList.add('dplayer-paused');\n                if (this.danmaku) {\n                    this.danmaku.pause();\n                }\n            }\n        },\n        {\n            key: 'switchVolumeIcon',\n            value: function switchVolumeIcon() {\n                if (this.volume() >= 0.95) {\n                    this.template.volumeIcon.innerHTML = _icons2.default.volumeUp;\n                } else if (this.volume() > 0) {\n                    this.template.volumeIcon.innerHTML = _icons2.default.volumeDown;\n                } else {\n                    this.template.volumeIcon.innerHTML = _icons2.default.volumeOff;\n                }\n            }\n        },\n        {\n            key: 'volume',\n            value: function volume(percentage, nostorage, nonotice) {\n                percentage = parseFloat(percentage);\n                if (!isNaN(percentage)) {\n                    percentage = Math.max(percentage, 0);\n                    percentage = Math.min(percentage, 1);\n                    this.bar.set('volume', percentage, 'width');\n                    var formatPercentage = (percentage * 100).toFixed(0) + '%';\n                    this.template.volumeBarWrapWrap.dataset.balloon = formatPercentage;\n                    if (!nostorage) {\n                        this.user.set('volume', percentage);\n                    }\n                    if (!nonotice) {\n                        this.notice(this.tran('Volume') + ' ' + (percentage * 100).toFixed(0) + '%');\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.template.danmakuLoading.style.display = 'block';\n                    this.bar.set('played', 0, 'width');\n                    this.bar.set('loaded', 0, 'width');\n                    this.template.ptime.innerHTML = '00:00';\n                    this.template.danmaku.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                var _this3 = this;\n                this.type = type;\n                if (this.options.video.customType && this.options.video.customType[type]) {\n                    if (Object.prototype.toString.call(this.options.video.customType[type]) === '[object Function]') {\n                        this.options.video.customType[type](this.video, this);\n                    } else {\n                        console.error('Illegal customType: ' + type);\n                    }\n                } else {\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 if (/.mpd(#|\\?|$)/i.exec(video.src)) {\n                            this.type = 'dash';\n                        } else {\n                            this.type = 'normal';\n                        }\n                    }\n                    if (this.type === 'hls' && (video.canPlayType('application/x-mpegURL') || video.canPlayType('application/vnd.apple.mpegURL'))) {\n                        this.type = 'normal';\n                    }\n                    switch (this.type) {\n                    case 'hls':\n                        if (Hls) {\n                            if (Hls.isSupported()) {\n                                var hls = new Hls();\n                                hls.loadSource(video.src);\n                                hls.attachMedia(video);\n                            } else {\n                                this.notice('Error: Hls is not supported.');\n                            }\n                        } else {\n                            this.notice('Error: Can\\'t find Hls.');\n                        }\n                        break;\n                    case 'flv':\n                        if (flvjs && flvjs.isSupported()) {\n                            if (flvjs.isSupported()) {\n                                var flvPlayer = flvjs.createPlayer({\n                                    type: 'flv',\n                                    url: video.src\n                                });\n                                flvPlayer.attachMediaElement(video);\n                                flvPlayer.load();\n                            } else {\n                                this.notice('Error: flvjs is not supported.');\n                            }\n                        } else {\n                            this.notice('Error: Can\\'t find flvjs.');\n                        }\n                        break;\n                    case 'dash':\n                        if (dashjs) {\n                            dashjs.MediaPlayer().create().initialize(video, video.src, false);\n                        } else {\n                            this.notice('Error: Can\\'t find dashjs.');\n                        }\n                        break;\n                    case 'webtorrent':\n                        if (WebTorrent) {\n                            if (WebTorrent.WEBRTC_SUPPORT) {\n                                this.container.classList.add('dplayer-loading');\n                                var client = new WebTorrent();\n                                var torrentId = video.src;\n                                client.add(torrentId, function (torrent) {\n                                    var file = torrent.files.find(function (file) {\n                                        return file.name.endsWith('.mp4');\n                                    });\n                                    file.renderTo(_this3.video, { autoplay: _this3.options.autoplay }, function () {\n                                        _this3.container.classList.remove('dplayer-loading');\n                                    });\n                                });\n                            } else {\n                                this.notice('Error: Webtorrent is not supported.');\n                            }\n                        } else {\n                            this.notice('Error: Can\\'t find Webtorrent.');\n                        }\n                        break;\n                    }\n                }\n            }\n        },\n        {\n            key: 'initVideo',\n            value: function initVideo(video, type) {\n                var _this4 = this;\n                this.initMSE(video, type);\n                this.on('durationchange', function () {\n                    if (video.duration !== 1 && video.duration !== Infinity) {\n                        _this4.template.dtime.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                    _this4.bar.set('loaded', percentage, 'width');\n                });\n                this.on('error', function () {\n                    if (!_this4.video.error) {\n                        return;\n                    }\n                    _this4.tran && _this4.notice && _this4.type !== 'webtorrent' & _this4.notice(_this4.tran('Video load failed'), -1);\n                });\n                this.on('ended', function () {\n                    _this4.bar.set('played', 1, 'width');\n                    if (!_this4.setting.loop) {\n                        _this4.pause();\n                    } else {\n                        _this4.seek(0);\n                        _this4.play();\n                    }\n                    if (_this4.danmaku) {\n                        _this4.danmaku.danIndex = 0;\n                    }\n                });\n                this.on('play', function () {\n                    if (_this4.paused) {\n                        _this4.play();\n                    }\n                });\n                this.on('pause', function () {\n                    if (!_this4.paused) {\n                        _this4.pause();\n                    }\n                });\n                this.on('timeupdate', function () {\n                    _this4.bar.set('played', _this4.video.currentTime / _this4.video.duration, 'width');\n                    var currentTime = _utils2.default.secondToTime(_this4.video.currentTime);\n                    if (_this4.template.ptime.innerHTML !== currentTime) {\n                        _this4.template.ptime.innerHTML = currentTime;\n                    }\n                });\n                var _loop = function _loop(i) {\n                    video.addEventListener(_this4.events.videoEvents[i], function () {\n                        _this4.events.trigger(_this4.events.videoEvents[i]);\n                    });\n                };\n                for (var i = 0; i < this.events.videoEvents.length; i++) {\n                    _loop(i);\n                }\n                this.volume(this.user.get('volume'), true, true);\n                if (this.options.subtitle) {\n                    this.subtitle = new _subtitle2.default(this.template.subtitle, this.video, this.options.subtitle, this.events);\n                    if (!this.user.get('subtitle')) {\n                        this.subtitle.hide();\n                    }\n                }\n            }\n        },\n        {\n            key: 'switchQuality',\n            value: function switchQuality(index) {\n                var _this5 = 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.template.qualityButton.innerHTML = this.quality.name;\n                var paused = this.video.paused;\n                this.video.pause();\n                var videoHTML = (0, _video2.default)({\n                    current: false,\n                    pic: null,\n                    screenshot: this.options.screenshot,\n                    preload: 'auto',\n                    url: this.quality.url,\n                    subtitle: this.options.subtitle\n                });\n                var videoEle = new DOMParser().parseFromString(videoHTML, 'text/html').body.firstChild;\n                this.template.videoWrap.insertBefore(videoEle, this.template.videoWrap.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 (_this5.prevVideo) {\n                        if (_this5.video.currentTime !== _this5.prevVideo.currentTime) {\n                            _this5.seek(_this5.prevVideo.currentTime);\n                            return;\n                        }\n                        _this5.template.videoWrap.removeChild(_this5.prevVideo);\n                        _this5.video.classList.add('dplayer-video-current');\n                        if (!paused) {\n                            _this5.video.play();\n                        }\n                        _this5.prevVideo = null;\n                        _this5.notice(_this5.tran('Switched to') + ' ' + _this5.quality.name + ' ' + _this5.tran('quality'));\n                        _this5.switchingQuality = false;\n                        _this5.events.trigger('quality_end');\n                    }\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                this.template.notice.innerHTML = text;\n                this.template.notice.style.opacity = opacity;\n                if (this.noticeTime) {\n                    clearTimeout(this.noticeTime);\n                }\n                this.events.trigger('notice_show', text);\n                if (time > 0) {\n                    this.noticeTime = setTimeout(function () {\n                        _this6.template.notice.style.opacity = 0;\n                        _this6.events.trigger('notice_hide');\n                    }, time);\n                }\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: 'speed',\n            value: function speed(rate) {\n                this.video.playbackRate = rate;\n            }\n        },\n        {\n            key: 'destroy',\n            value: function destroy() {\n                instances.splice(instances.indexOf(this), 1);\n                this.pause();\n                this.controller.destroy();\n                this.timer.destroy();\n                this.video.src = '';\n                this.container.innerHTML = '';\n                this.events.trigger('destroy');\n            }\n        }\n    ], [{\n            key: 'version',\n            get: function get() {\n                return DPLAYER_VERSION;\n            }\n        }]);\n    return DPlayer;\n}();\nexports.default = DPlayer;","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nrequire('../css/index.scss');\nvar _player = require('./player');\nvar _player2 = _interopRequireDefault(_player);\nfunction _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : { default: obj };\n}\nconsole.log('\\n' + ' %c DPlayer v' + DPLAYER_VERSION + ' ' + GIT_HASH + ' %c http://dplayer.js.org ' + '\\n' + '\\n', 'color: #fadfa3; background: #030307; padding:5px 0;', 'background: #fadfa3; padding:5px 0;');\nexports.default = _player2.default;"],"sourceRoot":""}