"use strict";var __defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__hasOwnProp=Object.prototype.hasOwnProperty,__name=(target,value)=>__defProp(target,"name",{value:value,configurable:!0}),__export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&"object"==typeof from||"function"==typeof from)for(let key of __getOwnPropNames(from))__hasOwnProp.call(to,key)||key===except||__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to},__toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod),__async=(__this,__arguments,generator)=>new Promise((resolve,reject)=>{var fulfilled=value=>{try{step(generator.next(value))}catch(e){reject(e)}},rejected=value=>{try{step(generator.throw(value))}catch(e){reject(e)}},step=x=>x.done?resolve(x.value):Promise.resolve(x.value).then(fulfilled,rejected);step((generator=generator.apply(__this,__arguments)).next())}),stream_exports={};__export(stream_exports,{getRiveStream:()=>getRiveStream,getStream:()=>getStream,getWebstreamerStream:()=>getWebstreamerStream});var getStream=__name(_0=>__async(null,[_0],function*({link:id,type:type,providerContext:providerContext}){var _a,_b,_c,_d,_e,_f,_g,_h;try{const streams=[],payload=(()=>{try{return JSON.parse(id)}catch(e){return{tmdbId:id}}})(),tmdbId=null!=(_c=null!=(_b=null!=(_a=payload.tmdbId)?_a:payload.id)?_b:payload.tmdId)?_c:"",imdbId=null!=(_d=payload.imdbId)?_d:"",season=null!=(_e=payload.season)?_e:"",episode=null!=(_f=payload.episode)?_f:"",effectiveType=null!=(_h=null!=(_g=payload.type)?_g:type)?_h:"movie";return yield getWebstreamerStream(String(imdbId),episode,season,effectiveType,streams,providerContext),yield getRiveStream(String(tmdbId),episode,season,effectiveType,streams,providerContext),streams}catch(err){return console.error(err),[]}}),"getStream");function getWebstreamerStream(imdbId,episode,season,type,Streams,providerContext){return __async(this,null,function*(){var _a;if(!imdbId||"undefined"===imdbId)return;const url=`https://webstreamr.hayd.uk/{"multi":"on","al":"on","de":"on","es":"on","fr":"on","hi":"on","it":"on","mx":"on","mediaFlowProxyUrl":"","mediaFlowProxyPassword":""}/stream/${type}/${imdbId}${"series"===type?`:${season}:${episode}`:""}.json`;console.log("Webstreamer URL: ",encodeURI(url));try{null==(_a=(yield providerContext.axios.get(encodeURI(url),{timeout:3e4,headers:providerContext.commonHeaders})).data)||_a.streams.forEach(source=>{const url2=null==source?void 0:source.url,name=(null==source?void 0:source.name)||"WebStreamer",qualityMatch=null==name?void 0:name.match(/(\d{3,4})p/),quality=qualityMatch?qualityMatch[1]:void 0;Streams.push({server:name,link:url2,type:type,quality:quality})})}catch(e){throw e}})}function getRiveStream(tmdId,episode,season,type,Streams,providerContext){return __async(this,null,function*(){if(!tmdId||"undefined"===tmdId)return void console.warn("autoEmbed/rive: missing tmdbId in link payload");const secret=generateSecretKey(tmdId),baseUrl=yield providerContext.getBaseUrl("rive"),cors=process.env.CORS_PRXY?process.env.CORS_PRXY+"?url=":"";console.log("CORS: "+cors);const route="series"===type?`/api/backendfetch?requestID=tvVideoProvider&id=${tmdId}&season=${season}&episode=${episode}&secretKey=${secret}&service=`:`/api/backendfetch?requestID=movieVideoProvider&id=${tmdId}&secretKey=${secret}&service=`,url=cors?cors+encodeURIComponent(baseUrl+route):baseUrl+route;yield Promise.all(["flowcast","asiacloud","humpy","primevids","shadow","hindicast","animez","aqua","yggdrasil","putafilme","ophim"].map(server=>__async(null,null,function*(){var _a,_b;console.log("Rive: "+url+server);try{null==(_b=null==(_a=(yield providerContext.axios.get(url+server,{timeout:8e3})).data)?void 0:_a.data)||_b.sources.forEach(source=>{Streams.push({server:(null==source?void 0:source.source)+"-"+(null==source?void 0:source.quality),link:null==source?void 0:source.url,type:"hls"===(null==source?void 0:source.format)?"m3u8":"mp4",quality:null==source?void 0:source.quality,headers:{referer:baseUrl}})})}catch(e){console.log(e)}})))})}function generateSecretKey(id){const c=["4Z7lUo","gwIVSMD","PLmz2elE2v","Z4OFV0","SZ6RZq6Zc","zhJEFYxrz8","FOm7b0","axHS3q4KDq","o9zuXQ","4Aebt","wgjjWwKKx","rY4VIxqSN","kfjbnSo","2DyrFA1M","YUixDM9B","JQvgEj0","mcuFx6JIek","eoTKe26gL","qaI9EVO1rB","0xl33btZL","1fszuAU","a7jnHzst6P","wQuJkX","cBNhTJlEOf","KNcFWhDvgT","XipDGjST","PCZJlbHoyt","2AYnMZkqd","HIpJh","KH0C3iztrG","W81hjts92","rJhAT","NON7LKoMQ","NMdY3nsKzI","t4En5v","Qq5cOQ9H","Y9nwrp","VX5FYVfsf","cE5SJG","x1vj1","HegbLe","zJ3nmt4OA","gt7rxW57dq","clIE9b","jyJ9g","B5jXjMCSx","cOzZBZTV","FTXGy","Dfh1q1","ny9jqZ2POI","X2NnMn","MBtoyD","qz4Ilys7wB","68lbOMye","3YUJnmxp","1fv5Imona","PlfvvXD7mA","ZarKfHCaPR","owORnX","dQP1YU","dVdkx","qgiK0E","cx9wQ","5F9bGa","7UjkKrp","Yvhrj","wYXez5Dg3","pG4GMU","MwMAu","rFRD5wlM"];if(void 0===id)return"rive";try{let t,n;const r=String(id);if(isNaN(Number(id))){const sum=r.split("").reduce((e,ch)=>e+ch.charCodeAt(0),0);t=c[sum%c.length]||btoa(r),n=Math.floor(sum%r.length/2)}else{const num=Number(id);t=c[num%c.length]||btoa(r),n=Math.floor(num%r.length/2)}const i=r.slice(0,n)+t+r.slice(n),innerHash=__name(e=>{e=String(e);let t2=0;for(let n2=0;n2>>0)<>>32-n2%5)>>>0;t2=(t2^i2^(r2<>>8-n2%7)>>>0)>>>0,t2=t2+(t2>>>11^t2<<3)>>>0}return t2^=t2>>>15,t2=49842*(65535&t2)+((49842*(t2>>>16)&65535)<<16)>>>0,t2^=t2>>>13,t2=40503*(65535&t2)+((40503*(t2>>>16)&65535)<<16)>>>0,t2^=t2>>>16,t2.toString(16).padStart(8,"0")},"innerHash"),o=__name(e=>{const t2=String(e);let n2=(3735928559^t2.length)>>>0;for(let idx=0;idx>>25)>>>0^r2,n2=(60205*(65535&n2)>>>0)+(60205*(n2>>>16)<<16>>>0)>>>0,n2^=n2>>>11}return n2^=n2>>>15,n2=49842*(65535&n2)+(49842*(n2>>>16)<<16)>>>0>>>0,n2^=n2>>>13,n2=40503*(65535&n2)+(40503*(n2>>>16)<<16)>>>0>>>0,n2^=n2>>>16,n2=10196*(65535&n2)+(10196*(n2>>>16)<<16)>>>0>>>0,n2^=n2>>>15,n2.toString(16).padStart(8,"0")},"outerHash")(innerHash(i));return btoa(o)}catch(e){return"topSecret"}}__name(getWebstreamerStream,"getWebstreamerStream"),__name(getRiveStream,"getRiveStream"),__name(generateSecretKey,"generateSecretKey"),exports.getRiveStream=getRiveStream,exports.getStream=getStream,exports.getWebstreamerStream=getWebstreamerStream;