{"version":3,"file":"calculators-vendor.js","mappings":"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","sources":["webpack://Calculators/./node_modules/chart.js/dist/Chart.js","webpack://Calculators/./node_modules/moment/locale/af.js","webpack://Calculators/./node_modules/moment/locale/ar-dz.js","webpack://Calculators/./node_modules/moment/locale/ar-kw.js","webpack://Calculators/./node_modules/moment/locale/ar-ly.js","webpack://Calculators/./node_modules/moment/locale/ar-ma.js","webpack://Calculators/./node_modules/moment/locale/ar-ps.js","webpack://Calculators/./node_modules/moment/locale/ar-sa.js","webpack://Calculators/./node_modules/moment/locale/ar-tn.js","webpack://Calculators/./node_modules/moment/locale/ar.js","webpack://Calculators/./node_modules/moment/locale/az.js","webpack://Calculators/./node_modules/moment/locale/be.js","webpack://Calculators/./node_modules/moment/locale/bg.js","webpack://Calculators/./node_modules/moment/locale/bm.js","webpack://Calculators/./node_modules/moment/locale/bn-bd.js","webpack://Calculators/./node_modules/moment/locale/bn.js","webpack://Calculators/./node_modules/moment/locale/bo.js","webpack://Calculators/./node_modules/moment/locale/br.js","webpack://Calculators/./node_modules/moment/locale/bs.js","webpack://Calculators/./node_modules/moment/locale/ca.js","webpack://Calculators/./node_modules/moment/locale/cs.js","webpack://Calculators/./node_modules/moment/locale/cv.js","webpack://Calculators/./node_modules/moment/locale/cy.js","webpack://Calculators/./node_modules/moment/locale/da.js","webpack://Calculators/./node_modules/moment/locale/de-at.js","webpack://Calculators/./node_modules/moment/locale/de-ch.js","webpack://Calculators/./node_modules/moment/locale/de.js","webpack://Calculators/./node_modules/moment/locale/dv.js","webpack://Calculators/./node_modules/moment/locale/el.js","webpack://Calculators/./node_modules/moment/locale/en-au.js","webpack://Calculators/./node_modules/moment/locale/en-ca.js","webpack://Calculators/./node_modules/moment/locale/en-gb.js","webpack://Calculators/./node_modules/moment/locale/en-ie.js","webpack://Calculators/./node_modules/moment/locale/en-il.js","webpack://Calculators/./node_modules/moment/locale/en-in.js","webpack://Calculators/./node_modules/moment/locale/en-nz.js","webpack://Calculators/./node_modules/moment/locale/en-sg.js","webpack://Calculators/./node_modules/moment/locale/eo.js","webpack://Calculators/./node_modules/moment/locale/es-do.js","webpack://Calculators/./node_modules/moment/locale/es-mx.js","webpack://Calculators/./node_modules/moment/locale/es-us.js","webpack://Calculators/./node_modules/moment/locale/es.js","webpack://Calculators/./node_modules/moment/locale/et.js","webpack://Calculators/./node_modules/moment/locale/eu.js","webpack://Calculators/./node_modules/moment/locale/fa.js","webpack://Calculators/./node_modules/moment/locale/fi.js","webpack://Calculators/./node_modules/moment/locale/fil.js","webpack://Calculators/./node_modules/moment/locale/fo.js","webpack://Calculators/./node_modules/moment/locale/fr-ca.js","webpack://Calculators/./node_modules/moment/locale/fr-ch.js","webpack://Calculators/./node_modules/moment/locale/fr.js","webpack://Calculators/./node_modules/moment/locale/fy.js","webpack://Calculators/./node_modules/moment/locale/ga.js","webpack://Calculators/./node_modules/moment/locale/gd.js","webpack://Calculators/./node_modules/moment/locale/gl.js","webpack://Calculators/./node_modules/moment/locale/gom-deva.js","webpack://Calculators/./node_modules/moment/locale/gom-latn.js","webpack://Calculators/./node_modules/moment/locale/gu.js","webpack://Calculators/./node_modules/moment/locale/he.js","webpack://Calculators/./node_modules/moment/locale/hi.js","webpack://Calculators/./node_modules/moment/locale/hr.js","webpack://Calculators/./node_modules/moment/locale/hu.js","webpack://Calculators/./node_modules/moment/locale/hy-am.js","webpack://Calculators/./node_modules/moment/locale/id.js","webpack://Calculators/./node_modules/moment/locale/is.js","webpack://Calculators/./node_modules/moment/locale/it-ch.js","webpack://Calculators/./node_modules/moment/locale/it.js","webpack://Calculators/./node_modules/moment/locale/ja.js","webpack://Calculators/./node_modules/moment/locale/jv.js","webpack://Calculators/./node_modules/moment/locale/ka.js","webpack://Calculators/./node_modules/moment/locale/kk.js","webpack://Calculators/./node_modules/moment/locale/km.js","webpack://Calculators/./node_modules/moment/locale/kn.js","webpack://Calculators/./node_modules/moment/locale/ko.js","webpack://Calculators/./node_modules/moment/locale/ku-kmr.js","webpack://Calculators/./node_modules/moment/locale/ku.js","webpack://Calculators/./node_modules/moment/locale/ky.js","webpack://Calculators/./node_modules/moment/locale/lb.js","webpack://Calculators/./node_modules/moment/locale/lo.js","webpack://Calculators/./node_modules/moment/locale/lt.js","webpack://Calculators/./node_modules/moment/locale/lv.js","webpack://Calculators/./node_modules/moment/locale/me.js","webpack://Calculators/./node_modules/moment/locale/mi.js","webpack://Calculators/./node_modules/moment/locale/mk.js","webpack://Calculators/./node_modules/moment/locale/ml.js","webpack://Calculators/./node_modules/moment/locale/mn.js","webpack://Calculators/./node_modules/moment/locale/mr.js","webpack://Calculators/./node_modules/moment/locale/ms-my.js","webpack://Calculators/./node_modules/moment/locale/ms.js","webpack://Calculators/./node_modules/moment/locale/mt.js","webpack://Calculators/./node_modules/moment/locale/my.js","webpack://Calculators/./node_modules/moment/locale/nb.js","webpack://Calculators/./node_modules/moment/locale/ne.js","webpack://Calculators/./node_modules/moment/locale/nl-be.js","webpack://Calculators/./node_modules/moment/locale/nl.js","webpack://Calculators/./node_modules/moment/locale/nn.js","webpack://Calculators/./node_modules/moment/locale/oc-lnc.js","webpack://Calculators/./node_modules/moment/locale/pa-in.js","webpack://Calculators/./node_modules/moment/locale/pl.js","webpack://Calculators/./node_modules/moment/locale/pt-br.js","webpack://Calculators/./node_modules/moment/locale/pt.js","webpack://Calculators/./node_modules/moment/locale/ro.js","webpack://Calculators/./node_modules/moment/locale/ru.js","webpack://Calculators/./node_modules/moment/locale/sd.js","webpack://Calculators/./node_modules/moment/locale/se.js","webpack://Calculators/./node_modules/moment/locale/si.js","webpack://Calculators/./node_modules/moment/locale/sk.js","webpack://Calculators/./node_modules/moment/locale/sl.js","webpack://Calculators/./node_modules/moment/locale/sq.js","webpack://Calculators/./node_modules/moment/locale/sr-cyrl.js","webpack://Calculators/./node_modules/moment/locale/sr.js","webpack://Calculators/./node_modules/moment/locale/ss.js","webpack://Calculators/./node_modules/moment/locale/sv.js","webpack://Calculators/./node_modules/moment/locale/sw.js","webpack://Calculators/./node_modules/moment/locale/ta.js","webpack://Calculators/./node_modules/moment/locale/te.js","webpack://Calculators/./node_modules/moment/locale/tet.js","webpack://Calculators/./node_modules/moment/locale/tg.js","webpack://Calculators/./node_modules/moment/locale/th.js","webpack://Calculators/./node_modules/moment/locale/tk.js","webpack://Calculators/./node_modules/moment/locale/tl-ph.js","webpack://Calculators/./node_modules/moment/locale/tlh.js","webpack://Calculators/./node_modules/moment/locale/tr.js","webpack://Calculators/./node_modules/moment/locale/tzl.js","webpack://Calculators/./node_modules/moment/locale/tzm-latn.js","webpack://Calculators/./node_modules/moment/locale/tzm.js","webpack://Calculators/./node_modules/moment/locale/ug-cn.js","webpack://Calculators/./node_modules/moment/locale/uk.js","webpack://Calculators/./node_modules/moment/locale/ur.js","webpack://Calculators/./node_modules/moment/locale/uz-latn.js","webpack://Calculators/./node_modules/moment/locale/uz.js","webpack://Calculators/./node_modules/moment/locale/vi.js","webpack://Calculators/./node_modules/moment/locale/x-pseudo.js","webpack://Calculators/./node_modules/moment/locale/yo.js","webpack://Calculators/./node_modules/moment/locale/zh-cn.js","webpack://Calculators/./node_modules/moment/locale/zh-hk.js","webpack://Calculators/./node_modules/moment/locale/zh-mo.js","webpack://Calculators/./node_modules/moment/locale/zh-tw.js","webpack://Calculators/./node_modules/moment/locale/ sync ^\\.\\/.*$","webpack://Calculators/./node_modules/moment/moment.js","webpack://Calculators/./node_modules/nouislider/distribute/nouislider.js","webpack://Calculators/./node_modules/object-assign/index.js","webpack://Calculators/./node_modules/prop-types/checkPropTypes.js","webpack://Calculators/./node_modules/prop-types/lib/ReactPropTypesSecret.js","webpack://Calculators/./node_modules/prop-types/lib/has.js","webpack://Calculators/./node_modules/react/cjs/react.development.js","webpack://Calculators/./node_modules/react/index.js","webpack://Calculators/webpack/bootstrap","webpack://Calculators/webpack/runtime/hasOwnProperty shorthand","webpack://Calculators/webpack/runtime/node module decorator","webpack://Calculators/webpack/startup"],"sourcesContent":["/*!\n * Chart.js v2.9.4\n * https://www.chartjs.org\n * (c) 2020 Chart.js Contributors\n * Released under the MIT License\n */\n(function (global, factory) {\ntypeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(function() { try { return require('moment'); } catch(e) { } }()) :\ntypeof define === 'function' && define.amd ? define(['require'], function(require) { return factory(function() { try { return require('moment'); } catch(e) { } }()); }) :\n(global = global || self, global.Chart = factory(global.moment));\n}(this, (function (moment) { 'use strict';\n\nmoment = moment && moment.hasOwnProperty('default') ? moment['default'] : moment;\n\nfunction createCommonjsModule(fn, module) {\n\treturn module = { exports: {} }, fn(module, module.exports), module.exports;\n}\n\nfunction getCjsExportFromNamespace (n) {\n\treturn n && n['default'] || n;\n}\n\nvar colorName = {\r\n\t\"aliceblue\": [240, 248, 255],\r\n\t\"antiquewhite\": [250, 235, 215],\r\n\t\"aqua\": [0, 255, 255],\r\n\t\"aquamarine\": [127, 255, 212],\r\n\t\"azure\": [240, 255, 255],\r\n\t\"beige\": [245, 245, 220],\r\n\t\"bisque\": [255, 228, 196],\r\n\t\"black\": [0, 0, 0],\r\n\t\"blanchedalmond\": [255, 235, 205],\r\n\t\"blue\": [0, 0, 255],\r\n\t\"blueviolet\": [138, 43, 226],\r\n\t\"brown\": [165, 42, 42],\r\n\t\"burlywood\": [222, 184, 135],\r\n\t\"cadetblue\": [95, 158, 160],\r\n\t\"chartreuse\": [127, 255, 0],\r\n\t\"chocolate\": [210, 105, 30],\r\n\t\"coral\": [255, 127, 80],\r\n\t\"cornflowerblue\": [100, 149, 237],\r\n\t\"cornsilk\": [255, 248, 220],\r\n\t\"crimson\": [220, 20, 60],\r\n\t\"cyan\": [0, 255, 255],\r\n\t\"darkblue\": [0, 0, 139],\r\n\t\"darkcyan\": [0, 139, 139],\r\n\t\"darkgoldenrod\": [184, 134, 11],\r\n\t\"darkgray\": [169, 169, 169],\r\n\t\"darkgreen\": [0, 100, 0],\r\n\t\"darkgrey\": [169, 169, 169],\r\n\t\"darkkhaki\": [189, 183, 107],\r\n\t\"darkmagenta\": [139, 0, 139],\r\n\t\"darkolivegreen\": [85, 107, 47],\r\n\t\"darkorange\": [255, 140, 0],\r\n\t\"darkorchid\": [153, 50, 204],\r\n\t\"darkred\": [139, 0, 0],\r\n\t\"darksalmon\": [233, 150, 122],\r\n\t\"darkseagreen\": [143, 188, 143],\r\n\t\"darkslateblue\": [72, 61, 139],\r\n\t\"darkslategray\": [47, 79, 79],\r\n\t\"darkslategrey\": [47, 79, 79],\r\n\t\"darkturquoise\": [0, 206, 209],\r\n\t\"darkviolet\": [148, 0, 211],\r\n\t\"deeppink\": [255, 20, 147],\r\n\t\"deepskyblue\": [0, 191, 255],\r\n\t\"dimgray\": [105, 105, 105],\r\n\t\"dimgrey\": [105, 105, 105],\r\n\t\"dodgerblue\": [30, 144, 255],\r\n\t\"firebrick\": [178, 34, 34],\r\n\t\"floralwhite\": [255, 250, 240],\r\n\t\"forestgreen\": [34, 139, 34],\r\n\t\"fuchsia\": [255, 0, 255],\r\n\t\"gainsboro\": [220, 220, 220],\r\n\t\"ghostwhite\": [248, 248, 255],\r\n\t\"gold\": [255, 215, 0],\r\n\t\"goldenrod\": [218, 165, 32],\r\n\t\"gray\": [128, 128, 128],\r\n\t\"green\": [0, 128, 0],\r\n\t\"greenyellow\": [173, 255, 47],\r\n\t\"grey\": [128, 128, 128],\r\n\t\"honeydew\": [240, 255, 240],\r\n\t\"hotpink\": [255, 105, 180],\r\n\t\"indianred\": [205, 92, 92],\r\n\t\"indigo\": [75, 0, 130],\r\n\t\"ivory\": [255, 255, 240],\r\n\t\"khaki\": [240, 230, 140],\r\n\t\"lavender\": [230, 230, 250],\r\n\t\"lavenderblush\": [255, 240, 245],\r\n\t\"lawngreen\": [124, 252, 0],\r\n\t\"lemonchiffon\": [255, 250, 205],\r\n\t\"lightblue\": [173, 216, 230],\r\n\t\"lightcoral\": [240, 128, 128],\r\n\t\"lightcyan\": [224, 255, 255],\r\n\t\"lightgoldenrodyellow\": [250, 250, 210],\r\n\t\"lightgray\": [211, 211, 211],\r\n\t\"lightgreen\": [144, 238, 144],\r\n\t\"lightgrey\": [211, 211, 211],\r\n\t\"lightpink\": [255, 182, 193],\r\n\t\"lightsalmon\": [255, 160, 122],\r\n\t\"lightseagreen\": [32, 178, 170],\r\n\t\"lightskyblue\": [135, 206, 250],\r\n\t\"lightslategray\": [119, 136, 153],\r\n\t\"lightslategrey\": [119, 136, 153],\r\n\t\"lightsteelblue\": [176, 196, 222],\r\n\t\"lightyellow\": [255, 255, 224],\r\n\t\"lime\": [0, 255, 0],\r\n\t\"limegreen\": [50, 205, 50],\r\n\t\"linen\": [250, 240, 230],\r\n\t\"magenta\": [255, 0, 255],\r\n\t\"maroon\": [128, 0, 0],\r\n\t\"mediumaquamarine\": [102, 205, 170],\r\n\t\"mediumblue\": [0, 0, 205],\r\n\t\"mediumorchid\": [186, 85, 211],\r\n\t\"mediumpurple\": [147, 112, 219],\r\n\t\"mediumseagreen\": [60, 179, 113],\r\n\t\"mediumslateblue\": [123, 104, 238],\r\n\t\"mediumspringgreen\": [0, 250, 154],\r\n\t\"mediumturquoise\": [72, 209, 204],\r\n\t\"mediumvioletred\": [199, 21, 133],\r\n\t\"midnightblue\": [25, 25, 112],\r\n\t\"mintcream\": [245, 255, 250],\r\n\t\"mistyrose\": [255, 228, 225],\r\n\t\"moccasin\": [255, 228, 181],\r\n\t\"navajowhite\": [255, 222, 173],\r\n\t\"navy\": [0, 0, 128],\r\n\t\"oldlace\": [253, 245, 230],\r\n\t\"olive\": [128, 128, 0],\r\n\t\"olivedrab\": [107, 142, 35],\r\n\t\"orange\": [255, 165, 0],\r\n\t\"orangered\": [255, 69, 0],\r\n\t\"orchid\": [218, 112, 214],\r\n\t\"palegoldenrod\": [238, 232, 170],\r\n\t\"palegreen\": [152, 251, 152],\r\n\t\"paleturquoise\": [175, 238, 238],\r\n\t\"palevioletred\": [219, 112, 147],\r\n\t\"papayawhip\": [255, 239, 213],\r\n\t\"peachpuff\": [255, 218, 185],\r\n\t\"peru\": [205, 133, 63],\r\n\t\"pink\": [255, 192, 203],\r\n\t\"plum\": [221, 160, 221],\r\n\t\"powderblue\": [176, 224, 230],\r\n\t\"purple\": [128, 0, 128],\r\n\t\"rebeccapurple\": [102, 51, 153],\r\n\t\"red\": [255, 0, 0],\r\n\t\"rosybrown\": [188, 143, 143],\r\n\t\"royalblue\": [65, 105, 225],\r\n\t\"saddlebrown\": [139, 69, 19],\r\n\t\"salmon\": [250, 128, 114],\r\n\t\"sandybrown\": [244, 164, 96],\r\n\t\"seagreen\": [46, 139, 87],\r\n\t\"seashell\": [255, 245, 238],\r\n\t\"sienna\": [160, 82, 45],\r\n\t\"silver\": [192, 192, 192],\r\n\t\"skyblue\": [135, 206, 235],\r\n\t\"slateblue\": [106, 90, 205],\r\n\t\"slategray\": [112, 128, 144],\r\n\t\"slategrey\": [112, 128, 144],\r\n\t\"snow\": [255, 250, 250],\r\n\t\"springgreen\": [0, 255, 127],\r\n\t\"steelblue\": [70, 130, 180],\r\n\t\"tan\": [210, 180, 140],\r\n\t\"teal\": [0, 128, 128],\r\n\t\"thistle\": [216, 191, 216],\r\n\t\"tomato\": [255, 99, 71],\r\n\t\"turquoise\": [64, 224, 208],\r\n\t\"violet\": [238, 130, 238],\r\n\t\"wheat\": [245, 222, 179],\r\n\t\"white\": [255, 255, 255],\r\n\t\"whitesmoke\": [245, 245, 245],\r\n\t\"yellow\": [255, 255, 0],\r\n\t\"yellowgreen\": [154, 205, 50]\r\n};\n\nvar conversions = createCommonjsModule(function (module) {\n/* MIT license */\n\n\n// NOTE: conversions should only return primitive values (i.e. arrays, or\n// values that give correct `typeof` results).\n// do not use box values types (i.e. Number(), String(), etc.)\n\nvar reverseKeywords = {};\nfor (var key in colorName) {\n\tif (colorName.hasOwnProperty(key)) {\n\t\treverseKeywords[colorName[key]] = key;\n\t}\n}\n\nvar convert = module.exports = {\n\trgb: {channels: 3, labels: 'rgb'},\n\thsl: {channels: 3, labels: 'hsl'},\n\thsv: {channels: 3, labels: 'hsv'},\n\thwb: {channels: 3, labels: 'hwb'},\n\tcmyk: {channels: 4, labels: 'cmyk'},\n\txyz: {channels: 3, labels: 'xyz'},\n\tlab: {channels: 3, labels: 'lab'},\n\tlch: {channels: 3, labels: 'lch'},\n\thex: {channels: 1, labels: ['hex']},\n\tkeyword: {channels: 1, labels: ['keyword']},\n\tansi16: {channels: 1, labels: ['ansi16']},\n\tansi256: {channels: 1, labels: ['ansi256']},\n\thcg: {channels: 3, labels: ['h', 'c', 'g']},\n\tapple: {channels: 3, labels: ['r16', 'g16', 'b16']},\n\tgray: {channels: 1, labels: ['gray']}\n};\n\n// hide .channels and .labels properties\nfor (var model in convert) {\n\tif (convert.hasOwnProperty(model)) {\n\t\tif (!('channels' in convert[model])) {\n\t\t\tthrow new Error('missing channels property: ' + model);\n\t\t}\n\n\t\tif (!('labels' in convert[model])) {\n\t\t\tthrow new Error('missing channel labels property: ' + model);\n\t\t}\n\n\t\tif (convert[model].labels.length !== convert[model].channels) {\n\t\t\tthrow new Error('channel and label counts mismatch: ' + model);\n\t\t}\n\n\t\tvar channels = convert[model].channels;\n\t\tvar labels = convert[model].labels;\n\t\tdelete convert[model].channels;\n\t\tdelete convert[model].labels;\n\t\tObject.defineProperty(convert[model], 'channels', {value: channels});\n\t\tObject.defineProperty(convert[model], 'labels', {value: labels});\n\t}\n}\n\nconvert.rgb.hsl = function (rgb) {\n\tvar r = rgb[0] / 255;\n\tvar g = rgb[1] / 255;\n\tvar b = rgb[2] / 255;\n\tvar min = Math.min(r, g, b);\n\tvar max = Math.max(r, g, b);\n\tvar delta = max - min;\n\tvar h;\n\tvar s;\n\tvar l;\n\n\tif (max === min) {\n\t\th = 0;\n\t} else if (r === max) {\n\t\th = (g - b) / delta;\n\t} else if (g === max) {\n\t\th = 2 + (b - r) / delta;\n\t} else if (b === max) {\n\t\th = 4 + (r - g) / delta;\n\t}\n\n\th = Math.min(h * 60, 360);\n\n\tif (h < 0) {\n\t\th += 360;\n\t}\n\n\tl = (min + max) / 2;\n\n\tif (max === min) {\n\t\ts = 0;\n\t} else if (l <= 0.5) {\n\t\ts = delta / (max + min);\n\t} else {\n\t\ts = delta / (2 - max - min);\n\t}\n\n\treturn [h, s * 100, l * 100];\n};\n\nconvert.rgb.hsv = function (rgb) {\n\tvar rdif;\n\tvar gdif;\n\tvar bdif;\n\tvar h;\n\tvar s;\n\n\tvar r = rgb[0] / 255;\n\tvar g = rgb[1] / 255;\n\tvar b = rgb[2] / 255;\n\tvar v = Math.max(r, g, b);\n\tvar diff = v - Math.min(r, g, b);\n\tvar diffc = function (c) {\n\t\treturn (v - c) / 6 / diff + 1 / 2;\n\t};\n\n\tif (diff === 0) {\n\t\th = s = 0;\n\t} else {\n\t\ts = diff / v;\n\t\trdif = diffc(r);\n\t\tgdif = diffc(g);\n\t\tbdif = diffc(b);\n\n\t\tif (r === v) {\n\t\t\th = bdif - gdif;\n\t\t} else if (g === v) {\n\t\t\th = (1 / 3) + rdif - bdif;\n\t\t} else if (b === v) {\n\t\t\th = (2 / 3) + gdif - rdif;\n\t\t}\n\t\tif (h < 0) {\n\t\t\th += 1;\n\t\t} else if (h > 1) {\n\t\t\th -= 1;\n\t\t}\n\t}\n\n\treturn [\n\t\th * 360,\n\t\ts * 100,\n\t\tv * 100\n\t];\n};\n\nconvert.rgb.hwb = function (rgb) {\n\tvar r = rgb[0];\n\tvar g = rgb[1];\n\tvar b = rgb[2];\n\tvar h = convert.rgb.hsl(rgb)[0];\n\tvar w = 1 / 255 * Math.min(r, Math.min(g, b));\n\n\tb = 1 - 1 / 255 * Math.max(r, Math.max(g, b));\n\n\treturn [h, w * 100, b * 100];\n};\n\nconvert.rgb.cmyk = function (rgb) {\n\tvar r = rgb[0] / 255;\n\tvar g = rgb[1] / 255;\n\tvar b = rgb[2] / 255;\n\tvar c;\n\tvar m;\n\tvar y;\n\tvar k;\n\n\tk = Math.min(1 - r, 1 - g, 1 - b);\n\tc = (1 - r - k) / (1 - k) || 0;\n\tm = (1 - g - k) / (1 - k) || 0;\n\ty = (1 - b - k) / (1 - k) || 0;\n\n\treturn [c * 100, m * 100, y * 100, k * 100];\n};\n\n/**\n * See https://en.m.wikipedia.org/wiki/Euclidean_distance#Squared_Euclidean_distance\n * */\nfunction comparativeDistance(x, y) {\n\treturn (\n\t\tMath.pow(x[0] - y[0], 2) +\n\t\tMath.pow(x[1] - y[1], 2) +\n\t\tMath.pow(x[2] - y[2], 2)\n\t);\n}\n\nconvert.rgb.keyword = function (rgb) {\n\tvar reversed = reverseKeywords[rgb];\n\tif (reversed) {\n\t\treturn reversed;\n\t}\n\n\tvar currentClosestDistance = Infinity;\n\tvar currentClosestKeyword;\n\n\tfor (var keyword in colorName) {\n\t\tif (colorName.hasOwnProperty(keyword)) {\n\t\t\tvar value = colorName[keyword];\n\n\t\t\t// Compute comparative distance\n\t\t\tvar distance = comparativeDistance(rgb, value);\n\n\t\t\t// Check if its less, if so set as closest\n\t\t\tif (distance < currentClosestDistance) {\n\t\t\t\tcurrentClosestDistance = distance;\n\t\t\t\tcurrentClosestKeyword = keyword;\n\t\t\t}\n\t\t}\n\t}\n\n\treturn currentClosestKeyword;\n};\n\nconvert.keyword.rgb = function (keyword) {\n\treturn colorName[keyword];\n};\n\nconvert.rgb.xyz = function (rgb) {\n\tvar r = rgb[0] / 255;\n\tvar g = rgb[1] / 255;\n\tvar b = rgb[2] / 255;\n\n\t// assume sRGB\n\tr = r > 0.04045 ? Math.pow(((r + 0.055) / 1.055), 2.4) : (r / 12.92);\n\tg = g > 0.04045 ? Math.pow(((g + 0.055) / 1.055), 2.4) : (g / 12.92);\n\tb = b > 0.04045 ? Math.pow(((b + 0.055) / 1.055), 2.4) : (b / 12.92);\n\n\tvar x = (r * 0.4124) + (g * 0.3576) + (b * 0.1805);\n\tvar y = (r * 0.2126) + (g * 0.7152) + (b * 0.0722);\n\tvar z = (r * 0.0193) + (g * 0.1192) + (b * 0.9505);\n\n\treturn [x * 100, y * 100, z * 100];\n};\n\nconvert.rgb.lab = function (rgb) {\n\tvar xyz = convert.rgb.xyz(rgb);\n\tvar x = xyz[0];\n\tvar y = xyz[1];\n\tvar z = xyz[2];\n\tvar l;\n\tvar a;\n\tvar b;\n\n\tx /= 95.047;\n\ty /= 100;\n\tz /= 108.883;\n\n\tx = x > 0.008856 ? Math.pow(x, 1 / 3) : (7.787 * x) + (16 / 116);\n\ty = y > 0.008856 ? Math.pow(y, 1 / 3) : (7.787 * y) + (16 / 116);\n\tz = z > 0.008856 ? Math.pow(z, 1 / 3) : (7.787 * z) + (16 / 116);\n\n\tl = (116 * y) - 16;\n\ta = 500 * (x - y);\n\tb = 200 * (y - z);\n\n\treturn [l, a, b];\n};\n\nconvert.hsl.rgb = function (hsl) {\n\tvar h = hsl[0] / 360;\n\tvar s = hsl[1] / 100;\n\tvar l = hsl[2] / 100;\n\tvar t1;\n\tvar t2;\n\tvar t3;\n\tvar rgb;\n\tvar val;\n\n\tif (s === 0) {\n\t\tval = l * 255;\n\t\treturn [val, val, val];\n\t}\n\n\tif (l < 0.5) {\n\t\tt2 = l * (1 + s);\n\t} else {\n\t\tt2 = l + s - l * s;\n\t}\n\n\tt1 = 2 * l - t2;\n\n\trgb = [0, 0, 0];\n\tfor (var i = 0; i < 3; i++) {\n\t\tt3 = h + 1 / 3 * -(i - 1);\n\t\tif (t3 < 0) {\n\t\t\tt3++;\n\t\t}\n\t\tif (t3 > 1) {\n\t\t\tt3--;\n\t\t}\n\n\t\tif (6 * t3 < 1) {\n\t\t\tval = t1 + (t2 - t1) * 6 * t3;\n\t\t} else if (2 * t3 < 1) {\n\t\t\tval = t2;\n\t\t} else if (3 * t3 < 2) {\n\t\t\tval = t1 + (t2 - t1) * (2 / 3 - t3) * 6;\n\t\t} else {\n\t\t\tval = t1;\n\t\t}\n\n\t\trgb[i] = val * 255;\n\t}\n\n\treturn rgb;\n};\n\nconvert.hsl.hsv = function (hsl) {\n\tvar h = hsl[0];\n\tvar s = hsl[1] / 100;\n\tvar l = hsl[2] / 100;\n\tvar smin = s;\n\tvar lmin = Math.max(l, 0.01);\n\tvar sv;\n\tvar v;\n\n\tl *= 2;\n\ts *= (l <= 1) ? l : 2 - l;\n\tsmin *= lmin <= 1 ? lmin : 2 - lmin;\n\tv = (l + s) / 2;\n\tsv = l === 0 ? (2 * smin) / (lmin + smin) : (2 * s) / (l + s);\n\n\treturn [h, sv * 100, v * 100];\n};\n\nconvert.hsv.rgb = function (hsv) {\n\tvar h = hsv[0] / 60;\n\tvar s = hsv[1] / 100;\n\tvar v = hsv[2] / 100;\n\tvar hi = Math.floor(h) % 6;\n\n\tvar f = h - Math.floor(h);\n\tvar p = 255 * v * (1 - s);\n\tvar q = 255 * v * (1 - (s * f));\n\tvar t = 255 * v * (1 - (s * (1 - f)));\n\tv *= 255;\n\n\tswitch (hi) {\n\t\tcase 0:\n\t\t\treturn [v, t, p];\n\t\tcase 1:\n\t\t\treturn [q, v, p];\n\t\tcase 2:\n\t\t\treturn [p, v, t];\n\t\tcase 3:\n\t\t\treturn [p, q, v];\n\t\tcase 4:\n\t\t\treturn [t, p, v];\n\t\tcase 5:\n\t\t\treturn [v, p, q];\n\t}\n};\n\nconvert.hsv.hsl = function (hsv) {\n\tvar h = hsv[0];\n\tvar s = hsv[1] / 100;\n\tvar v = hsv[2] / 100;\n\tvar vmin = Math.max(v, 0.01);\n\tvar lmin;\n\tvar sl;\n\tvar l;\n\n\tl = (2 - s) * v;\n\tlmin = (2 - s) * vmin;\n\tsl = s * vmin;\n\tsl /= (lmin <= 1) ? lmin : 2 - lmin;\n\tsl = sl || 0;\n\tl /= 2;\n\n\treturn [h, sl * 100, l * 100];\n};\n\n// http://dev.w3.org/csswg/css-color/#hwb-to-rgb\nconvert.hwb.rgb = function (hwb) {\n\tvar h = hwb[0] / 360;\n\tvar wh = hwb[1] / 100;\n\tvar bl = hwb[2] / 100;\n\tvar ratio = wh + bl;\n\tvar i;\n\tvar v;\n\tvar f;\n\tvar n;\n\n\t// wh + bl cant be > 1\n\tif (ratio > 1) {\n\t\twh /= ratio;\n\t\tbl /= ratio;\n\t}\n\n\ti = Math.floor(6 * h);\n\tv = 1 - bl;\n\tf = 6 * h - i;\n\n\tif ((i & 0x01) !== 0) {\n\t\tf = 1 - f;\n\t}\n\n\tn = wh + f * (v - wh); // linear interpolation\n\n\tvar r;\n\tvar g;\n\tvar b;\n\tswitch (i) {\n\t\tdefault:\n\t\tcase 6:\n\t\tcase 0: r = v; g = n; b = wh; break;\n\t\tcase 1: r = n; g = v; b = wh; break;\n\t\tcase 2: r = wh; g = v; b = n; break;\n\t\tcase 3: r = wh; g = n; b = v; break;\n\t\tcase 4: r = n; g = wh; b = v; break;\n\t\tcase 5: r = v; g = wh; b = n; break;\n\t}\n\n\treturn [r * 255, g * 255, b * 255];\n};\n\nconvert.cmyk.rgb = function (cmyk) {\n\tvar c = cmyk[0] / 100;\n\tvar m = cmyk[1] / 100;\n\tvar y = cmyk[2] / 100;\n\tvar k = cmyk[3] / 100;\n\tvar r;\n\tvar g;\n\tvar b;\n\n\tr = 1 - Math.min(1, c * (1 - k) + k);\n\tg = 1 - Math.min(1, m * (1 - k) + k);\n\tb = 1 - Math.min(1, y * (1 - k) + k);\n\n\treturn [r * 255, g * 255, b * 255];\n};\n\nconvert.xyz.rgb = function (xyz) {\n\tvar x = xyz[0] / 100;\n\tvar y = xyz[1] / 100;\n\tvar z = xyz[2] / 100;\n\tvar r;\n\tvar g;\n\tvar b;\n\n\tr = (x * 3.2406) + (y * -1.5372) + (z * -0.4986);\n\tg = (x * -0.9689) + (y * 1.8758) + (z * 0.0415);\n\tb = (x * 0.0557) + (y * -0.2040) + (z * 1.0570);\n\n\t// assume sRGB\n\tr = r > 0.0031308\n\t\t? ((1.055 * Math.pow(r, 1.0 / 2.4)) - 0.055)\n\t\t: r * 12.92;\n\n\tg = g > 0.0031308\n\t\t? ((1.055 * Math.pow(g, 1.0 / 2.4)) - 0.055)\n\t\t: g * 12.92;\n\n\tb = b > 0.0031308\n\t\t? ((1.055 * Math.pow(b, 1.0 / 2.4)) - 0.055)\n\t\t: b * 12.92;\n\n\tr = Math.min(Math.max(0, r), 1);\n\tg = Math.min(Math.max(0, g), 1);\n\tb = Math.min(Math.max(0, b), 1);\n\n\treturn [r * 255, g * 255, b * 255];\n};\n\nconvert.xyz.lab = function (xyz) {\n\tvar x = xyz[0];\n\tvar y = xyz[1];\n\tvar z = xyz[2];\n\tvar l;\n\tvar a;\n\tvar b;\n\n\tx /= 95.047;\n\ty /= 100;\n\tz /= 108.883;\n\n\tx = x > 0.008856 ? Math.pow(x, 1 / 3) : (7.787 * x) + (16 / 116);\n\ty = y > 0.008856 ? Math.pow(y, 1 / 3) : (7.787 * y) + (16 / 116);\n\tz = z > 0.008856 ? Math.pow(z, 1 / 3) : (7.787 * z) + (16 / 116);\n\n\tl = (116 * y) - 16;\n\ta = 500 * (x - y);\n\tb = 200 * (y - z);\n\n\treturn [l, a, b];\n};\n\nconvert.lab.xyz = function (lab) {\n\tvar l = lab[0];\n\tvar a = lab[1];\n\tvar b = lab[2];\n\tvar x;\n\tvar y;\n\tvar z;\n\n\ty = (l + 16) / 116;\n\tx = a / 500 + y;\n\tz = y - b / 200;\n\n\tvar y2 = Math.pow(y, 3);\n\tvar x2 = Math.pow(x, 3);\n\tvar z2 = Math.pow(z, 3);\n\ty = y2 > 0.008856 ? y2 : (y - 16 / 116) / 7.787;\n\tx = x2 > 0.008856 ? x2 : (x - 16 / 116) / 7.787;\n\tz = z2 > 0.008856 ? z2 : (z - 16 / 116) / 7.787;\n\n\tx *= 95.047;\n\ty *= 100;\n\tz *= 108.883;\n\n\treturn [x, y, z];\n};\n\nconvert.lab.lch = function (lab) {\n\tvar l = lab[0];\n\tvar a = lab[1];\n\tvar b = lab[2];\n\tvar hr;\n\tvar h;\n\tvar c;\n\n\thr = Math.atan2(b, a);\n\th = hr * 360 / 2 / Math.PI;\n\n\tif (h < 0) {\n\t\th += 360;\n\t}\n\n\tc = Math.sqrt(a * a + b * b);\n\n\treturn [l, c, h];\n};\n\nconvert.lch.lab = function (lch) {\n\tvar l = lch[0];\n\tvar c = lch[1];\n\tvar h = lch[2];\n\tvar a;\n\tvar b;\n\tvar hr;\n\n\thr = h / 360 * 2 * Math.PI;\n\ta = c * Math.cos(hr);\n\tb = c * Math.sin(hr);\n\n\treturn [l, a, b];\n};\n\nconvert.rgb.ansi16 = function (args) {\n\tvar r = args[0];\n\tvar g = args[1];\n\tvar b = args[2];\n\tvar value = 1 in arguments ? arguments[1] : convert.rgb.hsv(args)[2]; // hsv -> ansi16 optimization\n\n\tvalue = Math.round(value / 50);\n\n\tif (value === 0) {\n\t\treturn 30;\n\t}\n\n\tvar ansi = 30\n\t\t+ ((Math.round(b / 255) << 2)\n\t\t| (Math.round(g / 255) << 1)\n\t\t| Math.round(r / 255));\n\n\tif (value === 2) {\n\t\tansi += 60;\n\t}\n\n\treturn ansi;\n};\n\nconvert.hsv.ansi16 = function (args) {\n\t// optimization here; we already know the value and don't need to get\n\t// it converted for us.\n\treturn convert.rgb.ansi16(convert.hsv.rgb(args), args[2]);\n};\n\nconvert.rgb.ansi256 = function (args) {\n\tvar r = args[0];\n\tvar g = args[1];\n\tvar b = args[2];\n\n\t// we use the extended greyscale palette here, with the exception of\n\t// black and white. normal palette only has 4 greyscale shades.\n\tif (r === g && g === b) {\n\t\tif (r < 8) {\n\t\t\treturn 16;\n\t\t}\n\n\t\tif (r > 248) {\n\t\t\treturn 231;\n\t\t}\n\n\t\treturn Math.round(((r - 8) / 247) * 24) + 232;\n\t}\n\n\tvar ansi = 16\n\t\t+ (36 * Math.round(r / 255 * 5))\n\t\t+ (6 * Math.round(g / 255 * 5))\n\t\t+ Math.round(b / 255 * 5);\n\n\treturn ansi;\n};\n\nconvert.ansi16.rgb = function (args) {\n\tvar color = args % 10;\n\n\t// handle greyscale\n\tif (color === 0 || color === 7) {\n\t\tif (args > 50) {\n\t\t\tcolor += 3.5;\n\t\t}\n\n\t\tcolor = color / 10.5 * 255;\n\n\t\treturn [color, color, color];\n\t}\n\n\tvar mult = (~~(args > 50) + 1) * 0.5;\n\tvar r = ((color & 1) * mult) * 255;\n\tvar g = (((color >> 1) & 1) * mult) * 255;\n\tvar b = (((color >> 2) & 1) * mult) * 255;\n\n\treturn [r, g, b];\n};\n\nconvert.ansi256.rgb = function (args) {\n\t// handle greyscale\n\tif (args >= 232) {\n\t\tvar c = (args - 232) * 10 + 8;\n\t\treturn [c, c, c];\n\t}\n\n\targs -= 16;\n\n\tvar rem;\n\tvar r = Math.floor(args / 36) / 5 * 255;\n\tvar g = Math.floor((rem = args % 36) / 6) / 5 * 255;\n\tvar b = (rem % 6) / 5 * 255;\n\n\treturn [r, g, b];\n};\n\nconvert.rgb.hex = function (args) {\n\tvar integer = ((Math.round(args[0]) & 0xFF) << 16)\n\t\t+ ((Math.round(args[1]) & 0xFF) << 8)\n\t\t+ (Math.round(args[2]) & 0xFF);\n\n\tvar string = integer.toString(16).toUpperCase();\n\treturn '000000'.substring(string.length) + string;\n};\n\nconvert.hex.rgb = function (args) {\n\tvar match = args.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);\n\tif (!match) {\n\t\treturn [0, 0, 0];\n\t}\n\n\tvar colorString = match[0];\n\n\tif (match[0].length === 3) {\n\t\tcolorString = colorString.split('').map(function (char) {\n\t\t\treturn char + char;\n\t\t}).join('');\n\t}\n\n\tvar integer = parseInt(colorString, 16);\n\tvar r = (integer >> 16) & 0xFF;\n\tvar g = (integer >> 8) & 0xFF;\n\tvar b = integer & 0xFF;\n\n\treturn [r, g, b];\n};\n\nconvert.rgb.hcg = function (rgb) {\n\tvar r = rgb[0] / 255;\n\tvar g = rgb[1] / 255;\n\tvar b = rgb[2] / 255;\n\tvar max = Math.max(Math.max(r, g), b);\n\tvar min = Math.min(Math.min(r, g), b);\n\tvar chroma = (max - min);\n\tvar grayscale;\n\tvar hue;\n\n\tif (chroma < 1) {\n\t\tgrayscale = min / (1 - chroma);\n\t} else {\n\t\tgrayscale = 0;\n\t}\n\n\tif (chroma <= 0) {\n\t\thue = 0;\n\t} else\n\tif (max === r) {\n\t\thue = ((g - b) / chroma) % 6;\n\t} else\n\tif (max === g) {\n\t\thue = 2 + (b - r) / chroma;\n\t} else {\n\t\thue = 4 + (r - g) / chroma + 4;\n\t}\n\n\thue /= 6;\n\thue %= 1;\n\n\treturn [hue * 360, chroma * 100, grayscale * 100];\n};\n\nconvert.hsl.hcg = function (hsl) {\n\tvar s = hsl[1] / 100;\n\tvar l = hsl[2] / 100;\n\tvar c = 1;\n\tvar f = 0;\n\n\tif (l < 0.5) {\n\t\tc = 2.0 * s * l;\n\t} else {\n\t\tc = 2.0 * s * (1.0 - l);\n\t}\n\n\tif (c < 1.0) {\n\t\tf = (l - 0.5 * c) / (1.0 - c);\n\t}\n\n\treturn [hsl[0], c * 100, f * 100];\n};\n\nconvert.hsv.hcg = function (hsv) {\n\tvar s = hsv[1] / 100;\n\tvar v = hsv[2] / 100;\n\n\tvar c = s * v;\n\tvar f = 0;\n\n\tif (c < 1.0) {\n\t\tf = (v - c) / (1 - c);\n\t}\n\n\treturn [hsv[0], c * 100, f * 100];\n};\n\nconvert.hcg.rgb = function (hcg) {\n\tvar h = hcg[0] / 360;\n\tvar c = hcg[1] / 100;\n\tvar g = hcg[2] / 100;\n\n\tif (c === 0.0) {\n\t\treturn [g * 255, g * 255, g * 255];\n\t}\n\n\tvar pure = [0, 0, 0];\n\tvar hi = (h % 1) * 6;\n\tvar v = hi % 1;\n\tvar w = 1 - v;\n\tvar mg = 0;\n\n\tswitch (Math.floor(hi)) {\n\t\tcase 0:\n\t\t\tpure[0] = 1; pure[1] = v; pure[2] = 0; break;\n\t\tcase 1:\n\t\t\tpure[0] = w; pure[1] = 1; pure[2] = 0; break;\n\t\tcase 2:\n\t\t\tpure[0] = 0; pure[1] = 1; pure[2] = v; break;\n\t\tcase 3:\n\t\t\tpure[0] = 0; pure[1] = w; pure[2] = 1; break;\n\t\tcase 4:\n\t\t\tpure[0] = v; pure[1] = 0; pure[2] = 1; break;\n\t\tdefault:\n\t\t\tpure[0] = 1; pure[1] = 0; pure[2] = w;\n\t}\n\n\tmg = (1.0 - c) * g;\n\n\treturn [\n\t\t(c * pure[0] + mg) * 255,\n\t\t(c * pure[1] + mg) * 255,\n\t\t(c * pure[2] + mg) * 255\n\t];\n};\n\nconvert.hcg.hsv = function (hcg) {\n\tvar c = hcg[1] / 100;\n\tvar g = hcg[2] / 100;\n\n\tvar v = c + g * (1.0 - c);\n\tvar f = 0;\n\n\tif (v > 0.0) {\n\t\tf = c / v;\n\t}\n\n\treturn [hcg[0], f * 100, v * 100];\n};\n\nconvert.hcg.hsl = function (hcg) {\n\tvar c = hcg[1] / 100;\n\tvar g = hcg[2] / 100;\n\n\tvar l = g * (1.0 - c) + 0.5 * c;\n\tvar s = 0;\n\n\tif (l > 0.0 && l < 0.5) {\n\t\ts = c / (2 * l);\n\t} else\n\tif (l >= 0.5 && l < 1.0) {\n\t\ts = c / (2 * (1 - l));\n\t}\n\n\treturn [hcg[0], s * 100, l * 100];\n};\n\nconvert.hcg.hwb = function (hcg) {\n\tvar c = hcg[1] / 100;\n\tvar g = hcg[2] / 100;\n\tvar v = c + g * (1.0 - c);\n\treturn [hcg[0], (v - c) * 100, (1 - v) * 100];\n};\n\nconvert.hwb.hcg = function (hwb) {\n\tvar w = hwb[1] / 100;\n\tvar b = hwb[2] / 100;\n\tvar v = 1 - b;\n\tvar c = v - w;\n\tvar g = 0;\n\n\tif (c < 1) {\n\t\tg = (v - c) / (1 - c);\n\t}\n\n\treturn [hwb[0], c * 100, g * 100];\n};\n\nconvert.apple.rgb = function (apple) {\n\treturn [(apple[0] / 65535) * 255, (apple[1] / 65535) * 255, (apple[2] / 65535) * 255];\n};\n\nconvert.rgb.apple = function (rgb) {\n\treturn [(rgb[0] / 255) * 65535, (rgb[1] / 255) * 65535, (rgb[2] / 255) * 65535];\n};\n\nconvert.gray.rgb = function (args) {\n\treturn [args[0] / 100 * 255, args[0] / 100 * 255, args[0] / 100 * 255];\n};\n\nconvert.gray.hsl = convert.gray.hsv = function (args) {\n\treturn [0, 0, args[0]];\n};\n\nconvert.gray.hwb = function (gray) {\n\treturn [0, 100, gray[0]];\n};\n\nconvert.gray.cmyk = function (gray) {\n\treturn [0, 0, 0, gray[0]];\n};\n\nconvert.gray.lab = function (gray) {\n\treturn [gray[0], 0, 0];\n};\n\nconvert.gray.hex = function (gray) {\n\tvar val = Math.round(gray[0] / 100 * 255) & 0xFF;\n\tvar integer = (val << 16) + (val << 8) + val;\n\n\tvar string = integer.toString(16).toUpperCase();\n\treturn '000000'.substring(string.length) + string;\n};\n\nconvert.rgb.gray = function (rgb) {\n\tvar val = (rgb[0] + rgb[1] + rgb[2]) / 3;\n\treturn [val / 255 * 100];\n};\n});\nvar conversions_1 = conversions.rgb;\nvar conversions_2 = conversions.hsl;\nvar conversions_3 = conversions.hsv;\nvar conversions_4 = conversions.hwb;\nvar conversions_5 = conversions.cmyk;\nvar conversions_6 = conversions.xyz;\nvar conversions_7 = conversions.lab;\nvar conversions_8 = conversions.lch;\nvar conversions_9 = conversions.hex;\nvar conversions_10 = conversions.keyword;\nvar conversions_11 = conversions.ansi16;\nvar conversions_12 = conversions.ansi256;\nvar conversions_13 = conversions.hcg;\nvar conversions_14 = conversions.apple;\nvar conversions_15 = conversions.gray;\n\n/*\n\tthis function routes a model to all other models.\n\n\tall functions that are routed have a property `.conversion` attached\n\tto the returned synthetic function. This property is an array\n\tof strings, each with the steps in between the 'from' and 'to'\n\tcolor models (inclusive).\n\n\tconversions that are not possible simply are not included.\n*/\n\nfunction buildGraph() {\n\tvar graph = {};\n\t// https://jsperf.com/object-keys-vs-for-in-with-closure/3\n\tvar models = Object.keys(conversions);\n\n\tfor (var len = models.length, i = 0; i < len; i++) {\n\t\tgraph[models[i]] = {\n\t\t\t// http://jsperf.com/1-vs-infinity\n\t\t\t// micro-opt, but this is simple.\n\t\t\tdistance: -1,\n\t\t\tparent: null\n\t\t};\n\t}\n\n\treturn graph;\n}\n\n// https://en.wikipedia.org/wiki/Breadth-first_search\nfunction deriveBFS(fromModel) {\n\tvar graph = buildGraph();\n\tvar queue = [fromModel]; // unshift -> queue -> pop\n\n\tgraph[fromModel].distance = 0;\n\n\twhile (queue.length) {\n\t\tvar current = queue.pop();\n\t\tvar adjacents = Object.keys(conversions[current]);\n\n\t\tfor (var len = adjacents.length, i = 0; i < len; i++) {\n\t\t\tvar adjacent = adjacents[i];\n\t\t\tvar node = graph[adjacent];\n\n\t\t\tif (node.distance === -1) {\n\t\t\t\tnode.distance = graph[current].distance + 1;\n\t\t\t\tnode.parent = current;\n\t\t\t\tqueue.unshift(adjacent);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn graph;\n}\n\nfunction link(from, to) {\n\treturn function (args) {\n\t\treturn to(from(args));\n\t};\n}\n\nfunction wrapConversion(toModel, graph) {\n\tvar path = [graph[toModel].parent, toModel];\n\tvar fn = conversions[graph[toModel].parent][toModel];\n\n\tvar cur = graph[toModel].parent;\n\twhile (graph[cur].parent) {\n\t\tpath.unshift(graph[cur].parent);\n\t\tfn = link(conversions[graph[cur].parent][cur], fn);\n\t\tcur = graph[cur].parent;\n\t}\n\n\tfn.conversion = path;\n\treturn fn;\n}\n\nvar route = function (fromModel) {\n\tvar graph = deriveBFS(fromModel);\n\tvar conversion = {};\n\n\tvar models = Object.keys(graph);\n\tfor (var len = models.length, i = 0; i < len; i++) {\n\t\tvar toModel = models[i];\n\t\tvar node = graph[toModel];\n\n\t\tif (node.parent === null) {\n\t\t\t// no possible conversion, or this node is the source model.\n\t\t\tcontinue;\n\t\t}\n\n\t\tconversion[toModel] = wrapConversion(toModel, graph);\n\t}\n\n\treturn conversion;\n};\n\nvar convert = {};\n\nvar models = Object.keys(conversions);\n\nfunction wrapRaw(fn) {\n\tvar wrappedFn = function (args) {\n\t\tif (args === undefined || args === null) {\n\t\t\treturn args;\n\t\t}\n\n\t\tif (arguments.length > 1) {\n\t\t\targs = Array.prototype.slice.call(arguments);\n\t\t}\n\n\t\treturn fn(args);\n\t};\n\n\t// preserve .conversion property if there is one\n\tif ('conversion' in fn) {\n\t\twrappedFn.conversion = fn.conversion;\n\t}\n\n\treturn wrappedFn;\n}\n\nfunction wrapRounded(fn) {\n\tvar wrappedFn = function (args) {\n\t\tif (args === undefined || args === null) {\n\t\t\treturn args;\n\t\t}\n\n\t\tif (arguments.length > 1) {\n\t\t\targs = Array.prototype.slice.call(arguments);\n\t\t}\n\n\t\tvar result = fn(args);\n\n\t\t// we're assuming the result is an array here.\n\t\t// see notice in conversions.js; don't use box types\n\t\t// in conversion functions.\n\t\tif (typeof result === 'object') {\n\t\t\tfor (var len = result.length, i = 0; i < len; i++) {\n\t\t\t\tresult[i] = Math.round(result[i]);\n\t\t\t}\n\t\t}\n\n\t\treturn result;\n\t};\n\n\t// preserve .conversion property if there is one\n\tif ('conversion' in fn) {\n\t\twrappedFn.conversion = fn.conversion;\n\t}\n\n\treturn wrappedFn;\n}\n\nmodels.forEach(function (fromModel) {\n\tconvert[fromModel] = {};\n\n\tObject.defineProperty(convert[fromModel], 'channels', {value: conversions[fromModel].channels});\n\tObject.defineProperty(convert[fromModel], 'labels', {value: conversions[fromModel].labels});\n\n\tvar routes = route(fromModel);\n\tvar routeModels = Object.keys(routes);\n\n\trouteModels.forEach(function (toModel) {\n\t\tvar fn = routes[toModel];\n\n\t\tconvert[fromModel][toModel] = wrapRounded(fn);\n\t\tconvert[fromModel][toModel].raw = wrapRaw(fn);\n\t});\n});\n\nvar colorConvert = convert;\n\nvar colorName$1 = {\r\n\t\"aliceblue\": [240, 248, 255],\r\n\t\"antiquewhite\": [250, 235, 215],\r\n\t\"aqua\": [0, 255, 255],\r\n\t\"aquamarine\": [127, 255, 212],\r\n\t\"azure\": [240, 255, 255],\r\n\t\"beige\": [245, 245, 220],\r\n\t\"bisque\": [255, 228, 196],\r\n\t\"black\": [0, 0, 0],\r\n\t\"blanchedalmond\": [255, 235, 205],\r\n\t\"blue\": [0, 0, 255],\r\n\t\"blueviolet\": [138, 43, 226],\r\n\t\"brown\": [165, 42, 42],\r\n\t\"burlywood\": [222, 184, 135],\r\n\t\"cadetblue\": [95, 158, 160],\r\n\t\"chartreuse\": [127, 255, 0],\r\n\t\"chocolate\": [210, 105, 30],\r\n\t\"coral\": [255, 127, 80],\r\n\t\"cornflowerblue\": [100, 149, 237],\r\n\t\"cornsilk\": [255, 248, 220],\r\n\t\"crimson\": [220, 20, 60],\r\n\t\"cyan\": [0, 255, 255],\r\n\t\"darkblue\": [0, 0, 139],\r\n\t\"darkcyan\": [0, 139, 139],\r\n\t\"darkgoldenrod\": [184, 134, 11],\r\n\t\"darkgray\": [169, 169, 169],\r\n\t\"darkgreen\": [0, 100, 0],\r\n\t\"darkgrey\": [169, 169, 169],\r\n\t\"darkkhaki\": [189, 183, 107],\r\n\t\"darkmagenta\": [139, 0, 139],\r\n\t\"darkolivegreen\": [85, 107, 47],\r\n\t\"darkorange\": [255, 140, 0],\r\n\t\"darkorchid\": [153, 50, 204],\r\n\t\"darkred\": [139, 0, 0],\r\n\t\"darksalmon\": [233, 150, 122],\r\n\t\"darkseagreen\": [143, 188, 143],\r\n\t\"darkslateblue\": [72, 61, 139],\r\n\t\"darkslategray\": [47, 79, 79],\r\n\t\"darkslategrey\": [47, 79, 79],\r\n\t\"darkturquoise\": [0, 206, 209],\r\n\t\"darkviolet\": [148, 0, 211],\r\n\t\"deeppink\": [255, 20, 147],\r\n\t\"deepskyblue\": [0, 191, 255],\r\n\t\"dimgray\": [105, 105, 105],\r\n\t\"dimgrey\": [105, 105, 105],\r\n\t\"dodgerblue\": [30, 144, 255],\r\n\t\"firebrick\": [178, 34, 34],\r\n\t\"floralwhite\": [255, 250, 240],\r\n\t\"forestgreen\": [34, 139, 34],\r\n\t\"fuchsia\": [255, 0, 255],\r\n\t\"gainsboro\": [220, 220, 220],\r\n\t\"ghostwhite\": [248, 248, 255],\r\n\t\"gold\": [255, 215, 0],\r\n\t\"goldenrod\": [218, 165, 32],\r\n\t\"gray\": [128, 128, 128],\r\n\t\"green\": [0, 128, 0],\r\n\t\"greenyellow\": [173, 255, 47],\r\n\t\"grey\": [128, 128, 128],\r\n\t\"honeydew\": [240, 255, 240],\r\n\t\"hotpink\": [255, 105, 180],\r\n\t\"indianred\": [205, 92, 92],\r\n\t\"indigo\": [75, 0, 130],\r\n\t\"ivory\": [255, 255, 240],\r\n\t\"khaki\": [240, 230, 140],\r\n\t\"lavender\": [230, 230, 250],\r\n\t\"lavenderblush\": [255, 240, 245],\r\n\t\"lawngreen\": [124, 252, 0],\r\n\t\"lemonchiffon\": [255, 250, 205],\r\n\t\"lightblue\": [173, 216, 230],\r\n\t\"lightcoral\": [240, 128, 128],\r\n\t\"lightcyan\": [224, 255, 255],\r\n\t\"lightgoldenrodyellow\": [250, 250, 210],\r\n\t\"lightgray\": [211, 211, 211],\r\n\t\"lightgreen\": [144, 238, 144],\r\n\t\"lightgrey\": [211, 211, 211],\r\n\t\"lightpink\": [255, 182, 193],\r\n\t\"lightsalmon\": [255, 160, 122],\r\n\t\"lightseagreen\": [32, 178, 170],\r\n\t\"lightskyblue\": [135, 206, 250],\r\n\t\"lightslategray\": [119, 136, 153],\r\n\t\"lightslategrey\": [119, 136, 153],\r\n\t\"lightsteelblue\": [176, 196, 222],\r\n\t\"lightyellow\": [255, 255, 224],\r\n\t\"lime\": [0, 255, 0],\r\n\t\"limegreen\": [50, 205, 50],\r\n\t\"linen\": [250, 240, 230],\r\n\t\"magenta\": [255, 0, 255],\r\n\t\"maroon\": [128, 0, 0],\r\n\t\"mediumaquamarine\": [102, 205, 170],\r\n\t\"mediumblue\": [0, 0, 205],\r\n\t\"mediumorchid\": [186, 85, 211],\r\n\t\"mediumpurple\": [147, 112, 219],\r\n\t\"mediumseagreen\": [60, 179, 113],\r\n\t\"mediumslateblue\": [123, 104, 238],\r\n\t\"mediumspringgreen\": [0, 250, 154],\r\n\t\"mediumturquoise\": [72, 209, 204],\r\n\t\"mediumvioletred\": [199, 21, 133],\r\n\t\"midnightblue\": [25, 25, 112],\r\n\t\"mintcream\": [245, 255, 250],\r\n\t\"mistyrose\": [255, 228, 225],\r\n\t\"moccasin\": [255, 228, 181],\r\n\t\"navajowhite\": [255, 222, 173],\r\n\t\"navy\": [0, 0, 128],\r\n\t\"oldlace\": [253, 245, 230],\r\n\t\"olive\": [128, 128, 0],\r\n\t\"olivedrab\": [107, 142, 35],\r\n\t\"orange\": [255, 165, 0],\r\n\t\"orangered\": [255, 69, 0],\r\n\t\"orchid\": [218, 112, 214],\r\n\t\"palegoldenrod\": [238, 232, 170],\r\n\t\"palegreen\": [152, 251, 152],\r\n\t\"paleturquoise\": [175, 238, 238],\r\n\t\"palevioletred\": [219, 112, 147],\r\n\t\"papayawhip\": [255, 239, 213],\r\n\t\"peachpuff\": [255, 218, 185],\r\n\t\"peru\": [205, 133, 63],\r\n\t\"pink\": [255, 192, 203],\r\n\t\"plum\": [221, 160, 221],\r\n\t\"powderblue\": [176, 224, 230],\r\n\t\"purple\": [128, 0, 128],\r\n\t\"rebeccapurple\": [102, 51, 153],\r\n\t\"red\": [255, 0, 0],\r\n\t\"rosybrown\": [188, 143, 143],\r\n\t\"royalblue\": [65, 105, 225],\r\n\t\"saddlebrown\": [139, 69, 19],\r\n\t\"salmon\": [250, 128, 114],\r\n\t\"sandybrown\": [244, 164, 96],\r\n\t\"seagreen\": [46, 139, 87],\r\n\t\"seashell\": [255, 245, 238],\r\n\t\"sienna\": [160, 82, 45],\r\n\t\"silver\": [192, 192, 192],\r\n\t\"skyblue\": [135, 206, 235],\r\n\t\"slateblue\": [106, 90, 205],\r\n\t\"slategray\": [112, 128, 144],\r\n\t\"slategrey\": [112, 128, 144],\r\n\t\"snow\": [255, 250, 250],\r\n\t\"springgreen\": [0, 255, 127],\r\n\t\"steelblue\": [70, 130, 180],\r\n\t\"tan\": [210, 180, 140],\r\n\t\"teal\": [0, 128, 128],\r\n\t\"thistle\": [216, 191, 216],\r\n\t\"tomato\": [255, 99, 71],\r\n\t\"turquoise\": [64, 224, 208],\r\n\t\"violet\": [238, 130, 238],\r\n\t\"wheat\": [245, 222, 179],\r\n\t\"white\": [255, 255, 255],\r\n\t\"whitesmoke\": [245, 245, 245],\r\n\t\"yellow\": [255, 255, 0],\r\n\t\"yellowgreen\": [154, 205, 50]\r\n};\n\n/* MIT license */\n\n\nvar colorString = {\n getRgba: getRgba,\n getHsla: getHsla,\n getRgb: getRgb,\n getHsl: getHsl,\n getHwb: getHwb,\n getAlpha: getAlpha,\n\n hexString: hexString,\n rgbString: rgbString,\n rgbaString: rgbaString,\n percentString: percentString,\n percentaString: percentaString,\n hslString: hslString,\n hslaString: hslaString,\n hwbString: hwbString,\n keyword: keyword\n};\n\nfunction getRgba(string) {\n if (!string) {\n return;\n }\n var abbr = /^#([a-fA-F0-9]{3,4})$/i,\n hex = /^#([a-fA-F0-9]{6}([a-fA-F0-9]{2})?)$/i,\n rgba = /^rgba?\\(\\s*([+-]?\\d+)\\s*,\\s*([+-]?\\d+)\\s*,\\s*([+-]?\\d+)\\s*(?:,\\s*([+-]?[\\d\\.]+)\\s*)?\\)$/i,\n per = /^rgba?\\(\\s*([+-]?[\\d\\.]+)\\%\\s*,\\s*([+-]?[\\d\\.]+)\\%\\s*,\\s*([+-]?[\\d\\.]+)\\%\\s*(?:,\\s*([+-]?[\\d\\.]+)\\s*)?\\)$/i,\n keyword = /(\\w+)/;\n\n var rgb = [0, 0, 0],\n a = 1,\n match = string.match(abbr),\n hexAlpha = \"\";\n if (match) {\n match = match[1];\n hexAlpha = match[3];\n for (var i = 0; i < rgb.length; i++) {\n rgb[i] = parseInt(match[i] + match[i], 16);\n }\n if (hexAlpha) {\n a = Math.round((parseInt(hexAlpha + hexAlpha, 16) / 255) * 100) / 100;\n }\n }\n else if (match = string.match(hex)) {\n hexAlpha = match[2];\n match = match[1];\n for (var i = 0; i < rgb.length; i++) {\n rgb[i] = parseInt(match.slice(i * 2, i * 2 + 2), 16);\n }\n if (hexAlpha) {\n a = Math.round((parseInt(hexAlpha, 16) / 255) * 100) / 100;\n }\n }\n else if (match = string.match(rgba)) {\n for (var i = 0; i < rgb.length; i++) {\n rgb[i] = parseInt(match[i + 1]);\n }\n a = parseFloat(match[4]);\n }\n else if (match = string.match(per)) {\n for (var i = 0; i < rgb.length; i++) {\n rgb[i] = Math.round(parseFloat(match[i + 1]) * 2.55);\n }\n a = parseFloat(match[4]);\n }\n else if (match = string.match(keyword)) {\n if (match[1] == \"transparent\") {\n return [0, 0, 0, 0];\n }\n rgb = colorName$1[match[1]];\n if (!rgb) {\n return;\n }\n }\n\n for (var i = 0; i < rgb.length; i++) {\n rgb[i] = scale(rgb[i], 0, 255);\n }\n if (!a && a != 0) {\n a = 1;\n }\n else {\n a = scale(a, 0, 1);\n }\n rgb[3] = a;\n return rgb;\n}\n\nfunction getHsla(string) {\n if (!string) {\n return;\n }\n var hsl = /^hsla?\\(\\s*([+-]?\\d+)(?:deg)?\\s*,\\s*([+-]?[\\d\\.]+)%\\s*,\\s*([+-]?[\\d\\.]+)%\\s*(?:,\\s*([+-]?[\\d\\.]+)\\s*)?\\)/;\n var match = string.match(hsl);\n if (match) {\n var alpha = parseFloat(match[4]);\n var h = scale(parseInt(match[1]), 0, 360),\n s = scale(parseFloat(match[2]), 0, 100),\n l = scale(parseFloat(match[3]), 0, 100),\n a = scale(isNaN(alpha) ? 1 : alpha, 0, 1);\n return [h, s, l, a];\n }\n}\n\nfunction getHwb(string) {\n if (!string) {\n return;\n }\n var hwb = /^hwb\\(\\s*([+-]?\\d+)(?:deg)?\\s*,\\s*([+-]?[\\d\\.]+)%\\s*,\\s*([+-]?[\\d\\.]+)%\\s*(?:,\\s*([+-]?[\\d\\.]+)\\s*)?\\)/;\n var match = string.match(hwb);\n if (match) {\n var alpha = parseFloat(match[4]);\n var h = scale(parseInt(match[1]), 0, 360),\n w = scale(parseFloat(match[2]), 0, 100),\n b = scale(parseFloat(match[3]), 0, 100),\n a = scale(isNaN(alpha) ? 1 : alpha, 0, 1);\n return [h, w, b, a];\n }\n}\n\nfunction getRgb(string) {\n var rgba = getRgba(string);\n return rgba && rgba.slice(0, 3);\n}\n\nfunction getHsl(string) {\n var hsla = getHsla(string);\n return hsla && hsla.slice(0, 3);\n}\n\nfunction getAlpha(string) {\n var vals = getRgba(string);\n if (vals) {\n return vals[3];\n }\n else if (vals = getHsla(string)) {\n return vals[3];\n }\n else if (vals = getHwb(string)) {\n return vals[3];\n }\n}\n\n// generators\nfunction hexString(rgba, a) {\n var a = (a !== undefined && rgba.length === 3) ? a : rgba[3];\n return \"#\" + hexDouble(rgba[0]) \n + hexDouble(rgba[1])\n + hexDouble(rgba[2])\n + (\n (a >= 0 && a < 1)\n ? hexDouble(Math.round(a * 255))\n : \"\"\n );\n}\n\nfunction rgbString(rgba, alpha) {\n if (alpha < 1 || (rgba[3] && rgba[3] < 1)) {\n return rgbaString(rgba, alpha);\n }\n return \"rgb(\" + rgba[0] + \", \" + rgba[1] + \", \" + rgba[2] + \")\";\n}\n\nfunction rgbaString(rgba, alpha) {\n if (alpha === undefined) {\n alpha = (rgba[3] !== undefined ? rgba[3] : 1);\n }\n return \"rgba(\" + rgba[0] + \", \" + rgba[1] + \", \" + rgba[2]\n + \", \" + alpha + \")\";\n}\n\nfunction percentString(rgba, alpha) {\n if (alpha < 1 || (rgba[3] && rgba[3] < 1)) {\n return percentaString(rgba, alpha);\n }\n var r = Math.round(rgba[0]/255 * 100),\n g = Math.round(rgba[1]/255 * 100),\n b = Math.round(rgba[2]/255 * 100);\n\n return \"rgb(\" + r + \"%, \" + g + \"%, \" + b + \"%)\";\n}\n\nfunction percentaString(rgba, alpha) {\n var r = Math.round(rgba[0]/255 * 100),\n g = Math.round(rgba[1]/255 * 100),\n b = Math.round(rgba[2]/255 * 100);\n return \"rgba(\" + r + \"%, \" + g + \"%, \" + b + \"%, \" + (alpha || rgba[3] || 1) + \")\";\n}\n\nfunction hslString(hsla, alpha) {\n if (alpha < 1 || (hsla[3] && hsla[3] < 1)) {\n return hslaString(hsla, alpha);\n }\n return \"hsl(\" + hsla[0] + \", \" + hsla[1] + \"%, \" + hsla[2] + \"%)\";\n}\n\nfunction hslaString(hsla, alpha) {\n if (alpha === undefined) {\n alpha = (hsla[3] !== undefined ? hsla[3] : 1);\n }\n return \"hsla(\" + hsla[0] + \", \" + hsla[1] + \"%, \" + hsla[2] + \"%, \"\n + alpha + \")\";\n}\n\n// hwb is a bit different than rgb(a) & hsl(a) since there is no alpha specific syntax\n// (hwb have alpha optional & 1 is default value)\nfunction hwbString(hwb, alpha) {\n if (alpha === undefined) {\n alpha = (hwb[3] !== undefined ? hwb[3] : 1);\n }\n return \"hwb(\" + hwb[0] + \", \" + hwb[1] + \"%, \" + hwb[2] + \"%\"\n + (alpha !== undefined && alpha !== 1 ? \", \" + alpha : \"\") + \")\";\n}\n\nfunction keyword(rgb) {\n return reverseNames[rgb.slice(0, 3)];\n}\n\n// helpers\nfunction scale(num, min, max) {\n return Math.min(Math.max(min, num), max);\n}\n\nfunction hexDouble(num) {\n var str = num.toString(16).toUpperCase();\n return (str.length < 2) ? \"0\" + str : str;\n}\n\n\n//create a list of reverse color names\nvar reverseNames = {};\nfor (var name in colorName$1) {\n reverseNames[colorName$1[name]] = name;\n}\n\n/* MIT license */\n\n\n\nvar Color = function (obj) {\n\tif (obj instanceof Color) {\n\t\treturn obj;\n\t}\n\tif (!(this instanceof Color)) {\n\t\treturn new Color(obj);\n\t}\n\n\tthis.valid = false;\n\tthis.values = {\n\t\trgb: [0, 0, 0],\n\t\thsl: [0, 0, 0],\n\t\thsv: [0, 0, 0],\n\t\thwb: [0, 0, 0],\n\t\tcmyk: [0, 0, 0, 0],\n\t\talpha: 1\n\t};\n\n\t// parse Color() argument\n\tvar vals;\n\tif (typeof obj === 'string') {\n\t\tvals = colorString.getRgba(obj);\n\t\tif (vals) {\n\t\t\tthis.setValues('rgb', vals);\n\t\t} else if (vals = colorString.getHsla(obj)) {\n\t\t\tthis.setValues('hsl', vals);\n\t\t} else if (vals = colorString.getHwb(obj)) {\n\t\t\tthis.setValues('hwb', vals);\n\t\t}\n\t} else if (typeof obj === 'object') {\n\t\tvals = obj;\n\t\tif (vals.r !== undefined || vals.red !== undefined) {\n\t\t\tthis.setValues('rgb', vals);\n\t\t} else if (vals.l !== undefined || vals.lightness !== undefined) {\n\t\t\tthis.setValues('hsl', vals);\n\t\t} else if (vals.v !== undefined || vals.value !== undefined) {\n\t\t\tthis.setValues('hsv', vals);\n\t\t} else if (vals.w !== undefined || vals.whiteness !== undefined) {\n\t\t\tthis.setValues('hwb', vals);\n\t\t} else if (vals.c !== undefined || vals.cyan !== undefined) {\n\t\t\tthis.setValues('cmyk', vals);\n\t\t}\n\t}\n};\n\nColor.prototype = {\n\tisValid: function () {\n\t\treturn this.valid;\n\t},\n\trgb: function () {\n\t\treturn this.setSpace('rgb', arguments);\n\t},\n\thsl: function () {\n\t\treturn this.setSpace('hsl', arguments);\n\t},\n\thsv: function () {\n\t\treturn this.setSpace('hsv', arguments);\n\t},\n\thwb: function () {\n\t\treturn this.setSpace('hwb', arguments);\n\t},\n\tcmyk: function () {\n\t\treturn this.setSpace('cmyk', arguments);\n\t},\n\n\trgbArray: function () {\n\t\treturn this.values.rgb;\n\t},\n\thslArray: function () {\n\t\treturn this.values.hsl;\n\t},\n\thsvArray: function () {\n\t\treturn this.values.hsv;\n\t},\n\thwbArray: function () {\n\t\tvar values = this.values;\n\t\tif (values.alpha !== 1) {\n\t\t\treturn values.hwb.concat([values.alpha]);\n\t\t}\n\t\treturn values.hwb;\n\t},\n\tcmykArray: function () {\n\t\treturn this.values.cmyk;\n\t},\n\trgbaArray: function () {\n\t\tvar values = this.values;\n\t\treturn values.rgb.concat([values.alpha]);\n\t},\n\thslaArray: function () {\n\t\tvar values = this.values;\n\t\treturn values.hsl.concat([values.alpha]);\n\t},\n\talpha: function (val) {\n\t\tif (val === undefined) {\n\t\t\treturn this.values.alpha;\n\t\t}\n\t\tthis.setValues('alpha', val);\n\t\treturn this;\n\t},\n\n\tred: function (val) {\n\t\treturn this.setChannel('rgb', 0, val);\n\t},\n\tgreen: function (val) {\n\t\treturn this.setChannel('rgb', 1, val);\n\t},\n\tblue: function (val) {\n\t\treturn this.setChannel('rgb', 2, val);\n\t},\n\thue: function (val) {\n\t\tif (val) {\n\t\t\tval %= 360;\n\t\t\tval = val < 0 ? 360 + val : val;\n\t\t}\n\t\treturn this.setChannel('hsl', 0, val);\n\t},\n\tsaturation: function (val) {\n\t\treturn this.setChannel('hsl', 1, val);\n\t},\n\tlightness: function (val) {\n\t\treturn this.setChannel('hsl', 2, val);\n\t},\n\tsaturationv: function (val) {\n\t\treturn this.setChannel('hsv', 1, val);\n\t},\n\twhiteness: function (val) {\n\t\treturn this.setChannel('hwb', 1, val);\n\t},\n\tblackness: function (val) {\n\t\treturn this.setChannel('hwb', 2, val);\n\t},\n\tvalue: function (val) {\n\t\treturn this.setChannel('hsv', 2, val);\n\t},\n\tcyan: function (val) {\n\t\treturn this.setChannel('cmyk', 0, val);\n\t},\n\tmagenta: function (val) {\n\t\treturn this.setChannel('cmyk', 1, val);\n\t},\n\tyellow: function (val) {\n\t\treturn this.setChannel('cmyk', 2, val);\n\t},\n\tblack: function (val) {\n\t\treturn this.setChannel('cmyk', 3, val);\n\t},\n\n\thexString: function () {\n\t\treturn colorString.hexString(this.values.rgb);\n\t},\n\trgbString: function () {\n\t\treturn colorString.rgbString(this.values.rgb, this.values.alpha);\n\t},\n\trgbaString: function () {\n\t\treturn colorString.rgbaString(this.values.rgb, this.values.alpha);\n\t},\n\tpercentString: function () {\n\t\treturn colorString.percentString(this.values.rgb, this.values.alpha);\n\t},\n\thslString: function () {\n\t\treturn colorString.hslString(this.values.hsl, this.values.alpha);\n\t},\n\thslaString: function () {\n\t\treturn colorString.hslaString(this.values.hsl, this.values.alpha);\n\t},\n\thwbString: function () {\n\t\treturn colorString.hwbString(this.values.hwb, this.values.alpha);\n\t},\n\tkeyword: function () {\n\t\treturn colorString.keyword(this.values.rgb, this.values.alpha);\n\t},\n\n\trgbNumber: function () {\n\t\tvar rgb = this.values.rgb;\n\t\treturn (rgb[0] << 16) | (rgb[1] << 8) | rgb[2];\n\t},\n\n\tluminosity: function () {\n\t\t// http://www.w3.org/TR/WCAG20/#relativeluminancedef\n\t\tvar rgb = this.values.rgb;\n\t\tvar lum = [];\n\t\tfor (var i = 0; i < rgb.length; i++) {\n\t\t\tvar chan = rgb[i] / 255;\n\t\t\tlum[i] = (chan <= 0.03928) ? chan / 12.92 : Math.pow(((chan + 0.055) / 1.055), 2.4);\n\t\t}\n\t\treturn 0.2126 * lum[0] + 0.7152 * lum[1] + 0.0722 * lum[2];\n\t},\n\n\tcontrast: function (color2) {\n\t\t// http://www.w3.org/TR/WCAG20/#contrast-ratiodef\n\t\tvar lum1 = this.luminosity();\n\t\tvar lum2 = color2.luminosity();\n\t\tif (lum1 > lum2) {\n\t\t\treturn (lum1 + 0.05) / (lum2 + 0.05);\n\t\t}\n\t\treturn (lum2 + 0.05) / (lum1 + 0.05);\n\t},\n\n\tlevel: function (color2) {\n\t\tvar contrastRatio = this.contrast(color2);\n\t\tif (contrastRatio >= 7.1) {\n\t\t\treturn 'AAA';\n\t\t}\n\n\t\treturn (contrastRatio >= 4.5) ? 'AA' : '';\n\t},\n\n\tdark: function () {\n\t\t// YIQ equation from http://24ways.org/2010/calculating-color-contrast\n\t\tvar rgb = this.values.rgb;\n\t\tvar yiq = (rgb[0] * 299 + rgb[1] * 587 + rgb[2] * 114) / 1000;\n\t\treturn yiq < 128;\n\t},\n\n\tlight: function () {\n\t\treturn !this.dark();\n\t},\n\n\tnegate: function () {\n\t\tvar rgb = [];\n\t\tfor (var i = 0; i < 3; i++) {\n\t\t\trgb[i] = 255 - this.values.rgb[i];\n\t\t}\n\t\tthis.setValues('rgb', rgb);\n\t\treturn this;\n\t},\n\n\tlighten: function (ratio) {\n\t\tvar hsl = this.values.hsl;\n\t\thsl[2] += hsl[2] * ratio;\n\t\tthis.setValues('hsl', hsl);\n\t\treturn this;\n\t},\n\n\tdarken: function (ratio) {\n\t\tvar hsl = this.values.hsl;\n\t\thsl[2] -= hsl[2] * ratio;\n\t\tthis.setValues('hsl', hsl);\n\t\treturn this;\n\t},\n\n\tsaturate: function (ratio) {\n\t\tvar hsl = this.values.hsl;\n\t\thsl[1] += hsl[1] * ratio;\n\t\tthis.setValues('hsl', hsl);\n\t\treturn this;\n\t},\n\n\tdesaturate: function (ratio) {\n\t\tvar hsl = this.values.hsl;\n\t\thsl[1] -= hsl[1] * ratio;\n\t\tthis.setValues('hsl', hsl);\n\t\treturn this;\n\t},\n\n\twhiten: function (ratio) {\n\t\tvar hwb = this.values.hwb;\n\t\thwb[1] += hwb[1] * ratio;\n\t\tthis.setValues('hwb', hwb);\n\t\treturn this;\n\t},\n\n\tblacken: function (ratio) {\n\t\tvar hwb = this.values.hwb;\n\t\thwb[2] += hwb[2] * ratio;\n\t\tthis.setValues('hwb', hwb);\n\t\treturn this;\n\t},\n\n\tgreyscale: function () {\n\t\tvar rgb = this.values.rgb;\n\t\t// http://en.wikipedia.org/wiki/Grayscale#Converting_color_to_grayscale\n\t\tvar val = rgb[0] * 0.3 + rgb[1] * 0.59 + rgb[2] * 0.11;\n\t\tthis.setValues('rgb', [val, val, val]);\n\t\treturn this;\n\t},\n\n\tclearer: function (ratio) {\n\t\tvar alpha = this.values.alpha;\n\t\tthis.setValues('alpha', alpha - (alpha * ratio));\n\t\treturn this;\n\t},\n\n\topaquer: function (ratio) {\n\t\tvar alpha = this.values.alpha;\n\t\tthis.setValues('alpha', alpha + (alpha * ratio));\n\t\treturn this;\n\t},\n\n\trotate: function (degrees) {\n\t\tvar hsl = this.values.hsl;\n\t\tvar hue = (hsl[0] + degrees) % 360;\n\t\thsl[0] = hue < 0 ? 360 + hue : hue;\n\t\tthis.setValues('hsl', hsl);\n\t\treturn this;\n\t},\n\n\t/**\n\t * Ported from sass implementation in C\n\t * https://github.com/sass/libsass/blob/0e6b4a2850092356aa3ece07c6b249f0221caced/functions.cpp#L209\n\t */\n\tmix: function (mixinColor, weight) {\n\t\tvar color1 = this;\n\t\tvar color2 = mixinColor;\n\t\tvar p = weight === undefined ? 0.5 : weight;\n\n\t\tvar w = 2 * p - 1;\n\t\tvar a = color1.alpha() - color2.alpha();\n\n\t\tvar w1 = (((w * a === -1) ? w : (w + a) / (1 + w * a)) + 1) / 2.0;\n\t\tvar w2 = 1 - w1;\n\n\t\treturn this\n\t\t\t.rgb(\n\t\t\t\tw1 * color1.red() + w2 * color2.red(),\n\t\t\t\tw1 * color1.green() + w2 * color2.green(),\n\t\t\t\tw1 * color1.blue() + w2 * color2.blue()\n\t\t\t)\n\t\t\t.alpha(color1.alpha() * p + color2.alpha() * (1 - p));\n\t},\n\n\ttoJSON: function () {\n\t\treturn this.rgb();\n\t},\n\n\tclone: function () {\n\t\t// NOTE(SB): using node-clone creates a dependency to Buffer when using browserify,\n\t\t// making the final build way to big to embed in Chart.js. So let's do it manually,\n\t\t// assuming that values to clone are 1 dimension arrays containing only numbers,\n\t\t// except 'alpha' which is a number.\n\t\tvar result = new Color();\n\t\tvar source = this.values;\n\t\tvar target = result.values;\n\t\tvar value, type;\n\n\t\tfor (var prop in source) {\n\t\t\tif (source.hasOwnProperty(prop)) {\n\t\t\t\tvalue = source[prop];\n\t\t\t\ttype = ({}).toString.call(value);\n\t\t\t\tif (type === '[object Array]') {\n\t\t\t\t\ttarget[prop] = value.slice(0);\n\t\t\t\t} else if (type === '[object Number]') {\n\t\t\t\t\ttarget[prop] = value;\n\t\t\t\t} else {\n\t\t\t\t\tconsole.error('unexpected color value:', value);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn result;\n\t}\n};\n\nColor.prototype.spaces = {\n\trgb: ['red', 'green', 'blue'],\n\thsl: ['hue', 'saturation', 'lightness'],\n\thsv: ['hue', 'saturation', 'value'],\n\thwb: ['hue', 'whiteness', 'blackness'],\n\tcmyk: ['cyan', 'magenta', 'yellow', 'black']\n};\n\nColor.prototype.maxes = {\n\trgb: [255, 255, 255],\n\thsl: [360, 100, 100],\n\thsv: [360, 100, 100],\n\thwb: [360, 100, 100],\n\tcmyk: [100, 100, 100, 100]\n};\n\nColor.prototype.getValues = function (space) {\n\tvar values = this.values;\n\tvar vals = {};\n\n\tfor (var i = 0; i < space.length; i++) {\n\t\tvals[space.charAt(i)] = values[space][i];\n\t}\n\n\tif (values.alpha !== 1) {\n\t\tvals.a = values.alpha;\n\t}\n\n\t// {r: 255, g: 255, b: 255, a: 0.4}\n\treturn vals;\n};\n\nColor.prototype.setValues = function (space, vals) {\n\tvar values = this.values;\n\tvar spaces = this.spaces;\n\tvar maxes = this.maxes;\n\tvar alpha = 1;\n\tvar i;\n\n\tthis.valid = true;\n\n\tif (space === 'alpha') {\n\t\talpha = vals;\n\t} else if (vals.length) {\n\t\t// [10, 10, 10]\n\t\tvalues[space] = vals.slice(0, space.length);\n\t\talpha = vals[space.length];\n\t} else if (vals[space.charAt(0)] !== undefined) {\n\t\t// {r: 10, g: 10, b: 10}\n\t\tfor (i = 0; i < space.length; i++) {\n\t\t\tvalues[space][i] = vals[space.charAt(i)];\n\t\t}\n\n\t\talpha = vals.a;\n\t} else if (vals[spaces[space][0]] !== undefined) {\n\t\t// {red: 10, green: 10, blue: 10}\n\t\tvar chans = spaces[space];\n\n\t\tfor (i = 0; i < space.length; i++) {\n\t\t\tvalues[space][i] = vals[chans[i]];\n\t\t}\n\n\t\talpha = vals.alpha;\n\t}\n\n\tvalues.alpha = Math.max(0, Math.min(1, (alpha === undefined ? values.alpha : alpha)));\n\n\tif (space === 'alpha') {\n\t\treturn false;\n\t}\n\n\tvar capped;\n\n\t// cap values of the space prior converting all values\n\tfor (i = 0; i < space.length; i++) {\n\t\tcapped = Math.max(0, Math.min(maxes[space][i], values[space][i]));\n\t\tvalues[space][i] = Math.round(capped);\n\t}\n\n\t// convert to all the other color spaces\n\tfor (var sname in spaces) {\n\t\tif (sname !== space) {\n\t\t\tvalues[sname] = colorConvert[space][sname](values[space]);\n\t\t}\n\t}\n\n\treturn true;\n};\n\nColor.prototype.setSpace = function (space, args) {\n\tvar vals = args[0];\n\n\tif (vals === undefined) {\n\t\t// color.rgb()\n\t\treturn this.getValues(space);\n\t}\n\n\t// color.rgb(10, 10, 10)\n\tif (typeof vals === 'number') {\n\t\tvals = Array.prototype.slice.call(args);\n\t}\n\n\tthis.setValues(space, vals);\n\treturn this;\n};\n\nColor.prototype.setChannel = function (space, index, val) {\n\tvar svalues = this.values[space];\n\tif (val === undefined) {\n\t\t// color.red()\n\t\treturn svalues[index];\n\t} else if (val === svalues[index]) {\n\t\t// color.red(color.red())\n\t\treturn this;\n\t}\n\n\t// color.red(100)\n\tsvalues[index] = val;\n\tthis.setValues(space, svalues);\n\n\treturn this;\n};\n\nif (typeof window !== 'undefined') {\n\twindow.Color = Color;\n}\n\nvar chartjsColor = Color;\n\nfunction isValidKey(key) {\r\n\treturn ['__proto__', 'prototype', 'constructor'].indexOf(key) === -1;\r\n}\r\n\r\n/**\r\n * @namespace Chart.helpers\r\n */\r\nvar helpers = {\r\n\t/**\r\n\t * An empty function that can be used, for example, for optional callback.\r\n\t */\r\n\tnoop: function() {},\r\n\r\n\t/**\r\n\t * Returns a unique id, sequentially generated from a global variable.\r\n\t * @returns {number}\r\n\t * @function\r\n\t */\r\n\tuid: (function() {\r\n\t\tvar id = 0;\r\n\t\treturn function() {\r\n\t\t\treturn id++;\r\n\t\t};\r\n\t}()),\r\n\r\n\t/**\r\n\t * Returns true if `value` is neither null nor undefined, else returns false.\r\n\t * @param {*} value - The value to test.\r\n\t * @returns {boolean}\r\n\t * @since 2.7.0\r\n\t */\r\n\tisNullOrUndef: function(value) {\r\n\t\treturn value === null || typeof value === 'undefined';\r\n\t},\r\n\r\n\t/**\r\n\t * Returns true if `value` is an array (including typed arrays), else returns false.\r\n\t * @param {*} value - The value to test.\r\n\t * @returns {boolean}\r\n\t * @function\r\n\t */\r\n\tisArray: function(value) {\r\n\t\tif (Array.isArray && Array.isArray(value)) {\r\n\t\t\treturn true;\r\n\t\t}\r\n\t\tvar type = Object.prototype.toString.call(value);\r\n\t\tif (type.substr(0, 7) === '[object' && type.substr(-6) === 'Array]') {\r\n\t\t\treturn true;\r\n\t\t}\r\n\t\treturn false;\r\n\t},\r\n\r\n\t/**\r\n\t * Returns true if `value` is an object (excluding null), else returns false.\r\n\t * @param {*} value - The value to test.\r\n\t * @returns {boolean}\r\n\t * @since 2.7.0\r\n\t */\r\n\tisObject: function(value) {\r\n\t\treturn value !== null && Object.prototype.toString.call(value) === '[object Object]';\r\n\t},\r\n\r\n\t/**\r\n\t * Returns true if `value` is a finite number, else returns false\r\n\t * @param {*} value - The value to test.\r\n\t * @returns {boolean}\r\n\t */\r\n\tisFinite: function(value) {\r\n\t\treturn (typeof value === 'number' || value instanceof Number) && isFinite(value);\r\n\t},\r\n\r\n\t/**\r\n\t * Returns `value` if defined, else returns `defaultValue`.\r\n\t * @param {*} value - The value to return if defined.\r\n\t * @param {*} defaultValue - The value to return if `value` is undefined.\r\n\t * @returns {*}\r\n\t */\r\n\tvalueOrDefault: function(value, defaultValue) {\r\n\t\treturn typeof value === 'undefined' ? defaultValue : value;\r\n\t},\r\n\r\n\t/**\r\n\t * Returns value at the given `index` in array if defined, else returns `defaultValue`.\r\n\t * @param {Array} value - The array to lookup for value at `index`.\r\n\t * @param {number} index - The index in `value` to lookup for value.\r\n\t * @param {*} defaultValue - The value to return if `value[index]` is undefined.\r\n\t * @returns {*}\r\n\t */\r\n\tvalueAtIndexOrDefault: function(value, index, defaultValue) {\r\n\t\treturn helpers.valueOrDefault(helpers.isArray(value) ? value[index] : value, defaultValue);\r\n\t},\r\n\r\n\t/**\r\n\t * Calls `fn` with the given `args` in the scope defined by `thisArg` and returns the\r\n\t * value returned by `fn`. If `fn` is not a function, this method returns undefined.\r\n\t * @param {function} fn - The function to call.\r\n\t * @param {Array|undefined|null} args - The arguments with which `fn` should be called.\r\n\t * @param {object} [thisArg] - The value of `this` provided for the call to `fn`.\r\n\t * @returns {*}\r\n\t */\r\n\tcallback: function(fn, args, thisArg) {\r\n\t\tif (fn && typeof fn.call === 'function') {\r\n\t\t\treturn fn.apply(thisArg, args);\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * Note(SB) for performance sake, this method should only be used when loopable type\r\n\t * is unknown or in none intensive code (not called often and small loopable). Else\r\n\t * it's preferable to use a regular for() loop and save extra function calls.\r\n\t * @param {object|Array} loopable - The object or array to be iterated.\r\n\t * @param {function} fn - The function to call for each item.\r\n\t * @param {object} [thisArg] - The value of `this` provided for the call to `fn`.\r\n\t * @param {boolean} [reverse] - If true, iterates backward on the loopable.\r\n\t */\r\n\teach: function(loopable, fn, thisArg, reverse) {\r\n\t\tvar i, len, keys;\r\n\t\tif (helpers.isArray(loopable)) {\r\n\t\t\tlen = loopable.length;\r\n\t\t\tif (reverse) {\r\n\t\t\t\tfor (i = len - 1; i >= 0; i--) {\r\n\t\t\t\t\tfn.call(thisArg, loopable[i], i);\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tfor (i = 0; i < len; i++) {\r\n\t\t\t\t\tfn.call(thisArg, loopable[i], i);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t} else if (helpers.isObject(loopable)) {\r\n\t\t\tkeys = Object.keys(loopable);\r\n\t\t\tlen = keys.length;\r\n\t\t\tfor (i = 0; i < len; i++) {\r\n\t\t\t\tfn.call(thisArg, loopable[keys[i]], keys[i]);\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * Returns true if the `a0` and `a1` arrays have the same content, else returns false.\r\n\t * @see https://stackoverflow.com/a/14853974\r\n\t * @param {Array} a0 - The array to compare\r\n\t * @param {Array} a1 - The array to compare\r\n\t * @returns {boolean}\r\n\t */\r\n\tarrayEquals: function(a0, a1) {\r\n\t\tvar i, ilen, v0, v1;\r\n\r\n\t\tif (!a0 || !a1 || a0.length !== a1.length) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\tfor (i = 0, ilen = a0.length; i < ilen; ++i) {\r\n\t\t\tv0 = a0[i];\r\n\t\t\tv1 = a1[i];\r\n\r\n\t\t\tif (v0 instanceof Array && v1 instanceof Array) {\r\n\t\t\t\tif (!helpers.arrayEquals(v0, v1)) {\r\n\t\t\t\t\treturn false;\r\n\t\t\t\t}\r\n\t\t\t} else if (v0 !== v1) {\r\n\t\t\t\t// NOTE: two different object instances will never be equal: {x:20} != {x:20}\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn true;\r\n\t},\r\n\r\n\t/**\r\n\t * Returns a deep copy of `source` without keeping references on objects and arrays.\r\n\t * @param {*} source - The value to clone.\r\n\t * @returns {*}\r\n\t */\r\n\tclone: function(source) {\r\n\t\tif (helpers.isArray(source)) {\r\n\t\t\treturn source.map(helpers.clone);\r\n\t\t}\r\n\r\n\t\tif (helpers.isObject(source)) {\r\n\t\t\tvar target = Object.create(source);\r\n\t\t\tvar keys = Object.keys(source);\r\n\t\t\tvar klen = keys.length;\r\n\t\t\tvar k = 0;\r\n\r\n\t\t\tfor (; k < klen; ++k) {\r\n\t\t\t\ttarget[keys[k]] = helpers.clone(source[keys[k]]);\r\n\t\t\t}\r\n\r\n\t\t\treturn target;\r\n\t\t}\r\n\r\n\t\treturn source;\r\n\t},\r\n\r\n\t/**\r\n\t * The default merger when Chart.helpers.merge is called without merger option.\r\n\t * Note(SB): also used by mergeConfig and mergeScaleConfig as fallback.\r\n\t * @private\r\n\t */\r\n\t_merger: function(key, target, source, options) {\r\n\t\tif (!isValidKey(key)) {\r\n\t\t\t// We want to ensure we do not copy prototypes over\r\n\t\t\t// as this can pollute global namespaces\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tvar tval = target[key];\r\n\t\tvar sval = source[key];\r\n\r\n\t\tif (helpers.isObject(tval) && helpers.isObject(sval)) {\r\n\t\t\thelpers.merge(tval, sval, options);\r\n\t\t} else {\r\n\t\t\ttarget[key] = helpers.clone(sval);\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * Merges source[key] in target[key] only if target[key] is undefined.\r\n\t * @private\r\n\t */\r\n\t_mergerIf: function(key, target, source) {\r\n\t\tif (!isValidKey(key)) {\r\n\t\t\t// We want to ensure we do not copy prototypes over\r\n\t\t\t// as this can pollute global namespaces\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tvar tval = target[key];\r\n\t\tvar sval = source[key];\r\n\r\n\t\tif (helpers.isObject(tval) && helpers.isObject(sval)) {\r\n\t\t\thelpers.mergeIf(tval, sval);\r\n\t\t} else if (!target.hasOwnProperty(key)) {\r\n\t\t\ttarget[key] = helpers.clone(sval);\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * Recursively deep copies `source` properties into `target` with the given `options`.\r\n\t * IMPORTANT: `target` is not cloned and will be updated with `source` properties.\r\n\t * @param {object} target - The target object in which all sources are merged into.\r\n\t * @param {object|object[]} source - Object(s) to merge into `target`.\r\n\t * @param {object} [options] - Merging options:\r\n\t * @param {function} [options.merger] - The merge method (key, target, source, options)\r\n\t * @returns {object} The `target` object.\r\n\t */\r\n\tmerge: function(target, source, options) {\r\n\t\tvar sources = helpers.isArray(source) ? source : [source];\r\n\t\tvar ilen = sources.length;\r\n\t\tvar merge, i, keys, klen, k;\r\n\r\n\t\tif (!helpers.isObject(target)) {\r\n\t\t\treturn target;\r\n\t\t}\r\n\r\n\t\toptions = options || {};\r\n\t\tmerge = options.merger || helpers._merger;\r\n\r\n\t\tfor (i = 0; i < ilen; ++i) {\r\n\t\t\tsource = sources[i];\r\n\t\t\tif (!helpers.isObject(source)) {\r\n\t\t\t\tcontinue;\r\n\t\t\t}\r\n\r\n\t\t\tkeys = Object.keys(source);\r\n\t\t\tfor (k = 0, klen = keys.length; k < klen; ++k) {\r\n\t\t\t\tmerge(keys[k], target, source, options);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn target;\r\n\t},\r\n\r\n\t/**\r\n\t * Recursively deep copies `source` properties into `target` *only* if not defined in target.\r\n\t * IMPORTANT: `target` is not cloned and will be updated with `source` properties.\r\n\t * @param {object} target - The target object in which all sources are merged into.\r\n\t * @param {object|object[]} source - Object(s) to merge into `target`.\r\n\t * @returns {object} The `target` object.\r\n\t */\r\n\tmergeIf: function(target, source) {\r\n\t\treturn helpers.merge(target, source, {merger: helpers._mergerIf});\r\n\t},\r\n\r\n\t/**\r\n\t * Applies the contents of two or more objects together into the first object.\r\n\t * @param {object} target - The target object in which all objects are merged into.\r\n\t * @param {object} arg1 - Object containing additional properties to merge in target.\r\n\t * @param {object} argN - Additional objects containing properties to merge in target.\r\n\t * @returns {object} The `target` object.\r\n\t */\r\n\textend: Object.assign || function(target) {\r\n\t\treturn helpers.merge(target, [].slice.call(arguments, 1), {\r\n\t\t\tmerger: function(key, dst, src) {\r\n\t\t\t\tdst[key] = src[key];\r\n\t\t\t}\r\n\t\t});\r\n\t},\r\n\r\n\t/**\r\n\t * Basic javascript inheritance based on the model created in Backbone.js\r\n\t */\r\n\tinherits: function(extensions) {\r\n\t\tvar me = this;\r\n\t\tvar ChartElement = (extensions && extensions.hasOwnProperty('constructor')) ? extensions.constructor : function() {\r\n\t\t\treturn me.apply(this, arguments);\r\n\t\t};\r\n\r\n\t\tvar Surrogate = function() {\r\n\t\t\tthis.constructor = ChartElement;\r\n\t\t};\r\n\r\n\t\tSurrogate.prototype = me.prototype;\r\n\t\tChartElement.prototype = new Surrogate();\r\n\t\tChartElement.extend = helpers.inherits;\r\n\r\n\t\tif (extensions) {\r\n\t\t\thelpers.extend(ChartElement.prototype, extensions);\r\n\t\t}\r\n\r\n\t\tChartElement.__super__ = me.prototype;\r\n\t\treturn ChartElement;\r\n\t},\r\n\r\n\t_deprecated: function(scope, value, previous, current) {\r\n\t\tif (value !== undefined) {\r\n\t\t\tconsole.warn(scope + ': \"' + previous +\r\n\t\t\t\t'\" is deprecated. Please use \"' + current + '\" instead');\r\n\t\t}\r\n\t}\r\n};\r\n\r\nvar helpers_core = helpers;\r\n\r\n// DEPRECATIONS\r\n\r\n/**\r\n * Provided for backward compatibility, use Chart.helpers.callback instead.\r\n * @function Chart.helpers.callCallback\r\n * @deprecated since version 2.6.0\r\n * @todo remove at version 3\r\n * @private\r\n */\r\nhelpers.callCallback = helpers.callback;\r\n\r\n/**\r\n * Provided for backward compatibility, use Array.prototype.indexOf instead.\r\n * Array.prototype.indexOf compatibility: Chrome, Opera, Safari, FF1.5+, IE9+\r\n * @function Chart.helpers.indexOf\r\n * @deprecated since version 2.7.0\r\n * @todo remove at version 3\r\n * @private\r\n */\r\nhelpers.indexOf = function(array, item, fromIndex) {\r\n\treturn Array.prototype.indexOf.call(array, item, fromIndex);\r\n};\r\n\r\n/**\r\n * Provided for backward compatibility, use Chart.helpers.valueOrDefault instead.\r\n * @function Chart.helpers.getValueOrDefault\r\n * @deprecated since version 2.7.0\r\n * @todo remove at version 3\r\n * @private\r\n */\r\nhelpers.getValueOrDefault = helpers.valueOrDefault;\r\n\r\n/**\r\n * Provided for backward compatibility, use Chart.helpers.valueAtIndexOrDefault instead.\r\n * @function Chart.helpers.getValueAtIndexOrDefault\r\n * @deprecated since version 2.7.0\r\n * @todo remove at version 3\r\n * @private\r\n */\r\nhelpers.getValueAtIndexOrDefault = helpers.valueAtIndexOrDefault;\n\n/**\r\n * Easing functions adapted from Robert Penner's easing equations.\r\n * @namespace Chart.helpers.easingEffects\r\n * @see http://www.robertpenner.com/easing/\r\n */\r\nvar effects = {\r\n\tlinear: function(t) {\r\n\t\treturn t;\r\n\t},\r\n\r\n\teaseInQuad: function(t) {\r\n\t\treturn t * t;\r\n\t},\r\n\r\n\teaseOutQuad: function(t) {\r\n\t\treturn -t * (t - 2);\r\n\t},\r\n\r\n\teaseInOutQuad: function(t) {\r\n\t\tif ((t /= 0.5) < 1) {\r\n\t\t\treturn 0.5 * t * t;\r\n\t\t}\r\n\t\treturn -0.5 * ((--t) * (t - 2) - 1);\r\n\t},\r\n\r\n\teaseInCubic: function(t) {\r\n\t\treturn t * t * t;\r\n\t},\r\n\r\n\teaseOutCubic: function(t) {\r\n\t\treturn (t = t - 1) * t * t + 1;\r\n\t},\r\n\r\n\teaseInOutCubic: function(t) {\r\n\t\tif ((t /= 0.5) < 1) {\r\n\t\t\treturn 0.5 * t * t * t;\r\n\t\t}\r\n\t\treturn 0.5 * ((t -= 2) * t * t + 2);\r\n\t},\r\n\r\n\teaseInQuart: function(t) {\r\n\t\treturn t * t * t * t;\r\n\t},\r\n\r\n\teaseOutQuart: function(t) {\r\n\t\treturn -((t = t - 1) * t * t * t - 1);\r\n\t},\r\n\r\n\teaseInOutQuart: function(t) {\r\n\t\tif ((t /= 0.5) < 1) {\r\n\t\t\treturn 0.5 * t * t * t * t;\r\n\t\t}\r\n\t\treturn -0.5 * ((t -= 2) * t * t * t - 2);\r\n\t},\r\n\r\n\teaseInQuint: function(t) {\r\n\t\treturn t * t * t * t * t;\r\n\t},\r\n\r\n\teaseOutQuint: function(t) {\r\n\t\treturn (t = t - 1) * t * t * t * t + 1;\r\n\t},\r\n\r\n\teaseInOutQuint: function(t) {\r\n\t\tif ((t /= 0.5) < 1) {\r\n\t\t\treturn 0.5 * t * t * t * t * t;\r\n\t\t}\r\n\t\treturn 0.5 * ((t -= 2) * t * t * t * t + 2);\r\n\t},\r\n\r\n\teaseInSine: function(t) {\r\n\t\treturn -Math.cos(t * (Math.PI / 2)) + 1;\r\n\t},\r\n\r\n\teaseOutSine: function(t) {\r\n\t\treturn Math.sin(t * (Math.PI / 2));\r\n\t},\r\n\r\n\teaseInOutSine: function(t) {\r\n\t\treturn -0.5 * (Math.cos(Math.PI * t) - 1);\r\n\t},\r\n\r\n\teaseInExpo: function(t) {\r\n\t\treturn (t === 0) ? 0 : Math.pow(2, 10 * (t - 1));\r\n\t},\r\n\r\n\teaseOutExpo: function(t) {\r\n\t\treturn (t === 1) ? 1 : -Math.pow(2, -10 * t) + 1;\r\n\t},\r\n\r\n\teaseInOutExpo: function(t) {\r\n\t\tif (t === 0) {\r\n\t\t\treturn 0;\r\n\t\t}\r\n\t\tif (t === 1) {\r\n\t\t\treturn 1;\r\n\t\t}\r\n\t\tif ((t /= 0.5) < 1) {\r\n\t\t\treturn 0.5 * Math.pow(2, 10 * (t - 1));\r\n\t\t}\r\n\t\treturn 0.5 * (-Math.pow(2, -10 * --t) + 2);\r\n\t},\r\n\r\n\teaseInCirc: function(t) {\r\n\t\tif (t >= 1) {\r\n\t\t\treturn t;\r\n\t\t}\r\n\t\treturn -(Math.sqrt(1 - t * t) - 1);\r\n\t},\r\n\r\n\teaseOutCirc: function(t) {\r\n\t\treturn Math.sqrt(1 - (t = t - 1) * t);\r\n\t},\r\n\r\n\teaseInOutCirc: function(t) {\r\n\t\tif ((t /= 0.5) < 1) {\r\n\t\t\treturn -0.5 * (Math.sqrt(1 - t * t) - 1);\r\n\t\t}\r\n\t\treturn 0.5 * (Math.sqrt(1 - (t -= 2) * t) + 1);\r\n\t},\r\n\r\n\teaseInElastic: function(t) {\r\n\t\tvar s = 1.70158;\r\n\t\tvar p = 0;\r\n\t\tvar a = 1;\r\n\t\tif (t === 0) {\r\n\t\t\treturn 0;\r\n\t\t}\r\n\t\tif (t === 1) {\r\n\t\t\treturn 1;\r\n\t\t}\r\n\t\tif (!p) {\r\n\t\t\tp = 0.3;\r\n\t\t}\r\n\t\tif (a < 1) {\r\n\t\t\ta = 1;\r\n\t\t\ts = p / 4;\r\n\t\t} else {\r\n\t\t\ts = p / (2 * Math.PI) * Math.asin(1 / a);\r\n\t\t}\r\n\t\treturn -(a * Math.pow(2, 10 * (t -= 1)) * Math.sin((t - s) * (2 * Math.PI) / p));\r\n\t},\r\n\r\n\teaseOutElastic: function(t) {\r\n\t\tvar s = 1.70158;\r\n\t\tvar p = 0;\r\n\t\tvar a = 1;\r\n\t\tif (t === 0) {\r\n\t\t\treturn 0;\r\n\t\t}\r\n\t\tif (t === 1) {\r\n\t\t\treturn 1;\r\n\t\t}\r\n\t\tif (!p) {\r\n\t\t\tp = 0.3;\r\n\t\t}\r\n\t\tif (a < 1) {\r\n\t\t\ta = 1;\r\n\t\t\ts = p / 4;\r\n\t\t} else {\r\n\t\t\ts = p / (2 * Math.PI) * Math.asin(1 / a);\r\n\t\t}\r\n\t\treturn a * Math.pow(2, -10 * t) * Math.sin((t - s) * (2 * Math.PI) / p) + 1;\r\n\t},\r\n\r\n\teaseInOutElastic: function(t) {\r\n\t\tvar s = 1.70158;\r\n\t\tvar p = 0;\r\n\t\tvar a = 1;\r\n\t\tif (t === 0) {\r\n\t\t\treturn 0;\r\n\t\t}\r\n\t\tif ((t /= 0.5) === 2) {\r\n\t\t\treturn 1;\r\n\t\t}\r\n\t\tif (!p) {\r\n\t\t\tp = 0.45;\r\n\t\t}\r\n\t\tif (a < 1) {\r\n\t\t\ta = 1;\r\n\t\t\ts = p / 4;\r\n\t\t} else {\r\n\t\t\ts = p / (2 * Math.PI) * Math.asin(1 / a);\r\n\t\t}\r\n\t\tif (t < 1) {\r\n\t\t\treturn -0.5 * (a * Math.pow(2, 10 * (t -= 1)) * Math.sin((t - s) * (2 * Math.PI) / p));\r\n\t\t}\r\n\t\treturn a * Math.pow(2, -10 * (t -= 1)) * Math.sin((t - s) * (2 * Math.PI) / p) * 0.5 + 1;\r\n\t},\r\n\teaseInBack: function(t) {\r\n\t\tvar s = 1.70158;\r\n\t\treturn t * t * ((s + 1) * t - s);\r\n\t},\r\n\r\n\teaseOutBack: function(t) {\r\n\t\tvar s = 1.70158;\r\n\t\treturn (t = t - 1) * t * ((s + 1) * t + s) + 1;\r\n\t},\r\n\r\n\teaseInOutBack: function(t) {\r\n\t\tvar s = 1.70158;\r\n\t\tif ((t /= 0.5) < 1) {\r\n\t\t\treturn 0.5 * (t * t * (((s *= (1.525)) + 1) * t - s));\r\n\t\t}\r\n\t\treturn 0.5 * ((t -= 2) * t * (((s *= (1.525)) + 1) * t + s) + 2);\r\n\t},\r\n\r\n\teaseInBounce: function(t) {\r\n\t\treturn 1 - effects.easeOutBounce(1 - t);\r\n\t},\r\n\r\n\teaseOutBounce: function(t) {\r\n\t\tif (t < (1 / 2.75)) {\r\n\t\t\treturn 7.5625 * t * t;\r\n\t\t}\r\n\t\tif (t < (2 / 2.75)) {\r\n\t\t\treturn 7.5625 * (t -= (1.5 / 2.75)) * t + 0.75;\r\n\t\t}\r\n\t\tif (t < (2.5 / 2.75)) {\r\n\t\t\treturn 7.5625 * (t -= (2.25 / 2.75)) * t + 0.9375;\r\n\t\t}\r\n\t\treturn 7.5625 * (t -= (2.625 / 2.75)) * t + 0.984375;\r\n\t},\r\n\r\n\teaseInOutBounce: function(t) {\r\n\t\tif (t < 0.5) {\r\n\t\t\treturn effects.easeInBounce(t * 2) * 0.5;\r\n\t\t}\r\n\t\treturn effects.easeOutBounce(t * 2 - 1) * 0.5 + 0.5;\r\n\t}\r\n};\r\n\r\nvar helpers_easing = {\r\n\teffects: effects\r\n};\r\n\r\n// DEPRECATIONS\r\n\r\n/**\r\n * Provided for backward compatibility, use Chart.helpers.easing.effects instead.\r\n * @function Chart.helpers.easingEffects\r\n * @deprecated since version 2.7.0\r\n * @todo remove at version 3\r\n * @private\r\n */\r\nhelpers_core.easingEffects = effects;\n\nvar PI = Math.PI;\r\nvar RAD_PER_DEG = PI / 180;\r\nvar DOUBLE_PI = PI * 2;\r\nvar HALF_PI = PI / 2;\r\nvar QUARTER_PI = PI / 4;\r\nvar TWO_THIRDS_PI = PI * 2 / 3;\r\n\r\n/**\r\n * @namespace Chart.helpers.canvas\r\n */\r\nvar exports$1 = {\r\n\t/**\r\n\t * Clears the entire canvas associated to the given `chart`.\r\n\t * @param {Chart} chart - The chart for which to clear the canvas.\r\n\t */\r\n\tclear: function(chart) {\r\n\t\tchart.ctx.clearRect(0, 0, chart.width, chart.height);\r\n\t},\r\n\r\n\t/**\r\n\t * Creates a \"path\" for a rectangle with rounded corners at position (x, y) with a\r\n\t * given size (width, height) and the same `radius` for all corners.\r\n\t * @param {CanvasRenderingContext2D} ctx - The canvas 2D Context.\r\n\t * @param {number} x - The x axis of the coordinate for the rectangle starting point.\r\n\t * @param {number} y - The y axis of the coordinate for the rectangle starting point.\r\n\t * @param {number} width - The rectangle's width.\r\n\t * @param {number} height - The rectangle's height.\r\n\t * @param {number} radius - The rounded amount (in pixels) for the four corners.\r\n\t * @todo handle `radius` as top-left, top-right, bottom-right, bottom-left array/object?\r\n\t */\r\n\troundedRect: function(ctx, x, y, width, height, radius) {\r\n\t\tif (radius) {\r\n\t\t\tvar r = Math.min(radius, height / 2, width / 2);\r\n\t\t\tvar left = x + r;\r\n\t\t\tvar top = y + r;\r\n\t\t\tvar right = x + width - r;\r\n\t\t\tvar bottom = y + height - r;\r\n\r\n\t\t\tctx.moveTo(x, top);\r\n\t\t\tif (left < right && top < bottom) {\r\n\t\t\t\tctx.arc(left, top, r, -PI, -HALF_PI);\r\n\t\t\t\tctx.arc(right, top, r, -HALF_PI, 0);\r\n\t\t\t\tctx.arc(right, bottom, r, 0, HALF_PI);\r\n\t\t\t\tctx.arc(left, bottom, r, HALF_PI, PI);\r\n\t\t\t} else if (left < right) {\r\n\t\t\t\tctx.moveTo(left, y);\r\n\t\t\t\tctx.arc(right, top, r, -HALF_PI, HALF_PI);\r\n\t\t\t\tctx.arc(left, top, r, HALF_PI, PI + HALF_PI);\r\n\t\t\t} else if (top < bottom) {\r\n\t\t\t\tctx.arc(left, top, r, -PI, 0);\r\n\t\t\t\tctx.arc(left, bottom, r, 0, PI);\r\n\t\t\t} else {\r\n\t\t\t\tctx.arc(left, top, r, -PI, PI);\r\n\t\t\t}\r\n\t\t\tctx.closePath();\r\n\t\t\tctx.moveTo(x, y);\r\n\t\t} else {\r\n\t\t\tctx.rect(x, y, width, height);\r\n\t\t}\r\n\t},\r\n\r\n\tdrawPoint: function(ctx, style, radius, x, y, rotation) {\r\n\t\tvar type, xOffset, yOffset, size, cornerRadius;\r\n\t\tvar rad = (rotation || 0) * RAD_PER_DEG;\r\n\r\n\t\tif (style && typeof style === 'object') {\r\n\t\t\ttype = style.toString();\r\n\t\t\tif (type === '[object HTMLImageElement]' || type === '[object HTMLCanvasElement]') {\r\n\t\t\t\tctx.save();\r\n\t\t\t\tctx.translate(x, y);\r\n\t\t\t\tctx.rotate(rad);\r\n\t\t\t\tctx.drawImage(style, -style.width / 2, -style.height / 2, style.width, style.height);\r\n\t\t\t\tctx.restore();\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (isNaN(radius) || radius <= 0) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tctx.beginPath();\r\n\r\n\t\tswitch (style) {\r\n\t\t// Default includes circle\r\n\t\tdefault:\r\n\t\t\tctx.arc(x, y, radius, 0, DOUBLE_PI);\r\n\t\t\tctx.closePath();\r\n\t\t\tbreak;\r\n\t\tcase 'triangle':\r\n\t\t\tctx.moveTo(x + Math.sin(rad) * radius, y - Math.cos(rad) * radius);\r\n\t\t\trad += TWO_THIRDS_PI;\r\n\t\t\tctx.lineTo(x + Math.sin(rad) * radius, y - Math.cos(rad) * radius);\r\n\t\t\trad += TWO_THIRDS_PI;\r\n\t\t\tctx.lineTo(x + Math.sin(rad) * radius, y - Math.cos(rad) * radius);\r\n\t\t\tctx.closePath();\r\n\t\t\tbreak;\r\n\t\tcase 'rectRounded':\r\n\t\t\t// NOTE: the rounded rect implementation changed to use `arc` instead of\r\n\t\t\t// `quadraticCurveTo` since it generates better results when rect is\r\n\t\t\t// almost a circle. 0.516 (instead of 0.5) produces results with visually\r\n\t\t\t// closer proportion to the previous impl and it is inscribed in the\r\n\t\t\t// circle with `radius`. For more details, see the following PRs:\r\n\t\t\t// https://github.com/chartjs/Chart.js/issues/5597\r\n\t\t\t// https://github.com/chartjs/Chart.js/issues/5858\r\n\t\t\tcornerRadius = radius * 0.516;\r\n\t\t\tsize = radius - cornerRadius;\r\n\t\t\txOffset = Math.cos(rad + QUARTER_PI) * size;\r\n\t\t\tyOffset = Math.sin(rad + QUARTER_PI) * size;\r\n\t\t\tctx.arc(x - xOffset, y - yOffset, cornerRadius, rad - PI, rad - HALF_PI);\r\n\t\t\tctx.arc(x + yOffset, y - xOffset, cornerRadius, rad - HALF_PI, rad);\r\n\t\t\tctx.arc(x + xOffset, y + yOffset, cornerRadius, rad, rad + HALF_PI);\r\n\t\t\tctx.arc(x - yOffset, y + xOffset, cornerRadius, rad + HALF_PI, rad + PI);\r\n\t\t\tctx.closePath();\r\n\t\t\tbreak;\r\n\t\tcase 'rect':\r\n\t\t\tif (!rotation) {\r\n\t\t\t\tsize = Math.SQRT1_2 * radius;\r\n\t\t\t\tctx.rect(x - size, y - size, 2 * size, 2 * size);\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t\trad += QUARTER_PI;\r\n\t\t\t/* falls through */\r\n\t\tcase 'rectRot':\r\n\t\t\txOffset = Math.cos(rad) * radius;\r\n\t\t\tyOffset = Math.sin(rad) * radius;\r\n\t\t\tctx.moveTo(x - xOffset, y - yOffset);\r\n\t\t\tctx.lineTo(x + yOffset, y - xOffset);\r\n\t\t\tctx.lineTo(x + xOffset, y + yOffset);\r\n\t\t\tctx.lineTo(x - yOffset, y + xOffset);\r\n\t\t\tctx.closePath();\r\n\t\t\tbreak;\r\n\t\tcase 'crossRot':\r\n\t\t\trad += QUARTER_PI;\r\n\t\t\t/* falls through */\r\n\t\tcase 'cross':\r\n\t\t\txOffset = Math.cos(rad) * radius;\r\n\t\t\tyOffset = Math.sin(rad) * radius;\r\n\t\t\tctx.moveTo(x - xOffset, y - yOffset);\r\n\t\t\tctx.lineTo(x + xOffset, y + yOffset);\r\n\t\t\tctx.moveTo(x + yOffset, y - xOffset);\r\n\t\t\tctx.lineTo(x - yOffset, y + xOffset);\r\n\t\t\tbreak;\r\n\t\tcase 'star':\r\n\t\t\txOffset = Math.cos(rad) * radius;\r\n\t\t\tyOffset = Math.sin(rad) * radius;\r\n\t\t\tctx.moveTo(x - xOffset, y - yOffset);\r\n\t\t\tctx.lineTo(x + xOffset, y + yOffset);\r\n\t\t\tctx.moveTo(x + yOffset, y - xOffset);\r\n\t\t\tctx.lineTo(x - yOffset, y + xOffset);\r\n\t\t\trad += QUARTER_PI;\r\n\t\t\txOffset = Math.cos(rad) * radius;\r\n\t\t\tyOffset = Math.sin(rad) * radius;\r\n\t\t\tctx.moveTo(x - xOffset, y - yOffset);\r\n\t\t\tctx.lineTo(x + xOffset, y + yOffset);\r\n\t\t\tctx.moveTo(x + yOffset, y - xOffset);\r\n\t\t\tctx.lineTo(x - yOffset, y + xOffset);\r\n\t\t\tbreak;\r\n\t\tcase 'line':\r\n\t\t\txOffset = Math.cos(rad) * radius;\r\n\t\t\tyOffset = Math.sin(rad) * radius;\r\n\t\t\tctx.moveTo(x - xOffset, y - yOffset);\r\n\t\t\tctx.lineTo(x + xOffset, y + yOffset);\r\n\t\t\tbreak;\r\n\t\tcase 'dash':\r\n\t\t\tctx.moveTo(x, y);\r\n\t\t\tctx.lineTo(x + Math.cos(rad) * radius, y + Math.sin(rad) * radius);\r\n\t\t\tbreak;\r\n\t\t}\r\n\r\n\t\tctx.fill();\r\n\t\tctx.stroke();\r\n\t},\r\n\r\n\t/**\r\n\t * Returns true if the point is inside the rectangle\r\n\t * @param {object} point - The point to test\r\n\t * @param {object} area - The rectangle\r\n\t * @returns {boolean}\r\n\t * @private\r\n\t */\r\n\t_isPointInArea: function(point, area) {\r\n\t\tvar epsilon = 1e-6; // 1e-6 is margin in pixels for accumulated error.\r\n\r\n\t\treturn point.x > area.left - epsilon && point.x < area.right + epsilon &&\r\n\t\t\tpoint.y > area.top - epsilon && point.y < area.bottom + epsilon;\r\n\t},\r\n\r\n\tclipArea: function(ctx, area) {\r\n\t\tctx.save();\r\n\t\tctx.beginPath();\r\n\t\tctx.rect(area.left, area.top, area.right - area.left, area.bottom - area.top);\r\n\t\tctx.clip();\r\n\t},\r\n\r\n\tunclipArea: function(ctx) {\r\n\t\tctx.restore();\r\n\t},\r\n\r\n\tlineTo: function(ctx, previous, target, flip) {\r\n\t\tvar stepped = target.steppedLine;\r\n\t\tif (stepped) {\r\n\t\t\tif (stepped === 'middle') {\r\n\t\t\t\tvar midpoint = (previous.x + target.x) / 2.0;\r\n\t\t\t\tctx.lineTo(midpoint, flip ? target.y : previous.y);\r\n\t\t\t\tctx.lineTo(midpoint, flip ? previous.y : target.y);\r\n\t\t\t} else if ((stepped === 'after' && !flip) || (stepped !== 'after' && flip)) {\r\n\t\t\t\tctx.lineTo(previous.x, target.y);\r\n\t\t\t} else {\r\n\t\t\t\tctx.lineTo(target.x, previous.y);\r\n\t\t\t}\r\n\t\t\tctx.lineTo(target.x, target.y);\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif (!target.tension) {\r\n\t\t\tctx.lineTo(target.x, target.y);\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tctx.bezierCurveTo(\r\n\t\t\tflip ? previous.controlPointPreviousX : previous.controlPointNextX,\r\n\t\t\tflip ? previous.controlPointPreviousY : previous.controlPointNextY,\r\n\t\t\tflip ? target.controlPointNextX : target.controlPointPreviousX,\r\n\t\t\tflip ? target.controlPointNextY : target.controlPointPreviousY,\r\n\t\t\ttarget.x,\r\n\t\t\ttarget.y);\r\n\t}\r\n};\r\n\r\nvar helpers_canvas = exports$1;\r\n\r\n// DEPRECATIONS\r\n\r\n/**\r\n * Provided for backward compatibility, use Chart.helpers.canvas.clear instead.\r\n * @namespace Chart.helpers.clear\r\n * @deprecated since version 2.7.0\r\n * @todo remove at version 3\r\n * @private\r\n */\r\nhelpers_core.clear = exports$1.clear;\r\n\r\n/**\r\n * Provided for backward compatibility, use Chart.helpers.canvas.roundedRect instead.\r\n * @namespace Chart.helpers.drawRoundedRectangle\r\n * @deprecated since version 2.7.0\r\n * @todo remove at version 3\r\n * @private\r\n */\r\nhelpers_core.drawRoundedRectangle = function(ctx) {\r\n\tctx.beginPath();\r\n\texports$1.roundedRect.apply(exports$1, arguments);\r\n};\n\nvar defaults = {\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_set: function(scope, values) {\r\n\t\treturn helpers_core.merge(this[scope] || (this[scope] = {}), values);\r\n\t}\r\n};\r\n\r\n// TODO(v3): remove 'global' from namespace. all default are global and\r\n// there's inconsistency around which options are under 'global'\r\ndefaults._set('global', {\r\n\tdefaultColor: 'rgba(0,0,0,0.1)',\r\n\tdefaultFontColor: '#666',\r\n\tdefaultFontFamily: \"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif\",\r\n\tdefaultFontSize: 12,\r\n\tdefaultFontStyle: 'normal',\r\n\tdefaultLineHeight: 1.2,\r\n\tshowLines: true\r\n});\r\n\r\nvar core_defaults = defaults;\n\nvar valueOrDefault = helpers_core.valueOrDefault;\r\n\r\n/**\r\n * Converts the given font object into a CSS font string.\r\n * @param {object} font - A font object.\r\n * @return {string} The CSS font string. See https://developer.mozilla.org/en-US/docs/Web/CSS/font\r\n * @private\r\n */\r\nfunction toFontString(font) {\r\n\tif (!font || helpers_core.isNullOrUndef(font.size) || helpers_core.isNullOrUndef(font.family)) {\r\n\t\treturn null;\r\n\t}\r\n\r\n\treturn (font.style ? font.style + ' ' : '')\r\n\t\t+ (font.weight ? font.weight + ' ' : '')\r\n\t\t+ font.size + 'px '\r\n\t\t+ font.family;\r\n}\r\n\r\n/**\r\n * @alias Chart.helpers.options\r\n * @namespace\r\n */\r\nvar helpers_options = {\r\n\t/**\r\n\t * Converts the given line height `value` in pixels for a specific font `size`.\r\n\t * @param {number|string} value - The lineHeight to parse (eg. 1.6, '14px', '75%', '1.6em').\r\n\t * @param {number} size - The font size (in pixels) used to resolve relative `value`.\r\n\t * @returns {number} The effective line height in pixels (size * 1.2 if value is invalid).\r\n\t * @see https://developer.mozilla.org/en-US/docs/Web/CSS/line-height\r\n\t * @since 2.7.0\r\n\t */\r\n\ttoLineHeight: function(value, size) {\r\n\t\tvar matches = ('' + value).match(/^(normal|(\\d+(?:\\.\\d+)?)(px|em|%)?)$/);\r\n\t\tif (!matches || matches[1] === 'normal') {\r\n\t\t\treturn size * 1.2;\r\n\t\t}\r\n\r\n\t\tvalue = +matches[2];\r\n\r\n\t\tswitch (matches[3]) {\r\n\t\tcase 'px':\r\n\t\t\treturn value;\r\n\t\tcase '%':\r\n\t\t\tvalue /= 100;\r\n\t\t\tbreak;\r\n\t\t}\r\n\r\n\t\treturn size * value;\r\n\t},\r\n\r\n\t/**\r\n\t * Converts the given value into a padding object with pre-computed width/height.\r\n\t * @param {number|object} value - If a number, set the value to all TRBL component,\r\n\t * else, if and object, use defined properties and sets undefined ones to 0.\r\n\t * @returns {object} The padding values (top, right, bottom, left, width, height)\r\n\t * @since 2.7.0\r\n\t */\r\n\ttoPadding: function(value) {\r\n\t\tvar t, r, b, l;\r\n\r\n\t\tif (helpers_core.isObject(value)) {\r\n\t\t\tt = +value.top || 0;\r\n\t\t\tr = +value.right || 0;\r\n\t\t\tb = +value.bottom || 0;\r\n\t\t\tl = +value.left || 0;\r\n\t\t} else {\r\n\t\t\tt = r = b = l = +value || 0;\r\n\t\t}\r\n\r\n\t\treturn {\r\n\t\t\ttop: t,\r\n\t\t\tright: r,\r\n\t\t\tbottom: b,\r\n\t\t\tleft: l,\r\n\t\t\theight: t + b,\r\n\t\t\twidth: l + r\r\n\t\t};\r\n\t},\r\n\r\n\t/**\r\n\t * Parses font options and returns the font object.\r\n\t * @param {object} options - A object that contains font options to be parsed.\r\n\t * @return {object} The font object.\r\n\t * @todo Support font.* options and renamed to toFont().\r\n\t * @private\r\n\t */\r\n\t_parseFont: function(options) {\r\n\t\tvar globalDefaults = core_defaults.global;\r\n\t\tvar size = valueOrDefault(options.fontSize, globalDefaults.defaultFontSize);\r\n\t\tvar font = {\r\n\t\t\tfamily: valueOrDefault(options.fontFamily, globalDefaults.defaultFontFamily),\r\n\t\t\tlineHeight: helpers_core.options.toLineHeight(valueOrDefault(options.lineHeight, globalDefaults.defaultLineHeight), size),\r\n\t\t\tsize: size,\r\n\t\t\tstyle: valueOrDefault(options.fontStyle, globalDefaults.defaultFontStyle),\r\n\t\t\tweight: null,\r\n\t\t\tstring: ''\r\n\t\t};\r\n\r\n\t\tfont.string = toFontString(font);\r\n\t\treturn font;\r\n\t},\r\n\r\n\t/**\r\n\t * Evaluates the given `inputs` sequentially and returns the first defined value.\r\n\t * @param {Array} inputs - An array of values, falling back to the last value.\r\n\t * @param {object} [context] - If defined and the current value is a function, the value\r\n\t * is called with `context` as first argument and the result becomes the new input.\r\n\t * @param {number} [index] - If defined and the current value is an array, the value\r\n\t * at `index` become the new input.\r\n\t * @param {object} [info] - object to return information about resolution in\r\n\t * @param {boolean} [info.cacheable] - Will be set to `false` if option is not cacheable.\r\n\t * @since 2.7.0\r\n\t */\r\n\tresolve: function(inputs, context, index, info) {\r\n\t\tvar cacheable = true;\r\n\t\tvar i, ilen, value;\r\n\r\n\t\tfor (i = 0, ilen = inputs.length; i < ilen; ++i) {\r\n\t\t\tvalue = inputs[i];\r\n\t\t\tif (value === undefined) {\r\n\t\t\t\tcontinue;\r\n\t\t\t}\r\n\t\t\tif (context !== undefined && typeof value === 'function') {\r\n\t\t\t\tvalue = value(context);\r\n\t\t\t\tcacheable = false;\r\n\t\t\t}\r\n\t\t\tif (index !== undefined && helpers_core.isArray(value)) {\r\n\t\t\t\tvalue = value[index];\r\n\t\t\t\tcacheable = false;\r\n\t\t\t}\r\n\t\t\tif (value !== undefined) {\r\n\t\t\t\tif (info && !cacheable) {\r\n\t\t\t\t\tinfo.cacheable = false;\r\n\t\t\t\t}\r\n\t\t\t\treturn value;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n};\n\n/**\r\n * @alias Chart.helpers.math\r\n * @namespace\r\n */\r\nvar exports$2 = {\r\n\t/**\r\n\t * Returns an array of factors sorted from 1 to sqrt(value)\r\n\t * @private\r\n\t */\r\n\t_factorize: function(value) {\r\n\t\tvar result = [];\r\n\t\tvar sqrt = Math.sqrt(value);\r\n\t\tvar i;\r\n\r\n\t\tfor (i = 1; i < sqrt; i++) {\r\n\t\t\tif (value % i === 0) {\r\n\t\t\t\tresult.push(i);\r\n\t\t\t\tresult.push(value / i);\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (sqrt === (sqrt | 0)) { // if value is a square number\r\n\t\t\tresult.push(sqrt);\r\n\t\t}\r\n\r\n\t\tresult.sort(function(a, b) {\r\n\t\t\treturn a - b;\r\n\t\t}).pop();\r\n\t\treturn result;\r\n\t},\r\n\r\n\tlog10: Math.log10 || function(x) {\r\n\t\tvar exponent = Math.log(x) * Math.LOG10E; // Math.LOG10E = 1 / Math.LN10.\r\n\t\t// Check for whole powers of 10,\r\n\t\t// which due to floating point rounding error should be corrected.\r\n\t\tvar powerOf10 = Math.round(exponent);\r\n\t\tvar isPowerOf10 = x === Math.pow(10, powerOf10);\r\n\r\n\t\treturn isPowerOf10 ? powerOf10 : exponent;\r\n\t}\r\n};\r\n\r\nvar helpers_math = exports$2;\r\n\r\n// DEPRECATIONS\r\n\r\n/**\r\n * Provided for backward compatibility, use Chart.helpers.math.log10 instead.\r\n * @namespace Chart.helpers.log10\r\n * @deprecated since version 2.9.0\r\n * @todo remove at version 3\r\n * @private\r\n */\r\nhelpers_core.log10 = exports$2.log10;\n\nvar getRtlAdapter = function(rectX, width) {\r\n\treturn {\r\n\t\tx: function(x) {\r\n\t\t\treturn rectX + rectX + width - x;\r\n\t\t},\r\n\t\tsetWidth: function(w) {\r\n\t\t\twidth = w;\r\n\t\t},\r\n\t\ttextAlign: function(align) {\r\n\t\t\tif (align === 'center') {\r\n\t\t\t\treturn align;\r\n\t\t\t}\r\n\t\t\treturn align === 'right' ? 'left' : 'right';\r\n\t\t},\r\n\t\txPlus: function(x, value) {\r\n\t\t\treturn x - value;\r\n\t\t},\r\n\t\tleftForLtr: function(x, itemWidth) {\r\n\t\t\treturn x - itemWidth;\r\n\t\t},\r\n\t};\r\n};\r\n\r\nvar getLtrAdapter = function() {\r\n\treturn {\r\n\t\tx: function(x) {\r\n\t\t\treturn x;\r\n\t\t},\r\n\t\tsetWidth: function(w) { // eslint-disable-line no-unused-vars\r\n\t\t},\r\n\t\ttextAlign: function(align) {\r\n\t\t\treturn align;\r\n\t\t},\r\n\t\txPlus: function(x, value) {\r\n\t\t\treturn x + value;\r\n\t\t},\r\n\t\tleftForLtr: function(x, _itemWidth) { // eslint-disable-line no-unused-vars\r\n\t\t\treturn x;\r\n\t\t},\r\n\t};\r\n};\r\n\r\nvar getAdapter = function(rtl, rectX, width) {\r\n\treturn rtl ? getRtlAdapter(rectX, width) : getLtrAdapter();\r\n};\r\n\r\nvar overrideTextDirection = function(ctx, direction) {\r\n\tvar style, original;\r\n\tif (direction === 'ltr' || direction === 'rtl') {\r\n\t\tstyle = ctx.canvas.style;\r\n\t\toriginal = [\r\n\t\t\tstyle.getPropertyValue('direction'),\r\n\t\t\tstyle.getPropertyPriority('direction'),\r\n\t\t];\r\n\r\n\t\tstyle.setProperty('direction', direction, 'important');\r\n\t\tctx.prevTextDirection = original;\r\n\t}\r\n};\r\n\r\nvar restoreTextDirection = function(ctx) {\r\n\tvar original = ctx.prevTextDirection;\r\n\tif (original !== undefined) {\r\n\t\tdelete ctx.prevTextDirection;\r\n\t\tctx.canvas.style.setProperty('direction', original[0], original[1]);\r\n\t}\r\n};\r\n\r\nvar helpers_rtl = {\r\n\tgetRtlAdapter: getAdapter,\r\n\toverrideTextDirection: overrideTextDirection,\r\n\trestoreTextDirection: restoreTextDirection,\r\n};\n\nvar helpers$1 = helpers_core;\r\nvar easing = helpers_easing;\r\nvar canvas = helpers_canvas;\r\nvar options = helpers_options;\r\nvar math = helpers_math;\r\nvar rtl = helpers_rtl;\nhelpers$1.easing = easing;\nhelpers$1.canvas = canvas;\nhelpers$1.options = options;\nhelpers$1.math = math;\nhelpers$1.rtl = rtl;\n\nfunction interpolate(start, view, model, ease) {\r\n\tvar keys = Object.keys(model);\r\n\tvar i, ilen, key, actual, origin, target, type, c0, c1;\r\n\r\n\tfor (i = 0, ilen = keys.length; i < ilen; ++i) {\r\n\t\tkey = keys[i];\r\n\r\n\t\ttarget = model[key];\r\n\r\n\t\t// if a value is added to the model after pivot() has been called, the view\r\n\t\t// doesn't contain it, so let's initialize the view to the target value.\r\n\t\tif (!view.hasOwnProperty(key)) {\r\n\t\t\tview[key] = target;\r\n\t\t}\r\n\r\n\t\tactual = view[key];\r\n\r\n\t\tif (actual === target || key[0] === '_') {\r\n\t\t\tcontinue;\r\n\t\t}\r\n\r\n\t\tif (!start.hasOwnProperty(key)) {\r\n\t\t\tstart[key] = actual;\r\n\t\t}\r\n\r\n\t\torigin = start[key];\r\n\r\n\t\ttype = typeof target;\r\n\r\n\t\tif (type === typeof origin) {\r\n\t\t\tif (type === 'string') {\r\n\t\t\t\tc0 = chartjsColor(origin);\r\n\t\t\t\tif (c0.valid) {\r\n\t\t\t\t\tc1 = chartjsColor(target);\r\n\t\t\t\t\tif (c1.valid) {\r\n\t\t\t\t\t\tview[key] = c1.mix(c0, ease).rgbString();\r\n\t\t\t\t\t\tcontinue;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t} else if (helpers$1.isFinite(origin) && helpers$1.isFinite(target)) {\r\n\t\t\t\tview[key] = origin + (target - origin) * ease;\r\n\t\t\t\tcontinue;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tview[key] = target;\r\n\t}\r\n}\r\n\r\nvar Element = function(configuration) {\r\n\thelpers$1.extend(this, configuration);\r\n\tthis.initialize.apply(this, arguments);\r\n};\r\n\r\nhelpers$1.extend(Element.prototype, {\r\n\t_type: undefined,\r\n\r\n\tinitialize: function() {\r\n\t\tthis.hidden = false;\r\n\t},\r\n\r\n\tpivot: function() {\r\n\t\tvar me = this;\r\n\t\tif (!me._view) {\r\n\t\t\tme._view = helpers$1.extend({}, me._model);\r\n\t\t}\r\n\t\tme._start = {};\r\n\t\treturn me;\r\n\t},\r\n\r\n\ttransition: function(ease) {\r\n\t\tvar me = this;\r\n\t\tvar model = me._model;\r\n\t\tvar start = me._start;\r\n\t\tvar view = me._view;\r\n\r\n\t\t// No animation -> No Transition\r\n\t\tif (!model || ease === 1) {\r\n\t\t\tme._view = helpers$1.extend({}, model);\r\n\t\t\tme._start = null;\r\n\t\t\treturn me;\r\n\t\t}\r\n\r\n\t\tif (!view) {\r\n\t\t\tview = me._view = {};\r\n\t\t}\r\n\r\n\t\tif (!start) {\r\n\t\t\tstart = me._start = {};\r\n\t\t}\r\n\r\n\t\tinterpolate(start, view, model, ease);\r\n\r\n\t\treturn me;\r\n\t},\r\n\r\n\ttooltipPosition: function() {\r\n\t\treturn {\r\n\t\t\tx: this._model.x,\r\n\t\t\ty: this._model.y\r\n\t\t};\r\n\t},\r\n\r\n\thasValue: function() {\r\n\t\treturn helpers$1.isNumber(this._model.x) && helpers$1.isNumber(this._model.y);\r\n\t}\r\n});\r\n\r\nElement.extend = helpers$1.inherits;\r\n\r\nvar core_element = Element;\n\nvar exports$3 = core_element.extend({\r\n\tchart: null, // the animation associated chart instance\r\n\tcurrentStep: 0, // the current animation step\r\n\tnumSteps: 60, // default number of steps\r\n\teasing: '', // the easing to use for this animation\r\n\trender: null, // render function used by the animation service\r\n\r\n\tonAnimationProgress: null, // user specified callback to fire on each step of the animation\r\n\tonAnimationComplete: null, // user specified callback to fire when the animation finishes\r\n});\r\n\r\nvar core_animation = exports$3;\r\n\r\n// DEPRECATIONS\r\n\r\n/**\r\n * Provided for backward compatibility, use Chart.Animation instead\r\n * @prop Chart.Animation#animationObject\r\n * @deprecated since version 2.6.0\r\n * @todo remove at version 3\r\n */\r\nObject.defineProperty(exports$3.prototype, 'animationObject', {\r\n\tget: function() {\r\n\t\treturn this;\r\n\t}\r\n});\r\n\r\n/**\r\n * Provided for backward compatibility, use Chart.Animation#chart instead\r\n * @prop Chart.Animation#chartInstance\r\n * @deprecated since version 2.6.0\r\n * @todo remove at version 3\r\n */\r\nObject.defineProperty(exports$3.prototype, 'chartInstance', {\r\n\tget: function() {\r\n\t\treturn this.chart;\r\n\t},\r\n\tset: function(value) {\r\n\t\tthis.chart = value;\r\n\t}\r\n});\n\ncore_defaults._set('global', {\r\n\tanimation: {\r\n\t\tduration: 1000,\r\n\t\teasing: 'easeOutQuart',\r\n\t\tonProgress: helpers$1.noop,\r\n\t\tonComplete: helpers$1.noop\r\n\t}\r\n});\r\n\r\nvar core_animations = {\r\n\tanimations: [],\r\n\trequest: null,\r\n\r\n\t/**\r\n\t * @param {Chart} chart - The chart to animate.\r\n\t * @param {Chart.Animation} animation - The animation that we will animate.\r\n\t * @param {number} duration - The animation duration in ms.\r\n\t * @param {boolean} lazy - if true, the chart is not marked as animating to enable more responsive interactions\r\n\t */\r\n\taddAnimation: function(chart, animation, duration, lazy) {\r\n\t\tvar animations = this.animations;\r\n\t\tvar i, ilen;\r\n\r\n\t\tanimation.chart = chart;\r\n\t\tanimation.startTime = Date.now();\r\n\t\tanimation.duration = duration;\r\n\r\n\t\tif (!lazy) {\r\n\t\t\tchart.animating = true;\r\n\t\t}\r\n\r\n\t\tfor (i = 0, ilen = animations.length; i < ilen; ++i) {\r\n\t\t\tif (animations[i].chart === chart) {\r\n\t\t\t\tanimations[i] = animation;\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tanimations.push(animation);\r\n\r\n\t\t// If there are no animations queued, manually kickstart a digest, for lack of a better word\r\n\t\tif (animations.length === 1) {\r\n\t\t\tthis.requestAnimationFrame();\r\n\t\t}\r\n\t},\r\n\r\n\tcancelAnimation: function(chart) {\r\n\t\tvar index = helpers$1.findIndex(this.animations, function(animation) {\r\n\t\t\treturn animation.chart === chart;\r\n\t\t});\r\n\r\n\t\tif (index !== -1) {\r\n\t\t\tthis.animations.splice(index, 1);\r\n\t\t\tchart.animating = false;\r\n\t\t}\r\n\t},\r\n\r\n\trequestAnimationFrame: function() {\r\n\t\tvar me = this;\r\n\t\tif (me.request === null) {\r\n\t\t\t// Skip animation frame requests until the active one is executed.\r\n\t\t\t// This can happen when processing mouse events, e.g. 'mousemove'\r\n\t\t\t// and 'mouseout' events will trigger multiple renders.\r\n\t\t\tme.request = helpers$1.requestAnimFrame.call(window, function() {\r\n\t\t\t\tme.request = null;\r\n\t\t\t\tme.startDigest();\r\n\t\t\t});\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\tstartDigest: function() {\r\n\t\tvar me = this;\r\n\r\n\t\tme.advance();\r\n\r\n\t\t// Do we have more stuff to animate?\r\n\t\tif (me.animations.length > 0) {\r\n\t\t\tme.requestAnimationFrame();\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\tadvance: function() {\r\n\t\tvar animations = this.animations;\r\n\t\tvar animation, chart, numSteps, nextStep;\r\n\t\tvar i = 0;\r\n\r\n\t\t// 1 animation per chart, so we are looping charts here\r\n\t\twhile (i < animations.length) {\r\n\t\t\tanimation = animations[i];\r\n\t\t\tchart = animation.chart;\r\n\t\t\tnumSteps = animation.numSteps;\r\n\r\n\t\t\t// Make sure that currentStep starts at 1\r\n\t\t\t// https://github.com/chartjs/Chart.js/issues/6104\r\n\t\t\tnextStep = Math.floor((Date.now() - animation.startTime) / animation.duration * numSteps) + 1;\r\n\t\t\tanimation.currentStep = Math.min(nextStep, numSteps);\r\n\r\n\t\t\thelpers$1.callback(animation.render, [chart, animation], chart);\r\n\t\t\thelpers$1.callback(animation.onAnimationProgress, [animation], chart);\r\n\r\n\t\t\tif (animation.currentStep >= numSteps) {\r\n\t\t\t\thelpers$1.callback(animation.onAnimationComplete, [animation], chart);\r\n\t\t\t\tchart.animating = false;\r\n\t\t\t\tanimations.splice(i, 1);\r\n\t\t\t} else {\r\n\t\t\t\t++i;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n};\n\nvar resolve = helpers$1.options.resolve;\r\n\r\nvar arrayEvents = ['push', 'pop', 'shift', 'splice', 'unshift'];\r\n\r\n/**\r\n * Hooks the array methods that add or remove values ('push', pop', 'shift', 'splice',\r\n * 'unshift') and notify the listener AFTER the array has been altered. Listeners are\r\n * called on the 'onData*' callbacks (e.g. onDataPush, etc.) with same arguments.\r\n */\r\nfunction listenArrayEvents(array, listener) {\r\n\tif (array._chartjs) {\r\n\t\tarray._chartjs.listeners.push(listener);\r\n\t\treturn;\r\n\t}\r\n\r\n\tObject.defineProperty(array, '_chartjs', {\r\n\t\tconfigurable: true,\r\n\t\tenumerable: false,\r\n\t\tvalue: {\r\n\t\t\tlisteners: [listener]\r\n\t\t}\r\n\t});\r\n\r\n\tarrayEvents.forEach(function(key) {\r\n\t\tvar method = 'onData' + key.charAt(0).toUpperCase() + key.slice(1);\r\n\t\tvar base = array[key];\r\n\r\n\t\tObject.defineProperty(array, key, {\r\n\t\t\tconfigurable: true,\r\n\t\t\tenumerable: false,\r\n\t\t\tvalue: function() {\r\n\t\t\t\tvar args = Array.prototype.slice.call(arguments);\r\n\t\t\t\tvar res = base.apply(this, args);\r\n\r\n\t\t\t\thelpers$1.each(array._chartjs.listeners, function(object) {\r\n\t\t\t\t\tif (typeof object[method] === 'function') {\r\n\t\t\t\t\t\tobject[method].apply(object, args);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\r\n\t\t\t\treturn res;\r\n\t\t\t}\r\n\t\t});\r\n\t});\r\n}\r\n\r\n/**\r\n * Removes the given array event listener and cleanup extra attached properties (such as\r\n * the _chartjs stub and overridden methods) if array doesn't have any more listeners.\r\n */\r\nfunction unlistenArrayEvents(array, listener) {\r\n\tvar stub = array._chartjs;\r\n\tif (!stub) {\r\n\t\treturn;\r\n\t}\r\n\r\n\tvar listeners = stub.listeners;\r\n\tvar index = listeners.indexOf(listener);\r\n\tif (index !== -1) {\r\n\t\tlisteners.splice(index, 1);\r\n\t}\r\n\r\n\tif (listeners.length > 0) {\r\n\t\treturn;\r\n\t}\r\n\r\n\tarrayEvents.forEach(function(key) {\r\n\t\tdelete array[key];\r\n\t});\r\n\r\n\tdelete array._chartjs;\r\n}\r\n\r\n// Base class for all dataset controllers (line, bar, etc)\r\nvar DatasetController = function(chart, datasetIndex) {\r\n\tthis.initialize(chart, datasetIndex);\r\n};\r\n\r\nhelpers$1.extend(DatasetController.prototype, {\r\n\r\n\t/**\r\n\t * Element type used to generate a meta dataset (e.g. Chart.element.Line).\r\n\t * @type {Chart.core.element}\r\n\t */\r\n\tdatasetElementType: null,\r\n\r\n\t/**\r\n\t * Element type used to generate a meta data (e.g. Chart.element.Point).\r\n\t * @type {Chart.core.element}\r\n\t */\r\n\tdataElementType: null,\r\n\r\n\t/**\r\n\t * Dataset element option keys to be resolved in _resolveDatasetElementOptions.\r\n\t * A derived controller may override this to resolve controller-specific options.\r\n\t * The keys defined here are for backward compatibility for legend styles.\r\n\t * @private\r\n\t */\r\n\t_datasetElementOptions: [\r\n\t\t'backgroundColor',\r\n\t\t'borderCapStyle',\r\n\t\t'borderColor',\r\n\t\t'borderDash',\r\n\t\t'borderDashOffset',\r\n\t\t'borderJoinStyle',\r\n\t\t'borderWidth'\r\n\t],\r\n\r\n\t/**\r\n\t * Data element option keys to be resolved in _resolveDataElementOptions.\r\n\t * A derived controller may override this to resolve controller-specific options.\r\n\t * The keys defined here are for backward compatibility for legend styles.\r\n\t * @private\r\n\t */\r\n\t_dataElementOptions: [\r\n\t\t'backgroundColor',\r\n\t\t'borderColor',\r\n\t\t'borderWidth',\r\n\t\t'pointStyle'\r\n\t],\r\n\r\n\tinitialize: function(chart, datasetIndex) {\r\n\t\tvar me = this;\r\n\t\tme.chart = chart;\r\n\t\tme.index = datasetIndex;\r\n\t\tme.linkScales();\r\n\t\tme.addElements();\r\n\t\tme._type = me.getMeta().type;\r\n\t},\r\n\r\n\tupdateIndex: function(datasetIndex) {\r\n\t\tthis.index = datasetIndex;\r\n\t},\r\n\r\n\tlinkScales: function() {\r\n\t\tvar me = this;\r\n\t\tvar meta = me.getMeta();\r\n\t\tvar chart = me.chart;\r\n\t\tvar scales = chart.scales;\r\n\t\tvar dataset = me.getDataset();\r\n\t\tvar scalesOpts = chart.options.scales;\r\n\r\n\t\tif (meta.xAxisID === null || !(meta.xAxisID in scales) || dataset.xAxisID) {\r\n\t\t\tmeta.xAxisID = dataset.xAxisID || scalesOpts.xAxes[0].id;\r\n\t\t}\r\n\t\tif (meta.yAxisID === null || !(meta.yAxisID in scales) || dataset.yAxisID) {\r\n\t\t\tmeta.yAxisID = dataset.yAxisID || scalesOpts.yAxes[0].id;\r\n\t\t}\r\n\t},\r\n\r\n\tgetDataset: function() {\r\n\t\treturn this.chart.data.datasets[this.index];\r\n\t},\r\n\r\n\tgetMeta: function() {\r\n\t\treturn this.chart.getDatasetMeta(this.index);\r\n\t},\r\n\r\n\tgetScaleForId: function(scaleID) {\r\n\t\treturn this.chart.scales[scaleID];\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_getValueScaleId: function() {\r\n\t\treturn this.getMeta().yAxisID;\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_getIndexScaleId: function() {\r\n\t\treturn this.getMeta().xAxisID;\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_getValueScale: function() {\r\n\t\treturn this.getScaleForId(this._getValueScaleId());\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_getIndexScale: function() {\r\n\t\treturn this.getScaleForId(this._getIndexScaleId());\r\n\t},\r\n\r\n\treset: function() {\r\n\t\tthis._update(true);\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\tdestroy: function() {\r\n\t\tif (this._data) {\r\n\t\t\tunlistenArrayEvents(this._data, this);\r\n\t\t}\r\n\t},\r\n\r\n\tcreateMetaDataset: function() {\r\n\t\tvar me = this;\r\n\t\tvar type = me.datasetElementType;\r\n\t\treturn type && new type({\r\n\t\t\t_chart: me.chart,\r\n\t\t\t_datasetIndex: me.index\r\n\t\t});\r\n\t},\r\n\r\n\tcreateMetaData: function(index) {\r\n\t\tvar me = this;\r\n\t\tvar type = me.dataElementType;\r\n\t\treturn type && new type({\r\n\t\t\t_chart: me.chart,\r\n\t\t\t_datasetIndex: me.index,\r\n\t\t\t_index: index\r\n\t\t});\r\n\t},\r\n\r\n\taddElements: function() {\r\n\t\tvar me = this;\r\n\t\tvar meta = me.getMeta();\r\n\t\tvar data = me.getDataset().data || [];\r\n\t\tvar metaData = meta.data;\r\n\t\tvar i, ilen;\r\n\r\n\t\tfor (i = 0, ilen = data.length; i < ilen; ++i) {\r\n\t\t\tmetaData[i] = metaData[i] || me.createMetaData(i);\r\n\t\t}\r\n\r\n\t\tmeta.dataset = meta.dataset || me.createMetaDataset();\r\n\t},\r\n\r\n\taddElementAndReset: function(index) {\r\n\t\tvar element = this.createMetaData(index);\r\n\t\tthis.getMeta().data.splice(index, 0, element);\r\n\t\tthis.updateElement(element, index, true);\r\n\t},\r\n\r\n\tbuildOrUpdateElements: function() {\r\n\t\tvar me = this;\r\n\t\tvar dataset = me.getDataset();\r\n\t\tvar data = dataset.data || (dataset.data = []);\r\n\r\n\t\t// In order to correctly handle data addition/deletion animation (an thus simulate\r\n\t\t// real-time charts), we need to monitor these data modifications and synchronize\r\n\t\t// the internal meta data accordingly.\r\n\t\tif (me._data !== data) {\r\n\t\t\tif (me._data) {\r\n\t\t\t\t// This case happens when the user replaced the data array instance.\r\n\t\t\t\tunlistenArrayEvents(me._data, me);\r\n\t\t\t}\r\n\r\n\t\t\tif (data && Object.isExtensible(data)) {\r\n\t\t\t\tlistenArrayEvents(data, me);\r\n\t\t\t}\r\n\t\t\tme._data = data;\r\n\t\t}\r\n\r\n\t\t// Re-sync meta data in case the user replaced the data array or if we missed\r\n\t\t// any updates and so make sure that we handle number of datapoints changing.\r\n\t\tme.resyncElements();\r\n\t},\r\n\r\n\t/**\r\n\t * Returns the merged user-supplied and default dataset-level options\r\n\t * @private\r\n\t */\r\n\t_configure: function() {\r\n\t\tvar me = this;\r\n\t\tme._config = helpers$1.merge(Object.create(null), [\r\n\t\t\tme.chart.options.datasets[me._type],\r\n\t\t\tme.getDataset(),\r\n\t\t], {\r\n\t\t\tmerger: function(key, target, source) {\r\n\t\t\t\tif (key !== '_meta' && key !== 'data') {\r\n\t\t\t\t\thelpers$1._merger(key, target, source);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\t},\r\n\r\n\t_update: function(reset) {\r\n\t\tvar me = this;\r\n\t\tme._configure();\r\n\t\tme._cachedDataOpts = null;\r\n\t\tme.update(reset);\r\n\t},\r\n\r\n\tupdate: helpers$1.noop,\r\n\r\n\ttransition: function(easingValue) {\r\n\t\tvar meta = this.getMeta();\r\n\t\tvar elements = meta.data || [];\r\n\t\tvar ilen = elements.length;\r\n\t\tvar i = 0;\r\n\r\n\t\tfor (; i < ilen; ++i) {\r\n\t\t\telements[i].transition(easingValue);\r\n\t\t}\r\n\r\n\t\tif (meta.dataset) {\r\n\t\t\tmeta.dataset.transition(easingValue);\r\n\t\t}\r\n\t},\r\n\r\n\tdraw: function() {\r\n\t\tvar meta = this.getMeta();\r\n\t\tvar elements = meta.data || [];\r\n\t\tvar ilen = elements.length;\r\n\t\tvar i = 0;\r\n\r\n\t\tif (meta.dataset) {\r\n\t\t\tmeta.dataset.draw();\r\n\t\t}\r\n\r\n\t\tfor (; i < ilen; ++i) {\r\n\t\t\telements[i].draw();\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * Returns a set of predefined style properties that should be used to represent the dataset\r\n\t * or the data if the index is specified\r\n\t * @param {number} index - data index\r\n\t * @return {IStyleInterface} style object\r\n\t */\r\n\tgetStyle: function(index) {\r\n\t\tvar me = this;\r\n\t\tvar meta = me.getMeta();\r\n\t\tvar dataset = meta.dataset;\r\n\t\tvar style;\r\n\r\n\t\tme._configure();\r\n\t\tif (dataset && index === undefined) {\r\n\t\t\tstyle = me._resolveDatasetElementOptions(dataset || {});\r\n\t\t} else {\r\n\t\t\tindex = index || 0;\r\n\t\t\tstyle = me._resolveDataElementOptions(meta.data[index] || {}, index);\r\n\t\t}\r\n\r\n\t\tif (style.fill === false || style.fill === null) {\r\n\t\t\tstyle.backgroundColor = style.borderColor;\r\n\t\t}\r\n\r\n\t\treturn style;\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_resolveDatasetElementOptions: function(element, hover) {\r\n\t\tvar me = this;\r\n\t\tvar chart = me.chart;\r\n\t\tvar datasetOpts = me._config;\r\n\t\tvar custom = element.custom || {};\r\n\t\tvar options = chart.options.elements[me.datasetElementType.prototype._type] || {};\r\n\t\tvar elementOptions = me._datasetElementOptions;\r\n\t\tvar values = {};\r\n\t\tvar i, ilen, key, readKey;\r\n\r\n\t\t// Scriptable options\r\n\t\tvar context = {\r\n\t\t\tchart: chart,\r\n\t\t\tdataset: me.getDataset(),\r\n\t\t\tdatasetIndex: me.index,\r\n\t\t\thover: hover\r\n\t\t};\r\n\r\n\t\tfor (i = 0, ilen = elementOptions.length; i < ilen; ++i) {\r\n\t\t\tkey = elementOptions[i];\r\n\t\t\treadKey = hover ? 'hover' + key.charAt(0).toUpperCase() + key.slice(1) : key;\r\n\t\t\tvalues[key] = resolve([\r\n\t\t\t\tcustom[readKey],\r\n\t\t\t\tdatasetOpts[readKey],\r\n\t\t\t\toptions[readKey]\r\n\t\t\t], context);\r\n\t\t}\r\n\r\n\t\treturn values;\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_resolveDataElementOptions: function(element, index) {\r\n\t\tvar me = this;\r\n\t\tvar custom = element && element.custom;\r\n\t\tvar cached = me._cachedDataOpts;\r\n\t\tif (cached && !custom) {\r\n\t\t\treturn cached;\r\n\t\t}\r\n\t\tvar chart = me.chart;\r\n\t\tvar datasetOpts = me._config;\r\n\t\tvar options = chart.options.elements[me.dataElementType.prototype._type] || {};\r\n\t\tvar elementOptions = me._dataElementOptions;\r\n\t\tvar values = {};\r\n\r\n\t\t// Scriptable options\r\n\t\tvar context = {\r\n\t\t\tchart: chart,\r\n\t\t\tdataIndex: index,\r\n\t\t\tdataset: me.getDataset(),\r\n\t\t\tdatasetIndex: me.index\r\n\t\t};\r\n\r\n\t\t// `resolve` sets cacheable to `false` if any option is indexed or scripted\r\n\t\tvar info = {cacheable: !custom};\r\n\r\n\t\tvar keys, i, ilen, key;\r\n\r\n\t\tcustom = custom || {};\r\n\r\n\t\tif (helpers$1.isArray(elementOptions)) {\r\n\t\t\tfor (i = 0, ilen = elementOptions.length; i < ilen; ++i) {\r\n\t\t\t\tkey = elementOptions[i];\r\n\t\t\t\tvalues[key] = resolve([\r\n\t\t\t\t\tcustom[key],\r\n\t\t\t\t\tdatasetOpts[key],\r\n\t\t\t\t\toptions[key]\r\n\t\t\t\t], context, index, info);\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tkeys = Object.keys(elementOptions);\r\n\t\t\tfor (i = 0, ilen = keys.length; i < ilen; ++i) {\r\n\t\t\t\tkey = keys[i];\r\n\t\t\t\tvalues[key] = resolve([\r\n\t\t\t\t\tcustom[key],\r\n\t\t\t\t\tdatasetOpts[elementOptions[key]],\r\n\t\t\t\t\tdatasetOpts[key],\r\n\t\t\t\t\toptions[key]\r\n\t\t\t\t], context, index, info);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (info.cacheable) {\r\n\t\t\tme._cachedDataOpts = Object.freeze(values);\r\n\t\t}\r\n\r\n\t\treturn values;\r\n\t},\r\n\r\n\tremoveHoverStyle: function(element) {\r\n\t\thelpers$1.merge(element._model, element.$previousStyle || {});\r\n\t\tdelete element.$previousStyle;\r\n\t},\r\n\r\n\tsetHoverStyle: function(element) {\r\n\t\tvar dataset = this.chart.data.datasets[element._datasetIndex];\r\n\t\tvar index = element._index;\r\n\t\tvar custom = element.custom || {};\r\n\t\tvar model = element._model;\r\n\t\tvar getHoverColor = helpers$1.getHoverColor;\r\n\r\n\t\telement.$previousStyle = {\r\n\t\t\tbackgroundColor: model.backgroundColor,\r\n\t\t\tborderColor: model.borderColor,\r\n\t\t\tborderWidth: model.borderWidth\r\n\t\t};\r\n\r\n\t\tmodel.backgroundColor = resolve([custom.hoverBackgroundColor, dataset.hoverBackgroundColor, getHoverColor(model.backgroundColor)], undefined, index);\r\n\t\tmodel.borderColor = resolve([custom.hoverBorderColor, dataset.hoverBorderColor, getHoverColor(model.borderColor)], undefined, index);\r\n\t\tmodel.borderWidth = resolve([custom.hoverBorderWidth, dataset.hoverBorderWidth, model.borderWidth], undefined, index);\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_removeDatasetHoverStyle: function() {\r\n\t\tvar element = this.getMeta().dataset;\r\n\r\n\t\tif (element) {\r\n\t\t\tthis.removeHoverStyle(element);\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_setDatasetHoverStyle: function() {\r\n\t\tvar element = this.getMeta().dataset;\r\n\t\tvar prev = {};\r\n\t\tvar i, ilen, key, keys, hoverOptions, model;\r\n\r\n\t\tif (!element) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tmodel = element._model;\r\n\t\thoverOptions = this._resolveDatasetElementOptions(element, true);\r\n\r\n\t\tkeys = Object.keys(hoverOptions);\r\n\t\tfor (i = 0, ilen = keys.length; i < ilen; ++i) {\r\n\t\t\tkey = keys[i];\r\n\t\t\tprev[key] = model[key];\r\n\t\t\tmodel[key] = hoverOptions[key];\r\n\t\t}\r\n\r\n\t\telement.$previousStyle = prev;\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\tresyncElements: function() {\r\n\t\tvar me = this;\r\n\t\tvar meta = me.getMeta();\r\n\t\tvar data = me.getDataset().data;\r\n\t\tvar numMeta = meta.data.length;\r\n\t\tvar numData = data.length;\r\n\r\n\t\tif (numData < numMeta) {\r\n\t\t\tmeta.data.splice(numData, numMeta - numData);\r\n\t\t} else if (numData > numMeta) {\r\n\t\t\tme.insertElements(numMeta, numData - numMeta);\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\tinsertElements: function(start, count) {\r\n\t\tfor (var i = 0; i < count; ++i) {\r\n\t\t\tthis.addElementAndReset(start + i);\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\tonDataPush: function() {\r\n\t\tvar count = arguments.length;\r\n\t\tthis.insertElements(this.getDataset().data.length - count, count);\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\tonDataPop: function() {\r\n\t\tthis.getMeta().data.pop();\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\tonDataShift: function() {\r\n\t\tthis.getMeta().data.shift();\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\tonDataSplice: function(start, count) {\r\n\t\tthis.getMeta().data.splice(start, count);\r\n\t\tthis.insertElements(start, arguments.length - 2);\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\tonDataUnshift: function() {\r\n\t\tthis.insertElements(0, arguments.length);\r\n\t}\r\n});\r\n\r\nDatasetController.extend = helpers$1.inherits;\r\n\r\nvar core_datasetController = DatasetController;\n\nvar TAU = Math.PI * 2;\r\n\r\ncore_defaults._set('global', {\r\n\telements: {\r\n\t\tarc: {\r\n\t\t\tbackgroundColor: core_defaults.global.defaultColor,\r\n\t\t\tborderColor: '#fff',\r\n\t\t\tborderWidth: 2,\r\n\t\t\tborderAlign: 'center'\r\n\t\t}\r\n\t}\r\n});\r\n\r\nfunction clipArc(ctx, arc) {\r\n\tvar startAngle = arc.startAngle;\r\n\tvar endAngle = arc.endAngle;\r\n\tvar pixelMargin = arc.pixelMargin;\r\n\tvar angleMargin = pixelMargin / arc.outerRadius;\r\n\tvar x = arc.x;\r\n\tvar y = arc.y;\r\n\r\n\t// Draw an inner border by cliping the arc and drawing a double-width border\r\n\t// Enlarge the clipping arc by 0.33 pixels to eliminate glitches between borders\r\n\tctx.beginPath();\r\n\tctx.arc(x, y, arc.outerRadius, startAngle - angleMargin, endAngle + angleMargin);\r\n\tif (arc.innerRadius > pixelMargin) {\r\n\t\tangleMargin = pixelMargin / arc.innerRadius;\r\n\t\tctx.arc(x, y, arc.innerRadius - pixelMargin, endAngle + angleMargin, startAngle - angleMargin, true);\r\n\t} else {\r\n\t\tctx.arc(x, y, pixelMargin, endAngle + Math.PI / 2, startAngle - Math.PI / 2);\r\n\t}\r\n\tctx.closePath();\r\n\tctx.clip();\r\n}\r\n\r\nfunction drawFullCircleBorders(ctx, vm, arc, inner) {\r\n\tvar endAngle = arc.endAngle;\r\n\tvar i;\r\n\r\n\tif (inner) {\r\n\t\tarc.endAngle = arc.startAngle + TAU;\r\n\t\tclipArc(ctx, arc);\r\n\t\tarc.endAngle = endAngle;\r\n\t\tif (arc.endAngle === arc.startAngle && arc.fullCircles) {\r\n\t\t\tarc.endAngle += TAU;\r\n\t\t\tarc.fullCircles--;\r\n\t\t}\r\n\t}\r\n\r\n\tctx.beginPath();\r\n\tctx.arc(arc.x, arc.y, arc.innerRadius, arc.startAngle + TAU, arc.startAngle, true);\r\n\tfor (i = 0; i < arc.fullCircles; ++i) {\r\n\t\tctx.stroke();\r\n\t}\r\n\r\n\tctx.beginPath();\r\n\tctx.arc(arc.x, arc.y, vm.outerRadius, arc.startAngle, arc.startAngle + TAU);\r\n\tfor (i = 0; i < arc.fullCircles; ++i) {\r\n\t\tctx.stroke();\r\n\t}\r\n}\r\n\r\nfunction drawBorder(ctx, vm, arc) {\r\n\tvar inner = vm.borderAlign === 'inner';\r\n\r\n\tif (inner) {\r\n\t\tctx.lineWidth = vm.borderWidth * 2;\r\n\t\tctx.lineJoin = 'round';\r\n\t} else {\r\n\t\tctx.lineWidth = vm.borderWidth;\r\n\t\tctx.lineJoin = 'bevel';\r\n\t}\r\n\r\n\tif (arc.fullCircles) {\r\n\t\tdrawFullCircleBorders(ctx, vm, arc, inner);\r\n\t}\r\n\r\n\tif (inner) {\r\n\t\tclipArc(ctx, arc);\r\n\t}\r\n\r\n\tctx.beginPath();\r\n\tctx.arc(arc.x, arc.y, vm.outerRadius, arc.startAngle, arc.endAngle);\r\n\tctx.arc(arc.x, arc.y, arc.innerRadius, arc.endAngle, arc.startAngle, true);\r\n\tctx.closePath();\r\n\tctx.stroke();\r\n}\r\n\r\nvar element_arc = core_element.extend({\r\n\t_type: 'arc',\r\n\r\n\tinLabelRange: function(mouseX) {\r\n\t\tvar vm = this._view;\r\n\r\n\t\tif (vm) {\r\n\t\t\treturn (Math.pow(mouseX - vm.x, 2) < Math.pow(vm.radius + vm.hoverRadius, 2));\r\n\t\t}\r\n\t\treturn false;\r\n\t},\r\n\r\n\tinRange: function(chartX, chartY) {\r\n\t\tvar vm = this._view;\r\n\r\n\t\tif (vm) {\r\n\t\t\tvar pointRelativePosition = helpers$1.getAngleFromPoint(vm, {x: chartX, y: chartY});\r\n\t\t\tvar angle = pointRelativePosition.angle;\r\n\t\t\tvar distance = pointRelativePosition.distance;\r\n\r\n\t\t\t// Sanitise angle range\r\n\t\t\tvar startAngle = vm.startAngle;\r\n\t\t\tvar endAngle = vm.endAngle;\r\n\t\t\twhile (endAngle < startAngle) {\r\n\t\t\t\tendAngle += TAU;\r\n\t\t\t}\r\n\t\t\twhile (angle > endAngle) {\r\n\t\t\t\tangle -= TAU;\r\n\t\t\t}\r\n\t\t\twhile (angle < startAngle) {\r\n\t\t\t\tangle += TAU;\r\n\t\t\t}\r\n\r\n\t\t\t// Check if within the range of the open/close angle\r\n\t\t\tvar betweenAngles = (angle >= startAngle && angle <= endAngle);\r\n\t\t\tvar withinRadius = (distance >= vm.innerRadius && distance <= vm.outerRadius);\r\n\r\n\t\t\treturn (betweenAngles && withinRadius);\r\n\t\t}\r\n\t\treturn false;\r\n\t},\r\n\r\n\tgetCenterPoint: function() {\r\n\t\tvar vm = this._view;\r\n\t\tvar halfAngle = (vm.startAngle + vm.endAngle) / 2;\r\n\t\tvar halfRadius = (vm.innerRadius + vm.outerRadius) / 2;\r\n\t\treturn {\r\n\t\t\tx: vm.x + Math.cos(halfAngle) * halfRadius,\r\n\t\t\ty: vm.y + Math.sin(halfAngle) * halfRadius\r\n\t\t};\r\n\t},\r\n\r\n\tgetArea: function() {\r\n\t\tvar vm = this._view;\r\n\t\treturn Math.PI * ((vm.endAngle - vm.startAngle) / (2 * Math.PI)) * (Math.pow(vm.outerRadius, 2) - Math.pow(vm.innerRadius, 2));\r\n\t},\r\n\r\n\ttooltipPosition: function() {\r\n\t\tvar vm = this._view;\r\n\t\tvar centreAngle = vm.startAngle + ((vm.endAngle - vm.startAngle) / 2);\r\n\t\tvar rangeFromCentre = (vm.outerRadius - vm.innerRadius) / 2 + vm.innerRadius;\r\n\r\n\t\treturn {\r\n\t\t\tx: vm.x + (Math.cos(centreAngle) * rangeFromCentre),\r\n\t\t\ty: vm.y + (Math.sin(centreAngle) * rangeFromCentre)\r\n\t\t};\r\n\t},\r\n\r\n\tdraw: function() {\r\n\t\tvar ctx = this._chart.ctx;\r\n\t\tvar vm = this._view;\r\n\t\tvar pixelMargin = (vm.borderAlign === 'inner') ? 0.33 : 0;\r\n\t\tvar arc = {\r\n\t\t\tx: vm.x,\r\n\t\t\ty: vm.y,\r\n\t\t\tinnerRadius: vm.innerRadius,\r\n\t\t\touterRadius: Math.max(vm.outerRadius - pixelMargin, 0),\r\n\t\t\tpixelMargin: pixelMargin,\r\n\t\t\tstartAngle: vm.startAngle,\r\n\t\t\tendAngle: vm.endAngle,\r\n\t\t\tfullCircles: Math.floor(vm.circumference / TAU)\r\n\t\t};\r\n\t\tvar i;\r\n\r\n\t\tctx.save();\r\n\r\n\t\tctx.fillStyle = vm.backgroundColor;\r\n\t\tctx.strokeStyle = vm.borderColor;\r\n\r\n\t\tif (arc.fullCircles) {\r\n\t\t\tarc.endAngle = arc.startAngle + TAU;\r\n\t\t\tctx.beginPath();\r\n\t\t\tctx.arc(arc.x, arc.y, arc.outerRadius, arc.startAngle, arc.endAngle);\r\n\t\t\tctx.arc(arc.x, arc.y, arc.innerRadius, arc.endAngle, arc.startAngle, true);\r\n\t\t\tctx.closePath();\r\n\t\t\tfor (i = 0; i < arc.fullCircles; ++i) {\r\n\t\t\t\tctx.fill();\r\n\t\t\t}\r\n\t\t\tarc.endAngle = arc.startAngle + vm.circumference % TAU;\r\n\t\t}\r\n\r\n\t\tctx.beginPath();\r\n\t\tctx.arc(arc.x, arc.y, arc.outerRadius, arc.startAngle, arc.endAngle);\r\n\t\tctx.arc(arc.x, arc.y, arc.innerRadius, arc.endAngle, arc.startAngle, true);\r\n\t\tctx.closePath();\r\n\t\tctx.fill();\r\n\r\n\t\tif (vm.borderWidth) {\r\n\t\t\tdrawBorder(ctx, vm, arc);\r\n\t\t}\r\n\r\n\t\tctx.restore();\r\n\t}\r\n});\n\nvar valueOrDefault$1 = helpers$1.valueOrDefault;\r\n\r\nvar defaultColor = core_defaults.global.defaultColor;\r\n\r\ncore_defaults._set('global', {\r\n\telements: {\r\n\t\tline: {\r\n\t\t\ttension: 0.4,\r\n\t\t\tbackgroundColor: defaultColor,\r\n\t\t\tborderWidth: 3,\r\n\t\t\tborderColor: defaultColor,\r\n\t\t\tborderCapStyle: 'butt',\r\n\t\t\tborderDash: [],\r\n\t\t\tborderDashOffset: 0.0,\r\n\t\t\tborderJoinStyle: 'miter',\r\n\t\t\tcapBezierPoints: true,\r\n\t\t\tfill: true, // do we fill in the area between the line and its base axis\r\n\t\t}\r\n\t}\r\n});\r\n\r\nvar element_line = core_element.extend({\r\n\t_type: 'line',\r\n\r\n\tdraw: function() {\r\n\t\tvar me = this;\r\n\t\tvar vm = me._view;\r\n\t\tvar ctx = me._chart.ctx;\r\n\t\tvar spanGaps = vm.spanGaps;\r\n\t\tvar points = me._children.slice(); // clone array\r\n\t\tvar globalDefaults = core_defaults.global;\r\n\t\tvar globalOptionLineElements = globalDefaults.elements.line;\r\n\t\tvar lastDrawnIndex = -1;\r\n\t\tvar closePath = me._loop;\r\n\t\tvar index, previous, currentVM;\r\n\r\n\t\tif (!points.length) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif (me._loop) {\r\n\t\t\tfor (index = 0; index < points.length; ++index) {\r\n\t\t\t\tprevious = helpers$1.previousItem(points, index);\r\n\t\t\t\t// If the line has an open path, shift the point array\r\n\t\t\t\tif (!points[index]._view.skip && previous._view.skip) {\r\n\t\t\t\t\tpoints = points.slice(index).concat(points.slice(0, index));\r\n\t\t\t\t\tclosePath = spanGaps;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\t// If the line has a close path, add the first point again\r\n\t\t\tif (closePath) {\r\n\t\t\t\tpoints.push(points[0]);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tctx.save();\r\n\r\n\t\t// Stroke Line Options\r\n\t\tctx.lineCap = vm.borderCapStyle || globalOptionLineElements.borderCapStyle;\r\n\r\n\t\t// IE 9 and 10 do not support line dash\r\n\t\tif (ctx.setLineDash) {\r\n\t\t\tctx.setLineDash(vm.borderDash || globalOptionLineElements.borderDash);\r\n\t\t}\r\n\r\n\t\tctx.lineDashOffset = valueOrDefault$1(vm.borderDashOffset, globalOptionLineElements.borderDashOffset);\r\n\t\tctx.lineJoin = vm.borderJoinStyle || globalOptionLineElements.borderJoinStyle;\r\n\t\tctx.lineWidth = valueOrDefault$1(vm.borderWidth, globalOptionLineElements.borderWidth);\r\n\t\tctx.strokeStyle = vm.borderColor || globalDefaults.defaultColor;\r\n\r\n\t\t// Stroke Line\r\n\t\tctx.beginPath();\r\n\r\n\t\t// First point moves to it's starting position no matter what\r\n\t\tcurrentVM = points[0]._view;\r\n\t\tif (!currentVM.skip) {\r\n\t\t\tctx.moveTo(currentVM.x, currentVM.y);\r\n\t\t\tlastDrawnIndex = 0;\r\n\t\t}\r\n\r\n\t\tfor (index = 1; index < points.length; ++index) {\r\n\t\t\tcurrentVM = points[index]._view;\r\n\t\t\tprevious = lastDrawnIndex === -1 ? helpers$1.previousItem(points, index) : points[lastDrawnIndex];\r\n\r\n\t\t\tif (!currentVM.skip) {\r\n\t\t\t\tif ((lastDrawnIndex !== (index - 1) && !spanGaps) || lastDrawnIndex === -1) {\r\n\t\t\t\t\t// There was a gap and this is the first point after the gap\r\n\t\t\t\t\tctx.moveTo(currentVM.x, currentVM.y);\r\n\t\t\t\t} else {\r\n\t\t\t\t\t// Line to next point\r\n\t\t\t\t\thelpers$1.canvas.lineTo(ctx, previous._view, currentVM);\r\n\t\t\t\t}\r\n\t\t\t\tlastDrawnIndex = index;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (closePath) {\r\n\t\t\tctx.closePath();\r\n\t\t}\r\n\r\n\t\tctx.stroke();\r\n\t\tctx.restore();\r\n\t}\r\n});\n\nvar valueOrDefault$2 = helpers$1.valueOrDefault;\r\n\r\nvar defaultColor$1 = core_defaults.global.defaultColor;\r\n\r\ncore_defaults._set('global', {\r\n\telements: {\r\n\t\tpoint: {\r\n\t\t\tradius: 3,\r\n\t\t\tpointStyle: 'circle',\r\n\t\t\tbackgroundColor: defaultColor$1,\r\n\t\t\tborderColor: defaultColor$1,\r\n\t\t\tborderWidth: 1,\r\n\t\t\t// Hover\r\n\t\t\thitRadius: 1,\r\n\t\t\thoverRadius: 4,\r\n\t\t\thoverBorderWidth: 1\r\n\t\t}\r\n\t}\r\n});\r\n\r\nfunction xRange(mouseX) {\r\n\tvar vm = this._view;\r\n\treturn vm ? (Math.abs(mouseX - vm.x) < vm.radius + vm.hitRadius) : false;\r\n}\r\n\r\nfunction yRange(mouseY) {\r\n\tvar vm = this._view;\r\n\treturn vm ? (Math.abs(mouseY - vm.y) < vm.radius + vm.hitRadius) : false;\r\n}\r\n\r\nvar element_point = core_element.extend({\r\n\t_type: 'point',\r\n\r\n\tinRange: function(mouseX, mouseY) {\r\n\t\tvar vm = this._view;\r\n\t\treturn vm ? ((Math.pow(mouseX - vm.x, 2) + Math.pow(mouseY - vm.y, 2)) < Math.pow(vm.hitRadius + vm.radius, 2)) : false;\r\n\t},\r\n\r\n\tinLabelRange: xRange,\r\n\tinXRange: xRange,\r\n\tinYRange: yRange,\r\n\r\n\tgetCenterPoint: function() {\r\n\t\tvar vm = this._view;\r\n\t\treturn {\r\n\t\t\tx: vm.x,\r\n\t\t\ty: vm.y\r\n\t\t};\r\n\t},\r\n\r\n\tgetArea: function() {\r\n\t\treturn Math.PI * Math.pow(this._view.radius, 2);\r\n\t},\r\n\r\n\ttooltipPosition: function() {\r\n\t\tvar vm = this._view;\r\n\t\treturn {\r\n\t\t\tx: vm.x,\r\n\t\t\ty: vm.y,\r\n\t\t\tpadding: vm.radius + vm.borderWidth\r\n\t\t};\r\n\t},\r\n\r\n\tdraw: function(chartArea) {\r\n\t\tvar vm = this._view;\r\n\t\tvar ctx = this._chart.ctx;\r\n\t\tvar pointStyle = vm.pointStyle;\r\n\t\tvar rotation = vm.rotation;\r\n\t\tvar radius = vm.radius;\r\n\t\tvar x = vm.x;\r\n\t\tvar y = vm.y;\r\n\t\tvar globalDefaults = core_defaults.global;\r\n\t\tvar defaultColor = globalDefaults.defaultColor; // eslint-disable-line no-shadow\r\n\r\n\t\tif (vm.skip) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\t// Clipping for Points.\r\n\t\tif (chartArea === undefined || helpers$1.canvas._isPointInArea(vm, chartArea)) {\r\n\t\t\tctx.strokeStyle = vm.borderColor || defaultColor;\r\n\t\t\tctx.lineWidth = valueOrDefault$2(vm.borderWidth, globalDefaults.elements.point.borderWidth);\r\n\t\t\tctx.fillStyle = vm.backgroundColor || defaultColor;\r\n\t\t\thelpers$1.canvas.drawPoint(ctx, pointStyle, radius, x, y, rotation);\r\n\t\t}\r\n\t}\r\n});\n\nvar defaultColor$2 = core_defaults.global.defaultColor;\r\n\r\ncore_defaults._set('global', {\r\n\telements: {\r\n\t\trectangle: {\r\n\t\t\tbackgroundColor: defaultColor$2,\r\n\t\t\tborderColor: defaultColor$2,\r\n\t\t\tborderSkipped: 'bottom',\r\n\t\t\tborderWidth: 0\r\n\t\t}\r\n\t}\r\n});\r\n\r\nfunction isVertical(vm) {\r\n\treturn vm && vm.width !== undefined;\r\n}\r\n\r\n/**\r\n * Helper function to get the bounds of the bar regardless of the orientation\r\n * @param bar {Chart.Element.Rectangle} the bar\r\n * @return {Bounds} bounds of the bar\r\n * @private\r\n */\r\nfunction getBarBounds(vm) {\r\n\tvar x1, x2, y1, y2, half;\r\n\r\n\tif (isVertical(vm)) {\r\n\t\thalf = vm.width / 2;\r\n\t\tx1 = vm.x - half;\r\n\t\tx2 = vm.x + half;\r\n\t\ty1 = Math.min(vm.y, vm.base);\r\n\t\ty2 = Math.max(vm.y, vm.base);\r\n\t} else {\r\n\t\thalf = vm.height / 2;\r\n\t\tx1 = Math.min(vm.x, vm.base);\r\n\t\tx2 = Math.max(vm.x, vm.base);\r\n\t\ty1 = vm.y - half;\r\n\t\ty2 = vm.y + half;\r\n\t}\r\n\r\n\treturn {\r\n\t\tleft: x1,\r\n\t\ttop: y1,\r\n\t\tright: x2,\r\n\t\tbottom: y2\r\n\t};\r\n}\r\n\r\nfunction swap(orig, v1, v2) {\r\n\treturn orig === v1 ? v2 : orig === v2 ? v1 : orig;\r\n}\r\n\r\nfunction parseBorderSkipped(vm) {\r\n\tvar edge = vm.borderSkipped;\r\n\tvar res = {};\r\n\r\n\tif (!edge) {\r\n\t\treturn res;\r\n\t}\r\n\r\n\tif (vm.horizontal) {\r\n\t\tif (vm.base > vm.x) {\r\n\t\t\tedge = swap(edge, 'left', 'right');\r\n\t\t}\r\n\t} else if (vm.base < vm.y) {\r\n\t\tedge = swap(edge, 'bottom', 'top');\r\n\t}\r\n\r\n\tres[edge] = true;\r\n\treturn res;\r\n}\r\n\r\nfunction parseBorderWidth(vm, maxW, maxH) {\r\n\tvar value = vm.borderWidth;\r\n\tvar skip = parseBorderSkipped(vm);\r\n\tvar t, r, b, l;\r\n\r\n\tif (helpers$1.isObject(value)) {\r\n\t\tt = +value.top || 0;\r\n\t\tr = +value.right || 0;\r\n\t\tb = +value.bottom || 0;\r\n\t\tl = +value.left || 0;\r\n\t} else {\r\n\t\tt = r = b = l = +value || 0;\r\n\t}\r\n\r\n\treturn {\r\n\t\tt: skip.top || (t < 0) ? 0 : t > maxH ? maxH : t,\r\n\t\tr: skip.right || (r < 0) ? 0 : r > maxW ? maxW : r,\r\n\t\tb: skip.bottom || (b < 0) ? 0 : b > maxH ? maxH : b,\r\n\t\tl: skip.left || (l < 0) ? 0 : l > maxW ? maxW : l\r\n\t};\r\n}\r\n\r\nfunction boundingRects(vm) {\r\n\tvar bounds = getBarBounds(vm);\r\n\tvar width = bounds.right - bounds.left;\r\n\tvar height = bounds.bottom - bounds.top;\r\n\tvar border = parseBorderWidth(vm, width / 2, height / 2);\r\n\r\n\treturn {\r\n\t\touter: {\r\n\t\t\tx: bounds.left,\r\n\t\t\ty: bounds.top,\r\n\t\t\tw: width,\r\n\t\t\th: height\r\n\t\t},\r\n\t\tinner: {\r\n\t\t\tx: bounds.left + border.l,\r\n\t\t\ty: bounds.top + border.t,\r\n\t\t\tw: width - border.l - border.r,\r\n\t\t\th: height - border.t - border.b\r\n\t\t}\r\n\t};\r\n}\r\n\r\nfunction inRange(vm, x, y) {\r\n\tvar skipX = x === null;\r\n\tvar skipY = y === null;\r\n\tvar bounds = !vm || (skipX && skipY) ? false : getBarBounds(vm);\r\n\r\n\treturn bounds\r\n\t\t&& (skipX || x >= bounds.left && x <= bounds.right)\r\n\t\t&& (skipY || y >= bounds.top && y <= bounds.bottom);\r\n}\r\n\r\nvar element_rectangle = core_element.extend({\r\n\t_type: 'rectangle',\r\n\r\n\tdraw: function() {\r\n\t\tvar ctx = this._chart.ctx;\r\n\t\tvar vm = this._view;\r\n\t\tvar rects = boundingRects(vm);\r\n\t\tvar outer = rects.outer;\r\n\t\tvar inner = rects.inner;\r\n\r\n\t\tctx.fillStyle = vm.backgroundColor;\r\n\t\tctx.fillRect(outer.x, outer.y, outer.w, outer.h);\r\n\r\n\t\tif (outer.w === inner.w && outer.h === inner.h) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tctx.save();\r\n\t\tctx.beginPath();\r\n\t\tctx.rect(outer.x, outer.y, outer.w, outer.h);\r\n\t\tctx.clip();\r\n\t\tctx.fillStyle = vm.borderColor;\r\n\t\tctx.rect(inner.x, inner.y, inner.w, inner.h);\r\n\t\tctx.fill('evenodd');\r\n\t\tctx.restore();\r\n\t},\r\n\r\n\theight: function() {\r\n\t\tvar vm = this._view;\r\n\t\treturn vm.base - vm.y;\r\n\t},\r\n\r\n\tinRange: function(mouseX, mouseY) {\r\n\t\treturn inRange(this._view, mouseX, mouseY);\r\n\t},\r\n\r\n\tinLabelRange: function(mouseX, mouseY) {\r\n\t\tvar vm = this._view;\r\n\t\treturn isVertical(vm)\r\n\t\t\t? inRange(vm, mouseX, null)\r\n\t\t\t: inRange(vm, null, mouseY);\r\n\t},\r\n\r\n\tinXRange: function(mouseX) {\r\n\t\treturn inRange(this._view, mouseX, null);\r\n\t},\r\n\r\n\tinYRange: function(mouseY) {\r\n\t\treturn inRange(this._view, null, mouseY);\r\n\t},\r\n\r\n\tgetCenterPoint: function() {\r\n\t\tvar vm = this._view;\r\n\t\tvar x, y;\r\n\t\tif (isVertical(vm)) {\r\n\t\t\tx = vm.x;\r\n\t\t\ty = (vm.y + vm.base) / 2;\r\n\t\t} else {\r\n\t\t\tx = (vm.x + vm.base) / 2;\r\n\t\t\ty = vm.y;\r\n\t\t}\r\n\r\n\t\treturn {x: x, y: y};\r\n\t},\r\n\r\n\tgetArea: function() {\r\n\t\tvar vm = this._view;\r\n\r\n\t\treturn isVertical(vm)\r\n\t\t\t? vm.width * Math.abs(vm.y - vm.base)\r\n\t\t\t: vm.height * Math.abs(vm.x - vm.base);\r\n\t},\r\n\r\n\ttooltipPosition: function() {\r\n\t\tvar vm = this._view;\r\n\t\treturn {\r\n\t\t\tx: vm.x,\r\n\t\t\ty: vm.y\r\n\t\t};\r\n\t}\r\n});\n\nvar elements = {};\r\nvar Arc = element_arc;\r\nvar Line = element_line;\r\nvar Point = element_point;\r\nvar Rectangle = element_rectangle;\nelements.Arc = Arc;\nelements.Line = Line;\nelements.Point = Point;\nelements.Rectangle = Rectangle;\n\nvar deprecated = helpers$1._deprecated;\r\nvar valueOrDefault$3 = helpers$1.valueOrDefault;\r\n\r\ncore_defaults._set('bar', {\r\n\thover: {\r\n\t\tmode: 'label'\r\n\t},\r\n\r\n\tscales: {\r\n\t\txAxes: [{\r\n\t\t\ttype: 'category',\r\n\t\t\toffset: true,\r\n\t\t\tgridLines: {\r\n\t\t\t\toffsetGridLines: true\r\n\t\t\t}\r\n\t\t}],\r\n\r\n\t\tyAxes: [{\r\n\t\t\ttype: 'linear'\r\n\t\t}]\r\n\t}\r\n});\r\n\r\ncore_defaults._set('global', {\r\n\tdatasets: {\r\n\t\tbar: {\r\n\t\t\tcategoryPercentage: 0.8,\r\n\t\t\tbarPercentage: 0.9\r\n\t\t}\r\n\t}\r\n});\r\n\r\n/**\r\n * Computes the \"optimal\" sample size to maintain bars equally sized while preventing overlap.\r\n * @private\r\n */\r\nfunction computeMinSampleSize(scale, pixels) {\r\n\tvar min = scale._length;\r\n\tvar prev, curr, i, ilen;\r\n\r\n\tfor (i = 1, ilen = pixels.length; i < ilen; ++i) {\r\n\t\tmin = Math.min(min, Math.abs(pixels[i] - pixels[i - 1]));\r\n\t}\r\n\r\n\tfor (i = 0, ilen = scale.getTicks().length; i < ilen; ++i) {\r\n\t\tcurr = scale.getPixelForTick(i);\r\n\t\tmin = i > 0 ? Math.min(min, Math.abs(curr - prev)) : min;\r\n\t\tprev = curr;\r\n\t}\r\n\r\n\treturn min;\r\n}\r\n\r\n/**\r\n * Computes an \"ideal\" category based on the absolute bar thickness or, if undefined or null,\r\n * uses the smallest interval (see computeMinSampleSize) that prevents bar overlapping. This\r\n * mode currently always generates bars equally sized (until we introduce scriptable options?).\r\n * @private\r\n */\r\nfunction computeFitCategoryTraits(index, ruler, options) {\r\n\tvar thickness = options.barThickness;\r\n\tvar count = ruler.stackCount;\r\n\tvar curr = ruler.pixels[index];\r\n\tvar min = helpers$1.isNullOrUndef(thickness)\r\n\t\t? computeMinSampleSize(ruler.scale, ruler.pixels)\r\n\t\t: -1;\r\n\tvar size, ratio;\r\n\r\n\tif (helpers$1.isNullOrUndef(thickness)) {\r\n\t\tsize = min * options.categoryPercentage;\r\n\t\tratio = options.barPercentage;\r\n\t} else {\r\n\t\t// When bar thickness is enforced, category and bar percentages are ignored.\r\n\t\t// Note(SB): we could add support for relative bar thickness (e.g. barThickness: '50%')\r\n\t\t// and deprecate barPercentage since this value is ignored when thickness is absolute.\r\n\t\tsize = thickness * count;\r\n\t\tratio = 1;\r\n\t}\r\n\r\n\treturn {\r\n\t\tchunk: size / count,\r\n\t\tratio: ratio,\r\n\t\tstart: curr - (size / 2)\r\n\t};\r\n}\r\n\r\n/**\r\n * Computes an \"optimal\" category that globally arranges bars side by side (no gap when\r\n * percentage options are 1), based on the previous and following categories. This mode\r\n * generates bars with different widths when data are not evenly spaced.\r\n * @private\r\n */\r\nfunction computeFlexCategoryTraits(index, ruler, options) {\r\n\tvar pixels = ruler.pixels;\r\n\tvar curr = pixels[index];\r\n\tvar prev = index > 0 ? pixels[index - 1] : null;\r\n\tvar next = index < pixels.length - 1 ? pixels[index + 1] : null;\r\n\tvar percent = options.categoryPercentage;\r\n\tvar start, size;\r\n\r\n\tif (prev === null) {\r\n\t\t// first data: its size is double based on the next point or,\r\n\t\t// if it's also the last data, we use the scale size.\r\n\t\tprev = curr - (next === null ? ruler.end - ruler.start : next - curr);\r\n\t}\r\n\r\n\tif (next === null) {\r\n\t\t// last data: its size is also double based on the previous point.\r\n\t\tnext = curr + curr - prev;\r\n\t}\r\n\r\n\tstart = curr - (curr - Math.min(prev, next)) / 2 * percent;\r\n\tsize = Math.abs(next - prev) / 2 * percent;\r\n\r\n\treturn {\r\n\t\tchunk: size / ruler.stackCount,\r\n\t\tratio: options.barPercentage,\r\n\t\tstart: start\r\n\t};\r\n}\r\n\r\nvar controller_bar = core_datasetController.extend({\r\n\r\n\tdataElementType: elements.Rectangle,\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_dataElementOptions: [\r\n\t\t'backgroundColor',\r\n\t\t'borderColor',\r\n\t\t'borderSkipped',\r\n\t\t'borderWidth',\r\n\t\t'barPercentage',\r\n\t\t'barThickness',\r\n\t\t'categoryPercentage',\r\n\t\t'maxBarThickness',\r\n\t\t'minBarLength'\r\n\t],\r\n\r\n\tinitialize: function() {\r\n\t\tvar me = this;\r\n\t\tvar meta, scaleOpts;\r\n\r\n\t\tcore_datasetController.prototype.initialize.apply(me, arguments);\r\n\r\n\t\tmeta = me.getMeta();\r\n\t\tmeta.stack = me.getDataset().stack;\r\n\t\tmeta.bar = true;\r\n\r\n\t\tscaleOpts = me._getIndexScale().options;\r\n\t\tdeprecated('bar chart', scaleOpts.barPercentage, 'scales.[x/y]Axes.barPercentage', 'dataset.barPercentage');\r\n\t\tdeprecated('bar chart', scaleOpts.barThickness, 'scales.[x/y]Axes.barThickness', 'dataset.barThickness');\r\n\t\tdeprecated('bar chart', scaleOpts.categoryPercentage, 'scales.[x/y]Axes.categoryPercentage', 'dataset.categoryPercentage');\r\n\t\tdeprecated('bar chart', me._getValueScale().options.minBarLength, 'scales.[x/y]Axes.minBarLength', 'dataset.minBarLength');\r\n\t\tdeprecated('bar chart', scaleOpts.maxBarThickness, 'scales.[x/y]Axes.maxBarThickness', 'dataset.maxBarThickness');\r\n\t},\r\n\r\n\tupdate: function(reset) {\r\n\t\tvar me = this;\r\n\t\tvar rects = me.getMeta().data;\r\n\t\tvar i, ilen;\r\n\r\n\t\tme._ruler = me.getRuler();\r\n\r\n\t\tfor (i = 0, ilen = rects.length; i < ilen; ++i) {\r\n\t\t\tme.updateElement(rects[i], i, reset);\r\n\t\t}\r\n\t},\r\n\r\n\tupdateElement: function(rectangle, index, reset) {\r\n\t\tvar me = this;\r\n\t\tvar meta = me.getMeta();\r\n\t\tvar dataset = me.getDataset();\r\n\t\tvar options = me._resolveDataElementOptions(rectangle, index);\r\n\r\n\t\trectangle._xScale = me.getScaleForId(meta.xAxisID);\r\n\t\trectangle._yScale = me.getScaleForId(meta.yAxisID);\r\n\t\trectangle._datasetIndex = me.index;\r\n\t\trectangle._index = index;\r\n\t\trectangle._model = {\r\n\t\t\tbackgroundColor: options.backgroundColor,\r\n\t\t\tborderColor: options.borderColor,\r\n\t\t\tborderSkipped: options.borderSkipped,\r\n\t\t\tborderWidth: options.borderWidth,\r\n\t\t\tdatasetLabel: dataset.label,\r\n\t\t\tlabel: me.chart.data.labels[index]\r\n\t\t};\r\n\r\n\t\tif (helpers$1.isArray(dataset.data[index])) {\r\n\t\t\trectangle._model.borderSkipped = null;\r\n\t\t}\r\n\r\n\t\tme._updateElementGeometry(rectangle, index, reset, options);\r\n\r\n\t\trectangle.pivot();\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_updateElementGeometry: function(rectangle, index, reset, options) {\r\n\t\tvar me = this;\r\n\t\tvar model = rectangle._model;\r\n\t\tvar vscale = me._getValueScale();\r\n\t\tvar base = vscale.getBasePixel();\r\n\t\tvar horizontal = vscale.isHorizontal();\r\n\t\tvar ruler = me._ruler || me.getRuler();\r\n\t\tvar vpixels = me.calculateBarValuePixels(me.index, index, options);\r\n\t\tvar ipixels = me.calculateBarIndexPixels(me.index, index, ruler, options);\r\n\r\n\t\tmodel.horizontal = horizontal;\r\n\t\tmodel.base = reset ? base : vpixels.base;\r\n\t\tmodel.x = horizontal ? reset ? base : vpixels.head : ipixels.center;\r\n\t\tmodel.y = horizontal ? ipixels.center : reset ? base : vpixels.head;\r\n\t\tmodel.height = horizontal ? ipixels.size : undefined;\r\n\t\tmodel.width = horizontal ? undefined : ipixels.size;\r\n\t},\r\n\r\n\t/**\r\n\t * Returns the stacks based on groups and bar visibility.\r\n\t * @param {number} [last] - The dataset index\r\n\t * @returns {string[]} The list of stack IDs\r\n\t * @private\r\n\t */\r\n\t_getStacks: function(last) {\r\n\t\tvar me = this;\r\n\t\tvar scale = me._getIndexScale();\r\n\t\tvar metasets = scale._getMatchingVisibleMetas(me._type);\r\n\t\tvar stacked = scale.options.stacked;\r\n\t\tvar ilen = metasets.length;\r\n\t\tvar stacks = [];\r\n\t\tvar i, meta;\r\n\r\n\t\tfor (i = 0; i < ilen; ++i) {\r\n\t\t\tmeta = metasets[i];\r\n\t\t\t// stacked | meta.stack\r\n\t\t\t// | found | not found | undefined\r\n\t\t\t// false | x | x | x\r\n\t\t\t// true | | x |\r\n\t\t\t// undefined | | x | x\r\n\t\t\tif (stacked === false || stacks.indexOf(meta.stack) === -1 ||\r\n\t\t\t\t(stacked === undefined && meta.stack === undefined)) {\r\n\t\t\t\tstacks.push(meta.stack);\r\n\t\t\t}\r\n\t\t\tif (meta.index === last) {\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn stacks;\r\n\t},\r\n\r\n\t/**\r\n\t * Returns the effective number of stacks based on groups and bar visibility.\r\n\t * @private\r\n\t */\r\n\tgetStackCount: function() {\r\n\t\treturn this._getStacks().length;\r\n\t},\r\n\r\n\t/**\r\n\t * Returns the stack index for the given dataset based on groups and bar visibility.\r\n\t * @param {number} [datasetIndex] - The dataset index\r\n\t * @param {string} [name] - The stack name to find\r\n\t * @returns {number} The stack index\r\n\t * @private\r\n\t */\r\n\tgetStackIndex: function(datasetIndex, name) {\r\n\t\tvar stacks = this._getStacks(datasetIndex);\r\n\t\tvar index = (name !== undefined)\r\n\t\t\t? stacks.indexOf(name)\r\n\t\t\t: -1; // indexOf returns -1 if element is not present\r\n\r\n\t\treturn (index === -1)\r\n\t\t\t? stacks.length - 1\r\n\t\t\t: index;\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\tgetRuler: function() {\r\n\t\tvar me = this;\r\n\t\tvar scale = me._getIndexScale();\r\n\t\tvar pixels = [];\r\n\t\tvar i, ilen;\r\n\r\n\t\tfor (i = 0, ilen = me.getMeta().data.length; i < ilen; ++i) {\r\n\t\t\tpixels.push(scale.getPixelForValue(null, i, me.index));\r\n\t\t}\r\n\r\n\t\treturn {\r\n\t\t\tpixels: pixels,\r\n\t\t\tstart: scale._startPixel,\r\n\t\t\tend: scale._endPixel,\r\n\t\t\tstackCount: me.getStackCount(),\r\n\t\t\tscale: scale\r\n\t\t};\r\n\t},\r\n\r\n\t/**\r\n\t * Note: pixel values are not clamped to the scale area.\r\n\t * @private\r\n\t */\r\n\tcalculateBarValuePixels: function(datasetIndex, index, options) {\r\n\t\tvar me = this;\r\n\t\tvar chart = me.chart;\r\n\t\tvar scale = me._getValueScale();\r\n\t\tvar isHorizontal = scale.isHorizontal();\r\n\t\tvar datasets = chart.data.datasets;\r\n\t\tvar metasets = scale._getMatchingVisibleMetas(me._type);\r\n\t\tvar value = scale._parseValue(datasets[datasetIndex].data[index]);\r\n\t\tvar minBarLength = options.minBarLength;\r\n\t\tvar stacked = scale.options.stacked;\r\n\t\tvar stack = me.getMeta().stack;\r\n\t\tvar start = value.start === undefined ? 0 : value.max >= 0 && value.min >= 0 ? value.min : value.max;\r\n\t\tvar length = value.start === undefined ? value.end : value.max >= 0 && value.min >= 0 ? value.max - value.min : value.min - value.max;\r\n\t\tvar ilen = metasets.length;\r\n\t\tvar i, imeta, ivalue, base, head, size, stackLength;\r\n\r\n\t\tif (stacked || (stacked === undefined && stack !== undefined)) {\r\n\t\t\tfor (i = 0; i < ilen; ++i) {\r\n\t\t\t\timeta = metasets[i];\r\n\r\n\t\t\t\tif (imeta.index === datasetIndex) {\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (imeta.stack === stack) {\r\n\t\t\t\t\tstackLength = scale._parseValue(datasets[imeta.index].data[index]);\r\n\t\t\t\t\tivalue = stackLength.start === undefined ? stackLength.end : stackLength.min >= 0 && stackLength.max >= 0 ? stackLength.max : stackLength.min;\r\n\r\n\t\t\t\t\tif ((value.min < 0 && ivalue < 0) || (value.max >= 0 && ivalue > 0)) {\r\n\t\t\t\t\t\tstart += ivalue;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tbase = scale.getPixelForValue(start);\r\n\t\thead = scale.getPixelForValue(start + length);\r\n\t\tsize = head - base;\r\n\r\n\t\tif (minBarLength !== undefined && Math.abs(size) < minBarLength) {\r\n\t\t\tsize = minBarLength;\r\n\t\t\tif (length >= 0 && !isHorizontal || length < 0 && isHorizontal) {\r\n\t\t\t\thead = base - minBarLength;\r\n\t\t\t} else {\r\n\t\t\t\thead = base + minBarLength;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn {\r\n\t\t\tsize: size,\r\n\t\t\tbase: base,\r\n\t\t\thead: head,\r\n\t\t\tcenter: head + size / 2\r\n\t\t};\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\tcalculateBarIndexPixels: function(datasetIndex, index, ruler, options) {\r\n\t\tvar me = this;\r\n\t\tvar range = options.barThickness === 'flex'\r\n\t\t\t? computeFlexCategoryTraits(index, ruler, options)\r\n\t\t\t: computeFitCategoryTraits(index, ruler, options);\r\n\r\n\t\tvar stackIndex = me.getStackIndex(datasetIndex, me.getMeta().stack);\r\n\t\tvar center = range.start + (range.chunk * stackIndex) + (range.chunk / 2);\r\n\t\tvar size = Math.min(\r\n\t\t\tvalueOrDefault$3(options.maxBarThickness, Infinity),\r\n\t\t\trange.chunk * range.ratio);\r\n\r\n\t\treturn {\r\n\t\t\tbase: center - size / 2,\r\n\t\t\thead: center + size / 2,\r\n\t\t\tcenter: center,\r\n\t\t\tsize: size\r\n\t\t};\r\n\t},\r\n\r\n\tdraw: function() {\r\n\t\tvar me = this;\r\n\t\tvar chart = me.chart;\r\n\t\tvar scale = me._getValueScale();\r\n\t\tvar rects = me.getMeta().data;\r\n\t\tvar dataset = me.getDataset();\r\n\t\tvar ilen = rects.length;\r\n\t\tvar i = 0;\r\n\r\n\t\thelpers$1.canvas.clipArea(chart.ctx, chart.chartArea);\r\n\r\n\t\tfor (; i < ilen; ++i) {\r\n\t\t\tvar val = scale._parseValue(dataset.data[i]);\r\n\t\t\tif (!isNaN(val.min) && !isNaN(val.max)) {\r\n\t\t\t\trects[i].draw();\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\thelpers$1.canvas.unclipArea(chart.ctx);\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_resolveDataElementOptions: function() {\r\n\t\tvar me = this;\r\n\t\tvar values = helpers$1.extend({}, core_datasetController.prototype._resolveDataElementOptions.apply(me, arguments));\r\n\t\tvar indexOpts = me._getIndexScale().options;\r\n\t\tvar valueOpts = me._getValueScale().options;\r\n\r\n\t\tvalues.barPercentage = valueOrDefault$3(indexOpts.barPercentage, values.barPercentage);\r\n\t\tvalues.barThickness = valueOrDefault$3(indexOpts.barThickness, values.barThickness);\r\n\t\tvalues.categoryPercentage = valueOrDefault$3(indexOpts.categoryPercentage, values.categoryPercentage);\r\n\t\tvalues.maxBarThickness = valueOrDefault$3(indexOpts.maxBarThickness, values.maxBarThickness);\r\n\t\tvalues.minBarLength = valueOrDefault$3(valueOpts.minBarLength, values.minBarLength);\r\n\r\n\t\treturn values;\r\n\t}\r\n\r\n});\n\nvar valueOrDefault$4 = helpers$1.valueOrDefault;\r\nvar resolve$1 = helpers$1.options.resolve;\r\n\r\ncore_defaults._set('bubble', {\r\n\thover: {\r\n\t\tmode: 'single'\r\n\t},\r\n\r\n\tscales: {\r\n\t\txAxes: [{\r\n\t\t\ttype: 'linear', // bubble should probably use a linear scale by default\r\n\t\t\tposition: 'bottom',\r\n\t\t\tid: 'x-axis-0' // need an ID so datasets can reference the scale\r\n\t\t}],\r\n\t\tyAxes: [{\r\n\t\t\ttype: 'linear',\r\n\t\t\tposition: 'left',\r\n\t\t\tid: 'y-axis-0'\r\n\t\t}]\r\n\t},\r\n\r\n\ttooltips: {\r\n\t\tcallbacks: {\r\n\t\t\ttitle: function() {\r\n\t\t\t\t// Title doesn't make sense for scatter since we format the data as a point\r\n\t\t\t\treturn '';\r\n\t\t\t},\r\n\t\t\tlabel: function(item, data) {\r\n\t\t\t\tvar datasetLabel = data.datasets[item.datasetIndex].label || '';\r\n\t\t\t\tvar dataPoint = data.datasets[item.datasetIndex].data[item.index];\r\n\t\t\t\treturn datasetLabel + ': (' + item.xLabel + ', ' + item.yLabel + ', ' + dataPoint.r + ')';\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n});\r\n\r\nvar controller_bubble = core_datasetController.extend({\r\n\t/**\r\n\t * @protected\r\n\t */\r\n\tdataElementType: elements.Point,\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_dataElementOptions: [\r\n\t\t'backgroundColor',\r\n\t\t'borderColor',\r\n\t\t'borderWidth',\r\n\t\t'hoverBackgroundColor',\r\n\t\t'hoverBorderColor',\r\n\t\t'hoverBorderWidth',\r\n\t\t'hoverRadius',\r\n\t\t'hitRadius',\r\n\t\t'pointStyle',\r\n\t\t'rotation'\r\n\t],\r\n\r\n\t/**\r\n\t * @protected\r\n\t */\r\n\tupdate: function(reset) {\r\n\t\tvar me = this;\r\n\t\tvar meta = me.getMeta();\r\n\t\tvar points = meta.data;\r\n\r\n\t\t// Update Points\r\n\t\thelpers$1.each(points, function(point, index) {\r\n\t\t\tme.updateElement(point, index, reset);\r\n\t\t});\r\n\t},\r\n\r\n\t/**\r\n\t * @protected\r\n\t */\r\n\tupdateElement: function(point, index, reset) {\r\n\t\tvar me = this;\r\n\t\tvar meta = me.getMeta();\r\n\t\tvar custom = point.custom || {};\r\n\t\tvar xScale = me.getScaleForId(meta.xAxisID);\r\n\t\tvar yScale = me.getScaleForId(meta.yAxisID);\r\n\t\tvar options = me._resolveDataElementOptions(point, index);\r\n\t\tvar data = me.getDataset().data[index];\r\n\t\tvar dsIndex = me.index;\r\n\r\n\t\tvar x = reset ? xScale.getPixelForDecimal(0.5) : xScale.getPixelForValue(typeof data === 'object' ? data : NaN, index, dsIndex);\r\n\t\tvar y = reset ? yScale.getBasePixel() : yScale.getPixelForValue(data, index, dsIndex);\r\n\r\n\t\tpoint._xScale = xScale;\r\n\t\tpoint._yScale = yScale;\r\n\t\tpoint._options = options;\r\n\t\tpoint._datasetIndex = dsIndex;\r\n\t\tpoint._index = index;\r\n\t\tpoint._model = {\r\n\t\t\tbackgroundColor: options.backgroundColor,\r\n\t\t\tborderColor: options.borderColor,\r\n\t\t\tborderWidth: options.borderWidth,\r\n\t\t\thitRadius: options.hitRadius,\r\n\t\t\tpointStyle: options.pointStyle,\r\n\t\t\trotation: options.rotation,\r\n\t\t\tradius: reset ? 0 : options.radius,\r\n\t\t\tskip: custom.skip || isNaN(x) || isNaN(y),\r\n\t\t\tx: x,\r\n\t\t\ty: y,\r\n\t\t};\r\n\r\n\t\tpoint.pivot();\r\n\t},\r\n\r\n\t/**\r\n\t * @protected\r\n\t */\r\n\tsetHoverStyle: function(point) {\r\n\t\tvar model = point._model;\r\n\t\tvar options = point._options;\r\n\t\tvar getHoverColor = helpers$1.getHoverColor;\r\n\r\n\t\tpoint.$previousStyle = {\r\n\t\t\tbackgroundColor: model.backgroundColor,\r\n\t\t\tborderColor: model.borderColor,\r\n\t\t\tborderWidth: model.borderWidth,\r\n\t\t\tradius: model.radius\r\n\t\t};\r\n\r\n\t\tmodel.backgroundColor = valueOrDefault$4(options.hoverBackgroundColor, getHoverColor(options.backgroundColor));\r\n\t\tmodel.borderColor = valueOrDefault$4(options.hoverBorderColor, getHoverColor(options.borderColor));\r\n\t\tmodel.borderWidth = valueOrDefault$4(options.hoverBorderWidth, options.borderWidth);\r\n\t\tmodel.radius = options.radius + options.hoverRadius;\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_resolveDataElementOptions: function(point, index) {\r\n\t\tvar me = this;\r\n\t\tvar chart = me.chart;\r\n\t\tvar dataset = me.getDataset();\r\n\t\tvar custom = point.custom || {};\r\n\t\tvar data = dataset.data[index] || {};\r\n\t\tvar values = core_datasetController.prototype._resolveDataElementOptions.apply(me, arguments);\r\n\r\n\t\t// Scriptable options\r\n\t\tvar context = {\r\n\t\t\tchart: chart,\r\n\t\t\tdataIndex: index,\r\n\t\t\tdataset: dataset,\r\n\t\t\tdatasetIndex: me.index\r\n\t\t};\r\n\r\n\t\t// In case values were cached (and thus frozen), we need to clone the values\r\n\t\tif (me._cachedDataOpts === values) {\r\n\t\t\tvalues = helpers$1.extend({}, values);\r\n\t\t}\r\n\r\n\t\t// Custom radius resolution\r\n\t\tvalues.radius = resolve$1([\r\n\t\t\tcustom.radius,\r\n\t\t\tdata.r,\r\n\t\t\tme._config.radius,\r\n\t\t\tchart.options.elements.point.radius\r\n\t\t], context, index);\r\n\r\n\t\treturn values;\r\n\t}\r\n});\n\nvar valueOrDefault$5 = helpers$1.valueOrDefault;\r\n\r\nvar PI$1 = Math.PI;\r\nvar DOUBLE_PI$1 = PI$1 * 2;\r\nvar HALF_PI$1 = PI$1 / 2;\r\n\r\ncore_defaults._set('doughnut', {\r\n\tanimation: {\r\n\t\t// Boolean - Whether we animate the rotation of the Doughnut\r\n\t\tanimateRotate: true,\r\n\t\t// Boolean - Whether we animate scaling the Doughnut from the centre\r\n\t\tanimateScale: false\r\n\t},\r\n\thover: {\r\n\t\tmode: 'single'\r\n\t},\r\n\tlegendCallback: function(chart) {\r\n\t\tvar list = document.createElement('ul');\r\n\t\tvar data = chart.data;\r\n\t\tvar datasets = data.datasets;\r\n\t\tvar labels = data.labels;\r\n\t\tvar i, ilen, listItem, listItemSpan;\r\n\r\n\t\tlist.setAttribute('class', chart.id + '-legend');\r\n\t\tif (datasets.length) {\r\n\t\t\tfor (i = 0, ilen = datasets[0].data.length; i < ilen; ++i) {\r\n\t\t\t\tlistItem = list.appendChild(document.createElement('li'));\r\n\t\t\t\tlistItemSpan = listItem.appendChild(document.createElement('span'));\r\n\t\t\t\tlistItemSpan.style.backgroundColor = datasets[0].backgroundColor[i];\r\n\t\t\t\tif (labels[i]) {\r\n\t\t\t\t\tlistItem.appendChild(document.createTextNode(labels[i]));\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn list.outerHTML;\r\n\t},\r\n\tlegend: {\r\n\t\tlabels: {\r\n\t\t\tgenerateLabels: function(chart) {\r\n\t\t\t\tvar data = chart.data;\r\n\t\t\t\tif (data.labels.length && data.datasets.length) {\r\n\t\t\t\t\treturn data.labels.map(function(label, i) {\r\n\t\t\t\t\t\tvar meta = chart.getDatasetMeta(0);\r\n\t\t\t\t\t\tvar style = meta.controller.getStyle(i);\r\n\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\ttext: label,\r\n\t\t\t\t\t\t\tfillStyle: style.backgroundColor,\r\n\t\t\t\t\t\t\tstrokeStyle: style.borderColor,\r\n\t\t\t\t\t\t\tlineWidth: style.borderWidth,\r\n\t\t\t\t\t\t\thidden: isNaN(data.datasets[0].data[i]) || meta.data[i].hidden,\r\n\r\n\t\t\t\t\t\t\t// Extra data used for toggling the correct item\r\n\t\t\t\t\t\t\tindex: i\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t\treturn [];\r\n\t\t\t}\r\n\t\t},\r\n\r\n\t\tonClick: function(e, legendItem) {\r\n\t\t\tvar index = legendItem.index;\r\n\t\t\tvar chart = this.chart;\r\n\t\t\tvar i, ilen, meta;\r\n\r\n\t\t\tfor (i = 0, ilen = (chart.data.datasets || []).length; i < ilen; ++i) {\r\n\t\t\t\tmeta = chart.getDatasetMeta(i);\r\n\t\t\t\t// toggle visibility of index if exists\r\n\t\t\t\tif (meta.data[index]) {\r\n\t\t\t\t\tmeta.data[index].hidden = !meta.data[index].hidden;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tchart.update();\r\n\t\t}\r\n\t},\r\n\r\n\t// The percentage of the chart that we cut out of the middle.\r\n\tcutoutPercentage: 50,\r\n\r\n\t// The rotation of the chart, where the first data arc begins.\r\n\trotation: -HALF_PI$1,\r\n\r\n\t// The total circumference of the chart.\r\n\tcircumference: DOUBLE_PI$1,\r\n\r\n\t// Need to override these to give a nice default\r\n\ttooltips: {\r\n\t\tcallbacks: {\r\n\t\t\ttitle: function() {\r\n\t\t\t\treturn '';\r\n\t\t\t},\r\n\t\t\tlabel: function(tooltipItem, data) {\r\n\t\t\t\tvar dataLabel = data.labels[tooltipItem.index];\r\n\t\t\t\tvar value = ': ' + data.datasets[tooltipItem.datasetIndex].data[tooltipItem.index];\r\n\r\n\t\t\t\tif (helpers$1.isArray(dataLabel)) {\r\n\t\t\t\t\t// show value on first line of multiline label\r\n\t\t\t\t\t// need to clone because we are changing the value\r\n\t\t\t\t\tdataLabel = dataLabel.slice();\r\n\t\t\t\t\tdataLabel[0] += value;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tdataLabel += value;\r\n\t\t\t\t}\r\n\r\n\t\t\t\treturn dataLabel;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n});\r\n\r\nvar controller_doughnut = core_datasetController.extend({\r\n\r\n\tdataElementType: elements.Arc,\r\n\r\n\tlinkScales: helpers$1.noop,\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_dataElementOptions: [\r\n\t\t'backgroundColor',\r\n\t\t'borderColor',\r\n\t\t'borderWidth',\r\n\t\t'borderAlign',\r\n\t\t'hoverBackgroundColor',\r\n\t\t'hoverBorderColor',\r\n\t\t'hoverBorderWidth',\r\n\t],\r\n\r\n\t// Get index of the dataset in relation to the visible datasets. This allows determining the inner and outer radius correctly\r\n\tgetRingIndex: function(datasetIndex) {\r\n\t\tvar ringIndex = 0;\r\n\r\n\t\tfor (var j = 0; j < datasetIndex; ++j) {\r\n\t\t\tif (this.chart.isDatasetVisible(j)) {\r\n\t\t\t\t++ringIndex;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn ringIndex;\r\n\t},\r\n\r\n\tupdate: function(reset) {\r\n\t\tvar me = this;\r\n\t\tvar chart = me.chart;\r\n\t\tvar chartArea = chart.chartArea;\r\n\t\tvar opts = chart.options;\r\n\t\tvar ratioX = 1;\r\n\t\tvar ratioY = 1;\r\n\t\tvar offsetX = 0;\r\n\t\tvar offsetY = 0;\r\n\t\tvar meta = me.getMeta();\r\n\t\tvar arcs = meta.data;\r\n\t\tvar cutout = opts.cutoutPercentage / 100 || 0;\r\n\t\tvar circumference = opts.circumference;\r\n\t\tvar chartWeight = me._getRingWeight(me.index);\r\n\t\tvar maxWidth, maxHeight, i, ilen;\r\n\r\n\t\t// If the chart's circumference isn't a full circle, calculate size as a ratio of the width/height of the arc\r\n\t\tif (circumference < DOUBLE_PI$1) {\r\n\t\t\tvar startAngle = opts.rotation % DOUBLE_PI$1;\r\n\t\t\tstartAngle += startAngle >= PI$1 ? -DOUBLE_PI$1 : startAngle < -PI$1 ? DOUBLE_PI$1 : 0;\r\n\t\t\tvar endAngle = startAngle + circumference;\r\n\t\t\tvar startX = Math.cos(startAngle);\r\n\t\t\tvar startY = Math.sin(startAngle);\r\n\t\t\tvar endX = Math.cos(endAngle);\r\n\t\t\tvar endY = Math.sin(endAngle);\r\n\t\t\tvar contains0 = (startAngle <= 0 && endAngle >= 0) || endAngle >= DOUBLE_PI$1;\r\n\t\t\tvar contains90 = (startAngle <= HALF_PI$1 && endAngle >= HALF_PI$1) || endAngle >= DOUBLE_PI$1 + HALF_PI$1;\r\n\t\t\tvar contains180 = startAngle === -PI$1 || endAngle >= PI$1;\r\n\t\t\tvar contains270 = (startAngle <= -HALF_PI$1 && endAngle >= -HALF_PI$1) || endAngle >= PI$1 + HALF_PI$1;\r\n\t\t\tvar minX = contains180 ? -1 : Math.min(startX, startX * cutout, endX, endX * cutout);\r\n\t\t\tvar minY = contains270 ? -1 : Math.min(startY, startY * cutout, endY, endY * cutout);\r\n\t\t\tvar maxX = contains0 ? 1 : Math.max(startX, startX * cutout, endX, endX * cutout);\r\n\t\t\tvar maxY = contains90 ? 1 : Math.max(startY, startY * cutout, endY, endY * cutout);\r\n\t\t\tratioX = (maxX - minX) / 2;\r\n\t\t\tratioY = (maxY - minY) / 2;\r\n\t\t\toffsetX = -(maxX + minX) / 2;\r\n\t\t\toffsetY = -(maxY + minY) / 2;\r\n\t\t}\r\n\r\n\t\tfor (i = 0, ilen = arcs.length; i < ilen; ++i) {\r\n\t\t\tarcs[i]._options = me._resolveDataElementOptions(arcs[i], i);\r\n\t\t}\r\n\r\n\t\tchart.borderWidth = me.getMaxBorderWidth();\r\n\t\tmaxWidth = (chartArea.right - chartArea.left - chart.borderWidth) / ratioX;\r\n\t\tmaxHeight = (chartArea.bottom - chartArea.top - chart.borderWidth) / ratioY;\r\n\t\tchart.outerRadius = Math.max(Math.min(maxWidth, maxHeight) / 2, 0);\r\n\t\tchart.innerRadius = Math.max(chart.outerRadius * cutout, 0);\r\n\t\tchart.radiusLength = (chart.outerRadius - chart.innerRadius) / (me._getVisibleDatasetWeightTotal() || 1);\r\n\t\tchart.offsetX = offsetX * chart.outerRadius;\r\n\t\tchart.offsetY = offsetY * chart.outerRadius;\r\n\r\n\t\tmeta.total = me.calculateTotal();\r\n\r\n\t\tme.outerRadius = chart.outerRadius - chart.radiusLength * me._getRingWeightOffset(me.index);\r\n\t\tme.innerRadius = Math.max(me.outerRadius - chart.radiusLength * chartWeight, 0);\r\n\r\n\t\tfor (i = 0, ilen = arcs.length; i < ilen; ++i) {\r\n\t\t\tme.updateElement(arcs[i], i, reset);\r\n\t\t}\r\n\t},\r\n\r\n\tupdateElement: function(arc, index, reset) {\r\n\t\tvar me = this;\r\n\t\tvar chart = me.chart;\r\n\t\tvar chartArea = chart.chartArea;\r\n\t\tvar opts = chart.options;\r\n\t\tvar animationOpts = opts.animation;\r\n\t\tvar centerX = (chartArea.left + chartArea.right) / 2;\r\n\t\tvar centerY = (chartArea.top + chartArea.bottom) / 2;\r\n\t\tvar startAngle = opts.rotation; // non reset case handled later\r\n\t\tvar endAngle = opts.rotation; // non reset case handled later\r\n\t\tvar dataset = me.getDataset();\r\n\t\tvar circumference = reset && animationOpts.animateRotate ? 0 : arc.hidden ? 0 : me.calculateCircumference(dataset.data[index]) * (opts.circumference / DOUBLE_PI$1);\r\n\t\tvar innerRadius = reset && animationOpts.animateScale ? 0 : me.innerRadius;\r\n\t\tvar outerRadius = reset && animationOpts.animateScale ? 0 : me.outerRadius;\r\n\t\tvar options = arc._options || {};\r\n\r\n\t\thelpers$1.extend(arc, {\r\n\t\t\t// Utility\r\n\t\t\t_datasetIndex: me.index,\r\n\t\t\t_index: index,\r\n\r\n\t\t\t// Desired view properties\r\n\t\t\t_model: {\r\n\t\t\t\tbackgroundColor: options.backgroundColor,\r\n\t\t\t\tborderColor: options.borderColor,\r\n\t\t\t\tborderWidth: options.borderWidth,\r\n\t\t\t\tborderAlign: options.borderAlign,\r\n\t\t\t\tx: centerX + chart.offsetX,\r\n\t\t\t\ty: centerY + chart.offsetY,\r\n\t\t\t\tstartAngle: startAngle,\r\n\t\t\t\tendAngle: endAngle,\r\n\t\t\t\tcircumference: circumference,\r\n\t\t\t\touterRadius: outerRadius,\r\n\t\t\t\tinnerRadius: innerRadius,\r\n\t\t\t\tlabel: helpers$1.valueAtIndexOrDefault(dataset.label, index, chart.data.labels[index])\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tvar model = arc._model;\r\n\r\n\t\t// Set correct angles if not resetting\r\n\t\tif (!reset || !animationOpts.animateRotate) {\r\n\t\t\tif (index === 0) {\r\n\t\t\t\tmodel.startAngle = opts.rotation;\r\n\t\t\t} else {\r\n\t\t\t\tmodel.startAngle = me.getMeta().data[index - 1]._model.endAngle;\r\n\t\t\t}\r\n\r\n\t\t\tmodel.endAngle = model.startAngle + model.circumference;\r\n\t\t}\r\n\r\n\t\tarc.pivot();\r\n\t},\r\n\r\n\tcalculateTotal: function() {\r\n\t\tvar dataset = this.getDataset();\r\n\t\tvar meta = this.getMeta();\r\n\t\tvar total = 0;\r\n\t\tvar value;\r\n\r\n\t\thelpers$1.each(meta.data, function(element, index) {\r\n\t\t\tvalue = dataset.data[index];\r\n\t\t\tif (!isNaN(value) && !element.hidden) {\r\n\t\t\t\ttotal += Math.abs(value);\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\t/* if (total === 0) {\r\n\t\t\ttotal = NaN;\r\n\t\t}*/\r\n\r\n\t\treturn total;\r\n\t},\r\n\r\n\tcalculateCircumference: function(value) {\r\n\t\tvar total = this.getMeta().total;\r\n\t\tif (total > 0 && !isNaN(value)) {\r\n\t\t\treturn DOUBLE_PI$1 * (Math.abs(value) / total);\r\n\t\t}\r\n\t\treturn 0;\r\n\t},\r\n\r\n\t// gets the max border or hover width to properly scale pie charts\r\n\tgetMaxBorderWidth: function(arcs) {\r\n\t\tvar me = this;\r\n\t\tvar max = 0;\r\n\t\tvar chart = me.chart;\r\n\t\tvar i, ilen, meta, arc, controller, options, borderWidth, hoverWidth;\r\n\r\n\t\tif (!arcs) {\r\n\t\t\t// Find the outmost visible dataset\r\n\t\t\tfor (i = 0, ilen = chart.data.datasets.length; i < ilen; ++i) {\r\n\t\t\t\tif (chart.isDatasetVisible(i)) {\r\n\t\t\t\t\tmeta = chart.getDatasetMeta(i);\r\n\t\t\t\t\tarcs = meta.data;\r\n\t\t\t\t\tif (i !== me.index) {\r\n\t\t\t\t\t\tcontroller = meta.controller;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (!arcs) {\r\n\t\t\treturn 0;\r\n\t\t}\r\n\r\n\t\tfor (i = 0, ilen = arcs.length; i < ilen; ++i) {\r\n\t\t\tarc = arcs[i];\r\n\t\t\tif (controller) {\r\n\t\t\t\tcontroller._configure();\r\n\t\t\t\toptions = controller._resolveDataElementOptions(arc, i);\r\n\t\t\t} else {\r\n\t\t\t\toptions = arc._options;\r\n\t\t\t}\r\n\t\t\tif (options.borderAlign !== 'inner') {\r\n\t\t\t\tborderWidth = options.borderWidth;\r\n\t\t\t\thoverWidth = options.hoverBorderWidth;\r\n\r\n\t\t\t\tmax = borderWidth > max ? borderWidth : max;\r\n\t\t\t\tmax = hoverWidth > max ? hoverWidth : max;\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn max;\r\n\t},\r\n\r\n\t/**\r\n\t * @protected\r\n\t */\r\n\tsetHoverStyle: function(arc) {\r\n\t\tvar model = arc._model;\r\n\t\tvar options = arc._options;\r\n\t\tvar getHoverColor = helpers$1.getHoverColor;\r\n\r\n\t\tarc.$previousStyle = {\r\n\t\t\tbackgroundColor: model.backgroundColor,\r\n\t\t\tborderColor: model.borderColor,\r\n\t\t\tborderWidth: model.borderWidth,\r\n\t\t};\r\n\r\n\t\tmodel.backgroundColor = valueOrDefault$5(options.hoverBackgroundColor, getHoverColor(options.backgroundColor));\r\n\t\tmodel.borderColor = valueOrDefault$5(options.hoverBorderColor, getHoverColor(options.borderColor));\r\n\t\tmodel.borderWidth = valueOrDefault$5(options.hoverBorderWidth, options.borderWidth);\r\n\t},\r\n\r\n\t/**\r\n\t * Get radius length offset of the dataset in relation to the visible datasets weights. This allows determining the inner and outer radius correctly\r\n\t * @private\r\n\t */\r\n\t_getRingWeightOffset: function(datasetIndex) {\r\n\t\tvar ringWeightOffset = 0;\r\n\r\n\t\tfor (var i = 0; i < datasetIndex; ++i) {\r\n\t\t\tif (this.chart.isDatasetVisible(i)) {\r\n\t\t\t\tringWeightOffset += this._getRingWeight(i);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn ringWeightOffset;\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_getRingWeight: function(dataSetIndex) {\r\n\t\treturn Math.max(valueOrDefault$5(this.chart.data.datasets[dataSetIndex].weight, 1), 0);\r\n\t},\r\n\r\n\t/**\r\n\t * Returns the sum of all visibile data set weights. This value can be 0.\r\n\t * @private\r\n\t */\r\n\t_getVisibleDatasetWeightTotal: function() {\r\n\t\treturn this._getRingWeightOffset(this.chart.data.datasets.length);\r\n\t}\r\n});\n\ncore_defaults._set('horizontalBar', {\r\n\thover: {\r\n\t\tmode: 'index',\r\n\t\taxis: 'y'\r\n\t},\r\n\r\n\tscales: {\r\n\t\txAxes: [{\r\n\t\t\ttype: 'linear',\r\n\t\t\tposition: 'bottom'\r\n\t\t}],\r\n\r\n\t\tyAxes: [{\r\n\t\t\ttype: 'category',\r\n\t\t\tposition: 'left',\r\n\t\t\toffset: true,\r\n\t\t\tgridLines: {\r\n\t\t\t\toffsetGridLines: true\r\n\t\t\t}\r\n\t\t}]\r\n\t},\r\n\r\n\telements: {\r\n\t\trectangle: {\r\n\t\t\tborderSkipped: 'left'\r\n\t\t}\r\n\t},\r\n\r\n\ttooltips: {\r\n\t\tmode: 'index',\r\n\t\taxis: 'y'\r\n\t}\r\n});\r\n\r\ncore_defaults._set('global', {\r\n\tdatasets: {\r\n\t\thorizontalBar: {\r\n\t\t\tcategoryPercentage: 0.8,\r\n\t\t\tbarPercentage: 0.9\r\n\t\t}\r\n\t}\r\n});\r\n\r\nvar controller_horizontalBar = controller_bar.extend({\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_getValueScaleId: function() {\r\n\t\treturn this.getMeta().xAxisID;\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_getIndexScaleId: function() {\r\n\t\treturn this.getMeta().yAxisID;\r\n\t}\r\n});\n\nvar valueOrDefault$6 = helpers$1.valueOrDefault;\r\nvar resolve$2 = helpers$1.options.resolve;\r\nvar isPointInArea = helpers$1.canvas._isPointInArea;\r\n\r\ncore_defaults._set('line', {\r\n\tshowLines: true,\r\n\tspanGaps: false,\r\n\r\n\thover: {\r\n\t\tmode: 'label'\r\n\t},\r\n\r\n\tscales: {\r\n\t\txAxes: [{\r\n\t\t\ttype: 'category',\r\n\t\t\tid: 'x-axis-0'\r\n\t\t}],\r\n\t\tyAxes: [{\r\n\t\t\ttype: 'linear',\r\n\t\t\tid: 'y-axis-0'\r\n\t\t}]\r\n\t}\r\n});\r\n\r\nfunction scaleClip(scale, halfBorderWidth) {\r\n\tvar tickOpts = scale && scale.options.ticks || {};\r\n\tvar reverse = tickOpts.reverse;\r\n\tvar min = tickOpts.min === undefined ? halfBorderWidth : 0;\r\n\tvar max = tickOpts.max === undefined ? halfBorderWidth : 0;\r\n\treturn {\r\n\t\tstart: reverse ? max : min,\r\n\t\tend: reverse ? min : max\r\n\t};\r\n}\r\n\r\nfunction defaultClip(xScale, yScale, borderWidth) {\r\n\tvar halfBorderWidth = borderWidth / 2;\r\n\tvar x = scaleClip(xScale, halfBorderWidth);\r\n\tvar y = scaleClip(yScale, halfBorderWidth);\r\n\r\n\treturn {\r\n\t\ttop: y.end,\r\n\t\tright: x.end,\r\n\t\tbottom: y.start,\r\n\t\tleft: x.start\r\n\t};\r\n}\r\n\r\nfunction toClip(value) {\r\n\tvar t, r, b, l;\r\n\r\n\tif (helpers$1.isObject(value)) {\r\n\t\tt = value.top;\r\n\t\tr = value.right;\r\n\t\tb = value.bottom;\r\n\t\tl = value.left;\r\n\t} else {\r\n\t\tt = r = b = l = value;\r\n\t}\r\n\r\n\treturn {\r\n\t\ttop: t,\r\n\t\tright: r,\r\n\t\tbottom: b,\r\n\t\tleft: l\r\n\t};\r\n}\r\n\r\n\r\nvar controller_line = core_datasetController.extend({\r\n\r\n\tdatasetElementType: elements.Line,\r\n\r\n\tdataElementType: elements.Point,\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_datasetElementOptions: [\r\n\t\t'backgroundColor',\r\n\t\t'borderCapStyle',\r\n\t\t'borderColor',\r\n\t\t'borderDash',\r\n\t\t'borderDashOffset',\r\n\t\t'borderJoinStyle',\r\n\t\t'borderWidth',\r\n\t\t'cubicInterpolationMode',\r\n\t\t'fill'\r\n\t],\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_dataElementOptions: {\r\n\t\tbackgroundColor: 'pointBackgroundColor',\r\n\t\tborderColor: 'pointBorderColor',\r\n\t\tborderWidth: 'pointBorderWidth',\r\n\t\thitRadius: 'pointHitRadius',\r\n\t\thoverBackgroundColor: 'pointHoverBackgroundColor',\r\n\t\thoverBorderColor: 'pointHoverBorderColor',\r\n\t\thoverBorderWidth: 'pointHoverBorderWidth',\r\n\t\thoverRadius: 'pointHoverRadius',\r\n\t\tpointStyle: 'pointStyle',\r\n\t\tradius: 'pointRadius',\r\n\t\trotation: 'pointRotation'\r\n\t},\r\n\r\n\tupdate: function(reset) {\r\n\t\tvar me = this;\r\n\t\tvar meta = me.getMeta();\r\n\t\tvar line = meta.dataset;\r\n\t\tvar points = meta.data || [];\r\n\t\tvar options = me.chart.options;\r\n\t\tvar config = me._config;\r\n\t\tvar showLine = me._showLine = valueOrDefault$6(config.showLine, options.showLines);\r\n\t\tvar i, ilen;\r\n\r\n\t\tme._xScale = me.getScaleForId(meta.xAxisID);\r\n\t\tme._yScale = me.getScaleForId(meta.yAxisID);\r\n\r\n\t\t// Update Line\r\n\t\tif (showLine) {\r\n\t\t\t// Compatibility: If the properties are defined with only the old name, use those values\r\n\t\t\tif (config.tension !== undefined && config.lineTension === undefined) {\r\n\t\t\t\tconfig.lineTension = config.tension;\r\n\t\t\t}\r\n\r\n\t\t\t// Utility\r\n\t\t\tline._scale = me._yScale;\r\n\t\t\tline._datasetIndex = me.index;\r\n\t\t\t// Data\r\n\t\t\tline._children = points;\r\n\t\t\t// Model\r\n\t\t\tline._model = me._resolveDatasetElementOptions(line);\r\n\r\n\t\t\tline.pivot();\r\n\t\t}\r\n\r\n\t\t// Update Points\r\n\t\tfor (i = 0, ilen = points.length; i < ilen; ++i) {\r\n\t\t\tme.updateElement(points[i], i, reset);\r\n\t\t}\r\n\r\n\t\tif (showLine && line._model.tension !== 0) {\r\n\t\t\tme.updateBezierControlPoints();\r\n\t\t}\r\n\r\n\t\t// Now pivot the point for animation\r\n\t\tfor (i = 0, ilen = points.length; i < ilen; ++i) {\r\n\t\t\tpoints[i].pivot();\r\n\t\t}\r\n\t},\r\n\r\n\tupdateElement: function(point, index, reset) {\r\n\t\tvar me = this;\r\n\t\tvar meta = me.getMeta();\r\n\t\tvar custom = point.custom || {};\r\n\t\tvar dataset = me.getDataset();\r\n\t\tvar datasetIndex = me.index;\r\n\t\tvar value = dataset.data[index];\r\n\t\tvar xScale = me._xScale;\r\n\t\tvar yScale = me._yScale;\r\n\t\tvar lineModel = meta.dataset._model;\r\n\t\tvar x, y;\r\n\r\n\t\tvar options = me._resolveDataElementOptions(point, index);\r\n\r\n\t\tx = xScale.getPixelForValue(typeof value === 'object' ? value : NaN, index, datasetIndex);\r\n\t\ty = reset ? yScale.getBasePixel() : me.calculatePointY(value, index, datasetIndex);\r\n\r\n\t\t// Utility\r\n\t\tpoint._xScale = xScale;\r\n\t\tpoint._yScale = yScale;\r\n\t\tpoint._options = options;\r\n\t\tpoint._datasetIndex = datasetIndex;\r\n\t\tpoint._index = index;\r\n\r\n\t\t// Desired view properties\r\n\t\tpoint._model = {\r\n\t\t\tx: x,\r\n\t\t\ty: y,\r\n\t\t\tskip: custom.skip || isNaN(x) || isNaN(y),\r\n\t\t\t// Appearance\r\n\t\t\tradius: options.radius,\r\n\t\t\tpointStyle: options.pointStyle,\r\n\t\t\trotation: options.rotation,\r\n\t\t\tbackgroundColor: options.backgroundColor,\r\n\t\t\tborderColor: options.borderColor,\r\n\t\t\tborderWidth: options.borderWidth,\r\n\t\t\ttension: valueOrDefault$6(custom.tension, lineModel ? lineModel.tension : 0),\r\n\t\t\tsteppedLine: lineModel ? lineModel.steppedLine : false,\r\n\t\t\t// Tooltip\r\n\t\t\thitRadius: options.hitRadius\r\n\t\t};\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_resolveDatasetElementOptions: function(element) {\r\n\t\tvar me = this;\r\n\t\tvar config = me._config;\r\n\t\tvar custom = element.custom || {};\r\n\t\tvar options = me.chart.options;\r\n\t\tvar lineOptions = options.elements.line;\r\n\t\tvar values = core_datasetController.prototype._resolveDatasetElementOptions.apply(me, arguments);\r\n\r\n\t\t// The default behavior of lines is to break at null values, according\r\n\t\t// to https://github.com/chartjs/Chart.js/issues/2435#issuecomment-216718158\r\n\t\t// This option gives lines the ability to span gaps\r\n\t\tvalues.spanGaps = valueOrDefault$6(config.spanGaps, options.spanGaps);\r\n\t\tvalues.tension = valueOrDefault$6(config.lineTension, lineOptions.tension);\r\n\t\tvalues.steppedLine = resolve$2([custom.steppedLine, config.steppedLine, lineOptions.stepped]);\r\n\t\tvalues.clip = toClip(valueOrDefault$6(config.clip, defaultClip(me._xScale, me._yScale, values.borderWidth)));\r\n\r\n\t\treturn values;\r\n\t},\r\n\r\n\tcalculatePointY: function(value, index, datasetIndex) {\r\n\t\tvar me = this;\r\n\t\tvar chart = me.chart;\r\n\t\tvar yScale = me._yScale;\r\n\t\tvar sumPos = 0;\r\n\t\tvar sumNeg = 0;\r\n\t\tvar i, ds, dsMeta, stackedRightValue, rightValue, metasets, ilen;\r\n\r\n\t\tif (yScale.options.stacked) {\r\n\t\t\trightValue = +yScale.getRightValue(value);\r\n\t\t\tmetasets = chart._getSortedVisibleDatasetMetas();\r\n\t\t\tilen = metasets.length;\r\n\r\n\t\t\tfor (i = 0; i < ilen; ++i) {\r\n\t\t\t\tdsMeta = metasets[i];\r\n\t\t\t\tif (dsMeta.index === datasetIndex) {\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tds = chart.data.datasets[dsMeta.index];\r\n\t\t\t\tif (dsMeta.type === 'line' && dsMeta.yAxisID === yScale.id) {\r\n\t\t\t\t\tstackedRightValue = +yScale.getRightValue(ds.data[index]);\r\n\t\t\t\t\tif (stackedRightValue < 0) {\r\n\t\t\t\t\t\tsumNeg += stackedRightValue || 0;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tsumPos += stackedRightValue || 0;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif (rightValue < 0) {\r\n\t\t\t\treturn yScale.getPixelForValue(sumNeg + rightValue);\r\n\t\t\t}\r\n\t\t\treturn yScale.getPixelForValue(sumPos + rightValue);\r\n\t\t}\r\n\t\treturn yScale.getPixelForValue(value);\r\n\t},\r\n\r\n\tupdateBezierControlPoints: function() {\r\n\t\tvar me = this;\r\n\t\tvar chart = me.chart;\r\n\t\tvar meta = me.getMeta();\r\n\t\tvar lineModel = meta.dataset._model;\r\n\t\tvar area = chart.chartArea;\r\n\t\tvar points = meta.data || [];\r\n\t\tvar i, ilen, model, controlPoints;\r\n\r\n\t\t// Only consider points that are drawn in case the spanGaps option is used\r\n\t\tif (lineModel.spanGaps) {\r\n\t\t\tpoints = points.filter(function(pt) {\r\n\t\t\t\treturn !pt._model.skip;\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tfunction capControlPoint(pt, min, max) {\r\n\t\t\treturn Math.max(Math.min(pt, max), min);\r\n\t\t}\r\n\r\n\t\tif (lineModel.cubicInterpolationMode === 'monotone') {\r\n\t\t\thelpers$1.splineCurveMonotone(points);\r\n\t\t} else {\r\n\t\t\tfor (i = 0, ilen = points.length; i < ilen; ++i) {\r\n\t\t\t\tmodel = points[i]._model;\r\n\t\t\t\tcontrolPoints = helpers$1.splineCurve(\r\n\t\t\t\t\thelpers$1.previousItem(points, i)._model,\r\n\t\t\t\t\tmodel,\r\n\t\t\t\t\thelpers$1.nextItem(points, i)._model,\r\n\t\t\t\t\tlineModel.tension\r\n\t\t\t\t);\r\n\t\t\t\tmodel.controlPointPreviousX = controlPoints.previous.x;\r\n\t\t\t\tmodel.controlPointPreviousY = controlPoints.previous.y;\r\n\t\t\t\tmodel.controlPointNextX = controlPoints.next.x;\r\n\t\t\t\tmodel.controlPointNextY = controlPoints.next.y;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (chart.options.elements.line.capBezierPoints) {\r\n\t\t\tfor (i = 0, ilen = points.length; i < ilen; ++i) {\r\n\t\t\t\tmodel = points[i]._model;\r\n\t\t\t\tif (isPointInArea(model, area)) {\r\n\t\t\t\t\tif (i > 0 && isPointInArea(points[i - 1]._model, area)) {\r\n\t\t\t\t\t\tmodel.controlPointPreviousX = capControlPoint(model.controlPointPreviousX, area.left, area.right);\r\n\t\t\t\t\t\tmodel.controlPointPreviousY = capControlPoint(model.controlPointPreviousY, area.top, area.bottom);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (i < points.length - 1 && isPointInArea(points[i + 1]._model, area)) {\r\n\t\t\t\t\t\tmodel.controlPointNextX = capControlPoint(model.controlPointNextX, area.left, area.right);\r\n\t\t\t\t\t\tmodel.controlPointNextY = capControlPoint(model.controlPointNextY, area.top, area.bottom);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\r\n\tdraw: function() {\r\n\t\tvar me = this;\r\n\t\tvar chart = me.chart;\r\n\t\tvar meta = me.getMeta();\r\n\t\tvar points = meta.data || [];\r\n\t\tvar area = chart.chartArea;\r\n\t\tvar canvas = chart.canvas;\r\n\t\tvar i = 0;\r\n\t\tvar ilen = points.length;\r\n\t\tvar clip;\r\n\r\n\t\tif (me._showLine) {\r\n\t\t\tclip = meta.dataset._model.clip;\r\n\r\n\t\t\thelpers$1.canvas.clipArea(chart.ctx, {\r\n\t\t\t\tleft: clip.left === false ? 0 : area.left - clip.left,\r\n\t\t\t\tright: clip.right === false ? canvas.width : area.right + clip.right,\r\n\t\t\t\ttop: clip.top === false ? 0 : area.top - clip.top,\r\n\t\t\t\tbottom: clip.bottom === false ? canvas.height : area.bottom + clip.bottom\r\n\t\t\t});\r\n\r\n\t\t\tmeta.dataset.draw();\r\n\r\n\t\t\thelpers$1.canvas.unclipArea(chart.ctx);\r\n\t\t}\r\n\r\n\t\t// Draw the points\r\n\t\tfor (; i < ilen; ++i) {\r\n\t\t\tpoints[i].draw(area);\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * @protected\r\n\t */\r\n\tsetHoverStyle: function(point) {\r\n\t\tvar model = point._model;\r\n\t\tvar options = point._options;\r\n\t\tvar getHoverColor = helpers$1.getHoverColor;\r\n\r\n\t\tpoint.$previousStyle = {\r\n\t\t\tbackgroundColor: model.backgroundColor,\r\n\t\t\tborderColor: model.borderColor,\r\n\t\t\tborderWidth: model.borderWidth,\r\n\t\t\tradius: model.radius\r\n\t\t};\r\n\r\n\t\tmodel.backgroundColor = valueOrDefault$6(options.hoverBackgroundColor, getHoverColor(options.backgroundColor));\r\n\t\tmodel.borderColor = valueOrDefault$6(options.hoverBorderColor, getHoverColor(options.borderColor));\r\n\t\tmodel.borderWidth = valueOrDefault$6(options.hoverBorderWidth, options.borderWidth);\r\n\t\tmodel.radius = valueOrDefault$6(options.hoverRadius, options.radius);\r\n\t},\r\n});\n\nvar resolve$3 = helpers$1.options.resolve;\r\n\r\ncore_defaults._set('polarArea', {\r\n\tscale: {\r\n\t\ttype: 'radialLinear',\r\n\t\tangleLines: {\r\n\t\t\tdisplay: false\r\n\t\t},\r\n\t\tgridLines: {\r\n\t\t\tcircular: true\r\n\t\t},\r\n\t\tpointLabels: {\r\n\t\t\tdisplay: false\r\n\t\t},\r\n\t\tticks: {\r\n\t\t\tbeginAtZero: true\r\n\t\t}\r\n\t},\r\n\r\n\t// Boolean - Whether to animate the rotation of the chart\r\n\tanimation: {\r\n\t\tanimateRotate: true,\r\n\t\tanimateScale: true\r\n\t},\r\n\r\n\tstartAngle: -0.5 * Math.PI,\r\n\tlegendCallback: function(chart) {\r\n\t\tvar list = document.createElement('ul');\r\n\t\tvar data = chart.data;\r\n\t\tvar datasets = data.datasets;\r\n\t\tvar labels = data.labels;\r\n\t\tvar i, ilen, listItem, listItemSpan;\r\n\r\n\t\tlist.setAttribute('class', chart.id + '-legend');\r\n\t\tif (datasets.length) {\r\n\t\t\tfor (i = 0, ilen = datasets[0].data.length; i < ilen; ++i) {\r\n\t\t\t\tlistItem = list.appendChild(document.createElement('li'));\r\n\t\t\t\tlistItemSpan = listItem.appendChild(document.createElement('span'));\r\n\t\t\t\tlistItemSpan.style.backgroundColor = datasets[0].backgroundColor[i];\r\n\t\t\t\tif (labels[i]) {\r\n\t\t\t\t\tlistItem.appendChild(document.createTextNode(labels[i]));\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn list.outerHTML;\r\n\t},\r\n\tlegend: {\r\n\t\tlabels: {\r\n\t\t\tgenerateLabels: function(chart) {\r\n\t\t\t\tvar data = chart.data;\r\n\t\t\t\tif (data.labels.length && data.datasets.length) {\r\n\t\t\t\t\treturn data.labels.map(function(label, i) {\r\n\t\t\t\t\t\tvar meta = chart.getDatasetMeta(0);\r\n\t\t\t\t\t\tvar style = meta.controller.getStyle(i);\r\n\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\ttext: label,\r\n\t\t\t\t\t\t\tfillStyle: style.backgroundColor,\r\n\t\t\t\t\t\t\tstrokeStyle: style.borderColor,\r\n\t\t\t\t\t\t\tlineWidth: style.borderWidth,\r\n\t\t\t\t\t\t\thidden: isNaN(data.datasets[0].data[i]) || meta.data[i].hidden,\r\n\r\n\t\t\t\t\t\t\t// Extra data used for toggling the correct item\r\n\t\t\t\t\t\t\tindex: i\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t\treturn [];\r\n\t\t\t}\r\n\t\t},\r\n\r\n\t\tonClick: function(e, legendItem) {\r\n\t\t\tvar index = legendItem.index;\r\n\t\t\tvar chart = this.chart;\r\n\t\t\tvar i, ilen, meta;\r\n\r\n\t\t\tfor (i = 0, ilen = (chart.data.datasets || []).length; i < ilen; ++i) {\r\n\t\t\t\tmeta = chart.getDatasetMeta(i);\r\n\t\t\t\tmeta.data[index].hidden = !meta.data[index].hidden;\r\n\t\t\t}\r\n\r\n\t\t\tchart.update();\r\n\t\t}\r\n\t},\r\n\r\n\t// Need to override these to give a nice default\r\n\ttooltips: {\r\n\t\tcallbacks: {\r\n\t\t\ttitle: function() {\r\n\t\t\t\treturn '';\r\n\t\t\t},\r\n\t\t\tlabel: function(item, data) {\r\n\t\t\t\treturn data.labels[item.index] + ': ' + item.yLabel;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n});\r\n\r\nvar controller_polarArea = core_datasetController.extend({\r\n\r\n\tdataElementType: elements.Arc,\r\n\r\n\tlinkScales: helpers$1.noop,\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_dataElementOptions: [\r\n\t\t'backgroundColor',\r\n\t\t'borderColor',\r\n\t\t'borderWidth',\r\n\t\t'borderAlign',\r\n\t\t'hoverBackgroundColor',\r\n\t\t'hoverBorderColor',\r\n\t\t'hoverBorderWidth',\r\n\t],\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_getIndexScaleId: function() {\r\n\t\treturn this.chart.scale.id;\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_getValueScaleId: function() {\r\n\t\treturn this.chart.scale.id;\r\n\t},\r\n\r\n\tupdate: function(reset) {\r\n\t\tvar me = this;\r\n\t\tvar dataset = me.getDataset();\r\n\t\tvar meta = me.getMeta();\r\n\t\tvar start = me.chart.options.startAngle || 0;\r\n\t\tvar starts = me._starts = [];\r\n\t\tvar angles = me._angles = [];\r\n\t\tvar arcs = meta.data;\r\n\t\tvar i, ilen, angle;\r\n\r\n\t\tme._updateRadius();\r\n\r\n\t\tmeta.count = me.countVisibleElements();\r\n\r\n\t\tfor (i = 0, ilen = dataset.data.length; i < ilen; i++) {\r\n\t\t\tstarts[i] = start;\r\n\t\t\tangle = me._computeAngle(i);\r\n\t\t\tangles[i] = angle;\r\n\t\t\tstart += angle;\r\n\t\t}\r\n\r\n\t\tfor (i = 0, ilen = arcs.length; i < ilen; ++i) {\r\n\t\t\tarcs[i]._options = me._resolveDataElementOptions(arcs[i], i);\r\n\t\t\tme.updateElement(arcs[i], i, reset);\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_updateRadius: function() {\r\n\t\tvar me = this;\r\n\t\tvar chart = me.chart;\r\n\t\tvar chartArea = chart.chartArea;\r\n\t\tvar opts = chart.options;\r\n\t\tvar minSize = Math.min(chartArea.right - chartArea.left, chartArea.bottom - chartArea.top);\r\n\r\n\t\tchart.outerRadius = Math.max(minSize / 2, 0);\r\n\t\tchart.innerRadius = Math.max(opts.cutoutPercentage ? (chart.outerRadius / 100) * (opts.cutoutPercentage) : 1, 0);\r\n\t\tchart.radiusLength = (chart.outerRadius - chart.innerRadius) / chart.getVisibleDatasetCount();\r\n\r\n\t\tme.outerRadius = chart.outerRadius - (chart.radiusLength * me.index);\r\n\t\tme.innerRadius = me.outerRadius - chart.radiusLength;\r\n\t},\r\n\r\n\tupdateElement: function(arc, index, reset) {\r\n\t\tvar me = this;\r\n\t\tvar chart = me.chart;\r\n\t\tvar dataset = me.getDataset();\r\n\t\tvar opts = chart.options;\r\n\t\tvar animationOpts = opts.animation;\r\n\t\tvar scale = chart.scale;\r\n\t\tvar labels = chart.data.labels;\r\n\r\n\t\tvar centerX = scale.xCenter;\r\n\t\tvar centerY = scale.yCenter;\r\n\r\n\t\t// var negHalfPI = -0.5 * Math.PI;\r\n\t\tvar datasetStartAngle = opts.startAngle;\r\n\t\tvar distance = arc.hidden ? 0 : scale.getDistanceFromCenterForValue(dataset.data[index]);\r\n\t\tvar startAngle = me._starts[index];\r\n\t\tvar endAngle = startAngle + (arc.hidden ? 0 : me._angles[index]);\r\n\r\n\t\tvar resetRadius = animationOpts.animateScale ? 0 : scale.getDistanceFromCenterForValue(dataset.data[index]);\r\n\t\tvar options = arc._options || {};\r\n\r\n\t\thelpers$1.extend(arc, {\r\n\t\t\t// Utility\r\n\t\t\t_datasetIndex: me.index,\r\n\t\t\t_index: index,\r\n\t\t\t_scale: scale,\r\n\r\n\t\t\t// Desired view properties\r\n\t\t\t_model: {\r\n\t\t\t\tbackgroundColor: options.backgroundColor,\r\n\t\t\t\tborderColor: options.borderColor,\r\n\t\t\t\tborderWidth: options.borderWidth,\r\n\t\t\t\tborderAlign: options.borderAlign,\r\n\t\t\t\tx: centerX,\r\n\t\t\t\ty: centerY,\r\n\t\t\t\tinnerRadius: 0,\r\n\t\t\t\touterRadius: reset ? resetRadius : distance,\r\n\t\t\t\tstartAngle: reset && animationOpts.animateRotate ? datasetStartAngle : startAngle,\r\n\t\t\t\tendAngle: reset && animationOpts.animateRotate ? datasetStartAngle : endAngle,\r\n\t\t\t\tlabel: helpers$1.valueAtIndexOrDefault(labels, index, labels[index])\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tarc.pivot();\r\n\t},\r\n\r\n\tcountVisibleElements: function() {\r\n\t\tvar dataset = this.getDataset();\r\n\t\tvar meta = this.getMeta();\r\n\t\tvar count = 0;\r\n\r\n\t\thelpers$1.each(meta.data, function(element, index) {\r\n\t\t\tif (!isNaN(dataset.data[index]) && !element.hidden) {\r\n\t\t\t\tcount++;\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\treturn count;\r\n\t},\r\n\r\n\t/**\r\n\t * @protected\r\n\t */\r\n\tsetHoverStyle: function(arc) {\r\n\t\tvar model = arc._model;\r\n\t\tvar options = arc._options;\r\n\t\tvar getHoverColor = helpers$1.getHoverColor;\r\n\t\tvar valueOrDefault = helpers$1.valueOrDefault;\r\n\r\n\t\tarc.$previousStyle = {\r\n\t\t\tbackgroundColor: model.backgroundColor,\r\n\t\t\tborderColor: model.borderColor,\r\n\t\t\tborderWidth: model.borderWidth,\r\n\t\t};\r\n\r\n\t\tmodel.backgroundColor = valueOrDefault(options.hoverBackgroundColor, getHoverColor(options.backgroundColor));\r\n\t\tmodel.borderColor = valueOrDefault(options.hoverBorderColor, getHoverColor(options.borderColor));\r\n\t\tmodel.borderWidth = valueOrDefault(options.hoverBorderWidth, options.borderWidth);\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_computeAngle: function(index) {\r\n\t\tvar me = this;\r\n\t\tvar count = this.getMeta().count;\r\n\t\tvar dataset = me.getDataset();\r\n\t\tvar meta = me.getMeta();\r\n\r\n\t\tif (isNaN(dataset.data[index]) || meta.data[index].hidden) {\r\n\t\t\treturn 0;\r\n\t\t}\r\n\r\n\t\t// Scriptable options\r\n\t\tvar context = {\r\n\t\t\tchart: me.chart,\r\n\t\t\tdataIndex: index,\r\n\t\t\tdataset: dataset,\r\n\t\t\tdatasetIndex: me.index\r\n\t\t};\r\n\r\n\t\treturn resolve$3([\r\n\t\t\tme.chart.options.elements.arc.angle,\r\n\t\t\t(2 * Math.PI) / count\r\n\t\t], context, index);\r\n\t}\r\n});\n\ncore_defaults._set('pie', helpers$1.clone(core_defaults.doughnut));\r\ncore_defaults._set('pie', {\r\n\tcutoutPercentage: 0\r\n});\r\n\r\n// Pie charts are Doughnut chart with different defaults\r\nvar controller_pie = controller_doughnut;\n\nvar valueOrDefault$7 = helpers$1.valueOrDefault;\r\n\r\ncore_defaults._set('radar', {\r\n\tspanGaps: false,\r\n\tscale: {\r\n\t\ttype: 'radialLinear'\r\n\t},\r\n\telements: {\r\n\t\tline: {\r\n\t\t\tfill: 'start',\r\n\t\t\ttension: 0 // no bezier in radar\r\n\t\t}\r\n\t}\r\n});\r\n\r\nvar controller_radar = core_datasetController.extend({\r\n\tdatasetElementType: elements.Line,\r\n\r\n\tdataElementType: elements.Point,\r\n\r\n\tlinkScales: helpers$1.noop,\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_datasetElementOptions: [\r\n\t\t'backgroundColor',\r\n\t\t'borderWidth',\r\n\t\t'borderColor',\r\n\t\t'borderCapStyle',\r\n\t\t'borderDash',\r\n\t\t'borderDashOffset',\r\n\t\t'borderJoinStyle',\r\n\t\t'fill'\r\n\t],\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_dataElementOptions: {\r\n\t\tbackgroundColor: 'pointBackgroundColor',\r\n\t\tborderColor: 'pointBorderColor',\r\n\t\tborderWidth: 'pointBorderWidth',\r\n\t\thitRadius: 'pointHitRadius',\r\n\t\thoverBackgroundColor: 'pointHoverBackgroundColor',\r\n\t\thoverBorderColor: 'pointHoverBorderColor',\r\n\t\thoverBorderWidth: 'pointHoverBorderWidth',\r\n\t\thoverRadius: 'pointHoverRadius',\r\n\t\tpointStyle: 'pointStyle',\r\n\t\tradius: 'pointRadius',\r\n\t\trotation: 'pointRotation'\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_getIndexScaleId: function() {\r\n\t\treturn this.chart.scale.id;\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_getValueScaleId: function() {\r\n\t\treturn this.chart.scale.id;\r\n\t},\r\n\r\n\tupdate: function(reset) {\r\n\t\tvar me = this;\r\n\t\tvar meta = me.getMeta();\r\n\t\tvar line = meta.dataset;\r\n\t\tvar points = meta.data || [];\r\n\t\tvar scale = me.chart.scale;\r\n\t\tvar config = me._config;\r\n\t\tvar i, ilen;\r\n\r\n\t\t// Compatibility: If the properties are defined with only the old name, use those values\r\n\t\tif (config.tension !== undefined && config.lineTension === undefined) {\r\n\t\t\tconfig.lineTension = config.tension;\r\n\t\t}\r\n\r\n\t\t// Utility\r\n\t\tline._scale = scale;\r\n\t\tline._datasetIndex = me.index;\r\n\t\t// Data\r\n\t\tline._children = points;\r\n\t\tline._loop = true;\r\n\t\t// Model\r\n\t\tline._model = me._resolveDatasetElementOptions(line);\r\n\r\n\t\tline.pivot();\r\n\r\n\t\t// Update Points\r\n\t\tfor (i = 0, ilen = points.length; i < ilen; ++i) {\r\n\t\t\tme.updateElement(points[i], i, reset);\r\n\t\t}\r\n\r\n\t\t// Update bezier control points\r\n\t\tme.updateBezierControlPoints();\r\n\r\n\t\t// Now pivot the point for animation\r\n\t\tfor (i = 0, ilen = points.length; i < ilen; ++i) {\r\n\t\t\tpoints[i].pivot();\r\n\t\t}\r\n\t},\r\n\r\n\tupdateElement: function(point, index, reset) {\r\n\t\tvar me = this;\r\n\t\tvar custom = point.custom || {};\r\n\t\tvar dataset = me.getDataset();\r\n\t\tvar scale = me.chart.scale;\r\n\t\tvar pointPosition = scale.getPointPositionForValue(index, dataset.data[index]);\r\n\t\tvar options = me._resolveDataElementOptions(point, index);\r\n\t\tvar lineModel = me.getMeta().dataset._model;\r\n\t\tvar x = reset ? scale.xCenter : pointPosition.x;\r\n\t\tvar y = reset ? scale.yCenter : pointPosition.y;\r\n\r\n\t\t// Utility\r\n\t\tpoint._scale = scale;\r\n\t\tpoint._options = options;\r\n\t\tpoint._datasetIndex = me.index;\r\n\t\tpoint._index = index;\r\n\r\n\t\t// Desired view properties\r\n\t\tpoint._model = {\r\n\t\t\tx: x, // value not used in dataset scale, but we want a consistent API between scales\r\n\t\t\ty: y,\r\n\t\t\tskip: custom.skip || isNaN(x) || isNaN(y),\r\n\t\t\t// Appearance\r\n\t\t\tradius: options.radius,\r\n\t\t\tpointStyle: options.pointStyle,\r\n\t\t\trotation: options.rotation,\r\n\t\t\tbackgroundColor: options.backgroundColor,\r\n\t\t\tborderColor: options.borderColor,\r\n\t\t\tborderWidth: options.borderWidth,\r\n\t\t\ttension: valueOrDefault$7(custom.tension, lineModel ? lineModel.tension : 0),\r\n\r\n\t\t\t// Tooltip\r\n\t\t\thitRadius: options.hitRadius\r\n\t\t};\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_resolveDatasetElementOptions: function() {\r\n\t\tvar me = this;\r\n\t\tvar config = me._config;\r\n\t\tvar options = me.chart.options;\r\n\t\tvar values = core_datasetController.prototype._resolveDatasetElementOptions.apply(me, arguments);\r\n\r\n\t\tvalues.spanGaps = valueOrDefault$7(config.spanGaps, options.spanGaps);\r\n\t\tvalues.tension = valueOrDefault$7(config.lineTension, options.elements.line.tension);\r\n\r\n\t\treturn values;\r\n\t},\r\n\r\n\tupdateBezierControlPoints: function() {\r\n\t\tvar me = this;\r\n\t\tvar meta = me.getMeta();\r\n\t\tvar area = me.chart.chartArea;\r\n\t\tvar points = meta.data || [];\r\n\t\tvar i, ilen, model, controlPoints;\r\n\r\n\t\t// Only consider points that are drawn in case the spanGaps option is used\r\n\t\tif (meta.dataset._model.spanGaps) {\r\n\t\t\tpoints = points.filter(function(pt) {\r\n\t\t\t\treturn !pt._model.skip;\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tfunction capControlPoint(pt, min, max) {\r\n\t\t\treturn Math.max(Math.min(pt, max), min);\r\n\t\t}\r\n\r\n\t\tfor (i = 0, ilen = points.length; i < ilen; ++i) {\r\n\t\t\tmodel = points[i]._model;\r\n\t\t\tcontrolPoints = helpers$1.splineCurve(\r\n\t\t\t\thelpers$1.previousItem(points, i, true)._model,\r\n\t\t\t\tmodel,\r\n\t\t\t\thelpers$1.nextItem(points, i, true)._model,\r\n\t\t\t\tmodel.tension\r\n\t\t\t);\r\n\r\n\t\t\t// Prevent the bezier going outside of the bounds of the graph\r\n\t\t\tmodel.controlPointPreviousX = capControlPoint(controlPoints.previous.x, area.left, area.right);\r\n\t\t\tmodel.controlPointPreviousY = capControlPoint(controlPoints.previous.y, area.top, area.bottom);\r\n\t\t\tmodel.controlPointNextX = capControlPoint(controlPoints.next.x, area.left, area.right);\r\n\t\t\tmodel.controlPointNextY = capControlPoint(controlPoints.next.y, area.top, area.bottom);\r\n\t\t}\r\n\t},\r\n\r\n\tsetHoverStyle: function(point) {\r\n\t\tvar model = point._model;\r\n\t\tvar options = point._options;\r\n\t\tvar getHoverColor = helpers$1.getHoverColor;\r\n\r\n\t\tpoint.$previousStyle = {\r\n\t\t\tbackgroundColor: model.backgroundColor,\r\n\t\t\tborderColor: model.borderColor,\r\n\t\t\tborderWidth: model.borderWidth,\r\n\t\t\tradius: model.radius\r\n\t\t};\r\n\r\n\t\tmodel.backgroundColor = valueOrDefault$7(options.hoverBackgroundColor, getHoverColor(options.backgroundColor));\r\n\t\tmodel.borderColor = valueOrDefault$7(options.hoverBorderColor, getHoverColor(options.borderColor));\r\n\t\tmodel.borderWidth = valueOrDefault$7(options.hoverBorderWidth, options.borderWidth);\r\n\t\tmodel.radius = valueOrDefault$7(options.hoverRadius, options.radius);\r\n\t}\r\n});\n\ncore_defaults._set('scatter', {\r\n\thover: {\r\n\t\tmode: 'single'\r\n\t},\r\n\r\n\tscales: {\r\n\t\txAxes: [{\r\n\t\t\tid: 'x-axis-1', // need an ID so datasets can reference the scale\r\n\t\t\ttype: 'linear', // scatter should not use a category axis\r\n\t\t\tposition: 'bottom'\r\n\t\t}],\r\n\t\tyAxes: [{\r\n\t\t\tid: 'y-axis-1',\r\n\t\t\ttype: 'linear',\r\n\t\t\tposition: 'left'\r\n\t\t}]\r\n\t},\r\n\r\n\ttooltips: {\r\n\t\tcallbacks: {\r\n\t\t\ttitle: function() {\r\n\t\t\t\treturn ''; // doesn't make sense for scatter since data are formatted as a point\r\n\t\t\t},\r\n\t\t\tlabel: function(item) {\r\n\t\t\t\treturn '(' + item.xLabel + ', ' + item.yLabel + ')';\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n});\r\n\r\ncore_defaults._set('global', {\r\n\tdatasets: {\r\n\t\tscatter: {\r\n\t\t\tshowLine: false\r\n\t\t}\r\n\t}\r\n});\r\n\r\n// Scatter charts use line controllers\r\nvar controller_scatter = controller_line;\n\n// NOTE export a map in which the key represents the controller type, not\r\n// the class, and so must be CamelCase in order to be correctly retrieved\r\n// by the controller in core.controller.js (`controllers[meta.type]`).\r\n\r\nvar controllers = {\r\n\tbar: controller_bar,\r\n\tbubble: controller_bubble,\r\n\tdoughnut: controller_doughnut,\r\n\thorizontalBar: controller_horizontalBar,\r\n\tline: controller_line,\r\n\tpolarArea: controller_polarArea,\r\n\tpie: controller_pie,\r\n\tradar: controller_radar,\r\n\tscatter: controller_scatter\r\n};\n\n/**\r\n * Helper function to get relative position for an event\r\n * @param {Event|IEvent} event - The event to get the position for\r\n * @param {Chart} chart - The chart\r\n * @returns {object} the event position\r\n */\r\nfunction getRelativePosition(e, chart) {\r\n\tif (e.native) {\r\n\t\treturn {\r\n\t\t\tx: e.x,\r\n\t\t\ty: e.y\r\n\t\t};\r\n\t}\r\n\r\n\treturn helpers$1.getRelativePosition(e, chart);\r\n}\r\n\r\n/**\r\n * Helper function to traverse all of the visible elements in the chart\r\n * @param {Chart} chart - the chart\r\n * @param {function} handler - the callback to execute for each visible item\r\n */\r\nfunction parseVisibleItems(chart, handler) {\r\n\tvar metasets = chart._getSortedVisibleDatasetMetas();\r\n\tvar metadata, i, j, ilen, jlen, element;\r\n\r\n\tfor (i = 0, ilen = metasets.length; i < ilen; ++i) {\r\n\t\tmetadata = metasets[i].data;\r\n\t\tfor (j = 0, jlen = metadata.length; j < jlen; ++j) {\r\n\t\t\telement = metadata[j];\r\n\t\t\tif (!element._view.skip) {\r\n\t\t\t\thandler(element);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n}\r\n\r\n/**\r\n * Helper function to get the items that intersect the event position\r\n * @param {ChartElement[]} items - elements to filter\r\n * @param {object} position - the point to be nearest to\r\n * @return {ChartElement[]} the nearest items\r\n */\r\nfunction getIntersectItems(chart, position) {\r\n\tvar elements = [];\r\n\r\n\tparseVisibleItems(chart, function(element) {\r\n\t\tif (element.inRange(position.x, position.y)) {\r\n\t\t\telements.push(element);\r\n\t\t}\r\n\t});\r\n\r\n\treturn elements;\r\n}\r\n\r\n/**\r\n * Helper function to get the items nearest to the event position considering all visible items in teh chart\r\n * @param {Chart} chart - the chart to look at elements from\r\n * @param {object} position - the point to be nearest to\r\n * @param {boolean} intersect - if true, only consider items that intersect the position\r\n * @param {function} distanceMetric - function to provide the distance between points\r\n * @return {ChartElement[]} the nearest items\r\n */\r\nfunction getNearestItems(chart, position, intersect, distanceMetric) {\r\n\tvar minDistance = Number.POSITIVE_INFINITY;\r\n\tvar nearestItems = [];\r\n\r\n\tparseVisibleItems(chart, function(element) {\r\n\t\tif (intersect && !element.inRange(position.x, position.y)) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tvar center = element.getCenterPoint();\r\n\t\tvar distance = distanceMetric(position, center);\r\n\t\tif (distance < minDistance) {\r\n\t\t\tnearestItems = [element];\r\n\t\t\tminDistance = distance;\r\n\t\t} else if (distance === minDistance) {\r\n\t\t\t// Can have multiple items at the same distance in which case we sort by size\r\n\t\t\tnearestItems.push(element);\r\n\t\t}\r\n\t});\r\n\r\n\treturn nearestItems;\r\n}\r\n\r\n/**\r\n * Get a distance metric function for two points based on the\r\n * axis mode setting\r\n * @param {string} axis - the axis mode. x|y|xy\r\n */\r\nfunction getDistanceMetricForAxis(axis) {\r\n\tvar useX = axis.indexOf('x') !== -1;\r\n\tvar useY = axis.indexOf('y') !== -1;\r\n\r\n\treturn function(pt1, pt2) {\r\n\t\tvar deltaX = useX ? Math.abs(pt1.x - pt2.x) : 0;\r\n\t\tvar deltaY = useY ? Math.abs(pt1.y - pt2.y) : 0;\r\n\t\treturn Math.sqrt(Math.pow(deltaX, 2) + Math.pow(deltaY, 2));\r\n\t};\r\n}\r\n\r\nfunction indexMode(chart, e, options) {\r\n\tvar position = getRelativePosition(e, chart);\r\n\t// Default axis for index mode is 'x' to match old behaviour\r\n\toptions.axis = options.axis || 'x';\r\n\tvar distanceMetric = getDistanceMetricForAxis(options.axis);\r\n\tvar items = options.intersect ? getIntersectItems(chart, position) : getNearestItems(chart, position, false, distanceMetric);\r\n\tvar elements = [];\r\n\r\n\tif (!items.length) {\r\n\t\treturn [];\r\n\t}\r\n\r\n\tchart._getSortedVisibleDatasetMetas().forEach(function(meta) {\r\n\t\tvar element = meta.data[items[0]._index];\r\n\r\n\t\t// don't count items that are skipped (null data)\r\n\t\tif (element && !element._view.skip) {\r\n\t\t\telements.push(element);\r\n\t\t}\r\n\t});\r\n\r\n\treturn elements;\r\n}\r\n\r\n/**\r\n * @interface IInteractionOptions\r\n */\r\n/**\r\n * If true, only consider items that intersect the point\r\n * @name IInterfaceOptions#boolean\r\n * @type Boolean\r\n */\r\n\r\n/**\r\n * Contains interaction related functions\r\n * @namespace Chart.Interaction\r\n */\r\nvar core_interaction = {\r\n\t// Helper function for different modes\r\n\tmodes: {\r\n\t\tsingle: function(chart, e) {\r\n\t\t\tvar position = getRelativePosition(e, chart);\r\n\t\t\tvar elements = [];\r\n\r\n\t\t\tparseVisibleItems(chart, function(element) {\r\n\t\t\t\tif (element.inRange(position.x, position.y)) {\r\n\t\t\t\t\telements.push(element);\r\n\t\t\t\t\treturn elements;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t\treturn elements.slice(0, 1);\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * @function Chart.Interaction.modes.label\r\n\t\t * @deprecated since version 2.4.0\r\n\t\t * @todo remove at version 3\r\n\t\t * @private\r\n\t\t */\r\n\t\tlabel: indexMode,\r\n\r\n\t\t/**\r\n\t\t * Returns items at the same index. If the options.intersect parameter is true, we only return items if we intersect something\r\n\t\t * If the options.intersect mode is false, we find the nearest item and return the items at the same index as that item\r\n\t\t * @function Chart.Interaction.modes.index\r\n\t\t * @since v2.4.0\r\n\t\t * @param {Chart} chart - the chart we are returning items from\r\n\t\t * @param {Event} e - the event we are find things at\r\n\t\t * @param {IInteractionOptions} options - options to use during interaction\r\n\t\t * @return {Chart.Element[]} Array of elements that are under the point. If none are found, an empty array is returned\r\n\t\t */\r\n\t\tindex: indexMode,\r\n\r\n\t\t/**\r\n\t\t * Returns items in the same dataset. If the options.intersect parameter is true, we only return items if we intersect something\r\n\t\t * If the options.intersect is false, we find the nearest item and return the items in that dataset\r\n\t\t * @function Chart.Interaction.modes.dataset\r\n\t\t * @param {Chart} chart - the chart we are returning items from\r\n\t\t * @param {Event} e - the event we are find things at\r\n\t\t * @param {IInteractionOptions} options - options to use during interaction\r\n\t\t * @return {Chart.Element[]} Array of elements that are under the point. If none are found, an empty array is returned\r\n\t\t */\r\n\t\tdataset: function(chart, e, options) {\r\n\t\t\tvar position = getRelativePosition(e, chart);\r\n\t\t\toptions.axis = options.axis || 'xy';\r\n\t\t\tvar distanceMetric = getDistanceMetricForAxis(options.axis);\r\n\t\t\tvar items = options.intersect ? getIntersectItems(chart, position) : getNearestItems(chart, position, false, distanceMetric);\r\n\r\n\t\t\tif (items.length > 0) {\r\n\t\t\t\titems = chart.getDatasetMeta(items[0]._datasetIndex).data;\r\n\t\t\t}\r\n\r\n\t\t\treturn items;\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * @function Chart.Interaction.modes.x-axis\r\n\t\t * @deprecated since version 2.4.0. Use index mode and intersect == true\r\n\t\t * @todo remove at version 3\r\n\t\t * @private\r\n\t\t */\r\n\t\t'x-axis': function(chart, e) {\r\n\t\t\treturn indexMode(chart, e, {intersect: false});\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * Point mode returns all elements that hit test based on the event position\r\n\t\t * of the event\r\n\t\t * @function Chart.Interaction.modes.intersect\r\n\t\t * @param {Chart} chart - the chart we are returning items from\r\n\t\t * @param {Event} e - the event we are find things at\r\n\t\t * @return {Chart.Element[]} Array of elements that are under the point. If none are found, an empty array is returned\r\n\t\t */\r\n\t\tpoint: function(chart, e) {\r\n\t\t\tvar position = getRelativePosition(e, chart);\r\n\t\t\treturn getIntersectItems(chart, position);\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * nearest mode returns the element closest to the point\r\n\t\t * @function Chart.Interaction.modes.intersect\r\n\t\t * @param {Chart} chart - the chart we are returning items from\r\n\t\t * @param {Event} e - the event we are find things at\r\n\t\t * @param {IInteractionOptions} options - options to use\r\n\t\t * @return {Chart.Element[]} Array of elements that are under the point. If none are found, an empty array is returned\r\n\t\t */\r\n\t\tnearest: function(chart, e, options) {\r\n\t\t\tvar position = getRelativePosition(e, chart);\r\n\t\t\toptions.axis = options.axis || 'xy';\r\n\t\t\tvar distanceMetric = getDistanceMetricForAxis(options.axis);\r\n\t\t\treturn getNearestItems(chart, position, options.intersect, distanceMetric);\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * x mode returns the elements that hit-test at the current x coordinate\r\n\t\t * @function Chart.Interaction.modes.x\r\n\t\t * @param {Chart} chart - the chart we are returning items from\r\n\t\t * @param {Event} e - the event we are find things at\r\n\t\t * @param {IInteractionOptions} options - options to use\r\n\t\t * @return {Chart.Element[]} Array of elements that are under the point. If none are found, an empty array is returned\r\n\t\t */\r\n\t\tx: function(chart, e, options) {\r\n\t\t\tvar position = getRelativePosition(e, chart);\r\n\t\t\tvar items = [];\r\n\t\t\tvar intersectsItem = false;\r\n\r\n\t\t\tparseVisibleItems(chart, function(element) {\r\n\t\t\t\tif (element.inXRange(position.x)) {\r\n\t\t\t\t\titems.push(element);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (element.inRange(position.x, position.y)) {\r\n\t\t\t\t\tintersectsItem = true;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t\t// If we want to trigger on an intersect and we don't have any items\r\n\t\t\t// that intersect the position, return nothing\r\n\t\t\tif (options.intersect && !intersectsItem) {\r\n\t\t\t\titems = [];\r\n\t\t\t}\r\n\t\t\treturn items;\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * y mode returns the elements that hit-test at the current y coordinate\r\n\t\t * @function Chart.Interaction.modes.y\r\n\t\t * @param {Chart} chart - the chart we are returning items from\r\n\t\t * @param {Event} e - the event we are find things at\r\n\t\t * @param {IInteractionOptions} options - options to use\r\n\t\t * @return {Chart.Element[]} Array of elements that are under the point. If none are found, an empty array is returned\r\n\t\t */\r\n\t\ty: function(chart, e, options) {\r\n\t\t\tvar position = getRelativePosition(e, chart);\r\n\t\t\tvar items = [];\r\n\t\t\tvar intersectsItem = false;\r\n\r\n\t\t\tparseVisibleItems(chart, function(element) {\r\n\t\t\t\tif (element.inYRange(position.y)) {\r\n\t\t\t\t\titems.push(element);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (element.inRange(position.x, position.y)) {\r\n\t\t\t\t\tintersectsItem = true;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t\t// If we want to trigger on an intersect and we don't have any items\r\n\t\t\t// that intersect the position, return nothing\r\n\t\t\tif (options.intersect && !intersectsItem) {\r\n\t\t\t\titems = [];\r\n\t\t\t}\r\n\t\t\treturn items;\r\n\t\t}\r\n\t}\r\n};\n\nvar extend = helpers$1.extend;\r\n\r\nfunction filterByPosition(array, position) {\r\n\treturn helpers$1.where(array, function(v) {\r\n\t\treturn v.pos === position;\r\n\t});\r\n}\r\n\r\nfunction sortByWeight(array, reverse) {\r\n\treturn array.sort(function(a, b) {\r\n\t\tvar v0 = reverse ? b : a;\r\n\t\tvar v1 = reverse ? a : b;\r\n\t\treturn v0.weight === v1.weight ?\r\n\t\t\tv0.index - v1.index :\r\n\t\t\tv0.weight - v1.weight;\r\n\t});\r\n}\r\n\r\nfunction wrapBoxes(boxes) {\r\n\tvar layoutBoxes = [];\r\n\tvar i, ilen, box;\r\n\r\n\tfor (i = 0, ilen = (boxes || []).length; i < ilen; ++i) {\r\n\t\tbox = boxes[i];\r\n\t\tlayoutBoxes.push({\r\n\t\t\tindex: i,\r\n\t\t\tbox: box,\r\n\t\t\tpos: box.position,\r\n\t\t\thorizontal: box.isHorizontal(),\r\n\t\t\tweight: box.weight\r\n\t\t});\r\n\t}\r\n\treturn layoutBoxes;\r\n}\r\n\r\nfunction setLayoutDims(layouts, params) {\r\n\tvar i, ilen, layout;\r\n\tfor (i = 0, ilen = layouts.length; i < ilen; ++i) {\r\n\t\tlayout = layouts[i];\r\n\t\t// store width used instead of chartArea.w in fitBoxes\r\n\t\tlayout.width = layout.horizontal\r\n\t\t\t? layout.box.fullWidth && params.availableWidth\r\n\t\t\t: params.vBoxMaxWidth;\r\n\t\t// store height used instead of chartArea.h in fitBoxes\r\n\t\tlayout.height = layout.horizontal && params.hBoxMaxHeight;\r\n\t}\r\n}\r\n\r\nfunction buildLayoutBoxes(boxes) {\r\n\tvar layoutBoxes = wrapBoxes(boxes);\r\n\tvar left = sortByWeight(filterByPosition(layoutBoxes, 'left'), true);\r\n\tvar right = sortByWeight(filterByPosition(layoutBoxes, 'right'));\r\n\tvar top = sortByWeight(filterByPosition(layoutBoxes, 'top'), true);\r\n\tvar bottom = sortByWeight(filterByPosition(layoutBoxes, 'bottom'));\r\n\r\n\treturn {\r\n\t\tleftAndTop: left.concat(top),\r\n\t\trightAndBottom: right.concat(bottom),\r\n\t\tchartArea: filterByPosition(layoutBoxes, 'chartArea'),\r\n\t\tvertical: left.concat(right),\r\n\t\thorizontal: top.concat(bottom)\r\n\t};\r\n}\r\n\r\nfunction getCombinedMax(maxPadding, chartArea, a, b) {\r\n\treturn Math.max(maxPadding[a], chartArea[a]) + Math.max(maxPadding[b], chartArea[b]);\r\n}\r\n\r\nfunction updateDims(chartArea, params, layout) {\r\n\tvar box = layout.box;\r\n\tvar maxPadding = chartArea.maxPadding;\r\n\tvar newWidth, newHeight;\r\n\r\n\tif (layout.size) {\r\n\t\t// this layout was already counted for, lets first reduce old size\r\n\t\tchartArea[layout.pos] -= layout.size;\r\n\t}\r\n\tlayout.size = layout.horizontal ? box.height : box.width;\r\n\tchartArea[layout.pos] += layout.size;\r\n\r\n\tif (box.getPadding) {\r\n\t\tvar boxPadding = box.getPadding();\r\n\t\tmaxPadding.top = Math.max(maxPadding.top, boxPadding.top);\r\n\t\tmaxPadding.left = Math.max(maxPadding.left, boxPadding.left);\r\n\t\tmaxPadding.bottom = Math.max(maxPadding.bottom, boxPadding.bottom);\r\n\t\tmaxPadding.right = Math.max(maxPadding.right, boxPadding.right);\r\n\t}\r\n\r\n\tnewWidth = params.outerWidth - getCombinedMax(maxPadding, chartArea, 'left', 'right');\r\n\tnewHeight = params.outerHeight - getCombinedMax(maxPadding, chartArea, 'top', 'bottom');\r\n\r\n\tif (newWidth !== chartArea.w || newHeight !== chartArea.h) {\r\n\t\tchartArea.w = newWidth;\r\n\t\tchartArea.h = newHeight;\r\n\r\n\t\t// return true if chart area changed in layout's direction\r\n\t\tvar sizes = layout.horizontal ? [newWidth, chartArea.w] : [newHeight, chartArea.h];\r\n\t\treturn sizes[0] !== sizes[1] && (!isNaN(sizes[0]) || !isNaN(sizes[1]));\r\n\t}\r\n}\r\n\r\nfunction handleMaxPadding(chartArea) {\r\n\tvar maxPadding = chartArea.maxPadding;\r\n\r\n\tfunction updatePos(pos) {\r\n\t\tvar change = Math.max(maxPadding[pos] - chartArea[pos], 0);\r\n\t\tchartArea[pos] += change;\r\n\t\treturn change;\r\n\t}\r\n\tchartArea.y += updatePos('top');\r\n\tchartArea.x += updatePos('left');\r\n\tupdatePos('right');\r\n\tupdatePos('bottom');\r\n}\r\n\r\nfunction getMargins(horizontal, chartArea) {\r\n\tvar maxPadding = chartArea.maxPadding;\r\n\r\n\tfunction marginForPositions(positions) {\r\n\t\tvar margin = {left: 0, top: 0, right: 0, bottom: 0};\r\n\t\tpositions.forEach(function(pos) {\r\n\t\t\tmargin[pos] = Math.max(chartArea[pos], maxPadding[pos]);\r\n\t\t});\r\n\t\treturn margin;\r\n\t}\r\n\r\n\treturn horizontal\r\n\t\t? marginForPositions(['left', 'right'])\r\n\t\t: marginForPositions(['top', 'bottom']);\r\n}\r\n\r\nfunction fitBoxes(boxes, chartArea, params) {\r\n\tvar refitBoxes = [];\r\n\tvar i, ilen, layout, box, refit, changed;\r\n\r\n\tfor (i = 0, ilen = boxes.length; i < ilen; ++i) {\r\n\t\tlayout = boxes[i];\r\n\t\tbox = layout.box;\r\n\r\n\t\tbox.update(\r\n\t\t\tlayout.width || chartArea.w,\r\n\t\t\tlayout.height || chartArea.h,\r\n\t\t\tgetMargins(layout.horizontal, chartArea)\r\n\t\t);\r\n\t\tif (updateDims(chartArea, params, layout)) {\r\n\t\t\tchanged = true;\r\n\t\t\tif (refitBoxes.length) {\r\n\t\t\t\t// Dimensions changed and there were non full width boxes before this\r\n\t\t\t\t// -> we have to refit those\r\n\t\t\t\trefit = true;\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (!box.fullWidth) { // fullWidth boxes don't need to be re-fitted in any case\r\n\t\t\trefitBoxes.push(layout);\r\n\t\t}\r\n\t}\r\n\r\n\treturn refit ? fitBoxes(refitBoxes, chartArea, params) || changed : changed;\r\n}\r\n\r\nfunction placeBoxes(boxes, chartArea, params) {\r\n\tvar userPadding = params.padding;\r\n\tvar x = chartArea.x;\r\n\tvar y = chartArea.y;\r\n\tvar i, ilen, layout, box;\r\n\r\n\tfor (i = 0, ilen = boxes.length; i < ilen; ++i) {\r\n\t\tlayout = boxes[i];\r\n\t\tbox = layout.box;\r\n\t\tif (layout.horizontal) {\r\n\t\t\tbox.left = box.fullWidth ? userPadding.left : chartArea.left;\r\n\t\t\tbox.right = box.fullWidth ? params.outerWidth - userPadding.right : chartArea.left + chartArea.w;\r\n\t\t\tbox.top = y;\r\n\t\t\tbox.bottom = y + box.height;\r\n\t\t\tbox.width = box.right - box.left;\r\n\t\t\ty = box.bottom;\r\n\t\t} else {\r\n\t\t\tbox.left = x;\r\n\t\t\tbox.right = x + box.width;\r\n\t\t\tbox.top = chartArea.top;\r\n\t\t\tbox.bottom = chartArea.top + chartArea.h;\r\n\t\t\tbox.height = box.bottom - box.top;\r\n\t\t\tx = box.right;\r\n\t\t}\r\n\t}\r\n\r\n\tchartArea.x = x;\r\n\tchartArea.y = y;\r\n}\r\n\r\ncore_defaults._set('global', {\r\n\tlayout: {\r\n\t\tpadding: {\r\n\t\t\ttop: 0,\r\n\t\t\tright: 0,\r\n\t\t\tbottom: 0,\r\n\t\t\tleft: 0\r\n\t\t}\r\n\t}\r\n});\r\n\r\n/**\r\n * @interface ILayoutItem\r\n * @prop {string} position - The position of the item in the chart layout. Possible values are\r\n * 'left', 'top', 'right', 'bottom', and 'chartArea'\r\n * @prop {number} weight - The weight used to sort the item. Higher weights are further away from the chart area\r\n * @prop {boolean} fullWidth - if true, and the item is horizontal, then push vertical boxes down\r\n * @prop {function} isHorizontal - returns true if the layout item is horizontal (ie. top or bottom)\r\n * @prop {function} update - Takes two parameters: width and height. Returns size of item\r\n * @prop {function} getPadding - Returns an object with padding on the edges\r\n * @prop {number} width - Width of item. Must be valid after update()\r\n * @prop {number} height - Height of item. Must be valid after update()\r\n * @prop {number} left - Left edge of the item. Set by layout system and cannot be used in update\r\n * @prop {number} top - Top edge of the item. Set by layout system and cannot be used in update\r\n * @prop {number} right - Right edge of the item. Set by layout system and cannot be used in update\r\n * @prop {number} bottom - Bottom edge of the item. Set by layout system and cannot be used in update\r\n */\r\n\r\n// The layout service is very self explanatory. It's responsible for the layout within a chart.\r\n// Scales, Legends and Plugins all rely on the layout service and can easily register to be placed anywhere they need\r\n// It is this service's responsibility of carrying out that layout.\r\nvar core_layouts = {\r\n\tdefaults: {},\r\n\r\n\t/**\r\n\t * Register a box to a chart.\r\n\t * A box is simply a reference to an object that requires layout. eg. Scales, Legend, Title.\r\n\t * @param {Chart} chart - the chart to use\r\n\t * @param {ILayoutItem} item - the item to add to be layed out\r\n\t */\r\n\taddBox: function(chart, item) {\r\n\t\tif (!chart.boxes) {\r\n\t\t\tchart.boxes = [];\r\n\t\t}\r\n\r\n\t\t// initialize item with default values\r\n\t\titem.fullWidth = item.fullWidth || false;\r\n\t\titem.position = item.position || 'top';\r\n\t\titem.weight = item.weight || 0;\r\n\t\titem._layers = item._layers || function() {\r\n\t\t\treturn [{\r\n\t\t\t\tz: 0,\r\n\t\t\t\tdraw: function() {\r\n\t\t\t\t\titem.draw.apply(item, arguments);\r\n\t\t\t\t}\r\n\t\t\t}];\r\n\t\t};\r\n\r\n\t\tchart.boxes.push(item);\r\n\t},\r\n\r\n\t/**\r\n\t * Remove a layoutItem from a chart\r\n\t * @param {Chart} chart - the chart to remove the box from\r\n\t * @param {ILayoutItem} layoutItem - the item to remove from the layout\r\n\t */\r\n\tremoveBox: function(chart, layoutItem) {\r\n\t\tvar index = chart.boxes ? chart.boxes.indexOf(layoutItem) : -1;\r\n\t\tif (index !== -1) {\r\n\t\t\tchart.boxes.splice(index, 1);\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * Sets (or updates) options on the given `item`.\r\n\t * @param {Chart} chart - the chart in which the item lives (or will be added to)\r\n\t * @param {ILayoutItem} item - the item to configure with the given options\r\n\t * @param {object} options - the new item options.\r\n\t */\r\n\tconfigure: function(chart, item, options) {\r\n\t\tvar props = ['fullWidth', 'position', 'weight'];\r\n\t\tvar ilen = props.length;\r\n\t\tvar i = 0;\r\n\t\tvar prop;\r\n\r\n\t\tfor (; i < ilen; ++i) {\r\n\t\t\tprop = props[i];\r\n\t\t\tif (options.hasOwnProperty(prop)) {\r\n\t\t\t\titem[prop] = options[prop];\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * Fits boxes of the given chart into the given size by having each box measure itself\r\n\t * then running a fitting algorithm\r\n\t * @param {Chart} chart - the chart\r\n\t * @param {number} width - the width to fit into\r\n\t * @param {number} height - the height to fit into\r\n\t */\r\n\tupdate: function(chart, width, height) {\r\n\t\tif (!chart) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tvar layoutOptions = chart.options.layout || {};\r\n\t\tvar padding = helpers$1.options.toPadding(layoutOptions.padding);\r\n\r\n\t\tvar availableWidth = width - padding.width;\r\n\t\tvar availableHeight = height - padding.height;\r\n\t\tvar boxes = buildLayoutBoxes(chart.boxes);\r\n\t\tvar verticalBoxes = boxes.vertical;\r\n\t\tvar horizontalBoxes = boxes.horizontal;\r\n\r\n\t\t// Essentially we now have any number of boxes on each of the 4 sides.\r\n\t\t// Our canvas looks like the following.\r\n\t\t// The areas L1 and L2 are the left axes. R1 is the right axis, T1 is the top axis and\r\n\t\t// B1 is the bottom axis\r\n\t\t// There are also 4 quadrant-like locations (left to right instead of clockwise) reserved for chart overlays\r\n\t\t// These locations are single-box locations only, when trying to register a chartArea location that is already taken,\r\n\t\t// an error will be thrown.\r\n\t\t//\r\n\t\t// |----------------------------------------------------|\r\n\t\t// | T1 (Full Width) |\r\n\t\t// |----------------------------------------------------|\r\n\t\t// | | | T2 | |\r\n\t\t// | |----|-------------------------------------|----|\r\n\t\t// | | | C1 | | C2 | |\r\n\t\t// | | |----| |----| |\r\n\t\t// | | | | |\r\n\t\t// | L1 | L2 | ChartArea (C0) | R1 |\r\n\t\t// | | | | |\r\n\t\t// | | |----| |----| |\r\n\t\t// | | | C3 | | C4 | |\r\n\t\t// | |----|-------------------------------------|----|\r\n\t\t// | | | B1 | |\r\n\t\t// |----------------------------------------------------|\r\n\t\t// | B2 (Full Width) |\r\n\t\t// |----------------------------------------------------|\r\n\t\t//\r\n\r\n\t\tvar params = Object.freeze({\r\n\t\t\touterWidth: width,\r\n\t\t\touterHeight: height,\r\n\t\t\tpadding: padding,\r\n\t\t\tavailableWidth: availableWidth,\r\n\t\t\tvBoxMaxWidth: availableWidth / 2 / verticalBoxes.length,\r\n\t\t\thBoxMaxHeight: availableHeight / 2\r\n\t\t});\r\n\t\tvar chartArea = extend({\r\n\t\t\tmaxPadding: extend({}, padding),\r\n\t\t\tw: availableWidth,\r\n\t\t\th: availableHeight,\r\n\t\t\tx: padding.left,\r\n\t\t\ty: padding.top\r\n\t\t}, padding);\r\n\r\n\t\tsetLayoutDims(verticalBoxes.concat(horizontalBoxes), params);\r\n\r\n\t\t// First fit vertical boxes\r\n\t\tfitBoxes(verticalBoxes, chartArea, params);\r\n\r\n\t\t// Then fit horizontal boxes\r\n\t\tif (fitBoxes(horizontalBoxes, chartArea, params)) {\r\n\t\t\t// if the area changed, re-fit vertical boxes\r\n\t\t\tfitBoxes(verticalBoxes, chartArea, params);\r\n\t\t}\r\n\r\n\t\thandleMaxPadding(chartArea);\r\n\r\n\t\t// Finally place the boxes to correct coordinates\r\n\t\tplaceBoxes(boxes.leftAndTop, chartArea, params);\r\n\r\n\t\t// Move to opposite side of chart\r\n\t\tchartArea.x += chartArea.w;\r\n\t\tchartArea.y += chartArea.h;\r\n\r\n\t\tplaceBoxes(boxes.rightAndBottom, chartArea, params);\r\n\r\n\t\tchart.chartArea = {\r\n\t\t\tleft: chartArea.left,\r\n\t\t\ttop: chartArea.top,\r\n\t\t\tright: chartArea.left + chartArea.w,\r\n\t\t\tbottom: chartArea.top + chartArea.h\r\n\t\t};\r\n\r\n\t\t// Finally update boxes in chartArea (radial scale for example)\r\n\t\thelpers$1.each(boxes.chartArea, function(layout) {\r\n\t\t\tvar box = layout.box;\r\n\t\t\textend(box, chart.chartArea);\r\n\t\t\tbox.update(chartArea.w, chartArea.h);\r\n\t\t});\r\n\t}\r\n};\n\n/**\r\n * Platform fallback implementation (minimal).\r\n * @see https://github.com/chartjs/Chart.js/pull/4591#issuecomment-319575939\r\n */\r\n\r\nvar platform_basic = {\r\n\tacquireContext: function(item) {\r\n\t\tif (item && item.canvas) {\r\n\t\t\t// Support for any object associated to a canvas (including a context2d)\r\n\t\t\titem = item.canvas;\r\n\t\t}\r\n\r\n\t\treturn item && item.getContext('2d') || null;\r\n\t}\r\n};\n\nvar platform_dom = \"/*\\r\\n * DOM element rendering detection\\r\\n * https://davidwalsh.name/detect-node-insertion\\r\\n */\\r\\n@keyframes chartjs-render-animation {\\r\\n\\tfrom { opacity: 0.99; }\\r\\n\\tto { opacity: 1; }\\r\\n}\\r\\n\\r\\n.chartjs-render-monitor {\\r\\n\\tanimation: chartjs-render-animation 0.001s;\\r\\n}\\r\\n\\r\\n/*\\r\\n * DOM element resizing detection\\r\\n * https://github.com/marcj/css-element-queries\\r\\n */\\r\\n.chartjs-size-monitor,\\r\\n.chartjs-size-monitor-expand,\\r\\n.chartjs-size-monitor-shrink {\\r\\n\\tposition: absolute;\\r\\n\\tdirection: ltr;\\r\\n\\tleft: 0;\\r\\n\\ttop: 0;\\r\\n\\tright: 0;\\r\\n\\tbottom: 0;\\r\\n\\toverflow: hidden;\\r\\n\\tpointer-events: none;\\r\\n\\tvisibility: hidden;\\r\\n\\tz-index: -1;\\r\\n}\\r\\n\\r\\n.chartjs-size-monitor-expand > div {\\r\\n\\tposition: absolute;\\r\\n\\twidth: 1000000px;\\r\\n\\theight: 1000000px;\\r\\n\\tleft: 0;\\r\\n\\ttop: 0;\\r\\n}\\r\\n\\r\\n.chartjs-size-monitor-shrink > div {\\r\\n\\tposition: absolute;\\r\\n\\twidth: 200%;\\r\\n\\theight: 200%;\\r\\n\\tleft: 0;\\r\\n\\ttop: 0;\\r\\n}\\r\\n\";\n\nvar platform_dom$1 = /*#__PURE__*/Object.freeze({\n__proto__: null,\n'default': platform_dom\n});\n\nvar stylesheet = getCjsExportFromNamespace(platform_dom$1);\n\nvar EXPANDO_KEY = '$chartjs';\r\nvar CSS_PREFIX = 'chartjs-';\r\nvar CSS_SIZE_MONITOR = CSS_PREFIX + 'size-monitor';\r\nvar CSS_RENDER_MONITOR = CSS_PREFIX + 'render-monitor';\r\nvar CSS_RENDER_ANIMATION = CSS_PREFIX + 'render-animation';\r\nvar ANIMATION_START_EVENTS = ['animationstart', 'webkitAnimationStart'];\r\n\r\n/**\r\n * DOM event types -> Chart.js event types.\r\n * Note: only events with different types are mapped.\r\n * @see https://developer.mozilla.org/en-US/docs/Web/Events\r\n */\r\nvar EVENT_TYPES = {\r\n\ttouchstart: 'mousedown',\r\n\ttouchmove: 'mousemove',\r\n\ttouchend: 'mouseup',\r\n\tpointerenter: 'mouseenter',\r\n\tpointerdown: 'mousedown',\r\n\tpointermove: 'mousemove',\r\n\tpointerup: 'mouseup',\r\n\tpointerleave: 'mouseout',\r\n\tpointerout: 'mouseout'\r\n};\r\n\r\n/**\r\n * The \"used\" size is the final value of a dimension property after all calculations have\r\n * been performed. This method uses the computed style of `element` but returns undefined\r\n * if the computed style is not expressed in pixels. That can happen in some cases where\r\n * `element` has a size relative to its parent and this last one is not yet displayed,\r\n * for example because of `display: none` on a parent node.\r\n * @see https://developer.mozilla.org/en-US/docs/Web/CSS/used_value\r\n * @returns {number} Size in pixels or undefined if unknown.\r\n */\r\nfunction readUsedSize(element, property) {\r\n\tvar value = helpers$1.getStyle(element, property);\r\n\tvar matches = value && value.match(/^(\\d+)(\\.\\d+)?px$/);\r\n\treturn matches ? Number(matches[1]) : undefined;\r\n}\r\n\r\n/**\r\n * Initializes the canvas style and render size without modifying the canvas display size,\r\n * since responsiveness is handled by the controller.resize() method. The config is used\r\n * to determine the aspect ratio to apply in case no explicit height has been specified.\r\n */\r\nfunction initCanvas(canvas, config) {\r\n\tvar style = canvas.style;\r\n\r\n\t// NOTE(SB) canvas.getAttribute('width') !== canvas.width: in the first case it\r\n\t// returns null or '' if no explicit value has been set to the canvas attribute.\r\n\tvar renderHeight = canvas.getAttribute('height');\r\n\tvar renderWidth = canvas.getAttribute('width');\r\n\r\n\t// Chart.js modifies some canvas values that we want to restore on destroy\r\n\tcanvas[EXPANDO_KEY] = {\r\n\t\tinitial: {\r\n\t\t\theight: renderHeight,\r\n\t\t\twidth: renderWidth,\r\n\t\t\tstyle: {\r\n\t\t\t\tdisplay: style.display,\r\n\t\t\t\theight: style.height,\r\n\t\t\t\twidth: style.width\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\r\n\t// Force canvas to display as block to avoid extra space caused by inline\r\n\t// elements, which would interfere with the responsive resize process.\r\n\t// https://github.com/chartjs/Chart.js/issues/2538\r\n\tstyle.display = style.display || 'block';\r\n\r\n\tif (renderWidth === null || renderWidth === '') {\r\n\t\tvar displayWidth = readUsedSize(canvas, 'width');\r\n\t\tif (displayWidth !== undefined) {\r\n\t\t\tcanvas.width = displayWidth;\r\n\t\t}\r\n\t}\r\n\r\n\tif (renderHeight === null || renderHeight === '') {\r\n\t\tif (canvas.style.height === '') {\r\n\t\t\t// If no explicit render height and style height, let's apply the aspect ratio,\r\n\t\t\t// which one can be specified by the user but also by charts as default option\r\n\t\t\t// (i.e. options.aspectRatio). If not specified, use canvas aspect ratio of 2.\r\n\t\t\tcanvas.height = canvas.width / (config.options.aspectRatio || 2);\r\n\t\t} else {\r\n\t\t\tvar displayHeight = readUsedSize(canvas, 'height');\r\n\t\t\tif (displayWidth !== undefined) {\r\n\t\t\t\tcanvas.height = displayHeight;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\treturn canvas;\r\n}\r\n\r\n/**\r\n * Detects support for options object argument in addEventListener.\r\n * https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener#Safely_detecting_option_support\r\n * @private\r\n */\r\nvar supportsEventListenerOptions = (function() {\r\n\tvar supports = false;\r\n\ttry {\r\n\t\tvar options = Object.defineProperty({}, 'passive', {\r\n\t\t\t// eslint-disable-next-line getter-return\r\n\t\t\tget: function() {\r\n\t\t\t\tsupports = true;\r\n\t\t\t}\r\n\t\t});\r\n\t\twindow.addEventListener('e', null, options);\r\n\t} catch (e) {\r\n\t\t// continue regardless of error\r\n\t}\r\n\treturn supports;\r\n}());\r\n\r\n// Default passive to true as expected by Chrome for 'touchstart' and 'touchend' events.\r\n// https://github.com/chartjs/Chart.js/issues/4287\r\nvar eventListenerOptions = supportsEventListenerOptions ? {passive: true} : false;\r\n\r\nfunction addListener(node, type, listener) {\r\n\tnode.addEventListener(type, listener, eventListenerOptions);\r\n}\r\n\r\nfunction removeListener(node, type, listener) {\r\n\tnode.removeEventListener(type, listener, eventListenerOptions);\r\n}\r\n\r\nfunction createEvent(type, chart, x, y, nativeEvent) {\r\n\treturn {\r\n\t\ttype: type,\r\n\t\tchart: chart,\r\n\t\tnative: nativeEvent || null,\r\n\t\tx: x !== undefined ? x : null,\r\n\t\ty: y !== undefined ? y : null,\r\n\t};\r\n}\r\n\r\nfunction fromNativeEvent(event, chart) {\r\n\tvar type = EVENT_TYPES[event.type] || event.type;\r\n\tvar pos = helpers$1.getRelativePosition(event, chart);\r\n\treturn createEvent(type, chart, pos.x, pos.y, event);\r\n}\r\n\r\nfunction throttled(fn, thisArg) {\r\n\tvar ticking = false;\r\n\tvar args = [];\r\n\r\n\treturn function() {\r\n\t\targs = Array.prototype.slice.call(arguments);\r\n\t\tthisArg = thisArg || this;\r\n\r\n\t\tif (!ticking) {\r\n\t\t\tticking = true;\r\n\t\t\thelpers$1.requestAnimFrame.call(window, function() {\r\n\t\t\t\tticking = false;\r\n\t\t\t\tfn.apply(thisArg, args);\r\n\t\t\t});\r\n\t\t}\r\n\t};\r\n}\r\n\r\nfunction createDiv(cls) {\r\n\tvar el = document.createElement('div');\r\n\tel.className = cls || '';\r\n\treturn el;\r\n}\r\n\r\n// Implementation based on https://github.com/marcj/css-element-queries\r\nfunction createResizer(handler) {\r\n\tvar maxSize = 1000000;\r\n\r\n\t// NOTE(SB) Don't use innerHTML because it could be considered unsafe.\r\n\t// https://github.com/chartjs/Chart.js/issues/5902\r\n\tvar resizer = createDiv(CSS_SIZE_MONITOR);\r\n\tvar expand = createDiv(CSS_SIZE_MONITOR + '-expand');\r\n\tvar shrink = createDiv(CSS_SIZE_MONITOR + '-shrink');\r\n\r\n\texpand.appendChild(createDiv());\r\n\tshrink.appendChild(createDiv());\r\n\r\n\tresizer.appendChild(expand);\r\n\tresizer.appendChild(shrink);\r\n\tresizer._reset = function() {\r\n\t\texpand.scrollLeft = maxSize;\r\n\t\texpand.scrollTop = maxSize;\r\n\t\tshrink.scrollLeft = maxSize;\r\n\t\tshrink.scrollTop = maxSize;\r\n\t};\r\n\r\n\tvar onScroll = function() {\r\n\t\tresizer._reset();\r\n\t\thandler();\r\n\t};\r\n\r\n\taddListener(expand, 'scroll', onScroll.bind(expand, 'expand'));\r\n\taddListener(shrink, 'scroll', onScroll.bind(shrink, 'shrink'));\r\n\r\n\treturn resizer;\r\n}\r\n\r\n// https://davidwalsh.name/detect-node-insertion\r\nfunction watchForRender(node, handler) {\r\n\tvar expando = node[EXPANDO_KEY] || (node[EXPANDO_KEY] = {});\r\n\tvar proxy = expando.renderProxy = function(e) {\r\n\t\tif (e.animationName === CSS_RENDER_ANIMATION) {\r\n\t\t\thandler();\r\n\t\t}\r\n\t};\r\n\r\n\thelpers$1.each(ANIMATION_START_EVENTS, function(type) {\r\n\t\taddListener(node, type, proxy);\r\n\t});\r\n\r\n\t// #4737: Chrome might skip the CSS animation when the CSS_RENDER_MONITOR class\r\n\t// is removed then added back immediately (same animation frame?). Accessing the\r\n\t// `offsetParent` property will force a reflow and re-evaluate the CSS animation.\r\n\t// https://gist.github.com/paulirish/5d52fb081b3570c81e3a#box-metrics\r\n\t// https://github.com/chartjs/Chart.js/issues/4737\r\n\texpando.reflow = !!node.offsetParent;\r\n\r\n\tnode.classList.add(CSS_RENDER_MONITOR);\r\n}\r\n\r\nfunction unwatchForRender(node) {\r\n\tvar expando = node[EXPANDO_KEY] || {};\r\n\tvar proxy = expando.renderProxy;\r\n\r\n\tif (proxy) {\r\n\t\thelpers$1.each(ANIMATION_START_EVENTS, function(type) {\r\n\t\t\tremoveListener(node, type, proxy);\r\n\t\t});\r\n\r\n\t\tdelete expando.renderProxy;\r\n\t}\r\n\r\n\tnode.classList.remove(CSS_RENDER_MONITOR);\r\n}\r\n\r\nfunction addResizeListener(node, listener, chart) {\r\n\tvar expando = node[EXPANDO_KEY] || (node[EXPANDO_KEY] = {});\r\n\r\n\t// Let's keep track of this added resizer and thus avoid DOM query when removing it.\r\n\tvar resizer = expando.resizer = createResizer(throttled(function() {\r\n\t\tif (expando.resizer) {\r\n\t\t\tvar container = chart.options.maintainAspectRatio && node.parentNode;\r\n\t\t\tvar w = container ? container.clientWidth : 0;\r\n\t\t\tlistener(createEvent('resize', chart));\r\n\t\t\tif (container && container.clientWidth < w && chart.canvas) {\r\n\t\t\t\t// If the container size shrank during chart resize, let's assume\r\n\t\t\t\t// scrollbar appeared. So we resize again with the scrollbar visible -\r\n\t\t\t\t// effectively making chart smaller and the scrollbar hidden again.\r\n\t\t\t\t// Because we are inside `throttled`, and currently `ticking`, scroll\r\n\t\t\t\t// events are ignored during this whole 2 resize process.\r\n\t\t\t\t// If we assumed wrong and something else happened, we are resizing\r\n\t\t\t\t// twice in a frame (potential performance issue)\r\n\t\t\t\tlistener(createEvent('resize', chart));\r\n\t\t\t}\r\n\t\t}\r\n\t}));\r\n\r\n\t// The resizer needs to be attached to the node parent, so we first need to be\r\n\t// sure that `node` is attached to the DOM before injecting the resizer element.\r\n\twatchForRender(node, function() {\r\n\t\tif (expando.resizer) {\r\n\t\t\tvar container = node.parentNode;\r\n\t\t\tif (container && container !== resizer.parentNode) {\r\n\t\t\t\tcontainer.insertBefore(resizer, container.firstChild);\r\n\t\t\t}\r\n\r\n\t\t\t// The container size might have changed, let's reset the resizer state.\r\n\t\t\tresizer._reset();\r\n\t\t}\r\n\t});\r\n}\r\n\r\nfunction removeResizeListener(node) {\r\n\tvar expando = node[EXPANDO_KEY] || {};\r\n\tvar resizer = expando.resizer;\r\n\r\n\tdelete expando.resizer;\r\n\tunwatchForRender(node);\r\n\r\n\tif (resizer && resizer.parentNode) {\r\n\t\tresizer.parentNode.removeChild(resizer);\r\n\t}\r\n}\r\n\r\n/**\r\n * Injects CSS styles inline if the styles are not already present.\r\n * @param {HTMLDocument|ShadowRoot} rootNode - the node to contain the