=0;--p)e.isDatasetVisible(p)&&e.drawDataset(p,t);O.notify(e,"afterDatasetsDraw",[t])}},drawDataset:function(t,e){var p=this.getDatasetMeta(t),o={meta:p,index:t,easingValue:e};!1!==O.notify(this,"beforeDatasetDraw",[o])&&(p.controller.draw(e),O.notify(this,"afterDatasetDraw",[o]))},_drawTooltip:function(t){var e=this.tooltip,p={tooltip:e,easingValue:t};!1!==O.notify(this,"beforeTooltipDraw",[p])&&(e.draw(),O.notify(this,"afterTooltipDraw",[p]))},getElementAtEvent:function(t){return z.modes.single(this,t)},getElementsAtEvent:function(t){return z.modes.label(this,t,{intersect:!0})},getElementsAtXAxis:function(t){return z.modes["x-axis"](this,t,{intersect:!0})},getElementsAtEventForMode:function(t,e,p){var o=z.modes[e];return"function"==typeof o?o(this,t,p):[]},getDatasetAtEvent:function(t){return z.modes.dataset(this,t,{intersect:!0})},getDatasetMeta:function(t){var e=this.data.datasets[t];e._meta||(e._meta={});var p=e._meta[this.id];return p||(p=e._meta[this.id]={type:null,data:[],dataset:null,controller:null,hidden:null,xAxisID:null,yAxisID:null}),p},getVisibleDatasetCount:function(){for(var t=0,e=0,p=this.data.datasets.length;ep?(e+.05)/(p+.05):(p+.05)/(e+.05)},level:function(t){var e=this.contrast(t);return e>=7.1?"AAA":e>=4.5?"AA":""},dark:function(){var t=this.values.rgb;return(299*t[0]+587*t[1]+114*t[2])/1e3<128},light:function(){return!this.dark()},negate:function(){for(var t=[],e=0;e<3;e++)t[e]=255-this.values.rgb[e];return this.setValues("rgb",t),this},lighten:function(t){var e=this.values.hsl;return e[2]+=e[2]*t,this.setValues("hsl",e),this},darken:function(t){var e=this.values.hsl;return e[2]-=e[2]*t,this.setValues("hsl",e),this},saturate:function(t){var e=this.values.hsl;return e[1]+=e[1]*t,this.setValues("hsl",e),this},desaturate:function(t){var e=this.values.hsl;return e[1]-=e[1]*t,this.setValues("hsl",e),this},whiten:function(t){var e=this.values.hwb;return e[1]+=e[1]*t,this.setValues("hwb",e),this},blacken:function(t){var e=this.values.hwb;return e[2]+=e[2]*t,this.setValues("hwb",e),this},greyscale:function(){var t=this.values.rgb,e=.3*t[0]+.59*t[1]+.11*t[2];return this.setValues("rgb",[e,e,e]),this},clearer:function(t){var e=this.values.alpha;return this.setValues("alpha",e-e*t),this},opaquer:function(t){var e=this.values.alpha;return this.setValues("alpha",e+e*t),this},rotate:function(t){var e=this.values.hsl,p=(e[0]+t)%360;return e[0]=p<0?360+p:p,this.setValues("hsl",e),this},mix:function(t,e){var p=t,o=void 0===e?.5:e,b=2*o-1,M=this.alpha()-p.alpha(),n=((b*M==-1?b:(b+M)/(1+b*M))+1)/2,z=1-n;return this.rgb(n*this.red()+z*p.red(),n*this.green()+z*p.green(),n*this.blue()+z*p.blue()).alpha(this.alpha()*o+p.alpha()*(1-o))},toJSON:function(){return this.rgb()},clone:function(){var t,e,p=new M,o=this.values,b=p.values;for(var n in o)o.hasOwnProperty(n)&&(t=o[n],"[object Array]"===(e={}.toString.call(t))?b[n]=t.slice(0):"[object Number]"===e&&(b[n]=t));return p}},M.prototype.spaces={rgb:["red","green","blue"],hsl:["hue","saturation","lightness"],hsv:["hue","saturation","value"],hwb:["hue","whiteness","blackness"],cmyk:["cyan","magenta","yellow","black"]},M.prototype.maxes={rgb:[255,255,255],hsl:[360,100,100],hsv:[360,100,100],hwb:[360,100,100],cmyk:[100,100,100,100]},M.prototype.getValues=function(t){for(var e=this.values,p={},o=0;ob?{start:e-p-5,end:e}:{start:e,end:e+p+5}}function O(t){return 0===t||180===t?"center":t<180?"left":"right"}function i(t,e,p,o){if(b.isArray(e))for(var M=p.y,n=1.5*o,z=0;z270||t<90)&&(p.y-=e.h)}function A(t){return b.isNumber(t)?t:0}var s=t.LinearScaleBase.extend({setDimensions:function(){var t=this,p=t.options,o=p.ticks;t.width=t.maxWidth,t.height=t.maxHeight,t.xCenter=Math.round(t.width/2),t.yCenter=Math.round(t.height/2);var M=b.min([t.height,t.width]),n=b.valueOrDefault(o.fontSize,e.defaultFontSize);t.drawingArea=p.display?M/2-(n/2+o.backdropPaddingY):M/2},determineDataLimits:function(){var t=this,e=t.chart,p=Number.POSITIVE_INFINITY,o=Number.NEGATIVE_INFINITY;b.each(e.data.datasets,(function(M,n){if(e.isDatasetVisible(n)){var z=e.getDatasetMeta(n);b.each(M.data,(function(e,b){var M=+t.getRightValue(e);isNaN(M)||z.data[b].hidden||(p=Math.min(M,p),o=Math.max(M,o))}))}})),t.min=p===Number.POSITIVE_INFINITY?0:p,t.max=o===Number.NEGATIVE_INFINITY?0:o,t.handleTickRangeOptions()},getTickLimit:function(){var t=this.options.ticks,p=b.valueOrDefault(t.fontSize,e.defaultFontSize);return Math.min(t.maxTicksLimit?t.maxTicksLimit:11,Math.ceil(this.drawingArea/(1.5*p)))},convertTicksToLabels:function(){var e=this;t.LinearScaleBase.prototype.convertTicksToLabels.call(e),e.pointLabels=e.chart.data.labels.map(e.options.pointLabels.callback,e)},getLabelForIndex:function(t,e){return+this.getRightValue(this.chart.data.datasets[e].data[t])},fit:function(){var t,e;this.options.pointLabels.display?function(t){var e,p,o,M=r(t),n=Math.min(t.height/2,t.width/2),O={r:t.width,l:0,t:t.height,b:0},i={};t.ctx.font=M.font,t._pointLabelSizes=[];var a,A,s,d=z(t);for(e=0;eO.r&&(O.r=u.end,i.r=q),f.startO.b&&(O.b=f.end,i.b=q)}t.setReductions(n,O,i)}(this):(t=this,e=Math.min(t.height/2,t.width/2),t.drawingArea=Math.round(e),t.setCenterPoint(0,0,0,0))},setReductions:function(t,e,p){var o=e.l/Math.sin(p.l),b=Math.max(e.r-this.width,0)/Math.sin(p.r),M=-e.t/Math.cos(p.t),n=-Math.max(e.b-this.height,0)/Math.cos(p.b);o=A(o),b=A(b),M=A(M),n=A(n),this.drawingArea=Math.min(Math.round(t-(o+b)/2),Math.round(t-(M+n)/2)),this.setCenterPoint(o,b,M,n)},setCenterPoint:function(t,e,p,o){var b=this,M=b.width-e-b.drawingArea,n=t+b.drawingArea,z=p+b.drawingArea,r=b.height-o-b.drawingArea;b.xCenter=Math.round((n+M)/2+b.left),b.yCenter=Math.round((z+r)/2+b.top)},getIndexAngle:function(t){return t*(2*Math.PI/z(this))+(this.chart.options&&this.chart.options.startAngle?this.chart.options.startAngle:0)*Math.PI*2/360},getDistanceFromCenterForValue:function(t){var e=this;if(null===t)return 0;var p=e.drawingArea/(e.max-e.min);return e.options.ticks.reverse?(e.max-t)*p:(t-e.min)*p},getPointPosition:function(t,e){var p=this.getIndexAngle(t)-Math.PI/2;return{x:Math.round(Math.cos(p)*e)+this.xCenter,y:Math.round(Math.sin(p)*e)+this.yCenter}},getPointPositionForValue:function(t,e){return this.getPointPosition(t,this.getDistanceFromCenterForValue(e))},getBasePosition:function(){var t=this.min,e=this.max;return this.getPointPositionForValue(0,this.beginAtZero?0:t<0&&e<0?e:t>0&&e>0?t:0)},draw:function(){var t=this,p=t.options,o=p.gridLines,M=p.ticks,n=b.valueOrDefault;if(p.display){var c=t.ctx,A=this.getIndexAngle(0),s=n(M.fontSize,e.defaultFontSize),d=n(M.fontStyle,e.defaultFontStyle),q=n(M.fontFamily,e.defaultFontFamily),l=b.fontString(s,d,q);b.each(t.ticks,(function(p,r){if(r>0||M.reverse){var O=t.getDistanceFromCenterForValue(t.ticksAsNumbers[r]);if(o.display&&0!==r&&function(t,e,p,o){var M=t.ctx;if(M.strokeStyle=b.valueAtIndexOrDefault(e.color,o-1),M.lineWidth=b.valueAtIndexOrDefault(e.lineWidth,o-1),t.options.gridLines.circular)M.beginPath(),M.arc(t.xCenter,t.yCenter,p,0,2*Math.PI),M.closePath(),M.stroke();else{var n=z(t);if(0===n)return;M.beginPath();var r=t.getPointPosition(0,p);M.moveTo(r.x,r.y);for(var c=1;c=0;s--){if(M.display){var d=t.getPointPosition(s,c);p.beginPath(),p.moveTo(t.xCenter,t.yCenter),p.lineTo(d.x,d.y),p.stroke(),p.closePath()}if(n.display){var q=t.getPointPosition(s,c+5),l=b.valueAtIndexOrDefault(n.fontColor,s,e.defaultFontColor);p.font=A.font,p.fillStyle=l;var u=t.getIndexAngle(s),f=b.toDegrees(u);p.textAlign=O(f),a(f,t._pointLabelSizes[s],q),i(p,t.pointLabels[s]||"",q,A.size)}}}(t)}}});M.registerScaleType("radialLinear",s,p)}},"8L3F":function(t,e,p){"use strict";p.r(e),function(t){for(var p="undefined"!=typeof window&&"undefined"!=typeof document,o=["Edge","Trident","Firefox"],b=0,M=0;M=0){b=1;break}var n=p&&window.Promise?function(t){var e=!1;return function(){e||(e=!0,window.Promise.resolve().then((function(){e=!1,t()})))}}:function(t){var e=!1;return function(){e||(e=!0,setTimeout((function(){e=!1,t()}),b))}};function z(t){return t&&"[object Function]"==={}.toString.call(t)}function r(t,e){if(1!==t.nodeType)return[];var p=t.ownerDocument.defaultView.getComputedStyle(t,null);return e?p[e]:p}function c(t){return"HTML"===t.nodeName?t:t.parentNode||t.host}function O(t){if(!t)return document.body;switch(t.nodeName){case"HTML":case"BODY":return t.ownerDocument.body;case"#document":return t.body}var e=r(t),p=e.overflow,o=e.overflowX,b=e.overflowY;return/(auto|scroll|overlay)/.test(p+b+o)?t:O(c(t))}var i=p&&!(!window.MSInputMethodContext||!document.documentMode),a=p&&/MSIE 10/.test(navigator.userAgent);function A(t){return 11===t?i:10===t?a:i||a}function s(t){if(!t)return document.documentElement;for(var e=A(10)?document.body:null,p=t.offsetParent||null;p===e&&t.nextElementSibling;)p=(t=t.nextElementSibling).offsetParent;var o=p&&p.nodeName;return o&&"BODY"!==o&&"HTML"!==o?-1!==["TH","TD","TABLE"].indexOf(p.nodeName)&&"static"===r(p,"position")?s(p):p:t?t.ownerDocument.documentElement:document.documentElement}function d(t){return null!==t.parentNode?d(t.parentNode):t}function q(t,e){if(!(t&&t.nodeType&&e&&e.nodeType))return document.documentElement;var p=t.compareDocumentPosition(e)&Node.DOCUMENT_POSITION_FOLLOWING,o=p?t:e,b=p?e:t,M=document.createRange();M.setStart(o,0),M.setEnd(b,0);var n,z,r=M.commonAncestorContainer;if(t!==r&&e!==r||o.contains(b))return"BODY"===(z=(n=r).nodeName)||"HTML"!==z&&s(n.firstElementChild)!==n?s(r):r;var c=d(t);return c.host?q(c.host,e):q(t,d(e).host)}function l(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"top",p="top"===e?"scrollTop":"scrollLeft",o=t.nodeName;if("BODY"===o||"HTML"===o){var b=t.ownerDocument.documentElement,M=t.ownerDocument.scrollingElement||b;return M[p]}return t[p]}function u(t,e){var p=arguments.length>2&&void 0!==arguments[2]&&arguments[2],o=l(e,"top"),b=l(e,"left"),M=p?-1:1;return t.top+=o*M,t.bottom+=o*M,t.left+=b*M,t.right+=b*M,t}function f(t,e){var p="x"===e?"Left":"Top",o="Left"===p?"Right":"Bottom";return parseFloat(t["border"+p+"Width"],10)+parseFloat(t["border"+o+"Width"],10)}function W(t,e,p,o){return Math.max(e["offset"+t],e["scroll"+t],p["client"+t],p["offset"+t],p["scroll"+t],A(10)?parseInt(p["offset"+t])+parseInt(o["margin"+("Height"===t?"Top":"Left")])+parseInt(o["margin"+("Height"===t?"Bottom":"Right")]):0)}function h(t){var e=t.body,p=t.documentElement,o=A(10)&&getComputedStyle(p);return{height:W("Height",e,p,o),width:W("Width",e,p,o)}}var v=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},R=function(){function t(t,e){for(var p=0;p2&&void 0!==arguments[2]&&arguments[2],o=A(10),b="HTML"===e.nodeName,M=X(t),n=X(e),z=O(t),c=r(e),i=parseFloat(c.borderTopWidth,10),a=parseFloat(c.borderLeftWidth,10);p&&b&&(n.top=Math.max(n.top,0),n.left=Math.max(n.left,0));var s=B({top:M.top-n.top-i,left:M.left-n.left-a,width:M.width,height:M.height});if(s.marginTop=0,s.marginLeft=0,!o&&b){var d=parseFloat(c.marginTop,10),q=parseFloat(c.marginLeft,10);s.top-=i-d,s.bottom-=i-d,s.left-=a-q,s.right-=a-q,s.marginTop=d,s.marginLeft=q}return(o&&!p?e.contains(z):e===z&&"BODY"!==z.nodeName)&&(s=u(s,e)),s}function y(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],p=t.ownerDocument.documentElement,o=L(t,p),b=Math.max(p.clientWidth,window.innerWidth||0),M=Math.max(p.clientHeight,window.innerHeight||0),n=e?0:l(p),z=e?0:l(p,"left"),r={top:n-o.top+o.marginTop,left:z-o.left+o.marginLeft,width:b,height:M};return B(r)}function N(t){var e=t.nodeName;if("BODY"===e||"HTML"===e)return!1;if("fixed"===r(t,"position"))return!0;var p=c(t);return!!p&&N(p)}function _(t){if(!t||!t.parentElement||A())return document.documentElement;for(var e=t.parentElement;e&&"none"===r(e,"transform");)e=e.parentElement;return e||document.documentElement}function T(t,e,p,o){var b=arguments.length>4&&void 0!==arguments[4]&&arguments[4],M={top:0,left:0},n=b?_(t):q(t,e);if("viewport"===o)M=y(n,b);else{var z=void 0;"scrollParent"===o?"BODY"===(z=O(c(e))).nodeName&&(z=t.ownerDocument.documentElement):z="window"===o?t.ownerDocument.documentElement:o;var r=L(z,n,b);if("HTML"!==z.nodeName||N(n))M=r;else{var i=h(t.ownerDocument),a=i.height,A=i.width;M.top+=r.top-r.marginTop,M.bottom=a+r.top,M.left+=r.left-r.marginLeft,M.right=A+r.left}}var s="number"==typeof(p=p||0);return M.left+=s?p:p.left||0,M.top+=s?p:p.top||0,M.right-=s?p:p.right||0,M.bottom-=s?p:p.bottom||0,M}function x(t){return t.width*t.height}function w(t,e,p,o,b){var M=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0;if(-1===t.indexOf("auto"))return t;var n=T(p,o,M,b),z={top:{width:n.width,height:e.top-n.top},right:{width:n.right-e.right,height:n.height},bottom:{width:n.width,height:n.bottom-e.bottom},left:{width:e.left-n.left,height:n.height}},r=Object.keys(z).map((function(t){return g({key:t},z[t],{area:x(z[t])})})).sort((function(t,e){return e.area-t.area})),c=r.filter((function(t){var e=t.width,o=t.height;return e>=p.clientWidth&&o>=p.clientHeight})),O=c.length>0?c[0].key:r[0].key,i=t.split("-")[1];return O+(i?"-"+i:"")}function C(t,e,p){var o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,b=o?_(e):q(e,p);return L(p,b,o)}function S(t){var e=t.ownerDocument.defaultView.getComputedStyle(t),p=parseFloat(e.marginTop||0)+parseFloat(e.marginBottom||0),o=parseFloat(e.marginLeft||0)+parseFloat(e.marginRight||0);return{width:t.offsetWidth+o,height:t.offsetHeight+p}}function H(t){var e={left:"right",right:"left",bottom:"top",top:"bottom"};return t.replace(/left|right|bottom|top/g,(function(t){return e[t]}))}function F(t,e,p){p=p.split("-")[0];var o=S(t),b={width:o.width,height:o.height},M=-1!==["right","left"].indexOf(p),n=M?"top":"left",z=M?"left":"top",r=M?"height":"width",c=M?"width":"height";return b[n]=e[n]+e[r]/2-o[r]/2,b[z]=p===z?e[z]-o[c]:e[H(z)],b}function k(t,e){return Array.prototype.find?t.find(e):t.filter(e)[0]}function E(t,e,p){return(void 0===p?t:t.slice(0,function(t,e,p){if(Array.prototype.findIndex)return t.findIndex((function(t){return t[e]===p}));var o=k(t,(function(t){return t[e]===p}));return t.indexOf(o)}(t,"name",p))).forEach((function(t){t.function;var p=t.function||t.fn;t.enabled&&z(p)&&(e.offsets.popper=B(e.offsets.popper),e.offsets.reference=B(e.offsets.reference),e=p(e,t))})),e}function D(){if(!this.state.isDestroyed){var t={instance:this,styles:{},arrowStyles:{},attributes:{},flipped:!1,offsets:{}};t.offsets.reference=C(this.state,this.popper,this.reference,this.options.positionFixed),t.placement=w(this.options.placement,t.offsets.reference,this.popper,this.reference,this.options.modifiers.flip.boundariesElement,this.options.modifiers.flip.padding),t.originalPlacement=t.placement,t.positionFixed=this.options.positionFixed,t.offsets.popper=F(this.popper,t.offsets.reference,t.placement),t.offsets.popper.position=this.options.positionFixed?"fixed":"absolute",t=E(this.modifiers,t),this.state.isCreated?this.options.onUpdate(t):(this.state.isCreated=!0,this.options.onCreate(t))}}function I(t,e){return t.some((function(t){var p=t.name;return t.enabled&&p===e}))}function P(t){for(var e=[!1,"ms","Webkit","Moz","O"],p=t.charAt(0).toUpperCase()+t.slice(1),o=0;o1&&void 0!==arguments[1]&&arguments[1],p=tt.indexOf(t),o=tt.slice(p+1).concat(tt.slice(0,p));return e?o.reverse():o}var pt="flip",ot="clockwise",bt="counterclockwise";function Mt(t,e,p,o){var b=[0,0],M=-1!==["right","left"].indexOf(o),n=t.split(/(\+|\-)/).map((function(t){return t.trim()})),z=n.indexOf(k(n,(function(t){return-1!==t.search(/,|\s/)})));n[z]&&n[z].indexOf(",");var r=/\s*,\s*|\s+/,c=-1!==z?[n.slice(0,z).concat([n[z].split(r)[0]]),[n[z].split(r)[1]].concat(n.slice(z+1))]:[n];return(c=c.map((function(t,o){var b=(1===o?!M:M)?"height":"width",n=!1;return t.reduce((function(t,e){return""===t[t.length-1]&&-1!==["+","-"].indexOf(e)?(t[t.length-1]=e,n=!0,t):n?(t[t.length-1]+=e,n=!1,t):t.concat(e)}),[]).map((function(t){return function(t,e,p,o){var b=t.match(/((?:\-|\+)?\d*\.?\d*)(.*)/),M=+b[1],n=b[2];if(!M)return t;if(0===n.indexOf("%")){var z=void 0;switch(n){case"%p":z=p;break;case"%":case"%r":default:z=o}return B(z)[e]/100*M}if("vh"===n||"vw"===n){return("vh"===n?Math.max(document.documentElement.clientHeight,window.innerHeight||0):Math.max(document.documentElement.clientWidth,window.innerWidth||0))/100*M}return M}(t,b,e,p)}))}))).forEach((function(t,e){t.forEach((function(p,o){Y(p)&&(b[e]+=p*("-"===t[o-1]?-1:1))}))})),b}var nt={placement:"bottom",positionFixed:!1,eventsEnabled:!0,removeOnDestroy:!1,onCreate:function(){},onUpdate:function(){},modifiers:{shift:{order:100,enabled:!0,fn:function(t){var e=t.placement,p=e.split("-")[0],o=e.split("-")[1];if(o){var b=t.offsets,M=b.reference,n=b.popper,z=-1!==["bottom","top"].indexOf(p),r=z?"left":"top",c=z?"width":"height",O={start:m({},r,M[r]),end:m({},r,M[r]+M[c]-n[c])};t.offsets.popper=g({},n,O[o])}return t}},offset:{order:200,enabled:!0,fn:function(t,e){var p=e.offset,o=t.placement,b=t.offsets,M=b.popper,n=b.reference,z=o.split("-")[0],r=void 0;return r=Y(+p)?[+p,0]:Mt(p,M,n,z),"left"===z?(M.top+=r[0],M.left-=r[1]):"right"===z?(M.top+=r[0],M.left+=r[1]):"top"===z?(M.left+=r[0],M.top-=r[1]):"bottom"===z&&(M.left+=r[0],M.top+=r[1]),t.popper=M,t},offset:0},preventOverflow:{order:300,enabled:!0,fn:function(t,e){var p=e.boundariesElement||s(t.instance.popper);t.instance.reference===p&&(p=s(p));var o=P("transform"),b=t.instance.popper.style,M=b.top,n=b.left,z=b[o];b.top="",b.left="",b[o]="";var r=T(t.instance.popper,t.instance.reference,e.padding,p,t.positionFixed);b.top=M,b.left=n,b[o]=z,e.boundaries=r;var c=e.priority,O=t.offsets.popper,i={primary:function(t){var p=O[t];return O[t]r[t]&&!e.escapeWithReference&&(o=Math.min(O[p],r[t]-("right"===t?O.width:O.height))),m({},p,o)}};return c.forEach((function(t){var e=-1!==["left","top"].indexOf(t)?"primary":"secondary";O=g({},O,i[e](t))})),t.offsets.popper=O,t},priority:["left","right","top","bottom"],padding:5,boundariesElement:"scrollParent"},keepTogether:{order:400,enabled:!0,fn:function(t){var e=t.offsets,p=e.popper,o=e.reference,b=t.placement.split("-")[0],M=Math.floor,n=-1!==["top","bottom"].indexOf(b),z=n?"right":"bottom",r=n?"left":"top",c=n?"width":"height";return p[z]M(o[z])&&(t.offsets.popper[r]=M(o[z])),t}},arrow:{order:500,enabled:!0,fn:function(t,e){var p;if(!Q(t.instance.modifiers,"arrow","keepTogether"))return t;var o=e.element;if("string"==typeof o){if(!(o=t.instance.popper.querySelector(o)))return t}else if(!t.instance.popper.contains(o))return t;var b=t.placement.split("-")[0],M=t.offsets,n=M.popper,z=M.reference,c=-1!==["left","right"].indexOf(b),O=c?"height":"width",i=c?"Top":"Left",a=i.toLowerCase(),A=c?"left":"top",s=c?"bottom":"right",d=S(o)[O];z[s]-dn[s]&&(t.offsets.popper[a]+=z[a]+d-n[s]),t.offsets.popper=B(t.offsets.popper);var q=z[a]+z[O]/2-d/2,l=r(t.instance.popper),u=parseFloat(l["margin"+i],10),f=parseFloat(l["border"+i+"Width"],10),W=q-t.offsets.popper[a]-u-f;return W=Math.max(Math.min(n[O]-d,W),0),t.arrowElement=o,t.offsets.arrow=(m(p={},a,Math.round(W)),m(p,A,""),p),t},element:"[x-arrow]"},flip:{order:600,enabled:!0,fn:function(t,e){if(I(t.instance.modifiers,"inner"))return t;if(t.flipped&&t.placement===t.originalPlacement)return t;var p=T(t.instance.popper,t.instance.reference,e.padding,e.boundariesElement,t.positionFixed),o=t.placement.split("-")[0],b=H(o),M=t.placement.split("-")[1]||"",n=[];switch(e.behavior){case pt:n=[o,b];break;case ot:n=et(o);break;case bt:n=et(o,!0);break;default:n=e.behavior}return n.forEach((function(z,r){if(o!==z||n.length===r+1)return t;o=t.placement.split("-")[0],b=H(o);var c=t.offsets.popper,O=t.offsets.reference,i=Math.floor,a="left"===o&&i(c.right)>i(O.left)||"right"===o&&i(c.left)i(O.top)||"bottom"===o&&i(c.top)i(p.right),d=i(c.top)i(p.bottom),l="left"===o&&A||"right"===o&&s||"top"===o&&d||"bottom"===o&&q,u=-1!==["top","bottom"].indexOf(o),f=!!e.flipVariations&&(u&&"start"===M&&A||u&&"end"===M&&s||!u&&"start"===M&&d||!u&&"end"===M&&q);(a||l||f)&&(t.flipped=!0,(a||l)&&(o=n[r+1]),f&&(M=function(t){return"end"===t?"start":"start"===t?"end":t}(M)),t.placement=o+(M?"-"+M:""),t.offsets.popper=g({},t.offsets.popper,F(t.instance.popper,t.offsets.reference,t.placement)),t=E(t.instance.modifiers,t,"flip"))})),t},behavior:"flip",padding:5,boundariesElement:"viewport"},inner:{order:700,enabled:!1,fn:function(t){var e=t.placement,p=e.split("-")[0],o=t.offsets,b=o.popper,M=o.reference,n=-1!==["left","right"].indexOf(p),z=-1===["top","left"].indexOf(p);return b[n?"left":"top"]=M[p]-(z?b[n?"width":"height"]:0),t.placement=H(e),t.offsets.popper=B(b),t}},hide:{order:800,enabled:!0,fn:function(t){if(!Q(t.instance.modifiers,"hide","preventOverflow"))return t;var e=t.offsets.reference,p=k(t.instance.modifiers,(function(t){return"preventOverflow"===t.name})).boundaries;if(e.bottomp.right||e.top>p.bottom||e.right2&&void 0!==arguments[2]?arguments[2]:{};v(this,t),this.scheduleUpdate=function(){return requestAnimationFrame(o.update)},this.update=n(this.update.bind(this)),this.options=g({},t.Defaults,b),this.state={isDestroyed:!1,isCreated:!1,scrollParents:[]},this.reference=e&&e.jquery?e[0]:e,this.popper=p&&p.jquery?p[0]:p,this.options.modifiers={},Object.keys(g({},t.Defaults.modifiers,b.modifiers)).forEach((function(e){o.options.modifiers[e]=g({},t.Defaults.modifiers[e]||{},b.modifiers?b.modifiers[e]:{})})),this.modifiers=Object.keys(this.options.modifiers).map((function(t){return g({name:t},o.options.modifiers[t])})).sort((function(t,e){return t.order-e.order})),this.modifiers.forEach((function(t){t.enabled&&z(t.onLoad)&&t.onLoad(o.reference,o.popper,o.options,t,o.state)})),this.update();var M=this.options.eventsEnabled;M&&this.enableEventListeners(),this.state.eventsEnabled=M}return R(t,[{key:"update",value:function(){return D.call(this)}},{key:"destroy",value:function(){return j.call(this)}},{key:"enableEventListeners",value:function(){return $.call(this)}},{key:"disableEventListeners",value:function(){return K.call(this)}}]),t}();zt.Utils=("undefined"!=typeof window?window:t).PopperUtils,zt.placements=Z,zt.Defaults=nt,e.default=zt}.call(this,p("yLpj"))},"8TtQ":function(t,e,p){"use strict";var o=p("cdu6"),b=p("tjFV");t.exports=function(){var t=o.extend({getLabels:function(){var t=this.chart.data;return this.options.labels||(this.isHorizontal()?t.xLabels:t.yLabels)||t.labels},determineDataLimits:function(){var t,e=this,p=e.getLabels();e.minIndex=0,e.maxIndex=p.length-1,void 0!==e.options.ticks.min&&(t=p.indexOf(e.options.ticks.min),e.minIndex=-1!==t?t:e.minIndex),void 0!==e.options.ticks.max&&(t=p.indexOf(e.options.ticks.max),e.maxIndex=-1!==t?t:e.maxIndex),e.min=p[e.minIndex],e.max=p[e.maxIndex]},buildTicks:function(){var t=this,e=t.getLabels();t.ticks=0===t.minIndex&&t.maxIndex===e.length-1?e:e.slice(t.minIndex,t.maxIndex+1)},getLabelForIndex:function(t,e){var p=this,o=p.chart.data,b=p.isHorizontal();return o.yLabels&&!b?p.getRightValue(o.datasets[e].data[t]):p.ticks[t-p.minIndex]},getPixelForValue:function(t,e){var p,o=this,b=o.options.offset,M=Math.max(o.maxIndex+1-o.minIndex-(b?0:1),1);if(null!=t&&(p=o.isHorizontal()?t.x:t.y),void 0!==p||void 0!==t&&isNaN(e)){t=p||t;var n=o.getLabels().indexOf(t);e=-1!==n?n:e}if(o.isHorizontal()){var z=o.width/M,r=z*(e-o.minIndex);return b&&(r+=z/2),o.left+Math.round(r)}var c=o.height/M,O=c*(e-o.minIndex);return b&&(O+=c/2),o.top+Math.round(O)},getPixelForTick:function(t){return this.getPixelForValue(this.ticks[t],t+this.minIndex,null)},getValueForPixel:function(t){var e=this,p=e.options.offset,o=Math.max(e._ticks.length-(p?0:1),1),b=e.isHorizontal(),M=(b?e.width:e.height)/o;return t-=b?e.left:e.top,p&&(t-=M/2),(t<=0?0:Math.round(t/M))+e.minIndex},getBasePixel:function(){return this.bottom}});b.registerScaleType("category",t,{position:"bottom"})}},"8oxB":function(t,e){var p,o,b=t.exports={};function M(){throw new Error("setTimeout has not been defined")}function n(){throw new Error("clearTimeout has not been defined")}function z(t){if(p===setTimeout)return setTimeout(t,0);if((p===M||!p)&&setTimeout)return p=setTimeout,setTimeout(t,0);try{return p(t,0)}catch(e){try{return p.call(null,t,0)}catch(e){return p.call(this,t,0)}}}!function(){try{p="function"==typeof setTimeout?setTimeout:M}catch(t){p=M}try{o="function"==typeof clearTimeout?clearTimeout:n}catch(t){o=n}}();var r,c=[],O=!1,i=-1;function a(){O&&r&&(O=!1,r.length?c=r.concat(c):i=-1,c.length&&A())}function A(){if(!O){var t=z(a);O=!0;for(var e=c.length;e;){for(r=c,c=[];++i1)for(var p=1;p');for(var p=0;p'),t.data.datasets[p].label&&e.push(t.data.datasets[p].label),e.push("");return e.push(""),e.join("")}});var c=b.extend({initialize:function(t){M.extend(this,t),this.legendHitBoxes=[],this.doughnutMode=!1},beforeUpdate:z,update:function(t,e,p){var o=this;return o.beforeUpdate(),o.maxWidth=t,o.maxHeight=e,o.margins=p,o.beforeSetDimensions(),o.setDimensions(),o.afterSetDimensions(),o.beforeBuildLabels(),o.buildLabels(),o.afterBuildLabels(),o.beforeFit(),o.fit(),o.afterFit(),o.afterUpdate(),o.minSize},afterUpdate:z,beforeSetDimensions:z,setDimensions:function(){var t=this;t.isHorizontal()?(t.width=t.maxWidth,t.left=0,t.right=t.width):(t.height=t.maxHeight,t.top=0,t.bottom=t.height),t.paddingLeft=0,t.paddingTop=0,t.paddingRight=0,t.paddingBottom=0,t.minSize={width:0,height:0}},afterSetDimensions:z,beforeBuildLabels:z,buildLabels:function(){var t=this,e=t.options.labels||{},p=M.callback(e.generateLabels,[t.chart],t)||[];e.filter&&(p=p.filter((function(p){return e.filter(p,t.chart.data)}))),t.options.reverse&&p.reverse(),t.legendItems=p},afterBuildLabels:z,beforeFit:z,fit:function(){var t=this,e=t.options,p=e.labels,b=e.display,n=t.ctx,z=o.global,c=M.valueOrDefault,O=c(p.fontSize,z.defaultFontSize),i=c(p.fontStyle,z.defaultFontStyle),a=c(p.fontFamily,z.defaultFontFamily),A=M.fontString(O,i,a),s=t.legendHitBoxes=[],d=t.minSize,q=t.isHorizontal();if(q?(d.width=t.maxWidth,d.height=b?10:0):(d.width=b?10:0,d.height=t.maxHeight),b)if(n.font=A,q){var l=t.lineWidths=[0],u=t.legendItems.length?O+p.padding:0;n.textAlign="left",n.textBaseline="top",M.each(t.legendItems,(function(e,o){var b=r(p,O)+O/2+n.measureText(e.text).width;l[l.length-1]+b+p.padding>=t.width&&(u+=O+p.padding,l[l.length]=t.left),s[o]={left:0,top:0,width:b,height:O},l[l.length-1]+=b+p.padding})),d.height+=u}else{var f=p.padding,W=t.columnWidths=[],h=p.padding,v=0,R=0,m=O+f;M.each(t.legendItems,(function(t,e){var o=r(p,O)+O/2+n.measureText(t.text).width;R+m>d.height&&(h+=v+p.padding,W.push(v),v=0,R=0),v=Math.max(v,o),R+=m,s[e]={left:0,top:0,width:o,height:O}})),h+=v,W.push(v),d.width+=h}t.width=d.width,t.height=d.height},afterFit:z,isHorizontal:function(){return"top"===this.options.position||"bottom"===this.options.position},draw:function(){var t=this,e=t.options,p=e.labels,b=o.global,n=b.elements.line,z=t.width,c=t.lineWidths;if(e.display){var O,i=t.ctx,a=M.valueOrDefault,A=a(p.fontColor,b.defaultFontColor),s=a(p.fontSize,b.defaultFontSize),d=a(p.fontStyle,b.defaultFontStyle),q=a(p.fontFamily,b.defaultFontFamily),l=M.fontString(s,d,q);i.textAlign="left",i.textBaseline="middle",i.lineWidth=.5,i.strokeStyle=A,i.fillStyle=A,i.font=l;var u=r(p,s),f=t.legendHitBoxes,W=t.isHorizontal();O=W?{x:t.left+(z-c[0])/2,y:t.top+p.padding,line:0}:{x:t.left+p.padding,y:t.top+p.padding,line:0};var h=s+p.padding;M.each(t.legendItems,(function(o,r){var A=i.measureText(o.text).width,d=u+s/2+A,q=O.x,l=O.y;W?q+d>=z&&(l=O.y+=h,O.line++,q=O.x=t.left+(z-c[O.line])/2):l+h>t.bottom&&(q=O.x=q+t.columnWidths[O.line]+p.padding,l=O.y=t.top+p.padding,O.line++),function(t,p,o){if(!(isNaN(u)||u<=0)){i.save(),i.fillStyle=a(o.fillStyle,b.defaultColor),i.lineCap=a(o.lineCap,n.borderCapStyle),i.lineDashOffset=a(o.lineDashOffset,n.borderDashOffset),i.lineJoin=a(o.lineJoin,n.borderJoinStyle),i.lineWidth=a(o.lineWidth,n.borderWidth),i.strokeStyle=a(o.strokeStyle,b.defaultColor);var z=0===a(o.lineWidth,n.borderWidth);if(i.setLineDash&&i.setLineDash(a(o.lineDash,n.borderDash)),e.labels&&e.labels.usePointStyle){var r=s*Math.SQRT2/2,c=r/Math.SQRT2,O=t+c,A=p+c;M.canvas.drawPoint(i,o.pointStyle,r,O,A)}else z||i.strokeRect(t,p,u,s),i.fillRect(t,p,u,s);i.restore()}}(q,l,o),f[r].left=q,f[r].top=l,function(t,e,p,o){var b=s/2,M=u+b+t,n=e+b;i.fillText(p.text,M,n),p.hidden&&(i.beginPath(),i.lineWidth=2,i.moveTo(M,n),i.lineTo(M+o,n),i.stroke())}(q,l,o,A),W?O.x+=d+p.padding:O.y+=h}))}},handleEvent:function(t){var e=this,p=e.options,o="mouseup"===t.type?"click":t.type,b=!1;if("mousemove"===o){if(!p.onHover)return}else{if("click"!==o)return;if(!p.onClick)return}var M=t.x,n=t.y;if(M>=e.left&&M<=e.right&&n>=e.top&&n<=e.bottom)for(var z=e.legendHitBoxes,r=0;r=c.left&&M<=c.left+c.width&&n>=c.top&&n<=c.top+c.height){if("click"===o){p.onClick.call(e,t.native,e.legendItems[r]),b=!0;break}if("mousemove"===o){p.onHover.call(e,t.native,e.legendItems[r]),b=!0;break}}}return b}});function O(t,e){var p=new c({ctx:t.ctx,options:e,chart:t});n.configure(t,p,e),n.addBox(t,p),t.legend=p}t.exports={id:"legend",_element:c,beforeInit:function(t){var e=t.options.legend;e&&O(t,e)},beforeUpdate:function(t){var e=t.options.legend,p=t.legend;e?(M.mergeIf(e,o.global.legend),p?(n.configure(t,p,e),p.options=e):O(t,e)):p&&(n.removeBox(t,p),delete t.legend)},afterEvent:function(t,e){var p=t.legend;p&&p.handleEvent(e)}}},As3K:function(t,e,p){"use strict";var o=p("TC34");t.exports={toLineHeight:function(t,e){var p=(""+t).match(/^(normal|(\d+(?:\.\d+)?)(px|em|%)?)$/);if(!p||"normal"===p[1])return 1.2*e;switch(t=+p[2],p[3]){case"px":return t;case"%":t/=100}return e*t},toPadding:function(t){var e,p,b,M;return o.isObject(t)?(e=+t.top||0,p=+t.right||0,b=+t.bottom||0,M=+t.left||0):e=p=b=M=+t||0,{top:e,right:p,bottom:b,left:M,height:e+b,width:M+p}},resolve:function(t,e,p){var b,M,n;for(b=0,M=t.length;b96?t-87:t>64?t-29:t-48}function O(t){var e=0,p=t.split("."),o=p[0],b=p[1]||"",M=1,n=0,z=1;for(45===t.charCodeAt(0)&&(e=1,z=-1);e3){var e=b[v(t)];if(e)return e;X("Moment Timezone found "+t+" from the Intl api, but did not have that data loaded.")}}catch(t){}var p,o,M,n=function(){var t,e,p,o=(new Date).getFullYear()-2,b=new d(new Date(o,0,1)),M=[b];for(p=1;p<48;p++)(e=new d(new Date(o,p,1))).offset!==b.offset&&(t=l(b,e),M.push(t),M.push(new d(new Date(t.at+6e4)))),b=e;for(p=0;p<4;p++)M.push(new d(new Date(o+p,0,1))),M.push(new d(new Date(o+p,6,1)));return M}(),z=n.length,r=W(n),c=[];for(o=0;o0?c[0].zone.name:void 0}function v(t){return(t||"").toLowerCase().replace(/\//g,"_")}function R(t){var e,o,M,n;for("string"==typeof t&&(t=[t]),e=0;e= 2.6.0. You are using Moment.js "+t.version+". See momentjs.com"),s.prototype={_set:function(t){this.name=t.name,this.abbrs=t.abbrs,this.untils=t.untils,this.offsets=t.offsets,this.population=t.population},_index:function(t){var e,p=+t,o=this.untils;for(e=0;eo&&L.moveInvalidForward&&(e=o),M0&&e-1 in t)}R.fn=R.prototype={jquery:"3.4.1",constructor:R,length:0,toArray:function(){return r.call(this)},get:function(t){return null==t?r.call(this):t<0?this[t+this.length]:this[t]},pushStack:function(t){var e=R.merge(this.constructor(),t);return e.prevObject=this,e},each:function(t){return R.each(this,t)},map:function(t){return this.pushStack(R.map(this,(function(e,p){return t.call(e,p,e)})))},slice:function(){return this.pushStack(r.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(t){var e=this.length,p=+t+(t<0?e:0);return this.pushStack(p>=0&&p+~]|"+H+")"+H+"*"),V=new RegExp(H+"|>"),U=new RegExp(E),$=new RegExp("^"+F+"$"),K={ID:new RegExp("^#("+F+")"),CLASS:new RegExp("^\\.("+F+")"),TAG:new RegExp("^("+F+"|[*])"),ATTR:new RegExp("^"+k),PSEUDO:new RegExp("^"+E),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+H+"*(even|odd|(([+-]|)(\\d*)n|)"+H+"*(?:([+-]|)"+H+"*(\\d+)|))"+H+"*\\)|)","i"),bool:new RegExp("^(?:"+S+")$","i"),needsContext:new RegExp("^"+H+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+H+"*((?:-\\d)?\\d*)"+H+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,G=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,Q=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,tt=/[+~]/,et=new RegExp("\\\\([\\da-f]{1,6}"+H+"?|("+H+")|.)","ig"),pt=function(t,e,p){var o="0x"+e-65536;return o!=o||p?e:o<0?String.fromCharCode(o+65536):String.fromCharCode(o>>10|55296,1023&o|56320)},ot=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,bt=function(t,e){return e?"\0"===t?"�":t.slice(0,-1)+"\\"+t.charCodeAt(t.length-1).toString(16)+" ":"\\"+t},Mt=function(){a()},nt=Wt((function(t){return!0===t.disabled&&"fieldset"===t.nodeName.toLowerCase()}),{dir:"parentNode",next:"legend"});try{x.apply(N=w.call(h.childNodes),h.childNodes),N[h.childNodes.length].nodeType}catch(t){x={apply:N.length?function(t,e){T.apply(t,w.call(e))}:function(t,e){for(var p=t.length,o=0;t[p++]=e[o++];);t.length=p-1}}}function zt(t,e,o,b){var M,z,c,O,i,s,l,u=e&&e.ownerDocument,v=e?e.nodeType:9;if(o=o||[],"string"!=typeof t||!t||1!==v&&9!==v&&11!==v)return o;if(!b&&((e?e.ownerDocument||e:h)!==A&&a(e),e=e||A,d)){if(11!==v&&(i=Z.exec(t)))if(M=i[1]){if(9===v){if(!(c=e.getElementById(M)))return o;if(c.id===M)return o.push(c),o}else if(u&&(c=u.getElementById(M))&&f(e,c)&&c.id===M)return o.push(c),o}else{if(i[2])return x.apply(o,e.getElementsByTagName(t)),o;if((M=i[3])&&p.getElementsByClassName&&e.getElementsByClassName)return x.apply(o,e.getElementsByClassName(M)),o}if(p.qsa&&!X[t+" "]&&(!q||!q.test(t))&&(1!==v||"object"!==e.nodeName.toLowerCase())){if(l=t,u=e,1===v&&V.test(t)){for((O=e.getAttribute("id"))?O=O.replace(ot,bt):e.setAttribute("id",O=W),z=(s=n(t)).length;z--;)s[z]="#"+O+" "+ft(s[z]);l=s.join(","),u=tt.test(t)&<(e.parentNode)||e}try{return x.apply(o,u.querySelectorAll(l)),o}catch(e){X(t,!0)}finally{O===W&&e.removeAttribute("id")}}}return r(t.replace(I,"$1"),e,o,b)}function rt(){var t=[];return function e(p,b){return t.push(p+" ")>o.cacheLength&&delete e[t.shift()],e[p+" "]=b}}function ct(t){return t[W]=!0,t}function Ot(t){var e=A.createElement("fieldset");try{return!!t(e)}catch(t){return!1}finally{e.parentNode&&e.parentNode.removeChild(e),e=null}}function it(t,e){for(var p=t.split("|"),b=p.length;b--;)o.attrHandle[p[b]]=e}function at(t,e){var p=e&&t,o=p&&1===t.nodeType&&1===e.nodeType&&t.sourceIndex-e.sourceIndex;if(o)return o;if(p)for(;p=p.nextSibling;)if(p===e)return-1;return t?1:-1}function At(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function st(t){return function(e){var p=e.nodeName.toLowerCase();return("input"===p||"button"===p)&&e.type===t}}function dt(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&nt(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function qt(t){return ct((function(e){return e=+e,ct((function(p,o){for(var b,M=t([],p.length,e),n=M.length;n--;)p[b=M[n]]&&(p[b]=!(o[b]=p[b]))}))}))}function lt(t){return t&&void 0!==t.getElementsByTagName&&t}for(e in p=zt.support={},M=zt.isXML=function(t){var e=t.namespaceURI,p=(t.ownerDocument||t).documentElement;return!Y.test(e||p&&p.nodeName||"HTML")},a=zt.setDocument=function(t){var e,b,n=t?t.ownerDocument||t:h;return n!==A&&9===n.nodeType&&n.documentElement?(s=(A=n).documentElement,d=!M(A),h!==A&&(b=A.defaultView)&&b.top!==b&&(b.addEventListener?b.addEventListener("unload",Mt,!1):b.attachEvent&&b.attachEvent("onunload",Mt)),p.attributes=Ot((function(t){return t.className="i",!t.getAttribute("className")})),p.getElementsByTagName=Ot((function(t){return t.appendChild(A.createComment("")),!t.getElementsByTagName("*").length})),p.getElementsByClassName=Q.test(A.getElementsByClassName),p.getById=Ot((function(t){return s.appendChild(t).id=W,!A.getElementsByName||!A.getElementsByName(W).length})),p.getById?(o.filter.ID=function(t){var e=t.replace(et,pt);return function(t){return t.getAttribute("id")===e}},o.find.ID=function(t,e){if(void 0!==e.getElementById&&d){var p=e.getElementById(t);return p?[p]:[]}}):(o.filter.ID=function(t){var e=t.replace(et,pt);return function(t){var p=void 0!==t.getAttributeNode&&t.getAttributeNode("id");return p&&p.value===e}},o.find.ID=function(t,e){if(void 0!==e.getElementById&&d){var p,o,b,M=e.getElementById(t);if(M){if((p=M.getAttributeNode("id"))&&p.value===t)return[M];for(b=e.getElementsByName(t),o=0;M=b[o++];)if((p=M.getAttributeNode("id"))&&p.value===t)return[M]}return[]}}),o.find.TAG=p.getElementsByTagName?function(t,e){return void 0!==e.getElementsByTagName?e.getElementsByTagName(t):p.qsa?e.querySelectorAll(t):void 0}:function(t,e){var p,o=[],b=0,M=e.getElementsByTagName(t);if("*"===t){for(;p=M[b++];)1===p.nodeType&&o.push(p);return o}return M},o.find.CLASS=p.getElementsByClassName&&function(t,e){if(void 0!==e.getElementsByClassName&&d)return e.getElementsByClassName(t)},l=[],q=[],(p.qsa=Q.test(A.querySelectorAll))&&(Ot((function(t){s.appendChild(t).innerHTML="",t.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+H+"*(?:''|\"\")"),t.querySelectorAll("[selected]").length||q.push("\\["+H+"*(?:value|"+S+")"),t.querySelectorAll("[id~="+W+"-]").length||q.push("~="),t.querySelectorAll(":checked").length||q.push(":checked"),t.querySelectorAll("a#"+W+"+*").length||q.push(".#.+[+~]")})),Ot((function(t){t.innerHTML="";var e=A.createElement("input");e.setAttribute("type","hidden"),t.appendChild(e).setAttribute("name","D"),t.querySelectorAll("[name=d]").length&&q.push("name"+H+"*[*^$|!~]?="),2!==t.querySelectorAll(":enabled").length&&q.push(":enabled",":disabled"),s.appendChild(t).disabled=!0,2!==t.querySelectorAll(":disabled").length&&q.push(":enabled",":disabled"),t.querySelectorAll("*,:x"),q.push(",.*:")}))),(p.matchesSelector=Q.test(u=s.matches||s.webkitMatchesSelector||s.mozMatchesSelector||s.oMatchesSelector||s.msMatchesSelector))&&Ot((function(t){p.disconnectedMatch=u.call(t,"*"),u.call(t,"[s!='']:x"),l.push("!=",E)})),q=q.length&&new RegExp(q.join("|")),l=l.length&&new RegExp(l.join("|")),e=Q.test(s.compareDocumentPosition),f=e||Q.test(s.contains)?function(t,e){var p=9===t.nodeType?t.documentElement:t,o=e&&e.parentNode;return t===o||!(!o||1!==o.nodeType||!(p.contains?p.contains(o):t.compareDocumentPosition&&16&t.compareDocumentPosition(o)))}:function(t,e){if(e)for(;e=e.parentNode;)if(e===t)return!0;return!1},L=e?function(t,e){if(t===e)return i=!0,0;var o=!t.compareDocumentPosition-!e.compareDocumentPosition;return o||(1&(o=(t.ownerDocument||t)===(e.ownerDocument||e)?t.compareDocumentPosition(e):1)||!p.sortDetached&&e.compareDocumentPosition(t)===o?t===A||t.ownerDocument===h&&f(h,t)?-1:e===A||e.ownerDocument===h&&f(h,e)?1:O?C(O,t)-C(O,e):0:4&o?-1:1)}:function(t,e){if(t===e)return i=!0,0;var p,o=0,b=t.parentNode,M=e.parentNode,n=[t],z=[e];if(!b||!M)return t===A?-1:e===A?1:b?-1:M?1:O?C(O,t)-C(O,e):0;if(b===M)return at(t,e);for(p=t;p=p.parentNode;)n.unshift(p);for(p=e;p=p.parentNode;)z.unshift(p);for(;n[o]===z[o];)o++;return o?at(n[o],z[o]):n[o]===h?-1:z[o]===h?1:0},A):A},zt.matches=function(t,e){return zt(t,null,null,e)},zt.matchesSelector=function(t,e){if((t.ownerDocument||t)!==A&&a(t),p.matchesSelector&&d&&!X[e+" "]&&(!l||!l.test(e))&&(!q||!q.test(e)))try{var o=u.call(t,e);if(o||p.disconnectedMatch||t.document&&11!==t.document.nodeType)return o}catch(t){X(e,!0)}return zt(e,A,null,[t]).length>0},zt.contains=function(t,e){return(t.ownerDocument||t)!==A&&a(t),f(t,e)},zt.attr=function(t,e){(t.ownerDocument||t)!==A&&a(t);var b=o.attrHandle[e.toLowerCase()],M=b&&y.call(o.attrHandle,e.toLowerCase())?b(t,e,!d):void 0;return void 0!==M?M:p.attributes||!d?t.getAttribute(e):(M=t.getAttributeNode(e))&&M.specified?M.value:null},zt.escape=function(t){return(t+"").replace(ot,bt)},zt.error=function(t){throw new Error("Syntax error, unrecognized expression: "+t)},zt.uniqueSort=function(t){var e,o=[],b=0,M=0;if(i=!p.detectDuplicates,O=!p.sortStable&&t.slice(0),t.sort(L),i){for(;e=t[M++];)e===t[M]&&(b=o.push(M));for(;b--;)t.splice(o[b],1)}return O=null,t},b=zt.getText=function(t){var e,p="",o=0,M=t.nodeType;if(M){if(1===M||9===M||11===M){if("string"==typeof t.textContent)return t.textContent;for(t=t.firstChild;t;t=t.nextSibling)p+=b(t)}else if(3===M||4===M)return t.nodeValue}else for(;e=t[o++];)p+=b(e);return p},(o=zt.selectors={cacheLength:50,createPseudo:ct,match:K,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(t){return t[1]=t[1].replace(et,pt),t[3]=(t[3]||t[4]||t[5]||"").replace(et,pt),"~="===t[2]&&(t[3]=" "+t[3]+" "),t.slice(0,4)},CHILD:function(t){return t[1]=t[1].toLowerCase(),"nth"===t[1].slice(0,3)?(t[3]||zt.error(t[0]),t[4]=+(t[4]?t[5]+(t[6]||1):2*("even"===t[3]||"odd"===t[3])),t[5]=+(t[7]+t[8]||"odd"===t[3])):t[3]&&zt.error(t[0]),t},PSEUDO:function(t){var e,p=!t[6]&&t[2];return K.CHILD.test(t[0])?null:(t[3]?t[2]=t[4]||t[5]||"":p&&U.test(p)&&(e=n(p,!0))&&(e=p.indexOf(")",p.length-e)-p.length)&&(t[0]=t[0].slice(0,e),t[2]=p.slice(0,e)),t.slice(0,3))}},filter:{TAG:function(t){var e=t.replace(et,pt).toLowerCase();return"*"===t?function(){return!0}:function(t){return t.nodeName&&t.nodeName.toLowerCase()===e}},CLASS:function(t){var e=m[t+" "];return e||(e=new RegExp("(^|"+H+")"+t+"("+H+"|$)"))&&m(t,(function(t){return e.test("string"==typeof t.className&&t.className||void 0!==t.getAttribute&&t.getAttribute("class")||"")}))},ATTR:function(t,e,p){return function(o){var b=zt.attr(o,t);return null==b?"!="===e:!e||(b+="","="===e?b===p:"!="===e?b!==p:"^="===e?p&&0===b.indexOf(p):"*="===e?p&&b.indexOf(p)>-1:"$="===e?p&&b.slice(-p.length)===p:"~="===e?(" "+b.replace(D," ")+" ").indexOf(p)>-1:"|="===e&&(b===p||b.slice(0,p.length+1)===p+"-"))}},CHILD:function(t,e,p,o,b){var M="nth"!==t.slice(0,3),n="last"!==t.slice(-4),z="of-type"===e;return 1===o&&0===b?function(t){return!!t.parentNode}:function(e,p,r){var c,O,i,a,A,s,d=M!==n?"nextSibling":"previousSibling",q=e.parentNode,l=z&&e.nodeName.toLowerCase(),u=!r&&!z,f=!1;if(q){if(M){for(;d;){for(a=e;a=a[d];)if(z?a.nodeName.toLowerCase()===l:1===a.nodeType)return!1;s=d="only"===t&&!s&&"nextSibling"}return!0}if(s=[n?q.firstChild:q.lastChild],n&&u){for(f=(A=(c=(O=(i=(a=q)[W]||(a[W]={}))[a.uniqueID]||(i[a.uniqueID]={}))[t]||[])[0]===v&&c[1])&&c[2],a=A&&q.childNodes[A];a=++A&&a&&a[d]||(f=A=0)||s.pop();)if(1===a.nodeType&&++f&&a===e){O[t]=[v,A,f];break}}else if(u&&(f=A=(c=(O=(i=(a=e)[W]||(a[W]={}))[a.uniqueID]||(i[a.uniqueID]={}))[t]||[])[0]===v&&c[1]),!1===f)for(;(a=++A&&a&&a[d]||(f=A=0)||s.pop())&&((z?a.nodeName.toLowerCase()!==l:1!==a.nodeType)||!++f||(u&&((O=(i=a[W]||(a[W]={}))[a.uniqueID]||(i[a.uniqueID]={}))[t]=[v,f]),a!==e)););return(f-=b)===o||f%o==0&&f/o>=0}}},PSEUDO:function(t,e){var p,b=o.pseudos[t]||o.setFilters[t.toLowerCase()]||zt.error("unsupported pseudo: "+t);return b[W]?b(e):b.length>1?(p=[t,t,"",e],o.setFilters.hasOwnProperty(t.toLowerCase())?ct((function(t,p){for(var o,M=b(t,e),n=M.length;n--;)t[o=C(t,M[n])]=!(p[o]=M[n])})):function(t){return b(t,0,p)}):b}},pseudos:{not:ct((function(t){var e=[],p=[],o=z(t.replace(I,"$1"));return o[W]?ct((function(t,e,p,b){for(var M,n=o(t,null,b,[]),z=t.length;z--;)(M=n[z])&&(t[z]=!(e[z]=M))})):function(t,b,M){return e[0]=t,o(e,null,M,p),e[0]=null,!p.pop()}})),has:ct((function(t){return function(e){return zt(t,e).length>0}})),contains:ct((function(t){return t=t.replace(et,pt),function(e){return(e.textContent||b(e)).indexOf(t)>-1}})),lang:ct((function(t){return $.test(t||"")||zt.error("unsupported lang: "+t),t=t.replace(et,pt).toLowerCase(),function(e){var p;do{if(p=d?e.lang:e.getAttribute("xml:lang")||e.getAttribute("lang"))return(p=p.toLowerCase())===t||0===p.indexOf(t+"-")}while((e=e.parentNode)&&1===e.nodeType);return!1}})),target:function(e){var p=t.location&&t.location.hash;return p&&p.slice(1)===e.id},root:function(t){return t===s},focus:function(t){return t===A.activeElement&&(!A.hasFocus||A.hasFocus())&&!!(t.type||t.href||~t.tabIndex)},enabled:dt(!1),disabled:dt(!0),checked:function(t){var e=t.nodeName.toLowerCase();return"input"===e&&!!t.checked||"option"===e&&!!t.selected},selected:function(t){return t.parentNode&&t.parentNode.selectedIndex,!0===t.selected},empty:function(t){for(t=t.firstChild;t;t=t.nextSibling)if(t.nodeType<6)return!1;return!0},parent:function(t){return!o.pseudos.empty(t)},header:function(t){return J.test(t.nodeName)},input:function(t){return G.test(t.nodeName)},button:function(t){var e=t.nodeName.toLowerCase();return"input"===e&&"button"===t.type||"button"===e},text:function(t){var e;return"input"===t.nodeName.toLowerCase()&&"text"===t.type&&(null==(e=t.getAttribute("type"))||"text"===e.toLowerCase())},first:qt((function(){return[0]})),last:qt((function(t,e){return[e-1]})),eq:qt((function(t,e,p){return[p<0?p+e:p]})),even:qt((function(t,e){for(var p=0;pe?e:p;--o>=0;)t.push(o);return t})),gt:qt((function(t,e,p){for(var o=p<0?p+e:p;++o1?function(e,p,o){for(var b=t.length;b--;)if(!t[b](e,p,o))return!1;return!0}:t[0]}function vt(t,e,p,o,b){for(var M,n=[],z=0,r=t.length,c=null!=e;z-1&&(M[c]=!(n[c]=i))}}else l=vt(l===n?l.splice(s,l.length):l),b?b(null,n,l,r):x.apply(n,l)}))}function mt(t){for(var e,p,b,M=t.length,n=o.relative[t[0].type],z=n||o.relative[" "],r=n?1:0,O=Wt((function(t){return t===e}),z,!0),i=Wt((function(t){return C(e,t)>-1}),z,!0),a=[function(t,p,o){var b=!n&&(o||p!==c)||((e=p).nodeType?O(t,p,o):i(t,p,o));return e=null,b}];r1&&ht(a),r>1&&ft(t.slice(0,r-1).concat({value:" "===t[r-2].type?"*":""})).replace(I,"$1"),p,r0,b=t.length>0,M=function(M,n,z,r,O){var i,s,q,l=0,u="0",f=M&&[],W=[],h=c,R=M||b&&o.find.TAG("*",O),m=v+=null==h?1:Math.random()||.1,g=R.length;for(O&&(c=n===A||n||O);u!==g&&null!=(i=R[u]);u++){if(b&&i){for(s=0,n||i.ownerDocument===A||(a(i),z=!d);q=t[s++];)if(q(i,n||A,z)){r.push(i);break}O&&(v=m)}p&&((i=!q&&i)&&l--,M&&f.push(i))}if(l+=u,p&&u!==l){for(s=0;q=e[s++];)q(f,W,n,z);if(M){if(l>0)for(;u--;)f[u]||W[u]||(W[u]=_.call(r));W=vt(W)}x.apply(r,W),O&&!M&&W.length>0&&l+e.length>1&&zt.uniqueSort(r)}return O&&(v=m,c=h),f};return p?ct(M):M}(M,b))).selector=t}return z},r=zt.select=function(t,e,p,b){var M,r,c,O,i,a="function"==typeof t&&t,A=!b&&n(t=a.selector||t);if(p=p||[],1===A.length){if((r=A[0]=A[0].slice(0)).length>2&&"ID"===(c=r[0]).type&&9===e.nodeType&&d&&o.relative[r[1].type]){if(!(e=(o.find.ID(c.matches[0].replace(et,pt),e)||[])[0]))return p;a&&(e=e.parentNode),t=t.slice(r.shift().value.length)}for(M=K.needsContext.test(t)?0:r.length;M--&&(c=r[M],!o.relative[O=c.type]);)if((i=o.find[O])&&(b=i(c.matches[0].replace(et,pt),tt.test(r[0].type)&<(e.parentNode)||e))){if(r.splice(M,1),!(t=b.length&&ft(r)))return x.apply(p,b),p;break}}return(a||z(t,A))(b,e,!d,p,!e||tt.test(t)&<(e.parentNode)||e),p},p.sortStable=W.split("").sort(L).join("")===W,p.detectDuplicates=!!i,a(),p.sortDetached=Ot((function(t){return 1&t.compareDocumentPosition(A.createElement("fieldset"))})),Ot((function(t){return t.innerHTML="","#"===t.firstChild.getAttribute("href")}))||it("type|href|height|width",(function(t,e,p){if(!p)return t.getAttribute(e,"type"===e.toLowerCase()?1:2)})),p.attributes&&Ot((function(t){return t.innerHTML="",t.firstChild.setAttribute("value",""),""===t.firstChild.getAttribute("value")}))||it("value",(function(t,e,p){if(!p&&"input"===t.nodeName.toLowerCase())return t.defaultValue})),Ot((function(t){return null==t.getAttribute("disabled")}))||it(S,(function(t,e,p){var o;if(!p)return!0===t[e]?e.toLowerCase():(o=t.getAttributeNode(e))&&o.specified?o.value:null})),zt}(p);R.find=B,R.expr=B.selectors,R.expr[":"]=R.expr.pseudos,R.uniqueSort=R.unique=B.uniqueSort,R.text=B.getText,R.isXMLDoc=B.isXML,R.contains=B.contains,R.escapeSelector=B.escape;var X=function(t,e,p){for(var o=[],b=void 0!==p;(t=t[e])&&9!==t.nodeType;)if(1===t.nodeType){if(b&&R(t).is(p))break;o.push(t)}return o},L=function(t,e){for(var p=[];t;t=t.nextSibling)1===t.nodeType&&t!==e&&p.push(t);return p},y=R.expr.match.needsContext;function N(t,e){return t.nodeName&&t.nodeName.toLowerCase()===e.toLowerCase()}var _=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function T(t,e,p){return u(e)?R.grep(t,(function(t,o){return!!e.call(t,o,t)!==p})):e.nodeType?R.grep(t,(function(t){return t===e!==p})):"string"!=typeof e?R.grep(t,(function(t){return i.call(e,t)>-1!==p})):R.filter(e,t,p)}R.filter=function(t,e,p){var o=e[0];return p&&(t=":not("+t+")"),1===e.length&&1===o.nodeType?R.find.matchesSelector(o,t)?[o]:[]:R.find.matches(t,R.grep(e,(function(t){return 1===t.nodeType})))},R.fn.extend({find:function(t){var e,p,o=this.length,b=this;if("string"!=typeof t)return this.pushStack(R(t).filter((function(){for(e=0;e1?R.uniqueSort(p):p},filter:function(t){return this.pushStack(T(this,t||[],!1))},not:function(t){return this.pushStack(T(this,t||[],!0))},is:function(t){return!!T(this,"string"==typeof t&&y.test(t)?R(t):t||[],!1).length}});var x,w=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(R.fn.init=function(t,e,p){var o,b;if(!t)return this;if(p=p||x,"string"==typeof t){if(!(o="<"===t[0]&&">"===t[t.length-1]&&t.length>=3?[null,t,null]:w.exec(t))||!o[1]&&e)return!e||e.jquery?(e||p).find(t):this.constructor(e).find(t);if(o[1]){if(e=e instanceof R?e[0]:e,R.merge(this,R.parseHTML(o[1],e&&e.nodeType?e.ownerDocument||e:n,!0)),_.test(o[1])&&R.isPlainObject(e))for(o in e)u(this[o])?this[o](e[o]):this.attr(o,e[o]);return this}return(b=n.getElementById(o[2]))&&(this[0]=b,this.length=1),this}return t.nodeType?(this[0]=t,this.length=1,this):u(t)?void 0!==p.ready?p.ready(t):t(R):R.makeArray(t,this)}).prototype=R.fn,x=R(n);var C=/^(?:parents|prev(?:Until|All))/,S={children:!0,contents:!0,next:!0,prev:!0};function H(t,e){for(;(t=t[e])&&1!==t.nodeType;);return t}R.fn.extend({has:function(t){var e=R(t,this),p=e.length;return this.filter((function(){for(var t=0;t-1:1===p.nodeType&&R.find.matchesSelector(p,t))){M.push(p);break}return this.pushStack(M.length>1?R.uniqueSort(M):M)},index:function(t){return t?"string"==typeof t?i.call(R(t),this[0]):i.call(this,t.jquery?t[0]:t):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(t,e){return this.pushStack(R.uniqueSort(R.merge(this.get(),R(t,e))))},addBack:function(t){return this.add(null==t?this.prevObject:this.prevObject.filter(t))}}),R.each({parent:function(t){var e=t.parentNode;return e&&11!==e.nodeType?e:null},parents:function(t){return X(t,"parentNode")},parentsUntil:function(t,e,p){return X(t,"parentNode",p)},next:function(t){return H(t,"nextSibling")},prev:function(t){return H(t,"previousSibling")},nextAll:function(t){return X(t,"nextSibling")},prevAll:function(t){return X(t,"previousSibling")},nextUntil:function(t,e,p){return X(t,"nextSibling",p)},prevUntil:function(t,e,p){return X(t,"previousSibling",p)},siblings:function(t){return L((t.parentNode||{}).firstChild,t)},children:function(t){return L(t.firstChild)},contents:function(t){return void 0!==t.contentDocument?t.contentDocument:(N(t,"template")&&(t=t.content||t),R.merge([],t.childNodes))}},(function(t,e){R.fn[t]=function(p,o){var b=R.map(this,e,p);return"Until"!==t.slice(-5)&&(o=p),o&&"string"==typeof o&&(b=R.filter(o,b)),this.length>1&&(S[t]||R.uniqueSort(b),C.test(t)&&b.reverse()),this.pushStack(b)}}));var F=/[^\x20\t\r\n\f]+/g;function k(t){return t}function E(t){throw t}function D(t,e,p,o){var b;try{t&&u(b=t.promise)?b.call(t).done(e).fail(p):t&&u(b=t.then)?b.call(t,e,p):e.apply(void 0,[t].slice(o))}catch(t){p.apply(void 0,[t])}}R.Callbacks=function(t){t="string"==typeof t?function(t){var e={};return R.each(t.match(F)||[],(function(t,p){e[p]=!0})),e}(t):R.extend({},t);var e,p,o,b,M=[],n=[],z=-1,r=function(){for(b=b||t.once,o=e=!0;n.length;z=-1)for(p=n.shift();++z-1;)M.splice(p,1),p<=z&&z--})),this},has:function(t){return t?R.inArray(t,M)>-1:M.length>0},empty:function(){return M&&(M=[]),this},disable:function(){return b=n=[],M=p="",this},disabled:function(){return!M},lock:function(){return b=n=[],p||e||(M=p=""),this},locked:function(){return!!b},fireWith:function(t,p){return b||(p=[t,(p=p||[]).slice?p.slice():p],n.push(p),e||r()),this},fire:function(){return c.fireWith(this,arguments),this},fired:function(){return!!o}};return c},R.extend({Deferred:function(t){var e=[["notify","progress",R.Callbacks("memory"),R.Callbacks("memory"),2],["resolve","done",R.Callbacks("once memory"),R.Callbacks("once memory"),0,"resolved"],["reject","fail",R.Callbacks("once memory"),R.Callbacks("once memory"),1,"rejected"]],o="pending",b={state:function(){return o},always:function(){return M.done(arguments).fail(arguments),this},catch:function(t){return b.then(null,t)},pipe:function(){var t=arguments;return R.Deferred((function(p){R.each(e,(function(e,o){var b=u(t[o[4]])&&t[o[4]];M[o[1]]((function(){var t=b&&b.apply(this,arguments);t&&u(t.promise)?t.promise().progress(p.notify).done(p.resolve).fail(p.reject):p[o[0]+"With"](this,b?[t]:arguments)}))})),t=null})).promise()},then:function(t,o,b){var M=0;function n(t,e,o,b){return function(){var z=this,r=arguments,c=function(){var p,c;if(!(t=M&&(o!==E&&(z=void 0,r=[p]),e.rejectWith(z,r))}};t?O():(R.Deferred.getStackHook&&(O.stackTrace=R.Deferred.getStackHook()),p.setTimeout(O))}}return R.Deferred((function(p){e[0][3].add(n(0,p,u(b)?b:k,p.notifyWith)),e[1][3].add(n(0,p,u(t)?t:k)),e[2][3].add(n(0,p,u(o)?o:E))})).promise()},promise:function(t){return null!=t?R.extend(t,b):b}},M={};return R.each(e,(function(t,p){var n=p[2],z=p[5];b[p[1]]=n.add,z&&n.add((function(){o=z}),e[3-t][2].disable,e[3-t][3].disable,e[0][2].lock,e[0][3].lock),n.add(p[3].fire),M[p[0]]=function(){return M[p[0]+"With"](this===M?void 0:this,arguments),this},M[p[0]+"With"]=n.fireWith})),b.promise(M),t&&t.call(M,M),M},when:function(t){var e=arguments.length,p=e,o=Array(p),b=r.call(arguments),M=R.Deferred(),n=function(t){return function(p){o[t]=this,b[t]=arguments.length>1?r.call(arguments):p,--e||M.resolveWith(o,b)}};if(e<=1&&(D(t,M.done(n(p)).resolve,M.reject,!e),"pending"===M.state()||u(b[p]&&b[p].then)))return M.then();for(;p--;)D(b[p],n(p),M.reject);return M.promise()}});var I=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;R.Deferred.exceptionHook=function(t,e){p.console&&p.console.warn&&t&&I.test(t.name)&&p.console.warn("jQuery.Deferred exception: "+t.message,t.stack,e)},R.readyException=function(t){p.setTimeout((function(){throw t}))};var P=R.Deferred();function j(){n.removeEventListener("DOMContentLoaded",j),p.removeEventListener("load",j),R.ready()}R.fn.ready=function(t){return P.then(t).catch((function(t){R.readyException(t)})),this},R.extend({isReady:!1,readyWait:1,ready:function(t){(!0===t?--R.readyWait:R.isReady)||(R.isReady=!0,!0!==t&&--R.readyWait>0||P.resolveWith(n,[R]))}}),R.ready.then=P.then,"complete"===n.readyState||"loading"!==n.readyState&&!n.documentElement.doScroll?p.setTimeout(R.ready):(n.addEventListener("DOMContentLoaded",j),p.addEventListener("load",j));var V=function(t,e,p,o,b,M,n){var z=0,r=t.length,c=null==p;if("object"===v(p))for(z in b=!0,p)V(t,e,z,p[z],!0,M,n);else if(void 0!==o&&(b=!0,u(o)||(n=!0),c&&(n?(e.call(t,o),e=null):(c=e,e=function(t,e,p){return c.call(R(t),p)})),e))for(;z1,null,!0)},removeData:function(t){return this.each((function(){Z.remove(this,t)}))}}),R.extend({queue:function(t,e,p){var o;if(t)return e=(e||"fx")+"queue",o=Q.get(t,e),p&&(!o||Array.isArray(p)?o=Q.access(t,e,R.makeArray(p)):o.push(p)),o||[]},dequeue:function(t,e){e=e||"fx";var p=R.queue(t,e),o=p.length,b=p.shift(),M=R._queueHooks(t,e);"inprogress"===b&&(b=p.shift(),o--),b&&("fx"===e&&p.unshift("inprogress"),delete M.stop,b.call(t,(function(){R.dequeue(t,e)}),M)),!o&&M&&M.empty.fire()},_queueHooks:function(t,e){var p=e+"queueHooks";return Q.get(t,p)||Q.access(t,p,{empty:R.Callbacks("once memory").add((function(){Q.remove(t,[e+"queue",p])}))})}}),R.fn.extend({queue:function(t,e){var p=2;return"string"!=typeof t&&(e=t,t="fx",p--),arguments.length\x20\t\r\n\f]*)/i,lt=/^$|^module$|\/(?:java|ecma)script/i,ut={option:[1,""],thead:[1,"
"],col:[2,""],tr:[2,""],td:[3,""],_default:[0,"",""]};function ft(t,e){var p;return p=void 0!==t.getElementsByTagName?t.getElementsByTagName(e||"*"):void 0!==t.querySelectorAll?t.querySelectorAll(e||"*"):[],void 0===e||e&&N(t,e)?R.merge([t],p):p}function Wt(t,e){for(var p=0,o=t.length;p-1)b&&b.push(M);else if(c=zt(M),n=ft(i.appendChild(M),"script"),c&&Wt(n),p)for(O=0;M=n[O++];)lt.test(M.type||"")&&p.push(M);return i}ht=n.createDocumentFragment().appendChild(n.createElement("div")),(vt=n.createElement("input")).setAttribute("type","radio"),vt.setAttribute("checked","checked"),vt.setAttribute("name","t"),ht.appendChild(vt),l.checkClone=ht.cloneNode(!0).cloneNode(!0).lastChild.checked,ht.innerHTML="",l.noCloneChecked=!!ht.cloneNode(!0).lastChild.defaultValue;var gt=/^key/,Bt=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Xt=/^([^.]*)(?:\.(.+)|)/;function Lt(){return!0}function yt(){return!1}function Nt(t,e){return t===function(){try{return n.activeElement}catch(t){}}()==("focus"===e)}function _t(t,e,p,o,b,M){var n,z;if("object"==typeof e){for(z in"string"!=typeof p&&(o=o||p,p=void 0),e)_t(t,z,p,o,e[z],M);return t}if(null==o&&null==b?(b=p,o=p=void 0):null==b&&("string"==typeof p?(b=o,o=void 0):(b=o,o=p,p=void 0)),!1===b)b=yt;else if(!b)return t;return 1===M&&(n=b,(b=function(t){return R().off(t),n.apply(this,arguments)}).guid=n.guid||(n.guid=R.guid++)),t.each((function(){R.event.add(this,e,b,o,p)}))}function Tt(t,e,p){p?(Q.set(t,e,!1),R.event.add(t,e,{namespace:!1,handler:function(t){var o,b,M=Q.get(this,e);if(1&t.isTrigger&&this[e]){if(M.length)(R.event.special[e]||{}).delegateType&&t.stopPropagation();else if(M=r.call(arguments),Q.set(this,e,M),o=p(this,e),this[e](),M!==(b=Q.get(this,e))||o?Q.set(this,e,!1):b={},M!==b)return t.stopImmediatePropagation(),t.preventDefault(),b.value}else M.length&&(Q.set(this,e,{value:R.event.trigger(R.extend(M[0],R.Event.prototype),M.slice(1),this)}),t.stopImmediatePropagation())}})):void 0===Q.get(t,e)&&R.event.add(t,e,Lt)}R.event={global:{},add:function(t,e,p,o,b){var M,n,z,r,c,O,i,a,A,s,d,q=Q.get(t);if(q)for(p.handler&&(p=(M=p).handler,b=M.selector),b&&R.find.matchesSelector(nt,b),p.guid||(p.guid=R.guid++),(r=q.events)||(r=q.events={}),(n=q.handle)||(n=q.handle=function(e){return void 0!==R&&R.event.triggered!==e.type?R.event.dispatch.apply(t,arguments):void 0}),c=(e=(e||"").match(F)||[""]).length;c--;)A=d=(z=Xt.exec(e[c])||[])[1],s=(z[2]||"").split(".").sort(),A&&(i=R.event.special[A]||{},A=(b?i.delegateType:i.bindType)||A,i=R.event.special[A]||{},O=R.extend({type:A,origType:d,data:o,handler:p,guid:p.guid,selector:b,needsContext:b&&R.expr.match.needsContext.test(b),namespace:s.join(".")},M),(a=r[A])||((a=r[A]=[]).delegateCount=0,i.setup&&!1!==i.setup.call(t,o,s,n)||t.addEventListener&&t.addEventListener(A,n)),i.add&&(i.add.call(t,O),O.handler.guid||(O.handler.guid=p.guid)),b?a.splice(a.delegateCount++,0,O):a.push(O),R.event.global[A]=!0)},remove:function(t,e,p,o,b){var M,n,z,r,c,O,i,a,A,s,d,q=Q.hasData(t)&&Q.get(t);if(q&&(r=q.events)){for(c=(e=(e||"").match(F)||[""]).length;c--;)if(A=d=(z=Xt.exec(e[c])||[])[1],s=(z[2]||"").split(".").sort(),A){for(i=R.event.special[A]||{},a=r[A=(o?i.delegateType:i.bindType)||A]||[],z=z[2]&&new RegExp("(^|\\.)"+s.join("\\.(?:.*\\.|)")+"(\\.|$)"),n=M=a.length;M--;)O=a[M],!b&&d!==O.origType||p&&p.guid!==O.guid||z&&!z.test(O.namespace)||o&&o!==O.selector&&("**"!==o||!O.selector)||(a.splice(M,1),O.selector&&a.delegateCount--,i.remove&&i.remove.call(t,O));n&&!a.length&&(i.teardown&&!1!==i.teardown.call(t,s,q.handle)||R.removeEvent(t,A,q.handle),delete r[A])}else for(A in r)R.event.remove(t,A+e[c],p,o,!0);R.isEmptyObject(r)&&Q.remove(t,"handle events")}},dispatch:function(t){var e,p,o,b,M,n,z=R.event.fix(t),r=new Array(arguments.length),c=(Q.get(this,"events")||{})[z.type]||[],O=R.event.special[z.type]||{};for(r[0]=z,e=1;e=1))for(;c!==this;c=c.parentNode||this)if(1===c.nodeType&&("click"!==t.type||!0!==c.disabled)){for(M=[],n={},p=0;p-1:R.find(b,this,null,[c]).length),n[b]&&M.push(o);M.length&&z.push({elem:c,handlers:M})}return c=this,r\x20\t\r\n\f]*)[^>]*)\/>/gi,wt=/
diff --git a/resources/views/layouts/settings-app.blade.php b/resources/views/layouts/settings-app.blade.php
index ad67c77a..98a7623e 100644
--- a/resources/views/layouts/settings-app.blade.php
+++ b/resources/views/layouts/settings-app.blade.php
@@ -24,6 +24,8 @@
display: none;
}
+
+ @yield('scripts', '')
diff --git a/routes/channels.php b/routes/channels.php
index 076532c4..b9d37669 100644
--- a/routes/channels.php
+++ b/routes/channels.php
@@ -1,4 +1,5 @@
view('welcome'))->middleware('auth');
Route::group(['namespace' => 'App\\Http\\Controllers'], static function (): void {
@@ -28,10 +43,21 @@
Route::post('webhook/plaid', WebhookController::class)->name('webhook');
Route::group(['middleware' => 'auth'], static function (): void {
- Route::get('/home', HomeController::class.'@index')->name('home');
- Route::get('/{view}', DynamicViewController::class.'@index')->middleware('auth');
+ Route::get('/home', HomeController::class . '@index')->name('home');
+ Route::get('/{view}', DynamicViewController::class . '@index')->middleware('auth');
- Route::group(['prefix' => 'api', 'middleware' => ['auth']], function (): void {
+ Route::group(['prefix' => 'abstract-api'], function (): void {
+ Route::apiResource('categories', App\Http\Controllers\Api\CategoryController::class);
+ Route::apiResource('transactions', App\Http\Controllers\Api\TransactionController::class);
+ Route::apiResource('access_tokens', App\Http\Controllers\Api\AccessTokenController::class);
+ Route::apiResource('groups', App\Http\Controllers\Api\TagController::class);
+ Route::apiResource('alerts', App\Http\Controllers\Api\AlertController::class);
+ Route::apiResource('failed_jobs', App\Http\Controllers\Api\FailedJobController::class);
+ Route::apiResource('budgets', App\Http\Controllers\Api\BudgetController::class);
+ Route::apiResource('activities', App\Http\Controllers\Api\ActivitiesController::class);
+ });
+
+ Route::group(['prefix' => 'api'], function (): void {
Route::get('user', function () {
$user = auth()->user();
$user->load(['accessTokens', 'unreadNotifications']);
@@ -52,6 +78,8 @@
return response('', 204);
});
+ Route::apiResource('budgets', App\Http\Controllers\Api\BudgetController::class);
+ Route::apiResource('accounts', App\Http\Controllers\Api\AccountController::class);
Route::post('actions/{action}', ActionController::class);
Route::post('plaid/create-link-token', CreateLinkTokenController::class);
Route::post('plaid/update-access-token', UpdateLinkTokenController::class);
@@ -71,9 +99,9 @@
Route::patch('tags/{tag}/conditionals/{condition}', [App\Http\Controllers\Api\TagController::class, 'updateConditional']);
Route::delete('tags/{tag}/conditionals/{condition}', [\App\Http\Controllers\Api\TagController::class, 'deleteConditional']);
- Route::apiResource('transactions', App\Http\Controllers\Api\TransactionController::class);
- Route::apiResource('accounts', App\Http\Controllers\Api\AccountController::class);
- Route::apiResource('budgets', App\Http\Controllers\Api\BudgetController::class);
+ Route::abstractRoute('transaction', TransactionController::class, fn ($value) => Transaction::findOrFail($value));
+ Route::abstractRoute('budget', App\Http\Controllers\Api\BudgetController::class, fn ($value) => App\Budget::findOrFail($value));
+ Route::abstractRoute('budgets', App\Http\Controllers\Api\BudgetController::class, fn ($value) => App\Budget::findOrFail($value));
Route::get('budgets/{budget}/total_spends', [App\Http\Controllers\Api\BudgetController::class, 'totalSpends']);
Route::put('budgets/{budget}/tags', [App\Http\Controllers\Api\BudgetController::class, 'tags']);
diff --git a/server.php b/server.php
index 5fb6379e..112f7b02 100644
--- a/server.php
+++ b/server.php
@@ -1,11 +1,11 @@
*/
+declare(strict_types=1);
$uri = urldecode(
parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH)
@@ -14,8 +14,8 @@
// This file allows us to emulate Apache's "mod_rewrite" functionality from the
// built-in PHP web server. This provides a convenient way to test a Laravel
// application without having installed a "real" web server software here.
-if ($uri !== '/' && file_exists(__DIR__.'/public'.$uri)) {
+if ($uri !== '/' && file_exists(__DIR__ . '/public' . $uri)) {
return false;
}
-require_once __DIR__.'/public/index.php';
+require_once __DIR__ . '/public/index.php';
diff --git a/tests/CreatesApplication.php b/tests/CreatesApplication.php
index 547152f6..7338e693 100644
--- a/tests/CreatesApplication.php
+++ b/tests/CreatesApplication.php
@@ -1,4 +1,5 @@
make(Kernel::class)->bootstrap();
diff --git a/tests/Integration/Filters/Conditions/EndsWithTest.php b/tests/Integration/Filters/Conditions/EndsWithTest.php
index 79136850..628c0566 100644
--- a/tests/Integration/Filters/Conditions/EndsWithTest.php
+++ b/tests/Integration/Filters/Conditions/EndsWithTest.php
@@ -1,4 +1,5 @@
parameter = 'name';
$condition->value = $valueSearch;
- $filter = new EndsWith;
+ $filter = new EndsWith();
$this->assertSame($expect, $filter(collect([
'name' => $actualValue,
diff --git a/tests/Integration/Filters/Conditions/EqualFilterTest.php b/tests/Integration/Filters/Conditions/EqualFilterTest.php
index fa2f5a3c..9ed485e3 100644
--- a/tests/Integration/Filters/Conditions/EqualFilterTest.php
+++ b/tests/Integration/Filters/Conditions/EqualFilterTest.php
@@ -1,4 +1,5 @@
parameter = 'name';
$condition->value = $valueSearch;
$filter = new EqualFilter();
diff --git a/tests/Integration/Filters/Conditions/GreaterThanEqualTest.php b/tests/Integration/Filters/Conditions/GreaterThanEqualTest.php
index f649560c..63507f40 100644
--- a/tests/Integration/Filters/Conditions/GreaterThanEqualTest.php
+++ b/tests/Integration/Filters/Conditions/GreaterThanEqualTest.php
@@ -1,4 +1,5 @@
parameter = 'name';
$condition->value = $valueSearch;
$filter = new GreaterThanEqual();
diff --git a/tests/Integration/Filters/Conditions/GreaterThanTest.php b/tests/Integration/Filters/Conditions/GreaterThanTest.php
index b76574e5..e323d347 100644
--- a/tests/Integration/Filters/Conditions/GreaterThanTest.php
+++ b/tests/Integration/Filters/Conditions/GreaterThanTest.php
@@ -1,4 +1,5 @@
parameter = 'name';
$condition->value = $valueSearch;
$filter = new GreaterThan();
diff --git a/tests/Integration/Filters/Conditions/InFilterTest.php b/tests/Integration/Filters/Conditions/InFilterTest.php
index 72ae3c0c..0bd102d7 100644
--- a/tests/Integration/Filters/Conditions/InFilterTest.php
+++ b/tests/Integration/Filters/Conditions/InFilterTest.php
@@ -1,4 +1,5 @@
parameter = 'name';
$condition->value = $valuesWeWantOurTransactionToLookInto;
$filter = new InFilter();
diff --git a/tests/Integration/Filters/Conditions/LessThanEqualFilterTest.php b/tests/Integration/Filters/Conditions/LessThanEqualFilterTest.php
index 183dcbe4..afb0f00d 100644
--- a/tests/Integration/Filters/Conditions/LessThanEqualFilterTest.php
+++ b/tests/Integration/Filters/Conditions/LessThanEqualFilterTest.php
@@ -1,4 +1,5 @@
parameter = 'name';
$condition->value = $valueSearch;
$filter = new LessThanEqualFilter();
diff --git a/tests/Integration/Filters/Conditions/LessThanFilterTest.php b/tests/Integration/Filters/Conditions/LessThanFilterTest.php
index 541d086c..d3b1803c 100644
--- a/tests/Integration/Filters/Conditions/LessThanFilterTest.php
+++ b/tests/Integration/Filters/Conditions/LessThanFilterTest.php
@@ -1,4 +1,5 @@
parameter = 'name';
$condition->value = $valueSearch;
$filter = new LessThanFilter();
diff --git a/tests/Integration/Filters/Conditions/LikeFilterTest.php b/tests/Integration/Filters/Conditions/LikeFilterTest.php
index 2586cda8..16e6c0dd 100644
--- a/tests/Integration/Filters/Conditions/LikeFilterTest.php
+++ b/tests/Integration/Filters/Conditions/LikeFilterTest.php
@@ -1,4 +1,5 @@
parameter = 'name';
$condition->value = $valueSearch;
$filter = new LikeFilter();
diff --git a/tests/Integration/Filters/Conditions/NotEqualFilterTest.php b/tests/Integration/Filters/Conditions/NotEqualFilterTest.php
index 55c8c9c0..29a341be 100644
--- a/tests/Integration/Filters/Conditions/NotEqualFilterTest.php
+++ b/tests/Integration/Filters/Conditions/NotEqualFilterTest.php
@@ -1,4 +1,5 @@
parameter = 'name';
$condition->value = $valueSearch;
$filter = new NotEqualFilter();
diff --git a/tests/Integration/Filters/Conditions/NotInFilterTest.php b/tests/Integration/Filters/Conditions/NotInFilterTest.php
index ceed8470..29be0e10 100644
--- a/tests/Integration/Filters/Conditions/NotInFilterTest.php
+++ b/tests/Integration/Filters/Conditions/NotInFilterTest.php
@@ -1,4 +1,5 @@
parameter = 'name';
$condition->value = $valuesWeWantOurTransactionToLookInto;
$filter = new NotInFilter();
diff --git a/tests/Integration/Filters/Conditions/NotLikeFilterTest.php b/tests/Integration/Filters/Conditions/NotLikeFilterTest.php
index 34131e67..93e8cbd6 100644
--- a/tests/Integration/Filters/Conditions/NotLikeFilterTest.php
+++ b/tests/Integration/Filters/Conditions/NotLikeFilterTest.php
@@ -1,4 +1,5 @@
parameter = 'name';
$condition->value = $valueSearch;
$filter = new NotLikeFilter();
diff --git a/tests/Integration/Filters/Conditions/StartsWithTest.php b/tests/Integration/Filters/Conditions/StartsWithTest.php
index 6ac02e48..5fe96f15 100644
--- a/tests/Integration/Filters/Conditions/StartsWithTest.php
+++ b/tests/Integration/Filters/Conditions/StartsWithTest.php
@@ -1,4 +1,5 @@
parameter = 'name';
$condition->value = $valueSearch;
$filter = new StartsWith();
diff --git a/tests/Integration/Filters/TransactionsConditionFilterTest.php b/tests/Integration/Filters/TransactionsConditionFilterTest.php
index 61fc1132..9d647021 100644
--- a/tests/Integration/Filters/TransactionsConditionFilterTest.php
+++ b/tests/Integration/Filters/TransactionsConditionFilterTest.php
@@ -1,4 +1,5 @@
create([
'name' => 'EPC* GAMES STORE',
- ])],
+ ])
+ ],
],
[
self::SHOULD_NOT_BE_EMPTY,
diff --git a/tests/Integration/Jobs/CheckBudgetsForBreachesOfAmountTest.php b/tests/Integration/Jobs/CheckBudgetsForBreachesOfAmountTest.php
index 4816a7a2..37fb66ab 100644
--- a/tests/Integration/Jobs/CheckBudgetsForBreachesOfAmountTest.php
+++ b/tests/Integration/Jobs/CheckBudgetsForBreachesOfAmountTest.php
@@ -1,4 +1,5 @@
handle();
@@ -95,7 +96,7 @@ public function testHandleBudgets(): void
$transaction->tags()->sync([$tag->id]);
Carbon::setTestNow($now = Carbon::create(2020, 1, 15, 0, 0, 0));
- $job = new CheckBudgetsForBreachesOfAmount;
+ $job = new CheckBudgetsForBreachesOfAmount();
$job->handle();
diff --git a/tests/Integration/Jobs/SyncPlaidTransactionsJobTest.php b/tests/Integration/Jobs/SyncPlaidTransactionsJobTest.php
index fb7f67a8..e4ca7932 100644
--- a/tests/Integration/Jobs/SyncPlaidTransactionsJobTest.php
+++ b/tests/Integration/Jobs/SyncPlaidTransactionsJobTest.php
@@ -1,4 +1,5 @@
[],
]));
- $job->handle($plaidService, new GenericRepository);
+ $job->handle($plaidService, new GenericRepository());
$this->assertDatabaseCount('activity_log', 0);
}
@@ -69,7 +70,7 @@ public function testHandleInvalidResponse(): void
->andThrow(new InvalidArgumentException('Exception Message'));
try {
- $job->handle($plaidService, new GenericRepository);
+ $job->handle($plaidService, new GenericRepository());
} finally {
$accessToken = AccessToken::find($token->id);
$this->assertSame(false, $accessToken->should_sync, 'Account syncing should be disabled when a failure occurs.');
@@ -118,7 +119,7 @@ public function testHandleWillCreateNewTransactions(): void
],
]));
- $job->handle($plaidService, new GenericRepository);
+ $job->handle($plaidService, new GenericRepository());
$this->assertDatabaseCount('transactions', 9);
}
@@ -207,7 +208,7 @@ public function testHandleWillUpdateExistingTransactions(): void
],
]));
- $job->handle($plaidService, new GenericRepository);
+ $job->handle($plaidService, new GenericRepository());
$storedTransaction1->refresh();
$storedTransaction2->refresh();
diff --git a/tests/Integration/Listeners/ApplyGroupToTransactionAutomaticallyListenerTest.php b/tests/Integration/Listeners/ApplyGroupToTransactionAutomaticallyListenerTest.php
index 390aa53d..8f33f63e 100644
--- a/tests/Integration/Listeners/ApplyGroupToTransactionAutomaticallyListenerTest.php
+++ b/tests/Integration/Listeners/ApplyGroupToTransactionAutomaticallyListenerTest.php
@@ -1,4 +1,5 @@
handle($event);
$this->assertNotEmpty($notifications = \DB::table('notifications')->get()->all());
// Ensure that our mustache service will format a templated title and body
- $this->assertSame(sprintf('Hey! It looks like your tag %s just had a $%s charge!', $tag->name, $transaction->amount), json_decode(collect($notifications)->first()->data)->title);
+ $this->assertSame(
+ sprintf(
+ 'Hey! It looks like your tag %s just had a $%s charge!',
+ $tag->name,
+ $transaction->amount
+ ),
+ json_decode(collect($notifications)->first()->data)->title
+ );
$this->assertSame(sprintf('You paid your %s %s', $transaction->name, $tag->name), json_decode(collect($notifications)->first()->data)->body);
}
diff --git a/tests/Integration/Repositories/TransactionRepositoryTest.php b/tests/Integration/Repositories/TransactionRepositoryTest.php
index 577cbd7f..77a798a8 100644
--- a/tests/Integration/Repositories/TransactionRepositoryTest.php
+++ b/tests/Integration/Repositories/TransactionRepositoryTest.php
@@ -1,4 +1,5 @@