{"version":3,"file":"pages/js/homepage.0f1f9dee.js","mappings":"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","sources":["webpack:///./assets/components/dropdown/_dropdown.js","webpack:///./assets/components/graph/_graph.js","webpack:///./assets/components/kpi/_kpi.js","webpack:///./assets/components/properties/data_binding/_data_binding.js","webpack:///./assets/components/slider/_slider.js","webpack:///./assets/const/date_format.js","webpack:///./assets/pages/homepage/homepage.js","webpack:///./assets/pages/private_dashboard/private_dashboard.js","webpack:///./node_modules/chart.js/dist/Chart.js","webpack:///./node_modules/chartjs-plugin-datalabels/dist/chartjs-plugin-datalabels.js","webpack:///./node_modules/litepicker/dist/litepicker.umd.js","webpack:///./node_modules/moment/locale/af.js","webpack:///./node_modules/moment/locale/ar-dz.js","webpack:///./node_modules/moment/locale/ar-kw.js","webpack:///./node_modules/moment/locale/ar-ly.js","webpack:///./node_modules/moment/locale/ar-ma.js","webpack:///./node_modules/moment/locale/ar-ps.js","webpack:///./node_modules/moment/locale/ar-sa.js","webpack:///./node_modules/moment/locale/ar-tn.js","webpack:///./node_modules/moment/locale/ar.js","webpack:///./node_modules/moment/locale/az.js","webpack:///./node_modules/moment/locale/be.js","webpack:///./node_modules/moment/locale/bg.js","webpack:///./node_modules/moment/locale/bm.js","webpack:///./node_modules/moment/locale/bn-bd.js","webpack:///./node_modules/moment/locale/bn.js","webpack:///./node_modules/moment/locale/bo.js","webpack:///./node_modules/moment/locale/br.js","webpack:///./node_modules/moment/locale/bs.js","webpack:///./node_modules/moment/locale/ca.js","webpack:///./node_modules/moment/locale/cs.js","webpack:///./node_modules/moment/locale/cv.js","webpack:///./node_modules/moment/locale/cy.js","webpack:///./node_modules/moment/locale/da.js","webpack:///./node_modules/moment/locale/de-at.js","webpack:///./node_modules/moment/locale/de-ch.js","webpack:///./node_modules/moment/locale/de.js","webpack:///./node_modules/moment/locale/dv.js","webpack:///./node_modules/moment/locale/el.js","webpack:///./node_modules/moment/locale/en-SG.js","webpack:///./node_modules/moment/locale/en-au.js","webpack:///./node_modules/moment/locale/en-ca.js","webpack:///./node_modules/moment/locale/en-gb.js","webpack:///./node_modules/moment/locale/en-ie.js","webpack:///./node_modules/moment/locale/en-il.js","webpack:///./node_modules/moment/locale/en-in.js","webpack:///./node_modules/moment/locale/en-nz.js","webpack:///./node_modules/moment/locale/en-sg.js","webpack:///./node_modules/moment/locale/eo.js","webpack:///./node_modules/moment/locale/es-do.js","webpack:///./node_modules/moment/locale/es-mx.js","webpack:///./node_modules/moment/locale/es-us.js","webpack:///./node_modules/moment/locale/es.js","webpack:///./node_modules/moment/locale/et.js","webpack:///./node_modules/moment/locale/eu.js","webpack:///./node_modules/moment/locale/fa.js","webpack:///./node_modules/moment/locale/fi.js","webpack:///./node_modules/moment/locale/fil.js","webpack:///./node_modules/moment/locale/fo.js","webpack:///./node_modules/moment/locale/fr-ca.js","webpack:///./node_modules/moment/locale/fr-ch.js","webpack:///./node_modules/moment/locale/fr.js","webpack:///./node_modules/moment/locale/fy.js","webpack:///./node_modules/moment/locale/ga.js","webpack:///./node_modules/moment/locale/gd.js","webpack:///./node_modules/moment/locale/gl.js","webpack:///./node_modules/moment/locale/gom-deva.js","webpack:///./node_modules/moment/locale/gom-latn.js","webpack:///./node_modules/moment/locale/gu.js","webpack:///./node_modules/moment/locale/he.js","webpack:///./node_modules/moment/locale/hi.js","webpack:///./node_modules/moment/locale/hr.js","webpack:///./node_modules/moment/locale/hu.js","webpack:///./node_modules/moment/locale/hy-am.js","webpack:///./node_modules/moment/locale/id.js","webpack:///./node_modules/moment/locale/is.js","webpack:///./node_modules/moment/locale/it-ch.js","webpack:///./node_modules/moment/locale/it.js","webpack:///./node_modules/moment/locale/ja.js","webpack:///./node_modules/moment/locale/jv.js","webpack:///./node_modules/moment/locale/ka.js","webpack:///./node_modules/moment/locale/kk.js","webpack:///./node_modules/moment/locale/km.js","webpack:///./node_modules/moment/locale/kn.js","webpack:///./node_modules/moment/locale/ko.js","webpack:///./node_modules/moment/locale/ku-kmr.js","webpack:///./node_modules/moment/locale/ku.js","webpack:///./node_modules/moment/locale/ky.js","webpack:///./node_modules/moment/locale/lb.js","webpack:///./node_modules/moment/locale/lo.js","webpack:///./node_modules/moment/locale/lt.js","webpack:///./node_modules/moment/locale/lv.js","webpack:///./node_modules/moment/locale/me.js","webpack:///./node_modules/moment/locale/mi.js","webpack:///./node_modules/moment/locale/mk.js","webpack:///./node_modules/moment/locale/ml.js","webpack:///./node_modules/moment/locale/mn.js","webpack:///./node_modules/moment/locale/mr.js","webpack:///./node_modules/moment/locale/ms-my.js","webpack:///./node_modules/moment/locale/ms.js","webpack:///./node_modules/moment/locale/mt.js","webpack:///./node_modules/moment/locale/my.js","webpack:///./node_modules/moment/locale/nb.js","webpack:///./node_modules/moment/locale/ne.js","webpack:///./node_modules/moment/locale/nl-be.js","webpack:///./node_modules/moment/locale/nl.js","webpack:///./node_modules/moment/locale/nn.js","webpack:///./node_modules/moment/locale/oc-lnc.js","webpack:///./node_modules/moment/locale/pa-in.js","webpack:///./node_modules/moment/locale/pl.js","webpack:///./node_modules/moment/locale/pt-br.js","webpack:///./node_modules/moment/locale/pt.js","webpack:///./node_modules/moment/locale/ro.js","webpack:///./node_modules/moment/locale/ru.js","webpack:///./node_modules/moment/locale/sd.js","webpack:///./node_modules/moment/locale/se.js","webpack:///./node_modules/moment/locale/si.js","webpack:///./node_modules/moment/locale/sk.js","webpack:///./node_modules/moment/locale/sl.js","webpack:///./node_modules/moment/locale/sq.js","webpack:///./node_modules/moment/locale/sr-cyrl.js","webpack:///./node_modules/moment/locale/sr.js","webpack:///./node_modules/moment/locale/ss.js","webpack:///./node_modules/moment/locale/sv.js","webpack:///./node_modules/moment/locale/sw.js","webpack:///./node_modules/moment/locale/ta.js","webpack:///./node_modules/moment/locale/te.js","webpack:///./node_modules/moment/locale/tet.js","webpack:///./node_modules/moment/locale/tg.js","webpack:///./node_modules/moment/locale/th.js","webpack:///./node_modules/moment/locale/tk.js","webpack:///./node_modules/moment/locale/tl-ph.js","webpack:///./node_modules/moment/locale/tlh.js","webpack:///./node_modules/moment/locale/tr.js","webpack:///./node_modules/moment/locale/tzl.js","webpack:///./node_modules/moment/locale/tzm-latn.js","webpack:///./node_modules/moment/locale/tzm.js","webpack:///./node_modules/moment/locale/ug-cn.js","webpack:///./node_modules/moment/locale/uk.js","webpack:///./node_modules/moment/locale/ur.js","webpack:///./node_modules/moment/locale/uz-latn.js","webpack:///./node_modules/moment/locale/uz.js","webpack:///./node_modules/moment/locale/vi.js","webpack:///./node_modules/moment/locale/x-pseudo.js","webpack:///./node_modules/moment/locale/yo.js","webpack:///./node_modules/moment/locale/zh-cn.js","webpack:///./node_modules/moment/locale/zh-hk.js","webpack:///./node_modules/moment/locale/zh-mo.js","webpack:///./node_modules/moment/locale/zh-tw.js","webpack:///./node_modules/moment/locale/ sync ^\\.\\/.*$","webpack:///./node_modules/moment/moment.js"],"sourcesContent":["\nvar Dropdown = {\n\n // Init the dropdown so that placeholders shows well\n init: function (scope = 'body') {\n $('.Dropdown', scope).off('change.placholders').on('change.placholders', function() {\n Dropdown.update($(this))\n });\n $('.Dropdown', scope).each(function () { Dropdown.update($(this)) });\n this.initMultiple(scope)\n },\n\n initMultiple: function (scope) {\n\n // Make sure dropdown is inited with no values by browser\n $('.Dropdown[multiple] option:selected', scope).prop(\"selected\", false);\n $('.Dropdown[multiple] option[placeholder]', scope).attr(\"empty\", true);\n\n // Update dropdown based on changes \n $('.Dropdown[multiple]', scope).on('change.multiple', function() {\n Dropdown.updateMultiple($(this)) \n Dropdown.triggerChange($(this))\n })\n\n // Clear selection when pressing clear button\n $('.Dropdown__wrapper').on('click', '.Dropdown__clear', function() {\n const multiple = $(this).siblings('.Dropdown[multiple]')\n Dropdown.resetMultiple(multiple)\n Dropdown.triggerChange(multiple)\n });\n\n // Permit to select option of a multiple select without having to press CTRL key\n $('.Dropdown[multiple] option:not([disabled])').on('mousedown', function(e) {\n e.preventDefault();\n $(this).prop('selected', !$(this).prop('selected'));\n $(this).closest('.Dropdown[multiple]').trigger('change.multiple')\n\n return false;\n });\n\n // Scroll select to top, when focus out\n $('.Dropdown[multiple]', scope).on('blur', function() {\n $(this)[0].scrollTop = 0;\n })\n \n // Note : Scroll select to top due to issue, when scrolling with sticky attribute, it would scroll all way down\n $(window).on(\"scroll\", function() {\n $('.Dropdown[multiple]').each(function() {\n $(this)[0].scrollTop = 0;\n })\n });\n },\n\n updateMultiple: function (dropdown) {\n\n // Make sure placeholder is not selected\n $('option[placeholder]', dropdown).prop(\"selected\", false);\n\n // Set placeholder or concatenated values\n const checkedOptions = Array.from(dropdown.children('option:not([value=\"\"])').filter(\":checked\"));\n let labels = checkedOptions.length\n ? checkedOptions.map(l => l.innerText).join(', ')\n : $('option[placeholder]', dropdown).attr('placeholder');\n dropdown.children(\"option[data-type=\\\"placeholder\\\"]\").text(labels);\n dropdown.attr(\"title\", labels);\n $('option[placeholder]', dropdown).attr('empty', !checkedOptions.length);\n\n // Set clear button\n const clearBtn = dropdown.siblings('.Dropdown__clear')\n if (checkedOptions.length && clearBtn.length === 0) {\n const closeBtn = $('
');\n const dropdownWrapper = dropdown.closest('.Dropdown__wrapper')\n closeBtn.appendTo(dropdownWrapper);\n } else if (checkedOptions.length === 0) {\n clearBtn.remove()\n }\n },\n\n\n resetMultiples: function (dropdowns) {\n dropdowns.each(function() {\n Dropdown.resetMultiple($(this))\n })\n },\n\n resetMultiple: function (multiple) {\n $('option', multiple).prop(\"selected\", false);\n Dropdown.updateMultiple(multiple)\n },\n\n // Update the dropdown style depending on if it is null or not\n update: function (dropdown) {\n dropdown.val() != \"\" ? dropdown.removeClass('Dropdown--null') : dropdown.addClass('Dropdown--null');\n },\n \n triggerChange: function (filter) {\n // Trigger change manually, as it is not if changing value programmatically\n // this is mainly to handle report section reload on \"change\" on a filter \n // help on 'change.$': https://stackoverflow.com/a/13693063/7647916\n filter.trigger('change.$')\n }\n}\n\nexport default Dropdown;","import Chart from 'chart.js';\nimport ChartDataLabels from 'chartjs-plugin-datalabels';\nimport { getProps as getDashboardProps } from '../../pages/private_dashboard/private_dashboard.js';\nimport { getProps as getHomepageProps} from '../../pages/homepage/homepage.js';\n\nChart.plugins.unregister(ChartDataLabels);\n\nvar Graph = {\n\n _palette: [\n \"#0072bc\",\n \"#004B7D\",\n \"#0062A3\",\n \"#0071BD\",\n \"#16a4ff\",\n \"#2cadff\",\n \"#64c4ff\",\n \"#8fd4ff\",\n \"#fcfeff\"\n ],\n\n _currentRequests: [],\n\n _chartOptions: {\n responsive: true,\n maintainAspectRatio: false,\n legend: {\n display: false,\n labels: {\n generateLabels: {\n lineWidth: 3,\n lineDash: 4\n },\n font: {\n size: 10\n },\n boxWidth: 20\n },\n },\n title: {\n display: true\n },\n scales: {\n yAxes: [{\n gridLines: {\n color: \"rgba(0, 0, 0, 0.05)\",\n },\n ticks: {\n fontSize: 10,\n beginAtZero: true,\n maxTicksLimit: 6,\n userCallback: function(value, index, values) {\n return value.toLocaleString();\n }\n }\n }],\n xAxes: [{\n gridLines: {\n color: \"rgba(0, 0, 0, 0.05)\",\n },\n ticks: {\n fontSize: 9,\n callback: function(value, index, values) {\n return (values.length > 9 && value.length > 34) ? value.substring(0,34) + '...' : value;\n }\n }\n }]\n },\n plugins: {\n datalabels: {\n color: \"#004B7D\",\n align: 'left',\n display: 'auto',\n formatter: function(value, context) {\n let max = Math.max(...context.dataset.data)\n return value === max ? value.toLocaleString() : '';\n },\n opacity: function(context) {\n return context.active || context.dataset.data[context.dataIndex] === 0 ? 0 : 0.75;\n }\n }\n }\n },\n\n // Fake data to remove\n _chartData: {\n labels: [\"\"],\n datasets: [\n {\n label: \"\",\n data: []\n }\n ]\n },\n\n /**\n * Main controller inits the graphs and the event listeners\n */\n init: function () {\n\n // Init the grapph\n const promise = Graph.initGraphs(false);\n\n // Exports to the requested format on event trigger\n $('.ListAction__item[data-action]').on('click', function() {\n let action = $(this).data('action');\n let path = $(this).data('id');\n\n switch (action) {\n case 'export-png':\n Graph.pngExport(Graph.getChartInstance(path));\n break;\n case 'export-csv':\n Graph.csvExport(path, Graph.getChartInstance(path));\n break;\n }\n });\n\n // Update type of graph chart on event trigger\n $('*[data-action=\"change-type-chart\"]').on('click', function() {\n let canvasId = $('canvas', $(this).closest('.Graph__ctn')).attr('id');\n let graph = $('.Graph[data-path=' + canvasId + ']');\n Graph.changeTypeChart(Graph.getChartInstance(canvasId), $(this).data('typeChart'), graph);\n });\n return promise;\n },\n\n /**\n * Instanciate or update all graphs in the current page\n *\n * @param {boolean} update True if graphs needs to be updated, false if needs to be instanciated\n */\n initGraphs: function (update = false) {\n let promises = [];\n // Load each graphs\n $('.Graph').each(function() {\n\n // Retrieve graph configuration in DOM\n let graph = $(this);\n let path = graph.data('path'),\n unit = graph.data('unit'),\n legend = graph.data('legend'),\n type = graph.data('type'),\n order = graph.data('order');\n\n if (path) {\n\n // Retrieve data to server\n promises.push(Graph.getData(path).then(function (data) {\n\n // Sets the title and tooltip labels number format\n Graph._chartOptions.tooltips = {\n callbacks: {\n label: (item) => item.yLabel.toLocaleString() + ' ' + unit\n }\n };\n\n // Enable the legend if asked\n Graph._chartOptions.legend = legend !== '' ? { position: 'bottom' } : false;\n\n // If HTTP::OK\n if (data && data.datasets[0] != null) {\n data = order ? Graph.orderData(data) : data;\n data = Graph.addStyleToData(data, type, graph);\n Graph.initGraph(graph, data, Graph._chartOptions, update)\n }\n // Else if no data\n else Graph.initGraph(graph, Graph._chartData, Graph._chartOptions, update);\n }));\n }\n });\n return Promise.all(promises)\n },\n\n /**\n * Returns the data of the requested chart data path\n *\n * @param {string} path Path to retrieve chart dataset through Ajax request\n */\n getData: function (path) {\n return new Promise((resolve, reject) => {\n try {\n let url = Routing.generate(path);\n let data = $('.PD__dashboard').length ? getDashboardProps() : getHomepageProps();\n $.ajax( {\n url: url,\n data: data,\n dataType: 'json',\n beforeSend : function() {\n\n // Abort previous request if still pending\n if (url in Graph._currentRequests)\n Graph._currentRequests[url].abort();\n\n // Adds current request to pending one\n Graph._currentRequests[url] = this;\n\n },\n success: function (json) {\n\n // Removes the request from pending requests array\n delete Graph._currentRequests[url];\n resolve(json);\n\n }, error: function () {\n\n delete Graph._currentRequests[url];\n resolve(false);\n\n }\n });\n } catch (error) {\n resolve(false);\n }\n });\n },\n\n /**\n * Order bar chart data DESC\n *\n * @param {Object} data Json array containing json chart labels and data\n */\n orderData: function (data) {\n let arrayOfObj = data.labels.map(function(d, i) {\n return {\n label: d,\n data: data.datasets[0].data[i] || 0\n };\n });\n\n let sortedArrayOfObj = arrayOfObj.sort(function(a, b) {\n return b.data - a.data;\n });\n\n let sortedLabels = [];\n let sortedData = [];\n\n sortedArrayOfObj.forEach(function(d) {\n sortedLabels.push(d.label);\n sortedData.push(d.data);\n });\n\n data.labels = sortedLabels;\n data.datasets[0].data = sortedData;\n\n return data;\n },\n\n /**\n * Instanciate or update a requested graph with specified dataset and options\n *\n * @param {jQuery} graph Graph jQuery container $('.Graph')\n * @param {Object} chartData Data of the graph\n * @param {Object} chartOptions Options of the Chart\n * @param {boolean} update True if graph needs to be updated, false if needs to be instanciated\n */\n initGraph: function (graph, chartData, chartOptions, update = false) {\n let locationLevelLabel = typeof chartData.locationLevel != 'undefined' ? ' ' + chartData.locationLevel : '';\n let timeUnitLabel = typeof chartData.timeUnit != 'undefined' ? ' ' + chartData.timeUnit : '';\n let graphUnit = graph.data('unit');\n graphUnit = (graphUnit && graphUnit.length < 3) ? ' (' + graphUnit + ')' : '';\n chartOptions.title.text = graph.data('title') + locationLevelLabel + timeUnitLabel + graphUnit;\n\n let labelsEnabled = graph.data('label');\n\n // If Instanciation\n if (!update) {\n let ctx = $(\"canvas\", graph)[0].getContext(\"2d\");\n\n Graph.updateLabels(chartData, chartOptions, labelsEnabled);\n\n window.myBar = new Chart(ctx, {\n type: graph.data('type') || 'bar',\n data: chartData,\n options: chartOptions,\n plugins: labelsEnabled ? [ChartDataLabels] : false,\n });\n }\n\n // If update of the data\n else {\n let canvasId = graph.data('path');\n let chart = Graph.getChartInstance(canvasId);\n if (chart != undefined) {\n chart.data = Graph.addStyleToData(chartData, chart.config.type || 'bar', graph),\n chart.options.title.text = chartOptions.title.text;\n chart.options = Graph.updateLabels(chartData, chartOptions, labelsEnabled);\n chart.update();\n }\n }\n\n },\n\n /**\n * Updates the labels of the graph\n *\n * @param {Object} chartData Data of the graph\n * @param {Object} chartOptions Options of the Chart\n * @param {boolean} labelsEnabled True if labels are enabaled\n */\n updateLabels: function (chartData, chartOptions, labelsEnabled) {\n\n let max = Math.max(...chartData.datasets[0].data);\n\n if (labelsEnabled) {\n if (max > 0) chartOptions.scales.yAxes[0].ticks.max = max + max * 0.2;\n\n chartOptions.scales.yAxes[0].afterTickToLabelConversion = function(scaleInstance) {\n scaleInstance.ticks[0] = null;\n scaleInstance.ticksAsNumbers[0] = null;\n };\n\n chartOptions.plugins.datalabels.align = 'top';\n chartOptions.plugins.datalabels.anchor = 'end';\n chartOptions.plugins.datalabels.clamp = true;\n chartOptions.plugins.datalabels.clip = false;\n } else {\n delete chartOptions.scales.yAxes[0].ticks.max;\n delete chartOptions.scales.yAxes[0].afterTickToLabelConversion;\n }\n return chartOptions;\n },\n\n /**\n * Adds style to the requested dataset depending on the chart type\n *\n * @param {Object} data Json array containing json data\n * @param {string} type Type of the chart <'pie'|'bar'|'line'>\n * @param {jQuery} type jQuery DOM element of the Graph\n */\n addStyleToData: function (data, type, graph) {\n for (let [key, dataset] of Object.entries(data.datasets)) {\n\n // Add UNHCR theme color to chart dataset\n dataset.backgroundColor = Graph.convertHex(Graph._palette[key], 70);\n dataset.borderColor = Graph._palette[key];\n\n // Sets the line chart style\n if (type === 'bar') {\n dataset.borderWidth = { top:2, right:0.1, bottom:0, left:0.1 };\n }\n\n // Sets the line chart style\n if (type === 'line') {\n dataset.pointRadius = 2;\n dataset.pointHoverRadius = 8;\n dataset.borderWidth = 2;\n dataset.backgroundColor = 'rgba(0,0,0,0)';\n }\n\n // Sets the pie chart style if dataset has multiple data values\n if (type === 'pie' && Array.isArray(dataset.data)) {\n let bg = [];\n for (var i = 0; i < dataset.data.length; i++) {\n bg.push(Graph.convertHex(Graph._palette[key], (i + 1) * 100 / (dataset.data.length + 1)));\n }\n dataset.backgroundColor = bg;\n }\n }\n return data;\n },\n\n /**\n * Add opacity to an hexadecimal color\n *\n * @param {string} hex Hexadecimal code of a non rgba color\n * @param {number} opacity Opacity to set. Must be between 0 and 100\n */\n convertHex: function (hex, light) {\n hex = hex.replace('#','');\n let r = parseInt(hex.substring(0,2), 16) + light;\n let g = parseInt(hex.substring(2,4), 16) + light;\n let b = parseInt(hex.substring(4,6), 16) + light;\n\n let result = 'rgb('+r+','+g+','+b+')';\n return result;\n },\n\n /**\n * Get the chart instance with the canvas id\n *\n * @param {string} canvasId Id of the chart canvas\n */\n getChartInstance: function (canvasId) {\n var chart;\n Chart.helpers.each(Chart.instances, function(instance) {\n if (instance.chart.canvas.id === canvasId) {\n chart = instance;\n return false;\n }\n });\n return chart;\n },\n\n /**\n * Downloads a png image of the requested Chart\n *\n * @param {Chart} chart Chart object\n */\n pngExport: function (chart) {\n var link = document.createElement('a');\n link.href = chart.toBase64Image();\n link.download = 'graph_export.png';\n link.click();\n },\n\n\n /**\n * Changes the chart requested type\n *\n * @param {Chart} chart Chart object\n * @param {string} type Type of the chart <'pie'|'bar'|'line'>\n */\n changeTypeChart: function (chart, type, graph) {\n let ctx = chart.canvas.getContext(\"2d\");\n let config = {\n type: type,\n data: Graph.addStyleToData(chart.data, type, graph),\n options: chart.options\n };\n let temp = jQuery.extend(true, {}, config);\n\n chart.destroy();\n chart = new Chart(ctx, temp);\n },\n\n /**\n * Exports the data as a CSV file\n *\n * @param {string} filename Wanted filename for the csv export\n * @param {Object} graph ChartJS instance\n */\n csvExport: function (filename, graph) {\n let multiDimArray = (typeof graph.data.datasets[1] !== 'undefined'),\n csvLabels = Graph.convertDataToCsvLine(graph.data.labels, multiDimArray),\n csvBody = '';\n\n graph.data.datasets.forEach(function(dataset) {\n let dataToConvert = dataset.data.slice();\n if (multiDimArray) dataToConvert.unshift(dataset.label);\n csvBody += Graph.convertDataToCsvLine(dataToConvert, false)\n });\n let csv = csvLabels + csvBody;\n\n if (csv == null) return;\n\n filename = (filename || 'chart-data') + '.csv';\n\n if (!csv.match(/^data:text\\/csv/i)) {\n csv = 'data:text/csv;charset=utf-8,' + csv;\n }\n\n let data = encodeURI(csv);\n let link = document.createElement('a');\n link.setAttribute('href', data);\n link.setAttribute('download', filename);\n document.body.appendChild(link);\n link.click();\n document.body.removeChild(link);\n },\n\n /**\n * Returns a CSV line based on dataset of chart\n *\n * @param {array} data array containg chart data\n * @param {boolean} multiDimArray says if data is a multidimensionnal array\n */\n convertDataToCsvLine: function(data, multiDimArray) {\n let columnDelimiter = ';';\n let lineDelimiter = '\\n';\n let result = multiDimArray ? (' ' + columnDelimiter) : '';\n let ctr = 0;\n\n if (data == null || !data.length) return null;\n data.forEach(function(item) {\n if (ctr > 0) result += columnDelimiter;\n result += item || 0;\n ctr++;\n });\n result += lineDelimiter;\n\n return result;\n }\n}\n\nexport default Graph;","import Graph from '../../components/graph/_graph.js';\n\nvar Kpi = {\n reloadKpis: function () {\n let promises = [];\n $('.KPI__number').each(function () {\n let path = $(this).data('path');\n let kpi = $(this);\n // Retrieve data to server\n promises.push(Graph.getData(path).then(function (data) {\n data ? kpi.text((Number((data.value ?? 0).toFixed(2))).toLocaleString())\n : kpi.text('-');\n }));\n });\n return Promise.all(promises)\n },\n}\n\nexport default Kpi;","import Dropdown from \"../../dropdown/_dropdown\";\n\n//maximum nested filter level\nvar MAX_FILTER_LEVEL = 2;\n\nvar DataBinding = {\n init: function () {\n $('select[data-filter]:not([data-no-filter])').on('change', function() {\n let filterName = $(this).data('filter');\n let filter = $(this);\n let notThisFilter = DataBinding.generateNotFilterCondition(filterName, filter);\n \n // Reset to placeholder the filters that have options related to the changed dropdown\n $('select[data-filter]' + notThisFilter + ':has(option[data-'+filterName+']):not([multiple]) option[value=\"\"]').attr(\"selected\", true);\n \n // Reset multiple select as well\n const multiple = $('select[data-filter][multiple]' + notThisFilter + ':has(option[data-'+filterName+'])')\n if (multiple.length) {\n Dropdown.resetMultiples(multiple)\n }\n\n // Show options of other filters based on query if option are related to the changed filter\n let sortFilterQuery = '[data-'+ filterName+']';\n $.each($('select[data-filter]'+ notThisFilter), function (key, select) {\n let count = 1;\n if (count = MAX_FILTER_LEVEL){\n return false;\n } else {\n let currentFilter = $(this).data('filter');\n let currentValue = $(this).val();\n if (currentValue != \"\")\n sortFilterQuery += '[data-'+ currentFilter +'='+ currentValue +']';\n count++;\n }\n });\n\n $('select[data-filter]' + notThisFilter + ':has(option[data-'+filterName+']) option'+sortFilterQuery).prop('disabled', false);\n\n // Get the first not null option of the changed filter\n let option = $('option:not([value=\"\"])', filter).first();\n\n // Creates the query\n sortFilterQuery = '';\n $.each(option.data(), function(i, v) {\n sortFilterQuery += ':not([data-filter='+ i +'])';\n });\n\n // If dropdown was reset, reset all lower filters\n if ($(this).val() === \"\") {\n $('select[data-filter]'+sortFilterQuery+' option[value=\"\"]').attr(\"selected\", true);\n }\n // else if a value was selected\n else {\n const values = $(this).find(':selected:not([value=\"\"])').map(function(){\n return $(this).data();\n });\n if(values.length){\n const fieldsConcerned = Object.keys(values[0]);\n const valuesByFields = {};\n for(const field of fieldsConcerned){\n valuesByFields[field] = [];\n for(const value of values){\n valuesByFields[field].push(value[field]);\n }\n }\n $.each($('select[data-filter]' + notThisFilter), function(key, select) {\n const dropdown = $(this).filter(notThisFilter + sortFilterQuery);\n $.each(valuesByFields, function(index, values){\n const joined = values.map(value => `[data-${index}~=${value}]`).join(',')\n dropdown.find('option[data-'+index+']:not('+joined+')').prop('disabled', true)\n DataBinding.sortSelect(dropdown, filterName, notThisFilter);\n });\n });\n }\n }\n });\n },\n\n edit: function() {\n $.each($('#edit_form').find('select[data-filter]:not([data-no-filter])'), function (key, select) {\n let filterName = $(this).data('filter');\n let filter = $(this);\n let notThisFilter = DataBinding.generateNotFilterCondition(filterName, filter);\n\n $.each($(this).find(':selected:not([value=\"\"])').data(), function(dataIndex, dataValue) {\n $.each($('#edit_form').find('select[data-filter]' + notThisFilter), function (key, select) {\n let dropdown = $(this).filter(notThisFilter);\n let currentSubFilter = $(this).data('filter');\n let currentSubFilterValue = $('select[data-filter=\"' + currentSubFilter + '\"]').find(':selected:not([value=\"\"])').val();\n dropdown.find('option[data-'+dataIndex+']:not([data-'+dataIndex+'~='+dataValue+'])').prop('disabled', true);\n DataBinding.sortSelect(dropdown, filterName, notThisFilter, currentSubFilterValue);\n });\n });\n });\n },\n\n sortSelect: function (dropdown, filterName, notThisFilter, optionValue) {\n // Sort options in alphabetical order, case unsensitive\n var options = dropdown.find('option');\n options.detach().sort(function (a, b) {\n var at = $(a).text().toLowerCase(),\n bt = $(b).text().toLowerCase();\n return at > bt ? 1 : at < bt ? -1 : 0;\n });\n options.appendTo(dropdown);\n $(\"option:not(:disabled)\", dropdown).prependTo(dropdown);\n // Put the placeholder at the top of all this\n $(\"option[value='']\", dropdown).prependTo(dropdown);\n\n if (optionValue && optionValue!== undefined) {\n let index = $('option[value='+ optionValue +']', dropdown).index();\n dropdown.prop('selectedIndex', index);\n } else if (optionValue == undefined){\n dropdown.prop('selectedIndex', 0);\n }else{\n $('select[data-filter]:not([data-filter='+filterName+']):has(option[data-'+filterName+'])').prop('selectedIndex', 0);\n $('select[data-filter]'+ notThisFilter + '[data-no-filter]').prop('selectedIndex', 0);\n }\n },\n\n generateNotFilterCondition: function (filterName, filter) {\n // Additional attribute > not all the filters should responsive (the case for selecting the place and site)\n let filterNotIncluded = filter.data('filter-not-included');\n let notThisFilter = ':not([data-filter=' + filterName + '])';\n\n if (filterNotIncluded) {\n let arrayNotIncluded = filterNotIncluded.split(' ');\n\n $.each(arrayNotIncluded, function(key) {\n notThisFilter += ':not([data-filter=' + arrayNotIncluded[key] + '])';\n });\n }\n\n return notThisFilter;\n },\n}\n\nexport default DataBinding;","var Slider = {\n\n _scope: '',\n stepsCount: 1,\n\n init: function (itemsCount = null) {\n $('.Slider__control').each(function () {\n Slider.initNumberOfDot($(this), itemsCount)\n })\n $('.Slider__arrow').off('click').on('click', function() {\n event.preventDefault();\n Slider._scope = $(this).closest('.Slider__control');\n Slider.changeStep($(this).data('action'));\n });\n },\n\n initNumberOfDot: function (slider, itemsCount) {\n slider = slider || $('.Slider__control')\n itemsCount = itemsCount ?? $('.Slider[data-slider='+ slider.data('id') +']').children().length\n let dotNumber = Math.ceil(itemsCount / slider.data('items'));\n let i = 0, html = '';\n while (i < dotNumber) {\n html += '';\n i++;\n }\n $('.Slider__pageDotCtn', slider).html(html)\n },\n\n changeStep: function(action) {\n let activeDot = $('.Slider__dot--active', Slider._scope);\n let nextDot = action === 'prev' ? activeDot.prev('.Slider__dot', Slider._scope) : activeDot.next('.Slider__dot', Slider._scope);\n\n if (nextDot.length > 0) {\n activeDot.removeClass('Slider__dot--active');\n nextDot.addClass('Slider__dot--active');\n let slider = $('.Slider[data-slider='+ Slider._scope.data('id') +']');\n slider.animate({scrollLeft : (action === 'prev' ? '-' :'+') +'='+slider.width()}, 0);\n }\n }\n}\n\nSlider.init();\n\nexport default Slider;","export const DATE_SEPARATOR = \"/\";\n\nexport const DATE_FORMAT_LITEPICKER =\n \"DD\" + DATE_SEPARATOR + \"MM\" + DATE_SEPARATOR + \"YYYY\";\n\n// This method is made to make the date sortable automatically.\n// The strategy here is to put the year first, and we know that the format is switched to yyyy/mm/dd \"manually\".\nexport function formatDateForDatableSorting(date) {\n const parts = date.split(\" \");\n var datePart = parts[0];\n var timePart = parts[1];\n var fullDate = [datePart.split(\"/\").reverse().join(\"/\"), timePart]\n return fullDate.filter(part => part).join(\" \");\n}\n\nexport function minTwoDigits(n) {\n const number = parseInt(n);\n if(isNaN(number)){\n return \"01\";\n }\n return number.toString().padStart(2, '0');\n}\n\nexport function dateFromYearMonthDay(year, month, day) {\n return day + DATE_SEPARATOR + month + DATE_SEPARATOR + year;\n}\n\nexport function dayFromDate(date) {\n const day = parseInt(date.substring(0,2));\n return isNaN(day) ? \"01\" : day;\n}\n\nexport function monthFromDate(date) {\n const month = parseInt(date.substring(3,5));\n return isNaN(month) ? \"01\" : month;\n}\n\nexport function yearFromDate(date) {\n const year = parseInt(date.substring(6,10));\n return isNaN(year) ? \"2023\" : year;\n}","import Graph from '../../components/graph/_graph.js';\nimport Kpi from '../../components/kpi/_kpi.js';\n\nconst GLOBAL = 'global';\n\nvar myGeoJSONPath = '/geodata/countries-land-10km.geo.json';\nvar worldGeoJSON;\n\nvar mapStyle = {\n color: '#fafafa',\n fill: true,\n weight: 0.8,\n fillColor: '#c9dbe9',\n fillOpacity: 1,\n opacity: 1,\n boxShadow: '0 0 15 rgba(0,0,0,0.5)',\n};\n\nvar mapConfig = {\n style: mapStyle,\n};\n\nvar activeStyle = {\n fillColor :'#66a6cf',\n color: '#fafafa',\n weight: 1,\n fillOpacity: 1,\n};\n\nvar highlightedStyle = {\n fillColor :'#9dc8e3',\n color: '#fafafa',\n weight: 1,\n fillOpacity: 1,\n};\n\nvar defaultStyle = {\n fillColor :'#c9dbe9',\n color: '#c9dbe9',\n weight: 0.8\n};\n\nvar map;\nvar geojsonLayer;\n\nlet dropdown = $('.Homepage__filter--country');\n\nvar Homepage = {\n\n /**\n * Init all the homepage (map, graphs, kpi, events, ...)\n */\n init: function () {\n Homepage.initMap();\n\n $('.Homepage__region').on('click', function() {\n Homepage.updateActiveRegion($(this));\n });\n\n $('.Homepage__filter').on('change', function () {\n Homepage.updateData();\n })\n\n Kpi.reloadKpis();\n Graph.init();\n },\n\n /**\n * Make the clicked region active on click\n * @param {jQuery} el Homepage clicked menu region item\n */\n updateActiveRegion: function (el) {\n\n // Updates the active region menu item \n $('.Homepage__region').removeClass('Homepage__region--active');\n el.addClass('Homepage__region--active');\n\n // Resets the coutry filter\n dropdown.val('');\n\n // Scroll the page to see clearly the map and region menu\n $(\"html, body\").animate({ scrollTop: el.offset().top }, 300);\n\n Homepage.updateData();\n },\n\n /**\n * Update the coutry filter based on the clicked region\n * @param {string} regionActive Id of the active region\n */\n updateCountryDropdown: function (regionActive) {\n $('option', dropdown).show();\n\n // Filter and hide the countries not in the regionActive\n if (regionActive !== GLOBAL) {\n $('option:not([data-region=' + regionActive + '])', dropdown).hide();\n }\n },\n\n /**\n * Updates all data related components (country filter, map, kpis, graphs, ...)\n */\n updateData: function () {\n let regionActive = $('.Homepage__region--active').data('id') || GLOBAL;\n\n // Gets data from the global region variable stored in homepage/homepage.html.twig\n let regions = window.regions[regionActive];\n\n Homepage.updateCountryDropdown(regionActive);\n Homepage.updateMap(regions, regionActive);\n Kpi.reloadKpis();\n Graph.initGraphs(true);\n },\n\n /**\n * Initializes the homepage map\n */\n initMap: function() {\n\n // Ajax call to get the geoJSON data\n $.getJSON(myGeoJSONPath, function(data) {\n\n // Updates the global worldGeoJSON variable\n worldGeoJSON = data;\n\n // Creates the map\n map = Homepage.createMap();\n\n // Enable the zoom with scroll when map catches the focus\n map.once('focus', function() { map.scrollWheelZoom.enable(); });\n\n // Updates the map based on selected data\n Homepage.updateMap(null, GLOBAL);\n })\n },\n\n /**\n * Creates the Leaflet map\n */\n createMap: function() {\n return L.map('unhcr_mrd_map', {\n zoomSnap: 0.5,\n minZoom: 2,\n maxZoom: 5,\n scrollWheelZoom: false,\n doubleClickZoom: true\n }).setView([14.468721, 16.757483], 2.5);\n },\n\n /**\n * Updates the map selected country based on clicked country on map\n * @param {Event} e The Leaflet map cliked event\n */\n activateCountry: function (e) {\n\n // Set the selected country in the dropdown\n let clickedCountryIso = e.target.feature.properties.A3;\n $('option[data-iso=' + clickedCountryIso + ']', dropdown).prop('selected', true);\n\n // Update all components based on this new selection\n Homepage.updateData();\n },\n\n /**\n * Update the map with active locations (regions, coutries, ...)\n * @param {array} props Country list to highlight\n * @param {string} regionActive Id of the active region\n */\n updateMap: function(props, regionActive) {\n let regions = props || window.regions.global,\n groupCoords = [], countryCoords,\n countryActive = $('option:selected', dropdown).data('iso'),\n zoom = regionActive === GLOBAL ? 2.5 : 3.5;\n\n // Remove the previous map layer\n map.eachLayer(function (layer) {\n map.removeLayer(layer)\n });\n\n // Update the GeoJSON layers, with styles and configuration\n geojsonLayer = L.geoJson(worldGeoJSON, mapConfig).eachLayer(function (layer) {\n\n let style = defaultStyle,\n iso = layer.feature.properties.A3;\n \n // If the layer is in the region set some style\n if (regions.includes(iso)) {\n\n // Get the center of the country\n let coords = layer.getBounds().getCenter();\n\n // If no country selected, highlight all region countries\n style = countryActive == null ? activeStyle : highlightedStyle;\n\n // Show tooltip on hover with global countryName var, stored in homepage.html.twig file\n layer.bindTooltip(window.countryName[iso], {direction: 'top', className: 'tooltip'});\n\n // Sets the click event listener on country click\n layer.on({ click: Homepage.activateCountry });\n\n // If active country, set a specific style and store country coords\n if (layer.feature.properties.A3 === countryActive) {\n countryCoords = [coords.lat,coords.lng];\n style = activeStyle;\n }\n\n groupCoords.push([coords.lat,coords.lng]);\n }\n\n // Set the style to the country layer\n layer.setStyle(style);\n })\n\n // Adds the geoJSON to the map\n geojsonLayer.addTo(map);\n\n // If a country is selected, set specific zoom and coordinates\n if (countryActive != null && countryCoords != null) {\n groupCoords = [countryCoords];\n zoom = 4.5;\n }\n\n if (groupCoords.length) {\n // Update the map focus with new elements with the fly anmiation\n map.flyTo(new L.LatLngBounds(groupCoords).getCenter(), zoom);\n }\n }\n}\n\n$('.Homepage').length ? Homepage.init() : false;\n\n/**\n * Returns the props of the filters\n */\nexport function getProps() {\n let data = {\n region: $('.Homepage__region--active').data('id'),\n country: $('.Homepage__filter--country').val(),\n requester: 'homepage'\n };\n return data;\n};\n","import Litepicker from 'litepicker';\nimport Graph from \"../../components/graph/_graph.js\";\nimport Kpi from \"../../components/kpi/_kpi.js\";\nimport DataBinding from \"../../components/properties/data_binding/_data_binding\";\n\nimport { DATE_FORMAT_LITEPICKER } from \"../../const/date_format\";\n\nif ($(\"#litepicker\").length) {\n var picker = new Litepicker({\n element: document.getElementById(\"litepicker\"),\n firstDay: 1,\n format: DATE_FORMAT_LITEPICKER,\n lang: document.documentElement.lang,\n numberOfMonths: 2,\n numberOfColumns: 2,\n minDate: null,\n maxDate: new Date(),\n minDays: null,\n maxDays: null,\n selectForward: false,\n selectBackward: false,\n splitView: false,\n inlineMode: false,\n singleMode: false,\n autoApply: false,\n showWeekNumbers: false,\n showTooltip: true,\n disableWeekends: false,\n mobileFriendly: true,\n // To enable to add year dropdown\n // dropdowns: {\n // minYear: 2000,\n // maxYear: 2020,\n // months: false,\n // years: true,\n // },\n setup: (picker) => {\n picker.on(\"selected\", () => {\n PrivateDashboard.reload()\n });\n picker.on(\"show\", () => {\n let date = picker.getDate() || new Date();\n picker.gotoDate(date.setMonth(date.getMonth() - 1)); // Shift to show the previous month\n\n // To handle date filter clear\n $(\".litepicker .button-cancel\")\n .unbind()\n .on(\"click\", function () {\n picker.clearSelection();\n PrivateDashboard.reload()\n });\n });\n },\n });\n}\n\nvar PrivateDashboard = {\n init: function () {\n PrivateDashboard.startLoading();\n let promises = [];\n promises.push(PrivateDashboard.reloadKpis());\n DataBinding.init();\n promises.push(Graph.init());\n\n // Reload graphs on filter change\n // It was tried to add a namespace here, but it seems to shadow the change signal emitted by the component, that can be namespaced\n $(\".PD__filter\").on(\"change\", function () {\n PrivateDashboard.reload()\n });\n\n // Reload graphs on filter change\n $(\".PD__exportPdf\").on(\"click\", function () {\n PrivateDashboard.printDashboard();\n });\n\n Promise.all(promises).then((values) => {\n PrivateDashboard.finishLoading();\n })\n },\n\n reloadKpis: function () {\n PrivateDashboard.hideLocalCurrencyKpi()\n return Kpi.reloadKpis()\n },\n\n reloadGraphs: function () {\n return Graph.initGraphs(true);\n },\n\n reload: function () {\n PrivateDashboard.startLoading();\n const promises = [];\n promises.push(PrivateDashboard.reloadKpis());\n promises.push(PrivateDashboard.reloadGraphs());\n $(\".PD__filter--referringFacility\").length > 0 &&\n $(\".PD__filter--referringFacility\").val() != \"\"\n ? PrivateDashboard.hideGraphs()\n : PrivateDashboard.showGraphs();\n\n Promise.all(promises).then((values) => {\n PrivateDashboard.finishLoading();\n })\n },\n\n hideLocalCurrencyKpi: function () {\n const props = getProps()\n if (isSet(props.country) || isSet(props.healthSite) || isSet(props.referringFacility) || isSet(props.receivingFacility)) {\n $('.KPI--localCurrency').show();\n } else {\n $('.KPI--localCurrency').hide();\n }\n },\n\n showGraphs: function () {\n $('.Graph[data-path$=\"_referring_entity\"]').closest(\".Graph__ctn\").show();\n },\n\n hideGraphs: function () {\n $('.Graph[data-path$=\"_referring_entity\"]').closest(\".Graph__ctn\").hide();\n },\n\n printDashboard: function () {\n window.print();\n },\n\n finishLoading: function() {\n $(\".PDCtn__dashboard\").removeClass(\"PDCtn__dashboard--loading\");\n },\n\n startLoading: function() {\n $(\".PDCtn__dashboard\").addClass(\"PDCtn__dashboard--loading\");\n },\n};\n\nif ($(\".PD__dashboard\").length) PrivateDashboard.init();\n\n/**\n * Checks property not null and non empty \n */\nfunction isSet(property) {\n return Array.isArray(property) ? property.filter(n => n).length : property // removes empty strings from array\n}\n\n/**\n * Returns the props of the filters\n */\nexport function getProps() {\n let data = {\n startTime: picker.getStartDate()?.dateInstance,\n endTime: picker.getEndDate()?.dateInstance,\n partner: $(\".PD__filter--partner\").val(),\n region: $(\".PD__filter--region\").val(),\n country: $(\".PD__filter--country\").val(),\n healthSite: $(\".PD__filter--healthSite\").val(),\n referringFacility: $(\".PD__filter--referringFacility\").val(),\n receivingFacility: $(\".PD__filter--receivingFacility\").val(),\n ageCategory: $(\".PD__filter--ageCategories\").val(),\n benefTypes: $(\".PD__filter--beneficiaryTypes\").val(),\n gender: $(\".PD__filter--gender\").val(),\n };\n return data;\n}\n","/*!\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