function pinTitle(){courseTitlePinned.addClass("pinned");courseTitle.next().css({"padding-top":courseTitlePinned.outerHeight()})}function unpinTitle(){courseTitlePinned.removeClass("pinned");courseTitle.next().css({"padding-top":"initial"})}function pinMenu(){courseMenuInner.addClass("pinned").css({top:courseTitlePinned.outerHeight()});courseMenu.next().css({"padding-top":courseMenuInner.outerHeight()})}function unpinMenu(){courseMenuInner.removeClass("pinned").css({top:"initial"});courseMenu.next().css({"padding-top":"initial"})}function getTotalFixedMenuHeight(){return courseTitlePinned.outerHeight()+courseMenuMobileBtn.outerHeight()}function checkTitlePosition(n){var t=n-courseTitle.offset().top;t>=0?pinTitle():unpinTitle()}function checkMenuPosition(n){var t=n-courseMenu.offset().top,i=t+courseTitlePinned.outerHeight();i>=0?pinMenu():unpinMenu()}function checkMenuLinksActive(n){$(".cp-container").find("[data-course-section]").each(function(){var u=getTotalFixedMenuHeight(),t=$(this),f=t.outerHeight(),i=t.data("course-section"),r=0-Math.floor(n-t.offset().top)-u;r<0&&r+f>0?(t.addClass("active"),courseMenuList.find('[data-scroll-to="'+i+'"]').addClass("active")):(t.removeClass("active"),courseMenuList.find('[data-scroll-to="'+i+'"]').removeClass("active"))})}function openMenu(){$(".course__menu__list--NEW ").addClass("open")}function closeMenu(){$(".course__menu__list--NEW ").removeClass("open")}function scrollToSection(n){var i=$("#"+n),t=0;t=n==="overview"?0:60;$("html, body").animate({scrollTop:i.offset().top-getTotalFixedMenuHeight()+t},200);closeMenu()}function setupWidgetDataAttributeBasedOnWindowSize(){var n=window.innerWidth?window.innerWidth:$(window).width();n<660?n<400?setWidgetDataOrientationAttribute("portrait"):setWidgetDataOrientationAttribute("responsive"):setWidgetDataOrientationAttribute("horizontal")}function setWidgetDataOrientationAttribute(n){switch(n){case"portrait":removeHorizontalClass();removeResponsiveClass();$(dUniWidget).addClass("vertical");break;case"responsive":removeHorizontalClass();removePortraitClass();$(dUniWidget).addClass("responsive");break;default:removeResponsiveClass();removePortraitClass();removeHorizontalClass();$(dUniWidget).addClass("horizontal")}}function removeHorizontalClass(){$(dUniWidget).hasClass("horizontal")&&$(dUniWidget).removeClass("horizontal")}function removePortraitClass(){$(dUniWidget).hasClass("vertical")&&$(dUniWidget).removeClass("vertical")}function removeResponsiveClass(){$(dUniWidget).hasClass("responsive")&&$(dUniWidget).removeClass("responsive")}function showFullModuleInfo(n){var t=$(n),i="#"+t.attr("aria-controls");t.attr("aria-expanded")==="false"?(t.attr("aria-expanded","true"),$(i).removeAttr("hidden"),$(i).toggleClass("open"),$(i).focus()):(t.attr("aria-expanded","false"),$(i).attr("hidden","hidden"),$(i).toggleClass("open"),t.focus())}function showFeesTable(n){function i(n){document.querySelectorAll(".how-to-apply-content").forEach(n=>{n.classList.remove("active")});document.querySelectorAll(`.show-for-${n}`).forEach(n=>{n.classList.add("active")})}var t=n.data("table-selector"),r=$(".course-fees__tables").find(".course-fees__table--"+t);$(".course-fees__table").removeClass("active");r.addClass("active");t==="uk-students"?i("uk"):t==="int-students"&&i("international")}function coursePageTabbedItemsTabSetup(){var t=$(".cp-list-tabbed"),n=$(".cp-list-tabbed__tab");t.length&&n.length&&$(n).each(function(){$(this).on("click",function(){showCoursePageTabbedItemsTab($(this))});$(this).on("keydown",function(n){var t=event.keyCode;switch(t){case keys.end:n.preventDefault();moveToCoursePageTabbedItemsLastTab($(this));break;case keys.home:n.preventDefault();moveToCoursePageTabbedItemsFirstTab($(this));break;case keys.up:case keys.down:n.preventDefault();determineTabListOrientation(event)}});$(this).on("keyup",function(n){var t=event.keyCode;switch(t){case keys.left:case keys.right:n.preventDefault();determineTabListOrientation($(this),n)}})})}function showCoursePageTabbedItemsTab(n){var r="#"+$(n).attr("aria-controls"),t,i;n.addClass("active");n.removeAttr("tabindex");n.attr("aria-selected","true");t=$(n);t.siblings(".cp-list-tabbed__tab").attr("aria-expanded","false");t.siblings(".cp-list-tabbed__tab").attr("tabindex","-1");t.siblings(".cp-list-tabbed__tab").removeClass("active");t.focus();i=$(r);i.addClass("active");i.removeAttr("hidden");i.siblings(".cp-list-tabbed__panel").attr("hidden");i.siblings(".cp-list-tabbed__panel").removeClass("active")}function moveToCoursePageTabbedItemsFirstTab(n){var t=n.siblings(".cp-list-tabbed__tab:first");showCoursePageTabbedItemsTab($(t))}function moveToCoursePageTabbedItemsLastTab(n){var t=n.siblings(".cp-list-tabbed__tab:last");showCoursePageTabbedItemsTab($(t))}function determineTabListOrientation(n,t){var u=$(n.attr("data-tablist")),i=t.keyCode,f=u.attr("aria-orientation")==="vertical",r=!1;f?(i===keys.up||i===keys.down)&&(r=!0):(i===keys.left||i===keys.right)&&(r=!0);r&&switchCoursePageTabbedItemsTab(n,t)}function switchCoursePageTabbedItemsTab(n,t){var i=t.keyCode,r,u;(i===keys.left||i===keys.up)&&(r=n.prev(),r!==undefined?($(r).focus(),showCoursePageTabbedItemsTab($(r))):moveToCoursePageTabbedItemsLastTab(n));(i===keys.right||i===keys.down)&&(u=n.next(),u!==undefined?($(u).focus(),showCoursePageTabbedItemsTab($(u))):moveToCoursePageTabbedItemsFirstTab(n))}var showMoreLink,currentWindowWidth,dUniWidget,initialiseDiscoverUniWidget,keys,direction,bcuCharts;!function(n){var t={mode:"horizontal",slideSelector:"",infiniteLoop:!0,hideControlOnEnd:!1,speed:500,easing:null,slideMargin:0,startSlide:0,randomStart:!1,captions:!1,ticker:!1,tickerHover:!1,adaptiveHeight:!1,adaptiveHeightSpeed:500,video:!1,useCSS:!0,preloadImages:"visible",responsive:!0,slideZIndex:50,wrapperClass:"bx-wrapper",touchEnabled:!0,swipeThreshold:50,oneToOneTouch:!0,preventDefaultSwipeX:!0,preventDefaultSwipeY:!1,ariaLive:!0,ariaHidden:!0,keyboardEnabled:!1,pager:!0,pagerType:"full",pagerShortSeparator:" / ",pagerSelector:null,buildPager:null,pagerCustom:null,controls:!0,nextText:"Next",prevText:"Prev",nextSelector:null,prevSelector:null,autoControls:!1,startText:"Start",stopText:"Stop",autoControlsCombine:!1,autoControlsSelector:null,auto:!1,pause:4e3,autoStart:!0,autoDirection:"next",stopAutoOnClick:!1,autoHover:!1,autoDelay:0,autoSlideForOnePage:!1,minSlides:1,maxSlides:1,moveSlides:0,slideWidth:0,shrinkItems:!1,onSliderLoad:function(){return!0},onSlideBefore:function(){return!0},onSlideAfter:function(){return!0},onSlideNext:function(){return!0},onSlidePrev:function(){return!0},onSliderResize:function(){return!0},onAutoChange:function(){return!0}};n.fn.bxSlider=function(r){if(0===this.length)return this;if(this.length>1)return this.each(function(){n(this).bxSlider(r)}),this;var u={},f=this,k=n(window).width(),d=n(window).height();if(!n(f).data("bxSlider")){var g=function(){n(f).data("bxSlider")||(u.settings=n.extend({},t,r),u.settings.slideWidth=parseInt(u.settings.slideWidth),u.children=f.children(u.settings.slideSelector),u.children.length1||u.settings.maxSlides>1,u.carousel&&(u.settings.preloadImages="all"),u.minThreshold=u.settings.minSlides*u.settings.slideWidth+(u.settings.minSlides-1)*u.settings.slideMargin,u.maxThreshold=u.settings.maxSlides*u.settings.slideWidth+(u.settings.maxSlides-1)*u.settings.slideMargin,u.working=!1,u.controls={},u.interval=null,u.animProp="vertical"===u.settings.mode?"top":"left",u.usingCSS=u.settings.useCSS&&"fade"!==u.settings.mode&&function(){for(var i=document.createElement("div"),t=["WebkitPerspective","MozPerspective","OPerspective","msPerspective"],n=0;n
<\/div><\/div>');u.viewport=f.parent();u.settings.ariaLive&&!u.settings.ticker&&u.viewport.attr("aria-live","polite");u.loader=n('
');u.viewport.prepend(u.loader);f.css({width:"horizontal"===u.settings.mode?1e3*u.children.length+215+"%":"auto",position:"relative"});u.usingCSS&&u.settings.easing?f.css("-"+u.cssPrefix+"-transition-timing-function",u.settings.easing):u.settings.easing||(u.settings.easing="swing");u.viewport.css({width:"100%",overflow:"hidden",position:"relative"});u.viewport.parent().css({maxWidth:yt()});u.children.css({float:"horizontal"===u.settings.mode?"left":"none",listStyle:"none",position:"relative"});u.children.css("width",tt());"horizontal"===u.settings.mode&&u.settings.slideMargin>0&&u.children.css("marginRight",u.settings.slideMargin);"vertical"===u.settings.mode&&u.settings.slideMargin>0&&u.children.css("marginBottom",u.settings.slideMargin);"fade"===u.settings.mode&&(u.children.css({position:"absolute",zIndex:0,display:"none"}),u.children.eq(u.settings.startSlide).css({zIndex:u.settings.slideZIndex,display:"block"}));u.controls.el=n('
');u.settings.captions&&kt();u.active.last=u.settings.startSlide===o()-1;u.settings.video&&f.fitVids();"none"===u.settings.preloadImages?t=null:("all"===u.settings.preloadImages||u.settings.ticker)&&(t=u.children);u.settings.ticker?u.settings.pager=!1:(u.settings.controls&&wt(),u.settings.auto&&u.settings.autoControls&&bt(),u.settings.pager&&pt(),(u.settings.controls||u.settings.autoControls||u.settings.pager)&&u.viewport.after(u.controls.el));null===t?nt():vt(t,nt)},vt=function(t,i){var r=t.find('img:not([src=""]), iframe').length,u=0;if(0===r)return void i();t.find('img:not([src=""]), iframe').each(function(){n(this).one("load error",function(){++u===r&&i()}).each(function(){(this.complete||""==this.src)&&n(this).trigger("load")})})},nt=function(){if(u.settings.infiniteLoop&&"fade"!==u.settings.mode&&!u.settings.ticker){var t="vertical"===u.settings.mode?u.settings.minSlides:u.settings.maxSlides,i=u.children.slice(0,t).clone(!0).addClass("bx-clone"),r=u.children.slice(-t).clone(!0).addClass("bx-clone");u.settings.ariaHidden&&(i.attr("aria-hidden",!0),r.attr("aria-hidden",!0));f.append(i).prepend(r)}u.loader.remove();it();"vertical"===u.settings.mode&&(u.settings.adaptiveHeight=!0);u.viewport.height(c());f.redrawSlider();u.settings.onSliderLoad.call(f,u.active.index);u.initialized=!0;u.settings.responsive&&n(window).on("resize",b);u.settings.auto&&u.settings.autoStart&&(o()>1||u.settings.autoSlideForOnePage)&&ti();u.settings.ticker&&ii();u.settings.pager&&v(u.settings.startSlide);u.settings.controls&&et();u.settings.touchEnabled&&!u.settings.ticker&&ui();u.settings.keyboardEnabled&&!u.settings.ticker&&n(document).keydown(ht)},c=function(){var r=0,t=n(),f;if("vertical"===u.settings.mode||u.settings.adaptiveHeight)if(u.carousel)for(f=1===u.settings.moveSlides?u.active.index:u.active.index*s(),t=u.children.eq(f),i=1;i<=u.settings.maxSlides-1;i++)t=f+i>=u.children.length?t.add(u.children.eq(i-1)):t.add(u.children.eq(f+i));else t=u.children.eq(u.active.index);else t=u.children;return"vertical"===u.settings.mode?(t.each(function(){r+=n(this).outerHeight()}),u.settings.slideMargin>0&&(r+=u.settings.slideMargin*(u.settings.minSlides-1))):r=Math.max.apply(Math,t.map(function(){return n(this).outerHeight(!1)}).get()),"border-box"===u.viewport.css("box-sizing")?r+=parseFloat(u.viewport.css("padding-top"))+parseFloat(u.viewport.css("padding-bottom"))+parseFloat(u.viewport.css("border-top-width"))+parseFloat(u.viewport.css("border-bottom-width")):"padding-box"===u.viewport.css("box-sizing")&&(r+=parseFloat(u.viewport.css("padding-top"))+parseFloat(u.viewport.css("padding-bottom"))),r},yt=function(){var n="100%";return u.settings.slideWidth>0&&(n="horizontal"===u.settings.mode?u.settings.maxSlides*u.settings.slideWidth+(u.settings.maxSlides-1)*u.settings.slideMargin:u.settings.slideWidth),n},tt=function(){var t=u.settings.slideWidth,n=u.viewport.width();if(0===u.settings.slideWidth||u.settings.slideWidth>n&&!u.carousel||"vertical"===u.settings.mode)t=n;else if(u.settings.maxSlides>1&&"horizontal"===u.settings.mode){if(n>u.maxThreshold)return t;n0?u.viewport.width()u.maxThreshold?n=u.settings.maxSlides:(t=u.children.first().width()+u.settings.slideMargin,n=Math.floor((u.viewport.width()+u.settings.slideMargin)/t)||1):"vertical"===u.settings.mode&&(n=u.settings.minSlides),n},o=function(){var n=0,i=0,t=0;if(u.settings.moveSlides>0){if(!u.settings.infiniteLoop){for(;i0&&u.settings.moveSlides<=h()?u.settings.moveSlides:h()},it=function(){var n,t,i;u.children.length>u.settings.maxSlides&&u.active.last&&!u.settings.infiniteLoop?"horizontal"===u.settings.mode?(t=u.children.last(),n=t.position(),e(-(n.left-(u.viewport.width()-t.outerWidth())),"reset",0)):"vertical"===u.settings.mode&&(i=u.children.length-u.settings.minSlides,n=u.children.eq(i).position(),e(-n.top,"reset",0)):(n=u.children.eq(u.active.index*s()).position(),u.active.index===o()-1&&(u.active.last=!0),void 0!==n&&("horizontal"===u.settings.mode?e(-n.left,"reset",0):"vertical"===u.settings.mode&&e(-n.top,"reset",0)))},e=function(t,i,r,o){var s,h;u.usingCSS?(h="vertical"===u.settings.mode?"translate3d(0, "+t+"px, 0)":"translate3d("+t+"px, 0, 0)",f.css("-"+u.cssPrefix+"-transition-duration",r/1e3+"s"),"slide"===i?(f.css(u.animProp,h),0!==r?f.on("transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd",function(t){n(t.target).is(f)&&(f.off("transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd"),a())}):a()):"reset"===i?f.css(u.animProp,h):"ticker"===i&&(f.css("-"+u.cssPrefix+"-transition-timing-function","linear"),f.css(u.animProp,h),0!==r?f.on("transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd",function(t){n(t.target).is(f)&&(f.off("transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd"),e(o.resetValue,"reset",0),l())}):(e(o.resetValue,"reset",0),l()))):(s={},s[u.animProp]=t,"slide"===i?f.animate(s,r,u.settings.easing,function(){a()}):"reset"===i?f.css(u.animProp,t):"ticker"===i&&f.animate(s,r,"linear",function(){e(o.resetValue,"reset",0);l()}))},rt=function(){for(var r="",i="",f=o(),t=0;t'+i+"<\/a><\/div>";u.pagerEl.html(r)},pt=function(){u.settings.pagerCustom?u.pagerEl=n(u.settings.pagerCustom):(u.pagerEl=n('
'),u.settings.pagerSelector?n(u.settings.pagerSelector).html(u.pagerEl):u.controls.el.addClass("bx-has-pager").append(u.pagerEl),rt());u.pagerEl.on("click touchend","a",ni)},wt=function(){u.controls.next=n(''+u.settings.nextText+"<\/a>");u.controls.prev=n(''+u.settings.prevText+"<\/a>");u.controls.next.on("click touchend",ut);u.controls.prev.on("click touchend",ft);u.settings.nextSelector&&n(u.settings.nextSelector).append(u.controls.next);u.settings.prevSelector&&n(u.settings.prevSelector).append(u.controls.prev);u.settings.nextSelector||u.settings.prevSelector||(u.controls.directionEl=n('
'),u.controls.directionEl.append(u.controls.prev).append(u.controls.next),u.controls.el.addClass("bx-has-controls-direction").append(u.controls.directionEl))},bt=function(){u.controls.start=n('
'+u.settings.startText+"<\/a><\/div>");u.controls.stop=n('
'+u.settings.stopText+"<\/a><\/div>");u.controls.autoEl=n('
');u.controls.autoEl.on("click",".bx-start",dt);u.controls.autoEl.on("click",".bx-stop",gt);u.settings.autoControlsCombine?u.controls.autoEl.append(u.controls.start):u.controls.autoEl.append(u.controls.start).append(u.controls.stop);u.settings.autoControlsSelector?n(u.settings.autoControlsSelector).html(u.controls.autoEl):u.controls.el.addClass("bx-has-controls-auto").append(u.controls.autoEl);y(u.settings.autoStart?"stop":"start")},kt=function(){u.children.each(function(){var t=n(this).find("img:first").attr("title");void 0!==t&&(""+t).length&&n(this).append('
'+t+"<\/span><\/div>")})},ut=function(n){n.preventDefault();u.controls.el.hasClass("disabled")||(u.settings.auto&&u.settings.stopAutoOnClick&&f.stopAuto(),f.goToNextSlide())},ft=function(n){n.preventDefault();u.controls.el.hasClass("disabled")||(u.settings.auto&&u.settings.stopAutoOnClick&&f.stopAuto(),f.goToPrevSlide())},dt=function(n){f.startAuto();n.preventDefault()},gt=function(n){f.stopAuto();n.preventDefault()},ni=function(t){var i,r;t.preventDefault();u.controls.el.hasClass("disabled")||(u.settings.auto&&u.settings.stopAutoOnClick&&f.stopAuto(),i=n(t.currentTarget),void 0!==i.attr("data-slide-index")&&(r=parseInt(i.attr("data-slide-index")))!==u.active.index&&f.goToSlide(r))},v=function(t){var i=u.children.length;if("short"===u.settings.pagerType)return u.settings.maxSlides>1&&(i=Math.ceil(u.children.length/u.settings.maxSlides)),void u.pagerEl.html(t+1+u.settings.pagerShortSeparator+i);u.pagerEl.find("a").removeClass("active");u.pagerEl.each(function(i,r){n(r).find("a").eq(t).addClass("active")})},a=function(){if(u.settings.infiniteLoop){var n="";0===u.active.index?n=u.children.eq(0).position():u.active.index===o()-1&&u.carousel?n=u.children.eq((o()-1)*s()).position():u.active.index===u.children.length-1&&(n=u.children.eq(u.children.length-1).position());n&&("horizontal"===u.settings.mode?e(-n.left,"reset",0):"vertical"===u.settings.mode&&e(-n.top,"reset",0))}u.working=!1;u.settings.onSlideAfter.call(f,u.children.eq(u.active.index),u.oldIndex,u.active.index)},y=function(n){u.settings.autoControlsCombine?u.controls.autoEl.html(u.controls[n]):(u.controls.autoEl.find("a").removeClass("active"),u.controls.autoEl.find("a:not(.bx-"+n+")").addClass("active"))},et=function(){1===o()?(u.controls.prev.addClass("disabled"),u.controls.next.addClass("disabled")):!u.settings.infiniteLoop&&u.settings.hideControlOnEnd&&(0===u.active.index?(u.controls.prev.addClass("disabled"),u.controls.next.removeClass("disabled")):u.active.index===o()-1?(u.controls.next.addClass("disabled"),u.controls.prev.removeClass("disabled")):(u.controls.prev.removeClass("disabled"),u.controls.next.removeClass("disabled")))},ot=function(){f.startAuto()},st=function(){f.stopAuto()},ti=function(){u.settings.autoDelay>0?setTimeout(f.startAuto,u.settings.autoDelay):(f.startAuto(),n(window).focus(ot).blur(st));u.settings.autoHover&&f.hover(function(){u.interval&&(f.stopAuto(!0),u.autoPaused=!0)},function(){u.autoPaused&&(f.startAuto(!0),u.autoPaused=null)})},ii=function(){var o,c,s,a,i,h,r,t,v=0;"next"===u.settings.autoDirection?f.append(u.children.clone().addClass("bx-clone")):(f.prepend(u.children.clone().addClass("bx-clone")),o=u.children.first().position(),v="horizontal"===u.settings.mode?-o.left:-o.top);e(v,"reset",0);u.settings.pager=!1;u.settings.controls=!1;u.settings.autoControls=!1;u.settings.tickerHover&&(u.usingCSS?(a="horizontal"===u.settings.mode?4:5,u.viewport.hover(function(){c=f.css("-"+u.cssPrefix+"-transform");s=parseFloat(c.split(",")[a]);e(s,"reset",0)},function(){t=0;u.children.each(function(){t+="horizontal"===u.settings.mode?n(this).outerWidth(!0):n(this).outerHeight(!0)});i=u.settings.speed/t;h="horizontal"===u.settings.mode?"left":"top";r=i*(t-Math.abs(parseInt(s)));l(r)})):u.viewport.hover(function(){f.stop()},function(){t=0;u.children.each(function(){t+="horizontal"===u.settings.mode?n(this).outerWidth(!0):n(this).outerHeight(!0)});i=u.settings.speed/t;h="horizontal"===u.settings.mode?"left":"top";r=i*(t-Math.abs(parseInt(f.css(h))));l(r)}));l()},l=function(n){var r,o,s,h=n||u.settings.speed,t={left:0,top:0},i={left:0,top:0};"next"===u.settings.autoDirection?t=f.find(".bx-clone").first().position():i=u.children.first().position();r="horizontal"===u.settings.mode?-t.left:-t.top;o="horizontal"===u.settings.mode?-i.left:-i.top;s={resetValue:o};e(r,"ticker",h,s)},ri=function(t){var u=n(window),i={top:u.scrollTop(),left:u.scrollLeft()},r=t.offset();return i.right=i.left+u.width(),i.bottom=i.top+u.height(),r.right=r.left+t.outerWidth(),r.bottom=r.top+t.outerHeight(),!(i.rightr.right||i.bottomr.bottom)},ht=function(n){var t=document.activeElement.tagName.toLowerCase();if(null==new RegExp(t,["i"]).exec("input|textarea")&&ri(f)){if(39===n.keyCode)return ut(n),!1;if(37===n.keyCode)return ft(n),!1}},ui=function(){u.touch={start:{x:0,y:0},end:{x:0,y:0}};u.viewport.on("touchstart MSPointerDown pointerdown",fi);u.viewport.on("click",".bxslider a",function(n){u.viewport.hasClass("click-disabled")&&(n.preventDefault(),u.viewport.removeClass("click-disabled"))})},fi=function(n){if("touchstart"===n.type||0===n.button)if(n.preventDefault(),u.controls.el.addClass("disabled"),u.working)u.controls.el.removeClass("disabled");else{u.touch.originalPos=f.position();var t=n.originalEvent,i=void 0!==t.changedTouches?t.changedTouches:[t],r="function"==typeof PointerEvent;if(r&&void 0===t.pointerId)return;u.touch.start.x=i[0].pageX;u.touch.start.y=i[0].pageY;u.viewport.get(0).setPointerCapture&&(u.pointerId=t.pointerId,u.viewport.get(0).setPointerCapture(u.pointerId));u.originalClickTarget=t.originalTarget||t.target;u.originalClickButton=t.button;u.originalClickButtons=t.buttons;u.originalEventType=t.type;u.hasMove=!1;u.viewport.on("touchmove MSPointerMove pointermove",p);u.viewport.on("touchend MSPointerUp pointerup",w);u.viewport.on("MSPointerCancel pointercancel",ct)}},ct=function(n){n.preventDefault();e(u.touch.originalPos.left,"reset",0);u.controls.el.removeClass("disabled");u.viewport.off("MSPointerCancel pointercancel",ct);u.viewport.off("touchmove MSPointerMove pointermove",p);u.viewport.off("touchend MSPointerUp pointerup",w);u.viewport.get(0).releasePointerCapture&&u.viewport.get(0).releasePointerCapture(u.pointerId)},p=function(n){var r=n.originalEvent,t=void 0!==r.changedTouches?r.changedTouches:[r],o=Math.abs(t[0].pageX-u.touch.start.x),s=Math.abs(t[0].pageY-u.touch.start.y),f=0,i=0;u.hasMove=!0;3*o>s&&u.settings.preventDefaultSwipeX?n.preventDefault():3*s>o&&u.settings.preventDefaultSwipeY&&n.preventDefault();"touchmove"!==n.type&&n.preventDefault();"fade"!==u.settings.mode&&u.settings.oneToOneTouch&&("horizontal"===u.settings.mode?(i=t[0].pageX-u.touch.start.x,f=u.touch.originalPos.left+i):(i=t[0].pageY-u.touch.start.y,f=u.touch.originalPos.top+i),e(f,"reset",0))},w=function(t){t.preventDefault();u.viewport.off("touchmove MSPointerMove pointermove",p);u.controls.el.removeClass("disabled");var o=t.originalEvent,s=void 0!==o.changedTouches?o.changedTouches:[o],r=0,i=0;u.touch.end.x=s[0].pageX;u.touch.end.y=s[0].pageY;"fade"===u.settings.mode?(i=Math.abs(u.touch.start.x-u.touch.end.x))>=u.settings.swipeThreshold&&(u.touch.start.x>u.touch.end.x?f.goToNextSlide():f.goToPrevSlide(),f.stopAuto()):("horizontal"===u.settings.mode?(i=u.touch.end.x-u.touch.start.x,r=u.touch.originalPos.left):(i=u.touch.end.y-u.touch.start.y,r=u.touch.originalPos.top),!u.settings.infiniteLoop&&(0===u.active.index&&i>0||u.active.last&&i<0)?e(r,"reset",200):Math.abs(i)>=u.settings.swipeThreshold?(i<0?f.goToNextSlide():f.goToPrevSlide(),f.stopAuto()):e(r,"reset",200));u.viewport.off("touchend MSPointerUp pointerup",w);u.viewport.get(0).releasePointerCapture&&u.viewport.get(0).releasePointerCapture(u.pointerId);!1!==u.hasMove||0!==u.originalClickButton&&"touchstart"!==u.originalEventType||n(u.originalClickTarget).trigger({type:"click",button:u.originalClickButton,buttons:u.originalClickButtons})},b=function(){if(u.initialized)if(u.working)window.setTimeout(b,10);else{var t=n(window).width(),i=n(window).height();k===t&&d===i||(k=t,d=i,f.redrawSlider(),u.settings.onSliderResize.call(f,u.active.index))}},lt=function(n){var t=h();u.settings.ariaHidden&&!u.settings.ticker&&(u.children.attr("aria-hidden","true"),u.children.slice(n,n+t).attr("aria-hidden","false"))},ei=function(n){return n<0?u.settings.infiniteLoop?o()-1:u.active.index:n>=o()?u.settings.infiniteLoop?0:u.active.index:n};return f.goToSlide=function(t,i){var y,p,w,b,l=!0,k=0,r={left:0,top:0},h=null;if(u.oldIndex=u.active.index,u.active.index=ei(t),!u.working&&u.active.index!==u.oldIndex){if(u.working=!0,void 0!==(l=u.settings.onSlideBefore.call(f,u.children.eq(u.active.index),u.oldIndex,u.active.index))&&!l)return u.active.index=u.oldIndex,void(u.working=!1);"next"===i?u.settings.onSlideNext.call(f,u.children.eq(u.active.index),u.oldIndex,u.active.index)||(l=!1):"prev"===i&&(u.settings.onSlidePrev.call(f,u.children.eq(u.active.index),u.oldIndex,u.active.index)||(l=!1));u.active.last=u.active.index>=o()-1;(u.settings.pager||u.settings.pagerCustom)&&v(u.active.index);u.settings.controls&&et();"fade"===u.settings.mode?(u.settings.adaptiveHeight&&u.viewport.height()!==c()&&u.viewport.animate({height:c()},u.settings.adaptiveHeightSpeed),u.children.filter(":visible").fadeOut(u.settings.speed).css({zIndex:0}),u.children.eq(u.active.index).css("zIndex",u.settings.slideZIndex+1).fadeIn(u.settings.speed,function(){n(this).css("zIndex",u.settings.slideZIndex);a()})):(u.settings.adaptiveHeight&&u.viewport.height()!==c()&&u.viewport.animate({height:c()},u.settings.adaptiveHeightSpeed),!u.settings.infiniteLoop&&u.carousel&&u.active.last?"horizontal"===u.settings.mode?(h=u.children.eq(u.children.length-1),r=h.position(),k=u.viewport.width()-h.outerWidth()):(y=u.children.length-u.settings.minSlides,r=u.children.eq(y).position()):u.carousel&&u.active.last&&"prev"===i?(p=1===u.settings.moveSlides?u.settings.maxSlides-s():(o()-1)*s()-(u.children.length-u.settings.maxSlides),h=f.children(".bx-clone").eq(p),r=h.position()):"next"===i&&0===u.active.index?(r=f.find("> .bx-clone").eq(u.settings.maxSlides).position(),u.active.last=!1):t>=0&&(b=t*parseInt(s()),r=u.children.eq(b).position()),void 0!==r&&(w="horizontal"===u.settings.mode?-(r.left-k):-r.top,e(w,"slide",u.settings.speed)),u.working=!1);u.settings.ariaHidden&<(u.active.index*s())}},f.goToNextSlide=function(){if((u.settings.infiniteLoop||!u.active.last)&&!0!==u.working){var n=parseInt(u.active.index)+1;f.goToSlide(n,"next")}},f.goToPrevSlide=function(){if((u.settings.infiniteLoop||0!==u.active.index)&&!0!==u.working){var n=parseInt(u.active.index)-1;f.goToSlide(n,"prev")}},f.startAuto=function(n){u.interval||(u.interval=setInterval(function(){"next"===u.settings.autoDirection?f.goToNextSlide():f.goToPrevSlide()},u.settings.pause),u.settings.onAutoChange.call(f,!0),u.settings.autoControls&&!0!==n&&y("stop"))},f.stopAuto=function(n){u.autoPaused&&(u.autoPaused=!1);u.interval&&(clearInterval(u.interval),u.interval=null,u.settings.onAutoChange.call(f,!1),u.settings.autoControls&&!0!==n&&y("start"))},f.getCurrentSlide=function(){return u.active.index},f.getCurrentSlideElement=function(){return u.children.eq(u.active.index)},f.getSlideElement=function(n){return u.children.eq(n)},f.getSlideCount=function(){return u.children.length},f.isWorking=function(){return u.working},f.redrawSlider=function(){u.children.add(f.find(".bx-clone")).outerWidth(tt());u.viewport.css("height",c());u.settings.ticker||it();u.active.last&&(u.active.index=o()-1);u.active.index>=o()&&(u.active.last=!0);u.settings.pager&&!u.settings.pagerCustom&&(rt(),v(u.active.index));u.settings.ariaHidden&<(u.active.index*s())},f.destroySlider=function(){u.initialized&&(u.initialized=!1,n(".bx-clone",this).remove(),u.children.each(function(){void 0!==n(this).data("origStyle")?n(this).attr("style",n(this).data("origStyle")):n(this).removeAttr("style")}),void 0!==n(this).data("origStyle")?this.attr("style",n(this).data("origStyle")):n(this).removeAttr("style"),n(this).unwrap().unwrap(),u.controls.el&&u.controls.el.remove(),u.controls.next&&u.controls.next.remove(),u.controls.prev&&u.controls.prev.remove(),u.pagerEl&&u.settings.controls&&!u.settings.pagerCustom&&u.pagerEl.remove(),n(".bx-caption",this).remove(),u.controls.autoEl&&u.controls.autoEl.remove(),clearInterval(u.interval),u.settings.responsive&&n(window).off("resize",b),u.settings.keyboardEnabled&&n(document).off("keydown",ht),n(this).removeData("bxSlider"),n(window).off("blur",st).off("focus",ot))},f.reloadSlider=function(t){void 0!==t&&(r=t);f.destroySlider();g();n(f).data("bxSlider",this)},g(),n(f).data("bxSlider",this),this}}}(jQuery),function(n){"use strict";n.fn.tableToJSON=function(t){t=n.extend({ignoreColumns:[],onlyColumns:null,ignoreHiddenRows:!0,ignoreEmptyRows:!1,headings:null,allowHTML:!1,includeRowId:!1,textDataOverride:"data-override",textExtractor:null},t);var i=function(n){return n!==undefined&&n!==null},u=function(r){return i(t.onlyColumns)?n.inArray(r,t.onlyColumns)===-1:n.inArray(r,t.ignoreColumns)!==-1},f=function(t,r){var f={},u=0;return n.each(r,function(n,r){u0||i(t.headings))&&(e=t.includeRowId,o=typeof e=="boolean"?e:typeof e=="string"?!0:!1,v=n(f),w=v.find("td").length===v.find("td:empty").length?!0:!1,!v.is(":visible")&&t.ignoreHiddenRows||w&&t.ignoreEmptyRows||v.data("ignore")&&v.data("ignore")!=="false"||(s=0,h[u]||(h[u]=[]),o&&(s=s+1,typeof v.attr("id")!="undefined"?h[u].push(v.attr("id")):h[u].push("")),v.children().each(function(){if(a=n(this),a.filter("[rowspan]").length)for(p=parseInt(a.attr("rowspan"),10)-1,l=r(s,a),c=1;c<=p;c++)h[u+c]||(h[u+c]=[]),h[u+c][s]=l;if(a.filter("[colspan]").length)for(p=parseInt(a.attr("colspan"),10)-1,l=r(s,a),c=1;c<=p;c++)if(a.filter("[rowspan]").length)for(b=parseInt(a.attr("rowspan"),10),y=0;y",scaleIntegersOnly:!0,scaleBeginAtZero:!1,scaleFontFamily:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",scaleFontSize:12,scaleFontStyle:"normal",scaleFontColor:"#666",responsive:!1,maintainAspectRatio:!0,showTooltips:!0,customTooltips:!1,tooltipEvents:["mousemove","touchstart","touchmove","mouseout"],tooltipFillColor:"rgba(0,0,0,0.8)",tooltipFontFamily:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",tooltipFontSize:14,tooltipFontStyle:"normal",tooltipFontColor:"#fff",tooltipTitleFontFamily:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",tooltipTitleFontSize:14,tooltipTitleFontStyle:"bold",tooltipTitleFontColor:"#fff",tooltipYPadding:6,tooltipXPadding:6,tooltipCaretSize:8,tooltipCornerRadius:6,tooltipXOffset:10,tooltipTemplate:"<%if (label){%><%=label%>: <%}%><%= value %>",multiTooltipTemplate:"<%= value %>",multiTooltipKeyBackground:"#fff",onAnimationProgress:function(){},onAnimationComplete:function(){}}};t.types={};var n=t.helpers={},i=n.each=function(n,t,i){var f=Array.prototype.slice.call(arguments,3),r,u;if(n)if(n.length===+n.length)for(r=0;r=0;r--)if(u=n[r],t(u))return u},p=n.inherits=function(n){var i=this,t=n&&n.hasOwnProperty("constructor")?n.constructor:function(){return i.apply(this,arguments)},u=function(){this.constructor=t};return u.prototype=i.prototype,t.prototype=new u,t.extend=p,n&&r(t.prototype,n),t.__super__=i.prototype,t},a=n.noop=function(){},it=n.uid=function(){var n=0;return function(){return"chart-"+n++}}(),rt=n.warn=function(n){window.console&&typeof window.console.warn=="function"&&console.warn(n)},ut=n.amd=typeof define=="function"&&define.amd,u=n.isNumber=function(n){return!isNaN(parseFloat(n))&&isFinite(n)},h=n.max=function(n){return Math.max.apply(Math,n)},o=n.min=function(n){return Math.min.apply(Math,n)},bt=n.cap=function(n,t,i){if(u(t)){if(n>t)return t}else if(u(i)&&n=v,c=h(n),l=o(n);c===l&&(c+=.5,l>=.5&&!r?l-=.5:c+=.5);for(var b=Math.abs(c-l),s=ft(b),k=Math.ceil(c/(1*Math.pow(10,s)))*Math.pow(10,s),p=r?0:Math.floor(l/(1*Math.pow(10,s)))*Math.pow(10,s),a=k-p,f=Math.pow(10,s),e=Math.round(a/f);(e>v||e*2v)f*=2,e=Math.round(a/f),e%1!=0&&(y=!0);else if(u&&s>=0)if(f/2%1==0)f/=2,e=Math.round(a/f);else break;else f/=2,e=Math.round(a/f);return y&&(e=w,f=a/e),{steps:e,stepValue:f,min:p,max:p+e*f}},f=n.template=function(n,t){function r(n,t){var r=/\W/.test(n)?new Function("obj","var p=[],print=function(){p.push.apply(p,arguments);};with(obj){p.push('"+n.replace(/[\r\t\n]/g," ").split("<%").join("\t").replace(/((^|%>)[^\t]*)'/g,"$1\r").replace(/\t=(.*?)%>/g,"',$1,'").split("\t").join("');").split("%>").join("p.push('").split("\r").join("\\'")+"');}return p.join('');"):i[n]=i[n];return t?r(t):r}if(n instanceof Function)return n(t);var i={};return r(n,t)},ni=n.generateLabels=function(n,t,r,u){var e=new Array(t);return labelTemplateString&&i(e,function(t,i){e[i]=f(n,{value:r+u*(i+1)})}),e},s=n.easingEffects={linear:function(n){return n},easeInQuad:function(n){return n*n},easeOutQuad:function(n){return-1*n*(n-2)},easeInOutQuad:function(n){return(n/=1/2)<1?1/2*n*n:-1/2*(--n*(n-2)-1)},easeInCubic:function(n){return n*n*n},easeOutCubic:function(n){return 1*((n=n/1-1)*n*n+1)},easeInOutCubic:function(n){return(n/=1/2)<1?1/2*n*n*n:1/2*((n-=2)*n*n+2)},easeInQuart:function(n){return n*n*n*n},easeOutQuart:function(n){return-1*((n=n/1-1)*n*n*n-1)},easeInOutQuart:function(n){return(n/=1/2)<1?1/2*n*n*n*n:-1/2*((n-=2)*n*n*n-2)},easeInQuint:function(n){return 1*(n/=1)*n*n*n*n},easeOutQuint:function(n){return 1*((n=n/1-1)*n*n*n*n+1)},easeInOutQuint:function(n){return(n/=1/2)<1?1/2*n*n*n*n*n:1/2*((n-=2)*n*n*n*n+2)},easeInSine:function(n){return-1*Math.cos(n/1*(Math.PI/2))+1},easeOutSine:function(n){return 1*Math.sin(n/1*(Math.PI/2))},easeInOutSine:function(n){return-1/2*(Math.cos(Math.PI*n/1)-1)},easeInExpo:function(n){return n===0?1:1*Math.pow(2,10*(n/1-1))},easeOutExpo:function(n){return n===1?1:1*(-Math.pow(2,-10*n)+1)},easeInOutExpo:function(n){return n===0?0:n===1?1:(n/=1/2)<1?1/2*Math.pow(2,10*(n-1)):1/2*(-Math.pow(2,-10*--n)+2)},easeInCirc:function(n){return n>=1?n:-1*(Math.sqrt(1-(n/=1)*n)-1)},easeOutCirc:function(n){return 1*Math.sqrt(1-(n=n/1-1)*n)},easeInOutCirc:function(n){return(n/=1/2)<1?-1/2*(Math.sqrt(1-n*n)-1):1/2*(Math.sqrt(1-(n-=2)*n)+1)},easeInElastic:function(n){var r=1.70158,t=0,i=1;return n===0?0:(n/=1)==1?1:(t||(t=1*.3),iu?i:u}),u},d=n.drawRoundedRectangle=function(n,t,i,r,u,f){n.beginPath();n.moveTo(t+f,i);n.lineTo(t+r-f,i);n.quadraticCurveTo(t+r,i,t+r,i+f);n.lineTo(t+r,i+u-f);n.quadraticCurveTo(t+r,i+u,t+r-f,i+u);n.lineTo(t+f,i+u);n.quadraticCurveTo(t,i+u,t,i+u-f);n.lineTo(t,i+f);n.quadraticCurveTo(t,i,t+f,i);n.closePath()};t.instances={};t.Type=function(n,i,r){this.options=i;this.chart=r;this.id=it();t.instances[this.id]=this;i.responsive&&this.resize();this.initialize.call(this,n)};r(t.Type.prototype,{initialize:function(){return this},clear:function(){return vt(this.chart),this},stop:function(){return et(this.animationFrame),this},resize:function(n){this.stop();var t=this.chart.canvas,i=ct(this.chart.canvas),r=this.options.maintainAspectRatio?i/this.chart.aspectRatio:lt(this.chart.canvas);return t.width=this.chart.width=i,t.height=this.chart.height=r,at(this.chart),typeof n=="function"&&n.apply(this,Array.prototype.slice.call(arguments,1)),this},reflow:a,render:function(t){return t&&this.reflow(),this.options.animation&&!t?n.animationLoop(this.draw,this.options.animationSteps,this.options.animationEasing,this.options.onAnimationProgress,this.options.onAnimationComplete,this):(this.draw(),this.options.onAnimationComplete.call(this)),this},generateLegend:function(){return f(this.options.legendTemplate,this)},destroy:function(){this.clear();ht(this,this.events);var n=this.chart.canvas;n.width=this.chart.width;n.height=this.chart.height;n.style.removeProperty?(n.style.removeProperty("width"),n.style.removeProperty("height")):(n.style.removeAttribute("width"),n.style.removeAttribute("height"));delete t.instances[this.id]},showTooltip:function(r,u){var c,l,e,s;if(typeof this.activeElements=="undefined"&&(this.activeElements=[]),c=function(n){var t=!1;return n.length!==this.activeElements.length?t=!0:(i(n,function(n,i){n!==this.activeElements[i]&&(t=!0)},this),t)}.call(this,r),c||u)this.activeElements=r;else return;if(this.draw(),this.options.customTooltips&&this.options.customTooltips(!1),r.length>0)if(this.datasets&&this.datasets.length>1){for(s=this.datasets.length-1;s>=0;s--)if(l=this.datasets[s].points||this.datasets[s].bars||this.datasets[s].segments,e=tt(l,r[0]),e!==-1)break;var a=[],v=[],y=function(){var f=[],t,i=[],r=[],s,c,u,l;return n.each(this.datasets,function(n){t=n.points||n.bars||n.segments;t[e]&&t[e].hasValue()&&f.push(t[e])}),n.each(f,function(t){i.push(t.x);r.push(t.y);a.push(n.template(this.options.multiTooltipTemplate,t));v.push({fill:t._saved.fillColor||t.fillColor,stroke:t._saved.strokeColor||t.strokeColor})},this),l=o(r),c=h(r),u=o(i),s=h(i),{x:u>this.chart.width/2?u:s,y:(l+c)/2}}.call(this,e);new t.MultiTooltip({x:y.x,y:y.y,xPadding:this.options.tooltipXPadding,yPadding:this.options.tooltipYPadding,xOffset:this.options.tooltipXOffset,fillColor:this.options.tooltipFillColor,textColor:this.options.tooltipFontColor,fontFamily:this.options.tooltipFontFamily,fontStyle:this.options.tooltipFontStyle,fontSize:this.options.tooltipFontSize,titleTextColor:this.options.tooltipTitleFontColor,titleFontFamily:this.options.tooltipTitleFontFamily,titleFontStyle:this.options.tooltipTitleFontStyle,titleFontSize:this.options.tooltipTitleFontSize,cornerRadius:this.options.tooltipCornerRadius,labels:a,legendColors:v,legendColorBackground:this.options.multiTooltipKeyBackground,title:r[0].label,chart:this.chart,ctx:this.chart.ctx,custom:this.options.customTooltips}).draw()}else i(r,function(n){var i=n.tooltipPosition();new t.Tooltip({x:Math.round(i.x),y:Math.round(i.y),xPadding:this.options.tooltipXPadding,yPadding:this.options.tooltipYPadding,fillColor:this.options.tooltipFillColor,textColor:this.options.tooltipFontColor,fontFamily:this.options.tooltipFontFamily,fontStyle:this.options.tooltipFontStyle,fontSize:this.options.tooltipFontSize,caretHeight:this.options.tooltipCaretSize,cornerRadius:this.options.tooltipCornerRadius,text:f(this.options.tooltipTemplate,n),chart:this.chart,custom:this.options.customTooltips}).draw()},this);return this},toBase64Image:function(){return this.chart.canvas.toDataURL.apply(this.chart.canvas,arguments)}});t.Type.extend=function(n){var i=this,u=function(){return i.apply(this,arguments)},f,e;return u.prototype=l(i.prototype),r(u.prototype,n),u.extend=t.Type.extend,n.name||i.prototype.name?(f=n.name||i.prototype.name,e=t.defaults[i.prototype.name]?l(t.defaults[i.prototype.name]):{},t.defaults[f]=r(e,n.defaults),t.types[f]=u,t.prototype[f]=function(n,i){var r=nt(t.defaults.global,t.defaults[f],i||{});return new u(n,r,this)}):rt("Name not provided for this chart, so it hasn't been registered"),i};t.Element=function(n){r(this,n);this.initialize.apply(this,arguments);this.save()};r(t.Element.prototype,{initialize:function(){},restore:function(n){return n?i(n,function(n){this[n]=this._saved[n]},this):r(this,this._saved),this},save:function(){return this._saved=l(this),delete this._saved._saved,this},update:function(n){return i(n,function(n,t){this._saved[t]=this[t];this[t]=n},this),this},transition:function(n,t){return i(n,function(n,i){this[i]=(n-this._saved[i])*t+this._saved[i]},this),this},tooltipPosition:function(){return{x:this.x,y:this.y}},hasValue:function(){return u(this.value)}});t.Element.extend=p;t.Point=t.Element.extend({display:!0,inRange:function(n,t){var i=this.hitDetectionRadius+this.radius;return Math.pow(n-this.x,2)+Math.pow(t-this.y,2)=this.startAngle&&r.angle<=this.endAngle,f=r.distance>=this.innerRadius&&r.distance<=this.outerRadius;return u&&f},tooltipPosition:function(){var n=this.startAngle+(this.endAngle-this.startAngle)/2,t=(this.outerRadius-this.innerRadius)/2+this.innerRadius;return{x:this.x+Math.cos(n)*t,y:this.y+Math.sin(n)*t}},draw:function(n){var i=n||1,t=this.ctx;t.beginPath();t.arc(this.x,this.y,this.outerRadius,this.startAngle,this.endAngle);t.arc(this.x,this.y,this.innerRadius,this.endAngle,this.startAngle,!0);t.closePath();t.strokeStyle=this.strokeColor;t.lineWidth=this.strokeWidth;t.fillStyle=this.fillColor;t.fill();t.lineJoin="bevel";this.showStroke&&t.stroke()}});t.Rectangle=t.Element.extend({draw:function(){var n=this.ctx,f=this.width/2,t=this.x-f,i=this.x+f,r=this.base-(this.base-this.y),u=this.strokeWidth/2;this.showStroke&&(t+=u,i-=u,r+=u);n.beginPath();n.fillStyle=this.fillColor;n.strokeStyle=this.strokeColor;n.lineWidth=this.strokeWidth;n.moveTo(t,this.base);n.lineTo(t,r);n.lineTo(i,r);n.lineTo(i,this.base);n.fill();this.showStroke&&n.stroke()},height:function(){return this.base-this.y},inRange:function(n,t){return n>=this.x-this.width/2&&n<=this.x+this.width/2&&t>=this.y&&t<=this.base}});t.Tooltip=t.Element.extend({draw:function(){var n=this.chart.ctx,r,u;n.font=e(this.fontSize,this.fontStyle,this.fontFamily);this.xAlign="center";this.yAlign="above";var t=this.caretPadding=2,i=n.measureText(this.text).width+2*this.xPadding,f=this.fontSize+2*this.yPadding,o=f+this.caretHeight+t;if(this.x+i/2>this.chart.width?this.xAlign="left":this.x-i/2<0&&(this.xAlign="right"),this.y-o<0&&(this.yAlign="below"),r=this.x-i/2,u=this.y-o,n.fillStyle=this.fillColor,this.custom)this.custom(this);else{switch(this.yAlign){case"above":n.beginPath();n.moveTo(this.x,this.y-t);n.lineTo(this.x+this.caretHeight,this.y-(t+this.caretHeight));n.lineTo(this.x-this.caretHeight,this.y-(t+this.caretHeight));n.closePath();n.fill();break;case"below":u=this.y+t+this.caretHeight;n.beginPath();n.moveTo(this.x,this.y+t);n.lineTo(this.x+this.caretHeight,this.y+t+this.caretHeight);n.lineTo(this.x-this.caretHeight,this.y+t+this.caretHeight);n.closePath();n.fill()}switch(this.xAlign){case"left":r=this.x-i+(this.cornerRadius+this.caretHeight);break;case"right":r=this.x-(this.cornerRadius+this.caretHeight)}d(n,r,u,i,f,this.cornerRadius);n.fill();n.fillStyle=this.textColor;n.textAlign="center";n.textBaseline="middle";n.fillText(this.text,r+i/2,u+f/2)}}});t.MultiTooltip=t.Element.extend({initialize:function(){var n;this.font=e(this.fontSize,this.fontStyle,this.fontFamily);this.titleFont=e(this.titleFontSize,this.titleFontStyle,this.titleFontFamily);this.height=this.labels.length*this.fontSize+(this.labels.length-1)*(this.fontSize/2)+this.yPadding*2+this.titleFontSize*1.5;this.ctx.font=this.titleFont;var t=this.ctx.measureText(this.title).width,i=y(this.ctx,this.font,this.labels)+this.fontSize+3,r=h([i,t]);this.width=r+this.xPadding*2;n=this.height/2;this.y-n<0?this.y=n:this.y+n>this.chart.height&&(this.y=this.chart.height-n);this.x>this.chart.width/2?this.x-=this.xOffset+this.width:this.x+=this.xOffset},getLineHeight:function(n){var t=this.y-this.height/2+this.yPadding,i=n-1;return n===0?t+this.titleFontSize/2:t+(this.fontSize*1.5*i+this.fontSize/2)+this.titleFontSize*1.5},draw:function(){if(this.custom)this.custom(this);else{d(this.ctx,this.x,this.y-this.height/2,this.width,this.height,this.cornerRadius);var t=this.ctx;t.fillStyle=this.fillColor;t.fill();t.closePath();t.textAlign="left";t.textBaseline="middle";t.fillStyle=this.titleTextColor;t.font=this.titleFont;t.fillText(this.title,this.x+this.xPadding,this.getLineHeight(0));t.font=this.font;n.each(this.labels,function(n,i){t.fillStyle=this.textColor;t.fillText(n,this.x+this.xPadding+this.fontSize+3,this.getLineHeight(i+1));t.fillStyle=this.legendColorBackground;t.fillRect(this.x+this.xPadding,this.getLineHeight(i+1)-this.fontSize/2,this.fontSize,this.fontSize);t.fillStyle=this.legendColors[i].fill;t.fillRect(this.x+this.xPadding,this.getLineHeight(i+1)-this.fontSize/2,this.fontSize,this.fontSize)},this)}}});t.Scale=t.Element.extend({initialize:function(){this.fit()},buildYLabels:function(){var t,n;for(this.yLabels=[],t=w(this.stepValue),n=0;n<=this.steps;n++)this.yLabels.push(f(this.templateString,{value:(this.min+n*this.stepValue).toFixed(t)}));this.yLabelWidth=this.display&&this.showLabels?y(this.ctx,this.font,this.yLabels):0},addXLabel:function(n){this.xLabels.push(n);this.valuesCount++;this.fit()},removeXLabel:function(){this.xLabels.shift();this.valuesCount--;this.fit()},fit:function(){this.startPoint=this.display?this.fontSize:0;this.endPoint=this.display?this.height-this.fontSize*1.5-5:this.height;this.startPoint+=this.padding;this.endPoint-=this.padding;var n=this.endPoint-this.startPoint,t;for(this.calculateYRange(n),this.buildYLabels(),this.calculateXLabelRotation();n>this.endPoint-this.startPoint;)n=this.endPoint-this.startPoint,t=this.yLabelWidth,this.calculateYRange(n),this.buildYLabels(),tthis.yLabelWidth+10?n/2:this.yLabelWidth+10,this.xLabelRotation=0,this.display){for(t=y(this.ctx,this.font,this.xLabels),this.xLabelWidth=t,f=Math.floor(this.calculateX(1)-this.calculateX(0))-6;this.xLabelWidth>f&&this.xLabelRotation===0||this.xLabelWidth>f&&this.xLabelRotation<=90&&this.xLabelRotation>0;)i=Math.cos(v(this.xLabelRotation)),u=i*n,e=i*r,u+this.fontSize/2>this.yLabelWidth+8&&(this.xScalePaddingLeft=u+this.fontSize/2),this.xScalePaddingRight=this.fontSize/2,this.xLabelRotation++,this.xLabelWidth=i*t;this.xLabelRotation>0&&(this.endPoint-=Math.sin(v(this.xLabelRotation))*t+3)}else this.xLabelWidth=0,this.xScalePaddingRight=this.padding,this.xScalePaddingLeft=this.padding},calculateYRange:a,drawingArea:function(){return this.startPoint-this.endPoint},calculateY:function(n){var t=this.drawingArea()/(this.min-this.max);return this.endPoint-t*(n-this.min)},calculateX:function(n){var u=this.xLabelRotation>0,r=this.width-(this.xScalePaddingLeft+this.xScalePaddingRight),t=r/Math.max(this.valuesCount-(this.offsetGridLines?0:1),1),i=t*n+this.xScalePaddingLeft;return this.offsetGridLines&&(i+=t/2),Math.round(i)},update:function(t){n.extend(this,t);this.fit()},draw:function(){var t=this.ctx,u=(this.endPoint-this.startPoint)/this.steps,r=Math.round(this.xScalePaddingLeft);this.display&&(t.fillStyle=this.textColor,t.font=this.font,i(this.yLabels,function(i,f){var s=this.endPoint-u*f,e=Math.round(s),o=this.showHorizontalLines;t.textAlign="right";t.textBaseline="middle";this.showLabels&&t.fillText(i,r-10,s);f!==0||o||(o=!0);o&&t.beginPath();f>0?(t.lineWidth=this.gridLineWidth,t.strokeStyle=this.gridLineColor):(t.lineWidth=this.lineWidth,t.strokeStyle=this.lineColor);e+=n.aliasPixel(t.lineWidth);o&&(t.moveTo(r,e),t.lineTo(this.width,e),t.stroke(),t.closePath());t.lineWidth=this.lineWidth;t.strokeStyle=this.lineColor;t.beginPath();t.moveTo(r-5,e);t.lineTo(r,e);t.stroke();t.closePath()},this),i(this.xLabels,function(n,i){var e=this.calculateX(i)+b(this.lineWidth),r=this.calculateX(i-(this.offsetGridLines?.5:0))+b(this.lineWidth),f=this.xLabelRotation>0,u=this.showVerticalLines;i!==0||u||(u=!0);u&&t.beginPath();i>0?(t.lineWidth=this.gridLineWidth,t.strokeStyle=this.gridLineColor):(t.lineWidth=this.lineWidth,t.strokeStyle=this.lineColor);u&&(t.moveTo(r,this.endPoint),t.lineTo(r,this.startPoint-3),t.stroke(),t.closePath());t.lineWidth=this.lineWidth;t.strokeStyle=this.lineColor;t.beginPath();t.moveTo(r,this.endPoint);t.lineTo(r,this.endPoint+5);t.stroke();t.closePath();t.save();t.translate(e,f?this.endPoint+12:this.endPoint+8);t.rotate(v(this.xLabelRotation)*-1);t.font=this.font;t.textAlign=f?"right":"center";t.textBaseline=f?"middle":"top";t.fillText(n,0,0);t.restore()},this))}});t.RadialScale=t.Element.extend({initialize:function(){this.size=o([this.height,this.width]);this.drawingArea=this.display?this.size/2-(this.fontSize/2+this.backdropPaddingY):this.size/2},calculateCenterOffset:function(n){var t=this.drawingArea/(this.max-this.min);return(n-this.min)*t},update:function(){this.lineArc?this.drawingArea=this.display?this.size/2-(this.fontSize/2+this.backdropPaddingY):this.size/2:this.setScaleSize();this.buildYLabels()},buildYLabels:function(){var t,n;for(this.yLabels=[],t=w(this.stepValue),n=0;n<=this.steps;n++)this.yLabels.push(f(this.templateString,{value:(this.min+n*this.stepValue).toFixed(t)}))},getCircumference:function(){return Math.PI*2/this.valuesCount},setScaleSize:function(){var y=o([this.height/2-this.pointLabelFontSize-5,this.width/2]),t,n,i,h,c=this.width,a,p,l=0,v,w,b,k,r,s;for(this.ctx.font=e(this.pointLabelFontSize,this.pointLabelFontStyle,this.pointLabelFontFamily),n=0;nc&&(c=t.x+h,a=n),t.x-hc&&(c=t.x+i,a=n):n>this.valuesCount/2&&t.x-i0){if(f=i*(this.drawingArea/this.steps),o=this.yCenter-f,this.lineWidth>0)if(n.strokeStyle=this.lineColor,n.lineWidth=this.lineWidth,this.lineArc)n.beginPath(),n.arc(this.xCenter,this.yCenter,f,0,Math.PI*2),n.closePath(),n.stroke();else{for(n.beginPath(),u=0;u=0;t--){this.angleLineWidth>0&&(u=this.getPointPosition(t,this.calculateCenterOffset(this.max)),n.beginPath(),n.moveTo(this.xCenter,this.yCenter),n.lineTo(u.x,u.y),n.stroke(),n.closePath());f=this.getPointPosition(t,this.calculateCenterOffset(this.max)+5);n.font=e(this.pointLabelFontSize,this.pointLabelFontStyle,this.pointLabelFontFamily);n.fillStyle=this.pointLabelFontColor;var s=this.labels.length,o=this.labels.length/2,r=o/2,h=ts-r,c=t===r||t===s-r;n.textAlign=t===0?"center":t===o?"center":t<% for (var i=0; i
  • <\/span><%if(datasets[i].label){%><%=datasets[i].label%><%}%><\/li><%}%><\/ul>'},initialize:function(i){var r=this.options;this.ScaleClass=t.Scale.extend({offsetGridLines:!0,calculateBarX:function(n,t,i){var f=this.calculateBaseWidth(),e=this.calculateX(i)-f/2,u=this.calculateBarWidth(n);return e+u*t+t*r.barDatasetSpacing+u/2},calculateBaseWidth:function(){return this.calculateX(1)-this.calculateX(0)-2*r.barValueSpacing},calculateBarWidth:function(n){var t=this.calculateBaseWidth()-(n-1)*r.barDatasetSpacing;return t/n}});this.datasets=[];this.options.showTooltips&&n.bindEvents(this,this.options.tooltipEvents,function(t){var i=t.type!=="mouseout"?this.getBarsAtEvent(t):[];this.eachBars(function(n){n.restore(["fillColor","strokeColor"])});n.each(i,function(n){n.fillColor=n.highlightFill;n.strokeColor=n.highlightStroke});this.showTooltip(i)});this.BarClass=t.Rectangle.extend({strokeWidth:this.options.barStrokeWidth,showStroke:this.options.barShowStroke,ctx:this.chart.ctx});n.each(i.datasets,function(t){var r={label:t.label||null,fillColor:t.fillColor,strokeColor:t.strokeColor,bars:[]};this.datasets.push(r);n.each(t.data,function(n,u){r.bars.push(new this.BarClass({value:n,label:i.labels[u],datasetLabel:t.label,strokeColor:t.strokeColor,fillColor:t.fillColor,highlightFill:t.highlightFill||t.fillColor,highlightStroke:t.highlightStroke||t.strokeColor}))},this)},this);this.buildScale(i.labels);this.BarClass.prototype.base=this.scale.endPoint;this.eachBars(function(t,i,r){n.extend(t,{width:this.scale.calculateBarWidth(this.datasets.length),x:this.scale.calculateBarX(this.datasets.length,r,i),y:this.scale.endPoint});t.save()},this);this.render()},update:function(){this.scale.update();n.each(this.activeElements,function(n){n.restore(["fillColor","strokeColor"])});this.eachBars(function(n){n.save()});this.render()},eachBars:function(t){n.each(this.datasets,function(i,r){n.each(i.bars,t,this,r)},this)},getBarsAtEvent:function(t){for(var u=[],f=n.getRelativePosition(t),e=function(n){u.push(n.bars[i])},i,r=0;r<% for (var i=0; i
  • <\/span><%if(segments[i].label){%><%=segments[i].label%><%}%><\/li><%}%><\/ul>'};t.Type.extend({name:"Doughnut",defaults:i,initialize:function(i){this.segments=[];this.outerRadius=(n.min([this.chart.width,this.chart.height])-this.options.segmentStrokeWidth/2)/2;this.SegmentArc=t.Arc.extend({ctx:this.chart.ctx,x:this.chart.width/2,y:this.chart.height/2});this.options.showTooltips&&n.bindEvents(this,this.options.tooltipEvents,function(t){var i=t.type!=="mouseout"?this.getSegmentsAtEvent(t):[];n.each(this.segments,function(n){n.restore(["fillColor"])});n.each(i,function(n){n.fillColor=n.highlightColor});this.showTooltip(i)});this.calculateTotal(i);n.each(i,function(n,t){this.addData(n,t,!0)},this);this.render()},getSegmentsAtEvent:function(t){var i=[],r=n.getRelativePosition(t);return n.each(this.segments,function(n){n.inRange(r.x,r.y)&&i.push(n)},this),i},addData:function(n,t,i){var r=t||this.segments.length;this.segments.splice(r,0,new this.SegmentArc({value:n.value,outerRadius:this.options.animateScale?0:this.outerRadius,innerRadius:this.options.animateScale?0:this.outerRadius/100*this.options.percentageInnerCutout,fillColor:n.color,highlightColor:n.highlight||n.color,showStroke:this.options.segmentShowStroke,strokeWidth:this.options.segmentStrokeWidth,strokeColor:this.options.segmentStrokeColor,startAngle:Math.PI*1.5,circumference:this.options.animateRotate?0:this.calculateCircumference(n.value),label:n.label}));i||(this.reflow(),this.update())},calculateCircumference:function(n){return Math.PI*2*(Math.abs(n)/this.total)},calculateTotal:function(t){this.total=0;n.each(t,function(n){this.total+=Math.abs(n.value)},this)},update:function(){this.calculateTotal(this.segments);n.each(this.activeElements,function(n){n.restore(["fillColor"])});n.each(this.segments,function(n){n.save()});this.render()},removeData:function(t){var i=n.isNumber(t)?t:this.segments.length-1;this.segments.splice(i,1);this.reflow();this.update()},reflow:function(){n.extend(this.SegmentArc.prototype,{x:this.chart.width/2,y:this.chart.height/2});this.outerRadius=(n.min([this.chart.width,this.chart.height])-this.options.segmentStrokeWidth/2)/2;n.each(this.segments,function(n){n.update({outerRadius:this.outerRadius,innerRadius:this.outerRadius/100*this.options.percentageInnerCutout})},this)},draw:function(t){var i=t?t:1;this.clear();n.each(this.segments,function(n,t){n.transition({circumference:this.calculateCircumference(n.value),outerRadius:this.outerRadius,innerRadius:this.outerRadius/100*this.options.percentageInnerCutout},i);n.endAngle=n.startAngle+n.circumference;n.draw();t===0&&(n.startAngle=Math.PI*1.5);t<% for (var i=0; i
  • <\/span><%if(datasets[i].label){%><%=datasets[i].label%><%}%><\/li><%}%><\/ul>'},initialize:function(i){this.PointClass=t.Point.extend({strokeWidth:this.options.pointDotStrokeWidth,radius:this.options.pointDotRadius,display:this.options.pointDot,hitDetectionRadius:this.options.pointHitDetectionRadius,ctx:this.chart.ctx,inRange:function(n){return Math.pow(n-this.x,2)0&&ithis.scale.endPoint?t.controlPoints.outer.y=this.scale.endPoint:t.controlPoints.outer.ythis.scale.endPoint?t.controlPoints.inner.y=this.scale.endPoint:t.controlPoints.inner.y0&&(i.lineTo(o[o.length-1].x,this.scale.endPoint),i.lineTo(o[0].x,this.scale.endPoint),i.fillStyle=t.fillColor,i.closePath(),i.fill());n.each(o,function(n){n.draw()})},this)}})}.call(this),function(){"use strict";var i=this,t=i.Chart,n=t.helpers;t.Type.extend({name:"PolarArea",defaults:{scaleShowLabelBackdrop:!0,scaleBackdropColor:"rgba(255,255,255,0.75)",scaleBeginAtZero:!0,scaleBackdropPaddingY:2,scaleBackdropPaddingX:2,scaleShowLine:!0,segmentShowStroke:!0,segmentStrokeColor:"#fff",segmentStrokeWidth:2,animationSteps:100,animationEasing:"easeOutBounce",animateRotate:!0,animateScale:!1,legendTemplate:'
      <% for (var i=0; i
    • <\/span><%if(segments[i].label){%><%=segments[i].label%><%}%><\/li><%}%><\/ul>'},initialize:function(i){this.segments=[];this.SegmentArc=t.Arc.extend({showStroke:this.options.segmentShowStroke,strokeWidth:this.options.segmentStrokeWidth,strokeColor:this.options.segmentStrokeColor,ctx:this.chart.ctx,innerRadius:0,x:this.chart.width/2,y:this.chart.height/2});this.scale=new t.RadialScale({display:this.options.showScale,fontStyle:this.options.scaleFontStyle,fontSize:this.options.scaleFontSize,fontFamily:this.options.scaleFontFamily,fontColor:this.options.scaleFontColor,showLabels:this.options.scaleShowLabels,showLabelBackdrop:this.options.scaleShowLabelBackdrop,backdropColor:this.options.scaleBackdropColor,backdropPaddingY:this.options.scaleBackdropPaddingY,backdropPaddingX:this.options.scaleBackdropPaddingX,lineWidth:this.options.scaleShowLine?this.options.scaleLineWidth:0,lineColor:this.options.scaleLineColor,lineArc:!0,width:this.chart.width,height:this.chart.height,xCenter:this.chart.width/2,yCenter:this.chart.height/2,ctx:this.chart.ctx,templateString:this.options.scaleLabel,valuesCount:i.length});this.updateScaleRange(i);this.scale.update();n.each(i,function(n,t){this.addData(n,t,!0)},this);this.options.showTooltips&&n.bindEvents(this,this.options.tooltipEvents,function(t){var i=t.type!=="mouseout"?this.getSegmentsAtEvent(t):[];n.each(this.segments,function(n){n.restore(["fillColor"])});n.each(i,function(n){n.fillColor=n.highlightColor});this.showTooltip(i)});this.render()},getSegmentsAtEvent:function(t){var i=[],r=n.getRelativePosition(t);return n.each(this.segments,function(n){n.inRange(r.x,r.y)&&i.push(n)},this),i},addData:function(n,t,i){var r=t||this.segments.length;this.segments.splice(r,0,new this.SegmentArc({fillColor:n.color,highlightColor:n.highlight||n.color,label:n.label,value:n.value,outerRadius:this.options.animateScale?0:this.scale.calculateCenterOffset(n.value),circumference:this.options.animateRotate?0:this.scale.getCircumference(),startAngle:Math.PI*1.5}));i||(this.reflow(),this.update())},removeData:function(t){var i=n.isNumber(t)?t:this.segments.length-1;this.segments.splice(i,1);this.reflow();this.update()},calculateTotal:function(t){this.total=0;n.each(t,function(n){this.total+=n.value},this);this.scale.valuesCount=this.segments.length},updateScaleRange:function(t){var i=[],r;n.each(t,function(n){i.push(n.value)});r=this.options.scaleOverride?{steps:this.options.scaleSteps,stepValue:this.options.scaleStepWidth,min:this.options.scaleStartValue,max:this.options.scaleStartValue+this.options.scaleSteps*this.options.scaleStepWidth}:n.calculateScaleRange(i,n.min([this.chart.width,this.chart.height])/2,this.options.scaleFontSize,this.options.scaleBeginAtZero,this.options.scaleIntegersOnly);n.extend(this.scale,r,{size:n.min([this.chart.width,this.chart.height]),xCenter:this.chart.width/2,yCenter:this.chart.height/2})},update:function(){this.calculateTotal(this.segments);n.each(this.segments,function(n){n.save()});this.reflow();this.render()},reflow:function(){n.extend(this.SegmentArc.prototype,{x:this.chart.width/2,y:this.chart.height/2});this.updateScaleRange(this.segments);this.scale.update();n.extend(this.scale,{xCenter:this.chart.width/2,yCenter:this.chart.height/2});n.each(this.segments,function(n){n.update({outerRadius:this.scale.calculateCenterOffset(n.value)})},this)},draw:function(t){var i=t||1;this.clear();n.each(this.segments,function(n,t){n.transition({circumference:this.scale.getCircumference(),outerRadius:this.scale.calculateCenterOffset(n.value)},i);n.endAngle=n.startAngle+n.circumference;t===0&&(n.startAngle=Math.PI*1.5);t<% for (var i=0; i
    • <\/span><%if(datasets[i].label){%><%=datasets[i].label%><%}%><\/li><%}%><\/ul>'},initialize:function(i){this.PointClass=t.Point.extend({strokeWidth:this.options.pointDotStrokeWidth,radius:this.options.pointDotRadius,display:this.options.pointDot,hitDetectionRadius:this.options.pointHitDetectionRadius,ctx:this.chart.ctx});this.datasets=[];this.buildScale(i);this.options.showTooltips&&n.bindEvents(this,this.options.tooltipEvents,function(t){var i=t.type!=="mouseout"?this.getPointsAtEvent(t):[];this.eachPoints(function(n){n.restore(["fillColor","strokeColor"])});n.each(i,function(n){n.fillColor=n.highlightFill;n.strokeColor=n.highlightStroke});this.showTooltip(i)});n.each(i.datasets,function(t){var r={label:t.label||null,fillColor:t.fillColor,strokeColor:t.strokeColor,pointColor:t.pointColor,pointStrokeColor:t.pointStrokeColor,points:[]};this.datasets.push(r);n.each(t.data,function(n,u){var f;this.scale.animation||(f=this.scale.getPointPosition(u,this.scale.calculateCenterOffset(n)));r.points.push(new this.PointClass({value:n,label:i.labels[u],datasetLabel:t.label,x:this.options.animation?this.scale.xCenter:f.x,y:this.options.animation?this.scale.yCenter:f.y,strokeColor:t.pointStrokeColor,fillColor:t.pointColor,highlightFill:t.pointHighlightFill||t.pointColor,highlightStroke:t.pointHighlightStroke||t.pointStrokeColor}))},this)},this);this.render()},eachPoints:function(t){n.each(this.datasets,function(i){n.each(i.points,t,this)},this)},getPointsAtEvent:function(t){var f=n.getRelativePosition(t),r=n.getAngleFromPoint({x:this.scale.xCenter,y:this.scale.yCenter},f),e=Math.PI*2/this.scale.valuesCount,i=Math.round((r.angle-Math.PI*1.5)/e),u=[];return(i>=this.scale.valuesCount||i<0)&&(i=0),r.distance<=this.scale.drawingArea&&n.each(this.datasets,function(n){u.push(n.points[i])}),u},buildScale:function(n){this.scale=new t.RadialScale({display:this.options.showScale,fontStyle:this.options.scaleFontStyle,fontSize:this.options.scaleFontSize,fontFamily:this.options.scaleFontFamily,fontColor:this.options.scaleFontColor,showLabels:this.options.scaleShowLabels,showLabelBackdrop:this.options.scaleShowLabelBackdrop,backdropColor:this.options.scaleBackdropColor,backdropPaddingY:this.options.scaleBackdropPaddingY,backdropPaddingX:this.options.scaleBackdropPaddingX,lineWidth:this.options.scaleShowLine?this.options.scaleLineWidth:0,lineColor:this.options.scaleLineColor,angleLineColor:this.options.angleLineColor,angleLineWidth:this.options.angleShowLineOut?this.options.angleLineWidth:0,pointLabelFontColor:this.options.pointLabelFontColor,pointLabelFontSize:this.options.pointLabelFontSize,pointLabelFontFamily:this.options.pointLabelFontFamily,pointLabelFontStyle:this.options.pointLabelFontStyle,height:this.chart.height,width:this.chart.width,xCenter:this.chart.width/2,yCenter:this.chart.height/2,ctx:this.chart.ctx,templateString:this.options.scaleLabel,labels:n.labels,valuesCount:n.datasets[0].data.length});this.scale.setScaleSize();this.updateScaleRange(n.datasets);this.scale.buildYLabels()},updateScaleRange:function(t){var i=function(){var i=[];return n.each(t,function(t){t.data?i=i.concat(t.data):n.each(t.points,function(n){i.push(n.value)})}),i}(),r=this.options.scaleOverride?{steps:this.options.scaleSteps,stepValue:this.options.scaleStepWidth,min:this.options.scaleStartValue,max:this.options.scaleStartValue+this.options.scaleSteps*this.options.scaleStepWidth}:n.calculateScaleRange(i,n.min([this.chart.width,this.chart.height])/2,this.options.scaleFontSize,this.options.scaleBeginAtZero,this.options.scaleIntegersOnly);n.extend(this.scale,r)},addData:function(t,i){this.scale.valuesCount++;n.each(t,function(n,t){var r=this.scale.getPointPosition(this.scale.valuesCount,this.scale.calculateCenterOffset(n));this.datasets[t].points.push(new this.PointClass({value:n,label:i,x:r.x,y:r.y,strokeColor:this.datasets[t].pointStrokeColor,fillColor:this.datasets[t].pointColor}))},this);this.scale.labels.push(i);this.reflow();this.update()},removeData:function(){this.scale.valuesCount--;this.scale.labels.shift();n.each(this.datasets,function(n){n.points.shift()},this);this.reflow();this.update()},update:function(){this.eachPoints(function(n){n.save()});this.reflow();this.render()},reflow:function(){n.extend(this.scale,{width:this.chart.width,height:this.chart.height,size:n.min([this.chart.width,this.chart.height]),xCenter:this.chart.width/2,yCenter:this.chart.height/2});this.updateScaleRange(this.datasets);this.scale.setScaleSize();this.scale.buildYLabels()},draw:function(t){var r=t||1,i=this.chart.ctx;this.clear();this.scale.draw();n.each(this.datasets,function(t){n.each(t.points,function(n,t){n.hasValue()&&n.transition(this.scale.getPointPosition(t,this.scale.calculateCenterOffset(n.value)),r)},this);i.lineWidth=this.options.datasetStrokeWidth;i.strokeStyle=t.strokeColor;i.beginPath();n.each(t.points,function(n,t){t===0?i.moveTo(n.x,n.y):i.lineTo(n.x,n.y)},this);i.closePath();i.stroke();i.fillStyle=t.fillColor;i.fill();n.each(t.points,function(n){n.hasValue()&&n.draw()})},this)}})}.call(this);var courseTitle=$(".course__title"),courseTitlePinned=courseTitle.children(".course__title--pin"),courseMenu=$(".course__menu"),courseMenuInner=$(".course-menu-inner"),courseMenuList=$(".course__menu__list--NEW ul"),courseMenuItemsList=$(".course-menu__list"),courseMenuMobileBtn=$(".course__menu__mob-launch-btn"),courseMenuCloseButton=$(".course__menu__list--NEW .close"),scrollToLink=$(".js-scroll-to-link"),courseSection=$(".course__section");$(document).ready(function(){function t(){var n=$(".js-change-intake").prop("selectedIndex");$(".js-change-intake").on("change",function(){var t=$(".js-change-intake").prop("selectedIndex"),i=$(this).val();return(localStorage.setItem("yearEntry",t),n!==t)?(i&&(window.location=i),!1):(window.stop(),!1)})}function i(){$(".j-crs-dtl-social_btn").hover(function(){$(this).parent().removeClass("size1of12").addClass("size4of12");$(this).find(".j-crs-dtl-social_reveal").removeClass("hidden")},function(){$(this).parent().removeClass("size4of12").addClass("size1of12");$(this).find(".j-crs-dtl-social_reveal").addClass("hidden")})}function r(){$(".crs-dtl-tabs-group.j-tabgroup, .j-tabgroup-inner").tabs({activate:function(){bcu.overideInlineLinksForUiTabs()}});$(".crs-dtl-tabs-group.j-tabgroup").on("tabsactivate",function(){var n=$("#main-course-tabs .ui-tabs-active").next(".ui-state-default").text(),t=$(this).find(".ui-tabs-active");$(".j-crs-dtl-pager_next").text(n);t.hasClass("last-tab")?$(".j-crs-dtl-pager_next").parent().hide():$(".j-crs-dtl-pager_next").parent().show()})}function u(){$(".j-crs-dtl-pager_next").click(function(){var t=$(".j-tabgroup").tabs("option","active"),n;return $(".j-tabgroup").tabs("option","active",t+1),n=$(".crs-dtl-tabs-group").offset(),$("html").width()<=900&&(n.top=n.top-65),bcu.browserScroller({offSet:n,speed:600}),!1})}function f(){$(".j-scrollToPtFeesNote").click(function(){var n=$(".partTimeFeesNote").offset();return bcu.browserScroller({offSet:n,speed:600}),!1})}function e(n){var t=$(".j-crs-dtl-overview-slider").bxSlider({mode:"horizontal",adaptiveHeight:!0,captions:!1,controls:!1,pager:!1,infiniteLoop:!1,startSlide:n,touchEnabled:!1,oneToOneTouch:!1});$(".j-crs-dtl-overview-slider_next").click(function(){return t.goToNextSlide(),!1});$(".j-crs-dtl-overview-slider_prev").click(function(){return t.goToPrevSlide(),!1})}function o(){var n=$(".crs-dtl-gallery-slider").bxSlider({ariaHidden:!1,slideWidth:200,minSlides:1,maxSlides:3,slideMargin:10,pager:!1,controls:!1,infiniteLoop:!1});$(".crs-dtl-gallery-slider_next").click(function(){return n.goToNextSlide(),!1});$(".crs-dtl-gallery-slider_prev").click(function(){return n.goToPrevSlide(),!1})}function n(n,t){setTimeout(function(){$.ajax({cache:!1,data:$(n).serialize(),type:$(n).attr("method"),url:$(n).attr("action"),success:function(n){var t=$(".ipp-gateway-embedded"),i;t.html(n);i=t.height()+8+"px";t.closest(".bx-viewport").animate({height:i},500);cdl.doHoverReveal()}})},t)}$(window).scroll(function(){var n=$(window).scrollTop();checkTitlePosition(n);checkMenuPosition(n);checkMenuLinksActive(n)});$(window).resize(function(){var n=$(window).outerWidth();n>=768&&closeMenu()});courseMenuMobileBtn.on("click",function(){openMenu()});courseMenuCloseButton.on("click",function(){closeMenu()});scrollToLink.on("click",function(n){n.preventDefault();scrollToSection($(this).data("scroll-to"))});"yearEntry"in localStorage&&($("#Course_URL").focus(),localStorage.removeItem("yearEntry"));$(".stretchMe").anystretch();$(document).on("click",".js-tooltip-trigger",function(){$(this).addClass("on inline-block");var n=$(this).data("theme"),t=$(this).data("position");$(this).tooltip({content:function(){return $(this).data("description")},tooltipClass:"ui-tooltip--"+n+" "+t,items:".js-tooltip-trigger.on",position:{my:"left+10 center",at:"right center",collision:"flip",using:function(n,t){$(this).removeClass("left right");var i=t.horizontal!=="left"?"left":"right";$(this).css(n).addClass(i)}}});$(this).trigger("mouseenter")});$(document).on("click",".js-tooltip-trigger.on",function(){$(this).tooltip("close");$(this).removeClass("on")});$(".js-tooltip-trigger").on("mouseout",function(n){n.stopImmediatePropagation()});t();r();u();f();i();e(0);o();$("body").on("change",".j-ipp-gateway-embedded-form-submit",function(){if($(this).val()!==""){var t=$(this).closest(".j-ipp-gateway-embedded-form");$(".j-ipp-gateway-embedded-form-submit").addClass("off-screen");$(".j-ipp-gateway-tooltip").addClass("off-screen");$(".j-wait-alert").removeClass("hidden").addClass("left inline-block size1of2");n(t,500)}});$("body").on("click",".j-ipp-gateway-embedded-form-reset",function(){var t=$(this).attr("data-confirm-text"),i,r;return typeof t!="undefined"&&t!=null&&t!==""&&(i=confirm(t),i&&(r=$(this).closest(".j-ipp-gateway-embedded-form-blank"),n(r,0))),!1});$(".j-switch-tabs").click(function(n){var t=$(this).attr("href");(t==="#tab-How_to_apply"||t==="#tab-How_to_Apply")&&(t="#tab-Fees_How_to_Apply");$(".j-tabgroup.crs-dtl-tabs-group").tabs("option","active",$(t).index());bcu.browserScroller({offSet:$(".j-tabgroup .crs-dtl-tabs-group_tabs").offset(),speed:600});n.preventDefault()});$("html").click(function(){$(".j-mobile-tab-select").addClass("hidden")});$(".j-mobile-tab-select a").click(function(n){var t=$(this).parent().index(),i=$(this).text();$(".j-tabgroup").tabs("option","active",t);$(".j-mobile-tab-select").addClass("hidden");$(".j-mobile-tab-heading-text").text(i);$(this).attr("href").substring(0,1)=="#"&&(bcu.browserScroller({offSet:$(".j-mobile-tab-heading").offset(),speed:600}),n.stopPropagation(),n.preventDefault())});$(".j-mobile-tab-heading").click(function(n){$(".j-mobile-tab-select").hasClass("hidden")?$(".j-mobile-tab-select").removeClass("hidden"):$(".j-mobile-tab-select").addClass("hidden");n.stopPropagation();n.preventDefault()});$(".crs-dtl-tabs-group_tabs li").click(function(){$(window).resize()});$(".j-mobile-tab-select-heading").click(function(){$(window).resize()});$(".j-course-detail-slider").bxSlider({mode:"fade",captions:!0,pause:5e3,auto:!0,controls:!1,pager:!0,nextText:"",prevText:"",adaptiveHeight:!0})});showMoreLink=$(".course-fees__table .fees .show-fees");showMoreLink.on("click",function(){var t=$(this).data("show-fees"),n=$(".course-fees__table .table-rows > div").find("."+t);n.hasClass("showing")?(n.removeClass("showing"),$(this).text("Show fees")):(n.addClass("showing"),$(this).text("Show less"))});currentWindowWidth=window.innerWidth?window.innerWidth:$(window).width();dUniWidget=$(".kis-widget");initialiseDiscoverUniWidget=function(){dUniWidget.length&&(setupWidgetDataAttributeBasedOnWindowSize(),window.addEventListener("resize",function(){setupWidgetDataAttributeBasedOnWindowSize()}))};$(document).ready(function(){initialiseDiscoverUniWidget()});$(document).ready(function(){var n=$(".js-module-link");n.on("click",function(){showFullModuleInfo($(this))})});$(document).ready(function(){const n=$(".pullout-stat-card");n&&n.parent().addClass("pullout-stat-card-container")});const courseFeeTab=$(".js-course-fee-tab"),courseFeesTableContainer=$(".course-fees__tables");courseFeeTab.on("click",function(){courseFeesTableContainer.addClass("active");$(this).hasClass("selected")||($(this).addClass("selected"),$(this).siblings().removeClass("selected"),showFeesTable($(this)))});keys={end:35,home:36,left:37,up:38,right:39,down:40,"delete":46};direction={37:-1,38:-1,39:1,40:1};$(document).ready(function(){coursePageTabbedItemsTabSetup()});const numCards=$(".panel--num-cards--cp");numCards.each(function(){const n=$(this).find("ul").first(),t=n.children("li");n.addClass("panel--num-cards__ul");n.siblings().not(".panel__heading").remove();t.each(function(){$(this).index()>5&&$(this).remove();$(this).find("img").remove()});t.length>5?n.addClass("panel--num-cards__ul--grid"):n.addClass("panel--num-cards__ul--inline")});const similarCoursesPanel=document.querySelector(".similar-courses__cards");if(similarCoursesPanel!==null){const n=similarCoursesPanel.querySelectorAll(".similar-courses__image");n.forEach(n=>{const t=n.querySelector("img");n.setAttribute("style",`background: url(/bundles/coursejs/${t.getAttribute("src")}) center/cover no-repeat;`);t.remove()})}bcuCharts=function(){function i(n,t){Chart.defaults.global.customTooltips=function(i){if(!i){n.css({opacity:0});return}n.removeClass("above below");n.addClass(i.yAlign);typeof t!="undefined"?n.html(i.text+t):n.html(i.text);var r;r=i.yAlign=="above"?i.y-i.caretHeight-i.caretPadding:i.y+i.caretHeight+i.caretPadding;n.css({opacity:1,left:i.chart.canvas.offsetLeft+i.x+"px",top:i.chart.canvas.offsetTop+r+"px",fontFamily:i.fontFamily,fontSize:i.fontSize,fontStyle:i.fontStyle})}}function r(n,t,i){var r=typeof n!="undefined"?n:"",u=typeof t!="undefined"&&t=="vertical"?"text-center mtm":"inline-block left mll",f=typeof i!="undefined"?i:"";return'
        <% for (var i=0; i
      • <\/span><%if(segments[i].label){%><%=segments[i].label%> (<%=segments[i].value%><%}%>'+r+")<\/li><%}%><\/ul><\/div>"}function u(t,i,u,f){var o=$(t.table).tableToJSON(),e;typeof t.width=="undefined"&&(t.width=100);typeof t.animate=="undefined"&&(t.animate=!1);n.animateRotate=t.animate;n.legendTemplate=r(i,u,f);e=typeof u!="undefined"&&u=="horizontal"?"inline-block left":"";$(t.table).after('<\/canvas>');var s=$(t.table).next("canvas")[0].getContext("2d"),h=new Chart(s).Pie(o,n),c=h.generateLegend();$(t.table).next().after(c);$(t.table).addClass("off-screen")}function f(){var t=$(".j-piechart-table"),n;if(t.length>0)for(n=0;n<\/div>');var e=$(t[n]).data("chartwidth"),f=$(t[n]).data("unit"),o=$(t[n]).data("animatechart"),r=$(t[n]).data("layout"),s=$(t[n]).data("legendcss"),h=$(t[n]).nextAll(".chartjs-tooltip");i(h,f);u({table:t[n],width:e,animate:o},f,r,s);typeof r!="undefined"&&r=="vertical"&&$(t[n]).parent("div").addClass("text-center")}}function t(t){if(typeof t.animate!="undefined"&&(n.animateRotate=t.animate),typeof t.chartCanvas!="undefined"&&typeof t.jsonData!="undefined"){var i=t.chartCanvas.getContext("2d"),r=new Chart(i).Pie(t.jsonData,n);r.update()}}function e(i){var r,u,f;if(typeof i.animate!="undefined"&&(n.animateRotate=i.animate),r=typeof i.areaToUpdate!="undefined"?$(i.areaToUpdate).find(".j-piechart-table"):$(".j-piechart-table"),r.length>0)for(u=0;u