Raw Source
qsniyg / Image Max URL

// ==UserScript==
// @name              Image Max URL
// @name:ar           Image Max URL
// @name:cs           Image Max URL
// @name:da           Image Max URL
// @name:de           Image Max URL
// @name:el           Image Max URL
// @name:eo           Image Max URL
// @name:es           Image Max URL
// @name:fi           Image Max URL
// @name:fr           Image Max URL
// @name:fr-CA        Image Max URL
// @name:he           Image Max URL
// @name:hi           Image Max URL
// @name:hu           Image Max URL
// @name:id           Image Max URL
// @name:it           Image Max URL
// @name:ja           Image Max URL
// @name:ko           Image Max URL
// @name:nb           Image Max URL
// @name:nl           Image Max URL
// @name:pl           Image Max URL
// @name:pt-BR        Image Max URL
// @name:ru           Image Max URL
// @name:bg           Image Max URL
// @name:uk           Image Max URL
// @name:th           Image Max URL
// @name:tr           Image Max URL
// @name:vi           Image Max URL
// @name:zh-CN        Image Max URL
// @name:zh-TW        Image Max URL
// @name:zh-HK        Image Max URL
// @description       Finds larger or original versions of images and videos for 9200+ websites, including a powerful media popup and download feature
// @description:ar    البحث عن نسخ أكبر أو أصلية من الصور لأكثر من 9200 موقع ويب
// @description:cs    Vyhledá větší nebo původní verze obrázků a videí pro více než 9200 webů
// @description:da    Finder større eller originale versioner af billeder og videoer til mere end 9200 websteder
// @description:de    Sucht nach größeren oder originalen Versionen von Bildern und Videos für mehr als 9200 Websites
// @description:el    Βρίσκει μεγαλύτερες ή πρωτότυπες εκδόσεις εικόνων και βίντεο για περισσότερους από 9200 ιστότοπους
// @description:eo    Trovas pli grandajn aŭ originalajn versiojn de bildoj kaj filmetoj por pli ol 9200 retejoj
// @description:es    Encuentra imágenes más grandes y originales para más de 9200 sitios
// @description:fi    Etsii suurempia tai alkuperäisiä versioita kuvista ja videoista yli 9200 verkkosivustolle
// @description:fr    Trouve des versions plus grandes ou originales d'images et de vidéos pour plus de 9 200 sites web, y compris une puissante fonction de popup média
// @description:fr-CA Trouve des versions plus grandes ou originales d'images et de vidéos pour plus de 9 200 sites web, y compris une puissante fonction de popup média
// @description:he    מוצא גרסאות גדולות יותר או מקוריות של תמונות וסרטונים עבור יותר מ-9200 אתרים
// @description:hi    9200 से अधिक वेबसाइटों के लिए फ़ोटो और वीडियो के बड़े या मूल संस्करण ढूँढता है
// @description:hu    Több mint 9200 webhely képének és videóinak nagyobb vagy eredeti változatát találja
// @description:id    Menemukan versi gambar dan video yang lebih besar atau orisinal untuk lebih dari 9200 situs web
// @description:it    Trova versioni più grandi o originali di immagini e video per oltre 9200 siti web
// @description:ja    9200以上のウェブサイトで高画質や原本画像を見つけ出します
// @description:ko    9200개 이상의 사이트에 대해 고화질이나 원본 이미지를 찾아드립니다
// @description:nb    Finner større eller originale versjoner av bilder og videoer for mer enn 9200 nettsteder
// @description:nl    Vindt grotere of originele versies van foto's en video's voor meer dan 9200 websites
// @description:pl    Wyszukuje większe lub oryginalne wersje obrazów i filmów dla ponad 9200 stron internetowych
// @description:pt-BR Encontra versões maiores ou originais de imagens e vídeos para mais de 9200 sites
// @description:ru    Находит увеличенные или оригинальные версии изображений и видео для 9200+ сайтов. Имеет мощную функцию всплывающего окна и скачивание медиафайлов.
// @description:bg    Намира увеличени или оригинални версии на изображения за повече от 9200 уеб сайтове
// @description:uk    Знаходить збільшені або оригінальні версії зображень для більш ніж 9200 веб-сайтів
// @description:th    หาที่ใหญ่กว่าหรือเวอร์ชั่นดั้งเดิมของภาพทั้งหมดและวีดีโอสำหรับมากกว่า 9200 งเว็บไซต์
// @description:tr    9200'den fazla web sitesi için resim ve videoların daha büyük veya orijinal sürümlerini bulur
// @description:vi    Tìm phiên bản lớn hơn hoặc phiên bản gốc của hình ảnh và video cho hơn 9200 trang web
// @description:zh-CN 在近万个网站上查找尺寸更大或原版的图像/视频,提供媒体文件小弹窗和下载功能
// @description:zh-TW 為9200多個網站查找更大或原始圖像
// @description:zh-HK 為9200多個網站查找更大或原始圖像
// @namespace         http://tampermonkey.net/
// @version           2024.3.0
// @author            qsniyg
// @homepageURL       https://qsniyg.github.io/maxurl/options.html
// @supportURL        https://github.com/qsniyg/maxurl/issues
// @icon              https://raw.githubusercontent.com/qsniyg/maxurl/b5c5488ec05e6e2398d4e0d6e32f1bbad115f6d2/resources/logo_256.png
// @include           *
// @grant             GM.xmlHttpRequest
// @grant             GM_xmlhttpRequest
// @grant             GM.setValue
// @grant             GM_setValue
// @grant             GM.getValue
// @grant             GM_getValue
// @grant             GM_registerMenuCommand
// @grant             GM_unregisterMenuCommand
// @grant             GM_addValueChangeListener
// @grant             GM_download
// @grant             GM_openInTab
// @grant             GM.openInTab
// @grant             GM_notification
// @grant             GM.notification
// @grant             GM_setClipboard
// @grant             GM.setClipboard
// @connect           *
// api.github.com is used for checking for updates (can be disabled through the "Check Updates" setting)
// @connect           api.github.com
// @run-at            document-start
// @license           Apache-2.0
// non-greasyfork/oujs versions need updateURL and downloadURL to auto-update for certain userscript managers
// @updateURL         https://raw.githubusercontent.com/qsniyg/maxurl/master/userscript.meta.js
// @downloadURL       https://raw.githubusercontent.com/qsniyg/maxurl/master/userscript_smaller.user.js
//
//  Greasyfork and OpenUserJS have 2MB and 1MB limits for userscripts (respectively).
//  Because of this, the rules (~1.7MB) have been split into a separate file, linked below.
//  Note that jsdelivr.net might not always be reliable, but (AFAIK) this is the only reasonable option from what greasyfork allows.
//  I'd recommend using the Github version of the script if you encounter any issues (linked in the 'Project links' section below).
//
// @require https://cdn.jsdelivr.net/gh/qsniyg/maxurl@928e90b53b6b9e26521a23b4a3541a724e37f4d4/build/rules.js
// ==/UserScript==

// Due to OpenUserJS's 1MB limit, the source code had to be minified.
// The minification was done by gen_minified.js (in the maxurl repository below) using `uglifyjs -m -c` (v3.17.4).
// This unfortunately renders the code pretty much unreadable, but it was the only way to fit it within the 1MB limit.
// You can view the original source code here: https://github.com/qsniyg/maxurl/blob/master/userscript.user.js
// Please let me know if you have any questions or concerns regarding the script.

var $$IMU_EXPORT$$;!function(){function zi(){}function Ni(){var e=d();return e.self||e}function Si(e){if(s||!bi.imu_enabled)return!0;if(e&&Zr)try{chrome.runtime.getURL("manifest.json")}catch(e){return Ui(!0),!0}return!1}var t,Yr=!1,Zr=(Yr&&(Yr={no_request:!1,no_recurse:!1,no_redirect:!0,map:!1,cache:!1,bigimage_recursive:!0,input:!1,check_image_get:!1,find_source:!1},console.log("Loaded")),!1),o=!1,r=!1,Kr=null,i=function(e){},s=!1,P=!1,qi=!1,n=!1,Jr=null,b="https://qsniyg.github.io/maxurl/options.html",a=b,l="https://addons.mozilla.org/en-US/firefox/addon/image-max-url/",u="https://raw.githubusercontent.com/qsniyg/maxurl/master/userscript_smaller.user.js",Ti="https://github.com/qsniyg/maxurl/issues",H="2024.3.0",Ii=!1,Ai=!0,c=!1,d=function(){return"undefined"!=typeof unsafeWindow?unsafeWindow||this.window||window:this.window||window},Ei=[],Ui=function(e){var t=s;(s=e)&&!t&&mi(Ei,function(e){e()})};try{Jr=window.location.href,E=Jr.replace(/^[a-z]+:\/\/web\.archive\.org\/+web\/+[0-9]+\/+(https?:\/\/)/,"$1"),/^https?:\/\/qsniyg\.github\.io\/+maxurl\/+options\.html/.test(E)||/^file:\/\/.*\/maxurl\/site\/options\.html/.test(Jr)?n=qi=!0:(/^https?:\/\/qsniyg\.github\.io\/+maxurl\/+/.test(E)||/^file:\/\/.*\/maxurl\/site\/(?:index|about|options)\.html/.test(Jr))&&(n=!0)}catch(e){}!function(){if("object"==typeof chrome&&chrome&&"object"==typeof chrome.runtime)try{var e=chrome.runtime.getManifest();if(!(Zr="Image Max URL"===e.name))return;i=function(e){try{var t=chrome.runtime.lastError;t&&console.error(t.message,e)}catch(e){console.error(e)}},o=/^([-a-z]+)extension:\/\/[^/]+\/+_generated_background_page\.html/.test(Jr),t=chrome.runtime.getURL("extension/options.html"),P=Jr.replace(/[?#].*$/,"")===t,qi=qi||P,a=t,0<=navigator.userAgent.indexOf("Firefox")&&(r=!0),H=e.version,Kr=function(e,t){return e=_i(e,{json:!0}),t=t||zi,o?userscript_extension_message_handler(e,t):t&&t!==zi?chrome.runtime.sendMessage(null,e,null,function(){return i(e),t.apply(this,arguments)}):chrome.runtime.sendMessage(null,e)},o||setTimeout(function(){chrome.runtime.connect().onDisconnect.addListener(function(e){console.error(e),i(),Ui(!0)})},10),i()}catch(e){Zr&&(console.error(e),i())}}();var p=!1,m=!1;if("undefined"!=typeof module&&module.exports&&"undefined"==typeof window&&"undefined"==typeof document){p=!0;try{require.main===module&&(m=!0)}catch(e){}}var h=!1,_e=("undefined"!=typeof imu_variable&&"undefined"==typeof GM_xmlhttpRequest&&"undefined"==typeof GM&&(h=!0),!1),Qr=(p||h||Zr||(_e=!0),function(){try{return window.self!==window.top}catch(e){return!0}}()),f=!1,v=(Zr||_e)&&!o,y="unknown",_="";if(_e){var w=void 0;"function"==typeof GM_info?w=GM_info():"object"==typeof GM_info&&(w=GM_info),"object"==typeof w?(w.scriptHandler&&(y=w.scriptHandler),w.version&&(_=w.version)):"function"==typeof GM_fetch&&null===w&&(w={scriptHandler:y="FireMonkey"});try{H=w.script.version}catch(e){H=null}}function k(e){return U(e,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_")}var ei,x,C,ti,oi,ri,z,N,Ri,ii,Li,S,q,T,I,ni,A=console.log,ai=function(){for(var e=0;e<arguments.length;e++)e,0;if(!bi||bi.enable_console_logging)return A.apply(this,arguments)},si=console.error,li=console.warn,E=console.trace,ui=(!function(e){e=e.toString();return!!(e.length<80&&/native code/.test(e))}(si)&&(si=function(){for(var e=0;e<arguments.length;e++)e,0;for(var t=["[ERROR]"],o=0;o<arguments.length;o++)t.push(arguments[o]);return ai.apply(this,t)}),function(){for(var e=0;e<arguments.length;e++)e,0}),$=(Yr&&(ui=function(){for(var e=0;e<arguments.length;e++)e,0;if(Yr[arguments[0]]){for(var t=[],o=1;o<arguments.length;o++)t.push(arguments[o]);ai.apply(this,t)}}),JSON.parse),ci=function(e){var t=+e,o=0|t,t=o-t;return 1<(t=t<0?-t:t)?+(e+"").replace(/\..*/,""):o},U=function(e,t){for(var o,r,i={},n=0,a=0,s="",l=S,u=e.length,c=t=t||"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",d=0;d<64;d++)i[q(c,d)]=d;for(o=0;o<u;o++)for(n=(n<<6)+i[q(e,o)],a+=6;8<=a;)((r=n>>>(a-=8)&255)||o<u-2)&&(s+=l(r));return s},R=(p&&(x=function(e){return Buffer.from(e,"base64").toString("binary")},C=function(e){return Buffer.from(e).toString("base64")}),[]);try{ei=JSON.stringify}catch(e){li("Cannot use native JSON.stringify, using slow implementation instead",e);var L=function(e){return void 0===e||"function"==typeof e};ei=function(e){if(!L(e)){if("string"==typeof e)return'"'+e.replace(/\\/g,"\\\\").replace(/"/g,'\\"')+'"';if(null===e)return"null";if("number"==typeof e)return e+"";if(ti(e)){for(var t=[],o=0;o<e.length;o++)void 0===(i=ei(e[o]))&&(i="null"),t.push(i);return"["+t.join(",")+"]"}if("object"==typeof e){var r,i,t=[];for(r in e)void 0!==(i=ei(e[r]))&&t.push('"'+r+'":'+ei(e[r]));return"{"+t.join(",")+"}"}}}}function D(e,t,o,r){if(e){if(o)try{if(o(e))return e}catch(e){}r&&R.push(r)}return t}v&&(B=EventTarget,j=B.prototype.addEventListener,M=B.prototype.removeEventListener),F=null,O=function(){F=F||ft()},ii=function(t,o,r,e){t===window&&t.unsafeWindow&&(t=t.unsafeWindow);function i(e){return r(e)}var n=function(){return Si(!0)},a=("mousemove"===o&&(n=function(){return Si(!1)}),r);r=function(e){if(!n())return a(e);s&&Li(t,o,a)};O(),vn(F,a,i),j.call(t,o,i,e)},Li=function(e,t,o,r){O();var i=bn(F,o);i?yt(F,i):(li("Modified handler not found, defaulting to specified handler"),i=o),M.call(e,t,i,r)},(v||h||"function"==typeof HTMLDocument)&&(G=HTMLDocument.prototype.createElement),ni=function(e){if(G)return G.call(document,e);si("Unable to create element",e,", HTMLDocument.prototype.createElement does not exist")},B=Array.isArray,ti=B||function(e){return e instanceof Array};var j,M,F,O,G,B=null;try{B=String.fromCharCode}catch(e){}S=D(B,function(){for(var e="",t=0;t<arguments.length;t++)e+="\\u"+("0000"+parseInt(arguments[t]).toString(16)).slice(-4);return $('"'+e+'"')},function(e){return"2"===e(50)&&"d"===e(100)&&"2d"===e("50","100")}),W=String.prototype.charAt,q=D(function(e,t){return W.call(e,t)},function(e,t){e=e[t];return e=void 0===e?"":e},function(e){var t="abc";return"a"===e(t,0)&&"b"===e(t,1)&&""===e(t,-1)&&""===e(t,3)}),p||(x=D(atob,function(e){return U(e)},function(e){return"test"===e("dGVzdA==")},"atob"),C=D(btoa,function(e){return li("Using fake base64 encoder"),e},function(e){return"dGVzdA=="===e("test")},"btoa")),V=Array.prototype.indexOf,oi=D(function(e,t){return V.call(e,t)},function(e,t){"string"==typeof e&&(e=Array.from(e));for(var o=0;o<e.length;o++)if(e[o]===t)return o;return-1},function(e){var t=["a","b"];return-1===e(t,"not here")&&1===e(t,"b")&&-1===e("abc","n")&&1===e("abc","b")&&-1===e("abc","bc")}),X=Array.prototype.reduce,T=D(function(e,t,o){return void 0!==o?X.call(e,t,o):X.call(e,t)},function(e,t,o){var r=0;if(void 0===o){if(!e.length)throw new TypeError("Reduce of empty array with no initial value");o=e[0],r=1}for(var i=o,n=r;n<e.length;n++)i=t(i,e[n],n,e);return i},function(e){try{return e([]),!1}catch(e){}try{return e([],function(){}),!1}catch(e){}function t(e,t,o){return e.x+t.x+o}return!(!isNaN(e([{x:2},{x:2},{x:2}],t))||9!==e([{x:2},{x:6}],t)||2!==e([{x:2}],t).x||8!==e([{x:2}],t,{x:6}))}),I=function(e,t){return T(this,e,t)},Y=String.prototype.indexOf,ri=D(function(e,t){return Y.call(e,t)},function(e,t){if(0===t.length)return 0;for(var o=0,r=0;r<e.length;r++)if(q(e,r)===q(t,o)){if(o+1===t.length)return r-o;o++}else o=0;return-1},function(e){var t="abc";return-1===e(t,"n")&&1===e(t,"b")&&1===e(t,"bc")&&-1===e(t,"bcz")&&0===e(t,"")}),p||(B=URL||webkitURL,N=D(B,zi,function(e){return"function"==typeof e&&"object"==typeof e.prototype&&"searchParams"in e.prototype&&(!v||"createObjectURL"in e&&"revokeObjectURL"in e)},"URL")),p||(Ri=function(e,t,o){t(new z([e],o))},(z=D(Blob,function(){li("This is a fake Blob object, you will almost certainly encounter problems.")},function(e){return"function"==typeof e&&"object"==typeof e.prototype&&"slice"in e.prototype&&"size"in e.prototype},"Blob"))!==Blob&&("function"==typeof Response?Ri=function(e,t,o){var r={};o&&o.type&&(r.headers={"Content-Type":o.type}),new Response(e,r).blob().then(function(e){t(e)})}:"function"==typeof File&&(Ri=function(e,t,o){t(new File([e],"",o))})));var W,V,X,Y,Z={};if(0<R.length){try{for(var K=R,J=ni("iframe"),Q=(J.srcdoc="",document.documentElement.appendChild(J),J.contentWindow),ee=0;ee<K.length;ee++){var te=K[ee];Z[te]=Q[te]}J.parentElement.removeChild(J)}catch(e){si(e)}"Blob"in Z&&(z=Z.Blob),"URL"in Z&&(N=Z.URL),"atob"in Z&&(x=Z.atob),"btoa"in Z&&(C=Z.btoa)}function Di(e,t){t=ie(t),[].push.apply(e,t)}function oe(e,t){for(var o=[],r=0;r<e.length;r++)o[r]=t(e[r]);return o}function re(e){return e&&e.length?e:null}function ji(e,t){oi(e,t)<0&&e.push(t)}function Mi(e,t,o){return e.split(t).join(o)}function Pi(e,t){for(var o in t)e[o]=t[o];return e}var be,Hi,ye,di,pi,$i,Fi,ie=function(e){return ti(e)?e:[e]},mi=function(e,t,o){if(o){for(var r=[],i=0;i<e.length;i++)r.push(e[i]);e=r}for(i=0;i<e.length;i++)if(!1===t(e[i],i))return},ne=function(e,t){var o=new RegExp(t,"g"),e=e.match(o);if(!e)return null;for(var r=[],i=0,n=e;i<n.length;i++){var a=n[i];r.push(a.match(t))}return r},hi=function(e,t){for(var o in e)if(!1===t(o,e[o]))return},gi={nullfunc:function(){},nullobjfunc:function(){return{func:function(){}}},run_arrayd_string:function(e,t){return e=e.split(""),t.cb(e),e.join("")}};gi.new_vm=function(){function o(e,t){for(var o={stack:[],data:t},r=0;r<e.length;r+=2){var i=e[r],n=e[r+1];o.arg=n,a[i](o)}return t}var a=[function(e){e.stack.unshift(e.data)},function(e){e.stack.unshift(e.arg)},function(e){for(var t=0;t<e.arg;t++)e.stack.shift()},function(e){e.stack.unshift(e.stack[e.arg])},function(e){e.stack[0].push(e.stack[1])},function(e){e.stack[0].unshift(e.stack[1])},function(e){e.stack[0].reverse()},function(e){var t=e.stack[0][e.stack[2]];e.stack[0][e.stack[2]]=e.stack[0][e.stack[1]%e.stack[0].length],e.stack[0][e.stack[1]%e.stack[0].length]=t},function(e){e.stack[0].splice(e.stack[1],1)},function(e){e.stack[0].splice(0,e.stack[1])},function(e){e.stack[0].splice(e.stack[1],e.stack[0].length)},function(e){e.stack[0][e.stack[1]]+=e.stack[2]},function(e){e.stack[0][e.stack[1]]*=e.stack[2]},function(e){e.stack[0][e.stack[1]]*=-1}];return{arch:a,op_start:4,total_instrs:Object.keys(a).length,run:function(t,e){return"string"==typeof e?gi.run_arrayd_string(e,{cb:function(e){return o(t,e)}}):o(t,e)}}},gi.create_vm_ops=function(e){for(var i=[],t=0;t<3;t++)i.push(1,0);return mi(e,function(e){for(var t=e[0],o=1;o<e.length;o++)i.push(1,e[o]);var r=e.length-1;i.push(0,null,t,null,2,1+r)}),i.push(2,3),i};if(!p)try{be=Math.floor,Hi=Math.round,ye=Math.random,di=Math.max,pi=Math.min,$i=Math.abs,Fi=Math.pow}catch(e){be=function(e){return 0|e},Hi=function(e){return be(e+.5)};var ae=Date.now(),se=null;ye=function(){if(se=se||gi.new_vm()){for(var e=se.total_instrs-se.op_start,t=[8,9,10,13],o=[],r=(r=15&ae)||4,i=0;i<r;i++){var n=((ae>>4&15)+(ae>>i%8&15))%e+se.op_start;0<=oi(t,n)?r++:o.push([n,(255&ae)+i,((15&ae)+i)%5])}var a=gi.create_vm_ops(o);try{var s=parseFloat(se.run(a,ae+""));isNaN(s)||(ae+=s)}catch(e){}}return(ae=(ae+Date.now())%1e8)/1e8},di=function(){for(var e=-1/0,t=0;t<arguments.length;t++)e<arguments[t]&&(e=arguments[t]);return e},pi=function(){for(var e=1/0,t=0;t<arguments.length;t++)arguments[t]<e&&(e=arguments[t]);return e},$i=function(e){return e<0?-e:e},Fi=function(e,t){for(var o=1;o<t;o++)e*=e;return e}}function Oi(e,t){for(var o="";o.length<e;){var r=be(1e9*ye()),r=t?r.toString(10):r.toString(26);o+=r}return o=o.substr(0,e)}function le(){return Oi(10)+Date.now()}function ue(e,t){if(!(t<=0))for(var o=0;o<t;o++)e.push("0")}function we(e,t){if("string"!=typeof e||"string"!=typeof t)return null;var o=/^[0-9]+(\.[0-9]+){0,}$/;if(!o.test(e)||!o.test(t))return null;var r=e.split("."),i=t.split(".");r.length!==i.length&&(ue(r,i.length-r.length),ue(i,r.length-i.length));for(var n=0;n<r.length;n++){var a=ci(r[n]),s=ci(i[n]);if(a<s)return 1;if(s<a)return-1}return 0}function Gi(){return!Zr&&bi&&bi.use_webarchive_for_lib?"https://web.archive.org/web/20210328063940/https://qsniyg.github.io/maxurl/options.html":a}function Bi(){return{id:Ki,url:de,size:[window.innerWidth,window.innerHeight]}}function Wi(t){if(t.id in ce)return ce[t.id];function e(e){return e&&(ce[t.id]=e),e}for(var o=document.getElementsByTagName("iframe"),r=[],i=0;i<o.length;i++)o[i].src===t.url&&r.push(o[i]);if(0===r.length)r=[];else if(r.length<=1)return e(r[0]);for(var n=r,r=[],i=0;i<n.length;i++)n[i].scrollWidth===t.size[0]&&n[i].scrollHeight===t.size[1]&&r.push(n[i]);return r.length<=1?e(r[0]):null}function Vi(){return Qi()&&bi.mouseover_use_remote}var ce={},Xi=null,Yi=null,Zi={},Ki=null,de=null,pe=null,Xi=gi.nullfunc,Yi=gi.nullfunc,Ji="__IMU_MESSAGE__",Qi=(Zr?(pe=function(e,t){Kr(t)},f=!0):v&&(Qr&&window.parent&&(ce.top=window.parent),pe=function(e,t){var o;if((e=!e&&Qr?"top":e)&&e in ce&&!(o=function(e){if(!(e in ce))return null;if("top"!==e)try{if(ce[e].contentWindow)return ce[e].contentWindow}catch(e){return!1}return ce[e]}(e)))Yr&&li("Unable to find window for",e,{is_in_iframe:Qr,id_to_iframe:ce});else{t.imu=!0;var r={};if(r[Ji]=hn(t),o)o.postMessage(r,"*");else for(var i=0;i<window.frames.length;i++)try{window.frames[i].postMessage(r,"*")}catch(e){Yr&&li("Unable to send message to",window.frames[i],e);continue}}},f=!0,"cafe.daum.net"===window.location.hostname)&&(f=!1),f&&(de=Jr,Ki=le()+" "+de,Qr||(Ki="top"),Xi=function(e,t,o){var r=void 0,o=(o&&(r=le(),Zi[r]=o),{type:"remote",data:t,to:e,from:Ki,response_id:r});Yr&&ai("remote_send_message",e,o),pe(e,o)},Yi=function(e,t,o){pe(e,{type:"remote_reply",data:o,response_id:t})}),function(){return f&&bi.allow_remote}),me=function(i){Yr&&ai("do_request_browser",i);function e(o,r){n[o]=function(){if(r)return i[o](null);var e=function(e){i[o](e)},t=(Yr&&ai("do_request_browser's do_final",n,e),{readyState:n.readyState,finalUrl:n.responseURL,responseHeaders:n.getAllResponseHeaders(),responseType:n.responseType,status:n.status,statusText:n.statusText,timeout:n.timeout});t.response=n.response;try{t.responseText=n.responseText}catch(e){}e(t)}}var t=i.method||"GET",n=new XMLHttpRequest;n.open(t,i.url,!0),i.responseType&&(n.responseType=i.responseType),i.headers&&hi(i.headers,function(e,t){try{n.setRequestHeader(e,t)}catch(e){}});e("onload"),e("onerror"),e("onprogress"),e("onabort",!0),e("ontimeout",!0);try{n.send(i.data)}catch(e){si(e),n.abort()}return{abort:function(){n.abort()}}};try{"function"!=typeof XMLHttpRequest&&(me=null)}catch(e){me=null}function he(e){var t;return"string"==typeof e&&(t=e,e=function(){Qr||an({url:t},!1)}),e}function en(t,o,e,r){ai("do_download",t,o,e,r);var i,n=_e&&"undefined"!=typeof GM_download&&bi.enable_gm_download,a=parseFloat(bi.gm_download_max)||0,a=(n&&e&&a&&1024*a*1024<e&&(n=!1),!1);if(a=t&&t.url?/^data:/.test(t.url):a)return Ie(t,o,r);Zr?Kr({type:"download",data:{imu:t,filename:Te(o),force_saveas:!!bi.enable_webextension_download}},function(){r&&r()}):n?(t.headers&&(i=qo(t.headers)),(e={url:t.url,headers:i,saveAs:!0,onerror:function(e){e&&e.error&&"not_succeeded"!==e.error&&Ie(t,o,r)}}).name=o?Te(o):"download",Yr&&ai("GM_download",_i(e)),GM_download(e)):Ie(t,o,r)}function tn(e,t,o){var r=ba(e);Ie({url:r},t),setTimeout(function(){ya(r),o&&o()},500)}function ge(e){var e=Pn(e),t=Pn(Jr);return e.toLowerCase()===t.toLowerCase()}function fe(e,t){t=t||{};var o={},r=localStorage;return"session"===t.storage&&(r=sessionStorage),mi(e,function(e){o[e]=r.getItem(e)}),o}function ke(e){for(var t=[],o=0;o<e.length;o++){var r=e[o].name+"="+e[o].value;t.push(r)}return t.join("; ")}var xe,Ce={},ze=null,on=(Zr?ze=function(t){var o,r=!1;return Kr({type:"request",data:t},function(e){"id"!==e.type?si("Internal error: Wrong response",e):(o=e.data,Ce[o]={id:o,data:t},r&&Kr({type:"abort_request",data:o}))}),{abort:function(){void 0===o?(li("abort() was called before the request was initialized"),r=!0):Kr({type:"abort_request",data:o})}}}:"undefined"!=typeof GM_xmlhttpRequest?ze="Violentmonkey"===y&&we(_,"2.12.7")<=0?function(t){var e,o={},r=[],i=(Array.prototype.reduce===I||function(e){e=e.toString();return e.length<80&&0<ri(e,"native code")}(Array.prototype.reduce)||(e=Array.prototype.reduce,Array.prototype.reduce=I,r.push(function(){Array.prototype.reduce=e})),!1);return r.length&&mi(["onload","onabort","onerror","ontimeout"],function(e){e in t&&(o[e]=t[e],t[e]=function(){return function(e,t){return i||(mi(r,function(e){e()}),i=!0),o[e].apply(this,t)}(e,arguments)})}),GM_xmlhttpRequest(t)}:GM_xmlhttpRequest:"undefined"!=typeof GM&&void 0!==GM.xmlHttpRequest&&(ze=GM.xmlHttpRequest),Zr&&!o&&Kr({type:"init"}),gi.nullfunc),rn=gi.nullfunc,Ne=0,nn={},Se=(_e?("undefined"!=typeof GM_registerMenuCommand&&(on=function(e,t){t=he(t);e="["+ ++Ne+"] "+e,t=GM_registerMenuCommand(e,t);return t=null==t?e:t}),"undefined"!=typeof GM_unregisterMenuCommand&&(rn=function(e){return Ne--,GM_unregisterMenuCommand(e)})):Zr&&!o&&(on=function(e,t){var o=le();return t=he(t),nn[o]={name:e,func:t},Kr({type:"register_menucommand",data:{id:o,name:e}}),o},rn=function(e){Kr({type:"unregister_menucommand",data:{id:e}}),delete nn[e]}),gi.nullfunc),an=(_e&&("undefined"!=typeof GM_openInTab?Se=GM_openInTab:"undefined"!=typeof GM&&void 0!==GM.openInTab&&(Se=GM.openInTab)),function(e,t,o){Zr?Kr({type:"newtab",data:{imu:e,background:t||!1}},o):_e&&Se&&(Se(e.url,t),o)&&o()}),qe=((_e&&Se!==gi.nullfunc||Zr)&&(_e&&on("Options",Gi()),on("Request support for this page",function(){var e;Qr||(e=window.location.href,an({url:"https://qsniyg.github.io/maxurl/#imu-request-site&url="+encodeURIComponent(e)},!1))})),function(e){return!(e&&0!==e.status&&null!==e.status||e&&e.finalUrl&&/^file:\/\//.test(e.finalUrl))}),fi=null,Te=(ze?fi=function(r){if(Yr&&ai("do_request",_i(r)),"withCredentials"in r||(r.withCredentials=!0),"headers"in r||(r.headers={}),r.imu_mode){var e,t={};for(e in"document"===r.imu_mode||"iframe"===r.imu_mode?(t.accept="text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8",t["Sec-Fetch-Dest"]="document"===r.imu_mode?"document":"iframe",t["Sec-Fetch-Mode"]="navigate",t["Sec-Fetch-Site"]="document"===r.imu_mode?"same-origin":"cross-site",t["Sec-Fetch-User"]="?1"):"xhr"===r.imu_mode?(t.accept="*/*",t["Sec-Fetch-Dest"]="empty",t["Sec-Fetch-Mode"]="cors",t["Sec-Fetch-Site"]="same-origin",t.origin=r.url.replace(/^([a-z]+:\/\/[^/]+)(?:\/+.*)?$/,"$1")):"image"===r.imu_mode?(t.accept="image/webp,image/apng,image/*,*/*;q=0.8",t["Sec-Fetch-Dest"]="image",t["Sec-Fetch-Mode"]="no-cors",t["Sec-Fetch-Site"]="same-site"):"video"===r.imu_mode&&(t.accept="*/*",t["Sec-Fetch-Dest"]="video",t["Sec-Fetch-Mode"]="no-cors",t["Sec-Fetch-Site"]="same-site"),delete r.imu_mode,t)void 0===Mn(r.headers,e)&&To(r.headers,e,t[e])}if(r.imu_multipart){var o,i="----WebKitFormBoundary"+Oi(16),n="";for(o in r.imu_multipart)n=n+("--"+i+'\r\nContent-Disposition: form-data; name="'+o+'"\r\n\r\n')+(r.imu_multipart[o]+"\r\n");n+="--"+i+"--\r\n",To(r.headers,"Content-Type","multipart/form-data; boundary="+i),r.data=n,delete r.imu_multipart}var a,s,l,u,c,d,p,m=_i(r),h=("string"==typeof r.url&&(r.url=r.url.replace(/#.*/,"")),r.onerror||(r.onerror=r.onload),r.ontimeout||(r.ontimeout=r.onerror),ze);return _e&&bi.allow_browser_request&&("Falkon GreaseMonkey"===y||"USI"===y&&r.need_blob_response)&&(h=me,delete r.trackingprotection_failsafe),r.retry_503&&(!0!==r.retry_503&&"number"==typeof r.retry_503||(r.retry_503=ci(bi.retry_503_times)),0<r.retry_503)&&(a=r.onload,s=r.onerror,l=function(e,t){Yr&&ai("do_request's finalcb_503:",e,t,_i(r)),503===e.status?(li("Received status 503, retrying request",e,m),m.retry_503=r.retry_503-1,setTimeout(function(){fi(m)},ci(bi.retry_503_ms)||1)):(t?s:a)(e)},r.onload=function(e){l(e,!1)},r.onerror=function(e){l(e,!0)}),r.trackingprotection_failsafe&&bi.allow_browser_request&&me&&(u=r.onload,c=r.onerror,d=function(e,t){var o;if(Yr&&ai("do_request's finalcb:",e,t),qe(e))return r.onload=null,r.onerror=null,(o=mn(r)).onload=u,o.onerror=c,"blob"===o.imu_responseType&&(o.responseType="blob"),me(o);(t?c:u)(e)},r.onload=function(e){d(e,!1)},r.onerror=function(e){d(e,!0)}),"blob"!==r.responseType||bi.use_blob_over_arraybuffer||(p=r.onload,r.onload=function(e){function t(){Yr&&ai("do_request's arraybuffer->blob:",_i(e),i),p(i)}var o,r,i=e;e.response?(o=null,Zr&&"_responseEncoded"in e&&e._responseEncoded.type?o=e._responseEncoded.type:e.responseHeaders&&(r=jn(Dn(e.responseHeaders)))["content-type"]&&(o=r["content-type"]),r=void(i=mn(e)),Ri(e.response,function(e){i.response=e,t()},r=o?{type:o}:r)):t()},r.responseType="arraybuffer",r.imu_responseType="blob"),Yr&&ai("do_request (modified data):",_i(r)),h(r)}:v&&console.warn("Unable to initialize do_request, most functions will likely fail"),function(e){return bi.filename_replace_special_underscores?e.replace(/["<>/:?\\*|\^]/g,"_"):e}),Ie=function(e,t,o){Yr&&ai("do_browser_download",e,t,o);var r=ni("a");r.href=e.url,t&&0<t.length?r.setAttribute("download",Te(t)):(e=document.createAttribute("download"),r.setAttributeNode(e)),r.style.display="none",r.onclick=function(e){return e.stopPropagation(),e.stopImmediatePropagation(),!0},document.body.appendChild(r),r.click(),setTimeout(function(){document.body.removeChild(r)},500),o&&o()},Ae=function(t,o){var r=!1,i=0,n=function(){if(!t.queue.length)return i<=0?o():void 0;var e=t.queue.shift();i++,t.runner(e,function(){i--,n()})};return{add:function(e){t.queue.push(e)},start:function(){if(!r){r=!0;for(var e=t.concurrency;0<e;e--)n()}}}},sn=function(t){this.elements_num=t.elements_num||0,this.total_size=t.total_size||0,this.known_elements={},this.finished=!1;var o=0;this.calc_completion=function(){var t,o=0,r=0,i=0,n=[],e=(hi(this.known_elements,function(e,t){!t.size&&t.progress_ratio?n.push(t):(o+=t.size,i+=t.progress,r++)}),this.total_size),a=!0,s=(n.length&&(a=!1,t=r?o/r:1,mi(n,function(e){o+=t,i+=e.progress_ratio*t,r++})),e||(e=o,0<(s=this.elements_num-r)&&0<r&&(e+=o/r*s,a=!1)),{percent:i/e,total:e,total_accurate:a,loaded:i});return this.finished&&(s.percent=1,s.loaded=s.total),s},this._do_cb=function(){var e=this.calc_completion();e.percent!==o&&(o=e.percent,t.cb(e))},this.update=function(e,t,o){e in this.known_elements||(this.known_elements[e]={progress:0,size:0}),o||!t?(this.known_elements[e].progress=t,this.known_elements[e].size=o):this.known_elements[e].size?this.known_elements[e].progress=t*this.known_elements[e].size:this.known_elements[e].progress_ratio=t,this._do_cb()},this.update_progobj=function(e,t){this.update(e,t.loaded,t.total)},this.finish_id=function(e){this.update(e,1)},this.finish=function(){this.finished=!0,this._do_cb()}},ln=function(o,s){o.headers||(o.headers={}),o.responseType="arraybuffer";function l(e){return"content-range"in e?(e=e["content-range"].split("/"),ci(e[1])):null}function u(r,i,n,a){var e=_i(o),t=(e.method="GET","bytes="+r+"-"),s=(i&&(t+=i-1),r);To(e.headers,"Range",t),a?(e.onprogress=function(e){var t;if(e.loaded&&e.total)return t=jn(Dn(e.responseHeaders)),t=l(t),a(s,e.loaded,e.total,t)},e.onload=function(e){var t,o;i&&(t=i-r),(t=e.response?e.response.byteLength:t)||"content-length"in(o=jn(Dn(e.responseHeaders)))&&(t=ci(o["content-length"])),a(s,t,t),n(e)}):e.onload=n,fi(e)}function c(e){d&&p.finish(),s.onload({data:h,mime:g},e)}var d=!!s.onprogress,p=null,m=null,h=(d&&(p=new sn({cb:s.onprogress,elements_num:1}),m=function(e,t,o,r){!p.total_size&&r&&(p.total_size=r),p.update(e,t,o)}),null),g=null,f=s.chunk_size;u(0,f=f||0===f?f:524288,function(e){var t=jn(Dn(e.responseHeaders)),o=0;if(200===e.status)o=e.response.byteLength;else{if(206!==e.status)return si("Bad status",e.status,e),s.onload(null,e);if(null===(o=l(t)))return si("Unable to find length through content-range"),s.onload(null,e)}if((h=new Uint8Array(o)).set(new Uint8Array(e.response),0),e.response.byteLength>=o)return c(e);"content-type"in t&&(g=t["content-type"]),d&&(p.total_size=o);for(var r=[],i=e.response.byteLength;;i+=f){var n=[i],a=!0;if(f<o-i&&(n.push(i+f),a=!1),r.push(n),a)break}d&&(p.elements_num+=r.length),Ae({concurrency:s.chunks||5,queue:r,runner:function(t,o){u(t[0],t[1],function(e){h.set(new Uint8Array(e.response),t[0]),o()},m)}},function(){c(e)}).start()},m)},Ee=null,Ue=null,Re=null,un=(v&&(Ue=function(e,t){Yr&&ai("clipboard_write execcommand",e);var o=document.createElement("textarea");o.style.height="1px",o.style.width="1px",o.style.resize="none",o.style.appearance="none",o.style.border="0",o.style.margin="0",o.style.padding="0",o.style.display="inline",o.style.cursor="default",document.body.appendChild(o),o.innerText=e.text,o.focus(),o.select(),setTimeout(function(){document.body.removeChild(o)},100),t(!!document.execCommand("copy"))},navigator.clipboard)&&(navigator.clipboard.write||navigator.clipboard.writeText)&&(Re=function(e,t){Yr&&ai("clipboard_write clipboard_api",e);var o="text/plain"===e.mime&&navigator.clipboard.writeText;if(!o&&navigator.clipboard.write&&"function"==typeof ClipboardItem)var r={},r=(r[e.mime]=new z([e.text],{type:e.mime}),new ClipboardItem(r)),r=navigator.clipboard.write([r]);else{if(!o)return t(!1);r=navigator.clipboard.writeText(e.text)}r.then(function(){t(!0)},function(e){console.error(e),t(!1)})}),_e&&("function"==typeof GM_setClipboard?Ee=function(e,t){GM_setClipboard(e.text,e.mime),t(!0)}:"object"==typeof GM&&"function"==typeof GM.setClipboard&&(Ee=function(e,t){GM.setClipboard(e.text),t(!0)})),function(o,r){r=r||zi,(o="string"==typeof o?{text:o}:o).mime||(o.mime="text/plain");function i(){for(var e,t=0;t<n.length;t++){if(n[t]){e=n[t];break}n.shift(),t--}e(o,function(e){if(0<n.length&&!e)return n.shift(),i();r(e)})}var n=[Ee,Re,Ue];i()}),Le=null,De=(Zr?Le=function(e,t){if(!1===bi.browser_cookies)return t(null);Kr({type:"getcookies",data:{url:e}},function(e){t(e.data)})}:_e&&(Le=function(e,t,o){return!1===bi.browser_cookies||(o=o||{}).need_full?t(null):(o=Pn(Jr),o=Hn(o),e=Pn(e),void t(o===Hn(e)?je(document.cookie):null))}),null),je=(Zr?De=function(e,t,o,r){Kr({type:"get_localstorage",data:{url:e,keys:t,options:r}},function(e){if(!e)return o(null);o(e.data)})}:_e&&(De=function(e,t,o,r){if(!ge(e))return o(null);o(fe(t,r))}),function(e){var o=[],e=e.split(/;\s*/);return mi(e,function(e){var t=e.match(/^\s*([^=\s]+)\s*=\s*(?:"([^"]+)"|([^"]\S*))\s*$/);t?o.push({name:t[1],value:t[2]||t[3]}):li("Unable to parse cookie",e)}),o}),cn=function(e){return!0},dn=function(e){return!0},Me=((v||o)&&(xe=function(e,t,o){for(var r=!0,i=0;i<t.length;i++)if(t[i].test(e)){r=!1;break}return"whitelist"===o?!r:r},cn=function(e){return xe(e,mo,bi.bigimage_blacklist_mode)},dn=function(e){var t=ho;return bi.apply_blacklist_host&&(t=mo),xe(e,t,bi.host_blacklist_mode)}),{fill_object:!0,null_if_no_change:!1,catch_errors:!0,use_cache:!0,use_api_cache:!0,urlcache_time:3600,iterations:200,exclude_problems:["watermark","smaller","possibly_different","possibly_broken"],exclude_videos:!1,include_pastobjs:!0,force_page:!1,allow_thirdparty:!1,allow_thirdparty_libs:!0,allow_thirdparty_code:!1,process_format:{},filter:cn,rule_specific:{deviantart_prefer_size:!1,deviantart_support_download:!0,ehentai_full_image:!0,imgur_source:!0,imgur_nsfw_headers:null,instagram_use_app_api:!1,instagram_dont_use_web:!1,instagram_prefer_video_quality:!0,instagram_gallery_postlink:!1,snapchat_orig_media:!0,teddit_redirect_reddit:!0,tiktok_no_watermarks:!1,tiktok_thirdparty:null,tumblr_api_key:null,twitter_use_ext:!1,linked_image:!1},do_request:fi,get_cookies:Le,host_url:null,document:null,window:null,element:null,cb:null}),Pe={url:null,always_ok:!1,likely_broken:!1,can_head:!0,can_multiple_request:!0,head_ok_errors:[],head_wrong_contenttype:!1,head_wrong_contentlength:!1,need_blob:!1,need_data_url:!1,waiting:!1,redirects:!1,forces_download:!1,is_private:!1,is_pagelink:!1,is_original:!1,norecurse:!1,forcerecurse:!1,can_cache:!0,bad:!1,bad_if:[],fake:!1,media_info:{type:"image",delivery:null,is_live:!1},video:!1,album_info:null,headers:{},cookie_url:null,need_credentials:!0,content_type:null,max_chunks:0,referer_ok:{same_domain:!1,same_domain_nosub:!1},extra:{page:null,caption:null,created_date:null,updated_date:null,author_username:null,id:null},filename:"",problems:{watermark:!1,smaller:!1,possibly_different:!1,possibly_broken:!1,possibly_upscaled:!1,bruteforce:!1}};function pn(e){if(e&&"object"==typeof e&&!ti(e)){if("namespaceURI"in e&&"nodeType"in e&&"nodeName"in e&&"childNodes"in e)return 1;if("function"==typeof e.HTMLElement&&"object"==typeof e.navigator)return 1;if(v)for(var t=0,o=[Node,Element,HTMLDocument,Window];t<o.length;t++){var r=o[t];try{if(e instanceof r)return 1}catch(e){si(e)}}}}function He(e){return"object"==typeof e&&null!==e&&!ti(e)&&!pn(e)}var $e=function(e){var t,o={};for(t in e)o[t]=e[t];return o},Fe=("assign"in Object&&($e=function(e){return Object.assign({},e)}),function(e){for(var t=[],o=0;o<e.length;o++)t.push(e[o]);return t});function mn(e){if(He(e)){if(ti(e))return Fe(e);if("object"==typeof e)return $e(e)}return e}function _i(t,o){if((o=o||{}).history||(o.history=[]),"string"==typeof t||null==t)return t;if(pn(t)||t instanceof RegExp){if(!o.json)return t}else if("function"==typeof t){if(!o.json)return t}else{if("object"!=typeof t)return t;if(!(0<=oi(o.history,t))){if(o.history.push(t),ti(t))for(var r=[],e=0;e<t.length;e++){var i=t[e];r.push(_i(i,o))}else for(var n in r={},t)try{r[n]=_i(t[n],o)}catch(e){o.json?r[n]=void 0:r[n]=t[n]}return r}}}var hn=function(e){return _i(e,{json:!0})},Oe=function(){var e="";try{e=window.navigator.userAgent}catch(e){}var t="(!!!UNKNOWN, PLEASE FILL IN!!!)\n";try{t=w.script.version}catch(e){}var o="(unable to find)";try{o=ei(function(){for(var e=$(ei(bi)),t=0;t<Ye.length;t++)delete e[Ye[t]];return e}())}catch(e){}e=["User agent: "+e,"Is userscript: "+_e,"Is addon: "+Zr,"Image Max URL version: "+t,"Settings: "+o];if(_e)try{e.push("Userscript manager: "+y),e.push("Userscript manager version: "+_)}catch(e){}return e.join("\n")};function gn(e){return"true"===e||!0===e||1===e||"false"!==e&&!1!==e&&0!==e&&void 0}var J=["en","es","fr","it","ko","ru","zh-CN"],Ge="en";try{Ge=("undefined"==typeof navigator?"en":navigator.languages?navigator.languages[0]:navigator.language||navigator.userLanguage).toLowerCase(),oi(J,Ge)<0&&(Ge=Ge.replace(/-.*/,""),oi(J,Ge)<0)&&(Ge="en")}catch(e){si(e),oi(J,Ge)<0&&(Ge="en")}var Be={options_header:{en:"Options",es:"Opciones",it:"Opzioni",ko:"옵션",ru:"Параметры","zh-CN":"选项"},yes:{en:"Yes",es:"Sí",fr:"Oui",it:"Sì",ko:"예",ru:"Да","zh-CN":"是"},no:{en:"No",es:"No",fr:"Non",it:"No",ko:"아니오",ru:"Нет","zh-CN":"否"},Import:{it:"Importa",ko:"가져오기",ru:"Импорт","zh-CN":"导入"},Export:{it:"Esporta",ko:"내보내기",ru:"Экспорт","zh-CN":"导出"},"Requires:":{it:"Richiede",ko:"요구사항:",ru:"Требуется:","zh-CN":"需要:"},"Or:":{ru:"Или:","zh-CN":"或者:"},Redirection:{es:"Redirección",ko:"리디렉션",ru:"Перенаправление","zh-CN":"重定向"},subcategory_update:{en:"Updates",ru:"Обновление","zh-CN":"更新"},subcategory_libraries:{en:"3rd-party libraries",ru:"Сторонние библиотеки","zh-CN":"第三方库"},subcategory_settings:{en:"Settings",es:"Ajustes",ru:"Настройки","zh-CN":"设置"},subcategory_ui:{en:"UI",es:"Interfaz",ru:"Интерфейс","zh-CN":"界面"},subcategory_trigger:{en:"Trigger",es:"Acciones del popup",fr:"Déclencheur",ko:"트리거",ru:"Действия всплывающего окна","zh-CN":"触发器"},subcategory_popup_source:{en:"Source",ru:"Источник всплывающего окна","zh-CN":"弹窗源头"},subcategory_open_behavior:{en:"Open Behavior",es:"Comportamiento al Abrir",ko:"열기 동작",ru:"Поведение при открытии","zh-CN":"打开方式"},subcategory_close_behavior:{en:"Close Behavior",es:"Comportamiento al Cerrar",ko:"닫기 동작",ru:"Поведение при закрытии","zh-CN":"关闭方式"},subcategory_behavior:{en:"Popup Behavior",es:"Comportamiento del Popup",ru:"Поведение всплывающего окна","zh-CN":"行为"},subcategory_video:{en:"Video/Audio",ko:"영상/오디오",ru:"Видео/Аудио","zh-CN":"视频/音频"},subcategory_gallery:{en:"Gallery",es:"Galeria",ru:"Галерея","zh-CN":"图库"},subcategory_popup_other:{en:"Other",es:"Otro",fr:"Autre",ru:"Прочее","zh-CN":"其他"},subcategory_cache:{en:"Cache",ru:"Кэш","zh-CN":"缓存"},Shortcuts:{ru:"Горячие клавиши","zh-CN":"快捷键"},subcategory_keybinds_popup_actions:{en:"Popup actions",ru:"Действия всплывающего окна","zh-CN":"操作弹窗"},"Mouse cursor":{it:"Sposta cursore",ko:"마우스 커서",ru:"Курсор мыши","zh-CN":"鼠标光标"},Rules:{fr:"Règles",ko:"규칙",ru:"Правила","zh-CN":"规则"},subcategory_rule_specific:{en:"Rule-specific",ru:"Специфика правил","zh-CN":"专用规则"},Website:{fr:"Site",ko:"웹사이트",ru:"Сайт","zh-CN":"网站"},"Saved! Refresh the target page for changes to take effect":{fr:"Enregistré! Actualiser la page que vous visitez pour que les changements prennent effet",ko:"저장됩니다. 번경사항 적용하려면 대상 웹페이지 다시 로드하십시오",ru:"Сохранено! Обновите целевую страницу, чтобы применить изменения.","zh-CN":"已保存,刷新目标页面使更改生效"},"Saved!":{fr:"Enregistré!",ko:"저장됩니다",ru:"Сохранено!","zh-CN":"已保存"},save:{en:"Save",fr:"Enregistrer",ko:"저장",ru:"Сохранить","zh-CN":"保存"},Record:{ru:"Переназначить","zh-CN":"录制"},Cancel:{fr:"Annuler",ko:"취소",ru:"Отмена","zh-CN":"取消"},"Mouseover popup (%%1) is needed to display the original version":{fr:"Popup (%%1) est nécessaire pour trouver la version originale",it:"Il popup del mouse (%%1) serve a mostrare la versione originale",ko:"원본 이미지 보려면 팝업 (%%1) 필요합니다",ru:"Всплывающее окно при наведении мыши (%%1) необходимо для отображения оригинальной версии","zh-CN":"需要鼠标悬停弹窗(%%1)来显示原始版本"},"custom headers":{fr:"en-têtes spéciales",ko:"특정 헤더",ru:"Пользовательские заголовки","zh-CN":"自定义标题"},"forces download":{en:"forces download",ru:"Скачать принудительно","zh-CN":"强制下载"},Close:{fr:"Fermer",it:"Chiudi",ko:"닫기",ru:"Закрыть","zh-CN":"关闭"},Previous:{fr:"Image précédente",it:"Precedente",ko:"이전",ru:"Предыдущее","zh-CN":"上一个"},Next:{fr:"Image suivante",it:"Prossimo",ko:"다음",ru:"Следуещее","zh-CN":"下一个"},"Left Arrow":{fr:"Flèche gauche",it:"Freccia sinistra",ko:"왼쪽 화살표",ru:"Стрелка влево","zh-CN":"左箭头"},"Right Arrow":{fr:"Flèche droite",it:"Freccia destra",ko:"오른쪽 화살표",ru:"Стрелка вправо","zh-CN":"右箭头"},subcategory_extension:{en:"Extension",ru:"Расширение","zh-CN":"扩展"},"Rotate Left":{ru:"Повернуть влево","zh-CN":"向左旋转"},"Rotate Right":{ru:"Повернуть вправо","zh-CN":"向右旋转"},Buttons:{ru:"Дополнительно","zh-CN":"其他"},subcategory_replaceimages:{en:"Replace Images",ru:"Замена изображений","zh-CN":"替换图像"},subcategory_highlightimages:{en:"Highlight Images",ru:"Выделение изображений","zh-CN":"高亮图像"},subcategory_customgallery:{en:"Custom Gallery"},General:{es:"General",ko:"일반",ru:"Общие","zh-CN":"通用"},"Enable extension":{it:"Abilita estensione",ru:"Включить расширение","zh-CN":"启用扩展"},"Globally enables or disables the extension":{it:"Abilita o disabilita globalmente l'estensione",ru:"Переключает расширение глобально","zh-CN":"全局启用或禁用扩展"},Language:{es:"Lenguaje",it:"Lingua",ko:"언어",ru:"Язык","zh-CN":"语言"},"Language for this extension":{it:"Lingua per questa estensione",ru:"Язык этого расширения","zh-CN":"此扩展程序的语言"},English:{ru:"Английский","zh-CN":"英语"},"Español":{ru:"Испанский","zh-CN":"西班牙语"},"Français":{ru:"Французкий","zh-CN":"法语"},Italiano:{ru:"Итальянский","zh-CN":"意大利语"},"한국어":{ru:"Корейский","zh-CN":"韩语"},"Русский":{ru:"Русский","zh-CN":"俄语"},"Dark mode":{it:"Modalità scura",ko:"다크 모드",ru:"Тёмный режим","zh-CN":"深色模式"},"Changes the colors to have light text on a dark background":{it:"Cambia i colori per avere testo chiaro su sfondo scuro",ko:"어두운 배경, 밝은 텍스트가 표시되도록 변경합니다.",ru:"Изменяет цвета, делая текст на тёмном фоне, светлым.","zh-CN":"将颜色更改为在深色背景上显示浅色文本"},"Description below options":{it:"Descrizione sotto le opzioni",ko:"옵션 아래에 설명 표시",ru:"Описание под параметрами","zh-CN":"选项下方显示描述"},"Shows the description below the options (otherwise the description is only shown when you hover over the option's name)":{it:"Mostra la descrizione sotto le opzioni (alternativamente, la descrizione viene mostrata solo quando il mouse si trova sopra il nome dell'opzione)",ko:"옵션 아래에 설명 표시 (비활성화 시, 옵션 이름 위에 마우스를 올려 놓을 때만 설명이 표시됨)",ru:"Показывает описание под параметрами (в противном случае описание отображается только при наведении курсора мыши на имя параметра)","zh-CN":"选项下方显示描述(禁用则仅当鼠标悬停在选项的名称上时显示说明)"},"Show disabled options":{it:"Mostra opzioni inattive",ko:"비활성화된 설정 표시",ru:"Показывать отключенные параметры","zh-CN":"显示停用的选项"},"If disabled, options that are disabled due to their requirements being unmet will not be displayed":{it:"Se inattivo, le opzioni che sono inattive a causa dei loro requisiti necessari non raggiunti non verranno mostrate",ru:"Если отключено, то параметры которые отключены из-за невыполнения требований будут скрыты","zh-CN":"禁用后将不显示因未满足要求而被停用的选项"},"Show disabled trigger profiles":{ru:"Показывать отключенные целевые профили","zh-CN":"显示停用的触发器配置"},"If disabled, options for alternate trigger profiles (options with `(#2)` after them) will not be shown if the relevant trigger isn't active":{ru:"Если отключено, то параметры альтернативных целевых профилей (параметры с `(#2)` после них) будут скрыты, если соответствующая цель не активна","zh-CN":"如果禁用,将不显示相关触发器未被激活的备用触发器的配置选项(带有 `(#2)` )"},"Requirements below disabled options":{ko:"비활성화된 옵션 아래의 요구 사항",ru:"Требования под отключенными параметрами","zh-CN":"停用选项下方显示需求"},"If an option is disabled, the requirements to enable the option will be displayed below it":{ko:"옵션이 비활성화되면 옵션을 활성화하기 위한 요구 사항이 아래에 표시됨",ru:"Если отключено, то под недоступными параметрами будут отображаться требования для их включения","zh-CN":"在已停用选项的下方显示启用要求"},"Check for updates":{ko:"업데이트 확인",ru:"Проверять наличие обновлений","zh-CN":"检查更新"},"Periodically checks for updates. If a new update is available, it will be shown at the top of the options page":{ru:"Периодически проверяет наличие обновлений. Новое обновление будет показано в верхней части страницы параметров.","zh-CN":"定期检查更新。有可用的更新时将在选项页面的顶部显示"},"Update check interval":{ko:"업데이트 확인 간격",ru:"Интервал проверки обновления","zh-CN":"更新检查间隔"},"How often to check for updates":{ko:"업데이트 확인 빈도",ru:"Как часто будет происходить проверка наличия обновлений","zh-CN":"多久检查一次更新"},hours:{ko:"시간",ru:"ч.","zh-CN":"小时"},"Notify when update is available":{ko:"업데이트가 있을 때 알림",ru:"Уведомлять о появлении обновления","zh-CN":"有可用更新时通知"},"Creates a browser notification when an update is available":{ko:"업데이트가 있을 때 브라우저 알림을 받습니다.",ru:"Создаёт уведомление в браузере, когда обновление доступно.","zh-CN":"有可用更新时弹出浏览器通知"},"Show advanced settings":{ko:"고급 설정 표시",ru:"Показывать расширенные настройки","zh-CN":"显示高级设置"},"If disabled, settings that might be harder to understand will be hidden":{ko:"비활성화 시, 이해하기 어려울 수 있는 설정이 숨겨짐",ru:"Если отключено, то более сложные настройки, будут скрыты","zh-CN":"禁用后将隐藏比较难以理解的设置"},"Use tabs":{ko:"탭 사용",ru:"Использовать вкладки","zh-CN":"标签式设置"},"If disabled, all settings will be shown on a single page":{ko:"비활성화 시, 모든 설정이 한 페이지에 표시됩니다.",ru:"Если отключено, то все настройки будут отображаться на одной странице","zh-CN":"如果禁用,将在同一页上显示全部设置"},"Alphabetical order":{ru:"В алфавитном порядке","zh-CN":"按字母顺序"},"Lists options in alphabetical order":{ru:"Список параметров будет отсортирован в алфавитном порядке","zh-CN":"以字母顺序排列选项"},"Allow using browser XHR":{ru:"Разрешить браузеру использовать XHR","zh-CN":"允许使用浏览器 XHR"},"This allows XHR requests to be run in the browser's context if they fail in the extension (e.g. when Tracking Protection is set to High)":{ru:"Это позволяет запускать запросы XHR в контексте браузера, если они не работают в расширении (например, когда защита отслеживания установлена на Высокий уровень)","zh-CN":"允许扩展中运行 XHR 请求失败时在浏览器上下文中运行 XHR。原因例如“跟踪保护”被设定为高。"},"Retry requests with 503 errors":{ru:"Повторять запрос с ошибкой 503","zh-CN":"重试返回 503 错误的请求"},"Amount of times to retry a request when 503 (service unavailable) is returned by the server":{ru:"Количество повторных попыток запроса, когда сервер возвращает 503 (служба недоступна)","zh-CN":"服务器返回 503 错误(服务不可用)时,重试请求次数"},times:{ru:"раз(а)","zh-CN":"次"},"Delay between 503 retries":{ru:"Задержка между повторами 503","zh-CN":"503 重试之间延迟"},"Time (in milliseconds) to delay between retrying requests that received 503":{ru:"Время (в миллисекундах) для задержки между повторной попыткой запросов при получении 503","zh-CN":"收到 503 错误后重试请求之间延迟多久(毫秒)"},"Use `Blob` over `ArrayBuffer`":{ru:"Использовать `Blob` поверх `ArrayBuffer`","zh-CN":"使用 Blob 代替 ArrayBuffer"},"Uses `Blob`s for XHRs instead of `ArrayBuffer`s. Keep this enabled unless your userscript manager doesn't support blob requests":{ru:"Использует `Blob`ы для XHR, вместо `ArrayBuffer`ов. Не отключайте, если ваш менеджер пользовательских скриптов не поддерживает запросы blob.","zh-CN":"XHR 中使用 Blob 代替 ArrayBuffer。除非您的用户脚本管理器不支持 Blob 请求,否则保持启用"},"Live settings reloading":{ru:"Перезагрузка настроек в реальном времени","zh-CN":"设置实时生效"},"Enables/disables live settings reloading. There shouldn't be a reason to disable this unless you're experiencing issues with this feature":{ru:"Переключает перезагрузку параметров в реальном времени. Не должно быть причин для отключения этой функции. Отключить только если у вас есть с ней проблемы.","zh-CN":"启用/禁用设置实时重新加载。除非遇到此功能相关的问题,否则应保持此功能启用"},"Disable keybindings when editing text":{ru:"Отключить горячие клавиши при редактировании текста","zh-CN":"编辑文本框时禁用快捷键"},"Disables shortcuts when key events are sent to an input area on the page":{ru:"Отключает горячие клавиши при отправке событий клавиш в область ввода на странице","zh-CN":"将键盘事件发送到页面上的输入区域时,停用已设置的快捷键"},"Use `GM_download` if available":{ru:"Использовать `GM_download`, если доступно","zh-CN":"可用时使用 GM_download"},"Prefers using `GM_download` over simple browser-based downloads, if the function is available. Some userscript managers download the entire file before displaying a save dialog, which can be undesirable for large video files":{ru:"Предпочтительно использует `GM_download` вместо простых скачиваний в браузере, если эта функция доступна. Некоторые менеджеры пользовательских скриптов скачивает весь файл перед отображением диалога сохранения, что может быть нежелательно для больших видеофайлов.","zh-CN":"优先使用 GM_download 代替浏览器的下载功能。部分用户脚本管理器会在显示“保存”对话框前下载整个文件,这不利于下载大体量的视频文件"},"Maximum size to `GM_download`":{ru:"Максимальный размер для `GM_download`","zh-CN":"GM_download 大小上限"},"If a file is larger than this size, use a simple browser-based download instead. Set to `0` for unlimited.":{ru:"Если файл больше этого размера, используется простое скачивание через браузер. `0` - неограниченно.","zh-CN":"文件大于此大小时改用基于浏览器的下载功能。设为 0 表示无限制。"},MB:{ru:"МБ","zh-CN":"MB"},"Force save dialog when downloading":{ru:"Принудительное диалоговое окно сохранения при скачивании","zh-CN":"下载时强制打开“保存”对话框"},"Tries to ensure the 'save as' dialog displays when downloading. This requires the 'downloads' permission to work, and will sometimes not work when custom headers are required.":{ru:"Посторается обеспечить отображение диалогового окна 'Сохранить как' при скачивании. Для этого требуется разрешение на 'скачивание', и иногда не будет работать, когда требуются пользовательские заголовки.","zh-CN":"尝试确保下载时打开“另存为”对话框。此功能需要“下载”权限,并且搭配“自定义头”时可能无效。"},"Enable logging to console":{ru:"Запись журнала в консоли","zh-CN":"启用控制台日志"},"Allows the script to log messages to the browser console.":{ru:"Позволяет скрипту записывать сообщения в консоль браузера.","zh-CN":"允许记录日志消息到浏览器的控制台。"},"Enable writing to clipboard":{ru:"Запись в буфер обмена","zh-CN":"启用写入剪贴板"},"This option does nothing on its own, but enabling it allows other functionality that require writing to the clipboard to work":{ru:"Параметр сам по себе ничего не делает, но его включение позволяет работать другим функциям, требующим записи в буфер обмена.","zh-CN":"此选项本身无功能,但启用它才能使其他需要写入剪贴板的功能运作"},"Enable redirection":{es:"Habilitar redirección",fr:"Activer la redirection",ko:"리디렉션 사용",ru:"Перенаправление","zh-CN":"启用重定向"},"Automatically redirect media opened in their own tab to their larger/original versions":{ru:"Автоматически перенаправляет открытое медиа на новую вкладку к их более крупной/оригинальной версии","zh-CN":"在打开的媒体文件标签页中自动重定向到其更清晰的版本"},"Allow video":{ru:"Разрешить видео","zh-CN":"允许视频"},"Allows redirecting from/to video":{ru:"Позволяет перенаправлять с/на видео","zh-CN":"允许视频被重定向"},"Allow audio":{ru:"Разрешить аудио","zh-CN":"允许音频"},"Allows redirecting from/to audio":{ru:"Позволяет перенаправлять с/на аудио","zh-CN":"允许音频被重定向"},"Add to history":{es:"Agregar al historial",fr:"Ajouter à l'historique",ko:"브라우저 기록에 추가",ru:"Добавлять в историю","zh-CN":"添加到历史记录"},"Redirection will add a new entry to the browser's history":{ko:"리디렉션 시, 브라우저의 기록에 새 항목이 추가됨",ru:"Перенаправление будет добавлять новую запись в историю браузера","zh-CN":"重定向发生时在浏览器的历史记录中加入一条记录"},"Do redirection in extension":{ru:"Выполнять перенаправление в расширении","zh-CN":"在扩展中执行重定向"},"Performs the redirection in the extension instead of the content script. This is significantly faster and shouldn't cause issues in theory, but this option is kept in case of regressions":{ru:"Выполняет перенаправление в расширении вместо скрипта. Теоритически это значительно быстрее и не должно вызывать проблем, но этот параметр сохраняется в случае регрессий.","zh-CN":"在扩展内而非内容脚本中执行重定向。这样快得多并且理论上不应该引起问题,但该选项被保留以防特殊问题"},"Use GET if HEAD is unsupported":{es:"Utilizar GET si HEAD no es soportado",fr:"Utiliser GET si HEAD n'est pas supporté",ko:"HEAD 지원되지 않으면 GET 사용",ru:"Использовать GET, если HEAD не поддерживается","zh-CN":"不支持 HEAD 时改用 GET"},"Use a GET request to check an image's availability, if the server does not support HEAD requests":{ru:"Будет использоваться GET-запрос для проверки доступности изображения, если сервер не поддерживает запросы HEAD.","zh-CN":"服务器不支持 HEAD 请求时改用一条 GET 请求来检查一个图像的可用性"},"Try finding extra information":{ru:"Пытаться найти расширенную информацию","zh-CN":"尝试查找额外信息"},"Enables methods that use API calls for finding extra information, such as the original page, caption, or album information. Note that this option does not affect finding the original media.":{ru:"Включает методы, использующие вызовы API для поиска расширенной информации, такой как оригинальная страница, подпись или сведения об альбоме. Обратите внимание, что этот параметр не влияет на поиск оригинального медиа.","zh-CN":"启用通过 API 调用查找额外信息的方法,查找如原始页面、标题或相册信息。此选项不影响查找原始版本的媒体文件。"},SmugMug:{ru:"SmugMug","zh-CN":"SmugMug"},"Enable tooltip":{ru:"Всплывающая подсказка","zh-CN":"启用工具提示"},"Enables the 'Mouseover popup is needed to display the original version' tooltip":{ru:"Включает подсказку «Для отображения исходной версии требуется всплывающее окно при наведении мыши».","zh-CN":"启用“需要鼠标悬停弹窗来显示原始版本”的工具提示"},"Show image URL in tooltip":{ko:"툴팁에 이미지 URL 표시",ru:"Показывать URL изображения во всплывающей подсказке","zh-CN":"在工具提示中显示图像 URL"},"If the popup is needed to display the larger version of an image, display the image link in the tooltip":{ko:"더 큰 버전의 이미지를 표시하기 위해 팝업이 필요한 경우 이미지 링크를 툴팁에 표시함",ru:"Если всплывающее окно необходимо для отображения увеличенной версии изображения, отобразите url на изображение во всплывающей подсказке.","zh-CN":"如果需要弹窗来显示图像的较大版本,在工具提示中显示图像链接"},"Hide tooltip after":{ko:"툴팁 숨기기",ru:"Скрывать всплывающую подсказку через","zh-CN":"隐藏工具提示的时间"},"Hides the tooltip after the specified number of seconds (or when the mouse clicks on it). Set to 0 to never hide automatically":{ko:"지정된 시간(초) 후에(또는 마우스가 툴팁을 클릭할 때) 툴팁을 숨긴다. 자동으로 숨기지 않으려면 0으로 설정",ru:"Скрывает всплывающую подсказку после указанного количества секунд (или когда мышь щёлкает по ней). 0 - не скрывать автоматически.","zh-CN":"在指定秒数后隐藏工具提示。鼠标单击后也会隐藏。设为 0 则禁用自动隐藏"},"Log info object to console":{ru:"Выводить информацию об объекте в консоль","zh-CN":"记录信息对象到控制台"},"Prints the full info object to the console whenever a popup/redirect is found":{ru:"Выводит полную информацию объекта в консоль всякий раз, когда обнаруживается всплывающее окно/перенаправление","zh-CN":"每当发现弹出/重定向时,记录完整的信息对象到控制台"},"Disable when response headers need modifying":{ru:"Отключать, когда заголовки ответов нуждаются в изменении","zh-CN":"需要修改响应头时禁用"},"This option works around Chrome's migration to manifest v3, redirecting some images to being force-downloaded":{ru:"Этот параметр работает вокруг миграции Chrome в manifest v3, перенаправляя некоторые изображения к принудительному скачиванию","zh-CN":"此选项是为配合 Chrome 的迁移到 manifest v3,重定向一些图像来强制下载"},"Redirect to largest without issues":{ko:"문제없이 최대로 리디렉션",ru:"Без проблем перенаправлять на самое большое","zh-CN":"无需求也重定向到最大版本"},"Redirects to the largest image found that doesn't require custom headers or forces download":{ko:"사용자 지정 헤더나 강제 다운로드가 필요 없는 가장 큰 이미지로 리디렉션",ru:"Перенаправляет на самое большое найденное изображение, которое не требует пользовательских заголовков или принудительного скачивания.","zh-CN":"重定向到找到的最大图像版本,哪怕不需要自定义头或强制下载"},"Redirect for HTML pages too":{ru:"Перенаправлять для HTML-страниц тоже","zh-CN":"同时重定向 HTML 页面"},"Tries redirection even if the host page is HTML. This option might be useful for dead links. However, this will also result in many normal pages being redirected to images/video, so please avoid enabling this by default!":{ru:"Пытается перенаправить, даже если хост является страницой HTML. Этот параметр может быть полезен для мёртвых ссылок. Однако, это также приведёт к тому, что многие обычные страницы будут перенаправлены на изображения/видео, поэтому, не включайте это по умолчанию!","zh-CN":"尝试重定向,即使主页是 HTML。此选项可能对失效链接有用。但是,这也会导致许多正常的页面被重定向到图像/视频,所以请避免默认启用这个!"},"This will result in many pages being redirected to images/videos.\nI'd recommend only enabling this for the media you need it for, then disabling it after.":{ru:"В результате многие страницы будут перенаправлены на изображения/видео.\nРекомендуется включать это только для тех медиа, для которых это нужно, а после снова отключить.","zh-CN":"这将导致许多页面被重定向到图像/视频。我建议只为您需要的媒体启用它,然后再禁用它。"},"Enable mouseover popup":{en:"Enable image popup",es:"Activar popup de la imagen",fr:"Activer le popup",ko:"이미지 팝업 사용",ru:"Всплывающее окно при наведении мыши","zh-CN":"启用鼠标悬停弹窗"},"Show a popup with the larger image when you mouseover an image with the trigger key held (if applicable)":{ko:"트리거 키를 누른 상태로 영상을 마우스로 가리킬 때 더 큰 이미지로 팝업 표시 (가능한 경우)",ru:"Показывать всплывающее окно с увеличенным изображением при наведении курсора мыши на изображение с удерживаемой целевой клавишей (если применимо).","zh-CN":"当鼠标悬停在一个图像上时,用触发键(如果适用)显示一个弹窗"},"Mouseover popup trigger":{en:"Popup trigger",es:"Acción del popup al mover el ratón encima",fr:"Déclencheur du popup",ko:"팝업 트리거",ru:"Действие всплывающего окна при наведении мыши","zh-CN":"鼠标悬停弹窗触发器"},"How the popup will get triggered":{ko:"팝업 작동 방법",ru:"Как будет срабатывать всплывающее окно","zh-CN":"弹窗触发方式"},Mouseover:{es:"Mover ratón encima",ko:"마우스",ru:"При наведение курсора мыши","zh-CN":"鼠标悬停"},"Triggers when your mouse is over the image":{ru:"Срабатывает при наведении курсора на изображении","zh-CN":"鼠标在图像上悬停时触发"},"Key trigger":{es:"Tecla de acción",ko:"키 바인딩",ru:"При нажатии клавиши","zh-CN":"按键触发"},"Triggers when you press a key sequence when your mouse is over an image":{ru:"Срабатывает при нажатии комбинации клавиш, когда курсор находится на изображении.","zh-CN":"当鼠标在图像上悬停时按指定键触发"},"Disables the popup from being triggered (useful if you only want to use the context menu item)":{ru:"Отключает срабатывание всплывающего окна (полезно, если вы хотите использовать только пункт контекстного меню)","zh-CN":"禁止触发弹窗(如果您只想使用右键菜单项,则此选项很实用)"},"Popup trigger key":{es:"Tecla de acción del popup",ko:"팝업 키 바인딩",ru:"Комбинация клавиш запуска всплывающего окна","zh-CN":"弹窗触发键"},"Key sequence to trigger the popup":{ko:"팝업이 작동하는 키",ru:"Комбинация клавиш при которой запускается всплывающее окно","zh-CN":"触发弹窗的按键序列"},"Popup trigger key (#2)":{ru:"Комбинация клавиш запуска всплывающего окна (#2)","zh-CN":"弹窗触发键 (#2)"},"Key sequence to trigger the popup with alternate options. Search for `(#2)` to find the relevant options":{ru:"Комбинация клавиш при которой запускается всплывающее окно с альтернативными параметрами. Ищите `(#2)`, чтобы найти соответствующие параметры.","zh-CN":"触发弹窗的按键序列,搭配备用选项。搜索“(#2)”找到相关的选项"},"Popup trigger key (#3)":{ru:"Комбинация клавиш запуска всплывающего окна (#3)","zh-CN":"弹窗触发键 (#3)"},"Key sequence to trigger the popup with alternate options. Search for `(#3)` to find the relevant options":{ru:"Комбинация клавиш при которой запускается всплывающее окно с альтернативными параметрами. Ищите `(#3)`, чтобы найти соответствующие параметры.","zh-CN":"触发弹窗的按键序列,搭配备用选项。搜索“(#3)”找到相关的选项"},"Popup trigger delay":{es:"Retraso de acción del popup",ko:"팝업 작업 지연 시간",ru:"Задержка срабатывания всплывающего окна","zh-CN":"弹窗触发键延迟"},"Delay (in seconds) before the popup shows":{ko:"팝업이 표시될 때까지 지연 (초)",ru:"Задержка (в секундах) до появления всплывающего окна","zh-CN":"弹窗显示前延迟(秒)"},"Use mouseover event":{ru:"Использовать событие наведения курсора мыши","zh-CN":"使用 mouseover 事件"},"Uses the mouseover event instead of mousemove to figure out where to trigger the popup. This more closely matches the way other image popup addons work, at the cost of configurability":{ru:"Использует событие 'наведения курсора мыши' вместо 'движения курсора мыши', чтобы выяснить, где вызвать всплывающее окно. Это более точно соответствует тому, как работают другие дополнения к всплывающим изображениям, за счёт конфигурируемости/","zh-CN":"使用 mouseover 事件而不是 mousemove 来确定在哪里触发弹窗。这更接近于其他图像弹窗扩展的运作方式,代价是可配置性"},"Enable/disable toggle":{ru:"Включить/Выключить","zh-CN":"启用/禁用切换开关"},"Controls whether the 'Popup enable/disable key' will enable or disable the popup from opening":{ru:"Управляет тем, будет ли 'Клавиша включения/отключения всплывающего окна' включать или отключать открытие всплывающего окна.","zh-CN":"控制“弹窗启用/禁用键”是否控制弹窗的打开"},Enable:{ru:"Включить","zh-CN":"启用"},Disable:{ru:"Отключить","zh-CN":"禁用"},"Popup enable/disable key":{ru:"Клавиша включения/отключения всплывающего окна","zh-CN":"弹窗启用/禁用键"},"Holding down this key will enable or disable the popup from being opened, depending on the 'Enable/disable toggle' setting":{ru:"Удерживание этой клавиши включит или отключит всплывающее окно, в зависимости от настройки 'Включить/Выключить'.","zh-CN":"按住这个键将启用/禁用弹窗打开,具体取决于“启用/禁用切换开关”设置"},"Allow showing partially loaded":{ko:"부분적으로 로드된 상태로 표시 허용",ru:"Разрешить показывать частично загруженные","zh-CN":"允许显示部分加载的内容"},"This will allow the popup to open for partially loaded media.\nPartially loaded media will contain the source URL directly (where possible), whereas fully loaded media will use a blob or data URL.":{ru:"Это позволит открыть всплывающее окно для частично загруженных медиа.\nЧастично загруженные медиа будут содержать исходный URL напрямую (где это возможно), тогда как полностью загруженные медиа будут использовать BLOB или URL-адрес данных.","zh-CN":"这将允许为部分加载的媒体打开弹窗。\n部分加载的媒体将直接包含源 URL(如果可能),而完全加载的媒体使用 blob 或数据 URL。"},"This will allow the popup to open for partially loaded media, but this might break images that require custom headers to display properly.\nPartially loaded media will contain the source URL directly (where possible), whereas fully loaded media will use a blob or data URL.":{ru:"Это позволит открыть всплывающее окно для частично загруженных медиа, но это может поломать изображения, для правильного отображения которых требуются пользовательские заголовки.\nЧастично загруженные медиа будут содержать исходный URL-адрес напрямую (где это возможно), тогда как полностью загруженные медиа будут использовать BLOB или URL-адрес данных.","zh-CN":"这将允许为部分加载的媒体打开弹窗,但这可能导致需要自定义标头才能正确显示的图像出错。\n部分加载的媒体将直接包含源 URL(如果可能),而完全加载的媒体使用 blob 或数据 URL。"},Streams:{ru:"Потоки","zh-CN":"数据流"},"Audio and video":{ru:"Аудио и видео","zh-CN":"音频和视频"},Media:{es:"Medios",ko:"미디어",ru:"Медиа","zh-CN":"多媒体"},"Images, audio, and video":{ru:"Изображения, аудио и видео","zh-CN":"图像、音频和视频"},"Avoid HEAD request for partially loaded media":{ru:"Избегать запросы HEAD для частично загруженных медиа","zh-CN":"避免对已部分加载的媒体发出 HEAD 请求"},"Avoids a possibly unnecessary HEAD request before displaying partially loaded images, which further decreases the delay before opening the popup. This can cause issues if the server returns an error, but still returns an image":{ru:"Избегает ненужного запроса HEAD перед отображением частично загруженных изображений, что еще больше уменьшает задержку перед открытием всплывающего окна. Это может вызвать проблемы, если сервер вернёт ошибку, но все равно вернет изображение.","zh-CN":"显示已部分加载的媒体时避免可能不必要的 HEAD 请求,这能进一步减少打开弹窗的延迟。但如果服务器返回一个错误的同时也返回了一个图像,这可能会导致问题"},"Use `blob:` over `data:` URLs":{ru:"Использовать `blob:` поверх `data:` URL","zh-CN":"使用 blob: 代替 data: URL"},"Blob URLs are more efficient, but aren't supported by earlier browsers. Some websites also block `blob:` URLs":{ru:"Blob URL более эффективны, но не поддерживаются старыми браузерами. Некоторые сайты также блокируют `blob:` URL.","zh-CN":"Blob URL 效率更佳,但早期版本的浏览器不支持。一些网站也屏蔽了 Blob: URL"},"Load media anonymously":{ru:"Загружать медиа анонимно","zh-CN":"匿名加载媒体"},"Loads the media without sending any cookies or other forms of credentials. This is required to screenshot videos from other sources":{ru:"Загружает медиа без отправки куки-файлов или других форм учётных данных. Это необходимо для скриншотов видео из других источников.","zh-CN":"加载媒体而不发送任何 Cookie 或其他形式的凭据。这需要有其他来源的视频截图"},"Use `not-allowed` cursor when unsupported":{ko:"지원되지 않을 때 허용되지 않는 커서를 사용",ru:"Использовать курсор `запрещено`, если не поддерживается","zh-CN":"不支持时给出鼠标指针“禁止”"},"If the image isn't supported, the mouse cursor will change to a `not-allowed` cursor for a brief duration":{ko:"이미지가 지원되지 않으면 마우스 커서가 잠시 동안 허용되지 않는 커서로 변경됨",ru:"Если изображение не поддерживается, курсор мыши на короткое время изменится на `запрещено`.","zh-CN":"如果遇到不支持的图像,鼠标指针将暂时变为“禁止”图案"},"Use `not-allowed` cursor when unable to load":{ru:"Использовать курсор `запрещено`, если невозможно загрузить","zh-CN":"无法加载时给出鼠标指针“禁止”"},"If the image fails to load, the mouse cursor will change to a `not-allowed` cursor for a brief duration":{ko:"이미지를 불러올 수 없으면 마우스 커서가 잠시 동안 허용되지 않는 커서로 변경됨",ru:"Если изображение не загружается, курсор мыши на короткое время изменится на `запрещено`.","zh-CN":"如果图像下载失败,鼠标指针将暂时变为“禁止”图案"},"`not-allowed` cursor duration":{ru:"Длительность курсора `запрещено`","zh-CN":"“禁止”指针持续时间"},"How long the `not-allowed` cursor should last":{ru:"Как долго отображается курсор `запрещено`","zh-CN":"“禁止”指针的显示持续多久"},"Exclude image tabs":{ko:"이미지 탭 제외",ru:"Исключать вкладки с изображениями","zh-CN":"排除图像标签页"},"Excludes images that are opened in their own tabs":{ko:"자신의 탭에서 열린 이미지 제외",ru:"Исключает изображения, открытые в собственных вкладках.","zh-CN":"排除在单独的标签页中打开的图像"},"Exclude if media URL is unchanged":{ru:"Исключать, если ссылка медиа не изменилась","zh-CN":"排除无变化的媒体 URL"},"Don't pop up if the new URL is the same as the source":{ru:"Всплывающее окно не появляется, если ссылка как у источника.","zh-CN":"如果新 URL 与源 URL 相同则不弹出"},"Only popup for linked media":{ru:"Всплывающее окно только для медиа с ссылкой","zh-CN":"仅弹出链接形式的媒体"},"Don't pop up if the media isn't hyperlinked":{ru:"Всплывающее окно не появляется, если медиа не имеет гиперссылки","zh-CN":"不弹出非超链接形式的媒体"},"Popup link for linked media":{ru:"Всплывающее окно ссылки для медиа с ссылками","zh-CN":"链接的媒体弹窗链接"},"If the linked media cannot be made larger, pop up for the link instead of the media":{ru:"Если медиа с ссылкой не может быть увеличено, всплывает ссылка вместо медиа.","zh-CN":"如果链接的媒体不能变大,弹出该链接而非媒体"},"Exclude image maps":{ko:"이미지 맵 제외",ru:"Исключать карты изображений","zh-CN":"排除图像集"},"Don't pop up if the image is an image map (image with multiple clickable areas)":{ko:"이미지가 이미지 맵(클릭 가능한 영역이 여러 개를 가진 이미지)인 경우 팝업 표시 안 함",ru:"Всплывающее окно не появится, если изображение представляет собой карту изображения (изображение с несколькими кликальными областями).","zh-CN":"不弹出有多个可点击区域的图像集(image map)"},Autoplay:{ru:"Автовоспроизведение","zh-CN":"自动播放"},"Play automatically once the popup is opened":{ru:"Автоматически воспроизводится после открытия всплывающего окна.","zh-CN":"弹窗打开后自动播放"},"Show video controls":{ru:"Показывать элементы управления видео","zh-CN":"显示视频控件"},"Shows native video controls. Note that this prevents dragging under Firefox":{ru:"Показывает встроенные средства управления видео. Обратите внимание, что это предотвращает перетаскивание под Firefox.","zh-CN":"显示原生视频控件(视频控制按钮)。注意,这会阻止在 Firefox 中拖拽"},"Toggle video controls":{ru:"Переключатель элементов управления видео","zh-CN":"切换视频控件"},"Key to toggle whether the video controls are shown":{ru:"Клавиша для переключения отображения элементов управления видео","zh-CN":"切换是否显示视频控件的按键"},Loop:{ru:"Зациклить","zh-CN":"循环"},"Allows the media to automatically restart to the beginning after finishing playing":{ru:"Позволяет медиа автоматически перезапускаться в начало после завершения воспроизведения.","zh-CN":"是否允许媒体播放完毕后自动重新开始播放"},"Max duration for looping":{ru:"Максимальная длительность зацикливания","zh-CN":"循环最长持续时间"},"Media longer than the specified duration will not be automatically looped. Setting this to `0` will always enable looping, regardless of duration.":{ru:"Медиа с дольшей указанной длительностью не будет автоматически зациклены. Установка этого значения на `0` всегда будет включать зацикливание, независимо от длительности.","zh-CN":"超过指定时间后媒体不再自动循环播放。设为 0 则始终循环,不限制持续时间。"},"Play/pause key":{ru:"Кнопка воспроизведения/приостановки","zh-CN":"播放/暂停键"},"Key to toggle whether the media is playing or paused":{ru:"С помощью этой кнопки, вы сможете воспроизводить или приостанавливать медиа.","zh-CN":"切换媒体的播放/暂停的按键"},Mute:{ru:"Отключать звук","zh-CN":"静音"},"Mutes the media by default":{ru:"Отключает звук медиа по умолчанию.","zh-CN":"默认将媒体静音"},"Toggle mute key":{ru:"Кнопка отключения звука","zh-CN":"切换静音键"},"Key to toggle mute":{ru:"С помощью этой кнопки, вы сможете переключать звук.","zh-CN":"切换静音的按键"},"Default volume":{ru:"Громкость по умолчанию","zh-CN":"默认音量"},"Default volume for the media":{ru:"Громкость звука для медиа по умолчанию.","zh-CN":"媒体的默认音量"},"Volume up key":{ru:"Кнопка увеличения громкости","zh-CN":"音量调高键"},"Key to increase the volume":{ru:"С помощью этой кнопки, вы сможете увеличить громкость звука.","zh-CN":"增大音量的按键"},"Volume down key":{ru:"Кнопка уменьшения громкости","zh-CN":"音量调低键"},"Key to decrease the volume":{ru:"С помощью этой кнопки, вы сможете уменьшать громкость звука.","zh-CN":"减小音量的按键"},"Volume change amount":{ru:"Величина изменения громкости","zh-CN":"音量变化百分比"},"Percent for volume to increase/decrease when using the volume up/down keys":{ru:"Процент для увеличения/уменьшения громкости при использовании кнопок увеличения/уменьшения громкости.","zh-CN":"使用音量调高/调低键时,音量增减的百分比"},"Resume playback from source":{ru:"Продолжать воспроизведение из источника","zh-CN":"从源地址继续播放"},"If enabled, playback will resume from where the source left off":{ru:"Если включено, воспроизведение будет возобновлено с того места, на котором остановился источник.","zh-CN":"启用后,播放将从源媒体中停止的进度继续"},"Resume if different length":{ru:"Возобновлять, если разная длина","zh-CN":"长度不同也继续播放"},"If disabled, it will not resume if the source has a different length from the media in the popup (e.g. from a preview video to a full one)":{ru:"Если отключено, то не возобновляет, если длина из источника отличается от длины медиа во всплывающем окне (например, с предпросмотра видео до полного)","zh-CN":"禁用后,如果源媒体与弹出的媒体的时长不同(例如预览视频与完整视频的区别),则不继续播放"},"Pause source":{ru:"Приостанавливать из источника","zh-CN":"暂停源媒体"},"Pauses the source once the popup has opened":{ru:"Приостанавливает источник после открытия всплывающего окна","zh-CN":"弹窗打开后暂停源媒体"},"Seek amount":{ru:"Количество запросов","zh-CN":"进退距离"},"Amount of time to seek forward/back when using the seek keys":{ru:"Количество времени для запроса вперед/назад при использовании кнопок запроса.","zh-CN":"使用快进/快退按键时前进/后退的时间量"},"Seek left key":{ru:"Кнопка запроса влево","zh-CN":"快退键"},"Key to seek backwards by the specified amount":{ru:"С помощью этой кнопки, вы сможете сделать запрос назад от заданого количества.","zh-CN":"向左侧(之前)快速移动指定时长的按键"},"Seek right key":{ru:"Кнопка запроса вправо","zh-CN":"快进键"},"Key to seek forwards by the specified amount":{ru:"С помощью этой кнопки, вы сможете сделать запрос вперёд от заданого количества.","zh-CN":"向右侧(之后)快速移动指定时长的按键"},"Previous frame key":{ru:"Кнопка предыдущего кадра","zh-CN":"上一帧按键"},'Rewinds the video one "frame" backward. Due to current limitations, the frame size is static (but configurable), and might not match the video\'s framerate':{ru:'С помощью этой кнопки, вы сможете перематывать видео на один "кадр" назад. В связи с текущими ограничениями, размер кадра является статичным (но настраиваемым), и может не совпадать с частотой кадров видео.',"zh-CN":"将视频倒回前一帧。由于当前的限制,帧大小是静态的(但可配置),可能与视频的帧速率不匹配"},"Next frame key":{ru:"Кнопка следующего кадра","zh-CN":"下一帧按键"},'Advances the video one "frame" forward. Due to current limitations, the frame size is static (but configurable), and might not match the video\'s framerate':{ru:'С помощью этой кнопки, вы сможете перематывать видео на один "кадр" вперёд. В связи с текущими ограничениями, размер кадра является статичным (но настраиваемым), и может не совпадать с частотой кадров видео.',"zh-CN":"将视频移入下一帧。由于当前的限制,帧大小是静态的(但可配置),可能与视频的帧速率不匹配"},"Frame rate":{ru:"Частота кадров","zh-CN":"帧速率"},"Frame rate for videos to seek forward/back with the next/previous frame keys":{ru:"Частота кадров видео для запроса вперёд/назад с помощью кнопок следующий/предыдущий кадр","zh-CN":"帧速率用于视频的快进/快退按键"},FPS:{ru:"Кадров в секунду","zh-CN":"每秒帧数(FPS)"},"Speed down key":{ru:"Кнопка уменьшения скорости","zh-CN":"减速键"},"Key to decrease playback rate by a specified amount":{ru:"С помощью этой кнопки, вы сможете уменьшить скорость воспроизведения на заданную величину.","zh-CN":"此键可以将播放速率降低指定的额度"},"Speed up key":{ru:"Кнопка увеличения скорости","zh-CN":"加速键"},"Key to increase playback rate by a specified amount":{ru:"С помощью этой кнопки, вы сможете увеличить скорость воспроизведения на заданную величину.","zh-CN":"此键可以将播放速率提升指定的额度"},"Speed up/down amount":{ru:"Величина увеличения/уменьшения скорости","zh-CN":"加速/减速量"},"How much to increase/decrease the playback rate":{ru:"Насколько увеличить/уменьшить скорость воспроизведения","zh-CN":"增加/减少的播放速率"},"Reset speed key":{ru:"Кнопка сброса скорости","zh-CN":"重置速度键"},"Resets the playback rate to normal speed":{ru:"С помощью этой кнопки, вы сможете сбросить скорость воспроизведения до нормальной скорости","zh-CN":"将播放速度重置为正常速度"},"Screenshot key":{ru:"Кнопка снимка экрана","zh-CN":"屏幕截图键"},"Screenshots the current frame in the video":{ru:"С помощью этой кнопки, вы сможете сделать снимок экрана текущего кадра на видео.","zh-CN":"对视频中的当前帧截图"},"Screenshot format":{ru:"Формат снимка экрана","zh-CN":"截图格式"},"File format to save the screenshot in":{ru:"Формат файла для сохранения снимка экрана","zh-CN":"保存截图的文件格式"},PNG:{ru:"PNG","zh-CN":"PNG"},JPG:{ru:"JPG","zh-CN":"JPG"},"Popup UI":{es:"Interfaz del Popup",ko:"팝업 UI",ru:"Пользовательский интерфейс всплывающего окна","zh-CN":"弹窗界面"},"Enables a UI on top of the popup":{ru:"Включает пользовательский интерфейс в верхней части всплывающего окна.","zh-CN":"启用弹窗上的界面"},"UI Toggle key":{ru:"Кнопка переключения пользовательского интерфейса","zh-CN":"界面切换键"},"Toggles the display of the UI":{ru:"С помощью этой кнопи, вы сможете переключать отображение пользовательского интерфейса.","zh-CN":"切换界面的显示方式"},Opacity:{es:"Opacidad",fr:"Opacité",ko:"불투명",ru:"Непрозрачность","zh-CN":"不透明度"},"Opacity of the UI on top of the popup":{ru:"Непрозрачность пользовательского интерфейса в верхней части всплывающего окна.","zh-CN":"弹窗上界面的不透明度"},"Use safe glyphs":{ru:"Использовать безопасные глифы","zh-CN":"使用安全字形"},"Uses glyphs that are more likely to be available on all fonts. Enable this option if the following characters render as boxes: 🡇 🡐 🡒. The 'Noto Sans Symbols2' font contains these characters.":{ru:"Используются глифы, которые скорее всего, будут доступны на всех шрифтах. Включите этот параметр, если следующие символы отображаются в виде квадратиков: 🡇 🡐 🡒. Шрифт 'Noto Sans Symbols2' содержит эти символы.","zh-CN":"使用更可能适用于所有字体的字形。启用此选项,如果下列字符呈现为方框:🡇 🡐 🡒。“Noto Sans symboss2”字体包含这些字符。"},"Media resolution":{ru:"Разрешение медиа","zh-CN":"媒体分辨率"},"Displays the original media dimensions on top of the UI.\nCSS ID: `#sizeinfo`":{ru:"Отображает оригинальные размеры медиа в верхней части пользовательского интерфейса.\nCSS ID: `#sizeinfo`","zh-CN":"在界面上显示原始媒体尺寸。\nCSS ID: `#sizeinfo`"},"Zoom percent":{ru:"Масштабирование в процентах","zh-CN":"缩放百分比"},"Displays the current zoom level on top of the UI.\nCSS ID: `#sizeinfo`":{ru:"Отображает текущий уровень масштабирования в верхней части интерфейса.\nCSS ID: `#sizeinfo`","zh-CN":"在界面上显示当前的缩放级别。\nCSS ID: `#sizeinfo`"},"File size":{ru:"Размер файла","zh-CN":"文件大小"},"Displays the media's file size on top of the UI. For the moment, this will not work with partially loaded media if 'Avoid HEAD request for partially loaded media' is enabled.\nCSS ID: `#sizeinfo`":{ru:"Отображает размер файла медиа в верхней части интерфейса. На данный момент это не будет работать с частично загруженными медиа, если включён параметр 'Избегать запроса HEAD для частично загруженных медиа'.\nCSS ID: `#sizeinfo`","zh-CN":"在界面上显示媒体的文件大小。目前,如果启用了“避免对部分加载的媒体使用 HEAD 请求”,则此项无效。\nCSS ID: `#sizeinfo`"},"Gallery counter":{es:"Número de imágenes a contar en la galería",fr:"Nombre d'images dans la galerie",ko:"갤러리 이미지 수",ru:"Счётчик галереи","zh-CN":"图库计数器"},"Enables a gallery counter on top of the UI.\nCSS ID: `#gallerycounter`":{ru:"Отображает счётчик галереи в верхней части пользовательского интерфейса.\nCSS ID: `#gallerycounter`","zh-CN":"启用界面上的图库计数器。\nCSS ID: `#gallerycounter`"},"Gallery counter max":{es:"Número máximo de imágenes a contar para la galería",fr:"Nombre max d'images a compter pour la galerie",ko:"갤러리 이미지 수의 최대값",ru:"Максимальный счётчик галереи","zh-CN":"图库计数器上限"},"Maximum amount of images to check in the counter (this can be slightly CPU-intensive)":{ru:"Максимальное количество изображений для проверки в счётчике (это может быть слегка ресурсоёмким для процессора)","zh-CN":"该计数器显示图像数量上限(可能消耗较多 CPU 资源)"},"Gallery buttons":{ru:"Кнопки галереи","zh-CN":"图库按钮"},"Enables buttons to go left/right in the gallery.\nCSS IDs: `#galleryprevbtn`, `#gallerynextbtn`":{ru:"Включает кнопки влево/вправо в галерее.\nCSS ID: `#galleryprevbtn`, `#gallerynextbtn`","zh-CN":"启用在图库中向左/右移动的按钮。\nCSS IDs: `#galleryprevbtn`, `#gallerynextbtn`"},"Close Button":{ru:"Кнопка закрытия","zh-CN":"关闭按钮"},"Enables a button to close the popup.\nCSS ID: `#closebtn`":{ru:"Включает кнопку для закрытия всплывающего окна.\nCSS ID: `#closebtn`","zh-CN":"启用关闭当前弹窗的按钮。\nCSS ID: `#closebtn`"},"Options Button":{es:"Botón de Opciones",ko:"설정 링크",ru:"Кнопка параметров","zh-CN":"选项按钮"},"Enables a button to go to this page.\nCSS ID: `#optionsbtn`":{ru:"Включает кнопку для перехода на эту страницу.\nCSS ID: `#optionsbtn`","zh-CN":"启用访问选项页面(本页面)的按钮。\nCSS ID: `#optionsbtn`"},"Download Button":{ru:"Кнопка скачивания","zh-CN":"下载按钮"},"Enables a button to download the image.\nCSS ID: `#downloadbtn`":{ru:"Включает кнопку скачивания изображения.\nCSS ID: `#downloadbtn`","zh-CN":"启用下载该图像的按钮。\nCSS ID: `#downloadbtn`"},"Rotation Buttons":{ru:"Кнопки вращения","zh-CN":"旋转按钮"},"Enables buttons on the UI to rotate the image by 90 degrees.\nCSS IDs: `#rotleftbtn`, `#rotrightbtn`":{ru:"Включает кнопки на интерфейсе для поворота изображения на 90 градусов.\nCSS ID: `#rotleftbtn`, `#rotrightbtn`","zh-CN":"启用在界面上将图像旋转 90 度的按钮。\nCSS IDs: `#rotleftbtn`, `#rotrightbtn`"},Caption:{ru:"Подпись","zh-CN":"标题"},"Shows the image's caption (if available) at the top.\nCSS ID: `#caption`":{ru:"Показывает вверху подпись к изображению (если есть).\nCSS ID: `#caption`","zh-CN":"在顶端显示图像的标题(如果可用)。\nCSS ID: `#caption`"},"Wrap caption text":{ru:"Обернуть текст подписи","zh-CN":"标题文本换行"},"Wraps the caption if it's too long":{ru:"Скрывает часть подписи, если она слишком длинная.","zh-CN":"标题文本太长时自动换行"},"Link original page in caption":{ru:"Ссылка на оригинальную страницу в подписи","zh-CN":"标题链接原始页面"},"Links the original page (if it exists) in the caption":{ru:"Ссылка в заголовке на оригинальную страницу (если она существует).","zh-CN":"将标题链接到原始页面(如有)"},"Underline links":{ru:"Подчёркивание ссылок","zh-CN":"链接下划线"},"Adds an underline to links (such as the original page)":{ru:"Добавляет подчеркивание к ссылкам (например, оригинальная страница).","zh-CN":"向链接(如原始页面)添加下划线"},"Keep popup open until":{es:"Mantener popup abierto hasta que",ko:"팝업 닫으려면",ru:"Всплывающее окно открыто до тех пор, пока","zh-CN":"保持弹窗开启直到"},"Closes the popup when the selected condition is met":{ko:"선택한 조건이 충족되면 팝업 닫기",ru:"Закрывает всплывающее окно при выполнении выбранного условия.","zh-CN":"满足选定条件时关闭弹窗"},"Any trigger is released":{es:"Cualquier acción se deja ir",ko:"어떤 동작에도 닫힘",ru:"Любая кнопка срабатывания отпущена","zh-CN":"松开任何触发器"},"All triggers are released":{ko:"모든 동작에서 닫힘",ru:"Все кнопки срабатывания отпущены","zh-CN":"松开全部触发器"},"ESC/Close is pressed":{ko:"ESC/닫기 누르기",ru:"Нажато ESC/Закрыть","zh-CN":"按下 ESC/Close"},"Don't close until mouse leaves":{ko:"마우스가 떠날 때까지 닫지 마십시오.",ru:"Не закрывать пока курсор мыши не будет убран","zh-CN":"鼠标移开前不关闭"},"If true, this keeps the popup open even if all triggers are released if the mouse is still over the image":{ko:"활성화 시, 마우스가 이미지 위에 있는 경우 모든 동작에서 닫힘을 선택했더라도 팝업이 계속 열린 상태로 유지됨",ru:"Если true, тогда если мышь всё еще находится на изображении, то всплывающее окно остаётся открытым, даже если все срабатывания отпущены.","zh-CN":"如果启用,松开所有触发器后,假如鼠标仍悬停在图像上,弹窗保持开启"},"Threshold to leave image":{ko:"이미지를 떠나기 위한 임계값",ru:"Порог для выхода из изображения","zh-CN":"移开图像的门限值"},"How many pixels outside of the image before the cursor is considered to have left the image":{ko:"커서가 이미지를 떠난 것으로 파악할 수 있는 이미지 픽셀 수",ru:"Сколько пикселей за пределами изображения перед курсором считается покинувшими изображение.","zh-CN":"鼠标指针离开图像外缘多少像素视作移开图像"},"Leaving thumbnail cancels loading":{ko:"미리보기를 남기면 로딩이 취소됨",ru:"Отменять загрузку, если миниатюра покинута","zh-CN":"离开缩略图则取消加载"},"Cancels the current popup loading when the cursor has left the thumbnail image":{ko:"커서가 축소 이미지에서 벗어날 때 현재 팝업 로딩 취소",ru:"Отменяет загрузку текущего всплывающего окна, когда курсор покинул миниатюру изображения.","zh-CN":"鼠标指针离开缩略图时取消当前弹窗的加载"},"ESC cancels loading":{ko:"ESC 로딩 취소",ru:"ESC отменяет загрузку","zh-CN":"ESC 键取消加载"},"Cancels the current popup loading if ESC is pressed":{ko:"ESC를 누르면 현재 팝업 로딩이 취소됨",ru:"Отменяет загрузку текущего всплывающего окна при нажатии кноки ESC.","zh-CN":"按下 ESC 键时取消当前弹窗的加载"},"Releasing triggers cancels loading":{ko:"트리거를 해제하면 로딩이 취소됨",ru:"Отменять загрузку, если кнопки активации отпущены","zh-CN":"松开触发器取消加载"},'Cancels the current popup loading if all/any triggers are released (as set by the "Keep popup open until" setting)':{ko:'어떤/모든 동작에 닫힘을 선택한 경우 현재 팝업 로딩 취소 ("팝업을 닫으려면" 설정에 의존함)',ru:"Отменяет загрузку текущего всплывающего окна, если все/любые кнопки срабатывания отпущены (в соответствии с настройками 'Оставлять всплывающее окно открытым до тех пор, пока'","zh-CN":"如果松开了所有/任何触发器,并且设置了“保持弹窗开启直到”,取消当前的弹窗加载"},"Automatically close after timeout":{ko:"시간 초과 후 자동으로 닫기",ru:"Автозакрытие после истечения времени","zh-CN":"超时后自动关闭"},"Closes the popup automatically after a specified period of time has elapsed":{ko:"지정된 시간이 경과한 후 팝업 자동 닫기",ru:"Автоматически закрывает всплывающее окно по истечении заданного периода времени.","zh-CN":"指定时间后自动关闭弹窗"},"Timeout to close popup":{ko:"팝업을 닫기 위한 시간 초과 시간(초)",ru:"Времени до закрытия всплывающего окна","zh-CN":"关闭弹窗的超时"},"Amount of time to elapse before automatically closing the popup":{ko:"팝업을 자동으로 닫기 전 경과 시간",ru:"Количество времени, которое должно пройти до автоматического закрытия всплывающего окна.","zh-CN":"多久后自动关闭弹窗"},"Hold key":{ko:"고정 키",ru:"Кнопка удерживания","zh-CN":"保持键"},"Hold key that, when pressed, will keep the popup open":{ko:"고정 키를 누르면 팝업이 열린 상태로 유지됨",ru:"Кнопка удерживания, которая при нажатии будет оставлять всплывающее окно открытым.","zh-CN":"按住此键时将保持弹窗开启"},"Center popup on hold":{ko:"중앙 팝업 고정",ru:"Центрировать всплывающее окно при удерживании","zh-CN":"保持时弹窗居中"},"Centers the popup to the middle of the page when the popup is held":{ko:"팝업이 열릴 때 팝업을 페이지 중앙에 배치",ru:"Центрирует всплывающее окно на середине страницы, когда оно удерживается.","zh-CN":"弹窗保持呈现于页面正中心"},"Override zoom on hold":{ru:"Переопределять масштабирование при удерживании","zh-CN":"保持时覆盖缩放"},"Overrides the zoom when the popup is held":{ru:"Переопределяет масштабирование при удержании всплывающего окна","zh-CN":"保持弹窗时覆盖缩放级别"},"Close popup on unhold":{ko:"고정 해제 시, 팝업 닫기",ru:"Зыкрывать всплывающее окно после отпускания удерживания","zh-CN":"取消保持时关闭弹窗"},"Closes the popup when the hold key is pressed again, after having previously held the popup":{ko:"팝업을 고정한 후 고정 키를 다시 누르면 팝업이 닫힘",ru:"Закрывает всплывающее окно при повторном нажатии клавиши удерживания после предыдущего удержания всплывающего окна.","zh-CN":"曾经保持弹窗后,再次按下保持键时关闭弹窗"},"Enable pointer events on hold":{ko:"포인터 이벤트 고정 사용",ru:"События указателя при удерживании","zh-CN":"保持期间启用指针事件"},"Enables previously disabled pointer events when the popup is held":{ko:"팝업이 고정될 때 이전에 비활성화된 포인터 이벤트 활성화",ru:"Включает ранее отключенные события указателя при удерживании всплывающего окна.","zh-CN":"弹窗保持期间启用先前禁用的指针事件"},"Clicking outside the popup closes":{ko:"팝업 바깥쪽을 클릭하면 닫힘",ru:"Закрывать при нажатии за пределами всплывающего окна","zh-CN":"点击弹窗外关闭"},"Closes the popup when the mouse clicks outside of it":{ko:"마우스가 팝업 바깥쪽을 클릭할 때 팝업 닫기",ru:"Закрывает всплывающее окно при нажатии мыши за его пределами.","zh-CN":"鼠标在弹窗外单击时关闭弹窗"},"Close when leaving":{ko:"떠날 때 닫기",ru:"Закрывать при покидании","zh-CN":"离开时关闭"},"Closes the popup when the mouse leaves the thumbnail element, the popup, or both":{ru:"Закрывает всплывающее окно, когда мышь покидает элемент миниатюры, всплывающее окно или и то, и другое.","zh-CN":"鼠标移出缩略图元素、弹窗或上述两者时关闭弹窗"},Thumbnail:{ko:"미리보기(썸네일)",ru:"Миниатюры","zh-CN":"缩略图"},Both:{ko:"둘 다",ru:"Обоих","zh-CN":"上述两者"},"Use invisible element when waiting":{ru:"Использовать невидимый элемент при ожидании","zh-CN":"等待时使用隐形元素"},"Creates an invisible element under the cursor when waiting for the popup instead of a style element (can improve performance on websites with many elements, but prevents the cursor from clicking anything while loading the popup)":{ru:"Создаёт невидимый элемент под курсором при ожидании всплывающего окна вместо элемента стиля (может улучшить производительность на сайтах с большим количеством элементов, но не позволяет курсору нажимать на что-либо во время загрузки всплывающего окна).","zh-CN":"在等待弹窗时在鼠标指针下方创建一个隐形元素(而非样式元素)(可以改善有大量元素的网站性能,但这会阻止加载期间鼠标点击任何东西)"},"Add popup link to history":{ru:"Добавлять всплывающую ссылку в историю","zh-CN":"添加弹出的链接到历史记录"},"Adds the image/video link opened through the popup to the browser's history":{ru:"Добавляет ссылку на изображение/видео в историю браузера, открытые через всплывающее окно.","zh-CN":"将通过弹窗打开的图像/视频链接添加到浏览器的历史记录"},"Allow inter-frame communication":{ko:"프레임 간 통신 허용",ru:"Разрешить межфреймовую связь","zh-CN":"允许框架间通信"},"Allows communication between frames in windows, improving support for keybindings":{ko:"창의 프레임 간 통신을 허용하여 키 바인딩에 대한 지원을 개선한다.",ru:"Позволяет осуществлять связь между фреймами в Windows, улучшая поддержку привязки клавиш.","zh-CN":"允许窗口中的框架间通信,改善对快捷键绑定的支持"},"Allows communication between frames in windows, improving support for keybindings. Can pose a fingerprinting risk when used through the userscript":{ko:"창의 프레임 간 통신을 허용하여 키 바인딩에 대한 지원을 개선합니다. 유저스크립트를 통해 사용 시, 보안에 위협이 있을 수 있습니다",ru:"Позволяет осуществлять связь между фреймами в Windows, улучшая поддержку привязки клавиш. Может представлять риск снятия отпечатков пальцев при использовании через пользовательский скрипт.","zh-CN":"允许窗口中的框架间通信,改善对快捷键绑定的支持。通过用户脚本使用时,也许会构成指纹识别的风险"},"Pop out of frames":{ko:"프레임에서 팝업",ru:"Выскакивать за рамки","zh-CN":"跳出框架"},"Opens the popup on the top frame instead of within iframes. This option is still experimental.":{ru:"Открывает всплывающее окно поверх фрейма, а не внутри iframes. Этот параметр всё ещё является экспериментальным.","zh-CN":"在框架外而非框架内打开弹窗。此选项仍处于试验阶段。"},"Popup default zoom":{ko:"확대/축소 기본값",ru:"Масштаб всплывающего окна","zh-CN":"弹窗默认缩放级别"},"How the popup should be initially sized":{ko:"팝업의 초기 크기 조정 방법",ru:"Каким будет изначальный размер всплывающего окна.","zh-CN":"弹窗的初始尺寸"},"Fit to screen":{fr:"Adapter a l'ecran",ko:"화면 크기에 맞춤",ru:"По размеру экрана","zh-CN":"适合屏幕"},"Fill screen":{ko:"화면 채우기",ru:"Заполнить экран","zh-CN":"填满屏幕"},"Full size":{fr:"Taille réelle",ko:"전체 크기",ru:"Полный размер","zh-CN":"全尺寸"},"Custom size":{ko:"맞춤 크기",ru:"Пользовательский размер","zh-CN":"自定义尺寸"},"Custom zoom percent":{ko:"사용자 지정 확대/축소 비율",ru:"Пользовательский процент масштабирования","zh-CN":"自定义缩放百分比"},"Custom percent to initially size the popup":{ko:"팝업 설정 시, 초기 사용자 지정 확대/축소 비율",ru:"Пользовательский процент для первоначального размера всплывающего окна6","zh-CN":"自定义相对于初始弹窗大小的百分比"},"%":{ru:"%","zh-CN":"%"},"Use last zoom":{ru:"Использовать последний масштаб","zh-CN":"使用最后的缩放设置"},"Use the last popup's zoom. Note that this is per-page.":{ru:"Используйте масштабирование последнего всплывающего окна. Обратите внимание, что это на странице.","zh-CN":"使用最后一个弹窗的缩放级别。注意,此级别不跨页共享。"},"Maximum width":{ko:"최대 가로 길이",ru:"Максимальная ширина","zh-CN":"最大宽度"},"Maximum width for the initial popup size. Set to `0` for unlimited.":{ko:"초기 팝업 크기의 최대 가로 길이. 무제한의 경우 0으로 설정하십시오.",ru:"Максимальная ширина для начального размера всплывающего окна. `0` - неограниченная ширина.","zh-CN":"初始弹窗尺寸的最大宽度。设为 0 则无限制。"},"Maximum height":{ko:"최대 세로 길이",ru:"Максимальная высота","zh-CN":"最大高度"},"Maximum height for the initial popup size. Set to `0` for unlimited.":{ko:"초기 팝업 크기의 최대 세로 길이. 무제한으로 '0'으로 설정한다.",ru:"Максимальная высота для начального размера всплывающего окна. `0` - неограниченная высота.","zh-CN":"初始弹窗尺寸的最大高度。设为 0 则无限制。"},"Popup panning method":{ko:"이미지 이동하려면",ru:"Способ панорамирования всплывающего окна","zh-CN":"弹窗平移方法"},"How the popup should be panned when larger than the screen":{ru:"Как всплывающее окно должно быть панорамировано, когда оно больше экрана.","zh-CN":"弹窗比屏幕大时应如何平移"},Movement:{ko:"마우스 움직입니다",ru:"Перемещение","zh-CN":"移动"},"The popup pans as you move your mouse":{ru:"Всплывающее окно панорамируется когда вы перемещаете мышь.","zh-CN":"移动鼠标时弹窗平移"},Drag:{ko:"끕니다",ru:"Перетаскивание","zh-CN":"拖拽"},"Clicking and dragging pans the popup":{ru:"Вы можете нажать и перетаскивать панель всплывающего окна.","zh-CN":"单击并拖拽移动弹窗"},"Invert movement":{ru:"Инвертировать перемещение","zh-CN":"反转移动"},"Inverts the movement of the mouse. For example, if the mouse moves left, the popup moves right. If disabled, it feels more like the popup is being invisibly dragged.":{ru:"Инвертирует перемещение мышью. Например, если мышь движется влево, всплывающее окно перемещается вправо. Если отключено, то больше похоже на то, что всплывающее окно невидимо перетаскивается.","zh-CN":"反转鼠标的移动。例如,如果鼠标向左移动,弹窗向右移动。如果禁用,感觉更像是弹出窗口在无形中被拖动。"},"Minimum drag amount":{ru:"Минимальное количество для перетаскивания","zh-CN":"最小拖拽起始"},"How many pixels the mouse should move to start a drag":{ru:"На сколько пикселей мышь должна переместиться, чтобы начать перетаскивание.","zh-CN":"鼠标移动多少像素才开始拖拽"},"Vertical scroll action":{ru:"Действие вертикальной прокрутки","zh-CN":"垂直滚动操作"},"How the popup reacts to a vertical scroll/mouse wheel event":{ru:"Как всплывающее окно реагирует на событие вертикальной прокрутки/колеса мыши.","zh-CN":"弹窗如何对垂直滚动/鼠标滚轮事件做出反应"},"Vertical scroll action (hold)":{ru:"Действие при вертикальной прокрутке (удерживание)","zh-CN":"垂直滚动动作(保持)"},"How the popup (when held) reacts to a vertical scroll/mouse wheel event":{ru:"Как всплывающее окно (когда оно удерживается) реагирует на событие вертикальной прокрутки/колеса мыши","zh-CN":"“保持”显示的弹窗如何对垂直滚动/鼠标滚轮事件做出反应"},Zoom:{ko:"줌",ru:"Масштаб","zh-CN":"缩放"},"Horizontal scroll action":{ru:"Действие горизонтальной прокрутки","zh-CN":"水平滚动动作"},"How the popup reacts to a horizontal scroll/mouse wheel event":{ru:"Как всплывающее окно реагирует на событие горизонтальной прокрутки/колеса мыши.","zh-CN":"弹窗如何对水平滚动/鼠标滚轮事件做出反应"},"Horizontal scroll action (hold)":{ru:"Действие горизонтальной прокрутки (удерживание)","zh-CN":"水平滚动动作(保持)"},"How the popup (when held) reacts to a horizontal scroll/mouse wheel event":{ru:"Как всплывающее окно (когда оно удерживается) реагирует на событие горизонтальной прокрутки/колеса мыши","zh-CN":"“保持”显示的弹窗如何对水平滚动/鼠标滚轮事件做出反应"},Pan:{ko:"이동",ru:"Панель","zh-CN":"平移"},Gallery:{ru:"Галерея","zh-CN":"图库"},"Vertical video scroll action":{ru:"Действие вертикальной прокрутки видео","zh-CN":"垂直视频滚动动作"},"Overrides the vertical scroll action for videos. Set to `Default` to avoid overriding the behavior.":{ru:"Переопределяет действие вертикальной прокрутки для видео. Установите значение `По умолчанию`, чтобы избежать переопределения поведения.","zh-CN":"覆盖视频的垂直滚动动作。设为 `默认` 来避免覆盖该行为。"},"Invert vertical scroll seek":{ru:"Инвертировать стремление вертикальной прокрутки","zh-CN":"反转垂直滚动的快进/快退"},"Inverts the seek direction when scrolling vertically: Scrolling up will seek right, scrolling down will seek left.":{ru:"Инвертирует направление стремления при вертикальной прокрутке: Прокрутка вверх будет стремиться вправо, прокрутка вниз будет стремиться влево.","zh-CN":"在垂直滚动时反转移动方向:向上滚动将向右移动,向下滚动将向左移动。"},"Horizontal video scroll action":{ru:"Действие горизонтальной прокрутки видео","zh-CN":"水平视频滚动动作"},"Overrides the horizontal scroll action for videos. Set to `Default` to avoid overriding the behavior.":{ru:"Переопределяет действие горизонтальной прокрутки для видео. Установите значение `По умолчанию`, чтобы избежать переопределения поведения.","zh-CN":"覆盖视频的水平滚动动作。设为 `默认` 来避免覆盖该行为。"},Default:{ru:"По умолчанию","zh-CN":"默认"},Seek:{ru:"Стремление","zh-CN":"快进/快退"},None:{ko:"없다",ru:"Ничего","zh-CN":"无"},"Override scroll outside of popup":{ru:"Переопределение прокрутки вне всплывающего окна","zh-CN":"覆盖弹窗外的滚动"},"Scrolling outside of the popup will also be overriden by the script":{ru:"Прокрутка за пределами всплывающего окна также будет переопределена скриптом.","zh-CN":"同时覆盖弹窗外的滚动"},"Zoom origin":{ru:"Начало масштабирования","zh-CN":"缩放原点"},"The point on the image it's zoomed in/out from":{ru:"Точка на изображении, от которой оно увеличивается/уменьшается.","zh-CN":"图像放大/缩小的原点"},Cursor:{ko:"커서",ru:"Курсор","zh-CN":"鼠标指针"},Center:{ru:"Центр","zh-CN":"中心"},"Zoom out towards page middle":{ru:"Уменьшение масштаба к середине страницы","zh-CN":"缩小到页面中间"},'Sets the origin when zooming out to the page middle, overriding the "Zoom Origin" option above.':{ru:'Устанавливает начало координат при уменьшении масштаба до середины страницы, переопределяя "Начало масштабирования" вариант выше.',"zh-CN":"设置缩放到页面中间时的原点,重写上放的“缩放原点”选项。"},"Within viewport":{ru:"В пределах области просмотра","zh-CN":"在视野内"},"Zoom behavior":{ko:"줌 동작",ru:"Поведение масштабирования","zh-CN":"缩放行为"},"How zooming should work":{ru:"Как будет работать масштабирование.","zh-CN":"缩放应如何工作"},"Fit/Full":{ko:"화면맞춤/전체",ru:"По размеру/Полное","zh-CN":"适应/全尺寸"},"Toggles between the full size, and fit-to-screen":{ru:"Переключение между полным размером и по размеру экрану.","zh-CN":"在全尺寸和适合屏幕之间切换"},Incremental:{fr:"Incrémentale",ko:"증분",ru:"Пошаговое","zh-CN":"增量"},"Incremental zoom multiplier":{ru:"Множитель пошагового масштабирования","zh-CN":"增量缩放系数"},"How much to zoom in/out by (for incremental zooming)":{ru:"На сколько увеличить/уменьшить масштаб (для пошагового масштабирования).","zh-CN":"增量缩放时每次放大/缩小多少"},x:{ru:"x","zh-CN":"倍"},"Move with cursor":{ru:"Перемещение с помощью курсора","zh-CN":"随鼠标指针移动"},"Moves the popup as the cursor moves":{ru:"Перемещает всплывающее окно по мере перемещения курсора.","zh-CN":"鼠标移动时移动弹窗"},"Move within page":{ru:"Перемещение внутри страницы","zh-CN":"在页面内移动"},"Ensures the popup doesn't leave the page":{ru:"Гарантирует, что всплывающее окно не покинет страницу.","zh-CN":"确保弹窗不会离开页面"},"Zoom out fully to close":{ko:"닫기 위해 완전히 축소",ru:"Закрывать при полном уменьшении масштаба","zh-CN":"完全缩小至关闭"},"Closes the popup if you zoom out past the minimum zoom":{ko:"최소 크기로 축소할 경우 팝업 닫기",ru:"Закрывает всплывающее окно, если вы уменьшаете масштаб, превышающий минимальный.","zh-CN":"缩小超过最小级别时关闭弹窗"},"Scroll past gallery end to close":{ru:"Закрывать при прокручивании до конца галереи","zh-CN":"滚动到图库末尾时关闭"},"Closes the popup if you scroll past the end of the gallery":{ru:"Закрывает всплывающее окно, если вы прокручиваете его до конца галереи.","zh-CN":"滚动到图库的结尾时关闭弹窗"},"Popup position":{ko:"팝업 위치",ru:"Положение всплывающего окна","zh-CN":"弹出位置"},"Where the popup will appear":{ko:"팝업이 표시되는 위치",ru:"Где появится всплывающее окно.","zh-CN":"弹窗出现在哪里"},"Cursor middle":{ko:"커서 중간",ru:"Середина курсора","zh-CN":"鼠标指针为中心"},"Underneath the mouse cursor":{ko:"마우스 커서 아래",ru:"Под курсором","zh-CN":"鼠标指针下方"},"Beside cursor":{ko:"커서 옆",ru:"Рядом с курсором","zh-CN":"鼠标指针旁"},"Page middle":{ko:"페이지 중간",ru:"Середина страницы","zh-CN":"页面中间"},"Prevent cursor overlap":{ru:"Предотвратить перекрытие курсора","zh-CN":"避免指针重叠"},"Prevents the image from overlapping with the cursor":{ru:"Предотвращает перекрытие изображение с курсором.","zh-CN":"避免图像与鼠标指针重叠"},"Center popup on overflow":{ru:"Центрировать всплывающее окно при переполнении","zh-CN":"溢出时将弹窗置于中心"},"Centers the popup if its initial size overflows":{ru:"Центрирует всплывающее окно, если его начальный размер переполняется","zh-CN":"如果初始大小溢出,将弹窗置于中心位置"},"Overflow origin":{ru:"Начало переполнения","zh-CN":"溢出原点"},"Where the popup will appear in the page if its initial size overflows":{ru:"Где всплывающее окно появится на странице, если его начальный размер переполняется","zh-CN":"如果初始大小溢出,弹窗将出现在页面的哪个位置"},"Hide cursor over popup":{ru:"Скрывать курсор на всплывающем окне","zh-CN":"弹窗上隐藏鼠标指针"},"Hides the cursor when the mouse is over the popup":{ru:"Скрывает курсор, когда мышь находится на всплывающем окне.","zh-CN":"鼠标在弹窗上悬停时隐藏指针"},"Hide cursor after":{ru:"Скрывать курсор после","zh-CN":"隐藏指针延迟"},"Hides the cursor over the popup after a specified period of time (in milliseconds), 0 always hides the cursor":{ru:"Скрывает курсор во всплывающем окне после определенного периода времени (в миллисекундах). `0` - всегда скрывать курсор.","zh-CN":"鼠标在弹窗上停留指定时间(毫秒)后隐藏指针,0 为立即隐藏"},"Mouse jitter threshold":{ru:"Порог дрожания мыши","zh-CN":"鼠标抖动阈值"},"Threshold for mouse movement before the mouse cursor is shown again, 0 always shows the cursor after any movement":{ru:"Порог для перемещения мыши до того, как курсор мыши будет показан снова. `0` - всегда показывать курсор после любого движения.","zh-CN":"鼠标指针再次显示前的移动阈值,0 为始终显示移动后的指针"},px:{ru:"пикс.","zh-CN":"像素"},"Disable pointer events":{ru:"Отключить события указателя","zh-CN":"禁用指针事件"},"Enabling this option will allow you to click on links underneath the popup":{ru:"Включение этого параметра позволит вам нажимать на ссылки под всплывающим окном.","zh-CN":"启用此选项将允许您单击弹窗下方的链接"},"Ignore clicks outside popup":{ru:"Игнорировать клики вне всплывающего окна","zh-CN":"忽略弹窗外的点击"},"Any mouse event outside the popup will be discarded with this option":{ru:"Любое событие мыши вне всплывающего окна будет отменено этим параметром.","zh-CN":"启用此选项后,任何弹窗外的鼠标事件都将丢弃"},"Enable downloading HLS/DASH streams":{ru:"Включить скачивание потоков HLS/DASH","zh-CN":"启用 HLS/DASH 流媒体的下载"},"Prefer MP4 over MKV":{ru:"Предпочитать MP4, а не MKV","zh-CN":"偏好 MP4 代替 MKV"},"Tries to mux the video into mp4 instead of mkv when required. This may slightly slow down muxing as it currently needs to try muxing both.":{ru:"Пытается мультиплексировать видео в mp4 вместо mkv, когда это требуется. Это может слегка замедлить процесс мультиплексирования, так как в настоящее время необходимо попробовать мультиплексировать и то, и другое.","zh-CN":"请求时尝试用 mp4 代替 mkv。这可能稍微降低组合内容的速度,因为目前需要尝试两组操作。"},"Link image":{ru:"Ссылка на изображения","zh-CN":"链接图像"},"Adds a link to the image in the popup":{ru:"Добавляет ссылку на изображение во всплывающем окне.","zh-CN":"在弹窗的图像中添加链接"},"Link video":{ru:"Ссылка на видео","zh-CN":"链接视频"},"Adds a link to the video in the popup":{ru:"Добавляет ссылку на видео во всплывающем окне.","zh-CN":"在弹窗的视频中添加链接"},"Clicking image closes":{ru:"Закрывать изображение по нажатию на него","zh-CN":"点击图片关闭"},"Clicking the popup image closes the popup":{ru:"Нажатие на всплывающее изображение закрывает всплывающее окно.","zh-CN":"单击弹出图像将关闭弹窗"},"Clicking video closes":{ru:"Закрывать видео по нажатию на него","zh-CN":"点击视频关闭"},"Clicking the popup video closes the popup":{ru:"Нажатие на всплывающее видео закрывает всплывающее окно.","zh-CN":"点击弹出的视频时关闭弹窗"},"Clicking link downloads":{ru:"Нажатие на ссылку скачивания","zh-CN":"点击链接下载"},"Instead of opening the link in a new tab, it will download the image/video instead":{ru:"Вместо того чтобы открывать ссылку в новой вкладке, она будет скачивать изображение/видео.","zh-CN":"下载图像/视频,代替在新标签页中打开链接"},"Close key":{ru:"Клавиша закрытия","zh-CN":"关闭键"},"Closes the popup when this key is pressed. Currently, ESC will also close the popup regardless of the value of this setting.":{ru:"При нажатии этой клавиши, закрывает всплывающее окно. В настоящее время ESC также закроет всплывающее окно независимо от значения этих настроек.","zh-CN":"按下此键时关闭弹窗。目前,ESC 也将关闭弹窗,并且无视此设置。"},"Download key":{ru:"Клавиша скачивания","zh-CN":"下载键"},"Downloads the image in the popup when this key is pressed":{ru:"При нажатии этой клавиши, начнёт скачивать изображение во всплывающем окне.","zh-CN":"按下此键时下载弹窗中的图像"},"Open in new tab key":{ru:"Клавиша открытия в новой вкладке","zh-CN":"在新建标签页中打开的按键"},"Opens the image in the popup in a new tab when this key is pressed":{ru:"При нажатии этой клавиши, открывает изображение во всплывающем окне на новой вкладке.","zh-CN":"按下此键时在新建的标签页中弹窗中的图像"},"Open in background tab key":{ru:"Клавиша открытия в фоновой вкладке","zh-CN":"在后台标签页打开的按键"},"Opens the image in the popup in a new tab without switching to it when this key is pressed":{ru:"При нажатии этой клавиши, открывает изображение во всплывающем окне на новой вкладке, не переходя на неё.","zh-CN":"按下此键时在新建的后台标签页中弹窗中的图像"},"Copy link key":{ru:"Клавиша копирования ссылки","zh-CN":"复制链接键"},"Copies the link of the media to the clipboard when this key is pressed":{ru:"При нажатии этой клавиши, копирует ссылку медиа в буфер обмена.","zh-CN":"按下此键时,将媒体链接复制到剪贴板"},"Open options key":{ru:"Клавиша открытия параметров","zh-CN":"打开选项键"},"Opens this page in a new tab when this key is pressed":{ru:"При нажатии этой клавиши, откроет эту страницу в новой вкладке.","zh-CN":"按下此键时在标签页中打开此页面"},"Open original page key":{ru:"Клавиша открытия страницы оригинала","zh-CN":"打开原始页面键"},"Opens the original page (if available) when this key is pressed":{ru:"При нажатии этой клавиши, открывает страницу оригинала (если она доступна).","zh-CN":"按下此键时打开原始页面(如果可用)"},"Rotate left key":{ru:"Клавиша поворота влево","zh-CN":"向左旋转键"},"Rotates the popup 90 degrees to the left":{ru:"При нажатии этой клавиши, поворачивает всплывающее окно на 90 градусов влево.","zh-CN":"将弹窗向左旋转90度"},"Rotate right key":{ru:"Клавиша поворота вправо","zh-CN":"向右旋转键"},"Rotates the popup 90 degrees to the right":{ru:"При нажатии этой клавиши, поворачивает всплывающее окно на 90 градусов вправо.","zh-CN":"将弹窗向右旋转90度"},"Horizontal flip key":{ru:"Клавиша для отражения по горизонтали","zh-CN":"水平翻转键"},"Flips the image horizontally":{ru:"При нажатии этой клавиши, зеркально отражает изображение по горизонтали.","zh-CN":"水平翻转图像"},"Vertical flip key":{ru:"Клавиша для отражения по вертикали","zh-CN":"垂直翻转键"},"Flips the image vertically":{ru:"При нажатии этой клавиши, зеркально отражает изображение по вертикали.","zh-CN":"垂直翻转图像"},"Zoom in key":{ru:"Клавиша увеличения масштаба","zh-CN":"放大键"},"Incrementally zooms into the image":{ru:"При нажатии этой клавиши, увеличивает масштаб изображения.","zh-CN":"逐步放大图像"},"Zoom out key":{ru:"Клавиша уменьшения масштаба","zh-CN":"缩小键"},"Incrementally zooms out of the image":{ru:"При нажатии этой клавиши, уменьшает масштаб изображения.","zh-CN":"逐步缩小图像"},"Full zoom key":{ru:"Клавиша полного масштабирования","zh-CN":"全尺寸缩放键"},"Sets the image to be at a 100% zoom, even if it overflows the screen":{ru:"При нажатии этой клавиши, устанавливает 100%-ное масштабирование изображения, даже если оно переполняет экран.","zh-CN":"将图像设置为 100% 缩放,即使将溢出屏幕"},"Fit screen key":{ru:"Клавиша подгонки по размеру экрана","zh-CN":"适合屏幕键"},"Sets the image to either be at a 100% zoom, or to fit the screen, whichever is smaller":{ru:"При нажатии этой клавиши, устанавливает изображение либо со 100%-ным масштабом, либо в соответствии с размером экрана, в зависимости от того, что меньше.","zh-CN":"将图像设置为 100% 缩放或适合屏幕,以较小者为准"},"Toggle fullscreen key":{ru:"Клавиша переключения на весь экран","zh-CN":"切换全屏键"},"Toggles fullscreen mode for the image/video in the popup":{ru:"При нажатии этой клавиши, переключает полноэкранный режим для изображения/видео во всплывающем окне.","zh-CN":"切换弹窗中的图像/视频的全屏模式"},"Popup for plain hyperlinks":{ko:"일반적인 링크에도 팝업",ru:"Всплывающее окно для простых гиперссылок","zh-CN":"为纯超链接弹窗"},"Whether or not the popup should also open for plain hyperlinks":{ko:"일반 하이퍼링크의 팝업 열기 여부",ru:"Должно ли всплывающее окно также открываться для простых гиперссылок.","zh-CN":"是否为纯粹的超链接显示弹窗"},"Only for links that look valid":{ko:"유효해 보이는 링크에만 해당",ru:"Только для ссылок, которые выглядят допустимо","zh-CN":"只针对看起来有效的链接"},"Enabling this option will only allow links to be popped up if they look valid (such as if they have a known image/video extension, or are explicitly supported)":{ko:"이 옵션을 활성화하면 링크가 유효한 것으로 보이는 경우에만(예: 알려진 이미지/비디오 확장명이 있거나 명시적으로 지원되는 경우) 링크가 팝업될 수 있음",ru:"Включение этого параметра позволит всплывать ссылкам только в том случае, если они выглядят допустимыми (например, если они имеют известное расширение изображения/видео, или если они явно поддерживаются).","zh-CN":"启用此选项后,将只为看起来有效的链接显示弹窗(例如有已知的图像/视频扩展名,或者明显受支持)"},"Popup page URL":{ru:"Всплывающее окно для URL страниц","zh-CN":"为页面网址弹窗"},"If no element can be found, try the page URL. Only relevant for pagelink rules, such as image and video hosting websites":{ru:"Если ни один элемент не найден, попробуйте использовать URL-адрес страницы. Fктуально nолько для правил ссылки страницы, таких как сайты хостинга изображений и видео.","zh-CN":"如果找不到元素,尝试页面网址。只与 pagelink 规则相关,如图像或视频托管网站"},"Popup for `<iframe>`":{ko:"<iframe>에 대한 팝업",ru:"Всплывающее окно для `<iframe>`","zh-CN":"为 <iframe> 弹窗"},"Allows `<iframe>` elements to be popped up as well. Storing images/videos in this way is rather uncommon, but it can allow embeds to be supported":{ko:"<iframe>의 요소들도 팝업이 작동하도록 허용. 이런 식으로 이미지/비디오를 저장하는 것은 다소 드문 일이지만, embeds를 지원할 수 있음",ru:"Позволяет всплывать элементам `<iframe>`. Хранение изображений/видео таким образом довольно редкое явление, но оно может позволить поддерживать встраиваемые файлы.","zh-CN":"允许为 `<iframe>` 元素显示弹窗。以这种方式存储图像/视频相当罕见,但总之可以支持"},"Popup for `<canvas>`":{ko:"<canvas>에 대한 팝업",ru:"Всплывающее окно для `<canvas>`","zh-CN":"为 <canvas> 弹窗"},"Allows `<canvas>` elements to be popped up as well. This will likely cause popups with any kind of web-based games, so it's recommended to keep this disabled":{ko:"<canvas>의 요소들도 팝업이 작동하도록 허용. 이것은 어떤 종류의 웹 기반 게임이라도 팝업을 유발할 가능성이 높으므로, 이 기능을 사용하지 않도록 유지하는 것이 좋음",ru:"Позволяет всплывать элементам `<canvas>`. Это, скорее всего, будет вызывать всплывающие окна с любыми веб-играми, поэтому рекомендуется отключить эту функцию.","zh-CN":"允许为 `<canvas>` 元素显示弹窗。这可能导致在网页游戏上触发弹窗,所以建议此项保持禁用"},"Popup for `<svg>`":{ko:"<svg>에 대한 팝업",ru:"Всплывающее окно для `<svg>`","zh-CN":"为 <svg> 弹窗"},"Allows `<svg>` elements to be popped up as well. These are usually used for icons, and can occasionally cause problems for websites that overlay icons on top of images":{ko:"<canvas>의 요소들도 팝업이 작동하도록 허용. 이것은 보통 아이콘에 사용되며, 때때로 이미지 위에 아이콘을 오버레이하는 웹 사이트에 문제를 일으킬 수 있음",ru:"Позволяет всплывать элементам `<svg>`. Обычно они используются для иконок и иногда могут вызывать проблемы для веб-сайтов, которые накладывают иконки поверх изображений.","zh-CN":"允许为 `<svg>` 元素显示弹窗。这通常用于图标,并且偶尔会在网站于图像上叠加图标时出现问题"},"Enable gallery":{ru:"Включить галерею","zh-CN":"启用图库"},"Toggles whether gallery detection support should be enabled":{ru:"Переключает, должна ли быть включена поддержка обнаружения галереи.","zh-CN":"切换是否启用图库检测支持"},"Cycle gallery":{ru:"Зациклить галерею","zh-CN":"图库循环"},"Going to the previous image for the first image will lead to the last image and vice-versa":{ru:"Переход к предыдущему изображению с первого изображения приведет к последнему изображению и наоборот.","zh-CN":"第一个图像再向上抵达最后一个图像,最后一个图像向下抵达第一个图像"},"Previous gallery item":{ru:"Предыдущий элемент галереи","zh-CN":"前一个图库项"},"Key to trigger the previous gallery item":{ru:"Клавиша для запуска предыдущего элемента галереи.","zh-CN":"触发上一个图库项的按键"},"Next gallery item":{ru:"Следующий элемент галереи","zh-CN":"下一个图库项"},"Key to trigger the next gallery item":{ru:"Клавиша для запуска следующего элемента галереи.","zh-CN":"触发下一个图库项的按键"},"Gallery download key":{ru:"Клавиша скачивания галереи","zh-CN":"图库下载键"},"Key to download the current gallery":{ru:"Клавиша для скачивания текущей галереи.","zh-CN":"下载当前图库的按键"},"Download method":{ru:"Способ скачивания","zh-CN":"下载方法"},"How the gallery should be downloaded":{ru:"Как нужно скачивать галерею","zh-CN":"应如何下载图库"},"Zip file":{ru:"Архив","zh-CN":"Zip 文件"},JDownloader:{ru:"JDownloader","zh-CN":"JDownloader"},"Download unchanged media":{ru:"Скачивать медиа без изменений","zh-CN":"下载未更改的媒体"},"Includes gallery items that have not been changed. Useful to potentially avoid downloading thumbnails":{ru:"Включает в себя элементы галереи, которые не были изменены. Полезно, чтобы потенциально избежать скачивания миниатюр.","zh-CN":"包含未更改的图库项目。有助于潜在避免下载缩略图"},"Directory/zip filename format":{ru:"Формат имени файла каталога/архива","zh-CN":"目录/zip 文件名格式"},'Format string(s) for the directory (package name for JDownloader) and zip filename (if applicable).\nRefer to "Filename format" under the Rules section for documentation. The variables are set from the first loaded media.\nAn additional `items_amt` format variable is supported, which contains the number of items.\n`.zip` will be automatically suffixed for zip filenames.':{ru:'Формат строк каталога (имя пакета для JDownloader) и имя zip-файла (если применимо).\nИзучите документацию "Формат имени файла" в разделе "Правила". Переменные устанавливаются с первого загруженного медиа.\nПоддерживается дополнительная переменная формата `items_amt`, которая содержит количество элементов.\nСуффикс `.zip` будет автоматически добавляться к именам zip-файлов.',"zh-CN":"目录(JDownloader 的包名)和 zip 文件名(如果适用)的格式化字符串。\n文档参见“规则”部分中的“文件名格式”。这些变量来自首个已加载的媒体。\n支持一个额外的 `items_amt` 格式变量,其中包含项目数量。\nzip 的文件名自动追加 `.zip` 后缀。"},"Zip: Store in subdirectory":{ru:"Zip: Хранить в подкаталоге","zh-CN":"Zip: 存储在子目录中"},"Stores the files in a subdirectory with the same name as the .zip file (without the .zip extension)":{ru:"Хранит файлы в подкаталоге с тем же именем, что и zip-файл (без расширения .zip).","zh-CN":"将文件存储在与 .zip 文件同名的子目录中(目录不带 .zip)"},"JD: Autostart":{ru:"JD: Автозапуск","zh-CN":"JD: 自动启动"},"Autostarts the download when added to JDownloader":{ru:"Автоматически запускает скачивание при добавлении в JDownloader","zh-CN":"添加到 JDownloader 时自动开始下载"},"JD: Referer policy":{ru:"JD: Реферальная политика","zh-CN":"JD: Referer 策略"},"Due to a current limitation in JDownloader's API, the `Referer` (sic) header can only be set on a per-package basis. This option allows working around it by submitting multiple packages with the same name using different Referer headers. This can result in JD spamming notifications due to the number of packages created.":{ru:"Из-за текущего ограничения в API JDownloader, заголовок `Referer` (sic) может быть установлен только для каждого пакета. Этот параметр позволяет обойти это, отправив несколько пакетов с одинаковым именем, используя разные заголовки Referer. Это может привести к спам-уведомлениям JD из-за количества созданных пакетов.","zh-CN":"由于目前 JDownloader API 的限制,`Referer` (sic) 头只能在每个包的基础上设置。此选项通过提交同名但不同 Referer 头的多个包来规避该问题。这可能导致 JD 由于创建的包数量较多而给出垃圾消息通知。"},"Per-domain":{ru:"Для каждого домена","zh-CN":"按域名"},"Zip: Store info file":{ru:"Zip: Хранить информацию файла","zh-CN":"Zip: 存储信息文件"},"Stores a `info.txt` file in the .zip containing information about the downloaded files and host page.":{ru:"Хранит файл `info.txt` в .zip, содержащую информацию о скачаных файлах и странице хоста.","zh-CN":"在 .zip 中存储一个包含下载的文件和网页信息的“info.txt”文件。"},"Move to next when video finishes":{ru:"После заканчивания видео, переходить к следующему","zh-CN":"视频结束时转到下一个"},"Moves to the next gallery item when a video finishes playing":{ru:"Переход к следующему элементу галереи после завершения воспроизведения видео.","zh-CN":"视频播放结束时移动到下一个图库项目"},"Popup CSS style":{ko:"팝업 CSS",ru:"Стиль CSS всплывающего окна","zh-CN":"弹窗 CSS 样式"},"Custom CSS styles for the popup":{ru:"Пользовательские стили CSS для всплывающего окна.","zh-CN":"自定义弹窗的 CSS 样式"},'Most valid CSS is supported, with these differences:\n<ul><li>Multiline comments (<code>/* ... */</code>) are currently not supported</li>\n<li>Single comments (<code>// ...</code>) are supported, but only at the beginning of a line</li>\n<li><code>%thumburl%</code> is the URL of the thumbnail image. For example, you could use it like this: <code>background-image: url(%thumburl%)</code><br />\nThe URL is properly encoded, so quotes are not necessary (but not harmful either)</li>\n<li><code>%fullurl%</code> is the URL of the full image. If IMU fails to find a larger image, it will be the same as <code>%thumburl%</code></li>\n<li>Styles are <code>!important</code> by default</li></ul>\n<p>For Button CSS style, you can also customize the CSS for individual buttons through their IDs. For example:</p>\n<pre>\n#closebtn {\n  background-color: red;\n  // -imu-text allows you to set the text inside the button\n  -imu-text: "Close";\n  // -imu-title allows you to set the tooltip when hovering\n  -imu-title: "Close the popup";\n}\n#galleryprevbtn, #gallerynextbtn {\n  border-radius: 100px;\n}\n</pre>':{ru:'Поддерживается большинство допустимого CSS, с этими отличиями:\n<ul><li>Многострочные комментарии (<code>/* ... */</code>) в настоящее время не поддерживаются</li>\n<li>Одиночные комментарии (<code>// ...</code>) поддерживаются, но только в начале строки</li>\n<li><code>%thumburl%</code> - это URL-адрес миниатюры изображения. Например, вы можете использовать его следующим образом: <code>background-image: url(%thumburl%)</code><br />\nURL правильно закодирован, поэтому кавычки не нужны (но и не навредят)</li>\n<li><code>%fullurl%</code> - это URL-адрес полного изображения. Если IMU не может найти увеличенное изображение, оно будет таким же, как <code>%thumburl%</code></li>\n<li>Стили по умолчанию как <code>!important</code></li></ul>\n<p>Для стиля CSS кнопок, вы также можете настроить CSS для отдельных кнопок с помощью их идентификаторов. Например:</p>\n<pre>\n#closebtn {\n  background-color: red;\n  // -imu-text позволяет установить текст внутри кнопки\n  -imu-text: "Закрыть";\n  // -imu-title позволяет установить всплывающую подсказку при наведении курсора\n  -imu-title: "Закрыть всплывающее окно";\n}\n#galleryprevbtn, #gallerynextbtn {\n  border-radius: 100px;\n}\n</pre>',"zh-CN":'支持大多数有效的 CSS,但有下列差异:\n<ul><li>目前不支持多行注释(<code>/* ... */</code>)</li>\n<li>支持单行注释(<code>// ...</code>),但只能在行开头</li>\n<li><code>%thumburl%</code> 是缩略图的 URL,例如可以这样使用它:background-image: url(%thumburl%)</code><br />\nURL 被正确编码,所以没有必要使用引号(但使用也无害)</li>\n<li><code>%fullurl%</code> 是完整图像的 URL。如果 Image Max URL 不能找到一个更大的图像,将与 <code>%thumburl%</code> 相同</li>\n<li>样式默认 <code>!important</code></li></ul>\n<p>对于按钮 CSS 样式,您也可以通过 id 为单个按钮定制 CSS。例如:</p>\n<pre>\n#closebtn {\n  background-color: red;\n  // -imu-text 允许您设置按钮内的文本\n  -imu-text: "Close";\n  // -imu-title 允许您设置悬停时的工具提示\n  -imu-title: "Close the popup";\n}\n#galleryprevbtn, #gallerynextbtn {\n  border-radius: 100px;\n}\n</pre>'},"Enable popup fade":{ru:"Включить эффект затухания для всплывающего окна","zh-CN":"启用弹窗过渡动画"},"Enables a fade in/out effect when the popup is opened/closed":{ru:"Включает эффект затухания/появления при открытии/закрытии всплывающего окна.","zh-CN":"启用弹窗打开/关闭时的淡入/淡出效果"},"Enable zoom effect":{ru:"Включить эффект масштабирования","zh-CN":"启用缩放效果"},"Toggles whether the popup should 'zoom' when opened/closed":{ru:"Переключает, должно ли всплывающее окно 'масштабироваться' при открытии/закрытии.","zh-CN":"切换打开/关闭弹窗时是否有缩放效果"},"Move from thumbnail when zooming":{ru:"Перемещение от миниатюры при масштабировании","zh-CN":"从缩略图中跃出的缩放效果"},"Moves the popup from the thumbnail to the final location while zooming. The animation can be a little rough":{ru:"Перемещает всплывающее окно от миниатюр до окончательного местоположения во время масштабирования. Анимация может быть немного грубой.","zh-CN":"从缩略图变为弹窗时的缩放动画效果。动画可能有点粗糙"},"Popup animation time":{ru:"Время анимации всплывающего окна","zh-CN":"弹窗动画时长"},"Fade/zoom animation duration (in milliseconds) for the popup":{ru:"Уменьшение/увеличение продолжительности анимации (в миллисекундах) для всплывающего окна.","zh-CN":"弹窗的淡出/缩放动画持续时间(毫秒)"},"Enable background CSS":{ru:"Включить фон CSS","zh-CN":"启用背景 CSS"},"Toggles whether CSS styles for the background when the popup is active is enabled":{ru:"Переключает, включены ли стили CSS для фона, когда всплывающее окно активно.","zh-CN":"切换当弹出窗口处于活动状态时是否启用背景的 CSS 样式"},"On hold":{ru:"При удерживании","zh-CN":"保持现状"},No:{ru:"Нет","zh-CN":"不启用"},"Background CSS style":{ru:"Стиль CSS для фона","zh-CN":"背景 CSS 样式"},"CSS style for the background when the popup is active. See the documentation for Popup CSS style for more information (the thumb/full URL variables aren't supported here)":{ru:"Стиль CSS для фона, когда всплывающее окно активно. Дополнительные сведения смотрите в документации 'Стилизация CSS всплывающего окна' (здесь не поддерживаются переменные URL thumb/full).","zh-CN":"弹窗开启时用于背景的 CSS 样式。更多信息详见“弹窗 CSS 样式”文档(此处不支持 thumb/full URL 变量)"},"Background fade":{ru:"Затухание фона","zh-CN":"背景淡入/淡出"},"Fade in/out time (in milliseconds) for the page background, set to 0 to disable":{ru:"Время затухания/появления (в миллисекундах) для фона страницы. 0 - отключить","zh-CN":"页面背景的淡入/淡出时间(毫秒) ,设为 0 则禁用"},ms:{ru:"мс","zh-CN":"毫秒"},"Button CSS style":{ru:"Стиль CSS для кнопок","zh-CN":"按钮 CSS 样式"},"Custom CSS styles for the popup's UI buttons. See the documentation for Popup CSS style for more information (the thumb/full URL variables aren't supported here)":{ru:"Пользовательские стили CSS для кнопок пользовательского интерфейса всплывающего окна. Дополнительные сведения смотрите в документации 'Стилизация CSS всплывающего окна' (здесь не поддерживаются переменные URL thumb/full).","zh-CN":"为弹窗中界面的按钮自定义 CSS 样式。更多信息详见“弹窗 CSS 样式”文档(此处不支持 thumb/full URL 变量)"},"Don't popup blacklisted URLs":{ru:"Не открывать чёрные списки URL-адресов во всплывающем окне","zh-CN":"已列入黑名单的网址不要弹窗"},"This option popping up for source media with blacklisted URLs. If this is disabled, the popup will open if the end URL isn't blacklisted, regardless of whether the source is blacklisted.":{ru:"Этот параметр всплывает для оригинальных медиа с URL-адресами в чёрный список. Если этот параметр отключен, всплывающее окно откроется, если конечный URL-адрес не внесён в чёрный список, независимо от того, внесен ли источник в чёрный список.","zh-CN":"如果禁用此选项,即便源地址被列入黑名单,只要末端网址没有列入黑名单,就打开弹窗。"},"Don't popup different media type":{ru:"Нет всплывающих окон для других типов медиа","zh-CN":"不要弹出不同的媒体类型"},"This option prevents the popup from loading a video when the source was an image or vice-versa":{ru:"Этот параметр запрещает всплывающему окну загружать видео, если источником было изображение, или наоборот.","zh-CN":"此选项可避免源是图像时弹窗加载视频,反之亦然"},"Allow popup when fullscreen":{ru:"Всплывающие окна в полноэкранном режиме","zh-CN":"允许全屏时弹窗"},"Allows the popup to open if an element (such as a video player) is fullscreen.":{ru:"Позволяет открывать всплывающее окно, если элемент (например, видеоплеер) находится в полноэкранном режиме.","zh-CN":"允许存在全屏元素(如视频播放器)时打开弹窗。"},"Element finding mode":{ru:"Режим поиска элементов","zh-CN":"元素查找模式"},"How IMU should find the media element on the page.":{ru:"Как IMU будет искать медиа-элементы на странице.","zh-CN":"Image Max URL 应如何查找页面上的媒体元素。"},"This will result in a much higher CPU load for websites such as Facebook, and will occasionally return the wrong element.\nUse this option with caution.":{ru:"Это приведет к гораздо более высокой загрузке процессора для таких сайтов, как Facebook, и иногда будет возвращать неправильный элемент.\nИспользуйте этот параметр с осторожностью.","zh-CN":"对诸如 Facebook 等网站,这将导致很高的 CPU 负载,且偶尔会返回错误的元素。\n谨慎使用此选项。"},Full:{ru:"Полный","zh-CN":"全面"},"Manually looks through every element on the page to see if the cursor is above them. This will result in a higher CPU load for websites such as Facebook, and may return the wrong element":{ru:"Вручную просматривает каждый элемент на странице, чтобы увидеть, находится ли курсор над ними. Это приведет к более высокой загрузке процессора для таких сайтов, как Facebook, и может вернуть неправильный элемент.","zh-CN":"逐一检查页面上的每个元素,看鼠标指针是否在上面。这将导致很高的 CPU 负载,且偶尔会返回错误的元素"},Hybrid:{ru:"Гибридный","zh-CN":"混合"},"Looks manually through every child element of the last element found by `getElementsAtPoint`. Use this option if in doubt, it'll work on most sites":{ru:"Просматривает вручную каждый дочерний элемент последнего элемента, найденного с помощью `getElementsAtPoint`. Используйте этот вариант, если у вас есть сомнения. Он будет работать на большинстве сайтов.","zh-CN":"逐一检查用 `getElementsAtPoint` 找到的最后一个元素的每个子元素。如果不了解,使用此选项,它适用于绝大多数网站"},Simple:{ru:"Простой","zh-CN":"简易"},"This is the fastest option, which uses the value of `getElementsAtPoint` without modification. Works for sites that don't use pointer-events:none and shadow DOM":{ru:"Это самый быстрый вариант, который использует значение `getElementsAtPoint` без изменений. Работает для сайтов, которые не используют pointer-events:none и shadow DOM.","zh-CN":"这是最快的选项,它使用 `getElementsAtPoint` 的值而不做修改。适用于不使用 pointer-events:none 和 shadow DOM 的网站"},"Use cache":{ru:"Использовать кэш","zh-CN":"使用缓存"},"Allows use of a media cache for the popup. The cache is currently stored per-page and is not persistent across page reloads.":{ru:"Позволяет использовать медиа-кеш для всплывающего окна. Кэш в настоящее время хранится для каждой страницы и не сохраняется при перезагрузке страницы.","zh-CN":"允许弹窗缓存媒体。缓存目前不跨页共享,并且不会持久化(重新加载即失效)。"},"Cache duration":{ru:"Длительность кэша","zh-CN":"缓存持续时间"},"How long for media to remain cached. Set to `0` for unlimited.":{ru:"Как долго медиа будут оставаться в кэше. `0` - всегда.","zh-CN":"媒体被缓存多久。设为 0 则无限制。"},minutes:{ru:"мин.","zh-CN":"分钟"},"Cache item limit":{ru:"Ограничение элементов кэша","zh-CN":"缓存数量限制"},"Maximum number of individual media to remain cached. Set to `0` for unlimited.":{ru:"Максимальное количество отдельных медиа для сохранения в кэше. `0` - без ограничения.","zh-CN":"最多缓存多少个媒体。设为 0 则无限制。"},items:{ru:"эл.","zh-CN":"项"},"Resume videos":{ru:"Возобновлять видео","zh-CN":"继续视频"},"If a video popup was closed then reopened, the video will resume from where it left off":{ru:"Если всплывающее окно видео было закрыто, а затем снова открыто, видео возобновится с того места, где оно было остановлено.","zh-CN":"如果一个视频弹窗被关闭然后再次打开,该视频将从上次离开的进度继续播放"},"Use userscript":{fr:"Utiliser ce userscript",ko:"유저스크립트 사용하기",ru:"Использовать пользовательский скрипт","zh-CN":"使用用户脚本"},"Replaces the website's IMU instance with the userscript":{ru:"Заменяет сайт экземпляра IMU на пользовательский скрипт.","zh-CN":"使用用户脚本替换该网站的 Image Max URL 实例"},"Website image preview":{ko:"링크 붙인 후 이미지 미리보기",ru:"Предпросмотр изображения сайта","zh-CN":"网站图片预览"},"Enables a preview of the image on the Image Max URL website":{ru:"Включает предварительный просмотр изображения на сайте Image Max URL","zh-CN":"允许在 Image Max URL 网站上预览图片"},"IMU entry in context menu":{ru:"Добавить IMU в контекстное меню","zh-CN":"右键菜单中的 Image Max URL 项"},"Enables a custom entry for this extension in the right click/context menu":{ru:"Включает пользовательскую запись для этого расширения в контекстном меню (нажатие правой кнопкой мыши).","zh-CN":"右键菜单/上下文菜单中启用本扩展定义的菜单"},"Hot (re)load":{ru:"Горячая (пере)загрузка","zh-CN":"热重载"},"(Re)loads the extension on all existing pages when installing or updating":{ru:"(Пере)загружает расширение на всех существующих страницах при установке или обновлении.","zh-CN":"安装或更新后,热重载现有的全部页面上的本扩展"},"Custom XHR for libraries":{ru:"Пользовательский XHR для библиотек","zh-CN":"自定义程序库的 XHR"},"Allows the use of more powerful XHR (network requests) for 3rd-party libraries. This allows for certain DASH streams to work.":{ru:"Позволяет использовать более мощные XHR (сетевые запросы) для сторонних библиотек. Это позволяет работать определенным потокам DASH.","zh-CN":"允许第三方库使用更强大的 XHR(网络请求)。某些 DASH 流媒体需要这个。"},"Allows the use of more powerful XHR  (network requests) for 3rd-party libraries. This allows for certain DASH streams to work. Using this with the userscript version currently poses a potential security risk.":{ru:"Позволяет использовать более мощные XHR (сетевые запросы) для сторонних библиотек. Это позволяет работать определенным потокам DASH. Использование его в версии пользовательского скрипта в настоящее время представляет собой потенциальный риск для безопасности.","zh-CN":"允许第三方库使用更强大的 XHR(网络请求)。某些 DASH 流媒体需要这个。在目前的用户脚本版本中使用这种方法构成潜在的安全风险。"},Kakao:{ru:"Kakao","zh-CN":"Kakao"},YouTube:{ru:"YouTube","zh-CN":"YouTube"},"Instagram (downloading)":{ru:"Instagram (скачивание)","zh-CN":"Instagram (下载)"},"Use Web Archive for libraries":{ru:"Использовать веб-архив для библиотек","zh-CN":"为程序库使用 Web Archive 版本"},"Uses archive.org's web archive instead of github for libraries and other script internals (such as the options page).\nDon't enable this unless you need to.":{ru:"Использует веб-архив archive.org вместо github для библиотек и других внутренних компонентов скрипта (например, страницы параметров).\nНе включайте эту функцию, если в этом нет необходимости.","zh-CN":"为程序库和脚本内置的其他文件(如这个选项页面)使用 archive.org 的存档版本而非 github 版本。\n除非确实需要,否则无需启用。"},"Enable integrity checks":{ru:"Проверка целостности","zh-CN":"启用完整性检查"},"Runs integrity checks before loading 3rd-party libraries":{ru:"Запускает проверку целостности перед загрузкой сторонних библиотек.","zh-CN":"加载第三方库之前运行完整性检查"},"HLS/DASH maximum quality":{ru:"Максимальное качество HLS/DASH","zh-CN":"HLS/DASH 最高质量"},"Uses the maximum quality for HLS/DASH streams":{ru:"Использует максимальное качество для потоков HLS/DASH.","zh-CN":"对 HLS/DASH 流媒体使用最高质量"},"Maximum video quality":{ru:"Максимальное качество видео","zh-CN":"最高视频质量"},"Maximum quality for videos":{ru:"Максимальное качество для видео.","zh-CN":"视频的最高质量"},"(unlimited)":{ru:"(неограниченное)","zh-CN":"(无限制)"},"4K":{ru:"4K","zh-CN":"4K"},"1440p":{ru:"1440p","zh-CN":"1440p"},"1080p":{ru:"1080p","zh-CN":"1080p"},"720p":{ru:"720p","zh-CN":"720p"},"480p":{ru:"480p","zh-CN":"480p"},"Larger watermarked images":{ko:"더 크지만 워터마크 있는 이미지",ru:"Большие изображения с водяными знаками","zh-CN":"较大的带水印图像"},"Enables rules that return larger images that include watermarks":{ru:"Включает правила, возвращающие более крупные изображения с водяными знаками.","zh-CN":"启用规则:返回包含水印的较大图像"},"Stock photo websites":{ru:"Сайты со стоковыми фото","zh-CN":"“图库照片”网站"},"Smaller non-watermarked images":{ko:"더 작지만 워터마크 없는 이미지",ru:"Небольшие изображения без водяных знаков","zh-CN":"较小的无水印图像"},"Enables rules that return smaller images without watermarks":{ru:"Включает правила, возвращающие меньшие изображения без водяных знаков.","zh-CN":"启用规则:返回无水印的较小图像"},"Possibly different images":{fr:"Images possiblement différentes",ko:"다를 수 있는 이미지",ru:"Возможно, разные изображения","zh-CN":"可能不同的图像"},"Enables rules that return images that possibly differ, usually due to server-side caching":{ru:"Включает правила, возвращающие изображения, которые могут отличаться, как правило, из-за кэширования на стороне сервера.","zh-CN":"启用规则:返回可能有所不同的图像,不同通常由于服务器侧缓存"},"Possibly broken images":{fr:"Images possiblement brisée",ko:"손상될 수 있는 이미지",ru:"Возможно, сломанные изображения","zh-CN":"可能破损的图像"},"Enables rules that return images that are possibly broken":{ru:"Включает правила, возвращающие изображения, которые могут быть поломаны.","zh-CN":"启用规则:返回可能已损坏的图像"},"Possibly upscaled images":{ru:"Возможно, увеличенные изображения","zh-CN":"可能扩增尺寸的图像"},"Enables rules that return images that are possibly upscaled":{ru:"Включает правила, возвращающие изображения, которые могут быть увеличены.","zh-CN":"启用规则:返回可能已扩增尺寸的图像"},"Rules using 3rd-party websites":{fr:"Règles utilisant des sites 3rd-party",ko:"서드파티 사이트를 사용하는 규칙",ru:"Правила использования сторонних сайтов","zh-CN":"使用第三方网站的规则"},"Enables rules that use 3rd-party websites":{ru:"Включает правила, которые используют сторонние сайты.","zh-CN":"启用基于第三方网站的规则"},Newsen:{ko:"뉴스엔",ru:"Newsen","zh-CN":"Newsen"},"Rules using API calls":{ru:"Правила, использующие вызовы API","zh-CN":"基于 API 调用的规则"},"Enables rules that use API calls. Strongly recommended to keep this enabled":{ru:"Включает правила, использующие вызовы API. Настоятельно рекомендуется оставлять эту функцию включённой.","zh-CN":"启用基于 API 调用的规则。强烈建议保持此项启用"},Instagram:{ru:"Instagram","zh-CN":"Instagram"},Flickr:{ru:"Flickr","zh-CN":"Flickr"},"...":{ru:"...","zh-CN":"..."},"Allow 3rd-party libraries":{ru:"Сторонние библиотеки","zh-CN":"允许第三方库"},"Enables using 3rd-party libraries. This is both used in rules and as a prerequisite for certain functionality.":{ru:"Позволяет использовать сторонние библиотеки. Это используется как в правилах, так и в качестве предварительного условия для определённой функциональности.","zh-CN":"启用第三方库的调用。这可能用于规则和某些功能的先决条件。"},"Enables using 3rd-party libraries. This is both used in rules and as a prerequisite for certain functionality.\nThere is a possible (but unlikely) security risk for the userscript version.":{ru:"Позволяет использовать сторонние библиотеки. Это используется как в правилах, так и в качестве предварительного условия для определённой функциональности.\nСуществует возможный (но маловероятный) риск безопасности для версии пользовательского скрипта.","zh-CN":"启用第三方库的调用。这可能用于规则和某些功能的先决条件。\n这对于用户脚本版来说,有较低的潜在的安全风险。"},"Sites using testcookie (slowAES)":{ru:"Сайты, использующие testcookie (slowAES)","zh-CN":"使用 testcokie 的网站(慢AES)"},"Rules executing 3rd-party code":{ru:"Правила выполнения стороннего кода","zh-CN":"执行第三方代码的规则"},"Enables rules that execute arbitrary 3rd-party code stored on websites.":{ru:"Включает правила, которые выполняют произвольный сторонний код, хранящийся на сайтах.","zh-CN":"启用将执行存储在网站上的任意第三方代码的规则。"},"This could lead to security risks, please be careful when using this option!":{ru:"Это может привести к угрозам безопасности, будьте осторожны при использовании этого параметра!","zh-CN":"这可能导致安全风险,慎重使用此选项!"},"Rules using brute-force":{ru:"Правила, использующие грубую силу","zh-CN":"使用暴力破解的规则"},"Enables rules that require using brute force (through binary search) to find the original image":{ru:"Включает правила, требующие использования грубой силы (через бинарный поиск) для поиска оригинального изображения.","zh-CN":"启用需要凭借蛮力(二进制搜索)找到原始图像的规则"},Deezer:{ru:"Deezer","zh-CN":"Deezer"},"Use browser cookies":{ru:"Использовать куки браузера","zh-CN":"使用浏览器 Cookie"},"Uses the browser's cookies for API calls in order to access otherwise private data":{ru:"Использует файлы cookie браузера для вызовов API, чтобы получить доступ к конфиденциальным данным.","zh-CN":"允许 API 调用使用浏览器的 Cookie 来访问非公开数据"},"Private Flickr images":{ru:"Приватные изображения Flickr","zh-CN":"私人 Flickr 图像"},"DeviantART: Prefer size over original":{ru:"DeviantART: Предпочитать размер оригиналу","zh-CN":"DeviantART: 尺寸比原版更重要"},"Prefers a larger (but not upscaled) thumbnail image over a smaller original animated image":{ru:"Предпочитает больше (но не увеличенное) миниатюрное изображение меньшему оригинальному анимированному изображению.","zh-CN":"偏好尺寸较大(但非扩增)但非原始尺寸的缩略图图像,而不是原始尺寸但尺寸较小的动画图像"},"DeviantART: Use download links":{ru:"DeviantART: Использовать ссылки для скачивания","zh-CN":"DeviantART: 使用下载链接"},"Prefers using the download link (if available) by default. Note that this only works if you're logged in to DeviantART":{ru:"Предпочитает использовать ссылку для скачивания (если она доступна) по умолчанию. Обратите внимание, что это работает, только если вы вошли в свою учётную запись DeviantART.","zh-CN":"偏好默认使用下载链接(如果可用)。注意,仅在登录 DeviantART 后有效"},"E-Hentai: Use full image":{ru:"E-Hentai: Использовать полное изображение","zh-CN":"E-Hentai: 使用完整图像"},"Prefers using full/original images if available (logged in). This is more likely to get you rate limited":{ru:"Предпочитает использовать полные/оригинальные изображения, если таковые имеются. (требуется вход). Скорее всего, это ограничит вашу скорость.","zh-CN":"偏好使用全尺寸原版图像。需要已登录。使用它将更容易遭遇速率限制"},"Imgur: Use original filename":{ru:"Imgur: Использовать оригинальное имя файла","zh-CN":"Imgur: 使用原始文件名"},"If the original filename (the one used to upload the image) is found, use it instead of the image ID":{ru:"Если найдено оригинальное имя файла (используемое для скачивания изображения), используйте его вместо идентификатора изображения.","zh-CN":"如果找到原始文件名(上传图像时的文件名),使用它代替图像 ID"},"Imgur: Use source image":{ru:"Imgur: Использовать изображение источника","zh-CN":"Imgur: 使用源图像"},"If a source image is found for Imgur, try using it instead. Only works for old-style Imgur webpages (set `postpagebeta=0; postpagebetalogged=0` as cookies)":{ru:"Если для Imgur найдено изображение источника, попробуйте использовать его вместо этого. Работает только для веб-страниц Imgur старого стиля (установите `postpagebeta=0; postpagebetalogged=0` как cookie).","zh-CN":"如果找到 Imgur 的源图像,尝试使用它。仅适用于旧版 Imgur 网页(设置 Cookie `postpagebeta=0; postpagebetalogged=0`)"},"Instagram: Use native API":{ru:"Instagram: Использовать родной API","zh-CN":"Instagram: 使用原生 API"},"Uses Instagram's native API if possible, requires you to be logged into Instagram. This usually allows for higher resolution images (1440x*) to be returned.":{ru:"Использует родной API Instagram, если это возможно, требует, чтобы вы вошли в Instagram. Обычно это позволяет возвращать изображения с более высоким разрешением (1440x*).","zh-CN":"尽可能使用 Instagram 的原生 API,这需要您已登录 Instagram。通常能返回更高分辨率的图像(1440x*)。"},"Instagram: Don't use web API":{ru:"Instagram: Без использования веб-API","zh-CN":"Instagram: 不使用 Web API"},"Avoids using Instagram's web API if possible, which increases performance, but will occasionally sacrifice quality for videos":{ru:"Избегает использования веб-API Instagram, если это возможно, что повышает производительность, но иногда жертвует качеством видео.","zh-CN":"尽可能不使用 Instagram 的 Web API,这可以提升性能,但偶尔会牺牲视频品质"},"Instagram: Prefer quality over resolution":{ru:"Instagram: Предпочитать качество разрешению","zh-CN":"Instagram: 偏好高质量而不是分辨率"},"Prefers lower resolution videos that use a higher bitrate over higher resolution images. This adds a slight performance cost as it needs to fetch headers for multiple videos":{ru:"Предпочитает видео с более низким разрешением, которые используют более высокий битрейт по сравнению с изображениями с более высоким разрешением. Это добавляет небольшие затраты на производительность, так как это нуждается в получении заголовков для нескольких видео.","zh-CN":"偏好高比特率的低分辨率视频,而不是高分辨率图像。这轻微资源消耗,因为需要获取多个视频的头部"},"Instagram: Use albums for post thumbnails":{ru:"Instagram: Использовать альбомы для миниатюр постов","zh-CN":"Instagram: 为帖子缩略图使用相册"},"Queries Instagram for albums when using the popup on a post thumbnail":{ru:"Запросы к Instagram для альбомов при использовании всплывающего окна на миниатюре поста.","zh-CN":"为帖子缩略图使用弹窗时查询 Instagram 相册"},"Snapchat: Use original media without captions":{ru:"Snapchat: Использовать оригинальные медиа без подписей","zh-CN":"Snapchat: 使用没有标题的原始媒体"},"Prefers using original media instead of media with captions and tags overlayed":{ru:"Предпочитает использовать оригинальные медиа вместо медиа с наложенными подписями и тегами.","zh-CN":"倾向于使用原始媒体,而不是有标题和标签覆盖的媒体"},"TikTok: Don't use watermarked videos":{ru:"TikTok: Не использовать видео с водяными знаками","zh-CN":"TikTok: 不使用带水印的视频"},"Uses non-watermarked videos for TikTok if possible. This will introduce an extra delay when loading the video as two extra requests need to be performed. It will also fail for any videos uploaded after ~late July 2020":{ru:"По возможности использует видео без водяных знаков для TikTok. Это приведёт к дополнительной задержке при загрузке видео, так как необходимо выполнить два дополнительных запроса. Это не будет работать для любых видео, загруженных после ~конца июля 2020 года.","zh-CN":"如果可能,为 TikTok 使用无水印视频。加载视频时需执行两个额外的请求,这将增加延迟。对2020年7月左右之后上传的任何视频不起作用"},"TikTok: 3rd-party watermark removal":{ru:"TikTok: Удаление водяных знаков третьей стороной","zh-CN":"TikTok: 第三方水印去除"},"Uses a 3rd-party watermark removal site for TikTok.\nI do not endorse any of the sites supported. They may log your IP address and videos you submit. Use this option with caution.\n`LQ` = Low quality, `PL` = Public log":{ru:"Использует сторонний сайт удаления водяных знаков для TikTok.\nЯ не одобряю ни один из поддерживаемых сайтов. Они могут регистрировать ваш IP-адрес и видео, которые вы отправляете. Используйте этот параметр с осторожностью.\n`НК` = Низкое качество, `ПЛ` = Публичный лог","zh-CN":"使用一个适用于 TikTok 的第三方水印去除网站。\n这不代表对该网站的认可。该网站可能记录您的 IP 地址和提交的视频。谨慎使用。\n`LQ` = 低品质,`PL` = 公众日志"},"(none)":{ru:"(ничего)","zh-CN":"(无)"},"ttloader.com":{ru:"ttloader.com","zh-CN":"ttloader.com"},"onlinetik.com":{ru:"onlinetik.com","zh-CN":"onlinetik.com"},"tikdowns.com":{ru:"tikdowns.com","zh-CN":"tikdowns.com"},"ssstiktok.net":{ru:"ssstiktok.net","zh-CN":"ssstiktok.net"},"keeptiktok.com (LQ)":{ru:"keeptiktok.com (НК)","zh-CN":"keeptiktok.com (LQ)"},"ssstiktok.io (LQ)":{ru:"ssstiktok.io (НК)","zh-CN":"ssstiktok.io (LQ)"},"musicallydown.com (LQ/PL)":{ru:"musicallydown.com (НК/ПЖ)","zh-CN":"musicallydown.com (LQ/PL)"},"snaptik.app (LQ)":{ru:"snaptik.app (НК)","zh-CN":"snaptik.app (LQ)"},"tikmate.online (LQ)":{ru:"tikmate.online (НК)","zh-CN":"tikmate.online (LQ)"},"Tumblr: API key":{ru:"Tumblr: ключ API","zh-CN":"Tumblr: API 密钥"},"API key for finding larger images on Tumblr":{ru:"Ключ API для поиска больших изображений на Tumblr","zh-CN":"用于在 Tumblr 上查找更大图片的 API 密钥"},"Twitter: Use extension":{ru:"Twitter: Использовать расширение","zh-CN":"Twitter: 使用扩展名"},"Prefers `.jpg?name=orig` over `?format=jpg&name=orig`. This will possibly incur extra requests before succeeding. Note that there is no difference in image quality.":{ru:"Предпочитать `.jpg?name=orig` поверх `?format=jpg&name=orig`. Это, возможно, повлечет за собой дополнительные запросы, прежде чем добиться успеха. Обратите внимание, что нет никакой разницы в качестве изображения.","zh-CN":"首选 `.jpg?name=orig` 而不是 `?format=jpg&name=orig`。这可能在成功前产生额外的请求。注意,图像质量上没有差异。"},"A list of URLs (one per line) that are blacklisted from being processed":{ru:"Список URL-адресов (по одному на строку), которые занесены в чёрный список для обработки.","zh-CN":"处理过程的黑名单网址列表(每行一条)"},"Blacklist engine":{ko:"블랙리스트 엔진",ru:"Движок чёрного списка","zh-CN":"黑名单引擎"},"Simple (glob)":{ko:"단순 (glob)",ru:"Простой (glob)","zh-CN":"简易 (glob)"},Regex:{ko:"정규식",ru:"Регулярное выражение","zh-CN":"正则表达式"},"The examples below are written for the simple (glob) engine, not the regex engine. The glob engine is generally based on the UNIX glob syntax.<br />\n<ul><br />\n<li><code>google.com</code> will block https://google.com/, https://www.google.com/, https://abcdef.google.com/, https://def.abc.google.com/, etc.</li>\n<li><code>abc.google.com</code> will block https://abc.google.com/, https://def.abc.google.com/, etc.</li>\n<li><code>*.google.com</code> will block https://www.google.com/, https://def.abc.google.com/, etc. but not https://google.com/</li>\n<li><code>google.*/</code> will block https://google.com/, https://www.google.co.uk, etc.</li>\n<li><code>http://google.com</code> will block http://google.com/, but not https://google.com/, http://www.google.com/, etc.</li>\n<li><code>google.com/test</code> will block https://google.com/test, https://www.google.com/test/abcdef, but not https://google.com/, etc.</li>\n<li><code>google.com/*/test</code> will block https://google.com/abc/test, but not https://google.com/test or https://google.com/abc/def/test</li>\n<li><code>google.com/**/test</code> will block https://google.com/abc/test, https://google.com/abc/def/test, https://google.com/abc/def/ghi/test, etc. but not https://google.com/test</li>\n<li><code>g??gle.com</code> will block https://google.com/, https://gaagle.com/, https://goagle.com/, etc.</li>\n<li><code>google.{com,co.uk}</code> will block https://google.com/ and https://google.co.uk/</li>\n<li><code>g[oau]ogle.com</code> will block https://google.com/, https://gaogle.com/, and http://www.guogle.com/</li>\n<li><code>g[0-9]ogle.com</code> will block https://g0ogle.com/, https://g1ogle.com/, etc. (up to https://g9ogle.com/)</li>\n</ul>":{ru:"Приведенные ниже примеры написаны для простого (glob) движка, а не для движка регулярных выражений. Механизм glob обычно основан на синтаксисе UNIX glob.<br />\n<ul><br />\n<li><code>google.com</code> будет блокировать https://google.com/, https://www.google.com/, https://abcdef.google.com/, https://def.abc.google.com/, и т.д.</li>\n<li><code>abc.google.com</code> будет блокировать https://abc.google.com/, https://def.abc.google.com/, и т.д.</li>\n<li><code>*.google.com</code> будет блокировать https://www.google.com/, https://def.abc.google.com/, и т.д., но не https://google.com/</li>\n<li><code>google.*/</code> будет блокировать https://google.com/, https://www.google.co.uk, и т.д.</li>\n<li><code>http://google.com</code> будет блокировать http://google.com/, но не https://google.com/, http://www.google.com/, и т.д.</li>\n<li><code>google.com/test</code> будет блокировать https://google.com/test, https://www.google.com/test/abcdef, но не https://google.com/, и т.д.</li>\n<li><code>google.com/*/test</code> будет блокировать https://google.com/abc/test, но не https://google.com/test или https://google.com/abc/def/test</li>\n<li><code>google.com/**/test</code> будет блокировать https://google.com/abc/test, https://google.com/abc/def/test, https://google.com/abc/def/ghi/test, и т.д., но не https://google.com/test</li>\n<li><code>g??gle.com</code> будет блокировать https://google.com/, https://gaagle.com/, https://goagle.com/, и т.д.</li>\n<li><code>google.{com,co.uk}</code> будет блокировать https://google.com/ и https://google.co.uk/</li>\n<li><code>g[oau]ogle.com</code> будет блокировать https://google.com/, https://gaogle.com/, и http://www.guogle.com/</li>\n<li><code>g[0-9]ogle.com</code> будет блокировать https://g0ogle.com/, https://g1ogle.com/, и т.д. (вплоть до https://g9ogle.com/)</li>\n</ul>","zh-CN":"下面的示例是为建议(glob)引擎编写,而非正则表达式引擎。Glob 引擎通常基于 UNIX glob 语法。<br />\n<ul><br />\n<li><code>google.com</code> 将屏蔽 https://google.com/, https://www.google.com/, https://abcdef.google.com/, https://def.abc.google.com/ 等。</li>\n<li><code>abc.google.com</code> 将屏蔽 https://abc.google.com/, https://def.abc.google.com/ 等。</li>\n<li><code>*.google.com</code> 将屏蔽 https://www.google.com/, https://def.abc.google.com/ 等。但不含 https://google.com/</li>\n<li><code>google.*/</code> 将屏蔽 https://google.com/, https://www.google.co.uk 等。</li>\n<li><code>http://google.com</code> 将屏蔽 http://google.com/, but not https://google.com/, http://www.google.com/ 等。</li>\n<li><code>google.com/test</code> 将屏蔽 https://google.com/test, https://www.google.com/test/abcdef, but not https://google.com/ 等。</li>\n<li><code>google.com/*/test</code> 将屏蔽 https://google.com/abc/test,但不含 https://google.com/test 或 https://google.com/abc/def/test</li>\n<li><code>google.com/**/test</code> 将屏蔽 https://google.com/abc/test, https://google.com/abc/def/test, https://google.com/abc/def/ghi/test 等。 but not https://google.com/test</li>\n<li><code>g??gle.com</code> 将屏蔽 https://google.com/, https://gaagle.com/, https://goagle.com/ 等。</li>\n<li><code>google.{com,co.uk}</code> 将屏蔽 https://google.com/ 和https://google.co.uk/</li>\n<li><code>g[oau]ogle.com</code> 将屏蔽 https://google.com/, https://gaogle.com/, 和http://www.guogle.com/</li>\n<li><code>g[0-9]ogle.com</code> 将屏蔽 https://g0ogle.com/, https://g1ogle.com/ 等。 (up to https://g9ogle.com/)</li>\n</ul>"},Blacklist:{ko:"블랙리스트",ru:"Чёрный список","zh-CN":"黑名单"},"Filename format":{ru:"Формат имени файла","zh-CN":"文件名格式"},"Format string(s) for the filename":{ru:"Формат строк(и) для имени файла.","zh-CN":"文件名格式化要用到的字符串"},Documentation:{ru:"Документация","zh-CN":"文档"},"<p>Variables are specified between curly brackets (<code>{}</code>).</p>\n<p>Below is a list of valid variables:</p>\n<ul><br />\n<li><code>filename</code> - Original filename (with extension, if applicable)</li>\n<li><code>filename_noext</code> - Original filename (without extension, if applicable)</li>\n<li><code>ext</code> - Extension (with <code>.</code> prefixed)</li>\n<li><code>caption</code> - Popup caption</li>\n<li><code>author_username</code> - Author's username</li>\n<li><code>id</code> - Post ID</li>\n<li><code>host_title</code> - Title of the current tab/window</li>\n<li><code>host_url</code> - URL of the host webpage</li>\n<li><code>host_domain</code> - Domain of the host webpage</li>\n<li><code>host_domain_nosub</code> - Domain (without subdomains) of the host webpage</li>\n<li><code>url</code> - URL of the media</li>\n<li><code>domain</code> - Domain of the media</li>\n<li><code>domain_nosub</code> - Domain (without subdomains) of the media</li>\n<li><code>is_screenshot</code> - Blank, the line will only be processed when screenshotting a video</li>\n<li><code>prefix</code>, <code>suffix</code> - Blank by default, these variables will be automatically prefixed/suffixed to the filename if set using <code>:=</code></li>\n<li><code>created_...</code> - Created date (see note on Date objects below)</li>\n<li><code>updated_...</code> - Updated date, this will use the <code>Last-Modified</code> header if not otherwise specified by the rule (see note on Date objects below)</li>\n<li><code>download_...</code> - Download date (see note on Date objects below)</li>\n<li><code>date_...</code> - Created/updated date (see note on Date objects below)</li>\n</ul><br />\n<p>You can truncate the value of a variable by adding <code>:(number)</code> before the end bracket (<code>}</code>). For example:</p>\n<ul><br />\n<li><code>{caption:10}</code> - Truncates the caption to be at most 10 characters long</li>\n<li><code>{caption:10.}</code> - Same, but will add an ellipsis (…) if the caption was truncated</li>\n</ul><br />\n<p>If a variable doesn't exist, by default it will ignore the current format string and use the one on the next line, unless <code>?</code> is added before the end bracket. For example:</p>\n<ul><br />\n<li><code>{ext?}</code> - Will be replaced with nothing if <code>ext</code> doesn't exist</li>\n<li><code>{caption?no caption}</code> - Will be replaced with <code>no caption</code> if <code>caption</code> doesn't exist</li>\n</ul><br />\n<p>You can check for equality and inequality with <code>==</code> and <code>!=</code> operators respectively. For example:</p>\n<ul><br />\n<li><code>{domain_nosub==cdninstagram.com}{author_username} {id}</code> - Will only run the current format (<code>{author_username} {id}</code> in this case) if the domain is cdninstagram.com</li>\n</ul><br />\n<p>You can check if a variable contains a string with <code>/=</code> (<code>!/=</code> for the opposite). It also supports two flags, <code>r</code> (regex) and <code>c</code> (case-sensitive), if added between <code>/</code> and <code>=</code>. For example:</p>\n<ul><br />\n<li><code>{domain/=instagram}{id}</code> - Will only run the current format (<code>{id}</code>) if the domain contains <code>instagram</code></li>\n<li><code>{domain!/=instagram}{id}</code> - Likewise, but only if the domain does not contain <code>instagram</code></li>\n<li><code>{domain/r=inst.*ram}{id}</code> - Likewise, but only if the domain matches the regex <code>inst.*ram</code></li>\n<li><code>{window_title/c=Instagram}{id}</code> - Likewise, but only if the window's title contains <code>Instagram</code> (case-sensitively)</li>\n<li><code>{window_title!/rc=Inst.*ram}{id}</code> - Likewise, but only if the window's title does not match the case-sensitive regex <code>Inst.*ram</code></li>\n</ul><br />\n<p>You can set a custom variable with <code>:=</code>. For example:</p>\n<ul><br />\n<li><code>{domain_nosub==cdninstagram.com}{foo:=bar}</code> - Sets the variable <code>foo</code> to <code>bar</code> if the domain is <code>cdninstagram.com</code>. The variable can then be accessed with e.g. <code>{foo}</code></li>\n</ul><br />\n<p>Date objects are accessible through a number of properties. Each property can be suffixed with <code>_utc</code> to get the UTC/GMT equivalent.</p>\n<ul><br />\n<li><code>..._iso</code> - Date in ISO format (e.g. <code>2019-12-31T23-30-56</code>). Note that <code>:</code> is replaced with <code>-</code> to avoid issues with paths under NTFS.</li>\n<li><code>..._ago</code> - Human-readable representation of the time elapsed since the date (e.g. <code>1 year and 10 months ago</code>, <code>5 months and 20 days ago</code>)</li>\n<li><code>..._unix</code> - Unix timestamp (e.g. <code>1577912345</code>)</li>\n<li><code>..._unix_ms</code> - Unix timestamp with millisecond accuracy (e.g. <code>1577912345678</code>)</li>\n<li><code>..._yyyymmdd</code> - Date in YYYYMMDD format (e.g. <code>20191230</code>)</li>\n<li><code>..._hhmmss</code> - Time in HHMMSS format (e.g. <code>233056</code>)</li>\n<li><code>..._year</code> - Full year (e.g. <code>2019</code>)</li>\n<li><code>..._month</code> - Zero-padded month (e.g. <code>12</code>)</li>\n<li><code>..._day</code> - Zero-padded day (e.g. <code>31</code>)</li>\n<li><code>..._hours</code> - Zero-padded hours in military/24-hour format (e.g. <code>23</code>)</li>\n<li><code>..._minutes</code> - Zero-padded minutes (e.g. <code>30</code>)</li>\n<li><code>..._seconds</code> - Zero-padded seconds (e.g. <code>56</code>)</li>\n</ul>":{ru:"<p>Переменные указываются между фигурными скобками (<code>{}</code>).</p>\n<p>Ниже приведен список допустимых переменных:</p>\n<ul><br />\n<li><code>filename</code> - Оригинальное имя файла (с расширением, если применимо)</li>\n<li><code>filename_noext</code> - Оригинальное имя файла (без расширения, если применимо)</li>\n<li><code>ext</code> - Расширение (с префиксом <code>.</code>)</li>\n<li><code>caption</code> - Заголовок всплывающего окна</li>\n<li><code>author_username</code> - Имя пользователя автора</li>\n<li><code>id</code> - ID записи</li>\n<li><code>host_title</code> - Заголовок текущей вкладки/окна</li>\n<li><code>host_url</code> - URL-адрес веб-страницы хоста</li>\n<li><code>host_domain</code> - Домен главной веб-страницы</li>\n<li><code>host_domain_nosub</code> - Домен (без субдоменов) главной веб-страницы</li>\n<li><code>url</code> - URL-адрес медиа</li>\n<li><code>domain</code> - Домен медиа</li>\n<li><code>domain_nosub</code> - Домен (без субдоменов) медиа</li>\n<li><code>is_screenshot</code> - Пусто, строка будет обрабатываться только при скриншоте видео.</li>\n<li><code>prefix</code>, <code>suffix</code> - По умолчанию пустые, эти переменные будут автоматически приставляться к имени файла, если они заданы с помощью <code>:=</code></li>\n<li><code>created_...</code> - Дата создания (см. примечание к объектам Date ниже)</li>\n<li><code>updated_...</code> - Дата обновления, при этом будет использоваться заголовок <code>Last-Modified,</code> если правило не указано иным образом (см. примечание к объектам Date ниже)</li>\n<li><code>download_...</code> - Дата скачивания (см. примечание об объектах Date ниже)</li>\n<li><code>date_...</code> - Дата создания/обновления (см. примечание об объектах Date ниже)</li>\n</ul><br />\n<p>Вы можете усечь значение переменной, добавив <code>:(number)</code> перед закрывающей скобкой (<code>}</code>). Например:</p>\n<ul><br />\n<li><code>{caption:10}</code> - Обрезает заголовок до 10 символов</li>\n<li><code>{caption:10.}</code> - То же самое, но с добавлением многоточия (…), если заголовок был обрезан</li>\n</ul><br />\n<p>Если переменная не существует, по умолчанию она будет игнорировать текущую строку формата и использовать ту, которая находится в следующей строке, если только <code>?</code> не добавлена перед закрывающей скобкой. Например:</p>\n<ul><br />\n<li><code>{ext?}</code> - Будет заменен ничем, если <code>ext</code> не существует</li>\n<li><code>{caption?no caption}</code> - Будет заменено на <code>no caption</code>, если <code>caption</code> не существует</li>\n</ul><br />\n<p>Вы можете проверить равенство и неравенство с помощью операторов <code>==</code> и <code>!=</code> соответственно. Например:</p>\n<ul><br />\n<li><code>{domain_nosub==cdninstagram.com}{author_username} {id}</code> - Будет работать только в текущем формате (в данном случае <code>{author_username} {id}</code>), если домен cdninstagram.com</li>\n</ul><br />\n<p>Вы можете проверить, содержит ли переменная строку с <code>/=</code> (<code>!/=</code> для противоположного). Он также поддерживает два флага, <code>r</code> (regex) и <code>c</code> (чувствительный к регистру), если добавлен между <code>/</code> и <code>=</code>. Например:</p>\n<ul><br />\n<li><code>{domain/=instagram}{id}</code> - Будет работать только в текущем формате (<code>{id}),</code> если домен содержит <code>instagram</code></li>\n<li><code>{domain!/=instagram}{id}</code> - Аналогично, но только если домен не содержит <code>instagram</code></li>\n<li><code>{domain/r=inst.*ram}{id}</code> - Аналогично, но только в том случае, если домен соответствует regex <code>inst.*ram</code></li>\n<li><code>{window_title/c=Instagram}{id}</code> - Аналогично, но только если заголовок окна содержит <code>Instagram</code> (с учётом регистра)</li>\n<li><code>{window_title!/rc=Inst.*ram}{id}</code> - Аналогично, но только в том случае, если заголовок окна не соответствует regex <code>Inst.*ram</code> с учётом регистра</li>\n</ul><br />\n<p>Пользовательскую переменную можно задать с помощью <code>:=</code>. Например:</p>\n<ul><br />\n<li><code>{domain_nosub==cdninstagram.com}{foo:=bar}</code> - Устанавливает для переменной <code>foo</code> значение <code>bar</code>, если доменом является <code>cdninstagram.com</code>. Затем к переменной можно получить доступ, например <code>{foo}</code></li>\n</ul><br />\n<p>Объекты Date доступны через ряд свойств. Каждое свойство может быть суффиксировано с <code>_utc</code>, чтобы получить эквивалент UTC/GMT.</p>\n<ul><br />\n<li><code>..._iso</code> - Дата в формате ISO (например, <code>2019-12-31T23-30-56</code>). Обратите внимание, что <code>:</code> заменяется на <code>-</code> во избежание проблем с путями под NTFS.</li>\n<li><code>..._ago</code> - Удобочитаемое представление времени, прошедшего с даты (например, <code>1 год и 10 месяцев назад</code>, <code>5 месяцев и 20 дней назад</code>)</li>\n<li><code>..._unix</code> - Отметка времени Unix (например <code>1577912345</code>)</li>\n<li><code>..._unix_ms</code> - Отметка времени Unix с точностью до миллисекунды (например <code>1577912345678</code>)</li>\n<li><code>..._yyyymmdd</code> - Дата в формате YYYYMMDD (например <code>20191230</code>)</li>\n<li><code>..._hhmmss</code> - Время в формате HHMMSS (например <code>233056</code>)</li>\n<li><code>..._year</code> - Полный год (например <code>2019</code>)</li>\n<li><code>..._month</code> - Месяц с добавлением нуля (например <code>12</code>)</li>\n<li><code>..._day</code> - День с добавление нуля (например <code>31</code>)</li>\n<li><code>..._hours</code> - Часы с добавлением нуля в военном/24-часовом формате (например <code>23</code>)</li>\n<li><code>..._minutes</code> - Минуты с добавлением нуля (например <code>30</code>)</li>\n<li><code>..._seconds</code> - Секунды с добавлением нуля (например <code>56</code>)</li>\n</ul>","zh-CN":"<p>大括号间可使用的变量(<code>{}</code>)。</p>\n<p>下述为有效变量列表:</p>\n<ul><br />\n<li><code>filename</code> - 原始文件名(含扩展名,如适用)</li>\n<li><code>filename_noext</code> - 原始文件名(无扩展名,如适用)</li>\n<li><code>ext</code> - 扩展名(含 <code>.</code> 前缀)</li>\n<li><code>caption</code> - 弹窗的标题</li>\n<li><code>author_username</code> - 作者的用户名</li>\n<li><code>id</code> - 帖子 ID</li>\n<li><code>host_title</code> - 当前标签页/窗口的标题</li>\n<li><code>host_url</code> - 托管网页的网址</li>\n<li><code>host_domain</code> - 托管网页的域名</li>\n<li><code>host_domain_nosub</code> - 托管网页的域名(不含子域名)</li>\n<li><code>url</code> - 媒体(文件)的网址</li>\n<li><code>domain</code> - 媒体(文件)的域名</li>\n<li><code>domain_nosub</code> - 媒体的域名(不含子域名)</li>\n<li><code>is_screenshot</code> - 空白,此行仅在对视频截图时处理</li>\n<li><code>prefix</code>, <code>suffix</code> - 默认空白,这些变量在使用 <code>:=</code> 时自动作为文件名的前缀/后缀</li>\n<li><code>created_...</code> - 创建日期(详见下文“日期”对象)</li>\n<li><code>updated_...</code> - 更新日期,规则未另行指定时将使用 <code>Last-Modified</code> 头(详见下文“日期”对象)</li>\n<li><code>download_...</code> - 下载日期(详见下文“日期”对象)</li>\n<li><code>date_...</code> - 创建/更新日期(详见下文“日期”对象)</li>\n</ul><br />\n<p>您可以在变量的右括号(<code>}</code>)前添加 <code>:(number)</code> 来截断值。例如:</p>\n<ul><br />\n<li><code>{caption:10}</code> - 将标题截断为最多 10 个字符</li>\n<li><code>{caption:10.}</code> - 同上,但当标题被截断时追加一个省略号(…)</li>\n</ul><br />\n<p>如果变量不存在,默认将忽略当前的格式化字符串,并使用下一行,除非右括号前添加了 <code>?</code>。例如:</p>\n<ul><br />\n<li><code>{ext?}</code> - 在 <code>ext</code> 不存在时变为空</li>\n<li><code>{caption?无标题}</code> - <code>caption</code> 不存在时变为 <code>无标题</code></li>\n</ul><br />\n<p>可以分别使用 <code>==</code> 和 <code>!=</code> 操作符检查相等和不等式。例如:</p>\n<ul><br />\n<li><code>{domain_nosub==cdninstagram.com}{author_username} {id}</code> - 仅在域名为 cdninstagram.com 时采用这条格式(<code>{author_username} {id}</code>)</li>\n</ul><br />\n<p>可以用 <code>/=</code> 检查变量是否包含指定字符串(<code>!/=</code> 检查是否不包含)。它还支持两个标志,<code>r</code>(正则表达式)和 <code>c</code>(区分大小写),加在 <code>/</code> 与 <code>=</code> 之间。例如:</p>\n<ul><br />\n<li><code>{domain/=instagram}{id}</code> - 仅在域名包含 <code>instagram</code> 时采用格式(<code>{id}</code>)</li>\n<li><code>{domain!/=instagram}{id}</code> - 仅在域名不包含 <code>instagram</code> 时</li>\n<li><code>{domain/r=inst.*ram}{id}</code> - 仅在域名匹配正则表达式 <code>inst.*ram</code> 时</li>\n<li><code>{window_title/c=Instagram}{id}</code> - 仅在窗口标题包含 <code>Instagram</code> 时(区分大小写)</li>\n<li><code>{window_title!/rc=Inst.*ram}{id}</code> - 仅在窗口标题不匹配区分大小写的正则表达式 <code>Inst.*ram</code> 时</li>\n</ul><br />\n<p>可以用 <code>:=</code> 设置一个自定义变量。例如:</p>\n<ul><br />\n<li><code>{domain_nosub==cdninstagram.com}{foo:=bar}</code> - 如果域名是 <code>cdninstagram.com</code>,设置变量 <code>foo</code> 为 <code>bar</code>。变量的访问方式如 <code>{foo}</code></li>\n</ul><br />\n<p>日期对象可通过众多属性访问。每个属性都可以后缀 <code>_utc</code> 来获取等效的 UTC/GMT 时间。</p>\n<ul><br />\n<li><code>..._iso</code> - ISO 格式的日期(例如 <code>2019-12-31T23-30-56</code>)。注意,<code>:</code> 被替换为 <code>-</code> 以避免违反 NTFS 路径约束。</li>\n<li><code>..._ago</code> - 易于阅读的已经过时间(例如 <code>1 year and 10 months ago</code>、<code>5 months and 20 days ago</code>)</li>\n<li><code>..._unix</code> - Unix 时间戳(例如 <code>1577912345</code>)</li>\n<li><code>..._unix_ms</code> - Unix 时间戳,毫秒精度(例如 <code>1577912345678</code>)</li>\n<li><code>..._yyyymmdd</code> - YYYYMMDD 格式日期(例如 <code>20191230</code>)</li>\n<li><code>..._hhmmss</code> - HHMMSS 格式时间(例如 <code>233056</code>)</li>\n<li><code>..._year</code> - 完整年份(例如 <code>2019</code>)</li>\n<li><code>..._month</code> - 补零月份(例如 <code>12</code>)</li>\n<li><code>..._day</code> - 补零的日(例如 <code>31</code>)</li>\n<li><code>..._hours</code> - 补零的小时,24小时制(例如 <code>23</code>)</li>\n<li><code>..._minutes</code> - 补零的分钟(例如 <code>30</code>)</li>\n<li><code>..._seconds</code> - 补零的秒(例如 <code>56</code>)</li>\n</ul>"},"Replace special characters with underscores":{ru:"Замена спецсимволов подчёркиванием","zh-CN":"用下划线替换特殊字符"},'Replaces characters such as `/` or `"` with `_` when downloading. Note that browsers will usually do this automatically, this is just to ensure consistent behavior.':{ru:'Заменяет такие символы, как `/` или `"` на `_` при скачивании. Обратите внимание, что браузеры обычно делают это автоматически, это просто для обеспечения согласованного поведения.',"zh-CN":'下载时将诸如 `/`、`"` 等字符替换为 `_` 。浏览器通常会自动这样做,这只是为了确保一致的行为。'},"Trigger keybinding that will run the Replace Images function":{ru:"Вызывает привязку клавиш, которая запустит функцию замены изображений.","zh-CN":"运行“替换图像”功能的触发键"},"Automatically replace images":{ru:"Автозамена изображений","zh-CN":"自动替换图像"},"Automatically replace images to larger versions on pages you view":{ru:"Автозамена изображений на более крупные версии на просматриваемых страницах.","zh-CN":"在您查看的页面上自动将图像替换为较大版本"},"This could lead to rate limiting or IP bans":{ru:"Это может привести к ограничению скорости или блокировке IP-адреса.","zh-CN":"这可能导致速率限制和封禁 IP"},"Use data URLs":{ru:"Использовать data URL","zh-CN":"使用 data URL"},"Uses data:// URLs instead of image links. Disabling this may improve compatibility with some bulk image downloader extensions":{ru:"Использует data:// URL вместо ссылок на изображения. Отключение этого параметра может улучшить совместимость с некоторыми расширениями массового скачивания изображений.","zh-CN":"使用 data:// URL 代替图像链接。禁用此功能可能改善与批量下载图片的扩展的兼容性"},"Wait until image is fully loaded":{ru:"Ждать полную загрузку изображения","zh-CN":"等待至图像完全加载"},"Waits until the image being replaced is fully loaded before moving on to the next image":{ru:"Ждёт пока заменяемое изображение не будет полностью загружено прежде чем перейти к следующему изображению.","zh-CN":"移动到下一个图像之前,等待被替换的图像完全加载"},"Max images to process at once":{ru:"Максимально изображений для одновременной обработки","zh-CN":"一次最多处理图像"},"The maximum amount of images to process at once":{ru:"Максимальное количество изображений для обработки одновременно.","zh-CN":"一次最多处理多少个图像"},"Max images per domain at once":{ru:"Максимально изображений на домен одновременно","zh-CN":"每个域一次最多图像"},"The maximum amount of images per domain to process at once":{ru:"Максимальное количество изображений на домен для одновременной обработки.","zh-CN":"每个域(名)一次最多处理多少个图像"},images:{es:"imágenes",ko:"이미지",ru:"Изображения","zh-CN":"个图像"},"Delay between same-domain images":{ru:"Задержка между однодоменными изображениями.","zh-CN":"同域图像之间延迟"},"New requests for images in the same domain will be delayed by this amount of seconds. Useful for avoiding rate limits.":{ru:"Новые запросы на изображения в том же домене будут задерживаться на это количество секунд. Полезно для избежания ограничений скорости.","zh-CN":"对同域图像的新请求将延迟此秒数。有助避免触发频率限制。"},seconds:{es:"segundos",ko:"초",ru:"сек.","zh-CN":"秒"},"Replace images":{ru:"Заменять изображения","zh-CN":"替换图片"},"Replaces images to their larger versions when the button is pressed":{ru:"Заменяет изображения на их более крупные версии при нажатии кнопки.","zh-CN":"按下按钮时,将图像替换为较大的版本"},"Add links":{ru:"Добавлять ссылки","zh-CN":"添加链接"},"Adds links around replaced media if a link doesn't already exist":{ru:"Добавляет ссылки вокруг заменённых медиа, если ссылки ещё не существует.","zh-CN":"在已替换媒体旁添加链接(如果尚无)"},"Replace links":{ru:"Заменять ссылки","zh-CN":"替换链接"},"Replaces links if they already exist":{ru:"Заменяет ссылки, если они уже существуют.","zh-CN":"替换已经存在的链接"},"Plain hyperlinks":{ru:"Простые гиперссылки","zh-CN":"纯粹超链接"},"How to treat plain (non-media) hyperlinks that link to potential media":{ru:"Как обращаться с простыми (немедийными) гиперссылками, которые ссылаются на потенциальные медиа.","zh-CN":"如何处理链接到潜在媒体的纯粹超链接"},"Replace link+text":{ru:"Заменять ссылку+текст","zh-CN":"替换链接和文本"},"Replace media":{ru:"Заменять медиа","zh-CN":"替换媒体"},"Links open in new tab":{ru:"Открывать ссылки в новой вкладке","zh-CN":"在新标签页中打开链接"},"Clicking on a replaced link will open the media in a new tab":{ru:"Нажатие на заменённую ссылку откроет медиа в новой вкладке.","zh-CN":"单击已替换的链接将在新标签页中打开媒体"},"Size constraints":{ru:"Ограничения по размеру","zh-CN":"大小限制"},"Removes or enforces height/width specifiers for replaced media":{ru:"Удаляет или применяет спецификаторы высоты/ширины для замененных медиа","zh-CN":"移除或强制应用被替换媒体的高度/宽度说明符"},Ignore:{ru:"Игнорировать","zh-CN":"忽略"},Remove:{ru:"Удалить","zh-CN":"移除"},Force:{ru:"Принудительно","zh-CN":"强制"},"Replacement CSS":{ru:"Замена CSS","zh-CN":"替换 CSS"},"CSS styles to apply to replaced media. See the documentation for Popup CSS style for more information (the thumb/full URL variables aren't yet supported here)":{ru:"Стили CSS для применения к заменяемым медиа. Дополнительные сведения смотрите в документации 'Стилизация CSS всплывающего окна' (здесь не поддерживаются переменные URL thumb/full).","zh-CN":"应用到已替换媒体的 CSS 样式。更多信息详见“弹窗 CSS 样式”文档(此处不支持 thumb/full URL 变量)"},"Simple progress":{ru:"Простой прогресс","zh-CN":"简单进度条"},"Uses a simpler progress bar that has a fixed size for all media. This is useful to see how many images are replaced, rather than the ETA":{ru:"Использует более простую шкалу прогресса, которая имеет фиксированный размер для всех медиа. Это полезно для того, чтобы увидеть, сколько изображений заменено, а не ждать.","zh-CN":"对所有媒体使用固定大小的简单进度条。这能看到有多少图像已替换,而不是只有剩余时间"},"Trigger keybinding that will run the Highlight Images function":{ru:"Привязка клавиши действия, которое будет запускать функцию подсветки изображений.","zh-CN":"用来运行“高亮图像”功能的触发键"},"Enables the 'Highlight Images' button":{ru:"Включает кнопку 'Подсветить изображения'.","zh-CN":"启用“高亮图像”按钮"},"Automatically highlight images":{ru:"Автоподсвечивать изображения","zh-CN":"自动高亮图片"},"Automatically highlights images as you view pages":{ru:"Автоматически подсвечивает изображения при просмотре страниц.","zh-CN":"查看页面时自动突出图像"},Always:{ru:"Постоянно","zh-CN":"总是"},Hover:{ru:"Наведение","zh-CN":"悬停"},"When hovering over an image":{ru:"При наведении курсора на изображение.","zh-CN":"鼠标在图片上悬停时"},Never:{ru:"Никогда","zh-CN":"从不"},"Only explicitly supported images":{ru:"Только явно поддерживаемые изображения","zh-CN":"仅限明确支持的图像"},"Only highlights images that can be made larger or the original version can be found":{ru:"Подсвечивает только изображения, которые могут быть увеличены или можно найти их оригинальную версию.","zh-CN":"仅突出可以换成更大尺寸的图像"},"Highlight CSS":{ru:"CSS подсветка","zh-CN":"高亮 CSS"},"CSS style to apply for highlight. See the documentation for Popup CSS style for more information (the thumb/full URL variables aren't supported here)":{ru:"Стилизация CSS, для применения к подсветке. Дополнительные сведения смотрите в документации 'Стилизация CSS всплывающего окна' (здесь не поддерживаются переменные URL thumb/full).","zh-CN":"高亮时使用的 CSS 样式。更多信息详见“弹窗 CSS 样式”文档(此处不支持 thumb/full URL 变量)"},"Enable trigger key":{ru:"Включить клавишу действия","zh-CN":"启用触发键"},"Enables the use of the trigger key to run it without needing to use the menu":{ru:"Позволяет использовать клавишу действия для запуска без необходимости использования меню.","zh-CN":"允许使用触发键来运行,无需使用菜单"},"Trigger key":{ru:"Клавиша действия","zh-CN":"触发键"},"Enable button":{ru:"Включить кнопку","zh-CN":"启用按钮"},"Mouseover popup action":{en:"Popup action",es:"Acción del popup",ko:"이미지 팝업 작업",ru:"Действие всплывающего окна при наведение курсора","zh-CN":"移动时弹窗的动作"},"Determines how the mouseover popup will open":{ko:"마우스오버 팝업이 열리는 방식",ru:"Определяет, как откроётся всплывающее окно при наведении курсора мыши.","zh-CN":"决定鼠标悬停弹窗将打开"},Popup:{ko:"팝업",ru:"Всплывающее окно","zh-CN":"弹窗"},"New tab":{es:"Nueva pestaña",fr:"Nouvel onglet",ko:"새 탭",ru:"Новая вкладка","zh-CN":"新标签页"},"New background tab":{ru:"Новая фоновая вкладка","zh-CN":"新后台标签页"},Download:{ru:"Скачать","zh-CN":"下载"},"Copy link":{ru:"Копировать ссылку","zh-CN":"复制链接"},Replace:{ru:"Заменить","zh-CN":"替换"},"Exclude page background":{ko:"페이지 배경 제외",ru:"Исключать фон страницы","zh-CN":"排除页面背景"},"Excludes the page background for the popup":{ko:"팝업에 대한 페이지 배경 제외",ru:"Исключает фон страницы для всплывающего окна.","zh-CN":"避免为页面背景显示弹窗"},"Minimum size":{ru:"Минимальный размер","zh-CN":"最小尺寸"},"Smallest size acceptable for the popup to open (this option is ignored for background images). This refers to the size of the media to be popped up, which may differ from the source media.":{ru:"Наименьший размер, допустимый для открытия всплывающего окна (этот параметр игнорируется для фоновых изображений). Это относится к размеру всплывающего медиа, который может отличаться от оригинала.","zh-CN":"允许多小的图像显示弹窗。背景图像不被此选项涵盖。这指将要弹窗显示的媒体大小,这可能与源媒体不同。"},"Maximum source size":{ru:"Максимальный размер источника","zh-CN":"最大源尺寸"},"Maximum size (width/height) for the source media to allow popping up (this option is ignored for background images). Set to `0` for any size.":{ru:"Максимальный размер (ширина/высота) исходного медиафайла для разрешения всплытия (этот параметр игнорируется для фоновых изображений). `0` - любой размер.","zh-CN":"以源媒体显示弹窗的最大尺寸(宽度/高度)(对背景图像来说此选项无效)。设为 0 表示任意大小。"},pixels:{ru:"пикс.","zh-CN":"像素"},"Exclude `background-image`s":{ko:"배경 이미지 제외",ru:"Исключать `background-image`","zh-CN":"排除背景图像"},"Excludes `background-image`s for the popup. Might prevent the popup from working on many images":{ko:"팝업의 배경 이미지 제외. 팝업이 많은 이미지에서 작동하지 않을 수 있음",ru:"Исключает `background-image` для всплывающего окна. Это может помешать всплывающему окну работать со многими изображениями.","zh-CN":"不为背景图像显示弹窗。可能使很多图像上不显示弹窗"},"Enable videos":{ru:"Включить видео","zh-CN":"支持视频"},"Allows videos to be popped up":{ru:"Позволяет открывать всплывающеее окно для видео","zh-CN":"允许视频弹窗"},"Enable audio":{ru:"Включить аудио","zh-CN":"启用音频"},"Allows audio to be popped up. Currently experimental.\nThis only applies to audio files. Videos that contains audio are supported regardless of this setting.":{ru:"Позволяет открывать всплывающее окно для аудио. В настоящее время экспериментальный.\nЭто относится только к аудиофайлам. Видео, содержащие аудио, поддерживаются независимо от этой настройки.","zh-CN":"允许音频弹窗。目前处于实验阶段。\n这仅适用于音频文件。包含音频的视频无关此设置。"},"Allow HLS/DASH streams":{ru:"Разрешить потоки HLS/DASH","zh-CN":"允许 HLS/DASH 流"},"Allows playback of HLS/DASH streams":{ru:"Позволяет воспроизводить потоки HLS/DASH.","zh-CN":"允许播放 HLS/DASH 流"},Dailymotion:{ru:"Ежедневноедвижение","zh-CN":"Dailymotion"},"Instagram (higher quality)":{ru:"Instagram (качество выше)","zh-CN":"Instagram(更高质量)"},Reddit:{ru:"Reddit","zh-CN":"Reddit"},"YouTube (higher quality)":{ru:"YouTube (качество выше)","zh-CN":"YouTube(更高质量)"}},We=function(e){var t=[e],o=e.replace(/-.*/,"");return o!==e&&t.push(o),t};function vi(e){for(var t=1;t<arguments.length;t++)t-1,0;if("string"!=typeof e)return e;var o=We(bi.language);if(e in Be){for(var r=!1,i=0;i<o.length;i++){var n=o[i];if(n in Be[e]){e=Be[e][n],r=!0;break}}!r&&"en"!==n&&"en"in Be[e]&&(e=Be[e].en)}if(ri(e,"%")<0)return e;for(var a=[],s="",i=0;i<e.length;i++){if("%"==e[i]&&i+2<e.length&&"%"==e[i+1]){var l=ci(e[i+2]);if(!isNaN(l)){a.push(s),s="",a.push(arguments[l]),i+=2;continue}}s+=e[i]}return a.push(s),a.join("")}var Ve,Xe=["mouseover_trigger","mouseover_use_fully_loaded_video","mouseover_use_fully_loaded_image","mouseover_close_on_leave_el","mouseover_scroll_behavior","mouseover_mask_styles","mouseover_video_seek_vertical_scroll","mouseover_video_seek_horizontal_scroll","mouseover_support_pointerevents_none","mouseover_enable_mask_styles","allow_video","allow_audio","replaceimgs_remove_size_constraints"],bi={imu_enabled:!0,language:Ge,check_updates:!0,check_update_interval:24,check_update_notify:!1,dark_mode:!1,settings_tabs:!0,settings_alphabetical_order:!1,settings_visible_description:!0,settings_show_disabled:!0,settings_show_disabled_profiles:!1,settings_show_requirements:!0,advanced_options:!1,allow_browser_request:!0,retry_503_times:3,retry_503_ms:2e3,use_blob_over_arraybuffer:!1,allow_live_settings_reload:!0,allow_remote:!0,disable_keybind_when_editing:!0,enable_gm_download:!0,gm_download_max:15,enable_webextension_download:!1,enable_console_logging:!0,write_to_clipboard:!1,redirect:!0,redirect_video:!0,redirect_audio:!1,redirect_history:!0,redirect_extension:!0,canhead_get:!0,redirect_force_page:!1,redirect_enable_infobox:!0,redirect_infobox_url:!1,redirect_infobox_timeout:7,print_imu_obj:!1,redirect_disable_for_responseheader:!1,redirect_to_no_infobox:!1,redirect_host_html:!1,mouseover:!0,mouseover_open_behavior:"popup",mouseover_trigger_behavior:"keyboard",mouseover_trigger_key:["shift","alt","i"],mouseover_trigger_key_t2:[],mouseover_trigger_key_t3:[],mouseover_trigger_delay:1,mouseover_trigger_mouseover:!1,mouseover_trigger_enabledisable_toggle:"disable",mouseover_trigger_prevent_key:["shift"],mouseover_close_behavior:"esc",mouseover_close_need_mouseout:!0,mouseover_jitter_threshold:30,mouseover_cancel_popup_when_elout:!0,mouseover_cancel_popup_with_esc:!0,mouseover_cancel_popup_when_release:!0,mouseover_auto_close_popup:!1,mouseover_auto_close_popup_time:5,mouseover_hold_key:["i"],mouseover_hold_position_center:!1,popup_hold_zoom:"none",mouseover_hold_close_unhold:!1,mouseover_hold_unclickthrough:!0,mouseover_close_el_policy:"both",mouseover_close_click_outside:!1,mouseover_allow_partial:Zr?"media":"video",mouseover_partial_avoid_head:!1,mouseover_use_blob_over_data:!1,popup_use_anonymous_crossorigin:!1,mouseover_enable_notallowed:!0,mouseover_enable_notallowed_cant_load:!0,mouseover_notallowed_duration:300,mouseover_minimum_size:20,popup_maximum_source_size:0,mouseover_exclude_backgroundimages:!1,mouseover_exclude_page_bg:!0,mouseover_exclude_imagemaps:!0,mouseover_only_links:!1,mouseover_linked_image:!1,mouseover_exclude_sameimage:!1,mouseover_exclude_imagetab:!0,mouseover_allow_video:!0,mouseover_allow_audio:!1,mouseover_allow_hlsdash:!0,enable_stream_download:!1,stream_mux_mp4_over_mkv:!1,hls_dash_use_max:!0,max_video_quality:null,mouseover_video_autoplay:!0,mouseover_video_controls:!1,mouseover_video_controls_key:["c"],mouseover_video_loop:!0,mouseover_video_autoloop_max:0,mouseover_video_playpause_key:["space"],mouseover_video_muted:!1,mouseover_video_mute_key:["m"],mouseover_video_volume:100,mouseover_video_volume_down_key:["9"],mouseover_video_volume_up_key:["0"],mouseover_video_volume_change_amt:5,mouseover_video_resume_from_source:!1,mouseover_video_resume_if_different:!1,mouseover_video_pause_source:!0,mouseover_video_seek_amount:10,mouseover_video_seek_left_key:["shift","left"],mouseover_video_seek_right_key:["shift","right"],mouseover_video_frame_prev_key:[","],mouseover_video_frame_next_key:["."],mouseover_video_framerate:25,mouseover_video_speed_down_key:["["],mouseover_video_speed_up_key:["]"],mouseover_video_speed_amount:.25,mouseover_video_reset_speed_key:["backspace"],mouseover_video_screenshot_key:["shift","s"],popup_video_screenshot_format:"png",popup_enable_subtitles:!0,mouseover_ui:!0,mouseover_ui_toggle_key:["u"],mouseover_ui_opacity:80,mouseover_ui_use_safe_glyphs:!1,mouseover_ui_imagesize:!0,mouseover_ui_zoomlevel:!0,mouseover_ui_filesize:!1,mouseover_ui_gallerycounter:!0,mouseover_ui_gallerymax:50,mouseover_ui_gallerybtns:!0,mouseover_ui_closebtn:!0,mouseover_ui_optionsbtn:!!_e,mouseover_ui_downloadbtn:!1,mouseover_ui_rotationbtns:!1,mouseover_ui_caption:!0,mouseover_ui_wrap_caption:!0,mouseover_ui_caption_link_page:!0,mouseover_ui_link_underline:!0,mouseover_use_remote:!1,mouseover_zoom_behavior:"fit",mouseover_zoom_custom_percent:100,mouseover_zoom_use_last:"gallery",mouseover_zoom_max_width:0,mouseover_zoom_max_height:0,mouseover_pan_behavior:"drag",mouseover_movement_inverted:!0,mouseover_drag_min:5,mouseover_scrolly_behavior:"zoom",mouseover_scrolly_hold_behavior:"default",mouseover_scrollx_behavior:"gallery",mouseover_scrollx_hold_behavior:"default",mouseover_scrolly_video_behavior:"default",mouseover_scrolly_video_invert:!1,mouseover_scrollx_video_behavior:"default",scroll_override_page:!1,scroll_zoom_origin:"cursor",scroll_zoomout_pagemiddle:"never",scroll_zoom_behavior:"fitfull",scroll_incremental_mult:1.25,mouseover_move_with_cursor:!1,mouseover_move_within_page:!0,zoom_out_to_close:!1,scroll_past_gallery_end_to_close:!1,mouseover_position:"cursor",mouseover_prevent_cursor_overlap:!0,mouseover_overflow_position_center:!1,mouseover_overflow_origin:"a11",mouseover_add_link:!0,mouseover_add_video_link:!1,mouseover_click_image_close:!1,mouseover_click_video_close:!1,mouseover_download:!1,mouseover_hide_cursor:!1,mouseover_hide_cursor_after:0,mouseover_mouse_inactivity_jitter:5,mouseover_clickthrough:!1,mouseover_mask_ignore_clicks:!1,mouseover_links:!0,mouseover_only_valid_links:!0,mouseover_allow_self_pagelink:!1,mouseover_allow_iframe_el:!1,mouseover_allow_canvas_el:!1,mouseover_allow_svg_el:!1,mouseover_enable_gallery:!0,mouseover_gallery_cycle:!1,mouseover_gallery_prev_key:["left"],mouseover_gallery_next_key:["right"],mouseover_gallery_move_after_video:!1,mouseover_gallery_download_key:["shift","d"],gallery_download_method:"zip",gallery_download_unchanged:!0,gallery_zip_filename_format:"{host_domain_nosub}-{items_amt}-{download_unix}\n{items_amt}-{download_unix}",gallery_jd_autostart:!1,gallery_jd_referer:"domain",gallery_zip_add_tld:!0,gallery_zip_add_info_file:!0,mouseover_styles:"",mouseover_enable_fade:!0,mouseover_enable_zoom_effect:!1,mouseover_zoom_effect_move:!1,mouseover_fade_time:100,mouseover_enable_mask_styles2:"never",mouseover_mask_styles2:"background-color: rgba(0, 0, 0, 0.5)",mouseover_mask_fade_time:100,mouseover_ui_styles:"",mouseover_wait_use_el:!1,mouseover_add_to_history:!1,mouseover_add_thumbnail_to_history:!1,mouseover_close_key:["esc"],mouseover_download_key:[["s"],["ctrl","s"]],mouseover_open_new_tab_key:["o"],mouseover_open_bg_tab_key:["shift","o"],mouseover_copy_link_key:["shift","c"],mouseover_open_options_key:["p"],mouseover_open_orig_page_key:["n"],mouseover_rotate_left_key:["e"],mouseover_rotate_right_key:["r"],mouseover_flip_horizontal_key:["h"],mouseover_flip_vertical_key:["v"],mouseover_zoom_in_key:[["+"],["="],["shift","="]],mouseover_zoom_out_key:[["-"]],mouseover_zoom_full_key:["1"],mouseover_zoom_fit_key:["2"],mouseover_fullscreen_key:["f"],mouseover_apply_blacklist:!0,host_blacklist:"",host_blacklist_mode:"blacklist",apply_blacklist_host:!1,mouseover_matching_media_types:!1,mouseover_allow_popup_when_fullscreen:!1,mouseover_find_els_mode:"hybrid",popup_allow_cache:!0,popup_cache_duration:30,popup_cache_itemlimit:20,popup_cache_resume_video:!0,website_inject_imu:!0,website_image:!0,extension_contextmenu:!0,extension_hotreload:!0,allow_watermark:!1,allow_smaller:!1,allow_possibly_different:!1,allow_possibly_broken:!1,allow_possibly_upscaled:!1,allow_uncropped:!0,allow_thirdparty:!1,allow_apicalls:!0,allow_thirdparty_libs:!_e,custom_xhr_for_lib:!!Zr,bypass_csp_for_lib:!1,use_webarchive_for_lib:!1,lib_integrity_check:!0,allow_thirdparty_code:!1,allow_bruteforce:!1,allow_webarchive:!1,process_format:{},browser_cookies:!0,deviantart_prefer_size:!1,deviantart_support_download:!0,ehentai_full_image:!0,imgur_filename:!1,imgur_source:!1,instagram_use_app_api:!1,instagram_dont_use_web:!1,instagram_prefer_video_quality:!0,instagram_gallery_postlink:!1,snapchat_orig_media:!0,teddit_redirect_reddit:!0,tiktok_app_api:!1,tiktok_no_watermarks:!1,tiktok_thirdparty:null,tumblr_api_key:x("IHhyTXBMTThuMWVDZUwzb1JZU1pHN0NMQUx3NkVIaFlEZFU2V3E1ZUQxUGJNa2xkN1kx").substr(1),twitter_use_ext:!1,youtube_replace_n:!1,bigimage_blacklist:"",bigimage_blacklist_mode:"blacklist",bigimage_blacklist_engine:"glob",filename_format:"{author_username} {filename}",filename_replace_special_underscores:!0,replaceimgs_enable_keybinding:!1,replaceimgs_keybinding:["shift","alt","r"],replaceimgs_auto:!1,replaceimgs_replaceimgs:!0,replaceimgs_addlinks:!1,replaceimgs_replacelinks:!1,replaceimgs_plainlinks:"none",replaceimgs_links_newtab:!1,replaceimgs_size_constraints:"none",replaceimgs_usedata:!!_e,replaceimgs_wait_fullyloaded:!0,replaceimgs_totallimit:8,replaceimgs_domainlimit:2,replaceimgs_delay:0,replaceimgs_css:"",replaceimgs_simple_progress:!0,highlightimgs_enable_keybinding:!1,highlightimgs_keybinding:["shift","alt","h"],highlightimgs_enable:!1,highlightimgs_auto:"never",highlightimgs_onlysupported:!0,highlightimgs_css:"outline: 4px solid yellow",customgallery_enable_keybinding:!1,customgallery_keybinding:["shift","alt","g"],customgallery_enable_button:!1,customgallery_apply_key:["enter"],customgallery_bg_css:"background-color: rgba(0, 0, 0, 0.25)",customgallery_outline_css:"background-color: rgba(255, 0, 0, 0.25)\nborder: 2px solid red",last_update_check:0,last_update_version:null,last_update_url:null},Ye=["tumblr_api_key"],Ze={},fn=2,yi={imu_enabled:{name:"Enable extension",description:"Globally enables or disables the extension",category:"general",extension_only:!0,imu_enabled_exempt:!0},language:{name:"Language",description:"Language for this extension",category:"general",options:{_type:"combo",en:{name:"English",name_gettext:!1},es:{name:"Español",name_gettext:!1},fr:{name:"Français",name_gettext:!1},it:{name:"Italiano",name_gettext:!1},ko:{name:"한국어",name_gettext:!1},ru:{name:"Русский",name_gettext:!1},"zh-CN":{name:"简体中文",name_gettext:!1}},onedit:function(){En(hr)},imu_enabled_exempt:!0},dark_mode:{name:"Dark mode",description:"Changes the colors to have light text on a dark background",category:"general",onedit:dr,onupdate:dr,imu_enabled_exempt:!0},settings_visible_description:{name:"Description below options",description:"Shows the description below the options (otherwise the description is only shown when you hover over the option's name)",category:"general",subcategory:"settings",onedit:function(){En(hr)},imu_enabled_exempt:!0},settings_show_disabled:{name:"Show disabled options",description:"If disabled, options that are disabled due to their requirements being unmet will not be displayed",category:"general",subcategory:"settings",onedit:function(){En(hr)},imu_enabled_exempt:!0},settings_show_disabled_profiles:{name:"Show disabled trigger profiles",description:"If disabled, options for alternate trigger profiles (options with `(#2)` after them) will not be shown if the relevant trigger isn't active",category:"general",subcategory:"settings",requires:{settings_show_disabled:!0},onedit:function(){En(hr)},imu_enabled_exempt:!0},settings_show_requirements:{name:"Requirements below disabled options",description:"If an option is disabled, the requirements to enable the option will be displayed below it",category:"general",subcategory:"settings",onedit:function(){En(hr)},requires:{settings_show_disabled:!0},imu_enabled_exempt:!0},check_updates:{name:"Check for updates",description:"Periodically checks for updates. If a new update is available, it will be shown at the top of the options page",category:"general",subcategory:"update"},check_update_interval:{name:"Update check interval",description:"How often to check for updates",category:"general",subcategory:"update",requires:{check_updates:!0},type:"number",number_min:1,number_int:!0,number_unit:"hours"},check_update_notify:{name:"Notify when update is available",description:"Creates a browser notification when an update is available",category:"general",subcategory:"update",requires:{check_updates:!0},required_permission:"notifications"},advanced_options:{name:"Show advanced settings",description:"If disabled, settings that might be harder to understand will be hidden",category:"general",subcategory:"settings",onedit:function(){En(hr)},imu_enabled_exempt:!0},settings_tabs:{name:"Use tabs",description:"If disabled, all settings will be shown on a single page",category:"general",subcategory:"settings",onedit:function(){En(hr)},imu_enabled_exempt:!0},settings_alphabetical_order:{name:"Alphabetical order",description:"Lists options in alphabetical order",category:"general",subcategory:"settings",onedit:function(){En(hr)},imu_enabled_exempt:!0},allow_browser_request:{name:"Allow using browser XHR",description:"This allows XHR requests to be run in the browser's context if they fail in the extension (e.g. when Tracking Protection is set to High)",category:"general",imu_enabled_exempt:!0,advanced:!0},retry_503_times:{name:"Retry requests with 503 errors",description:"Amount of times to retry a request when 503 (service unavailable) is returned by the server",category:"general",type:"number",number_min:0,number_int:!0,number_unit:"times",imu_enabled_exempt:!0,advanced:!0},retry_503_ms:{name:"Delay between 503 retries",description:"Time (in milliseconds) to delay between retrying requests that received 503",category:"general",type:"number",number_min:0,number_int:!0,number_unit:"ms",imu_enabled_exempt:!0,advanced:!0},use_blob_over_arraybuffer:{name:"Use `Blob` over `ArrayBuffer`",description:"Uses `Blob`s for XHRs instead of `ArrayBuffer`s. Keep this enabled unless your userscript manager doesn't support blob requests",category:"general",imu_enabled_exempt:!0,advanced:!0,hidden:!0},allow_live_settings_reload:{name:"Live settings reloading",description:"Enables/disables live settings reloading. There shouldn't be a reason to disable this unless you're experiencing issues with this feature",category:"general",hidden:_e&&"undefined"==typeof GM_addValueChangeListener,imu_enabled_exempt:!0,advanced:!0},disable_keybind_when_editing:{name:"Disable keybindings when editing text",description:"Disables shortcuts when key events are sent to an input area on the page",category:"keybinds",imu_enabled_exempt:!0,advanced:!0},enable_gm_download:{name:"Use `GM_download` if available",description:"Prefers using `GM_download` over simple browser-based downloads, if the function is available. Some userscript managers download the entire file before displaying a save dialog, which can be undesirable for large video files",category:"general",userscript_only:!0,imu_enabled_exempt:!0,advanced:!0},gm_download_max:{name:"Maximum size to `GM_download`",description:"If a file is larger than this size, use a simple browser-based download instead. Set to `0` for unlimited.",category:"general",userscript_only:!0,imu_enabled_exempt:!0,requires:{enable_gm_download:!0},type:"number",number_min:0,number_unit:"MB",advanced:!0},enable_webextension_download:{name:"Force save dialog when downloading",description:"Tries to ensure the 'save as' dialog displays when downloading. This requires the 'downloads' permission to work, and will sometimes not work when custom headers are required.",category:"general",extension_only:!0,imu_enabled_exempt:!0,required_permission:"downloads"},enable_console_logging:{name:"Enable logging to console",description:"Allows the script to log messages to the browser console.",category:"general",imu_enabled_exempt:!0,advanced:!0},write_to_clipboard:{name:"Enable writing to clipboard",description:"This option does nothing on its own, but enabling it allows other functionality that require writing to the clipboard to work",category:"general",imu_enabled_exempt:!0,required_permission:"clipboardWrite"},redirect:{name:"Enable redirection",description:"Automatically redirect media opened in their own tab to their larger/original versions",category:"redirection"},redirect_video:{name:"Allow video",description:"Allows redirecting from/to video",requires:{redirect:!0},category:"redirection"},redirect_audio:{name:"Allow audio",description:"Allows redirecting from/to audio",requires:{redirect:!0},category:"redirection"},redirect_history:{name:"Add to history",description:"Redirection will add a new entry to the browser's history",requires:{redirect:!0},category:"redirection"},redirect_extension:{name:"Do redirection in extension",description:"Performs the redirection in the extension instead of the content script. This is significantly faster and shouldn't cause issues in theory, but this option is kept in case of regressions",requires:{redirect:!0},extension_only:!0,advanced:!0,category:"redirection"},canhead_get:{name:"Use GET if HEAD is unsupported",description:"Use a GET request to check an image's availability, if the server does not support HEAD requests",requires:{redirect:!0},category:"redirection",advanced:!0},redirect_force_page:{name:"Try finding extra information",description:"Enables methods that use API calls for finding extra information, such as the original page, caption, or album information. Note that this option does not affect finding the original media.",example_websites:["Flickr","SmugMug","..."],category:"rules"},redirect_enable_infobox:{name:"Enable tooltip",description:"Enables the 'Mouseover popup is needed to display the original version' tooltip",category:"redirection",requires:{redirect:!0},userscript_only:!0},redirect_infobox_url:{name:"Show image URL in tooltip",description:"If the popup is needed to display the larger version of an image, display the image link in the tooltip",category:"redirection",requires:{redirect:!0},userscript_only:!0},redirect_infobox_timeout:{name:"Hide tooltip after",description:"Hides the tooltip after the specified number of seconds (or when the mouse clicks on it). Set to 0 to never hide automatically",requires:{redirect:!0},type:"number",number_min:0,number_unit:"seconds",category:"redirection",userscript_only:!0},print_imu_obj:{name:"Log info object to console",description:"Prints the full info object to the console whenever a popup/redirect is found",category:"rules",requires:{enable_console_logging:!0},advanced:!0},redirect_disable_for_responseheader:{name:"Disable when response headers need modifying",description:"This option works around Chrome's migration to manifest v3, redirecting some images to being force-downloaded",extension_only:!0,hidden:!0,category:"redirection",advanced:!0},redirect_to_no_infobox:{name:"Redirect to largest without issues",description:"Redirects to the largest image found that doesn't require custom headers or forces download",userscript_only:!0,category:"redirection"},redirect_host_html:{name:"Redirect for HTML pages too",description:"Tries redirection even if the host page is HTML. This option might be useful for dead links. However, this will also result in many normal pages being redirected to images/video, so please avoid enabling this by default!",warning:{true:"This will result in many pages being redirected to images/videos.\nI'd recommend only enabling this for the media you need it for, then disabling it after."},category:"redirection",advanced:!0},mouseover:{name:"Enable mouseover popup",description:"Show a popup with the larger image when you mouseover an image with the trigger key held (if applicable)",category:"popup"},mouseover_open_behavior:{name:"Mouseover popup action",description:"Determines how the mouseover popup will open",profiled:!0,hidden:_e&&Se===gi.nullfunc,options:{_type:"combo",popup:{name:"Popup"},newtab:{name:"New tab"},newtab_bg:{name:"New background tab"},download:{name:"Download"},copylink:{name:"Copy link"},replace:{name:"Replace"}},requires:{mouseover:!0},category:"popup",subcategory:"open_behavior"},mouseover_trigger:{name:"Popup trigger",description:"Trigger key that, when held, will show the popup",options:{_type:"and",_group1:{_type:"and",ctrl:{name:"Ctrl"},shift:{name:"Shift"},alt:{name:"Alt"}},_group2:{_type:"or",delay_1:{name:"Delay 1s"},delay_3:{name:"Delay 3s"}}},requires:{mouseover:!0},category:"popup",subcategory:"trigger"},mouseover_trigger_behavior:{name:"Mouseover popup trigger",description:"How the popup will get triggered",options:{_group1:{mouse:{name:"Mouseover",description:"Triggers when your mouse is over the image"}},_group2:{keyboard:{name:"Key trigger",description:"Triggers when you press a key sequence when your mouse is over an image"}},_group3:{none:{name:"None",description:"Disables the popup from being triggered (useful if you only want to use the context menu item)",extension_only:!0}}},requires:{mouseover:!0},category:"popup",subcategory:"trigger"},mouseover_trigger_key:{name:"Popup trigger key",description:"Key sequence to trigger the popup",type:"keysequence",requires:{mouseover:!0,mouseover_trigger_behavior:"keyboard"},category:"popup",subcategory:"trigger"},mouseover_trigger_key_t2:{name:"Popup trigger key (#2)",description:"Key sequence to trigger the popup with alternate options. Search for `(#2)` to find the relevant options",type:"keysequence",keyseq_allow_none:!0,requires:{mouseover:!0,mouseover_trigger_behavior:"keyboard"},category:"popup",subcategory:"trigger"},mouseover_trigger_key_t3:{name:"Popup trigger key (#3)",description:"Key sequence to trigger the popup with alternate options. Search for `(#3)` to find the relevant options",type:"keysequence",keyseq_allow_none:!0,requires:{mouseover:!0,mouseover_trigger_behavior:"keyboard"},category:"popup",subcategory:"trigger"},mouseover_trigger_delay:{name:"Popup trigger delay",description:"Delay (in seconds) before the popup shows",requires:{mouseover:!0,mouseover_trigger_behavior:"mouse"},type:"number",number_min:0,number_unit:"seconds",category:"popup",subcategory:"trigger"},mouseover_trigger_mouseover:{name:"Use mouseover event",description:"Uses the mouseover event instead of mousemove to figure out where to trigger the popup. This more closely matches the way other image popup addons work, at the cost of configurability",requires:{mouseover_trigger_behavior:"mouse"},advanced:!0,category:"popup",subcategory:"trigger"},mouseover_trigger_enabledisable_toggle:{name:"Enable/disable toggle",description:"Controls whether the 'Popup enable/disable key' will enable or disable the popup from opening",options:{enable:{name:"Enable"},disable:{name:"Disable"}},requires:{mouseover_trigger_behavior:"mouse"},category:"popup",subcategory:"trigger"},mouseover_trigger_prevent_key:{name:"Popup enable/disable key",description:"Holding down this key will enable or disable the popup from being opened, depending on the 'Enable/disable toggle' setting",requires:{mouseover:!0,mouseover_trigger_behavior:"mouse"},type:"keysequence",category:"popup",subcategory:"trigger"},mouseover_allow_partial:{name:"Allow showing partially loaded",description:"This will allow the popup to open for partially loaded media.\nPartially loaded media will contain the source URL directly (where possible), whereas fully loaded media will use a blob or data URL.",description_userscript:"This will allow the popup to open for partially loaded media, but this might break images that require custom headers to display properly.\nPartially loaded media will contain the source URL directly (where possible), whereas fully loaded media will use a blob or data URL.",requires:"action:popup",options:{_type:"or",video:{name:"Streams",description:"Audio and video"},media:{name:"Media",description:"Images, audio, and video"},none:{name:"None"}},category:"popup",subcategory:"open_behavior"},mouseover_partial_avoid_head:{name:"Avoid HEAD request for partially loaded media",description:"Avoids a possibly unnecessary HEAD request before displaying partially loaded images, which further decreases the delay before opening the popup. This can cause issues if the server returns an error, but still returns an image",requires:[{mouseover_allow_partial:"video"},{mouseover_allow_partial:"media"}],category:"popup",subcategory:"open_behavior",advanced:!0},mouseover_use_blob_over_data:{name:"Use `blob:` over `data:` URLs",description:"Blob URLs are more efficient, but aren't supported by earlier browsers. Some websites also block `blob:` URLs",requires:"action:popup",category:"popup",subcategory:"open_behavior",advanced:!0},popup_use_anonymous_crossorigin:{name:"Load media anonymously",description:"Loads the media without sending any cookies or other forms of credentials. This is required to screenshot videos from other sources",requires:"action:popup",category:"popup",subcategory:"open_behavior",advanced:!0},mouseover_use_fully_loaded_image:{name:"Wait until image is fully loaded",description:"Wait until the image has fully loaded before displaying it",requires:"action:popup",category:"popup",subcategory:"open_behavior"},mouseover_use_fully_loaded_video:{name:"Wait until video is fully loaded",description:"Wait until the video has fully loaded before displaying it (this may significantly increase memory usage with larger videos)",requires:"action:popup",category:"popup",subcategory:"open_behavior"},mouseover_enable_notallowed:{name:"Use `not-allowed` cursor when unsupported",description:"If the image isn't supported, the mouse cursor will change to a `not-allowed` cursor for a brief duration",requires:{mouseover_trigger_behavior:"keyboard"},category:"popup",subcategory:"open_behavior"},mouseover_enable_notallowed_cant_load:{name:"Use `not-allowed` cursor when unable to load",description:"If the image fails to load, the mouse cursor will change to a `not-allowed` cursor for a brief duration",category:"popup",subcategory:"open_behavior"},mouseover_notallowed_duration:{name:"`not-allowed` cursor duration",description:"How long the `not-allowed` cursor should last",requires:[{mouseover_enable_notallowed:!0},{mouseover_enable_notallowed_cant_load:!0}],type:"number",number_min:0,number_int:!0,number_unit:"ms",advanced:!0,category:"popup",subcategory:"open_behavior"},mouseover_exclude_page_bg:{name:"Exclude page background",description:"Excludes the page background for the popup",requires:{mouseover:!0,mouseover_exclude_backgroundimages:!1},profiled:!0,category:"popup",subcategory:"source"},mouseover_minimum_size:{name:"Minimum size",description:"Smallest size acceptable for the popup to open (this option is ignored for background images). This refers to the size of the media to be popped up, which may differ from the source media.",requires:{mouseover:!0},profiled:!0,type:"number",number_min:0,number_unit:"pixels",category:"popup",subcategory:"source"},popup_maximum_source_size:{name:"Maximum source size",description:"Maximum size (width/height) for the source media to allow popping up (this option is ignored for background images). Set to `0` for any size.",requires:{mouseover:!0},profiled:!0,type:"number",number_min:0,number_unit:"pixels",category:"popup",subcategory:"source"},mouseover_exclude_backgroundimages:{name:"Exclude `background-image`s",description:"Excludes `background-image`s for the popup. Might prevent the popup from working on many images",requires:{mouseover:!0},profiled:!0,disabled_if:{mouseover_trigger_mouseover:!0},category:"popup",subcategory:"source"},mouseover_exclude_imagetab:{name:"Exclude image tabs",description:"Excludes images that are opened in their own tabs",requires:{mouseover:!0,mouseover_trigger_behavior:"mouse"},category:"popup",subcategory:"source"},mouseover_exclude_sameimage:{name:"Exclude if media URL is unchanged",description:"Don't pop up if the new URL is the same as the source",requires:{mouseover:!0},category:"popup",subcategory:"source"},mouseover_only_links:{name:"Only popup for linked media",description:"Don't pop up if the media isn't hyperlinked",requires:{mouseover:!0},category:"popup",subcategory:"source"},mouseover_linked_image:{name:"Popup link for linked media",description:"If the linked media cannot be made larger, pop up for the link instead of the media",requires:{mouseover:!0},category:"popup",subcategory:"source"},mouseover_exclude_imagemaps:{name:"Exclude image maps",description:"Don't pop up if the image is an image map (image with multiple clickable areas)",requires:{mouseover:!0},category:"popup",subcategory:"source"},mouseover_video_autoplay:{name:"Autoplay",description:"Play automatically once the popup is opened",requires:{_condition:"action:popup",mouseover_allow_video:!0},category:"popup",subcategory:"video"},mouseover_video_controls:{name:"Show video controls",description:"Shows native video controls. Note that this prevents dragging under Firefox",requires:{_condition:"action:popup",mouseover_allow_video:!0},category:"popup",subcategory:"video"},mouseover_video_controls_key:{name:"Toggle video controls",description:"Key to toggle whether the video controls are shown",requires:{_condition:"action:popup",mouseover_allow_video:!0},type:"keysequence",category:"keybinds",subcategory:"video"},mouseover_video_loop:{name:"Loop",description:"Allows the media to automatically restart to the beginning after finishing playing",requires:{_condition:"action:popup",mouseover_allow_video:!0},disabled_if:{mouseover_gallery_move_after_video:!0},category:"popup",subcategory:"video"},mouseover_video_autoloop_max:{name:"Max duration for looping",description:"Media longer than the specified duration will not be automatically looped. Setting this to `0` will always enable looping, regardless of duration.",requires:{mouseover_video_loop:!0},type:"number",number_min:0,number_unit:"seconds",category:"popup",subcategory:"video"},mouseover_video_playpause_key:{name:"Play/pause key",description:"Key to toggle whether the media is playing or paused",requires:{_condition:"action:popup",mouseover_allow_video:!0},type:"keysequence",category:"keybinds",subcategory:"video"},mouseover_video_muted:{name:"Mute",description:"Mutes the media by default",requires:{_condition:"action:popup",mouseover_allow_video:!0},category:"popup",subcategory:"video"},mouseover_video_mute_key:{name:"Toggle mute key",description:"Key to toggle mute",requires:{_condition:"action:popup",mouseover_allow_video:!0},type:"keysequence",category:"keybinds",subcategory:"video"},mouseover_video_volume:{name:"Default volume",description:"Default volume for the media",requires:{_condition:"action:popup",mouseover_allow_video:!0},type:"number",number_min:0,number_max:100,number_int:!0,number_unit:"%",category:"popup",subcategory:"video"},mouseover_video_volume_up_key:{name:"Volume up key",description:"Key to increase the volume",requires:{_condition:"action:popup",mouseover_allow_video:!0},type:"keysequence",category:"keybinds",subcategory:"video"},mouseover_video_volume_down_key:{name:"Volume down key",description:"Key to decrease the volume",requires:{_condition:"action:popup",mouseover_allow_video:!0},type:"keysequence",category:"keybinds",subcategory:"video"},mouseover_video_volume_change_amt:{name:"Volume change amount",description:"Percent for volume to increase/decrease when using the volume up/down keys",requires:{_condition:"action:popup",mouseover_allow_video:!0},type:"number",number_min:0,number_max:100,number_int:!0,number_unit:"%",category:"popup",subcategory:"video"},mouseover_video_resume_from_source:{name:"Resume playback from source",description:"If enabled, playback will resume from where the source left off",requires:{_condition:"action:popup",mouseover_allow_video:!0},category:"popup",subcategory:"video"},mouseover_video_resume_if_different:{name:"Resume if different length",description:"If disabled, it will not resume if the source has a different length from the media in the popup (e.g. from a preview video to a full one)",requires:{mouseover_video_resume_from_source:!0},category:"popup",subcategory:"video"},mouseover_video_pause_source:{name:"Pause source",description:"Pauses the source once the popup has opened",requires:{_condition:"action:popup",mouseover_allow_video:!0},category:"popup",subcategory:"video"},mouseover_video_seek_amount:{name:"Seek amount",description:"Amount of time to seek forward/back when using the seek keys",requires:{_condition:"action:popup",mouseover_allow_video:!0},type:"number",number_min:0,number_unit:"seconds",category:"popup",subcategory:"video"},mouseover_video_seek_left_key:{name:"Seek left key",description:"Key to seek backwards by the specified amount",requires:{_condition:"action:popup",mouseover_allow_video:!0},type:"keysequence",category:"keybinds",subcategory:"video"},mouseover_video_seek_right_key:{name:"Seek right key",description:"Key to seek forwards by the specified amount",requires:{_condition:"action:popup",mouseover_allow_video:!0},type:"keysequence",category:"keybinds",subcategory:"video"},mouseover_video_seek_vertical_scroll:{name:"Vertical scroll seeks",description:"Scrolling vertically will seek forward/backward",requires:{_condition:"action:popup",mouseover_allow_video:!0},category:"popup",subcategory:"video"},mouseover_video_seek_horizontal_scroll:{name:"Horizontal scroll seeks",description:"Scrolling horizontally will seek forward/backward",requires:{_condition:"action:popup",mouseover_allow_video:!0},category:"popup",subcategory:"video"},mouseover_video_frame_prev_key:{name:"Previous frame key",description:'Rewinds the video one "frame" backward. Due to current limitations, the frame size is static (but configurable), and might not match the video\'s framerate',requires:{_condition:"action:popup",mouseover_allow_video:!0},type:"keysequence",category:"keybinds",subcategory:"video"},mouseover_video_frame_next_key:{name:"Next frame key",description:'Advances the video one "frame" forward. Due to current limitations, the frame size is static (but configurable), and might not match the video\'s framerate',requires:{_condition:"action:popup",mouseover_allow_video:!0},type:"keysequence",category:"keybinds",subcategory:"video"},mouseover_video_framerate:{name:"Frame rate",description:"Frame rate for videos to seek forward/back with the next/previous frame keys",requires:{_condition:"action:popup",mouseover_allow_video:!0},type:"number",number_min:0,number_unit:"FPS",category:"popup",subcategory:"video"},mouseover_video_speed_down_key:{name:"Speed down key",description:"Key to decrease playback rate by a specified amount",requires:{_condition:"action:popup",mouseover_allow_video:!0},type:"keysequence",category:"keybinds",subcategory:"video"},mouseover_video_speed_up_key:{name:"Speed up key",description:"Key to increase playback rate by a specified amount",requires:{_condition:"action:popup",mouseover_allow_video:!0},type:"keysequence",category:"keybinds",subcategory:"video"},mouseover_video_speed_amount:{name:"Speed up/down amount",description:"How much to increase/decrease the playback rate",requires:{_condition:"action:popup",mouseover_allow_video:!0},type:"number",number_min:0,number_unit:"x",category:"popup",subcategory:"video"},mouseover_video_reset_speed_key:{name:"Reset speed key",description:"Resets the playback rate to normal speed",requires:{_condition:"action:popup",mouseover_allow_video:!0},type:"keysequence",category:"keybinds",subcategory:"video"},mouseover_video_screenshot_key:{name:"Screenshot key",description:"Screenshots the current frame in the video",requires:{_condition:"action:popup",mouseover_allow_video:!0},type:"keysequence",category:"keybinds",subcategory:"video"},popup_video_screenshot_format:{name:"Screenshot format",description:"File format to save the screenshot in",requires:{_condition:"action:popup",mouseover_allow_video:!0},options:{_type:"or",png:{name:"PNG"},jpg:{name:"JPG"}},category:"popup",subcategory:"video"},popup_enable_subtitles:{name:"Enable subtitles",description:"Enables subtitles to be overlayed on top of the video",requires:{_condition:"action:popup",mouseover_allow_video:!0},category:"popup",subcategory:"video"},mouseover_ui:{name:"Popup UI",description:"Enables a UI on top of the popup",requires:"action:popup",category:"popup",subcategory:"ui"},mouseover_ui_toggle_key:{name:"UI Toggle key",description:"Toggles the display of the UI",type:"keysequence",requires:"action:popup",category:"keybinds",subcategory:"popup"},mouseover_ui_opacity:{name:"Opacity",description:"Opacity of the UI on top of the popup",requires:{mouseover_ui:!0},type:"number",number_unit:"%",number_max:100,number_min:0,number_int:!0,category:"popup",subcategory:"ui"},mouseover_ui_use_safe_glyphs:{name:"Use safe glyphs",description:"Uses glyphs that are more likely to be available on all fonts. Enable this option if the following characters render as boxes: 🡇 🡐 🡒. The 'Noto Sans Symbols2' font contains these characters.",requires:{mouseover_ui:!0},category:"popup",subcategory:"ui"},mouseover_ui_imagesize:{name:"Media resolution",description:"Displays the original media dimensions on top of the UI.\nCSS ID: `#sizeinfo`",requires:{mouseover_ui:!0},category:"popup",subcategory:"ui"},mouseover_ui_zoomlevel:{name:"Zoom percent",description:"Displays the current zoom level on top of the UI.\nCSS ID: `#sizeinfo`",requires:{mouseover_ui:!0},category:"popup",subcategory:"ui"},mouseover_ui_filesize:{name:"File size",description:"Displays the media's file size on top of the UI. For the moment, this will not work with partially loaded media if 'Avoid HEAD request for partially loaded media' is enabled.\nCSS ID: `#sizeinfo`",requires:{mouseover_ui:!0},category:"popup",subcategory:"ui"},mouseover_ui_gallerycounter:{name:"Gallery counter",description:"Enables a gallery counter on top of the UI.\nCSS ID: `#gallerycounter`",requires:{mouseover_ui:!0,mouseover_enable_gallery:!0},category:"popup",subcategory:"ui"},mouseover_ui_gallerymax:{name:"Gallery counter max",description:"Maximum amount of images to check in the counter (this can be slightly CPU-intensive)",requires:{mouseover_ui_gallerycounter:!0,mouseover_enable_gallery:!0},type:"number",number_min:0,number_unit:"images",category:"popup",subcategory:"ui"},mouseover_ui_gallerybtns:{name:"Gallery buttons",description:"Enables buttons to go left/right in the gallery.\nCSS IDs: `#galleryprevbtn`, `#gallerynextbtn`",requires:{mouseover_ui:!0,mouseover_enable_gallery:!0},category:"popup",subcategory:"ui"},mouseover_ui_closebtn:{name:"Close Button",description:"Enables a button to close the popup.\nCSS ID: `#closebtn`",requires:{mouseover_ui:!0},category:"popup",subcategory:"ui"},mouseover_ui_optionsbtn:{name:"Options Button",description:"Enables a button to go to this page.\nCSS ID: `#optionsbtn`",requires:{mouseover_ui:!0},userscript_only:!0,category:"popup",subcategory:"ui"},mouseover_ui_downloadbtn:{name:"Download Button",description:"Enables a button to download the image.\nCSS ID: `#downloadbtn`",requires:{mouseover_ui:!0},category:"popup",subcategory:"ui"},mouseover_ui_rotationbtns:{name:"Rotation Buttons",description:"Enables buttons on the UI to rotate the image by 90 degrees.\nCSS IDs: `#rotleftbtn`, `#rotrightbtn`",requires:{mouseover_ui:!0},category:"popup",subcategory:"ui"},mouseover_ui_caption:{name:"Caption",description:"Shows the image's caption (if available) at the top.\nCSS ID: `#caption`",requires:{mouseover_ui:!0},category:"popup",subcategory:"ui"},mouseover_ui_wrap_caption:{name:"Wrap caption text",description:"Wraps the caption if it's too long",requires:{mouseover_ui_caption:!0},category:"popup",subcategory:"ui"},mouseover_ui_caption_link_page:{name:"Link original page in caption",description:"Links the original page (if it exists) in the caption",requires:{mouseover_ui_caption:!0},category:"popup",subcategory:"ui"},mouseover_ui_link_underline:{name:"Underline links",description:"Adds an underline to links (such as the original page)",requires:{mouseover_ui:!0},category:"popup",subcategory:"ui"},mouseover_close_behavior:{name:"Keep popup open until",description:"Closes the popup when the selected condition is met",options:{_type:"or",_group1:{any:{name:"Any trigger is released"}},_group2:{all:{name:"All triggers are released"}},_group3:{esc:{name:"ESC/Close is pressed"}}},requires:{_condition:"action:popup",mouseover_trigger_behavior:"keyboard"},category:"popup",subcategory:"close_behavior"},mouseover_close_need_mouseout:{name:"Don't close until mouse leaves",description:"If true, this keeps the popup open even if all triggers are released if the mouse is still over the image",requires:[{mouseover_close_behavior:"any"},{mouseover_close_behavior:"all"}],category:"popup",subcategory:"close_behavior"},mouseover_jitter_threshold:{name:"Threshold to leave image",description:"How many pixels outside of the image before the cursor is considered to have left the image",requires:[{_condition:"action:popup",mouseover_close_need_mouseout:!0},{_condition:"action:popup",mouseover_trigger_behavior:"mouse"}],type:"number",number_unit:"pixels",category:"popup",subcategory:"close_behavior"},mouseover_cancel_popup_when_elout:{name:"Leaving thumbnail cancels loading",description:"Cancels the current popup loading when the cursor has left the thumbnail image",requires:{mouseover:!0,mouseover_trigger_behavior:"mouse"},category:"popup",subcategory:"close_behavior"},mouseover_cancel_popup_with_esc:{name:"ESC cancels loading",description:"Cancels the current popup loading if ESC is pressed",requires:{mouseover:!0},category:"popup",subcategory:"close_behavior"},mouseover_cancel_popup_when_release:{name:"Releasing triggers cancels loading",description:'Cancels the current popup loading if all/any triggers are released (as set by the "Keep popup open until" setting)',requires:[{mouseover_close_behavior:"any"},{mouseover_close_behavior:"all"}],category:"popup",subcategory:"close_behavior"},mouseover_auto_close_popup:{name:"Automatically close after timeout",description:"Closes the popup automatically after a specified period of time has elapsed",requires:"action:popup",category:"popup",subcategory:"close_behavior"},mouseover_auto_close_popup_time:{name:"Timeout to close popup",description:"Amount of time to elapse before automatically closing the popup",requires:{mouseover_auto_close_popup:!0},type:"number",number_min:0,number_unit:"seconds",category:"popup",subcategory:"close_behavior"},mouseover_use_hold_key:{name:"Use hold key",description:"Enables the use of a hold key that, when pressed, will keep the popup open",requires:[{_condition:"action:popup",mouseover_trigger_behavior:"mouse"},{_condition:"action:popup",mouseover_auto_close_popup:!0},{_condition:"action:popup",mouseover_close_need_mouseout:!0}],category:"popup",subcategory:"close_behavior"},mouseover_hold_key:{name:"Hold key",description:"Hold key that, when pressed, will keep the popup open",requires:"action:popup",type:"keysequence",category:"keybinds",subcategory:"popup"},mouseover_hold_position_center:{name:"Center popup on hold",description:"Centers the popup to the middle of the page when the popup is held",requires:"action:popup",category:"popup",subcategory:"close_behavior"},popup_hold_zoom:{name:"Override zoom on hold",description:"Overrides the zoom when the popup is held",options:{_type:"combo",none:{name:"None"},fit:{name:"Fit to screen"},fill:{name:"Fill screen"},full:{name:"Full size"}},requires:"action:popup",category:"popup",subcategory:"close_behavior"},mouseover_hold_close_unhold:{name:"Close popup on unhold",description:"Closes the popup when the hold key is pressed again, after having previously held the popup",requires:"action:popup",category:"popup",subcategory:"close_behavior"},mouseover_hold_unclickthrough:{name:"Enable pointer events on hold",description:"Enables previously disabled pointer events when the popup is held",requires:{_condition:"action:popup",mouseover_clickthrough:!0},category:"popup",subcategory:"close_behavior"},mouseover_close_on_leave_el:{name:"Close when leaving thumbnail",description:"Closes the popup when the mouse leaves the thumbnail element (won't close if the mouse instead moves to the popup)",requires:{_condition:"action:popup",mouseover_trigger_behavior:"mouse",mouseover_position:"beside_cursor"},category:"popup",subcategory:"close_behavior"},mouseover_close_click_outside:{name:"Clicking outside the popup closes",description:"Closes the popup when the mouse clicks outside of it",requires:"action:popup",category:"popup",subcategory:"close_behavior"},mouseover_close_el_policy:{name:"Close when leaving",description:"Closes the popup when the mouse leaves the thumbnail element, the popup, or both",requires:[{_condition:"action:popup",mouseover_trigger_behavior:"mouse"},{_condition:"action:popup",mouseover_trigger_behavior:"keyboard",mouseover_close_need_mouseout:!0}],options:{_type:"combo",thumbnail:{name:"Thumbnail"},popup:{name:"Popup"},both:{name:"Both"}},category:"popup",subcategory:"close_behavior"},mouseover_wait_use_el:{name:"Use invisible element when waiting",description:"Creates an invisible element under the cursor when waiting for the popup instead of a style element (can improve performance on websites with many elements, but prevents the cursor from clicking anything while loading the popup)",requires:{mouseover:!0},category:"popup",subcategory:"popup_other",advanced:!0},mouseover_add_to_history:{name:"Add popup link to history",description:"Adds the image/video link opened through the popup to the browser's history",requires:{mouseover:!0},category:"popup",subcategory:"popup_other",required_permission:"history",extension_only:!0},mouseover_add_thumbnail_to_history:{name:"Add thumbnail link to history",description:"Adds the original media link opened through the popup to the browser's history",requires:{mouseover:!0},category:"popup",subcategory:"popup_other",required_permission:"history",extension_only:!0},allow_remote:{name:"Allow inter-frame communication",description:"Allows communication between frames in windows, improving support for keybindings",description_userscript:"Allows communication between frames in windows, improving support for keybindings. Can pose a fingerprinting risk when used through the userscript",requires:{mouseover:!0},category:"general",advanced:!_e},mouseover_use_remote:{name:"Pop out of frames",description:"Opens the popup on the top frame instead of within iframes. This option is still experimental.",requires:{_condition:"action:popup",allow_remote:!0},category:"popup",subcategory:"open_behavior"},mouseover_zoom_behavior:{name:"Popup default zoom",description:"How the popup should be initially sized",options:{_type:"combo",fit:{name:"Fit to screen"},fill:{name:"Fill screen"},full:{name:"Full size"},custom:{name:"Custom size"}},requires:"action:popup",category:"popup",subcategory:"open_behavior"},mouseover_zoom_custom_percent:{name:"Custom zoom percent",description:"Custom percent to initially size the popup",type:"number",number_min:0,number_unit:"%",requires:{mouseover_zoom_behavior:"custom"},category:"popup",subcategory:"open_behavior"},mouseover_zoom_use_last:{name:"Use last zoom",description:"Use the last popup's zoom. Note that this is per-page.",options:{_type:"combo",always:{name:"Always"},gallery:{name:"Gallery"},never:{name:"Never"}},requires:"action:popup",category:"popup",subcategory:"open_behavior"},mouseover_zoom_max_width:{name:"Maximum width",description:"Maximum width for the initial popup size. Set to `0` for unlimited.",type:"number",number_min:0,number_unit:"px",requires:"action:popup",category:"popup",subcategory:"open_behavior"},mouseover_zoom_max_height:{name:"Maximum height",description:"Maximum height for the initial popup size. Set to `0` for unlimited.",type:"number",number_min:0,number_unit:"px",requires:"action:popup",category:"popup",subcategory:"open_behavior"},mouseover_pan_behavior:{name:"Popup panning method",description:"How the popup should be panned when larger than the screen",options:{_type:"or",movement:{name:"Movement",description:"The popup pans as you move your mouse"},drag:{name:"Drag",description:"Clicking and dragging pans the popup"}},requires:"action:popup",category:"popup",subcategory:"behavior"},mouseover_movement_inverted:{name:"Invert movement",description:"Inverts the movement of the mouse. For example, if the mouse moves left, the popup moves right. If disabled, it feels more like the popup is being invisibly dragged.",requires:{mouseover_pan_behavior:"movement"},advanced:!0,category:"popup",subcategory:"behavior"},mouseover_drag_min:{name:"Minimum drag amount",description:"How many pixels the mouse should move to start a drag",type:"number",number_min:0,number_int:!0,number_unit:"pixels",requires:{mouseover_pan_behavior:"drag"},category:"popup",subcategory:"behavior"},mouseover_scrolly_behavior:{name:"Vertical scroll action",description:"How the popup reacts to a vertical scroll/mouse wheel event",options:{_type:"combo",zoom:{name:"Zoom"},pan:{name:"Pan"},gallery:{name:"Gallery",requires:[{mouseover_enable_gallery:!0}]},nothing:{name:"None"}},requires:"action:popup",category:"popup",subcategory:"behavior"},mouseover_scrolly_hold_behavior:{name:"Vertical scroll action (hold)",description:"How the popup (when held) reacts to a vertical scroll/mouse wheel event",options:{_type:"combo",default:{name:"Default"},zoom:{name:"Zoom"},pan:{name:"Pan"},gallery:{name:"Gallery",requires:[{mouseover_enable_gallery:!0}]},nothing:{name:"None"}},requires:"action:popup",category:"popup",subcategory:"behavior"},mouseover_scrollx_behavior:{name:"Horizontal scroll action",description:"How the popup reacts to a horizontal scroll/mouse wheel event",options:{_type:"combo",pan:{name:"Pan"},gallery:{name:"Gallery",requires:[{mouseover_enable_gallery:!0}]},nothing:{name:"None"}},requires:"action:popup",category:"popup",subcategory:"behavior"},mouseover_scrollx_hold_behavior:{name:"Horizontal scroll action (hold)",description:"How the popup (when held) reacts to a horizontal scroll/mouse wheel event",options:{_type:"combo",default:{name:"Default"},pan:{name:"Pan"},gallery:{name:"Gallery",requires:[{mouseover_enable_gallery:!0}]},nothing:{name:"None"}},requires:"action:popup",category:"popup",subcategory:"behavior"},mouseover_scrolly_video_behavior:{name:"Vertical video scroll action",description:"Overrides the vertical scroll action for videos. Set to `Default` to avoid overriding the behavior.",options:{_type:"combo",default:{name:"Default"},seek:{name:"Seek"},nothing:{name:"None"}},requires:"action:popup",category:"popup",subcategory:"behavior"},mouseover_scrolly_video_invert:{name:"Invert vertical scroll seek",description:"Inverts the seek direction when scrolling vertically: Scrolling up will seek right, scrolling down will seek left.",requires:{mouseover_scrolly_video_behavior:"seek"},category:"popup",subcategory:"behavior"},mouseover_scrollx_video_behavior:{name:"Horizontal video scroll action",description:"Overrides the horizontal scroll action for videos. Set to `Default` to avoid overriding the behavior.",options:{_type:"combo",default:{name:"Default"},seek:{name:"Seek"},nothing:{name:"None"}},requires:"action:popup",category:"popup",subcategory:"behavior"},scroll_override_page:{name:"Override scroll outside of popup",description:"Scrolling outside of the popup will also be overriden by the script",requires:"action:popup",category:"popup",subcategory:"behavior"},scroll_zoom_origin:{name:"Zoom origin",description:"The point on the image it's zoomed in/out from",options:{_type:"or",cursor:{name:"Cursor"},center:{name:"Center"}},requires:[{mouseover_scrollx_behavior:"zoom"},{mouseover_scrollx_hold_behavior:"zoom"},{mouseover_scrolly_behavior:"zoom"},{mouseover_scrolly_hold_behavior:"zoom"}],category:"popup",subcategory:"behavior"},scroll_zoomout_pagemiddle:{name:"Zoom out towards page middle",description:'Sets the origin when zooming out to the page middle, overriding the "Zoom Origin" option above.',options:{_type:"combo",always:{name:"Always"},viewport:{name:"Within viewport"},never:{name:"Never"}},requires:[{mouseover_scrollx_behavior:"zoom"},{mouseover_scrollx_hold_behavior:"zoom"},{mouseover_scrolly_behavior:"zoom"},{mouseover_scrolly_hold_behavior:"zoom"}],category:"popup",subcategory:"behavior"},scroll_zoom_behavior:{name:"Zoom behavior",description:"How zooming should work",options:{_type:"or",fitfull:{name:"Fit/Full",description:"Toggles between the full size, and fit-to-screen"},incremental:{name:"Incremental"}},requires:[{mouseover_scrollx_behavior:"zoom"},{mouseover_scrollx_hold_behavior:"zoom"},{mouseover_scrolly_behavior:"zoom"},{mouseover_scrolly_hold_behavior:"zoom"}],category:"popup",subcategory:"behavior"},scroll_incremental_mult:{name:"Incremental zoom multiplier",description:"How much to zoom in/out by (for incremental zooming)",type:"number",number_min:1,number_unit:"x",category:"popup",subcategory:"behavior"},mouseover_move_with_cursor:{name:"Move with cursor",description:"Moves the popup as the cursor moves",requires:"action:popup",category:"popup",subcategory:"behavior"},mouseover_move_within_page:{name:"Move within page",description:"Ensures the popup doesn't leave the page",requires:{mouseover_move_with_cursor:!0},category:"popup",subcategory:"behavior"},zoom_out_to_close:{name:"Zoom out fully to close",description:"Closes the popup if you zoom out past the minimum zoom",requires:[{mouseover_scrollx_behavior:"zoom"},{mouseover_scrollx_hold_behavior:"zoom"},{mouseover_scrolly_behavior:"zoom"},{mouseover_scrolly_hold_behavior:"zoom"}],category:"popup",subcategory:"close_behavior"},scroll_past_gallery_end_to_close:{name:"Scroll past gallery end to close",description:"Closes the popup if you scroll past the end of the gallery",requires:[{mouseover_scrollx_behavior:"gallery"},{mouseover_scrollx_hold_behavior:"gallery"},{mouseover_scrolly_behavior:"gallery"},{mouseover_scrolly_hold_behavior:"gallery"}],category:"popup",subcategory:"close_behavior"},mouseover_position:{name:"Popup position",description:"Where the popup will appear",options:{_type:"or",_group1:{cursor:{name:"Cursor middle",description:"Underneath the mouse cursor"}},_group2:{beside_cursor:{name:"Beside cursor"}},_group3:{center:{name:"Page middle"}}},requires:"action:popup",category:"popup",subcategory:"open_behavior"},mouseover_prevent_cursor_overlap:{name:"Prevent cursor overlap",description:"Prevents the image from overlapping with the cursor",requires:{mouseover_position:"beside_cursor"},hidden:!0,category:"popup",subcategory:"open_behavior"},mouseover_overflow_position_center:{name:"Center popup on overflow",description:"Centers the popup if its initial size overflows",requires:"action:popup",category:"popup",subcategory:"open_behavior"},mouseover_overflow_origin:{name:"Overflow origin",description:"Where the popup will appear in the page if its initial size overflows",requires:[{mouseover_position:"center"},{mouseover_overflow_position_center:!0},{mouseover_hold_position_center:!0}],options:{_type:"or",_group1:{a00:{name:""},a10:{name:""},a20:{name:""}},_group2:{a01:{name:""},a11:{name:""},a21:{name:""}},_group3:{a02:{name:""},a12:{name:""},a22:{name:""}}},category:"popup",subcategory:"open_behavior"},mouseover_hide_cursor:{name:"Hide cursor over popup",description:"Hides the cursor when the mouse is over the popup",requires:"action:popup",category:"popup",subcategory:"behavior"},mouseover_hide_cursor_after:{name:"Hide cursor after",description:"Hides the cursor over the popup after a specified period of time (in milliseconds), 0 always hides the cursor",requires:{mouseover_hide_cursor:!0},type:"number",number_unit:"ms",number_int:!0,number_min:0,category:"popup",subcategory:"behavior"},mouseover_mouse_inactivity_jitter:{name:"Mouse jitter threshold",description:"Threshold for mouse movement before the mouse cursor is shown again, 0 always shows the cursor after any movement",requires:{mouseover_hide_cursor:!0},type:"number",number_unit:"px",number_int:!0,number_min:0,category:"popup",subcategory:"behavior"},mouseover_clickthrough:{name:"Disable pointer events",description:"Enabling this option will allow you to click on links underneath the popup",requires:"action:popup",category:"popup",subcategory:"behavior"},mouseover_mask_ignore_clicks:{name:"Ignore clicks outside popup",description:"Any mouse event outside the popup will be discarded with this option",requires:"action:popup",category:"popup",subcategory:"behavior"},enable_stream_download:{name:"Enable downloading HLS/DASH streams",description:"Downloads and muxes the contents of the streams rather than the stream information file.\nThis currently does not work under modern browsers due to `SharedArrayBuffer` restrictions.",requires:{_condition:"action:popup",mouseover_allow_hlsdash:!0},hidden:!Ai,category:"popup",subcategory:"video"},stream_mux_mp4_over_mkv:{name:"Prefer MP4 over MKV",description:"Tries to mux the video into mp4 instead of mkv when required. This may slightly slow down muxing as it currently needs to try muxing both.",requires:{enable_stream_download:!0},hidden:!Ai,category:"popup",subcategory:"video"},mouseover_add_link:{name:"Link image",description:"Adds a link to the image in the popup",requires:"action:popup",category:"popup",subcategory:"behavior"},mouseover_add_video_link:{name:"Link video",description:"Adds a link to the video in the popup",requires:{_condition:"action:popup",mouseover_allow_video:!0},category:"popup",subcategory:"behavior"},mouseover_click_image_close:{name:"Clicking image closes",description:"Clicking the popup image closes the popup",requires:"action:popup",disabled_if:[{mouseover_add_link:!0},{mouseover_clickthrough:!0}],category:"popup",subcategory:"behavior"},mouseover_click_video_close:{name:"Clicking video closes",description:"Clicking the popup video closes the popup",requires:"action:popup",disabled_if:[{mouseover_add_video_link:!0},{mouseover_clickthrough:!0}],category:"popup",subcategory:"behavior"},mouseover_download:{name:"Clicking link downloads",description:"Instead of opening the link in a new tab, it will download the image/video instead",requires:[{_condition:"action:popup",mouseover_add_link:!0},{_condition:"action:popup",mouseover_add_video_link:!0}],category:"popup",subcategory:"behavior"},mouseover_close_key:{name:"Close key",description:"Closes the popup when this key is pressed. Currently, ESC will also close the popup regardless of the value of this setting.",requires:"action:popup",type:"keysequence",category:"keybinds",subcategory:"popup"},mouseover_download_key:{name:"Download key",description:"Downloads the image in the popup when this key is pressed",requires:"action:popup",type:"keysequence",category:"keybinds",subcategory:"popup"},mouseover_open_new_tab_key:{name:"Open in new tab key",description:"Opens the image in the popup in a new tab when this key is pressed",hidden:_e&&Se===gi.nullfunc,requires:"action:popup",type:"keysequence",category:"keybinds",subcategory:"popup"},mouseover_open_bg_tab_key:{name:"Open in background tab key",description:"Opens the image in the popup in a new tab without switching to it when this key is pressed",hidden:_e&&Se===gi.nullfunc,requires:"action:popup",type:"keysequence",category:"keybinds",subcategory:"popup"},mouseover_copy_link_key:{name:"Copy link key",description:"Copies the link of the media to the clipboard when this key is pressed",requires:{_condition:"action:popup",write_to_clipboard:!0},type:"keysequence",category:"keybinds",subcategory:"popup"},mouseover_open_options_key:{name:"Open options key",description:"Opens this page in a new tab when this key is pressed",hidden:_e&&Se===gi.nullfunc,requires:"action:popup",type:"keysequence",category:"keybinds",subcategory:"popup"},mouseover_open_orig_page_key:{name:"Open original page key",description:"Opens the original page (if available) when this key is pressed",requires:"action:popup",type:"keysequence",category:"keybinds",subcategory:"popup"},mouseover_rotate_left_key:{name:"Rotate left key",description:"Rotates the popup 90 degrees to the left",requires:"action:popup",type:"keysequence",category:"keybinds",subcategory:"popup"},mouseover_rotate_right_key:{name:"Rotate right key",description:"Rotates the popup 90 degrees to the right",requires:"action:popup",type:"keysequence",category:"keybinds",subcategory:"popup"},mouseover_flip_horizontal_key:{name:"Horizontal flip key",description:"Flips the image horizontally",requires:"action:popup",type:"keysequence",category:"keybinds",subcategory:"popup"},mouseover_flip_vertical_key:{name:"Vertical flip key",description:"Flips the image vertically",requires:"action:popup",type:"keysequence",category:"keybinds",subcategory:"popup"},mouseover_zoom_in_key:{name:"Zoom in key",description:"Incrementally zooms into the image",requires:"action:popup",type:"keysequence",category:"keybinds",subcategory:"popup"},mouseover_zoom_out_key:{name:"Zoom out key",description:"Incrementally zooms out of the image",requires:"action:popup",type:"keysequence",category:"keybinds",subcategory:"popup"},mouseover_zoom_full_key:{name:"Full zoom key",description:"Sets the image to be at a 100% zoom, even if it overflows the screen",requires:"action:popup",type:"keysequence",category:"keybinds",subcategory:"popup"},mouseover_zoom_fit_key:{name:"Fit screen key",description:"Sets the image to either be at a 100% zoom, or to fit the screen, whichever is smaller",requires:"action:popup",type:"keysequence",category:"keybinds",subcategory:"popup"},mouseover_fullscreen_key:{name:"Toggle fullscreen key",description:"Toggles fullscreen mode for the image/video in the popup",requires:"action:popup",type:"keysequence",category:"keybinds",subcategory:"popup"},mouseover_links:{name:"Popup for plain hyperlinks",description:"Whether or not the popup should also open for plain hyperlinks",requires:{mouseover:!0},category:"popup",subcategory:"source"},mouseover_only_valid_links:{name:"Only for links that look valid",description:"Enabling this option will only allow links to be popped up if they look valid (such as if they have a known image/video extension, or are explicitly supported)",requires:{mouseover_links:!0},category:"popup",subcategory:"source"},mouseover_allow_video:{name:"Enable videos",description:"Allows videos to be popped up",profiled:!0,category:"popup",subcategory:"video"},mouseover_allow_audio:{name:"Enable audio",description:"Allows audio to be popped up. Currently experimental.\nThis only applies to audio files. Videos that contains audio are supported regardless of this setting.",profiled:!0,category:"popup",subcategory:"video"},mouseover_allow_hlsdash:{name:"Allow HLS/DASH streams",description:"Allows playback of HLS/DASH streams",example_websites:["Dailymotion","Instagram (higher quality)","Reddit","YouTube (higher quality)"],requires:[{mouseover_allow_audio:!0,allow_thirdparty_libs:!0},{mouseover_allow_video:!0,allow_thirdparty_libs:!0}],profiled:!0,category:"popup",subcategory:"video"},mouseover_allow_self_pagelink:{name:"Popup page URL",description:"If no element can be found, try the page URL. Only relevant for pagelink rules, such as image and video hosting websites",requires:{mouseover:!0,mouseover_trigger_behavior:"keyboard"},category:"popup",subcategory:"source"},mouseover_allow_iframe_el:{name:"Popup for `<iframe>`",description:"Allows `<iframe>` elements to be popped up as well. Storing images/videos in this way is rather uncommon, but it can allow embeds to be supported",requires:{mouseover_links:!0},category:"popup",subcategory:"source"},mouseover_allow_canvas_el:{name:"Popup for `<canvas>`",description:"Allows `<canvas>` elements to be popped up as well. This will likely cause popups with any kind of web-based games, so it's recommended to keep this disabled",requires:{mouseover:!0},category:"popup",subcategory:"source"},mouseover_allow_svg_el:{name:"Popup for `<svg>`",description:"Allows `<svg>` elements to be popped up as well. These are usually used for icons, and can occasionally cause problems for websites that overlay icons on top of images",requires:{mouseover:!0},category:"popup",subcategory:"source"},mouseover_enable_gallery:{name:"Enable gallery",description:"Toggles whether gallery detection support should be enabled",requires:"action:popup",category:"popup",subcategory:"gallery"},mouseover_gallery_cycle:{name:"Cycle gallery",description:"Going to the previous image for the first image will lead to the last image and vice-versa",requires:{_condition:"action:popup",mouseover_enable_gallery:!0},category:"popup",subcategory:"gallery"},mouseover_gallery_prev_key:{name:"Previous gallery item",description:"Key to trigger the previous gallery item",requires:{_condition:"action:popup",mouseover_enable_gallery:!0},type:"keysequence",category:"keybinds",subcategory:"gallery"},mouseover_gallery_next_key:{name:"Next gallery item",description:"Key to trigger the next gallery item",requires:{_condition:"action:popup",mouseover_enable_gallery:!0},type:"keysequence",category:"keybinds",subcategory:"gallery"},mouseover_gallery_download_key:{name:"Gallery download key",description:"Key to download the current gallery",requires:{_condition:"action:popup",mouseover_enable_gallery:!0,allow_thirdparty_libs:!0},type:"keysequence",category:"keybinds",subcategory:"gallery"},gallery_download_method:{name:"Download method",description:"How the gallery should be downloaded",requires:{_condition:"action:popup",mouseover_enable_gallery:!0},options:{_type:"combo",zip:{name:"Zip file"},jdownloader:{name:"JDownloader"}},category:"popup",subcategory:"gallery"},gallery_download_unchanged:{name:"Download unchanged media",description:"Includes gallery items that have not been changed. Useful to potentially avoid downloading thumbnails",requires:{_condition:"action:popup",mouseover_enable_gallery:!0},category:"popup",subcategory:"gallery"},gallery_zip_filename_format:{name:"Directory/zip filename format",description:["Format string(s) for the directory (package name for JDownloader) and zip filename (if applicable).",'Refer to "Filename format" under the Rules section for documentation. The variables are set from the first loaded media.',"An additional `items_amt` format variable is supported, which contains the number of items.","`.zip` will be automatically suffixed for zip filenames."].join("\n"),requires:{_condition:"action:popup",mouseover_enable_gallery:!0},type:"textarea",category:"popup",subcategory:"gallery"},gallery_zip_add_tld:{name:"Zip: Store in subdirectory",description:"Stores the files in a subdirectory with the same name as the .zip file (without the .zip extension)",requires:{_condition:"action:popup",mouseover_enable_gallery:!0,gallery_download_method:"zip"},category:"popup",subcategory:"gallery"},gallery_jd_autostart:{name:"JD: Autostart",description:"Autostarts the download when added to JDownloader",requires:{gallery_download_method:"jdownloader"},category:"popup",subcategory:"gallery"},gallery_jd_referer:{name:"JD: Referer policy",description:"Due to a current limitation in JDownloader's API, the `Referer` (sic) header can only be set on a per-package basis. This option allows working around it by submitting multiple packages with the same name using different Referer headers. This can result in JD spamming notifications due to the number of packages created.",requires:{gallery_download_method:"jdownloader"},options:{_type:"combo",never:{name:"Never"},domain:{name:"Per-domain"},always:{name:"Always"}},category:"popup",subcategory:"gallery"},gallery_zip_add_info_file:{name:"Zip: Store info file",description:"Stores a `info.txt` file in the .zip containing information about the downloaded files and host page.",requires:{_condition:"action:popup",mouseover_enable_gallery:!0,gallery_download_method:"zip"},category:"popup",subcategory:"gallery"},mouseover_gallery_move_after_video:{name:"Move to next when video finishes",description:"Moves to the next gallery item when a video finishes playing",requires:{_condition:"action:popup",mouseover_allow_video:!0,mouseover_enable_gallery:!0},category:"popup",subcategory:"gallery"},mouseover_styles:{name:"Popup CSS style",description:"Custom CSS styles for the popup",documentation:{title:"Documentation",value:["Most valid CSS is supported, with these differences:","<ul><li>Multiline comments (<code>/* ... */</code>) are currently not supported</li>","<li>Single comments (<code>// ...</code>) are supported, but only at the beginning of a line</li>","<li><code>%thumburl%</code> is the URL of the thumbnail image. For example, you could use it like this: <code>background-image: url(%thumburl%)</code><br />","The URL is properly encoded, so quotes are not necessary (but not harmful either)</li>","<li><code>%fullurl%</code> is the URL of the full image. If IMU fails to find a larger image, it will be the same as <code>%thumburl%</code></li>","<li>Styles are <code>!important</code> by default</li></ul>","<p>For Button CSS style, you can also customize the CSS for individual buttons through their IDs. For example:</p>","<pre>","#closebtn {","  background-color: red;","  // -imu-text allows you to set the text inside the button",'  -imu-text: "Close";',"  // -imu-title allows you to set the tooltip when hovering",'  -imu-title: "Close the popup";',"}","#galleryprevbtn, #gallerynextbtn {","  border-radius: 100px;","}","</pre>"].join("\n")},type:"textarea",requires:"action:popup",category:"popup",subcategory:"popup_other"},mouseover_enable_fade:{name:"Enable popup fade",description:"Enables a fade in/out effect when the popup is opened/closed",requires:"action:popup",category:"popup",subcategory:"popup_other"},mouseover_enable_zoom_effect:{name:"Enable zoom effect",description:"Toggles whether the popup should 'zoom' when opened/closed",requires:"action:popup",category:"popup",subcategory:"popup_other"},mouseover_zoom_effect_move:{name:"Move from thumbnail when zooming",description:"Moves the popup from the thumbnail to the final location while zooming. The animation can be a little rough",requires:{mouseover_enable_zoom_effect:!0},category:"popup",subcategory:"popup_other"},mouseover_fade_time:{name:"Popup animation time",description:"Fade/zoom animation duration (in milliseconds) for the popup",requires:[{mouseover_enable_fade:!0},{mouseover_enable_zoom_effect:!0}],type:"number",number_min:0,number_unit:"ms",category:"popup",subcategory:"popup_other"},mouseover_enable_mask_styles2:{name:"Enable background CSS",description:"Toggles whether CSS styles for the background when the popup is active is enabled",requires:"action:popup",options:{always:{name:"Always"},hold:{name:"On hold"},never:{name:"No"}},category:"popup",subcategory:"popup_other"},mouseover_mask_styles2:{name:"Background CSS style",description:"CSS style for the background when the popup is active. See the documentation for Popup CSS style for more information (the thumb/full URL variables aren't supported here)",requires:[{mouseover_enable_mask_styles2:"always"},{mouseover_enable_mask_styles2:"hold"}],type:"textarea",category:"popup",subcategory:"popup_other"},mouseover_mask_fade_time:{name:"Background fade",description:"Fade in/out time (in milliseconds) for the page background, set to 0 to disable",requires:[{mouseover_enable_mask_styles2:"always"},{mouseover_enable_mask_styles2:"hold"}],type:"number",number_min:0,number_unit:"ms",category:"popup",subcategory:"popup_other"},mouseover_ui_styles:{name:"Button CSS style",description:"Custom CSS styles for the popup's UI buttons. See the documentation for Popup CSS style for more information (the thumb/full URL variables aren't supported here)",type:"textarea",requires:{_condition:"action:popup",mouseover_ui:!0},category:"popup",subcategory:"ui"},mouseover_apply_blacklist:{name:"Don't popup blacklisted URLs",description:"This option popping up for source media with blacklisted URLs. If this is disabled, the popup will open if the end URL isn't blacklisted, regardless of whether the source is blacklisted.",requires:{mouseover:!0},category:"popup",subcategory:"source"},apply_blacklist_host:{name:"Use media blacklist for host websites",description:"Overrides the host blacklist to use the media blacklist (specified under Rules)",category:"popup",subcategory:"source"},mouseover_matching_media_types:{name:"Don't popup different media type",description:"This option prevents the popup from loading a video when the source was an image or vice-versa",requires:{mouseover:!0,mouseover_allow_video:!0},category:"popup",subcategory:"source"},mouseover_allow_popup_when_fullscreen:{name:"Allow popup when fullscreen",description:"Allows the popup to open if an element (such as a video player) is fullscreen.",requires:{mouseover:!0},category:"popup",subcategory:"source"},mouseover_support_pointerevents_none:{name:"Support `pointer-events:none`",description:"Manually looks through every element on the page to see if the cursor is beneath them. Supports more images, but also results in a higher CPU load for websites such as Facebook.",requires:{mouseover:!0},category:"popup",subcategory:"source"},mouseover_find_els_mode:{name:"Element finding mode",description:"How IMU should find the media element on the page.",requires:{mouseover:!0},options:{full:{name:"Full",description:"Manually looks through every element on the page to see if the cursor is above them. This will result in a higher CPU load for websites such as Facebook, and may return the wrong element"},hybrid:{name:"Hybrid",description:"Looks manually through every child element of the last element found by `getElementsAtPoint`. Use this option if in doubt, it'll work on most sites"},simple:{name:"Simple",description:"This is the fastest option, which uses the value of `getElementsAtPoint` without modification. Works for sites that don't use pointer-events:none and shadow DOM"}},warning:{full:"This will result in a much higher CPU load for websites such as Facebook, and will occasionally return the wrong element.\nUse this option with caution."},category:"popup",subcategory:"source"},popup_allow_cache:{name:"Use cache",description:"Allows use of a media cache for the popup. The cache is currently stored per-page and is not persistent across page reloads.",requires:"action:popup",category:"popup",subcategory:"cache"},popup_cache_duration:{name:"Cache duration",description:"How long for media to remain cached. Set to `0` for unlimited.",requires:{popup_allow_cache:!0},type:"number",number_min:0,number_unit:"minutes",category:"popup",subcategory:"cache"},popup_cache_itemlimit:{name:"Cache item limit",description:"Maximum number of individual media to remain cached. Set to `0` for unlimited.",requires:{popup_allow_cache:!0},type:"number",number_min:0,number_unit:"items",category:"popup",subcategory:"cache"},popup_cache_resume_video:{name:"Resume videos",description:"If a video popup was closed then reopened, the video will resume from where it left off",requires:{popup_allow_cache:!0},category:"popup",subcategory:"cache"},website_inject_imu:{name:"Use userscript",description:"Replaces the website's IMU instance with the userscript",userscript_only:!0,category:"website"},website_image:{name:"Website image preview",description:"Enables a preview of the image on the Image Max URL website",userscript_only:!0,requires:{website_inject_imu:!0},category:"website"},extension_contextmenu:{name:"IMU entry in context menu",description:"Enables a custom entry for this extension in the right click/context menu",extension_only:!0,category:"general",subcategory:"extension",imu_enabled_exempt:!0},extension_hotreload:{name:"Hot (re)load",description:"(Re)loads the extension on all existing pages when installing or updating",extension_only:!0,category:"general",subcategory:"extension",imu_enabled_exempt:!0},custom_xhr_for_lib:{name:"Custom XHR for libraries",description:"Allows the use of more powerful XHR (network requests) for 3rd-party libraries. This allows for certain DASH streams to work.",description_userscript:"Allows the use of more powerful XHR  (network requests) for 3rd-party libraries. This allows for certain DASH streams to work. Using this with the userscript version currently poses a potential security risk.",category:"general",subcategory:"libraries",example_websites:["Kakao","YouTube","Instagram (downloading)"],requires:{allow_thirdparty_libs:!0},needrefresh:!0},bypass_csp_for_lib:{name:"Bypass CSP for libraries",description:'Tries loading the 3rd-party libraries using a `<script>` tag if a page\'s CSP prevents it from being loaded normally.\nThis option currently carries an increased security risk when combined with "Custom XHR for libraries", and should only be enabled if absolutely necessary.',category:"general",subcategory:"libraries",userscript_only:!0,requires:{allow_thirdparty_libs:!0},example_websites:["Snapchat"],warning:{true:'This can potentially be extremely insecure if "Custom XHR for libraries" is also enabled.\nA malicious website could gain extension-level permissions and perform arbitrary requests (your online accounts could get hacked).\nIf you need to use this option, please disable it as soon as possible.'},needrefresh:!0},use_webarchive_for_lib:{name:"Use Web Archive for libraries",description:"Uses archive.org's web archive instead of github for libraries and other script internals (such as the options page).\nDon't enable this unless you need to.",userscript_only:!0,category:"general",subcategory:"libraries"},lib_integrity_check:{name:"Enable integrity checks",description:"Runs integrity checks before loading 3rd-party libraries",userscript_only:!0,category:"general",subcategory:"libraries"},hls_dash_use_max:{name:"HLS/DASH maximum quality",description:"Uses the maximum quality for HLS/DASH streams",requires:{mouseover_allow_hlsdash:!0},category:"popup",subcategory:"video"},max_video_quality:{name:"Maximum video quality",description:"Maximum quality for videos",requires:{mouseover_allow_hlsdash:!0},options:{_type:"combo",unlimited:{name:"(unlimited)",is_null:!0},h2160:{name:"4K"},h1440:{name:"1440p"},h1080:{name:"1080p"},h720:{name:"720p"},h480:{name:"480p"}},category:"popup",subcategory:"video"},allow_watermark:{name:"Larger watermarked images",description:"Enables rules that return larger images that include watermarks",category:"rules",example_websites:["Stock photo websites"],onupdate:e},allow_smaller:{name:"Smaller non-watermarked images",description:"Enables rules that return smaller images without watermarks",category:"rules",onupdate:e},allow_possibly_different:{name:"Possibly different images",description:"Enables rules that return images that possibly differ, usually due to server-side caching",category:"rules",onupdate:e},allow_possibly_broken:{name:"Possibly broken images",description:"Enables rules that return images that are possibly broken",category:"rules",hidden:!0,onupdate:e},allow_possibly_upscaled:{name:"Possibly upscaled images",description:"Enables rules that return images that are possibly upscaled",category:"rules",onupdate:e},allow_uncropped:{name:"Uncropped images",description:"Enables rules that return possibly undesirable uncropped images",example_websites:["Mobile wallpaper websites (returns the full version of the wallpaper image)"],category:"rules",onupdate:e},allow_thirdparty:{name:"Rules using 3rd-party websites",description:"Enables rules that use 3rd-party websites",category:"rules",example_websites:["Newsen"],onupdate:e},allow_apicalls:{name:"Rules using API calls",description:"Enables rules that use API calls. Strongly recommended to keep this enabled",category:"rules",example_websites:["Instagram","Flickr","..."],onupdate:e},allow_thirdparty_libs:{name:"Allow 3rd-party libraries",description:"Enables using 3rd-party libraries. This is both used in rules and as a prerequisite for certain functionality.",description_userscript:"Enables using 3rd-party libraries. This is both used in rules and as a prerequisite for certain functionality.\nThere is a possible (but unlikely) security risk for the userscript version.",category:"general",subcategory:"libraries",example_websites:["Sites using testcookie (slowAES)"],onupdate:function(){e(),zt.clear()}},allow_thirdparty_code:{name:"Rules executing 3rd-party code",description:"Enables rules that execute arbitrary 3rd-party code stored on websites.",warning:{true:"This could lead to security risks, please be careful when using this option!"},category:"rules",onupdate:function(){e(),zt.clear()},hidden:!0},allow_bruteforce:{name:"Rules using brute-force",description:"Enables rules that require using brute force (through binary search) to find the original image",warning:{true:"This could lead to rate limiting or IP bans"},category:"rules",example_websites:["Deezer"],onupdate:e},allow_webarchive:{name:"Web Archive support",description:"Allows rules to be run under archive.org's Wayback Machine.",category:"rules"},browser_cookies:{name:"Use browser cookies",description:"Uses the browser's cookies for API calls in order to access otherwise private data",category:"rules",example_websites:["Private Flickr images"],extension_only:!0,hidden:!0,onupdate:e},deviantart_prefer_size:{name:"DeviantART: Prefer size over original",description:"Prefers a larger (but not upscaled) thumbnail image over a smaller original animated image",category:"rules",subcategory:"rule_specific",onupdate:e},deviantart_support_download:{name:"DeviantART: Use download links",description:"Prefers using the download link (if available) by default. Note that this only works if you're logged in to DeviantART",category:"rules",subcategory:"rule_specific",onupdate:e},ehentai_full_image:{name:"E-Hentai: Use full image",description:"Prefers using full/original images if available (logged in). This is more likely to get you rate limited",category:"rules",subcategory:"rule_specific",onupdate:e},imgur_filename:{name:"Imgur: Use original filename",description:"If the original filename (the one used to upload the image) is found, use it instead of the image ID",category:"rules",subcategory:"rule_specific",onupdate:e},imgur_source:{name:"Imgur: Use source image",description:"If a source image is found for Imgur, try using it instead. Only works for old-style Imgur webpages (set `postpagebeta=0; postpagebetalogged=0` as cookies)",category:"rules",subcategory:"rule_specific",onupdate:e},instagram_use_app_api:{name:"Instagram: Use native API",description:"Uses Instagram's native API if possible, requires you to be logged into Instagram. This usually allows for higher resolution images (1440x*) to be returned.",category:"rules",subcategory:"rule_specific",warning:{},onupdate:e},instagram_dont_use_web:{name:"Instagram: Don't use web API",description:"Avoids using Instagram's web API if possible, which increases performance, but will occasionally sacrifice quality for videos",requires:[{instagram_use_app_api:!0}],category:"rules",subcategory:"rule_specific",onupdate:e},instagram_prefer_video_quality:{name:"Instagram: Prefer quality over resolution",description:"Prefers lower resolution videos that use a higher bitrate over higher resolution images. This adds a slight performance cost as it needs to fetch headers for multiple videos",category:"rules",subcategory:"rule_specific",onupdate:e},instagram_gallery_postlink:{name:"Instagram: Use albums for post thumbnails",description:"Queries Instagram for albums when using the popup on a post thumbnail",category:"rules",subcategory:"rule_specific"},snapchat_orig_media:{name:"Snapchat: Use original media without captions",description:"Prefers using original media instead of media with captions and tags overlayed",category:"rules",subcategory:"rule_specific"},teddit_redirect_reddit:{name:"Teddit: Use Reddit for media",description:"Redirects media stored on Teddit to Reddit's servers. Disabling this may prevent finding original images because Teddit's image servers will only cache images fetched from posts, which are deleted after a few minutes.",category:"rules",subcategory:"rule_specific",onupdate:e},tiktok_app_api:{name:"TikTok: Use app API",description:"Uses TikTok's app API to find video information.",category:"rules",subcategory:"rule_specific",onupdate:e},tiktok_no_watermarks:{name:"TikTok: Don't use watermarked videos",description:"Uses non-watermarked videos for TikTok if possible. This will introduce an extra delay when loading the video as two extra requests need to be performed. It will also fail for any videos uploaded after ~late July 2020",hidden:!0,category:"rules",subcategory:"rule_specific",onupdate:e},tiktok_thirdparty:{name:"TikTok: 3rd-party watermark removal",description:"Uses a 3rd-party watermark removal site for TikTok.\nI do not endorse any of the sites supported. They may log your IP address and videos you submit. Use this option with caution.\n`LQ` = Low quality, `PL` = Public log",requires:[{allow_thirdparty:!0}],hidden:!0,options:{_type:"combo",_randomize:!0,null:{name:"(none)",is_null:!0},"ttloader.com:ttt":{name:"ttloader.com"},"onlinetik.com:ttt":{name:"onlinetik.com"},"tikdowns.com:ttt":{name:"tikdowns.com"},"ssstiktok.net:ttt":{name:"ssstiktok.net"},"keeptiktok.com":{name:"keeptiktok.com (LQ)"},"ssstiktok.io:1":{name:"ssstiktok.io (LQ)"},"musicallydown.com:1":{name:"musicallydown.com (LQ/PL)"},"snaptik.app":{name:"snaptik.app (LQ)"},"tikmate.online":{name:"tikmate.online (LQ)"}},category:"rules",subcategory:"rule_specific",onupdate:e},tumblr_api_key:{name:"Tumblr: API key",description:"API key for finding larger images on Tumblr",category:"rules",subcategory:"rule_specific",type:"lineedit",onupdate:e},twitter_use_ext:{name:"Twitter: Use extension",description:"Prefers `.jpg?name=orig` over `?format=jpg&name=orig`. This will possibly incur extra requests before succeeding. Note that there is no difference in image quality.",category:"rules",subcategory:"rule_specific",onupdate:e},youtube_replace_n:{name:"YouTube: Enable faster speeds",description:"Increases the download bandwidth for YouTube videos by replacing the `n` parameter. Note that this may execute untrusted Javascript.",requires:{allow_thirdparty_libs:!0},category:"rules",subcategory:"rule_specific",onupdate:e},bigimage_blacklist:{name:"Media blacklist",description:"A list of URLs (one per line) that are blacklisted from being processed",category:"rules",type:"textarea"},bigimage_blacklist_mode:{name:"Media blacklist mode",description:"Whether the media blacklist should act as a blacklist or a whitelist",category:"rules",options:{whitelist:{name:"Whitelist"},blacklist:{name:"Blacklist"}}},bigimage_blacklist_engine:{name:"Blacklist engine",description:"How blacklists should be processed",category:"general",options:{glob:{name:"Simple (glob)"},regex:{name:"Regex"}}},host_blacklist:{name:"Host blacklist",description:"A list of host URLs (one per line) that the popup is blacklisted from. For example, adding `twitter.com` to this blacklist would prevent any popup from opening on twitter.com.",type:"textarea",requires:{mouseover:!0,apply_blacklist_host:!1},category:"popup",subcategory:"source"},host_blacklist_mode:{name:"Host blacklist mode",description:"Whether the host blacklist should act as a blacklist or a whitelist",category:"popup",subcategory:"source",options:{whitelist:{name:"Whitelist"},blacklist:{name:"Blacklist"}}},filename_format:{name:"Filename format",description:"Format string(s) for the filename",type:"textarea",category:"rules",documentation:{title:"Documentation",value:["<p>Variables are specified between curly brackets (<code>{}</code>).</p>","<p>Below is a list of valid variables:</p>","<ul><br />","<li><code>filename</code> - Original filename (with extension, if applicable)</li>","<li><code>filename_noext</code> - Original filename (without extension, if applicable)</li>","<li><code>ext</code> - Extension (with <code>.</code> prefixed)</li>","<li><code>caption</code> - Popup caption</li>","<li><code>author_username</code> - Author's username</li>","<li><code>id</code> - Post ID</li>","<li><code>host_title</code> - Title of the current tab/window</li>","<li><code>host_url</code> - URL of the host webpage</li>","<li><code>host_domain</code> - Domain of the host webpage</li>","<li><code>host_domain_nosub</code> - Domain (without subdomains) of the host webpage</li>","<li><code>url</code> - URL of the media</li>","<li><code>domain</code> - Domain of the media</li>","<li><code>domain_nosub</code> - Domain (without subdomains) of the media</li>","<li><code>is_screenshot</code> - Blank, the line will only be processed when screenshotting a video</li>","<li><code>prefix</code>, <code>suffix</code> - Blank by default, these variables will be automatically prefixed/suffixed to the filename if set using <code>:=</code></li>","<li><code>created_...</code> - Created date (see note on Date objects below)</li>","<li><code>updated_...</code> - Updated date, this will use the <code>Last-Modified</code> header if not otherwise specified by the rule (see note on Date objects below)</li>","<li><code>download_...</code> - Download date (see note on Date objects below)</li>","<li><code>date_...</code> - Created/updated date (see note on Date objects below)</li>","</ul><br />","<p>You can truncate the value of a variable by adding <code>:(number)</code> before the end bracket (<code>}</code>). For example:</p>","<ul><br />","<li><code>{caption:10}</code> - Truncates the caption to be at most 10 characters long</li>","<li><code>{caption:10.}</code> - Same, but will add an ellipsis (…) if the caption was truncated</li>","</ul><br />","<p>If a variable doesn't exist, by default it will ignore the current format string and use the one on the next line, unless <code>?</code> is added before the end bracket. For example:</p>","<ul><br />","<li><code>{ext?}</code> - Will be replaced with nothing if <code>ext</code> doesn't exist</li>","<li><code>{caption?no caption}</code> - Will be replaced with <code>no caption</code> if <code>caption</code> doesn't exist</li>","</ul><br />","<p>You can check for equality and inequality with <code>==</code> and <code>!=</code> operators respectively. For example:</p>","<ul><br />","<li><code>{domain_nosub==cdninstagram.com}{author_username} {id}</code> - Will only run the current format (<code>{author_username} {id}</code> in this case) if the domain is cdninstagram.com</li>","</ul><br />","<p>You can check if a variable contains a string with <code>/=</code> (<code>!/=</code> for the opposite). It also supports two flags, <code>r</code> (regex) and <code>c</code> (case-sensitive), if added between <code>/</code> and <code>=</code>. For example:</p>","<ul><br />","<li><code>{domain/=instagram}{id}</code> - Will only run the current format (<code>{id}</code>) if the domain contains <code>instagram</code></li>","<li><code>{domain!/=instagram}{id}</code> - Likewise, but only if the domain does not contain <code>instagram</code></li>","<li><code>{domain/r=inst.*ram}{id}</code> - Likewise, but only if the domain matches the regex <code>inst.*ram</code></li>","<li><code>{window_title/c=Instagram}{id}</code> - Likewise, but only if the window's title contains <code>Instagram</code> (case-sensitively)</li>","<li><code>{window_title!/rc=Inst.*ram}{id}</code> - Likewise, but only if the window's title does not match the case-sensitive regex <code>Inst.*ram</code></li>","</ul><br />","<p>You can set a custom variable with <code>:=</code>. For example:</p>","<ul><br />","<li><code>{domain_nosub==cdninstagram.com}{foo:=bar}</code> - Sets the variable <code>foo</code> to <code>bar</code> if the domain is <code>cdninstagram.com</code>. The variable can then be accessed with e.g. <code>{foo}</code></li>","</ul><br />","<p>Date objects are accessible through a number of properties. Each property can be suffixed with <code>_utc</code> to get the UTC/GMT equivalent.</p>","<ul><br />","<li><code>..._iso</code> - Date in ISO format (e.g. <code>2019-12-31T23-30-56</code>). Note that <code>:</code> is replaced with <code>-</code> to avoid issues with paths under NTFS.</li>","<li><code>..._ago</code> - Human-readable representation of the time elapsed since the date (e.g. <code>1 year and 10 months ago</code>, <code>5 months and 20 days ago</code>)</li>","<li><code>..._unix</code> - Unix timestamp (e.g. <code>1577912345</code>)</li>","<li><code>..._unix_ms</code> - Unix timestamp with millisecond accuracy (e.g. <code>1577912345678</code>)</li>","<li><code>..._yyyymmdd</code> - Date in YYYYMMDD format (e.g. <code>20191230</code>)</li>","<li><code>..._hhmmss</code> - Time in HHMMSS format (e.g. <code>233056</code>)</li>","<li><code>..._year</code> - Full year (e.g. <code>2019</code>)</li>","<li><code>..._month</code> - Zero-padded month (e.g. <code>12</code>)</li>","<li><code>..._day</code> - Zero-padded day (e.g. <code>31</code>)</li>","<li><code>..._hours</code> - Zero-padded hours in military/24-hour format (e.g. <code>23</code>)</li>","<li><code>..._minutes</code> - Zero-padded minutes (e.g. <code>30</code>)</li>","<li><code>..._seconds</code> - Zero-padded seconds (e.g. <code>56</code>)</li>","</ul>"].join("\n")}},filename_replace_special_underscores:{name:"Replace special characters with underscores",description:'Replaces characters such as `/` or `"` with `_` when downloading. Note that browsers will usually do this automatically, this is just to ensure consistent behavior.',category:"rules"},replaceimgs_enable_keybinding:{name:"Enable trigger key",description:"Enables the use of the trigger key to run it without needing to use the menu",category:"extra",subcategory:"replaceimages"},replaceimgs_keybinding:{name:"Trigger key",description:"Trigger keybinding that will run the Replace Images function",requires:{replaceimgs_enable_keybinding:!0},type:"keysequence",category:"extra",subcategory:"replaceimages"},replaceimgs_auto:{name:"Automatically replace images",description:"Automatically replace images to larger versions on pages you view",warning:{true:"This could lead to rate limiting or IP bans"},needrefresh:!0,category:"extra",subcategory:"replaceimages"},replaceimgs_usedata:{name:"Use data URLs",description:"Uses data:// URLs instead of image links. Disabling this may improve compatibility with some bulk image downloader extensions",category:"extra",subcategory:"replaceimages",imu_enabled_exempt:!0},replaceimgs_wait_fullyloaded:{name:"Wait until image is fully loaded",description:"Waits until the image being replaced is fully loaded before moving on to the next image",category:"extra",subcategory:"replaceimages",requires:{replaceimgs_usedata:!1},imu_enabled_exempt:!0},replaceimgs_totallimit:{name:"Max images to process at once",description:"The maximum amount of images to process at once",type:"number",number_min:1,number_int:!0,number_unit:"images",category:"extra",subcategory:"replaceimages",imu_enabled_exempt:!0},replaceimgs_domainlimit:{name:"Max images per domain at once",description:"The maximum amount of images per domain to process at once",type:"number",number_min:1,number_int:!0,number_unit:"images",category:"extra",subcategory:"replaceimages",imu_enabled_exempt:!0},replaceimgs_delay:{name:"Delay between same-domain images",description:"New requests for images in the same domain will be delayed by this amount of seconds. Useful for avoiding rate limits.",type:"number",number_min:0,number_unit:"seconds",category:"extra",subcategory:"replaceimages",imu_enabled_exempt:!0},replaceimgs_replaceimgs:{name:"Replace images",description:"Replaces images to their larger versions when the button is pressed",category:"extra",subcategory:"replaceimages",imu_enabled_exempt:!0},replaceimgs_addlinks:{name:"Add links",description:"Adds links around replaced media if a link doesn't already exist",category:"extra",subcategory:"replaceimages",imu_enabled_exempt:!0},replaceimgs_replacelinks:{name:"Replace links",description:"Replaces links if they already exist",category:"extra",subcategory:"replaceimages",requires:{replaceimgs_addlinks:!0},imu_enabled_exempt:!0},replaceimgs_plainlinks:{name:"Plain hyperlinks",description:"How to treat plain (non-media) hyperlinks that link to potential media",category:"extra",subcategory:"replaceimages",options:{_type:"combo",none:{name:"Ignore"},replace_link_text:{name:"Replace link+text"},replace_media:{name:"Replace media"}},requires:{replaceimgs_replaceimgs:!0},imu_enabled_exempt:!0},replaceimgs_links_newtab:{name:"Links open in new tab",description:"Clicking on a replaced link will open the media in a new tab",category:"extra",subcategory:"replaceimages",requires:{replaceimgs_addlinks:!0},imu_enabled_exempt:!0},replaceimgs_remove_size_constraints:{name:"Remove size constraints",description:"Removes height/width specifiers for replaced media",category:"extra",subcategory:"replaceimages",requires:{replaceimgs_replaceimgs:!0},imu_enabled_exempt:!0},replaceimgs_size_constraints:{name:"Size constraints",description:"Removes or enforces height/width specifiers for replaced media",category:"extra",subcategory:"replaceimages",requires:{replaceimgs_replaceimgs:!0},options:{_type:"combo",none:{name:"Ignore"},remove:{name:"Remove"},force:{name:"Force"}},imu_enabled_exempt:!0},replaceimgs_css:{name:"Replacement CSS",description:"CSS styles to apply to replaced media. See the documentation for Popup CSS style for more information (the thumb/full URL variables aren't yet supported here)",type:"textarea",category:"extra",subcategory:"replaceimages",requires:{replaceimgs_replaceimgs:!0},imu_enabled_exempt:!0},replaceimgs_simple_progress:{name:"Simple progress",description:"Uses a simpler progress bar that has a fixed size for all media. This is useful to see how many images are replaced, rather than the ETA",category:"extra",subcategory:"replaceimages",imu_enabled_exempt:!0},highlightimgs_enable_keybinding:{name:"Enable trigger key",description:"Enables the use of the trigger key to run it without needing to use the menu",category:"extra",subcategory:"highlightimages"},highlightimgs_keybinding:{name:"Trigger key",description:"Trigger keybinding that will run the Highlight Images function",requires:{highlightimgs_enable_keybinding:!0},type:"keysequence",category:"extra",subcategory:"highlightimages"},highlightimgs_enable:{name:"Enable button",description:"Enables the 'Highlight Images' button",category:"extra",subcategory:"highlightimages",imu_enabled_exempt:!0},highlightimgs_auto:{name:"Automatically highlight images",description:"Automatically highlights images as you view pages",options:{_type:"or",always:{name:"Always"},hover:{name:"Hover",description:"When hovering over an image"},never:{name:"Never"}},category:"extra",subcategory:"highlightimages"},highlightimgs_onlysupported:{name:"Only explicitly supported images",description:"Only highlights images that can be made larger or the original version can be found",requires:[{highlightimgs_enable:!0},{highlightimgs_auto:"always"},{highlightimgs_auto:"hover"}],category:"extra",subcategory:"highlightimages"},highlightimgs_css:{name:"Highlight CSS",description:"CSS style to apply for highlight. See the documentation for Popup CSS style for more information (the thumb/full URL variables aren't supported here)",type:"textarea",requires:[{highlightimgs_enable:!0},{highlightimgs_auto:"always"},{highlightimgs_auto:"hover"}],category:"extra",subcategory:"highlightimages",imu_enabled_exempt:!0},customgallery_enable_keybinding:{name:"Enable trigger key",description:"Enables the use of the trigger key to run it without needing to use the menu",category:"extra",subcategory:"customgallery"},customgallery_keybinding:{name:"Trigger key",description:"Trigger keybinding that will run the Custom Gallery function",requires:{customgallery_enable_keybinding:!0},type:"keysequence",category:"extra",subcategory:"customgallery"},customgallery_enable_button:{name:"Enable button",description:"Enables the 'Custom Gallery' button",category:"extra",subcategory:"customgallery",imu_enabled_exempt:!0},customgallery_apply_key:{name:"Apply key",description:"Triggers the gallery when pressed",requires:[{customgallery_enable_button:!0},{customgallery_enable_keybinding:!0}],type:"keysequence",category:"extra",subcategory:"customgallery",imu_enabled_exempt:!0},customgallery_bg_css:{name:"Background CSS",description:"CSS style to apply for the background",type:"textarea",requires:[{customgallery_enable_button:!0},{customgallery_enable_keybinding:!0}],category:"extra",subcategory:"customgallery",imu_enabled_exempt:!0},customgallery_outline_css:{name:"Outline CSS",description:"CSS style to apply for element outlines",type:"textarea",requires:[{customgallery_enable_button:!0},{customgallery_enable_keybinding:!0}],category:"extra",subcategory:"customgallery",imu_enabled_exempt:!0}},Ke={allow_watermark:"watermark",allow_smaller:"smaller",allow_possibly_different:"possibly_different",allow_possibly_broken:"possibly_broken",allow_possibly_upscaled:"possibly_upscaled",allow_bruteforce:"bruteforce",allow_uncropped:"uncropped"},Je={general:"General",redirection:"Redirection",popup:"Popup",keybinds:"Shortcuts",rules:"Rules",website:"Website",extra:"Buttons"},Qe={general:{settings:"subcategory_settings",update:"subcategory_update",libraries:"subcategory_libraries",extension:"subcategory_extension"},popup:{trigger:"subcategory_trigger",source:"subcategory_popup_source",open_behavior:"subcategory_open_behavior",close_behavior:"subcategory_close_behavior",behavior:"subcategory_behavior",cache:"subcategory_cache",gallery:"subcategory_gallery",video:"subcategory_video",ui:"subcategory_ui",popup_other:"subcategory_popup_other"},keybinds:{popup:"subcategory_keybinds_popup_actions",gallery:"subcategory_gallery",video:"subcategory_video"},rules:{rule_specific:"subcategory_rule_specific"},extra:{replaceimages:"subcategory_replaceimages",highlightimages:"subcategory_highlightimages",customgallery:"subcategory_customgallery"}},et={"action:popup":{mouseover_open_behavior:"popup"}};for(Ve in yi){var tt=yi[Ve];if(tt.profiled)for(var ot=bi[Ve],rt=0;rt<fn;rt++){var it=rt+2,nt="t"+it+"_"+Ve,at=(bi=function(e,t,o,r){var i,n={};for(i in e)n[i]=e[i],i===t&&(n[o]=r);return n}(bi,0<rt?"t"+(it-1)+"_"+Ve:Ve,nt,ot),_i(tt));yi[nt]=at,v&&(at.name=vi(at.name)+" (#"+it+")",at.description=null,at.example_websites=null),at.requires&&(nt=at.requires,ti(nt)||(nt=[nt]),mi(nt,function(e){e["mouseover_trigger_key_t"+it]=!0}),at.requires=nt)}}var st,lt={bigimage_blacklist:{create_regexes:fo},host_blacklist:{create_regexes:function(){ho=[];try{ho=go(bi.host_blacklist,bi.bigimage_blacklist_engine)}catch(e){return[e]}}}};for(st in lt)!function(r){yi[r].onupdate=function(){e(),lt[r].create_regexes()},yi[r].onedit=function(){var e=lt[r].create_regexes(),t=null;try{(t=document.querySelector("#option_"+r+" .error")).innerText="",t.classList.add("hidden")}catch(e){}if(e)for(var o=0;o<e.length;o++)t&&(t.innerText+=e[o].message+"\n",t.classList.remove("hidden")),console.error(e[o])},yi[r].documentation={title:"Documentation",value:["The examples below are written for the simple (glob) engine, not the regex engine. The glob engine is generally based on the UNIX glob syntax.<br />","<ul><br />","<li><code>google.com</code> will block https://google.com/, https://www.google.com/, https://abcdef.google.com/, https://def.abc.google.com/, etc.</li>","<li><code>abc.google.com</code> will block https://abc.google.com/, https://def.abc.google.com/, etc.</li>","<li><code>*.google.com</code> will block https://www.google.com/, https://def.abc.google.com/, etc. but not https://google.com/</li>","<li><code>google.*/</code> will block https://google.com/, https://www.google.co.uk, etc.</li>","<li><code>http://google.com</code> will block http://google.com/, but not https://google.com/, http://www.google.com/, etc.</li>","<li><code>google.com/test</code> will block https://google.com/test, https://www.google.com/test/abcdef, but not https://google.com/, etc.</li>","<li><code>google.com/*/test</code> will block https://google.com/abc/test, but not https://google.com/test or https://google.com/abc/def/test</li>","<li><code>google.com/**/test</code> will block https://google.com/abc/test, https://google.com/abc/def/test, https://google.com/abc/def/ghi/test, etc. but not https://google.com/test</li>","<li><code>g??gle.com</code> will block https://google.com/, https://gaagle.com/, https://goagle.com/, etc.</li>","<li><code>google.{com,co.uk}</code> will block https://google.com/ and https://google.co.uk/</li>","<li><code>g[oau]ogle.com</code> will block https://google.com/, https://gaogle.com/, and http://www.guogle.com/</li>","<li><code>g[0-9]ogle.com</code> will block https://g0ogle.com/, https://g1ogle.com/, etc. (up to https://g9ogle.com/)</li>","</ul>"].join("\n")}}(st);var ut,ct=_i(bi);for(ut in Ke){var dt=Ke[ut];bi[ut]=oi(Me.exclude_problems,dt)<0}function pt(e){return!!e.imu_map}function mt(e,t){if(pt(e)){var o,r=e,i=t;for(o in r.object)i(o,r.object[o]);for(var n=0;n<r.array.length;n++)i(r.array[n].key,r.array[n].value)}else for(var a=e,s=t,l=a.keys();;){var u=l.next();if(u.done)break;u=u.value;s(u,a.get(u))}}function ht(e){return pt(e)?(t=e,Object.keys(t.object).length+t.array.length):e.size;var t}function _n(e,t){return yt(e,t)}var gt={},ft=function(){var t;try{t=new Map}catch(e){t={imu_map:!0,object:{},array:[]}}return t},_t=function(e){return"string"==typeof e||"number"==typeof e},vt=function(e,t){for(var o=0;o<e.array.length;o++)if(e.array[o].key===t)return o;return-1},vn=function(e,t,o){var r,i,n,a;return Yr&&ui("map","map_set",_i(t),_i(o)),pt(e)?(r=e,n=o,_t(i=t)?r.object[i]=n:(a=vt(r,i))<0?r.array.push({key:i,value:n}):r.array[a].value=n):e.set(t,o),o},bn=function(e,t){return pt(e)?(o=e,_t(r=t)?o.object[r]:0<=(r=vt(o,r))?o.array[r].value:void 0):e.get(t);var o,r},bt=function(e,t){return pt(e)?(o=e,_t(r=t)?r in o.object:0<=vt(o,r)):e.has(t);var o,r},yt=function(e,t){var o,r;pt(e)?(o=e,_t(r=t)?delete o.object[r]:0<=(r=vt(o,r))&&o.array.splice(r,1)):e.delete(t)},yn=function(){return ft()},wn=function(e,t){return vn(e,t,!0)},kn=function(e,t){return bt(e,t)},xn=(wt.prototype.set=function(e,t,o){if(Yr&&ui("cache","Cache.set key:",e,", time="+o+", value:",_i(t)),this.remove(e),this.options.max_keys){var r=ht(this.data);if(r>this.options.max_keys)for(var i=[],n=(mt(this.times,function(e,t){i.push({key:e,end_time:t.end_time,added_time:t.added_time})}),i.sort(function(e,t){return e.end_time?t.end_time?e.end_time-t.end_time:-1:t.end_time?1:e.added_time-t.added_time}),r-this.options.max_keys),a=0;a<i.length&&0<n;)this.remove(i[a++].key),n--}vn(this.data,e,t);var s,r=Date.now();"number"==typeof o&&0<o?(s=this,t=setTimeout(function(){s.remove(e)},1e3*o),p&&"number"!=typeof t&&"unref"in t&&t.unref(),vn(this.times,e,{timer:t,time:o,added_time:r,end_time:r+o})):vn(this.times,e,{added_time:r})},wt.prototype.has=function(e){var t=bt(this.data,e);return Yr&&ui("cache","Cache.has key:",e,t),t},wt.prototype.get=function(e){var t=bn(this.data,e);return Yr&&ui("cache","Cache.get key:",e,_i(t)),t},wt.prototype.fetch=function(i,n,e){var a,t=bt(this.data,i);Yr&&ui("cache","Cache.fetch key:",i,", exists="+t),t?n(bn(this.data,i)):bt(this.fetches,i)?bn(this.fetches,i).push(n):(vn(this.fetches,i,[]),a=this,e(function(e,t){!1!==t&&a.set.bind(a)(i,e,t),n(e);for(var o=bn(a.fetches,i),r=0;r<o.length;r++)o[r](e);yt(a.fetches,i)}))},wt.prototype.remove=function(e){var t;Yr&&ui("cache","Cache.remove key:",e),bt(this.times,e)&&"timer"in(t=bn(this.times,e))&&clearTimeout(t.timer),this.options.destructor&&bt(this.data,e)&&this.options.destructor(e,bn(this.data,e)),yt(this.times,e),yt(this.data,e)},wt.prototype.clear=function(){Yr&&ui("cache","Cache.clear"),mt(this.times,function(e,t){"timer"in t&&clearTimeout(t.timer)}),this.options.destructor&&mt(this.data,function(e,t){this.options.destructor(e,t)}),this.times=ft(),this.data=ft()},wt);function wt(e){this.data=ft(),this.times=ft(),this.fetches=ft(),this.options={},e&&(this.options=e)}function kt(t){ti(t.website_regex)||(t.website_regex=[t.website_regex]);for(var o,e,r,i=null,n=0;n<t.website_regex.length&&!(i=qt(t.url,t.website_regex[n]));n++);return i?(o={url:t.url,is_pagelink:!0},t.do_request&&t.cb?(e=t.url.replace(/^[a-z]+:\/\/([^/]+)\/+.*$/,"$1"),e=Hn(e),t.cache_key||(t.cache_key=e),r=function(e){return e?((e=ti(e)?e:[e]).push(o),t.cb(e)):t.cb(o)},t.override_cb||(t.override_cb=function(e,t){e(t)}),t.run||(t.run=function(e,r,i){function t(e){return e.replace(/\${id}/g,o).replace(/\${([^/]+)}/g,function(e,t){return(/^[0-9]+$/.test(t)?r:r.groups)[t]})}var o=r[1],n=(r.groups&&r.groups.id&&(o=r.groups.id),i.id&&(o=t(i.id)),i.query_for_id);"object"==typeof(n="string"==typeof i.query_for_id?{url:n}:n)&&n.url?n.url=t(n.url):n=n(o,r),g(i.api_cache,i.do_request,i.cache_key+":"+o,n,e,function(e,t,o){return i.process(e,t,o,r,i)})}),t.run(function(e){t.override_cb(r,e)},i,t),{waiting:!0}):o):null}function xt(e){if(e)for(var t=0;t<e.length;t++)if(0===e.charCodeAt(t))return!0;return!1}var Ct=new xn,zt=new xn,Nt=new xn,St=new xn,g=function(e,t,i,n,o,a){e.fetch(i,o,function(r){"method"in n||(n.method="GET"),n.onload=function(t){if(200!==t.status&&!n.non200_ok)return n.silent||si(i,t),r(null,!1);try{var e=t,o=t.responseText;return n.jsonp&&(o=o.replace(/^[$_a-zA-Z][$_a-zA-Z0-9]+\(({[\s\S]*})\);?$/,"$1")),(n.json||n.jsonp)&&(e=$(o)),a(r,e,i)}catch(e){return si(i,e,t),r(null,!1)}},t(n)})},qt=function(e,t){var o=t,r=(t.regex&&t.groups&&(o=t.regex),e.match(o));return r&&o!==t&&(r.groups||(r.groups={}),mi(t.groups,function(e,t){r.groups[e]=r[t+1]})),r};function Tt(e,t){return(e%t+t)%t}function Cn(e){return!(e=e.match(/^([-a-z]+):/))||0<=oi(["http","https","ftp","data","x-raw-image","blob","chrome","file"],e[1].toLowerCase())}function It(e){return e.replace(/^([a-z]+:\/\/[^/]+)(\?.*)/,"$1/$2").replace(/^([a-z]+:\/\/[^/]+\.[^/]+)\.([?#/].*)?$/,"$1$2")}function zn(e,t,o){if(0===t.length)return e;if(t.match(/^[-a-z]*:\/\//)||t.match(/^(?:data|x-raw-image|blob|about|javascript):/))return t;var r=e.split("://");if(r.length<2)return e;var i=r[0],r=i+"://"+r[1].split("/")[0];if(o){if(2<=t.length&&"//"===t.slice(0,2))return i+":"+t;if(1<=t.length&&"/"===t.slice(0,1))return r+t;2<=t.length&&"./"===t.slice(0,2)&&(t=t.substring(2));for(var o=(e=e.match(/\/$/)?e:e.replace(/^([^?]*)\/.*?$/,"$1/"))+t.replace(/^\/*/,""),n=(o=o.split("://"))[1].split("/"),a=[],s=0;s<n.length;s++)".."===n[s]?a.pop():a.push(n[s]);return o[0]+"://"+a.join("/")}return e.replace(/\/*$/,"")+"/"+t.replace(/^\/*/,"")}function At(e,t,o){for(var r=[],i=0;i<e.length;i++){var n=_i(t);if("string"==typeof e[i])n.url=e[i];else for(var a in e[i])o&&a in n||(n[a]=e[i][a]);r.push(n)}return r}function Et(e,t){"add_video"in(t=t||{})||(t.add_video=!0);var o=Gt(e,t.extensions,t.prefer_order);if(t.add_video)for(var r=0;r<o.length;r++)/\.(?:mp4|webm)$/.test(o[r])&&(o[r]={url:o[r],video:!0});return o}function Ut(e){return Gt(e,["jpeg","png"])}function Rt(e){return Gt(e,["jpg","jpeg","png"])}function Lt(e){return Gt(e,["jpg","png","gif"])}function Dt(e){return Gt(e,["jpg","png","JPG","PNG"])}function jt(e){return Gt(e,["jpg","jpeg","png","JPG","JPEG","PNG"])}function Mt(e){return/\.webp(?:[?#].*)?$/.test(e)?Bt(e):e}function Pt(e){return e.match(/^[a-z]+:\/\//)?e:"http://"+e}function Ht(e){return e.replace(/^http:\/\//,"https://")}function $t(e){return e.match(/^https?:\/\//)?e:e.match(/^https?%3[aA]/)||/^[^/]*%2[fF]/.test(e)?decodeURIComponent(e):e.match(/^https?%253[aA]/)?decodeURIComponent(decodeURIComponent(e)):e}function Nn(e){return ri(e,"%")<0?encodeURI(e):e}function Ft(e,t,o){for(var r=null,i=null,n=0;n<t.length;n++){var a=t[n];if((a="object"==typeof a?a.url:a)===e){"object"==typeof t[n]&&t[n].problems&&(r=t[n].problems),i=t[n],t.splice(n,t.length);break}}if(r)for(n=0;n<t.length;n++)if("object"==typeof t[n]&&t[n].problems)for(var s in t[n].problems)t[n].problems[s]===r[s]&&delete t[n].problems[s];return o&&!t.length&&t.push(i),t}function Sn(e,t,o){return o=o||"0",(e+="").length>=t?e:new Array(t-e.length+1).join(o)+e}var Ot=function(e,t){var o;return null==t?t:((o=ni(void 0)).href=t,o.href)},qn=function(e,t){e=e.replace(/.*\//,"");return"remove_queryhash"in(t=t||{})||(t.remove_queryhash=!0),t.remove_queryhash&&(e=e.replace(/[?#].*$/,""),t.split_ext)?(t=t.known_ext?e.match(/(.*?)\.(mp4|mpe?g|jpe?g|jfif|png|tiff|og[agv]|m4[av]|web[pm]|mkv|avi|gif|mpd|m3u8|zip)$/i):e.match(/(.*)\.([^.]*)$/))?[t[1],t[2]]:[e]:e},Tn=function(e){var o=ie(e||{});return mi(o,function(e,t){"string"==typeof e&&(o[t]={url:e})}),o},In=function(e,t){for(var o,r=Tn(e),i=Tn(_i(t))[0],n=0;n<r.length;n++)if(void 0!==r[n]){if(!r[n].url||!i.url||i.url===r[n].url)for(o in i)o in r[n]||(r[n][o]=i[o]);for(o in Pe)o in r[n]||(r[n][o]=_i(Pe[o]));r[n].video&&"image"===r[n].media_info.type&&(!0===r[n].video?r[n].media_info={type:"video"}:"string"==typeof r[n].video?r[n].media_info={type:"video",delivery:r[n].video}:(r[n].media_info=_i(r[n].video),r[n].media_info.delivery=r[n].media_info.type,r[n].media_info.type="video"))}return r},Gt=function(e,t,o){t=t||["jpg","jpeg","png","gif","webp","avif","JPG","JPEG","PNG","GIF"],ti(e)||(e=[e]);for(var r=[],i=0;i<e.length;i++){var n=e[i],a=n,s=/(.*)\.([^/.]*?)([?#].*)?$/;if((a="string"!=typeof n?n.url:a).match(s)){var l=a.replace(s,"$2"),u=a.replace(s,"$1"),c=a.replace(s,"$3");o||r.push(n);for(var d,p,i=0;i<t.length;i++)!o&&l===t[i]||(d=u+"."+t[i]+c,"string"==typeof n?r.push(d):((p=_i(n)).url=d,r.push(p)));o&&oi(r,n)<0&&r.push(n)}else r.push(n)}return r},Bt=function(e){return Gt(e,["jpg","png"])};function Wt(e){for(var t=e.toString(),o="",r=0;r<t.length;r+=2)o+=S(parseInt(t.substr(r,2),16));return o}function Vt(e){for(var t=[],o=0;o<e.length;o+=2)t.push(parseInt(e.substr(o,2),16));return t}function Xt(e){for(var t="",o=0;o<e.length;o++)e[o]<16&&(t+="0"),t+=e[o].toString(16);return t}function Yt(e){return gi.run_arrayd_string(e,{cb:function(e){return e.reverse()}})}function Zt(e){var t=e.match(/^\s*<!\[CDATA\[([\s\S]+)\]\]>\s*$/);return t?t[1]:e.replace(/&nbsp;/g," ").replace(/&#([0-9]+);/g,function(e,t){return S(t)}).replace(/&quot;/g,'"').replace(/&amp;/g,"&")}function Kt(e){return e.replace(/&/g,"&amp;")}function Jt(e){return e.replace(/([\^$])/g,"\\$1")}function Qt(e,t){var o=e.replace(/#.*/,"").replace(/^.*?\?/,"");if(!o||o===e)return{};t=t||{};for(var r={},i=o.split("&"),n=0;n<i.length;n++){var a=i[n],s=!0,l=i[n].match(/^(.*?)=(.*)/);l&&(a=l[1],s=l[2]),0!==a.length&&(t.decode&&"string"==typeof s&&(s=decodeURIComponent(s)),r[a]=s)}return r}function An(e,t){var o,r,i,n=[];for(o in e)0!==o.length&&(i=e[r=o],t&&(i=encodeURIComponent(i)),!0!==e[o]&&(r+="="+i),n.push(r));return n.join("&")}function eo(e,t){ti(t)||(t=[t]);var o=e.replace(/^([^#]*?)\?(.*)$/,"$1"),r=e.replace(/^([^#]*?)\?(.*)$/,"$2");if(o===e)return e;for(var i=r.split("&"),n=[],a=0;a<i.length;a++){var s=i[a].replace(/^(.*?)=.*/,"$1");oi(t,s)<0&&n.push(i[a])}return o+(r=0===n.length?"":"?"+n.join("&"))}function to(e,t,o){ti(t)||(t=[t]),o=o||{};var r=Qt(e),i=[],n=yn();if(mi(t,function(e){var t;e in r&&(t=e+"=",o.overwrite&&e in o.overwrite?t+=o.overwrite[e]:t+=r[e],i.push(t),wn(n,e))}),o.required){!0===o.required&&(o.required=t);var a=0;if(mi(o.required,function(e){if(!kn(n,e))return!1;a++}),a<o.required.length)return e}if(o.overwrite)for(var s in o.overwrite)kn(n,s)||i.push(s+"="+o.overwrite[s]);return t=0===i.length?"":"?"+i.join("&"),e.replace(/\?.*/,"")+t}function oo(e,t){var o,r=Qt(e);for(o in t)r[o]=t[o];var i=An(r);return i?e.replace(/^([^#]*?)(?:\?.*)?$/,"$1?"+i):e}var ro=null;_e?"undefined"!=typeof GM_notification?ro=GM_notification:"undefined"!=typeof GM&&GM.notification&&(ro=GM.notification):Zr&&(ro=function(t,o){var e=_i(t,{json:!0});t.onclick&&(e.onclick=!0),Kr({type:"notification",data:e},function(e){e&&e.data&&("clicked"===e.data.action?t.onclick&&t.onclick():"closed"===e.data.action&&(o=t.ondone||o)&&o())})});function io(e){return e.replace(/(?:[-=_!?$#"'’‘”“]|\[|])/g," ").replace(/\s+/g," ").replace(/^\s+|\s+$/g,"")}function no(i){fi({url:"https://api.github.com/repos/qsniyg/maxurl/tags",method:"GET",headers:{Referer:""},onload:function(e){if(!(e.readyState<4)){if(200===e.status)try{for(var t=$(e.responseText),o=0;o<t.length;o++){var r=t[o].name;if(r.match(/^v[0-9.]+$/))return i({version:r.replace(/^v([0-9])/,"$1")})}}catch(e){si("Unable to parse github info",e)}return i(null)}}})}function ao(e){no(e)}var so=function(){var e=bi.last_update_url;return e=e||(r?l:_e?u:null)},lo=function(){bi.imu_enabled&&bi.check_updates&&H&&bi.last_update_check&&Date.now()-bi.last_update_check>60*bi.check_update_interval*60*1e3&&ao(function(e){var t;ve("last_update_check",Date.now()),e&&e.version&&(e.downloadurl?ve("last_update_url",e.downloadurl):ve("last_update_url",null),ve("last_update_version",e.version),bi.check_update_notify)&&!Qr&&1===we(H,e.version)&&(e={text:vi("Update available (%%1)",e.version)},(t=so())&&(e.onclick=function(){an({url:t})}),e=e,ro)&&(e.title||(e.title=vi("Image Max URL")),e.image||(e.image="https://raw.githubusercontent.com/qsniyg/maxurl/b5c5488ec05e6e2398d4e0d6e32f1bbad115f6d2/resources/logo_256.png"),ro(e,e.ondone||null))})};function uo(e,t,o){if(e===t)return 1;if(e-1===t||e+1===t)return 1;for(var r=0;r<o.length;r++)if(e===o[r]){if(1===t)return 1}else if(t===o[r]&&1===e)return 1}function co(e,t,o){return 1===e&&0<=oi(o,t)||1===t&&0<=oi(o,e)}function po(e,t){if(e!==t){if(8!==e.length||8!==t.length)return!1;var o=ci(e.substr(6,2)),r=ci(t.substr(6,2));if(!uo(o,r,[28,29,30,31]))return!1;var i=ci(e.substr(4,2)),n=ci(t.substr(4,2)),o=co(o,r,[28,29,30,31]);if(i!==n){if(!o)return!1;if(!uo(i,n,[12]))return!1}r=ci(e.substr(0,4)),e=ci(t.substr(0,4));if(r!==e){if(!o||!co(i,n,[12]))return!1;if(!uo(r,e,[]))return!1}}return!0}function En(e){setTimeout(e,1)}var Ot=function(e,t){return zn(e,t,!0)},mo=[],ho=[];function e(){Ct.clear()}var go=function(e,t){for(var o=[],r=(e||"").split("\n"),i=0;i<r.length;i++){var n,a=r[i].replace(/^\s+|\s+$/,"");0!==a.length&&(n=a,"glob"===t&&(n=function(e){for(var t,o="",r=-1,i=-1,n=0;n<e.length;n++)if(0<=r)"]"===e[n]&&(o+=e.substr(r,n-r+1),r=-1);else if(0<=i){if("}"===e[n]){for(var a=e.substr(i+1,n-i-1).split(","),s=[],l=0;l<a.length;l++)s.push(a[l].replace(/(.)/g,"[$1]"));0<s.length&&(1<s.length||0<s[0].length)&&(o+="(?:"+s.join("|")+")"),i=-1}}else"*"!==e[n]?"{"===e[n]?i=n:"["===e[n]?r=n:"?"===e[n]?o+="[^/]":"."===e[n]?o+="\\.":o+=e[n]:(t=!1,n+1<e.length&&"*"===e[n+1]&&(t=!0,n++),o+=t?".+":"[^/]+");return e="^"+(e="*"!==(e=o)[0]?(o=e.replace(/^[a-z]*:\/\//,"[a-z]+://"))!==e?o:"[a-z]+://[^/]*"+e:e)}(a)),o.push(new RegExp(n)))}return o};function fo(){mo=[];try{mo=go(bi.bigimage_blacklist,bi.bigimage_blacklist_engine)}catch(e){return[e]}}function _o(e){var t=Dn(e.responseHeaders);return(t=t&&jn(t))&&t.location?t.location:e.finalUrl}function Un(e){return(e=e.replace(/^\s*\[?([^/]+)\/([^/]+?)\]?\s*$/,"$1/$2"))in Io?Io[e]:!(e=e.match(/^([^/]+)\/([^/]+)$/))||"image"!==e[1]&&"video"!==e[1]?null:e[2]}function vo(e){for(var t=Eo=Eo||Ao(),o=-1,r=0;r<e.length;r++)o=o>>>8^t[255&(o^e.charCodeAt(r))];return(-1^o)>>>0}function bo(e,t,o){var r,i,n,a,s,l=Ni(),u=gi.gen_jquery_callback(),c="(function(){window['"+u+"']=(function(){",d=gi.gen_jquery_callback(),p="})();"+d+"();})();",m=(l[d]=function(){delete l[d];var e=l[u];delete l[u],t&&delete l[m],o(e)},null);t&&(m=gi.gen_jquery_callback(),a=Oi(50),r=a,i=t.data,n=!1,l[m]=function(e){if(e===r&&!n)return n=!0,i},c+="var "+t.varname+"="+m+"('"+a+"');"),a=c+e+p,s=document.createElement("script"),Ri([a],function(e){e=ba(e);s.src=e,document.documentElement.appendChild(s),ya(e),s.src=null,document.documentElement.removeChild(s)},{type:"text/javascript"})}function Rn(n,a,r,t){if(!a.allow_thirdparty_libs)return li("Refusing to request library "+n+" due to 3rd-party library support being disabled"),t(null);if(!(n in jo))return si("Invalid library",n),t(null);var s=jo[n];if(h)return t(null);if(p)try{var e="./lib/"+s.name+".js";return t(require(e))}catch(e){return console.error(e),t(null)}if(!Zr&&!_e)return t(null);Nt.fetch(n,t,function(i){if(Zr)Kr({type:"get_lib",data:{name:s.name}},function(e){if(!e||!e.data||!e.data.text)return i(null,0);Do(e.data.text,s.xhr,function(e){i(e,0)})});else{var e,t,o=s.url;if(!o)return si("No URL for library",s),i(null,0);a.use_webarchive_for_lib&&(o=s.archive_url||((t=s.archive_time)||(t=""+(e=new Date).getFullYear(),t=(t=(t=(t+=Sn(e.getMonth()+1,2))+Sn(e.getDate(),2))+Sn(e.getHours(),2))+Sn(e.getMinutes(),2)+"00"),"https://web.archive.org/web/"+t+"js_/"+s.url)),r({method:"GET",url:o,headers:{Referer:""},onload:function(e){if(4===e.readyState){if(200!==e.status)return si(e),i(null,!1);e=e.responseText;if(a.use_webarchive_for_lib&&(e=e.replace(/^\s*var _____WB\$wombat\$assign\$function_____[\s\S]*_____WB\$wombat\$assign\$function_____[(].*[)];\n\n/,"").replace(/\n\n}\n\/\*\s*FILE ARCHIVED ON[\s\S]*/,"").replace(/(["'])https:\/\/web.archive.org\/web\/[0-9]+(?:[a-z]+_)?\/+(https?:\/\/)/g,"$1$2").replace(/(["'])\/\/web.archive.org\/web\/[0-9]+(?:[a-z]+_)?\/+https?:(\/\/)/g,"$1$2")),bi.lib_integrity_check){var t=!1;if(e.length!==s.size)return si("Wrong response length for "+n+": "+e.length+" (expected "+s.size+")"),i(null,!1);var o=vo(e);if(o!==s.crc32)return si("Wrong crc32 for "+n+": "+o+" (expected "+s.crc32+")"),i(null,!1);if((o=vo(e+(s.size+"")))!==s.crc32_size)return si("Wrong crc32 #2 for "+n+": "+o+" (expected "+s.crc32_size+")"),i(null,!1);t&&ai("Check time:",Date.now()-r)}var o=e,t=s.xhr,r=function(e){i(e,0)};try{Do(o,t,r)}catch(e){return void si(e)}}}})}})}function yo(e){return e.replace(/[\u200B-\u200D\uFEFF]/g,"").replace(/[\u2800]/g," ")}function wo(e,o,r,i){return i=i||{},e.sort(function(e,t){e=e[o],t=t[o],t=r?(e=r(e),r(t)):(e=parseFloat(e)||0,parseFloat(t)||0);return i.reverse?t-e:e-t})}function ko(e,i,n){return e.sort(function(e,t){n&&(e=n(e),t=n(t));var o=oi(i,e),r=oi(i,t);return o<0?0<=r?1:"string"==typeof e&&"string"==typeof t?e.localeCompare(t):0:r<0?-1:o-r}),e}function xo(e){var t=e.match(/^<([-a-zA-Z0-9]+)((?:\s+[-a-z0-9A-Z]+(?:=(?:"[^"]*"|'[^']*'|[-_a-zA-Z0-9]+))?)*)\s*(\/?)>/);if(!t)return null;var o={tagname:t[1],selfclosing:!!t[3],args:{},args_array:[]},r=/\s+([-a-z0-9A-Z]+)(?:=("[^"]+"|'[^']+'|[-_a-zA-Z0-9]+))?/;if(t=t[2].match(new RegExp(r,"g")))for(var i=0;i<t.length;i++){var n=t[i].match(r),a=n[1].toLowerCase(),s=(s=n[2])?Zt(s.replace(/^["'](.*)["']$/,"$1")):"";o.args[a]=s,o.args_array.push({name:n[1],value:s})}return o}function Co(e,t){return t=new RegExp("<meta\\s+(?:(?:property|name|itemprop)=[\"']?"+t+"[\"']?\\s+(?:content|value|href)=[\"']([^'\"]+)[\"']|(?:content|value|href)=[\"']([^'\"]+)[\"']\\s+(?:property|name|itemprop)=[\"']?"+t+"[\"']?)\\s*/?>"),(e=e.match(t))?Zt(e[1]||e[2]):null}function zo(e){return e.replace(/([{,])\s*([^[{,"'\s:]+)\s*:/g,'$1 "$2":').replace(/(\"[^\s:"]+?\":)\s*'([^']*)'(\s*[,}])/g,'$1 "$2"$3').replace(/,\s*}$/,"}")}function No(e){var t=$o(e,Ho);if(!t)throw"unable to parse";for(var o={whitespace:" ",jvarname:function(e){return'"'+e+'"'},jpropname:function(e){return'"'+e+'"'},squote:'"',sliteral:function(e){return e.replace(/"/g,'\\"')},dliteral:function(e){return e.replace(/"/g,'\\"')},comma:function(e,t){return t&&"objend"!==t.name&&"arrend"!==t.name?e:""}},r="",i=0;i<t.length;i++){var n=t[i];if(n.name in o){var a=o[n.name];if("function"==typeof a){for(var s=1,l=t[i+s++];l&&"whitespace"===l.name;)l=t[i+s++];r+=a(n.value,l)}else r+=a}else r+=n.value}return r}function So(e){return e.video.length||e.image.length?e:(li("Unable to find video sources"),null)}function Ln(e,t){return!!/\.(?:jpe?g|png|web[mp]|gif|mp4|mkv|og[gv]|svg)(?:[?#].*)?$/i.test(e)||!(!t||!ea(t))}var Dn=function(e){for(var t=[],o=e.split("\r\n"),r=0;r<o.length;r++){var i=o[r].replace(/^\s*([^:]*?)\s*:[\s\S]*/,"$1").toLowerCase(),n=o[r].replace(/^[^:]*?:\s*([\s\S]*?)\s*$/,"$1");if(i!==o[r]&&n!==o[r])for(var a=n.split("\n"),s=0;s<a.length;s++)t.push({name:i,value:a[s]})}return Yr&&ai("parse_headers",e,_i(t)),t},jn=function(e){for(var t={},o=0;o<e.length;o++)t[e[o].name.toLowerCase()]=e[o].value;return t},qo=function(e){var t,o=[];for(t in e)o.push({name:t,value:e[t]});return o},Mn=function(e,t){for(var o in e)if(o.toLowerCase()===t.toLowerCase())return e[o]},To=function(e,t,o){for(var r in e)if(r.toLowerCase()===t.toLowerCase())return e[r]=o;return e[t]=o},Io={"image/jpeg":"jpg","application/dash+xml":"mpd"},Ao=function(){for(var e=[],t=0;t<256;t++){for(var o=t,r=0;r<8;r++)o=1&o?3988292384^o>>>1:o>>>1;e[t]=o}return e},Eo=null,Uo=function(s){this._headers={},this._response_headers={},this._reqobj=null,this._last_readyState=null,this._realxhr=null,this.open=function(e,t,o){this._method=e,this._url=t},this.setRequestHeader=function(e,t){To(this._headers,e,t)},this.getResponseHeader=function(e){return this._realxhr?this._realxhr.getResponseHeader(e):Mn(this._response_headers,e)},this.getAllResponseHeaders=function(){return this._realxhr?this._realxhr.getAllResponseHeaders():this._response_headers_raw};this.send=function(r,e,t){if(this._url&&s&&/^blob:/.test(this._url))return function(n,e){var t,a=new s;for(t in(this._realxhr=a).open(this._method,this._url,!0),a.responseType=n.responseType,a.withCredentials=n.withCredentials,a.timeout=n.timeout,this._headers)a.setRequestHeader(t,this._headers[t]);for(var o=["load","loadend","error","abort","progress","timeout","readystatechange"],r=0;r<o.length;r++)!function(i){i in n&&(a[i]=function(e){for(var t=["status","statusText","response","readyState","responseText","responseType","responseURL"],o=0;o<t.length;o++){var r=t[o];try{n[r]=a[r]}catch(e){}}n[i].bind(n)(e)})}("on"+o[r]);a.send(e)}.bind(this)(r,e);function o(t,o){i["on"+o]=function(e){!function(e,t,o){o&&(e.status=o.status||0,e.statusText=o.statusText,e.response=o.response,e.readyState=o.readyState,e.responseText=o.responseText,e.responseType=o.responseType,e.responseURL=o.finalUrl,this._response_headers_raw=o.responseHeaders);var r={currentTarget:e,target:e,loaded:e.loaded,lengthComputable:e.lengthComputable,total:e.total};o&&o.responseHeaders?this._response_headers=jn(Dn(o.responseHeaders)):o&&(this._response_headers=null),e.readyState!==this._last_readyState&&(e.onreadystatechange&&e.onreadystatechange.bind(e)(r),this._last_readyState=e.readyState),"load"===t&&(e.onload&&e.onload.bind(e)(r),e.onloadend)&&e.onloadend.bind(e)(r),"error"===t&&(e.onerror&&e.onerror.bind(e)(r),e.onloadend)&&e.onloadend.bind(e)(r),"abort"===t&&(e.onabort&&e.onabort.bind(e)(r),e.onloadend)&&e.onloadend.bind(e)(r),"progress"===t&&e.onprogress&&e.onprogress.bind(e)(r),"timeout"===t&&e.ontimeout&&e.ontimeout.bind(e)(r)}.bind(t)(r,o,e)}}for(var i={method:this._method,url:this._url,data:e,timeout:r.timeout||0,withCredentials:r.withCredentials||!0,responseType:r.responseType},n=(0<Object.keys(this._headers).length&&(i.headers=this._headers),["load","error","abort","progress","timeout"]),a=0;a<n.length;a++)o(this,n[a]);this._reqobj=t(i)},this.abort=function(){this._reqobj&&this._reqobj.abort()}},Ro=(Uo.do_request=fi,function(){for(var o=new imu_xhr.custom_xhr(void 0),e=["open","setRequestHeader","getResponseHeader","getAllResponseHeaders","abort"],t=0;t<e.length;t++){var r=e[t];!function(e){var t=o[e];this[e]=function(){return t.apply(o,arguments)}}.bind(this)(r)}this.send=function(e){return o.send(this,e,XMLHttpRequest.do_request)}}),Lo=function(t,o,r){try{r(o?new Function(o.varname,t)(o.data):new Function(t)())}catch(e){return _e&&bi.bypass_csp_for_lib?(li(e),bo(t,o,r)):(si(e),r(null))}},Do=function(e,t,o){var r;return t?(t=!0,r=";return {lib: lib_export, xhr: XMLHttpRequest, overridden_xhr: "+(t=bi.custom_xhr_for_lib?t:!1)+"};",t?(t="var orig_XMLHttpRequest=null;try{orig_XMLHttpRequest=window.XMLHttpRequest}catch (e){console.error(e);};var XMLHttpRequest=null;(function(imu_xhr){XMLHttpRequest="+Ro.toString()+";XMLHttpRequest.do_request = imu_xhr.do_request;})(imu_xhr);imu_xhr = undefined;",Lo(t+e+r,{varname:"imu_xhr",data:{custom_xhr:Uo,do_request:fi}},o)):Lo(e+r,null,o)):Lo(e+";return lib_export;",null,o)},jo={testcookie_slowaes:{name:"testcookie_slowaes",url:"https://raw.githubusercontent.com/qsniyg/maxurl/e90366f4b6c998614509472717fd18ca8050c1fa/lib/testcookie_slowaes.js",archive_time:"20210403210438",size:30462,crc32:1012990654,crc32_size:2369381957},shaka:{name:"shaka.debug",url:"https://raw.githubusercontent.com/qsniyg/maxurl/a4ca480a6cc503792762b4343f2f855cdf9cf48a/lib/shaka.debug.js",archive_time:"20210215220612",size:1270454,crc32:2187951259,crc32_size:3680154806,xhr:!0},cryptojs_aes:{name:"cryptojs_aes",url:"https://raw.githubusercontent.com/qsniyg/maxurl/22df70495741c2f90092f4cc0c504a1a2f6e6259/lib/cryptojs_aes.js",archive_time:"20210215220612",size:13453,crc32:4282597182,crc32_size:3521118067},stream_parser:{name:"stream_parser",url:"https://raw.githubusercontent.com/qsniyg/maxurl/0655c317844fb7a652c6ee9f88ab65514c53b482/lib/stream_parser.js",archive_time:"20210403204309",size:115544,crc32:270289712,crc32_size:2967398805},ffmpeg:{name:"ffmpeg",url:"https://raw.githubusercontent.com/qsniyg/maxurl/2178819a193656245ce1a2bd885ff12aaaa04ea9/lib/ffmpeg.js",archive_time:"20210403204304",size:285642,crc32:2587771391,crc32_size:2632494853,xhr:!0},jszip:{name:"jszip",url:"https://raw.githubusercontent.com/qsniyg/maxurl/3d8d6b4415b8dd58cb405910647c940ea122b3a0/lib/jszip.js",archive_time:"20231116183309",size:99559,crc32:2407465226,crc32_size:689840937},BigInteger:{name:"BigInteger",url:"https://raw.githubusercontent.com/qsniyg/maxurl/b0a4ba6c28f0c0b7c665e76e3767bde59e900ab6/lib/BigInteger.js",archive_time:"20231116183440",size:21482,crc32:337445473,crc32_size:2641711624},JSInterpreter:{name:"acorn_interpreter",url:"https://raw.githubusercontent.com/qsniyg/maxurl/b4d3d715e391e2e3f50a699acc5711bc7bdb6f52/lib/acorn_interpreter.js",archive_time:"20240311233145",size:79532,crc32:270556316,crc32_size:2713590225}},Mo=function(e){return e&&"string"==typeof e?e.replace(/^\s+/,"").replace(/\s+$/,""):e},wi=function(e){return e&&"string"==typeof e?Mo(yo(e)):e},Po=function(e,r){function t(e){var t,o;i.onload=null,i.onerror=null,clearTimeout(n),i.naturalHeight&&i.naturalWidth||(o=t=null),t=ci(i.naturalWidth),o=ci(i.naturalHeight),i.src="",r(t,o)}var i=new Image,n=null;i.onload=i.onerror=t,n=setInterval(function(){i.naturalHeight&&i.naturalWidth&&t()},10),i.src=e},Ho=(p&&(Po=null),{whitespace:/\s+/,jvarname:/[$_a-zA-Z][$_a-zA-Z0-9]*/,jpropname:/[$_a-zA-Z0-9]+/,number:/-?(?:[0-9]*\.[0-9]+|[0-9]+|[0-9]+\.)(?:e[0-9]+)?/,objstart:/{/,objend:/}/,object:["objstart","whitespace?","kvcw*","objend"],arrstart:/\[/,arrend:/]/,array:["arrstart","whitespace?","valuecw*","arrend"],true:/true/,false:/false/,null:/null/,value:[["array"],["object"],["sstring"],["dstring"],["number"],["true"],["false"],["null"]],valuew:["value","whitespace?"],valuec:["valuew","comma?"],valuecw:["valuec","whitespace?"],comma:/,/,colon:/:/,squote:/'/,dquote:/"/,sstring:["squote","sliteral","squote"],dstring:["dquote","dliteral","dquote"],propname:[["jpropname"],["sstring"],["dstring"]],kv:["propname","whitespace?","colon","whitespace?","value"],kvw:["kv","whitespace?"],kvc:["kvw","comma?"],kvcw:["kvc","whitespace?"],doc:[["object"],["array"]]}),$o=function(f,_){for(var e in _=_i(_)){var t=_[e];t instanceof RegExp?_[e]={type:"regex",value:new RegExp("^"+t.source)}:ti(t)&&(ti(t[0])?_[e]={type:"or",value:t}:_[e]={type:"and",value:t})}function u(e,t,o){if(e in v||(v[e]=0),v[e]++,o in b||(b[o]=0),b[o]++,"sliteral"===e||"dliteral"===e){for(var r=e,i=t,n="dliteral"===r?'"':"'",a="",s=!1,l=i;l<f.length;l++){var u=f[l];if(s)s=!1,"x"===u?(a+="\\u00"+f.substr(l+1,2),l+=2):a+='"'!==u&&"'"!==u?"\\"+u:u;else{if(u===n)break;"\\"===u?s=!0:a+=u}}return[{name:r,i:i,ni:l,value:a,length:l-i}]}var c;if("and"===(r=_[e]).type)return y(r.value,t,o);if("or"!==r.type)return i=e,e=r.value,c=t,(e=f.substring(c).match(e))&&0===e.index?[{name:i,i:c,ni:c+e[0].length,value:e[0],length:e[0].length}]:null;for(var d=r,p=t,m=o,h=0;h<d.value.length;h++){var g=y(d.value[h],p,m);if(g&&g.length)return g}return null}var v={},b={},y=function(e,t,o){for(var r=[],i=0;i<e.length;i++){var n,a=e[i],s=a[a.length-1],l=a.substring(0,a.length-1);if("?"===s)(n=u(l,t,o+1))&&0!==n.length&&(Di(r,n),t=n[n.length-1].ni);else if("*"===s)for(;;){if(!(n=u(l,t,o+1))||0===n.length)break;Di(r,n),t=n[n.length-1].ni}else{if(!(n=u(a,t,o+1))||0===n.length)return null;Di(r,n),t=n[n.length-1].ni}}return r};return u("doc",0,0)},Fo=(gi.get_bigint=function(e,o){"undefined"!=typeof BigInt?o({create:function(e){return BigInt(e)},add:function(e,t){return e+t},sub:function(e,t){return e-t},mul:function(e,t){return e*t},div:function(e,t){return e/t},mod:function(e,t){return e%t},stringify:function(e){return e.toString()}}):Rn("BigInteger",bi,e,function(t){if(!t)return o(null);o({create:function(e){return t(e)},add:function(e,t){return e.add(t)},sub:function(e,t){return e.subtract(t)},mul:function(e,t){return e.multiply(t)},div:function(e,t){return e.divide(t)},mod:function(e,t){return e.mod(t)},stringify:function(e){return e.toString()}})})},gi.fetch_imgur_webpage=function(o,n,a,r,e){function s(i){var e,t=r.replace(/^http:/,"https:");o({url:t,method:"GET",headers:e=l?a:e,onload:function(e){if(4===e.readyState){if(200!==e.status)return si("Bad status for Imgur: "+e.status),404===e.status?i({bad:!0},!1):i(null,!1);var t,o=e.responseText.match(/<meta\s+property=["']og:video["']\s+content=["'](.*?)["']/),r={ogvideo:r=o?Zt(o[1]).replace(/\?.*/,""):r,ogimage:t=(o=e.responseText.match(/<meta\s+property=["']og:image["']\s+content=["'](.*?)["']/))?Zt(o[1]).replace(/\?.*/,""):t},o=e.responseText.match(/\.\s*mergeConfig\s*\(\s*["']gallery["']\s*,\s*{[\s\S]+?image\s*:\s*({.*?})\s*,\s*\n/);if(o){r.found_match=!0,t=o[1];try{t=$(t),(r.imageinfo=t).source&&t.hash&&!t.is_album&&n.set("imgur_imageinfo:"+t.hash,t,21600)}catch(e){si(e),ai(o),t=void 0}i(r,21600)}else{r.found_match=!1;o="Unable to find match for Imgur page";if(e.responseText.match(/<a.*?btn-wall--yes.*?\.(?:signin|cookie)\(/)&&(o+=" (it's probably NSFW and you aren't logged in)",r.nsfw=!0),li(o),a&&!l)return ai("Retrying with custom headers"),l=!0,s(i);i(r,15)}}}})}var t="imgur_webpage:"+r.replace(/^https?:\/\/(?:www\.)?imgur/,"imgur").replace(/[?#].*/,""),l=!1;n.fetch(t,e,s)},gi.imgur_run_api=function(e,t,o,r,i){(r=r||{}).client_id=x("IDU0NmMyNWE1OWM1OGFkNw==").slice(1);o=o+"?"+An(r);g(t,e,"imgur_api:"+o,{url:o,imu_mode:"xhr",headers:{Referer:"https://imgur.com/"},json:!0},i,function(e,t){return e(t,3600)})},gi.imgur_api_fetch_album_media=function(e,t,o,r,i){"album"===o?o="albums":"image"===o&&(o="media");return gi.imgur_run_api(e,t,"https://api.imgur.com/post/v1/"+o+"/"+r,{include:"media,adconfig,account"},i)},gi.imgur_fetch_album_media=function(t,o,r,i,n){var a,e;return"album"!==r&&"image"!==r?(si("Bug! Invalid type:",r),n(null)):(a=function(e){var t;return e?(t=gi.imgur_normalize(e),n(t)):n(e)},"rule_specific"in t&&"imgur_source"in t.rule_specific&&t.rule_specific.imgur_source?(e="https://imgur.com/","album"===r&&(e+="a/"),void gi.fetch_imgur_webpage(t.do_request,o,null,e+=i,function(e){return e&&e.found_match&&e.imageinfo?a(e.imageinfo):gi.imgur_api_fetch_album_media(t.do_request,o,r,i,a)})):gi.imgur_api_fetch_album_media(t.do_request,o,r,i,a))},gi.imgur_normalize=function(e){var t;return"media"in e||(e.album_images?e.media=e.album_images.images:e.images&&(e.media=e.images)),"is_album"in e||"album_images"in e&&(e.is_album=!0),"url"in e||(e.link?e.url=e.link:e.hash&&(t="https://imgur.com/",e.is_album&&(t+="a/"),e.url=t+e.hash)),e},gi.imgur_image_to_obj=function(e,t,o){var r=[];try{var i,n,a,s,l,u=o,c=(((u=o.metadata?o.metadata:u).description||u.title)&&(t.extra.caption=u.description||u.title),o.hash||o.id&&(o.hash=o.id),t.headers||(t.headers={Referer:null}),t.referer_ok||(t.referer_ok={same_domain_nosub:!0}),t.extra.page="https://imgur.com/"+o.hash,o.ext&&("."!==o.ext[0]&&(o.ext="."+o.ext),".jpeg"===o.ext.toLowerCase())&&(o.ext=".jpg"),null);o.hash&&o.ext&&(c=o.hash+o.ext,i=_i(t),"rule_specific"in e&&"imgur_filename"in e.rule_specific&&e.rule_specific.imgur_filename&&o.name&&(i.filename=o.name),(n=_i(i)).url="https://i.imgur.com/"+c,a=o.mimetype||o.mime_type,/^video\//.test(a)?(n.video=!0,r.push(n),(s=_i(i)).url="https://i.imgur.com/"+o.hash+".jpg",r.push(s)):((u.is_animated||o.animated)&&(o.prefer_video,1)&&((l=_i(i)).url="https://i.imgur.com/"+o.hash+".mp4",l.video=!0,r.push(l)),r.push(n)))}catch(e){si(e),r=[]}return r},gi.deviantart_url_from_id=function(e,t,o,r){var i;if("string"==typeof o&&/^[a-z0-9]+$/.test(o)&&7===o.length&&"d"===o[0])return i=parseInt(o,36)-28298170368,gi.deviantart_url_from_id(e,t,i,r);g(t,e,"deviantart_url_from_id:"+o,{method:"HEAD",url:"http://fav.me/"+o,cookie_url:"https://www.deviantart.com/"},r,function(e,t,o){e(t.finalUrl,21600)})},gi.deviantart_page_from_id=function(t,o,r,i){gi.deviantart_url_from_id(t,o,r,function(e){if(!e)return i(null);g(o,t,"deviantart_page_from_id:"+r,{url:e},i,function(e,t,o){e(t,3600)})})},gi.wix_image_info=function(e){var t={},o=e.match(/^[a-z]+:\/\/[^/]+\/+(?:intermediary\/+)?([if])\/+[-0-9a-f]{20,}\/+[^/?]+([?#].*)?$/);if(o)o[3]&&"?"===o[3][0]&&(t.has_token=!0),"i"===o[1]?t.preview=!0:t.original=!0;else{if(!(o=e.match(/^[a-z]+:\/\/[^/]+\/+(?:intermediary\/+)?[if]\/+[-0-9a-f]{20,}\/+[^/]+\/+v1\/+(?:fit|fill|crop)\/+([^/]+)\/+[^/]+(?:[?#].*)?$/)))return null;for(var r,i,n=o[1].split(","),a=0;a<n.length;a++)n[a].match(/^[a-z]+$/)?t[n[a]]=!0:(r=n[a].replace(/_.*$/,""),(i=n[a].replace(/^.*?_/,"")).match(/^[-0-9.]+$/)&&(i=parseFloat(i)),t[r]=i);t.w&&t.h&&(t.pixels=t.w*t.h)}return t},gi.wix_compare=function(e,t,o){if(Yr&&ai("wix_compare",e,t,o),!t)return e;var r=gi.wix_image_info(e),i=gi.wix_image_info(t);if(Yr&&ai("wix_compare (info1:",r,"info2:",i,")"),r&&i){if(r.original&&i.original)return i.has_token?e:t;if(r.original&&(!o||!i.preview))return e;if(i.original&&(!o||!r.preview))return t;if(r.pixels&&i.pixels){if(r.pixels>i.pixels)return e;if(i.pixels>r.pixels)return t;if(r.q&&i.q){if(r.q>i.q)return e;if(i.q>r.q)return t}}}return null},gi._wix_bigimage_inner=function(e){var t=e.replace(/(:\/\/[^/]*\/)(f\/+[-0-9a-f]{36}\/+[0-9a-z]+-[-0-9a-f]{20,}(?:\.[^/.]*)?\/+v1\/+fill\/+w_[0-9]+,h_[0-9]+)(?:,[^/]+)?(\/+.*[?&]token=.*)$/,"$1$2,q_100$3");return t===e&&(t=e.replace(/(:\/\/[^/]*\/f\/+[-0-9a-f]{36}\/+[0-9a-z]+-[-0-9a-f]{20,}\.(?:png|PNG)\/+v1\/+fill\/+[^/]+\/+[^/?#]+)\.[^/.?#]+(\?.*)?$/,"$1.png$2"))===e&&(/^[a-z]+:\/\/[^/]+\/+f\/+[-0-9a-f]{36}\/+[a-z0-9]{5,}-[-0-9a-f]{36}\.[^/.?#]+\?token=[^&]+(?:#.*)?$/.test(e)||(t=e.replace(/(:\/\/[^/]*\/)(f\/+[-0-9a-f]{36}\/+.*?)[?&]token=.*$/,"$1intermediary/$2"))===e)&&(e.match(/[?&]token=.{30,}/)||(t=e.replace(/(\.[^/.]*)\/v1\/.*/,"$1").replace(/(\/[^/.]*\.[^/.]*?)_[_0-9.a-z]*$/,"$1"))===e)?null:t},gi.wix_bigimage=function(e){for(var t=[];e;)t.unshift(e),e=gi._wix_bigimage_inner(e);return t},gi.deviantart_fullimage=function(v,e,b,t,y){gi.deviantart_page_from_id(v.do_request,e,t,function(t){if(!t)return y(null);var e={url:null,waiting:!1,extra:{page:t.finalUrl}},o=[],r=(b.match(/:\/\/[^/]*\/fake_image\//)||Di(o,gi.wix_bigimage(b)),t.finalUrl.replace(/.*-([0-9]+)(?:[?#].*)?$/,"$1")),i=(r===t.finalUrl&&(r=null),t.responseText.match(/window\.__INITIAL_STATE__\s*=\s*JSON\.parse\((".*")\);\s*(?:window\.|<\/script)/));if(i&&r){try{i=$($(i[1].replace(/\\'/g,"'")))}catch(e){throw console.error(e,{initialstate:i,result:t}),e}ai(i);try{var n=i["@@entities"],a=n.deviation[r],s=null,l=(n.deviationExtended&&(s=n.deviationExtended[r]),Yr&&(ai("Deviation object",a),ai("Extended deviation object",s)),a.title&&(e.extra.caption=a.title),e.url),u=a.files;if(ti(u))for(var c=u.length-1;0<=c;c--){var d=u[c];(m=gi.wix_compare(d.src,l,v.rule_specific.deviantart_prefer_size))===d.src&&(l=m)}else if("media"in a&&ti(a.media.types)){a.media.prettyName&&(e.filename=a.media.prettyName);for(var p=a.media.types,c=p.length-1;0<=c;c--){var m,h=null,g=0,f=("r"in p[c]&&p[c].r<a.media.token.length&&(g=p[c].r),"?token="+a.media.token[g]);p[c].c?h=a.media.baseUri+"/"+p[c].c.replace("<prettyName>",a.media.prettyName).replace(/^\/+/,"")+f:p[c].b?h=p[c].b+f:"fullview"===p[c].t&&"r"in p[c]&&(h=a.media.baseUri+f),h&&(m=gi.wix_compare(h,l,v.rule_specific.deviantart_prefer_size))===h&&(l=m)}}var _=gi.wix_bigimage(l);gi.wix_image_info(l);Di(_,o),o=_,s&&v.rule_specific.deviantart_support_download&&s.download&&s.download.url&&o.unshift({url:s.download.url,is_private:!0})}catch(e){si(e)}}return y(At(o,e))})},gi.getty_image_info=function(e){var t,o,r;return/^[a-z]+:\/\/media\.(?:gettyimages|istockphoto)\.com\//.test(e)&&(t={},(r=e.match(/:\/\/[^/]+\/+id\/+([0-9]+)\/(?:[a-z]{2}\/+)?([^/.]+)\/+([^/.]+)\.([a-z]+)/))?(t.id=r[1],t.category=r[2],t.filename=r[3],t.ext=r[4]):(r=e.match(/\/([a-z]+?)s?\/+([^/.]*?)-id([0-9]+)(?:[?#].*)?$/))&&(t.id=r[3],t.category=r[1],t.filename=r[2],t.ext="jpg"),t.id)?((r=(r=Qt(e))||{}).s?(e=(r.s+"").match(/^([0-9]+)x([0-9]+)$/))?(o=ci(e[1]),e=ci(e[2]),t.size=di(o,e),t.size2=o*e):(t.size=0,t.size2=0):(t.size=1024,t.size2=1048576),r.w?"0"===r.w?t.watermark=!1:t.watermark=r.w:t.watermark=!(t.size<=170)&&"gi",t):null},gi.getty_transform_url=function(e){return e.replace(/(\/id\/+[0-9]+\/+)(?:[a-z]{2}\/+)?foto\/+/,"$1photo/").replace(/(\/id\/+[0-9]+\/+)(?:[a-z]{2}\/+)?(?:向量|%E5%90%91%E9%87%8F)\/+/,"$1vector/").replace(/\/id\/+([0-9]+)\/+(?:[a-z]{2}\/+)?(photo|vector)\/+([^/.?#]+)(?:[?#.].*)?$/,"/$2s/$3-id$1")},gi.get_testcookie_cookie=function(e,t,o,r){var c="testcookie_cookie:"+o,i=e.do_request;t.fetch(c,r,function(u){Rn("testcookie_slowaes",e,e.do_request,function(l){if(!l)return si(c,"Unable to fetch patched slowAES library"),u(null,!1);i({method:"GET",url:o,headers:{Referer:"",Cookie:""},onload:function(e){if(4===e.readyState){if(200!==e.status)return ai(c,e),u(null,!1);var t=e.responseText.match(/[a-z]=\s*toNumbers\(["'][0-9a-f]+["']/g);if(!t)return ai(c,"Unable to find toNumbers match",e),u(null,!1);for(var o={},r=0;r<t.length;r++){var i=t[r].match(/([a-z])=toNumbers\(["']([0-9a-f]+)["']/);o[i[1]]=Vt(i[2])}var n,a,s=e.responseText.match(/slowAES\.decrypt\s*\(\s*(.)\s*,\s*(.)\s*,\s*(.)\s*,\s*(.)\s*\)/);return s?(n=e.responseText.match(/document\.cookie\s*=\s*["']([^='"]*?)=/))?(n=n[1],a=Xt(l.decrypt((a=function(e){return/[a-z]/.test(e)?o[e]:ci(e)})(s[1]),a(s[2]),a(s[3]),a(s[4]))),void u(n+"="+a,21600)):(ai(c,"Unable to find cookie name match",e),u(null,!1)):(ai(c,"Unable to find slowAES match",e),u(null,!1))}}})})})},gi.static_unpack_packer=function(e,o,t,r){function i(e){var t="";return o<=e&&(t=i(ci(e/o))),t+=35<(e%=o)?S(e+29):e.toString(36)}for(var n=10===o?function(e){return e+""}:o<=36?function(e){return e.toString(o)}:i,a={},s=t;0<=s;s--){var l=n(s);a[l]=r[s]||l}return e.replace(/\b\w+\b/g,function(e){return a[e]})},gi.unpack_packer=function(e){var t,o,r,e=e.match(/eval\(function\(p,a,c,k,e,[rd]\){.*?return p}\('(.*?)',([0-9]+),([0-9]+),'(.*?)'\.split\('[|]'\)(?:,0,{})?\)\)/);return e?(t=e[1].replace(/([^\\])\\'/g,"$1'"),o=parseInt(e[2]),r=parseInt(e[3]),e=e[4].split("|"),gi.static_unpack_packer(t,o,r,e)):null},gi.instagram_username_from_sharedData=function(e){return e.username||((e=e.entry_data).ProfilePage?e.ProfilePage[0].graphql:e.PostPage[0]).user.username},gi.instagram_get_imageid=function(e){var t;return e&&("number"==typeof e?e:(t=e.replace(/.*\/stories\/+[^/]+\/+([0-9]+)\/*(?:[?#].*)?$/,"$1"))===e&&(t=e.replace(/.*\/([^/.?#]*)\.[^/]*(?:[?#].*)?$/,"$1"))===e?null:t)},gi.instagram_norm_url=function(e){return eo(e,["se","ig_cache_key"])},gi.set_cdninstagram_obj=function(e){return(e="string"==typeof e?{url:e}:e).headers||(e.headers={}),To(e.headers,"Referer","https://www.instagram.com/"),e.video?To(e.headers,"Sec-Fetch-Dest","video"):To(e.headers,"Sec-Fetch-Dest","image"),To(e.headers,"Sec-Fetch-Mode","cors"),To(e.headers,"Sec-Fetch-Site","cross-site"),e.need_credentials=!1,e},gi.instagram_shortcode_to_id=function(n,a){gi.get_bigint(fi,function(e){if(!e)return a(null);n=n.substring(0,11);for(var t=e.create(0),o=e.create(64),r=0;r<n.length;r++){var i=e.create(ri("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",n[r])),t=e.mul(t,o);t=e.add(t,i)}return a(e.stringify(t))})},gi.instagram_parse_el_info=function(p,m,h,D,g,e,t,o){function r(e,t){return"https://www.instagram.com/"+e+"/"+t+"/"}/^[a-z]+:\/\/[^/]*\.instagram\.com\//.test(t);function i(e){try{var t=(t=e.match(/window\._sharedData = *(.*?);?<\/script>/))||e.match(/window\._sharedData *= *(.*?}) *;[\s]*window\.__initialDataLoaded/),o=$(t[1]);if(t=e.match(/window\.__additionalDataLoaded\(["'].*?["']\s*,\s*({.*?})\);?\s*<\/script>/)){var r,i=$(t[1]);for(r in o.entry_data)ti(o.entry_data[r])&&(i.items&&ti(i.items)&&(i=i.items[0]),o.entry_data[r][0]=function e(t,o){if("function"==typeof t||ti(t))return o;if("object"!=typeof t)return o;if("object"!=typeof o)return o;for(var r in o)r in t?t[r]=e(t[r],o[r]):t[r]=o[r];return t}(o.entry_data[r][0],i))}return o}catch(e){si(e)}return null}function n(e,t){if(!m)return t(null);var o="instagram_page_query:"+(e=e.replace(/[?#].*/,"").replace(/([^/])$/,"$1/").replace(/^http:/,"https:").replace(/(:\/\/)(instagram\.com\/)/,"$1www.$2").replace(/(:\/\/.*?)\/\/+/g,"$1/"));p.fetch(o,t,function(t){m({method:"GET",url:e,onload:function(e){if(4===e.readyState)return t(e,3600)}})})}function l(e,t){var s="instagram_username_uid:"+(e=e.match(/^http/)?e.replace(/^[a-z]+:\/\/[^/]*\/+(?:stories\/+)?([^/]*)(?:\/.*)?(?:[?#].*)?$/,"$1"):e);p.fetch(s,t,function(a){n("https://www.instagram.com/"+e+"/",function(e){if(!e||200!==e.status)return si(s,"Unable to query",e),a(null,!1);var o={},t=ne(e.responseText,/"props":{"id":"([0-9]+)",/);if(!t||!t.length)return si(s,"Unable to find UID from user page",e),a(null,!1);for(var r=0,i=t;r<i.length;r++){var n=i[r][1];n in o||(o[n]=0),o[n]++}e=Object.keys(o);return e.sort(function(e,t){return o[t]-o[e]}),a(e[0],300)})})}function a(e,t){E(e,t)}function u(e,o,r){var i,n="instagram_reels:"+e,a=e,e=function(t){if(!t)return r(null);try{var e=c(t.items,o);return r(e)}catch(e){si(n,t),si(n,e)}};h?(i="instagram_reels:"+a,p.fetch(i,e,function(o){var e="https://www.instagram.com/api/v1/feed/reels_media/?reel_ids="+encodeURIComponent(a);E(e,function(t){if(!t)return o(null,!1);if(4===t.readyState){if(200!==t.status)ai(i,t);else try{var e=$(t.responseText);return a in e.reels?o(e.reels[a],600):(si(i,"Unable to find",a,"in",t),o(null,!1))}catch(e){ai(i,t),si(i,e)}return o(null,!1)}})})):e(null)}function s(e,t){if(!h)return t(null);var r="instagram_story_uid:"+e;p.fetch(r,t,function(o){E("https://i.instagram.com/api/v1/feed/user/"+e+"/story/",function(t){if(!t)return o(null,!1);if(4===t.readyState){if(200!==t.status)ai(r,t);else try{var e=$(t.responseText);return o(e.reel,600)}catch(e){ai(r,t),si(r,e)}return o(null,!1)}})})}function c(e,t){for(var o=[],r=null,i=0;i<e.length;i++){var n,a=e[i],s=U(a);s.length<1?li("No images found for",a):(a=s[0],s=(o.push(a),a.username&&a.id&&(a.page="https://www.instagram.com/stories/"+a.username+"/"+a.id+"/"),gi.instagram_get_imageid(a.src)),p.set("instagram_story_pic:"+s,a,21600),a.video&&(n=gi.instagram_get_imageid(a.video),p.set("instagram_story_pic:"+n,a,21600)),a.id&&p.set("instagram_story_pic:"+a.id,a,21600),!t||s!==t&&n!==t&&a.id!==t.replace(/_[0-9]+$/,"")||(r=a))}var l=[];return mi(o,function(e){e.page&&l.push(e.page),e.album_link=e.page,e.album=l}),t?null!==r?r:null:o}function d(r,e,t){function o(o){s(e,function(t){if(!t)return o(null);try{var e=c(t.items,r);return o(e)}catch(e){return ai(i,t),si(i,e),o(null)}})}var i="instagram_story_api:"+e;r?(i="instagram_story_pic:"+r,p.fetch(i,t,function(t){o(function(e){return t(e,!!e&&21600)})})):o(t)}function f(e){return"string"==typeof e?e:e.text||(e.edges&&0<e.edges.length?e.edges[0].node.text:null)}function v(e){return e.caption?f(e.caption):e.title?f(e.title):e.edge_media_to_caption?f(e.edge_media_to_caption):void 0}function b(e){return e.shortcode||e.code||null}function y(e){var t=b(e);return t?"igtv"===e.product_type?r("tv",t):"clips"===e.product_type?r("reel",t):r("p",t):null}function w(e){return(e=e.user||e.owner)&&e.username?e.username:null}function k(e){return e.date?1e3*e.date:e.taken_at_timestamp?1e3*e.taken_at_timestamp:e.created_time?1e3*e.created_time:e.taken_at?1e3*e.taken_at:null}function _(e,t){for(var o=0;o<t.length;o++){if("first"===e)return t[o];if("number"==typeof e){if(e===t[o].i)return t[o]}else{if(0<ri(t[o].src,e))return t[o];if(t[o].id===e)return t[o]}}return null}function x(e,t,o){var r,i=e;return"string"==typeof i&&"first"!==i&&(i=gi.instagram_get_imageid(e)),(e=_(i,t))?(t=null,r={largest:e},(t=o?_(i,o):t)&&t!==e&&(r.smallest=t),r):null}function C(e,t,o){var r,i={},n=null;if(e.caption&&(i.caption=e.caption),e.page&&(i.page=e.page),e.username&&(i.author_username=e.username),e.created&&(i.created_date=e.created),e.shortcode&&(i.id=e.shortcode),e.album)for(var a,n={type:"links",links:a=[]},s=0;s<e.album.length;s++)a.push({url:e.album[s],is_current:e.album_link===e.album[s]});else if(e.total_images&&"i"in e&&!isNaN(e.i)&&e.page){n={type:"links",links:a=[]};for(s=1;s<e.total_images+1;s++)a.push({url:e.page+"#imu-i="+s,is_current:s===e.i})}return e.video_dash&&(r="data:application/dash+xml,"+encodeURIComponent(e.video_dash),o.push(gi.set_cdninstagram_obj({url:r,video:"dash",extra:_i(i),album_info:_i(n)}))),e.video&&t.push({url:gi.instagram_norm_url(e.video),video:!0,extra:_i(i),album_info:_i(n)}),t.push({url:gi.instagram_norm_url(e.src),extra:_i(i),album_info:_i(n)}),At(t,gi.set_cdninstagram_obj({}),!0)}function z(e){var t,o,r,i,n,a,s;return e?(t=[],o=[],e=(r=e).smallest?(i=(r=_i(r)).largest,n=r.smallest,i.video_width*i.video_height<n.video_width*n.video_height&&(a=i.video,i.video=n.video,n.video=a,a=i.video_width,s=i.video_height,i.video_width=n.video_width,i.video_height=n.video_height,n.video_width=a,n.video_height=s),{largest:i,smallest:n}):r,t=C(e.largest,t,o),e.smallest&&(t=C(e.smallest,t,o)),Di(o,t),o):null}function N(e,o){var r;r=function(e){if(e)try{var t=e.entry_data.PostPage[0];return o(t)}catch(e){si(e)}return o(null)},n(e,function(e){var t;return e?(t=i(e.responseText))?r(t):(ai("instagram_sharedData",e),r(null)):r(null)})}function S(i,e,n){if(!e)return n(null);var a="graphql_ig_post:"+e;p.fetch(a,function(t){if(!t)return n(null);var e=!1;if("GraphVideo"!==t.__typename||t.video_url){if("GraphSidecar"===t.__typename)if(t.edge_sidecar_to_children&&t.edge_sidecar_to_children.edges&&0<t.edge_sidecar_to_children.edges.length)for(var o=t.edge_sidecar_to_children.edges,r=0;r<o.length;r++){if(!o[r]||!o[r].node){e=!0;break}if("GraphVideo"===o[r].node.__typename&&!o[r].node.video_url){e=!0;break}}else e=!0}else e=!0;e&&m?N(i,function(e){e&&(p.set(a,e),t=e),n(t)}):n(t)},function(t){N(i,function(e){return e?t(e,3600):t(null,!1)})})}function q(i,u,c){var o,r,e,d=function(e){e=e.match(/^[a-z]+:\/\/[^/]+\/+(?:[^/]+\/+)?(?:p|tv|reel)\/+([^/]+)/);return e?e[1]:null}(i);return o=i,r=d,e=function(e){if(!e)return c(null);try{var r,t=e,o=function(e){function t(){if(Yr&&(ai("images_app",s),ai("images_graphql",l)),s&&s.length||(s=null),l&&l.length||(l=null),!s&&!l)return c(null);function o(){var e;return Yr&&(ai("images_small",_i(a)),ai("images",_i(n),u)),u?(e=x(u,n,a))?c(z(e)):(si("Unable to find",u,"in",_i(n),_i(a)),void c(null)):c(n)}if(s&&l&&s.length===l.length){for(var r=0,i=0,e=0;e<s.length;e++)s[e].width*s[e].height<l[e].width*l[e].height?(n[e]=l[e],a[e]=s[e]):(n[e]=s[e],a[e]=l[e]),!function(t){g&&s[t].video&&(i++,gi.find_actual_largest_image(n[t].video,[n[t].video,a[t].video],function(e){r++,e===n[t].video?(n[t].video_width=1e4,n[t].video_height=1e4):e===a[t].video&&(a[t].video_width=1e4,a[t].video_height=1e4),i<=r&&En(o)},{check_length:!0,api_cache:p,do_request:m}))}(e);if(i)return}else a=s?(n=s,l):(n=l,s);o()}var n=[],a=[],s=[],l=[],o=!1;null!==e?s=U(e.items[0]):(h&&li("Unable to use API to find Instagram image, you may need to login to Instagram"),o=!0);o?S(i,d,function(e){e&&(l=U(e)),t()}):t()};h?(r="instagram_mediainfo:"+t,p.fetch(r,o,function(o){a("https://i.instagram.com/api/v1/media/"+t+"/info/",function(t){if(!t)return o(null,!1);if(4===t.readyState){if(200===t.status){var e=null;try{e=$(t.responseText)}catch(e){ai("instagram_mediainfo",t),si("instagram_mediainfo",e)}if(Yr&&ai("instagram_mediainfo",e),e)return o(e,3600)}else si(r,t);o(null,!1)}})})):o(null)}catch(e){si(e),c(null)}},p.fetch("ig_shortcode_to_id:"+r,e,function(t){A(r,function(e){if(e)return t(e,86400);S(o,r,function(e){return e&&e.id?t(e.id,86400):t(null,!1)})})}),{waiting:!0}}for(var T,I="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",A=function(n,a){gi.get_bigint(m,function(e){if(!e)return a(null);n=n.substring(0,11);for(var t=e.create(0),o=e.create(64),r=0;r<n.length;r++){var i=e.create(ri(I,n[r])),t=e.mul(t,o);t=e.add(t,i)}return a(e.stringify(t))})},E=function(t,o){if(!m)return o(null);function r(){i||li("Unable to find value for x-ig-www-claim header");var e={Accept:"*/*","X-ASBD-ID":"198387","X-IG-App-ID":"936619743392459",Origin:"https://www.instagram.com",Referer:"https://www.instagram.com/","Sec-Fetch-Site":"same-site","Sec-Fetch-Mode":"cors","Sec-Fetch-Dest":"empty"};i&&(e["X-IG-WWW-Claim"]=i),m({method:"GET",url:t,headers:e,onload:o})}var i=null;De?De("https://www.instagram.com/",["www-claim-v2"],function(e){e&&e["www-claim-v2"]&&(i=e["www-claim-v2"]),r()},{storage:"session"}):r()},j=function(e,o){return l(e,function(e){if(!e)return o(null);var t;t=e,e=function(e){var t;return e?(t=function(t){try{return t.hd_profile_pic_url_info.url}catch(e){try{return t.profile_pic_url}catch(e){return si(e,t),null}}}(e),t={url:gi.instagram_norm_url(t),extra:{author_username:e.username,page:"https://www.instagram.com/"+e.username}},o(gi.set_cdninstagram_obj(t))):o(null)},p.fetch("instagram_uid_to_profile:"+t,e,function(o){a("https://i.instagram.com/api/v1/users/"+t+"/info/",function(t){if(!t)return o(null,!1);if(4===t.readyState)try{var e=$(t.responseText).user;o(e,300)}catch(e){ai("instagram_uid_to_profile",t),si("instagram_uid_to_profile",e),o(null,!1)}})})}),{waiting:!0}},U=function(m){function h(e,t){return t.height||e.original_height/e.original_width*t.width}function g(e,t){if(!e.is_unprocessed||!t.is_unprocessed){if(e.is_unprocessed)return-1;if(t.is_unprocessed)return 1}return t.size-e.size}function e(e,t){for(var o=t.image_versions2.candidates,r=0,i=null,n={},a=0;a<o.length;a++)o[a].corrected_height=h(t,o[a]),o[a].is_unprocessed=0===function(e){var t=(t=e.replace(/^[a-z]+:\/\/[^/]+\/+/,"").replace(/\/[^/]+(?:[?#].*)?$/,"")).split(/\/+/g),o=[],t=(mi(t,function(e){"v"===e||/^e[0-9]+$/.test(e)||/^t[0-9]+\./.test(e)||o.push(e)}),Qt(e));return t&&t.stp&&(e=t.stp.split("_"),mi(e,function(e){/^e[0-9]+$/.test(e)||/^dst-/.test(e)||ji(o,e)})),o}(o[a].url).length,o[a].image_id=gi.instagram_get_imageid(o[a].url),o[a].size=o[a].width*o[a].corrected_height,o[a].image_id in n||(n[o[a].image_id]=[]),n[o[a].image_id].push(o[a]);var s,l=[];for(s in n)n[s].sort(g),l.push(n[s][0]);l.sort(g);var u,c=null;if((c=null!==(i=l[0])?{src:i.url,caption:v(m),shortcode:b(m),page:y(m),username:w(m),created:k(m),id:(u=m).id&&"string"==typeof u.id?u.id.replace(/_[0-9]+$/,""):u.pk?u.pk.toString():null,width:i.width,height:i.height,i:e+1,total_images:_}:c)&&t.video_versions){for(var r=0,i=null,d=t.video_versions,a=0;a<d.length;a++){d[a].corrected_height=h(t,d[a]);var p=d[a].width*d[a].corrected_height;r<=p&&(r=p,i=d[a])}null!==i&&(c.video=i.url,c.video_width=i.width,c.video_height=i.corrected_height),t.video_dash_manifest&&(c.video_dash=t.video_dash_manifest)}null!==c&&f.push(c)}var f=[],_=1;if("carousel_media"in m)for(var _=m.carousel_media.length,t=0;t<m.carousel_media.length;t++)e(t,m.carousel_media[t]);else _=1,e(0,m);return f},M=function(e,t,o){return"undefined"!=typeof document&&document.documentElement.innerHTML,q(e,t,o)},P=function(n,a,s,e){var t,o=n.replace(/.*\/stories\/+([^/]*).*$/,"$1");return o===n?null:(t=function(e){function t(e){var t;return e?(ti(e=e)||(e=[e]),r&&a?(t=x(a,e))?(t=z(t),s(t)):(li("Unable to find",a,"in",_i(e)),s(null)):s(e)):s(null)}var o,r=gi.instagram_get_imageid(a),i=null;n&&(o=n.replace(/.*\/stories\/+[^/]+\/+([0-9]+)\/*(?:[?#].*)?$/,"$1"))!==n&&(i=o);"highlight"===e?i?u("highlight:"+i,r,t):si("Unable to find story_id"):d(r=!r&&i?i:r,e,t)},"highlights"===o?t("highlight"):l(o,function(e){if(!e)return s(null);t(e)}),{waiting:!0})},R=e,H=o,L=0;L<R.length;L++)if(T=function(e,t){var o;if("post"===e.type){if(e.all&&(e.image=null),o=M(e.url,e.image,t));}else if("profile"===e.type){if(o=j(e.url,t));}else if("story"===e.type&&(e.all&&(e.image=null),o=P(e.url,e.image,t)));return o}(R[L],H))return T;return T},gi.instagram_get_el_for_imageid=function(t){var o=t;if("VIDEO"===(o="SOURCE"===o.tagName?o.parentElement:o).tagName&&o.parentElement)try{o=(o=o.parentElement.querySelectorAll("img[srcset]"))&&0!==o.length?o[0]:t}catch(e){si(e),o=t}else o=t;return o},gi.instagram_get_image_src_from_el=function(e){if(e.hasAttribute("data-imu-data"))try{var t=$(e.getAttribute("data-imu-data"));if(t.src)return t.src}catch(e){si(e)}if("VIDEO"===e.tagName)return e.poster||e.currentSrc||e.src;if("IMG"===e.tagName)return e.src;if("DIV"===e.tagName)return e.style.backgroundImage.replace(/^url\(["'](.*)["']\)$/,"$1");if("SOURCE"===e.tagName){if(e.parentElement){t=gi.instagram_get_image_src_from_el(e.parentElement);if(t)return t}return e.src}si("Unable to find source for",e)},gi.instagram_find_el_info=function(e,t,o){var r=[],i=gi.instagram_get_image_src_from_el(t);if(t.hasAttribute("data-imu-info"))try{for(var n=$(t.getAttribute("data-imu-info")),a=0;a<n.length;a++)n[a].element=t,n[a].image||(n[a].image=i),delete n[a].all;return n}catch(e){si("Unable to parse data-imu-info for",t)}for(var s,l=t;l=l.parentElement;)"A"===l.tagName&&(l.href.match(/:\/\/[^/]+\/+(?:[^/]+\/+)?(?:p|tv|reel)\//)?r.push({type:"post",subtype:"link",url:l.href,image:i,element:l}):l.href.match(/:\/\/[^/]+\/+[^/]+(?:\/+(?:[?#].*)?)?$/)&&r.push({type:"profile",subtype:"link",url:l.href,element:l}));for(l=t;l=l.parentElement;){if("HEADER"===l.tagName){var u,c=o;if(c.match(/:\/\/[^/]+\/+p\//)){if("SPAN"===t.parentElement.tagName&&"link"===t.parentElement.getAttribute("role"))for(var d=l.getElementsByTagName("a"),a=0;a<d.length;a++){var p=d[a],m=p.href.match(/^[a-z]+:\/\/[^/]+\/+([^/]+)\/*(?:[?#].*)?$/);if(m&&wi(p.innerText).toLowerCase()===m[1].toLowerCase()){u=wi(p.innerText).toLowerCase();break}}if(!u)try{var h=l.querySelector("h2 > a");wi(h.innerText)===wi(h.title)&&(u=h.innerText)}catch(e){}if(!u)try{u=l.querySelector("section h1").innerText}catch(e){si(e)}c=u?"https://www.instagram.com/"+wi(u):null}c&&r.push({type:"profile",subtype:"page",url:c,element:l})}("DIV"===l.tagName&&"dialog"===l.getAttribute("role")||"BODY"===l.tagName&&o.match(/:\/\/[^/]*\/+(?:[^/]+\/+)?(?:p|tv|reel)\//))&&r.push({type:"post",subtype:"BODY"===l.tagName?"page":"popup",url:o,image:i,element:l}),"ARTICLE"===l.tagName&&o.match(/:\/\/[^/]+\/+(?:[?#].*)?$/)&&(c=(c=l.querySelector("a > time"))||l.querySelector("a > div > time"))&&(s=(s="A"!==(s=c.parentElement).tagName?s.parentElement:s).href,/:\/\/[^/]*\/+(?:[^/]+\/+)?p\//.test(s))&&r.push({type:"post",subtype:"home",url:s,image:i,element:l}),"BODY"===l.tagName&&o.match(/:\/\/[^/]*\/+stories\/+([^/]*)(?:\/+[0-9]+)?\/*(?:[?#].*)?$/)&&(s=gi.instagram_get_el_for_imageid(t),r.push({type:"story",url:o,image:gi.instagram_get_image_src_from_el(s),element:l}))}return r},gi.twitter_normalize_status_link=function(e){return e.match(/\/status\/+([0-9]+)(?:\/+(?:retweets|likes|photo|video)(?:\/+.*)?|\/*)(?:[?#].*)?$/)?e.replace(/(\/status\/+[0-9]+)\/*.*(?:[?#].*)?$/,"$1"):null},gi.get_twitter_tweet_link=function(e){for(var t=e;t=t.parentElement;){if("A"===t.tagName)if(i=gi.twitter_normalize_status_link(t.href))return i;if("ARTICLE"===t.tagName){for(var o=t.querySelectorAll("a[role='link']"),r=0;r<o.length;r++){var i,n=o[r].href;if(n)if(i=gi.twitter_normalize_status_link(n))return i}break}}return null},gi.get_twitter_caption=function(e){for(var t=e;t=t.parentElement;)if("ARTICLE"===t.tagName){var o=t.querySelectorAll("div[lang]");if(o&&1===o.length)return o[0].innerText;break}return null},gi.get_twitter_video_tweet=function(e,t){if("VIDEO"===e.tagName&&e.src.match(/^blob:/)){var o=e.poster;if(o&&/\/ext_tw_video_thumb\/+[0-9]+\/+pu\/+img\//.test(o)){if(a=t.location.href.match(/\/i\/+videos\/+tweet\/+([0-9]+)(?:[?#].*)?$/))return{id:a[1]};for(var r=e;r=r.parentElement;)if("ARTICLE"===r.tagName){for(var i=r.querySelectorAll("a[role='link']"),n=0;n<i.length;n++){var a,s=i[n].href;if(s)if(a=s.match(/\/status\/+([0-9]+)(?:\/+(?:retweets|likes)|\/*)(?:[?#].*)?$/))return{id:a[1]}}break}}}return null},gi.get_snapchat_story=function(e,t,r,o){e.fetch("snapchat_story:"+r,o,function(o){t({method:"GET",url:"https://search.snapchat.com/lookupStory?id="+r,headers:{"sec-fetch-dest":"empty","sec-fetch-mode":"cors","sec-fetch-site":"same-site",Origin:"https://www.snapchat.com",Referer:"https://www.snapchat.com/add/"+r},onload:function(t){if(4===t.readyState){if(200!==t.status)return si(t),o(null,!1);try{var e=$(t.responseText);return o(e,60)}catch(e){return si(e,t),o(null,!1)}}}})})},gi.get_snapchat_storysharing=function(e,t,r,o){e.fetch("snapchat_storysharing:"+r,o,function(o){t({method:"GET",url:"https://storysharing.snapchat.com/v1/fetch/"+r+"?request_origin=ORIGIN_WEB_PLAYER",headers:{"sec-fetch-dest":"empty","sec-fetch-mode":"cors","sec-fetch-site":"same-site",Origin:"https://www.snapchat.com",Referer:"https://www.snapchat.com/add/"+r},onload:function(t){if(4===t.readyState){if(200!==t.status)return si(t),o(null,!1);try{var e=$(t.responseText).story;return o(e,60)}catch(e){return si(e,t),o(null,!1)}}}})})},gi.snap_norm_obj=function(e){var t=e.url.match(/:\/\/[^/]+\/+[0-9a-f]{2}\/+([^/]{10,})\//);return t&&(e.filename=t[1].replace(/[-=]/g,"")),e},gi.snap_to_obj=function(e){var t=null,e={url:e.media.mediaUrl,extra:{caption:t||null},need_blob:!0};return gi.snap_norm_obj(e),e},gi.get_snapchat_info_from_el=function(e){if(e.getAttribute("data-imu"))return{username:e.getAttribute("data-username"),pos:ci(e.getAttribute("data-pos")),url:e.getAttribute("data-url")};if("VIDEO"===e.tagName||"IMG"===e.tagName||"DIV"===e.tagName&&e.style.backgroundImage&&!(e.style.backgroundImage.indexOf("blob:")<0))for(var t=e;t=t.parentElement;)if("DIV"===t.tagName&&"storyWebPlayer"===t.getAttribute("data-test")){if(/:\/\/s\.sc-cdn\.net\//.test(e.src)){var o=t.querySelector('a[data-test="userName"]');if(o)return{username:wi(o.innerText),pos:0};si("Unable to find username element")}}else if("DIV"===t.tagName&&"presentation"===t.getAttribute("role")){for(var r="",i=t.getElementsByTagName("a"),n=0;n<i.length;n++){var a=i[n].href.match(/^[a-z]+:\/\/story\.snapchat\.com\/+s\/+([^/?#]+)(?:[?#].*)?$/);if(a){r=a[1];break}}o=0;return t.querySelector("#PrevButton")&&(o=1),{username:r,pos:o=t.querySelector("#NextButton")?o:-1}}return null},gi.get_obj_from_snap_info=function(e,t,o,r){if(!o)return r(null);gi.get_snapchat_storysharing(e,t,o.username,function(e){return e?(-1===o.pos&&(o.pos=e.snaps.length-1),r(gi.snap_to_obj(e.snaps[o.pos]))):r(null)})},gi.get_md5=function(e,t,o){Rn("cryptojs_aes",e,e.do_request,function(e){if(!e)return si("Unable to fetch CryptoJS"),o(null);try{return o(e.MD5(t).toString())}catch(e){return si(e),o(null)}})},gi.get_tiktok_urlvidid=function(e){e=e.match(/^[a-z]+:\/\/[^/]+\/+(?:[0-9a-f]{32}\/+[0-9a-f]{8}\/+)?video\/+(?:[^/]+\/+)?[^/]+\/+[^/]+\/+([0-9a-f]{32})\/*\?/);return e?e[1]:null},gi.set_tiktok_vid_filename=function(e){var t=gi.get_tiktok_urlvidid(e.url);return!!t&&(e.filename=t+".mp4",!0)},gi.get_tiktok_weburl_parts=function(e){e=e.match(/^[a-z]+:\/\/[^/]+\/+@([^/]*)\/+video\/+([0-9]+)(?:[?#].*)?$/);return e?{username:e[1],web_vid:e[2]}:null},gi.get_tiktok_from_ttloader=function(e,t,o,r,i){var n=e+":"+r;e=e.replace(/:.*/,""),g(t,o,n,{url:"https://"+e+"/wp-json/wppress/tiktok-downloader/videos?search="+encodeURIComponent(r)+"&type=video_url&max=0",headers:{Referer:"https://"+e+"/?tiktok-search="+encodeURIComponent(r),"X-Requested-With":"XMLHttpRequest","Sec-Fetch-Dest":"empty","Sec-Fetch-Mode":"cors","Sec-Fetch-Site":"same-origin",Accept:"application/json, text/javascript, */*; q=0.01"},json:!0},i,function(e,t,o){var r=t.items[0].video.noWatermark;return r?e(r,3600):(si(o,"Unable to find noWatermark from",t),e(null,!1))})},gi.get_tiktok_from_ttloader_token=function(o,e,t,r,i,a){r=r.replace(/\?.*/,"");function n(e,t,o,r,i){var n="",e=e+":"+t+(n="videos"===o?"0":n)+":"+r,t=unescape(encodeURIComponent(e));gi.get_md5(a,t,i)}var s="https://"+(o=o.replace(/:.*/,""))+"/?tiktok-search="+encodeURIComponent(r);"savevideo.ninja"===o&&(s="https://"+o+"/tiktok-no-watermark-video-downloader/?tiktok-search="+encodeURIComponent(r));g(e,t,o+":token",{method:"POST",url:"https://"+o+"/wp-json/wppress/tiktok-downloader/token",imu_mode:"xhr",data:"",headers:{Origin:"https://"+o,Referer:s,"x-requested-with":"XMLHttpRequest"},json:!0},function(e){if(!e)return i(null);n(e,r,"nowatermark",navigator.userAgent,function(e){return i(e?(e=e,t=r,{url:t="https://"+o+"/wp-admin/admin-ajax.php?action=wppress_tt_download&url="+encodeURIComponent(r)+"&key=no-watermark&token="+e,headers:{Referer:"https://"+o+"/?tiktok-search="+encodeURIComponent(t),Accept:"text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9","Sec-Fetch-Dest":"document","Sec-Fetch-Mode":"navigate","Sec-Fetch-Site":"same-origin","Sec-Fetch-User":"?1"},cookie_url:"https://"+o+"/",is_private:!0}):null);var t})},function(e,t,o){return t.token?e(t.token,3600):(si(o,"Unable to find token from",t),e(null,!1))})},gi.get_tiktok_from_socialvideodownloader=function(e,t,o,r,i){var n=e+":"+r;e=e.replace(/:.*/,""),g(t,o,n,{url:"https://"+e+"/wp-json/wppress/video-downloader/videos?url="+encodeURIComponent(r),headers:{Referer:"https://"+e+"/","Sec-Fetch-Dest":"empty","Sec-Fetch-Mode":"cors","Sec-Fetch-Site":"same-origin",Accept:"application/json, text/javascript, */*"},json:!0},i,function(e,t,o){for(var r=t[0].urls,i={},n=0;n<r.length;n++)i[r[n].id]=r[n];return"vid-no-watermark"in i?e(i["vid-no-watermark"].src,3600):(si(o,"Unable to find vid-no-watermark in",{ids:i,resp:t}),e(null,!1))})},gi.get_tiktok_from_keeptiktok=function(e,t,o,r,i){var n=gi.get_tiktok_weburl_parts(r);if(!n)return si("Invalid url",r),i(null);g(t,o,e+":"+r,{url:"https://"+e+"/"+n.username.replace(/\..*/,"")+"/"+n.web_vid},i,function(e,t,o){var r=t.responseText.match(/<video[^>]+>\s*<source src="(https?:\/\/[^/]*(?:tiktok|bytei)cdn\.[^"]+)"/);return r?e(Zt(r[1]),3600):(si(o,"Unable to find match for",t),e(null,!1))})},gi.get_tiktok_from_snaptik=function(i,e,t,o,r){if(!gi.get_tiktok_weburl_parts(o))return si("Invalid url",o),r(null);var n,a;n=(n=o).replace(/[?#].*/,""),a=i+":"+n,e.fetch(a,r,function(r){t({url:"https://snaptik.app/",imu_mode:"document",method:"GET",onload:function(e){if(200!==e.status)return si(a,e),r(null,!1);t({method:"POST",url:"https://"+i+"/action.php",imu_mode:"xhr",imu_multipart:{url:n},headers:{Origin:"https://snaptik.app",Referer:"https://snaptik.app/"},onload:function(e){var o,t;return 200!==e.status?(si(a,e),r(null,!1)):(t=e.responseText.match(/<a[^>]*\s+href=["'](?:https?:\/\/(?:(?:sv|cdn)[0-9]*\.)?(?:snaptik\.app|snapsave\.info))?\/+dl\.php\?token=([^&'"]+)/))?(o=decodeURIComponent(Zt(t[1])).replace(/^s|s$/g,"").split("/"),mi(o,function(e,t){o[t]=x(e)}),t=o.join("?"),void r({url:t,cookie_url:"https://"+i+"/"},3600)):(si(a,"Unable to find match for",e),r(null,!1))}})}})})},gi.get_tiktok_from_musicallydown=function(o,r,i,n,a){g(r,i,"musicallydown:vtoken",{url:"https://musicallydown.com"},function(e){if(!e)return a(null);var t;t=a,g(r,i,o+":"+n,{url:"https://musicallydown.com/download",method:"POST",imu_mode:"document",headers:{"Content-Type":"application/x-www-form-urlencoded",Origin:"https://musicallydown.com",Referer:"https://musicallydown.com/"},data:(e=e).link_name+"="+encodeURIComponent(n)+"&"+e.token_name+"="+e.token_value+"&verify=1"},t,function(e,t,o){var r=t.responseText.match(/<a\s+(?:style="[^"]+"\s+)?target="_blank" rel="noreferrer" href="(https?:\/\/[^/]*tiktokcdn\.com\/[^"]+)"[^>]*>\s*<i[^>]*>[^<]*<\/i>\s*Download MP4/);return r?e(Zt(r[1]),3600):(si(o,"Unable to find match from",t),e(null,!1))})},function(e,t,o){var r,i=t.responseText.match(/<input name="(_[a-zA-Z0-9]+)" type="hidden" value="([0-9a-f]{5,})"\s*\/>/);return i?(r={token_name:i[1],token_value:i[2]},(i=t.responseText.match(/<input name="(_?[a-zA-Z0-9]+)" type="text"[^/>]+id="link_url"/))?(r.link_name=i[1],e(r,!1)):(si(o,"Unable to find link name from",t),e(null,!1))):(si(o,"Unable to find token from",t),e(null,!1))})},gi.get_tiktok_from_ssstiktok=function(r,i,n,a,s){g(i,n,"ssstiktok:token",{url:"https://ssstik.io"},function(e){if(!e)return s(null);var t,o;t=s,o=r+":"+a,(e=e).queries.id=encodeURIComponent(a),g(i,n,o,{url:e.url,method:"POST",imu_mode:"xhr",headers:{"HX-Active-Element":"submit","HX-Current-URL":"https://ssstik.io/","HX-Request":"true","HX-Target":"target","Content-Type":"application/x-www-form-urlencoded; charset=UTF-8"},data:An(e.queries)},t,function(e,t,o){var r=t.responseText.match(/<a href="(https?:\/\/[^/]*tiktokcdn\.com\/[^"]+)"[^>]*>Without watermark/);return r?e(Zt(r[1]),3600):(si(o,"Unable to find match for",t),e(null,!1))})},function(t,e,o){var r=e.responseText.match(/<form.*?data-hx-post=".*?>/);if(!r)return si(o,"Unable to find match from",e),t(null,!1);var i=xo(r[0]),n=zn("https://ssstik.io/",i.args["data-hx-post"],!0);try{var a=$(zo("{"+i.args["include-vals"]+"}"))}catch(e){return si(o,e),t(null,!1)}return(r=e.responseText.match(/<input id="locale".*?>/))?(i=xo(r[0]),a.locale=i.args.value,t({url:n,queries:a},!1)):(si(o,"Unable to find locale",e),t(null,!1))})},gi.get_tiktok_from_tikmate=function(e,t,o,r,i){var n=gi.get_tiktok_weburl_parts(r);if(!n)return si("Invalid url",r),i(null);var a="https://"+e+"/"+n.username.replace(/_/g,"-")+"/"+n.web_vid;r=function(){i({url:"https://"+e+"/dl.php",headers:{Accept:"text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9","Accept-Language":"en-US,en;q=0.9","Cache-Control":"no-cache",Pragma:"no-cache",Referer:a,"Sec-Fetch-Dest":"document","Sec-Fetch-Mode":"navigate","Sec-Fetch-Site":"same-origin","Sec-Fetch-User":"?1"},cookie_url:"https://"+e+"/",can_head:!1,video:!0})},g(t,o,e+":cookie:"+n.username+"/"+n.web_vid,{url:a},r,function(e,t,o){e(null,21600)})},gi.get_tiktok_from_3rdparty=function(e,t,o,r,i){var n={"ttloader.com:ttt":gi.get_tiktok_from_ttloader_token,"onlinetik.com:ttt":gi.get_tiktok_from_ttloader_token,"demo.wppress.net:tt":gi.get_tiktok_from_ttloader,"tiktokdownloader.in:ttt":gi.get_tiktok_from_ttloader_token,"savevideo.ninja:ttt":gi.get_tiktok_from_ttloader_token,"tikdowns.com:ttt":gi.get_tiktok_from_ttloader_token,"ssstiktok.net:ttt":gi.get_tiktok_from_ttloader_token,"demo.wppress.net:svd":gi.get_tiktok_from_socialvideodownloader,"savevideo.ninja:svd":gi.get_tiktok_from_socialvideodownloader,"keeptiktok.com":gi.get_tiktok_from_keeptiktok,"ssstiktok.io:1":gi.get_tiktok_from_ssstiktok,"musicallydown.com:1":gi.get_tiktok_from_musicallydown,"snaptik.app":gi.get_tiktok_from_snaptik,"tikmate.online":gi.get_tiktok_from_tikmate};if(!(e in n))return si("Invalid site",e,n),i(null);n[e](e,t,o.do_request,r,i,o)},gi.get_best_tiktok_url=function(s,t,r,i){var n=r,e=function(e){if(!e)return i(null);var a;a=e,e=function(e){var t,o;i((e=e,t=r,o=gi.get_tiktok_urlvidid(t),e=gi.get_tiktok_urlvidid(e=e||t)===o?t:e))},s.fetch("tiktok_watermarkfree:"+a,e,function(r){var i="https://api2-16-h2.musical.ly/aweme/v1/play/?video_id="+a+"&ratio=default&improve_bitrate=1",n=function(o){t({url:i,headers:{Referer:"https://www.tiktok.com/",Accept:"*/*","Sec-Fetch-Dest":"video","Sec-Fetch-Mode":"no-cors","Sec-Fetch-Site":"cross-site"},method:"HEAD",onload:function(e){var t;if(4===e.readyState)return 503===e.status&&o<5?setTimeout(function(){n(o+1)},500):200!==e.status&&302!==e.status?(si(e),r(null,!1)):(e=Ht(_o(e)))===i&&o<5?setTimeout(function(){n(o+1)},500):((t=gi.get_tiktok_urlvidid(e))&&!s.has(t="tiktok_vidid:"+t)&&s.set(t,a,3600),r(e,3600))}})};n(0)})};o=n;var o,a=(a=gi.get_tiktok_urlvidid(o))?"tiktok_vidid:"+a:(li("Unknown video URL:",o),null);a?s.fetch(a,e,function(o){function e(e){var t;if(!r)return e.responseText?void((t=e.responseText.match(/mdtacomment[\s\S]{10,400}vid:([0-9a-z]{32})/))?(i.abort(),r=!0,o(t[1],86400)):4===e.readyState&&4===e.readyState&&(i.abort(),r=!0,li("Unable to find video ID for",n),200!==e.status?o(null,!1):o(null,60))):4!==e.readyState||e.loaded&&e.total&&200===e.status?void 0:(i.abort(),r=!0,si(e),o(null,!1))}var r=!1,i=t({url:n,method:"GET",headers:{Referer:"https://www.tiktok.com/"},onprogress:e,onload:e})}):e(null)},gi.tiktok_remove_watermark=function(e,t,o,r,i){return t.rule_specific,i(null)},gi.youtube_fetch_watchpage_raw=function(e,t,o,r){var i="https://www.youtube.com/watch?v="+o;/^embed:/.test(o)&&(i="https://www.youtube.com/embed/"+o.replace(/^embed:/,"")+"/"),g(e,t.do_request,"youtube_watchpage_raw:"+o,{url:i},r,function(e,t,o){return e(t.responseText,3600)})},gi.youtube_fetch_watchpage_config=function(e,t,o,n,r){var a="youtube_watchpage_config:"+o+":"+n;e.fetch(a,r,function(i){gi.youtube_fetch_watchpage_raw(e,t,o,function(t){if(t){var o,e=[n];if("config"!==n&&e.push("config"),mi(e,function(e){e=new RegExp("ytplayer\\."+e+"\\s*=\\s*({.*?});");if(o=t.match(e))return!1}),o){e=!1;if(/:ytInitialPlayerResponse|:(?:window\.)?ytplayer\.bootstrapPlayerResponse/.test(o[1])){if(!(o=t.match(/(?:window\["ytInitialPlayerResponse"\]|var ytInitialPlayerResponse)\s*=\s*({.*?});/)))return li(a,"Unable to find ytInitialPlayerResponse for",{data:t}),i(null,!1);e=!0}try{var r=$(o[1]);return e&&(r.imu_need_args=!1),i(r,18e3)}catch(e){si(a,e,{json:o[1]})}}else li(a,"Unable to find ytplayer."+n+" for",{data:t})}return i(null,!1)})})},gi.youtube_fetch_watchpage=function(e,t,o,r){return gi.youtube_fetch_watchpage_config(e,t,o,"config",function(t){if(t)try{var e,o;return!1===t.imu_need_args?r(t):(e=t.args.player_response,o=$(e),r(o))}catch(e){si(e,t)}return r(null)})},gi.youtube_fetch_ytcfg=function(e,t,o,r){var i="youtube_ytcfg:"+o;e.fetch(i,r,function(r){gi.youtube_fetch_watchpage_raw(e,t,o,function(t){if(!t)return r(null,!1);var o=t.match(/;\s+ytcfg\.set\(({.*})\);/);if(!o)return ai(i,"Unable to find ytcfg match for",{data:t}),r(null,!1);var o=o[1],e=null;try{e=$(o)}catch(e){return si(i,e,{data:t,jsonstr:o}),r(null,!1)}return r(e,18e3)})})},gi.youtube_fetch_asset=function(e,i,t,n,o){var a="youtube_asset:"+n;e.fetch(a,o,function(r){gi.youtube_fetch_ytcfg(e,i,t,function(t){if(!t)return r(null,!1);var e=null;try{var o=t.WEB_PLAYER_CONTEXT_CONFIGS.WEB_PLAYER_CONTEXT_CONFIG_ID_KEVLAR_WATCH;n+"Url"in o&&(e=o[n+"Url"])}catch(e){return si(a,e,t),r(null,!1)}if(!e)return li("Unable to find asset",n,"in",t),r(null,!1);o=zn("https://www.youtube.com/",e,!0);i.do_request({url:o,method:"GET",headers:{Referer:"https://www.youtube.com/"},onload:function(e){return 200!==e.status?(si(a,e),r(null,!1)):r(e.responseText,3600)}})})})},gi.youtube_fetch_embed=function(e,t,o,r){var i="youtube_embed_info:"+o;e.fetch(i,r,function(r){gi.youtube_fetch_ytcfg(e,t,"embed:"+o,function(t){if(!t)return r(null,!1);try{var e=t.PLAYER_VARS.embedded_player_response,o=$(e);return r(o,18e3)}catch(e){return si(i,e,t),r(null,!1)}})})},gi.parse_flixv2=function(e,t){var o=/<item>\s*<res>([^<]+)<\/res>\s*<videoLink>(?:<!\[CDATA\[)?(.*?)(?:\]\]>)?<\/videoLink>/,r=new RegExp(o,"g"),i=e.responseText.match(r);if(!i)return si(t,"Unable to find items in",e),null;for(var n=[],a=0;a<i.length;a++){var s=i[a].match(o),l=s[1],s=Zt(s[2]);n.push({url:s,quality:ci(l.replace(/^([0-9]+)p$/,"$1")),video:!0})}n.sort(function(e,t){return t.quality-e.quality});for(a=0;a<n.length;a++)delete n[a].quality;return n},gi.parse_mediadefinition=function(e,t,o){if(t)try{for(var r=0,i=null,n=0;n<t.mediaDefinition.length;n++){var a=t.mediaDefinition[n];a.videoUrl&&(a.quality=ci(a.quality),a.quality>r)&&(r=a.quality,i=a)}var s=i.videoUrl;return{url:s=e.replace(/[?#].*$/,"").replace(/^[a-z]+:\/\/[^/]+\/+/,"")===s.replace(/[?#].*$/,"").replace(/^[a-z]+:\/\/[^/]+\/+/,"")?e:s,extra:{page:t.link_url,caption:t.video_title},headers:{Referer:t.link_url},video:!0,is_private:!0}}catch(e){si(o,e)}return null},gi.get_parent_el_matching=function(e,t){for(var o=e;o;){if(t(o))return o;o=o.parentElement}return null},gi.get_link_el_matching=function(e,t){"object"==typeof(t=t)&&t instanceof RegExp&&(o=t,t=function(e){return o.test(e.href)});var o,r=t;return gi.get_parent_el_matching(e,function(e){return"A"===e.tagName&&r(e)})},gi.get_pagelink_el_matching=function(e,t){e=gi.get_link_el_matching(e,t);return e?{url:e.href,is_pagelink:!0}:null},gi.get_host_el_matching=function(e,t,o){return(e=gi.get_parent_el_matching(e,o))?{url:t,is_pagelink:!0}:null},gi.get_pagelink_host_el_matching=function(e,t){var o=gi.get_pagelink_el_matching(e.element,t.url_match);return o||(t.url_match.test(e.host_url)?gi.get_host_el_matching(e.element,e.host_url,t.el_match)||void 0:null)},gi.is_pinterest_domain=function(e){e=Hn(e);return!!/^pinterest\./.test(e)},gi.get_jsonformatter_for_cryptojs=function(o){return{stringify:function(e){var t={ct:e.ciphertext.toString(o.enc.Base64)};return e.iv&&(t.iv=e.iv.toString()),e.salt&&(t.s=e.salt.toString()),ei(t)},parse:function(e){var e=$(e),t=o.lib.CipherParams.create({ciphertext:o.enc.Base64.parse(e.ct)});return e.iv&&(t.iv=o.enc.Hex.parse(e.iv)),e.s&&(t.salt=o.enc.Hex.parse(e.s)),t}}},gi.create_dash_stream=function(r){function e(e,t){var o='  <AdaptationSet mimeType="'+e+'"';return o+=">\n",mi(t,function(e){var t;o+=(t="  <Representation",t=(t=(t=(t=(t=(t+=s("mimeType",(e=e).mime))+s("codecs",e.codecs))+s("bandwidth",e.bandwidth))+s("width",e.width))+s("height",e.height))+s("id",e.id),"frame_rate"in e&&(t+=s("frameRate",e.frame_rate)),"start_with_sap"in e&&(t+=s("startWithSap",e.start_with_sap)),"sar"in e&&(t+=s("sar",e.sar)),t=(t+=">\n")+"    <BaseURL>"+Kt(e.url)+"</BaseURL>\n",(e.index_range||e.init_range)&&(t+="    <SegmentBase",e.index_range&&(t+=s("indexRange",l(e.index_range))),t+=">\n",e.init_range&&(t=(t+="      <Initialization")+s("range",l(e.init_range))+" />\n"),t+="    </SegmentBase>\n"),(t+="  </Representation>").replace(/^/gm,"  ")+"\n")}),o+="  </AdaptationSet>"}var t,o,i,n,a='<?xml version="1.0"?>\n',s=(a=(a+='<MPD xmlns="urn:mpeg:dash:schema:mpd:2011" type="static"')+' xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"'+' xsi:schemaLocation="urn:mpeg:dash:schema:mpd:2011 DASH-MPD.xsd"',function(e,t){return void 0===t?"":" "+e+'="'+Kt(t+"")+'"'}),l=(r.duration&&(i=r.duration/60/60|0,t=(r.duration/60|0)%60,o=r.duration%60,a+=s("mediaPresentationDuration","PT"+i+"H"+t+"M"+o+"S")),r.min_buffer_time&&(a+=s("minBufferTime",r.min_buffer_time)),a=a+' profiles="urn:mpeg:dash:profile:isoff-main:2011"'+">\n<Period>\n",function(e){return"string"==typeof e?e:e.start+"-"+e.end});for(n in r.mimes||(r.mimes={},(i=function(o){var e="audio"===o?r.audios:r.videos;mi(e,function(e){if(!e.mime){var t=e.url.replace(/^[^?#]+\.([^/.?#]+)(?:[?#].*)?$/,"$1");if(t===e.url)return void li("Unable to get mime for",e);e.codecs||("mp4"===t?e.codecs="avc1.4d401f":"mp3"===t&&(e.codecs="mp3")),e.mime=o+"/"+(t="mp3"===t?"mp4":t)}e.mime in r.mimes||(r.mimes[e.mime]=[]),r.mimes[e.mime].push(e)})})("video"),i("audio")),r.mimes)a+=e(n,r.mimes[n])+"\n";return a+="</Period>\n</MPD>\n"},gi.get_videotag_sources=function(e){var t=e.match(/<video[\s\S]+?<\/video>/i);if(!t)return si("Unable to find video tag from",{text:e}),null;e=xo(t[0]);if(!e)return si("Unable to parse <video> tag",t[0]),null;function o(e){e.name=e.args.title||null,e.url=e.args.src,r.video.push(e)}var r={video:[],image:[],subtitles:[]},e=(e.args.src&&o(e),e.args.poster&&r.image.push(e.args.poster),t[0].match(/<source.*?\/?>\s*(?:<\/source>)?/g));if(e){mi(e,function(e){var t=xo(e);t?t.args.src&&o(t):li("Unable to parse <source> tag",e)});e=t[0].match(/<track[^>]+?>/g);if(e)for(var i=0,n=e;i<n.length;i++){var a,s=n[i],l=xo(s);l?"captions"!==l.args.kind&&"subtitles"!==l.args.kind||l.args.src&&(a={url:l.args.src,title:null},l.args.label&&(a.title=l.args.label),r.subtitles.push(a)):li("Unable to parse <track> tag",s)}r.video.sort(function(e,t){return e.name&&t.name&&(e=e.name.match(/^([0-9]+)p$/),t=t.name.match(/^([0-9]+)p$/),e)&&t?ci(t[1])-ci(e[1]):0})}return So(r)},gi.get_holaplayer_sources=function(e){if("{"!==e[0]){var t=e.match(/window\.hola_player\(({.*?}),\s*function/);if(!t)return si("Unable to find hola_player match from",{text:e}),null;e=t[1]}var o,r,i;return(t=e.match(/sources["']?:\s*(\[{.*?}\]),/))?(o=$(zo(t[1])),r=null,(t=e.match(/poster["']?:\s*["'](https?:\/\/[^"']+)["'],/))?r=t[1]:li("Unable to find poster match for",{text:e}),i={video:[],image:[]},r&&i.image.push(r),mi(o,function(e){i.video.push({src:e.src,type:e.type,url:e.src})}),So(i)):(si("Unable to find sources match for",{text:e}),null)},gi.get_obj_from_videosources=function(o,e){var r=[];return mi(e.video,function(e){var t=!0;("application/x-mpegURL"===e.type||0<=ri(e.url,".m3u8"))&&(t="hls"),r.push({url:zn(o,e.url,!0),video:t})}),mi(e.image,function(e){r.push(zn(o,e,!0))}),r},gi.get_videotag_obj=function(e,t){"ogimage"in(t=t||{})||(t.ogimage=!0),"videotag"in t||(t.videotag=!0);var o={video:[],image:[],subtitles:[]};if(t.videotag&&!(o=gi.get_videotag_sources(e.responseText)))return null;var r=Co(e.responseText,"og:url"),i={headers:{Referer:r=r?zn(e.finalUrl,r,!0):e.finalUrl},extra:{page:r}},n=Co(e.responseText,"og:title"),a=(n&&(i.extra.caption=n),o.video.sort(function(e,t){return e.args.res&&t.args.res?t.args.res-e.args.res:0}),[]),s=(mi(o.video,function(e){a.push(zn(r,e.url,!0))}),null);if(o.subtitles&&o.subtitles.length)for(var s=[],l=0,u=o.subtitles;l<u.length;l++){var c=u[l],d=_i(c);d.url=zn(r,c.url,!0),s.push(d)}t.ogvideo&&(n=Co(e.responseText,"og:video"))&&ji(a,zn(r,n,!0));var p=[],m=(mi(o.image,function(e){p.push(zn(r,e,!0))}),t.ogimage&&(n=Co(e.responseText,"og:image"))&&ji(p,zn(r,n,!0)),[]);return mi(a,function(e){e={url:e,video:!0};s&&(e.subtitles=_i(s)),m.push(e)}),Di(m,p),m.length?At(m,i):null},gi.update_album_info_links=function(o,r){var i=o.album_info.links,n=!1;return mi(i,function(e,t){!n&&r(e.x_id||e.url)?(i[t].is_current=!0,o.url=i[t].url,n=!0):i[t].is_current=!1}),!n&&0<i.length&&(i[0].is_current=!0),o},gi.run_msml_op=function(o,r,i){var e,n,t,a=o.matches,s=r.op,l=!1;if("obj_set"===s){r.value?m=r.value:r.match&&(m=a[r.match]),r.subkey&&(m=m[r.subkey]);var u=a,c=r.out;r.out_subkey&&(u=a[r.out],c=r.out_subkey),u[c]=m}else if("run"===s){var d=[],u=(mi(r.args,function(e){var t;(e="object"!=typeof e?{value:e}:e).value?t=e.value:e.match?t=a[e.match]:e.self&&(t=o.ms_data[e.self]),e.subkey&&(t=t[e.subkey]),e.regex&&(t=Jt(t)),e.cb&&(t=function(e){r.out&&(a[r.out]=e),"bad"in r&&e===r.bad?i(!1):i(!0)},l=!0),d.push(t)}),gi),c=(u=r.match?a[r.match]:u)[r.key].apply(this,d);if("bad"in r&&c===r.bad)return si("Error running",r),!1;r.out&&(a[r.out]=c)}else if("regex"===s){var p=_i(o.ms_data[r.flags]),m=(hi(p,function(o,e){"object"==typeof e&&e.replace_match&&(delete p[o],hi(e.replace_match,function(e,t){o=Mi(o,"%"+e+"%",Jt(a[t]))}),p[o]=e.source)}),gi[r.key](gi[r.base],p,o.ms_dadta)),u=r.in||"in",c=a[u].match(new RegExp(m));if(!c)return si("Unable to find match from",{str:a[u],regex:m}),!1;a[r.out]=c[r.save]}else"parse_queries"===s?(e=a[r.match],n=Qt(e=/^(?:https?:)?\//.test(e)?e:"?"+e,{decode:!0}),ti(r.out)?(u=Object.keys(n).sort(),mi(u,function(e,t){if(!(t in r.out))return!1;a[r.out[t]]=n[e]})):hi(r.out,function(e,t){e in n&&(a[t]=n[e])})):"add_queries"===s?(e=a[r.match],n={},mi(r.queries,function(e){var t=e.query,e=e.value;"object"==typeof t&&(t=a[t.match]),"object"==typeof e&&(e=a[e.match]),n[t]=e}),a[r.out]=oo(e,n)):"parse_match"===s?(t=[],mi(a[r.match],function(e){var o=[];hi(e,function(e,t){"string"==typeof t?o.push(a[r.subkey][t]):ti(t)?o.push(t[t.length-1]):o.push(t)}),t.push(_i(o))}),a[r.out]=t):"final"===s?o.ok=!0:si("Unknown operation",r);if(l)return"waiting"},gi.run_msml_oplist=function(o,r,i){var n=o.ok=!1;try{mi(r,function(e,t){e=gi.run_msml_op(o,e,function(e){if(!e)return o.ok=!1,i(o.ok);gi.run_msml_oplist(o,r.slice(t+1),i)});return e&&("waiting"===e?!(n=!0):void 0)})}catch(e){throw si("Error running oplist",o.matches),e}n||i(o.ok)},gi.run_msml=function(r,e,t){if(!r||!e)return t(null);function o(e,t){var o={matches:_i(i.matches),ms_data:r};o.matches.in=e,gi.run_msml_oplist(o,o.ms_data.run,function(e){if(!e)return t(null);t(o.matches.out)})}var i={matches:{},ms_data:r};i.ms_data.bootstrap?(i.matches.in=e,gi.run_msml_oplist(i,i.ms_data.bootstrap,function(e){if(!e)return t(null);t(o)})):t(o)},gi.process_formats=function(t,o,e,r){function i(){n<=a&&(r(e),a=-1)}var n=0,a=0,s={};mi(e,function(t){hi(t,function(e){t[e]&&o.process_format&&e in o.process_format&&(n++,e in s||(s[e]=[]),s[e].push(t))})}),hi(s,function(e){s[e][0].imu_msml_options=o,s[e][0].imu_msml_api_cache=t,gi.run_msml(o.process_format[e],s[e][0],function(t){t?mi(s[e],function(e){t(e,function(){a++,i()})}):(a++,i())})}),i()},gi.normalize_function=function(e,t){var o=e.toString().replace(/\/\/.*/g,"").replace(/(return|var)\s+/g,"$1##").replace(/\s*/g,"").replace(/(return|var)##/g,"$1 ").replace(/^(?:function\([^)]*\))?{(.*?);*}$/,"{$1}");if(t)for(var r in t){var i=t[r];ti(i)||(i=[i]),mi(i,function(e){o=(e="string"==typeof e?{source:e}:e).regex?o.replace(new RegExp(e.source,"g"),r):Mi(o,e.source,r)})}return o},gi.get_mappings_for_objstr=function(e,t,o){var i,n,a,s={funcs:e,objstr:t,vars:o},r=new RegExp("("+Ho.jvarname.source+")[\"']?\\s*:\\s*function\\s*[(][^)]*[)]\\s*({.*?})(?:,|};?$)"),l=ne(t,r);return l?(i={},n=!0,a=[],mi(e,function(e){a.push(gi.normalize_function(e,o))}),mi(l,function(e){var o=e[1],r=gi.normalize_function(e[2]);if(mi(a,function(e,t){if(e===r)return i[o]=t,!1}),!i[o])return s.matches=l,s.match=e,si("Unable to find mapping",s),n=!1}),n?i:null):(si("Unable to find mappings",s),null)},gi.parse_js_calls=function(e,t){var o,r="",r=e?e+"\\.":"[^$_a-zA-Z0-9]",e=(r+="("+Ho.jvarname.source+")[(]([^)]*)[)][;\\s}]",ne(t,new RegExp(r)));return e?(o=[],mi(e,function(e){var t={name:e[1],args:[]},e=ne(e[2],/([$_a-zA-Z0-9.]+)\s*(?:,|$)/);e&&(mi(e,function(e){e=e[1];Ho.number.test(e)&&(e=parseFloat(e)),t.args.push(e)}),o.push(t))}),o):null},gi.find_actual_largest_image=function(a,s,l,u){if(s.length<2)return l(s[0]);(u=u||{}).cache||(u.cache={});function e(i,n){var o=i,r=function(e,t){if(!m){if(e&&t)p[i]=[e,t,n];else if(i===a)return m=!0,l(null);var o,r;++d<h||(o=-1,r=null,a in p&&(o=p[r=a][0]*p[a][1]),hi(p,function(e,t){t=t[0]*t[1];o<t&&(o=t,r=e)}),h<s.length?(s.splice(0,h),s.unshift(r),gi.find_actual_largest_image(a,s,l,u)):l(r))}};o in c?r(c[o][0],c[o][1]):u.check_length?t(o,function(e){r(e,e)}):Po(o,function(e,t){if(!e||!t)return r(e,t);c[o]=[e,t],r(e,t)})}var c=u.cache,t=function(e,t){g(u.api_cache,u.do_request,"contentlength:"+e,{url:e,headers:{Referer:""},method:"HEAD",silent:!0},t,function(e,t,o){var r=jn(Dn(t.responseHeaders));return"content-length"in r?e(ci(r["content-length"]),3600):404===t.status?e(null,3600):e(null,!1)})},d=0,p={},m=!1,h=s.length;2<h&&u.respect_order&&(h=2);for(var o=0;o<h;o++)e(s[o],o)},gi.gen_jquery_callback=function(){return"jQuery"+Oi(20)+"_"+Date.now()},gi.get_largest_twimg=function(e,t){function o(e,t){var o=Qt(t).format;o&&(t=t.match(/\/([^/.?#]+)(?:\.[^/.]+)?(?:[?#].*)?$/),e.filename=t[1]+"."+o)}var r=!1,t=(t&&t.rule_specific&&t.rule_specific.twitter_use_ext&&(r=!0),{url:e,can_head:!1});if(0<=ri(t.url,"/profile_images/"))return(p=t.url.replace(/[?#].*$/,"").replace(/_(?:bigger|normal|mini|reasonably_small|[0-9]*x[0-9]+)(\.[^/_]*)$/,"$1"))!==t.url?(t.url=p,t):void 0;if(0<=ri(t.url,"/profile_banners/"))return(p=t.url.replace(/\/[0-9]+x[0-9]+(?:[?#].*)?$/,""))!==t.url?(t.url=p,t):void 0;if(o(t,t.url),(p=t.url.replace(/:([^/?]+)(.*)?$/,"$2?name=$1").replace(/(\?.*)\?name=/,"$1&name="))!==t.url&&(t.url=p),/:\/\/[^/]+\/+media\//.test(t.url)&&(p=(p=(u=t.url.match(/^([^?#]+\/[^/.?#]+)\.([^/.?#]+)([?#].*)?$/))?oo(u[1]+(u[3]||""),{format:u[2]}):p).replace(/([?&]format=)webp(&.*)?$/,"$1jpg$2"))!==t.url&&(o(t,p),t.url=p),u=t.url.match(/\/tweet_video_thumb\/+([^/.?#]+)\./))return{url:t.url.replace(/\/tweet_video_thumb\/+[^/]+\.[^/.]+(?:[?#].*)?$/,"/tweet_video/"+u[1]+".mp4"),video:!0};function i(e){var t=_i(s);t.url=e,o(t,t.url),l.push(t)}function n(e,t){return e=(e=to(e,["name"])).replace(/(\/[^/?&#.]+)(?:\.[^/?&#.]+)?(\?.*)?$/,"$1."+t+"$2")}for(var a=["orig","4096x4096","large","medium"],s=t,l=[],e=s.url.match(/[?&]name=([^&]+)/),u=e?e[1]:null,c=oi(a,u),d=(c<0&&(c=a.length),0);d<c;d++){var p,m=Qt(p=oo(p=s.url.replace(/(\.[a-z]+)\?(?:(.*)&)?format=[^&]+/,"$1?$2&").replace(/&$/,""),{name:a[d]}));"png"===m.format||"jpg"===m.format?(r&&i(n(p,"png")),i(oo(p,{format:"png"})),r&&i(n(p,"jpg")),i(oo(p,{format:"jpg"}))):(r&&m.format&&i(n(p,m.format)),i(p))}return i(s.url),1<l.length?l:void 0},gi.parse_imu_hash=function(e){var o,e=e.match(/#(.*)/);return e?(o={},hi(Qt("?"+e[1]),function(e,t){e=e.match(/^imu-(.*)/);e&&(o[e[1]]=t)}),o):null},gi.multidomain__nitter=function(e,t){return"nitter.net"===t||"nitter.lacontrevoie.fr"===e||"nitter.nixnet.services"===e||"nitter.fdn.fr"===e||"nitter.1d4.us"===e||"nitter.kavin.rocks"===e||"nitter.unixfox.eu"===e||"nitter.domain.glass"===e||"birdsite.xanny.family"===e||"nitter.moomoo.me"===e||"bird.trom.tf"===e||"nitter.it"===e||"nitter.weiler.rocks"===e||"nitter.sethforprivacy.com"===e||"nitter.nl"===e||"nitter.mint.lgbt"===e||"nitter.esmailelbob.xyz"===e||"tw.artemislena.eu"===e||"nitter.tiekoetter.com"===e||"nitter.privacy.com.de"===e||"nitter.bird.froth.zone"===e||"nitter.cz"===e||"nitter.privacydev.net"===e||"tweet.lambda.dance"===e||"nitter.kylrth.com"===e||"unofficialbird.com"===e||"nitter.projectsegfau.lt"===e||"nitter.eu.projectsegfau.lt"===e||"nitter.in.projectsegfau.lt"===e||"singapore.unofficialbird.com"===e||"canada.unofficialbird.com"===e||"india.unofficialbird.com"===e||"nederland.unofficialbird.com"===e||"uk.unofficialbird.com"===e||"nitter.soopy.moe"===e||"nitter.qwik.space"===e||"read.whatever.social"===e||"nitter.rawbit.ninja"===e||"nt.vern.cc"===e||"n.sneed.network"===e||"nitter.smnz.de"===e||"nitter.twei.space"===e||"nitter.inpt.fr"===e||"nitter.d420.de"===e||"nitter.caioalonso.com"===e||"nitter.at"===e||"nitter.nicfab.eu"===e||"bird.habedieeh.re"===e||"nitter.hostux.net"===e||"nitter.adminforge.de"===e||"nitter.platypush.tech"===e||"nitter.us.projectsegfau.lt"===e||"t.com.sb"===e||"nitter.kling.gg"===e||"nitter.riverside.rocks"===e||"nitter.lunar.icu"===e||"twitter.moe.ngo"===e||"nitter.freedit.eu"===e||"n.opnxng.com"===e||"nitter.tux.pizza"===e||"nitter.altgr.xyz"===e||"jote.lile.cl"===e||"nitter.one"===e||"nitter.io.lol"===e||"nitter.no-logs.com"===e||"tweet.whateveritworks.org"===e||"nitter.fediflix.org"===e||"nitter.nohost.network"===e||"nitter.simpleprivacy.fr"===e||"nitter.onthescent.xyz"===e||"nitter.x86-64-unknown-linux-gnu.zip"===e||"nitter.private.coffee"===e||"nitter.oksocial.net"===e||"nitter.services.woodland.cafe"===e||"nitter.dafriser.be"===e||"nitter.catsarch.com"===e||"nitter.42l.fr"===e||"nitter.pussthecat.org"===e||"nitter.tedomum.net"===e||"nitter-home.kavin.rocks"===e||"nitter.cc"===e||"nitter.vxempire.xyz"===e||"nitter.eu"===e||"nitter.ethibox.fr"===e||"nitter.namazso.eu"===e||"nitter.mailstation.de"===e||"nitter.actionsack.com"===e||"nitter.cattube.org"===e||"nitter.40two.app"===e||"nitter.skrep.in"===e||"nitter.hu"===e||"nitter.database.red"===e||"nitter.exonip.de"===e||"twitr.gq"===e||"nitter.koyu.space"===e||"nitter.dark.fail"===e||"nitter.snopyta.org"===e},gi.multidomain__teddit=function(e,t){return"teddit.net"===t||"teddit.froth.zone"===e||"teddit.zaggy.nl"===e||"teddit.pussthecat.org"===e||"teddit.sethforprivacy.com"===e||"teddit.totaldarkness.net"===e||"teddit.adminforge.de"===e||"teddit.bus-hit.me"===e||"rdt.trom.tf"===e||"i.opnxng.com"===e||"teddit.garudalinux.org"===e||"tedd.it"===e||"teddit.privacytools.io"===e||"td.vern.cc"===e||"teddit.rawbit.ninja"===e||"teddit.artemislena.eu"===e||"teddit.manasiwibi.com"===e||"teddit.hostux.net"===e||"reddit.lurkmore.com"===e},gi.multidomain__xhamster=function(e){return"xhamster.com"===e||"xhamster.one"===e||"xhamster.desi"===e||"openxh.com"===e||"openxh1.com"===e||"openxh2.com"===e||"xhopen.com"===e||"xhlocal.com"===e||"unlockxh.com"===e||"fullxh.com"===e||"xhtotal.com"===e||"localxh.com"===e||"xhofficial.com"===e},gi.get_thumbor_url=function(e){return e=e.replace(/^\/*/,"/").replace(/^\/[-_0-9a-zA-Z]{20,}=?\/+/,"/").replace(/^\/(?:[0-9]+|orig)x(?:[0-9]+|orig)(?::[0-9]+x[0-9]+)?\/+/,"/").replace(/^\/fit-in\/+(?:[0-9]+|orig)x(?:[0-9]+|orig)\/+(?:top\/+)?/,"/").replace(/^\/filters:[^/]+\/+/,"/").replace(/^\/smart\/+/,"/").replace(/^\/(?:[0-9]+|orig)x(?:[0-9]+|orig)(?::[0-9]+x[0-9]+)?\/+/,"/").replace(/^\/*/,"")},gi.query_discogs_images_api=function(e,t,o,r){var i=encodeURIComponent('{"discogsId":'+o+',"count":500}');g(e.api_cache,e.do_request,"discogs_images:"+o,{url:" https://release-page.discogs.com/api/graphql?operationName=ReleaseAllImages&variables="+i+"&extensions=%7B%22persistedQuery%22%3A%7B%22version%22%3A1%2C%22sha256Hash%22%3A%2213e41f41a02b02d0a7e855a71e1a02478fd2fb0a2d104b54931d649e1d7c6ecd%22%7D%7D",imu_mode:"xhr",headers:{origin:"https://www.discogs.com",referer:"https://www.discogs.com/","content-type":"application/json",accept:"*/*"},json:!0},r,function(e,t,o){var t=t.data.release.images.edges,r=[];mi(t,function(e){e=e.node;r.push(e.fullsize.webpUrl)}),e(r,21600)})},gi.query_discogs_images_web=function(e,t,o,r){g(e.api_cache,e.do_request,"discogs_images:"+t+":"+o,{url:"https://www.discogs.com/"+t+"/"+o+"/images",imu_mode:"document"},r,function(e,t,o){var r=ne(t.responseText,/<span class="thumbnail_link">.*?<img src="(https?:\/\/img\.discogs\.com\/[^"]+)"/);if(!r||!r.length)return si(o,"Unable to find matches from",t),e(null,!1);var i=[];mi(r,function(e){i.push(Zt(e[1]))}),e(i,21600)})},gi.query_discogs_images=function(e,t,o,r){return"release"===t?gi.query_discogs_images_api(e,t,o,r):gi.query_discogs_images_web(e,t,o,r)},gi.do_flickr_request=function(e,t,o){return e.do_request({url:t,method:"GET",headers:{Origin:"https://www.flickr.com",Referer:"https://www.flickr.com/","Sec-Fetch-Site":"same-site",Cookie:""},onload:o})},gi.flickr_find_api_info=function(e,t,o){t.fetch("flickr_api_info",o,function(n){gi.do_flickr_request(e,"https://www.flickr.com/",function(e){var t=e.responseText.match(/root\.YUI_config\.flickr\.api\.site_key\s*=\s*['"]([0-9a-f]+)['"]\s*;/);if(!t)return si("Unable to find Flickr API key"),n(null,!1);var o=t[1];if(!o||"string"!=typeof o)return si("Unable to find Flickr API key"),n(null,!1);var r={};if(t=e.responseText.match(/root\.auth\s*=\s*({.*?});/))try{r=$(t[1])}catch(e){r={},si("Unable to find Flickr auth info")}else si("Unable to find Flickr auth info");var i="",e=((t=e.responseText.match(/root\.reqId\s*=\s*["']([0-9a-f]+)["']\s*;/))&&(i=t[1]),"user"in r&&"nsid"in r.user&&(r.nsid=r.user.nsid),{key:o,nsid:r.nsid,csrf:r.csrf,reqId:i});n(e,3600)})})},gi.flickr_api_request=function(e,t,o,r){var i="https://api.flickr.com/services/rest?csrf=";t.csrf&&(i+=t.csrf),i+="&api_key="+t.key+"&format=json&hermes=1&hermesClient=1",t.nsid?i+="&viewerNSID="+t.nsid:i+="&viewerNSID=",t.reqId&&(i+="&reqId="+t.reqId),gi.do_flickr_request(e,i+="&format=json&nojsoncallback=1&"+o,function(e){try{var t=$(e.responseText);if("fail"===t.stat)return si(t.message),r(null)}catch(e){return si(e),r(null)}r(t)})},gi.flickr_info_to_obj=function(e){function t(e){return e&&"string"!=typeof e?e._content:e}var o,r={caption:t(e.title)||t(e.description)},i={extra:r},n=e.owner?t(e.owner.nsid):t(e.pathalias),a=t(e.id),s=(n&&a&&(r.page="https://www.flickr.com/photos/"+n+"/"+a),0),l=null;for(o in e){var u,c=o.match(/^width_([0-9a-z]+)$/);c&&(u="height_"+(c=c[1]),(c="url_"+c)in e)&&u in e&&s<(u=e[o]*e[u])&&(s=u,l=e[c])}return l&&(i.url=l),i},gi.get_redirect_url=function(e,t,o,r){var i="string"==typeof o?{url:o}:o;o=i.url,g(e,t.do_request,"redirect:"+o,i,r,function(e,t,o){return t.finalUrl?e(t.finalUrl,3600):e(null,!1)})},function(e,t){if("string"==typeof t){for(var o=[],r=0;r<t.length;r++)o.push(t.charCodeAt(r));t=o}if(e.length<t.length)return!1;for(r=0;r<t.length;r++)if(null!==t[r]&&e[r]!==t[r])return!1;return!0}),Pn=(gi.get_file_signature=function(e,n,t,o){var a="string"==typeof t?{url:t}:t,s="file_signature:"+(t=a.url);e.fetch(s,o,function(o){function t(e){if(!r&&e.response){r=!0,i.abort();try{var t=function(e){var t,o={mp4:[[null,null,null,null,102,116,121,112,105,115,111,109],[null,null,null,null,102,116,121,112,77,83,78,86]],jpg:[[255,216,255]],gif:["GIF87a","GIF89a"],png:[[137,80,78,71,13,10,26,10]],webm:[[26,69,223,163]],webp:[[82,73,70,70,null,null,null,null,87,69,66,80]]};for(t in o)for(var r=0,i=o[t];r<i.length;r++){var n=i[r];if(Fo(e,n))return t}return null}(new Uint8Array(e.response))}catch(e){return si(s,e),o(null,!1)}o(t,3600)}}var r=!1,i=(a.responseType="arraybuffer",a.onload=t,a.onabort=t,a.onprogress=function(e){e.lengthComputable&&e.responseHeaders&&2<=e.readyState&&10<=e.loaded&&t(e)},n.do_request(a))})},function(e){return e.replace(/^[a-z]+:\/\/([^/]*)(?:\/+.*)?$/,"$1")}),Hn=function(e){var t=e.replace(/^.*\.([^.]*\.[^.]*)$/,"$1");return t=/^(?:(?:com?|org|net|edu)\.[a-z]{2}|(?:ne|or)\.jp)$/.test(t)?e.replace(/^.*\.([^.]*\.[^.]*\.[^.]*)$/,"$1"):t},Oo=function(e,t){return t.null_if_no_change?null:e},Ge={_nir_debug_:Yr,nir_debug:ui,Math_floor:be,Math_round:Hi,Math_random:ye,Math_max:di,Math_min:pi,Math_abs:$i,Math_pow:Fi,get_random_text:Oi,console_log:ai,console_error:si,console_warn:li,console_trace:E,JSON_stringify:ei,JSON_parse:$,base64_decode:x,base64_decode_urlsafe:k,base64_encode:C,is_array:ti,array_indexof:oi,string_indexof:ri,string_fromcharcode:S,string_charat:q,array_extend:Di,array_foreach:mi,array_map:oe,array_or_null:re,array_upush:ji,string_replaceall:Mi,match_all:ne,obj_foreach:hi,obj_extend:Pi,shallowcopy:mn,deepcopy:_i,_:vi,settings:bi,new_map:ft,map_set:vn,map_get:bn,map_has:bt,map_remove:yt,map_foreach:mt,map_size:ht,new_set:yn,set_add:wn,set_has:kn,set_remove:_n,real_api_cache:zt,real_api_query:g,real_website_query:kt,is_invalid_url:xt,mod:Tt,norm_url:It,urljoin:zn,fillobj:In,fillobj_urls:At,add_full_extensions:Gt,add_full_extensions2:Et,add_extensions:Bt,add_extensions_jpeg:Ut,add_extensions_with_jpeg:Rt,add_extensions_gif:Lt,add_extensions_upper:Dt,add_extensions_upper_jpeg:jt,add_extensions_from_webp:Mt,add_http:Pt,force_https:Ht,decodeuri_ifneeded:$t,encodeuri_ifneeded:Nn,replace_sizes:Ft,zpadnum:Sn,hex_to_ascii:Wt,hex_to_numberarray:Vt,numberarray_to_hex:Xt,reverse_str:Yt,decode_entities:Zt,encode_entities:Kt,encode_regex:Jt,get_queries:Qt,stringify_queries:An,remove_queries:eo,keep_queries:to,add_queries:oo,fuzzify_text:io,fuzzy_date_compare:po,parse_headers:Dn,headers_list_to_dict:jn,headers_dict_to_list:qo,get_resp_finalurl:_o,get_ext_from_contenttype:Un,get_library:Rn,normalize_whitespace:yo,strip_whitespace:wi,get_image_size:Po,sort_by_key:wo,sort_by_array:ko,parse_tag_def:xo,get_meta:Co,fixup_js_obj:zo,fixup_js_obj_proper:No,common_functions:gi,get_domain_from_url:Pn,get_domain_nosub:Hn,looks_like_valid_link:Ln,IMUCache:xn,url_basename:qn,parse_int:ci};if("undefined"==typeof $__imu_get_bigimage)c={type:"undefined",data:$__imu_get_bigimage,func:$__imu_get_bigimage,message:"Rules library not included"};else{try{var Go=$__imu_get_bigimage(Ge);Go&&Go.bigimage?"ojimdb21e5e0k1op"!==Go.nonce?c={type:"bad_nonce",data:Go.nonce,message:"Bad nonce, expected: ojimdb21e5e0k1op"}:Oo=Go.bigimage:c={type:"returned_falsey",data:Go,message:"Unable to get bigimage function"},c&&(c.func=$__imu_get_bigimage)}catch(e){c={type:"js_error",data:e,message:"JS error fetching bigimage function",func:$__imu_get_bigimage}}delete $__imu_get_bigimage}c&&si(c);function $n(u){var e="",t="",o="";u.host_url&&(t=(e=u.host_url.replace(/^[a-z]+:\/\/([^/]*)(?:\/.*)?$/,"$1")).replace(/^www\./,""),(o=e.replace(/^.*\.([^.]*\.[^.]*)$/,"$1")).match(/^co\.[a-z]{2}$/))&&(o=e.replace(/^.*\.([^.]*\.[^.]*\.[^.]*)$/,"$1"));try{u.document&&(document=u.document),u.window&&(window=u.window)}catch(e){}function c(e){var t=ni("img");return t.src=e,t}function s(e,t){return t?(t=e,(o=ni("video")).src=t,o):c(e);var o}function i(e,t){return t?e.nextElementSibling:e.previousElementSibling}function r(e,t,o,r){for(var i=e,n=0;n<o.length;n++){if(o[n].tagName!==i.tagName)return"default";if(o[n].classList)for(var a=0,s=o[n].classList;a<s.length;a++){var l=s[a];if(!i.classList.contains(l))return"default"}if(o[n].attrs)for(var u in o[n].attrs)if(i.getAttribute(u)!==o[n].attrs[u])return"default";i=i.parentElement}return r=i.querySelectorAll(r),d(e,r,t)}function n(t,e,o){var r;if(o.compare_els||(o.compare_urls||o.id_for_url&&("function"!=typeof o.id_for_url&&(r=o.id_for_url,o.id_for_url=function(e){e=e.match(r);return e?e[1]:null}),o.compare_urls=function(e,t){return!(!e||!t)&&o.id_for_url(e)===o.id_for_url(t)}),o.get_img_src||(o.get_img_src=Qn),o.compare_urls&&(o.compare_els=function(e,t){return!(!e||!t)&&o.compare_urls(o.get_img_src(e),o.get_img_src(t))})),!o.compare_els)return si("compare_els/compare_urls/id_for_url not present"),!1;var i,n,a=null;if(o.thumbs_selector_global)a=document.querySelector(o.thumbs_selector);else for(var s=t;(s=s.parentElement)&&!(a=s.querySelector(o.thumbs_selector)););return a?(i=a.querySelectorAll(o.thumb_selector))?(n=null,mi(i,function(e){if(o.compare_els(t,e))return n=e,!1}),n?Bn(n,e):(si("Unable to find thumb for",t,"in",a),!1)):(si("No thumbs for",a),!1):(si("Unable to find thumbs element for",t),!1)}var d=function(e,t,o){for(var r=Qn(e),i=-1,n=0;n<t.length;n++)if("string"==typeof t[n]){if(r===t[n]){i=n;break}}else if(e===t[n]){i=n;break}return-1===i?null:o?i+1>=t.length?null:t[i+1]:i-1<0?null:t[i-1]};return"imgur.com"===o&&"i.imgur.com"!==e?{gallery:function(a,s){if(!a)return"default";function t(e){return r(e)||o()}var o=function(){if(!u.host_url.match(/\/a\/+[^/]+\/+embed/))for(var e=a;e=e.parentElement;)if("DIV"===e.tagName&&e.classList&&e.classList.contains("post-image-container"))for(;e;){var t=e.nextElementSibling;if(!(e=t=s?t:e.previousElementSibling))return"default";t=e.querySelector("img");if(t)return t}return"default"},r=function(e){var t=ki(a.src,{fill_object:!0,use_cache:!1,rule_specific:{imgur_source:!1}})[0].url.replace(/.*\/([^/._]+?)(?:_[^/]+)?\.[^/.]*?(?:[?#].*)?$/,"$1");if(t!==a.src)for(var o,r=0;r<e.length;r++)if(e[r].hash===t){if(s){if(r+1>=e.length)return null;o=r+1}else{if(r-1<0)return null;o=r-1}var i=e[o].ext,n=(!u.exclude_videos||".mp4"!==i&&".webm"!==i||(i=".jpg"),ni("img"));return n.src="https://i.imgur.com/"+e[o].hash+i,n}return null};if(!u.window.runSlots&&u.do_request)return gi.fetch_imgur_webpage(u.do_request,zt,void 0,u.host_url,function(e){if(!e||!e.imageinfo||e.bad)return u.cb(o());try{return u.cb(t(e.imageinfo.album_images.images))}catch(e){return si(e),u.cb(o())}}),"waiting";try{return t(u.window.runSlots.item.album_images.images)}catch(e){return si(e),o()}}}:"instagram.com"===o?{element_ok:function(e){return"VIDEO"===e.tagName||"default"},gallery:function(e,t){return"default"}}:"tiktok.com"===o?{gallery:function(e,t){return"VIDEO"===e.tagName&&e.parentElement&&e.parentElement.parentElement&&e.parentElement.classList.contains("video-card")&&e.parentElement.parentElement.classList.contains("image-card")?Bn(e.parentElement.parentElement,t):"default"}}:"twitter.com"===t?{gallery:function(e,o){function t(e){return o?e.nextElementSibling:e.previousElementSibling}function r(e){var t;return"A"===e.tagName?a(e):"DIV"!==e.tagName?"default":(t=o?0:e.children.length-1,0<e.children.length&&n(e.children[t])?a(e.children[t]):void 0)}for(var i,n=function(e){return"A"===e.tagName&&e.href&&/\/status\/+[0-9]+\/+photo\/+/.test(e.href)},a=function(e){e=e.querySelector("img");if(e){var t=e.previousElementSibling;if(t&&"DIV"===t.tagName&&t.style.backgroundImage)return t}return e},s=e;s=s.parentElement;)if(n(s))return(i=t(s))?r(i):(i=t(s.parentElement))?r(i):null;return"default"},element_ok:function(e){if("VIDEO"===e.tagName&&gi.get_twitter_tweet_link(e))return!0;return"default"}}:"500px.com"===t?{element_ok:function(e){return!("A"!==e.tagName||!e.classList.contains("photo_link")||!e.querySelector("div.nsfw_placeholder_content"))||"default"}}:"snapchat.com"===o?{gallery:function(e,n){var a=gi.get_snapchat_info_from_el(e);return a?(gi.get_snapchat_storysharing(zt,u.do_request,a.username,function(e){if(!e)return u.cb(null);if(!("pos"in a)||-1===a.pos)for(var t=0;t<e.snaps.length;t++)if(e.snaps[t].media.mediaUrl===a.url){a.pos=t;break}var o,r,i;return-1===a.pos&&(a.pos=e.snaps.length-1),!("pos"in a)||(o=a.pos+(n?1:-1))<0||o>=e.snaps.length?u.cb(null):(r=e.snaps[o].media.mediaUrl,(i=s(r,/\.mp4(?:[?#].*)?$/.test(r)&&!1)).setAttribute("data-username",a.username),i.setAttribute("data-pos",o),i.setAttribute("data-url",r),i.setAttribute("data-imu","true"),u.cb(i))}),"waiting"):"default"},element_ok:function(e){return"VIDEO"===e.tagName||("DIV"===e.tagName&&1===e.children.length&&"VIDEO"===e.children[0].tagName?e.children[0]:"default")}}:"allmusic.com"===o?{gallery:function(e,t){return"IMG"===e.tagName&&e.parentElement&&e.classList.contains("gallery-main-image")?(e=e.parentElement.querySelector("#carousel > ul > li.thumb-img > img.highlight-on"))?(e=e.parentElement,function(e){return e.classList.contains("thumb-img")?e.querySelector("img"):null}(t?e.nextElementSibling:e.previousElementSibling)):(li("Unable to find carousel thumbnail image"),"default"):"default"}}:"flickr.com"===o?{element_ok:function(e){if("DIV"===e.tagName&&e.classList.contains("photo-well-media-scrappy-view"))return!0;for(var t=e;t=t.parentElement;)if("DIV"===t.tagName&&t.classList.contains("restricted-interstitial"))return!0;return"default"}}:"modelmayhem.com"===o?{element_ok:function(e){for(var t=e;t=t.parentElement;)if("DIV"===t.tagName&&"viewpic"===t.id)return!0;return"default"}}:"imagefap.com"===t&&/\/photo\/+[0-9]+\//.test(u.host_url)?{gallery:function(e,r){if("IMG"!==e.tagName||!u.do_request)return"default";var i,n,t,o,a,s=!1,l=e.parentElement;if(!l&&e.hasAttribute("data-imu-imagefap-album"))s=!0;else for(;l=l.parentElement;)if("DIV"===l.tagName&&"navigation"===l.id||"DIV"===l.tagName&&l.classList.contains("image-wrapper")){s=!0;break}return s&&(n=(i=function(e){var t=e.replace(/.*\/images\/+.*\/([0-9]+)\.[^/.]+(?:[?#].*)?$/,"$1");return t!==e?t:null})(e.src))?(e=(e=u.host_url.match(/\/photo\/+([0-9]+)\//))[1],o=function(e){if(e)for(var t=0;t<e.length;t++){var o=i(e[t]);if(n===o)return(o=t+(r?1:-1))<0||o>=e.length?u.cb(null):((o=c(e[o])).setAttribute("data-imu-imagefap-album","true"),u.cb(o))}return u.cb("default")},a="imagefap_album:"+(t=e),zt.fetch(a,o,function(r){u.do_request({url:"https://www.imagefap.com/photo/"+t+"/",method:"GET",onload:function(e){var t,o;return 200!==e.status?(si(a,e),r(null,!1)):(t=ne(e.responseText,/<li>\s*<a href=\"https:\/\/[^/.]+\.imagefap\.com\/+images\/[^"]+".*?>\s*<img border=0 src2="(https:\/\/[^/.]+\.imagefap\.com\/[^"]+)"/))?(o=[],mi(t,function(e){o.push(Zt(e[1]))}),r(o,3600)):(li(a,"Unable to find album matches for",e),r(null,!1))}})}),"waiting"):"default"}}:"gog.com"===t?{gallery:function(e,t){for(var o=e;o=o.parentElement;)if("DIV"===o.tagName&&o.classList.contains("productcard-thumbnails-slider__slide-item")){var r=i(o,t);if(!r){if(!o.parentElement.classList.contains("productcard-thumbnails-slider__slide"))return null;if(!(r=i(o.parentElement,t)))return null;if(!(r=t?r.children[0]:r.children[r.children.length-1]))return null}return r.querySelector("picture, img")}return"default"}}:"booth.pm"===o?{element_ok:function(e){return"DIV"===e.tagName&&(e.classList.contains("swap-image")||e.classList.contains("thumb"))&&0<e.children.length&&"IMG"===e.children[0].tagName?e.children[0]:"default"}}:"instyle.com"===o?{element_ok:function(e){if("DIV"===e.tagName&&e.classList.contains("lazy-image"))return e.querySelector(".image-overlay > img")}}:"asiansister.com"===o?{element_ok:function(e){if("DIV"===e.tagName&&"myModal"===e.id)return e.querySelector("img.modalTest-content")}}:"naver.com"===o&&/\/viewer\/+postView\.nhn\?/.test(u.host_url)?{gallery:function(e,t){var o=e;if("IMG"===o.tagName&&o.classList.contains("se_mediaImage"))for(;o=o.parentElement;)if("DIV"===o.tagName&&o.classList.contains("sect_dsc")){var r=o.querySelectorAll("img.se_mediaImage"),r=d(e,r,t);if(null!==r)return r||null}return"default"}}:"fetlife.com"===o?{element_ok:function(e){if("DIV"===e.tagName||"A"===e.tagName)for(var t=0;t<e.children.length;t++){var o=e.children[t];if("IMG"===o.tagName&&(o.classList.contains("ipp")||o.classList.contains("fl-disable-interaction")))return e.children[t]}}}:"youtube.com"===o?{element_ok:function(e){if("DIV"===e.tagName&&"background"===e.id){e=e.querySelector("div#backgroundFrontLayer");if(e)return e}}}:"ray-web.jp"===t?{element_ok:function(e){var t;if(e.children)return t=null,mi(e.children,function(e){if("IMG"===e.tagName)return t=e,!1}),t||void 0}}:"klix.ba"===t?{gallery:function(e,t){e=n(e,t,{id_for_url:/.*\/([0-9]+\.[0-9]+)(?:_[^/.]+)?\.[a-z]+(?:[?#].*)?$/i,thumbs_selector:"div.galleria-thumbnails",thumb_selector:".galleria-image > img"});return!1!==e?e:"default"}}:"olx.ba"===t?{gallery:function(e,t){e=n(e,t,{id_for_url:/.*\/slika-([0-9]+-[0-9a-f]{5,})-[a-z]+\./i,thumbs_selector:"#fancybox-thumbs",thumbs_selector_global:!0,thumb_selector:"li > a > img"});return!1!==e?e:"default"}}:"asics.com"===t?{gallery:function(e,t){var o=function(e){if("PICTURE"===e.tagName){var t=e.querySelector("source");if(t)return o(t)}else if("SOURCE"===e.tagName)return e.srcset;return Qn(e)},e=n(e,t,{id_for_url:/.*\/is\/+image\/+asics\/+([^/.?#]+)(?:\.[^/]+?)?(?:[?#].*)?$/,get_img_src:o,thumbs_selector:"#thumbnails > ul div.slick-track",thumbs_selector_global:!0,thumb_selector:"li.thumb > a > picture"});return!1!==e?e:"default"}}:"bcy.net"===t?{gallery:function(e,t){var o;return e&&"IMG"===e.tagName&&("default"!==(o=r(e,t,[{tagName:"IMG"},{tagName:"DIV",classList:["img-wrap-inner"]},{tagName:"DIV",classList:["img-wrap"]},{tagName:"DIV",classList:["inner-container"]}],".inner-container > .img-wrap > .img-wrap-inner > img"))||"default"!==(o=d(e,document.querySelectorAll("li.li_item_box a.img_box img"),t)))?o:"default"}}:"sfmoma.org"===t?{element_ok:function(e){if("CANVAS"===e.tagName)return!0}}:"behance.net"===t?{element_replace:function(e){if(e.matches("span.grid__item-filler")&&e.previousElementSibling){e=e.previousElementSibling;if(e.matches("img.grid__item-image"))return e}}}:"alamy.com"===t?{element_ok:function(e){if("SVG"===e.tagName.toUpperCase())return!0}}:"reddit.com"===o?{gallery:function(e,t){if("A"===e.tagName.toUpperCase()&&e.parentElement&&"P"===e.parentElement.tagName.toUpperCase()&&e.parentElement.classList.contains("title"))return r(e,t,[{tagName:"A"},{tagName:"P",classList:["p.title"]},{tagName:"DIV",classList:["top-matter"]},{tagName:"DIV",classList:["entry"]},{tagName:"DIV",classList:["thing"]}],".thing > .entry > .top-matter > p.title > a")}}:"gofile.io"===t?{element_ok:function(e){if("A"===e.tagName.toUpperCase()&&e.classList.contains("contentLink"))return!0},gallery:function(e,t){if("A"===e.tagName.toUpperCase()&&e.classList.contains("contentLink"))return r(e,t,[{tagName:"A",attrs:{class:e.getAttribute("class")}},{tagName:"DIV"},{tagName:"DIV",classList:["contentId"]}],'.contentId > div > a[class="'+e.getAttribute("class")+'"]')}}:"cnn.com"===o?{element_ok:function(e){if("BUTTON"===e.tagName.toUpperCase()&&(e.classList.contains("gallery-inline__next-overlay")||e.classList.contains("gallery-inline__prev-overlay"))){e=e.parentElement;if(e.classList.contains("gallery-inline__container"))return{el:e.querySelector(".gallery-inline__slides"),search:!0}}}}:"kalyanyasaswi.com"===t?{element_ok:function(e){if("SPAN"===e.tagName.toUpperCase()&&e.classList.contains("grid__item-filler")){e=e.previousElementSibling;if(e&&"IMG"===e.tagName.toUpperCase()&&e.classList.contains("grid__item-image"))return e}}}:"open.spotify.com"===e?{element_ok:function(e){if("card-click-handler"===e.getAttribute("data-testid")){e=e.previousElementSibling;if((e=e&&e.previousElementSibling)&&"DIV"===e.tagName)return{el:e,search:!0}}}}:null}function Fn(e,t,o){var r;if(e&&(r=e.album_info),t){var e=t.getAttribute("imu-album-info");if(e)try{r=$(e)}catch(e){si(e)}}return r?(r=_i(r),(e=Wo(r,t,o))&&("string"==typeof e&&(t=e,(e=ni("img")).setAttribute("data-imu-fake-src",t)),e.hasAttribute("imu-album-info")||e.setAttribute("imu-album-info",ei(r))),e):null}function Bo(e,t){return!(!(t=In(t))[0]||t[0].url!==e)}function On(o){for(var e=["allow_thirdparty","allow_apicalls","allow_thirdparty_libs","allow_thirdparty_code",{our:"process_format",settings:"process_format",obj:!0}],t=0;t<e.length;t++){var r,i,n=e[t],a=!1;"string"==typeof n?i=r=n:(r=n.our,i=n.settings,a=!!n.obj),a?(r in o||(o[r]={}),hi(bi[i],function(e,t){e in o[r]||(o[r][e]=t)})):r in o||(o[r]=bi[i]+""=="true")}}function Gn(e){if("exclude_problems"in e)for(var t in bi){var o,r;t in Ke&&(o=Ke[t],r=oi(e.exclude_problems,o),bi[t]?0<=r&&e.exclude_problems.splice(r,1):r<0&&e.exclude_problems.push(o))}if(e.allow_apicalls||(e.do_request=null),"rule_specific"in e){var i,n={deviantart_prefer_size:!0,deviantart_support_download:!0,ehentai_full_image:!0,imgur_filename:!0,imgur_source:!0,instagram_use_app_api:!0,instagram_dont_use_web:!0,instagram_prefer_video_quality:!0,instagram_gallery_postlink:!0,snapchat_orig_media:!0,teddit_redirect_reddit:!0,tiktok_app_api:!0,tiktok_no_watermarks:!0,tiktok_thirdparty:!0,tumblr_api_key:!0,twitter_use_ext:!0,youtube_replace_n:!0,mouseover_linked_image:"linked_image"};for(i in n){var a=n[i];!0===a&&(a=i),e.rule_specific[a]=bi[i]}}e.exclude_videos=!1,bi.allow_webarchive&&e.host_url&&(e.host_url=Vo(e.host_url))}var Wo=function(e,t,o){if("links"!==e.type)return null;var r=-1;if(mi(e.links,function(e,t){if(e.is_current)return r=t,!1}),r<0)return null;for(var i=0;i<e.links.length;i++)delete e.links[i].is_current;return!((r+=o?1:-1)<0||r>=e.links.length)&&(e.links[r].is_current=!0,e.links[r].url)},Bn=null,Vo=function(e){return e.replace(/^[a-z]+:\/\/[^/]+\/+web\/+[0-9*]+\/+(https?:\/\/)/,"$1")},ki=function(d,p){for(var e in p=p||{},(_e||Zr)&&On(p),ki.default_options)if(e in p){if(He(p[e]))for(var t in ki.default_options[e])t in p[e]||(p[e][t]=_i(ki.default_options[e][t]))}else p[e]=_i(ki.default_options[e]);(_e||Zr)&&(Gn(p),bi.allow_webarchive)&&"string"==typeof d&&(d=Vo(d));function o(){if(Yr&&ui("bigimage_recursive","do_cache (endhref, currentobj):",_i(a),_i(w)),a&&k(a)){var e=In(a,w);if(e&&e.can_cache){if((v=k(e))&&!l&&!0===p.use_cache&&!m)for(var t=0;t<b.length;t++){var o=b[t];o&&(Yr&&ui("bigimage_recursive","do_cache:",o,"=",_i(e)),Ct.set(o,_i(e),p.urlcache_time))}}else Yr&&ui("bigimage_recursive","do_cache: skipping cache because cache_endhref.can_cache == false")}}function r(e){if(Yr&&ui("bigimage_recursive","parse_bigimage (big)",_i(e)),!e)return _===d&&p.null_if_no_change&&(_=e),!1;var t=function(o,e){if(!e)return e;ti(e)||(e=[e]);var r=[];return mi(e,function(e){if("string"==typeof e)r.push(Ot(o,e));else{if(e.url)if(ti(e.url))for(var t=0;t<e.url.length;t++)e.url[t]=Ot(o,e.url[t]);else e.url=Ot(o,e.url);r.push(e)}}),r}(v,e);if(Yr&&ui("bigimage_recursive","parse_bigimage (newhref1)",_i(t)),!t)return!1;var e=["extra","album_info"],o={},r=(0<y.length&&(y[0].likely_broken&&(o.likely_broken=y[0].likely_broken),y[0].fake&&(o.fake=y[0].fake),mi(e,function(e){e in y[0]&&y[0][e]&&(o[e]=_i(y[0][e]))})),In(_i(t),o));Yr&&ui("bigimage_recursive","parse_bigimage (objified)",_i(r));for(var i=0;i<r.length;i++){r[i]=_i(r[i]);function n(){Yr&&ui("bigimage_recursive","parse_bigimage (removing obj)"),r.splice(i,1),ti(t)&&t.splice(i,1),i--}var a=r[i];if(null!==a.url||a.waiting){for(var s in""===a.url&&g&&(a.url=f),a.problems)a.problems[s]&&0<=oi(p.exclude_problems,s)&&(Yr&&ui("bigimage_recursive","Removing problematic:",a.url,"because of",s),n());if(a.url&&p.filter&&!p.filter(a.url))ai("Blacklisted:",a.url),n();else if(p.exclude_videos&&"video"===a.media_info.type)n();else if(y[0]&&a._copy_old_props)for(var l=0;l<a._copy_old_props.length;l++){var u=a._copy_old_props[l];a[u]=_i(y[0][u])}}else n()}if(Yr&&ui("bigimage_recursive","parse_bigimage (objified, processed)",_i(r)),0===r.length)return Yr&&ui("bigimage_recursive","parse_bigimage: objified.length == 0"),!1;h=m=!1;var c,e=t;if("object"==typeof(e=ti(t)?t[0]:e)){if(w=t,e.waiting&&(m=!0,!e.url))return _=t,!1;e.forcerecurse&&(h=!0)}else w=null;if(Bo(v,r)&&!h){Yr&&ui("bigimage_recursive","parse_bigimage: sameurl(currenthref, objified) == true (newhref, nh1, pastobjs)",_i(v),_i(r),_i(_),_i(t),_i(y));try{!p.fill_object||!0===_[0].waiting&&!r[0].waiting?_=r:y.length&&((c=function(e){mi(Tn(e),function(e,t){(e=_i(e)).url||(e.url=v);for(var o=0,r=y;o<r.length;o++){var i=r[o];if(i.url===e.url){for(u in e)i[u]=e[u];break}}})})(_),c(t),_=null,w=y[0])}catch(e){}return!1}if(!h)for(i=0;i<b.length;i++)if(Bo(b[i],r))return Yr&&ui("bigimage_recursive","parse_bigimage: sameurl(pasthrefs["+i+"], objified) == true",_i(b[i]),_i(r),_i(_)),_=r,!1;return Yr&&ui("bigimage_recursive","parse_bigimage: setting currenthref and newhref"),v=k(r),_=t,b.push(v),Di(e=[],r),Di(e,y),y=e,!(r[0].norecurse||Yr&&Yr.no_recurse)}function i(){if(Yr&&ui("bigimage_recursive","do_bigimage",v,_i(p)),p.use_cache&&Ct.has(v)&&!h)return Yr&&ui("bigimage_recursive","do_bigimage: newhref = url_cache["+v+"]",_i(Ct.get(v))),_=Ct.get(v),l=!0,0;if(p.filter&&!p.filter(v))return ai("Blacklisted: "+v),0;var e;if(p.catch_errors)try{e=c(v,p)}catch(e){si(e),si(e.stack)}else e=c(v,p);return r(e)}function n(){if(p.fill_object){if(Yr&&ui("bigimage_recursive","finalize (fillobj(newhref, currentobj), pastobjs)",_i(_),_i(w),_i(y)),a=null===_?Tn(_i(w)):In(_i(_),w),p.include_pastobjs)for(var e=0;e<y.length;e++)Yn(a,y[e].url)<0&&!y[e].fake&&a.push(_i(y[e]))}else Yr&&ui("bigimage_recursive","finalize (newhref)",_i(_)),a=_i(_);Yr&&ui("bigimage_recursive","endhref =",_i(a))}var a,s,m=!1,h=!1,g=!1,f=d,_=("string"==typeof d&&/^(?:data|blob):/.test(d)&&(g=!0),d),v=d,b=[d],y=[],w=null,l=!1,u=0,c=p._internal_bigimage||Oo,k=function(e){return(e=e&&(ti(e)?e[0]:e))&&(v=ti(e.url)?e.url[0]:e.url)};for(p.cb&&(s=p.cb,p.cb=function(e){function t(){Yr&&ui("bigimage_recursive","do_end"),n(),o();var e=null;p.null_if_no_change||(e=b[b.length-1]),!a||ti(a)&&!a[0]||"string"==typeof a?a=e:ti(a)&&"string"==typeof a[0]?a[0]=e:ti(a)&&a[0]&&!a[0].url&&(a[0].url=e),ti(a)||(a=[a]),Yr&&ui("bigimage_recursive","do_end (endhref, pasthrefs, pastobjs)",_i(a),_i(b),_i(y)),s(a)}Yr&&ui("bigimage_recursive","options.cb",_i(e));if(r(e)&&!(u+1>=p.iterations)||h){for(;u<p.iterations&&i();u++);m||t()}else t()}),p._internal_info={},u=0;u<p.iterations&&i();u++);return Yr&&ui("bigimage_recursive","return finalize"),n(),o(),_=null,p.cb&&!m&&p.cb(a),_i(a)};ki.default_options=Me,ki.internal={settings:bi,settings_meta:yi,strings:Be},ki.is_internet_url=function(e){return!(!e||"string"!=typeof e||!/^https?:\/\//.test(e)||/^[a-z]+:\/\/(127\.0\.0\.1|192\.168\.[0-9]+\.[0-9]+|10\.[0-9]+\.[0-9]+\.[0-9]+|172\.(?:1[6-9]|2[0-9]|3[01])\.[0-9]+\.[0-9]+|localhost|[^/.]+)\//.test(e)||/^[a-z]+:\/\/(?:[0-9a-f]*\:){1,}\//.test(e))},ki.clear_caches=function(){Ct.clear(),zt.clear(),St.clear()};function Wn(l,u,c,d){for(var e,t={},p=(d=d||{fine_urls:[],tried_urls:[],oldobj:[],tried_imus:[],redirect_map:{}}).fine_urls,m=d.tried_urls,h=d.oldobj,g=!1,o=0,r=d.tried_imus;o<r.length;o++)r[o]===l&&(g=!0);for(e in d.tried_imus.push(l),u)"cb"===e?t.cb=function(r){Yr&&(ai("bigimage_recursive_loop's cb: obj:",_i(r)),ai("bigimage_recursive_loop's cb: oldobj:",_i(h))),r=function(e,t){for(var o=Zo(e),r=0;r<t.length;r++){var i=oi(o,t[r].url);if(0<=i)for(var n in t[r]){var a=t[r][n],s=e[i][n];s!==a&&ei(s)===ei(Pe[n])&&(e[i][n]=a)}else e.push(t[r])}return e}(r,h);for(var i=Zo(r),e=0;e<r.length;e++)if(r[e].bad){var t=r[e].url;r.splice(e,1),i.splice(e,1),e--;for(var o=0;o<m.length;o++)if(m[o].newurl===t){var n=m[o].newobj.url,a=oi(i,n);if(m[o].redirects_to_bad=!0,0<=a){r.splice(a,1),i.splice(a,1),a<e?e-=2:a===e&&e--;break}}}Yr&&(ai("bigimage_recursive_loop's cb: obj after:",_i(r)),ai("bigimage_recursive_loop's cb: image_urls after:",_i(i)),ai("bigimage_recursive_loop's cb: fine_urls:",_i(p)),ai("bigimage_recursive_loop's cb: tried_urls:",_i(m)));for(e=0;e<p.length;e++)if(0<=(a=oi(i,p[e].url)))return r=[r[a]],Yr&&ai("bigimage_recursive_loop's cb: returning fine_url",_i(r),_i(p[e])),u.cb(r,p[e].data);for(var s=!1,e=0;e<m.length;e++)if(m[e].url===l||s){if(!0!==m[e].redirects_to_bad)return 0<=(a=oi(i,m[e].newurl))?(r=[r[a]],Yr&&ai("bigimage_recursive_loop's cb: returning tried_url",_i(r),_i(m[e]),s),u.cb(r,m[e].data)):(Yr&&ai("bigimage_recursive_loop's cb: returning null tried_url",_i(m[e]),s),u.cb(null,m[e].data));s=!0}Yr&&ai("bigimage_recursive_loop: about to query",_i(r)),c(r,function(e,t,o){if(Yr&&ai("bigimage_recursive_loop (query: newurl, newobj, data):",_i(e),_i(t),o),!e)return Yr&&ai("bigimage_recursive_loop (query): returning null",o),u.cb(null,o);p.push({url:e,data:o}),m.push({url:l,data:o,newurl:e,newobj:_i(t),redirects_to_bad:!1}),d.redirect_map[l]=e;t=oi(i,e);if(t<0&&g)return Yr&&ai("bigimage_recursive_loop (query): already tried url",_i(d)),u.cb(null,o);t<0||!r[t].norecurse?(d.oldobj=r,Wn(e,u,c,d)):(r=[r[t]],Yr&&ai("bigimage_recursive_loop (query): returning",_i(r),o),u.cb(r,o))})}:t[e]=u[e];return Yr&&ai("bigimage_recursive_loop",l,_i(u),c,_i(d)),ki(l,t)}function Vn(e){return e.currentStyle||window.getComputedStyle(e)}function Xo(e,t){if(Yr&&ai("redirect",e,t),!(Yr&&Yr.no_redirect||e===window.location.href)){try{window.stop()}catch(e){}Jo(t,function(){bi.redirect_history?window.location.assign(e):window.location.replace(e)})}}function Xn(e){for(var t=["","K","M","G","T","P"];1024<e&&1<t.length;)e/=1024,t.shift();return e.toFixed(2).replace(/\.00$/,"")+t[0]+"B"}function Yo(n,a,s,l,r){if(Yr&&ai("check_image",_i(n),a,r),(n=ti(n)?n[0]:n)&&n.url){function e(){n&&n.extra&&(n.extra.page&&ai("Original page: "+n.extra.page),n.extra.caption&&ai("Caption: "+n.extra.caption),n.extra.created_date&&ai("Created date: "+new Date(n.extra.created_date)),n.extra.updated_date)&&ai("Updated date: "+new Date(n.extra.updated_date))}var u=n.url;if(u===a)e(),Yr&&ai("(check_image) url == page_url",u,a),l(u);else{var t=n.headers;if(ai(n.url),e(),n&&(n.bad?o="Bad image":"video"===n.media_info.type&&n.media_info.delivery?o="Can't redirect to streaming video type "+ei(n.media_info.delivery):n.is_pagelink&&(o="Can't redirect to page"),o))(s||si)(o);else{function c(e){if(v){if(r)return s(e,!0);if(bi.redirect_enable_infobox){var t=xi("mouseover_trigger_behavior");bi.mouseover?"keyboard"===t?o=ta(bi.mouseover_trigger_key):"mouse"===t&&(o="delay "+bi.mouseover_trigger_delay+"s"):o="disabled",Ii=!0;var o,t=vi("Mouseover popup (%%1) is needed to display the original version","<a style='color:blue; font-weight:bold' href='"+b+"' target='_blank' rel='noreferrer'>"+o+"</a>")+" ("+vi(e)+")";bi.redirect_infobox_url&&((o=ni("a")).href=u,o.innerText=oa(u,80),o.setAttribute("target","_blank"),t+="<br />"+o.outerHTML);try{or(t)}catch(e){si(e)}}}}if(!Yr||!Yr.no_request){v&&Qo();var o=u.replace(/^([a-z]+:\/\/[^/]*).*?$/,"$1"),i=_i(t),d=!0,p=(t&&0!==Object.keys(t).length||(d=!(t={})),yn());for(m in t)wn(p,m.toLowerCase());var m,h={referer:a,accept:"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9","sec-fetch-dest":"document","sec-fetch-mode":"navigate","sec-fetch-site":"cross-site"};for(m in h)kn(p,m)||(t[m]=h[m]);if((d=d&&1===Object.keys(i).length&&"Referer"in i&&(i=(i=a).replace(/^[a-z]+:\/\/([^/]*).*?$/,"$1"),o=u.replace(/^[a-z]+:\/\/([^/]*).*?$/,"$1"),n.referer_ok.same_domain&&i===o||n.referer_ok.same_domain_nosub&&Hn(i)===Hn(o))?!1:d)&&!Zr)document.documentElement.style.cursor="default",ai("Custom headers needed, currently unhandled"),c("custom headers");else{if(Yr&&ai("(check_image) headers",t),n.always_ok||!n.can_head&&!bi.canhead_get)return Yr&&ai("(check_image) always_ok || !can_head",u,_i(n)),l(u);function g(e){if(!f)if(f=!0,Yr&&ai("(check_image) resp",e),_e&&"FireMonkey"===y&&!e)(s||si)(i="Error: resp == null (tracking protection blocked, FireMonkey bug)");else if(!(e.readyState<2))if(_e&&!e.status&&e.readyState<4)f=!1;else if(e.readyState<4&&_&&_.abort&&_.abort(),0===e.status||qe(e))(s||si)(i="Error: status == 0");else if(er(),e.finalUrl===a)ai(e.finalUrl),ai("Same URL");else{var t=Dn(e.responseHeaders),t=jn(t),o=(Yr&&ai("(check_image) resp headers",t),e.status.toString()[0]),r=rr(n.head_ok_errors,e.status);if("4"!==o&&"5"!==o||405===e.status||!0===r){var i,o=t["content-type"];if(!(o=(o=o||"").toLowerCase()).match(/text\/html/)&&o||n.head_wrong_contenttype||!0===r)if(Zr&&!bi.redirect_disable_for_responseheader||!(n.forces_download||(o.match(/(?:binary|application|multipart|text)\//)||"image/tiff"===o||"image/lsr"===o||o.match(/^ *\[/))&&!n.head_wrong_contenttype||t["content-disposition"]&&t["content-disposition"].toLowerCase().match(/^ *attachment/))){if(!t["content-length"]||"0"!=t["content-length"]||n.head_wrong_contentlength)return zr(n.bad_if,e)?(si("Bad image (bad_if)",n.bad_if,e),s("bad image")):void(!d||Zr?(Yr&&ai("(check_image) finalUrl",e.finalUrl||u,e,_i(n)),l(e.finalUrl||u)):ai("Custom headers needed, currently unhandled"));si("Zero-length image")}else si("Forces download"),c("forces download");else(s||si)(i="Error: Not an image: "+(o||"(no content-type)"))}else i="Error: "+e.status,(s||si)(i)}}var i="HEAD",f=(!n.can_head&&bi.canhead_get&&(Yr&&ai("Trying GET"),i="GET"),!1),_=fi({method:i,url:u,headers:t,trackingprotection_failsafe:!0,onprogress:function(e){2<=e.readyState&&e.responseHeaders&&g(e)},onload:g})}}}}}else l(n)}var Zo=function(e){for(var t=[],o=0;o<e.length;o++)t.push(e[o].url);return t},Yn=function(e,t){return oi(Zo(e),t)},Zn=(ki.loop=Wn,function(e){return e.tagName.toUpperCase()}),Ko=function(e){for(var t=["class","id","tabindex","style"],o=document.createElementNS("http://www.w3.org/2000/svg","svg"),r=(o.innerHTML=e.innerHTML,o.setAttribute("xmlns","http://www.w3.org/2000/svg"),e.attributes),i=0;i<r.length;i++){var n=r[i].name;0<=oi(t,n)||/^on/.test(n)||/^aria-/.test(n)||o.setAttribute(n,r[i].value)}var a=Vn(e),e=e.getAttribute("fill")||a.fill,a=(e&&o.setAttribute("fill",e),""+o.outerHTML);return"data:image/svg+xml,"+encodeURIComponent(a)},Kn=function(e,t){try{return e.toDataURL(t)}catch(e){si(e)}},Jn=function(e,t){return e&&(!/^blob:/.test(e)||!t)},Qn=function(e){if("string"==typeof e)return e;var t=Zn(e);if("A"===t)return e.href;if("IFRAME"===t)return e.src.replace(/^javascript:window\.location\.replace\(["']([^"']+)["']\)$/,"$1");if("CANVAS"===t)return Kn(e,"image/png");if("SVG"===t)return bi.mouseover_allow_svg_el?Ko(e):null;if("VIDEO"===t)return e.currentSrc||e.src||e.poster;if("AUDIO"===t)return e.currentSrc||e.src;if("SOURCE"===t){if(e.parentElement){var o=Qn(e.parentElement);if(o&&Jn(o,!0))return o}return e.currentSrc||e.src}if("IMAGE"===t)return e.getAttribute("xlink:href")||null;o=e.currentSrc||e.src;if(!o&&"IMG"===e.tagName){t=e.getAttribute("data-imu-fake-src");if(t)return t}return o},ea=function(e){var t=Qn(e),o={fill_object:!0,exclude_problems:[],use_cache:"read",use_api_cache:!1,cb:function(){},do_request:function(){}},e=(v&&(o.host_url=window.location.href,o.element=e,o.document=document,o.window=window),ki(t,o));if(1!==e.length)return!0;var r,i=e[0];if(i.url!==t)return!0;for(r in i)if("url"!==r){if(!(r in Pe))return!0;if(ei(Pe[r])!==ei(i[r]))return!0}return!1},Jo=function(e,t,o){Zr?Kr({type:"redirect",data:{obj:e,tabId:o}},function(){t()}):t()},Qo=function(){document.documentElement&&(document.documentElement.style.cursor="wait")},er=function(){document.documentElement&&(document.documentElement.style.cursor="default")},tr=null,or=function(e){function t(){tr||bi.redirect_infobox_timeout<=0||(tr=setTimeout(function(){document.body.removeChild(o)},1e3*bi.redirect_infobox_timeout))}var o=ni("div");o.style.backgroundColor="#fffabb",o.style.color="#000",o.style.position="absolute",o.style.top="0px",o.style.left="0px",o.style.padding=".3em .8em",o.style.boxShadow="0px 0px 20px rgba(0,0,0,.6)",o.style.margin=".8em",o.style.lineHeight="1.5em",o.innerHTML=e,o.onclick=function(){document.body.removeChild(o),tr&&(clearTimeout(tr),tr=null)},document.body.appendChild(o);document.hasFocus()?t():(document.onfocus=function(){t(),document.onfocus=null},window.onfocus=function(){t(),window.onfocus=null})},rr=function(e,t){if(e&&ti(e)){for(var o=0;o<e.length;o++)if(t.toString()===e[o].toString())return!0;return!1}return null},ir=function(e){ti(e[0])||(e=[e]);for(var t=[],o=0;o<e.length;o++)t.push(function(e){e=e.sort(function(e,t){return e===t?0:"ctrl"===e?-1:"ctrl"===t?1:"shift"===e?-1:"shift"===t?1:"super"===e?-1:"super"===t?1:"alt"===e?-1:"alt"===t?1:e<t?-1:void 0});for(var t=[],o=0;o<e.length;o++){var r=q(e[o],0).toUpperCase()+e[o].slice(1);1!==e.length||"Left"!==r&&"Right"!==r&&"Up"!==r&&"Down"!==r||(r+=" Arrow"),t.push(vi(r))}return t.join("+")}(e[o]));return t},ta=function(e){return ir(e).join(" / ")},oa=function(e,t){t=new RegExp("^((?:.{"+t+"}|.{0,"+t+"}[\\r\\n]))[\\s\\S]+?$");return e.replace(t,decodeURIComponent("%241%E2%80%A6"))};function nr(e){return/^video\//.test(e)?!!bi.redirect_video:/^audio\//.test(e)?!!bi.redirect_audio:!/^(?:text|application)\//.test(e)}function ra(){return nr(document.contentType)}function ar(d,e,o){e={fill_object:!0,force_page:e,cb:function(e){var t;Yr&&ai("do_redirect (final)",e),er(),e&&(v&&bi.print_imu_obj&&ai(e),(t=e[0].url)!==d)&&t&&(Yr&&ai("redirect (recursive loop)",e),o(t,e))}};v&&(e.document=document,e.window=Ni()),Wn(d,e,function(e,r){Yr&&ai("do_redirect",e);for(var i=null,o=function(e,t,o){r(e,o||i,t)},n=[],t=0;t<e.length;t++)(bi.redirect_video||!Sr(e[t])||bi.redirect_audio&&qr(e[t]))&&(bi.redirect_audio||!qr(e[t])||bi.redirect_video&&Sr(e[t]))&&n.push(e[t]);var a=bi.redirect_to_no_infobox,s=[],l=!1,u=0,c=function(e,t){Yr&&ai("do_redirect_sub's err_cb:",e,t),t&&s.push(n[u]);t=l?s:n;if(++u>=t.length){if(!(a&&0<s.length))return er(),void si(e);a=!(l=!0),u=0}Bo(window.location.href,t[u])&&a&&0<s.length&&(a=!(l=!0),u=0),i=t[u],Yo(i,d,c,o,a)},i=n[0];Yo(i,d,c,o,a)})}function ia(e){var t;"complete"===document.readyState||"interactive"===document.readyState?e():(t=function(){"complete"!==document.readyState&&"interactive"!==document.readyState||(e(),Li(document,"readystatechange",t))},ii(document,"readystatechange",t))}function na(e,t){var o={};if(e.ctrlKey?o.ctrl=!0:o.ctrl=!1,e.altKey?o.alt=!0:o.alt=!1,e.shiftKey?o.shift=!0:o.shift=!1,void 0!==e.buttons)for(var r=["button1","button2","button3","button4","button5"],i=e.buttons;0<r.length;)o[r[0]]=!!(1&i),i>>=1,r.shift();"wheel"===e.type&&(e.deltaY<0?o.wheelUp=!0:0<e.deltaY&&(o.wheelDown=!0),e.deltaX<0?o.wheelLeft=!0:0<e.deltaX&&(o.wheelRight=!0));e=Pr(e);return void 0!==e&&(o[e]=t),o}function aa(e){for(var t=0;t<e.length;t++)if(!sa(e[t])&&!sr(e[t]))return;return 1}var sa=function(e){return/^wheel/.test(e)},sr=function(e){return"button1"===e},lr=function(e){return!!aa(e)||1===e.length&&sr(e[0])},ur=function(e){return 0!==e.length&&!lr(e)&&(e.length,!0)},cr=function(){try{return window.matchMedia("(prefers-color-scheme: dark)").matches}catch(e){return!1}};function dr(){var e,t;(n||qi)&&(cr()&&(t=!0,(e="dark_mode")in Ze||(bi[e]=t)),bi.dark_mode?document.documentElement.classList.add("dark"):document.documentElement.classList.remove("dark"))}var pr=function(t,o){if(!Zr)return o(!1);try{chrome.permissions.request({permissions:[t]},function(e){e&&Kr({type:"permission_handler",data:{permission:t}}),o(e)})}catch(e){si(e),o(!1)}},mr="general";function hr(){dr();var te=!1,oe=[],re=[];function t(e,t){if(te){var o,r,i=na(e,t),t=(!Pr(e)&&"mousedown"!==e.type||0!==re.length||0!==e.button&&2!==e.button&&(oe=[]),_i(oe));for(o in i)i[r=o]?(oi(oe,r)<0&&oe.push(r),oi(re,r)<0&&re.push(r)):0<=oi(re,r)&&re.splice(oi(re,r),1);lr(oe)&&(oe=t),te()}}document.addEventListener("keydown",function(e){if(t(e,!0),te)return e.preventDefault(),!1}),document.addEventListener("mousedown",function(e){if(t(e,!0),te)return e.preventDefault(),!1}),document.addEventListener("wheel",function(e){if(t(e,!0),te)return e.preventDefault(),e.stopImmediatePropagation(),e.stopPropagation(),!1},{capture:!0,passive:!1}),document.addEventListener("contextmenu",function(e){if(te)return e.preventDefault(),e.stopImmediatePropagation(),!1}),document.addEventListener("keyup",function(e){if(t(e,!1),te)return e.preventDefault(),!1}),document.addEventListener("mouseup",function(e){if(1!==e.button)return t(e,!1),te?(e.preventDefault(),e.stopImmediatePropagation(),!1):void 0});function N(e){var t=!1,o=("+"===(e=Mo(e))[0]&&(t=!0,e=e.substring(1)),null);try{o=$(e)}catch(e){si(e)}return{value:o,append:t}}function S(e,t){for(var o=0;o<e.length;o++){var r,i,n,a=e[o],s=!0;for(n in void 0!==t&&(r=[],i=[]),a)if("_"!==n[0]){var l=a[n],u=bi[n];if(ti(u)&&!ti(l)&&(u=u[0]),n in h||I(n),"processing"===h[n])return void si("Dependency cycle detected for:",a,",",n);var c={setting:n,required_value:l,current_value:u,enabled:h[n],auto:!!a._auto},d=u===l;if(d||"keysequence"!==yi[n].type||!0!==l||(d=u&&!!u.length),h[n]&&d?void 0!==r&&r.push(c):(s=!1,void 0!==i&&i.push(c)),!s&&void 0===t)break}if(void 0!==t&&(t.good.push(r),t.bad.push(i)),s)return!0}return!1}function q(e){for(var t=0;t<e.length;t++)if(0!==e[t].length)return 1}var e,o,r=document.getElementById("options"),ie=(r.textContent="",document.createDocumentFragment()),ne=(P||((e=ni("h1")).textContent=vi("options_header"),ie.appendChild(e)),document.getElementById("saved")),de=(ne||((ne=ni("div")).style.visibility="hidden",ne.id="saved",ne.classList.add("topsaved")),function(e){var t="Saved! Refresh the target page for changes to take effect";return t=e&&e.needrefresh||!Zr&&"undefined"==typeof GM_addValueChangeListener?t:"Saved!"}),pe=function(e){var t=ni("p");t.textContent=vi(e),ne.textContent="",ne.appendChild(t)},ae=(pe(de()),null),i=(bi.check_updates&&1===we(H,bi.last_update_version)&&ie.appendChild(((e=ni("div")).classList.add("update-available"),e.innerHTML="Update available: v"+H+" -&gt; ",i=so(),e.innerHTML+=i?'<a href="'+i+'" target="_blank" rel="noreferer">v'+bi.last_update_version+"</a>":"v"+bi.last_update_version,e)),document.createElement("p")),n=(Gr(i)&&ie.appendChild(i),ni("div")),a=(n.id="topbtns",ie.appendChild(n),ni("div")),s=(a.id="importexport",a.classList.add("center-outer"),a.style.display="none",ie.appendChild(a),ni("div")),l=(s.classList.add("center-inner"),a.appendChild(s),ni("textarea")),u=(s.appendChild(l),ni("button")),c=(u.innerText=vi("Import"),u.onclick=function(){var t,e;u.classList.contains("disabled")||(u.classList.add("disabled"),e=l.value,e=Mo(e),t=function(e){if(e&&e.value){var t,o,r=e.value,e=e.append,i=!1,n=_i(bi),a=_i(e?bi:ct);for(o in r){if(!(o in bi)){if("settings_version"===o){t=r[o];continue}li("Unknown key in imported settings:",o)}a[o]=r[o]}for(o in a)ei(a[o])!==ei(n[o])&&(bi[o]=a[o],wr(o,a[o]),i=!0);xr(t=void 0===t?1:t,a,function(e){u.classList.remove("disabled"),i||e?(ai("Settings imported"),setTimeout(function(){hr()},1)):ai("No settings changed"),p(!1)})}else l.value="Error!",u.classList.remove("disabled")},/^https?:\/\//.test(e=e)?fi({method:"GET",url:e,onload:function(e){if(200!==e.status)return console.error(e),t(null);t(N(e.responseText))}}):t(N(e)))},s.appendChild(u),ni("div")),d=ni("button"),p=(d.innerText=vi("Save"),d.onclick=function(){var e=l.value,t={url:"data:text/plain,"+encodeURIComponent(e),filename:"settings.txt"};en(t,t.filename,e.length)},c.appendChild(d),s.appendChild(c),function(e,t){e?a.style.display="block":(m=null,a.style.display="none"),t?(e&&(m="import"),u.style.display="inline-block",c.style.display="none"):(e&&(m="export"),u.style.display="none",c.style.display="block")}),m=null,d=ni("button"),s=(d.id="importbtn",d.innerText=vi("Import"),d.title=vi("Import settings"),d.onclick=function(){if("import"===m)return p(!1);l.value="",p(!0,!0)},n.appendChild(d),ni("button")),h=(s.id="exportbtn",s.innerText=vi("Export"),s.title=vi("Export settings"),s.onclick=function(){if("export"===m)return p(!1);var t=_i(bi);br("settings_version",function(e){void 0!==e&&(t.settings_version=e),l.value=ei(t),p(!0,!1)})},n.appendChild(s),{}),g={},T=function(e,t){void 0===t&&(t={});function o(e){var i=_i(e);if(!i)return null;"string"==typeof i&&(i=_i(et[i])),ti(i)||(i=[i]);var r=[];return mi(i,function(e){var t;e._condition?(t=_i(et[e._condition]),ti(t)||(t=[t]),mi(t,function(o){hi(e,function(e,t){"_condition"!==e&&(o[e]=t)}),r.push(o)})):r.push(e)}),i=[],mi(r,function(e){i.push(e);var r=[];if(hi(e,function(e,t){var o=yi[e];o&&o.profiled&&r.push(e)}),r.length)for(var t=0;t<fn;t++){var o=_i(e);mi(r,function(e){o["t"+(t+2)+"_"+e]=o[e],delete o[e]}),o._auto=!0,i.push(o)}}),i}var r=!0,i=o(e.requires),n=o(e.disabled_if);return e.imu_enabled_exempt||bi.imu_enabled||(r=!1),t.good=[],t.bad=[],r&&i&&(r=S(i,t),t.good=[]),r&&n&&(t.good=[],t.bad=[],r=!S(n,t),t.bad=[]),r},I=function(e){var t=yi[e],t=(h[e]="processing",g[e]={},T(t,g[e]));return h[e]=t},A=function(e,t){if(t in e)return e[t];for(var o in e)if(/^_group/.test(o))return A(e[o],t);return null},E=function(e,t){if(t.textContent="",bi.settings_show_requirements){var o=q((r=e).good)?"good":q(r.bad)?"bad":null;if(o){for(var r=ni("p"),i=(r.innerText=vi("Requires:"),t.appendChild(r),[]),n=e[o],a=0;a<n.length;a++)if(0!==n[a].length){for(var s=ni("ul"),l=!1,u=0;u<n[a].length;u++){var c,d,p,m,h=n[a][u];h.auto||(c=h.setting,m=d=null,h.setting in yi&&(c=vi((d=yi[h.setting]).name),m=(m=d.category||null)&&vi(Je[m])),d="",p=h.required_value,(h="input_"+h.setting+"_"+h.required_value)in ce?p=ce[h]:m&&(d="("+m+") "),h="good"===o?"!=":"=",(m=ni("li")).innerText=d+c+" "+h+" "+p,s.appendChild(m),l=!0)}l&&i.push(s)}for(var g=[],a=0;a<i.length-1;a++){g.push(i[a]);var f=ni("p");f.innerText=vi("Or:"),g.push(f)}g.push(i[i.length-1]);for(a=0;a<g.length;a++)t.appendChild(g[a])}}};function se(){var e=ie.querySelectorAll("div.option");h={};for(var t=0;t<e.length;t++){var o=e[t].id.replace(/^option_/,"");if(I(o)){e[t].classList.remove("disabled"),e[t].classList.remove("disabled-hidden"),e[t].getElementsByClassName("requirements")[0].classList.add("hidden");for(var r,i=yi[o].options,n=new RegExp("^input_"+o+"_"),a=e[t].querySelectorAll("input, textarea, button, select, option"),s=0;s<a.length;s++)(l=a[s]).disabled=!1,i&&(r=l.id.replace(n,""))!==l.id&&(r=A(i,r))&&!T(r)&&(l.disabled=!0)}else{e[t].classList.add("disabled"),(!bi.settings_show_disabled||!bi.settings_show_disabled_profiles&&/^t[0-9]+_/.test(o)&&bi["mouseover_trigger_key_"+o.replace(/^(t[0-9]+)_.*/,"$1")].length<=0)&&e[t].classList.add("disabled-hidden");for(var l,a=e[t].querySelectorAll("input, textarea, button, select"),s=0;s<a.length;s++)(l=a[s]).disabled=!0;var u=e[t].getElementsByClassName("requirements")[0];u.classList.remove("hidden"),E(g[o],u)}}}function le(){for(var e=ie.querySelectorAll("div.option"),t=0;t<e.length;t++){var o=e[t].id.replace(/^option_/,""),r=yi[o];r.warning&&(r=r.warning[bi[o]+""],o=e[t].querySelector(".warning"))&&(r?(o.innerText=r,o.style.display="block"):o.style.display="none")}}function me(e,t){function o(){0!==i.length&&((r=ni("`"===n?"code":"span")).innerText=i,i="",e.appendChild(r))}var r=null,i="",n=null;if(ri(t,"`")<0&&ri(t,"\n")<0)i=t;else for(var a=0;a<t.length;a++)t[a]===n?(o(),n=null):"`"===t[a]?(o(),n=t[a]):"\n"===t[a]?(o(),e.appendChild(ni("br"))):i+=t[a];o()}bi.settings_tabs&&((o=ni("div")).id="tabs",ie.appendChild(o));var f={},ue={};for(k in mr in Je||(mr="general"),Je){var _,U,v=vi(Je[k]),b=ni("div"),v=(b.id="cat_"+k,b.classList.add("category"),f[k]=[b],bi.settings_tabs?(b.classList.add("tabbed"),(_=ni("span")).classList.add("tab"),_.id="tab_cat_"+k,_.innerText=v,function(e){_.onclick=function(){mr=e,window.location.hash="cat_fake_"+e,hr()}}(k),k===mr?_.classList.add("active"):b.style.display="none",f[k].push(_),o.appendChild(_)):((U=ni("h2")).innerText=v,b.appendChild(U)),ni("div"));if(v.id="subcat_"+k,v.classList.add("subcat"),v.classList.add("frame"),b.appendChild(v),ue[k]=v,k in Qe)for(var R in Qe[k]){var y=ni("div"),L=k+"_"+R,D=(y.id="subcat_"+L,y.classList.add("subcat"),y.classList.add("frame"),ni("h3"));D.innerText=vi(Qe[k][R]),y.appendChild(D),b.appendChild(y),ue[L]=y}ie.appendChild(b)}function he(e){return ti(e)&&1===e.length?ei(e[0]):ei(e)}function j(h){var g=yi[h];if(g&&h in ct){var c=bi[h],r=ct[h];if(!g.hidden&&(!g.userscript_only||_e)&&(!g.extension_only||Zr)&&(!g.advanced||ge)&&(fe[g.category]=!0,!bi.settings_tabs||g.category===mr)){function D(e,t,o){ve(e,t),En(function(){M(t)}),pe(de(o)),ne.setAttribute("style",""),ne.classList.remove("fadeout"),ae&&clearTimeout(ae),ae=setTimeout(function(){ne.classList.add("fadeout")},2e3)}var i,e=ni("div"),j=(e.classList.add("option"),e.id="option_"+h,(/^t[0-9]+_/.test(h)||/_t[0-9]+$/.test(h))&&e.classList.add("trigger_profile"),ni("table")),t=(j.classList.add("option-table"),ni("tr")),o=(j.appendChild(t),ni("strong")),n=(me(o,vi(g.name)),vi(g.description)),a=((n=g.description_userscript&&_e?vi(g.description_userscript):n)?o.title=n:o.classList.add("no-title"),ni("td")),s=(a.classList.add("name_td"),a.classList.add("name_td_va_middle"),document.createElement("button")),M=(s.innerText="⮌",s.classList.add("revert-button"),s.title=vi("Revert"),s.onclick=function(){s.disabled||(f(h,r,g),En(hr))},function(e){var t=he(e),o=he(r);"keysequence"===g.type&&(t=ei(Na(e)),o=ei(Na(r))),t!==o?(a.classList.add("value_modified"),a.appendChild(s)):(a.classList.remove("value_modified"),s.parentElement===a&&a.removeChild(s))}),f=function(t,o,r){Zr&&r.required_permission?pr(r.required_permission,function(e){e?D(t,o,r):hr()}):D(t,o,r)},_=(a.appendChild(o),M(c),t.appendChild(a),ni("td")),l=(_.classList.add("value_td"),"options"),u={};if("boolean"==typeof r)l="options",u.true={name:vi("yes")},u.false={name:vi("no")},c?u.true.checked=!0:u.false.checked=!0;else if(g.options){if(g.options._randomize){var d,p=Object.keys(g.options),m={};for(d in g.options)"_"!=d[0]&&!g.options[d].is_null||(m[d]=g.options[d]);p.sort(function(){return be(2*ye())?1:-1});for(var v=0;v<p.length;v++)p[v]in m||(m[p[v]]=g.options[p[v]]);g.options=m}"combo"===g.options._type?l="combo":(l="options",u=_i(g.options),i=function(e,t){if(e in t)t[e].checked=!0;else for(var o in t)o.match(/^_group/)&&i(e,t[o])},ti(c)?mi(c,function(e){i(e,u)}):i(c,u))}else!g.type||"textarea"!==g.type&&"keysequence"!==g.type&&"number"!==g.type&&"lineedit"!==g.type||(l=g.type);if("options"===l){function P(u,e,t,c,d,p){var o="input_"+h+"_"+e,r=h,m=(d&&"and"===p&&(r+="_"+d),ni("input")),r=(m.setAttribute("type","checkbox"),m.name=r,m.value=e,m.id=o,t.checked&&m.setAttribute("checked","true"),m.addEventListener("change",function(e){var t=this.value;if("false"===(t="true"===t?!0:t)&&(t=!1),this.checked){if(d&&"or"===p)for(var o=0;o<_.children.length;o++)if((n=_.children[o]).id!==h+d)for(var r=0;r<n.children.length;r++)"INPUT"===(a=n.children[r]).tagName&&(a.checked=!1);if("or"===c)for(o=0;o<u.children.length;o++)"INPUT"===(n=u.children[o]).tagName&&n.id!=m.id&&(n.checked=!1)}else{for(var i=!1,o=0;o<_.children.length;o++){for(var n=_.children[o],r=0;r<n.children.length;r++){var a=n.children[r];if("INPUT"===a.tagName&&a.checked){i=!0;break}}if(i)break}i||(this.checked=!0)}if(d||"or"!==c){for(var s=[],l=_.getElementsByTagName("input"),o=0;o<l.length;o++)(n=l[o]).checked&&s.push(n.value);f(h,s,g)}else f(h,t,g);se(),le()}),u.appendChild(m),ni("label"));r.setAttribute("for",o),ce[o]=vi(t.name),ce[o]?r.innerText=ce[o]:r.innerHTML="&nbsp;",t.description&&(r.title=vi(t.description)),u.appendChild(r)}var b,H=(H=u._type)||"or";for(b in u)if(!u[b].extension_only||Zr)if(b.match(/^_group/)){var $,F=(F=u[b]._type)||"or";for($ in(y=ni("div")).classList.add("group"),y.id=h+b,u[b])$.match(/^_/)||P(y,$,u[b][$],F,b,H);_.appendChild(y)}else b.match(/^_/)||P(_,b,u[b],H)}else if("textarea"===l){var y=ni("table"),w=ni("tr"),o=ni("td"),k=(o.style.verticalAlign="middle",ni("tr")),x=ni("td"),C=(x.style.textAlign="center",ni("textarea")),z=(C.style.height="5em",C.style.width="20em",c&&(C.value=c),ni("button"));z.innerText=vi("save"),z.onclick=function(){f(h,C.value,g),se()},o.appendChild(C),x.appendChild(z),k.appendChild(x),w.appendChild(o),y.appendChild(w),y.appendChild(k),_.appendChild(y)}else if("number"===l||"lineedit"===l){var y=ni("table"),w=ni("tr"),N=(ni("td").style="display:inline",ni("input")),z=(N.type="text",N.setAttribute("spellcheck",!1),"number"===l&&(N.style="text-align:right",void 0!==g.number_max&&N.setAttribute("max",g.number_max.toString()),void 0!==g.number_min&&N.setAttribute("min",g.number_min.toString()),g.number_int)&&N.setAttribute("step","1"),void 0!==c&&(N.value=c),N.oninput=N.onblur=function(e){var t=!1,o=!0,r=("blur"===e.type&&(o=!(t=!0)),N.value.toString());if("number"===l){var i=r=parseFloat(r);if(isNaN(r)){if(!t)return;r=0}if(g.number_int&&(r=parseInt(r)),void 0!==g.number_max&&(r=pi(r,g.number_max)),void 0!==g.number_min&&(r=di(r,g.number_min)),isNaN(r))return void si("Error: number is NaN after min/max");!g.number_int&&r===i||(N.value=r),r=parseFloat(r),"blur"===e.type&&r!==i&&(o=!0)}o&&f(h,r,g)},ni("td"));z.classList.add("number_units"),g.number_unit&&(z.innerText=vi(g.number_unit)),w.appendChild(N),w.appendChild(z),y.appendChild(w),_.appendChild(y)}else if("keysequence"===l){for(var y=ni("table"),S=_i(c),q=(0<S.length&&!ti(S[0])&&(S=[S]),[]),v=0;v<S.length;v++)q.push(v);function O(){for(var e=[],t=0;t<q.length;t++)0<=q[t]&&0<S[t].length&&e.push(S[t]);f(h,e,g),se()}function G(){for(var e=!g.keyseq_allow_none&&W(),t=0;t<y.children.length;t++){var o=y.children[t].getElementsByClassName("removebtn");0<o.length&&(o[0].style.display=e?"none":"initial")}}function B(t,e){function o(){te?ur(oe)&&(S[t]=oe,O(),l()):(oe=[],re=[],te=function(){var e=oe;0===e.length&&(e=S[t]),i.innerText=ir(e),ur(oe)?a.classList.remove("disabled"):a.classList.add("disabled")},a.innerText=vi("save"),s.style="display:inline-block")}var r=ni("tr"),i=(r.classList.add("keyseq"),ni("td")),n=(i.classList.add("record_keybinding"),c&&(i.innerText=ir(S)[t]),ni("td")),a=(n.style="display:inline",ni("button")),s=(a.innerText=vi("Record"),a.onmousedown=o,ni("button")),l=(s.innerText=vi("Cancel"),s.style="display:none",function(){te=!1,a.innerText=vi("Record"),a.classList.remove("disabled"),s.style="display:none",i.innerText=ir(S)[t]}),u=(s.onmousedown=l,ni("button"));return u.innerText="×",u.title=vi("Remove"),u.classList.add("removebtn"),u.classList.add("small"),!g.keyseq_allow_none&&W()&&(u.style="display:none"),u.onclick=function(){if(g.keyseq_allow_none||!W()){te=!1,q[t]=-1;for(var e=t+1;e<q.length;e++)q[e]--;r.parentElement.removeChild(r),G(),O()}},r.appendChild(i),n.appendChild(a),n.appendChild(s),n.appendChild(u),r.appendChild(n),e&&o(),r}for(var W=function(){for(var e=0,t=0;t<q.length;t++)0<=q[t]&&e++;return e<2},v=0;v<q.length;v++)y.appendChild(B(v));var V=ni("tr"),x=ni("td"),o=ni("button");o.innerText="+",o.title=vi("Add keybinding"),o.classList.add("small"),o.onclick=function(){for(var e=-1,t=q.length-1;0<=t;t--)if(0<=q[t]){e=q[t];break}q.push(e+1),S.push([]),y.insertBefore(B(q.length-1,!0),V),G()},x.appendChild(o),V.appendChild(x),y.appendChild(V),_.appendChild(y)}else if("combo"===l){var T,I,A,X,E,y=ni("select"),Y=null;for(T in g.options)T&&"_"!==T[0]&&(A=(I=g.options[T]).name,"name_gettext"in I&&!I.name_gettext||(A=vi(A)),ce[X="input_"+h+"_"+T]=A,(E=ni("option")).innerText=A,E.value=T,E.id=X,I.description&&(E.title=vi(I.description)),I.is_null&&(Y=T),y.appendChild(E));k=bi[h];null===k&&Y&&(k=Y),y.value=k,y.onchange=function(){var e=y.value;e in g.options&&g.options[e].is_null&&(e=null),f(h,e,g),se(),le()},_.appendChild(y)}t.appendChild(_),e.appendChild(j),n&&bi.settings_visible_description&&(me(z=ni("p"),n),z.classList.add("description"),e.appendChild(z)),g.warning&&((w=ni("p")).style.display="none",w.classList.add("warning"),e.appendChild(w));var Z,U,R,L,o=ni("div");if(o.classList.add("requirements"),o.classList.add("hidden"),e.appendChild(o),g.example_websites){var K=ni("ul");K.classList.add("examples");for(var J=0;J<g.example_websites.length;J++){var Q=g.example_websites[J],ee=ni("li");ee.innerText=vi(Q),K.appendChild(ee)}e.appendChild(K)}g.documentation&&(x=(Z=function(e){return decodeURIComponent(e?"%E2%AF%86":"%E2%AF%88")+" "+vi(g.documentation.title)})(!1),(U=ni("span")).classList.add("spoiler-title"),U.innerText=x,R=!1,U.onclick=function(){R=!R,L.style.display=R?"block":"none",U.innerText=Z(R)},(L=ni("div")).classList.add("spoiler-contents"),L.style.display="none",L.innerHTML=g.documentation.value,e.appendChild(U),e.appendChild(L));k=ni("div");k.classList.add("error"),k.classList.add("hidden"),e.appendChild(k),(g.category?(t=g.category,g.subcategory&&(t+="_"+g.subcategory),ue[t]):ie).appendChild(e)}}}var ge=bi.advanced_options,fe={},ce={},w=Object.keys(bi);bi.settings_alphabetical_order&&w.sort(function(e,t){var o=yi[e],r=yi[t];return o&&r&&o.name&&r.name?vi(o.name).localeCompare(vi(r.name)):e.localeCompare(t)});for(var k,M,x=0;x<w.length;x++)j(w[x]);for(k in se(),le(),f){var C=f[k];if(!(k in fe))for(x=0;x<C.length;x++)C[x].parentNode.removeChild(C[x])}for(M in ue){var z=ue[M];0===z.querySelectorAll(".option").length&&z.parentNode.removeChild(z)}document.body.appendChild(ne),r.appendChild(ie),ie=r}function la(e){return ti(e)?e[0]:e}function xi(e){return la(bi[e])}function gr(t){try{return void 0===t?t:"true"===t||"false"!==t&&$(t)}catch(e){return t}}v&&(Ge=window.location.hash)&&(Go=Ge.match(/^#?cat(?:_fake)?_(.*)$/))&&(mr=Go[1]);var fr=null;function _r(e){e=GM_getValue(e,void 0);return e=null===e&&(fr=null===fr?null===GM_getValue("nonexistent_value_abcdefg",void 0):fr)?void 0:e}function vr(o,r){if(Zr)Kr({type:"getvalue",data:o},function(o){o=o.data,hi(o,function(e,t){o[e]=gr(t)}),r(o)});else{var i,n;if("undefined"!=typeof GM_getValue&&"FireMonkey"!==y)return n={},mi(o,function(e){n[e]=gr(_r(e))}),r(n);"undefined"!=typeof GM&&GM.getValue?(i=0,n={},mi(o,function(t){GM.getValue(t,void 0).then(function(e){n[t]=gr(e),++i>=o.length&&r(n)},function(e){si(e),++i>=o.length&&r(n)})})):r({})}}function br(t,o){vr([t],function(e){return o(e[t])})}var yr=0;function wr(e,t,o){var r;e in yi&&yi[e].onedit&&yi[e].onedit(t),t=ei(t),Zr?((r={})[e]=t,yr++,Kr({type:"setvalue",data:r},function(){yr--,o&&o()})):"undefined"!=typeof GM_setValue?(GM_setValue(e,t),o&&o()):"undefined"!=typeof GM&&GM.setValue?GM.setValue(e,t).then(function(){o&&o()}):o&&o()}function ve(e,t){t!==bi[e]&&(t=_i(t),bi[e]=t,Zr&&(e in gt||(gt[e]=[]),gt[e].push(t)),wr(e,t))}function kr(e){if(bi.allow_live_settings_reload){var t,o=!1;for(t in e)if(void 0!==e[t].newValue){var r=$(e[t].newValue);if(t in gt){var i=oi(gt[t],r),n=!1;if(0<=i&&i<gt[t].length-1&&(n=!0),gt[t].splice(i,1),n)continue}i=Cr(t,r),o=i||o;i&&t in yi&&"onupdate"in yi[t]&&yi[t].onupdate()}o&&yr<=0&&qi&&hr()}}function xr(e,t,o){(!e||"number"!=typeof e&&(e=parseInt(e),isNaN(e)))&&(e=0),void 0===t&&(t=bi);var r,i=!1;if(0===e){if(t.mouseover_trigger){for(var n=[],a=0;a<t.mouseover_trigger.length;a++){var s,l=t.mouseover_trigger[a];l.match(/^delay_[0-9]+/)?ve("mouseover_trigger_delay",s="number"==typeof(s=(s=ci(t.mouseover_trigger[a].replace(/^delay_([0-9]+).*?$/,"$1")))<=0||isNaN(s)?!1:s)&&10<=s?10:s):n.push(l)}0===n.length?(ve("mouseover_trigger_key",ct.mouseover_trigger_key),ve("mouseover_trigger_behavior","mouse")):(ve("mouseover_trigger_key",n),ve("mouseover_trigger_behavior","keyboard"))}ve("settings_version",1),i=!0,e=1}if(1===e&&(r="none",void 0===t.mouseover_use_fully_loaded_video&&void 0===t.mouseover_use_fully_loaded_image||(!1!==t.mouseover_use_fully_loaded_video&&void 0!==t.mouseover_use_fully_loaded_video||(r="video"),void 0===t.mouseover_use_fully_loaded_image?ct.mouseover_use_fully_loaded_image||(r="media"):!1===t.mouseover_use_fully_loaded_image&&(r="media"),ve("mouseover_allow_partial",r)),ve("settings_version",2),i=!0,e=2),2===e&&("mouseover_close_on_leave_el"in t&&ve("mouseover_close_el_policy",t.mouseover_close_on_leave_el?"both":"popup"),ve("settings_version",3),i=!0,e=3),3===e&&("mouseover_scroll_behavior"in t&&("zoom"!==la(t.mouseover_scroll_behavior)&&ve("mouseover_scrollx_behavior",t.mouseover_scroll_behavior),ve("mouseover_scrolly_behavior",t.mouseover_scroll_behavior)),ve("settings_version",4),i=!0,e=4),4===e&&("mouseover_mask_styles"in t&&t.mouseover_mask_styles&&(ve("mouseover_mask_styles2",t.mouseover_mask_styles),ve("mouseover_enable_mask_styles",!0)),ve("settings_version",5),i=!0,e=5),5===e&&("mouseover_video_seek_vertical_scroll"in t&&t.mouseover_video_seek_vertical_scroll&&ve("mouseover_scrolly_video_behavior","seek"),"mouseover_video_seek_horizontal_scroll"in t&&t.mouseover_video_seek_horizontal_scroll&&ve("mouseover_scrollx_video_behavior","seek"),ve("settings_version",6),i=!0,e=6),6===e&&("mouseover_support_pointerevents_none"in t&&t.mouseover_support_pointerevents_none&&ve("mouseover_find_els_mode","full"),ve("settings_version",7),i=!0,e=7),7===e&&("mouseover_enable_mask_styles"in t&&t.mouseover_enable_mask_styles&&ve("mouseover_enable_mask_styles2","always"),ve("settings_version",8),i=!0,e=8),8===e){if("allow_video"in t&&!t.allow_video){ve("mouseover_allow_video",!1);for(a=0;a<fn;a++)ve("t"+(a+2)+"_mouseover_allow_video",!1);ve("redirect_video",!1)}ve("settings_version",9),i=!0,e=9}if(9===e){if("allow_audio"in t&&t.allow_audio){ve("mouseover_allow_audio",!0);for(a=0;a<fn;a++)ve("t"+(a+2)+"_mouseover_allow_audio",!0);ve("redirect_audio",!0)}ve("settings_version",10),i=!0,e=10}10===e&&("replaceimgs_remove_size_constraints"in t&&t.replaceimgs_remove_size_constraints&&ve("replaceimgs_size_constraints","remove"),ve("settings_version",11),i=!0,e=11),o(i)}function Cr(e,t){return void 0!==t&&("number"==typeof bi[e]&&(t=parseFloat(t)),(Ze[e]=t)!==bi[e])&&(bi[e]=t,!0)}var ua=!0;try{/^[a-z]+:\/\/[^/]*txxx\.com\//.test(window.location.href)&&(ua=!1)}catch(e){}function Ci(e){ua&&(e.style.all="initial"),e.style.removeProperty("offset-inline-start"),e.style.setProperty("transition-duration","0s","important")}function zr(e,t){if(Yr&&ai("check_bad_if",e,t),e&&ti(e)&&0!==e.length){for(var n=Dn(t.responseHeaders),o=0;o<e.length;o++)if(function(e){if(e.headers)for(var t in e.headers){for(var o=t.toLowerCase(),r=!1,i=0;i<n.length;i++)if(n[i].name.toLowerCase()===o){if("function"==typeof e.headers[t]?r=e.headers[t](n[i].value):"string"==typeof e.headers[t]&&(r=n[i].value===e.headers[t]),r)break;return!1}if(!r)return!1}return!0}(e[o]))return!0}else Yr&&ai("check_bad_if (!badif)");return!1}ki.check_bad_if=zr;function Nr(e,t){return e?("image"===e.type||"video"===e.type||"audio"===e.type)&&!("video"===e.type&&t.deny_video||"audio"===e.type&&t.deny_audio||"hevc"===e.codec||e.delivery&&(e.need_custom_xhr&&!bi.custom_xhr_for_lib||!(e.delivery&&e.delivery in da&&da[e.delivery].active()))):(si("is_media_type_supported called without media_info"),!0)}var ca,da={},Sr=function(e){return!(!e.media_info||"video"!==e.media_info.type)||!!/\.(?:mp4|webm|mkv|mpg|ogv|wmv|m3u8|mpd)(?:[?#].*)?$/i.test(e.url)},qr=function(e){return!(!e.media_info||"audio"!==e.media_info.type)||!!/\.(?:mp3|m4a|oga|mkv|wma|mp4|ogg)(?:[?#].*)?$/i.test(e.url)};function pa(e,t){if(e.method||(e.method="GET"),e.headers||(e.headers={}),t.headers)for(var o in t.headers)To(e.headers,o,t.headers[o]);return e.url!==t.url||t.can_head||"HEAD"!==e.method||(e.method="GET"),e}function Tr(e,t){(bi.popup_use_anonymous_crossorigin||t&&!t.need_credentials)&&e.setAttribute("crossorigin","anonymous")}function ma(e){var t,o={height:e.naturalHeight,width:e.naturalWidth};return!e.complete||o.height&&o.width||(Ci(t=new Image),t.style.margin="0",t.style.padding="0",t.style.visibility="hidden",t.src=e.src,document.documentElement.appendChild(t),o={width:t.offsetWidth,height:t.offsetHeight},document.documentElement.removeChild(t)),o}function ha(e){return"VIDEO"===e.tagName||"SOURCE"===e.tagName&&!(!e.parentElement||"VIDEO"!==e.parentElement.tagName)}function ga(e){var t=Ar(e);return t||("SOURCE"===Zn(e)?Ar(e.parentElement):null)}function fa(e){for(var e=_i(e),t={arabic:"ar","العربية":"ar",bengali:"bn","বাংলা":"bn",german:"de",deutsch:"de",english:"en",spanish:"es","español":"es",espanol:"es",french:"fr","français":"fr",francais:"fr",hindi:"hi","हिंदी":"hi",italian:"it",italiano:"it",korean:"ko","한국어":"ko",polish:"pl",polski:"pl",portuguese:"pt","português":"pt",portugues:"pt",russian:"ru","русский":"ru",thai:"th","ไทย":"th",turkish:"tr","türkçe":"tr",turkce:"tr",chinese:"zh","中文":"zh"},o=0,r=e;o<r.length;o++){var i,n=r[o];!n.language_code&&n.title&&(i=(i=wi(n.title.toLowerCase()))in t?i:wi(i.replace(/[ (].*$/,"")))in t&&(n.language_code=t[i]),n.language_code&&(n.simple_language_code=n.language_code.replace(/-.*/,""))}var a=["en"];try{a=_i(navigator.languages)}catch(e){si(e)}for(var s=0;s<a.length;s++)a[s]=a[s].replace(/-.*/,"");var l=Fe(e).sort(function(e,t){e=oi(a,e.simple_language_code),t=oi(a,t.simple_language_code);return(e=e<0?9999:e)-(t=t<0?9999:t)});return ai(a,l),0<l.length&&l[0].simple_language_code===a[0]&&(l[0].default=!0),e}function _a(e){var t;bt(Lr,e)?(t=bn(Lr,e),vn(Lr,e,++t)):vn(Lr,e,1)}function va(e){var t;bt(Lr,e)&&(t=bn(Lr,e),--t<=0?(Er(e),yt(Lr,e)):vn(Lr,e,t))}var Ir=function(){return N},ba=function(e){return Ir().createObjectURL(e)},ya=function(e){return pn(e)&&(e=e.src),Ir().revokeObjectURL(e)},Ar=function(e){return e?"VIDEO"===(e=Zn(e))?"video":"AUDIO"===e?"audio":"PICTURE"===e||"IMG"===e?"image":null:null},Er=function(e){Yr&&ai("destroy_image",e),ya(e.src),e.setAttribute("imu-destroyed","true")},Ur=function(a,e,s,l,u){function c(e){var t;si("Error loading video",((t=e=e).path&&e.path[0]&&(t=e.path[0].error),t=e.originalTarget?e.originalTarget.error:t)),p(),u()}var d=ni(e),e=(Tr(d,a),bi.mouseover_video_autoplay&&d.setAttribute("autoplay","autoplay"),!bi.mouseover_video_controls&&"audio"!==e||d.setAttribute("controls","controls"),bi.mouseover_video_loop&&!bi.mouseover_gallery_move_after_video&&d.setAttribute("loop",!0),parseInt(bi.mouseover_video_volume)),e=di(pi(e,100),0),p=(d.volume=e/100,bi.mouseover_video_muted&&(d.muted=!0),function(){d.onloadedmetadata=null,d.removeEventListener("loadedmetadata",t)}),m=!1,t=function(){if(!m){if(m=!0,d.removeEventListener("error",c,!0),p(),!s.running)return u(!0);if(a.subtitles)for(var e=0,t=fa(a.subtitles);e<t.length;e++){var o=t[e],r=ni("track");r.setAttribute("kind","captions"),r.setAttribute("src",o.url),o.language_code&&r.setAttribute("srclang",o.language_code),r.setAttribute("label",o.title),d.appendChild(r),o.default&&r.setAttribute("default","default")}d.hasAttribute("loop")&&bi.mouseover_video_autoloop_max&&bi.mouseover_video_autoloop_max<d.duration&&d.removeAttribute("loop");var i,n=null;s.source&&s.source.el&&"VIDEO"===(i="SOURCE"===(i=s.source.el).tagName?i.parentElement:i).tagName&&(n=i),bi.mouseover_video_resume_from_source&&n&&n.currentTime&&(bi.mouseover_video_resume_if_different||$i(n.duration-d.duration)<1||$i(1-n.duration/d.duration)<.01)&&(d.currentTime=n.currentTime),bi.mouseover_video_pause_source&&n&&n.pause(),En(function(){l(d)})}};return d.onloadedmetadata=t,d.addEventListener("loadedmetadata",t),d.onended=function(){bi.mouseover_enable_gallery&&bi.mouseover_gallery_move_after_video&&ca(1)},d.addEventListener("error",c,!0),d},Rr=function(e,t,o){function r(){clearInterval(n),i.onload=null,i.onerror=null}var i=ni("img"),n=(Tr(i,e),i.onload=function(){r();var e=ma(i);if(0===e.width||0===e.height)return Yr&&ai("naturalWidth or naturalHeight == 0",i),o();t(i)},i.onerror=function(e){Yr&&ai("Error loading image",i,e),r(),o()},setInterval(function(){0!==i.naturalWidth&&0!==i.naturalHeight&&(r(),t(i))},15));return i},Lr=ft(),Dr=null,jr={};function wa(c,o,d){if(Yr&&ui("check_image_get","check_image_get",_i(c),o,_i(d)),!c||!c[0]||!c[0].url)return o(null);if(!d.running)return o(null);function r(e){return ya(b),c.shift(),Yr&&ui("check_image_get","check_image_get(err_cb):",c,d),wa(c,o,d)}var p=r;if(!d.set_cache&&!d.use_cache||Dr||(e=bi.popup_cache_itemlimit,Dr=new xn({max_keys:e=e<=0?null:e,destructor:function(e,t){t&&t.img&&va(t.img)}})),c[0].media_info||(li("No media info",c[0]),c[0].media_info=_i(Pe.media_info)),!Nr(c[0].media_info,d))return li("Media type",c[0].media_info,"is not supported"),p();if(d.use_cache&&Dr.has(c[0].url)){var e=Dr.get(c[0].url);Yr&&ui("check_image_get","check_image_get(cached):",e.img,e.resp,c[0]);var t=!1;if(!(t=(i=e.img)&&("VIDEO"!==i.tagName&&"AUDIO"!==i.tagName||bi.popup_cache_resume_video||(i.currentTime=e.currentTime||0),i.hasAttribute("imu-destroyed"))?!0:t))return e.filesize&&!c[0].filesize&&(c[0].filesize=e.filesize),void(d.head?o(e.resp,c[0]):o(e.img,e.resp.finalUrl,c[0],e.resp))}var i,n,m,a,h,s,l,u,g,f,_="GET",v="blob",b=null,t=Sr(c[0]),y=(e=c[0],Sr(e)||qr(e)),w=!1;if((d.incomplete_image||y&&d.incomplete_video||d.head)&&(w=!0),(c[0].need_blob||c[0].need_data_url)&&(w=!1),y&&!c[0].media_info.delivery&&(c[0].media_info.delivery=function(e){e=qn(e,{split_ext:!0});return"mpd"===e[1]?"dash":"m3u8"===e[1]?"hls":null}(c[0].url)),(d.head||w)&&(_=w&&!c[0].can_head?"GET":"HEAD",v=void 0),!c[0].url.match(/^data:/)||c[0].media_info.delivery)return n=function(t,o,e){if(e)return f.apply(t,o);e=jr[u];e?(delete jr[u],mi(e,function(e){e(t,o)})):si("Already ran cbs?",t,o,u)},f=o,m=c[0].url,ai("Trying "+m),c[0].url&&/^blob:/.test(c[0].url)?(ai("Blob URL"),p()):c[0].bad?(ai("Bad image"),p()):c[0].is_pagelink?(ai("Page link"),p()):xt(c[0].url)?(ai("Invalid URL"),p()):(m.replace(/^([a-z]+:\/\/[^/]*).*?$/,"$1"),(a=c[0].headers)&&0!==Object.keys(a).length?a.Origin||a.origin:(y=window.location.href,/^https?:\/\//.test(y)||(y=""),a={Referer:y}),h=!1,s=function(o){if(!h){if(h=!0,!d.running)return f(null);Yr&&ui("check_image_get","check_image_get(onload)",_i(o),o.readyState);var e=o.status.toString()[0],t=rr(c[0].head_ok_errors,o.status);if("4"!==e&&"5"!==e||405===o.status||!0===t){if(zr(c[0].bad_if,o))return ai("Bad image (bad_if)",o,c[0].bad_if),p();if(d.head)f(o,c[0]);else{var e=jn(Dn(o.responseHeaders)),a=c[0].media_info;if("image"===a.type&&e["content-type"]&&(t=(t=e["content-type"]).replace(/^\s*\[?\s*(.*?)\s*\]?\s*$/,"$1"),r={type:null,delivery:null},/^audio\//.test(t)&&(r.type="audio"),/^video\//.test(t)&&(r.type="video"),"application/oga"===t&&(r.type="audio"),"application/ogv"===t&&(r.type="video"),"application/ogg"===t&&(r.type="video"),"application/x-mpegurl"===t&&(r.type="video",r.delivery="hls"),t=r.type?r:null)&&(a.type=t.type,t.delivery)&&(a.delivery=t.delivery),!Nr(a,d))return li("Media type",a,"is not supported"),p();if(bi.mouseover_matching_media_types&&d&&d.source&&d.source.el){var r=ga(d.source.el);if(r&&r!==a.type)return ai("Source was ",r,", this is",a.type,"skipping"),p()}function s(e){var t;Yr&&ui("check_image_get","check_image_get(good_cb):",e,o.finalUrl,c[0],o),d.set_cache&&(t={img:e,resp:o,filesize:c[0].filesize},"VIDEO"!==e.tagName&&"AUDIO"!==e.tagName||(t.currentTime=e.currentTime),Dr.set(c[0].url,t,60*(parseFloat(bi.popup_cache_duration)||0))),e&&_a(e),f(e,o.finalUrl,c[0],o)}function l(e,t){var o,r,i,n=a.delivery+"";"image"!==a.type&&!d.deny_nondirect_delivery&&n in da?(n=da[n]).active()&&n.el_init({success:function(){},fail:p,info_obj:c[0],el:e,src:t}):(o=e,r=t,n=c[0],o&&(i=function(e,t){e.src=t},e="string"==typeof r&&/^https?:\/\//i.test(r),Zr&&e?Kr({type:"override_next_headers",data:{url:r,method:"GET",headers:n.headers,anonymous:"anonymous"===o.getAttribute("crossorigin"),content_type:n.content_type||null}},function(){i(o,r)}):i(o,r)))}function u(t,e){var o,r,i=p,n=(!e&&c[0].head_wrong_contenttype&&"audio"!==a.type&&(i=function(){var e=["video","image"];e.splice(oi(e,a.type),1),u(t,e[0])}),e=e||a.type,n=c[0],o=d,r=s,i=i,"image"===(e=e)?Rr(n,r,i):"video"===e||"audio"===e?Ur(n,e,o,r,i):(si("Currently unsupported media type",e),i(),null));return l(n,t),n}var i,n;e["content-length"]&&100<parseInt(e["content-length"])&&(c[0].filesize=parseInt(e["content-length"]));w?u(o.finalUrl):o.response?(t=function(e){if(Yr&&ai("check_image_get's loadcb",e,a),!(b=e))return p();u(e)},c[0].need_data_url||!bi.mouseover_use_blob_over_data&&!c[0].need_blob?(e=o.response,i=t,(n=new FileReader).onload=function(e){try{i(e.target.result)}catch(e){si(e),si(e.stack),i(null)}},n.readAsDataURL(e)):t(ba(o.response))):p()}}else p?(ai("Bad status: "+o.status+" ( "+m+" )"),p()):si("Error: "+o.status)}},l=null,void(c[0].can_multiple_request&&!bi.mouseover_partial_avoid_head||!w||c[0].bad_if&&0!==c[0].bad_if.length?(p=function(e){n(null,null,e)},f=function(){n(this,arguments)},(u=_+" "+w+" "+m)in jr||(jr[u]=[]),jr[u].push(function(e,t){return t||e?o.apply(e,t):r()}),1<jr[u].length||(g=function(){l=fi({method:_,url:m,responseType:v,headers:a,trackingprotection_failsafe:!0,need_blob_response:"GET"==_,retry_503:!0,onprogress:function(e){function t(){l&&l.abort?l.abort():li("Unable to abort request")}d.running||t(),d.progress_cb&&e.lengthComputable&&e.loaded&&e.total&&d.progress_cb({total:e.total,loaded:e.loaded}),w&&2<=e.readyState&&e.responseHeaders&&(t(),s(e))},onload:s})},c[0].cookie_url&&Le?Le(c[0].cookie_url,function(e){if(!e)return g();To(a,"cookie",ke(e)),g()},{need_full:!0}):g())):s({status:200,responseHeaders:"Content-Type: "+(t?"video/mp4":"image/jpeg"),readyState:3,finalUrl:c[0].url})));i=ni("img"),Tr(i,c[0]),i.src=c[0].url,i.onload=function(){o(i,c[0].url,c[0])},i.onerror=function(e){ai("Error loading image",e),p()}}function ka(e,t){if(!bi.mouseover_ui_use_safe_glyphs)try{for(var o=0;o<t.length;o++)if(document.fonts.check(e,t[o]))return t[o]}catch(e){si(e)}return t[t.length-1]}var Mr={8:"backspace",13:"enter",16:"shift",17:"ctrl",18:"alt",19:"pause",27:"esc",32:"space",37:"left",38:"up",39:"right",40:"down",44:"prntscreen",97:"1",98:"2",99:"3",100:"4",101:"5",102:"6",103:"7",104:"8",105:"9",111:"/",106:"*",107:"+",109:"-",110:".",145:"scrlock",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'",226:"\\"},xa=9007199254740991,Ca=xa,za='"Noto Sans", Arial, Helvetica, sans-serif';function Pr(e){var t=e.which;if(e.code){e=e.code.match(/^Numpad([0-9]+)$/);if(e)return e[1]}return t in Mr?Mr[t]:65<=t&&t<=90||48<=t&&t<=57?S(t).toLowerCase():void 0}function Na(e){return 0===e.length?[[]]:ti(e[0])?e:[e]}function Sa(o,e,t){if(Yr&&ai("general_extension_message_handler",o),"settings_update"===o.type)kr(o.data.changes);else if("request"===o.type){var n=o.data;if(n.id in Ce){function r(){for(var e=Ce[n.id].data,t=["onload","onerror","onprogress","onabort","ontimeout"],o=!1,r=0;r<t.length;r++){var i=t[r];n.event===i&&e[i]&&(Yr&&ai("Running "+i+" for response",n),e[i](n.data),o=!0)}Yr&&!o&&li("No event handler for",n),n.final&&delete Ce[n.id]}if(n.data&&"blob"===n.data.responseType){var i=n.data._responseEncoded;if(i){var a,s="blob";if("arraybuffer"===n.data._wanted_responseType&&(s="arraybuffer"),i.value){for(var l=new Uint8Array(i.value.length),u=0;u<i.value.length;u++)l[u]=i.value.charCodeAt(u);if("blob"===s)try{n.data.response=new z([l.buffer],{type:i.type})}catch(e){si(e),n.data.response=null}else n.data.response=l.buffer}else if(i.objurl)return(a=new XMLHttpRequest).open("GET",i.objurl),a.responseType=s,a.onload=function(){ya(i.objurl),n.data.response=a.response,r()},a.onerror=function(){ya(i.objurl),si("Unable to load blob for",i,a),n.data.response=null,r()},void a.send()}else n.data.response=null}else n.data&&n.data.responseText&&!n.data.response&&(n.data.response=n.data.responseText);r()}else Yr&&ai("Request ID "+n.id+" not in extension_requests")}else if("bg_redirect"===o.type){if(bi.redirect&&bi.redirect_extension&&bi.imu_enabled)try{var c=jn(o.data.responseHeaders);c["content-type"]&&nr(c["content-type"])&&ar(o.data.url,!1,function(e,t){Jo(t,function(){chrome.tabs.update(o.data.tabId,{url:e})},o.data.tabId)})}catch(e){si(e)}}else"get_localstorage"===o.type&&(ge(o.data.url)?t(fe(o.data.keys,o.data.options)):t(null))}function qa(e,t,o){t%o!=o-1?e():setTimeout(e,0)}function Hr(){Yr&&ai("do_mouseover ran");function v(){return!!bi.imu_enabled&&!!dn(window.location.href)}function y(){return e()&&!1!==g&&"number"==typeof g&&F}var e=function(){return v()&&bi.mouseover},w=!1,_e=0,ve=0,k="top",x=null,C=null,be=!1,z=0,N=0,Le=0,De=0,o=[],ye=[],S=null,we=null,ke=null,q=null,l=null,je=null,xe=null,T=null,Me=!1,Pe=null,t=null,u=null,I=null,p=null,A=null,Ce=!1,c=!1,ze=!1,m=null,Ne=[!1,!1],Se=!1,He=gi.nullfunc,qe=gi.nullfunc,$e=gi.nullfunc,Fe=null,Oe=null,Ge=null,Be=gi.nullfunc,We=null,Ve=0,Xe=0,E=!1,Ye=null,U=null,R=0,L=null,D=0,Te=!1,Ze=null,Ke=null,Je=null,Qe=null,et=null,tt=null,Ie=!1,j=!1,r=null,i=null,M=null,P=200,d=[],H={},h=[],ot=!1,$=Pn(Jr),rt=Hn($);var g=!1,f=null,Ae=!1,F=!0,O=null;function W(e){return bi[e=e,e=S&&(t="t"+S+"_"+e)in bi?t:e];var t}function it(e){return la(W(e))}function G(){var e,t;r&&(e=_e,t=ve,r.style.left=e-P/2+"px",r.style.top=t-P/2+"px")}var B=function(e,t){var o;M=t=t||"wait",j=!0,bi.mouseover_wait_use_el?(r||(Ci(r=ni("div")),r.style.zIndex=Ca,r.style.cursor=t,r.style.width=P+"px",r.style.height=P+"px",r.style.position="fixed",o=function(e,t){r.style.display="none",document.elementFromPoint(e.clientX,e.clientY).dispatchEvent(new MouseEvent(t,e)),r.style.display="block"},ii(r,"click",function(e){return o(e,"click")}),ii(r,"contextmenu",function(e){return o(e,"contextmenu")}),document.documentElement.appendChild(r)),r.style.cursor=t,r.style.display="block",G()):(i&&Ee(),(i=ni("style")).innerText="*,a,img,video {cursor: "+t+"!important}",document.documentElement.appendChild(i))};var Ee=function(){Yr&&ai("stop_waiting"),j=!1,bi.mouseover_wait_use_el||i&&(i.parentElement.removeChild(i),i=null),r&&(r.style.display="none")};function nt(){Ee()}var X=null;function b(){Yr&&ai("cursor_not_allowed"),B(void 0,"not-allowed"),X&&clearTimeout(X),X=setTimeout(function(){X=null,"not-allowed"===M&&nt()},bi.mouseover_notallowed_duration)}function at(){(bi.mouseover_enable_notallowed_cant_load?b:Ee)()}function Y(e,t,o,r){return!isNaN(r)&&void 0!==r||(r=0),e>=o.left-r&&e<=o.right+r&&t>=o.top-r&&t<=o.bottom+r}function Z(){for(var e=0;e<o.length;e++)o[e].running=!1}function st(){bi.mouseover_auto_close_popup&&bi.mouseover_auto_close_popup_time&&(K(),t=setTimeout(Ue,1e3*bi.mouseover_auto_close_popup_time))}var K=function(){t&&(clearTimeout(t),t=null)},J=null;function lt(){mi(ye,function(e){for(var t=e.querySelectorAll("img, video, audio"),o=0;o<t.length;o++)"VIDEO"!==t[o].tagName&&"AUDIO"!==t[o].tagName||t[o].pause(),va(t[o]);e.parentNode&&e.parentNode.removeChild(e);e=oi(ye,e);-1<e&&ye.splice(e,1)}),J&&(clearTimeout(J),J=null)}function ut(){we&&(we.parentElement&&we.parentElement.removeChild(we),we=null),ne&&(clearTimeout(ne),ne=null)}var Q,ee,te,oe,re,ie,ne=null;function Ue(e){Yr&&ai("resetpopups(",e,")");var t=!!(e=e||{}).from_remote;mi(ye,function(e){0<bi.mouseover_fade_time&&(bi.mouseover_enable_fade||bi.mouseover_enable_zoom_effect)?(bi.mouseover_enable_fade&&(e.style.opacity=0),bi.mouseover_enable_zoom_effect&&(e.style.transform="scale(0)"),J=J||setTimeout(lt,bi.mouseover_fade_time)):lt()}),we&&(Re(we,"pointer-events","none"),0<bi.mouseover_mask_fade_time?(Re(we,"opacity",0),ne=ne||setTimeout(ut,bi.mouseover_mask_fade_time)):ut()),!t&&Qi()&&(Qr?Xi("top",{type:"resetpopups"}):c&&Xi(c,{type:"resetpopups"})),Ae=ze=!1,K(),xe&&(p=xe),Me=c=Ce=!1,Pe=T=u=xe=I=null,He=gi.nullfunc,qe=gi.nullfunc,$e=gi.nullfunc,E=!1,L=U=Ge=Oe=Fe=null,D=R=0,e.automatic||(Se=!1,l=null),e.new_popup||(Ne=[!1,!1]),Z(),e.new_popup&&!bi.mouseover_wait_use_el||Ee(),!F&&f&&(clearTimeout(f),f=null)}function ct(){return window.visualViewport?[window.visualViewport.width,window.visualViewport.height]:[window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth,window.innerHeight||document.documentElement.clientHeight||document.body.clientHeight]}function ae(t,o,r){var e=pa({url:o,onload:function(e){if(200!==e.status)return si("Unable to load",e),r(null);ee(t.media_info.delivery,e.responseText,e.finalUrl||o,function(e){r(e)})}},t);fi(e)}Ei.push(Ue),ee=function(i,n,a,s){Rn("stream_parser",bi,fi,function(e){if(!e)return s(null);var t,o=e[i];"dash"===i?t=o.parse:"hls"===i&&(t=function(e){var t=new o.Parser;return t.push(e),t.end(),t.manifest});try{var r=t(n,a)}catch(e){return si(e),s(null)}return s(r)})},te=function(a,s,e){function l(t,o){var r,i,n,e=s[t];if(!e)return o(null);i=function(e){return e?o(e):l(t+1,o)},(r=e).uri?(r.uri=u(r.uri),n=r.uri,ae(a,n,function(e){if(!e)return i(null);var t=r.attributes;Pi(r,e),t&&(r.attributes=t),r.base_uri=n,r.uri=null,i(r)})):i(r)}(s=ti(s)?s:[s]).sort(function(e,t){var e=e.attributes,t=t.attributes;return e.BANDWIDTH&&t.BANDWIDTH?t.BANDWIDTH-e.BANDWIDTH:e.RESOLUTION&&t.RESOLUTION?(e=e.RESOLUTION.width*e.RESOLUTION.height,t.RESOLUTION.width*t.RESOLUTION.height-e):0});var u=function(e){return zn(a.url,e,!0)};l(0,e)},oe=function(t,o){function r(e){e&&(e=i(e),ji(n,e))}function e(e){e.map&&r(e.map.uri||e.map.resolvedUri),r(e.uri||e.resolvedUri)}var i=function(e){return zn(o.base_uri||t.url,e,!0)},n=[];return o.sidx&&e(o.sidx),mi(o.segments,e),n},Q=function(t,a){ae(t,t.url,function(e){if(!e)return a(null);var r,i,n;n=function(e){var o,r;return e?(o=t,r={},hi(e,function(e,t){r[e]=oe(o,t)}),a(r)):a(null)},te(r=t,(i=e).playlists,function(e){var t,o;return e?(t=(t=e.attributes.AUDIO)&&t in i.mediaGroups.AUDIO?(t=i.mediaGroups.AUDIO[t])[Object.keys(t)[0]]:null,o={video:e},t?void te(r,t.playlists||t,function(e){return e?(o.audio=e,n(o)):n(null)}):n(o)):n(null)})})},re=function(t){if(null!==ie)return t(ie);var o=function(e){t(ie=e)};if("function"!=typeof SharedArrayBuffer)li("SharedArrayBuffer doesn't exist"),o(!1);else try{var r=new SharedArrayBuffer(1);new Uint8Array(r)[0]=30;Ri("self.addEventListener('message', function(m) {try {var a = new Uint8Array(m.data); postMessage(a[0] === 30);} catch (e) {postMessage(false);}});",function(e){if(!e)return li("Unable to create blob"),o(!1);var t=ba(e),e=new Worker(t);e.onmessage=function(e){o(!!e.data)},e.postMessage(r),setTimeout(function(){ya(t)},10)})}catch(e){return void(si(e),o(!1))}};var se,le,ue,ce,de,pe,me,he=ie=null,ge=function(t){if(!Ai)return si("Unable to load FFmpeg library: disabled for this build"),t(null);re(function(e){if(!e)return si("Unable to load FFmpeg library: SharedArrayBuffer is missing or unusable"),t(null);var o;o=t,Rn("ffmpeg",bi,fi,function(t){var e;return!t||t._imu_failed_loading?o(null):(t._imu_instance?e=t._imu_instance:(t.overridden_xhr&&(t.xhr.do_request=function(e){return e=pa(e,{headers:{Referer:"",Origin:""}}),/\/ffmpeg-core(?:\.worker)?\.js$/.test(e.url)&&(e.url="data:application/javascript,void%200"),fi(e)}),e=t.lib.createFFmpeg({log:!0,progress:function(e){he&&he(e.ratio)}}),t._imu_instance=e),void(e.isLoaded()?o(e):e.load().then(function(){o(e)},function(e){si(e),t._imu_failed_loading=!0,o(null)})))})})};function fe(t){function o(e){he=null,ue=!1,le.length&&(e?mi(le,function(e){En(e.fail)}):fe(t))}var r=le.shift(),e=(he=function(e){r.progress(e=1<e?1:e)},ue=!0,null);try{e=t.run.apply(this,r.op)}catch(e){return si(e),o(!0),r.fail(!1)}e.then(function(e){o(),r.success(e)},function(e){o(!0),r.fail(!1)})}function dt(r,o,e,i){function n(){g=!0}function a(){if(!g){var t;if(h>=o.length)return t=[],mi(o,function(e){t.push(l[e])}),i(t);if(!(m>=o.length))for(var e=p;e<u;e++)!function(t,o){p++,ln({url:t,headers:r.headers,can_head:r.can_head,head_wrong_contentlength:r.head_wrong_contentlength},{chunks:c,chunk_size:d,onload:function(e){p--,e||o(!1),l[t]=e,o(!0)},onprogress:function(e){s.update_progobj(t,e)}})}(o[m++],function(e){h++,g||(e?a():(n(),i(null)))})}}var s=new sn({elements_num:o.length,cb:e}),l={},u=pi(3,o.length),c=di(1,u/3*5|0),d=2097152,p=(1===(c=r.max_chunks?pi(c,r.max_chunks):c)&&(d=0),0),m=0,h=0,g=!1;return a(),{abort:n}}ue=!(le=[]),ce=function(e,t,o,r,i){le.push({op:t,progress:o,success:r,fail:i}),ue||fe(e)},de=function(e){return e+"_"+Oi(10)+"_"},pe=function(t,e,o,r,i,n,a){function s(e){try{t.FS("unlink",r)}catch(e){}a(e)}var l=[];e&&l.push("-i",e),o&&l.push("-i",o),l.push("-c","copy",r),ce(t,l,i,function(e){if(!function(e,t){try{var o=e.FS("stat",t);return o?o.size:null}catch(e){return null}}(t,r))return s();n(e)},s)},se=function(g,e,f,_){var v=[];if(e.video&&v.push(e.video),e.audio&&v.push(e.audio),!v.length)return _(null);function b(t){if(v.length<=t){if(f(.5),y.length)if(2<y.length)return si("Unknown extra file(s)",y),x();else{var e=g;var o=y[0];var r=y[1];var i=function(e){f(.5+.5*e)};var n=function(e){return e?(k(),_(e)):x()};if(!e)return n(null);function a(){pe(e,o,r,l+".mkv",i,function(){n(l+".mkv")},function(e){si("Error muxing into .mkv",e),n(null)})}var s,l=de("out");bi.stream_mux_mp4_over_mkv?pe(e,o,r,s=l+".mp4",function(e){i(e=.95<=e?.95:e)},function(){n(s)},function(e){if(!1===e)return n(null);a()}):a();return}return li("No files"),x()}f(t/v.length*.5);var u,c,d,p,m,h=v[t];h.length?1===h.length?(g.FS("writeFile",u=w+"stream"+t,h[0].data),y.push(u),b(t+1)):(u=g,c=function(e){if(!e)return x();y.push(e),b(t+1)},d=0,mi(h=h,function(e){d+=e.data.byteLength}),p=new Uint8Array(d),m=0,mi(h,function(e){p.set(e.data,m),m+=e.data.byteLength}),h=de("concat"),u.FS("writeFile",h,p),c(h)):(li("No stream data for",t),b(t+1))}var y=[],w=de("join"),k=function(){mi(y,function(e){g.FS("unlink",e)}),f(1)},x=function(){k(),_(null)};b(0)},me=function(o,r,e,i){var n=new sn({elements_num:Object.keys(r).length,cb:e}),a={},s={},l=!1;hi(r,function(t,e){s[t]=dt(o,e,function(e){n.update_progobj(t,e)},function(e){if(!l){if(!e)return l=!0,hi(s,function(e,t){t.abort()}),i(null);a[t]=e,Object.keys(a).length===Object.keys(r).length&&i(a)}})})};function pt(m,i,n,h,a){Rn("shaka",bi,fi,function(e){if(!e)return a();var t,o=e.lib;if(o.log.setLevel(o.log.Level.ERROR),!o.Player.isBrowserSupported())return li("Unsupported browser for Shaka"),a();t=m,(e=e).overridden_xhr&&(e.xhr.do_request=function(e){fi(pa(e,t))});function r(e){return si(e),a()}var c=new o.Player(i),d=(c.addEventListener("error",r),!1),p=!1;c.addEventListener("buffering",function(){d&&!p&&(i.currentTime=i.currentTime-.001,p=!(d=!1),h())}),c.load(n).then(function(){if(m.subtitles)for(var e=0,t=fa(m.subtitles);e<t.length;e++){var o=t[e],r=o.language_code||"en",i=o.title||null,n=o.mime||void 0;c.addTextTrackAsync(o.url,r,"subtitle",n,void 0,i,!1)}var a,s,l=c.getTextTracks(),l=(l&&l.length&&c.selectTextTrack(l[0]),c.setTextTrackVisibility(!!bi.popup_enable_subtitles),c.getVariantTracks()),u=(bi.hls_dash_use_max&&(l.sort(function(e,t){return t.bandwidth-e.bandwidth}),c.configure("abr.enabled",!1),c.selectVariantTrack(l[0],!0,0),d=!0),u=(u=xi("max_video_quality"))&&parseInt(u.substr(1)));if(u&&(l.sort(function(e,t){var o=e.height-t.height;return o||e.bandwidth-t.bandwidth}),a=u,s=-1,mi(l,function(e,t){return e.height===a?(s=t,!1):e.height>a?(s=0===t?t:t-1,!1):void 0}),0<=(u=s))&&(c.configure("abr.enabled",!1),c.selectVariantTrack(l[u],!0,0),d=!0),!d)return p=!0,h();setTimeout(function(){p||(p=!0,h())},5e3)},r)})}$={el_init:function(e){pt(e.info_obj,e.el,e.src,e.success,e.fail)},active:function(){return bi.allow_thirdparty_libs&&W("mouseover_allow_hlsdash")}},da.dash=$,da.hls=$;function mt(e){var t=function(e){if(e&&"string"==typeof e&&wi(e)){for(var t={},o=e.split(/[;\n]/),r=0;r<o.length;r++){var i,n,a=wi(o[r]);!a||ri(a,":")<0||/^\s*\/\//.test(a)||(i=wi(a.replace(/^(.*?)\s*:.*/,"$1")),n=!1,(a=wi(a.replace(/^.*?:\s*(.*)$/,"$1"))).match(/!important$/)&&(n=!0,a=wi(a.replace(/!important$/,""))),t[i]={value:a,important:n})}return t}}(e);if(t){var o,r=[];for(o in t){var i=o+": "+t[o].value;t[o].important,r.push(i+=" !important")}return r.join("; ")}}function ht(n,e,a){e=function(e,o){if("string"==typeof e&&(e=wi(e))){for(var r={},t="default",i=e.split("\n"),n=0;n<i.length;n++){var a=wi(i[n]);if(a&&!/^\/\//.test(a)){var s,l,u,c,d=a.match(/^(#[-a-zA-Z0-9]+(?:\s*,\s*#[-a-zA-Z0-9]+){0,})\s*{/);if(d){if("default"!==t)return void si("Nested blocks aren't supported");t=d[1].split(/\s*,\s*/),i[n--]=a.substr(d[0].length)}else if("}"===a[0]){if("default"===t)return void si("No block to escape from");t="default"}else ri(a,":")<0||("default"!==(d=t)&&/}$/.test(a)&&(a=wi(a.replace(/}$/,"")),d="default"),s=wi(a.replace(/^(.*?)\s*:.*/,"$1")),l=wi(a.replace(/^.*?:\s*(.*)$/,"$1")),0<=(a=ri(l,";"))&&((c=l.search(/['"]/))<0?(i[n--]=l.substr(a+1),l=wi(l.substr(0,a))):(c=l.substr(c+1).search(/['"]/)+c+1,0<=(a=ri(l.substr(c+1),";"))&&(a+=c+1,i[n--]=l.substr(a+1),l=wi(l.substr(0,a))))),u=!1,l.match(/!important$/)&&(u=!0,l=wi(l.replace(/!important$/,""))),ti(c=t)||(c=[c]),mi(c,function(e){var t={property:s,value:l,important:u};e in r||(r[e]={}),o?(s in r[e]||(r[e][s]=[]),r[e][s].push(t)):r[e][s]=t}),t=d)}}return r}}(e,!0);if(e){a.allow_revert&&(t=n.getAttribute("style"))&&n.setAttribute("data-imu-oldstyle",t);var t,o={};if("default"in e&&(o=e.default),a.id&&"#"+a.id in e){var r=e["#"+a.id];for(s in r)s in o||(o[s]=[]),Di(o[s],r[s])}var s,l=mn(a.format_vars);for(s in o)mi(o[s],function(e){var t=s,o=e.value;if(o.match(/^['"].*['"]$/)&&(o=o.replace(/^["'](.*)["']$/,"$1")),a.old_variables)for(var r in a.old_variables)o=Mi(o,r,a.old_variables[r]);if(a.format_vars){var i=_t(o,l);if(!i)return;o=i}a.properties&&t in a.properties&&a.properties[t](o,t),e.important||a.force_important?n.style.setProperty(t,o,"important"):n.style.setProperty(t,o),n.setAttribute("data-imu-newstyle",!0)})}}function Re(e,t,o){e.style.setProperty(t,o,"important")}function gt(e){var t,o=Zn(e);return"VIDEO"===o?[e.videoWidth,e.videoHeight]:"CANVAS"===o?[e.width,e.height]:"SVG"===o?[e.width.animVal.value,e.height.animVal.value]:"IMG"===o?[(t=ma(e)).width,t.height]:"PICTURE"===o?[e.naturalWidth,e.naturalHeight]:[e.offsetWidth||zt(e.style.width),e.offsetHeight||zt(e.style.height)]}function ft(e){Zr&&Kr({type:"add_to_history",data:{url:e}})}function _t(e,t){if(e=e.replace(/\/\/.*/,""),!(e=wi(e)))return null;for(var o=bt(e),r="",i=0;i<o.length;i++)if("string"==typeof o[i])r+=o[i];else{var n,a=o[i].text,s=null,l=null,u=!1,c=null,d=[],p=a.match(/^([^?]+)[?](.*)$/),m=(p&&(a=p[1],s=p[2]),(p=a.match(/^([^!/:=]+)([!=]=)(.*)$/))&&(a=p[1],l=p[3],u="!="===p[2],c="eq"),(p=a.match(/^([^!/:=]+)(!)?\/([rc]{0,2})=(.*)$/))&&(a=p[1],l=p[4],u="!"===p[2],c="contains",m=p[3],0<=ri(m,"r")&&d.push("regex"),0<=ri(m,"c"))&&d.push("nicase"),(p=a.match(/^([^!/:=]+):=(.*)$/))&&(a=p[1],l=p[2],c="set"),t[a]),p=((p=a.match(/^(.*?):([0-9]+)(\.)?$/))&&(m=t[p[1]])&&(n=m.substr(0,parseInt(p[2])),p[3]&&n!==m&&(n+="…"),m=n),!!m);if(m&&"object"==typeof m&&(n=m,m="","usable"in n&&(p=n.usable),"value"in n)&&(m=n.value),c&&(p&&("eq"===c?p=m===l:"contains"===c&&(oi(d,"nicase")<0&&(m=m.toLowerCase(),l=l.toLowerCase()),p=0<=oi(d,"regex")?new RegExp(l).test(m):0<=ri(m,l))),"set"===c&&(t[a]=l,p=!0),u&&(p=!p),m=""),!p){if("string"!=typeof s)return null;m=s}r+=m}return wi(r)}function vt(t,e,o){"string"!=typeof t.filename&&(t.filename="");var r=null,i=null,n=null,a=null;if(o){try{for(var s=Dn(o.responseHeaders),l=0;l<s.length;l++){var u=s[l].name.toLowerCase(),c=s[l].value;if("content-disposition"===u)for(var d=0;d<100&&"string"==typeof c&&0<c.length;){var p=c.replace(/^\s*([^;]*?)\s*(?:;.*)?$/,"$1").replace(/^\s*([^=;]*?)\s*(?:[=;].*)?$/,"$1").toLowerCase(),m=c.match(/^[^=;]*(?:(?:=\s*(?:(?:["']([^'"]*?)["'])|([^;]*?))\s*(;.*)?\s*)|;\s*(.*))?$/);if(!m){si("Header value does not match pattern:",c);break}var h=m[1]||m[2];0===t.filename.length&&"filename"===p&&"string"==typeof h&&0<h.length&&(t.filename=h),c=m[3]||m[4],d++}else"content-type"===u?i=Un(c):"last-modified"===u&&(r=new Date(c),isNaN(r.getTime()))&&(r=null);if(0<t.filename.length&&i&&r)break}}catch(e){si(e)}var o=/^data:/.test(e),g=(o&&(t.filename=""),!1),o=(0!==t.filename.length||o||(t.filename=e.replace(/.*\/([^?#/]*)(?:[?#].*)?$/,"$1"),g=!0),g&&(t.filename=decodeURIComponent(t.filename)),n=t.filename,0===t.filename.length&&(t.filename="download"),qn(t.filename,{split_ext:!0,known_ext:!0}));i&&!o[1]&&(n.length&&(n+="."+i),t.filename+="."+i),(o=qn(t.filename,{split_ext:!0,known_ext:!0}))[1]&&(a=o[1])}"_orig_filename"in t||(t._orig_filename=n);var f={filename:t._orig_filename};f.host_url=Jr,f.host_domain=Pn(Jr),f.host_domain_nosub=Hn(f.host_domain);try{f.host_title=document.title}catch(e){}function _(e,t){var o,r,i={year:"FullYear",month:"Month",day:"Date",hours:"Hours",minutes:"Minutes",seconds:"Seconds"},n=[];for(o in i){var a=t["get"+i[o]](),s=t["getUTC"+i[o]]();"month"===o&&(a++,s++),a=Sn(a,2),s=Sn(s,2),n[o]=a,n[o+"_utc"]=s,f[e+"_"+o]=a,f[e+"_"+o+"_utc"]=s}f[e+"_iso"]=n.year+"-"+n.month+"-"+n.day+"T"+n.hours+"-"+n.minutes+"-"+n.seconds,f[e+"_iso_utc"]=n.year_utc+"-"+n.month_utc+"-"+n.day_utc+"T"+n.hours_utc+"-"+n.minutes_utc+"-"+n.seconds_utc,f[e+"_yyyymmdd"]=n.year+n.month+n.day,f[e+"_yyyymmdd_utc"]=n.year_utc+n.month_utc+n.day_utc,f[e+"_hhmmss"]=n.hours+n.minutes+n.seconds,f[e+"_hhmmss_utc"]=n.hours_utc+n.minutes_utc+n.seconds_utc,"download"!==e&&(r=yt(Date.now()-t.getTime()))&&(f[e+"_ago"]=r),f[e+"_unix_ms"]=t.getTime(),f[e+"_unix"]=t.getTime()/1e3|0}t.url&&/^https?:\/\//i.test(t.url)&&(f.url=t.url,f.domain=Pn(t.url),f.domain_nosub=Hn(f.domain)),g=e=null,o=new Date,!(g=t.extra&&(mi(["caption","author_username","id"],function(e){f[e]=t.extra[e]}),t.extra.created_date&&(e=new Date(t.extra.created_date)),t.extra.updated_date)?new Date(t.extra.updated_date):g)&&r&&(g=r),e&&_("created",e),(g||e)&&_("updated",g||e),o&&_("download",o),(e||g)&&_("date",e||g),f.filename&&(n=qn(f.filename,{split_ext:!0,known_ext:!0}),f.filename_noext=n[0],a)&&(f.ext="."+a),t.format_vars=mn(f),o=kt(bi.filename_format,f),t.filename=o||wt(t.filename,f)}var bt=function(e){function t(){r.length&&(o.push(i?{text:r,type:"var"}:r),r="")}for(var o=[],r="",i=!1,n=!1,a=0;a<e.length;a++){var s=e[a];if("\\"===s)n?r+="\\":n=!0;else{if(!n)if("{"===s){if(!i){t(),i=!0;continue}}else if("}"===s&&i){t(),i=!1;continue}r+=s}}return t(),o},yt=function(e,r){r=r||2;var o,i={seconds:(e=e/1e3|0)%60,minutes:(e/60|0)%60,hours:(e/60/60|0)%24,days:e/60/60/24|0,months:e/60/60/24/30.4375|0,years:e/60/60/24/365.25|0},n={months_years:12,days_years:365.25,days_months:30.4375,days_weeks:7},a={seconds:"second",minutes:"minute",hours:"hour",days:"day",weeks:"week",months:"month",years:"year"},e=Object.keys(i).reverse(),s=[];return mi(e,function(e){var t,o;return!(s.length>=r)&&(t=i[e],(t=(o=s[s.length-1])&&(o=n[e+"_"+o[0]])?t%o|0:t)?void s.push([e,t]):!s.length&&void 0)}),s.length?(o=[],mi(s,function(e){var t=e[0],e=e[1],t=a[t],t=(t=[t,t+"s"],1===e?t[0]:t[1]);o.push(e+" "+t)}),o.join(" and ")+" ago"):null},wt=function(e,t){var o,r;return r=t,(o=e)&&(r.prefix&&(o=r.prefix+o),r.suffix)&&(o+=r.suffix),!qn(e=o,{split_ext:!0,known_ext:!0})[1]&&t.ext&&(e+=t.ext),e},kt=function(e,t){e=function(e,t){ti(e)||(e=e.split("\n"));for(var o=0;o<e.length;o++){var r=_t(e[o],t);if(r)return r}return null}(e,t);return e?wt(e,t):null};function xt(e,t,v,o){Yr&&ai("makePopup",e,t,v,o),bi.mouseover_add_to_history&&ft(o.data.obj.url),t&&bi.mouseover_add_thumbnail_to_history&&ft(t);var r,S,i,n,q,T,I,d,b,y,w,k,x,a,A,s,C,l,B,E,W,U,R,L,D,j,V,z,u,N,X,Y,M,P,H,$,Z,K,c,J,Q,ee,g,te,oe,re,F,ie,p,ne,ae,se,le,m,ue,h,ce,de,f,_,e=it("mouseover_open_behavior");function O(e,t){e=K(e,t);$=e[0],H=e[1]}function pe(){var e=bi.mouseover_ui_opacity/100;return e=(e=1<(e=isNaN(e)?1:e)?1:e)<0?0:e}function me(e,t,o){t=t||e,ii(e,"mouseover",function(e){t.style.opacity="1.0",o&&(t.style.boxShadow="0px 0px 5px 1px white")},!0),ii(e,"mouseout",function(e){t.style.opacity=pe(),o&&(t.style.boxShadow="none")},!0)}function G(o){var e,t,r="span",i=("string"==typeof o.action&&(r="a"),ni(r));return o.action&&("object"==typeof o.action&&(e=o.action,o.action=function(){Rr(e)}),ii(i,"mousedown",function(e){e.stopPropagation(),e.stopImmediatePropagation()}),"function"==typeof o.action?ii(i,"click",function(e){if(!i.hasAttribute("data-btn-noaction"))return e.stopPropagation(),e.stopImmediatePropagation(),e.preventDefault(),o.action(),!1},!0):"string"==typeof o.action&&(i.href=o.action,i.target="_blank",i.setAttribute("rel","noreferrer"),ii(i,"click",function(e){e.stopPropagation(),e.stopImmediatePropagation()},!0)),ii(i,"mouseover",function(e){Re(i,"box-shadow","0px 0px 5px 1px white")},!0),ii(i,"mouseout",function(e){Re(i,"box-shadow","none")},!0)),ii(i,"mousedown",function(e){re=!0},!0),ii(i,"mouseup",function(e){re=!1},!0),"object"==typeof o.text&&o.text.truncated!==o.text.full&&(ii(i,"mouseover",function(e){var t=Vn(i);Re(i,"width",t.width||i.clientWidth+"px"),Re(i,"height","initial"),i.innerText=o.text.full},!0),ii(i,"mouseout",function(e){i.innerText=o.text.truncated,i.style.width="initial"},!0)),Ci(i),o.action&&Re(i,"cursor","pointer"),Re(i,"background",y),Re(i,"border","3px solid "+w),Re(i,"border-radius","10px"),Re(i,"direction",ie),"string"==typeof o.text&&1===o.text.length&&256<o.text.charCodeAt(0)?(Re(i,"color","transparent"),Re(i,"text-shadow","0 0 0 "+k)):Re(i,"color",k),Re(i,"padding","4px"),Re(i,"line-height","1em"),Re(i,"font-size","14px"),Re(i,"font-family",za),ht(i,bi.mouseover_ui_styles,{id:o.id,force_important:!0,format_vars:T.format_vars,properties:{"-imu-text":function(e){"object"==typeof o.text?o.text.truncated=e:o.text=e},"-imu-title":function(e){o.title=e},"-imu-image":function(e){o.image=e},"-imu-pos":function(e){o.pos=e,oi(["top-left","top-middle","top-right","left","middle","right","bottom-left","bottom-middle","bottom-right"],e)<0&&(li("Invalid pos",e),o.pos="top-left")}}}),o.image&&(o.text=null),Re(i,"z-index",Ca-1),Re(i,"position","relative"),Re(i,"margin-right","4px"),Re(i,"vertical-align","top"),Re(i,"white-space","pre-wrap"),Re(i,"display","inline-block"),o.action&&Re(i,"user-select","none"),"string"==typeof o.image&&(Ci(r=ni("img")),Re(r,"padding","0px"),Re(r,"margin","0px"),Re(r,"display","inline"),Re(r,"height","1em"),Re(r,"cursor","inherit"),r.src=o.image,i.appendChild(r)),o.text&&("object"==typeof o.text&&o.text.link_underline&&bi.mouseover_ui_link_underline&&Re(i,"text-decoration","underline"),"string"==typeof o.text?i.innerText=o.text:"object"==typeof o.text&&(i.innerText=o.text.truncated)),o.title&&(i.title=o.title),o.containers&&o.pos&&((r=o.containers[o.pos]).appendChild(i),t=oe(),r.hasAttribute("data-imu-middle_x")&&Re(r,"left",(t[0]-r.clientWidth)/2+"px"),r.hasAttribute("data-imu-middle_y"))&&Re(r,"top",(t[1]-r.clientHeight)/2+"px"),i}function he(t,o){ca(t?1:-1,function(e){e||(o&&t&&bi.scroll_past_gallery_end_to_close?Ue:ge)()})}function ge(a,e){for(var t=0;t<F.length;t++){var o=F[t];o.parentNode.removeChild(o)}F=[];var r=S.getBoundingClientRect(),s="14px "+za,l={},i=(hi({"top-left":["left","top"],"top-middle":["middle","top"],"top-right":["right","top"],left:["left","middle"],middle:["middle","middle"],right:["right","middle"],"bottom-left":["left","bottom"],"bottom-middle":["middle","bottom"],"bottom-right":["right","bottom"]},function(e,t){l[e]=se(t[0],t[1],14,r)}),!bi.mouseover_ui);if(e&&("toggle"===e?i=le:!0===e&&(i=!0)),i)A.appendChild(l["top-left"]),le=!1;else{for(var n in le=!0,l)me(l[n]),A.appendChild(l[n]),F.push(l[n]);function u(){return(_()?v:b)()}function c(){ot=!1,h&&(Re(m,"display","none"),p.removeChild(m),p.removeAttribute("data-btn-noaction"),h=!1,C())}function d(n){bi.mouseover_enable_gallery&&oo(n,function(e){var t,o,r,i;e&&(t=n,bi.mouseover_enable_gallery)&&bi.mouseover_ui_gallerybtns&&(e=function(){return he(t)},r=t?"Next":"Previous",o=ka(s,t?["🡒","→"]:["🡐","←"]),i=t?bi.mouseover_gallery_next_key:bi.mouseover_gallery_prev_key,i=ta(i),r=vi(r)+" ("+vi(i)+")",i=G({id:"gallery"+(t?"next":"prev")+"btn",text:o,title:r,action:e,containers:l,pos:t?"right":"left"}),N(!t,i,e,r),bi.mouseover_enable_gallery)&&bi.mouseover_ui_gallerycounter&&(a?(t?w=ae:y=ne,C()):(Qt(t,void 0,k=!0,void 0,void 0,function(e){k=!1,t?ae=w=e:ne=y=e,C()}),setTimeout(C,1)))})}bi.mouseover_ui_closebtn&&G({id:"closebtn",text:"×",title:vi("Close")+" ("+vi("ESC")+")",action:function(){Ue()},pos:"top-left",containers:l});var p,m,h,g,f,_=function(){var e=io();return $i(e)%180==90},v=function(){return r.width||$||P},b=function(){return r.height||H||M},y=0,w=0,k=!1,x=((bi.mouseover_ui_imagesize||bi.mouseover_ui_zoomlevel||bi.mouseover_ui_filesize)&&Re(G({id:"sizeinfo",text:function(){for(var e="",t=u(),t=ci(100*(t/M)),o=0,r=(T&&T.filesize&&(o=T.filesize),[{value:P+"x"+M,valid:bi.mouseover_ui_imagesize},{value:t+"%",valid_paren:100!==t,valid:bi.mouseover_ui_zoomlevel},{value:Xn(o),valid:bi.mouseover_ui_filesize&&o}]),i=[],n=0;n<r.length;n++){var a=r[n];!a.valid||0<i.length&&!1===a.valid_paren||i.push(a.value)}return 0===i.length?"":(e=i[0],1<i.length&&(e+=" ("+i.slice(1).join(", ")+")"),e)}(),pos:"top-left",containers:l}),"font-size","13px"),function(){return k?vi("Loading..."):y+w>bi.mouseover_ui_gallerymax?bi.mouseover_ui_gallerymax+"+":y+1+" / "+(y+w+1)}),C=function(){h||(0<y+w||k?(Re(p,"display","inline-block"),p.innerText=x()):Re(p,"display","none"))},z=B&&A.clientWidth||$,N=(bi.mouseover_enable_gallery&&bi.mouseover_ui_gallerycounter&&(p=G({id:"gallerycounter",text:x(),action:function(){ot=h=!0,p.innerText="",Re(m,"display","initial"),m.value=y+1,p.setAttribute("data-btn-noaction",!0),p.appendChild(m),setTimeout(function(){m.select(),m.setSelectionRange(0,m.value.length)},100)},pos:"top-left",containers:l}),Re(p,"font-size","13px"),Re(p,"display","none"),m=ni("input"),h=!1,Ci(m),Re(m,"display","none"),Re(m,"background-color","white"),Re(m,"font-family",za),Re(m,"font-size","12px"),Re(m,"padding","1px"),Re(m,"padding-left","2px"),Re(m,"width","5em"),ii(m,"mouseout",c),ii(m,"keydown",function(e){var t;if(13===e.which)return t=m.value.replace(/\s+/g,""),/^[0-9]+$/.test(t)&&(t=parseInt(t),ca(t-(y+1))),c(),e.stopPropagation(),e.preventDefault(),!1},!0)),bi.mouseover_ui_optionsbtn&&G({id:"optionsbtn",text:"⚙",title:vi("Options"),action:Gi(),pos:"top-left",containers:l}),bi.mouseover_ui_downloadbtn&&G({id:"downloadbtn",text:ka(s,["🡇","🡫","↓"]),title:vi("Download ("+ta(bi.mouseover_download_key)+")"),action:{type:"download"},pos:"top-left",containers:l}),bi.mouseover_ui_rotationbtns&&(G({id:"rotleftbtn",text:"↶",title:(e=function(e){return vi("left"===e?"Rotate Left":"Rotate Right")+" ("+ta(bi["mouseover_rotate_"+e+"_key"])+")"})("left"),action:{type:"rotate_left"},pos:"top-left",containers:l}),G({id:"rotrightbtn",text:"↷",title:e("right"),action:{type:"rotate_right"},pos:"top-left",containers:l})),bi.mouseover_ui_caption&&(i=function(e,t){if(e&&e.extra&&e.extra.caption)return wi(e.extra.caption);if(t)do{var o=t.getAttribute("title"),r=t.getAttribute("alt");if(o||r)return(o=o||r)===t.src?null:wi(o)}while(t=t.parentElement);return null}(T,xe),e=bi.mouseover_ui_caption_link_page&&T.extra&&T.extra.page,i=!i&&e?"(original page)":i)&&(g=i,bi.mouseover_ui_wrap_caption&&(f=parseInt(di(10,pi(60,(z-l["top-left"].clientWidth)/10))),g={truncated:oa(i,f),full:i,link_underline:e}),f=null,G({id:"caption",text:g,title:i,action:f=e?T.extra.page:f,pos:"top-left",containers:l})),function(e,t,o,r){if(bi.mouseover_enable_gallery&&!(z<200)){var i=u(),n=0,a=20,i=i-(a=i<100?0:a)-(n=q?60:n);if(!(i<10))return Ci(n=ni("div")),n.title=r,e?n.style.left="0em":n.style.right="0em",n.style.top=a+"px",n.style.height=i+"px",n.style.position="absolute",n.style.width="15%",n.style.maxWidth="200px",n.style.zIndex=Ca-2,n.style.cursor="pointer",me(n,t,!0),ii(n,"click",function(e){return Ie||(I(e),o(e)),!1},!0),A.appendChild(n),F.push(n),n}});d(!1),d(!0)}}function fe(e){Ie=!(Te=!0),Ze=e.clientX,Ke=e.clientY,Je=Ze-parseFloat(A.style.left),Qe=Ke-parseFloat(A.style.top)}"newtab"===e||"newtab_bg"===e||"download"===e||"copylink"===e||"replace"===e?(Ee(),"string"==typeof(t=o.data.obj)&&(t={url:t}),(i=o.data.resp||o.data.respdata).finalUrl&&(t.url=i.finalUrl),vt(t,t.url,i),ke=t,"newtab"===e||"newtab_bg"===e?an(t,"newtab_bg"===e):"download"===e?_r():"copylink"===e?un(t.url):"replace"===e&&(i=So(),xo(i,{el:xe},o,gi.nullfunc))):(t=o.x,e=o.y,null==t&&(t=Le),null==e&&(e=De),r=Te=Ie=!1,S=o.data.img,i=o.data.newurl,S?(n="VIDEO"===S.tagName,c="AUDIO"===S.tagName,q=n||c,T=o.data.obj,ke=T=T||{},I=function(e){return e.stopPropagation(),e.stopImmediatePropagation(),!0},d=function(e){return e.preventDefault(),I(e),!0},et=Le=t,tt=De=e,b=xi("mouseover_zoom_behavior"),s=xi("mouseover_zoom_use_last"),h=Ye&&("always"===s||"gallery"===s&&Ce)?!0:!1,y="#333",k=w="#fff",s=xi("mouseover_enable_mask_styles2"),x=1,ut(),(bi.mouseover_close_click_outside||bi.mouseover_mask_ignore_clicks||"never"!==s)&&(we=ni("div"),Ci(a=we),Re(a,"opacity",1),"never"!==s&&ht(a,bi.mouseover_mask_styles2,{force_important:!0}),x=a.style.opacity,"hold"===s&&Re(a,"opacity",0),bi.mouseover_close_click_outside||bi.mouseover_mask_ignore_clicks||Re(a,"pointer-events","none"),Re(a,"position","fixed"),Re(a,"z-index",Ca-3),Re(a,"width","100%"),Re(a,"height","100%"),Re(a,"left","0px"),Re(a,"top","0px"),0<bi.mouseover_mask_fade_time&&(Re(a,"transition","opacity "+bi.mouseover_mask_fade_time/1e3+"s"),"hold"!==s)&&(Ce?Re(a,"opacity",x):(Re(a,"opacity",0),setTimeout(function(){Re(a,"opacity",x)},1))),ii(a,"mousedown",function(e){bi.mouseover_close_click_outside&&I(e)}),ii(a,"click",function(e){bi.mouseover_close_click_outside&&(I(e),Re(a,"pointer-events","none"),Ue())},!0)),Ci(A=ni("div")),Re(A,"position","fixed"),Re(A,"z-index",Ca-2),s=!1,0<bi.mouseover_fade_time&&!Ce&&(u=[],p=[],_=bi.mouseover_fade_time/1e3+"s",bi.mouseover_enable_fade&&(u.push("opacity "+_),Re(A,"opacity",0)),bi.mouseover_enable_zoom_effect&&(u.push("transform "+_),Re(A,"transform","scale(0)"),bi.mouseover_zoom_effect_move)&&(p.push("top "+_),p.push("left "+_),s=!0),0<u.length&&(C=u.join(", "),Di(u,p),_=u.join(", "),Re(A,"transition",_),0<p.length)&&setTimeout(function(){Re(A,"transition",C)},bi.mouseover_fade_time),setTimeout(function(){Re(A,"opacity",1),Re(A,"transform","scale(1)")},1)),l=ni("div"),B=!1,Ci(l),Re(l,"box-shadow","0 0 15px rgba(0,0,0,.5)"),Re(l,"border","3px solid "+w),Re(l,"position","relative"),Re(l,"top","0px"),Re(l,"left","0px"),Re(l,"display","block"),Re(l,"background-color","rgba(255,255,255,.5)"),u="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==",(_={})["%thumburl%"]=Pe&&!Me?Nn(Pe):u,_["%fullurl%"]=q?u:Nn(Qn(S)),ht(l,bi.mouseover_styles,{force_important:!0,old_variables:_}),A.appendChild(l),W=30,D=di(t-(E=20),0),j=di(e-W,0),z=function(e){var t;t=e[1],A.style.top=t+"px",t=e[0],A.style.left=t+"px"},(V=function(e,t){U=ct(),R=U[0],L=U[1],R-=2*E,L-=E+W,void 0!==e&&(D=pi(R,di(e-E,0)),j=pi(L,di(t-W,0)))})(t,e),c&&(S.style.width="500px",S.style.minWidth="500px",S.style.height="50px",S.style.minHeight="50px"),p=gt(S),c||Ci(S),u=!1,(u=!q&&bi.mouseover_add_link||n&&bi.mouseover_add_video_link?!0:u)&&(S.style.cursor="pointer"),S.style.verticalAlign="bottom",Re(S,"display","block"),N=function(e){S.style.setProperty("display",e[0],e[1])},X=[{domain_nosub:/^pornhub(?:premium)?\./,img_display:["block"]},{domain_nosub:/^pornhub(?:premium)?\./,img_display:["initial","important"]},{domain_nosub:/^gelbooru\./,func:function(){var e=ni("span");e.appendChild(S),m.appendChild(e)}}],(Y=function(){setTimeout(function(){var e,t=Vn(S);if("none"===t.display)for(;0<X.length;){var o=X.shift();if(!(e=o).domain_nosub||e.domain_nosub.test(rt)){(e=o).img_display?N(e.img_display):e.func&&e.func(),0<X.length&&Y();break}}},50)})(),Re(S,"object-fit","contain"),P=p[0],H=M=p[1],$=P,(Z=function(e,t){var o,r=!1;"custom"===e||t?(o=bi.mouseover_zoom_custom_percent/100,$=di(P*(o=t?Ye:o),20),H=di(M*o,20),r=!0):"fit"===e||"fill"===e?(S.style.maxWidth=R+"px",S.style.maxHeight=L+"px","fill"===e&&P<R&&M<L&&(o=1,$*=o=P<M?L/M:R/P,H*=o,r=!0)):"full"===e&&($=P,H=M,r=!0),r&&(S.style.maxWidth=$+"px",S.style.width=S.style.maxWidth,S.style.maxHeight=H+"px",S.style.height=S.style.maxHeight)})(b,h),H<20||$<20?(at(),si("Image too small to popup ("+$+"x"+H+")")):(K=function(e,t){void 0===e&&(e=R);var o=H,r=$;return((t=void 0===t?L:t)<H||e<$)&&(o/=t=$/e<H/t?H/t:$/e,r/=t),[r,o]},"fit"!==b&&"fill"!==b||h||O(),_=bi.mouseover_zoom_max_width||void 0,c=bi.mouseover_zoom_max_height||void 0,(_||c)&&O(_,c),Ge=function(e){var t=!1;"last"===e&&(e=xi("mouseover_zoom_behavior"),Ye)&&(t=!0),Z(e,t),"fit"!==e&&"fill"!==e||O(),ee($,"initial"),g(H,"initial")},J=(Oe=function(e,t,o){V(e,t),Pr(),Mr();var r,i,n,a=R<$,s=L<H,l=xi("mouseover_position");if("cursor"===(l=Se&&bi.mouseover_hold_position_center||bi.mouseover_overflow_position_center&&(a||s)?"center":l))i=0+pi(di(j-H/2,0),di(L-H,0)),r=0+pi(di(D-$/2,0),di(R-$,0));else if("center"===l){var u=xi("mouseover_overflow_origin"),c=u[1],u=u[2],d=(R-$)/2,p=(L-H)/2,m=d,h=p;a&&("0"===c?m=0:"1"===c?m=d:"2"===c&&(m=R-$)),s&&("0"===u?h=0:"1"===u?h=p:"2"===u&&(h=L-H)),i=0+h,r=0+m}else if("beside_cursor"===l){function g(e,t,o){var r=e?D:j,i=e?q:T;switch(t){case-1:return pi(i-o,di(0,r-o/2));case 0:return di(0,r-o-N);case 1:return pi(i-o,r+N)}}S=o?function(e,t){O(e,t)}:gi.nullfunc;var f=[[-1,0,q=R-(N=E),j-N],[1,-1,q-D-N,T=L-N],[-1,1,q,T-j-N],[0,-1,D-N,T]],_=[];e>U[0]/2?_.push(f[3]):_.push(f[1]),t>U[1]/2?_.push(f[0]):_.push(f[2]);for(var v=0;v<f.length;v++)oi(_,f[v])<0&&_.push(f[v]);for(var b=-1,y=null,v=0;v<_.length;v++){k=_[v][2],w=_[v][3],n=void 0,n=[$,H];var w,k=(n=o?K(k,w):n)[0]>k||n[1]>w?null:n;k&&b<(w=k[0]*k[1])&&(b=w,y=_[v])}if(!y)for(b=-1,v=0;v<_.length;v++){var x=_[v][2]*_[v][3];b<x&&(y=_[v],b=x)}y&&(S(y[2],y[3]),i=g(!1,y[1],H),r=g(!0,y[0],$))}else if("beside_cursor_old"===l){var C,z,N,S,q=R-(N=E),T=L-N;(S=o?function(e,t){O(e,t)}:gi.nullfunc)(q,T);for(var I=0;I<(o?16:1);I++)t>U[1]/2?z=j-H-N:void 0===z&&(z=j+N),e>U[0]/2?C=D-$-N:void 0===C&&(C=D+N),z<0&&(z=0,bi.mouseover_prevent_cursor_overlap)&&S(q,j),C<0&&(C=0,bi.mouseover_prevent_cursor_overlap)&&S(D,T),L<z+H&&(bi.mouseover_prevent_cursor_overlap?S(q,T-j):z=di(L-H-N,0)),R<C+$&&(bi.mouseover_prevent_cursor_overlap?S(q-D,T):C=di(R-$-N,0));i=z,r=C}return[r+E,i+W]})(t,e,!0),s?(z([t-$/2,e-H/2]),setTimeout(function(){z(J)},1)):z(J),Q=function(e,t,o){void 0===t&&(t=e),"number"==typeof e&&(e+="px"),"number"==typeof t&&(t+="px"),o?(S.style.width=e,S.style.maxWidth=t):(S.style.height=e,S.style.maxHeight=t)},g=function(e,t){Q(e,t,!1)},(ee=function(e,t){Q(e,t,!0)})($,"initial"),g(H,"initial"),te=pe(),re=!(oe=function(){return[B&&A.clientWidth||$,B&&A.clientHeight||H]}),F=[],ie="initial",(p=Vn(xe||document.body))&&"rtl"===p.direction&&(ie="rtl"),ae=ne=0,se=function(e,t,o,r){var i=ni("div"),n=(Ci(i),Re(i,"position","absolute"),Re(i,"opacity",te),ua&&Re(i,"z-index",Ca-1),Re(i,"white-space","nowrap"),Re(i,"direction","ltr"),null),a=null,s=null,l=null,u=$||P,u=((r.width||u)-u)/2,c=H||M,r=((r.height||c)-c)/2;return"left"===e?n=-(o+u)+"px":"middle"===e?(n="calc(50%)",i.setAttribute("data-imu-middle_x","true")):"right"===e&&(l=-(o+u)+"px"),"top"===t?a=-(o+r)+"px":"middle"===t?(a="calc(50%)",i.setAttribute("data-imu-middle_y","true")):"bottom"===t&&(s=-(o+r)+"px"),n&&Re(i,"left",n),l&&Re(i,"right",l),a&&Re(i,"top",a),s&&Re(i,"bottom",s),i},le=!!bi.mouseover_ui,$e=ge,vt(T,i,o.data.respdata),ge(),Ci(m=ni("a")),u&&(m.style.cursor="pointer",m.onclick=function(e){return e.stopPropagation(),e.stopImmediatePropagation(),!0}),m.style.setProperty("vertical-align","bottom","important"),m.style.setProperty("display","block","important"),ue=function(e){e=e?"none":"initial";Re(m,"pointer-events",e),Re(S,"pointer-events",e),Re(l,"pointer-events",e),Re(A,"pointer-events",e)},bi.mouseover_clickthrough&&ue(!0),He=function(){var e=xi("mouseover_enable_mask_styles2");Se?(bi.mouseover_hold_unclickthrough&&ue(!1),!we||"always"!==e&&"hold"!==e||(we.style.opacity=x)):(bi.mouseover_clickthrough?ue(!0):ue(!1),!we||"hold"!==e&&"never"!==e||(we.style.opacity=0))},u?(m.href=i,m.target="_blank",bi.mouseover_download&&(m.href="#",ii(m,"click",function(e){return _r(),e.preventDefault(),e.stopPropagation(),!1},!0))):(h=!1,(h=!q&&bi.mouseover_click_image_close||n&&bi.mouseover_click_video_close?!0:h)&&ii(m,"click",function(e){if(!Ie)return Ue(),e.preventDefault(),e.stopPropagation(),!1})),m.appendChild(S),l.appendChild(m),We=null,ce=m.style.cursor,de=S.style.cursor,Be=function(e){Ve=_e,Xe=ve,bi.mouseover_hide_cursor&&e?(m.style.cursor="none",S.style.cursor="none"):(We&&(clearTimeout(We),We=null),m.style.cursor=ce,S.style.cursor=de)},Xe=Ve=1/0,bi.mouseover_hide_cursor&&bi.mouseover_hide_cursor_after<=0&&Be(!0),l.onmouseover=l.onmousemove=function(e){$i(_e-Ve)<bi.mouseover_mouse_inactivity_jitter&&$i(ve-Xe)<bi.mouseover_mouse_inactivity_jitter||(0<bi.mouseover_hide_cursor_after||!bi.mouseover_hide_cursor)&&(Be(!1),bi.mouseover_hide_cursor)&&(We=setTimeout(function(){Be(!0)},bi.mouseover_hide_cursor_after))},"drag"===xi("mouseover_pan_behavior")&&(q&&(S.onseeking=function(e){r=!0},S.onseeked=function(e){r=!1}),l.ondragstart=m.ondragstart=S.ondragstart=function(e){if(!r)return fe(e),I(e),!1},l.onmousedown=l.onpointerdown=m.onmousedown=m.onpointerdown=function(e){if(!re&&0===e.button&&!r)return fe(e),e.preventDefault(),I(e),!1},S.onmousedown=S.onpointerdown=function(e){if(!re&&0===e.button&&!r)return fe(e),I(e),!0},m.onclick=function(e){return Te=!1,Ie?(I(e),Ie=!1):(e.stopPropagation(),e.stopImmediatePropagation(),!0)},l.onmouseup=l.onpointerup=l.onclick=m.onmouseup=m.onpointerup=function(e){return Te=!1,!Ie&&(e.stopPropagation(),e.stopImmediatePropagation(),!0)},S.onmouseup=S.onpointerup=S.onclick=function(e){return!(Te=!1)},n)&&(S.onclick=function(e){if(!S.controls)return Ie||(S.paused?cr(S):S.pause()),!(Te=!1)}),"fill"===(f=b)&&(f="fit"),qe=function(e,t,o,r,i){var n=!1,a=parseFloat(A.style.left),s=parseFloat(A.style.top),l=A.clientWidth,u=A.clientHeight,c=(V(),void 0===o&&(o="center"),void 0===r&&(r="center"),null),d=null;0<t&&("always"===(p=xi("scroll_zoomout_pagemiddle"))?r=o="pagemiddle":"viewport"===p&&(l<R&&(o="pagemiddle"),u<L)&&(r="pagemiddle")),"center"===o||"pagemiddle"===o?("pagemiddle"===o&&(c=R/2),o=(p=di(a,0))+(pi(p+l,R)-p)/2):o<a?o=a:a+l<o&&(o=a+l),"center"===r||"pagemiddle"===r?("pagemiddle"===r&&(d=L/2),r=(p=di(s,0))+(pi(p+u,L)-p)/2):r<s?r=s:s+u<r&&(r=s+u);var p=(o-a)/l,a=(r-s)/u;if("fitfull"===e){if(i&&"fit"===f&&0<t)return Ue(),!1;if(0<t&&"fit"!==f){H=M,$=P,O();var l=parseFloat(S.style.width),s=parseFloat(S.style.height);if(ee($,R),g(H,L),i&&parseFloat(S.style.width)===l&&parseFloat(S.style.height)===s)return Ue(),!1;f="fit",n=!0}else t<0&&"full"!==f&&(ee(P,"initial"),g(M,"initial"),$=P,H=M,f="full",n=!0)}else if("incremental"===e){var m=S.clientWidth,h=S.clientHeight,u=1,u=m<P?P/m:m/P,l=bi.scroll_incremental_mult-1,s=(u=Hi(u/l),u*=l,m<P&&0!==u&&(u=1/u),0<t?u/=1+l:u*=1+l,m=P*u,h=M*u,0<t&&(m<64||h<64));if(s||t<0&&(512*P<m||512*M<h))return i&&s&&Ue(),!1;H=h,ee($=m),g(h),n=!0}return n&&(m=A.clientWidth,h=A.clientHeight,(l=(m/P+h/M)/2)&&(Ye=l),u=function(e,t,o){e-=t,o=di(100,o/10);return t+(e=e<0?-pi(o,-e):pi(o,e))},t=o-p*m,null!==c&&(t=u(c-m/2,t,R)),i=r-a*h,null!==d&&(i=u(d-h/2,i,L)),"fitfull"===e&&m<=R&&h<=L&&(t=di(t,E),R-E<t+m&&(t=R+E-m),i=di(i,E),L-E<i+h)&&(i=L+E-h),A.style.left=t+"px",A.style.top=i+"px",ge(!0),be=!1),!1},A.onwheel=Fe=function(o,e){function t(e){var t=!1;if(e)if(o.deltaX<0)t=!1;else{if(!(0<o.deltaX))return;t=!0}else{if(o.deltaY<0)t=!1;else{if(!(0<o.deltaY))return;t=!0}bi.mouseover_scrolly_video_invert&&(t=!t)}return vr(!t),d(o),1}function r(e){if(bi.mouseover_enable_gallery){var t=!1;if(e)if(o.deltaX<0)t=!1;else{if(!(0<o.deltaX))return;t=!0}else if(o.deltaY<0)t=!1;else{if(!(0<o.deltaY))return;t=!0}return he(t,!0),d(o),1}}var i,n=!1,a=!1,s=!0,l=!0,u=(q&&(c=xi("mouseover_scrollx_video_behavior"),u=xi("mouseover_scrolly_video_behavior"),n||"default"===c||("seek"===c?t(!0)&&(n=!0):"nothing"===c&&(s=!1)),a||"default"===u||("seek"===u?t(!1)&&(a=!0):"nothing"===c&&(l=!1))),xi("mouseover_scrollx_behavior")),c=xi("mouseover_scrolly_behavior");Se&&("default"!==(i=xi("mouseover_scrollx_hold_behavior"))&&(u=i),"default"!==(i=xi("mouseover_scrolly_hold_behavior")))&&(c=i);if(s&&!n)if("pan"===u)A.style.left=parseInt(A.style.left)+o.deltaX+"px",n=!0;else if("gallery"===u){if(r(!0))return;n=!0}if(l&&!a)if("pan"===c)A.style.top=parseInt(A.style.top)+o.deltaY+"px",a=!0;else if("gallery"===c){if(r(!1))return;a=!0}return a?(d(o),!1):(!l||"zoom"!==c||0===o.deltaY||(d(o),i=o.clientX,s=o.clientY,"center"===xi("scroll_zoom_origin")&&(s=i="center"),u=xi("scroll_zoom_behavior"),!1!==qe(u,o.deltaY,i,s,bi.zoom_out_to_close)))&&void 0},we&&document.documentElement.appendChild(we),document.documentElement.appendChild(A),lt(),_a(S),q&&(bi.mouseover_video_autoplay?cr(S):S.pause()),ye.push(A),B=!0,o.data.respdata&&o.data.respdata.responseHeaders&&"content-length"in(_=jn(Dn(o.data.respdata.responseHeaders)))&&(je=parseInt(_["content-length"])||0),Ne[1]=!1,Ce||(Se=!1),Ae=be=!1,setTimeout(function(){nt()},1),ze=!0,st())):(Ae=!1,v.running&&at()))}var n=null,Ct=new xn;function zt(e){var t,o,r;return e.match(/^ *([0-9]+)px *$/)?e.replace(/^ *([0-9]+)px *$/,"$1"):Ct.has(e)?Ct.get(e):((o=document.body)||(o=t=ni("body"),t.style.cssText="font-size:"+e+"!important;",document.documentElement.insertBefore(t,document.body)),n||(Ci(n=ni("i")),Re(n,"position","absolute"),Re(n,"visibility","hidden"),Re(n,"padding","0")),Re(n,"width",e),Re(n,"font-size",e),o.appendChild(n),r=n.clientWidth,Ct.set(e,r,300),t?document.documentElement.removeChild(t):o.removeChild(n),r)}function Nt(e){return e.left=e.x,e.top=e.y,e.right=e.left+e.width,e.bottom=e.top+e.height,e}function St(e){return{x:e.x,y:e.y,width:e.width,height:e.height}}function qt(e){var t;return"number"==typeof e?e:(t=e.match(/^([-0-9.]+)%$/))?parseFloat(t[1])/100:(t=e.match(/^([-0-9.]+)$/))?parseFloat(t[1]):null}function V(e,t){var o=!1,r=null;if(o=/youtube\.com$/.test(window.location.host)?!0:o){r=document.querySelectorAll;try{document.querySelectorAll=function(){return[]}}catch(e){}}e=function e(t,o,r){if(!t)return null;if(o&&o.has(t)){var i=o.get(t);if(!r)return i;if(i.orig_rect)return i}var i={},n=t.parentElement,n=(n&&(i=e(n,o,!1)),null),r=(r&&(n=t.getBoundingClientRect()),null),a=1,i=("style"in t&&t.style.zoom&&(a=qt(t.style.zoom))&&1!==a&&(n=n||t.getBoundingClientRect(),(r=St(n)).width*=a,r.height*=a),i.zoom&&1!==i.zoom&&(n=n||t.getBoundingClientRect(),(r=r||St(n)).x*=i.zoom,r.y*=i.zoom,r.width*=i.zoom,r.height*=i.zoom,a*=i.zoom),r&&Nt(r),{zoom:a});return n&&(i.orig_rect=n),r&&(i.rect=r),o&&o.set(t,i),i}(e,t,!0);if(o)try{document.querySelectorAll=r}catch(e){}return e.rect||e.orig_rect}function Tt(){var e,t;return ye&&ye[0]&&(e=gr())?(t=Date.now(),(!L||30<t-D)&&(L=e.getBoundingClientRect(),D=t),L):null}function It(e,t){"links"in(t=t||{})||(t.links=xi("mouseover_links"));var o=[],e=function(e,v,b){Yr&&ui("find_source","_find_source (els)",e);var y={},w={},a=[],k=yn(),x=0,t=ci(W("mouseover_minimum_size"));isNaN(t)&&(t=0);var C=function(e){var t,o={document:document,window:Ni(),host_url:window.location.href,do_request:fi,rule_specific:{}};for(t in e)o[t]=e[t];return $n(o)}({});function s(e){var t=!0;do{if(!e)break;var o=Vn(e);if(!o)break;if(o.opacity.toString().match(/^0(?:\.0*)?$/)||t&&"hidden"===o.visibility)return!1}while(t&&"visible"===o.visibility&&(t=!1),e=e.parentElement);return!0}function o(){var e,t=null,o=!1;for(e in y){if(o)return;o=!0,t=y[e]}return t}function z(e){return zn(window.location.href,e,!0)}function N(e,t,o){if(Yr&&ui("find_source","_find_source (addImage)",e,t,s(t),o),Cn(e))if(e&&bi.mouseover_apply_blacklist&&!cn(e))Yr&&ui("find_source","blacklisted");else{e in y||(y[e]={count:0,src:e,el:t,id:x++});if(t&&(window.getComputedStyle(t)||t.style),!(o=o||{}).isbg||!W("mouseover_exclude_backgroundimages")){var r=function(e,t){for(var o=ki(e,{fill_object:!0,use_cache:"read",do_request:null,document:document,window:Ni(),host_url:window.location.href,element:t,include_pastobjs:!0,iterations:2,cb:null}),r=e,i=0;i<o.length;i++){if(o[i].url===e)return!o[i].bad&&(1<o.length?r||!0:void 0);r===e&&(r=o[i].url)}return r||!0}(e,t);if(!1===r)Yr&&ui("find_source","Bad image",t);else if("imu"in y[e]||(y[e].imu=!!r),!0===r&&e&&e.match(/^data:/)&&!/^data:image\/svg\+xml;/.test(e)&&e.length<=500)Yr&&ui("find_source","Tiny data: image",t,e);else{if(s(t)){if(bi.mouseover_only_links){if(!t)return;var i=!1,n=t;do{if("A"===Zn(n)){i=!0;break}}while(n=n.parentElement);if(!i)return}return"layer"in o&&(o.layer in a||(a[o.layer]=[]),a[o.layer].push(e)),y[e].count++,1}Yr&&ui("find_source","Invisible: image",t)}}}}function d(e){for(var t=[],o=[],r="",i=null,n=!1,a=0;a<e.length;a++){var s=e[a];if(n)r+=s,n=!1;else if(i)s===i?(i=null,o.push(r),r=""):r+=s;else if(/\s/.test(s))0<r.length&&(o.push(r),r="");else if("\\"===s)n=!0;else if('"'===s||"'"===s)i=s;else if("("===s){var l=d(e.substr(a+1));o.push({name:r,tokens:l[0]}),a+=l[1],r=""}else{if(")"===s){a++;break}","===s?(r&&o.push(r),t.push(o),o=[],r=""):r+=s}}return r&&o.push(r),o&&t.push(o),[t,a]}function p(e){for(var t=0;t<e.length;t++)if(!(e[t].length<1)&&"object"==typeof e[t][0]){var o=e[t][0],r=o.name;if(!(oi(["url","-webkit-image-set","image-set"],r)<0))if("url"===r){if(1<=o.tokens.length&&0<o.tokens[0].length&&0<o.tokens[0][0].length)return 1}else if(p(o.tokens))return 1}}function u(e){return"object"!=typeof e||"url"!==e.name||e.tokens.length<1||e.tokens[0].length<1||0===e.tokens[0][0].length?null:e.tokens[0][0]}function D(e){for(var t,o,r,i=[],n=0;n<e.length;n++)e[n].length<1||"object"!=typeof e[n][0]||(o=(t=e[n][0]).name,oi(["url","-webkit-image-set","image-set"],o)<0)||("url"===o?(r=u(t))&&i.push(r):"-webkit-image-set"!==o&&"image-set"!==o||(r=function(e){for(var t=[],o=0;o<e.tokens.length;o++)if(!(e.tokens[o].length<1)){var r=u(e.tokens[o][0]);if(r){for(var i={src:r},n=1;n<e.tokens[o].length;n++){var a,s=e.tokens[o][n],l=s.match(/^([0-9.]+)(x|dp(?:px|i|cm))$/);l?0<(a=parseFloat(l[1]))&&("dppx"===(l=l[2])?(a*=96,l="dpi"):"dpcm"===l&&(a*=96/2.54,l="dpi"),"x"===l?i.desc_x=a:"dpi"===l&&(i.dpi=a)):li("Unknown descriptor: "+s)}t.push(i)}}return t}(t))&&Di(i,r));return i}function i(e,t,o,r,i){o=o;var n=!p(t=d(t=t)[0])||o&&!p(d(o)[0])?null:D(t);if(n)for(var a,s=0;s<n.length;s++)if(N(a="string"!=typeof(a=n[s])?a.src:a,e,{isbg:i,layer:r}),"string"!=typeof n[s])for(var l=["desc_x","dpi"],u=0;u<l.length;u++){var c=l[u];n[s][c]&&(!y[a][c]||y[a][c]>n[s][c])&&(y[a][c]=n[s][c])}}function r(e,t,o,r){o&&"style"in t&&(o.getPropertyValue("background-image")&&i(t,o.getPropertyValue("background-image"),t.style.getPropertyValue("background-image"),e,r||!0),r)&&o.getPropertyValue("content")&&i(t,o.getPropertyValue("content"),void 0,e,r)}function S(e,t){Yr&&ui("find_source","_find_source (addElement)",e,t),W("mouseover_exclude_page_bg")&&"BODY"===e.tagName||(function(e,t){if(C&&C.element_replace&&(o=C.element_replace(e))&&(e=o),C&&C.element_ok&&!kn(k,e)){var o=C.element_ok(e),r={count:1,src:null,el:e,id:x++,is_ok_el:!0};if(!0===o)v.push(r),wn(k,e);else if("object"==typeof o&&(pn(o)&&(o={el:o}),r.el=o.el,v.push(r),wn(k,e),e=o.el,o.search))for(var r=b.point,i=0,n=Bt(r=r?r:[(o=V(e)).left+o.width/2,o.top+o.height/2],{els_mode:"full",els:[e]});i<n.length;i++){var a=n[i];a!==e&&S(a)}}if("PICTURE"===(o=Zn(e))||"VIDEO"===o)for(var s=0;s<e.children.length;s++)S(e.children[s],t);if("SOURCE"===o||"IMG"===o||"IMAGE"===o||"VIDEO"===o||bi.mouseover_allow_canvas_el&&"CANVAS"===o||bi.mouseover_allow_svg_el&&"SVG"===o){if(bi.mouseover_exclude_imagemaps&&"IMG"===o&&e.hasAttribute("usemap")){r=document.querySelector('map[name="'+e.getAttribute("usemap").replace(/^#/,"")+'"]');if(r)return Yr&&ui("find_source","_find_source skipping",e,"due to image map",r)}var r=Qn(e);if(r&&(N(h=z(r),e,{layer:t}),!e.srcset)&&h in y&&(r=gt(e),y[h].width=r[0],y[h].height=r[1]),!e.srcset)return;for(var l=[],u=e.srcset;0<u.length;){var c=u,d=(u=u.replace(/^\s+/,"")).match(/^(\S+)(?:,\s+.*)?$/);if((d=d||u.match(/^(\S+(?:\s+[^,]+)?)(?:,[\s\S]*)?\s*$/))&&(l.push(d[1].replace(/\s*$/,"")),u=u.substr(d[1].length)),(u=u.replace(/^\s*,/,""))===c)break}e.sizes&&e.sizes.split(",");for(s=0;s<l.length;s++){var p,m,h=z(l[s].replace(/^(\S+)(?:\s+[\s\S]+)?\s*$/,"$1")),g=l[s].slice(h.length).replace(/^\s*([\s\S]*?)\s*$/,"$1");if(N(h,e,{layer:t})){if(y[h].picture=e.parentElement,g)for(y[h].desc=g;0<g.length;){var f=(g=g.replace(/^\s+/,"")).match(/^([0-9.]+)([whx])(?:\s+[0-9.]+[\s\S]*)?\s*$/);if(!f)break;var _=parseFloat(f[1]);0<_&&("w"===f[2]&&(!y[h].width||y[h].width>_)?y[h].width=_:"h"===f[2]&&(!y[h].height||y[h].height>_)?y[h].height=_:"x"===f[2]&&(!y[h].desc_x||y[h].desc_x>_)&&(y[h].desc_x=_)),g=g.substr(f[1].length+f[2].length)}e.media&&(y[h].media=e.media,e.media.match(/min-width:\s*([0-9]+)/)&&(p=zt(e.media.replace(/.*min-width:\s*([0-9.a-z]+).*/,"$1")),!y[h].minWidth||y[h].minWidth>p)&&(y[h].minWidth=p),e.media.match(/max-width:\s*([0-9]+)/)&&(p=zt(e.media.replace(/.*max-width:\s*([0-9.a-z]+).*/,"$1")),!y[h].maxWidth||y[h].maxWidth>p)&&(y[h].maxWidth=p),e.media.match(/min-height:\s*([0-9]+)/)&&(m=zt(e.media.replace(/.*min-height:\s*([0-9.a-z]+).*/,"$1")),!y[h].minHeight||y[h].minHeight>m)&&(y[h].minHeight=m),e.media.match(/max-height:\s*([0-9]+)/))&&(m=zt(e.media.replace(/.*max-height:\s*([0-9.a-z]+).*/,"$1")),!y[h].maxHeight||y[h].maxHeight>m)&&(y[h].maxHeight=m)}}}("A"===o||bi.mouseover_allow_iframe_el&&"IFRAME"===o)&&(r=Qn(e),w[r]={count:1,src:r,el:e,id:x++})}(e,t=void 0===t?a.length:t),r(t,e,window.getComputedStyle(e)),r(t,e,window.getComputedStyle(e,":before"),"before"),r(t,e,window.getComputedStyle(e,":after"),"after"))}for(var n=0;n<e.length;n++)if("IMG"===e[n].tagName&&e[n].parentElement&&"PICTURE"===e[n].parentElement.tagName&&oi(e,e[n].parentElement)<0&&e.splice(n+1,0,e[n].parentElement),"PICTURE"===e[n].tagName&&1==n){e.splice(0,n),n=0;break}for(n=0;n<e.length;n++)S(e[n]);Yr&&(ui("find_source","_find_source (sources)",_i(y)),Yr&&ui("find_source","_find_source (layers)",_i(a)),Yr)&&ui("find_source","_find_source (ok_els)",_i(v));for(var l=[],n=0;n<a.length;n++)for(var c=0;c<a[n].length;c++)oi(l,a[n][c])<0&&l.push(a[n][c]);var m,h=[];for(m in y){for(n=0;n<v.length;n++)y[m].el===v[n].el&&(v[n]=y[m],h[n]=!0);oi(l,m)<0&&delete y[m]}for(n=0;n<v.length;n++)h[n]||v[n].src||S(v[n].el);if(void 0!==(L=o())){if(Yr&&ui("find_source","_find_source (getsource())",L),null===L){if(0<v.length)return v[0];if(b.links&&0<Object.keys(w).length){var g,f=null;for(g in w){if(!bi.mouseover_only_valid_links){f=g;break}if(Ln(g,w[g].el)){f=g;break}}if(f)return w[f]}}return L}for(n=0;n<a.length;n++){for(var _=0,q=null,T=0,j=null,I=0,M=null,A=0,P=null,H=0,$=0,E=0,F=null,U={},R=!1,c=0;c<a[n].length;c++){var L,O=a[n][c];(L=y[O]).width&&L.width>_&&(_=L.width,q=L,R=!0),L.height&&L.height>T&&(T=L.height,j=L,R=!0),L.minWidth&&L.minWidth>I&&(I=L.minWidth,M=L,R=!0),L.minHeight&&L.minHeight>A&&(A=L.minHeight,P=L,R=!0),L.maxWidth&&L.maxWidth>H&&(H=L.maxWidth,0),L.maxHeight&&L.maxHeight>$&&($=L.maxHeight,0),L.desc_x&&L.desc_x>E&&(E=L.desc_x,F=L,R=!0),L.dpi&&0<L.dpi&&(R=!0),L.isbg&&(U[L.src]=!0,R=!0)}if(R)for(var G in 1<E&&(U[F.src]=!0),t<_&&I<_&&(U[q.src]=!0),t<T&&A<T&&(U[j.src]=!0),t<I&&_<=I&&(U[M.src]=!0),t<A&&T<=A&&(U[P.src]=!0),a[n]=[],U)a[n].push(G)}function B(e){for(var t=0;t<e.length;t++){var o=e[t],o=y[o];if(o.desc_x)return o}return y[e[0]]}Yr&&ui("find_source","_find_source (new layers)",_i(a));(function(){for(var e=[],t=0;t<a.length;t++)0!==a[t].length&&e.push(a[t]);a=e})(),Yr&&ui("find_source","_find_source (rebuilt layers)",_i(a));if(1<a.length&&1===a[0].length&&y[a[0][0]].isbg)for(n=1;n<a.length;n++)if(1!==a[n].length||!y[a[n][0]].isbg)return B(a[n]);if(0<a.length)return B(a[0]);return(L=o())||function(e){var t,o=xa,r=null;for(t in e){var i=e[t];i.id<o&&(o=i.id,r=e[t])}return r}(y)}(e,o,t);if(Yr&&ui("find_source","find_source: result =",e,"ok_els =",o),e){function r(){return 0<o.length?o[0]:null}if(e.el&&function(e){var t=e;do{if(0<=oi(ye,t))return 1}while(t=t.parentElement)}(e.el))return Yr&&ui("find_source","find_source: result.el is popup el",e.el),r();if(!e.is_ok_el&&!e.src)return Yr&&ui("find_source","find_source: invalid src",e),r();var t=ci(W("mouseover_minimum_size")),i=((isNaN(t)||e.imu)&&(t=0),ci(W("popup_maximum_source_size")));if(isNaN(i)&&(i=0),!isNaN(e.width)&&!isNaN(e.height)&&0<e.width&&0<e.height){if(e.width<t||e.height<t)return Yr&&ui("find_source","find_source: result size is too small"),r();if(i&&(e.width>i||e.height>i))return ai("Source media is too big to popup (user-configured maximum is",i,"px)"),null}}return e}var At=function(e,t){if(e)for(var o=[(e=0<=oi(["SOURCE","IMG"],e.tagName)&&e.parentElement&&0<=oi(["PICTURE","VIDEO"],e.parentElement.tagName)?e.parentElement:e).tagName],r=e,i=!1;;){if(i)i=!1;else{var n=r.nextElementSibling;if(!(n=t?n:r.previousElementSibling)){if(!(r=r.parentElement))break;o.unshift(r.tagName);continue}r=n}if(r.tagName===o[0])if(1===o.length){if(Jt(r))return r}else if(t){for(var a=0;a<r.children.length;a++)if(r.children[a].tagName===o[1]){r=r.children[a],o.shift(),i=!0;break}}else for(a=r.children.length-1;0<=a;a--)if(r.children[a].tagName===o[1]){r=r.children[a],o.shift(),i=!0;break}}return null};function Et(){"number"==typeof(g=(g=bi.mouseover_trigger_delay)<0||isNaN(g)?!1:g)&&10<=g&&(g=10),F="mouse"===xi("mouseover_trigger_behavior")||(g=!1),f&&(clearTimeout(f),f=null)}function Ut(e){return!sa(e)||!aa(d)}function Rt(){d=[],H={}}function Lt(e,t){return 0<=oi(t,e)}function Dt(e,t){if(t){if(!Ut(e))return;if(H[e]=Date.now(),oi(d,e)<0)return d.push(e),1}else if(delete H[e],0<=oi(d,e))return d.splice(oi(d,e),1),aa(d)&&Rt(),1}function jt(e,t){t=Na(t);for(var o=0;o<t.length;o++)if(function(e,t){var o,r=na(e,!0);for(o in r)if(r[o]&&Lt(o,t))return 1}(e,t[o]))return 1}function Mt(e,t){var o,r=na(e,t),i=Date.now();for(o in H)5e3<i-H[o]&&Dt(o,!1);for(var n in r)Dt(n,r[n])&&0}function Pt(e,t,o){var r,i=na(e,t);for(r in i)if((void 0===o||Lt(r,o))&&function(e,t){if(t){if(!Ut(e))return;if(oi(d,e)<0)return 1}else if(0<=oi(d,e))return 1}(r,i[r]))return 1}function _(e){e=Na(e);for(var t=0;t<e.length;t++)if(function(e){for(var t=0;t<e.length;t++){var o=e[t];if(oi(d,o)<0)return}for(t=0;t<d.length;t++)if(!sa(d[t])&&oi(e,d[t])<0)return;return 1}(e[t]))return 1}function Ht(e,t){t=Na(t);for(var o=0;o<t.length;o++)if(function(e){for(var t=0;t<e.length;t++){var o=e[t];if(0<=oi(d,o))return 1}}(t[o]))return 1}function $t(){return xi("mouseover_close_behavior")}function Ft(){return bi.mouseover_close_need_mouseout&&"esc"!==$t()}function Ot(){return bi.mouseover_exclude_imagetab&&"mouse"===xi("mouseover_trigger_behavior")&&ra()&&!Ii}Bn=function(e,t){var o;return l?(o=oi(l,e))<0||(t?o++:o--,o<0)||o>=l.length?null:l[o]:(o=Fn(ke,e,t))||!1===o?o:(e.parentElement||e.hasAttribute("imu-album-info")&&(e=A),q=[],At(e,t))},Et(),yi.mouseover_trigger_delay.onupdate=Et,yi.mouseover_trigger_behavior.onupdate=Et;var Gt=yn();function Bt(e,t,o,r,i){(t=t||{}).els_mode||(t.els_mode=xi("mouseover_find_els_mode")),t.els&&!o&&(o=t.els);var n=!1;if(r||(r=yn(),n=!0),void 0===i)try{i=new Map}catch(e){i=null}var a=[],s=[];if(!o){o=[];for(var l=0,u=document.elementsFromPoint(e[0],e[1]);l<u.length;l++){var c=u[l];kn(Gt,c)||o.push(c)}if(s=o,Yr&&ai("find_els_at_point (elsfrompoint)",_i(o)),"simple"===t.els_mode)return o}for(var d=0;d<o.length;d++)if(0<d&&n&&"hybrid"===t.els_mode)a.push(o[d]);else{c=o[d];if(!kn(r,c)){wn(r,c);var p=!1,m=null,h=null;if(0<c.childElementCount&&(m=c.children,p=!0),c.shadowRoot&&0<c.shadowRoot.childElementCount&&(h=c.shadowRoot.children,p=!0),p){var g=[];if(m)for(var f=m.length-1;0<=f;f--)g.push(m[f]);if(h)for(f=h.length-1;0<=f;f--)g.push(h[f]);for(var _=Bt(e,t,g,r,i),v=0;v<_.length;v++){var b=_[v];oi(a,b)<0&&a.push(b)}}p=V(c,i);p&&0<p.width&&0<p.height&&p.left<=e[0]&&p.right>=e[0]&&p.top<=e[1]&&p.bottom>=e[1]&&oi(a,c)<0&&a.push(c)}}for(var y,w,d=0;d<s.length;d++)oi(a,s[d])<0&&a.push(s[d]);return Yr&&0<a.length&&ai("find_els_at_point (unsorted ret)",mn(a)),n&&"hybrid"===t.els_mode||(y=function(e){var t=Vn(e).zIndex,o=0;return e.parentElement&&(o=w(e.parentElement)),"auto"===t?o:(t=parseFloat(t))<o?o+t:t},w=function(e){var t,o;return i?(t=bn(i,e))&&"zIndex"in t?t.zIndex:(o=y(e),t?t.zIndex=o:vn(i,e,{zIndex:o}),o):y(e)},a.sort(function(e,t){var o=w(e),r=w(t);return r===o?oi(a,e)-oi(a,t):r-o}),Yr&&0<a.length&&ai("find_els_at_point (ret)",o,mn(a),e)),a}var Wt=function(e){return e.parentElement&&"SOURCE"===e.tagName?e.parentElement:e};function Vt(e){var t,o;e=e||{},Yr&&ai("trigger_popup (options:",e,")",Ki),!bi.mouseover_allow_popup_when_fullscreen&&Nr()&&!Sr()||(Ae=!0,t=w?[_e,ve]:null,null===(t=e.is_contextmenu&&null!==x&&null!==C?[x,C]:t)?Ae=!1:(o=Bt(t),Yr&&ai("trigger_popup: els =",o,"point =",t),e.is_contextmenu&&(C=x=null),!(e=It(o,{point:t}))&&bi.mouseover_allow_self_pagelink&&"keyboard"===m&&(e={el:document.body,src:window.location.href,pagelink:!0}),Yr&&ai("trigger_popup: source =",e),!e||"mouse"===m&&Wt(e.el)===p?("keyboard"===m&&bi.mouseover_enable_notallowed&&b(),Ae=!1):Xt(e)))}function Xt(e,a,t,s){I=Wt(e.el),s=s||gi.nullfunc;var o=!1,r=it("mouseover_open_behavior"),l=("newtab"!==r&&"newtab_bg"!==r&&"download"!==r&&"copylink"!==r||(o=!0),e),r=!1,i=!1,n=xi("mouseover_allow_partial");"media"===n?i=r=!0:"video"===n&&(i=!0),Qr&&Vi()&&(i=r=!0),Yt(e,{automatic:a,multi:!1,use_head:o,incomplete_image:r,incomplete_video:i,use_last_pos:t},function(e,t,o,r){var i,n;return e||t||o||r?a&&q&&e&&e[0]&&0<=oi(q,e[0].url)?(Ae=!1,Ee(),s(!1)):(Sr(),Ue({new_popup:!0,automatic:a}),a&&(Ce=!0,lt()),u=t.el,(xe=Wt(u)).parentElement&&(A=xe),T=ga(xe),Me="video"===T||"audio"===T,Pe=Qn(xe),Qr&&Vi()&&"popup"===it("mouseover_open_behavior")?(r.data.img=(i=r.data.img,n={tag:i.tagName.toLowerCase(),src:i.src,autoplay:i.getAttribute("autoplay"),controls:i.getAttribute("controls"),loop:i.getAttribute("loop"),muted:i.muted,volume:i.volume},i.hasAttribute("crossorigin")&&(n.crossorigin=i.getAttribute("crossorigin")),n),Xi("top",{type:"make_popup",data:{source_imu:e,src:t.src,processing:o,data:r}})):(xt(e,t.src,o,r),Qr&&Qi()&&"popup"===it("mouseover_open_behavior")&&Xi("top",{type:"popup_open"})),void s(!0)):(Ae=!1,(l.pagelink?at:Ee)(),s(!1))})}function Yt(a,s,i){function e(){function e(e,t){if(!t)return s.multi||at(),i();s.use_last_pos&&(r=o=null),i(e,a,l,{data:t,x:o,y:r})}s.multi||B(a.el);var o=_e,r=ve;try{var t=bi.mouseover_ui_caption&&bi.redirect_force_page;Wn(a.src,{fill_object:!0,host_url:window.location.href,document:document,window:Ni(),element:a.el,force_page:t,cb:e},function(e,i){var n=e;if(Yr&&ai("do_popup: brl query:",e),s.null_if_no_change&&e[0].url===a.src)return i(a.src,e[0],null);var t,o=_i(e);if(bi.mouseover_exclude_sameimage){if(a.src)for(;0<=(t=Yn(o,a.src));)o.splice(t,1)}else a.src&&Yn(o,a.src)<0&&o.push(In(a.src)[0]);a.pagelink&&(o=Tn(o),mi(o,function(e){e.url.replace(/#.*/,"")===a.src.replace(/#.*/,"")&&(e.is_pagelink=!0)})),l.incomplete_image=s.incomplete_image,l.incomplete_video=s.incomplete_video,l.progress_cb=s.progress_cb,s.use_head&&(l.head=!0),bi.popup_allow_cache&&!s.deny_cache&&(l.set_cache=!0,l.use_cache=!0),l.deny_nondirect_delivery=s.deny_nondirect_delivery,W("mouseover_allow_video")||(l.deny_video=!0),W("mouseover_allow_audio")||(l.deny_audio=!0),l.source=a,wa(o,function(e,t,o,r){if(Yr&&ai("do_popup: check_image_get response:",e,t,o,r),!e)return i(null);o={img:e,newurl:t,obj:o,respdata:r},r=t;s.use_head&&(r=(o={resp:e,obj:t}).resp.finalUrl),bi.print_imu_obj&&ai(n),i(r,o.obj,o)},l)})}catch(e){si(e)}}var t,l={running:!0};s.multi||(Z(),o=[l]);!g||F||s.automatic?e():(t=a.el,B(t,"progress"),f=setTimeout(function(){Ae||(f=null,e())},1e3*g))}function Zt(t,e,o,r,i){o=o||u;var n={element:e=e||A,document:document,window:Ni(),host_url:window.location.href,do_request:fi,rule_specific:{},cb:function(e){if(void 0===e||"default"===e)return r(Bn(o,t));r(e)}};if(i)for(var a in i)n[a]=i[a];On(n),Gn(n);var s=$n(n),e=Bn,e=(e=s&&s.gallery?function(e,t){var o=s.gallery(e,t);return o||null===o?o:Bn(e,t)}:e)(o,t);if("waiting"!==e)return"default"===e?r(Bn(o,t)):void r(e)}var Kt=new xn;function Jt(e){var t;return!!e&&(Kt.has(e)?Kt.get(e):(t=!!It([e]),Kt.set(e,t,3),t))}function Qt(e,t,o,r,i,n){var a=0,s=(void 0===t&&(t=bi.mouseover_ui_gallerymax),i);if(!(s=i||u)&&c&&Vi()&&!Qr)return Xi(c,{type:"count_gallery",data:{nextprev:e,is_counting:o,max:t}},function(e){n(e)});function l(){Zt(e,r,i,function(e){return e&&Jt(e)?t<=++a?n(a,e):(i=e,void qa(l,a,100)):n(a,i)},{is_counting:o,counting_firstel:s})}l()}function eo(e,r,i){function n(t,o){Zt(t,r,i,function(e){if(!e||!Jt(e))return o();a++,kn(s,i=e)||(wn(s,i),t?l.push(i):l.unshift(i)),qa(function(){n(t,o)},a,100)})}var a=0,s=yn(),l=[],t=i;(t=t||u)&&(wn(s,t),l.push(t)),n(!1,function(){n(!0,function(){e(l)})})}function to(e,o,r,i){if(r=r||u,0===e)return i();var n=!0,a=e;e<0&&(n=!1,a=-e),Qt(n,a,!1,o,r,function(e,t){e<a?bi.mouseover_gallery_cycle?Qt(!n,void 0,!0,o,r,function(e,t){i(t)}):i(null):i(t)})}function oo(e,t){if(c&&Vi()&&!Qr)return Xi(c,{type:"is_nextprev_valid",data:{nextprev:e}},function(e){t(e)});to(e?1:-1,void 0,void 0,function(e){t(Jt(e))})}function ro(e){var t=gr();t&&(t.parentElement.parentElement.style.transform=so(e))}function io(){var e=ao();return lo(e).deg}var no=function(e){for(var t,o,r=[],i={},n=0,a=0;a<e.length;a++)")"===e[a]&&(o=(t=wi(e.substr(n,a-n+1))).replace(/\(.*/,""),r.push(t),o in i||(i[o]=[]),i[o].push(r.length-1),n=a+1);return{transforms:r,types:i}},ao=function(){var e,t=null;return(t=ye&&ye[0]&&(e=gr())?e.parentElement.parentElement.style:t)&&t.transform?no(t.transform):{transforms:[],types:{}}},so=function(e){return e.transforms.join(" ")},lo=function(e){var t=0,e=("rotate"in e.types?t=e.types.rotate[0]:e.transforms.unshift("rotate(0deg)"),e.transforms[t].match(/^rotate\(([-0-9]+)deg\)$/)),o=0;return{deg:o=e?parseInt(e[1]):o,index:t}};function uo(e){var t,o;ze&&(t=ao(),o=lo(t),t.transforms[o.index]="rotate("+(o.deg+e)+"deg)",ro(t),$e(!0))}var co=function(e){var t,o,r,i,n;ze&&(o=(t=ao()).transforms.length,"scale"in t.types?o=t.types.scale[0]:t.transforms.push("scale(1,1)"),n=i=1,(r=t.transforms[o].match(/^scale\(([-0-9.]+)\s*,\s*([-0-9.]+)\)$/))&&(i=parseFloat(r[1]),n=parseFloat(r[2])),e?n=-n:i=-i,t.transforms[o]="scale("+i+", "+n+")",ro(t))},po=function(e,t){t=Fi(10,t);return(0|(e*=t))/t},mo=function(e){for(var t=["B","KB","MB","GB","TB","PB"];1<t.length&&1024<e;)e/=1024,t.shift();return po(e,2)+t[0]};function ho(e){var t=ni("div"),o=(Ci(t),t.style.backgroundColor="rgba(0,0,0,0.7)",t.style.height="2em",t.style.zIndex=Ca-2,ni("div"));return Ci(o),o.style.position="absolute",o.style.top="0px",o.style.left="0px",o.style.backgroundColor="#00aaff",o.style.height="100%",o.style.width="0%",o.style.zIndex=Ca-1,t.appendChild(o),e&&(t.style.position="fixed",t.style.top="0px",t.style.left="0px",t.style.width="80%",t.style.marginTop="100px",t.style.marginLeft="10%",document.documentElement.appendChild(t)),t}function go(e,t,o){var r=e.children[0];"number"==typeof t?(r.getAttribute("data-timer")&&(clearInterval(parseInt(r.getAttribute("data-timer"))),r.removeAttribute("data-timer")),1<=t&&o&&e.parentElement?e.parentElement.removeChild(e):r.style.width=100*t+"%"):"unknown"==t&&(r.style.width="10%",r.getAttribute("data-timer")||(r.style.left="0%",r.setAttribute("data-dir","right"),o=setInterval(function(){var e=parseFloat(r.style.left);"right"==r.getAttribute("data-dir")?90<=(e+=.015*90)&&(e=90-(e-90),r.setAttribute("data-dir","left")):(e-=.015*90)<=0&&(e=-e,r.setAttribute("data-dir","right")),r.style.left=e+"%"},15),r.setAttribute("data-timer",o)))}function fo(e){return(bi.mouseover_links?wo:yo)(e)}function _o(e,t,o){mi(e.attributes,function(e){t.hasAttribute(e.name)&&!o||t.setAttribute(e.name,e.value)})}function vo(e,t){var o,r;t.parentElement&&(r=ni((o=t).tagName),_o(o,r),(t=r).removeAttribute("style")),_o(e,t),e.parentElement.insertBefore(t,e),e.parentElement.removeChild(e)}var bo=function(e){return"IMG"===(t=e).tagName||"PICTURE"===t.tagName||"VIDEO"===e.tagName;var t},yo=function(e){return(e=e||document).querySelectorAll("img, picture, video")},wo=function(e){return(e=e||document).querySelectorAll("img, picture, video, a")},ko=function(e,t,o,r){s||(i=Qn(o));var i,n=!1,a=("A"===t.tagName&&(e.plainlink_replace_link&&(t.href=i),e.plainlink_replace_text&&(t.textContent=i),e.plainlink_replace_media)&&(n=!0),gt(t)),s=!1;if(n||"string"!=typeof o&&"VIDEO"===o.tagName){if("string"==typeof o)return void li("Unable to replace",t,"due to invalid replacement:",o);t=vo(t,o),s=!0}if(!s&&e.replace_imgs&&(t.hasAttribute("srcset")&&t.removeAttribute("srcset"),Qn(t)!==i)&&(t.src=i),"remove"===e.size_constraints?(t.removeAttribute("height"),t.removeAttribute("width"),t.style.setProperty("height","auto","important"),t.style.setProperty("width","auto","important")):"force"===e.size_constraints&&a&&a[0]&&a[1]&&(t.setAttribute("height",a[1]),t.removeAttribute("width",a[0]),t.style.setProperty("height",a[1]+"px","important"),t.style.setProperty("width",a[0]+"px","important")),e.replace_css&&ht(t,e.replace_css,{force_important:!0}),e.add_links){for(var l=t;l=l.parentElement;)if("A"===l.tagName){if(e.replace_links)break;return}l||(l=ni("a"),t.parentElement.insertBefore(l,t),l.appendChild(t)),e.links_newtab&&(l.target="_blank"),l.href!==r&&(l.href=r)}},xo=function(t,o,r,i){var e,n=!1;r.data.img?ko(t,o.el,r.data.img,r.data.obj.url):r.data.obj&&(e=function(){var e;bi.replaceimgs_wait_fullyloaded&&t.replace_imgs?((e=new Image).onload=function(){ko(t,o.el,e.src,r.data.obj.url),i()},e.onerror=i,e.src=r.data.obj.url):(ko(t,o.el,r.data.obj.url,r.data.obj.url),i())},Zr?Kr({type:"override_next_headers",data:{url:r.data.obj.url,headers:r.data.obj.headers,method:"GET"}},function(){e()}):e(),n=!0),n||i()},Co=!(ca=function(e,t){if(t=t||gi.nullfunc,c&&Vi()&&!Qr)return Xi(c,{type:"trigger_gallery",data:{dir:e}},function(e){t(e)});to(e,void 0,void 0,function(e){if(e){e=It([e]);if(e)return void Xt(e,!0,!0,function(e){t(e)})}return t(!1)})}),zo=new xn;function No(l){if(!Co&&!ra()){var e=l.images,t=(void 0===e&&(e=(l.support_plainlinks?wo:yo)()),[]);if(l.all_els_ok)t=e;else{for(var o=yn(),r=0;r<e.length;r++){var i=bo(e[r]);if((i=!i&&l.support_plainlinks&&"A"===e[r].tagName?!0:i)&&(t.push(e[r]),l.support_plainlinks))for(var n=e[r].parentElement;n;)wn(o,n),n=n.parentElement}if(l.support_plainlinks)for(r=0;r<t.length;r++)"A"===t[r].tagName&&kn(o,t[r])&&(t.splice(r,1),r--)}if(0!==t.length){l.use_progressbar&&ai("Replacing images");for(var u,c,d=0,p=1,m=(l.finalcb&&l.finalcb_progress&&(p-=l.finalcb_progress),l.replace_image_func||(l.replace_image_func=function(i,n,a,s,e){if(i.use_elcache){if(zo.has(n.el))return s(),a();zo.set(n.el,!0,5)}var t=!bi.replaceimgs_usedata,o=t,r=!0;"A"===n.el.tagName&&(t=r=!i.plainlink_replace_media,r=r||!Ln(n.src,n.el)),Yt(n,{automatic:!0,multi:!0,use_head:t,incomplete_image:o,incomplete_video:o,null_if_no_change:r,use_last_pos:!1,progress_cb:e},function(e,t,o,r){if(s(),!r)return ko(i,n.el,n.src,n.src),a();xo(i,t,r,a)})}),0),h=function(){var e=parseInt(bi.replaceimgs_totallimit);if(e<w)w--;else{w<e&&(w++,h());var t,o=null,r=null,i=Date.now();for(t in g)if(!(f[t]>=parseInt(bi.replaceimgs_domainlimit))){var n=i-_[t],a=1e3*parseFloat(bi.replaceimgs_delay)-n;if(!(0<a)){f[r=t]++,_[t]=i,o=g[t][0],g[t].splice(0,1),0===g[t].length&&delete g[t];break}null===v[t]&&!function(e){v[e]=setTimeout(function(){v[e]=null,h()},1+a)}(t)}null===o&&0<b.length&&(o=b[0],b.splice(0,1));var s=m;m++,o?l.replace_image_func(l,o,function(){var e;e=s,d++,l.use_progressbar&&(u.finish_id(e),ai("Finished "+d+"/"+y)),y<=d?(l.use_progressbar&&go(c,p,!0),Co=!1,l.finalcb&&l.finalcb(function(e){l.use_progressbar&&l.finalcb_progress&&go(c,p+e*l.finalcb_progress,!0)})):qa(h,d,100)},function(){r&&f[r]--},function(e){var t;bi.replaceimgs_simple_progress&&(t=e.loaded/e.total,e.total=1,e.loaded=t),u.update_progobj(s,e)}):w--}},g=(l.use_progressbar&&(c=ho(!0)),{}),f={},_={},v={},b=[],y=t.length,r=0;r<t.length;r++){var a,s=It([t[r]],{links:l.support_plainlinks});s?(s._replace_id=r,(s.src&&(a=s.src.match(/^https?:\/\/([^/]+)\//))?(a[1]in g||(g[a[1]]=[],f[a[1]]=0,_[a[1]]=0,v[a[1]]=null),g[a[1]]):b).push(s)):y--}l.use_progressbar&&(u=new sn({cb:function(e){go(c,e.percent*p,!1)},elements_num:y}));var w=1;h()}}}function So(e){var t,o={replace_imgs:bi.replaceimgs_replaceimgs,add_links:bi.replaceimgs_addlinks,replace_links:bi.replaceimgs_replacelinks,support_plainlinks:!1,plainlink_replace_text:!1,plainlink_replace_link:!1,plainlink_replace_media:!1,links_newtab:bi.replaceimgs_links_newtab,size_constraints:xi("replaceimgs_size_constraints"),replace_css:bi.replaceimgs_css,use_progressbar:!0},r=xi("replaceimgs_plainlinks");for(t in"none"!==r&&(o.support_plainlinks=!0,"replace_link_text"===r?(o.plainlink_replace_text=!0,o.plainlink_replace_link=!0):"replace_media"===r&&(o.plainlink_replace_media=!0)),e=e||{})o[t]=e[t];return o}var qo,To,Io,Ao=function(e){return No(So(e))},Eo=(on("Replace images",Ao),null),Uo=function(){Eo&&Eo();function r(e){for(var t=0,o=n;t<o.length;t++){var r=o[t];if(r.el===e.el)return r}return null}var e=ni("div"),t=(Re(e,"position","absolute"),Re(e,"left","0px"),Re(e,"top","0px"),Ci(e),ni("div")),i=(Ci(t),ht(t,bi.customgallery_bg_css,{force_important:!0}),Re(t,"pointer-events","none"),Re(t,"position","fixed"),Re(t,"left","0px"),Re(t,"top","0px"),Re(t,"height","100%"),Re(t,"width","100%"),Re(t,"z-index",Ca-3),e.appendChild(t),ni("div")),o=(Ci(i),Re(i,"position","absolute"),Re(i,"pointer-events","none"),Re(i,"left","0px"),Re(i,"top","0px"),Re(i,"z-index",Ca-2),e.appendChild(i),ni("div")),n=(Ci(o),Re(o,"position","fixed"),Re(o,"left","0px"),Re(o,"top","0px"),Re(o,"height","100%"),Re(o,"width","100%"),Re(o,"z-index",Ca),e.appendChild(o),wn(Gt,o),[]),a=yn(),s=(Eo=function(){jr===s&&(jr=null),_n(Gt,o),e.parentElement.removeChild(e),Eo=null},jr=function(e){for(var t=0,o=[{key:bi.mouseover_close_key,action:Eo},{key:bi.customgallery_apply_key,action:function(){if(Eo(),n.length){l=[];for(var e=0,t=n;e<t.length;e++){var o=t[e];l.push(o.el)}Xt(n[0],!0)}}}];t<o.length;t++){var r=o[t];if(_(r.key))return r.action(),!1}});ii(o,"click",function(e){e.preventDefault(),e.stopImmediatePropagation(),e.stopPropagation();var t,o,e=[_e,ve],e=It(Bt(e),{point:e});e&&e.el&&((e=!!(o=e).el&&(kn(a,o.el)?r(o)||o:(n.push(o),wn(a,o.el),o)))._real_el=e.el,e.picture&&(e._real_el=e.picture),e._outline_el?((t=r(o=e))&&0<=(t=oi(n,t))&&n.splice(t,1),_n(a,o.el),e._outline_el&&e._outline_el.parentElement.removeChild(e._outline_el)):(t=e._real_el.getBoundingClientRect(),ht(o=ni("div"),bi.customgallery_outline_css,{force_important:!0}),Re(o,"position","absolute"),Re(o,"pointer-events","none"),Re(o,"z-index",Ca-1),Re(o,"left",t.left+window.scrollX+"px"),Re(o,"top",t.top+window.scrollY+"px"),Re(o,"width",t.width+"px"),Re(o,"height",t.height+"px"),i.appendChild(o),e._outline_el=o))},{capture:!0}),document.documentElement.appendChild(e)};function Ro(){bi.customgallery_enable_button?qo||(To=on("Custom gallery",Uo),qo=!0):qo&&(rn(To),qo=!1)}qo=!1,To=null,Ro(),Io=yi.customgallery_enable_button.onupdate,yi.customgallery_enable_button.onupdate=function(){if(Ro(),Io)return Io.apply(this,arguments)};function Lo(h,g,i){function n(e){e.headers={Referer:"https://qsniyg.github.io/maxurl/"},fi(e)}var t;t=function(e){if(!e)return i(!1);var e=function(){for(var e={},t=xi("gallery_jd_referer"),o=0;o<h.length;o++){var r,i,n,a=h[o];a&&(r={url:a.obj.url,filename:a.filename||"",desc:""},i="",n=null,(i=a.obj.headers&&"never"!==t&&(n=Mn(a.obj.headers,"referer")||null)&&(i=r.referer=n,"domain"===t)?Pn(i):i)in e||(e[i]={referer:n,urls:[]}),e[i].urls.push(r))}var s,l=[];for(s in e){var u=e[s],c=[],d=[],p=[],m=(mi(u.urls,function(e){c.push("directhttp://"+e.url),p.push(e.fnames),d.push(e.desc)}),{urls:c.join("\n"),descriptions:d.join("\n"),fnames:p.join("\n")});g&&(m.package=g),m.referer=u.referer||"",bi.gallery_jd_autostart&&(m.autostart="1"),l.push(An(m,!0))}return l}(),t=0,o=e.length,r=!1;mi(e,function(e){n({method:"GET",url:"http://127.0.0.1:9666/flashgot?"+e,onload:function(e){if(t++,!r)return 200!==e.status?(si("Error with flashgot api",e),i(!(r=!0))):void(o<=t&&i(!0))}})})},n({method:"GET",url:"http://127.0.0.1:9666/jdcheckjson",onload:function(e){if(200!==e.status)return si("Unable to connect to JDownloader",e),t(!1);try{JSON.parse(e.responseText)}catch(e){return si(e),t(!1)}return t(!0)}})}function Do(){!Wo&&/^text\//.test(document.contentType)&&(Wo=ni("style"),document.documentElement.appendChild(Wo),Xo())}function jo(e){Do(),e.classList.add(Vo)}function Mo(e){e.classList.remove(Vo)}function Po(e){var t,o;return e.hasAttribute("data-imu-valid")?!!gn(e.getAttribute("data-imu-valid")):(o=Qn(t=e),o=!(!Jn(o,ha(t))||"A"===t.tagName&&!Ln(o,t)),e.setAttribute("data-imu-valid",o+""),o)}function Ho(e){var t;return e.hasAttribute("data-imu-supported")?!!gn(e.getAttribute("data-imu-supported")):(t=ea(e),e.setAttribute("data-imu-supported",t+""),t)}var $o,Fo,Oo,Go,Bo=function(){function l(i,e,t,o){if(!i||!i.data||!i.data.obj)return si("Invalid data",i,e),o();var r=i.data.obj.url;if(i.data.resp){if(!i.data.resp.finalUrl)return si("Unable to load image from",i,e),o();r=i.data.resp.finalUrl}i.data.img&&("VIDEO"===i.data.img.tagName&&i.data.img.pause(),r=Qn(i.data.img));var n=i.data.obj||{},a=n.url,s=null;if(kn(d,a))return o();function l(e){if(vt(n,a,i.data.respdata),s=n.filename,(s=e&&!s?"download":s)&&s in c){for(var t,o=1,r=qn(s,{split_ext:!0});t=r[0]+" ("+o+++")",r[1]&&(t+="."+r[1]),t in c;);s=t}}function u(){bi.gallery_zip_add_info_file&&(m[e._replace_id]=_(s,n,a,e)),p[e._replace_id]={obj:n,filename:s},o()}wn(d,a),"jdownloader"===h?(l(!1),u()):ln({url:r,headers:n.headers},{onload:function(e){l(!0),c[s]=e.data,u()},onprogress:t})}function t(e){Ao({images:e,all_els_ok:!0,replace_image_func:function(e,n,a,s,t){t={automatic:!0,multi:!0,use_head:!1,incomplete_image:!1,incomplete_video:!0,deny_nondirect_delivery:!0,deny_cache:!0,null_if_no_change:!bi.gallery_download_unchanged,use_last_pos:!1,progress_cb:t};"jdownloader"===h&&(t.use_head=!0,t.incomplete_image=!0,t.incomplete_video=!0),Yt(n,t,function(e,t,o,r){if(s(),!r)return void 0!==t||bi.gallery_download_unchanged?(si("Unable to download",t,n),bi.gallery_zip_add_info_file&&u.push(((t={}).num_in_gallery=(i=n)._replace_id+1,(i=i.src)&&(t.url=g(i)),t))):li("Not downloading unchanged image",n),a();var i;l(r,n,function(e){},a)})},finalcb:function(t){var e,o,r,i,n,a;"zip"===h&&!Object.keys(c).length||!p.length?(si("No files!"),t(1)):(e=function(){for(var e=0;e<p.length;e++)if(p[e]&&p[e].obj)return p[e].obj}(),s||!e||((e=_i(e.format_vars)).ext=".zip",e.items_amt=Object.keys(p).length.toString(),s=(s=kt(bi.gallery_zip_filename_format,e))||"download",/\.zip$/i.test(s))||(s+=".zip"),e=(s=s||"download.zip").replace(/\.zip$/i,""),o=null,bi.gallery_zip_add_tld&&(o=e),bi.gallery_zip_add_info_file&&(c["info.txt"]=function(){var e=f(),t=[];t.push(" --- Page info ---",""),t.push(ei(e,null,"\t")),t.push(""," --- Files ---","");for(var o,r=0;r<p.length;r++)p[r]&&p[r].filename&&(o=p[r].filename,t.push(o),t.push(ei(m[r],null,"\t")),t.push(""));return u.length&&(t.push(""," --- Failed ---",""),mi(u,function(e){t.push(ei(e,null,"\t")),t.push("")})),v(t.join("\n"))}()),B(),"jdownloader"===h?Lo(p,e,function(e){t(1),(e?Ee:b)()}):(r=c,i=o,n=function(e){t(1),e?(Ee(),tn(e,s)):b()},a=t,Rn("jszip",bi,fi,function(e){if(!e)return n(null);var t,e=new e,o=e;for(t in i&&(o=e.folder(i)),r)o.file(t,r[t]);e.generateAsync({type:"blob"},function(e){a(e.percent/100)}).then(function(e){n(e)},function(e){si(e),n(null)})})))},finalcb_progress:.1})}var c={},d=yn(),p=[],m={},u=[],s=null,h=xi("gallery_download_method"),g=function(e){return/^https?:\/\//i.test(e)?e:e.substr(0,1e3)},f=function(){var e={};e.url=Jr;try{var t=Ni().location.href;t!==Jr&&(e.url_orig=Jr,e.url=t),e.title=document.title,e.download_time=(new Date).toString()}catch(e){si(e)}return e},_=function(e,t,o,r){var i={},r=(i.num_in_gallery=r._replace_id+1,i.download_url=g(o),t.headers&&(i.download_headers=t.headers),r.src);return r&&r!==o&&(i.thumb_url=g(r)),t.filename!==(i.filename=e)&&(i.orig_filename=t.filename),t.filesize&&(i.filesize=t.filesize),t.extra&&hi(t.extra,function(e,t){null!==t&&""!==t&&(i["extra_"+e]=t)}),i},v=function(e){return e.replace(/\r*\n/g,"\r\n")};eo(function(e){t(e)})},Wo=null,Vo="imu-"+Oi(10)+"-highlight",Xo=function(){Do(),Wo&&(Wo.innerText="."+Vo+"{"+mt(bi.highlightimgs_css)+"}")},a=($o=yi.highlightimgs_css.onupdate,yi.highlightimgs_css.onupdate=function(){if(Xo(),$o)return $o.apply(this,arguments)},[]),Yo=function(e){if(!ra()||!bi.mouseover_exclude_imagetab){var t=(e=e||{}).images;if((t=void 0===t?fo():t).length)for(var o,r=0;r<t.length;r++)Po(t[r])&&(o=!bi.highlightimgs_onlysupported,bi.highlightimgs_onlysupported&&(o=Ho(t[r])),e.hoveronly||(o?(e.is_auto&&oi(a,t[r])<0&&a.push(t[r]),jo):Mo)(t[r]))}};function Zo(){bi.highlightimgs_enable?Fo||(Oo=on("Highlight images",Yo),Fo=!0):Fo&&(rn(Oo),Fo=!1)}Fo=!1,Oo=null,Zo(),Go=yi.highlightimgs_enable.onupdate,yi.highlightimgs_enable.onupdate=function(){if(Zo(),Go)return Go.apply(this,arguments)};function Ko(){if(!Ae){var e=xi("mouseover_trigger_enabledisable_toggle");if(_(bi.mouseover_trigger_prevent_key)){if("disable"===e)return}else if("enable"===e)return;return m="mouse"}}var Jo=function(e){ra()&&bi.mouseover_exclude_imagetab||("hover"!==xi("highlightimgs_auto")||!Po(e.target)||bi.highlightimgs_onlysupported&&!Ho(e.target)||(oi(a,e.target)<0&&a.push(e.target),jo(e.target)),y()&&bi.mouseover_trigger_mouseover&&!f&&!Ot()&&(O=e.target,Gr(e),f=setTimeout(function(){O=null,f&&(clearTimeout(f),f=null),Ko()&&Vt()},1e3*g)))},Qo=function(e){"hover"===xi("highlightimgs_auto")&&Po(e.target)&&Mo(e.target),y()&&bi.mouseover_trigger_mouseover&&f&&O===e.target&&(clearTimeout(f),f=null)};function er(e){var t=xi("highlightimgs_auto");"always"!==t&&"hover"!==t||Yo({images:e,hoveronly:"hover"===t,is_auto:!0});for(var o=0;o<e.length;o++)Li(e[o],"mouseover",Jo),Li(e[o],"mouseout",Qo),ii(e[o],"mouseover",Jo),ii(e[o],"mouseout",Qo);bi.replaceimgs_auto&&Ao({images:e,use_progressbar:!1,use_elcache:!0})}if(!Si()&&dn(window.location.href)){var tr,or={childList:!0,subtree:!0,attributes:!0},$=function(){return new MutationObserver(function(e,t){for(var r=[],i=function(e){for(var t,o=0;o<e.length;o++)t=e[o],(bo(t)||bi.mouseover_links&&"A"===t.tagName)&&r.push(e[o]),e[o].children&&i(e[o].children)},o=0;o<e.length;o++){var n=e[o];n.addedNodes&&i(n.addedNodes),!n.target||"attributes"!==n.type||"src"!==n.attributeName&&"href"!==n.attributeName&&"srcset"!==n.attributeName||i([n.target])}0<r.length&&er(r)})},rr=function(){Si()||(er(fo()),tr&&tr.observe(document,or))},ir=function(){for(var e=0;e<a.length;e++)Mo(a[e]);a=[]},nr=function(){ir(),tr&&tr.disconnect()},ar=(Ei.push(nr),function(){var e=xi("highlightimgs_auto");return"always"===e||"hover"===e||bi.replaceimgs_auto||y()&&bi.mouseover_trigger_mouseover});try{tr=$()}catch(e){li(e)}ar()&&rr();function sr(){(ar()?("always"!==xi("highlightimgs_auto")&&ir(),rr):nr)()}var lr=yi.highlightimgs_auto.onupdate,ur=(yi.highlightimgs_auto.onupdate=function(){lr&&lr(),sr()},yi.imu_enabled.onupdate);yi.imu_enabled.onupdate=function(){ur&&ur.apply(this,arguments),(bi.imu_enabled?sr:nr)()}}function cr(t){try{t.play()}catch(e){li("Unable to autoplay",t,e)}}function dr(e){x=e.clientX,C=e.clientY,e.pageX,e.pageY}function pr(e,t){if(!1===t)try{e.preventDefault(),e.stopImmediatePropagation(),e.stopPropagation()}catch(e){}return t}function mr(o){if(!qi&&(Yr&&ui("input","keydown_cb",o),v())&&("wheel"!==o.type||!aa(d))){if("keydown"===o.type){if(o.repeat)return;if(ot)return;if(bi.disable_keybind_when_editing&&o.target){var e=Lr.get(o.target);if(void 0===e&&(e=function(e){if("TEXTAREA"===e.tagName)return!0;if("INPUT"===e.tagName&&(!e.hasAttribute("type")||"text"===e.getAttribute("type")))return!0;do{if(e.hasAttribute("contenteditable"))return!0}while(e=e.parentElement);return!1}(o.target),Lr.set(o.target,e,60)),!0===e)return}}var r=void 0,i=[],e=(Mt(o,!0),function(e){var t,o=!0,r=na(e,o="mouseup"!==e.type&&"keyup"!==e.type?o:!1),i=[];for(t in r)i.push(t+":"+r[t]);return o+" "+i.join(",")+" "+e.timeStamp}(o));if(Dr.has(e))return pr(o,Dr.get(e));if(Zr&&bi.extension_contextmenu&&"mousedown"===o.type&&_(["shift","button2"])&&dr(o),!jr||!1!==(r=jr(o))){if(bi.mouseover&&"keyboard"===xi("mouseover_trigger_behavior")){for(var t=[bi.mouseover_trigger_key],n=0;n<fn;n++)t.push(bi["mouseover_trigger_key_t"+(n+2)]);mi(t,function(e,t){jt(o,e)&&(_(e)&&!ze&&(H={},f||(i.push({requires_mouse:!0,type:"trigger_popup",trigger:"keyboard"}),r=!1,h=e),S=t?t+1:null,"popup"!==W("mouseover_open_behavior"))&&Rt(),"all"===(t=$t())||"any"===t&&_(e))&&(Ne[0]=!1)})}if(bi.replaceimgs_enable_keybinding&&_(bi.replaceimgs_keybinding)&&(i.push({type:"replace_images"}),r=!1,h=bi.replaceimgs_keybinding),bi.highlightimgs_enable_keybinding&&_(bi.highlightimgs_keybinding)&&(i.push({type:"highlight_images"}),r=!1,h=bi.highlightimgs_keybinding),bi.customgallery_enable_keybinding&&_(bi.customgallery_keybinding)&&(i.push({type:"custom_gallery"}),r=!1,h=bi.customgallery_keybinding),bi.mouseover&&!1!==r)for(var a=c||Ir(),s=[{key:bi.mouseover_close_key,action:{type:"resetpopups"}},{key:bi.mouseover_gallery_prev_key,action:{type:"gallery_prev"},requires:bi.mouseover_enable_gallery},{key:bi.mouseover_gallery_next_key,action:{type:"gallery_next"},requires:bi.mouseover_enable_gallery},{key:bi.mouseover_download_key,clear:!0,action:{type:"download"}},{key:bi.mouseover_open_new_tab_key,clear:!0,action:{type:"open_in_new_tab"}},{key:bi.mouseover_open_bg_tab_key,action:{type:"open_in_new_tab",background_tab:!0}},{key:bi.mouseover_copy_link_key,action:{type:"copy_link"},requires:bi.write_to_clipboard},{key:bi.mouseover_open_options_key,clear:!0,action:{type:"open_options"}},{key:bi.mouseover_open_orig_page_key,clear:!0,action:{type:"open_orig_page"}},{key:bi.mouseover_rotate_left_key,action:{type:"rotate_left"}},{key:bi.mouseover_rotate_right_key,action:{type:"rotate_right"}},{key:bi.mouseover_flip_horizontal_key,action:{type:"flip_horizontal"}},{key:bi.mouseover_flip_vertical_key,action:{type:"flip_vertical"}},{key:bi.mouseover_zoom_in_key,action:{type:"zoom_in"}},{key:bi.mouseover_zoom_out_key,action:{type:"zoom_out"}},{key:bi.mouseover_zoom_full_key,action:{type:"zoom_full"}},{key:bi.mouseover_zoom_fit_key,action:{type:"zoom_fit"}},{key:bi.mouseover_fullscreen_key,action:{type:"fullscreen"}},{key:bi.mouseover_video_seek_left_key,action:{type:"seek_left"}},{key:bi.mouseover_video_seek_right_key,action:{type:"seek_right"}},{key:bi.mouseover_video_frame_prev_key,action:{type:"frame_left"}},{key:bi.mouseover_video_frame_next_key,action:{type:"frame_right"}},{key:bi.mouseover_video_speed_down_key,action:{type:"speed_down"}},{key:bi.mouseover_video_speed_up_key,action:{type:"speed_up"}},{key:bi.mouseover_video_reset_speed_key,action:{type:"reset_speed"}},{key:bi.mouseover_video_volume_up_key,action:{type:"volume_up"}},{key:bi.mouseover_video_volume_down_key,action:{type:"volume_down"}},{key:bi.mouseover_video_mute_key,action:{type:"toggle_mute"}},{key:bi.mouseover_video_controls_key,action:{type:"toggle_controls"}},{key:bi.mouseover_video_playpause_key,action:{type:"toggle_play_pause"}},{key:bi.mouseover_video_screenshot_key,clear:!0,action:{type:"screenshot_video"}},{key:bi.mouseover_ui_toggle_key,action:{type:"toggle_ui"}},{key:bi.mouseover_gallery_download_key,action:{type:"download_gallery"},clear:!0},{key:bi.mouseover_hold_key,action:{type:"toggle_hold"}}],n=0;n<s.length;n++)if(s[n].key&&_(s[n].key)&&(!("requires"in s[n])||s[n].requires)){var l=s[n].action;l.needs_popup=!0,i.push(l),s[n].clear&&Rt(),a&&(h=s[n].key,r=!1);break}if(h=h&&h.length?_i(h):[],i&&0<i.length){for(var u=0;u<d.length;u++)sa(d[u])&&(d.splice(u,1),u--);for(n=0;n<i.length;n++)Rr(i[n]);!function(e){if(Qi()){var t="top",o=!0;if(!Qr&&"top"===(t=k)){if(o=!1,!c)return;t=c}for(var r=0;r<e.length;r++)!o&&e[r].requires_mouse&&(e.splice(r,1),r--);0<e.length&&Xi(t,{type:"action",data:e})}}(i)}!1===r&&Dr.set(e,r,5)}return pr(o,r)}}function hr(e){if(Yr&&ui("input","keyup_cb",e),v()&&(Mt(e,!1),bi.mouseover)){var t,o=void 0,r=bi.mouseover_trigger_key,i=function(e,t,o){o=Na(o);for(var r=0;r<o.length;r++)if(Pt(e,t,o[r]))return!0;return!1}(e,!1,r=S?bi["mouseover_trigger_key_t"+S]:r),n=$t(),r=(i&&"all"===n&&(i=!Ht(0,r)),ze);if(r||(bi.mouseover_cancel_popup_when_release||bi.mouseover_close_need_mouseout&&!Ne[1])&&(r=!0),!i||"esc"===n||"keyboard"!==m||!r){if(27===e.which){if(Ae&&"mouse"===m&&!bi.mouseover_cancel_popup_with_esc)return;Ee(),Ue()}if(0<h.length)for(t in na(e,!1)){var a=oi(h,t);0<=a&&(h.splice(a,1),o=!1)}return pr(e,o)}!bi.mouseover_close_need_mouseout||Ne[1]?(Ee(),Ue()):Ne[0]=!0}}var gr=function(){var e=ye[0].getElementsByTagName("video");return 0<(e=0===e.length?ye[0].getElementsByTagName("img"):e).length?e[0]:null},fr=function(){en(ke,ke.filename,je)},_r=function(){ke.media_info&&ke.media_info.delivery&&bi.enable_stream_download?(B(),Q(ke,function(e){e?ge(function(r){var n,a;r?(Ee(),n=ho(!0),a=0,me(ke,e,function(e){var t,o,r,i=Date.now();50<i-a&&(a=i,i=po(100*e.percent,2),t=mo(e.loaded),o=mo(e.total),r=e.total_accurate?"":"~",ai(t+" / "+r+o+" ("+i+"%)")),go(n,.9*e.percent,!0)},function(e){se(r,e,function(e){go(n,.9+.1*e,!0)},function(o){go(n,1,!0);var e=r.FS("readFile",o);Ri(e,function(e){var t=qn(o,{split_ext:!0})[1],t=qn(ke.filename||"download",{split_ext:!0,known_ext:!0})[0]+"."+t;tn(e,t,function(){r.FS("unlink",o)})})})})):b()}):b()})):fr()},s=function(){var e=ye[0].getElementsByTagName("video");return(e=e&&0!==e.length?e:ye[0].getElementsByTagName("audio"))&&0!==e.length?e[0]:null},vr=function(e,t){e=(e?-1:1)*(t=void 0===t?bi.mouseover_video_seek_amount:t),t=s();t&&(t.currentTime+=e)},br=function(e){var t=s();t&&(t.pause(),vr(e,1/bi.mouseover_video_framerate))},yr=function(e){var t,o=s();o&&("number"!=typeof e?(t=bi.mouseover_video_speed_amount,o.playbackRate+=t=!0===e?-t:t):o.playbackRate=e)},wr=function(e){var t,o=s();o&&("number"!=typeof e?(t=bi.mouseover_video_volume_change_amt,t=o.volume+(t=!0===e?-t:t)/100,t=pi(di(t,0),1),o.volume=t):o.volume=e)},kr=function(){var e=s();e&&(e.muted=!e.muted)},xr=function(){var e=s();e&&("controls"===e.getAttribute("controls")?e.removeAttribute("controls"):e.setAttribute("controls","controls"))},Cr=function(){var e=s();e&&(e.paused?cr(e):e.pause())},zr=function(){$e(!0,"toggle")},Nr=function(){return null!==document.fullscreenElement||document.fullscreen},Sr=function(){return Nr()&&E},qr=function(){gr().requestFullscreen().then(function(e){E=!0},function(e){si("Error loading fullscreen",e)})},Tr=function(){Nr()?(document.exitFullscreen(),E=!1):qr()},Ir=function(){return ze&&xe},Ar=function(){var e;ze&&(e=xi("popup_hold_zoom"),Ge&&"none"!==e&&Ge(Se?e:"last"),Oe&&bi.mouseover_hold_position_center&&(e=Oe(_e,ve,!0),ye[0].style.top=e[1]+"px",ye[0].style.left=e[0]+"px"),He())},Er=function(){Se=!Se,K(),Se||!Ne[1]&&!bi.mouseover_hold_close_unhold?Ar():Rr({type:"resetpopups"})},Ur=function(){var e,t,o,r=s();r&&(r=r,e=function(e){var t;e?((t=_i(ke.format_vars)).is_screenshot={usable:!0},t.ext=".png","jpg"===xi("popup_video_screenshot_format")&&(t.ext=".jpg"),t.filename=t.filename_noext+t.ext,t=kt(bi.filename_format,t),en({url:e},t)):(si("Unable to screenshot video"),b())},(t=ni("canvas")).width=r.videoWidth,t.height=r.videoHeight,t.getContext("2d").drawImage(r,0,0,t.width,t.height),r="image/png",o=xi("popup_video_screenshot_format"),e(Kn(t,r="jpg"===o?"image/jpeg":r)))},Rr=function(e){if(Yr&&ai("action_handler",e),!e.needs_popup||Ir()){switch(e.type){case"resetpopups":return Ue(),!0;case"replace_images":return Ao(),!0;case"highlight_images":return Yo(),!0;case"custom_gallery":return Uo(),!0;case"trigger_popup":return"keyboard"===e.trigger&&(m="keyboard"),Vt(),!0;case"gallery_prev":return ca(-1),!0;case"gallery_next":return ca(1),!0;case"download":return _r(),!0;case"open_in_new_tab":return an(ke,e.background_tab),!0;case"rotate_left":return uo(-90),!0;case"rotate_right":return uo(90),!0;case"flip_horizontal":return co(!1),!0;case"flip_vertical":return co(!0),!0;case"zoom_in":return qe("incremental",-1),!0;case"zoom_out":return qe("incremental",1),!0;case"zoom_full":return qe("fitfull",-1),!0;case"zoom_fit":return qe("fitfull",1),!0;case"fullscreen":return Tr(),!0;case"seek_left":return vr(!0),!0;case"seek_right":return vr(!1),!0;case"frame_left":return br(!0),!0;case"frame_right":return br(!1),!0;case"speed_down":return yr(!0),!0;case"speed_up":return yr(!1),!0;case"reset_speed":return yr(1),!0;case"volume_up":return wr(!1),!0;case"volume_down":return wr(!0),!0;case"toggle_mute":return kr(),!0;case"toggle_controls":return xr(),!0;case"toggle_play_pause":return Cr(),!0;case"open_options":return an({url:Gi()},!1),!0;case"open_orig_page":return ke&&ke.extra&&ke.extra.page?an({url:ke.extra.page},!1):ai("Unable to find original page for",ke),!0;case"hold":return Ar(),!0;case"toggle_hold":return Er(),!0;case"toggle_ui":return zr(),!0;case"copy_link":return ke&&ke.url?un(ke.url,function(e){e||li("Unable to write url to clipboard:",ke.url)}):li("Popup not open?"),!0;case"screenshot_video":return Ur(),!0;case"download_gallery":return Bo(),!0}return!1}},Lr=new xn,Dr=new xn,jr=null;function Mr(){var e=document.documentElement,t=document.body;return(e&&e.scrollLeft||t&&t.scrollLeft||0)-(e&&e.clientLeft||t&&t.clientLeft||0)}function Pr(){var e=document.documentElement,t=document.body;return(e&&e.scrollTop||t&&t.scrollTop||0)-(e&&e.clientTop||t&&t.clientTop||0)}var Hr=function(){return bi.mouseover_move_with_cursor&&!Se};function $r(a,e,s,l){var u,i,c,d,p,t,n,o,r=xi("mouseover_pan_behavior"),m=Hr();("drag"!==r||0!==e.buttons&&Te||m)&&(u=ct(),i=ci(bi.mouseover_drag_min),c=!1,e=function(e){var t=parseInt(e?a.style.top:a.style.left),o=e?De:Le,r=(e?l:s)-(e?Qe:Je);r!==t&&(Ie||$i(r-t)>=i)&&(t=r-(t-o),e?(De=t,a.style.top=r+"px"):(Le=t,a.style.left=r+"px"),c=Ie=!0)},t=function(e){d||(d=ye&&ye[0]?(t=Date.now(),(!U||50<t-R)&&(U=V(ye[0]),R=t),U):null,p=Tt());var t=e?d.height:d.width,o=e?p.height:p.width,r=(o-t)/2,i=($i(r)<20&&(o=t,r=0),e?u[1]:u[0]),n=e?l:s;bi.mouseover_movement_inverted||(n=i-n),i<o&&(n=pi(di(n-40,0),i-80)/(i-80)*(i-o-40)+r+20+"px",e?a.style.top=n:a.style.left=n,c=!0)},n=p=d=null,o=function(e){var t=parseInt(e?a.style.top:a.style.left),o=e?l:s,r=o-(e?tt:et)+t;(r=bi.mouseover_move_within_page&&Oe?(n=n||Oe(s,l,!1))[e?1:0]:r)!==t&&(t=o,e?(tt=t,a.style.top=r+"px"):(et=t,a.style.left=r+"px"))},"drag"===r&&Te?(e(!1),e(!0)):"movement"===r&&(t(!1),t(!0)),m&&(o(!1),o(!0)),c)&&(be=!1)}function Fr(t,o,r){if(Yr&&ai("ON_REMOTE_MESSAGE",t,o,r),"make_popup"===t.type)Qr||(Ue(),i=t.data.data.data.img,n=function(e){t.data.data.data.img=e,c=o,u=xe=null,xt(t.data.source_imu,t.data.src,t.data.processing,t.data.data)},a=ni(i.tag),"video"!==i.tag&&"audio"!==i.tag||(i.autoplay&&a.setAttribute("autoplay",i.autoplay),i.controls&&a.setAttribute("controls",i.controls),i.loop&&a.setAttribute("loop",i.loop),i.muted&&(a.muted=i.muted),void 0!==i.volume&&(a.volume=i.volume),a.onloadedmetadata=function(){n(a)}),i.crossorigin&&a.setAttribute("crossorigin",i.crossorigin),a.src=i.src,"video"!==i.tag&&"audio"!==i.tag&&n(a));else if("count_gallery"===t.type)Qt(t.data.nextprev,t.data.max,t.data.is_counting,void 0,void 0,function(e){r(e)});else if("is_nextprev_valid"===t.type)oo(t.data.nextprev,function(e){r(e)});else if("trigger_gallery"===t.type)ca(t.data.dir,function(e){r(e)});else if("resetpopups"===t.type)Ue({from_remote:!0});else if("mousemove"===t.type)Xr(t.data);else if("action"===t.type)for(var e=0;e<t.data.length;e++)t.data[e].remote_origin=o,Rr(t.data[e]);else"popup_open"===t.type&&(c=o,p=null);var i,n,a}function Or(t){var e,o;"remote"===t.type?(e=zi,t.response_id&&(o=t.response_id,e=function(e){Yi(t.from,o,e)}),t.from===Ki||t.to&&Ki!==t.to||Fr(t.data,t.from,e)):"remote_reply"===t.type&&t.response_id in Zi&&(o=t.response_id,delete t.response_id,Zi[o](t.data))}function Gr(e){if(null===e.pageX&&null!==e.clientX&&(e.pageX=e.clientX+Mr(),e.pageY=e.clientY+Pr()),Qi()){if(e.remote_info&&e.remote_info.id!==Ki){var t=Wi(e.remote_info);if(!t)return;t=V(t);e.clientX+=t.left,e.clientY+=t.top,e.pageX+=t.left+window.scrollX,e.pageY+=t.top+window.scrollY}else Qr&&(Vr=e,t=16,(t=(t=bi.mouseover_use_remote?t:300)-(Date.now()-Br))<1&&(t=1),Wr=Wr||setTimeout(function(){"remote_info"in Vr||(Vr.remote_info=Bi()),Wr=null,Br=Date.now(),Xi("top",{type:"mousemove",data:hn(Vr)})},t));k=e.remote_info?e.remote_info.id:Ki}_e=e.clientX,ve=e.clientY,e.pageX,e.pageY}Zr?chrome.runtime.onMessage.addListener(function(e,t,o){Yr&&ai("chrome.runtime.onMessage",e),"context_imu"===e.type?k===Ki&&(m="contextmenu",Vt({is_contextmenu:!0})):"popupaction"===e.type?"replace_images"===e.data.action?Ao():"highlight_images"===e.data.action?Yo():e.data.action in nn&&nn[e.data.action].func():"remote"===e.type||"remote_reply"===e.type?Or(e):"suspend"===e.type?Ui(!0):"unsuspend"===e.type?Ui(!1):Sa(e,0,o)}):ii(Ni(),"message",function(e){Yr&&ai("window.onMessage",e),Qi()&&e.data&&"object"==typeof e.data&&Ji in e.data&&(Or(e.data[Ji]),e.preventDefault(),e.stopPropagation(),e.stopImmediatePropagation())},{capture:!0,passive:!1});var Br=0,Wr=null,Vr=null,Xr=(ia(function(){var e={capture:!0,passive:!1};ii(document,"keydown",mr,e),ii(document,"mousedown",mr,e),ii(document,"contextmenu",mr,e),ii(document.body,"contextmenu",mr,e),ii(document,"wheel",mr,e),ii(document,"keyup",hr,e),ii(document,"mouseup",hr,e),ii(document,"contextmenu",dr);ii(document,"wheel",function(e){if(bi.scroll_override_page&&ze&&Fe)return Fe(e,!0)},{passive:!1}),"bilibili.com"===rt&&0<=navigator.userAgent.indexOf("Chrome/")&&ii(document,"wheel",function(e){var t=document.createEvent("MouseEvents");t.initEvent("mousewheel",!0,!0),t.wheelDelta=e.wheelDelta,t.detail=e.detail,t.deltaMode=e.deltaMode,t.target=e.target,t.srcElement=e.srcElement,document.dispatchEvent(t)})}),function(e){w=!0,e=e||window.event,Gr(e),j&&G(),ze&&$r(ye[0],e,_e,ve);var e=bi.mouseover_jitter_threshold,t="keyboard"===m&&Ft()&&ze,o="mouse"===m;if(t||o)if(ze){f&&(clearTimeout(f),f=null);function r(){Se?Ne[1]=!0:Ue()}var i,t=40,n=t,a=null,s=null,l=!1,u=(gr()&&(d=Tt(),l=Y(_e,ve,d,e),u=d.width,c=d.height,a=d.x+d.width/2,s=d.y+d.height/2,t=di(t,u/2),n=di(n,c/2),t+=e,n+=e,!1===be)&&Y(_e,ve,d)&&(be=!0),xi("mouseover_close_el_policy")),c=("thumbnail"===u||"both"===u)&&xe&&!Ce,e=!1,d=!1;if(c)if((i=V(xe))&&0<i.width&&0<i.height){l="thumbnail"===u?!1:l;if(!Y(_e,ve,i)&&!l&&(e=!0,"thumbnail"===u))return r()}else d=!0;Ne[1]=!1,be&&(!c||e||d)?a&&s&&($i(_e-a)>t||$i(ve-s)>n)&&r():c&&e&&r()}else o&&Ae&&I&&bi.mouseover_cancel_popup_when_elout&&(i=V(I),Y(_e,ve,i)||Ue());if(y()&&(!ze||Ce)&&!Ot()){if(f&&!bi.mouseover_trigger_mouseover){if($i(_e-z)<10&&$i(ve-N)<10)return;clearTimeout(f),f=null}z=_e,N=ve,p&&(i=V(p),Y(_e,ve,i)||(p=null)),bi.mouseover_trigger_mouseover||(f=setTimeout(function(){Ko()&&Vt()},1e3*g))}});ia(function(){ii(document,"mousemove",Xr)}),on("Report issue",Ti)}function $r(e,t){var o,r=ni("div"),i=(r.style.marginBottom="2em",ni("span")),n=(i.style.fontSize="90%",i.style.fontWeight=800,i.style.marginRight="2em",null);try{n=w.script.version}catch(e){}Gr(i)||(i.innerText="Installed",null!==n&&(i.innerText+=" (v"+n,t&&-1===we(t,n)&&(i.innerText+=", update available"),i.innerText+=")"),(o=ni("a")).innerText="Options",o.style.background="#0af",o.style.padding="0.5em 1em",o.style.color="white",o.style.display="inline-block",o.style.textDecoration="none",o.target="_blank",o.href="https://qsniyg.github.io/maxurl/options.html"),r.appendChild(i),c||r.appendChild(o),e.parentElement.appendChild(r)}var Fr,Or,Gr=function(e){if(!c)return!1;e.style.color="#ff3333",e.innerText="Error: Rules cannot be loaded.\nPlease either try reinstalling the script, or ";var t=document.createElement("a"),t=(t.href=u,t.target="_blank",t.innerText="install the github version",e.appendChild(t),document.createElement("p"));t.innerText="Error reason:",t.style.color="#000",t.style.marginTop="1em",t.style.marginBottom="1em";try{var o=document.createElement("pre");o.style.color="#000",o.innerText=c.message,e.appendChild(t),e.appendChild(o)}catch(e){si(e)}return!0},Br=function(){var e,t,o=(o=document.querySelector("div.script-author-description > center > img[alt='Image Max URL']"))||document.querySelector("#additional-info > center > img[alt='Image Max URL']");o&&!o.parentElement.previousElementSibling&&"UL"===o.parentElement.nextElementSibling.tagName&&(e=null,(t=document.querySelector("dd.script-show-version"))&&(e=t.innerText.replace(/^\s*|\s*$/,"")),$r(o,e))},Wr=function(){var e,t,o=document.querySelector("div#user-content > p[align='center'] img[alt='Image Max URL']");!o||o.parentElement.previousElementSibling&&"HR"!==o.parentElement.previousElementSibling.tagName||"UL"!==o.parentElement.nextElementSibling.tagName||(e=null,(t=document.querySelector("div.script-meta i.fa-history"))&&(t=t.parentElement.querySelector("code"))&&(e=t.innerText.replace(/[+].*/,""),/^[0-9.]+$/.test(e)||(e=null)),$r(o,e))},Vr=function(){var e=function(e){for(var t={_positional:[]},o=2;o<process.argv.length;o++){var r=process.argv[o];if("-"!==r[0])t._positional.push(r);else{if("--"===r){Di(t._positional,process.argv.slice(o+1));break}for(var i=null,n=null,a=null,s=("-"===r[1]?n=r.substr(2):i=r.substr(1),null),l=0,u=e;l<u.length;l++){var c=u[l];if(i&&c.short===i){s=c;break}if(n&&c.long===n){s=c;break}}if(!s)return console.error("Unable to find argument:",process.argv[o]),null;if(s.needs_arg){if(++o>=process.argv.length)return console.error("Argument",process.argv[o-1],"needs an argument"),null;a=process.argv[o]}else a=!0;t[s.name]=a}}return t}({});e&&(e._positional.length?(e=e._positional[0],ki(e,{fill_object:!0,cb:function(e){console.log(ei(e,null,"\t"))}})):console.error("Usage:",process.argv[0],process.argv[1],"url"))};function Xr(){var e;$$IMU_EXPORT$$=ki,p?module.exports=ki:h&&(imu_variable=ki),v?((n||qi)&&ia(function(){dr()}),qi&&ia(function(){try{hr()}catch(e){si(e);var t=ni("pre"),o=(t.style.fontFamily="monospace",t.style.margin="1em",t.innerText=Oe()+"\n"+e.toString()+"\n"+e.stack,ni("div")),r="Error loading options page, please report this to <a href='"+Ti+"'>"+Ti+"</a>, ";o.innerHTML=r+="and include the following information in the report:",o.appendChild(t),document.body.innerHTML=o.outerHTML}}),bi.imu_enabled&&(bi.redirect&&(bi.redirect_host_html||ra())&&(Qo(),e=!1,bi.redirect_force_page+""=="true"&&(e=!0),ar(window.location.href,e,Xo)),bi.website_inject_imu)&&(window.location.href.match(/^https?:\/\/qsniyg\.github\.io\/+maxurl(\/+|\/+index\.html)?(?:[?#].*)?$/)||window.location.href.match(/^file:\/\/.*\/maxurl\/site\/index\.html/))&&"undefined"!=typeof unsafeWindow&&ia(function(){var r;c||(unsafeWindow.imu_variable=ki,unsafeWindow.imu_inject=1,unsafeWindow.do_imu=function(e,t){return ki(e,{fill_object:!0,do_request:fi,cb:t})},r=unsafeWindow.set_max,unsafeWindow.set_max=function(o){var s;o&&o[0].url?(s=function(r,i,n,a){wa(r,function(t,e){var o=e;(o=!e&&t&&t.finalUrl?t.finalUrl:o)?Yn(r,o)<0&&a!==o?ki(o,{fill_object:!0,do_request:fi,cb:function(e){va(t),s(e,i,n,o)}}):i(t,e,r[Yn(r,o)]):i(t,e)},n)},bi.website_image?s(o,function(e,t,o){e?(r([o||{url:t}]),unsafeWindow.maximgel.src=e.src):r("broken")},{running:!0}):o.can_head?s(o,function(e){var t;e?(t=(t=o)||{url:e.finalUrl},r([t])):r("broken")},{running:!0,head:!0}):r(o)):r(o)})}),_e&&(window.location.href.match(/^https?:\/\/(?:www\.)?greasyfork\.org\/+[^/]*\/+scripts\/+36662(?:-[^/]*)?(?:[?#].*)?$/)?ia(function(){Br()}):window.location.href.match(/^https?:\/\/(?:www\.)?openuserjs\.org\/+scripts\/+qsniyg\/+Image_Max_URL(?:[?#].*)?$/)&&ia(function(){Wr()})),Hr(),Zr&&Kr({type:"ready"})):o?imu_userscript_message_sender=Sa:m&&Vr()}Yr&&ai("Finished initial loading"),Yr&&ai("do_config"),_e||Zr?(Fr=0,Or=Object.keys(bi).length+Xe.length,(Ge=function(o){vr(o,function(e){if(Fr+=o.length,hi(e,function(e,t){Cr(e,t)}),Or<=Fr){var t=function(e){var t=function(){Xr()};"undefined"!=typeof GM_addValueChangeListener&&setTimeout(function(){for(var e in bi)GM_addValueChangeListener(e,function(e,t,o,r){!1!==r&&((r={})[e]={newValue:o},kr(r))})},1),t()};try{fo()}catch(e){si(e)}bi.last_update_check||ve("last_update_check",Date.now()),lo(),br("settings_version",function(e){xr(e,bi,t)})}})})(Object.keys(bi)),Ge(Xe)):Xr()}();