1function sendAJAXRequest(t,e,i,o){var n=createXMLHTTPObject();if(n){async="object"==typeof o?"boolean"!==o.async||o.async:void 0===o||o;var s=i?"POST":"GET";n.open(s,t,async),"object"==typeof o&&"string"==typeof o.contentType?n.setRequestHeader("Content-type",o.contentType):n.setRequestHeader("Content-type","application/json; charset=utf-8"),n.setRequestHeader("X-Requested-With","XMLHttpRequest"),"object"==typeof o&&"string"==typeof o.responseType&&(n.responseType=o.responseType),n.onreadystatechange=function(){4==n.readyState&&(200!=n.status&&304!=n.status||e(n))},4!=n.readyState&&n.send(i)}}!function(t){"undefined"!=typeof define&&define.amd?define([],t):"undefined"!=typeof module&&module.exports?module.exports=t():window.scrollMonitor=t()}(function(){var t,e,i,o,n,s="undefined"==typeof window,r=!s,a=function(){return s?0:window.pageYOffset||document.documentElement&&document.documentElement.scrollTop||document.body.scrollTop},l={},c=[],h="visibilityChange",d="enterViewport",p="fullyEnterViewport",u="exitViewport",f="partiallyExitViewport",w="locationChange",m="stateChange",y=[h,d,p,u,f,w,m],b={top:0,bottom:0},v=function(){return s?0:window.innerHeight||document.documentElement.clientHeight},g=function(){return s?0:Math.max(document.body.scrollHeight,document.documentElement.scrollHeight,document.body.offsetHeight,document.documentElement.offsetHeight,document.documentElement.clientHeight)};function k(){if(l.viewportTop=a(),l.viewportBottom=l.viewportTop+l.viewportHeight,l.documentHeight=g(),l.documentHeight!==t){for(i=c.length;i--;)c[i].recalculateLocation();t=l.documentHeight}}function I(){l.viewportHeight=v(),k(),x()}function V(){clearTimeout(o),o=setTimeout(I,100)}function x(){for(n=c.length;n--;)c[n].update();for(n=c.length;n--;)c[n].triggerCallbacks()}function E(t,i){var o,n,s,r,a,c,v=this;this.watchItem=t,this.offsets=i?i===+i?{top:i,bottom:i}:{top:i.top||b.top,bottom:i.bottom||b.bottom}:b,this.callbacks={};for(var g=0,k=y.length;g<k;g++)v.callbacks[y[g]]=[];function I(t){if(0!==t.length)for(a=t.length;a--;)(c=t[a]).callback.call(v,e),c.isOne&&t.splice(a,1)}this.locked=!1,this.triggerCallbacks=function(){switch(this.isInViewport&&!o&&I(this.callbacks[d]
1),this.isFullyInViewport&&!n&&I(this.callbacks[p]),this.isAboveViewport!==s&&this.isBelowViewport!==r&&(I(this.callbacks[h]),n||this.isFullyInViewport||(I(this.callbacks[p]),I(this.callbacks[f])),o||this.isInViewport||(I(this.callbacks[d]),I(this.callbacks[u]))),!this.isFullyInViewport&&n&&I(this.callbacks[f]),!this.isInViewport&&o&&I(this.callbacks[u]),this.isInViewport!==o&&I(this.callbacks[h]),!0){case o!==this.isInViewport:case n!==this.isFullyInViewport:case s!==this.isAboveViewport:case r!==this.isBelowViewport:I(this.callbacks[m])}o=this.isInViewport,n=this.isFullyInViewport,s=this.isAboveViewport,r=this.isBelowViewport},this.recalculateLocation=function(){if(!this.locked){var t=this.top,e=this.bottom;if(this.watchItem.nodeName){var i=this.watchItem.style.display;"none"===i&&(this.watchItem.style.display="");var o=this.watchItem.getBoundingClientRect();this.top=o.top+l.viewportTop,this.bottom=o.bottom+l.viewportTop,"none"===i&&(this.watchItem.style.display=i)}else this.watchItem===+this.watchItem?this.watchItem>0?this.top=this.bottom=this.watchItem:this.top=this.bottom=l.documentHeight-this.watchItem:(this.top=this.watchItem.top,this.bottom=this.watchItem.bottom);this.top-=this.offsets.top,this.bottom+=this.offsets.bottom,this.height=this.bottom-this.top,void 0===t&&void 0===e||this.top===t&&this.bottom===e||I(this.callbacks[w])}},this.recalculateLocation(),this.update(),o=this.isInViewport,n=this.isFullyInViewport,s=this.isAboveViewport,r=this.isBelowViewport}l.viewportTop=null,l.viewportBottom=null,l.documentHeight=null,l.viewportHeight=v(),E.prototype={on:function(t,i,o){switch(!0){case t===h&&!this.isInViewport&&this.isAboveViewport:case t===d&&this.isInViewport:case t===p&&this.isFullyInViewport:case t===u&&this.isAboveViewport&&!this.isInViewport:case t===f&&this.isAboveViewport:if(i.call(this,e),o)return}if(!this.callbacks[t])throw new Error("Tried to add a scroll monitor listener of type "+t+". Your options are: "+y.join(", "));this.callbacks[t].push({callback:i,isOne:o||!1})},off:function(t,e){if(!this.callbacks[t])throw new Error("Tried to remove a scroll monitor listener of type "+t+". Your options are: "+y.join(", "));for(var i,o=0;i=this.callbacks[t][o];o++)if(i.callback===e){this.callbacks[t].splice(o,1);break}},one:function(t,e){this.on(t,e,!0)},recalculateSize:function(){this.height=this.watchItem.offsetHeight+this.offsets.top+this.offsets.bottom,this.bottom=this.top+this.height},update:function(){this.isAboveViewport=this.top<l.viewportTop,this.isBelowViewport=this.bottom>l.viewportBottom,this.isInViewport=this.top<=l.viewportBottom&&this.bottom>=l.viewportTop,this.isFullyInViewport=this.top>=l.viewportTop&&this.bottom<=l.viewportBottom||this.isAboveViewport&&this.isBelowViewport},destroy:function(){var t=c.indexOf(this);c.splice(t,1);for(var e=0,i=y.length;e<i;e++)this.callbacks[y[e]].length=0},lock:function(){this.locked=!0},unlock:function(){this.locked=!1}};for(var T=function(t){return function(e,i){this.on.call(this,t,e,i)}},H=0,A=y.length;H<A;H++){var L=y[H];E.prototype[L]=T(L)}if(r)try{k()}catch(t){try{window.$(k)}catch(t){throw new Error("If you must put scrollMonitor in the <head>, you must use jQuery.")}}function M(t){e=t,k(),x()}return r&&(window.addEventListener?(window.addEventListener("scroll",M),window.addEventListener("resize",V)):(window.attachEvent("onscroll",M),window.attachEvent("onresize",V))),l.beget=l.create=function(t,e){"string"==typeof t?t=document.querySelector(t):t&&t.length>0&&(t=t[0]);var i=new E(t,e);return c.push(i),i.update(),i},l.update=function(){e=null,k(),x()},l.recalculateLocations=function(){l.documentHeight=0,l.update()},l});var XMLHttpFactories=[function(){return new XMLHttpRequest},function(){return new ActiveXObject("Msxml2.XMLHTTP")},function(){return new ActiveXObject("Msxml3.XMLHTTP")},function(){return new ActiveXObject("Microsoft.XMLHTTP")}];function createXMLHTTPObject(){for(var t=!1,e=0;e<XMLHttpFactories.length;e++){try{t=XMLHttpFactories[e]()}catch(t){continue}break}return t}var comm_functions=function(){if((u=document.querySelectorAll("[data-abuse]")).length>0){var t=document.createElement("div"),e=document.getElementsByTagName("body")[0];t.innerHTML='<div id="report_overlay" style="position:fixed; left:0; top:0; width:100%; height:100%; background:#000000; opacity:0.75; cursor:pointer; z-index:10000; display:none;"></div><div id="report_form" style="box-sizing:border-box; -moz-box-sizing:border-box; position:fixed; left:5%; top:5%; width:90%; height:90%; padding:2px; background:#ffffff; box-shadow: 0 0 10px 0 rgba(0,0,0,0.3); -webkit-overflow-scrolling:touch; z-index:10001; display:none;"><iframe id="report_iframe" marginwidth="0" marginheight="0" frameborder="0" width="100%" height="100%" src="about:blank"></iframe></div><a href="#" target="_self" id="report_close" style="position:fixed; top:0; left:5%; width: 40px; height:40px; line-height:40px; text-align:center; font-size: 18px; color:#ffffff; background:#ff0000; z-index:10002; display:none;">x</a>',e.appendChild(t);var i=document.getElementById("report_form"),o=document.getElementById("report_overlay"),n=document.getElementById("report_close");/iphone|ipod|ipad/.test(window.navigator.userAgent.toLowerCase())&&(i.style.overflow="auto"),o.addEventListener("click",function(){n.style.display="none",i.style.display="none",o.style.display="none",e.style.overflow="",document.getElementById("report_iframe").src="about:blank"}),n.addEventListener("click",function(){return n.style.display="none",i.style.display="none",o.style.display="none",e.style.overflow="",document.getElementById("report_iframe").src="about:blank",!1}),show_report=function(t){var e=window.innerWidth,s=window.innerHeight,r=Math.round(.9*e);r>620&&(r=620);var a=Math.round(.9*s)-40;a>710&&(a=710);var l=Math.round((e-r)/2),c=Math.round((s-a+40)/2);i.style.left=l+"px",i.style.top=c+"px",i.style.width=r+"px",i.style.height=a+"px",n.style.left=parseInt(l+r-40)+"px",n.style.top=parseInt(c-40)+"px",n.style.display="block",o.style.display="block",i.style.display="block",document.getElementById("report_iframe").src=window.location.origin+t}}for(var s=0;s<u.length;s++)u[s].addEventListener("click",function(t){return show_report(this.getAttribute("data-href")),!1});var r={},a={},l=!1;function c(){if(1!=l){l=!0;var t=[];for(var e in r){var i=[e],o=[];for(var n in r[e]){var s=n.split(":");s.push(r[e][n][1]?1:0),o.push(s)}i.push(o),t.push(i)}t.length>0&&sendAJAXRequest("/click",function(t){console.log("Data Saved: "+t.responseText)},JSON.stringify({method:"click",params:[t],id:1}),!0)}}function h(){var t=this.watchItem,e=t.getAttribute("data-rotator"),i=t.getAttribute("data-id");this.isInViewport&&this.isFullyInViewport&&(e in r||(r[e]={}),i in r[e]?r[e][i][0]=!0:r[e][i]=[!0,!1])}this.register_re=function(t){if(!(t.getAttribute("data-id")in a)){var e=scrollMonitor.create(t);e.stateChange(h),h.call(e),a[t.getAttribute("data-id")]=!0,t.addEventListener("click",function(t){var e=this.getAttribute("data-rotator"),i=this.getAttribute("data-id");e in r||(r[e]={}),i in r[e]?r[e][i][1]=!0:r[e][i]=[!0,!0]})}},(u=document.querySelectorAll("[data-rotator]")).length>0&&(/iphone|ipod|ipad/.test(window.navigator.userAgent.toLowerCase())?window.addEventListener("pagehide",function(){c()}):window.addEventListener("beforeunload",function(){c()}));for(s=0;s<u.length;s++){var d=u[s];register_re(d)}var p=!1,u=document.querySelectorAll("[data-like], [data-dislike]");for(s=0;s<u.length;s++)u[s].addEventListener("click",function(t){var e={like:this.getAttribute("data-like"),video_id:this.getAttribute("data-video_id")};if(0==p){var i=0,o=document.querySelector("[data-rating-set]");if(null===o&&(o=null===(o=null==e.like?document.querySelector("[data-dislike-set]"):document.querySelector("[data-like-set]"))?this:o),isNaN(o.textContent)){var n=o.textContent.match(/\d+/);i=null===n?0:parseInt(n[0])}else i=parseInt(o.textContent);o.innerHTML=o.innerHTML.replace(/\d+/,i+1),p=!0,sendAJAXRequest("/like",function(t){console.log("Data Saved: "+t.responseText)},JSON.stringify({method:"like",params:[{type:null==e.like?-1:1,video_id:e.video_id}],id:2}));var s=new CustomEvent("video_liked",{detail:e});window.dispatchEvent(s)}});return this}();!function(t){t.matches=t.matches||t.mozMatchesSelector||t.msMatchesSelector||t.oMatchesSelector||t.webkitMatchesSelector,t.closest=t.closest||function(t){return this?this.matches(t)?this:this.parentElement?this.parentElement.closest(t):null:null}}(Element.prototype);
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.