diff --git a/dist/vot-min.user.js b/dist/vot-min.user.js
index 660864f1..ae9ac5c5 100644
--- a/dist/vot-min.user.js
+++ b/dist/vot-min.user.js
@@ -292,7 +292,7 @@
- `,c);const h=ho(n,r,s,{onSelectCb:l});return d.append(u.container,c,h.container),{container:d,fromSelect:u,icon:c,toSelect:h}},updateSlider:lo,animateLoader:function(t,e="139, 180, 245"){const o=t.querySelector(".vot-loader-helper"),i=t.querySelector(".vot-loader-main");anime.timeline({...ro,targets:[o,i],duration:250}).add({"fill-opacity":0,"stroke-width":2,d:"M 12 1.5 C 17.799 1.5 22.5 6.201 22.5 12 C 22.5 17.799 17.799 22.5 12 22.5 C 6.201 22.5 1.5 17.799 1.5 12 C 1.5 6.201 6.201 1.5 12 1.5 Z",duration:0}).add({targets:o,stroke:`rgb(${e})`,"stroke-opacity":0,duration:0},0).add({targets:i,stroke:"#888888","stroke-opacity":.25},0);const a=anime.timeline({targets:o,easing:"easeInOutSine",duration:1e3,autoplay:!1}).add({strokeOpacity:1,duration:0},0).add({strokeDashoffset:[anime.setDashoffset,0]},0);return t=>{a.seek(a.duration*(t/100))}},afterAnimateLoader:function(t,e="139, 180, 245"){const o=t.querySelector(".vot-loader-helper"),i=t.querySelector(".vot-loader-main");anime.timeline({...ro,targets:i,duration:600}).add({d:"M 9.0596 14.8571 L 9.7667 15.5642 L 10.4738 14.8571 L 17.0071 8.3238 C 17.0457 8.2852 17.0937 8.25 17.2333 8.25 C 17.373 8.25 17.421 8.2852 17.4596 8.3238 C 17.4981 8.3624 17.5333 8.4104 17.5333 8.55 C 17.5333 8.6896 17.4981 8.7376 17.4596 8.7762 L 9.9929 16.2429 C 9.9011 16.3346 9.8397 16.35 9.7667 16.35 C 9.6937 16.35 9.6322 16.3346 9.5404 16.2429 L 6.0738 12.7762 C 6.0352 12.7376 6 12.6897 6 12.55 C 6 12.4103 6.0352 12.3624 6.0738 12.3238 C 6.1124 12.2852 6.1603 12.25 6.3 12.25 C 6.4397 12.25 6.4876 12.2852 6.5262 12.3238 L 9.0596 14.8571 Z",duration:0}).add({strokeDashoffset:[anime.setDashoffset,0],stroke:`rgb(${e})`,"stroke-opacity":1}),setTimeout((()=>{anime.timeline({...ro,targets:i,duration:600}).add({d:"M12 15.575C11.8667 15.575 11.7417 15.5542 11.625 15.5125C11.5083 15.4708 11.4 15.4 11.3 15.3L7.7 11.7C7.5 11.5 7.40417 11.2667 7.4125 11C7.42083 10.7333 7.51667 10.5 7.7 10.3C7.9 10.1 8.1375 9.99583 8.4125 9.9875C8.6875 9.97917 8.925 10.075 9.125 10.275L11 12.15V5C11 4.71667 11.0958 4.47917 11.2875 4.2875C11.4792 4.09583 11.7167 4 12 4C12.2833 4 12.5208 4.09583 12.7125 4.2875C12.9042 4.47917 13 4.71667 13 5V12.15L14.875 10.275C15.075 10.075 15.3125 9.97917 15.5875 9.9875C15.8625 9.99583 16.1 10.1 16.3 10.3C16.4833 10.5 16.5792 10.7333 16.5875 11C16.5958 11.2667 16.5 11.5 16.3 11.7L12.7 15.3C12.6 15.4 12.4917 15.4708 12.375 15.5125C12.2583 15.5542 12.1333 15.575 12 15.575ZM6 20C5.45 20 4.97917 19.8042 4.5875 19.4125C4.19583 19.0208 4 18.55 4 18V16C4 15.7167 4.09583 15.4792 4.2875 15.2875C4.47917 15.0958 4.71667 15 5 15C5.28333 15 5.52083 15.0958 5.7125 15.2875C5.90417 15.4792 6 15.7167 6 16V18H18V16C18 15.7167 18.0958 15.4792 18.2875 15.2875C18.4792 15.0958 18.7167 15 19 15C19.2833 15 19.5208 15.0958 19.7125 15.2875C19.9042 15.4792 20 15.7167 20 16V18C20 18.55 19.8042 19.0208 19.4125 19.4125C19.0208 19.8042 18.55 20 18 20H6Z",duration:100}).add({targets:o,d:"",duration:200},0).add({targets:i,"stroke-width":"0",stroke:`rgba(${e}), 0)`,"fill-opacity":"1","stroke-dasharray":"0","stroke-dashoffset":"0",duration:0})}),2e3)},createDetails:function(t){const e=document.createElement("vot-block");e.classList.add("vot-details");const o=document.createElement("vot-block");o.append(t);const i=document.createElement("vot-block");return i.classList.add("vot-details-arrow-icon"),U(no,i),e.append(o,i),{container:e,header:o,arrowIcon:i}}};o("./node_modules/requestidlecallback-polyfill/index.js");class go{constructor(){this.listeners=new Set}addListener(t){if(this.listeners.has(t))throw new Error("[VOT] The listener has already been added.");this.listeners.add(t)}removeListener(t){this.listeners.delete(t)}dispatch(...t){for(const e of this.listeners)try{e(...t)}catch(t){console.error("[VOT]",t)}}}class mo{static adPatterns=new RegExp(["advertise","promo","sponsor","banner","commercial","preroll","midroll","postroll","ad-container","sponsored"].join("|"),"i");constructor(){this.videoCache=new WeakSet,this.onVideoAdded=new go,this.onVideoRemoved=new go,this.observer=new MutationObserver(this.handleMutations)}isAdRelated(t){return mo.adPatterns.test(t.className)||mo.adPatterns.test(t.id)||mo.adPatterns.test(t.title)}isValidVideo(t){if(this.isAdRelated(t))return!1;let e=t.parentElement;for(;e;){if(this.isAdRelated(e))return!1;e=e.parentElement}return!(t.hasAttribute("muted")&&!t.classList.contains("vjs-tech")&&!t.preload)||(ae.log("Ignored promotional/muted video:",t),!1)}findVideosInElement(t){const e=[];if(!t.querySelectorAll)return e;e.push(...t.querySelectorAll("video"));for(const o of t.querySelectorAll("*"))o.shadowRoot&&e.push(...this.findVideosInElement(o.shadowRoot));return e}checkVideoState(t){!this.videoCache.has(t)&&this.isValidVideo(t)&&(this.videoCache.add(t),t.readyState>=2&&t.videoWidth?this.onVideoAdded.dispatch(t):t.addEventListener("loadeddata",(()=>{t.readyState>=2&&t.videoWidth&&this.onVideoAdded.dispatch(t)}),{once:!0}))}handleMutations=t=>{window.requestIdleCallback((()=>{for(const e of t)if("childList"===e.type){for(const t of e.addedNodes)if(t instanceof HTMLElement)for(const e of this.findVideosInElement(t))this.checkVideoState(e);for(const t of e.removedNodes)if(t instanceof HTMLElement)for(const e of this.findVideosInElement(t))e.isConnected||(this.onVideoRemoved.dispatch(e),this.videoCache.delete(e))}}),{timeout:1e3})};enable(){this.observer.observe(document.documentElement,{childList:!0,subtree:!0});for(const t of this.findVideosInElement(document.documentElement))this.checkVideoState(t)}disable(){this.observer.disconnect()}}const vo=new class{isFOSWLYError(t){return Object.hasOwn(t,"error")}async request(t,e={}){try{const o=await we(`https://translate.toil.cc/v2${t}`,{timeout:3e3,...e}),i=await o.json();if(this.isFOSWLYError(i))throw i.error;return i}catch(t){return void console.error(`[VOT] Failed to get data from FOSWLY Translate API, because ${t.message}`)}}async translate(t,e,o){const i=await this.request(`/translate?${new URLSearchParams({text:t,lang:e,service:o})}`);return i?i.translations[0]:t}async detect(t,e){const o=await this.request(`/detect?${new URLSearchParams({text:t,service:e})}`);return o?o.lang:"en"}},fo={async detect(t){try{const e=await we("https://rust-server-531j.onrender.com/detect",{method:"POST",body:t,timeout:3e3});return await e.text()}catch(t){return console.error(`[VOT] Error getting lang from text, because ${t.message}`),"en"}}};const bo=["yandexbrowser","msedge"],yo=[...bo,"rust-server"],wo=t.getParser(window.navigator.userAgent).getResult();function xo(t,e){return t.map((t=>({label:Te.get("langs")[t]??t.toUpperCase(),value:t,selected:e===t})))}const So=t=>t?Te.get("VOTChangeHotkeyWithCurrent").replace("{0}",t.replace("Key","")):Te.get("VOTCreateTranslationHotkey");let ko;class To{translateFromLang="auto";translateToLang=ge;timer;videoData="";firstPlay=!0;audioContext=mt();hls=ve();votClient;audioPlayer;videoTranslations=[];videoTranslationTTL=7200;cachedTranslation;downloadTranslationUrl=null;autoRetry;streamPing;votOpts;volumeOnStart;tempOriginalVolume;tempVolume;firstSyncVolume=!0;longWaitingResCount=0;subtitlesList=[];subtitlesListVideoId=null;dragging;constructor(t,e,o){ae.log("[VideoHandler] add video:",t,"container:",e,this),this.video=t,this.container=e,this.site=o,this.abortController=new AbortController,this.extraEvents=[],this.init()}async translateVideoImpl(t,e,o,i=null){if(clearTimeout(this.autoRetry),ae.log(t,`Translate video (requestLang: ${e}, responseLang: ${o})`),await Ze(this.site,{fetchFn:we,video:this.video})!==t.videoId)return null;try{const a=await this.votClient.translateVideo({videoData:t,requestLang:e,responseLang:o,translationHelp:i,extraOpts:{useNewModel:this.data?.useNewModel}});if(ae.log("Translate video result",a),a.translated&&a.remainingTime<1)return ae.log("Video translation finished with this data: ",a),a;const n=a.message??Te.get("translationTakeFewMinutes");await this.updateTranslationErrorMsg(a.remainingTime>0?function(t){let e=Math.floor(t/60),o=Math.floor(t%60);return o/60>=.66&&(e+=1,o=0),e>=60?Te.get("translationTakeMoreThanHour"):1===e||0===e&&o>0?Te.get("translationTakeAboutMinute"):11!==e&&e%10==1?Te.get("translationTakeApproximatelyMinute2").replace("{0}",e):![12,13,14].includes(e)&&[2,3,4].includes(e%10)?Te.get("translationTakeApproximatelyMinute").replace("{0}",e):Te.get("translationTakeApproximatelyMinutes").replace("{0}",e)}(a.remainingTime):n)}catch(t){return console.error("[VOT] Failed to translate video",t),await this.updateTranslationErrorMsg(t.data?.message??t),null}return new Promise((a=>{const n=this.subtitlesList.some((t=>"yandex"===t.source))?2e4:3e4;this.autoRetry=setTimeout((async()=>{const n=await this.translateVideoImpl(t,e,o,i);(!n||n.translated&&n.remainingTime<1)&&a(n)}),n)}))}async translateStreamImpl(t,e,o){if(clearTimeout(this.autoRetry),ae.log(t,`Translate stream (requestLang: ${e}, responseLang: ${o})`),await Ze(this.site,{fetchFn:we,video:this.video})!==t.videoId)return null;try{const i=await this.votClient.translateStream({videoData:t,requestLang:e,responseLang:o});if(ae.log("Translate stream result",i),!i.translated&&10===i.interval)return await this.updateTranslationErrorMsg(Te.get("translationTakeFewMinutes")),new Promise((a=>{this.autoRetry=setTimeout((async()=>{const i=await this.translateStreamImpl(t,e,o);i&&!i.translated&&10===i.interval||a(i)}),1e3*i.interval)}));if(i.message)throw ae.log(`Stream translation aborted! Message: ${i.message}`),new Ce("streamNoConnectionToServer");if(!i.result)throw ae.log("Failed to find translation result! Data:",i),new Ce("audioNotReceived");return ae.log("Stream translated successfully. Running...",i),this.streamPing=setInterval((async()=>{ae.log("Ping stream translation",i.pingId),this.votClient.pingStream({pingId:i.pingId})}),1e3*i.interval),i}catch(t){return console.error("[VOT] Failed to translate stream",t),await this.updateTranslationErrorMsg(t.data?.message??t),null}}async autoTranslate(){if(this.firstPlay&&1===this.data.autoTranslate&&this.videoData.videoId){this.firstPlay=!1;try{await this.translateExecutor(this.videoData.videoId)}catch(t){console.error("[VOT]",t),this.transformBtn("error","VOTLocalizedError"===t?.name?t.localizedMessage:t)}}}getPreferAudio(){return!this.audioContext||(!this.data.newAudioPlayer||(!!this.videoData.isStream||!(this.data.newAudioPlayer&&!this.data.onlyBypassMediaCSP)&&!this.site.needBypassCSP))}createPlayer(){const t=this.getPreferAudio();return ae.log("preferAudio:",t),this.audioPlayer=new yt({video:this.video,debug:!1,fetchFn:we,preferAudio:t}),this}async init(){if(this.initialized)return;const t={autoTranslate:he.get("autoTranslate",0),dontTranslateLanguage:he.get("dontTranslateLanguage",[ge]),dontTranslateYourLang:he.get("dontTranslateYourLang",1),autoSetVolumeYandexStyle:he.get("autoSetVolumeYandexStyle",1),autoVolume:he.get("autoVolume",se),buttonPos:he.get("buttonPos","default"),showVideoSlider:he.get("showVideoSlider",1),syncVolume:he.get("syncVolume",0),downloadWithName:he.get("downloadWithName",1),sendNotifyOnComplete:he.get("sendNotifyOnComplete",0),subtitlesMaxLength:he.get("subtitlesMaxLength",300),highlightWords:he.get("highlightWords",0),subtitlesFontSize:he.get("subtitlesFontSize",20),subtitlesOpacity:he.get("subtitlesOpacity",20),subtitlesDownloadFormat:he.get("subtitlesDownloadFormat","srt"),responseLanguage:he.get("responseLanguage",ge),defaultVolume:he.get("defaultVolume",100),onlyBypassMediaCSP:he.get("onlyBypassMediaCSP",Number(!!this.audioContext)),newAudioPlayer:he.get("newAudioPlayer",Number(!!this.audioContext)),showPiPButton:he.get("showPiPButton",0),translateAPIErrors:he.get("translateAPIErrors",1),translationService:he.get("translationService",le),detectService:he.get("detectService",de),hotkeyButton:he.get("hotkeyButton",null),m3u8ProxyHost:he.get("m3u8ProxyHost",ne),proxyWorkerHost:he.get("proxyWorkerHost",re),translateProxyEnabled:he.get("translateProxyEnabled",0),audioBooster:he.get("audioBooster",0),useNewModel:he.get("useNewModel",1),localeHash:he.get("locale-hash",""),localeUpdatedAt:he.get("locale-updated-at",0)};if(this.data=Object.fromEntries(await Promise.all(Object.entries(t).map((async([t,e])=>[t,await e])))),console.log("[VOT] data from db: ",this.data),await ce(this.data,"m3u8ProxyHost","m3u8-proxy.toil.cc",ne),await ce(this.data,"proxyWorkerHost","vot.toil.cc",re),await ce(this.data,"detectService","yandex",de),await ce(this.data,"translationService","yandex",le),await ce(this.data,"dontTranslateLanguage",!1,[this.data.dontTranslateLanguage],Array.isArray(this.data.dontTranslateLanguage)),!this.data.translateProxyEnabled&&GM_info?.scriptHandler&&ue.includes(GM_info.scriptHandler)&&(this.data.translateProxyEnabled=1),ko)"UA"===ko&&(this.data.translateProxyEnabled=2);else try{const t=await we("https://speed.cloudflare.com/meta",{timeout:7e3});({country:ko}=await t.json()),"UA"===ko&&(this.data.translateProxyEnabled=2)}catch(t){console.error("[VOT] Error getting country:",t)}ae.log("translateProxyEnabled",this.data.translateProxyEnabled),ae.log("Extension compatibility passed..."),this.initVOTClient(),this.subtitlesWidget=new io(this.video,this.container,this.site),this.subtitlesWidget.setMaxLength(this.data.subtitlesMaxLength),this.subtitlesWidget.setHighlightWords(this.data.highlightWords),this.subtitlesWidget.setFontSize(this.data.subtitlesFontSize),this.subtitlesWidget.setOpacity(this.data.subtitlesOpacity),this.initUI(),this.initUIEvents(),this.videoData=await this.getVideoData(),this.createPlayer(),this.setSelectMenuValues(this.videoData.detectedLanguage,this.data.responseLanguage??"ru"),this.translateToLang=this.data.responseLanguage??"ru",this.initExtraEvents(),await Promise.all([this.updateSubtitles(),this.autoTranslate()]),this.initialized=!0}initVOTClient(){return this.votOpts={fetchFn:we,hostVOT:"https://vot.toil.cc/v1",host:this.data.translateProxyEnabled?this.data.proxyWorkerHost:"api.browser.yandex.ru"},this.votClient=new(this.data.translateProxyEnabled?Oe:Ve)(this.votOpts),this}isLoadingText(t){return t.includes(Te.get("translationTake"))||t.includes(Te.get("TranslationDelayed"))}transformBtn(t,e){this.votButton.container.dataset.status=t;const o="error"===t&&this.isLoadingText(e);return this.setLoadingBtn(o),this.votButton.label.textContent=e,this.votButton.container.title="error"===t?e:"",this}setLoadingBtn(t=!1){return this.votButton.container.dataset.loading=t,this}initUI(){this.votButton=po.createVOTButton(Te.get("translateVideo")),this.votButton.container.style.opacity=0,this.data?.buttonPos&&"default"!==this.data?.buttonPos&&this.container.clientWidth>550?(this.votButton.container.dataset.direction="column",this.votButton.container.dataset.position=this.data?.buttonPos):(this.votButton.container.dataset.direction="row",this.votButton.container.dataset.position="default"),this.container.appendChild(this.votButton.container),this.votButton.pipButton.hidden=!me()||!this.data?.showPiPButton,this.votButton.separator2.hidden=!me()||!this.data?.showPiPButton,this.votButton.container.addEventListener("click",(t=>{t.preventDefault(),t.stopPropagation(),t.stopImmediatePropagation()})),this.votMenu=po.createVOTMenu(Te.get("VOTSettings")),this.votMenu.container.dataset.position=this.container.clientWidth&&this.container.clientWidth>550?this.data?.buttonPos:"default",this.container.appendChild(this.votMenu.container),this.votDownloadButton=po.createIconButton(T`