{"version":3,"file":"scripts.b972959a7bacff01.js","mappings":"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CAuoC,cAAA3H,EACAjS,uBACArB,SACAsB,iBACAt9C,QACA2O,OACAo1B,iBACAtkC,UACAukC,YACA9kB,SAAA+kB,GACAE,mBACAC,kBACAC,gBACAG,eACAC,YACA/lC,QACAomC,kBACA3rB,MAAAksB,GACAG,WACAhnC,SACAqnC,WACAC,aACAoxB,YArkFA,SAAAA,GAAAvyD,EAAA8B,EAAA6/C,EAAAyG,QACA,IAAAtmD,GACAuH,QAAAC,KAAAtJ,EAAA,MAAA2hD,EACA,gCAAAyG,EAAA,YAEA,EAikFA/mB,oBACAG,aACAI,eACAE,WACAlZ,cACAmZ,aACAE,iBACAyc,gBACAC,gBACAM,gBACAS,eACAG,eACAI,aACAC,mBACAmB,kBACAE,YACAE,cACAC,kBACAG,kBACAM,cACAwB,sBACAne,WACAM,gBACAC,iBACAC,kBACAG,qBACAO,uBACAE,gBACAod,mBACA4B,kBACA3M,gBACAwO,+BACAO,eACAW,sBACAmB,6BACApO,mBACAC,kBACAM,YACAO,uBACAc,kBACAU,eACAO,gCACAE,gBACA+T,WAj2EA,SAAAA,GAAAC,EAAAC,EAAAC,GACA,OAAAD,EAAA,IAAAD,EAAA,MAAAE,CACA,EAg2EA5rB,oBACAC,aACAK,YACAC,sBACAE,kBACAC,UACAE,oCACAc,uBACAikB,eACAC,yBACAC,uBACAI,gBACAY,gBACAE,qBACAG,UACAC,iBACAC,aACAC,UACA1lD,WACA8lD,aACAM,iBACAjzC,MACAqmB,OACAC,SACAC,YACAE,eACAC,WACAC,cACAC,iBACAC,SACAC,QACAC,WACAO,cACAE,YACAN,gBACAQ,eACAE,sBACAG,aACAE,aACAE,kBACAC,qBACAS,yBACAG,cACAC,mBACAC,iBACAM,eACAC,eACAC,cACAypB,iBACAQ,yBACAI,wBACAM,iBACAS,iBACAE,qBAGA,SAAA+B,GAAAC,EAAAzqB,EAAAtmC,EAAAm4C,GACA,MAAS6Y,aAAAroD,OAAAw9B,WAA2B4qB,EACpC3qB,EAAA4qB,EAAAC,YAAA7qB,OACA,GAAAA,GAAAE,IAAAF,EAAAE,MAAA,MAAAA,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","names":["e","t","module","exports","document","Error","window","this","ie","oe","r","Object","getPrototypeOf","ae","slice","g","flat","call","concat","apply","s","push","se","indexOf","n","i","toString","ue","hasOwnProperty","o","a","le","v","nodeType","item","y","C","u","type","src","nonce","noModule","m","createElement","text","getAttribute","setAttribute","head","appendChild","parentNode","removeChild","x","l","ce","fn","init","c","length","fe","nodeName","toLowerCase","prototype","jquery","constructor","toArray","get","pushStack","merge","prevObject","each","map","arguments","first","eq","last","even","grep","odd","end","sort","splice","extend","isPlainObject","Array","isArray","expando","Math","random","replace","isReady","error","noop","isEmptyObject","globalEval","textContent","documentElement","nodeValue","makeArray","inArray","isXMLDoc","ownerDocument","test","namespaceURI","guid","support","Symbol","iterator","split","pe","pop","de","he","ge","ve","RegExp","contains","compareDocumentPosition","f","p","charCodeAt","escapeSelector","ye","me","b","w","T","d","k","S","E","W","h","j","A","D","ID","CLASS","TAG","ATTR","PSEUDO","CHILD","bool","needsContext","N","q","L","H","O","P","String","fromCharCode","M","V","R","J","disabled","dir","next","childNodes","I","exec","getElementById","id","getElementsByTagName","getElementsByClassName","U","scope","Y","Q","join","querySelectorAll","removeAttribute","re","cacheLength","shift","F","$","B","_","z","isDisabled","X","matches","webkitMatchesSelector","msMatchesSelector","defaultView","top","addEventListener","getById","getElementsByName","disconnectedMatch","cssHas","querySelector","filter","find","getAttributeNode","value","innerHTML","sortDetached","matchesSelector","attr","attrHandle","uniqueSort","sortStable","expr","createPseudo","match","relative","preFilter","className","firstChild","lastChild","pseudos","setFilters","not","ne","has","lang","target","location","hash","root","focus","activeElement","hasFocus","href","tabIndex","enabled","checked","selected","empty","nextSibling","parent","header","input","button","lt","gt","nth","radio","checkbox","file","password","image","submit","reset","G","K","Z","ee","te","selector","filters","unique","compile","select","setDocument","tokenize","escape","getText","isXML","selectors","is","parseHTML","ready","children","contents","prev","closest","index","prevAll","add","addBack","parents","parentsUntil","nextAll","nextUntil","prevUntil","siblings","contentDocument","content","reverse","promise","done","fail","then","Callbacks","once","stopOnFalse","memory","remove","disable","lock","locked","fireWith","fire","fired","Deferred","state","always","catch","pipe","progress","notify","resolve","reject","TypeError","notifyWith","resolveWith","exceptionHook","rejectWith","getErrorHook","getStackHook","setTimeout","when","console","warn","name","message","stack","readyException","removeEventListener","readyWait","readyState","doScroll","toUpperCase","uid","cache","defineProperty","configurable","set","access","hasData","JSON","parse","data","removeData","_data","_removeData","attributes","queue","dequeue","_queueHooks","unshift","stop","clearQueue","source","composed","getRootNode","style","display","css","cur","cssNumber","unit","start","body","show","hide","toggle","xe","be","we","Te","Ce","createDocumentFragment","checkClone","cloneNode","noCloneChecked","defaultValue","option","ke","thead","col","tr","td","_default","Se","Ee","tbody","tfoot","colgroup","caption","th","optgroup","je","Ae","htmlPrefilter","createTextNode","De","Ne","qe","Le","off","event","He","namespace","handler","isTrigger","special","delegateType","stopPropagation","stopImmediatePropagation","preventDefault","trigger","isImmediatePropagationStopped","global","events","create","handle","triggered","dispatch","bindType","origType","delegateCount","setup","teardown","removeEvent","fix","delegateTarget","preDispatch","handlers","isPropagationStopped","currentTarget","elem","rnamespace","handleObj","result","postDispatch","addProp","Event","enumerable","originalEvent","writable","load","noBubble","click","beforeunload","returnValue","isDefaultPrevented","defaultPrevented","relatedTarget","timeStamp","Date","now","isSimulated","altKey","bubbles","cancelable","changedTouches","ctrlKey","detail","eventPhase","metaKey","pageX","pageY","shiftKey","view","char","code","charCode","key","keyCode","buttons","clientX","clientY","offsetX","offsetY","pointerId","pointerType","screenX","screenY","targetTouches","toElement","touches","which","blur","documentMode","simulate","mouseenter","mouseleave","pointerenter","pointerleave","on","one","Oe","Pe","Me","Re","Ie","We","Fe","$e","html","clone","_evalUrl","Be","cleanData","detach","append","prepend","insertBefore","before","after","replaceWith","replaceChild","appendTo","prependTo","insertAfter","replaceAll","_e","ze","Xe","opener","getComputedStyle","Ue","Ve","Ge","getPropertyValue","pixelBoxStyles","width","minWidth","maxWidth","Ye","cssText","marginLeft","right","position","offsetWidth","round","parseFloat","backgroundClip","clearCloneStyle","boxSizingReliable","pixelPosition","reliableMarginLeft","scrollboxSize","reliableTrDimensions","height","parseInt","borderTopWidth","borderBottomWidth","offsetHeight","Qe","Je","Ke","Ze","cssProps","et","tt","visibility","nt","letterSpacing","fontWeight","rt","max","it","ceil","ot","getClientRects","at","cssHooks","opacity","animationIterationCount","aspectRatio","borderImageSlice","columnCount","flexGrow","flexShrink","gridArea","gridColumn","gridColumnEnd","gridColumnStart","gridRow","gridRowEnd","gridRowStart","lineHeight","order","orphans","scale","widows","zIndex","zoom","fillOpacity","floodOpacity","stopOpacity","strokeMiterlimit","strokeOpacity","setProperty","isFinite","getBoundingClientRect","left","margin","padding","border","expand","Tween","prop","easing","options","propHooks","run","pos","duration","step","fx","scrollTop","scrollLeft","linear","swing","cos","PI","st","ut","ct","ft","pt","dt","hidden","requestAnimationFrame","interval","tick","ht","vt","yt","tweeners","prefilters","startTime","tweens","props","opts","specialEasing","originalProperties","originalOptions","createTween","bind","complete","timer","anim","Animation","tweener","unqueued","overflow","overflowX","overflowY","prefilter","speed","speeds","old","fadeTo","animate","finish","timers","slideDown","slideUp","slideToggle","fadeIn","fadeOut","fadeToggle","slow","fast","delay","clearTimeout","checkOn","optSelected","radioValue","mt","xt","removeAttr","attrHooks","bt","wt","Tt","Ct","kt","removeProp","propFix","for","class","addClass","removeClass","toggleClass","hasClass","St","val","valHooks","selectedIndex","Et","jt","At","parseXML","DOMParser","parseFromString","Dt","Nt","parentWindow","triggerHandler","qt","Lt","Ht","Ot","Pt","param","encodeURIComponent","serialize","serializeArray","Mt","Rt","It","Wt","Ft","$t","Bt","_t","zt","Xt","Ut","Vt","dataTypes","Gt","ajaxSettings","flatOptions","active","lastModified","etag","url","isLocal","protocol","processData","async","contentType","accepts","xml","json","responseFields","converters","context","ajaxSetup","ajaxPrefilter","ajaxTransport","ajax","statusCode","getResponseHeader","getAllResponseHeaders","setRequestHeader","overrideMimeType","mimeType","status","abort","method","dataType","crossDomain","host","traditional","hasContent","ifModified","headers","beforeSend","success","timeout","send","dataFilter","throws","statusText","getJSON","getScript","wrapAll","firstElementChild","wrapInner","wrap","unwrap","visible","xhr","XMLHttpRequest","Yt","Qt","cors","open","username","xhrFields","onload","onerror","onabort","ontimeout","onreadystatechange","responseType","responseText","binary","response","script","scriptAttrs","charset","scriptCharset","Jt","Kt","Zt","jsonp","jsonpCallback","createHTMLDocument","implementation","animated","offset","setOffset","using","pageYOffset","pageXOffset","offsetParent","scrollTo","Height","Width","unbind","delegate","undelegate","hover","en","proxy","holdReady","parseJSON","isFunction","isWindow","camelCase","isNumeric","isNaN","trim","define","amd","tn","jQuery","nn","noConflict","require","globalThis","self","bootstrap","default","assign","setPrototypeOf","__proto__","TRANSITION_END","getUID","getSelectorFromElement","getTransitionDurationFromElement","reflow","triggerTransitionEnd","supportsTransitionEnd","isElement","typeCheckConfig","findShadowRoot","attachShadow","ShadowRoot","jQueryDetection","emulateTransitionEnd","alert","_element","close","_getRootElement","_triggerCloseEvent","_removeElement","dispose","_destroyElement","_jQueryInterface","_handleDismiss","Constructor","shouldAvoidTriggerChange","classList","hasAttribute","tagName","keyboard","slide","pause","touch","TOUCH","PEN","_items","_interval","_activeElement","_isPaused","_isSliding","touchTimeout","touchStartX","touchDeltaX","_config","_getConfig","_indicatorsElement","_touchSupported","navigator","maxTouchPoints","_pointerEvent","PointerEvent","MSPointerEvent","_addEventListeners","_slide","nextWhenVisible","cycle","clearInterval","_updateInterval","setInterval","visibilityState","to","_getItemIndex","_handleSwipe","abs","_keydown","_addTouchEventListeners","_getItemByDirection","_triggerSlideEvent","direction","from","_setActiveIndicatorElement","defaultInterval","ride","_dataApiClickHandler","_isTransitioning","_triggerArray","_selector","_parent","_getParent","_addAriaAndCollapsedClass","_getDimension","setTransitioning","_getTargetFromElement","userAgent","Promise","referenceNode","MSInputMethodContext","nextElementSibling","Node","DOCUMENT_POSITION_FOLLOWING","createRange","setStart","setEnd","commonAncestorContainer","scrollingElement","bottom","clientWidth","clientHeight","borderLeftWidth","marginTop","parentElement","innerWidth","innerHeight","keys","area","marginBottom","marginRight","findIndex","forEach","function","offsets","popper","reference","isDestroyed","instance","styles","arrowStyles","flipped","positionFixed","placement","modifiers","flip","boundariesElement","originalPlacement","isCreated","onUpdate","onCreate","some","charAt","willChange","disableEventListeners","removeOnDestroy","passive","updateBound","scrollParents","scrollElement","eventsEnabled","scheduleUpdate","cancelAnimationFrame","search","reduce","preventOverflow","boundaries","primary","escapeWithReference","secondary","min","priority","keepTogether","floor","arrow","element","arrowElement","behavior","flipVariations","flipVariationsByContent","inner","computeStyle","gpuAcceleration","devicePixelRatio","applyStyle","onLoad","update","Defaults","enableEventListeners","Utils","PopperUtils","placements","boundary","popperConfig","_popper","_menu","_getMenuElement","_inNavbar","_detectNavbar","_clearMenus","_getParentFromElement","_getPopperConfig","destroy","Default","DefaultType","_getPlacement","_getOffset","clickEvent","_dataApiKeydownHandler","modal","backdrop","_dialog","_backdrop","_isShown","_isBodyOverflowing","_ignoreBackdropClick","_scrollbarWidth","_checkScrollbar","_setScrollbar","_adjustDialog","_setEscapeEvent","_setResizeEvent","_showBackdrop","_showElement","_hideModal","handleUpdate","_triggerBackdropTransition","scrollHeight","ELEMENT_NODE","_enforceFocus","_resetAdjustments","_resetScrollbar","_removeBackdrop","paddingLeft","paddingRight","_getScrollbarWidth","tooltip","AUTO","TOP","RIGHT","BOTTOM","LEFT","animation","template","title","container","fallbackPlacement","customClass","sanitize","sanitizeFn","whiteList","br","div","em","hr","h1","h2","h3","h4","h5","h6","img","li","ol","pre","small","span","sub","sup","strong","ul","HIDE","HIDDEN","SHOW","SHOWN","INSERTED","CLICK","FOCUSIN","FOCUSOUT","MOUSEENTER","MOUSELEAVE","_isEnabled","_timeout","_hoverState","_activeTrigger","config","tip","_setListeners","enable","toggleEnabled","DATA_KEY","_getDelegateConfig","_isWithActiveTrigger","_enter","_leave","getTipElement","EVENT_KEY","_hideModalHandler","isWithContent","NAME","setContent","_getAttachment","addAttachmentClass","_getContainer","_fixTransition","_cleanTipClass","getTitle","setElementContent","_handlePopperPlacementChange","_fixTitle","popover","_getContent","rn","an","sn","ln","_scrollElement","_offsets","_targets","_activeTarget","_scrollHeight","_process","refresh","_getScrollTop","_getScrollHeight","Boolean","_getOffsetHeight","_activate","_clear","un","tab","dn","cn","hn","pn","mn","gn","_transitionComplete","_n","vn","toast","yn","En","wn","Tn","autohide","Cn","Sn","_clearTimeout","_close","Alert","Button","Carousel","Collapse","Dropdown","Modal","Popover","Scrollspy","Tab","Toast","Tooltip","Util","factory","Chart","isNullOrUndef","isObject","isNumberFinite","Number","finiteOrDefault","valueOrDefault","toPercentage","dimension","endsWith","toDimension","callback","args","thisArg","loopable","len","_elementsEqual","a0","a1","ilen","v0","v1","datasetIndex","clone$1","klen","isValidKey","_merger","tval","sval","sources","merger","mergeIf","_mergerIf","keyResolvers","resolveObjectKey","obj","_getKeyResolver","_splitKey","parts","tmp","part","_capitalize","str","defined","setsEqual","size","_isClickEvent","TAU","PITAU","INFINITY","POSITIVE_INFINITY","RAD_PER_DEG","HALF_PI","QUARTER_PI","TWO_THIRDS_PI","log10","sign","niceNum","range","roundedRange","almostEquals","niceRange","pow","fraction","_factorize","sqrt","isNumber","epsilon","almostWhole","rounded","_setMinAndMaxByKey","array","property","toRadians","degrees","toDegrees","radians","_decimalPlaces","getAngleFromPoint","centrePoint","anglePoint","distanceFromXCenter","distanceFromYCenter","radialDistanceFromCenter","angle","atan2","distance","distanceBetweenPoints","pt1","pt2","_angleDiff","_normalizeAngle","_angleBetween","sameAngleIsFullCircle","angleToStart","angleToEnd","startToAngle","endToAngle","_limitValue","_int16Range","_isBetween","_lookup","table","cmp","mid","hi","lo","_lookupByKey","_rlookupByKey","_filterBetween","values","arrayEvents","listenArrayEvents","listener","_chartjs","listeners","base","res","object","unlistenArrayEvents","stub","_arrayUnique","items","Set","requestAnimFrame","throttled","updateFn","updateArgs","ticking","rest","debounce","_toLeftRightCenter","align","_alignStartEnd","_textX","rtl","_getStartAndCountOfVisiblePoints","meta","points","animationsDisabled","pointCount","count","_sorted","iScale","_parsed","axis","minDefined","maxDefined","getUserBounds","getPixelForValue","_scaleRangesChanged","xScale","yScale","_scaleRanges","newRanges","xmin","xmax","ymin","ymax","changed","animator","Animator","_request","_charts","Map","_running","_lastDate","_notify","chart","anims","date","numSteps","initial","currentStep","_refresh","_update","remaining","running","draw","_active","_total","_getAnims","charts","listen","cb","acc","_duration","cancel","delete","lim","p2b","n2b","b2n","n2p","map$1","hex","HUE_RE","hsl2rgbn","hsv2rgbn","hwb2rgbn","rgb","rgb2hsl","hueValue","calln","hsl2rgb","hue","map$2","names$1","OiceXe","antiquewEte","aqua","aquamarRe","azuY","beige","bisque","black","blanKedOmond","XeviTet","bPwn","burlywood","caMtXe","KartYuse","KocTate","cSO","cSnflowerXe","cSnsilk","crimson","cyan","xXe","xcyan","xgTMnPd","xWay","xgYF","xgYy","xkhaki","xmagFta","xTivegYF","xSange","xScEd","xYd","xsOmon","xsHgYF","xUXe","xUWay","xUgYy","xQe","xviTet","dAppRk","dApskyXe","dimWay","dimgYy","dodgerXe","fiYbrick","flSOwEte","foYstWAn","fuKsia","gaRsbSo","ghostwEte","gTd","gTMnPd","Way","gYF","gYFLw","gYy","honeyMw","hotpRk","RdianYd","Rdigo","ivSy","khaki","lavFMr","lavFMrXsh","lawngYF","NmoncEffon","ZXe","ZcSO","Zcyan","ZgTMnPdLw","ZWay","ZgYF","ZgYy","ZpRk","ZsOmon","ZsHgYF","ZskyXe","ZUWay","ZUgYy","ZstAlXe","ZLw","lime","limegYF","lRF","magFta","maPon","VaquamarRe","VXe","VScEd","VpurpN","VsHgYF","VUXe","VsprRggYF","VQe","VviTetYd","midnightXe","mRtcYam","mistyPse","moccasR","navajowEte","navy","Tdlace","Tive","TivedBb","Sange","SangeYd","ScEd","pOegTMnPd","pOegYF","pOeQe","pOeviTetYd","papayawEp","pHKpuff","peru","pRk","plum","powMrXe","purpN","YbeccapurpN","Yd","Psybrown","PyOXe","saddNbPwn","sOmon","sandybPwn","sHgYF","sHshell","siFna","silver","skyXe","UXe","UWay","UgYy","snow","sprRggYF","stAlXe","tan","teO","tEstN","tomato","viTet","JHt","wEte","wEtesmoke","Lw","LwgYF","names","RGB_RE","modHSL","ratio","proto","fromObject","functionParse","rgbParse","hueParse","p1","p2","hwb2rgb","hsv2rgb","Color","hexParse","ret","nameParse","unpack","unpacked","tkeys","ok","nk","transparent","_rgb","_valid","valid","rgbString","hexString","isShort","alpha","hslString","mix","color","weight","c1","c2","w2","w1","interpolate","interpolate$1","rgb1","rgb2","clearer","greyscale","opaquer","negate","lighten","darken","saturate","desaturate","rotate","deg","index_esm","isPatternOrGradient","getHoverColor","overrides","descriptors","getScope$1","node","defaults","_descriptors","backgroundColor","borderColor","datasets","platform","getDevicePixelRatio","elements","font","family","hoverBackgroundColor","ctx","hoverBorderColor","hoverColor","indexAxis","interaction","mode","intersect","includeInvisible","maintainAspectRatio","onHover","onClick","parsing","plugins","responsive","scales","showLine","drawActiveElementsOnTop","describe","override","route","targetScope","targetName","scopeObject","targetScopeObject","privateName","defineProperties","local","_scriptable","startsWith","_indexable","_fallback","_isDomSupported","_getParentNode","domNode","parseMaxStyle","styleValue","parentProperty","valueInPixels","getStyle","el","positions","getPositionedStyle","suffix","useOffsetPos","shadowRoot","getRelativePosition","evt","canvas","currentDevicePixelRatio","borderBox","boxSizing","paddings","borders","box","getCanvasPosition","rect","xOffset","yOffset","round1","getMaximumSize","bbWidth","bbHeight","margins","maxHeight","containerSize","getContainerSize","containerStyle","containerBorder","containerPadding","retinaScale","forceRatio","forceStyle","pixelRatio","deviceHeight","deviceWidth","setTransform","supportsEventListenerOptions","passiveSupported","readUsedSize","toFontString","_measureText","gc","longest","string","textWidth","measureText","_longestText","arrayOfThings","garbageCollect","save","jlen","thing","nestedThing","restore","gcLen","_alignPixel","pixel","halfWidth","clearCanvas","getContext","resetTransform","clearRect","drawPoint","drawPointLegend","cornerRadius","pointStyle","rotation","radius","rad","translate","drawImage","beginPath","ellipse","arc","closePath","moveTo","sin","lineTo","SQRT1_2","fill","borderWidth","stroke","_isPointInArea","point","clipArea","clip","unclipArea","_steppedLineTo","previous","midpoint","_bezierCurveTo","bezierCurveTo","cp1x","cp2x","cp1y","cp2y","renderText","lines","strokeWidth","strokeColor","line","setRenderOpts","translation","fillStyle","textAlign","textBaseline","strokeStyle","lineWidth","strokeText","fillText","decorateText","strikethrough","underline","metrics","actualBoundingBoxLeft","actualBoundingBoxRight","actualBoundingBoxDescent","yDecoration","actualBoundingBoxAscent","decorationWidth","addRoundedRectPath","topLeft","bottomLeft","bottomRight","topRight","_createResolver","scopes","prefixes","rootScopes","fallback","getTarget","_resolve","toStringTag","_cacheable","_scopes","_rootScopes","_getTarget","Proxy","deleteProperty","_keys","_cached","_resolveWithPrefixes","prefix","readKey","needsSubResolver","createSubResolver","getOwnPropertyDescriptor","Reflect","getKeysFromAllScopes","includes","ownKeys","storage","_storage","_attachContext","subProxy","descriptorDefaults","_proxy","_context","_subProxy","_stack","setContext","receiver","_resolveWithContext","isScriptable","_resolveScriptable","_resolveArray","isIndexable","arr","resolver","allKeys","scriptable","indexable","_allKeys","resolveFallback","getScope","addScopes","parentScopes","parentFallback","allScopes","addScopesFromKey","subGetTarget","resolveKeysFromAllScopes","_parseObjectDataRadialScale","_parsing","parsed","EPSILON","getPoint","skip","getValueAxis","splineCurve","firstPoint","middlePoint","afterPoint","current","d01","d12","s01","s12","fa","fb","splineCurveMonotone","valueAxis","pointsLen","deltaK","mK","pointBefore","pointCurrent","pointAfter","slopeDelta","monotoneAdjust","alphaK","betaK","tauK","squaredMagnitude","monotoneCompute","delta","iPixel","vPixel","capControlPoint","_updateBezierControlPoints","loop","controlPoints","spanGaps","cubicInterpolationMode","tension","capBezierPoints","inArea","inAreaPrev","inAreaNext","atEdge","elasticIn","elasticOut","effects","easeInQuad","easeOutQuad","easeInOutQuad","easeInCubic","easeOutCubic","easeInOutCubic","easeInQuart","easeOutQuart","easeInOutQuart","easeInQuint","easeOutQuint","easeInOutQuint","easeInSine","easeOutSine","easeInOutSine","easeInExpo","easeOutExpo","easeInOutExpo","easeInCirc","easeOutCirc","easeInOutCirc","easeInElastic","easeOutElastic","easeInOutElastic","easeInBack","easeOutBack","easeInOutBack","easeInBounce","easeOutBounce","easeInOutBounce","_pointInLine","_steppedInterpolation","_bezierInterpolation","cp1","cp2","intlCache","formatNumber","num","locale","getNumberFormat","cacheKey","stringify","formatter","Intl","NumberFormat","format","LINE_HEIGHT","FONT_STYLE","toLineHeight","numberOrZero","_readValueToProps","objProps","read","toTRBL","toTRBLCorners","toPadding","toFont","inputs","info","cacheable","_addGrace","minmax","grace","beginAtZero","change","keepZero","createContext","parentContext","getRtlAdapter","rectX","setWidth","xPlus","leftForLtr","itemWidth","getRightToLeftAdapter","_itemWidth","overrideTextDirection","original","getPropertyPriority","prevTextDirection","restoreTextDirection","propertyFn","between","compare","normalize","normalizeSegment","_boundSegment","segment","bounds","startBound","endBound","getSegment","prevValue","inside","subStart","_boundSegments","segments","_computeSegments","segmentOptions","_loop","findStartAndEnd","splitByStyles","solidSegments","_fullLoop","doSplitByStyles","chartContext","_chart","baseStyle","readStyle","_datasetIndex","prevStyle","addStyle","p0","p0DataIndex","p1DataIndex","styleChanged","borderCapStyle","borderDash","borderDashOffset","borderJoinStyle","helpers","freeze","easingEffects","_deprecated","fontString","pixelSize","fontStyle","fontFamily","binarySearch","metaset","controller","_cachedMeta","lookupMethod","_reversePixels","_sharedOptions","getRange","evaluateInteractionItems","metasets","getSortedVisibleDatasetMetas","getIntersectItems","useFinalPosition","isPointInArea","chartArea","inRange","getNearestItems","getNearestCartesianItems","distanceMetric","getDistanceMetricForAxis","useX","useY","deltaX","deltaY","minDistance","evaluationFunc","center","getCenterPoint","getNearestRadialItems","startAngle","endAngle","getProps","getAxisItems","rangeMethod","intersectsItem","Interaction","modes","dataset","getDatasetMeta","nearest","STATIC_POSITIONS","filterByPosition","filterDynamicPositionByAxis","sortByWeight","getCombinedMax","maxPadding","updateMaxPadding","boxPadding","updateDims","params","layout","stacks","horizontal","getPadding","newWidth","outerWidth","newHeight","outerHeight","widthChanged","heightChanged","same","other","getMargins","marginForPositions","fitBoxes","boxes","refitBoxes","refit","fullSize","setBoxDims","placeBoxes","userPadding","placed","stackWeight","autoPadding","layouts","addBox","_layers","removeBox","layoutItem","configure","minPadding","availableWidth","availableHeight","buildLayoutBoxes","layoutBoxes","wrapBoxes","isHorizontal","centerHorizontal","centerVertical","leftAndTop","rightAndBottom","vertical","verticalBoxes","horizontalBoxes","beforeLayout","visibleVerticalBoxCount","total","vBoxMaxWidth","hBoxMaxHeight","setLayoutDims","buildStacks","factor","handleMaxPadding","updatePos","BasePlatform","acquireContext","releaseContext","isAttached","updateConfig","BasicPlatform","EXPANDO_KEY","EVENT_TYPES","touchstart","touchmove","touchend","pointerdown","pointermove","pointerup","pointerout","isNullOrEmpty","eventListenerOptions","removeListener","nodeListContains","nodeList","createAttachObserver","observer","MutationObserver","entries","entry","addedNodes","removedNodes","observe","childList","subtree","createDetachObserver","drpListeningCharts","oldDevicePixelRatio","onWindowResize","dpr","resize","createResizeObserver","ResizeObserver","contentRect","listenDevicePixelRatioChanges","releaseObserver","disconnect","unlistenDevicePixelRatioChanges","createProxyAndListen","fromNativeEvent","native","addListener","DomPlatform","initCanvas","renderHeight","renderWidth","displayWidth","displayHeight","$proxies","attach","proxies","isConnected","_detectPlatform","OffscreenCanvas","platforms","interpolators","boolean","c0","number","cfg","currentValue","_fn","_easing","_start","_target","_prop","_from","_to","_promises","elapsed","remain","wait","promises","rej","resolved","animationOptions","colors","properties","numbers","animations","Animations","_properties","animatedProps","getOwnPropertyNames","_animateOptions","newOptions","resolveTargetOptions","$shared","$animations","_createAnimations","awaitAll","all","scaleClip","allowedOverflow","getSortedDatasetIndices","filterVisible","_getSortedDatasetMetas","applyStack","dsIndex","singleMode","otherValue","isStacked","stacked","getOrCreateStack","stackKey","indexValue","subStack","getLastIndexInStack","vScale","positive","getMatchingVisibleMetas","updateStacks","_stacks","iAxis","vAxis","getStackKey","indexScale","valueScale","_top","_bottom","getFirstScaleId","clearStacks","isDirectUpdateMode","cloneIfNotShared","cached","shared","DatasetController","_ctx","_cachedDataOpts","getMeta","_type","_objectData","_drawStart","_drawCount","enableOptionSharing","supportsDecimation","$context","_syncList","initialize","linkScales","_stacked","addElements","updateIndex","getDataset","chooseId","xid","xAxisID","yid","yAxisID","rid","rAxisID","iid","iAxisID","vid","vAxisID","getScaleForId","rScale","scaleID","_getOtherScale","_destroy","_dataCheck","convertObjectDataToArray","adata","isExtensible","datasetElementType","buildOrUpdateElements","resetNewElements","stackChanged","oldStacked","_resyncElements","scopeKeys","datasetScopeKeys","getOptionScopes","createResolver","sorted","parseArrayData","parseObjectData","parsePrimitiveData","isNotInOrderComparedToPrev","labels","getLabels","singleScale","xAxisKey","yAxisKey","getParsed","getDataElement","updateRangeFromParsed","parsedValue","NaN","getMinMax","canStack","otherScale","createStack","NEGATIVE_INFINITY","otherMin","otherMax","_skip","getAllParsedValues","getMaxOverflow","getLabelAndValue","label","getLabelForValue","_clip","toClip","defaultClip","resolveDatasetElementOptions","resolveDataElementOptions","createDataContext","dataIndex","raw","createDatasetContext","_resolveElementOptions","dataElementType","elementType","sharing","datasetElementScopeKeys","resolveNamedOptions","_resolveAnimations","transition","datasetAnimationScopeKeys","getSharedOptions","includeOptions","sharedOptions","_animationsDisabled","_getSharedOptions","firstOpts","previouslySharedOptions","updateSharedOptions","updateElement","_setStyle","removeHoverStyle","setHoverStyle","_removeDatasetHoverStyle","_setDatasetHoverStyle","arg1","arg2","numMeta","numData","_insertElements","_removeElements","move","updateElements","removed","_sync","_dataChanges","_onDataPush","_onDataPop","_onDataShift","_onDataSplice","newCount","_onDataUnshift","Element","tooltipPosition","hasValue","final","defaultRoutes","formatters","numeric","tickValue","ticks","notation","maxTick","calculateDelta","logDelta","numDecimal","minimumFractionDigits","maximumFractionDigits","logarithmic","Ticks","newTicks","spacing","majorStart","majorEnd","grid","drawBorder","drawOnChartArea","drawTicks","tickLength","tickWidth","tickColor","minRotation","maxRotation","mirror","textStrokeWidth","textStrokeColor","autoSkip","autoSkipPadding","labelOffset","minor","major","crossAlign","showLabelBackdrop","backdropColor","backdropPadding","offsetFromEdge","edge","sample","numItems","increment","getPixelForGridLine","offsetGridLines","validIndex","_startPixel","_endPixel","lineValue","getPixelForTick","getTickMarkLength","getTitleHeight","titleAlign","reverseAlign","Scale","super","_margins","paddingTop","paddingBottom","labelRotation","_range","_gridLineItems","_labelItems","_labelSizes","_length","_maxLength","_longestTextCache","_userMax","_userMin","_suggestedMax","_suggestedMin","_ticksLength","_borderValue","_cache","_dataLimitsCached","suggestedMin","suggestedMax","metas","getTicks","xLabels","yLabels","beforeUpdate","tickOpts","sampleSize","beforeSetDimensions","setDimensions","afterSetDimensions","beforeDataLimits","determineDataLimits","afterDataLimits","beforeBuildTicks","buildTicks","afterBuildTicks","samplingEnabled","_convertTicksToLabels","beforeCalculateLabelRotation","calculateLabelRotation","afterCalculateLabelRotation","ticksLimit","maxTicksLimit","determineMaxTicks","_tickSize","majorIndices","getMajorIndices","numMajorIndices","skipMajors","calculateSpacing","evenMajorSpacing","getEvenSpacing","diff","factors","avgMajorSpacing","afterAutoSkip","beforeFit","fit","afterFit","afterUpdate","startPixel","endPixel","reversePixels","_alignToPixels","alignToPixels","_callHooks","notifyPlugins","beforeTickToLabelConversion","generateTickLabels","afterTickToLabelConversion","numTicks","maxLabelDiagonal","_isVisible","labelSizes","_getLabelSizes","maxLabelWidth","widest","maxLabelHeight","highest","asin","minSize","titleOpts","gridOpts","titleHeight","tickPadding","angleRadians","_calculatePadding","_handleMargins","isRotated","labelsBelowTicks","offsetLeft","offsetRight","isFullSize","_computeLabelSizes","caches","widths","heights","tickFont","nestedLabel","widestLabelSize","highestLabelSize","_resolveTickFontOptions","valueAt","idx","getValueForPixel","getPixelForDecimal","decimal","getDecimalForPixel","getBasePixel","getBaseValue","createTickContext","createScaleContext","optionTicks","rot","_computeGridLineItems","ticksLength","tl","borderOpts","axisWidth","axisHalfWidth","alignBorderValue","borderValue","alignedLineValue","tx1","ty1","tx2","ty2","x1","y1","x2","y2","positionAxisID","limit","optsAtIndex","lineColor","tickBorderDash","tickBorderDashOffset","_computeLabelItems","tickAndPadding","hTickAndPadding","lineCount","textOffset","_getXAxisLabelAlignment","_getYAxisLabelAlignment","halfCount","tickTextAlign","labelPadding","_computeLabelArea","drawBackground","fillRect","getLineWidthForValue","drawGrid","drawLine","setLineDash","lineDashOffset","lastLineWidth","drawLabels","drawTitle","titleX","titleY","titleArgs","tz","gz","axisID","_maxDigits","fontSize","TypedRegistry","isForType","isPrototypeOf","register","parentScope","isIChartComponent","registerDefaults","itemDefaults","routeDefaults","routes","propertyParts","sourceName","sourceScope","unregister","registry","Registry","controllers","_typedRegistries","_each","addControllers","addPlugins","addScales","getController","_get","getElement","getPlugin","getScale","removeControllers","removeElements","removePlugins","removeScales","typedRegistry","arg","reg","_getRegistryForType","_exec","itemReg","component","camelMethod","PluginService","_init","hook","_createDescriptors","descriptor","plugin","invalidate","_oldCache","_notifyStateChanges","allPlugins","localIds","createDescriptors","getOpts","pluginOpts","previousDescriptors","pluginScopeKeys","getIndexAxis","determineAxis","scaleOptions","axisFromPosition","initOptions","mergeScaleConfig","chartDefaults","configScales","chartIndexAxis","firstIDs","scaleConf","defaultId","getDefaultScaleIDFromAxis","defaultScaleOptions","defaultID","getAxisFromDefaultScaleID","initData","keyCache","keysCached","cachedKeys","generate","addIfFound","Config","initConfig","_scopeCache","_resolverCache","clearCache","clear","datasetType","additionalOptionScopes","_cachedScopes","mainScope","resetCache","keyLists","chartOptionScopes","subPrefixes","getResolver","needContext","hasFunction","resolverCache","KNOWN_POSITIONS","positionIsHorizontal","compare2Level","l1","l2","onAnimationsComplete","onComplete","onAnimationProgress","onProgress","getCanvas","instances","getChart","moveNumericKeys","intKey","userConfig","initialCanvas","existingChart","_options","_aspectRatio","_metasets","_lastEvent","_listeners","_responsiveListeners","_sortedMetasets","_plugins","_hiddenIndices","attached","_doResize","resizeDelay","_initialize","bindEvents","_resizeBeforeDraw","_resize","newSize","newRatio","onResize","render","ensureScalesHaveIDs","axisOptions","buildOrUpdateScales","scaleOpts","updated","isRadial","dposition","dtype","scaleType","hasUpdated","_updateMetasets","_destroyDatasetMeta","_removeUnreferencedMetasets","_dataset","buildOrUpdateControllers","newControllers","isDatasetVisible","ControllerClass","_resetElements","animsDisabled","_updateScales","_checkEventBindings","_updateHiddenIndices","_minPadding","_updateLayout","_updateDatasets","_eventHandler","_updateHoverStyles","existingEvents","newEvents","unbindEvents","changes","_getUniformDataChanges","datasetCount","makeSet","changeSet","noArea","_idx","_updateDataset","layers","_drawDatasets","_drawDataset","useClip","getElementsAtEventForMode","getVisibleDatasetCount","setDatasetVisibility","toggleDataVisibility","getDataVisibility","_updateVisibility","_stop","toBase64Image","toDataURL","bindUserEvents","bindResponsiveEvents","_add","_remove","detached","updateHoverStyle","getActiveElements","setActiveElements","activeElements","lastActive","replay","hoverOptions","deactivated","activated","inChartArea","eventFilter","_handleEvent","_getActiveElements","isClick","lastEvent","determineLastEvent","invalidatePlugins","abstract","version","DateAdapter","chartOptions","formats","timestamp","amount","startOf","weekday","endOf","members","_adapters","_date","computeMinSampleSize","getAllScaleValues","$bar","visibleMetas","curr","updateMinAndPrev","parseValue","parseFloatBar","startValue","endValue","barStart","barEnd","_custom","parseArrayOrPrimitive","isFloatBar","custom","setBorderSkipped","borderSkipped","borderProps","enableBorderRadius","parseEdge","swap","orig","v2","startEnd","setInflateAmount","inflateAmount","BarController","iAxisKey","vAxisKey","bars","ruler","_getRuler","vpixels","_calculateBarValuePixels","ipixels","_calculateBarIndexPixels","_getStacks","grouped","skipNull","_getStackCount","_getStackIndex","pixels","barThickness","stackCount","categoryPercentage","barPercentage","baseValue","minBarLength","actualBase","floating","barSign","halfGrid","maxBarThickness","computeFlexCategoryTraits","percent","chunk","computeFitCategoryTraits","thickness","stackIndex","rects","_index_","_value_","BubbleController","callbacks","DoughnutController","innerRadius","outerRadius","getter","_getRotation","_getCircumference","circumference","_getRotationExtents","arcs","getMaxBorderWidth","getMaxOffset","maxSize","cutout","chartWeight","_getRingWeight","ratioX","ratioY","getRatioAndOffset","startX","startY","endX","endY","calcMax","calcMin","maxX","maxY","minX","minY","maxRadius","radiusLength","_getVisibleDatasetWeightTotal","calculateTotal","_getRingWeightOffset","_circumference","animateRotate","calculateCircumference","centerX","centerY","animateScale","metaData","borderAlign","hoverBorderWidth","hoverOffset","ringWeightOffset","legend","generateLabels","legendItem","tooltipItem","dataLabel","formattedValue","LineController","_decimated","maxGapLength","directUpdate","prevParsed","nullData","lastPoint","updateControlPoints","PolarAreaController","_updateRadius","cutoutPercentage","animationOpts","xCenter","yCenter","datasetStartAngle","getIndexAngle","defaultAngle","countVisibleElements","_computeAngle","getDistanceFromCenterForValue","angleLines","circular","pointLabels","PieController","RadarController","pointPosition","getPointPositionForValue","ScatterController","clipArc","pixelMargin","angleMargin","rThetaToXY","theta","pathArc","innerR","spacingOffset","avNogSpacingRadius","angleOffset","outerStart","outerEnd","innerStart","innerEnd","parseBorderRadius$1","angleDelta","toRadiusCorners","borderRadius","halfThickness","innerLimit","computeOuterLimit","outerArcLimit","outerStartAdjustedRadius","outerEndAdjustedRadius","outerStartAdjustedAngle","outerEndAdjustedAngle","innerStartAdjustedRadius","innerEndAdjustedRadius","innerStartAdjustedAngle","innerEndAdjustedAngle","pCenter","p4","p8","outerStartX","outerStartY","outerEndX","outerEndY","ArcElement","fullCircles","chartX","chartY","rAdjust","betweenAngles","withinRadius","halfAngle","halfRadius","radiusOffset","drawArc","lineJoin","drawFullCircleBorders","setStyle","lineCap","pathVars","paramsStart","paramsEnd","segmentStart","segmentEnd","pathSegment","lineMethod","getLineMethod","stepped","fastPathSegment","prevX","lastY","avgX","countX","pointIndex","drawX","truncX","_getSegmentMethod","usePath2D","Path2D","LineElement","_path","_points","_segments","_pointsUpdated","_interpolate","_getInterpolationMethod","interpolated","path","segmentMethod","strokePathWithCache","strokePathDirect","inRange$1","hitRadius","PointElement","mouseX","mouseY","inXRange","inYRange","hoverRadius","getBarBounds","bar","half","skipOrLimit","skipX","skipY","addNormalRectPath","inflateRect","refRect","BarElement","outer","boundingRects","parseBorderWidth","maxW","maxH","parseBorderRadius","maxR","enableBorder","addRectPath","hasRadius","cleanDecimatedDataset","cleanDecimatedData","plugin_decimation","algorithm","beforeElementsUpdate","xAxis","decimated","getStartAndCountOfVisiblePointsSimplified","threshold","lttbDecimation","samples","bucketWidth","sampledIndex","endIndex","maxAreaPoint","maxArea","nextA","avgY","avgRangeStart","avgRangeEnd","avgRangeLength","rangeOffs","rangeTo","pointAx","pointAy","minMaxDecimation","minIndex","maxIndex","startIndex","xMin","dx","lastIndex","intermediateIndex1","intermediateIndex2","_getBounds","_findSegmentEnd","_getEdge","_createBoundaryLine","_pointsFromSegments","linePoints","_shouldApplyFill","_resolveTarget","propagate","visited","_decodeFill","parseFillOption","fillOption","decodeTargetIndex","firstCh","addPointsBelow","sourcePoint","linesBelow","postponed","findPoint","pointValue","firstValue","lastValue","simpleArc","_drawfill","getLineByIndex","_buildStackLine","sourcePoints","getLinesBelow","below","computeBoundary","computeCircularBoundary","_getTargetValue","computeLinearBoundary","_getTargetPixel","lineOpts","above","doFill","clipVertical","clipY","lineLoop","tpoints","targetSegments","tgt","subBounds","fillSources","fillSource","notShape","clipBounds","interpolatedLineTo","targetLoop","interpolatedPoint","afterDatasetsUpdate","_args","$filler","beforeDraw","drawTime","beforeDatasetsDraw","beforeDatasetDraw","getBoxSize","labelOpts","boxHeight","boxWidth","usePointStyle","pointStyleWidth","itemHeight","Legend","_added","legendHitBoxes","_hoveredItem","doughnutMode","legendItems","columnSizes","lineWidths","buildLabels","labelFont","_computeTitleHeight","_fitRows","_fitCols","hitboxes","totalHeight","row","heightLimit","totalWidth","currentColWidth","currentColHeight","adjustHitBoxes","rtlHelper","hitbox","_draw","defaultColor","fontColor","halfFontSize","cursor","textDirection","lineDash","drawOptions","SQRT2","yBoxTop","xBoxLeft","drawLegendBox","titleFont","titlePadding","topPaddingPlusHalfFontSize","_getLegendItemAt","hitBox","lh","handleEvent","isListened","onLeave","hoveredItem","sameItem","itemsEqual","plugin_legend","afterEvent","ci","Title","_padding","textSize","_drawArgs","fontOpts","plugin_title","createTitle","titleBlock","WeakMap","plugin_subtitle","positioners","average","eventPosition","nearestElement","tp","pushOrConcat","toPush","splitNewlines","createTooltipItem","getTooltipSize","footer","bodyFont","footerFont","titleLineCount","footerLineCount","bodyLineItemCount","combinedBodyLength","bodyItem","beforeBody","afterBody","titleSpacing","titleMarginBottom","displayColors","bodySpacing","footerMarginTop","footerSpacing","widthPadding","maxLineWidth","determineXAlign","yAlign","chartWidth","xAlign","doesNotFitWithAlign","caret","caretSize","caretPadding","determineAlignment","determineYAlign","getBackgroundPoint","alignment","paddingAndSize","alignX","alignY","getAlignedX","getBeforeAfterBodyLines","overrideCallbacks","_eventPosition","_size","_cachedAnimations","_tooltipItems","dataPoints","caretX","caretY","labelColors","labelPointStyles","labelTextColors","createTooltipContext","tooltipItems","beforeTitle","afterTitle","getBeforeBody","getBody","bodyItems","scoped","beforeLabel","afterLabel","getAfterBody","getFooter","beforeFooter","afterFooter","_createItems","itemSort","labelColor","labelPointStyle","labelTextColor","positionAndSize","backgroundPoint","external","drawCaret","tooltipPoint","caretPosition","getCaretPosition","x3","y3","ptX","ptY","titleColor","_drawColorBox","colorX","rtlColorX","colorY","multiKeyBackground","outerX","innerX","strokeRect","drawBody","bodyAlign","bodyLineHeight","xLinePadding","fillLineOfText","bodyAlignForCalculation","textColor","bodyColor","drawFooter","footerAlign","footerColor","tooltipSize","quadraticCurveTo","_updateAnimationTarget","animX","animY","_willRender","globalAlpha","positionChanged","_positionChanged","_ignoreReplayEvents","Decimation","Filler","SubTitle","afterInit","afterDraw","labelCount","CategoryScale","_startValue","_valueRange","_addedLabels","added","findOrAddLabel","addedLabels","addIfString","lastIndexOf","relativeLabelSize","minSpacing","LinearScaleBase","_endValue","handleTickRangeOptions","setMin","setMax","minSign","maxSign","MAX_SAFE_INTEGER","MIN_SAFE_INTEGER","getTickLimit","maxTicks","stepSize","computeTickLimit","generateTicks$1","generationOptions","dataRange","precision","maxDigits","includeBounds","maxSpaces","rmin","rmax","countDefined","niceMin","niceMax","numSpaces","decimalPlaces","LinearScale","isMajor","tickVal","LogarithmicScale","_zero","exp","generateTicks","endExp","endSignificand","significand","lastTick","getTickBackdropHeight","measureLabelSize","determineLimits","updateLimits","limits","hLimits","vLimits","getTextAlignForAngle","leftForTextAlign","yForAngle","pathRadiusLine","getPointPosition","RadialLinearScale","drawingArea","_pointLabels","_pointLabelItems","fitWithPointLabels","valueCount","pointLabelOpts","additionalAngle","centerPointLabels","getPointLabelContext","plFont","setCenterPoint","buildPointLabelItems","extra","outerDistance","pointLabelPosition","leftMovement","rightMovement","topMovement","bottomMovement","scalingFactor","getValueForDistanceFromCenter","scaledDistance","pointLabel","createPointLabelContext","distanceFromCenter","getBasePosition","getPointLabelPosition","drawPointLabels","backdropLeft","backdropTop","backdropWidth","backdropHeight","drawRadiusLine","gridLineOpts","INTERVALS","millisecond","common","steps","second","minute","hour","day","week","month","quarter","year","UNITS","sorter","adapter","_adapter","parser","isoWeekday","_parseOpts","determineUnitForAutoTicks","minUnit","capacity","addTick","time","timestamps","ticksFromTimestamps","majorUnit","setMajorTicks","TimeScale","_unit","_majorUnit","_normalized","adapters","displayFormats","normalized","_applyBounds","_getLabelBounds","getLabelTimestamps","timeOpts","_generate","_getLabelCapacity","determineUnitForFormatting","determineMajorUnit","initOffsets","offsetAfterAutoskip","getDecimalForValue","hasWeekday","getDataTimestamps","tooltipFormat","datetime","_tickFormatFunction","majorFormat","_getLabelSize","ticksOpts","tickLabelWidth","cosRotation","sinRotation","tickFontSize","exampleTime","exampleLabel","prevSource","nextSource","prevTarget","nextTarget","TimeSeriesScale","_table","_minPos","_tableRange","_getTimestampsForTable","buildLookupTable"],"ignoreList":[],"sourceRoot":"webpack:///","sources":["node_modules\\jquery\\dist\\jquery.min.js","node_modules\\bootstrap\\dist\\js\\bootstrap.bundle.min.js","node_modules\\chart.js\\dist\\chart.js"],"sourcesContent":["/*! jQuery v3.7.1 | (c) OpenJS Foundation and other contributors | jquery.org/license */\n!function(e,t){\"use strict\";\"object\"==typeof module&&\"object\"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error(\"jQuery requires a window with a document\");return t(e)}:t(e)}(\"undefined\"!=typeof window?window:this,function(ie,e){\"use strict\";var oe=[],r=Object.getPrototypeOf,ae=oe.slice,g=oe.flat?function(e){return oe.flat.call(e)}:function(e){return oe.concat.apply([],e)},s=oe.push,se=oe.indexOf,n={},i=n.toString,ue=n.hasOwnProperty,o=ue.toString,a=o.call(Object),le={},v=function(e){return\"function\"==typeof e&&\"number\"!=typeof e.nodeType&&\"function\"!=typeof e.item},y=function(e){return null!=e&&e===e.window},C=ie.document,u={type:!0,src:!0,nonce:!0,noModule:!0};function m(e,t,n){var r,i,o=(n=n||C).createElement(\"script\");if(o.text=e,t)for(r in u)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function x(e){return null==e?e+\"\":\"object\"==typeof e||\"function\"==typeof e?n[i.call(e)]||\"object\":typeof e}var t=\"3.7.1\",l=/HTML$/i,ce=function(e,t){return new ce.fn.init(e,t)};function c(e){var t=!!e&&\"length\"in e&&e.length,n=x(e);return!v(e)&&!y(e)&&(\"array\"===n||0===t||\"number\"==typeof t&&0+~]|\"+ge+\")\"+ge+\"*\"),x=new RegExp(ge+\"|>\"),j=new RegExp(g),A=new RegExp(\"^\"+t+\"$\"),D={ID:new RegExp(\"^#(\"+t+\")\"),CLASS:new RegExp(\"^\\\\.(\"+t+\")\"),TAG:new RegExp(\"^(\"+t+\"|[*])\"),ATTR:new RegExp(\"^\"+p),PSEUDO:new RegExp(\"^\"+g),CHILD:new RegExp(\"^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\\\(\"+ge+\"*(even|odd|(([+-]|)(\\\\d*)n|)\"+ge+\"*(?:([+-]|)\"+ge+\"*(\\\\d+)|))\"+ge+\"*\\\\)|)\",\"i\"),bool:new RegExp(\"^(?:\"+f+\")$\",\"i\"),needsContext:new RegExp(\"^\"+ge+\"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\\\(\"+ge+\"*((?:-\\\\d)?\\\\d*)\"+ge+\"*\\\\)|)(?=[^-]|$)\",\"i\")},N=/^(?:input|select|textarea|button)$/i,q=/^h\\d$/i,L=/^(?:#([\\w-]+)|(\\w+)|\\.([\\w-]+))$/,H=/[+~]/,O=new RegExp(\"\\\\\\\\[\\\\da-fA-F]{1,6}\"+ge+\"?|\\\\\\\\([^\\\\r\\\\n\\\\f])\",\"g\"),P=function(e,t){var n=\"0x\"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},M=function(){V()},R=J(function(e){return!0===e.disabled&&fe(e,\"fieldset\")},{dir:\"parentNode\",next:\"legend\"});try{k.apply(oe=ae.call(ye.childNodes),ye.childNodes),oe[ye.childNodes.length].nodeType}catch(e){k={apply:function(e,t){me.apply(e,ae.call(t))},call:function(e){me.apply(e,ae.call(arguments,1))}}}function I(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],\"string\"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(V(e),e=e||T,C)){if(11!==p&&(u=L.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return k.call(n,a),n}else if(f&&(a=f.getElementById(i))&&I.contains(e,a)&&a.id===i)return k.call(n,a),n}else{if(u[2])return k.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&e.getElementsByClassName)return k.apply(n,e.getElementsByClassName(i)),n}if(!(h[t+\" \"]||d&&d.test(t))){if(c=t,f=e,1===p&&(x.test(t)||m.test(t))){(f=H.test(t)&&U(e.parentNode)||e)==e&&le.scope||((s=e.getAttribute(\"id\"))?s=ce.escapeSelector(s):e.setAttribute(\"id\",s=S)),o=(l=Y(t)).length;while(o--)l[o]=(s?\"#\"+s:\":scope\")+\" \"+Q(l[o]);c=l.join(\",\")}try{return k.apply(n,f.querySelectorAll(c)),n}catch(e){h(t,!0)}finally{s===S&&e.removeAttribute(\"id\")}}}return re(t.replace(ve,\"$1\"),e,n,r)}function W(){var r=[];return function e(t,n){return r.push(t+\" \")>b.cacheLength&&delete e[r.shift()],e[t+\" \"]=n}}function F(e){return e[S]=!0,e}function $(e){var t=T.createElement(\"fieldset\");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function B(t){return function(e){return fe(e,\"input\")&&e.type===t}}function _(t){return function(e){return(fe(e,\"input\")||fe(e,\"button\"))&&e.type===t}}function z(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&&R(e)===t:e.disabled===t:\"label\"in e&&e.disabled===t}}function X(a){return F(function(o){return o=+o,F(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function U(e){return e&&\"undefined\"!=typeof e.getElementsByTagName&&e}function V(e){var t,n=e?e.ownerDocument||e:ye;return n!=T&&9===n.nodeType&&n.documentElement&&(r=(T=n).documentElement,C=!ce.isXMLDoc(T),i=r.matches||r.webkitMatchesSelector||r.msMatchesSelector,r.msMatchesSelector&&ye!=T&&(t=T.defaultView)&&t.top!==t&&t.addEventListener(\"unload\",M),le.getById=$(function(e){return r.appendChild(e).id=ce.expando,!T.getElementsByName||!T.getElementsByName(ce.expando).length}),le.disconnectedMatch=$(function(e){return i.call(e,\"*\")}),le.scope=$(function(){return T.querySelectorAll(\":scope\")}),le.cssHas=$(function(){try{return T.querySelector(\":has(*,:jqfake)\"),!1}catch(e){return!0}}),le.getById?(b.filter.ID=function(e){var t=e.replace(O,P);return function(e){return e.getAttribute(\"id\")===t}},b.find.ID=function(e,t){if(\"undefined\"!=typeof t.getElementById&&C){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(O,P);return function(e){var t=\"undefined\"!=typeof e.getAttributeNode&&e.getAttributeNode(\"id\");return t&&t.value===n}},b.find.ID=function(e,t){if(\"undefined\"!=typeof t.getElementById&&C){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode(\"id\"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode(\"id\"))&&n.value===e)return[o]}return[]}}),b.find.TAG=function(e,t){return\"undefined\"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):t.querySelectorAll(e)},b.find.CLASS=function(e,t){if(\"undefined\"!=typeof t.getElementsByClassName&&C)return t.getElementsByClassName(e)},d=[],$(function(e){var t;r.appendChild(e).innerHTML=\"\",e.querySelectorAll(\"[selected]\").length||d.push(\"\\\\[\"+ge+\"*(?:value|\"+f+\")\"),e.querySelectorAll(\"[id~=\"+S+\"-]\").length||d.push(\"~=\"),e.querySelectorAll(\"a#\"+S+\"+*\").length||d.push(\".#.+[+~]\"),e.querySelectorAll(\":checked\").length||d.push(\":checked\"),(t=T.createElement(\"input\")).setAttribute(\"type\",\"hidden\"),e.appendChild(t).setAttribute(\"name\",\"D\"),r.appendChild(e).disabled=!0,2!==e.querySelectorAll(\":disabled\").length&&d.push(\":enabled\",\":disabled\"),(t=T.createElement(\"input\")).setAttribute(\"name\",\"\"),e.appendChild(t),e.querySelectorAll(\"[name='']\").length||d.push(\"\\\\[\"+ge+\"*name\"+ge+\"*=\"+ge+\"*(?:''|\\\"\\\")\")}),le.cssHas||d.push(\":has\"),d=d.length&&new RegExp(d.join(\"|\")),l=function(e,t){if(e===t)return a=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!le.sortDetached&&t.compareDocumentPosition(e)===n?e===T||e.ownerDocument==ye&&I.contains(ye,e)?-1:t===T||t.ownerDocument==ye&&I.contains(ye,t)?1:o?se.call(o,e)-se.call(o,t):0:4&n?-1:1)}),T}for(e in I.matches=function(e,t){return I(e,null,null,t)},I.matchesSelector=function(e,t){if(V(e),C&&!h[t+\" \"]&&(!d||!d.test(t)))try{var n=i.call(e,t);if(n||le.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){h(t,!0)}return 0\":{dir:\"parentNode\",first:!0},\" \":{dir:\"parentNode\"},\"+\":{dir:\"previousSibling\",first:!0},\"~\":{dir:\"previousSibling\"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(O,P),e[3]=(e[3]||e[4]||e[5]||\"\").replace(O,P),\"~=\"===e[2]&&(e[3]=\" \"+e[3]+\" \"),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),\"nth\"===e[1].slice(0,3)?(e[3]||I.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*(\"even\"===e[3]||\"odd\"===e[3])),e[5]=+(e[7]+e[8]||\"odd\"===e[3])):e[3]&&I.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return D.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||\"\":n&&j.test(n)&&(t=Y(n,!0))&&(t=n.indexOf(\")\",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(O,P).toLowerCase();return\"*\"===e?function(){return!0}:function(e){return fe(e,t)}},CLASS:function(e){var t=s[e+\" \"];return t||(t=new RegExp(\"(^|\"+ge+\")\"+e+\"(\"+ge+\"|$)\"))&&s(e,function(e){return t.test(\"string\"==typeof e.className&&e.className||\"undefined\"!=typeof e.getAttribute&&e.getAttribute(\"class\")||\"\")})},ATTR:function(n,r,i){return function(e){var t=I.attr(e,n);return null==t?\"!=\"===r:!r||(t+=\"\",\"=\"===r?t===i:\"!=\"===r?t!==i:\"^=\"===r?i&&0===t.indexOf(i):\"*=\"===r?i&&-1:\\x20\\t\\r\\n\\f]*)[\\x20\\t\\r\\n\\f]*\\/?>(?:<\\/\\1>|)$/i;function T(e,n,r){return v(n)?ce.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?ce.grep(e,function(e){return e===n!==r}):\"string\"!=typeof n?ce.grep(e,function(e){return-1)[^>]*|#([\\w-]+))$/;(ce.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||k,\"string\"==typeof e){if(!(r=\"<\"===e[0]&&\">\"===e[e.length-1]&&3<=e.length?[null,e,null]:S.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof ce?t[0]:t,ce.merge(this,ce.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:C,!0)),w.test(r[1])&&ce.isPlainObject(t))for(r in t)v(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=C.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):v(e)?void 0!==n.ready?n.ready(e):e(ce):ce.makeArray(e,this)}).prototype=ce.fn,k=ce(C);var E=/^(?:parents|prev(?:Until|All))/,j={children:!0,contents:!0,next:!0,prev:!0};function A(e,t){while((e=e[t])&&1!==e.nodeType);return e}ce.fn.extend({has:function(e){var t=ce(e,this),n=t.length;return this.filter(function(){for(var e=0;e\\x20\\t\\r\\n\\f]*)/i,Ce=/^$|^module$|\\/(?:java|ecma)script/i;xe=C.createDocumentFragment().appendChild(C.createElement(\"div\")),(be=C.createElement(\"input\")).setAttribute(\"type\",\"radio\"),be.setAttribute(\"checked\",\"checked\"),be.setAttribute(\"name\",\"t\"),xe.appendChild(be),le.checkClone=xe.cloneNode(!0).cloneNode(!0).lastChild.checked,xe.innerHTML=\"\",le.noCloneChecked=!!xe.cloneNode(!0).lastChild.defaultValue,xe.innerHTML=\"\",le.option=!!xe.lastChild;var ke={thead:[1,\"\",\"
\"],col:[2,\"\",\"
\"],tr:[2,\"\",\"
\"],td:[3,\"\",\"
\"],_default:[0,\"\",\"\"]};function Se(e,t){var n;return n=\"undefined\"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||\"*\"):\"undefined\"!=typeof e.querySelectorAll?e.querySelectorAll(t||\"*\"):[],void 0===t||t&&fe(e,t)?ce.merge([e],n):n}function Ee(e,t){for(var n=0,r=e.length;n\",\"\"]);var je=/<|&#?\\w+;/;function Ae(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d\\s*$/g;function Re(e,t){return fe(e,\"table\")&&fe(11!==t.nodeType?t:t.firstChild,\"tr\")&&ce(e).children(\"tbody\")[0]||e}function Ie(e){return e.type=(null!==e.getAttribute(\"type\"))+\"/\"+e.type,e}function We(e){return\"true/\"===(e.type||\"\").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute(\"type\"),e}function Fe(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(_.hasData(e)&&(s=_.get(e).events))for(i in _.remove(t,\"handle events\"),s)for(n=0,r=s[i].length;n\").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on(\"load error\",i=function(e){r.remove(),i=null,e&&t(\"error\"===e.type?404:200,e.type)}),C.head.appendChild(r[0])},abort:function(){i&&i()}}});var Jt,Kt=[],Zt=/(=)\\?(?=&|$)|\\?\\?/;ce.ajaxSetup({jsonp:\"callback\",jsonpCallback:function(){var e=Kt.pop()||ce.expando+\"_\"+jt.guid++;return this[e]=!0,e}}),ce.ajaxPrefilter(\"json jsonp\",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Zt.test(e.url)?\"url\":\"string\"==typeof e.data&&0===(e.contentType||\"\").indexOf(\"application/x-www-form-urlencoded\")&&Zt.test(e.data)&&\"data\");if(a||\"jsonp\"===e.dataTypes[0])return r=e.jsonpCallback=v(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Zt,\"$1\"+r):!1!==e.jsonp&&(e.url+=(At.test(e.url)?\"&\":\"?\")+e.jsonp+\"=\"+r),e.converters[\"script json\"]=function(){return o||ce.error(r+\" was not called\"),o[0]},e.dataTypes[0]=\"json\",i=ie[r],ie[r]=function(){o=arguments},n.always(function(){void 0===i?ce(ie).removeProp(r):ie[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Kt.push(r)),o&&v(i)&&i(o[0]),o=i=void 0}),\"script\"}),le.createHTMLDocument=((Jt=C.implementation.createHTMLDocument(\"\").body).innerHTML=\"
\",2===Jt.childNodes.length),ce.parseHTML=function(e,t,n){return\"string\"!=typeof e?[]:(\"boolean\"==typeof t&&(n=t,t=!1),t||(le.createHTMLDocument?((r=(t=C.implementation.createHTMLDocument(\"\")).createElement(\"base\")).href=C.location.href,t.head.appendChild(r)):t=C),o=!n&&[],(i=w.exec(e))?[t.createElement(i[1])]:(i=Ae([e],t,o),o&&o.length&&ce(o).remove(),ce.merge([],i.childNodes)));var r,i,o},ce.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(\" \");return-1\").append(ce.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},ce.expr.pseudos.animated=function(t){return ce.grep(ce.timers,function(e){return t===e.elem}).length},ce.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=ce.css(e,\"position\"),c=ce(e),f={};\"static\"===l&&(e.style.position=\"relative\"),s=c.offset(),o=ce.css(e,\"top\"),u=ce.css(e,\"left\"),(\"absolute\"===l||\"fixed\"===l)&&-1<(o+u).indexOf(\"auto\")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),v(t)&&(t=t.call(e,n,ce.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),\"using\"in t?t.using.call(e,f):c.css(f)}},ce.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){ce.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if(\"fixed\"===ce.css(r,\"position\"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&\"static\"===ce.css(e,\"position\"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=ce(e).offset()).top+=ce.css(e,\"borderTopWidth\",!0),i.left+=ce.css(e,\"borderLeftWidth\",!0))}return{top:t.top-i.top-ce.css(r,\"marginTop\",!0),left:t.left-i.left-ce.css(r,\"marginLeft\",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&\"static\"===ce.css(e,\"position\"))e=e.offsetParent;return e||J})}}),ce.each({scrollLeft:\"pageXOffset\",scrollTop:\"pageYOffset\"},function(t,i){var o=\"pageYOffset\"===i;ce.fn[t]=function(e){return M(this,function(e,t,n){var r;if(y(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),ce.each([\"top\",\"left\"],function(e,n){ce.cssHooks[n]=Ye(le.pixelPosition,function(e,t){if(t)return t=Ge(e,n),_e.test(t)?ce(e).position()[n]+\"px\":t})}),ce.each({Height:\"height\",Width:\"width\"},function(a,s){ce.each({padding:\"inner\"+a,content:s,\"\":\"outer\"+a},function(r,o){ce.fn[o]=function(e,t){var n=arguments.length&&(r||\"boolean\"!=typeof e),i=r||(!0===e||!0===t?\"margin\":\"border\");return M(this,function(e,t,n){var r;return y(e)?0===o.indexOf(\"outer\")?e[\"inner\"+a]:e.document.documentElement[\"client\"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body[\"scroll\"+a],r[\"scroll\"+a],e.body[\"offset\"+a],r[\"offset\"+a],r[\"client\"+a])):void 0===n?ce.css(e,t,i):ce.style(e,t,n,i)},s,n?e:void 0,n)}})}),ce.each([\"ajaxStart\",\"ajaxStop\",\"ajaxComplete\",\"ajaxError\",\"ajaxSuccess\",\"ajaxSend\"],function(e,t){ce.fn[t]=function(e){return this.on(t,e)}}),ce.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,\"**\"):this.off(t,e||\"**\",n)},hover:function(e,t){return this.on(\"mouseenter\",e).on(\"mouseleave\",t||e)}}),ce.each(\"blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu\".split(\" \"),function(e,n){ce.fn[n]=function(e,t){return 0=4)throw new Error(\"Bootstrap's JavaScript requires at least jQuery v1.9.1 but less than v4.0.0\")}};u.jQueryDetection(),i.default.fn.emulateTransitionEnd=function(t){var e=this,n=!1;return i.default(this).one(u.TRANSITION_END,(function(){n=!0})),setTimeout((function(){n||u.triggerTransitionEnd(e)}),t),this},i.default.event.special[u.TRANSITION_END]={bindType:l,delegateType:l,handle:function(t){if(i.default(t.target).is(this))return t.handleObj.handler.apply(this,arguments)}};var f=\"bs.alert\",d=i.default.fn.alert,c=function(){function t(t){this._element=t}var e=t.prototype;return e.close=function(t){var e=this._element;t&&(e=this._getRootElement(t)),this._triggerCloseEvent(e).isDefaultPrevented()||this._removeElement(e)},e.dispose=function(){i.default.removeData(this._element,f),this._element=null},e._getRootElement=function(t){var e=u.getSelectorFromElement(t),n=!1;return e&&(n=document.querySelector(e)),n||(n=i.default(t).closest(\".alert\")[0]),n},e._triggerCloseEvent=function(t){var e=i.default.Event(\"close.bs.alert\");return i.default(t).trigger(e),e},e._removeElement=function(t){var e=this;if(i.default(t).removeClass(\"show\"),i.default(t).hasClass(\"fade\")){var n=u.getTransitionDurationFromElement(t);i.default(t).one(u.TRANSITION_END,(function(n){return e._destroyElement(t,n)})).emulateTransitionEnd(n)}else this._destroyElement(t)},e._destroyElement=function(t){i.default(t).detach().trigger(\"closed.bs.alert\").remove()},t._jQueryInterface=function(e){return this.each((function(){var n=i.default(this),o=n.data(f);o||(o=new t(this),n.data(f,o)),\"close\"===e&&o[e](this)}))},t._handleDismiss=function(t){return function(e){e&&e.preventDefault(),t.close(this)}},r(t,null,[{key:\"VERSION\",get:function(){return\"4.6.2\"}}]),t}();i.default(document).on(\"click.bs.alert.data-api\",'[data-dismiss=\"alert\"]',c._handleDismiss(new c)),i.default.fn.alert=c._jQueryInterface,i.default.fn.alert.Constructor=c,i.default.fn.alert.noConflict=function(){return i.default.fn.alert=d,c._jQueryInterface};var h=\"bs.button\",p=i.default.fn.button,m=\"active\",g='[data-toggle^=\"button\"]',_='input:not([type=\"hidden\"])',v=\".btn\",b=function(){function t(t){this._element=t,this.shouldAvoidTriggerChange=!1}var e=t.prototype;return e.toggle=function(){var t=!0,e=!0,n=i.default(this._element).closest('[data-toggle=\"buttons\"]')[0];if(n){var o=this._element.querySelector(_);if(o){if(\"radio\"===o.type)if(o.checked&&this._element.classList.contains(m))t=!1;else{var r=n.querySelector(\".active\");r&&i.default(r).removeClass(m)}t&&(\"checkbox\"!==o.type&&\"radio\"!==o.type||(o.checked=!this._element.classList.contains(m)),this.shouldAvoidTriggerChange||i.default(o).trigger(\"change\")),o.focus(),e=!1}}this._element.hasAttribute(\"disabled\")||this._element.classList.contains(\"disabled\")||(e&&this._element.setAttribute(\"aria-pressed\",!this._element.classList.contains(m)),t&&i.default(this._element).toggleClass(m))},e.dispose=function(){i.default.removeData(this._element,h),this._element=null},t._jQueryInterface=function(e,n){return this.each((function(){var o=i.default(this),r=o.data(h);r||(r=new t(this),o.data(h,r)),r.shouldAvoidTriggerChange=n,\"toggle\"===e&&r[e]()}))},r(t,null,[{key:\"VERSION\",get:function(){return\"4.6.2\"}}]),t}();i.default(document).on(\"click.bs.button.data-api\",g,(function(t){var e=t.target,n=e;if(i.default(e).hasClass(\"btn\")||(e=i.default(e).closest(v)[0]),!e||e.hasAttribute(\"disabled\")||e.classList.contains(\"disabled\"))t.preventDefault();else{var o=e.querySelector(_);if(o&&(o.hasAttribute(\"disabled\")||o.classList.contains(\"disabled\")))return void t.preventDefault();\"INPUT\"!==n.tagName&&\"LABEL\"===e.tagName||b._jQueryInterface.call(i.default(e),\"toggle\",\"INPUT\"===n.tagName)}})).on(\"focus.bs.button.data-api blur.bs.button.data-api\",g,(function(t){var e=i.default(t.target).closest(v)[0];i.default(e).toggleClass(\"focus\",/^focus(in)?$/.test(t.type))})),i.default(window).on(\"load.bs.button.data-api\",(function(){for(var t=[].slice.call(document.querySelectorAll('[data-toggle=\"buttons\"] .btn')),e=0,n=t.length;e0,this._pointerEvent=Boolean(window.PointerEvent||window.MSPointerEvent),this._addEventListeners()}var e=t.prototype;return e.next=function(){this._isSliding||this._slide(C)},e.nextWhenVisible=function(){var t=i.default(this._element);!document.hidden&&t.is(\":visible\")&&\"hidden\"!==t.css(\"visibility\")&&this.next()},e.prev=function(){this._isSliding||this._slide(S)},e.pause=function(t){t||(this._isPaused=!0),this._element.querySelector(\".carousel-item-next, .carousel-item-prev\")&&(u.triggerTransitionEnd(this._element),this.cycle(!0)),clearInterval(this._interval),this._interval=null},e.cycle=function(t){t||(this._isPaused=!1),this._interval&&(clearInterval(this._interval),this._interval=null),this._config.interval&&!this._isPaused&&(this._updateInterval(),this._interval=setInterval((document.visibilityState?this.nextWhenVisible:this.next).bind(this),this._config.interval))},e.to=function(t){var e=this;this._activeElement=this._element.querySelector(D);var n=this._getItemIndex(this._activeElement);if(!(t>this._items.length-1||t<0))if(this._isSliding)i.default(this._element).one(N,(function(){return e.to(t)}));else{if(n===t)return this.pause(),void this.cycle();var o=t>n?C:S;this._slide(o,this._items[t])}},e.dispose=function(){i.default(this._element).off(\".bs.carousel\"),i.default.removeData(this._element,E),this._items=null,this._config=null,this._element=null,this._interval=null,this._isPaused=null,this._isSliding=null,this._activeElement=null,this._indicatorsElement=null},e._getConfig=function(t){return t=a({},A,t),u.typeCheckConfig(y,t,k),t},e._handleSwipe=function(){var t=Math.abs(this.touchDeltaX);if(!(t<=40)){var e=t/this.touchDeltaX;this.touchDeltaX=0,e>0&&this.prev(),e<0&&this.next()}},e._addEventListeners=function(){var t=this;this._config.keyboard&&i.default(this._element).on(\"keydown.bs.carousel\",(function(e){return t._keydown(e)})),\"hover\"===this._config.pause&&i.default(this._element).on(\"mouseenter.bs.carousel\",(function(e){return t.pause(e)})).on(\"mouseleave.bs.carousel\",(function(e){return t.cycle(e)})),this._config.touch&&this._addTouchEventListeners()},e._addTouchEventListeners=function(){var t=this;if(this._touchSupported){var e=function(e){t._pointerEvent&&I[e.originalEvent.pointerType.toUpperCase()]?t.touchStartX=e.originalEvent.clientX:t._pointerEvent||(t.touchStartX=e.originalEvent.touches[0].clientX)},n=function(e){t._pointerEvent&&I[e.originalEvent.pointerType.toUpperCase()]&&(t.touchDeltaX=e.originalEvent.clientX-t.touchStartX),t._handleSwipe(),\"hover\"===t._config.pause&&(t.pause(),t.touchTimeout&&clearTimeout(t.touchTimeout),t.touchTimeout=setTimeout((function(e){return t.cycle(e)}),500+t._config.interval))};i.default(this._element.querySelectorAll(\".carousel-item img\")).on(\"dragstart.bs.carousel\",(function(t){return t.preventDefault()})),this._pointerEvent?(i.default(this._element).on(\"pointerdown.bs.carousel\",(function(t){return e(t)})),i.default(this._element).on(\"pointerup.bs.carousel\",(function(t){return n(t)})),this._element.classList.add(\"pointer-event\")):(i.default(this._element).on(\"touchstart.bs.carousel\",(function(t){return e(t)})),i.default(this._element).on(\"touchmove.bs.carousel\",(function(e){return function(e){t.touchDeltaX=e.originalEvent.touches&&e.originalEvent.touches.length>1?0:e.originalEvent.touches[0].clientX-t.touchStartX}(e)})),i.default(this._element).on(\"touchend.bs.carousel\",(function(t){return n(t)})))}},e._keydown=function(t){if(!/input|textarea/i.test(t.target.tagName))switch(t.which){case 37:t.preventDefault(),this.prev();break;case 39:t.preventDefault(),this.next()}},e._getItemIndex=function(t){return this._items=t&&t.parentNode?[].slice.call(t.parentNode.querySelectorAll(\".carousel-item\")):[],this._items.indexOf(t)},e._getItemByDirection=function(t,e){var n=t===C,i=t===S,o=this._getItemIndex(e),r=this._items.length-1;if((i&&0===o||n&&o===r)&&!this._config.wrap)return e;var a=(o+(t===S?-1:1))%this._items.length;return-1===a?this._items[this._items.length-1]:this._items[a]},e._triggerSlideEvent=function(t,e){var n=this._getItemIndex(t),o=this._getItemIndex(this._element.querySelector(D)),r=i.default.Event(\"slide.bs.carousel\",{relatedTarget:t,direction:e,from:o,to:n});return i.default(this._element).trigger(r),r},e._setActiveIndicatorElement=function(t){if(this._indicatorsElement){var e=[].slice.call(this._indicatorsElement.querySelectorAll(\".active\"));i.default(e).removeClass(T);var n=this._indicatorsElement.children[this._getItemIndex(t)];n&&i.default(n).addClass(T)}},e._updateInterval=function(){var t=this._activeElement||this._element.querySelector(D);if(t){var e=parseInt(t.getAttribute(\"data-interval\"),10);e?(this._config.defaultInterval=this._config.defaultInterval||this._config.interval,this._config.interval=e):this._config.interval=this._config.defaultInterval||this._config.interval}},e._slide=function(t,e){var n,o,r,a=this,s=this._element.querySelector(D),l=this._getItemIndex(s),f=e||s&&this._getItemByDirection(t,s),d=this._getItemIndex(f),c=Boolean(this._interval);if(t===C?(n=\"carousel-item-left\",o=\"carousel-item-next\",r=\"left\"):(n=\"carousel-item-right\",o=\"carousel-item-prev\",r=\"right\"),f&&i.default(f).hasClass(T))this._isSliding=!1;else if(!this._triggerSlideEvent(f,r).isDefaultPrevented()&&s&&f){this._isSliding=!0,c&&this.pause(),this._setActiveIndicatorElement(f),this._activeElement=f;var h=i.default.Event(N,{relatedTarget:f,direction:r,from:l,to:d});if(i.default(this._element).hasClass(\"slide\")){i.default(f).addClass(o),u.reflow(f),i.default(s).addClass(n),i.default(f).addClass(n);var p=u.getTransitionDurationFromElement(s);i.default(s).one(u.TRANSITION_END,(function(){i.default(f).removeClass(n+\" \"+o).addClass(T),i.default(s).removeClass(\"active \"+o+\" \"+n),a._isSliding=!1,setTimeout((function(){return i.default(a._element).trigger(h)}),0)})).emulateTransitionEnd(p)}else i.default(s).removeClass(T),i.default(f).addClass(T),this._isSliding=!1,i.default(this._element).trigger(h);c&&this.cycle()}},t._jQueryInterface=function(e){return this.each((function(){var n=i.default(this).data(E),o=a({},A,i.default(this).data());\"object\"==typeof e&&(o=a({},o,e));var r=\"string\"==typeof e?e:o.slide;if(n||(n=new t(this,o),i.default(this).data(E,n)),\"number\"==typeof e)n.to(e);else if(\"string\"==typeof r){if(\"undefined\"==typeof n[r])throw new TypeError('No method named \"'+r+'\"');n[r]()}else o.interval&&o.ride&&(n.pause(),n.cycle())}))},t._dataApiClickHandler=function(e){var n=u.getSelectorFromElement(this);if(n){var o=i.default(n)[0];if(o&&i.default(o).hasClass(\"carousel\")){var r=a({},i.default(o).data(),i.default(this).data()),s=this.getAttribute(\"data-slide-to\");s&&(r.interval=!1),t._jQueryInterface.call(i.default(o),r),s&&i.default(o).data(E).to(s),e.preventDefault()}}},r(t,null,[{key:\"VERSION\",get:function(){return\"4.6.2\"}},{key:\"Default\",get:function(){return A}}]),t}();i.default(document).on(\"click.bs.carousel.data-api\",\"[data-slide], [data-slide-to]\",O._dataApiClickHandler),i.default(window).on(\"load.bs.carousel.data-api\",(function(){for(var t=[].slice.call(document.querySelectorAll('[data-ride=\"carousel\"]')),e=0,n=t.length;e0&&(this._selector=a,this._triggerArray.push(r))}this._parent=this._config.parent?this._getParent():null,this._config.parent||this._addAriaAndCollapsedClass(this._element,this._triggerArray),this._config.toggle&&this.toggle()}var e=t.prototype;return e.toggle=function(){i.default(this._element).hasClass(P)?this.hide():this.show()},e.show=function(){var e,n,o=this;if(!(this._isTransitioning||i.default(this._element).hasClass(P)||(this._parent&&0===(e=[].slice.call(this._parent.querySelectorAll(\".show, .collapsing\")).filter((function(t){return\"string\"==typeof o._config.parent?t.getAttribute(\"data-parent\")===o._config.parent:t.classList.contains(F)}))).length&&(e=null),e&&(n=i.default(e).not(this._selector).data(j))&&n._isTransitioning))){var r=i.default.Event(\"show.bs.collapse\");if(i.default(this._element).trigger(r),!r.isDefaultPrevented()){e&&(t._jQueryInterface.call(i.default(e).not(this._selector),\"hide\"),n||i.default(e).data(j,null));var a=this._getDimension();i.default(this._element).removeClass(F).addClass(R),this._element.style[a]=0,this._triggerArray.length&&i.default(this._triggerArray).removeClass(B).attr(\"aria-expanded\",!0),this.setTransitioning(!0);var s=\"scroll\"+(a[0].toUpperCase()+a.slice(1)),l=u.getTransitionDurationFromElement(this._element);i.default(this._element).one(u.TRANSITION_END,(function(){i.default(o._element).removeClass(R).addClass(\"collapse show\"),o._element.style[a]=\"\",o.setTransitioning(!1),i.default(o._element).trigger(\"shown.bs.collapse\")})).emulateTransitionEnd(l),this._element.style[a]=this._element[s]+\"px\"}}},e.hide=function(){var t=this;if(!this._isTransitioning&&i.default(this._element).hasClass(P)){var e=i.default.Event(\"hide.bs.collapse\");if(i.default(this._element).trigger(e),!e.isDefaultPrevented()){var n=this._getDimension();this._element.style[n]=this._element.getBoundingClientRect()[n]+\"px\",u.reflow(this._element),i.default(this._element).addClass(R).removeClass(\"collapse show\");var o=this._triggerArray.length;if(o>0)for(var r=0;r=0)return 1;return 0}(),Y=U&&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()}),V))}};function z(t){return t&&\"[object Function]\"==={}.toString.call(t)}function K(t,e){if(1!==t.nodeType)return[];var n=t.ownerDocument.defaultView.getComputedStyle(t,null);return e?n[e]:n}function X(t){return\"HTML\"===t.nodeName?t:t.parentNode||t.host}function G(t){if(!t)return document.body;switch(t.nodeName){case\"HTML\":case\"BODY\":return t.ownerDocument.body;case\"#document\":return t.body}var e=K(t),n=e.overflow,i=e.overflowX,o=e.overflowY;return/(auto|scroll|overlay)/.test(n+o+i)?t:G(X(t))}function $(t){return t&&t.referenceNode?t.referenceNode:t}var J=U&&!(!window.MSInputMethodContext||!document.documentMode),Z=U&&/MSIE 10/.test(navigator.userAgent);function tt(t){return 11===t?J:10===t?Z:J||Z}function et(t){if(!t)return document.documentElement;for(var e=tt(10)?document.body:null,n=t.offsetParent||null;n===e&&t.nextElementSibling;)n=(t=t.nextElementSibling).offsetParent;var i=n&&n.nodeName;return i&&\"BODY\"!==i&&\"HTML\"!==i?-1!==[\"TH\",\"TD\",\"TABLE\"].indexOf(n.nodeName)&&\"static\"===K(n,\"position\")?et(n):n:t?t.ownerDocument.documentElement:document.documentElement}function nt(t){return null!==t.parentNode?nt(t.parentNode):t}function it(t,e){if(!(t&&t.nodeType&&e&&e.nodeType))return document.documentElement;var n=t.compareDocumentPosition(e)&Node.DOCUMENT_POSITION_FOLLOWING,i=n?t:e,o=n?e:t,r=document.createRange();r.setStart(i,0),r.setEnd(o,0);var a,s,l=r.commonAncestorContainer;if(t!==l&&e!==l||i.contains(o))return\"BODY\"===(s=(a=l).nodeName)||\"HTML\"!==s&&et(a.firstElementChild)!==a?et(l):l;var u=nt(t);return u.host?it(u.host,e):it(t,nt(e).host)}function ot(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"top\",n=\"top\"===e?\"scrollTop\":\"scrollLeft\",i=t.nodeName;if(\"BODY\"===i||\"HTML\"===i){var o=t.ownerDocument.documentElement,r=t.ownerDocument.scrollingElement||o;return r[n]}return t[n]}function rt(t,e){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=ot(e,\"top\"),o=ot(e,\"left\"),r=n?-1:1;return t.top+=i*r,t.bottom+=i*r,t.left+=o*r,t.right+=o*r,t}function at(t,e){var n=\"x\"===e?\"Left\":\"Top\",i=\"Left\"===n?\"Right\":\"Bottom\";return parseFloat(t[\"border\"+n+\"Width\"])+parseFloat(t[\"border\"+i+\"Width\"])}function st(t,e,n,i){return Math.max(e[\"offset\"+t],e[\"scroll\"+t],n[\"client\"+t],n[\"offset\"+t],n[\"scroll\"+t],tt(10)?parseInt(n[\"offset\"+t])+parseInt(i[\"margin\"+(\"Height\"===t?\"Top\":\"Left\")])+parseInt(i[\"margin\"+(\"Height\"===t?\"Bottom\":\"Right\")]):0)}function lt(t){var e=t.body,n=t.documentElement,i=tt(10)&&getComputedStyle(n);return{height:st(\"Height\",e,n,i),width:st(\"Width\",e,n,i)}}var ut=function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")},ft=function(){function t(t,e){for(var n=0;n2&&void 0!==arguments[2]&&arguments[2],i=tt(10),o=\"HTML\"===e.nodeName,r=pt(t),a=pt(e),s=G(t),l=K(e),u=parseFloat(l.borderTopWidth),f=parseFloat(l.borderLeftWidth);n&&o&&(a.top=Math.max(a.top,0),a.left=Math.max(a.left,0));var d=ht({top:r.top-a.top-u,left:r.left-a.left-f,width:r.width,height:r.height});if(d.marginTop=0,d.marginLeft=0,!i&&o){var c=parseFloat(l.marginTop),h=parseFloat(l.marginLeft);d.top-=u-c,d.bottom-=u-c,d.left-=f-h,d.right-=f-h,d.marginTop=c,d.marginLeft=h}return(i&&!n?e.contains(s):e===s&&\"BODY\"!==s.nodeName)&&(d=rt(d,e)),d}function gt(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=t.ownerDocument.documentElement,i=mt(t,n),o=Math.max(n.clientWidth,window.innerWidth||0),r=Math.max(n.clientHeight,window.innerHeight||0),a=e?0:ot(n),s=e?0:ot(n,\"left\"),l={top:a-i.top+i.marginTop,left:s-i.left+i.marginLeft,width:o,height:r};return ht(l)}function _t(t){var e=t.nodeName;if(\"BODY\"===e||\"HTML\"===e)return!1;if(\"fixed\"===K(t,\"position\"))return!0;var n=X(t);return!!n&&_t(n)}function vt(t){if(!t||!t.parentElement||tt())return document.documentElement;for(var e=t.parentElement;e&&\"none\"===K(e,\"transform\");)e=e.parentElement;return e||document.documentElement}function bt(t,e,n,i){var o=arguments.length>4&&void 0!==arguments[4]&&arguments[4],r={top:0,left:0},a=o?vt(t):it(t,$(e));if(\"viewport\"===i)r=gt(a,o);else{var s=void 0;\"scrollParent\"===i?\"BODY\"===(s=G(X(e))).nodeName&&(s=t.ownerDocument.documentElement):s=\"window\"===i?t.ownerDocument.documentElement:i;var l=mt(s,a,o);if(\"HTML\"!==s.nodeName||_t(a))r=l;else{var u=lt(t.ownerDocument),f=u.height,d=u.width;r.top+=l.top-l.marginTop,r.bottom=f+l.top,r.left+=l.left-l.marginLeft,r.right=d+l.left}}var c=\"number\"==typeof(n=n||0);return r.left+=c?n:n.left||0,r.top+=c?n:n.top||0,r.right-=c?n:n.right||0,r.bottom-=c?n:n.bottom||0,r}function yt(t){return t.width*t.height}function Et(t,e,n,i,o){var r=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0;if(-1===t.indexOf(\"auto\"))return t;var a=bt(n,i,r,o),s={top:{width:a.width,height:e.top-a.top},right:{width:a.right-e.right,height:a.height},bottom:{width:a.width,height:a.bottom-e.bottom},left:{width:e.left-a.left,height:a.height}},l=Object.keys(s).map((function(t){return ct({key:t},s[t],{area:yt(s[t])})})).sort((function(t,e){return e.area-t.area})),u=l.filter((function(t){var e=t.width,i=t.height;return e>=n.clientWidth&&i>=n.clientHeight})),f=u.length>0?u[0].key:l[0].key,d=t.split(\"-\")[1];return f+(d?\"-\"+d:\"\")}function wt(t,e,n){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,o=i?vt(e):it(e,$(n));return mt(n,o,i)}function Tt(t){var e=t.ownerDocument.defaultView.getComputedStyle(t),n=parseFloat(e.marginTop||0)+parseFloat(e.marginBottom||0),i=parseFloat(e.marginLeft||0)+parseFloat(e.marginRight||0);return{width:t.offsetWidth+i,height:t.offsetHeight+n}}function Ct(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 St(t,e,n){n=n.split(\"-\")[0];var i=Tt(t),o={width:i.width,height:i.height},r=-1!==[\"right\",\"left\"].indexOf(n),a=r?\"top\":\"left\",s=r?\"left\":\"top\",l=r?\"height\":\"width\",u=r?\"width\":\"height\";return o[a]=e[a]+e[l]/2-i[l]/2,o[s]=n===s?e[s]-i[u]:e[Ct(s)],o}function Nt(t,e){return Array.prototype.find?t.find(e):t.filter(e)[0]}function Dt(t,e,n){return(void 0===n?t:t.slice(0,function(t,e,n){if(Array.prototype.findIndex)return t.findIndex((function(t){return t.name===n}));var i=Nt(t,(function(t){return t.name===n}));return t.indexOf(i)}(t,0,n))).forEach((function(t){t.function&&console.warn(\"`modifier.function` is deprecated, use `modifier.fn`!\");var n=t.function||t.fn;t.enabled&&z(n)&&(e.offsets.popper=ht(e.offsets.popper),e.offsets.reference=ht(e.offsets.reference),e=n(e,t))})),e}function At(){if(!this.state.isDestroyed){var t={instance:this,styles:{},arrowStyles:{},attributes:{},flipped:!1,offsets:{}};t.offsets.reference=wt(this.state,this.popper,this.reference,this.options.positionFixed),t.placement=Et(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=St(this.popper,t.offsets.reference,t.placement),t.offsets.popper.position=this.options.positionFixed?\"fixed\":\"absolute\",t=Dt(this.modifiers,t),this.state.isCreated?this.options.onUpdate(t):(this.state.isCreated=!0,this.options.onCreate(t))}}function kt(t,e){return t.some((function(t){var n=t.name;return t.enabled&&n===e}))}function It(t){for(var e=[!1,\"ms\",\"Webkit\",\"Moz\",\"O\"],n=t.charAt(0).toUpperCase()+t.slice(1),i=0;i1&&void 0!==arguments[1]&&arguments[1],n=Qt.indexOf(t),i=Qt.slice(n+1).concat(Qt.slice(0,n));return e?i.reverse():i}var Ut={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,n=e.split(\"-\")[0],i=e.split(\"-\")[1];if(i){var o=t.offsets,r=o.reference,a=o.popper,s=-1!==[\"bottom\",\"top\"].indexOf(n),l=s?\"left\":\"top\",u=s?\"width\":\"height\",f={start:dt({},l,r[l]),end:dt({},l,r[l]+r[u]-a[u])};t.offsets.popper=ct({},a,f[i])}return t}},offset:{order:200,enabled:!0,fn:function(t,e){var n,i=e.offset,o=t.placement,r=t.offsets,a=r.popper,s=r.reference,l=o.split(\"-\")[0];return n=Rt(+i)?[+i,0]:function(t,e,n,i){var o=[0,0],r=-1!==[\"right\",\"left\"].indexOf(i),a=t.split(/(\\+|\\-)/).map((function(t){return t.trim()})),s=a.indexOf(Nt(a,(function(t){return-1!==t.search(/,|\\s/)})));a[s]&&-1===a[s].indexOf(\",\")&&console.warn(\"Offsets separated by white space(s) are deprecated, use a comma (,) instead.\");var l=/\\s*,\\s*|\\s+/,u=-1!==s?[a.slice(0,s).concat([a[s].split(l)[0]]),[a[s].split(l)[1]].concat(a.slice(s+1))]:[a];return u=u.map((function(t,i){var o=(1===i?!r:r)?\"height\":\"width\",a=!1;return t.reduce((function(t,e){return\"\"===t[t.length-1]&&-1!==[\"+\",\"-\"].indexOf(e)?(t[t.length-1]=e,a=!0,t):a?(t[t.length-1]+=e,a=!1,t):t.concat(e)}),[]).map((function(t){return function(t,e,n,i){var o=t.match(/((?:\\-|\\+)?\\d*\\.?\\d*)(.*)/),r=+o[1],a=o[2];return r?0===a.indexOf(\"%\")?ht(\"%p\"===a?n:i)[e]/100*r:\"vh\"===a||\"vw\"===a?(\"vh\"===a?Math.max(document.documentElement.clientHeight,window.innerHeight||0):Math.max(document.documentElement.clientWidth,window.innerWidth||0))/100*r:r:t}(t,o,e,n)}))})),u.forEach((function(t,e){t.forEach((function(n,i){Rt(n)&&(o[e]+=n*(\"-\"===t[i-1]?-1:1))}))})),o}(i,a,s,l),\"left\"===l?(a.top+=n[0],a.left-=n[1]):\"right\"===l?(a.top+=n[0],a.left+=n[1]):\"top\"===l?(a.left+=n[0],a.top-=n[1]):\"bottom\"===l&&(a.left+=n[0],a.top+=n[1]),t.popper=a,t},offset:0},preventOverflow:{order:300,enabled:!0,fn:function(t,e){var n=e.boundariesElement||et(t.instance.popper);t.instance.reference===n&&(n=et(n));var i=It(\"transform\"),o=t.instance.popper.style,r=o.top,a=o.left,s=o[i];o.top=\"\",o.left=\"\",o[i]=\"\";var l=bt(t.instance.popper,t.instance.reference,e.padding,n,t.positionFixed);o.top=r,o.left=a,o[i]=s,e.boundaries=l;var u=e.priority,f=t.offsets.popper,d={primary:function(t){var n=f[t];return f[t]l[t]&&!e.escapeWithReference&&(i=Math.min(f[n],l[t]-(\"right\"===t?f.width:f.height))),dt({},n,i)}};return u.forEach((function(t){var e=-1!==[\"left\",\"top\"].indexOf(t)?\"primary\":\"secondary\";f=ct({},f,d[e](t))})),t.offsets.popper=f,t},priority:[\"left\",\"right\",\"top\",\"bottom\"],padding:5,boundariesElement:\"scrollParent\"},keepTogether:{order:400,enabled:!0,fn:function(t){var e=t.offsets,n=e.popper,i=e.reference,o=t.placement.split(\"-\")[0],r=Math.floor,a=-1!==[\"top\",\"bottom\"].indexOf(o),s=a?\"right\":\"bottom\",l=a?\"left\":\"top\",u=a?\"width\":\"height\";return n[s]r(i[s])&&(t.offsets.popper[l]=r(i[s])),t}},arrow:{order:500,enabled:!0,fn:function(t,e){var n;if(!Mt(t.instance.modifiers,\"arrow\",\"keepTogether\"))return t;var i=e.element;if(\"string\"==typeof i){if(!(i=t.instance.popper.querySelector(i)))return t}else if(!t.instance.popper.contains(i))return console.warn(\"WARNING: `arrow.element` must be child of its popper element!\"),t;var o=t.placement.split(\"-\")[0],r=t.offsets,a=r.popper,s=r.reference,l=-1!==[\"left\",\"right\"].indexOf(o),u=l?\"height\":\"width\",f=l?\"Top\":\"Left\",d=f.toLowerCase(),c=l?\"left\":\"top\",h=l?\"bottom\":\"right\",p=Tt(i)[u];s[h]-pa[h]&&(t.offsets.popper[d]+=s[d]+p-a[h]),t.offsets.popper=ht(t.offsets.popper);var m=s[d]+s[u]/2-p/2,g=K(t.instance.popper),_=parseFloat(g[\"margin\"+f]),v=parseFloat(g[\"border\"+f+\"Width\"]),b=m-t.offsets.popper[d]-_-v;return b=Math.max(Math.min(a[u]-p,b),0),t.arrowElement=i,t.offsets.arrow=(dt(n={},d,Math.round(b)),dt(n,c,\"\"),n),t},element:\"[x-arrow]\"},flip:{order:600,enabled:!0,fn:function(t,e){if(kt(t.instance.modifiers,\"inner\"))return t;if(t.flipped&&t.placement===t.originalPlacement)return t;var n=bt(t.instance.popper,t.instance.reference,e.padding,e.boundariesElement,t.positionFixed),i=t.placement.split(\"-\")[0],o=Ct(i),r=t.placement.split(\"-\")[1]||\"\",a=[];switch(e.behavior){case\"flip\":a=[i,o];break;case\"clockwise\":a=Wt(i);break;case\"counterclockwise\":a=Wt(i,!0);break;default:a=e.behavior}return a.forEach((function(s,l){if(i!==s||a.length===l+1)return t;i=t.placement.split(\"-\")[0],o=Ct(i);var u=t.offsets.popper,f=t.offsets.reference,d=Math.floor,c=\"left\"===i&&d(u.right)>d(f.left)||\"right\"===i&&d(u.left)d(f.top)||\"bottom\"===i&&d(u.top)d(n.right),m=d(u.top)d(n.bottom),_=\"left\"===i&&h||\"right\"===i&&p||\"top\"===i&&m||\"bottom\"===i&&g,v=-1!==[\"top\",\"bottom\"].indexOf(i),b=!!e.flipVariations&&(v&&\"start\"===r&&h||v&&\"end\"===r&&p||!v&&\"start\"===r&&m||!v&&\"end\"===r&&g),y=!!e.flipVariationsByContent&&(v&&\"start\"===r&&p||v&&\"end\"===r&&h||!v&&\"start\"===r&&g||!v&&\"end\"===r&&m),E=b||y;(c||_||E)&&(t.flipped=!0,(c||_)&&(i=a[l+1]),E&&(r=function(t){return\"end\"===t?\"start\":\"start\"===t?\"end\":t}(r)),t.placement=i+(r?\"-\"+r:\"\"),t.offsets.popper=ct({},t.offsets.popper,St(t.instance.popper,t.offsets.reference,t.placement)),t=Dt(t.instance.modifiers,t,\"flip\"))})),t},behavior:\"flip\",padding:5,boundariesElement:\"viewport\",flipVariations:!1,flipVariationsByContent:!1},inner:{order:700,enabled:!1,fn:function(t){var e=t.placement,n=e.split(\"-\")[0],i=t.offsets,o=i.popper,r=i.reference,a=-1!==[\"left\",\"right\"].indexOf(n),s=-1===[\"top\",\"left\"].indexOf(n);return o[a?\"left\":\"top\"]=r[n]-(s?o[a?\"width\":\"height\"]:0),t.placement=Ct(e),t.offsets.popper=ht(o),t}},hide:{order:800,enabled:!0,fn:function(t){if(!Mt(t.instance.modifiers,\"hide\",\"preventOverflow\"))return t;var e=t.offsets.reference,n=Nt(t.instance.modifiers,(function(t){return\"preventOverflow\"===t.name})).boundaries;if(e.bottomn.right||e.top>n.bottom||e.right2&&void 0!==arguments[2]?arguments[2]:{};ut(this,t),this.scheduleUpdate=function(){return requestAnimationFrame(i.update)},this.update=Y(this.update.bind(this)),this.options=ct({},t.Defaults,o),this.state={isDestroyed:!1,isCreated:!1,scrollParents:[]},this.reference=e&&e.jquery?e[0]:e,this.popper=n&&n.jquery?n[0]:n,this.options.modifiers={},Object.keys(ct({},t.Defaults.modifiers,o.modifiers)).forEach((function(e){i.options.modifiers[e]=ct({},t.Defaults.modifiers[e]||{},o.modifiers?o.modifiers[e]:{})})),this.modifiers=Object.keys(this.options.modifiers).map((function(t){return ct({name:t},i.options.modifiers[t])})).sort((function(t,e){return t.order-e.order})),this.modifiers.forEach((function(t){t.enabled&&z(t.onLoad)&&t.onLoad(i.reference,i.popper,i.options,t,i.state)})),this.update();var r=this.options.eventsEnabled;r&&this.enableEventListeners(),this.state.eventsEnabled=r}return ft(t,[{key:\"update\",value:function(){return At.call(this)}},{key:\"destroy\",value:function(){return Ot.call(this)}},{key:\"enableEventListeners\",value:function(){return Pt.call(this)}},{key:\"disableEventListeners\",value:function(){return Ft.call(this)}}]),t}();Vt.Utils=(\"undefined\"!=typeof window?window:global).PopperUtils,Vt.placements=qt,Vt.Defaults=Ut;var Yt=Vt,zt=\"dropdown\",Kt=\"bs.dropdown\",Xt=i.default.fn[zt],Gt=new RegExp(\"38|40|27\"),$t=\"disabled\",Jt=\"show\",Zt=\"dropdown-menu-right\",te=\"hide.bs.dropdown\",ee=\"hidden.bs.dropdown\",ne=\"click.bs.dropdown.data-api\",ie=\"keydown.bs.dropdown.data-api\",oe='[data-toggle=\"dropdown\"]',re=\".dropdown-menu\",ae={offset:0,flip:!0,boundary:\"scrollParent\",reference:\"toggle\",display:\"dynamic\",popperConfig:null},se={offset:\"(number|string|function)\",flip:\"boolean\",boundary:\"(string|element)\",reference:\"(string|element)\",display:\"string\",popperConfig:\"(null|object)\"},le=function(){function t(t,e){this._element=t,this._popper=null,this._config=this._getConfig(e),this._menu=this._getMenuElement(),this._inNavbar=this._detectNavbar(),this._addEventListeners()}var e=t.prototype;return e.toggle=function(){if(!this._element.disabled&&!i.default(this._element).hasClass($t)){var e=i.default(this._menu).hasClass(Jt);t._clearMenus(),e||this.show(!0)}},e.show=function(e){if(void 0===e&&(e=!1),!(this._element.disabled||i.default(this._element).hasClass($t)||i.default(this._menu).hasClass(Jt))){var n={relatedTarget:this._element},o=i.default.Event(\"show.bs.dropdown\",n),r=t._getParentFromElement(this._element);if(i.default(r).trigger(o),!o.isDefaultPrevented()){if(!this._inNavbar&&e){if(\"undefined\"==typeof Yt)throw new TypeError(\"Bootstrap's dropdowns require Popper (https://popper.js.org)\");var a=this._element;\"parent\"===this._config.reference?a=r:u.isElement(this._config.reference)&&(a=this._config.reference,\"undefined\"!=typeof this._config.reference.jquery&&(a=this._config.reference[0])),\"scrollParent\"!==this._config.boundary&&i.default(r).addClass(\"position-static\"),this._popper=new Yt(a,this._menu,this._getPopperConfig())}\"ontouchstart\"in document.documentElement&&0===i.default(r).closest(\".navbar-nav\").length&&i.default(document.body).children().on(\"mouseover\",null,i.default.noop),this._element.focus(),this._element.setAttribute(\"aria-expanded\",!0),i.default(this._menu).toggleClass(Jt),i.default(r).toggleClass(Jt).trigger(i.default.Event(\"shown.bs.dropdown\",n))}}},e.hide=function(){if(!this._element.disabled&&!i.default(this._element).hasClass($t)&&i.default(this._menu).hasClass(Jt)){var e={relatedTarget:this._element},n=i.default.Event(te,e),o=t._getParentFromElement(this._element);i.default(o).trigger(n),n.isDefaultPrevented()||(this._popper&&this._popper.destroy(),i.default(this._menu).toggleClass(Jt),i.default(o).toggleClass(Jt).trigger(i.default.Event(ee,e)))}},e.dispose=function(){i.default.removeData(this._element,Kt),i.default(this._element).off(\".bs.dropdown\"),this._element=null,this._menu=null,null!==this._popper&&(this._popper.destroy(),this._popper=null)},e.update=function(){this._inNavbar=this._detectNavbar(),null!==this._popper&&this._popper.scheduleUpdate()},e._addEventListeners=function(){var t=this;i.default(this._element).on(\"click.bs.dropdown\",(function(e){e.preventDefault(),e.stopPropagation(),t.toggle()}))},e._getConfig=function(t){return t=a({},this.constructor.Default,i.default(this._element).data(),t),u.typeCheckConfig(zt,t,this.constructor.DefaultType),t},e._getMenuElement=function(){if(!this._menu){var e=t._getParentFromElement(this._element);e&&(this._menu=e.querySelector(re))}return this._menu},e._getPlacement=function(){var t=i.default(this._element.parentNode),e=\"bottom-start\";return t.hasClass(\"dropup\")?e=i.default(this._menu).hasClass(Zt)?\"top-end\":\"top-start\":t.hasClass(\"dropright\")?e=\"right-start\":t.hasClass(\"dropleft\")?e=\"left-start\":i.default(this._menu).hasClass(Zt)&&(e=\"bottom-end\"),e},e._detectNavbar=function(){return i.default(this._element).closest(\".navbar\").length>0},e._getOffset=function(){var t=this,e={};return\"function\"==typeof this._config.offset?e.fn=function(e){return e.offsets=a({},e.offsets,t._config.offset(e.offsets,t._element)),e}:e.offset=this._config.offset,e},e._getPopperConfig=function(){var t={placement:this._getPlacement(),modifiers:{offset:this._getOffset(),flip:{enabled:this._config.flip},preventOverflow:{boundariesElement:this._config.boundary}}};return\"static\"===this._config.display&&(t.modifiers.applyStyle={enabled:!1}),a({},t,this._config.popperConfig)},t._jQueryInterface=function(e){return this.each((function(){var n=i.default(this).data(Kt);if(n||(n=new t(this,\"object\"==typeof e?e:null),i.default(this).data(Kt,n)),\"string\"==typeof e){if(\"undefined\"==typeof n[e])throw new TypeError('No method named \"'+e+'\"');n[e]()}}))},t._clearMenus=function(e){if(!e||3!==e.which&&(\"keyup\"!==e.type||9===e.which))for(var n=[].slice.call(document.querySelectorAll(oe)),o=0,r=n.length;o0&&a--,40===e.which&&adocument.documentElement.clientHeight;n||(this._element.style.overflowY=\"hidden\"),this._element.classList.add(pe);var o=u.getTransitionDurationFromElement(this._dialog);i.default(this._element).off(u.TRANSITION_END),i.default(this._element).one(u.TRANSITION_END,(function(){t._element.classList.remove(pe),n||i.default(t._element).one(u.TRANSITION_END,(function(){t._element.style.overflowY=\"\"})).emulateTransitionEnd(t._element,o)})).emulateTransitionEnd(o),this._element.focus()}},e._showElement=function(t){var e=this,n=i.default(this._element).hasClass(ce),o=this._dialog?this._dialog.querySelector(\".modal-body\"):null;this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE||document.body.appendChild(this._element),this._element.style.display=\"block\",this._element.removeAttribute(\"aria-hidden\"),this._element.setAttribute(\"aria-modal\",!0),this._element.setAttribute(\"role\",\"dialog\"),i.default(this._dialog).hasClass(\"modal-dialog-scrollable\")&&o?o.scrollTop=0:this._element.scrollTop=0,n&&u.reflow(this._element),i.default(this._element).addClass(he),this._config.focus&&this._enforceFocus();var r=i.default.Event(\"shown.bs.modal\",{relatedTarget:t}),a=function(){e._config.focus&&e._element.focus(),e._isTransitioning=!1,i.default(e._element).trigger(r)};if(n){var s=u.getTransitionDurationFromElement(this._dialog);i.default(this._dialog).one(u.TRANSITION_END,a).emulateTransitionEnd(s)}else a()},e._enforceFocus=function(){var t=this;i.default(document).off(_e).on(_e,(function(e){document!==e.target&&t._element!==e.target&&0===i.default(t._element).has(e.target).length&&t._element.focus()}))},e._setEscapeEvent=function(){var t=this;this._isShown?i.default(this._element).on(ye,(function(e){t._config.keyboard&&27===e.which?(e.preventDefault(),t.hide()):t._config.keyboard||27!==e.which||t._triggerBackdropTransition()})):this._isShown||i.default(this._element).off(ye)},e._setResizeEvent=function(){var t=this;this._isShown?i.default(window).on(ve,(function(e){return t.handleUpdate(e)})):i.default(window).off(ve)},e._hideModal=function(){var t=this;this._element.style.display=\"none\",this._element.setAttribute(\"aria-hidden\",!0),this._element.removeAttribute(\"aria-modal\"),this._element.removeAttribute(\"role\"),this._isTransitioning=!1,this._showBackdrop((function(){i.default(document.body).removeClass(de),t._resetAdjustments(),t._resetScrollbar(),i.default(t._element).trigger(me)}))},e._removeBackdrop=function(){this._backdrop&&(i.default(this._backdrop).remove(),this._backdrop=null)},e._showBackdrop=function(t){var e=this,n=i.default(this._element).hasClass(ce)?ce:\"\";if(this._isShown&&this._config.backdrop){if(this._backdrop=document.createElement(\"div\"),this._backdrop.className=\"modal-backdrop\",n&&this._backdrop.classList.add(n),i.default(this._backdrop).appendTo(document.body),i.default(this._element).on(be,(function(t){e._ignoreBackdropClick?e._ignoreBackdropClick=!1:t.target===t.currentTarget&&(\"static\"===e._config.backdrop?e._triggerBackdropTransition():e.hide())})),n&&u.reflow(this._backdrop),i.default(this._backdrop).addClass(he),!t)return;if(!n)return void t();var o=u.getTransitionDurationFromElement(this._backdrop);i.default(this._backdrop).one(u.TRANSITION_END,t).emulateTransitionEnd(o)}else if(!this._isShown&&this._backdrop){i.default(this._backdrop).removeClass(he);var r=function(){e._removeBackdrop(),t&&t()};if(i.default(this._element).hasClass(ce)){var a=u.getTransitionDurationFromElement(this._backdrop);i.default(this._backdrop).one(u.TRANSITION_END,r).emulateTransitionEnd(a)}else r()}else t&&t()},e._adjustDialog=function(){var t=this._element.scrollHeight>document.documentElement.clientHeight;!this._isBodyOverflowing&&t&&(this._element.style.paddingLeft=this._scrollbarWidth+\"px\"),this._isBodyOverflowing&&!t&&(this._element.style.paddingRight=this._scrollbarWidth+\"px\")},e._resetAdjustments=function(){this._element.style.paddingLeft=\"\",this._element.style.paddingRight=\"\"},e._checkScrollbar=function(){var t=document.body.getBoundingClientRect();this._isBodyOverflowing=Math.round(t.left+t.right)
',trigger:\"hover focus\",title:\"\",delay:0,html:!1,selector:!1,placement:\"top\",offset:0,container:!1,fallbackPlacement:\"flip\",boundary:\"scrollParent\",customClass:\"\",sanitize:!0,sanitizeFn:null,whiteList:{\"*\":[\"class\",\"dir\",\"id\",\"lang\",\"role\",/^aria-[\\w-]*$/i],a:[\"target\",\"href\",\"title\",\"rel\"],area:[],b:[],br:[],col:[],code:[],div:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:[\"src\",\"srcset\",\"alt\",\"title\",\"width\",\"height\"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]},popperConfig:null},We={animation:\"boolean\",template:\"string\",title:\"(string|element|function)\",trigger:\"string\",delay:\"(number|object)\",html:\"boolean\",selector:\"(string|boolean)\",placement:\"(string|function)\",offset:\"(number|string|function)\",container:\"(string|element|boolean)\",fallbackPlacement:\"(string|array)\",boundary:\"(string|element)\",customClass:\"(string|function)\",sanitize:\"boolean\",sanitizeFn:\"(null|function)\",whiteList:\"object\",popperConfig:\"(null|object)\"},Ue={HIDE:\"hide.bs.tooltip\",HIDDEN:\"hidden.bs.tooltip\",SHOW:\"show.bs.tooltip\",SHOWN:\"shown.bs.tooltip\",INSERTED:\"inserted.bs.tooltip\",CLICK:\"click.bs.tooltip\",FOCUSIN:\"focusin.bs.tooltip\",FOCUSOUT:\"focusout.bs.tooltip\",MOUSEENTER:\"mouseenter.bs.tooltip\",MOUSELEAVE:\"mouseleave.bs.tooltip\"},Ve=function(){function t(t,e){if(\"undefined\"==typeof Yt)throw new TypeError(\"Bootstrap's tooltips require Popper (https://popper.js.org)\");this._isEnabled=!0,this._timeout=0,this._hoverState=\"\",this._activeTrigger={},this._popper=null,this.element=t,this.config=this._getConfig(e),this.tip=null,this._setListeners()}var e=t.prototype;return e.enable=function(){this._isEnabled=!0},e.disable=function(){this._isEnabled=!1},e.toggleEnabled=function(){this._isEnabled=!this._isEnabled},e.toggle=function(t){if(this._isEnabled)if(t){var e=this.constructor.DATA_KEY,n=i.default(t.currentTarget).data(e);n||(n=new this.constructor(t.currentTarget,this._getDelegateConfig()),i.default(t.currentTarget).data(e,n)),n._activeTrigger.click=!n._activeTrigger.click,n._isWithActiveTrigger()?n._enter(null,n):n._leave(null,n)}else{if(i.default(this.getTipElement()).hasClass(Fe))return void this._leave(null,this);this._enter(null,this)}},e.dispose=function(){clearTimeout(this._timeout),i.default.removeData(this.element,this.constructor.DATA_KEY),i.default(this.element).off(this.constructor.EVENT_KEY),i.default(this.element).closest(\".modal\").off(\"hide.bs.modal\",this._hideModalHandler),this.tip&&i.default(this.tip).remove(),this._isEnabled=null,this._timeout=null,this._hoverState=null,this._activeTrigger=null,this._popper&&this._popper.destroy(),this._popper=null,this.element=null,this.config=null,this.tip=null},e.show=function(){var t=this;if(\"none\"===i.default(this.element).css(\"display\"))throw new Error(\"Please use show on visible elements\");var e=i.default.Event(this.constructor.Event.SHOW);if(this.isWithContent()&&this._isEnabled){i.default(this.element).trigger(e);var n=u.findShadowRoot(this.element),o=i.default.contains(null!==n?n:this.element.ownerDocument.documentElement,this.element);if(e.isDefaultPrevented()||!o)return;var r=this.getTipElement(),a=u.getUID(this.constructor.NAME);r.setAttribute(\"id\",a),this.element.setAttribute(\"aria-describedby\",a),this.setContent(),this.config.animation&&i.default(r).addClass(Pe);var s=\"function\"==typeof this.config.placement?this.config.placement.call(this,r,this.element):this.config.placement,l=this._getAttachment(s);this.addAttachmentClass(l);var f=this._getContainer();i.default(r).data(this.constructor.DATA_KEY,this),i.default.contains(this.element.ownerDocument.documentElement,this.tip)||i.default(r).appendTo(f),i.default(this.element).trigger(this.constructor.Event.INSERTED),this._popper=new Yt(this.element,r,this._getPopperConfig(l)),i.default(r).addClass(Fe),i.default(r).addClass(this.config.customClass),\"ontouchstart\"in document.documentElement&&i.default(document.body).children().on(\"mouseover\",null,i.default.noop);var d=function(){t.config.animation&&t._fixTransition();var e=t._hoverState;t._hoverState=null,i.default(t.element).trigger(t.constructor.Event.SHOWN),e===Be&&t._leave(null,t)};if(i.default(this.tip).hasClass(Pe)){var c=u.getTransitionDurationFromElement(this.tip);i.default(this.tip).one(u.TRANSITION_END,d).emulateTransitionEnd(c)}else d()}},e.hide=function(t){var e=this,n=this.getTipElement(),o=i.default.Event(this.constructor.Event.HIDE),r=function(){e._hoverState!==Re&&n.parentNode&&n.parentNode.removeChild(n),e._cleanTipClass(),e.element.removeAttribute(\"aria-describedby\"),i.default(e.element).trigger(e.constructor.Event.HIDDEN),null!==e._popper&&e._popper.destroy(),t&&t()};if(i.default(this.element).trigger(o),!o.isDefaultPrevented()){if(i.default(n).removeClass(Fe),\"ontouchstart\"in document.documentElement&&i.default(document.body).children().off(\"mouseover\",null,i.default.noop),this._activeTrigger.click=!1,this._activeTrigger.focus=!1,this._activeTrigger.hover=!1,i.default(this.tip).hasClass(Pe)){var a=u.getTransitionDurationFromElement(n);i.default(n).one(u.TRANSITION_END,r).emulateTransitionEnd(a)}else r();this._hoverState=\"\"}},e.update=function(){null!==this._popper&&this._popper.scheduleUpdate()},e.isWithContent=function(){return Boolean(this.getTitle())},e.addAttachmentClass=function(t){i.default(this.getTipElement()).addClass(\"bs-tooltip-\"+t)},e.getTipElement=function(){return this.tip=this.tip||i.default(this.config.template)[0],this.tip},e.setContent=function(){var t=this.getTipElement();this.setElementContent(i.default(t.querySelectorAll(\".tooltip-inner\")),this.getTitle()),i.default(t).removeClass(\"fade show\")},e.setElementContent=function(t,e){\"object\"!=typeof e||!e.nodeType&&!e.jquery?this.config.html?(this.config.sanitize&&(e=ke(e,this.config.whiteList,this.config.sanitizeFn)),t.html(e)):t.text(e):this.config.html?i.default(e).parent().is(t)||t.empty().append(e):t.text(i.default(e).text())},e.getTitle=function(){var t=this.element.getAttribute(\"data-original-title\");return t||(t=\"function\"==typeof this.config.title?this.config.title.call(this.element):this.config.title),t},e._getPopperConfig=function(t){var e=this;return a({},{placement:t,modifiers:{offset:this._getOffset(),flip:{behavior:this.config.fallbackPlacement},arrow:{element:\".arrow\"},preventOverflow:{boundariesElement:this.config.boundary}},onCreate:function(t){t.originalPlacement!==t.placement&&e._handlePopperPlacementChange(t)},onUpdate:function(t){return e._handlePopperPlacementChange(t)}},this.config.popperConfig)},e._getOffset=function(){var t=this,e={};return\"function\"==typeof this.config.offset?e.fn=function(e){return e.offsets=a({},e.offsets,t.config.offset(e.offsets,t.element)),e}:e.offset=this.config.offset,e},e._getContainer=function(){return!1===this.config.container?document.body:u.isElement(this.config.container)?i.default(this.config.container):i.default(document).find(this.config.container)},e._getAttachment=function(t){return qe[t.toUpperCase()]},e._setListeners=function(){var t=this;this.config.trigger.split(\" \").forEach((function(e){if(\"click\"===e)i.default(t.element).on(t.constructor.Event.CLICK,t.config.selector,(function(e){return t.toggle(e)}));else if(\"manual\"!==e){var n=e===He?t.constructor.Event.MOUSEENTER:t.constructor.Event.FOCUSIN,o=e===He?t.constructor.Event.MOUSELEAVE:t.constructor.Event.FOCUSOUT;i.default(t.element).on(n,t.config.selector,(function(e){return t._enter(e)})).on(o,t.config.selector,(function(e){return t._leave(e)}))}})),this._hideModalHandler=function(){t.element&&t.hide()},i.default(this.element).closest(\".modal\").on(\"hide.bs.modal\",this._hideModalHandler),this.config.selector?this.config=a({},this.config,{trigger:\"manual\",selector:\"\"}):this._fixTitle()},e._fixTitle=function(){var t=typeof this.element.getAttribute(\"data-original-title\");(this.element.getAttribute(\"title\")||\"string\"!==t)&&(this.element.setAttribute(\"data-original-title\",this.element.getAttribute(\"title\")||\"\"),this.element.setAttribute(\"title\",\"\"))},e._enter=function(t,e){var n=this.constructor.DATA_KEY;(e=e||i.default(t.currentTarget).data(n))||(e=new this.constructor(t.currentTarget,this._getDelegateConfig()),i.default(t.currentTarget).data(n,e)),t&&(e._activeTrigger[\"focusin\"===t.type?Me:He]=!0),i.default(e.getTipElement()).hasClass(Fe)||e._hoverState===Re?e._hoverState=Re:(clearTimeout(e._timeout),e._hoverState=Re,e.config.delay&&e.config.delay.show?e._timeout=setTimeout((function(){e._hoverState===Re&&e.show()}),e.config.delay.show):e.show())},e._leave=function(t,e){var n=this.constructor.DATA_KEY;(e=e||i.default(t.currentTarget).data(n))||(e=new this.constructor(t.currentTarget,this._getDelegateConfig()),i.default(t.currentTarget).data(n,e)),t&&(e._activeTrigger[\"focusout\"===t.type?Me:He]=!1),e._isWithActiveTrigger()||(clearTimeout(e._timeout),e._hoverState=Be,e.config.delay&&e.config.delay.hide?e._timeout=setTimeout((function(){e._hoverState===Be&&e.hide()}),e.config.delay.hide):e.hide())},e._isWithActiveTrigger=function(){for(var t in this._activeTrigger)if(this._activeTrigger[t])return!0;return!1},e._getConfig=function(t){var e=i.default(this.element).data();return Object.keys(e).forEach((function(t){-1!==Le.indexOf(t)&&delete e[t]})),\"number\"==typeof(t=a({},this.constructor.Default,e,\"object\"==typeof t&&t?t:{})).delay&&(t.delay={show:t.delay,hide:t.delay}),\"number\"==typeof t.title&&(t.title=t.title.toString()),\"number\"==typeof t.content&&(t.content=t.content.toString()),u.typeCheckConfig(Ie,t,this.constructor.DefaultType),t.sanitize&&(t.template=ke(t.template,t.whiteList,t.sanitizeFn)),t},e._getDelegateConfig=function(){var t={};if(this.config)for(var e in this.config)this.constructor.Default[e]!==this.config[e]&&(t[e]=this.config[e]);return t},e._cleanTipClass=function(){var t=i.default(this.getTipElement()),e=t.attr(\"class\").match(je);null!==e&&e.length&&t.removeClass(e.join(\"\"))},e._handlePopperPlacementChange=function(t){this.tip=t.instance.popper,this._cleanTipClass(),this.addAttachmentClass(this._getAttachment(t.placement))},e._fixTransition=function(){var t=this.getTipElement(),e=this.config.animation;null===t.getAttribute(\"x-placement\")&&(i.default(t).removeClass(Pe),this.config.animation=!1,this.hide(),this.show(),this.config.animation=e)},t._jQueryInterface=function(e){return this.each((function(){var n=i.default(this),o=n.data(Oe),r=\"object\"==typeof e&&e;if((o||!/dispose|hide/.test(e))&&(o||(o=new t(this,r),n.data(Oe,o)),\"string\"==typeof e)){if(\"undefined\"==typeof o[e])throw new TypeError('No method named \"'+e+'\"');o[e]()}}))},r(t,null,[{key:\"VERSION\",get:function(){return\"4.6.2\"}},{key:\"Default\",get:function(){return Qe}},{key:\"NAME\",get:function(){return Ie}},{key:\"DATA_KEY\",get:function(){return Oe}},{key:\"Event\",get:function(){return Ue}},{key:\"EVENT_KEY\",get:function(){return\".bs.tooltip\"}},{key:\"DefaultType\",get:function(){return We}}]),t}();i.default.fn.tooltip=Ve._jQueryInterface,i.default.fn.tooltip.Constructor=Ve,i.default.fn.tooltip.noConflict=function(){return i.default.fn.tooltip=xe,Ve._jQueryInterface};var Ye=\"bs.popover\",ze=i.default.fn.popover,Ke=new RegExp(\"(^|\\\\s)bs-popover\\\\S+\",\"g\"),Xe=a({},Ve.Default,{placement:\"right\",trigger:\"click\",content:\"\",template:'

'}),Ge=a({},Ve.DefaultType,{content:\"(string|element|function)\"}),$e={HIDE:\"hide.bs.popover\",HIDDEN:\"hidden.bs.popover\",SHOW:\"show.bs.popover\",SHOWN:\"shown.bs.popover\",INSERTED:\"inserted.bs.popover\",CLICK:\"click.bs.popover\",FOCUSIN:\"focusin.bs.popover\",FOCUSOUT:\"focusout.bs.popover\",MOUSEENTER:\"mouseenter.bs.popover\",MOUSELEAVE:\"mouseleave.bs.popover\"},Je=function(t){var e,n;function o(){return t.apply(this,arguments)||this}n=t,(e=o).prototype=Object.create(n.prototype),e.prototype.constructor=e,s(e,n);var a=o.prototype;return a.isWithContent=function(){return this.getTitle()||this._getContent()},a.addAttachmentClass=function(t){i.default(this.getTipElement()).addClass(\"bs-popover-\"+t)},a.getTipElement=function(){return this.tip=this.tip||i.default(this.config.template)[0],this.tip},a.setContent=function(){var t=i.default(this.getTipElement());this.setElementContent(t.find(\".popover-header\"),this.getTitle());var e=this._getContent();\"function\"==typeof e&&(e=e.call(this.element)),this.setElementContent(t.find(\".popover-body\"),e),t.removeClass(\"fade show\")},a._getContent=function(){return this.element.getAttribute(\"data-content\")||this.config.content},a._cleanTipClass=function(){var t=i.default(this.getTipElement()),e=t.attr(\"class\").match(Ke);null!==e&&e.length>0&&t.removeClass(e.join(\"\"))},o._jQueryInterface=function(t){return this.each((function(){var e=i.default(this).data(Ye),n=\"object\"==typeof t?t:null;if((e||!/dispose|hide/.test(t))&&(e||(e=new o(this,n),i.default(this).data(Ye,e)),\"string\"==typeof t)){if(\"undefined\"==typeof e[t])throw new TypeError('No method named \"'+t+'\"');e[t]()}}))},r(o,null,[{key:\"VERSION\",get:function(){return\"4.6.2\"}},{key:\"Default\",get:function(){return Xe}},{key:\"NAME\",get:function(){return\"popover\"}},{key:\"DATA_KEY\",get:function(){return Ye}},{key:\"Event\",get:function(){return $e}},{key:\"EVENT_KEY\",get:function(){return\".bs.popover\"}},{key:\"DefaultType\",get:function(){return Ge}}]),o}(Ve);i.default.fn.popover=Je._jQueryInterface,i.default.fn.popover.Constructor=Je,i.default.fn.popover.noConflict=function(){return i.default.fn.popover=ze,Je._jQueryInterface};var Ze=\"scrollspy\",tn=\"bs.scrollspy\",en=i.default.fn[Ze],nn=\"active\",on=\"position\",rn=\".nav, .list-group\",an={offset:10,method:\"auto\",target:\"\"},sn={offset:\"number\",method:\"string\",target:\"(string|element)\"},ln=function(){function t(t,e){var n=this;this._element=t,this._scrollElement=\"BODY\"===t.tagName?window:t,this._config=this._getConfig(e),this._selector=this._config.target+\" .nav-link,\"+this._config.target+\" .list-group-item,\"+this._config.target+\" .dropdown-item\",this._offsets=[],this._targets=[],this._activeTarget=null,this._scrollHeight=0,i.default(this._scrollElement).on(\"scroll.bs.scrollspy\",(function(t){return n._process(t)})),this.refresh(),this._process()}var e=t.prototype;return e.refresh=function(){var t=this,e=this._scrollElement===this._scrollElement.window?\"offset\":on,n=\"auto\"===this._config.method?e:this._config.method,o=n===on?this._getScrollTop():0;this._offsets=[],this._targets=[],this._scrollHeight=this._getScrollHeight(),[].slice.call(document.querySelectorAll(this._selector)).map((function(t){var e,r=u.getSelectorFromElement(t);if(r&&(e=document.querySelector(r)),e){var a=e.getBoundingClientRect();if(a.width||a.height)return[i.default(e)[n]().top+o,r]}return null})).filter(Boolean).sort((function(t,e){return t[0]-e[0]})).forEach((function(e){t._offsets.push(e[0]),t._targets.push(e[1])}))},e.dispose=function(){i.default.removeData(this._element,tn),i.default(this._scrollElement).off(\".bs.scrollspy\"),this._element=null,this._scrollElement=null,this._config=null,this._selector=null,this._offsets=null,this._targets=null,this._activeTarget=null,this._scrollHeight=null},e._getConfig=function(t){if(\"string\"!=typeof(t=a({},an,\"object\"==typeof t&&t?t:{})).target&&u.isElement(t.target)){var e=i.default(t.target).attr(\"id\");e||(e=u.getUID(Ze),i.default(t.target).attr(\"id\",e)),t.target=\"#\"+e}return u.typeCheckConfig(Ze,t,sn),t},e._getScrollTop=function(){return this._scrollElement===window?this._scrollElement.pageYOffset:this._scrollElement.scrollTop},e._getScrollHeight=function(){return this._scrollElement.scrollHeight||Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)},e._getOffsetHeight=function(){return this._scrollElement===window?window.innerHeight:this._scrollElement.getBoundingClientRect().height},e._process=function(){var t=this._getScrollTop()+this._config.offset,e=this._getScrollHeight(),n=this._config.offset+e-this._getOffsetHeight();if(this._scrollHeight!==e&&this.refresh(),t>=n){var i=this._targets[this._targets.length-1];this._activeTarget!==i&&this._activate(i)}else{if(this._activeTarget&&t0)return this._activeTarget=null,void this._clear();for(var o=this._offsets.length;o--;)this._activeTarget!==this._targets[o]&&t>=this._offsets[o]&&(\"undefined\"==typeof this._offsets[o+1]||t li > .active\",gn=function(){function t(t){this._element=t}var e=t.prototype;return e.show=function(){var t=this;if(!(this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE&&i.default(this._element).hasClass(dn)||i.default(this._element).hasClass(\"disabled\")||this._element.hasAttribute(\"disabled\"))){var e,n,o=i.default(this._element).closest(\".nav, .list-group\")[0],r=u.getSelectorFromElement(this._element);if(o){var a=\"UL\"===o.nodeName||\"OL\"===o.nodeName?mn:pn;n=(n=i.default.makeArray(i.default(o).find(a)))[n.length-1]}var s=i.default.Event(\"hide.bs.tab\",{relatedTarget:this._element}),l=i.default.Event(\"show.bs.tab\",{relatedTarget:n});if(n&&i.default(n).trigger(s),i.default(this._element).trigger(l),!l.isDefaultPrevented()&&!s.isDefaultPrevented()){r&&(e=document.querySelector(r)),this._activate(this._element,o);var f=function(){var e=i.default.Event(\"hidden.bs.tab\",{relatedTarget:t._element}),o=i.default.Event(\"shown.bs.tab\",{relatedTarget:n});i.default(n).trigger(e),i.default(t._element).trigger(o)};e?this._activate(e,e.parentNode,f):f()}}},e.dispose=function(){i.default.removeData(this._element,un),this._element=null},e._activate=function(t,e,n){var o=this,r=(!e||\"UL\"!==e.nodeName&&\"OL\"!==e.nodeName?i.default(e).children(pn):i.default(e).find(mn))[0],a=n&&r&&i.default(r).hasClass(cn),s=function(){return o._transitionComplete(t,r,n)};if(r&&a){var l=u.getTransitionDurationFromElement(r);i.default(r).removeClass(hn).one(u.TRANSITION_END,s).emulateTransitionEnd(l)}else s()},e._transitionComplete=function(t,e,n){if(e){i.default(e).removeClass(dn);var o=i.default(e.parentNode).find(\"> .dropdown-menu .active\")[0];o&&i.default(o).removeClass(dn),\"tab\"===e.getAttribute(\"role\")&&e.setAttribute(\"aria-selected\",!1)}i.default(t).addClass(dn),\"tab\"===t.getAttribute(\"role\")&&t.setAttribute(\"aria-selected\",!0),u.reflow(t),t.classList.contains(cn)&&t.classList.add(hn);var r=t.parentNode;if(r&&\"LI\"===r.nodeName&&(r=r.parentNode),r&&i.default(r).hasClass(\"dropdown-menu\")){var a=i.default(t).closest(\".dropdown\")[0];if(a){var s=[].slice.call(a.querySelectorAll(\".dropdown-toggle\"));i.default(s).addClass(dn)}t.setAttribute(\"aria-expanded\",!0)}n&&n()},t._jQueryInterface=function(e){return this.each((function(){var n=i.default(this),o=n.data(un);if(o||(o=new t(this),n.data(un,o)),\"string\"==typeof e){if(\"undefined\"==typeof o[e])throw new TypeError('No method named \"'+e+'\"');o[e]()}}))},r(t,null,[{key:\"VERSION\",get:function(){return\"4.6.2\"}}]),t}();i.default(document).on(\"click.bs.tab.data-api\",'[data-toggle=\"tab\"], [data-toggle=\"pill\"], [data-toggle=\"list\"]',(function(t){t.preventDefault(),gn._jQueryInterface.call(i.default(this),\"show\")})),i.default.fn.tab=gn._jQueryInterface,i.default.fn.tab.Constructor=gn,i.default.fn.tab.noConflict=function(){return i.default.fn.tab=fn,gn._jQueryInterface};var _n=\"bs.toast\",vn=i.default.fn.toast,bn=\"hide\",yn=\"show\",En=\"showing\",wn=\"click.dismiss.bs.toast\",Tn={animation:!0,autohide:!0,delay:500},Cn={animation:\"boolean\",autohide:\"boolean\",delay:\"number\"},Sn=function(){function t(t,e){this._element=t,this._config=this._getConfig(e),this._timeout=null,this._setListeners()}var e=t.prototype;return e.show=function(){var t=this,e=i.default.Event(\"show.bs.toast\");if(i.default(this._element).trigger(e),!e.isDefaultPrevented()){this._clearTimeout(),this._config.animation&&this._element.classList.add(\"fade\");var n=function(){t._element.classList.remove(En),t._element.classList.add(yn),i.default(t._element).trigger(\"shown.bs.toast\"),t._config.autohide&&(t._timeout=setTimeout((function(){t.hide()}),t._config.delay))};if(this._element.classList.remove(bn),u.reflow(this._element),this._element.classList.add(En),this._config.animation){var o=u.getTransitionDurationFromElement(this._element);i.default(this._element).one(u.TRANSITION_END,n).emulateTransitionEnd(o)}else n()}},e.hide=function(){if(this._element.classList.contains(yn)){var t=i.default.Event(\"hide.bs.toast\");i.default(this._element).trigger(t),t.isDefaultPrevented()||this._close()}},e.dispose=function(){this._clearTimeout(),this._element.classList.contains(yn)&&this._element.classList.remove(yn),i.default(this._element).off(wn),i.default.removeData(this._element,_n),this._element=null,this._config=null},e._getConfig=function(t){return t=a({},Tn,i.default(this._element).data(),\"object\"==typeof t&&t?t:{}),u.typeCheckConfig(\"toast\",t,this.constructor.DefaultType),t},e._setListeners=function(){var t=this;i.default(this._element).on(wn,'[data-dismiss=\"toast\"]',(function(){return t.hide()}))},e._close=function(){var t=this,e=function(){t._element.classList.add(bn),i.default(t._element).trigger(\"hidden.bs.toast\")};if(this._element.classList.remove(yn),this._config.animation){var n=u.getTransitionDurationFromElement(this._element);i.default(this._element).one(u.TRANSITION_END,e).emulateTransitionEnd(n)}else e()},e._clearTimeout=function(){clearTimeout(this._timeout),this._timeout=null},t._jQueryInterface=function(e){return this.each((function(){var n=i.default(this),o=n.data(_n);if(o||(o=new t(this,\"object\"==typeof e&&e),n.data(_n,o)),\"string\"==typeof e){if(\"undefined\"==typeof o[e])throw new TypeError('No method named \"'+e+'\"');o[e](this)}}))},r(t,null,[{key:\"VERSION\",get:function(){return\"4.6.2\"}},{key:\"DefaultType\",get:function(){return Cn}},{key:\"Default\",get:function(){return Tn}}]),t}();i.default.fn.toast=Sn._jQueryInterface,i.default.fn.toast.Constructor=Sn,i.default.fn.toast.noConflict=function(){return i.default.fn.toast=vn,Sn._jQueryInterface},t.Alert=c,t.Button=b,t.Carousel=O,t.Collapse=W,t.Dropdown=le,t.Modal=Se,t.Popover=Je,t.Scrollspy=ln,t.Tab=gn,t.Toast=Sn,t.Tooltip=Ve,t.Util=u,Object.defineProperty(t,\"__esModule\",{value:!0})}));\n//# sourceMappingURL=bootstrap.bundle.min.js.map","/*!\n * Chart.js v3.9.1\n * https://www.chartjs.org\n * (c) 2022 Chart.js Contributors\n * Released under the MIT License\n */\n(function (global, factory) {\ntypeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\ntypeof define === 'function' && define.amd ? define(factory) :\n(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Chart = factory());\n})(this, (function () { 'use strict';\n\nfunction noop() {}\nconst uid = (function() {\n let id = 0;\n return function() {\n return id++;\n };\n}());\nfunction isNullOrUndef(value) {\n return value === null || typeof value === 'undefined';\n}\nfunction isArray(value) {\n if (Array.isArray && Array.isArray(value)) {\n return true;\n }\n const type = Object.prototype.toString.call(value);\n if (type.slice(0, 7) === '[object' && type.slice(-6) === 'Array]') {\n return true;\n }\n return false;\n}\nfunction isObject(value) {\n return value !== null && Object.prototype.toString.call(value) === '[object Object]';\n}\nconst isNumberFinite = (value) => (typeof value === 'number' || value instanceof Number) && isFinite(+value);\nfunction finiteOrDefault(value, defaultValue) {\n return isNumberFinite(value) ? value : defaultValue;\n}\nfunction valueOrDefault(value, defaultValue) {\n return typeof value === 'undefined' ? defaultValue : value;\n}\nconst toPercentage = (value, dimension) =>\n typeof value === 'string' && value.endsWith('%') ?\n parseFloat(value) / 100\n : value / dimension;\nconst toDimension = (value, dimension) =>\n typeof value === 'string' && value.endsWith('%') ?\n parseFloat(value) / 100 * dimension\n : +value;\nfunction callback(fn, args, thisArg) {\n if (fn && typeof fn.call === 'function') {\n return fn.apply(thisArg, args);\n }\n}\nfunction each(loopable, fn, thisArg, reverse) {\n let i, len, keys;\n if (isArray(loopable)) {\n len = loopable.length;\n if (reverse) {\n for (i = len - 1; i >= 0; i--) {\n fn.call(thisArg, loopable[i], i);\n }\n } else {\n for (i = 0; i < len; i++) {\n fn.call(thisArg, loopable[i], i);\n }\n }\n } else if (isObject(loopable)) {\n keys = Object.keys(loopable);\n len = keys.length;\n for (i = 0; i < len; i++) {\n fn.call(thisArg, loopable[keys[i]], keys[i]);\n }\n }\n}\nfunction _elementsEqual(a0, a1) {\n let i, ilen, v0, v1;\n if (!a0 || !a1 || a0.length !== a1.length) {\n return false;\n }\n for (i = 0, ilen = a0.length; i < ilen; ++i) {\n v0 = a0[i];\n v1 = a1[i];\n if (v0.datasetIndex !== v1.datasetIndex || v0.index !== v1.index) {\n return false;\n }\n }\n return true;\n}\nfunction clone$1(source) {\n if (isArray(source)) {\n return source.map(clone$1);\n }\n if (isObject(source)) {\n const target = Object.create(null);\n const keys = Object.keys(source);\n const klen = keys.length;\n let k = 0;\n for (; k < klen; ++k) {\n target[keys[k]] = clone$1(source[keys[k]]);\n }\n return target;\n }\n return source;\n}\nfunction isValidKey(key) {\n return ['__proto__', 'prototype', 'constructor'].indexOf(key) === -1;\n}\nfunction _merger(key, target, source, options) {\n if (!isValidKey(key)) {\n return;\n }\n const tval = target[key];\n const sval = source[key];\n if (isObject(tval) && isObject(sval)) {\n merge(tval, sval, options);\n } else {\n target[key] = clone$1(sval);\n }\n}\nfunction merge(target, source, options) {\n const sources = isArray(source) ? source : [source];\n const ilen = sources.length;\n if (!isObject(target)) {\n return target;\n }\n options = options || {};\n const merger = options.merger || _merger;\n for (let i = 0; i < ilen; ++i) {\n source = sources[i];\n if (!isObject(source)) {\n continue;\n }\n const keys = Object.keys(source);\n for (let k = 0, klen = keys.length; k < klen; ++k) {\n merger(keys[k], target, source, options);\n }\n }\n return target;\n}\nfunction mergeIf(target, source) {\n return merge(target, source, {merger: _mergerIf});\n}\nfunction _mergerIf(key, target, source) {\n if (!isValidKey(key)) {\n return;\n }\n const tval = target[key];\n const sval = source[key];\n if (isObject(tval) && isObject(sval)) {\n mergeIf(tval, sval);\n } else if (!Object.prototype.hasOwnProperty.call(target, key)) {\n target[key] = clone$1(sval);\n }\n}\nfunction _deprecated(scope, value, previous, current) {\n if (value !== undefined) {\n console.warn(scope + ': \"' + previous +\n\t\t\t'\" is deprecated. Please use \"' + current + '\" instead');\n }\n}\nconst keyResolvers = {\n '': v => v,\n x: o => o.x,\n y: o => o.y\n};\nfunction resolveObjectKey(obj, key) {\n const resolver = keyResolvers[key] || (keyResolvers[key] = _getKeyResolver(key));\n return resolver(obj);\n}\nfunction _getKeyResolver(key) {\n const keys = _splitKey(key);\n return obj => {\n for (const k of keys) {\n if (k === '') {\n break;\n }\n obj = obj && obj[k];\n }\n return obj;\n };\n}\nfunction _splitKey(key) {\n const parts = key.split('.');\n const keys = [];\n let tmp = '';\n for (const part of parts) {\n tmp += part;\n if (tmp.endsWith('\\\\')) {\n tmp = tmp.slice(0, -1) + '.';\n } else {\n keys.push(tmp);\n tmp = '';\n }\n }\n return keys;\n}\nfunction _capitalize(str) {\n return str.charAt(0).toUpperCase() + str.slice(1);\n}\nconst defined = (value) => typeof value !== 'undefined';\nconst isFunction = (value) => typeof value === 'function';\nconst setsEqual = (a, b) => {\n if (a.size !== b.size) {\n return false;\n }\n for (const item of a) {\n if (!b.has(item)) {\n return false;\n }\n }\n return true;\n};\nfunction _isClickEvent(e) {\n return e.type === 'mouseup' || e.type === 'click' || e.type === 'contextmenu';\n}\n\nconst PI = Math.PI;\nconst TAU = 2 * PI;\nconst PITAU = TAU + PI;\nconst INFINITY = Number.POSITIVE_INFINITY;\nconst RAD_PER_DEG = PI / 180;\nconst HALF_PI = PI / 2;\nconst QUARTER_PI = PI / 4;\nconst TWO_THIRDS_PI = PI * 2 / 3;\nconst log10 = Math.log10;\nconst sign = Math.sign;\nfunction niceNum(range) {\n const roundedRange = Math.round(range);\n range = almostEquals(range, roundedRange, range / 1000) ? roundedRange : range;\n const niceRange = Math.pow(10, Math.floor(log10(range)));\n const fraction = range / niceRange;\n const niceFraction = fraction <= 1 ? 1 : fraction <= 2 ? 2 : fraction <= 5 ? 5 : 10;\n return niceFraction * niceRange;\n}\nfunction _factorize(value) {\n const result = [];\n const sqrt = Math.sqrt(value);\n let i;\n for (i = 1; i < sqrt; i++) {\n if (value % i === 0) {\n result.push(i);\n result.push(value / i);\n }\n }\n if (sqrt === (sqrt | 0)) {\n result.push(sqrt);\n }\n result.sort((a, b) => a - b).pop();\n return result;\n}\nfunction isNumber(n) {\n return !isNaN(parseFloat(n)) && isFinite(n);\n}\nfunction almostEquals(x, y, epsilon) {\n return Math.abs(x - y) < epsilon;\n}\nfunction almostWhole(x, epsilon) {\n const rounded = Math.round(x);\n return ((rounded - epsilon) <= x) && ((rounded + epsilon) >= x);\n}\nfunction _setMinAndMaxByKey(array, target, property) {\n let i, ilen, value;\n for (i = 0, ilen = array.length; i < ilen; i++) {\n value = array[i][property];\n if (!isNaN(value)) {\n target.min = Math.min(target.min, value);\n target.max = Math.max(target.max, value);\n }\n }\n}\nfunction toRadians(degrees) {\n return degrees * (PI / 180);\n}\nfunction toDegrees(radians) {\n return radians * (180 / PI);\n}\nfunction _decimalPlaces(x) {\n if (!isNumberFinite(x)) {\n return;\n }\n let e = 1;\n let p = 0;\n while (Math.round(x * e) / e !== x) {\n e *= 10;\n p++;\n }\n return p;\n}\nfunction getAngleFromPoint(centrePoint, anglePoint) {\n const distanceFromXCenter = anglePoint.x - centrePoint.x;\n const distanceFromYCenter = anglePoint.y - centrePoint.y;\n const radialDistanceFromCenter = Math.sqrt(distanceFromXCenter * distanceFromXCenter + distanceFromYCenter * distanceFromYCenter);\n let angle = Math.atan2(distanceFromYCenter, distanceFromXCenter);\n if (angle < (-0.5 * PI)) {\n angle += TAU;\n }\n return {\n angle,\n distance: radialDistanceFromCenter\n };\n}\nfunction distanceBetweenPoints(pt1, pt2) {\n return Math.sqrt(Math.pow(pt2.x - pt1.x, 2) + Math.pow(pt2.y - pt1.y, 2));\n}\nfunction _angleDiff(a, b) {\n return (a - b + PITAU) % TAU - PI;\n}\nfunction _normalizeAngle(a) {\n return (a % TAU + TAU) % TAU;\n}\nfunction _angleBetween(angle, start, end, sameAngleIsFullCircle) {\n const a = _normalizeAngle(angle);\n const s = _normalizeAngle(start);\n const e = _normalizeAngle(end);\n const angleToStart = _normalizeAngle(s - a);\n const angleToEnd = _normalizeAngle(e - a);\n const startToAngle = _normalizeAngle(a - s);\n const endToAngle = _normalizeAngle(a - e);\n return a === s || a === e || (sameAngleIsFullCircle && s === e)\n || (angleToStart > angleToEnd && startToAngle < endToAngle);\n}\nfunction _limitValue(value, min, max) {\n return Math.max(min, Math.min(max, value));\n}\nfunction _int16Range(value) {\n return _limitValue(value, -32768, 32767);\n}\nfunction _isBetween(value, start, end, epsilon = 1e-6) {\n return value >= Math.min(start, end) - epsilon && value <= Math.max(start, end) + epsilon;\n}\n\nfunction _lookup(table, value, cmp) {\n cmp = cmp || ((index) => table[index] < value);\n let hi = table.length - 1;\n let lo = 0;\n let mid;\n while (hi - lo > 1) {\n mid = (lo + hi) >> 1;\n if (cmp(mid)) {\n lo = mid;\n } else {\n hi = mid;\n }\n }\n return {lo, hi};\n}\nconst _lookupByKey = (table, key, value, last) =>\n _lookup(table, value, last\n ? index => table[index][key] <= value\n : index => table[index][key] < value);\nconst _rlookupByKey = (table, key, value) =>\n _lookup(table, value, index => table[index][key] >= value);\nfunction _filterBetween(values, min, max) {\n let start = 0;\n let end = values.length;\n while (start < end && values[start] < min) {\n start++;\n }\n while (end > start && values[end - 1] > max) {\n end--;\n }\n return start > 0 || end < values.length\n ? values.slice(start, end)\n : values;\n}\nconst arrayEvents = ['push', 'pop', 'shift', 'splice', 'unshift'];\nfunction listenArrayEvents(array, listener) {\n if (array._chartjs) {\n array._chartjs.listeners.push(listener);\n return;\n }\n Object.defineProperty(array, '_chartjs', {\n configurable: true,\n enumerable: false,\n value: {\n listeners: [listener]\n }\n });\n arrayEvents.forEach((key) => {\n const method = '_onData' + _capitalize(key);\n const base = array[key];\n Object.defineProperty(array, key, {\n configurable: true,\n enumerable: false,\n value(...args) {\n const res = base.apply(this, args);\n array._chartjs.listeners.forEach((object) => {\n if (typeof object[method] === 'function') {\n object[method](...args);\n }\n });\n return res;\n }\n });\n });\n}\nfunction unlistenArrayEvents(array, listener) {\n const stub = array._chartjs;\n if (!stub) {\n return;\n }\n const listeners = stub.listeners;\n const index = listeners.indexOf(listener);\n if (index !== -1) {\n listeners.splice(index, 1);\n }\n if (listeners.length > 0) {\n return;\n }\n arrayEvents.forEach((key) => {\n delete array[key];\n });\n delete array._chartjs;\n}\nfunction _arrayUnique(items) {\n const set = new Set();\n let i, ilen;\n for (i = 0, ilen = items.length; i < ilen; ++i) {\n set.add(items[i]);\n }\n if (set.size === ilen) {\n return items;\n }\n return Array.from(set);\n}\n\nfunction fontString(pixelSize, fontStyle, fontFamily) {\n return fontStyle + ' ' + pixelSize + 'px ' + fontFamily;\n}\nconst requestAnimFrame = (function() {\n if (typeof window === 'undefined') {\n return function(callback) {\n return callback();\n };\n }\n return window.requestAnimationFrame;\n}());\nfunction throttled(fn, thisArg, updateFn) {\n const updateArgs = updateFn || ((args) => Array.prototype.slice.call(args));\n let ticking = false;\n let args = [];\n return function(...rest) {\n args = updateArgs(rest);\n if (!ticking) {\n ticking = true;\n requestAnimFrame.call(window, () => {\n ticking = false;\n fn.apply(thisArg, args);\n });\n }\n };\n}\nfunction debounce(fn, delay) {\n let timeout;\n return function(...args) {\n if (delay) {\n clearTimeout(timeout);\n timeout = setTimeout(fn, delay, args);\n } else {\n fn.apply(this, args);\n }\n return delay;\n };\n}\nconst _toLeftRightCenter = (align) => align === 'start' ? 'left' : align === 'end' ? 'right' : 'center';\nconst _alignStartEnd = (align, start, end) => align === 'start' ? start : align === 'end' ? end : (start + end) / 2;\nconst _textX = (align, left, right, rtl) => {\n const check = rtl ? 'left' : 'right';\n return align === check ? right : align === 'center' ? (left + right) / 2 : left;\n};\nfunction _getStartAndCountOfVisiblePoints(meta, points, animationsDisabled) {\n const pointCount = points.length;\n let start = 0;\n let count = pointCount;\n if (meta._sorted) {\n const {iScale, _parsed} = meta;\n const axis = iScale.axis;\n const {min, max, minDefined, maxDefined} = iScale.getUserBounds();\n if (minDefined) {\n start = _limitValue(Math.min(\n _lookupByKey(_parsed, iScale.axis, min).lo,\n animationsDisabled ? pointCount : _lookupByKey(points, axis, iScale.getPixelForValue(min)).lo),\n 0, pointCount - 1);\n }\n if (maxDefined) {\n count = _limitValue(Math.max(\n _lookupByKey(_parsed, iScale.axis, max, true).hi + 1,\n animationsDisabled ? 0 : _lookupByKey(points, axis, iScale.getPixelForValue(max), true).hi + 1),\n start, pointCount) - start;\n } else {\n count = pointCount - start;\n }\n }\n return {start, count};\n}\nfunction _scaleRangesChanged(meta) {\n const {xScale, yScale, _scaleRanges} = meta;\n const newRanges = {\n xmin: xScale.min,\n xmax: xScale.max,\n ymin: yScale.min,\n ymax: yScale.max\n };\n if (!_scaleRanges) {\n meta._scaleRanges = newRanges;\n return true;\n }\n const changed = _scaleRanges.xmin !== xScale.min\n\t\t|| _scaleRanges.xmax !== xScale.max\n\t\t|| _scaleRanges.ymin !== yScale.min\n\t\t|| _scaleRanges.ymax !== yScale.max;\n Object.assign(_scaleRanges, newRanges);\n return changed;\n}\n\nclass Animator {\n constructor() {\n this._request = null;\n this._charts = new Map();\n this._running = false;\n this._lastDate = undefined;\n }\n _notify(chart, anims, date, type) {\n const callbacks = anims.listeners[type];\n const numSteps = anims.duration;\n callbacks.forEach(fn => fn({\n chart,\n initial: anims.initial,\n numSteps,\n currentStep: Math.min(date - anims.start, numSteps)\n }));\n }\n _refresh() {\n if (this._request) {\n return;\n }\n this._running = true;\n this._request = requestAnimFrame.call(window, () => {\n this._update();\n this._request = null;\n if (this._running) {\n this._refresh();\n }\n });\n }\n _update(date = Date.now()) {\n let remaining = 0;\n this._charts.forEach((anims, chart) => {\n if (!anims.running || !anims.items.length) {\n return;\n }\n const items = anims.items;\n let i = items.length - 1;\n let draw = false;\n let item;\n for (; i >= 0; --i) {\n item = items[i];\n if (item._active) {\n if (item._total > anims.duration) {\n anims.duration = item._total;\n }\n item.tick(date);\n draw = true;\n } else {\n items[i] = items[items.length - 1];\n items.pop();\n }\n }\n if (draw) {\n chart.draw();\n this._notify(chart, anims, date, 'progress');\n }\n if (!items.length) {\n anims.running = false;\n this._notify(chart, anims, date, 'complete');\n anims.initial = false;\n }\n remaining += items.length;\n });\n this._lastDate = date;\n if (remaining === 0) {\n this._running = false;\n }\n }\n _getAnims(chart) {\n const charts = this._charts;\n let anims = charts.get(chart);\n if (!anims) {\n anims = {\n running: false,\n initial: true,\n items: [],\n listeners: {\n complete: [],\n progress: []\n }\n };\n charts.set(chart, anims);\n }\n return anims;\n }\n listen(chart, event, cb) {\n this._getAnims(chart).listeners[event].push(cb);\n }\n add(chart, items) {\n if (!items || !items.length) {\n return;\n }\n this._getAnims(chart).items.push(...items);\n }\n has(chart) {\n return this._getAnims(chart).items.length > 0;\n }\n start(chart) {\n const anims = this._charts.get(chart);\n if (!anims) {\n return;\n }\n anims.running = true;\n anims.start = Date.now();\n anims.duration = anims.items.reduce((acc, cur) => Math.max(acc, cur._duration), 0);\n this._refresh();\n }\n running(chart) {\n if (!this._running) {\n return false;\n }\n const anims = this._charts.get(chart);\n if (!anims || !anims.running || !anims.items.length) {\n return false;\n }\n return true;\n }\n stop(chart) {\n const anims = this._charts.get(chart);\n if (!anims || !anims.items.length) {\n return;\n }\n const items = anims.items;\n let i = items.length - 1;\n for (; i >= 0; --i) {\n items[i].cancel();\n }\n anims.items = [];\n this._notify(chart, anims, Date.now(), 'complete');\n }\n remove(chart) {\n return this._charts.delete(chart);\n }\n}\nvar animator = new Animator();\n\n/*!\n * @kurkle/color v0.2.1\n * https://github.com/kurkle/color#readme\n * (c) 2022 Jukka Kurkela\n * Released under the MIT License\n */\nfunction round(v) {\n return v + 0.5 | 0;\n}\nconst lim = (v, l, h) => Math.max(Math.min(v, h), l);\nfunction p2b(v) {\n return lim(round(v * 2.55), 0, 255);\n}\nfunction n2b(v) {\n return lim(round(v * 255), 0, 255);\n}\nfunction b2n(v) {\n return lim(round(v / 2.55) / 100, 0, 1);\n}\nfunction n2p(v) {\n return lim(round(v * 100), 0, 100);\n}\nconst map$1 = {0: 0, 1: 1, 2: 2, 3: 3, 4: 4, 5: 5, 6: 6, 7: 7, 8: 8, 9: 9, A: 10, B: 11, C: 12, D: 13, E: 14, F: 15, a: 10, b: 11, c: 12, d: 13, e: 14, f: 15};\nconst hex = [...'0123456789ABCDEF'];\nconst h1 = b => hex[b & 0xF];\nconst h2 = b => hex[(b & 0xF0) >> 4] + hex[b & 0xF];\nconst eq = b => ((b & 0xF0) >> 4) === (b & 0xF);\nconst isShort = v => eq(v.r) && eq(v.g) && eq(v.b) && eq(v.a);\nfunction hexParse(str) {\n var len = str.length;\n var ret;\n if (str[0] === '#') {\n if (len === 4 || len === 5) {\n ret = {\n r: 255 & map$1[str[1]] * 17,\n g: 255 & map$1[str[2]] * 17,\n b: 255 & map$1[str[3]] * 17,\n a: len === 5 ? map$1[str[4]] * 17 : 255\n };\n } else if (len === 7 || len === 9) {\n ret = {\n r: map$1[str[1]] << 4 | map$1[str[2]],\n g: map$1[str[3]] << 4 | map$1[str[4]],\n b: map$1[str[5]] << 4 | map$1[str[6]],\n a: len === 9 ? (map$1[str[7]] << 4 | map$1[str[8]]) : 255\n };\n }\n }\n return ret;\n}\nconst alpha = (a, f) => a < 255 ? f(a) : '';\nfunction hexString(v) {\n var f = isShort(v) ? h1 : h2;\n return v\n ? '#' + f(v.r) + f(v.g) + f(v.b) + alpha(v.a, f)\n : undefined;\n}\nconst HUE_RE = /^(hsla?|hwb|hsv)\\(\\s*([-+.e\\d]+)(?:deg)?[\\s,]+([-+.e\\d]+)%[\\s,]+([-+.e\\d]+)%(?:[\\s,]+([-+.e\\d]+)(%)?)?\\s*\\)$/;\nfunction hsl2rgbn(h, s, l) {\n const a = s * Math.min(l, 1 - l);\n const f = (n, k = (n + h / 30) % 12) => l - a * Math.max(Math.min(k - 3, 9 - k, 1), -1);\n return [f(0), f(8), f(4)];\n}\nfunction hsv2rgbn(h, s, v) {\n const f = (n, k = (n + h / 60) % 6) => v - v * s * Math.max(Math.min(k, 4 - k, 1), 0);\n return [f(5), f(3), f(1)];\n}\nfunction hwb2rgbn(h, w, b) {\n const rgb = hsl2rgbn(h, 1, 0.5);\n let i;\n if (w + b > 1) {\n i = 1 / (w + b);\n w *= i;\n b *= i;\n }\n for (i = 0; i < 3; i++) {\n rgb[i] *= 1 - w - b;\n rgb[i] += w;\n }\n return rgb;\n}\nfunction hueValue(r, g, b, d, max) {\n if (r === max) {\n return ((g - b) / d) + (g < b ? 6 : 0);\n }\n if (g === max) {\n return (b - r) / d + 2;\n }\n return (r - g) / d + 4;\n}\nfunction rgb2hsl(v) {\n const range = 255;\n const r = v.r / range;\n const g = v.g / range;\n const b = v.b / range;\n const max = Math.max(r, g, b);\n const min = Math.min(r, g, b);\n const l = (max + min) / 2;\n let h, s, d;\n if (max !== min) {\n d = max - min;\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n h = hueValue(r, g, b, d, max);\n h = h * 60 + 0.5;\n }\n return [h | 0, s || 0, l];\n}\nfunction calln(f, a, b, c) {\n return (\n Array.isArray(a)\n ? f(a[0], a[1], a[2])\n : f(a, b, c)\n ).map(n2b);\n}\nfunction hsl2rgb(h, s, l) {\n return calln(hsl2rgbn, h, s, l);\n}\nfunction hwb2rgb(h, w, b) {\n return calln(hwb2rgbn, h, w, b);\n}\nfunction hsv2rgb(h, s, v) {\n return calln(hsv2rgbn, h, s, v);\n}\nfunction hue(h) {\n return (h % 360 + 360) % 360;\n}\nfunction hueParse(str) {\n const m = HUE_RE.exec(str);\n let a = 255;\n let v;\n if (!m) {\n return;\n }\n if (m[5] !== v) {\n a = m[6] ? p2b(+m[5]) : n2b(+m[5]);\n }\n const h = hue(+m[2]);\n const p1 = +m[3] / 100;\n const p2 = +m[4] / 100;\n if (m[1] === 'hwb') {\n v = hwb2rgb(h, p1, p2);\n } else if (m[1] === 'hsv') {\n v = hsv2rgb(h, p1, p2);\n } else {\n v = hsl2rgb(h, p1, p2);\n }\n return {\n r: v[0],\n g: v[1],\n b: v[2],\n a: a\n };\n}\nfunction rotate(v, deg) {\n var h = rgb2hsl(v);\n h[0] = hue(h[0] + deg);\n h = hsl2rgb(h);\n v.r = h[0];\n v.g = h[1];\n v.b = h[2];\n}\nfunction hslString(v) {\n if (!v) {\n return;\n }\n const a = rgb2hsl(v);\n const h = a[0];\n const s = n2p(a[1]);\n const l = n2p(a[2]);\n return v.a < 255\n ? `hsla(${h}, ${s}%, ${l}%, ${b2n(v.a)})`\n : `hsl(${h}, ${s}%, ${l}%)`;\n}\nconst map$2 = {\n x: 'dark',\n Z: 'light',\n Y: 're',\n X: 'blu',\n W: 'gr',\n V: 'medium',\n U: 'slate',\n A: 'ee',\n T: 'ol',\n S: 'or',\n B: 'ra',\n C: 'lateg',\n D: 'ights',\n R: 'in',\n Q: 'turquois',\n E: 'hi',\n P: 'ro',\n O: 'al',\n N: 'le',\n M: 'de',\n L: 'yello',\n F: 'en',\n K: 'ch',\n G: 'arks',\n H: 'ea',\n I: 'ightg',\n J: 'wh'\n};\nconst names$1 = {\n OiceXe: 'f0f8ff',\n antiquewEte: 'faebd7',\n aqua: 'ffff',\n aquamarRe: '7fffd4',\n azuY: 'f0ffff',\n beige: 'f5f5dc',\n bisque: 'ffe4c4',\n black: '0',\n blanKedOmond: 'ffebcd',\n Xe: 'ff',\n XeviTet: '8a2be2',\n bPwn: 'a52a2a',\n burlywood: 'deb887',\n caMtXe: '5f9ea0',\n KartYuse: '7fff00',\n KocTate: 'd2691e',\n cSO: 'ff7f50',\n cSnflowerXe: '6495ed',\n cSnsilk: 'fff8dc',\n crimson: 'dc143c',\n cyan: 'ffff',\n xXe: '8b',\n xcyan: '8b8b',\n xgTMnPd: 'b8860b',\n xWay: 'a9a9a9',\n xgYF: '6400',\n xgYy: 'a9a9a9',\n xkhaki: 'bdb76b',\n xmagFta: '8b008b',\n xTivegYF: '556b2f',\n xSange: 'ff8c00',\n xScEd: '9932cc',\n xYd: '8b0000',\n xsOmon: 'e9967a',\n xsHgYF: '8fbc8f',\n xUXe: '483d8b',\n xUWay: '2f4f4f',\n xUgYy: '2f4f4f',\n xQe: 'ced1',\n xviTet: '9400d3',\n dAppRk: 'ff1493',\n dApskyXe: 'bfff',\n dimWay: '696969',\n dimgYy: '696969',\n dodgerXe: '1e90ff',\n fiYbrick: 'b22222',\n flSOwEte: 'fffaf0',\n foYstWAn: '228b22',\n fuKsia: 'ff00ff',\n gaRsbSo: 'dcdcdc',\n ghostwEte: 'f8f8ff',\n gTd: 'ffd700',\n gTMnPd: 'daa520',\n Way: '808080',\n gYF: '8000',\n gYFLw: 'adff2f',\n gYy: '808080',\n honeyMw: 'f0fff0',\n hotpRk: 'ff69b4',\n RdianYd: 'cd5c5c',\n Rdigo: '4b0082',\n ivSy: 'fffff0',\n khaki: 'f0e68c',\n lavFMr: 'e6e6fa',\n lavFMrXsh: 'fff0f5',\n lawngYF: '7cfc00',\n NmoncEffon: 'fffacd',\n ZXe: 'add8e6',\n ZcSO: 'f08080',\n Zcyan: 'e0ffff',\n ZgTMnPdLw: 'fafad2',\n ZWay: 'd3d3d3',\n ZgYF: '90ee90',\n ZgYy: 'd3d3d3',\n ZpRk: 'ffb6c1',\n ZsOmon: 'ffa07a',\n ZsHgYF: '20b2aa',\n ZskyXe: '87cefa',\n ZUWay: '778899',\n ZUgYy: '778899',\n ZstAlXe: 'b0c4de',\n ZLw: 'ffffe0',\n lime: 'ff00',\n limegYF: '32cd32',\n lRF: 'faf0e6',\n magFta: 'ff00ff',\n maPon: '800000',\n VaquamarRe: '66cdaa',\n VXe: 'cd',\n VScEd: 'ba55d3',\n VpurpN: '9370db',\n VsHgYF: '3cb371',\n VUXe: '7b68ee',\n VsprRggYF: 'fa9a',\n VQe: '48d1cc',\n VviTetYd: 'c71585',\n midnightXe: '191970',\n mRtcYam: 'f5fffa',\n mistyPse: 'ffe4e1',\n moccasR: 'ffe4b5',\n navajowEte: 'ffdead',\n navy: '80',\n Tdlace: 'fdf5e6',\n Tive: '808000',\n TivedBb: '6b8e23',\n Sange: 'ffa500',\n SangeYd: 'ff4500',\n ScEd: 'da70d6',\n pOegTMnPd: 'eee8aa',\n pOegYF: '98fb98',\n pOeQe: 'afeeee',\n pOeviTetYd: 'db7093',\n papayawEp: 'ffefd5',\n pHKpuff: 'ffdab9',\n peru: 'cd853f',\n pRk: 'ffc0cb',\n plum: 'dda0dd',\n powMrXe: 'b0e0e6',\n purpN: '800080',\n YbeccapurpN: '663399',\n Yd: 'ff0000',\n Psybrown: 'bc8f8f',\n PyOXe: '4169e1',\n saddNbPwn: '8b4513',\n sOmon: 'fa8072',\n sandybPwn: 'f4a460',\n sHgYF: '2e8b57',\n sHshell: 'fff5ee',\n siFna: 'a0522d',\n silver: 'c0c0c0',\n skyXe: '87ceeb',\n UXe: '6a5acd',\n UWay: '708090',\n UgYy: '708090',\n snow: 'fffafa',\n sprRggYF: 'ff7f',\n stAlXe: '4682b4',\n tan: 'd2b48c',\n teO: '8080',\n tEstN: 'd8bfd8',\n tomato: 'ff6347',\n Qe: '40e0d0',\n viTet: 'ee82ee',\n JHt: 'f5deb3',\n wEte: 'ffffff',\n wEtesmoke: 'f5f5f5',\n Lw: 'ffff00',\n LwgYF: '9acd32'\n};\nfunction unpack() {\n const unpacked = {};\n const keys = Object.keys(names$1);\n const tkeys = Object.keys(map$2);\n let i, j, k, ok, nk;\n for (i = 0; i < keys.length; i++) {\n ok = nk = keys[i];\n for (j = 0; j < tkeys.length; j++) {\n k = tkeys[j];\n nk = nk.replace(k, map$2[k]);\n }\n k = parseInt(names$1[ok], 16);\n unpacked[nk] = [k >> 16 & 0xFF, k >> 8 & 0xFF, k & 0xFF];\n }\n return unpacked;\n}\nlet names;\nfunction nameParse(str) {\n if (!names) {\n names = unpack();\n names.transparent = [0, 0, 0, 0];\n }\n const a = names[str.toLowerCase()];\n return a && {\n r: a[0],\n g: a[1],\n b: a[2],\n a: a.length === 4 ? a[3] : 255\n };\n}\nconst RGB_RE = /^rgba?\\(\\s*([-+.\\d]+)(%)?[\\s,]+([-+.e\\d]+)(%)?[\\s,]+([-+.e\\d]+)(%)?(?:[\\s,/]+([-+.e\\d]+)(%)?)?\\s*\\)$/;\nfunction rgbParse(str) {\n const m = RGB_RE.exec(str);\n let a = 255;\n let r, g, b;\n if (!m) {\n return;\n }\n if (m[7] !== r) {\n const v = +m[7];\n a = m[8] ? p2b(v) : lim(v * 255, 0, 255);\n }\n r = +m[1];\n g = +m[3];\n b = +m[5];\n r = 255 & (m[2] ? p2b(r) : lim(r, 0, 255));\n g = 255 & (m[4] ? p2b(g) : lim(g, 0, 255));\n b = 255 & (m[6] ? p2b(b) : lim(b, 0, 255));\n return {\n r: r,\n g: g,\n b: b,\n a: a\n };\n}\nfunction rgbString(v) {\n return v && (\n v.a < 255\n ? `rgba(${v.r}, ${v.g}, ${v.b}, ${b2n(v.a)})`\n : `rgb(${v.r}, ${v.g}, ${v.b})`\n );\n}\nconst to = v => v <= 0.0031308 ? v * 12.92 : Math.pow(v, 1.0 / 2.4) * 1.055 - 0.055;\nconst from = v => v <= 0.04045 ? v / 12.92 : Math.pow((v + 0.055) / 1.055, 2.4);\nfunction interpolate$1(rgb1, rgb2, t) {\n const r = from(b2n(rgb1.r));\n const g = from(b2n(rgb1.g));\n const b = from(b2n(rgb1.b));\n return {\n r: n2b(to(r + t * (from(b2n(rgb2.r)) - r))),\n g: n2b(to(g + t * (from(b2n(rgb2.g)) - g))),\n b: n2b(to(b + t * (from(b2n(rgb2.b)) - b))),\n a: rgb1.a + t * (rgb2.a - rgb1.a)\n };\n}\nfunction modHSL(v, i, ratio) {\n if (v) {\n let tmp = rgb2hsl(v);\n tmp[i] = Math.max(0, Math.min(tmp[i] + tmp[i] * ratio, i === 0 ? 360 : 1));\n tmp = hsl2rgb(tmp);\n v.r = tmp[0];\n v.g = tmp[1];\n v.b = tmp[2];\n }\n}\nfunction clone(v, proto) {\n return v ? Object.assign(proto || {}, v) : v;\n}\nfunction fromObject(input) {\n var v = {r: 0, g: 0, b: 0, a: 255};\n if (Array.isArray(input)) {\n if (input.length >= 3) {\n v = {r: input[0], g: input[1], b: input[2], a: 255};\n if (input.length > 3) {\n v.a = n2b(input[3]);\n }\n }\n } else {\n v = clone(input, {r: 0, g: 0, b: 0, a: 1});\n v.a = n2b(v.a);\n }\n return v;\n}\nfunction functionParse(str) {\n if (str.charAt(0) === 'r') {\n return rgbParse(str);\n }\n return hueParse(str);\n}\nclass Color {\n constructor(input) {\n if (input instanceof Color) {\n return input;\n }\n const type = typeof input;\n let v;\n if (type === 'object') {\n v = fromObject(input);\n } else if (type === 'string') {\n v = hexParse(input) || nameParse(input) || functionParse(input);\n }\n this._rgb = v;\n this._valid = !!v;\n }\n get valid() {\n return this._valid;\n }\n get rgb() {\n var v = clone(this._rgb);\n if (v) {\n v.a = b2n(v.a);\n }\n return v;\n }\n set rgb(obj) {\n this._rgb = fromObject(obj);\n }\n rgbString() {\n return this._valid ? rgbString(this._rgb) : undefined;\n }\n hexString() {\n return this._valid ? hexString(this._rgb) : undefined;\n }\n hslString() {\n return this._valid ? hslString(this._rgb) : undefined;\n }\n mix(color, weight) {\n if (color) {\n const c1 = this.rgb;\n const c2 = color.rgb;\n let w2;\n const p = weight === w2 ? 0.5 : weight;\n const w = 2 * p - 1;\n const a = c1.a - c2.a;\n const w1 = ((w * a === -1 ? w : (w + a) / (1 + w * a)) + 1) / 2.0;\n w2 = 1 - w1;\n c1.r = 0xFF & w1 * c1.r + w2 * c2.r + 0.5;\n c1.g = 0xFF & w1 * c1.g + w2 * c2.g + 0.5;\n c1.b = 0xFF & w1 * c1.b + w2 * c2.b + 0.5;\n c1.a = p * c1.a + (1 - p) * c2.a;\n this.rgb = c1;\n }\n return this;\n }\n interpolate(color, t) {\n if (color) {\n this._rgb = interpolate$1(this._rgb, color._rgb, t);\n }\n return this;\n }\n clone() {\n return new Color(this.rgb);\n }\n alpha(a) {\n this._rgb.a = n2b(a);\n return this;\n }\n clearer(ratio) {\n const rgb = this._rgb;\n rgb.a *= 1 - ratio;\n return this;\n }\n greyscale() {\n const rgb = this._rgb;\n const val = round(rgb.r * 0.3 + rgb.g * 0.59 + rgb.b * 0.11);\n rgb.r = rgb.g = rgb.b = val;\n return this;\n }\n opaquer(ratio) {\n const rgb = this._rgb;\n rgb.a *= 1 + ratio;\n return this;\n }\n negate() {\n const v = this._rgb;\n v.r = 255 - v.r;\n v.g = 255 - v.g;\n v.b = 255 - v.b;\n return this;\n }\n lighten(ratio) {\n modHSL(this._rgb, 2, ratio);\n return this;\n }\n darken(ratio) {\n modHSL(this._rgb, 2, -ratio);\n return this;\n }\n saturate(ratio) {\n modHSL(this._rgb, 1, ratio);\n return this;\n }\n desaturate(ratio) {\n modHSL(this._rgb, 1, -ratio);\n return this;\n }\n rotate(deg) {\n rotate(this._rgb, deg);\n return this;\n }\n}\nfunction index_esm(input) {\n return new Color(input);\n}\n\nfunction isPatternOrGradient(value) {\n if (value && typeof value === 'object') {\n const type = value.toString();\n return type === '[object CanvasPattern]' || type === '[object CanvasGradient]';\n }\n return false;\n}\nfunction color(value) {\n return isPatternOrGradient(value) ? value : index_esm(value);\n}\nfunction getHoverColor(value) {\n return isPatternOrGradient(value)\n ? value\n : index_esm(value).saturate(0.5).darken(0.1).hexString();\n}\n\nconst overrides = Object.create(null);\nconst descriptors = Object.create(null);\nfunction getScope$1(node, key) {\n if (!key) {\n return node;\n }\n const keys = key.split('.');\n for (let i = 0, n = keys.length; i < n; ++i) {\n const k = keys[i];\n node = node[k] || (node[k] = Object.create(null));\n }\n return node;\n}\nfunction set(root, scope, values) {\n if (typeof scope === 'string') {\n return merge(getScope$1(root, scope), values);\n }\n return merge(getScope$1(root, ''), scope);\n}\nclass Defaults {\n constructor(_descriptors) {\n this.animation = undefined;\n this.backgroundColor = 'rgba(0,0,0,0.1)';\n this.borderColor = 'rgba(0,0,0,0.1)';\n this.color = '#666';\n this.datasets = {};\n this.devicePixelRatio = (context) => context.chart.platform.getDevicePixelRatio();\n this.elements = {};\n this.events = [\n 'mousemove',\n 'mouseout',\n 'click',\n 'touchstart',\n 'touchmove'\n ];\n this.font = {\n family: \"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif\",\n size: 12,\n style: 'normal',\n lineHeight: 1.2,\n weight: null\n };\n this.hover = {};\n this.hoverBackgroundColor = (ctx, options) => getHoverColor(options.backgroundColor);\n this.hoverBorderColor = (ctx, options) => getHoverColor(options.borderColor);\n this.hoverColor = (ctx, options) => getHoverColor(options.color);\n this.indexAxis = 'x';\n this.interaction = {\n mode: 'nearest',\n intersect: true,\n includeInvisible: false\n };\n this.maintainAspectRatio = true;\n this.onHover = null;\n this.onClick = null;\n this.parsing = true;\n this.plugins = {};\n this.responsive = true;\n this.scale = undefined;\n this.scales = {};\n this.showLine = true;\n this.drawActiveElementsOnTop = true;\n this.describe(_descriptors);\n }\n set(scope, values) {\n return set(this, scope, values);\n }\n get(scope) {\n return getScope$1(this, scope);\n }\n describe(scope, values) {\n return set(descriptors, scope, values);\n }\n override(scope, values) {\n return set(overrides, scope, values);\n }\n route(scope, name, targetScope, targetName) {\n const scopeObject = getScope$1(this, scope);\n const targetScopeObject = getScope$1(this, targetScope);\n const privateName = '_' + name;\n Object.defineProperties(scopeObject, {\n [privateName]: {\n value: scopeObject[name],\n writable: true\n },\n [name]: {\n enumerable: true,\n get() {\n const local = this[privateName];\n const target = targetScopeObject[targetName];\n if (isObject(local)) {\n return Object.assign({}, target, local);\n }\n return valueOrDefault(local, target);\n },\n set(value) {\n this[privateName] = value;\n }\n }\n });\n }\n}\nvar defaults = new Defaults({\n _scriptable: (name) => !name.startsWith('on'),\n _indexable: (name) => name !== 'events',\n hover: {\n _fallback: 'interaction'\n },\n interaction: {\n _scriptable: false,\n _indexable: false,\n }\n});\n\nfunction _isDomSupported() {\n return typeof window !== 'undefined' && typeof document !== 'undefined';\n}\nfunction _getParentNode(domNode) {\n let parent = domNode.parentNode;\n if (parent && parent.toString() === '[object ShadowRoot]') {\n parent = parent.host;\n }\n return parent;\n}\nfunction parseMaxStyle(styleValue, node, parentProperty) {\n let valueInPixels;\n if (typeof styleValue === 'string') {\n valueInPixels = parseInt(styleValue, 10);\n if (styleValue.indexOf('%') !== -1) {\n valueInPixels = valueInPixels / 100 * node.parentNode[parentProperty];\n }\n } else {\n valueInPixels = styleValue;\n }\n return valueInPixels;\n}\nconst getComputedStyle = (element) => window.getComputedStyle(element, null);\nfunction getStyle(el, property) {\n return getComputedStyle(el).getPropertyValue(property);\n}\nconst positions = ['top', 'right', 'bottom', 'left'];\nfunction getPositionedStyle(styles, style, suffix) {\n const result = {};\n suffix = suffix ? '-' + suffix : '';\n for (let i = 0; i < 4; i++) {\n const pos = positions[i];\n result[pos] = parseFloat(styles[style + '-' + pos + suffix]) || 0;\n }\n result.width = result.left + result.right;\n result.height = result.top + result.bottom;\n return result;\n}\nconst useOffsetPos = (x, y, target) => (x > 0 || y > 0) && (!target || !target.shadowRoot);\nfunction getCanvasPosition(e, canvas) {\n const touches = e.touches;\n const source = touches && touches.length ? touches[0] : e;\n const {offsetX, offsetY} = source;\n let box = false;\n let x, y;\n if (useOffsetPos(offsetX, offsetY, e.target)) {\n x = offsetX;\n y = offsetY;\n } else {\n const rect = canvas.getBoundingClientRect();\n x = source.clientX - rect.left;\n y = source.clientY - rect.top;\n box = true;\n }\n return {x, y, box};\n}\nfunction getRelativePosition(evt, chart) {\n if ('native' in evt) {\n return evt;\n }\n const {canvas, currentDevicePixelRatio} = chart;\n const style = getComputedStyle(canvas);\n const borderBox = style.boxSizing === 'border-box';\n const paddings = getPositionedStyle(style, 'padding');\n const borders = getPositionedStyle(style, 'border', 'width');\n const {x, y, box} = getCanvasPosition(evt, canvas);\n const xOffset = paddings.left + (box && borders.left);\n const yOffset = paddings.top + (box && borders.top);\n let {width, height} = chart;\n if (borderBox) {\n width -= paddings.width + borders.width;\n height -= paddings.height + borders.height;\n }\n return {\n x: Math.round((x - xOffset) / width * canvas.width / currentDevicePixelRatio),\n y: Math.round((y - yOffset) / height * canvas.height / currentDevicePixelRatio)\n };\n}\nfunction getContainerSize(canvas, width, height) {\n let maxWidth, maxHeight;\n if (width === undefined || height === undefined) {\n const container = _getParentNode(canvas);\n if (!container) {\n width = canvas.clientWidth;\n height = canvas.clientHeight;\n } else {\n const rect = container.getBoundingClientRect();\n const containerStyle = getComputedStyle(container);\n const containerBorder = getPositionedStyle(containerStyle, 'border', 'width');\n const containerPadding = getPositionedStyle(containerStyle, 'padding');\n width = rect.width - containerPadding.width - containerBorder.width;\n height = rect.height - containerPadding.height - containerBorder.height;\n maxWidth = parseMaxStyle(containerStyle.maxWidth, container, 'clientWidth');\n maxHeight = parseMaxStyle(containerStyle.maxHeight, container, 'clientHeight');\n }\n }\n return {\n width,\n height,\n maxWidth: maxWidth || INFINITY,\n maxHeight: maxHeight || INFINITY\n };\n}\nconst round1 = v => Math.round(v * 10) / 10;\nfunction getMaximumSize(canvas, bbWidth, bbHeight, aspectRatio) {\n const style = getComputedStyle(canvas);\n const margins = getPositionedStyle(style, 'margin');\n const maxWidth = parseMaxStyle(style.maxWidth, canvas, 'clientWidth') || INFINITY;\n const maxHeight = parseMaxStyle(style.maxHeight, canvas, 'clientHeight') || INFINITY;\n const containerSize = getContainerSize(canvas, bbWidth, bbHeight);\n let {width, height} = containerSize;\n if (style.boxSizing === 'content-box') {\n const borders = getPositionedStyle(style, 'border', 'width');\n const paddings = getPositionedStyle(style, 'padding');\n width -= paddings.width + borders.width;\n height -= paddings.height + borders.height;\n }\n width = Math.max(0, width - margins.width);\n height = Math.max(0, aspectRatio ? Math.floor(width / aspectRatio) : height - margins.height);\n width = round1(Math.min(width, maxWidth, containerSize.maxWidth));\n height = round1(Math.min(height, maxHeight, containerSize.maxHeight));\n if (width && !height) {\n height = round1(width / 2);\n }\n return {\n width,\n height\n };\n}\nfunction retinaScale(chart, forceRatio, forceStyle) {\n const pixelRatio = forceRatio || 1;\n const deviceHeight = Math.floor(chart.height * pixelRatio);\n const deviceWidth = Math.floor(chart.width * pixelRatio);\n chart.height = deviceHeight / pixelRatio;\n chart.width = deviceWidth / pixelRatio;\n const canvas = chart.canvas;\n if (canvas.style && (forceStyle || (!canvas.style.height && !canvas.style.width))) {\n canvas.style.height = `${chart.height}px`;\n canvas.style.width = `${chart.width}px`;\n }\n if (chart.currentDevicePixelRatio !== pixelRatio\n || canvas.height !== deviceHeight\n || canvas.width !== deviceWidth) {\n chart.currentDevicePixelRatio = pixelRatio;\n canvas.height = deviceHeight;\n canvas.width = deviceWidth;\n chart.ctx.setTransform(pixelRatio, 0, 0, pixelRatio, 0, 0);\n return true;\n }\n return false;\n}\nconst supportsEventListenerOptions = (function() {\n let passiveSupported = false;\n try {\n const options = {\n get passive() {\n passiveSupported = true;\n return false;\n }\n };\n window.addEventListener('test', null, options);\n window.removeEventListener('test', null, options);\n } catch (e) {\n }\n return passiveSupported;\n}());\nfunction readUsedSize(element, property) {\n const value = getStyle(element, property);\n const matches = value && value.match(/^(\\d+)(\\.\\d+)?px$/);\n return matches ? +matches[1] : undefined;\n}\n\nfunction toFontString(font) {\n if (!font || isNullOrUndef(font.size) || isNullOrUndef(font.family)) {\n return null;\n }\n return (font.style ? font.style + ' ' : '')\n\t\t+ (font.weight ? font.weight + ' ' : '')\n\t\t+ font.size + 'px '\n\t\t+ font.family;\n}\nfunction _measureText(ctx, data, gc, longest, string) {\n let textWidth = data[string];\n if (!textWidth) {\n textWidth = data[string] = ctx.measureText(string).width;\n gc.push(string);\n }\n if (textWidth > longest) {\n longest = textWidth;\n }\n return longest;\n}\nfunction _longestText(ctx, font, arrayOfThings, cache) {\n cache = cache || {};\n let data = cache.data = cache.data || {};\n let gc = cache.garbageCollect = cache.garbageCollect || [];\n if (cache.font !== font) {\n data = cache.data = {};\n gc = cache.garbageCollect = [];\n cache.font = font;\n }\n ctx.save();\n ctx.font = font;\n let longest = 0;\n const ilen = arrayOfThings.length;\n let i, j, jlen, thing, nestedThing;\n for (i = 0; i < ilen; i++) {\n thing = arrayOfThings[i];\n if (thing !== undefined && thing !== null && isArray(thing) !== true) {\n longest = _measureText(ctx, data, gc, longest, thing);\n } else if (isArray(thing)) {\n for (j = 0, jlen = thing.length; j < jlen; j++) {\n nestedThing = thing[j];\n if (nestedThing !== undefined && nestedThing !== null && !isArray(nestedThing)) {\n longest = _measureText(ctx, data, gc, longest, nestedThing);\n }\n }\n }\n }\n ctx.restore();\n const gcLen = gc.length / 2;\n if (gcLen > arrayOfThings.length) {\n for (i = 0; i < gcLen; i++) {\n delete data[gc[i]];\n }\n gc.splice(0, gcLen);\n }\n return longest;\n}\nfunction _alignPixel(chart, pixel, width) {\n const devicePixelRatio = chart.currentDevicePixelRatio;\n const halfWidth = width !== 0 ? Math.max(width / 2, 0.5) : 0;\n return Math.round((pixel - halfWidth) * devicePixelRatio) / devicePixelRatio + halfWidth;\n}\nfunction clearCanvas(canvas, ctx) {\n ctx = ctx || canvas.getContext('2d');\n ctx.save();\n ctx.resetTransform();\n ctx.clearRect(0, 0, canvas.width, canvas.height);\n ctx.restore();\n}\nfunction drawPoint(ctx, options, x, y) {\n drawPointLegend(ctx, options, x, y, null);\n}\nfunction drawPointLegend(ctx, options, x, y, w) {\n let type, xOffset, yOffset, size, cornerRadius, width;\n const style = options.pointStyle;\n const rotation = options.rotation;\n const radius = options.radius;\n let rad = (rotation || 0) * RAD_PER_DEG;\n if (style && typeof style === 'object') {\n type = style.toString();\n if (type === '[object HTMLImageElement]' || type === '[object HTMLCanvasElement]') {\n ctx.save();\n ctx.translate(x, y);\n ctx.rotate(rad);\n ctx.drawImage(style, -style.width / 2, -style.height / 2, style.width, style.height);\n ctx.restore();\n return;\n }\n }\n if (isNaN(radius) || radius <= 0) {\n return;\n }\n ctx.beginPath();\n switch (style) {\n default:\n if (w) {\n ctx.ellipse(x, y, w / 2, radius, 0, 0, TAU);\n } else {\n ctx.arc(x, y, radius, 0, TAU);\n }\n ctx.closePath();\n break;\n case 'triangle':\n ctx.moveTo(x + Math.sin(rad) * radius, y - Math.cos(rad) * radius);\n rad += TWO_THIRDS_PI;\n ctx.lineTo(x + Math.sin(rad) * radius, y - Math.cos(rad) * radius);\n rad += TWO_THIRDS_PI;\n ctx.lineTo(x + Math.sin(rad) * radius, y - Math.cos(rad) * radius);\n ctx.closePath();\n break;\n case 'rectRounded':\n cornerRadius = radius * 0.516;\n size = radius - cornerRadius;\n xOffset = Math.cos(rad + QUARTER_PI) * size;\n yOffset = Math.sin(rad + QUARTER_PI) * size;\n ctx.arc(x - xOffset, y - yOffset, cornerRadius, rad - PI, rad - HALF_PI);\n ctx.arc(x + yOffset, y - xOffset, cornerRadius, rad - HALF_PI, rad);\n ctx.arc(x + xOffset, y + yOffset, cornerRadius, rad, rad + HALF_PI);\n ctx.arc(x - yOffset, y + xOffset, cornerRadius, rad + HALF_PI, rad + PI);\n ctx.closePath();\n break;\n case 'rect':\n if (!rotation) {\n size = Math.SQRT1_2 * radius;\n width = w ? w / 2 : size;\n ctx.rect(x - width, y - size, 2 * width, 2 * size);\n break;\n }\n rad += QUARTER_PI;\n case 'rectRot':\n xOffset = Math.cos(rad) * radius;\n yOffset = Math.sin(rad) * radius;\n ctx.moveTo(x - xOffset, y - yOffset);\n ctx.lineTo(x + yOffset, y - xOffset);\n ctx.lineTo(x + xOffset, y + yOffset);\n ctx.lineTo(x - yOffset, y + xOffset);\n ctx.closePath();\n break;\n case 'crossRot':\n rad += QUARTER_PI;\n case 'cross':\n xOffset = Math.cos(rad) * radius;\n yOffset = Math.sin(rad) * radius;\n ctx.moveTo(x - xOffset, y - yOffset);\n ctx.lineTo(x + xOffset, y + yOffset);\n ctx.moveTo(x + yOffset, y - xOffset);\n ctx.lineTo(x - yOffset, y + xOffset);\n break;\n case 'star':\n xOffset = Math.cos(rad) * radius;\n yOffset = Math.sin(rad) * radius;\n ctx.moveTo(x - xOffset, y - yOffset);\n ctx.lineTo(x + xOffset, y + yOffset);\n ctx.moveTo(x + yOffset, y - xOffset);\n ctx.lineTo(x - yOffset, y + xOffset);\n rad += QUARTER_PI;\n xOffset = Math.cos(rad) * radius;\n yOffset = Math.sin(rad) * radius;\n ctx.moveTo(x - xOffset, y - yOffset);\n ctx.lineTo(x + xOffset, y + yOffset);\n ctx.moveTo(x + yOffset, y - xOffset);\n ctx.lineTo(x - yOffset, y + xOffset);\n break;\n case 'line':\n xOffset = w ? w / 2 : Math.cos(rad) * radius;\n yOffset = Math.sin(rad) * radius;\n ctx.moveTo(x - xOffset, y - yOffset);\n ctx.lineTo(x + xOffset, y + yOffset);\n break;\n case 'dash':\n ctx.moveTo(x, y);\n ctx.lineTo(x + Math.cos(rad) * radius, y + Math.sin(rad) * radius);\n break;\n }\n ctx.fill();\n if (options.borderWidth > 0) {\n ctx.stroke();\n }\n}\nfunction _isPointInArea(point, area, margin) {\n margin = margin || 0.5;\n return !area || (point && point.x > area.left - margin && point.x < area.right + margin &&\n\t\tpoint.y > area.top - margin && point.y < area.bottom + margin);\n}\nfunction clipArea(ctx, area) {\n ctx.save();\n ctx.beginPath();\n ctx.rect(area.left, area.top, area.right - area.left, area.bottom - area.top);\n ctx.clip();\n}\nfunction unclipArea(ctx) {\n ctx.restore();\n}\nfunction _steppedLineTo(ctx, previous, target, flip, mode) {\n if (!previous) {\n return ctx.lineTo(target.x, target.y);\n }\n if (mode === 'middle') {\n const midpoint = (previous.x + target.x) / 2.0;\n ctx.lineTo(midpoint, previous.y);\n ctx.lineTo(midpoint, target.y);\n } else if (mode === 'after' !== !!flip) {\n ctx.lineTo(previous.x, target.y);\n } else {\n ctx.lineTo(target.x, previous.y);\n }\n ctx.lineTo(target.x, target.y);\n}\nfunction _bezierCurveTo(ctx, previous, target, flip) {\n if (!previous) {\n return ctx.lineTo(target.x, target.y);\n }\n ctx.bezierCurveTo(\n flip ? previous.cp1x : previous.cp2x,\n flip ? previous.cp1y : previous.cp2y,\n flip ? target.cp2x : target.cp1x,\n flip ? target.cp2y : target.cp1y,\n target.x,\n target.y);\n}\nfunction renderText(ctx, text, x, y, font, opts = {}) {\n const lines = isArray(text) ? text : [text];\n const stroke = opts.strokeWidth > 0 && opts.strokeColor !== '';\n let i, line;\n ctx.save();\n ctx.font = font.string;\n setRenderOpts(ctx, opts);\n for (i = 0; i < lines.length; ++i) {\n line = lines[i];\n if (stroke) {\n if (opts.strokeColor) {\n ctx.strokeStyle = opts.strokeColor;\n }\n if (!isNullOrUndef(opts.strokeWidth)) {\n ctx.lineWidth = opts.strokeWidth;\n }\n ctx.strokeText(line, x, y, opts.maxWidth);\n }\n ctx.fillText(line, x, y, opts.maxWidth);\n decorateText(ctx, x, y, line, opts);\n y += font.lineHeight;\n }\n ctx.restore();\n}\nfunction setRenderOpts(ctx, opts) {\n if (opts.translation) {\n ctx.translate(opts.translation[0], opts.translation[1]);\n }\n if (!isNullOrUndef(opts.rotation)) {\n ctx.rotate(opts.rotation);\n }\n if (opts.color) {\n ctx.fillStyle = opts.color;\n }\n if (opts.textAlign) {\n ctx.textAlign = opts.textAlign;\n }\n if (opts.textBaseline) {\n ctx.textBaseline = opts.textBaseline;\n }\n}\nfunction decorateText(ctx, x, y, line, opts) {\n if (opts.strikethrough || opts.underline) {\n const metrics = ctx.measureText(line);\n const left = x - metrics.actualBoundingBoxLeft;\n const right = x + metrics.actualBoundingBoxRight;\n const top = y - metrics.actualBoundingBoxAscent;\n const bottom = y + metrics.actualBoundingBoxDescent;\n const yDecoration = opts.strikethrough ? (top + bottom) / 2 : bottom;\n ctx.strokeStyle = ctx.fillStyle;\n ctx.beginPath();\n ctx.lineWidth = opts.decorationWidth || 2;\n ctx.moveTo(left, yDecoration);\n ctx.lineTo(right, yDecoration);\n ctx.stroke();\n }\n}\nfunction addRoundedRectPath(ctx, rect) {\n const {x, y, w, h, radius} = rect;\n ctx.arc(x + radius.topLeft, y + radius.topLeft, radius.topLeft, -HALF_PI, PI, true);\n ctx.lineTo(x, y + h - radius.bottomLeft);\n ctx.arc(x + radius.bottomLeft, y + h - radius.bottomLeft, radius.bottomLeft, PI, HALF_PI, true);\n ctx.lineTo(x + w - radius.bottomRight, y + h);\n ctx.arc(x + w - radius.bottomRight, y + h - radius.bottomRight, radius.bottomRight, HALF_PI, 0, true);\n ctx.lineTo(x + w, y + radius.topRight);\n ctx.arc(x + w - radius.topRight, y + radius.topRight, radius.topRight, 0, -HALF_PI, true);\n ctx.lineTo(x + radius.topLeft, y);\n}\n\nfunction _createResolver(scopes, prefixes = [''], rootScopes = scopes, fallback, getTarget = () => scopes[0]) {\n if (!defined(fallback)) {\n fallback = _resolve('_fallback', scopes);\n }\n const cache = {\n [Symbol.toStringTag]: 'Object',\n _cacheable: true,\n _scopes: scopes,\n _rootScopes: rootScopes,\n _fallback: fallback,\n _getTarget: getTarget,\n override: (scope) => _createResolver([scope, ...scopes], prefixes, rootScopes, fallback),\n };\n return new Proxy(cache, {\n deleteProperty(target, prop) {\n delete target[prop];\n delete target._keys;\n delete scopes[0][prop];\n return true;\n },\n get(target, prop) {\n return _cached(target, prop,\n () => _resolveWithPrefixes(prop, prefixes, scopes, target));\n },\n getOwnPropertyDescriptor(target, prop) {\n return Reflect.getOwnPropertyDescriptor(target._scopes[0], prop);\n },\n getPrototypeOf() {\n return Reflect.getPrototypeOf(scopes[0]);\n },\n has(target, prop) {\n return getKeysFromAllScopes(target).includes(prop);\n },\n ownKeys(target) {\n return getKeysFromAllScopes(target);\n },\n set(target, prop, value) {\n const storage = target._storage || (target._storage = getTarget());\n target[prop] = storage[prop] = value;\n delete target._keys;\n return true;\n }\n });\n}\nfunction _attachContext(proxy, context, subProxy, descriptorDefaults) {\n const cache = {\n _cacheable: false,\n _proxy: proxy,\n _context: context,\n _subProxy: subProxy,\n _stack: new Set(),\n _descriptors: _descriptors(proxy, descriptorDefaults),\n setContext: (ctx) => _attachContext(proxy, ctx, subProxy, descriptorDefaults),\n override: (scope) => _attachContext(proxy.override(scope), context, subProxy, descriptorDefaults)\n };\n return new Proxy(cache, {\n deleteProperty(target, prop) {\n delete target[prop];\n delete proxy[prop];\n return true;\n },\n get(target, prop, receiver) {\n return _cached(target, prop,\n () => _resolveWithContext(target, prop, receiver));\n },\n getOwnPropertyDescriptor(target, prop) {\n return target._descriptors.allKeys\n ? Reflect.has(proxy, prop) ? {enumerable: true, configurable: true} : undefined\n : Reflect.getOwnPropertyDescriptor(proxy, prop);\n },\n getPrototypeOf() {\n return Reflect.getPrototypeOf(proxy);\n },\n has(target, prop) {\n return Reflect.has(proxy, prop);\n },\n ownKeys() {\n return Reflect.ownKeys(proxy);\n },\n set(target, prop, value) {\n proxy[prop] = value;\n delete target[prop];\n return true;\n }\n });\n}\nfunction _descriptors(proxy, defaults = {scriptable: true, indexable: true}) {\n const {_scriptable = defaults.scriptable, _indexable = defaults.indexable, _allKeys = defaults.allKeys} = proxy;\n return {\n allKeys: _allKeys,\n scriptable: _scriptable,\n indexable: _indexable,\n isScriptable: isFunction(_scriptable) ? _scriptable : () => _scriptable,\n isIndexable: isFunction(_indexable) ? _indexable : () => _indexable\n };\n}\nconst readKey = (prefix, name) => prefix ? prefix + _capitalize(name) : name;\nconst needsSubResolver = (prop, value) => isObject(value) && prop !== 'adapters' &&\n (Object.getPrototypeOf(value) === null || value.constructor === Object);\nfunction _cached(target, prop, resolve) {\n if (Object.prototype.hasOwnProperty.call(target, prop)) {\n return target[prop];\n }\n const value = resolve();\n target[prop] = value;\n return value;\n}\nfunction _resolveWithContext(target, prop, receiver) {\n const {_proxy, _context, _subProxy, _descriptors: descriptors} = target;\n let value = _proxy[prop];\n if (isFunction(value) && descriptors.isScriptable(prop)) {\n value = _resolveScriptable(prop, value, target, receiver);\n }\n if (isArray(value) && value.length) {\n value = _resolveArray(prop, value, target, descriptors.isIndexable);\n }\n if (needsSubResolver(prop, value)) {\n value = _attachContext(value, _context, _subProxy && _subProxy[prop], descriptors);\n }\n return value;\n}\nfunction _resolveScriptable(prop, value, target, receiver) {\n const {_proxy, _context, _subProxy, _stack} = target;\n if (_stack.has(prop)) {\n throw new Error('Recursion detected: ' + Array.from(_stack).join('->') + '->' + prop);\n }\n _stack.add(prop);\n value = value(_context, _subProxy || receiver);\n _stack.delete(prop);\n if (needsSubResolver(prop, value)) {\n value = createSubResolver(_proxy._scopes, _proxy, prop, value);\n }\n return value;\n}\nfunction _resolveArray(prop, value, target, isIndexable) {\n const {_proxy, _context, _subProxy, _descriptors: descriptors} = target;\n if (defined(_context.index) && isIndexable(prop)) {\n value = value[_context.index % value.length];\n } else if (isObject(value[0])) {\n const arr = value;\n const scopes = _proxy._scopes.filter(s => s !== arr);\n value = [];\n for (const item of arr) {\n const resolver = createSubResolver(scopes, _proxy, prop, item);\n value.push(_attachContext(resolver, _context, _subProxy && _subProxy[prop], descriptors));\n }\n }\n return value;\n}\nfunction resolveFallback(fallback, prop, value) {\n return isFunction(fallback) ? fallback(prop, value) : fallback;\n}\nconst getScope = (key, parent) => key === true ? parent\n : typeof key === 'string' ? resolveObjectKey(parent, key) : undefined;\nfunction addScopes(set, parentScopes, key, parentFallback, value) {\n for (const parent of parentScopes) {\n const scope = getScope(key, parent);\n if (scope) {\n set.add(scope);\n const fallback = resolveFallback(scope._fallback, key, value);\n if (defined(fallback) && fallback !== key && fallback !== parentFallback) {\n return fallback;\n }\n } else if (scope === false && defined(parentFallback) && key !== parentFallback) {\n return null;\n }\n }\n return false;\n}\nfunction createSubResolver(parentScopes, resolver, prop, value) {\n const rootScopes = resolver._rootScopes;\n const fallback = resolveFallback(resolver._fallback, prop, value);\n const allScopes = [...parentScopes, ...rootScopes];\n const set = new Set();\n set.add(value);\n let key = addScopesFromKey(set, allScopes, prop, fallback || prop, value);\n if (key === null) {\n return false;\n }\n if (defined(fallback) && fallback !== prop) {\n key = addScopesFromKey(set, allScopes, fallback, key, value);\n if (key === null) {\n return false;\n }\n }\n return _createResolver(Array.from(set), [''], rootScopes, fallback,\n () => subGetTarget(resolver, prop, value));\n}\nfunction addScopesFromKey(set, allScopes, key, fallback, item) {\n while (key) {\n key = addScopes(set, allScopes, key, fallback, item);\n }\n return key;\n}\nfunction subGetTarget(resolver, prop, value) {\n const parent = resolver._getTarget();\n if (!(prop in parent)) {\n parent[prop] = {};\n }\n const target = parent[prop];\n if (isArray(target) && isObject(value)) {\n return value;\n }\n return target;\n}\nfunction _resolveWithPrefixes(prop, prefixes, scopes, proxy) {\n let value;\n for (const prefix of prefixes) {\n value = _resolve(readKey(prefix, prop), scopes);\n if (defined(value)) {\n return needsSubResolver(prop, value)\n ? createSubResolver(scopes, proxy, prop, value)\n : value;\n }\n }\n}\nfunction _resolve(key, scopes) {\n for (const scope of scopes) {\n if (!scope) {\n continue;\n }\n const value = scope[key];\n if (defined(value)) {\n return value;\n }\n }\n}\nfunction getKeysFromAllScopes(target) {\n let keys = target._keys;\n if (!keys) {\n keys = target._keys = resolveKeysFromAllScopes(target._scopes);\n }\n return keys;\n}\nfunction resolveKeysFromAllScopes(scopes) {\n const set = new Set();\n for (const scope of scopes) {\n for (const key of Object.keys(scope).filter(k => !k.startsWith('_'))) {\n set.add(key);\n }\n }\n return Array.from(set);\n}\nfunction _parseObjectDataRadialScale(meta, data, start, count) {\n const {iScale} = meta;\n const {key = 'r'} = this._parsing;\n const parsed = new Array(count);\n let i, ilen, index, item;\n for (i = 0, ilen = count; i < ilen; ++i) {\n index = i + start;\n item = data[index];\n parsed[i] = {\n r: iScale.parse(resolveObjectKey(item, key), index)\n };\n }\n return parsed;\n}\n\nconst EPSILON = Number.EPSILON || 1e-14;\nconst getPoint = (points, i) => i < points.length && !points[i].skip && points[i];\nconst getValueAxis = (indexAxis) => indexAxis === 'x' ? 'y' : 'x';\nfunction splineCurve(firstPoint, middlePoint, afterPoint, t) {\n const previous = firstPoint.skip ? middlePoint : firstPoint;\n const current = middlePoint;\n const next = afterPoint.skip ? middlePoint : afterPoint;\n const d01 = distanceBetweenPoints(current, previous);\n const d12 = distanceBetweenPoints(next, current);\n let s01 = d01 / (d01 + d12);\n let s12 = d12 / (d01 + d12);\n s01 = isNaN(s01) ? 0 : s01;\n s12 = isNaN(s12) ? 0 : s12;\n const fa = t * s01;\n const fb = t * s12;\n return {\n previous: {\n x: current.x - fa * (next.x - previous.x),\n y: current.y - fa * (next.y - previous.y)\n },\n next: {\n x: current.x + fb * (next.x - previous.x),\n y: current.y + fb * (next.y - previous.y)\n }\n };\n}\nfunction monotoneAdjust(points, deltaK, mK) {\n const pointsLen = points.length;\n let alphaK, betaK, tauK, squaredMagnitude, pointCurrent;\n let pointAfter = getPoint(points, 0);\n for (let i = 0; i < pointsLen - 1; ++i) {\n pointCurrent = pointAfter;\n pointAfter = getPoint(points, i + 1);\n if (!pointCurrent || !pointAfter) {\n continue;\n }\n if (almostEquals(deltaK[i], 0, EPSILON)) {\n mK[i] = mK[i + 1] = 0;\n continue;\n }\n alphaK = mK[i] / deltaK[i];\n betaK = mK[i + 1] / deltaK[i];\n squaredMagnitude = Math.pow(alphaK, 2) + Math.pow(betaK, 2);\n if (squaredMagnitude <= 9) {\n continue;\n }\n tauK = 3 / Math.sqrt(squaredMagnitude);\n mK[i] = alphaK * tauK * deltaK[i];\n mK[i + 1] = betaK * tauK * deltaK[i];\n }\n}\nfunction monotoneCompute(points, mK, indexAxis = 'x') {\n const valueAxis = getValueAxis(indexAxis);\n const pointsLen = points.length;\n let delta, pointBefore, pointCurrent;\n let pointAfter = getPoint(points, 0);\n for (let i = 0; i < pointsLen; ++i) {\n pointBefore = pointCurrent;\n pointCurrent = pointAfter;\n pointAfter = getPoint(points, i + 1);\n if (!pointCurrent) {\n continue;\n }\n const iPixel = pointCurrent[indexAxis];\n const vPixel = pointCurrent[valueAxis];\n if (pointBefore) {\n delta = (iPixel - pointBefore[indexAxis]) / 3;\n pointCurrent[`cp1${indexAxis}`] = iPixel - delta;\n pointCurrent[`cp1${valueAxis}`] = vPixel - delta * mK[i];\n }\n if (pointAfter) {\n delta = (pointAfter[indexAxis] - iPixel) / 3;\n pointCurrent[`cp2${indexAxis}`] = iPixel + delta;\n pointCurrent[`cp2${valueAxis}`] = vPixel + delta * mK[i];\n }\n }\n}\nfunction splineCurveMonotone(points, indexAxis = 'x') {\n const valueAxis = getValueAxis(indexAxis);\n const pointsLen = points.length;\n const deltaK = Array(pointsLen).fill(0);\n const mK = Array(pointsLen);\n let i, pointBefore, pointCurrent;\n let pointAfter = getPoint(points, 0);\n for (i = 0; i < pointsLen; ++i) {\n pointBefore = pointCurrent;\n pointCurrent = pointAfter;\n pointAfter = getPoint(points, i + 1);\n if (!pointCurrent) {\n continue;\n }\n if (pointAfter) {\n const slopeDelta = pointAfter[indexAxis] - pointCurrent[indexAxis];\n deltaK[i] = slopeDelta !== 0 ? (pointAfter[valueAxis] - pointCurrent[valueAxis]) / slopeDelta : 0;\n }\n mK[i] = !pointBefore ? deltaK[i]\n : !pointAfter ? deltaK[i - 1]\n : (sign(deltaK[i - 1]) !== sign(deltaK[i])) ? 0\n : (deltaK[i - 1] + deltaK[i]) / 2;\n }\n monotoneAdjust(points, deltaK, mK);\n monotoneCompute(points, mK, indexAxis);\n}\nfunction capControlPoint(pt, min, max) {\n return Math.max(Math.min(pt, max), min);\n}\nfunction capBezierPoints(points, area) {\n let i, ilen, point, inArea, inAreaPrev;\n let inAreaNext = _isPointInArea(points[0], area);\n for (i = 0, ilen = points.length; i < ilen; ++i) {\n inAreaPrev = inArea;\n inArea = inAreaNext;\n inAreaNext = i < ilen - 1 && _isPointInArea(points[i + 1], area);\n if (!inArea) {\n continue;\n }\n point = points[i];\n if (inAreaPrev) {\n point.cp1x = capControlPoint(point.cp1x, area.left, area.right);\n point.cp1y = capControlPoint(point.cp1y, area.top, area.bottom);\n }\n if (inAreaNext) {\n point.cp2x = capControlPoint(point.cp2x, area.left, area.right);\n point.cp2y = capControlPoint(point.cp2y, area.top, area.bottom);\n }\n }\n}\nfunction _updateBezierControlPoints(points, options, area, loop, indexAxis) {\n let i, ilen, point, controlPoints;\n if (options.spanGaps) {\n points = points.filter((pt) => !pt.skip);\n }\n if (options.cubicInterpolationMode === 'monotone') {\n splineCurveMonotone(points, indexAxis);\n } else {\n let prev = loop ? points[points.length - 1] : points[0];\n for (i = 0, ilen = points.length; i < ilen; ++i) {\n point = points[i];\n controlPoints = splineCurve(\n prev,\n point,\n points[Math.min(i + 1, ilen - (loop ? 0 : 1)) % ilen],\n options.tension\n );\n point.cp1x = controlPoints.previous.x;\n point.cp1y = controlPoints.previous.y;\n point.cp2x = controlPoints.next.x;\n point.cp2y = controlPoints.next.y;\n prev = point;\n }\n }\n if (options.capBezierPoints) {\n capBezierPoints(points, area);\n }\n}\n\nconst atEdge = (t) => t === 0 || t === 1;\nconst elasticIn = (t, s, p) => -(Math.pow(2, 10 * (t -= 1)) * Math.sin((t - s) * TAU / p));\nconst elasticOut = (t, s, p) => Math.pow(2, -10 * t) * Math.sin((t - s) * TAU / p) + 1;\nconst effects = {\n linear: t => t,\n easeInQuad: t => t * t,\n easeOutQuad: t => -t * (t - 2),\n easeInOutQuad: t => ((t /= 0.5) < 1)\n ? 0.5 * t * t\n : -0.5 * ((--t) * (t - 2) - 1),\n easeInCubic: t => t * t * t,\n easeOutCubic: t => (t -= 1) * t * t + 1,\n easeInOutCubic: t => ((t /= 0.5) < 1)\n ? 0.5 * t * t * t\n : 0.5 * ((t -= 2) * t * t + 2),\n easeInQuart: t => t * t * t * t,\n easeOutQuart: t => -((t -= 1) * t * t * t - 1),\n easeInOutQuart: t => ((t /= 0.5) < 1)\n ? 0.5 * t * t * t * t\n : -0.5 * ((t -= 2) * t * t * t - 2),\n easeInQuint: t => t * t * t * t * t,\n easeOutQuint: t => (t -= 1) * t * t * t * t + 1,\n easeInOutQuint: t => ((t /= 0.5) < 1)\n ? 0.5 * t * t * t * t * t\n : 0.5 * ((t -= 2) * t * t * t * t + 2),\n easeInSine: t => -Math.cos(t * HALF_PI) + 1,\n easeOutSine: t => Math.sin(t * HALF_PI),\n easeInOutSine: t => -0.5 * (Math.cos(PI * t) - 1),\n easeInExpo: t => (t === 0) ? 0 : Math.pow(2, 10 * (t - 1)),\n easeOutExpo: t => (t === 1) ? 1 : -Math.pow(2, -10 * t) + 1,\n easeInOutExpo: t => atEdge(t) ? t : t < 0.5\n ? 0.5 * Math.pow(2, 10 * (t * 2 - 1))\n : 0.5 * (-Math.pow(2, -10 * (t * 2 - 1)) + 2),\n easeInCirc: t => (t >= 1) ? t : -(Math.sqrt(1 - t * t) - 1),\n easeOutCirc: t => Math.sqrt(1 - (t -= 1) * t),\n easeInOutCirc: t => ((t /= 0.5) < 1)\n ? -0.5 * (Math.sqrt(1 - t * t) - 1)\n : 0.5 * (Math.sqrt(1 - (t -= 2) * t) + 1),\n easeInElastic: t => atEdge(t) ? t : elasticIn(t, 0.075, 0.3),\n easeOutElastic: t => atEdge(t) ? t : elasticOut(t, 0.075, 0.3),\n easeInOutElastic(t) {\n const s = 0.1125;\n const p = 0.45;\n return atEdge(t) ? t :\n t < 0.5\n ? 0.5 * elasticIn(t * 2, s, p)\n : 0.5 + 0.5 * elasticOut(t * 2 - 1, s, p);\n },\n easeInBack(t) {\n const s = 1.70158;\n return t * t * ((s + 1) * t - s);\n },\n easeOutBack(t) {\n const s = 1.70158;\n return (t -= 1) * t * ((s + 1) * t + s) + 1;\n },\n easeInOutBack(t) {\n let s = 1.70158;\n if ((t /= 0.5) < 1) {\n return 0.5 * (t * t * (((s *= (1.525)) + 1) * t - s));\n }\n return 0.5 * ((t -= 2) * t * (((s *= (1.525)) + 1) * t + s) + 2);\n },\n easeInBounce: t => 1 - effects.easeOutBounce(1 - t),\n easeOutBounce(t) {\n const m = 7.5625;\n const d = 2.75;\n if (t < (1 / d)) {\n return m * t * t;\n }\n if (t < (2 / d)) {\n return m * (t -= (1.5 / d)) * t + 0.75;\n }\n if (t < (2.5 / d)) {\n return m * (t -= (2.25 / d)) * t + 0.9375;\n }\n return m * (t -= (2.625 / d)) * t + 0.984375;\n },\n easeInOutBounce: t => (t < 0.5)\n ? effects.easeInBounce(t * 2) * 0.5\n : effects.easeOutBounce(t * 2 - 1) * 0.5 + 0.5,\n};\n\nfunction _pointInLine(p1, p2, t, mode) {\n return {\n x: p1.x + t * (p2.x - p1.x),\n y: p1.y + t * (p2.y - p1.y)\n };\n}\nfunction _steppedInterpolation(p1, p2, t, mode) {\n return {\n x: p1.x + t * (p2.x - p1.x),\n y: mode === 'middle' ? t < 0.5 ? p1.y : p2.y\n : mode === 'after' ? t < 1 ? p1.y : p2.y\n : t > 0 ? p2.y : p1.y\n };\n}\nfunction _bezierInterpolation(p1, p2, t, mode) {\n const cp1 = {x: p1.cp2x, y: p1.cp2y};\n const cp2 = {x: p2.cp1x, y: p2.cp1y};\n const a = _pointInLine(p1, cp1, t);\n const b = _pointInLine(cp1, cp2, t);\n const c = _pointInLine(cp2, p2, t);\n const d = _pointInLine(a, b, t);\n const e = _pointInLine(b, c, t);\n return _pointInLine(d, e, t);\n}\n\nconst intlCache = new Map();\nfunction getNumberFormat(locale, options) {\n options = options || {};\n const cacheKey = locale + JSON.stringify(options);\n let formatter = intlCache.get(cacheKey);\n if (!formatter) {\n formatter = new Intl.NumberFormat(locale, options);\n intlCache.set(cacheKey, formatter);\n }\n return formatter;\n}\nfunction formatNumber(num, locale, options) {\n return getNumberFormat(locale, options).format(num);\n}\n\nconst LINE_HEIGHT = new RegExp(/^(normal|(\\d+(?:\\.\\d+)?)(px|em|%)?)$/);\nconst FONT_STYLE = new RegExp(/^(normal|italic|initial|inherit|unset|(oblique( -?[0-9]?[0-9]deg)?))$/);\nfunction toLineHeight(value, size) {\n const matches = ('' + value).match(LINE_HEIGHT);\n if (!matches || matches[1] === 'normal') {\n return size * 1.2;\n }\n value = +matches[2];\n switch (matches[3]) {\n case 'px':\n return value;\n case '%':\n value /= 100;\n break;\n }\n return size * value;\n}\nconst numberOrZero = v => +v || 0;\nfunction _readValueToProps(value, props) {\n const ret = {};\n const objProps = isObject(props);\n const keys = objProps ? Object.keys(props) : props;\n const read = isObject(value)\n ? objProps\n ? prop => valueOrDefault(value[prop], value[props[prop]])\n : prop => value[prop]\n : () => value;\n for (const prop of keys) {\n ret[prop] = numberOrZero(read(prop));\n }\n return ret;\n}\nfunction toTRBL(value) {\n return _readValueToProps(value, {top: 'y', right: 'x', bottom: 'y', left: 'x'});\n}\nfunction toTRBLCorners(value) {\n return _readValueToProps(value, ['topLeft', 'topRight', 'bottomLeft', 'bottomRight']);\n}\nfunction toPadding(value) {\n const obj = toTRBL(value);\n obj.width = obj.left + obj.right;\n obj.height = obj.top + obj.bottom;\n return obj;\n}\nfunction toFont(options, fallback) {\n options = options || {};\n fallback = fallback || defaults.font;\n let size = valueOrDefault(options.size, fallback.size);\n if (typeof size === 'string') {\n size = parseInt(size, 10);\n }\n let style = valueOrDefault(options.style, fallback.style);\n if (style && !('' + style).match(FONT_STYLE)) {\n console.warn('Invalid font style specified: \"' + style + '\"');\n style = '';\n }\n const font = {\n family: valueOrDefault(options.family, fallback.family),\n lineHeight: toLineHeight(valueOrDefault(options.lineHeight, fallback.lineHeight), size),\n size,\n style,\n weight: valueOrDefault(options.weight, fallback.weight),\n string: ''\n };\n font.string = toFontString(font);\n return font;\n}\nfunction resolve(inputs, context, index, info) {\n let cacheable = true;\n let i, ilen, value;\n for (i = 0, ilen = inputs.length; i < ilen; ++i) {\n value = inputs[i];\n if (value === undefined) {\n continue;\n }\n if (context !== undefined && typeof value === 'function') {\n value = value(context);\n cacheable = false;\n }\n if (index !== undefined && isArray(value)) {\n value = value[index % value.length];\n cacheable = false;\n }\n if (value !== undefined) {\n if (info && !cacheable) {\n info.cacheable = false;\n }\n return value;\n }\n }\n}\nfunction _addGrace(minmax, grace, beginAtZero) {\n const {min, max} = minmax;\n const change = toDimension(grace, (max - min) / 2);\n const keepZero = (value, add) => beginAtZero && value === 0 ? 0 : value + add;\n return {\n min: keepZero(min, -Math.abs(change)),\n max: keepZero(max, change)\n };\n}\nfunction createContext(parentContext, context) {\n return Object.assign(Object.create(parentContext), context);\n}\n\nconst getRightToLeftAdapter = function(rectX, width) {\n return {\n x(x) {\n return rectX + rectX + width - x;\n },\n setWidth(w) {\n width = w;\n },\n textAlign(align) {\n if (align === 'center') {\n return align;\n }\n return align === 'right' ? 'left' : 'right';\n },\n xPlus(x, value) {\n return x - value;\n },\n leftForLtr(x, itemWidth) {\n return x - itemWidth;\n },\n };\n};\nconst getLeftToRightAdapter = function() {\n return {\n x(x) {\n return x;\n },\n setWidth(w) {\n },\n textAlign(align) {\n return align;\n },\n xPlus(x, value) {\n return x + value;\n },\n leftForLtr(x, _itemWidth) {\n return x;\n },\n };\n};\nfunction getRtlAdapter(rtl, rectX, width) {\n return rtl ? getRightToLeftAdapter(rectX, width) : getLeftToRightAdapter();\n}\nfunction overrideTextDirection(ctx, direction) {\n let style, original;\n if (direction === 'ltr' || direction === 'rtl') {\n style = ctx.canvas.style;\n original = [\n style.getPropertyValue('direction'),\n style.getPropertyPriority('direction'),\n ];\n style.setProperty('direction', direction, 'important');\n ctx.prevTextDirection = original;\n }\n}\nfunction restoreTextDirection(ctx, original) {\n if (original !== undefined) {\n delete ctx.prevTextDirection;\n ctx.canvas.style.setProperty('direction', original[0], original[1]);\n }\n}\n\nfunction propertyFn(property) {\n if (property === 'angle') {\n return {\n between: _angleBetween,\n compare: _angleDiff,\n normalize: _normalizeAngle,\n };\n }\n return {\n between: _isBetween,\n compare: (a, b) => a - b,\n normalize: x => x\n };\n}\nfunction normalizeSegment({start, end, count, loop, style}) {\n return {\n start: start % count,\n end: end % count,\n loop: loop && (end - start + 1) % count === 0,\n style\n };\n}\nfunction getSegment(segment, points, bounds) {\n const {property, start: startBound, end: endBound} = bounds;\n const {between, normalize} = propertyFn(property);\n const count = points.length;\n let {start, end, loop} = segment;\n let i, ilen;\n if (loop) {\n start += count;\n end += count;\n for (i = 0, ilen = count; i < ilen; ++i) {\n if (!between(normalize(points[start % count][property]), startBound, endBound)) {\n break;\n }\n start--;\n end--;\n }\n start %= count;\n end %= count;\n }\n if (end < start) {\n end += count;\n }\n return {start, end, loop, style: segment.style};\n}\nfunction _boundSegment(segment, points, bounds) {\n if (!bounds) {\n return [segment];\n }\n const {property, start: startBound, end: endBound} = bounds;\n const count = points.length;\n const {compare, between, normalize} = propertyFn(property);\n const {start, end, loop, style} = getSegment(segment, points, bounds);\n const result = [];\n let inside = false;\n let subStart = null;\n let value, point, prevValue;\n const startIsBefore = () => between(startBound, prevValue, value) && compare(startBound, prevValue) !== 0;\n const endIsBefore = () => compare(endBound, value) === 0 || between(endBound, prevValue, value);\n const shouldStart = () => inside || startIsBefore();\n const shouldStop = () => !inside || endIsBefore();\n for (let i = start, prev = start; i <= end; ++i) {\n point = points[i % count];\n if (point.skip) {\n continue;\n }\n value = normalize(point[property]);\n if (value === prevValue) {\n continue;\n }\n inside = between(value, startBound, endBound);\n if (subStart === null && shouldStart()) {\n subStart = compare(value, startBound) === 0 ? i : prev;\n }\n if (subStart !== null && shouldStop()) {\n result.push(normalizeSegment({start: subStart, end: i, loop, count, style}));\n subStart = null;\n }\n prev = i;\n prevValue = value;\n }\n if (subStart !== null) {\n result.push(normalizeSegment({start: subStart, end, loop, count, style}));\n }\n return result;\n}\nfunction _boundSegments(line, bounds) {\n const result = [];\n const segments = line.segments;\n for (let i = 0; i < segments.length; i++) {\n const sub = _boundSegment(segments[i], line.points, bounds);\n if (sub.length) {\n result.push(...sub);\n }\n }\n return result;\n}\nfunction findStartAndEnd(points, count, loop, spanGaps) {\n let start = 0;\n let end = count - 1;\n if (loop && !spanGaps) {\n while (start < count && !points[start].skip) {\n start++;\n }\n }\n while (start < count && points[start].skip) {\n start++;\n }\n start %= count;\n if (loop) {\n end += start;\n }\n while (end > start && points[end % count].skip) {\n end--;\n }\n end %= count;\n return {start, end};\n}\nfunction solidSegments(points, start, max, loop) {\n const count = points.length;\n const result = [];\n let last = start;\n let prev = points[start];\n let end;\n for (end = start + 1; end <= max; ++end) {\n const cur = points[end % count];\n if (cur.skip || cur.stop) {\n if (!prev.skip) {\n loop = false;\n result.push({start: start % count, end: (end - 1) % count, loop});\n start = last = cur.stop ? end : null;\n }\n } else {\n last = end;\n if (prev.skip) {\n start = end;\n }\n }\n prev = cur;\n }\n if (last !== null) {\n result.push({start: start % count, end: last % count, loop});\n }\n return result;\n}\nfunction _computeSegments(line, segmentOptions) {\n const points = line.points;\n const spanGaps = line.options.spanGaps;\n const count = points.length;\n if (!count) {\n return [];\n }\n const loop = !!line._loop;\n const {start, end} = findStartAndEnd(points, count, loop, spanGaps);\n if (spanGaps === true) {\n return splitByStyles(line, [{start, end, loop}], points, segmentOptions);\n }\n const max = end < start ? end + count : end;\n const completeLoop = !!line._fullLoop && start === 0 && end === count - 1;\n return splitByStyles(line, solidSegments(points, start, max, completeLoop), points, segmentOptions);\n}\nfunction splitByStyles(line, segments, points, segmentOptions) {\n if (!segmentOptions || !segmentOptions.setContext || !points) {\n return segments;\n }\n return doSplitByStyles(line, segments, points, segmentOptions);\n}\nfunction doSplitByStyles(line, segments, points, segmentOptions) {\n const chartContext = line._chart.getContext();\n const baseStyle = readStyle(line.options);\n const {_datasetIndex: datasetIndex, options: {spanGaps}} = line;\n const count = points.length;\n const result = [];\n let prevStyle = baseStyle;\n let start = segments[0].start;\n let i = start;\n function addStyle(s, e, l, st) {\n const dir = spanGaps ? -1 : 1;\n if (s === e) {\n return;\n }\n s += count;\n while (points[s % count].skip) {\n s -= dir;\n }\n while (points[e % count].skip) {\n e += dir;\n }\n if (s % count !== e % count) {\n result.push({start: s % count, end: e % count, loop: l, style: st});\n prevStyle = st;\n start = e % count;\n }\n }\n for (const segment of segments) {\n start = spanGaps ? start : segment.start;\n let prev = points[start % count];\n let style;\n for (i = start + 1; i <= segment.end; i++) {\n const pt = points[i % count];\n style = readStyle(segmentOptions.setContext(createContext(chartContext, {\n type: 'segment',\n p0: prev,\n p1: pt,\n p0DataIndex: (i - 1) % count,\n p1DataIndex: i % count,\n datasetIndex\n })));\n if (styleChanged(style, prevStyle)) {\n addStyle(start, i - 1, segment.loop, prevStyle);\n }\n prev = pt;\n prevStyle = style;\n }\n if (start < i - 1) {\n addStyle(start, i - 1, segment.loop, prevStyle);\n }\n }\n return result;\n}\nfunction readStyle(options) {\n return {\n backgroundColor: options.backgroundColor,\n borderCapStyle: options.borderCapStyle,\n borderDash: options.borderDash,\n borderDashOffset: options.borderDashOffset,\n borderJoinStyle: options.borderJoinStyle,\n borderWidth: options.borderWidth,\n borderColor: options.borderColor\n };\n}\nfunction styleChanged(style, prevStyle) {\n return prevStyle && JSON.stringify(style) !== JSON.stringify(prevStyle);\n}\n\nvar helpers = /*#__PURE__*/Object.freeze({\n__proto__: null,\neasingEffects: effects,\nisPatternOrGradient: isPatternOrGradient,\ncolor: color,\ngetHoverColor: getHoverColor,\nnoop: noop,\nuid: uid,\nisNullOrUndef: isNullOrUndef,\nisArray: isArray,\nisObject: isObject,\nisFinite: isNumberFinite,\nfiniteOrDefault: finiteOrDefault,\nvalueOrDefault: valueOrDefault,\ntoPercentage: toPercentage,\ntoDimension: toDimension,\ncallback: callback,\neach: each,\n_elementsEqual: _elementsEqual,\nclone: clone$1,\n_merger: _merger,\nmerge: merge,\nmergeIf: mergeIf,\n_mergerIf: _mergerIf,\n_deprecated: _deprecated,\nresolveObjectKey: resolveObjectKey,\n_splitKey: _splitKey,\n_capitalize: _capitalize,\ndefined: defined,\nisFunction: isFunction,\nsetsEqual: setsEqual,\n_isClickEvent: _isClickEvent,\ntoFontString: toFontString,\n_measureText: _measureText,\n_longestText: _longestText,\n_alignPixel: _alignPixel,\nclearCanvas: clearCanvas,\ndrawPoint: drawPoint,\ndrawPointLegend: drawPointLegend,\n_isPointInArea: _isPointInArea,\nclipArea: clipArea,\nunclipArea: unclipArea,\n_steppedLineTo: _steppedLineTo,\n_bezierCurveTo: _bezierCurveTo,\nrenderText: renderText,\naddRoundedRectPath: addRoundedRectPath,\n_lookup: _lookup,\n_lookupByKey: _lookupByKey,\n_rlookupByKey: _rlookupByKey,\n_filterBetween: _filterBetween,\nlistenArrayEvents: listenArrayEvents,\nunlistenArrayEvents: unlistenArrayEvents,\n_arrayUnique: _arrayUnique,\n_createResolver: _createResolver,\n_attachContext: _attachContext,\n_descriptors: _descriptors,\n_parseObjectDataRadialScale: _parseObjectDataRadialScale,\nsplineCurve: splineCurve,\nsplineCurveMonotone: splineCurveMonotone,\n_updateBezierControlPoints: _updateBezierControlPoints,\n_isDomSupported: _isDomSupported,\n_getParentNode: _getParentNode,\ngetStyle: getStyle,\ngetRelativePosition: getRelativePosition,\ngetMaximumSize: getMaximumSize,\nretinaScale: retinaScale,\nsupportsEventListenerOptions: supportsEventListenerOptions,\nreadUsedSize: readUsedSize,\nfontString: fontString,\nrequestAnimFrame: requestAnimFrame,\nthrottled: throttled,\ndebounce: debounce,\n_toLeftRightCenter: _toLeftRightCenter,\n_alignStartEnd: _alignStartEnd,\n_textX: _textX,\n_getStartAndCountOfVisiblePoints: _getStartAndCountOfVisiblePoints,\n_scaleRangesChanged: _scaleRangesChanged,\n_pointInLine: _pointInLine,\n_steppedInterpolation: _steppedInterpolation,\n_bezierInterpolation: _bezierInterpolation,\nformatNumber: formatNumber,\ntoLineHeight: toLineHeight,\n_readValueToProps: _readValueToProps,\ntoTRBL: toTRBL,\ntoTRBLCorners: toTRBLCorners,\ntoPadding: toPadding,\ntoFont: toFont,\nresolve: resolve,\n_addGrace: _addGrace,\ncreateContext: createContext,\nPI: PI,\nTAU: TAU,\nPITAU: PITAU,\nINFINITY: INFINITY,\nRAD_PER_DEG: RAD_PER_DEG,\nHALF_PI: HALF_PI,\nQUARTER_PI: QUARTER_PI,\nTWO_THIRDS_PI: TWO_THIRDS_PI,\nlog10: log10,\nsign: sign,\nniceNum: niceNum,\n_factorize: _factorize,\nisNumber: isNumber,\nalmostEquals: almostEquals,\nalmostWhole: almostWhole,\n_setMinAndMaxByKey: _setMinAndMaxByKey,\ntoRadians: toRadians,\ntoDegrees: toDegrees,\n_decimalPlaces: _decimalPlaces,\ngetAngleFromPoint: getAngleFromPoint,\ndistanceBetweenPoints: distanceBetweenPoints,\n_angleDiff: _angleDiff,\n_normalizeAngle: _normalizeAngle,\n_angleBetween: _angleBetween,\n_limitValue: _limitValue,\n_int16Range: _int16Range,\n_isBetween: _isBetween,\ngetRtlAdapter: getRtlAdapter,\noverrideTextDirection: overrideTextDirection,\nrestoreTextDirection: restoreTextDirection,\n_boundSegment: _boundSegment,\n_boundSegments: _boundSegments,\n_computeSegments: _computeSegments\n});\n\nfunction binarySearch(metaset, axis, value, intersect) {\n const {controller, data, _sorted} = metaset;\n const iScale = controller._cachedMeta.iScale;\n if (iScale && axis === iScale.axis && axis !== 'r' && _sorted && data.length) {\n const lookupMethod = iScale._reversePixels ? _rlookupByKey : _lookupByKey;\n if (!intersect) {\n return lookupMethod(data, axis, value);\n } else if (controller._sharedOptions) {\n const el = data[0];\n const range = typeof el.getRange === 'function' && el.getRange(axis);\n if (range) {\n const start = lookupMethod(data, axis, value - range);\n const end = lookupMethod(data, axis, value + range);\n return {lo: start.lo, hi: end.hi};\n }\n }\n }\n return {lo: 0, hi: data.length - 1};\n}\nfunction evaluateInteractionItems(chart, axis, position, handler, intersect) {\n const metasets = chart.getSortedVisibleDatasetMetas();\n const value = position[axis];\n for (let i = 0, ilen = metasets.length; i < ilen; ++i) {\n const {index, data} = metasets[i];\n const {lo, hi} = binarySearch(metasets[i], axis, value, intersect);\n for (let j = lo; j <= hi; ++j) {\n const element = data[j];\n if (!element.skip) {\n handler(element, index, j);\n }\n }\n }\n}\nfunction getDistanceMetricForAxis(axis) {\n const useX = axis.indexOf('x') !== -1;\n const useY = axis.indexOf('y') !== -1;\n return function(pt1, pt2) {\n const deltaX = useX ? Math.abs(pt1.x - pt2.x) : 0;\n const deltaY = useY ? Math.abs(pt1.y - pt2.y) : 0;\n return Math.sqrt(Math.pow(deltaX, 2) + Math.pow(deltaY, 2));\n };\n}\nfunction getIntersectItems(chart, position, axis, useFinalPosition, includeInvisible) {\n const items = [];\n if (!includeInvisible && !chart.isPointInArea(position)) {\n return items;\n }\n const evaluationFunc = function(element, datasetIndex, index) {\n if (!includeInvisible && !_isPointInArea(element, chart.chartArea, 0)) {\n return;\n }\n if (element.inRange(position.x, position.y, useFinalPosition)) {\n items.push({element, datasetIndex, index});\n }\n };\n evaluateInteractionItems(chart, axis, position, evaluationFunc, true);\n return items;\n}\nfunction getNearestRadialItems(chart, position, axis, useFinalPosition) {\n let items = [];\n function evaluationFunc(element, datasetIndex, index) {\n const {startAngle, endAngle} = element.getProps(['startAngle', 'endAngle'], useFinalPosition);\n const {angle} = getAngleFromPoint(element, {x: position.x, y: position.y});\n if (_angleBetween(angle, startAngle, endAngle)) {\n items.push({element, datasetIndex, index});\n }\n }\n evaluateInteractionItems(chart, axis, position, evaluationFunc);\n return items;\n}\nfunction getNearestCartesianItems(chart, position, axis, intersect, useFinalPosition, includeInvisible) {\n let items = [];\n const distanceMetric = getDistanceMetricForAxis(axis);\n let minDistance = Number.POSITIVE_INFINITY;\n function evaluationFunc(element, datasetIndex, index) {\n const inRange = element.inRange(position.x, position.y, useFinalPosition);\n if (intersect && !inRange) {\n return;\n }\n const center = element.getCenterPoint(useFinalPosition);\n const pointInArea = !!includeInvisible || chart.isPointInArea(center);\n if (!pointInArea && !inRange) {\n return;\n }\n const distance = distanceMetric(position, center);\n if (distance < minDistance) {\n items = [{element, datasetIndex, index}];\n minDistance = distance;\n } else if (distance === minDistance) {\n items.push({element, datasetIndex, index});\n }\n }\n evaluateInteractionItems(chart, axis, position, evaluationFunc);\n return items;\n}\nfunction getNearestItems(chart, position, axis, intersect, useFinalPosition, includeInvisible) {\n if (!includeInvisible && !chart.isPointInArea(position)) {\n return [];\n }\n return axis === 'r' && !intersect\n ? getNearestRadialItems(chart, position, axis, useFinalPosition)\n : getNearestCartesianItems(chart, position, axis, intersect, useFinalPosition, includeInvisible);\n}\nfunction getAxisItems(chart, position, axis, intersect, useFinalPosition) {\n const items = [];\n const rangeMethod = axis === 'x' ? 'inXRange' : 'inYRange';\n let intersectsItem = false;\n evaluateInteractionItems(chart, axis, position, (element, datasetIndex, index) => {\n if (element[rangeMethod](position[axis], useFinalPosition)) {\n items.push({element, datasetIndex, index});\n intersectsItem = intersectsItem || element.inRange(position.x, position.y, useFinalPosition);\n }\n });\n if (intersect && !intersectsItem) {\n return [];\n }\n return items;\n}\nvar Interaction = {\n evaluateInteractionItems,\n modes: {\n index(chart, e, options, useFinalPosition) {\n const position = getRelativePosition(e, chart);\n const axis = options.axis || 'x';\n const includeInvisible = options.includeInvisible || false;\n const items = options.intersect\n ? getIntersectItems(chart, position, axis, useFinalPosition, includeInvisible)\n : getNearestItems(chart, position, axis, false, useFinalPosition, includeInvisible);\n const elements = [];\n if (!items.length) {\n return [];\n }\n chart.getSortedVisibleDatasetMetas().forEach((meta) => {\n const index = items[0].index;\n const element = meta.data[index];\n if (element && !element.skip) {\n elements.push({element, datasetIndex: meta.index, index});\n }\n });\n return elements;\n },\n dataset(chart, e, options, useFinalPosition) {\n const position = getRelativePosition(e, chart);\n const axis = options.axis || 'xy';\n const includeInvisible = options.includeInvisible || false;\n let items = options.intersect\n ? getIntersectItems(chart, position, axis, useFinalPosition, includeInvisible) :\n getNearestItems(chart, position, axis, false, useFinalPosition, includeInvisible);\n if (items.length > 0) {\n const datasetIndex = items[0].datasetIndex;\n const data = chart.getDatasetMeta(datasetIndex).data;\n items = [];\n for (let i = 0; i < data.length; ++i) {\n items.push({element: data[i], datasetIndex, index: i});\n }\n }\n return items;\n },\n point(chart, e, options, useFinalPosition) {\n const position = getRelativePosition(e, chart);\n const axis = options.axis || 'xy';\n const includeInvisible = options.includeInvisible || false;\n return getIntersectItems(chart, position, axis, useFinalPosition, includeInvisible);\n },\n nearest(chart, e, options, useFinalPosition) {\n const position = getRelativePosition(e, chart);\n const axis = options.axis || 'xy';\n const includeInvisible = options.includeInvisible || false;\n return getNearestItems(chart, position, axis, options.intersect, useFinalPosition, includeInvisible);\n },\n x(chart, e, options, useFinalPosition) {\n const position = getRelativePosition(e, chart);\n return getAxisItems(chart, position, 'x', options.intersect, useFinalPosition);\n },\n y(chart, e, options, useFinalPosition) {\n const position = getRelativePosition(e, chart);\n return getAxisItems(chart, position, 'y', options.intersect, useFinalPosition);\n }\n }\n};\n\nconst STATIC_POSITIONS = ['left', 'top', 'right', 'bottom'];\nfunction filterByPosition(array, position) {\n return array.filter(v => v.pos === position);\n}\nfunction filterDynamicPositionByAxis(array, axis) {\n return array.filter(v => STATIC_POSITIONS.indexOf(v.pos) === -1 && v.box.axis === axis);\n}\nfunction sortByWeight(array, reverse) {\n return array.sort((a, b) => {\n const v0 = reverse ? b : a;\n const v1 = reverse ? a : b;\n return v0.weight === v1.weight ?\n v0.index - v1.index :\n v0.weight - v1.weight;\n });\n}\nfunction wrapBoxes(boxes) {\n const layoutBoxes = [];\n let i, ilen, box, pos, stack, stackWeight;\n for (i = 0, ilen = (boxes || []).length; i < ilen; ++i) {\n box = boxes[i];\n ({position: pos, options: {stack, stackWeight = 1}} = box);\n layoutBoxes.push({\n index: i,\n box,\n pos,\n horizontal: box.isHorizontal(),\n weight: box.weight,\n stack: stack && (pos + stack),\n stackWeight\n });\n }\n return layoutBoxes;\n}\nfunction buildStacks(layouts) {\n const stacks = {};\n for (const wrap of layouts) {\n const {stack, pos, stackWeight} = wrap;\n if (!stack || !STATIC_POSITIONS.includes(pos)) {\n continue;\n }\n const _stack = stacks[stack] || (stacks[stack] = {count: 0, placed: 0, weight: 0, size: 0});\n _stack.count++;\n _stack.weight += stackWeight;\n }\n return stacks;\n}\nfunction setLayoutDims(layouts, params) {\n const stacks = buildStacks(layouts);\n const {vBoxMaxWidth, hBoxMaxHeight} = params;\n let i, ilen, layout;\n for (i = 0, ilen = layouts.length; i < ilen; ++i) {\n layout = layouts[i];\n const {fullSize} = layout.box;\n const stack = stacks[layout.stack];\n const factor = stack && layout.stackWeight / stack.weight;\n if (layout.horizontal) {\n layout.width = factor ? factor * vBoxMaxWidth : fullSize && params.availableWidth;\n layout.height = hBoxMaxHeight;\n } else {\n layout.width = vBoxMaxWidth;\n layout.height = factor ? factor * hBoxMaxHeight : fullSize && params.availableHeight;\n }\n }\n return stacks;\n}\nfunction buildLayoutBoxes(boxes) {\n const layoutBoxes = wrapBoxes(boxes);\n const fullSize = sortByWeight(layoutBoxes.filter(wrap => wrap.box.fullSize), true);\n const left = sortByWeight(filterByPosition(layoutBoxes, 'left'), true);\n const right = sortByWeight(filterByPosition(layoutBoxes, 'right'));\n const top = sortByWeight(filterByPosition(layoutBoxes, 'top'), true);\n const bottom = sortByWeight(filterByPosition(layoutBoxes, 'bottom'));\n const centerHorizontal = filterDynamicPositionByAxis(layoutBoxes, 'x');\n const centerVertical = filterDynamicPositionByAxis(layoutBoxes, 'y');\n return {\n fullSize,\n leftAndTop: left.concat(top),\n rightAndBottom: right.concat(centerVertical).concat(bottom).concat(centerHorizontal),\n chartArea: filterByPosition(layoutBoxes, 'chartArea'),\n vertical: left.concat(right).concat(centerVertical),\n horizontal: top.concat(bottom).concat(centerHorizontal)\n };\n}\nfunction getCombinedMax(maxPadding, chartArea, a, b) {\n return Math.max(maxPadding[a], chartArea[a]) + Math.max(maxPadding[b], chartArea[b]);\n}\nfunction updateMaxPadding(maxPadding, boxPadding) {\n maxPadding.top = Math.max(maxPadding.top, boxPadding.top);\n maxPadding.left = Math.max(maxPadding.left, boxPadding.left);\n maxPadding.bottom = Math.max(maxPadding.bottom, boxPadding.bottom);\n maxPadding.right = Math.max(maxPadding.right, boxPadding.right);\n}\nfunction updateDims(chartArea, params, layout, stacks) {\n const {pos, box} = layout;\n const maxPadding = chartArea.maxPadding;\n if (!isObject(pos)) {\n if (layout.size) {\n chartArea[pos] -= layout.size;\n }\n const stack = stacks[layout.stack] || {size: 0, count: 1};\n stack.size = Math.max(stack.size, layout.horizontal ? box.height : box.width);\n layout.size = stack.size / stack.count;\n chartArea[pos] += layout.size;\n }\n if (box.getPadding) {\n updateMaxPadding(maxPadding, box.getPadding());\n }\n const newWidth = Math.max(0, params.outerWidth - getCombinedMax(maxPadding, chartArea, 'left', 'right'));\n const newHeight = Math.max(0, params.outerHeight - getCombinedMax(maxPadding, chartArea, 'top', 'bottom'));\n const widthChanged = newWidth !== chartArea.w;\n const heightChanged = newHeight !== chartArea.h;\n chartArea.w = newWidth;\n chartArea.h = newHeight;\n return layout.horizontal\n ? {same: widthChanged, other: heightChanged}\n : {same: heightChanged, other: widthChanged};\n}\nfunction handleMaxPadding(chartArea) {\n const maxPadding = chartArea.maxPadding;\n function updatePos(pos) {\n const change = Math.max(maxPadding[pos] - chartArea[pos], 0);\n chartArea[pos] += change;\n return change;\n }\n chartArea.y += updatePos('top');\n chartArea.x += updatePos('left');\n updatePos('right');\n updatePos('bottom');\n}\nfunction getMargins(horizontal, chartArea) {\n const maxPadding = chartArea.maxPadding;\n function marginForPositions(positions) {\n const margin = {left: 0, top: 0, right: 0, bottom: 0};\n positions.forEach((pos) => {\n margin[pos] = Math.max(chartArea[pos], maxPadding[pos]);\n });\n return margin;\n }\n return horizontal\n ? marginForPositions(['left', 'right'])\n : marginForPositions(['top', 'bottom']);\n}\nfunction fitBoxes(boxes, chartArea, params, stacks) {\n const refitBoxes = [];\n let i, ilen, layout, box, refit, changed;\n for (i = 0, ilen = boxes.length, refit = 0; i < ilen; ++i) {\n layout = boxes[i];\n box = layout.box;\n box.update(\n layout.width || chartArea.w,\n layout.height || chartArea.h,\n getMargins(layout.horizontal, chartArea)\n );\n const {same, other} = updateDims(chartArea, params, layout, stacks);\n refit |= same && refitBoxes.length;\n changed = changed || other;\n if (!box.fullSize) {\n refitBoxes.push(layout);\n }\n }\n return refit && fitBoxes(refitBoxes, chartArea, params, stacks) || changed;\n}\nfunction setBoxDims(box, left, top, width, height) {\n box.top = top;\n box.left = left;\n box.right = left + width;\n box.bottom = top + height;\n box.width = width;\n box.height = height;\n}\nfunction placeBoxes(boxes, chartArea, params, stacks) {\n const userPadding = params.padding;\n let {x, y} = chartArea;\n for (const layout of boxes) {\n const box = layout.box;\n const stack = stacks[layout.stack] || {count: 1, placed: 0, weight: 1};\n const weight = (layout.stackWeight / stack.weight) || 1;\n if (layout.horizontal) {\n const width = chartArea.w * weight;\n const height = stack.size || box.height;\n if (defined(stack.start)) {\n y = stack.start;\n }\n if (box.fullSize) {\n setBoxDims(box, userPadding.left, y, params.outerWidth - userPadding.right - userPadding.left, height);\n } else {\n setBoxDims(box, chartArea.left + stack.placed, y, width, height);\n }\n stack.start = y;\n stack.placed += width;\n y = box.bottom;\n } else {\n const height = chartArea.h * weight;\n const width = stack.size || box.width;\n if (defined(stack.start)) {\n x = stack.start;\n }\n if (box.fullSize) {\n setBoxDims(box, x, userPadding.top, width, params.outerHeight - userPadding.bottom - userPadding.top);\n } else {\n setBoxDims(box, x, chartArea.top + stack.placed, width, height);\n }\n stack.start = x;\n stack.placed += height;\n x = box.right;\n }\n }\n chartArea.x = x;\n chartArea.y = y;\n}\ndefaults.set('layout', {\n autoPadding: true,\n padding: {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0\n }\n});\nvar layouts = {\n addBox(chart, item) {\n if (!chart.boxes) {\n chart.boxes = [];\n }\n item.fullSize = item.fullSize || false;\n item.position = item.position || 'top';\n item.weight = item.weight || 0;\n item._layers = item._layers || function() {\n return [{\n z: 0,\n draw(chartArea) {\n item.draw(chartArea);\n }\n }];\n };\n chart.boxes.push(item);\n },\n removeBox(chart, layoutItem) {\n const index = chart.boxes ? chart.boxes.indexOf(layoutItem) : -1;\n if (index !== -1) {\n chart.boxes.splice(index, 1);\n }\n },\n configure(chart, item, options) {\n item.fullSize = options.fullSize;\n item.position = options.position;\n item.weight = options.weight;\n },\n update(chart, width, height, minPadding) {\n if (!chart) {\n return;\n }\n const padding = toPadding(chart.options.layout.padding);\n const availableWidth = Math.max(width - padding.width, 0);\n const availableHeight = Math.max(height - padding.height, 0);\n const boxes = buildLayoutBoxes(chart.boxes);\n const verticalBoxes = boxes.vertical;\n const horizontalBoxes = boxes.horizontal;\n each(chart.boxes, box => {\n if (typeof box.beforeLayout === 'function') {\n box.beforeLayout();\n }\n });\n const visibleVerticalBoxCount = verticalBoxes.reduce((total, wrap) =>\n wrap.box.options && wrap.box.options.display === false ? total : total + 1, 0) || 1;\n const params = Object.freeze({\n outerWidth: width,\n outerHeight: height,\n padding,\n availableWidth,\n availableHeight,\n vBoxMaxWidth: availableWidth / 2 / visibleVerticalBoxCount,\n hBoxMaxHeight: availableHeight / 2\n });\n const maxPadding = Object.assign({}, padding);\n updateMaxPadding(maxPadding, toPadding(minPadding));\n const chartArea = Object.assign({\n maxPadding,\n w: availableWidth,\n h: availableHeight,\n x: padding.left,\n y: padding.top\n }, padding);\n const stacks = setLayoutDims(verticalBoxes.concat(horizontalBoxes), params);\n fitBoxes(boxes.fullSize, chartArea, params, stacks);\n fitBoxes(verticalBoxes, chartArea, params, stacks);\n if (fitBoxes(horizontalBoxes, chartArea, params, stacks)) {\n fitBoxes(verticalBoxes, chartArea, params, stacks);\n }\n handleMaxPadding(chartArea);\n placeBoxes(boxes.leftAndTop, chartArea, params, stacks);\n chartArea.x += chartArea.w;\n chartArea.y += chartArea.h;\n placeBoxes(boxes.rightAndBottom, chartArea, params, stacks);\n chart.chartArea = {\n left: chartArea.left,\n top: chartArea.top,\n right: chartArea.left + chartArea.w,\n bottom: chartArea.top + chartArea.h,\n height: chartArea.h,\n width: chartArea.w,\n };\n each(boxes.chartArea, (layout) => {\n const box = layout.box;\n Object.assign(box, chart.chartArea);\n box.update(chartArea.w, chartArea.h, {left: 0, top: 0, right: 0, bottom: 0});\n });\n }\n};\n\nclass BasePlatform {\n acquireContext(canvas, aspectRatio) {}\n releaseContext(context) {\n return false;\n }\n addEventListener(chart, type, listener) {}\n removeEventListener(chart, type, listener) {}\n getDevicePixelRatio() {\n return 1;\n }\n getMaximumSize(element, width, height, aspectRatio) {\n width = Math.max(0, width || element.width);\n height = height || element.height;\n return {\n width,\n height: Math.max(0, aspectRatio ? Math.floor(width / aspectRatio) : height)\n };\n }\n isAttached(canvas) {\n return true;\n }\n updateConfig(config) {\n }\n}\n\nclass BasicPlatform extends BasePlatform {\n acquireContext(item) {\n return item && item.getContext && item.getContext('2d') || null;\n }\n updateConfig(config) {\n config.options.animation = false;\n }\n}\n\nconst EXPANDO_KEY = '$chartjs';\nconst EVENT_TYPES = {\n touchstart: 'mousedown',\n touchmove: 'mousemove',\n touchend: 'mouseup',\n pointerenter: 'mouseenter',\n pointerdown: 'mousedown',\n pointermove: 'mousemove',\n pointerup: 'mouseup',\n pointerleave: 'mouseout',\n pointerout: 'mouseout'\n};\nconst isNullOrEmpty = value => value === null || value === '';\nfunction initCanvas(canvas, aspectRatio) {\n const style = canvas.style;\n const renderHeight = canvas.getAttribute('height');\n const renderWidth = canvas.getAttribute('width');\n canvas[EXPANDO_KEY] = {\n initial: {\n height: renderHeight,\n width: renderWidth,\n style: {\n display: style.display,\n height: style.height,\n width: style.width\n }\n }\n };\n style.display = style.display || 'block';\n style.boxSizing = style.boxSizing || 'border-box';\n if (isNullOrEmpty(renderWidth)) {\n const displayWidth = readUsedSize(canvas, 'width');\n if (displayWidth !== undefined) {\n canvas.width = displayWidth;\n }\n }\n if (isNullOrEmpty(renderHeight)) {\n if (canvas.style.height === '') {\n canvas.height = canvas.width / (aspectRatio || 2);\n } else {\n const displayHeight = readUsedSize(canvas, 'height');\n if (displayHeight !== undefined) {\n canvas.height = displayHeight;\n }\n }\n }\n return canvas;\n}\nconst eventListenerOptions = supportsEventListenerOptions ? {passive: true} : false;\nfunction addListener(node, type, listener) {\n node.addEventListener(type, listener, eventListenerOptions);\n}\nfunction removeListener(chart, type, listener) {\n chart.canvas.removeEventListener(type, listener, eventListenerOptions);\n}\nfunction fromNativeEvent(event, chart) {\n const type = EVENT_TYPES[event.type] || event.type;\n const {x, y} = getRelativePosition(event, chart);\n return {\n type,\n chart,\n native: event,\n x: x !== undefined ? x : null,\n y: y !== undefined ? y : null,\n };\n}\nfunction nodeListContains(nodeList, canvas) {\n for (const node of nodeList) {\n if (node === canvas || node.contains(canvas)) {\n return true;\n }\n }\n}\nfunction createAttachObserver(chart, type, listener) {\n const canvas = chart.canvas;\n const observer = new MutationObserver(entries => {\n let trigger = false;\n for (const entry of entries) {\n trigger = trigger || nodeListContains(entry.addedNodes, canvas);\n trigger = trigger && !nodeListContains(entry.removedNodes, canvas);\n }\n if (trigger) {\n listener();\n }\n });\n observer.observe(document, {childList: true, subtree: true});\n return observer;\n}\nfunction createDetachObserver(chart, type, listener) {\n const canvas = chart.canvas;\n const observer = new MutationObserver(entries => {\n let trigger = false;\n for (const entry of entries) {\n trigger = trigger || nodeListContains(entry.removedNodes, canvas);\n trigger = trigger && !nodeListContains(entry.addedNodes, canvas);\n }\n if (trigger) {\n listener();\n }\n });\n observer.observe(document, {childList: true, subtree: true});\n return observer;\n}\nconst drpListeningCharts = new Map();\nlet oldDevicePixelRatio = 0;\nfunction onWindowResize() {\n const dpr = window.devicePixelRatio;\n if (dpr === oldDevicePixelRatio) {\n return;\n }\n oldDevicePixelRatio = dpr;\n drpListeningCharts.forEach((resize, chart) => {\n if (chart.currentDevicePixelRatio !== dpr) {\n resize();\n }\n });\n}\nfunction listenDevicePixelRatioChanges(chart, resize) {\n if (!drpListeningCharts.size) {\n window.addEventListener('resize', onWindowResize);\n }\n drpListeningCharts.set(chart, resize);\n}\nfunction unlistenDevicePixelRatioChanges(chart) {\n drpListeningCharts.delete(chart);\n if (!drpListeningCharts.size) {\n window.removeEventListener('resize', onWindowResize);\n }\n}\nfunction createResizeObserver(chart, type, listener) {\n const canvas = chart.canvas;\n const container = canvas && _getParentNode(canvas);\n if (!container) {\n return;\n }\n const resize = throttled((width, height) => {\n const w = container.clientWidth;\n listener(width, height);\n if (w < container.clientWidth) {\n listener();\n }\n }, window);\n const observer = new ResizeObserver(entries => {\n const entry = entries[0];\n const width = entry.contentRect.width;\n const height = entry.contentRect.height;\n if (width === 0 && height === 0) {\n return;\n }\n resize(width, height);\n });\n observer.observe(container);\n listenDevicePixelRatioChanges(chart, resize);\n return observer;\n}\nfunction releaseObserver(chart, type, observer) {\n if (observer) {\n observer.disconnect();\n }\n if (type === 'resize') {\n unlistenDevicePixelRatioChanges(chart);\n }\n}\nfunction createProxyAndListen(chart, type, listener) {\n const canvas = chart.canvas;\n const proxy = throttled((event) => {\n if (chart.ctx !== null) {\n listener(fromNativeEvent(event, chart));\n }\n }, chart, (args) => {\n const event = args[0];\n return [event, event.offsetX, event.offsetY];\n });\n addListener(canvas, type, proxy);\n return proxy;\n}\nclass DomPlatform extends BasePlatform {\n acquireContext(canvas, aspectRatio) {\n const context = canvas && canvas.getContext && canvas.getContext('2d');\n if (context && context.canvas === canvas) {\n initCanvas(canvas, aspectRatio);\n return context;\n }\n return null;\n }\n releaseContext(context) {\n const canvas = context.canvas;\n if (!canvas[EXPANDO_KEY]) {\n return false;\n }\n const initial = canvas[EXPANDO_KEY].initial;\n ['height', 'width'].forEach((prop) => {\n const value = initial[prop];\n if (isNullOrUndef(value)) {\n canvas.removeAttribute(prop);\n } else {\n canvas.setAttribute(prop, value);\n }\n });\n const style = initial.style || {};\n Object.keys(style).forEach((key) => {\n canvas.style[key] = style[key];\n });\n canvas.width = canvas.width;\n delete canvas[EXPANDO_KEY];\n return true;\n }\n addEventListener(chart, type, listener) {\n this.removeEventListener(chart, type);\n const proxies = chart.$proxies || (chart.$proxies = {});\n const handlers = {\n attach: createAttachObserver,\n detach: createDetachObserver,\n resize: createResizeObserver\n };\n const handler = handlers[type] || createProxyAndListen;\n proxies[type] = handler(chart, type, listener);\n }\n removeEventListener(chart, type) {\n const proxies = chart.$proxies || (chart.$proxies = {});\n const proxy = proxies[type];\n if (!proxy) {\n return;\n }\n const handlers = {\n attach: releaseObserver,\n detach: releaseObserver,\n resize: releaseObserver\n };\n const handler = handlers[type] || removeListener;\n handler(chart, type, proxy);\n proxies[type] = undefined;\n }\n getDevicePixelRatio() {\n return window.devicePixelRatio;\n }\n getMaximumSize(canvas, width, height, aspectRatio) {\n return getMaximumSize(canvas, width, height, aspectRatio);\n }\n isAttached(canvas) {\n const container = _getParentNode(canvas);\n return !!(container && container.isConnected);\n }\n}\n\nfunction _detectPlatform(canvas) {\n if (!_isDomSupported() || (typeof OffscreenCanvas !== 'undefined' && canvas instanceof OffscreenCanvas)) {\n return BasicPlatform;\n }\n return DomPlatform;\n}\n\nvar platforms = /*#__PURE__*/Object.freeze({\n__proto__: null,\n_detectPlatform: _detectPlatform,\nBasePlatform: BasePlatform,\nBasicPlatform: BasicPlatform,\nDomPlatform: DomPlatform\n});\n\nconst transparent = 'transparent';\nconst interpolators = {\n boolean(from, to, factor) {\n return factor > 0.5 ? to : from;\n },\n color(from, to, factor) {\n const c0 = color(from || transparent);\n const c1 = c0.valid && color(to || transparent);\n return c1 && c1.valid\n ? c1.mix(c0, factor).hexString()\n : to;\n },\n number(from, to, factor) {\n return from + (to - from) * factor;\n }\n};\nclass Animation {\n constructor(cfg, target, prop, to) {\n const currentValue = target[prop];\n to = resolve([cfg.to, to, currentValue, cfg.from]);\n const from = resolve([cfg.from, currentValue, to]);\n this._active = true;\n this._fn = cfg.fn || interpolators[cfg.type || typeof from];\n this._easing = effects[cfg.easing] || effects.linear;\n this._start = Math.floor(Date.now() + (cfg.delay || 0));\n this._duration = this._total = Math.floor(cfg.duration);\n this._loop = !!cfg.loop;\n this._target = target;\n this._prop = prop;\n this._from = from;\n this._to = to;\n this._promises = undefined;\n }\n active() {\n return this._active;\n }\n update(cfg, to, date) {\n if (this._active) {\n this._notify(false);\n const currentValue = this._target[this._prop];\n const elapsed = date - this._start;\n const remain = this._duration - elapsed;\n this._start = date;\n this._duration = Math.floor(Math.max(remain, cfg.duration));\n this._total += elapsed;\n this._loop = !!cfg.loop;\n this._to = resolve([cfg.to, to, currentValue, cfg.from]);\n this._from = resolve([cfg.from, currentValue, to]);\n }\n }\n cancel() {\n if (this._active) {\n this.tick(Date.now());\n this._active = false;\n this._notify(false);\n }\n }\n tick(date) {\n const elapsed = date - this._start;\n const duration = this._duration;\n const prop = this._prop;\n const from = this._from;\n const loop = this._loop;\n const to = this._to;\n let factor;\n this._active = from !== to && (loop || (elapsed < duration));\n if (!this._active) {\n this._target[prop] = to;\n this._notify(true);\n return;\n }\n if (elapsed < 0) {\n this._target[prop] = from;\n return;\n }\n factor = (elapsed / duration) % 2;\n factor = loop && factor > 1 ? 2 - factor : factor;\n factor = this._easing(Math.min(1, Math.max(0, factor)));\n this._target[prop] = this._fn(from, to, factor);\n }\n wait() {\n const promises = this._promises || (this._promises = []);\n return new Promise((res, rej) => {\n promises.push({res, rej});\n });\n }\n _notify(resolved) {\n const method = resolved ? 'res' : 'rej';\n const promises = this._promises || [];\n for (let i = 0; i < promises.length; i++) {\n promises[i][method]();\n }\n }\n}\n\nconst numbers = ['x', 'y', 'borderWidth', 'radius', 'tension'];\nconst colors = ['color', 'borderColor', 'backgroundColor'];\ndefaults.set('animation', {\n delay: undefined,\n duration: 1000,\n easing: 'easeOutQuart',\n fn: undefined,\n from: undefined,\n loop: undefined,\n to: undefined,\n type: undefined,\n});\nconst animationOptions = Object.keys(defaults.animation);\ndefaults.describe('animation', {\n _fallback: false,\n _indexable: false,\n _scriptable: (name) => name !== 'onProgress' && name !== 'onComplete' && name !== 'fn',\n});\ndefaults.set('animations', {\n colors: {\n type: 'color',\n properties: colors\n },\n numbers: {\n type: 'number',\n properties: numbers\n },\n});\ndefaults.describe('animations', {\n _fallback: 'animation',\n});\ndefaults.set('transitions', {\n active: {\n animation: {\n duration: 400\n }\n },\n resize: {\n animation: {\n duration: 0\n }\n },\n show: {\n animations: {\n colors: {\n from: 'transparent'\n },\n visible: {\n type: 'boolean',\n duration: 0\n },\n }\n },\n hide: {\n animations: {\n colors: {\n to: 'transparent'\n },\n visible: {\n type: 'boolean',\n easing: 'linear',\n fn: v => v | 0\n },\n }\n }\n});\nclass Animations {\n constructor(chart, config) {\n this._chart = chart;\n this._properties = new Map();\n this.configure(config);\n }\n configure(config) {\n if (!isObject(config)) {\n return;\n }\n const animatedProps = this._properties;\n Object.getOwnPropertyNames(config).forEach(key => {\n const cfg = config[key];\n if (!isObject(cfg)) {\n return;\n }\n const resolved = {};\n for (const option of animationOptions) {\n resolved[option] = cfg[option];\n }\n (isArray(cfg.properties) && cfg.properties || [key]).forEach((prop) => {\n if (prop === key || !animatedProps.has(prop)) {\n animatedProps.set(prop, resolved);\n }\n });\n });\n }\n _animateOptions(target, values) {\n const newOptions = values.options;\n const options = resolveTargetOptions(target, newOptions);\n if (!options) {\n return [];\n }\n const animations = this._createAnimations(options, newOptions);\n if (newOptions.$shared) {\n awaitAll(target.options.$animations, newOptions).then(() => {\n target.options = newOptions;\n }, () => {\n });\n }\n return animations;\n }\n _createAnimations(target, values) {\n const animatedProps = this._properties;\n const animations = [];\n const running = target.$animations || (target.$animations = {});\n const props = Object.keys(values);\n const date = Date.now();\n let i;\n for (i = props.length - 1; i >= 0; --i) {\n const prop = props[i];\n if (prop.charAt(0) === '$') {\n continue;\n }\n if (prop === 'options') {\n animations.push(...this._animateOptions(target, values));\n continue;\n }\n const value = values[prop];\n let animation = running[prop];\n const cfg = animatedProps.get(prop);\n if (animation) {\n if (cfg && animation.active()) {\n animation.update(cfg, value, date);\n continue;\n } else {\n animation.cancel();\n }\n }\n if (!cfg || !cfg.duration) {\n target[prop] = value;\n continue;\n }\n running[prop] = animation = new Animation(cfg, target, prop, value);\n animations.push(animation);\n }\n return animations;\n }\n update(target, values) {\n if (this._properties.size === 0) {\n Object.assign(target, values);\n return;\n }\n const animations = this._createAnimations(target, values);\n if (animations.length) {\n animator.add(this._chart, animations);\n return true;\n }\n }\n}\nfunction awaitAll(animations, properties) {\n const running = [];\n const keys = Object.keys(properties);\n for (let i = 0; i < keys.length; i++) {\n const anim = animations[keys[i]];\n if (anim && anim.active()) {\n running.push(anim.wait());\n }\n }\n return Promise.all(running);\n}\nfunction resolveTargetOptions(target, newOptions) {\n if (!newOptions) {\n return;\n }\n let options = target.options;\n if (!options) {\n target.options = newOptions;\n return;\n }\n if (options.$shared) {\n target.options = options = Object.assign({}, options, {$shared: false, $animations: {}});\n }\n return options;\n}\n\nfunction scaleClip(scale, allowedOverflow) {\n const opts = scale && scale.options || {};\n const reverse = opts.reverse;\n const min = opts.min === undefined ? allowedOverflow : 0;\n const max = opts.max === undefined ? allowedOverflow : 0;\n return {\n start: reverse ? max : min,\n end: reverse ? min : max\n };\n}\nfunction defaultClip(xScale, yScale, allowedOverflow) {\n if (allowedOverflow === false) {\n return false;\n }\n const x = scaleClip(xScale, allowedOverflow);\n const y = scaleClip(yScale, allowedOverflow);\n return {\n top: y.end,\n right: x.end,\n bottom: y.start,\n left: x.start\n };\n}\nfunction toClip(value) {\n let t, r, b, l;\n if (isObject(value)) {\n t = value.top;\n r = value.right;\n b = value.bottom;\n l = value.left;\n } else {\n t = r = b = l = value;\n }\n return {\n top: t,\n right: r,\n bottom: b,\n left: l,\n disabled: value === false\n };\n}\nfunction getSortedDatasetIndices(chart, filterVisible) {\n const keys = [];\n const metasets = chart._getSortedDatasetMetas(filterVisible);\n let i, ilen;\n for (i = 0, ilen = metasets.length; i < ilen; ++i) {\n keys.push(metasets[i].index);\n }\n return keys;\n}\nfunction applyStack(stack, value, dsIndex, options = {}) {\n const keys = stack.keys;\n const singleMode = options.mode === 'single';\n let i, ilen, datasetIndex, otherValue;\n if (value === null) {\n return;\n }\n for (i = 0, ilen = keys.length; i < ilen; ++i) {\n datasetIndex = +keys[i];\n if (datasetIndex === dsIndex) {\n if (options.all) {\n continue;\n }\n break;\n }\n otherValue = stack.values[datasetIndex];\n if (isNumberFinite(otherValue) && (singleMode || (value === 0 || sign(value) === sign(otherValue)))) {\n value += otherValue;\n }\n }\n return value;\n}\nfunction convertObjectDataToArray(data) {\n const keys = Object.keys(data);\n const adata = new Array(keys.length);\n let i, ilen, key;\n for (i = 0, ilen = keys.length; i < ilen; ++i) {\n key = keys[i];\n adata[i] = {\n x: key,\n y: data[key]\n };\n }\n return adata;\n}\nfunction isStacked(scale, meta) {\n const stacked = scale && scale.options.stacked;\n return stacked || (stacked === undefined && meta.stack !== undefined);\n}\nfunction getStackKey(indexScale, valueScale, meta) {\n return `${indexScale.id}.${valueScale.id}.${meta.stack || meta.type}`;\n}\nfunction getUserBounds(scale) {\n const {min, max, minDefined, maxDefined} = scale.getUserBounds();\n return {\n min: minDefined ? min : Number.NEGATIVE_INFINITY,\n max: maxDefined ? max : Number.POSITIVE_INFINITY\n };\n}\nfunction getOrCreateStack(stacks, stackKey, indexValue) {\n const subStack = stacks[stackKey] || (stacks[stackKey] = {});\n return subStack[indexValue] || (subStack[indexValue] = {});\n}\nfunction getLastIndexInStack(stack, vScale, positive, type) {\n for (const meta of vScale.getMatchingVisibleMetas(type).reverse()) {\n const value = stack[meta.index];\n if ((positive && value > 0) || (!positive && value < 0)) {\n return meta.index;\n }\n }\n return null;\n}\nfunction updateStacks(controller, parsed) {\n const {chart, _cachedMeta: meta} = controller;\n const stacks = chart._stacks || (chart._stacks = {});\n const {iScale, vScale, index: datasetIndex} = meta;\n const iAxis = iScale.axis;\n const vAxis = vScale.axis;\n const key = getStackKey(iScale, vScale, meta);\n const ilen = parsed.length;\n let stack;\n for (let i = 0; i < ilen; ++i) {\n const item = parsed[i];\n const {[iAxis]: index, [vAxis]: value} = item;\n const itemStacks = item._stacks || (item._stacks = {});\n stack = itemStacks[vAxis] = getOrCreateStack(stacks, key, index);\n stack[datasetIndex] = value;\n stack._top = getLastIndexInStack(stack, vScale, true, meta.type);\n stack._bottom = getLastIndexInStack(stack, vScale, false, meta.type);\n }\n}\nfunction getFirstScaleId(chart, axis) {\n const scales = chart.scales;\n return Object.keys(scales).filter(key => scales[key].axis === axis).shift();\n}\nfunction createDatasetContext(parent, index) {\n return createContext(parent,\n {\n active: false,\n dataset: undefined,\n datasetIndex: index,\n index,\n mode: 'default',\n type: 'dataset'\n }\n );\n}\nfunction createDataContext(parent, index, element) {\n return createContext(parent, {\n active: false,\n dataIndex: index,\n parsed: undefined,\n raw: undefined,\n element,\n index,\n mode: 'default',\n type: 'data'\n });\n}\nfunction clearStacks(meta, items) {\n const datasetIndex = meta.controller.index;\n const axis = meta.vScale && meta.vScale.axis;\n if (!axis) {\n return;\n }\n items = items || meta._parsed;\n for (const parsed of items) {\n const stacks = parsed._stacks;\n if (!stacks || stacks[axis] === undefined || stacks[axis][datasetIndex] === undefined) {\n return;\n }\n delete stacks[axis][datasetIndex];\n }\n}\nconst isDirectUpdateMode = (mode) => mode === 'reset' || mode === 'none';\nconst cloneIfNotShared = (cached, shared) => shared ? cached : Object.assign({}, cached);\nconst createStack = (canStack, meta, chart) => canStack && !meta.hidden && meta._stacked\n && {keys: getSortedDatasetIndices(chart, true), values: null};\nclass DatasetController {\n constructor(chart, datasetIndex) {\n this.chart = chart;\n this._ctx = chart.ctx;\n this.index = datasetIndex;\n this._cachedDataOpts = {};\n this._cachedMeta = this.getMeta();\n this._type = this._cachedMeta.type;\n this.options = undefined;\n this._parsing = false;\n this._data = undefined;\n this._objectData = undefined;\n this._sharedOptions = undefined;\n this._drawStart = undefined;\n this._drawCount = undefined;\n this.enableOptionSharing = false;\n this.supportsDecimation = false;\n this.$context = undefined;\n this._syncList = [];\n this.initialize();\n }\n initialize() {\n const meta = this._cachedMeta;\n this.configure();\n this.linkScales();\n meta._stacked = isStacked(meta.vScale, meta);\n this.addElements();\n }\n updateIndex(datasetIndex) {\n if (this.index !== datasetIndex) {\n clearStacks(this._cachedMeta);\n }\n this.index = datasetIndex;\n }\n linkScales() {\n const chart = this.chart;\n const meta = this._cachedMeta;\n const dataset = this.getDataset();\n const chooseId = (axis, x, y, r) => axis === 'x' ? x : axis === 'r' ? r : y;\n const xid = meta.xAxisID = valueOrDefault(dataset.xAxisID, getFirstScaleId(chart, 'x'));\n const yid = meta.yAxisID = valueOrDefault(dataset.yAxisID, getFirstScaleId(chart, 'y'));\n const rid = meta.rAxisID = valueOrDefault(dataset.rAxisID, getFirstScaleId(chart, 'r'));\n const indexAxis = meta.indexAxis;\n const iid = meta.iAxisID = chooseId(indexAxis, xid, yid, rid);\n const vid = meta.vAxisID = chooseId(indexAxis, yid, xid, rid);\n meta.xScale = this.getScaleForId(xid);\n meta.yScale = this.getScaleForId(yid);\n meta.rScale = this.getScaleForId(rid);\n meta.iScale = this.getScaleForId(iid);\n meta.vScale = this.getScaleForId(vid);\n }\n getDataset() {\n return this.chart.data.datasets[this.index];\n }\n getMeta() {\n return this.chart.getDatasetMeta(this.index);\n }\n getScaleForId(scaleID) {\n return this.chart.scales[scaleID];\n }\n _getOtherScale(scale) {\n const meta = this._cachedMeta;\n return scale === meta.iScale\n ? meta.vScale\n : meta.iScale;\n }\n reset() {\n this._update('reset');\n }\n _destroy() {\n const meta = this._cachedMeta;\n if (this._data) {\n unlistenArrayEvents(this._data, this);\n }\n if (meta._stacked) {\n clearStacks(meta);\n }\n }\n _dataCheck() {\n const dataset = this.getDataset();\n const data = dataset.data || (dataset.data = []);\n const _data = this._data;\n if (isObject(data)) {\n this._data = convertObjectDataToArray(data);\n } else if (_data !== data) {\n if (_data) {\n unlistenArrayEvents(_data, this);\n const meta = this._cachedMeta;\n clearStacks(meta);\n meta._parsed = [];\n }\n if (data && Object.isExtensible(data)) {\n listenArrayEvents(data, this);\n }\n this._syncList = [];\n this._data = data;\n }\n }\n addElements() {\n const meta = this._cachedMeta;\n this._dataCheck();\n if (this.datasetElementType) {\n meta.dataset = new this.datasetElementType();\n }\n }\n buildOrUpdateElements(resetNewElements) {\n const meta = this._cachedMeta;\n const dataset = this.getDataset();\n let stackChanged = false;\n this._dataCheck();\n const oldStacked = meta._stacked;\n meta._stacked = isStacked(meta.vScale, meta);\n if (meta.stack !== dataset.stack) {\n stackChanged = true;\n clearStacks(meta);\n meta.stack = dataset.stack;\n }\n this._resyncElements(resetNewElements);\n if (stackChanged || oldStacked !== meta._stacked) {\n updateStacks(this, meta._parsed);\n }\n }\n configure() {\n const config = this.chart.config;\n const scopeKeys = config.datasetScopeKeys(this._type);\n const scopes = config.getOptionScopes(this.getDataset(), scopeKeys, true);\n this.options = config.createResolver(scopes, this.getContext());\n this._parsing = this.options.parsing;\n this._cachedDataOpts = {};\n }\n parse(start, count) {\n const {_cachedMeta: meta, _data: data} = this;\n const {iScale, _stacked} = meta;\n const iAxis = iScale.axis;\n let sorted = start === 0 && count === data.length ? true : meta._sorted;\n let prev = start > 0 && meta._parsed[start - 1];\n let i, cur, parsed;\n if (this._parsing === false) {\n meta._parsed = data;\n meta._sorted = true;\n parsed = data;\n } else {\n if (isArray(data[start])) {\n parsed = this.parseArrayData(meta, data, start, count);\n } else if (isObject(data[start])) {\n parsed = this.parseObjectData(meta, data, start, count);\n } else {\n parsed = this.parsePrimitiveData(meta, data, start, count);\n }\n const isNotInOrderComparedToPrev = () => cur[iAxis] === null || (prev && cur[iAxis] < prev[iAxis]);\n for (i = 0; i < count; ++i) {\n meta._parsed[i + start] = cur = parsed[i];\n if (sorted) {\n if (isNotInOrderComparedToPrev()) {\n sorted = false;\n }\n prev = cur;\n }\n }\n meta._sorted = sorted;\n }\n if (_stacked) {\n updateStacks(this, parsed);\n }\n }\n parsePrimitiveData(meta, data, start, count) {\n const {iScale, vScale} = meta;\n const iAxis = iScale.axis;\n const vAxis = vScale.axis;\n const labels = iScale.getLabels();\n const singleScale = iScale === vScale;\n const parsed = new Array(count);\n let i, ilen, index;\n for (i = 0, ilen = count; i < ilen; ++i) {\n index = i + start;\n parsed[i] = {\n [iAxis]: singleScale || iScale.parse(labels[index], index),\n [vAxis]: vScale.parse(data[index], index)\n };\n }\n return parsed;\n }\n parseArrayData(meta, data, start, count) {\n const {xScale, yScale} = meta;\n const parsed = new Array(count);\n let i, ilen, index, item;\n for (i = 0, ilen = count; i < ilen; ++i) {\n index = i + start;\n item = data[index];\n parsed[i] = {\n x: xScale.parse(item[0], index),\n y: yScale.parse(item[1], index)\n };\n }\n return parsed;\n }\n parseObjectData(meta, data, start, count) {\n const {xScale, yScale} = meta;\n const {xAxisKey = 'x', yAxisKey = 'y'} = this._parsing;\n const parsed = new Array(count);\n let i, ilen, index, item;\n for (i = 0, ilen = count; i < ilen; ++i) {\n index = i + start;\n item = data[index];\n parsed[i] = {\n x: xScale.parse(resolveObjectKey(item, xAxisKey), index),\n y: yScale.parse(resolveObjectKey(item, yAxisKey), index)\n };\n }\n return parsed;\n }\n getParsed(index) {\n return this._cachedMeta._parsed[index];\n }\n getDataElement(index) {\n return this._cachedMeta.data[index];\n }\n applyStack(scale, parsed, mode) {\n const chart = this.chart;\n const meta = this._cachedMeta;\n const value = parsed[scale.axis];\n const stack = {\n keys: getSortedDatasetIndices(chart, true),\n values: parsed._stacks[scale.axis]\n };\n return applyStack(stack, value, meta.index, {mode});\n }\n updateRangeFromParsed(range, scale, parsed, stack) {\n const parsedValue = parsed[scale.axis];\n let value = parsedValue === null ? NaN : parsedValue;\n const values = stack && parsed._stacks[scale.axis];\n if (stack && values) {\n stack.values = values;\n value = applyStack(stack, parsedValue, this._cachedMeta.index);\n }\n range.min = Math.min(range.min, value);\n range.max = Math.max(range.max, value);\n }\n getMinMax(scale, canStack) {\n const meta = this._cachedMeta;\n const _parsed = meta._parsed;\n const sorted = meta._sorted && scale === meta.iScale;\n const ilen = _parsed.length;\n const otherScale = this._getOtherScale(scale);\n const stack = createStack(canStack, meta, this.chart);\n const range = {min: Number.POSITIVE_INFINITY, max: Number.NEGATIVE_INFINITY};\n const {min: otherMin, max: otherMax} = getUserBounds(otherScale);\n let i, parsed;\n function _skip() {\n parsed = _parsed[i];\n const otherValue = parsed[otherScale.axis];\n return !isNumberFinite(parsed[scale.axis]) || otherMin > otherValue || otherMax < otherValue;\n }\n for (i = 0; i < ilen; ++i) {\n if (_skip()) {\n continue;\n }\n this.updateRangeFromParsed(range, scale, parsed, stack);\n if (sorted) {\n break;\n }\n }\n if (sorted) {\n for (i = ilen - 1; i >= 0; --i) {\n if (_skip()) {\n continue;\n }\n this.updateRangeFromParsed(range, scale, parsed, stack);\n break;\n }\n }\n return range;\n }\n getAllParsedValues(scale) {\n const parsed = this._cachedMeta._parsed;\n const values = [];\n let i, ilen, value;\n for (i = 0, ilen = parsed.length; i < ilen; ++i) {\n value = parsed[i][scale.axis];\n if (isNumberFinite(value)) {\n values.push(value);\n }\n }\n return values;\n }\n getMaxOverflow() {\n return false;\n }\n getLabelAndValue(index) {\n const meta = this._cachedMeta;\n const iScale = meta.iScale;\n const vScale = meta.vScale;\n const parsed = this.getParsed(index);\n return {\n label: iScale ? '' + iScale.getLabelForValue(parsed[iScale.axis]) : '',\n value: vScale ? '' + vScale.getLabelForValue(parsed[vScale.axis]) : ''\n };\n }\n _update(mode) {\n const meta = this._cachedMeta;\n this.update(mode || 'default');\n meta._clip = toClip(valueOrDefault(this.options.clip, defaultClip(meta.xScale, meta.yScale, this.getMaxOverflow())));\n }\n update(mode) {}\n draw() {\n const ctx = this._ctx;\n const chart = this.chart;\n const meta = this._cachedMeta;\n const elements = meta.data || [];\n const area = chart.chartArea;\n const active = [];\n const start = this._drawStart || 0;\n const count = this._drawCount || (elements.length - start);\n const drawActiveElementsOnTop = this.options.drawActiveElementsOnTop;\n let i;\n if (meta.dataset) {\n meta.dataset.draw(ctx, area, start, count);\n }\n for (i = start; i < start + count; ++i) {\n const element = elements[i];\n if (element.hidden) {\n continue;\n }\n if (element.active && drawActiveElementsOnTop) {\n active.push(element);\n } else {\n element.draw(ctx, area);\n }\n }\n for (i = 0; i < active.length; ++i) {\n active[i].draw(ctx, area);\n }\n }\n getStyle(index, active) {\n const mode = active ? 'active' : 'default';\n return index === undefined && this._cachedMeta.dataset\n ? this.resolveDatasetElementOptions(mode)\n : this.resolveDataElementOptions(index || 0, mode);\n }\n getContext(index, active, mode) {\n const dataset = this.getDataset();\n let context;\n if (index >= 0 && index < this._cachedMeta.data.length) {\n const element = this._cachedMeta.data[index];\n context = element.$context ||\n (element.$context = createDataContext(this.getContext(), index, element));\n context.parsed = this.getParsed(index);\n context.raw = dataset.data[index];\n context.index = context.dataIndex = index;\n } else {\n context = this.$context ||\n (this.$context = createDatasetContext(this.chart.getContext(), this.index));\n context.dataset = dataset;\n context.index = context.datasetIndex = this.index;\n }\n context.active = !!active;\n context.mode = mode;\n return context;\n }\n resolveDatasetElementOptions(mode) {\n return this._resolveElementOptions(this.datasetElementType.id, mode);\n }\n resolveDataElementOptions(index, mode) {\n return this._resolveElementOptions(this.dataElementType.id, mode, index);\n }\n _resolveElementOptions(elementType, mode = 'default', index) {\n const active = mode === 'active';\n const cache = this._cachedDataOpts;\n const cacheKey = elementType + '-' + mode;\n const cached = cache[cacheKey];\n const sharing = this.enableOptionSharing && defined(index);\n if (cached) {\n return cloneIfNotShared(cached, sharing);\n }\n const config = this.chart.config;\n const scopeKeys = config.datasetElementScopeKeys(this._type, elementType);\n const prefixes = active ? [`${elementType}Hover`, 'hover', elementType, ''] : [elementType, ''];\n const scopes = config.getOptionScopes(this.getDataset(), scopeKeys);\n const names = Object.keys(defaults.elements[elementType]);\n const context = () => this.getContext(index, active);\n const values = config.resolveNamedOptions(scopes, names, context, prefixes);\n if (values.$shared) {\n values.$shared = sharing;\n cache[cacheKey] = Object.freeze(cloneIfNotShared(values, sharing));\n }\n return values;\n }\n _resolveAnimations(index, transition, active) {\n const chart = this.chart;\n const cache = this._cachedDataOpts;\n const cacheKey = `animation-${transition}`;\n const cached = cache[cacheKey];\n if (cached) {\n return cached;\n }\n let options;\n if (chart.options.animation !== false) {\n const config = this.chart.config;\n const scopeKeys = config.datasetAnimationScopeKeys(this._type, transition);\n const scopes = config.getOptionScopes(this.getDataset(), scopeKeys);\n options = config.createResolver(scopes, this.getContext(index, active, transition));\n }\n const animations = new Animations(chart, options && options.animations);\n if (options && options._cacheable) {\n cache[cacheKey] = Object.freeze(animations);\n }\n return animations;\n }\n getSharedOptions(options) {\n if (!options.$shared) {\n return;\n }\n return this._sharedOptions || (this._sharedOptions = Object.assign({}, options));\n }\n includeOptions(mode, sharedOptions) {\n return !sharedOptions || isDirectUpdateMode(mode) || this.chart._animationsDisabled;\n }\n _getSharedOptions(start, mode) {\n const firstOpts = this.resolveDataElementOptions(start, mode);\n const previouslySharedOptions = this._sharedOptions;\n const sharedOptions = this.getSharedOptions(firstOpts);\n const includeOptions = this.includeOptions(mode, sharedOptions) || (sharedOptions !== previouslySharedOptions);\n this.updateSharedOptions(sharedOptions, mode, firstOpts);\n return {sharedOptions, includeOptions};\n }\n updateElement(element, index, properties, mode) {\n if (isDirectUpdateMode(mode)) {\n Object.assign(element, properties);\n } else {\n this._resolveAnimations(index, mode).update(element, properties);\n }\n }\n updateSharedOptions(sharedOptions, mode, newOptions) {\n if (sharedOptions && !isDirectUpdateMode(mode)) {\n this._resolveAnimations(undefined, mode).update(sharedOptions, newOptions);\n }\n }\n _setStyle(element, index, mode, active) {\n element.active = active;\n const options = this.getStyle(index, active);\n this._resolveAnimations(index, mode, active).update(element, {\n options: (!active && this.getSharedOptions(options)) || options\n });\n }\n removeHoverStyle(element, datasetIndex, index) {\n this._setStyle(element, index, 'active', false);\n }\n setHoverStyle(element, datasetIndex, index) {\n this._setStyle(element, index, 'active', true);\n }\n _removeDatasetHoverStyle() {\n const element = this._cachedMeta.dataset;\n if (element) {\n this._setStyle(element, undefined, 'active', false);\n }\n }\n _setDatasetHoverStyle() {\n const element = this._cachedMeta.dataset;\n if (element) {\n this._setStyle(element, undefined, 'active', true);\n }\n }\n _resyncElements(resetNewElements) {\n const data = this._data;\n const elements = this._cachedMeta.data;\n for (const [method, arg1, arg2] of this._syncList) {\n this[method](arg1, arg2);\n }\n this._syncList = [];\n const numMeta = elements.length;\n const numData = data.length;\n const count = Math.min(numData, numMeta);\n if (count) {\n this.parse(0, count);\n }\n if (numData > numMeta) {\n this._insertElements(numMeta, numData - numMeta, resetNewElements);\n } else if (numData < numMeta) {\n this._removeElements(numData, numMeta - numData);\n }\n }\n _insertElements(start, count, resetNewElements = true) {\n const meta = this._cachedMeta;\n const data = meta.data;\n const end = start + count;\n let i;\n const move = (arr) => {\n arr.length += count;\n for (i = arr.length - 1; i >= end; i--) {\n arr[i] = arr[i - count];\n }\n };\n move(data);\n for (i = start; i < end; ++i) {\n data[i] = new this.dataElementType();\n }\n if (this._parsing) {\n move(meta._parsed);\n }\n this.parse(start, count);\n if (resetNewElements) {\n this.updateElements(data, start, count, 'reset');\n }\n }\n updateElements(element, start, count, mode) {}\n _removeElements(start, count) {\n const meta = this._cachedMeta;\n if (this._parsing) {\n const removed = meta._parsed.splice(start, count);\n if (meta._stacked) {\n clearStacks(meta, removed);\n }\n }\n meta.data.splice(start, count);\n }\n _sync(args) {\n if (this._parsing) {\n this._syncList.push(args);\n } else {\n const [method, arg1, arg2] = args;\n this[method](arg1, arg2);\n }\n this.chart._dataChanges.push([this.index, ...args]);\n }\n _onDataPush() {\n const count = arguments.length;\n this._sync(['_insertElements', this.getDataset().data.length - count, count]);\n }\n _onDataPop() {\n this._sync(['_removeElements', this._cachedMeta.data.length - 1, 1]);\n }\n _onDataShift() {\n this._sync(['_removeElements', 0, 1]);\n }\n _onDataSplice(start, count) {\n if (count) {\n this._sync(['_removeElements', start, count]);\n }\n const newCount = arguments.length - 2;\n if (newCount) {\n this._sync(['_insertElements', start, newCount]);\n }\n }\n _onDataUnshift() {\n this._sync(['_insertElements', 0, arguments.length]);\n }\n}\nDatasetController.defaults = {};\nDatasetController.prototype.datasetElementType = null;\nDatasetController.prototype.dataElementType = null;\n\nclass Element {\n constructor() {\n this.x = undefined;\n this.y = undefined;\n this.active = false;\n this.options = undefined;\n this.$animations = undefined;\n }\n tooltipPosition(useFinalPosition) {\n const {x, y} = this.getProps(['x', 'y'], useFinalPosition);\n return {x, y};\n }\n hasValue() {\n return isNumber(this.x) && isNumber(this.y);\n }\n getProps(props, final) {\n const anims = this.$animations;\n if (!final || !anims) {\n return this;\n }\n const ret = {};\n props.forEach(prop => {\n ret[prop] = anims[prop] && anims[prop].active() ? anims[prop]._to : this[prop];\n });\n return ret;\n }\n}\nElement.defaults = {};\nElement.defaultRoutes = undefined;\n\nconst formatters = {\n values(value) {\n return isArray(value) ? value : '' + value;\n },\n numeric(tickValue, index, ticks) {\n if (tickValue === 0) {\n return '0';\n }\n const locale = this.chart.options.locale;\n let notation;\n let delta = tickValue;\n if (ticks.length > 1) {\n const maxTick = Math.max(Math.abs(ticks[0].value), Math.abs(ticks[ticks.length - 1].value));\n if (maxTick < 1e-4 || maxTick > 1e+15) {\n notation = 'scientific';\n }\n delta = calculateDelta(tickValue, ticks);\n }\n const logDelta = log10(Math.abs(delta));\n const numDecimal = Math.max(Math.min(-1 * Math.floor(logDelta), 20), 0);\n const options = {notation, minimumFractionDigits: numDecimal, maximumFractionDigits: numDecimal};\n Object.assign(options, this.options.ticks.format);\n return formatNumber(tickValue, locale, options);\n },\n logarithmic(tickValue, index, ticks) {\n if (tickValue === 0) {\n return '0';\n }\n const remain = tickValue / (Math.pow(10, Math.floor(log10(tickValue))));\n if (remain === 1 || remain === 2 || remain === 5) {\n return formatters.numeric.call(this, tickValue, index, ticks);\n }\n return '';\n }\n};\nfunction calculateDelta(tickValue, ticks) {\n let delta = ticks.length > 3 ? ticks[2].value - ticks[1].value : ticks[1].value - ticks[0].value;\n if (Math.abs(delta) >= 1 && tickValue !== Math.floor(tickValue)) {\n delta = tickValue - Math.floor(tickValue);\n }\n return delta;\n}\nvar Ticks = {formatters};\n\ndefaults.set('scale', {\n display: true,\n offset: false,\n reverse: false,\n beginAtZero: false,\n bounds: 'ticks',\n grace: 0,\n grid: {\n display: true,\n lineWidth: 1,\n drawBorder: true,\n drawOnChartArea: true,\n drawTicks: true,\n tickLength: 8,\n tickWidth: (_ctx, options) => options.lineWidth,\n tickColor: (_ctx, options) => options.color,\n offset: false,\n borderDash: [],\n borderDashOffset: 0.0,\n borderWidth: 1\n },\n title: {\n display: false,\n text: '',\n padding: {\n top: 4,\n bottom: 4\n }\n },\n ticks: {\n minRotation: 0,\n maxRotation: 50,\n mirror: false,\n textStrokeWidth: 0,\n textStrokeColor: '',\n padding: 3,\n display: true,\n autoSkip: true,\n autoSkipPadding: 3,\n labelOffset: 0,\n callback: Ticks.formatters.values,\n minor: {},\n major: {},\n align: 'center',\n crossAlign: 'near',\n showLabelBackdrop: false,\n backdropColor: 'rgba(255, 255, 255, 0.75)',\n backdropPadding: 2,\n }\n});\ndefaults.route('scale.ticks', 'color', '', 'color');\ndefaults.route('scale.grid', 'color', '', 'borderColor');\ndefaults.route('scale.grid', 'borderColor', '', 'borderColor');\ndefaults.route('scale.title', 'color', '', 'color');\ndefaults.describe('scale', {\n _fallback: false,\n _scriptable: (name) => !name.startsWith('before') && !name.startsWith('after') && name !== 'callback' && name !== 'parser',\n _indexable: (name) => name !== 'borderDash' && name !== 'tickBorderDash',\n});\ndefaults.describe('scales', {\n _fallback: 'scale',\n});\ndefaults.describe('scale.ticks', {\n _scriptable: (name) => name !== 'backdropPadding' && name !== 'callback',\n _indexable: (name) => name !== 'backdropPadding',\n});\n\nfunction autoSkip(scale, ticks) {\n const tickOpts = scale.options.ticks;\n const ticksLimit = tickOpts.maxTicksLimit || determineMaxTicks(scale);\n const majorIndices = tickOpts.major.enabled ? getMajorIndices(ticks) : [];\n const numMajorIndices = majorIndices.length;\n const first = majorIndices[0];\n const last = majorIndices[numMajorIndices - 1];\n const newTicks = [];\n if (numMajorIndices > ticksLimit) {\n skipMajors(ticks, newTicks, majorIndices, numMajorIndices / ticksLimit);\n return newTicks;\n }\n const spacing = calculateSpacing(majorIndices, ticks, ticksLimit);\n if (numMajorIndices > 0) {\n let i, ilen;\n const avgMajorSpacing = numMajorIndices > 1 ? Math.round((last - first) / (numMajorIndices - 1)) : null;\n skip(ticks, newTicks, spacing, isNullOrUndef(avgMajorSpacing) ? 0 : first - avgMajorSpacing, first);\n for (i = 0, ilen = numMajorIndices - 1; i < ilen; i++) {\n skip(ticks, newTicks, spacing, majorIndices[i], majorIndices[i + 1]);\n }\n skip(ticks, newTicks, spacing, last, isNullOrUndef(avgMajorSpacing) ? ticks.length : last + avgMajorSpacing);\n return newTicks;\n }\n skip(ticks, newTicks, spacing);\n return newTicks;\n}\nfunction determineMaxTicks(scale) {\n const offset = scale.options.offset;\n const tickLength = scale._tickSize();\n const maxScale = scale._length / tickLength + (offset ? 0 : 1);\n const maxChart = scale._maxLength / tickLength;\n return Math.floor(Math.min(maxScale, maxChart));\n}\nfunction calculateSpacing(majorIndices, ticks, ticksLimit) {\n const evenMajorSpacing = getEvenSpacing(majorIndices);\n const spacing = ticks.length / ticksLimit;\n if (!evenMajorSpacing) {\n return Math.max(spacing, 1);\n }\n const factors = _factorize(evenMajorSpacing);\n for (let i = 0, ilen = factors.length - 1; i < ilen; i++) {\n const factor = factors[i];\n if (factor > spacing) {\n return factor;\n }\n }\n return Math.max(spacing, 1);\n}\nfunction getMajorIndices(ticks) {\n const result = [];\n let i, ilen;\n for (i = 0, ilen = ticks.length; i < ilen; i++) {\n if (ticks[i].major) {\n result.push(i);\n }\n }\n return result;\n}\nfunction skipMajors(ticks, newTicks, majorIndices, spacing) {\n let count = 0;\n let next = majorIndices[0];\n let i;\n spacing = Math.ceil(spacing);\n for (i = 0; i < ticks.length; i++) {\n if (i === next) {\n newTicks.push(ticks[i]);\n count++;\n next = majorIndices[count * spacing];\n }\n }\n}\nfunction skip(ticks, newTicks, spacing, majorStart, majorEnd) {\n const start = valueOrDefault(majorStart, 0);\n const end = Math.min(valueOrDefault(majorEnd, ticks.length), ticks.length);\n let count = 0;\n let length, i, next;\n spacing = Math.ceil(spacing);\n if (majorEnd) {\n length = majorEnd - majorStart;\n spacing = length / Math.floor(length / spacing);\n }\n next = start;\n while (next < 0) {\n count++;\n next = Math.round(start + count * spacing);\n }\n for (i = Math.max(start, 0); i < end; i++) {\n if (i === next) {\n newTicks.push(ticks[i]);\n count++;\n next = Math.round(start + count * spacing);\n }\n }\n}\nfunction getEvenSpacing(arr) {\n const len = arr.length;\n let i, diff;\n if (len < 2) {\n return false;\n }\n for (diff = arr[0], i = 1; i < len; ++i) {\n if (arr[i] - arr[i - 1] !== diff) {\n return false;\n }\n }\n return diff;\n}\n\nconst reverseAlign = (align) => align === 'left' ? 'right' : align === 'right' ? 'left' : align;\nconst offsetFromEdge = (scale, edge, offset) => edge === 'top' || edge === 'left' ? scale[edge] + offset : scale[edge] - offset;\nfunction sample(arr, numItems) {\n const result = [];\n const increment = arr.length / numItems;\n const len = arr.length;\n let i = 0;\n for (; i < len; i += increment) {\n result.push(arr[Math.floor(i)]);\n }\n return result;\n}\nfunction getPixelForGridLine(scale, index, offsetGridLines) {\n const length = scale.ticks.length;\n const validIndex = Math.min(index, length - 1);\n const start = scale._startPixel;\n const end = scale._endPixel;\n const epsilon = 1e-6;\n let lineValue = scale.getPixelForTick(validIndex);\n let offset;\n if (offsetGridLines) {\n if (length === 1) {\n offset = Math.max(lineValue - start, end - lineValue);\n } else if (index === 0) {\n offset = (scale.getPixelForTick(1) - lineValue) / 2;\n } else {\n offset = (lineValue - scale.getPixelForTick(validIndex - 1)) / 2;\n }\n lineValue += validIndex < index ? offset : -offset;\n if (lineValue < start - epsilon || lineValue > end + epsilon) {\n return;\n }\n }\n return lineValue;\n}\nfunction garbageCollect(caches, length) {\n each(caches, (cache) => {\n const gc = cache.gc;\n const gcLen = gc.length / 2;\n let i;\n if (gcLen > length) {\n for (i = 0; i < gcLen; ++i) {\n delete cache.data[gc[i]];\n }\n gc.splice(0, gcLen);\n }\n });\n}\nfunction getTickMarkLength(options) {\n return options.drawTicks ? options.tickLength : 0;\n}\nfunction getTitleHeight(options, fallback) {\n if (!options.display) {\n return 0;\n }\n const font = toFont(options.font, fallback);\n const padding = toPadding(options.padding);\n const lines = isArray(options.text) ? options.text.length : 1;\n return (lines * font.lineHeight) + padding.height;\n}\nfunction createScaleContext(parent, scale) {\n return createContext(parent, {\n scale,\n type: 'scale'\n });\n}\nfunction createTickContext(parent, index, tick) {\n return createContext(parent, {\n tick,\n index,\n type: 'tick'\n });\n}\nfunction titleAlign(align, position, reverse) {\n let ret = _toLeftRightCenter(align);\n if ((reverse && position !== 'right') || (!reverse && position === 'right')) {\n ret = reverseAlign(ret);\n }\n return ret;\n}\nfunction titleArgs(scale, offset, position, align) {\n const {top, left, bottom, right, chart} = scale;\n const {chartArea, scales} = chart;\n let rotation = 0;\n let maxWidth, titleX, titleY;\n const height = bottom - top;\n const width = right - left;\n if (scale.isHorizontal()) {\n titleX = _alignStartEnd(align, left, right);\n if (isObject(position)) {\n const positionAxisID = Object.keys(position)[0];\n const value = position[positionAxisID];\n titleY = scales[positionAxisID].getPixelForValue(value) + height - offset;\n } else if (position === 'center') {\n titleY = (chartArea.bottom + chartArea.top) / 2 + height - offset;\n } else {\n titleY = offsetFromEdge(scale, position, offset);\n }\n maxWidth = right - left;\n } else {\n if (isObject(position)) {\n const positionAxisID = Object.keys(position)[0];\n const value = position[positionAxisID];\n titleX = scales[positionAxisID].getPixelForValue(value) - width + offset;\n } else if (position === 'center') {\n titleX = (chartArea.left + chartArea.right) / 2 - width + offset;\n } else {\n titleX = offsetFromEdge(scale, position, offset);\n }\n titleY = _alignStartEnd(align, bottom, top);\n rotation = position === 'left' ? -HALF_PI : HALF_PI;\n }\n return {titleX, titleY, maxWidth, rotation};\n}\nclass Scale extends Element {\n constructor(cfg) {\n super();\n this.id = cfg.id;\n this.type = cfg.type;\n this.options = undefined;\n this.ctx = cfg.ctx;\n this.chart = cfg.chart;\n this.top = undefined;\n this.bottom = undefined;\n this.left = undefined;\n this.right = undefined;\n this.width = undefined;\n this.height = undefined;\n this._margins = {\n left: 0,\n right: 0,\n top: 0,\n bottom: 0\n };\n this.maxWidth = undefined;\n this.maxHeight = undefined;\n this.paddingTop = undefined;\n this.paddingBottom = undefined;\n this.paddingLeft = undefined;\n this.paddingRight = undefined;\n this.axis = undefined;\n this.labelRotation = undefined;\n this.min = undefined;\n this.max = undefined;\n this._range = undefined;\n this.ticks = [];\n this._gridLineItems = null;\n this._labelItems = null;\n this._labelSizes = null;\n this._length = 0;\n this._maxLength = 0;\n this._longestTextCache = {};\n this._startPixel = undefined;\n this._endPixel = undefined;\n this._reversePixels = false;\n this._userMax = undefined;\n this._userMin = undefined;\n this._suggestedMax = undefined;\n this._suggestedMin = undefined;\n this._ticksLength = 0;\n this._borderValue = 0;\n this._cache = {};\n this._dataLimitsCached = false;\n this.$context = undefined;\n }\n init(options) {\n this.options = options.setContext(this.getContext());\n this.axis = options.axis;\n this._userMin = this.parse(options.min);\n this._userMax = this.parse(options.max);\n this._suggestedMin = this.parse(options.suggestedMin);\n this._suggestedMax = this.parse(options.suggestedMax);\n }\n parse(raw, index) {\n return raw;\n }\n getUserBounds() {\n let {_userMin, _userMax, _suggestedMin, _suggestedMax} = this;\n _userMin = finiteOrDefault(_userMin, Number.POSITIVE_INFINITY);\n _userMax = finiteOrDefault(_userMax, Number.NEGATIVE_INFINITY);\n _suggestedMin = finiteOrDefault(_suggestedMin, Number.POSITIVE_INFINITY);\n _suggestedMax = finiteOrDefault(_suggestedMax, Number.NEGATIVE_INFINITY);\n return {\n min: finiteOrDefault(_userMin, _suggestedMin),\n max: finiteOrDefault(_userMax, _suggestedMax),\n minDefined: isNumberFinite(_userMin),\n maxDefined: isNumberFinite(_userMax)\n };\n }\n getMinMax(canStack) {\n let {min, max, minDefined, maxDefined} = this.getUserBounds();\n let range;\n if (minDefined && maxDefined) {\n return {min, max};\n }\n const metas = this.getMatchingVisibleMetas();\n for (let i = 0, ilen = metas.length; i < ilen; ++i) {\n range = metas[i].controller.getMinMax(this, canStack);\n if (!minDefined) {\n min = Math.min(min, range.min);\n }\n if (!maxDefined) {\n max = Math.max(max, range.max);\n }\n }\n min = maxDefined && min > max ? max : min;\n max = minDefined && min > max ? min : max;\n return {\n min: finiteOrDefault(min, finiteOrDefault(max, min)),\n max: finiteOrDefault(max, finiteOrDefault(min, max))\n };\n }\n getPadding() {\n return {\n left: this.paddingLeft || 0,\n top: this.paddingTop || 0,\n right: this.paddingRight || 0,\n bottom: this.paddingBottom || 0\n };\n }\n getTicks() {\n return this.ticks;\n }\n getLabels() {\n const data = this.chart.data;\n return this.options.labels || (this.isHorizontal() ? data.xLabels : data.yLabels) || data.labels || [];\n }\n beforeLayout() {\n this._cache = {};\n this._dataLimitsCached = false;\n }\n beforeUpdate() {\n callback(this.options.beforeUpdate, [this]);\n }\n update(maxWidth, maxHeight, margins) {\n const {beginAtZero, grace, ticks: tickOpts} = this.options;\n const sampleSize = tickOpts.sampleSize;\n this.beforeUpdate();\n this.maxWidth = maxWidth;\n this.maxHeight = maxHeight;\n this._margins = margins = Object.assign({\n left: 0,\n right: 0,\n top: 0,\n bottom: 0\n }, margins);\n this.ticks = null;\n this._labelSizes = null;\n this._gridLineItems = null;\n this._labelItems = null;\n this.beforeSetDimensions();\n this.setDimensions();\n this.afterSetDimensions();\n this._maxLength = this.isHorizontal()\n ? this.width + margins.left + margins.right\n : this.height + margins.top + margins.bottom;\n if (!this._dataLimitsCached) {\n this.beforeDataLimits();\n this.determineDataLimits();\n this.afterDataLimits();\n this._range = _addGrace(this, grace, beginAtZero);\n this._dataLimitsCached = true;\n }\n this.beforeBuildTicks();\n this.ticks = this.buildTicks() || [];\n this.afterBuildTicks();\n const samplingEnabled = sampleSize < this.ticks.length;\n this._convertTicksToLabels(samplingEnabled ? sample(this.ticks, sampleSize) : this.ticks);\n this.configure();\n this.beforeCalculateLabelRotation();\n this.calculateLabelRotation();\n this.afterCalculateLabelRotation();\n if (tickOpts.display && (tickOpts.autoSkip || tickOpts.source === 'auto')) {\n this.ticks = autoSkip(this, this.ticks);\n this._labelSizes = null;\n this.afterAutoSkip();\n }\n if (samplingEnabled) {\n this._convertTicksToLabels(this.ticks);\n }\n this.beforeFit();\n this.fit();\n this.afterFit();\n this.afterUpdate();\n }\n configure() {\n let reversePixels = this.options.reverse;\n let startPixel, endPixel;\n if (this.isHorizontal()) {\n startPixel = this.left;\n endPixel = this.right;\n } else {\n startPixel = this.top;\n endPixel = this.bottom;\n reversePixels = !reversePixels;\n }\n this._startPixel = startPixel;\n this._endPixel = endPixel;\n this._reversePixels = reversePixels;\n this._length = endPixel - startPixel;\n this._alignToPixels = this.options.alignToPixels;\n }\n afterUpdate() {\n callback(this.options.afterUpdate, [this]);\n }\n beforeSetDimensions() {\n callback(this.options.beforeSetDimensions, [this]);\n }\n setDimensions() {\n if (this.isHorizontal()) {\n this.width = this.maxWidth;\n this.left = 0;\n this.right = this.width;\n } else {\n this.height = this.maxHeight;\n this.top = 0;\n this.bottom = this.height;\n }\n this.paddingLeft = 0;\n this.paddingTop = 0;\n this.paddingRight = 0;\n this.paddingBottom = 0;\n }\n afterSetDimensions() {\n callback(this.options.afterSetDimensions, [this]);\n }\n _callHooks(name) {\n this.chart.notifyPlugins(name, this.getContext());\n callback(this.options[name], [this]);\n }\n beforeDataLimits() {\n this._callHooks('beforeDataLimits');\n }\n determineDataLimits() {}\n afterDataLimits() {\n this._callHooks('afterDataLimits');\n }\n beforeBuildTicks() {\n this._callHooks('beforeBuildTicks');\n }\n buildTicks() {\n return [];\n }\n afterBuildTicks() {\n this._callHooks('afterBuildTicks');\n }\n beforeTickToLabelConversion() {\n callback(this.options.beforeTickToLabelConversion, [this]);\n }\n generateTickLabels(ticks) {\n const tickOpts = this.options.ticks;\n let i, ilen, tick;\n for (i = 0, ilen = ticks.length; i < ilen; i++) {\n tick = ticks[i];\n tick.label = callback(tickOpts.callback, [tick.value, i, ticks], this);\n }\n }\n afterTickToLabelConversion() {\n callback(this.options.afterTickToLabelConversion, [this]);\n }\n beforeCalculateLabelRotation() {\n callback(this.options.beforeCalculateLabelRotation, [this]);\n }\n calculateLabelRotation() {\n const options = this.options;\n const tickOpts = options.ticks;\n const numTicks = this.ticks.length;\n const minRotation = tickOpts.minRotation || 0;\n const maxRotation = tickOpts.maxRotation;\n let labelRotation = minRotation;\n let tickWidth, maxHeight, maxLabelDiagonal;\n if (!this._isVisible() || !tickOpts.display || minRotation >= maxRotation || numTicks <= 1 || !this.isHorizontal()) {\n this.labelRotation = minRotation;\n return;\n }\n const labelSizes = this._getLabelSizes();\n const maxLabelWidth = labelSizes.widest.width;\n const maxLabelHeight = labelSizes.highest.height;\n const maxWidth = _limitValue(this.chart.width - maxLabelWidth, 0, this.maxWidth);\n tickWidth = options.offset ? this.maxWidth / numTicks : maxWidth / (numTicks - 1);\n if (maxLabelWidth + 6 > tickWidth) {\n tickWidth = maxWidth / (numTicks - (options.offset ? 0.5 : 1));\n maxHeight = this.maxHeight - getTickMarkLength(options.grid)\n\t\t\t\t- tickOpts.padding - getTitleHeight(options.title, this.chart.options.font);\n maxLabelDiagonal = Math.sqrt(maxLabelWidth * maxLabelWidth + maxLabelHeight * maxLabelHeight);\n labelRotation = toDegrees(Math.min(\n Math.asin(_limitValue((labelSizes.highest.height + 6) / tickWidth, -1, 1)),\n Math.asin(_limitValue(maxHeight / maxLabelDiagonal, -1, 1)) - Math.asin(_limitValue(maxLabelHeight / maxLabelDiagonal, -1, 1))\n ));\n labelRotation = Math.max(minRotation, Math.min(maxRotation, labelRotation));\n }\n this.labelRotation = labelRotation;\n }\n afterCalculateLabelRotation() {\n callback(this.options.afterCalculateLabelRotation, [this]);\n }\n afterAutoSkip() {}\n beforeFit() {\n callback(this.options.beforeFit, [this]);\n }\n fit() {\n const minSize = {\n width: 0,\n height: 0\n };\n const {chart, options: {ticks: tickOpts, title: titleOpts, grid: gridOpts}} = this;\n const display = this._isVisible();\n const isHorizontal = this.isHorizontal();\n if (display) {\n const titleHeight = getTitleHeight(titleOpts, chart.options.font);\n if (isHorizontal) {\n minSize.width = this.maxWidth;\n minSize.height = getTickMarkLength(gridOpts) + titleHeight;\n } else {\n minSize.height = this.maxHeight;\n minSize.width = getTickMarkLength(gridOpts) + titleHeight;\n }\n if (tickOpts.display && this.ticks.length) {\n const {first, last, widest, highest} = this._getLabelSizes();\n const tickPadding = tickOpts.padding * 2;\n const angleRadians = toRadians(this.labelRotation);\n const cos = Math.cos(angleRadians);\n const sin = Math.sin(angleRadians);\n if (isHorizontal) {\n const labelHeight = tickOpts.mirror ? 0 : sin * widest.width + cos * highest.height;\n minSize.height = Math.min(this.maxHeight, minSize.height + labelHeight + tickPadding);\n } else {\n const labelWidth = tickOpts.mirror ? 0 : cos * widest.width + sin * highest.height;\n minSize.width = Math.min(this.maxWidth, minSize.width + labelWidth + tickPadding);\n }\n this._calculatePadding(first, last, sin, cos);\n }\n }\n this._handleMargins();\n if (isHorizontal) {\n this.width = this._length = chart.width - this._margins.left - this._margins.right;\n this.height = minSize.height;\n } else {\n this.width = minSize.width;\n this.height = this._length = chart.height - this._margins.top - this._margins.bottom;\n }\n }\n _calculatePadding(first, last, sin, cos) {\n const {ticks: {align, padding}, position} = this.options;\n const isRotated = this.labelRotation !== 0;\n const labelsBelowTicks = position !== 'top' && this.axis === 'x';\n if (this.isHorizontal()) {\n const offsetLeft = this.getPixelForTick(0) - this.left;\n const offsetRight = this.right - this.getPixelForTick(this.ticks.length - 1);\n let paddingLeft = 0;\n let paddingRight = 0;\n if (isRotated) {\n if (labelsBelowTicks) {\n paddingLeft = cos * first.width;\n paddingRight = sin * last.height;\n } else {\n paddingLeft = sin * first.height;\n paddingRight = cos * last.width;\n }\n } else if (align === 'start') {\n paddingRight = last.width;\n } else if (align === 'end') {\n paddingLeft = first.width;\n } else if (align !== 'inner') {\n paddingLeft = first.width / 2;\n paddingRight = last.width / 2;\n }\n this.paddingLeft = Math.max((paddingLeft - offsetLeft + padding) * this.width / (this.width - offsetLeft), 0);\n this.paddingRight = Math.max((paddingRight - offsetRight + padding) * this.width / (this.width - offsetRight), 0);\n } else {\n let paddingTop = last.height / 2;\n let paddingBottom = first.height / 2;\n if (align === 'start') {\n paddingTop = 0;\n paddingBottom = first.height;\n } else if (align === 'end') {\n paddingTop = last.height;\n paddingBottom = 0;\n }\n this.paddingTop = paddingTop + padding;\n this.paddingBottom = paddingBottom + padding;\n }\n }\n _handleMargins() {\n if (this._margins) {\n this._margins.left = Math.max(this.paddingLeft, this._margins.left);\n this._margins.top = Math.max(this.paddingTop, this._margins.top);\n this._margins.right = Math.max(this.paddingRight, this._margins.right);\n this._margins.bottom = Math.max(this.paddingBottom, this._margins.bottom);\n }\n }\n afterFit() {\n callback(this.options.afterFit, [this]);\n }\n isHorizontal() {\n const {axis, position} = this.options;\n return position === 'top' || position === 'bottom' || axis === 'x';\n }\n isFullSize() {\n return this.options.fullSize;\n }\n _convertTicksToLabels(ticks) {\n this.beforeTickToLabelConversion();\n this.generateTickLabels(ticks);\n let i, ilen;\n for (i = 0, ilen = ticks.length; i < ilen; i++) {\n if (isNullOrUndef(ticks[i].label)) {\n ticks.splice(i, 1);\n ilen--;\n i--;\n }\n }\n this.afterTickToLabelConversion();\n }\n _getLabelSizes() {\n let labelSizes = this._labelSizes;\n if (!labelSizes) {\n const sampleSize = this.options.ticks.sampleSize;\n let ticks = this.ticks;\n if (sampleSize < ticks.length) {\n ticks = sample(ticks, sampleSize);\n }\n this._labelSizes = labelSizes = this._computeLabelSizes(ticks, ticks.length);\n }\n return labelSizes;\n }\n _computeLabelSizes(ticks, length) {\n const {ctx, _longestTextCache: caches} = this;\n const widths = [];\n const heights = [];\n let widestLabelSize = 0;\n let highestLabelSize = 0;\n let i, j, jlen, label, tickFont, fontString, cache, lineHeight, width, height, nestedLabel;\n for (i = 0; i < length; ++i) {\n label = ticks[i].label;\n tickFont = this._resolveTickFontOptions(i);\n ctx.font = fontString = tickFont.string;\n cache = caches[fontString] = caches[fontString] || {data: {}, gc: []};\n lineHeight = tickFont.lineHeight;\n width = height = 0;\n if (!isNullOrUndef(label) && !isArray(label)) {\n width = _measureText(ctx, cache.data, cache.gc, width, label);\n height = lineHeight;\n } else if (isArray(label)) {\n for (j = 0, jlen = label.length; j < jlen; ++j) {\n nestedLabel = label[j];\n if (!isNullOrUndef(nestedLabel) && !isArray(nestedLabel)) {\n width = _measureText(ctx, cache.data, cache.gc, width, nestedLabel);\n height += lineHeight;\n }\n }\n }\n widths.push(width);\n heights.push(height);\n widestLabelSize = Math.max(width, widestLabelSize);\n highestLabelSize = Math.max(height, highestLabelSize);\n }\n garbageCollect(caches, length);\n const widest = widths.indexOf(widestLabelSize);\n const highest = heights.indexOf(highestLabelSize);\n const valueAt = (idx) => ({width: widths[idx] || 0, height: heights[idx] || 0});\n return {\n first: valueAt(0),\n last: valueAt(length - 1),\n widest: valueAt(widest),\n highest: valueAt(highest),\n widths,\n heights,\n };\n }\n getLabelForValue(value) {\n return value;\n }\n getPixelForValue(value, index) {\n return NaN;\n }\n getValueForPixel(pixel) {}\n getPixelForTick(index) {\n const ticks = this.ticks;\n if (index < 0 || index > ticks.length - 1) {\n return null;\n }\n return this.getPixelForValue(ticks[index].value);\n }\n getPixelForDecimal(decimal) {\n if (this._reversePixels) {\n decimal = 1 - decimal;\n }\n const pixel = this._startPixel + decimal * this._length;\n return _int16Range(this._alignToPixels ? _alignPixel(this.chart, pixel, 0) : pixel);\n }\n getDecimalForPixel(pixel) {\n const decimal = (pixel - this._startPixel) / this._length;\n return this._reversePixels ? 1 - decimal : decimal;\n }\n getBasePixel() {\n return this.getPixelForValue(this.getBaseValue());\n }\n getBaseValue() {\n const {min, max} = this;\n return min < 0 && max < 0 ? max :\n min > 0 && max > 0 ? min :\n 0;\n }\n getContext(index) {\n const ticks = this.ticks || [];\n if (index >= 0 && index < ticks.length) {\n const tick = ticks[index];\n return tick.$context ||\n\t\t\t\t(tick.$context = createTickContext(this.getContext(), index, tick));\n }\n return this.$context ||\n\t\t\t(this.$context = createScaleContext(this.chart.getContext(), this));\n }\n _tickSize() {\n const optionTicks = this.options.ticks;\n const rot = toRadians(this.labelRotation);\n const cos = Math.abs(Math.cos(rot));\n const sin = Math.abs(Math.sin(rot));\n const labelSizes = this._getLabelSizes();\n const padding = optionTicks.autoSkipPadding || 0;\n const w = labelSizes ? labelSizes.widest.width + padding : 0;\n const h = labelSizes ? labelSizes.highest.height + padding : 0;\n return this.isHorizontal()\n ? h * cos > w * sin ? w / cos : h / sin\n : h * sin < w * cos ? h / cos : w / sin;\n }\n _isVisible() {\n const display = this.options.display;\n if (display !== 'auto') {\n return !!display;\n }\n return this.getMatchingVisibleMetas().length > 0;\n }\n _computeGridLineItems(chartArea) {\n const axis = this.axis;\n const chart = this.chart;\n const options = this.options;\n const {grid, position} = options;\n const offset = grid.offset;\n const isHorizontal = this.isHorizontal();\n const ticks = this.ticks;\n const ticksLength = ticks.length + (offset ? 1 : 0);\n const tl = getTickMarkLength(grid);\n const items = [];\n const borderOpts = grid.setContext(this.getContext());\n const axisWidth = borderOpts.drawBorder ? borderOpts.borderWidth : 0;\n const axisHalfWidth = axisWidth / 2;\n const alignBorderValue = function(pixel) {\n return _alignPixel(chart, pixel, axisWidth);\n };\n let borderValue, i, lineValue, alignedLineValue;\n let tx1, ty1, tx2, ty2, x1, y1, x2, y2;\n if (position === 'top') {\n borderValue = alignBorderValue(this.bottom);\n ty1 = this.bottom - tl;\n ty2 = borderValue - axisHalfWidth;\n y1 = alignBorderValue(chartArea.top) + axisHalfWidth;\n y2 = chartArea.bottom;\n } else if (position === 'bottom') {\n borderValue = alignBorderValue(this.top);\n y1 = chartArea.top;\n y2 = alignBorderValue(chartArea.bottom) - axisHalfWidth;\n ty1 = borderValue + axisHalfWidth;\n ty2 = this.top + tl;\n } else if (position === 'left') {\n borderValue = alignBorderValue(this.right);\n tx1 = this.right - tl;\n tx2 = borderValue - axisHalfWidth;\n x1 = alignBorderValue(chartArea.left) + axisHalfWidth;\n x2 = chartArea.right;\n } else if (position === 'right') {\n borderValue = alignBorderValue(this.left);\n x1 = chartArea.left;\n x2 = alignBorderValue(chartArea.right) - axisHalfWidth;\n tx1 = borderValue + axisHalfWidth;\n tx2 = this.left + tl;\n } else if (axis === 'x') {\n if (position === 'center') {\n borderValue = alignBorderValue((chartArea.top + chartArea.bottom) / 2 + 0.5);\n } else if (isObject(position)) {\n const positionAxisID = Object.keys(position)[0];\n const value = position[positionAxisID];\n borderValue = alignBorderValue(this.chart.scales[positionAxisID].getPixelForValue(value));\n }\n y1 = chartArea.top;\n y2 = chartArea.bottom;\n ty1 = borderValue + axisHalfWidth;\n ty2 = ty1 + tl;\n } else if (axis === 'y') {\n if (position === 'center') {\n borderValue = alignBorderValue((chartArea.left + chartArea.right) / 2);\n } else if (isObject(position)) {\n const positionAxisID = Object.keys(position)[0];\n const value = position[positionAxisID];\n borderValue = alignBorderValue(this.chart.scales[positionAxisID].getPixelForValue(value));\n }\n tx1 = borderValue - axisHalfWidth;\n tx2 = tx1 - tl;\n x1 = chartArea.left;\n x2 = chartArea.right;\n }\n const limit = valueOrDefault(options.ticks.maxTicksLimit, ticksLength);\n const step = Math.max(1, Math.ceil(ticksLength / limit));\n for (i = 0; i < ticksLength; i += step) {\n const optsAtIndex = grid.setContext(this.getContext(i));\n const lineWidth = optsAtIndex.lineWidth;\n const lineColor = optsAtIndex.color;\n const borderDash = optsAtIndex.borderDash || [];\n const borderDashOffset = optsAtIndex.borderDashOffset;\n const tickWidth = optsAtIndex.tickWidth;\n const tickColor = optsAtIndex.tickColor;\n const tickBorderDash = optsAtIndex.tickBorderDash || [];\n const tickBorderDashOffset = optsAtIndex.tickBorderDashOffset;\n lineValue = getPixelForGridLine(this, i, offset);\n if (lineValue === undefined) {\n continue;\n }\n alignedLineValue = _alignPixel(chart, lineValue, lineWidth);\n if (isHorizontal) {\n tx1 = tx2 = x1 = x2 = alignedLineValue;\n } else {\n ty1 = ty2 = y1 = y2 = alignedLineValue;\n }\n items.push({\n tx1,\n ty1,\n tx2,\n ty2,\n x1,\n y1,\n x2,\n y2,\n width: lineWidth,\n color: lineColor,\n borderDash,\n borderDashOffset,\n tickWidth,\n tickColor,\n tickBorderDash,\n tickBorderDashOffset,\n });\n }\n this._ticksLength = ticksLength;\n this._borderValue = borderValue;\n return items;\n }\n _computeLabelItems(chartArea) {\n const axis = this.axis;\n const options = this.options;\n const {position, ticks: optionTicks} = options;\n const isHorizontal = this.isHorizontal();\n const ticks = this.ticks;\n const {align, crossAlign, padding, mirror} = optionTicks;\n const tl = getTickMarkLength(options.grid);\n const tickAndPadding = tl + padding;\n const hTickAndPadding = mirror ? -padding : tickAndPadding;\n const rotation = -toRadians(this.labelRotation);\n const items = [];\n let i, ilen, tick, label, x, y, textAlign, pixel, font, lineHeight, lineCount, textOffset;\n let textBaseline = 'middle';\n if (position === 'top') {\n y = this.bottom - hTickAndPadding;\n textAlign = this._getXAxisLabelAlignment();\n } else if (position === 'bottom') {\n y = this.top + hTickAndPadding;\n textAlign = this._getXAxisLabelAlignment();\n } else if (position === 'left') {\n const ret = this._getYAxisLabelAlignment(tl);\n textAlign = ret.textAlign;\n x = ret.x;\n } else if (position === 'right') {\n const ret = this._getYAxisLabelAlignment(tl);\n textAlign = ret.textAlign;\n x = ret.x;\n } else if (axis === 'x') {\n if (position === 'center') {\n y = ((chartArea.top + chartArea.bottom) / 2) + tickAndPadding;\n } else if (isObject(position)) {\n const positionAxisID = Object.keys(position)[0];\n const value = position[positionAxisID];\n y = this.chart.scales[positionAxisID].getPixelForValue(value) + tickAndPadding;\n }\n textAlign = this._getXAxisLabelAlignment();\n } else if (axis === 'y') {\n if (position === 'center') {\n x = ((chartArea.left + chartArea.right) / 2) - tickAndPadding;\n } else if (isObject(position)) {\n const positionAxisID = Object.keys(position)[0];\n const value = position[positionAxisID];\n x = this.chart.scales[positionAxisID].getPixelForValue(value);\n }\n textAlign = this._getYAxisLabelAlignment(tl).textAlign;\n }\n if (axis === 'y') {\n if (align === 'start') {\n textBaseline = 'top';\n } else if (align === 'end') {\n textBaseline = 'bottom';\n }\n }\n const labelSizes = this._getLabelSizes();\n for (i = 0, ilen = ticks.length; i < ilen; ++i) {\n tick = ticks[i];\n label = tick.label;\n const optsAtIndex = optionTicks.setContext(this.getContext(i));\n pixel = this.getPixelForTick(i) + optionTicks.labelOffset;\n font = this._resolveTickFontOptions(i);\n lineHeight = font.lineHeight;\n lineCount = isArray(label) ? label.length : 1;\n const halfCount = lineCount / 2;\n const color = optsAtIndex.color;\n const strokeColor = optsAtIndex.textStrokeColor;\n const strokeWidth = optsAtIndex.textStrokeWidth;\n let tickTextAlign = textAlign;\n if (isHorizontal) {\n x = pixel;\n if (textAlign === 'inner') {\n if (i === ilen - 1) {\n tickTextAlign = !this.options.reverse ? 'right' : 'left';\n } else if (i === 0) {\n tickTextAlign = !this.options.reverse ? 'left' : 'right';\n } else {\n tickTextAlign = 'center';\n }\n }\n if (position === 'top') {\n if (crossAlign === 'near' || rotation !== 0) {\n textOffset = -lineCount * lineHeight + lineHeight / 2;\n } else if (crossAlign === 'center') {\n textOffset = -labelSizes.highest.height / 2 - halfCount * lineHeight + lineHeight;\n } else {\n textOffset = -labelSizes.highest.height + lineHeight / 2;\n }\n } else {\n if (crossAlign === 'near' || rotation !== 0) {\n textOffset = lineHeight / 2;\n } else if (crossAlign === 'center') {\n textOffset = labelSizes.highest.height / 2 - halfCount * lineHeight;\n } else {\n textOffset = labelSizes.highest.height - lineCount * lineHeight;\n }\n }\n if (mirror) {\n textOffset *= -1;\n }\n } else {\n y = pixel;\n textOffset = (1 - lineCount) * lineHeight / 2;\n }\n let backdrop;\n if (optsAtIndex.showLabelBackdrop) {\n const labelPadding = toPadding(optsAtIndex.backdropPadding);\n const height = labelSizes.heights[i];\n const width = labelSizes.widths[i];\n let top = y + textOffset - labelPadding.top;\n let left = x - labelPadding.left;\n switch (textBaseline) {\n case 'middle':\n top -= height / 2;\n break;\n case 'bottom':\n top -= height;\n break;\n }\n switch (textAlign) {\n case 'center':\n left -= width / 2;\n break;\n case 'right':\n left -= width;\n break;\n }\n backdrop = {\n left,\n top,\n width: width + labelPadding.width,\n height: height + labelPadding.height,\n color: optsAtIndex.backdropColor,\n };\n }\n items.push({\n rotation,\n label,\n font,\n color,\n strokeColor,\n strokeWidth,\n textOffset,\n textAlign: tickTextAlign,\n textBaseline,\n translation: [x, y],\n backdrop,\n });\n }\n return items;\n }\n _getXAxisLabelAlignment() {\n const {position, ticks} = this.options;\n const rotation = -toRadians(this.labelRotation);\n if (rotation) {\n return position === 'top' ? 'left' : 'right';\n }\n let align = 'center';\n if (ticks.align === 'start') {\n align = 'left';\n } else if (ticks.align === 'end') {\n align = 'right';\n } else if (ticks.align === 'inner') {\n align = 'inner';\n }\n return align;\n }\n _getYAxisLabelAlignment(tl) {\n const {position, ticks: {crossAlign, mirror, padding}} = this.options;\n const labelSizes = this._getLabelSizes();\n const tickAndPadding = tl + padding;\n const widest = labelSizes.widest.width;\n let textAlign;\n let x;\n if (position === 'left') {\n if (mirror) {\n x = this.right + padding;\n if (crossAlign === 'near') {\n textAlign = 'left';\n } else if (crossAlign === 'center') {\n textAlign = 'center';\n x += (widest / 2);\n } else {\n textAlign = 'right';\n x += widest;\n }\n } else {\n x = this.right - tickAndPadding;\n if (crossAlign === 'near') {\n textAlign = 'right';\n } else if (crossAlign === 'center') {\n textAlign = 'center';\n x -= (widest / 2);\n } else {\n textAlign = 'left';\n x = this.left;\n }\n }\n } else if (position === 'right') {\n if (mirror) {\n x = this.left + padding;\n if (crossAlign === 'near') {\n textAlign = 'right';\n } else if (crossAlign === 'center') {\n textAlign = 'center';\n x -= (widest / 2);\n } else {\n textAlign = 'left';\n x -= widest;\n }\n } else {\n x = this.left + tickAndPadding;\n if (crossAlign === 'near') {\n textAlign = 'left';\n } else if (crossAlign === 'center') {\n textAlign = 'center';\n x += widest / 2;\n } else {\n textAlign = 'right';\n x = this.right;\n }\n }\n } else {\n textAlign = 'right';\n }\n return {textAlign, x};\n }\n _computeLabelArea() {\n if (this.options.ticks.mirror) {\n return;\n }\n const chart = this.chart;\n const position = this.options.position;\n if (position === 'left' || position === 'right') {\n return {top: 0, left: this.left, bottom: chart.height, right: this.right};\n } if (position === 'top' || position === 'bottom') {\n return {top: this.top, left: 0, bottom: this.bottom, right: chart.width};\n }\n }\n drawBackground() {\n const {ctx, options: {backgroundColor}, left, top, width, height} = this;\n if (backgroundColor) {\n ctx.save();\n ctx.fillStyle = backgroundColor;\n ctx.fillRect(left, top, width, height);\n ctx.restore();\n }\n }\n getLineWidthForValue(value) {\n const grid = this.options.grid;\n if (!this._isVisible() || !grid.display) {\n return 0;\n }\n const ticks = this.ticks;\n const index = ticks.findIndex(t => t.value === value);\n if (index >= 0) {\n const opts = grid.setContext(this.getContext(index));\n return opts.lineWidth;\n }\n return 0;\n }\n drawGrid(chartArea) {\n const grid = this.options.grid;\n const ctx = this.ctx;\n const items = this._gridLineItems || (this._gridLineItems = this._computeGridLineItems(chartArea));\n let i, ilen;\n const drawLine = (p1, p2, style) => {\n if (!style.width || !style.color) {\n return;\n }\n ctx.save();\n ctx.lineWidth = style.width;\n ctx.strokeStyle = style.color;\n ctx.setLineDash(style.borderDash || []);\n ctx.lineDashOffset = style.borderDashOffset;\n ctx.beginPath();\n ctx.moveTo(p1.x, p1.y);\n ctx.lineTo(p2.x, p2.y);\n ctx.stroke();\n ctx.restore();\n };\n if (grid.display) {\n for (i = 0, ilen = items.length; i < ilen; ++i) {\n const item = items[i];\n if (grid.drawOnChartArea) {\n drawLine(\n {x: item.x1, y: item.y1},\n {x: item.x2, y: item.y2},\n item\n );\n }\n if (grid.drawTicks) {\n drawLine(\n {x: item.tx1, y: item.ty1},\n {x: item.tx2, y: item.ty2},\n {\n color: item.tickColor,\n width: item.tickWidth,\n borderDash: item.tickBorderDash,\n borderDashOffset: item.tickBorderDashOffset\n }\n );\n }\n }\n }\n }\n drawBorder() {\n const {chart, ctx, options: {grid}} = this;\n const borderOpts = grid.setContext(this.getContext());\n const axisWidth = grid.drawBorder ? borderOpts.borderWidth : 0;\n if (!axisWidth) {\n return;\n }\n const lastLineWidth = grid.setContext(this.getContext(0)).lineWidth;\n const borderValue = this._borderValue;\n let x1, x2, y1, y2;\n if (this.isHorizontal()) {\n x1 = _alignPixel(chart, this.left, axisWidth) - axisWidth / 2;\n x2 = _alignPixel(chart, this.right, lastLineWidth) + lastLineWidth / 2;\n y1 = y2 = borderValue;\n } else {\n y1 = _alignPixel(chart, this.top, axisWidth) - axisWidth / 2;\n y2 = _alignPixel(chart, this.bottom, lastLineWidth) + lastLineWidth / 2;\n x1 = x2 = borderValue;\n }\n ctx.save();\n ctx.lineWidth = borderOpts.borderWidth;\n ctx.strokeStyle = borderOpts.borderColor;\n ctx.beginPath();\n ctx.moveTo(x1, y1);\n ctx.lineTo(x2, y2);\n ctx.stroke();\n ctx.restore();\n }\n drawLabels(chartArea) {\n const optionTicks = this.options.ticks;\n if (!optionTicks.display) {\n return;\n }\n const ctx = this.ctx;\n const area = this._computeLabelArea();\n if (area) {\n clipArea(ctx, area);\n }\n const items = this._labelItems || (this._labelItems = this._computeLabelItems(chartArea));\n let i, ilen;\n for (i = 0, ilen = items.length; i < ilen; ++i) {\n const item = items[i];\n const tickFont = item.font;\n const label = item.label;\n if (item.backdrop) {\n ctx.fillStyle = item.backdrop.color;\n ctx.fillRect(item.backdrop.left, item.backdrop.top, item.backdrop.width, item.backdrop.height);\n }\n let y = item.textOffset;\n renderText(ctx, label, 0, y, tickFont, item);\n }\n if (area) {\n unclipArea(ctx);\n }\n }\n drawTitle() {\n const {ctx, options: {position, title, reverse}} = this;\n if (!title.display) {\n return;\n }\n const font = toFont(title.font);\n const padding = toPadding(title.padding);\n const align = title.align;\n let offset = font.lineHeight / 2;\n if (position === 'bottom' || position === 'center' || isObject(position)) {\n offset += padding.bottom;\n if (isArray(title.text)) {\n offset += font.lineHeight * (title.text.length - 1);\n }\n } else {\n offset += padding.top;\n }\n const {titleX, titleY, maxWidth, rotation} = titleArgs(this, offset, position, align);\n renderText(ctx, title.text, 0, 0, font, {\n color: title.color,\n maxWidth,\n rotation,\n textAlign: titleAlign(align, position, reverse),\n textBaseline: 'middle',\n translation: [titleX, titleY],\n });\n }\n draw(chartArea) {\n if (!this._isVisible()) {\n return;\n }\n this.drawBackground();\n this.drawGrid(chartArea);\n this.drawBorder();\n this.drawTitle();\n this.drawLabels(chartArea);\n }\n _layers() {\n const opts = this.options;\n const tz = opts.ticks && opts.ticks.z || 0;\n const gz = valueOrDefault(opts.grid && opts.grid.z, -1);\n if (!this._isVisible() || this.draw !== Scale.prototype.draw) {\n return [{\n z: tz,\n draw: (chartArea) => {\n this.draw(chartArea);\n }\n }];\n }\n return [{\n z: gz,\n draw: (chartArea) => {\n this.drawBackground();\n this.drawGrid(chartArea);\n this.drawTitle();\n }\n }, {\n z: gz + 1,\n draw: () => {\n this.drawBorder();\n }\n }, {\n z: tz,\n draw: (chartArea) => {\n this.drawLabels(chartArea);\n }\n }];\n }\n getMatchingVisibleMetas(type) {\n const metas = this.chart.getSortedVisibleDatasetMetas();\n const axisID = this.axis + 'AxisID';\n const result = [];\n let i, ilen;\n for (i = 0, ilen = metas.length; i < ilen; ++i) {\n const meta = metas[i];\n if (meta[axisID] === this.id && (!type || meta.type === type)) {\n result.push(meta);\n }\n }\n return result;\n }\n _resolveTickFontOptions(index) {\n const opts = this.options.ticks.setContext(this.getContext(index));\n return toFont(opts.font);\n }\n _maxDigits() {\n const fontSize = this._resolveTickFontOptions(0).lineHeight;\n return (this.isHorizontal() ? this.width : this.height) / fontSize;\n }\n}\n\nclass TypedRegistry {\n constructor(type, scope, override) {\n this.type = type;\n this.scope = scope;\n this.override = override;\n this.items = Object.create(null);\n }\n isForType(type) {\n return Object.prototype.isPrototypeOf.call(this.type.prototype, type.prototype);\n }\n register(item) {\n const proto = Object.getPrototypeOf(item);\n let parentScope;\n if (isIChartComponent(proto)) {\n parentScope = this.register(proto);\n }\n const items = this.items;\n const id = item.id;\n const scope = this.scope + '.' + id;\n if (!id) {\n throw new Error('class does not have id: ' + item);\n }\n if (id in items) {\n return scope;\n }\n items[id] = item;\n registerDefaults(item, scope, parentScope);\n if (this.override) {\n defaults.override(item.id, item.overrides);\n }\n return scope;\n }\n get(id) {\n return this.items[id];\n }\n unregister(item) {\n const items = this.items;\n const id = item.id;\n const scope = this.scope;\n if (id in items) {\n delete items[id];\n }\n if (scope && id in defaults[scope]) {\n delete defaults[scope][id];\n if (this.override) {\n delete overrides[id];\n }\n }\n }\n}\nfunction registerDefaults(item, scope, parentScope) {\n const itemDefaults = merge(Object.create(null), [\n parentScope ? defaults.get(parentScope) : {},\n defaults.get(scope),\n item.defaults\n ]);\n defaults.set(scope, itemDefaults);\n if (item.defaultRoutes) {\n routeDefaults(scope, item.defaultRoutes);\n }\n if (item.descriptors) {\n defaults.describe(scope, item.descriptors);\n }\n}\nfunction routeDefaults(scope, routes) {\n Object.keys(routes).forEach(property => {\n const propertyParts = property.split('.');\n const sourceName = propertyParts.pop();\n const sourceScope = [scope].concat(propertyParts).join('.');\n const parts = routes[property].split('.');\n const targetName = parts.pop();\n const targetScope = parts.join('.');\n defaults.route(sourceScope, sourceName, targetScope, targetName);\n });\n}\nfunction isIChartComponent(proto) {\n return 'id' in proto && 'defaults' in proto;\n}\n\nclass Registry {\n constructor() {\n this.controllers = new TypedRegistry(DatasetController, 'datasets', true);\n this.elements = new TypedRegistry(Element, 'elements');\n this.plugins = new TypedRegistry(Object, 'plugins');\n this.scales = new TypedRegistry(Scale, 'scales');\n this._typedRegistries = [this.controllers, this.scales, this.elements];\n }\n add(...args) {\n this._each('register', args);\n }\n remove(...args) {\n this._each('unregister', args);\n }\n addControllers(...args) {\n this._each('register', args, this.controllers);\n }\n addElements(...args) {\n this._each('register', args, this.elements);\n }\n addPlugins(...args) {\n this._each('register', args, this.plugins);\n }\n addScales(...args) {\n this._each('register', args, this.scales);\n }\n getController(id) {\n return this._get(id, this.controllers, 'controller');\n }\n getElement(id) {\n return this._get(id, this.elements, 'element');\n }\n getPlugin(id) {\n return this._get(id, this.plugins, 'plugin');\n }\n getScale(id) {\n return this._get(id, this.scales, 'scale');\n }\n removeControllers(...args) {\n this._each('unregister', args, this.controllers);\n }\n removeElements(...args) {\n this._each('unregister', args, this.elements);\n }\n removePlugins(...args) {\n this._each('unregister', args, this.plugins);\n }\n removeScales(...args) {\n this._each('unregister', args, this.scales);\n }\n _each(method, args, typedRegistry) {\n [...args].forEach(arg => {\n const reg = typedRegistry || this._getRegistryForType(arg);\n if (typedRegistry || reg.isForType(arg) || (reg === this.plugins && arg.id)) {\n this._exec(method, reg, arg);\n } else {\n each(arg, item => {\n const itemReg = typedRegistry || this._getRegistryForType(item);\n this._exec(method, itemReg, item);\n });\n }\n });\n }\n _exec(method, registry, component) {\n const camelMethod = _capitalize(method);\n callback(component['before' + camelMethod], [], component);\n registry[method](component);\n callback(component['after' + camelMethod], [], component);\n }\n _getRegistryForType(type) {\n for (let i = 0; i < this._typedRegistries.length; i++) {\n const reg = this._typedRegistries[i];\n if (reg.isForType(type)) {\n return reg;\n }\n }\n return this.plugins;\n }\n _get(id, typedRegistry, type) {\n const item = typedRegistry.get(id);\n if (item === undefined) {\n throw new Error('\"' + id + '\" is not a registered ' + type + '.');\n }\n return item;\n }\n}\nvar registry = new Registry();\n\nclass PluginService {\n constructor() {\n this._init = [];\n }\n notify(chart, hook, args, filter) {\n if (hook === 'beforeInit') {\n this._init = this._createDescriptors(chart, true);\n this._notify(this._init, chart, 'install');\n }\n const descriptors = filter ? this._descriptors(chart).filter(filter) : this._descriptors(chart);\n const result = this._notify(descriptors, chart, hook, args);\n if (hook === 'afterDestroy') {\n this._notify(descriptors, chart, 'stop');\n this._notify(this._init, chart, 'uninstall');\n }\n return result;\n }\n _notify(descriptors, chart, hook, args) {\n args = args || {};\n for (const descriptor of descriptors) {\n const plugin = descriptor.plugin;\n const method = plugin[hook];\n const params = [chart, args, descriptor.options];\n if (callback(method, params, plugin) === false && args.cancelable) {\n return false;\n }\n }\n return true;\n }\n invalidate() {\n if (!isNullOrUndef(this._cache)) {\n this._oldCache = this._cache;\n this._cache = undefined;\n }\n }\n _descriptors(chart) {\n if (this._cache) {\n return this._cache;\n }\n const descriptors = this._cache = this._createDescriptors(chart);\n this._notifyStateChanges(chart);\n return descriptors;\n }\n _createDescriptors(chart, all) {\n const config = chart && chart.config;\n const options = valueOrDefault(config.options && config.options.plugins, {});\n const plugins = allPlugins(config);\n return options === false && !all ? [] : createDescriptors(chart, plugins, options, all);\n }\n _notifyStateChanges(chart) {\n const previousDescriptors = this._oldCache || [];\n const descriptors = this._cache;\n const diff = (a, b) => a.filter(x => !b.some(y => x.plugin.id === y.plugin.id));\n this._notify(diff(previousDescriptors, descriptors), chart, 'stop');\n this._notify(diff(descriptors, previousDescriptors), chart, 'start');\n }\n}\nfunction allPlugins(config) {\n const localIds = {};\n const plugins = [];\n const keys = Object.keys(registry.plugins.items);\n for (let i = 0; i < keys.length; i++) {\n plugins.push(registry.getPlugin(keys[i]));\n }\n const local = config.plugins || [];\n for (let i = 0; i < local.length; i++) {\n const plugin = local[i];\n if (plugins.indexOf(plugin) === -1) {\n plugins.push(plugin);\n localIds[plugin.id] = true;\n }\n }\n return {plugins, localIds};\n}\nfunction getOpts(options, all) {\n if (!all && options === false) {\n return null;\n }\n if (options === true) {\n return {};\n }\n return options;\n}\nfunction createDescriptors(chart, {plugins, localIds}, options, all) {\n const result = [];\n const context = chart.getContext();\n for (const plugin of plugins) {\n const id = plugin.id;\n const opts = getOpts(options[id], all);\n if (opts === null) {\n continue;\n }\n result.push({\n plugin,\n options: pluginOpts(chart.config, {plugin, local: localIds[id]}, opts, context)\n });\n }\n return result;\n}\nfunction pluginOpts(config, {plugin, local}, opts, context) {\n const keys = config.pluginScopeKeys(plugin);\n const scopes = config.getOptionScopes(opts, keys);\n if (local && plugin.defaults) {\n scopes.push(plugin.defaults);\n }\n return config.createResolver(scopes, context, [''], {\n scriptable: false,\n indexable: false,\n allKeys: true\n });\n}\n\nfunction getIndexAxis(type, options) {\n const datasetDefaults = defaults.datasets[type] || {};\n const datasetOptions = (options.datasets || {})[type] || {};\n return datasetOptions.indexAxis || options.indexAxis || datasetDefaults.indexAxis || 'x';\n}\nfunction getAxisFromDefaultScaleID(id, indexAxis) {\n let axis = id;\n if (id === '_index_') {\n axis = indexAxis;\n } else if (id === '_value_') {\n axis = indexAxis === 'x' ? 'y' : 'x';\n }\n return axis;\n}\nfunction getDefaultScaleIDFromAxis(axis, indexAxis) {\n return axis === indexAxis ? '_index_' : '_value_';\n}\nfunction axisFromPosition(position) {\n if (position === 'top' || position === 'bottom') {\n return 'x';\n }\n if (position === 'left' || position === 'right') {\n return 'y';\n }\n}\nfunction determineAxis(id, scaleOptions) {\n if (id === 'x' || id === 'y') {\n return id;\n }\n return scaleOptions.axis || axisFromPosition(scaleOptions.position) || id.charAt(0).toLowerCase();\n}\nfunction mergeScaleConfig(config, options) {\n const chartDefaults = overrides[config.type] || {scales: {}};\n const configScales = options.scales || {};\n const chartIndexAxis = getIndexAxis(config.type, options);\n const firstIDs = Object.create(null);\n const scales = Object.create(null);\n Object.keys(configScales).forEach(id => {\n const scaleConf = configScales[id];\n if (!isObject(scaleConf)) {\n return console.error(`Invalid scale configuration for scale: ${id}`);\n }\n if (scaleConf._proxy) {\n return console.warn(`Ignoring resolver passed as options for scale: ${id}`);\n }\n const axis = determineAxis(id, scaleConf);\n const defaultId = getDefaultScaleIDFromAxis(axis, chartIndexAxis);\n const defaultScaleOptions = chartDefaults.scales || {};\n firstIDs[axis] = firstIDs[axis] || id;\n scales[id] = mergeIf(Object.create(null), [{axis}, scaleConf, defaultScaleOptions[axis], defaultScaleOptions[defaultId]]);\n });\n config.data.datasets.forEach(dataset => {\n const type = dataset.type || config.type;\n const indexAxis = dataset.indexAxis || getIndexAxis(type, options);\n const datasetDefaults = overrides[type] || {};\n const defaultScaleOptions = datasetDefaults.scales || {};\n Object.keys(defaultScaleOptions).forEach(defaultID => {\n const axis = getAxisFromDefaultScaleID(defaultID, indexAxis);\n const id = dataset[axis + 'AxisID'] || firstIDs[axis] || axis;\n scales[id] = scales[id] || Object.create(null);\n mergeIf(scales[id], [{axis}, configScales[id], defaultScaleOptions[defaultID]]);\n });\n });\n Object.keys(scales).forEach(key => {\n const scale = scales[key];\n mergeIf(scale, [defaults.scales[scale.type], defaults.scale]);\n });\n return scales;\n}\nfunction initOptions(config) {\n const options = config.options || (config.options = {});\n options.plugins = valueOrDefault(options.plugins, {});\n options.scales = mergeScaleConfig(config, options);\n}\nfunction initData(data) {\n data = data || {};\n data.datasets = data.datasets || [];\n data.labels = data.labels || [];\n return data;\n}\nfunction initConfig(config) {\n config = config || {};\n config.data = initData(config.data);\n initOptions(config);\n return config;\n}\nconst keyCache = new Map();\nconst keysCached = new Set();\nfunction cachedKeys(cacheKey, generate) {\n let keys = keyCache.get(cacheKey);\n if (!keys) {\n keys = generate();\n keyCache.set(cacheKey, keys);\n keysCached.add(keys);\n }\n return keys;\n}\nconst addIfFound = (set, obj, key) => {\n const opts = resolveObjectKey(obj, key);\n if (opts !== undefined) {\n set.add(opts);\n }\n};\nclass Config {\n constructor(config) {\n this._config = initConfig(config);\n this._scopeCache = new Map();\n this._resolverCache = new Map();\n }\n get platform() {\n return this._config.platform;\n }\n get type() {\n return this._config.type;\n }\n set type(type) {\n this._config.type = type;\n }\n get data() {\n return this._config.data;\n }\n set data(data) {\n this._config.data = initData(data);\n }\n get options() {\n return this._config.options;\n }\n set options(options) {\n this._config.options = options;\n }\n get plugins() {\n return this._config.plugins;\n }\n update() {\n const config = this._config;\n this.clearCache();\n initOptions(config);\n }\n clearCache() {\n this._scopeCache.clear();\n this._resolverCache.clear();\n }\n datasetScopeKeys(datasetType) {\n return cachedKeys(datasetType,\n () => [[\n `datasets.${datasetType}`,\n ''\n ]]);\n }\n datasetAnimationScopeKeys(datasetType, transition) {\n return cachedKeys(`${datasetType}.transition.${transition}`,\n () => [\n [\n `datasets.${datasetType}.transitions.${transition}`,\n `transitions.${transition}`,\n ],\n [\n `datasets.${datasetType}`,\n ''\n ]\n ]);\n }\n datasetElementScopeKeys(datasetType, elementType) {\n return cachedKeys(`${datasetType}-${elementType}`,\n () => [[\n `datasets.${datasetType}.elements.${elementType}`,\n `datasets.${datasetType}`,\n `elements.${elementType}`,\n ''\n ]]);\n }\n pluginScopeKeys(plugin) {\n const id = plugin.id;\n const type = this.type;\n return cachedKeys(`${type}-plugin-${id}`,\n () => [[\n `plugins.${id}`,\n ...plugin.additionalOptionScopes || [],\n ]]);\n }\n _cachedScopes(mainScope, resetCache) {\n const _scopeCache = this._scopeCache;\n let cache = _scopeCache.get(mainScope);\n if (!cache || resetCache) {\n cache = new Map();\n _scopeCache.set(mainScope, cache);\n }\n return cache;\n }\n getOptionScopes(mainScope, keyLists, resetCache) {\n const {options, type} = this;\n const cache = this._cachedScopes(mainScope, resetCache);\n const cached = cache.get(keyLists);\n if (cached) {\n return cached;\n }\n const scopes = new Set();\n keyLists.forEach(keys => {\n if (mainScope) {\n scopes.add(mainScope);\n keys.forEach(key => addIfFound(scopes, mainScope, key));\n }\n keys.forEach(key => addIfFound(scopes, options, key));\n keys.forEach(key => addIfFound(scopes, overrides[type] || {}, key));\n keys.forEach(key => addIfFound(scopes, defaults, key));\n keys.forEach(key => addIfFound(scopes, descriptors, key));\n });\n const array = Array.from(scopes);\n if (array.length === 0) {\n array.push(Object.create(null));\n }\n if (keysCached.has(keyLists)) {\n cache.set(keyLists, array);\n }\n return array;\n }\n chartOptionScopes() {\n const {options, type} = this;\n return [\n options,\n overrides[type] || {},\n defaults.datasets[type] || {},\n {type},\n defaults,\n descriptors\n ];\n }\n resolveNamedOptions(scopes, names, context, prefixes = ['']) {\n const result = {$shared: true};\n const {resolver, subPrefixes} = getResolver(this._resolverCache, scopes, prefixes);\n let options = resolver;\n if (needContext(resolver, names)) {\n result.$shared = false;\n context = isFunction(context) ? context() : context;\n const subResolver = this.createResolver(scopes, context, subPrefixes);\n options = _attachContext(resolver, context, subResolver);\n }\n for (const prop of names) {\n result[prop] = options[prop];\n }\n return result;\n }\n createResolver(scopes, context, prefixes = [''], descriptorDefaults) {\n const {resolver} = getResolver(this._resolverCache, scopes, prefixes);\n return isObject(context)\n ? _attachContext(resolver, context, undefined, descriptorDefaults)\n : resolver;\n }\n}\nfunction getResolver(resolverCache, scopes, prefixes) {\n let cache = resolverCache.get(scopes);\n if (!cache) {\n cache = new Map();\n resolverCache.set(scopes, cache);\n }\n const cacheKey = prefixes.join();\n let cached = cache.get(cacheKey);\n if (!cached) {\n const resolver = _createResolver(scopes, prefixes);\n cached = {\n resolver,\n subPrefixes: prefixes.filter(p => !p.toLowerCase().includes('hover'))\n };\n cache.set(cacheKey, cached);\n }\n return cached;\n}\nconst hasFunction = value => isObject(value)\n && Object.getOwnPropertyNames(value).reduce((acc, key) => acc || isFunction(value[key]), false);\nfunction needContext(proxy, names) {\n const {isScriptable, isIndexable} = _descriptors(proxy);\n for (const prop of names) {\n const scriptable = isScriptable(prop);\n const indexable = isIndexable(prop);\n const value = (indexable || scriptable) && proxy[prop];\n if ((scriptable && (isFunction(value) || hasFunction(value)))\n || (indexable && isArray(value))) {\n return true;\n }\n }\n return false;\n}\n\nvar version = \"3.9.1\";\n\nconst KNOWN_POSITIONS = ['top', 'bottom', 'left', 'right', 'chartArea'];\nfunction positionIsHorizontal(position, axis) {\n return position === 'top' || position === 'bottom' || (KNOWN_POSITIONS.indexOf(position) === -1 && axis === 'x');\n}\nfunction compare2Level(l1, l2) {\n return function(a, b) {\n return a[l1] === b[l1]\n ? a[l2] - b[l2]\n : a[l1] - b[l1];\n };\n}\nfunction onAnimationsComplete(context) {\n const chart = context.chart;\n const animationOptions = chart.options.animation;\n chart.notifyPlugins('afterRender');\n callback(animationOptions && animationOptions.onComplete, [context], chart);\n}\nfunction onAnimationProgress(context) {\n const chart = context.chart;\n const animationOptions = chart.options.animation;\n callback(animationOptions && animationOptions.onProgress, [context], chart);\n}\nfunction getCanvas(item) {\n if (_isDomSupported() && typeof item === 'string') {\n item = document.getElementById(item);\n } else if (item && item.length) {\n item = item[0];\n }\n if (item && item.canvas) {\n item = item.canvas;\n }\n return item;\n}\nconst instances = {};\nconst getChart = (key) => {\n const canvas = getCanvas(key);\n return Object.values(instances).filter((c) => c.canvas === canvas).pop();\n};\nfunction moveNumericKeys(obj, start, move) {\n const keys = Object.keys(obj);\n for (const key of keys) {\n const intKey = +key;\n if (intKey >= start) {\n const value = obj[key];\n delete obj[key];\n if (move > 0 || intKey > start) {\n obj[intKey + move] = value;\n }\n }\n }\n}\nfunction determineLastEvent(e, lastEvent, inChartArea, isClick) {\n if (!inChartArea || e.type === 'mouseout') {\n return null;\n }\n if (isClick) {\n return lastEvent;\n }\n return e;\n}\nclass Chart {\n constructor(item, userConfig) {\n const config = this.config = new Config(userConfig);\n const initialCanvas = getCanvas(item);\n const existingChart = getChart(initialCanvas);\n if (existingChart) {\n throw new Error(\n 'Canvas is already in use. Chart with ID \\'' + existingChart.id + '\\'' +\n\t\t\t\t' must be destroyed before the canvas with ID \\'' + existingChart.canvas.id + '\\' can be reused.'\n );\n }\n const options = config.createResolver(config.chartOptionScopes(), this.getContext());\n this.platform = new (config.platform || _detectPlatform(initialCanvas))();\n this.platform.updateConfig(config);\n const context = this.platform.acquireContext(initialCanvas, options.aspectRatio);\n const canvas = context && context.canvas;\n const height = canvas && canvas.height;\n const width = canvas && canvas.width;\n this.id = uid();\n this.ctx = context;\n this.canvas = canvas;\n this.width = width;\n this.height = height;\n this._options = options;\n this._aspectRatio = this.aspectRatio;\n this._layers = [];\n this._metasets = [];\n this._stacks = undefined;\n this.boxes = [];\n this.currentDevicePixelRatio = undefined;\n this.chartArea = undefined;\n this._active = [];\n this._lastEvent = undefined;\n this._listeners = {};\n this._responsiveListeners = undefined;\n this._sortedMetasets = [];\n this.scales = {};\n this._plugins = new PluginService();\n this.$proxies = {};\n this._hiddenIndices = {};\n this.attached = false;\n this._animationsDisabled = undefined;\n this.$context = undefined;\n this._doResize = debounce(mode => this.update(mode), options.resizeDelay || 0);\n this._dataChanges = [];\n instances[this.id] = this;\n if (!context || !canvas) {\n console.error(\"Failed to create chart: can't acquire context from the given item\");\n return;\n }\n animator.listen(this, 'complete', onAnimationsComplete);\n animator.listen(this, 'progress', onAnimationProgress);\n this._initialize();\n if (this.attached) {\n this.update();\n }\n }\n get aspectRatio() {\n const {options: {aspectRatio, maintainAspectRatio}, width, height, _aspectRatio} = this;\n if (!isNullOrUndef(aspectRatio)) {\n return aspectRatio;\n }\n if (maintainAspectRatio && _aspectRatio) {\n return _aspectRatio;\n }\n return height ? width / height : null;\n }\n get data() {\n return this.config.data;\n }\n set data(data) {\n this.config.data = data;\n }\n get options() {\n return this._options;\n }\n set options(options) {\n this.config.options = options;\n }\n _initialize() {\n this.notifyPlugins('beforeInit');\n if (this.options.responsive) {\n this.resize();\n } else {\n retinaScale(this, this.options.devicePixelRatio);\n }\n this.bindEvents();\n this.notifyPlugins('afterInit');\n return this;\n }\n clear() {\n clearCanvas(this.canvas, this.ctx);\n return this;\n }\n stop() {\n animator.stop(this);\n return this;\n }\n resize(width, height) {\n if (!animator.running(this)) {\n this._resize(width, height);\n } else {\n this._resizeBeforeDraw = {width, height};\n }\n }\n _resize(width, height) {\n const options = this.options;\n const canvas = this.canvas;\n const aspectRatio = options.maintainAspectRatio && this.aspectRatio;\n const newSize = this.platform.getMaximumSize(canvas, width, height, aspectRatio);\n const newRatio = options.devicePixelRatio || this.platform.getDevicePixelRatio();\n const mode = this.width ? 'resize' : 'attach';\n this.width = newSize.width;\n this.height = newSize.height;\n this._aspectRatio = this.aspectRatio;\n if (!retinaScale(this, newRatio, true)) {\n return;\n }\n this.notifyPlugins('resize', {size: newSize});\n callback(options.onResize, [this, newSize], this);\n if (this.attached) {\n if (this._doResize(mode)) {\n this.render();\n }\n }\n }\n ensureScalesHaveIDs() {\n const options = this.options;\n const scalesOptions = options.scales || {};\n each(scalesOptions, (axisOptions, axisID) => {\n axisOptions.id = axisID;\n });\n }\n buildOrUpdateScales() {\n const options = this.options;\n const scaleOpts = options.scales;\n const scales = this.scales;\n const updated = Object.keys(scales).reduce((obj, id) => {\n obj[id] = false;\n return obj;\n }, {});\n let items = [];\n if (scaleOpts) {\n items = items.concat(\n Object.keys(scaleOpts).map((id) => {\n const scaleOptions = scaleOpts[id];\n const axis = determineAxis(id, scaleOptions);\n const isRadial = axis === 'r';\n const isHorizontal = axis === 'x';\n return {\n options: scaleOptions,\n dposition: isRadial ? 'chartArea' : isHorizontal ? 'bottom' : 'left',\n dtype: isRadial ? 'radialLinear' : isHorizontal ? 'category' : 'linear'\n };\n })\n );\n }\n each(items, (item) => {\n const scaleOptions = item.options;\n const id = scaleOptions.id;\n const axis = determineAxis(id, scaleOptions);\n const scaleType = valueOrDefault(scaleOptions.type, item.dtype);\n if (scaleOptions.position === undefined || positionIsHorizontal(scaleOptions.position, axis) !== positionIsHorizontal(item.dposition)) {\n scaleOptions.position = item.dposition;\n }\n updated[id] = true;\n let scale = null;\n if (id in scales && scales[id].type === scaleType) {\n scale = scales[id];\n } else {\n const scaleClass = registry.getScale(scaleType);\n scale = new scaleClass({\n id,\n type: scaleType,\n ctx: this.ctx,\n chart: this\n });\n scales[scale.id] = scale;\n }\n scale.init(scaleOptions, options);\n });\n each(updated, (hasUpdated, id) => {\n if (!hasUpdated) {\n delete scales[id];\n }\n });\n each(scales, (scale) => {\n layouts.configure(this, scale, scale.options);\n layouts.addBox(this, scale);\n });\n }\n _updateMetasets() {\n const metasets = this._metasets;\n const numData = this.data.datasets.length;\n const numMeta = metasets.length;\n metasets.sort((a, b) => a.index - b.index);\n if (numMeta > numData) {\n for (let i = numData; i < numMeta; ++i) {\n this._destroyDatasetMeta(i);\n }\n metasets.splice(numData, numMeta - numData);\n }\n this._sortedMetasets = metasets.slice(0).sort(compare2Level('order', 'index'));\n }\n _removeUnreferencedMetasets() {\n const {_metasets: metasets, data: {datasets}} = this;\n if (metasets.length > datasets.length) {\n delete this._stacks;\n }\n metasets.forEach((meta, index) => {\n if (datasets.filter(x => x === meta._dataset).length === 0) {\n this._destroyDatasetMeta(index);\n }\n });\n }\n buildOrUpdateControllers() {\n const newControllers = [];\n const datasets = this.data.datasets;\n let i, ilen;\n this._removeUnreferencedMetasets();\n for (i = 0, ilen = datasets.length; i < ilen; i++) {\n const dataset = datasets[i];\n let meta = this.getDatasetMeta(i);\n const type = dataset.type || this.config.type;\n if (meta.type && meta.type !== type) {\n this._destroyDatasetMeta(i);\n meta = this.getDatasetMeta(i);\n }\n meta.type = type;\n meta.indexAxis = dataset.indexAxis || getIndexAxis(type, this.options);\n meta.order = dataset.order || 0;\n meta.index = i;\n meta.label = '' + dataset.label;\n meta.visible = this.isDatasetVisible(i);\n if (meta.controller) {\n meta.controller.updateIndex(i);\n meta.controller.linkScales();\n } else {\n const ControllerClass = registry.getController(type);\n const {datasetElementType, dataElementType} = defaults.datasets[type];\n Object.assign(ControllerClass.prototype, {\n dataElementType: registry.getElement(dataElementType),\n datasetElementType: datasetElementType && registry.getElement(datasetElementType)\n });\n meta.controller = new ControllerClass(this, i);\n newControllers.push(meta.controller);\n }\n }\n this._updateMetasets();\n return newControllers;\n }\n _resetElements() {\n each(this.data.datasets, (dataset, datasetIndex) => {\n this.getDatasetMeta(datasetIndex).controller.reset();\n }, this);\n }\n reset() {\n this._resetElements();\n this.notifyPlugins('reset');\n }\n update(mode) {\n const config = this.config;\n config.update();\n const options = this._options = config.createResolver(config.chartOptionScopes(), this.getContext());\n const animsDisabled = this._animationsDisabled = !options.animation;\n this._updateScales();\n this._checkEventBindings();\n this._updateHiddenIndices();\n this._plugins.invalidate();\n if (this.notifyPlugins('beforeUpdate', {mode, cancelable: true}) === false) {\n return;\n }\n const newControllers = this.buildOrUpdateControllers();\n this.notifyPlugins('beforeElementsUpdate');\n let minPadding = 0;\n for (let i = 0, ilen = this.data.datasets.length; i < ilen; i++) {\n const {controller} = this.getDatasetMeta(i);\n const reset = !animsDisabled && newControllers.indexOf(controller) === -1;\n controller.buildOrUpdateElements(reset);\n minPadding = Math.max(+controller.getMaxOverflow(), minPadding);\n }\n minPadding = this._minPadding = options.layout.autoPadding ? minPadding : 0;\n this._updateLayout(minPadding);\n if (!animsDisabled) {\n each(newControllers, (controller) => {\n controller.reset();\n });\n }\n this._updateDatasets(mode);\n this.notifyPlugins('afterUpdate', {mode});\n this._layers.sort(compare2Level('z', '_idx'));\n const {_active, _lastEvent} = this;\n if (_lastEvent) {\n this._eventHandler(_lastEvent, true);\n } else if (_active.length) {\n this._updateHoverStyles(_active, _active, true);\n }\n this.render();\n }\n _updateScales() {\n each(this.scales, (scale) => {\n layouts.removeBox(this, scale);\n });\n this.ensureScalesHaveIDs();\n this.buildOrUpdateScales();\n }\n _checkEventBindings() {\n const options = this.options;\n const existingEvents = new Set(Object.keys(this._listeners));\n const newEvents = new Set(options.events);\n if (!setsEqual(existingEvents, newEvents) || !!this._responsiveListeners !== options.responsive) {\n this.unbindEvents();\n this.bindEvents();\n }\n }\n _updateHiddenIndices() {\n const {_hiddenIndices} = this;\n const changes = this._getUniformDataChanges() || [];\n for (const {method, start, count} of changes) {\n const move = method === '_removeElements' ? -count : count;\n moveNumericKeys(_hiddenIndices, start, move);\n }\n }\n _getUniformDataChanges() {\n const _dataChanges = this._dataChanges;\n if (!_dataChanges || !_dataChanges.length) {\n return;\n }\n this._dataChanges = [];\n const datasetCount = this.data.datasets.length;\n const makeSet = (idx) => new Set(\n _dataChanges\n .filter(c => c[0] === idx)\n .map((c, i) => i + ',' + c.splice(1).join(','))\n );\n const changeSet = makeSet(0);\n for (let i = 1; i < datasetCount; i++) {\n if (!setsEqual(changeSet, makeSet(i))) {\n return;\n }\n }\n return Array.from(changeSet)\n .map(c => c.split(','))\n .map(a => ({method: a[1], start: +a[2], count: +a[3]}));\n }\n _updateLayout(minPadding) {\n if (this.notifyPlugins('beforeLayout', {cancelable: true}) === false) {\n return;\n }\n layouts.update(this, this.width, this.height, minPadding);\n const area = this.chartArea;\n const noArea = area.width <= 0 || area.height <= 0;\n this._layers = [];\n each(this.boxes, (box) => {\n if (noArea && box.position === 'chartArea') {\n return;\n }\n if (box.configure) {\n box.configure();\n }\n this._layers.push(...box._layers());\n }, this);\n this._layers.forEach((item, index) => {\n item._idx = index;\n });\n this.notifyPlugins('afterLayout');\n }\n _updateDatasets(mode) {\n if (this.notifyPlugins('beforeDatasetsUpdate', {mode, cancelable: true}) === false) {\n return;\n }\n for (let i = 0, ilen = this.data.datasets.length; i < ilen; ++i) {\n this.getDatasetMeta(i).controller.configure();\n }\n for (let i = 0, ilen = this.data.datasets.length; i < ilen; ++i) {\n this._updateDataset(i, isFunction(mode) ? mode({datasetIndex: i}) : mode);\n }\n this.notifyPlugins('afterDatasetsUpdate', {mode});\n }\n _updateDataset(index, mode) {\n const meta = this.getDatasetMeta(index);\n const args = {meta, index, mode, cancelable: true};\n if (this.notifyPlugins('beforeDatasetUpdate', args) === false) {\n return;\n }\n meta.controller._update(mode);\n args.cancelable = false;\n this.notifyPlugins('afterDatasetUpdate', args);\n }\n render() {\n if (this.notifyPlugins('beforeRender', {cancelable: true}) === false) {\n return;\n }\n if (animator.has(this)) {\n if (this.attached && !animator.running(this)) {\n animator.start(this);\n }\n } else {\n this.draw();\n onAnimationsComplete({chart: this});\n }\n }\n draw() {\n let i;\n if (this._resizeBeforeDraw) {\n const {width, height} = this._resizeBeforeDraw;\n this._resize(width, height);\n this._resizeBeforeDraw = null;\n }\n this.clear();\n if (this.width <= 0 || this.height <= 0) {\n return;\n }\n if (this.notifyPlugins('beforeDraw', {cancelable: true}) === false) {\n return;\n }\n const layers = this._layers;\n for (i = 0; i < layers.length && layers[i].z <= 0; ++i) {\n layers[i].draw(this.chartArea);\n }\n this._drawDatasets();\n for (; i < layers.length; ++i) {\n layers[i].draw(this.chartArea);\n }\n this.notifyPlugins('afterDraw');\n }\n _getSortedDatasetMetas(filterVisible) {\n const metasets = this._sortedMetasets;\n const result = [];\n let i, ilen;\n for (i = 0, ilen = metasets.length; i < ilen; ++i) {\n const meta = metasets[i];\n if (!filterVisible || meta.visible) {\n result.push(meta);\n }\n }\n return result;\n }\n getSortedVisibleDatasetMetas() {\n return this._getSortedDatasetMetas(true);\n }\n _drawDatasets() {\n if (this.notifyPlugins('beforeDatasetsDraw', {cancelable: true}) === false) {\n return;\n }\n const metasets = this.getSortedVisibleDatasetMetas();\n for (let i = metasets.length - 1; i >= 0; --i) {\n this._drawDataset(metasets[i]);\n }\n this.notifyPlugins('afterDatasetsDraw');\n }\n _drawDataset(meta) {\n const ctx = this.ctx;\n const clip = meta._clip;\n const useClip = !clip.disabled;\n const area = this.chartArea;\n const args = {\n meta,\n index: meta.index,\n cancelable: true\n };\n if (this.notifyPlugins('beforeDatasetDraw', args) === false) {\n return;\n }\n if (useClip) {\n clipArea(ctx, {\n left: clip.left === false ? 0 : area.left - clip.left,\n right: clip.right === false ? this.width : area.right + clip.right,\n top: clip.top === false ? 0 : area.top - clip.top,\n bottom: clip.bottom === false ? this.height : area.bottom + clip.bottom\n });\n }\n meta.controller.draw();\n if (useClip) {\n unclipArea(ctx);\n }\n args.cancelable = false;\n this.notifyPlugins('afterDatasetDraw', args);\n }\n isPointInArea(point) {\n return _isPointInArea(point, this.chartArea, this._minPadding);\n }\n getElementsAtEventForMode(e, mode, options, useFinalPosition) {\n const method = Interaction.modes[mode];\n if (typeof method === 'function') {\n return method(this, e, options, useFinalPosition);\n }\n return [];\n }\n getDatasetMeta(datasetIndex) {\n const dataset = this.data.datasets[datasetIndex];\n const metasets = this._metasets;\n let meta = metasets.filter(x => x && x._dataset === dataset).pop();\n if (!meta) {\n meta = {\n type: null,\n data: [],\n dataset: null,\n controller: null,\n hidden: null,\n xAxisID: null,\n yAxisID: null,\n order: dataset && dataset.order || 0,\n index: datasetIndex,\n _dataset: dataset,\n _parsed: [],\n _sorted: false\n };\n metasets.push(meta);\n }\n return meta;\n }\n getContext() {\n return this.$context || (this.$context = createContext(null, {chart: this, type: 'chart'}));\n }\n getVisibleDatasetCount() {\n return this.getSortedVisibleDatasetMetas().length;\n }\n isDatasetVisible(datasetIndex) {\n const dataset = this.data.datasets[datasetIndex];\n if (!dataset) {\n return false;\n }\n const meta = this.getDatasetMeta(datasetIndex);\n return typeof meta.hidden === 'boolean' ? !meta.hidden : !dataset.hidden;\n }\n setDatasetVisibility(datasetIndex, visible) {\n const meta = this.getDatasetMeta(datasetIndex);\n meta.hidden = !visible;\n }\n toggleDataVisibility(index) {\n this._hiddenIndices[index] = !this._hiddenIndices[index];\n }\n getDataVisibility(index) {\n return !this._hiddenIndices[index];\n }\n _updateVisibility(datasetIndex, dataIndex, visible) {\n const mode = visible ? 'show' : 'hide';\n const meta = this.getDatasetMeta(datasetIndex);\n const anims = meta.controller._resolveAnimations(undefined, mode);\n if (defined(dataIndex)) {\n meta.data[dataIndex].hidden = !visible;\n this.update();\n } else {\n this.setDatasetVisibility(datasetIndex, visible);\n anims.update(meta, {visible});\n this.update((ctx) => ctx.datasetIndex === datasetIndex ? mode : undefined);\n }\n }\n hide(datasetIndex, dataIndex) {\n this._updateVisibility(datasetIndex, dataIndex, false);\n }\n show(datasetIndex, dataIndex) {\n this._updateVisibility(datasetIndex, dataIndex, true);\n }\n _destroyDatasetMeta(datasetIndex) {\n const meta = this._metasets[datasetIndex];\n if (meta && meta.controller) {\n meta.controller._destroy();\n }\n delete this._metasets[datasetIndex];\n }\n _stop() {\n let i, ilen;\n this.stop();\n animator.remove(this);\n for (i = 0, ilen = this.data.datasets.length; i < ilen; ++i) {\n this._destroyDatasetMeta(i);\n }\n }\n destroy() {\n this.notifyPlugins('beforeDestroy');\n const {canvas, ctx} = this;\n this._stop();\n this.config.clearCache();\n if (canvas) {\n this.unbindEvents();\n clearCanvas(canvas, ctx);\n this.platform.releaseContext(ctx);\n this.canvas = null;\n this.ctx = null;\n }\n this.notifyPlugins('destroy');\n delete instances[this.id];\n this.notifyPlugins('afterDestroy');\n }\n toBase64Image(...args) {\n return this.canvas.toDataURL(...args);\n }\n bindEvents() {\n this.bindUserEvents();\n if (this.options.responsive) {\n this.bindResponsiveEvents();\n } else {\n this.attached = true;\n }\n }\n bindUserEvents() {\n const listeners = this._listeners;\n const platform = this.platform;\n const _add = (type, listener) => {\n platform.addEventListener(this, type, listener);\n listeners[type] = listener;\n };\n const listener = (e, x, y) => {\n e.offsetX = x;\n e.offsetY = y;\n this._eventHandler(e);\n };\n each(this.options.events, (type) => _add(type, listener));\n }\n bindResponsiveEvents() {\n if (!this._responsiveListeners) {\n this._responsiveListeners = {};\n }\n const listeners = this._responsiveListeners;\n const platform = this.platform;\n const _add = (type, listener) => {\n platform.addEventListener(this, type, listener);\n listeners[type] = listener;\n };\n const _remove = (type, listener) => {\n if (listeners[type]) {\n platform.removeEventListener(this, type, listener);\n delete listeners[type];\n }\n };\n const listener = (width, height) => {\n if (this.canvas) {\n this.resize(width, height);\n }\n };\n let detached;\n const attached = () => {\n _remove('attach', attached);\n this.attached = true;\n this.resize();\n _add('resize', listener);\n _add('detach', detached);\n };\n detached = () => {\n this.attached = false;\n _remove('resize', listener);\n this._stop();\n this._resize(0, 0);\n _add('attach', attached);\n };\n if (platform.isAttached(this.canvas)) {\n attached();\n } else {\n detached();\n }\n }\n unbindEvents() {\n each(this._listeners, (listener, type) => {\n this.platform.removeEventListener(this, type, listener);\n });\n this._listeners = {};\n each(this._responsiveListeners, (listener, type) => {\n this.platform.removeEventListener(this, type, listener);\n });\n this._responsiveListeners = undefined;\n }\n updateHoverStyle(items, mode, enabled) {\n const prefix = enabled ? 'set' : 'remove';\n let meta, item, i, ilen;\n if (mode === 'dataset') {\n meta = this.getDatasetMeta(items[0].datasetIndex);\n meta.controller['_' + prefix + 'DatasetHoverStyle']();\n }\n for (i = 0, ilen = items.length; i < ilen; ++i) {\n item = items[i];\n const controller = item && this.getDatasetMeta(item.datasetIndex).controller;\n if (controller) {\n controller[prefix + 'HoverStyle'](item.element, item.datasetIndex, item.index);\n }\n }\n }\n getActiveElements() {\n return this._active || [];\n }\n setActiveElements(activeElements) {\n const lastActive = this._active || [];\n const active = activeElements.map(({datasetIndex, index}) => {\n const meta = this.getDatasetMeta(datasetIndex);\n if (!meta) {\n throw new Error('No dataset found at index ' + datasetIndex);\n }\n return {\n datasetIndex,\n element: meta.data[index],\n index,\n };\n });\n const changed = !_elementsEqual(active, lastActive);\n if (changed) {\n this._active = active;\n this._lastEvent = null;\n this._updateHoverStyles(active, lastActive);\n }\n }\n notifyPlugins(hook, args, filter) {\n return this._plugins.notify(this, hook, args, filter);\n }\n _updateHoverStyles(active, lastActive, replay) {\n const hoverOptions = this.options.hover;\n const diff = (a, b) => a.filter(x => !b.some(y => x.datasetIndex === y.datasetIndex && x.index === y.index));\n const deactivated = diff(lastActive, active);\n const activated = replay ? active : diff(active, lastActive);\n if (deactivated.length) {\n this.updateHoverStyle(deactivated, hoverOptions.mode, false);\n }\n if (activated.length && hoverOptions.mode) {\n this.updateHoverStyle(activated, hoverOptions.mode, true);\n }\n }\n _eventHandler(e, replay) {\n const args = {\n event: e,\n replay,\n cancelable: true,\n inChartArea: this.isPointInArea(e)\n };\n const eventFilter = (plugin) => (plugin.options.events || this.options.events).includes(e.native.type);\n if (this.notifyPlugins('beforeEvent', args, eventFilter) === false) {\n return;\n }\n const changed = this._handleEvent(e, replay, args.inChartArea);\n args.cancelable = false;\n this.notifyPlugins('afterEvent', args, eventFilter);\n if (changed || args.changed) {\n this.render();\n }\n return this;\n }\n _handleEvent(e, replay, inChartArea) {\n const {_active: lastActive = [], options} = this;\n const useFinalPosition = replay;\n const active = this._getActiveElements(e, lastActive, inChartArea, useFinalPosition);\n const isClick = _isClickEvent(e);\n const lastEvent = determineLastEvent(e, this._lastEvent, inChartArea, isClick);\n if (inChartArea) {\n this._lastEvent = null;\n callback(options.onHover, [e, active, this], this);\n if (isClick) {\n callback(options.onClick, [e, active, this], this);\n }\n }\n const changed = !_elementsEqual(active, lastActive);\n if (changed || replay) {\n this._active = active;\n this._updateHoverStyles(active, lastActive, replay);\n }\n this._lastEvent = lastEvent;\n return changed;\n }\n _getActiveElements(e, lastActive, inChartArea, useFinalPosition) {\n if (e.type === 'mouseout') {\n return [];\n }\n if (!inChartArea) {\n return lastActive;\n }\n const hoverOptions = this.options.hover;\n return this.getElementsAtEventForMode(e, hoverOptions.mode, hoverOptions, useFinalPosition);\n }\n}\nconst invalidatePlugins = () => each(Chart.instances, (chart) => chart._plugins.invalidate());\nconst enumerable = true;\nObject.defineProperties(Chart, {\n defaults: {\n enumerable,\n value: defaults\n },\n instances: {\n enumerable,\n value: instances\n },\n overrides: {\n enumerable,\n value: overrides\n },\n registry: {\n enumerable,\n value: registry\n },\n version: {\n enumerable,\n value: version\n },\n getChart: {\n enumerable,\n value: getChart\n },\n register: {\n enumerable,\n value: (...items) => {\n registry.add(...items);\n invalidatePlugins();\n }\n },\n unregister: {\n enumerable,\n value: (...items) => {\n registry.remove(...items);\n invalidatePlugins();\n }\n }\n});\n\nfunction abstract() {\n throw new Error('This method is not implemented: Check that a complete date adapter is provided.');\n}\nclass DateAdapter {\n constructor(options) {\n this.options = options || {};\n }\n init(chartOptions) {}\n formats() {\n return abstract();\n }\n parse(value, format) {\n return abstract();\n }\n format(timestamp, format) {\n return abstract();\n }\n add(timestamp, amount, unit) {\n return abstract();\n }\n diff(a, b, unit) {\n return abstract();\n }\n startOf(timestamp, unit, weekday) {\n return abstract();\n }\n endOf(timestamp, unit) {\n return abstract();\n }\n}\nDateAdapter.override = function(members) {\n Object.assign(DateAdapter.prototype, members);\n};\nvar _adapters = {\n _date: DateAdapter\n};\n\nfunction getAllScaleValues(scale, type) {\n if (!scale._cache.$bar) {\n const visibleMetas = scale.getMatchingVisibleMetas(type);\n let values = [];\n for (let i = 0, ilen = visibleMetas.length; i < ilen; i++) {\n values = values.concat(visibleMetas[i].controller.getAllParsedValues(scale));\n }\n scale._cache.$bar = _arrayUnique(values.sort((a, b) => a - b));\n }\n return scale._cache.$bar;\n}\nfunction computeMinSampleSize(meta) {\n const scale = meta.iScale;\n const values = getAllScaleValues(scale, meta.type);\n let min = scale._length;\n let i, ilen, curr, prev;\n const updateMinAndPrev = () => {\n if (curr === 32767 || curr === -32768) {\n return;\n }\n if (defined(prev)) {\n min = Math.min(min, Math.abs(curr - prev) || min);\n }\n prev = curr;\n };\n for (i = 0, ilen = values.length; i < ilen; ++i) {\n curr = scale.getPixelForValue(values[i]);\n updateMinAndPrev();\n }\n prev = undefined;\n for (i = 0, ilen = scale.ticks.length; i < ilen; ++i) {\n curr = scale.getPixelForTick(i);\n updateMinAndPrev();\n }\n return min;\n}\nfunction computeFitCategoryTraits(index, ruler, options, stackCount) {\n const thickness = options.barThickness;\n let size, ratio;\n if (isNullOrUndef(thickness)) {\n size = ruler.min * options.categoryPercentage;\n ratio = options.barPercentage;\n } else {\n size = thickness * stackCount;\n ratio = 1;\n }\n return {\n chunk: size / stackCount,\n ratio,\n start: ruler.pixels[index] - (size / 2)\n };\n}\nfunction computeFlexCategoryTraits(index, ruler, options, stackCount) {\n const pixels = ruler.pixels;\n const curr = pixels[index];\n let prev = index > 0 ? pixels[index - 1] : null;\n let next = index < pixels.length - 1 ? pixels[index + 1] : null;\n const percent = options.categoryPercentage;\n if (prev === null) {\n prev = curr - (next === null ? ruler.end - ruler.start : next - curr);\n }\n if (next === null) {\n next = curr + curr - prev;\n }\n const start = curr - (curr - Math.min(prev, next)) / 2 * percent;\n const size = Math.abs(next - prev) / 2 * percent;\n return {\n chunk: size / stackCount,\n ratio: options.barPercentage,\n start\n };\n}\nfunction parseFloatBar(entry, item, vScale, i) {\n const startValue = vScale.parse(entry[0], i);\n const endValue = vScale.parse(entry[1], i);\n const min = Math.min(startValue, endValue);\n const max = Math.max(startValue, endValue);\n let barStart = min;\n let barEnd = max;\n if (Math.abs(min) > Math.abs(max)) {\n barStart = max;\n barEnd = min;\n }\n item[vScale.axis] = barEnd;\n item._custom = {\n barStart,\n barEnd,\n start: startValue,\n end: endValue,\n min,\n max\n };\n}\nfunction parseValue(entry, item, vScale, i) {\n if (isArray(entry)) {\n parseFloatBar(entry, item, vScale, i);\n } else {\n item[vScale.axis] = vScale.parse(entry, i);\n }\n return item;\n}\nfunction parseArrayOrPrimitive(meta, data, start, count) {\n const iScale = meta.iScale;\n const vScale = meta.vScale;\n const labels = iScale.getLabels();\n const singleScale = iScale === vScale;\n const parsed = [];\n let i, ilen, item, entry;\n for (i = start, ilen = start + count; i < ilen; ++i) {\n entry = data[i];\n item = {};\n item[iScale.axis] = singleScale || iScale.parse(labels[i], i);\n parsed.push(parseValue(entry, item, vScale, i));\n }\n return parsed;\n}\nfunction isFloatBar(custom) {\n return custom && custom.barStart !== undefined && custom.barEnd !== undefined;\n}\nfunction barSign(size, vScale, actualBase) {\n if (size !== 0) {\n return sign(size);\n }\n return (vScale.isHorizontal() ? 1 : -1) * (vScale.min >= actualBase ? 1 : -1);\n}\nfunction borderProps(properties) {\n let reverse, start, end, top, bottom;\n if (properties.horizontal) {\n reverse = properties.base > properties.x;\n start = 'left';\n end = 'right';\n } else {\n reverse = properties.base < properties.y;\n start = 'bottom';\n end = 'top';\n }\n if (reverse) {\n top = 'end';\n bottom = 'start';\n } else {\n top = 'start';\n bottom = 'end';\n }\n return {start, end, reverse, top, bottom};\n}\nfunction setBorderSkipped(properties, options, stack, index) {\n let edge = options.borderSkipped;\n const res = {};\n if (!edge) {\n properties.borderSkipped = res;\n return;\n }\n if (edge === true) {\n properties.borderSkipped = {top: true, right: true, bottom: true, left: true};\n return;\n }\n const {start, end, reverse, top, bottom} = borderProps(properties);\n if (edge === 'middle' && stack) {\n properties.enableBorderRadius = true;\n if ((stack._top || 0) === index) {\n edge = top;\n } else if ((stack._bottom || 0) === index) {\n edge = bottom;\n } else {\n res[parseEdge(bottom, start, end, reverse)] = true;\n edge = top;\n }\n }\n res[parseEdge(edge, start, end, reverse)] = true;\n properties.borderSkipped = res;\n}\nfunction parseEdge(edge, a, b, reverse) {\n if (reverse) {\n edge = swap(edge, a, b);\n edge = startEnd(edge, b, a);\n } else {\n edge = startEnd(edge, a, b);\n }\n return edge;\n}\nfunction swap(orig, v1, v2) {\n return orig === v1 ? v2 : orig === v2 ? v1 : orig;\n}\nfunction startEnd(v, start, end) {\n return v === 'start' ? start : v === 'end' ? end : v;\n}\nfunction setInflateAmount(properties, {inflateAmount}, ratio) {\n properties.inflateAmount = inflateAmount === 'auto'\n ? ratio === 1 ? 0.33 : 0\n : inflateAmount;\n}\nclass BarController extends DatasetController {\n parsePrimitiveData(meta, data, start, count) {\n return parseArrayOrPrimitive(meta, data, start, count);\n }\n parseArrayData(meta, data, start, count) {\n return parseArrayOrPrimitive(meta, data, start, count);\n }\n parseObjectData(meta, data, start, count) {\n const {iScale, vScale} = meta;\n const {xAxisKey = 'x', yAxisKey = 'y'} = this._parsing;\n const iAxisKey = iScale.axis === 'x' ? xAxisKey : yAxisKey;\n const vAxisKey = vScale.axis === 'x' ? xAxisKey : yAxisKey;\n const parsed = [];\n let i, ilen, item, obj;\n for (i = start, ilen = start + count; i < ilen; ++i) {\n obj = data[i];\n item = {};\n item[iScale.axis] = iScale.parse(resolveObjectKey(obj, iAxisKey), i);\n parsed.push(parseValue(resolveObjectKey(obj, vAxisKey), item, vScale, i));\n }\n return parsed;\n }\n updateRangeFromParsed(range, scale, parsed, stack) {\n super.updateRangeFromParsed(range, scale, parsed, stack);\n const custom = parsed._custom;\n if (custom && scale === this._cachedMeta.vScale) {\n range.min = Math.min(range.min, custom.min);\n range.max = Math.max(range.max, custom.max);\n }\n }\n getMaxOverflow() {\n return 0;\n }\n getLabelAndValue(index) {\n const meta = this._cachedMeta;\n const {iScale, vScale} = meta;\n const parsed = this.getParsed(index);\n const custom = parsed._custom;\n const value = isFloatBar(custom)\n ? '[' + custom.start + ', ' + custom.end + ']'\n : '' + vScale.getLabelForValue(parsed[vScale.axis]);\n return {\n label: '' + iScale.getLabelForValue(parsed[iScale.axis]),\n value\n };\n }\n initialize() {\n this.enableOptionSharing = true;\n super.initialize();\n const meta = this._cachedMeta;\n meta.stack = this.getDataset().stack;\n }\n update(mode) {\n const meta = this._cachedMeta;\n this.updateElements(meta.data, 0, meta.data.length, mode);\n }\n updateElements(bars, start, count, mode) {\n const reset = mode === 'reset';\n const {index, _cachedMeta: {vScale}} = this;\n const base = vScale.getBasePixel();\n const horizontal = vScale.isHorizontal();\n const ruler = this._getRuler();\n const {sharedOptions, includeOptions} = this._getSharedOptions(start, mode);\n for (let i = start; i < start + count; i++) {\n const parsed = this.getParsed(i);\n const vpixels = reset || isNullOrUndef(parsed[vScale.axis]) ? {base, head: base} : this._calculateBarValuePixels(i);\n const ipixels = this._calculateBarIndexPixels(i, ruler);\n const stack = (parsed._stacks || {})[vScale.axis];\n const properties = {\n horizontal,\n base: vpixels.base,\n enableBorderRadius: !stack || isFloatBar(parsed._custom) || (index === stack._top || index === stack._bottom),\n x: horizontal ? vpixels.head : ipixels.center,\n y: horizontal ? ipixels.center : vpixels.head,\n height: horizontal ? ipixels.size : Math.abs(vpixels.size),\n width: horizontal ? Math.abs(vpixels.size) : ipixels.size\n };\n if (includeOptions) {\n properties.options = sharedOptions || this.resolveDataElementOptions(i, bars[i].active ? 'active' : mode);\n }\n const options = properties.options || bars[i].options;\n setBorderSkipped(properties, options, stack, index);\n setInflateAmount(properties, options, ruler.ratio);\n this.updateElement(bars[i], i, properties, mode);\n }\n }\n _getStacks(last, dataIndex) {\n const {iScale} = this._cachedMeta;\n const metasets = iScale.getMatchingVisibleMetas(this._type)\n .filter(meta => meta.controller.options.grouped);\n const stacked = iScale.options.stacked;\n const stacks = [];\n const skipNull = (meta) => {\n const parsed = meta.controller.getParsed(dataIndex);\n const val = parsed && parsed[meta.vScale.axis];\n if (isNullOrUndef(val) || isNaN(val)) {\n return true;\n }\n };\n for (const meta of metasets) {\n if (dataIndex !== undefined && skipNull(meta)) {\n continue;\n }\n if (stacked === false || stacks.indexOf(meta.stack) === -1 ||\n\t\t\t\t(stacked === undefined && meta.stack === undefined)) {\n stacks.push(meta.stack);\n }\n if (meta.index === last) {\n break;\n }\n }\n if (!stacks.length) {\n stacks.push(undefined);\n }\n return stacks;\n }\n _getStackCount(index) {\n return this._getStacks(undefined, index).length;\n }\n _getStackIndex(datasetIndex, name, dataIndex) {\n const stacks = this._getStacks(datasetIndex, dataIndex);\n const index = (name !== undefined)\n ? stacks.indexOf(name)\n : -1;\n return (index === -1)\n ? stacks.length - 1\n : index;\n }\n _getRuler() {\n const opts = this.options;\n const meta = this._cachedMeta;\n const iScale = meta.iScale;\n const pixels = [];\n let i, ilen;\n for (i = 0, ilen = meta.data.length; i < ilen; ++i) {\n pixels.push(iScale.getPixelForValue(this.getParsed(i)[iScale.axis], i));\n }\n const barThickness = opts.barThickness;\n const min = barThickness || computeMinSampleSize(meta);\n return {\n min,\n pixels,\n start: iScale._startPixel,\n end: iScale._endPixel,\n stackCount: this._getStackCount(),\n scale: iScale,\n grouped: opts.grouped,\n ratio: barThickness ? 1 : opts.categoryPercentage * opts.barPercentage\n };\n }\n _calculateBarValuePixels(index) {\n const {_cachedMeta: {vScale, _stacked}, options: {base: baseValue, minBarLength}} = this;\n const actualBase = baseValue || 0;\n const parsed = this.getParsed(index);\n const custom = parsed._custom;\n const floating = isFloatBar(custom);\n let value = parsed[vScale.axis];\n let start = 0;\n let length = _stacked ? this.applyStack(vScale, parsed, _stacked) : value;\n let head, size;\n if (length !== value) {\n start = length - value;\n length = value;\n }\n if (floating) {\n value = custom.barStart;\n length = custom.barEnd - custom.barStart;\n if (value !== 0 && sign(value) !== sign(custom.barEnd)) {\n start = 0;\n }\n start += value;\n }\n const startValue = !isNullOrUndef(baseValue) && !floating ? baseValue : start;\n let base = vScale.getPixelForValue(startValue);\n if (this.chart.getDataVisibility(index)) {\n head = vScale.getPixelForValue(start + length);\n } else {\n head = base;\n }\n size = head - base;\n if (Math.abs(size) < minBarLength) {\n size = barSign(size, vScale, actualBase) * minBarLength;\n if (value === actualBase) {\n base -= size / 2;\n }\n const startPixel = vScale.getPixelForDecimal(0);\n const endPixel = vScale.getPixelForDecimal(1);\n const min = Math.min(startPixel, endPixel);\n const max = Math.max(startPixel, endPixel);\n base = Math.max(Math.min(base, max), min);\n head = base + size;\n }\n if (base === vScale.getPixelForValue(actualBase)) {\n const halfGrid = sign(size) * vScale.getLineWidthForValue(actualBase) / 2;\n base += halfGrid;\n size -= halfGrid;\n }\n return {\n size,\n base,\n head,\n center: head + size / 2\n };\n }\n _calculateBarIndexPixels(index, ruler) {\n const scale = ruler.scale;\n const options = this.options;\n const skipNull = options.skipNull;\n const maxBarThickness = valueOrDefault(options.maxBarThickness, Infinity);\n let center, size;\n if (ruler.grouped) {\n const stackCount = skipNull ? this._getStackCount(index) : ruler.stackCount;\n const range = options.barThickness === 'flex'\n ? computeFlexCategoryTraits(index, ruler, options, stackCount)\n : computeFitCategoryTraits(index, ruler, options, stackCount);\n const stackIndex = this._getStackIndex(this.index, this._cachedMeta.stack, skipNull ? index : undefined);\n center = range.start + (range.chunk * stackIndex) + (range.chunk / 2);\n size = Math.min(maxBarThickness, range.chunk * range.ratio);\n } else {\n center = scale.getPixelForValue(this.getParsed(index)[scale.axis], index);\n size = Math.min(maxBarThickness, ruler.min * ruler.ratio);\n }\n return {\n base: center - size / 2,\n head: center + size / 2,\n center,\n size\n };\n }\n draw() {\n const meta = this._cachedMeta;\n const vScale = meta.vScale;\n const rects = meta.data;\n const ilen = rects.length;\n let i = 0;\n for (; i < ilen; ++i) {\n if (this.getParsed(i)[vScale.axis] !== null) {\n rects[i].draw(this._ctx);\n }\n }\n }\n}\nBarController.id = 'bar';\nBarController.defaults = {\n datasetElementType: false,\n dataElementType: 'bar',\n categoryPercentage: 0.8,\n barPercentage: 0.9,\n grouped: true,\n animations: {\n numbers: {\n type: 'number',\n properties: ['x', 'y', 'base', 'width', 'height']\n }\n }\n};\nBarController.overrides = {\n scales: {\n _index_: {\n type: 'category',\n offset: true,\n grid: {\n offset: true\n }\n },\n _value_: {\n type: 'linear',\n beginAtZero: true,\n }\n }\n};\n\nclass BubbleController extends DatasetController {\n initialize() {\n this.enableOptionSharing = true;\n super.initialize();\n }\n parsePrimitiveData(meta, data, start, count) {\n const parsed = super.parsePrimitiveData(meta, data, start, count);\n for (let i = 0; i < parsed.length; i++) {\n parsed[i]._custom = this.resolveDataElementOptions(i + start).radius;\n }\n return parsed;\n }\n parseArrayData(meta, data, start, count) {\n const parsed = super.parseArrayData(meta, data, start, count);\n for (let i = 0; i < parsed.length; i++) {\n const item = data[start + i];\n parsed[i]._custom = valueOrDefault(item[2], this.resolveDataElementOptions(i + start).radius);\n }\n return parsed;\n }\n parseObjectData(meta, data, start, count) {\n const parsed = super.parseObjectData(meta, data, start, count);\n for (let i = 0; i < parsed.length; i++) {\n const item = data[start + i];\n parsed[i]._custom = valueOrDefault(item && item.r && +item.r, this.resolveDataElementOptions(i + start).radius);\n }\n return parsed;\n }\n getMaxOverflow() {\n const data = this._cachedMeta.data;\n let max = 0;\n for (let i = data.length - 1; i >= 0; --i) {\n max = Math.max(max, data[i].size(this.resolveDataElementOptions(i)) / 2);\n }\n return max > 0 && max;\n }\n getLabelAndValue(index) {\n const meta = this._cachedMeta;\n const {xScale, yScale} = meta;\n const parsed = this.getParsed(index);\n const x = xScale.getLabelForValue(parsed.x);\n const y = yScale.getLabelForValue(parsed.y);\n const r = parsed._custom;\n return {\n label: meta.label,\n value: '(' + x + ', ' + y + (r ? ', ' + r : '') + ')'\n };\n }\n update(mode) {\n const points = this._cachedMeta.data;\n this.updateElements(points, 0, points.length, mode);\n }\n updateElements(points, start, count, mode) {\n const reset = mode === 'reset';\n const {iScale, vScale} = this._cachedMeta;\n const {sharedOptions, includeOptions} = this._getSharedOptions(start, mode);\n const iAxis = iScale.axis;\n const vAxis = vScale.axis;\n for (let i = start; i < start + count; i++) {\n const point = points[i];\n const parsed = !reset && this.getParsed(i);\n const properties = {};\n const iPixel = properties[iAxis] = reset ? iScale.getPixelForDecimal(0.5) : iScale.getPixelForValue(parsed[iAxis]);\n const vPixel = properties[vAxis] = reset ? vScale.getBasePixel() : vScale.getPixelForValue(parsed[vAxis]);\n properties.skip = isNaN(iPixel) || isNaN(vPixel);\n if (includeOptions) {\n properties.options = sharedOptions || this.resolveDataElementOptions(i, point.active ? 'active' : mode);\n if (reset) {\n properties.options.radius = 0;\n }\n }\n this.updateElement(point, i, properties, mode);\n }\n }\n resolveDataElementOptions(index, mode) {\n const parsed = this.getParsed(index);\n let values = super.resolveDataElementOptions(index, mode);\n if (values.$shared) {\n values = Object.assign({}, values, {$shared: false});\n }\n const radius = values.radius;\n if (mode !== 'active') {\n values.radius = 0;\n }\n values.radius += valueOrDefault(parsed && parsed._custom, radius);\n return values;\n }\n}\nBubbleController.id = 'bubble';\nBubbleController.defaults = {\n datasetElementType: false,\n dataElementType: 'point',\n animations: {\n numbers: {\n type: 'number',\n properties: ['x', 'y', 'borderWidth', 'radius']\n }\n }\n};\nBubbleController.overrides = {\n scales: {\n x: {\n type: 'linear'\n },\n y: {\n type: 'linear'\n }\n },\n plugins: {\n tooltip: {\n callbacks: {\n title() {\n return '';\n }\n }\n }\n }\n};\n\nfunction getRatioAndOffset(rotation, circumference, cutout) {\n let ratioX = 1;\n let ratioY = 1;\n let offsetX = 0;\n let offsetY = 0;\n if (circumference < TAU) {\n const startAngle = rotation;\n const endAngle = startAngle + circumference;\n const startX = Math.cos(startAngle);\n const startY = Math.sin(startAngle);\n const endX = Math.cos(endAngle);\n const endY = Math.sin(endAngle);\n const calcMax = (angle, a, b) => _angleBetween(angle, startAngle, endAngle, true) ? 1 : Math.max(a, a * cutout, b, b * cutout);\n const calcMin = (angle, a, b) => _angleBetween(angle, startAngle, endAngle, true) ? -1 : Math.min(a, a * cutout, b, b * cutout);\n const maxX = calcMax(0, startX, endX);\n const maxY = calcMax(HALF_PI, startY, endY);\n const minX = calcMin(PI, startX, endX);\n const minY = calcMin(PI + HALF_PI, startY, endY);\n ratioX = (maxX - minX) / 2;\n ratioY = (maxY - minY) / 2;\n offsetX = -(maxX + minX) / 2;\n offsetY = -(maxY + minY) / 2;\n }\n return {ratioX, ratioY, offsetX, offsetY};\n}\nclass DoughnutController extends DatasetController {\n constructor(chart, datasetIndex) {\n super(chart, datasetIndex);\n this.enableOptionSharing = true;\n this.innerRadius = undefined;\n this.outerRadius = undefined;\n this.offsetX = undefined;\n this.offsetY = undefined;\n }\n linkScales() {}\n parse(start, count) {\n const data = this.getDataset().data;\n const meta = this._cachedMeta;\n if (this._parsing === false) {\n meta._parsed = data;\n } else {\n let getter = (i) => +data[i];\n if (isObject(data[start])) {\n const {key = 'value'} = this._parsing;\n getter = (i) => +resolveObjectKey(data[i], key);\n }\n let i, ilen;\n for (i = start, ilen = start + count; i < ilen; ++i) {\n meta._parsed[i] = getter(i);\n }\n }\n }\n _getRotation() {\n return toRadians(this.options.rotation - 90);\n }\n _getCircumference() {\n return toRadians(this.options.circumference);\n }\n _getRotationExtents() {\n let min = TAU;\n let max = -TAU;\n for (let i = 0; i < this.chart.data.datasets.length; ++i) {\n if (this.chart.isDatasetVisible(i)) {\n const controller = this.chart.getDatasetMeta(i).controller;\n const rotation = controller._getRotation();\n const circumference = controller._getCircumference();\n min = Math.min(min, rotation);\n max = Math.max(max, rotation + circumference);\n }\n }\n return {\n rotation: min,\n circumference: max - min,\n };\n }\n update(mode) {\n const chart = this.chart;\n const {chartArea} = chart;\n const meta = this._cachedMeta;\n const arcs = meta.data;\n const spacing = this.getMaxBorderWidth() + this.getMaxOffset(arcs) + this.options.spacing;\n const maxSize = Math.max((Math.min(chartArea.width, chartArea.height) - spacing) / 2, 0);\n const cutout = Math.min(toPercentage(this.options.cutout, maxSize), 1);\n const chartWeight = this._getRingWeight(this.index);\n const {circumference, rotation} = this._getRotationExtents();\n const {ratioX, ratioY, offsetX, offsetY} = getRatioAndOffset(rotation, circumference, cutout);\n const maxWidth = (chartArea.width - spacing) / ratioX;\n const maxHeight = (chartArea.height - spacing) / ratioY;\n const maxRadius = Math.max(Math.min(maxWidth, maxHeight) / 2, 0);\n const outerRadius = toDimension(this.options.radius, maxRadius);\n const innerRadius = Math.max(outerRadius * cutout, 0);\n const radiusLength = (outerRadius - innerRadius) / this._getVisibleDatasetWeightTotal();\n this.offsetX = offsetX * outerRadius;\n this.offsetY = offsetY * outerRadius;\n meta.total = this.calculateTotal();\n this.outerRadius = outerRadius - radiusLength * this._getRingWeightOffset(this.index);\n this.innerRadius = Math.max(this.outerRadius - radiusLength * chartWeight, 0);\n this.updateElements(arcs, 0, arcs.length, mode);\n }\n _circumference(i, reset) {\n const opts = this.options;\n const meta = this._cachedMeta;\n const circumference = this._getCircumference();\n if ((reset && opts.animation.animateRotate) || !this.chart.getDataVisibility(i) || meta._parsed[i] === null || meta.data[i].hidden) {\n return 0;\n }\n return this.calculateCircumference(meta._parsed[i] * circumference / TAU);\n }\n updateElements(arcs, start, count, mode) {\n const reset = mode === 'reset';\n const chart = this.chart;\n const chartArea = chart.chartArea;\n const opts = chart.options;\n const animationOpts = opts.animation;\n const centerX = (chartArea.left + chartArea.right) / 2;\n const centerY = (chartArea.top + chartArea.bottom) / 2;\n const animateScale = reset && animationOpts.animateScale;\n const innerRadius = animateScale ? 0 : this.innerRadius;\n const outerRadius = animateScale ? 0 : this.outerRadius;\n const {sharedOptions, includeOptions} = this._getSharedOptions(start, mode);\n let startAngle = this._getRotation();\n let i;\n for (i = 0; i < start; ++i) {\n startAngle += this._circumference(i, reset);\n }\n for (i = start; i < start + count; ++i) {\n const circumference = this._circumference(i, reset);\n const arc = arcs[i];\n const properties = {\n x: centerX + this.offsetX,\n y: centerY + this.offsetY,\n startAngle,\n endAngle: startAngle + circumference,\n circumference,\n outerRadius,\n innerRadius\n };\n if (includeOptions) {\n properties.options = sharedOptions || this.resolveDataElementOptions(i, arc.active ? 'active' : mode);\n }\n startAngle += circumference;\n this.updateElement(arc, i, properties, mode);\n }\n }\n calculateTotal() {\n const meta = this._cachedMeta;\n const metaData = meta.data;\n let total = 0;\n let i;\n for (i = 0; i < metaData.length; i++) {\n const value = meta._parsed[i];\n if (value !== null && !isNaN(value) && this.chart.getDataVisibility(i) && !metaData[i].hidden) {\n total += Math.abs(value);\n }\n }\n return total;\n }\n calculateCircumference(value) {\n const total = this._cachedMeta.total;\n if (total > 0 && !isNaN(value)) {\n return TAU * (Math.abs(value) / total);\n }\n return 0;\n }\n getLabelAndValue(index) {\n const meta = this._cachedMeta;\n const chart = this.chart;\n const labels = chart.data.labels || [];\n const value = formatNumber(meta._parsed[index], chart.options.locale);\n return {\n label: labels[index] || '',\n value,\n };\n }\n getMaxBorderWidth(arcs) {\n let max = 0;\n const chart = this.chart;\n let i, ilen, meta, controller, options;\n if (!arcs) {\n for (i = 0, ilen = chart.data.datasets.length; i < ilen; ++i) {\n if (chart.isDatasetVisible(i)) {\n meta = chart.getDatasetMeta(i);\n arcs = meta.data;\n controller = meta.controller;\n break;\n }\n }\n }\n if (!arcs) {\n return 0;\n }\n for (i = 0, ilen = arcs.length; i < ilen; ++i) {\n options = controller.resolveDataElementOptions(i);\n if (options.borderAlign !== 'inner') {\n max = Math.max(max, options.borderWidth || 0, options.hoverBorderWidth || 0);\n }\n }\n return max;\n }\n getMaxOffset(arcs) {\n let max = 0;\n for (let i = 0, ilen = arcs.length; i < ilen; ++i) {\n const options = this.resolveDataElementOptions(i);\n max = Math.max(max, options.offset || 0, options.hoverOffset || 0);\n }\n return max;\n }\n _getRingWeightOffset(datasetIndex) {\n let ringWeightOffset = 0;\n for (let i = 0; i < datasetIndex; ++i) {\n if (this.chart.isDatasetVisible(i)) {\n ringWeightOffset += this._getRingWeight(i);\n }\n }\n return ringWeightOffset;\n }\n _getRingWeight(datasetIndex) {\n return Math.max(valueOrDefault(this.chart.data.datasets[datasetIndex].weight, 1), 0);\n }\n _getVisibleDatasetWeightTotal() {\n return this._getRingWeightOffset(this.chart.data.datasets.length) || 1;\n }\n}\nDoughnutController.id = 'doughnut';\nDoughnutController.defaults = {\n datasetElementType: false,\n dataElementType: 'arc',\n animation: {\n animateRotate: true,\n animateScale: false\n },\n animations: {\n numbers: {\n type: 'number',\n properties: ['circumference', 'endAngle', 'innerRadius', 'outerRadius', 'startAngle', 'x', 'y', 'offset', 'borderWidth', 'spacing']\n },\n },\n cutout: '50%',\n rotation: 0,\n circumference: 360,\n radius: '100%',\n spacing: 0,\n indexAxis: 'r',\n};\nDoughnutController.descriptors = {\n _scriptable: (name) => name !== 'spacing',\n _indexable: (name) => name !== 'spacing',\n};\nDoughnutController.overrides = {\n aspectRatio: 1,\n plugins: {\n legend: {\n labels: {\n generateLabels(chart) {\n const data = chart.data;\n if (data.labels.length && data.datasets.length) {\n const {labels: {pointStyle}} = chart.legend.options;\n return data.labels.map((label, i) => {\n const meta = chart.getDatasetMeta(0);\n const style = meta.controller.getStyle(i);\n return {\n text: label,\n fillStyle: style.backgroundColor,\n strokeStyle: style.borderColor,\n lineWidth: style.borderWidth,\n pointStyle: pointStyle,\n hidden: !chart.getDataVisibility(i),\n index: i\n };\n });\n }\n return [];\n }\n },\n onClick(e, legendItem, legend) {\n legend.chart.toggleDataVisibility(legendItem.index);\n legend.chart.update();\n }\n },\n tooltip: {\n callbacks: {\n title() {\n return '';\n },\n label(tooltipItem) {\n let dataLabel = tooltipItem.label;\n const value = ': ' + tooltipItem.formattedValue;\n if (isArray(dataLabel)) {\n dataLabel = dataLabel.slice();\n dataLabel[0] += value;\n } else {\n dataLabel += value;\n }\n return dataLabel;\n }\n }\n }\n }\n};\n\nclass LineController extends DatasetController {\n initialize() {\n this.enableOptionSharing = true;\n this.supportsDecimation = true;\n super.initialize();\n }\n update(mode) {\n const meta = this._cachedMeta;\n const {dataset: line, data: points = [], _dataset} = meta;\n const animationsDisabled = this.chart._animationsDisabled;\n let {start, count} = _getStartAndCountOfVisiblePoints(meta, points, animationsDisabled);\n this._drawStart = start;\n this._drawCount = count;\n if (_scaleRangesChanged(meta)) {\n start = 0;\n count = points.length;\n }\n line._chart = this.chart;\n line._datasetIndex = this.index;\n line._decimated = !!_dataset._decimated;\n line.points = points;\n const options = this.resolveDatasetElementOptions(mode);\n if (!this.options.showLine) {\n options.borderWidth = 0;\n }\n options.segment = this.options.segment;\n this.updateElement(line, undefined, {\n animated: !animationsDisabled,\n options\n }, mode);\n this.updateElements(points, start, count, mode);\n }\n updateElements(points, start, count, mode) {\n const reset = mode === 'reset';\n const {iScale, vScale, _stacked, _dataset} = this._cachedMeta;\n const {sharedOptions, includeOptions} = this._getSharedOptions(start, mode);\n const iAxis = iScale.axis;\n const vAxis = vScale.axis;\n const {spanGaps, segment} = this.options;\n const maxGapLength = isNumber(spanGaps) ? spanGaps : Number.POSITIVE_INFINITY;\n const directUpdate = this.chart._animationsDisabled || reset || mode === 'none';\n let prevParsed = start > 0 && this.getParsed(start - 1);\n for (let i = start; i < start + count; ++i) {\n const point = points[i];\n const parsed = this.getParsed(i);\n const properties = directUpdate ? point : {};\n const nullData = isNullOrUndef(parsed[vAxis]);\n const iPixel = properties[iAxis] = iScale.getPixelForValue(parsed[iAxis], i);\n const vPixel = properties[vAxis] = reset || nullData ? vScale.getBasePixel() : vScale.getPixelForValue(_stacked ? this.applyStack(vScale, parsed, _stacked) : parsed[vAxis], i);\n properties.skip = isNaN(iPixel) || isNaN(vPixel) || nullData;\n properties.stop = i > 0 && (Math.abs(parsed[iAxis] - prevParsed[iAxis])) > maxGapLength;\n if (segment) {\n properties.parsed = parsed;\n properties.raw = _dataset.data[i];\n }\n if (includeOptions) {\n properties.options = sharedOptions || this.resolveDataElementOptions(i, point.active ? 'active' : mode);\n }\n if (!directUpdate) {\n this.updateElement(point, i, properties, mode);\n }\n prevParsed = parsed;\n }\n }\n getMaxOverflow() {\n const meta = this._cachedMeta;\n const dataset = meta.dataset;\n const border = dataset.options && dataset.options.borderWidth || 0;\n const data = meta.data || [];\n if (!data.length) {\n return border;\n }\n const firstPoint = data[0].size(this.resolveDataElementOptions(0));\n const lastPoint = data[data.length - 1].size(this.resolveDataElementOptions(data.length - 1));\n return Math.max(border, firstPoint, lastPoint) / 2;\n }\n draw() {\n const meta = this._cachedMeta;\n meta.dataset.updateControlPoints(this.chart.chartArea, meta.iScale.axis);\n super.draw();\n }\n}\nLineController.id = 'line';\nLineController.defaults = {\n datasetElementType: 'line',\n dataElementType: 'point',\n showLine: true,\n spanGaps: false,\n};\nLineController.overrides = {\n scales: {\n _index_: {\n type: 'category',\n },\n _value_: {\n type: 'linear',\n },\n }\n};\n\nclass PolarAreaController extends DatasetController {\n constructor(chart, datasetIndex) {\n super(chart, datasetIndex);\n this.innerRadius = undefined;\n this.outerRadius = undefined;\n }\n getLabelAndValue(index) {\n const meta = this._cachedMeta;\n const chart = this.chart;\n const labels = chart.data.labels || [];\n const value = formatNumber(meta._parsed[index].r, chart.options.locale);\n return {\n label: labels[index] || '',\n value,\n };\n }\n parseObjectData(meta, data, start, count) {\n return _parseObjectDataRadialScale.bind(this)(meta, data, start, count);\n }\n update(mode) {\n const arcs = this._cachedMeta.data;\n this._updateRadius();\n this.updateElements(arcs, 0, arcs.length, mode);\n }\n getMinMax() {\n const meta = this._cachedMeta;\n const range = {min: Number.POSITIVE_INFINITY, max: Number.NEGATIVE_INFINITY};\n meta.data.forEach((element, index) => {\n const parsed = this.getParsed(index).r;\n if (!isNaN(parsed) && this.chart.getDataVisibility(index)) {\n if (parsed < range.min) {\n range.min = parsed;\n }\n if (parsed > range.max) {\n range.max = parsed;\n }\n }\n });\n return range;\n }\n _updateRadius() {\n const chart = this.chart;\n const chartArea = chart.chartArea;\n const opts = chart.options;\n const minSize = Math.min(chartArea.right - chartArea.left, chartArea.bottom - chartArea.top);\n const outerRadius = Math.max(minSize / 2, 0);\n const innerRadius = Math.max(opts.cutoutPercentage ? (outerRadius / 100) * (opts.cutoutPercentage) : 1, 0);\n const radiusLength = (outerRadius - innerRadius) / chart.getVisibleDatasetCount();\n this.outerRadius = outerRadius - (radiusLength * this.index);\n this.innerRadius = this.outerRadius - radiusLength;\n }\n updateElements(arcs, start, count, mode) {\n const reset = mode === 'reset';\n const chart = this.chart;\n const opts = chart.options;\n const animationOpts = opts.animation;\n const scale = this._cachedMeta.rScale;\n const centerX = scale.xCenter;\n const centerY = scale.yCenter;\n const datasetStartAngle = scale.getIndexAngle(0) - 0.5 * PI;\n let angle = datasetStartAngle;\n let i;\n const defaultAngle = 360 / this.countVisibleElements();\n for (i = 0; i < start; ++i) {\n angle += this._computeAngle(i, mode, defaultAngle);\n }\n for (i = start; i < start + count; i++) {\n const arc = arcs[i];\n let startAngle = angle;\n let endAngle = angle + this._computeAngle(i, mode, defaultAngle);\n let outerRadius = chart.getDataVisibility(i) ? scale.getDistanceFromCenterForValue(this.getParsed(i).r) : 0;\n angle = endAngle;\n if (reset) {\n if (animationOpts.animateScale) {\n outerRadius = 0;\n }\n if (animationOpts.animateRotate) {\n startAngle = endAngle = datasetStartAngle;\n }\n }\n const properties = {\n x: centerX,\n y: centerY,\n innerRadius: 0,\n outerRadius,\n startAngle,\n endAngle,\n options: this.resolveDataElementOptions(i, arc.active ? 'active' : mode)\n };\n this.updateElement(arc, i, properties, mode);\n }\n }\n countVisibleElements() {\n const meta = this._cachedMeta;\n let count = 0;\n meta.data.forEach((element, index) => {\n if (!isNaN(this.getParsed(index).r) && this.chart.getDataVisibility(index)) {\n count++;\n }\n });\n return count;\n }\n _computeAngle(index, mode, defaultAngle) {\n return this.chart.getDataVisibility(index)\n ? toRadians(this.resolveDataElementOptions(index, mode).angle || defaultAngle)\n : 0;\n }\n}\nPolarAreaController.id = 'polarArea';\nPolarAreaController.defaults = {\n dataElementType: 'arc',\n animation: {\n animateRotate: true,\n animateScale: true\n },\n animations: {\n numbers: {\n type: 'number',\n properties: ['x', 'y', 'startAngle', 'endAngle', 'innerRadius', 'outerRadius']\n },\n },\n indexAxis: 'r',\n startAngle: 0,\n};\nPolarAreaController.overrides = {\n aspectRatio: 1,\n plugins: {\n legend: {\n labels: {\n generateLabels(chart) {\n const data = chart.data;\n if (data.labels.length && data.datasets.length) {\n const {labels: {pointStyle}} = chart.legend.options;\n return data.labels.map((label, i) => {\n const meta = chart.getDatasetMeta(0);\n const style = meta.controller.getStyle(i);\n return {\n text: label,\n fillStyle: style.backgroundColor,\n strokeStyle: style.borderColor,\n lineWidth: style.borderWidth,\n pointStyle: pointStyle,\n hidden: !chart.getDataVisibility(i),\n index: i\n };\n });\n }\n return [];\n }\n },\n onClick(e, legendItem, legend) {\n legend.chart.toggleDataVisibility(legendItem.index);\n legend.chart.update();\n }\n },\n tooltip: {\n callbacks: {\n title() {\n return '';\n },\n label(context) {\n return context.chart.data.labels[context.dataIndex] + ': ' + context.formattedValue;\n }\n }\n }\n },\n scales: {\n r: {\n type: 'radialLinear',\n angleLines: {\n display: false\n },\n beginAtZero: true,\n grid: {\n circular: true\n },\n pointLabels: {\n display: false\n },\n startAngle: 0\n }\n }\n};\n\nclass PieController extends DoughnutController {\n}\nPieController.id = 'pie';\nPieController.defaults = {\n cutout: 0,\n rotation: 0,\n circumference: 360,\n radius: '100%'\n};\n\nclass RadarController extends DatasetController {\n getLabelAndValue(index) {\n const vScale = this._cachedMeta.vScale;\n const parsed = this.getParsed(index);\n return {\n label: vScale.getLabels()[index],\n value: '' + vScale.getLabelForValue(parsed[vScale.axis])\n };\n }\n parseObjectData(meta, data, start, count) {\n return _parseObjectDataRadialScale.bind(this)(meta, data, start, count);\n }\n update(mode) {\n const meta = this._cachedMeta;\n const line = meta.dataset;\n const points = meta.data || [];\n const labels = meta.iScale.getLabels();\n line.points = points;\n if (mode !== 'resize') {\n const options = this.resolveDatasetElementOptions(mode);\n if (!this.options.showLine) {\n options.borderWidth = 0;\n }\n const properties = {\n _loop: true,\n _fullLoop: labels.length === points.length,\n options\n };\n this.updateElement(line, undefined, properties, mode);\n }\n this.updateElements(points, 0, points.length, mode);\n }\n updateElements(points, start, count, mode) {\n const scale = this._cachedMeta.rScale;\n const reset = mode === 'reset';\n for (let i = start; i < start + count; i++) {\n const point = points[i];\n const options = this.resolveDataElementOptions(i, point.active ? 'active' : mode);\n const pointPosition = scale.getPointPositionForValue(i, this.getParsed(i).r);\n const x = reset ? scale.xCenter : pointPosition.x;\n const y = reset ? scale.yCenter : pointPosition.y;\n const properties = {\n x,\n y,\n angle: pointPosition.angle,\n skip: isNaN(x) || isNaN(y),\n options\n };\n this.updateElement(point, i, properties, mode);\n }\n }\n}\nRadarController.id = 'radar';\nRadarController.defaults = {\n datasetElementType: 'line',\n dataElementType: 'point',\n indexAxis: 'r',\n showLine: true,\n elements: {\n line: {\n fill: 'start'\n }\n },\n};\nRadarController.overrides = {\n aspectRatio: 1,\n scales: {\n r: {\n type: 'radialLinear',\n }\n }\n};\n\nclass ScatterController extends DatasetController {\n update(mode) {\n const meta = this._cachedMeta;\n const {data: points = []} = meta;\n const animationsDisabled = this.chart._animationsDisabled;\n let {start, count} = _getStartAndCountOfVisiblePoints(meta, points, animationsDisabled);\n this._drawStart = start;\n this._drawCount = count;\n if (_scaleRangesChanged(meta)) {\n start = 0;\n count = points.length;\n }\n if (this.options.showLine) {\n const {dataset: line, _dataset} = meta;\n line._chart = this.chart;\n line._datasetIndex = this.index;\n line._decimated = !!_dataset._decimated;\n line.points = points;\n const options = this.resolveDatasetElementOptions(mode);\n options.segment = this.options.segment;\n this.updateElement(line, undefined, {\n animated: !animationsDisabled,\n options\n }, mode);\n }\n this.updateElements(points, start, count, mode);\n }\n addElements() {\n const {showLine} = this.options;\n if (!this.datasetElementType && showLine) {\n this.datasetElementType = registry.getElement('line');\n }\n super.addElements();\n }\n updateElements(points, start, count, mode) {\n const reset = mode === 'reset';\n const {iScale, vScale, _stacked, _dataset} = this._cachedMeta;\n const firstOpts = this.resolveDataElementOptions(start, mode);\n const sharedOptions = this.getSharedOptions(firstOpts);\n const includeOptions = this.includeOptions(mode, sharedOptions);\n const iAxis = iScale.axis;\n const vAxis = vScale.axis;\n const {spanGaps, segment} = this.options;\n const maxGapLength = isNumber(spanGaps) ? spanGaps : Number.POSITIVE_INFINITY;\n const directUpdate = this.chart._animationsDisabled || reset || mode === 'none';\n let prevParsed = start > 0 && this.getParsed(start - 1);\n for (let i = start; i < start + count; ++i) {\n const point = points[i];\n const parsed = this.getParsed(i);\n const properties = directUpdate ? point : {};\n const nullData = isNullOrUndef(parsed[vAxis]);\n const iPixel = properties[iAxis] = iScale.getPixelForValue(parsed[iAxis], i);\n const vPixel = properties[vAxis] = reset || nullData ? vScale.getBasePixel() : vScale.getPixelForValue(_stacked ? this.applyStack(vScale, parsed, _stacked) : parsed[vAxis], i);\n properties.skip = isNaN(iPixel) || isNaN(vPixel) || nullData;\n properties.stop = i > 0 && (Math.abs(parsed[iAxis] - prevParsed[iAxis])) > maxGapLength;\n if (segment) {\n properties.parsed = parsed;\n properties.raw = _dataset.data[i];\n }\n if (includeOptions) {\n properties.options = sharedOptions || this.resolveDataElementOptions(i, point.active ? 'active' : mode);\n }\n if (!directUpdate) {\n this.updateElement(point, i, properties, mode);\n }\n prevParsed = parsed;\n }\n this.updateSharedOptions(sharedOptions, mode, firstOpts);\n }\n getMaxOverflow() {\n const meta = this._cachedMeta;\n const data = meta.data || [];\n if (!this.options.showLine) {\n let max = 0;\n for (let i = data.length - 1; i >= 0; --i) {\n max = Math.max(max, data[i].size(this.resolveDataElementOptions(i)) / 2);\n }\n return max > 0 && max;\n }\n const dataset = meta.dataset;\n const border = dataset.options && dataset.options.borderWidth || 0;\n if (!data.length) {\n return border;\n }\n const firstPoint = data[0].size(this.resolveDataElementOptions(0));\n const lastPoint = data[data.length - 1].size(this.resolveDataElementOptions(data.length - 1));\n return Math.max(border, firstPoint, lastPoint) / 2;\n }\n}\nScatterController.id = 'scatter';\nScatterController.defaults = {\n datasetElementType: false,\n dataElementType: 'point',\n showLine: false,\n fill: false\n};\nScatterController.overrides = {\n interaction: {\n mode: 'point'\n },\n plugins: {\n tooltip: {\n callbacks: {\n title() {\n return '';\n },\n label(item) {\n return '(' + item.label + ', ' + item.formattedValue + ')';\n }\n }\n }\n },\n scales: {\n x: {\n type: 'linear'\n },\n y: {\n type: 'linear'\n }\n }\n};\n\nvar controllers = /*#__PURE__*/Object.freeze({\n__proto__: null,\nBarController: BarController,\nBubbleController: BubbleController,\nDoughnutController: DoughnutController,\nLineController: LineController,\nPolarAreaController: PolarAreaController,\nPieController: PieController,\nRadarController: RadarController,\nScatterController: ScatterController\n});\n\nfunction clipArc(ctx, element, endAngle) {\n const {startAngle, pixelMargin, x, y, outerRadius, innerRadius} = element;\n let angleMargin = pixelMargin / outerRadius;\n ctx.beginPath();\n ctx.arc(x, y, outerRadius, startAngle - angleMargin, endAngle + angleMargin);\n if (innerRadius > pixelMargin) {\n angleMargin = pixelMargin / innerRadius;\n ctx.arc(x, y, innerRadius, endAngle + angleMargin, startAngle - angleMargin, true);\n } else {\n ctx.arc(x, y, pixelMargin, endAngle + HALF_PI, startAngle - HALF_PI);\n }\n ctx.closePath();\n ctx.clip();\n}\nfunction toRadiusCorners(value) {\n return _readValueToProps(value, ['outerStart', 'outerEnd', 'innerStart', 'innerEnd']);\n}\nfunction parseBorderRadius$1(arc, innerRadius, outerRadius, angleDelta) {\n const o = toRadiusCorners(arc.options.borderRadius);\n const halfThickness = (outerRadius - innerRadius) / 2;\n const innerLimit = Math.min(halfThickness, angleDelta * innerRadius / 2);\n const computeOuterLimit = (val) => {\n const outerArcLimit = (outerRadius - Math.min(halfThickness, val)) * angleDelta / 2;\n return _limitValue(val, 0, Math.min(halfThickness, outerArcLimit));\n };\n return {\n outerStart: computeOuterLimit(o.outerStart),\n outerEnd: computeOuterLimit(o.outerEnd),\n innerStart: _limitValue(o.innerStart, 0, innerLimit),\n innerEnd: _limitValue(o.innerEnd, 0, innerLimit),\n };\n}\nfunction rThetaToXY(r, theta, x, y) {\n return {\n x: x + r * Math.cos(theta),\n y: y + r * Math.sin(theta),\n };\n}\nfunction pathArc(ctx, element, offset, spacing, end, circular) {\n const {x, y, startAngle: start, pixelMargin, innerRadius: innerR} = element;\n const outerRadius = Math.max(element.outerRadius + spacing + offset - pixelMargin, 0);\n const innerRadius = innerR > 0 ? innerR + spacing + offset + pixelMargin : 0;\n let spacingOffset = 0;\n const alpha = end - start;\n if (spacing) {\n const noSpacingInnerRadius = innerR > 0 ? innerR - spacing : 0;\n const noSpacingOuterRadius = outerRadius > 0 ? outerRadius - spacing : 0;\n const avNogSpacingRadius = (noSpacingInnerRadius + noSpacingOuterRadius) / 2;\n const adjustedAngle = avNogSpacingRadius !== 0 ? (alpha * avNogSpacingRadius) / (avNogSpacingRadius + spacing) : alpha;\n spacingOffset = (alpha - adjustedAngle) / 2;\n }\n const beta = Math.max(0.001, alpha * outerRadius - offset / PI) / outerRadius;\n const angleOffset = (alpha - beta) / 2;\n const startAngle = start + angleOffset + spacingOffset;\n const endAngle = end - angleOffset - spacingOffset;\n const {outerStart, outerEnd, innerStart, innerEnd} = parseBorderRadius$1(element, innerRadius, outerRadius, endAngle - startAngle);\n const outerStartAdjustedRadius = outerRadius - outerStart;\n const outerEndAdjustedRadius = outerRadius - outerEnd;\n const outerStartAdjustedAngle = startAngle + outerStart / outerStartAdjustedRadius;\n const outerEndAdjustedAngle = endAngle - outerEnd / outerEndAdjustedRadius;\n const innerStartAdjustedRadius = innerRadius + innerStart;\n const innerEndAdjustedRadius = innerRadius + innerEnd;\n const innerStartAdjustedAngle = startAngle + innerStart / innerStartAdjustedRadius;\n const innerEndAdjustedAngle = endAngle - innerEnd / innerEndAdjustedRadius;\n ctx.beginPath();\n if (circular) {\n ctx.arc(x, y, outerRadius, outerStartAdjustedAngle, outerEndAdjustedAngle);\n if (outerEnd > 0) {\n const pCenter = rThetaToXY(outerEndAdjustedRadius, outerEndAdjustedAngle, x, y);\n ctx.arc(pCenter.x, pCenter.y, outerEnd, outerEndAdjustedAngle, endAngle + HALF_PI);\n }\n const p4 = rThetaToXY(innerEndAdjustedRadius, endAngle, x, y);\n ctx.lineTo(p4.x, p4.y);\n if (innerEnd > 0) {\n const pCenter = rThetaToXY(innerEndAdjustedRadius, innerEndAdjustedAngle, x, y);\n ctx.arc(pCenter.x, pCenter.y, innerEnd, endAngle + HALF_PI, innerEndAdjustedAngle + Math.PI);\n }\n ctx.arc(x, y, innerRadius, endAngle - (innerEnd / innerRadius), startAngle + (innerStart / innerRadius), true);\n if (innerStart > 0) {\n const pCenter = rThetaToXY(innerStartAdjustedRadius, innerStartAdjustedAngle, x, y);\n ctx.arc(pCenter.x, pCenter.y, innerStart, innerStartAdjustedAngle + Math.PI, startAngle - HALF_PI);\n }\n const p8 = rThetaToXY(outerStartAdjustedRadius, startAngle, x, y);\n ctx.lineTo(p8.x, p8.y);\n if (outerStart > 0) {\n const pCenter = rThetaToXY(outerStartAdjustedRadius, outerStartAdjustedAngle, x, y);\n ctx.arc(pCenter.x, pCenter.y, outerStart, startAngle - HALF_PI, outerStartAdjustedAngle);\n }\n } else {\n ctx.moveTo(x, y);\n const outerStartX = Math.cos(outerStartAdjustedAngle) * outerRadius + x;\n const outerStartY = Math.sin(outerStartAdjustedAngle) * outerRadius + y;\n ctx.lineTo(outerStartX, outerStartY);\n const outerEndX = Math.cos(outerEndAdjustedAngle) * outerRadius + x;\n const outerEndY = Math.sin(outerEndAdjustedAngle) * outerRadius + y;\n ctx.lineTo(outerEndX, outerEndY);\n }\n ctx.closePath();\n}\nfunction drawArc(ctx, element, offset, spacing, circular) {\n const {fullCircles, startAngle, circumference} = element;\n let endAngle = element.endAngle;\n if (fullCircles) {\n pathArc(ctx, element, offset, spacing, startAngle + TAU, circular);\n for (let i = 0; i < fullCircles; ++i) {\n ctx.fill();\n }\n if (!isNaN(circumference)) {\n endAngle = startAngle + circumference % TAU;\n if (circumference % TAU === 0) {\n endAngle += TAU;\n }\n }\n }\n pathArc(ctx, element, offset, spacing, endAngle, circular);\n ctx.fill();\n return endAngle;\n}\nfunction drawFullCircleBorders(ctx, element, inner) {\n const {x, y, startAngle, pixelMargin, fullCircles} = element;\n const outerRadius = Math.max(element.outerRadius - pixelMargin, 0);\n const innerRadius = element.innerRadius + pixelMargin;\n let i;\n if (inner) {\n clipArc(ctx, element, startAngle + TAU);\n }\n ctx.beginPath();\n ctx.arc(x, y, innerRadius, startAngle + TAU, startAngle, true);\n for (i = 0; i < fullCircles; ++i) {\n ctx.stroke();\n }\n ctx.beginPath();\n ctx.arc(x, y, outerRadius, startAngle, startAngle + TAU);\n for (i = 0; i < fullCircles; ++i) {\n ctx.stroke();\n }\n}\nfunction drawBorder(ctx, element, offset, spacing, endAngle, circular) {\n const {options} = element;\n const {borderWidth, borderJoinStyle} = options;\n const inner = options.borderAlign === 'inner';\n if (!borderWidth) {\n return;\n }\n if (inner) {\n ctx.lineWidth = borderWidth * 2;\n ctx.lineJoin = borderJoinStyle || 'round';\n } else {\n ctx.lineWidth = borderWidth;\n ctx.lineJoin = borderJoinStyle || 'bevel';\n }\n if (element.fullCircles) {\n drawFullCircleBorders(ctx, element, inner);\n }\n if (inner) {\n clipArc(ctx, element, endAngle);\n }\n pathArc(ctx, element, offset, spacing, endAngle, circular);\n ctx.stroke();\n}\nclass ArcElement extends Element {\n constructor(cfg) {\n super();\n this.options = undefined;\n this.circumference = undefined;\n this.startAngle = undefined;\n this.endAngle = undefined;\n this.innerRadius = undefined;\n this.outerRadius = undefined;\n this.pixelMargin = 0;\n this.fullCircles = 0;\n if (cfg) {\n Object.assign(this, cfg);\n }\n }\n inRange(chartX, chartY, useFinalPosition) {\n const point = this.getProps(['x', 'y'], useFinalPosition);\n const {angle, distance} = getAngleFromPoint(point, {x: chartX, y: chartY});\n const {startAngle, endAngle, innerRadius, outerRadius, circumference} = this.getProps([\n 'startAngle',\n 'endAngle',\n 'innerRadius',\n 'outerRadius',\n 'circumference'\n ], useFinalPosition);\n const rAdjust = this.options.spacing / 2;\n const _circumference = valueOrDefault(circumference, endAngle - startAngle);\n const betweenAngles = _circumference >= TAU || _angleBetween(angle, startAngle, endAngle);\n const withinRadius = _isBetween(distance, innerRadius + rAdjust, outerRadius + rAdjust);\n return (betweenAngles && withinRadius);\n }\n getCenterPoint(useFinalPosition) {\n const {x, y, startAngle, endAngle, innerRadius, outerRadius} = this.getProps([\n 'x',\n 'y',\n 'startAngle',\n 'endAngle',\n 'innerRadius',\n 'outerRadius',\n 'circumference',\n ], useFinalPosition);\n const {offset, spacing} = this.options;\n const halfAngle = (startAngle + endAngle) / 2;\n const halfRadius = (innerRadius + outerRadius + spacing + offset) / 2;\n return {\n x: x + Math.cos(halfAngle) * halfRadius,\n y: y + Math.sin(halfAngle) * halfRadius\n };\n }\n tooltipPosition(useFinalPosition) {\n return this.getCenterPoint(useFinalPosition);\n }\n draw(ctx) {\n const {options, circumference} = this;\n const offset = (options.offset || 0) / 2;\n const spacing = (options.spacing || 0) / 2;\n const circular = options.circular;\n this.pixelMargin = (options.borderAlign === 'inner') ? 0.33 : 0;\n this.fullCircles = circumference > TAU ? Math.floor(circumference / TAU) : 0;\n if (circumference === 0 || this.innerRadius < 0 || this.outerRadius < 0) {\n return;\n }\n ctx.save();\n let radiusOffset = 0;\n if (offset) {\n radiusOffset = offset / 2;\n const halfAngle = (this.startAngle + this.endAngle) / 2;\n ctx.translate(Math.cos(halfAngle) * radiusOffset, Math.sin(halfAngle) * radiusOffset);\n if (this.circumference >= PI) {\n radiusOffset = offset;\n }\n }\n ctx.fillStyle = options.backgroundColor;\n ctx.strokeStyle = options.borderColor;\n const endAngle = drawArc(ctx, this, radiusOffset, spacing, circular);\n drawBorder(ctx, this, radiusOffset, spacing, endAngle, circular);\n ctx.restore();\n }\n}\nArcElement.id = 'arc';\nArcElement.defaults = {\n borderAlign: 'center',\n borderColor: '#fff',\n borderJoinStyle: undefined,\n borderRadius: 0,\n borderWidth: 2,\n offset: 0,\n spacing: 0,\n angle: undefined,\n circular: true,\n};\nArcElement.defaultRoutes = {\n backgroundColor: 'backgroundColor'\n};\n\nfunction setStyle(ctx, options, style = options) {\n ctx.lineCap = valueOrDefault(style.borderCapStyle, options.borderCapStyle);\n ctx.setLineDash(valueOrDefault(style.borderDash, options.borderDash));\n ctx.lineDashOffset = valueOrDefault(style.borderDashOffset, options.borderDashOffset);\n ctx.lineJoin = valueOrDefault(style.borderJoinStyle, options.borderJoinStyle);\n ctx.lineWidth = valueOrDefault(style.borderWidth, options.borderWidth);\n ctx.strokeStyle = valueOrDefault(style.borderColor, options.borderColor);\n}\nfunction lineTo(ctx, previous, target) {\n ctx.lineTo(target.x, target.y);\n}\nfunction getLineMethod(options) {\n if (options.stepped) {\n return _steppedLineTo;\n }\n if (options.tension || options.cubicInterpolationMode === 'monotone') {\n return _bezierCurveTo;\n }\n return lineTo;\n}\nfunction pathVars(points, segment, params = {}) {\n const count = points.length;\n const {start: paramsStart = 0, end: paramsEnd = count - 1} = params;\n const {start: segmentStart, end: segmentEnd} = segment;\n const start = Math.max(paramsStart, segmentStart);\n const end = Math.min(paramsEnd, segmentEnd);\n const outside = paramsStart < segmentStart && paramsEnd < segmentStart || paramsStart > segmentEnd && paramsEnd > segmentEnd;\n return {\n count,\n start,\n loop: segment.loop,\n ilen: end < start && !outside ? count + end - start : end - start\n };\n}\nfunction pathSegment(ctx, line, segment, params) {\n const {points, options} = line;\n const {count, start, loop, ilen} = pathVars(points, segment, params);\n const lineMethod = getLineMethod(options);\n let {move = true, reverse} = params || {};\n let i, point, prev;\n for (i = 0; i <= ilen; ++i) {\n point = points[(start + (reverse ? ilen - i : i)) % count];\n if (point.skip) {\n continue;\n } else if (move) {\n ctx.moveTo(point.x, point.y);\n move = false;\n } else {\n lineMethod(ctx, prev, point, reverse, options.stepped);\n }\n prev = point;\n }\n if (loop) {\n point = points[(start + (reverse ? ilen : 0)) % count];\n lineMethod(ctx, prev, point, reverse, options.stepped);\n }\n return !!loop;\n}\nfunction fastPathSegment(ctx, line, segment, params) {\n const points = line.points;\n const {count, start, ilen} = pathVars(points, segment, params);\n const {move = true, reverse} = params || {};\n let avgX = 0;\n let countX = 0;\n let i, point, prevX, minY, maxY, lastY;\n const pointIndex = (index) => (start + (reverse ? ilen - index : index)) % count;\n const drawX = () => {\n if (minY !== maxY) {\n ctx.lineTo(avgX, maxY);\n ctx.lineTo(avgX, minY);\n ctx.lineTo(avgX, lastY);\n }\n };\n if (move) {\n point = points[pointIndex(0)];\n ctx.moveTo(point.x, point.y);\n }\n for (i = 0; i <= ilen; ++i) {\n point = points[pointIndex(i)];\n if (point.skip) {\n continue;\n }\n const x = point.x;\n const y = point.y;\n const truncX = x | 0;\n if (truncX === prevX) {\n if (y < minY) {\n minY = y;\n } else if (y > maxY) {\n maxY = y;\n }\n avgX = (countX * avgX + x) / ++countX;\n } else {\n drawX();\n ctx.lineTo(x, y);\n prevX = truncX;\n countX = 0;\n minY = maxY = y;\n }\n lastY = y;\n }\n drawX();\n}\nfunction _getSegmentMethod(line) {\n const opts = line.options;\n const borderDash = opts.borderDash && opts.borderDash.length;\n const useFastPath = !line._decimated && !line._loop && !opts.tension && opts.cubicInterpolationMode !== 'monotone' && !opts.stepped && !borderDash;\n return useFastPath ? fastPathSegment : pathSegment;\n}\nfunction _getInterpolationMethod(options) {\n if (options.stepped) {\n return _steppedInterpolation;\n }\n if (options.tension || options.cubicInterpolationMode === 'monotone') {\n return _bezierInterpolation;\n }\n return _pointInLine;\n}\nfunction strokePathWithCache(ctx, line, start, count) {\n let path = line._path;\n if (!path) {\n path = line._path = new Path2D();\n if (line.path(path, start, count)) {\n path.closePath();\n }\n }\n setStyle(ctx, line.options);\n ctx.stroke(path);\n}\nfunction strokePathDirect(ctx, line, start, count) {\n const {segments, options} = line;\n const segmentMethod = _getSegmentMethod(line);\n for (const segment of segments) {\n setStyle(ctx, options, segment.style);\n ctx.beginPath();\n if (segmentMethod(ctx, line, segment, {start, end: start + count - 1})) {\n ctx.closePath();\n }\n ctx.stroke();\n }\n}\nconst usePath2D = typeof Path2D === 'function';\nfunction draw(ctx, line, start, count) {\n if (usePath2D && !line.options.segment) {\n strokePathWithCache(ctx, line, start, count);\n } else {\n strokePathDirect(ctx, line, start, count);\n }\n}\nclass LineElement extends Element {\n constructor(cfg) {\n super();\n this.animated = true;\n this.options = undefined;\n this._chart = undefined;\n this._loop = undefined;\n this._fullLoop = undefined;\n this._path = undefined;\n this._points = undefined;\n this._segments = undefined;\n this._decimated = false;\n this._pointsUpdated = false;\n this._datasetIndex = undefined;\n if (cfg) {\n Object.assign(this, cfg);\n }\n }\n updateControlPoints(chartArea, indexAxis) {\n const options = this.options;\n if ((options.tension || options.cubicInterpolationMode === 'monotone') && !options.stepped && !this._pointsUpdated) {\n const loop = options.spanGaps ? this._loop : this._fullLoop;\n _updateBezierControlPoints(this._points, options, chartArea, loop, indexAxis);\n this._pointsUpdated = true;\n }\n }\n set points(points) {\n this._points = points;\n delete this._segments;\n delete this._path;\n this._pointsUpdated = false;\n }\n get points() {\n return this._points;\n }\n get segments() {\n return this._segments || (this._segments = _computeSegments(this, this.options.segment));\n }\n first() {\n const segments = this.segments;\n const points = this.points;\n return segments.length && points[segments[0].start];\n }\n last() {\n const segments = this.segments;\n const points = this.points;\n const count = segments.length;\n return count && points[segments[count - 1].end];\n }\n interpolate(point, property) {\n const options = this.options;\n const value = point[property];\n const points = this.points;\n const segments = _boundSegments(this, {property, start: value, end: value});\n if (!segments.length) {\n return;\n }\n const result = [];\n const _interpolate = _getInterpolationMethod(options);\n let i, ilen;\n for (i = 0, ilen = segments.length; i < ilen; ++i) {\n const {start, end} = segments[i];\n const p1 = points[start];\n const p2 = points[end];\n if (p1 === p2) {\n result.push(p1);\n continue;\n }\n const t = Math.abs((value - p1[property]) / (p2[property] - p1[property]));\n const interpolated = _interpolate(p1, p2, t, options.stepped);\n interpolated[property] = point[property];\n result.push(interpolated);\n }\n return result.length === 1 ? result[0] : result;\n }\n pathSegment(ctx, segment, params) {\n const segmentMethod = _getSegmentMethod(this);\n return segmentMethod(ctx, this, segment, params);\n }\n path(ctx, start, count) {\n const segments = this.segments;\n const segmentMethod = _getSegmentMethod(this);\n let loop = this._loop;\n start = start || 0;\n count = count || (this.points.length - start);\n for (const segment of segments) {\n loop &= segmentMethod(ctx, this, segment, {start, end: start + count - 1});\n }\n return !!loop;\n }\n draw(ctx, chartArea, start, count) {\n const options = this.options || {};\n const points = this.points || [];\n if (points.length && options.borderWidth) {\n ctx.save();\n draw(ctx, this, start, count);\n ctx.restore();\n }\n if (this.animated) {\n this._pointsUpdated = false;\n this._path = undefined;\n }\n }\n}\nLineElement.id = 'line';\nLineElement.defaults = {\n borderCapStyle: 'butt',\n borderDash: [],\n borderDashOffset: 0,\n borderJoinStyle: 'miter',\n borderWidth: 3,\n capBezierPoints: true,\n cubicInterpolationMode: 'default',\n fill: false,\n spanGaps: false,\n stepped: false,\n tension: 0,\n};\nLineElement.defaultRoutes = {\n backgroundColor: 'backgroundColor',\n borderColor: 'borderColor'\n};\nLineElement.descriptors = {\n _scriptable: true,\n _indexable: (name) => name !== 'borderDash' && name !== 'fill',\n};\n\nfunction inRange$1(el, pos, axis, useFinalPosition) {\n const options = el.options;\n const {[axis]: value} = el.getProps([axis], useFinalPosition);\n return (Math.abs(pos - value) < options.radius + options.hitRadius);\n}\nclass PointElement extends Element {\n constructor(cfg) {\n super();\n this.options = undefined;\n this.parsed = undefined;\n this.skip = undefined;\n this.stop = undefined;\n if (cfg) {\n Object.assign(this, cfg);\n }\n }\n inRange(mouseX, mouseY, useFinalPosition) {\n const options = this.options;\n const {x, y} = this.getProps(['x', 'y'], useFinalPosition);\n return ((Math.pow(mouseX - x, 2) + Math.pow(mouseY - y, 2)) < Math.pow(options.hitRadius + options.radius, 2));\n }\n inXRange(mouseX, useFinalPosition) {\n return inRange$1(this, mouseX, 'x', useFinalPosition);\n }\n inYRange(mouseY, useFinalPosition) {\n return inRange$1(this, mouseY, 'y', useFinalPosition);\n }\n getCenterPoint(useFinalPosition) {\n const {x, y} = this.getProps(['x', 'y'], useFinalPosition);\n return {x, y};\n }\n size(options) {\n options = options || this.options || {};\n let radius = options.radius || 0;\n radius = Math.max(radius, radius && options.hoverRadius || 0);\n const borderWidth = radius && options.borderWidth || 0;\n return (radius + borderWidth) * 2;\n }\n draw(ctx, area) {\n const options = this.options;\n if (this.skip || options.radius < 0.1 || !_isPointInArea(this, area, this.size(options) / 2)) {\n return;\n }\n ctx.strokeStyle = options.borderColor;\n ctx.lineWidth = options.borderWidth;\n ctx.fillStyle = options.backgroundColor;\n drawPoint(ctx, options, this.x, this.y);\n }\n getRange() {\n const options = this.options || {};\n return options.radius + options.hitRadius;\n }\n}\nPointElement.id = 'point';\nPointElement.defaults = {\n borderWidth: 1,\n hitRadius: 1,\n hoverBorderWidth: 1,\n hoverRadius: 4,\n pointStyle: 'circle',\n radius: 3,\n rotation: 0\n};\nPointElement.defaultRoutes = {\n backgroundColor: 'backgroundColor',\n borderColor: 'borderColor'\n};\n\nfunction getBarBounds(bar, useFinalPosition) {\n const {x, y, base, width, height} = bar.getProps(['x', 'y', 'base', 'width', 'height'], useFinalPosition);\n let left, right, top, bottom, half;\n if (bar.horizontal) {\n half = height / 2;\n left = Math.min(x, base);\n right = Math.max(x, base);\n top = y - half;\n bottom = y + half;\n } else {\n half = width / 2;\n left = x - half;\n right = x + half;\n top = Math.min(y, base);\n bottom = Math.max(y, base);\n }\n return {left, top, right, bottom};\n}\nfunction skipOrLimit(skip, value, min, max) {\n return skip ? 0 : _limitValue(value, min, max);\n}\nfunction parseBorderWidth(bar, maxW, maxH) {\n const value = bar.options.borderWidth;\n const skip = bar.borderSkipped;\n const o = toTRBL(value);\n return {\n t: skipOrLimit(skip.top, o.top, 0, maxH),\n r: skipOrLimit(skip.right, o.right, 0, maxW),\n b: skipOrLimit(skip.bottom, o.bottom, 0, maxH),\n l: skipOrLimit(skip.left, o.left, 0, maxW)\n };\n}\nfunction parseBorderRadius(bar, maxW, maxH) {\n const {enableBorderRadius} = bar.getProps(['enableBorderRadius']);\n const value = bar.options.borderRadius;\n const o = toTRBLCorners(value);\n const maxR = Math.min(maxW, maxH);\n const skip = bar.borderSkipped;\n const enableBorder = enableBorderRadius || isObject(value);\n return {\n topLeft: skipOrLimit(!enableBorder || skip.top || skip.left, o.topLeft, 0, maxR),\n topRight: skipOrLimit(!enableBorder || skip.top || skip.right, o.topRight, 0, maxR),\n bottomLeft: skipOrLimit(!enableBorder || skip.bottom || skip.left, o.bottomLeft, 0, maxR),\n bottomRight: skipOrLimit(!enableBorder || skip.bottom || skip.right, o.bottomRight, 0, maxR)\n };\n}\nfunction boundingRects(bar) {\n const bounds = getBarBounds(bar);\n const width = bounds.right - bounds.left;\n const height = bounds.bottom - bounds.top;\n const border = parseBorderWidth(bar, width / 2, height / 2);\n const radius = parseBorderRadius(bar, width / 2, height / 2);\n return {\n outer: {\n x: bounds.left,\n y: bounds.top,\n w: width,\n h: height,\n radius\n },\n inner: {\n x: bounds.left + border.l,\n y: bounds.top + border.t,\n w: width - border.l - border.r,\n h: height - border.t - border.b,\n radius: {\n topLeft: Math.max(0, radius.topLeft - Math.max(border.t, border.l)),\n topRight: Math.max(0, radius.topRight - Math.max(border.t, border.r)),\n bottomLeft: Math.max(0, radius.bottomLeft - Math.max(border.b, border.l)),\n bottomRight: Math.max(0, radius.bottomRight - Math.max(border.b, border.r)),\n }\n }\n };\n}\nfunction inRange(bar, x, y, useFinalPosition) {\n const skipX = x === null;\n const skipY = y === null;\n const skipBoth = skipX && skipY;\n const bounds = bar && !skipBoth && getBarBounds(bar, useFinalPosition);\n return bounds\n\t\t&& (skipX || _isBetween(x, bounds.left, bounds.right))\n\t\t&& (skipY || _isBetween(y, bounds.top, bounds.bottom));\n}\nfunction hasRadius(radius) {\n return radius.topLeft || radius.topRight || radius.bottomLeft || radius.bottomRight;\n}\nfunction addNormalRectPath(ctx, rect) {\n ctx.rect(rect.x, rect.y, rect.w, rect.h);\n}\nfunction inflateRect(rect, amount, refRect = {}) {\n const x = rect.x !== refRect.x ? -amount : 0;\n const y = rect.y !== refRect.y ? -amount : 0;\n const w = (rect.x + rect.w !== refRect.x + refRect.w ? amount : 0) - x;\n const h = (rect.y + rect.h !== refRect.y + refRect.h ? amount : 0) - y;\n return {\n x: rect.x + x,\n y: rect.y + y,\n w: rect.w + w,\n h: rect.h + h,\n radius: rect.radius\n };\n}\nclass BarElement extends Element {\n constructor(cfg) {\n super();\n this.options = undefined;\n this.horizontal = undefined;\n this.base = undefined;\n this.width = undefined;\n this.height = undefined;\n this.inflateAmount = undefined;\n if (cfg) {\n Object.assign(this, cfg);\n }\n }\n draw(ctx) {\n const {inflateAmount, options: {borderColor, backgroundColor}} = this;\n const {inner, outer} = boundingRects(this);\n const addRectPath = hasRadius(outer.radius) ? addRoundedRectPath : addNormalRectPath;\n ctx.save();\n if (outer.w !== inner.w || outer.h !== inner.h) {\n ctx.beginPath();\n addRectPath(ctx, inflateRect(outer, inflateAmount, inner));\n ctx.clip();\n addRectPath(ctx, inflateRect(inner, -inflateAmount, outer));\n ctx.fillStyle = borderColor;\n ctx.fill('evenodd');\n }\n ctx.beginPath();\n addRectPath(ctx, inflateRect(inner, inflateAmount));\n ctx.fillStyle = backgroundColor;\n ctx.fill();\n ctx.restore();\n }\n inRange(mouseX, mouseY, useFinalPosition) {\n return inRange(this, mouseX, mouseY, useFinalPosition);\n }\n inXRange(mouseX, useFinalPosition) {\n return inRange(this, mouseX, null, useFinalPosition);\n }\n inYRange(mouseY, useFinalPosition) {\n return inRange(this, null, mouseY, useFinalPosition);\n }\n getCenterPoint(useFinalPosition) {\n const {x, y, base, horizontal} = this.getProps(['x', 'y', 'base', 'horizontal'], useFinalPosition);\n return {\n x: horizontal ? (x + base) / 2 : x,\n y: horizontal ? y : (y + base) / 2\n };\n }\n getRange(axis) {\n return axis === 'x' ? this.width / 2 : this.height / 2;\n }\n}\nBarElement.id = 'bar';\nBarElement.defaults = {\n borderSkipped: 'start',\n borderWidth: 0,\n borderRadius: 0,\n inflateAmount: 'auto',\n pointStyle: undefined\n};\nBarElement.defaultRoutes = {\n backgroundColor: 'backgroundColor',\n borderColor: 'borderColor'\n};\n\nvar elements = /*#__PURE__*/Object.freeze({\n__proto__: null,\nArcElement: ArcElement,\nLineElement: LineElement,\nPointElement: PointElement,\nBarElement: BarElement\n});\n\nfunction lttbDecimation(data, start, count, availableWidth, options) {\n const samples = options.samples || availableWidth;\n if (samples >= count) {\n return data.slice(start, start + count);\n }\n const decimated = [];\n const bucketWidth = (count - 2) / (samples - 2);\n let sampledIndex = 0;\n const endIndex = start + count - 1;\n let a = start;\n let i, maxAreaPoint, maxArea, area, nextA;\n decimated[sampledIndex++] = data[a];\n for (i = 0; i < samples - 2; i++) {\n let avgX = 0;\n let avgY = 0;\n let j;\n const avgRangeStart = Math.floor((i + 1) * bucketWidth) + 1 + start;\n const avgRangeEnd = Math.min(Math.floor((i + 2) * bucketWidth) + 1, count) + start;\n const avgRangeLength = avgRangeEnd - avgRangeStart;\n for (j = avgRangeStart; j < avgRangeEnd; j++) {\n avgX += data[j].x;\n avgY += data[j].y;\n }\n avgX /= avgRangeLength;\n avgY /= avgRangeLength;\n const rangeOffs = Math.floor(i * bucketWidth) + 1 + start;\n const rangeTo = Math.min(Math.floor((i + 1) * bucketWidth) + 1, count) + start;\n const {x: pointAx, y: pointAy} = data[a];\n maxArea = area = -1;\n for (j = rangeOffs; j < rangeTo; j++) {\n area = 0.5 * Math.abs(\n (pointAx - avgX) * (data[j].y - pointAy) -\n (pointAx - data[j].x) * (avgY - pointAy)\n );\n if (area > maxArea) {\n maxArea = area;\n maxAreaPoint = data[j];\n nextA = j;\n }\n }\n decimated[sampledIndex++] = maxAreaPoint;\n a = nextA;\n }\n decimated[sampledIndex++] = data[endIndex];\n return decimated;\n}\nfunction minMaxDecimation(data, start, count, availableWidth) {\n let avgX = 0;\n let countX = 0;\n let i, point, x, y, prevX, minIndex, maxIndex, startIndex, minY, maxY;\n const decimated = [];\n const endIndex = start + count - 1;\n const xMin = data[start].x;\n const xMax = data[endIndex].x;\n const dx = xMax - xMin;\n for (i = start; i < start + count; ++i) {\n point = data[i];\n x = (point.x - xMin) / dx * availableWidth;\n y = point.y;\n const truncX = x | 0;\n if (truncX === prevX) {\n if (y < minY) {\n minY = y;\n minIndex = i;\n } else if (y > maxY) {\n maxY = y;\n maxIndex = i;\n }\n avgX = (countX * avgX + point.x) / ++countX;\n } else {\n const lastIndex = i - 1;\n if (!isNullOrUndef(minIndex) && !isNullOrUndef(maxIndex)) {\n const intermediateIndex1 = Math.min(minIndex, maxIndex);\n const intermediateIndex2 = Math.max(minIndex, maxIndex);\n if (intermediateIndex1 !== startIndex && intermediateIndex1 !== lastIndex) {\n decimated.push({\n ...data[intermediateIndex1],\n x: avgX,\n });\n }\n if (intermediateIndex2 !== startIndex && intermediateIndex2 !== lastIndex) {\n decimated.push({\n ...data[intermediateIndex2],\n x: avgX\n });\n }\n }\n if (i > 0 && lastIndex !== startIndex) {\n decimated.push(data[lastIndex]);\n }\n decimated.push(point);\n prevX = truncX;\n countX = 0;\n minY = maxY = y;\n minIndex = maxIndex = startIndex = i;\n }\n }\n return decimated;\n}\nfunction cleanDecimatedDataset(dataset) {\n if (dataset._decimated) {\n const data = dataset._data;\n delete dataset._decimated;\n delete dataset._data;\n Object.defineProperty(dataset, 'data', {value: data});\n }\n}\nfunction cleanDecimatedData(chart) {\n chart.data.datasets.forEach((dataset) => {\n cleanDecimatedDataset(dataset);\n });\n}\nfunction getStartAndCountOfVisiblePointsSimplified(meta, points) {\n const pointCount = points.length;\n let start = 0;\n let count;\n const {iScale} = meta;\n const {min, max, minDefined, maxDefined} = iScale.getUserBounds();\n if (minDefined) {\n start = _limitValue(_lookupByKey(points, iScale.axis, min).lo, 0, pointCount - 1);\n }\n if (maxDefined) {\n count = _limitValue(_lookupByKey(points, iScale.axis, max).hi + 1, start, pointCount) - start;\n } else {\n count = pointCount - start;\n }\n return {start, count};\n}\nvar plugin_decimation = {\n id: 'decimation',\n defaults: {\n algorithm: 'min-max',\n enabled: false,\n },\n beforeElementsUpdate: (chart, args, options) => {\n if (!options.enabled) {\n cleanDecimatedData(chart);\n return;\n }\n const availableWidth = chart.width;\n chart.data.datasets.forEach((dataset, datasetIndex) => {\n const {_data, indexAxis} = dataset;\n const meta = chart.getDatasetMeta(datasetIndex);\n const data = _data || dataset.data;\n if (resolve([indexAxis, chart.options.indexAxis]) === 'y') {\n return;\n }\n if (!meta.controller.supportsDecimation) {\n return;\n }\n const xAxis = chart.scales[meta.xAxisID];\n if (xAxis.type !== 'linear' && xAxis.type !== 'time') {\n return;\n }\n if (chart.options.parsing) {\n return;\n }\n let {start, count} = getStartAndCountOfVisiblePointsSimplified(meta, data);\n const threshold = options.threshold || 4 * availableWidth;\n if (count <= threshold) {\n cleanDecimatedDataset(dataset);\n return;\n }\n if (isNullOrUndef(_data)) {\n dataset._data = data;\n delete dataset.data;\n Object.defineProperty(dataset, 'data', {\n configurable: true,\n enumerable: true,\n get: function() {\n return this._decimated;\n },\n set: function(d) {\n this._data = d;\n }\n });\n }\n let decimated;\n switch (options.algorithm) {\n case 'lttb':\n decimated = lttbDecimation(data, start, count, availableWidth, options);\n break;\n case 'min-max':\n decimated = minMaxDecimation(data, start, count, availableWidth);\n break;\n default:\n throw new Error(`Unsupported decimation algorithm '${options.algorithm}'`);\n }\n dataset._decimated = decimated;\n });\n },\n destroy(chart) {\n cleanDecimatedData(chart);\n }\n};\n\nfunction _segments(line, target, property) {\n const segments = line.segments;\n const points = line.points;\n const tpoints = target.points;\n const parts = [];\n for (const segment of segments) {\n let {start, end} = segment;\n end = _findSegmentEnd(start, end, points);\n const bounds = _getBounds(property, points[start], points[end], segment.loop);\n if (!target.segments) {\n parts.push({\n source: segment,\n target: bounds,\n start: points[start],\n end: points[end]\n });\n continue;\n }\n const targetSegments = _boundSegments(target, bounds);\n for (const tgt of targetSegments) {\n const subBounds = _getBounds(property, tpoints[tgt.start], tpoints[tgt.end], tgt.loop);\n const fillSources = _boundSegment(segment, points, subBounds);\n for (const fillSource of fillSources) {\n parts.push({\n source: fillSource,\n target: tgt,\n start: {\n [property]: _getEdge(bounds, subBounds, 'start', Math.max)\n },\n end: {\n [property]: _getEdge(bounds, subBounds, 'end', Math.min)\n }\n });\n }\n }\n }\n return parts;\n}\nfunction _getBounds(property, first, last, loop) {\n if (loop) {\n return;\n }\n let start = first[property];\n let end = last[property];\n if (property === 'angle') {\n start = _normalizeAngle(start);\n end = _normalizeAngle(end);\n }\n return {property, start, end};\n}\nfunction _pointsFromSegments(boundary, line) {\n const {x = null, y = null} = boundary || {};\n const linePoints = line.points;\n const points = [];\n line.segments.forEach(({start, end}) => {\n end = _findSegmentEnd(start, end, linePoints);\n const first = linePoints[start];\n const last = linePoints[end];\n if (y !== null) {\n points.push({x: first.x, y});\n points.push({x: last.x, y});\n } else if (x !== null) {\n points.push({x, y: first.y});\n points.push({x, y: last.y});\n }\n });\n return points;\n}\nfunction _findSegmentEnd(start, end, points) {\n for (;end > start; end--) {\n const point = points[end];\n if (!isNaN(point.x) && !isNaN(point.y)) {\n break;\n }\n }\n return end;\n}\nfunction _getEdge(a, b, prop, fn) {\n if (a && b) {\n return fn(a[prop], b[prop]);\n }\n return a ? a[prop] : b ? b[prop] : 0;\n}\n\nfunction _createBoundaryLine(boundary, line) {\n let points = [];\n let _loop = false;\n if (isArray(boundary)) {\n _loop = true;\n points = boundary;\n } else {\n points = _pointsFromSegments(boundary, line);\n }\n return points.length ? new LineElement({\n points,\n options: {tension: 0},\n _loop,\n _fullLoop: _loop\n }) : null;\n}\nfunction _shouldApplyFill(source) {\n return source && source.fill !== false;\n}\n\nfunction _resolveTarget(sources, index, propagate) {\n const source = sources[index];\n let fill = source.fill;\n const visited = [index];\n let target;\n if (!propagate) {\n return fill;\n }\n while (fill !== false && visited.indexOf(fill) === -1) {\n if (!isNumberFinite(fill)) {\n return fill;\n }\n target = sources[fill];\n if (!target) {\n return false;\n }\n if (target.visible) {\n return fill;\n }\n visited.push(fill);\n fill = target.fill;\n }\n return false;\n}\nfunction _decodeFill(line, index, count) {\n const fill = parseFillOption(line);\n if (isObject(fill)) {\n return isNaN(fill.value) ? false : fill;\n }\n let target = parseFloat(fill);\n if (isNumberFinite(target) && Math.floor(target) === target) {\n return decodeTargetIndex(fill[0], index, target, count);\n }\n return ['origin', 'start', 'end', 'stack', 'shape'].indexOf(fill) >= 0 && fill;\n}\nfunction decodeTargetIndex(firstCh, index, target, count) {\n if (firstCh === '-' || firstCh === '+') {\n target = index + target;\n }\n if (target === index || target < 0 || target >= count) {\n return false;\n }\n return target;\n}\nfunction _getTargetPixel(fill, scale) {\n let pixel = null;\n if (fill === 'start') {\n pixel = scale.bottom;\n } else if (fill === 'end') {\n pixel = scale.top;\n } else if (isObject(fill)) {\n pixel = scale.getPixelForValue(fill.value);\n } else if (scale.getBasePixel) {\n pixel = scale.getBasePixel();\n }\n return pixel;\n}\nfunction _getTargetValue(fill, scale, startValue) {\n let value;\n if (fill === 'start') {\n value = startValue;\n } else if (fill === 'end') {\n value = scale.options.reverse ? scale.min : scale.max;\n } else if (isObject(fill)) {\n value = fill.value;\n } else {\n value = scale.getBaseValue();\n }\n return value;\n}\nfunction parseFillOption(line) {\n const options = line.options;\n const fillOption = options.fill;\n let fill = valueOrDefault(fillOption && fillOption.target, fillOption);\n if (fill === undefined) {\n fill = !!options.backgroundColor;\n }\n if (fill === false || fill === null) {\n return false;\n }\n if (fill === true) {\n return 'origin';\n }\n return fill;\n}\n\nfunction _buildStackLine(source) {\n const {scale, index, line} = source;\n const points = [];\n const segments = line.segments;\n const sourcePoints = line.points;\n const linesBelow = getLinesBelow(scale, index);\n linesBelow.push(_createBoundaryLine({x: null, y: scale.bottom}, line));\n for (let i = 0; i < segments.length; i++) {\n const segment = segments[i];\n for (let j = segment.start; j <= segment.end; j++) {\n addPointsBelow(points, sourcePoints[j], linesBelow);\n }\n }\n return new LineElement({points, options: {}});\n}\nfunction getLinesBelow(scale, index) {\n const below = [];\n const metas = scale.getMatchingVisibleMetas('line');\n for (let i = 0; i < metas.length; i++) {\n const meta = metas[i];\n if (meta.index === index) {\n break;\n }\n if (!meta.hidden) {\n below.unshift(meta.dataset);\n }\n }\n return below;\n}\nfunction addPointsBelow(points, sourcePoint, linesBelow) {\n const postponed = [];\n for (let j = 0; j < linesBelow.length; j++) {\n const line = linesBelow[j];\n const {first, last, point} = findPoint(line, sourcePoint, 'x');\n if (!point || (first && last)) {\n continue;\n }\n if (first) {\n postponed.unshift(point);\n } else {\n points.push(point);\n if (!last) {\n break;\n }\n }\n }\n points.push(...postponed);\n}\nfunction findPoint(line, sourcePoint, property) {\n const point = line.interpolate(sourcePoint, property);\n if (!point) {\n return {};\n }\n const pointValue = point[property];\n const segments = line.segments;\n const linePoints = line.points;\n let first = false;\n let last = false;\n for (let i = 0; i < segments.length; i++) {\n const segment = segments[i];\n const firstValue = linePoints[segment.start][property];\n const lastValue = linePoints[segment.end][property];\n if (_isBetween(pointValue, firstValue, lastValue)) {\n first = pointValue === firstValue;\n last = pointValue === lastValue;\n break;\n }\n }\n return {first, last, point};\n}\n\nclass simpleArc {\n constructor(opts) {\n this.x = opts.x;\n this.y = opts.y;\n this.radius = opts.radius;\n }\n pathSegment(ctx, bounds, opts) {\n const {x, y, radius} = this;\n bounds = bounds || {start: 0, end: TAU};\n ctx.arc(x, y, radius, bounds.end, bounds.start, true);\n return !opts.bounds;\n }\n interpolate(point) {\n const {x, y, radius} = this;\n const angle = point.angle;\n return {\n x: x + Math.cos(angle) * radius,\n y: y + Math.sin(angle) * radius,\n angle\n };\n }\n}\n\nfunction _getTarget(source) {\n const {chart, fill, line} = source;\n if (isNumberFinite(fill)) {\n return getLineByIndex(chart, fill);\n }\n if (fill === 'stack') {\n return _buildStackLine(source);\n }\n if (fill === 'shape') {\n return true;\n }\n const boundary = computeBoundary(source);\n if (boundary instanceof simpleArc) {\n return boundary;\n }\n return _createBoundaryLine(boundary, line);\n}\nfunction getLineByIndex(chart, index) {\n const meta = chart.getDatasetMeta(index);\n const visible = meta && chart.isDatasetVisible(index);\n return visible ? meta.dataset : null;\n}\nfunction computeBoundary(source) {\n const scale = source.scale || {};\n if (scale.getPointPositionForValue) {\n return computeCircularBoundary(source);\n }\n return computeLinearBoundary(source);\n}\nfunction computeLinearBoundary(source) {\n const {scale = {}, fill} = source;\n const pixel = _getTargetPixel(fill, scale);\n if (isNumberFinite(pixel)) {\n const horizontal = scale.isHorizontal();\n return {\n x: horizontal ? pixel : null,\n y: horizontal ? null : pixel\n };\n }\n return null;\n}\nfunction computeCircularBoundary(source) {\n const {scale, fill} = source;\n const options = scale.options;\n const length = scale.getLabels().length;\n const start = options.reverse ? scale.max : scale.min;\n const value = _getTargetValue(fill, scale, start);\n const target = [];\n if (options.grid.circular) {\n const center = scale.getPointPositionForValue(0, start);\n return new simpleArc({\n x: center.x,\n y: center.y,\n radius: scale.getDistanceFromCenterForValue(value)\n });\n }\n for (let i = 0; i < length; ++i) {\n target.push(scale.getPointPositionForValue(i, value));\n }\n return target;\n}\n\nfunction _drawfill(ctx, source, area) {\n const target = _getTarget(source);\n const {line, scale, axis} = source;\n const lineOpts = line.options;\n const fillOption = lineOpts.fill;\n const color = lineOpts.backgroundColor;\n const {above = color, below = color} = fillOption || {};\n if (target && line.points.length) {\n clipArea(ctx, area);\n doFill(ctx, {line, target, above, below, area, scale, axis});\n unclipArea(ctx);\n }\n}\nfunction doFill(ctx, cfg) {\n const {line, target, above, below, area, scale} = cfg;\n const property = line._loop ? 'angle' : cfg.axis;\n ctx.save();\n if (property === 'x' && below !== above) {\n clipVertical(ctx, target, area.top);\n fill(ctx, {line, target, color: above, scale, property});\n ctx.restore();\n ctx.save();\n clipVertical(ctx, target, area.bottom);\n }\n fill(ctx, {line, target, color: below, scale, property});\n ctx.restore();\n}\nfunction clipVertical(ctx, target, clipY) {\n const {segments, points} = target;\n let first = true;\n let lineLoop = false;\n ctx.beginPath();\n for (const segment of segments) {\n const {start, end} = segment;\n const firstPoint = points[start];\n const lastPoint = points[_findSegmentEnd(start, end, points)];\n if (first) {\n ctx.moveTo(firstPoint.x, firstPoint.y);\n first = false;\n } else {\n ctx.lineTo(firstPoint.x, clipY);\n ctx.lineTo(firstPoint.x, firstPoint.y);\n }\n lineLoop = !!target.pathSegment(ctx, segment, {move: lineLoop});\n if (lineLoop) {\n ctx.closePath();\n } else {\n ctx.lineTo(lastPoint.x, clipY);\n }\n }\n ctx.lineTo(target.first().x, clipY);\n ctx.closePath();\n ctx.clip();\n}\nfunction fill(ctx, cfg) {\n const {line, target, property, color, scale} = cfg;\n const segments = _segments(line, target, property);\n for (const {source: src, target: tgt, start, end} of segments) {\n const {style: {backgroundColor = color} = {}} = src;\n const notShape = target !== true;\n ctx.save();\n ctx.fillStyle = backgroundColor;\n clipBounds(ctx, scale, notShape && _getBounds(property, start, end));\n ctx.beginPath();\n const lineLoop = !!line.pathSegment(ctx, src);\n let loop;\n if (notShape) {\n if (lineLoop) {\n ctx.closePath();\n } else {\n interpolatedLineTo(ctx, target, end, property);\n }\n const targetLoop = !!target.pathSegment(ctx, tgt, {move: lineLoop, reverse: true});\n loop = lineLoop && targetLoop;\n if (!loop) {\n interpolatedLineTo(ctx, target, start, property);\n }\n }\n ctx.closePath();\n ctx.fill(loop ? 'evenodd' : 'nonzero');\n ctx.restore();\n }\n}\nfunction clipBounds(ctx, scale, bounds) {\n const {top, bottom} = scale.chart.chartArea;\n const {property, start, end} = bounds || {};\n if (property === 'x') {\n ctx.beginPath();\n ctx.rect(start, top, end - start, bottom - top);\n ctx.clip();\n }\n}\nfunction interpolatedLineTo(ctx, target, point, property) {\n const interpolatedPoint = target.interpolate(point, property);\n if (interpolatedPoint) {\n ctx.lineTo(interpolatedPoint.x, interpolatedPoint.y);\n }\n}\n\nvar index = {\n id: 'filler',\n afterDatasetsUpdate(chart, _args, options) {\n const count = (chart.data.datasets || []).length;\n const sources = [];\n let meta, i, line, source;\n for (i = 0; i < count; ++i) {\n meta = chart.getDatasetMeta(i);\n line = meta.dataset;\n source = null;\n if (line && line.options && line instanceof LineElement) {\n source = {\n visible: chart.isDatasetVisible(i),\n index: i,\n fill: _decodeFill(line, i, count),\n chart,\n axis: meta.controller.options.indexAxis,\n scale: meta.vScale,\n line,\n };\n }\n meta.$filler = source;\n sources.push(source);\n }\n for (i = 0; i < count; ++i) {\n source = sources[i];\n if (!source || source.fill === false) {\n continue;\n }\n source.fill = _resolveTarget(sources, i, options.propagate);\n }\n },\n beforeDraw(chart, _args, options) {\n const draw = options.drawTime === 'beforeDraw';\n const metasets = chart.getSortedVisibleDatasetMetas();\n const area = chart.chartArea;\n for (let i = metasets.length - 1; i >= 0; --i) {\n const source = metasets[i].$filler;\n if (!source) {\n continue;\n }\n source.line.updateControlPoints(area, source.axis);\n if (draw && source.fill) {\n _drawfill(chart.ctx, source, area);\n }\n }\n },\n beforeDatasetsDraw(chart, _args, options) {\n if (options.drawTime !== 'beforeDatasetsDraw') {\n return;\n }\n const metasets = chart.getSortedVisibleDatasetMetas();\n for (let i = metasets.length - 1; i >= 0; --i) {\n const source = metasets[i].$filler;\n if (_shouldApplyFill(source)) {\n _drawfill(chart.ctx, source, chart.chartArea);\n }\n }\n },\n beforeDatasetDraw(chart, args, options) {\n const source = args.meta.$filler;\n if (!_shouldApplyFill(source) || options.drawTime !== 'beforeDatasetDraw') {\n return;\n }\n _drawfill(chart.ctx, source, chart.chartArea);\n },\n defaults: {\n propagate: true,\n drawTime: 'beforeDatasetDraw'\n }\n};\n\nconst getBoxSize = (labelOpts, fontSize) => {\n let {boxHeight = fontSize, boxWidth = fontSize} = labelOpts;\n if (labelOpts.usePointStyle) {\n boxHeight = Math.min(boxHeight, fontSize);\n boxWidth = labelOpts.pointStyleWidth || Math.min(boxWidth, fontSize);\n }\n return {\n boxWidth,\n boxHeight,\n itemHeight: Math.max(fontSize, boxHeight)\n };\n};\nconst itemsEqual = (a, b) => a !== null && b !== null && a.datasetIndex === b.datasetIndex && a.index === b.index;\nclass Legend extends Element {\n constructor(config) {\n super();\n this._added = false;\n this.legendHitBoxes = [];\n this._hoveredItem = null;\n this.doughnutMode = false;\n this.chart = config.chart;\n this.options = config.options;\n this.ctx = config.ctx;\n this.legendItems = undefined;\n this.columnSizes = undefined;\n this.lineWidths = undefined;\n this.maxHeight = undefined;\n this.maxWidth = undefined;\n this.top = undefined;\n this.bottom = undefined;\n this.left = undefined;\n this.right = undefined;\n this.height = undefined;\n this.width = undefined;\n this._margins = undefined;\n this.position = undefined;\n this.weight = undefined;\n this.fullSize = undefined;\n }\n update(maxWidth, maxHeight, margins) {\n this.maxWidth = maxWidth;\n this.maxHeight = maxHeight;\n this._margins = margins;\n this.setDimensions();\n this.buildLabels();\n this.fit();\n }\n setDimensions() {\n if (this.isHorizontal()) {\n this.width = this.maxWidth;\n this.left = this._margins.left;\n this.right = this.width;\n } else {\n this.height = this.maxHeight;\n this.top = this._margins.top;\n this.bottom = this.height;\n }\n }\n buildLabels() {\n const labelOpts = this.options.labels || {};\n let legendItems = callback(labelOpts.generateLabels, [this.chart], this) || [];\n if (labelOpts.filter) {\n legendItems = legendItems.filter((item) => labelOpts.filter(item, this.chart.data));\n }\n if (labelOpts.sort) {\n legendItems = legendItems.sort((a, b) => labelOpts.sort(a, b, this.chart.data));\n }\n if (this.options.reverse) {\n legendItems.reverse();\n }\n this.legendItems = legendItems;\n }\n fit() {\n const {options, ctx} = this;\n if (!options.display) {\n this.width = this.height = 0;\n return;\n }\n const labelOpts = options.labels;\n const labelFont = toFont(labelOpts.font);\n const fontSize = labelFont.size;\n const titleHeight = this._computeTitleHeight();\n const {boxWidth, itemHeight} = getBoxSize(labelOpts, fontSize);\n let width, height;\n ctx.font = labelFont.string;\n if (this.isHorizontal()) {\n width = this.maxWidth;\n height = this._fitRows(titleHeight, fontSize, boxWidth, itemHeight) + 10;\n } else {\n height = this.maxHeight;\n width = this._fitCols(titleHeight, fontSize, boxWidth, itemHeight) + 10;\n }\n this.width = Math.min(width, options.maxWidth || this.maxWidth);\n this.height = Math.min(height, options.maxHeight || this.maxHeight);\n }\n _fitRows(titleHeight, fontSize, boxWidth, itemHeight) {\n const {ctx, maxWidth, options: {labels: {padding}}} = this;\n const hitboxes = this.legendHitBoxes = [];\n const lineWidths = this.lineWidths = [0];\n const lineHeight = itemHeight + padding;\n let totalHeight = titleHeight;\n ctx.textAlign = 'left';\n ctx.textBaseline = 'middle';\n let row = -1;\n let top = -lineHeight;\n this.legendItems.forEach((legendItem, i) => {\n const itemWidth = boxWidth + (fontSize / 2) + ctx.measureText(legendItem.text).width;\n if (i === 0 || lineWidths[lineWidths.length - 1] + itemWidth + 2 * padding > maxWidth) {\n totalHeight += lineHeight;\n lineWidths[lineWidths.length - (i > 0 ? 0 : 1)] = 0;\n top += lineHeight;\n row++;\n }\n hitboxes[i] = {left: 0, top, row, width: itemWidth, height: itemHeight};\n lineWidths[lineWidths.length - 1] += itemWidth + padding;\n });\n return totalHeight;\n }\n _fitCols(titleHeight, fontSize, boxWidth, itemHeight) {\n const {ctx, maxHeight, options: {labels: {padding}}} = this;\n const hitboxes = this.legendHitBoxes = [];\n const columnSizes = this.columnSizes = [];\n const heightLimit = maxHeight - titleHeight;\n let totalWidth = padding;\n let currentColWidth = 0;\n let currentColHeight = 0;\n let left = 0;\n let col = 0;\n this.legendItems.forEach((legendItem, i) => {\n const itemWidth = boxWidth + (fontSize / 2) + ctx.measureText(legendItem.text).width;\n if (i > 0 && currentColHeight + itemHeight + 2 * padding > heightLimit) {\n totalWidth += currentColWidth + padding;\n columnSizes.push({width: currentColWidth, height: currentColHeight});\n left += currentColWidth + padding;\n col++;\n currentColWidth = currentColHeight = 0;\n }\n hitboxes[i] = {left, top: currentColHeight, col, width: itemWidth, height: itemHeight};\n currentColWidth = Math.max(currentColWidth, itemWidth);\n currentColHeight += itemHeight + padding;\n });\n totalWidth += currentColWidth;\n columnSizes.push({width: currentColWidth, height: currentColHeight});\n return totalWidth;\n }\n adjustHitBoxes() {\n if (!this.options.display) {\n return;\n }\n const titleHeight = this._computeTitleHeight();\n const {legendHitBoxes: hitboxes, options: {align, labels: {padding}, rtl}} = this;\n const rtlHelper = getRtlAdapter(rtl, this.left, this.width);\n if (this.isHorizontal()) {\n let row = 0;\n let left = _alignStartEnd(align, this.left + padding, this.right - this.lineWidths[row]);\n for (const hitbox of hitboxes) {\n if (row !== hitbox.row) {\n row = hitbox.row;\n left = _alignStartEnd(align, this.left + padding, this.right - this.lineWidths[row]);\n }\n hitbox.top += this.top + titleHeight + padding;\n hitbox.left = rtlHelper.leftForLtr(rtlHelper.x(left), hitbox.width);\n left += hitbox.width + padding;\n }\n } else {\n let col = 0;\n let top = _alignStartEnd(align, this.top + titleHeight + padding, this.bottom - this.columnSizes[col].height);\n for (const hitbox of hitboxes) {\n if (hitbox.col !== col) {\n col = hitbox.col;\n top = _alignStartEnd(align, this.top + titleHeight + padding, this.bottom - this.columnSizes[col].height);\n }\n hitbox.top = top;\n hitbox.left += this.left + padding;\n hitbox.left = rtlHelper.leftForLtr(rtlHelper.x(hitbox.left), hitbox.width);\n top += hitbox.height + padding;\n }\n }\n }\n isHorizontal() {\n return this.options.position === 'top' || this.options.position === 'bottom';\n }\n draw() {\n if (this.options.display) {\n const ctx = this.ctx;\n clipArea(ctx, this);\n this._draw();\n unclipArea(ctx);\n }\n }\n _draw() {\n const {options: opts, columnSizes, lineWidths, ctx} = this;\n const {align, labels: labelOpts} = opts;\n const defaultColor = defaults.color;\n const rtlHelper = getRtlAdapter(opts.rtl, this.left, this.width);\n const labelFont = toFont(labelOpts.font);\n const {color: fontColor, padding} = labelOpts;\n const fontSize = labelFont.size;\n const halfFontSize = fontSize / 2;\n let cursor;\n this.drawTitle();\n ctx.textAlign = rtlHelper.textAlign('left');\n ctx.textBaseline = 'middle';\n ctx.lineWidth = 0.5;\n ctx.font = labelFont.string;\n const {boxWidth, boxHeight, itemHeight} = getBoxSize(labelOpts, fontSize);\n const drawLegendBox = function(x, y, legendItem) {\n if (isNaN(boxWidth) || boxWidth <= 0 || isNaN(boxHeight) || boxHeight < 0) {\n return;\n }\n ctx.save();\n const lineWidth = valueOrDefault(legendItem.lineWidth, 1);\n ctx.fillStyle = valueOrDefault(legendItem.fillStyle, defaultColor);\n ctx.lineCap = valueOrDefault(legendItem.lineCap, 'butt');\n ctx.lineDashOffset = valueOrDefault(legendItem.lineDashOffset, 0);\n ctx.lineJoin = valueOrDefault(legendItem.lineJoin, 'miter');\n ctx.lineWidth = lineWidth;\n ctx.strokeStyle = valueOrDefault(legendItem.strokeStyle, defaultColor);\n ctx.setLineDash(valueOrDefault(legendItem.lineDash, []));\n if (labelOpts.usePointStyle) {\n const drawOptions = {\n radius: boxHeight * Math.SQRT2 / 2,\n pointStyle: legendItem.pointStyle,\n rotation: legendItem.rotation,\n borderWidth: lineWidth\n };\n const centerX = rtlHelper.xPlus(x, boxWidth / 2);\n const centerY = y + halfFontSize;\n drawPointLegend(ctx, drawOptions, centerX, centerY, labelOpts.pointStyleWidth && boxWidth);\n } else {\n const yBoxTop = y + Math.max((fontSize - boxHeight) / 2, 0);\n const xBoxLeft = rtlHelper.leftForLtr(x, boxWidth);\n const borderRadius = toTRBLCorners(legendItem.borderRadius);\n ctx.beginPath();\n if (Object.values(borderRadius).some(v => v !== 0)) {\n addRoundedRectPath(ctx, {\n x: xBoxLeft,\n y: yBoxTop,\n w: boxWidth,\n h: boxHeight,\n radius: borderRadius,\n });\n } else {\n ctx.rect(xBoxLeft, yBoxTop, boxWidth, boxHeight);\n }\n ctx.fill();\n if (lineWidth !== 0) {\n ctx.stroke();\n }\n }\n ctx.restore();\n };\n const fillText = function(x, y, legendItem) {\n renderText(ctx, legendItem.text, x, y + (itemHeight / 2), labelFont, {\n strikethrough: legendItem.hidden,\n textAlign: rtlHelper.textAlign(legendItem.textAlign)\n });\n };\n const isHorizontal = this.isHorizontal();\n const titleHeight = this._computeTitleHeight();\n if (isHorizontal) {\n cursor = {\n x: _alignStartEnd(align, this.left + padding, this.right - lineWidths[0]),\n y: this.top + padding + titleHeight,\n line: 0\n };\n } else {\n cursor = {\n x: this.left + padding,\n y: _alignStartEnd(align, this.top + titleHeight + padding, this.bottom - columnSizes[0].height),\n line: 0\n };\n }\n overrideTextDirection(this.ctx, opts.textDirection);\n const lineHeight = itemHeight + padding;\n this.legendItems.forEach((legendItem, i) => {\n ctx.strokeStyle = legendItem.fontColor || fontColor;\n ctx.fillStyle = legendItem.fontColor || fontColor;\n const textWidth = ctx.measureText(legendItem.text).width;\n const textAlign = rtlHelper.textAlign(legendItem.textAlign || (legendItem.textAlign = labelOpts.textAlign));\n const width = boxWidth + halfFontSize + textWidth;\n let x = cursor.x;\n let y = cursor.y;\n rtlHelper.setWidth(this.width);\n if (isHorizontal) {\n if (i > 0 && x + width + padding > this.right) {\n y = cursor.y += lineHeight;\n cursor.line++;\n x = cursor.x = _alignStartEnd(align, this.left + padding, this.right - lineWidths[cursor.line]);\n }\n } else if (i > 0 && y + lineHeight > this.bottom) {\n x = cursor.x = x + columnSizes[cursor.line].width + padding;\n cursor.line++;\n y = cursor.y = _alignStartEnd(align, this.top + titleHeight + padding, this.bottom - columnSizes[cursor.line].height);\n }\n const realX = rtlHelper.x(x);\n drawLegendBox(realX, y, legendItem);\n x = _textX(textAlign, x + boxWidth + halfFontSize, isHorizontal ? x + width : this.right, opts.rtl);\n fillText(rtlHelper.x(x), y, legendItem);\n if (isHorizontal) {\n cursor.x += width + padding;\n } else {\n cursor.y += lineHeight;\n }\n });\n restoreTextDirection(this.ctx, opts.textDirection);\n }\n drawTitle() {\n const opts = this.options;\n const titleOpts = opts.title;\n const titleFont = toFont(titleOpts.font);\n const titlePadding = toPadding(titleOpts.padding);\n if (!titleOpts.display) {\n return;\n }\n const rtlHelper = getRtlAdapter(opts.rtl, this.left, this.width);\n const ctx = this.ctx;\n const position = titleOpts.position;\n const halfFontSize = titleFont.size / 2;\n const topPaddingPlusHalfFontSize = titlePadding.top + halfFontSize;\n let y;\n let left = this.left;\n let maxWidth = this.width;\n if (this.isHorizontal()) {\n maxWidth = Math.max(...this.lineWidths);\n y = this.top + topPaddingPlusHalfFontSize;\n left = _alignStartEnd(opts.align, left, this.right - maxWidth);\n } else {\n const maxHeight = this.columnSizes.reduce((acc, size) => Math.max(acc, size.height), 0);\n y = topPaddingPlusHalfFontSize + _alignStartEnd(opts.align, this.top, this.bottom - maxHeight - opts.labels.padding - this._computeTitleHeight());\n }\n const x = _alignStartEnd(position, left, left + maxWidth);\n ctx.textAlign = rtlHelper.textAlign(_toLeftRightCenter(position));\n ctx.textBaseline = 'middle';\n ctx.strokeStyle = titleOpts.color;\n ctx.fillStyle = titleOpts.color;\n ctx.font = titleFont.string;\n renderText(ctx, titleOpts.text, x, y, titleFont);\n }\n _computeTitleHeight() {\n const titleOpts = this.options.title;\n const titleFont = toFont(titleOpts.font);\n const titlePadding = toPadding(titleOpts.padding);\n return titleOpts.display ? titleFont.lineHeight + titlePadding.height : 0;\n }\n _getLegendItemAt(x, y) {\n let i, hitBox, lh;\n if (_isBetween(x, this.left, this.right)\n && _isBetween(y, this.top, this.bottom)) {\n lh = this.legendHitBoxes;\n for (i = 0; i < lh.length; ++i) {\n hitBox = lh[i];\n if (_isBetween(x, hitBox.left, hitBox.left + hitBox.width)\n && _isBetween(y, hitBox.top, hitBox.top + hitBox.height)) {\n return this.legendItems[i];\n }\n }\n }\n return null;\n }\n handleEvent(e) {\n const opts = this.options;\n if (!isListened(e.type, opts)) {\n return;\n }\n const hoveredItem = this._getLegendItemAt(e.x, e.y);\n if (e.type === 'mousemove' || e.type === 'mouseout') {\n const previous = this._hoveredItem;\n const sameItem = itemsEqual(previous, hoveredItem);\n if (previous && !sameItem) {\n callback(opts.onLeave, [e, previous, this], this);\n }\n this._hoveredItem = hoveredItem;\n if (hoveredItem && !sameItem) {\n callback(opts.onHover, [e, hoveredItem, this], this);\n }\n } else if (hoveredItem) {\n callback(opts.onClick, [e, hoveredItem, this], this);\n }\n }\n}\nfunction isListened(type, opts) {\n if ((type === 'mousemove' || type === 'mouseout') && (opts.onHover || opts.onLeave)) {\n return true;\n }\n if (opts.onClick && (type === 'click' || type === 'mouseup')) {\n return true;\n }\n return false;\n}\nvar plugin_legend = {\n id: 'legend',\n _element: Legend,\n start(chart, _args, options) {\n const legend = chart.legend = new Legend({ctx: chart.ctx, options, chart});\n layouts.configure(chart, legend, options);\n layouts.addBox(chart, legend);\n },\n stop(chart) {\n layouts.removeBox(chart, chart.legend);\n delete chart.legend;\n },\n beforeUpdate(chart, _args, options) {\n const legend = chart.legend;\n layouts.configure(chart, legend, options);\n legend.options = options;\n },\n afterUpdate(chart) {\n const legend = chart.legend;\n legend.buildLabels();\n legend.adjustHitBoxes();\n },\n afterEvent(chart, args) {\n if (!args.replay) {\n chart.legend.handleEvent(args.event);\n }\n },\n defaults: {\n display: true,\n position: 'top',\n align: 'center',\n fullSize: true,\n reverse: false,\n weight: 1000,\n onClick(e, legendItem, legend) {\n const index = legendItem.datasetIndex;\n const ci = legend.chart;\n if (ci.isDatasetVisible(index)) {\n ci.hide(index);\n legendItem.hidden = true;\n } else {\n ci.show(index);\n legendItem.hidden = false;\n }\n },\n onHover: null,\n onLeave: null,\n labels: {\n color: (ctx) => ctx.chart.options.color,\n boxWidth: 40,\n padding: 10,\n generateLabels(chart) {\n const datasets = chart.data.datasets;\n const {labels: {usePointStyle, pointStyle, textAlign, color}} = chart.legend.options;\n return chart._getSortedDatasetMetas().map((meta) => {\n const style = meta.controller.getStyle(usePointStyle ? 0 : undefined);\n const borderWidth = toPadding(style.borderWidth);\n return {\n text: datasets[meta.index].label,\n fillStyle: style.backgroundColor,\n fontColor: color,\n hidden: !meta.visible,\n lineCap: style.borderCapStyle,\n lineDash: style.borderDash,\n lineDashOffset: style.borderDashOffset,\n lineJoin: style.borderJoinStyle,\n lineWidth: (borderWidth.width + borderWidth.height) / 4,\n strokeStyle: style.borderColor,\n pointStyle: pointStyle || style.pointStyle,\n rotation: style.rotation,\n textAlign: textAlign || style.textAlign,\n borderRadius: 0,\n datasetIndex: meta.index\n };\n }, this);\n }\n },\n title: {\n color: (ctx) => ctx.chart.options.color,\n display: false,\n position: 'center',\n text: '',\n }\n },\n descriptors: {\n _scriptable: (name) => !name.startsWith('on'),\n labels: {\n _scriptable: (name) => !['generateLabels', 'filter', 'sort'].includes(name),\n }\n },\n};\n\nclass Title extends Element {\n constructor(config) {\n super();\n this.chart = config.chart;\n this.options = config.options;\n this.ctx = config.ctx;\n this._padding = undefined;\n this.top = undefined;\n this.bottom = undefined;\n this.left = undefined;\n this.right = undefined;\n this.width = undefined;\n this.height = undefined;\n this.position = undefined;\n this.weight = undefined;\n this.fullSize = undefined;\n }\n update(maxWidth, maxHeight) {\n const opts = this.options;\n this.left = 0;\n this.top = 0;\n if (!opts.display) {\n this.width = this.height = this.right = this.bottom = 0;\n return;\n }\n this.width = this.right = maxWidth;\n this.height = this.bottom = maxHeight;\n const lineCount = isArray(opts.text) ? opts.text.length : 1;\n this._padding = toPadding(opts.padding);\n const textSize = lineCount * toFont(opts.font).lineHeight + this._padding.height;\n if (this.isHorizontal()) {\n this.height = textSize;\n } else {\n this.width = textSize;\n }\n }\n isHorizontal() {\n const pos = this.options.position;\n return pos === 'top' || pos === 'bottom';\n }\n _drawArgs(offset) {\n const {top, left, bottom, right, options} = this;\n const align = options.align;\n let rotation = 0;\n let maxWidth, titleX, titleY;\n if (this.isHorizontal()) {\n titleX = _alignStartEnd(align, left, right);\n titleY = top + offset;\n maxWidth = right - left;\n } else {\n if (options.position === 'left') {\n titleX = left + offset;\n titleY = _alignStartEnd(align, bottom, top);\n rotation = PI * -0.5;\n } else {\n titleX = right - offset;\n titleY = _alignStartEnd(align, top, bottom);\n rotation = PI * 0.5;\n }\n maxWidth = bottom - top;\n }\n return {titleX, titleY, maxWidth, rotation};\n }\n draw() {\n const ctx = this.ctx;\n const opts = this.options;\n if (!opts.display) {\n return;\n }\n const fontOpts = toFont(opts.font);\n const lineHeight = fontOpts.lineHeight;\n const offset = lineHeight / 2 + this._padding.top;\n const {titleX, titleY, maxWidth, rotation} = this._drawArgs(offset);\n renderText(ctx, opts.text, 0, 0, fontOpts, {\n color: opts.color,\n maxWidth,\n rotation,\n textAlign: _toLeftRightCenter(opts.align),\n textBaseline: 'middle',\n translation: [titleX, titleY],\n });\n }\n}\nfunction createTitle(chart, titleOpts) {\n const title = new Title({\n ctx: chart.ctx,\n options: titleOpts,\n chart\n });\n layouts.configure(chart, title, titleOpts);\n layouts.addBox(chart, title);\n chart.titleBlock = title;\n}\nvar plugin_title = {\n id: 'title',\n _element: Title,\n start(chart, _args, options) {\n createTitle(chart, options);\n },\n stop(chart) {\n const titleBlock = chart.titleBlock;\n layouts.removeBox(chart, titleBlock);\n delete chart.titleBlock;\n },\n beforeUpdate(chart, _args, options) {\n const title = chart.titleBlock;\n layouts.configure(chart, title, options);\n title.options = options;\n },\n defaults: {\n align: 'center',\n display: false,\n font: {\n weight: 'bold',\n },\n fullSize: true,\n padding: 10,\n position: 'top',\n text: '',\n weight: 2000\n },\n defaultRoutes: {\n color: 'color'\n },\n descriptors: {\n _scriptable: true,\n _indexable: false,\n },\n};\n\nconst map = new WeakMap();\nvar plugin_subtitle = {\n id: 'subtitle',\n start(chart, _args, options) {\n const title = new Title({\n ctx: chart.ctx,\n options,\n chart\n });\n layouts.configure(chart, title, options);\n layouts.addBox(chart, title);\n map.set(chart, title);\n },\n stop(chart) {\n layouts.removeBox(chart, map.get(chart));\n map.delete(chart);\n },\n beforeUpdate(chart, _args, options) {\n const title = map.get(chart);\n layouts.configure(chart, title, options);\n title.options = options;\n },\n defaults: {\n align: 'center',\n display: false,\n font: {\n weight: 'normal',\n },\n fullSize: true,\n padding: 0,\n position: 'top',\n text: '',\n weight: 1500\n },\n defaultRoutes: {\n color: 'color'\n },\n descriptors: {\n _scriptable: true,\n _indexable: false,\n },\n};\n\nconst positioners = {\n average(items) {\n if (!items.length) {\n return false;\n }\n let i, len;\n let x = 0;\n let y = 0;\n let count = 0;\n for (i = 0, len = items.length; i < len; ++i) {\n const el = items[i].element;\n if (el && el.hasValue()) {\n const pos = el.tooltipPosition();\n x += pos.x;\n y += pos.y;\n ++count;\n }\n }\n return {\n x: x / count,\n y: y / count\n };\n },\n nearest(items, eventPosition) {\n if (!items.length) {\n return false;\n }\n let x = eventPosition.x;\n let y = eventPosition.y;\n let minDistance = Number.POSITIVE_INFINITY;\n let i, len, nearestElement;\n for (i = 0, len = items.length; i < len; ++i) {\n const el = items[i].element;\n if (el && el.hasValue()) {\n const center = el.getCenterPoint();\n const d = distanceBetweenPoints(eventPosition, center);\n if (d < minDistance) {\n minDistance = d;\n nearestElement = el;\n }\n }\n }\n if (nearestElement) {\n const tp = nearestElement.tooltipPosition();\n x = tp.x;\n y = tp.y;\n }\n return {\n x,\n y\n };\n }\n};\nfunction pushOrConcat(base, toPush) {\n if (toPush) {\n if (isArray(toPush)) {\n Array.prototype.push.apply(base, toPush);\n } else {\n base.push(toPush);\n }\n }\n return base;\n}\nfunction splitNewlines(str) {\n if ((typeof str === 'string' || str instanceof String) && str.indexOf('\\n') > -1) {\n return str.split('\\n');\n }\n return str;\n}\nfunction createTooltipItem(chart, item) {\n const {element, datasetIndex, index} = item;\n const controller = chart.getDatasetMeta(datasetIndex).controller;\n const {label, value} = controller.getLabelAndValue(index);\n return {\n chart,\n label,\n parsed: controller.getParsed(index),\n raw: chart.data.datasets[datasetIndex].data[index],\n formattedValue: value,\n dataset: controller.getDataset(),\n dataIndex: index,\n datasetIndex,\n element\n };\n}\nfunction getTooltipSize(tooltip, options) {\n const ctx = tooltip.chart.ctx;\n const {body, footer, title} = tooltip;\n const {boxWidth, boxHeight} = options;\n const bodyFont = toFont(options.bodyFont);\n const titleFont = toFont(options.titleFont);\n const footerFont = toFont(options.footerFont);\n const titleLineCount = title.length;\n const footerLineCount = footer.length;\n const bodyLineItemCount = body.length;\n const padding = toPadding(options.padding);\n let height = padding.height;\n let width = 0;\n let combinedBodyLength = body.reduce((count, bodyItem) => count + bodyItem.before.length + bodyItem.lines.length + bodyItem.after.length, 0);\n combinedBodyLength += tooltip.beforeBody.length + tooltip.afterBody.length;\n if (titleLineCount) {\n height += titleLineCount * titleFont.lineHeight\n\t\t\t+ (titleLineCount - 1) * options.titleSpacing\n\t\t\t+ options.titleMarginBottom;\n }\n if (combinedBodyLength) {\n const bodyLineHeight = options.displayColors ? Math.max(boxHeight, bodyFont.lineHeight) : bodyFont.lineHeight;\n height += bodyLineItemCount * bodyLineHeight\n\t\t\t+ (combinedBodyLength - bodyLineItemCount) * bodyFont.lineHeight\n\t\t\t+ (combinedBodyLength - 1) * options.bodySpacing;\n }\n if (footerLineCount) {\n height += options.footerMarginTop\n\t\t\t+ footerLineCount * footerFont.lineHeight\n\t\t\t+ (footerLineCount - 1) * options.footerSpacing;\n }\n let widthPadding = 0;\n const maxLineWidth = function(line) {\n width = Math.max(width, ctx.measureText(line).width + widthPadding);\n };\n ctx.save();\n ctx.font = titleFont.string;\n each(tooltip.title, maxLineWidth);\n ctx.font = bodyFont.string;\n each(tooltip.beforeBody.concat(tooltip.afterBody), maxLineWidth);\n widthPadding = options.displayColors ? (boxWidth + 2 + options.boxPadding) : 0;\n each(body, (bodyItem) => {\n each(bodyItem.before, maxLineWidth);\n each(bodyItem.lines, maxLineWidth);\n each(bodyItem.after, maxLineWidth);\n });\n widthPadding = 0;\n ctx.font = footerFont.string;\n each(tooltip.footer, maxLineWidth);\n ctx.restore();\n width += padding.width;\n return {width, height};\n}\nfunction determineYAlign(chart, size) {\n const {y, height} = size;\n if (y < height / 2) {\n return 'top';\n } else if (y > (chart.height - height / 2)) {\n return 'bottom';\n }\n return 'center';\n}\nfunction doesNotFitWithAlign(xAlign, chart, options, size) {\n const {x, width} = size;\n const caret = options.caretSize + options.caretPadding;\n if (xAlign === 'left' && x + width + caret > chart.width) {\n return true;\n }\n if (xAlign === 'right' && x - width - caret < 0) {\n return true;\n }\n}\nfunction determineXAlign(chart, options, size, yAlign) {\n const {x, width} = size;\n const {width: chartWidth, chartArea: {left, right}} = chart;\n let xAlign = 'center';\n if (yAlign === 'center') {\n xAlign = x <= (left + right) / 2 ? 'left' : 'right';\n } else if (x <= width / 2) {\n xAlign = 'left';\n } else if (x >= chartWidth - width / 2) {\n xAlign = 'right';\n }\n if (doesNotFitWithAlign(xAlign, chart, options, size)) {\n xAlign = 'center';\n }\n return xAlign;\n}\nfunction determineAlignment(chart, options, size) {\n const yAlign = size.yAlign || options.yAlign || determineYAlign(chart, size);\n return {\n xAlign: size.xAlign || options.xAlign || determineXAlign(chart, options, size, yAlign),\n yAlign\n };\n}\nfunction alignX(size, xAlign) {\n let {x, width} = size;\n if (xAlign === 'right') {\n x -= width;\n } else if (xAlign === 'center') {\n x -= (width / 2);\n }\n return x;\n}\nfunction alignY(size, yAlign, paddingAndSize) {\n let {y, height} = size;\n if (yAlign === 'top') {\n y += paddingAndSize;\n } else if (yAlign === 'bottom') {\n y -= height + paddingAndSize;\n } else {\n y -= (height / 2);\n }\n return y;\n}\nfunction getBackgroundPoint(options, size, alignment, chart) {\n const {caretSize, caretPadding, cornerRadius} = options;\n const {xAlign, yAlign} = alignment;\n const paddingAndSize = caretSize + caretPadding;\n const {topLeft, topRight, bottomLeft, bottomRight} = toTRBLCorners(cornerRadius);\n let x = alignX(size, xAlign);\n const y = alignY(size, yAlign, paddingAndSize);\n if (yAlign === 'center') {\n if (xAlign === 'left') {\n x += paddingAndSize;\n } else if (xAlign === 'right') {\n x -= paddingAndSize;\n }\n } else if (xAlign === 'left') {\n x -= Math.max(topLeft, bottomLeft) + caretSize;\n } else if (xAlign === 'right') {\n x += Math.max(topRight, bottomRight) + caretSize;\n }\n return {\n x: _limitValue(x, 0, chart.width - size.width),\n y: _limitValue(y, 0, chart.height - size.height)\n };\n}\nfunction getAlignedX(tooltip, align, options) {\n const padding = toPadding(options.padding);\n return align === 'center'\n ? tooltip.x + tooltip.width / 2\n : align === 'right'\n ? tooltip.x + tooltip.width - padding.right\n : tooltip.x + padding.left;\n}\nfunction getBeforeAfterBodyLines(callback) {\n return pushOrConcat([], splitNewlines(callback));\n}\nfunction createTooltipContext(parent, tooltip, tooltipItems) {\n return createContext(parent, {\n tooltip,\n tooltipItems,\n type: 'tooltip'\n });\n}\nfunction overrideCallbacks(callbacks, context) {\n const override = context && context.dataset && context.dataset.tooltip && context.dataset.tooltip.callbacks;\n return override ? callbacks.override(override) : callbacks;\n}\nclass Tooltip extends Element {\n constructor(config) {\n super();\n this.opacity = 0;\n this._active = [];\n this._eventPosition = undefined;\n this._size = undefined;\n this._cachedAnimations = undefined;\n this._tooltipItems = [];\n this.$animations = undefined;\n this.$context = undefined;\n this.chart = config.chart || config._chart;\n this._chart = this.chart;\n this.options = config.options;\n this.dataPoints = undefined;\n this.title = undefined;\n this.beforeBody = undefined;\n this.body = undefined;\n this.afterBody = undefined;\n this.footer = undefined;\n this.xAlign = undefined;\n this.yAlign = undefined;\n this.x = undefined;\n this.y = undefined;\n this.height = undefined;\n this.width = undefined;\n this.caretX = undefined;\n this.caretY = undefined;\n this.labelColors = undefined;\n this.labelPointStyles = undefined;\n this.labelTextColors = undefined;\n }\n initialize(options) {\n this.options = options;\n this._cachedAnimations = undefined;\n this.$context = undefined;\n }\n _resolveAnimations() {\n const cached = this._cachedAnimations;\n if (cached) {\n return cached;\n }\n const chart = this.chart;\n const options = this.options.setContext(this.getContext());\n const opts = options.enabled && chart.options.animation && options.animations;\n const animations = new Animations(this.chart, opts);\n if (opts._cacheable) {\n this._cachedAnimations = Object.freeze(animations);\n }\n return animations;\n }\n getContext() {\n return this.$context ||\n\t\t\t(this.$context = createTooltipContext(this.chart.getContext(), this, this._tooltipItems));\n }\n getTitle(context, options) {\n const {callbacks} = options;\n const beforeTitle = callbacks.beforeTitle.apply(this, [context]);\n const title = callbacks.title.apply(this, [context]);\n const afterTitle = callbacks.afterTitle.apply(this, [context]);\n let lines = [];\n lines = pushOrConcat(lines, splitNewlines(beforeTitle));\n lines = pushOrConcat(lines, splitNewlines(title));\n lines = pushOrConcat(lines, splitNewlines(afterTitle));\n return lines;\n }\n getBeforeBody(tooltipItems, options) {\n return getBeforeAfterBodyLines(options.callbacks.beforeBody.apply(this, [tooltipItems]));\n }\n getBody(tooltipItems, options) {\n const {callbacks} = options;\n const bodyItems = [];\n each(tooltipItems, (context) => {\n const bodyItem = {\n before: [],\n lines: [],\n after: []\n };\n const scoped = overrideCallbacks(callbacks, context);\n pushOrConcat(bodyItem.before, splitNewlines(scoped.beforeLabel.call(this, context)));\n pushOrConcat(bodyItem.lines, scoped.label.call(this, context));\n pushOrConcat(bodyItem.after, splitNewlines(scoped.afterLabel.call(this, context)));\n bodyItems.push(bodyItem);\n });\n return bodyItems;\n }\n getAfterBody(tooltipItems, options) {\n return getBeforeAfterBodyLines(options.callbacks.afterBody.apply(this, [tooltipItems]));\n }\n getFooter(tooltipItems, options) {\n const {callbacks} = options;\n const beforeFooter = callbacks.beforeFooter.apply(this, [tooltipItems]);\n const footer = callbacks.footer.apply(this, [tooltipItems]);\n const afterFooter = callbacks.afterFooter.apply(this, [tooltipItems]);\n let lines = [];\n lines = pushOrConcat(lines, splitNewlines(beforeFooter));\n lines = pushOrConcat(lines, splitNewlines(footer));\n lines = pushOrConcat(lines, splitNewlines(afterFooter));\n return lines;\n }\n _createItems(options) {\n const active = this._active;\n const data = this.chart.data;\n const labelColors = [];\n const labelPointStyles = [];\n const labelTextColors = [];\n let tooltipItems = [];\n let i, len;\n for (i = 0, len = active.length; i < len; ++i) {\n tooltipItems.push(createTooltipItem(this.chart, active[i]));\n }\n if (options.filter) {\n tooltipItems = tooltipItems.filter((element, index, array) => options.filter(element, index, array, data));\n }\n if (options.itemSort) {\n tooltipItems = tooltipItems.sort((a, b) => options.itemSort(a, b, data));\n }\n each(tooltipItems, (context) => {\n const scoped = overrideCallbacks(options.callbacks, context);\n labelColors.push(scoped.labelColor.call(this, context));\n labelPointStyles.push(scoped.labelPointStyle.call(this, context));\n labelTextColors.push(scoped.labelTextColor.call(this, context));\n });\n this.labelColors = labelColors;\n this.labelPointStyles = labelPointStyles;\n this.labelTextColors = labelTextColors;\n this.dataPoints = tooltipItems;\n return tooltipItems;\n }\n update(changed, replay) {\n const options = this.options.setContext(this.getContext());\n const active = this._active;\n let properties;\n let tooltipItems = [];\n if (!active.length) {\n if (this.opacity !== 0) {\n properties = {\n opacity: 0\n };\n }\n } else {\n const position = positioners[options.position].call(this, active, this._eventPosition);\n tooltipItems = this._createItems(options);\n this.title = this.getTitle(tooltipItems, options);\n this.beforeBody = this.getBeforeBody(tooltipItems, options);\n this.body = this.getBody(tooltipItems, options);\n this.afterBody = this.getAfterBody(tooltipItems, options);\n this.footer = this.getFooter(tooltipItems, options);\n const size = this._size = getTooltipSize(this, options);\n const positionAndSize = Object.assign({}, position, size);\n const alignment = determineAlignment(this.chart, options, positionAndSize);\n const backgroundPoint = getBackgroundPoint(options, positionAndSize, alignment, this.chart);\n this.xAlign = alignment.xAlign;\n this.yAlign = alignment.yAlign;\n properties = {\n opacity: 1,\n x: backgroundPoint.x,\n y: backgroundPoint.y,\n width: size.width,\n height: size.height,\n caretX: position.x,\n caretY: position.y\n };\n }\n this._tooltipItems = tooltipItems;\n this.$context = undefined;\n if (properties) {\n this._resolveAnimations().update(this, properties);\n }\n if (changed && options.external) {\n options.external.call(this, {chart: this.chart, tooltip: this, replay});\n }\n }\n drawCaret(tooltipPoint, ctx, size, options) {\n const caretPosition = this.getCaretPosition(tooltipPoint, size, options);\n ctx.lineTo(caretPosition.x1, caretPosition.y1);\n ctx.lineTo(caretPosition.x2, caretPosition.y2);\n ctx.lineTo(caretPosition.x3, caretPosition.y3);\n }\n getCaretPosition(tooltipPoint, size, options) {\n const {xAlign, yAlign} = this;\n const {caretSize, cornerRadius} = options;\n const {topLeft, topRight, bottomLeft, bottomRight} = toTRBLCorners(cornerRadius);\n const {x: ptX, y: ptY} = tooltipPoint;\n const {width, height} = size;\n let x1, x2, x3, y1, y2, y3;\n if (yAlign === 'center') {\n y2 = ptY + (height / 2);\n if (xAlign === 'left') {\n x1 = ptX;\n x2 = x1 - caretSize;\n y1 = y2 + caretSize;\n y3 = y2 - caretSize;\n } else {\n x1 = ptX + width;\n x2 = x1 + caretSize;\n y1 = y2 - caretSize;\n y3 = y2 + caretSize;\n }\n x3 = x1;\n } else {\n if (xAlign === 'left') {\n x2 = ptX + Math.max(topLeft, bottomLeft) + (caretSize);\n } else if (xAlign === 'right') {\n x2 = ptX + width - Math.max(topRight, bottomRight) - caretSize;\n } else {\n x2 = this.caretX;\n }\n if (yAlign === 'top') {\n y1 = ptY;\n y2 = y1 - caretSize;\n x1 = x2 - caretSize;\n x3 = x2 + caretSize;\n } else {\n y1 = ptY + height;\n y2 = y1 + caretSize;\n x1 = x2 + caretSize;\n x3 = x2 - caretSize;\n }\n y3 = y1;\n }\n return {x1, x2, x3, y1, y2, y3};\n }\n drawTitle(pt, ctx, options) {\n const title = this.title;\n const length = title.length;\n let titleFont, titleSpacing, i;\n if (length) {\n const rtlHelper = getRtlAdapter(options.rtl, this.x, this.width);\n pt.x = getAlignedX(this, options.titleAlign, options);\n ctx.textAlign = rtlHelper.textAlign(options.titleAlign);\n ctx.textBaseline = 'middle';\n titleFont = toFont(options.titleFont);\n titleSpacing = options.titleSpacing;\n ctx.fillStyle = options.titleColor;\n ctx.font = titleFont.string;\n for (i = 0; i < length; ++i) {\n ctx.fillText(title[i], rtlHelper.x(pt.x), pt.y + titleFont.lineHeight / 2);\n pt.y += titleFont.lineHeight + titleSpacing;\n if (i + 1 === length) {\n pt.y += options.titleMarginBottom - titleSpacing;\n }\n }\n }\n }\n _drawColorBox(ctx, pt, i, rtlHelper, options) {\n const labelColors = this.labelColors[i];\n const labelPointStyle = this.labelPointStyles[i];\n const {boxHeight, boxWidth, boxPadding} = options;\n const bodyFont = toFont(options.bodyFont);\n const colorX = getAlignedX(this, 'left', options);\n const rtlColorX = rtlHelper.x(colorX);\n const yOffSet = boxHeight < bodyFont.lineHeight ? (bodyFont.lineHeight - boxHeight) / 2 : 0;\n const colorY = pt.y + yOffSet;\n if (options.usePointStyle) {\n const drawOptions = {\n radius: Math.min(boxWidth, boxHeight) / 2,\n pointStyle: labelPointStyle.pointStyle,\n rotation: labelPointStyle.rotation,\n borderWidth: 1\n };\n const centerX = rtlHelper.leftForLtr(rtlColorX, boxWidth) + boxWidth / 2;\n const centerY = colorY + boxHeight / 2;\n ctx.strokeStyle = options.multiKeyBackground;\n ctx.fillStyle = options.multiKeyBackground;\n drawPoint(ctx, drawOptions, centerX, centerY);\n ctx.strokeStyle = labelColors.borderColor;\n ctx.fillStyle = labelColors.backgroundColor;\n drawPoint(ctx, drawOptions, centerX, centerY);\n } else {\n ctx.lineWidth = isObject(labelColors.borderWidth) ? Math.max(...Object.values(labelColors.borderWidth)) : (labelColors.borderWidth || 1);\n ctx.strokeStyle = labelColors.borderColor;\n ctx.setLineDash(labelColors.borderDash || []);\n ctx.lineDashOffset = labelColors.borderDashOffset || 0;\n const outerX = rtlHelper.leftForLtr(rtlColorX, boxWidth - boxPadding);\n const innerX = rtlHelper.leftForLtr(rtlHelper.xPlus(rtlColorX, 1), boxWidth - boxPadding - 2);\n const borderRadius = toTRBLCorners(labelColors.borderRadius);\n if (Object.values(borderRadius).some(v => v !== 0)) {\n ctx.beginPath();\n ctx.fillStyle = options.multiKeyBackground;\n addRoundedRectPath(ctx, {\n x: outerX,\n y: colorY,\n w: boxWidth,\n h: boxHeight,\n radius: borderRadius,\n });\n ctx.fill();\n ctx.stroke();\n ctx.fillStyle = labelColors.backgroundColor;\n ctx.beginPath();\n addRoundedRectPath(ctx, {\n x: innerX,\n y: colorY + 1,\n w: boxWidth - 2,\n h: boxHeight - 2,\n radius: borderRadius,\n });\n ctx.fill();\n } else {\n ctx.fillStyle = options.multiKeyBackground;\n ctx.fillRect(outerX, colorY, boxWidth, boxHeight);\n ctx.strokeRect(outerX, colorY, boxWidth, boxHeight);\n ctx.fillStyle = labelColors.backgroundColor;\n ctx.fillRect(innerX, colorY + 1, boxWidth - 2, boxHeight - 2);\n }\n }\n ctx.fillStyle = this.labelTextColors[i];\n }\n drawBody(pt, ctx, options) {\n const {body} = this;\n const {bodySpacing, bodyAlign, displayColors, boxHeight, boxWidth, boxPadding} = options;\n const bodyFont = toFont(options.bodyFont);\n let bodyLineHeight = bodyFont.lineHeight;\n let xLinePadding = 0;\n const rtlHelper = getRtlAdapter(options.rtl, this.x, this.width);\n const fillLineOfText = function(line) {\n ctx.fillText(line, rtlHelper.x(pt.x + xLinePadding), pt.y + bodyLineHeight / 2);\n pt.y += bodyLineHeight + bodySpacing;\n };\n const bodyAlignForCalculation = rtlHelper.textAlign(bodyAlign);\n let bodyItem, textColor, lines, i, j, ilen, jlen;\n ctx.textAlign = bodyAlign;\n ctx.textBaseline = 'middle';\n ctx.font = bodyFont.string;\n pt.x = getAlignedX(this, bodyAlignForCalculation, options);\n ctx.fillStyle = options.bodyColor;\n each(this.beforeBody, fillLineOfText);\n xLinePadding = displayColors && bodyAlignForCalculation !== 'right'\n ? bodyAlign === 'center' ? (boxWidth / 2 + boxPadding) : (boxWidth + 2 + boxPadding)\n : 0;\n for (i = 0, ilen = body.length; i < ilen; ++i) {\n bodyItem = body[i];\n textColor = this.labelTextColors[i];\n ctx.fillStyle = textColor;\n each(bodyItem.before, fillLineOfText);\n lines = bodyItem.lines;\n if (displayColors && lines.length) {\n this._drawColorBox(ctx, pt, i, rtlHelper, options);\n bodyLineHeight = Math.max(bodyFont.lineHeight, boxHeight);\n }\n for (j = 0, jlen = lines.length; j < jlen; ++j) {\n fillLineOfText(lines[j]);\n bodyLineHeight = bodyFont.lineHeight;\n }\n each(bodyItem.after, fillLineOfText);\n }\n xLinePadding = 0;\n bodyLineHeight = bodyFont.lineHeight;\n each(this.afterBody, fillLineOfText);\n pt.y -= bodySpacing;\n }\n drawFooter(pt, ctx, options) {\n const footer = this.footer;\n const length = footer.length;\n let footerFont, i;\n if (length) {\n const rtlHelper = getRtlAdapter(options.rtl, this.x, this.width);\n pt.x = getAlignedX(this, options.footerAlign, options);\n pt.y += options.footerMarginTop;\n ctx.textAlign = rtlHelper.textAlign(options.footerAlign);\n ctx.textBaseline = 'middle';\n footerFont = toFont(options.footerFont);\n ctx.fillStyle = options.footerColor;\n ctx.font = footerFont.string;\n for (i = 0; i < length; ++i) {\n ctx.fillText(footer[i], rtlHelper.x(pt.x), pt.y + footerFont.lineHeight / 2);\n pt.y += footerFont.lineHeight + options.footerSpacing;\n }\n }\n }\n drawBackground(pt, ctx, tooltipSize, options) {\n const {xAlign, yAlign} = this;\n const {x, y} = pt;\n const {width, height} = tooltipSize;\n const {topLeft, topRight, bottomLeft, bottomRight} = toTRBLCorners(options.cornerRadius);\n ctx.fillStyle = options.backgroundColor;\n ctx.strokeStyle = options.borderColor;\n ctx.lineWidth = options.borderWidth;\n ctx.beginPath();\n ctx.moveTo(x + topLeft, y);\n if (yAlign === 'top') {\n this.drawCaret(pt, ctx, tooltipSize, options);\n }\n ctx.lineTo(x + width - topRight, y);\n ctx.quadraticCurveTo(x + width, y, x + width, y + topRight);\n if (yAlign === 'center' && xAlign === 'right') {\n this.drawCaret(pt, ctx, tooltipSize, options);\n }\n ctx.lineTo(x + width, y + height - bottomRight);\n ctx.quadraticCurveTo(x + width, y + height, x + width - bottomRight, y + height);\n if (yAlign === 'bottom') {\n this.drawCaret(pt, ctx, tooltipSize, options);\n }\n ctx.lineTo(x + bottomLeft, y + height);\n ctx.quadraticCurveTo(x, y + height, x, y + height - bottomLeft);\n if (yAlign === 'center' && xAlign === 'left') {\n this.drawCaret(pt, ctx, tooltipSize, options);\n }\n ctx.lineTo(x, y + topLeft);\n ctx.quadraticCurveTo(x, y, x + topLeft, y);\n ctx.closePath();\n ctx.fill();\n if (options.borderWidth > 0) {\n ctx.stroke();\n }\n }\n _updateAnimationTarget(options) {\n const chart = this.chart;\n const anims = this.$animations;\n const animX = anims && anims.x;\n const animY = anims && anims.y;\n if (animX || animY) {\n const position = positioners[options.position].call(this, this._active, this._eventPosition);\n if (!position) {\n return;\n }\n const size = this._size = getTooltipSize(this, options);\n const positionAndSize = Object.assign({}, position, this._size);\n const alignment = determineAlignment(chart, options, positionAndSize);\n const point = getBackgroundPoint(options, positionAndSize, alignment, chart);\n if (animX._to !== point.x || animY._to !== point.y) {\n this.xAlign = alignment.xAlign;\n this.yAlign = alignment.yAlign;\n this.width = size.width;\n this.height = size.height;\n this.caretX = position.x;\n this.caretY = position.y;\n this._resolveAnimations().update(this, point);\n }\n }\n }\n _willRender() {\n return !!this.opacity;\n }\n draw(ctx) {\n const options = this.options.setContext(this.getContext());\n let opacity = this.opacity;\n if (!opacity) {\n return;\n }\n this._updateAnimationTarget(options);\n const tooltipSize = {\n width: this.width,\n height: this.height\n };\n const pt = {\n x: this.x,\n y: this.y\n };\n opacity = Math.abs(opacity) < 1e-3 ? 0 : opacity;\n const padding = toPadding(options.padding);\n const hasTooltipContent = this.title.length || this.beforeBody.length || this.body.length || this.afterBody.length || this.footer.length;\n if (options.enabled && hasTooltipContent) {\n ctx.save();\n ctx.globalAlpha = opacity;\n this.drawBackground(pt, ctx, tooltipSize, options);\n overrideTextDirection(ctx, options.textDirection);\n pt.y += padding.top;\n this.drawTitle(pt, ctx, options);\n this.drawBody(pt, ctx, options);\n this.drawFooter(pt, ctx, options);\n restoreTextDirection(ctx, options.textDirection);\n ctx.restore();\n }\n }\n getActiveElements() {\n return this._active || [];\n }\n setActiveElements(activeElements, eventPosition) {\n const lastActive = this._active;\n const active = activeElements.map(({datasetIndex, index}) => {\n const meta = this.chart.getDatasetMeta(datasetIndex);\n if (!meta) {\n throw new Error('Cannot find a dataset at index ' + datasetIndex);\n }\n return {\n datasetIndex,\n element: meta.data[index],\n index,\n };\n });\n const changed = !_elementsEqual(lastActive, active);\n const positionChanged = this._positionChanged(active, eventPosition);\n if (changed || positionChanged) {\n this._active = active;\n this._eventPosition = eventPosition;\n this._ignoreReplayEvents = true;\n this.update(true);\n }\n }\n handleEvent(e, replay, inChartArea = true) {\n if (replay && this._ignoreReplayEvents) {\n return false;\n }\n this._ignoreReplayEvents = false;\n const options = this.options;\n const lastActive = this._active || [];\n const active = this._getActiveElements(e, lastActive, replay, inChartArea);\n const positionChanged = this._positionChanged(active, e);\n const changed = replay || !_elementsEqual(active, lastActive) || positionChanged;\n if (changed) {\n this._active = active;\n if (options.enabled || options.external) {\n this._eventPosition = {\n x: e.x,\n y: e.y\n };\n this.update(true, replay);\n }\n }\n return changed;\n }\n _getActiveElements(e, lastActive, replay, inChartArea) {\n const options = this.options;\n if (e.type === 'mouseout') {\n return [];\n }\n if (!inChartArea) {\n return lastActive;\n }\n const active = this.chart.getElementsAtEventForMode(e, options.mode, options, replay);\n if (options.reverse) {\n active.reverse();\n }\n return active;\n }\n _positionChanged(active, e) {\n const {caretX, caretY, options} = this;\n const position = positioners[options.position].call(this, active, e);\n return position !== false && (caretX !== position.x || caretY !== position.y);\n }\n}\nTooltip.positioners = positioners;\nvar plugin_tooltip = {\n id: 'tooltip',\n _element: Tooltip,\n positioners,\n afterInit(chart, _args, options) {\n if (options) {\n chart.tooltip = new Tooltip({chart, options});\n }\n },\n beforeUpdate(chart, _args, options) {\n if (chart.tooltip) {\n chart.tooltip.initialize(options);\n }\n },\n reset(chart, _args, options) {\n if (chart.tooltip) {\n chart.tooltip.initialize(options);\n }\n },\n afterDraw(chart) {\n const tooltip = chart.tooltip;\n if (tooltip && tooltip._willRender()) {\n const args = {\n tooltip\n };\n if (chart.notifyPlugins('beforeTooltipDraw', args) === false) {\n return;\n }\n tooltip.draw(chart.ctx);\n chart.notifyPlugins('afterTooltipDraw', args);\n }\n },\n afterEvent(chart, args) {\n if (chart.tooltip) {\n const useFinalPosition = args.replay;\n if (chart.tooltip.handleEvent(args.event, useFinalPosition, args.inChartArea)) {\n args.changed = true;\n }\n }\n },\n defaults: {\n enabled: true,\n external: null,\n position: 'average',\n backgroundColor: 'rgba(0,0,0,0.8)',\n titleColor: '#fff',\n titleFont: {\n weight: 'bold',\n },\n titleSpacing: 2,\n titleMarginBottom: 6,\n titleAlign: 'left',\n bodyColor: '#fff',\n bodySpacing: 2,\n bodyFont: {\n },\n bodyAlign: 'left',\n footerColor: '#fff',\n footerSpacing: 2,\n footerMarginTop: 6,\n footerFont: {\n weight: 'bold',\n },\n footerAlign: 'left',\n padding: 6,\n caretPadding: 2,\n caretSize: 5,\n cornerRadius: 6,\n boxHeight: (ctx, opts) => opts.bodyFont.size,\n boxWidth: (ctx, opts) => opts.bodyFont.size,\n multiKeyBackground: '#fff',\n displayColors: true,\n boxPadding: 0,\n borderColor: 'rgba(0,0,0,0)',\n borderWidth: 0,\n animation: {\n duration: 400,\n easing: 'easeOutQuart',\n },\n animations: {\n numbers: {\n type: 'number',\n properties: ['x', 'y', 'width', 'height', 'caretX', 'caretY'],\n },\n opacity: {\n easing: 'linear',\n duration: 200\n }\n },\n callbacks: {\n beforeTitle: noop,\n title(tooltipItems) {\n if (tooltipItems.length > 0) {\n const item = tooltipItems[0];\n const labels = item.chart.data.labels;\n const labelCount = labels ? labels.length : 0;\n if (this && this.options && this.options.mode === 'dataset') {\n return item.dataset.label || '';\n } else if (item.label) {\n return item.label;\n } else if (labelCount > 0 && item.dataIndex < labelCount) {\n return labels[item.dataIndex];\n }\n }\n return '';\n },\n afterTitle: noop,\n beforeBody: noop,\n beforeLabel: noop,\n label(tooltipItem) {\n if (this && this.options && this.options.mode === 'dataset') {\n return tooltipItem.label + ': ' + tooltipItem.formattedValue || tooltipItem.formattedValue;\n }\n let label = tooltipItem.dataset.label || '';\n if (label) {\n label += ': ';\n }\n const value = tooltipItem.formattedValue;\n if (!isNullOrUndef(value)) {\n label += value;\n }\n return label;\n },\n labelColor(tooltipItem) {\n const meta = tooltipItem.chart.getDatasetMeta(tooltipItem.datasetIndex);\n const options = meta.controller.getStyle(tooltipItem.dataIndex);\n return {\n borderColor: options.borderColor,\n backgroundColor: options.backgroundColor,\n borderWidth: options.borderWidth,\n borderDash: options.borderDash,\n borderDashOffset: options.borderDashOffset,\n borderRadius: 0,\n };\n },\n labelTextColor() {\n return this.options.bodyColor;\n },\n labelPointStyle(tooltipItem) {\n const meta = tooltipItem.chart.getDatasetMeta(tooltipItem.datasetIndex);\n const options = meta.controller.getStyle(tooltipItem.dataIndex);\n return {\n pointStyle: options.pointStyle,\n rotation: options.rotation,\n };\n },\n afterLabel: noop,\n afterBody: noop,\n beforeFooter: noop,\n footer: noop,\n afterFooter: noop\n }\n },\n defaultRoutes: {\n bodyFont: 'font',\n footerFont: 'font',\n titleFont: 'font'\n },\n descriptors: {\n _scriptable: (name) => name !== 'filter' && name !== 'itemSort' && name !== 'external',\n _indexable: false,\n callbacks: {\n _scriptable: false,\n _indexable: false,\n },\n animation: {\n _fallback: false\n },\n animations: {\n _fallback: 'animation'\n }\n },\n additionalOptionScopes: ['interaction']\n};\n\nvar plugins = /*#__PURE__*/Object.freeze({\n__proto__: null,\nDecimation: plugin_decimation,\nFiller: index,\nLegend: plugin_legend,\nSubTitle: plugin_subtitle,\nTitle: plugin_title,\nTooltip: plugin_tooltip\n});\n\nconst addIfString = (labels, raw, index, addedLabels) => {\n if (typeof raw === 'string') {\n index = labels.push(raw) - 1;\n addedLabels.unshift({index, label: raw});\n } else if (isNaN(raw)) {\n index = null;\n }\n return index;\n};\nfunction findOrAddLabel(labels, raw, index, addedLabels) {\n const first = labels.indexOf(raw);\n if (first === -1) {\n return addIfString(labels, raw, index, addedLabels);\n }\n const last = labels.lastIndexOf(raw);\n return first !== last ? index : first;\n}\nconst validIndex = (index, max) => index === null ? null : _limitValue(Math.round(index), 0, max);\nclass CategoryScale extends Scale {\n constructor(cfg) {\n super(cfg);\n this._startValue = undefined;\n this._valueRange = 0;\n this._addedLabels = [];\n }\n init(scaleOptions) {\n const added = this._addedLabels;\n if (added.length) {\n const labels = this.getLabels();\n for (const {index, label} of added) {\n if (labels[index] === label) {\n labels.splice(index, 1);\n }\n }\n this._addedLabels = [];\n }\n super.init(scaleOptions);\n }\n parse(raw, index) {\n if (isNullOrUndef(raw)) {\n return null;\n }\n const labels = this.getLabels();\n index = isFinite(index) && labels[index] === raw ? index\n : findOrAddLabel(labels, raw, valueOrDefault(index, raw), this._addedLabels);\n return validIndex(index, labels.length - 1);\n }\n determineDataLimits() {\n const {minDefined, maxDefined} = this.getUserBounds();\n let {min, max} = this.getMinMax(true);\n if (this.options.bounds === 'ticks') {\n if (!minDefined) {\n min = 0;\n }\n if (!maxDefined) {\n max = this.getLabels().length - 1;\n }\n }\n this.min = min;\n this.max = max;\n }\n buildTicks() {\n const min = this.min;\n const max = this.max;\n const offset = this.options.offset;\n const ticks = [];\n let labels = this.getLabels();\n labels = (min === 0 && max === labels.length - 1) ? labels : labels.slice(min, max + 1);\n this._valueRange = Math.max(labels.length - (offset ? 0 : 1), 1);\n this._startValue = this.min - (offset ? 0.5 : 0);\n for (let value = min; value <= max; value++) {\n ticks.push({value});\n }\n return ticks;\n }\n getLabelForValue(value) {\n const labels = this.getLabels();\n if (value >= 0 && value < labels.length) {\n return labels[value];\n }\n return value;\n }\n configure() {\n super.configure();\n if (!this.isHorizontal()) {\n this._reversePixels = !this._reversePixels;\n }\n }\n getPixelForValue(value) {\n if (typeof value !== 'number') {\n value = this.parse(value);\n }\n return value === null ? NaN : this.getPixelForDecimal((value - this._startValue) / this._valueRange);\n }\n getPixelForTick(index) {\n const ticks = this.ticks;\n if (index < 0 || index > ticks.length - 1) {\n return null;\n }\n return this.getPixelForValue(ticks[index].value);\n }\n getValueForPixel(pixel) {\n return Math.round(this._startValue + this.getDecimalForPixel(pixel) * this._valueRange);\n }\n getBasePixel() {\n return this.bottom;\n }\n}\nCategoryScale.id = 'category';\nCategoryScale.defaults = {\n ticks: {\n callback: CategoryScale.prototype.getLabelForValue\n }\n};\n\nfunction generateTicks$1(generationOptions, dataRange) {\n const ticks = [];\n const MIN_SPACING = 1e-14;\n const {bounds, step, min, max, precision, count, maxTicks, maxDigits, includeBounds} = generationOptions;\n const unit = step || 1;\n const maxSpaces = maxTicks - 1;\n const {min: rmin, max: rmax} = dataRange;\n const minDefined = !isNullOrUndef(min);\n const maxDefined = !isNullOrUndef(max);\n const countDefined = !isNullOrUndef(count);\n const minSpacing = (rmax - rmin) / (maxDigits + 1);\n let spacing = niceNum((rmax - rmin) / maxSpaces / unit) * unit;\n let factor, niceMin, niceMax, numSpaces;\n if (spacing < MIN_SPACING && !minDefined && !maxDefined) {\n return [{value: rmin}, {value: rmax}];\n }\n numSpaces = Math.ceil(rmax / spacing) - Math.floor(rmin / spacing);\n if (numSpaces > maxSpaces) {\n spacing = niceNum(numSpaces * spacing / maxSpaces / unit) * unit;\n }\n if (!isNullOrUndef(precision)) {\n factor = Math.pow(10, precision);\n spacing = Math.ceil(spacing * factor) / factor;\n }\n if (bounds === 'ticks') {\n niceMin = Math.floor(rmin / spacing) * spacing;\n niceMax = Math.ceil(rmax / spacing) * spacing;\n } else {\n niceMin = rmin;\n niceMax = rmax;\n }\n if (minDefined && maxDefined && step && almostWhole((max - min) / step, spacing / 1000)) {\n numSpaces = Math.round(Math.min((max - min) / spacing, maxTicks));\n spacing = (max - min) / numSpaces;\n niceMin = min;\n niceMax = max;\n } else if (countDefined) {\n niceMin = minDefined ? min : niceMin;\n niceMax = maxDefined ? max : niceMax;\n numSpaces = count - 1;\n spacing = (niceMax - niceMin) / numSpaces;\n } else {\n numSpaces = (niceMax - niceMin) / spacing;\n if (almostEquals(numSpaces, Math.round(numSpaces), spacing / 1000)) {\n numSpaces = Math.round(numSpaces);\n } else {\n numSpaces = Math.ceil(numSpaces);\n }\n }\n const decimalPlaces = Math.max(\n _decimalPlaces(spacing),\n _decimalPlaces(niceMin)\n );\n factor = Math.pow(10, isNullOrUndef(precision) ? decimalPlaces : precision);\n niceMin = Math.round(niceMin * factor) / factor;\n niceMax = Math.round(niceMax * factor) / factor;\n let j = 0;\n if (minDefined) {\n if (includeBounds && niceMin !== min) {\n ticks.push({value: min});\n if (niceMin < min) {\n j++;\n }\n if (almostEquals(Math.round((niceMin + j * spacing) * factor) / factor, min, relativeLabelSize(min, minSpacing, generationOptions))) {\n j++;\n }\n } else if (niceMin < min) {\n j++;\n }\n }\n for (; j < numSpaces; ++j) {\n ticks.push({value: Math.round((niceMin + j * spacing) * factor) / factor});\n }\n if (maxDefined && includeBounds && niceMax !== max) {\n if (ticks.length && almostEquals(ticks[ticks.length - 1].value, max, relativeLabelSize(max, minSpacing, generationOptions))) {\n ticks[ticks.length - 1].value = max;\n } else {\n ticks.push({value: max});\n }\n } else if (!maxDefined || niceMax === max) {\n ticks.push({value: niceMax});\n }\n return ticks;\n}\nfunction relativeLabelSize(value, minSpacing, {horizontal, minRotation}) {\n const rad = toRadians(minRotation);\n const ratio = (horizontal ? Math.sin(rad) : Math.cos(rad)) || 0.001;\n const length = 0.75 * minSpacing * ('' + value).length;\n return Math.min(minSpacing / ratio, length);\n}\nclass LinearScaleBase extends Scale {\n constructor(cfg) {\n super(cfg);\n this.start = undefined;\n this.end = undefined;\n this._startValue = undefined;\n this._endValue = undefined;\n this._valueRange = 0;\n }\n parse(raw, index) {\n if (isNullOrUndef(raw)) {\n return null;\n }\n if ((typeof raw === 'number' || raw instanceof Number) && !isFinite(+raw)) {\n return null;\n }\n return +raw;\n }\n handleTickRangeOptions() {\n const {beginAtZero} = this.options;\n const {minDefined, maxDefined} = this.getUserBounds();\n let {min, max} = this;\n const setMin = v => (min = minDefined ? min : v);\n const setMax = v => (max = maxDefined ? max : v);\n if (beginAtZero) {\n const minSign = sign(min);\n const maxSign = sign(max);\n if (minSign < 0 && maxSign < 0) {\n setMax(0);\n } else if (minSign > 0 && maxSign > 0) {\n setMin(0);\n }\n }\n if (min === max) {\n let offset = 1;\n if (max >= Number.MAX_SAFE_INTEGER || min <= Number.MIN_SAFE_INTEGER) {\n offset = Math.abs(max * 0.05);\n }\n setMax(max + offset);\n if (!beginAtZero) {\n setMin(min - offset);\n }\n }\n this.min = min;\n this.max = max;\n }\n getTickLimit() {\n const tickOpts = this.options.ticks;\n let {maxTicksLimit, stepSize} = tickOpts;\n let maxTicks;\n if (stepSize) {\n maxTicks = Math.ceil(this.max / stepSize) - Math.floor(this.min / stepSize) + 1;\n if (maxTicks > 1000) {\n console.warn(`scales.${this.id}.ticks.stepSize: ${stepSize} would result generating up to ${maxTicks} ticks. Limiting to 1000.`);\n maxTicks = 1000;\n }\n } else {\n maxTicks = this.computeTickLimit();\n maxTicksLimit = maxTicksLimit || 11;\n }\n if (maxTicksLimit) {\n maxTicks = Math.min(maxTicksLimit, maxTicks);\n }\n return maxTicks;\n }\n computeTickLimit() {\n return Number.POSITIVE_INFINITY;\n }\n buildTicks() {\n const opts = this.options;\n const tickOpts = opts.ticks;\n let maxTicks = this.getTickLimit();\n maxTicks = Math.max(2, maxTicks);\n const numericGeneratorOptions = {\n maxTicks,\n bounds: opts.bounds,\n min: opts.min,\n max: opts.max,\n precision: tickOpts.precision,\n step: tickOpts.stepSize,\n count: tickOpts.count,\n maxDigits: this._maxDigits(),\n horizontal: this.isHorizontal(),\n minRotation: tickOpts.minRotation || 0,\n includeBounds: tickOpts.includeBounds !== false\n };\n const dataRange = this._range || this;\n const ticks = generateTicks$1(numericGeneratorOptions, dataRange);\n if (opts.bounds === 'ticks') {\n _setMinAndMaxByKey(ticks, this, 'value');\n }\n if (opts.reverse) {\n ticks.reverse();\n this.start = this.max;\n this.end = this.min;\n } else {\n this.start = this.min;\n this.end = this.max;\n }\n return ticks;\n }\n configure() {\n const ticks = this.ticks;\n let start = this.min;\n let end = this.max;\n super.configure();\n if (this.options.offset && ticks.length) {\n const offset = (end - start) / Math.max(ticks.length - 1, 1) / 2;\n start -= offset;\n end += offset;\n }\n this._startValue = start;\n this._endValue = end;\n this._valueRange = end - start;\n }\n getLabelForValue(value) {\n return formatNumber(value, this.chart.options.locale, this.options.ticks.format);\n }\n}\n\nclass LinearScale extends LinearScaleBase {\n determineDataLimits() {\n const {min, max} = this.getMinMax(true);\n this.min = isNumberFinite(min) ? min : 0;\n this.max = isNumberFinite(max) ? max : 1;\n this.handleTickRangeOptions();\n }\n computeTickLimit() {\n const horizontal = this.isHorizontal();\n const length = horizontal ? this.width : this.height;\n const minRotation = toRadians(this.options.ticks.minRotation);\n const ratio = (horizontal ? Math.sin(minRotation) : Math.cos(minRotation)) || 0.001;\n const tickFont = this._resolveTickFontOptions(0);\n return Math.ceil(length / Math.min(40, tickFont.lineHeight / ratio));\n }\n getPixelForValue(value) {\n return value === null ? NaN : this.getPixelForDecimal((value - this._startValue) / this._valueRange);\n }\n getValueForPixel(pixel) {\n return this._startValue + this.getDecimalForPixel(pixel) * this._valueRange;\n }\n}\nLinearScale.id = 'linear';\nLinearScale.defaults = {\n ticks: {\n callback: Ticks.formatters.numeric\n }\n};\n\nfunction isMajor(tickVal) {\n const remain = tickVal / (Math.pow(10, Math.floor(log10(tickVal))));\n return remain === 1;\n}\nfunction generateTicks(generationOptions, dataRange) {\n const endExp = Math.floor(log10(dataRange.max));\n const endSignificand = Math.ceil(dataRange.max / Math.pow(10, endExp));\n const ticks = [];\n let tickVal = finiteOrDefault(generationOptions.min, Math.pow(10, Math.floor(log10(dataRange.min))));\n let exp = Math.floor(log10(tickVal));\n let significand = Math.floor(tickVal / Math.pow(10, exp));\n let precision = exp < 0 ? Math.pow(10, Math.abs(exp)) : 1;\n do {\n ticks.push({value: tickVal, major: isMajor(tickVal)});\n ++significand;\n if (significand === 10) {\n significand = 1;\n ++exp;\n precision = exp >= 0 ? 1 : precision;\n }\n tickVal = Math.round(significand * Math.pow(10, exp) * precision) / precision;\n } while (exp < endExp || (exp === endExp && significand < endSignificand));\n const lastTick = finiteOrDefault(generationOptions.max, tickVal);\n ticks.push({value: lastTick, major: isMajor(tickVal)});\n return ticks;\n}\nclass LogarithmicScale extends Scale {\n constructor(cfg) {\n super(cfg);\n this.start = undefined;\n this.end = undefined;\n this._startValue = undefined;\n this._valueRange = 0;\n }\n parse(raw, index) {\n const value = LinearScaleBase.prototype.parse.apply(this, [raw, index]);\n if (value === 0) {\n this._zero = true;\n return undefined;\n }\n return isNumberFinite(value) && value > 0 ? value : null;\n }\n determineDataLimits() {\n const {min, max} = this.getMinMax(true);\n this.min = isNumberFinite(min) ? Math.max(0, min) : null;\n this.max = isNumberFinite(max) ? Math.max(0, max) : null;\n if (this.options.beginAtZero) {\n this._zero = true;\n }\n this.handleTickRangeOptions();\n }\n handleTickRangeOptions() {\n const {minDefined, maxDefined} = this.getUserBounds();\n let min = this.min;\n let max = this.max;\n const setMin = v => (min = minDefined ? min : v);\n const setMax = v => (max = maxDefined ? max : v);\n const exp = (v, m) => Math.pow(10, Math.floor(log10(v)) + m);\n if (min === max) {\n if (min <= 0) {\n setMin(1);\n setMax(10);\n } else {\n setMin(exp(min, -1));\n setMax(exp(max, +1));\n }\n }\n if (min <= 0) {\n setMin(exp(max, -1));\n }\n if (max <= 0) {\n setMax(exp(min, +1));\n }\n if (this._zero && this.min !== this._suggestedMin && min === exp(this.min, 0)) {\n setMin(exp(min, -1));\n }\n this.min = min;\n this.max = max;\n }\n buildTicks() {\n const opts = this.options;\n const generationOptions = {\n min: this._userMin,\n max: this._userMax\n };\n const ticks = generateTicks(generationOptions, this);\n if (opts.bounds === 'ticks') {\n _setMinAndMaxByKey(ticks, this, 'value');\n }\n if (opts.reverse) {\n ticks.reverse();\n this.start = this.max;\n this.end = this.min;\n } else {\n this.start = this.min;\n this.end = this.max;\n }\n return ticks;\n }\n getLabelForValue(value) {\n return value === undefined\n ? '0'\n : formatNumber(value, this.chart.options.locale, this.options.ticks.format);\n }\n configure() {\n const start = this.min;\n super.configure();\n this._startValue = log10(start);\n this._valueRange = log10(this.max) - log10(start);\n }\n getPixelForValue(value) {\n if (value === undefined || value === 0) {\n value = this.min;\n }\n if (value === null || isNaN(value)) {\n return NaN;\n }\n return this.getPixelForDecimal(value === this.min\n ? 0\n : (log10(value) - this._startValue) / this._valueRange);\n }\n getValueForPixel(pixel) {\n const decimal = this.getDecimalForPixel(pixel);\n return Math.pow(10, this._startValue + decimal * this._valueRange);\n }\n}\nLogarithmicScale.id = 'logarithmic';\nLogarithmicScale.defaults = {\n ticks: {\n callback: Ticks.formatters.logarithmic,\n major: {\n enabled: true\n }\n }\n};\n\nfunction getTickBackdropHeight(opts) {\n const tickOpts = opts.ticks;\n if (tickOpts.display && opts.display) {\n const padding = toPadding(tickOpts.backdropPadding);\n return valueOrDefault(tickOpts.font && tickOpts.font.size, defaults.font.size) + padding.height;\n }\n return 0;\n}\nfunction measureLabelSize(ctx, font, label) {\n label = isArray(label) ? label : [label];\n return {\n w: _longestText(ctx, font.string, label),\n h: label.length * font.lineHeight\n };\n}\nfunction determineLimits(angle, pos, size, min, max) {\n if (angle === min || angle === max) {\n return {\n start: pos - (size / 2),\n end: pos + (size / 2)\n };\n } else if (angle < min || angle > max) {\n return {\n start: pos - size,\n end: pos\n };\n }\n return {\n start: pos,\n end: pos + size\n };\n}\nfunction fitWithPointLabels(scale) {\n const orig = {\n l: scale.left + scale._padding.left,\n r: scale.right - scale._padding.right,\n t: scale.top + scale._padding.top,\n b: scale.bottom - scale._padding.bottom\n };\n const limits = Object.assign({}, orig);\n const labelSizes = [];\n const padding = [];\n const valueCount = scale._pointLabels.length;\n const pointLabelOpts = scale.options.pointLabels;\n const additionalAngle = pointLabelOpts.centerPointLabels ? PI / valueCount : 0;\n for (let i = 0; i < valueCount; i++) {\n const opts = pointLabelOpts.setContext(scale.getPointLabelContext(i));\n padding[i] = opts.padding;\n const pointPosition = scale.getPointPosition(i, scale.drawingArea + padding[i], additionalAngle);\n const plFont = toFont(opts.font);\n const textSize = measureLabelSize(scale.ctx, plFont, scale._pointLabels[i]);\n labelSizes[i] = textSize;\n const angleRadians = _normalizeAngle(scale.getIndexAngle(i) + additionalAngle);\n const angle = Math.round(toDegrees(angleRadians));\n const hLimits = determineLimits(angle, pointPosition.x, textSize.w, 0, 180);\n const vLimits = determineLimits(angle, pointPosition.y, textSize.h, 90, 270);\n updateLimits(limits, orig, angleRadians, hLimits, vLimits);\n }\n scale.setCenterPoint(\n orig.l - limits.l,\n limits.r - orig.r,\n orig.t - limits.t,\n limits.b - orig.b\n );\n scale._pointLabelItems = buildPointLabelItems(scale, labelSizes, padding);\n}\nfunction updateLimits(limits, orig, angle, hLimits, vLimits) {\n const sin = Math.abs(Math.sin(angle));\n const cos = Math.abs(Math.cos(angle));\n let x = 0;\n let y = 0;\n if (hLimits.start < orig.l) {\n x = (orig.l - hLimits.start) / sin;\n limits.l = Math.min(limits.l, orig.l - x);\n } else if (hLimits.end > orig.r) {\n x = (hLimits.end - orig.r) / sin;\n limits.r = Math.max(limits.r, orig.r + x);\n }\n if (vLimits.start < orig.t) {\n y = (orig.t - vLimits.start) / cos;\n limits.t = Math.min(limits.t, orig.t - y);\n } else if (vLimits.end > orig.b) {\n y = (vLimits.end - orig.b) / cos;\n limits.b = Math.max(limits.b, orig.b + y);\n }\n}\nfunction buildPointLabelItems(scale, labelSizes, padding) {\n const items = [];\n const valueCount = scale._pointLabels.length;\n const opts = scale.options;\n const extra = getTickBackdropHeight(opts) / 2;\n const outerDistance = scale.drawingArea;\n const additionalAngle = opts.pointLabels.centerPointLabels ? PI / valueCount : 0;\n for (let i = 0; i < valueCount; i++) {\n const pointLabelPosition = scale.getPointPosition(i, outerDistance + extra + padding[i], additionalAngle);\n const angle = Math.round(toDegrees(_normalizeAngle(pointLabelPosition.angle + HALF_PI)));\n const size = labelSizes[i];\n const y = yForAngle(pointLabelPosition.y, size.h, angle);\n const textAlign = getTextAlignForAngle(angle);\n const left = leftForTextAlign(pointLabelPosition.x, size.w, textAlign);\n items.push({\n x: pointLabelPosition.x,\n y,\n textAlign,\n left,\n top: y,\n right: left + size.w,\n bottom: y + size.h\n });\n }\n return items;\n}\nfunction getTextAlignForAngle(angle) {\n if (angle === 0 || angle === 180) {\n return 'center';\n } else if (angle < 180) {\n return 'left';\n }\n return 'right';\n}\nfunction leftForTextAlign(x, w, align) {\n if (align === 'right') {\n x -= w;\n } else if (align === 'center') {\n x -= (w / 2);\n }\n return x;\n}\nfunction yForAngle(y, h, angle) {\n if (angle === 90 || angle === 270) {\n y -= (h / 2);\n } else if (angle > 270 || angle < 90) {\n y -= h;\n }\n return y;\n}\nfunction drawPointLabels(scale, labelCount) {\n const {ctx, options: {pointLabels}} = scale;\n for (let i = labelCount - 1; i >= 0; i--) {\n const optsAtIndex = pointLabels.setContext(scale.getPointLabelContext(i));\n const plFont = toFont(optsAtIndex.font);\n const {x, y, textAlign, left, top, right, bottom} = scale._pointLabelItems[i];\n const {backdropColor} = optsAtIndex;\n if (!isNullOrUndef(backdropColor)) {\n const borderRadius = toTRBLCorners(optsAtIndex.borderRadius);\n const padding = toPadding(optsAtIndex.backdropPadding);\n ctx.fillStyle = backdropColor;\n const backdropLeft = left - padding.left;\n const backdropTop = top - padding.top;\n const backdropWidth = right - left + padding.width;\n const backdropHeight = bottom - top + padding.height;\n if (Object.values(borderRadius).some(v => v !== 0)) {\n ctx.beginPath();\n addRoundedRectPath(ctx, {\n x: backdropLeft,\n y: backdropTop,\n w: backdropWidth,\n h: backdropHeight,\n radius: borderRadius,\n });\n ctx.fill();\n } else {\n ctx.fillRect(backdropLeft, backdropTop, backdropWidth, backdropHeight);\n }\n }\n renderText(\n ctx,\n scale._pointLabels[i],\n x,\n y + (plFont.lineHeight / 2),\n plFont,\n {\n color: optsAtIndex.color,\n textAlign: textAlign,\n textBaseline: 'middle'\n }\n );\n }\n}\nfunction pathRadiusLine(scale, radius, circular, labelCount) {\n const {ctx} = scale;\n if (circular) {\n ctx.arc(scale.xCenter, scale.yCenter, radius, 0, TAU);\n } else {\n let pointPosition = scale.getPointPosition(0, radius);\n ctx.moveTo(pointPosition.x, pointPosition.y);\n for (let i = 1; i < labelCount; i++) {\n pointPosition = scale.getPointPosition(i, radius);\n ctx.lineTo(pointPosition.x, pointPosition.y);\n }\n }\n}\nfunction drawRadiusLine(scale, gridLineOpts, radius, labelCount) {\n const ctx = scale.ctx;\n const circular = gridLineOpts.circular;\n const {color, lineWidth} = gridLineOpts;\n if ((!circular && !labelCount) || !color || !lineWidth || radius < 0) {\n return;\n }\n ctx.save();\n ctx.strokeStyle = color;\n ctx.lineWidth = lineWidth;\n ctx.setLineDash(gridLineOpts.borderDash);\n ctx.lineDashOffset = gridLineOpts.borderDashOffset;\n ctx.beginPath();\n pathRadiusLine(scale, radius, circular, labelCount);\n ctx.closePath();\n ctx.stroke();\n ctx.restore();\n}\nfunction createPointLabelContext(parent, index, label) {\n return createContext(parent, {\n label,\n index,\n type: 'pointLabel'\n });\n}\nclass RadialLinearScale extends LinearScaleBase {\n constructor(cfg) {\n super(cfg);\n this.xCenter = undefined;\n this.yCenter = undefined;\n this.drawingArea = undefined;\n this._pointLabels = [];\n this._pointLabelItems = [];\n }\n setDimensions() {\n const padding = this._padding = toPadding(getTickBackdropHeight(this.options) / 2);\n const w = this.width = this.maxWidth - padding.width;\n const h = this.height = this.maxHeight - padding.height;\n this.xCenter = Math.floor(this.left + w / 2 + padding.left);\n this.yCenter = Math.floor(this.top + h / 2 + padding.top);\n this.drawingArea = Math.floor(Math.min(w, h) / 2);\n }\n determineDataLimits() {\n const {min, max} = this.getMinMax(false);\n this.min = isNumberFinite(min) && !isNaN(min) ? min : 0;\n this.max = isNumberFinite(max) && !isNaN(max) ? max : 0;\n this.handleTickRangeOptions();\n }\n computeTickLimit() {\n return Math.ceil(this.drawingArea / getTickBackdropHeight(this.options));\n }\n generateTickLabels(ticks) {\n LinearScaleBase.prototype.generateTickLabels.call(this, ticks);\n this._pointLabels = this.getLabels()\n .map((value, index) => {\n const label = callback(this.options.pointLabels.callback, [value, index], this);\n return label || label === 0 ? label : '';\n })\n .filter((v, i) => this.chart.getDataVisibility(i));\n }\n fit() {\n const opts = this.options;\n if (opts.display && opts.pointLabels.display) {\n fitWithPointLabels(this);\n } else {\n this.setCenterPoint(0, 0, 0, 0);\n }\n }\n setCenterPoint(leftMovement, rightMovement, topMovement, bottomMovement) {\n this.xCenter += Math.floor((leftMovement - rightMovement) / 2);\n this.yCenter += Math.floor((topMovement - bottomMovement) / 2);\n this.drawingArea -= Math.min(this.drawingArea / 2, Math.max(leftMovement, rightMovement, topMovement, bottomMovement));\n }\n getIndexAngle(index) {\n const angleMultiplier = TAU / (this._pointLabels.length || 1);\n const startAngle = this.options.startAngle || 0;\n return _normalizeAngle(index * angleMultiplier + toRadians(startAngle));\n }\n getDistanceFromCenterForValue(value) {\n if (isNullOrUndef(value)) {\n return NaN;\n }\n const scalingFactor = this.drawingArea / (this.max - this.min);\n if (this.options.reverse) {\n return (this.max - value) * scalingFactor;\n }\n return (value - this.min) * scalingFactor;\n }\n getValueForDistanceFromCenter(distance) {\n if (isNullOrUndef(distance)) {\n return NaN;\n }\n const scaledDistance = distance / (this.drawingArea / (this.max - this.min));\n return this.options.reverse ? this.max - scaledDistance : this.min + scaledDistance;\n }\n getPointLabelContext(index) {\n const pointLabels = this._pointLabels || [];\n if (index >= 0 && index < pointLabels.length) {\n const pointLabel = pointLabels[index];\n return createPointLabelContext(this.getContext(), index, pointLabel);\n }\n }\n getPointPosition(index, distanceFromCenter, additionalAngle = 0) {\n const angle = this.getIndexAngle(index) - HALF_PI + additionalAngle;\n return {\n x: Math.cos(angle) * distanceFromCenter + this.xCenter,\n y: Math.sin(angle) * distanceFromCenter + this.yCenter,\n angle\n };\n }\n getPointPositionForValue(index, value) {\n return this.getPointPosition(index, this.getDistanceFromCenterForValue(value));\n }\n getBasePosition(index) {\n return this.getPointPositionForValue(index || 0, this.getBaseValue());\n }\n getPointLabelPosition(index) {\n const {left, top, right, bottom} = this._pointLabelItems[index];\n return {\n left,\n top,\n right,\n bottom,\n };\n }\n drawBackground() {\n const {backgroundColor, grid: {circular}} = this.options;\n if (backgroundColor) {\n const ctx = this.ctx;\n ctx.save();\n ctx.beginPath();\n pathRadiusLine(this, this.getDistanceFromCenterForValue(this._endValue), circular, this._pointLabels.length);\n ctx.closePath();\n ctx.fillStyle = backgroundColor;\n ctx.fill();\n ctx.restore();\n }\n }\n drawGrid() {\n const ctx = this.ctx;\n const opts = this.options;\n const {angleLines, grid} = opts;\n const labelCount = this._pointLabels.length;\n let i, offset, position;\n if (opts.pointLabels.display) {\n drawPointLabels(this, labelCount);\n }\n if (grid.display) {\n this.ticks.forEach((tick, index) => {\n if (index !== 0) {\n offset = this.getDistanceFromCenterForValue(tick.value);\n const optsAtIndex = grid.setContext(this.getContext(index - 1));\n drawRadiusLine(this, optsAtIndex, offset, labelCount);\n }\n });\n }\n if (angleLines.display) {\n ctx.save();\n for (i = labelCount - 1; i >= 0; i--) {\n const optsAtIndex = angleLines.setContext(this.getPointLabelContext(i));\n const {color, lineWidth} = optsAtIndex;\n if (!lineWidth || !color) {\n continue;\n }\n ctx.lineWidth = lineWidth;\n ctx.strokeStyle = color;\n ctx.setLineDash(optsAtIndex.borderDash);\n ctx.lineDashOffset = optsAtIndex.borderDashOffset;\n offset = this.getDistanceFromCenterForValue(opts.ticks.reverse ? this.min : this.max);\n position = this.getPointPosition(i, offset);\n ctx.beginPath();\n ctx.moveTo(this.xCenter, this.yCenter);\n ctx.lineTo(position.x, position.y);\n ctx.stroke();\n }\n ctx.restore();\n }\n }\n drawBorder() {}\n drawLabels() {\n const ctx = this.ctx;\n const opts = this.options;\n const tickOpts = opts.ticks;\n if (!tickOpts.display) {\n return;\n }\n const startAngle = this.getIndexAngle(0);\n let offset, width;\n ctx.save();\n ctx.translate(this.xCenter, this.yCenter);\n ctx.rotate(startAngle);\n ctx.textAlign = 'center';\n ctx.textBaseline = 'middle';\n this.ticks.forEach((tick, index) => {\n if (index === 0 && !opts.reverse) {\n return;\n }\n const optsAtIndex = tickOpts.setContext(this.getContext(index));\n const tickFont = toFont(optsAtIndex.font);\n offset = this.getDistanceFromCenterForValue(this.ticks[index].value);\n if (optsAtIndex.showLabelBackdrop) {\n ctx.font = tickFont.string;\n width = ctx.measureText(tick.label).width;\n ctx.fillStyle = optsAtIndex.backdropColor;\n const padding = toPadding(optsAtIndex.backdropPadding);\n ctx.fillRect(\n -width / 2 - padding.left,\n -offset - tickFont.size / 2 - padding.top,\n width + padding.width,\n tickFont.size + padding.height\n );\n }\n renderText(ctx, tick.label, 0, -offset, tickFont, {\n color: optsAtIndex.color,\n });\n });\n ctx.restore();\n }\n drawTitle() {}\n}\nRadialLinearScale.id = 'radialLinear';\nRadialLinearScale.defaults = {\n display: true,\n animate: true,\n position: 'chartArea',\n angleLines: {\n display: true,\n lineWidth: 1,\n borderDash: [],\n borderDashOffset: 0.0\n },\n grid: {\n circular: false\n },\n startAngle: 0,\n ticks: {\n showLabelBackdrop: true,\n callback: Ticks.formatters.numeric\n },\n pointLabels: {\n backdropColor: undefined,\n backdropPadding: 2,\n display: true,\n font: {\n size: 10\n },\n callback(label) {\n return label;\n },\n padding: 5,\n centerPointLabels: false\n }\n};\nRadialLinearScale.defaultRoutes = {\n 'angleLines.color': 'borderColor',\n 'pointLabels.color': 'color',\n 'ticks.color': 'color'\n};\nRadialLinearScale.descriptors = {\n angleLines: {\n _fallback: 'grid'\n }\n};\n\nconst INTERVALS = {\n millisecond: {common: true, size: 1, steps: 1000},\n second: {common: true, size: 1000, steps: 60},\n minute: {common: true, size: 60000, steps: 60},\n hour: {common: true, size: 3600000, steps: 24},\n day: {common: true, size: 86400000, steps: 30},\n week: {common: false, size: 604800000, steps: 4},\n month: {common: true, size: 2.628e9, steps: 12},\n quarter: {common: false, size: 7.884e9, steps: 4},\n year: {common: true, size: 3.154e10}\n};\nconst UNITS = (Object.keys(INTERVALS));\nfunction sorter(a, b) {\n return a - b;\n}\nfunction parse(scale, input) {\n if (isNullOrUndef(input)) {\n return null;\n }\n const adapter = scale._adapter;\n const {parser, round, isoWeekday} = scale._parseOpts;\n let value = input;\n if (typeof parser === 'function') {\n value = parser(value);\n }\n if (!isNumberFinite(value)) {\n value = typeof parser === 'string'\n ? adapter.parse(value, parser)\n : adapter.parse(value);\n }\n if (value === null) {\n return null;\n }\n if (round) {\n value = round === 'week' && (isNumber(isoWeekday) || isoWeekday === true)\n ? adapter.startOf(value, 'isoWeek', isoWeekday)\n : adapter.startOf(value, round);\n }\n return +value;\n}\nfunction determineUnitForAutoTicks(minUnit, min, max, capacity) {\n const ilen = UNITS.length;\n for (let i = UNITS.indexOf(minUnit); i < ilen - 1; ++i) {\n const interval = INTERVALS[UNITS[i]];\n const factor = interval.steps ? interval.steps : Number.MAX_SAFE_INTEGER;\n if (interval.common && Math.ceil((max - min) / (factor * interval.size)) <= capacity) {\n return UNITS[i];\n }\n }\n return UNITS[ilen - 1];\n}\nfunction determineUnitForFormatting(scale, numTicks, minUnit, min, max) {\n for (let i = UNITS.length - 1; i >= UNITS.indexOf(minUnit); i--) {\n const unit = UNITS[i];\n if (INTERVALS[unit].common && scale._adapter.diff(max, min, unit) >= numTicks - 1) {\n return unit;\n }\n }\n return UNITS[minUnit ? UNITS.indexOf(minUnit) : 0];\n}\nfunction determineMajorUnit(unit) {\n for (let i = UNITS.indexOf(unit) + 1, ilen = UNITS.length; i < ilen; ++i) {\n if (INTERVALS[UNITS[i]].common) {\n return UNITS[i];\n }\n }\n}\nfunction addTick(ticks, time, timestamps) {\n if (!timestamps) {\n ticks[time] = true;\n } else if (timestamps.length) {\n const {lo, hi} = _lookup(timestamps, time);\n const timestamp = timestamps[lo] >= time ? timestamps[lo] : timestamps[hi];\n ticks[timestamp] = true;\n }\n}\nfunction setMajorTicks(scale, ticks, map, majorUnit) {\n const adapter = scale._adapter;\n const first = +adapter.startOf(ticks[0].value, majorUnit);\n const last = ticks[ticks.length - 1].value;\n let major, index;\n for (major = first; major <= last; major = +adapter.add(major, 1, majorUnit)) {\n index = map[major];\n if (index >= 0) {\n ticks[index].major = true;\n }\n }\n return ticks;\n}\nfunction ticksFromTimestamps(scale, values, majorUnit) {\n const ticks = [];\n const map = {};\n const ilen = values.length;\n let i, value;\n for (i = 0; i < ilen; ++i) {\n value = values[i];\n map[value] = i;\n ticks.push({\n value,\n major: false\n });\n }\n return (ilen === 0 || !majorUnit) ? ticks : setMajorTicks(scale, ticks, map, majorUnit);\n}\nclass TimeScale extends Scale {\n constructor(props) {\n super(props);\n this._cache = {\n data: [],\n labels: [],\n all: []\n };\n this._unit = 'day';\n this._majorUnit = undefined;\n this._offsets = {};\n this._normalized = false;\n this._parseOpts = undefined;\n }\n init(scaleOpts, opts) {\n const time = scaleOpts.time || (scaleOpts.time = {});\n const adapter = this._adapter = new _adapters._date(scaleOpts.adapters.date);\n adapter.init(opts);\n mergeIf(time.displayFormats, adapter.formats());\n this._parseOpts = {\n parser: time.parser,\n round: time.round,\n isoWeekday: time.isoWeekday\n };\n super.init(scaleOpts);\n this._normalized = opts.normalized;\n }\n parse(raw, index) {\n if (raw === undefined) {\n return null;\n }\n return parse(this, raw);\n }\n beforeLayout() {\n super.beforeLayout();\n this._cache = {\n data: [],\n labels: [],\n all: []\n };\n }\n determineDataLimits() {\n const options = this.options;\n const adapter = this._adapter;\n const unit = options.time.unit || 'day';\n let {min, max, minDefined, maxDefined} = this.getUserBounds();\n function _applyBounds(bounds) {\n if (!minDefined && !isNaN(bounds.min)) {\n min = Math.min(min, bounds.min);\n }\n if (!maxDefined && !isNaN(bounds.max)) {\n max = Math.max(max, bounds.max);\n }\n }\n if (!minDefined || !maxDefined) {\n _applyBounds(this._getLabelBounds());\n if (options.bounds !== 'ticks' || options.ticks.source !== 'labels') {\n _applyBounds(this.getMinMax(false));\n }\n }\n min = isNumberFinite(min) && !isNaN(min) ? min : +adapter.startOf(Date.now(), unit);\n max = isNumberFinite(max) && !isNaN(max) ? max : +adapter.endOf(Date.now(), unit) + 1;\n this.min = Math.min(min, max - 1);\n this.max = Math.max(min + 1, max);\n }\n _getLabelBounds() {\n const arr = this.getLabelTimestamps();\n let min = Number.POSITIVE_INFINITY;\n let max = Number.NEGATIVE_INFINITY;\n if (arr.length) {\n min = arr[0];\n max = arr[arr.length - 1];\n }\n return {min, max};\n }\n buildTicks() {\n const options = this.options;\n const timeOpts = options.time;\n const tickOpts = options.ticks;\n const timestamps = tickOpts.source === 'labels' ? this.getLabelTimestamps() : this._generate();\n if (options.bounds === 'ticks' && timestamps.length) {\n this.min = this._userMin || timestamps[0];\n this.max = this._userMax || timestamps[timestamps.length - 1];\n }\n const min = this.min;\n const max = this.max;\n const ticks = _filterBetween(timestamps, min, max);\n this._unit = timeOpts.unit || (tickOpts.autoSkip\n ? determineUnitForAutoTicks(timeOpts.minUnit, this.min, this.max, this._getLabelCapacity(min))\n : determineUnitForFormatting(this, ticks.length, timeOpts.minUnit, this.min, this.max));\n this._majorUnit = !tickOpts.major.enabled || this._unit === 'year' ? undefined\n : determineMajorUnit(this._unit);\n this.initOffsets(timestamps);\n if (options.reverse) {\n ticks.reverse();\n }\n return ticksFromTimestamps(this, ticks, this._majorUnit);\n }\n afterAutoSkip() {\n if (this.options.offsetAfterAutoskip) {\n this.initOffsets(this.ticks.map(tick => +tick.value));\n }\n }\n initOffsets(timestamps) {\n let start = 0;\n let end = 0;\n let first, last;\n if (this.options.offset && timestamps.length) {\n first = this.getDecimalForValue(timestamps[0]);\n if (timestamps.length === 1) {\n start = 1 - first;\n } else {\n start = (this.getDecimalForValue(timestamps[1]) - first) / 2;\n }\n last = this.getDecimalForValue(timestamps[timestamps.length - 1]);\n if (timestamps.length === 1) {\n end = last;\n } else {\n end = (last - this.getDecimalForValue(timestamps[timestamps.length - 2])) / 2;\n }\n }\n const limit = timestamps.length < 3 ? 0.5 : 0.25;\n start = _limitValue(start, 0, limit);\n end = _limitValue(end, 0, limit);\n this._offsets = {start, end, factor: 1 / (start + 1 + end)};\n }\n _generate() {\n const adapter = this._adapter;\n const min = this.min;\n const max = this.max;\n const options = this.options;\n const timeOpts = options.time;\n const minor = timeOpts.unit || determineUnitForAutoTicks(timeOpts.minUnit, min, max, this._getLabelCapacity(min));\n const stepSize = valueOrDefault(timeOpts.stepSize, 1);\n const weekday = minor === 'week' ? timeOpts.isoWeekday : false;\n const hasWeekday = isNumber(weekday) || weekday === true;\n const ticks = {};\n let first = min;\n let time, count;\n if (hasWeekday) {\n first = +adapter.startOf(first, 'isoWeek', weekday);\n }\n first = +adapter.startOf(first, hasWeekday ? 'day' : minor);\n if (adapter.diff(max, min, minor) > 100000 * stepSize) {\n throw new Error(min + ' and ' + max + ' are too far apart with stepSize of ' + stepSize + ' ' + minor);\n }\n const timestamps = options.ticks.source === 'data' && this.getDataTimestamps();\n for (time = first, count = 0; time < max; time = +adapter.add(time, stepSize, minor), count++) {\n addTick(ticks, time, timestamps);\n }\n if (time === max || options.bounds === 'ticks' || count === 1) {\n addTick(ticks, time, timestamps);\n }\n return Object.keys(ticks).sort((a, b) => a - b).map(x => +x);\n }\n getLabelForValue(value) {\n const adapter = this._adapter;\n const timeOpts = this.options.time;\n if (timeOpts.tooltipFormat) {\n return adapter.format(value, timeOpts.tooltipFormat);\n }\n return adapter.format(value, timeOpts.displayFormats.datetime);\n }\n _tickFormatFunction(time, index, ticks, format) {\n const options = this.options;\n const formats = options.time.displayFormats;\n const unit = this._unit;\n const majorUnit = this._majorUnit;\n const minorFormat = unit && formats[unit];\n const majorFormat = majorUnit && formats[majorUnit];\n const tick = ticks[index];\n const major = majorUnit && majorFormat && tick && tick.major;\n const label = this._adapter.format(time, format || (major ? majorFormat : minorFormat));\n const formatter = options.ticks.callback;\n return formatter ? callback(formatter, [label, index, ticks], this) : label;\n }\n generateTickLabels(ticks) {\n let i, ilen, tick;\n for (i = 0, ilen = ticks.length; i < ilen; ++i) {\n tick = ticks[i];\n tick.label = this._tickFormatFunction(tick.value, i, ticks);\n }\n }\n getDecimalForValue(value) {\n return value === null ? NaN : (value - this.min) / (this.max - this.min);\n }\n getPixelForValue(value) {\n const offsets = this._offsets;\n const pos = this.getDecimalForValue(value);\n return this.getPixelForDecimal((offsets.start + pos) * offsets.factor);\n }\n getValueForPixel(pixel) {\n const offsets = this._offsets;\n const pos = this.getDecimalForPixel(pixel) / offsets.factor - offsets.end;\n return this.min + pos * (this.max - this.min);\n }\n _getLabelSize(label) {\n const ticksOpts = this.options.ticks;\n const tickLabelWidth = this.ctx.measureText(label).width;\n const angle = toRadians(this.isHorizontal() ? ticksOpts.maxRotation : ticksOpts.minRotation);\n const cosRotation = Math.cos(angle);\n const sinRotation = Math.sin(angle);\n const tickFontSize = this._resolveTickFontOptions(0).size;\n return {\n w: (tickLabelWidth * cosRotation) + (tickFontSize * sinRotation),\n h: (tickLabelWidth * sinRotation) + (tickFontSize * cosRotation)\n };\n }\n _getLabelCapacity(exampleTime) {\n const timeOpts = this.options.time;\n const displayFormats = timeOpts.displayFormats;\n const format = displayFormats[timeOpts.unit] || displayFormats.millisecond;\n const exampleLabel = this._tickFormatFunction(exampleTime, 0, ticksFromTimestamps(this, [exampleTime], this._majorUnit), format);\n const size = this._getLabelSize(exampleLabel);\n const capacity = Math.floor(this.isHorizontal() ? this.width / size.w : this.height / size.h) - 1;\n return capacity > 0 ? capacity : 1;\n }\n getDataTimestamps() {\n let timestamps = this._cache.data || [];\n let i, ilen;\n if (timestamps.length) {\n return timestamps;\n }\n const metas = this.getMatchingVisibleMetas();\n if (this._normalized && metas.length) {\n return (this._cache.data = metas[0].controller.getAllParsedValues(this));\n }\n for (i = 0, ilen = metas.length; i < ilen; ++i) {\n timestamps = timestamps.concat(metas[i].controller.getAllParsedValues(this));\n }\n return (this._cache.data = this.normalize(timestamps));\n }\n getLabelTimestamps() {\n const timestamps = this._cache.labels || [];\n let i, ilen;\n if (timestamps.length) {\n return timestamps;\n }\n const labels = this.getLabels();\n for (i = 0, ilen = labels.length; i < ilen; ++i) {\n timestamps.push(parse(this, labels[i]));\n }\n return (this._cache.labels = this._normalized ? timestamps : this.normalize(timestamps));\n }\n normalize(values) {\n return _arrayUnique(values.sort(sorter));\n }\n}\nTimeScale.id = 'time';\nTimeScale.defaults = {\n bounds: 'data',\n adapters: {},\n time: {\n parser: false,\n unit: false,\n round: false,\n isoWeekday: false,\n minUnit: 'millisecond',\n displayFormats: {}\n },\n ticks: {\n source: 'auto',\n major: {\n enabled: false\n }\n }\n};\n\nfunction interpolate(table, val, reverse) {\n let lo = 0;\n let hi = table.length - 1;\n let prevSource, nextSource, prevTarget, nextTarget;\n if (reverse) {\n if (val >= table[lo].pos && val <= table[hi].pos) {\n ({lo, hi} = _lookupByKey(table, 'pos', val));\n }\n ({pos: prevSource, time: prevTarget} = table[lo]);\n ({pos: nextSource, time: nextTarget} = table[hi]);\n } else {\n if (val >= table[lo].time && val <= table[hi].time) {\n ({lo, hi} = _lookupByKey(table, 'time', val));\n }\n ({time: prevSource, pos: prevTarget} = table[lo]);\n ({time: nextSource, pos: nextTarget} = table[hi]);\n }\n const span = nextSource - prevSource;\n return span ? prevTarget + (nextTarget - prevTarget) * (val - prevSource) / span : prevTarget;\n}\nclass TimeSeriesScale extends TimeScale {\n constructor(props) {\n super(props);\n this._table = [];\n this._minPos = undefined;\n this._tableRange = undefined;\n }\n initOffsets() {\n const timestamps = this._getTimestampsForTable();\n const table = this._table = this.buildLookupTable(timestamps);\n this._minPos = interpolate(table, this.min);\n this._tableRange = interpolate(table, this.max) - this._minPos;\n super.initOffsets(timestamps);\n }\n buildLookupTable(timestamps) {\n const {min, max} = this;\n const items = [];\n const table = [];\n let i, ilen, prev, curr, next;\n for (i = 0, ilen = timestamps.length; i < ilen; ++i) {\n curr = timestamps[i];\n if (curr >= min && curr <= max) {\n items.push(curr);\n }\n }\n if (items.length < 2) {\n return [\n {time: min, pos: 0},\n {time: max, pos: 1}\n ];\n }\n for (i = 0, ilen = items.length; i < ilen; ++i) {\n next = items[i + 1];\n prev = items[i - 1];\n curr = items[i];\n if (Math.round((next + prev) / 2) !== curr) {\n table.push({time: curr, pos: i / (ilen - 1)});\n }\n }\n return table;\n }\n _getTimestampsForTable() {\n let timestamps = this._cache.all || [];\n if (timestamps.length) {\n return timestamps;\n }\n const data = this.getDataTimestamps();\n const label = this.getLabelTimestamps();\n if (data.length && label.length) {\n timestamps = this.normalize(data.concat(label));\n } else {\n timestamps = data.length ? data : label;\n }\n timestamps = this._cache.all = timestamps;\n return timestamps;\n }\n getDecimalForValue(value) {\n return (interpolate(this._table, value) - this._minPos) / this._tableRange;\n }\n getValueForPixel(pixel) {\n const offsets = this._offsets;\n const decimal = this.getDecimalForPixel(pixel) / offsets.factor - offsets.end;\n return interpolate(this._table, decimal * this._tableRange + this._minPos, true);\n }\n}\nTimeSeriesScale.id = 'timeseries';\nTimeSeriesScale.defaults = TimeScale.defaults;\n\nvar scales = /*#__PURE__*/Object.freeze({\n__proto__: null,\nCategoryScale: CategoryScale,\nLinearScale: LinearScale,\nLogarithmicScale: LogarithmicScale,\nRadialLinearScale: RadialLinearScale,\nTimeScale: TimeScale,\nTimeSeriesScale: TimeSeriesScale\n});\n\nChart.register(controllers, scales, elements, plugins);\nChart.helpers = {...helpers};\nChart._adapters = _adapters;\nChart.Animation = Animation;\nChart.Animations = Animations;\nChart.animator = animator;\nChart.controllers = registry.controllers.items;\nChart.DatasetController = DatasetController;\nChart.Element = Element;\nChart.elements = elements;\nChart.Interaction = Interaction;\nChart.layouts = layouts;\nChart.platforms = platforms;\nChart.Scale = Scale;\nChart.Ticks = Ticks;\nObject.assign(Chart, controllers, scales, elements, plugins, platforms);\nChart.Chart = Chart;\nif (typeof window !== 'undefined') {\n window.Chart = Chart;\n}\n\nreturn Chart;\n\n}));\n"],"x_google_ignoreList":[]}