var mod;mod=angular.module("infinite-scroll",[]),mod.value("THROTTLE_MILLISECONDS",null),mod.directive("infiniteScroll",["$rootScope","$window","$interval","THROTTLE_MILLISECONDS",function(n,t,i,r){return{scope:{infiniteScroll:"&",infiniteScrollContainer:"=",infiniteScrollDistance:"=",infiniteScrollDisabled:"=",infiniteScrollUseDocumentBottom:"=",infiniteScrollListenForEvent:"@"},link:function(u,f,e){var v,c,o,p,w,b,k,s,h,d,l,g,nt,y,rt,a,tt,it;return it=angular.element(t),nt=null,y=null,c=null,o=null,d=!0,tt=!1,a=null,h=function(n){return n=n[0]||n,isNaN(n.offsetHeight)?n.document.documentElement.clientHeight:n.offsetHeight},l=function(n){if(n[0].getBoundingClientRect&&!n.css("none"))return n[0].getBoundingClientRect().top+g(n)},g=function(n){return n=n[0]||n,isNaN(window.pageYOffset)?n.document.documentElement.scrollTop:n.ownerDocument.defaultView.pageYOffset},s=function(){var i,r,t,e,s;return o===it?(i=h(o)+g(o[0].document.documentElement),t=l(f)+h(f)):(i=h(o),r=0,void 0!==l(o)&&(r=l(o)),t=l(f)-r+h(f)),tt&&(t=h((f[0].ownerDocument||f[0].document).documentElement)),e=t-i,s=e<=h(o)*nt+1,s?(c=!0,y?u.$$phase||n.$$phase?u.infiniteScroll():u.$apply(u.infiniteScroll):void 0):c=!1},rt=function(n,t){var f,u,r;return r=null,u=0,f=function(){var t;return u=+new Date,i.cancel(r),r=null,n.call(),t=null},function(){var e,o;return e=+new Date,o=t-(e-u),0>=o?(clearTimeout(r),i.cancel(r),r=null,u=e,n.call()):r?void 0:r=i(f,o,1)}},null!=r&&(s=rt(s,r)),u.$on("$destroy",function(){return o.unbind("scroll",s),null!=a?(a(),a=null):void 0}),b=function(n){return nt=parseFloat(n)||0},u.$watch("infiniteScrollDistance",b),b(u.infiniteScrollDistance),w=function(n){return y=!n,y&&c?(c=!1,s()):void 0},u.$watch("infiniteScrollDisabled",w),w(u.infiniteScrollDisabled),k=function(n){return tt=n},u.$watch("infiniteScrollUseDocumentBottom",k),k(u.infiniteScrollUseDocumentBottom),v=function(n){return null!=o&&o.unbind("scroll",s),o=n,null!=n?o.bind("scroll",s):void 0},v(it),u.infiniteScrollListenForEvent&&(a=n.$on(u.infiniteScrollListenForEvent,s)),p=function(n){if(null!=n&&0!==n.length){if(n instanceof HTMLElement?n=angular.element(n):"function"==typeof n.append?n=angular.element(n[n.length-1]):"string"==typeof n&&(n=angular.element(document.querySelector(n))),null!=n)return v(n);throw new Exception("invalid infinite-scroll-container attribute.");}},u.$watch("infiniteScrollContainer",p),p(u.infiniteScrollContainer||[]),null!=e.infiniteScrollParent&&v(angular.element(f.parent())),null!=e.infiniteScrollImmediateCheck&&(d=u.$eval(e.infiniteScrollImmediateCheck)),i(function(){if(d)return s()},0,1)}}}])