From 0a56c12270f2337a6db771b33c2fec8a3522aa3e Mon Sep 17 00:00:00 2001 From: Riley Smith Date: Sun, 30 Jan 2022 15:06:29 -0800 Subject: [PATCH] add v2.1.0 --- .DS_Store | Bin 0 -> 6148 bytes META-INF/cose.manifest | 56 +++++++-------- META-INF/cose.sig | Bin 3090 -> 3090 bytes META-INF/manifest.mf | 64 +++++++++--------- META-INF/mozilla.rsa | Bin 4337 -> 4337 bytes META-INF/mozilla.sf | 4 +- ...b849.js => background.injected-3cca8ca2.js | 2 +- background.js | 6 +- content/twitch/index.js | 4 +- content/twitch/inject.js | 2 +- content/youtube/index.js | 6 +- content/youtube/inject.js | 11 ++- ...e-71c76849.js => fetch_youtube-cfbafc47.js | 2 +- ...77000.js => get_stream_details-14cd00a5.js | 2 +- inject_script.util-a32f14cf.js | 5 ++ inject_script.util-c1ec59e3.js | 5 -- manifest.json | 10 +-- popup/index.js | 32 ++++----- 18 files changed, 105 insertions(+), 106 deletions(-) create mode 100644 .DS_Store rename background.injected-af36b849.js => background.injected-3cca8ca2.js (91%) rename fetch_youtube-71c76849.js => fetch_youtube-cfbafc47.js (52%) rename get_stream_details-b6177000.js => get_stream_details-14cd00a5.js (74%) create mode 100644 inject_script.util-a32f14cf.js delete mode 100644 inject_script.util-c1ec59e3.js diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..5008ddfcf53c02e82d7eee2e57c38e5672ef89f6 GIT binary patch literal 6148 zcmeH~Jr2S!425mzP>H1@V-^m;4Wg<&0T*E43hX&L&p$$qDprKhvt+--jT7}7np#A3 zem<@ulZcFPQ@L2!n>{z**++&mCkOWA81W14cNZlEfg7;MkzE(HCqgga^y>{tEnwC%0;vJ&^%eQ zLs35+`xjp>T0_h7?K#UTL%Zt^a|S|$()m72f-IIHZn3bHZV3?7Y#EqFflSTGBPzbFgBAq z2$VoMj;m)BE)RIXjYItE7`t82;SpJn5XJ!|p@-=nR`@&kEPSs4{``4L6rh${H;CWV zM7iu)nwW_}0bjwICaVsU4hg}3P@?(6j9)qsHq|bUZ6U}nOakiGA>}~rnIj=Kd8N~> z3X}BqZhQ}4in_(Nw@u>I!Jme;Sq#0bd^Yv}qYb?ZcX_knYTgDepa3Pf$q{$YMz>sC zPQW(N)kkO>bjO*~wU%LJB6);X;C%irRB#0o$Cwl7$PP~r7DF{5@OR{Y^UdB?BkA0p z&Zy>dWw3-6d(v1g5^6n=GQ1@!7W%O_)Ug1r@*e!tbm2Aq*myU_HC;O$nBiWlokR&t z9{#{*aC*2+Nf5f3H-f*T8-V>m)H3_iFA3U)0jG#0oh2!&SkSY*vdtMp*}W$g!70EDZX|CM&L2D z-T8kHZOW|lTA^y$xZJ2^ZD{TDnt@i7%ME=$mqwiLs`w@Fxb;gv2=trL)^%^7uEmq*8en7A i`V$#!0tqq4*6yEE2avk(J3MixG;g%!BKnxkf7N?J#a7?| delta 700 zcmV;t0z>_h7?K#UTL%ZrD;H>?gFKUB2f-IHH!?9XF)%n<7Y#EqFflPTGBGhRFgTMs z2$Vpyn&!2A#uG##D}0$s13B_djZ;SLbsSjM6d5wA+^ICA+EoeA8g990id!oHM677^i(X(t} zH1MTSs+UB?rRcmIFN-V+ecj)eojAIQC92a>ZtjDsoHWcj!ZQUqHKR>`{bsxP$w1Qs z3}ttW)}uQj-42~MTgE^;4~Gu(?V^Ycv9~y*8w;rtLAl0Ovk;G*wFK%N`0TbF6@_evB;~m=6%)sek$% zWPah{&qX7@e>lPa!>S1z%ZjCq2-wmlR?d~KI*_d_pv|ufn8n~g9Sh%w28OG^bGD34 zHWW&{udHAnLK-{D@=lD_r_B)8is8+a9ytpZi%$tEX*?9mvANKHilF2s)d&#th%Q?l z+G9Mpok!qY3J1(#V+YB!ARH1MabB74%sz!;?V=Qz!FD};avUsAT2sW}%$DfoE?VNR z8leBaBdLzc1nS?GnZ}Iq{T%3O<1y~aW~{abz>C+7N<1eVj*&Y54JK|X@G){;n{?5e z93kG-3dgyuihLYLZYib#@T10S1t?r@Z*okoQcjO1Wo iX=pc)Ury^l?}uNfcg_dgN(NzfpR8@usW-lsC^+az;7hOo diff --git a/META-INF/manifest.mf b/META-INF/manifest.mf index 5396974..48f9f9a 100644 --- a/META-INF/manifest.mf +++ b/META-INF/manifest.mf @@ -2,44 +2,44 @@ Manifest-Version: 1.0 Name: manifest.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: QyOWplGk05hY8yqOckI5ow3flts= -SHA256-Digest: YsavbsFOHi+AXVSbguQu0Tv60yoFhK9W3mW++ablOII= +SHA1-Digest: 8r4ge1MUkevIu5TBkndNSqufFpQ= +SHA256-Digest: fs4jGOByTYlWclNPpZVNV+wBFaXT6bWERzbjCnnoPe4= Name: background.js Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: otZGFtDhcnbfdUJOCjW9i1NYPO0= -SHA256-Digest: mgVRfmNzMoxvuLndSlKK4AkCWDabpbekleOV++9cWtU= +SHA1-Digest: XqO63B4wrLb+qeRrur//MuXmTDg= +SHA256-Digest: MBwWJFWEitL5u4MiFpXe9wLvbu0v7biLBR5Wisap2RI= Name: index-6137f488.js Digest-Algorithms: SHA1 SHA256 SHA1-Digest: rNamLTYc/X4gd/dLBlk300AQOW8= SHA256-Digest: S33prVTiy5xonbBTGTEKPY1v+Lb84anybWbye+zq6wE= -Name: background.injected-af36b849.js +Name: background.injected-3cca8ca2.js Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: UF0lgn7oKe72Bjg/lBEwzH4Umis= -SHA256-Digest: NTFIqjrprPiv/JKI7ppnvr3q1Ibt8C/IGbLwkr3nHNk= +SHA1-Digest: Jkar4HKfUBl6hXuMilzSMoCT0Aw= +SHA256-Digest: jgpG5gD1Z25xRR6P5j0WTobFMtp6RcO8WDHHfIp6itk= -Name: get_stream_details-b6177000.js +Name: get_stream_details-14cd00a5.js Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: yCTRLEgpVeUuVBx6nRlIZGc/FkA= -SHA256-Digest: QzA+2ffC9lOLR9vXjdJYGXg12fQY0Fo5ga6Na4muGqU= +SHA1-Digest: iAnKOLOb4udJzWaXY204OcbQYSc= +SHA256-Digest: jJzqqz7+uuyLnGe0wOWx+0AHgeSmQLAiIhKUALSiL2M= Name: parse_token.util-ed270559.js Digest-Algorithms: SHA1 SHA256 SHA1-Digest: IBgALOyVpV5c2qndWHw3xIwYD8o= SHA256-Digest: EVxzphZ3DjnCxgg69Bb+Cb6qU+IQuSD6dp93AIhNWZg= -Name: fetch_youtube-71c76849.js -Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: 42eBw2OqRR68eu8r/SPuKyFKaOQ= -SHA256-Digest: MRh597WCWZkT9t03IVvwdcOZZmjMuu7K4soQU/T2a/0= - Name: router.interface-6cdbc015.js Digest-Algorithms: SHA1 SHA256 SHA1-Digest: W9ch3UrWE93U87O7CGQLo4Zn1O8= SHA256-Digest: icJArSO2T+nG5wNcv9j54PPcb7/4hrTvQgkyxvoww74= +Name: fetch_youtube-cfbafc47.js +Digest-Algorithms: SHA1 SHA256 +SHA1-Digest: vT66ulvIu0xCOVXaZGZWh2c2nF0= +SHA256-Digest: 6cQ6wZl/x0zOK/qQemwBNcc2ZkofI5ouXjHMG+t5cBE= + Name: style-inject.es-a0e1a0ba.js Digest-Algorithms: SHA1 SHA256 SHA1-Digest: syuFaCktG1wUUxfCChPrKvOC3Po= @@ -60,10 +60,10 @@ Digest-Algorithms: SHA1 SHA256 SHA1-Digest: pr0Fwt3L3YF+gW2/f1rMEthMD3c= SHA256-Digest: QWplWRax1J1pkq64mM1eTeDg5Djv/CtiLJoIYlrZSI0= -Name: inject_script.util-c1ec59e3.js +Name: inject_script.util-a32f14cf.js Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: A1nesjjyxjUtFgzMB/LrqVTxYvA= -SHA256-Digest: v9JV86okMb2y8UCyST10ZJmZi28egw6Fpua+HOdpAKU= +SHA1-Digest: 8HCRlK+lL8ZtNwyF7mNi5KuuuzM= +SHA256-Digest: nfDXmVeKgo/UF0V4X6ISb/OUvw68r2Pf7OCDffa40sg= Name: when_ready.util-91474a6b.js Digest-Algorithms: SHA1 SHA256 @@ -77,8 +77,8 @@ SHA256-Digest: 9CNJMH1v+j2WlTe+sIo78TZ6LuVLab2QIwGtrMhSFLw= Name: popup/index.js Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: X/+QqwkoQ/2LSAmw6IojRy+ZFEA= -SHA256-Digest: ELssVW8zEux25qpRliKg44b0YVg8g8MKJ+rSvVpZnQM= +SHA1-Digest: whRlFIsgAHUsxXG+LklCWr4h5xY= +SHA256-Digest: GCERazX/02M0DPZ0xM6LZlOPqojqYzvKRklDqKea0rQ= Name: assets/icon16.png Digest-Algorithms: SHA1 SHA256 @@ -117,23 +117,23 @@ SHA256-Digest: SWQ0c104tRKLaUEOp9jtdl1bKuDYXQQNNXxQjdw6wJ4= Name: content/youtube/inject.js Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: Ov5ue5JIapXyBOzbveEVoBNFPXk= -SHA256-Digest: FOL1i7Z8U1fU66AAbV3F2sSWGlMgSWfSNUAQdP8CgnM= +SHA1-Digest: pByrb3KBCtpW0DLo6/VPDpMRLQY= +SHA256-Digest: TqqIA4FQmVJvtMDGhDnNlVKSLVtGdLDIIl1IqwlH75M= Name: content/youtube/index.js Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: FzEoDMTpvO6RgnXhR7dbrHb9EuU= -SHA256-Digest: uDoKZjRVQJc+v2MjqjIFM5sVrXufOPcRD+BRlXk2Wxg= +SHA1-Digest: sMJtFK28CDraOhO5E5Xa/tDUlQ0= +SHA256-Digest: 0EfiLGj1p2s6EiWdj6A18qNR3KsrusoapIpFw90xb0k= Name: content/twitch/inject.js Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: 7NMc9FYcdiJ+XH27GauS1qIRsac= -SHA256-Digest: SHAgW6ZzT6DnrZMj+fBld3X/GcvpeydsH+zP+JgK+jw= +SHA1-Digest: 3J65UKR/H09RbyTokYymXyxMj/k= +SHA256-Digest: dnGWTJZWut83QwepmncuWjln0/clpDRmUskguhI+Q+Q= Name: content/twitch/index.js Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: 0OlsTi3u80Ji/nlfE/jDs/H3BKQ= -SHA256-Digest: 1UDKMJwQ7k23j1hOxDrq5Mbt3uiLKSfmLQ0lHXDPe54= +SHA1-Digest: HqiBCgezv+LUYn4Umiw4bWs+ePs= +SHA256-Digest: EcqpAHaExr3EikKXkO3w4zw5zKmPu/w8efSbxKPIp5k= Name: content/mogultv/index.js Digest-Algorithms: SHA1 SHA256 @@ -142,11 +142,11 @@ SHA256-Digest: tAOufek6iJjCxZ5pmi9oNsTJl9EeiQppgYLc+9yq19s= Name: META-INF/cose.manifest Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: JbBDgY4Auec9tEuvS6VrbtqtU88= -SHA256-Digest: TnnqxR++CyBRAEwdlIwvhgX7w7TJqfoi16AKWXm6nFM= +SHA1-Digest: BYmOAwTNBgO8Wxycx1Kf8NZscOU= +SHA256-Digest: Zi0CEgOSQTn5wZ0RfTnvHcb1xxKi3JWXHh8Vdb5TzIY= Name: META-INF/cose.sig Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: aq3V7SWNxTjUOvac4nR0ASzSuCo= -SHA256-Digest: NjaNWpbF0miRPZBdCYp2gIlbe0x6ekUrgeZX3GGkUK4= +SHA1-Digest: WVA3bcRE0X2r9BxtYMVyizWvBdo= +SHA256-Digest: r+7Plk+kPNkGrfm3iSQ3YrzmK0RMrInUx2arhNlpwx0= diff --git a/META-INF/mozilla.rsa b/META-INF/mozilla.rsa index 9bb1866c9003cc7e5955b6e0de8ad03f8fd938a4..3914cffbbd44dd1693349735ced105b8c1b93a44 100644 GIT binary patch delta 1680 zcmV;B25cESvQ9rMu>wl~^bZE{^!uZ|tMg%96P#en_yT zFETr6jD*~!ND?xlA>V>2AmmCf_9~H+Js)Ff6nnPH#tFUF&l9aD&AY1@ z-W4Go7$sI5xx|N&>3w}?^GqOksRwz;Pu#xER7SAEUiY<*6zaI7f_6sm42RxH zHS^>>Zo+12XnkT>@73P+;l2RW0zjDt)K>@uqismzg$OSK`%~9~m$WssCbsz#fYSPO z`i&g0acD&(#a7OmD?w3MDeM{+fBML*%I12)4Hc38d|;G420A_*@cBYEkw2;>-FZW> zI`0>LTt_)6DmZG}Im_mm9MEX@L909}99y7Y#q0mkm)u@ru2YpA2=}sgDEMVZp{Z&n z`*~t;Gh2ppf)(E}P`PtCP~GFeZo2@_J}?cDx&|X~8DD`dy@w%DNGy3+k6iP0cQxA89ujTSEhl_2sm$8BsV#dyQcQ2QObE|7enx8D@*&F;1a z--Dj8uF^q7xm|-NU@70#WO-LBr8+NmSTfR5w6VrNBbU&LNQUL?-38PM-i8u|eu(L+6VQW3y_IFvq^mG=?1$;)o+ z%gxv;Nh~v)hSa6*?4B!F)rvkc#*{R70ZQ1fnb*O)V`@9ksVrvrubnVbpPO%6vt$#1 z$X+#nY+Uc)dwY(5M1Z`Flv38H{8KshR1U3L7i&~JK)}R48{ALnO-wJv>5G3%Cg8h! zhcZNvgj|!IMr8Z!@=km@hhO2)o`+=-9)iFmNw~$drYoZIG}(o%U2jbwKVNJ84$`Hg z+~|maJrLu194{pg?Q9<+cE8b@t&T5Z z&&#&1$&(e1-L`(-77t$zluWPFtax&-9(wU5W-va{x~VYEZ1f|b>QZ9ABk+>;mi-+L zZ-t3OE#fgl!}#$3=&%p$Iyy7jJKhPyW$!%;Hm>l-A(tIr3^!zSCHg(i@Lk0DJ%}tz anrx)V`o`fYE|!0du~JiV-I;N#@gF0}IW2(z delta 1680 zcmV;B258=Ge5hl2&4fBS=KQ&!9B$C97(j(d;uf$A(7J(@w~TN-P4lbXaLw_U{LQ zB#w;q*OQUzzFqlMHC$U?li!Xw8|R+}>3z;>2e;2!#He|g8L*J^<~Slk>w05a>VysU;POcSak(o1?< z6IYfEL8K#uwP*MEIJIM8y-vHQi7zTUn|cL`<#q=9;@u8*JvZY9a!Mj2H~2Oc=}tdR z0Z=ndI+Z$N_<)Aiy0%eF!JRL(EggixG6-Q~xk|=I<+dHJWb9daPI$D9=Lu{ZKEi+f=FM?K zzbFn|c`ZvYae&2Mt^*LEHPy%oi}aSedXhpi3$#Rw9L^<=-5Zbi{l0JaYWa7ffxO!Q zGqf7PmEB(LBJoxZ!V2tY4;64-fA>JxZ=2z4TJ)^)*YdDk-h9z_wFlo&7pPB~Z(z!2V?Ely9Wz)x*KNOsQv~IQ zCc*&fpWVG>37)P%6xr5~9LPyfmSJm>|C|HfEVvuRP|^t8s|)>! z>yJsdz=cAq1@Z8Ymez!|7|VXC%!EZU?|<7TL~UPwZF<2epeLA%vBWAyTq5^Mfejr) zQvs#X!M#GS0zBQ2*}iB_lo+T!H}=Md_?MaC`ne~xy12t--K(>k+i9cu(X5|65`m*h zAVHD+5jX|;1`PI@l~fW;M7Gqu*aeM6>t)VhWbK0SWs;boHY1QK1)np2iKg+EjDIpf zI#Km$59BJxj~coJ!JH%B8Kcv4Xg}B{!Ik-;eH=%2L#!KFX#i`tDqz4qxl9*&Fp^Jc zPY}dW15iaDhQ#6XTU&?e7o8+G>=aCaIgUH340$j0N5v2@ZY7KWS+JyIyPa9Lp;tvn zm~?k=$VL&m?93-F;-wCO3hMZ?cDc2SEQv#{#U;(ng*@pR zJ}(H=fQxuiTrzR=8l4-dJ%7I{rCJOXcX4orzv`EPc^+$!7;)~rbjYM86QjEh_Vf|_ z&WvqVT#anRmhlV0===hHvxZ1-atcRH1<;djuR;p>VT> z2J8n1%PSXZ8$3Cacn&&$F*hz6L_X@KL}t4 zL5fODC7t9>f%z~C1_>&LNQUxZcv?d#dNG6F{ z;_a})P^IQxq3bw_+qZySZszZc$)qwc^P$_1i^Y?GKI7UXW3&)-aGF}uR1}LjE?D+G z$P2P_9(&xlUxHoJG_&=T2FcAZ%*K(@h^+3Ty9_3o!P};YdE|>tNO)*&8WJkvN{a$2 zFOnHA%K3!l&YA6h<2;GSlaUSXfewl10M+rQj#_S(GIPi%DAdB1XO58lGYW?9zlmZi z7UU7b*bKc+pF`T#G%U@TV}kU?5RfXtN*#a{6-M4B6yIepnIkDc%1_?vIG59uj8this.sendToContentScript("fetch",[t,e]),this.extensionId=function(){var t;const e=null===(t=document.getElementById("jjdtNVhjLLNiwvfY"))||void 0===t?void 0:t.getAttribute("jjdtNVhjLLNiwvfY");if(!e)throw new Error("Could not resolve extension ID from injected script");return e}(),window.addEventListener("message",(t=>{var e,n;t.source===window&&(null===(e=t.data)||void 0===e?void 0:e.id)===this.extensionId&&"event"===(null===(n=t.data)||void 0===n?void 0:n.type)&&this.onMessage(t.data.data);}));}async onMessage(t){}async getStorage(t){return await this.sendToContentScript("storage.get",t)}async getLiveStorageValue(t,e=(t=>t)){const n={value:e(await this.getStorage(t))},o=window.setInterval((async()=>{n.value=e(await this.getStorage(t));}),1e3);return n.interval=o,n}async setStorage(t,e){return this.sendToContentScript("storage.set",[t,e])}async sendToContentScript(t,e){const n=Math.random().toString();return window.postMessage({id:this.extensionId,nonce:n,type:t,data:e}),new Promise((t=>{const e=o=>{var s,a,i;o.source===window&&(null===(s=o.data)||void 0===s?void 0:s.id)===this.extensionId&&(null===(a=o.data)||void 0===a?void 0:a.nonce)===n&&"response"===(null===(i=o.data)||void 0===i?void 0:i.type)&&(t(o.data.data),window.removeEventListener("message",e));};window.addEventListener("message",e);}))}} +class e extends t{constructor(){super(),this.fetch=async(t,e)=>this.sendToContentScript("fetch",[t,e]),this.extensionId=function(){var t;const e=null===(t=document.getElementById("XQpBuigyZWZGIjvE"))||void 0===t?void 0:t.getAttribute("XQpBuigyZWZGIjvE");if(!e)throw new Error("Could not resolve extension ID from injected script");return e}(),window.addEventListener("message",(t=>{var e,n;t.source===window&&(null===(e=t.data)||void 0===e?void 0:e.id)===this.extensionId&&"event"===(null===(n=t.data)||void 0===n?void 0:n.type)&&this.onMessage(t.data.data);}));}async onMessage(t){}async getStorage(t){return await this.sendToContentScript("storage.get",t)}async getLiveStorageValue(t,e=(t=>t)){const n={value:e(await this.getStorage(t))},o=window.setInterval((async()=>{n.value=e(await this.getStorage(t));}),1e3);return n.interval=o,n}async setStorage(t,e){return this.sendToContentScript("storage.set",[t,e])}async sendToContentScript(t,e){const n=Math.random().toString();return window.postMessage({id:this.extensionId,nonce:n,type:t,data:e}),new Promise((t=>{const e=o=>{var s,a,i;o.source===window&&(null===(s=o.data)||void 0===s?void 0:s.id)===this.extensionId&&(null===(a=o.data)||void 0===a?void 0:a.nonce)===n&&"response"===(null===(i=o.data)||void 0===i?void 0:i.type)&&(t(o.data.data),window.removeEventListener("message",e));};window.addEventListener("message",e);}))}} export { e }; diff --git a/background.js b/background.js index 6179110..67b1c77 100644 --- a/background.js +++ b/background.js @@ -1,6 +1,6 @@ import { d as dt } from './parse_token.util-ed270559.js'; -import { e } from './fetch_youtube-71c76849.js'; import { n } from './router.interface-6cdbc015.js'; -import { s, m } from './storage-a8ac7bd3.js'; +import { e } from './fetch_youtube-cfbafc47.js'; +import { s as s$1, m } from './storage-a8ac7bd3.js'; -class o extends Error{constructor(t,e){super(e),this.code=t,this.message=e;}}const r=(t,e={},a)=>({body:e,meta:{isSuccess:!1,code:t,nonce:a}});let i;const c=t=>s.cookies.getAll({url:t}).then((t=>t.filter((t=>!t.name.startsWith("ST-"))).map((t=>[t.name,t.value])))).then(Object.fromEntries),u={"@me":async()=>{const t=await m.auth.get("token");return dt(t)},logout:async()=>{const t=await m.auth.get("token");await fetch("https://v2.mogultv.org/auth/youtube",{method:"DELETE",headers:{Authorization:`Bearer ${t}`}}),await m.auth.remove("token");},login:async t=>{const a=await c(t.href),s=await fetch("https://v2.mogultv.org/auth/youtube",{method:"POST",body:JSON.stringify(Object.assign(Object.assign({},t),{cookies:a}))});if(200!==s.status)return null;const{jwt:n}=await s.json();return await m.auth.set("token",n),n},link:async t=>{const a=await m.auth.get("token"),n=await fetch(`https://v2.mogultv.org/link/${t}`,{method:"GET",headers:{Authorization:`Bearer ${a}`}});if(200!==n.status)return;const o=await n.text();await chrome.cookies.set({url:"https://v2.mogultv.org",name:"Authorization",value:a,httpOnly:!0,path:`/link/${t}/callback`,expirationDate:Math.floor(Date.now()/1e3)+3600}),await chrome.windows.create({url:o,focused:!0,type:"popup",width:850,height:800});const r=await new Promise((t=>{i=t;}));return m.auth.set("token",r),dt(r)},"finish-link":async(t,e)=>{var s$1,n;(null===(s$1=e.sender.tab)||void 0===s$1?void 0:s$1.id)&&s.tabs.remove(null===(n=e.sender.tab)||void 0===n?void 0:n.id),null==i||i(t);},"disconnect-link":async t=>{const a=await m.auth.get("token"),n=await fetch(`https://v2.mogultv.org/link/${t}`,{method:"DELETE",headers:{Authorization:`Bearer ${a}`}});if(200!==n.status)return;const{jwt:o}=await n.json();return await m.auth.set("token",o),dt(o)}};const l=t=>async()=>{var a,s;const n=await m.cache.get(t);let o;if(n&&n.expiresAt>Date.now())o=n.value;else {const n=await fetch("https://v2.mogultv.org"+t),r=Number(n.headers.get("age")),i=Number((null===(s=null===(a=n.headers.get("cache-control"))||void 0===a?void 0:a.match(/max-age=(\d+)/))||void 0===s?void 0:s[1])||300)-r,c=Date.now()+1e3*i;o=await n.json(),await m.cache.set(t,{expiresAt:c,value:o});}return o},h={youtube:{"get-stream":async()=>{const t=await m.cache.get("get-stream");let a;if(t&&t.expiresAt>Date.now())a=t.value;else {const t=Date.now()+6e4;a=await async function(){try{const t=await fetch("https://youtube.com/channel/UCrPseYLGpNygVi34QpGNqpA/live");if(200!==t.status)return null;const e=await t.text(),a=/(?:window\s*\[\s*["']ytInitialData["']\s*\]|ytInitialData)\s*=\s*({.+?})\s*;/.exec(e);if(a){const t=JSON.parse(a[1]),e=t.currentVideoEndpoint.watchEndpoint.videoId,s=t.contents.twoColumnWatchNextResults.results.results.contents[0].videoPrimaryInfoRenderer,n=t.contents.twoColumnWatchNextResults.results.results.contents[1].videoSecondaryInfoRenderer.owner.videoOwnerRenderer.thumbnail.thumbnails[0].url,o=s.viewCount.videoViewCountRenderer.viewCount.runs.find((t=>/^[0-9,]+$/.test(t.text))).text;return {title:s.title.runs[0].text,viewersCount:parseInt(o.replace(/,/g,"")),previewImageURL:`https://i.ytimg.com/vi/${e}/mqdefault.jpg`,profileImageURL:n}}}catch(t){console.warn(t);}return null}(),await m.cache.set("get-stream",{expiresAt:t,value:a});}return a},"get-user":async t=>{const e$1=await c(t.href),a=await e(Object.assign(Object.assign({},t),{cookies:e$1}));if(!a.success)throw new o(a.code,a.message);return a.data}},gateway:{users:l("/gateway/users"),emotes:l("/gateway/emotes"),badges:l("/gateway/badges"),"set-settings":async t=>{const a=await m.auth.get("token"),n=await fetch("https://v2.mogultv.org/gateway/settings",{method:"PUT",headers:{Authorization:`Bearer ${a}`},body:JSON.stringify(t)}),{jwt:o}=await n.json();return m.auth.set("token",o),dt(o)}},auth:u,extension:{popup:()=>s.action.openPopup(),"open-tab":async t=>{await s.tabs.create({url:t});}}},d=async(e,a)=>{var s;const{path:n$1,body:o}=e;if(!n$1)return;e.meta?e.meta.sender=a:e.meta={sender:a,isPort:!1},e.meta.isPort||(e.meta.isPort=!1);const i=t=>{},c=n$1.split("/").filter(Boolean),u=c[0];if(!(u in h)){return r(n.NotFound,void 0,e.nonce)}const l=h[u][c.slice(1).join("/")];if(!l){return r(n.NotFound,void 0,e.nonce)}try{const a=((e,a)=>({body:e,meta:{isSuccess:!0,code:n.Success,nonce:a}}))(await l(o,e.meta),e.nonce);return i(a),a}catch(a){const n$1=a;return r(null!==(s=n$1.code)&&void 0!==s?s:n.Unknown,{message:n$1.message},e.nonce)}};s.runtime.onConnect.addListener((t=>{const e=t.sender;e&&t.onMessage.addListener((async a=>{a.meta={isPort:!0};const s=await d(a,e);t.postMessage(s);}));})),s.runtime.onMessage.addListener(d); +class s extends Error{constructor(t,e){super(e),this.code=t,this.message=e;}}const r=(t,e={},n)=>({body:e,meta:{isSuccess:!1,code:t,nonce:n}});let i;const c=t=>s$1.cookies.getAll({url:t}).then((t=>t.filter((t=>!t.name.startsWith("ST-"))).map((t=>[t.name,t.value])))).then(Object.fromEntries),u={"@me":async()=>{const t=await m.auth.get("token");return dt(t)},token:async()=>await m.auth.get("token"),logout:async()=>{const t=await m.auth.get("token");await fetch("https://v2.mogultv.org/auth/youtube",{method:"DELETE",headers:{Authorization:`Bearer ${t}`}}),await m.auth.remove("token");},login:async t=>{const n=await c(t.href),a=await fetch("https://v2.mogultv.org/auth/youtube",{method:"POST",body:JSON.stringify(Object.assign(Object.assign({},t),{cookies:n}))});if(200!==a.status)return null;const{jwt:o}=await a.json();return await m.auth.set("token",o),o},link:async t=>{const n=await m.auth.get("token"),o=await fetch(`https://v2.mogultv.org/link/${t}`,{method:"GET",headers:{Authorization:`Bearer ${n}`}});if(200!==o.status)return;const s=await o.text();await chrome.cookies.set({url:"https://v2.mogultv.org",name:"Authorization",value:n,httpOnly:!0,path:`/link/${t}/callback`,expirationDate:Math.floor(Date.now()/1e3)+3600}),await chrome.windows.create({url:s,focused:!0,type:"popup",width:850,height:800});const r=await new Promise((t=>{i=t;}));return m.auth.set("token",r),dt(r)},"finish-link":async(t,e)=>{var a,o;(null===(a=e.sender.tab)||void 0===a?void 0:a.id)&&s$1.tabs.remove(null===(o=e.sender.tab)||void 0===o?void 0:o.id),null==i||i(t);},"disconnect-link":async t=>{const n=await m.auth.get("token"),o=await fetch(`https://v2.mogultv.org/link/${t}`,{method:"DELETE",headers:{Authorization:`Bearer ${n}`}});if(200!==o.status)return;const{jwt:s}=await o.json();return await m.auth.set("token",s),dt(s)}};const l=t=>async()=>{var n,a;const o=await m.cache.get(t);let s;if(o&&o.expiresAt>Date.now())s=o.value;else {const o=await fetch("https://v2.mogultv.org"+t),r=Number(o.headers.get("age")),i=Number((null===(a=null===(n=o.headers.get("cache-control"))||void 0===n?void 0:n.match(/max-age=(\d+)/))||void 0===a?void 0:a[1])||300)-r,c=Date.now()+1e3*i;s=await o.json(),await m.cache.set(t,{expiresAt:c,value:s});}return s};async function d(t,e){const n={sourceType:t,sourceId:e};try{const t=await async function(t,e,n,{throwIfErrors:a}={}){var o;const s=await fetch(t,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({query:e,variables:n})}),r=await s.json();if(a&&(null===(o=r.data)||void 0===o?void 0:o.errors))throw new Error(`spore graphql error ${r.data.errors}`);return r.data}("https://zygote.spore.build/graphql","query GetExtensionMappingConnection($sourceType: String, $sourceId: String) {\n\textensionMappingConnection(sourceType: $sourceType, sourceId: $sourceId) {\n\t\tnodes {\n\t\t\tid\n\t\t\tslug\n\t\t\tiframeUrl\n\t\t\tdomAction\n\t\t\tquerySelector\n\t\t\tiframeQuerySelector\n\t\t}\n\t}\n}",n);return t.extensionMappingConnection.nodes}catch(t){console.error(t);}}const h={youtube:{"get-stream":async()=>{const t=await m.cache.get("get-stream");let n;if(t&&t.expiresAt>Date.now())n=t.value;else {const t=Date.now()+6e4;n=await async function(){try{const t=await fetch("https://youtube.com/channel/UCrPseYLGpNygVi34QpGNqpA/live");if(200!==t.status)return null;const e=await t.text(),n=/(?:window\s*\[\s*["']ytInitialData["']\s*\]|ytInitialData)\s*=\s*({.+?})\s*;/.exec(e);if(n){const t=JSON.parse(n[1]),e=t.currentVideoEndpoint.watchEndpoint.videoId,a=t.contents.twoColumnWatchNextResults.results.results.contents[0].videoPrimaryInfoRenderer,o=t.contents.twoColumnWatchNextResults.results.results.contents[1].videoSecondaryInfoRenderer.owner.videoOwnerRenderer.thumbnail.thumbnails[0].url,s=a.viewCount.videoViewCountRenderer.viewCount.runs.find((t=>/^[0-9,]+$/.test(t.text))).text;return {title:a.title.runs[0].text,viewersCount:parseInt(s.replace(/,/g,"")),previewImageURL:`https://i.ytimg.com/vi/${e}/mqdefault.jpg`,profileImageURL:o}}}catch(t){console.warn(t);}return null}(),await m.cache.set("get-stream",{expiresAt:t,value:n});}return n},"get-user":async t=>{const e$1=await c(t.href),n=await e(Object.assign(Object.assign({},t),{cookies:e$1}));if(!n.success)throw new s(n.code,n.message);return n.data}},gateway:{users:l("/gateway/users"),emotes:l("/gateway/emotes"),badges:l("/gateway/badges"),"set-settings":async t=>{const n=await m.auth.get("token"),o=await fetch("https://v2.mogultv.org/gateway/settings",{method:"PUT",headers:{Authorization:`Bearer ${n}`},body:JSON.stringify(t)}),{jwt:s}=await o.json();return m.auth.set("token",s),dt(s)}},auth:u,extension:{popup:()=>s$1.action.openPopup(),"open-tab":async t=>{await s$1.tabs.create({url:t});}},spore:{"fetch-extension-mappings":async t=>await d("youtube",t)}},w=async(e,n$1)=>{var a;const{path:o,body:s}=e;if(!o)return;e.meta?e.meta.sender=n$1:e.meta={sender:n$1,isPort:!1},e.meta.isPort||(e.meta.isPort=!1);const i=t=>{},c=o.split("/").filter(Boolean),u=c[0];if(!(u in h)){return r(n.NotFound,void 0,e.nonce)}const l=h[u][c.slice(1).join("/")];if(!l){return r(n.NotFound,void 0,e.nonce)}try{const n$1=((e,n$1)=>({body:e,meta:{isSuccess:!0,code:n.Success,nonce:n$1}}))(await l(s,e.meta),e.nonce);return i(n$1),n$1}catch(n$1){const o=n$1;return r(null!==(a=o.code)&&void 0!==a?a:n.Unknown,{message:o.message},e.nonce)}};s$1.runtime.onConnect.addListener((t=>{const e=t.sender;e&&t.onMessage.addListener((async n=>{n.meta={isPort:!0};const a=await w(n,e);t.postMessage(a);}));})),s$1.runtime.onMessage.addListener(w); diff --git a/content/twitch/index.js b/content/twitch/index.js index 94b30f0..6f55fbd 100644 --- a/content/twitch/index.js +++ b/content/twitch/index.js @@ -2,6 +2,6 @@ import '../../index-6137f488.js'; import '../../storage-a8ac7bd3.js'; import '../../connectRuntime-a699491c.js'; import { o } from '../../background.content-5f02aba1.js'; -import { e } from '../../inject_script.util-c1ec59e3.js'; +import { t } from '../../inject_script.util-a32f14cf.js'; -new o,e("content/twitch/inject.js"); +new o,t("content/twitch/inject.js"); diff --git a/content/twitch/inject.js b/content/twitch/inject.js index fb2784d..50bd484 100644 --- a/content/twitch/inject.js +++ b/content/twitch/inject.js @@ -1,5 +1,5 @@ import '../../index-6137f488.js'; -import { e } from '../../background.injected-af36b849.js'; +import { e } from '../../background.injected-3cca8ca2.js'; import { s } from '../../router.interface-6cdbc015.js'; !async function(e){async function a(e){if(Array.isArray(e))for(const t of e)await n(t);return e}async function n(a){var n,i,r;try{switch(a.extensions.operationName){case"FollowingLive_CurrentUser":{const n=a.data,i=await e.fetch("/youtube/get-stream");s(i)&&i.body&&(n.currentUser.followedLiveUsers.edges.push(function({title:e,viewersCount:t,profileImageURL:a,previewImageURL:n}){return {__typename:"FollowedLiveUserEdge",cursor:"LTE=",node:{__typename:"User",id:"40934651",displayName:"ludwig",login:"ludwig",profileImageURL:a,stream:{broadcaster:{id:"40934651",primaryColorHex:"00FFE2",__typename:"User",channel:{id:"40934651",self:{isAuthorized:!0,__typename:"ChannelSelfEdge"},__typename:"Channel"}},id:"-1",previewImageURL:n,game:{id:"-1",name:"YouTube",displayName:"YouTube",boxArtURL:"https://i.postimg.cc/NjQvCPh2/image.png",__typename:"Game"},restriction:null,tags:[],title:e,type:"live",viewersCount:t,__typename:"Stream"}}}}(i.body)),n.currentUser.followedLiveUsers.edges.sort(((e,t)=>t.node.stream.viewersCount-e.node.stream.viewersCount)));break}case"PersonalSections":{const n=a.data.personalSections.find((e=>"FOLLOWED_SECTION"===e.type));if(n){const a=await e.fetch("/youtube/get-stream");s(a)&&a.body&&(n.items.push(function({title:e,viewersCount:t,profileImageURL:a,previewImageURL:n}){return {trackingID:"1bb8ab4b-aed2-4f25-a750-c295d57e6a95",promotionsCampaignID:"",user:{id:"40934651",login:"ludwig",displayName:"ludwig",profileImageURL:a,primaryColorHex:"00FFE2",broadcastSettings:{id:"40934651",title:e,__typename:"BroadcastSettings"},channel:{id:"40934651",creatorAnniversaries:{id:"40934651",isAnniversary:!1,__typename:"CreatorAnniversaries"},__typename:"Channel"},__typename:"User"},label:"NONE",content:{id:"-1",previewImageURL:n,broadcaster:{id:"40934651",broadcastSettings:{id:"40934651",title:e,__typename:"BroadcastSettings"},__typename:"User"},viewersCount:t,self:{canWatch:!0,isRestricted:!1,restrictionType:null,__typename:"StreamSelfConnection"},game:{id:"-1",displayName:"YouTube",name:"YouTube",__typename:"Game"},type:"live",__typename:"Stream"},__typename:"PersonalSectionChannel"}}(a.body)),n.items.sort(((e,t)=>(t.content.viewersCount||0)-(e.content.viewersCount||0))));}break}case"StreamMetadata":{const n=a.data;if("40934651"===n.user.id){const a=await e.fetch("/youtube/get-stream");s(a)&&a.body&&(n.user.lastBroadcast.id="-1",n.user.lastBroadcast.title=a.body.title,n.user.stream={id:"-1",type:"live",createdAt:(new Date).toJSON(),viewersCount:a.body.viewersCount,game:{id:"-1",name:"YouTube",__typename:"Game"},__typename:"Stream"});}break}default:{const o=a.data;if("40934651"===(null===(n=o.user)||void 0===n?void 0:n.id)&&(null===(r=null===(i=o.user)||void 0===i?void 0:i.lastBroadcast)||void 0===r?void 0:r.title)){const a=await e.fetch("/youtube/get-stream");s(a)&&a.body&&(o.user.lastBroadcast.title=a.body.title);}}}}catch(e){}}const i=window.fetch.bind(window);window.fetch=async function(e,t){const n=await i(e,t);try{let t;if(t="string"==typeof e?e:e.url,!t.includes("gql.twitch.tv/gql"))return n;const i=n.text.bind(n),r=n.json.bind(n);n.text=async function(){const e=await i();try{const t=JSON.parse(e);return await a(t),JSON.stringify(t)}catch(t){return e}},n.json=async function(){const e=await r();try{return await a(e),e}catch(t){return e}};}catch(e){return n}return n};}(new e); diff --git a/content/youtube/index.js b/content/youtube/index.js index 69e2d14..1bb00e8 100644 --- a/content/youtube/index.js +++ b/content/youtube/index.js @@ -1,10 +1,10 @@ import '../../index-6137f488.js'; -import { e as e$3 } from '../../get_stream_details-b6177000.js'; +import { e as e$2 } from '../../get_stream_details-14cd00a5.js'; import { e } from '../../style-inject.es-a0e1a0ba.js'; import { s, m } from '../../storage-a8ac7bd3.js'; import '../../connectRuntime-a699491c.js'; import { o as o$1 } from '../../background.content-5f02aba1.js'; -import { e as e$2 } from '../../inject_script.util-c1ec59e3.js'; +import { t } from '../../inject_script.util-a32f14cf.js'; import { e as e$1 } from '../../when_ready.util-91474a6b.js'; -var o="settings-module_ludwigLogo__Wt9ZZ",i="settings-module_ludwigSettingsPopup__Mfv9p";async function c(){const g=await d();let I=document.getElementById("ludwig-settings-popup");g.addEventListener("click",(()=>{I?I.style.display="none"===I.style.display?"block":"none":I=function(){const I=document.createElement("iframe");return I.src=s.runtime.getURL("popup/index.html"),I.id="ludwig-settings-popup",I.className=i,document.body.appendChild(I),window.addEventListener("message",(g=>{g.source===I.contentWindow&&"mogul-tv:close"===g.data&&(I.style.display="none");})),document.addEventListener("keydown",(g=>{"Escape"===g.key&&(I.style.display="none");})),document.addEventListener("click",(A=>{"none"===I.style.display||g.contains(A.target)||I.contains(A.target)||(I.style.display="none");})),I}();}));}function d(){const g=document.getElementById("ludwig-settings-button");if(g)return Promise.resolve(g);const I=document.querySelector("ytd-masthead #end");if(!I)return new Promise((g=>{setTimeout((()=>g(d())),1e3);}));const A=document.createElement("yt-icon-button");A.id="ludwig-settings-button",A.setAttribute("label","Mogul.TV Settings"),A.className="style-scope ytd-masthead";const C=document.createElement("img");return C.src="data:image/png;base64,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WQwIiMSzzDBt4g3i6U3b4LxPHGZFWSU+Jx436YLEj1xXPH7jXHBZ4JlhM52aJw4Ti4U2VtqYFU2NeIo4omo65QsZj1XOW5y1cpU178lfGMrpK8tcpzWMBBaxBAkiFFRRQhk2orTrpFhI0Xncxz/k+iVyKeQqgZFjARVokF0/+B/8nq2Vn5zwkkJxoPPFcT5GgK5doFFznO9jx2mcAMFn4Epv+St1YOaT9FpLixwBfdvAxXVLU/aAyx1g8MmQTdmVgrSEfB54P6NvygL9t0DPmje35jlOH4A0zSp5AxwcAqMFyl73eXd3+9z+7WnO7wefz3K5SrnPGAAAEuFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+Cjx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IlhNUCBDb3JlIDQuNC4wLUV4aXYyIj4KIDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+CiAgPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIKICAgIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIgogICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIgogICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICAgeG1sbnM6R0lNUD0iaHR0cDovL3d3dy5naW1wLm9yZy94bXAvIgogICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgIHhtcE1NOkRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDo3NTM0YTk5NC0xNDIzLTZjNDctYTExNi01ZjUzMWZkYzZkM2UiCiAgIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6ZDhlZDc2NDctZDYzMy00NDczLWI4MWYtY2NiYjRlMzQzMGRkIgogICB4bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ9InhtcC5kaWQ6ZmMzZjY2MTMtODdkZi0yZDRmLWIyNDUtODZiZjc3MWFhODk4IgogICBkYzpmb3JtYXQ9ImltYWdlL3BuZyIKICAgR0lNUDpBUEk9IjIuMCIKICAgR0lNUDpQbGF0Zm9ybT0iTGludXgiCiAgIEdJTVA6VGltZVN0YW1wPSIxNjM4NDMxNjIxMzU1NDU4IgogICBHSU1QOlZlcnNpb249IjIuMTAuMjgiCiAgIHBob3Rvc2hvcDpDb2xvck1vZGU9IjMiCiAgIHRpZmY6T3JpZW50YXRpb249IjEiCiAgIHhtcDpDcmVhdGVEYXRlPSIyMDIxLTEyLTAyVDAwOjU3OjA2LTA2OjAwIgogICB4bXA6Q3JlYXRvclRvb2w9IkdJTVAgMi4xMCIKICAgeG1wOk1ldGFkYXRhRGF0ZT0iMjAyMS0xMi0wMlQwMTo1MDoyOC0wNjowMCIKICAgeG1wOk1vZGlmeURhdGU9IjIwMjEtMTItMDJUMDE6NTA6MjgtMDY6MDAiPgogICA8eG1wTU06SGlzdG9yeT4KICAgIDxyZGY6U2VxPgogICAgIDxyZGY6bGkKICAgICAgc3RFdnQ6YWN0aW9uPSJjcmVhdGVkIgogICAgICBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOmZjM2Y2NjEzLTg3ZGYtMmQ0Zi1iMjQ1LTg2YmY3NzFhYTg5OCIKICAgICAgc3RFdnQ6c29mdHdhcmVBZ2VudD0iQWRvYmUgUGhvdG9zaG9wIDIzLjAgKFdpbmRvd3MpIgogICAgICBzdEV2dDp3aGVuPSIyMDIxLTEyLTAyVDAwOjU3OjA2LTA2OjAwIi8+CiAgICAgPHJkZjpsaQogICAgICBzdEV2dDphY3Rpb249InNhdmVkIgogICAgICBzdEV2dDpjaGFuZ2VkPSIvIgogICAgICBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOjhhZjc3YWM5LWU3NWMtYWI0Zi05OGY4LWYyMTE4NjY3YjljZCIKICAgICAgc3RFdnQ6c29mdHdhcmVBZ2VudD0iQWRvYmUgUGhvdG9zaG9wIDIzLjAgKFdpbmRvd3MpIgogICAgICBzdEV2dDp3aGVuPSIyMDIxLTEyLTAyVDAxOjUwOjI4LTA2OjAwIi8+CiAgICAgPHJkZjpsaQogICAgICBzdEV2dDphY3Rpb249ImNvbnZlcnRlZCIKICAgICAgc3RFdnQ6cGFyYW1ldGVycz0iZnJvbSBhcHBsaWNhdGlvbi92bmQuYWRvYmUucGhvdG9zaG9wIHRvIGltYWdlL3BuZyIvPgogICAgIDxyZGY6bGkKICAgICAgc3RFdnQ6YWN0aW9uPSJkZXJpdmVkIgogICAgICBzdEV2dDpwYXJhbWV0ZXJzPSJjb252ZXJ0ZWQgZnJvbSBhcHBsaWNhdGlvbi92bmQuYWRvYmUucGhvdG9zaG9wIHRvIGltYWdlL3BuZyIvPgogICAgIDxyZGY6bGkKICAgICAgc3RFdnQ6YWN0aW9uPSJzYXZlZCIKICAgICAgc3RFdnQ6Y2hhbmdlZD0iLyIKICAgICAgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDo3YTAxNGEzOC02Y2M4LWFjNDQtOGYyYS0yNDE0NTI1OGJkZjMiCiAgICAgIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCAyMy4wIChXaW5kb3dzKSIKICAgICAgc3RFdnQ6d2hlbj0iMjAyMS0xMi0wMlQwMTo1MDoyOC0wNjowMCIvPgogICAgIDxyZGY6bGkKICAgICAgc3RFdnQ6YWN0aW9uPSJzYXZlZCIKICAgICAgc3RFdnQ6Y2hhbmdlZD0iLyIKICAgICAgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDo0MDgyMWI4NS03MWU5LTQzYjUtYTEwNi0wY2RhYWZhZjE3YzMiCiAgICAgIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkdpbXAgMi4xMCAoTGludXgpIgogICAgICBzdEV2dDp3aGVuPSIyMDIxLTEyLTAxVDIzOjUzOjQxLTA4OjAwIi8+CiAgICA8L3JkZjpTZXE+CiAgIDwveG1wTU06SGlzdG9yeT4KICAgPHhtcE1NOkRlcml2ZWRGcm9tCiAgICBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOmZjM2Y2NjEzLTg3ZGYtMmQ0Zi1iMjQ1LTg2YmY3NzFhYTg5OCIKICAgIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6OGFmNzdhYzktZTc1Yy1hYjRmLTk4ZjgtZjIxMTg2NjdiOWNkIgogICAgc3RSZWY6b3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOmZjM2Y2NjEzLTg3ZGYtMmQ0Zi1iMjQ1LTg2YmY3NzFhYTg5OCIvPgogIDwvcmRmOkRlc2NyaXB0aW9uPgogPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+BKrvTAAAAAlwSFlzAAAuIwAALiMBeKU/dgAAAAd0SU1FB+UMAgc1KQBoSUQAAAgKSURBVGjexVpNjJ1VGX7e853v3rl3Zm4pnbS2pbY4lgZNNMhCKQp1IRVM/YkxjW5csHclGw1popK4IYS4cWlcWV2oUWtUhDTVGEQSYxAVSMEU+nPpgC3tTGfuPe/j4vu55+9Oh2qmJ5lk7vdzz/O+7/P+niuIFr83FK7hbgBHCRwmZD+IDgEQACkgAULQXFOwvabNdQLa3q/e0/Z/QCFQTu4HzzT3gRGBV5T4rQI/7vT47Icf2UIfrwTgnxjuouIJCD5PSof1Bqg3pQioDXDWACUAWwFqhAS0BsUaWCVkAzL87D/vP6MElBhR5Fc0/NrBRwdnEgH08eEHIfgFiNsbDbK+HWq+2ZTt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",C.className="style-scope ytd-masthead "+o,A.appendChild(C),I.prepend(A),Promise.resolve(A)}e(".ytd-masthead.settings-module_ludwigLogo__Wt9ZZ {\n width: var(--yt-icon-button-icon-width);\n}\n\n.settings-module_ludwigSettingsPopup__Mfv9p {\n width: 400px;\n height: 600px;\n position: fixed;\n top: 56px;\n right: 0px;\n z-index: 9999;\n box-shadow: 0 14px 28px rgba(0,0,0,0.25), 0 10px 10px rgba(0,0,0,0.22);\n}");async function a(){setInterval((async()=>{await async function(){const g=await m.settings.get("chatStyles"),I=e$3();return g&&I}()?document.body.setAttribute("data-mogul-chat-styles",""):document.body.removeAttribute("data-mogul-chat-styles");}),250);}e('/* Overwrite colors on verified/owner names */\nyt-live-chat-author-chip[is-highlighted] #author-name.owner.yt-live-chat-author-chip,\n#author-name.owner.yt-live-chat-author-chip {\n color: var(--yt-live-chat-author-chip-owner-text-color) !important;\n}\n\nyt-live-chat-author-chip[is-highlighted] #author-name.yt-live-chat-author-chip {\n color: var(--yt-live-chat-author-chip-verified-text-color) !important;\n}\n\n\nbody[data-mogul-chat-styles] #author-photo.yt-live-chat-text-message-renderer {\n\tdisplay: none;\n}\n\nbody[data-mogul-chat-styles] yt-live-chat-text-message-renderer {\n\tmin-height: 24px;\n}\n\nbody[data-mogul-chat-styles] yt-live-chat-author-chip {\n\tdirection: rtl;\n}\n\nbody[data-mogul-chat-styles] yt-live-chat-author-chip::before {\n\tcontent: ":";\n}\n\nbody[data-mogul-chat-styles] #author-name.member.yt-live-chat-author-chip,\n#author-name.moderator.yt-live-chat-author-chip {\n font-weight: 800 !important;\n}\n\nbody[data-mogul-chat-styles] yt-live-chat-author-badge-renderer.yt-live-chat-author-chip {\n margin: 0 4px 0 0 !important;\n}\n\n#message.yt-live-chat-text-message-renderer .emoji.yt-live-chat-text-message-renderer {\n width: auto !important;\n}'),e$1((()=>{const g=null!==document.querySelector("yt-live-chat-app");new o$1,e$2("content/youtube/inject.js"),g?a():c();})); +var o="settings-module_ludwigLogo__Wt9ZZ",i="settings-module_ludwigSettingsPopup__Mfv9p";async function d(){const g=await c();let I=document.getElementById("ludwig-settings-popup");g.addEventListener("click",(()=>{I?I.style.display="none"===I.style.display?"block":"none":I=function(){const I=document.createElement("iframe");return I.src=s.runtime.getURL("popup/index.html"),I.id="ludwig-settings-popup",I.className=i,document.body.appendChild(I),window.addEventListener("message",(g=>{g.source===I.contentWindow&&"mogul-tv:close"===g.data&&(I.style.display="none");})),document.addEventListener("keydown",(g=>{"Escape"===g.key&&(I.style.display="none");})),document.addEventListener("click",(A=>{"none"===I.style.display||g.contains(A.target)||I.contains(A.target)||(I.style.display="none");})),I}();}));}function c(){const g=document.getElementById("ludwig-settings-button");if(g)return Promise.resolve(g);const I=document.querySelector("ytd-masthead #end");if(!I)return new Promise((g=>{setTimeout((()=>g(c())),1e3);}));const A=document.createElement("yt-icon-button");A.id="ludwig-settings-button",A.setAttribute("label","Mogul.TV Settings"),A.className="style-scope ytd-masthead";const C=document.createElement("img");return C.src="data:image/png;base64,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WQwIiMSzzDBt4g3i6U3b4LxPHGZFWSU+Jx436YLEj1xXPH7jXHBZ4JlhM52aJw4Ti4U2VtqYFU2NeIo4omo65QsZj1XOW5y1cpU178lfGMrpK8tcpzWMBBaxBAkiFFRRQhk2orTrpFhI0Xncxz/k+iVyKeQqgZFjARVokF0/+B/8nq2Vn5zwkkJxoPPFcT5GgK5doFFznO9jx2mcAMFn4Epv+St1YOaT9FpLixwBfdvAxXVLU/aAyx1g8MmQTdmVgrSEfB54P6NvygL9t0DPmje35jlOH4A0zSp5AxwcAqMFyl73eXd3+9z+7WnO7wefz3K5SrnPGAAAEuFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+Cjx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IlhNUCBDb3JlIDQuNC4wLUV4aXYyIj4KIDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+CiAgPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIKICAgIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIgogICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIgogICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICAgeG1sbnM6R0lNUD0iaHR0cDovL3d3dy5naW1wLm9yZy94bXAvIgogICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgIHhtcE1NOkRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDo3NTM0YTk5NC0xNDIzLTZjNDctYTExNi01ZjUzMWZkYzZkM2UiCiAgIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6ZDhlZDc2NDctZDYzMy00NDczLWI4MWYtY2NiYjRlMzQzMGRkIgogICB4bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ9InhtcC5kaWQ6ZmMzZjY2MTMtODdkZi0yZDRmLWIyNDUtODZiZjc3MWFhODk4IgogICBkYzpmb3JtYXQ9ImltYWdlL3BuZyIKICAgR0lNUDpBUEk9IjIuMCIKICAgR0lNUDpQbGF0Zm9ybT0iTGludXgiCiAgIEdJTVA6VGltZVN0YW1wPSIxNjM4NDMxNjIxMzU1NDU4IgogICBHSU1QOlZlcnNpb249IjIuMTAuMjgiCiAgIHBob3Rvc2hvcDpDb2xvck1vZGU9IjMiCiAgIHRpZmY6T3JpZW50YXRpb249IjEiCiAgIHhtcDpDcmVhdGVEYXRlPSIyMDIxLTEyLTAyVDAwOjU3OjA2LTA2OjAwIgogICB4bXA6Q3JlYXRvclRvb2w9IkdJTVAgMi4xMCIKICAgeG1wOk1ldGFkYXRhRGF0ZT0iMjAyMS0xMi0wMlQwMTo1MDoyOC0wNjowMCIKICAgeG1wOk1vZGlmeURhdGU9IjIwMjEtMTItMDJUMDE6NTA6MjgtMDY6MDAiPgogICA8eG1wTU06SGlzdG9yeT4KICAgIDxyZGY6U2VxPgogICAgIDxyZGY6bGkKICAgICAgc3RFdnQ6YWN0aW9uPSJjcmVhdGVkIgogICAgICBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOmZjM2Y2NjEzLTg3ZGYtMmQ0Zi1iMjQ1LTg2YmY3NzFhYTg5OCIKICAgICAgc3RFdnQ6c29mdHdhcmVBZ2VudD0iQWRvYmUgUGhvdG9zaG9wIDIzLjAgKFdpbmRvd3MpIgogICAgICBzdEV2dDp3aGVuPSIyMDIxLTEyLTAyVDAwOjU3OjA2LTA2OjAwIi8+CiAgICAgPHJkZjpsaQogICAgICBzdEV2dDphY3Rpb249InNhdmVkIgogICAgICBzdEV2dDpjaGFuZ2VkPSIvIgogICAgICBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOjhhZjc3YWM5LWU3NWMtYWI0Zi05OGY4LWYyMTE4NjY3YjljZCIKICAgICAgc3RFdnQ6c29mdHdhcmVBZ2VudD0iQWRvYmUgUGhvdG9zaG9wIDIzLjAgKFdpbmRvd3MpIgogICAgICBzdEV2dDp3aGVuPSIyMDIxLTEyLTAyVDAxOjUwOjI4LTA2OjAwIi8+CiAgICAgPHJkZjpsaQogICAgICBzdEV2dDphY3Rpb249ImNvbnZlcnRlZCIKICAgICAgc3RFdnQ6cGFyYW1ldGVycz0iZnJvbSBhcHBsaWNhdGlvbi92bmQuYWRvYmUucGhvdG9zaG9wIHRvIGltYWdlL3BuZyIvPgogICAgIDxyZGY6bGkKICAgICAgc3RFdnQ6YWN0aW9uPSJkZXJpdmVkIgogICAgICBzdEV2dDpwYXJhbWV0ZXJzPSJjb252ZXJ0ZWQgZnJvbSBhcHBsaWNhdGlvbi92bmQuYWRvYmUucGhvdG9zaG9wIHRvIGltYWdlL3BuZyIvPgogICAgIDxyZGY6bGkKICAgICAgc3RFdnQ6YWN0aW9uPSJzYXZlZCIKICAgICAgc3RFdnQ6Y2hhbmdlZD0iLyIKICAgICAgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDo3YTAxNGEzOC02Y2M4LWFjNDQtOGYyYS0yNDE0NTI1OGJkZjMiCiAgICAgIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCAyMy4wIChXaW5kb3dzKSIKICAgICAgc3RFdnQ6d2hlbj0iMjAyMS0xMi0wMlQwMTo1MDoyOC0wNjowMCIvPgogICAgIDxyZGY6bGkKICAgICAgc3RFdnQ6YWN0aW9uPSJzYXZlZCIKICAgICAgc3RFdnQ6Y2hhbmdlZD0iLyIKICAgICAgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDo0MDgyMWI4NS03MWU5LTQzYjUtYTEwNi0wY2RhYWZhZjE3YzMiCiAgICAgIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkdpbXAgMi4xMCAoTGludXgpIgogICAgICBzdEV2dDp3aGVuPSIyMDIxLTEyLTAxVDIzOjUzOjQxLTA4OjAwIi8+CiAgICA8L3JkZjpTZXE+CiAgIDwveG1wTU06SGlzdG9yeT4KICAgPHhtcE1NOkRlcml2ZWRGcm9tCiAgICBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOmZjM2Y2NjEzLTg3ZGYtMmQ0Zi1iMjQ1LTg2YmY3NzFhYTg5OCIKICAgIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6OGFmNzdhYzktZTc1Yy1hYjRmLTk4ZjgtZjIxMTg2NjdiOWNkIgogICAgc3RSZWY6b3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOmZjM2Y2NjEzLTg3ZGYtMmQ0Zi1iMjQ1LTg2YmY3NzFhYTg5OCIvPgogIDwvcmRmOkRlc2NyaXB0aW9uPgogPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+BKrvTAAAAAlwSFlzAAAuIwAALiMBeKU/dgAAAAd0SU1FB+UMAgc1KQBoSUQAAAgKSURBVGjexVpNjJ1VGX7e853v3rl3Zm4pnbS2pbY4lgZNNMhCKQp1IRVM/YkxjW5csHclGw1popK4IYS4cWlcWV2oUWtUhDTVGEQSYxAVSMEU+nPpgC3tTGfuPe/j4vu55+9Oh2qmJ5lk7vdzz/O+7/P+niuIFr83FK7hbgBHCRwmZD+IDgEQACkgAULQXFOwvabNdQLa3q/e0/Z/QCFQTu4HzzT3gRGBV5T4rQI/7vT47Icf2UIfrwTgnxjuouIJCD5PSof1Bqg3pQioDXDWACUAWwFqhAS0BsUaWCVkAzL87D/vP6MElBhR5Fc0/NrBRwdnEgH08eEHIfgFiNsbDbK+HWq+2ZTt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",C.className="style-scope ytd-masthead "+o,A.appendChild(C),I.prepend(A),Promise.resolve(A)}e(".ytd-masthead.settings-module_ludwigLogo__Wt9ZZ {\n width: var(--yt-icon-button-icon-width);\n}\n\n.settings-module_ludwigSettingsPopup__Mfv9p {\n width: 400px;\n height: 600px;\n position: fixed;\n top: 56px;\n right: 0px;\n z-index: 9999;\n box-shadow: 0 14px 28px rgba(0,0,0,0.25), 0 10px 10px rgba(0,0,0,0.22);\n}");async function a(){setInterval((async()=>{await async function(){const g=await m.settings.get("chatStyles"),I=e$2();return g&&I}()?document.body.setAttribute("data-mogul-chat-styles",""):document.body.removeAttribute("data-mogul-chat-styles");}),250);}e('/* Overwrite colors on verified/owner names */\nyt-live-chat-author-chip[is-highlighted] #author-name.owner.yt-live-chat-author-chip,\n#author-name.owner.yt-live-chat-author-chip {\n color: var(--yt-live-chat-author-chip-owner-text-color) !important;\n}\n\nyt-live-chat-author-chip[is-highlighted] #author-name.yt-live-chat-author-chip {\n color: var(--yt-live-chat-author-chip-verified-text-color) !important;\n}\n\n\nbody[data-mogul-chat-styles] #author-photo.yt-live-chat-text-message-renderer {\n\tdisplay: none;\n}\n\nbody[data-mogul-chat-styles] yt-live-chat-text-message-renderer {\n\tmin-height: 24px;\n}\n\nbody[data-mogul-chat-styles] yt-live-chat-author-chip {\n\tdirection: rtl;\n}\n\nbody[data-mogul-chat-styles] yt-live-chat-author-chip::before {\n\tcontent: ":";\n}\n\nbody[data-mogul-chat-styles] #author-name.member.yt-live-chat-author-chip,\n#author-name.moderator.yt-live-chat-author-chip {\n font-weight: 800 !important;\n}\n\nbody[data-mogul-chat-styles] yt-live-chat-author-badge-renderer.yt-live-chat-author-chip {\n margin: 0 4px 0 0 !important;\n}\n\n#message.yt-live-chat-text-message-renderer .emoji.yt-live-chat-text-message-renderer {\n width: auto !important;\n}'),e$1((()=>{const g=null!==document.querySelector("yt-live-chat-app");new o$1,t("content/youtube/inject.js"),g?a():d();})); diff --git a/content/youtube/inject.js b/content/youtube/inject.js index f713d3d..c04f1c5 100644 --- a/content/youtube/inject.js +++ b/content/youtube/inject.js @@ -1,16 +1,15 @@ import { e } from '../../index-6137f488.js'; -import { e as e$2 } from '../../background.injected-af36b849.js'; -import { n, e as e$4 } from '../../get_stream_details-b6177000.js'; +import { e as e$2 } from '../../background.injected-3cca8ca2.js'; +import { n, e as e$4 } from '../../get_stream_details-14cd00a5.js'; import { d as dt, t } from '../../parse_token.util-ed270559.js'; -import { e as e$3 } from '../../fetch_youtube-71c76849.js'; import { s } from '../../router.interface-6cdbc015.js'; +import { e as e$3 } from '../../fetch_youtube-cfbafc47.js'; import { e as e$1 } from '../../style-inject.es-a0e1a0ba.js'; -function u(t){if(!t)return 0;t=t.toLowerCase();const e=/\((.+)\)/.exec(t);if(!e)return 1;const n=e[1].split(/\s/),i=parseInt(n[0]);return isNaN(i)?0:n[1].startsWith("year")?12*parseInt(n[0]):parseInt(n[0])}function d(t,e){const n=e;for(let e=0;et)return n[e-1][1];return n[n.length-1][1]}function l(t,e,n,i){const a=e(t.authorExternalChannelId);!function(t,e){(null==e?void 0:e.a)&&(t.authorName={simpleText:e.a});}(t,a),function(t,e){var n,i;t.authorBadges||(t.authorBadges=[]);for(const a of t.authorBadges){const t=a.liveChatAuthorBadgeRenderer;(null===(n=t.icon)||void 0===n?void 0:n.iconType)?t._mtvType=null===(i=t.icon)||void 0===i?void 0:i.iconType.toLowerCase():t.customThumbnail&&(t._mtvType="member"),"moderator"===t._mtvType&&(delete t.icon,t._mtvType="moderator",t.customThumbnail={thumbnails:[{url:e,width:18,height:18}]});}}(t,i),function(t,e,n){if((null==n?void 0:n.b)&&!(n.b<=0))for(const i of t.authorBadges){const t=i.liveChatAuthorBadgeRenderer;if("member"!==t._mtvType)continue;const a=u(t.tooltip);if(0===a)continue;const o=a+n.b,r=`Member (${o} months)`,s=d(o,e);t.customThumbnail=s,delete t.icon,t.tooltip=r,t.accessibility.accessibilityData.label=r;}}(t,n,a);}const h=/[\s.,?!]/;function f(t){const e=[];let n=0;for(let i=0;ie)return n[t-1][1];return n[n.length-1][1]}function d(e,t,n,s){const r=t(e.authorExternalChannelId);!function(e,t){(null==t?void 0:t.a)&&(e.authorName={simpleText:t.a});}(e,r),function(e,t){var n,s;e.authorBadges||(e.authorBadges=[]);for(const r of e.authorBadges){const e=r.liveChatAuthorBadgeRenderer;(null===(n=e.icon)||void 0===n?void 0:n.iconType)?e._mtvType=null===(s=e.icon)||void 0===s?void 0:s.iconType.toLowerCase():e.customThumbnail&&(e._mtvType="member"),"moderator"===e._mtvType&&(delete e.icon,e._mtvType="moderator",e.customThumbnail={thumbnails:[{url:t,width:18,height:18}]});}}(e,s),function(e,t,n){if((null==n?void 0:n.b)&&!(n.b<=0))for(const s of e.authorBadges){const e=s.liveChatAuthorBadgeRenderer;if("member"!==e._mtvType)continue;const r=l(e.tooltip);if(0===r)continue;const i=r+n.b,o=`Member (${i} months)`,a=u(i,t);e.customThumbnail=a,delete e.icon,e.tooltip=o,e.accessibility.accessibilityData.label=o;}}(e,n,r);}const h=/[\s.,?!]/;function f(e){const t=[];let n=0;for(let s=0;sthis.gatewayService.getUserInfo(e)),this.gatewayService.badgeList,"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAABg2lDQ1BJQ0MgcHJvZmlsZQAAKJF9kT1Iw0AcxV/TiiIVBzuIOGRonSyIijpqFYpQIdQKrTqYXPoFTRqSFBdHwbXg4Mdi1cHFWVcHV0EQ/ABxc3NSdJES/5cUWsR4cNyPd/ced+8AoVFhmhUaAzTdNtPJhJjNrYrdrwgjBGAaMZlZxpwkpeA7vu4R4OtdnGf5n/tz9Kl5iwEBkXiWGaZNvEE8tWkbnPeJI6wkq8TnxKMmXZD4keuKx2+ciy4LPDNiZtLzxBFisdjBSgezkqkRTxJHVU2nfCHrscp5i7NWqbHWPfkLw3l9ZZnrNIeRxCKWIEGEghrKqMBGnFadFAtp2k/4+Idcv0QuhVxlMHIsoAoNsusH/4Pf3VqFiXEvKZwAul4c5yMGdO8CzbrjfB87TvMECD4DV3rbX20AM5+k19ta9Ajo3wYurtuasgdc7gCDT4Zsyq4UpCkUCsD7GX1TDhi4BXrXvN5a+zh9ADLUVeoGODgERoqUve7z7p7O3v490+rvB3pIcqqJKL5aAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAC4jAAAuIwF4pT92AAAAB3RJTUUH5QwEARQDdqq2HwAAABl0RVh0Q29tbWVudABDcmVhdGVkIHdpdGggR0lNUFeBDhcAAAGkSURBVDjLpdSxS5tBGMfx7+V9JamLGbSQNNAQdBBJhZKWLPkHxKmQEgd9xUFwCRQKHe1cKHSztCCmLyQlkriULu2kSyBQkCCCg0bQCJrhTSUxoW+8DuLRNPqq8aa7hx8f7nk4TpDXDCQfAC+9rTKCt4KctgcEnZKJ/pcYoRmG+oewz21Wdlb4+PvzvxFLvwlJD5vEx+Lomg5A6ahE/nTt/5hXd0Le+98x9WRKnUtHJSYKkxzLalfW5djSaKILOZCHqvZQDLIwMO8MPdOf4h/wq3Or3epAAuIRP6M/MEYMZyjY1zm6SCBC8XlBId+j3wj7wuiui+lcO6PVszxNu4lH93RiFHBrbsK+MAAnjRNnKBVaxq25u+qRQETt7bZNavfL9a2lQstMj08jhHB8idmtLF8b2atvdBUipaTVbqk2K7UKme0MrytvVEa/DWJumhi7c8QfvKD8p0zR/tV1O0FOk7dBblougE+Pl+6FKGijukGtWesZUZBZT5NcT2KdWT0hl8O2AK9ZT8M6xAZjzO8v3PFLkmVBTpsFuQgi2Nu/Ji3QXv0FPBynaffELJkAAAAASUVORK5CYII=");}}var w={exports:{}},v="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||"undefined"!=typeof msCrypto&&"function"==typeof window.msCrypto.getRandomValues&&msCrypto.getRandomValues.bind(msCrypto);if(v){var y=new Uint8Array(16);w.exports=function(){return v(y),y};}else {var b=new Array(16);w.exports=function(){for(var e,t=0;t<16;t++)0==(3&t)&&(e=4294967296*Math.random()),b[t]=e>>>((3&t)<<3)&255;return b};}for(var A=[],C=0;C<256;++C)A[C]=(C+256).toString(16).substr(1);var I,M,R=function(e,t){var n=t||0,s=A;return [s[e[n++]],s[e[n++]],s[e[n++]],s[e[n++]],"-",s[e[n++]],s[e[n++]],"-",s[e[n++]],s[e[n++]],"-",s[e[n++]],s[e[n++]],"-",s[e[n++]],s[e[n++]],s[e[n++]],s[e[n++]],s[e[n++]],s[e[n++]]].join("")},k=w.exports,S=R,T=0,x=0;var E=function(e,t,n){var s=t&&n||0,r=t||[],i=(e=e||{}).node||I,o=void 0!==e.clockseq?e.clockseq:M;if(null==i||null==o){var a=k();null==i&&(i=I=[1|a[0],a[1],a[2],a[3],a[4],a[5]]),null==o&&(o=M=16383&(a[6]<<8|a[7]));}var c=void 0!==e.msecs?e.msecs:(new Date).getTime(),l=void 0!==e.nsecs?e.nsecs:x+1,u=c-T+(l-x)/1e4;if(u<0&&void 0===e.clockseq&&(o=o+1&16383),(u<0||c>T)&&void 0===e.nsecs&&(l=0),l>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");T=c,x=l,M=o;var d=(1e4*(268435455&(c+=122192928e5))+l)%4294967296;r[s++]=d>>>24&255,r[s++]=d>>>16&255,r[s++]=d>>>8&255,r[s++]=255&d;var h=c/4294967296*1e4&268435455;r[s++]=h>>>8&255,r[s++]=255&h,r[s++]=h>>>24&15|16,r[s++]=h>>>16&255,r[s++]=o>>>8|128,r[s++]=255&o;for(var f=0;f<6;++f)r[s+f]=i[f];return t||S(r)},B=w.exports,O=R;var q=function(e,t,n){var s=t&&n||0;"string"==typeof e&&(t="binary"===e?new Array(16):null,e=null);var r=(e=e||{}).random||(e.rng||B)();if(r[6]=15&r[6]|64,r[8]=63&r[8]|128,t)for(var i=0;i<16;++i)t[s+i]=r[i];return t||O(r)},j=E,L=q,_=L;_.v1=j,_.v4=L;var P=_;const N=100,U=-1,V={"-32601":"Method not found"};V[N]="Invalid origin",V[U]="Error";class W{constructor({postMessage:e,timeout:t=3e3}={}){this.postMessage=e,this.timeout=t,this.pendingRequests={},this.callbackFunctions={},this.call=this.call.bind(this),this.resolve=this.resolve.bind(this),this.resolveRPCResponse=this.resolveRPCResponse.bind(this);}call(e,t,n={}){const{timeout:s=this.timeout}=n,r=function(){let e=null,t=null;const n=new Promise(((n,s)=>(e=n,t=s,t)));return n.resolve=e,n.reject=t,n}(),i=[];for(const e of Array.from(t||[]))if("function"==typeof e){const t={_browserComms:!0,_browserCommsGunCallback:!0,callbackId:P.v4()};this.callbackFunctions[t.callbackId]=e,i.push(t);}else i.push(e);const o=function({method:e,params:t}){if(null==t)throw new Error("Must provide params");for(const e of Array.from(t))if("function"==typeof e)throw new Error("Functions are not allowed. Use RPCCallback instead.");return {_browserComms:!0,id:P.v4(),method:e,params:t}}({method:e,params:i});this.pendingRequests[o.id]={reject:r.reject,resolve:r.resolve,isAcknowledged:!1};try{this.postMessage(JSON.stringify(o),"*");}catch(e){return r.reject(e),r}return setTimeout((()=>{if(!this.pendingRequests[o.id].isAcknowledged)return r.reject(new Error("Message Timeout"))}),s),r}resolve(e){switch(!1){case!(!0===e?.acknowledge):return this.resolveRPCRequestAcknowledgement(e);case!J(e):return this.resolveRPCResponse(e);case!function(e){return e?.callbackId&&null!=e.params}(e):return this.resolveRPCCallbackResponse(e);default:throw new Error("Unknown response type")}}resolveRPCResponse(e){const t=this.pendingRequests[e.id];if(null==t)throw new Error("Request not found");t.isAcknowledged=!0;const{result:n,error:s}=e;return s?t.reject(s.data||new Error(s.message)):null!=n?t.resolve(n):t.resolve(null),null}resolveRPCRequestAcknowledgement(e){const t=this.pendingRequests[e.id];if(null==t)throw new Error("Request not found");return t.isAcknowledged=!0,null}resolveRPCCallbackResponse(e){const t=this.callbackFunctions[e.callbackId];if(null==t)throw new Error("Callback not found");return t.apply(null,e.params),null}}function Q({params:e,callbackId:t}){return {_browserComms:!0,callbackId:t,params:e}}function D({requestId:e,result:t=null,rPCError:n=null}){return {_browserComms:!0,id:e,result:t,error:n}}function F({code:e,data:t=null}){return {_browserComms:!0,code:e,message:V[e],data:t}}function K(e){return e?._browserComms}function J(e){return e?.id&&(void 0!==e.result||void 0!==e.error)}const G=1e4,Z="undefined"!=typeof window?window:self;class z{constructor(e={}){const{timeout:t,shouldConnectToServiceWorker:n,handshakeTimeout:s=G,isParentValidFn:r=(()=>!0)}=e;this.handshakeTimeout=s,this.isParentValidFn=r,this.isListening=!1;const i=globalThis?.window?._browserCommsIsInAppBrowser||-1!==navigator.userAgent.indexOf("/InAppBrowser");this.hasParent="undefined"!=typeof window&&window.self!==window.top||i,this.parent=globalThis?.window?.parent,this.client=new W({timeout:t,postMessage:(e,t)=>{if(i){let t=(()=>{try{return JSON.parse(localStorage["portal:queue"])}catch(e){return null}})();return null==t&&(t=[]),t.push(e),localStorage["portal:queue"]=JSON.stringify(t),localStorage["portal:queue"]}return this.parent?.postMessage(e,t)}}),this.ready=n?function(){return new Promise(((e,t)=>{const n=setTimeout(e,5e3);return navigator?.serviceWorker?.ready.catch((function(){return console.log("caught sw error"),null})).then((t=>{const s=t?.active;return s&&(this.sw=new W({timeout:this.timeout,postMessage:(e,t)=>{const n=new MessageChannel;if(n)return n.port1.onmessage=e=>this.onMessage(e,{isServiceWorker:!0}),s.postMessage(e,[n.port2])}})),clearTimeout(n),e()}))}))}():Promise.resolve(!0),this.registeredMethods={ping:()=>Object.keys(this.registeredMethods)},this.parentsRegisteredMethods=[],this.setParent=this.setParent.bind(this),this.setInAppBrowserWindow=this.setInAppBrowserWindow.bind(this),this.replyInAppBrowserWindow=this.replyInAppBrowserWindow.bind(this),this.onMessageInAppBrowserWindow=this.onMessageInAppBrowserWindow.bind(this),this.listen=this.listen.bind(this),this.close=this.close.bind(this),this.call=this.call.bind(this),this.onRequest=this.onRequest.bind(this),this.onMessage=this.onMessage.bind(this),this.on=this.on.bind(this);}setParent(e){this.parent=e,this.hasParent=!0;}setInAppBrowserWindow(e,t){this.iabWindow=e;const n=-1!==navigator.userAgent.indexOf("iPhone")?"loadstop":"loadstart";return this.iabWindow.addEventListener(n,(()=>{this.iabWindow.executeScript({code:"window._browserCommsIsInAppBrowser = true;"}),clearInterval(this.iabInterval),this.iabInterval=setInterval((()=>this.iabWindow.executeScript({code:"localStorage.getItem('portal:queue');"},(e=>{try{return (e=JSON.parse(e?.[0]))&&e.length&&this.iabWindow.executeScript({code:"localStorage.setItem('portal:queue', '[]')"}),e.map((e=>t(e)))}catch(t){return console.log(t,e)}}))),100);})),this.iabWindow.addEventListener("exit",(()=>clearInterval(this.iabInterval)))}replyInAppBrowserWindow(e){const t=e.replace(/'/g,"'");return this.iabWindow.executeScript({code:`if(window._browserCommsOnMessage) window._browserCommsOnMessage('${t}')`})}onMessageInAppBrowserWindow(e){return this.onMessage({data:e,source:{postMessage:e=>this.call("browser.reply",{data:e})}})}listen(){this.isListening=!0,Z.addEventListener("message",this.onMessage),"undefined"!=typeof window&&null!==window&&(window._browserCommsOnMessage=e=>this.onMessage({debug:!0,data:(()=>{try{return JSON.parse(e)}catch(t){return console.log("error parsing",e),null}})()})),this.clientValidation=this.client.call("ping",null,{timeout:this.handshakeTimeout}).then((e=>{this.hasParent&&(this.parentsRegisteredMethods=this.parentsRegisteredMethods.concat(e));})).catch((()=>null)),this.swValidation=this.ready.then((()=>this.sw?.call("ping",null,{timeout:this.handshakeTimeout}))).then((e=>{this.parentsRegisteredMethods=this.parentsRegisteredMethods.concat(e);}));}close(){return this.isListening=!0,Z.removeEventListener("message",this.onMessage)}async call(e,...t){if(!this.isListening)return new Promise(((e,t)=>t(new Error("Must call listen() before call()"))));const n=(e,t)=>{const n=this.registeredMethods[e];if(!n)throw new Error("Method not found");return n.apply(null,t)};if(await this.ready,this.hasParent){let s=null;await this.clientValidation;if(!(-1!==this.parentsRegisteredMethods.indexOf(e)))return n(e,t);{const r=await this.client.call(e,t);try{if("ping"===e){const s=n(e,t);return (r||[]).concat(s)}return r}catch(r){try{if(s=r,!this.sw)return n(e,t);try{const s=await this.sw.call(e,t);if("ping"===e){const r=n(e,t);return (s||[]).concat(r)}return s}catch{return n(e,t)}}catch(e){throw "Method not found"===e.message&&s?s:e}}}}else {if(!this.sw)return n(e,t);if(await this.swValidation,-1===this.parentsRegisteredMethods.indexOf(e))return n(e,t);try{const s=await this.sw.call(e,t);if("ping"===e){const r=n(e,t);return (s||[]).concat(r)}return s}catch(s){return n(e,t)}}}async onRequest(e,t){const n=[];for(const s of Array.from(t.params||[]))s?._browserCommsGunCallback?(t=>{n.push(((...n)=>e(Q({params:n,callbackId:t.callbackId}))));})(s):n.push(s);e(function({requestId:e}){return {_browserComms:!0,id:e,acknowledge:!0}}({requestId:t.id}));try{const s=await this.call(t.method,...Array.from(n));return e(D({requestId:t.id,result:s}))}catch(n){return e(D({requestId:t.id,rPCError:F({code:U,data:n})}))}}onMessage(e,{isServiceWorker:t}={}){try{const s="string"==typeof e.data?JSON.parse(e.data):e.data;if(!K(s))return;const r=function(t){return "undefined"!=typeof window&&null!==window?e.source?.postMessage(JSON.stringify(t),"*"):e.ports[0].postMessage(JSON.stringify(t))};if(null!=(n=s)?.id&&null!=n.method)return this.onRequest(r,s);if(K(s)){let n;if(this.isParentValidFn(e.origin))return n=t?this.sw:this.client,n.resolve(s);if(J(s))return n=t?this.sw:this.client,n.resolve(D({requestId:s.id,rPCError:F({code:N})}));throw new Error("Invalid origin")}throw new Error("Unknown RPCEntity type")}catch(e){}var n;}on(e,t){this.registeredMethods[e]=t;}}class H{constructor(){this.call=(e,t)=>this.browserComms.call(e,t),this.listen=()=>{this.browserComms.listen(),this.browserComms.on("context.getCredentials",this.getCredentials),this.browserComms.on("dom.setStyle",this.setStyle);},this.setStyle=({querySelector:e,style:t})=>{const n=document.querySelector(e);null==n||n.setAttribute("style",t);},this.getCredentials=()=>this.credentials,this.setCredentials=e=>{this.credentials=e;},this.browserComms=new z,this.credentials={};}}class X{constructor(e){this.gatewayService=e;}addTwitchEmotesToMessage(e){return function(e,t){const n=[];for(const s of e.runs)if("string"==typeof s.text){const{text:e}=s;let r=0,i=0;const o=f(e);let a=!1;for(const s of o){const o=t("🌝"===s?"Kappa":s);o&&(a=!0,r>0&&n.push({text:e.substring(i,r)}),n.push({emoji:o}),i=r+s.length),r+=s.length;}a?n.push({text:e.substring(i,r)}):n.push(s);}else if("🌝"===s.emoji.emojiId){const e=t("Kappa");e&&n.push({emoji:e});}else n.push(s);return e.runs=n,e}(e,(e=>this.gatewayService.getEmote(e)))}}class Y extends e.exports.EventEmitter{constructor(e){super(),this.backgroundService=e,this.badgeList=[],this.emoteCache=new Map,e.getLiveStorageValue("auth.token",dt).then((e=>this.myUserInfo=e)),this.fetchUserInfo(),this.fetchEmotes(),this.fetchBadges(),setInterval((()=>{this.fetchUserInfo(),this.fetchEmotes(),this.fetchBadges();}),3e5);}async fetchBadges(){const e=await this.backgroundService.fetch("/gateway/badges");if(!s(e))return;const t=e.body.sort(((e,t)=>e.months-t.months));this.badgeList=t.map((e=>[e.months,{thumbnails:[{url:e.url,width:16,height:16}]}])),this.emit("badges",this.badgeList);}async fetchEmotes(){const e=await this.backgroundService.fetch("/gateway/emotes");if(s(e)){this.emoteCache.clear();for(const t of e.body){const e=m(t);e&&this.emoteCache.set(t.name,e);}this.emit("emotes",this.emoteCache);}}async fetchUserInfo(){const e=await this.backgroundService.fetch("/gateway/users");s(e)&&(this.infoCache=new Map(e.body),this.emit("users",this.infoCache));}getSerializedMetadata(e){const t=e.links.find((t=>t.prv===e.prv)),n={a:null==t?void 0:t.name,b:e.meta.sub,c:e.meta.col};return Object.values(n).filter((e=>void 0!==e)).length>0?n:void 0}getUserInfo(e){var t,n,s;if((null===(n=null===(t=this.myUserInfo)||void 0===t?void 0:t.value)||void 0===n?void 0:n.sub)===e){const e=this.getSerializedMetadata(this.myUserInfo.value);if(e)return e}return null===(s=this.infoCache)||void 0===s?void 0:s.get(e)}getEmote(e){var t;return null===(t=this.emoteCache)||void 0===t?void 0:t.get(e)}} /*! * cookie * Copyright(c) 2012-2014 Roman Shtylman * Copyright(c) 2015 Douglas Christopher Wilson * MIT Licensed - */ -var v=function(t,e){if("string"!=typeof t)throw new TypeError("argument str must be a string");for(var n={},i=e||{},a=t.split(p),o=i.decode||y,r=0;rthis.gatewayService.getUserInfo(t)),this.gatewayService.badgeList,"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAABg2lDQ1BJQ0MgcHJvZmlsZQAAKJF9kT1Iw0AcxV/TiiIVBzuIOGRonSyIijpqFYpQIdQKrTqYXPoFTRqSFBdHwbXg4Mdi1cHFWVcHV0EQ/ABxc3NSdJES/5cUWsR4cNyPd/ced+8AoVFhmhUaAzTdNtPJhJjNrYrdrwgjBGAaMZlZxpwkpeA7vu4R4OtdnGf5n/tz9Kl5iwEBkXiWGaZNvEE8tWkbnPeJI6wkq8TnxKMmXZD4keuKx2+ciy4LPDNiZtLzxBFisdjBSgezkqkRTxJHVU2nfCHrscp5i7NWqbHWPfkLw3l9ZZnrNIeRxCKWIEGEghrKqMBGnFadFAtp2k/4+Idcv0QuhVxlMHIsoAoNsusH/4Pf3VqFiXEvKZwAul4c5yMGdO8CzbrjfB87TvMECD4DV3rbX20AM5+k19ta9Ajo3wYurtuasgdc7gCDT4Zsyq4UpCkUCsD7GX1TDhi4BXrXvN5a+zh9ADLUVeoGODgERoqUve7z7p7O3v490+rvB3pIcqqJKL5aAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAC4jAAAuIwF4pT92AAAAB3RJTUUH5QwEARQDdqq2HwAAABl0RVh0Q29tbWVudABDcmVhdGVkIHdpdGggR0lNUFeBDhcAAAGkSURBVDjLpdSxS5tBGMfx7+V9JamLGbSQNNAQdBBJhZKWLPkHxKmQEgd9xUFwCRQKHe1cKHSztCCmLyQlkriULu2kSyBQkCCCg0bQCJrhTSUxoW+8DuLRNPqq8aa7hx8f7nk4TpDXDCQfAC+9rTKCt4KctgcEnZKJ/pcYoRmG+oewz21Wdlb4+PvzvxFLvwlJD5vEx+Lomg5A6ahE/nTt/5hXd0Le+98x9WRKnUtHJSYKkxzLalfW5djSaKILOZCHqvZQDLIwMO8MPdOf4h/wq3Or3epAAuIRP6M/MEYMZyjY1zm6SCBC8XlBId+j3wj7wuiui+lcO6PVszxNu4lH93RiFHBrbsK+MAAnjRNnKBVaxq25u+qRQETt7bZNavfL9a2lQstMj08jhHB8idmtLF8b2atvdBUipaTVbqk2K7UKme0MrytvVEa/DWJumhi7c8QfvKD8p0zR/tV1O0FOk7dBblougE+Pl+6FKGijukGtWesZUZBZT5NcT2KdWT0hl8O2AK9ZT8M6xAZjzO8v3PFLkmVBTpsFuQgi2Nu/Ji3QXv0FPBynaffELJkAAAAASUVORK5CYII=");}}class T{constructor(t){this.gatewayService=t;}addTwitchEmotesToMessage(t){return function(t,e){const n=[];for(const i of t.runs)if("string"==typeof i.text){const{text:t}=i;let a=0,o=0;const r=f(t);let s=!1;for(const i of r){const r=e("🌝"===i?"Kappa":i);r&&(s=!0,a>0&&n.push({text:t.substring(o,a)}),n.push({emoji:r}),o=a+i.length),a+=i.length;}s?n.push({text:t.substring(o,a)}):n.push(i);}else if("🌝"===i.emoji.emojiId){const t=e("Kappa");t&&n.push({emoji:t});}else n.push(i);return t.runs=n,t}(t,(t=>this.gatewayService.getEmote(t)))}}class x extends e.exports.EventEmitter{constructor(t){super(),this.backgroundService=t,this.badgeList=[],this.emoteCache=new Map,t.getLiveStorageValue("auth.token",dt).then((t=>this.myUserInfo=t)),this.fetchUserInfo(),this.fetchEmotes(),this.fetchBadges(),setInterval((()=>{this.fetchUserInfo(),this.fetchEmotes(),this.fetchBadges();}),3e5);}async fetchBadges(){const t=await this.backgroundService.fetch("/gateway/badges");if(!s(t))return;const e=t.body.sort(((t,e)=>t.months-e.months));this.badgeList=e.map((t=>[t.months,{thumbnails:[{url:t.url,width:16,height:16}]}])),this.emit("badges",this.badgeList);}async fetchEmotes(){const t=await this.backgroundService.fetch("/gateway/emotes");if(s(t)){this.emoteCache.clear();for(const e of t.body){const t=m(e);t&&this.emoteCache.set(e.name,t);}this.emit("emotes",this.emoteCache);}}async fetchUserInfo(){const t=await this.backgroundService.fetch("/gateway/users");s(t)&&(this.infoCache=new Map(t.body),this.emit("users",this.infoCache));}getSerializedMetadata(t){const e=t.links.find((e=>e.prv===t.prv)),n={a:null==e?void 0:e.name,b:t.meta.sub,c:t.meta.col};return Object.values(n).filter((t=>void 0!==t)).length>0?n:void 0}getUserInfo(t){var e,n,i;if((null===(n=null===(e=this.myUserInfo)||void 0===e?void 0:e.value)||void 0===n?void 0:n.sub)===t){const t=this.getSerializedMetadata(this.myUserInfo.value);if(t)return t}return null===(i=this.infoCache)||void 0===i?void 0:i.get(t)}getEmote(t){var e;return null===(e=this.emoteCache)||void 0===e?void 0:e.get(t)}}async function I(t,n){await customElements.whenDefined(t);const i=customElements.get(t);if(!i)return void console.warn(`Polymer: ${t} not found`);const a=i.prototype[n.functionName];i.prototype[n.functionName]=function(...t){if(n.ludwigOnly&&!e$4())return a.apply(this,t);if(n.type===b.OverrideFunction)try{return n.function.apply(this,t)}catch(t){console.error(JSON.stringify(n)),console.error(t);}if(n.type===b.RunBefore)try{n.function.apply(this,t);}catch(t){console.error(t);}let i=a.apply(this,t);if(n.type===b.RunAfter)try{i=n.function.apply(this,[i]);}catch(t){console.error(t);}return i};}!function(t){t[t.OverrideFunction=0]="OverrideFunction",t[t.RunBefore=1]="RunBefore",t[t.RunAfter=2]="RunAfter";}(b||(b={}));const B=(t,e,{LudwigOnly:n})=>({functionName:t,function:e,ludwigOnly:n||!1,type:b.OverrideFunction}),E=(t,e,{LudwigOnly:n})=>({functionName:t,function:e,ludwigOnly:n||!1,type:b.RunBefore});function C(t,n,i){I("yt-live-chat-item-list-renderer",E("handleAddChatItemAction_",(function(e){e.item.liveChatTextMessageRenderer&&(t.addTwitchEmotesToMessage(e.item.liveChatTextMessageRenderer.message),n.addAliasesToMessage(e.item.liveChatTextMessageRenderer));}),{LudwigOnly:true})),I("yt-live-chat-text-input-field-renderer",((t,e,{LudwigOnly:n})=>({functionName:t,function:e,ludwigOnly:n||!1,type:b.RunAfter}))("calculateLiveChatRichMessageInput_",(function(t){var e;if(!(null==t?void 0:t.textSegments))return t;for(const n of t.textSegments)if(null===(e=n.emojiId)||void 0===e?void 0:e.startsWith("mogultv")){const[,t]=n.emojiId.split("-");delete n.emojiId,n.text=t;}return t}),{LudwigOnly:true})),i.on("emotes",(t=>{if(!e$4())return;const n=document.querySelector("yt-live-chat-item-list-renderer");if(null==n?void 0:n.emojiManager){if(n.emojiManager._mogulTvLoaded)return;n.emojiManager._mogulTvLoaded=!0,n.emojiManager.load([...t.values()]);}else console.warn("Cannot find chat list");}));}function S(t){return t?t._mtvType?t._mtvType:t.icon?t.icon.iconType.toLowerCase():t.customThumbnail?"member":"":""}async function M(t){I("yt-live-chat-author-badge-renderer",B("computeType_",(t=>S(t.liveChatAuthorBadgeRenderer)),{LudwigOnly:true})),I("yt-live-chat-author-chip",B("computeAuthorType_",(function(e){var n,i;const a=this.$["author-name"];if(a){let e;const o=null===(n=this.parentElement)||void 0===n?void 0:n.parentElement,r=null===(i=null==o?void 0:o.data)||void 0===i?void 0:i.authorExternalChannelId;if(r){const n=t.getUserInfo(r);(null==n?void 0:n.c)&&(e=n.c);}e||(e=function(t){const e=function(t){let e=0;if(0===t.length)return 0;for(let n=0;n{await n()?(document.body.setAttribute("data-mogul-theater-mode",""),i||window.dispatchEvent(new Event("resize")),i=!0):(i=!1,document.body.removeAttribute("data-mogul-theater-mode"));}),250);}(j),async function(t){if(!window.ytcfg)return;const e={key:window.ytcfg.get("INNERTUBE_API_KEY"),authUser:window.ytcfg.get("SESSION_INDEX"),pageId:window.ytcfg.get("DELEGATED_SESSION_ID"),href:window.location.href,context:window.ytcfg.get("INNERTUBE_CONTEXT")};n=await e$3(Object.assign(Object.assign({},e),{cookies:v(document.cookie)})),i=await t.fetch("/auth/@me"),(!n.success||!i.meta.isSuccess||n.data.id!==(null===(a=i.body)||void 0===a?void 0:a.sub))&&await t.fetch("/auth/login",e);var n,i,a;}(j),setInterval((()=>{const t=document.querySelector("ytd-live-chat-frame iframe");if(t&&!t.src.includes("QXZRwEzaeHNfDqtD")){const e=n();t.src+=`#QXZRwEzaeHNfDqtD=${encodeURIComponent(JSON.stringify(e))}`;}}),1e3);var L,O; + */var $=function(e,t){if("string"!=typeof e)throw new TypeError("argument str must be a string");for(var n={},s=t||{},r=e.split(te),i=s.decode||ee,o=0;o0&&e.forEach((e=>{re(e,{sourceType:"youtube"});}));}}function re(e,{sourceType:t,retries:n=15}){if(!e)return;if(n<0)return;const s=function(e){var t,n;if(e.iframeQuerySelector){const s=document.querySelector(e.querySelector),r=null!==(t=null==s?void 0:s.contentDocument)&&void 0!==t?t:null===(n=null==s?void 0:s.contentWindow)||void 0===n?void 0:n.document;if(!r)return;return r.querySelector(e.iframeQuerySelector)}return document.querySelector(e.querySelector)}(e);if(s){const t=document.createElement("iframe");t.src=e.iframeUrl,t.setAttribute("key",e.slug),t.id=e.slug,"append"===e.domAction?s.appendChild(t):"replace"===e.domAction&&s.replaceWith(t);}else setTimeout((()=>{re(e,{sourceType:t,retries:n-1});}),250);}var ie;async function oe(e,n){await customElements.whenDefined(e);const s=customElements.get(e);if(!s)return void console.warn(`Polymer: ${e} not found`);const r=s.prototype[n.functionName];s.prototype[n.functionName]=function(...e){if(n.ludwigOnly&&!e$4())return r.apply(this,e);if(n.type===ie.OverrideFunction)try{return n.function.apply(this,e)}catch(e){console.error(JSON.stringify(n)),console.error(e);}if(n.type===ie.RunBefore)try{n.function.apply(this,e);}catch(e){console.error(e);}let s=r.apply(this,e);if(n.type===ie.RunAfter)try{s=n.function.apply(this,[s]);}catch(e){console.error(e);}return s};}!function(e){e[e.OverrideFunction=0]="OverrideFunction",e[e.RunBefore=1]="RunBefore",e[e.RunAfter=2]="RunAfter";}(ie||(ie={}));const ae=(e,t,{LudwigOnly:n})=>({functionName:e,function:t,ludwigOnly:n||!1,type:ie.OverrideFunction}),ce=(e,t,{LudwigOnly:n})=>({functionName:e,function:t,ludwigOnly:n||!1,type:ie.RunBefore});function le(e,n,s){oe("yt-live-chat-item-list-renderer",ce("handleAddChatItemAction_",(function(t){t.item.liveChatTextMessageRenderer&&(e.addTwitchEmotesToMessage(t.item.liveChatTextMessageRenderer.message),n.addAliasesToMessage(t.item.liveChatTextMessageRenderer));}),{LudwigOnly:true})),oe("yt-live-chat-text-input-field-renderer",((e,t,{LudwigOnly:n})=>({functionName:e,function:t,ludwigOnly:n||!1,type:ie.RunAfter}))("calculateLiveChatRichMessageInput_",(function(e){var t;if(!(null==e?void 0:e.textSegments))return e;for(const n of e.textSegments)if(null===(t=n.emojiId)||void 0===t?void 0:t.startsWith("mogultv")){const[,e]=n.emojiId.split("-");delete n.emojiId,n.text=e;}return e}),{LudwigOnly:true})),s.on("emotes",(e=>{if(!e$4())return;const n=document.querySelector("yt-live-chat-item-list-renderer");if(null==n?void 0:n.emojiManager){if(n.emojiManager._mogulTvLoaded)return;n.emojiManager._mogulTvLoaded=!0,n.emojiManager.load([...e.values()]);}else console.warn("Cannot find chat list");}));}function ue(e){return e?e._mtvType?e._mtvType:e.icon?e.icon.iconType.toLowerCase():e.customThumbnail?"member":"":""}async function de(e){oe("yt-live-chat-author-badge-renderer",ae("computeType_",(e=>ue(e.liveChatAuthorBadgeRenderer)),{LudwigOnly:true})),oe("yt-live-chat-author-chip",ae("computeAuthorType_",(function(t){var n,s;const r=this.$["author-name"];if(r){let t;const i=null===(n=this.parentElement)||void 0===n?void 0:n.parentElement,o=null===(s=null==i?void 0:i.data)||void 0===s?void 0:s.authorExternalChannelId;if(o){const n=e.getUserInfo(o);(null==n?void 0:n.c)&&(t=n.c);}t||(t=function(e){const t=function(e){let t=0;if(0===e.length)return 0;for(let n=0;n{await n()?(document.body.setAttribute("data-mogul-theater-mode",""),s||window.dispatchEvent(new Event("resize")),s=!0):(s=!1,document.body.removeAttribute("data-mogul-theater-mode"));}),250);}(fe),async function(e){if(!window.ytcfg)return;const t={key:window.ytcfg.get("INNERTUBE_API_KEY"),authUser:window.ytcfg.get("SESSION_INDEX"),pageId:window.ytcfg.get("DELEGATED_SESSION_ID"),href:window.location.href,context:window.ytcfg.get("INNERTUBE_CONTEXT")};n=await e$3(Object.assign(Object.assign({},t),{cookies:$(document.cookie)})),s=await e.fetch("/auth/@me"),(!n.success||!s.meta.isSuccess||n.data.id!==(null===(r=s.body)||void 0===r?void 0:r.sub)||!(null===(i=s.body)||void 0===i?void 0:i.googleId))&&await e.fetch("/auth/login",t);var n,s,r,i;}(fe);const e=new H;e.listen();const s=setInterval((()=>{const t=n();(null==t?void 0:t.channelId)&&(clearInterval(s),se(fe,e,t.channelId));}),1e3);setInterval((()=>{const e=document.querySelector("ytd-live-chat-frame iframe");if(e&&!e.src.includes("rVuDVKjClhIQSUGR")){const t=n();e.src+=`#rVuDVKjClhIQSUGR=${encodeURIComponent(JSON.stringify(t))}`;}}),1e3);}var me,ge; diff --git a/fetch_youtube-71c76849.js b/fetch_youtube-cfbafc47.js similarity index 52% rename from fetch_youtube-71c76849.js rename to fetch_youtube-cfbafc47.js index e50481a..b331e1c 100644 --- a/fetch_youtube-71c76849.js +++ b/fetch_youtube-cfbafc47.js @@ -1,3 +1,3 @@ -async function e(e){const t=await async function(e,t){const o=t.cookies.SAPISID||t.cookies["__Secure-3PAPISID"];if(!o)return {success:!1,code:400,message:"Missing cookie"};const n=new URL(t.href).origin,c=Math.floor(Date.now()/1e3),a=await async function(e){const t=await crypto.subtle.digest("SHA-1",(new TextEncoder).encode(e));return Array.from(new Uint8Array(t)).map((e=>e.toString(16).padStart(2,"0"))).join("")}(`${c} ${o} ${n}`),s={"x-origin":n,authorization:`SAPISIDHASH ${c}_${a}`,"x-goog-authuser":t.authUser,cookie:Object.entries(t.cookies).map((([e,t])=>`${e}=${t}`)).join(";")};t.pageId&&(s["x-goog-pageid"]=t.pageId);const i=await fetch(`https://www.youtube.com${e}?key=${t.key}`,{method:"POST",headers:s,body:JSON.stringify({context:t.context})});return {success:!0,data:await i.json()}}("/youtubei/v1/account/account_menu",e);if(!t.success)return t;const o=t.data;try{const e=o.actions[0].openPopupAction.popup.multiPageMenuRenderer,t=e.header.activeAccountHeaderRenderer,n=e.sections[0].multiPageMenuSectionRenderer.items[0].compactLinkRenderer.navigationEndpoint.browseEndpoint.browseId.trim().replace(/\n/g,"");return /^UC.{22}$/.test(n)?{success:!0,data:{id:n,profile:t.accountPhoto.thumbnails[0].url,username:t.accountName.simpleText}}:{success:!1,code:400,message:"Failed to authenticate"}}catch(e){return {success:!1,code:400,message:"Failed to authenticate"}}} +async function e(e){const t=await async function(e,t){const o=t.cookies.SAPISID||t.cookies["__Secure-3PAPISID"];if(!o)return {success:!1,code:400,message:"Missing cookie"};const n=new URL(t.href).origin,a=Math.floor(Date.now()/1e3),s=await async function(e){const t=await crypto.subtle.digest("SHA-1",(new TextEncoder).encode(e));return Array.from(new Uint8Array(t)).map((e=>e.toString(16).padStart(2,"0"))).join("")}(`${a} ${o} ${n}`),c={"x-origin":n,authorization:`SAPISIDHASH ${a}_${s}`,"x-goog-authuser":t.authUser,cookie:Object.entries(t.cookies).map((([e,t])=>`${e}=${t}`)).join(";")};t.pageId&&(c["x-goog-pageid"]=t.pageId);const i=await fetch(`https://www.youtube.com${e}?key=${t.key}`,{method:"POST",headers:c,body:JSON.stringify({context:t.context})});return {success:!0,data:await i.json()}}("/youtubei/v1/account/account_menu",e);if(!t.success)return t;const o=t.data;try{const e=o.actions[0].openPopupAction.popup.multiPageMenuRenderer,t=e.header.activeAccountHeaderRenderer,n=e.sections[0].multiPageMenuSectionRenderer.items[0].compactLinkRenderer.navigationEndpoint.browseEndpoint.browseId.trim().replace(/\n/g,""),a=o.responseContext.mainAppWebResponseContext.datasyncId.split("||")[0];return /^UC.{22}$/.test(n)?{success:!0,data:{id:n,googleUserId:a,profile:t.accountPhoto.thumbnails[0].url,username:t.accountName.simpleText}}:{success:!1,code:400,message:"Failed to authenticate"}}catch(e){return {success:!1,code:400,message:"Failed to authenticate"}}} export { e }; diff --git a/get_stream_details-b6177000.js b/get_stream_details-14cd00a5.js similarity index 74% rename from get_stream_details-b6177000.js rename to get_stream_details-14cd00a5.js index d118636..a4f70a8 100644 --- a/get_stream_details-b6177000.js +++ b/get_stream_details-14cd00a5.js @@ -1,3 +1,3 @@ -function n(){let n=function(){var n,e;const t=document.querySelector("ytd-page-manager");return null===(e=null===(n=null==t?void 0:t.data)||void 0===n?void 0:n.playerResponse)||void 0===e?void 0:e.videoDetails}();return n||(n=function(){const n=new URLSearchParams(window.location.hash.substring(1)).get("QXZRwEzaeHNfDqtD");if(n)try{return JSON.parse(n)}catch(n){return}}(),n||void 0)}function e(e=!0){const t=n();return t?"UCrPseYLGpNygVi34QpGNqpA"===t.channelId&&t.isLiveContent:e} +function n(){let n=function(){var n,e;const t=document.querySelector("ytd-page-manager");return null===(e=null===(n=null==t?void 0:t.data)||void 0===n?void 0:n.playerResponse)||void 0===e?void 0:e.videoDetails}();return n||(n=function(){const n=new URLSearchParams(window.location.hash.substring(1)).get("rVuDVKjClhIQSUGR");if(n)try{return JSON.parse(n)}catch(n){return}}(),n||void 0)}function e(e=!0){const t=n();return t?"UCrPseYLGpNygVi34QpGNqpA"===t.channelId&&t.isLiveContent:e} export { e, n }; diff --git a/inject_script.util-a32f14cf.js b/inject_script.util-a32f14cf.js new file mode 100644 index 0000000..5000eb5 --- /dev/null +++ b/inject_script.util-a32f14cf.js @@ -0,0 +1,5 @@ +import { s } from './storage-a8ac7bd3.js'; + +function t(t){const n=document.head||document.documentElement,i=document.createElement("script");i.type="module",i.id="XQpBuigyZWZGIjvE",i.setAttribute("XQpBuigyZWZGIjvE",s.runtime.id),i.src=s.runtime.getURL(t),n.prepend(i);} + +export { t }; diff --git a/inject_script.util-c1ec59e3.js b/inject_script.util-c1ec59e3.js deleted file mode 100644 index 29e8018..0000000 --- a/inject_script.util-c1ec59e3.js +++ /dev/null @@ -1,5 +0,0 @@ -import { s } from './storage-a8ac7bd3.js'; - -function e(e){const d=document.head||document.documentElement,n=document.createElement("script");n.type="module",n.id="jjdtNVhjLLNiwvfY",n.setAttribute("jjdtNVhjLLNiwvfY",s.runtime.id),n.src=s.runtime.getURL(e),d.prepend(n);} - -export { e }; diff --git a/manifest.json b/manifest.json index 7c97216..1ba23fb 100644 --- a/manifest.json +++ b/manifest.json @@ -1,7 +1,7 @@ { "manifest_version": 2, "name": "Mogul.TV", - "version": "2.0.1", + "version": "2.1.0", "description": "Enhance your Ludwig viewing experience", "browser_specific_settings": { "gecko": { @@ -63,16 +63,16 @@ "web_accessible_resources": [ "content/youtube/inject.js", "content/twitch/inject.js", - "background.injected-af36b849.js", - "get_stream_details-b6177000.js", + "background.injected-3cca8ca2.js", + "get_stream_details-14cd00a5.js", "index-6137f488.js", "parse_token.util-ed270559.js", - "fetch_youtube-71c76849.js", "router.interface-6cdbc015.js", + "fetch_youtube-cfbafc47.js", "style-inject.es-a0e1a0ba.js", "storage-a8ac7bd3.js", "background.content-5f02aba1.js", - "inject_script.util-c1ec59e3.js", + "inject_script.util-a32f14cf.js", "connectRuntime-a699491c.js", "when_ready.util-91474a6b.js", "content/twitch/index.js", diff --git a/popup/index.js b/popup/index.js index f164ab5..810d00c 100644 --- a/popup/index.js +++ b/popup/index.js @@ -11,12 +11,12 @@ var T={exports:{}},j={},z=Object.getOwnPropertySymbols,N=Object.prototype.hasOwn * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */j.Fragment=60107,j.StrictMode=60108,j.Profiler=60114;var B=60109,D=60110,W=60112;j.Suspense=60113;var U=60115,H=60116;if("function"==typeof Symbol&&Symbol.for){var V=Symbol.for;$=V("react.element"),A=V("react.portal"),j.Fragment=V("react.fragment"),j.StrictMode=V("react.strict_mode"),j.Profiler=V("react.profiler"),B=V("react.provider"),D=V("react.context"),W=V("react.forward_ref"),j.Suspense=V("react.suspense"),U=V("react.memo"),H=V("react.lazy");}var q="function"==typeof Symbol&&Symbol.iterator;function K(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n0?Pe(Fe,--Le):0,Ne--,10===Ie&&(Ne=1,ze--),Ie}function De(){return Ie=Le<_e?Pe(Fe,Le++):0,Ne++,10===Ie&&(Ne=1,ze++),Ie}function We(){return Pe(Fe,Le)}function Ue(){return Le}function He(e,t){return Me(Fe,e,t)}function Ve(e){switch(e){case 0:case 9:case 10:case 13:case 32:return 5;case 33:case 43:case 44:case 47:case 62:case 64:case 126:case 59:case 123:case 125:return 4;case 58:return 3;case 34:case 39:case 40:case 91:return 2;case 41:case 93:return 1}return 0}function qe(e){return ze=Ne=1,_e=Oe(Fe=e),Le=0,[]}function Ke(e){return Fe="",e}function Xe(e){return Ce(He(Le-1,Ge(91===e?e+2:40===e?e+1:e)))}function Ye(e){for(;(Ie=We())&&Ie<33;)De();return Ve(e)>2||Ve(Ie)>3?"":" "}function Qe(e,t){for(;--t&&De()&&!(Ie<48||Ie>102||Ie>57&&Ie<65||Ie>70&&Ie<97););return He(e,Ue()+(t<6&&32==We()&&32==De()))}function Ge(e){for(;De();)switch(Ie){case e:return Le;case 34:case 39:34!==e&&39!==e&&Ge(Ie);break;case 40:41===e&&Ge(e);break;case 92:De();}return Le}function Ze(e,t){for(;De()&&e+Ie!==57&&(e+Ie!==84||47!==We()););return "/*"+He(t,Le-1)+"*"+ke(47===e?e:De())}function Je(e){for(;!Ve(We());)De();return He(e,Le)}function et(e){return Ke(tt("",null,null,null,[""],e=qe(e),0,[0],e))}function tt(e,t,n,r,o,a,i,l,s){for(var u=0,c=0,d=i,p=0,f=0,h=0,m=1,v=1,g=1,b=0,y="",x=o,w=a,k=r,S=y;v;)switch(h=b,b=De()){case 40:if(108!=h&&58==S.charCodeAt(d-1)){-1!=Re(S+=Ee(Xe(b),"&","&\f"),"&\f")&&(g=-1);break}case 34:case 39:case 91:S+=Xe(b);break;case 9:case 10:case 13:case 32:S+=Ye(h);break;case 92:S+=Qe(Ue()-1,7);continue;case 47:switch(We()){case 42:case 47:je(rt(Ze(De(),Ue()),t,n),s);break;default:S+="/";}break;case 123*m:l[u++]=Oe(S)*g;case 125*m:case 59:case 0:switch(b){case 0:case 125:v=0;case 59+c:f>0&&Oe(S)-d&&je(f>32?ot(S+";",r,n,d-1):ot(Ee(S," ","")+";",r,n,d-2),s);break;case 59:S+=";";default:if(je(k=nt(S,t,n,u,c,o,l,y,x=[],w=[],d),a),123===b)if(0===c)tt(S,t,k,k,x,a,d,l,w);else switch(p){case 100:case 109:case 115:tt(e,k,k,r&&je(nt(e,k,k,0,0,o,l,y,o,x=[],d),w),o,w,d,l,r?x:w);break;default:tt(S,k,k,k,[""],w,0,l,w);}}u=c=f=0,m=g=1,y=S="",d=i;break;case 58:d=1+Oe(S),f=h;default:if(m<1)if(123==b)--m;else if(125==b&&0==m++&&125==Be())continue;switch(S+=ke(b),b*m){case 38:g=c>0?1:(S+="\f",-1);break;case 44:l[u++]=(Oe(S)-1)*g,g=1;break;case 64:45===We()&&(S+=Xe(De())),p=We(),c=d=Oe(y=S+=Je(Ue())),b++;break;case 45:45===h&&2==Oe(S)&&(m=0);}}return a}function nt(e,t,n,r,o,a,i,l,s,u,c){for(var d=o-1,p=0===o?a:[""],f=Te(p),h=0,m=0,v=0;h0?p[g]+" "+b:Ee(b,/&\f/g,p[g])))&&(s[v++]=y);return $e(e,t,n,0===o?"rule":l,s,u,c)}function rt(e,t,n){return $e(e,t,n,"comm",ke(Ie),Me(e,2,-2),0)}function ot(e,t,n,r){return $e(e,t,n,"decl",Me(e,0,r),Me(e,r+1,-1),r)}function at(e,t){switch(function(e,t){return (((t<<2^Pe(e,0))<<2^Pe(e,1))<<2^Pe(e,2))<<2^Pe(e,3)}(e,t)){case 5103:return xe+"print-"+e+e;case 5737:case 4201:case 3177:case 3433:case 1641:case 4457:case 2921:case 5572:case 6356:case 5844:case 3191:case 6645:case 3005:case 6391:case 5879:case 5623:case 6135:case 4599:case 4855:case 4215:case 6389:case 5109:case 5365:case 5621:case 3829:return xe+e+e;case 5349:case 4246:case 4810:case 6968:case 2756:return xe+e+ye+e+be+e+e;case 6828:case 4268:return xe+e+be+e+e;case 6165:return xe+e+be+"flex-"+e+e;case 5187:return xe+e+Ee(e,/(\w+).+(:[^]+)/,"-webkit-box-$1$2-ms-flex-$1$2")+e;case 5443:return xe+e+be+"flex-item-"+Ee(e,/flex-|-self/,"")+e;case 4675:return xe+e+be+"flex-line-pack"+Ee(e,/align-content|flex-|-self/,"")+e;case 5548:return xe+e+be+Ee(e,"shrink","negative")+e;case 5292:return xe+e+be+Ee(e,"basis","preferred-size")+e;case 6060:return xe+"box-"+Ee(e,"-grow","")+xe+e+be+Ee(e,"grow","positive")+e;case 4554:return xe+Ee(e,/([^-])(transform)/g,"$1-webkit-$2")+e;case 6187:return Ee(Ee(Ee(e,/(zoom-|grab)/,xe+"$1"),/(image-set)/,xe+"$1"),e,"")+e;case 5495:case 3959:return Ee(e,/(image-set\([^]*)/,xe+"$1$`$1");case 4968:return Ee(Ee(e,/(.+:)(flex-)?(.*)/,"-webkit-box-pack:$3-ms-flex-pack:$3"),/s.+-b[^;]+/,"justify")+xe+e+e;case 4095:case 3583:case 4068:case 2532:return Ee(e,/(.+)-inline(.+)/,xe+"$1$2")+e;case 8116:case 7059:case 5753:case 5535:case 5445:case 5701:case 4933:case 4677:case 5533:case 5789:case 5021:case 4765:if(Oe(e)-1-t>6)switch(Pe(e,t+1)){case 109:if(45!==Pe(e,t+4))break;case 102:return Ee(e,/(.+:)(.+)-([^]+)/,"$1-webkit-$2-$3$1"+ye+(108==Pe(e,t+3)?"$3":"$2-$3"))+e;case 115:return ~Re(e,"stretch")?at(Ee(e,"stretch","fill-available"),t)+e:e}break;case 4949:if(115!==Pe(e,t+1))break;case 6444:switch(Pe(e,Oe(e)-3-(~Re(e,"!important")&&10))){case 107:return Ee(e,":",":"+xe)+e;case 101:return Ee(e,/(.+:)([^;!]+)(;|!.+)?/,"$1"+xe+(45===Pe(e,14)?"inline-":"")+"box$3$1"+xe+"$2$3$1"+be+"$2box$3")+e}break;case 5936:switch(Pe(e,t+11)){case 114:return xe+e+be+Ee(e,/[svh]\w+-[tblr]{2}/,"tb")+e;case 108:return xe+e+be+Ee(e,/[svh]\w+-[tblr]{2}/,"tb-rl")+e;case 45:return xe+e+be+Ee(e,/[svh]\w+-[tblr]{2}/,"lr")+e}return xe+e+be+e+e}return e}function it(e,t){for(var n="",r=Te(e),o=0;o-1&&!e.return)switch(e.type){case"decl":e.return=at(e.value,e.length);break;case"@keyframes":return it([Ae(e,{value:Ee(e.value,"@","@"+xe)})],r);case"rule":if(e.length)return function(e,t){return e.map(t).join("")}(e.props,(function(t){switch(function(e,t){return (e=t.exec(e))?e[0]:e}(t,/(::plac\w+|:read-\w+)/)){case":read-only":case":read-write":return it([Ae(e,{props:[Ee(t,/:(read-\w+)/,":-moz-$1")]})],r);case"::placeholder":return it([Ae(e,{props:[Ee(t,/:(plac\w+)/,":-webkit-input-$1")]}),Ae(e,{props:[Ee(t,/:(plac\w+)/,":-moz-$1")]}),Ae(e,{props:[Ee(t,/:(plac\w+)/,be+"input-$1")]})],r)}return ""}))}}],yt=function(e){var t=e.key;if(vt&&"css"===t){var n=document.querySelectorAll("style[data-emotion]:not([data-s])");Array.prototype.forEach.call(n,(function(e){-1!==e.getAttribute("data-emotion").indexOf(" ")&&(document.head.appendChild(e),e.setAttribute("data-s",""));}));}var r,o,a=e.stylisPlugins||bt,i={},l=[];vt&&(r=e.container||document.head,Array.prototype.forEach.call(document.querySelectorAll('style[data-emotion^="'+t+' "]'),(function(e){for(var t=e.getAttribute("data-emotion").split(" "),n=1;n=4;++r,o-=4)t=1540483477*(65535&(t=255&e.charCodeAt(r)|(255&e.charCodeAt(++r))<<8|(255&e.charCodeAt(++r))<<16|(255&e.charCodeAt(++r))<<24))+(59797*(t>>>16)<<16),n=1540483477*(65535&(t^=t>>>24))+(59797*(t>>>16)<<16)^1540483477*(65535&n)+(59797*(n>>>16)<<16);switch(o){case 3:n^=(255&e.charCodeAt(r+2))<<16;case 2:n^=(255&e.charCodeAt(r+1))<<8;case 1:n=1540483477*(65535&(n^=255&e.charCodeAt(r)))+(59797*(n>>>16)<<16);}return (((n=1540483477*(65535&(n^=n>>>13))+(59797*(n>>>16)<<16))^n>>>15)>>>0).toString(36)}(o)+s;return {name:u,styles:o,next:nn}},an="undefined"!=typeof document,ln=T.exports.createContext("undefined"!=typeof HTMLElement?yt({key:"css"}):null);ln.Provider;var sn=function(e){return T.exports.forwardRef((function(t,n){var r=T.exports.useContext(ln);return e(t,r,n)}))};an||(sn=function(e){return function(t){var n=T.exports.useContext(ln);return null===n?(n=yt({key:"css"}),T.exports.createElement(ln.Provider,{value:n},e(t,n))):e(t,n)}});var un=T.exports.createContext({}),cn=sn((function(e,t){var n=e.styles,r=on([n],void 0,T.exports.useContext(un));if(!an){for(var o,a=r.name,i=r.styles,l=r.next;void 0!==l;)a+=" "+l.name,i+=l.styles,l=l.next;var s=!0===t.compat,u=t.insert("",{name:a,styles:i},t.sheet,s);return s?null:T.exports.createElement("style",((o={})["data-emotion"]=t.key+"-global "+a,o.dangerouslySetInnerHTML={__html:u},o.nonce=t.sheet.nonce,o))}var c=T.exports.useRef();return T.exports.useLayoutEffect((function(){var e=t.key+"-global",n=new ge({key:e,nonce:t.sheet.nonce,container:t.sheet.container,speedy:t.sheet.isSpeedy}),o=!1,a=document.querySelector('style[data-emotion="'+e+" "+r.name+'"]');return t.sheet.tags.length&&(n.before=t.sheet.tags[0]),null!==a&&(o=!0,a.setAttribute("data-emotion",e),n.hydrate([a])),c.current=[n,o],function(){n.flush();}}),[t]),T.exports.useLayoutEffect((function(){var e=c.current,n=e[0];if(e[1])e[1]=!1;else {if(void 0!==r.next&&Kt(t,r.next,!0),n.tags.length){var o=n.tags[n.tags.length-1].nextElementSibling;n.before=o,n.flush();}t.insert("",r,n,!1);}}),[t,r.name]),null}));function dn(){for(var e=arguments.length,t=new Array(e),n=0;n96?fn:hn},vn=function(e,t,n){var r;if(t){var o=t.shouldForwardProp;r=e.__emotion_forwardProp&&o?function(t){return e.__emotion_forwardProp(t)&&o(t)}:o;}return "function"!=typeof r&&n&&(r=e.__emotion_forwardProp),r},gn="undefined"!=typeof document,bn=function(){return null},yn=function t(n,r){var o,a,i=n.__emotion_real===n,l=i&&n.__emotion_base||n;void 0!==r&&(o=r.label,a=r.target);var s=vn(n,r,i),u=s||mn(l),c=!u("as");return function(){var d=arguments,p=i&&void 0!==n.__emotion_styles?n.__emotion_styles.slice(0):[];if(void 0!==o&&p.push("label:"+o+";"),null==d[0]||void 0===d[0].raw)p.push.apply(p,d);else {p.push(d[0][0]);for(var f$1=d.length,h=1;h{return t(null==(r=e)||0===Object.keys(r).length?n:e);var r;}:t;return wn.exports.jsx(cn,{styles:r})} + */j.Fragment=60107,j.StrictMode=60108,j.Profiler=60114;var B=60109,D=60110,W=60112;j.Suspense=60113;var U=60115,H=60116;if("function"==typeof Symbol&&Symbol.for){var V=Symbol.for;$=V("react.element"),A=V("react.portal"),j.Fragment=V("react.fragment"),j.StrictMode=V("react.strict_mode"),j.Profiler=V("react.profiler"),B=V("react.provider"),D=V("react.context"),W=V("react.forward_ref"),j.Suspense=V("react.suspense"),U=V("react.memo"),H=V("react.lazy");}var q="function"==typeof Symbol&&Symbol.iterator;function K(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n0?Pe(Fe,--Le):0,Ne--,10===Ie&&(Ne=1,ze--),Ie}function De(){return Ie=Le<_e?Pe(Fe,Le++):0,Ne++,10===Ie&&(Ne=1,ze++),Ie}function We(){return Pe(Fe,Le)}function Ue(){return Le}function He(e,t){return Me(Fe,e,t)}function Ve(e){switch(e){case 0:case 9:case 10:case 13:case 32:return 5;case 33:case 43:case 44:case 47:case 62:case 64:case 126:case 59:case 123:case 125:return 4;case 58:return 3;case 34:case 39:case 40:case 91:return 2;case 41:case 93:return 1}return 0}function qe(e){return ze=Ne=1,_e=Oe(Fe=e),Le=0,[]}function Ke(e){return Fe="",e}function Xe(e){return Ce(He(Le-1,Ge(91===e?e+2:40===e?e+1:e)))}function Ye(e){for(;(Ie=We())&&Ie<33;)De();return Ve(e)>2||Ve(Ie)>3?"":" "}function Qe(e,t){for(;--t&&De()&&!(Ie<48||Ie>102||Ie>57&&Ie<65||Ie>70&&Ie<97););return He(e,Ue()+(t<6&&32==We()&&32==De()))}function Ge(e){for(;De();)switch(Ie){case e:return Le;case 34:case 39:34!==e&&39!==e&&Ge(Ie);break;case 40:41===e&&Ge(e);break;case 92:De();}return Le}function Ze(e,t){for(;De()&&e+Ie!==57&&(e+Ie!==84||47!==We()););return "/*"+He(t,Le-1)+"*"+ke(47===e?e:De())}function Je(e){for(;!Ve(We());)De();return He(e,Le)}function et(e){return Ke(tt("",null,null,null,[""],e=qe(e),0,[0],e))}function tt(e,t,n,r,o,a,i,l,s){for(var u=0,c=0,d=i,p=0,f=0,h=0,m=1,v=1,g=1,b=0,y="",x=o,w=a,k=r,S=y;v;)switch(h=b,b=De()){case 40:if(108!=h&&58==S.charCodeAt(d-1)){-1!=Re(S+=Ee(Xe(b),"&","&\f"),"&\f")&&(g=-1);break}case 34:case 39:case 91:S+=Xe(b);break;case 9:case 10:case 13:case 32:S+=Ye(h);break;case 92:S+=Qe(Ue()-1,7);continue;case 47:switch(We()){case 42:case 47:je(rt(Ze(De(),Ue()),t,n),s);break;default:S+="/";}break;case 123*m:l[u++]=Oe(S)*g;case 125*m:case 59:case 0:switch(b){case 0:case 125:v=0;case 59+c:f>0&&Oe(S)-d&&je(f>32?ot(S+";",r,n,d-1):ot(Ee(S," ","")+";",r,n,d-2),s);break;case 59:S+=";";default:if(je(k=nt(S,t,n,u,c,o,l,y,x=[],w=[],d),a),123===b)if(0===c)tt(S,t,k,k,x,a,d,l,w);else switch(p){case 100:case 109:case 115:tt(e,k,k,r&&je(nt(e,k,k,0,0,o,l,y,o,x=[],d),w),o,w,d,l,r?x:w);break;default:tt(S,k,k,k,[""],w,0,l,w);}}u=c=f=0,m=g=1,y=S="",d=i;break;case 58:d=1+Oe(S),f=h;default:if(m<1)if(123==b)--m;else if(125==b&&0==m++&&125==Be())continue;switch(S+=ke(b),b*m){case 38:g=c>0?1:(S+="\f",-1);break;case 44:l[u++]=(Oe(S)-1)*g,g=1;break;case 64:45===We()&&(S+=Xe(De())),p=We(),c=d=Oe(y=S+=Je(Ue())),b++;break;case 45:45===h&&2==Oe(S)&&(m=0);}}return a}function nt(e,t,n,r,o,a,i,l,s,u,c){for(var d=o-1,p=0===o?a:[""],f=Te(p),h=0,m=0,v=0;h0?p[g]+" "+b:Ee(b,/&\f/g,p[g])))&&(s[v++]=y);return $e(e,t,n,0===o?"rule":l,s,u,c)}function rt(e,t,n){return $e(e,t,n,"comm",ke(Ie),Me(e,2,-2),0)}function ot(e,t,n,r){return $e(e,t,n,"decl",Me(e,0,r),Me(e,r+1,-1),r)}function at(e,t){switch(function(e,t){return (((t<<2^Pe(e,0))<<2^Pe(e,1))<<2^Pe(e,2))<<2^Pe(e,3)}(e,t)){case 5103:return xe+"print-"+e+e;case 5737:case 4201:case 3177:case 3433:case 1641:case 4457:case 2921:case 5572:case 6356:case 5844:case 3191:case 6645:case 3005:case 6391:case 5879:case 5623:case 6135:case 4599:case 4855:case 4215:case 6389:case 5109:case 5365:case 5621:case 3829:return xe+e+e;case 5349:case 4246:case 4810:case 6968:case 2756:return xe+e+ye+e+be+e+e;case 6828:case 4268:return xe+e+be+e+e;case 6165:return xe+e+be+"flex-"+e+e;case 5187:return xe+e+Ee(e,/(\w+).+(:[^]+)/,"-webkit-box-$1$2-ms-flex-$1$2")+e;case 5443:return xe+e+be+"flex-item-"+Ee(e,/flex-|-self/,"")+e;case 4675:return xe+e+be+"flex-line-pack"+Ee(e,/align-content|flex-|-self/,"")+e;case 5548:return xe+e+be+Ee(e,"shrink","negative")+e;case 5292:return xe+e+be+Ee(e,"basis","preferred-size")+e;case 6060:return xe+"box-"+Ee(e,"-grow","")+xe+e+be+Ee(e,"grow","positive")+e;case 4554:return xe+Ee(e,/([^-])(transform)/g,"$1-webkit-$2")+e;case 6187:return Ee(Ee(Ee(e,/(zoom-|grab)/,xe+"$1"),/(image-set)/,xe+"$1"),e,"")+e;case 5495:case 3959:return Ee(e,/(image-set\([^]*)/,xe+"$1$`$1");case 4968:return Ee(Ee(e,/(.+:)(flex-)?(.*)/,"-webkit-box-pack:$3-ms-flex-pack:$3"),/s.+-b[^;]+/,"justify")+xe+e+e;case 4095:case 3583:case 4068:case 2532:return Ee(e,/(.+)-inline(.+)/,xe+"$1$2")+e;case 8116:case 7059:case 5753:case 5535:case 5445:case 5701:case 4933:case 4677:case 5533:case 5789:case 5021:case 4765:if(Oe(e)-1-t>6)switch(Pe(e,t+1)){case 109:if(45!==Pe(e,t+4))break;case 102:return Ee(e,/(.+:)(.+)-([^]+)/,"$1-webkit-$2-$3$1"+ye+(108==Pe(e,t+3)?"$3":"$2-$3"))+e;case 115:return ~Re(e,"stretch")?at(Ee(e,"stretch","fill-available"),t)+e:e}break;case 4949:if(115!==Pe(e,t+1))break;case 6444:switch(Pe(e,Oe(e)-3-(~Re(e,"!important")&&10))){case 107:return Ee(e,":",":"+xe)+e;case 101:return Ee(e,/(.+:)([^;!]+)(;|!.+)?/,"$1"+xe+(45===Pe(e,14)?"inline-":"")+"box$3$1"+xe+"$2$3$1"+be+"$2box$3")+e}break;case 5936:switch(Pe(e,t+11)){case 114:return xe+e+be+Ee(e,/[svh]\w+-[tblr]{2}/,"tb")+e;case 108:return xe+e+be+Ee(e,/[svh]\w+-[tblr]{2}/,"tb-rl")+e;case 45:return xe+e+be+Ee(e,/[svh]\w+-[tblr]{2}/,"lr")+e}return xe+e+be+e+e}return e}function it(e,t){for(var n="",r=Te(e),o=0;o-1&&!e.return)switch(e.type){case"decl":e.return=at(e.value,e.length);break;case"@keyframes":return it([Ae(e,{value:Ee(e.value,"@","@"+xe)})],r);case"rule":if(e.length)return function(e,t){return e.map(t).join("")}(e.props,(function(t){switch(function(e,t){return (e=t.exec(e))?e[0]:e}(t,/(::plac\w+|:read-\w+)/)){case":read-only":case":read-write":return it([Ae(e,{props:[Ee(t,/:(read-\w+)/,":-moz-$1")]})],r);case"::placeholder":return it([Ae(e,{props:[Ee(t,/:(plac\w+)/,":-webkit-input-$1")]}),Ae(e,{props:[Ee(t,/:(plac\w+)/,":-moz-$1")]}),Ae(e,{props:[Ee(t,/:(plac\w+)/,be+"input-$1")]})],r)}return ""}))}}],ht=function(e){var t=e.key;if("css"===t){var n=document.querySelectorAll("style[data-emotion]:not([data-s])");Array.prototype.forEach.call(n,(function(e){-1!==e.getAttribute("data-emotion").indexOf(" ")&&(document.head.appendChild(e),e.setAttribute("data-s",""));}));}var r,o,a=e.stylisPlugins||ft,i={},l=[];r=e.container||document.head,Array.prototype.forEach.call(document.querySelectorAll('style[data-emotion^="'+t+' "]'),(function(e){for(var t=e.getAttribute("data-emotion").split(" "),n=1;n=4;++r,o-=4)t=1540483477*(65535&(t=255&e.charCodeAt(r)|(255&e.charCodeAt(++r))<<8|(255&e.charCodeAt(++r))<<16|(255&e.charCodeAt(++r))<<24))+(59797*(t>>>16)<<16),n=1540483477*(65535&(t^=t>>>24))+(59797*(t>>>16)<<16)^1540483477*(65535&n)+(59797*(n>>>16)<<16);switch(o){case 3:n^=(255&e.charCodeAt(r+2))<<16;case 2:n^=(255&e.charCodeAt(r+1))<<8;case 1:n=1540483477*(65535&(n^=255&e.charCodeAt(r)))+(59797*(n>>>16)<<16);}return (((n=1540483477*(65535&(n^=n>>>13))+(59797*(n>>>16)<<16))^n>>>15)>>>0).toString(36)}(o)+s;return {name:u,styles:o,next:Qt}},Jt=T.exports.createContext("undefined"!=typeof HTMLElement?ht({key:"css"}):null);Jt.Provider;var en=function(e){return T.exports.forwardRef((function(t,n){var r=T.exports.useContext(Jt);return e(t,r,n)}))},tn=T.exports.createContext({}),nn=en((function(e,t){var n=e.styles,r=Zt([n],void 0,T.exports.useContext(tn)),o=T.exports.useRef();return T.exports.useLayoutEffect((function(){var e=t.key+"-global",n=new ge({key:e,nonce:t.sheet.nonce,container:t.sheet.container,speedy:t.sheet.isSpeedy}),a=!1,i=document.querySelector('style[data-emotion="'+e+" "+r.name+'"]');return t.sheet.tags.length&&(n.before=t.sheet.tags[0]),null!==i&&(a=!0,i.setAttribute("data-emotion",e),n.hydrate([i])),o.current=[n,a],function(){n.flush();}}),[t]),T.exports.useLayoutEffect((function(){var e=o.current,n=e[0];if(e[1])e[1]=!1;else {if(void 0!==r.next&&Dt(t,r.next,!0),n.tags.length){var a=n.tags[n.tags.length-1].nextElementSibling;n.before=a,n.flush();}t.insert("",r,n,!1);}}),[t,r.name]),null}));function rn(){for(var e=arguments.length,t=new Array(e),n=0;n96?an:ln},un=function(e,t,n){var r;if(t){var o=t.shouldForwardProp;r=e.__emotion_forwardProp&&o?function(t){return e.__emotion_forwardProp(t)&&o(t)}:o;}return "function"!=typeof r&&n&&(r=e.__emotion_forwardProp),r},cn=function(){return null},dn=function t(n,r){var o,a,i=n.__emotion_real===n,l=i&&n.__emotion_base||n;void 0!==r&&(o=r.label,a=r.target);var s=un(n,r,i),u=s||sn(l),c=!u("as");return function(){var d=arguments,p=i&&void 0!==n.__emotion_styles?n.__emotion_styles.slice(0):[];if(void 0!==o&&p.push("label:"+o+";"),null==d[0]||void 0===d[0].raw)p.push.apply(p,d);else {p.push(d[0][0]);for(var f$1=d.length,h=1;h{return t(null==(r=e)||0===Object.keys(r).length?n:e);var r;}:t;return fn.exports.jsx(nn,{styles:r})} /** @license MUI v5.2.6 * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */function jn(e,t){return xn(e,t)}kn.jsx=On,kn.jsxs=On,wn.exports=kn;var Nn=60103,_n=60106,Ln=60107,In=60108,Fn=60114,$n=60109,An=60110,Bn=60112,Dn=60113,Wn=60120,Un=60115,Hn=60116,Vn=60121,qn=60122,Kn=60117,Xn=60129,Yn=60131; + */function Sn(e,t){return pn(e,t)}hn.jsx=wn,hn.jsxs=wn,fn.exports=hn;var En=60103,Rn=60106,Pn=60107,Mn=60108,On=60114,Tn=60109,jn=60110,zn=60112,Nn=60113,_n=60120,Ln=60115,In=60116,Fn=60121,$n=60122,An=60117,Bn=60129,Dn=60131; /** @license React v17.0.2 * react-is.production.min.js * @@ -24,7 +24,7 @@ var T={exports:{}},j={},z=Object.getOwnPropertySymbols,N=Object.prototype.hasOwn * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */if("function"==typeof Symbol&&Symbol.for){var Qn=Symbol.for;Nn=Qn("react.element"),_n=Qn("react.portal"),Ln=Qn("react.fragment"),In=Qn("react.strict_mode"),Fn=Qn("react.profiler"),$n=Qn("react.provider"),An=Qn("react.context"),Bn=Qn("react.forward_ref"),Dn=Qn("react.suspense"),Wn=Qn("react.suspense_list"),Un=Qn("react.memo"),Hn=Qn("react.lazy"),Vn=Qn("react.block"),qn=Qn("react.server.block"),Kn=Qn("react.fundamental"),Xn=Qn("react.debug_trace_mode"),Yn=Qn("react.legacy_hidden");}function sr(...e){return e.reduce(((e,t)=>null==t?e:function(...n){e.apply(this,n),t.apply(this,n);}),(()=>{}))}function ur(e,t=166){let n;function r(...r){clearTimeout(n),n=setTimeout((()=>{e.apply(this,r);}),t);}return r.clear=()=>{clearTimeout(n);},r}function cr(e,t){return T.exports.isValidElement(e)&&-1!==t.indexOf(e.type.muiName)}function dr(e){return e&&e.ownerDocument||document}function pr(e){return dr(e).defaultView||window}function fr(e,t){"function"==typeof e?e(t):e&&(e.current=t);}var hr="undefined"!=typeof window?T.exports.useLayoutEffect:T.exports.useEffect;let mr=0;function vr(e){const[t,n]=T.exports.useState(e),r=e||t;return T.exports.useEffect((()=>{null==t&&(mr+=1,n(`mui-${mr}`));}),[t]),r}function gr({controlled:e,default:t,name:n,state:r="value"}){const{current:o}=T.exports.useRef(void 0!==e),[a,i]=T.exports.useState(t);return [o?e:a,T.exports.useCallback((e=>{o||i(e);}),[])]}function br(e){const t=T.exports.useRef(e);return hr((()=>{t.current=e;})),T.exports.useCallback(((...e)=>(0, t.current)(...e)),[])}function yr(e,t){return T.exports.useMemo((()=>null==e&&null==t?null:n=>{fr(e,n),fr(t,n);}),[e,t])}let xr,wr=!0,kr=!1;const Sr={text:!0,search:!0,url:!0,tel:!0,email:!0,password:!0,number:!0,date:!0,month:!0,week:!0,time:!0,datetime:!0,"datetime-local":!0};function Cr(e){e.metaKey||e.altKey||e.ctrlKey||(wr=!0);}function Er(){wr=!1;}function Rr(){"hidden"===this.visibilityState&&kr&&(wr=!0);}function Pr(e){const{target:t}=e;try{return t.matches(":focus-visible")}catch(e){}return wr||function(e){const{type:t,tagName:n}=e;return !("INPUT"!==n||!Sr[t]||e.readOnly)||"TEXTAREA"===n&&!e.readOnly||!!e.isContentEditable}(t)}function Mr(){const e=T.exports.useCallback((e=>{var t;null!=e&&((t=e.ownerDocument).addEventListener("keydown",Cr,!0),t.addEventListener("mousedown",Er,!0),t.addEventListener("pointerdown",Er,!0),t.addEventListener("touchstart",Er,!0),t.addEventListener("visibilitychange",Rr,!0));}),[]),t=T.exports.useRef(!1);return {isFocusVisibleRef:t,onFocus:function(e){return !!Pr(e)&&(t.current=!0,!0)},onBlur:function(){return !!t.current&&(kr=!0,window.clearTimeout(xr),xr=window.setTimeout((()=>{kr=!1;}),100),t.current=!1,!0)},ref:e}}function Or(e){const t=e.documentElement.clientWidth;return Math.abs(window.innerWidth-t)}let Tr;function jr(){if(Tr)return Tr;const e=document.createElement("div"),t=document.createElement("div");return t.style.width="10px",t.style.height="1px",e.appendChild(t),e.dir="rtl",e.style.fontSize="14px",e.style.width="4px",e.style.height="1px",e.style.position="absolute",e.style.top="-1000px",e.style.overflow="scroll",document.body.appendChild(e),Tr="reverse",e.scrollLeft>0?Tr="default":(e.scrollLeft=1,0===e.scrollLeft&&(Tr="negative")),document.body.removeChild(e),Tr}function zr(e,t){const n=e.scrollLeft;if("rtl"!==t)return n;switch(jr()){case"negative":return e.scrollWidth-e.clientWidth+n;case"reverse":return e.scrollWidth-e.clientWidth-n;default:return n}}function Nr(t,n){const r=f({},n);return Object.keys(t).forEach((e=>{void 0===r[e]&&(r[e]=t[e]);})),r}function _r(...e){const n=e.reduce(((e,t)=>(t.filterProps.forEach((n=>{e[n]=t;})),e)),{}),r=e=>Object.keys(e).reduce(((r,o)=>n[o]?h(r,n[o](e)):r),{});return r.propTypes={},r.filterProps=e.reduce(((e,t)=>e.concat(t.filterProps)),[]),r}function Lr(e){return "number"!=typeof e?e:`${e}px solid`}const Ir=A$1({prop:"border",themeKey:"borders",transform:Lr}),Fr=A$1({prop:"borderTop",themeKey:"borders",transform:Lr}),$r=A$1({prop:"borderRight",themeKey:"borders",transform:Lr}),Ar=A$1({prop:"borderBottom",themeKey:"borders",transform:Lr}),Br=A$1({prop:"borderLeft",themeKey:"borders",transform:Lr}),Dr=A$1({prop:"borderColor",themeKey:"palette"}),Wr=A$1({prop:"borderTopColor",themeKey:"palette"}),Ur=A$1({prop:"borderRightColor",themeKey:"palette"}),Hr=A$1({prop:"borderBottomColor",themeKey:"palette"}),Vr=A$1({prop:"borderLeftColor",themeKey:"palette"}),qr=e=>{if(void 0!==e.borderRadius&&null!==e.borderRadius){const t=j$1(e.theme,"shape.borderRadius",4),n=e=>({borderRadius:I$1(t,e)});return y(e,e.borderRadius,n)}return null};qr.propTypes={},qr.filterProps=["borderRadius"];var Kr=_r(Ir,Fr,$r,Ar,Br,Dr,Wr,Ur,Hr,Vr,qr);var Xr=_r(A$1({prop:"displayPrint",cssProperty:!1,transform:e=>({"@media print":{display:e}})}),A$1({prop:"display"}),A$1({prop:"overflow"}),A$1({prop:"textOverflow"}),A$1({prop:"visibility"}),A$1({prop:"whiteSpace"}));var Yr=_r(A$1({prop:"flexBasis"}),A$1({prop:"flexDirection"}),A$1({prop:"flexWrap"}),A$1({prop:"justifyContent"}),A$1({prop:"alignItems"}),A$1({prop:"alignContent"}),A$1({prop:"order"}),A$1({prop:"flex"}),A$1({prop:"flexGrow"}),A$1({prop:"flexShrink"}),A$1({prop:"alignSelf"}),A$1({prop:"justifyItems"}),A$1({prop:"justifySelf"}));const Qr=e=>{if(void 0!==e.gap&&null!==e.gap){const t=j$1(e.theme,"spacing",8),n=e=>({gap:I$1(t,e)});return y(e,e.gap,n)}return null};Qr.propTypes={},Qr.filterProps=["gap"];const Gr=e=>{if(void 0!==e.columnGap&&null!==e.columnGap){const t=j$1(e.theme,"spacing",8),n=e=>({columnGap:I$1(t,e)});return y(e,e.columnGap,n)}return null};Gr.propTypes={},Gr.filterProps=["columnGap"];const Zr=e=>{if(void 0!==e.rowGap&&null!==e.rowGap){const t=j$1(e.theme,"spacing",8),n=e=>({rowGap:I$1(t,e)});return y(e,e.rowGap,n)}return null};Zr.propTypes={},Zr.filterProps=["rowGap"];var Jr=_r(Qr,Gr,Zr,A$1({prop:"gridColumn"}),A$1({prop:"gridRow"}),A$1({prop:"gridAutoFlow"}),A$1({prop:"gridAutoColumns"}),A$1({prop:"gridAutoRows"}),A$1({prop:"gridTemplateColumns"}),A$1({prop:"gridTemplateRows"}),A$1({prop:"gridTemplateAreas"}),A$1({prop:"gridArea"}));var eo=_r(A$1({prop:"color",themeKey:"palette"}),A$1({prop:"bgcolor",cssProperty:"backgroundColor",themeKey:"palette"}),A$1({prop:"backgroundColor",themeKey:"palette"}));var to=_r(A$1({prop:"position"}),A$1({prop:"zIndex",themeKey:"zIndex"}),A$1({prop:"top"}),A$1({prop:"right"}),A$1({prop:"bottom"}),A$1({prop:"left"}));var no=A$1({prop:"boxShadow",themeKey:"shadows"});function ro(e){return e<=1&&0!==e?100*e+"%":e}const oo=A$1({prop:"width",transform:ro}),ao=e=>{if(void 0!==e.maxWidth&&null!==e.maxWidth){const t=t=>{var n,r,o;return {maxWidth:(null==(n=e.theme)||null==(r=n.breakpoints)||null==(o=r.values)?void 0:o[t])||m$1[t]||ro(t)}};return y(e,e.maxWidth,t)}return null};ao.filterProps=["maxWidth"];const io=A$1({prop:"minWidth",transform:ro}),lo=A$1({prop:"height",transform:ro}),so=A$1({prop:"maxHeight",transform:ro}),uo=A$1({prop:"minHeight",transform:ro});A$1({prop:"size",cssProperty:"width",transform:ro}),A$1({prop:"size",cssProperty:"height",transform:ro});var co=_r(oo,ao,io,lo,so,uo,A$1({prop:"boxSizing"}));const po=A$1({prop:"fontFamily",themeKey:"typography"}),fo=A$1({prop:"fontSize",themeKey:"typography"}),ho=A$1({prop:"fontStyle",themeKey:"typography"}),mo=A$1({prop:"fontWeight",themeKey:"typography"}),vo=A$1({prop:"letterSpacing"}),go=A$1({prop:"lineHeight"}),bo=A$1({prop:"textAlign"});var yo=_r(A$1({prop:"typography",cssProperty:!1,themeKey:"typography"}),po,fo,ho,mo,vo,go,bo);const xo={borders:Kr.filterProps,display:Xr.filterProps,flexbox:Yr.filterProps,grid:Jr.filterProps,positions:to.filterProps,palette:eo.filterProps,shadows:no.filterProps,sizing:co.filterProps,spacing:z$1.filterProps,typography:yo.filterProps},wo={borders:Kr,display:Xr,flexbox:Yr,grid:Jr,positions:to,palette:eo,shadows:no,sizing:co,spacing:z$1,typography:yo},ko=Object.keys(xo).reduce(((e,t)=>(xo[t].forEach((n=>{e[n]=wo[t];})),e)),{});function So(e,t,n){const r={[e]:t,theme:n},o=ko[e];return o?o(r):{[e]:t}}function Co(e){const{sx:n,theme:r={}}=e||{};if(!n)return null;function a(e){let n=e;if("function"==typeof e)n=e(r);else if("object"!=typeof e)return e;const a=x(r.breakpoints),i=Object.keys(a);let l=a;return Object.keys(n).forEach((e=>{const a=(i=n[e],s=r,"function"==typeof i?i(s):i);var i,s;if(null!=a)if("object"==typeof a)if(ko[e])l=h(l,So(e,a,r));else {const n=y({theme:r},a,(t=>({[e]:t})));!function(...e){const t=e.reduce(((e,t)=>e.concat(Object.keys(t))),[]),n=new Set(t);return e.every((e=>n.size===Object.keys(e).length))}(n,a)?l=h(l,n):l[e]=Co({sx:a,theme:r});}else l=h(l,So(e,a,r));})),k(i,l)}return Array.isArray(n)?n.map(a):a(n)}Co.filterProps=["sx"];const Eo=["sx"];function Ro(t){const{sx:n}=t,r=u(t,Eo),{systemProps:o,otherProps:a}=(e=>{const t={systemProps:{},otherProps:{}};return Object.keys(e).forEach((n=>{ko[n]?t.systemProps[n]=e[n]:t.otherProps[n]=e[n];})),t})(r);let i;return i=Array.isArray(n)?[o,...n]:"function"==typeof n?(...t)=>{const r=n(...t);return l(r)?f({},o,r):o}:f({},o,n),f({},a,{sx:i})}function Po(e){var t,n,r="";if("string"==typeof e||"number"==typeof e)r+=e;else if("object"==typeof e)if(Array.isArray(e))for(t=0;t{const t=null===o?r:function(t,n){if("function"==typeof n)return n(t);return f({},t,n)}(o,r);return null!=t&&(t[jo]=null!==o),t}),[r,o]);return wn.exports.jsx(Oo.Provider,{value:a,children:n})}function No(e=null){const t=To();return t&&(n=t,0!==Object.keys(n).length)?t:e;var n;}const _o=L$1();function Lo(e=_o){return No(e)}const Io=["className","component"];function Fo(t={}){const{defaultTheme:n,defaultClassName:r="MuiBox-root",generateClassName:o}=t,a=jn("div")(Co);return T.exports.forwardRef((function(t,i){const l=Lo(n),s=Ro(t),{className:u$1,component:d="div"}=s,p=u(s,Io);return wn.exports.jsx(a,f({as:d,ref:i,className:Mo(u$1,o?o(r):r),theme:l},p))}))}var $o=Fo();const Ao=["variant"];function Bo(e){return 0===e.length}function Do(e){const{variant:t}=e,n=u(e,Ao);let r=t||"";return Object.keys(n).sort().forEach((t=>{r+="color"===t?Bo(r)?e[t]:g(e[t]):`${Bo(r)?t:g(t)}${g(e[t].toString())}`;})),r}const Wo=["name","slot","skipVariantsResolver","skipSx","overridesResolver"],Uo=["theme"],Ho=["theme"];function Vo(e){return 0===Object.keys(e).length}function qo(e){return "ownerState"!==e&&"theme"!==e&&"sx"!==e&&"as"!==e}const Ko=L$1();function Xo({props:e,name:t,defaultTheme:n}){const r=function(e){const{theme:t,name:n,props:r}=e;return t&&t.components&&t.components[n]&&t.components[n].defaultProps?Nr(t.components[n].defaultProps,r):r}({theme:Lo(n),name:t,props:e});return r}function Yo(e){const t=Lo();return wn.exports.jsx(un.Provider,{value:"object"==typeof t?t:{},children:e.children})}function Qo(e){return "string"==typeof e}function Go(t,n={},r){return Qo(t)?n:f({},n,{ownerState:f({},n.ownerState,r)})}function Zo(e,t,n){const r={};return Object.keys(e).forEach((o=>{r[o]=e[o].reduce(((e,r)=>(r&&(n&&n[r]&&e.push(n[r]),e.push(t(r))),e)),[]).join(" ");})),r}const Jo=e=>e;var ea=(()=>{let e=Jo;return {configure(t){e=t;},generate:t=>e(t),reset(){e=Jo;}}})();const ta={active:"Mui-active",checked:"Mui-checked",completed:"Mui-completed",disabled:"Mui-disabled",error:"Mui-error",expanded:"Mui-expanded",focused:"Mui-focused",focusVisible:"Mui-focusVisible",required:"Mui-required",selected:"Mui-selected"};function na(e,t){return ta[t]||`${ea.generate(e)}-${t}`}function ra(e,t){const n={};return t.forEach((t=>{n[t]=na(e,t);})),n}function oa(e){return na("MuiBackdrop",e)}ra("MuiBackdrop",["root","invisible"]);const aa=["classes","className","invisible","component","components","componentsProps","theme"];var ia=T.exports.forwardRef((function(t,n){const{classes:r,className:o,invisible:a=!1,component:i="div",components:l={},componentsProps:s={},theme:u$1}=t,d=u(t,aa),p=f({},t,{classes:r,invisible:a}),f$1=(e=>{const{classes:t,invisible:n}=e;return Zo({root:["root",n&&"invisible"]},oa,t)})(p),h=l.Root||i,m=s.root||{};return wn.exports.jsx(h,f({"aria-hidden":!0},m,!Qo(h)&&{as:i,ownerState:f({},p,m.ownerState),theme:u$1},{ref:n},d,{className:Mo(f$1.root,m.className,o)}))})),la={exports:{}},sa={},ua={exports:{}},ca={}; + */if("function"==typeof Symbol&&Symbol.for){var Wn=Symbol.for;En=Wn("react.element"),Rn=Wn("react.portal"),Pn=Wn("react.fragment"),Mn=Wn("react.strict_mode"),On=Wn("react.profiler"),Tn=Wn("react.provider"),jn=Wn("react.context"),zn=Wn("react.forward_ref"),Nn=Wn("react.suspense"),_n=Wn("react.suspense_list"),Ln=Wn("react.memo"),In=Wn("react.lazy"),Fn=Wn("react.block"),$n=Wn("react.server.block"),An=Wn("react.fundamental"),Bn=Wn("react.debug_trace_mode"),Dn=Wn("react.legacy_hidden");}function er(...e){return e.reduce(((e,t)=>null==t?e:function(...n){e.apply(this,n),t.apply(this,n);}),(()=>{}))}function tr(e,t=166){let n;function r(...r){clearTimeout(n),n=setTimeout((()=>{e.apply(this,r);}),t);}return r.clear=()=>{clearTimeout(n);},r}function nr(e,t){return T.exports.isValidElement(e)&&-1!==t.indexOf(e.type.muiName)}function rr(e){return e&&e.ownerDocument||document}function or(e){return rr(e).defaultView||window}function ar(e,t){"function"==typeof e?e(t):e&&(e.current=t);}var ir="undefined"!=typeof window?T.exports.useLayoutEffect:T.exports.useEffect;let lr=0;function sr(e){const[t,n]=T.exports.useState(e),r=e||t;return T.exports.useEffect((()=>{null==t&&(lr+=1,n(`mui-${lr}`));}),[t]),r}function ur({controlled:e,default:t,name:n,state:r="value"}){const{current:o}=T.exports.useRef(void 0!==e),[a,i]=T.exports.useState(t);return [o?e:a,T.exports.useCallback((e=>{o||i(e);}),[])]}function cr(e){const t=T.exports.useRef(e);return ir((()=>{t.current=e;})),T.exports.useCallback(((...e)=>(0, t.current)(...e)),[])}function dr(e,t){return T.exports.useMemo((()=>null==e&&null==t?null:n=>{ar(e,n),ar(t,n);}),[e,t])}let pr,fr=!0,hr=!1;const mr={text:!0,search:!0,url:!0,tel:!0,email:!0,password:!0,number:!0,date:!0,month:!0,week:!0,time:!0,datetime:!0,"datetime-local":!0};function vr(e){e.metaKey||e.altKey||e.ctrlKey||(fr=!0);}function gr(){fr=!1;}function br(){"hidden"===this.visibilityState&&hr&&(fr=!0);}function yr(e){const{target:t}=e;try{return t.matches(":focus-visible")}catch(e){}return fr||function(e){const{type:t,tagName:n}=e;return !("INPUT"!==n||!mr[t]||e.readOnly)||"TEXTAREA"===n&&!e.readOnly||!!e.isContentEditable}(t)}function xr(){const e=T.exports.useCallback((e=>{var t;null!=e&&((t=e.ownerDocument).addEventListener("keydown",vr,!0),t.addEventListener("mousedown",gr,!0),t.addEventListener("pointerdown",gr,!0),t.addEventListener("touchstart",gr,!0),t.addEventListener("visibilitychange",br,!0));}),[]),t=T.exports.useRef(!1);return {isFocusVisibleRef:t,onFocus:function(e){return !!yr(e)&&(t.current=!0,!0)},onBlur:function(){return !!t.current&&(hr=!0,window.clearTimeout(pr),pr=window.setTimeout((()=>{hr=!1;}),100),t.current=!1,!0)},ref:e}}function wr(e){const t=e.documentElement.clientWidth;return Math.abs(window.innerWidth-t)}let kr;function Sr(){if(kr)return kr;const e=document.createElement("div"),t=document.createElement("div");return t.style.width="10px",t.style.height="1px",e.appendChild(t),e.dir="rtl",e.style.fontSize="14px",e.style.width="4px",e.style.height="1px",e.style.position="absolute",e.style.top="-1000px",e.style.overflow="scroll",document.body.appendChild(e),kr="reverse",e.scrollLeft>0?kr="default":(e.scrollLeft=1,0===e.scrollLeft&&(kr="negative")),document.body.removeChild(e),kr}function Cr(e,t){const n=e.scrollLeft;if("rtl"!==t)return n;switch(Sr()){case"negative":return e.scrollWidth-e.clientWidth+n;case"reverse":return e.scrollWidth-e.clientWidth-n;default:return n}}function Er(t,n){const r=f({},n);return Object.keys(t).forEach((e=>{void 0===r[e]&&(r[e]=t[e]);})),r}function Rr(...e){const n=e.reduce(((e,t)=>(t.filterProps.forEach((n=>{e[n]=t;})),e)),{}),r=e=>Object.keys(e).reduce(((r,o)=>n[o]?h(r,n[o](e)):r),{});return r.propTypes={},r.filterProps=e.reduce(((e,t)=>e.concat(t.filterProps)),[]),r}function Pr(e){return "number"!=typeof e?e:`${e}px solid`}const Mr=A$1({prop:"border",themeKey:"borders",transform:Pr}),Or=A$1({prop:"borderTop",themeKey:"borders",transform:Pr}),Tr=A$1({prop:"borderRight",themeKey:"borders",transform:Pr}),jr=A$1({prop:"borderBottom",themeKey:"borders",transform:Pr}),zr=A$1({prop:"borderLeft",themeKey:"borders",transform:Pr}),Nr=A$1({prop:"borderColor",themeKey:"palette"}),_r=A$1({prop:"borderTopColor",themeKey:"palette"}),Lr=A$1({prop:"borderRightColor",themeKey:"palette"}),Ir=A$1({prop:"borderBottomColor",themeKey:"palette"}),Fr=A$1({prop:"borderLeftColor",themeKey:"palette"}),$r=e=>{if(void 0!==e.borderRadius&&null!==e.borderRadius){const t=j$1(e.theme,"shape.borderRadius",4),n=e=>({borderRadius:I$1(t,e)});return y(e,e.borderRadius,n)}return null};$r.propTypes={},$r.filterProps=["borderRadius"];var Ar=Rr(Mr,Or,Tr,jr,zr,Nr,_r,Lr,Ir,Fr,$r);var Br=Rr(A$1({prop:"displayPrint",cssProperty:!1,transform:e=>({"@media print":{display:e}})}),A$1({prop:"display"}),A$1({prop:"overflow"}),A$1({prop:"textOverflow"}),A$1({prop:"visibility"}),A$1({prop:"whiteSpace"}));var Dr=Rr(A$1({prop:"flexBasis"}),A$1({prop:"flexDirection"}),A$1({prop:"flexWrap"}),A$1({prop:"justifyContent"}),A$1({prop:"alignItems"}),A$1({prop:"alignContent"}),A$1({prop:"order"}),A$1({prop:"flex"}),A$1({prop:"flexGrow"}),A$1({prop:"flexShrink"}),A$1({prop:"alignSelf"}),A$1({prop:"justifyItems"}),A$1({prop:"justifySelf"}));const Wr=e=>{if(void 0!==e.gap&&null!==e.gap){const t=j$1(e.theme,"spacing",8),n=e=>({gap:I$1(t,e)});return y(e,e.gap,n)}return null};Wr.propTypes={},Wr.filterProps=["gap"];const Ur=e=>{if(void 0!==e.columnGap&&null!==e.columnGap){const t=j$1(e.theme,"spacing",8),n=e=>({columnGap:I$1(t,e)});return y(e,e.columnGap,n)}return null};Ur.propTypes={},Ur.filterProps=["columnGap"];const Hr=e=>{if(void 0!==e.rowGap&&null!==e.rowGap){const t=j$1(e.theme,"spacing",8),n=e=>({rowGap:I$1(t,e)});return y(e,e.rowGap,n)}return null};Hr.propTypes={},Hr.filterProps=["rowGap"];var Vr=Rr(Wr,Ur,Hr,A$1({prop:"gridColumn"}),A$1({prop:"gridRow"}),A$1({prop:"gridAutoFlow"}),A$1({prop:"gridAutoColumns"}),A$1({prop:"gridAutoRows"}),A$1({prop:"gridTemplateColumns"}),A$1({prop:"gridTemplateRows"}),A$1({prop:"gridTemplateAreas"}),A$1({prop:"gridArea"}));var qr=Rr(A$1({prop:"color",themeKey:"palette"}),A$1({prop:"bgcolor",cssProperty:"backgroundColor",themeKey:"palette"}),A$1({prop:"backgroundColor",themeKey:"palette"}));var Kr=Rr(A$1({prop:"position"}),A$1({prop:"zIndex",themeKey:"zIndex"}),A$1({prop:"top"}),A$1({prop:"right"}),A$1({prop:"bottom"}),A$1({prop:"left"}));var Xr=A$1({prop:"boxShadow",themeKey:"shadows"});function Yr(e){return e<=1&&0!==e?100*e+"%":e}const Qr=A$1({prop:"width",transform:Yr}),Gr=e=>{if(void 0!==e.maxWidth&&null!==e.maxWidth){const t=t=>{var n,r,o;return {maxWidth:(null==(n=e.theme)||null==(r=n.breakpoints)||null==(o=r.values)?void 0:o[t])||m$1[t]||Yr(t)}};return y(e,e.maxWidth,t)}return null};Gr.filterProps=["maxWidth"];const Zr=A$1({prop:"minWidth",transform:Yr}),Jr=A$1({prop:"height",transform:Yr}),eo=A$1({prop:"maxHeight",transform:Yr}),to=A$1({prop:"minHeight",transform:Yr});A$1({prop:"size",cssProperty:"width",transform:Yr}),A$1({prop:"size",cssProperty:"height",transform:Yr});var no=Rr(Qr,Gr,Zr,Jr,eo,to,A$1({prop:"boxSizing"}));const ro=A$1({prop:"fontFamily",themeKey:"typography"}),oo=A$1({prop:"fontSize",themeKey:"typography"}),ao=A$1({prop:"fontStyle",themeKey:"typography"}),io=A$1({prop:"fontWeight",themeKey:"typography"}),lo=A$1({prop:"letterSpacing"}),so=A$1({prop:"lineHeight"}),uo=A$1({prop:"textAlign"});var co=Rr(A$1({prop:"typography",cssProperty:!1,themeKey:"typography"}),ro,oo,ao,io,lo,so,uo);const po={borders:Ar.filterProps,display:Br.filterProps,flexbox:Dr.filterProps,grid:Vr.filterProps,positions:Kr.filterProps,palette:qr.filterProps,shadows:Xr.filterProps,sizing:no.filterProps,spacing:z$1.filterProps,typography:co.filterProps},fo={borders:Ar,display:Br,flexbox:Dr,grid:Vr,positions:Kr,palette:qr,shadows:Xr,sizing:no,spacing:z$1,typography:co},ho=Object.keys(po).reduce(((e,t)=>(po[t].forEach((n=>{e[n]=fo[t];})),e)),{});function mo(e,t,n){const r={[e]:t,theme:n},o=ho[e];return o?o(r):{[e]:t}}function vo(e){const{sx:n,theme:r={}}=e||{};if(!n)return null;function a(e){let n=e;if("function"==typeof e)n=e(r);else if("object"!=typeof e)return e;const a=x(r.breakpoints),i=Object.keys(a);let l=a;return Object.keys(n).forEach((e=>{const a=(i=n[e],s=r,"function"==typeof i?i(s):i);var i,s;if(null!=a)if("object"==typeof a)if(ho[e])l=h(l,mo(e,a,r));else {const n=y({theme:r},a,(t=>({[e]:t})));!function(...e){const t=e.reduce(((e,t)=>e.concat(Object.keys(t))),[]),n=new Set(t);return e.every((e=>n.size===Object.keys(e).length))}(n,a)?l=h(l,n):l[e]=vo({sx:a,theme:r});}else l=h(l,mo(e,a,r));})),k(i,l)}return Array.isArray(n)?n.map(a):a(n)}vo.filterProps=["sx"];const go=["sx"];function bo(t){const{sx:n}=t,r=u(t,go),{systemProps:o,otherProps:a}=(e=>{const t={systemProps:{},otherProps:{}};return Object.keys(e).forEach((n=>{ho[n]?t.systemProps[n]=e[n]:t.otherProps[n]=e[n];})),t})(r);let i;return i=Array.isArray(n)?[o,...n]:"function"==typeof n?(...t)=>{const r=n(...t);return l(r)?f({},o,r):o}:f({},o,n),f({},a,{sx:i})}function yo(e){var t,n,r="";if("string"==typeof e||"number"==typeof e)r+=e;else if("object"==typeof e)if(Array.isArray(e))for(t=0;t{const t=null===o?r:function(t,n){if("function"==typeof n)return n(t);return f({},t,n)}(o,r);return null!=t&&(t[So]=null!==o),t}),[r,o]);return fn.exports.jsx(wo.Provider,{value:a,children:n})}function Eo(e=null){const t=ko();return t&&(n=t,0!==Object.keys(n).length)?t:e;var n;}const Ro=L$1();function Po(e=Ro){return Eo(e)}const Mo=["className","component"];function Oo(t={}){const{defaultTheme:n,defaultClassName:r="MuiBox-root",generateClassName:o}=t,a=Sn("div")(vo);return T.exports.forwardRef((function(t,i){const l=Po(n),s=bo(t),{className:u$1,component:d="div"}=s,p=u(s,Mo);return fn.exports.jsx(a,f({as:d,ref:i,className:xo(u$1,o?o(r):r),theme:l},p))}))}var To=Oo();const jo=["variant"];function zo(e){return 0===e.length}function No(e){const{variant:t}=e,n=u(e,jo);let r=t||"";return Object.keys(n).sort().forEach((t=>{r+="color"===t?zo(r)?e[t]:g(e[t]):`${zo(r)?t:g(t)}${g(e[t].toString())}`;})),r}const _o=["name","slot","skipVariantsResolver","skipSx","overridesResolver"],Lo=["theme"],Io=["theme"];function Fo(e){return 0===Object.keys(e).length}function $o(e){return "ownerState"!==e&&"theme"!==e&&"sx"!==e&&"as"!==e}const Ao=L$1();function Bo({props:e,name:t,defaultTheme:n}){const r=function(e){const{theme:t,name:n,props:r}=e;return t&&t.components&&t.components[n]&&t.components[n].defaultProps?Er(t.components[n].defaultProps,r):r}({theme:Po(n),name:t,props:e});return r}function Do(e){const t=Po();return fn.exports.jsx(tn.Provider,{value:"object"==typeof t?t:{},children:e.children})}function Wo(e){return "string"==typeof e}function Uo(t,n={},r){return Wo(t)?n:f({},n,{ownerState:f({},n.ownerState,r)})}function Ho(e,t,n){const r={};return Object.keys(e).forEach((o=>{r[o]=e[o].reduce(((e,r)=>(r&&(n&&n[r]&&e.push(n[r]),e.push(t(r))),e)),[]).join(" ");})),r}const Vo=e=>e;var qo=(()=>{let e=Vo;return {configure(t){e=t;},generate:t=>e(t),reset(){e=Vo;}}})();const Ko={active:"Mui-active",checked:"Mui-checked",completed:"Mui-completed",disabled:"Mui-disabled",error:"Mui-error",expanded:"Mui-expanded",focused:"Mui-focused",focusVisible:"Mui-focusVisible",required:"Mui-required",selected:"Mui-selected"};function Xo(e,t){return Ko[t]||`${qo.generate(e)}-${t}`}function Yo(e,t){const n={};return t.forEach((t=>{n[t]=Xo(e,t);})),n}function Qo(e){return Xo("MuiBackdrop",e)}Yo("MuiBackdrop",["root","invisible"]);const Go=["classes","className","invisible","component","components","componentsProps","theme"];var Zo=T.exports.forwardRef((function(t,n){const{classes:r,className:o,invisible:a=!1,component:i="div",components:l={},componentsProps:s={},theme:u$1}=t,d=u(t,Go),p=f({},t,{classes:r,invisible:a}),f$1=(e=>{const{classes:t,invisible:n}=e;return Ho({root:["root",n&&"invisible"]},Qo,t)})(p),h=l.Root||i,m=s.root||{};return fn.exports.jsx(h,f({"aria-hidden":!0},m,!Wo(h)&&{as:i,ownerState:f({},p,m.ownerState),theme:u$1},{ref:n},d,{className:xo(f$1.root,m.className,o)}))})),Jo={exports:{}},ea={},ta={exports:{}},na={}; /** @license React v0.20.2 * scheduler.production.min.js * @@ -33,7 +33,7 @@ var T={exports:{}},j={},z=Object.getOwnPropertySymbols,N=Object.prototype.hasOwn * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ -!function(e){var t,n,r,o;if("object"==typeof performance&&"function"==typeof performance.now){var a=performance;e.unstable_now=function(){return a.now()};}else {var i=Date,l=i.now();e.unstable_now=function(){return i.now()-l};}if("undefined"==typeof window||"function"!=typeof MessageChannel){var s=null,u=null,c=function(){if(null!==s)try{var t=e.unstable_now();s(!0,t),s=null;}catch(e){throw setTimeout(c,0),e}};t=function(e){null!==s?setTimeout(t,0,e):(s=e,setTimeout(c,0));},n=function(e,t){u=setTimeout(e,t);},r=function(){clearTimeout(u);},e.unstable_shouldYield=function(){return !1},o=e.unstable_forceFrameRate=function(){};}else {var d=window.setTimeout,p=window.clearTimeout;if("undefined"!=typeof console){var f=window.cancelAnimationFrame;"function"!=typeof window.requestAnimationFrame&&console.error("This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills"),"function"!=typeof f&&console.error("This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills");}var h=!1,m=null,v=-1,g=5,b=0;e.unstable_shouldYield=function(){return e.unstable_now()>=b},o=function(){},e.unstable_forceFrameRate=function(e){0>e||125>>1,o=e[r];if(!(void 0!==o&&0C(i,n))void 0!==s&&0>C(s,i)?(e[r]=s,e[l]=n,r=l):(e[r]=i,e[a]=n,r=a);else {if(!(void 0!==s&&0>C(s,n)))break e;e[r]=s,e[l]=n,r=l;}}}return t}return null}function C(e,t){var n=e.sortIndex-t.sortIndex;return 0!==n?n:e.id-t.id}var E=[],R=[],P=1,M=null,O=3,T=!1,j=!1,z=!1;function N(e){for(var t=k(R);null!==t;){if(null===t.callback)S(R);else {if(!(t.startTime<=e))break;S(R),t.sortIndex=t.expirationTime,w(E,t);}t=k(R);}}function _(e){if(z=!1,N(e),!j)if(null!==k(E))j=!0,t(L);else {var r=k(R);null!==r&&n(_,r.startTime-e);}}function L(t,o){j=!1,z&&(z=!1,r()),T=!0;var a=O;try{for(N(o),M=k(E);null!==M&&(!(M.expirationTime>o)||t&&!e.unstable_shouldYield());){var i=M.callback;if("function"==typeof i){M.callback=null,O=M.priorityLevel;var l=i(M.expirationTime<=o);o=e.unstable_now(),"function"==typeof l?M.callback=l:M===k(E)&&S(E),N(o);}else S(E);M=k(E);}if(null!==M)var s=!0;else {var u=k(R);null!==u&&n(_,u.startTime-o),s=!1;}return s}finally{M=null,O=a,T=!1;}}var I=o;e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(e){e.callback=null;},e.unstable_continueExecution=function(){j||T||(j=!0,t(L));},e.unstable_getCurrentPriorityLevel=function(){return O},e.unstable_getFirstCallbackNode=function(){return k(E)},e.unstable_next=function(e){switch(O){case 1:case 2:case 3:var t=3;break;default:t=O;}var n=O;O=t;try{return e()}finally{O=n;}},e.unstable_pauseExecution=function(){},e.unstable_requestPaint=I,e.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3;}var n=O;O=e;try{return t()}finally{O=n;}},e.unstable_scheduleCallback=function(o,a,i){var l=e.unstable_now();switch("object"==typeof i&&null!==i?i="number"==typeof(i=i.delay)&&0l?(o.sortIndex=i,w(R,o),null===k(E)&&o===k(R)&&(z?r():z=!0,n(_,i-l))):(o.sortIndex=s,w(E,o),j||T||(j=!0,t(L))),o},e.unstable_wrapCallback=function(e){var t=O;return function(){var n=O;O=t;try{return e.apply(this,arguments)}finally{O=n;}}};}(ca),ua.exports=ca; +!function(e){var t,n,r,o;if("object"==typeof performance&&"function"==typeof performance.now){var a=performance;e.unstable_now=function(){return a.now()};}else {var i=Date,l=i.now();e.unstable_now=function(){return i.now()-l};}if("undefined"==typeof window||"function"!=typeof MessageChannel){var s=null,u=null,c=function(){if(null!==s)try{var t=e.unstable_now();s(!0,t),s=null;}catch(e){throw setTimeout(c,0),e}};t=function(e){null!==s?setTimeout(t,0,e):(s=e,setTimeout(c,0));},n=function(e,t){u=setTimeout(e,t);},r=function(){clearTimeout(u);},e.unstable_shouldYield=function(){return !1},o=e.unstable_forceFrameRate=function(){};}else {var d=window.setTimeout,p=window.clearTimeout;if("undefined"!=typeof console){var f=window.cancelAnimationFrame;"function"!=typeof window.requestAnimationFrame&&console.error("This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills"),"function"!=typeof f&&console.error("This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills");}var h=!1,m=null,v=-1,g=5,b=0;e.unstable_shouldYield=function(){return e.unstable_now()>=b},o=function(){},e.unstable_forceFrameRate=function(e){0>e||125>>1,o=e[r];if(!(void 0!==o&&0C(i,n))void 0!==s&&0>C(s,i)?(e[r]=s,e[l]=n,r=l):(e[r]=i,e[a]=n,r=a);else {if(!(void 0!==s&&0>C(s,n)))break e;e[r]=s,e[l]=n,r=l;}}}return t}return null}function C(e,t){var n=e.sortIndex-t.sortIndex;return 0!==n?n:e.id-t.id}var E=[],R=[],P=1,M=null,O=3,T=!1,j=!1,z=!1;function N(e){for(var t=k(R);null!==t;){if(null===t.callback)S(R);else {if(!(t.startTime<=e))break;S(R),t.sortIndex=t.expirationTime,w(E,t);}t=k(R);}}function _(e){if(z=!1,N(e),!j)if(null!==k(E))j=!0,t(L);else {var r=k(R);null!==r&&n(_,r.startTime-e);}}function L(t,o){j=!1,z&&(z=!1,r()),T=!0;var a=O;try{for(N(o),M=k(E);null!==M&&(!(M.expirationTime>o)||t&&!e.unstable_shouldYield());){var i=M.callback;if("function"==typeof i){M.callback=null,O=M.priorityLevel;var l=i(M.expirationTime<=o);o=e.unstable_now(),"function"==typeof l?M.callback=l:M===k(E)&&S(E),N(o);}else S(E);M=k(E);}if(null!==M)var s=!0;else {var u=k(R);null!==u&&n(_,u.startTime-o),s=!1;}return s}finally{M=null,O=a,T=!1;}}var I=o;e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(e){e.callback=null;},e.unstable_continueExecution=function(){j||T||(j=!0,t(L));},e.unstable_getCurrentPriorityLevel=function(){return O},e.unstable_getFirstCallbackNode=function(){return k(E)},e.unstable_next=function(e){switch(O){case 1:case 2:case 3:var t=3;break;default:t=O;}var n=O;O=t;try{return e()}finally{O=n;}},e.unstable_pauseExecution=function(){},e.unstable_requestPaint=I,e.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3;}var n=O;O=e;try{return t()}finally{O=n;}},e.unstable_scheduleCallback=function(o,a,i){var l=e.unstable_now();switch("object"==typeof i&&null!==i?i="number"==typeof(i=i.delay)&&0l?(o.sortIndex=i,w(R,o),null===k(E)&&o===k(R)&&(z?r():z=!0,n(_,i-l))):(o.sortIndex=s,w(E,o),j||T||(j=!0,t(L))),o},e.unstable_wrapCallback=function(e){var t=O;return function(){var n=O;O=t;try{return e.apply(this,arguments)}finally{O=n;}}};}(na),ta.exports=na; /** @license React v17.0.2 * react-dom.production.min.js * @@ -42,7 +42,7 @@ var T={exports:{}},j={},z=Object.getOwnPropertySymbols,N=Object.prototype.hasOwn * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ -var da=T.exports,pa=I,fa=ua.exports;function ha(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n