(function () {
  //Inject code v3.0.3

  var highcharts = document.createElement('script');

  var cdn = 'https://code.highcharts.com/';
  var loaded = 0;  
  var encodedUrl = encodeURI('https://https://app.everviz.com//show/15scx89KJ');
  var chartCreated = false;
  var delayGen = 0;
  var scripts = [
    "highcharts.js",
    "modules/stock.js",
    "highcharts-more.js",
    "highcharts-3d.js",
    "modules/data.js",
    "modules/exporting.js",
    "modules/funnel.js",
    "modules/solid-gauge.js",
    "modules/export-data.js",
    "modules/accessibility.js"
    /* "modules/series-label.js" */
  ];

  var externalCSS = [
     
    "https://app.everviz.com/fonts/-kdRxC3Ef/font.css"
 ,
    "https://app.everviz.com/fonts/mIQoHgFro/font.css"
 ,
    "https://app.everviz.com/fonts/b7ssKVeRa/font.css"
  ];

  var extraScripts = [
  "https://code.highcharts.com/modules/annotations.js"
  ,"https://code.highcharts.com/modules/annotations-advanced.js"
  ];

  var options = {"chart":{"type":"line","polar":false,"style":{"fontFamily":"Telesans Agate-Regular","fontSize":"14px"},"parallelAxes":{"stackLabels":{"style":{"fontSize":"14px"}}},"height":450},"title":{"align":"left","x":10,"style":{"fontFamily":"Austin News Deck-Semibold","color":"#333333","fontSize":"22px","fontWeight":"normal","fontStyle":"normal","fill":"#333333","width":"566px"},"margin":15,"text":"Online sales rocket in 2020 pandemic","useHTML":true},"subtitle":{"align":"left","x":10,"style":{"fontFamily":"Austin News Deck-Italic","color":"#666666","fontSize":"22px","fontWeight":"normal","fontStyle":"normal","fill":"#666666","width":"566px"},"text":"Online retail sales as a proportion of all retail sales"},"plotOptions":{"series":{"allowPointSelect":true,"states":{"select":{"color":"#EFFFEF","borderColor":"black","dashStyle":"dot"}},"marker":{"enabled":false},"lineWidth":3,"label":{"style":{"font-weight":"bold","fontFamily":"Telesans Agate-Regular","fontSize":"14px"}},"events":{}},"area":{"fillOpacity":0.2,"marker":{"enabled":false,"symbol":"diamond"},"dataLabels":{"style":{"fontSize":"14px"}},"label":{"style":{"font-weight":"bold","fontFamily":"Telesans Agate-Regular","fontSize":"14px"}}},"line":{"marker":{"symbol":"diamond"}}},"exporting":{"enabled":false},"credits":{"href":"","position":{"x":-7,"y":-3},"style":{"cursor":"pointer","color":"#999999","fontSize":"10px","fontFamily":"Telesans Agate-Regular"},"text":"SOURCE: ONS"},"colors":["#0021af","#17e698","#2f114f","#fff7b3","#ff77b7","#96efff","#f43939"],"legend":{"align":"left","verticalAlign":"top","itemMarginBottom":10,"x":-10,"symbolRadius":0,"floating":false,"itemStyle":{"fontFamily":"Telesans Agate-Regular","color":"#333333","fontSize":"14px","fontWeight":"normal","fontStyle":"normal","cursor":"pointer","textOverflow":"ellipsis"},"borderRadius":0,"squareSymbol":true,"shadow":false,"rtl":false,"reversed":false,"symbolPadding":4,"symbolHeight":12,"padding":8},"series":[{"data":[],"turboThreshold":0,"_colorIndex":0,"_symbolIndex":0,"type":"line","color":"#ded29b","lineWidth":3},{"data":[],"turboThreshold":0,"_colorIndex":1,"_symbolIndex":0,"type":"line","color":"#17e698","lineWidth":3},{"data":[],"turboThreshold":0,"_colorIndex":2,"_symbolIndex":0,"type":"line","color":"#112259","lineWidth":3}],"tooltip":{"pointFormat":"<span style=\"color:{point.color}\"></span> {series.name}: <b>{point.y}</b><br/>","borderRadius":0,"borderWidth":1,"enabled":true,"headerFormat":"","shadow":false,"style":{"color":"#333333","cursor":"default","fontSize":"12px","pointerEvents":"none","whiteSpace":"nowrap","fontFamily":"Telesans Agate-Regular"},"padding":6},"caption":{"style":{"fontFamily":"Telesans Agate-Regular","color":"#666666","fontSize":"18px","fontWeight":"normal","fontStyle":"normal","fill":"#666666","width":"610px"}},"stockTools":{"gui":{"enabled":false}},"navigation":{"bindingsClassName":"tools-container","events":{}},"labels":{"items":[],"style":{"color":"#333333","position":"absolute","fontFamily":"Telesans Agate-Regular","fontSize":"14px"}},"pane":{"background":[]},"responsive":{"rules":[]},"yAxis":{"title":{"useHTML":true,"text":"%"}},"xAxis":{"lineColor":"black","tickColor":"black"},"annotations":[],"data":{"csv":"Date;All online shopping excl. fuel;Food;Non-food\n01/01/2008;4.2;1.6;3.4\n02/01/2008;4.4;1.6;3.7\n03/01/2008;4.5;1.6;3.7\n04/01/2008;4.8;1.7;3.9\n05/01/2008;4.6;1.7;3.8\n06/01/2008;5;1.8;4.1\n07/01/2008;5;1.8;4.1\n08/01/2008;5.1;1.9;4.2\n09/01/2008;5.3;2;4.4\n10/01/2008;5.2;2;4.4\n11/01/2008;5.3;2.2;4.5\n12/01/2008;5.6;2.3;4.6\n01/01/2009;5.6;2.1;4.8\n02/01/2009;5.9;2;5.2\n03/01/2009;5.8;2.1;5.1\n04/01/2009;6;2.1;5\n05/01/2009;6;2.2;5.2\n06/01/2009;6;2.1;5.2\n07/01/2009;6.4;2.3;5.3\n08/01/2009;6.3;2.3;5.5\n09/01/2009;6.3;2.2;5.4\n10/01/2009;6.7;2.3;5.9\n11/01/2009;7;2.2;6.1\n12/01/2009;6.7;2.3;5.5\n01/01/2010;6.6;2.5;5.6\n02/01/2010;6.7;2.9;5.4\n03/01/2010;6.6;2.7;5.3\n04/01/2010;6.8;2.9;5.7\n05/01/2010;6.9;2.7;5.9\n06/01/2010;6.9;2.6;5.8\n07/01/2010;7.2;2.6;6.3\n08/01/2010;7.6;2.7;6.6\n09/01/2010;7.6;2.7;6.6\n10/01/2010;7.9;2.8;6.9\n11/01/2010;8;2.7;7.2\n12/01/2010;8.2;2.7;7.4\n01/01/2011;8.1;2.9;6.9\n02/01/2011;7.8;2.6;6.7\n03/01/2011;7.9;2.6;7\n04/01/2011;7.7;2.8;6.7\n05/01/2011;8;2.6;6.9\n06/01/2011;8.2;2.8;7\n07/01/2011;8.4;2.7;7\n08/01/2011;8.4;2.7;7\n09/01/2011;8.6;2.7;7.1\n10/01/2011;8.5;2.8;7\n11/01/2011;9;2.9;6.9\n12/01/2011;8.7;2.8;7\n01/01/2012;8.9;2.8;7.3\n02/01/2012;9.2;3.2;7.5\n03/01/2012;8.9;3;7.2\n04/01/2012;9.3;3.2;7.6\n05/01/2012;9.5;3.2;8.1\n06/01/2012;9.1;2.9;7.5\n07/01/2012;9.7;3.2;8\n08/01/2012;8.9;3.1;7.8\n09/01/2012;9.3;3.1;7.7\n10/01/2012;9.3;3.1;7.6\n11/01/2012;9.3;3.2;7.4\n12/01/2012;10;3.2;8\n01/01/2013;9.9;3.3;7.8\n02/01/2013;10;3.3;7.8\n03/01/2013;10.6;3.4;8.7\n04/01/2013;10.4;3.3;8.6\n05/01/2013;10.2;3.3;8.5\n06/01/2013;10.3;3.3;8.4\n07/01/2013;10.3;3.4;8.4\n08/01/2013;10.5;3.3;8.6\n09/01/2013;10.5;3.4;8.6\n10/01/2013;10.6;3.5;8.6\n11/01/2013;10.6;3.5;8.5\n12/01/2013;10.5;3.5;8.4\n01/01/2014;10.5;3.5;8.5\n02/01/2014;11.1;3.7;8.6\n03/01/2014;11;3.7;8.5\n04/01/2014;11.2;3.7;8.7\n05/01/2014;11.4;3.7;8.8\n06/01/2014;11.3;3.7;8.8\n07/01/2014;11.4;3.7;9\n08/01/2014;11.6;3.8;9.1\n09/01/2014;11.4;3.9;8.9\n10/01/2014;11.5;3.9;8.9\n11/01/2014;11.6;3.8;8.8\n12/01/2014;11.8;3.6;9.1\n01/01/2015;12.1;4;9.2\n02/01/2015;12;4;9.2\n03/01/2015;12.1;4.1;9.2\n04/01/2015;12.4;4;9.2\n05/01/2015;12.1;4.1;9.3\n06/01/2015;12.5;4.2;9.6\n07/01/2015;12.6;4.2;9.3\n08/01/2015;12.4;4.4;9.7\n09/01/2015;12.6;4.3;9.8\n10/01/2015;12.8;4.2;10\n11/01/2015;13.2;4.2;10.5\n12/01/2015;13.4;4.6;10.6\n01/01/2016;13.6;4.5;10.2\n02/01/2016;13.4;4.3;10.4\n03/01/2016;13.6;4.4;10.4\n04/01/2016;14;4.5;10.7\n05/01/2016;14.2;4.8;10.6\n06/01/2016;14.6;4.8;11.2\n07/01/2016;14.5;4.8;10.8\n08/01/2016;14.9;4.8;11.4\n09/01/2016;15.5;4.9;11.5\n10/01/2016;15.7;5.1;11.5\n11/01/2016;16.1;5.2;12.1\n12/01/2016;16;5.3;11.8\n01/01/2017;15.6;5.2;11.8\n02/01/2017;15.7;4.9;11.9\n03/01/2017;15.9;5.1;12.1\n04/01/2017;15.9;5.2;11.7\n05/01/2017;15.8;5.1;11.8\n06/01/2017;16.4;5.2;12\n07/01/2017;16.4;5.3;12.4\n08/01/2017;16.5;5.4;12.5\n09/01/2017;16.7;5.4;12.7\n10/01/2017;16.6;5.4;12.5\n11/01/2017;16.9;5.5;13.2\n12/01/2017;17.3;5.5;13.3\n01/01/2018;17;5.4;13.3\n02/01/2018;17.3;5.6;13.4\n03/01/2018;17.9;5.6;14.2\n04/01/2018;17.5;5.6;13.7\n05/01/2018;18;5.7;14.2\n06/01/2018;18.1;5.7;14.3\n07/01/2018;18.1;5.6;14.2\n08/01/2018;18;5.5;14.2\n09/01/2018;18;5.4;14.4\n10/01/2018;18.1;5.4;14.5\n11/01/2018;18.4;5.5;14.6\n12/01/2018;18.4;5.5;14.6\n01/01/2019;18.7;5.3;14.7\n02/01/2019;19;5.4;15\n03/01/2019;19.2;5.3;14.8\n04/01/2019;19.1;5.5;15.4\n05/01/2019;19.1;5.4;15.2\n06/01/2019;18.8;5.3;15.3\n07/01/2019;19.7;5.5;15.4\n08/01/2019;19.4;5.7;14.9\n09/01/2019;18.9;5.6;14.6\n10/01/2019;19.1;5.4;14.9\n11/01/2019;18.6;5.3;14.4\n12/01/2019;19.4;5.1;15.7\n01/01/2020;19.2;5.3;14.5\n02/01/2020;19.9;5.4;15.9\n03/01/2020;22.5;5.8;22\n04/01/2020;30.8;9.4;44.3\n05/01/2020;33.3;11.3;41.3\n06/01/2020;31.8;11.3;32.4\n07/01/2020;28.9;11;25.7\n08/01/2020;28.1;10.4;24.5","seriesMapping":[{"x":0,"y":1},{"x":0,"y":2},{"x":0,"y":3}]}};
  
  var templateDataSettings = {};

  var pluginCode = {};;

  if (options.data) {
    options.data.complete = function(options) {
      const keys = Object.keys(templateDataSettings || {});
      keys.forEach(function(key) {
        const serie = options.series[key];
        (serie.data || []).forEach(function(d, i) {
          if (templateDataSettings[key].data && templateDataSettings[key].data[i]) {
            merge(d, templateDataSettings[key].data[i]);
          }
        })
      })  
      return options;
    }
  }

  merge(options, pluginCode);

  function isNull(what){return(typeof what==='undefined'||what===null)}
  function isStr(what){return(typeof what==='string'||what instanceof String)}
  function isNum(what){return!isNaN(parseFloat(what))&&isFinite(what)}
  function isFn(what){return(what&&(typeof what==='function')||(what instanceof Function))}
  function isArr(what){return(!isNull(what)&&what.constructor.toString().indexOf('Array')>-1)}
  function isBool(what){return(what===!0||what===!1)}
  function isBasic(what){return!isArr(what)&&(isStr(what)||isNum(what)||isBool(what)||isFn(what))}
  function isObj(what){return what&&what.constructor.toString().indexOf('Object')>-1}
  function isEmptyObjectArray(arr){return isObj(arr[0])&&arr.some(function(b){return Object.keys(b).length===0})}
  function merge(a,b){if(!a||!b)return a||b;Object.keys(b).forEach(function(bk){if(isNull(b[bk])||isBasic(b[bk])){a[bk]=b[bk]}else if(isArr(b[bk])){if(isEmptyObjectArray(b[bk]))return;a[bk]=[];b[bk].forEach(function(i){if(isNull(i)||isBasic(i)){a[bk].push(i)}else{a[bk].push(merge(isArr(i)?[]:{},i))}})}else{a[bk]=a[bk]||{};merge(a[bk],b[bk])}});return a}

  function isScriptAlreadyIncluded(src){
    var scripts = document.getElementsByTagName("script");
    for (var i = 0; i < scripts.length; i++) {
      if (scripts[i].hasAttribute('src')) {
        const scriptTag = scripts[i].getAttribute('src') || '';
        if ((scriptTag.indexOf(src) >= 0) || 
            (scriptTag.indexOf('highcharts.src.js') > -1 && src === 'highcharts.js') ||
            ((scriptTag.indexOf('stock/highstock.js') > -1) && src === 'modules/highstock.js')) {
          return true;
        }
      }
    }
    return false;
  }

  function loadCSS() {
    var cssLength = externalCSS.length;
    for(var i=0; i < cssLength; i++) {
      var css = document.createElement('link');
      css.rel  = 'stylesheet';
      css.type = "text/css";
      css.href = externalCSS[i];
      document.body.appendChild(css);
    }
  }

  function allScriptsIncluded(){
    var allScripts = scripts.concat(extraScripts);
    var haveAllScriptsBeenIncluded = true;
    var scriptsToUse = document.getElementsByTagName("script");
    for(var n=0;n<allScripts.length;n++) {
      if (!isScriptAlreadyIncluded(allScripts[n], scriptsToUse)) {
        haveAllScriptsBeenIncluded = false;
        break;
      }
    }
    return haveAllScriptsBeenIncluded;
  }

  function createChart() {
    if(chartCreated) return;
    var hasProj4 = extraScripts.includes('https://cdnjs.cloudflare.com/ajax/libs/proj4js/2.3.6/proj4.js');
    if (!allScriptsIncluded() || 
      (hasProj4 && !window.proj4)) {
      setTimeout(createChart, 200);
      return;
    }  

    if (hasProj4) delayGen = 100;

    if (typeof window['Highcharts'] !== 'undefined') {
      

    if (options.yAxis && options.yAxis.length === 1) options.yAxis = options.yAxis[0];
    if (options.xAxis && options.xAxis.length === 1) options.xAxis = options.xAxis[0];
    if (options.zAxis && options.zAxis.length === 1) options.zAxis = options.zAxis[0];

    /*
// Sample of extending options:
Highcharts.merge(true, options, {
    chart: {
        backgroundColor: "#bada55"
    },
    plotOptions: {
        series: {
            cursor: "pointer",
            events: {
                click: function(event) {
                    alert(this.name + " clicked\n" +
                          "Alt: " + event.altKey + "\n" +
                          "Control: " + event.ctrlKey + "\n" +
                          "Shift: " + event.shiftKey + "\n");
                }
            }
        }
    }
});
*/


      if (options && (options.lang || options.global)) {
        Highcharts.setOptions({
          global: options.global || {},
          lang: options.lang || {}
        });
      }

      if (Highcharts.Annotation) {
        Highcharts.Annotation.ControlPoint.prototype.redraw = function (animation) {
          this.graphic[animation ? 'animate' : 'attr'](
              this.options.positioner ? this.options.positioner.call(this, this.target) : null
          );
        };
      }
      
      chartCreated = true;
      window.HighchartsCloud.hasLoaded = true; 
      setTimeout(function(){
        new Highcharts.Chart('highcharts-15scx89KJ', options);     
      }, delayGen);
    }
  }

  function check(scripts, cb) {
    if (loaded === scripts.length) {
      if (cb) {
        cb();
      } else {
        for (var i = 0; i < window.HighchartsCloud.ondone.length; i++) {
          try {
            window.HighchartsCloud.ondone[i]();
          } catch(e) {
            console.error(e);
          }
        }
      }
    }
  }

  function loadScript(s, scripts, cb) {
    if (!s) next();
    
    function next() {
      ++loaded;
      if (loaded < scripts.length) {
        loadScript(scripts[loaded], scripts, cb);
      }
      check(scripts, cb);
    }

    if (isScriptAlreadyIncluded(s)) {
      return next();
    }

    var n = document.createElement('script');

    n.onload = function () {
      next();
    };

    if (s.indexOf('https') >= 0) {
      n.src = s;
    } else {
      n.src = cdn + s;
    }
    document.body.appendChild(n);
  }

  function loadExtraScripts(){
    if (extraScripts.length > 0) {
      loaded = 0;
      loadScript(extraScripts[0], extraScripts);
    } else {
      check(scripts);
    }
  }

  function loadExtraScriptsAndMakeChart(){
    loaded = 0;
    loadCSS();
    if (extraScripts.length > 0) {
      loadScript(extraScripts[0], extraScripts, createChart);
    } else {
      check(extraScripts);
    }
  }

  if (typeof window['HighchartsCloud'] === 'undefined') {
    window.HighchartsCloud = {
      ondone: [createChart],
      hasWrapped: false,
      hasLoaded: false
    };

    loadScript(scripts[0], scripts, loadExtraScripts);
    loadCSS();

  } else {
    if (!window.HighchartsCloud.hasLoaded) window.HighchartsCloud.ondone.push(loadExtraScriptsAndMakeChart);
    else loadExtraScriptsAndMakeChart();
  }

}());
