{"version":3,"file":"/js/app.js","mappings":"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","sources":["webpack:///./resources/js/js/_global/global.accordion.js","webpack:///./resources/js/js/_global/global.chart.js","webpack:///./resources/js/js/_global/global.counter.js","webpack:///./resources/js/js/_global/global.liquid.js","webpack:///./resources/js/js/_global/global.svgLoader.js","webpack:///./resources/js/js/_global/global.videoPreview.js","webpack:///./resources/js/js/banner/banner.lineslide.js","webpack:///./resources/js/js/banner/banner.slider.js","webpack:///./resources/js/js/body/body.arc.js","webpack:///./resources/js/js/body/body.calendar.js","webpack:///./resources/js/js/body/body.chart.js","webpack:///./resources/js/js/body/body.countdown.js","webpack:///./resources/js/js/body/body.dropdown.js","webpack:///./resources/js/js/body/body.map.js","webpack:///./resources/js/js/body/body.popup.js","webpack:///./resources/js/js/body/body.progressBar.js","webpack:///./resources/js/js/body/body.slider.js","webpack:///./resources/js/js/body/body.tab.js","webpack:///./resources/js/js/body/body.tooltip.js","webpack:///./resources/js/js/footer/footer.arc.js","webpack:///./resources/js/js/footer/footer.slider.js","webpack:///./resources/js/js/header/header.dropdown.js","webpack:///./resources/js/js/menu/menu.arc.js","webpack:///./resources/js/js/menu/menu.inventoryBag.js","webpack:///./resources/js/js/menu/menu.mobileMenu.js","webpack:///./resources/js/js/menu/menu.progressBar.js","webpack:///./resources/js/js/menu/menu.search.js","webpack:///./resources/js/js/menu/menu.slider.js","webpack:///./resources/js/js/other/cookie.notice.js","webpack:///./resources/js/js/other/helpers.js","webpack:///./resources/js/js/post/post.arc.js","webpack:///./resources/js/js/post/post.progressBar.js","webpack:///./resources/js/js/post/post.slider.js","webpack:///./resources/js/js/sidebar/sidebar.arc.js","webpack:///./resources/js/js/sidebar/sidebar.calendar.js","webpack:///./resources/js/js/sidebar/sidebar.countdown.js","webpack:///./resources/js/js/sidebar/sidebar.map.js","webpack:///./resources/js/js/sidebar/sidebar.progressBar.js","webpack:///./resources/js/js/sidebar/sidebar.slider.js","webpack:///./resources/js/js/sidebar/sidebar.tooltip.js","webpack:///./resources/js/js/utils/Overlay.js","webpack:///./resources/js/js/utils/app.core.js","webpack:///./resources/js/js/utils/content-loader.js","webpack:///./resources/js/js/widget/widget.instagram.js","webpack:///./resources/js/js/widget/widget.twitch.js","webpack:///./resources/js/js/widget/widget.twitter.js","webpack:///./node_modules/chart.js/dist/Chart.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-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-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.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","webpack:///webpack/bootstrap","webpack:///webpack/runtime/hasOwnProperty shorthand","webpack:///webpack/runtime/node module decorator","webpack:///./resources/js/app.js"],"sourcesContent":["const app = require('../utils/app.core');\r\n\r\napp.createAccordion({\r\n triggerSelector: '.accordion-trigger',\r\n contentSelector: '.accordion-content'\r\n});\r\n\r\napp.createAccordion({\r\n triggerSelector: '.payment-method-trigger',\r\n contentSelector: '.payment-method-content',\r\n linkTriggers: true,\r\n triggerOpens: true\r\n});\r\n\r\napp.createAccordion({\r\n triggerSelector: '.faq-item-trigger',\r\n contentSelector: '.faq-item-content',\r\n animation: {\r\n speed: .6\r\n }\r\n});","const app = require('../utils/app.core');\r\n\r\nChart.defaults.global.defaultFontFamily = \"'Exo', sans-serif\";\r\nChart.defaults.global.defaultFontColor = \"#363636\";\r\nChart.defaults.global.defaultFontSize = 10;\r\nChart.defaults.global.defaultFontStyle = 'bold';","/**\r\n * COUNTERS\r\n */\r\nconst setupCounters = function (selector) {\r\n const counters = document.querySelectorAll(selector);\r\n\r\n for (let i = 0, len = counters.length; i < len; i++) {\r\n attachCounterEvents(counters[i]);\r\n }\r\n};\r\n\r\nconst attachCounterEvents = function (el) {\r\n const substractControl = el.querySelector('.counter-control.substract'),\r\n addControl = el.querySelector('.counter-control.add');\r\n \r\n let addID, subID;\r\n\r\n const addUnit = function () {\r\n const counterValue = el.querySelector('.counter-value');\r\n counterValue.innerHTML = counterValue.innerHTML === '100' ? 100 : parseInt(counterValue.innerHTML) + 1;\r\n addID = setTimeout(addUnit, 300);\r\n };\r\n \r\n const substractUnit = function () {\r\n const counterValue = el.querySelector('.counter-value');\r\n counterValue.innerHTML = counterValue.innerHTML === '1' ? 1 : parseInt(counterValue.innerHTML) - 1;\r\n subID = setTimeout(substractUnit, 300);\r\n };\r\n\r\n const stopAdd = function () {\r\n clearTimeout(addID);\r\n };\r\n\r\n const stopSubstract = function () {\r\n clearTimeout(subID);\r\n };\r\n\r\n substractControl.addEventListener('mousedown', substractUnit);\r\n addControl.addEventListener('mousedown', addUnit);\r\n\r\n substractControl.addEventListener('mouseup', stopSubstract);\r\n addControl.addEventListener('mouseup', stopAdd);\r\n};\r\n\r\nsetupCounters('.pixel-counter');","$(document).ready(function () {\r\n $('.liquid').imgLiquid();\r\n});","const svgWrap = document.createElement('div'),\r\n svgData = `\r\n\r\n\r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n\r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n\r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n\r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n\r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n\r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n\r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n\r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n\r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n\r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n\r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n\r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n\r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n\r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n\r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n\r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n\r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n\r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n\r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n\r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n\r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n\r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n\r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n\r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n\r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n\r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n\r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n\r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n\r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n\r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n\r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n\r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n\r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n\r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n\r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n\r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n\r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n\r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n\r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n\r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n\r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n\r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n\r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n\r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n\r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n\r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n\r\n\r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n\r\n \r\n \r\n \r\n\r\n\r\n`;\r\n\r\nsvgWrap.innerHTML = svgData;\r\ndocument.body.appendChild(svgWrap);","(function () {\r\n const videoPreviews = document.querySelectorAll('.post-preview-video-wrap');\r\n if (!videoPreviews.length) return;\r\n\r\n const showVid = function () {\r\n // hide overlay\r\n this.querySelector('.post-preview-overlay').style.visibility = 'hidden';\r\n // hide img\r\n this.querySelector('.post-preview-img').style.visibility = 'hidden';\r\n // show video\r\n this.querySelector('.post-preview-video-wrap').style.visibility = 'visible';\r\n\r\n this.removeEventListener('click', showVid);\r\n };\r\n\r\n videoPreviews.forEach( (el) => {\r\n el.parentElement.addEventListener('click', showVid);\r\n });\r\n})();","const app = require('../utils/app.core');\r\n\r\n/**\r\n * LIVE NEWS\r\n */\r\napp.createLineslide({\r\n container: '#lineslide-wrap1',\r\n lineslide: '.live-news-widget-text',\r\n speed: 1.5,\r\n startOffset: 100,\r\n lineslideItems: [\r\n {\r\n title: 'The \"Clash of Eternity\" new game was just released: ',\r\n content: 'The new game from the world famous \"Eternity Studios\" is back with a new adventure game with a lot of classic and puzzle elements',\r\n separator: '//'\r\n },\r\n {\r\n title: 'We reviewed the new Magimons game: ',\r\n content: 'Magimons is an incredible take on classic RPGs with a new and fresh approach that includes a mindblowing soundtrack',\r\n separator: '//'\r\n },\r\n {\r\n title: 'We reviewed the \"Guardians of the Universe\" movie: ',\r\n content: 'The latest movie from the franchise has a lot of interesting and fun stuff to look for',\r\n separator: '//'\r\n },\r\n {\r\n title: 'Check out some Hearte Bunny original design ideas: ',\r\n content: 'Also, get a sneak peak of the new season looks',\r\n separator: '//'\r\n },\r\n {\r\n title: 'Last night the Wolves beat the Rhinos 12-10: ',\r\n content: 'In an intense match, the Lone Wolves came out victorious. Read all about the big night here',\r\n separator: '//'\r\n }\r\n ]\r\n});","const app = require('../utils/app.core');\r\n\r\napp.createSlider({\r\n sliderContainer: '#banner-slider-1',\r\n rosterContainer: '.banner-slider-roster',\r\n animation: {\r\n type: 'carousel',\r\n orientation: 'horizontal',\r\n transition: 'direct',\r\n slideDelay: 5000,\r\n slideTransition: 1000\r\n }\r\n});\r\n\r\napp.createSlider({\r\n sliderContainer: '#banner-slider-2',\r\n rosterContainer: '.banner-slider-preview-roster',\r\n controls: {\r\n container: '#sliderb2-controls'\r\n },\r\n animation: {\r\n type: 'carousel',\r\n orientation: 'horizontal',\r\n transition: 'direct',\r\n slideDelay: 6000,\r\n slideTransition: 1000\r\n }\r\n});\r\n\r\napp.createSlider({\r\n sliderContainer: '#banner-slider-2-thumbs',\r\n itemsContainer: '.banner-slider-preview-roster',\r\n rosterContainer: false,\r\n slideOnClick: true,\r\n loop: true,\r\n loopOffset: 1,\r\n controls: {\r\n container: '#sliderb2-controls'\r\n },\r\n animation: {\r\n type: 'carousel',\r\n orientation: 'horizontal',\r\n slideDelay: 6000,\r\n slideTransition: 1000,\r\n slideGap: 146\r\n }\r\n});\r\n\r\napp.createSlider({\r\n sliderContainer: '#banner-slider-3',\r\n rosterContainer: false,\r\n // reverse: true,\r\n // autoSlide: false,\r\n controls: {\r\n container: '#banner-slider-3-controls'\r\n },\r\n animation: {\r\n type: 'carousel',\r\n orientation: 'horizontal',\r\n transition: 'direct',\r\n slideDelay: 8000,\r\n slideTransition: 1000,\r\n slideCount: 1\r\n }\r\n});","const app = require('../utils/app.core');\r\n\r\napp.createArc({\r\n container: '#content-news-rate-1',\r\n width: 112,\r\n height: 112,\r\n lineWidth: 10,\r\n gradient: {\r\n colors: ['#5216fd', '#ff055d']\r\n },\r\n scale: {\r\n start: 0,\r\n end: 10,\r\n stop: 8.7\r\n },\r\n shadow: true\r\n});\r\n\r\napp.createArc({\r\n container: '#content-news-rate-2',\r\n width: 64,\r\n height: 64,\r\n lineWidth: 6,\r\n gradient: {\r\n colors: ['#5216fd', '#ff055d']\r\n },\r\n scale: {\r\n start: 0,\r\n end: 10,\r\n stop: 6.5\r\n },\r\n shadow: true\r\n});\r\n\r\napp.createArc({\r\n container: '#content-news-rate-3',\r\n width: 90,\r\n height: 90,\r\n lineWidth: 8,\r\n gradient: {\r\n colors: ['#5216fd', '#ff055d']\r\n },\r\n scale: {\r\n start: 0,\r\n end: 10,\r\n stop: 9.2\r\n },\r\n shadow: true\r\n});\r\n\r\napp.createArc({\r\n container: '#content-news-rate-4',\r\n width: 64,\r\n height: 64,\r\n lineWidth: 6,\r\n gradient: {\r\n colors: ['#5216fd', '#ff055d']\r\n },\r\n scale: {\r\n start: 0,\r\n end: 10,\r\n stop: 8\r\n },\r\n shadow: true\r\n});\r\n\r\napp.createArc({\r\n container: '#content-news-rate-5',\r\n width: 64,\r\n height: 64,\r\n lineWidth: 6,\r\n gradient: {\r\n colors: ['#5216fd', '#ff055d']\r\n },\r\n scale: {\r\n start: 0,\r\n end: 10,\r\n stop: 7.2\r\n },\r\n shadow: true\r\n});\r\n\r\napp.createArc({\r\n container: '#content-news-rate-6',\r\n width: 112,\r\n height: 112,\r\n lineWidth: 10,\r\n gradient: {\r\n colors: ['#5216fd', '#ff055d']\r\n },\r\n scale: {\r\n start: 0,\r\n end: 10,\r\n stop: 6.5\r\n },\r\n shadow: true\r\n});\r\n\r\napp.createArc({\r\n container: '#content-news-rate-7',\r\n width: 90,\r\n height: 90,\r\n lineWidth: 8,\r\n gradient: {\r\n colors: ['#5216fd', '#ff055d']\r\n },\r\n scale: {\r\n start: 0,\r\n end: 10,\r\n stop: 9.2\r\n },\r\n shadow: true\r\n});\r\n\r\napp.createArc({\r\n container: '#content-news-rate-8',\r\n width: 64,\r\n height: 64,\r\n lineWidth: 6,\r\n gradient: {\r\n colors: ['#5216fd', '#ff055d']\r\n },\r\n scale: {\r\n start: 0,\r\n end: 10,\r\n stop: 7.2\r\n },\r\n shadow: true\r\n});\r\n\r\napp.createArc({\r\n container: '#content-news-rate-9',\r\n width: 90,\r\n height: 90,\r\n lineWidth: 8,\r\n gradient: {\r\n colors: ['#5216fd', '#ff055d']\r\n },\r\n scale: {\r\n start: 0,\r\n end: 10,\r\n stop: 8.7\r\n },\r\n shadow: true\r\n});\r\n\r\napp.createArc({\r\n container: '#content-news-rate-10',\r\n width: 90,\r\n height: 90,\r\n lineWidth: 8,\r\n gradient: {\r\n colors: ['#5216fd', '#ff055d']\r\n },\r\n scale: {\r\n start: 0,\r\n end: 10,\r\n stop: 6.5\r\n },\r\n shadow: true\r\n});\r\n\r\napp.createArc({\r\n container: '#content-news-rate-11',\r\n width: 90,\r\n height: 90,\r\n lineWidth: 8,\r\n gradient: {\r\n colors: ['#5216fd', '#ff055d']\r\n },\r\n scale: {\r\n start: 0,\r\n end: 10,\r\n stop: 8\r\n },\r\n shadow: true\r\n});\r\n\r\napp.createArc({\r\n container: '#content-news-rate-12',\r\n width: 90,\r\n height: 90,\r\n lineWidth: 8,\r\n gradient: {\r\n colors: ['#5216fd', '#ff055d']\r\n },\r\n scale: {\r\n start: 0,\r\n end: 10,\r\n stop: 8.9\r\n },\r\n shadow: true\r\n});\r\n\r\napp.createArc({\r\n container: '#content-news-rate-13',\r\n width: 90,\r\n height: 90,\r\n lineWidth: 8,\r\n gradient: {\r\n colors: ['#5216fd', '#ff055d']\r\n },\r\n scale: {\r\n start: 0,\r\n end: 10,\r\n stop: 7.2\r\n },\r\n shadow: true\r\n});\r\n\r\napp.createArc({\r\n container: '#content-news-rate-14',\r\n width: 90,\r\n height: 90,\r\n lineWidth: 8,\r\n gradient: {\r\n colors: ['#5216fd', '#ff055d']\r\n },\r\n scale: {\r\n start: 0,\r\n end: 10,\r\n stop: 4.2\r\n },\r\n shadow: true\r\n});\r\n\r\napp.createArc({\r\n container: '#content-news-rate-15',\r\n width: 90,\r\n height: 90,\r\n lineWidth: 8,\r\n gradient: {\r\n colors: ['#5216fd', '#ff055d']\r\n },\r\n scale: {\r\n start: 0,\r\n end: 10,\r\n stop: 9\r\n },\r\n shadow: true\r\n});\r\n\r\napp.createArc({\r\n container: '#ew1-arc-stat-1',\r\n width: 46,\r\n height: 46,\r\n lineWidth: 6,\r\n lineColor: '#dee807',\r\n linkText: false\r\n});\r\n\r\napp.createArc({\r\n container: '#ew1-arc-stat-1',\r\n width: 46,\r\n height: 46,\r\n lineWidth: 6,\r\n lineColor: '#107df8',\r\n speed: 50,\r\n scale: {\r\n start: 0,\r\n end: 10,\r\n stop: 4.5\r\n },\r\n linkText: false\r\n});\r\n\r\napp.createArc({\r\n container: '#ew1-arc-stat-2',\r\n width: 46,\r\n height: 46,\r\n lineWidth: 6,\r\n lineColor: '#dee807',\r\n linkText: false\r\n});\r\n\r\napp.createArc({\r\n container: '#ew1-arc-stat-2',\r\n width: 46,\r\n height: 46,\r\n lineWidth: 6,\r\n lineColor: '#107df8',\r\n speed: 50,\r\n scale: {\r\n start: 0,\r\n end: 10,\r\n stop: 6.5\r\n },\r\n linkText: false\r\n});\r\n\r\napp.createArc({\r\n container: '#ew1-arc-stat-3',\r\n width: 46,\r\n height: 46,\r\n lineWidth: 6,\r\n lineColor: '#dee807',\r\n linkText: false\r\n});\r\n\r\napp.createArc({\r\n container: '#ew1-arc-stat-3',\r\n width: 46,\r\n height: 46,\r\n lineWidth: 6,\r\n lineColor: '#107df8',\r\n speed: 50,\r\n scale: {\r\n start: 0,\r\n end: 10,\r\n stop: 2.5\r\n },\r\n linkText: false\r\n});\r\n\r\napp.createArc({\r\n container: '#ew3-arc-rate-01',\r\n width: 160,\r\n height: 160,\r\n lineWidth: 8,\r\n lineColor: '#ebebeb',\r\n linkText: false\r\n});\r\n\r\napp.createArc({\r\n container: '#ew3-arc-rate-01',\r\n width: 160,\r\n height: 160,\r\n lineWidth: 8,\r\n gradient: {\r\n colors: ['#713fcb', '#00e3d0']\r\n },\r\n speed: 50,\r\n scale: {\r\n start: 0,\r\n end: 100,\r\n stop: 65\r\n },\r\n animateOnScroll: true,\r\n linkText: false\r\n});\r\n\r\napp.createArc({\r\n container: '#ew3-arc-rate-02',\r\n width: 160,\r\n height: 160,\r\n lineWidth: 8,\r\n lineColor: '#ebebeb',\r\n linkText: false\r\n});\r\n\r\napp.createArc({\r\n container: '#ew3-arc-rate-02',\r\n width: 160,\r\n height: 160,\r\n lineWidth: 8,\r\n gradient: {\r\n colors: ['#713fcb', '#00e3d0']\r\n },\r\n speed: 50,\r\n scale: {\r\n start: 0,\r\n end: 100,\r\n stop: 5\r\n },\r\n animateOnScroll: true,\r\n linkText: false\r\n});\r\n\r\napp.createArc({\r\n container: '#ew3-arc-rate-03',\r\n width: 160,\r\n height: 160,\r\n lineWidth: 8,\r\n lineColor: '#ebebeb',\r\n linkText: false\r\n});\r\n\r\napp.createArc({\r\n container: '#ew3-arc-rate-03',\r\n width: 160,\r\n height: 160,\r\n lineWidth: 8,\r\n gradient: {\r\n colors: ['#713fcb', '#00e3d0']\r\n },\r\n speed: 50,\r\n scale: {\r\n start: 0,\r\n end: 100,\r\n stop: 30\r\n },\r\n animateOnScroll: true,\r\n linkText: false\r\n});\r\n\r\napp.createArc({\r\n container: '#ew3-arc-rate-04',\r\n width: 160,\r\n height: 160,\r\n lineWidth: 8,\r\n lineColor: '#ebebeb',\r\n linkText: false\r\n});\r\n\r\napp.createArc({\r\n container: '#ew3-arc-rate-04',\r\n width: 160,\r\n height: 160,\r\n lineWidth: 8,\r\n gradient: {\r\n colors: ['#713fcb', '#00e3d0']\r\n },\r\n speed: 50,\r\n scale: {\r\n start: 0,\r\n end: 100,\r\n stop: 25\r\n },\r\n animateOnScroll: true,\r\n linkText: false\r\n});\r\n\r\napp.createArc({\r\n container: '#tov-arc-rate-01',\r\n width: 160,\r\n height: 160,\r\n lineWidth: 8,\r\n lineColor: '#ebebeb',\r\n linkText: false\r\n});\r\n\r\napp.createArc({\r\n container: '#tov-arc-rate-01',\r\n width: 160,\r\n height: 160,\r\n lineWidth: 8,\r\n gradient: {\r\n colors: ['#713fcb', '#00e3d0']\r\n },\r\n speed: 50,\r\n scale: {\r\n start: 0,\r\n end: 100,\r\n stop: 84\r\n },\r\n decimalPoints: 0,\r\n linkUnits: '%',\r\n animateOnScroll: true\r\n});","const app = require('../utils/app.core');\r\nconst currentYear = (new Date()).getFullYear(),\r\n currentMonth = (new Date()).getMonth();\r\n\r\napp.createCalendar({\r\n container: '#calendar-01',\r\n events: {\r\n [new Date(currentYear, currentMonth, 14)]: [\r\n {\r\n name: 'Funtendo Online Event',\r\n info: 'some event info',\r\n type: 'blue'\r\n },\r\n {\r\n name: 'Fighter X Release!',\r\n info: 'some other event info',\r\n type: 'green'\r\n }\r\n ],\r\n [new Date(currentYear, currentMonth, 26)]: [\r\n {\r\n name: 'League of Heroes Semifinals',\r\n info: 'some event info',\r\n type: 'violet'\r\n }\r\n ],\r\n [new Date(currentYear, currentMonth-1, 30)]: [\r\n {\r\n name: 'League of Heroes Semifinals',\r\n info: 'some event info',\r\n type: 'violet'\r\n }\r\n ]\r\n },\r\n linksTo: 'event.html'\r\n});","const app = require('../../js/utils/app.core');\r\n\r\nconst ctx = document.querySelector('.chart-bars');\r\nconst chartBarsData = {\r\n type: 'bar',\r\n data: {\r\n labels: ['JAN', 'FEB', 'MAR', 'APR', 'MAY', 'JUN', 'JUL', 'AUG', 'SEP', 'OCT', 'NOV', 'DEC'],\r\n datasets: [\r\n {\r\n label: 'WINS',\r\n data: [8, 10, 5, 6, 9, 11, 8, 4, 7, 10, 4, 9],\r\n backgroundColor: \"#7442ce\"\r\n }, \r\n {\r\n label: 'WINS',\r\n data: [4, 2, 7, 6, 3, 1, 4, 8, 5, 2, 8, 3],\r\n backgroundColor: \"#00e3d0\"\r\n }\r\n ]\r\n },\r\n options: {\r\n legend: {\r\n display: false\r\n },\r\n tooltips: {\r\n backgroundColor: \"#363636\",\r\n titleFontSize: 0,\r\n titleSpacing: 0,\r\n titleMarginBottom: 0,\r\n bodyFontSize: 8,\r\n bodyFontStyle: 'bold',\r\n bodySpacing: 0,\r\n cornerRadius: 4,\r\n xPadding: 10,\r\n yPadding: 6,\r\n displayColors: false\r\n },\r\n scales: {\r\n xAxes: [\r\n {\r\n barThickness: 16,\r\n gridLines: {\r\n display: false\r\n }\r\n }\r\n ],\r\n yAxes: [\r\n {\r\n gridLines: {\r\n color: \"#f1f1f1\",\r\n drawBorder: false,\r\n drawTicks: false,\r\n zeroLineColor: \"#f1f1f1\"\r\n },\r\n ticks: {\r\n beginAtZero: true\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n};\r\n\r\napp.createChart(ctx, chartBarsData);\r\n\r\nconst ctx1 = document.querySelector('.chart-bars-single');\r\nconst chartBarsSingleData = {\r\n type: 'bar',\r\n data: {\r\n labels: ['01', '02', '03', '04', '05', '06', '07', '08', '09', 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31],\r\n datasets: [\r\n {\r\n label: 'SUBSCRIBERS',\r\n data: [98, 53, 68, 43, 80, 110, 68, 78, 46, 87, 100, 76, 42, 8, 82, 26, 0, 90, 66, 99, 76, 102, 65, 78, 98, 70, 90, 62, 78, 95, 70],\r\n backgroundColor: \"#7442ce\"\r\n }\r\n ]\r\n },\r\n options: {\r\n legend: {\r\n display: false\r\n },\r\n tooltips: {\r\n backgroundColor: \"#363636\",\r\n titleFontSize: 0,\r\n titleSpacing: 0,\r\n titleMarginBottom: 0,\r\n bodyFontSize: 8,\r\n bodyFontStyle: 'bold',\r\n bodySpacing: 0,\r\n cornerRadius: 4,\r\n xPadding: 10,\r\n yPadding: 6,\r\n displayColors: false\r\n },\r\n scales: {\r\n xAxes: [\r\n {\r\n barThickness: 16,\r\n gridLines: {\r\n display: false\r\n }\r\n }\r\n ],\r\n yAxes: [\r\n {\r\n gridLines: {\r\n color: \"#f1f1f1\",\r\n drawBorder: false,\r\n drawTicks: false,\r\n zeroLineColor: \"#f1f1f1\"\r\n },\r\n ticks: {\r\n beginAtZero: true\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n};\r\n\r\napp.createChart(ctx1, chartBarsSingleData);\r\n\r\nconst ctx2 = document.querySelector('.chart-lines');\r\nconst chartLinesData = {\r\n type: 'line',\r\n data: {\r\n labels: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28],\r\n datasets: [\r\n {\r\n data: [18, 28, 16, 21, 37, 26, 29, 16, 28, 20, 26, 52, 38, 21, 27, 24, 31, 17, 22, 23, 19, 26, 29, 20, 33, 32, 38, 27],\r\n label: \"KILLS\",\r\n fill: false,\r\n lineTension: 0,\r\n borderWidth: 2,\r\n borderColor: \"#107df8\",\r\n borderCapStyle: 'bevel',\r\n borderDash: [],\r\n borderDashOffset: 0,\r\n borderJoinStyle: 'bevel',\r\n pointBorderColor: \"#108fe9\",\r\n pointBackgroundColor: \"#fff\",\r\n pointBorderWidth: 2,\r\n pointHoverRadius: 5,\r\n pointHoverBackgroundColor: \"#fff\",\r\n pointHoverBorderColor: \"#108fe9\",\r\n pointHoverBorderWidth: 4,\r\n pointRadius: 4,\r\n pointHitRadius: 10\r\n },\r\n {\r\n data: [12, 9, 22, 17, 25, 34, 39, 26, 23, 31, 20, 16, 26, 27, 22, 19, 39, 26, 16, 19, 23, 21, 34, 41, 23, 28, 24, 37],\r\n fill: false,\r\n label: \"KILLS\",\r\n lineTension: 0,\r\n borderWidth: 2,\r\n borderColor: \"#dee807\",\r\n borderCapStyle: 'bevel',\r\n borderDash: [],\r\n borderDashOffset: 0,\r\n borderJoinStyle: 'bevel',\r\n pointBorderColor: \"#ffdc1b\",\r\n pointBackgroundColor: \"#fff\",\r\n pointBorderWidth: 2,\r\n pointHoverRadius: 5,\r\n pointHoverBackgroundColor: \"#fff\",\r\n pointHoverBorderColor: \"#ffdc1b\",\r\n pointHoverBorderWidth: 4,\r\n pointRadius: 4,\r\n pointHitRadius: 10\r\n }\r\n ]\r\n },\r\n options: {\r\n legend: {\r\n display: false\r\n },\r\n tooltips: {\r\n backgroundColor: \"#363636\",\r\n titleFontSize: 0,\r\n titleSpacing: 0,\r\n titleMarginBottom: 0,\r\n bodyFontSize: 8,\r\n bodyFontStyle: 'bold',\r\n bodySpacing: 0,\r\n cornerRadius: 4,\r\n xPadding: 10,\r\n yPadding: 6,\r\n displayColors: false\r\n },\r\n scales: {\r\n xAxes: [\r\n {\r\n gridLines: {\r\n color: \"#f1f1f1\",\r\n drawBorder: false,\r\n zeroLineColor: \"#f1f1f1\"\r\n }\r\n }\r\n ],\r\n yAxes: [\r\n {\r\n gridLines: {\r\n color: \"#f1f1f1\",\r\n drawBorder: false,\r\n zeroLineColor: \"#f1f1f1\"\r\n },\r\n ticks: {\r\n beginAtZero: true\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n};\r\n\r\napp.createChart(ctx2, chartLinesData);","const app = require('../utils/app.core');\r\n\r\n/**\r\n * Countdown auto - restart\r\n */\r\nconst now = new Date(),\r\n today = {\r\n day: now.getDate(),\r\n month: now.getMonth(),\r\n year: now.getFullYear()\r\n };\r\n\r\n/**\r\n * Countdown\r\n */\r\napp.createCountdown({\r\n container: '#countdown-arc',\r\n startDate: new Date(today.year, today.month, today.day - 1),\r\n targetDate: new Date(today.year, today.month, today.day + 4),\r\n global: {\r\n underlineConfig: {\r\n width: 66,\r\n height: 66,\r\n lineWidth: 6\r\n },\r\n arcConfig: {\r\n width: 66,\r\n height: 66,\r\n lineWidth: 6,\r\n pad: true\r\n }\r\n }\r\n});\r\n\r\napp.createProgressBar({\r\n width: 140,\r\n container: '#ew1-match-cd-pgb'\r\n});\r\n\r\nconst ew1_match_pgb = app.createProgressBar({\r\n width: 140,\r\n container: '#ew1-match-cd-pgb',\r\n gradient: {\r\n colors: ['#713fcb', '#00e3d0']\r\n },\r\n controlAnimation: true\r\n});\r\n\r\nif (ew1_match_pgb) {\r\n app.createCountdown({\r\n container: '#ew1-match-cd-text',\r\n startDate: new Date(today.year, today.month, today.day - 1),\r\n targetDate: new Date(today.year, today.month, today.day + 13),\r\n textOnly: true,\r\n onStep: ew1_match_pgb.render\r\n });\r\n}\r\n\r\n\r\nif(document.querySelectorAll('[data-countdown]') && document.querySelectorAll('[data-countdown]').length > 0){\r\n document.querySelectorAll('[data-countdown]').forEach(element => {\r\n const start = element.getAttribute('data-start');\r\n const id = element.id;\r\n\r\n app.createCountdown({\r\n container: `#${id}`,\r\n startDate: new Date(),\r\n targetDate: new Date(start),\r\n textOnly: true,\r\n });\r\n });\r\n}","const app = require('../utils/app.core');\r\n\r\napp.createDropdown({\r\n dropdownSelector: '#ew1-match-selector-dropdown',\r\n dropdownHandler: '#ew1-match-selector-dropdown-trigger',\r\n offset: {\r\n top: 34,\r\n left: -10\r\n },\r\n selectable: true,\r\n options: {\r\n container: '.dp-option',\r\n current: '#ew1-match-selector-dropdown-option-value'\r\n }\r\n});\r\n\r\napp.createDropdown({\r\n dropdownSelector: '#ew1-match-selector-dropdown-2',\r\n dropdownHandler: '#ew1-match-selector-dropdown-trigger-2',\r\n offset: {\r\n top: 34,\r\n left: -10\r\n },\r\n absolute: true,\r\n selectable: true,\r\n options: {\r\n container: '.dp-option',\r\n current: '#ew1-match-selector-dropdown-option-value-2'\r\n }\r\n});\r\n\r\napp.createDropdown({\r\n dropdownSelector: '#ew1-rounds-dropdown',\r\n dropdownHandler: '#ew1-rounds-dropdown-trigger',\r\n offset: {\r\n top: 34,\r\n left: 0\r\n },\r\n selectable: true,\r\n options: {\r\n container: '.dp-option',\r\n current: '#ew1-rounds-dropdown-option-value'\r\n }\r\n});\r\n\r\napp.createDropdown({\r\n dropdownSelector: '#li-dropdown-01',\r\n dropdownHandler: '#li-dropdown-01-trigger',\r\n offset: {\r\n top: 34,\r\n left: 0\r\n },\r\n selectable: true,\r\n options: {\r\n container: '.dp-option',\r\n current: '#li-dropdown-01-option-value'\r\n }\r\n});\r\n\r\napp.createDropdown({\r\n dropdownSelector: '#bi-dropdown-01',\r\n dropdownHandler: '#bi-dropdown-01-trigger',\r\n offset: {\r\n top: 34,\r\n left: 0\r\n },\r\n selectable: true,\r\n options: {\r\n container: '.dp-option',\r\n current: '#bi-dropdown-01-option-value'\r\n }\r\n});\r\n\r\napp.createDropdown({\r\n dropdownSelector: '#bsi-dropdown-01',\r\n dropdownHandler: '#bsi-dropdown-01-trigger',\r\n offset: {\r\n top: 34,\r\n left: 0\r\n },\r\n selectable: true,\r\n options: {\r\n container: '.dp-option',\r\n current: '#bsi-dropdown-01-option-value'\r\n }\r\n});\r\n\r\napp.createDropdown({\r\n dropdownSelector: '#filter-01-dropdown',\r\n dropdownHandler: '#filter-01-dropdown-trigger',\r\n offset: {\r\n top: 34,\r\n left: 0\r\n },\r\n selectable: true,\r\n options: {\r\n container: '.dp-option',\r\n current: '#filter-01-dropdown-option-value'\r\n }\r\n});\r\n\r\napp.createDropdown({\r\n dropdownSelector: '#filter-02-dropdown',\r\n dropdownHandler: '#filter-02-dropdown-trigger',\r\n offset: {\r\n top: 34,\r\n left: 0\r\n },\r\n selectable: true,\r\n options: {\r\n container: '.dp-option',\r\n current: '#filter-02-dropdown-option-value'\r\n }\r\n});\r\n\r\napp.createDropdown({\r\n dropdownSelector: '#filter-03-dropdown',\r\n dropdownHandler: '#filter-03-dropdown-trigger',\r\n offset: {\r\n top: 34,\r\n left: 0\r\n },\r\n selectable: true,\r\n options: {\r\n container: '.dp-option',\r\n current: '#filter-03-dropdown-option-value'\r\n }\r\n});\r\n\r\napp.createDropdown({\r\n dropdownSelector: '#filter-04-dropdown',\r\n dropdownHandler: '#filter-04-dropdown-trigger',\r\n offset: {\r\n top: 34,\r\n left: 0\r\n },\r\n selectable: true,\r\n options: {\r\n container: '.dp-option',\r\n current: '#filter-04-dropdown-option-value'\r\n }\r\n});\r\n\r\napp.createDropdown({\r\n dropdownSelector: '#forums-search-dropdown',\r\n dropdownHandler: '#forums-search-dropdown-trigger',\r\n offset: {\r\n top: 44,\r\n right: -6\r\n },\r\n forceClose: true\r\n});\r\n\r\napp.createDropdown({\r\n dropdownSelector: '#forums-user-dropdown',\r\n dropdownHandler: '#forums-user-dropdown-trigger',\r\n offset: {\r\n top: 44,\r\n right: -34\r\n },\r\n forceClose: true\r\n});\r\n\r\napp.createDropdown({\r\n dropdownSelector: '#filter-05-dropdown',\r\n dropdownHandler: '#filter-05-dropdown-trigger',\r\n offset: {\r\n top: 34,\r\n left: 0\r\n },\r\n forceClose: true\r\n});\r\n\r\napp.createDropdown({\r\n dropdownSelector: '#filter-06-dropdown',\r\n dropdownHandler: '#filter-06-dropdown-trigger',\r\n offset: {\r\n top: 34,\r\n left: 0\r\n },\r\n forceClose: true\r\n});\r\n\r\napp.createDropdown({\r\n dropdownSelector: '#filter-07-dropdown',\r\n dropdownHandler: '#filter-07-dropdown-trigger',\r\n offset: {\r\n top: 34,\r\n left: 0\r\n },\r\n forceClose: true\r\n});","window.initMDMap = function () {\r\n var map = new google.maps.Map(document.querySelector('#map-wrap-md-01'), {\r\n zoom: 15,\r\n center: {lat: 40.7583818, lng: -73.9902694},\r\n mapTypeControl: false,\r\n zoomControl: false,\r\n scrollwheel: false,\r\n scaleControl: false,\r\n streetViewControl: false,\r\n fullscreenControl: false,\r\n styles: [\r\n {\r\n \"elementType\": \"geometry\",\r\n \"stylers\": [\r\n {\r\n \"color\": \"#f5f5f5\"\r\n }\r\n ]\r\n },\r\n {\r\n \"elementType\": \"labels.icon\",\r\n \"stylers\": [\r\n {\r\n \"visibility\": \"off\"\r\n }\r\n ]\r\n },\r\n {\r\n \"elementType\": \"labels.text.fill\",\r\n \"stylers\": [\r\n {\r\n \"color\": \"#616161\"\r\n }\r\n ]\r\n },\r\n {\r\n \"elementType\": \"labels.text.stroke\",\r\n \"stylers\": [\r\n {\r\n \"color\": \"#f5f5f5\"\r\n }\r\n ]\r\n },\r\n {\r\n \"featureType\": \"administrative.land_parcel\",\r\n \"elementType\": \"labels.text.fill\",\r\n \"stylers\": [\r\n {\r\n \"color\": \"#bdbdbd\"\r\n }\r\n ]\r\n },\r\n {\r\n \"featureType\": \"poi\",\r\n \"elementType\": \"geometry\",\r\n \"stylers\": [\r\n {\r\n \"color\": \"#eeeeee\"\r\n }\r\n ]\r\n },\r\n {\r\n \"featureType\": \"poi\",\r\n \"elementType\": \"labels.text.fill\",\r\n \"stylers\": [\r\n {\r\n \"color\": \"#757575\"\r\n }\r\n ]\r\n },\r\n {\r\n \"featureType\": \"poi.park\",\r\n \"elementType\": \"geometry\",\r\n \"stylers\": [\r\n {\r\n \"color\": \"#e5e5e5\"\r\n }\r\n ]\r\n },\r\n {\r\n \"featureType\": \"poi.park\",\r\n \"elementType\": \"labels.text.fill\",\r\n \"stylers\": [\r\n {\r\n \"color\": \"#9e9e9e\"\r\n }\r\n ]\r\n },\r\n {\r\n \"featureType\": \"road\",\r\n \"elementType\": \"geometry\",\r\n \"stylers\": [\r\n {\r\n \"color\": \"#ffffff\"\r\n }\r\n ]\r\n },\r\n {\r\n \"featureType\": \"road.arterial\",\r\n \"elementType\": \"labels.text.fill\",\r\n \"stylers\": [\r\n {\r\n \"color\": \"#757575\"\r\n }\r\n ]\r\n },\r\n {\r\n \"featureType\": \"road.highway\",\r\n \"elementType\": \"geometry\",\r\n \"stylers\": [\r\n {\r\n \"color\": \"#dadada\"\r\n }\r\n ]\r\n },\r\n {\r\n \"featureType\": \"road.highway\",\r\n \"elementType\": \"labels.text.fill\",\r\n \"stylers\": [\r\n {\r\n \"color\": \"#616161\"\r\n }\r\n ]\r\n },\r\n {\r\n \"featureType\": \"road.local\",\r\n \"elementType\": \"labels.text.fill\",\r\n \"stylers\": [\r\n {\r\n \"color\": \"#9e9e9e\"\r\n }\r\n ]\r\n },\r\n {\r\n \"featureType\": \"transit.line\",\r\n \"elementType\": \"geometry\",\r\n \"stylers\": [\r\n {\r\n \"color\": \"#e5e5e5\"\r\n }\r\n ]\r\n },\r\n {\r\n \"featureType\": \"transit.station\",\r\n \"elementType\": \"geometry\",\r\n \"stylers\": [\r\n {\r\n \"color\": \"#eeeeee\"\r\n }\r\n ]\r\n },\r\n {\r\n \"featureType\": \"water\",\r\n \"elementType\": \"geometry\",\r\n \"stylers\": [\r\n {\r\n \"color\": \"#c9c9c9\"\r\n }\r\n ]\r\n },\r\n {\r\n \"featureType\": \"water\",\r\n \"elementType\": \"labels.text.fill\",\r\n \"stylers\": [\r\n {\r\n \"color\": \"#9e9e9e\"\r\n }\r\n ]\r\n }\r\n ]\r\n });\r\n};\r\n\r\nwindow.initBGMap = function () {\r\n var map = new google.maps.Map(document.querySelector('#map-wrap-bg-01'), {\r\n zoom: 15,\r\n center: {lat: 40.7583818, lng: -73.9902694},\r\n mapTypeControl: false,\r\n zoomControl: false,\r\n scrollwheel: false,\r\n scaleControl: false,\r\n streetViewControl: false,\r\n fullscreenControl: false,\r\n styles: [\r\n {\r\n \"elementType\": \"geometry\",\r\n \"stylers\": [\r\n {\r\n \"color\": \"#f5f5f5\"\r\n }\r\n ]\r\n },\r\n {\r\n \"elementType\": \"labels.icon\",\r\n \"stylers\": [\r\n {\r\n \"visibility\": \"off\"\r\n }\r\n ]\r\n },\r\n {\r\n \"elementType\": \"labels.text.fill\",\r\n \"stylers\": [\r\n {\r\n \"color\": \"#616161\"\r\n }\r\n ]\r\n },\r\n {\r\n \"elementType\": \"labels.text.stroke\",\r\n \"stylers\": [\r\n {\r\n \"color\": \"#f5f5f5\"\r\n }\r\n ]\r\n },\r\n {\r\n \"featureType\": \"administrative.land_parcel\",\r\n \"elementType\": \"labels.text.fill\",\r\n \"stylers\": [\r\n {\r\n \"color\": \"#bdbdbd\"\r\n }\r\n ]\r\n },\r\n {\r\n \"featureType\": \"poi\",\r\n \"elementType\": \"geometry\",\r\n \"stylers\": [\r\n {\r\n \"color\": \"#eeeeee\"\r\n }\r\n ]\r\n },\r\n {\r\n \"featureType\": \"poi\",\r\n \"elementType\": \"labels.text.fill\",\r\n \"stylers\": [\r\n {\r\n \"color\": \"#757575\"\r\n }\r\n ]\r\n },\r\n {\r\n \"featureType\": \"poi.park\",\r\n \"elementType\": \"geometry\",\r\n \"stylers\": [\r\n {\r\n \"color\": \"#e5e5e5\"\r\n }\r\n ]\r\n },\r\n {\r\n \"featureType\": \"poi.park\",\r\n \"elementType\": \"labels.text.fill\",\r\n \"stylers\": [\r\n {\r\n \"color\": \"#9e9e9e\"\r\n }\r\n ]\r\n },\r\n {\r\n \"featureType\": \"road\",\r\n \"elementType\": \"geometry\",\r\n \"stylers\": [\r\n {\r\n \"color\": \"#ffffff\"\r\n }\r\n ]\r\n },\r\n {\r\n \"featureType\": \"road.arterial\",\r\n \"elementType\": \"labels.text.fill\",\r\n \"stylers\": [\r\n {\r\n \"color\": \"#757575\"\r\n }\r\n ]\r\n },\r\n {\r\n \"featureType\": \"road.highway\",\r\n \"elementType\": \"geometry\",\r\n \"stylers\": [\r\n {\r\n \"color\": \"#dadada\"\r\n }\r\n ]\r\n },\r\n {\r\n \"featureType\": \"road.highway\",\r\n \"elementType\": \"labels.text.fill\",\r\n \"stylers\": [\r\n {\r\n \"color\": \"#616161\"\r\n }\r\n ]\r\n },\r\n {\r\n \"featureType\": \"road.local\",\r\n \"elementType\": \"labels.text.fill\",\r\n \"stylers\": [\r\n {\r\n \"color\": \"#9e9e9e\"\r\n }\r\n ]\r\n },\r\n {\r\n \"featureType\": \"transit.line\",\r\n \"elementType\": \"geometry\",\r\n \"stylers\": [\r\n {\r\n \"color\": \"#e5e5e5\"\r\n }\r\n ]\r\n },\r\n {\r\n \"featureType\": \"transit.station\",\r\n \"elementType\": \"geometry\",\r\n \"stylers\": [\r\n {\r\n \"color\": \"#eeeeee\"\r\n }\r\n ]\r\n },\r\n {\r\n \"featureType\": \"water\",\r\n \"elementType\": \"geometry\",\r\n \"stylers\": [\r\n {\r\n \"color\": \"#c9c9c9\"\r\n }\r\n ]\r\n },\r\n {\r\n \"featureType\": \"water\",\r\n \"elementType\": \"labels.text.fill\",\r\n \"stylers\": [\r\n {\r\n \"color\": \"#9e9e9e\"\r\n }\r\n ]\r\n }\r\n ]\r\n }),\r\n marker = new google.maps.Marker({\r\n position: {lat: 40.7598300, lng: -73.9902694},\r\n map: map,\r\n icon: 'img/icons/map-marker.png',\r\n animation: google.maps.Animation.DROP,\r\n title: 'Hello World!'\r\n });\r\n\r\n marker.setAnimation(google.maps.Animation.BOUNCE);\r\n\r\n marker.addListener('click', toggleBounce);\r\n function toggleBounce() {\r\n if (marker.getAnimation() !== null) {\r\n marker.setAnimation(null);\r\n } else {\r\n marker.setAnimation(google.maps.Animation.BOUNCE);\r\n }\r\n }\r\n};","const app = require('../utils/app.core');\r\n\r\napp.createPopup({\r\n container: '#popup-login',\r\n trigger: '.popup-login-trigger',\r\n animation: {\r\n type: 'translate-out-fade'\r\n }\r\n});\r\n\r\napp.createPopup({\r\n container: '#popup-register',\r\n trigger: '.popup-register-trigger',\r\n animation: {\r\n type: 'translate-out-fade'\r\n }\r\n});\r\n\r\napp.createPopup({\r\n container: '#popup-player-builds',\r\n trigger: '.popup-player-builds-trigger',\r\n animation: {\r\n type: 'translate-out-fade'\r\n }\r\n});\r\n\r\napp.createPopup({\r\n container: '#popup-advanced-search',\r\n trigger: '.popup-advanced-search-trigger',\r\n animation: {\r\n type: 'translate-out-fade'\r\n }\r\n});\r\n\r\napp.createPopup({\r\n container: '#popup-create-topic',\r\n trigger: '.popup-create-topic-trigger',\r\n animation: {\r\n type: 'translate-out-fade'\r\n }\r\n});\r\n\r\napp.createPopup({\r\n container: '#popup-quick-reply',\r\n trigger: '.popup-quick-reply-trigger',\r\n animation: {\r\n type: 'translate-out-fade'\r\n },\r\n align: 'bottom',\r\n sticky: true\r\n});\r\n\r\napp.createPopup({\r\n container: '#popup-write-review',\r\n trigger: '.popup-write-review-trigger',\r\n animation: {\r\n type: 'translate-out-fade'\r\n }\r\n});\r\n\r\napp.createPopup({\r\n container: '#popup-watch-video',\r\n trigger: '.popup-watch-video-trigger',\r\n animation: {\r\n type: 'translate-out-fade'\r\n }\r\n});","const app = require('../utils/app.core');\r\n\r\ndocument.querySelectorAll('[data-progressbar]').forEach(element => {\r\n const statsLeft = element.querySelector('[data-progressbar-left]');\r\n const statsRight = element.querySelector('[data-progressbar-right]');\r\n const container = element.id;\r\n\r\n app.createProgressBar({\r\n container: `#${container}`,\r\n width: 210,\r\n height: 6,\r\n lineColor: '#107df8',\r\n scale: {\r\n start: 0,\r\n end: 100,\r\n stop: parseInt(statsLeft.textContent)\r\n },\r\n linkText: true,\r\n linkUnits: false,\r\n linkTo: `#${statsLeft.id}`,\r\n buttEnd: true\r\n });\r\n\r\n app.createProgressBar({\r\n container: `#${container}`,\r\n width: 210,\r\n height: 6,\r\n lineColor: '#dee807',\r\n scale: {\r\n start: 0,\r\n end: 100,\r\n stop: parseInt(statsRight.textContent)\r\n },\r\n linkText: true,\r\n linkUnits: false,\r\n linkTo: `#${statsRight.id}`,\r\n reverse: true,\r\n buttEnd: true\r\n });\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#ew1-pgb-4',\r\n width: 812,\r\n height: 6,\r\n lineColor: '#107df8',\r\n scale: {\r\n start: 0,\r\n end: 62,\r\n stop: 34\r\n },\r\n linkText: true,\r\n linkUnits: false,\r\n linkTo: '#tlw-kills-stat-4',\r\n buttEnd: true,\r\n breakpoints: {\r\n 960: {\r\n width: 400,\r\n height: 6\r\n },\r\n 480: {\r\n width: 210,\r\n height: 6\r\n }\r\n }\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#ew1-pgb-4',\r\n width: 812,\r\n height: 6,\r\n lineColor: '#dee807',\r\n scale: {\r\n start: 0,\r\n end: 62,\r\n stop: 28\r\n },\r\n linkText: true,\r\n linkUnits: false,\r\n linkTo: '#rrh-kills-stat-4',\r\n reverse: true,\r\n buttEnd: true,\r\n breakpoints: {\r\n 960: {\r\n width: 400,\r\n height: 6\r\n },\r\n 480: {\r\n width: 210,\r\n height: 6\r\n }\r\n }\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#ew1-pgb-5',\r\n width: 812,\r\n height: 6,\r\n lineColor: '#107df8',\r\n scale: {\r\n start: 0,\r\n end: 36,\r\n stop: 15\r\n },\r\n linkText: true,\r\n linkUnits: false,\r\n linkTo: '#tlw-deaths-stat-5',\r\n buttEnd: true,\r\n breakpoints: {\r\n 960: {\r\n width: 400,\r\n height: 6\r\n },\r\n 480: {\r\n width: 210,\r\n height: 6\r\n }\r\n }\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#ew1-pgb-5',\r\n width: 812,\r\n height: 6,\r\n lineColor: '#dee807',\r\n scale: {\r\n start: 0,\r\n end: 36,\r\n stop: 21\r\n },\r\n linkText: true,\r\n linkUnits: false,\r\n linkTo: '#rrh-deaths-stat-5',\r\n reverse: true,\r\n buttEnd: true,\r\n breakpoints: {\r\n 960: {\r\n width: 400,\r\n height: 6\r\n },\r\n 480: {\r\n width: 210,\r\n height: 6\r\n }\r\n }\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#ew1-pgb-6',\r\n width: 812,\r\n height: 6,\r\n lineColor: '#107df8',\r\n scale: {\r\n start: 0,\r\n end: 39,\r\n stop: 26\r\n },\r\n linkText: true,\r\n linkUnits: false,\r\n linkTo: '#tlw-assists-stat-6',\r\n buttEnd: true,\r\n breakpoints: {\r\n 960: {\r\n width: 400,\r\n height: 6\r\n },\r\n 480: {\r\n width: 210,\r\n height: 6\r\n }\r\n }\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#ew1-pgb-6',\r\n width: 812,\r\n height: 6,\r\n lineColor: '#dee807',\r\n scale: {\r\n start: 0,\r\n end: 39,\r\n stop: 13\r\n },\r\n linkText: true,\r\n linkUnits: false,\r\n linkTo: '#rrh-assists-stat-6',\r\n reverse: true,\r\n buttEnd: true,\r\n breakpoints: {\r\n 960: {\r\n width: 400,\r\n height: 6\r\n },\r\n 480: {\r\n width: 210,\r\n height: 6\r\n }\r\n }\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#ew3-pgb-large-01',\r\n width: 268,\r\n height: 20,\r\n lineCap: 'butt'\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#ew3-pgb-large-01',\r\n width: 268,\r\n height: 20,\r\n lineCap: 'butt',\r\n scale: {\r\n start: 0,\r\n end: 100,\r\n stop: 79.03\r\n },\r\n gradient: {\r\n colors: ['#713fcb', '#00e3d0']\r\n },\r\n split: {\r\n parts: 34,\r\n gap: 4,\r\n color: '#fff'\r\n },\r\n animateOnScroll: true,\r\n decimalPoints: 2,\r\n linkText: true,\r\n linkTo: '#ew3-pgb-large-01-text'\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#ew3-pgb-large-02',\r\n width: 268,\r\n height: 20,\r\n lineCap: 'butt'\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#ew3-pgb-large-02',\r\n width: 268,\r\n height: 20,\r\n lineCap: 'butt',\r\n scale: {\r\n start: 0,\r\n end: 100,\r\n stop: 90\r\n },\r\n gradient: {\r\n colors: ['#713fcb', '#00e3d0']\r\n },\r\n split: {\r\n parts: 34,\r\n gap: 4,\r\n color: '#fff'\r\n },\r\n animateOnScroll: true,\r\n decimalPoints: 2,\r\n linkText: true,\r\n linkTo: '#ew3-pgb-large-02-text'\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#ew3-pgb-large-03',\r\n width: 268,\r\n height: 20,\r\n lineCap: 'butt'\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#ew3-pgb-large-03',\r\n width: 268,\r\n height: 20,\r\n lineCap: 'butt',\r\n scale: {\r\n start: 0,\r\n end: 100,\r\n stop: 36.57\r\n },\r\n gradient: {\r\n colors: ['#713fcb', '#00e3d0']\r\n },\r\n split: {\r\n parts: 34,\r\n gap: 4,\r\n color: '#fff'\r\n },\r\n animateOnScroll: true,\r\n decimalPoints: 2,\r\n linkText: true,\r\n linkTo: '#ew3-pgb-large-03-text'\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#ew3-pgb-large-04',\r\n width: 268,\r\n height: 20,\r\n lineCap: 'butt'\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#ew3-pgb-large-04',\r\n width: 268,\r\n height: 20,\r\n lineCap: 'butt',\r\n scale: {\r\n start: 0,\r\n end: 100,\r\n stop: 52.04\r\n },\r\n gradient: {\r\n colors: ['#713fcb', '#00e3d0']\r\n },\r\n split: {\r\n parts: 34,\r\n gap: 4,\r\n color: '#fff'\r\n },\r\n animateOnScroll: true,\r\n decimalPoints: 2,\r\n linkText: true,\r\n linkTo: '#ew3-pgb-large-04-text'\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#ew3-pgb-os-01',\r\n width: 88,\r\n height: 6,\r\n lineCap: 'butt'\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#ew3-pgb-os-01',\r\n width: 88,\r\n height: 6,\r\n lineCap: 'butt',\r\n scale: {\r\n start: 0,\r\n end: 24,\r\n stop: 22\r\n },\r\n gradient: {\r\n colors: ['#713fcb', '#00e3d0']\r\n },\r\n split: {\r\n parts: 15,\r\n gap: 2,\r\n color: '#fff'\r\n },\r\n animateOnScroll: true,\r\n linkText: true,\r\n linkUnits: 'HOURS'\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#ew3-pgb-os-02',\r\n width: 88,\r\n height: 6,\r\n lineCap: 'butt'\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#ew3-pgb-os-02',\r\n width: 88,\r\n height: 6,\r\n lineCap: 'butt',\r\n scale: {\r\n start: 0,\r\n end: 15,\r\n stop: 7.729\r\n },\r\n gradient: {\r\n colors: ['#713fcb', '#00e3d0']\r\n },\r\n split: {\r\n parts: 15,\r\n gap: 2,\r\n color: '#fff'\r\n },\r\n animateOnScroll: true,\r\n linkText: true,\r\n linkUnits: false,\r\n decimalPoints: 3\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#ew3-pgb-os-03',\r\n width: 88,\r\n height: 6,\r\n lineCap: 'butt'\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#ew3-pgb-os-03',\r\n width: 88,\r\n height: 6,\r\n lineCap: 'butt',\r\n scale: {\r\n start: 0,\r\n end: 10,\r\n stop: 3.5\r\n },\r\n gradient: {\r\n colors: ['#713fcb', '#00e3d0']\r\n },\r\n split: {\r\n parts: 15,\r\n gap: 2,\r\n color: '#fff'\r\n },\r\n animateOnScroll: true,\r\n linkText: true,\r\n linkUnits: false,\r\n decimalPoints: 2\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#ew3-pgb-os-04',\r\n width: 88,\r\n height: 6,\r\n lineCap: 'butt'\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#ew3-pgb-os-04',\r\n width: 88,\r\n height: 6,\r\n lineCap: 'butt',\r\n scale: {\r\n start: 0,\r\n end: 100,\r\n stop: 48\r\n },\r\n gradient: {\r\n colors: ['#713fcb', '#00e3d0']\r\n },\r\n split: {\r\n parts: 15,\r\n gap: 2,\r\n color: '#fff'\r\n },\r\n animateOnScroll: true,\r\n linkText: true\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#ew3-pgb-os-05',\r\n width: 88,\r\n height: 6,\r\n lineCap: 'butt'\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#ew3-pgb-os-05',\r\n width: 88,\r\n height: 6,\r\n lineCap: 'butt',\r\n gradient: {\r\n colors: ['#1c95f3', '#18c1ff']\r\n },\r\n scale: {\r\n start: 0,\r\n end: 40,\r\n stop: 25\r\n },\r\n split: {\r\n parts: 15,\r\n gap: 2,\r\n color: '#fff'\r\n },\r\n animateOnScroll: true,\r\n linkText: true,\r\n linkUnits: false,\r\n decimalPoints: 2\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#ew3-pgb-os-06',\r\n width: 88,\r\n height: 6,\r\n lineCap: 'butt'\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#ew3-pgb-os-06',\r\n width: 88,\r\n height: 6,\r\n lineCap: 'butt',\r\n gradient: {\r\n colors: ['#1c95f3', '#18c1ff']\r\n },\r\n scale: {\r\n start: 0,\r\n end: 25,\r\n stop: 10\r\n },\r\n split: {\r\n parts: 15,\r\n gap: 2,\r\n color: '#fff'\r\n },\r\n animateOnScroll: true,\r\n linkText: true,\r\n linkUnits: false,\r\n decimalPoints: 2\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#ew3-pgb-os-07',\r\n width: 88,\r\n height: 6,\r\n lineCap: 'butt'\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#ew3-pgb-os-07',\r\n width: 88,\r\n height: 6,\r\n lineCap: 'butt',\r\n gradient: {\r\n colors: ['#1c95f3', '#18c1ff']\r\n },\r\n scale: {\r\n start: 0,\r\n end: 1000,\r\n stop: 760.23\r\n },\r\n split: {\r\n parts: 15,\r\n gap: 2,\r\n color: '#fff'\r\n },\r\n animateOnScroll: true,\r\n linkText: true,\r\n linkUnits: false,\r\n decimalPoints: 2\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#ew3-pgb-os-08',\r\n width: 88,\r\n height: 6,\r\n lineCap: 'butt'\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#ew3-pgb-os-08',\r\n width: 88,\r\n height: 6,\r\n lineCap: 'butt',\r\n gradient: {\r\n colors: ['#1c95f3', '#18c1ff']\r\n },\r\n scale: {\r\n start: 0,\r\n end: 40,\r\n stop: 15.765\r\n },\r\n split: {\r\n parts: 15,\r\n gap: 2,\r\n color: '#fff'\r\n },\r\n animateOnScroll: true,\r\n linkText: true,\r\n linkUnits: false,\r\n decimalPoints: 3\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#ew3-pgb-os-09',\r\n width: 88,\r\n height: 6,\r\n lineCap: 'butt'\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#ew3-pgb-os-09',\r\n width: 88,\r\n height: 6,\r\n lineCap: 'butt',\r\n gradient: {\r\n colors: ['#1c95f3', '#18c1ff']\r\n },\r\n scale: {\r\n start: 0,\r\n end: 3.860,\r\n stop: 3.860\r\n },\r\n split: {\r\n parts: 15,\r\n gap: 2,\r\n color: '#fff'\r\n },\r\n animateOnScroll: true,\r\n linkText: true,\r\n linkUnits: false,\r\n decimalPoints: 3\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#ew3-pgb-os-10',\r\n width: 88,\r\n height: 6,\r\n lineCap: 'butt'\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#ew3-pgb-os-10',\r\n width: 88,\r\n height: 6,\r\n lineCap: 'butt',\r\n gradient: {\r\n colors: ['#1c95f3', '#18c1ff']\r\n },\r\n scale: {\r\n start: 0,\r\n end: 10,\r\n stop: 8\r\n },\r\n split: {\r\n parts: 15,\r\n gap: 2,\r\n color: '#fff'\r\n },\r\n animateOnScroll: true,\r\n linkText: true,\r\n linkUnits: false,\r\n decimalPoints: 2\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#ew3-pgb-os-11',\r\n width: 88,\r\n height: 6,\r\n lineCap: 'butt'\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#ew3-pgb-os-11',\r\n width: 88,\r\n height: 6,\r\n lineCap: 'butt',\r\n gradient: {\r\n colors: ['#1c95f3', '#18c1ff']\r\n },\r\n scale: {\r\n start: 0,\r\n end: 100,\r\n stop: 36\r\n },\r\n split: {\r\n parts: 15,\r\n gap: 2,\r\n color: '#fff'\r\n },\r\n animateOnScroll: true,\r\n linkText: true\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#ew3-pgb-os-12',\r\n width: 88,\r\n height: 6,\r\n lineCap: 'butt'\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#ew3-pgb-os-12',\r\n width: 88,\r\n height: 6,\r\n lineCap: 'butt',\r\n gradient: {\r\n colors: ['#1c95f3', '#18c1ff']\r\n },\r\n scale: {\r\n start: 0,\r\n end: 100,\r\n stop: 2\r\n },\r\n split: {\r\n parts: 15,\r\n gap: 2,\r\n color: '#fff'\r\n },\r\n animateOnScroll: true,\r\n linkText: true,\r\n decimalPoints: 1\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#ew3-pgb-os-13',\r\n width: 88,\r\n height: 6,\r\n lineCap: 'butt'\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#ew3-pgb-os-13',\r\n width: 88,\r\n height: 6,\r\n lineCap: 'butt',\r\n gradient: {\r\n colors: ['#1c95f3', '#18c1ff']\r\n },\r\n scale: {\r\n start: 0,\r\n end: 100,\r\n stop: 60\r\n },\r\n split: {\r\n parts: 15,\r\n gap: 2,\r\n color: '#fff'\r\n },\r\n animateOnScroll: true,\r\n linkText: true\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#ew3-pgb-os-14',\r\n width: 88,\r\n height: 6,\r\n lineCap: 'butt'\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#ew3-pgb-os-14',\r\n width: 88,\r\n height: 6,\r\n lineCap: 'butt',\r\n gradient: {\r\n colors: ['#1c95f3', '#18c1ff']\r\n },\r\n scale: {\r\n start: 0,\r\n end: 7,\r\n stop: 7\r\n },\r\n split: {\r\n parts: 15,\r\n gap: 2,\r\n color: '#fff'\r\n },\r\n animateOnScroll: true,\r\n linkText: true,\r\n linkUnits: false,\r\n decimalPoints: 2\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#ew3-pgb-os-15',\r\n width: 88,\r\n height: 6,\r\n lineCap: 'butt'\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#ew3-pgb-os-15',\r\n width: 88,\r\n height: 6,\r\n lineCap: 'butt',\r\n gradient: {\r\n colors: ['#1c95f3', '#18c1ff']\r\n },\r\n scale: {\r\n start: 0,\r\n end: 63,\r\n stop: 11\r\n },\r\n split: {\r\n parts: 15,\r\n gap: 2,\r\n color: '#fff'\r\n },\r\n animateOnScroll: true,\r\n linkText: true,\r\n linkUnits: false,\r\n decimalPoints: 1\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#ew3-pgb-os-16',\r\n width: 88,\r\n height: 6,\r\n lineCap: 'butt'\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#ew3-pgb-os-16',\r\n width: 88,\r\n height: 6,\r\n lineCap: 'butt',\r\n gradient: {\r\n colors: ['#1c95f3', '#18c1ff']\r\n },\r\n scale: {\r\n start: 0,\r\n end: 7,\r\n stop: 7\r\n },\r\n split: {\r\n parts: 15,\r\n gap: 2,\r\n color: '#fff'\r\n },\r\n animateOnScroll: true,\r\n linkText: true,\r\n linkUnits: false,\r\n decimalPoints: 2\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#ew3-pgb-hs-01',\r\n width: 88,\r\n height: 6,\r\n lineCap: 'butt'\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#ew3-pgb-hs-01',\r\n width: 88,\r\n height: 6,\r\n lineCap: 'butt',\r\n gradient: {\r\n colors: ['#713fcb', '#00e3d0']\r\n },\r\n scale: {\r\n start: 0,\r\n end: 10,\r\n stop: 9.652\r\n },\r\n split: {\r\n parts: 15,\r\n gap: 2,\r\n color: '#fff'\r\n },\r\n animateOnScroll: true,\r\n linkText: true,\r\n linkUnits: false,\r\n decimalPoints: 3\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#badge-pgb-novice',\r\n width: 160,\r\n height: 6\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#badge-pgb-novice',\r\n width: 160,\r\n height: 6,\r\n scale: {\r\n start: 0,\r\n end: 2,\r\n stop: 2\r\n },\r\n speed: 30,\r\n gradient: {\r\n colors: ['#f30a5c', '#1c95f3']\r\n },\r\n animateOnScroll: true,\r\n linkText: true,\r\n linkTo: '#badge-pgb-novice-text',\r\n linkUnits: false,\r\n completeText: 'unlocked!',\r\n emptyText: 'locked',\r\n invertedProgress: true\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#badge-pgb-intermediate',\r\n width: 160,\r\n height: 6\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#badge-pgb-intermediate',\r\n width: 160,\r\n height: 6,\r\n scale: {\r\n start: 0,\r\n end: 101,\r\n stop: 101\r\n },\r\n speed: 30,\r\n gradient: {\r\n colors: ['#f30a5c', '#1c95f3']\r\n },\r\n animateOnScroll: true,\r\n linkText: true,\r\n linkTo: '#badge-pgb-intermediate-text',\r\n linkUnits: false,\r\n completeText: 'unlocked!',\r\n emptyText: 'locked',\r\n invertedProgress: true\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#badge-pgb-expert',\r\n width: 160,\r\n height: 6\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#badge-pgb-expert',\r\n width: 160,\r\n height: 6,\r\n scale: {\r\n start: 0,\r\n end: 501,\r\n stop: 501\r\n },\r\n speed: 30,\r\n gradient: {\r\n colors: ['#f30a5c', '#1c95f3']\r\n },\r\n animateOnScroll: true,\r\n linkText: true,\r\n linkTo: '#badge-pgb-expert-text',\r\n linkUnits: false,\r\n completeText: 'unlocked!',\r\n emptyText: 'locked',\r\n invertedProgress: true\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#badge-pgb-legendary',\r\n width: 160,\r\n height: 6\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#badge-pgb-legendary',\r\n width: 160,\r\n height: 6,\r\n scale: {\r\n start: 0,\r\n end: 1001,\r\n stop: 1001\r\n },\r\n speed: 30,\r\n gradient: {\r\n colors: ['#f30a5c', '#1c95f3']\r\n },\r\n animateOnScroll: true,\r\n linkText: true,\r\n linkTo: '#badge-pgb-legendary-text',\r\n linkUnits: false,\r\n completeText: 'unlocked!',\r\n emptyText: 'locked',\r\n invertedProgress: true\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#badge-pgb-staff',\r\n width: 160,\r\n height: 6\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#badge-pgb-staff',\r\n width: 160,\r\n height: 6,\r\n scale: {\r\n start: 0,\r\n end: 100,\r\n stop: 0\r\n },\r\n speed: 30,\r\n gradient: {\r\n colors: ['#f30a5c', '#1c95f3']\r\n },\r\n animateOnScroll: true,\r\n linkText: true,\r\n linkTo: '#badge-pgb-staff-text',\r\n completeText: 'unlocked!',\r\n emptyText: 'locked'\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#badge-pgb-moderator',\r\n width: 160,\r\n height: 6\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#badge-pgb-moderator',\r\n width: 160,\r\n height: 6,\r\n scale: {\r\n start: 0,\r\n end: 100,\r\n stop: 0\r\n },\r\n speed: 30,\r\n gradient: {\r\n colors: ['#f30a5c', '#1c95f3']\r\n },\r\n animateOnScroll: true,\r\n linkText: true,\r\n linkTo: '#badge-pgb-moderator-text',\r\n completeText: 'unlocked!',\r\n emptyText: 'locked'\r\n});\r\n\r\n\r\napp.createProgressBar({\r\n container: '#badge-pgb-level',\r\n width: 160,\r\n height: 6\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#badge-pgb-level',\r\n width: 160,\r\n height: 6,\r\n scale: {\r\n start: 0,\r\n end: 365,\r\n stop: 269\r\n },\r\n speed: 30,\r\n gradient: {\r\n colors: ['#f30a5c', '#1c95f3']\r\n },\r\n animateOnScroll: true,\r\n linkText: true,\r\n linkTo: '#badge-pgb-level-text',\r\n linkUnits: false,\r\n completeText: 'unlocked!',\r\n emptyText: 'locked',\r\n invertedProgress: true\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#badge-pgb-warrior',\r\n width: 160,\r\n height: 6\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#badge-pgb-warrior',\r\n width: 160,\r\n height: 6,\r\n scale: {\r\n start: 0,\r\n end: 100,\r\n stop: 0\r\n },\r\n speed: 30,\r\n gradient: {\r\n colors: ['#f30a5c', '#1c95f3']\r\n },\r\n animateOnScroll: true,\r\n linkText: true,\r\n linkTo: '#badge-pgb-warrior-text',\r\n completeText: 'unlocked!',\r\n emptyText: 'locked'\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#badge-pgb-spoiler',\r\n width: 160,\r\n height: 6\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#badge-pgb-spoiler',\r\n width: 160,\r\n height: 6,\r\n scale: {\r\n start: 0,\r\n end: 100,\r\n stop: 12\r\n },\r\n speed: 30,\r\n gradient: {\r\n colors: ['#f30a5c', '#1c95f3']\r\n },\r\n animateOnScroll: true,\r\n linkText: true,\r\n linkUnits: false,\r\n linkTo: '#badge-pgb-spoiler-text',\r\n completeText: 'unlocked!',\r\n emptyText: 'locked',\r\n invertedProgress: true\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#badge-pgb-super-writer',\r\n width: 160,\r\n height: 6\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#badge-pgb-super-writer',\r\n width: 160,\r\n height: 6,\r\n scale: {\r\n start: 0,\r\n end: 51,\r\n stop: 51\r\n },\r\n speed: 30,\r\n gradient: {\r\n colors: ['#f30a5c', '#1c95f3']\r\n },\r\n animateOnScroll: true,\r\n linkText: true,\r\n linkUnits: false,\r\n linkTo: '#badge-pgb-super-writer-text',\r\n completeText: 'unlocked!',\r\n emptyText: 'locked',\r\n invertedProgress: true\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#badge-pgb-expert-writer',\r\n width: 160,\r\n height: 6\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#badge-pgb-expert-writer',\r\n width: 160,\r\n height: 6,\r\n scale: {\r\n start: 0,\r\n end: 201,\r\n stop: 149\r\n },\r\n speed: 30,\r\n gradient: {\r\n colors: ['#f30a5c', '#1c95f3']\r\n },\r\n animateOnScroll: true,\r\n linkText: true,\r\n linkUnits: false,\r\n linkTo: '#badge-pgb-expert-writer-text',\r\n completeText: 'unlocked!',\r\n emptyText: 'locked',\r\n invertedProgress: true\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#badge-pgb-reviewer',\r\n width: 160,\r\n height: 6\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#badge-pgb-reviewer',\r\n width: 160,\r\n height: 6,\r\n scale: {\r\n start: 0,\r\n end: 21,\r\n stop: 21\r\n },\r\n speed: 30,\r\n gradient: {\r\n colors: ['#f30a5c', '#1c95f3']\r\n },\r\n animateOnScroll: true,\r\n linkText: true,\r\n linkUnits: false,\r\n linkTo: '#badge-pgb-reviewer-text',\r\n completeText: 'unlocked!',\r\n emptyText: 'locked',\r\n invertedProgress: true\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#badge-pgb-phantom',\r\n width: 160,\r\n height: 6\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#badge-pgb-phantom',\r\n width: 160,\r\n height: 6,\r\n scale: {\r\n start: 0,\r\n end: 365,\r\n stop: 0\r\n },\r\n speed: 30,\r\n gradient: {\r\n colors: ['#f30a5c', '#1c95f3']\r\n },\r\n animateOnScroll: true,\r\n linkText: true,\r\n linkUnits: false,\r\n linkTo: '#badge-pgb-phantom-text',\r\n completeText: 'unlocked!',\r\n emptyText: 'locked',\r\n invertedProgress: true\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#badge-pgb-thunderstruck',\r\n width: 160,\r\n height: 6\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#badge-pgb-thunderstruck',\r\n width: 160,\r\n height: 6,\r\n scale: {\r\n start: 0,\r\n end: 51,\r\n stop: 32\r\n },\r\n speed: 30,\r\n gradient: {\r\n colors: ['#f30a5c', '#1c95f3']\r\n },\r\n animateOnScroll: true,\r\n linkText: true,\r\n linkUnits: false,\r\n linkTo: '#badge-pgb-thunderstruck-text',\r\n completeText: 'unlocked!',\r\n emptyText: 'locked',\r\n invertedProgress: true\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#badge-pgb-traveller',\r\n width: 160,\r\n height: 6\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#badge-pgb-traveller',\r\n width: 160,\r\n height: 6,\r\n scale: {\r\n start: 0,\r\n end: 11,\r\n stop: 11\r\n },\r\n speed: 30,\r\n gradient: {\r\n colors: ['#f30a5c', '#1c95f3']\r\n },\r\n animateOnScroll: true,\r\n linkText: true,\r\n linkUnits: false,\r\n linkTo: '#badge-pgb-traveller-text',\r\n completeText: 'unlocked!',\r\n emptyText: 'locked',\r\n invertedProgress: true\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#badge-pgb-super-traveller',\r\n width: 160,\r\n height: 6\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#badge-pgb-super-traveller',\r\n width: 160,\r\n height: 6,\r\n scale: {\r\n start: 0,\r\n end: 21,\r\n stop: 21\r\n },\r\n speed: 30,\r\n gradient: {\r\n colors: ['#f30a5c', '#1c95f3']\r\n },\r\n animateOnScroll: true,\r\n linkText: true,\r\n linkUnits: false,\r\n linkTo: '#badge-pgb-super-traveller-text',\r\n completeText: 'unlocked!',\r\n emptyText: 'locked',\r\n invertedProgress: true\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#badge-pgb-liked',\r\n width: 160,\r\n height: 6\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#badge-pgb-liked',\r\n width: 160,\r\n height: 6,\r\n scale: {\r\n start: 0,\r\n end: 201,\r\n stop: 201\r\n },\r\n speed: 30,\r\n gradient: {\r\n colors: ['#f30a5c', '#1c95f3']\r\n },\r\n animateOnScroll: true,\r\n linkText: true,\r\n linkUnits: false,\r\n linkTo: '#badge-pgb-liked-text',\r\n completeText: 'unlocked!',\r\n emptyText: 'locked',\r\n invertedProgress: true\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#badge-pgb-super-liked',\r\n width: 160,\r\n height: 6\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#badge-pgb-super-liked',\r\n width: 160,\r\n height: 6,\r\n scale: {\r\n start: 0,\r\n end: 501,\r\n stop: 381\r\n },\r\n speed: 30,\r\n gradient: {\r\n colors: ['#f30a5c', '#1c95f3']\r\n },\r\n animateOnScroll: true,\r\n linkText: true,\r\n linkUnits: false,\r\n linkTo: '#badge-pgb-super-liked-text',\r\n completeText: 'unlocked!',\r\n emptyText: 'locked',\r\n invertedProgress: true\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#badge-pgb-ultra-powered',\r\n width: 160,\r\n height: 6\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#badge-pgb-ultra-powered',\r\n width: 160,\r\n height: 6,\r\n scale: {\r\n start: 0,\r\n end: 40,\r\n stop: 40\r\n },\r\n speed: 30,\r\n gradient: {\r\n colors: ['#f30a5c', '#1c95f3']\r\n },\r\n animateOnScroll: true,\r\n linkText: true,\r\n linkUnits: false,\r\n linkTo: '#badge-pgb-ultra-powered-text',\r\n completeText: 'unlocked!',\r\n emptyText: 'locked',\r\n invertedProgress: true\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#badge-pgb-contest-winner',\r\n width: 160,\r\n height: 6\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#badge-pgb-contest-winner',\r\n width: 160,\r\n height: 6,\r\n scale: {\r\n start: 0,\r\n end: 100,\r\n stop: 0\r\n },\r\n speed: 30,\r\n gradient: {\r\n colors: ['#f30a5c', '#1c95f3']\r\n },\r\n animateOnScroll: true,\r\n linkText: true,\r\n linkTo: '#badge-pgb-contest-winner-text',\r\n completeText: 'unlocked!',\r\n emptyText: 'locked'\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#badge-pgb-collaborator',\r\n width: 160,\r\n height: 6\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#badge-pgb-collaborator',\r\n width: 160,\r\n height: 6,\r\n scale: {\r\n start: 0,\r\n end: 100,\r\n stop: 0\r\n },\r\n speed: 30,\r\n gradient: {\r\n colors: ['#f30a5c', '#1c95f3']\r\n },\r\n animateOnScroll: true,\r\n linkText: true,\r\n linkTo: '#badge-pgb-collaborator-text',\r\n completeText: 'unlocked!',\r\n emptyText: 'locked'\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#badge-pgb-caffeinated',\r\n width: 160,\r\n height: 6\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#badge-pgb-caffeinated',\r\n width: 160,\r\n height: 6,\r\n scale: {\r\n start: 0,\r\n end: 101,\r\n stop: 101\r\n },\r\n speed: 30,\r\n gradient: {\r\n colors: ['#f30a5c', '#1c95f3']\r\n },\r\n animateOnScroll: true,\r\n linkText: true,\r\n linkUnits: false,\r\n linkTo: '#badge-pgb-caffeinated-text',\r\n completeText: 'unlocked!',\r\n emptyText: 'locked',\r\n invertedProgress: true\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#badge-pgb-ultra-caffeinated',\r\n width: 160,\r\n height: 6\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#badge-pgb-ultra-caffeinated',\r\n width: 160,\r\n height: 6,\r\n scale: {\r\n start: 0,\r\n end: 201,\r\n stop: 127\r\n },\r\n speed: 30,\r\n gradient: {\r\n colors: ['#f30a5c', '#1c95f3']\r\n },\r\n animateOnScroll: true,\r\n linkText: true,\r\n linkUnits: false,\r\n linkTo: '#badge-pgb-ultra-caffeinated-text',\r\n completeText: 'unlocked!',\r\n emptyText: 'locked',\r\n invertedProgress: true\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#badge-pgb-villain',\r\n width: 160,\r\n height: 6\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#badge-pgb-villain',\r\n width: 160,\r\n height: 6,\r\n scale: {\r\n start: 0,\r\n end: 501,\r\n stop: 71\r\n },\r\n speed: 30,\r\n gradient: {\r\n colors: ['#f30a5c', '#1c95f3']\r\n },\r\n animateOnScroll: true,\r\n linkText: true,\r\n linkUnits: false,\r\n linkTo: '#badge-pgb-villain-text',\r\n completeText: 'unlocked!',\r\n emptyText: 'locked',\r\n invertedProgress: true\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#progress-bar-lc-01',\r\n width: 226,\r\n height: 6\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#progress-bar-lc-01',\r\n width: 226,\r\n height: 6,\r\n scale: {\r\n start: 0,\r\n end: 100,\r\n stop: 100\r\n },\r\n speed: 30,\r\n gradient: {\r\n colors: ['#420ca2', '#00d8ff']\r\n },\r\n linkText: false\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#progress-bar-lc-02',\r\n width: 226,\r\n height: 6\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#progress-bar-lc-02',\r\n width: 226,\r\n height: 6,\r\n scale: {\r\n start: 0,\r\n end: 100,\r\n stop: 100\r\n },\r\n speed: 30,\r\n gradient: {\r\n colors: ['#420ca2', '#00d8ff']\r\n },\r\n linkText: false\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#progress-bar-lc-03',\r\n width: 226,\r\n height: 6\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#progress-bar-lc-03',\r\n width: 226,\r\n height: 6,\r\n scale: {\r\n start: 0,\r\n end: 100,\r\n stop: 100\r\n },\r\n speed: 30,\r\n gradient: {\r\n colors: ['#420ca2', '#00d8ff']\r\n },\r\n linkText: false\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#progress-bar-lc-04',\r\n width: 226,\r\n height: 6\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#progress-bar-lc-04',\r\n width: 226,\r\n height: 6,\r\n scale: {\r\n start: 0,\r\n end: 100,\r\n stop: 100\r\n },\r\n speed: 30,\r\n gradient: {\r\n colors: ['#420ca2', '#00d8ff']\r\n },\r\n linkText: false\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#progress-bar-lc-05',\r\n width: 226,\r\n height: 6\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#progress-bar-lc-05',\r\n width: 226,\r\n height: 6,\r\n scale: {\r\n start: 0,\r\n end: 100,\r\n stop: 100\r\n },\r\n speed: 30,\r\n gradient: {\r\n colors: ['#420ca2', '#00d8ff']\r\n },\r\n linkText: false\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#rbb-pgb-01',\r\n width: 355,\r\n height: 6\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#rbb-pgb-01',\r\n width: 355,\r\n height: 6,\r\n scale: {\r\n start: 0,\r\n end: 16,\r\n stop: 5\r\n },\r\n speed: 30,\r\n gradient: {\r\n colors: ['#420ca2', '#00d8ff']\r\n },\r\n linkUnits: false,\r\n linkText: true\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#rbb-pgb-02',\r\n width: 355,\r\n height: 6\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#rbb-pgb-02',\r\n width: 355,\r\n height: 6,\r\n scale: {\r\n start: 0,\r\n end: 16,\r\n stop: 10\r\n },\r\n speed: 30,\r\n gradient: {\r\n colors: ['#420ca2', '#00d8ff']\r\n },\r\n linkUnits: false,\r\n linkText: true\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#rbb-pgb-03',\r\n width: 355,\r\n height: 6\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#rbb-pgb-03',\r\n width: 355,\r\n height: 6,\r\n scale: {\r\n start: 0,\r\n end: 16,\r\n stop: 0\r\n },\r\n speed: 30,\r\n gradient: {\r\n colors: ['#420ca2', '#00d8ff']\r\n },\r\n linkUnits: false,\r\n linkText: true\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#rbb-pgb-04',\r\n width: 355,\r\n height: 6\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#rbb-pgb-04',\r\n width: 355,\r\n height: 6,\r\n scale: {\r\n start: 0,\r\n end: 16,\r\n stop: 1\r\n },\r\n speed: 30,\r\n gradient: {\r\n colors: ['#420ca2', '#00d8ff']\r\n },\r\n linkUnits: false,\r\n linkText: true\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#rbb-pgb-05',\r\n width: 355,\r\n height: 6\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#rbb-pgb-05',\r\n width: 355,\r\n height: 6,\r\n scale: {\r\n start: 0,\r\n end: 16,\r\n stop: 0\r\n },\r\n speed: 30,\r\n gradient: {\r\n colors: ['#420ca2', '#00d8ff']\r\n },\r\n linkUnits: false,\r\n linkText: true\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#rbb-pgb-06',\r\n width: 355,\r\n height: 6\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#rbb-pgb-06',\r\n width: 355,\r\n height: 6,\r\n scale: {\r\n start: 0,\r\n end: 10,\r\n stop: 9.2\r\n },\r\n speed: 30,\r\n gradient: {\r\n colors: ['#420ca2', '#00d8ff']\r\n },\r\n linkUnits: false,\r\n linkText: true,\r\n decimalPoints: 1\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#rbb-pgb-07',\r\n width: 355,\r\n height: 6\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#rbb-pgb-07',\r\n width: 355,\r\n height: 6,\r\n scale: {\r\n start: 0,\r\n end: 10,\r\n stop: 7.4\r\n },\r\n speed: 30,\r\n gradient: {\r\n colors: ['#420ca2', '#00d8ff']\r\n },\r\n linkUnits: false,\r\n linkText: true,\r\n decimalPoints: 1\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#rbb-pgb-08',\r\n width: 355,\r\n height: 6\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#rbb-pgb-08',\r\n width: 355,\r\n height: 6,\r\n scale: {\r\n start: 0,\r\n end: 10,\r\n stop: 8.6\r\n },\r\n speed: 30,\r\n gradient: {\r\n colors: ['#420ca2', '#00d8ff']\r\n },\r\n linkUnits: false,\r\n linkText: true,\r\n decimalPoints: 1\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#rbb-pgb-09',\r\n width: 355,\r\n height: 6\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#rbb-pgb-09',\r\n width: 355,\r\n height: 6,\r\n scale: {\r\n start: 0,\r\n end: 10,\r\n stop: 4.1\r\n },\r\n speed: 30,\r\n gradient: {\r\n colors: ['#420ca2', '#00d8ff']\r\n },\r\n linkUnits: false,\r\n linkText: true,\r\n decimalPoints: 1\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#rbb-pgb-10',\r\n width: 355,\r\n height: 6\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#rbb-pgb-10',\r\n width: 355,\r\n height: 6,\r\n scale: {\r\n start: 0,\r\n end: 10,\r\n stop: 9.7\r\n },\r\n speed: 30,\r\n gradient: {\r\n colors: ['#420ca2', '#00d8ff']\r\n },\r\n linkUnits: false,\r\n linkText: true,\r\n decimalPoints: 1\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#rbb-pgb-11',\r\n width: 270,\r\n height: 6\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#rbb-pgb-11',\r\n width: 270,\r\n height: 6,\r\n scale: {\r\n start: 0,\r\n end: 10,\r\n stop: 10\r\n },\r\n speed: 30,\r\n gradient: {\r\n colors: ['#420ca2', '#00d8ff']\r\n },\r\n linkUnits: false,\r\n linkText: true\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#rbb-pgb-12',\r\n width: 270,\r\n height: 6\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#rbb-pgb-12',\r\n width: 270,\r\n height: 6,\r\n scale: {\r\n start: 0,\r\n end: 10,\r\n stop: 8\r\n },\r\n speed: 30,\r\n gradient: {\r\n colors: ['#420ca2', '#00d8ff']\r\n },\r\n linkUnits: false,\r\n linkText: true\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#rbb-pgb-13',\r\n width: 270,\r\n height: 6\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#rbb-pgb-13',\r\n width: 270,\r\n height: 6,\r\n scale: {\r\n start: 0,\r\n end: 10,\r\n stop: 8\r\n },\r\n speed: 30,\r\n gradient: {\r\n colors: ['#420ca2', '#00d8ff']\r\n },\r\n linkUnits: false,\r\n linkText: true\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#rbb-pgb-14',\r\n width: 270,\r\n height: 6\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#rbb-pgb-14',\r\n width: 270,\r\n height: 6,\r\n scale: {\r\n start: 0,\r\n end: 10,\r\n stop: 9\r\n },\r\n speed: 30,\r\n gradient: {\r\n colors: ['#420ca2', '#00d8ff']\r\n },\r\n linkUnits: false,\r\n linkText: true\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#rbb-pgb-15',\r\n width: 270,\r\n height: 6\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#rbb-pgb-15',\r\n width: 270,\r\n height: 6,\r\n scale: {\r\n start: 0,\r\n end: 10,\r\n stop: 8\r\n },\r\n speed: 30,\r\n gradient: {\r\n colors: ['#420ca2', '#00d8ff']\r\n },\r\n linkUnits: false,\r\n linkText: true\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#rbb-pgb-16',\r\n width: 270,\r\n height: 6\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#rbb-pgb-16',\r\n width: 270,\r\n height: 6,\r\n scale: {\r\n start: 0,\r\n end: 10,\r\n stop: 3\r\n },\r\n speed: 30,\r\n gradient: {\r\n colors: ['#420ca2', '#00d8ff']\r\n },\r\n linkUnits: false,\r\n linkText: true\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#rbb-pgb-17',\r\n width: 270,\r\n height: 6\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#rbb-pgb-17',\r\n width: 270,\r\n height: 6,\r\n scale: {\r\n start: 0,\r\n end: 10,\r\n stop: 5\r\n },\r\n speed: 30,\r\n gradient: {\r\n colors: ['#420ca2', '#00d8ff']\r\n },\r\n linkUnits: false,\r\n linkText: true\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#rbb-pgb-18',\r\n width: 270,\r\n height: 6\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#rbb-pgb-18',\r\n width: 270,\r\n height: 6,\r\n scale: {\r\n start: 0,\r\n end: 10,\r\n stop: 4\r\n },\r\n speed: 30,\r\n gradient: {\r\n colors: ['#420ca2', '#00d8ff']\r\n },\r\n linkUnits: false,\r\n linkText: true\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#rbb-pgb-19',\r\n width: 270,\r\n height: 6\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#rbb-pgb-19',\r\n width: 270,\r\n height: 6,\r\n scale: {\r\n start: 0,\r\n end: 10,\r\n stop: 2\r\n },\r\n speed: 30,\r\n gradient: {\r\n colors: ['#420ca2', '#00d8ff']\r\n },\r\n linkUnits: false,\r\n linkText: true\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#rbb-pgb-20',\r\n width: 270,\r\n height: 6\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#rbb-pgb-20',\r\n width: 270,\r\n height: 6,\r\n scale: {\r\n start: 0,\r\n end: 10,\r\n stop: 9\r\n },\r\n speed: 30,\r\n gradient: {\r\n colors: ['#420ca2', '#00d8ff']\r\n },\r\n linkUnits: false,\r\n linkText: true\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#rbb-pgb-21',\r\n width: 270,\r\n height: 6\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#rbb-pgb-21',\r\n width: 270,\r\n height: 6,\r\n scale: {\r\n start: 0,\r\n end: 10,\r\n stop: 9\r\n },\r\n speed: 30,\r\n gradient: {\r\n colors: ['#420ca2', '#00d8ff']\r\n },\r\n linkUnits: false,\r\n linkText: true\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#rbb-pgb-22',\r\n width: 270,\r\n height: 6\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#rbb-pgb-22',\r\n width: 270,\r\n height: 6,\r\n scale: {\r\n start: 0,\r\n end: 10,\r\n stop: 8\r\n },\r\n speed: 30,\r\n gradient: {\r\n colors: ['#420ca2', '#00d8ff']\r\n },\r\n linkUnits: false,\r\n linkText: true\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#rbb-pgb-23',\r\n width: 270,\r\n height: 6\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#rbb-pgb-23',\r\n width: 270,\r\n height: 6,\r\n scale: {\r\n start: 0,\r\n end: 10,\r\n stop: 6\r\n },\r\n speed: 30,\r\n gradient: {\r\n colors: ['#420ca2', '#00d8ff']\r\n },\r\n linkUnits: false,\r\n linkText: true\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#rbb-pgb-24',\r\n width: 270,\r\n height: 6\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#rbb-pgb-24',\r\n width: 270,\r\n height: 6,\r\n scale: {\r\n start: 0,\r\n end: 10,\r\n stop: 7\r\n },\r\n speed: 30,\r\n gradient: {\r\n colors: ['#420ca2', '#00d8ff']\r\n },\r\n linkUnits: false,\r\n linkText: true\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#rbb-pgb-25',\r\n width: 270,\r\n height: 6\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#rbb-pgb-25',\r\n width: 270,\r\n height: 6,\r\n scale: {\r\n start: 0,\r\n end: 10,\r\n stop: 8\r\n },\r\n speed: 30,\r\n gradient: {\r\n colors: ['#420ca2', '#00d8ff']\r\n },\r\n linkUnits: false,\r\n linkText: true\r\n});","const app = require('../utils/app.core');\r\n\r\napp.createSlider({\r\n sliderContainer: '#lvideos-slider1',\r\n itemsContainer: '.carousel-items',\r\n rosterContainer: false,\r\n autoSlide: false,\r\n animation: {\r\n type: 'carousel',\r\n orientation: 'horizontal',\r\n transition: 'direct',\r\n slideDelay: 7000,\r\n slideTransition: 1000,\r\n slideGap: 30,\r\n slideCount: 1\r\n },\r\n controls: {\r\n container: '#lvideos-slider1-controls'\r\n }\r\n});\r\n\r\napp.createSlider({\r\n sliderContainer: '#postslide-1',\r\n // reverse: true,\r\n // autoSlide: false,\r\n animation: {\r\n type: 'carousel',\r\n orientation: 'vertical',\r\n transition: 'direct',\r\n slideDelay: 5000,\r\n slideTransition: 700\r\n },\r\n controls: {\r\n container: '#postslide-1-controls'\r\n }\r\n});\r\n\r\napp.createSlider({\r\n sliderContainer: '#gknews-slider1',\r\n itemsContainer: '.carousel-items',\r\n rosterContainer: false,\r\n animation: {\r\n type: 'carousel',\r\n orientation: 'horizontal',\r\n transition: 'direct',\r\n slideDelay: 7000,\r\n slideTransition: 1000,\r\n slideGap: 30,\r\n slideCount: 1\r\n },\r\n controls: {\r\n container: '#gknews-slider1-controls'\r\n }\r\n});\r\n\r\napp.createSlider({\r\n sliderContainer: '#esnews-slider1',\r\n itemsContainer: '.carousel-items',\r\n rosterContainer: false,\r\n animation: {\r\n type: 'carousel',\r\n orientation: 'horizontal',\r\n transition: 'direct',\r\n slideDelay: 7000,\r\n slideTransition: 1000,\r\n slideGap: 30,\r\n slideCount: 1\r\n },\r\n controls: {\r\n container: '#esnews-slider1-controls'\r\n }\r\n});\r\n\r\napp.createSlider({\r\n sliderContainer: '#lvideos-slider2',\r\n itemsContainer: '.carousel-items',\r\n rosterContainer: false,\r\n autoSlide: false,\r\n animation: {\r\n type: 'carousel',\r\n orientation: 'horizontal',\r\n transition: 'direct',\r\n slideDelay: 7000,\r\n slideTransition: 1000,\r\n slideGap: 0,\r\n slideCount: 1\r\n },\r\n controls: {\r\n container: '#lvideos-slider2-controls'\r\n }\r\n});\r\n\r\napp.createSlider({\r\n sliderContainer: '#gmnews-slider1',\r\n itemsContainer: '.carousel-items',\r\n rosterContainer: false,\r\n animation: {\r\n type: 'carousel',\r\n orientation: 'horizontal',\r\n transition: 'direct',\r\n slideDelay: 7000,\r\n slideTransition: 1000,\r\n slideGap: 30,\r\n slideCount: 1\r\n },\r\n controls: {\r\n container: '#gmnews-slider1-controls'\r\n }\r\n});\r\n\r\napp.createSlider({\r\n sliderContainer: '#ew1-cmrf-slider',\r\n itemsContainer: '.carousel-match-result-items',\r\n rosterContainer: false,\r\n autoSlide: false,\r\n animation: {\r\n type: 'carousel',\r\n orientation: 'horizontal',\r\n transition: 'direct',\r\n slideDelay: 7000,\r\n slideTransition: 1000\r\n },\r\n controls: {\r\n container: '#ew1-cmrf-controls',\r\n disabledClass: 'disabled'\r\n },\r\n stopAtEnd: true\r\n});\r\n\r\napp.createSlider({\r\n sliderContainer: '#ew1-cmr-slider',\r\n itemsContainer: '.carousel-match-result-items',\r\n rosterContainer: false,\r\n autoSlide: false,\r\n animation: {\r\n type: 'carousel',\r\n orientation: 'horizontal',\r\n transition: 'direct',\r\n slideDelay: 7000,\r\n slideTransition: 1000\r\n },\r\n controls: {\r\n container: '#ew1-cmr-controls',\r\n disabledClass: 'disabled'\r\n },\r\n stopAtEnd: true\r\n});\r\n\r\napp.createSlider({\r\n sliderContainer: '#video-info-slider01',\r\n itemsContainer: '.video-info-slider-items',\r\n rosterContainer: false,\r\n autoSlide: false,\r\n animation: {\r\n type: 'carousel',\r\n orientation: 'horizontal',\r\n transition: 'direct',\r\n slideDelay: 7000,\r\n slideTransition: 1000,\r\n slideGap: 30,\r\n slideCount: 1\r\n },\r\n controls: {\r\n container: '#video-info-slider01-controls'\r\n }\r\n});\r\n\r\napp.createSlider({\r\n sliderContainer: '#video-slider01',\r\n itemsContainer: '.video-slider-items',\r\n rosterContainer: false,\r\n autoSlide: false,\r\n animation: {\r\n type: 'carousel',\r\n orientation: 'horizontal',\r\n transition: 'direct',\r\n slideDelay: 7000,\r\n slideTransition: 1000,\r\n slideGap: 30,\r\n slideCount: 1,\r\n showCount: 2\r\n },\r\n controls: {\r\n container: '#video-info-slider01-controls'\r\n }\r\n});\r\n\r\napp.createSlider({\r\n sliderContainer: '#st-videos-slider',\r\n itemsContainer: '.carousel-items',\r\n rosterContainer: false,\r\n autoSlide: false,\r\n animation: {\r\n type: 'carousel',\r\n orientation: 'horizontal',\r\n transition: 'direct',\r\n slideDelay: 7000,\r\n slideTransition: 1000,\r\n slideGap: 30,\r\n slideCount: 1\r\n },\r\n controls: {\r\n container: '#st-videos-slider-controls'\r\n }\r\n});\r\n\r\napp.createSlider({\r\n sliderContainer: '#product-slider-01',\r\n itemsContainer: '.product-preview-slider-items',\r\n rosterContainer: '.product-preview-slider-roster',\r\n autoSlide: true,\r\n animation: {\r\n type: 'carousel',\r\n orientation: 'horizontal',\r\n transition: 'direct',\r\n slideDelay: 5000,\r\n slideTransition: 800\r\n }\r\n});\r\n\r\napp.createSlider({\r\n sliderContainer: '#shop-banner-slider',\r\n itemsContainer: '.slider-items',\r\n rosterContainer: '.shop-banner-slider-roster',\r\n animation: {\r\n type: 'carousel',\r\n orientation: 'horizontal',\r\n transition: 'direct',\r\n slideDelay: 7000,\r\n slideTransition: 1000,\r\n slideCount: 1\r\n }\r\n});\r\n\r\napp.createSlider({\r\n sliderContainer: '#product-open-slider-01',\r\n itemsContainer: '.product-slider-items',\r\n rosterContainer: '.product-slider-roster-items',\r\n animation: {\r\n type: 'carousel',\r\n orientation: 'horizontal',\r\n transition: 'direct',\r\n slideDelay: 7000,\r\n slideTransition: 1000,\r\n slideCount: 1\r\n },\r\n autoSlide: false\r\n});","const app = require('../utils/app.core');\r\n\r\napp.createTab({\r\n container: '#tab-login-register'\r\n});\r\n\r\napp.createTab({\r\n container: '#tab-product-page'\r\n});","const app = require('../utils/app.core');\r\n\r\napp.createTooltip({\r\n container: '.ew1-lineups-tooltip',\r\n direction: 'top',\r\n align: 'center',\r\n offset: -10,\r\n animation: {\r\n type: 'translate-out-fade'\r\n }\r\n});\r\n\r\napp.createTooltip({\r\n container: '.ew2-lineups-tooltip',\r\n direction: 'top',\r\n align: 'center',\r\n offset: -10,\r\n animation: {\r\n type: 'translate-out-fade'\r\n }\r\n});","const app = require('../utils/app.core');\r\n\r\n/**\r\n * LATEST REVIEWS RATING\r\n */\r\napp.createArc({\r\n container: '#footer-rate-1',\r\n width: 48,\r\n height: 48,\r\n lineWidth: 5,\r\n gradient: {\r\n colors: ['#5216fd', '#ff055d']\r\n },\r\n scale: {\r\n start: 0,\r\n end: 10,\r\n stop: 8.7\r\n },\r\n shadow: true\r\n});\r\n\r\napp.createArc({\r\n container: '#footer-rate-2',\r\n width: 48,\r\n height: 48,\r\n lineWidth: 5,\r\n gradient: {\r\n colors: ['#5216fd', '#ff055d']\r\n },\r\n scale: {\r\n start: 0,\r\n end: 10,\r\n stop: 6.5\r\n },\r\n shadow: true\r\n});\r\n\r\napp.createArc({\r\n container: '#footer-rate-3',\r\n width: 48,\r\n height: 48,\r\n lineWidth: 5,\r\n gradient: {\r\n colors: ['#5216fd', '#ff055d']\r\n },\r\n scale: {\r\n start: 0,\r\n end: 10,\r\n stop: 9.2\r\n },\r\n shadow: true\r\n});\r\n\r\napp.createArc({\r\n container: '#footer-rate-4',\r\n width: 48,\r\n height: 48,\r\n lineWidth: 5,\r\n gradient: {\r\n colors: ['#5216fd', '#ff055d']\r\n },\r\n scale: {\r\n start: 0,\r\n end: 10,\r\n stop: 6.5\r\n },\r\n shadow: true\r\n});","const app = require('../utils/app.core');\r\n\r\n/**\r\n * SPONSORS SLIDER\r\n */\r\napp.createSlider({\r\n sliderContainer: '#footer-sponsor-slider',\r\n itemsContainer: '.sponsors-slider-items',\r\n rosterContainer: false,\r\n autoSlide: false,\r\n controls: {\r\n container: '#footer-sponsor-slider-controls'\r\n },\r\n animation: {\r\n type: 'carousel',\r\n orientation: 'horizontal',\r\n transition: 'direct',\r\n slideDelay: 6000,\r\n slideTransition: 1000,\r\n slideGap: 30\r\n }\r\n});","const app = require('../utils/app.core');\r\n\r\napp.createDropdown({\r\n dropdownSelector: '#lang-dropdown',\r\n dropdownHandler: '#lang-dropdown-trigger',\r\n offset: {\r\n top: 54,\r\n left: -10\r\n },\r\n selectable: true,\r\n options: {\r\n container: '.widget-option',\r\n current: '#lang-dropdown-option-value'\r\n }\r\n});\r\n\r\napp.createDropdown({\r\n dropdownSelector: '#curr-dropdown',\r\n dropdownHandler: '#curr-dropdown-trigger',\r\n offset: {\r\n top: 54,\r\n left: 40\r\n },\r\n selectable: true,\r\n options: {\r\n container: '.widget-option',\r\n current: '#curr-dropdown-option-value'\r\n },\r\n breakpoints: {\r\n 960: {\r\n offset: {\r\n left: -10\r\n }\r\n }\r\n }\r\n});\r\n\r\napp.createDropdown({\r\n dropdownSelector: '#account-dropdown',\r\n dropdownHandler: '#account-dropdown-trigger',\r\n offset: {\r\n top: 54,\r\n left: -54\r\n }\r\n});\r\n\r\napp.createDropdown({\r\n dropdownSelector: '#lang-dropdown-2',\r\n dropdownHandler: '#lang-dropdown-trigger-2',\r\n offset: {\r\n top: 54,\r\n left: -10\r\n },\r\n selectable: true,\r\n options: {\r\n container: '.widget-option',\r\n current: '#lang-dropdown-option-value-2'\r\n }\r\n});\r\n\r\napp.createDropdown({\r\n dropdownSelector: '#curr-dropdown-2',\r\n dropdownHandler: '#curr-dropdown-trigger-2',\r\n offset: {\r\n top: 54,\r\n left: 40\r\n },\r\n selectable: true,\r\n options: {\r\n container: '.widget-option',\r\n current: '#curr-dropdown-option-value-2'\r\n },\r\n breakpoints: {\r\n 960: {\r\n offset: {\r\n left: -10\r\n }\r\n }\r\n }\r\n});\r\n\r\napp.createDropdown({\r\n dropdownSelector: '#account-dropdown-2',\r\n dropdownHandler: '#account-dropdown-trigger-2',\r\n offset: {\r\n top: 54,\r\n right: -10\r\n }\r\n});","const app = require('../utils/app.core');\r\n\r\n/**\r\n * FEATURES RATING\r\n */\r\napp.createArc({\r\n container: '#menu-rate-08-1',\r\n width: 64,\r\n height: 64,\r\n lineWidth: 6,\r\n gradient: {\r\n colors: ['#5216fd', '#ff055d']\r\n },\r\n scale: {\r\n start: 0,\r\n end: 10,\r\n stop: 8\r\n },\r\n shadow: true\r\n});\r\n\r\napp.createArc({\r\n container: '#menu-rate-08-2',\r\n width: 64,\r\n height: 64,\r\n lineWidth: 6,\r\n gradient: {\r\n colors: ['#5216fd', '#ff055d']\r\n },\r\n scale: {\r\n start: 0,\r\n end: 10,\r\n stop: 8\r\n },\r\n shadow: true\r\n});\r\n\r\napp.createArc({\r\n container: '#menu-rate-08-3',\r\n width: 64,\r\n height: 64,\r\n lineWidth: 6,\r\n gradient: {\r\n colors: ['#5216fd', '#ff055d']\r\n },\r\n scale: {\r\n start: 0,\r\n end: 10,\r\n stop: 8\r\n },\r\n shadow: true\r\n});\r\n\r\napp.createArc({\r\n container: '#menu-rate-16-1',\r\n width: 64,\r\n height: 64,\r\n lineWidth: 6,\r\n gradient: {\r\n colors: ['#5216fd', '#ff055d']\r\n },\r\n scale: {\r\n start: 0,\r\n end: 10,\r\n stop: 8.7\r\n },\r\n shadow: true\r\n});\r\n\r\napp.createArc({\r\n container: '#menu-rate-25-1',\r\n width: 64,\r\n height: 64,\r\n lineWidth: 6,\r\n gradient: {\r\n colors: ['#5216fd', '#ff055d']\r\n },\r\n scale: {\r\n start: 0,\r\n end: 10,\r\n stop: 6.5\r\n },\r\n shadow: true\r\n});\r\n\r\napp.createArc({\r\n container: '#menu-rate-05-1',\r\n width: 64,\r\n height: 64,\r\n lineWidth: 6,\r\n gradient: {\r\n colors: ['#5216fd', '#ff055d']\r\n },\r\n scale: {\r\n start: 0,\r\n end: 10,\r\n stop: 9.2\r\n },\r\n shadow: true\r\n});\r\n\r\napp.createArc({\r\n container: '#menu-rate-10-1',\r\n width: 64,\r\n height: 64,\r\n lineWidth: 6,\r\n gradient: {\r\n colors: ['#5216fd', '#ff055d']\r\n },\r\n scale: {\r\n start: 0,\r\n end: 10,\r\n stop: 7.2\r\n },\r\n shadow: true\r\n});\r\n\r\napp.createArc({\r\n container: '#menu-rate-31-1',\r\n width: 64,\r\n height: 64,\r\n lineWidth: 6,\r\n gradient: {\r\n colors: ['#5216fd', '#ff055d']\r\n },\r\n scale: {\r\n start: 0,\r\n end: 10,\r\n stop: 4.2\r\n },\r\n shadow: true\r\n});","const app = require('../utils/app.core');\r\n\r\n/**\r\n * INVENTORY BAG PREVIEW\r\n */\r\nconst inventoryBagTrigger = document.querySelector('.inventory-button'),\r\n inventoryBagPreview = document.querySelector('.inventory-bag-preview'),\r\n inventoryBagClose = document.querySelector('.inventory-close-button');\r\n\r\nif (inventoryBagPreview && inventoryBagTrigger && inventoryBagClose) {\r\n let inventoryOpen = false,\r\n overlay = app.createOverlay();\r\n\r\n overlay.element.appendChild(inventoryBagPreview);\r\n\r\n const openInventory = function () {\r\n if (inventoryOpen) return;\r\n inventoryBagPreview.style.transform = `translate(-100%, 0)`;\r\n inventoryOpen = true;\r\n overlay.show();\r\n overlay.addTrigger({\r\n event: 'click',\r\n callback: closeInventory\r\n });\r\n };\r\n\r\n const closeInventory = function () {\r\n if (!inventoryOpen) return;\r\n inventoryBagPreview.style.transform = `translate(0, 0)`;\r\n inventoryOpen = false;\r\n overlay.hide();\r\n };\r\n\r\n inventoryBagTrigger.addEventListener('click', openInventory);\r\n inventoryBagClose.addEventListener('click', closeInventory);\r\n}","const app = require('../utils/app.core');\r\n\r\n/**\r\n * MOBILE MENU TOGGLE\r\n */\r\nconst mobileMenu = document.querySelector('.mobile-menu-wrap'),\r\n mobileMenuOpen = document.querySelector('.mobile-menu-open'),\r\n mobileMenuClose = document.querySelector('.mobile-menu-close');\r\n\r\nif (mobileMenu && mobileMenuOpen && mobileMenuClose) {\r\n const overlay = app.createOverlay();\r\n\r\n overlay.element.appendChild(mobileMenu);\r\n\r\n const openMobileMenu = function () {\r\n mobileMenu.classList.add('open');\r\n overlay.show();\r\n overlay.addTrigger({\r\n event: 'click',\r\n callback: closeMobileMenu\r\n });\r\n };\r\n\r\n const closeMobileMenu = function () {\r\n mobileMenu.classList.remove('open');\r\n overlay.hide();\r\n };\r\n\r\n mobileMenuOpen.addEventListener('click', openMobileMenu);\r\n mobileMenuClose.addEventListener('click', closeMobileMenu);\r\n \r\n /**\r\n * MOBILE MENU DROPDOWNS\r\n */\r\n $('.pd-dropdown-handler').on('click', function () {\r\n $(this).parent().toggleClass('active');\r\n $(this).siblings('.pd-dropdown').slideToggle(600);\r\n }); \r\n}\r\n","const app = require('../utils/app.core');\r\n\r\n/**\r\n * ESPORTS PROGRESS BARS\r\n */\r\napp.createProgressBar({\r\n container: '#mn-pg-1',\r\n width: 210,\r\n height: 6,\r\n lineColor: '#107df8',\r\n scale: {\r\n start: 0,\r\n end: 62,\r\n stop: 34\r\n },\r\n linkText: true,\r\n linkUnits: false,\r\n linkTo: '#tlw-kills-stat',\r\n buttEnd: true\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#mn-pg-1',\r\n width: 210,\r\n height: 6,\r\n lineColor: '#dee807',\r\n scale: {\r\n start: 0,\r\n end: 62,\r\n stop: 28\r\n },\r\n linkText: true,\r\n linkUnits: false,\r\n linkTo: '#rrh-kills-stat',\r\n reverse: true,\r\n buttEnd: true\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#mn-pg-2',\r\n width: 210,\r\n height: 6,\r\n lineColor: '#107df8',\r\n scale: {\r\n start: 0,\r\n end: 36,\r\n stop: 15\r\n },\r\n linkText: true,\r\n linkUnits: false,\r\n linkTo: '#tlw-deaths-stat',\r\n buttEnd: true\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#mn-pg-2',\r\n width: 210,\r\n height: 6,\r\n lineColor: '#dee807',\r\n scale: {\r\n start: 0,\r\n end: 36,\r\n stop: 21\r\n },\r\n linkText: true,\r\n linkUnits: false,\r\n linkTo: '#rrh-deaths-stat',\r\n reverse: true,\r\n buttEnd: true\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#mn-pg-3',\r\n width: 210,\r\n height: 6,\r\n lineColor: '#107df8',\r\n scale: {\r\n start: 0,\r\n end: 39,\r\n stop: 26\r\n },\r\n linkText: true,\r\n linkUnits: false,\r\n linkTo: '#tlw-assists-stat',\r\n buttEnd: true\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#mn-pg-3',\r\n width: 210,\r\n height: 6,\r\n lineColor: '#dee807',\r\n scale: {\r\n start: 0,\r\n end: 39,\r\n stop: 13\r\n },\r\n linkText: true,\r\n linkUnits: false,\r\n linkTo: '#rrh-assists-stat',\r\n reverse: true,\r\n buttEnd: true\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#mn-pg-4',\r\n width: 210,\r\n height: 6,\r\n lineColor: '#107df8',\r\n scale: {\r\n start: 0,\r\n end: 62,\r\n stop: 34\r\n },\r\n linkText: true,\r\n linkUnits: false,\r\n linkTo: '#tlw-kills-stat-mn4',\r\n buttEnd: true\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#mn-pg-4',\r\n width: 210,\r\n height: 6,\r\n lineColor: '#dee807',\r\n scale: {\r\n start: 0,\r\n end: 62,\r\n stop: 28\r\n },\r\n linkText: true,\r\n linkUnits: false,\r\n linkTo: '#rrh-kills-stat-mn4',\r\n reverse: true,\r\n buttEnd: true\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#mn-pg-5',\r\n width: 210,\r\n height: 6,\r\n lineColor: '#107df8',\r\n scale: {\r\n start: 0,\r\n end: 36,\r\n stop: 15\r\n },\r\n linkText: true,\r\n linkUnits: false,\r\n linkTo: '#tlw-deaths-stat-mn5',\r\n buttEnd: true\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#mn-pg-5',\r\n width: 210,\r\n height: 6,\r\n lineColor: '#dee807',\r\n scale: {\r\n start: 0,\r\n end: 36,\r\n stop: 21\r\n },\r\n linkText: true,\r\n linkUnits: false,\r\n linkTo: '#rrh-deaths-stat-mn5',\r\n reverse: true,\r\n buttEnd: true\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#mn-pg-6',\r\n width: 210,\r\n height: 6,\r\n lineColor: '#107df8',\r\n scale: {\r\n start: 0,\r\n end: 39,\r\n stop: 26\r\n },\r\n linkText: true,\r\n linkUnits: false,\r\n linkTo: '#tlw-assists-stat-mn6',\r\n buttEnd: true\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#mn-pg-6',\r\n width: 210,\r\n height: 6,\r\n lineColor: '#dee807',\r\n scale: {\r\n start: 0,\r\n end: 39,\r\n stop: 13\r\n },\r\n linkText: true,\r\n linkUnits: false,\r\n linkTo: '#rrh-assists-stat-mn6',\r\n reverse: true,\r\n buttEnd: true\r\n});","const app = require('../utils/app.core');\r\n\r\n/**\r\n * SEARCH POPUP\r\n */\r\nconst searchPopupOpen = document.querySelectorAll('.search-popup-open'),\r\n searchPopupClose = document.querySelectorAll('.search-popup-close'),\r\n searchPopup = document.querySelector('.search-popup'),\r\n searchPopupInput = document.querySelector('.input-line'),\r\n searchPopupText = document.querySelector('.search-popup-text');\r\n\r\nif (searchPopupOpen && searchPopupClose && searchPopup && searchPopupInput && searchPopupText) {\r\n searchPopup.style.height = `${document.body.offsetHeight}px`;\r\n\r\n const disableScroll = function () {\r\n document.body.style.overflowY = 'hidden';\r\n };\r\n\r\n const enableScroll = function () {\r\n document.body.style.overflowY = 'auto';\r\n };\r\n\r\n const closeSearchPopupOnKeyPress = function (e) {\r\n if (e.keyCode === 27) {\r\n closeSearchPopup();\r\n }\r\n };\r\n\r\n const openSearchPopup = function () {\r\n disableScroll();\r\n searchPopup.classList.add('open');\r\n searchPopupInput.classList.add('animate');\r\n searchPopupText.classList.add('animate');\r\n setTimeout(function () {\r\n searchPopupInput.focus();\r\n }, 500);\r\n\r\n document.addEventListener('keydown', closeSearchPopupOnKeyPress);\r\n };\r\n\r\n const closeSearchPopup = function () {\r\n enableScroll();\r\n searchPopup.classList.remove('open');\r\n searchPopupInput.value = '';\r\n searchPopupInput.classList.remove('animate');\r\n searchPopupText.classList.remove('animate');\r\n\r\n document.removeEventListener('keydown', closeSearchPopupOnKeyPress);\r\n };\r\n\r\n app.addListener(searchPopupOpen, 'click', openSearchPopup);\r\n app.addListener(searchPopupClose, 'click', closeSearchPopup);\r\n}\r\n","const app = require('../utils/app.core');\r\n\r\n/**\r\n * SHOP SLIDER\r\n */\r\napp.createSlider({\r\n sliderContainer: '#submenu-slider-1',\r\n itemsContainer: '.submenu-slider-items',\r\n rosterContainer: '.submenu-slider-options',\r\n rosterControls: {\r\n triggerEvent: 'mouseover'\r\n },\r\n autoSlide: false,\r\n lock: false,\r\n animation: {\r\n type: 'static',\r\n orientation: 'vertical',\r\n transition: 'direct',\r\n slideDelay: 7000,\r\n slideTransition: 1000\r\n }\r\n});\r\n\r\napp.createSlider({\r\n sliderContainer: '#submenu-slider-2',\r\n itemsContainer: '.submenu-slider-items',\r\n rosterContainer: '.submenu-slider-options',\r\n rosterControls: {\r\n triggerEvent: 'mouseover'\r\n },\r\n autoSlide: false,\r\n lock: false,\r\n animation: {\r\n type: 'static',\r\n orientation: 'vertical',\r\n transition: 'direct',\r\n slideDelay: 7000,\r\n slideTransition: 1000\r\n }\r\n});\r\n\r\napp.createSlider({\r\n sliderContainer: '#submenu-ns-news-slider',\r\n itemsContainer: '.news-section-categories',\r\n rosterContainer: '.news-section-options',\r\n autoSlide: false,\r\n animation: {\r\n type: 'carousel',\r\n orientation: 'vertical',\r\n transition: 'direct',\r\n slideDelay: 7000,\r\n slideTransition: 1000\r\n }\r\n});\r\n\r\napp.createSlider({\r\n sliderContainer: '#submenu-gr-slider1',\r\n itemsContainer: '.news-section-items',\r\n rosterContainer: false,\r\n autoSlide: false,\r\n animation: {\r\n type: 'carousel',\r\n orientation: 'horizontal',\r\n transition: 'direct',\r\n slideDelay: 7000,\r\n slideTransition: 1000,\r\n slideGap: 30,\r\n slideCount: 3\r\n },\r\n controls: {\r\n container: '#submenu-gr-controls'\r\n }\r\n});\r\n\r\napp.createSlider({\r\n sliderContainer: '#submenu-gn-slider1',\r\n itemsContainer: '.news-section-items',\r\n rosterContainer: false,\r\n autoSlide: false,\r\n animation: {\r\n type: 'carousel',\r\n orientation: 'horizontal',\r\n transition: 'direct',\r\n slideDelay: 7000,\r\n slideTransition: 1000,\r\n slideGap: 30,\r\n slideCount: 3\r\n },\r\n controls: {\r\n container: '#submenu-gn-controls'\r\n }\r\n});\r\n\r\napp.createSlider({\r\n sliderContainer: '#submenu-gkn-slider1',\r\n itemsContainer: '.news-section-items',\r\n rosterContainer: false,\r\n autoSlide: false,\r\n animation: {\r\n type: 'carousel',\r\n orientation: 'horizontal',\r\n transition: 'direct',\r\n slideDelay: 7000,\r\n slideTransition: 1000,\r\n slideGap: 30,\r\n slideCount: 3\r\n },\r\n controls: {\r\n container: '#submenu-gkn-controls'\r\n }\r\n});\r\n\r\napp.createSlider({\r\n sliderContainer: '#submenu-mn-slider1',\r\n itemsContainer: '.news-section-items',\r\n rosterContainer: false,\r\n autoSlide: false,\r\n animation: {\r\n type: 'carousel',\r\n orientation: 'horizontal',\r\n transition: 'direct',\r\n slideDelay: 7000,\r\n slideTransition: 1000,\r\n slideGap: 30,\r\n slideCount: 3\r\n },\r\n controls: {\r\n container: '#submenu-mn-controls'\r\n }\r\n});\r\n\r\napp.createSlider({\r\n sliderContainer: '#submenu-esn-slider1',\r\n itemsContainer: '.news-section-items',\r\n rosterContainer: false,\r\n autoSlide: false,\r\n animation: {\r\n type: 'carousel',\r\n orientation: 'horizontal',\r\n transition: 'direct',\r\n slideDelay: 7000,\r\n slideTransition: 1000,\r\n slideGap: 30,\r\n slideCount: 3\r\n },\r\n controls: {\r\n container: '#submenu-esn-controls'\r\n }\r\n});","/**\r\n * Cookie Notice JS\r\n * @author Alessandro Benoit\r\n */\r\n(function () {\r\n\r\n \"use strict\";\r\n\r\n /**\r\n * Store current instance\r\n */\r\n var instance,\r\n originPaddingTop;\r\n\r\n /**\r\n * Defaults values\r\n * @type object\r\n */\r\n var defaults = {\r\n messageLocales: {\r\n it: 'Utilizziamo i cookie per essere sicuri che tu possa avere la migliore esperienza sul nostro sito. Se continui ad utilizzare questo sito assumiamo che tu ne sia felice.',\r\n en: 'We use cookies to ensure that you have the best experience on our website. If you continue to use this site we assume that you accept this.',\r\n fr: 'Nous utilisons des cookies afin d\\'être sûr que vous pouvez avoir la meilleure expérience sur notre site. Si vous continuez à utiliser ce site, nous supposons que vous acceptez.',\r\n pt: 'Utilizamos cookies para garantir que você tenha a melhor experiência em nosso site. Se você continuar a usar este site, assumimos que você aceita isso.',\r\n es: 'Utilizamos cookies para asegurarnos de que usted tenga la mejor experiencia en nuestro sitio web. Si continúa usando este sitio, asumimos que lo acepta.',\r\n nl: 'We gebruiken cookies om ervoor te zorgen dat u de beste ervaring heeft op onze website. Als u deze site blijft gebruiken, gaan we ervan uit dat u dit accepteert.',\r\n pl: 'Używamy plików cookie w celu zapewnienia najlepszych doświadczeń na naszej stronie internetowej. Jeśli będziesz nadal korzystać z tej strony, zakładamy, że to akceptujesz.',\r\n de: 'Wir verwenden Cookies, um sicherzustellen, dass Sie die beste Erfahrung auf unserer Website machen können. Wenn Sie diese Website weiterhin nutzen, gehen wir davon aus, dass Sie dies akzeptieren.',\r\n tr: 'Web sitemizde en iyi deneyimi yaşamanızı sağlamak için çerezler kullanıyoruz. Bu siteyi kullanmaya devam ederseniz, bunu kabul ettiğinizi varsayıyoruz.',\r\n },\r\n\r\n cookieNoticePosition: 'bottom',\r\n\r\n learnMoreLinkEnabled: false,\r\n\r\n learnMoreLinkHref: '/cookie-banner-information.html',\r\n\r\n learnMoreLinkText: {\r\n it: 'Saperne di più',\r\n en: 'Learn more',\r\n fr: 'En savoir plus',\r\n pt: 'Saber mais',\r\n es: 'Aprende más.',\r\n nl: 'Meer informatie',\r\n pl: 'Dowiedz się więcej',\r\n de: 'Mehr erfahren',\r\n tr: 'Daha fazla bilgi edin',\r\n },\r\n\r\n buttonLocales: {\r\n en: 'OK',\r\n tr: 'TAMAM',\r\n },\r\n\r\n expiresIn: 30,\r\n\r\n fontFamily: 'inherit',\r\n fontSize: '12px',\r\n\r\n buttonBgColor: '#ca5000',\r\n buttonTextColor: '#fff',\r\n noticeBgColor: '#000',\r\n noticeTextColor: '#fff',\r\n linkColor: '#009fdd',\r\n linkBgColor: '#000',\r\n linkTarget: '_blank',\r\n debug: false\r\n };\r\n\r\n /**\r\n * Initialize cookie notice on DOMContentLoaded\r\n * if not already initialized with alt params\r\n */\r\n // document.addEventListener('DOMContentLoaded', function () {\r\n // if (!instance) {\r\n // new cookieNoticeJS();\r\n // }\r\n // });\r\n\r\n /**\r\n * Constructor\r\n * @constructor\r\n */\r\n window.cookieNoticeJS = function () {\r\n\r\n // If an instance is already set stop here\r\n if (instance !== undefined) {\r\n return;\r\n }\r\n\r\n // Set current instance\r\n instance = this;\r\n\r\n // If cookies are not supported or notice cookie is already set\r\n if (getNoticeCookie()) {\r\n return;\r\n }\r\n\r\n // 'data-' attribute - data-cookie-notice='{ \"key\": \"value\", ... }'\r\n var elemCfg = document.querySelector('script[ data-cookie-notice ]');\r\n var config;\r\n\r\n try {\r\n config = elemCfg ? JSON.parse(elemCfg.getAttribute('data-cookie-notice')) : {};\r\n // TODO apply settings coming from data attribute and keep defaults if not overwritten -> 1.2.x\r\n } catch (ex) {\r\n console.error('data-cookie-notice JSON error:', elemCfg, ex);\r\n config = {};\r\n }\r\n\r\n // Extend default params\r\n var params = extendDefaults(defaults, arguments[0] || config || {});\r\n\r\n if (params.debug) {\r\n console.warn('cookie-notice:', params);\r\n }\r\n\r\n // Get current locale for notice text\r\n var noticeText = getStringForCurrentLocale(params.messageLocales);\r\n\r\n // Create notice\r\n var notice = createNotice(noticeText, params.noticeBgColor, params.noticeTextColor, params.fontFamily, params.fontSize, params.cookieNoticePosition);\r\n\r\n var learnMoreLink;\r\n\r\n if (params.learnMoreLinkEnabled) {\r\n var learnMoreLinkText = getStringForCurrentLocale(params.learnMoreLinkText);\r\n\r\n learnMoreLink = createLearnMoreLink(learnMoreLinkText, params.learnMoreLinkHref, params.linkTarget, params.linkColor, params.linkBgColor);\r\n }\r\n\r\n // Get current locale for button text\r\n var buttonText = getStringForCurrentLocale(params.buttonLocales);\r\n\r\n // Create dismiss button\r\n var dismissButton = createDismissButton(buttonText, params.buttonBgColor, params.buttonTextColor, params.fontFamily);\r\n\r\n // Dismiss button click event\r\n dismissButton.addEventListener('click', function (e) {\r\n e.preventDefault();\r\n setDismissNoticeCookie(parseInt(params.expiresIn + \"\", 10) * 60 * 1000 * 60 * 24);\r\n fadeElementOut(notice);\r\n });\r\n\r\n // Append notice to the DOM\r\n var noticeDomElement = document.body.appendChild(notice);\r\n\r\n if (!!learnMoreLink) {\r\n noticeDomElement.appendChild(learnMoreLink);\r\n }\r\n\r\n noticeDomElement.appendChild(dismissButton);\r\n\r\n };\r\n\r\n /**\r\n * Get the string for the current locale\r\n * and fallback to \"en\" if none provided\r\n * @param locales\r\n * @returns {*}\r\n */\r\n function getStringForCurrentLocale(locales) {\r\n var locale = (navigator.userLanguage || navigator.language).substr(0, 2);\r\n return (locales[locale]) ? locales[locale] : locales['en'];\r\n }\r\n\r\n /**\r\n * Test if notice cookie is there\r\n * @returns {boolean}\r\n */\r\n function getNoticeCookie() {\r\n return document.cookie.indexOf('cookie_notice') != -1;\r\n }\r\n\r\n /**\r\n * Create notice\r\n * @param message\r\n * @param bgColor\r\n * @param textColor\r\n * @param position\r\n * @param fontFamily\r\n * @returns {HTMLElement}\r\n */\r\n function createNotice(message, bgColor, textColor, fontFamily, fontSize, position) {\r\n var notice = document.createElement('div'),\r\n noticeStyle = notice.style,\r\n lineHeight = '28px',\r\n paddingBottomTop = 10,\r\n noticeHeight = parseInt(lineHeight, 10) + paddingBottomTop * 2;\r\n fontSize = typeof fontSize !== 'undefined' ? fontSize : '12px';\r\n\r\n notice.innerHTML = message + ' ';\r\n notice.setAttribute('id', 'cookieNotice');\r\n notice.setAttribute('data-test-section', 'cookie-notice');\r\n notice.setAttribute('data-test-transitioning', 'false');\r\n\r\n\r\n noticeStyle.position = 'fixed';\r\n\r\n if (position === 'top') {\r\n var bodyDOMElement = document.querySelector('body');\r\n\r\n originPaddingTop = bodyDOMElement.style.paddingTop;\r\n\r\n noticeStyle.top = '0';\r\n bodyDOMElement.style.paddingTop = noticeHeight + 'px';\r\n } else {\r\n noticeStyle.bottom = '0';\r\n }\r\n\r\n\r\n noticeStyle.left = '0';\r\n noticeStyle.right = '0';\r\n noticeStyle.background = bgColor;\r\n noticeStyle.color = textColor;\r\n noticeStyle[\"z-index\"] = '999';\r\n noticeStyle.padding = paddingBottomTop + 'px 5px';\r\n noticeStyle[\"text-align\"] = 'center';\r\n noticeStyle[\"font-size\"] = fontSize;\r\n noticeStyle[\"line-height\"] = lineHeight;\r\n\r\n if (!!fontFamily) {\r\n noticeStyle['fontFamily'] = fontFamily;\r\n }\r\n\r\n return notice;\r\n }\r\n\r\n /**\r\n * Create dismiss button\r\n * @param message\r\n * @param buttonColor\r\n * @param buttonTextColor\r\n * @returns {HTMLElement}\r\n */\r\n function createDismissButton(message, buttonColor, buttonTextColor, buttonTextFontFamily) {\r\n\r\n var dismissButton = document.createElement('span'),\r\n dismissButtonStyle = dismissButton.style;\r\n\r\n // Dismiss button\r\n dismissButton.href = '#';\r\n dismissButton.innerHTML = message;\r\n\r\n dismissButton.setAttribute('role', 'button');\r\n dismissButton.className = 'confirm';\r\n\r\n dismissButton.setAttribute('data-test-action', 'dismiss-cookie-notice');\r\n\r\n\r\n // Dismiss button style\r\n dismissButtonStyle.background = buttonColor;\r\n dismissButtonStyle.color = buttonTextColor;\r\n dismissButtonStyle['text-decoration'] = 'none';\r\n dismissButtonStyle['cursor'] = 'pointer';\r\n dismissButtonStyle.display = 'inline-block';\r\n dismissButtonStyle.padding = '0 15px';\r\n dismissButtonStyle.margin = '0 0 0 10px';\r\n\r\n if (!!buttonTextFontFamily) {\r\n dismissButtonStyle.fontFamily = buttonTextFontFamily;\r\n\r\n }\r\n\r\n return dismissButton;\r\n\r\n }\r\n\r\n /**\r\n * Create the learn more link\r\n *\r\n * @param learnMoreLinkText\r\n * @param learnMoreLinkHref\r\n * @param linkColor\r\n * @returns {HTMLElement}\r\n */\r\n function createLearnMoreLink(learnMoreLinkText, learnMoreLinkHref, linkTarget, linkColor, linkBgColor) {\r\n\r\n var learnMoreLink = document.createElement('a'),\r\n learnMoreLinkStyle = learnMoreLink.style;\r\n\r\n learnMoreLink.href = learnMoreLinkHref;\r\n learnMoreLink.textContent = learnMoreLinkText;\r\n learnMoreLink.title = learnMoreLinkText;\r\n learnMoreLink.target = linkTarget;\r\n learnMoreLink.className = 'learn-more';\r\n learnMoreLink.setAttribute('data-test-action', 'learn-more-link');\r\n\r\n learnMoreLinkStyle.color = linkColor;\r\n learnMoreLinkStyle.backgroundColor = 'transparent';\r\n learnMoreLinkStyle['text-decoration'] = 'underline';\r\n learnMoreLinkStyle.display = 'inline';\r\n\r\n return learnMoreLink;\r\n\r\n }\r\n\r\n /**\r\n * Set sismiss notice cookie\r\n * @param expireIn\r\n */\r\n function setDismissNoticeCookie(expireIn) {\r\n var now = new Date(),\r\n cookieExpire = new Date();\r\n\r\n cookieExpire.setTime(now.getTime() + expireIn);\r\n document.cookie = \"cookie_notice=1; expires=\" + cookieExpire.toUTCString() + \"; path=/;\";\r\n }\r\n\r\n /**\r\n * Fade a given element out\r\n * @param element\r\n */\r\n function fadeElementOut(element) {\r\n element.style.opacity = 1;\r\n\r\n element.setAttribute('data-test-transitioning', 'true');\r\n\r\n (function fade() {\r\n if ((element.style.opacity -= .1) < 0.01) {\r\n\r\n if (originPaddingTop !== undefined) {\r\n var bodyDOMElement = document.querySelector('body');\r\n bodyDOMElement.style.paddingTop = originPaddingTop;\r\n }\r\n\r\n document.body.removeChild(element);\r\n } else {\r\n setTimeout(fade, 40);\r\n }\r\n })();\r\n }\r\n\r\n /**\r\n * Utility method to extend defaults with user options\r\n * @param source\r\n * @param properties\r\n * @returns {*}\r\n */\r\n function extendDefaults(source, properties) {\r\n var property;\r\n for (property in properties) {\r\n if (properties.hasOwnProperty(property)) {\r\n if (typeof source[property] === 'object') {\r\n source[property] = extendDefaults(source[property], properties[property]);\r\n } else {\r\n source[property] = properties[property];\r\n }\r\n }\r\n }\r\n return source;\r\n }\r\n\r\n\r\n}());"," //Image input preview container\r\n const imageElements = document.querySelectorAll('[type=\"file\"][accept=\"image/*\"]');\r\n const imagePreviewElements = document.querySelectorAll('img[data-img-preview]');\r\n\r\n if(imagePreviewElements && imagePreviewElements.length > 0){\r\n imagePreviewElements.forEach(element => {\r\n let closest = element.closest('.d-none');\r\n let src = element.getAttribute('src');\r\n\r\n if(src){\r\n if(closest && closest.matches('.d-none')){\r\n closest.classList.remove('d-none');\r\n }\r\n }else{\r\n closest.classList.add('d-none');\r\n }\r\n });\r\n }\r\n\r\n if(imageElements && imageElements.length > 0){\r\n imageElements.forEach(element => {\r\n element.addEventListener('change', function(e, i){\r\n let previewContainer = this.getAttribute('data-img-set-preview');\r\n let previewImgContainer = document.querySelector(`img[data-img-preview=\"${previewContainer}\"]`);\r\n\r\n if (this.files && this.files[0]) {\r\n var reader = new FileReader();\r\n \r\n reader.onload = function(e) {\r\n previewImgContainer.setAttribute('src', e.target.result);\r\n imagePreviewElements.forEach(element => {\r\n let closest = element.closest('.d-none');\r\n let src = element.getAttribute('src');\r\n\r\n if(src){\r\n if(closest && closest.matches('.d-none')){\r\n closest.classList.remove('d-none');\r\n }\r\n }else{\r\n closest.classList.add('d-none');\r\n }\r\n });\r\n }\r\n \r\n reader.readAsDataURL(this.files[0]);\r\n }\r\n });\r\n });\r\n }\r\n\r\n //Sidebar Menu Active for current url\r\n const menus = document.querySelectorAll('#dropdown-active-list .dropdown-list-item');\r\n if(menus && menus.length > 0){\r\n const url = window.location.href; \r\n menus.forEach(element => {\r\n let href = element.querySelector('a').getAttribute('href');\r\n if(href === url){\r\n element.classList.add('active');\r\n }else{\r\n element.classList.remove('active');\r\n }\r\n });\r\n }","const app = require('../utils/app.core');\r\n\r\napp.createArc({\r\n container: '#post-open-rate1',\r\n width: 112,\r\n height: 112,\r\n lineWidth: 10,\r\n gradient: {\r\n colors: ['#5216fd', '#ff055d']\r\n },\r\n scale: {\r\n start: 0,\r\n end: 10,\r\n stop: 8.7\r\n },\r\n shadow: true\r\n});\r\n\r\napp.createArc({\r\n container: '#po-arc-1',\r\n width: 170,\r\n height: 170,\r\n lineWidth: 18,\r\n lineColor: '#ebebeb',\r\n linkText: false\r\n});\r\n\r\napp.createArc({\r\n container: '#po-arc-1',\r\n width: 170,\r\n height: 170,\r\n lineWidth: 18,\r\n gradient: {\r\n colors: ['#5216fd', '#ff055d']\r\n },\r\n animateOnScroll: true,\r\n speed: 50,\r\n scale: {\r\n start: 0,\r\n end: 10,\r\n stop: 8.7\r\n }\r\n});","const app = require('../utils/app.core');\r\n\r\napp.createProgressBar({\r\n container: '#po-pgb-1',\r\n width: 600,\r\n height: 16,\r\n breakpoints: {\r\n 680: {\r\n width: 400,\r\n height: 14\r\n },\r\n 480: {\r\n width: 270,\r\n height: 12\r\n }\r\n }\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#po-pgb-1',\r\n width: 600,\r\n height: 16,\r\n scale: {\r\n start: 0,\r\n end: 100,\r\n stop: 84\r\n },\r\n speed: 30,\r\n gradient: {\r\n colors: ['#00e3d0', '#1c95f3']\r\n },\r\n animateOnScroll: true,\r\n linkText: true,\r\n innerTextFollowsProgress: true,\r\n breakpoints: {\r\n 680: {\r\n width: 400,\r\n height: 14\r\n },\r\n 480: {\r\n width: 270,\r\n height: 12\r\n }\r\n }\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#po-pgb-2',\r\n width: 600,\r\n height: 16,\r\n breakpoints: {\r\n 680: {\r\n width: 400,\r\n height: 14\r\n },\r\n 480: {\r\n width: 270,\r\n height: 12\r\n }\r\n }\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#po-pgb-2',\r\n width: 600,\r\n height: 16,\r\n scale: {\r\n start: 0,\r\n end: 100,\r\n stop: 62\r\n },\r\n speed: 30,\r\n gradient: {\r\n colors: ['#00e3d0', '#1c95f3']\r\n },\r\n animateOnScroll: true,\r\n linkText: true,\r\n innerTextFollowsProgress: true,\r\n breakpoints: {\r\n 680: {\r\n width: 400,\r\n height: 14\r\n },\r\n 480: {\r\n width: 270,\r\n height: 12\r\n }\r\n }\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#po-pgb-3',\r\n width: 600,\r\n height: 16,\r\n breakpoints: {\r\n 680: {\r\n width: 400,\r\n height: 14\r\n },\r\n 480: {\r\n width: 270,\r\n height: 12\r\n }\r\n }\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#po-pgb-3',\r\n width: 600,\r\n height: 16,\r\n scale: {\r\n start: 0,\r\n end: 100,\r\n stop: 95\r\n },\r\n speed: 30,\r\n gradient: {\r\n colors: ['#00e3d0', '#1c95f3']\r\n },\r\n animateOnScroll: true,\r\n linkText: true,\r\n innerTextFollowsProgress: true,\r\n breakpoints: {\r\n 680: {\r\n width: 400,\r\n height: 14\r\n },\r\n 480: {\r\n width: 270,\r\n height: 12\r\n }\r\n }\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#po-pgb-4',\r\n width: 600,\r\n height: 16,\r\n breakpoints: {\r\n 680: {\r\n width: 400,\r\n height: 14\r\n },\r\n 480: {\r\n width: 270,\r\n height: 12\r\n }\r\n }\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#po-pgb-4',\r\n width: 600,\r\n height: 16,\r\n scale: {\r\n start: 0,\r\n end: 100,\r\n stop: 42\r\n },\r\n speed: 30,\r\n gradient: {\r\n colors: ['#00e3d0', '#1c95f3']\r\n },\r\n animateOnScroll: true,\r\n linkText: true,\r\n innerTextFollowsProgress: true,\r\n breakpoints: {\r\n 680: {\r\n width: 400,\r\n height: 14\r\n },\r\n 480: {\r\n width: 270,\r\n height: 12\r\n }\r\n }\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#po-pbg-5',\r\n width: 300,\r\n height: 22\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#po-pbg-5',\r\n width: 300,\r\n height: 22,\r\n scale: {\r\n start: 0,\r\n end: 10,\r\n stop: 7.5\r\n },\r\n speed: 30,\r\n gradient: {\r\n colors: ['#5216fd', '#ff055d']\r\n },\r\n animateOnScroll: true,\r\n decimalPoints: 1,\r\n linkUnits: false,\r\n linkText: true,\r\n barText: 'GAMING GRAPHICS'\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#po-pbg-6',\r\n width: 300,\r\n height: 22\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#po-pbg-6',\r\n width: 300,\r\n height: 22,\r\n scale: {\r\n start: 0,\r\n end: 10,\r\n stop: 9.2\r\n },\r\n speed: 30,\r\n gradient: {\r\n colors: ['#5216fd', '#ff055d']\r\n },\r\n animateOnScroll: true,\r\n decimalPoints: 1,\r\n linkUnits: false,\r\n linkText: true,\r\n barText: 'OVERALL STORY'\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#po-pbg-7',\r\n width: 300,\r\n height: 22\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#po-pbg-7',\r\n width: 300,\r\n height: 22,\r\n scale: {\r\n start: 0,\r\n end: 10,\r\n stop: 5.8\r\n },\r\n speed: 30,\r\n gradient: {\r\n colors: ['#5216fd', '#ff055d']\r\n },\r\n animateOnScroll: true,\r\n decimalPoints: 1,\r\n linkUnits: false,\r\n linkText: true,\r\n barText: 'ORIGINALITY'\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#po-pbg-8',\r\n width: 300,\r\n height: 22\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#po-pbg-8',\r\n width: 300,\r\n height: 22,\r\n scale: {\r\n start: 0,\r\n end: 10,\r\n stop: 3.4\r\n },\r\n speed: 30,\r\n gradient: {\r\n colors: ['#5216fd', '#ff055d']\r\n },\r\n animateOnScroll: true,\r\n decimalPoints: 1,\r\n linkUnits: false,\r\n linkText: true,\r\n barText: 'MULTIPLAYER & ONLINE'\r\n});","const app = require('../utils/app.core');\r\n\r\napp.createSlider({\r\n sliderContainer: '#po-slideshow1',\r\n rosterContainer: false,\r\n controls: {\r\n container: '#po-slideshow1-controls'\r\n },\r\n animation: {\r\n type: 'carousel',\r\n orientation: 'horizontal',\r\n transition: 'direct',\r\n slideDelay: 5000,\r\n slideTransition: 1000\r\n }\r\n});\r\n\r\napp.createSlider({\r\n sliderContainer: '#po-slideshow1-1',\r\n itemsContainer: '.slider-roster',\r\n rosterContainer: false,\r\n controls: {\r\n container: '#po-slideshow1-controls'\r\n },\r\n animation: {\r\n type: 'fade',\r\n orientation: 'horizontal',\r\n slideDelay: 5000,\r\n slideTransition: 1000\r\n }\r\n});\r\n\r\napp.createSlider({\r\n sliderContainer: '#po-slideshow2',\r\n controls: {\r\n container: '#po-slideshow2-controls'\r\n },\r\n animation: {\r\n type: 'carousel',\r\n orientation: 'horizontal',\r\n transition: 'direct',\r\n slideDelay: 8000,\r\n slideTransition: 1000\r\n }\r\n});","const app = require('../utils/app.core');\r\n\r\napp.createArc({\r\n container: '#sidebar-rate-1',\r\n width: 48,\r\n height: 48,\r\n lineWidth: 5,\r\n gradient: {\r\n colors: ['#5216fd', '#ff055d']\r\n },\r\n scale: {\r\n start: 0,\r\n end: 10,\r\n stop: 6.5\r\n },\r\n shadow: true\r\n});\r\n\r\napp.createArc({\r\n container: '#sidebar-rate-2',\r\n width: 48,\r\n height: 48,\r\n lineWidth: 5,\r\n gradient: {\r\n colors: ['#5216fd', '#ff055d']\r\n },\r\n scale: {\r\n start: 0,\r\n end: 10,\r\n stop: 8.7\r\n },\r\n shadow: true\r\n});\r\n\r\napp.createArc({\r\n container: '#sidebar-rate-3',\r\n width: 48,\r\n height: 48,\r\n lineWidth: 5,\r\n gradient: {\r\n colors: ['#5216fd', '#ff055d']\r\n },\r\n scale: {\r\n start: 0,\r\n end: 10,\r\n stop: 6.5\r\n },\r\n shadow: true\r\n});\r\n\r\napp.createArc({\r\n container: '#sidebar-rate-4',\r\n width: 48,\r\n height: 48,\r\n lineWidth: 5,\r\n gradient: {\r\n colors: ['#5216fd', '#ff055d']\r\n },\r\n scale: {\r\n start: 0,\r\n end: 10,\r\n stop: 9.2\r\n },\r\n shadow: true\r\n});\r\n\r\napp.createArc({\r\n container: '#sidebar-rate-5',\r\n width: 48,\r\n height: 48,\r\n lineWidth: 5,\r\n gradient: {\r\n colors: ['#5216fd', '#ff055d']\r\n },\r\n scale: {\r\n start: 0,\r\n end: 10,\r\n stop: 8.0\r\n },\r\n shadow: true\r\n});\r\n\r\napp.createArc({\r\n container: '#sidebar-rate-6',\r\n width: 48,\r\n height: 48,\r\n lineWidth: 5,\r\n gradient: {\r\n colors: ['#5216fd', '#ff055d']\r\n },\r\n scale: {\r\n start: 0,\r\n end: 10,\r\n stop: 6.5\r\n },\r\n shadow: true\r\n});\r\n\r\napp.createArc({\r\n container: '#ew1-arc-stat-4',\r\n width: 46,\r\n height: 46,\r\n lineWidth: 6,\r\n lineColor: '#dee807',\r\n linkText: false\r\n});\r\n\r\napp.createArc({\r\n container: '#ew1-arc-stat-4',\r\n width: 46,\r\n height: 46,\r\n lineWidth: 6,\r\n lineColor: '#107df8',\r\n speed: 50,\r\n scale: {\r\n start: 0,\r\n end: 10,\r\n stop: 4.5\r\n },\r\n linkText: false\r\n});\r\n\r\napp.createArc({\r\n container: '#ew1-arc-stat-5',\r\n width: 46,\r\n height: 46,\r\n lineWidth: 6,\r\n lineColor: '#dee807',\r\n linkText: false\r\n});\r\n\r\napp.createArc({\r\n container: '#ew1-arc-stat-5',\r\n width: 46,\r\n height: 46,\r\n lineWidth: 6,\r\n lineColor: '#107df8',\r\n speed: 50,\r\n scale: {\r\n start: 0,\r\n end: 10,\r\n stop: 6.5\r\n },\r\n linkText: false\r\n});\r\n\r\napp.createArc({\r\n container: '#ew1-arc-stat-6',\r\n width: 46,\r\n height: 46,\r\n lineWidth: 6,\r\n lineColor: '#dee807',\r\n linkText: false\r\n});\r\n\r\napp.createArc({\r\n container: '#ew1-arc-stat-6',\r\n width: 46,\r\n height: 46,\r\n lineWidth: 6,\r\n lineColor: '#107df8',\r\n speed: 50,\r\n scale: {\r\n start: 0,\r\n end: 10,\r\n stop: 2.5\r\n },\r\n linkText: false\r\n});\r\n\r\napp.createArc({\r\n container: '#ew1-tp-rate-01',\r\n width: 48,\r\n height: 48,\r\n lineWidth: 4,\r\n lineColor: '#ebebeb',\r\n linkText: false\r\n});\r\n\r\napp.createArc({\r\n container: '#ew1-tp-rate-01',\r\n width: 48,\r\n height: 48,\r\n lineWidth: 4,\r\n gradient: {\r\n colors: ['#713fcb', '#00e3d0']\r\n },\r\n speed: 50,\r\n scale: {\r\n start: 0,\r\n end: 100,\r\n stop: 94\r\n },\r\n decimalPoints: 0,\r\n animateOnScroll: true\r\n});\r\n\r\napp.createArc({\r\n container: '#ew2-tp-rate-01',\r\n width: 48,\r\n height: 48,\r\n lineWidth: 4,\r\n lineColor: '#ebebeb',\r\n linkText: false\r\n});\r\n\r\napp.createArc({\r\n container: '#ew2-tp-rate-01',\r\n width: 48,\r\n height: 48,\r\n lineWidth: 4,\r\n gradient: {\r\n colors: ['#713fcb', '#00e3d0']\r\n },\r\n speed: 50,\r\n scale: {\r\n start: 0,\r\n end: 100,\r\n stop: 78.43\r\n },\r\n decimalPoints: 2,\r\n animateOnScroll: true\r\n});\r\n\r\napp.createArc({\r\n container: '#w-arc-wr-1',\r\n width: 90,\r\n height: 90,\r\n lineWidth: 6,\r\n lineColor: '#ebebeb',\r\n linkText: false,\r\n topHalf: true\r\n});\r\n\r\napp.createArc({\r\n container: '#w-arc-wr-1',\r\n width: 90,\r\n height: 90,\r\n lineWidth: 6,\r\n gradient: {\r\n colors: ['#713fcb', '#00e3d0']\r\n },\r\n speed: 25,\r\n scale: {\r\n start: 0,\r\n end: 100,\r\n stop: 59.9\r\n },\r\n animateOnScroll: true,\r\n linkUnits: '%',\r\n topHalf: true\r\n});\r\n\r\napp.createArc({\r\n container: '#w-arc-mid-1',\r\n width: 90,\r\n height: 90,\r\n lineWidth: 6,\r\n lineColor: '#ebebeb',\r\n linkText: false,\r\n topHalf: true\r\n});\r\n\r\napp.createArc({\r\n container: '#w-arc-mid-1',\r\n width: 90,\r\n height: 90,\r\n lineWidth: 6,\r\n gradient: {\r\n colors: ['#713fcb', '#00e3d0']\r\n },\r\n speed: 25,\r\n scale: {\r\n start: 0,\r\n end: 100,\r\n stop: 82.3\r\n },\r\n animateOnScroll: true,\r\n linkUnits: '%',\r\n topHalf: true\r\n});\r\n\r\napp.createArc({\r\n container: '#es-home-arc-stat-04',\r\n width: 46,\r\n height: 46,\r\n lineWidth: 6,\r\n lineColor: '#00d1f7',\r\n linkText: false\r\n});\r\n\r\napp.createArc({\r\n container: '#es-home-arc-stat-04',\r\n width: 46,\r\n height: 46,\r\n lineWidth: 6,\r\n lineColor: '#f30a36',\r\n speed: 50,\r\n scale: {\r\n start: 0,\r\n end: 10,\r\n stop: 4.5\r\n },\r\n linkText: false\r\n});\r\n\r\napp.createArc({\r\n container: '#es-home-arc-stat-05',\r\n width: 46,\r\n height: 46,\r\n lineWidth: 6,\r\n lineColor: '#00d1f7',\r\n linkText: false\r\n});\r\n\r\napp.createArc({\r\n container: '#es-home-arc-stat-05',\r\n width: 46,\r\n height: 46,\r\n lineWidth: 6,\r\n lineColor: '#f30a36',\r\n speed: 50,\r\n scale: {\r\n start: 0,\r\n end: 10,\r\n stop: 6.5\r\n },\r\n linkText: false\r\n});\r\n\r\napp.createArc({\r\n container: '#es-home-arc-stat-06',\r\n width: 46,\r\n height: 46,\r\n lineWidth: 6,\r\n lineColor: '#00d1f7',\r\n linkText: false\r\n});\r\n\r\napp.createArc({\r\n container: '#es-home-arc-stat-06',\r\n width: 46,\r\n height: 46,\r\n lineWidth: 6,\r\n lineColor: '#f30a36',\r\n speed: 50,\r\n scale: {\r\n start: 0,\r\n end: 10,\r\n stop: 2.5\r\n },\r\n linkText: false\r\n});","const app = require('../utils/app.core');\r\n\r\nconst currentYear = (new Date()).getFullYear(),\r\n currentMonth = (new Date()).getMonth();\r\n\r\napp.createCalendar({\r\n container: '#calendar-sidebar',\r\n events: {\r\n [new Date(currentYear, currentMonth, 14)]: [\r\n {\r\n name: 'Funtendo Online Event',\r\n info: 'some event info',\r\n type: 'blue'\r\n },\r\n {\r\n name: 'Fighter X Release!',\r\n info: 'some other event info',\r\n type: 'green'\r\n }\r\n ],\r\n [new Date(currentYear, currentMonth, 26)]: [\r\n {\r\n name: 'League of Heroes Semifinals',\r\n info: 'some event info',\r\n type: 'violet'\r\n }\r\n ]\r\n },\r\n linksTo: 'calendar.html',\r\n lang: {\r\n abbr: true\r\n },\r\n showEventsOnHover: true\r\n});","const app = require('../utils/app.core');\r\n\r\n/**\r\n * Countdown auto - restart\r\n */\r\nconst now = new Date(),\r\n today = {\r\n day: now.getDate(),\r\n month: now.getMonth(),\r\n year: now.getFullYear()\r\n };\r\n\r\napp.createCountdown({\r\n container: '#sidebar-twitch-countdown-1',\r\n startDate: new Date(today.year, today.month - 1, today.day),\r\n targetDate: new Date(today.year, today.month, today.day + 12),\r\n textOnly: true,\r\n textCounter: {\r\n days: false\r\n }\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#ew1-pgb-cd'\r\n});\r\n\r\nconst ew1_sd_pgb = app.createProgressBar({\r\n container: '#ew1-pgb-cd',\r\n gradient: {\r\n colors: ['#713fcb', '#00e3d0']\r\n },\r\n controlAnimation: true\r\n});\r\n\r\nif (ew1_sd_pgb) {\r\n app.createCountdown({\r\n container: '#ew1-cd-text',\r\n startDate: new Date(today.year, today.month - 1, today.day),\r\n targetDate: new Date(today.year, today.month, today.day + 12),\r\n textOnly: true,\r\n onStep: ew1_sd_pgb.render\r\n });\r\n}","window.initSDMap = function () {\r\n var map = new google.maps.Map(document.querySelector('#map-wrap-sd-01'), {\r\n zoom: 15,\r\n center: {lat: 40.7583818, lng: -73.9902694},\r\n mapTypeControl: false,\r\n zoomControl: false,\r\n scrollwheel: false,\r\n scaleControl: false,\r\n streetViewControl: false,\r\n fullscreenControl: false,\r\n styles: [\r\n {\r\n \"elementType\": \"geometry\",\r\n \"stylers\": [\r\n {\r\n \"color\": \"#f5f5f5\"\r\n }\r\n ]\r\n },\r\n {\r\n \"elementType\": \"labels.icon\",\r\n \"stylers\": [\r\n {\r\n \"visibility\": \"off\"\r\n }\r\n ]\r\n },\r\n {\r\n \"elementType\": \"labels.text.fill\",\r\n \"stylers\": [\r\n {\r\n \"color\": \"#616161\"\r\n }\r\n ]\r\n },\r\n {\r\n \"elementType\": \"labels.text.stroke\",\r\n \"stylers\": [\r\n {\r\n \"color\": \"#f5f5f5\"\r\n }\r\n ]\r\n },\r\n {\r\n \"featureType\": \"administrative.land_parcel\",\r\n \"elementType\": \"labels.text.fill\",\r\n \"stylers\": [\r\n {\r\n \"color\": \"#bdbdbd\"\r\n }\r\n ]\r\n },\r\n {\r\n \"featureType\": \"poi\",\r\n \"elementType\": \"geometry\",\r\n \"stylers\": [\r\n {\r\n \"color\": \"#eeeeee\"\r\n }\r\n ]\r\n },\r\n {\r\n \"featureType\": \"poi\",\r\n \"elementType\": \"labels.text.fill\",\r\n \"stylers\": [\r\n {\r\n \"color\": \"#757575\"\r\n }\r\n ]\r\n },\r\n {\r\n \"featureType\": \"poi.park\",\r\n \"elementType\": \"geometry\",\r\n \"stylers\": [\r\n {\r\n \"color\": \"#e5e5e5\"\r\n }\r\n ]\r\n },\r\n {\r\n \"featureType\": \"poi.park\",\r\n \"elementType\": \"labels.text.fill\",\r\n \"stylers\": [\r\n {\r\n \"color\": \"#9e9e9e\"\r\n }\r\n ]\r\n },\r\n {\r\n \"featureType\": \"road\",\r\n \"elementType\": \"geometry\",\r\n \"stylers\": [\r\n {\r\n \"color\": \"#ffffff\"\r\n }\r\n ]\r\n },\r\n {\r\n \"featureType\": \"road.arterial\",\r\n \"elementType\": \"labels.text.fill\",\r\n \"stylers\": [\r\n {\r\n \"color\": \"#757575\"\r\n }\r\n ]\r\n },\r\n {\r\n \"featureType\": \"road.highway\",\r\n \"elementType\": \"geometry\",\r\n \"stylers\": [\r\n {\r\n \"color\": \"#dadada\"\r\n }\r\n ]\r\n },\r\n {\r\n \"featureType\": \"road.highway\",\r\n \"elementType\": \"labels.text.fill\",\r\n \"stylers\": [\r\n {\r\n \"color\": \"#616161\"\r\n }\r\n ]\r\n },\r\n {\r\n \"featureType\": \"road.local\",\r\n \"elementType\": \"labels.text.fill\",\r\n \"stylers\": [\r\n {\r\n \"color\": \"#9e9e9e\"\r\n }\r\n ]\r\n },\r\n {\r\n \"featureType\": \"transit.line\",\r\n \"elementType\": \"geometry\",\r\n \"stylers\": [\r\n {\r\n \"color\": \"#e5e5e5\"\r\n }\r\n ]\r\n },\r\n {\r\n \"featureType\": \"transit.station\",\r\n \"elementType\": \"geometry\",\r\n \"stylers\": [\r\n {\r\n \"color\": \"#eeeeee\"\r\n }\r\n ]\r\n },\r\n {\r\n \"featureType\": \"water\",\r\n \"elementType\": \"geometry\",\r\n \"stylers\": [\r\n {\r\n \"color\": \"#c9c9c9\"\r\n }\r\n ]\r\n },\r\n {\r\n \"featureType\": \"water\",\r\n \"elementType\": \"labels.text.fill\",\r\n \"stylers\": [\r\n {\r\n \"color\": \"#9e9e9e\"\r\n }\r\n ]\r\n }\r\n ]\r\n }),\r\n marker = new google.maps.Marker({\r\n position: {lat: 40.7580300, lng: -73.9902694},\r\n map: map,\r\n icon: 'img/icons/map-marker.png',\r\n animation: google.maps.Animation.DROP,\r\n title: 'Hello World!'\r\n });\r\n\r\n marker.setAnimation(google.maps.Animation.BOUNCE);\r\n\r\n marker.addListener('click', toggleBounce);\r\n function toggleBounce() {\r\n if (marker.getAnimation() !== null) {\r\n marker.setAnimation(null);\r\n } else {\r\n marker.setAnimation(google.maps.Animation.BOUNCE);\r\n }\r\n }\r\n};","const app = require('../utils/app.core');\r\n\r\n// POLL RESULTS\r\napp.createProgressBar({\r\n container: '#poll-result-1',\r\n width: 240,\r\n height: 6\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#poll-result-1',\r\n width: 240,\r\n height: 6,\r\n scale: {\r\n start: 0,\r\n end: 100,\r\n stop: 68\r\n },\r\n speed: 30,\r\n gradient: {\r\n colors: ['#f30a5c', '#1c95f3']\r\n },\r\n animateOnScroll: true,\r\n linkUnits: '%',\r\n linkText: true,\r\n decimalPoints: 0\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#poll-result-2',\r\n width: 240,\r\n height: 6\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#poll-result-2',\r\n width: 240,\r\n height: 6,\r\n scale: {\r\n start: 0,\r\n end: 100,\r\n stop: 12\r\n },\r\n speed: 30,\r\n gradient: {\r\n colors: ['#f30a5c', '#1c95f3']\r\n },\r\n animateOnScroll: true,\r\n linkUnits: '%',\r\n linkText: true,\r\n decimalPoints: 0\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#poll-result-3',\r\n width: 240,\r\n height: 6\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#poll-result-3',\r\n width: 240,\r\n height: 6,\r\n scale: {\r\n start: 0,\r\n end: 100,\r\n stop: 15\r\n },\r\n speed: 30,\r\n gradient: {\r\n colors: ['#f30a5c', '#1c95f3']\r\n },\r\n animateOnScroll: true,\r\n linkUnits: '%',\r\n linkText: true,\r\n decimalPoints: 0\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#poll-result-4',\r\n width: 240,\r\n height: 6\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#poll-result-4',\r\n width: 240,\r\n height: 6,\r\n scale: {\r\n start: 0,\r\n end: 100,\r\n stop: 5\r\n },\r\n speed: 30,\r\n gradient: {\r\n colors: ['#f30a5c', '#1c95f3']\r\n },\r\n animateOnScroll: true,\r\n linkUnits: '%',\r\n linkText: true,\r\n decimalPoints: 0\r\n});\r\n\r\n/**\r\n * SIDEBAR PROGRESS BARS\r\n */\r\napp.createProgressBar({\r\n container: '#sd-pg-1',\r\n width: 210,\r\n height: 6,\r\n lineColor: '#107df8',\r\n scale: {\r\n start: 0,\r\n end: 62,\r\n stop: 34\r\n },\r\n linkText: true,\r\n linkUnits: false,\r\n linkTo: '#tlw-kills-stat-sd1',\r\n buttEnd: true\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#sd-pg-1',\r\n width: 210,\r\n height: 6,\r\n lineColor: '#dee807',\r\n scale: {\r\n start: 0,\r\n end: 62,\r\n stop: 28\r\n },\r\n linkText: true,\r\n linkUnits: false,\r\n linkTo: '#rrh-kills-stat-sd1',\r\n reverse: true,\r\n buttEnd: true\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#sd-pg-2',\r\n width: 210,\r\n height: 6,\r\n lineColor: '#107df8',\r\n scale: {\r\n start: 0,\r\n end: 36,\r\n stop: 15\r\n },\r\n linkText: true,\r\n linkUnits: false,\r\n linkTo: '#tlw-deaths-stat-sd2',\r\n buttEnd: true\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#sd-pg-2',\r\n width: 210,\r\n height: 6,\r\n lineColor: '#dee807',\r\n scale: {\r\n start: 0,\r\n end: 36,\r\n stop: 21\r\n },\r\n linkText: true,\r\n linkUnits: false,\r\n linkTo: '#rrh-deaths-stat-sd2',\r\n reverse: true,\r\n buttEnd: true\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#sd-pg-3',\r\n width: 210,\r\n height: 6,\r\n lineColor: '#107df8',\r\n scale: {\r\n start: 0,\r\n end: 39,\r\n stop: 26\r\n },\r\n linkText: true,\r\n linkUnits: false,\r\n linkTo: '#tlw-assists-stat-sd3',\r\n buttEnd: true\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#sd-pg-3',\r\n width: 210,\r\n height: 6,\r\n lineColor: '#dee807',\r\n scale: {\r\n start: 0,\r\n end: 39,\r\n stop: 13\r\n },\r\n linkText: true,\r\n linkUnits: false,\r\n linkTo: '#rrh-assists-stat-sd3',\r\n reverse: true,\r\n buttEnd: true\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#t-cr-pgb-01',\r\n width: 120,\r\n height: 6\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#t-cr-pgb-01',\r\n width: 120,\r\n height: 6,\r\n scale: {\r\n start: 0,\r\n end: 100,\r\n stop: 92.58\r\n },\r\n gradient: {\r\n colors: ['#713fcb', '#00e3d0']\r\n },\r\n linkText: true,\r\n decimalPoints: 2,\r\n animateOnScroll: true\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#t-cr-pgb-02',\r\n width: 120,\r\n height: 6\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#t-cr-pgb-02',\r\n width: 120,\r\n height: 6,\r\n scale: {\r\n start: 0,\r\n end: 100,\r\n stop: 85.50\r\n },\r\n gradient: {\r\n colors: ['#713fcb', '#00e3d0']\r\n },\r\n linkText: true,\r\n decimalPoints: 2,\r\n animateOnScroll: true\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#t-cr-pgb-03',\r\n width: 120,\r\n height: 6\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#t-cr-pgb-03',\r\n width: 120,\r\n height: 6,\r\n scale: {\r\n start: 0,\r\n end: 100,\r\n stop: 79.71\r\n },\r\n gradient: {\r\n colors: ['#713fcb', '#00e3d0']\r\n },\r\n linkText: true,\r\n decimalPoints: 2,\r\n animateOnScroll: true\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#t-cr-pgb-04',\r\n width: 120,\r\n height: 6\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#t-cr-pgb-04',\r\n width: 120,\r\n height: 6,\r\n scale: {\r\n start: 0,\r\n end: 100,\r\n stop: 63.33\r\n },\r\n gradient: {\r\n colors: ['#713fcb', '#00e3d0']\r\n },\r\n linkText: true,\r\n decimalPoints: 2,\r\n animateOnScroll: true\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#t-cr-pgb-05',\r\n width: 120,\r\n height: 6\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#t-cr-pgb-05',\r\n width: 120,\r\n height: 6,\r\n scale: {\r\n start: 0,\r\n end: 100,\r\n stop: 42.20\r\n },\r\n gradient: {\r\n colors: ['#713fcb', '#00e3d0']\r\n },\r\n linkText: true,\r\n decimalPoints: 2,\r\n animateOnScroll: true\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#t-cr-pgb-06',\r\n width: 120,\r\n height: 6\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#t-cr-pgb-06',\r\n width: 120,\r\n height: 6,\r\n scale: {\r\n start: 0,\r\n end: 100,\r\n stop: 63.33\r\n },\r\n gradient: {\r\n colors: ['#713fcb', '#00e3d0']\r\n },\r\n linkText: true,\r\n decimalPoints: 2,\r\n animateOnScroll: true\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#t-pr-pgb-01',\r\n width: 70,\r\n height: 6\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#t-pr-pgb-01',\r\n width: 70,\r\n height: 6,\r\n scale: {\r\n start: 0,\r\n end: 100,\r\n stop: 55\r\n },\r\n gradient: {\r\n colors: ['#713fcb', '#00e3d0']\r\n },\r\n animateOnScroll: true,\r\n linkText: true,\r\n linkUnits: '/'\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#t-pr-pgb-02',\r\n width: 70,\r\n height: 6,\r\n lineCap: 'butt'\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#t-pr-pgb-02',\r\n width: 70,\r\n height: 6,\r\n lineCap: 'butt',\r\n scale: {\r\n start: 0,\r\n end: 100,\r\n stop: 79.03\r\n },\r\n gradient: {\r\n colors: ['#713fcb', '#00e3d0']\r\n },\r\n split: {\r\n parts: 12,\r\n gap: 2,\r\n color: '#fff'\r\n },\r\n animateOnScroll: true,\r\n linkText: true,\r\n decimalPoints: 2\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#t-pr-pgb-03',\r\n width: 70,\r\n height: 6\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#t-pr-pgb-03',\r\n width: 70,\r\n height: 6,\r\n scale: {\r\n start: 0,\r\n end: 100,\r\n stop: 5\r\n },\r\n gradient: {\r\n colors: ['#713fcb', '#00e3d0']\r\n },\r\n animateOnScroll: true,\r\n linkText: true,\r\n linkUnits: '/'\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#t-pr-pgb-04',\r\n width: 70,\r\n height: 6,\r\n lineCap: 'butt'\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#t-pr-pgb-04',\r\n width: 70,\r\n height: 6,\r\n lineCap: 'butt',\r\n scale: {\r\n start: 0,\r\n end: 100,\r\n stop: 90\r\n },\r\n gradient: {\r\n colors: ['#713fcb', '#00e3d0']\r\n },\r\n split: {\r\n parts: 12,\r\n gap: 2,\r\n color: '#fff'\r\n },\r\n animateOnScroll: true,\r\n linkText: true,\r\n decimalPoints: 2\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#t-pr-pgb-05',\r\n width: 70,\r\n height: 6\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#t-pr-pgb-05',\r\n width: 70,\r\n height: 6,\r\n scale: {\r\n start: 0,\r\n end: 100,\r\n stop: 27\r\n },\r\n gradient: {\r\n colors: ['#713fcb', '#00e3d0']\r\n },\r\n animateOnScroll: true,\r\n linkText: true,\r\n linkUnits: '/'\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#t-pr-pgb-06',\r\n width: 70,\r\n height: 6,\r\n lineCap: 'butt'\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#t-pr-pgb-06',\r\n width: 70,\r\n height: 6,\r\n lineCap: 'butt',\r\n scale: {\r\n start: 0,\r\n end: 100,\r\n stop: 36.57\r\n },\r\n gradient: {\r\n colors: ['#713fcb', '#00e3d0']\r\n },\r\n split: {\r\n parts: 12,\r\n gap: 2,\r\n color: '#fff'\r\n },\r\n animateOnScroll: true,\r\n linkText: true,\r\n decimalPoints: 2\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#t-pr-pgb-07',\r\n width: 70,\r\n height: 6\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#t-pr-pgb-07',\r\n width: 70,\r\n height: 6,\r\n scale: {\r\n start: 0,\r\n end: 100,\r\n stop: 13\r\n },\r\n gradient: {\r\n colors: ['#713fcb', '#00e3d0']\r\n },\r\n animateOnScroll: true,\r\n linkText: true,\r\n linkUnits: '/'\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#t-pr-pgb-08',\r\n width: 70,\r\n height: 6,\r\n lineCap: 'butt'\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#t-pr-pgb-08',\r\n width: 70,\r\n height: 6,\r\n lineCap: 'butt',\r\n scale: {\r\n start: 0,\r\n end: 100,\r\n stop: 52.04\r\n },\r\n gradient: {\r\n colors: ['#713fcb', '#00e3d0']\r\n },\r\n split: {\r\n parts: 12,\r\n gap: 2,\r\n color: '#fff'\r\n },\r\n animateOnScroll: true,\r\n linkText: true,\r\n decimalPoints: 2\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#ew3-pgb-os-17',\r\n width: 76,\r\n height: 6,\r\n lineCap: 'butt'\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#ew3-pgb-os-17',\r\n width: 76,\r\n height: 6,\r\n lineCap: 'butt',\r\n gradient:{\r\n colors: ['#713fcb', '#00e3d0']\r\n },\r\n scale: {\r\n start: 0,\r\n end: 24,\r\n stop: 9\r\n },\r\n split: {\r\n parts: 13,\r\n gap: 2,\r\n color: '#fff'\r\n },\r\n animateOnScroll: true,\r\n linkText: true,\r\n linkUnits: 'HOURS'\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#ew3-pgb-os-18',\r\n width: 76,\r\n height: 6,\r\n lineCap: 'butt'\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#ew3-pgb-os-18',\r\n width: 76,\r\n height: 6,\r\n lineCap: 'butt',\r\n gradient:{\r\n colors: ['#713fcb', '#00e3d0']\r\n },\r\n scale: {\r\n start: 0,\r\n end: 20,\r\n stop: 17.764\r\n },\r\n split: {\r\n parts: 13,\r\n gap: 2,\r\n color: '#fff'\r\n },\r\n animateOnScroll: true,\r\n linkText: true,\r\n linkUnits: false,\r\n decimalPoints: 3\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#ew3-pgb-os-19',\r\n width: 76,\r\n height: 6,\r\n lineCap: 'butt'\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#ew3-pgb-os-19',\r\n width: 76,\r\n height: 6,\r\n lineCap: 'butt',\r\n gradient:{\r\n colors: ['#713fcb', '#00e3d0']\r\n },\r\n scale: {\r\n start: 0,\r\n end: 100,\r\n stop: 18.04\r\n },\r\n split: {\r\n parts: 13,\r\n gap: 2,\r\n color: '#fff'\r\n },\r\n animateOnScroll: true,\r\n linkText: true,\r\n decimalPoints: 2\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#ew3-pgb-os-20',\r\n width: 76,\r\n height: 6,\r\n lineCap: 'butt'\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#ew3-pgb-os-20',\r\n width: 76,\r\n height: 6,\r\n lineCap: 'butt',\r\n gradient:{\r\n colors: ['#00e3d0', '#62fff2']\r\n },\r\n scale: {\r\n start: 0,\r\n end: 6.076,\r\n stop: 6.076\r\n },\r\n split: {\r\n parts: 13,\r\n gap: 2,\r\n color: '#fff'\r\n },\r\n animateOnScroll: true,\r\n linkText: true,\r\n linkUnits: false,\r\n decimalPoints: 3\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#ew3-pgb-os-21',\r\n width: 76,\r\n height: 6,\r\n lineCap: 'butt'\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#ew3-pgb-os-21',\r\n width: 76,\r\n height: 6,\r\n lineCap: 'butt',\r\n gradient:{\r\n colors: ['#00e3d0', '#62fff2']\r\n },\r\n scale: {\r\n start: 0,\r\n end: 10,\r\n stop: 8.5\r\n },\r\n split: {\r\n parts: 13,\r\n gap: 2,\r\n color: '#fff'\r\n },\r\n animateOnScroll: true,\r\n linkText: true,\r\n linkUnits: false,\r\n decimalPoints: 2\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#ew3-pgb-os-22',\r\n width: 76,\r\n height: 6,\r\n lineCap: 'butt'\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#ew3-pgb-os-22',\r\n width: 76,\r\n height: 6,\r\n lineCap: 'butt',\r\n gradient:{\r\n colors: ['#00e3d0', '#62fff2']\r\n },\r\n scale: {\r\n start: 0,\r\n end: 1000,\r\n stop: 465.23\r\n },\r\n split: {\r\n parts: 13,\r\n gap: 2,\r\n color: '#fff'\r\n },\r\n animateOnScroll: true,\r\n linkText: true,\r\n linkUnits: false,\r\n decimalPoints: 2\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#ew3-pgb-os-23',\r\n width: 76,\r\n height: 6,\r\n lineCap: 'butt'\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#ew3-pgb-os-23',\r\n width: 76,\r\n height: 6,\r\n lineCap: 'butt',\r\n gradient:{\r\n colors: ['#00e3d0', '#62fff2']\r\n },\r\n scale: {\r\n start: 0,\r\n end: 33.25,\r\n stop: 15.662\r\n },\r\n split: {\r\n parts: 13,\r\n gap: 2,\r\n color: '#fff'\r\n },\r\n animateOnScroll: true,\r\n linkText: true,\r\n linkUnits: false,\r\n decimalPoints: 3\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#ew3-pgb-os-24',\r\n width: 76,\r\n height: 6,\r\n lineCap: 'butt'\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#ew3-pgb-os-24',\r\n width: 76,\r\n height: 6,\r\n lineCap: 'butt',\r\n gradient:{\r\n colors: ['#00e3d0', '#62fff2']\r\n },\r\n scale: {\r\n start: 0,\r\n end: 100,\r\n stop: 63.33\r\n },\r\n split: {\r\n parts: 13,\r\n gap: 2,\r\n color: '#fff'\r\n },\r\n animateOnScroll: true,\r\n linkText: true,\r\n decimalPoints: 2\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#ew3-pgb-os-25',\r\n width: 76,\r\n height: 6,\r\n lineCap: 'butt'\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#ew3-pgb-os-25',\r\n width: 76,\r\n height: 6,\r\n lineCap: 'butt',\r\n gradient:{\r\n colors: ['#00e3d0', '#62fff2']\r\n },\r\n scale: {\r\n start: 0,\r\n end: 100,\r\n stop: 13.50\r\n },\r\n split: {\r\n parts: 13,\r\n gap: 2,\r\n color: '#fff'\r\n },\r\n animateOnScroll: true,\r\n linkText: true,\r\n linkUnits: false,\r\n decimalPoints: 2\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#ew3-pgb-os-26',\r\n width: 76,\r\n height: 6,\r\n lineCap: 'butt'\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#ew3-pgb-os-26',\r\n width: 76,\r\n height: 6,\r\n lineCap: 'butt',\r\n gradient:{\r\n colors: ['#00e3d0', '#62fff2']\r\n },\r\n scale: {\r\n start: 0,\r\n end: 100,\r\n stop: 10\r\n },\r\n split: {\r\n parts: 13,\r\n gap: 2,\r\n color: '#fff'\r\n },\r\n animateOnScroll: true,\r\n linkText: true\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#ew3-pgb-os-27',\r\n width: 76,\r\n height: 6,\r\n lineCap: 'butt'\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#ew3-pgb-os-27',\r\n width: 76,\r\n height: 6,\r\n lineCap: 'butt',\r\n gradient:{\r\n colors: ['#00e3d0', '#62fff2']\r\n },\r\n scale: {\r\n start: 0,\r\n end: 100,\r\n stop: 68\r\n },\r\n split: {\r\n parts: 13,\r\n gap: 2,\r\n color: '#fff'\r\n },\r\n animateOnScroll: true,\r\n linkText: true\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#ew3-pgb-os-28',\r\n width: 76,\r\n height: 6,\r\n lineCap: 'butt'\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#ew3-pgb-os-28',\r\n width: 76,\r\n height: 6,\r\n lineCap: 'butt',\r\n gradient:{\r\n colors: ['#00e3d0', '#62fff2']\r\n },\r\n scale: {\r\n start: 0,\r\n end: 23,\r\n stop: 10\r\n },\r\n split: {\r\n parts: 13,\r\n gap: 2,\r\n color: '#fff'\r\n },\r\n animateOnScroll: true,\r\n linkText: true,\r\n linkUnits: false\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#ew3-pgb-os-29',\r\n width: 76,\r\n height: 6,\r\n lineCap: 'butt'\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#ew3-pgb-os-29',\r\n width: 76,\r\n height: 6,\r\n lineCap: 'butt',\r\n gradient:{\r\n colors: ['#00e3d0', '#62fff2']\r\n },\r\n scale: {\r\n start: 0,\r\n end: 23,\r\n stop: 23\r\n },\r\n split: {\r\n parts: 13,\r\n gap: 2,\r\n color: '#fff'\r\n },\r\n animateOnScroll: true,\r\n linkText: true,\r\n linkUnits: false,\r\n decimalPoints: 2\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#ew3-pgb-os-30',\r\n width: 76,\r\n height: 6,\r\n lineCap: 'butt'\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#ew3-pgb-os-30',\r\n width: 76,\r\n height: 6,\r\n lineCap: 'butt',\r\n gradient:{\r\n colors: ['#00e3d0', '#62fff2']\r\n },\r\n scale: {\r\n start: 0,\r\n end: 33.5,\r\n stop: 33.5\r\n },\r\n split: {\r\n parts: 13,\r\n gap: 2,\r\n color: '#fff'\r\n },\r\n animateOnScroll: true,\r\n linkText: true,\r\n linkUnits: false,\r\n decimalPoints: 2\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#ew3-pgb-os-31',\r\n width: 76,\r\n height: 6,\r\n lineCap: 'butt'\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#ew3-pgb-os-31',\r\n width: 76,\r\n height: 6,\r\n lineCap: 'butt',\r\n gradient:{\r\n colors: ['#00e3d0', '#62fff2']\r\n },\r\n scale: {\r\n start: 0,\r\n end: 10,\r\n stop: 10\r\n },\r\n split: {\r\n parts: 13,\r\n gap: 2,\r\n color: '#fff'\r\n },\r\n animateOnScroll: true,\r\n linkText: true,\r\n linkUnits: false,\r\n decimalPoints: 2\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#ew3-pgb-tp-01',\r\n width: 270,\r\n height: 6\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#ew3-pgb-tp-01',\r\n width: 270,\r\n height: 6,\r\n scale: {\r\n start: 0,\r\n end: 100,\r\n stop: 72\r\n },\r\n gradient: {\r\n colors: ['#713fcb', '#00e3d0']\r\n },\r\n split: {\r\n partItems: [\r\n {\r\n width: 30,\r\n gap: 4\r\n },\r\n {\r\n width: 40,\r\n gap: 4\r\n },\r\n {\r\n width: 50,\r\n gap: 4\r\n },\r\n {\r\n width: 60,\r\n gap: 4\r\n },\r\n {\r\n width: 74,\r\n gap: 4\r\n }\r\n ],\r\n color: '#fff'\r\n }\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#ew3-pgb-crd-01',\r\n width: 124,\r\n height: 6,\r\n lineCap: 'butt'\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#ew3-pgb-crd-01',\r\n width: 124,\r\n height: 6,\r\n lineCap: 'butt',\r\n scale: {\r\n start: 0,\r\n end: 31,\r\n stop: 30.092\r\n },\r\n gradient: {\r\n colors: ['#713fcb', '#00e3d0']\r\n },\r\n split: {\r\n parts: 21,\r\n gap: 2,\r\n color: '#fff'\r\n },\r\n animateOnScroll: true,\r\n linkText: true,\r\n linkUnits: false,\r\n decimalPoints: 3\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#ew3-pgb-crd-02',\r\n width: 124,\r\n height: 6,\r\n lineCap: 'butt'\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#ew3-pgb-crd-02',\r\n width: 124,\r\n height: 6,\r\n lineCap: 'butt',\r\n scale: {\r\n start: 0,\r\n end: 31,\r\n stop: 26.596\r\n },\r\n gradient: {\r\n colors: ['#713fcb', '#00e3d0']\r\n },\r\n split: {\r\n parts: 21,\r\n gap: 2,\r\n color: '#fff'\r\n },\r\n animateOnScroll: true,\r\n linkText: true,\r\n linkUnits: false,\r\n decimalPoints: 3\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#ew3-pgb-crd-03',\r\n width: 124,\r\n height: 6,\r\n lineCap: 'butt'\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#ew3-pgb-crd-03',\r\n width: 124,\r\n height: 6,\r\n lineCap: 'butt',\r\n scale: {\r\n start: 0,\r\n end: 31,\r\n stop: 25.386\r\n },\r\n gradient: {\r\n colors: ['#713fcb', '#00e3d0']\r\n },\r\n split: {\r\n parts: 21,\r\n gap: 2,\r\n color: '#fff'\r\n },\r\n animateOnScroll: true,\r\n linkText: true,\r\n linkUnits: false,\r\n decimalPoints: 3\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#ew3-pgb-crd-04',\r\n width: 124,\r\n height: 6,\r\n lineCap: 'butt'\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#ew3-pgb-crd-04',\r\n width: 124,\r\n height: 6,\r\n lineCap: 'butt',\r\n scale: {\r\n start: 0,\r\n end: 31,\r\n stop: 23.447\r\n },\r\n gradient: {\r\n colors: ['#713fcb', '#00e3d0']\r\n },\r\n split: {\r\n parts: 21,\r\n gap: 2,\r\n color: '#fff'\r\n },\r\n animateOnScroll: true,\r\n linkText: true,\r\n linkUnits: false,\r\n decimalPoints: 3\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#ew3-pgb-crd-05',\r\n width: 124,\r\n height: 6,\r\n lineCap: 'butt'\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#ew3-pgb-crd-05',\r\n width: 124,\r\n height: 6,\r\n lineCap: 'butt',\r\n scale: {\r\n start: 0,\r\n end: 31,\r\n stop: 16.480\r\n },\r\n gradient: {\r\n colors: ['#713fcb', '#00e3d0']\r\n },\r\n split: {\r\n parts: 21,\r\n gap: 2,\r\n color: '#fff'\r\n },\r\n animateOnScroll: true,\r\n linkText: true,\r\n linkUnits: false,\r\n decimalPoints: 3\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#ew3-pgb-crd-06',\r\n width: 124,\r\n height: 6,\r\n lineCap: 'butt'\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#ew3-pgb-crd-06',\r\n width: 124,\r\n height: 6,\r\n lineCap: 'butt',\r\n scale: {\r\n start: 0,\r\n end: 31,\r\n stop: 14.906\r\n },\r\n gradient: {\r\n colors: ['#713fcb', '#00e3d0']\r\n },\r\n split: {\r\n parts: 21,\r\n gap: 2,\r\n color: '#fff'\r\n },\r\n animateOnScroll: true,\r\n linkText: true,\r\n linkUnits: false,\r\n decimalPoints: 3\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#ew3-pgb-crd-07',\r\n width: 124,\r\n height: 6,\r\n lineCap: 'butt'\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#ew3-pgb-crd-07',\r\n width: 124,\r\n height: 6,\r\n lineCap: 'butt',\r\n scale: {\r\n start: 0,\r\n end: 31,\r\n stop: 11.346\r\n },\r\n gradient: {\r\n colors: ['#713fcb', '#00e3d0']\r\n },\r\n split: {\r\n parts: 21,\r\n gap: 2,\r\n color: '#fff'\r\n },\r\n animateOnScroll: true,\r\n linkText: true,\r\n linkUnits: false,\r\n decimalPoints: 3\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#ew3-pgb-crd-08',\r\n width: 124,\r\n height: 6,\r\n lineCap: 'butt'\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#ew3-pgb-crd-08',\r\n width: 124,\r\n height: 6,\r\n lineCap: 'butt',\r\n scale: {\r\n start: 0,\r\n end: 31,\r\n stop: 9.871\r\n },\r\n gradient: {\r\n colors: ['#713fcb', '#00e3d0']\r\n },\r\n split: {\r\n parts: 21,\r\n gap: 2,\r\n color: '#fff'\r\n },\r\n animateOnScroll: true,\r\n linkText: true,\r\n linkUnits: false,\r\n decimalPoints: 3\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#ew3-pgb-crd-09',\r\n width: 124,\r\n height: 6,\r\n lineCap: 'butt'\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#ew3-pgb-crd-09',\r\n width: 124,\r\n height: 6,\r\n lineCap: 'butt',\r\n scale: {\r\n start: 0,\r\n end: 31,\r\n stop: 8.467\r\n },\r\n gradient: {\r\n colors: ['#713fcb', '#00e3d0']\r\n },\r\n split: {\r\n parts: 21,\r\n gap: 2,\r\n color: '#fff'\r\n },\r\n animateOnScroll: true,\r\n linkText: true,\r\n linkUnits: false,\r\n decimalPoints: 3\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#ew3-pgb-crd-10',\r\n width: 124,\r\n height: 6,\r\n lineCap: 'butt'\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#ew3-pgb-crd-10',\r\n width: 124,\r\n height: 6,\r\n lineCap: 'butt',\r\n scale: {\r\n start: 0,\r\n end: 31,\r\n stop: 8.102\r\n },\r\n gradient: {\r\n colors: ['#713fcb', '#00e3d0']\r\n },\r\n split: {\r\n parts: 21,\r\n gap: 2,\r\n color: '#fff'\r\n },\r\n animateOnScroll: true,\r\n linkText: true,\r\n linkUnits: false,\r\n decimalPoints: 3\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#ew3-pgb-hs-01',\r\n width: 88,\r\n height: 6,\r\n lineCap: 'butt'\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#ew3-pgb-hs-01',\r\n width: 88,\r\n height: 6,\r\n lineCap: 'butt',\r\n gradient: {\r\n colors: ['#713fcb', '#00e3d0']\r\n },\r\n scale: {\r\n start: 0,\r\n end: 10,\r\n stop: 9.652\r\n },\r\n split: {\r\n parts: 15,\r\n gap: 2,\r\n color: '#fff'\r\n },\r\n animateOnScroll: true,\r\n linkText: true,\r\n linkUnits: false,\r\n decimalPoints: 3\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#es-home-pp-pgb-01',\r\n width: 240,\r\n height: 6\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#es-home-pp-pgb-01',\r\n width: 240,\r\n height: 6,\r\n scale: {\r\n start: 0,\r\n end: 100,\r\n stop: 64\r\n },\r\n speed: 30,\r\n gradient: {\r\n colors: ['#713fcb', '#00e3d0']\r\n },\r\n animateOnScroll: true,\r\n linkText: true\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#es-home-pp-pgb-02',\r\n width: 240,\r\n height: 6\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#es-home-pp-pgb-02',\r\n width: 240,\r\n height: 6,\r\n scale: {\r\n start: 0,\r\n end: 100,\r\n stop: 14\r\n },\r\n speed: 30,\r\n gradient: {\r\n colors: ['#713fcb', '#00e3d0']\r\n },\r\n animateOnScroll: true,\r\n linkText: true\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#es-home-pp-pgb-03',\r\n width: 240,\r\n height: 6\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#es-home-pp-pgb-03',\r\n width: 240,\r\n height: 6,\r\n scale: {\r\n start: 0,\r\n end: 100,\r\n stop: 10\r\n },\r\n speed: 30,\r\n gradient: {\r\n colors: ['#713fcb', '#00e3d0']\r\n },\r\n animateOnScroll: true,\r\n linkText: true\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#es-home-pp-pgb-04',\r\n width: 240,\r\n height: 6\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#es-home-pp-pgb-04',\r\n width: 240,\r\n height: 6,\r\n scale: {\r\n start: 0,\r\n end: 100,\r\n stop: 8\r\n },\r\n speed: 30,\r\n gradient: {\r\n colors: ['#713fcb', '#00e3d0']\r\n },\r\n animateOnScroll: true,\r\n linkText: true\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#es-home-pp-pgb-05',\r\n width: 240,\r\n height: 6\r\n});\r\n\r\napp.createProgressBar({\r\n container: '#es-home-pp-pgb-05',\r\n width: 240,\r\n height: 6,\r\n scale: {\r\n start: 0,\r\n end: 100,\r\n stop: 4\r\n },\r\n speed: 30,\r\n gradient: {\r\n colors: ['#713fcb', '#00e3d0']\r\n },\r\n animateOnScroll: true,\r\n linkText: true\r\n});","const app = require('../utils/app.core');\r\n\r\napp.createSlider({\r\n sliderContainer: '#award-slider',\r\n itemsContainer: '.widget-slider-items',\r\n rosterContainer: false,\r\n animation: {\r\n type: 'carousel',\r\n orientation: 'horizontal',\r\n transition: 'direct',\r\n slideDelay: 7000,\r\n slideTransition: 1000\r\n },\r\n controls: {\r\n container: '#award-slider-controls',\r\n disabledClass: 'disabled'\r\n }\r\n});","const app = require('../utils/app.core');\r\n\r\napp.createTooltip({\r\n container: '.ew3-wtl-tooltip',\r\n direction: 'top',\r\n tooltipSelector: ['xm-tooltip', 'v2'],\r\n align: 'center',\r\n offset: 2,\r\n animation: {\r\n type: 'translate-out-fade'\r\n }\r\n});","module.exports = Overlay;\r\n\r\nfunction Overlay () {\r\n if (typeof Overlay.instance === 'undefined') {\r\n Overlay.instance = this;\r\n \r\n this.show = () => {\r\n this.element.classList.add('open');\r\n };\r\n\r\n this.hide = () => {\r\n this.element.classList.remove('open');\r\n };\r\n\r\n this.addTrigger = (config) => {\r\n const callback = () => {\r\n config.callback();\r\n this.hide();\r\n this.element.removeEventListener(config.event, callback);\r\n };\r\n\r\n this.element.addEventListener(config.event, function (e) {\r\n if (e.target === this) {\r\n callback();\r\n }\r\n });\r\n };\r\n\r\n (function init () {\r\n Overlay.instance.element = document.createElement('div');\r\n Overlay.instance.element.classList.add('window-overlay');\r\n Overlay.instance.element.addEventListener('click', function (e) {\r\n if (e.target === this) {\r\n Overlay.instance.hide();\r\n }\r\n });\r\n document.body.appendChild(Overlay.instance.element);\r\n })();\r\n }\r\n\r\n return Overlay.instance;\r\n}","const ChartJS = require('chart.js'),\r\n Overlay = require('./Overlay'),\r\n app = {};\r\n\r\napp.createArc = function (config) {\r\n if (!config) throw new Error('Must pass a configuration object in order to create an XM_Arc');\r\n if (!document.querySelector(config.container)) return;\r\n return new XM_Arc(config);\r\n};\r\n\r\napp.createCountdown = function (config) {\r\n if (!config) throw new Error('Must pass a configuration object in order to create an XM_Countdown');\r\n if (!document.querySelector(config.container)) return;\r\n return new XM_Countdown(config);\r\n};\r\n\r\napp.createProgressBar = function (config) {\r\n if (!config) throw new Error('Must pass a configuration object in order to create an XM_ProgressBar');\r\n if (!document.querySelector(config.container)) return;\r\n return new XM_ProgressBar(config);\r\n};\r\n\r\napp.createSlider = function (config) {\r\n if (!config) throw new Error('Must pass a configuration object in order to create an XM_Slider');\r\n if (!document.querySelector(config.sliderContainer)) return;\r\n return new XM_Slider(config);\r\n};\r\n\r\napp.createDropdown = function (config) {\r\n if (!config) throw new Error('Must pass a configuration object in order to create an XM_Dropdown');\r\n if (!document.querySelector(config.dropdownSelector)) return;\r\n return new XM_Dropdown(config);\r\n};\r\n\r\napp.createLineslide = function (config) {\r\n if (!config) throw new Error('Must pass a configuration object in order to create an XM_Lineslide');\r\n if (!document.querySelector(config.container)) return;\r\n return new XM_Lineslide(config);\r\n};\r\n\r\napp.createTooltip = function (config) {\r\n if (!config) throw new Error('Must pass a configuration object in order to create an XM_Tooltip');\r\n if (!document.querySelector(config.container)) return;\r\n return new XM_Tooltip(config);\r\n};\r\n\r\napp.createPopup = function (config) {\r\n if (!config) throw new Error('Must pass a configuration object in order to create an XM_Popup');\r\n if (!document.querySelector(config.container)) return;\r\n return new XM_Popup(config);\r\n};\r\n\r\napp.createTab = function (config) {\r\n if (!config) throw new Error('Must pass a configuration object in order to create an XM_Tab');\r\n if (!document.querySelector(config.container)) return;\r\n return new XM_Tab(config);\r\n};\r\n\r\napp.createAccordion = function (config) {\r\n if (!config) throw new Error('Must pass a configuration object in order to create an XM_Accordion');\r\n if (!document.querySelector(config.triggerSelector)) return;\r\n return new XM_Accordion(config);\r\n};\r\n\r\napp.createCalendar = function (config) {\r\n if (!config) throw new Error('Must pass a configuration object in order to create an XM_Calendar');\r\n if (!document.querySelector(config.container)) return;\r\n return new XM_Calendar(config);\r\n};\r\n\r\napp.createChart = function (ctx, config) {\r\n if (!config) throw new Error('Must pass a configuration object in order to create a ChartJS');\r\n if (!ctx) return;\r\n return new ChartJS(ctx, config);\r\n};\r\n\r\napp.createOverlay = function () {\r\n return new Overlay();\r\n};\r\n\r\napp.addListener = function (el, event, fn) {\r\n for (let i = 0; i < el.length; i++) {\r\n el[i].addEventListener(event, fn);\r\n }\r\n};\r\n\r\nmodule.exports = app;","module.exports.loadContent = function (config) {\r\n const me = {};\r\n\r\n const queryItems = function () {\r\n $.ajax({\r\n url: config.url,\r\n success: config.onSuccess,\r\n error: config.onError\r\n });\r\n };\r\n\r\n me.load = function () {\r\n config.onLoading();\r\n window.setTimeout(queryItems, config.loadingDelay);\r\n };\r\n\r\n return me;\r\n};","(function () {\r\n const instaWidgetWrap = document.querySelector('.photo-list');\r\n \r\n if (!instaWidgetWrap) return;\r\n\r\n const showLoading = function () {\r\n const loader = document.createElement('div');\r\n loader.classList.add('loader', 'red');\r\n instaWidgetWrap.append(loader);\r\n };\r\n\r\n const showError = function () {\r\n instaWidgetWrap.innerHTML = '

Couldn\\'t load Instagram

';\r\n };\r\n\r\n const createInstagramItem = function (data) {\r\n const item = ` \r\n \r\n \r\n
\r\n \"${data.id}\"\r\n
\r\n \r\n\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n `;\r\n\r\n return item;\r\n };\r\n\r\n const createInstagramItems = function (response) {\r\n const count = 12;\r\n response = response.data;\r\n instaWidgetWrap.innerHTML = '';\r\n for (let i = 0; i < count; i++) {\r\n instaWidgetWrap.insertAdjacentHTML('beforeend', createInstagramItem(response[i]));\r\n }\r\n };\r\n\r\n const contentLoader = require('../utils/content-loader');\r\n /**\r\n * INSTAGRAM FEED\r\n */\r\n // Instagram access token, you need to replace this with your access_token value\r\n // const insta_access_token = 'YOUR_ACCESS_TOKEN',\r\n // instaLoader = contentLoader.loadContent({\r\n // url: `https://api.instagram.com/v1/users/self/media/recent/?access_token=${insta_access_token}`,\r\n // onLoading: showLoading,\r\n // loadingDelay: 1000,\r\n // onSuccess: createInstagramItems,\r\n // onError: showError\r\n // });\r\n\r\n // instaLoader.load();\r\n})();","const twitchPlayerContainer = document.querySelector('#streamer-twitch-channel-01');\r\n\r\nif (twitchPlayerContainer) setupTwitchWidget();\r\n\r\nfunction setupTwitchWidget() {\r\n /**\r\n * TWITCH VOD\r\n */\r\n const options = {\r\n width: '100%',\r\n height: 520,\r\n // video: '387234761',\r\n channel: 'riotgames',\r\n autoplay: false,\r\n theme: 'dark'\r\n },\r\n player = new Twitch.Embed('streamer-twitch-channel-01', options);\r\n}\r\n","const parseDate = function (dateText) {\r\n const targetDate = new Date(dateText),\r\n todayDate = new Date(),\r\n diffDate = (todayDate.getTime() - targetDate.getTime()) / 1000,\r\n daysLeft = window.parseInt(diffDate / 86400),\r\n hoursLeft = window.parseInt(diffDate / 3600) % 24,\r\n minutesLeft = window.parseInt(diffDate / 60) % 60,\r\n secondsLeft = window.parseInt(diffDate) % 60;\r\n\r\n let measure, time;\r\n\r\n if (daysLeft > 0) {\r\n measure = 'days';\r\n time = daysLeft;\r\n } else if (hoursLeft > 0) {\r\n measure = 'hours';\r\n time = hoursLeft;\r\n } else if (minutesLeft > 0) {\r\n measure = 'minutes';\r\n time = minutesLeft;\r\n } else if (secondsLeft > 0) {\r\n measure = 'seconds';\r\n time = secondsLeft;\r\n }\r\n\r\n return `${time} ${measure} ago`;\r\n};\r\n\r\nconst parseText = function (text) {\r\n const hashtag = /(#\\w*)/ig,\r\n atTag = /(@(\\w*))/ig,\r\n link = /((http:\\/\\/www\\.|https:\\/\\/www\\.|http:\\/\\/|https:\\/\\/)?[a-z0-9]+([\\-\\.]{1}[a-z0-9]+)*\\.[a-z]{2,5}(:[0-9]{1,5})?(\\/.*)?)/ig;\r\n\r\n text = text.replace(link, '$1');\r\n text = text.replace(hashtag, '$1');\r\n text = text.replace(atTag, '$1');\r\n\r\n return text;\r\n};\r\n\r\nconst tweetsContainer = document.querySelectorAll('.tweets-preview-widget');\r\n\r\nconst showLoading = function () {\r\n tweetsContainer.forEach( (e) => {\r\n const loader = document.createElement('div');\r\n loader.classList.add('loader', 'blue');\r\n e.append(loader);\r\n });\r\n};\r\n\r\nconst showError = function () {\r\n tweetsContainer.forEach( (e) => {\r\n e.innerHTML = '

Couldn\\'t load Twitter

';\r\n });\r\n};\r\n\r\nconst createTweetItem = function (container, data) {\r\n const tweetItem = document.createElement('div');\r\n tweetItem.classList.add('tweets-preview-widget-item');\r\n\r\n if (container.classList.contains('v2')) {\r\n tweetItem.innerHTML += `

@${data.user.screen_name}

\r\n \"profile-img\"`;\r\n } else {\r\n tweetItem.innerHTML += `\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n `;\r\n }\r\n\r\n tweetItem.innerHTML += `

${parseText(data.text)}

\r\n

${parseDate(data.created_at)}

`;\r\n \r\n return tweetItem;\r\n};\r\n\r\nconst createTweetItems = function (response) {\r\n tweetsContainer.forEach( (e) => {\r\n e.innerHTML = '';\r\n });\r\n \r\n response.forEach(function (el) {\r\n tweetsContainer.forEach( (e) => {\r\n e.append(\r\n createTweetItem(e, el)\r\n );\r\n });\r\n });\r\n};\r\n\r\nconst contentLoader = require('../utils/content-loader'),\r\n count = 3;\r\n/**\r\n * TWITTER FEED\r\n */\r\n// const tweetsLoader = contentLoader.loadContent({\r\n// url: `http://localhost:3003/tweets_last/${count}`,\r\n// onLoading: showLoading,\r\n// loadingDelay: 1000,\r\n// onSuccess: createTweetItems,\r\n// onError: showError\r\n// });\r\n\r\n// tweetsLoader.load();","/*!\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