1/*! For license information please see reactPlayerTwitch.265959e5.chunk.js.LICENSE.txt */ 2"use strict";(self.webpackChunketi=self.webpackChunketi||[]).push([[72],{247:(t,e,n)=>{function i(t,e){if(e.has(t))throw new TypeError("Cannot initialize the same private elements twice on an object")}n.d(e,{c:()=>i})},5564:(t,e,n)=>{function i(t,e){return e.get?e.get.call(t):e.value}n.d(e,{c:()=>i})},7256:(t,e,n)=>{function i(t,e,n){if(e.set)e.set.call(t,n);else{if(!e.writable)throw new TypeError("attempted to set read only private field");e.value=n}}n.d(e,{c:()=>i})},5468:(t,e,n)=>{function i(t,e,n){if(!e.has(t))throw new TypeError("attempted to "+n+" private field on non-instance");return e.get(t)}n.d(e,{c:()=>i})},3484:(t,e,n)=>{n.d(e,{c:()=>s});var i=n(5564),o=n(5468);function s(t,e){var n=(0,o.c)(t,e,"get");return(0,i.c)(t,n)}},1632:(t,e,n)=>{n.d(e,{c:()=>o});var i=n(247);function o(t,e,n){(0,i.c)(t,e),e.set(t,n)}},2796:(t,e,n)=>{n.d(e,{c:()=>s});var i=n(7256),o=n(5468);function s(t,e,n){var s=(0,o.c)(t,e,"set");return(0,i.c)(t,s,n),n}},8483:(t,e,n)=>{function i(t,e,n){if(!e.has(t))throw new TypeError("attempted to get private field on non-instance");return n}n.d(e,{c:()=>i})},3720:(t,e,n)=>{n.d(e,{c:()=>o});var i=n(247);function o(t,e){(0,i.c)(t,e),e.add(t)}},1888:(t,e,n)=>{n.r(e),n.d(e,{default:()=>G});var i,o=n(9584),s=n(3720),a=n(1632),r=n(8376),l=n(2796),c=n(3484),u=n(8483);const h="https://player.twitch.tv",d=/(?:www\.|go\.)?twitch\.tv\/(?:videos?\/|\?video=)(\d+)($|\?)/,p=/(?:www\.|go\.)?twitch\.tv\/([a-zA-Z0-9_]+)($|\?)/,v="Idle",f="Ended",m=2,w=3,g=4,b=10,y=11;function E(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const n={src:T(t,e),frameborder:"0",width:"100%",height:"100%",allow:"accelerometer; fullscreen; autoplay; encrypted-media; picture-in-picture;",sandbox:"allow-modals allow-scripts allow-same-origin allow-popups allow-popups-to-escape-sandbox",scrolling:"no"};return e.config&&(n["data-config"]=JSON.stringify(e.config)),"\n <style>\n :host {\n display: inline-block;\n min-width: 300px;\n min-height: 150px;\n position: relative;\n }\n iframe {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n }\n :host(:not([controls])) {\n pointer-events: none;\n }\n </style>\n <iframe".concat(function(t){let e="";for(const n in t){const i=t[n];e+=""===i?" ".concat(_(n)):" ".concat(_(n),'="').concat(_("".concat(i)),'"')}return e}(n),"></iframe>\n ")}function T(t,e){var n;if(!t.src)return;const i=t.src.match(d),o=t.src.match(p),s={parent:null==(n=globalThis.location)?void 0:n.hostname,controls:""===t.controls&&null,autoplay:""===t.autoplay&&null,muted:t.muted,preload:t.preload,...e.config};if(i){const t=i[1];return"".concat(h,"/?video=v").concat(t,"&").concat(q(s))}if(o){const t=o[1];return"".concat(h,"/?channel=").concat(t,"&").concat(q(s))}return""}var k=new WeakMap,M=new WeakMap,A=new WeakMap,S=new WeakMap,W=new WeakMap,L=new WeakMap,C=new WeakMap,N=new WeakMap,R=new WeakMap,H=new WeakMap,x=new WeakMap,O=new WeakMap,P=new WeakSet,j=new WeakSet;class I extends(null!==(i=globalThis.HTMLElement)&&void 0!==i?i:class{}){constructor(){super(),(0,s.c)(this,j),(0,s.c)(this,P),(0,r.c)(this,"loadComplete",new F),(0,a.c)(this,k,{writable:!0,value:void 0}),(0,a.c)(this,M,{writable:!0,value:void 0}),(0,a.c)(this,A,{writable:!0,value:void 0}),(0,a.c)(this,S,{writable:!0,value:{}}),(0,a.c)(this,W,{writable:!0,value:0}),(0,a.c)(this,L,{writable:!0,value:!1}),(0,a.c)(this,C,{writable:!0,value:1}),(0,a.c)(this,N,{writable:!0,value:!this.autoplay}),(0,a.c)(this,R,{writable:!0,value:!1}),(0,a.c)(this,H,{writable:!0,value:0}),(0,a.c)(this,x,{writable:!0,value:null}),(0,a.c)(this,O,{writable:!0,value:async t=>{var e,n,i,o;if(!(0,c.c)(this,A).contentWindow)return;const{data:s,source:a}=t;if(a===(0,c.c)(this,A).contentWindow)if("twitch-embed"===s.namespace)await new Promise((t=>setTimeout(t,10))),"ready"===s.eventName?(this.dispatchEvent(new Event("loadcomplete")),this.loadComplete.resolve(),(0,l.c)(this,H,1),this.dispatchEvent(new Event("loadedmetadata"))):"seek"===s.eventName?((0,l.c)(this,R,!0),this.dispatchEvent(new Event("seeking"))):"playing"===s.eventName?((0,c.c)(this,R)&&((0,l.c)(this,R,!1),this.dispatchEvent(new Event("seeked"))),(0,l.c)(this,H,3),this.dispatchEvent(new Event("playing"))):this.dispatchEvent(new Event(s.eventName));else if("twitch-embed-player-proxy"===s.namespace&&"UPDATE_STATE"===s.eventName){const t=(0,c.c)(this,S).duration,a=(0,c.c)(this,S).currentTime,r=(0,c.c)(this,S).volume,u=(0,
2c.c)(this,S).muted,h=null==(n=null==(e=(0,c.c)(this,S).stats)?void 0:e.videoStats)?void 0:n.bufferSize;(0,l.c)(this,S,{...(0,c.c)(this,S),...s.params}),t!==(0,c.c)(this,S).duration&&this.dispatchEvent(new Event("durationchange")),a!==(0,c.c)(this,S).currentTime&&this.dispatchEvent(new Event("timeupdate")),r===(0,c.c)(this,S).volume&&u===(0,c.c)(this,S).muted||this.dispatchEvent(new Event("volumechange")),h!==(null==(o=null==(i=(0,c.c)(this,S).stats)?void 0:i.videoStats)?void 0:o.bufferSize)&&this.dispatchEvent(new Event("progress"))}}}),(0,u.c)(this,j,B).call(this,"config")}get config(){return(0,c.c)(this,x)}set config(t){(0,l.c)(this,x,t)}async load(){if((0,c.c)(this,k))return;this.shadowRoot||this.attachShadow({mode:"open"});const t=!(0,c.c)(this,M);if((0,c.c)(this,M)&&(this.loadComplete=new F),(0,l.c)(this,M,!0),await(0,l.c)(this,k,Promise.resolve()),(0,l.c)(this,k,null),(0,l.c)(this,H,0),this.dispatchEvent(new Event("emptied")),!this.src)return this.shadowRoot.innerHTML="",void globalThis.removeEventListener("message",(0,c.c)(this,O));this.dispatchEvent(new Event("loadstart"));let e=this.shadowRoot.querySelector("iframe");const n=function(t){let e={};for(let n of t)e[n.name]=n.value;return e}(this.attributes);t&&e&&(0,l.c)(this,x,JSON.parse(e.getAttribute("data-config")||"{}")),(null==e?void 0:e.src)&&e.src===T(n,this)||(this.shadowRoot.innerHTML=E(n,this),e=this.shadowRoot.querySelector("iframe")),(0,l.c)(this,A,e),globalThis.addEventListener("message",(0,c.c)(this,O))}attributeChangedCallback(t,e,n){if(e!==n)switch(t){case"src":case"controls":this.load()}}getVideoPlaybackQuality(){return(0,c.c)(this,S).stats.videoStats}get src(){return this.getAttribute("src")}set src(t){this.setAttribute("src",t)}get readyState(){return(0,c.c)(this,H)}get seeking(){return(0,c.c)(this,R)}get buffered(){var t,e,n;return function(t,e){if(Array.isArray(t))return J(t);if(null==t||null==e||0===t&&0===e)return J([[0,0]]);return J([[t,e]])}(0,null!==(t=null==(n=null==(e=(0,c.c)(this,S).stats)?void 0:e.videoStats)?void 0:n.bufferSize)&&void 0!==t?t:0)}get paused(){return(0,c.c)(this,S).playback?(0,c.c)(this,S).playback===v:(0,c.c)(this,N)}get ended(){return!!(0,c.c)(this,S).playback&&(0,c.c)(this,S).playback===f}get duration(){var t;return null!==(t=(0,c.c)(this,S).duration)&&void 0!==t?t:NaN}get autoplay(){return this.hasAttribute("autoplay")}set autoplay(t){this.autoplay!=t&&this.toggleAttribute("autoplay",Boolean(t))}get controls(){return this.hasAttribute("controls")}set controls(t){this.controls!=t&&this.toggleAttribute("controls",Boolean(t))}get currentTime(){return(0,c.c)(this,S).currentTime?(0,c.c)(this,S).currentTime:(0,c.c)(this,W)}set currentTime(t){(0,l.c)(this,W,t),this.loadComplete.then((()=>{(0,u.c)(this,P,z).call(this,g,t)}))}get defaultMuted(){return this.hasAttribute("muted")}set defaultMuted(t){this.toggleAttribute("muted",Boolean(t))}get loop(){return this.hasAttribute("loop")}set loop(t){this.toggleAttribute("loop",Boolean(t))}get muted(){return(0,c.c)(this,L)}set muted(t){(0,l.c)(this,L,t),this.loadComplete.then((()=>{(0,u.c)(this,P,z).call(this,b,t)}))}get volume(){return(0,c.c)(this,C)}set volume(t){(0,l.c)(this,C,t),this.loadComplete.then((()=>{(0,u.c)(this,P,z).call(this,y,t)}))}get playsInline(){return this.hasAttribute("playsinline")}set playsInline(t){this.toggleAttribute("playsinline",Boolean(t))}play(){(0,l.c)(this,N,!1),(0,u.c)(this,P,z).call(this,w)}pause(){(0,l.c)(this,N,!0),(0,u.c)(this,P,z).call(this,m)}}function z(t,e){if(!(0,c.c)(this,A).contentWindow)return;const n={eventName:t,params:e,namespace:"twitch-embed-player-proxy"};(0,c.c)(this,A).contentWindow.postMessage(n,h)}function B(t){if(Object.prototype.hasOwnProperty.call(this,t)){const e=this[t];delete this[t],this[t]=e}}function _(t){return t.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'").replace(/`/g,"`")}function q(t){return String(new URLSearchParams(function(t){let e={};for(let n in t){let i=t[n];!0===i||""===i?e[n]=!0:!1===i?e[n]=!1:null!=i&&(e[n]=i)}return e}(t)))}(0,r.c)(I,"getTemplateHTML",E),(0,r.c)(I,"shadowRootOptions",{mode:"open"}
2),(0,r.c)(I,"observedAttributes",["autoplay","controls","loop","muted","playsinline","preload","src"]);class F extends Promise{constructor(){let t,e,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:()=>{};super(((i,o)=>{n(i,o),t=i,e=o})),this.resolve=t,this.reject=e}}function J(t){return Object.defineProperties(t,{start:{value:e=>t[e][0]},end:{value:e=>t[e][1]}}),t}globalThis.customElements&&!globalThis.customElements.get("twitch-video")&&globalThis.customElements.define("twitch-video",I);var U=I,V=new Set(["style","children","ref","key","suppressContentEditableWarning","suppressHydrationWarning","dangerouslySetInnerHTML"]),$={className:"class",htmlFor:"for"};function D(t){return t.toLowerCase()}function Q(t){return"boolean"===typeof t?t?"":void 0:"function"===typeof t||"object"===typeof t&&null!==t?void 0:t}function Z(t,e,n){var i,o;t[e]=n,null==n&&e in(null!==(i=null==(o=globalThis.HTMLElement)?void 0:o.prototype)&&void 0!==i?i:{})&&t.removeAttribute(e)}var G=function(t){let{react:e,tagName:n,elementClass:i,events:o,displayName:s,defaultProps:a,toAttributeName:r=D,toAttributeValue:l=Q}=t;const c=Number.parseInt(e.version)>=19,u=e.forwardRef(((t,s)=>{var u,h;const d=e.useRef(null),p=e.useRef(new Map),v={},f={},m={},w={};for(const[e,n]of Object.entries(t)){var g,b;if(V.has(e)){m[e]=n;continue}const t=r(null!==(g=$[e])&&void 0!==g?g:e);if(i.prototype&&e in i.prototype&&!(e in(null!==(b=null==(u=globalThis.HTMLElement)?void 0:u.prototype)&&void 0!==b?b:{}))&&!(null==(h=i.observedAttributes)?void 0:h.some((e=>e===t)))){w[e]=n;continue}if(e.startsWith("on")){v[e]=n;continue}const o=l(n);if(t&&null!=o&&(f[t]=String(o),c||(m[t]=o)),t&&c){const e=Q(n);m[t]=o!==e?o:n}}if("undefined"!==typeof window){for(const t in v){var y;const n=v[t],i=t.endsWith("Capture"),s=(null!==(y=null==o?void 0:o[t])&&void 0!==y?y:t.slice(2).toLowerCase()).slice(0,i?-7:void 0);e.useLayoutEffect((()=>{const t=null==d?void 0:d.current;if(t&&"function"===typeof n)return t.addEventListener(s,n,i),()=>{t.removeEventListener(s,n,i)}}),[null==d?void 0:d.current,n])}e.useLayoutEffect((()=>{if(null===d.current)return;const t=new Map;for(const e in w)Z(d.current,e,w[e]),p.current.delete(e),t.set(e,w[e]);for(const[e,n]of p.current)Z(d.current,e,void 0);p.current=t}))}if("undefined"===typeof window&&(null==i?void 0:i.getTemplateHTML)&&(null==i?void 0:i.shadowRootOptions)){const{mode:n,delegatesFocus:o}=i.shadowRootOptions,s=e.createElement("template",{shadowrootmode:n,shadowrootdelegatesfocus:o,dangerouslySetInnerHTML:{__html:i.getTemplateHTML(f,t)}});m.children=[s,m.children]}return e.createElement(n,{...a,...m,ref:e.useCallback((t=>{d.current=t,"function"===typeof s?s(t):null!==s&&(s.current=t)}),[s])})}));return u.displayName=null!==s&&void 0!==s?s:i.name,u}({react:o,tagName:"twitch-video",elementClass:U,toAttributeName:t=>"muted"===t?"":"defaultMuted"===t?"muted":D(t)})}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.