1(function(){var $,ScrollTo 2$=window.jQuery||require('jquery') 3$.propHooks.scrollTop=$.propHooks.scrollLeft={get:function(elem,prop){var result=null 4if(elem.tagName==='HTML'||elem.tagName==='BODY'){if(prop==='scrollLeft'){result=window.scrollX} 5else if(prop==='scrollTop'){result=window.scrollY}} 6if(result==null){result=elem[prop]} 7return result}} 8$.Tween.propHooks.scrollTop=$.Tween.propHooks.scrollLeft={get:function(tween){return $.propHooks.scrollTop.get(tween.elem,tween.prop)},set:function(tween){if(tween.elem.tagName==='HTML'||tween.elem.tagName==='BODY'){tween.options.bodyScrollLeft=(tween.options.bodyScrollLeft||window.scrollX) 9tween.options.bodyScrollTop=(tween.options.bodyScrollTop||window.scrollY) 10if(tween.prop==='scrollLeft'){tween.options.bodyScrollLeft=Math.round(tween.now)} 11else if(tween.prop==='scrollTop'){tween.options.bodyScrollTop=Math.round(tween.now)} 12window.scrollTo(tween.options.bodyScrollLeft,tween.options.bodyScrollTop)} 13else if(tween.elem.nodeType&&tween.elem.parentNode){tween.elem[tween.prop]=tween.now}}} 14ScrollTo={config:{duration:400,easing:'swing',callback:null,durationMode:'each',offsetTop:0,offsetLeft:0},configure:function(options){$.extend(ScrollTo.config,options||{}) 15return this},scroll:function(collections,config){var collection,$container,$target,$inline,position,containerScrollTop,containerScrollLeft,containerScrollTopEnd,containerScrollLeftEnd,startOffsetTop,targetOffsetTop,targetOffsetTopAdjusted,startOffsetLeft,targetOffsetLeft,targetOffsetLeftAdjusted,scrollOptions,callback 16collection=collections.pop() 17$container=collection.$container 18$target=collection.$target 19$inline=$('<span/>').css({'position':'absolute','top':'0px','left':'0px'}) 20position=$container.css('position') 21$container.css({position:'relative'}) 22$inline.appendTo($container) 23startOffsetTop=$inline.offset().top 24targetOffsetTop=$target.offset().top 25targetOffsetTopAdjusted=targetOffsetTop-startOffsetTop-parseInt(config.offsetTop,10) 26startOffsetLeft=$inline.offset().left 27targetOffsetLeft=$target.offset().left 28targetOffsetLeftAdjusted=targetOffsetLeft-startOffsetLeft-parseInt(config.offsetLeft,10) 29containerScrollTop=$container.prop('scrollTop') 30containerScrollLeft=$container.prop('scrollLeft') 31$inline.remove() 32$container.css({position:position}) 33scrollOptions={} 34callback=function(){if(collections.length===0){if(typeof config.callback==='function'){config.callback()}} 35else{ScrollTo.scroll(collections,config)} 36return true} 37if(config.onlyIfOutside){containerScrollTopEnd=containerScrollTop+$container.height() 38containerScrollLeftEnd=containerScrollLeft+$container.width() 39if(containerScrollTop<targetOffsetTopAdjusted&&targetOffsetTopAdjusted<containerScrollTopEnd){targetOffsetTopAdjusted=containerScrollTop} 40if(containerScrollLeft<targetOffsetLeftAdjusted&&targetOffsetLeftAdjusted<containerScrollLeftEnd){targetOffsetLeftAdjusted=containerScrollLeft}} 41if(targetOffsetTopAdjusted!==containerScrollTop){scrollOptions.scrollTop=targetOffsetTopAdjusted} 42if(targetOffsetLeftAdjusted!==containerScrollLeft){scrollOptions.scrollLeft=targetOffsetLeftAdjusted} 43if($container.prop('scrollHeight')===$container.height()){delete scrollOptions.scrollTop} 44if($container.prop('scrollWidth')===$container.width()){delete scrollOptions.scrollLeft} 45if(scrollOptions.scrollTop!=null||scrollOptions.scrollLeft!=null){$container.animate(scrollOptions,{duration:config.duration,easing:config.easing,complete:callback})} 46else{callback()} 47return true},fn:function(options){var collections,config,$container,container 48collections=[] 49var $target=$(this) 50if($target.length===0){return this} 51config=$.extend({},ScrollTo.config,options) 52$container=$target.parent() 53container=$container.get(0) 54while(($container.length===1)&&(container!==document.body)&&(container!==document)){var containerScrollTop,containerScrollLeft 55containerScrollTop=$container.css('overflow-y')!=='visible'&&container.scrollHeight!==container.clientHeight 56containerScrollLeft=$container.css('overflow-x')!=='visible'&&container.scrollWidth!==container.clientWidth 57if(containerScrollTop||containerScrollLeft){collections.push({'$container':$container,'$target':$target}) 58$target=$container} 59$container=$container.parent() 60container=$container.get(0)} 61collections.push({'$container':$('html'),'$target':$target}) 62if(config.durationMode==='all'){config.duration/=collections.length} 63ScrollTo.scroll(collections,config) 64return this}} 65$.ScrollTo=$.ScrollTo||ScrollTo 66$.fn.ScrollTo=$.fn.ScrollTo||ScrollTo.fn 67return ScrollTo}).call(this)
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.