From 44e1d86d5037f4e767d2992eadab97b39f2c1b2d Mon Sep 17 00:00:00 2001 From: goodtube4u Date: Thu, 13 Nov 2025 10:17:05 +1000 Subject: [PATCH] Playlist fix --- goodtube.js | 10 +++++++++- goodtube.min.js | 22 +++++++++++----------- 2 files changed, 20 insertions(+), 12 deletions(-) diff --git a/goodtube.js b/goodtube.js index 8c8ec3a..3a8dff7 100644 --- a/goodtube.js +++ b/goodtube.js @@ -826,6 +826,14 @@ goodTube_player_populatePlaylistInfo_timeout = setTimeout(goodTube_player_populatePlaylistInfo, 100); } } + // Otherwise, we don't have access to the frame API + else { + // Clear timeout first to solve memory leak issues + clearTimeout(goodTube_player_populatePlaylistInfo_timeout); + + // Try again + goodTube_player_populatePlaylistInfo_timeout = setTimeout(goodTube_player_populatePlaylistInfo, 100); + } } // Load a video @@ -1454,7 +1462,7 @@ // Prevent default actions event.preventDefault(); event.stopImmediatePropagation(); - + // Swap media key to spacebar when we pass it down. This ensures that the play / pause works correctly let event_key = event.key; let event_keyCode = event.keyCode; diff --git a/goodtube.min.js b/goodtube.min.js index 2f105be..42c77a2 100644 --- a/goodtube.min.js +++ b/goodtube.min.js @@ -1,8 +1,8 @@ -(()=>{(function(){"use strict";var Gi=Object.defineProperty,f=(e,t)=>Gi(e,"name",{value:t,configurable:!0}),{entries:po,setPrototypeOf:fo,isFrozen:Qi,getPrototypeOf:ji,getOwnPropertyDescriptor:qi}=Object,{freeze:R,seal:z,create:kt}=Object,{apply:wt,construct:At}=typeof Reflect<"u"&&Reflect;R||(R=f(function(e){return e},"freeze")),z||(z=f(function(e){return e},"seal")),wt||(wt=f(function(e,t){for(var i=arguments.length,a=new Array(i>2?i-2:0),l=2;l1?t-1:0),a=1;a1?i-1:0),l=1;l2&&arguments[2]!==void 0?arguments[2]:Qe;fo&&fo(e,null);let a=t.length;for(;a--;){let l=t[a];if(typeof l=="string"){let u=i(l);u!==l&&(Qi(t)||(t[a]=u),l=u)}e[l]=!0}return e}f(c,"addToSet");function bo(e){for(let t=0;t/gm),oa=z(/\$\{[\w\W]*/gm),ia=z(/^data-[\-\w.\u00B7-\uFFFF]+$/),aa=z(/^aria-[\-\w]+$/),xo=z(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),na=z(/^(?:\w+script|data):/i),ra=z(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),vo=z(/^html$/i),da=z(/^[a-z][.\w]*(-[.\w]+)+$/i),ko=Object.freeze({__proto__:null,ARIA_ATTR:aa,ATTR_WHITESPACE:ra,CUSTOM_ELEMENT:da,DATA_ATTR:ia,DOCTYPE_NAME:vo,ERB_EXPR:ta,IS_ALLOWED_URI:xo,IS_SCRIPT_OR_DATA:na,MUSTACHE_EXPR:ea,TMPLIT_EXPR:oa}),Ne={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,progressingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12},la=f(function(){return typeof window>"u"?null:window},"getGlobal"),sa=f(function(e,t){if(typeof e!="object"||typeof e.createPolicy!="function")return null;let i=null,a="data-tt-policy-suffix";t&&t.hasAttribute(a)&&(i=t.getAttribute(a));let l="dompurify"+(i?"#"+i:"");try{return e.createPolicy(l,{createHTML(u){return u},createScriptURL(u){return u}})}catch{return console.warn("TrustedTypes policy "+l+" could not be created."),null}},"_createTrustedTypesPolicy"),wo=f(function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}},"_createHooksMap");function Ct(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:la(),t=f(o=>Ct(o),"DOMPurify");if(t.version="3.3.0",t.removed=[],!e||!e.document||e.document.nodeType!==Ne.document||!e.Element)return t.isSupported=!1,t;let{document:i}=e,a=i,l=a.currentScript,{DocumentFragment:u,HTMLTemplateElement:m,Node:k,Element:T,NodeFilter:w,NamedNodeMap:te=e.NamedNodeMap||e.MozNamedAttrMap,HTMLFormElement:oe,DOMParser:C,trustedTypes:ce}=e,ie=T.prototype,ct=ge(ie,"cloneNode"),Fe=ge(ie,"remove"),pt=ge(ie,"nextSibling"),U=ge(ie,"childNodes"),H=ge(ie,"parentNode");if(typeof m=="function"){let o=i.createElement("template");o.content&&o.content.ownerDocument&&(i=o.content.ownerDocument)}let _,B="",{implementation:ke,createNodeIterator:ft,createDocumentFragment:mt,getElementsByTagName:gt}=i,{importNode:Wa}=a,O=wo();t.isSupported=typeof po=="function"&&typeof H=="function"&&ke&&ke.createHTMLDocument!==void 0;let{MUSTACHE_EXPR:Jt,ERB_EXPR:Xt,TMPLIT_EXPR:$t,DATA_ATTR:Za,ARIA_ATTR:Ka,IS_SCRIPT_OR_DATA:Ja,ATTR_WHITESPACE:Ti,CUSTOM_ELEMENT:Xa}=ko,{IS_ALLOWED_URI:xi}=ko,A=null,vi=c({},[...yo,...It,...Lt,...Dt,..._o]),I=null,ki=c({},[...ho,...Mt,...To,...je]),x=Object.seal(kt(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),Ue=null,eo=null,we=Object.seal(kt(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}})),wi=!0,to=!0,Ai=!1,Ei=!0,Ae=!1,bt=!0,pe=!1,oo=!1,io=!1,Ee=!1,yt=!1,_t=!1,Si=!0,Ii=!1,$a="user-content-",ao=!0,He=!1,Se={},Ie=null,Li=c({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]),Di=null,Mi=c({},["audio","video","img","source","image","track"]),no=null,Ci=c({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),ht="http://www.w3.org/1998/Math/MathML",Tt="http://www.w3.org/2000/svg",X="http://www.w3.org/1999/xhtml",Le=X,ro=!1,lo=null,en=c({},[ht,Tt,X],Et),xt=c({},["mi","mo","mn","ms","mtext"]),vt=c({},["annotation-xml"]),tn=c({},["title","style","font","a","script"]),Ye=null,on=["application/xhtml+xml","text/html"],an="text/html",E=null,De=null,nn=i.createElement("form"),Ri=f(function(o){return o instanceof RegExp||o instanceof Function},"isRegexOrFunction"),so=f(function(){let o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(!(De&&De===o)){if((!o||typeof o!="object")&&(o={}),o=j(o),Ye=on.indexOf(o.PARSER_MEDIA_TYPE)===-1?an:o.PARSER_MEDIA_TYPE,E=Ye==="application/xhtml+xml"?Et:Qe,A=Y(o,"ALLOWED_TAGS")?c({},o.ALLOWED_TAGS,E):vi,I=Y(o,"ALLOWED_ATTR")?c({},o.ALLOWED_ATTR,E):ki,lo=Y(o,"ALLOWED_NAMESPACES")?c({},o.ALLOWED_NAMESPACES,Et):en,no=Y(o,"ADD_URI_SAFE_ATTR")?c(j(Ci),o.ADD_URI_SAFE_ATTR,E):Ci,Di=Y(o,"ADD_DATA_URI_TAGS")?c(j(Mi),o.ADD_DATA_URI_TAGS,E):Mi,Ie=Y(o,"FORBID_CONTENTS")?c({},o.FORBID_CONTENTS,E):Li,Ue=Y(o,"FORBID_TAGS")?c({},o.FORBID_TAGS,E):j({}),eo=Y(o,"FORBID_ATTR")?c({},o.FORBID_ATTR,E):j({}),Se=Y(o,"USE_PROFILES")?o.USE_PROFILES:!1,wi=o.ALLOW_ARIA_ATTR!==!1,to=o.ALLOW_DATA_ATTR!==!1,Ai=o.ALLOW_UNKNOWN_PROTOCOLS||!1,Ei=o.ALLOW_SELF_CLOSE_IN_ATTR!==!1,Ae=o.SAFE_FOR_TEMPLATES||!1,bt=o.SAFE_FOR_XML!==!1,pe=o.WHOLE_DOCUMENT||!1,Ee=o.RETURN_DOM||!1,yt=o.RETURN_DOM_FRAGMENT||!1,_t=o.RETURN_TRUSTED_TYPE||!1,io=o.FORCE_BODY||!1,Si=o.SANITIZE_DOM!==!1,Ii=o.SANITIZE_NAMED_PROPS||!1,ao=o.KEEP_CONTENT!==!1,He=o.IN_PLACE||!1,xi=o.ALLOWED_URI_REGEXP||xo,Le=o.NAMESPACE||X,xt=o.MATHML_TEXT_INTEGRATION_POINTS||xt,vt=o.HTML_INTEGRATION_POINTS||vt,x=o.CUSTOM_ELEMENT_HANDLING||{},o.CUSTOM_ELEMENT_HANDLING&&Ri(o.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(x.tagNameCheck=o.CUSTOM_ELEMENT_HANDLING.tagNameCheck),o.CUSTOM_ELEMENT_HANDLING&&Ri(o.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(x.attributeNameCheck=o.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),o.CUSTOM_ELEMENT_HANDLING&&typeof o.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements=="boolean"&&(x.allowCustomizedBuiltInElements=o.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),Ae&&(to=!1),yt&&(Ee=!0),Se&&(A=c({},_o),I=[],Se.html===!0&&(c(A,yo),c(I,ho)),Se.svg===!0&&(c(A,It),c(I,Mt),c(I,je)),Se.svgFilters===!0&&(c(A,Lt),c(I,Mt),c(I,je)),Se.mathMl===!0&&(c(A,Dt),c(I,To),c(I,je))),o.ADD_TAGS&&(typeof o.ADD_TAGS=="function"?we.tagCheck=o.ADD_TAGS:(A===vi&&(A=j(A)),c(A,o.ADD_TAGS,E))),o.ADD_ATTR&&(typeof o.ADD_ATTR=="function"?we.attributeCheck=o.ADD_ATTR:(I===ki&&(I=j(I)),c(I,o.ADD_ATTR,E))),o.ADD_URI_SAFE_ATTR&&c(no,o.ADD_URI_SAFE_ATTR,E),o.FORBID_CONTENTS&&(Ie===Li&&(Ie=j(Ie)),c(Ie,o.FORBID_CONTENTS,E)),ao&&(A["#text"]=!0),pe&&c(A,["html","head","body"]),A.table&&(c(A,["tbody"]),delete Ue.tbody),o.TRUSTED_TYPES_POLICY){if(typeof o.TRUSTED_TYPES_POLICY.createHTML!="function")throw Re('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof o.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw Re('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');_=o.TRUSTED_TYPES_POLICY,B=_.createHTML("")}else _===void 0&&(_=sa(ce,l)),_!==null&&typeof B=="string"&&(B=_.createHTML(""));R&&R(o),De=o}},"_parseConfig"),Ni=c({},[...It,...Lt,...Xi]),Oi=c({},[...Dt,...$i]),rn=f(function(o){let r=H(o);(!r||!r.tagName)&&(r={namespaceURI:Le,tagName:"template"});let n=Qe(o.tagName),b=Qe(r.tagName);return lo[o.namespaceURI]?o.namespaceURI===Tt?r.namespaceURI===X?n==="svg":r.namespaceURI===ht?n==="svg"&&(b==="annotation-xml"||xt[b]):!!Ni[n]:o.namespaceURI===ht?r.namespaceURI===X?n==="math":r.namespaceURI===Tt?n==="math"&&vt[b]:!!Oi[n]:o.namespaceURI===X?r.namespaceURI===Tt&&!vt[b]||r.namespaceURI===ht&&!xt[b]?!1:!Oi[n]&&(tn[n]||!Ni[n]):!!(Ye==="application/xhtml+xml"&&lo[o.namespaceURI]):!1},"_checkValidNamespace"),fe=f(function(o){Me(t.removed,{element:o});try{H(o).removeChild(o)}catch{Fe(o)}},"_forceRemove"),me=f(function(o,r){try{Me(t.removed,{attribute:r.getAttributeNode(o),from:r})}catch{Me(t.removed,{attribute:null,from:r})}if(r.removeAttribute(o),o==="is")if(Ee||yt)try{fe(r)}catch{}else try{r.setAttribute(o,"")}catch{}},"_removeAttribute"),Bi=f(function(o){let r=null,n=null;if(io)o=""+o;else{let h=St(o,/^[\r\n\t ]+/);n=h&&h[0]}Ye==="application/xhtml+xml"&&Le===X&&(o=''+o+"");let b=_?_.createHTML(o):o;if(Le===X)try{r=new C().parseFromString(b,Ye)}catch{}if(!r||!r.documentElement){r=ke.createDocument(Le,"template",null);try{r.documentElement.innerHTML=ro?B:b}catch{}}let L=r.body||r.documentElement;return o&&n&&L.insertBefore(i.createTextNode(n),L.childNodes[0]||null),Le===X?gt.call(r,pe?"html":"body")[0]:pe?r.documentElement:L},"_initDocument"),Pi=f(function(o){return ft.call(o.ownerDocument||o,o,w.SHOW_ELEMENT|w.SHOW_COMMENT|w.SHOW_TEXT|w.SHOW_PROCESSING_INSTRUCTION|w.SHOW_CDATA_SECTION,null)},"_createNodeIterator"),uo=f(function(o){return o instanceof oe&&(typeof o.nodeName!="string"||typeof o.textContent!="string"||typeof o.removeChild!="function"||!(o.attributes instanceof te)||typeof o.removeAttribute!="function"||typeof o.setAttribute!="function"||typeof o.namespaceURI!="string"||typeof o.insertBefore!="function"||typeof o.hasChildNodes!="function")},"_isClobbered"),zi=f(function(o){return typeof k=="function"&&o instanceof k},"_isNode");function K(o,r,n){Ge(o,b=>{b.call(t,r,n,De)})}f(K,"_executeHooks");let Vi=f(function(o){let r=null;if(K(O.beforeSanitizeElements,o,null),uo(o))return fe(o),!0;let n=E(o.nodeName);if(K(O.uponSanitizeElement,o,{tagName:n,allowedTags:A}),bt&&o.hasChildNodes()&&!zi(o.firstElementChild)&&N(/<[/\w!]/g,o.innerHTML)&&N(/<[/\w!]/g,o.textContent)||o.nodeType===Ne.progressingInstruction||bt&&o.nodeType===Ne.comment&&N(/<[/\w]/g,o.data))return fe(o),!0;if(!(we.tagCheck instanceof Function&&we.tagCheck(n))&&(!A[n]||Ue[n])){if(!Ue[n]&&Ui(n)&&(x.tagNameCheck instanceof RegExp&&N(x.tagNameCheck,n)||x.tagNameCheck instanceof Function&&x.tagNameCheck(n)))return!1;if(ao&&!Ie[n]){let b=H(o)||o.parentNode,L=U(o)||o.childNodes;if(L&&b){let h=L.length;for(let $=h-1;$>=0;--$){let G=ct(L[$],!0);G.__removalCount=(o.__removalCount||0)+1,b.insertBefore(G,pt(o))}}}return fe(o),!0}return o instanceof T&&!rn(o)||(n==="noscript"||n==="noembed"||n==="noframes")&&N(/<\/no(script|embed|frames)/i,o.innerHTML)?(fe(o),!0):(Ae&&o.nodeType===Ne.text&&(r=o.textContent,Ge([Jt,Xt,$t],b=>{r=Ce(r,b," ")}),o.textContent!==r&&(Me(t.removed,{element:o.cloneNode()}),o.textContent=r)),K(O.afterSanitizeElements,o,null),!1)},"_sanitizeElements"),Fi=f(function(o,r,n){if(Si&&(r==="id"||r==="name")&&(n in i||n in nn))return!1;if(!(to&&!eo[r]&&N(Za,r))&&!(wi&&N(Ka,r))&&!(we.attributeCheck instanceof Function&&we.attributeCheck(r,o))){if(!I[r]||eo[r]){if(!(Ui(o)&&(x.tagNameCheck instanceof RegExp&&N(x.tagNameCheck,o)||x.tagNameCheck instanceof Function&&x.tagNameCheck(o))&&(x.attributeNameCheck instanceof RegExp&&N(x.attributeNameCheck,r)||x.attributeNameCheck instanceof Function&&x.attributeNameCheck(r,o))||r==="is"&&x.allowCustomizedBuiltInElements&&(x.tagNameCheck instanceof RegExp&&N(x.tagNameCheck,n)||x.tagNameCheck instanceof Function&&x.tagNameCheck(n))))return!1}else if(!no[r]&&!N(xi,Ce(n,Ti,""))&&!((r==="src"||r==="xlink:href"||r==="href")&&o!=="script"&&Ki(n,"data:")===0&&Di[o])&&!(Ai&&!N(Ja,Ce(n,Ti,"")))&&n)return!1}return!0},"_isValidAttribute"),Ui=f(function(o){return o!=="annotation-xml"&&St(o,Xa)},"_isBasicCustomElement"),Hi=f(function(o){K(O.beforeSanitizeAttributes,o,null);let{attributes:r}=o;if(!r||uo(o))return;let n={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:I,forceKeepAttr:void 0},b=r.length;for(;b--;){let L=r[b],{name:h,namespaceURI:$,value:G}=L,Q=E(h),co=G,D=h==="value"?co:Ji(co);if(n.attrName=Q,n.attrValue=D,n.keepAttr=!0,n.forceKeepAttr=void 0,K(O.uponSanitizeAttribute,o,n),D=n.attrValue,Ii&&(Q==="id"||Q==="name")&&(me(h,o),D=$a+D),bt&&N(/((--!?|])>)|<\/(style|title|textarea)/i,D)){me(h,o);continue}if(Q==="attributename"&&St(D,"href")){me(h,o);continue}if(n.forceKeepAttr)continue;if(!n.keepAttr){me(h,o);continue}if(!Ei&&N(/\/>/i,D)){me(h,o);continue}Ae&&Ge([Jt,Xt,$t],ln=>{D=Ce(D,ln," ")});let Yi=E(o.nodeName);if(!Fi(Yi,Q,D)){me(h,o);continue}if(_&&typeof ce=="object"&&typeof ce.getAttributeType=="function"&&!$)switch(ce.getAttributeType(Yi,Q)){case"TrustedHTML":{D=_.createHTML(D);break}case"TrustedScriptURL":{D=_.createScriptURL(D);break}}if(D!==co)try{$?o.setAttributeNS($,h,D):o.setAttribute(h,D),uo(o)?fe(o):mo(t.removed)}catch{me(h,o)}}K(O.afterSanitizeAttributes,o,null)},"_sanitizeAttributes"),dn=f(function o(r){let n=null,b=Pi(r);for(K(O.beforeSanitizeShadowDOM,r,null);n=b.nextNode();)K(O.uponSanitizeShadowNode,n,null),Vi(n),Hi(n),n.content instanceof u&&o(n.content);K(O.afterSanitizeShadowDOM,r,null)},"_sanitizeShadowDOM");return t.sanitize=function(o){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=null,b=null,L=null,h=null;if(ro=!o,ro&&(o=""),typeof o!="string"&&!zi(o))if(typeof o.toString=="function"){if(o=o.toString(),typeof o!="string")throw Re("dirty is not a string, aborting")}else throw Re("toString is not a function");if(!t.isSupported)return o;if(oo||so(r),t.removed=[],typeof o=="string"&&(He=!1),He){if(o.nodeName){let Q=E(o.nodeName);if(!A[Q]||Ue[Q])throw Re("root node is forbidden and cannot be sanitized in-place")}}else if(o instanceof k)n=Bi(""),b=n.ownerDocument.importNode(o,!0),b.nodeType===Ne.element&&b.nodeName==="BODY"||b.nodeName==="HTML"?n=b:n.appendChild(b);else{if(!Ee&&!Ae&&!pe&&o.indexOf("<")===-1)return _&&_t?_.createHTML(o):o;if(n=Bi(o),!n)return Ee?null:_t?B:""}n&&io&&fe(n.firstChild);let $=Pi(He?o:n);for(;L=$.nextNode();)Vi(L),Hi(L),L.content instanceof u&&dn(L.content);if(He)return o;if(Ee){if(yt)for(h=mt.call(n.ownerDocument);n.firstChild;)h.appendChild(n.firstChild);else h=n;return(I.shadowroot||I.shadowrootmode)&&(h=Wa.call(a,h,!0)),h}let G=pe?n.outerHTML:n.innerHTML;return pe&&A["!doctype"]&&n.ownerDocument&&n.ownerDocument.doctype&&n.ownerDocument.doctype.name&&N(vo,n.ownerDocument.doctype.name)&&(G=""+G),Ae&&Ge([Jt,Xt,$t],Q=>{G=Ce(G,Q," ")}),_&&_t?_.createHTML(G):G},t.setConfig=function(){let o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};so(o),oo=!0},t.clearConfig=function(){De=null,oo=!1},t.isValidAttribute=function(o,r,n){De||so({});let b=E(o),L=E(r);return Fi(b,L,n)},t.addHook=function(o,r){typeof r=="function"&&Me(O[o],r)},t.removeHook=function(o,r){if(r!==void 0){let n=Wi(O[o],r);return n===-1?void 0:Zi(O[o],n,1)[0]}return mo(O[o])},t.removeHooks=function(o){O[o]=[]},t.removeAllHooks=function(){O=wo()},t}f(Ct,"createDOMPurify");var Ao=Ct();let Oe=!1;window.trustedTypes&&window.trustedTypes.createPolicy&&Ao&&(Oe=window.trustedTypes.createPolicy("GoodTubePolicy",{createHTML:e=>Ao.sanitize(e,{RETURN_TRUSTED_TYPE:!0})}));function Eo(){let e={};if(document.location.search.replace(/\??(?:([^=]+)=([^&]*)&?)/g,function(){function t(i){return decodeURIComponent(i.split("+").join(" "))}e[t(arguments[1])]=t(arguments[2])}),F()&&typeof e.v>"u"){let t="";window.location.href.indexOf("/watch/")!==-1?t="/watch/":t="/live/";let i=window.location.href.split(t);if(i.length===2){let a=i[1].split("?");e.v=a[a.length-1]}}return e}function p(e,t,i=399){e=e+"_new",document.cookie=e+"="+encodeURIComponent(t)+";SameSite=Lax;path=/;max-age="+i*24*60*60}function V(e){e=e+"_new";let t=document.cookie.split(";");for(let i=0;i{(function(){"use strict";var Gi=Object.defineProperty,f=(e,t)=>Gi(e,"name",{value:t,configurable:!0}),{entries:fo,setPrototypeOf:mo,isFrozen:Qi,getPrototypeOf:ji,getOwnPropertyDescriptor:qi}=Object,{freeze:R,seal:z,create:At}=Object,{apply:Et,construct:St}=typeof Reflect<"u"&&Reflect;R||(R=f(function(e){return e},"freeze")),z||(z=f(function(e){return e},"seal")),Et||(Et=f(function(e,t){for(var i=arguments.length,a=new Array(i>2?i-2:0),l=2;l1?t-1:0),a=1;a1?i-1:0),l=1;l2&&arguments[2]!==void 0?arguments[2]:Qe;mo&&mo(e,null);let a=t.length;for(;a--;){let l=t[a];if(typeof l=="string"){let u=i(l);u!==l&&(Qi(t)||(t[a]=u),l=u)}e[l]=!0}return e}f(c,"addToSet");function yo(e){for(let t=0;t/gm),oa=z(/\$\{[\w\W]*/gm),ia=z(/^data-[\-\w.\u00B7-\uFFFF]+$/),aa=z(/^aria-[\-\w]+$/),vo=z(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),na=z(/^(?:\w+script|data):/i),ra=z(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),ko=z(/^html$/i),da=z(/^[a-z][.\w]*(-[.\w]+)+$/i),wo=Object.freeze({__proto__:null,ARIA_ATTR:aa,ATTR_WHITESPACE:ra,CUSTOM_ELEMENT:da,DATA_ATTR:ia,DOCTYPE_NAME:ko,ERB_EXPR:ta,IS_ALLOWED_URI:vo,IS_SCRIPT_OR_DATA:na,MUSTACHE_EXPR:ea,TMPLIT_EXPR:oa}),Ne={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,progressingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12},la=f(function(){return typeof window>"u"?null:window},"getGlobal"),sa=f(function(e,t){if(typeof e!="object"||typeof e.createPolicy!="function")return null;let i=null,a="data-tt-policy-suffix";t&&t.hasAttribute(a)&&(i=t.getAttribute(a));let l="dompurify"+(i?"#"+i:"");try{return e.createPolicy(l,{createHTML(u){return u},createScriptURL(u){return u}})}catch{return console.warn("TrustedTypes policy "+l+" could not be created."),null}},"_createTrustedTypesPolicy"),Ao=f(function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}},"_createHooksMap");function Nt(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:la(),t=f(o=>Nt(o),"DOMPurify");if(t.version="3.3.0",t.removed=[],!e||!e.document||e.document.nodeType!==Ne.document||!e.Element)return t.isSupported=!1,t;let{document:i}=e,a=i,l=a.currentScript,{DocumentFragment:u,HTMLTemplateElement:m,Node:k,Element:T,NodeFilter:w,NamedNodeMap:te=e.NamedNodeMap||e.MozNamedAttrMap,HTMLFormElement:oe,DOMParser:C,trustedTypes:ce}=e,ie=T.prototype,ft=ge(ie,"cloneNode"),Fe=ge(ie,"remove"),mt=ge(ie,"nextSibling"),U=ge(ie,"childNodes"),H=ge(ie,"parentNode");if(typeof m=="function"){let o=i.createElement("template");o.content&&o.content.ownerDocument&&(i=o.content.ownerDocument)}let _,B="",{implementation:ke,createNodeIterator:gt,createDocumentFragment:bt,getElementsByTagName:yt}=i,{importNode:Wa}=a,O=Ao();t.isSupported=typeof fo=="function"&&typeof H=="function"&&ke&&ke.createHTMLDocument!==void 0;let{MUSTACHE_EXPR:Xt,ERB_EXPR:$t,TMPLIT_EXPR:eo,DATA_ATTR:Za,ARIA_ATTR:Ka,IS_SCRIPT_OR_DATA:Ja,ATTR_WHITESPACE:Ti,CUSTOM_ELEMENT:Xa}=wo,{IS_ALLOWED_URI:xi}=wo,A=null,vi=c({},[..._o,...Dt,...Mt,...Ct,...ho]),I=null,ki=c({},[...To,...Rt,...xo,...je]),x=Object.seal(At(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),Ue=null,to=null,we=Object.seal(At(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}})),wi=!0,oo=!0,Ai=!1,Ei=!0,Ae=!1,_t=!0,pe=!1,io=!1,ao=!1,Ee=!1,ht=!1,Tt=!1,Si=!0,Ii=!1,$a="user-content-",no=!0,He=!1,Se={},Ie=null,Li=c({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]),Di=null,Mi=c({},["audio","video","img","source","image","track"]),ro=null,Ci=c({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),xt="http://www.w3.org/1998/Math/MathML",vt="http://www.w3.org/2000/svg",X="http://www.w3.org/1999/xhtml",Le=X,lo=!1,so=null,en=c({},[xt,vt,X],It),kt=c({},["mi","mo","mn","ms","mtext"]),wt=c({},["annotation-xml"]),tn=c({},["title","style","font","a","script"]),Ye=null,on=["application/xhtml+xml","text/html"],an="text/html",E=null,De=null,nn=i.createElement("form"),Ri=f(function(o){return o instanceof RegExp||o instanceof Function},"isRegexOrFunction"),uo=f(function(){let o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(!(De&&De===o)){if((!o||typeof o!="object")&&(o={}),o=j(o),Ye=on.indexOf(o.PARSER_MEDIA_TYPE)===-1?an:o.PARSER_MEDIA_TYPE,E=Ye==="application/xhtml+xml"?It:Qe,A=Y(o,"ALLOWED_TAGS")?c({},o.ALLOWED_TAGS,E):vi,I=Y(o,"ALLOWED_ATTR")?c({},o.ALLOWED_ATTR,E):ki,so=Y(o,"ALLOWED_NAMESPACES")?c({},o.ALLOWED_NAMESPACES,It):en,ro=Y(o,"ADD_URI_SAFE_ATTR")?c(j(Ci),o.ADD_URI_SAFE_ATTR,E):Ci,Di=Y(o,"ADD_DATA_URI_TAGS")?c(j(Mi),o.ADD_DATA_URI_TAGS,E):Mi,Ie=Y(o,"FORBID_CONTENTS")?c({},o.FORBID_CONTENTS,E):Li,Ue=Y(o,"FORBID_TAGS")?c({},o.FORBID_TAGS,E):j({}),to=Y(o,"FORBID_ATTR")?c({},o.FORBID_ATTR,E):j({}),Se=Y(o,"USE_PROFILES")?o.USE_PROFILES:!1,wi=o.ALLOW_ARIA_ATTR!==!1,oo=o.ALLOW_DATA_ATTR!==!1,Ai=o.ALLOW_UNKNOWN_PROTOCOLS||!1,Ei=o.ALLOW_SELF_CLOSE_IN_ATTR!==!1,Ae=o.SAFE_FOR_TEMPLATES||!1,_t=o.SAFE_FOR_XML!==!1,pe=o.WHOLE_DOCUMENT||!1,Ee=o.RETURN_DOM||!1,ht=o.RETURN_DOM_FRAGMENT||!1,Tt=o.RETURN_TRUSTED_TYPE||!1,ao=o.FORCE_BODY||!1,Si=o.SANITIZE_DOM!==!1,Ii=o.SANITIZE_NAMED_PROPS||!1,no=o.KEEP_CONTENT!==!1,He=o.IN_PLACE||!1,xi=o.ALLOWED_URI_REGEXP||vo,Le=o.NAMESPACE||X,kt=o.MATHML_TEXT_INTEGRATION_POINTS||kt,wt=o.HTML_INTEGRATION_POINTS||wt,x=o.CUSTOM_ELEMENT_HANDLING||{},o.CUSTOM_ELEMENT_HANDLING&&Ri(o.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(x.tagNameCheck=o.CUSTOM_ELEMENT_HANDLING.tagNameCheck),o.CUSTOM_ELEMENT_HANDLING&&Ri(o.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(x.attributeNameCheck=o.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),o.CUSTOM_ELEMENT_HANDLING&&typeof o.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements=="boolean"&&(x.allowCustomizedBuiltInElements=o.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),Ae&&(oo=!1),ht&&(Ee=!0),Se&&(A=c({},ho),I=[],Se.html===!0&&(c(A,_o),c(I,To)),Se.svg===!0&&(c(A,Dt),c(I,Rt),c(I,je)),Se.svgFilters===!0&&(c(A,Mt),c(I,Rt),c(I,je)),Se.mathMl===!0&&(c(A,Ct),c(I,xo),c(I,je))),o.ADD_TAGS&&(typeof o.ADD_TAGS=="function"?we.tagCheck=o.ADD_TAGS:(A===vi&&(A=j(A)),c(A,o.ADD_TAGS,E))),o.ADD_ATTR&&(typeof o.ADD_ATTR=="function"?we.attributeCheck=o.ADD_ATTR:(I===ki&&(I=j(I)),c(I,o.ADD_ATTR,E))),o.ADD_URI_SAFE_ATTR&&c(ro,o.ADD_URI_SAFE_ATTR,E),o.FORBID_CONTENTS&&(Ie===Li&&(Ie=j(Ie)),c(Ie,o.FORBID_CONTENTS,E)),no&&(A["#text"]=!0),pe&&c(A,["html","head","body"]),A.table&&(c(A,["tbody"]),delete Ue.tbody),o.TRUSTED_TYPES_POLICY){if(typeof o.TRUSTED_TYPES_POLICY.createHTML!="function")throw Re('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof o.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw Re('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');_=o.TRUSTED_TYPES_POLICY,B=_.createHTML("")}else _===void 0&&(_=sa(ce,l)),_!==null&&typeof B=="string"&&(B=_.createHTML(""));R&&R(o),De=o}},"_parseConfig"),Ni=c({},[...Dt,...Mt,...Xi]),Oi=c({},[...Ct,...$i]),rn=f(function(o){let r=H(o);(!r||!r.tagName)&&(r={namespaceURI:Le,tagName:"template"});let n=Qe(o.tagName),b=Qe(r.tagName);return so[o.namespaceURI]?o.namespaceURI===vt?r.namespaceURI===X?n==="svg":r.namespaceURI===xt?n==="svg"&&(b==="annotation-xml"||kt[b]):!!Ni[n]:o.namespaceURI===xt?r.namespaceURI===X?n==="math":r.namespaceURI===vt?n==="math"&&wt[b]:!!Oi[n]:o.namespaceURI===X?r.namespaceURI===vt&&!wt[b]||r.namespaceURI===xt&&!kt[b]?!1:!Oi[n]&&(tn[n]||!Ni[n]):!!(Ye==="application/xhtml+xml"&&so[o.namespaceURI]):!1},"_checkValidNamespace"),fe=f(function(o){Me(t.removed,{element:o});try{H(o).removeChild(o)}catch{Fe(o)}},"_forceRemove"),me=f(function(o,r){try{Me(t.removed,{attribute:r.getAttributeNode(o),from:r})}catch{Me(t.removed,{attribute:null,from:r})}if(r.removeAttribute(o),o==="is")if(Ee||ht)try{fe(r)}catch{}else try{r.setAttribute(o,"")}catch{}},"_removeAttribute"),Bi=f(function(o){let r=null,n=null;if(ao)o=""+o;else{let h=Lt(o,/^[\r\n\t ]+/);n=h&&h[0]}Ye==="application/xhtml+xml"&&Le===X&&(o=''+o+"");let b=_?_.createHTML(o):o;if(Le===X)try{r=new C().parseFromString(b,Ye)}catch{}if(!r||!r.documentElement){r=ke.createDocument(Le,"template",null);try{r.documentElement.innerHTML=lo?B:b}catch{}}let L=r.body||r.documentElement;return o&&n&&L.insertBefore(i.createTextNode(n),L.childNodes[0]||null),Le===X?yt.call(r,pe?"html":"body")[0]:pe?r.documentElement:L},"_initDocument"),Pi=f(function(o){return gt.call(o.ownerDocument||o,o,w.SHOW_ELEMENT|w.SHOW_COMMENT|w.SHOW_TEXT|w.SHOW_PROCESSING_INSTRUCTION|w.SHOW_CDATA_SECTION,null)},"_createNodeIterator"),co=f(function(o){return o instanceof oe&&(typeof o.nodeName!="string"||typeof o.textContent!="string"||typeof o.removeChild!="function"||!(o.attributes instanceof te)||typeof o.removeAttribute!="function"||typeof o.setAttribute!="function"||typeof o.namespaceURI!="string"||typeof o.insertBefore!="function"||typeof o.hasChildNodes!="function")},"_isClobbered"),zi=f(function(o){return typeof k=="function"&&o instanceof k},"_isNode");function K(o,r,n){Ge(o,b=>{b.call(t,r,n,De)})}f(K,"_executeHooks");let Vi=f(function(o){let r=null;if(K(O.beforeSanitizeElements,o,null),co(o))return fe(o),!0;let n=E(o.nodeName);if(K(O.uponSanitizeElement,o,{tagName:n,allowedTags:A}),_t&&o.hasChildNodes()&&!zi(o.firstElementChild)&&N(/<[/\w!]/g,o.innerHTML)&&N(/<[/\w!]/g,o.textContent)||o.nodeType===Ne.progressingInstruction||_t&&o.nodeType===Ne.comment&&N(/<[/\w]/g,o.data))return fe(o),!0;if(!(we.tagCheck instanceof Function&&we.tagCheck(n))&&(!A[n]||Ue[n])){if(!Ue[n]&&Ui(n)&&(x.tagNameCheck instanceof RegExp&&N(x.tagNameCheck,n)||x.tagNameCheck instanceof Function&&x.tagNameCheck(n)))return!1;if(no&&!Ie[n]){let b=H(o)||o.parentNode,L=U(o)||o.childNodes;if(L&&b){let h=L.length;for(let $=h-1;$>=0;--$){let G=ft(L[$],!0);G.__removalCount=(o.__removalCount||0)+1,b.insertBefore(G,mt(o))}}}return fe(o),!0}return o instanceof T&&!rn(o)||(n==="noscript"||n==="noembed"||n==="noframes")&&N(/<\/no(script|embed|frames)/i,o.innerHTML)?(fe(o),!0):(Ae&&o.nodeType===Ne.text&&(r=o.textContent,Ge([Xt,$t,eo],b=>{r=Ce(r,b," ")}),o.textContent!==r&&(Me(t.removed,{element:o.cloneNode()}),o.textContent=r)),K(O.afterSanitizeElements,o,null),!1)},"_sanitizeElements"),Fi=f(function(o,r,n){if(Si&&(r==="id"||r==="name")&&(n in i||n in nn))return!1;if(!(oo&&!to[r]&&N(Za,r))&&!(wi&&N(Ka,r))&&!(we.attributeCheck instanceof Function&&we.attributeCheck(r,o))){if(!I[r]||to[r]){if(!(Ui(o)&&(x.tagNameCheck instanceof RegExp&&N(x.tagNameCheck,o)||x.tagNameCheck instanceof Function&&x.tagNameCheck(o))&&(x.attributeNameCheck instanceof RegExp&&N(x.attributeNameCheck,r)||x.attributeNameCheck instanceof Function&&x.attributeNameCheck(r,o))||r==="is"&&x.allowCustomizedBuiltInElements&&(x.tagNameCheck instanceof RegExp&&N(x.tagNameCheck,n)||x.tagNameCheck instanceof Function&&x.tagNameCheck(n))))return!1}else if(!ro[r]&&!N(xi,Ce(n,Ti,""))&&!((r==="src"||r==="xlink:href"||r==="href")&&o!=="script"&&Ki(n,"data:")===0&&Di[o])&&!(Ai&&!N(Ja,Ce(n,Ti,"")))&&n)return!1}return!0},"_isValidAttribute"),Ui=f(function(o){return o!=="annotation-xml"&&Lt(o,Xa)},"_isBasicCustomElement"),Hi=f(function(o){K(O.beforeSanitizeAttributes,o,null);let{attributes:r}=o;if(!r||co(o))return;let n={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:I,forceKeepAttr:void 0},b=r.length;for(;b--;){let L=r[b],{name:h,namespaceURI:$,value:G}=L,Q=E(h),po=G,D=h==="value"?po:Ji(po);if(n.attrName=Q,n.attrValue=D,n.keepAttr=!0,n.forceKeepAttr=void 0,K(O.uponSanitizeAttribute,o,n),D=n.attrValue,Ii&&(Q==="id"||Q==="name")&&(me(h,o),D=$a+D),_t&&N(/((--!?|])>)|<\/(style|title|textarea)/i,D)){me(h,o);continue}if(Q==="attributename"&&Lt(D,"href")){me(h,o);continue}if(n.forceKeepAttr)continue;if(!n.keepAttr){me(h,o);continue}if(!Ei&&N(/\/>/i,D)){me(h,o);continue}Ae&&Ge([Xt,$t,eo],ln=>{D=Ce(D,ln," ")});let Yi=E(o.nodeName);if(!Fi(Yi,Q,D)){me(h,o);continue}if(_&&typeof ce=="object"&&typeof ce.getAttributeType=="function"&&!$)switch(ce.getAttributeType(Yi,Q)){case"TrustedHTML":{D=_.createHTML(D);break}case"TrustedScriptURL":{D=_.createScriptURL(D);break}}if(D!==po)try{$?o.setAttributeNS($,h,D):o.setAttribute(h,D),co(o)?fe(o):go(t.removed)}catch{me(h,o)}}K(O.afterSanitizeAttributes,o,null)},"_sanitizeAttributes"),dn=f(function o(r){let n=null,b=Pi(r);for(K(O.beforeSanitizeShadowDOM,r,null);n=b.nextNode();)K(O.uponSanitizeShadowNode,n,null),Vi(n),Hi(n),n.content instanceof u&&o(n.content);K(O.afterSanitizeShadowDOM,r,null)},"_sanitizeShadowDOM");return t.sanitize=function(o){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=null,b=null,L=null,h=null;if(lo=!o,lo&&(o=""),typeof o!="string"&&!zi(o))if(typeof o.toString=="function"){if(o=o.toString(),typeof o!="string")throw Re("dirty is not a string, aborting")}else throw Re("toString is not a function");if(!t.isSupported)return o;if(io||uo(r),t.removed=[],typeof o=="string"&&(He=!1),He){if(o.nodeName){let Q=E(o.nodeName);if(!A[Q]||Ue[Q])throw Re("root node is forbidden and cannot be sanitized in-place")}}else if(o instanceof k)n=Bi(""),b=n.ownerDocument.importNode(o,!0),b.nodeType===Ne.element&&b.nodeName==="BODY"||b.nodeName==="HTML"?n=b:n.appendChild(b);else{if(!Ee&&!Ae&&!pe&&o.indexOf("<")===-1)return _&&Tt?_.createHTML(o):o;if(n=Bi(o),!n)return Ee?null:Tt?B:""}n&&ao&&fe(n.firstChild);let $=Pi(He?o:n);for(;L=$.nextNode();)Vi(L),Hi(L),L.content instanceof u&&dn(L.content);if(He)return o;if(Ee){if(ht)for(h=bt.call(n.ownerDocument);n.firstChild;)h.appendChild(n.firstChild);else h=n;return(I.shadowroot||I.shadowrootmode)&&(h=Wa.call(a,h,!0)),h}let G=pe?n.outerHTML:n.innerHTML;return pe&&A["!doctype"]&&n.ownerDocument&&n.ownerDocument.doctype&&n.ownerDocument.doctype.name&&N(ko,n.ownerDocument.doctype.name)&&(G=""+G),Ae&&Ge([Xt,$t,eo],Q=>{G=Ce(G,Q," ")}),_&&Tt?_.createHTML(G):G},t.setConfig=function(){let o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};uo(o),io=!0},t.clearConfig=function(){De=null,io=!1},t.isValidAttribute=function(o,r,n){De||uo({});let b=E(o),L=E(r);return Fi(b,L,n)},t.addHook=function(o,r){typeof r=="function"&&Me(O[o],r)},t.removeHook=function(o,r){if(r!==void 0){let n=Wi(O[o],r);return n===-1?void 0:Zi(O[o],n,1)[0]}return go(O[o])},t.removeHooks=function(o){O[o]=[]},t.removeAllHooks=function(){O=Ao()},t}f(Nt,"createDOMPurify");var Eo=Nt();let Oe=!1;window.trustedTypes&&window.trustedTypes.createPolicy&&Eo&&(Oe=window.trustedTypes.createPolicy("GoodTubePolicy",{createHTML:e=>Eo.sanitize(e,{RETURN_TRUSTED_TYPE:!0})}));function So(){let e={};if(document.location.search.replace(/\??(?:([^=]+)=([^&]*)&?)/g,function(){function t(i){return decodeURIComponent(i.split("+").join(" "))}e[t(arguments[1])]=t(arguments[2])}),F()&&typeof e.v>"u"){let t="";window.location.href.indexOf("/watch/")!==-1?t="/watch/":t="/live/";let i=window.location.href.split(t);if(i.length===2){let a=i[1].split("?");e.v=a[a.length-1]}}return e}function p(e,t,i=399){e=e+"_new",document.cookie=e+"="+encodeURIComponent(t)+";SameSite=Lax;path=/;max-age="+i*24*60*60}function V(e){e=e+"_new";let t=document.cookie.split(";");for(let i=0;i{i.href.indexOf("shorts/")!==-1&&(J(i),J(i.closest("ytd-video-renderer")),J(i.closest("ytd-compact-video-renderer")),J(i.closest("ytd-rich-grid-media")))}),document.querySelectorAll("yt-chip-cloud-chip-renderer:not(.goodTube_hidden):not(.goodTube_checked), yt-tab-shape:not(.goodTube_hidden):not(.goodTube_checked), ytd-guide-entry-renderer:not(.goodTube_checked)").forEach(i=>{i.innerHTML.toLowerCase().indexOf("shorts")!==-1&&J(i),i.classList.add("goodTube_checked")})}function ma(){document.querySelectorAll("#description a, ytd-comments .yt-core-attributed-string a, ytm-expandable-video-description-body-renderer a, .comment-content a").forEach(t=>{!t.classList.contains("goodTube_timestampLink")&&t.getAttribute("href")&&t.getAttribute("href").indexOf(v.v)!==-1&&(t.classList.add("goodTube_timestampLink"),t.addEventListener("click",function(){let i=0,a=t.getAttribute("href").split("t=");typeof a[1]<"u"&&(i=parseFloat(a[1].replace("s",""))),Po(i)}))})}let et=setTimeout(()=>{},0);function Pt(){if(be==="true"&&window.location.href.indexOf("/shorts")!==-1||!F()){clearTimeout(et),et=setTimeout(Pt,100);return}document.querySelectorAll("video").forEach(t=>{y?!t.paused&&!t.closest("#movie_player")&&(t.muted=!0,t.volume=0,t.pause()):!t.paused&&(!Nt||!t.closest("#movie_player"))&&(t.muted=!0,t.volume=0,!Rt()||!t.closest("#movie_player")?(t.pause(),t.playbackRate=ye):(t.play(),t.playbackRate=2))}),clearTimeout(et),et=setTimeout(Pt,100)}function ga(){if(Io)return;let e=document.querySelector("#movie_player .ytp-autonav-toggle-button");e&&(e.getAttribute("aria-checked")==="true"&&q(e),Io=!0)}function ba(){document.querySelectorAll("yt-confirm-dialog-renderer").forEach(t=>{if(t.innerHTML.indexOf("Video paused. Continue watching?")!==-1){let i=t.querySelector("#confirm-button");i&&q(i)}})}function ya(e,t){if(!e||!t)return;let i=document.querySelector("ytd-watch-flexy");i&&F()&&!y&&(i.style.setProperty("--ytd-watch-flexy-width-ratio",e),i.style.setProperty("--ytd-watch-flexy-height-ratio",t))}function _a(){let e=document.querySelector("ytd-watch-flexy");e&&(e.style.removeProperty("--ytd-watch-flexy-width-ratio"),e.style.removeProperty("--ytd-watch-flexy-height-ratio"))}let Co=setTimeout(()=>{},0);function Ro(){d=document.getElementById("movie_player");let e=!1;if(d&&typeof d.getVideoData=="function"&&(e=d.getVideoData()),!e){clearTimeout(Co),Co=setTimeout(Ro,100);return}let t="transparent";$e==="true"&&(t="#000000");let i=document.createElement("style");i.textContent=` + `,console.log("[GoodTube] AI summaries removed"));let t=document.createElement("style");t.textContent=e,document.head.appendChild(t)}function fa(){if(be==="true")return;window.location.href.indexOf("/shorts")!==-1&&!Do&&(window.location.href="https://youtube.com",Do=!0),document.querySelectorAll("a:not(.goodTube_hidden)").forEach(i=>{i.href.indexOf("shorts/")!==-1&&(J(i),J(i.closest("ytd-video-renderer")),J(i.closest("ytd-compact-video-renderer")),J(i.closest("ytd-rich-grid-media")))}),document.querySelectorAll("yt-chip-cloud-chip-renderer:not(.goodTube_hidden):not(.goodTube_checked), yt-tab-shape:not(.goodTube_hidden):not(.goodTube_checked), ytd-guide-entry-renderer:not(.goodTube_checked)").forEach(i=>{i.innerHTML.toLowerCase().indexOf("shorts")!==-1&&J(i),i.classList.add("goodTube_checked")})}function ma(){document.querySelectorAll("#description a, ytd-comments .yt-core-attributed-string a, ytm-expandable-video-description-body-renderer a, .comment-content a").forEach(t=>{!t.classList.contains("goodTube_timestampLink")&&t.getAttribute("href")&&t.getAttribute("href").indexOf(v.v)!==-1&&(t.classList.add("goodTube_timestampLink"),t.addEventListener("click",function(){let i=0,a=t.getAttribute("href").split("t=");typeof a[1]<"u"&&(i=parseFloat(a[1].replace("s",""))),Po(i)}))})}let et=setTimeout(()=>{},0);function Vt(){if(be==="true"&&window.location.href.indexOf("/shorts")!==-1||!F()){clearTimeout(et),et=setTimeout(Vt,100);return}document.querySelectorAll("video").forEach(t=>{y?!t.paused&&!t.closest("#movie_player")&&(t.muted=!0,t.volume=0,t.pause()):!t.paused&&(!Bt||!t.closest("#movie_player"))&&(t.muted=!0,t.volume=0,!Ot()||!t.closest("#movie_player")?(t.pause(),t.playbackRate=ye):(t.play(),t.playbackRate=2))}),clearTimeout(et),et=setTimeout(Vt,100)}function ga(){if(Lo)return;let e=document.querySelector("#movie_player .ytp-autonav-toggle-button");e&&(e.getAttribute("aria-checked")==="true"&&q(e),Lo=!0)}function ba(){document.querySelectorAll("yt-confirm-dialog-renderer").forEach(t=>{if(t.innerHTML.indexOf("Video paused. Continue watching?")!==-1){let i=t.querySelector("#confirm-button");i&&q(i)}})}function ya(e,t){if(!e||!t)return;let i=document.querySelector("ytd-watch-flexy");i&&F()&&!y&&(i.style.setProperty("--ytd-watch-flexy-width-ratio",e),i.style.setProperty("--ytd-watch-flexy-height-ratio",t))}function _a(){let e=document.querySelector("ytd-watch-flexy");e&&(e.style.removeProperty("--ytd-watch-flexy-width-ratio"),e.style.removeProperty("--ytd-watch-flexy-height-ratio"))}let Ro=setTimeout(()=>{},0);function No(){d=document.getElementById("movie_player");let e=!1;if(d&&typeof d.getVideoData=="function"&&(e=d.getVideoData()),!e){clearTimeout(Ro),Ro=setTimeout(No,100);return}let t="transparent";$e==="true"&&(t="#000000");let i=document.createElement("style");i.textContent=` /* Player wrapper */ #goodTube_playerWrapper { border-radius: 12px; @@ -134,7 +134,7 @@ max-width: calc(177.77777778vh - var(--ytd-watch-flexy-masthead-height) * 1.7777777778 - var(--ytd-margin-6x) * 1.7777777778 - var(--ytd-watch-flexy-space-below-player) * 1.7777777778) !important; min-width: calc(var(--ytd-watch-flexy-min-player-height) * 1.7777777778) !important; } - `,document.head.appendChild(i);let a=document.createElement("div");a.id="goodTube_playerWrapper",a.classList.add("goodTube_hidden"),document.body.appendChild(a);let l=document.createElement("iframe");l.src="https://en.wikipedia.org/wiki/Fuck?goodTubeProxy=1",l.setAttribute("width","100%"),l.setAttribute("height","100%"),l.setAttribute("frameborder","0"),l.setAttribute("scrolling","yes"),l.setAttribute("allow","accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"),l.setAttribute("referrerpolicy","strict-origin-when-cross-origin"),l.setAttribute("allowfullscreen",!0),l.style.display="none",a.appendChild(l),ae=a,P=l,Go(),setInterval(Go,100)}let zt=!1;function ha(){if(y)zt||(ot(!0),zt=!0);else{zt=!1;let e=document.querySelector("#player.ytd-watch-flexy");if((!e||e.offsetHeight<=0)&&(e=document.querySelector("#ytd-player")),(!e||e.offsetHeight<=0)&&(e=document.querySelector(".player-size")),(!e||e.offsetHeight<=0)&&(e=document.querySelector(".html5-video-player")),e&&e.offsetHeight>0){let t=e.getBoundingClientRect();ae.style.top=t.top+window.scrollY+"px",ae.style.left=t.left+window.scrollX+"px",ae.style.width=e.offsetWidth+"px",ae.style.height=e.offsetHeight+"px",qe(ae)}}}let No=setTimeout(()=>{},0);function Vt(){d=document.getElementById("movie_player"),typeof d.getPlaylist=="function"&&typeof d.getPlaylistIndex=="function"&&(ne=d.getPlaylist(),Ze=d.getPlaylistIndex(),ne||(clearTimeout(No),No=setTimeout(Vt,100)))}let Oo=setTimeout(()=>{},0);function Bo(){if(re="",Ta(),!Mo){clearTimeout(Oo),Oo=setTimeout(Bo,100);return}let e=0;Ve==="false"&&typeof v.t<"u"&&(e=parseFloat(v.t.replace("s","")));let t="false";if(typeof v.i<"u"||typeof v.index<"u"||typeof v.list<"u"?(t="true",Vt()):(ne=!1,Ze=0),Do){F()||ot();let i="";e>0&&(i="&start="+e),P.contentWindow.postMessage("goodTube_src_https://www.youtube.com/embed/"+v.v+"?goodTubeEmbed=1&autoplay=1&goodTube_playlist="+t+"&goodTube_autoplay="+W+"&goodTube_playbackSpeed="+ye+"&goodTube_hideInfoCards="+Pe+"&goodTube_hideEndScreen="+ze+i,"*"),Do=!1}else P.contentWindow.postMessage("goodTube_load_"+v.v+"|||"+e+"|||"+t,"*");Ve==="false"&&Ft(),at()}let tt=setTimeout(()=>{},0);function Ft(){if(!Ot){clearTimeout(tt),tt=setTimeout(Ft,100);return}d=document.getElementById("movie_player");let e=!1,t=!1;if(d&&typeof d.getVideoData=="function"&&typeof d.getCurrentTime=="function"&&(e=d.getVideoData(),t=e.video_id),!e||!t||t!==v.v){clearTimeout(tt),tt=setTimeout(Ft,100);return}let i=Math.floor(d.getCurrentTime());i>=10&&Po(i,t)}function ot(e=!1){Be||(e?(d=document.getElementById("movie_player"),d&&typeof d.stopVideo=="function"&&d.stopVideo()):P.contentWindow.postMessage("goodTube_stopVideo","*")),J(ae)}function Po(e,t=""){P.contentWindow.postMessage("goodTube_skipTo_"+e+"|||"+t,"*")}function Ta(){P.contentWindow.postMessage("goodTube_pause","*")}let it=setTimeout(()=>{},0);function at(){if(!Bt||!Ot){clearTimeout(it),it=setTimeout(at,100);return}if(!y)P.contentWindow.postMessage("goodTube_play|||"+v.v,"*");else{d=document.getElementById("movie_player");let e=!1;if(d&&typeof d.getVideoData=="function"&&(e=d.getVideoData()),!e||v.v!==e.video_id){clearTimeout(it),it=setTimeout(at,100);return}let t=document.querySelector("#movie_player video");if(t&&t.currentTime>=t.duration)return;d&&typeof d.playVideo=="function"&&setTimeout(()=>{d.playVideo()},100)}}function xa(){document.addEventListener("keydown",zo,!0),document.addEventListener("keyup",zo,!0)}function zo(e){if(!F()||y)return;let t=[{key:">",code:!1,ctrl:!1,shift:!0,alt:!1},{key:"<",code:!1,ctrl:!1,shift:!0,alt:!1},{key:",",code:!1,ctrl:!1,shift:!1,alt:!1},{key:".",code:!1,ctrl:!1,shift:!1,alt:!1},{key:"arrowleft",code:!1,ctrl:!1,shift:!1,alt:!1},{key:"arrowright",code:!1,ctrl:!1,shift:!1,alt:!1},{key:"j",code:!1,ctrl:!1,shift:!1,alt:!1},{key:"l",code:!1,ctrl:!1,shift:!1,alt:!1},{key:" ",code:!1,ctrl:!1,shift:!1,alt:!1},{key:"k",code:!1,ctrl:!1,shift:!1,alt:!1},{key:"mediaplaypause",code:!1,ctrl:!1,shift:!1,alt:!1},{key:"m",code:!1,ctrl:!1,shift:!1,alt:!1},{key:"f",code:!1,ctrl:!1,shift:!1,alt:!1},{key:"c",code:!1,ctrl:!1,shift:!1,alt:!1},{key:"o",code:!1,ctrl:!1,shift:!1,alt:!1},{key:"w",code:!1,ctrl:!1,shift:!1,alt:!1},{key:"=",code:!1,ctrl:!1,shift:!1,alt:!1},{key:"-",code:!1,ctrl:!1,shift:!1,alt:!1},{key:"w",code:!1,ctrl:!1,shift:!1,alt:!1},{key:"a",code:!1,ctrl:!1,shift:!1,alt:!1},{key:"s",code:!1,ctrl:!1,shift:!1,alt:!1},{key:"d",code:!1,ctrl:!1,shift:!1,alt:!1},{key:"[",code:!1,ctrl:!1,shift:!1,alt:!1},{key:"]",code:!1,ctrl:!1,shift:!1,alt:!1},{key:!1,code:"numpadadd",ctrl:!1,shift:!1,alt:!1},{key:!1,code:"numpadsubtract",ctrl:!1,shift:!1,alt:!1},{key:"0",code:!1,ctrl:!1,shift:!1,alt:!1},{key:"1",code:!1,ctrl:!1,shift:!1,alt:!1},{key:"2",code:!1,ctrl:!1,shift:!1,alt:!1},{key:"3",code:!1,ctrl:!1,shift:!1,alt:!1},{key:"4",code:!1,ctrl:!1,shift:!1,alt:!1},{key:"5",code:!1,ctrl:!1,shift:!1,alt:!1},{key:"6",code:!1,ctrl:!1,shift:!1,alt:!1},{key:"7",code:!1,ctrl:!1,shift:!1,alt:!1},{key:"8",code:!1,ctrl:!1,shift:!1,alt:!1},{key:"9",code:!1,ctrl:!1,shift:!1,alt:!1},{key:"i",code:!1,ctrl:!1,shift:!1,alt:!1},{key:"arrowleft",code:!1,ctrl:!0,shift:!1,alt:!1},{key:"arrowright",code:!1,ctrl:!0,shift:!1,alt:!1}],i=e.key.toLowerCase(),a=e.code.toLowerCase(),l=e.ctrlKey;e.metaKey&&(l=e.metaKey);let u=e.shiftKey,m=e.altKey,k=!1;if(t.forEach(T=>{(i===T.key||a===T.code)&&l===T.ctrl&&u===T.shift&&m===T.alt&&(k=!0)}),k){let T=e.srcElement,w=!1,te=!1;if(T&&(typeof T.nodeName<"u"&&(w=T.nodeName.toLowerCase()),typeof T.getAttribute<"u"&&(te=T.getAttribute("id"))),!T||w.indexOf("input")===-1&&w.indexOf("label")===-1&&w.indexOf("select")===-1&&w.indexOf("textarea")===-1&&w.indexOf("fieldset")===-1&&w.indexOf("legend")===-1&&w.indexOf("datalist")===-1&&w.indexOf("output")===-1&&w.indexOf("option")===-1&&w.indexOf("optgroup")===-1&&te!=="contenteditable-root"){e.preventDefault(),e.stopImmediatePropagation();let oe=e.key,C=e.keyCode;i==="mediaplaypause"&&(oe=" ",C=32),P.contentWindow.postMessage("goodTube_shortcut_"+e.type+"_"+oe+"_"+C+"_"+e.ctrlKey+"_"+e.metaKey+"_"+e.shiftKey+"_"+e.altKey,"*")}}}function Vo(e=!1){d=document.getElementById("movie_player"),d&&typeof d.nextVideo=="function"&&d.nextVideo(),console.log("[GoodTube] Playing next video...")}function va(){d=document.getElementById("movie_player"),d&&typeof d.previousVideo=="function"&&d.previousVideo(),console.log("[GoodTube] Playing previous video...")}function ka(){Vt(),(W==="true"||ne&&Ze{},0);function Ho(e=!1){e||(window.top===window.self&&(console.log(` + `,document.head.appendChild(i);let a=document.createElement("div");a.id="goodTube_playerWrapper",a.classList.add("goodTube_hidden"),document.body.appendChild(a);let l=document.createElement("iframe");l.src="https://en.wikipedia.org/wiki/Fuck?goodTubeProxy=1",l.setAttribute("width","100%"),l.setAttribute("height","100%"),l.setAttribute("frameborder","0"),l.setAttribute("scrolling","yes"),l.setAttribute("allow","accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"),l.setAttribute("referrerpolicy","strict-origin-when-cross-origin"),l.setAttribute("allowfullscreen",!0),l.style.display="none",a.appendChild(l),ae=a,P=l,Go(),setInterval(Go,100)}let Ft=!1;function ha(){if(y)Ft||(at(!0),Ft=!0);else{Ft=!1;let e=document.querySelector("#player.ytd-watch-flexy");if((!e||e.offsetHeight<=0)&&(e=document.querySelector("#ytd-player")),(!e||e.offsetHeight<=0)&&(e=document.querySelector(".player-size")),(!e||e.offsetHeight<=0)&&(e=document.querySelector(".html5-video-player")),e&&e.offsetHeight>0){let t=e.getBoundingClientRect();ae.style.top=t.top+window.scrollY+"px",ae.style.left=t.left+window.scrollX+"px",ae.style.width=e.offsetWidth+"px",ae.style.height=e.offsetHeight+"px",qe(ae)}}}let tt=setTimeout(()=>{},0);function ot(){d=document.getElementById("movie_player"),typeof d.getPlaylist=="function"&&typeof d.getPlaylistIndex=="function"?(ne=d.getPlaylist(),Ze=d.getPlaylistIndex(),ne||(clearTimeout(tt),tt=setTimeout(ot,100))):(clearTimeout(tt),tt=setTimeout(ot,100))}let Oo=setTimeout(()=>{},0);function Bo(){if(re="",Ta(),!Co){clearTimeout(Oo),Oo=setTimeout(Bo,100);return}let e=0;Ve==="false"&&typeof v.t<"u"&&(e=parseFloat(v.t.replace("s","")));let t="false";if(typeof v.i<"u"||typeof v.index<"u"||typeof v.list<"u"?(t="true",ot()):(ne=!1,Ze=0),Mo){F()||at();let i="";e>0&&(i="&start="+e),P.contentWindow.postMessage("goodTube_src_https://www.youtube.com/embed/"+v.v+"?goodTubeEmbed=1&autoplay=1&goodTube_playlist="+t+"&goodTube_autoplay="+W+"&goodTube_playbackSpeed="+ye+"&goodTube_hideInfoCards="+Pe+"&goodTube_hideEndScreen="+ze+i,"*"),Mo=!1}else P.contentWindow.postMessage("goodTube_load_"+v.v+"|||"+e+"|||"+t,"*");Ve==="false"&&Ut(),rt()}let it=setTimeout(()=>{},0);function Ut(){if(!Pt){clearTimeout(it),it=setTimeout(Ut,100);return}d=document.getElementById("movie_player");let e=!1,t=!1;if(d&&typeof d.getVideoData=="function"&&typeof d.getCurrentTime=="function"&&(e=d.getVideoData(),t=e.video_id),!e||!t||t!==v.v){clearTimeout(it),it=setTimeout(Ut,100);return}let i=Math.floor(d.getCurrentTime());i>=10&&Po(i,t)}function at(e=!1){Be||(e?(d=document.getElementById("movie_player"),d&&typeof d.stopVideo=="function"&&d.stopVideo()):P.contentWindow.postMessage("goodTube_stopVideo","*")),J(ae)}function Po(e,t=""){P.contentWindow.postMessage("goodTube_skipTo_"+e+"|||"+t,"*")}function Ta(){P.contentWindow.postMessage("goodTube_pause","*")}let nt=setTimeout(()=>{},0);function rt(){if(!zt||!Pt){clearTimeout(nt),nt=setTimeout(rt,100);return}if(!y)P.contentWindow.postMessage("goodTube_play|||"+v.v,"*");else{d=document.getElementById("movie_player");let e=!1;if(d&&typeof d.getVideoData=="function"&&(e=d.getVideoData()),!e||v.v!==e.video_id){clearTimeout(nt),nt=setTimeout(rt,100);return}let t=document.querySelector("#movie_player video");if(t&&t.currentTime>=t.duration)return;d&&typeof d.playVideo=="function"&&setTimeout(()=>{d.playVideo()},100)}}function xa(){document.addEventListener("keydown",zo,!0),document.addEventListener("keyup",zo,!0)}function zo(e){if(!F()||y)return;let t=[{key:">",code:!1,ctrl:!1,shift:!0,alt:!1},{key:"<",code:!1,ctrl:!1,shift:!0,alt:!1},{key:",",code:!1,ctrl:!1,shift:!1,alt:!1},{key:".",code:!1,ctrl:!1,shift:!1,alt:!1},{key:"arrowleft",code:!1,ctrl:!1,shift:!1,alt:!1},{key:"arrowright",code:!1,ctrl:!1,shift:!1,alt:!1},{key:"j",code:!1,ctrl:!1,shift:!1,alt:!1},{key:"l",code:!1,ctrl:!1,shift:!1,alt:!1},{key:" ",code:!1,ctrl:!1,shift:!1,alt:!1},{key:"k",code:!1,ctrl:!1,shift:!1,alt:!1},{key:"mediaplaypause",code:!1,ctrl:!1,shift:!1,alt:!1},{key:"m",code:!1,ctrl:!1,shift:!1,alt:!1},{key:"f",code:!1,ctrl:!1,shift:!1,alt:!1},{key:"c",code:!1,ctrl:!1,shift:!1,alt:!1},{key:"o",code:!1,ctrl:!1,shift:!1,alt:!1},{key:"w",code:!1,ctrl:!1,shift:!1,alt:!1},{key:"=",code:!1,ctrl:!1,shift:!1,alt:!1},{key:"-",code:!1,ctrl:!1,shift:!1,alt:!1},{key:"w",code:!1,ctrl:!1,shift:!1,alt:!1},{key:"a",code:!1,ctrl:!1,shift:!1,alt:!1},{key:"s",code:!1,ctrl:!1,shift:!1,alt:!1},{key:"d",code:!1,ctrl:!1,shift:!1,alt:!1},{key:"[",code:!1,ctrl:!1,shift:!1,alt:!1},{key:"]",code:!1,ctrl:!1,shift:!1,alt:!1},{key:!1,code:"numpadadd",ctrl:!1,shift:!1,alt:!1},{key:!1,code:"numpadsubtract",ctrl:!1,shift:!1,alt:!1},{key:"0",code:!1,ctrl:!1,shift:!1,alt:!1},{key:"1",code:!1,ctrl:!1,shift:!1,alt:!1},{key:"2",code:!1,ctrl:!1,shift:!1,alt:!1},{key:"3",code:!1,ctrl:!1,shift:!1,alt:!1},{key:"4",code:!1,ctrl:!1,shift:!1,alt:!1},{key:"5",code:!1,ctrl:!1,shift:!1,alt:!1},{key:"6",code:!1,ctrl:!1,shift:!1,alt:!1},{key:"7",code:!1,ctrl:!1,shift:!1,alt:!1},{key:"8",code:!1,ctrl:!1,shift:!1,alt:!1},{key:"9",code:!1,ctrl:!1,shift:!1,alt:!1},{key:"i",code:!1,ctrl:!1,shift:!1,alt:!1},{key:"arrowleft",code:!1,ctrl:!0,shift:!1,alt:!1},{key:"arrowright",code:!1,ctrl:!0,shift:!1,alt:!1}],i=e.key.toLowerCase(),a=e.code.toLowerCase(),l=e.ctrlKey;e.metaKey&&(l=e.metaKey);let u=e.shiftKey,m=e.altKey,k=!1;if(t.forEach(T=>{(i===T.key||a===T.code)&&l===T.ctrl&&u===T.shift&&m===T.alt&&(k=!0)}),k){let T=e.srcElement,w=!1,te=!1;if(T&&(typeof T.nodeName<"u"&&(w=T.nodeName.toLowerCase()),typeof T.getAttribute<"u"&&(te=T.getAttribute("id"))),!T||w.indexOf("input")===-1&&w.indexOf("label")===-1&&w.indexOf("select")===-1&&w.indexOf("textarea")===-1&&w.indexOf("fieldset")===-1&&w.indexOf("legend")===-1&&w.indexOf("datalist")===-1&&w.indexOf("output")===-1&&w.indexOf("option")===-1&&w.indexOf("optgroup")===-1&&te!=="contenteditable-root"){e.preventDefault(),e.stopImmediatePropagation();let oe=e.key,C=e.keyCode;i==="mediaplaypause"&&(oe=" ",C=32),P.contentWindow.postMessage("goodTube_shortcut_"+e.type+"_"+oe+"_"+C+"_"+e.ctrlKey+"_"+e.metaKey+"_"+e.shiftKey+"_"+e.altKey,"*")}}}function Vo(e=!1){d=document.getElementById("movie_player"),d&&typeof d.nextVideo=="function"&&d.nextVideo(),console.log("[GoodTube] Playing next video...")}function va(){d=document.getElementById("movie_player"),d&&typeof d.previousVideo=="function"&&d.previousVideo(),console.log("[GoodTube] Playing previous video...")}function ka(){ot(),(W==="true"||ne&&Ze{},0);function Ho(e=!1){e||(window.top===window.self&&(console.log(` ================================================== ______ ________ __ / ____/___ ____ ____/ /_ __/_ __/ /_ ___ @@ -142,7 +142,7 @@ / /_/ / /_/ / /_/ / /_/ / / / / /_/ / /_/ / __/ \\____/\\____/\\____/\\____/ /_/ \\____/_____/\\___/ -==================================================`),console.log("[GoodTube] Initiating...")),window.addEventListener("message",Yo),Pt(),document.addEventListener("DOMContentLoaded",Ut),(document.readyState==="interactive"||document.readyState==="complete")&&Ut()),!document.body||!document.head?(clearTimeout(Uo),Uo=setTimeout(()=>{Ho(!0)},1)):Ut()}function Ut(){Fo||(Fo=!0,Ia(),ua(),pa(),Ro(),La(),Aa(),xa(),Sa())}let nt=setTimeout(()=>{},0);function Yo(e){if(typeof e.data=="string"){if(!document.body||!document.head?(clearTimeout(nt),nt=setTimeout(()=>{Yo(e)},100)):e.data==="goodTube_proxyIframe_loaded"?Mo=!0:e.data==="goodTube_playerIframe_loaded"&&(Ot=!0,P.style.display="block"),e.data.indexOf("goodTube_pip_")!==-1)e.data.replace("goodTube_pip_","")==="true"?Be=!0:(Be=!1,typeof v.v>"u"&&ot());else if(e.data.indexOf("goodTube_playbackSpeed_")!==-1)p("goodTube_playbackSpeed",e.data.replace("goodTube_playbackSpeed_","")),ye=e.data.replace("goodTube_playbackSpeed_","");else if(e.data==="goodTube_prevVideo")va();else if(e.data==="goodTube_nextVideo")Vo();else if(e.data==="goodTube_videoEnded")ka();else if(e.data==="goodTube_theater"&&!document.fullscreenElement){let t=document.querySelector(".ytp-size-button");t&&q(t)}else if(e.data==="goodTube_autoplay_false")p("goodTube_autoplay","false"),W="false";else if(e.data==="goodTube_autoplay_true")p("goodTube_autoplay","true"),W="true";else if(e.data.indexOf("goodTube_syncMainPlayer_")!==-1&&F()&&!y){let t=parseFloat(e.data.replace("goodTube_syncMainPlayer_","")),i=document.querySelector("#movie_player video");if(d=document.getElementById("movie_player"),!d||typeof d.seekTo!="function"||typeof d.playVideo!="function"||typeof d.mute!="function"||typeof d.setVolume!="function")return;i&&Math.floor(i.currentTime)!==Math.floor(t)&&!Rt()&&(Nt=!0,d.playVideo(),d.seekTo(t-.5),d.mute(),d.setVolume(0),i.volume=0,i.muted=!0,clearTimeout(nt),nt=setTimeout(()=>{Nt=!1},1e3))}else if(e.data==="goodTube_fallback_enable")y=!0,document.body&&!document.body.classList.contains("goodTube_fallback")&&document.body.classList.add("goodTube_fallback"),_a(),Wo(),at(),document.fullscreenElement&&(document.exitFullscreen(),window.setTimeout(()=>{let t=document.querySelector(".ytp-fullscreen-button");t&&q(t)},100));else if(e.data==="goodTube_fallback_disable")y=!1,document.body&&document.body.classList.contains("goodTube_fallback")&&document.body.classList.remove("goodTube_fallback"),document.fullscreenElement&&(document.exitFullscreen(),window.setTimeout(()=>{P.contentWindow.postMessage("goodTube_fullscreen","*")},100));else if(e.data.indexOf("goodTube_syncAspectRatio_")!==-1){let t=e.data.replace("goodTube_syncAspectRatio_","").split("_");ya(t[0],t[1])}}}function Go(){let e=So;e&&(e=e.split("#")[0],e=e.split("index=")[0]);let t=window.location.href;t&&(t=t.split("#")[0],t=t.split("index=")[0]),e!==t&&(v=Eo(),F()?(Bo(),Ea()):ot(),So=window.location.href),F()&&(wa(),ma(),y||ga(),ba(),ha(),Da()),fa()}function Sa(){let e=document.createElement("div");document.body.appendChild(e);let t=" checked";be==="true"&&(t="");let i="";Pe==="true"&&(i=" checked");let a="";ze==="true"&&(a=" checked");let l="";Ke==="true"&&(l=" checked");let u="";Je==="true"&&(u=" checked");let m="";Xe==="true"&&(m=" checked");let k="";Ve==="true"&&(k=" checked");let T="";$e==="true"&&(T=" checked"),We(e,` +==================================================`),console.log("[GoodTube] Initiating...")),window.addEventListener("message",Yo),Vt(),document.addEventListener("DOMContentLoaded",Ht),(document.readyState==="interactive"||document.readyState==="complete")&&Ht()),!document.body||!document.head?(clearTimeout(Uo),Uo=setTimeout(()=>{Ho(!0)},1)):Ht()}function Ht(){Fo||(Fo=!0,Ia(),ua(),pa(),No(),La(),Aa(),xa(),Sa())}let dt=setTimeout(()=>{},0);function Yo(e){if(typeof e.data=="string"){if(!document.body||!document.head?(clearTimeout(dt),dt=setTimeout(()=>{Yo(e)},100)):e.data==="goodTube_proxyIframe_loaded"?Co=!0:e.data==="goodTube_playerIframe_loaded"&&(Pt=!0,P.style.display="block"),e.data.indexOf("goodTube_pip_")!==-1)e.data.replace("goodTube_pip_","")==="true"?Be=!0:(Be=!1,typeof v.v>"u"&&at());else if(e.data.indexOf("goodTube_playbackSpeed_")!==-1)p("goodTube_playbackSpeed",e.data.replace("goodTube_playbackSpeed_","")),ye=e.data.replace("goodTube_playbackSpeed_","");else if(e.data==="goodTube_prevVideo")va();else if(e.data==="goodTube_nextVideo")Vo();else if(e.data==="goodTube_videoEnded")ka();else if(e.data==="goodTube_theater"&&!document.fullscreenElement){let t=document.querySelector(".ytp-size-button");t&&q(t)}else if(e.data==="goodTube_autoplay_false")p("goodTube_autoplay","false"),W="false";else if(e.data==="goodTube_autoplay_true")p("goodTube_autoplay","true"),W="true";else if(e.data.indexOf("goodTube_syncMainPlayer_")!==-1&&F()&&!y){let t=parseFloat(e.data.replace("goodTube_syncMainPlayer_","")),i=document.querySelector("#movie_player video");if(d=document.getElementById("movie_player"),!d||typeof d.seekTo!="function"||typeof d.playVideo!="function"||typeof d.mute!="function"||typeof d.setVolume!="function")return;i&&Math.floor(i.currentTime)!==Math.floor(t)&&!Ot()&&(Bt=!0,d.playVideo(),d.seekTo(t-.5),d.mute(),d.setVolume(0),i.volume=0,i.muted=!0,clearTimeout(dt),dt=setTimeout(()=>{Bt=!1},1e3))}else if(e.data==="goodTube_fallback_enable")y=!0,document.body&&!document.body.classList.contains("goodTube_fallback")&&document.body.classList.add("goodTube_fallback"),_a(),Wo(),rt(),document.fullscreenElement&&(document.exitFullscreen(),window.setTimeout(()=>{let t=document.querySelector(".ytp-fullscreen-button");t&&q(t)},100));else if(e.data==="goodTube_fallback_disable")y=!1,document.body&&document.body.classList.contains("goodTube_fallback")&&document.body.classList.remove("goodTube_fallback"),document.fullscreenElement&&(document.exitFullscreen(),window.setTimeout(()=>{P.contentWindow.postMessage("goodTube_fullscreen","*")},100));else if(e.data.indexOf("goodTube_syncAspectRatio_")!==-1){let t=e.data.replace("goodTube_syncAspectRatio_","").split("_");ya(t[0],t[1])}}}function Go(){let e=Io;e&&(e=e.split("#")[0],e=e.split("index=")[0]);let t=window.location.href;t&&(t=t.split("#")[0],t=t.split("index=")[0]),e!==t&&(v=So(),F()?(Bo(),Ea()):at(),Io=window.location.href),F()&&(wa(),ma(),y||ga(),ba(),ha(),Da()),fa()}function Sa(){let e=document.createElement("div");document.body.appendChild(e);let t=" checked";be==="true"&&(t="");let i="";Pe==="true"&&(i=" checked");let a="";ze==="true"&&(a=" checked");let l="";Ke==="true"&&(l=" checked");let u="";Je==="true"&&(u=" checked");let m="";Xe==="true"&&(m=" checked");let k="";Ve==="true"&&(k=" checked");let T="";$e==="true"&&(T=" checked"),We(e,` @@ -592,7 +592,7 @@ margin-bottom: 16px; height: 128px; } - `,document.head.appendChild(w);let te=document.querySelector(".goodTube_menuButton"),oe=document.querySelector(".goodTube_menuClose");oe&&oe.addEventListener("click",()=>{te.remove(),oe.remove()});let C=document.querySelector(".goodTube_modal"),ce=document.querySelector(".goodTube_modal .goodTube_modal_overlay"),ie=document.querySelector(".goodTube_modal .goodTube_modal_closeButton");te&&te.addEventListener("click",()=>{if(C){let U=document.querySelector(".goodTube_report");U&&(U.style.display="block");let H=document.querySelector(".goodTube_successText");H&&(H.style.display="none");let _=document.querySelector(".goodTube_reportEmail");_&&(_.value="");let B=document.querySelector(".goodTube_reportText");B&&(B.value=""),C.classList.add("visible")}}),ce&&ce.addEventListener("click",()=>{C&&C.classList.contains("visible")&&C.classList.remove("visible")}),ie&&ie.addEventListener("click",()=>{C&&C.classList.contains("visible")&&C.classList.remove("visible")}),document.addEventListener("keydown",U=>{U.key.toLowerCase()==="escape"&&C&&C.classList.contains("visible")&&C.classList.remove("visible")});let ct=document.getElementById("goodTube_button_saveSettings");ct&&ct.addEventListener("click",()=>{let U=document.querySelector(".goodTube_option_shorts");U&&(U.checked?p("goodTube_shorts","false"):p("goodTube_shorts","true"));let H=document.querySelector(".goodTube_option_hideInfoCards");H&&(H.checked?p("goodTube_hideInfoCards","true"):p("goodTube_hideInfoCards","false"));let _=document.querySelector(".goodTube_option_hideEndScreen");_&&(_.checked?p("goodTube_hideEndScreen","true"):p("goodTube_hideEndScreen","false"));let B=document.querySelector(".goodTube_option_hideSuggestedVideos");B&&(B.checked?p("goodTube_hideSuggestedVideos","true"):p("goodTube_hideSuggestedVideos","false"));let ke=document.querySelector(".goodTube_option_hideComments");ke&&(ke.checked?p("goodTube_hideComments","true"):p("goodTube_hideComments","false"));let ft=document.querySelector(".goodTube_option_hideAiSummaries");ft&&(ft.checked?p("goodTube_hideAiSummaries","true"):p("goodTube_hideAiSummaries","false"));let mt=document.querySelector(".goodTube_option_alwaysStart");mt&&(mt.checked?p("goodTube_alwaysStart","true"):p("goodTube_alwaysStart","false"));let gt=document.querySelector(".goodTube_option_blackBackground");gt&&(gt.checked?p("goodTube_blackBackground","true"):p("goodTube_blackBackground","false")),window.location.href=window.location.href});let Fe=document.querySelector(".goodTube_report"),pt=document.querySelector(".goodTube_successText");Fe&&pt&&Fe.addEventListener("submit",U=>{U.preventDefault(),U.stopImmediatePropagation();let H={email:document.querySelector(".goodTube_reportEmail")?.value,message:document.querySelector(".goodTube_reportText")?.value},_={method:"POST",body:JSON.stringify(H),headers:{"Content-Type":"application/json; charset=UTF-8"},referrerPolicy:"no-referrer"};fetch("https://jamenlyndon.com/_other/stats/mail.php",_).then(B=>B.text()).then(B=>{Fe.style.display="none",pt.style.display="block"})})}function Ia(){window.addEventListener("focus",()=>{Bt=!0}),window.addEventListener("blur",()=>{Bt=!1})}function La(){let e=document.createElement("style"),t=` + `,document.head.appendChild(w);let te=document.querySelector(".goodTube_menuButton"),oe=document.querySelector(".goodTube_menuClose");oe&&oe.addEventListener("click",()=>{te.remove(),oe.remove()});let C=document.querySelector(".goodTube_modal"),ce=document.querySelector(".goodTube_modal .goodTube_modal_overlay"),ie=document.querySelector(".goodTube_modal .goodTube_modal_closeButton");te&&te.addEventListener("click",()=>{if(C){let U=document.querySelector(".goodTube_report");U&&(U.style.display="block");let H=document.querySelector(".goodTube_successText");H&&(H.style.display="none");let _=document.querySelector(".goodTube_reportEmail");_&&(_.value="");let B=document.querySelector(".goodTube_reportText");B&&(B.value=""),C.classList.add("visible")}}),ce&&ce.addEventListener("click",()=>{C&&C.classList.contains("visible")&&C.classList.remove("visible")}),ie&&ie.addEventListener("click",()=>{C&&C.classList.contains("visible")&&C.classList.remove("visible")}),document.addEventListener("keydown",U=>{U.key.toLowerCase()==="escape"&&C&&C.classList.contains("visible")&&C.classList.remove("visible")});let ft=document.getElementById("goodTube_button_saveSettings");ft&&ft.addEventListener("click",()=>{let U=document.querySelector(".goodTube_option_shorts");U&&(U.checked?p("goodTube_shorts","false"):p("goodTube_shorts","true"));let H=document.querySelector(".goodTube_option_hideInfoCards");H&&(H.checked?p("goodTube_hideInfoCards","true"):p("goodTube_hideInfoCards","false"));let _=document.querySelector(".goodTube_option_hideEndScreen");_&&(_.checked?p("goodTube_hideEndScreen","true"):p("goodTube_hideEndScreen","false"));let B=document.querySelector(".goodTube_option_hideSuggestedVideos");B&&(B.checked?p("goodTube_hideSuggestedVideos","true"):p("goodTube_hideSuggestedVideos","false"));let ke=document.querySelector(".goodTube_option_hideComments");ke&&(ke.checked?p("goodTube_hideComments","true"):p("goodTube_hideComments","false"));let gt=document.querySelector(".goodTube_option_hideAiSummaries");gt&&(gt.checked?p("goodTube_hideAiSummaries","true"):p("goodTube_hideAiSummaries","false"));let bt=document.querySelector(".goodTube_option_alwaysStart");bt&&(bt.checked?p("goodTube_alwaysStart","true"):p("goodTube_alwaysStart","false"));let yt=document.querySelector(".goodTube_option_blackBackground");yt&&(yt.checked?p("goodTube_blackBackground","true"):p("goodTube_blackBackground","false")),window.location.href=window.location.href});let Fe=document.querySelector(".goodTube_report"),mt=document.querySelector(".goodTube_successText");Fe&&mt&&Fe.addEventListener("submit",U=>{U.preventDefault(),U.stopImmediatePropagation();let H={email:document.querySelector(".goodTube_reportEmail")?.value,message:document.querySelector(".goodTube_reportText")?.value},_={method:"POST",body:JSON.stringify(H),headers:{"Content-Type":"application/json; charset=UTF-8"},referrerPolicy:"no-referrer"};fetch("https://jamenlyndon.com/_other/stats/mail.php",_).then(B=>B.text()).then(B=>{Fe.style.display="none",mt.style.display="block"})})}function Ia(){window.addEventListener("focus",()=>{zt=!0}),window.addEventListener("blur",()=>{zt=!1})}function La(){let e=document.createElement("style"),t=` .ytp-skip-ad-button { bottom: 48px !important; right: 32px !important; @@ -674,7 +674,7 @@ .ytp-videowall-still { display: none !important; } - `),e.textContent=t,document.head.appendChild(e);function i(a){if(!F()||re!=="enabled"||a.ctrlKey||a.altKey||a.metaKey)return;let l=a.key.toLowerCase(),u=a.srcElement,m=!1,k=!1;u&&(typeof u.nodeName<"u"&&(m=u.nodeName.toLowerCase()),typeof u.getAttribute<"u"&&(k=u.getAttribute("id"))),(!u||m.indexOf("input")===-1&&m.indexOf("label")===-1&&m.indexOf("select")===-1&&m.indexOf("textarea")===-1&&m.indexOf("fieldset")===-1&&m.indexOf("legend")===-1&&m.indexOf("datalist")===-1&&m.indexOf("output")===-1&&m.indexOf("option")===-1&&m.indexOf("optgroup")===-1&&k!=="contenteditable-root")&&(l===" "||l==="k"||l==="m"||l==="i")&&(a.preventDefault(),a.stopImmediatePropagation())}document.addEventListener("keydown",i,!0),document.addEventListener("keypress",i,!0),document.addEventListener("keyup",i,!0),jo()}function Da(){y&&F()?Rt()?Ma():Ca():re=""}let re="";function Ma(){let e=document.getElementById("goodTube_hideMuteAdsOverlay");if(re==="enabled"&&e)return;let t=document.querySelector("#movie_player video");t&&(t.playbackRate=2,t.muted=!0,t.volume=0,J(t));let i=document.querySelector(".ytp-chrome-bottom");i&&J(i);let a=document.getElementById("movie_player");a&&(a.style.pointerEvents="none");let l=document.querySelector(".ytp-caption-window-container");if(a&&J(l),!e){let u=document.createElement("div");u.setAttribute("id","goodTube_hideMuteAdsOverlay"),We(u,` + `),e.textContent=t,document.head.appendChild(e);function i(a){if(!F()||re!=="enabled"||a.ctrlKey||a.altKey||a.metaKey)return;let l=a.key.toLowerCase(),u=a.srcElement,m=!1,k=!1;u&&(typeof u.nodeName<"u"&&(m=u.nodeName.toLowerCase()),typeof u.getAttribute<"u"&&(k=u.getAttribute("id"))),(!u||m.indexOf("input")===-1&&m.indexOf("label")===-1&&m.indexOf("select")===-1&&m.indexOf("textarea")===-1&&m.indexOf("fieldset")===-1&&m.indexOf("legend")===-1&&m.indexOf("datalist")===-1&&m.indexOf("output")===-1&&m.indexOf("option")===-1&&m.indexOf("optgroup")===-1&&k!=="contenteditable-root")&&(l===" "||l==="k"||l==="m"||l==="i")&&(a.preventDefault(),a.stopImmediatePropagation())}document.addEventListener("keydown",i,!0),document.addEventListener("keypress",i,!0),document.addEventListener("keyup",i,!0),jo()}function Da(){y&&F()?Ot()?Ma():Ca():re=""}let re="";function Ma(){let e=document.getElementById("goodTube_hideMuteAdsOverlay");if(re==="enabled"&&e)return;let t=document.querySelector("#movie_player video");t&&(t.playbackRate=2,t.muted=!0,t.volume=0,J(t));let i=document.querySelector(".ytp-chrome-bottom");i&&J(i);let a=document.getElementById("movie_player");a&&(a.style.pointerEvents="none");let l=document.querySelector(".ytp-caption-window-container");if(a&&J(l),!e){let u=document.createElement("div");u.setAttribute("id","goodTube_hideMuteAdsOverlay"),We(u,`
@@ -682,7 +682,7 @@
Hang tight. Click the skip button if it appears to speed things up.
- `);let m=document.querySelector(".ytp-ad-player-overlay-layout");m&&m.prepend(u)}Ht(!0),re="enabled"}function Ca(){if(re==="disabled")return;let e=document.querySelector("#movie_player video");e&&(e.playbackRate=ye,d=document.getElementById("movie_player"),d&&typeof d.unMute=="function"&&typeof d.setVolume=="function"&&typeof d.getVolume=="function"&&(e.volume<=0||e.muted||d.getVolume()===0)&&(e.muted=!1,e.volume=1,d.unMute(),d.setVolume(100)),qe(e));let t=document.querySelector(".ytp-chrome-bottom");t&&qe(t);let i=document.getElementById("movie_player");i&&(i.style.pointerEvents="auto");let a=document.querySelector(".ytp-caption-window-container");i&&qe(a);let l=document.getElementById("goodTube_hideMuteAdsOverlay");l&&l.remove(),Ht(),re="disabled"}let Qo=setTimeout(()=>{},0);function jo(){let e=document.querySelector("#movie_player .ytp-autonav-toggle-button");e?e.addEventListener("click",()=>{let t="true";e.getAttribute("aria-checked")==="true"&&(t="false"),p("goodTube_autoplay",t),P.contentWindow.postMessage("goodTube_autoplay_"+t,"*")}):(clearTimeout(Qo),Qo=setTimeout(jo,100))}let qo=setTimeout(()=>{},0);function Wo(){let e=document.querySelector("#movie_player .ytp-autonav-toggle-button");e&&e.checkVisibility()?e.getAttribute("aria-checked")!==W&&q(e):(clearTimeout(qo),qo=setTimeout(Wo,100))}let Zo=setTimeout(()=>{},0);function Ht(e=!1){if(!(!y||!F())&&(d=document.getElementById("movie_player"),d&&typeof d.playVideo=="function"&&typeof d.mute=="function"&&typeof d.setVolume=="function")){let t=document.querySelector("#movie_player video");if(d.playVideo(),e&&(d.mute(),d.setVolume(0)),t){e&&(t.muted=!0,t.volume=0);let i=t.currentTime;clearTimeout(Zo),Zo=setTimeout(()=>{t.currentTime===i&&Ht()},100)}}}let Ko=!1,Jo=setTimeout(()=>{},0);function Xo(e=!1){e||(window.addEventListener("message",lt),document.addEventListener("DOMContentLoaded",rt),(document.readyState==="interactive"||document.readyState==="complete")&&rt()),!document.body||!document.head?(clearTimeout(Jo),Jo=setTimeout(()=>{Xo(!0)},1)):rt()}let $o=setTimeout(()=>{},0);function rt(){s=document.getElementById("movie_player");let e=!1;if(s&&typeof s.getVideoData=="function"&&(e=s.getVideoData()),!e){clearTimeout($o),$o=setTimeout(rt,1);return}Ko||(Ko=!0,Ba(),ii(),ni(),za(),xe(),Ha(),setInterval(bi,5e3),Na(),ei(),setInterval(ei,100),window.top.postMessage("goodTube_playerIframe_loaded","*"))}function ei(){Ra(),Ua(),Oa(),Ya(),v.goodTube_playlist!=="undefined"&&v.goodTube_playlist==="true"&&ti(),Ga()}function Ra(){document.querySelector(".ytp-error")?y||(y=!0,window.top.postMessage("goodTube_fallback_enable","*"),xe(),clearTimeout(st)):y&&(y=!1,window.top.postMessage("goodTube_fallback_disable","*"),xe(),clearTimeout(st))}function Na(){typeof v.goodTube_playbackSpeed<"u"&&s&&typeof s.setPlaybackRate=="function"&&s.setPlaybackRate(parseFloat(v.goodTube_playbackSpeed)),setInterval(()=>{s&&typeof s.getPlaybackRate=="function"&&window.top.postMessage("goodTube_playbackSpeed_"+s.getPlaybackRate(),"*")},100)}function Oa(){document.querySelectorAll(".ytp-videowall-still:not(.goodTube_fixed), .ytp-ce-covering-overlay:not(.goodTube_fixed)").forEach(t=>{t.addEventListener("click",i=>{i.preventDefault(),i.stopImmediatePropagation(),window.top.location.href=t.href},!0),t.addEventListener("mousedown",i=>{i.button===0&&(i.preventDefault(),i.stopImmediatePropagation())},!0),t.addEventListener("mouseup",i=>{i.button===0&&(i.preventDefault(),i.stopImmediatePropagation())},!0),t.addEventListener("touchstart",i=>{i.preventDefault(),i.stopImmediatePropagation()},!0),t.addEventListener("touchend",i=>{i.preventDefault(),i.stopImmediatePropagation()},!0),t.classList.add("goodTube_fixed")})}function Ba(){let e=document.createElement("style"),t=` + `);let m=document.querySelector(".ytp-ad-player-overlay-layout");m&&m.prepend(u)}Yt(!0),re="enabled"}function Ca(){if(re==="disabled")return;let e=document.querySelector("#movie_player video");e&&(e.playbackRate=ye,d=document.getElementById("movie_player"),d&&typeof d.unMute=="function"&&typeof d.setVolume=="function"&&typeof d.getVolume=="function"&&(e.volume<=0||e.muted||d.getVolume()===0)&&(e.muted=!1,e.volume=1,d.unMute(),d.setVolume(100)),qe(e));let t=document.querySelector(".ytp-chrome-bottom");t&&qe(t);let i=document.getElementById("movie_player");i&&(i.style.pointerEvents="auto");let a=document.querySelector(".ytp-caption-window-container");i&&qe(a);let l=document.getElementById("goodTube_hideMuteAdsOverlay");l&&l.remove(),Yt(),re="disabled"}let Qo=setTimeout(()=>{},0);function jo(){let e=document.querySelector("#movie_player .ytp-autonav-toggle-button");e?e.addEventListener("click",()=>{let t="true";e.getAttribute("aria-checked")==="true"&&(t="false"),p("goodTube_autoplay",t),P.contentWindow.postMessage("goodTube_autoplay_"+t,"*")}):(clearTimeout(Qo),Qo=setTimeout(jo,100))}let qo=setTimeout(()=>{},0);function Wo(){let e=document.querySelector("#movie_player .ytp-autonav-toggle-button");e&&e.checkVisibility()?e.getAttribute("aria-checked")!==W&&q(e):(clearTimeout(qo),qo=setTimeout(Wo,100))}let Zo=setTimeout(()=>{},0);function Yt(e=!1){if(!(!y||!F())&&(d=document.getElementById("movie_player"),d&&typeof d.playVideo=="function"&&typeof d.mute=="function"&&typeof d.setVolume=="function")){let t=document.querySelector("#movie_player video");if(d.playVideo(),e&&(d.mute(),d.setVolume(0)),t){e&&(t.muted=!0,t.volume=0);let i=t.currentTime;clearTimeout(Zo),Zo=setTimeout(()=>{t.currentTime===i&&Yt()},100)}}}let Ko=!1,Jo=setTimeout(()=>{},0);function Xo(e=!1){e||(window.addEventListener("message",ut),document.addEventListener("DOMContentLoaded",lt),(document.readyState==="interactive"||document.readyState==="complete")&<()),!document.body||!document.head?(clearTimeout(Jo),Jo=setTimeout(()=>{Xo(!0)},1)):lt()}let $o=setTimeout(()=>{},0);function lt(){s=document.getElementById("movie_player");let e=!1;if(s&&typeof s.getVideoData=="function"&&(e=s.getVideoData()),!e){clearTimeout($o),$o=setTimeout(lt,1);return}Ko||(Ko=!0,Ba(),ii(),ni(),za(),xe(),Ha(),setInterval(bi,5e3),Na(),ei(),setInterval(ei,100),window.top.postMessage("goodTube_playerIframe_loaded","*"))}function ei(){Ra(),Ua(),Oa(),Ya(),v.goodTube_playlist!=="undefined"&&v.goodTube_playlist==="true"&&ti(),Ga()}function Ra(){document.querySelector(".ytp-error")?y||(y=!0,window.top.postMessage("goodTube_fallback_enable","*"),xe(),clearTimeout(ct)):y&&(y=!1,window.top.postMessage("goodTube_fallback_disable","*"),xe(),clearTimeout(ct))}function Na(){typeof v.goodTube_playbackSpeed<"u"&&s&&typeof s.setPlaybackRate=="function"&&s.setPlaybackRate(parseFloat(v.goodTube_playbackSpeed)),setInterval(()=>{s&&typeof s.getPlaybackRate=="function"&&window.top.postMessage("goodTube_playbackSpeed_"+s.getPlaybackRate(),"*")},100)}function Oa(){document.querySelectorAll(".ytp-videowall-still:not(.goodTube_fixed), .ytp-ce-covering-overlay:not(.goodTube_fixed)").forEach(t=>{t.addEventListener("click",i=>{i.preventDefault(),i.stopImmediatePropagation(),window.top.location.href=t.href},!0),t.addEventListener("mousedown",i=>{i.button===0&&(i.preventDefault(),i.stopImmediatePropagation())},!0),t.addEventListener("mouseup",i=>{i.button===0&&(i.preventDefault(),i.stopImmediatePropagation())},!0),t.addEventListener("touchstart",i=>{i.preventDefault(),i.stopImmediatePropagation()},!0),t.addEventListener("touchend",i=>{i.preventDefault(),i.stopImmediatePropagation()},!0),t.classList.add("goodTube_fixed")})}function Ba(){let e=document.createElement("style"),t=` /* Hide unwanted stuff */ .ytp-gradient-top, .ytp-show-cards-title, @@ -823,7 +823,7 @@ } `),e.textContent=t,document.head.appendChild(e)}function ti(){let e=document.querySelector(".ytp-prev-button");e&&!e.classList.contains("goodTube_visible")&&e.classList.add("goodTube_visible")}function Pa(){let e=document.querySelector(".ytp-prev-button");e&&e.classList.contains("goodTube_visible")&&e.classList.remove("goodTube_visible")}let oi=setTimeout(()=>{},0);function ii(){if(!document.querySelector(".ytp-play-button")){clearTimeout(oi),oi=setTimeout(ii,100);return}let t=document.querySelector(".ytp-prev-button");t&&t.addEventListener("click",function(){window.top.postMessage("goodTube_prevVideo","*")});let i=document.querySelector(".ytp-next-button");i&&i.addEventListener("click",function(){window.top.postMessage("goodTube_nextVideo","*")});let a=document.querySelector(".ytp-size-button");a&&(a.setAttribute("data-tooltip-target-id","ytp-size-button"),a.setAttribute("data-title-no-tooltip","Theater mode (t)"),a.setAttribute("aria-label","Theater mode (t)"),a.setAttribute("title","Theater mode (t)"),a.setAttribute("data-tooltip-title","Theater mode (t)"),We(a,` - `),a.addEventListener("click",function(){window.top.postMessage("goodTube_theater","*")}));let l=document.querySelector(".ytp-subtitles-button");if(l){ca(l,"beforebegin",'');let u=document.querySelector("#goodTube_autoplayButton");u&&u.addEventListener("click",function(){let m=u.querySelector(".ytp-autonav-toggle-button");m.getAttribute("aria-checked")==="true"?(m.setAttribute("aria-checked","false"),window.top.postMessage("goodTube_autoplay_false","*")):(m.setAttribute("aria-checked","true"),window.top.postMessage("goodTube_autoplay_true","*"))})}}let ai=setTimeout(()=>{},0);function ni(){let e=document.querySelector("#movie_player video");if(!e){clearTimeout(ai),ai=setTimeout(ni,100);return}e.addEventListener("ended",function(){bi(!0),window.top.postMessage("goodTube_videoEnded","*")})}function za(){document.addEventListener("keydown",function(e){if(e.ctrlKey||e.altKey||e.metaKey||y)return;let t=e.key.toLowerCase();if(t==="t"&&window.top.postMessage("goodTube_theater","*"),t==="i"){let i=document.querySelector(".ytp-pip-button");i&&q(i)}else t==="p"&&e.shiftKey||t==="mediatrackprevious"?window.top.postMessage("goodTube_prevVideo","*"):(t==="n"&&e.shiftKey||t==="mediatracknext")&&window.top.postMessage("goodTube_nextVideo","*")})}let ee=setTimeout(()=>{},0),Z=!1,de=-1,le=!1,se=!1,ue=!1,g=document.querySelector("video"),S=document.querySelector(".goodTube_doubleSpeed");function Yt(e){let t=e.key.toLowerCase();if(t===" "||t==="k"){if(y)return;if(se){e.preventDefault(),e.stopImmediatePropagation();return}if(e.ctrlKey||e.altKey||e.metaKey||(e.preventDefault(),e.stopImmediatePropagation(),Z)||le)return;le=!0,de=s.getPlaybackRate(),clearTimeout(ee),ee=setTimeout(()=>{s.setPlaybackRate(2),s.playVideo(),S.style.display="block",Z=!0},1e3)}}function Gt(e){let t=e.key.toLowerCase();if(t===" "||t==="k"){if(y)return;if(se){e.preventDefault(),e.stopImmediatePropagation();return}if(e.ctrlKey||e.altKey||e.metaKey)return;e.preventDefault(),e.stopImmediatePropagation()}}function Qt(e){let t=e.key.toLowerCase();if(t===" "||t==="k"){if(y)return;if(se){e.preventDefault(),e.stopImmediatePropagation();return}if(e.ctrlKey||e.altKey||e.metaKey)return;clearTimeout(ee),Z?(s.setPlaybackRate(de),S.style.display="none",Z=!1):(g=document.querySelector("video"),ue=!0,q(g),ue=!1),le=!1,e.preventDefault(),e.stopImmediatePropagation()}}function _e(e){if(e.button===0&&!ue&&!y){if(le){e.preventDefault(),e.stopImmediatePropagation();return}se=!0,e.preventDefault(),e.stopImmediatePropagation(),de=s.getPlaybackRate(),clearTimeout(ee),ee=setTimeout(()=>{s.setPlaybackRate(2),s.playVideo(),S.style.display="block",Z=!0},1e3)}}function jt(e){ue||y||(e.preventDefault(),e.stopImmediatePropagation())}function he(e){if(e.button===0&&!ue&&!y){if(le){e.preventDefault(),e.stopImmediatePropagation();return}clearTimeout(ee),Z?(s.setPlaybackRate(de),S.style.display="none",Z=!1):(g=document.querySelector("video"),ue=!0,q(g),ue=!1,setTimeout(g.focus())),se=!1,e.preventDefault(),e.stopImmediatePropagation()}}function Te(e){if(!y){if(le){e.preventDefault(),e.stopImmediatePropagation();return}e.preventDefault(),e.stopImmediatePropagation(),clearTimeout(ee),Z&&(s.setPlaybackRate(de),S.style.display="none",Z=!1),se=!1}}let dt=setTimeout(()=>{},0);function xe(){if(clearTimeout(ee),Z=!1,le=!1,se=!1,g=document.querySelector("video"),S=document.querySelector(".goodTube_doubleSpeed"),y){document.removeEventListener("keydown",Yt,!0),document.removeEventListener("keypress",Gt,!0),document.removeEventListener("keyup",Qt,!0),g&&(g.removeEventListener("mousedown",_e,!0),g.removeEventListener("touchstart",_e,!0),g.removeEventListener("click",jt,!0),g.removeEventListener("mouseup",he,!0),g.removeEventListener("touchend",he,!0),g.removeEventListener("mouseout",Te,!0),g.removeEventListener("touchcancel",Te,!0)),S&&(S.style.display="none");return}if(!g){clearTimeout(dt),dt=setTimeout(xe,100);return}if(s=document.getElementById("movie_player"),!s||typeof s.getPlaybackRate!="function"||typeof s.setPlaybackRate!="function"||typeof s.playVideo!="function"){clearTimeout(dt),dt=setTimeout(xe,100);return}if(de=s.getPlaybackRate(),s.setPlaybackRate(de),S)S.style.display="none";else{S=document.createElement("div"),S.classList.add("goodTube_doubleSpeed"),S.style.position="relative",S.style.zIndex="999",S.style.display="none",We(S,` + `),a.addEventListener("click",function(){window.top.postMessage("goodTube_theater","*")}));let l=document.querySelector(".ytp-subtitles-button");if(l){ca(l,"beforebegin",'');let u=document.querySelector("#goodTube_autoplayButton");u&&u.addEventListener("click",function(){let m=u.querySelector(".ytp-autonav-toggle-button");m.getAttribute("aria-checked")==="true"?(m.setAttribute("aria-checked","false"),window.top.postMessage("goodTube_autoplay_false","*")):(m.setAttribute("aria-checked","true"),window.top.postMessage("goodTube_autoplay_true","*"))})}}let ai=setTimeout(()=>{},0);function ni(){let e=document.querySelector("#movie_player video");if(!e){clearTimeout(ai),ai=setTimeout(ni,100);return}e.addEventListener("ended",function(){bi(!0),window.top.postMessage("goodTube_videoEnded","*")})}function za(){document.addEventListener("keydown",function(e){if(e.ctrlKey||e.altKey||e.metaKey||y)return;let t=e.key.toLowerCase();if(t==="t"&&window.top.postMessage("goodTube_theater","*"),t==="i"){let i=document.querySelector(".ytp-pip-button");i&&q(i)}else t==="p"&&e.shiftKey||t==="mediatrackprevious"?window.top.postMessage("goodTube_prevVideo","*"):(t==="n"&&e.shiftKey||t==="mediatracknext")&&window.top.postMessage("goodTube_nextVideo","*")})}let ee=setTimeout(()=>{},0),Z=!1,de=-1,le=!1,se=!1,ue=!1,g=document.querySelector("video"),S=document.querySelector(".goodTube_doubleSpeed");function Gt(e){let t=e.key.toLowerCase();if(t===" "||t==="k"){if(y)return;if(se){e.preventDefault(),e.stopImmediatePropagation();return}if(e.ctrlKey||e.altKey||e.metaKey||(e.preventDefault(),e.stopImmediatePropagation(),Z)||le)return;le=!0,de=s.getPlaybackRate(),clearTimeout(ee),ee=setTimeout(()=>{s.setPlaybackRate(2),s.playVideo(),S.style.display="block",Z=!0},1e3)}}function Qt(e){let t=e.key.toLowerCase();if(t===" "||t==="k"){if(y)return;if(se){e.preventDefault(),e.stopImmediatePropagation();return}if(e.ctrlKey||e.altKey||e.metaKey)return;e.preventDefault(),e.stopImmediatePropagation()}}function jt(e){let t=e.key.toLowerCase();if(t===" "||t==="k"){if(y)return;if(se){e.preventDefault(),e.stopImmediatePropagation();return}if(e.ctrlKey||e.altKey||e.metaKey)return;clearTimeout(ee),Z?(s.setPlaybackRate(de),S.style.display="none",Z=!1):(g=document.querySelector("video"),ue=!0,q(g),ue=!1),le=!1,e.preventDefault(),e.stopImmediatePropagation()}}function _e(e){if(e.button===0&&!ue&&!y){if(le){e.preventDefault(),e.stopImmediatePropagation();return}se=!0,e.preventDefault(),e.stopImmediatePropagation(),de=s.getPlaybackRate(),clearTimeout(ee),ee=setTimeout(()=>{s.setPlaybackRate(2),s.playVideo(),S.style.display="block",Z=!0},1e3)}}function qt(e){ue||y||(e.preventDefault(),e.stopImmediatePropagation())}function he(e){if(e.button===0&&!ue&&!y){if(le){e.preventDefault(),e.stopImmediatePropagation();return}clearTimeout(ee),Z?(s.setPlaybackRate(de),S.style.display="none",Z=!1):(g=document.querySelector("video"),ue=!0,q(g),ue=!1,setTimeout(g.focus())),se=!1,e.preventDefault(),e.stopImmediatePropagation()}}function Te(e){if(!y){if(le){e.preventDefault(),e.stopImmediatePropagation();return}e.preventDefault(),e.stopImmediatePropagation(),clearTimeout(ee),Z&&(s.setPlaybackRate(de),S.style.display="none",Z=!1),se=!1}}let st=setTimeout(()=>{},0);function xe(){if(clearTimeout(ee),Z=!1,le=!1,se=!1,g=document.querySelector("video"),S=document.querySelector(".goodTube_doubleSpeed"),y){document.removeEventListener("keydown",Gt,!0),document.removeEventListener("keypress",Qt,!0),document.removeEventListener("keyup",jt,!0),g&&(g.removeEventListener("mousedown",_e,!0),g.removeEventListener("touchstart",_e,!0),g.removeEventListener("click",qt,!0),g.removeEventListener("mouseup",he,!0),g.removeEventListener("touchend",he,!0),g.removeEventListener("mouseout",Te,!0),g.removeEventListener("touchcancel",Te,!0)),S&&(S.style.display="none");return}if(!g){clearTimeout(st),st=setTimeout(xe,100);return}if(s=document.getElementById("movie_player"),!s||typeof s.getPlaybackRate!="function"||typeof s.setPlaybackRate!="function"||typeof s.playVideo!="function"){clearTimeout(st),st=setTimeout(xe,100);return}if(de=s.getPlaybackRate(),s.setPlaybackRate(de),S)S.style.display="none";else{S=document.createElement("div"),S.classList.add("goodTube_doubleSpeed"),S.style.position="relative",S.style.zIndex="999",S.style.display="none",We(S,`
2x
@@ -834,7 +834,7 @@
- `);let e=document.querySelector(".html5-video-player");e&&e.appendChild(S)}document.removeEventListener("keydown",Yt,!0),document.addEventListener("keydown",Yt,!0),document.removeEventListener("keypress",Gt,!0),document.addEventListener("keypress",Gt,!0),document.removeEventListener("keyup",Qt,!0),document.addEventListener("keyup",Qt,!0),g.removeEventListener("mousedown",_e,!0),g.addEventListener("mousedown",_e,!0),g.removeEventListener("touchstart",_e,!0),g.addEventListener("touchstart",_e,!0),g.removeEventListener("click",jt,!0),g.addEventListener("click",jt,!0),g.removeEventListener("mouseup",he,!0),g.addEventListener("mouseup",he,!0),g.removeEventListener("touchend",he,!0),g.addEventListener("touchend",he,!0),g.removeEventListener("mouseout",Te,!0),g.addEventListener("mouseout",Te,!0),g.removeEventListener("touchcancel",Te,!0),g.addEventListener("touchcancel",Te,!0)}function Va(e,t){s=document.getElementById("movie_player"),s&&typeof s.loadVideoById=="function"&&typeof s.getVideoData=="function"&&(s.loadVideoById({videoId:e,startSeconds:t}),xe())}let ve=setTimeout(()=>{},0);function lt(e){if(typeof e.data!="string")return;if(!document.body||!document.head){clearTimeout(ve),ve=setTimeout(()=>{lt(e)},100);return}s=document.getElementById("movie_player");let t=!1;if(s&&typeof s.getVideoData=="function"&&(t=s.getVideoData()),!t){clearTimeout(ve),ve=setTimeout(()=>{lt(e)},100);return}if(e.data.indexOf("goodTube_load_")!==-1){let i=e.data.replace("goodTube_load_","").split("|||"),a=i[0],l=parseFloat(i[1]);i[2]==="true"?ti():Pa(),Va(a,l)}else if(e.data==="goodTube_stopVideo")Wt(),pi();else if(e.data.indexOf("goodTube_skipTo_")!==-1){let i=e.data.replace("goodTube_skipTo_","").split("|||"),a=parseFloat(i[0]),l=i[1];if(l!==""&&t.video_id!==l){clearTimeout(ve),ve=setTimeout(()=>{lt(e)},100);return}si(a)}else if(e.data==="goodTube_pause")Wt();else if(e.data.indexOf("goodTube_play|||")!==-1)gi(e.data.replace("goodTube_play|||",""));else if(e.data==="goodTube_endScreen_show")document.body&&document.body.classList.contains("goodTube_hideEndScreen")&&document.body.classList.remove("goodTube_hideEndScreen");else if(e.data==="goodTube_endScreen_hide")document.body&&!document.body.classList.contains("goodTube_hideEndScreen")&&document.body.classList.add("goodTube_hideEndScreen");else if(e.data.indexOf("goodTube_shortcut_")!==-1){let i=document.querySelector("video");if(i){let a=e.data.replace("goodTube_shortcut_","").split("_"),l=a[0],u={bubbles:!0,key:a[1],keyCode:a[2],ctrlKey:a[3]==="true",metaKey:a[4]==="true",shiftKey:a[5]==="true",altKey:a[6]==="true"};i.dispatchEvent(new KeyboardEvent(l,u))}}else e.data==="goodTube_fullscreen"?ri():e.data==="goodTube_autoplay_true"?(p("goodTube_autoplay","true"),W="true",qt("true")):e.data==="goodTube_autoplay_false"&&(p("goodTube_autoplay","false"),W="false",qt("false"))}let st=setTimeout(()=>{},0);function ri(){let e=document.querySelector(".ytp-fullscreen-button");e?q(e):(clearTimeout(st),st=setTimeout(ri,100))}let di=setTimeout(()=>{},0);function qt(e){let t=document.querySelector("#goodTube_autoplayButton");t?t.querySelector(".ytp-autonav-toggle-button").getAttribute("aria-checked")!==e&&q(t):(clearTimeout(di),di=setTimeout(()=>{qt(e)},100))}let li=setTimeout(()=>{},0);function si(e){let t=document.querySelector("video");t?t.currentTime=parseFloat(e):(clearTimeout(li),li=setTimeout(()=>{si(e)},100))}let ui=setTimeout(()=>{},0);function Wt(){let e=document.querySelector("video");e?e.pause():(clearTimeout(ui),ui=setTimeout(Wt,100))}let ci=setTimeout(()=>{},0);function pi(){let e=document.querySelector("video");e?e.muted=!0:(clearTimeout(ci),ci=setTimeout(pi,100))}let fi=setTimeout(()=>{},0);function Fa(){let e=document.querySelector("video");e?e.muted=!1:(clearTimeout(fi),fi=setTimeout(Fa,100))}let mi=setTimeout(()=>{},0);function gi(e){s=document.getElementById("movie_player");let t=!1;if(s&&typeof s.getVideoData=="function"&&(t=s.getVideoData()),!t||e!==t.video_id){clearTimeout(mi),mi=setTimeout(()=>{gi(e)},100);return}let i=document.querySelector("#movie_player video");i&&i.currentTime>=i.duration||s&&typeof s.playVideo=="function"&&s.playVideo()}function Ua(){let e=document.querySelector(".ytp-fullscreen-button");e&&(e.setAttribute("aria-disabled","false"),document.querySelector(".ytp-fullscreen")?e.setAttribute("title","Exit full screen (f)"):e.setAttribute("title","Full screen (f)"))}function bi(e=!1){let t=document.querySelector("video");if(t){let i=t.currentTime;e&&(i=t.duration),window.top.postMessage("goodTube_syncMainPlayer_"+i,"*")}}function Ha(){addEventListener("leavepictureinpicture",e=>{Be=!1,window.top.postMessage("goodTube_pip_false","*")}),addEventListener("enterpictureinpicture",e=>{Be=!0,window.top.postMessage("goodTube_pip_true","*")})}function Ya(){"mediaSession"in navigator&&(navigator.mediaSession.setActionHandler("nexttrack",()=>{window.top.postMessage("goodTube_nextVideo","*")}),navigator.mediaSession.setActionHandler("previoustrack",()=>{window.top.postMessage("goodTube_prevVideo","*")}))}function Ga(){let e=document.querySelector("video");if(e){let a=function(m,k){return k==0?m:a(k,m%k)},l=function(m,k){var T=a(m,k);return[m/T,k/T]},t=e.videoWidth,i=e.videoHeight,u=l(t,i);u.length===2&&!isNaN(u[0])&&!isNaN(u[1])&&window.top.postMessage("goodTube_syncAspectRatio_"+u[0]+"_"+u[1],"*")}}let yi=!1,_i=setTimeout(()=>{},0);function hi(){window.addEventListener("message",Kt),document.addEventListener("DOMContentLoaded",Zt),(document.readyState==="interactive"||document.readyState==="complete")&&Zt(),!document.body||!document.head?(clearTimeout(_i),_i=setTimeout(hi,1)):Zt()}function Zt(){yi||(yi=!0,Qa(),ja(),window.top.postMessage("goodTube_proxyIframe_loaded","*"))}function Qa(){let e=document.createElement("style");e.textContent=` + `);let e=document.querySelector(".html5-video-player");e&&e.appendChild(S)}document.removeEventListener("keydown",Gt,!0),document.addEventListener("keydown",Gt,!0),document.removeEventListener("keypress",Qt,!0),document.addEventListener("keypress",Qt,!0),document.removeEventListener("keyup",jt,!0),document.addEventListener("keyup",jt,!0),g.removeEventListener("mousedown",_e,!0),g.addEventListener("mousedown",_e,!0),g.removeEventListener("touchstart",_e,!0),g.addEventListener("touchstart",_e,!0),g.removeEventListener("click",qt,!0),g.addEventListener("click",qt,!0),g.removeEventListener("mouseup",he,!0),g.addEventListener("mouseup",he,!0),g.removeEventListener("touchend",he,!0),g.addEventListener("touchend",he,!0),g.removeEventListener("mouseout",Te,!0),g.addEventListener("mouseout",Te,!0),g.removeEventListener("touchcancel",Te,!0),g.addEventListener("touchcancel",Te,!0)}function Va(e,t){s=document.getElementById("movie_player"),s&&typeof s.loadVideoById=="function"&&typeof s.getVideoData=="function"&&(s.loadVideoById({videoId:e,startSeconds:t}),xe())}let ve=setTimeout(()=>{},0);function ut(e){if(typeof e.data!="string")return;if(!document.body||!document.head){clearTimeout(ve),ve=setTimeout(()=>{ut(e)},100);return}s=document.getElementById("movie_player");let t=!1;if(s&&typeof s.getVideoData=="function"&&(t=s.getVideoData()),!t){clearTimeout(ve),ve=setTimeout(()=>{ut(e)},100);return}if(e.data.indexOf("goodTube_load_")!==-1){let i=e.data.replace("goodTube_load_","").split("|||"),a=i[0],l=parseFloat(i[1]);i[2]==="true"?ti():Pa(),Va(a,l)}else if(e.data==="goodTube_stopVideo")Zt(),pi();else if(e.data.indexOf("goodTube_skipTo_")!==-1){let i=e.data.replace("goodTube_skipTo_","").split("|||"),a=parseFloat(i[0]),l=i[1];if(l!==""&&t.video_id!==l){clearTimeout(ve),ve=setTimeout(()=>{ut(e)},100);return}si(a)}else if(e.data==="goodTube_pause")Zt();else if(e.data.indexOf("goodTube_play|||")!==-1)gi(e.data.replace("goodTube_play|||",""));else if(e.data==="goodTube_endScreen_show")document.body&&document.body.classList.contains("goodTube_hideEndScreen")&&document.body.classList.remove("goodTube_hideEndScreen");else if(e.data==="goodTube_endScreen_hide")document.body&&!document.body.classList.contains("goodTube_hideEndScreen")&&document.body.classList.add("goodTube_hideEndScreen");else if(e.data.indexOf("goodTube_shortcut_")!==-1){let i=document.querySelector("video");if(i){let a=e.data.replace("goodTube_shortcut_","").split("_"),l=a[0],u={bubbles:!0,key:a[1],keyCode:a[2],ctrlKey:a[3]==="true",metaKey:a[4]==="true",shiftKey:a[5]==="true",altKey:a[6]==="true"};i.dispatchEvent(new KeyboardEvent(l,u))}}else e.data==="goodTube_fullscreen"?ri():e.data==="goodTube_autoplay_true"?(p("goodTube_autoplay","true"),W="true",Wt("true")):e.data==="goodTube_autoplay_false"&&(p("goodTube_autoplay","false"),W="false",Wt("false"))}let ct=setTimeout(()=>{},0);function ri(){let e=document.querySelector(".ytp-fullscreen-button");e?q(e):(clearTimeout(ct),ct=setTimeout(ri,100))}let di=setTimeout(()=>{},0);function Wt(e){let t=document.querySelector("#goodTube_autoplayButton");t?t.querySelector(".ytp-autonav-toggle-button").getAttribute("aria-checked")!==e&&q(t):(clearTimeout(di),di=setTimeout(()=>{Wt(e)},100))}let li=setTimeout(()=>{},0);function si(e){let t=document.querySelector("video");t?t.currentTime=parseFloat(e):(clearTimeout(li),li=setTimeout(()=>{si(e)},100))}let ui=setTimeout(()=>{},0);function Zt(){let e=document.querySelector("video");e?e.pause():(clearTimeout(ui),ui=setTimeout(Zt,100))}let ci=setTimeout(()=>{},0);function pi(){let e=document.querySelector("video");e?e.muted=!0:(clearTimeout(ci),ci=setTimeout(pi,100))}let fi=setTimeout(()=>{},0);function Fa(){let e=document.querySelector("video");e?e.muted=!1:(clearTimeout(fi),fi=setTimeout(Fa,100))}let mi=setTimeout(()=>{},0);function gi(e){s=document.getElementById("movie_player");let t=!1;if(s&&typeof s.getVideoData=="function"&&(t=s.getVideoData()),!t||e!==t.video_id){clearTimeout(mi),mi=setTimeout(()=>{gi(e)},100);return}let i=document.querySelector("#movie_player video");i&&i.currentTime>=i.duration||s&&typeof s.playVideo=="function"&&s.playVideo()}function Ua(){let e=document.querySelector(".ytp-fullscreen-button");e&&(e.setAttribute("aria-disabled","false"),document.querySelector(".ytp-fullscreen")?e.setAttribute("title","Exit full screen (f)"):e.setAttribute("title","Full screen (f)"))}function bi(e=!1){let t=document.querySelector("video");if(t){let i=t.currentTime;e&&(i=t.duration),window.top.postMessage("goodTube_syncMainPlayer_"+i,"*")}}function Ha(){addEventListener("leavepictureinpicture",e=>{Be=!1,window.top.postMessage("goodTube_pip_false","*")}),addEventListener("enterpictureinpicture",e=>{Be=!0,window.top.postMessage("goodTube_pip_true","*")})}function Ya(){"mediaSession"in navigator&&(navigator.mediaSession.setActionHandler("nexttrack",()=>{window.top.postMessage("goodTube_nextVideo","*")}),navigator.mediaSession.setActionHandler("previoustrack",()=>{window.top.postMessage("goodTube_prevVideo","*")}))}function Ga(){let e=document.querySelector("video");if(e){let a=function(m,k){return k==0?m:a(k,m%k)},l=function(m,k){var T=a(m,k);return[m/T,k/T]},t=e.videoWidth,i=e.videoHeight,u=l(t,i);u.length===2&&!isNaN(u[0])&&!isNaN(u[1])&&window.top.postMessage("goodTube_syncAspectRatio_"+u[0]+"_"+u[1],"*")}}let yi=!1,_i=setTimeout(()=>{},0);function hi(){window.addEventListener("message",Jt),document.addEventListener("DOMContentLoaded",Kt),(document.readyState==="interactive"||document.readyState==="complete")&&Kt(),!document.body||!document.head?(clearTimeout(_i),_i=setTimeout(hi,1)):Kt()}function Kt(){yi||(yi=!0,Qa(),ja(),window.top.postMessage("goodTube_proxyIframe_loaded","*"))}function Qa(){let e=document.createElement("style");e.textContent=` /* Hide the page */ body *:not(#goodTube_youtube_iframe) { display: none !important; @@ -856,4 +856,4 @@ right: 0; z-index: 99999; } - `,document.head.appendChild(e)}function ja(){let e=document.createElement("iframe");e.src="",e.setAttribute("width","100%"),e.setAttribute("height","100%"),e.setAttribute("frameborder","0"),e.setAttribute("scrolling","yes"),e.setAttribute("allow","accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"),e.setAttribute("referrerpolicy","strict-origin-when-cross-origin"),e.setAttribute("allowfullscreen",!0),e.setAttribute("id","goodTube_youtube_iframe"),document.body.appendChild(e)}let ut=setTimeout(()=>{},0);function Kt(e){if(typeof e.data!="string")return;(!document.body||!document.head)&&(clearTimeout(ut),ut=setTimeout(()=>{Kt(e)},100));let t=document.getElementById("goodTube_youtube_iframe");t?e.data.indexOf("goodTube_src_")!==-1?t.src===""||t.src.indexOf("?goodTubeProxy=1")!==-1?t.src=e.data.replace("goodTube_src_",""):t.contentWindow.location.replace(e.data.replace("goodTube_src_","")):t.contentWindow.postMessage(e.data,"*"):(clearTimeout(ut),ut=setTimeout(()=>{Kt(e)},100))}function qa(){window.top===window.self&&window.location.href.indexOf("youtube")!==-1?Ho():window.location.href.indexOf("?goodTubeProxy=1")!==-1?hi():window.location.href.indexOf("?goodTubeEmbed=1")!==-1&&Xo()}qa()})();})(); + `,document.head.appendChild(e)}function ja(){let e=document.createElement("iframe");e.src="",e.setAttribute("width","100%"),e.setAttribute("height","100%"),e.setAttribute("frameborder","0"),e.setAttribute("scrolling","yes"),e.setAttribute("allow","accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"),e.setAttribute("referrerpolicy","strict-origin-when-cross-origin"),e.setAttribute("allowfullscreen",!0),e.setAttribute("id","goodTube_youtube_iframe"),document.body.appendChild(e)}let pt=setTimeout(()=>{},0);function Jt(e){if(typeof e.data!="string")return;(!document.body||!document.head)&&(clearTimeout(pt),pt=setTimeout(()=>{Jt(e)},100));let t=document.getElementById("goodTube_youtube_iframe");t?e.data.indexOf("goodTube_src_")!==-1?t.src===""||t.src.indexOf("?goodTubeProxy=1")!==-1?t.src=e.data.replace("goodTube_src_",""):t.contentWindow.location.replace(e.data.replace("goodTube_src_","")):t.contentWindow.postMessage(e.data,"*"):(clearTimeout(pt),pt=setTimeout(()=>{Jt(e)},100))}function qa(){window.top===window.self&&window.location.href.indexOf("youtube")!==-1?Ho():window.location.href.indexOf("?goodTubeProxy=1")!==-1?hi():window.location.href.indexOf("?goodTubeEmbed=1")!==-1&&Xo()}qa()})();})();