\n\n\n',ut=e=>{const t=e?"gray":"white";return``},gt=1e3;const pt=e=>"boolean"==typeof e,mt=e=>Number.isInteger(e),ft=e=>"[object String]"===Object.prototype.toString.call(e),bt=e=>["top","bottom","top-left","top-right","bottom-left","bottom-right"].includes(e);const vt=()=>Math.round((new Date).getTime()/1e3),yt=e=>{const i=new t("user_engagement"),r="utsid-send";let n,c=0,h=!1,g=!1,m={clientHints:{},isScrollable:0,totalClicks:0,sessionLength:0,ippMissclicks:0,visible:0,caught:0,lastevent:0,isFullscreen:0,isTabFocused:0,eventImps:0,retryCounts:0,isScrolled:0,isMouseMoved:0,pagePercentageSeen:0,belowTheFoldSeen:0,touchEnd:0,touchMove:0,clicksByType:{idle:0,input:0,video:0,button:0,link:0,img:0},browsingTopics:[],ufp:P()},f=d(),b=vt();function v(){var t,r;0===m.isFullscreen&&(m.isFullscreen=document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement?1:0),m.isTabFocused=document.hidden||document.mozHidden||document.webkitHidden?0:1,m.sessionStartTime=b,m.sessionId=f,m.sessionLength=vt()-b,m.timeZoneOffset=(new Date).getTimezoneOffset(),m.zones=[],e&&(m.zones=e.getZoneIds()),m.pUrl=encodeURIComponent(o()),m.pReferrer=encodeURIComponent((()=>{const e=document.referrer;return e?l(e):""})()),m.pTitle=encodeURI(u()),m.pDescription=encodeURIComponent(p("description",i)),m.pKeywords=encodeURIComponent(p("keywords",i)),m.pHasIframes=(()=>{const e=document.getElementsByTagName("iframe");return e.length?e.length:0})(),m.pWidth=Math.ceil(window.scrollWidth||document.body.scrollWidth),m.pHeight=Math.ceil(window.scrollHeight||document.body.scrollHeight),m.vWidth=Math.ceil(window.innerWidth||document.body.clientWidth),m.vHeight=Math.ceil(window.innerHeight||document.body.clientHeight),m.inIframe=a(),sessionStorage.getItem("template")&&(m.ippTemplate=sessionStorage.getItem("template")),m.visible=(t=m.vWidth,r=m.vHeight,a()&&(t<10||r<10)?0:1),m.caught=(()=>{let e=0;if(a())try{window.top.location.href}catch(t){e=1}return e})(),m.isScrollable=((e,t)=>{if(e>t){const i=.05;return e-t>Math.ceil(t*i)?1:0}return 0})(m.pHeight,m.vHeight)}function y(){i.debug("Touch move detected."),m.touchMove++,g=!0}function w(){1!==m.isMouseMoved&&(i.debug("Mouse move tracked"),m.isMouseMoved=1,g=!0)}function T(){i.debug("Touch end detected."),m.touchEnd++,g=!0,A()}function A(){if(i.debug("checkScrolling()"),m.pHeight<=m.vHeight)return m.pagePercentageSeen=100,void(m.belowTheFoldSeen=100);var e=Math.ceil(window.scrollTop||document.body.scrollTop),t=Math.ceil((e+m.vHeight)/m.pHeight*100);t>100&&(t=100),t!=m.pagePercentageSeen&&(i.debug("Scroll event detected."),m.isScrolled=1,g=!0),t>m.pagePercentageSeen&&(i.debug("Page percentage seen updated."),m.pagePercentageSeen=t,g=!0);var r=Math.ceil(e/(m.pHeight-m.vHeight)*100);r>100&&(r=100),r>m.belowTheFoldSeen&&(i.debug("Bellow the fold percentage seen updated."),m.belowTheFoldSeen=r,g=!0)}function k(){m.ippMissclicks++,g=!0}function E(e){i.debug("Click tracked"),m.totalClicks++;var t=e.target,r=null;do{null!==r&&""!==r||(r=C(t)),t=t.parentElement}while(t&&"body"!==t.nodeName.toLowerCase()&&"document"!==t.nodeName.toLowerCase());null===r&&(r="idle"),m.clicksByType[r]++,g=!0}function C(e){var t=null;return-1!==["a","video","button","input","textarea","img","select"].indexOf(e.nodeName.toLowerCase())&&("a"===(t=e.nodeName.toLowerCase())?t="link":"textarea"!==t&&"select"!==t||(t="input")),t}function S(){i.debug("Impression tracked"),m.eventImps++}function x(){i.debug("Retry tracked!"),m.retryCounts++}function I(){var e="//usrpubtrk.com/ut/hb.php?cb="+Math.random();return e+="&v=1",i.debug("Target Url: "+e.toString()),e}function R(e=!1){if(!h){if(h=!0,v(),e&&(m.lastevent=1),i.isDebugEnabled&&i.debug("send payload:",JSON.parse(JSON.stringify(m))),"navigator"in window&&"sendBeacon"in window.navigator&&void 0!==navigator.sendBeacon&&void 0!==Blob){m.sentTimestamp=Date.now();var t=new Blob([JSON.stringify(m)],{type:"text/plain; charset=UTF-8"});navigator.sendBeacon(I(),t)}else{var r="XMLHttpRequest"in window?new XMLHttpRequest:new ActiveXObject("Microsoft.XMLHTTP");r.open("POST",I(),!0),r.setRequestHeader("Content-Type","text/plain;charset=UTF-8");try{m.sentTimestamp=Date.now(),r.send(JSON.stringify(m))}catch(e){}}m.lastevent=0,h=!1}}function N(){i.debug("visibility state is",document.visibilityState),"hidden"===document.visibilityState&&g?(clearInterval(n),R(),g=!1):"visible"===document.visibilityState&&(n=setInterval(O,6e4))}function L(){var e=new CustomEvent(r,{detail:{issued:"UT",data:{utsid:f}}});document.dispatchEvent(e)}function O(){if(m.sessionLength=vt()-b,m.sessionLength>=7200)return i.debug("Session limit reached! Send last payload and tear down"),R(),clearInterval(n),i.debug("detaching behavior listeners"),document.removeEventListener("click",E,!1),document.removeEventListener("mousemove",w,!1),document.removeEventListener("scroll",A,!1),document.removeEventListener("in-page-missclick",k,!1),document.removeEventListener("impression-event",S,!1),document.removeEventListener("impression-retry-event",x,!1),document.removeEventListener("touchend",T,!1),document.removeEventListener("touchmove",y,!1),document.removeEventListener("touchcancel",A,!1),document.removeEventListener("visibilitychange",N),void window.removeEventListener("beforeunload",R);0!==c&&1!==c&&5!==c&&10!==c&&c%30!=0||R(),c++}!async function e(){if("complete"===document.readyState||"interactive"===document.readyState)return m.clientHints=await s(i,true),m.browsingTopics=await async function(){let e=[];if("browsingTopics"in document&&document.featurePolicy.allowsFeature("browsing-topics"))try{e=await document.browsingTopics(),i.debug("document.browsingTopics() return value:",e)}catch(e){i.debug("Error calling document.browsingTopics(): ",e)}return e}(),"ontouchstart"in window||navigator.maxTouchPoints>0||navigator.msMaxTouchPoints>0?(document.addEventListener("touchend",T,!1),document.addEventListener("touchmove",y,!1),document.addEventListener("touchcancel",A,!1)):(document.addEventListener("mousemove",w,!1),document.addEventListener("scroll",A,!1)),document.addEventListener("click",E,!1),document.addEventListener("impression-event",S,!1),document.addEventListener("impression-retry-event",x,!1),document.addEventListener("in-page-missclick",k,!1),v(),A(),0===c&&O(),n=setInterval(O,6e4),window[r]=f,L(),setTimeout(L,2e4),document.addEventListener("visibilitychange",N),void window.addEventListener("beforeunload",()=>{R(!0)});setTimeout(e,100)}()},wt="sandboxedDetector";class Tt{#i;#he;#ue;#ge=!1;#pe=!1;#me=!1;constructor(e,t,i){this.#i=e,this.#he=t,this.#ue=i}isSandboxed(){return this.#pe}load(){if(this.#ge)return void this.#i.debug("already checked");if(this.#ge=!0,this.#i.debug("load sandbox detector"),!a())return void this.#i.debug("not in iframe. exit");this.#i.debug("iframe detected");const e=this.#ue.getState();if(e&&e.expiresAt>Date.now())return this.#i.debug("previous state present. Expires at:",new Date(e.expiresAt)),e.isSandboxed?(this.#i.debug("sandboxed recently! show overlay"),void(this.#pe=!0)):void this.#i.debug("not sandboxed recently. dont check further");this.#i.debug("attach detector listener to events");const t={zoneId:wt,callback:this.#fe.bind(this)};N||this.#he.subscribe("mousedown",t,!0),this.#he.subscribe("click",t,!0)}#fe(e){if(!e.isTrusted)return void this.#i.debug(`${e.type} on ${e.target.tagName}. Detector skipped: event is not trusted`,e);if(this.#he.isShowingPop)return void this.#i.debug("detector skipped: pop being currently shown");this.#he.isShowingPop=!0,this.#i.debug("detector taking action. prevent other pops from showing");let t=null;try{t=window.open("about:blank","_blank")}catch(e){this.#i.error("detector error",e)}t&&t.close(),null===t&&(this.#i.debug("sandbox detected"),this.#pe=!0),this.#ue.setState({expiresAt:Date.now()+36e5,isSandboxed:this.#pe}),N||this.#he.unsubscribe("mousedown",wt,!0),this.#he.unsubscribe("click",wt,!0),setTimeout(()=>{this.#he.isShowingPop=!1},300)}showSandboxWarningOverlay(){this.#me||(this.#me=!0,this.#i.debug("show sandbox warning overlay"),this.#be())}#ve(){const e=document.createElement("div");e.id="sbxwo",Object.assign(e.style,{position:"fixed",top:0,left:0,width:"100%",height:"100%",backgroundColor:"rgba(0, 0, 0, 0.8)",color:"#fff",zIndex:1e4,display:"flex",alignItems:"center",justifyContent:"center",flexDirection:"column",padding:"20px",boxSizing:"border-box",textAlign:"center"});const t=document.createElement("div");t.innerHTML="\n
Ad Functionality Blocked
\n
\n It looks like your page is running in a sandbox that blocks certain functionality.\n This setting is preventing our ads from working properly.\n Please disable the sandbox restrictions or adjust your settings.\n
\n To continue playing please remove Sandbox from iframe tab or add "allow-popups" to Sandbox\n
\n ',e.appendChild(t),document.body.appendChild(e)}}const At="x4G9Tq2Kw6R7v1Dy3P0B5N8Lc9M2zF",kt="ZpQw9XkLmN8c3vR3",Et="adblock-settings",Ct=(()=>{let e=document.currentScript;return e||(e=document.getElementById("aclib")),e||(e=document.getElementById("adcash-lib")),e})();let St=null;class xt{#ye;#we={pop:!1,autoTag:!1,inPagePush:!1,interstitial:!1,videoSlider:!1};#Te;#b;#Ae=new Set;#ke=new Set;#i;#Ee=!1;#Ce=!1;#Se;#f="adexchangeclear.com";#T="70.0";#o=null;#xe="aclib";#Ie;#Re=!1;isShowingPop=!1;#C;#Ne=!1;#Le={};#Oe;constructor(e={}){if(St)return St;St=this;let i="aclib";if(e.classes&&(this.#Le=e.classes,i="aclib_adbl"),this.#i=new t(i),this.#Se=(e=>{const t={mousedown:[],click:[],touchstart:[]},i={mousedown:[],scroll:[],click:[],touchstart:[]},r=i=>{const r=i.currentTarget===window?"win":"doc";e.debug(`${r} mousedown with capture: in`),t.mousedown.forEach(t=>{e.debug(`${r} mousedown with capture: calling observer`),t.callback(i)})},n=t=>{const r=t.currentTarget===window?"win":"doc";e.debug(`${r} mousedown: in`),i.mousedown.forEach(i=>{e.debug(`${r} mousedown: calling observer`),i.callback(t)})},s=i=>{const r=i.currentTarget===window?"win":"doc";e.debug(`${r} click with capture: in`),t.click.forEach(t=>{e.debug(`${r} click with capture: calling observer`),t.callback(i)})},o=t=>{const r=t.currentTarget===window?"win":"doc";e.debug(`${r} click: in`),i.click.forEach(i=>{e.debug(`${r} click: calling observer`),i.callback(t)})},a=e=>{i.scroll.forEach(t=>{t.callback(e)})};return{subscribe:(e,r,n)=>{if(!t[e]||!i[e])throw new Error(`${e} is not observable!`);n?t[e].push(r):i[e].push(r)},unsubscribe:(e,r,n)=>{if(!t[e]||!i[e])throw new Error(`${e} is not observable!`);if(n)for(let i=0;i{window.addEventListener("mousedown",r,!0),window.addEventListener("mousedown",n,!1),window.addEventListener("click",s,!0),window.addEventListener("click",o,!1),document.addEventListener("mousedown",r,!0),document.addEventListener("mousedown",n),document.addEventListener("click",s,!0),document.addEventListener("click",o),window.addEventListener("scroll",a)},detachListeners:()=>{window.removeEventListener("mousedown",r,!0),window.removeEventListener("mousedown",n,!1),window.removeEventListener("click",s,!0),window.removeEventListener("click",o,!1),document.removeEventListener("mousedown",r,!0),document.removeEventListener("mousedown",n),document.removeEventListener("click",s,!0),document.removeEventListener("click",o),window.removeEventListener("scroll",a)}}})(this.#i),this.#Se.attachListeners(),this.getClientHints(),this.#Ie=d(),this.#C=P(),this.#Oe=new Tt(new t("sd"),St,new he("sndbxchckiborjforqp2")),this.#i.debug("init adcash lib. listeners attached. ready to publish"),this.#i.debug("is mobile device:",N),window[At]&&(this.#o=JSON.parse(JSON.stringify(window[At])),this.#ye=this.#o.cdnDomain,delete window[At]),window[kt]&&(this.#o=JSON.parse(((e,t="xR9tB2pL6q7MwVe")=>[...atob(e)].map((e,i)=>String.fromCharCode(e.charCodeAt(0)^t.charCodeAt(i%t.length))).join(""))(window[kt])),this.#ye=this.#o.cdnDomain,delete window[kt]),this.#o||(this.#ye=new URL(Ct.src).host,Ct.hasAttribute(Et)&&(this.#o=JSON.parse(Ct.getAttribute(Et)),Ct.removeAttribute(Et))),this.#o&&this.#i.debug("adblock settings:",this.#o),Ct.getAttribute("data-preview"))return this.#i.debug("preview mode"),void(this.#Ne=!0);this.#De(),this.#Pe(),this.#Ue(),this.#Oe.load()}isSandboxed(){return this.#Oe.isSandboxed()}showSandboxWarningOverlay(){this.#Oe.showSandboxWarningOverlay()}async getClientHints(e){if(void 0===this.#Te){this.#Te=await s(this.#i,!0);let e="";for(const t in this.#Te)e+=`&${t}=${this.#Te[t]}`;this.#b=e}return e?this.#Te:this.#b}getCdnDomain(){return this.#ye}getSesionRandomString(){return this.#Ie}enableAdbMode(){this.#i.debug("enable adb mode"),this.#Re=!0}isAdbMode(){return this.#Re}subscribe(e,t,i){this.#Se.subscribe(e,t,i)}unsubscribe(e,t,i){this.#Se.unsubscribe(e,t,i)}#Ue(){if(document.body){const e=document.createElement("a");e.style.display="none",e.style.visibility="hidden",e.style.position="relative",e.style.left="-1000px",e.style.top="-1000px";let t=this.#f;return this.#o&&(t=this.#o.adserverDomain),e.href=`${location.protocol}//${t}/ad/visit.php?al=1`,void document.body.appendChild(e)}setTimeout(this.#Ue.bind(this),100)}#Pe(){yt(St)}#De(){if(document.head){let e=new Set([this.#ye,this.#f]);return this.#o&&e.add(this.#o.adserverDomain),e=Array.from(e),this.#i.debug("prefetch domains:",e),void e.forEach(e=>{const t=document.createElement("link");t.rel="dns-prefetch",t.href=`//${e}`,document.head.appendChild(t)})}setTimeout(this.#De.bind(this),100)}getZoneIds(){return Array.from(this.#Ae)}runPop(e){const{zoneId:t,delay:i,targetElementsCssSelector:r,triggerOnTargetElementsClick:n,targetCountries:s,triggerOnTargetCountries:o,sub1:a,sub2:l,publisherUrl:d,storeUrl:c,c1:h,c2:u,c3:g,pubHash:p,pubClickId:m,pubValue:f,fallbackOn:b,isAutoTag:v,collectiveZoneId:y,aggressivity:w,recordPageView:T,linkedZoneId:A,abTest:k,tagVersionSuffix:E}=e;if(!t)throw new Error("mandatory zoneId is not provided!");if(!ft(t))throw new Error("zoneId is not a string!");if(void 0!==i&&(!mt(i)||i<0))throw new Error("delay is not an integer or is less than zero");if(void 0!==r){if(!ft(r))throw new Error("targetElementsCssSelector is not a string");if(!(e=>{try{document.createDocumentFragment().querySelector(e)}catch{return!1}return!0})(r))throw new Error("targetElementsCssSelector is not a valid css selector");if(!pt(n))throw new Error("triggerOnTargetElementsClick is not a boolean")}if(void 0!==s){if(!(e=>{if(!Array.isArray(e))return!1;if(0===e.length)return!1;for(let t=0;t{window.PopUnder&&(this.#Ae.add(C.zoneId),new PopUnder(C),clearInterval(e))},100)}else{this.#i.debug("loading suv5 script on page"),this.#Ee=!0;const e=document.createElement("script");e.type="text/javascript",e.src=`${location.protocol}//${this.#ye}/script/suv5.js`,e.onload=()=>{this.#we.pop=!0,this.#Ee=!1,v?this.#Ae.add(y):this.#Ae.add(C.zoneId),new PopUnder(C)},e.onerror=()=>{this.#we.pop=!1,this.#Ee=!1,this.#i.error(`failed loading ${e.src}`)},document.head.appendChild(e)}}runInPagePush(e){if(this.#we.inPagePush)return void this.#i.error("in-page push zone already loaded on page");this.#we.inPagePush=!0;const{zoneId:t,delay:i,maxAds:r,renderPosDesktop:n,renderPosMobile:s,offsetTop:o,sub1:a,isAutoTag:l,collectiveZoneId:d,linkedZoneId:c,aggressivity:h,recordPageView:u,abTest:g,tagVersionSuffix:p}=e;let{refreshRate:m}=e;if(!t)throw new Error("mandatory zoneId is not provided!");if(!ft(t))throw new Error("zoneId is not a string!");if(void 0!==m&&(!mt(m)||m<0))throw new Error("refreshRate is not an integer or is less than zero");if(void 0!==i&&(!mt(i)||i<0))throw new Error("delay is not an integer or is less than zero");if(void 0!==r&&(!mt(r)||r<1))throw new Error("maxAds is not an integer or is less than one");if(void 0!==n&&!bt(n))throw new Error("renderPosDesktop is not valid");if(void 0!==s&&!bt(s))throw new Error("renderPosMobile is not valid");if(void 0!==o&&(!mt(o)||o<0))throw new Error("offsetTop is not an integer or is less than zero");this.#i.debug("loading in-page push on page"),l?this.#Ae.add(d):this.#Ae.add(t),void 0!==m&&m>0&&m<10&&(m<5?m*=60:m=30),this.#i.debug("ipp rr set to",m);const f={zoneId:t,refreshRate:m??60,delay:i??0,maxAds:r??1,renderPosDesktop:n??"top",renderPosMobile:s??"top",offsetTop:o??0,sub1:a,isAutoTag:l,collectiveZoneId:d,linkedZoneId:c,aggressivity:h,recordPageView:u,abTest:g,tagVersionSuffix:p,adserverDomain:this.#f,adblockSettings:this.#o,adcashGlobalName:this.#xe,isLoadedAsPartOfLibrary:!1,uniqueFingerprint:this.#C};if(this.#Le.InPagePush)return f.isLoadedAsPartOfLibrary=!0,void new this.#Le.InPagePush(f);if(window.InPagePush)new window.InPagePush(f);else{const e=document.createElement("script");e.type="text/javascript",e.src=`${window.location.protocol}//${this.#ye}/script/inpagepush.js`,e.setAttribute("nipp","1"),e.onload=()=>{new window.InPagePush(f)},e.onerror=()=>{this.#i.error(`failed loading ${e.src}`)},document.head.appendChild(e)}}runBanner(e){const{zoneId:t,width:i,height:r,renderIn:n,sub1:s,currentScript:o}=e;if(!t)throw new Error("mandatory zoneId is not provided!");if(!ft(t))throw new Error("zoneId is not a string!");if(void 0!==i&&!mt(i))throw new Error("Banner width is not an integer");if(void 0!==r&&!mt(r))throw new Error("Banner height is not an integer");let a;this.#i.debug("loading banner on page",t),n||(document.currentScript&&document.currentScript.parentElement&&(a=document.currentScript.parentElement),o&&(a=o.parentElement));const l={zoneId:t,width:i,height:r,renderIn:n,currentElement:a,sub1:s,adcashGlobalName:this.#xe,uniqueFingerprint:this.#C,adblockSettings:this.#o};if(this.#Le.Banner)new this.#Le.Banner(l);else if(this.#we.banner||this.#Ce){if(window.Banner)return this.#Ae.add(l.zoneId),void new Banner(l);const e=setInterval(()=>{window.Banner&&(this.#Ae.add(l.zoneId),new Banner(l),clearInterval(e))},100)}else{this.#Ce=!0;const e=document.createElement("script");e.type="text/javascript",e.src=`${location.protocol}//${this.#ye}/script/banner.js`,e.onload=()=>{this.#we.banner=!0,this.#Ce=!1,this.#Ae.add(l.zoneId),new Banner(l)},e.onerror=()=>{this.#we.banner=!1,this.#Ce=!1,this.#i.error(`failed loading ${e.src}`)},e.setAttribute("data-adel","ban"),e.setAttribute("a-lib","1"),document.head.appendChild(e)}}runInterstitial(e){if(this.#we.interstitial)return void this.#i.error("interstitial zone already loaded on page");this.#we.interstitial=!0;const{zoneId:t,sub1:i,isAutoTag:r,collectiveZoneId:n,linkedZoneId:s,aggressivity:o,recordPageView:a,abTest:l,tagVersionSuffix:d}=e;if(!t)throw new Error("mandatory zoneId is not provided!");if(!ft(t))throw new Error("zoneId is not a string!");this.#i.debug("loading interstitial on page");const c={zoneId:t,sub1:i,isAutoTag:r,collectiveZoneId:n,linkedZoneId:s,aggressivity:o,recordPageView:a,abTest:l,tagVersionSuffix:d,adcashGlobalName:this.#xe,adserverDomain:this.#f,adblockSettings:this.#o,uniqueFingerprint:this.#C,isLoadedAsPartOfLibrary:!1};if(this.#Ae.add(t),this.#Le.Interstitial)return c.isLoadedAsPartOfLibrary=!0,void new this.#Le.Interstitial(c);if(window.Interstitial)new Interstitial(c);else{const e=document.createElement("script");e.type="text/javascript",e.src=`${location.protocol}//${this.#ye}/script/interstitial.js`,e.setAttribute("a-lib","1"),e.onload=()=>{new Interstitial(c)},e.onerror=()=>{this.#i.error(`failed loading ${e.src}`)},document.head.appendChild(e)}}async#$e(e,t=!0){this.#i.debug("fetch collective zone config");let i=`${window.location.protocol}//${this.#f}/ad/czcf.php`;if(this.isAdbMode()){const e=`/${O("abcdefgh0123456789")}`;i=`${window.location.protocol}//${this.#o.adserverDomain}${e}`}i+=`?cz=${e}`,i+=`&atv=${this.#T}`;const r=await this.getClientHints();let n;r&&(i+=r),this.isAdbMode()&&(i+="&sadbl=2",i+="&fmt=atg",i=D(i)),this.#i.debug("collective zone config url: ",i);try{n=await fetch(i)}catch(i){return this.#i.error(i),this.#o&&t?(this.#i.debug("collective zone config fetch failed: try alt domain and path"),this.enableAdbMode(),this.#$e(e,!1)):null}return 200!==n.status?null:(n=await n.json(),V(n))}async runAutoTag(e){if(this.#we.autoTag)return void this.#i.error("autotag zone already loaded on page");this.#we.autoTag=!0;const t=e.zoneId;if(!t)throw new Error("mandatory zoneId is not provided!");if(!ft(t))throw new Error("zoneId is not a string!");const i=await this.#$e(t);if(!i)return void this.#i.error(`failed to fetch collective zone config! czid: ${t}`);if(this.#i.debug("collective zone config:",i),!i.rotationList){this.#i.debug("running in NORMAL MODE (no rotation)");const r=i.indexedFormats;let n=!0;for(const s in r){switch(s){case"suv4":case"pop":this.runPop({zoneId:r[s].zoneId.toString(),targetElementsCssSelector:r[s]["element-list"],triggerOnTargetElementsClick:"allow"===r[s]["element-action"],targetCountries:r[s]["country-list"],triggerOnTargetCountries:"allow"===r[s]["country-action"],isAutoTag:!0,collectiveZoneId:t,aggressivity:i.aggressivity,abTest:i.ab_test,recordPageView:n,tagVersionSuffix:e.tagVersionSuffix});break;case"interstitial":this.runInterstitial({zoneId:r[s].zoneId.toString(),isAutoTag:!0,collectiveZoneId:t,aggressivity:i.aggressivity,abTest:i.ab_test,recordPageView:n,tagVersionSuffix:e.tagVersionSuffix});break;case"ippg":this.runInPagePush({zoneId:r[s].zoneId.toString(),refreshRate:r[s].rr,delay:r[s].d,maxAds:r[s].mads,renderPosDesktop:r[s]["render-pos-desktop"],renderPosMobile:r[s]["render-pos-mobile"],offsetTop:r[s]["offset-top"],isAutoTag:!0,collectiveZoneId:t,aggressivity:i.aggressivity,abTest:i.ab_test,recordPageView:n,tagVersionSuffix:e.tagVersionSuffix});break;default:this.#i.error(`ad format type not recognised from collective zone config. adformat.type: ${s}; czid: ${t}`)}n=!1}return}this.#i.debug("running in ROTATION MODE (rotation present)");const r={adcashGlobalName:this.#xe,collectiveZoneConfig:i,adserverDomain:this.#f,adblockSettings:this.#o,clientHintsQueryStr:this.#b,tagVersionSuffix:e.tagVersionSuffix,isLoadedAsPartOfLibrary:!1,uniqueFingerprint:this.#C};if(this.#Le.AutoTagRotation)return this.#Ae.add(t),r.isLoadedAsPartOfLibrary=!0,void new this.#Le.AutoTagRotation(r);this.#i.debug("loading autotag rotation script on page");const n=document.createElement("script");n.type="text/javascript",n.src=`${location.protocol}//${this.#ye}/script/atagv2.js`,n.onload=()=>{this.#Ae.add(t),new ue(r)},n.onerror=()=>{this.#i.error(`failed loading ${n.src}`)},document.head.appendChild(n)}runVideoSlider(e){if(this.#we.videoSlider)return void this.#i.error("videoslider zone already loaded on page");this.#we.videoSlider=!0;const{zoneId:t,sub1:i,vastXml:r,linkedZoneId:n}=e;if(!t)throw new Error("mandatory zoneId is not provided!");if(!ft(t))throw new Error("zoneId is not a string!");const s={zoneId:t,sub1:i,adserverDomain:this.#f,adcashGlobalName:this.#xe,uniqueFingerprint:this.#C,isPreviewMode:this.#Ne,vastXml:r,linkedZoneId:n,adblockSettings:this.#o};if(this.#Le.VideoSlider)return s.isLoadedAsPartOfLibrary=!0,void new this.#Le.VideoSlider(s);if(window.VideoSlider)new VideoSlider(s);else{const e=document.createElement("script");e.type="text/javascript",e.src=`${window.location.protocol}//${this.#ye}/script/videoSliderAlt.js`,e.onload=()=>{this.#Ae.add(t),new VideoSlider(s)},e.onerror=()=>{this.#i.error(`failed loading ${e.src}`)},document.head.appendChild(e)}}}const It=new t("aclib_adblock_index");window.Adcash?It.debug("lib already on page. exit"):(It.debug("load lib on page"),((e={})=>{const t={aclib:new xt(e),Adcash:xt,AtcshAltNm:xt};Object.keys(t).forEach(e=>{Object.defineProperty(window,e,{value:t[e]})})})({classes:{AutoTagRotation:ue,PopUnder:class{#s;#y=null;#t={};#L=!1;#Ve=!1;#Me=!1;#Fe=!1;#O;#v=!1;#R=!0;#i;#T="70.0";#D=null;#qe=12;#k=!1;constructor(e){this.#i=new t(`suv5_${e.zoneId}`),this.#s=window[e.adcashGlobalName],e.tagVersionSuffix&&(this.#T+=e.tagVersionSuffix),this.#i.debug("tag version:",this.#T),this.#i.debug("init pop with config:",e),this.#t=e,this.elementTargeting=new me(this.#t.targetElementsCssSelector,this.#t.triggerOnTargetElementsClick,this.#t.zoneId),!N||this.elementTargeting.isPresent()||this.#t.linkedZoneId||(this.#R=!1),this.#i.debug("useCapture:",this.#R),this.overlays=new pe(this.elementTargeting,this.#P.bind(this),this.#ze.bind(this),this.#i,this.#t.zoneId,this.#R),this.#V(),this.localStorage=new he(`suv5_${e.zoneId}_state`);const i=this.localStorage.getState();i&&i.adbExpiresAt>Date.now()&&this.#s.enableAdbMode();const r=Date.now();if(i&&i.renderAfterTimestamp>r){const e=i.renderAfterTimestamp-r;this.#i.debug(`previous state present. bid after ${e/1e3} sec`),setTimeout(this.#Be.bind(this),e)}else this.#Be()}async#S(){const e=await this.#s.getClientHints(!1);let t=`${window.location.protocol}//${this.#t.adserverDomain}/script/suurl5.php`;if(this.#t.adblockSettings&&this.#s.isAdbMode()){const{adserverDomain:e}=this.#t.adblockSettings,i=`/${O("abcdefgh0123456789")}`;t=`${window.location.protocol}//${e}${i}`}if(t+=`?r=${this.#t.zoneId}`,this.#v&&(t+="&rbd=1"),this.#t.targetCountries){const e=this.#t.targetCountries.join(",");this.#t.triggerOnTargetCountries?t+="&allowed_countries="+encodeURIComponent(e):t+="&excluded_countries="+encodeURIComponent(e)}return t=t+e+"&cbur="+Math.random()+"&cbiframe="+a()+"&cbWidth="+c()+"&cbHeight="+h()+"&cbtitle="+encodeURIComponent(u())+"&cbpage="+encodeURIComponent(o())+"&cbref="+encodeURIComponent(g())+"&cbdescription="+encodeURIComponent(p("description"))+"&cbkeywords="+encodeURIComponent(p("keywords"))+"&cbcdn="+encodeURIComponent(this.#s.getCdnDomain())+"&ufp="+encodeURIComponent(this.#t.uniqueFingerprint)+"&ts="+Date.now()+"&srs="+this.#s.getSesionRandomString()+"&atv="+this.#T,this.#t.sub1&&(t+=`&sub1=${encodeURIComponent(this.#t.sub1)}`),this.#t.sub2&&(t+=`&sub2=${encodeURIComponent(this.#t.sub2)}`),this.#t.publisherUrl&&(t+=`&pu=${encodeURIComponent(this.#t.publisherUrl)}`),this.#t.storeUrl&&(t+=`&storeurl=${encodeURIComponent(this.#t.storeUrl)}`),this.#t.c1&&(t+=`&c1=${encodeURIComponent(this.#t.c1)}`),this.#t.c2&&(t+=`&c2=${encodeURIComponent(this.#t.c2)}`),this.#t.c3&&(t+=`&c3=${encodeURIComponent(this.#t.c3)}`),this.#t.pubHash&&(t+=`&pub_hash=${encodeURIComponent(this.#t.pubHash)}`),this.#t.pubClickId&&(t+=`&pub_clickid=${encodeURIComponent(this.#t.pubClickId)}`),this.#t.pubValue&&(t+=`&pub_value=${encodeURIComponent(this.#t.pubValue)}`),this.#t.fallbackOn&&(t+=`&fallbackon=${encodeURIComponent(this.#t.fallbackOn)}`),this.#t.adblockSettings&&(t+="&abtg=1"),this.#t.isAutoTag&&(t+="&atag=1"),this.#t.aggressivity&&(t+=`&aggr=${this.#t.aggressivity}`),this.#t.collectiveZoneId&&(t+=`&czid=${this.#t.collectiveZoneId}`),this.#t.recordPageView&&(t+="&ppv=1"),this.#t.linkedZoneId&&(t+=`&pblcz=${this.#t.linkedZoneId}`),this.#t.abTest&&(t+=`&ab_test=${this.#t.abTest}`),this.#t.adblockSettings&&this.#t.adblockSettings.adbVersion&&(t+=`&adbv=${this.#t.adblockSettings.adbVersion}`),this.#s.isSandboxed()&&(t+="&sbx=1"),this.#t.adblockSettings&&this.#s.isAdbMode()?(t+="&sadbl=2",t+="&fmt=suv5",this.#i.debug(`bid url: ${t}`),D(t)):(this.#i.debug(`bid url: ${t}`),t)}#$(e){try{let t=this.#D?this.#D(""):window.open("");return t.document.open(),t.document.writeln('
17 OCT 2024 - Welcome Back to TorrentFunk! Get your pirate hat back out. Streaming is dying and torrents are the new trend. Account Registration works again and so do Torrent Uploads. We invite you all to start uploading torrents again!
TORRENT DETAILS
Udemy - Learn And Build Unity PUBG Mobile TDM Android And IOS Game Clone
TORRENT SUMMARY
Status:
All the torrents in this section have been verified by our verification system
Learn Unity 3D TPS Game Development & Make PUBG Mobile Team Death Match iOS Android Game Course using Unity Game Engine
What you'll learn
Mobile 3D Game Development
Android 3D Game Development
iOS 3D Game Development
Mobile Third Person Shooter TPS Player Controller
Implement Player Teammates AI
Implement Enemies AI
Implement Enemies Teammates AI
Blue Team AI (Enemies)
Red Team AI (Player and Its Team Mates)
PUBG Mobile TDM Warehouse Game Clone with AI based Enemies Characters
Counter Strike || CS Strike Mobile TDM Warehouse Game Clone with AI based Enemies Characters
Team Players System and Ai
and much more.
Requirements
you must have some basic programming knowledge
you must have some basic c# language
If You Need More Stuff, kindly Visit and Support Us -->> https://CourseWikia.com
Get More Tutorials and Support Us -->> https://FreeCourseWeb.com
We upload these learning materials for the people from all over the world, who have the talent and motivation to sharpen their skills/ knowledge but do not have the financial support to afford the materials. If you like this content and if you are truly in a position that you can actually buy the materials, then Please, we repeat, Please, Support Authors. They Deserve it! Because always remember, without "Them", you and we won't be here having this conversation. Think about it! Peace...
VISITOR COMMENTS (0 )
FILE LIST
Filename
Size
~Get Your Files Here !/1. Introduction/1. Introduction.mp4
73.1 MB
~Get Your Files Here !/1. Introduction/1. Introduction.srt
3.7 KB
~Get Your Files Here !/2. Create Project & Setup Game 3D Environment/1. Creating & Setting up project.mp4
27.1 MB
~Get Your Files Here !/2. Create Project & Setup Game 3D Environment/1. Creating & Setting up project.srt
3 KB
~Get Your Files Here !/2. Create Project & Setup Game 3D Environment/2. Importing Assets.mp4
61 MB
~Get Your Files Here !/2. Create Project & Setup Game 3D Environment/2. Importing Assets.srt
6.6 KB
~Get Your Files Here !/2. Create Project & Setup Game 3D Environment/3. Setting up environment.mp4
34.5 MB
~Get Your Files Here !/2. Create Project & Setup Game 3D Environment/3. Setting up environment.srt
2.7 KB
~Get Your Files Here !/3. Mobile iOS & Android TPS Player Controller/1. Adding Player Character.mp4
60.6 MB
~Get Your Files Here !/3. Mobile iOS & Android TPS Player Controller/1. Adding Player Character.srt
5.4 KB
~Get Your Files Here !/3. Mobile iOS & Android TPS Player Controller/10. Player animator controller.mp4
115.2 MB
~Get Your Files Here !/3. Mobile iOS & Android TPS Player Controller/10. Player animator controller.srt
17 KB
~Get Your Files Here !/3. Mobile iOS & Android TPS Player Controller/11. Adding animations to player.mp4
95.1 MB
~Get Your Files Here !/3. Mobile iOS & Android TPS Player Controller/11. Adding animations to player.srt
11.1 KB
~Get Your Files Here !/3. Mobile iOS & Android TPS Player Controller/2. Adding CineMachine.mp4
64.6 MB
~Get Your Files Here !/3. Mobile iOS & Android TPS Player Controller/2. Adding CineMachine.srt
6.2 KB
~Get Your Files Here !/3. Mobile iOS & Android TPS Player Controller/3. Adding basic player movement.mp4
71.3 MB
~Get Your Files Here !/3. Mobile iOS & Android TPS Player Controller/3. Adding basic player movement.srt
13.6 KB
~Get Your Files Here !/3. Mobile iOS & Android TPS Player Controller/4. Rotating player using script.mp4
64.4 MB
~Get Your Files Here !/3. Mobile iOS & Android TPS Player Controller/4. Rotating player using script.srt
7.5 KB
~Get Your Files Here !/3. Mobile iOS & Android TPS Player Controller/5. Making enemy turning smooth.mp4
34.5 MB
~Get Your Files Here !/3. Mobile iOS & Android TPS Player Controller/5. Making enemy turning smooth.srt
3.8 KB
~Get Your Files Here !/3. Mobile iOS & Android TPS Player Controller/6. Rotating player in direction of camera.mp4
28.3 MB
~Get Your Files Here !/3. Mobile iOS & Android TPS Player Controller/6. Rotating player in direction of camera.srt
3.4 KB
~Get Your Files Here !/3. Mobile iOS & Android TPS Player Controller/7. Adding gravity.mp4
94.8 MB
~Get Your Files Here !/3. Mobile iOS & Android TPS Player Controller/7. Adding gravity.srt
9.5 KB
~Get Your Files Here !/3. Mobile iOS & Android TPS Player Controller/8. Adding jumping to player.mp4
28 MB
~Get Your Files Here !/3. Mobile iOS & Android TPS Player Controller/8. Adding jumping to player.srt
3.6 KB
~Get Your Files Here !/3. Mobile iOS & Android TPS Player Controller/9. Spriting to player.mp4
59.5 MB
~Get Your Files Here !/3. Mobile iOS & Android TPS Player Controller/9. Spriting to player.srt
7.9 KB
~Get Your Files Here !/4. Mobile TPS Rifle Controller/1. Shooting using RayCast.mp4
75.9 MB
~Get Your Files Here !/4. Mobile TPS Rifle Controller/1. Shooting using RayCast.srt
12.5 KB
~Get Your Files Here !/4. Mobile TPS Rifle Controller/2. Adding crosshair and Switching cameras.mp4
63.6 MB
~Get Your Files Here !/4. Mobile TPS Rifle Controller/2. Adding crosshair and Switching cameras.srt
8.1 KB
~Get Your Files Here !/4. Mobile TPS Rifle Controller/3. Giving damage to random object.mp4
65.1 MB
~Get Your Files Here !/4. Mobile TPS Rifle Controller/3. Giving damage to random object.srt
10 KB
~Get Your Files Here !/4. Mobile TPS Rifle Controller/4. Adding FireCharge to rifle.mp4
45.3 MB
~Get Your Files Here !/4. Mobile TPS Rifle Controller/4. Adding FireCharge to rifle.srt
5.6 KB
~Get Your Files Here !/4. Mobile TPS Rifle Controller/5. Mag and Ammo system.mp4
76.5 MB
~Get Your Files Here !/4. Mobile TPS Rifle Controller/5. Mag and Ammo system.srt
14.5 KB
~Get Your Files Here !/4. Mobile TPS Rifle Controller/6. Rifle Animations.mp4
47.4 MB
~Get Your Files Here !/4. Mobile TPS Rifle Controller/6. Rifle Animations.srt
6.6 KB
~Get Your Files Here !/4. Mobile TPS Rifle Controller/7. Adding rifle animations.mp4
64.8 MB
~Get Your Files Here !/4. Mobile TPS Rifle Controller/7. Adding rifle animations.srt
8.5 KB
~Get Your Files Here !/4. Mobile TPS Rifle Controller/8. Adding Muzzle Spark.mp4
73.8 MB
~Get Your Files Here !/4. Mobile TPS Rifle Controller/8. Adding Muzzle Spark.srt
7.2 KB
~Get Your Files Here !/4. Mobile TPS Rifle Controller/9. Adding impact effect.mp4
50.9 MB
~Get Your Files Here !/4. Mobile TPS Rifle Controller/9. Adding impact effect.srt
5.9 KB
~Get Your Files Here !/5. Enemy & Enemy's Teammates Controller & AI/1. Adding enemy and baking environment.mp4
72.9 MB
~Get Your Files Here !/5. Enemy & Enemy's Teammates Controller & AI/1. Adding enemy and baking environment.srt
7.3 KB
~Get Your Files Here !/5. Enemy & Enemy's Teammates Controller & AI/10. Attaching rifle to enemy.mp4
105.6 MB
~Get Your Files Here !/5. Enemy & Enemy's Teammates Controller & AI/10. Attaching rifle to enemy.srt
7.4 KB
~Get Your Files Here !/5. Enemy & Enemy's Teammates Controller & AI/11. Adding more enemies.mp4
178.5 MB
~Get Your Files Here !/5. Enemy & Enemy's Teammates Controller & AI/11. Adding more enemies.srt
13.1 KB
~Get Your Files Here !/5. Enemy & Enemy's Teammates Controller & AI/12. Adding more enemies.mp4
150.4 MB
~Get Your Files Here !/5. Enemy & Enemy's Teammates Controller & AI/12. Adding more enemies.srt
9.6 KB
~Get Your Files Here !/5. Enemy & Enemy's Teammates Controller & AI/2. Importing weapons for enemy.mp4
22.8 MB
~Get Your Files Here !/5. Enemy & Enemy's Teammates Controller & AI/2. Importing weapons for enemy.srt
2.4 KB
~Get Your Files Here !/5. Enemy & Enemy's Teammates Controller & AI/3. Enemy chasing state system.mp4
164.5 MB
~Get Your Files Here !/5. Enemy & Enemy's Teammates Controller & AI/3. Enemy chasing state system.srt
13.6 KB
~Get Your Files Here !/5. Enemy & Enemy's Teammates Controller & AI/4. Shooting state for enemy.mp4
74.9 MB
~Get Your Files Here !/5. Enemy & Enemy's Teammates Controller & AI/4. Shooting state for enemy.srt
9.3 KB
~Get Your Files Here !/5. Enemy & Enemy's Teammates Controller & AI/5. Enemy giving damage to player.mp4
71.2 MB
~Get Your Files Here !/5. Enemy & Enemy's Teammates Controller & AI/5. Enemy giving damage to player.srt
8.8 KB
~Get Your Files Here !/5. Enemy & Enemy's Teammates Controller & AI/6. player damaging enemy.mp4
79.2 MB
~Get Your Files Here !/5. Enemy & Enemy's Teammates Controller & AI/6. player damaging enemy.srt
8.4 KB
~Get Your Files Here !/5. Enemy & Enemy's Teammates Controller & AI/7. Respawning enemy.mp4
63.1 MB
~Get Your Files Here !/5. Enemy & Enemy's Teammates Controller & AI/7. Respawning enemy.srt
7.8 KB
~Get Your Files Here !/5. Enemy & Enemy's Teammates Controller & AI/8. Animation for enemy.mp4
151.4 MB
~Get Your Files Here !/5. Enemy & Enemy's Teammates Controller & AI/8. Animation for enemy.srt
10.6 KB
~Get Your Files Here !/5. Enemy & Enemy's Teammates Controller & AI/9. Adding animations to enemy.mp4
111.3 MB
~Get Your Files Here !/5. Enemy & Enemy's Teammates Controller & AI/9. Adding animations to enemy.srt