'use strict';var _typeof2=typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"?function(obj){return typeof obj;}:function(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj;};/******/(function(modules){// webpackBootstrap
/******/// The module cache
/******/var installedModules={};/******//******/// The require function
/******/function __webpack_require__(moduleId){/******//******/// Check if module is in cache
/******/if(installedModules[moduleId]){/******/return installedModules[moduleId].exports;/******/}/******/// Create a new module (and put it into the cache)
/******/var module=installedModules[moduleId]={/******/i:moduleId,/******/l:false,/******/exports:{}/******/};/******//******/// Execute the module function
/******/modules[moduleId].call(module.exports,module,module.exports,__webpack_require__);/******//******/// Flag the module as loaded
/******/module.l=true;/******//******/// Return the exports of the module
/******/return module.exports;/******/}/******//******//******/// expose the modules object (__webpack_modules__)
/******/__webpack_require__.m=modules;/******//******/// expose the module cache
/******/__webpack_require__.c=installedModules;/******//******/// define getter function for harmony exports
/******/__webpack_require__.d=function(exports,name,getter){/******/if(!__webpack_require__.o(exports,name)){/******/Object.defineProperty(exports,name,{/******/configurable:false,/******/enumerable:true,/******/get:getter/******/});/******/}/******/};/******//******/// getDefaultExport function for compatibility with non-harmony modules
/******/__webpack_require__.n=function(module){/******/var getter=module&&module.__esModule?/******/function getDefault(){return module['default'];}:/******/function getModuleExports(){return module;};/******/__webpack_require__.d(getter,'a',getter);/******/return getter;/******/};/******//******/// Object.prototype.hasOwnProperty.call
/******/__webpack_require__.o=function(object,property){return Object.prototype.hasOwnProperty.call(object,property);};/******//******/// __webpack_public_path__
/******/__webpack_require__.p="";/******//******/// Load entry module and return exports
/******/return __webpack_require__(__webpack_require__.s=155);/******/})(/************************************************************************//******/[/* 0 *//***/function(module,exports,__webpack_require__){/* WEBPACK VAR INJECTION */(function(module){var require;//! moment.js
;(function(global,factory){true?module.exports=factory():typeof define==='function'&&define.amd?define(factory):global.moment=factory();})(this,function(){'use strict';var hookCallback;function hooks(){return hookCallback.apply(null,arguments);}// This is done to register the method called with moment()
// without creating circular dependencies.
function setHookCallback(callback){hookCallback=callback;}function isArray(input){return input instanceof Array||Object.prototype.toString.call(input)==='[object Array]';}function isObject(input){// IE8 will treat undefined and null as object if it wasn't for
// input != null
return input!=null&&Object.prototype.toString.call(input)==='[object Object]';}function isObjectEmpty(obj){if(Object.getOwnPropertyNames){return Object.getOwnPropertyNames(obj).length===0;}else{var k;for(k in obj){if(obj.hasOwnProperty(k)){return false;}}return true;}}function isUndefined(input){return input===void 0;}function isNumber(input){return typeof input==='number'||Object.prototype.toString.call(input)==='[object Number]';}function isDate(input){return input instanceof Date||Object.prototype.toString.call(input)==='[object Date]';}function map(arr,fn){var res=[],i;for(i=0;i<arr.length;++i){res.push(fn(arr[i],i));}return res;}function hasOwnProp(a,b){return Object.prototype.hasOwnProperty.call(a,b);}function extend(a,b){for(var i in b){if(hasOwnProp(b,i)){a[i]=b[i];}}if(hasOwnProp(b,'toString')){a.toString=b.toString;}if(hasOwnProp(b,'valueOf')){a.valueOf=b.valueOf;}return a;}function createUTC(input,format,locale,strict){return createLocalOrUTC(input,format,locale,strict,true).utc();}function defaultParsingFlags(){// We need to deep clone this object.
return{empty:false,unusedTokens:[],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:false,invalidMonth:null,invalidFormat:false,userInvalidated:false,iso:false,parsedDateParts:[],meridiem:null,rfc2822:false,weekdayMismatch:false};}function getParsingFlags(m){if(m._pf==null){m._pf=defaultParsingFlags();}return m._pf;}var some;if(Array.prototype.some){some=Array.prototype.some;}else{some=function some(fun){var t=Object(this);var len=t.length>>>0;for(var i=0;i<len;i++){if(i in t&&fun.call(this,t[i],i,t)){return true;}}return false;};}function isValid(m){if(m._isValid==null){var flags=getParsingFlags(m);var parsedParts=some.call(flags.parsedDateParts,function(i){return i!=null;});var isNowValid=!isNaN(m._d.getTime())&&flags.overflow<0&&!flags.empty&&!flags.invalidMonth&&!flags.invalidWeekday&&!flags.weekdayMismatch&&!flags.nullInput&&!flags.invalidFormat&&!flags.userInvalidated&&(!flags.meridiem||flags.meridiem&&parsedParts);if(m._strict){isNowValid=isNowValid&&flags.charsLeftOver===0&&flags.unusedTokens.length===0&&flags.bigHour===undefined;}if(Object.isFrozen==null||!Object.isFrozen(m)){m._isValid=isNowValid;}else{return isNowValid;}}return m._isValid;}function createInvalid(flags){var m=createUTC(NaN);if(flags!=null){extend(getParsingFlags(m),flags);}else{getParsingFlags(m).userInvalidated=true;}return m;}// Plugins that add properties should also add the key here (null value),
// so we can properly clone ourselves.
var momentProperties=hooks.momentProperties=[];function copyConfig(to,from){var i,prop,val;if(!isUndefined(from._isAMomentObject)){to._isAMomentObject=from._isAMomentObject;}if(!isUndefined(from._i)){to._i=from._i;}if(!isUndefined(from._f)){to._f=from._f;}if(!isUndefined(from._l)){to._l=from._l;}if(!isUndefined(from._strict)){to._strict=from._strict;}if(!isUndefined(from._tzm)){to._tzm=from._tzm;}if(!isUndefined(from._isUTC)){to._isUTC=from._isUTC;}if(!isUndefined(from._offset)){to._offset=from._offset;}if(!isUndefined(from._pf)){to._pf=getParsingFlags(from);}if(!isUndefined(from._locale)){to._locale=from._locale;}if(momentProperties.length>0){for(i=0;i<momentProperties.length;i++){prop=momentProperties[i];val=from[prop];if(!isUndefined(val)){to[prop]=val;}}}return to;}var updateInProgress=false;// Moment prototype object
function Moment(config){copyConfig(this,config);this._d=new Date(config._d!=null?config._d.getTime():NaN);if(!this.isValid()){this._d=new Date(NaN);}// Prevent infinite loop in case updateOffset creates new moment
// objects.
if(updateInProgress===false){updateInProgress=true;hooks.updateOffset(this);updateInProgress=false;}}function isMoment(obj){return obj instanceof Moment||obj!=null&&obj._isAMomentObject!=null;}function absFloor(number){if(number<0){// -0 -> 0
return Math.ceil(number)||0;}else{return Math.floor(number);}}function toInt(argumentForCoercion){var coercedNumber=+argumentForCoercion,value=0;if(coercedNumber!==0&&isFinite(coercedNumber)){value=absFloor(coercedNumber);}return value;}// compare two arrays, return the number of differences
function compareArrays(array1,array2,dontConvert){var len=Math.min(array1.length,array2.length),lengthDiff=Math.abs(array1.length-array2.length),diffs=0,i;for(i=0;i<len;i++){if(dontConvert&&array1[i]!==array2[i]||!dontConvert&&toInt(array1[i])!==toInt(array2[i])){diffs++;}}return diffs+lengthDiff;}function warn(msg){if(hooks.suppressDeprecationWarnings===false&&typeof console!=='undefined'&&console.warn){console.warn('Deprecation warning: '+msg);}}function deprecate(msg,fn){var firstTime=true;return extend(function(){if(hooks.deprecationHandler!=null){hooks.deprecationHandler(null,msg);}if(firstTime){var args=[];var arg;for(var i=0;i<arguments.length;i++){arg='';if(_typeof2(arguments[i])==='object'){arg+='\n['+i+'] ';for(var key in arguments[0]){arg+=key+': '+arguments[0][key]+', ';}arg=arg.slice(0,-2);// Remove trailing comma and space
}else{arg=arguments[i];}args.push(arg);}warn(msg+'\nArguments: '+Array.prototype.slice.call(args).join('')+'\n'+new Error().stack);firstTime=false;}return fn.apply(this,arguments);},fn);}var deprecations={};function deprecateSimple(name,msg){if(hooks.deprecationHandler!=null){hooks.deprecationHandler(name,msg);}if(!deprecations[name]){warn(msg);deprecations[name]=true;}}hooks.suppressDeprecationWarnings=false;hooks.deprecationHandler=null;function isFunction(input){return input instanceof Function||Object.prototype.toString.call(input)==='[object Function]';}function set(config){var prop,i;for(i in config){prop=config[i];if(isFunction(prop)){this[i]=prop;}else{this['_'+i]=prop;}}this._config=config;// Lenient ordinal parsing accepts just a number in addition to
// number + (possibly) stuff coming from _dayOfMonthOrdinalParse.
// TODO: Remove "ordinalParse" fallback in next major release.
this._dayOfMonthOrdinalParseLenient=new RegExp((this._dayOfMonthOrdinalParse.source||this._ordinalParse.source)+'|'+/\d{1,2}/.source);}function mergeConfigs(parentConfig,childConfig){var res=extend({},parentConfig),prop;for(prop in childConfig){if(hasOwnProp(childConfig,prop)){if(isObject(parentConfig[prop])&&isObject(childConfig[prop])){res[prop]={};extend(res[prop],parentConfig[prop]);extend(res[prop],childConfig[prop]);}else if(childConfig[prop]!=null){res[prop]=childConfig[prop];}else{delete res[prop];}}}for(prop in parentConfig){if(hasOwnProp(parentConfig,prop)&&!hasOwnProp(childConfig,prop)&&isObject(parentConfig[prop])){// make sure changes to properties don't modify parent config
res[prop]=extend({},res[prop]);}}return res;}function Locale(config){if(config!=null){this.set(config);}}var keys;if(Object.keys){keys=Object.keys;}else{keys=function keys(obj){var i,res=[];for(i in obj){if(hasOwnProp(obj,i)){res.push(i);}}return res;};}var defaultCalendar={sameDay:'[Today at] LT',nextDay:'[Tomorrow at] LT',nextWeek:'dddd [at] LT',lastDay:'[Yesterday at] LT',lastWeek:'[Last] dddd [at] LT',sameElse:'L'};function calendar(key,mom,now){var output=this._calendar[key]||this._calendar['sameElse'];return isFunction(output)?output.call(mom,now):output;}var defaultLongDateFormat={LTS:'h:mm:ss A',LT:'h:mm A',L:'MM/DD/YYYY',LL:'MMMM D, YYYY',LLL:'MMMM D, YYYY h:mm A',LLLL:'dddd, MMMM D, YYYY h:mm A'};function longDateFormat(key){var format=this._longDateFormat[key],formatUpper=this._longDateFormat[key.toUpperCase()];if(format||!formatUpper){return format;}this._longDateFormat[key]=formatUpper.replace(/MMMM|MM|DD|dddd/g,function(val){return val.slice(1);});return this._longDateFormat[key];}var defaultInvalidDate='Invalid date';function invalidDate(){return this._invalidDate;}var defaultOrdinal='%d';var defaultDayOfMonthOrdinalParse=/\d{1,2}/;function ordinal(number){return this._ordinal.replace('%d',number);}var defaultRelativeTime={future:'in %s',past:'%s ago',s:'a few seconds',ss:'%d seconds',m:'a minute',mm:'%d minutes',h:'an hour',hh:'%d hours',d:'a day',dd:'%d days',M:'a month',MM:'%d months',y:'a year',yy:'%d years'};function relativeTime(number,withoutSuffix,string,isFuture){var output=this._relativeTime[string];return isFunction(output)?output(number,withoutSuffix,string,isFuture):output.replace(/%d/i,number);}function pastFuture(diff,output){var format=this._relativeTime[diff>0?'future':'past'];return isFunction(format)?format(output):format.replace(/%s/i,output);}var aliases={};function addUnitAlias(unit,shorthand){var lowerCase=unit.toLowerCase();aliases[lowerCase]=aliases[lowerCase+'s']=aliases[shorthand]=unit;}function normalizeUnits(units){return typeof units==='string'?aliases[units]||aliases[units.toLowerCase()]:undefined;}function normalizeObjectUnits(inputObject){var normalizedInput={},normalizedProp,prop;for(prop in inputObject){if(hasOwnProp(inputObject,prop)){normalizedProp=normalizeUnits(prop);if(normalizedProp){normalizedInput[normalizedProp]=inputObject[prop];}}}return normalizedInput;}var priorities={};function addUnitPriority(unit,priority){priorities[unit]=priority;}function getPrioritizedUnits(unitsObj){var units=[];for(var u in unitsObj){units.push({unit:u,priority:priorities[u]});}units.sort(function(a,b){return a.priority-b.priority;});return units;}function zeroFill(number,targetLength,forceSign){var absNumber=''+Math.abs(number),zerosToFill=targetLength-absNumber.length,sign=number>=0;return(sign?forceSign?'+':'':'-')+Math.pow(10,Math.max(0,zerosToFill)).toString().substr(1)+absNumber;}var formattingTokens=/(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g;var localFormattingTokens=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g;var formatFunctions={};var formatTokenFunctions={};// token:    'M'
// padded:   ['MM', 2]
// ordinal:  'Mo'
// callback: function () { this.month() + 1 }
function addFormatToken(token,padded,ordinal,callback){var func=callback;if(typeof callback==='string'){func=function func(){return this[callback]();};}if(token){formatTokenFunctions[token]=func;}if(padded){formatTokenFunctions[padded[0]]=function(){return zeroFill(func.apply(this,arguments),padded[1],padded[2]);};}if(ordinal){formatTokenFunctions[ordinal]=function(){return this.localeData().ordinal(func.apply(this,arguments),token);};}}function removeFormattingTokens(input){if(input.match(/\[[\s\S]/)){return input.replace(/^\[|\]$/g,'');}return input.replace(/\\/g,'');}function makeFormatFunction(format){var array=format.match(formattingTokens),i,length;for(i=0,length=array.length;i<length;i++){if(formatTokenFunctions[array[i]]){array[i]=formatTokenFunctions[array[i]];}else{array[i]=removeFormattingTokens(array[i]);}}return function(mom){var output='',i;for(i=0;i<length;i++){output+=isFunction(array[i])?array[i].call(mom,format):array[i];}return output;};}// format date using native date object
function formatMoment(m,format){if(!m.isValid()){return m.localeData().invalidDate();}format=expandFormat(format,m.localeData());formatFunctions[format]=formatFunctions[format]||makeFormatFunction(format);return formatFunctions[format](m);}function expandFormat(format,locale){var i=5;function replaceLongDateFormatTokens(input){return locale.longDateFormat(input)||input;}localFormattingTokens.lastIndex=0;while(i>=0&&localFormattingTokens.test(format)){format=format.replace(localFormattingTokens,replaceLongDateFormatTokens);localFormattingTokens.lastIndex=0;i-=1;}return format;}var match1=/\d/;//       0 - 9
var match2=/\d\d/;//      00 - 99
var match3=/\d{3}/;//     000 - 999
var match4=/\d{4}/;//    0000 - 9999
var match6=/[+-]?\d{6}/;// -999999 - 999999
var match1to2=/\d\d?/;//       0 - 99
var match3to4=/\d\d\d\d?/;//     999 - 9999
var match5to6=/\d\d\d\d\d\d?/;//   99999 - 999999
var match1to3=/\d{1,3}/;//       0 - 999
var match1to4=/\d{1,4}/;//       0 - 9999
var match1to6=/[+-]?\d{1,6}/;// -999999 - 999999
var matchUnsigned=/\d+/;//       0 - inf
var matchSigned=/[+-]?\d+/;//    -inf - inf
var matchOffset=/Z|[+-]\d\d:?\d\d/gi;// +00:00 -00:00 +0000 -0000 or Z
var matchShortOffset=/Z|[+-]\d\d(?::?\d\d)?/gi;// +00 -00 +00:00 -00:00 +0000 -0000 or Z
var matchTimestamp=/[+-]?\d+(\.\d{1,3})?/;// 123456789 123456789.123
// any word (or two) characters or numbers including two/three word month in arabic.
// includes scottish gaelic two word and hyphenated months
var matchWord=/[0-9]{0,256}['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFF07\uFF10-\uFFEF]{1,256}|[\u0600-\u06FF\/]{1,256}(\s*?[\u0600-\u06FF]{1,256}){1,2}/i;var regexes={};function addRegexToken(token,regex,strictRegex){regexes[token]=isFunction(regex)?regex:function(isStrict,localeData){return isStrict&&strictRegex?strictRegex:regex;};}function getParseRegexForToken(token,config){if(!hasOwnProp(regexes,token)){return new RegExp(unescapeFormat(token));}return regexes[token](config._strict,config._locale);}// Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript
function unescapeFormat(s){return regexEscape(s.replace('\\','').replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(matched,p1,p2,p3,p4){return p1||p2||p3||p4;}));}function regexEscape(s){return s.replace(/[-\/\\^$*+?.()|[\]{}]/g,'\\$&');}var tokens={};function addParseToken(token,callback){var i,func=callback;if(typeof token==='string'){token=[token];}if(isNumber(callback)){func=function func(input,array){array[callback]=toInt(input);};}for(i=0;i<token.length;i++){tokens[token[i]]=func;}}function addWeekParseToken(token,callback){addParseToken(token,function(input,array,config,token){config._w=config._w||{};callback(input,config._w,config,token);});}function addTimeToArrayFromToken(token,input,config){if(input!=null&&hasOwnProp(tokens,token)){tokens[token](input,config._a,config,token);}}var YEAR=0;var MONTH=1;var DATE=2;var HOUR=3;var MINUTE=4;var SECOND=5;var MILLISECOND=6;var WEEK=7;var WEEKDAY=8;// FORMATTING
addFormatToken('Y',0,0,function(){var y=this.year();return y<=9999?''+y:'+'+y;});addFormatToken(0,['YY',2],0,function(){return this.year()%100;});addFormatToken(0,['YYYY',4],0,'year');addFormatToken(0,['YYYYY',5],0,'year');addFormatToken(0,['YYYYYY',6,true],0,'year');// ALIASES
addUnitAlias('year','y');// PRIORITIES
addUnitPriority('year',1);// PARSING
addRegexToken('Y',matchSigned);addRegexToken('YY',match1to2,match2);addRegexToken('YYYY',match1to4,match4);addRegexToken('YYYYY',match1to6,match6);addRegexToken('YYYYYY',match1to6,match6);addParseToken(['YYYYY','YYYYYY'],YEAR);addParseToken('YYYY',function(input,array){array[YEAR]=input.length===2?hooks.parseTwoDigitYear(input):toInt(input);});addParseToken('YY',function(input,array){array[YEAR]=hooks.parseTwoDigitYear(input);});addParseToken('Y',function(input,array){array[YEAR]=parseInt(input,10);});// HELPERS
function daysInYear(year){return isLeapYear(year)?366:365;}function isLeapYear(year){return year%4===0&&year%100!==0||year%400===0;}// HOOKS
hooks.parseTwoDigitYear=function(input){return toInt(input)+(toInt(input)>68?1900:2000);};// MOMENTS
var getSetYear=makeGetSet('FullYear',true);function getIsLeapYear(){return isLeapYear(this.year());}function makeGetSet(unit,keepTime){return function(value){if(value!=null){set$1(this,unit,value);hooks.updateOffset(this,keepTime);return this;}else{return get(this,unit);}};}function get(mom,unit){return mom.isValid()?mom._d['get'+(mom._isUTC?'UTC':'')+unit]():NaN;}function set$1(mom,unit,value){if(mom.isValid()&&!isNaN(value)){if(unit==='FullYear'&&isLeapYear(mom.year())&&mom.month()===1&&mom.date()===29){mom._d['set'+(mom._isUTC?'UTC':'')+unit](value,mom.month(),daysInMonth(value,mom.month()));}else{mom._d['set'+(mom._isUTC?'UTC':'')+unit](value);}}}// MOMENTS
function stringGet(units){units=normalizeUnits(units);if(isFunction(this[units])){return this[units]();}return this;}function stringSet(units,value){if((typeof units==='undefined'?'undefined':_typeof2(units))==='object'){units=normalizeObjectUnits(units);var prioritized=getPrioritizedUnits(units);for(var i=0;i<prioritized.length;i++){this[prioritized[i].unit](units[prioritized[i].unit]);}}else{units=normalizeUnits(units);if(isFunction(this[units])){return this[units](value);}}return this;}function mod(n,x){return(n%x+x)%x;}var indexOf;if(Array.prototype.indexOf){indexOf=Array.prototype.indexOf;}else{indexOf=function indexOf(o){// I know
var i;for(i=0;i<this.length;++i){if(this[i]===o){return i;}}return-1;};}function daysInMonth(year,month){if(isNaN(year)||isNaN(month)){return NaN;}var modMonth=mod(month,12);year+=(month-modMonth)/12;return modMonth===1?isLeapYear(year)?29:28:31-modMonth%7%2;}// FORMATTING
addFormatToken('M',['MM',2],'Mo',function(){return this.month()+1;});addFormatToken('MMM',0,0,function(format){return this.localeData().monthsShort(this,format);});addFormatToken('MMMM',0,0,function(format){return this.localeData().months(this,format);});// ALIASES
addUnitAlias('month','M');// PRIORITY
addUnitPriority('month',8);// PARSING
addRegexToken('M',match1to2);addRegexToken('MM',match1to2,match2);addRegexToken('MMM',function(isStrict,locale){return locale.monthsShortRegex(isStrict);});addRegexToken('MMMM',function(isStrict,locale){return locale.monthsRegex(isStrict);});addParseToken(['M','MM'],function(input,array){array[MONTH]=toInt(input)-1;});addParseToken(['MMM','MMMM'],function(input,array,config,token){var month=config._locale.monthsParse(input,token,config._strict);// if we didn't find a month name, mark the date as invalid.
if(month!=null){array[MONTH]=month;}else{getParsingFlags(config).invalidMonth=input;}});// LOCALES
var MONTHS_IN_FORMAT=/D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/;var defaultLocaleMonths='January_February_March_April_May_June_July_August_September_October_November_December'.split('_');function localeMonths(m,format){if(!m){return isArray(this._months)?this._months:this._months['standalone'];}return isArray(this._months)?this._months[m.month()]:this._months[(this._months.isFormat||MONTHS_IN_FORMAT).test(format)?'format':'standalone'][m.month()];}var defaultLocaleMonthsShort='Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_');function localeMonthsShort(m,format){if(!m){return isArray(this._monthsShort)?this._monthsShort:this._monthsShort['standalone'];}return isArray(this._monthsShort)?this._monthsShort[m.month()]:this._monthsShort[MONTHS_IN_FORMAT.test(format)?'format':'standalone'][m.month()];}function handleStrictParse(monthName,format,strict){var i,ii,mom,llc=monthName.toLocaleLowerCase();if(!this._monthsParse){// this is not used
this._monthsParse=[];this._longMonthsParse=[];this._shortMonthsParse=[];for(i=0;i<12;++i){mom=createUTC([2000,i]);this._shortMonthsParse[i]=this.monthsShort(mom,'').toLocaleLowerCase();this._longMonthsParse[i]=this.months(mom,'').toLocaleLowerCase();}}if(strict){if(format==='MMM'){ii=indexOf.call(this._shortMonthsParse,llc);return ii!==-1?ii:null;}else{ii=indexOf.call(this._longMonthsParse,llc);return ii!==-1?ii:null;}}else{if(format==='MMM'){ii=indexOf.call(this._shortMonthsParse,llc);if(ii!==-1){return ii;}ii=indexOf.call(this._longMonthsParse,llc);return ii!==-1?ii:null;}else{ii=indexOf.call(this._longMonthsParse,llc);if(ii!==-1){return ii;}ii=indexOf.call(this._shortMonthsParse,llc);return ii!==-1?ii:null;}}}function localeMonthsParse(monthName,format,strict){var i,mom,regex;if(this._monthsParseExact){return handleStrictParse.call(this,monthName,format,strict);}if(!this._monthsParse){this._monthsParse=[];this._longMonthsParse=[];this._shortMonthsParse=[];}// TODO: add sorting
// Sorting makes sure if one month (or abbr) is a prefix of another
// see sorting in computeMonthsParse
for(i=0;i<12;i++){// make the regex if we don't have it already
mom=createUTC([2000,i]);if(strict&&!this._longMonthsParse[i]){this._longMonthsParse[i]=new RegExp('^'+this.months(mom,'').replace('.','')+'$','i');this._shortMonthsParse[i]=new RegExp('^'+this.monthsShort(mom,'').replace('.','')+'$','i');}if(!strict&&!this._monthsParse[i]){regex='^'+this.months(mom,'')+'|^'+this.monthsShort(mom,'');this._monthsParse[i]=new RegExp(regex.replace('.',''),'i');}// test the regex
if(strict&&format==='MMMM'&&this._longMonthsParse[i].test(monthName)){return i;}else if(strict&&format==='MMM'&&this._shortMonthsParse[i].test(monthName)){return i;}else if(!strict&&this._monthsParse[i].test(monthName)){return i;}}}// MOMENTS
function setMonth(mom,value){var dayOfMonth;if(!mom.isValid()){// No op
return mom;}if(typeof value==='string'){if(/^\d+$/.test(value)){value=toInt(value);}else{value=mom.localeData().monthsParse(value);// TODO: Another silent failure?
if(!isNumber(value)){return mom;}}}dayOfMonth=Math.min(mom.date(),daysInMonth(mom.year(),value));mom._d['set'+(mom._isUTC?'UTC':'')+'Month'](value,dayOfMonth);return mom;}function getSetMonth(value){if(value!=null){setMonth(this,value);hooks.updateOffset(this,true);return this;}else{return get(this,'Month');}}function getDaysInMonth(){return daysInMonth(this.year(),this.month());}var defaultMonthsShortRegex=matchWord;function monthsShortRegex(isStrict){if(this._monthsParseExact){if(!hasOwnProp(this,'_monthsRegex')){computeMonthsParse.call(this);}if(isStrict){return this._monthsShortStrictRegex;}else{return this._monthsShortRegex;}}else{if(!hasOwnProp(this,'_monthsShortRegex')){this._monthsShortRegex=defaultMonthsShortRegex;}return this._monthsShortStrictRegex&&isStrict?this._monthsShortStrictRegex:this._monthsShortRegex;}}var defaultMonthsRegex=matchWord;function monthsRegex(isStrict){if(this._monthsParseExact){if(!hasOwnProp(this,'_monthsRegex')){computeMonthsParse.call(this);}if(isStrict){return this._monthsStrictRegex;}else{return this._monthsRegex;}}else{if(!hasOwnProp(this,'_monthsRegex')){this._monthsRegex=defaultMonthsRegex;}return this._monthsStrictRegex&&isStrict?this._monthsStrictRegex:this._monthsRegex;}}function computeMonthsParse(){function cmpLenRev(a,b){return b.length-a.length;}var shortPieces=[],longPieces=[],mixedPieces=[],i,mom;for(i=0;i<12;i++){// make the regex if we don't have it already
mom=createUTC([2000,i]);shortPieces.push(this.monthsShort(mom,''));longPieces.push(this.months(mom,''));mixedPieces.push(this.months(mom,''));mixedPieces.push(this.monthsShort(mom,''));}// Sorting makes sure if one month (or abbr) is a prefix of another it
// will match the longer piece.
shortPieces.sort(cmpLenRev);longPieces.sort(cmpLenRev);mixedPieces.sort(cmpLenRev);for(i=0;i<12;i++){shortPieces[i]=regexEscape(shortPieces[i]);longPieces[i]=regexEscape(longPieces[i]);}for(i=0;i<24;i++){mixedPieces[i]=regexEscape(mixedPieces[i]);}this._monthsRegex=new RegExp('^('+mixedPieces.join('|')+')','i');this._monthsShortRegex=this._monthsRegex;this._monthsStrictRegex=new RegExp('^('+longPieces.join('|')+')','i');this._monthsShortStrictRegex=new RegExp('^('+shortPieces.join('|')+')','i');}function createDate(y,m,d,h,M,s,ms){// can't just apply() to create a date:
// https://stackoverflow.com/q/181348
var date=new Date(y,m,d,h,M,s,ms);// the date constructor remaps years 0-99 to 1900-1999
if(y<100&&y>=0&&isFinite(date.getFullYear())){date.setFullYear(y);}return date;}function createUTCDate(y){var date=new Date(Date.UTC.apply(null,arguments));// the Date.UTC function remaps years 0-99 to 1900-1999
if(y<100&&y>=0&&isFinite(date.getUTCFullYear())){date.setUTCFullYear(y);}return date;}// start-of-first-week - start-of-year
function firstWeekOffset(year,dow,doy){var// first-week day -- which january is always in the first week (4 for iso, 1 for other)
fwd=7+dow-doy,// first-week day local weekday -- which local weekday is fwd
fwdlw=(7+createUTCDate(year,0,fwd).getUTCDay()-dow)%7;return-fwdlw+fwd-1;}// https://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday
function dayOfYearFromWeeks(year,week,weekday,dow,doy){var localWeekday=(7+weekday-dow)%7,weekOffset=firstWeekOffset(year,dow,doy),dayOfYear=1+7*(week-1)+localWeekday+weekOffset,resYear,resDayOfYear;if(dayOfYear<=0){resYear=year-1;resDayOfYear=daysInYear(resYear)+dayOfYear;}else if(dayOfYear>daysInYear(year)){resYear=year+1;resDayOfYear=dayOfYear-daysInYear(year);}else{resYear=year;resDayOfYear=dayOfYear;}return{year:resYear,dayOfYear:resDayOfYear};}function weekOfYear(mom,dow,doy){var weekOffset=firstWeekOffset(mom.year(),dow,doy),week=Math.floor((mom.dayOfYear()-weekOffset-1)/7)+1,resWeek,resYear;if(week<1){resYear=mom.year()-1;resWeek=week+weeksInYear(resYear,dow,doy);}else if(week>weeksInYear(mom.year(),dow,doy)){resWeek=week-weeksInYear(mom.year(),dow,doy);resYear=mom.year()+1;}else{resYear=mom.year();resWeek=week;}return{week:resWeek,year:resYear};}function weeksInYear(year,dow,doy){var weekOffset=firstWeekOffset(year,dow,doy),weekOffsetNext=firstWeekOffset(year+1,dow,doy);return(daysInYear(year)-weekOffset+weekOffsetNext)/7;}// FORMATTING
addFormatToken('w',['ww',2],'wo','week');addFormatToken('W',['WW',2],'Wo','isoWeek');// ALIASES
addUnitAlias('week','w');addUnitAlias('isoWeek','W');// PRIORITIES
addUnitPriority('week',5);addUnitPriority('isoWeek',5);// PARSING
addRegexToken('w',match1to2);addRegexToken('ww',match1to2,match2);addRegexToken('W',match1to2);addRegexToken('WW',match1to2,match2);addWeekParseToken(['w','ww','W','WW'],function(input,week,config,token){week[token.substr(0,1)]=toInt(input);});// HELPERS
// LOCALES
function localeWeek(mom){return weekOfYear(mom,this._week.dow,this._week.doy).week;}var defaultLocaleWeek={dow:0,// Sunday is the first day of the week.
doy:6// The week that contains Jan 6th is the first week of the year.
};function localeFirstDayOfWeek(){return this._week.dow;}function localeFirstDayOfYear(){return this._week.doy;}// MOMENTS
function getSetWeek(input){var week=this.localeData().week(this);return input==null?week:this.add((input-week)*7,'d');}function getSetISOWeek(input){var week=weekOfYear(this,1,4).week;return input==null?week:this.add((input-week)*7,'d');}// FORMATTING
addFormatToken('d',0,'do','day');addFormatToken('dd',0,0,function(format){return this.localeData().weekdaysMin(this,format);});addFormatToken('ddd',0,0,function(format){return this.localeData().weekdaysShort(this,format);});addFormatToken('dddd',0,0,function(format){return this.localeData().weekdays(this,format);});addFormatToken('e',0,0,'weekday');addFormatToken('E',0,0,'isoWeekday');// ALIASES
addUnitAlias('day','d');addUnitAlias('weekday','e');addUnitAlias('isoWeekday','E');// PRIORITY
addUnitPriority('day',11);addUnitPriority('weekday',11);addUnitPriority('isoWeekday',11);// PARSING
addRegexToken('d',match1to2);addRegexToken('e',match1to2);addRegexToken('E',match1to2);addRegexToken('dd',function(isStrict,locale){return locale.weekdaysMinRegex(isStrict);});addRegexToken('ddd',function(isStrict,locale){return locale.weekdaysShortRegex(isStrict);});addRegexToken('dddd',function(isStrict,locale){return locale.weekdaysRegex(isStrict);});addWeekParseToken(['dd','ddd','dddd'],function(input,week,config,token){var weekday=config._locale.weekdaysParse(input,token,config._strict);// if we didn't get a weekday name, mark the date as invalid
if(weekday!=null){week.d=weekday;}else{getParsingFlags(config).invalidWeekday=input;}});addWeekParseToken(['d','e','E'],function(input,week,config,token){week[token]=toInt(input);});// HELPERS
function parseWeekday(input,locale){if(typeof input!=='string'){return input;}if(!isNaN(input)){return parseInt(input,10);}input=locale.weekdaysParse(input);if(typeof input==='number'){return input;}return null;}function parseIsoWeekday(input,locale){if(typeof input==='string'){return locale.weekdaysParse(input)%7||7;}return isNaN(input)?null:input;}// LOCALES
var defaultLocaleWeekdays='Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_');function localeWeekdays(m,format){if(!m){return isArray(this._weekdays)?this._weekdays:this._weekdays['standalone'];}return isArray(this._weekdays)?this._weekdays[m.day()]:this._weekdays[this._weekdays.isFormat.test(format)?'format':'standalone'][m.day()];}var defaultLocaleWeekdaysShort='Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_');function localeWeekdaysShort(m){return m?this._weekdaysShort[m.day()]:this._weekdaysShort;}var defaultLocaleWeekdaysMin='Su_Mo_Tu_We_Th_Fr_Sa'.split('_');function localeWeekdaysMin(m){return m?this._weekdaysMin[m.day()]:this._weekdaysMin;}function handleStrictParse$1(weekdayName,format,strict){var i,ii,mom,llc=weekdayName.toLocaleLowerCase();if(!this._weekdaysParse){this._weekdaysParse=[];this._shortWeekdaysParse=[];this._minWeekdaysParse=[];for(i=0;i<7;++i){mom=createUTC([2000,1]).day(i);this._minWeekdaysParse[i]=this.weekdaysMin(mom,'').toLocaleLowerCase();this._shortWeekdaysParse[i]=this.weekdaysShort(mom,'').toLocaleLowerCase();this._weekdaysParse[i]=this.weekdays(mom,'').toLocaleLowerCase();}}if(strict){if(format==='dddd'){ii=indexOf.call(this._weekdaysParse,llc);return ii!==-1?ii:null;}else if(format==='ddd'){ii=indexOf.call(this._shortWeekdaysParse,llc);return ii!==-1?ii:null;}else{ii=indexOf.call(this._minWeekdaysParse,llc);return ii!==-1?ii:null;}}else{if(format==='dddd'){ii=indexOf.call(this._weekdaysParse,llc);if(ii!==-1){return ii;}ii=indexOf.call(this._shortWeekdaysParse,llc);if(ii!==-1){return ii;}ii=indexOf.call(this._minWeekdaysParse,llc);return ii!==-1?ii:null;}else if(format==='ddd'){ii=indexOf.call(this._shortWeekdaysParse,llc);if(ii!==-1){return ii;}ii=indexOf.call(this._weekdaysParse,llc);if(ii!==-1){return ii;}ii=indexOf.call(this._minWeekdaysParse,llc);return ii!==-1?ii:null;}else{ii=indexOf.call(this._minWeekdaysParse,llc);if(ii!==-1){return ii;}ii=indexOf.call(this._weekdaysParse,llc);if(ii!==-1){return ii;}ii=indexOf.call(this._shortWeekdaysParse,llc);return ii!==-1?ii:null;}}}function localeWeekdaysParse(weekdayName,format,strict){var i,mom,regex;if(this._weekdaysParseExact){return handleStrictParse$1.call(this,weekdayName,format,strict);}if(!this._weekdaysParse){this._weekdaysParse=[];this._minWeekdaysParse=[];this._shortWeekdaysParse=[];this._fullWeekdaysParse=[];}for(i=0;i<7;i++){// make the regex if we don't have it already
mom=createUTC([2000,1]).day(i);if(strict&&!this._fullWeekdaysParse[i]){this._fullWeekdaysParse[i]=new RegExp('^'+this.weekdays(mom,'').replace('.','\\.?')+'$','i');this._shortWeekdaysParse[i]=new RegExp('^'+this.weekdaysShort(mom,'').replace('.','\\.?')+'$','i');this._minWeekdaysParse[i]=new RegExp('^'+this.weekdaysMin(mom,'').replace('.','\\.?')+'$','i');}if(!this._weekdaysParse[i]){regex='^'+this.weekdays(mom,'')+'|^'+this.weekdaysShort(mom,'')+'|^'+this.weekdaysMin(mom,'');this._weekdaysParse[i]=new RegExp(regex.replace('.',''),'i');}// test the regex
if(strict&&format==='dddd'&&this._fullWeekdaysParse[i].test(weekdayName)){return i;}else if(strict&&format==='ddd'&&this._shortWeekdaysParse[i].test(weekdayName)){return i;}else if(strict&&format==='dd'&&this._minWeekdaysParse[i].test(weekdayName)){return i;}else if(!strict&&this._weekdaysParse[i].test(weekdayName)){return i;}}}// MOMENTS
function getSetDayOfWeek(input){if(!this.isValid()){return input!=null?this:NaN;}var day=this._isUTC?this._d.getUTCDay():this._d.getDay();if(input!=null){input=parseWeekday(input,this.localeData());return this.add(input-day,'d');}else{return day;}}function getSetLocaleDayOfWeek(input){if(!this.isValid()){return input!=null?this:NaN;}var weekday=(this.day()+7-this.localeData()._week.dow)%7;return input==null?weekday:this.add(input-weekday,'d');}function getSetISODayOfWeek(input){if(!this.isValid()){return input!=null?this:NaN;}// behaves the same as moment#day except
// as a getter, returns 7 instead of 0 (1-7 range instead of 0-6)
// as a setter, sunday should belong to the previous week.
if(input!=null){var weekday=parseIsoWeekday(input,this.localeData());return this.day(this.day()%7?weekday:weekday-7);}else{return this.day()||7;}}var defaultWeekdaysRegex=matchWord;function weekdaysRegex(isStrict){if(this._weekdaysParseExact){if(!hasOwnProp(this,'_weekdaysRegex')){computeWeekdaysParse.call(this);}if(isStrict){return this._weekdaysStrictRegex;}else{return this._weekdaysRegex;}}else{if(!hasOwnProp(this,'_weekdaysRegex')){this._weekdaysRegex=defaultWeekdaysRegex;}return this._weekdaysStrictRegex&&isStrict?this._weekdaysStrictRegex:this._weekdaysRegex;}}var defaultWeekdaysShortRegex=matchWord;function weekdaysShortRegex(isStrict){if(this._weekdaysParseExact){if(!hasOwnProp(this,'_weekdaysRegex')){computeWeekdaysParse.call(this);}if(isStrict){return this._weekdaysShortStrictRegex;}else{return this._weekdaysShortRegex;}}else{if(!hasOwnProp(this,'_weekdaysShortRegex')){this._weekdaysShortRegex=defaultWeekdaysShortRegex;}return this._weekdaysShortStrictRegex&&isStrict?this._weekdaysShortStrictRegex:this._weekdaysShortRegex;}}var defaultWeekdaysMinRegex=matchWord;function weekdaysMinRegex(isStrict){if(this._weekdaysParseExact){if(!hasOwnProp(this,'_weekdaysRegex')){computeWeekdaysParse.call(this);}if(isStrict){return this._weekdaysMinStrictRegex;}else{return this._weekdaysMinRegex;}}else{if(!hasOwnProp(this,'_weekdaysMinRegex')){this._weekdaysMinRegex=defaultWeekdaysMinRegex;}return this._weekdaysMinStrictRegex&&isStrict?this._weekdaysMinStrictRegex:this._weekdaysMinRegex;}}function computeWeekdaysParse(){function cmpLenRev(a,b){return b.length-a.length;}var minPieces=[],shortPieces=[],longPieces=[],mixedPieces=[],i,mom,minp,shortp,longp;for(i=0;i<7;i++){// make the regex if we don't have it already
mom=createUTC([2000,1]).day(i);minp=this.weekdaysMin(mom,'');shortp=this.weekdaysShort(mom,'');longp=this.weekdays(mom,'');minPieces.push(minp);shortPieces.push(shortp);longPieces.push(longp);mixedPieces.push(minp);mixedPieces.push(shortp);mixedPieces.push(longp);}// Sorting makes sure if one weekday (or abbr) is a prefix of another it
// will match the longer piece.
minPieces.sort(cmpLenRev);shortPieces.sort(cmpLenRev);longPieces.sort(cmpLenRev);mixedPieces.sort(cmpLenRev);for(i=0;i<7;i++){shortPieces[i]=regexEscape(shortPieces[i]);longPieces[i]=regexEscape(longPieces[i]);mixedPieces[i]=regexEscape(mixedPieces[i]);}this._weekdaysRegex=new RegExp('^('+mixedPieces.join('|')+')','i');this._weekdaysShortRegex=this._weekdaysRegex;this._weekdaysMinRegex=this._weekdaysRegex;this._weekdaysStrictRegex=new RegExp('^('+longPieces.join('|')+')','i');this._weekdaysShortStrictRegex=new RegExp('^('+shortPieces.join('|')+')','i');this._weekdaysMinStrictRegex=new RegExp('^('+minPieces.join('|')+')','i');}// FORMATTING
function hFormat(){return this.hours()%12||12;}function kFormat(){return this.hours()||24;}addFormatToken('H',['HH',2],0,'hour');addFormatToken('h',['hh',2],0,hFormat);addFormatToken('k',['kk',2],0,kFormat);addFormatToken('hmm',0,0,function(){return''+hFormat.apply(this)+zeroFill(this.minutes(),2);});addFormatToken('hmmss',0,0,function(){return''+hFormat.apply(this)+zeroFill(this.minutes(),2)+zeroFill(this.seconds(),2);});addFormatToken('Hmm',0,0,function(){return''+this.hours()+zeroFill(this.minutes(),2);});addFormatToken('Hmmss',0,0,function(){return''+this.hours()+zeroFill(this.minutes(),2)+zeroFill(this.seconds(),2);});function meridiem(token,lowercase){addFormatToken(token,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),lowercase);});}meridiem('a',true);meridiem('A',false);// ALIASES
addUnitAlias('hour','h');// PRIORITY
addUnitPriority('hour',13);// PARSING
function matchMeridiem(isStrict,locale){return locale._meridiemParse;}addRegexToken('a',matchMeridiem);addRegexToken('A',matchMeridiem);addRegexToken('H',match1to2);addRegexToken('h',match1to2);addRegexToken('k',match1to2);addRegexToken('HH',match1to2,match2);addRegexToken('hh',match1to2,match2);addRegexToken('kk',match1to2,match2);addRegexToken('hmm',match3to4);addRegexToken('hmmss',match5to6);addRegexToken('Hmm',match3to4);addRegexToken('Hmmss',match5to6);addParseToken(['H','HH'],HOUR);addParseToken(['k','kk'],function(input,array,config){var kInput=toInt(input);array[HOUR]=kInput===24?0:kInput;});addParseToken(['a','A'],function(input,array,config){config._isPm=config._locale.isPM(input);config._meridiem=input;});addParseToken(['h','hh'],function(input,array,config){array[HOUR]=toInt(input);getParsingFlags(config).bigHour=true;});addParseToken('hmm',function(input,array,config){var pos=input.length-2;array[HOUR]=toInt(input.substr(0,pos));array[MINUTE]=toInt(input.substr(pos));getParsingFlags(config).bigHour=true;});addParseToken('hmmss',function(input,array,config){var pos1=input.length-4;var pos2=input.length-2;array[HOUR]=toInt(input.substr(0,pos1));array[MINUTE]=toInt(input.substr(pos1,2));array[SECOND]=toInt(input.substr(pos2));getParsingFlags(config).bigHour=true;});addParseToken('Hmm',function(input,array,config){var pos=input.length-2;array[HOUR]=toInt(input.substr(0,pos));array[MINUTE]=toInt(input.substr(pos));});addParseToken('Hmmss',function(input,array,config){var pos1=input.length-4;var pos2=input.length-2;array[HOUR]=toInt(input.substr(0,pos1));array[MINUTE]=toInt(input.substr(pos1,2));array[SECOND]=toInt(input.substr(pos2));});// LOCALES
function localeIsPM(input){// IE8 Quirks Mode & IE7 Standards Mode do not allow accessing strings like arrays
// Using charAt should be more compatible.
return(input+'').toLowerCase().charAt(0)==='p';}var defaultLocaleMeridiemParse=/[ap]\.?m?\.?/i;function localeMeridiem(hours,minutes,isLower){if(hours>11){return isLower?'pm':'PM';}else{return isLower?'am':'AM';}}// MOMENTS
// Setting the hour should keep the time, because the user explicitly
// specified which hour they want. So trying to maintain the same hour (in
// a new timezone) makes sense. Adding/subtracting hours does not follow
// this rule.
var getSetHour=makeGetSet('Hours',true);var baseConfig={calendar:defaultCalendar,longDateFormat:defaultLongDateFormat,invalidDate:defaultInvalidDate,ordinal:defaultOrdinal,dayOfMonthOrdinalParse:defaultDayOfMonthOrdinalParse,relativeTime:defaultRelativeTime,months:defaultLocaleMonths,monthsShort:defaultLocaleMonthsShort,week:defaultLocaleWeek,weekdays:defaultLocaleWeekdays,weekdaysMin:defaultLocaleWeekdaysMin,weekdaysShort:defaultLocaleWeekdaysShort,meridiemParse:defaultLocaleMeridiemParse};// internal storage for locale config files
var locales={};var localeFamilies={};var globalLocale;function normalizeLocale(key){return key?key.toLowerCase().replace('_','-'):key;}// pick the locale from the array
// try ['en-au', 'en-gb'] as 'en-au', 'en-gb', 'en', as in move through the list trying each
// substring from most specific to least, but move to the next array item if it's a more specific variant than the current root
function chooseLocale(names){var i=0,j,next,locale,split;while(i<names.length){split=normalizeLocale(names[i]).split('-');j=split.length;next=normalizeLocale(names[i+1]);next=next?next.split('-'):null;while(j>0){locale=loadLocale(split.slice(0,j).join('-'));if(locale){return locale;}if(next&&next.length>=j&&compareArrays(split,next,true)>=j-1){//the next array item is better than a shallower substring of this one
break;}j--;}i++;}return globalLocale;}function loadLocale(name){var oldLocale=null;// TODO: Find a better way to register and load all the locales in Node
if(!locales[name]&&typeof module!=='undefined'&&module&&module.exports){try{oldLocale=globalLocale._abbr;var aliasedRequire=require;__webpack_require__(203)("./"+name);getSetGlobalLocale(oldLocale);}catch(e){}}return locales[name];}// This function will load locale and then set the global locale.  If
// no arguments are passed in, it will simply return the current global
// locale key.
function getSetGlobalLocale(key,values){var data;if(key){if(isUndefined(values)){data=getLocale(key);}else{data=defineLocale(key,values);}if(data){// moment.duration._locale = moment._locale = data;
globalLocale=data;}else{if(typeof console!=='undefined'&&console.warn){//warn user if arguments are passed but the locale could not be set
console.warn('Locale '+key+' not found. Did you forget to load it?');}}}return globalLocale._abbr;}function defineLocale(name,config){if(config!==null){var locale,parentConfig=baseConfig;config.abbr=name;if(locales[name]!=null){deprecateSimple('defineLocaleOverride','use moment.updateLocale(localeName, config) to change '+'an existing locale. moment.defineLocale(localeName, '+'config) should only be used for creating a new locale '+'See http://momentjs.com/guides/#/warnings/define-locale/ for more info.');parentConfig=locales[name]._config;}else if(config.parentLocale!=null){if(locales[config.parentLocale]!=null){parentConfig=locales[config.parentLocale]._config;}else{locale=loadLocale(config.parentLocale);if(locale!=null){parentConfig=locale._config;}else{if(!localeFamilies[config.parentLocale]){localeFamilies[config.parentLocale]=[];}localeFamilies[config.parentLocale].push({name:name,config:config});return null;}}}locales[name]=new Locale(mergeConfigs(parentConfig,config));if(localeFamilies[name]){localeFamilies[name].forEach(function(x){defineLocale(x.name,x.config);});}// backwards compat for now: also set the locale
// make sure we set the locale AFTER all child locales have been
// created, so we won't end up with the child locale set.
getSetGlobalLocale(name);return locales[name];}else{// useful for testing
delete locales[name];return null;}}function updateLocale(name,config){if(config!=null){var locale,tmpLocale,parentConfig=baseConfig;// MERGE
tmpLocale=loadLocale(name);if(tmpLocale!=null){parentConfig=tmpLocale._config;}config=mergeConfigs(parentConfig,config);locale=new Locale(config);locale.parentLocale=locales[name];locales[name]=locale;// backwards compat for now: also set the locale
getSetGlobalLocale(name);}else{// pass null for config to unupdate, useful for tests
if(locales[name]!=null){if(locales[name].parentLocale!=null){locales[name]=locales[name].parentLocale;}else if(locales[name]!=null){delete locales[name];}}}return locales[name];}// returns locale data
function getLocale(key){var locale;if(key&&key._locale&&key._locale._abbr){key=key._locale._abbr;}if(!key){return globalLocale;}if(!isArray(key)){//short-circuit everything else
locale=loadLocale(key);if(locale){return locale;}key=[key];}return chooseLocale(key);}function listLocales(){return keys(locales);}function checkOverflow(m){var overflow;var a=m._a;if(a&&getParsingFlags(m).overflow===-2){overflow=a[MONTH]<0||a[MONTH]>11?MONTH:a[DATE]<1||a[DATE]>daysInMonth(a[YEAR],a[MONTH])?DATE:a[HOUR]<0||a[HOUR]>24||a[HOUR]===24&&(a[MINUTE]!==0||a[SECOND]!==0||a[MILLISECOND]!==0)?HOUR:a[MINUTE]<0||a[MINUTE]>59?MINUTE:a[SECOND]<0||a[SECOND]>59?SECOND:a[MILLISECOND]<0||a[MILLISECOND]>999?MILLISECOND:-1;if(getParsingFlags(m)._overflowDayOfYear&&(overflow<YEAR||overflow>DATE)){overflow=DATE;}if(getParsingFlags(m)._overflowWeeks&&overflow===-1){overflow=WEEK;}if(getParsingFlags(m)._overflowWeekday&&overflow===-1){overflow=WEEKDAY;}getParsingFlags(m).overflow=overflow;}return m;}// Pick the first defined of two or three arguments.
function defaults(a,b,c){if(a!=null){return a;}if(b!=null){return b;}return c;}function currentDateArray(config){// hooks is actually the exported moment object
var nowValue=new Date(hooks.now());if(config._useUTC){return[nowValue.getUTCFullYear(),nowValue.getUTCMonth(),nowValue.getUTCDate()];}return[nowValue.getFullYear(),nowValue.getMonth(),nowValue.getDate()];}// convert an array to a date.
// the array should mirror the parameters below
// note: all values past the year are optional and will default to the lowest possible value.
// [year, month, day , hour, minute, second, millisecond]
function configFromArray(config){var i,date,input=[],currentDate,expectedWeekday,yearToUse;if(config._d){return;}currentDate=currentDateArray(config);//compute day of the year from weeks and weekdays
if(config._w&&config._a[DATE]==null&&config._a[MONTH]==null){dayOfYearFromWeekInfo(config);}//if the day of the year is set, figure out what it is
if(config._dayOfYear!=null){yearToUse=defaults(config._a[YEAR],currentDate[YEAR]);if(config._dayOfYear>daysInYear(yearToUse)||config._dayOfYear===0){getParsingFlags(config)._overflowDayOfYear=true;}date=createUTCDate(yearToUse,0,config._dayOfYear);config._a[MONTH]=date.getUTCMonth();config._a[DATE]=date.getUTCDate();}// Default to current date.
// * if no year, month, day of month are given, default to today
// * if day of month is given, default month and year
// * if month is given, default only year
// * if year is given, don't default anything
for(i=0;i<3&&config._a[i]==null;++i){config._a[i]=input[i]=currentDate[i];}// Zero out whatever was not defaulted, including time
for(;i<7;i++){config._a[i]=input[i]=config._a[i]==null?i===2?1:0:config._a[i];}// Check for 24:00:00.000
if(config._a[HOUR]===24&&config._a[MINUTE]===0&&config._a[SECOND]===0&&config._a[MILLISECOND]===0){config._nextDay=true;config._a[HOUR]=0;}config._d=(config._useUTC?createUTCDate:createDate).apply(null,input);expectedWeekday=config._useUTC?config._d.getUTCDay():config._d.getDay();// Apply timezone offset from input. The actual utcOffset can be changed
// with parseZone.
if(config._tzm!=null){config._d.setUTCMinutes(config._d.getUTCMinutes()-config._tzm);}if(config._nextDay){config._a[HOUR]=24;}// check for mismatching day of week
if(config._w&&typeof config._w.d!=='undefined'&&config._w.d!==expectedWeekday){getParsingFlags(config).weekdayMismatch=true;}}function dayOfYearFromWeekInfo(config){var w,weekYear,week,weekday,dow,doy,temp,weekdayOverflow;w=config._w;if(w.GG!=null||w.W!=null||w.E!=null){dow=1;doy=4;// TODO: We need to take the current isoWeekYear, but that depends on
// how we interpret now (local, utc, fixed offset). So create
// a now version of current config (take local/utc/offset flags, and
// create now).
weekYear=defaults(w.GG,config._a[YEAR],weekOfYear(createLocal(),1,4).year);week=defaults(w.W,1);weekday=defaults(w.E,1);if(weekday<1||weekday>7){weekdayOverflow=true;}}else{dow=config._locale._week.dow;doy=config._locale._week.doy;var curWeek=weekOfYear(createLocal(),dow,doy);weekYear=defaults(w.gg,config._a[YEAR],curWeek.year);// Default to current week.
week=defaults(w.w,curWeek.week);if(w.d!=null){// weekday -- low day numbers are considered next week
weekday=w.d;if(weekday<0||weekday>6){weekdayOverflow=true;}}else if(w.e!=null){// local weekday -- counting starts from beginning of week
weekday=w.e+dow;if(w.e<0||w.e>6){weekdayOverflow=true;}}else{// default to beginning of week
weekday=dow;}}if(week<1||week>weeksInYear(weekYear,dow,doy)){getParsingFlags(config)._overflowWeeks=true;}else if(weekdayOverflow!=null){getParsingFlags(config)._overflowWeekday=true;}else{temp=dayOfYearFromWeeks(weekYear,week,weekday,dow,doy);config._a[YEAR]=temp.year;config._dayOfYear=temp.dayOfYear;}}// iso 8601 regex
// 0000-00-00 0000-W00 or 0000-W00-0 + T + 00 or 00:00 or 00:00:00 or 00:00:00.000 + +00:00 or +0000 or +00)
var extendedIsoRegex=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/;var basicIsoRegex=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/;var tzRegex=/Z|[+-]\d\d(?::?\d\d)?/;var isoDates=[['YYYYYY-MM-DD',/[+-]\d{6}-\d\d-\d\d/],['YYYY-MM-DD',/\d{4}-\d\d-\d\d/],['GGGG-[W]WW-E',/\d{4}-W\d\d-\d/],['GGGG-[W]WW',/\d{4}-W\d\d/,false],['YYYY-DDD',/\d{4}-\d{3}/],['YYYY-MM',/\d{4}-\d\d/,false],['YYYYYYMMDD',/[+-]\d{10}/],['YYYYMMDD',/\d{8}/],// YYYYMM is NOT allowed by the standard
['GGGG[W]WWE',/\d{4}W\d{3}/],['GGGG[W]WW',/\d{4}W\d{2}/,false],['YYYYDDD',/\d{7}/]];// iso time formats and regexes
var isoTimes=[['HH:mm:ss.SSSS',/\d\d:\d\d:\d\d\.\d+/],['HH:mm:ss,SSSS',/\d\d:\d\d:\d\d,\d+/],['HH:mm:ss',/\d\d:\d\d:\d\d/],['HH:mm',/\d\d:\d\d/],['HHmmss.SSSS',/\d\d\d\d\d\d\.\d+/],['HHmmss,SSSS',/\d\d\d\d\d\d,\d+/],['HHmmss',/\d\d\d\d\d\d/],['HHmm',/\d\d\d\d/],['HH',/\d\d/]];var aspNetJsonRegex=/^\/?Date\((\-?\d+)/i;// date from iso format
function configFromISO(config){var i,l,string=config._i,match=extendedIsoRegex.exec(string)||basicIsoRegex.exec(string),allowTime,dateFormat,timeFormat,tzFormat;if(match){getParsingFlags(config).iso=true;for(i=0,l=isoDates.length;i<l;i++){if(isoDates[i][1].exec(match[1])){dateFormat=isoDates[i][0];allowTime=isoDates[i][2]!==false;break;}}if(dateFormat==null){config._isValid=false;return;}if(match[3]){for(i=0,l=isoTimes.length;i<l;i++){if(isoTimes[i][1].exec(match[3])){// match[2] should be 'T' or space
timeFormat=(match[2]||' ')+isoTimes[i][0];break;}}if(timeFormat==null){config._isValid=false;return;}}if(!allowTime&&timeFormat!=null){config._isValid=false;return;}if(match[4]){if(tzRegex.exec(match[4])){tzFormat='Z';}else{config._isValid=false;return;}}config._f=dateFormat+(timeFormat||'')+(tzFormat||'');configFromStringAndFormat(config);}else{config._isValid=false;}}// RFC 2822 regex: For details see https://tools.ietf.org/html/rfc2822#section-3.3
var rfc2822=/^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\d{4}))$/;function extractFromRFC2822Strings(yearStr,monthStr,dayStr,hourStr,minuteStr,secondStr){var result=[untruncateYear(yearStr),defaultLocaleMonthsShort.indexOf(monthStr),parseInt(dayStr,10),parseInt(hourStr,10),parseInt(minuteStr,10)];if(secondStr){result.push(parseInt(secondStr,10));}return result;}function untruncateYear(yearStr){var year=parseInt(yearStr,10);if(year<=49){return 2000+year;}else if(year<=999){return 1900+year;}return year;}function preprocessRFC2822(s){// Remove comments and folding whitespace and replace multiple-spaces with a single space
return s.replace(/\([^)]*\)|[\n\t]/g,' ').replace(/(\s\s+)/g,' ').replace(/^\s\s*/,'').replace(/\s\s*$/,'');}function checkWeekday(weekdayStr,parsedInput,config){if(weekdayStr){// TODO: Replace the vanilla JS Date object with an indepentent day-of-week check.
var weekdayProvided=defaultLocaleWeekdaysShort.indexOf(weekdayStr),weekdayActual=new Date(parsedInput[0],parsedInput[1],parsedInput[2]).getDay();if(weekdayProvided!==weekdayActual){getParsingFlags(config).weekdayMismatch=true;config._isValid=false;return false;}}return true;}var obsOffsets={UT:0,GMT:0,EDT:-4*60,EST:-5*60,CDT:-5*60,CST:-6*60,MDT:-6*60,MST:-7*60,PDT:-7*60,PST:-8*60};function calculateOffset(obsOffset,militaryOffset,numOffset){if(obsOffset){return obsOffsets[obsOffset];}else if(militaryOffset){// the only allowed military tz is Z
return 0;}else{var hm=parseInt(numOffset,10);var m=hm%100,h=(hm-m)/100;return h*60+m;}}// date and time from ref 2822 format
function configFromRFC2822(config){var match=rfc2822.exec(preprocessRFC2822(config._i));if(match){var parsedArray=extractFromRFC2822Strings(match[4],match[3],match[2],match[5],match[6],match[7]);if(!checkWeekday(match[1],parsedArray,config)){return;}config._a=parsedArray;config._tzm=calculateOffset(match[8],match[9],match[10]);config._d=createUTCDate.apply(null,config._a);config._d.setUTCMinutes(config._d.getUTCMinutes()-config._tzm);getParsingFlags(config).rfc2822=true;}else{config._isValid=false;}}// date from iso format or fallback
function configFromString(config){var matched=aspNetJsonRegex.exec(config._i);if(matched!==null){config._d=new Date(+matched[1]);return;}configFromISO(config);if(config._isValid===false){delete config._isValid;}else{return;}configFromRFC2822(config);if(config._isValid===false){delete config._isValid;}else{return;}// Final attempt, use Input Fallback
hooks.createFromInputFallback(config);}hooks.createFromInputFallback=deprecate('value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), '+'which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are '+'discouraged and will be removed in an upcoming major release. Please refer to '+'http://momentjs.com/guides/#/warnings/js-date/ for more info.',function(config){config._d=new Date(config._i+(config._useUTC?' UTC':''));});// constant that refers to the ISO standard
hooks.ISO_8601=function(){};// constant that refers to the RFC 2822 form
hooks.RFC_2822=function(){};// date from string and format string
function configFromStringAndFormat(config){// TODO: Move this to another part of the creation flow to prevent circular deps
if(config._f===hooks.ISO_8601){configFromISO(config);return;}if(config._f===hooks.RFC_2822){configFromRFC2822(config);return;}config._a=[];getParsingFlags(config).empty=true;// This array is used to make a Date, either with `new Date` or `Date.UTC`
var string=''+config._i,i,parsedInput,tokens,token,skipped,stringLength=string.length,totalParsedInputLength=0;tokens=expandFormat(config._f,config._locale).match(formattingTokens)||[];for(i=0;i<tokens.length;i++){token=tokens[i];parsedInput=(string.match(getParseRegexForToken(token,config))||[])[0];// console.log('token', token, 'parsedInput', parsedInput,
//         'regex', getParseRegexForToken(token, config));
if(parsedInput){skipped=string.substr(0,string.indexOf(parsedInput));if(skipped.length>0){getParsingFlags(config).unusedInput.push(skipped);}string=string.slice(string.indexOf(parsedInput)+parsedInput.length);totalParsedInputLength+=parsedInput.length;}// don't parse if it's not a known token
if(formatTokenFunctions[token]){if(parsedInput){getParsingFlags(config).empty=false;}else{getParsingFlags(config).unusedTokens.push(token);}addTimeToArrayFromToken(token,parsedInput,config);}else if(config._strict&&!parsedInput){getParsingFlags(config).unusedTokens.push(token);}}// add remaining unparsed input length to the string
getParsingFlags(config).charsLeftOver=stringLength-totalParsedInputLength;if(string.length>0){getParsingFlags(config).unusedInput.push(string);}// clear _12h flag if hour is <= 12
if(config._a[HOUR]<=12&&getParsingFlags(config).bigHour===true&&config._a[HOUR]>0){getParsingFlags(config).bigHour=undefined;}getParsingFlags(config).parsedDateParts=config._a.slice(0);getParsingFlags(config).meridiem=config._meridiem;// handle meridiem
config._a[HOUR]=meridiemFixWrap(config._locale,config._a[HOUR],config._meridiem);configFromArray(config);checkOverflow(config);}function meridiemFixWrap(locale,hour,meridiem){var isPm;if(meridiem==null){// nothing to do
return hour;}if(locale.meridiemHour!=null){return locale.meridiemHour(hour,meridiem);}else if(locale.isPM!=null){// Fallback
isPm=locale.isPM(meridiem);if(isPm&&hour<12){hour+=12;}if(!isPm&&hour===12){hour=0;}return hour;}else{// this is not supposed to happen
return hour;}}// date from string and array of format strings
function configFromStringAndArray(config){var tempConfig,bestMoment,scoreToBeat,i,currentScore;if(config._f.length===0){getParsingFlags(config).invalidFormat=true;config._d=new Date(NaN);return;}for(i=0;i<config._f.length;i++){currentScore=0;tempConfig=copyConfig({},config);if(config._useUTC!=null){tempConfig._useUTC=config._useUTC;}tempConfig._f=config._f[i];configFromStringAndFormat(tempConfig);if(!isValid(tempConfig)){continue;}// if there is any input that was not parsed add a penalty for that format
currentScore+=getParsingFlags(tempConfig).charsLeftOver;//or tokens
currentScore+=getParsingFlags(tempConfig).unusedTokens.length*10;getParsingFlags(tempConfig).score=currentScore;if(scoreToBeat==null||currentScore<scoreToBeat){scoreToBeat=currentScore;bestMoment=tempConfig;}}extend(config,bestMoment||tempConfig);}function configFromObject(config){if(config._d){return;}var i=normalizeObjectUnits(config._i);config._a=map([i.year,i.month,i.day||i.date,i.hour,i.minute,i.second,i.millisecond],function(obj){return obj&&parseInt(obj,10);});configFromArray(config);}function createFromConfig(config){var res=new Moment(checkOverflow(prepareConfig(config)));if(res._nextDay){// Adding is smart enough around DST
res.add(1,'d');res._nextDay=undefined;}return res;}function prepareConfig(config){var input=config._i,format=config._f;config._locale=config._locale||getLocale(config._l);if(input===null||format===undefined&&input===''){return createInvalid({nullInput:true});}if(typeof input==='string'){config._i=input=config._locale.preparse(input);}if(isMoment(input)){return new Moment(checkOverflow(input));}else if(isDate(input)){config._d=input;}else if(isArray(format)){configFromStringAndArray(config);}else if(format){configFromStringAndFormat(config);}else{configFromInput(config);}if(!isValid(config)){config._d=null;}return config;}function configFromInput(config){var input=config._i;if(isUndefined(input)){config._d=new Date(hooks.now());}else if(isDate(input)){config._d=new Date(input.valueOf());}else if(typeof input==='string'){configFromString(config);}else if(isArray(input)){config._a=map(input.slice(0),function(obj){return parseInt(obj,10);});configFromArray(config);}else if(isObject(input)){configFromObject(config);}else if(isNumber(input)){// from milliseconds
config._d=new Date(input);}else{hooks.createFromInputFallback(config);}}function createLocalOrUTC(input,format,locale,strict,isUTC){var c={};if(locale===true||locale===false){strict=locale;locale=undefined;}if(isObject(input)&&isObjectEmpty(input)||isArray(input)&&input.length===0){input=undefined;}// object construction must be done this way.
// https://github.com/moment/moment/issues/1423
c._isAMomentObject=true;c._useUTC=c._isUTC=isUTC;c._l=locale;c._i=input;c._f=format;c._strict=strict;return createFromConfig(c);}function createLocal(input,format,locale,strict){return createLocalOrUTC(input,format,locale,strict,false);}var prototypeMin=deprecate('moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/',function(){var other=createLocal.apply(null,arguments);if(this.isValid()&&other.isValid()){return other<this?this:other;}else{return createInvalid();}});var prototypeMax=deprecate('moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/',function(){var other=createLocal.apply(null,arguments);if(this.isValid()&&other.isValid()){return other>this?this:other;}else{return createInvalid();}});// Pick a moment m from moments so that m[fn](other) is true for all
// other. This relies on the function fn to be transitive.
//
// moments should either be an array of moment objects or an array, whose
// first element is an array of moment objects.
function pickBy(fn,moments){var res,i;if(moments.length===1&&isArray(moments[0])){moments=moments[0];}if(!moments.length){return createLocal();}res=moments[0];for(i=1;i<moments.length;++i){if(!moments[i].isValid()||moments[i][fn](res)){res=moments[i];}}return res;}// TODO: Use [].sort instead?
function min(){var args=[].slice.call(arguments,0);return pickBy('isBefore',args);}function max(){var args=[].slice.call(arguments,0);return pickBy('isAfter',args);}var now=function now(){return Date.now?Date.now():+new Date();};var ordering=['year','quarter','month','week','day','hour','minute','second','millisecond'];function isDurationValid(m){for(var key in m){if(!(indexOf.call(ordering,key)!==-1&&(m[key]==null||!isNaN(m[key])))){return false;}}var unitHasDecimal=false;for(var i=0;i<ordering.length;++i){if(m[ordering[i]]){if(unitHasDecimal){return false;// only allow non-integers for smallest unit
}if(parseFloat(m[ordering[i]])!==toInt(m[ordering[i]])){unitHasDecimal=true;}}}return true;}function isValid$1(){return this._isValid;}function createInvalid$1(){return createDuration(NaN);}function Duration(duration){var normalizedInput=normalizeObjectUnits(duration),years=normalizedInput.year||0,quarters=normalizedInput.quarter||0,months=normalizedInput.month||0,weeks=normalizedInput.week||normalizedInput.isoWeek||0,days=normalizedInput.day||0,hours=normalizedInput.hour||0,minutes=normalizedInput.minute||0,seconds=normalizedInput.second||0,milliseconds=normalizedInput.millisecond||0;this._isValid=isDurationValid(normalizedInput);// representation for dateAddRemove
this._milliseconds=+milliseconds+seconds*1e3+// 1000
minutes*6e4+// 1000 * 60
hours*1000*60*60;//using 1000 * 60 * 60 instead of 36e5 to avoid floating point rounding errors https://github.com/moment/moment/issues/2978
// Because of dateAddRemove treats 24 hours as different from a
// day when working around DST, we need to store them separately
this._days=+days+weeks*7;// It is impossible to translate months into days without knowing
// which months you are are talking about, so we have to store
// it separately.
this._months=+months+quarters*3+years*12;this._data={};this._locale=getLocale();this._bubble();}function isDuration(obj){return obj instanceof Duration;}function absRound(number){if(number<0){return Math.round(-1*number)*-1;}else{return Math.round(number);}}// FORMATTING
function offset(token,separator){addFormatToken(token,0,0,function(){var offset=this.utcOffset();var sign='+';if(offset<0){offset=-offset;sign='-';}return sign+zeroFill(~~(offset/60),2)+separator+zeroFill(~~offset%60,2);});}offset('Z',':');offset('ZZ','');// PARSING
addRegexToken('Z',matchShortOffset);addRegexToken('ZZ',matchShortOffset);addParseToken(['Z','ZZ'],function(input,array,config){config._useUTC=true;config._tzm=offsetFromString(matchShortOffset,input);});// HELPERS
// timezone chunker
// '+10:00' > ['10',  '00']
// '-1530'  > ['-15', '30']
var chunkOffset=/([\+\-]|\d\d)/gi;function offsetFromString(matcher,string){var matches=(string||'').match(matcher);if(matches===null){return null;}var chunk=matches[matches.length-1]||[];var parts=(chunk+'').match(chunkOffset)||['-',0,0];var minutes=+(parts[1]*60)+toInt(parts[2]);return minutes===0?0:parts[0]==='+'?minutes:-minutes;}// Return a moment from input, that is local/utc/zone equivalent to model.
function cloneWithOffset(input,model){var res,diff;if(model._isUTC){res=model.clone();diff=(isMoment(input)||isDate(input)?input.valueOf():createLocal(input).valueOf())-res.valueOf();// Use low-level api, because this fn is low-level api.
res._d.setTime(res._d.valueOf()+diff);hooks.updateOffset(res,false);return res;}else{return createLocal(input).local();}}function getDateOffset(m){// On Firefox.24 Date#getTimezoneOffset returns a floating point.
// https://github.com/moment/moment/pull/1871
return-Math.round(m._d.getTimezoneOffset()/15)*15;}// HOOKS
// This function will be called whenever a moment is mutated.
// It is intended to keep the offset in sync with the timezone.
hooks.updateOffset=function(){};// MOMENTS
// keepLocalTime = true means only change the timezone, without
// affecting the local hour. So 5:31:26 +0300 --[utcOffset(2, true)]-->
// 5:31:26 +0200 It is possible that 5:31:26 doesn't exist with offset
// +0200, so we adjust the time as needed, to be valid.
//
// Keeping the time actually adds/subtracts (one hour)
// from the actual represented time. That is why we call updateOffset
// a second time. In case it wants us to change the offset again
// _changeInProgress == true case, then we have to adjust, because
// there is no such time in the given timezone.
function getSetOffset(input,keepLocalTime,keepMinutes){var offset=this._offset||0,localAdjust;if(!this.isValid()){return input!=null?this:NaN;}if(input!=null){if(typeof input==='string'){input=offsetFromString(matchShortOffset,input);if(input===null){return this;}}else if(Math.abs(input)<16&&!keepMinutes){input=input*60;}if(!this._isUTC&&keepLocalTime){localAdjust=getDateOffset(this);}this._offset=input;this._isUTC=true;if(localAdjust!=null){this.add(localAdjust,'m');}if(offset!==input){if(!keepLocalTime||this._changeInProgress){addSubtract(this,createDuration(input-offset,'m'),1,false);}else if(!this._changeInProgress){this._changeInProgress=true;hooks.updateOffset(this,true);this._changeInProgress=null;}}return this;}else{return this._isUTC?offset:getDateOffset(this);}}function getSetZone(input,keepLocalTime){if(input!=null){if(typeof input!=='string'){input=-input;}this.utcOffset(input,keepLocalTime);return this;}else{return-this.utcOffset();}}function setOffsetToUTC(keepLocalTime){return this.utcOffset(0,keepLocalTime);}function setOffsetToLocal(keepLocalTime){if(this._isUTC){this.utcOffset(0,keepLocalTime);this._isUTC=false;if(keepLocalTime){this.subtract(getDateOffset(this),'m');}}return this;}function setOffsetToParsedOffset(){if(this._tzm!=null){this.utcOffset(this._tzm,false,true);}else if(typeof this._i==='string'){var tZone=offsetFromString(matchOffset,this._i);if(tZone!=null){this.utcOffset(tZone);}else{this.utcOffset(0,true);}}return this;}function hasAlignedHourOffset(input){if(!this.isValid()){return false;}input=input?createLocal(input).utcOffset():0;return(this.utcOffset()-input)%60===0;}function isDaylightSavingTime(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset();}function isDaylightSavingTimeShifted(){if(!isUndefined(this._isDSTShifted)){return this._isDSTShifted;}var c={};copyConfig(c,this);c=prepareConfig(c);if(c._a){var other=c._isUTC?createUTC(c._a):createLocal(c._a);this._isDSTShifted=this.isValid()&&compareArrays(c._a,other.toArray())>0;}else{this._isDSTShifted=false;}return this._isDSTShifted;}function isLocal(){return this.isValid()?!this._isUTC:false;}function isUtcOffset(){return this.isValid()?this._isUTC:false;}function isUtc(){return this.isValid()?this._isUTC&&this._offset===0:false;}// ASP.NET json date format regex
var aspNetRegex=/^(\-|\+)?(?:(\d*)[. ])?(\d+)\:(\d+)(?:\:(\d+)(\.\d*)?)?$/;// from http://docs.closure-library.googlecode.com/git/closure_goog_date_date.js.source.html
// somewhat more in line with 4.4.3.2 2004 spec, but allows decimal anywhere
// and further modified to allow for strings containing both week and day
var isoRegex=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;function createDuration(input,key){var duration=input,// matching against regexp is expensive, do it on demand
match=null,sign,ret,diffRes;if(isDuration(input)){duration={ms:input._milliseconds,d:input._days,M:input._months};}else if(isNumber(input)){duration={};if(key){duration[key]=input;}else{duration.milliseconds=input;}}else if(!!(match=aspNetRegex.exec(input))){sign=match[1]==='-'?-1:1;duration={y:0,d:toInt(match[DATE])*sign,h:toInt(match[HOUR])*sign,m:toInt(match[MINUTE])*sign,s:toInt(match[SECOND])*sign,ms:toInt(absRound(match[MILLISECOND]*1000))*sign// the millisecond decimal point is included in the match
};}else if(!!(match=isoRegex.exec(input))){sign=match[1]==='-'?-1:1;duration={y:parseIso(match[2],sign),M:parseIso(match[3],sign),w:parseIso(match[4],sign),d:parseIso(match[5],sign),h:parseIso(match[6],sign),m:parseIso(match[7],sign),s:parseIso(match[8],sign)};}else if(duration==null){// checks for null or undefined
duration={};}else if((typeof duration==='undefined'?'undefined':_typeof2(duration))==='object'&&('from'in duration||'to'in duration)){diffRes=momentsDifference(createLocal(duration.from),createLocal(duration.to));duration={};duration.ms=diffRes.milliseconds;duration.M=diffRes.months;}ret=new Duration(duration);if(isDuration(input)&&hasOwnProp(input,'_locale')){ret._locale=input._locale;}return ret;}createDuration.fn=Duration.prototype;createDuration.invalid=createInvalid$1;function parseIso(inp,sign){// We'd normally use ~~inp for this, but unfortunately it also
// converts floats to ints.
// inp may be undefined, so careful calling replace on it.
var res=inp&&parseFloat(inp.replace(',','.'));// apply sign while we're at it
return(isNaN(res)?0:res)*sign;}function positiveMomentsDifference(base,other){var res={milliseconds:0,months:0};res.months=other.month()-base.month()+(other.year()-base.year())*12;if(base.clone().add(res.months,'M').isAfter(other)){--res.months;}res.milliseconds=+other-+base.clone().add(res.months,'M');return res;}function momentsDifference(base,other){var res;if(!(base.isValid()&&other.isValid())){return{milliseconds:0,months:0};}other=cloneWithOffset(other,base);if(base.isBefore(other)){res=positiveMomentsDifference(base,other);}else{res=positiveMomentsDifference(other,base);res.milliseconds=-res.milliseconds;res.months=-res.months;}return res;}// TODO: remove 'name' arg after deprecation is removed
function createAdder(direction,name){return function(val,period){var dur,tmp;//invert the arguments, but complain about it
if(period!==null&&!isNaN(+period)){deprecateSimple(name,'moment().'+name+'(period, number) is deprecated. Please use moment().'+name+'(number, period). '+'See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info.');tmp=val;val=period;period=tmp;}val=typeof val==='string'?+val:val;dur=createDuration(val,period);addSubtract(this,dur,direction);return this;};}function addSubtract(mom,duration,isAdding,updateOffset){var milliseconds=duration._milliseconds,days=absRound(duration._days),months=absRound(duration._months);if(!mom.isValid()){// No op
return;}updateOffset=updateOffset==null?true:updateOffset;if(months){setMonth(mom,get(mom,'Month')+months*isAdding);}if(days){set$1(mom,'Date',get(mom,'Date')+days*isAdding);}if(milliseconds){mom._d.setTime(mom._d.valueOf()+milliseconds*isAdding);}if(updateOffset){hooks.updateOffset(mom,days||months);}}var add=createAdder(1,'add');var subtract=createAdder(-1,'subtract');function getCalendarFormat(myMoment,now){var diff=myMoment.diff(now,'days',true);return diff<-6?'sameElse':diff<-1?'lastWeek':diff<0?'lastDay':diff<1?'sameDay':diff<2?'nextDay':diff<7?'nextWeek':'sameElse';}function calendar$1(time,formats){// We want to compare the start of today, vs this.
// Getting start-of-today depends on whether we're local/utc/offset or not.
var now=time||createLocal(),sod=cloneWithOffset(now,this).startOf('day'),format=hooks.calendarFormat(this,sod)||'sameElse';var output=formats&&(isFunction(formats[format])?formats[format].call(this,now):formats[format]);return this.format(output||this.localeData().calendar(format,this,createLocal(now)));}function clone(){return new Moment(this);}function isAfter(input,units){var localInput=isMoment(input)?input:createLocal(input);if(!(this.isValid()&&localInput.isValid())){return false;}units=normalizeUnits(units)||'millisecond';if(units==='millisecond'){return this.valueOf()>localInput.valueOf();}else{return localInput.valueOf()<this.clone().startOf(units).valueOf();}}function isBefore(input,units){var localInput=isMoment(input)?input:createLocal(input);if(!(this.isValid()&&localInput.isValid())){return false;}units=normalizeUnits(units)||'millisecond';if(units==='millisecond'){return this.valueOf()<localInput.valueOf();}else{return this.clone().endOf(units).valueOf()<localInput.valueOf();}}function isBetween(from,to,units,inclusivity){var localFrom=isMoment(from)?from:createLocal(from),localTo=isMoment(to)?to:createLocal(to);if(!(this.isValid()&&localFrom.isValid()&&localTo.isValid())){return false;}inclusivity=inclusivity||'()';return(inclusivity[0]==='('?this.isAfter(localFrom,units):!this.isBefore(localFrom,units))&&(inclusivity[1]===')'?this.isBefore(localTo,units):!this.isAfter(localTo,units));}function isSame(input,units){var localInput=isMoment(input)?input:createLocal(input),inputMs;if(!(this.isValid()&&localInput.isValid())){return false;}units=normalizeUnits(units)||'millisecond';if(units==='millisecond'){return this.valueOf()===localInput.valueOf();}else{inputMs=localInput.valueOf();return this.clone().startOf(units).valueOf()<=inputMs&&inputMs<=this.clone().endOf(units).valueOf();}}function isSameOrAfter(input,units){return this.isSame(input,units)||this.isAfter(input,units);}function isSameOrBefore(input,units){return this.isSame(input,units)||this.isBefore(input,units);}function diff(input,units,asFloat){var that,zoneDelta,output;if(!this.isValid()){return NaN;}that=cloneWithOffset(input,this);if(!that.isValid()){return NaN;}zoneDelta=(that.utcOffset()-this.utcOffset())*6e4;units=normalizeUnits(units);switch(units){case'year':output=monthDiff(this,that)/12;break;case'month':output=monthDiff(this,that);break;case'quarter':output=monthDiff(this,that)/3;break;case'second':output=(this-that)/1e3;break;// 1000
case'minute':output=(this-that)/6e4;break;// 1000 * 60
case'hour':output=(this-that)/36e5;break;// 1000 * 60 * 60
case'day':output=(this-that-zoneDelta)/864e5;break;// 1000 * 60 * 60 * 24, negate dst
case'week':output=(this-that-zoneDelta)/6048e5;break;// 1000 * 60 * 60 * 24 * 7, negate dst
default:output=this-that;}return asFloat?output:absFloor(output);}function monthDiff(a,b){// difference in months
var wholeMonthDiff=(b.year()-a.year())*12+(b.month()-a.month()),// b is in (anchor - 1 month, anchor + 1 month)
anchor=a.clone().add(wholeMonthDiff,'months'),anchor2,adjust;if(b-anchor<0){anchor2=a.clone().add(wholeMonthDiff-1,'months');// linear across the month
adjust=(b-anchor)/(anchor-anchor2);}else{anchor2=a.clone().add(wholeMonthDiff+1,'months');// linear across the month
adjust=(b-anchor)/(anchor2-anchor);}//check for negative zero, return zero if negative zero
return-(wholeMonthDiff+adjust)||0;}hooks.defaultFormat='YYYY-MM-DDTHH:mm:ssZ';hooks.defaultFormatUtc='YYYY-MM-DDTHH:mm:ss[Z]';function toString(){return this.clone().locale('en').format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ');}function toISOString(keepOffset){if(!this.isValid()){return null;}var utc=keepOffset!==true;var m=utc?this.clone().utc():this;if(m.year()<0||m.year()>9999){return formatMoment(m,utc?'YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]':'YYYYYY-MM-DD[T]HH:mm:ss.SSSZ');}if(isFunction(Date.prototype.toISOString)){// native implementation is ~50x faster, use it when we can
if(utc){return this.toDate().toISOString();}else{return new Date(this.valueOf()+this.utcOffset()*60*1000).toISOString().replace('Z',formatMoment(m,'Z'));}}return formatMoment(m,utc?'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]':'YYYY-MM-DD[T]HH:mm:ss.SSSZ');}/**
     * Return a human readable representation of a moment that can
     * also be evaluated to get a new moment which is the same
     *
     * @link https://nodejs.org/dist/latest/docs/api/util.html#util_custom_inspect_function_on_objects
     */function inspect(){if(!this.isValid()){return'moment.invalid(/* '+this._i+' */)';}var func='moment';var zone='';if(!this.isLocal()){func=this.utcOffset()===0?'moment.utc':'moment.parseZone';zone='Z';}var prefix='['+func+'("]';var year=0<=this.year()&&this.year()<=9999?'YYYY':'YYYYYY';var datetime='-MM-DD[T]HH:mm:ss.SSS';var suffix=zone+'[")]';return this.format(prefix+year+datetime+suffix);}function format(inputString){if(!inputString){inputString=this.isUtc()?hooks.defaultFormatUtc:hooks.defaultFormat;}var output=formatMoment(this,inputString);return this.localeData().postformat(output);}function from(time,withoutSuffix){if(this.isValid()&&(isMoment(time)&&time.isValid()||createLocal(time).isValid())){return createDuration({to:this,from:time}).locale(this.locale()).humanize(!withoutSuffix);}else{return this.localeData().invalidDate();}}function fromNow(withoutSuffix){return this.from(createLocal(),withoutSuffix);}function to(time,withoutSuffix){if(this.isValid()&&(isMoment(time)&&time.isValid()||createLocal(time).isValid())){return createDuration({from:this,to:time}).locale(this.locale()).humanize(!withoutSuffix);}else{return this.localeData().invalidDate();}}function toNow(withoutSuffix){return this.to(createLocal(),withoutSuffix);}// If passed a locale key, it will set the locale for this
// instance.  Otherwise, it will return the locale configuration
// variables for this instance.
function locale(key){var newLocaleData;if(key===undefined){return this._locale._abbr;}else{newLocaleData=getLocale(key);if(newLocaleData!=null){this._locale=newLocaleData;}return this;}}var lang=deprecate('moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.',function(key){if(key===undefined){return this.localeData();}else{return this.locale(key);}});function localeData(){return this._locale;}function startOf(units){units=normalizeUnits(units);// the following switch intentionally omits break keywords
// to utilize falling through the cases.
switch(units){case'year':this.month(0);/* falls through */case'quarter':case'month':this.date(1);/* falls through */case'week':case'isoWeek':case'day':case'date':this.hours(0);/* falls through */case'hour':this.minutes(0);/* falls through */case'minute':this.seconds(0);/* falls through */case'second':this.milliseconds(0);}// weeks are a special case
if(units==='week'){this.weekday(0);}if(units==='isoWeek'){this.isoWeekday(1);}// quarters are also special
if(units==='quarter'){this.month(Math.floor(this.month()/3)*3);}return this;}function endOf(units){units=normalizeUnits(units);if(units===undefined||units==='millisecond'){return this;}// 'date' is an alias for 'day', so it should be considered as such.
if(units==='date'){units='day';}return this.startOf(units).add(1,units==='isoWeek'?'week':units).subtract(1,'ms');}function valueOf(){return this._d.valueOf()-(this._offset||0)*60000;}function unix(){return Math.floor(this.valueOf()/1000);}function toDate(){return new Date(this.valueOf());}function toArray(){var m=this;return[m.year(),m.month(),m.date(),m.hour(),m.minute(),m.second(),m.millisecond()];}function toObject(){var m=this;return{years:m.year(),months:m.month(),date:m.date(),hours:m.hours(),minutes:m.minutes(),seconds:m.seconds(),milliseconds:m.milliseconds()};}function toJSON(){// new Date(NaN).toJSON() === null
return this.isValid()?this.toISOString():null;}function isValid$2(){return isValid(this);}function parsingFlags(){return extend({},getParsingFlags(this));}function invalidAt(){return getParsingFlags(this).overflow;}function creationData(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict};}// FORMATTING
addFormatToken(0,['gg',2],0,function(){return this.weekYear()%100;});addFormatToken(0,['GG',2],0,function(){return this.isoWeekYear()%100;});function addWeekYearFormatToken(token,getter){addFormatToken(0,[token,token.length],0,getter);}addWeekYearFormatToken('gggg','weekYear');addWeekYearFormatToken('ggggg','weekYear');addWeekYearFormatToken('GGGG','isoWeekYear');addWeekYearFormatToken('GGGGG','isoWeekYear');// ALIASES
addUnitAlias('weekYear','gg');addUnitAlias('isoWeekYear','GG');// PRIORITY
addUnitPriority('weekYear',1);addUnitPriority('isoWeekYear',1);// PARSING
addRegexToken('G',matchSigned);addRegexToken('g',matchSigned);addRegexToken('GG',match1to2,match2);addRegexToken('gg',match1to2,match2);addRegexToken('GGGG',match1to4,match4);addRegexToken('gggg',match1to4,match4);addRegexToken('GGGGG',match1to6,match6);addRegexToken('ggggg',match1to6,match6);addWeekParseToken(['gggg','ggggg','GGGG','GGGGG'],function(input,week,config,token){week[token.substr(0,2)]=toInt(input);});addWeekParseToken(['gg','GG'],function(input,week,config,token){week[token]=hooks.parseTwoDigitYear(input);});// MOMENTS
function getSetWeekYear(input){return getSetWeekYearHelper.call(this,input,this.week(),this.weekday(),this.localeData()._week.dow,this.localeData()._week.doy);}function getSetISOWeekYear(input){return getSetWeekYearHelper.call(this,input,this.isoWeek(),this.isoWeekday(),1,4);}function getISOWeeksInYear(){return weeksInYear(this.year(),1,4);}function getWeeksInYear(){var weekInfo=this.localeData()._week;return weeksInYear(this.year(),weekInfo.dow,weekInfo.doy);}function getSetWeekYearHelper(input,week,weekday,dow,doy){var weeksTarget;if(input==null){return weekOfYear(this,dow,doy).year;}else{weeksTarget=weeksInYear(input,dow,doy);if(week>weeksTarget){week=weeksTarget;}return setWeekAll.call(this,input,week,weekday,dow,doy);}}function setWeekAll(weekYear,week,weekday,dow,doy){var dayOfYearData=dayOfYearFromWeeks(weekYear,week,weekday,dow,doy),date=createUTCDate(dayOfYearData.year,0,dayOfYearData.dayOfYear);this.year(date.getUTCFullYear());this.month(date.getUTCMonth());this.date(date.getUTCDate());return this;}// FORMATTING
addFormatToken('Q',0,'Qo','quarter');// ALIASES
addUnitAlias('quarter','Q');// PRIORITY
addUnitPriority('quarter',7);// PARSING
addRegexToken('Q',match1);addParseToken('Q',function(input,array){array[MONTH]=(toInt(input)-1)*3;});// MOMENTS
function getSetQuarter(input){return input==null?Math.ceil((this.month()+1)/3):this.month((input-1)*3+this.month()%3);}// FORMATTING
addFormatToken('D',['DD',2],'Do','date');// ALIASES
addUnitAlias('date','D');// PRIORITY
addUnitPriority('date',9);// PARSING
addRegexToken('D',match1to2);addRegexToken('DD',match1to2,match2);addRegexToken('Do',function(isStrict,locale){// TODO: Remove "ordinalParse" fallback in next major release.
return isStrict?locale._dayOfMonthOrdinalParse||locale._ordinalParse:locale._dayOfMonthOrdinalParseLenient;});addParseToken(['D','DD'],DATE);addParseToken('Do',function(input,array){array[DATE]=toInt(input.match(match1to2)[0]);});// MOMENTS
var getSetDayOfMonth=makeGetSet('Date',true);// FORMATTING
addFormatToken('DDD',['DDDD',3],'DDDo','dayOfYear');// ALIASES
addUnitAlias('dayOfYear','DDD');// PRIORITY
addUnitPriority('dayOfYear',4);// PARSING
addRegexToken('DDD',match1to3);addRegexToken('DDDD',match3);addParseToken(['DDD','DDDD'],function(input,array,config){config._dayOfYear=toInt(input);});// HELPERS
// MOMENTS
function getSetDayOfYear(input){var dayOfYear=Math.round((this.clone().startOf('day')-this.clone().startOf('year'))/864e5)+1;return input==null?dayOfYear:this.add(input-dayOfYear,'d');}// FORMATTING
addFormatToken('m',['mm',2],0,'minute');// ALIASES
addUnitAlias('minute','m');// PRIORITY
addUnitPriority('minute',14);// PARSING
addRegexToken('m',match1to2);addRegexToken('mm',match1to2,match2);addParseToken(['m','mm'],MINUTE);// MOMENTS
var getSetMinute=makeGetSet('Minutes',false);// FORMATTING
addFormatToken('s',['ss',2],0,'second');// ALIASES
addUnitAlias('second','s');// PRIORITY
addUnitPriority('second',15);// PARSING
addRegexToken('s',match1to2);addRegexToken('ss',match1to2,match2);addParseToken(['s','ss'],SECOND);// MOMENTS
var getSetSecond=makeGetSet('Seconds',false);// FORMATTING
addFormatToken('S',0,0,function(){return~~(this.millisecond()/100);});addFormatToken(0,['SS',2],0,function(){return~~(this.millisecond()/10);});addFormatToken(0,['SSS',3],0,'millisecond');addFormatToken(0,['SSSS',4],0,function(){return this.millisecond()*10;});addFormatToken(0,['SSSSS',5],0,function(){return this.millisecond()*100;});addFormatToken(0,['SSSSSS',6],0,function(){return this.millisecond()*1000;});addFormatToken(0,['SSSSSSS',7],0,function(){return this.millisecond()*10000;});addFormatToken(0,['SSSSSSSS',8],0,function(){return this.millisecond()*100000;});addFormatToken(0,['SSSSSSSSS',9],0,function(){return this.millisecond()*1000000;});// ALIASES
addUnitAlias('millisecond','ms');// PRIORITY
addUnitPriority('millisecond',16);// PARSING
addRegexToken('S',match1to3,match1);addRegexToken('SS',match1to3,match2);addRegexToken('SSS',match1to3,match3);var token;for(token='SSSS';token.length<=9;token+='S'){addRegexToken(token,matchUnsigned);}function parseMs(input,array){array[MILLISECOND]=toInt(('0.'+input)*1000);}for(token='S';token.length<=9;token+='S'){addParseToken(token,parseMs);}// MOMENTS
var getSetMillisecond=makeGetSet('Milliseconds',false);// FORMATTING
addFormatToken('z',0,0,'zoneAbbr');addFormatToken('zz',0,0,'zoneName');// MOMENTS
function getZoneAbbr(){return this._isUTC?'UTC':'';}function getZoneName(){return this._isUTC?'Coordinated Universal Time':'';}var proto=Moment.prototype;proto.add=add;proto.calendar=calendar$1;proto.clone=clone;proto.diff=diff;proto.endOf=endOf;proto.format=format;proto.from=from;proto.fromNow=fromNow;proto.to=to;proto.toNow=toNow;proto.get=stringGet;proto.invalidAt=invalidAt;proto.isAfter=isAfter;proto.isBefore=isBefore;proto.isBetween=isBetween;proto.isSame=isSame;proto.isSameOrAfter=isSameOrAfter;proto.isSameOrBefore=isSameOrBefore;proto.isValid=isValid$2;proto.lang=lang;proto.locale=locale;proto.localeData=localeData;proto.max=prototypeMax;proto.min=prototypeMin;proto.parsingFlags=parsingFlags;proto.set=stringSet;proto.startOf=startOf;proto.subtract=subtract;proto.toArray=toArray;proto.toObject=toObject;proto.toDate=toDate;proto.toISOString=toISOString;proto.inspect=inspect;proto.toJSON=toJSON;proto.toString=toString;proto.unix=unix;proto.valueOf=valueOf;proto.creationData=creationData;proto.year=getSetYear;proto.isLeapYear=getIsLeapYear;proto.weekYear=getSetWeekYear;proto.isoWeekYear=getSetISOWeekYear;proto.quarter=proto.quarters=getSetQuarter;proto.month=getSetMonth;proto.daysInMonth=getDaysInMonth;proto.week=proto.weeks=getSetWeek;proto.isoWeek=proto.isoWeeks=getSetISOWeek;proto.weeksInYear=getWeeksInYear;proto.isoWeeksInYear=getISOWeeksInYear;proto.date=getSetDayOfMonth;proto.day=proto.days=getSetDayOfWeek;proto.weekday=getSetLocaleDayOfWeek;proto.isoWeekday=getSetISODayOfWeek;proto.dayOfYear=getSetDayOfYear;proto.hour=proto.hours=getSetHour;proto.minute=proto.minutes=getSetMinute;proto.second=proto.seconds=getSetSecond;proto.millisecond=proto.milliseconds=getSetMillisecond;proto.utcOffset=getSetOffset;proto.utc=setOffsetToUTC;proto.local=setOffsetToLocal;proto.parseZone=setOffsetToParsedOffset;proto.hasAlignedHourOffset=hasAlignedHourOffset;proto.isDST=isDaylightSavingTime;proto.isLocal=isLocal;proto.isUtcOffset=isUtcOffset;proto.isUtc=isUtc;proto.isUTC=isUtc;proto.zoneAbbr=getZoneAbbr;proto.zoneName=getZoneName;proto.dates=deprecate('dates accessor is deprecated. Use date instead.',getSetDayOfMonth);proto.months=deprecate('months accessor is deprecated. Use month instead',getSetMonth);proto.years=deprecate('years accessor is deprecated. Use year instead',getSetYear);proto.zone=deprecate('moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/',getSetZone);proto.isDSTShifted=deprecate('isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information',isDaylightSavingTimeShifted);function createUnix(input){return createLocal(input*1000);}function createInZone(){return createLocal.apply(null,arguments).parseZone();}function preParsePostFormat(string){return string;}var proto$1=Locale.prototype;proto$1.calendar=calendar;proto$1.longDateFormat=longDateFormat;proto$1.invalidDate=invalidDate;proto$1.ordinal=ordinal;proto$1.preparse=preParsePostFormat;proto$1.postformat=preParsePostFormat;proto$1.relativeTime=relativeTime;proto$1.pastFuture=pastFuture;proto$1.set=set;proto$1.months=localeMonths;proto$1.monthsShort=localeMonthsShort;proto$1.monthsParse=localeMonthsParse;proto$1.monthsRegex=monthsRegex;proto$1.monthsShortRegex=monthsShortRegex;proto$1.week=localeWeek;proto$1.firstDayOfYear=localeFirstDayOfYear;proto$1.firstDayOfWeek=localeFirstDayOfWeek;proto$1.weekdays=localeWeekdays;proto$1.weekdaysMin=localeWeekdaysMin;proto$1.weekdaysShort=localeWeekdaysShort;proto$1.weekdaysParse=localeWeekdaysParse;proto$1.weekdaysRegex=weekdaysRegex;proto$1.weekdaysShortRegex=weekdaysShortRegex;proto$1.weekdaysMinRegex=weekdaysMinRegex;proto$1.isPM=localeIsPM;proto$1.meridiem=localeMeridiem;function get$1(format,index,field,setter){var locale=getLocale();var utc=createUTC().set(setter,index);return locale[field](utc,format);}function listMonthsImpl(format,index,field){if(isNumber(format)){index=format;format=undefined;}format=format||'';if(index!=null){return get$1(format,index,field,'month');}var i;var out=[];for(i=0;i<12;i++){out[i]=get$1(format,i,field,'month');}return out;}// ()
// (5)
// (fmt, 5)
// (fmt)
// (true)
// (true, 5)
// (true, fmt, 5)
// (true, fmt)
function listWeekdaysImpl(localeSorted,format,index,field){if(typeof localeSorted==='boolean'){if(isNumber(format)){index=format;format=undefined;}format=format||'';}else{format=localeSorted;index=format;localeSorted=false;if(isNumber(format)){index=format;format=undefined;}format=format||'';}var locale=getLocale(),shift=localeSorted?locale._week.dow:0;if(index!=null){return get$1(format,(index+shift)%7,field,'day');}var i;var out=[];for(i=0;i<7;i++){out[i]=get$1(format,(i+shift)%7,field,'day');}return out;}function listMonths(format,index){return listMonthsImpl(format,index,'months');}function listMonthsShort(format,index){return listMonthsImpl(format,index,'monthsShort');}function listWeekdays(localeSorted,format,index){return listWeekdaysImpl(localeSorted,format,index,'weekdays');}function listWeekdaysShort(localeSorted,format,index){return listWeekdaysImpl(localeSorted,format,index,'weekdaysShort');}function listWeekdaysMin(localeSorted,format,index){return listWeekdaysImpl(localeSorted,format,index,'weekdaysMin');}getSetGlobalLocale('en',{dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function ordinal(number){var b=number%10,output=toInt(number%100/10)===1?'th':b===1?'st':b===2?'nd':b===3?'rd':'th';return number+output;}});// Side effect imports
hooks.lang=deprecate('moment.lang is deprecated. Use moment.locale instead.',getSetGlobalLocale);hooks.langData=deprecate('moment.langData is deprecated. Use moment.localeData instead.',getLocale);var mathAbs=Math.abs;function abs(){var data=this._data;this._milliseconds=mathAbs(this._milliseconds);this._days=mathAbs(this._days);this._months=mathAbs(this._months);data.milliseconds=mathAbs(data.milliseconds);data.seconds=mathAbs(data.seconds);data.minutes=mathAbs(data.minutes);data.hours=mathAbs(data.hours);data.months=mathAbs(data.months);data.years=mathAbs(data.years);return this;}function addSubtract$1(duration,input,value,direction){var other=createDuration(input,value);duration._milliseconds+=direction*other._milliseconds;duration._days+=direction*other._days;duration._months+=direction*other._months;return duration._bubble();}// supports only 2.0-style add(1, 's') or add(duration)
function add$1(input,value){return addSubtract$1(this,input,value,1);}// supports only 2.0-style subtract(1, 's') or subtract(duration)
function subtract$1(input,value){return addSubtract$1(this,input,value,-1);}function absCeil(number){if(number<0){return Math.floor(number);}else{return Math.ceil(number);}}function bubble(){var milliseconds=this._milliseconds;var days=this._days;var months=this._months;var data=this._data;var seconds,minutes,hours,years,monthsFromDays;// if we have a mix of positive and negative values, bubble down first
// check: https://github.com/moment/moment/issues/2166
if(!(milliseconds>=0&&days>=0&&months>=0||milliseconds<=0&&days<=0&&months<=0)){milliseconds+=absCeil(monthsToDays(months)+days)*864e5;days=0;months=0;}// The following code bubbles up values, see the tests for
// examples of what that means.
data.milliseconds=milliseconds%1000;seconds=absFloor(milliseconds/1000);data.seconds=seconds%60;minutes=absFloor(seconds/60);data.minutes=minutes%60;hours=absFloor(minutes/60);data.hours=hours%24;days+=absFloor(hours/24);// convert days to months
monthsFromDays=absFloor(daysToMonths(days));months+=monthsFromDays;days-=absCeil(monthsToDays(monthsFromDays));// 12 months -> 1 year
years=absFloor(months/12);months%=12;data.days=days;data.months=months;data.years=years;return this;}function daysToMonths(days){// 400 years have 146097 days (taking into account leap year rules)
// 400 years have 12 months === 4800
return days*4800/146097;}function monthsToDays(months){// the reverse of daysToMonths
return months*146097/4800;}function as(units){if(!this.isValid()){return NaN;}var days;var months;var milliseconds=this._milliseconds;units=normalizeUnits(units);if(units==='month'||units==='year'){days=this._days+milliseconds/864e5;months=this._months+daysToMonths(days);return units==='month'?months:months/12;}else{// handle milliseconds separately because of floating point math errors (issue #1867)
days=this._days+Math.round(monthsToDays(this._months));switch(units){case'week':return days/7+milliseconds/6048e5;case'day':return days+milliseconds/864e5;case'hour':return days*24+milliseconds/36e5;case'minute':return days*1440+milliseconds/6e4;case'second':return days*86400+milliseconds/1000;// Math.floor prevents floating point math errors here
case'millisecond':return Math.floor(days*864e5)+milliseconds;default:throw new Error('Unknown unit '+units);}}}// TODO: Use this.as('ms')?
function valueOf$1(){if(!this.isValid()){return NaN;}return this._milliseconds+this._days*864e5+this._months%12*2592e6+toInt(this._months/12)*31536e6;}function makeAs(alias){return function(){return this.as(alias);};}var asMilliseconds=makeAs('ms');var asSeconds=makeAs('s');var asMinutes=makeAs('m');var asHours=makeAs('h');var asDays=makeAs('d');var asWeeks=makeAs('w');var asMonths=makeAs('M');var asYears=makeAs('y');function clone$1(){return createDuration(this);}function get$2(units){units=normalizeUnits(units);return this.isValid()?this[units+'s']():NaN;}function makeGetter(name){return function(){return this.isValid()?this._data[name]:NaN;};}var milliseconds=makeGetter('milliseconds');var seconds=makeGetter('seconds');var minutes=makeGetter('minutes');var hours=makeGetter('hours');var days=makeGetter('days');var months=makeGetter('months');var years=makeGetter('years');function weeks(){return absFloor(this.days()/7);}var round=Math.round;var thresholds={ss:44,// a few seconds to seconds
s:45,// seconds to minute
m:45,// minutes to hour
h:22,// hours to day
d:26,// days to month
M:11// months to year
};// helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize
function substituteTimeAgo(string,number,withoutSuffix,isFuture,locale){return locale.relativeTime(number||1,!!withoutSuffix,string,isFuture);}function relativeTime$1(posNegDuration,withoutSuffix,locale){var duration=createDuration(posNegDuration).abs();var seconds=round(duration.as('s'));var minutes=round(duration.as('m'));var hours=round(duration.as('h'));var days=round(duration.as('d'));var months=round(duration.as('M'));var years=round(duration.as('y'));var a=seconds<=thresholds.ss&&['s',seconds]||seconds<thresholds.s&&['ss',seconds]||minutes<=1&&['m']||minutes<thresholds.m&&['mm',minutes]||hours<=1&&['h']||hours<thresholds.h&&['hh',hours]||days<=1&&['d']||days<thresholds.d&&['dd',days]||months<=1&&['M']||months<thresholds.M&&['MM',months]||years<=1&&['y']||['yy',years];a[2]=withoutSuffix;a[3]=+posNegDuration>0;a[4]=locale;return substituteTimeAgo.apply(null,a);}// This function allows you to set the rounding function for relative time strings
function getSetRelativeTimeRounding(roundingFunction){if(roundingFunction===undefined){return round;}if(typeof roundingFunction==='function'){round=roundingFunction;return true;}return false;}// This function allows you to set a threshold for relative time strings
function getSetRelativeTimeThreshold(threshold,limit){if(thresholds[threshold]===undefined){return false;}if(limit===undefined){return thresholds[threshold];}thresholds[threshold]=limit;if(threshold==='s'){thresholds.ss=limit-1;}return true;}function humanize(withSuffix){if(!this.isValid()){return this.localeData().invalidDate();}var locale=this.localeData();var output=relativeTime$1(this,!withSuffix,locale);if(withSuffix){output=locale.pastFuture(+this,output);}return locale.postformat(output);}var abs$1=Math.abs;function sign(x){return(x>0)-(x<0)||+x;}function toISOString$1(){// for ISO strings we do not use the normal bubbling rules:
//  * milliseconds bubble up until they become hours
//  * days do not bubble at all
//  * months bubble up until they become years
// This is because there is no context-free conversion between hours and days
// (think of clock changes)
// and also not between days and months (28-31 days per month)
if(!this.isValid()){return this.localeData().invalidDate();}var seconds=abs$1(this._milliseconds)/1000;var days=abs$1(this._days);var months=abs$1(this._months);var minutes,hours,years;// 3600 seconds -> 60 minutes -> 1 hour
minutes=absFloor(seconds/60);hours=absFloor(minutes/60);seconds%=60;minutes%=60;// 12 months -> 1 year
years=absFloor(months/12);months%=12;// inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js
var Y=years;var M=months;var D=days;var h=hours;var m=minutes;var s=seconds?seconds.toFixed(3).replace(/\.?0+$/,''):'';var total=this.asSeconds();if(!total){// this is the same as C#'s (Noda) and python (isodate)...
// but not other JS (goog.date)
return'P0D';}var totalSign=total<0?'-':'';var ymSign=sign(this._months)!==sign(total)?'-':'';var daysSign=sign(this._days)!==sign(total)?'-':'';var hmsSign=sign(this._milliseconds)!==sign(total)?'-':'';return totalSign+'P'+(Y?ymSign+Y+'Y':'')+(M?ymSign+M+'M':'')+(D?daysSign+D+'D':'')+(h||m||s?'T':'')+(h?hmsSign+h+'H':'')+(m?hmsSign+m+'M':'')+(s?hmsSign+s+'S':'');}var proto$2=Duration.prototype;proto$2.isValid=isValid$1;proto$2.abs=abs;proto$2.add=add$1;proto$2.subtract=subtract$1;proto$2.as=as;proto$2.asMilliseconds=asMilliseconds;proto$2.asSeconds=asSeconds;proto$2.asMinutes=asMinutes;proto$2.asHours=asHours;proto$2.asDays=asDays;proto$2.asWeeks=asWeeks;proto$2.asMonths=asMonths;proto$2.asYears=asYears;proto$2.valueOf=valueOf$1;proto$2._bubble=bubble;proto$2.clone=clone$1;proto$2.get=get$2;proto$2.milliseconds=milliseconds;proto$2.seconds=seconds;proto$2.minutes=minutes;proto$2.hours=hours;proto$2.days=days;proto$2.weeks=weeks;proto$2.months=months;proto$2.years=years;proto$2.humanize=humanize;proto$2.toISOString=toISOString$1;proto$2.toString=toISOString$1;proto$2.toJSON=toISOString$1;proto$2.locale=locale;proto$2.localeData=localeData;proto$2.toIsoString=deprecate('toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)',toISOString$1);proto$2.lang=lang;// Side effect imports
// FORMATTING
addFormatToken('X',0,0,'unix');addFormatToken('x',0,0,'valueOf');// PARSING
addRegexToken('x',matchSigned);addRegexToken('X',matchTimestamp);addParseToken('X',function(input,array,config){config._d=new Date(parseFloat(input,10)*1000);});addParseToken('x',function(input,array,config){config._d=new Date(toInt(input));});// Side effect imports
hooks.version='2.23.0';setHookCallback(createLocal);hooks.fn=proto;hooks.min=min;hooks.max=max;hooks.now=now;hooks.utc=createUTC;hooks.unix=createUnix;hooks.months=listMonths;hooks.isDate=isDate;hooks.locale=getSetGlobalLocale;hooks.invalid=createInvalid;hooks.duration=createDuration;hooks.isMoment=isMoment;hooks.weekdays=listWeekdays;hooks.parseZone=createInZone;hooks.localeData=getLocale;hooks.isDuration=isDuration;hooks.monthsShort=listMonthsShort;hooks.weekdaysMin=listWeekdaysMin;hooks.defineLocale=defineLocale;hooks.updateLocale=updateLocale;hooks.locales=listLocales;hooks.weekdaysShort=listWeekdaysShort;hooks.normalizeUnits=normalizeUnits;hooks.relativeTimeRounding=getSetRelativeTimeRounding;hooks.relativeTimeThreshold=getSetRelativeTimeThreshold;hooks.calendarFormat=getCalendarFormat;hooks.prototype=proto;// currently HTML5 input type only supports 24-hour formats
hooks.HTML5_FMT={DATETIME_LOCAL:'YYYY-MM-DDTHH:mm',// <input type="datetime-local" />
DATETIME_LOCAL_SECONDS:'YYYY-MM-DDTHH:mm:ss',// <input type="datetime-local" step="1" />
DATETIME_LOCAL_MS:'YYYY-MM-DDTHH:mm:ss.SSS',// <input type="datetime-local" step="0.001" />
DATE:'YYYY-MM-DD',// <input type="date" />
TIME:'HH:mm',// <input type="time" />
TIME_SECONDS:'HH:mm:ss',// <input type="time" step="1" />
TIME_MS:'HH:mm:ss.SSS',// <input type="time" step="0.001" />
WEEK:'GGGG-[W]WW',// <input type="week" />
MONTH:'YYYY-MM'// <input type="month" />
};return hooks;});/* WEBPACK VAR INJECTION */}).call(exports,__webpack_require__(202)(module));/***/},/* 1 *//***/function(module,exports,__webpack_require__){"use strict";module.exports=__webpack_require__(14);module.exports.easing=__webpack_require__(180);module.exports.canvas=__webpack_require__(181);module.exports.options=__webpack_require__(182);/***/},/* 2 *//***/function(module,exports,__webpack_require__){"use strict";var helpers=__webpack_require__(1);module.exports={/**
	 * @private
	 */_set:function _set(scope,values){return helpers.merge(this[scope]||(this[scope]={}),values);}};/***/},/* 3 *//***/function(module,exports,__webpack_require__){"use strict";var color=__webpack_require__(20);var helpers=__webpack_require__(1);function interpolate(start,view,model,ease){var keys=Object.keys(model);var i,ilen,key,actual,origin,target,type,c0,c1;for(i=0,ilen=keys.length;i<ilen;++i){key=keys[i];target=model[key];// if a value is added to the model after pivot() has been called, the view
// doesn't contain it, so let's initialize the view to the target value.
if(!view.hasOwnProperty(key)){view[key]=target;}actual=view[key];if(actual===target||key[0]==='_'){continue;}if(!start.hasOwnProperty(key)){start[key]=actual;}origin=start[key];type=typeof target==='undefined'?'undefined':_typeof2(target);if(type===(typeof origin==='undefined'?'undefined':_typeof2(origin))){if(type==='string'){c0=color(origin);if(c0.valid){c1=color(target);if(c1.valid){view[key]=c1.mix(c0,ease).rgbString();continue;}}}else if(type==='number'&&isFinite(origin)&&isFinite(target)){view[key]=origin+(target-origin)*ease;continue;}}view[key]=target;}}var Element=function Element(configuration){helpers.extend(this,configuration);this.initialize.apply(this,arguments);};helpers.extend(Element.prototype,{initialize:function initialize(){this.hidden=false;},pivot:function pivot(){var me=this;if(!me._view){me._view=helpers.clone(me._model);}me._start={};return me;},transition:function transition(ease){var me=this;var model=me._model;var start=me._start;var view=me._view;// No animation -> No Transition
if(!model||ease===1){me._view=model;me._start=null;return me;}if(!view){view=me._view={};}if(!start){start=me._start={};}interpolate(start,view,model,ease);return me;},tooltipPosition:function tooltipPosition(){return{x:this._model.x,y:this._model.y};},hasValue:function hasValue(){return helpers.isNumber(this._model.x)&&helpers.isNumber(this._model.y);}});Element.extend=helpers.inherits;module.exports=Element;/***/},/* 4 *//***/function(module,exports,__webpack_require__){"use strict";var defaults=__webpack_require__(2);var helpers=__webpack_require__(1);var layouts=__webpack_require__(10);module.exports={// Scale registration object. Extensions can register new scale types (such as log or DB scales) and then
// use the new chart options to grab the correct scale
constructors:{},// Use a registration function so that we can move to an ES6 map when we no longer need to support
// old browsers
// Scale config defaults
defaults:{},registerScaleType:function registerScaleType(type,scaleConstructor,scaleDefaults){this.constructors[type]=scaleConstructor;this.defaults[type]=helpers.clone(scaleDefaults);},getScaleConstructor:function getScaleConstructor(type){return this.constructors.hasOwnProperty(type)?this.constructors[type]:undefined;},getScaleDefaults:function getScaleDefaults(type){// Return the scale defaults merged with the global settings so that we always use the latest ones
return this.defaults.hasOwnProperty(type)?helpers.merge({},[defaults.scale,this.defaults[type]]):{};},updateScaleDefaults:function updateScaleDefaults(type,additions){var me=this;if(me.defaults.hasOwnProperty(type)){me.defaults[type]=helpers.extend(me.defaults[type],additions);}},addScalesToLayout:function addScalesToLayout(chart){// Adds each scale to the chart.boxes array to be sized accordingly
helpers.each(chart.scales,function(scale){// Set ILayoutItem parameters for backwards compatibility
scale.fullWidth=scale.options.fullWidth;scale.position=scale.options.position;scale.weight=scale.options.weight;layouts.addBox(chart,scale);});}};/***/},/* 5 *//***/function(module,exports,__webpack_require__){"use strict";module.exports={};module.exports.Arc=__webpack_require__(188);module.exports.Line=__webpack_require__(189);module.exports.Point=__webpack_require__(190);module.exports.Rectangle=__webpack_require__(191);/***/},/* 6 *//***/function(module,exports){/*
	MIT License http://www.opensource.org/licenses/mit-license.php
	Author Tobias Koppers @sokra
*/// css base code, injected by the css-loader
module.exports=function(useSourceMap){var list=[];// return the list of modules as css string
list.toString=function toString(){return this.map(function(item){var content=cssWithMappingToString(item,useSourceMap);if(item[2]){return"@media "+item[2]+"{"+content+"}";}else{return content;}}).join("");};// import a list of modules into the list
list.i=function(modules,mediaQuery){if(typeof modules==="string")modules=[[null,modules,""]];var alreadyImportedModules={};for(var i=0;i<this.length;i++){var id=this[i][0];if(typeof id==="number")alreadyImportedModules[id]=true;}for(i=0;i<modules.length;i++){var item=modules[i];// skip already imported module
// this implementation is not 100% perfect for weird media query combinations
//  when a module is imported multiple times with different media queries.
//  I hope this will never occur (Hey this way we have smaller bundles)
if(typeof item[0]!=="number"||!alreadyImportedModules[item[0]]){if(mediaQuery&&!item[2]){item[2]=mediaQuery;}else if(mediaQuery){item[2]="("+item[2]+") and ("+mediaQuery+")";}list.push(item);}}};return list;};function cssWithMappingToString(item,useSourceMap){var content=item[1]||'';var cssMapping=item[3];if(!cssMapping){return content;}if(useSourceMap&&typeof btoa==='function'){var sourceMapping=toComment(cssMapping);var sourceURLs=cssMapping.sources.map(function(source){return'/*# sourceURL='+cssMapping.sourceRoot+source+' */';});return[content].concat(sourceURLs).concat([sourceMapping]).join('\n');}return[content].join('\n');}// Adapted from convert-source-map (MIT)
function toComment(sourceMap){// eslint-disable-next-line no-undef
var base64=btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap))));var data='sourceMappingURL=data:application/json;charset=utf-8;base64,'+base64;return'/*# '+data+' */';}/***/},/* 7 *//***/function(module,exports,__webpack_require__){/*
  MIT License http://www.opensource.org/licenses/mit-license.php
  Author Tobias Koppers @sokra
  Modified by Evan You @yyx990803
*/var hasDocument=typeof document!=='undefined';if(typeof DEBUG!=='undefined'&&DEBUG){if(!hasDocument){throw new Error('vue-style-loader cannot be used in a non-browser environment. '+"Use { target: 'node' } in your Webpack config to indicate a server-rendering environment.");}}var listToStyles=__webpack_require__(164);/*
type StyleObject = {
  id: number;
  parts: Array<StyleObjectPart>
}

type StyleObjectPart = {
  css: string;
  media: string;
  sourceMap: ?string
}
*/var stylesInDom={/*
  [id: number]: {
    id: number,
    refs: number,
    parts: Array<(obj?: StyleObjectPart) => void>
  }
*/};var head=hasDocument&&(document.head||document.getElementsByTagName('head')[0]);var singletonElement=null;var singletonCounter=0;var isProduction=false;var noop=function noop(){};var options=null;var ssrIdKey='data-vue-ssr-id';// Force single-tag solution on IE6-9, which has a hard limit on the # of <style>
// tags it will allow on a page
var isOldIE=typeof navigator!=='undefined'&&/msie [6-9]\b/.test(navigator.userAgent.toLowerCase());module.exports=function(parentId,list,_isProduction,_options){isProduction=_isProduction;options=_options||{};var styles=listToStyles(parentId,list);addStylesToDom(styles);return function update(newList){var mayRemove=[];for(var i=0;i<styles.length;i++){var item=styles[i];var domStyle=stylesInDom[item.id];domStyle.refs--;mayRemove.push(domStyle);}if(newList){styles=listToStyles(parentId,newList);addStylesToDom(styles);}else{styles=[];}for(var i=0;i<mayRemove.length;i++){var domStyle=mayRemove[i];if(domStyle.refs===0){for(var j=0;j<domStyle.parts.length;j++){domStyle.parts[j]();}delete stylesInDom[domStyle.id];}}};};function addStylesToDom(styles/* Array<StyleObject> */){for(var i=0;i<styles.length;i++){var item=styles[i];var domStyle=stylesInDom[item.id];if(domStyle){domStyle.refs++;for(var j=0;j<domStyle.parts.length;j++){domStyle.parts[j](item.parts[j]);}for(;j<item.parts.length;j++){domStyle.parts.push(addStyle(item.parts[j]));}if(domStyle.parts.length>item.parts.length){domStyle.parts.length=item.parts.length;}}else{var parts=[];for(var j=0;j<item.parts.length;j++){parts.push(addStyle(item.parts[j]));}stylesInDom[item.id]={id:item.id,refs:1,parts:parts};}}}function createStyleElement(){var styleElement=document.createElement('style');styleElement.type='text/css';head.appendChild(styleElement);return styleElement;}function addStyle(obj/* StyleObjectPart */){var update,remove;var styleElement=document.querySelector('style['+ssrIdKey+'~="'+obj.id+'"]');if(styleElement){if(isProduction){// has SSR styles and in production mode.
// simply do nothing.
return noop;}else{// has SSR styles but in dev mode.
// for some reason Chrome can't handle source map in server-rendered
// style tags - source maps in <style> only works if the style tag is
// created and inserted dynamically. So we remove the server rendered
// styles and inject new ones.
styleElement.parentNode.removeChild(styleElement);}}if(isOldIE){// use singleton mode for IE9.
var styleIndex=singletonCounter++;styleElement=singletonElement||(singletonElement=createStyleElement());update=applyToSingletonTag.bind(null,styleElement,styleIndex,false);remove=applyToSingletonTag.bind(null,styleElement,styleIndex,true);}else{// use multi-style-tag mode in all other cases
styleElement=createStyleElement();update=applyToTag.bind(null,styleElement);remove=function remove(){styleElement.parentNode.removeChild(styleElement);};}update(obj);return function updateStyle(newObj/* StyleObjectPart */){if(newObj){if(newObj.css===obj.css&&newObj.media===obj.media&&newObj.sourceMap===obj.sourceMap){return;}update(obj=newObj);}else{remove();}};}var replaceText=function(){var textStore=[];return function(index,replacement){textStore[index]=replacement;return textStore.filter(Boolean).join('\n');};}();function applyToSingletonTag(styleElement,index,remove,obj){var css=remove?'':obj.css;if(styleElement.styleSheet){styleElement.styleSheet.cssText=replaceText(index,css);}else{var cssNode=document.createTextNode(css);var childNodes=styleElement.childNodes;if(childNodes[index])styleElement.removeChild(childNodes[index]);if(childNodes.length){styleElement.insertBefore(cssNode,childNodes[index]);}else{styleElement.appendChild(cssNode);}}}function applyToTag(styleElement,obj){var css=obj.css;var media=obj.media;var sourceMap=obj.sourceMap;if(media){styleElement.setAttribute('media',media);}if(options.ssrId){styleElement.setAttribute(ssrIdKey,obj.id);}if(sourceMap){// https://developer.chrome.com/devtools/docs/javascript-debugging
// this makes source maps inside style tags work properly in Chrome
css+='\n/*# sourceURL='+sourceMap.sources[0]+' */';// http://stackoverflow.com/a/26603875
css+='\n/*# sourceMappingURL=data:application/json;base64,'+btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap))))+' */';}if(styleElement.styleSheet){styleElement.styleSheet.cssText=css;}else{while(styleElement.firstChild){styleElement.removeChild(styleElement.firstChild);}styleElement.appendChild(document.createTextNode(css));}}/***/},/* 8 *//***/function(module,exports){/* globals __VUE_SSR_CONTEXT__ */// IMPORTANT: Do NOT use ES2015 features in this file.
// This module is a runtime utility for cleaner component module output and will
// be included in the final webpack user bundle.
module.exports=function normalizeComponent(rawScriptExports,compiledTemplate,functionalTemplate,injectStyles,scopeId,moduleIdentifier/* server only */){var esModule;var scriptExports=rawScriptExports=rawScriptExports||{};// ES6 modules interop
var type=_typeof2(rawScriptExports.default);if(type==='object'||type==='function'){esModule=rawScriptExports;scriptExports=rawScriptExports.default;}// Vue.extend constructor export interop
var options=typeof scriptExports==='function'?scriptExports.options:scriptExports;// render functions
if(compiledTemplate){options.render=compiledTemplate.render;options.staticRenderFns=compiledTemplate.staticRenderFns;options._compiled=true;}// functional template
if(functionalTemplate){options.functional=true;}// scopedId
if(scopeId){options._scopeId=scopeId;}var hook;if(moduleIdentifier){// server build
hook=function hook(context){// 2.3 injection
context=context||// cached call
this.$vnode&&this.$vnode.ssrContext||// stateful
this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext;// functional
// 2.2 with runInNewContext: true
if(!context&&typeof __VUE_SSR_CONTEXT__!=='undefined'){context=__VUE_SSR_CONTEXT__;}// inject component styles
if(injectStyles){injectStyles.call(this,context);}// register component module identifier for async chunk inferrence
if(context&&context._registeredComponents){context._registeredComponents.add(moduleIdentifier);}};// used by ssr in case component is cached and beforeCreate
// never gets called
options._ssrRegister=hook;}else if(injectStyles){hook=injectStyles;}if(hook){var functional=options.functional;var existing=functional?options.render:options.beforeCreate;if(!functional){// inject component registration as beforeCreate hook
options.beforeCreate=existing?[].concat(existing,hook):[hook];}else{// for template-only hot-reload because in that case the render fn doesn't
// go through the normalizer
options._injectStyles=hook;// register for functioal component in vue file
options.render=function renderWithStyleInjection(h,context){hook.call(context);return existing(h,context);};}}return{esModule:esModule,exports:scriptExports,options:options};};/***/},/* 9 *//***/function(module,__webpack_exports__,__webpack_require__){"use strict";/* WEBPACK VAR INJECTION */(function(process,global,setImmediate){/*!
 * Vue.js v2.5.22
 * (c) 2014-2019 Evan You
 * Released under the MIT License.
 *//*  */var emptyObject=Object.freeze({});// These helpers produce better VM code in JS engines due to their
// explicitness and function inlining.
function isUndef(v){return v===undefined||v===null;}function isDef(v){return v!==undefined&&v!==null;}function isTrue(v){return v===true;}function isFalse(v){return v===false;}/**
 * Check if value is primitive.
 */function isPrimitive(value){return typeof value==='string'||typeof value==='number'||// $flow-disable-line
(typeof value==='undefined'?'undefined':_typeof2(value))==='symbol'||typeof value==='boolean';}/**
 * Quick object check - this is primarily used to tell
 * Objects from primitive values when we know the value
 * is a JSON-compliant type.
 */function isObject(obj){return obj!==null&&(typeof obj==='undefined'?'undefined':_typeof2(obj))==='object';}/**
 * Get the raw type string of a value, e.g., [object Object].
 */var _toString=Object.prototype.toString;function toRawType(value){return _toString.call(value).slice(8,-1);}/**
 * Strict object type check. Only returns true
 * for plain JavaScript objects.
 */function isPlainObject(obj){return _toString.call(obj)==='[object Object]';}function isRegExp(v){return _toString.call(v)==='[object RegExp]';}/**
 * Check if val is a valid array index.
 */function isValidArrayIndex(val){var n=parseFloat(String(val));return n>=0&&Math.floor(n)===n&&isFinite(val);}/**
 * Convert a value to a string that is actually rendered.
 */function toString(val){return val==null?'':(typeof val==='undefined'?'undefined':_typeof2(val))==='object'?JSON.stringify(val,null,2):String(val);}/**
 * Convert an input value to a number for persistence.
 * If the conversion fails, return original string.
 */function toNumber(val){var n=parseFloat(val);return isNaN(n)?val:n;}/**
 * Make a map and return a function for checking if a key
 * is in that map.
 */function makeMap(str,expectsLowerCase){var map=Object.create(null);var list=str.split(',');for(var i=0;i<list.length;i++){map[list[i]]=true;}return expectsLowerCase?function(val){return map[val.toLowerCase()];}:function(val){return map[val];};}/**
 * Check if a tag is a built-in tag.
 */var isBuiltInTag=makeMap('slot,component',true);/**
 * Check if an attribute is a reserved attribute.
 */var isReservedAttribute=makeMap('key,ref,slot,slot-scope,is');/**
 * Remove an item from an array.
 */function remove(arr,item){if(arr.length){var index=arr.indexOf(item);if(index>-1){return arr.splice(index,1);}}}/**
 * Check whether an object has the property.
 */var hasOwnProperty=Object.prototype.hasOwnProperty;function hasOwn(obj,key){return hasOwnProperty.call(obj,key);}/**
 * Create a cached version of a pure function.
 */function cached(fn){var cache=Object.create(null);return function cachedFn(str){var hit=cache[str];return hit||(cache[str]=fn(str));};}/**
 * Camelize a hyphen-delimited string.
 */var camelizeRE=/-(\w)/g;var camelize=cached(function(str){return str.replace(camelizeRE,function(_,c){return c?c.toUpperCase():'';});});/**
 * Capitalize a string.
 */var capitalize=cached(function(str){return str.charAt(0).toUpperCase()+str.slice(1);});/**
 * Hyphenate a camelCase string.
 */var hyphenateRE=/\B([A-Z])/g;var hyphenate=cached(function(str){return str.replace(hyphenateRE,'-$1').toLowerCase();});/**
 * Simple bind polyfill for environments that do not support it,
 * e.g., PhantomJS 1.x. Technically, we don't need this anymore
 * since native bind is now performant enough in most browsers.
 * But removing it would mean breaking code that was able to run in
 * PhantomJS 1.x, so this must be kept for backward compatibility.
 *//* istanbul ignore next */function polyfillBind(fn,ctx){function boundFn(a){var l=arguments.length;return l?l>1?fn.apply(ctx,arguments):fn.call(ctx,a):fn.call(ctx);}boundFn._length=fn.length;return boundFn;}function nativeBind(fn,ctx){return fn.bind(ctx);}var bind=Function.prototype.bind?nativeBind:polyfillBind;/**
 * Convert an Array-like object to a real Array.
 */function toArray(list,start){start=start||0;var i=list.length-start;var ret=new Array(i);while(i--){ret[i]=list[i+start];}return ret;}/**
 * Mix properties into target object.
 */function extend(to,_from){for(var key in _from){to[key]=_from[key];}return to;}/**
 * Merge an Array of Objects into a single Object.
 */function toObject(arr){var res={};for(var i=0;i<arr.length;i++){if(arr[i]){extend(res,arr[i]);}}return res;}/* eslint-disable no-unused-vars *//**
 * Perform no operation.
 * Stubbing args to make Flow happy without leaving useless transpiled code
 * with ...rest (https://flow.org/blog/2017/05/07/Strict-Function-Call-Arity/).
 */function noop(a,b,c){}/**
 * Always return false.
 */var no=function no(a,b,c){return false;};/* eslint-enable no-unused-vars *//**
 * Return the same value.
 */var identity=function identity(_){return _;};/**
 * Generate a string containing static keys from compiler modules.
 */function genStaticKeys(modules){return modules.reduce(function(keys,m){return keys.concat(m.staticKeys||[]);},[]).join(',');}/**
 * Check if two values are loosely equal - that is,
 * if they are plain objects, do they have the same shape?
 */function looseEqual(a,b){if(a===b){return true;}var isObjectA=isObject(a);var isObjectB=isObject(b);if(isObjectA&&isObjectB){try{var isArrayA=Array.isArray(a);var isArrayB=Array.isArray(b);if(isArrayA&&isArrayB){return a.length===b.length&&a.every(function(e,i){return looseEqual(e,b[i]);});}else if(a instanceof Date&&b instanceof Date){return a.getTime()===b.getTime();}else if(!isArrayA&&!isArrayB){var keysA=Object.keys(a);var keysB=Object.keys(b);return keysA.length===keysB.length&&keysA.every(function(key){return looseEqual(a[key],b[key]);});}else{/* istanbul ignore next */return false;}}catch(e){/* istanbul ignore next */return false;}}else if(!isObjectA&&!isObjectB){return String(a)===String(b);}else{return false;}}/**
 * Return the first index at which a loosely equal value can be
 * found in the array (if value is a plain object, the array must
 * contain an object of the same shape), or -1 if it is not present.
 */function looseIndexOf(arr,val){for(var i=0;i<arr.length;i++){if(looseEqual(arr[i],val)){return i;}}return-1;}/**
 * Ensure a function is called only once.
 */function once(fn){var called=false;return function(){if(!called){called=true;fn.apply(this,arguments);}};}var SSR_ATTR='data-server-rendered';var ASSET_TYPES=['component','directive','filter'];var LIFECYCLE_HOOKS=['beforeCreate','created','beforeMount','mounted','beforeUpdate','updated','beforeDestroy','destroyed','activated','deactivated','errorCaptured'];/*  */var config={/**
   * Option merge strategies (used in core/util/options)
   */// $flow-disable-line
optionMergeStrategies:Object.create(null),/**
   * Whether to suppress warnings.
   */silent:false,/**
   * Show production mode tip message on boot?
   */productionTip:process.env.NODE_ENV!=='production',/**
   * Whether to enable devtools
   */devtools:process.env.NODE_ENV!=='production',/**
   * Whether to record perf
   */performance:false,/**
   * Error handler for watcher errors
   */errorHandler:null,/**
   * Warn handler for watcher warns
   */warnHandler:null,/**
   * Ignore certain custom elements
   */ignoredElements:[],/**
   * Custom user key aliases for v-on
   */// $flow-disable-line
keyCodes:Object.create(null),/**
   * Check if a tag is reserved so that it cannot be registered as a
   * component. This is platform-dependent and may be overwritten.
   */isReservedTag:no,/**
   * Check if an attribute is reserved so that it cannot be used as a component
   * prop. This is platform-dependent and may be overwritten.
   */isReservedAttr:no,/**
   * Check if a tag is an unknown element.
   * Platform-dependent.
   */isUnknownElement:no,/**
   * Get the namespace of an element
   */getTagNamespace:noop,/**
   * Parse the real tag name for the specific platform.
   */parsePlatformTagName:identity,/**
   * Check if an attribute must be bound using property, e.g. value
   * Platform-dependent.
   */mustUseProp:no,/**
   * Perform updates asynchronously. Intended to be used by Vue Test Utils
   * This will significantly reduce performance if set to false.
   */async:true,/**
   * Exposed for legacy reasons
   */_lifecycleHooks:LIFECYCLE_HOOKS};/*  *//**
 * Check if a string starts with $ or _
 */function isReserved(str){var c=(str+'').charCodeAt(0);return c===0x24||c===0x5F;}/**
 * Define a property.
 */function def(obj,key,val,enumerable){Object.defineProperty(obj,key,{value:val,enumerable:!!enumerable,writable:true,configurable:true});}/**
 * Parse simple path.
 */var bailRE=/[^\w.$]/;function parsePath(path){if(bailRE.test(path)){return;}var segments=path.split('.');return function(obj){for(var i=0;i<segments.length;i++){if(!obj){return;}obj=obj[segments[i]];}return obj;};}/*  */// can we use __proto__?
var hasProto='__proto__'in{};// Browser environment sniffing
var inBrowser=typeof window!=='undefined';var inWeex=typeof WXEnvironment!=='undefined'&&!!WXEnvironment.platform;var weexPlatform=inWeex&&WXEnvironment.platform.toLowerCase();var UA=inBrowser&&window.navigator.userAgent.toLowerCase();var isIE=UA&&/msie|trident/.test(UA);var isIE9=UA&&UA.indexOf('msie 9.0')>0;var isEdge=UA&&UA.indexOf('edge/')>0;var isAndroid=UA&&UA.indexOf('android')>0||weexPlatform==='android';var isIOS=UA&&/iphone|ipad|ipod|ios/.test(UA)||weexPlatform==='ios';var isChrome=UA&&/chrome\/\d+/.test(UA)&&!isEdge;// Firefox has a "watch" function on Object.prototype...
var nativeWatch={}.watch;var supportsPassive=false;if(inBrowser){try{var opts={};Object.defineProperty(opts,'passive',{get:function get(){/* istanbul ignore next */supportsPassive=true;}});// https://github.com/facebook/flow/issues/285
window.addEventListener('test-passive',null,opts);}catch(e){}}// this needs to be lazy-evaled because vue may be required before
// vue-server-renderer can set VUE_ENV
var _isServer;var isServerRendering=function isServerRendering(){if(_isServer===undefined){/* istanbul ignore if */if(!inBrowser&&!inWeex&&typeof global!=='undefined'){// detect presence of vue-server-renderer and avoid
// Webpack shimming the process
_isServer=global['process']&&global['process'].env.VUE_ENV==='server';}else{_isServer=false;}}return _isServer;};// detect devtools
var devtools=inBrowser&&window.__VUE_DEVTOOLS_GLOBAL_HOOK__;/* istanbul ignore next */function isNative(Ctor){return typeof Ctor==='function'&&/native code/.test(Ctor.toString());}var hasSymbol=typeof Symbol!=='undefined'&&isNative(Symbol)&&typeof Reflect!=='undefined'&&isNative(Reflect.ownKeys);var _Set;/* istanbul ignore if */// $flow-disable-line
if(typeof Set!=='undefined'&&isNative(Set)){// use native Set when available.
_Set=Set;}else{// a non-standard Set polyfill that only works with primitive keys.
_Set=/*@__PURE__*/function(){function Set(){this.set=Object.create(null);}Set.prototype.has=function has(key){return this.set[key]===true;};Set.prototype.add=function add(key){this.set[key]=true;};Set.prototype.clear=function clear(){this.set=Object.create(null);};return Set;}();}/*  */var warn=noop;var tip=noop;var generateComponentTrace=noop;// work around flow check
var formatComponentName=noop;if(process.env.NODE_ENV!=='production'){var hasConsole=typeof console!=='undefined';var classifyRE=/(?:^|[-_])(\w)/g;var classify=function classify(str){return str.replace(classifyRE,function(c){return c.toUpperCase();}).replace(/[-_]/g,'');};warn=function warn(msg,vm){var trace=vm?generateComponentTrace(vm):'';if(config.warnHandler){config.warnHandler.call(null,msg,vm,trace);}else if(hasConsole&&!config.silent){console.error("[Vue warn]: "+msg+trace);}};tip=function tip(msg,vm){if(hasConsole&&!config.silent){console.warn("[Vue tip]: "+msg+(vm?generateComponentTrace(vm):''));}};formatComponentName=function formatComponentName(vm,includeFile){if(vm.$root===vm){return'<Root>';}var options=typeof vm==='function'&&vm.cid!=null?vm.options:vm._isVue?vm.$options||vm.constructor.options:vm;var name=options.name||options._componentTag;var file=options.__file;if(!name&&file){var match=file.match(/([^/\\]+)\.vue$/);name=match&&match[1];}return(name?"<"+classify(name)+">":"<Anonymous>")+(file&&includeFile!==false?" at "+file:'');};var repeat=function repeat(str,n){var res='';while(n){if(n%2===1){res+=str;}if(n>1){str+=str;}n>>=1;}return res;};generateComponentTrace=function generateComponentTrace(vm){if(vm._isVue&&vm.$parent){var tree=[];var currentRecursiveSequence=0;while(vm){if(tree.length>0){var last=tree[tree.length-1];if(last.constructor===vm.constructor){currentRecursiveSequence++;vm=vm.$parent;continue;}else if(currentRecursiveSequence>0){tree[tree.length-1]=[last,currentRecursiveSequence];currentRecursiveSequence=0;}}tree.push(vm);vm=vm.$parent;}return'\n\nfound in\n\n'+tree.map(function(vm,i){return""+(i===0?'---> ':repeat(' ',5+i*2))+(Array.isArray(vm)?formatComponentName(vm[0])+"... ("+vm[1]+" recursive calls)":formatComponentName(vm));}).join('\n');}else{return"\n\n(found in "+formatComponentName(vm)+")";}};}/*  */var uid=0;/**
 * A dep is an observable that can have multiple
 * directives subscribing to it.
 */var Dep=function Dep(){this.id=uid++;this.subs=[];};Dep.prototype.addSub=function addSub(sub){this.subs.push(sub);};Dep.prototype.removeSub=function removeSub(sub){remove(this.subs,sub);};Dep.prototype.depend=function depend(){if(Dep.target){Dep.target.addDep(this);}};Dep.prototype.notify=function notify(){// stabilize the subscriber list first
var subs=this.subs.slice();if(process.env.NODE_ENV!=='production'&&!config.async){// subs aren't sorted in scheduler if not running async
// we need to sort them now to make sure they fire in correct
// order
subs.sort(function(a,b){return a.id-b.id;});}for(var i=0,l=subs.length;i<l;i++){subs[i].update();}};// The current target watcher being evaluated.
// This is globally unique because only one watcher
// can be evaluated at a time.
Dep.target=null;var targetStack=[];function pushTarget(target){targetStack.push(target);Dep.target=target;}function popTarget(){targetStack.pop();Dep.target=targetStack[targetStack.length-1];}/*  */var VNode=function VNode(tag,data,children,text,elm,context,componentOptions,asyncFactory){this.tag=tag;this.data=data;this.children=children;this.text=text;this.elm=elm;this.ns=undefined;this.context=context;this.fnContext=undefined;this.fnOptions=undefined;this.fnScopeId=undefined;this.key=data&&data.key;this.componentOptions=componentOptions;this.componentInstance=undefined;this.parent=undefined;this.raw=false;this.isStatic=false;this.isRootInsert=true;this.isComment=false;this.isCloned=false;this.isOnce=false;this.asyncFactory=asyncFactory;this.asyncMeta=undefined;this.isAsyncPlaceholder=false;};var prototypeAccessors={child:{configurable:true}};// DEPRECATED: alias for componentInstance for backwards compat.
/* istanbul ignore next */prototypeAccessors.child.get=function(){return this.componentInstance;};Object.defineProperties(VNode.prototype,prototypeAccessors);var createEmptyVNode=function createEmptyVNode(text){if(text===void 0)text='';var node=new VNode();node.text=text;node.isComment=true;return node;};function createTextVNode(val){return new VNode(undefined,undefined,undefined,String(val));}// optimized shallow clone
// used for static nodes and slot nodes because they may be reused across
// multiple renders, cloning them avoids errors when DOM manipulations rely
// on their elm reference.
function cloneVNode(vnode){var cloned=new VNode(vnode.tag,vnode.data,// #7975
// clone children array to avoid mutating original in case of cloning
// a child.
vnode.children&&vnode.children.slice(),vnode.text,vnode.elm,vnode.context,vnode.componentOptions,vnode.asyncFactory);cloned.ns=vnode.ns;cloned.isStatic=vnode.isStatic;cloned.key=vnode.key;cloned.isComment=vnode.isComment;cloned.fnContext=vnode.fnContext;cloned.fnOptions=vnode.fnOptions;cloned.fnScopeId=vnode.fnScopeId;cloned.asyncMeta=vnode.asyncMeta;cloned.isCloned=true;return cloned;}/*
 * not type checking this file because flow doesn't play well with
 * dynamically accessing methods on Array prototype
 */var arrayProto=Array.prototype;var arrayMethods=Object.create(arrayProto);var methodsToPatch=['push','pop','shift','unshift','splice','sort','reverse'];/**
 * Intercept mutating methods and emit events
 */methodsToPatch.forEach(function(method){// cache original method
var original=arrayProto[method];def(arrayMethods,method,function mutator(){var args=[],len=arguments.length;while(len--){args[len]=arguments[len];}var result=original.apply(this,args);var ob=this.__ob__;var inserted;switch(method){case'push':case'unshift':inserted=args;break;case'splice':inserted=args.slice(2);break;}if(inserted){ob.observeArray(inserted);}// notify change
ob.dep.notify();return result;});});/*  */var arrayKeys=Object.getOwnPropertyNames(arrayMethods);/**
 * In some cases we may want to disable observation inside a component's
 * update computation.
 */var shouldObserve=true;function toggleObserving(value){shouldObserve=value;}/**
 * Observer class that is attached to each observed
 * object. Once attached, the observer converts the target
 * object's property keys into getter/setters that
 * collect dependencies and dispatch updates.
 */var Observer=function Observer(value){this.value=value;this.dep=new Dep();this.vmCount=0;def(value,'__ob__',this);if(Array.isArray(value)){if(hasProto){protoAugment(value,arrayMethods);}else{copyAugment(value,arrayMethods,arrayKeys);}this.observeArray(value);}else{this.walk(value);}};/**
 * Walk through all properties and convert them into
 * getter/setters. This method should only be called when
 * value type is Object.
 */Observer.prototype.walk=function walk(obj){var keys=Object.keys(obj);for(var i=0;i<keys.length;i++){defineReactive$$1(obj,keys[i]);}};/**
 * Observe a list of Array items.
 */Observer.prototype.observeArray=function observeArray(items){for(var i=0,l=items.length;i<l;i++){observe(items[i]);}};// helpers
/**
 * Augment a target Object or Array by intercepting
 * the prototype chain using __proto__
 */function protoAugment(target,src){/* eslint-disable no-proto */target.__proto__=src;/* eslint-enable no-proto */}/**
 * Augment a target Object or Array by defining
 * hidden properties.
 *//* istanbul ignore next */function copyAugment(target,src,keys){for(var i=0,l=keys.length;i<l;i++){var key=keys[i];def(target,key,src[key]);}}/**
 * Attempt to create an observer instance for a value,
 * returns the new observer if successfully observed,
 * or the existing observer if the value already has one.
 */function observe(value,asRootData){if(!isObject(value)||value instanceof VNode){return;}var ob;if(hasOwn(value,'__ob__')&&value.__ob__ instanceof Observer){ob=value.__ob__;}else if(shouldObserve&&!isServerRendering()&&(Array.isArray(value)||isPlainObject(value))&&Object.isExtensible(value)&&!value._isVue){ob=new Observer(value);}if(asRootData&&ob){ob.vmCount++;}return ob;}/**
 * Define a reactive property on an Object.
 */function defineReactive$$1(obj,key,val,customSetter,shallow){var dep=new Dep();var property=Object.getOwnPropertyDescriptor(obj,key);if(property&&property.configurable===false){return;}// cater for pre-defined getter/setters
var getter=property&&property.get;var setter=property&&property.set;if((!getter||setter)&&arguments.length===2){val=obj[key];}var childOb=!shallow&&observe(val);Object.defineProperty(obj,key,{enumerable:true,configurable:true,get:function reactiveGetter(){var value=getter?getter.call(obj):val;if(Dep.target){dep.depend();if(childOb){childOb.dep.depend();if(Array.isArray(value)){dependArray(value);}}}return value;},set:function reactiveSetter(newVal){var value=getter?getter.call(obj):val;/* eslint-disable no-self-compare */if(newVal===value||newVal!==newVal&&value!==value){return;}/* eslint-enable no-self-compare */if(process.env.NODE_ENV!=='production'&&customSetter){customSetter();}// #7981: for accessor properties without setter
if(getter&&!setter){return;}if(setter){setter.call(obj,newVal);}else{val=newVal;}childOb=!shallow&&observe(newVal);dep.notify();}});}/**
 * Set a property on an object. Adds the new property and
 * triggers change notification if the property doesn't
 * already exist.
 */function set(target,key,val){if(process.env.NODE_ENV!=='production'&&(isUndef(target)||isPrimitive(target))){warn("Cannot set reactive property on undefined, null, or primitive value: "+target);}if(Array.isArray(target)&&isValidArrayIndex(key)){target.length=Math.max(target.length,key);target.splice(key,1,val);return val;}if(key in target&&!(key in Object.prototype)){target[key]=val;return val;}var ob=target.__ob__;if(target._isVue||ob&&ob.vmCount){process.env.NODE_ENV!=='production'&&warn('Avoid adding reactive properties to a Vue instance or its root $data '+'at runtime - declare it upfront in the data option.');return val;}if(!ob){target[key]=val;return val;}defineReactive$$1(ob.value,key,val);ob.dep.notify();return val;}/**
 * Delete a property and trigger change if necessary.
 */function del(target,key){if(process.env.NODE_ENV!=='production'&&(isUndef(target)||isPrimitive(target))){warn("Cannot delete reactive property on undefined, null, or primitive value: "+target);}if(Array.isArray(target)&&isValidArrayIndex(key)){target.splice(key,1);return;}var ob=target.__ob__;if(target._isVue||ob&&ob.vmCount){process.env.NODE_ENV!=='production'&&warn('Avoid deleting properties on a Vue instance or its root $data '+'- just set it to null.');return;}if(!hasOwn(target,key)){return;}delete target[key];if(!ob){return;}ob.dep.notify();}/**
 * Collect dependencies on array elements when the array is touched, since
 * we cannot intercept array element access like property getters.
 */function dependArray(value){for(var e=void 0,i=0,l=value.length;i<l;i++){e=value[i];e&&e.__ob__&&e.__ob__.dep.depend();if(Array.isArray(e)){dependArray(e);}}}/*  *//**
 * Option overwriting strategies are functions that handle
 * how to merge a parent option value and a child option
 * value into the final value.
 */var strats=config.optionMergeStrategies;/**
 * Options with restrictions
 */if(process.env.NODE_ENV!=='production'){strats.el=strats.propsData=function(parent,child,vm,key){if(!vm){warn("option \""+key+"\" can only be used during instance "+'creation with the `new` keyword.');}return defaultStrat(parent,child);};}/**
 * Helper that recursively merges two data objects together.
 */function mergeData(to,from){if(!from){return to;}var key,toVal,fromVal;var keys=Object.keys(from);for(var i=0;i<keys.length;i++){key=keys[i];toVal=to[key];fromVal=from[key];if(!hasOwn(to,key)){set(to,key,fromVal);}else if(toVal!==fromVal&&isPlainObject(toVal)&&isPlainObject(fromVal)){mergeData(toVal,fromVal);}}return to;}/**
 * Data
 */function mergeDataOrFn(parentVal,childVal,vm){if(!vm){// in a Vue.extend merge, both should be functions
if(!childVal){return parentVal;}if(!parentVal){return childVal;}// when parentVal & childVal are both present,
// we need to return a function that returns the
// merged result of both functions... no need to
// check if parentVal is a function here because
// it has to be a function to pass previous merges.
return function mergedDataFn(){return mergeData(typeof childVal==='function'?childVal.call(this,this):childVal,typeof parentVal==='function'?parentVal.call(this,this):parentVal);};}else{return function mergedInstanceDataFn(){// instance merge
var instanceData=typeof childVal==='function'?childVal.call(vm,vm):childVal;var defaultData=typeof parentVal==='function'?parentVal.call(vm,vm):parentVal;if(instanceData){return mergeData(instanceData,defaultData);}else{return defaultData;}};}}strats.data=function(parentVal,childVal,vm){if(!vm){if(childVal&&typeof childVal!=='function'){process.env.NODE_ENV!=='production'&&warn('The "data" option should be a function '+'that returns a per-instance value in component '+'definitions.',vm);return parentVal;}return mergeDataOrFn(parentVal,childVal);}return mergeDataOrFn(parentVal,childVal,vm);};/**
 * Hooks and props are merged as arrays.
 */function mergeHook(parentVal,childVal){var res=childVal?parentVal?parentVal.concat(childVal):Array.isArray(childVal)?childVal:[childVal]:parentVal;return res?dedupeHooks(res):res;}function dedupeHooks(hooks){var res=[];for(var i=0;i<hooks.length;i++){if(res.indexOf(hooks[i])===-1){res.push(hooks[i]);}}return res;}LIFECYCLE_HOOKS.forEach(function(hook){strats[hook]=mergeHook;});/**
 * Assets
 *
 * When a vm is present (instance creation), we need to do
 * a three-way merge between constructor options, instance
 * options and parent options.
 */function mergeAssets(parentVal,childVal,vm,key){var res=Object.create(parentVal||null);if(childVal){process.env.NODE_ENV!=='production'&&assertObjectType(key,childVal,vm);return extend(res,childVal);}else{return res;}}ASSET_TYPES.forEach(function(type){strats[type+'s']=mergeAssets;});/**
 * Watchers.
 *
 * Watchers hashes should not overwrite one
 * another, so we merge them as arrays.
 */strats.watch=function(parentVal,childVal,vm,key){// work around Firefox's Object.prototype.watch...
if(parentVal===nativeWatch){parentVal=undefined;}if(childVal===nativeWatch){childVal=undefined;}/* istanbul ignore if */if(!childVal){return Object.create(parentVal||null);}if(process.env.NODE_ENV!=='production'){assertObjectType(key,childVal,vm);}if(!parentVal){return childVal;}var ret={};extend(ret,parentVal);for(var key$1 in childVal){var parent=ret[key$1];var child=childVal[key$1];if(parent&&!Array.isArray(parent)){parent=[parent];}ret[key$1]=parent?parent.concat(child):Array.isArray(child)?child:[child];}return ret;};/**
 * Other object hashes.
 */strats.props=strats.methods=strats.inject=strats.computed=function(parentVal,childVal,vm,key){if(childVal&&process.env.NODE_ENV!=='production'){assertObjectType(key,childVal,vm);}if(!parentVal){return childVal;}var ret=Object.create(null);extend(ret,parentVal);if(childVal){extend(ret,childVal);}return ret;};strats.provide=mergeDataOrFn;/**
 * Default strategy.
 */var defaultStrat=function defaultStrat(parentVal,childVal){return childVal===undefined?parentVal:childVal;};/**
 * Validate component names
 */function checkComponents(options){for(var key in options.components){validateComponentName(key);}}function validateComponentName(name){if(!/^[a-zA-Z][\w-]*$/.test(name)){warn('Invalid component name: "'+name+'". Component names '+'can only contain alphanumeric characters and the hyphen, '+'and must start with a letter.');}if(isBuiltInTag(name)||config.isReservedTag(name)){warn('Do not use built-in or reserved HTML elements as component '+'id: '+name);}}/**
 * Ensure all props option syntax are normalized into the
 * Object-based format.
 */function normalizeProps(options,vm){var props=options.props;if(!props){return;}var res={};var i,val,name;if(Array.isArray(props)){i=props.length;while(i--){val=props[i];if(typeof val==='string'){name=camelize(val);res[name]={type:null};}else if(process.env.NODE_ENV!=='production'){warn('props must be strings when using array syntax.');}}}else if(isPlainObject(props)){for(var key in props){val=props[key];name=camelize(key);res[name]=isPlainObject(val)?val:{type:val};}}else if(process.env.NODE_ENV!=='production'){warn("Invalid value for option \"props\": expected an Array or an Object, "+"but got "+toRawType(props)+".",vm);}options.props=res;}/**
 * Normalize all injections into Object-based format
 */function normalizeInject(options,vm){var inject=options.inject;if(!inject){return;}var normalized=options.inject={};if(Array.isArray(inject)){for(var i=0;i<inject.length;i++){normalized[inject[i]]={from:inject[i]};}}else if(isPlainObject(inject)){for(var key in inject){var val=inject[key];normalized[key]=isPlainObject(val)?extend({from:key},val):{from:val};}}else if(process.env.NODE_ENV!=='production'){warn("Invalid value for option \"inject\": expected an Array or an Object, "+"but got "+toRawType(inject)+".",vm);}}/**
 * Normalize raw function directives into object format.
 */function normalizeDirectives(options){var dirs=options.directives;if(dirs){for(var key in dirs){var def=dirs[key];if(typeof def==='function'){dirs[key]={bind:def,update:def};}}}}function assertObjectType(name,value,vm){if(!isPlainObject(value)){warn("Invalid value for option \""+name+"\": expected an Object, "+"but got "+toRawType(value)+".",vm);}}/**
 * Merge two option objects into a new one.
 * Core utility used in both instantiation and inheritance.
 */function mergeOptions(parent,child,vm){if(process.env.NODE_ENV!=='production'){checkComponents(child);}if(typeof child==='function'){child=child.options;}normalizeProps(child,vm);normalizeInject(child,vm);normalizeDirectives(child);// Apply extends and mixins on the child options,
// but only if it is a raw options object that isn't
// the result of another mergeOptions call.
// Only merged options has the _base property.
if(!child._base){if(child.extends){parent=mergeOptions(parent,child.extends,vm);}if(child.mixins){for(var i=0,l=child.mixins.length;i<l;i++){parent=mergeOptions(parent,child.mixins[i],vm);}}}var options={};var key;for(key in parent){mergeField(key);}for(key in child){if(!hasOwn(parent,key)){mergeField(key);}}function mergeField(key){var strat=strats[key]||defaultStrat;options[key]=strat(parent[key],child[key],vm,key);}return options;}/**
 * Resolve an asset.
 * This function is used because child instances need access
 * to assets defined in its ancestor chain.
 */function resolveAsset(options,type,id,warnMissing){/* istanbul ignore if */if(typeof id!=='string'){return;}var assets=options[type];// check local registration variations first
if(hasOwn(assets,id)){return assets[id];}var camelizedId=camelize(id);if(hasOwn(assets,camelizedId)){return assets[camelizedId];}var PascalCaseId=capitalize(camelizedId);if(hasOwn(assets,PascalCaseId)){return assets[PascalCaseId];}// fallback to prototype chain
var res=assets[id]||assets[camelizedId]||assets[PascalCaseId];if(process.env.NODE_ENV!=='production'&&warnMissing&&!res){warn('Failed to resolve '+type.slice(0,-1)+': '+id,options);}return res;}/*  */function validateProp(key,propOptions,propsData,vm){var prop=propOptions[key];var absent=!hasOwn(propsData,key);var value=propsData[key];// boolean casting
var booleanIndex=getTypeIndex(Boolean,prop.type);if(booleanIndex>-1){if(absent&&!hasOwn(prop,'default')){value=false;}else if(value===''||value===hyphenate(key)){// only cast empty string / same name to boolean if
// boolean has higher priority
var stringIndex=getTypeIndex(String,prop.type);if(stringIndex<0||booleanIndex<stringIndex){value=true;}}}// check default value
if(value===undefined){value=getPropDefaultValue(vm,prop,key);// since the default value is a fresh copy,
// make sure to observe it.
var prevShouldObserve=shouldObserve;toggleObserving(true);observe(value);toggleObserving(prevShouldObserve);}if(process.env.NODE_ENV!=='production'&&// skip validation for weex recycle-list child component props
!false){assertProp(prop,key,value,vm,absent);}return value;}/**
 * Get the default value of a prop.
 */function getPropDefaultValue(vm,prop,key){// no default, return undefined
if(!hasOwn(prop,'default')){return undefined;}var def=prop.default;// warn against non-factory defaults for Object & Array
if(process.env.NODE_ENV!=='production'&&isObject(def)){warn('Invalid default value for prop "'+key+'": '+'Props with type Object/Array must use a factory function '+'to return the default value.',vm);}// the raw prop value was also undefined from previous render,
// return previous default value to avoid unnecessary watcher trigger
if(vm&&vm.$options.propsData&&vm.$options.propsData[key]===undefined&&vm._props[key]!==undefined){return vm._props[key];}// call factory function for non-Function types
// a value is Function if its prototype is function even across different execution context
return typeof def==='function'&&getType(prop.type)!=='Function'?def.call(vm):def;}/**
 * Assert whether a prop is valid.
 */function assertProp(prop,name,value,vm,absent){if(prop.required&&absent){warn('Missing required prop: "'+name+'"',vm);return;}if(value==null&&!prop.required){return;}var type=prop.type;var valid=!type||type===true;var expectedTypes=[];if(type){if(!Array.isArray(type)){type=[type];}for(var i=0;i<type.length&&!valid;i++){var assertedType=assertType(value,type[i]);expectedTypes.push(assertedType.expectedType||'');valid=assertedType.valid;}}if(!valid){warn(getInvalidTypeMessage(name,value,expectedTypes),vm);return;}var validator=prop.validator;if(validator){if(!validator(value)){warn('Invalid prop: custom validator check failed for prop "'+name+'".',vm);}}}var simpleCheckRE=/^(String|Number|Boolean|Function|Symbol)$/;function assertType(value,type){var valid;var expectedType=getType(type);if(simpleCheckRE.test(expectedType)){var t=typeof value==='undefined'?'undefined':_typeof2(value);valid=t===expectedType.toLowerCase();// for primitive wrapper objects
if(!valid&&t==='object'){valid=value instanceof type;}}else if(expectedType==='Object'){valid=isPlainObject(value);}else if(expectedType==='Array'){valid=Array.isArray(value);}else{valid=value instanceof type;}return{valid:valid,expectedType:expectedType};}/**
 * Use function string name to check built-in types,
 * because a simple equality check will fail when running
 * across different vms / iframes.
 */function getType(fn){var match=fn&&fn.toString().match(/^\s*function (\w+)/);return match?match[1]:'';}function isSameType(a,b){return getType(a)===getType(b);}function getTypeIndex(type,expectedTypes){if(!Array.isArray(expectedTypes)){return isSameType(expectedTypes,type)?0:-1;}for(var i=0,len=expectedTypes.length;i<len;i++){if(isSameType(expectedTypes[i],type)){return i;}}return-1;}function getInvalidTypeMessage(name,value,expectedTypes){var message="Invalid prop: type check failed for prop \""+name+"\"."+" Expected "+expectedTypes.map(capitalize).join(', ');var expectedType=expectedTypes[0];var receivedType=toRawType(value);var expectedValue=styleValue(value,expectedType);var receivedValue=styleValue(value,receivedType);// check if we need to specify expected value
if(expectedTypes.length===1&&isExplicable(expectedType)&&!isBoolean(expectedType,receivedType)){message+=" with value "+expectedValue;}message+=", got "+receivedType+" ";// check if we need to specify received value
if(isExplicable(receivedType)){message+="with value "+receivedValue+".";}return message;}function styleValue(value,type){if(type==='String'){return"\""+value+"\"";}else if(type==='Number'){return""+Number(value);}else{return""+value;}}function isExplicable(value){var explicitTypes=['string','number','boolean'];return explicitTypes.some(function(elem){return value.toLowerCase()===elem;});}function isBoolean(){var args=[],len=arguments.length;while(len--){args[len]=arguments[len];}return args.some(function(elem){return elem.toLowerCase()==='boolean';});}/*  */function handleError(err,vm,info){if(vm){var cur=vm;while(cur=cur.$parent){var hooks=cur.$options.errorCaptured;if(hooks){for(var i=0;i<hooks.length;i++){try{var capture=hooks[i].call(cur,err,vm,info)===false;if(capture){return;}}catch(e){globalHandleError(e,cur,'errorCaptured hook');}}}}}globalHandleError(err,vm,info);}function globalHandleError(err,vm,info){if(config.errorHandler){try{return config.errorHandler.call(null,err,vm,info);}catch(e){logError(e,null,'config.errorHandler');}}logError(err,vm,info);}function logError(err,vm,info){if(process.env.NODE_ENV!=='production'){warn("Error in "+info+": \""+err.toString()+"\"",vm);}/* istanbul ignore else */if((inBrowser||inWeex)&&typeof console!=='undefined'){console.error(err);}else{throw err;}}/*  */var callbacks=[];var pending=false;function flushCallbacks(){pending=false;var copies=callbacks.slice(0);callbacks.length=0;for(var i=0;i<copies.length;i++){copies[i]();}}// Here we have async deferring wrappers using both microtasks and (macro) tasks.
// In < 2.4 we used microtasks everywhere, but there are some scenarios where
// microtasks have too high a priority and fire in between supposedly
// sequential events (e.g. #4521, #6690) or even between bubbling of the same
// event (#6566). However, using (macro) tasks everywhere also has subtle problems
// when state is changed right before repaint (e.g. #6813, out-in transitions).
// Here we use microtask by default, but expose a way to force (macro) task when
// needed (e.g. in event handlers attached by v-on).
var microTimerFunc;var macroTimerFunc;var useMacroTask=false;// Determine (macro) task defer implementation.
// Technically setImmediate should be the ideal choice, but it's only available
// in IE. The only polyfill that consistently queues the callback after all DOM
// events triggered in the same loop is by using MessageChannel.
/* istanbul ignore if */if(typeof setImmediate!=='undefined'&&isNative(setImmediate)){macroTimerFunc=function macroTimerFunc(){setImmediate(flushCallbacks);};}else if(typeof MessageChannel!=='undefined'&&(isNative(MessageChannel)||// PhantomJS
MessageChannel.toString()==='[object MessageChannelConstructor]')){var channel=new MessageChannel();var port=channel.port2;channel.port1.onmessage=flushCallbacks;macroTimerFunc=function macroTimerFunc(){port.postMessage(1);};}else{/* istanbul ignore next */macroTimerFunc=function macroTimerFunc(){setTimeout(flushCallbacks,0);};}// Determine microtask defer implementation.
/* istanbul ignore next, $flow-disable-line */if(typeof Promise!=='undefined'&&isNative(Promise)){var p=Promise.resolve();microTimerFunc=function microTimerFunc(){p.then(flushCallbacks);// in problematic UIWebViews, Promise.then doesn't completely break, but
// it can get stuck in a weird state where callbacks are pushed into the
// microtask queue but the queue isn't being flushed, until the browser
// needs to do some other work, e.g. handle a timer. Therefore we can
// "force" the microtask queue to be flushed by adding an empty timer.
if(isIOS){setTimeout(noop);}};}else{// fallback to macro
microTimerFunc=macroTimerFunc;}/**
 * Wrap a function so that if any code inside triggers state change,
 * the changes are queued using a (macro) task instead of a microtask.
 */function withMacroTask(fn){return fn._withTask||(fn._withTask=function(){useMacroTask=true;try{return fn.apply(null,arguments);}finally{useMacroTask=false;}});}function nextTick(cb,ctx){var _resolve;callbacks.push(function(){if(cb){try{cb.call(ctx);}catch(e){handleError(e,ctx,'nextTick');}}else if(_resolve){_resolve(ctx);}});if(!pending){pending=true;if(useMacroTask){macroTimerFunc();}else{microTimerFunc();}}// $flow-disable-line
if(!cb&&typeof Promise!=='undefined'){return new Promise(function(resolve){_resolve=resolve;});}}/*  */var mark;var measure;if(process.env.NODE_ENV!=='production'){var perf=inBrowser&&window.performance;/* istanbul ignore if */if(perf&&perf.mark&&perf.measure&&perf.clearMarks&&perf.clearMeasures){mark=function mark(tag){return perf.mark(tag);};measure=function measure(name,startTag,endTag){perf.measure(name,startTag,endTag);perf.clearMarks(startTag);perf.clearMarks(endTag);perf.clearMeasures(name);};}}/* not type checking this file because flow doesn't play well with Proxy */var initProxy;if(process.env.NODE_ENV!=='production'){var allowedGlobals=makeMap('Infinity,undefined,NaN,isFinite,isNaN,'+'parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,'+'Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,'+'require'// for Webpack/Browserify
);var warnNonPresent=function warnNonPresent(target,key){warn("Property or method \""+key+"\" is not defined on the instance but "+'referenced during render. Make sure that this property is reactive, '+'either in the data option, or for class-based components, by '+'initializing the property. '+'See: https://vuejs.org/v2/guide/reactivity.html#Declaring-Reactive-Properties.',target);};var warnReservedPrefix=function warnReservedPrefix(target,key){warn("Property \""+key+"\" must be accessed with \"$data."+key+"\" because "+'properties starting with "$" or "_" are not proxied in the Vue instance to '+'prevent conflicts with Vue internals'+'See: https://vuejs.org/v2/api/#data',target);};var hasProxy=typeof Proxy!=='undefined'&&isNative(Proxy);if(hasProxy){var isBuiltInModifier=makeMap('stop,prevent,self,ctrl,shift,alt,meta,exact');config.keyCodes=new Proxy(config.keyCodes,{set:function set(target,key,value){if(isBuiltInModifier(key)){warn("Avoid overwriting built-in modifier in config.keyCodes: ."+key);return false;}else{target[key]=value;return true;}}});}var hasHandler={has:function has(target,key){var has=key in target;var isAllowed=allowedGlobals(key)||typeof key==='string'&&key.charAt(0)==='_'&&!(key in target.$data);if(!has&&!isAllowed){if(key in target.$data){warnReservedPrefix(target,key);}else{warnNonPresent(target,key);}}return has||!isAllowed;}};var getHandler={get:function get(target,key){if(typeof key==='string'&&!(key in target)){if(key in target.$data){warnReservedPrefix(target,key);}else{warnNonPresent(target,key);}}return target[key];}};initProxy=function initProxy(vm){if(hasProxy){// determine which proxy handler to use
var options=vm.$options;var handlers=options.render&&options.render._withStripped?getHandler:hasHandler;vm._renderProxy=new Proxy(vm,handlers);}else{vm._renderProxy=vm;}};}/*  */var seenObjects=new _Set();/**
 * Recursively traverse an object to evoke all converted
 * getters, so that every nested property inside the object
 * is collected as a "deep" dependency.
 */function traverse(val){_traverse(val,seenObjects);seenObjects.clear();}function _traverse(val,seen){var i,keys;var isA=Array.isArray(val);if(!isA&&!isObject(val)||Object.isFrozen(val)||val instanceof VNode){return;}if(val.__ob__){var depId=val.__ob__.dep.id;if(seen.has(depId)){return;}seen.add(depId);}if(isA){i=val.length;while(i--){_traverse(val[i],seen);}}else{keys=Object.keys(val);i=keys.length;while(i--){_traverse(val[keys[i]],seen);}}}/*  */var normalizeEvent=cached(function(name){var passive=name.charAt(0)==='&';name=passive?name.slice(1):name;var once$$1=name.charAt(0)==='~';// Prefixed last, checked first
name=once$$1?name.slice(1):name;var capture=name.charAt(0)==='!';name=capture?name.slice(1):name;return{name:name,once:once$$1,capture:capture,passive:passive};});function createFnInvoker(fns){function invoker(){var arguments$1=arguments;var fns=invoker.fns;if(Array.isArray(fns)){var cloned=fns.slice();for(var i=0;i<cloned.length;i++){cloned[i].apply(null,arguments$1);}}else{// return handler return value for single handlers
return fns.apply(null,arguments);}}invoker.fns=fns;return invoker;}function updateListeners(on,oldOn,add,remove$$1,createOnceHandler,vm){var name,def$$1,cur,old,event;for(name in on){def$$1=cur=on[name];old=oldOn[name];event=normalizeEvent(name);if(isUndef(cur)){process.env.NODE_ENV!=='production'&&warn("Invalid handler for event \""+event.name+"\": got "+String(cur),vm);}else if(isUndef(old)){if(isUndef(cur.fns)){cur=on[name]=createFnInvoker(cur);}if(isTrue(event.once)){cur=on[name]=createOnceHandler(event.name,cur,event.capture);}add(event.name,cur,event.capture,event.passive,event.params);}else if(cur!==old){old.fns=cur;on[name]=old;}}for(name in oldOn){if(isUndef(on[name])){event=normalizeEvent(name);remove$$1(event.name,oldOn[name],event.capture);}}}/*  */function mergeVNodeHook(def,hookKey,hook){if(def instanceof VNode){def=def.data.hook||(def.data.hook={});}var invoker;var oldHook=def[hookKey];function wrappedHook(){hook.apply(this,arguments);// important: remove merged hook to ensure it's called only once
// and prevent memory leak
remove(invoker.fns,wrappedHook);}if(isUndef(oldHook)){// no existing hook
invoker=createFnInvoker([wrappedHook]);}else{/* istanbul ignore if */if(isDef(oldHook.fns)&&isTrue(oldHook.merged)){// already a merged invoker
invoker=oldHook;invoker.fns.push(wrappedHook);}else{// existing plain hook
invoker=createFnInvoker([oldHook,wrappedHook]);}}invoker.merged=true;def[hookKey]=invoker;}/*  */function extractPropsFromVNodeData(data,Ctor,tag){// we are only extracting raw values here.
// validation and default values are handled in the child
// component itself.
var propOptions=Ctor.options.props;if(isUndef(propOptions)){return;}var res={};var attrs=data.attrs;var props=data.props;if(isDef(attrs)||isDef(props)){for(var key in propOptions){var altKey=hyphenate(key);if(process.env.NODE_ENV!=='production'){var keyInLowerCase=key.toLowerCase();if(key!==keyInLowerCase&&attrs&&hasOwn(attrs,keyInLowerCase)){tip("Prop \""+keyInLowerCase+"\" is passed to component "+formatComponentName(tag||Ctor)+", but the declared prop name is"+" \""+key+"\". "+"Note that HTML attributes are case-insensitive and camelCased "+"props need to use their kebab-case equivalents when using in-DOM "+"templates. You should probably use \""+altKey+"\" instead of \""+key+"\".");}}checkProp(res,props,key,altKey,true)||checkProp(res,attrs,key,altKey,false);}}return res;}function checkProp(res,hash,key,altKey,preserve){if(isDef(hash)){if(hasOwn(hash,key)){res[key]=hash[key];if(!preserve){delete hash[key];}return true;}else if(hasOwn(hash,altKey)){res[key]=hash[altKey];if(!preserve){delete hash[altKey];}return true;}}return false;}/*  */// The template compiler attempts to minimize the need for normalization by
// statically analyzing the template at compile time.
//
// For plain HTML markup, normalization can be completely skipped because the
// generated render function is guaranteed to return Array<VNode>. There are
// two cases where extra normalization is needed:
// 1. When the children contains components - because a functional component
// may return an Array instead of a single root. In this case, just a simple
// normalization is needed - if any child is an Array, we flatten the whole
// thing with Array.prototype.concat. It is guaranteed to be only 1-level deep
// because functional components already normalize their own children.
function simpleNormalizeChildren(children){for(var i=0;i<children.length;i++){if(Array.isArray(children[i])){return Array.prototype.concat.apply([],children);}}return children;}// 2. When the children contains constructs that always generated nested Arrays,
// e.g. <template>, <slot>, v-for, or when the children is provided by user
// with hand-written render functions / JSX. In such cases a full normalization
// is needed to cater to all possible types of children values.
function normalizeChildren(children){return isPrimitive(children)?[createTextVNode(children)]:Array.isArray(children)?normalizeArrayChildren(children):undefined;}function isTextNode(node){return isDef(node)&&isDef(node.text)&&isFalse(node.isComment);}function normalizeArrayChildren(children,nestedIndex){var res=[];var i,c,lastIndex,last;for(i=0;i<children.length;i++){c=children[i];if(isUndef(c)||typeof c==='boolean'){continue;}lastIndex=res.length-1;last=res[lastIndex];//  nested
if(Array.isArray(c)){if(c.length>0){c=normalizeArrayChildren(c,(nestedIndex||'')+"_"+i);// merge adjacent text nodes
if(isTextNode(c[0])&&isTextNode(last)){res[lastIndex]=createTextVNode(last.text+c[0].text);c.shift();}res.push.apply(res,c);}}else if(isPrimitive(c)){if(isTextNode(last)){// merge adjacent text nodes
// this is necessary for SSR hydration because text nodes are
// essentially merged when rendered to HTML strings
res[lastIndex]=createTextVNode(last.text+c);}else if(c!==''){// convert primitive to vnode
res.push(createTextVNode(c));}}else{if(isTextNode(c)&&isTextNode(last)){// merge adjacent text nodes
res[lastIndex]=createTextVNode(last.text+c.text);}else{// default key for nested array children (likely generated by v-for)
if(isTrue(children._isVList)&&isDef(c.tag)&&isUndef(c.key)&&isDef(nestedIndex)){c.key="__vlist"+nestedIndex+"_"+i+"__";}res.push(c);}}}return res;}/*  */function ensureCtor(comp,base){if(comp.__esModule||hasSymbol&&comp[Symbol.toStringTag]==='Module'){comp=comp.default;}return isObject(comp)?base.extend(comp):comp;}function createAsyncPlaceholder(factory,data,context,children,tag){var node=createEmptyVNode();node.asyncFactory=factory;node.asyncMeta={data:data,context:context,children:children,tag:tag};return node;}function resolveAsyncComponent(factory,baseCtor,context){if(isTrue(factory.error)&&isDef(factory.errorComp)){return factory.errorComp;}if(isDef(factory.resolved)){return factory.resolved;}if(isTrue(factory.loading)&&isDef(factory.loadingComp)){return factory.loadingComp;}if(isDef(factory.contexts)){// already pending
factory.contexts.push(context);}else{var contexts=factory.contexts=[context];var sync=true;var forceRender=function forceRender(renderCompleted){for(var i=0,l=contexts.length;i<l;i++){contexts[i].$forceUpdate();}if(renderCompleted){contexts.length=0;}};var resolve=once(function(res){// cache resolved
factory.resolved=ensureCtor(res,baseCtor);// invoke callbacks only if this is not a synchronous resolve
// (async resolves are shimmed as synchronous during SSR)
if(!sync){forceRender(true);}else{contexts.length=0;}});var reject=once(function(reason){process.env.NODE_ENV!=='production'&&warn("Failed to resolve async component: "+String(factory)+(reason?"\nReason: "+reason:''));if(isDef(factory.errorComp)){factory.error=true;forceRender(true);}});var res=factory(resolve,reject);if(isObject(res)){if(typeof res.then==='function'){// () => Promise
if(isUndef(factory.resolved)){res.then(resolve,reject);}}else if(isDef(res.component)&&typeof res.component.then==='function'){res.component.then(resolve,reject);if(isDef(res.error)){factory.errorComp=ensureCtor(res.error,baseCtor);}if(isDef(res.loading)){factory.loadingComp=ensureCtor(res.loading,baseCtor);if(res.delay===0){factory.loading=true;}else{setTimeout(function(){if(isUndef(factory.resolved)&&isUndef(factory.error)){factory.loading=true;forceRender(false);}},res.delay||200);}}if(isDef(res.timeout)){setTimeout(function(){if(isUndef(factory.resolved)){reject(process.env.NODE_ENV!=='production'?"timeout ("+res.timeout+"ms)":null);}},res.timeout);}}}sync=false;// return in case resolved synchronously
return factory.loading?factory.loadingComp:factory.resolved;}}/*  */function isAsyncPlaceholder(node){return node.isComment&&node.asyncFactory;}/*  */function getFirstComponentChild(children){if(Array.isArray(children)){for(var i=0;i<children.length;i++){var c=children[i];if(isDef(c)&&(isDef(c.componentOptions)||isAsyncPlaceholder(c))){return c;}}}}/*  *//*  */function initEvents(vm){vm._events=Object.create(null);vm._hasHookEvent=false;// init parent attached events
var listeners=vm.$options._parentListeners;if(listeners){updateComponentListeners(vm,listeners);}}var target;function add(event,fn){target.$on(event,fn);}function remove$1(event,fn){target.$off(event,fn);}function createOnceHandler(event,fn){var _target=target;return function onceHandler(){var res=fn.apply(null,arguments);if(res!==null){_target.$off(event,onceHandler);}};}function updateComponentListeners(vm,listeners,oldListeners){target=vm;updateListeners(listeners,oldListeners||{},add,remove$1,createOnceHandler,vm);target=undefined;}function eventsMixin(Vue){var hookRE=/^hook:/;Vue.prototype.$on=function(event,fn){var vm=this;if(Array.isArray(event)){for(var i=0,l=event.length;i<l;i++){vm.$on(event[i],fn);}}else{(vm._events[event]||(vm._events[event]=[])).push(fn);// optimize hook:event cost by using a boolean flag marked at registration
// instead of a hash lookup
if(hookRE.test(event)){vm._hasHookEvent=true;}}return vm;};Vue.prototype.$once=function(event,fn){var vm=this;function on(){vm.$off(event,on);fn.apply(vm,arguments);}on.fn=fn;vm.$on(event,on);return vm;};Vue.prototype.$off=function(event,fn){var vm=this;// all
if(!arguments.length){vm._events=Object.create(null);return vm;}// array of events
if(Array.isArray(event)){for(var i$1=0,l=event.length;i$1<l;i$1++){vm.$off(event[i$1],fn);}return vm;}// specific event
var cbs=vm._events[event];if(!cbs){return vm;}if(!fn){vm._events[event]=null;return vm;}// specific handler
var cb;var i=cbs.length;while(i--){cb=cbs[i];if(cb===fn||cb.fn===fn){cbs.splice(i,1);break;}}return vm;};Vue.prototype.$emit=function(event){var vm=this;if(process.env.NODE_ENV!=='production'){var lowerCaseEvent=event.toLowerCase();if(lowerCaseEvent!==event&&vm._events[lowerCaseEvent]){tip("Event \""+lowerCaseEvent+"\" is emitted in component "+formatComponentName(vm)+" but the handler is registered for \""+event+"\". "+"Note that HTML attributes are case-insensitive and you cannot use "+"v-on to listen to camelCase events when using in-DOM templates. "+"You should probably use \""+hyphenate(event)+"\" instead of \""+event+"\".");}}var cbs=vm._events[event];if(cbs){cbs=cbs.length>1?toArray(cbs):cbs;var args=toArray(arguments,1);for(var i=0,l=cbs.length;i<l;i++){try{cbs[i].apply(vm,args);}catch(e){handleError(e,vm,"event handler for \""+event+"\"");}}}return vm;};}/*  *//**
 * Runtime helper for resolving raw children VNodes into a slot object.
 */function resolveSlots(children,context){var slots={};if(!children){return slots;}for(var i=0,l=children.length;i<l;i++){var child=children[i];var data=child.data;// remove slot attribute if the node is resolved as a Vue slot node
if(data&&data.attrs&&data.attrs.slot){delete data.attrs.slot;}// named slots should only be respected if the vnode was rendered in the
// same context.
if((child.context===context||child.fnContext===context)&&data&&data.slot!=null){var name=data.slot;var slot=slots[name]||(slots[name]=[]);if(child.tag==='template'){slot.push.apply(slot,child.children||[]);}else{slot.push(child);}}else{(slots.default||(slots.default=[])).push(child);}}// ignore slots that contains only whitespace
for(var name$1 in slots){if(slots[name$1].every(isWhitespace)){delete slots[name$1];}}return slots;}function isWhitespace(node){return node.isComment&&!node.asyncFactory||node.text===' ';}function resolveScopedSlots(fns,// see flow/vnode
res){res=res||{};for(var i=0;i<fns.length;i++){if(Array.isArray(fns[i])){resolveScopedSlots(fns[i],res);}else{res[fns[i].key]=fns[i].fn;}}return res;}/*  */var activeInstance=null;var isUpdatingChildComponent=false;function setActiveInstance(vm){var prevActiveInstance=activeInstance;activeInstance=vm;return function(){activeInstance=prevActiveInstance;};}function initLifecycle(vm){var options=vm.$options;// locate first non-abstract parent
var parent=options.parent;if(parent&&!options.abstract){while(parent.$options.abstract&&parent.$parent){parent=parent.$parent;}parent.$children.push(vm);}vm.$parent=parent;vm.$root=parent?parent.$root:vm;vm.$children=[];vm.$refs={};vm._watcher=null;vm._inactive=null;vm._directInactive=false;vm._isMounted=false;vm._isDestroyed=false;vm._isBeingDestroyed=false;}function lifecycleMixin(Vue){Vue.prototype._update=function(vnode,hydrating){var vm=this;var prevEl=vm.$el;var prevVnode=vm._vnode;var restoreActiveInstance=setActiveInstance(vm);vm._vnode=vnode;// Vue.prototype.__patch__ is injected in entry points
// based on the rendering backend used.
if(!prevVnode){// initial render
vm.$el=vm.__patch__(vm.$el,vnode,hydrating,false/* removeOnly */);}else{// updates
vm.$el=vm.__patch__(prevVnode,vnode);}restoreActiveInstance();// update __vue__ reference
if(prevEl){prevEl.__vue__=null;}if(vm.$el){vm.$el.__vue__=vm;}// if parent is an HOC, update its $el as well
if(vm.$vnode&&vm.$parent&&vm.$vnode===vm.$parent._vnode){vm.$parent.$el=vm.$el;}// updated hook is called by the scheduler to ensure that children are
// updated in a parent's updated hook.
};Vue.prototype.$forceUpdate=function(){var vm=this;if(vm._watcher){vm._watcher.update();}};Vue.prototype.$destroy=function(){var vm=this;if(vm._isBeingDestroyed){return;}callHook(vm,'beforeDestroy');vm._isBeingDestroyed=true;// remove self from parent
var parent=vm.$parent;if(parent&&!parent._isBeingDestroyed&&!vm.$options.abstract){remove(parent.$children,vm);}// teardown watchers
if(vm._watcher){vm._watcher.teardown();}var i=vm._watchers.length;while(i--){vm._watchers[i].teardown();}// remove reference from data ob
// frozen object may not have observer.
if(vm._data.__ob__){vm._data.__ob__.vmCount--;}// call the last hook...
vm._isDestroyed=true;// invoke destroy hooks on current rendered tree
vm.__patch__(vm._vnode,null);// fire destroyed hook
callHook(vm,'destroyed');// turn off all instance listeners.
vm.$off();// remove __vue__ reference
if(vm.$el){vm.$el.__vue__=null;}// release circular reference (#6759)
if(vm.$vnode){vm.$vnode.parent=null;}};}function mountComponent(vm,el,hydrating){vm.$el=el;if(!vm.$options.render){vm.$options.render=createEmptyVNode;if(process.env.NODE_ENV!=='production'){/* istanbul ignore if */if(vm.$options.template&&vm.$options.template.charAt(0)!=='#'||vm.$options.el||el){warn('You are using the runtime-only build of Vue where the template '+'compiler is not available. Either pre-compile the templates into '+'render functions, or use the compiler-included build.',vm);}else{warn('Failed to mount component: template or render function not defined.',vm);}}}callHook(vm,'beforeMount');var updateComponent;/* istanbul ignore if */if(process.env.NODE_ENV!=='production'&&config.performance&&mark){updateComponent=function updateComponent(){var name=vm._name;var id=vm._uid;var startTag="vue-perf-start:"+id;var endTag="vue-perf-end:"+id;mark(startTag);var vnode=vm._render();mark(endTag);measure("vue "+name+" render",startTag,endTag);mark(startTag);vm._update(vnode,hydrating);mark(endTag);measure("vue "+name+" patch",startTag,endTag);};}else{updateComponent=function updateComponent(){vm._update(vm._render(),hydrating);};}// we set this to vm._watcher inside the watcher's constructor
// since the watcher's initial patch may call $forceUpdate (e.g. inside child
// component's mounted hook), which relies on vm._watcher being already defined
new Watcher(vm,updateComponent,noop,{before:function before(){if(vm._isMounted&&!vm._isDestroyed){callHook(vm,'beforeUpdate');}}},true/* isRenderWatcher */);hydrating=false;// manually mounted instance, call mounted on self
// mounted is called for render-created child components in its inserted hook
if(vm.$vnode==null){vm._isMounted=true;callHook(vm,'mounted');}return vm;}function updateChildComponent(vm,propsData,listeners,parentVnode,renderChildren){if(process.env.NODE_ENV!=='production'){isUpdatingChildComponent=true;}// determine whether component has slot children
// we need to do this before overwriting $options._renderChildren
var hasChildren=!!(renderChildren||// has new static slots
vm.$options._renderChildren||// has old static slots
parentVnode.data.scopedSlots||// has new scoped slots
vm.$scopedSlots!==emptyObject// has old scoped slots
);vm.$options._parentVnode=parentVnode;vm.$vnode=parentVnode;// update vm's placeholder node without re-render
if(vm._vnode){// update child tree's parent
vm._vnode.parent=parentVnode;}vm.$options._renderChildren=renderChildren;// update $attrs and $listeners hash
// these are also reactive so they may trigger child update if the child
// used them during render
vm.$attrs=parentVnode.data.attrs||emptyObject;vm.$listeners=listeners||emptyObject;// update props
if(propsData&&vm.$options.props){toggleObserving(false);var props=vm._props;var propKeys=vm.$options._propKeys||[];for(var i=0;i<propKeys.length;i++){var key=propKeys[i];var propOptions=vm.$options.props;// wtf flow?
props[key]=validateProp(key,propOptions,propsData,vm);}toggleObserving(true);// keep a copy of raw propsData
vm.$options.propsData=propsData;}// update listeners
listeners=listeners||emptyObject;var oldListeners=vm.$options._parentListeners;vm.$options._parentListeners=listeners;updateComponentListeners(vm,listeners,oldListeners);// resolve slots + force update if has children
if(hasChildren){vm.$slots=resolveSlots(renderChildren,parentVnode.context);vm.$forceUpdate();}if(process.env.NODE_ENV!=='production'){isUpdatingChildComponent=false;}}function isInInactiveTree(vm){while(vm&&(vm=vm.$parent)){if(vm._inactive){return true;}}return false;}function activateChildComponent(vm,direct){if(direct){vm._directInactive=false;if(isInInactiveTree(vm)){return;}}else if(vm._directInactive){return;}if(vm._inactive||vm._inactive===null){vm._inactive=false;for(var i=0;i<vm.$children.length;i++){activateChildComponent(vm.$children[i]);}callHook(vm,'activated');}}function deactivateChildComponent(vm,direct){if(direct){vm._directInactive=true;if(isInInactiveTree(vm)){return;}}if(!vm._inactive){vm._inactive=true;for(var i=0;i<vm.$children.length;i++){deactivateChildComponent(vm.$children[i]);}callHook(vm,'deactivated');}}function callHook(vm,hook){// #7573 disable dep collection when invoking lifecycle hooks
pushTarget();var handlers=vm.$options[hook];if(handlers){for(var i=0,j=handlers.length;i<j;i++){try{handlers[i].call(vm);}catch(e){handleError(e,vm,hook+" hook");}}}if(vm._hasHookEvent){vm.$emit('hook:'+hook);}popTarget();}/*  */var MAX_UPDATE_COUNT=100;var queue=[];var activatedChildren=[];var has={};var circular={};var waiting=false;var flushing=false;var index=0;/**
 * Reset the scheduler's state.
 */function resetSchedulerState(){index=queue.length=activatedChildren.length=0;has={};if(process.env.NODE_ENV!=='production'){circular={};}waiting=flushing=false;}/**
 * Flush both queues and run the watchers.
 */function flushSchedulerQueue(){flushing=true;var watcher,id;// Sort queue before flush.
// This ensures that:
// 1. Components are updated from parent to child. (because parent is always
//    created before the child)
// 2. A component's user watchers are run before its render watcher (because
//    user watchers are created before the render watcher)
// 3. If a component is destroyed during a parent component's watcher run,
//    its watchers can be skipped.
queue.sort(function(a,b){return a.id-b.id;});// do not cache length because more watchers might be pushed
// as we run existing watchers
for(index=0;index<queue.length;index++){watcher=queue[index];if(watcher.before){watcher.before();}id=watcher.id;has[id]=null;watcher.run();// in dev build, check and stop circular updates.
if(process.env.NODE_ENV!=='production'&&has[id]!=null){circular[id]=(circular[id]||0)+1;if(circular[id]>MAX_UPDATE_COUNT){warn('You may have an infinite update loop '+(watcher.user?"in watcher with expression \""+watcher.expression+"\"":"in a component render function."),watcher.vm);break;}}}// keep copies of post queues before resetting state
var activatedQueue=activatedChildren.slice();var updatedQueue=queue.slice();resetSchedulerState();// call component updated and activated hooks
callActivatedHooks(activatedQueue);callUpdatedHooks(updatedQueue);// devtool hook
/* istanbul ignore if */if(devtools&&config.devtools){devtools.emit('flush');}}function callUpdatedHooks(queue){var i=queue.length;while(i--){var watcher=queue[i];var vm=watcher.vm;if(vm._watcher===watcher&&vm._isMounted&&!vm._isDestroyed){callHook(vm,'updated');}}}/**
 * Queue a kept-alive component that was activated during patch.
 * The queue will be processed after the entire tree has been patched.
 */function queueActivatedComponent(vm){// setting _inactive to false here so that a render function can
// rely on checking whether it's in an inactive tree (e.g. router-view)
vm._inactive=false;activatedChildren.push(vm);}function callActivatedHooks(queue){for(var i=0;i<queue.length;i++){queue[i]._inactive=true;activateChildComponent(queue[i],true/* true */);}}/**
 * Push a watcher into the watcher queue.
 * Jobs with duplicate IDs will be skipped unless it's
 * pushed when the queue is being flushed.
 */function queueWatcher(watcher){var id=watcher.id;if(has[id]==null){has[id]=true;if(!flushing){queue.push(watcher);}else{// if already flushing, splice the watcher based on its id
// if already past its id, it will be run next immediately.
var i=queue.length-1;while(i>index&&queue[i].id>watcher.id){i--;}queue.splice(i+1,0,watcher);}// queue the flush
if(!waiting){waiting=true;if(process.env.NODE_ENV!=='production'&&!config.async){flushSchedulerQueue();return;}nextTick(flushSchedulerQueue);}}}/*  */var uid$1=0;/**
 * A watcher parses an expression, collects dependencies,
 * and fires callback when the expression value changes.
 * This is used for both the $watch() api and directives.
 */var Watcher=function Watcher(vm,expOrFn,cb,options,isRenderWatcher){this.vm=vm;if(isRenderWatcher){vm._watcher=this;}vm._watchers.push(this);// options
if(options){this.deep=!!options.deep;this.user=!!options.user;this.lazy=!!options.lazy;this.sync=!!options.sync;this.before=options.before;}else{this.deep=this.user=this.lazy=this.sync=false;}this.cb=cb;this.id=++uid$1;// uid for batching
this.active=true;this.dirty=this.lazy;// for lazy watchers
this.deps=[];this.newDeps=[];this.depIds=new _Set();this.newDepIds=new _Set();this.expression=process.env.NODE_ENV!=='production'?expOrFn.toString():'';// parse expression for getter
if(typeof expOrFn==='function'){this.getter=expOrFn;}else{this.getter=parsePath(expOrFn);if(!this.getter){this.getter=noop;process.env.NODE_ENV!=='production'&&warn("Failed watching path: \""+expOrFn+"\" "+'Watcher only accepts simple dot-delimited paths. '+'For full control, use a function instead.',vm);}}this.value=this.lazy?undefined:this.get();};/**
 * Evaluate the getter, and re-collect dependencies.
 */Watcher.prototype.get=function get(){pushTarget(this);var value;var vm=this.vm;try{value=this.getter.call(vm,vm);}catch(e){if(this.user){handleError(e,vm,"getter for watcher \""+this.expression+"\"");}else{throw e;}}finally{// "touch" every property so they are all tracked as
// dependencies for deep watching
if(this.deep){traverse(value);}popTarget();this.cleanupDeps();}return value;};/**
 * Add a dependency to this directive.
 */Watcher.prototype.addDep=function addDep(dep){var id=dep.id;if(!this.newDepIds.has(id)){this.newDepIds.add(id);this.newDeps.push(dep);if(!this.depIds.has(id)){dep.addSub(this);}}};/**
 * Clean up for dependency collection.
 */Watcher.prototype.cleanupDeps=function cleanupDeps(){var i=this.deps.length;while(i--){var dep=this.deps[i];if(!this.newDepIds.has(dep.id)){dep.removeSub(this);}}var tmp=this.depIds;this.depIds=this.newDepIds;this.newDepIds=tmp;this.newDepIds.clear();tmp=this.deps;this.deps=this.newDeps;this.newDeps=tmp;this.newDeps.length=0;};/**
 * Subscriber interface.
 * Will be called when a dependency changes.
 */Watcher.prototype.update=function update(){/* istanbul ignore else */if(this.lazy){this.dirty=true;}else if(this.sync){this.run();}else{queueWatcher(this);}};/**
 * Scheduler job interface.
 * Will be called by the scheduler.
 */Watcher.prototype.run=function run(){if(this.active){var value=this.get();if(value!==this.value||// Deep watchers and watchers on Object/Arrays should fire even
// when the value is the same, because the value may
// have mutated.
isObject(value)||this.deep){// set new value
var oldValue=this.value;this.value=value;if(this.user){try{this.cb.call(this.vm,value,oldValue);}catch(e){handleError(e,this.vm,"callback for watcher \""+this.expression+"\"");}}else{this.cb.call(this.vm,value,oldValue);}}}};/**
 * Evaluate the value of the watcher.
 * This only gets called for lazy watchers.
 */Watcher.prototype.evaluate=function evaluate(){this.value=this.get();this.dirty=false;};/**
 * Depend on all deps collected by this watcher.
 */Watcher.prototype.depend=function depend(){var i=this.deps.length;while(i--){this.deps[i].depend();}};/**
 * Remove self from all dependencies' subscriber list.
 */Watcher.prototype.teardown=function teardown(){if(this.active){// remove self from vm's watcher list
// this is a somewhat expensive operation so we skip it
// if the vm is being destroyed.
if(!this.vm._isBeingDestroyed){remove(this.vm._watchers,this);}var i=this.deps.length;while(i--){this.deps[i].removeSub(this);}this.active=false;}};/*  */var sharedPropertyDefinition={enumerable:true,configurable:true,get:noop,set:noop};function proxy(target,sourceKey,key){sharedPropertyDefinition.get=function proxyGetter(){return this[sourceKey][key];};sharedPropertyDefinition.set=function proxySetter(val){this[sourceKey][key]=val;};Object.defineProperty(target,key,sharedPropertyDefinition);}function initState(vm){vm._watchers=[];var opts=vm.$options;if(opts.props){initProps(vm,opts.props);}if(opts.methods){initMethods(vm,opts.methods);}if(opts.data){initData(vm);}else{observe(vm._data={},true/* asRootData */);}if(opts.computed){initComputed(vm,opts.computed);}if(opts.watch&&opts.watch!==nativeWatch){initWatch(vm,opts.watch);}}function initProps(vm,propsOptions){var propsData=vm.$options.propsData||{};var props=vm._props={};// cache prop keys so that future props updates can iterate using Array
// instead of dynamic object key enumeration.
var keys=vm.$options._propKeys=[];var isRoot=!vm.$parent;// root instance props should be converted
if(!isRoot){toggleObserving(false);}var loop=function loop(key){keys.push(key);var value=validateProp(key,propsOptions,propsData,vm);/* istanbul ignore else */if(process.env.NODE_ENV!=='production'){var hyphenatedKey=hyphenate(key);if(isReservedAttribute(hyphenatedKey)||config.isReservedAttr(hyphenatedKey)){warn("\""+hyphenatedKey+"\" is a reserved attribute and cannot be used as component prop.",vm);}defineReactive$$1(props,key,value,function(){if(!isRoot&&!isUpdatingChildComponent){warn("Avoid mutating a prop directly since the value will be "+"overwritten whenever the parent component re-renders. "+"Instead, use a data or computed property based on the prop's "+"value. Prop being mutated: \""+key+"\"",vm);}});}else{defineReactive$$1(props,key,value);}// static props are already proxied on the component's prototype
// during Vue.extend(). We only need to proxy props defined at
// instantiation here.
if(!(key in vm)){proxy(vm,"_props",key);}};for(var key in propsOptions){loop(key);}toggleObserving(true);}function initData(vm){var data=vm.$options.data;data=vm._data=typeof data==='function'?getData(data,vm):data||{};if(!isPlainObject(data)){data={};process.env.NODE_ENV!=='production'&&warn('data functions should return an object:\n'+'https://vuejs.org/v2/guide/components.html#data-Must-Be-a-Function',vm);}// proxy data on instance
var keys=Object.keys(data);var props=vm.$options.props;var methods=vm.$options.methods;var i=keys.length;while(i--){var key=keys[i];if(process.env.NODE_ENV!=='production'){if(methods&&hasOwn(methods,key)){warn("Method \""+key+"\" has already been defined as a data property.",vm);}}if(props&&hasOwn(props,key)){process.env.NODE_ENV!=='production'&&warn("The data property \""+key+"\" is already declared as a prop. "+"Use prop default value instead.",vm);}else if(!isReserved(key)){proxy(vm,"_data",key);}}// observe data
observe(data,true/* asRootData */);}function getData(data,vm){// #7573 disable dep collection when invoking data getters
pushTarget();try{return data.call(vm,vm);}catch(e){handleError(e,vm,"data()");return{};}finally{popTarget();}}var computedWatcherOptions={lazy:true};function initComputed(vm,computed){// $flow-disable-line
var watchers=vm._computedWatchers=Object.create(null);// computed properties are just getters during SSR
var isSSR=isServerRendering();for(var key in computed){var userDef=computed[key];var getter=typeof userDef==='function'?userDef:userDef.get;if(process.env.NODE_ENV!=='production'&&getter==null){warn("Getter is missing for computed property \""+key+"\".",vm);}if(!isSSR){// create internal watcher for the computed property.
watchers[key]=new Watcher(vm,getter||noop,noop,computedWatcherOptions);}// component-defined computed properties are already defined on the
// component prototype. We only need to define computed properties defined
// at instantiation here.
if(!(key in vm)){defineComputed(vm,key,userDef);}else if(process.env.NODE_ENV!=='production'){if(key in vm.$data){warn("The computed property \""+key+"\" is already defined in data.",vm);}else if(vm.$options.props&&key in vm.$options.props){warn("The computed property \""+key+"\" is already defined as a prop.",vm);}}}}function defineComputed(target,key,userDef){var shouldCache=!isServerRendering();if(typeof userDef==='function'){sharedPropertyDefinition.get=shouldCache?createComputedGetter(key):createGetterInvoker(userDef);sharedPropertyDefinition.set=noop;}else{sharedPropertyDefinition.get=userDef.get?shouldCache&&userDef.cache!==false?createComputedGetter(key):createGetterInvoker(userDef.get):noop;sharedPropertyDefinition.set=userDef.set||noop;}if(process.env.NODE_ENV!=='production'&&sharedPropertyDefinition.set===noop){sharedPropertyDefinition.set=function(){warn("Computed property \""+key+"\" was assigned to but it has no setter.",this);};}Object.defineProperty(target,key,sharedPropertyDefinition);}function createComputedGetter(key){return function computedGetter(){var watcher=this._computedWatchers&&this._computedWatchers[key];if(watcher){if(watcher.dirty){watcher.evaluate();}if(Dep.target){watcher.depend();}return watcher.value;}};}function createGetterInvoker(fn){return function computedGetter(){return fn.call(this,this);};}function initMethods(vm,methods){var props=vm.$options.props;for(var key in methods){if(process.env.NODE_ENV!=='production'){if(typeof methods[key]!=='function'){warn("Method \""+key+"\" has type \""+_typeof2(methods[key])+"\" in the component definition. "+"Did you reference the function correctly?",vm);}if(props&&hasOwn(props,key)){warn("Method \""+key+"\" has already been defined as a prop.",vm);}if(key in vm&&isReserved(key)){warn("Method \""+key+"\" conflicts with an existing Vue instance method. "+"Avoid defining component methods that start with _ or $.");}}vm[key]=typeof methods[key]!=='function'?noop:bind(methods[key],vm);}}function initWatch(vm,watch){for(var key in watch){var handler=watch[key];if(Array.isArray(handler)){for(var i=0;i<handler.length;i++){createWatcher(vm,key,handler[i]);}}else{createWatcher(vm,key,handler);}}}function createWatcher(vm,expOrFn,handler,options){if(isPlainObject(handler)){options=handler;handler=handler.handler;}if(typeof handler==='string'){handler=vm[handler];}return vm.$watch(expOrFn,handler,options);}function stateMixin(Vue){// flow somehow has problems with directly declared definition object
// when using Object.defineProperty, so we have to procedurally build up
// the object here.
var dataDef={};dataDef.get=function(){return this._data;};var propsDef={};propsDef.get=function(){return this._props;};if(process.env.NODE_ENV!=='production'){dataDef.set=function(){warn('Avoid replacing instance root $data. '+'Use nested data properties instead.',this);};propsDef.set=function(){warn("$props is readonly.",this);};}Object.defineProperty(Vue.prototype,'$data',dataDef);Object.defineProperty(Vue.prototype,'$props',propsDef);Vue.prototype.$set=set;Vue.prototype.$delete=del;Vue.prototype.$watch=function(expOrFn,cb,options){var vm=this;if(isPlainObject(cb)){return createWatcher(vm,expOrFn,cb,options);}options=options||{};options.user=true;var watcher=new Watcher(vm,expOrFn,cb,options);if(options.immediate){try{cb.call(vm,watcher.value);}catch(error){handleError(error,vm,"callback for immediate watcher \""+watcher.expression+"\"");}}return function unwatchFn(){watcher.teardown();};};}/*  */function initProvide(vm){var provide=vm.$options.provide;if(provide){vm._provided=typeof provide==='function'?provide.call(vm):provide;}}function initInjections(vm){var result=resolveInject(vm.$options.inject,vm);if(result){toggleObserving(false);Object.keys(result).forEach(function(key){/* istanbul ignore else */if(process.env.NODE_ENV!=='production'){defineReactive$$1(vm,key,result[key],function(){warn("Avoid mutating an injected value directly since the changes will be "+"overwritten whenever the provided component re-renders. "+"injection being mutated: \""+key+"\"",vm);});}else{defineReactive$$1(vm,key,result[key]);}});toggleObserving(true);}}function resolveInject(inject,vm){if(inject){// inject is :any because flow is not smart enough to figure out cached
var result=Object.create(null);var keys=hasSymbol?Reflect.ownKeys(inject).filter(function(key){/* istanbul ignore next */return Object.getOwnPropertyDescriptor(inject,key).enumerable;}):Object.keys(inject);for(var i=0;i<keys.length;i++){var key=keys[i];var provideKey=inject[key].from;var source=vm;while(source){if(source._provided&&hasOwn(source._provided,provideKey)){result[key]=source._provided[provideKey];break;}source=source.$parent;}if(!source){if('default'in inject[key]){var provideDefault=inject[key].default;result[key]=typeof provideDefault==='function'?provideDefault.call(vm):provideDefault;}else if(process.env.NODE_ENV!=='production'){warn("Injection \""+key+"\" not found",vm);}}}return result;}}/*  *//**
 * Runtime helper for rendering v-for lists.
 */function renderList(val,render){var ret,i,l,keys,key;if(Array.isArray(val)||typeof val==='string'){ret=new Array(val.length);for(i=0,l=val.length;i<l;i++){ret[i]=render(val[i],i);}}else if(typeof val==='number'){ret=new Array(val);for(i=0;i<val;i++){ret[i]=render(i+1,i);}}else if(isObject(val)){keys=Object.keys(val);ret=new Array(keys.length);for(i=0,l=keys.length;i<l;i++){key=keys[i];ret[i]=render(val[key],key,i);}}if(!isDef(ret)){ret=[];}ret._isVList=true;return ret;}/*  *//**
 * Runtime helper for rendering <slot>
 */function renderSlot(name,fallback,props,bindObject){var scopedSlotFn=this.$scopedSlots[name];var nodes;if(scopedSlotFn){// scoped slot
props=props||{};if(bindObject){if(process.env.NODE_ENV!=='production'&&!isObject(bindObject)){warn('slot v-bind without argument expects an Object',this);}props=extend(extend({},bindObject),props);}nodes=scopedSlotFn(props)||fallback;}else{nodes=this.$slots[name]||fallback;}var target=props&&props.slot;if(target){return this.$createElement('template',{slot:target},nodes);}else{return nodes;}}/*  *//**
 * Runtime helper for resolving filters
 */function resolveFilter(id){return resolveAsset(this.$options,'filters',id,true)||identity;}/*  */function isKeyNotMatch(expect,actual){if(Array.isArray(expect)){return expect.indexOf(actual)===-1;}else{return expect!==actual;}}/**
 * Runtime helper for checking keyCodes from config.
 * exposed as Vue.prototype._k
 * passing in eventKeyName as last argument separately for backwards compat
 */function checkKeyCodes(eventKeyCode,key,builtInKeyCode,eventKeyName,builtInKeyName){var mappedKeyCode=config.keyCodes[key]||builtInKeyCode;if(builtInKeyName&&eventKeyName&&!config.keyCodes[key]){return isKeyNotMatch(builtInKeyName,eventKeyName);}else if(mappedKeyCode){return isKeyNotMatch(mappedKeyCode,eventKeyCode);}else if(eventKeyName){return hyphenate(eventKeyName)!==key;}}/*  *//**
 * Runtime helper for merging v-bind="object" into a VNode's data.
 */function bindObjectProps(data,tag,value,asProp,isSync){if(value){if(!isObject(value)){process.env.NODE_ENV!=='production'&&warn('v-bind without argument expects an Object or Array value',this);}else{if(Array.isArray(value)){value=toObject(value);}var hash;var loop=function loop(key){if(key==='class'||key==='style'||isReservedAttribute(key)){hash=data;}else{var type=data.attrs&&data.attrs.type;hash=asProp||config.mustUseProp(tag,type,key)?data.domProps||(data.domProps={}):data.attrs||(data.attrs={});}var camelizedKey=camelize(key);if(!(key in hash)&&!(camelizedKey in hash)){hash[key]=value[key];if(isSync){var on=data.on||(data.on={});on["update:"+camelizedKey]=function($event){value[key]=$event;};}}};for(var key in value){loop(key);}}}return data;}/*  *//**
 * Runtime helper for rendering static trees.
 */function renderStatic(index,isInFor){var cached=this._staticTrees||(this._staticTrees=[]);var tree=cached[index];// if has already-rendered static tree and not inside v-for,
// we can reuse the same tree.
if(tree&&!isInFor){return tree;}// otherwise, render a fresh tree.
tree=cached[index]=this.$options.staticRenderFns[index].call(this._renderProxy,null,this// for render fns generated for functional component templates
);markStatic(tree,"__static__"+index,false);return tree;}/**
 * Runtime helper for v-once.
 * Effectively it means marking the node as static with a unique key.
 */function markOnce(tree,index,key){markStatic(tree,"__once__"+index+(key?"_"+key:""),true);return tree;}function markStatic(tree,key,isOnce){if(Array.isArray(tree)){for(var i=0;i<tree.length;i++){if(tree[i]&&typeof tree[i]!=='string'){markStaticNode(tree[i],key+"_"+i,isOnce);}}}else{markStaticNode(tree,key,isOnce);}}function markStaticNode(node,key,isOnce){node.isStatic=true;node.key=key;node.isOnce=isOnce;}/*  */function bindObjectListeners(data,value){if(value){if(!isPlainObject(value)){process.env.NODE_ENV!=='production'&&warn('v-on without argument expects an Object value',this);}else{var on=data.on=data.on?extend({},data.on):{};for(var key in value){var existing=on[key];var ours=value[key];on[key]=existing?[].concat(existing,ours):ours;}}}return data;}/*  */function installRenderHelpers(target){target._o=markOnce;target._n=toNumber;target._s=toString;target._l=renderList;target._t=renderSlot;target._q=looseEqual;target._i=looseIndexOf;target._m=renderStatic;target._f=resolveFilter;target._k=checkKeyCodes;target._b=bindObjectProps;target._v=createTextVNode;target._e=createEmptyVNode;target._u=resolveScopedSlots;target._g=bindObjectListeners;}/*  */function FunctionalRenderContext(data,props,children,parent,Ctor){var options=Ctor.options;// ensure the createElement function in functional components
// gets a unique context - this is necessary for correct named slot check
var contextVm;if(hasOwn(parent,'_uid')){contextVm=Object.create(parent);// $flow-disable-line
contextVm._original=parent;}else{// the context vm passed in is a functional context as well.
// in this case we want to make sure we are able to get a hold to the
// real context instance.
contextVm=parent;// $flow-disable-line
parent=parent._original;}var isCompiled=isTrue(options._compiled);var needNormalization=!isCompiled;this.data=data;this.props=props;this.children=children;this.parent=parent;this.listeners=data.on||emptyObject;this.injections=resolveInject(options.inject,parent);this.slots=function(){return resolveSlots(children,parent);};// support for compiled functional template
if(isCompiled){// exposing $options for renderStatic()
this.$options=options;// pre-resolve slots for renderSlot()
this.$slots=this.slots();this.$scopedSlots=data.scopedSlots||emptyObject;}if(options._scopeId){this._c=function(a,b,c,d){var vnode=createElement(contextVm,a,b,c,d,needNormalization);if(vnode&&!Array.isArray(vnode)){vnode.fnScopeId=options._scopeId;vnode.fnContext=parent;}return vnode;};}else{this._c=function(a,b,c,d){return createElement(contextVm,a,b,c,d,needNormalization);};}}installRenderHelpers(FunctionalRenderContext.prototype);function createFunctionalComponent(Ctor,propsData,data,contextVm,children){var options=Ctor.options;var props={};var propOptions=options.props;if(isDef(propOptions)){for(var key in propOptions){props[key]=validateProp(key,propOptions,propsData||emptyObject);}}else{if(isDef(data.attrs)){mergeProps(props,data.attrs);}if(isDef(data.props)){mergeProps(props,data.props);}}var renderContext=new FunctionalRenderContext(data,props,children,contextVm,Ctor);var vnode=options.render.call(null,renderContext._c,renderContext);if(vnode instanceof VNode){return cloneAndMarkFunctionalResult(vnode,data,renderContext.parent,options,renderContext);}else if(Array.isArray(vnode)){var vnodes=normalizeChildren(vnode)||[];var res=new Array(vnodes.length);for(var i=0;i<vnodes.length;i++){res[i]=cloneAndMarkFunctionalResult(vnodes[i],data,renderContext.parent,options,renderContext);}return res;}}function cloneAndMarkFunctionalResult(vnode,data,contextVm,options,renderContext){// #7817 clone node before setting fnContext, otherwise if the node is reused
// (e.g. it was from a cached normal slot) the fnContext causes named slots
// that should not be matched to match.
var clone=cloneVNode(vnode);clone.fnContext=contextVm;clone.fnOptions=options;if(process.env.NODE_ENV!=='production'){(clone.devtoolsMeta=clone.devtoolsMeta||{}).renderContext=renderContext;}if(data.slot){(clone.data||(clone.data={})).slot=data.slot;}return clone;}function mergeProps(to,from){for(var key in from){to[camelize(key)]=from[key];}}/*  *//*  *//*  *//*  */// inline hooks to be invoked on component VNodes during patch
var componentVNodeHooks={init:function init(vnode,hydrating){if(vnode.componentInstance&&!vnode.componentInstance._isDestroyed&&vnode.data.keepAlive){// kept-alive components, treat as a patch
var mountedNode=vnode;// work around flow
componentVNodeHooks.prepatch(mountedNode,mountedNode);}else{var child=vnode.componentInstance=createComponentInstanceForVnode(vnode,activeInstance);child.$mount(hydrating?vnode.elm:undefined,hydrating);}},prepatch:function prepatch(oldVnode,vnode){var options=vnode.componentOptions;var child=vnode.componentInstance=oldVnode.componentInstance;updateChildComponent(child,options.propsData,// updated props
options.listeners,// updated listeners
vnode,// new parent vnode
options.children// new children
);},insert:function insert(vnode){var context=vnode.context;var componentInstance=vnode.componentInstance;if(!componentInstance._isMounted){componentInstance._isMounted=true;callHook(componentInstance,'mounted');}if(vnode.data.keepAlive){if(context._isMounted){// vue-router#1212
// During updates, a kept-alive component's child components may
// change, so directly walking the tree here may call activated hooks
// on incorrect children. Instead we push them into a queue which will
// be processed after the whole patch process ended.
queueActivatedComponent(componentInstance);}else{activateChildComponent(componentInstance,true/* direct */);}}},destroy:function destroy(vnode){var componentInstance=vnode.componentInstance;if(!componentInstance._isDestroyed){if(!vnode.data.keepAlive){componentInstance.$destroy();}else{deactivateChildComponent(componentInstance,true/* direct */);}}}};var hooksToMerge=Object.keys(componentVNodeHooks);function createComponent(Ctor,data,context,children,tag){if(isUndef(Ctor)){return;}var baseCtor=context.$options._base;// plain options object: turn it into a constructor
if(isObject(Ctor)){Ctor=baseCtor.extend(Ctor);}// if at this stage it's not a constructor or an async component factory,
// reject.
if(typeof Ctor!=='function'){if(process.env.NODE_ENV!=='production'){warn("Invalid Component definition: "+String(Ctor),context);}return;}// async component
var asyncFactory;if(isUndef(Ctor.cid)){asyncFactory=Ctor;Ctor=resolveAsyncComponent(asyncFactory,baseCtor,context);if(Ctor===undefined){// return a placeholder node for async component, which is rendered
// as a comment node but preserves all the raw information for the node.
// the information will be used for async server-rendering and hydration.
return createAsyncPlaceholder(asyncFactory,data,context,children,tag);}}data=data||{};// resolve constructor options in case global mixins are applied after
// component constructor creation
resolveConstructorOptions(Ctor);// transform component v-model data into props & events
if(isDef(data.model)){transformModel(Ctor.options,data);}// extract props
var propsData=extractPropsFromVNodeData(data,Ctor,tag);// functional component
if(isTrue(Ctor.options.functional)){return createFunctionalComponent(Ctor,propsData,data,context,children);}// extract listeners, since these needs to be treated as
// child component listeners instead of DOM listeners
var listeners=data.on;// replace with listeners with .native modifier
// so it gets processed during parent component patch.
data.on=data.nativeOn;if(isTrue(Ctor.options.abstract)){// abstract components do not keep anything
// other than props & listeners & slot
// work around flow
var slot=data.slot;data={};if(slot){data.slot=slot;}}// install component management hooks onto the placeholder node
installComponentHooks(data);// return a placeholder vnode
var name=Ctor.options.name||tag;var vnode=new VNode("vue-component-"+Ctor.cid+(name?"-"+name:''),data,undefined,undefined,undefined,context,{Ctor:Ctor,propsData:propsData,listeners:listeners,tag:tag,children:children},asyncFactory);return vnode;}function createComponentInstanceForVnode(vnode,// we know it's MountedComponentVNode but flow doesn't
parent// activeInstance in lifecycle state
){var options={_isComponent:true,_parentVnode:vnode,parent:parent};// check inline-template render functions
var inlineTemplate=vnode.data.inlineTemplate;if(isDef(inlineTemplate)){options.render=inlineTemplate.render;options.staticRenderFns=inlineTemplate.staticRenderFns;}return new vnode.componentOptions.Ctor(options);}function installComponentHooks(data){var hooks=data.hook||(data.hook={});for(var i=0;i<hooksToMerge.length;i++){var key=hooksToMerge[i];var existing=hooks[key];var toMerge=componentVNodeHooks[key];if(existing!==toMerge&&!(existing&&existing._merged)){hooks[key]=existing?mergeHook$1(toMerge,existing):toMerge;}}}function mergeHook$1(f1,f2){var merged=function merged(a,b){// flow complains about extra args which is why we use any
f1(a,b);f2(a,b);};merged._merged=true;return merged;}// transform component v-model info (value and callback) into
// prop and event handler respectively.
function transformModel(options,data){var prop=options.model&&options.model.prop||'value';var event=options.model&&options.model.event||'input';(data.props||(data.props={}))[prop]=data.model.value;var on=data.on||(data.on={});var existing=on[event];var callback=data.model.callback;if(isDef(existing)){if(Array.isArray(existing)?existing.indexOf(callback)===-1:existing!==callback){on[event]=[callback].concat(existing);}}else{on[event]=callback;}}/*  */var SIMPLE_NORMALIZE=1;var ALWAYS_NORMALIZE=2;// wrapper function for providing a more flexible interface
// without getting yelled at by flow
function createElement(context,tag,data,children,normalizationType,alwaysNormalize){if(Array.isArray(data)||isPrimitive(data)){normalizationType=children;children=data;data=undefined;}if(isTrue(alwaysNormalize)){normalizationType=ALWAYS_NORMALIZE;}return _createElement(context,tag,data,children,normalizationType);}function _createElement(context,tag,data,children,normalizationType){if(isDef(data)&&isDef(data.__ob__)){process.env.NODE_ENV!=='production'&&warn("Avoid using observed data object as vnode data: "+JSON.stringify(data)+"\n"+'Always create fresh vnode data objects in each render!',context);return createEmptyVNode();}// object syntax in v-bind
if(isDef(data)&&isDef(data.is)){tag=data.is;}if(!tag){// in case of component :is set to falsy value
return createEmptyVNode();}// warn against non-primitive key
if(process.env.NODE_ENV!=='production'&&isDef(data)&&isDef(data.key)&&!isPrimitive(data.key)){{warn('Avoid using non-primitive value as key, '+'use string/number value instead.',context);}}// support single function children as default scoped slot
if(Array.isArray(children)&&typeof children[0]==='function'){data=data||{};data.scopedSlots={default:children[0]};children.length=0;}if(normalizationType===ALWAYS_NORMALIZE){children=normalizeChildren(children);}else if(normalizationType===SIMPLE_NORMALIZE){children=simpleNormalizeChildren(children);}var vnode,ns;if(typeof tag==='string'){var Ctor;ns=context.$vnode&&context.$vnode.ns||config.getTagNamespace(tag);if(config.isReservedTag(tag)){// platform built-in elements
vnode=new VNode(config.parsePlatformTagName(tag),data,children,undefined,undefined,context);}else if((!data||!data.pre)&&isDef(Ctor=resolveAsset(context.$options,'components',tag))){// component
vnode=createComponent(Ctor,data,context,children,tag);}else{// unknown or unlisted namespaced elements
// check at runtime because it may get assigned a namespace when its
// parent normalizes children
vnode=new VNode(tag,data,children,undefined,undefined,context);}}else{// direct component options / constructor
vnode=createComponent(tag,data,context,children);}if(Array.isArray(vnode)){return vnode;}else if(isDef(vnode)){if(isDef(ns)){applyNS(vnode,ns);}if(isDef(data)){registerDeepBindings(data);}return vnode;}else{return createEmptyVNode();}}function applyNS(vnode,ns,force){vnode.ns=ns;if(vnode.tag==='foreignObject'){// use default namespace inside foreignObject
ns=undefined;force=true;}if(isDef(vnode.children)){for(var i=0,l=vnode.children.length;i<l;i++){var child=vnode.children[i];if(isDef(child.tag)&&(isUndef(child.ns)||isTrue(force)&&child.tag!=='svg')){applyNS(child,ns,force);}}}}// ref #5318
// necessary to ensure parent re-render when deep bindings like :style and
// :class are used on slot nodes
function registerDeepBindings(data){if(isObject(data.style)){traverse(data.style);}if(isObject(data.class)){traverse(data.class);}}/*  */function initRender(vm){vm._vnode=null;// the root of the child tree
vm._staticTrees=null;// v-once cached trees
var options=vm.$options;var parentVnode=vm.$vnode=options._parentVnode;// the placeholder node in parent tree
var renderContext=parentVnode&&parentVnode.context;vm.$slots=resolveSlots(options._renderChildren,renderContext);vm.$scopedSlots=emptyObject;// bind the createElement fn to this instance
// so that we get proper render context inside it.
// args order: tag, data, children, normalizationType, alwaysNormalize
// internal version is used by render functions compiled from templates
vm._c=function(a,b,c,d){return createElement(vm,a,b,c,d,false);};// normalization is always applied for the public version, used in
// user-written render functions.
vm.$createElement=function(a,b,c,d){return createElement(vm,a,b,c,d,true);};// $attrs & $listeners are exposed for easier HOC creation.
// they need to be reactive so that HOCs using them are always updated
var parentData=parentVnode&&parentVnode.data;/* istanbul ignore else */if(process.env.NODE_ENV!=='production'){defineReactive$$1(vm,'$attrs',parentData&&parentData.attrs||emptyObject,function(){!isUpdatingChildComponent&&warn("$attrs is readonly.",vm);},true);defineReactive$$1(vm,'$listeners',options._parentListeners||emptyObject,function(){!isUpdatingChildComponent&&warn("$listeners is readonly.",vm);},true);}else{defineReactive$$1(vm,'$attrs',parentData&&parentData.attrs||emptyObject,null,true);defineReactive$$1(vm,'$listeners',options._parentListeners||emptyObject,null,true);}}function renderMixin(Vue){// install runtime convenience helpers
installRenderHelpers(Vue.prototype);Vue.prototype.$nextTick=function(fn){return nextTick(fn,this);};Vue.prototype._render=function(){var vm=this;var ref=vm.$options;var render=ref.render;var _parentVnode=ref._parentVnode;if(_parentVnode){vm.$scopedSlots=_parentVnode.data.scopedSlots||emptyObject;}// set parent vnode. this allows render functions to have access
// to the data on the placeholder node.
vm.$vnode=_parentVnode;// render self
var vnode;try{vnode=render.call(vm._renderProxy,vm.$createElement);}catch(e){handleError(e,vm,"render");// return error render result,
// or previous vnode to prevent render error causing blank component
/* istanbul ignore else */if(process.env.NODE_ENV!=='production'&&vm.$options.renderError){try{vnode=vm.$options.renderError.call(vm._renderProxy,vm.$createElement,e);}catch(e){handleError(e,vm,"renderError");vnode=vm._vnode;}}else{vnode=vm._vnode;}}// return empty vnode in case the render function errored out
if(!(vnode instanceof VNode)){if(process.env.NODE_ENV!=='production'&&Array.isArray(vnode)){warn('Multiple root nodes returned from render function. Render function '+'should return a single root node.',vm);}vnode=createEmptyVNode();}// set parent
vnode.parent=_parentVnode;return vnode;};}/*  */var uid$3=0;function initMixin(Vue){Vue.prototype._init=function(options){var vm=this;// a uid
vm._uid=uid$3++;var startTag,endTag;/* istanbul ignore if */if(process.env.NODE_ENV!=='production'&&config.performance&&mark){startTag="vue-perf-start:"+vm._uid;endTag="vue-perf-end:"+vm._uid;mark(startTag);}// a flag to avoid this being observed
vm._isVue=true;// merge options
if(options&&options._isComponent){// optimize internal component instantiation
// since dynamic options merging is pretty slow, and none of the
// internal component options needs special treatment.
initInternalComponent(vm,options);}else{vm.$options=mergeOptions(resolveConstructorOptions(vm.constructor),options||{},vm);}/* istanbul ignore else */if(process.env.NODE_ENV!=='production'){initProxy(vm);}else{vm._renderProxy=vm;}// expose real self
vm._self=vm;initLifecycle(vm);initEvents(vm);initRender(vm);callHook(vm,'beforeCreate');initInjections(vm);// resolve injections before data/props
initState(vm);initProvide(vm);// resolve provide after data/props
callHook(vm,'created');/* istanbul ignore if */if(process.env.NODE_ENV!=='production'&&config.performance&&mark){vm._name=formatComponentName(vm,false);mark(endTag);measure("vue "+vm._name+" init",startTag,endTag);}if(vm.$options.el){vm.$mount(vm.$options.el);}};}function initInternalComponent(vm,options){var opts=vm.$options=Object.create(vm.constructor.options);// doing this because it's faster than dynamic enumeration.
var parentVnode=options._parentVnode;opts.parent=options.parent;opts._parentVnode=parentVnode;var vnodeComponentOptions=parentVnode.componentOptions;opts.propsData=vnodeComponentOptions.propsData;opts._parentListeners=vnodeComponentOptions.listeners;opts._renderChildren=vnodeComponentOptions.children;opts._componentTag=vnodeComponentOptions.tag;if(options.render){opts.render=options.render;opts.staticRenderFns=options.staticRenderFns;}}function resolveConstructorOptions(Ctor){var options=Ctor.options;if(Ctor.super){var superOptions=resolveConstructorOptions(Ctor.super);var cachedSuperOptions=Ctor.superOptions;if(superOptions!==cachedSuperOptions){// super option changed,
// need to resolve new options.
Ctor.superOptions=superOptions;// check if there are any late-modified/attached options (#4976)
var modifiedOptions=resolveModifiedOptions(Ctor);// update base extend options
if(modifiedOptions){extend(Ctor.extendOptions,modifiedOptions);}options=Ctor.options=mergeOptions(superOptions,Ctor.extendOptions);if(options.name){options.components[options.name]=Ctor;}}}return options;}function resolveModifiedOptions(Ctor){var modified;var latest=Ctor.options;var sealed=Ctor.sealedOptions;for(var key in latest){if(latest[key]!==sealed[key]){if(!modified){modified={};}modified[key]=latest[key];}}return modified;}function Vue(options){if(process.env.NODE_ENV!=='production'&&!(this instanceof Vue)){warn('Vue is a constructor and should be called with the `new` keyword');}this._init(options);}initMixin(Vue);stateMixin(Vue);eventsMixin(Vue);lifecycleMixin(Vue);renderMixin(Vue);/*  */function initUse(Vue){Vue.use=function(plugin){var installedPlugins=this._installedPlugins||(this._installedPlugins=[]);if(installedPlugins.indexOf(plugin)>-1){return this;}// additional parameters
var args=toArray(arguments,1);args.unshift(this);if(typeof plugin.install==='function'){plugin.install.apply(plugin,args);}else if(typeof plugin==='function'){plugin.apply(null,args);}installedPlugins.push(plugin);return this;};}/*  */function initMixin$1(Vue){Vue.mixin=function(mixin){this.options=mergeOptions(this.options,mixin);return this;};}/*  */function initExtend(Vue){/**
   * Each instance constructor, including Vue, has a unique
   * cid. This enables us to create wrapped "child
   * constructors" for prototypal inheritance and cache them.
   */Vue.cid=0;var cid=1;/**
   * Class inheritance
   */Vue.extend=function(extendOptions){extendOptions=extendOptions||{};var Super=this;var SuperId=Super.cid;var cachedCtors=extendOptions._Ctor||(extendOptions._Ctor={});if(cachedCtors[SuperId]){return cachedCtors[SuperId];}var name=extendOptions.name||Super.options.name;if(process.env.NODE_ENV!=='production'&&name){validateComponentName(name);}var Sub=function VueComponent(options){this._init(options);};Sub.prototype=Object.create(Super.prototype);Sub.prototype.constructor=Sub;Sub.cid=cid++;Sub.options=mergeOptions(Super.options,extendOptions);Sub['super']=Super;// For props and computed properties, we define the proxy getters on
// the Vue instances at extension time, on the extended prototype. This
// avoids Object.defineProperty calls for each instance created.
if(Sub.options.props){initProps$1(Sub);}if(Sub.options.computed){initComputed$1(Sub);}// allow further extension/mixin/plugin usage
Sub.extend=Super.extend;Sub.mixin=Super.mixin;Sub.use=Super.use;// create asset registers, so extended classes
// can have their private assets too.
ASSET_TYPES.forEach(function(type){Sub[type]=Super[type];});// enable recursive self-lookup
if(name){Sub.options.components[name]=Sub;}// keep a reference to the super options at extension time.
// later at instantiation we can check if Super's options have
// been updated.
Sub.superOptions=Super.options;Sub.extendOptions=extendOptions;Sub.sealedOptions=extend({},Sub.options);// cache constructor
cachedCtors[SuperId]=Sub;return Sub;};}function initProps$1(Comp){var props=Comp.options.props;for(var key in props){proxy(Comp.prototype,"_props",key);}}function initComputed$1(Comp){var computed=Comp.options.computed;for(var key in computed){defineComputed(Comp.prototype,key,computed[key]);}}/*  */function initAssetRegisters(Vue){/**
   * Create asset registration methods.
   */ASSET_TYPES.forEach(function(type){Vue[type]=function(id,definition){if(!definition){return this.options[type+'s'][id];}else{/* istanbul ignore if */if(process.env.NODE_ENV!=='production'&&type==='component'){validateComponentName(id);}if(type==='component'&&isPlainObject(definition)){definition.name=definition.name||id;definition=this.options._base.extend(definition);}if(type==='directive'&&typeof definition==='function'){definition={bind:definition,update:definition};}this.options[type+'s'][id]=definition;return definition;}};});}/*  */function getComponentName(opts){return opts&&(opts.Ctor.options.name||opts.tag);}function matches(pattern,name){if(Array.isArray(pattern)){return pattern.indexOf(name)>-1;}else if(typeof pattern==='string'){return pattern.split(',').indexOf(name)>-1;}else if(isRegExp(pattern)){return pattern.test(name);}/* istanbul ignore next */return false;}function pruneCache(keepAliveInstance,filter){var cache=keepAliveInstance.cache;var keys=keepAliveInstance.keys;var _vnode=keepAliveInstance._vnode;for(var key in cache){var cachedNode=cache[key];if(cachedNode){var name=getComponentName(cachedNode.componentOptions);if(name&&!filter(name)){pruneCacheEntry(cache,key,keys,_vnode);}}}}function pruneCacheEntry(cache,key,keys,current){var cached$$1=cache[key];if(cached$$1&&(!current||cached$$1.tag!==current.tag)){cached$$1.componentInstance.$destroy();}cache[key]=null;remove(keys,key);}var patternTypes=[String,RegExp,Array];var KeepAlive={name:'keep-alive',abstract:true,props:{include:patternTypes,exclude:patternTypes,max:[String,Number]},created:function created(){this.cache=Object.create(null);this.keys=[];},destroyed:function destroyed(){for(var key in this.cache){pruneCacheEntry(this.cache,key,this.keys);}},mounted:function mounted(){var this$1=this;this.$watch('include',function(val){pruneCache(this$1,function(name){return matches(val,name);});});this.$watch('exclude',function(val){pruneCache(this$1,function(name){return!matches(val,name);});});},render:function render(){var slot=this.$slots.default;var vnode=getFirstComponentChild(slot);var componentOptions=vnode&&vnode.componentOptions;if(componentOptions){// check pattern
var name=getComponentName(componentOptions);var ref=this;var include=ref.include;var exclude=ref.exclude;if(// not included
include&&(!name||!matches(include,name))||// excluded
exclude&&name&&matches(exclude,name)){return vnode;}var ref$1=this;var cache=ref$1.cache;var keys=ref$1.keys;var key=vnode.key==null// same constructor may get registered as different local components
// so cid alone is not enough (#3269)
?componentOptions.Ctor.cid+(componentOptions.tag?"::"+componentOptions.tag:''):vnode.key;if(cache[key]){vnode.componentInstance=cache[key].componentInstance;// make current key freshest
remove(keys,key);keys.push(key);}else{cache[key]=vnode;keys.push(key);// prune oldest entry
if(this.max&&keys.length>parseInt(this.max)){pruneCacheEntry(cache,keys[0],keys,this._vnode);}}vnode.data.keepAlive=true;}return vnode||slot&&slot[0];}};var builtInComponents={KeepAlive:KeepAlive};/*  */function initGlobalAPI(Vue){// config
var configDef={};configDef.get=function(){return config;};if(process.env.NODE_ENV!=='production'){configDef.set=function(){warn('Do not replace the Vue.config object, set individual fields instead.');};}Object.defineProperty(Vue,'config',configDef);// exposed util methods.
// NOTE: these are not considered part of the public API - avoid relying on
// them unless you are aware of the risk.
Vue.util={warn:warn,extend:extend,mergeOptions:mergeOptions,defineReactive:defineReactive$$1};Vue.set=set;Vue.delete=del;Vue.nextTick=nextTick;Vue.options=Object.create(null);ASSET_TYPES.forEach(function(type){Vue.options[type+'s']=Object.create(null);});// this is used to identify the "base" constructor to extend all plain-object
// components with in Weex's multi-instance scenarios.
Vue.options._base=Vue;extend(Vue.options.components,builtInComponents);initUse(Vue);initMixin$1(Vue);initExtend(Vue);initAssetRegisters(Vue);}initGlobalAPI(Vue);Object.defineProperty(Vue.prototype,'$isServer',{get:isServerRendering});Object.defineProperty(Vue.prototype,'$ssrContext',{get:function get(){/* istanbul ignore next */return this.$vnode&&this.$vnode.ssrContext;}});// expose FunctionalRenderContext for ssr runtime helper installation
Object.defineProperty(Vue,'FunctionalRenderContext',{value:FunctionalRenderContext});Vue.version='2.5.22';/*  */// these are reserved for web because they are directly compiled away
// during template compilation
var isReservedAttr=makeMap('style,class');// attributes that should be using props for binding
var acceptValue=makeMap('input,textarea,option,select,progress');var mustUseProp=function mustUseProp(tag,type,attr){return attr==='value'&&acceptValue(tag)&&type!=='button'||attr==='selected'&&tag==='option'||attr==='checked'&&tag==='input'||attr==='muted'&&tag==='video';};var isEnumeratedAttr=makeMap('contenteditable,draggable,spellcheck');var isBooleanAttr=makeMap('allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,'+'default,defaultchecked,defaultmuted,defaultselected,defer,disabled,'+'enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,'+'muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,'+'required,reversed,scoped,seamless,selected,sortable,translate,'+'truespeed,typemustmatch,visible');var xlinkNS='http://www.w3.org/1999/xlink';var isXlink=function isXlink(name){return name.charAt(5)===':'&&name.slice(0,5)==='xlink';};var getXlinkProp=function getXlinkProp(name){return isXlink(name)?name.slice(6,name.length):'';};var isFalsyAttrValue=function isFalsyAttrValue(val){return val==null||val===false;};/*  */function genClassForVnode(vnode){var data=vnode.data;var parentNode=vnode;var childNode=vnode;while(isDef(childNode.componentInstance)){childNode=childNode.componentInstance._vnode;if(childNode&&childNode.data){data=mergeClassData(childNode.data,data);}}while(isDef(parentNode=parentNode.parent)){if(parentNode&&parentNode.data){data=mergeClassData(data,parentNode.data);}}return renderClass(data.staticClass,data.class);}function mergeClassData(child,parent){return{staticClass:concat(child.staticClass,parent.staticClass),class:isDef(child.class)?[child.class,parent.class]:parent.class};}function renderClass(staticClass,dynamicClass){if(isDef(staticClass)||isDef(dynamicClass)){return concat(staticClass,stringifyClass(dynamicClass));}/* istanbul ignore next */return'';}function concat(a,b){return a?b?a+' '+b:a:b||'';}function stringifyClass(value){if(Array.isArray(value)){return stringifyArray(value);}if(isObject(value)){return stringifyObject(value);}if(typeof value==='string'){return value;}/* istanbul ignore next */return'';}function stringifyArray(value){var res='';var stringified;for(var i=0,l=value.length;i<l;i++){if(isDef(stringified=stringifyClass(value[i]))&&stringified!==''){if(res){res+=' ';}res+=stringified;}}return res;}function stringifyObject(value){var res='';for(var key in value){if(value[key]){if(res){res+=' ';}res+=key;}}return res;}/*  */var namespaceMap={svg:'http://www.w3.org/2000/svg',math:'http://www.w3.org/1998/Math/MathML'};var isHTMLTag=makeMap('html,body,base,head,link,meta,style,title,'+'address,article,aside,footer,header,h1,h2,h3,h4,h5,h6,hgroup,nav,section,'+'div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,'+'a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,rtc,ruby,'+'s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,'+'embed,object,param,source,canvas,script,noscript,del,ins,'+'caption,col,colgroup,table,thead,tbody,td,th,tr,'+'button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,'+'output,progress,select,textarea,'+'details,dialog,menu,menuitem,summary,'+'content,element,shadow,template,blockquote,iframe,tfoot');// this map is intentionally selective, only covering SVG elements that may
// contain child elements.
var isSVG=makeMap('svg,animate,circle,clippath,cursor,defs,desc,ellipse,filter,font-face,'+'foreignObject,g,glyph,image,line,marker,mask,missing-glyph,path,pattern,'+'polygon,polyline,rect,switch,symbol,text,textpath,tspan,use,view',true);var isPreTag=function isPreTag(tag){return tag==='pre';};var isReservedTag=function isReservedTag(tag){return isHTMLTag(tag)||isSVG(tag);};function getTagNamespace(tag){if(isSVG(tag)){return'svg';}// basic support for MathML
// note it doesn't support other MathML elements being component roots
if(tag==='math'){return'math';}}var unknownElementCache=Object.create(null);function isUnknownElement(tag){/* istanbul ignore if */if(!inBrowser){return true;}if(isReservedTag(tag)){return false;}tag=tag.toLowerCase();/* istanbul ignore if */if(unknownElementCache[tag]!=null){return unknownElementCache[tag];}var el=document.createElement(tag);if(tag.indexOf('-')>-1){// http://stackoverflow.com/a/28210364/1070244
return unknownElementCache[tag]=el.constructor===window.HTMLUnknownElement||el.constructor===window.HTMLElement;}else{return unknownElementCache[tag]=/HTMLUnknownElement/.test(el.toString());}}var isTextInputType=makeMap('text,number,password,search,email,tel,url');/*  *//**
 * Query an element selector if it's not an element already.
 */function query(el){if(typeof el==='string'){var selected=document.querySelector(el);if(!selected){process.env.NODE_ENV!=='production'&&warn('Cannot find element: '+el);return document.createElement('div');}return selected;}else{return el;}}/*  */function createElement$1(tagName,vnode){var elm=document.createElement(tagName);if(tagName!=='select'){return elm;}// false or null will remove the attribute but undefined will not
if(vnode.data&&vnode.data.attrs&&vnode.data.attrs.multiple!==undefined){elm.setAttribute('multiple','multiple');}return elm;}function createElementNS(namespace,tagName){return document.createElementNS(namespaceMap[namespace],tagName);}function createTextNode(text){return document.createTextNode(text);}function createComment(text){return document.createComment(text);}function insertBefore(parentNode,newNode,referenceNode){parentNode.insertBefore(newNode,referenceNode);}function removeChild(node,child){node.removeChild(child);}function appendChild(node,child){node.appendChild(child);}function parentNode(node){return node.parentNode;}function nextSibling(node){return node.nextSibling;}function tagName(node){return node.tagName;}function setTextContent(node,text){node.textContent=text;}function setStyleScope(node,scopeId){node.setAttribute(scopeId,'');}var nodeOps=/*#__PURE__*/Object.freeze({createElement:createElement$1,createElementNS:createElementNS,createTextNode:createTextNode,createComment:createComment,insertBefore:insertBefore,removeChild:removeChild,appendChild:appendChild,parentNode:parentNode,nextSibling:nextSibling,tagName:tagName,setTextContent:setTextContent,setStyleScope:setStyleScope});/*  */var ref={create:function create(_,vnode){registerRef(vnode);},update:function update(oldVnode,vnode){if(oldVnode.data.ref!==vnode.data.ref){registerRef(oldVnode,true);registerRef(vnode);}},destroy:function destroy(vnode){registerRef(vnode,true);}};function registerRef(vnode,isRemoval){var key=vnode.data.ref;if(!isDef(key)){return;}var vm=vnode.context;var ref=vnode.componentInstance||vnode.elm;var refs=vm.$refs;if(isRemoval){if(Array.isArray(refs[key])){remove(refs[key],ref);}else if(refs[key]===ref){refs[key]=undefined;}}else{if(vnode.data.refInFor){if(!Array.isArray(refs[key])){refs[key]=[ref];}else if(refs[key].indexOf(ref)<0){// $flow-disable-line
refs[key].push(ref);}}else{refs[key]=ref;}}}/**
 * Virtual DOM patching algorithm based on Snabbdom by
 * Simon Friis Vindum (@paldepind)
 * Licensed under the MIT License
 * https://github.com/paldepind/snabbdom/blob/master/LICENSE
 *
 * modified by Evan You (@yyx990803)
 *
 * Not type-checking this because this file is perf-critical and the cost
 * of making flow understand it is not worth it.
 */var emptyNode=new VNode('',{},[]);var hooks=['create','activate','update','remove','destroy'];function sameVnode(a,b){return a.key===b.key&&(a.tag===b.tag&&a.isComment===b.isComment&&isDef(a.data)===isDef(b.data)&&sameInputType(a,b)||isTrue(a.isAsyncPlaceholder)&&a.asyncFactory===b.asyncFactory&&isUndef(b.asyncFactory.error));}function sameInputType(a,b){if(a.tag!=='input'){return true;}var i;var typeA=isDef(i=a.data)&&isDef(i=i.attrs)&&i.type;var typeB=isDef(i=b.data)&&isDef(i=i.attrs)&&i.type;return typeA===typeB||isTextInputType(typeA)&&isTextInputType(typeB);}function createKeyToOldIdx(children,beginIdx,endIdx){var i,key;var map={};for(i=beginIdx;i<=endIdx;++i){key=children[i].key;if(isDef(key)){map[key]=i;}}return map;}function createPatchFunction(backend){var i,j;var cbs={};var modules=backend.modules;var nodeOps=backend.nodeOps;for(i=0;i<hooks.length;++i){cbs[hooks[i]]=[];for(j=0;j<modules.length;++j){if(isDef(modules[j][hooks[i]])){cbs[hooks[i]].push(modules[j][hooks[i]]);}}}function emptyNodeAt(elm){return new VNode(nodeOps.tagName(elm).toLowerCase(),{},[],undefined,elm);}function createRmCb(childElm,listeners){function remove$$1(){if(--remove$$1.listeners===0){removeNode(childElm);}}remove$$1.listeners=listeners;return remove$$1;}function removeNode(el){var parent=nodeOps.parentNode(el);// element may have already been removed due to v-html / v-text
if(isDef(parent)){nodeOps.removeChild(parent,el);}}function isUnknownElement$$1(vnode,inVPre){return!inVPre&&!vnode.ns&&!(config.ignoredElements.length&&config.ignoredElements.some(function(ignore){return isRegExp(ignore)?ignore.test(vnode.tag):ignore===vnode.tag;}))&&config.isUnknownElement(vnode.tag);}var creatingElmInVPre=0;function createElm(vnode,insertedVnodeQueue,parentElm,refElm,nested,ownerArray,index){if(isDef(vnode.elm)&&isDef(ownerArray)){// This vnode was used in a previous render!
// now it's used as a new node, overwriting its elm would cause
// potential patch errors down the road when it's used as an insertion
// reference node. Instead, we clone the node on-demand before creating
// associated DOM element for it.
vnode=ownerArray[index]=cloneVNode(vnode);}vnode.isRootInsert=!nested;// for transition enter check
if(createComponent(vnode,insertedVnodeQueue,parentElm,refElm)){return;}var data=vnode.data;var children=vnode.children;var tag=vnode.tag;if(isDef(tag)){if(process.env.NODE_ENV!=='production'){if(data&&data.pre){creatingElmInVPre++;}if(isUnknownElement$$1(vnode,creatingElmInVPre)){warn('Unknown custom element: <'+tag+'> - did you '+'register the component correctly? For recursive components, '+'make sure to provide the "name" option.',vnode.context);}}vnode.elm=vnode.ns?nodeOps.createElementNS(vnode.ns,tag):nodeOps.createElement(tag,vnode);setScope(vnode);/* istanbul ignore if */{createChildren(vnode,children,insertedVnodeQueue);if(isDef(data)){invokeCreateHooks(vnode,insertedVnodeQueue);}insert(parentElm,vnode.elm,refElm);}if(process.env.NODE_ENV!=='production'&&data&&data.pre){creatingElmInVPre--;}}else if(isTrue(vnode.isComment)){vnode.elm=nodeOps.createComment(vnode.text);insert(parentElm,vnode.elm,refElm);}else{vnode.elm=nodeOps.createTextNode(vnode.text);insert(parentElm,vnode.elm,refElm);}}function createComponent(vnode,insertedVnodeQueue,parentElm,refElm){var i=vnode.data;if(isDef(i)){var isReactivated=isDef(vnode.componentInstance)&&i.keepAlive;if(isDef(i=i.hook)&&isDef(i=i.init)){i(vnode,false/* hydrating */);}// after calling the init hook, if the vnode is a child component
// it should've created a child instance and mounted it. the child
// component also has set the placeholder vnode's elm.
// in that case we can just return the element and be done.
if(isDef(vnode.componentInstance)){initComponent(vnode,insertedVnodeQueue);insert(parentElm,vnode.elm,refElm);if(isTrue(isReactivated)){reactivateComponent(vnode,insertedVnodeQueue,parentElm,refElm);}return true;}}}function initComponent(vnode,insertedVnodeQueue){if(isDef(vnode.data.pendingInsert)){insertedVnodeQueue.push.apply(insertedVnodeQueue,vnode.data.pendingInsert);vnode.data.pendingInsert=null;}vnode.elm=vnode.componentInstance.$el;if(isPatchable(vnode)){invokeCreateHooks(vnode,insertedVnodeQueue);setScope(vnode);}else{// empty component root.
// skip all element-related modules except for ref (#3455)
registerRef(vnode);// make sure to invoke the insert hook
insertedVnodeQueue.push(vnode);}}function reactivateComponent(vnode,insertedVnodeQueue,parentElm,refElm){var i;// hack for #4339: a reactivated component with inner transition
// does not trigger because the inner node's created hooks are not called
// again. It's not ideal to involve module-specific logic in here but
// there doesn't seem to be a better way to do it.
var innerNode=vnode;while(innerNode.componentInstance){innerNode=innerNode.componentInstance._vnode;if(isDef(i=innerNode.data)&&isDef(i=i.transition)){for(i=0;i<cbs.activate.length;++i){cbs.activate[i](emptyNode,innerNode);}insertedVnodeQueue.push(innerNode);break;}}// unlike a newly created component,
// a reactivated keep-alive component doesn't insert itself
insert(parentElm,vnode.elm,refElm);}function insert(parent,elm,ref$$1){if(isDef(parent)){if(isDef(ref$$1)){if(nodeOps.parentNode(ref$$1)===parent){nodeOps.insertBefore(parent,elm,ref$$1);}}else{nodeOps.appendChild(parent,elm);}}}function createChildren(vnode,children,insertedVnodeQueue){if(Array.isArray(children)){if(process.env.NODE_ENV!=='production'){checkDuplicateKeys(children);}for(var i=0;i<children.length;++i){createElm(children[i],insertedVnodeQueue,vnode.elm,null,true,children,i);}}else if(isPrimitive(vnode.text)){nodeOps.appendChild(vnode.elm,nodeOps.createTextNode(String(vnode.text)));}}function isPatchable(vnode){while(vnode.componentInstance){vnode=vnode.componentInstance._vnode;}return isDef(vnode.tag);}function invokeCreateHooks(vnode,insertedVnodeQueue){for(var i$1=0;i$1<cbs.create.length;++i$1){cbs.create[i$1](emptyNode,vnode);}i=vnode.data.hook;// Reuse variable
if(isDef(i)){if(isDef(i.create)){i.create(emptyNode,vnode);}if(isDef(i.insert)){insertedVnodeQueue.push(vnode);}}}// set scope id attribute for scoped CSS.
// this is implemented as a special case to avoid the overhead
// of going through the normal attribute patching process.
function setScope(vnode){var i;if(isDef(i=vnode.fnScopeId)){nodeOps.setStyleScope(vnode.elm,i);}else{var ancestor=vnode;while(ancestor){if(isDef(i=ancestor.context)&&isDef(i=i.$options._scopeId)){nodeOps.setStyleScope(vnode.elm,i);}ancestor=ancestor.parent;}}// for slot content they should also get the scopeId from the host instance.
if(isDef(i=activeInstance)&&i!==vnode.context&&i!==vnode.fnContext&&isDef(i=i.$options._scopeId)){nodeOps.setStyleScope(vnode.elm,i);}}function addVnodes(parentElm,refElm,vnodes,startIdx,endIdx,insertedVnodeQueue){for(;startIdx<=endIdx;++startIdx){createElm(vnodes[startIdx],insertedVnodeQueue,parentElm,refElm,false,vnodes,startIdx);}}function invokeDestroyHook(vnode){var i,j;var data=vnode.data;if(isDef(data)){if(isDef(i=data.hook)&&isDef(i=i.destroy)){i(vnode);}for(i=0;i<cbs.destroy.length;++i){cbs.destroy[i](vnode);}}if(isDef(i=vnode.children)){for(j=0;j<vnode.children.length;++j){invokeDestroyHook(vnode.children[j]);}}}function removeVnodes(parentElm,vnodes,startIdx,endIdx){for(;startIdx<=endIdx;++startIdx){var ch=vnodes[startIdx];if(isDef(ch)){if(isDef(ch.tag)){removeAndInvokeRemoveHook(ch);invokeDestroyHook(ch);}else{// Text node
removeNode(ch.elm);}}}}function removeAndInvokeRemoveHook(vnode,rm){if(isDef(rm)||isDef(vnode.data)){var i;var listeners=cbs.remove.length+1;if(isDef(rm)){// we have a recursively passed down rm callback
// increase the listeners count
rm.listeners+=listeners;}else{// directly removing
rm=createRmCb(vnode.elm,listeners);}// recursively invoke hooks on child component root node
if(isDef(i=vnode.componentInstance)&&isDef(i=i._vnode)&&isDef(i.data)){removeAndInvokeRemoveHook(i,rm);}for(i=0;i<cbs.remove.length;++i){cbs.remove[i](vnode,rm);}if(isDef(i=vnode.data.hook)&&isDef(i=i.remove)){i(vnode,rm);}else{rm();}}else{removeNode(vnode.elm);}}function updateChildren(parentElm,oldCh,newCh,insertedVnodeQueue,removeOnly){var oldStartIdx=0;var newStartIdx=0;var oldEndIdx=oldCh.length-1;var oldStartVnode=oldCh[0];var oldEndVnode=oldCh[oldEndIdx];var newEndIdx=newCh.length-1;var newStartVnode=newCh[0];var newEndVnode=newCh[newEndIdx];var oldKeyToIdx,idxInOld,vnodeToMove,refElm;// removeOnly is a special flag used only by <transition-group>
// to ensure removed elements stay in correct relative positions
// during leaving transitions
var canMove=!removeOnly;if(process.env.NODE_ENV!=='production'){checkDuplicateKeys(newCh);}while(oldStartIdx<=oldEndIdx&&newStartIdx<=newEndIdx){if(isUndef(oldStartVnode)){oldStartVnode=oldCh[++oldStartIdx];// Vnode has been moved left
}else if(isUndef(oldEndVnode)){oldEndVnode=oldCh[--oldEndIdx];}else if(sameVnode(oldStartVnode,newStartVnode)){patchVnode(oldStartVnode,newStartVnode,insertedVnodeQueue,newCh,newStartIdx);oldStartVnode=oldCh[++oldStartIdx];newStartVnode=newCh[++newStartIdx];}else if(sameVnode(oldEndVnode,newEndVnode)){patchVnode(oldEndVnode,newEndVnode,insertedVnodeQueue,newCh,newEndIdx);oldEndVnode=oldCh[--oldEndIdx];newEndVnode=newCh[--newEndIdx];}else if(sameVnode(oldStartVnode,newEndVnode)){// Vnode moved right
patchVnode(oldStartVnode,newEndVnode,insertedVnodeQueue,newCh,newEndIdx);canMove&&nodeOps.insertBefore(parentElm,oldStartVnode.elm,nodeOps.nextSibling(oldEndVnode.elm));oldStartVnode=oldCh[++oldStartIdx];newEndVnode=newCh[--newEndIdx];}else if(sameVnode(oldEndVnode,newStartVnode)){// Vnode moved left
patchVnode(oldEndVnode,newStartVnode,insertedVnodeQueue,newCh,newStartIdx);canMove&&nodeOps.insertBefore(parentElm,oldEndVnode.elm,oldStartVnode.elm);oldEndVnode=oldCh[--oldEndIdx];newStartVnode=newCh[++newStartIdx];}else{if(isUndef(oldKeyToIdx)){oldKeyToIdx=createKeyToOldIdx(oldCh,oldStartIdx,oldEndIdx);}idxInOld=isDef(newStartVnode.key)?oldKeyToIdx[newStartVnode.key]:findIdxInOld(newStartVnode,oldCh,oldStartIdx,oldEndIdx);if(isUndef(idxInOld)){// New element
createElm(newStartVnode,insertedVnodeQueue,parentElm,oldStartVnode.elm,false,newCh,newStartIdx);}else{vnodeToMove=oldCh[idxInOld];if(sameVnode(vnodeToMove,newStartVnode)){patchVnode(vnodeToMove,newStartVnode,insertedVnodeQueue,newCh,newStartIdx);oldCh[idxInOld]=undefined;canMove&&nodeOps.insertBefore(parentElm,vnodeToMove.elm,oldStartVnode.elm);}else{// same key but different element. treat as new element
createElm(newStartVnode,insertedVnodeQueue,parentElm,oldStartVnode.elm,false,newCh,newStartIdx);}}newStartVnode=newCh[++newStartIdx];}}if(oldStartIdx>oldEndIdx){refElm=isUndef(newCh[newEndIdx+1])?null:newCh[newEndIdx+1].elm;addVnodes(parentElm,refElm,newCh,newStartIdx,newEndIdx,insertedVnodeQueue);}else if(newStartIdx>newEndIdx){removeVnodes(parentElm,oldCh,oldStartIdx,oldEndIdx);}}function checkDuplicateKeys(children){var seenKeys={};for(var i=0;i<children.length;i++){var vnode=children[i];var key=vnode.key;if(isDef(key)){if(seenKeys[key]){warn("Duplicate keys detected: '"+key+"'. This may cause an update error.",vnode.context);}else{seenKeys[key]=true;}}}}function findIdxInOld(node,oldCh,start,end){for(var i=start;i<end;i++){var c=oldCh[i];if(isDef(c)&&sameVnode(node,c)){return i;}}}function patchVnode(oldVnode,vnode,insertedVnodeQueue,ownerArray,index,removeOnly){if(oldVnode===vnode){return;}if(isDef(vnode.elm)&&isDef(ownerArray)){// clone reused vnode
vnode=ownerArray[index]=cloneVNode(vnode);}var elm=vnode.elm=oldVnode.elm;if(isTrue(oldVnode.isAsyncPlaceholder)){if(isDef(vnode.asyncFactory.resolved)){hydrate(oldVnode.elm,vnode,insertedVnodeQueue);}else{vnode.isAsyncPlaceholder=true;}return;}// reuse element for static trees.
// note we only do this if the vnode is cloned -
// if the new node is not cloned it means the render functions have been
// reset by the hot-reload-api and we need to do a proper re-render.
if(isTrue(vnode.isStatic)&&isTrue(oldVnode.isStatic)&&vnode.key===oldVnode.key&&(isTrue(vnode.isCloned)||isTrue(vnode.isOnce))){vnode.componentInstance=oldVnode.componentInstance;return;}var i;var data=vnode.data;if(isDef(data)&&isDef(i=data.hook)&&isDef(i=i.prepatch)){i(oldVnode,vnode);}var oldCh=oldVnode.children;var ch=vnode.children;if(isDef(data)&&isPatchable(vnode)){for(i=0;i<cbs.update.length;++i){cbs.update[i](oldVnode,vnode);}if(isDef(i=data.hook)&&isDef(i=i.update)){i(oldVnode,vnode);}}if(isUndef(vnode.text)){if(isDef(oldCh)&&isDef(ch)){if(oldCh!==ch){updateChildren(elm,oldCh,ch,insertedVnodeQueue,removeOnly);}}else if(isDef(ch)){if(process.env.NODE_ENV!=='production'){checkDuplicateKeys(ch);}if(isDef(oldVnode.text)){nodeOps.setTextContent(elm,'');}addVnodes(elm,null,ch,0,ch.length-1,insertedVnodeQueue);}else if(isDef(oldCh)){removeVnodes(elm,oldCh,0,oldCh.length-1);}else if(isDef(oldVnode.text)){nodeOps.setTextContent(elm,'');}}else if(oldVnode.text!==vnode.text){nodeOps.setTextContent(elm,vnode.text);}if(isDef(data)){if(isDef(i=data.hook)&&isDef(i=i.postpatch)){i(oldVnode,vnode);}}}function invokeInsertHook(vnode,queue,initial){// delay insert hooks for component root nodes, invoke them after the
// element is really inserted
if(isTrue(initial)&&isDef(vnode.parent)){vnode.parent.data.pendingInsert=queue;}else{for(var i=0;i<queue.length;++i){queue[i].data.hook.insert(queue[i]);}}}var hydrationBailed=false;// list of modules that can skip create hook during hydration because they
// are already rendered on the client or has no need for initialization
// Note: style is excluded because it relies on initial clone for future
// deep updates (#7063).
var isRenderedModule=makeMap('attrs,class,staticClass,staticStyle,key');// Note: this is a browser-only function so we can assume elms are DOM nodes.
function hydrate(elm,vnode,insertedVnodeQueue,inVPre){var i;var tag=vnode.tag;var data=vnode.data;var children=vnode.children;inVPre=inVPre||data&&data.pre;vnode.elm=elm;if(isTrue(vnode.isComment)&&isDef(vnode.asyncFactory)){vnode.isAsyncPlaceholder=true;return true;}// assert node match
if(process.env.NODE_ENV!=='production'){if(!assertNodeMatch(elm,vnode,inVPre)){return false;}}if(isDef(data)){if(isDef(i=data.hook)&&isDef(i=i.init)){i(vnode,true/* hydrating */);}if(isDef(i=vnode.componentInstance)){// child component. it should have hydrated its own tree.
initComponent(vnode,insertedVnodeQueue);return true;}}if(isDef(tag)){if(isDef(children)){// empty element, allow client to pick up and populate children
if(!elm.hasChildNodes()){createChildren(vnode,children,insertedVnodeQueue);}else{// v-html and domProps: innerHTML
if(isDef(i=data)&&isDef(i=i.domProps)&&isDef(i=i.innerHTML)){if(i!==elm.innerHTML){/* istanbul ignore if */if(process.env.NODE_ENV!=='production'&&typeof console!=='undefined'&&!hydrationBailed){hydrationBailed=true;console.warn('Parent: ',elm);console.warn('server innerHTML: ',i);console.warn('client innerHTML: ',elm.innerHTML);}return false;}}else{// iterate and compare children lists
var childrenMatch=true;var childNode=elm.firstChild;for(var i$1=0;i$1<children.length;i$1++){if(!childNode||!hydrate(childNode,children[i$1],insertedVnodeQueue,inVPre)){childrenMatch=false;break;}childNode=childNode.nextSibling;}// if childNode is not null, it means the actual childNodes list is
// longer than the virtual children list.
if(!childrenMatch||childNode){/* istanbul ignore if */if(process.env.NODE_ENV!=='production'&&typeof console!=='undefined'&&!hydrationBailed){hydrationBailed=true;console.warn('Parent: ',elm);console.warn('Mismatching childNodes vs. VNodes: ',elm.childNodes,children);}return false;}}}}if(isDef(data)){var fullInvoke=false;for(var key in data){if(!isRenderedModule(key)){fullInvoke=true;invokeCreateHooks(vnode,insertedVnodeQueue);break;}}if(!fullInvoke&&data['class']){// ensure collecting deps for deep class bindings for future updates
traverse(data['class']);}}}else if(elm.data!==vnode.text){elm.data=vnode.text;}return true;}function assertNodeMatch(node,vnode,inVPre){if(isDef(vnode.tag)){return vnode.tag.indexOf('vue-component')===0||!isUnknownElement$$1(vnode,inVPre)&&vnode.tag.toLowerCase()===(node.tagName&&node.tagName.toLowerCase());}else{return node.nodeType===(vnode.isComment?8:3);}}return function patch(oldVnode,vnode,hydrating,removeOnly){if(isUndef(vnode)){if(isDef(oldVnode)){invokeDestroyHook(oldVnode);}return;}var isInitialPatch=false;var insertedVnodeQueue=[];if(isUndef(oldVnode)){// empty mount (likely as component), create new root element
isInitialPatch=true;createElm(vnode,insertedVnodeQueue);}else{var isRealElement=isDef(oldVnode.nodeType);if(!isRealElement&&sameVnode(oldVnode,vnode)){// patch existing root node
patchVnode(oldVnode,vnode,insertedVnodeQueue,null,null,removeOnly);}else{if(isRealElement){// mounting to a real element
// check if this is server-rendered content and if we can perform
// a successful hydration.
if(oldVnode.nodeType===1&&oldVnode.hasAttribute(SSR_ATTR)){oldVnode.removeAttribute(SSR_ATTR);hydrating=true;}if(isTrue(hydrating)){if(hydrate(oldVnode,vnode,insertedVnodeQueue)){invokeInsertHook(vnode,insertedVnodeQueue,true);return oldVnode;}else if(process.env.NODE_ENV!=='production'){warn('The client-side rendered virtual DOM tree is not matching '+'server-rendered content. This is likely caused by incorrect '+'HTML markup, for example nesting block-level elements inside '+'<p>, or missing <tbody>. Bailing hydration and performing '+'full client-side render.');}}// either not server-rendered, or hydration failed.
// create an empty node and replace it
oldVnode=emptyNodeAt(oldVnode);}// replacing existing element
var oldElm=oldVnode.elm;var parentElm=nodeOps.parentNode(oldElm);// create new node
createElm(vnode,insertedVnodeQueue,// extremely rare edge case: do not insert if old element is in a
// leaving transition. Only happens when combining transition +
// keep-alive + HOCs. (#4590)
oldElm._leaveCb?null:parentElm,nodeOps.nextSibling(oldElm));// update parent placeholder node element, recursively
if(isDef(vnode.parent)){var ancestor=vnode.parent;var patchable=isPatchable(vnode);while(ancestor){for(var i=0;i<cbs.destroy.length;++i){cbs.destroy[i](ancestor);}ancestor.elm=vnode.elm;if(patchable){for(var i$1=0;i$1<cbs.create.length;++i$1){cbs.create[i$1](emptyNode,ancestor);}// #6513
// invoke insert hooks that may have been merged by create hooks.
// e.g. for directives that uses the "inserted" hook.
var insert=ancestor.data.hook.insert;if(insert.merged){// start at index 1 to avoid re-invoking component mounted hook
for(var i$2=1;i$2<insert.fns.length;i$2++){insert.fns[i$2]();}}}else{registerRef(ancestor);}ancestor=ancestor.parent;}}// destroy old node
if(isDef(parentElm)){removeVnodes(parentElm,[oldVnode],0,0);}else if(isDef(oldVnode.tag)){invokeDestroyHook(oldVnode);}}}invokeInsertHook(vnode,insertedVnodeQueue,isInitialPatch);return vnode.elm;};}/*  */var directives={create:updateDirectives,update:updateDirectives,destroy:function unbindDirectives(vnode){updateDirectives(vnode,emptyNode);}};function updateDirectives(oldVnode,vnode){if(oldVnode.data.directives||vnode.data.directives){_update(oldVnode,vnode);}}function _update(oldVnode,vnode){var isCreate=oldVnode===emptyNode;var isDestroy=vnode===emptyNode;var oldDirs=normalizeDirectives$1(oldVnode.data.directives,oldVnode.context);var newDirs=normalizeDirectives$1(vnode.data.directives,vnode.context);var dirsWithInsert=[];var dirsWithPostpatch=[];var key,oldDir,dir;for(key in newDirs){oldDir=oldDirs[key];dir=newDirs[key];if(!oldDir){// new directive, bind
callHook$1(dir,'bind',vnode,oldVnode);if(dir.def&&dir.def.inserted){dirsWithInsert.push(dir);}}else{// existing directive, update
dir.oldValue=oldDir.value;callHook$1(dir,'update',vnode,oldVnode);if(dir.def&&dir.def.componentUpdated){dirsWithPostpatch.push(dir);}}}if(dirsWithInsert.length){var callInsert=function callInsert(){for(var i=0;i<dirsWithInsert.length;i++){callHook$1(dirsWithInsert[i],'inserted',vnode,oldVnode);}};if(isCreate){mergeVNodeHook(vnode,'insert',callInsert);}else{callInsert();}}if(dirsWithPostpatch.length){mergeVNodeHook(vnode,'postpatch',function(){for(var i=0;i<dirsWithPostpatch.length;i++){callHook$1(dirsWithPostpatch[i],'componentUpdated',vnode,oldVnode);}});}if(!isCreate){for(key in oldDirs){if(!newDirs[key]){// no longer present, unbind
callHook$1(oldDirs[key],'unbind',oldVnode,oldVnode,isDestroy);}}}}var emptyModifiers=Object.create(null);function normalizeDirectives$1(dirs,vm){var res=Object.create(null);if(!dirs){// $flow-disable-line
return res;}var i,dir;for(i=0;i<dirs.length;i++){dir=dirs[i];if(!dir.modifiers){// $flow-disable-line
dir.modifiers=emptyModifiers;}res[getRawDirName(dir)]=dir;dir.def=resolveAsset(vm.$options,'directives',dir.name,true);}// $flow-disable-line
return res;}function getRawDirName(dir){return dir.rawName||dir.name+"."+Object.keys(dir.modifiers||{}).join('.');}function callHook$1(dir,hook,vnode,oldVnode,isDestroy){var fn=dir.def&&dir.def[hook];if(fn){try{fn(vnode.elm,dir,vnode,oldVnode,isDestroy);}catch(e){handleError(e,vnode.context,"directive "+dir.name+" "+hook+" hook");}}}var baseModules=[ref,directives];/*  */function updateAttrs(oldVnode,vnode){var opts=vnode.componentOptions;if(isDef(opts)&&opts.Ctor.options.inheritAttrs===false){return;}if(isUndef(oldVnode.data.attrs)&&isUndef(vnode.data.attrs)){return;}var key,cur,old;var elm=vnode.elm;var oldAttrs=oldVnode.data.attrs||{};var attrs=vnode.data.attrs||{};// clone observed objects, as the user probably wants to mutate it
if(isDef(attrs.__ob__)){attrs=vnode.data.attrs=extend({},attrs);}for(key in attrs){cur=attrs[key];old=oldAttrs[key];if(old!==cur){setAttr(elm,key,cur);}}// #4391: in IE9, setting type can reset value for input[type=radio]
// #6666: IE/Edge forces progress value down to 1 before setting a max
/* istanbul ignore if */if((isIE||isEdge)&&attrs.value!==oldAttrs.value){setAttr(elm,'value',attrs.value);}for(key in oldAttrs){if(isUndef(attrs[key])){if(isXlink(key)){elm.removeAttributeNS(xlinkNS,getXlinkProp(key));}else if(!isEnumeratedAttr(key)){elm.removeAttribute(key);}}}}function setAttr(el,key,value){if(el.tagName.indexOf('-')>-1){baseSetAttr(el,key,value);}else if(isBooleanAttr(key)){// set attribute for blank value
// e.g. <option disabled>Select one</option>
if(isFalsyAttrValue(value)){el.removeAttribute(key);}else{// technically allowfullscreen is a boolean attribute for <iframe>,
// but Flash expects a value of "true" when used on <embed> tag
value=key==='allowfullscreen'&&el.tagName==='EMBED'?'true':key;el.setAttribute(key,value);}}else if(isEnumeratedAttr(key)){el.setAttribute(key,isFalsyAttrValue(value)||value==='false'?'false':'true');}else if(isXlink(key)){if(isFalsyAttrValue(value)){el.removeAttributeNS(xlinkNS,getXlinkProp(key));}else{el.setAttributeNS(xlinkNS,key,value);}}else{baseSetAttr(el,key,value);}}function baseSetAttr(el,key,value){if(isFalsyAttrValue(value)){el.removeAttribute(key);}else{// #7138: IE10 & 11 fires input event when setting placeholder on
// <textarea>... block the first input event and remove the blocker
// immediately.
/* istanbul ignore if */if(isIE&&!isIE9&&(el.tagName==='TEXTAREA'||el.tagName==='INPUT')&&key==='placeholder'&&!el.__ieph){var blocker=function blocker(e){e.stopImmediatePropagation();el.removeEventListener('input',blocker);};el.addEventListener('input',blocker);// $flow-disable-line
el.__ieph=true;/* IE placeholder patched */}el.setAttribute(key,value);}}var attrs={create:updateAttrs,update:updateAttrs};/*  */function updateClass(oldVnode,vnode){var el=vnode.elm;var data=vnode.data;var oldData=oldVnode.data;if(isUndef(data.staticClass)&&isUndef(data.class)&&(isUndef(oldData)||isUndef(oldData.staticClass)&&isUndef(oldData.class))){return;}var cls=genClassForVnode(vnode);// handle transition classes
var transitionClass=el._transitionClasses;if(isDef(transitionClass)){cls=concat(cls,stringifyClass(transitionClass));}// set the class
if(cls!==el._prevClass){el.setAttribute('class',cls);el._prevClass=cls;}}var klass={create:updateClass,update:updateClass};/*  */var validDivisionCharRE=/[\w).+\-_$\]]/;function parseFilters(exp){var inSingle=false;var inDouble=false;var inTemplateString=false;var inRegex=false;var curly=0;var square=0;var paren=0;var lastFilterIndex=0;var c,prev,i,expression,filters;for(i=0;i<exp.length;i++){prev=c;c=exp.charCodeAt(i);if(inSingle){if(c===0x27&&prev!==0x5C){inSingle=false;}}else if(inDouble){if(c===0x22&&prev!==0x5C){inDouble=false;}}else if(inTemplateString){if(c===0x60&&prev!==0x5C){inTemplateString=false;}}else if(inRegex){if(c===0x2f&&prev!==0x5C){inRegex=false;}}else if(c===0x7C&&// pipe
exp.charCodeAt(i+1)!==0x7C&&exp.charCodeAt(i-1)!==0x7C&&!curly&&!square&&!paren){if(expression===undefined){// first filter, end of expression
lastFilterIndex=i+1;expression=exp.slice(0,i).trim();}else{pushFilter();}}else{switch(c){case 0x22:inDouble=true;break;// "
case 0x27:inSingle=true;break;// '
case 0x60:inTemplateString=true;break;// `
case 0x28:paren++;break;// (
case 0x29:paren--;break;// )
case 0x5B:square++;break;// [
case 0x5D:square--;break;// ]
case 0x7B:curly++;break;// {
case 0x7D:curly--;break;// }
}if(c===0x2f){// /
var j=i-1;var p=void 0;// find first non-whitespace prev char
for(;j>=0;j--){p=exp.charAt(j);if(p!==' '){break;}}if(!p||!validDivisionCharRE.test(p)){inRegex=true;}}}}if(expression===undefined){expression=exp.slice(0,i).trim();}else if(lastFilterIndex!==0){pushFilter();}function pushFilter(){(filters||(filters=[])).push(exp.slice(lastFilterIndex,i).trim());lastFilterIndex=i+1;}if(filters){for(i=0;i<filters.length;i++){expression=wrapFilter(expression,filters[i]);}}return expression;}function wrapFilter(exp,filter){var i=filter.indexOf('(');if(i<0){// _f: resolveFilter
return"_f(\""+filter+"\")("+exp+")";}else{var name=filter.slice(0,i);var args=filter.slice(i+1);return"_f(\""+name+"\")("+exp+(args!==')'?','+args:args);}}/*  */function baseWarn(msg){console.error("[Vue compiler]: "+msg);}function pluckModuleFunction(modules,key){return modules?modules.map(function(m){return m[key];}).filter(function(_){return _;}):[];}function addProp(el,name,value){(el.props||(el.props=[])).push({name:name,value:value});el.plain=false;}function addAttr(el,name,value){(el.attrs||(el.attrs=[])).push({name:name,value:value});el.plain=false;}// add a raw attr (use this in preTransforms)
function addRawAttr(el,name,value){el.attrsMap[name]=value;el.attrsList.push({name:name,value:value});}function addDirective(el,name,rawName,value,arg,modifiers){(el.directives||(el.directives=[])).push({name:name,rawName:rawName,value:value,arg:arg,modifiers:modifiers});el.plain=false;}function addHandler(el,name,value,modifiers,important,warn){modifiers=modifiers||emptyObject;// warn prevent and passive modifier
/* istanbul ignore if */if(process.env.NODE_ENV!=='production'&&warn&&modifiers.prevent&&modifiers.passive){warn('passive and prevent can\'t be used together. '+'Passive handler can\'t prevent default event.');}// normalize click.right and click.middle since they don't actually fire
// this is technically browser-specific, but at least for now browsers are
// the only target envs that have right/middle clicks.
if(name==='click'){if(modifiers.right){name='contextmenu';delete modifiers.right;}else if(modifiers.middle){name='mouseup';}}// check capture modifier
if(modifiers.capture){delete modifiers.capture;name='!'+name;// mark the event as captured
}if(modifiers.once){delete modifiers.once;name='~'+name;// mark the event as once
}/* istanbul ignore if */if(modifiers.passive){delete modifiers.passive;name='&'+name;// mark the event as passive
}var events;if(modifiers.native){delete modifiers.native;events=el.nativeEvents||(el.nativeEvents={});}else{events=el.events||(el.events={});}var newHandler={value:value.trim()};if(modifiers!==emptyObject){newHandler.modifiers=modifiers;}var handlers=events[name];/* istanbul ignore if */if(Array.isArray(handlers)){important?handlers.unshift(newHandler):handlers.push(newHandler);}else if(handlers){events[name]=important?[newHandler,handlers]:[handlers,newHandler];}else{events[name]=newHandler;}el.plain=false;}function getBindingAttr(el,name,getStatic){var dynamicValue=getAndRemoveAttr(el,':'+name)||getAndRemoveAttr(el,'v-bind:'+name);if(dynamicValue!=null){return parseFilters(dynamicValue);}else if(getStatic!==false){var staticValue=getAndRemoveAttr(el,name);if(staticValue!=null){return JSON.stringify(staticValue);}}}// note: this only removes the attr from the Array (attrsList) so that it
// doesn't get processed by processAttrs.
// By default it does NOT remove it from the map (attrsMap) because the map is
// needed during codegen.
function getAndRemoveAttr(el,name,removeFromMap){var val;if((val=el.attrsMap[name])!=null){var list=el.attrsList;for(var i=0,l=list.length;i<l;i++){if(list[i].name===name){list.splice(i,1);break;}}}if(removeFromMap){delete el.attrsMap[name];}return val;}/*  *//**
 * Cross-platform code generation for component v-model
 */function genComponentModel(el,value,modifiers){var ref=modifiers||{};var number=ref.number;var trim=ref.trim;var baseValueExpression='$$v';var valueExpression=baseValueExpression;if(trim){valueExpression="(typeof "+baseValueExpression+" === 'string'"+"? "+baseValueExpression+".trim()"+": "+baseValueExpression+")";}if(number){valueExpression="_n("+valueExpression+")";}var assignment=genAssignmentCode(value,valueExpression);el.model={value:"("+value+")",expression:JSON.stringify(value),callback:"function ("+baseValueExpression+") {"+assignment+"}"};}/**
 * Cross-platform codegen helper for generating v-model value assignment code.
 */function genAssignmentCode(value,assignment){var res=parseModel(value);if(res.key===null){return value+"="+assignment;}else{return"$set("+res.exp+", "+res.key+", "+assignment+")";}}/**
 * Parse a v-model expression into a base path and a final key segment.
 * Handles both dot-path and possible square brackets.
 *
 * Possible cases:
 *
 * - test
 * - test[key]
 * - test[test1[key]]
 * - test["a"][key]
 * - xxx.test[a[a].test1[key]]
 * - test.xxx.a["asa"][test1[key]]
 *
 */var len,str,chr,index$1,expressionPos,expressionEndPos;function parseModel(val){// Fix https://github.com/vuejs/vue/pull/7730
// allow v-model="obj.val " (trailing whitespace)
val=val.trim();len=val.length;if(val.indexOf('[')<0||val.lastIndexOf(']')<len-1){index$1=val.lastIndexOf('.');if(index$1>-1){return{exp:val.slice(0,index$1),key:'"'+val.slice(index$1+1)+'"'};}else{return{exp:val,key:null};}}str=val;index$1=expressionPos=expressionEndPos=0;while(!eof()){chr=next();/* istanbul ignore if */if(isStringStart(chr)){parseString(chr);}else if(chr===0x5B){parseBracket(chr);}}return{exp:val.slice(0,expressionPos),key:val.slice(expressionPos+1,expressionEndPos)};}function next(){return str.charCodeAt(++index$1);}function eof(){return index$1>=len;}function isStringStart(chr){return chr===0x22||chr===0x27;}function parseBracket(chr){var inBracket=1;expressionPos=index$1;while(!eof()){chr=next();if(isStringStart(chr)){parseString(chr);continue;}if(chr===0x5B){inBracket++;}if(chr===0x5D){inBracket--;}if(inBracket===0){expressionEndPos=index$1;break;}}}function parseString(chr){var stringQuote=chr;while(!eof()){chr=next();if(chr===stringQuote){break;}}}/*  */var warn$1;// in some cases, the event used has to be determined at runtime
// so we used some reserved tokens during compile.
var RANGE_TOKEN='__r';var CHECKBOX_RADIO_TOKEN='__c';function model(el,dir,_warn){warn$1=_warn;var value=dir.value;var modifiers=dir.modifiers;var tag=el.tag;var type=el.attrsMap.type;if(process.env.NODE_ENV!=='production'){// inputs with type="file" are read only and setting the input's
// value will throw an error.
if(tag==='input'&&type==='file'){warn$1("<"+el.tag+" v-model=\""+value+"\" type=\"file\">:\n"+"File inputs are read only. Use a v-on:change listener instead.");}}if(el.component){genComponentModel(el,value,modifiers);// component v-model doesn't need extra runtime
return false;}else if(tag==='select'){genSelect(el,value,modifiers);}else if(tag==='input'&&type==='checkbox'){genCheckboxModel(el,value,modifiers);}else if(tag==='input'&&type==='radio'){genRadioModel(el,value,modifiers);}else if(tag==='input'||tag==='textarea'){genDefaultModel(el,value,modifiers);}else if(!config.isReservedTag(tag)){genComponentModel(el,value,modifiers);// component v-model doesn't need extra runtime
return false;}else if(process.env.NODE_ENV!=='production'){warn$1("<"+el.tag+" v-model=\""+value+"\">: "+"v-model is not supported on this element type. "+'If you are working with contenteditable, it\'s recommended to '+'wrap a library dedicated for that purpose inside a custom component.');}// ensure runtime directive metadata
return true;}function genCheckboxModel(el,value,modifiers){var number=modifiers&&modifiers.number;var valueBinding=getBindingAttr(el,'value')||'null';var trueValueBinding=getBindingAttr(el,'true-value')||'true';var falseValueBinding=getBindingAttr(el,'false-value')||'false';addProp(el,'checked',"Array.isArray("+value+")"+"?_i("+value+","+valueBinding+")>-1"+(trueValueBinding==='true'?":("+value+")":":_q("+value+","+trueValueBinding+")"));addHandler(el,'change',"var $$a="+value+","+'$$el=$event.target,'+"$$c=$$el.checked?("+trueValueBinding+"):("+falseValueBinding+");"+'if(Array.isArray($$a)){'+"var $$v="+(number?'_n('+valueBinding+')':valueBinding)+","+'$$i=_i($$a,$$v);'+"if($$el.checked){$$i<0&&("+genAssignmentCode(value,'$$a.concat([$$v])')+")}"+"else{$$i>-1&&("+genAssignmentCode(value,'$$a.slice(0,$$i).concat($$a.slice($$i+1))')+")}"+"}else{"+genAssignmentCode(value,'$$c')+"}",null,true);}function genRadioModel(el,value,modifiers){var number=modifiers&&modifiers.number;var valueBinding=getBindingAttr(el,'value')||'null';valueBinding=number?"_n("+valueBinding+")":valueBinding;addProp(el,'checked',"_q("+value+","+valueBinding+")");addHandler(el,'change',genAssignmentCode(value,valueBinding),null,true);}function genSelect(el,value,modifiers){var number=modifiers&&modifiers.number;var selectedVal="Array.prototype.filter"+".call($event.target.options,function(o){return o.selected})"+".map(function(o){var val = \"_value\" in o ? o._value : o.value;"+"return "+(number?'_n(val)':'val')+"})";var assignment='$event.target.multiple ? $$selectedVal : $$selectedVal[0]';var code="var $$selectedVal = "+selectedVal+";";code=code+" "+genAssignmentCode(value,assignment);addHandler(el,'change',code,null,true);}function genDefaultModel(el,value,modifiers){var type=el.attrsMap.type;// warn if v-bind:value conflicts with v-model
// except for inputs with v-bind:type
if(process.env.NODE_ENV!=='production'){var value$1=el.attrsMap['v-bind:value']||el.attrsMap[':value'];var typeBinding=el.attrsMap['v-bind:type']||el.attrsMap[':type'];if(value$1&&!typeBinding){var binding=el.attrsMap['v-bind:value']?'v-bind:value':':value';warn$1(binding+"=\""+value$1+"\" conflicts with v-model on the same element "+'because the latter already expands to a value binding internally');}}var ref=modifiers||{};var lazy=ref.lazy;var number=ref.number;var trim=ref.trim;var needCompositionGuard=!lazy&&type!=='range';var event=lazy?'change':type==='range'?RANGE_TOKEN:'input';var valueExpression='$event.target.value';if(trim){valueExpression="$event.target.value.trim()";}if(number){valueExpression="_n("+valueExpression+")";}var code=genAssignmentCode(value,valueExpression);if(needCompositionGuard){code="if($event.target.composing)return;"+code;}addProp(el,'value',"("+value+")");addHandler(el,event,code,null,true);if(trim||number){addHandler(el,'blur','$forceUpdate()');}}/*  */// normalize v-model event tokens that can only be determined at runtime.
// it's important to place the event as the first in the array because
// the whole point is ensuring the v-model callback gets called before
// user-attached handlers.
function normalizeEvents(on){/* istanbul ignore if */if(isDef(on[RANGE_TOKEN])){// IE input[type=range] only supports `change` event
var event=isIE?'change':'input';on[event]=[].concat(on[RANGE_TOKEN],on[event]||[]);delete on[RANGE_TOKEN];}// This was originally intended to fix #4521 but no longer necessary
// after 2.5. Keeping it for backwards compat with generated code from < 2.4
/* istanbul ignore if */if(isDef(on[CHECKBOX_RADIO_TOKEN])){on.change=[].concat(on[CHECKBOX_RADIO_TOKEN],on.change||[]);delete on[CHECKBOX_RADIO_TOKEN];}}var target$1;function createOnceHandler$1(event,handler,capture){var _target=target$1;// save current target element in closure
return function onceHandler(){var res=handler.apply(null,arguments);if(res!==null){remove$2(event,onceHandler,capture,_target);}};}function add$1(event,handler,capture,passive){handler=withMacroTask(handler);target$1.addEventListener(event,handler,supportsPassive?{capture:capture,passive:passive}:capture);}function remove$2(event,handler,capture,_target){(_target||target$1).removeEventListener(event,handler._withTask||handler,capture);}function updateDOMListeners(oldVnode,vnode){if(isUndef(oldVnode.data.on)&&isUndef(vnode.data.on)){return;}var on=vnode.data.on||{};var oldOn=oldVnode.data.on||{};target$1=vnode.elm;normalizeEvents(on);updateListeners(on,oldOn,add$1,remove$2,createOnceHandler$1,vnode.context);target$1=undefined;}var events={create:updateDOMListeners,update:updateDOMListeners};/*  */function updateDOMProps(oldVnode,vnode){if(isUndef(oldVnode.data.domProps)&&isUndef(vnode.data.domProps)){return;}var key,cur;var elm=vnode.elm;var oldProps=oldVnode.data.domProps||{};var props=vnode.data.domProps||{};// clone observed objects, as the user probably wants to mutate it
if(isDef(props.__ob__)){props=vnode.data.domProps=extend({},props);}for(key in oldProps){if(isUndef(props[key])){elm[key]='';}}for(key in props){cur=props[key];// ignore children if the node has textContent or innerHTML,
// as these will throw away existing DOM nodes and cause removal errors
// on subsequent patches (#3360)
if(key==='textContent'||key==='innerHTML'){if(vnode.children){vnode.children.length=0;}if(cur===oldProps[key]){continue;}// #6601 work around Chrome version <= 55 bug where single textNode
// replaced by innerHTML/textContent retains its parentNode property
if(elm.childNodes.length===1){elm.removeChild(elm.childNodes[0]);}}if(key==='value'){// store value as _value as well since
// non-string values will be stringified
elm._value=cur;// avoid resetting cursor position when value is the same
var strCur=isUndef(cur)?'':String(cur);if(shouldUpdateValue(elm,strCur)){elm.value=strCur;}}else{elm[key]=cur;}}}// check platforms/web/util/attrs.js acceptValue
function shouldUpdateValue(elm,checkVal){return!elm.composing&&(elm.tagName==='OPTION'||isNotInFocusAndDirty(elm,checkVal)||isDirtyWithModifiers(elm,checkVal));}function isNotInFocusAndDirty(elm,checkVal){// return true when textbox (.number and .trim) loses focus and its value is
// not equal to the updated value
var notInFocus=true;// #6157
// work around IE bug when accessing document.activeElement in an iframe
try{notInFocus=document.activeElement!==elm;}catch(e){}return notInFocus&&elm.value!==checkVal;}function isDirtyWithModifiers(elm,newVal){var value=elm.value;var modifiers=elm._vModifiers;// injected by v-model runtime
if(isDef(modifiers)){if(modifiers.lazy){// inputs with lazy should only be updated when not in focus
return false;}if(modifiers.number){return toNumber(value)!==toNumber(newVal);}if(modifiers.trim){return value.trim()!==newVal.trim();}}return value!==newVal;}var domProps={create:updateDOMProps,update:updateDOMProps};/*  */var parseStyleText=cached(function(cssText){var res={};var listDelimiter=/;(?![^(]*\))/g;var propertyDelimiter=/:(.+)/;cssText.split(listDelimiter).forEach(function(item){if(item){var tmp=item.split(propertyDelimiter);tmp.length>1&&(res[tmp[0].trim()]=tmp[1].trim());}});return res;});// merge static and dynamic style data on the same vnode
function normalizeStyleData(data){var style=normalizeStyleBinding(data.style);// static style is pre-processed into an object during compilation
// and is always a fresh object, so it's safe to merge into it
return data.staticStyle?extend(data.staticStyle,style):style;}// normalize possible array / string values into Object
function normalizeStyleBinding(bindingStyle){if(Array.isArray(bindingStyle)){return toObject(bindingStyle);}if(typeof bindingStyle==='string'){return parseStyleText(bindingStyle);}return bindingStyle;}/**
 * parent component style should be after child's
 * so that parent component's style could override it
 */function getStyle(vnode,checkChild){var res={};var styleData;if(checkChild){var childNode=vnode;while(childNode.componentInstance){childNode=childNode.componentInstance._vnode;if(childNode&&childNode.data&&(styleData=normalizeStyleData(childNode.data))){extend(res,styleData);}}}if(styleData=normalizeStyleData(vnode.data)){extend(res,styleData);}var parentNode=vnode;while(parentNode=parentNode.parent){if(parentNode.data&&(styleData=normalizeStyleData(parentNode.data))){extend(res,styleData);}}return res;}/*  */var cssVarRE=/^--/;var importantRE=/\s*!important$/;var setProp=function setProp(el,name,val){/* istanbul ignore if */if(cssVarRE.test(name)){el.style.setProperty(name,val);}else if(importantRE.test(val)){el.style.setProperty(name,val.replace(importantRE,''),'important');}else{var normalizedName=normalize(name);if(Array.isArray(val)){// Support values array created by autoprefixer, e.g.
// {display: ["-webkit-box", "-ms-flexbox", "flex"]}
// Set them one by one, and the browser will only set those it can recognize
for(var i=0,len=val.length;i<len;i++){el.style[normalizedName]=val[i];}}else{el.style[normalizedName]=val;}}};var vendorNames=['Webkit','Moz','ms'];var emptyStyle;var normalize=cached(function(prop){emptyStyle=emptyStyle||document.createElement('div').style;prop=camelize(prop);if(prop!=='filter'&&prop in emptyStyle){return prop;}var capName=prop.charAt(0).toUpperCase()+prop.slice(1);for(var i=0;i<vendorNames.length;i++){var name=vendorNames[i]+capName;if(name in emptyStyle){return name;}}});function updateStyle(oldVnode,vnode){var data=vnode.data;var oldData=oldVnode.data;if(isUndef(data.staticStyle)&&isUndef(data.style)&&isUndef(oldData.staticStyle)&&isUndef(oldData.style)){return;}var cur,name;var el=vnode.elm;var oldStaticStyle=oldData.staticStyle;var oldStyleBinding=oldData.normalizedStyle||oldData.style||{};// if static style exists, stylebinding already merged into it when doing normalizeStyleData
var oldStyle=oldStaticStyle||oldStyleBinding;var style=normalizeStyleBinding(vnode.data.style)||{};// store normalized style under a different key for next diff
// make sure to clone it if it's reactive, since the user likely wants
// to mutate it.
vnode.data.normalizedStyle=isDef(style.__ob__)?extend({},style):style;var newStyle=getStyle(vnode,true);for(name in oldStyle){if(isUndef(newStyle[name])){setProp(el,name,'');}}for(name in newStyle){cur=newStyle[name];if(cur!==oldStyle[name]){// ie9 setting to null has no effect, must use empty string
setProp(el,name,cur==null?'':cur);}}}var style={create:updateStyle,update:updateStyle};/*  */var whitespaceRE=/\s+/;/**
 * Add class with compatibility for SVG since classList is not supported on
 * SVG elements in IE
 */function addClass(el,cls){/* istanbul ignore if */if(!cls||!(cls=cls.trim())){return;}/* istanbul ignore else */if(el.classList){if(cls.indexOf(' ')>-1){cls.split(whitespaceRE).forEach(function(c){return el.classList.add(c);});}else{el.classList.add(cls);}}else{var cur=" "+(el.getAttribute('class')||'')+" ";if(cur.indexOf(' '+cls+' ')<0){el.setAttribute('class',(cur+cls).trim());}}}/**
 * Remove class with compatibility for SVG since classList is not supported on
 * SVG elements in IE
 */function removeClass(el,cls){/* istanbul ignore if */if(!cls||!(cls=cls.trim())){return;}/* istanbul ignore else */if(el.classList){if(cls.indexOf(' ')>-1){cls.split(whitespaceRE).forEach(function(c){return el.classList.remove(c);});}else{el.classList.remove(cls);}if(!el.classList.length){el.removeAttribute('class');}}else{var cur=" "+(el.getAttribute('class')||'')+" ";var tar=' '+cls+' ';while(cur.indexOf(tar)>=0){cur=cur.replace(tar,' ');}cur=cur.trim();if(cur){el.setAttribute('class',cur);}else{el.removeAttribute('class');}}}/*  */function resolveTransition(def$$1){if(!def$$1){return;}/* istanbul ignore else */if((typeof def$$1==='undefined'?'undefined':_typeof2(def$$1))==='object'){var res={};if(def$$1.css!==false){extend(res,autoCssTransition(def$$1.name||'v'));}extend(res,def$$1);return res;}else if(typeof def$$1==='string'){return autoCssTransition(def$$1);}}var autoCssTransition=cached(function(name){return{enterClass:name+"-enter",enterToClass:name+"-enter-to",enterActiveClass:name+"-enter-active",leaveClass:name+"-leave",leaveToClass:name+"-leave-to",leaveActiveClass:name+"-leave-active"};});var hasTransition=inBrowser&&!isIE9;var TRANSITION='transition';var ANIMATION='animation';// Transition property/event sniffing
var transitionProp='transition';var transitionEndEvent='transitionend';var animationProp='animation';var animationEndEvent='animationend';if(hasTransition){/* istanbul ignore if */if(window.ontransitionend===undefined&&window.onwebkittransitionend!==undefined){transitionProp='WebkitTransition';transitionEndEvent='webkitTransitionEnd';}if(window.onanimationend===undefined&&window.onwebkitanimationend!==undefined){animationProp='WebkitAnimation';animationEndEvent='webkitAnimationEnd';}}// binding to window is necessary to make hot reload work in IE in strict mode
var raf=inBrowser?window.requestAnimationFrame?window.requestAnimationFrame.bind(window):setTimeout:/* istanbul ignore next */function(fn){return fn();};function nextFrame(fn){raf(function(){raf(fn);});}function addTransitionClass(el,cls){var transitionClasses=el._transitionClasses||(el._transitionClasses=[]);if(transitionClasses.indexOf(cls)<0){transitionClasses.push(cls);addClass(el,cls);}}function removeTransitionClass(el,cls){if(el._transitionClasses){remove(el._transitionClasses,cls);}removeClass(el,cls);}function whenTransitionEnds(el,expectedType,cb){var ref=getTransitionInfo(el,expectedType);var type=ref.type;var timeout=ref.timeout;var propCount=ref.propCount;if(!type){return cb();}var event=type===TRANSITION?transitionEndEvent:animationEndEvent;var ended=0;var end=function end(){el.removeEventListener(event,onEnd);cb();};var onEnd=function onEnd(e){if(e.target===el){if(++ended>=propCount){end();}}};setTimeout(function(){if(ended<propCount){end();}},timeout+1);el.addEventListener(event,onEnd);}var transformRE=/\b(transform|all)(,|$)/;function getTransitionInfo(el,expectedType){var styles=window.getComputedStyle(el);// JSDOM may return undefined for transition properties
var transitionDelays=(styles[transitionProp+'Delay']||'').split(', ');var transitionDurations=(styles[transitionProp+'Duration']||'').split(', ');var transitionTimeout=getTimeout(transitionDelays,transitionDurations);var animationDelays=(styles[animationProp+'Delay']||'').split(', ');var animationDurations=(styles[animationProp+'Duration']||'').split(', ');var animationTimeout=getTimeout(animationDelays,animationDurations);var type;var timeout=0;var propCount=0;/* istanbul ignore if */if(expectedType===TRANSITION){if(transitionTimeout>0){type=TRANSITION;timeout=transitionTimeout;propCount=transitionDurations.length;}}else if(expectedType===ANIMATION){if(animationTimeout>0){type=ANIMATION;timeout=animationTimeout;propCount=animationDurations.length;}}else{timeout=Math.max(transitionTimeout,animationTimeout);type=timeout>0?transitionTimeout>animationTimeout?TRANSITION:ANIMATION:null;propCount=type?type===TRANSITION?transitionDurations.length:animationDurations.length:0;}var hasTransform=type===TRANSITION&&transformRE.test(styles[transitionProp+'Property']);return{type:type,timeout:timeout,propCount:propCount,hasTransform:hasTransform};}function getTimeout(delays,durations){/* istanbul ignore next */while(delays.length<durations.length){delays=delays.concat(delays);}return Math.max.apply(null,durations.map(function(d,i){return toMs(d)+toMs(delays[i]);}));}// Old versions of Chromium (below 61.0.3163.100) formats floating pointer numbers
// in a locale-dependent way, using a comma instead of a dot.
// If comma is not replaced with a dot, the input will be rounded down (i.e. acting
// as a floor function) causing unexpected behaviors
function toMs(s){return Number(s.slice(0,-1).replace(',','.'))*1000;}/*  */function enter(vnode,toggleDisplay){var el=vnode.elm;// call leave callback now
if(isDef(el._leaveCb)){el._leaveCb.cancelled=true;el._leaveCb();}var data=resolveTransition(vnode.data.transition);if(isUndef(data)){return;}/* istanbul ignore if */if(isDef(el._enterCb)||el.nodeType!==1){return;}var css=data.css;var type=data.type;var enterClass=data.enterClass;var enterToClass=data.enterToClass;var enterActiveClass=data.enterActiveClass;var appearClass=data.appearClass;var appearToClass=data.appearToClass;var appearActiveClass=data.appearActiveClass;var beforeEnter=data.beforeEnter;var enter=data.enter;var afterEnter=data.afterEnter;var enterCancelled=data.enterCancelled;var beforeAppear=data.beforeAppear;var appear=data.appear;var afterAppear=data.afterAppear;var appearCancelled=data.appearCancelled;var duration=data.duration;// activeInstance will always be the <transition> component managing this
// transition. One edge case to check is when the <transition> is placed
// as the root node of a child component. In that case we need to check
// <transition>'s parent for appear check.
var context=activeInstance;var transitionNode=activeInstance.$vnode;while(transitionNode&&transitionNode.parent){transitionNode=transitionNode.parent;context=transitionNode.context;}var isAppear=!context._isMounted||!vnode.isRootInsert;if(isAppear&&!appear&&appear!==''){return;}var startClass=isAppear&&appearClass?appearClass:enterClass;var activeClass=isAppear&&appearActiveClass?appearActiveClass:enterActiveClass;var toClass=isAppear&&appearToClass?appearToClass:enterToClass;var beforeEnterHook=isAppear?beforeAppear||beforeEnter:beforeEnter;var enterHook=isAppear?typeof appear==='function'?appear:enter:enter;var afterEnterHook=isAppear?afterAppear||afterEnter:afterEnter;var enterCancelledHook=isAppear?appearCancelled||enterCancelled:enterCancelled;var explicitEnterDuration=toNumber(isObject(duration)?duration.enter:duration);if(process.env.NODE_ENV!=='production'&&explicitEnterDuration!=null){checkDuration(explicitEnterDuration,'enter',vnode);}var expectsCSS=css!==false&&!isIE9;var userWantsControl=getHookArgumentsLength(enterHook);var cb=el._enterCb=once(function(){if(expectsCSS){removeTransitionClass(el,toClass);removeTransitionClass(el,activeClass);}if(cb.cancelled){if(expectsCSS){removeTransitionClass(el,startClass);}enterCancelledHook&&enterCancelledHook(el);}else{afterEnterHook&&afterEnterHook(el);}el._enterCb=null;});if(!vnode.data.show){// remove pending leave element on enter by injecting an insert hook
mergeVNodeHook(vnode,'insert',function(){var parent=el.parentNode;var pendingNode=parent&&parent._pending&&parent._pending[vnode.key];if(pendingNode&&pendingNode.tag===vnode.tag&&pendingNode.elm._leaveCb){pendingNode.elm._leaveCb();}enterHook&&enterHook(el,cb);});}// start enter transition
beforeEnterHook&&beforeEnterHook(el);if(expectsCSS){addTransitionClass(el,startClass);addTransitionClass(el,activeClass);nextFrame(function(){removeTransitionClass(el,startClass);if(!cb.cancelled){addTransitionClass(el,toClass);if(!userWantsControl){if(isValidDuration(explicitEnterDuration)){setTimeout(cb,explicitEnterDuration);}else{whenTransitionEnds(el,type,cb);}}}});}if(vnode.data.show){toggleDisplay&&toggleDisplay();enterHook&&enterHook(el,cb);}if(!expectsCSS&&!userWantsControl){cb();}}function leave(vnode,rm){var el=vnode.elm;// call enter callback now
if(isDef(el._enterCb)){el._enterCb.cancelled=true;el._enterCb();}var data=resolveTransition(vnode.data.transition);if(isUndef(data)||el.nodeType!==1){return rm();}/* istanbul ignore if */if(isDef(el._leaveCb)){return;}var css=data.css;var type=data.type;var leaveClass=data.leaveClass;var leaveToClass=data.leaveToClass;var leaveActiveClass=data.leaveActiveClass;var beforeLeave=data.beforeLeave;var leave=data.leave;var afterLeave=data.afterLeave;var leaveCancelled=data.leaveCancelled;var delayLeave=data.delayLeave;var duration=data.duration;var expectsCSS=css!==false&&!isIE9;var userWantsControl=getHookArgumentsLength(leave);var explicitLeaveDuration=toNumber(isObject(duration)?duration.leave:duration);if(process.env.NODE_ENV!=='production'&&isDef(explicitLeaveDuration)){checkDuration(explicitLeaveDuration,'leave',vnode);}var cb=el._leaveCb=once(function(){if(el.parentNode&&el.parentNode._pending){el.parentNode._pending[vnode.key]=null;}if(expectsCSS){removeTransitionClass(el,leaveToClass);removeTransitionClass(el,leaveActiveClass);}if(cb.cancelled){if(expectsCSS){removeTransitionClass(el,leaveClass);}leaveCancelled&&leaveCancelled(el);}else{rm();afterLeave&&afterLeave(el);}el._leaveCb=null;});if(delayLeave){delayLeave(performLeave);}else{performLeave();}function performLeave(){// the delayed leave may have already been cancelled
if(cb.cancelled){return;}// record leaving element
if(!vnode.data.show&&el.parentNode){(el.parentNode._pending||(el.parentNode._pending={}))[vnode.key]=vnode;}beforeLeave&&beforeLeave(el);if(expectsCSS){addTransitionClass(el,leaveClass);addTransitionClass(el,leaveActiveClass);nextFrame(function(){removeTransitionClass(el,leaveClass);if(!cb.cancelled){addTransitionClass(el,leaveToClass);if(!userWantsControl){if(isValidDuration(explicitLeaveDuration)){setTimeout(cb,explicitLeaveDuration);}else{whenTransitionEnds(el,type,cb);}}}});}leave&&leave(el,cb);if(!expectsCSS&&!userWantsControl){cb();}}}// only used in dev mode
function checkDuration(val,name,vnode){if(typeof val!=='number'){warn("<transition> explicit "+name+" duration is not a valid number - "+"got "+JSON.stringify(val)+".",vnode.context);}else if(isNaN(val)){warn("<transition> explicit "+name+" duration is NaN - "+'the duration expression might be incorrect.',vnode.context);}}function isValidDuration(val){return typeof val==='number'&&!isNaN(val);}/**
 * Normalize a transition hook's argument length. The hook may be:
 * - a merged hook (invoker) with the original in .fns
 * - a wrapped component method (check ._length)
 * - a plain function (.length)
 */function getHookArgumentsLength(fn){if(isUndef(fn)){return false;}var invokerFns=fn.fns;if(isDef(invokerFns)){// invoker
return getHookArgumentsLength(Array.isArray(invokerFns)?invokerFns[0]:invokerFns);}else{return(fn._length||fn.length)>1;}}function _enter(_,vnode){if(vnode.data.show!==true){enter(vnode);}}var transition=inBrowser?{create:_enter,activate:_enter,remove:function remove$$1(vnode,rm){/* istanbul ignore else */if(vnode.data.show!==true){leave(vnode,rm);}else{rm();}}}:{};var platformModules=[attrs,klass,events,domProps,style,transition];/*  */// the directive module should be applied last, after all
// built-in modules have been applied.
var modules=platformModules.concat(baseModules);var patch=createPatchFunction({nodeOps:nodeOps,modules:modules});/**
 * Not type checking this file because flow doesn't like attaching
 * properties to Elements.
 *//* istanbul ignore if */if(isIE9){// http://www.matts411.com/post/internet-explorer-9-oninput/
document.addEventListener('selectionchange',function(){var el=document.activeElement;if(el&&el.vmodel){trigger(el,'input');}});}var directive={inserted:function inserted(el,binding,vnode,oldVnode){if(vnode.tag==='select'){// #6903
if(oldVnode.elm&&!oldVnode.elm._vOptions){mergeVNodeHook(vnode,'postpatch',function(){directive.componentUpdated(el,binding,vnode);});}else{setSelected(el,binding,vnode.context);}el._vOptions=[].map.call(el.options,getValue);}else if(vnode.tag==='textarea'||isTextInputType(el.type)){el._vModifiers=binding.modifiers;if(!binding.modifiers.lazy){el.addEventListener('compositionstart',onCompositionStart);el.addEventListener('compositionend',onCompositionEnd);// Safari < 10.2 & UIWebView doesn't fire compositionend when
// switching focus before confirming composition choice
// this also fixes the issue where some browsers e.g. iOS Chrome
// fires "change" instead of "input" on autocomplete.
el.addEventListener('change',onCompositionEnd);/* istanbul ignore if */if(isIE9){el.vmodel=true;}}}},componentUpdated:function componentUpdated(el,binding,vnode){if(vnode.tag==='select'){setSelected(el,binding,vnode.context);// in case the options rendered by v-for have changed,
// it's possible that the value is out-of-sync with the rendered options.
// detect such cases and filter out values that no longer has a matching
// option in the DOM.
var prevOptions=el._vOptions;var curOptions=el._vOptions=[].map.call(el.options,getValue);if(curOptions.some(function(o,i){return!looseEqual(o,prevOptions[i]);})){// trigger change event if
// no matching option found for at least one value
var needReset=el.multiple?binding.value.some(function(v){return hasNoMatchingOption(v,curOptions);}):binding.value!==binding.oldValue&&hasNoMatchingOption(binding.value,curOptions);if(needReset){trigger(el,'change');}}}}};function setSelected(el,binding,vm){actuallySetSelected(el,binding,vm);/* istanbul ignore if */if(isIE||isEdge){setTimeout(function(){actuallySetSelected(el,binding,vm);},0);}}function actuallySetSelected(el,binding,vm){var value=binding.value;var isMultiple=el.multiple;if(isMultiple&&!Array.isArray(value)){process.env.NODE_ENV!=='production'&&warn("<select multiple v-model=\""+binding.expression+"\"> "+"expects an Array value for its binding, but got "+Object.prototype.toString.call(value).slice(8,-1),vm);return;}var selected,option;for(var i=0,l=el.options.length;i<l;i++){option=el.options[i];if(isMultiple){selected=looseIndexOf(value,getValue(option))>-1;if(option.selected!==selected){option.selected=selected;}}else{if(looseEqual(getValue(option),value)){if(el.selectedIndex!==i){el.selectedIndex=i;}return;}}}if(!isMultiple){el.selectedIndex=-1;}}function hasNoMatchingOption(value,options){return options.every(function(o){return!looseEqual(o,value);});}function getValue(option){return'_value'in option?option._value:option.value;}function onCompositionStart(e){e.target.composing=true;}function onCompositionEnd(e){// prevent triggering an input event for no reason
if(!e.target.composing){return;}e.target.composing=false;trigger(e.target,'input');}function trigger(el,type){var e=document.createEvent('HTMLEvents');e.initEvent(type,true,true);el.dispatchEvent(e);}/*  */// recursively search for possible transition defined inside the component root
function locateNode(vnode){return vnode.componentInstance&&(!vnode.data||!vnode.data.transition)?locateNode(vnode.componentInstance._vnode):vnode;}var show={bind:function bind(el,ref,vnode){var value=ref.value;vnode=locateNode(vnode);var transition$$1=vnode.data&&vnode.data.transition;var originalDisplay=el.__vOriginalDisplay=el.style.display==='none'?'':el.style.display;if(value&&transition$$1){vnode.data.show=true;enter(vnode,function(){el.style.display=originalDisplay;});}else{el.style.display=value?originalDisplay:'none';}},update:function update(el,ref,vnode){var value=ref.value;var oldValue=ref.oldValue;/* istanbul ignore if */if(!value===!oldValue){return;}vnode=locateNode(vnode);var transition$$1=vnode.data&&vnode.data.transition;if(transition$$1){vnode.data.show=true;if(value){enter(vnode,function(){el.style.display=el.__vOriginalDisplay;});}else{leave(vnode,function(){el.style.display='none';});}}else{el.style.display=value?el.__vOriginalDisplay:'none';}},unbind:function unbind(el,binding,vnode,oldVnode,isDestroy){if(!isDestroy){el.style.display=el.__vOriginalDisplay;}}};var platformDirectives={model:directive,show:show};/*  */var transitionProps={name:String,appear:Boolean,css:Boolean,mode:String,type:String,enterClass:String,leaveClass:String,enterToClass:String,leaveToClass:String,enterActiveClass:String,leaveActiveClass:String,appearClass:String,appearActiveClass:String,appearToClass:String,duration:[Number,String,Object]};// in case the child is also an abstract component, e.g. <keep-alive>
// we want to recursively retrieve the real component to be rendered
function getRealChild(vnode){var compOptions=vnode&&vnode.componentOptions;if(compOptions&&compOptions.Ctor.options.abstract){return getRealChild(getFirstComponentChild(compOptions.children));}else{return vnode;}}function extractTransitionData(comp){var data={};var options=comp.$options;// props
for(var key in options.propsData){data[key]=comp[key];}// events.
// extract listeners and pass them directly to the transition methods
var listeners=options._parentListeners;for(var key$1 in listeners){data[camelize(key$1)]=listeners[key$1];}return data;}function placeholder(h,rawChild){if(/\d-keep-alive$/.test(rawChild.tag)){return h('keep-alive',{props:rawChild.componentOptions.propsData});}}function hasParentTransition(vnode){while(vnode=vnode.parent){if(vnode.data.transition){return true;}}}function isSameChild(child,oldChild){return oldChild.key===child.key&&oldChild.tag===child.tag;}var isNotTextNode=function isNotTextNode(c){return c.tag||isAsyncPlaceholder(c);};var isVShowDirective=function isVShowDirective(d){return d.name==='show';};var Transition={name:'transition',props:transitionProps,abstract:true,render:function render(h){var this$1=this;var children=this.$slots.default;if(!children){return;}// filter out text nodes (possible whitespaces)
children=children.filter(isNotTextNode);/* istanbul ignore if */if(!children.length){return;}// warn multiple elements
if(process.env.NODE_ENV!=='production'&&children.length>1){warn('<transition> can only be used on a single element. Use '+'<transition-group> for lists.',this.$parent);}var mode=this.mode;// warn invalid mode
if(process.env.NODE_ENV!=='production'&&mode&&mode!=='in-out'&&mode!=='out-in'){warn('invalid <transition> mode: '+mode,this.$parent);}var rawChild=children[0];// if this is a component root node and the component's
// parent container node also has transition, skip.
if(hasParentTransition(this.$vnode)){return rawChild;}// apply transition data to child
// use getRealChild() to ignore abstract components e.g. keep-alive
var child=getRealChild(rawChild);/* istanbul ignore if */if(!child){return rawChild;}if(this._leaving){return placeholder(h,rawChild);}// ensure a key that is unique to the vnode type and to this transition
// component instance. This key will be used to remove pending leaving nodes
// during entering.
var id="__transition-"+this._uid+"-";child.key=child.key==null?child.isComment?id+'comment':id+child.tag:isPrimitive(child.key)?String(child.key).indexOf(id)===0?child.key:id+child.key:child.key;var data=(child.data||(child.data={})).transition=extractTransitionData(this);var oldRawChild=this._vnode;var oldChild=getRealChild(oldRawChild);// mark v-show
// so that the transition module can hand over the control to the directive
if(child.data.directives&&child.data.directives.some(isVShowDirective)){child.data.show=true;}if(oldChild&&oldChild.data&&!isSameChild(child,oldChild)&&!isAsyncPlaceholder(oldChild)&&// #6687 component root is a comment node
!(oldChild.componentInstance&&oldChild.componentInstance._vnode.isComment)){// replace old child transition data with fresh one
// important for dynamic transitions!
var oldData=oldChild.data.transition=extend({},data);// handle transition mode
if(mode==='out-in'){// return placeholder node and queue update when leave finishes
this._leaving=true;mergeVNodeHook(oldData,'afterLeave',function(){this$1._leaving=false;this$1.$forceUpdate();});return placeholder(h,rawChild);}else if(mode==='in-out'){if(isAsyncPlaceholder(child)){return oldRawChild;}var delayedLeave;var performLeave=function performLeave(){delayedLeave();};mergeVNodeHook(data,'afterEnter',performLeave);mergeVNodeHook(data,'enterCancelled',performLeave);mergeVNodeHook(oldData,'delayLeave',function(leave){delayedLeave=leave;});}}return rawChild;}};/*  */var props=extend({tag:String,moveClass:String},transitionProps);delete props.mode;var TransitionGroup={props:props,beforeMount:function beforeMount(){var this$1=this;var update=this._update;this._update=function(vnode,hydrating){var restoreActiveInstance=setActiveInstance(this$1);// force removing pass
this$1.__patch__(this$1._vnode,this$1.kept,false,// hydrating
true// removeOnly (!important, avoids unnecessary moves)
);this$1._vnode=this$1.kept;restoreActiveInstance();update.call(this$1,vnode,hydrating);};},render:function render(h){var tag=this.tag||this.$vnode.data.tag||'span';var map=Object.create(null);var prevChildren=this.prevChildren=this.children;var rawChildren=this.$slots.default||[];var children=this.children=[];var transitionData=extractTransitionData(this);for(var i=0;i<rawChildren.length;i++){var c=rawChildren[i];if(c.tag){if(c.key!=null&&String(c.key).indexOf('__vlist')!==0){children.push(c);map[c.key]=c;(c.data||(c.data={})).transition=transitionData;}else if(process.env.NODE_ENV!=='production'){var opts=c.componentOptions;var name=opts?opts.Ctor.options.name||opts.tag||'':c.tag;warn("<transition-group> children must be keyed: <"+name+">");}}}if(prevChildren){var kept=[];var removed=[];for(var i$1=0;i$1<prevChildren.length;i$1++){var c$1=prevChildren[i$1];c$1.data.transition=transitionData;c$1.data.pos=c$1.elm.getBoundingClientRect();if(map[c$1.key]){kept.push(c$1);}else{removed.push(c$1);}}this.kept=h(tag,null,kept);this.removed=removed;}return h(tag,null,children);},updated:function updated(){var children=this.prevChildren;var moveClass=this.moveClass||(this.name||'v')+'-move';if(!children.length||!this.hasMove(children[0].elm,moveClass)){return;}// we divide the work into three loops to avoid mixing DOM reads and writes
// in each iteration - which helps prevent layout thrashing.
children.forEach(callPendingCbs);children.forEach(recordPosition);children.forEach(applyTranslation);// force reflow to put everything in position
// assign to this to avoid being removed in tree-shaking
// $flow-disable-line
this._reflow=document.body.offsetHeight;children.forEach(function(c){if(c.data.moved){var el=c.elm;var s=el.style;addTransitionClass(el,moveClass);s.transform=s.WebkitTransform=s.transitionDuration='';el.addEventListener(transitionEndEvent,el._moveCb=function cb(e){if(e&&e.target!==el){return;}if(!e||/transform$/.test(e.propertyName)){el.removeEventListener(transitionEndEvent,cb);el._moveCb=null;removeTransitionClass(el,moveClass);}});}});},methods:{hasMove:function hasMove(el,moveClass){/* istanbul ignore if */if(!hasTransition){return false;}/* istanbul ignore if */if(this._hasMove){return this._hasMove;}// Detect whether an element with the move class applied has
// CSS transitions. Since the element may be inside an entering
// transition at this very moment, we make a clone of it and remove
// all other transition classes applied to ensure only the move class
// is applied.
var clone=el.cloneNode();if(el._transitionClasses){el._transitionClasses.forEach(function(cls){removeClass(clone,cls);});}addClass(clone,moveClass);clone.style.display='none';this.$el.appendChild(clone);var info=getTransitionInfo(clone);this.$el.removeChild(clone);return this._hasMove=info.hasTransform;}}};function callPendingCbs(c){/* istanbul ignore if */if(c.elm._moveCb){c.elm._moveCb();}/* istanbul ignore if */if(c.elm._enterCb){c.elm._enterCb();}}function recordPosition(c){c.data.newPos=c.elm.getBoundingClientRect();}function applyTranslation(c){var oldPos=c.data.pos;var newPos=c.data.newPos;var dx=oldPos.left-newPos.left;var dy=oldPos.top-newPos.top;if(dx||dy){c.data.moved=true;var s=c.elm.style;s.transform=s.WebkitTransform="translate("+dx+"px,"+dy+"px)";s.transitionDuration='0s';}}var platformComponents={Transition:Transition,TransitionGroup:TransitionGroup};/*  */// install platform specific utils
Vue.config.mustUseProp=mustUseProp;Vue.config.isReservedTag=isReservedTag;Vue.config.isReservedAttr=isReservedAttr;Vue.config.getTagNamespace=getTagNamespace;Vue.config.isUnknownElement=isUnknownElement;// install platform runtime directives & components
extend(Vue.options.directives,platformDirectives);extend(Vue.options.components,platformComponents);// install platform patch function
Vue.prototype.__patch__=inBrowser?patch:noop;// public mount method
Vue.prototype.$mount=function(el,hydrating){el=el&&inBrowser?query(el):undefined;return mountComponent(this,el,hydrating);};// devtools global hook
/* istanbul ignore next */if(inBrowser){setTimeout(function(){if(config.devtools){if(devtools){devtools.emit('init',Vue);}else if(process.env.NODE_ENV!=='production'&&process.env.NODE_ENV!=='test'&&isChrome){console[console.info?'info':'log']('Download the Vue Devtools extension for a better development experience:\n'+'https://github.com/vuejs/vue-devtools');}}if(process.env.NODE_ENV!=='production'&&process.env.NODE_ENV!=='test'&&config.productionTip!==false&&typeof console!=='undefined'){console[console.info?'info':'log']("You are running Vue in development mode.\n"+"Make sure to turn on production mode when deploying for production.\n"+"See more tips at https://vuejs.org/guide/deployment.html");}},0);}/*  */var defaultTagRE=/\{\{((?:.|\r?\n)+?)\}\}/g;var regexEscapeRE=/[-.*+?^${}()|[\]\/\\]/g;var buildRegex=cached(function(delimiters){var open=delimiters[0].replace(regexEscapeRE,'\\$&');var close=delimiters[1].replace(regexEscapeRE,'\\$&');return new RegExp(open+'((?:.|\\n)+?)'+close,'g');});function parseText(text,delimiters){var tagRE=delimiters?buildRegex(delimiters):defaultTagRE;if(!tagRE.test(text)){return;}var tokens=[];var rawTokens=[];var lastIndex=tagRE.lastIndex=0;var match,index,tokenValue;while(match=tagRE.exec(text)){index=match.index;// push text token
if(index>lastIndex){rawTokens.push(tokenValue=text.slice(lastIndex,index));tokens.push(JSON.stringify(tokenValue));}// tag token
var exp=parseFilters(match[1].trim());tokens.push("_s("+exp+")");rawTokens.push({'@binding':exp});lastIndex=index+match[0].length;}if(lastIndex<text.length){rawTokens.push(tokenValue=text.slice(lastIndex));tokens.push(JSON.stringify(tokenValue));}return{expression:tokens.join('+'),tokens:rawTokens};}/*  */function transformNode(el,options){var warn=options.warn||baseWarn;var staticClass=getAndRemoveAttr(el,'class');if(process.env.NODE_ENV!=='production'&&staticClass){var res=parseText(staticClass,options.delimiters);if(res){warn("class=\""+staticClass+"\": "+'Interpolation inside attributes has been removed. '+'Use v-bind or the colon shorthand instead. For example, '+'instead of <div class="{{ val }}">, use <div :class="val">.');}}if(staticClass){el.staticClass=JSON.stringify(staticClass);}var classBinding=getBindingAttr(el,'class',false/* getStatic */);if(classBinding){el.classBinding=classBinding;}}function genData(el){var data='';if(el.staticClass){data+="staticClass:"+el.staticClass+",";}if(el.classBinding){data+="class:"+el.classBinding+",";}return data;}var klass$1={staticKeys:['staticClass'],transformNode:transformNode,genData:genData};/*  */function transformNode$1(el,options){var warn=options.warn||baseWarn;var staticStyle=getAndRemoveAttr(el,'style');if(staticStyle){/* istanbul ignore if */if(process.env.NODE_ENV!=='production'){var res=parseText(staticStyle,options.delimiters);if(res){warn("style=\""+staticStyle+"\": "+'Interpolation inside attributes has been removed. '+'Use v-bind or the colon shorthand instead. For example, '+'instead of <div style="{{ val }}">, use <div :style="val">.');}}el.staticStyle=JSON.stringify(parseStyleText(staticStyle));}var styleBinding=getBindingAttr(el,'style',false/* getStatic */);if(styleBinding){el.styleBinding=styleBinding;}}function genData$1(el){var data='';if(el.staticStyle){data+="staticStyle:"+el.staticStyle+",";}if(el.styleBinding){data+="style:("+el.styleBinding+"),";}return data;}var style$1={staticKeys:['staticStyle'],transformNode:transformNode$1,genData:genData$1};/*  */var decoder;var he={decode:function decode(html){decoder=decoder||document.createElement('div');decoder.innerHTML=html;return decoder.textContent;}};/*  */var isUnaryTag=makeMap('area,base,br,col,embed,frame,hr,img,input,isindex,keygen,'+'link,meta,param,source,track,wbr');// Elements that you can, intentionally, leave open
// (and which close themselves)
var canBeLeftOpenTag=makeMap('colgroup,dd,dt,li,options,p,td,tfoot,th,thead,tr,source');// HTML5 tags https://html.spec.whatwg.org/multipage/indices.html#elements-3
// Phrasing Content https://html.spec.whatwg.org/multipage/dom.html#phrasing-content
var isNonPhrasingTag=makeMap('address,article,aside,base,blockquote,body,caption,col,colgroup,dd,'+'details,dialog,div,dl,dt,fieldset,figcaption,figure,footer,form,'+'h1,h2,h3,h4,h5,h6,head,header,hgroup,hr,html,legend,li,menuitem,meta,'+'optgroup,option,param,rp,rt,source,style,summary,tbody,td,tfoot,th,thead,'+'title,tr,track');/**
 * Not type-checking this file because it's mostly vendor code.
 */// Regular Expressions for parsing tags and attributes
var attribute=/^\s*([^\s"'<>\/=]+)(?:\s*(=)\s*(?:"([^"]*)"+|'([^']*)'+|([^\s"'=<>`]+)))?/;// could use https://www.w3.org/TR/1999/REC-xml-names-19990114/#NT-QName
// but for Vue templates we can enforce a simple charset
var ncname='[a-zA-Z_][\\w\\-\\.]*';var qnameCapture="((?:"+ncname+"\\:)?"+ncname+")";var startTagOpen=new RegExp("^<"+qnameCapture);var startTagClose=/^\s*(\/?)>/;var endTag=new RegExp("^<\\/"+qnameCapture+"[^>]*>");var doctype=/^<!DOCTYPE [^>]+>/i;// #7298: escape - to avoid being pased as HTML comment when inlined in page
var comment=/^<!\--/;var conditionalComment=/^<!\[/;// Special Elements (can contain anything)
var isPlainTextElement=makeMap('script,style,textarea',true);var reCache={};var decodingMap={'&lt;':'<','&gt;':'>','&quot;':'"','&amp;':'&','&#10;':'\n','&#9;':'\t'};var encodedAttr=/&(?:lt|gt|quot|amp);/g;var encodedAttrWithNewLines=/&(?:lt|gt|quot|amp|#10|#9);/g;// #5992
var isIgnoreNewlineTag=makeMap('pre,textarea',true);var shouldIgnoreFirstNewline=function shouldIgnoreFirstNewline(tag,html){return tag&&isIgnoreNewlineTag(tag)&&html[0]==='\n';};function decodeAttr(value,shouldDecodeNewlines){var re=shouldDecodeNewlines?encodedAttrWithNewLines:encodedAttr;return value.replace(re,function(match){return decodingMap[match];});}function parseHTML(html,options){var stack=[];var expectHTML=options.expectHTML;var isUnaryTag$$1=options.isUnaryTag||no;var canBeLeftOpenTag$$1=options.canBeLeftOpenTag||no;var index=0;var last,lastTag;while(html){last=html;// Make sure we're not in a plaintext content element like script/style
if(!lastTag||!isPlainTextElement(lastTag)){var textEnd=html.indexOf('<');if(textEnd===0){// Comment:
if(comment.test(html)){var commentEnd=html.indexOf('-->');if(commentEnd>=0){if(options.shouldKeepComment){options.comment(html.substring(4,commentEnd));}advance(commentEnd+3);continue;}}// http://en.wikipedia.org/wiki/Conditional_comment#Downlevel-revealed_conditional_comment
if(conditionalComment.test(html)){var conditionalEnd=html.indexOf(']>');if(conditionalEnd>=0){advance(conditionalEnd+2);continue;}}// Doctype:
var doctypeMatch=html.match(doctype);if(doctypeMatch){advance(doctypeMatch[0].length);continue;}// End tag:
var endTagMatch=html.match(endTag);if(endTagMatch){var curIndex=index;advance(endTagMatch[0].length);parseEndTag(endTagMatch[1],curIndex,index);continue;}// Start tag:
var startTagMatch=parseStartTag();if(startTagMatch){handleStartTag(startTagMatch);if(shouldIgnoreFirstNewline(startTagMatch.tagName,html)){advance(1);}continue;}}var text=void 0,rest=void 0,next=void 0;if(textEnd>=0){rest=html.slice(textEnd);while(!endTag.test(rest)&&!startTagOpen.test(rest)&&!comment.test(rest)&&!conditionalComment.test(rest)){// < in plain text, be forgiving and treat it as text
next=rest.indexOf('<',1);if(next<0){break;}textEnd+=next;rest=html.slice(textEnd);}text=html.substring(0,textEnd);advance(textEnd);}if(textEnd<0){text=html;html='';}if(options.chars&&text){options.chars(text);}}else{var endTagLength=0;var stackedTag=lastTag.toLowerCase();var reStackedTag=reCache[stackedTag]||(reCache[stackedTag]=new RegExp('([\\s\\S]*?)(</'+stackedTag+'[^>]*>)','i'));var rest$1=html.replace(reStackedTag,function(all,text,endTag){endTagLength=endTag.length;if(!isPlainTextElement(stackedTag)&&stackedTag!=='noscript'){text=text.replace(/<!\--([\s\S]*?)-->/g,'$1')// #7298
.replace(/<!\[CDATA\[([\s\S]*?)]]>/g,'$1');}if(shouldIgnoreFirstNewline(stackedTag,text)){text=text.slice(1);}if(options.chars){options.chars(text);}return'';});index+=html.length-rest$1.length;html=rest$1;parseEndTag(stackedTag,index-endTagLength,index);}if(html===last){options.chars&&options.chars(html);if(process.env.NODE_ENV!=='production'&&!stack.length&&options.warn){options.warn("Mal-formatted tag at end of template: \""+html+"\"");}break;}}// Clean up any remaining tags
parseEndTag();function advance(n){index+=n;html=html.substring(n);}function parseStartTag(){var start=html.match(startTagOpen);if(start){var match={tagName:start[1],attrs:[],start:index};advance(start[0].length);var end,attr;while(!(end=html.match(startTagClose))&&(attr=html.match(attribute))){advance(attr[0].length);match.attrs.push(attr);}if(end){match.unarySlash=end[1];advance(end[0].length);match.end=index;return match;}}}function handleStartTag(match){var tagName=match.tagName;var unarySlash=match.unarySlash;if(expectHTML){if(lastTag==='p'&&isNonPhrasingTag(tagName)){parseEndTag(lastTag);}if(canBeLeftOpenTag$$1(tagName)&&lastTag===tagName){parseEndTag(tagName);}}var unary=isUnaryTag$$1(tagName)||!!unarySlash;var l=match.attrs.length;var attrs=new Array(l);for(var i=0;i<l;i++){var args=match.attrs[i];var value=args[3]||args[4]||args[5]||'';var shouldDecodeNewlines=tagName==='a'&&args[1]==='href'?options.shouldDecodeNewlinesForHref:options.shouldDecodeNewlines;attrs[i]={name:args[1],value:decodeAttr(value,shouldDecodeNewlines)};}if(!unary){stack.push({tag:tagName,lowerCasedTag:tagName.toLowerCase(),attrs:attrs});lastTag=tagName;}if(options.start){options.start(tagName,attrs,unary,match.start,match.end);}}function parseEndTag(tagName,start,end){var pos,lowerCasedTagName;if(start==null){start=index;}if(end==null){end=index;}// Find the closest opened tag of the same type
if(tagName){lowerCasedTagName=tagName.toLowerCase();for(pos=stack.length-1;pos>=0;pos--){if(stack[pos].lowerCasedTag===lowerCasedTagName){break;}}}else{// If no tag name is provided, clean shop
pos=0;}if(pos>=0){// Close all the open elements, up the stack
for(var i=stack.length-1;i>=pos;i--){if(process.env.NODE_ENV!=='production'&&(i>pos||!tagName)&&options.warn){options.warn("tag <"+stack[i].tag+"> has no matching end tag.");}if(options.end){options.end(stack[i].tag,start,end);}}// Remove the open elements from the stack
stack.length=pos;lastTag=pos&&stack[pos-1].tag;}else if(lowerCasedTagName==='br'){if(options.start){options.start(tagName,[],true,start,end);}}else if(lowerCasedTagName==='p'){if(options.start){options.start(tagName,[],false,start,end);}if(options.end){options.end(tagName,start,end);}}}}/*  */var onRE=/^@|^v-on:/;var dirRE=/^v-|^@|^:/;var forAliasRE=/([\s\S]*?)\s+(?:in|of)\s+([\s\S]*)/;var forIteratorRE=/,([^,\}\]]*)(?:,([^,\}\]]*))?$/;var stripParensRE=/^\(|\)$/g;var argRE=/:(.*)$/;var bindRE=/^:|^v-bind:/;var modifierRE=/\.[^.]+/g;var decodeHTMLCached=cached(he.decode);// configurable state
var warn$2;var delimiters;var transforms;var preTransforms;var postTransforms;var platformIsPreTag;var platformMustUseProp;var platformGetTagNamespace;function createASTElement(tag,attrs,parent){return{type:1,tag:tag,attrsList:attrs,attrsMap:makeAttrsMap(attrs),parent:parent,children:[]};}/**
 * Convert HTML string to AST.
 */function parse(template,options){warn$2=options.warn||baseWarn;platformIsPreTag=options.isPreTag||no;platformMustUseProp=options.mustUseProp||no;platformGetTagNamespace=options.getTagNamespace||no;transforms=pluckModuleFunction(options.modules,'transformNode');preTransforms=pluckModuleFunction(options.modules,'preTransformNode');postTransforms=pluckModuleFunction(options.modules,'postTransformNode');delimiters=options.delimiters;var stack=[];var preserveWhitespace=options.preserveWhitespace!==false;var root;var currentParent;var inVPre=false;var inPre=false;var warned=false;function warnOnce(msg){if(!warned){warned=true;warn$2(msg);}}function closeElement(element){// check pre state
if(element.pre){inVPre=false;}if(platformIsPreTag(element.tag)){inPre=false;}// apply post-transforms
for(var i=0;i<postTransforms.length;i++){postTransforms[i](element,options);}}parseHTML(template,{warn:warn$2,expectHTML:options.expectHTML,isUnaryTag:options.isUnaryTag,canBeLeftOpenTag:options.canBeLeftOpenTag,shouldDecodeNewlines:options.shouldDecodeNewlines,shouldDecodeNewlinesForHref:options.shouldDecodeNewlinesForHref,shouldKeepComment:options.comments,start:function start(tag,attrs,unary){// check namespace.
// inherit parent ns if there is one
var ns=currentParent&&currentParent.ns||platformGetTagNamespace(tag);// handle IE svg bug
/* istanbul ignore if */if(isIE&&ns==='svg'){attrs=guardIESVGBug(attrs);}var element=createASTElement(tag,attrs,currentParent);if(ns){element.ns=ns;}if(isForbiddenTag(element)&&!isServerRendering()){element.forbidden=true;process.env.NODE_ENV!=='production'&&warn$2('Templates should only be responsible for mapping the state to the '+'UI. Avoid placing tags with side-effects in your templates, such as '+"<"+tag+">"+', as they will not be parsed.');}// apply pre-transforms
for(var i=0;i<preTransforms.length;i++){element=preTransforms[i](element,options)||element;}if(!inVPre){processPre(element);if(element.pre){inVPre=true;}}if(platformIsPreTag(element.tag)){inPre=true;}if(inVPre){processRawAttrs(element);}else if(!element.processed){// structural directives
processFor(element);processIf(element);processOnce(element);// element-scope stuff
processElement(element,options);}function checkRootConstraints(el){if(process.env.NODE_ENV!=='production'){if(el.tag==='slot'||el.tag==='template'){warnOnce("Cannot use <"+el.tag+"> as component root element because it may "+'contain multiple nodes.');}if(el.attrsMap.hasOwnProperty('v-for')){warnOnce('Cannot use v-for on stateful component root element because '+'it renders multiple elements.');}}}// tree management
if(!root){root=element;checkRootConstraints(root);}else if(!stack.length){// allow root elements with v-if, v-else-if and v-else
if(root.if&&(element.elseif||element.else)){checkRootConstraints(element);addIfCondition(root,{exp:element.elseif,block:element});}else if(process.env.NODE_ENV!=='production'){warnOnce("Component template should contain exactly one root element. "+"If you are using v-if on multiple elements, "+"use v-else-if to chain them instead.");}}if(currentParent&&!element.forbidden){if(element.elseif||element.else){processIfConditions(element,currentParent);}else if(element.slotScope){// scoped slot
currentParent.plain=false;var name=element.slotTarget||'"default"';(currentParent.scopedSlots||(currentParent.scopedSlots={}))[name]=element;}else{currentParent.children.push(element);element.parent=currentParent;}}if(!unary){currentParent=element;stack.push(element);}else{closeElement(element);}},end:function end(){// remove trailing whitespace
var element=stack[stack.length-1];var lastNode=element.children[element.children.length-1];if(lastNode&&lastNode.type===3&&lastNode.text===' '&&!inPre){element.children.pop();}// pop stack
stack.length-=1;currentParent=stack[stack.length-1];closeElement(element);},chars:function chars(text){if(!currentParent){if(process.env.NODE_ENV!=='production'){if(text===template){warnOnce('Component template requires a root element, rather than just text.');}else if(text=text.trim()){warnOnce("text \""+text+"\" outside root element will be ignored.");}}return;}// IE textarea placeholder bug
/* istanbul ignore if */if(isIE&&currentParent.tag==='textarea'&&currentParent.attrsMap.placeholder===text){return;}var children=currentParent.children;text=inPre||text.trim()?isTextTag(currentParent)?text:decodeHTMLCached(text)// only preserve whitespace if its not right after a starting tag
:preserveWhitespace&&children.length?' ':'';if(text){var res;if(!inVPre&&text!==' '&&(res=parseText(text,delimiters))){children.push({type:2,expression:res.expression,tokens:res.tokens,text:text});}else if(text!==' '||!children.length||children[children.length-1].text!==' '){children.push({type:3,text:text});}}},comment:function comment(text){currentParent.children.push({type:3,text:text,isComment:true});}});return root;}function processPre(el){if(getAndRemoveAttr(el,'v-pre')!=null){el.pre=true;}}function processRawAttrs(el){var l=el.attrsList.length;if(l){var attrs=el.attrs=new Array(l);for(var i=0;i<l;i++){attrs[i]={name:el.attrsList[i].name,value:JSON.stringify(el.attrsList[i].value)};}}else if(!el.pre){// non root node in pre blocks with no attributes
el.plain=true;}}function processElement(element,options){processKey(element);// determine whether this is a plain element after
// removing structural attributes
element.plain=!element.key&&!element.attrsList.length;processRef(element);processSlot(element);processComponent(element);for(var i=0;i<transforms.length;i++){element=transforms[i](element,options)||element;}processAttrs(element);}function processKey(el){var exp=getBindingAttr(el,'key');if(exp){if(process.env.NODE_ENV!=='production'){if(el.tag==='template'){warn$2("<template> cannot be keyed. Place the key on real elements instead.");}if(el.for){var iterator=el.iterator2||el.iterator1;var parent=el.parent;if(iterator&&iterator===exp&&parent&&parent.tag==='transition-group'){warn$2("Do not use v-for index as key on <transition-group> children, "+"this is the same as not using keys.");}}}el.key=exp;}}function processRef(el){var ref=getBindingAttr(el,'ref');if(ref){el.ref=ref;el.refInFor=checkInFor(el);}}function processFor(el){var exp;if(exp=getAndRemoveAttr(el,'v-for')){var res=parseFor(exp);if(res){extend(el,res);}else if(process.env.NODE_ENV!=='production'){warn$2("Invalid v-for expression: "+exp);}}}function parseFor(exp){var inMatch=exp.match(forAliasRE);if(!inMatch){return;}var res={};res.for=inMatch[2].trim();var alias=inMatch[1].trim().replace(stripParensRE,'');var iteratorMatch=alias.match(forIteratorRE);if(iteratorMatch){res.alias=alias.replace(forIteratorRE,'').trim();res.iterator1=iteratorMatch[1].trim();if(iteratorMatch[2]){res.iterator2=iteratorMatch[2].trim();}}else{res.alias=alias;}return res;}function processIf(el){var exp=getAndRemoveAttr(el,'v-if');if(exp){el.if=exp;addIfCondition(el,{exp:exp,block:el});}else{if(getAndRemoveAttr(el,'v-else')!=null){el.else=true;}var elseif=getAndRemoveAttr(el,'v-else-if');if(elseif){el.elseif=elseif;}}}function processIfConditions(el,parent){var prev=findPrevElement(parent.children);if(prev&&prev.if){addIfCondition(prev,{exp:el.elseif,block:el});}else if(process.env.NODE_ENV!=='production'){warn$2("v-"+(el.elseif?'else-if="'+el.elseif+'"':'else')+" "+"used on element <"+el.tag+"> without corresponding v-if.");}}function findPrevElement(children){var i=children.length;while(i--){if(children[i].type===1){return children[i];}else{if(process.env.NODE_ENV!=='production'&&children[i].text!==' '){warn$2("text \""+children[i].text.trim()+"\" between v-if and v-else(-if) "+"will be ignored.");}children.pop();}}}function addIfCondition(el,condition){if(!el.ifConditions){el.ifConditions=[];}el.ifConditions.push(condition);}function processOnce(el){var once$$1=getAndRemoveAttr(el,'v-once');if(once$$1!=null){el.once=true;}}function processSlot(el){if(el.tag==='slot'){el.slotName=getBindingAttr(el,'name');if(process.env.NODE_ENV!=='production'&&el.key){warn$2("`key` does not work on <slot> because slots are abstract outlets "+"and can possibly expand into multiple elements. "+"Use the key on a wrapping element instead.");}}else{var slotScope;if(el.tag==='template'){slotScope=getAndRemoveAttr(el,'scope');/* istanbul ignore if */if(process.env.NODE_ENV!=='production'&&slotScope){warn$2("the \"scope\" attribute for scoped slots have been deprecated and "+"replaced by \"slot-scope\" since 2.5. The new \"slot-scope\" attribute "+"can also be used on plain elements in addition to <template> to "+"denote scoped slots.",true);}el.slotScope=slotScope||getAndRemoveAttr(el,'slot-scope');}else if(slotScope=getAndRemoveAttr(el,'slot-scope')){/* istanbul ignore if */if(process.env.NODE_ENV!=='production'&&el.attrsMap['v-for']){warn$2("Ambiguous combined usage of slot-scope and v-for on <"+el.tag+"> "+"(v-for takes higher priority). Use a wrapper <template> for the "+"scoped slot to make it clearer.",true);}el.slotScope=slotScope;}var slotTarget=getBindingAttr(el,'slot');if(slotTarget){el.slotTarget=slotTarget==='""'?'"default"':slotTarget;// preserve slot as an attribute for native shadow DOM compat
// only for non-scoped slots.
if(el.tag!=='template'&&!el.slotScope){addAttr(el,'slot',slotTarget);}}}}function processComponent(el){var binding;if(binding=getBindingAttr(el,'is')){el.component=binding;}if(getAndRemoveAttr(el,'inline-template')!=null){el.inlineTemplate=true;}}function processAttrs(el){var list=el.attrsList;var i,l,name,rawName,value,modifiers,isProp;for(i=0,l=list.length;i<l;i++){name=rawName=list[i].name;value=list[i].value;if(dirRE.test(name)){// mark element as dynamic
el.hasBindings=true;// modifiers
modifiers=parseModifiers(name);if(modifiers){name=name.replace(modifierRE,'');}if(bindRE.test(name)){// v-bind
name=name.replace(bindRE,'');value=parseFilters(value);isProp=false;if(process.env.NODE_ENV!=='production'&&value.trim().length===0){warn$2("The value for a v-bind expression cannot be empty. Found in \"v-bind:"+name+"\"");}if(modifiers){if(modifiers.prop){isProp=true;name=camelize(name);if(name==='innerHtml'){name='innerHTML';}}if(modifiers.camel){name=camelize(name);}if(modifiers.sync){addHandler(el,"update:"+camelize(name),genAssignmentCode(value,"$event"));}}if(isProp||!el.component&&platformMustUseProp(el.tag,el.attrsMap.type,name)){addProp(el,name,value);}else{addAttr(el,name,value);}}else if(onRE.test(name)){// v-on
name=name.replace(onRE,'');addHandler(el,name,value,modifiers,false,warn$2);}else{// normal directives
name=name.replace(dirRE,'');// parse arg
var argMatch=name.match(argRE);var arg=argMatch&&argMatch[1];if(arg){name=name.slice(0,-(arg.length+1));}addDirective(el,name,rawName,value,arg,modifiers);if(process.env.NODE_ENV!=='production'&&name==='model'){checkForAliasModel(el,value);}}}else{// literal attribute
if(process.env.NODE_ENV!=='production'){var res=parseText(value,delimiters);if(res){warn$2(name+"=\""+value+"\": "+'Interpolation inside attributes has been removed. '+'Use v-bind or the colon shorthand instead. For example, '+'instead of <div id="{{ val }}">, use <div :id="val">.');}}addAttr(el,name,JSON.stringify(value));// #6887 firefox doesn't update muted state if set via attribute
// even immediately after element creation
if(!el.component&&name==='muted'&&platformMustUseProp(el.tag,el.attrsMap.type,name)){addProp(el,name,'true');}}}}function checkInFor(el){var parent=el;while(parent){if(parent.for!==undefined){return true;}parent=parent.parent;}return false;}function parseModifiers(name){var match=name.match(modifierRE);if(match){var ret={};match.forEach(function(m){ret[m.slice(1)]=true;});return ret;}}function makeAttrsMap(attrs){var map={};for(var i=0,l=attrs.length;i<l;i++){if(process.env.NODE_ENV!=='production'&&map[attrs[i].name]&&!isIE&&!isEdge){warn$2('duplicate attribute: '+attrs[i].name);}map[attrs[i].name]=attrs[i].value;}return map;}// for script (e.g. type="x/template") or style, do not decode content
function isTextTag(el){return el.tag==='script'||el.tag==='style';}function isForbiddenTag(el){return el.tag==='style'||el.tag==='script'&&(!el.attrsMap.type||el.attrsMap.type==='text/javascript');}var ieNSBug=/^xmlns:NS\d+/;var ieNSPrefix=/^NS\d+:/;/* istanbul ignore next */function guardIESVGBug(attrs){var res=[];for(var i=0;i<attrs.length;i++){var attr=attrs[i];if(!ieNSBug.test(attr.name)){attr.name=attr.name.replace(ieNSPrefix,'');res.push(attr);}}return res;}function checkForAliasModel(el,value){var _el=el;while(_el){if(_el.for&&_el.alias===value){warn$2("<"+el.tag+" v-model=\""+value+"\">: "+"You are binding v-model directly to a v-for iteration alias. "+"This will not be able to modify the v-for source array because "+"writing to the alias is like modifying a function local variable. "+"Consider using an array of objects and use v-model on an object property instead.");}_el=_el.parent;}}/*  */function preTransformNode(el,options){if(el.tag==='input'){var map=el.attrsMap;if(!map['v-model']){return;}var typeBinding;if(map[':type']||map['v-bind:type']){typeBinding=getBindingAttr(el,'type');}if(!map.type&&!typeBinding&&map['v-bind']){typeBinding="("+map['v-bind']+").type";}if(typeBinding){var ifCondition=getAndRemoveAttr(el,'v-if',true);var ifConditionExtra=ifCondition?"&&("+ifCondition+")":"";var hasElse=getAndRemoveAttr(el,'v-else',true)!=null;var elseIfCondition=getAndRemoveAttr(el,'v-else-if',true);// 1. checkbox
var branch0=cloneASTElement(el);// process for on the main node
processFor(branch0);addRawAttr(branch0,'type','checkbox');processElement(branch0,options);branch0.processed=true;// prevent it from double-processed
branch0.if="("+typeBinding+")==='checkbox'"+ifConditionExtra;addIfCondition(branch0,{exp:branch0.if,block:branch0});// 2. add radio else-if condition
var branch1=cloneASTElement(el);getAndRemoveAttr(branch1,'v-for',true);addRawAttr(branch1,'type','radio');processElement(branch1,options);addIfCondition(branch0,{exp:"("+typeBinding+")==='radio'"+ifConditionExtra,block:branch1});// 3. other
var branch2=cloneASTElement(el);getAndRemoveAttr(branch2,'v-for',true);addRawAttr(branch2,':type',typeBinding);processElement(branch2,options);addIfCondition(branch0,{exp:ifCondition,block:branch2});if(hasElse){branch0.else=true;}else if(elseIfCondition){branch0.elseif=elseIfCondition;}return branch0;}}}function cloneASTElement(el){return createASTElement(el.tag,el.attrsList.slice(),el.parent);}var model$1={preTransformNode:preTransformNode};var modules$1=[klass$1,style$1,model$1];/*  */function text(el,dir){if(dir.value){addProp(el,'textContent',"_s("+dir.value+")");}}/*  */function html(el,dir){if(dir.value){addProp(el,'innerHTML',"_s("+dir.value+")");}}var directives$1={model:model,text:text,html:html};/*  */var baseOptions={expectHTML:true,modules:modules$1,directives:directives$1,isPreTag:isPreTag,isUnaryTag:isUnaryTag,mustUseProp:mustUseProp,canBeLeftOpenTag:canBeLeftOpenTag,isReservedTag:isReservedTag,getTagNamespace:getTagNamespace,staticKeys:genStaticKeys(modules$1)};/*  */var isStaticKey;var isPlatformReservedTag;var genStaticKeysCached=cached(genStaticKeys$1);/**
 * Goal of the optimizer: walk the generated template AST tree
 * and detect sub-trees that are purely static, i.e. parts of
 * the DOM that never needs to change.
 *
 * Once we detect these sub-trees, we can:
 *
 * 1. Hoist them into constants, so that we no longer need to
 *    create fresh nodes for them on each re-render;
 * 2. Completely skip them in the patching process.
 */function optimize(root,options){if(!root){return;}isStaticKey=genStaticKeysCached(options.staticKeys||'');isPlatformReservedTag=options.isReservedTag||no;// first pass: mark all non-static nodes.
markStatic$1(root);// second pass: mark static roots.
markStaticRoots(root,false);}function genStaticKeys$1(keys){return makeMap('type,tag,attrsList,attrsMap,plain,parent,children,attrs'+(keys?','+keys:''));}function markStatic$1(node){node.static=isStatic(node);if(node.type===1){// do not make component slot content static. this avoids
// 1. components not able to mutate slot nodes
// 2. static slot content fails for hot-reloading
if(!isPlatformReservedTag(node.tag)&&node.tag!=='slot'&&node.attrsMap['inline-template']==null){return;}for(var i=0,l=node.children.length;i<l;i++){var child=node.children[i];markStatic$1(child);if(!child.static){node.static=false;}}if(node.ifConditions){for(var i$1=1,l$1=node.ifConditions.length;i$1<l$1;i$1++){var block=node.ifConditions[i$1].block;markStatic$1(block);if(!block.static){node.static=false;}}}}}function markStaticRoots(node,isInFor){if(node.type===1){if(node.static||node.once){node.staticInFor=isInFor;}// For a node to qualify as a static root, it should have children that
// are not just static text. Otherwise the cost of hoisting out will
// outweigh the benefits and it's better off to just always render it fresh.
if(node.static&&node.children.length&&!(node.children.length===1&&node.children[0].type===3)){node.staticRoot=true;return;}else{node.staticRoot=false;}if(node.children){for(var i=0,l=node.children.length;i<l;i++){markStaticRoots(node.children[i],isInFor||!!node.for);}}if(node.ifConditions){for(var i$1=1,l$1=node.ifConditions.length;i$1<l$1;i$1++){markStaticRoots(node.ifConditions[i$1].block,isInFor);}}}}function isStatic(node){if(node.type===2){// expression
return false;}if(node.type===3){// text
return true;}return!!(node.pre||!node.hasBindings&&// no dynamic bindings
!node.if&&!node.for&&// not v-if or v-for or v-else
!isBuiltInTag(node.tag)&&// not a built-in
isPlatformReservedTag(node.tag)&&// not a component
!isDirectChildOfTemplateFor(node)&&Object.keys(node).every(isStaticKey));}function isDirectChildOfTemplateFor(node){while(node.parent){node=node.parent;if(node.tag!=='template'){return false;}if(node.for){return true;}}return false;}/*  */var fnExpRE=/^([\w$_]+|\([^)]*?\))\s*=>|^function\s*\(/;var simplePathRE=/^[A-Za-z_$][\w$]*(?:\.[A-Za-z_$][\w$]*|\['[^']*?']|\["[^"]*?"]|\[\d+]|\[[A-Za-z_$][\w$]*])*$/;// KeyboardEvent.keyCode aliases
var keyCodes={esc:27,tab:9,enter:13,space:32,up:38,left:37,right:39,down:40,'delete':[8,46]};// KeyboardEvent.key aliases
var keyNames={// #7880: IE11 and Edge use `Esc` for Escape key name.
esc:['Esc','Escape'],tab:'Tab',enter:'Enter',// #9112: IE11 uses `Spacebar` for Space key name.
space:[' ','Spacebar'],// #7806: IE11 uses key names without `Arrow` prefix for arrow keys.
up:['Up','ArrowUp'],left:['Left','ArrowLeft'],right:['Right','ArrowRight'],down:['Down','ArrowDown'],// #9112: IE11 uses `Del` for Delete key name.
'delete':['Backspace','Delete','Del']};// #4868: modifiers that prevent the execution of the listener
// need to explicitly return null so that we can determine whether to remove
// the listener for .once
var genGuard=function genGuard(condition){return"if("+condition+")return null;";};var modifierCode={stop:'$event.stopPropagation();',prevent:'$event.preventDefault();',self:genGuard("$event.target !== $event.currentTarget"),ctrl:genGuard("!$event.ctrlKey"),shift:genGuard("!$event.shiftKey"),alt:genGuard("!$event.altKey"),meta:genGuard("!$event.metaKey"),left:genGuard("'button' in $event && $event.button !== 0"),middle:genGuard("'button' in $event && $event.button !== 1"),right:genGuard("'button' in $event && $event.button !== 2")};function genHandlers(events,isNative){var res=isNative?'nativeOn:{':'on:{';for(var name in events){res+="\""+name+"\":"+genHandler(name,events[name])+",";}return res.slice(0,-1)+'}';}function genHandler(name,handler){if(!handler){return'function(){}';}if(Array.isArray(handler)){return"["+handler.map(function(handler){return genHandler(name,handler);}).join(',')+"]";}var isMethodPath=simplePathRE.test(handler.value);var isFunctionExpression=fnExpRE.test(handler.value);if(!handler.modifiers){if(isMethodPath||isFunctionExpression){return handler.value;}return"function($event){"+handler.value+"}";// inline statement
}else{var code='';var genModifierCode='';var keys=[];for(var key in handler.modifiers){if(modifierCode[key]){genModifierCode+=modifierCode[key];// left/right
if(keyCodes[key]){keys.push(key);}}else if(key==='exact'){var modifiers=handler.modifiers;genModifierCode+=genGuard(['ctrl','shift','alt','meta'].filter(function(keyModifier){return!modifiers[keyModifier];}).map(function(keyModifier){return"$event."+keyModifier+"Key";}).join('||'));}else{keys.push(key);}}if(keys.length){code+=genKeyFilter(keys);}// Make sure modifiers like prevent and stop get executed after key filtering
if(genModifierCode){code+=genModifierCode;}var handlerCode=isMethodPath?"return "+handler.value+"($event)":isFunctionExpression?"return ("+handler.value+")($event)":handler.value;return"function($event){"+code+handlerCode+"}";}}function genKeyFilter(keys){return"if(!('button' in $event)&&"+keys.map(genFilterCode).join('&&')+")return null;";}function genFilterCode(key){var keyVal=parseInt(key,10);if(keyVal){return"$event.keyCode!=="+keyVal;}var keyCode=keyCodes[key];var keyName=keyNames[key];return"_k($event.keyCode,"+JSON.stringify(key)+","+JSON.stringify(keyCode)+","+"$event.key,"+""+JSON.stringify(keyName)+")";}/*  */function on(el,dir){if(process.env.NODE_ENV!=='production'&&dir.modifiers){warn("v-on without argument does not support modifiers.");}el.wrapListeners=function(code){return"_g("+code+","+dir.value+")";};}/*  */function bind$1(el,dir){el.wrapData=function(code){return"_b("+code+",'"+el.tag+"',"+dir.value+","+(dir.modifiers&&dir.modifiers.prop?'true':'false')+(dir.modifiers&&dir.modifiers.sync?',true':'')+")";};}/*  */var baseDirectives={on:on,bind:bind$1,cloak:noop};/*  */var CodegenState=function CodegenState(options){this.options=options;this.warn=options.warn||baseWarn;this.transforms=pluckModuleFunction(options.modules,'transformCode');this.dataGenFns=pluckModuleFunction(options.modules,'genData');this.directives=extend(extend({},baseDirectives),options.directives);var isReservedTag=options.isReservedTag||no;this.maybeComponent=function(el){return!(isReservedTag(el.tag)&&!el.component);};this.onceId=0;this.staticRenderFns=[];this.pre=false;};function generate(ast,options){var state=new CodegenState(options);var code=ast?genElement(ast,state):'_c("div")';return{render:"with(this){return "+code+"}",staticRenderFns:state.staticRenderFns};}function genElement(el,state){if(el.parent){el.pre=el.pre||el.parent.pre;}if(el.staticRoot&&!el.staticProcessed){return genStatic(el,state);}else if(el.once&&!el.onceProcessed){return genOnce(el,state);}else if(el.for&&!el.forProcessed){return genFor(el,state);}else if(el.if&&!el.ifProcessed){return genIf(el,state);}else if(el.tag==='template'&&!el.slotTarget&&!state.pre){return genChildren(el,state)||'void 0';}else if(el.tag==='slot'){return genSlot(el,state);}else{// component or element
var code;if(el.component){code=genComponent(el.component,el,state);}else{var data;if(!el.plain||el.pre&&state.maybeComponent(el)){data=genData$2(el,state);}var children=el.inlineTemplate?null:genChildren(el,state,true);code="_c('"+el.tag+"'"+(data?","+data:'')+(children?","+children:'')+")";}// module transforms
for(var i=0;i<state.transforms.length;i++){code=state.transforms[i](el,code);}return code;}}// hoist static sub-trees out
function genStatic(el,state){el.staticProcessed=true;// Some elements (templates) need to behave differently inside of a v-pre
// node.  All pre nodes are static roots, so we can use this as a location to
// wrap a state change and reset it upon exiting the pre node.
var originalPreState=state.pre;if(el.pre){state.pre=el.pre;}state.staticRenderFns.push("with(this){return "+genElement(el,state)+"}");state.pre=originalPreState;return"_m("+(state.staticRenderFns.length-1)+(el.staticInFor?',true':'')+")";}// v-once
function genOnce(el,state){el.onceProcessed=true;if(el.if&&!el.ifProcessed){return genIf(el,state);}else if(el.staticInFor){var key='';var parent=el.parent;while(parent){if(parent.for){key=parent.key;break;}parent=parent.parent;}if(!key){process.env.NODE_ENV!=='production'&&state.warn("v-once can only be used inside v-for that is keyed. ");return genElement(el,state);}return"_o("+genElement(el,state)+","+state.onceId++ +","+key+")";}else{return genStatic(el,state);}}function genIf(el,state,altGen,altEmpty){el.ifProcessed=true;// avoid recursion
return genIfConditions(el.ifConditions.slice(),state,altGen,altEmpty);}function genIfConditions(conditions,state,altGen,altEmpty){if(!conditions.length){return altEmpty||'_e()';}var condition=conditions.shift();if(condition.exp){return"("+condition.exp+")?"+genTernaryExp(condition.block)+":"+genIfConditions(conditions,state,altGen,altEmpty);}else{return""+genTernaryExp(condition.block);}// v-if with v-once should generate code like (a)?_m(0):_m(1)
function genTernaryExp(el){return altGen?altGen(el,state):el.once?genOnce(el,state):genElement(el,state);}}function genFor(el,state,altGen,altHelper){var exp=el.for;var alias=el.alias;var iterator1=el.iterator1?","+el.iterator1:'';var iterator2=el.iterator2?","+el.iterator2:'';if(process.env.NODE_ENV!=='production'&&state.maybeComponent(el)&&el.tag!=='slot'&&el.tag!=='template'&&!el.key){state.warn("<"+el.tag+" v-for=\""+alias+" in "+exp+"\">: component lists rendered with "+"v-for should have explicit keys. "+"See https://vuejs.org/guide/list.html#key for more info.",true/* tip */);}el.forProcessed=true;// avoid recursion
return(altHelper||'_l')+"(("+exp+"),"+"function("+alias+iterator1+iterator2+"){"+"return "+(altGen||genElement)(el,state)+'})';}function genData$2(el,state){var data='{';// directives first.
// directives may mutate the el's other properties before they are generated.
var dirs=genDirectives(el,state);if(dirs){data+=dirs+',';}// key
if(el.key){data+="key:"+el.key+",";}// ref
if(el.ref){data+="ref:"+el.ref+",";}if(el.refInFor){data+="refInFor:true,";}// pre
if(el.pre){data+="pre:true,";}// record original tag name for components using "is" attribute
if(el.component){data+="tag:\""+el.tag+"\",";}// module data generation functions
for(var i=0;i<state.dataGenFns.length;i++){data+=state.dataGenFns[i](el);}// attributes
if(el.attrs){data+="attrs:{"+genProps(el.attrs)+"},";}// DOM props
if(el.props){data+="domProps:{"+genProps(el.props)+"},";}// event handlers
if(el.events){data+=genHandlers(el.events,false)+",";}if(el.nativeEvents){data+=genHandlers(el.nativeEvents,true)+",";}// slot target
// only for non-scoped slots
if(el.slotTarget&&!el.slotScope){data+="slot:"+el.slotTarget+",";}// scoped slots
if(el.scopedSlots){data+=genScopedSlots(el.scopedSlots,state)+",";}// component v-model
if(el.model){data+="model:{value:"+el.model.value+",callback:"+el.model.callback+",expression:"+el.model.expression+"},";}// inline-template
if(el.inlineTemplate){var inlineTemplate=genInlineTemplate(el,state);if(inlineTemplate){data+=inlineTemplate+",";}}data=data.replace(/,$/,'')+'}';// v-bind data wrap
if(el.wrapData){data=el.wrapData(data);}// v-on data wrap
if(el.wrapListeners){data=el.wrapListeners(data);}return data;}function genDirectives(el,state){var dirs=el.directives;if(!dirs){return;}var res='directives:[';var hasRuntime=false;var i,l,dir,needRuntime;for(i=0,l=dirs.length;i<l;i++){dir=dirs[i];needRuntime=true;var gen=state.directives[dir.name];if(gen){// compile-time directive that manipulates AST.
// returns true if it also needs a runtime counterpart.
needRuntime=!!gen(el,dir,state.warn);}if(needRuntime){hasRuntime=true;res+="{name:\""+dir.name+"\",rawName:\""+dir.rawName+"\""+(dir.value?",value:("+dir.value+"),expression:"+JSON.stringify(dir.value):'')+(dir.arg?",arg:\""+dir.arg+"\"":'')+(dir.modifiers?",modifiers:"+JSON.stringify(dir.modifiers):'')+"},";}}if(hasRuntime){return res.slice(0,-1)+']';}}function genInlineTemplate(el,state){var ast=el.children[0];if(process.env.NODE_ENV!=='production'&&(el.children.length!==1||ast.type!==1)){state.warn('Inline-template components must have exactly one child element.');}if(ast.type===1){var inlineRenderFns=generate(ast,state.options);return"inlineTemplate:{render:function(){"+inlineRenderFns.render+"},staticRenderFns:["+inlineRenderFns.staticRenderFns.map(function(code){return"function(){"+code+"}";}).join(',')+"]}";}}function genScopedSlots(slots,state){return"scopedSlots:_u(["+Object.keys(slots).map(function(key){return genScopedSlot(key,slots[key],state);}).join(',')+"])";}function genScopedSlot(key,el,state){if(el.for&&!el.forProcessed){return genForScopedSlot(key,el,state);}var fn="function("+String(el.slotScope)+"){"+"return "+(el.tag==='template'?el.if?"("+el.if+")?"+(genChildren(el,state)||'undefined')+":undefined":genChildren(el,state)||'undefined':genElement(el,state))+"}";return"{key:"+key+",fn:"+fn+"}";}function genForScopedSlot(key,el,state){var exp=el.for;var alias=el.alias;var iterator1=el.iterator1?","+el.iterator1:'';var iterator2=el.iterator2?","+el.iterator2:'';el.forProcessed=true;// avoid recursion
return"_l(("+exp+"),"+"function("+alias+iterator1+iterator2+"){"+"return "+genScopedSlot(key,el,state)+'})';}function genChildren(el,state,checkSkip,altGenElement,altGenNode){var children=el.children;if(children.length){var el$1=children[0];// optimize single v-for
if(children.length===1&&el$1.for&&el$1.tag!=='template'&&el$1.tag!=='slot'){var normalizationType=checkSkip?state.maybeComponent(el$1)?",1":",0":"";return""+(altGenElement||genElement)(el$1,state)+normalizationType;}var normalizationType$1=checkSkip?getNormalizationType(children,state.maybeComponent):0;var gen=altGenNode||genNode;return"["+children.map(function(c){return gen(c,state);}).join(',')+"]"+(normalizationType$1?","+normalizationType$1:'');}}// determine the normalization needed for the children array.
// 0: no normalization needed
// 1: simple normalization needed (possible 1-level deep nested array)
// 2: full normalization needed
function getNormalizationType(children,maybeComponent){var res=0;for(var i=0;i<children.length;i++){var el=children[i];if(el.type!==1){continue;}if(needsNormalization(el)||el.ifConditions&&el.ifConditions.some(function(c){return needsNormalization(c.block);})){res=2;break;}if(maybeComponent(el)||el.ifConditions&&el.ifConditions.some(function(c){return maybeComponent(c.block);})){res=1;}}return res;}function needsNormalization(el){return el.for!==undefined||el.tag==='template'||el.tag==='slot';}function genNode(node,state){if(node.type===1){return genElement(node,state);}else if(node.type===3&&node.isComment){return genComment(node);}else{return genText(node);}}function genText(text){return"_v("+(text.type===2?text.expression// no need for () because already wrapped in _s()
:transformSpecialNewlines(JSON.stringify(text.text)))+")";}function genComment(comment){return"_e("+JSON.stringify(comment.text)+")";}function genSlot(el,state){var slotName=el.slotName||'"default"';var children=genChildren(el,state);var res="_t("+slotName+(children?","+children:'');var attrs=el.attrs&&"{"+el.attrs.map(function(a){return camelize(a.name)+":"+a.value;}).join(',')+"}";var bind$$1=el.attrsMap['v-bind'];if((attrs||bind$$1)&&!children){res+=",null";}if(attrs){res+=","+attrs;}if(bind$$1){res+=(attrs?'':',null')+","+bind$$1;}return res+')';}// componentName is el.component, take it as argument to shun flow's pessimistic refinement
function genComponent(componentName,el,state){var children=el.inlineTemplate?null:genChildren(el,state,true);return"_c("+componentName+","+genData$2(el,state)+(children?","+children:'')+")";}function genProps(props){var res='';for(var i=0;i<props.length;i++){var prop=props[i];/* istanbul ignore if */{res+="\""+prop.name+"\":"+transformSpecialNewlines(prop.value)+",";}}return res.slice(0,-1);}// #3895, #4268
function transformSpecialNewlines(text){return text.replace(/\u2028/g,'\\u2028').replace(/\u2029/g,'\\u2029');}/*  */// these keywords should not appear inside expressions, but operators like
// typeof, instanceof and in are allowed
var prohibitedKeywordRE=new RegExp('\\b'+('do,if,for,let,new,try,var,case,else,with,await,break,catch,class,const,'+'super,throw,while,yield,delete,export,import,return,switch,default,'+'extends,finally,continue,debugger,function,arguments').split(',').join('\\b|\\b')+'\\b');// these unary operators should not be used as property/method names
var unaryOperatorsRE=new RegExp('\\b'+'delete,typeof,void'.split(',').join('\\s*\\([^\\)]*\\)|\\b')+'\\s*\\([^\\)]*\\)');// strip strings in expressions
var stripStringRE=/'(?:[^'\\]|\\.)*'|"(?:[^"\\]|\\.)*"|`(?:[^`\\]|\\.)*\$\{|\}(?:[^`\\]|\\.)*`|`(?:[^`\\]|\\.)*`/g;// detect problematic expressions in a template
function detectErrors(ast){var errors=[];if(ast){checkNode(ast,errors);}return errors;}function checkNode(node,errors){if(node.type===1){for(var name in node.attrsMap){if(dirRE.test(name)){var value=node.attrsMap[name];if(value){if(name==='v-for'){checkFor(node,"v-for=\""+value+"\"",errors);}else if(onRE.test(name)){checkEvent(value,name+"=\""+value+"\"",errors);}else{checkExpression(value,name+"=\""+value+"\"",errors);}}}}if(node.children){for(var i=0;i<node.children.length;i++){checkNode(node.children[i],errors);}}}else if(node.type===2){checkExpression(node.expression,node.text,errors);}}function checkEvent(exp,text,errors){var stipped=exp.replace(stripStringRE,'');var keywordMatch=stipped.match(unaryOperatorsRE);if(keywordMatch&&stipped.charAt(keywordMatch.index-1)!=='$'){errors.push("avoid using JavaScript unary operator as property name: "+"\""+keywordMatch[0]+"\" in expression "+text.trim());}checkExpression(exp,text,errors);}function checkFor(node,text,errors){checkExpression(node.for||'',text,errors);checkIdentifier(node.alias,'v-for alias',text,errors);checkIdentifier(node.iterator1,'v-for iterator',text,errors);checkIdentifier(node.iterator2,'v-for iterator',text,errors);}function checkIdentifier(ident,type,text,errors){if(typeof ident==='string'){try{new Function("var "+ident+"=_");}catch(e){errors.push("invalid "+type+" \""+ident+"\" in expression: "+text.trim());}}}function checkExpression(exp,text,errors){try{new Function("return "+exp);}catch(e){var keywordMatch=exp.replace(stripStringRE,'').match(prohibitedKeywordRE);if(keywordMatch){errors.push("avoid using JavaScript keyword as property name: "+"\""+keywordMatch[0]+"\"\n  Raw expression: "+text.trim());}else{errors.push("invalid expression: "+e.message+" in\n\n"+"    "+exp+"\n\n"+"  Raw expression: "+text.trim()+"\n");}}}/*  */function createFunction(code,errors){try{return new Function(code);}catch(err){errors.push({err:err,code:code});return noop;}}function createCompileToFunctionFn(compile){var cache=Object.create(null);return function compileToFunctions(template,options,vm){options=extend({},options);var warn$$1=options.warn||warn;delete options.warn;/* istanbul ignore if */if(process.env.NODE_ENV!=='production'){// detect possible CSP restriction
try{new Function('return 1');}catch(e){if(e.toString().match(/unsafe-eval|CSP/)){warn$$1('It seems you are using the standalone build of Vue.js in an '+'environment with Content Security Policy that prohibits unsafe-eval. '+'The template compiler cannot work in this environment. Consider '+'relaxing the policy to allow unsafe-eval or pre-compiling your '+'templates into render functions.');}}}// check cache
var key=options.delimiters?String(options.delimiters)+template:template;if(cache[key]){return cache[key];}// compile
var compiled=compile(template,options);// check compilation errors/tips
if(process.env.NODE_ENV!=='production'){if(compiled.errors&&compiled.errors.length){warn$$1("Error compiling template:\n\n"+template+"\n\n"+compiled.errors.map(function(e){return"- "+e;}).join('\n')+'\n',vm);}if(compiled.tips&&compiled.tips.length){compiled.tips.forEach(function(msg){return tip(msg,vm);});}}// turn code into functions
var res={};var fnGenErrors=[];res.render=createFunction(compiled.render,fnGenErrors);res.staticRenderFns=compiled.staticRenderFns.map(function(code){return createFunction(code,fnGenErrors);});// check function generation errors.
// this should only happen if there is a bug in the compiler itself.
// mostly for codegen development use
/* istanbul ignore if */if(process.env.NODE_ENV!=='production'){if((!compiled.errors||!compiled.errors.length)&&fnGenErrors.length){warn$$1("Failed to generate render function:\n\n"+fnGenErrors.map(function(ref){var err=ref.err;var code=ref.code;return err.toString()+" in\n\n"+code+"\n";}).join('\n'),vm);}}return cache[key]=res;};}/*  */function createCompilerCreator(baseCompile){return function createCompiler(baseOptions){function compile(template,options){var finalOptions=Object.create(baseOptions);var errors=[];var tips=[];finalOptions.warn=function(msg,tip){(tip?tips:errors).push(msg);};if(options){// merge custom modules
if(options.modules){finalOptions.modules=(baseOptions.modules||[]).concat(options.modules);}// merge custom directives
if(options.directives){finalOptions.directives=extend(Object.create(baseOptions.directives||null),options.directives);}// copy other options
for(var key in options){if(key!=='modules'&&key!=='directives'){finalOptions[key]=options[key];}}}var compiled=baseCompile(template,finalOptions);if(process.env.NODE_ENV!=='production'){errors.push.apply(errors,detectErrors(compiled.ast));}compiled.errors=errors;compiled.tips=tips;return compiled;}return{compile:compile,compileToFunctions:createCompileToFunctionFn(compile)};};}/*  */// `createCompilerCreator` allows creating compilers that use alternative
// parser/optimizer/codegen, e.g the SSR optimizing compiler.
// Here we just export a default compiler using the default parts.
var createCompiler=createCompilerCreator(function baseCompile(template,options){var ast=parse(template.trim(),options);if(options.optimize!==false){optimize(ast,options);}var code=generate(ast,options);return{ast:ast,render:code.render,staticRenderFns:code.staticRenderFns};});/*  */var ref$1=createCompiler(baseOptions);var compile=ref$1.compile;var compileToFunctions=ref$1.compileToFunctions;/*  */// check whether current browser encodes a char inside attribute values
var div;function getShouldDecode(href){div=div||document.createElement('div');div.innerHTML=href?"<a href=\"\n\"/>":"<div a=\"\n\"/>";return div.innerHTML.indexOf('&#10;')>0;}// #3663: IE encodes newlines inside attribute values while other browsers don't
var shouldDecodeNewlines=inBrowser?getShouldDecode(false):false;// #6828: chrome encodes content in a[href]
var shouldDecodeNewlinesForHref=inBrowser?getShouldDecode(true):false;/*  */var idToTemplate=cached(function(id){var el=query(id);return el&&el.innerHTML;});var mount=Vue.prototype.$mount;Vue.prototype.$mount=function(el,hydrating){el=el&&query(el);/* istanbul ignore if */if(el===document.body||el===document.documentElement){process.env.NODE_ENV!=='production'&&warn("Do not mount Vue to <html> or <body> - mount to normal elements instead.");return this;}var options=this.$options;// resolve template/el and convert to render function
if(!options.render){var template=options.template;if(template){if(typeof template==='string'){if(template.charAt(0)==='#'){template=idToTemplate(template);/* istanbul ignore if */if(process.env.NODE_ENV!=='production'&&!template){warn("Template element not found or is empty: "+options.template,this);}}}else if(template.nodeType){template=template.innerHTML;}else{if(process.env.NODE_ENV!=='production'){warn('invalid template option:'+template,this);}return this;}}else if(el){template=getOuterHTML(el);}if(template){/* istanbul ignore if */if(process.env.NODE_ENV!=='production'&&config.performance&&mark){mark('compile');}var ref=compileToFunctions(template,{shouldDecodeNewlines:shouldDecodeNewlines,shouldDecodeNewlinesForHref:shouldDecodeNewlinesForHref,delimiters:options.delimiters,comments:options.comments},this);var render=ref.render;var staticRenderFns=ref.staticRenderFns;options.render=render;options.staticRenderFns=staticRenderFns;/* istanbul ignore if */if(process.env.NODE_ENV!=='production'&&config.performance&&mark){mark('compile end');measure("vue "+this._name+" compile",'compile','compile end');}}}return mount.call(this,el,hydrating);};/**
 * Get outerHTML of elements, taking care
 * of SVG elements in IE as well.
 */function getOuterHTML(el){if(el.outerHTML){return el.outerHTML;}else{var container=document.createElement('div');container.appendChild(el.cloneNode(true));return container.innerHTML;}}Vue.compile=compileToFunctions;/* harmony default export */__webpack_exports__["a"]=Vue;/* WEBPACK VAR INJECTION */}).call(__webpack_exports__,__webpack_require__(15),__webpack_require__(13),__webpack_require__(157).setImmediate);/***/},/* 10 *//***/function(module,exports,__webpack_require__){"use strict";var helpers=__webpack_require__(1);function filterByPosition(array,position){return helpers.where(array,function(v){return v.position===position;});}function sortByWeight(array,reverse){array.forEach(function(v,i){v._tmpIndex_=i;return v;});array.sort(function(a,b){var v0=reverse?b:a;var v1=reverse?a:b;return v0.weight===v1.weight?v0._tmpIndex_-v1._tmpIndex_:v0.weight-v1.weight;});array.forEach(function(v){delete v._tmpIndex_;});}/**
 * @interface ILayoutItem
 * @prop {String} position - The position of the item in the chart layout. Possible values are
 * 'left', 'top', 'right', 'bottom', and 'chartArea'
 * @prop {Number} weight - The weight used to sort the item. Higher weights are further away from the chart area
 * @prop {Boolean} fullWidth - if true, and the item is horizontal, then push vertical boxes down
 * @prop {Function} isHorizontal - returns true if the layout item is horizontal (ie. top or bottom)
 * @prop {Function} update - Takes two parameters: width and height. Returns size of item
 * @prop {Function} getPadding -  Returns an object with padding on the edges
 * @prop {Number} width - Width of item. Must be valid after update()
 * @prop {Number} height - Height of item. Must be valid after update()
 * @prop {Number} left - Left edge of the item. Set by layout system and cannot be used in update
 * @prop {Number} top - Top edge of the item. Set by layout system and cannot be used in update
 * @prop {Number} right - Right edge of the item. Set by layout system and cannot be used in update
 * @prop {Number} bottom - Bottom edge of the item. Set by layout system and cannot be used in update
 */// The layout service is very self explanatory.  It's responsible for the layout within a chart.
// Scales, Legends and Plugins all rely on the layout service and can easily register to be placed anywhere they need
// It is this service's responsibility of carrying out that layout.
module.exports={defaults:{},/**
	 * Register a box to a chart.
	 * A box is simply a reference to an object that requires layout. eg. Scales, Legend, Title.
	 * @param {Chart} chart - the chart to use
	 * @param {ILayoutItem} item - the item to add to be layed out
	 */addBox:function addBox(chart,item){if(!chart.boxes){chart.boxes=[];}// initialize item with default values
item.fullWidth=item.fullWidth||false;item.position=item.position||'top';item.weight=item.weight||0;chart.boxes.push(item);},/**
	 * Remove a layoutItem from a chart
	 * @param {Chart} chart - the chart to remove the box from
	 * @param {Object} layoutItem - the item to remove from the layout
	 */removeBox:function removeBox(chart,layoutItem){var index=chart.boxes?chart.boxes.indexOf(layoutItem):-1;if(index!==-1){chart.boxes.splice(index,1);}},/**
	 * Sets (or updates) options on the given `item`.
	 * @param {Chart} chart - the chart in which the item lives (or will be added to)
	 * @param {Object} item - the item to configure with the given options
	 * @param {Object} options - the new item options.
	 */configure:function configure(chart,item,options){var props=['fullWidth','position','weight'];var ilen=props.length;var i=0;var prop;for(;i<ilen;++i){prop=props[i];if(options.hasOwnProperty(prop)){item[prop]=options[prop];}}},/**
	 * Fits boxes of the given chart into the given size by having each box measure itself
	 * then running a fitting algorithm
	 * @param {Chart} chart - the chart
	 * @param {Number} width - the width to fit into
	 * @param {Number} height - the height to fit into
	 */update:function update(chart,width,height){if(!chart){return;}var layoutOptions=chart.options.layout||{};var padding=helpers.options.toPadding(layoutOptions.padding);var leftPadding=padding.left;var rightPadding=padding.right;var topPadding=padding.top;var bottomPadding=padding.bottom;var leftBoxes=filterByPosition(chart.boxes,'left');var rightBoxes=filterByPosition(chart.boxes,'right');var topBoxes=filterByPosition(chart.boxes,'top');var bottomBoxes=filterByPosition(chart.boxes,'bottom');var chartAreaBoxes=filterByPosition(chart.boxes,'chartArea');// Sort boxes by weight. A higher weight is further away from the chart area
sortByWeight(leftBoxes,true);sortByWeight(rightBoxes,false);sortByWeight(topBoxes,true);sortByWeight(bottomBoxes,false);// Essentially we now have any number of boxes on each of the 4 sides.
// Our canvas looks like the following.
// The areas L1 and L2 are the left axes. R1 is the right axis, T1 is the top axis and
// B1 is the bottom axis
// There are also 4 quadrant-like locations (left to right instead of clockwise) reserved for chart overlays
// These locations are single-box locations only, when trying to register a chartArea location that is already taken,
// an error will be thrown.
//
// |----------------------------------------------------|
// |                  T1 (Full Width)                   |
// |----------------------------------------------------|
// |    |    |                 T2                  |    |
// |    |----|-------------------------------------|----|
// |    |    | C1 |                           | C2 |    |
// |    |    |----|                           |----|    |
// |    |    |                                     |    |
// | L1 | L2 |           ChartArea (C0)            | R1 |
// |    |    |                                     |    |
// |    |    |----|                           |----|    |
// |    |    | C3 |                           | C4 |    |
// |    |----|-------------------------------------|----|
// |    |    |                 B1                  |    |
// |----------------------------------------------------|
// |                  B2 (Full Width)                   |
// |----------------------------------------------------|
//
// What we do to find the best sizing, we do the following
// 1. Determine the minimum size of the chart area.
// 2. Split the remaining width equally between each vertical axis
// 3. Split the remaining height equally between each horizontal axis
// 4. Give each layout the maximum size it can be. The layout will return it's minimum size
// 5. Adjust the sizes of each axis based on it's minimum reported size.
// 6. Refit each axis
// 7. Position each axis in the final location
// 8. Tell the chart the final location of the chart area
// 9. Tell any axes that overlay the chart area the positions of the chart area
// Step 1
var chartWidth=width-leftPadding-rightPadding;var chartHeight=height-topPadding-bottomPadding;var chartAreaWidth=chartWidth/2;// min 50%
var chartAreaHeight=chartHeight/2;// min 50%
// Step 2
var verticalBoxWidth=(width-chartAreaWidth)/(leftBoxes.length+rightBoxes.length);// Step 3
var horizontalBoxHeight=(height-chartAreaHeight)/(topBoxes.length+bottomBoxes.length);// Step 4
var maxChartAreaWidth=chartWidth;var maxChartAreaHeight=chartHeight;var minBoxSizes=[];function getMinimumBoxSize(box){var minSize;var isHorizontal=box.isHorizontal();if(isHorizontal){minSize=box.update(box.fullWidth?chartWidth:maxChartAreaWidth,horizontalBoxHeight);maxChartAreaHeight-=minSize.height;}else{minSize=box.update(verticalBoxWidth,maxChartAreaHeight);maxChartAreaWidth-=minSize.width;}minBoxSizes.push({horizontal:isHorizontal,minSize:minSize,box:box});}helpers.each(leftBoxes.concat(rightBoxes,topBoxes,bottomBoxes),getMinimumBoxSize);// If a horizontal box has padding, we move the left boxes over to avoid ugly charts (see issue #2478)
var maxHorizontalLeftPadding=0;var maxHorizontalRightPadding=0;var maxVerticalTopPadding=0;var maxVerticalBottomPadding=0;helpers.each(topBoxes.concat(bottomBoxes),function(horizontalBox){if(horizontalBox.getPadding){var boxPadding=horizontalBox.getPadding();maxHorizontalLeftPadding=Math.max(maxHorizontalLeftPadding,boxPadding.left);maxHorizontalRightPadding=Math.max(maxHorizontalRightPadding,boxPadding.right);}});helpers.each(leftBoxes.concat(rightBoxes),function(verticalBox){if(verticalBox.getPadding){var boxPadding=verticalBox.getPadding();maxVerticalTopPadding=Math.max(maxVerticalTopPadding,boxPadding.top);maxVerticalBottomPadding=Math.max(maxVerticalBottomPadding,boxPadding.bottom);}});// At this point, maxChartAreaHeight and maxChartAreaWidth are the size the chart area could
// be if the axes are drawn at their minimum sizes.
// Steps 5 & 6
var totalLeftBoxesWidth=leftPadding;var totalRightBoxesWidth=rightPadding;var totalTopBoxesHeight=topPadding;var totalBottomBoxesHeight=bottomPadding;// Function to fit a box
function fitBox(box){var minBoxSize=helpers.findNextWhere(minBoxSizes,function(minBox){return minBox.box===box;});if(minBoxSize){if(box.isHorizontal()){var scaleMargin={left:Math.max(totalLeftBoxesWidth,maxHorizontalLeftPadding),right:Math.max(totalRightBoxesWidth,maxHorizontalRightPadding),top:0,bottom:0};// Don't use min size here because of label rotation. When the labels are rotated, their rotation highly depends
// on the margin. Sometimes they need to increase in size slightly
box.update(box.fullWidth?chartWidth:maxChartAreaWidth,chartHeight/2,scaleMargin);}else{box.update(minBoxSize.minSize.width,maxChartAreaHeight);}}}// Update, and calculate the left and right margins for the horizontal boxes
helpers.each(leftBoxes.concat(rightBoxes),fitBox);helpers.each(leftBoxes,function(box){totalLeftBoxesWidth+=box.width;});helpers.each(rightBoxes,function(box){totalRightBoxesWidth+=box.width;});// Set the Left and Right margins for the horizontal boxes
helpers.each(topBoxes.concat(bottomBoxes),fitBox);// Figure out how much margin is on the top and bottom of the vertical boxes
helpers.each(topBoxes,function(box){totalTopBoxesHeight+=box.height;});helpers.each(bottomBoxes,function(box){totalBottomBoxesHeight+=box.height;});function finalFitVerticalBox(box){var minBoxSize=helpers.findNextWhere(minBoxSizes,function(minSize){return minSize.box===box;});var scaleMargin={left:0,right:0,top:totalTopBoxesHeight,bottom:totalBottomBoxesHeight};if(minBoxSize){box.update(minBoxSize.minSize.width,maxChartAreaHeight,scaleMargin);}}// Let the left layout know the final margin
helpers.each(leftBoxes.concat(rightBoxes),finalFitVerticalBox);// Recalculate because the size of each layout might have changed slightly due to the margins (label rotation for instance)
totalLeftBoxesWidth=leftPadding;totalRightBoxesWidth=rightPadding;totalTopBoxesHeight=topPadding;totalBottomBoxesHeight=bottomPadding;helpers.each(leftBoxes,function(box){totalLeftBoxesWidth+=box.width;});helpers.each(rightBoxes,function(box){totalRightBoxesWidth+=box.width;});helpers.each(topBoxes,function(box){totalTopBoxesHeight+=box.height;});helpers.each(bottomBoxes,function(box){totalBottomBoxesHeight+=box.height;});// We may be adding some padding to account for rotated x axis labels
var leftPaddingAddition=Math.max(maxHorizontalLeftPadding-totalLeftBoxesWidth,0);totalLeftBoxesWidth+=leftPaddingAddition;totalRightBoxesWidth+=Math.max(maxHorizontalRightPadding-totalRightBoxesWidth,0);var topPaddingAddition=Math.max(maxVerticalTopPadding-totalTopBoxesHeight,0);totalTopBoxesHeight+=topPaddingAddition;totalBottomBoxesHeight+=Math.max(maxVerticalBottomPadding-totalBottomBoxesHeight,0);// Figure out if our chart area changed. This would occur if the dataset layout label rotation
// changed due to the application of the margins in step 6. Since we can only get bigger, this is safe to do
// without calling `fit` again
var newMaxChartAreaHeight=height-totalTopBoxesHeight-totalBottomBoxesHeight;var newMaxChartAreaWidth=width-totalLeftBoxesWidth-totalRightBoxesWidth;if(newMaxChartAreaWidth!==maxChartAreaWidth||newMaxChartAreaHeight!==maxChartAreaHeight){helpers.each(leftBoxes,function(box){box.height=newMaxChartAreaHeight;});helpers.each(rightBoxes,function(box){box.height=newMaxChartAreaHeight;});helpers.each(topBoxes,function(box){if(!box.fullWidth){box.width=newMaxChartAreaWidth;}});helpers.each(bottomBoxes,function(box){if(!box.fullWidth){box.width=newMaxChartAreaWidth;}});maxChartAreaHeight=newMaxChartAreaHeight;maxChartAreaWidth=newMaxChartAreaWidth;}// Step 7 - Position the boxes
var left=leftPadding+leftPaddingAddition;var top=topPadding+topPaddingAddition;function placeBox(box){if(box.isHorizontal()){box.left=box.fullWidth?leftPadding:totalLeftBoxesWidth;box.right=box.fullWidth?width-rightPadding:totalLeftBoxesWidth+maxChartAreaWidth;box.top=top;box.bottom=top+box.height;// Move to next point
top=box.bottom;}else{box.left=left;box.right=left+box.width;box.top=totalTopBoxesHeight;box.bottom=totalTopBoxesHeight+maxChartAreaHeight;// Move to next point
left=box.right;}}helpers.each(leftBoxes.concat(topBoxes),placeBox);// Account for chart width and height
left+=maxChartAreaWidth;top+=maxChartAreaHeight;helpers.each(rightBoxes,placeBox);helpers.each(bottomBoxes,placeBox);// Step 8
chart.chartArea={left:totalLeftBoxesWidth,top:totalTopBoxesHeight,right:totalLeftBoxesWidth+maxChartAreaWidth,bottom:totalTopBoxesHeight+maxChartAreaHeight};// Step 9
helpers.each(chartAreaBoxes,function(box){box.left=chart.chartArea.left;box.top=chart.chartArea.top;box.right=chart.chartArea.right;box.bottom=chart.chartArea.bottom;box.update(maxChartAreaWidth,maxChartAreaHeight);});}};/***/},/* 11 *//***/function(module,exports,__webpack_require__){"use strict";var defaults=__webpack_require__(2);var Element=__webpack_require__(3);var helpers=__webpack_require__(1);var Ticks=__webpack_require__(12);defaults._set('scale',{display:true,position:'left',offset:false,// grid line settings
gridLines:{display:true,color:'rgba(0, 0, 0, 0.1)',lineWidth:1,drawBorder:true,drawOnChartArea:true,drawTicks:true,tickMarkLength:10,zeroLineWidth:1,zeroLineColor:'rgba(0,0,0,0.25)',zeroLineBorderDash:[],zeroLineBorderDashOffset:0.0,offsetGridLines:false,borderDash:[],borderDashOffset:0.0},// scale label
scaleLabel:{// display property
display:false,// actual label
labelString:'',// line height
lineHeight:1.2,// top/bottom padding
padding:{top:4,bottom:4}},// label settings
ticks:{beginAtZero:false,minRotation:0,maxRotation:50,mirror:false,padding:0,reverse:false,display:true,autoSkip:true,autoSkipPadding:0,labelOffset:0,// We pass through arrays to be rendered as multiline labels, we convert Others to strings here.
callback:Ticks.formatters.values,minor:{},major:{}}});function labelsFromTicks(ticks){var labels=[];var i,ilen;for(i=0,ilen=ticks.length;i<ilen;++i){labels.push(ticks[i].label);}return labels;}function getLineValue(scale,index,offsetGridLines){var lineValue=scale.getPixelForTick(index);if(offsetGridLines){if(index===0){lineValue-=(scale.getPixelForTick(1)-lineValue)/2;}else{lineValue-=(lineValue-scale.getPixelForTick(index-1))/2;}}return lineValue;}function computeTextSize(context,tick,font){return helpers.isArray(tick)?helpers.longestText(context,font,tick):context.measureText(tick).width;}function parseFontOptions(options){var valueOrDefault=helpers.valueOrDefault;var globalDefaults=defaults.global;var size=valueOrDefault(options.fontSize,globalDefaults.defaultFontSize);var style=valueOrDefault(options.fontStyle,globalDefaults.defaultFontStyle);var family=valueOrDefault(options.fontFamily,globalDefaults.defaultFontFamily);return{size:size,style:style,family:family,font:helpers.fontString(size,style,family)};}function parseLineHeight(options){return helpers.options.toLineHeight(helpers.valueOrDefault(options.lineHeight,1.2),helpers.valueOrDefault(options.fontSize,defaults.global.defaultFontSize));}module.exports=Element.extend({/**
	 * Get the padding needed for the scale
	 * @method getPadding
	 * @private
	 * @returns {Padding} the necessary padding
	 */getPadding:function getPadding(){var me=this;return{left:me.paddingLeft||0,top:me.paddingTop||0,right:me.paddingRight||0,bottom:me.paddingBottom||0};},/**
	 * Returns the scale tick objects ({label, major})
	 * @since 2.7
	 */getTicks:function getTicks(){return this._ticks;},// These methods are ordered by lifecyle. Utilities then follow.
// Any function defined here is inherited by all scale types.
// Any function can be extended by the scale type
mergeTicksOptions:function mergeTicksOptions(){var ticks=this.options.ticks;if(ticks.minor===false){ticks.minor={display:false};}if(ticks.major===false){ticks.major={display:false};}for(var key in ticks){if(key!=='major'&&key!=='minor'){if(typeof ticks.minor[key]==='undefined'){ticks.minor[key]=ticks[key];}if(typeof ticks.major[key]==='undefined'){ticks.major[key]=ticks[key];}}}},beforeUpdate:function beforeUpdate(){helpers.callback(this.options.beforeUpdate,[this]);},update:function update(maxWidth,maxHeight,margins){var me=this;var i,ilen,labels,label,ticks,tick;// Update Lifecycle - Probably don't want to ever extend or overwrite this function ;)
me.beforeUpdate();// Absorb the master measurements
me.maxWidth=maxWidth;me.maxHeight=maxHeight;me.margins=helpers.extend({left:0,right:0,top:0,bottom:0},margins);me.longestTextCache=me.longestTextCache||{};// Dimensions
me.beforeSetDimensions();me.setDimensions();me.afterSetDimensions();// Data min/max
me.beforeDataLimits();me.determineDataLimits();me.afterDataLimits();// Ticks - `this.ticks` is now DEPRECATED!
// Internal ticks are now stored as objects in the PRIVATE `this._ticks` member
// and must not be accessed directly from outside this class. `this.ticks` being
// around for long time and not marked as private, we can't change its structure
// without unexpected breaking changes. If you need to access the scale ticks,
// use scale.getTicks() instead.
me.beforeBuildTicks();// New implementations should return an array of objects but for BACKWARD COMPAT,
// we still support no return (`this.ticks` internally set by calling this method).
ticks=me.buildTicks()||[];me.afterBuildTicks();me.beforeTickToLabelConversion();// New implementations should return the formatted tick labels but for BACKWARD
// COMPAT, we still support no return (`this.ticks` internally changed by calling
// this method and supposed to contain only string values).
labels=me.convertTicksToLabels(ticks)||me.ticks;me.afterTickToLabelConversion();me.ticks=labels;// BACKWARD COMPATIBILITY
// IMPORTANT: from this point, we consider that `this.ticks` will NEVER change!
// BACKWARD COMPAT: synchronize `_ticks` with labels (so potentially `this.ticks`)
for(i=0,ilen=labels.length;i<ilen;++i){label=labels[i];tick=ticks[i];if(!tick){ticks.push(tick={label:label,major:false});}else{tick.label=label;}}me._ticks=ticks;// Tick Rotation
me.beforeCalculateTickRotation();me.calculateTickRotation();me.afterCalculateTickRotation();// Fit
me.beforeFit();me.fit();me.afterFit();//
me.afterUpdate();return me.minSize;},afterUpdate:function afterUpdate(){helpers.callback(this.options.afterUpdate,[this]);},//
beforeSetDimensions:function beforeSetDimensions(){helpers.callback(this.options.beforeSetDimensions,[this]);},setDimensions:function setDimensions(){var me=this;// Set the unconstrained dimension before label rotation
if(me.isHorizontal()){// Reset position before calculating rotation
me.width=me.maxWidth;me.left=0;me.right=me.width;}else{me.height=me.maxHeight;// Reset position before calculating rotation
me.top=0;me.bottom=me.height;}// Reset padding
me.paddingLeft=0;me.paddingTop=0;me.paddingRight=0;me.paddingBottom=0;},afterSetDimensions:function afterSetDimensions(){helpers.callback(this.options.afterSetDimensions,[this]);},// Data limits
beforeDataLimits:function beforeDataLimits(){helpers.callback(this.options.beforeDataLimits,[this]);},determineDataLimits:helpers.noop,afterDataLimits:function afterDataLimits(){helpers.callback(this.options.afterDataLimits,[this]);},//
beforeBuildTicks:function beforeBuildTicks(){helpers.callback(this.options.beforeBuildTicks,[this]);},buildTicks:helpers.noop,afterBuildTicks:function afterBuildTicks(){helpers.callback(this.options.afterBuildTicks,[this]);},beforeTickToLabelConversion:function beforeTickToLabelConversion(){helpers.callback(this.options.beforeTickToLabelConversion,[this]);},convertTicksToLabels:function convertTicksToLabels(){var me=this;// Convert ticks to strings
var tickOpts=me.options.ticks;me.ticks=me.ticks.map(tickOpts.userCallback||tickOpts.callback,this);},afterTickToLabelConversion:function afterTickToLabelConversion(){helpers.callback(this.options.afterTickToLabelConversion,[this]);},//
beforeCalculateTickRotation:function beforeCalculateTickRotation(){helpers.callback(this.options.beforeCalculateTickRotation,[this]);},calculateTickRotation:function calculateTickRotation(){var me=this;var context=me.ctx;var tickOpts=me.options.ticks;var labels=labelsFromTicks(me._ticks);// Get the width of each grid by calculating the difference
// between x offsets between 0 and 1.
var tickFont=parseFontOptions(tickOpts);context.font=tickFont.font;var labelRotation=tickOpts.minRotation||0;if(labels.length&&me.options.display&&me.isHorizontal()){var originalLabelWidth=helpers.longestText(context,tickFont.font,labels,me.longestTextCache);var labelWidth=originalLabelWidth;var cosRotation,sinRotation;// Allow 3 pixels x2 padding either side for label readability
var tickWidth=me.getPixelForTick(1)-me.getPixelForTick(0)-6;// Max label rotation can be set or default to 90 - also act as a loop counter
while(labelWidth>tickWidth&&labelRotation<tickOpts.maxRotation){var angleRadians=helpers.toRadians(labelRotation);cosRotation=Math.cos(angleRadians);sinRotation=Math.sin(angleRadians);if(sinRotation*originalLabelWidth>me.maxHeight){// go back one step
labelRotation--;break;}labelRotation++;labelWidth=cosRotation*originalLabelWidth;}}me.labelRotation=labelRotation;},afterCalculateTickRotation:function afterCalculateTickRotation(){helpers.callback(this.options.afterCalculateTickRotation,[this]);},//
beforeFit:function beforeFit(){helpers.callback(this.options.beforeFit,[this]);},fit:function fit(){var me=this;// Reset
var minSize=me.minSize={width:0,height:0};var labels=labelsFromTicks(me._ticks);var opts=me.options;var tickOpts=opts.ticks;var scaleLabelOpts=opts.scaleLabel;var gridLineOpts=opts.gridLines;var display=opts.display;var isHorizontal=me.isHorizontal();var tickFont=parseFontOptions(tickOpts);var tickMarkLength=opts.gridLines.tickMarkLength;// Width
if(isHorizontal){// subtract the margins to line up with the chartArea if we are a full width scale
minSize.width=me.isFullWidth()?me.maxWidth-me.margins.left-me.margins.right:me.maxWidth;}else{minSize.width=display&&gridLineOpts.drawTicks?tickMarkLength:0;}// height
if(isHorizontal){minSize.height=display&&gridLineOpts.drawTicks?tickMarkLength:0;}else{minSize.height=me.maxHeight;// fill all the height
}// Are we showing a title for the scale?
if(scaleLabelOpts.display&&display){var scaleLabelLineHeight=parseLineHeight(scaleLabelOpts);var scaleLabelPadding=helpers.options.toPadding(scaleLabelOpts.padding);var deltaHeight=scaleLabelLineHeight+scaleLabelPadding.height;if(isHorizontal){minSize.height+=deltaHeight;}else{minSize.width+=deltaHeight;}}// Don't bother fitting the ticks if we are not showing them
if(tickOpts.display&&display){var largestTextWidth=helpers.longestText(me.ctx,tickFont.font,labels,me.longestTextCache);var tallestLabelHeightInLines=helpers.numberOfLabelLines(labels);var lineSpace=tickFont.size*0.5;var tickPadding=me.options.ticks.padding;if(isHorizontal){// A horizontal axis is more constrained by the height.
me.longestLabelWidth=largestTextWidth;var angleRadians=helpers.toRadians(me.labelRotation);var cosRotation=Math.cos(angleRadians);var sinRotation=Math.sin(angleRadians);// TODO - improve this calculation
var labelHeight=sinRotation*largestTextWidth+tickFont.size*tallestLabelHeightInLines+lineSpace*(tallestLabelHeightInLines-1)+lineSpace;// padding
minSize.height=Math.min(me.maxHeight,minSize.height+labelHeight+tickPadding);me.ctx.font=tickFont.font;var firstLabelWidth=computeTextSize(me.ctx,labels[0],tickFont.font);var lastLabelWidth=computeTextSize(me.ctx,labels[labels.length-1],tickFont.font);// Ensure that our ticks are always inside the canvas. When rotated, ticks are right aligned
// which means that the right padding is dominated by the font height
if(me.labelRotation!==0){me.paddingLeft=opts.position==='bottom'?cosRotation*firstLabelWidth+3:cosRotation*lineSpace+3;// add 3 px to move away from canvas edges
me.paddingRight=opts.position==='bottom'?cosRotation*lineSpace+3:cosRotation*lastLabelWidth+3;}else{me.paddingLeft=firstLabelWidth/2+3;// add 3 px to move away from canvas edges
me.paddingRight=lastLabelWidth/2+3;}}else{// A vertical axis is more constrained by the width. Labels are the
// dominant factor here, so get that length first and account for padding
if(tickOpts.mirror){largestTextWidth=0;}else{// use lineSpace for consistency with horizontal axis
// tickPadding is not implemented for horizontal
largestTextWidth+=tickPadding+lineSpace;}minSize.width=Math.min(me.maxWidth,minSize.width+largestTextWidth);me.paddingTop=tickFont.size/2;me.paddingBottom=tickFont.size/2;}}me.handleMargins();me.width=minSize.width;me.height=minSize.height;},/**
	 * Handle margins and padding interactions
	 * @private
	 */handleMargins:function handleMargins(){var me=this;if(me.margins){me.paddingLeft=Math.max(me.paddingLeft-me.margins.left,0);me.paddingTop=Math.max(me.paddingTop-me.margins.top,0);me.paddingRight=Math.max(me.paddingRight-me.margins.right,0);me.paddingBottom=Math.max(me.paddingBottom-me.margins.bottom,0);}},afterFit:function afterFit(){helpers.callback(this.options.afterFit,[this]);},// Shared Methods
isHorizontal:function isHorizontal(){return this.options.position==='top'||this.options.position==='bottom';},isFullWidth:function isFullWidth(){return this.options.fullWidth;},// Get the correct value. NaN bad inputs, If the value type is object get the x or y based on whether we are horizontal or not
getRightValue:function getRightValue(rawValue){// Null and undefined values first
if(helpers.isNullOrUndef(rawValue)){return NaN;}// isNaN(object) returns true, so make sure NaN is checking for a number; Discard Infinite values
if(typeof rawValue==='number'&&!isFinite(rawValue)){return NaN;}// If it is in fact an object, dive in one more level
if(rawValue){if(this.isHorizontal()){if(rawValue.x!==undefined){return this.getRightValue(rawValue.x);}}else if(rawValue.y!==undefined){return this.getRightValue(rawValue.y);}}// Value is good, return it
return rawValue;},/**
	 * Used to get the value to display in the tooltip for the data at the given index
	 * @param index
	 * @param datasetIndex
	 */getLabelForIndex:helpers.noop,/**
	 * Returns the location of the given data point. Value can either be an index or a numerical value
	 * The coordinate (0, 0) is at the upper-left corner of the canvas
	 * @param value
	 * @param index
	 * @param datasetIndex
	 */getPixelForValue:helpers.noop,/**
	 * Used to get the data value from a given pixel. This is the inverse of getPixelForValue
	 * The coordinate (0, 0) is at the upper-left corner of the canvas
	 * @param pixel
	 */getValueForPixel:helpers.noop,/**
	 * Returns the location of the tick at the given index
	 * The coordinate (0, 0) is at the upper-left corner of the canvas
	 */getPixelForTick:function getPixelForTick(index){var me=this;var offset=me.options.offset;if(me.isHorizontal()){var innerWidth=me.width-(me.paddingLeft+me.paddingRight);var tickWidth=innerWidth/Math.max(me._ticks.length-(offset?0:1),1);var pixel=tickWidth*index+me.paddingLeft;if(offset){pixel+=tickWidth/2;}var finalVal=me.left+Math.round(pixel);finalVal+=me.isFullWidth()?me.margins.left:0;return finalVal;}var innerHeight=me.height-(me.paddingTop+me.paddingBottom);return me.top+index*(innerHeight/(me._ticks.length-1));},/**
	 * Utility for getting the pixel location of a percentage of scale
	 * The coordinate (0, 0) is at the upper-left corner of the canvas
	 */getPixelForDecimal:function getPixelForDecimal(decimal){var me=this;if(me.isHorizontal()){var innerWidth=me.width-(me.paddingLeft+me.paddingRight);var valueOffset=innerWidth*decimal+me.paddingLeft;var finalVal=me.left+Math.round(valueOffset);finalVal+=me.isFullWidth()?me.margins.left:0;return finalVal;}return me.top+decimal*me.height;},/**
	 * Returns the pixel for the minimum chart value
	 * The coordinate (0, 0) is at the upper-left corner of the canvas
	 */getBasePixel:function getBasePixel(){return this.getPixelForValue(this.getBaseValue());},getBaseValue:function getBaseValue(){var me=this;var min=me.min;var max=me.max;return me.beginAtZero?0:min<0&&max<0?max:min>0&&max>0?min:0;},/**
	 * Returns a subset of ticks to be plotted to avoid overlapping labels.
	 * @private
	 */_autoSkip:function _autoSkip(ticks){var skipRatio;var me=this;var isHorizontal=me.isHorizontal();var optionTicks=me.options.ticks.minor;var tickCount=ticks.length;var labelRotationRadians=helpers.toRadians(me.labelRotation);var cosRotation=Math.cos(labelRotationRadians);var longestRotatedLabel=me.longestLabelWidth*cosRotation;var result=[];var i,tick,shouldSkip;// figure out the maximum number of gridlines to show
var maxTicks;if(optionTicks.maxTicksLimit){maxTicks=optionTicks.maxTicksLimit;}if(isHorizontal){skipRatio=false;if((longestRotatedLabel+optionTicks.autoSkipPadding)*tickCount>me.width-(me.paddingLeft+me.paddingRight)){skipRatio=1+Math.floor((longestRotatedLabel+optionTicks.autoSkipPadding)*tickCount/(me.width-(me.paddingLeft+me.paddingRight)));}// if they defined a max number of optionTicks,
// increase skipRatio until that number is met
if(maxTicks&&tickCount>maxTicks){skipRatio=Math.max(skipRatio,Math.floor(tickCount/maxTicks));}}for(i=0;i<tickCount;i++){tick=ticks[i];// Since we always show the last tick,we need may need to hide the last shown one before
shouldSkip=skipRatio>1&&i%skipRatio>0||i%skipRatio===0&&i+skipRatio>=tickCount;if(shouldSkip&&i!==tickCount-1){// leave tick in place but make sure it's not displayed (#4635)
delete tick.label;}result.push(tick);}return result;},// Actually draw the scale on the canvas
// @param {rectangle} chartArea : the area of the chart to draw full grid lines on
draw:function draw(chartArea){var me=this;var options=me.options;if(!options.display){return;}var context=me.ctx;var globalDefaults=defaults.global;var optionTicks=options.ticks.minor;var optionMajorTicks=options.ticks.major||optionTicks;var gridLines=options.gridLines;var scaleLabel=options.scaleLabel;var isRotated=me.labelRotation!==0;var isHorizontal=me.isHorizontal();var ticks=optionTicks.autoSkip?me._autoSkip(me.getTicks()):me.getTicks();var tickFontColor=helpers.valueOrDefault(optionTicks.fontColor,globalDefaults.defaultFontColor);var tickFont=parseFontOptions(optionTicks);var majorTickFontColor=helpers.valueOrDefault(optionMajorTicks.fontColor,globalDefaults.defaultFontColor);var majorTickFont=parseFontOptions(optionMajorTicks);var tl=gridLines.drawTicks?gridLines.tickMarkLength:0;var scaleLabelFontColor=helpers.valueOrDefault(scaleLabel.fontColor,globalDefaults.defaultFontColor);var scaleLabelFont=parseFontOptions(scaleLabel);var scaleLabelPadding=helpers.options.toPadding(scaleLabel.padding);var labelRotationRadians=helpers.toRadians(me.labelRotation);var itemsToDraw=[];var axisWidth=me.options.gridLines.lineWidth;var xTickStart=options.position==='right'?me.left:me.right-axisWidth-tl;var xTickEnd=options.position==='right'?me.left+tl:me.right;var yTickStart=options.position==='bottom'?me.top+axisWidth:me.bottom-tl-axisWidth;var yTickEnd=options.position==='bottom'?me.top+axisWidth+tl:me.bottom+axisWidth;helpers.each(ticks,function(tick,index){// autoskipper skipped this tick (#4635)
if(helpers.isNullOrUndef(tick.label)){return;}var label=tick.label;var lineWidth,lineColor,borderDash,borderDashOffset;if(index===me.zeroLineIndex&&options.offset===gridLines.offsetGridLines){// Draw the first index specially
lineWidth=gridLines.zeroLineWidth;lineColor=gridLines.zeroLineColor;borderDash=gridLines.zeroLineBorderDash;borderDashOffset=gridLines.zeroLineBorderDashOffset;}else{lineWidth=helpers.valueAtIndexOrDefault(gridLines.lineWidth,index);lineColor=helpers.valueAtIndexOrDefault(gridLines.color,index);borderDash=helpers.valueOrDefault(gridLines.borderDash,globalDefaults.borderDash);borderDashOffset=helpers.valueOrDefault(gridLines.borderDashOffset,globalDefaults.borderDashOffset);}// Common properties
var tx1,ty1,tx2,ty2,x1,y1,x2,y2,labelX,labelY;var textAlign='middle';var textBaseline='middle';var tickPadding=optionTicks.padding;if(isHorizontal){var labelYOffset=tl+tickPadding;if(options.position==='bottom'){// bottom
textBaseline=!isRotated?'top':'middle';textAlign=!isRotated?'center':'right';labelY=me.top+labelYOffset;}else{// top
textBaseline=!isRotated?'bottom':'middle';textAlign=!isRotated?'center':'left';labelY=me.bottom-labelYOffset;}var xLineValue=getLineValue(me,index,gridLines.offsetGridLines&&ticks.length>1);if(xLineValue<me.left){lineColor='rgba(0,0,0,0)';}xLineValue+=helpers.aliasPixel(lineWidth);labelX=me.getPixelForTick(index)+optionTicks.labelOffset;// x values for optionTicks (need to consider offsetLabel option)
tx1=tx2=x1=x2=xLineValue;ty1=yTickStart;ty2=yTickEnd;y1=chartArea.top;y2=chartArea.bottom+axisWidth;}else{var isLeft=options.position==='left';var labelXOffset;if(optionTicks.mirror){textAlign=isLeft?'left':'right';labelXOffset=tickPadding;}else{textAlign=isLeft?'right':'left';labelXOffset=tl+tickPadding;}labelX=isLeft?me.right-labelXOffset:me.left+labelXOffset;var yLineValue=getLineValue(me,index,gridLines.offsetGridLines&&ticks.length>1);if(yLineValue<me.top){lineColor='rgba(0,0,0,0)';}yLineValue+=helpers.aliasPixel(lineWidth);labelY=me.getPixelForTick(index)+optionTicks.labelOffset;tx1=xTickStart;tx2=xTickEnd;x1=chartArea.left;x2=chartArea.right+axisWidth;ty1=ty2=y1=y2=yLineValue;}itemsToDraw.push({tx1:tx1,ty1:ty1,tx2:tx2,ty2:ty2,x1:x1,y1:y1,x2:x2,y2:y2,labelX:labelX,labelY:labelY,glWidth:lineWidth,glColor:lineColor,glBorderDash:borderDash,glBorderDashOffset:borderDashOffset,rotation:-1*labelRotationRadians,label:label,major:tick.major,textBaseline:textBaseline,textAlign:textAlign});});// Draw all of the tick labels, tick marks, and grid lines at the correct places
helpers.each(itemsToDraw,function(itemToDraw){if(gridLines.display){context.save();context.lineWidth=itemToDraw.glWidth;context.strokeStyle=itemToDraw.glColor;if(context.setLineDash){context.setLineDash(itemToDraw.glBorderDash);context.lineDashOffset=itemToDraw.glBorderDashOffset;}context.beginPath();if(gridLines.drawTicks){context.moveTo(itemToDraw.tx1,itemToDraw.ty1);context.lineTo(itemToDraw.tx2,itemToDraw.ty2);}if(gridLines.drawOnChartArea){context.moveTo(itemToDraw.x1,itemToDraw.y1);context.lineTo(itemToDraw.x2,itemToDraw.y2);}context.stroke();context.restore();}if(optionTicks.display){// Make sure we draw text in the correct color and font
context.save();context.translate(itemToDraw.labelX,itemToDraw.labelY);context.rotate(itemToDraw.rotation);context.font=itemToDraw.major?majorTickFont.font:tickFont.font;context.fillStyle=itemToDraw.major?majorTickFontColor:tickFontColor;context.textBaseline=itemToDraw.textBaseline;context.textAlign=itemToDraw.textAlign;var label=itemToDraw.label;if(helpers.isArray(label)){var lineCount=label.length;var lineHeight=tickFont.size*1.5;var y=me.isHorizontal()?0:-lineHeight*(lineCount-1)/2;for(var i=0;i<lineCount;++i){// We just make sure the multiline element is a string here..
context.fillText(''+label[i],0,y);// apply same lineSpacing as calculated @ L#320
y+=lineHeight;}}else{context.fillText(label,0,0);}context.restore();}});if(scaleLabel.display){// Draw the scale label
var scaleLabelX;var scaleLabelY;var rotation=0;var halfLineHeight=parseLineHeight(scaleLabel)/2;if(isHorizontal){scaleLabelX=me.left+(me.right-me.left)/2;// midpoint of the width
scaleLabelY=options.position==='bottom'?me.bottom-halfLineHeight-scaleLabelPadding.bottom:me.top+halfLineHeight+scaleLabelPadding.top;}else{var isLeft=options.position==='left';scaleLabelX=isLeft?me.left+halfLineHeight+scaleLabelPadding.top:me.right-halfLineHeight-scaleLabelPadding.top;scaleLabelY=me.top+(me.bottom-me.top)/2;rotation=isLeft?-0.5*Math.PI:0.5*Math.PI;}context.save();context.translate(scaleLabelX,scaleLabelY);context.rotate(rotation);context.textAlign='center';context.textBaseline='middle';context.fillStyle=scaleLabelFontColor;// render in correct colour
context.font=scaleLabelFont.font;context.fillText(scaleLabel.labelString,0,0);context.restore();}if(gridLines.drawBorder){// Draw the line at the edge of the axis
context.lineWidth=helpers.valueAtIndexOrDefault(gridLines.lineWidth,0);context.strokeStyle=helpers.valueAtIndexOrDefault(gridLines.color,0);var x1=me.left;var x2=me.right+axisWidth;var y1=me.top;var y2=me.bottom+axisWidth;var aliasPixel=helpers.aliasPixel(context.lineWidth);if(isHorizontal){y1=y2=options.position==='top'?me.bottom:me.top;y1+=aliasPixel;y2+=aliasPixel;}else{x1=x2=options.position==='left'?me.right:me.left;x1+=aliasPixel;x2+=aliasPixel;}context.beginPath();context.moveTo(x1,y1);context.lineTo(x2,y2);context.stroke();}}});/***/},/* 12 *//***/function(module,exports,__webpack_require__){"use strict";var helpers=__webpack_require__(1);/**
 * Namespace to hold static tick generation functions
 * @namespace Chart.Ticks
 */module.exports={/**
	 * Namespace to hold formatters for different types of ticks
	 * @namespace Chart.Ticks.formatters
	 */formatters:{/**
		 * Formatter for value labels
		 * @method Chart.Ticks.formatters.values
		 * @param value the value to display
		 * @return {String|Array} the label to display
		 */values:function values(value){return helpers.isArray(value)?value:''+value;},/**
		 * Formatter for linear numeric ticks
		 * @method Chart.Ticks.formatters.linear
		 * @param tickValue {Number} the value to be formatted
		 * @param index {Number} the position of the tickValue parameter in the ticks array
		 * @param ticks {Array<Number>} the list of ticks being converted
		 * @return {String} string representation of the tickValue parameter
		 */linear:function linear(tickValue,index,ticks){// If we have lots of ticks, don't use the ones
var delta=ticks.length>3?ticks[2]-ticks[1]:ticks[1]-ticks[0];// If we have a number like 2.5 as the delta, figure out how many decimal places we need
if(Math.abs(delta)>1){if(tickValue!==Math.floor(tickValue)){// not an integer
delta=tickValue-Math.floor(tickValue);}}var logDelta=helpers.log10(Math.abs(delta));var tickString='';if(tickValue!==0){var maxTick=Math.max(Math.abs(ticks[0]),Math.abs(ticks[ticks.length-1]));if(maxTick<1e-4){// all ticks are small numbers; use scientific notation
var logTick=helpers.log10(Math.abs(tickValue));tickString=tickValue.toExponential(Math.floor(logTick)-Math.floor(logDelta));}else{var numDecimal=-1*Math.floor(logDelta);numDecimal=Math.max(Math.min(numDecimal,20),0);// toFixed has a max of 20 decimal places
tickString=tickValue.toFixed(numDecimal);}}else{tickString='0';// never show decimal places for 0
}return tickString;},logarithmic:function logarithmic(tickValue,index,ticks){var remain=tickValue/Math.pow(10,Math.floor(helpers.log10(tickValue)));if(tickValue===0){return'0';}else if(remain===1||remain===2||remain===5||index===0||index===ticks.length-1){return tickValue.toExponential();}return'';}}};/***/},/* 13 *//***/function(module,exports){var g;// This works in non-strict mode
g=function(){return this;}();try{// This works if eval is allowed (see CSP)
g=g||Function("return this")()||(1,eval)("this");}catch(e){// This works if the window reference is available
if((typeof window==='undefined'?'undefined':_typeof2(window))==="object")g=window;}// g can still be undefined, but nothing to do about it...
// We return undefined, instead of nothing here, so it's
// easier to handle this case. if(!global) { ...}
module.exports=g;/***/},/* 14 *//***/function(module,exports,__webpack_require__){"use strict";/**
 * @namespace Chart.helpers
 */var helpers={/**
	 * An empty function that can be used, for example, for optional callback.
	 */noop:function noop(){},/**
	 * Returns a unique id, sequentially generated from a global variable.
	 * @returns {Number}
	 * @function
	 */uid:function(){var id=0;return function(){return id++;};}(),/**
	 * Returns true if `value` is neither null nor undefined, else returns false.
	 * @param {*} value - The value to test.
	 * @returns {Boolean}
	 * @since 2.7.0
	 */isNullOrUndef:function isNullOrUndef(value){return value===null||typeof value==='undefined';},/**
	 * Returns true if `value` is an array, else returns false.
	 * @param {*} value - The value to test.
	 * @returns {Boolean}
	 * @function
	 */isArray:Array.isArray?Array.isArray:function(value){return Object.prototype.toString.call(value)==='[object Array]';},/**
	 * Returns true if `value` is an object (excluding null), else returns false.
	 * @param {*} value - The value to test.
	 * @returns {Boolean}
	 * @since 2.7.0
	 */isObject:function isObject(value){return value!==null&&Object.prototype.toString.call(value)==='[object Object]';},/**
	 * Returns `value` if defined, else returns `defaultValue`.
	 * @param {*} value - The value to return if defined.
	 * @param {*} defaultValue - The value to return if `value` is undefined.
	 * @returns {*}
	 */valueOrDefault:function valueOrDefault(value,defaultValue){return typeof value==='undefined'?defaultValue:value;},/**
	 * Returns value at the given `index` in array if defined, else returns `defaultValue`.
	 * @param {Array} value - The array to lookup for value at `index`.
	 * @param {Number} index - The index in `value` to lookup for value.
	 * @param {*} defaultValue - The value to return if `value[index]` is undefined.
	 * @returns {*}
	 */valueAtIndexOrDefault:function valueAtIndexOrDefault(value,index,defaultValue){return helpers.valueOrDefault(helpers.isArray(value)?value[index]:value,defaultValue);},/**
	 * Calls `fn` with the given `args` in the scope defined by `thisArg` and returns the
	 * value returned by `fn`. If `fn` is not a function, this method returns undefined.
	 * @param {Function} fn - The function to call.
	 * @param {Array|undefined|null} args - The arguments with which `fn` should be called.
	 * @param {Object} [thisArg] - The value of `this` provided for the call to `fn`.
	 * @returns {*}
	 */callback:function callback(fn,args,thisArg){if(fn&&typeof fn.call==='function'){return fn.apply(thisArg,args);}},/**
	 * Note(SB) for performance sake, this method should only be used when loopable type
	 * is unknown or in none intensive code (not called often and small loopable). Else
	 * it's preferable to use a regular for() loop and save extra function calls.
	 * @param {Object|Array} loopable - The object or array to be iterated.
	 * @param {Function} fn - The function to call for each item.
	 * @param {Object} [thisArg] - The value of `this` provided for the call to `fn`.
	 * @param {Boolean} [reverse] - If true, iterates backward on the loopable.
	 */each:function each(loopable,fn,thisArg,reverse){var i,len,keys;if(helpers.isArray(loopable)){len=loopable.length;if(reverse){for(i=len-1;i>=0;i--){fn.call(thisArg,loopable[i],i);}}else{for(i=0;i<len;i++){fn.call(thisArg,loopable[i],i);}}}else if(helpers.isObject(loopable)){keys=Object.keys(loopable);len=keys.length;for(i=0;i<len;i++){fn.call(thisArg,loopable[keys[i]],keys[i]);}}},/**
	 * Returns true if the `a0` and `a1` arrays have the same content, else returns false.
	 * @see http://stackoverflow.com/a/14853974
	 * @param {Array} a0 - The array to compare
	 * @param {Array} a1 - The array to compare
	 * @returns {Boolean}
	 */arrayEquals:function arrayEquals(a0,a1){var i,ilen,v0,v1;if(!a0||!a1||a0.length!==a1.length){return false;}for(i=0,ilen=a0.length;i<ilen;++i){v0=a0[i];v1=a1[i];if(v0 instanceof Array&&v1 instanceof Array){if(!helpers.arrayEquals(v0,v1)){return false;}}else if(v0!==v1){// NOTE: two different object instances will never be equal: {x:20} != {x:20}
return false;}}return true;},/**
	 * Returns a deep copy of `source` without keeping references on objects and arrays.
	 * @param {*} source - The value to clone.
	 * @returns {*}
	 */clone:function clone(source){if(helpers.isArray(source)){return source.map(helpers.clone);}if(helpers.isObject(source)){var target={};var keys=Object.keys(source);var klen=keys.length;var k=0;for(;k<klen;++k){target[keys[k]]=helpers.clone(source[keys[k]]);}return target;}return source;},/**
	 * The default merger when Chart.helpers.merge is called without merger option.
	 * Note(SB): this method is also used by configMerge and scaleMerge as fallback.
	 * @private
	 */_merger:function _merger(key,target,source,options){var tval=target[key];var sval=source[key];if(helpers.isObject(tval)&&helpers.isObject(sval)){helpers.merge(tval,sval,options);}else{target[key]=helpers.clone(sval);}},/**
	 * Merges source[key] in target[key] only if target[key] is undefined.
	 * @private
	 */_mergerIf:function _mergerIf(key,target,source){var tval=target[key];var sval=source[key];if(helpers.isObject(tval)&&helpers.isObject(sval)){helpers.mergeIf(tval,sval);}else if(!target.hasOwnProperty(key)){target[key]=helpers.clone(sval);}},/**
	 * Recursively deep copies `source` properties into `target` with the given `options`.
	 * IMPORTANT: `target` is not cloned and will be updated with `source` properties.
	 * @param {Object} target - The target object in which all sources are merged into.
	 * @param {Object|Array(Object)} source - Object(s) to merge into `target`.
	 * @param {Object} [options] - Merging options:
	 * @param {Function} [options.merger] - The merge method (key, target, source, options)
	 * @returns {Object} The `target` object.
	 */merge:function merge(target,source,options){var sources=helpers.isArray(source)?source:[source];var ilen=sources.length;var merge,i,keys,klen,k;if(!helpers.isObject(target)){return target;}options=options||{};merge=options.merger||helpers._merger;for(i=0;i<ilen;++i){source=sources[i];if(!helpers.isObject(source)){continue;}keys=Object.keys(source);for(k=0,klen=keys.length;k<klen;++k){merge(keys[k],target,source,options);}}return target;},/**
	 * Recursively deep copies `source` properties into `target` *only* if not defined in target.
	 * IMPORTANT: `target` is not cloned and will be updated with `source` properties.
	 * @param {Object} target - The target object in which all sources are merged into.
	 * @param {Object|Array(Object)} source - Object(s) to merge into `target`.
	 * @returns {Object} The `target` object.
	 */mergeIf:function mergeIf(target,source){return helpers.merge(target,source,{merger:helpers._mergerIf});},/**
	 * Applies the contents of two or more objects together into the first object.
	 * @param {Object} target - The target object in which all objects are merged into.
	 * @param {Object} arg1 - Object containing additional properties to merge in target.
	 * @param {Object} argN - Additional objects containing properties to merge in target.
	 * @returns {Object} The `target` object.
	 */extend:function extend(target){var setFn=function setFn(value,key){target[key]=value;};for(var i=1,ilen=arguments.length;i<ilen;++i){helpers.each(arguments[i],setFn);}return target;},/**
	 * Basic javascript inheritance based on the model created in Backbone.js
	 */inherits:function inherits(extensions){var me=this;var ChartElement=extensions&&extensions.hasOwnProperty('constructor')?extensions.constructor:function(){return me.apply(this,arguments);};var Surrogate=function Surrogate(){this.constructor=ChartElement;};Surrogate.prototype=me.prototype;ChartElement.prototype=new Surrogate();ChartElement.extend=helpers.inherits;if(extensions){helpers.extend(ChartElement.prototype,extensions);}ChartElement.__super__=me.prototype;return ChartElement;}};module.exports=helpers;// DEPRECATIONS
/**
 * Provided for backward compatibility, use Chart.helpers.callback instead.
 * @function Chart.helpers.callCallback
 * @deprecated since version 2.6.0
 * @todo remove at version 3
 * @private
 */helpers.callCallback=helpers.callback;/**
 * Provided for backward compatibility, use Array.prototype.indexOf instead.
 * Array.prototype.indexOf compatibility: Chrome, Opera, Safari, FF1.5+, IE9+
 * @function Chart.helpers.indexOf
 * @deprecated since version 2.7.0
 * @todo remove at version 3
 * @private
 */helpers.indexOf=function(array,item,fromIndex){return Array.prototype.indexOf.call(array,item,fromIndex);};/**
 * Provided for backward compatibility, use Chart.helpers.valueOrDefault instead.
 * @function Chart.helpers.getValueOrDefault
 * @deprecated since version 2.7.0
 * @todo remove at version 3
 * @private
 */helpers.getValueOrDefault=helpers.valueOrDefault;/**
 * Provided for backward compatibility, use Chart.helpers.valueAtIndexOrDefault instead.
 * @function Chart.helpers.getValueAtIndexOrDefault
 * @deprecated since version 2.7.0
 * @todo remove at version 3
 * @private
 */helpers.getValueAtIndexOrDefault=helpers.valueAtIndexOrDefault;/***/},/* 15 *//***/function(module,exports){// shim for using process in browser
var process=module.exports={};// cached from whatever global is present so that test runners that stub it
// don't break things.  But we need to wrap it in a try catch in case it is
// wrapped in strict mode code which doesn't define any globals.  It's inside a
// function because try/catches deoptimize in certain engines.
var cachedSetTimeout;var cachedClearTimeout;function defaultSetTimout(){throw new Error('setTimeout has not been defined');}function defaultClearTimeout(){throw new Error('clearTimeout has not been defined');}(function(){try{if(typeof setTimeout==='function'){cachedSetTimeout=setTimeout;}else{cachedSetTimeout=defaultSetTimout;}}catch(e){cachedSetTimeout=defaultSetTimout;}try{if(typeof clearTimeout==='function'){cachedClearTimeout=clearTimeout;}else{cachedClearTimeout=defaultClearTimeout;}}catch(e){cachedClearTimeout=defaultClearTimeout;}})();function runTimeout(fun){if(cachedSetTimeout===setTimeout){//normal enviroments in sane situations
return setTimeout(fun,0);}// if setTimeout wasn't available but was latter defined
if((cachedSetTimeout===defaultSetTimout||!cachedSetTimeout)&&setTimeout){cachedSetTimeout=setTimeout;return setTimeout(fun,0);}try{// when when somebody has screwed with setTimeout but no I.E. maddness
return cachedSetTimeout(fun,0);}catch(e){try{// When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally
return cachedSetTimeout.call(null,fun,0);}catch(e){// same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error
return cachedSetTimeout.call(this,fun,0);}}}function runClearTimeout(marker){if(cachedClearTimeout===clearTimeout){//normal enviroments in sane situations
return clearTimeout(marker);}// if clearTimeout wasn't available but was latter defined
if((cachedClearTimeout===defaultClearTimeout||!cachedClearTimeout)&&clearTimeout){cachedClearTimeout=clearTimeout;return clearTimeout(marker);}try{// when when somebody has screwed with setTimeout but no I.E. maddness
return cachedClearTimeout(marker);}catch(e){try{// When we are in I.E. but the script has been evaled so I.E. doesn't  trust the global object when called normally
return cachedClearTimeout.call(null,marker);}catch(e){// same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.
// Some versions of I.E. have different rules for clearTimeout vs setTimeout
return cachedClearTimeout.call(this,marker);}}}var queue=[];var draining=false;var currentQueue;var queueIndex=-1;function cleanUpNextTick(){if(!draining||!currentQueue){return;}draining=false;if(currentQueue.length){queue=currentQueue.concat(queue);}else{queueIndex=-1;}if(queue.length){drainQueue();}}function drainQueue(){if(draining){return;}var timeout=runTimeout(cleanUpNextTick);draining=true;var len=queue.length;while(len){currentQueue=queue;queue=[];while(++queueIndex<len){if(currentQueue){currentQueue[queueIndex].run();}}queueIndex=-1;len=queue.length;}currentQueue=null;draining=false;runClearTimeout(timeout);}process.nextTick=function(fun){var args=new Array(arguments.length-1);if(arguments.length>1){for(var i=1;i<arguments.length;i++){args[i-1]=arguments[i];}}queue.push(new Item(fun,args));if(queue.length===1&&!draining){runTimeout(drainQueue);}};// v8 likes predictible objects
function Item(fun,array){this.fun=fun;this.array=array;}Item.prototype.run=function(){this.fun.apply(null,this.array);};process.title='browser';process.browser=true;process.env={};process.argv=[];process.version='';// empty string to avoid regexp issues
process.versions={};function noop(){}process.on=noop;process.addListener=noop;process.once=noop;process.off=noop;process.removeListener=noop;process.removeAllListeners=noop;process.emit=noop;process.prependListener=noop;process.prependOnceListener=noop;process.listeners=function(name){return[];};process.binding=function(name){throw new Error('process.binding is not supported');};process.cwd=function(){return'/';};process.chdir=function(dir){throw new Error('process.chdir is not supported');};process.umask=function(){return 0;};/***/},/* 16 *//***/function(module,__webpack_exports__,__webpack_require__){"use strict";/* harmony import */var __WEBPACK_IMPORTED_MODULE_0_vue__=__webpack_require__(9);/* harmony import */var __WEBPACK_IMPORTED_MODULE_1_vue_simple_spinner__=__webpack_require__(167);/* harmony import */var __WEBPACK_IMPORTED_MODULE_1_vue_simple_spinner___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_vue_simple_spinner__);/* harmony import */var __WEBPACK_IMPORTED_MODULE_2__components_Button_vue__=__webpack_require__(17);/* harmony import */var __WEBPACK_IMPORTED_MODULE_3__components_LineChart_vue__=__webpack_require__(171);/* harmony import */var __WEBPACK_IMPORTED_MODULE_4__components_SearchCounts_vue__=__webpack_require__(223);/* harmony import */var __WEBPACK_IMPORTED_MODULE_5__components_Delete_vue__=__webpack_require__(152);/* harmony import */var __WEBPACK_IMPORTED_MODULE_6__components_Confirm_vue__=__webpack_require__(230);//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
/* harmony default export */__webpack_exports__["a"]={name:'SearchwpStatistics',components:{Spinner:__WEBPACK_IMPORTED_MODULE_1_vue_simple_spinner___default.a,LineChart:__WEBPACK_IMPORTED_MODULE_3__components_LineChart_vue__["a"/* default */],SearchCounts:__WEBPACK_IMPORTED_MODULE_4__components_SearchCounts_vue__["a"/* default */],Delete:__WEBPACK_IMPORTED_MODULE_5__components_Delete_vue__["a"/* default */],Confirm:__WEBPACK_IMPORTED_MODULE_6__components_Confirm_vue__["a"/* default */],SearchwpButton:__WEBPACK_IMPORTED_MODULE_2__components_Button_vue__["a"/* default */]},methods:{resetStats:function resetStats(){var data={action:'searchwp_reset_stats',_ajax_nonce:_SEARCHWP_VARS.nonces.reset_stats};var self=this;jQuery.post(ajaxurl,data,function(response){if(!response.success){alert('There was an error. Please try again.');}else{self.reload();}});},apiRequest:function apiRequest(){var data=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{};data.action='searchwp_get_statistics';data.engine=_SEARCHWP_VARS.data.engine;data._ajax_nonce=_SEARCHWP_VARS.nonces.get_statistics;return new Promise(function(resolve,reject){jQuery.post(ajaxurl,data,function(response){if(response.success){resolve(response);}else{reject(response);}});});},formatDataForChart:function formatDataForChart(data){var chartData={labels:data.labels,datasets:[]};for(var i=0;i<data.datasets.length;i++){var dataset=data.datasets[i];var options={label:dataset.engine,data:dataset.dataset,borderColor:'rgba(69, 170, 242, 1)',backgroundColor:'rgba(112, 190, 245, 0.22)',type:'line',borderWidth:2,fill:true};// Merge the defaults into any options set
chartData.datasets.push(options);}return chartData;},updateSearchesOverTime:function updateSearchesOverTime(data){this.searchesOverTime=this.formatDataForChart(data);},reload:function reload(){var _this10=this;this.loading=true;this.apiRequest().then(function(response){_this10.updateSearchesOverTime(response.data.searches_over_time);_this10.popularToday=response.data.popular_today;_this10.popularWeek=response.data.popular_week;_this10.popularMonth=response.data.popular_month;_this10.popularYear=response.data.popular_year;_this10.failed=response.data.failed;_this10.ignoredQueries=response.data.ignored;_this10.loading=false;});},updateLoaderPosition:function updateLoaderPosition(){var topEl=document.getElementById('wpadminbar');var leftEl=document.getElementById('adminmenuback');this.loaderPositionTop=topEl?topEl.offsetHeight:0;this.loaderPositionLeft=leftEl?leftEl.offsetWidth:0;},hideIgnoredSearches:function hideIgnoredSearches(){this.showingIgnoredSearches=false;this.reload();},unIgnoreQuery:function unIgnoreQuery(hash){// Remove from display (we're not refreshing until modal is closed)
var newIgnoredQueries=this.ignoredQueries;for(var i=0;i<this.ignoredQueries.length;i++){if(hash===this.ignoredQueries[i].hash){__WEBPACK_IMPORTED_MODULE_0_vue__["a"/* default */].set(this.ignoredQueries[i],'unignored',true);break;}}// Persist the unignore
var data={action:'searchwp_unignore_search',hash:hash,_ajax_nonce:_SEARCHWP_VARS.nonces.unignore_search};jQuery.post(ajaxurl,data,function(response){if(!response.success){alert('There was an error. Please try again.');}});}},computed:{ignoredQueriesFiltered:function ignoredQueriesFiltered(){return this.ignoredQueries.filter(function(ignoredQuery){return!ignoredQuery.unignored;});}},mounted:function mounted(){this.updateLoaderPosition();window.addEventListener('resize',this.updateLoaderPosition);this.reload();},data:function data(){return{loading:true,loaderPositionTop:0,loaderPositionLeft:0,searchesOverTime:null,searchesOverTimeOptions:{maintainAspectRatio:false,legend:{display:false},tooltips:{cornerRadius:2,titleMarginBottom:10,xPadding:16,yPadding:9,displayColors:false// We want the fill color to be semi-transparent but that doesn't translate well here
}},popularToday:[],popularWeek:[],popularMonth:[],popularYear:[],failed:[],ignoredQueries:[],showingIgnoredSearches:false,i18n:{areYouSure:_SEARCHWP_VARS.i18n.are_you_sure,ignored:_SEARCHWP_VARS.i18n.ignored,ignoredMessage:_SEARCHWP_VARS.i18n.ignored_message,month:_SEARCHWP_VARS.i18n.month,noIgnoredQueries:_SEARCHWP_VARS.i18n.no_ignored,noResultsSearches:_SEARCHWP_VARS.i18n.no_results_searches,resetStats:_SEARCHWP_VARS.i18n.reset_stats,today:_SEARCHWP_VARS.i18n.today,week:_SEARCHWP_VARS.i18n.week,year:_SEARCHWP_VARS.i18n.year,yesResetStats:_SEARCHWP_VARS.i18n.yes_reset_stats}};}};/***/},/* 17 *//***/function(module,__webpack_exports__,__webpack_require__){"use strict";/* harmony import */var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_Button_vue__=__webpack_require__(18);/* unused harmony namespace reexport *//* harmony import */var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_54bd0503_hasScoped_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_Button_vue__=__webpack_require__(170);function injectStyle(ssrContext){__webpack_require__(168);}var normalizeComponent=__webpack_require__(8);/* script *//* template *//* template functional */var __vue_template_functional__=false;/* styles */var __vue_styles__=injectStyle;/* scopeId */var __vue_scopeId__=null;/* moduleIdentifier (server only) */var __vue_module_identifier__=null;var Component=normalizeComponent(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_Button_vue__["a"/* default */],__WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_54bd0503_hasScoped_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_Button_vue__["a"/* default */],__vue_template_functional__,__vue_styles__,__vue_scopeId__,__vue_module_identifier__);/* harmony default export */__webpack_exports__["a"]=Component.exports;/***/},/* 18 *//***/function(module,__webpack_exports__,__webpack_require__){"use strict";/* harmony import */var __WEBPACK_IMPORTED_MODULE_0_vue__=__webpack_require__(9);//
//
//
//
//
//
//
//
//
/* harmony default export */__webpack_exports__["a"]={name:'SearchwpButton',props:{label:{type:String,required:true},icon:{type:String,required:false}},methods:{buttonClick:function buttonClick(){this.$emit('buttonClick');}}};/***/},/* 19 *//***/function(module,__webpack_exports__,__webpack_require__){"use strict";/* harmony import */var __WEBPACK_IMPORTED_MODULE_0__inc_LineChart_js__=__webpack_require__(174);//
//
//
//
//
//
//
//
//
/* harmony default export */__webpack_exports__["a"]={components:{LineChart:__WEBPACK_IMPORTED_MODULE_0__inc_LineChart_js__["a"/* default */]},props:{datacollection:Object,options:{type:Object,default:{}}}};/***/},/* 20 *//***/function(module,exports,__webpack_require__){/* MIT license */var convert=__webpack_require__(184);var string=__webpack_require__(186);var Color=function Color(obj){if(obj instanceof Color){return obj;}if(!(this instanceof Color)){return new Color(obj);}this.valid=false;this.values={rgb:[0,0,0],hsl:[0,0,0],hsv:[0,0,0],hwb:[0,0,0],cmyk:[0,0,0,0],alpha:1};// parse Color() argument
var vals;if(typeof obj==='string'){vals=string.getRgba(obj);if(vals){this.setValues('rgb',vals);}else if(vals=string.getHsla(obj)){this.setValues('hsl',vals);}else if(vals=string.getHwb(obj)){this.setValues('hwb',vals);}}else if((typeof obj==='undefined'?'undefined':_typeof2(obj))==='object'){vals=obj;if(vals.r!==undefined||vals.red!==undefined){this.setValues('rgb',vals);}else if(vals.l!==undefined||vals.lightness!==undefined){this.setValues('hsl',vals);}else if(vals.v!==undefined||vals.value!==undefined){this.setValues('hsv',vals);}else if(vals.w!==undefined||vals.whiteness!==undefined){this.setValues('hwb',vals);}else if(vals.c!==undefined||vals.cyan!==undefined){this.setValues('cmyk',vals);}}};Color.prototype={isValid:function isValid(){return this.valid;},rgb:function rgb(){return this.setSpace('rgb',arguments);},hsl:function hsl(){return this.setSpace('hsl',arguments);},hsv:function hsv(){return this.setSpace('hsv',arguments);},hwb:function hwb(){return this.setSpace('hwb',arguments);},cmyk:function cmyk(){return this.setSpace('cmyk',arguments);},rgbArray:function rgbArray(){return this.values.rgb;},hslArray:function hslArray(){return this.values.hsl;},hsvArray:function hsvArray(){return this.values.hsv;},hwbArray:function hwbArray(){var values=this.values;if(values.alpha!==1){return values.hwb.concat([values.alpha]);}return values.hwb;},cmykArray:function cmykArray(){return this.values.cmyk;},rgbaArray:function rgbaArray(){var values=this.values;return values.rgb.concat([values.alpha]);},hslaArray:function hslaArray(){var values=this.values;return values.hsl.concat([values.alpha]);},alpha:function alpha(val){if(val===undefined){return this.values.alpha;}this.setValues('alpha',val);return this;},red:function red(val){return this.setChannel('rgb',0,val);},green:function green(val){return this.setChannel('rgb',1,val);},blue:function blue(val){return this.setChannel('rgb',2,val);},hue:function hue(val){if(val){val%=360;val=val<0?360+val:val;}return this.setChannel('hsl',0,val);},saturation:function saturation(val){return this.setChannel('hsl',1,val);},lightness:function lightness(val){return this.setChannel('hsl',2,val);},saturationv:function saturationv(val){return this.setChannel('hsv',1,val);},whiteness:function whiteness(val){return this.setChannel('hwb',1,val);},blackness:function blackness(val){return this.setChannel('hwb',2,val);},value:function value(val){return this.setChannel('hsv',2,val);},cyan:function cyan(val){return this.setChannel('cmyk',0,val);},magenta:function magenta(val){return this.setChannel('cmyk',1,val);},yellow:function yellow(val){return this.setChannel('cmyk',2,val);},black:function black(val){return this.setChannel('cmyk',3,val);},hexString:function hexString(){return string.hexString(this.values.rgb);},rgbString:function rgbString(){return string.rgbString(this.values.rgb,this.values.alpha);},rgbaString:function rgbaString(){return string.rgbaString(this.values.rgb,this.values.alpha);},percentString:function percentString(){return string.percentString(this.values.rgb,this.values.alpha);},hslString:function hslString(){return string.hslString(this.values.hsl,this.values.alpha);},hslaString:function hslaString(){return string.hslaString(this.values.hsl,this.values.alpha);},hwbString:function hwbString(){return string.hwbString(this.values.hwb,this.values.alpha);},keyword:function keyword(){return string.keyword(this.values.rgb,this.values.alpha);},rgbNumber:function rgbNumber(){var rgb=this.values.rgb;return rgb[0]<<16|rgb[1]<<8|rgb[2];},luminosity:function luminosity(){// http://www.w3.org/TR/WCAG20/#relativeluminancedef
var rgb=this.values.rgb;var lum=[];for(var i=0;i<rgb.length;i++){var chan=rgb[i]/255;lum[i]=chan<=0.03928?chan/12.92:Math.pow((chan+0.055)/1.055,2.4);}return 0.2126*lum[0]+0.7152*lum[1]+0.0722*lum[2];},contrast:function contrast(color2){// http://www.w3.org/TR/WCAG20/#contrast-ratiodef
var lum1=this.luminosity();var lum2=color2.luminosity();if(lum1>lum2){return(lum1+0.05)/(lum2+0.05);}return(lum2+0.05)/(lum1+0.05);},level:function level(color2){var contrastRatio=this.contrast(color2);if(contrastRatio>=7.1){return'AAA';}return contrastRatio>=4.5?'AA':'';},dark:function dark(){// YIQ equation from http://24ways.org/2010/calculating-color-contrast
var rgb=this.values.rgb;var yiq=(rgb[0]*299+rgb[1]*587+rgb[2]*114)/1000;return yiq<128;},light:function light(){return!this.dark();},negate:function negate(){var rgb=[];for(var i=0;i<3;i++){rgb[i]=255-this.values.rgb[i];}this.setValues('rgb',rgb);return this;},lighten:function lighten(ratio){var hsl=this.values.hsl;hsl[2]+=hsl[2]*ratio;this.setValues('hsl',hsl);return this;},darken:function darken(ratio){var hsl=this.values.hsl;hsl[2]-=hsl[2]*ratio;this.setValues('hsl',hsl);return this;},saturate:function saturate(ratio){var hsl=this.values.hsl;hsl[1]+=hsl[1]*ratio;this.setValues('hsl',hsl);return this;},desaturate:function desaturate(ratio){var hsl=this.values.hsl;hsl[1]-=hsl[1]*ratio;this.setValues('hsl',hsl);return this;},whiten:function whiten(ratio){var hwb=this.values.hwb;hwb[1]+=hwb[1]*ratio;this.setValues('hwb',hwb);return this;},blacken:function blacken(ratio){var hwb=this.values.hwb;hwb[2]+=hwb[2]*ratio;this.setValues('hwb',hwb);return this;},greyscale:function greyscale(){var rgb=this.values.rgb;// http://en.wikipedia.org/wiki/Grayscale#Converting_color_to_grayscale
var val=rgb[0]*0.3+rgb[1]*0.59+rgb[2]*0.11;this.setValues('rgb',[val,val,val]);return this;},clearer:function clearer(ratio){var alpha=this.values.alpha;this.setValues('alpha',alpha-alpha*ratio);return this;},opaquer:function opaquer(ratio){var alpha=this.values.alpha;this.setValues('alpha',alpha+alpha*ratio);return this;},rotate:function rotate(degrees){var hsl=this.values.hsl;var hue=(hsl[0]+degrees)%360;hsl[0]=hue<0?360+hue:hue;this.setValues('hsl',hsl);return this;},/**
	 * Ported from sass implementation in C
	 * https://github.com/sass/libsass/blob/0e6b4a2850092356aa3ece07c6b249f0221caced/functions.cpp#L209
	 */mix:function mix(mixinColor,weight){var color1=this;var color2=mixinColor;var p=weight===undefined?0.5:weight;var w=2*p-1;var a=color1.alpha()-color2.alpha();var w1=((w*a===-1?w:(w+a)/(1+w*a))+1)/2.0;var w2=1-w1;return this.rgb(w1*color1.red()+w2*color2.red(),w1*color1.green()+w2*color2.green(),w1*color1.blue()+w2*color2.blue()).alpha(color1.alpha()*p+color2.alpha()*(1-p));},toJSON:function toJSON(){return this.rgb();},clone:function clone(){// NOTE(SB): using node-clone creates a dependency to Buffer when using browserify,
// making the final build way to big to embed in Chart.js. So let's do it manually,
// assuming that values to clone are 1 dimension arrays containing only numbers,
// except 'alpha' which is a number.
var result=new Color();var source=this.values;var target=result.values;var value,type;for(var prop in source){if(source.hasOwnProperty(prop)){value=source[prop];type={}.toString.call(value);if(type==='[object Array]'){target[prop]=value.slice(0);}else if(type==='[object Number]'){target[prop]=value;}else{console.error('unexpected color value:',value);}}}return result;}};Color.prototype.spaces={rgb:['red','green','blue'],hsl:['hue','saturation','lightness'],hsv:['hue','saturation','value'],hwb:['hue','whiteness','blackness'],cmyk:['cyan','magenta','yellow','black']};Color.prototype.maxes={rgb:[255,255,255],hsl:[360,100,100],hsv:[360,100,100],hwb:[360,100,100],cmyk:[100,100,100,100]};Color.prototype.getValues=function(space){var values=this.values;var vals={};for(var i=0;i<space.length;i++){vals[space.charAt(i)]=values[space][i];}if(values.alpha!==1){vals.a=values.alpha;}// {r: 255, g: 255, b: 255, a: 0.4}
return vals;};Color.prototype.setValues=function(space,vals){var values=this.values;var spaces=this.spaces;var maxes=this.maxes;var alpha=1;var i;this.valid=true;if(space==='alpha'){alpha=vals;}else if(vals.length){// [10, 10, 10]
values[space]=vals.slice(0,space.length);alpha=vals[space.length];}else if(vals[space.charAt(0)]!==undefined){// {r: 10, g: 10, b: 10}
for(i=0;i<space.length;i++){values[space][i]=vals[space.charAt(i)];}alpha=vals.a;}else if(vals[spaces[space][0]]!==undefined){// {red: 10, green: 10, blue: 10}
var chans=spaces[space];for(i=0;i<space.length;i++){values[space][i]=vals[chans[i]];}alpha=vals.alpha;}values.alpha=Math.max(0,Math.min(1,alpha===undefined?values.alpha:alpha));if(space==='alpha'){return false;}var capped;// cap values of the space prior converting all values
for(i=0;i<space.length;i++){capped=Math.max(0,Math.min(maxes[space][i],values[space][i]));values[space][i]=Math.round(capped);}// convert to all the other color spaces
for(var sname in spaces){if(sname!==space){values[sname]=convert[space][sname](values[space]);}}return true;};Color.prototype.setSpace=function(space,args){var vals=args[0];if(vals===undefined){// color.rgb()
return this.getValues(space);}// color.rgb(10, 10, 10)
if(typeof vals==='number'){vals=Array.prototype.slice.call(args);}this.setValues(space,vals);return this;};Color.prototype.setChannel=function(space,index,val){var svalues=this.values[space];if(val===undefined){// color.red()
return svalues[index];}else if(val===svalues[index]){// color.red(color.red())
return this;}// color.red(100)
svalues[index]=val;this.setValues(space,svalues);return this;};if(typeof window!=='undefined'){window.Color=Color;}module.exports=Color;/***/},/* 21 *//***/function(module,exports,__webpack_require__){"use strict";var Element=__webpack_require__(3);var exports=module.exports=Element.extend({chart:null,// the animation associated chart instance
currentStep:0,// the current animation step
numSteps:60,// default number of steps
easing:'',// the easing to use for this animation
render:null,// render function used by the animation service
onAnimationProgress:null,// user specified callback to fire on each step of the animation
onAnimationComplete:null// user specified callback to fire when the animation finishes
});// DEPRECATIONS
/**
 * Provided for backward compatibility, use Chart.Animation instead
 * @prop Chart.Animation#animationObject
 * @deprecated since version 2.6.0
 * @todo remove at version 3
 */Object.defineProperty(exports.prototype,'animationObject',{get:function get(){return this;}});/**
 * Provided for backward compatibility, use Chart.Animation#chart instead
 * @prop Chart.Animation#chartInstance
 * @deprecated since version 2.6.0
 * @todo remove at version 3
 */Object.defineProperty(exports.prototype,'chartInstance',{get:function get(){return this.chart;},set:function set(value){this.chart=value;}});/***/},/* 22 *//***/function(module,exports,__webpack_require__){"use strict";/* global window: false */var defaults=__webpack_require__(2);var helpers=__webpack_require__(1);defaults._set('global',{animation:{duration:1000,easing:'easeOutQuart',onProgress:helpers.noop,onComplete:helpers.noop}});module.exports={frameDuration:17,animations:[],dropFrames:0,request:null,/**
	 * @param {Chart} chart - The chart to animate.
	 * @param {Chart.Animation} animation - The animation that we will animate.
	 * @param {Number} duration - The animation duration in ms.
	 * @param {Boolean} lazy - if true, the chart is not marked as animating to enable more responsive interactions
	 */addAnimation:function addAnimation(chart,animation,duration,lazy){var animations=this.animations;var i,ilen;animation.chart=chart;if(!lazy){chart.animating=true;}for(i=0,ilen=animations.length;i<ilen;++i){if(animations[i].chart===chart){animations[i]=animation;return;}}animations.push(animation);// If there are no animations queued, manually kickstart a digest, for lack of a better word
if(animations.length===1){this.requestAnimationFrame();}},cancelAnimation:function cancelAnimation(chart){var index=helpers.findIndex(this.animations,function(animation){return animation.chart===chart;});if(index!==-1){this.animations.splice(index,1);chart.animating=false;}},requestAnimationFrame:function requestAnimationFrame(){var me=this;if(me.request===null){// Skip animation frame requests until the active one is executed.
// This can happen when processing mouse events, e.g. 'mousemove'
// and 'mouseout' events will trigger multiple renders.
me.request=helpers.requestAnimFrame.call(window,function(){me.request=null;me.startDigest();});}},/**
	 * @private
	 */startDigest:function startDigest(){var me=this;var startTime=Date.now();var framesToDrop=0;if(me.dropFrames>1){framesToDrop=Math.floor(me.dropFrames);me.dropFrames=me.dropFrames%1;}me.advance(1+framesToDrop);var endTime=Date.now();me.dropFrames+=(endTime-startTime)/me.frameDuration;// Do we have more stuff to animate?
if(me.animations.length>0){me.requestAnimationFrame();}},/**
	 * @private
	 */advance:function advance(count){var animations=this.animations;var animation,chart;var i=0;while(i<animations.length){animation=animations[i];chart=animation.chart;animation.currentStep=(animation.currentStep||0)+count;animation.currentStep=Math.min(animation.currentStep,animation.numSteps);helpers.callback(animation.render,[chart,animation],chart);helpers.callback(animation.onAnimationProgress,[animation],chart);if(animation.currentStep>=animation.numSteps){helpers.callback(animation.onAnimationComplete,[animation],chart);chart.animating=false;animations.splice(i,1);}else{++i;}}}};/***/},/* 23 *//***/function(module,exports,__webpack_require__){"use strict";var helpers=__webpack_require__(1);/**
 * Helper function to get relative position for an event
 * @param {Event|IEvent} event - The event to get the position for
 * @param {Chart} chart - The chart
 * @returns {Point} the event position
 */function getRelativePosition(e,chart){if(e.native){return{x:e.x,y:e.y};}return helpers.getRelativePosition(e,chart);}/**
 * Helper function to traverse all of the visible elements in the chart
 * @param chart {chart} the chart
 * @param handler {Function} the callback to execute for each visible item
 */function parseVisibleItems(chart,handler){var datasets=chart.data.datasets;var meta,i,j,ilen,jlen;for(i=0,ilen=datasets.length;i<ilen;++i){if(!chart.isDatasetVisible(i)){continue;}meta=chart.getDatasetMeta(i);for(j=0,jlen=meta.data.length;j<jlen;++j){var element=meta.data[j];if(!element._view.skip){handler(element);}}}}/**
 * Helper function to get the items that intersect the event position
 * @param items {ChartElement[]} elements to filter
 * @param position {Point} the point to be nearest to
 * @return {ChartElement[]} the nearest items
 */function getIntersectItems(chart,position){var elements=[];parseVisibleItems(chart,function(element){if(element.inRange(position.x,position.y)){elements.push(element);}});return elements;}/**
 * Helper function to get the items nearest to the event position considering all visible items in teh chart
 * @param chart {Chart} the chart to look at elements from
 * @param position {Point} the point to be nearest to
 * @param intersect {Boolean} if true, only consider items that intersect the position
 * @param distanceMetric {Function} function to provide the distance between points
 * @return {ChartElement[]} the nearest items
 */function getNearestItems(chart,position,intersect,distanceMetric){var minDistance=Number.POSITIVE_INFINITY;var nearestItems=[];parseVisibleItems(chart,function(element){if(intersect&&!element.inRange(position.x,position.y)){return;}var center=element.getCenterPoint();var distance=distanceMetric(position,center);if(distance<minDistance){nearestItems=[element];minDistance=distance;}else if(distance===minDistance){// Can have multiple items at the same distance in which case we sort by size
nearestItems.push(element);}});return nearestItems;}/**
 * Get a distance metric function for two points based on the
 * axis mode setting
 * @param {String} axis the axis mode. x|y|xy
 */function getDistanceMetricForAxis(axis){var useX=axis.indexOf('x')!==-1;var useY=axis.indexOf('y')!==-1;return function(pt1,pt2){var deltaX=useX?Math.abs(pt1.x-pt2.x):0;var deltaY=useY?Math.abs(pt1.y-pt2.y):0;return Math.sqrt(Math.pow(deltaX,2)+Math.pow(deltaY,2));};}function indexMode(chart,e,options){var position=getRelativePosition(e,chart);// Default axis for index mode is 'x' to match old behaviour
options.axis=options.axis||'x';var distanceMetric=getDistanceMetricForAxis(options.axis);var items=options.intersect?getIntersectItems(chart,position):getNearestItems(chart,position,false,distanceMetric);var elements=[];if(!items.length){return[];}chart.data.datasets.forEach(function(dataset,datasetIndex){if(chart.isDatasetVisible(datasetIndex)){var meta=chart.getDatasetMeta(datasetIndex);var element=meta.data[items[0]._index];// don't count items that are skipped (null data)
if(element&&!element._view.skip){elements.push(element);}}});return elements;}/**
 * @interface IInteractionOptions
 *//**
 * If true, only consider items that intersect the point
 * @name IInterfaceOptions#boolean
 * @type Boolean
 *//**
 * Contains interaction related functions
 * @namespace Chart.Interaction
 */module.exports={// Helper function for different modes
modes:{single:function single(chart,e){var position=getRelativePosition(e,chart);var elements=[];parseVisibleItems(chart,function(element){if(element.inRange(position.x,position.y)){elements.push(element);return elements;}});return elements.slice(0,1);},/**
		 * @function Chart.Interaction.modes.label
		 * @deprecated since version 2.4.0
		 * @todo remove at version 3
		 * @private
		 */label:indexMode,/**
		 * Returns items at the same index. If the options.intersect parameter is true, we only return items if we intersect something
		 * If the options.intersect mode is false, we find the nearest item and return the items at the same index as that item
		 * @function Chart.Interaction.modes.index
		 * @since v2.4.0
		 * @param chart {chart} the chart we are returning items from
		 * @param e {Event} the event we are find things at
		 * @param options {IInteractionOptions} options to use during interaction
		 * @return {Chart.Element[]} Array of elements that are under the point. If none are found, an empty array is returned
		 */index:indexMode,/**
		 * Returns items in the same dataset. If the options.intersect parameter is true, we only return items if we intersect something
		 * If the options.intersect is false, we find the nearest item and return the items in that dataset
		 * @function Chart.Interaction.modes.dataset
		 * @param chart {chart} the chart we are returning items from
		 * @param e {Event} the event we are find things at
		 * @param options {IInteractionOptions} options to use during interaction
		 * @return {Chart.Element[]} Array of elements that are under the point. If none are found, an empty array is returned
		 */dataset:function dataset(chart,e,options){var position=getRelativePosition(e,chart);options.axis=options.axis||'xy';var distanceMetric=getDistanceMetricForAxis(options.axis);var items=options.intersect?getIntersectItems(chart,position):getNearestItems(chart,position,false,distanceMetric);if(items.length>0){items=chart.getDatasetMeta(items[0]._datasetIndex).data;}return items;},/**
		 * @function Chart.Interaction.modes.x-axis
		 * @deprecated since version 2.4.0. Use index mode and intersect == true
		 * @todo remove at version 3
		 * @private
		 */'x-axis':function xAxis(chart,e){return indexMode(chart,e,{intersect:false});},/**
		 * Point mode returns all elements that hit test based on the event position
		 * of the event
		 * @function Chart.Interaction.modes.intersect
		 * @param chart {chart} the chart we are returning items from
		 * @param e {Event} the event we are find things at
		 * @return {Chart.Element[]} Array of elements that are under the point. If none are found, an empty array is returned
		 */point:function point(chart,e){var position=getRelativePosition(e,chart);return getIntersectItems(chart,position);},/**
		 * nearest mode returns the element closest to the point
		 * @function Chart.Interaction.modes.intersect
		 * @param chart {chart} the chart we are returning items from
		 * @param e {Event} the event we are find things at
		 * @param options {IInteractionOptions} options to use
		 * @return {Chart.Element[]} Array of elements that are under the point. If none are found, an empty array is returned
		 */nearest:function nearest(chart,e,options){var position=getRelativePosition(e,chart);options.axis=options.axis||'xy';var distanceMetric=getDistanceMetricForAxis(options.axis);var nearestItems=getNearestItems(chart,position,options.intersect,distanceMetric);// We have multiple items at the same distance from the event. Now sort by smallest
if(nearestItems.length>1){nearestItems.sort(function(a,b){var sizeA=a.getArea();var sizeB=b.getArea();var ret=sizeA-sizeB;if(ret===0){// if equal sort by dataset index
ret=a._datasetIndex-b._datasetIndex;}return ret;});}// Return only 1 item
return nearestItems.slice(0,1);},/**
		 * x mode returns the elements that hit-test at the current x coordinate
		 * @function Chart.Interaction.modes.x
		 * @param chart {chart} the chart we are returning items from
		 * @param e {Event} the event we are find things at
		 * @param options {IInteractionOptions} options to use
		 * @return {Chart.Element[]} Array of elements that are under the point. If none are found, an empty array is returned
		 */x:function x(chart,e,options){var position=getRelativePosition(e,chart);var items=[];var intersectsItem=false;parseVisibleItems(chart,function(element){if(element.inXRange(position.x)){items.push(element);}if(element.inRange(position.x,position.y)){intersectsItem=true;}});// If we want to trigger on an intersect and we don't have any items
// that intersect the position, return nothing
if(options.intersect&&!intersectsItem){items=[];}return items;},/**
		 * y mode returns the elements that hit-test at the current y coordinate
		 * @function Chart.Interaction.modes.y
		 * @param chart {chart} the chart we are returning items from
		 * @param e {Event} the event we are find things at
		 * @param options {IInteractionOptions} options to use
		 * @return {Chart.Element[]} Array of elements that are under the point. If none are found, an empty array is returned
		 */y:function y(chart,e,options){var position=getRelativePosition(e,chart);var items=[];var intersectsItem=false;parseVisibleItems(chart,function(element){if(element.inYRange(position.y)){items.push(element);}if(element.inRange(position.x,position.y)){intersectsItem=true;}});// If we want to trigger on an intersect and we don't have any items
// that intersect the position, return nothing
if(options.intersect&&!intersectsItem){items=[];}return items;}}};/***/},/* 24 *//***/function(module,exports,__webpack_require__){"use strict";var helpers=__webpack_require__(1);var basic=__webpack_require__(192);var dom=__webpack_require__(193);// @TODO Make possible to select another platform at build time.
var implementation=dom._enabled?dom:basic;/**
 * @namespace Chart.platform
 * @see https://chartjs.gitbooks.io/proposals/content/Platform.html
 * @since 2.4.0
 */module.exports=helpers.extend({/**
	 * @since 2.7.0
	 */initialize:function initialize(){},/**
	 * Called at chart construction time, returns a context2d instance implementing
	 * the [W3C Canvas 2D Context API standard]{@link https://www.w3.org/TR/2dcontext/}.
	 * @param {*} item - The native item from which to acquire context (platform specific)
	 * @param {Object} options - The chart options
	 * @returns {CanvasRenderingContext2D} context2d instance
	 */acquireContext:function acquireContext(){},/**
	 * Called at chart destruction time, releases any resources associated to the context
	 * previously returned by the acquireContext() method.
	 * @param {CanvasRenderingContext2D} context - The context2d instance
	 * @returns {Boolean} true if the method succeeded, else false
	 */releaseContext:function releaseContext(){},/**
	 * Registers the specified listener on the given chart.
	 * @param {Chart} chart - Chart from which to listen for event
	 * @param {String} type - The ({@link IEvent}) type to listen for
	 * @param {Function} listener - Receives a notification (an object that implements
	 * the {@link IEvent} interface) when an event of the specified type occurs.
	 */addEventListener:function addEventListener(){},/**
	 * Removes the specified listener previously registered with addEventListener.
	 * @param {Chart} chart -Chart from which to remove the listener
	 * @param {String} type - The ({@link IEvent}) type to remove
	 * @param {Function} listener - The listener function to remove from the event target.
	 */removeEventListener:function removeEventListener(){}},implementation);/**
 * @interface IPlatform
 * Allows abstracting platform dependencies away from the chart
 * @borrows Chart.platform.acquireContext as acquireContext
 * @borrows Chart.platform.releaseContext as releaseContext
 * @borrows Chart.platform.addEventListener as addEventListener
 * @borrows Chart.platform.removeEventListener as removeEventListener
 *//**
 * @interface IEvent
 * @prop {String} type - The event type name, possible values are:
 * 'contextmenu', 'mouseenter', 'mousedown', 'mousemove', 'mouseup', 'mouseout',
 * 'click', 'dblclick', 'keydown', 'keypress', 'keyup' and 'resize'
 * @prop {*} native - The original native event (null for emulated events, e.g. 'resize')
 * @prop {Number} x - The mouse x position, relative to the canvas (null for incompatible events)
 * @prop {Number} y - The mouse y position, relative to the canvas (null for incompatible events)
 *//***/},/* 25 *//***/function(module,exports,__webpack_require__){"use strict";var defaults=__webpack_require__(2);var helpers=__webpack_require__(1);defaults._set('global',{plugins:{}});/**
 * The plugin service singleton
 * @namespace Chart.plugins
 * @since 2.1.0
 */module.exports={/**
	 * Globally registered plugins.
	 * @private
	 */_plugins:[],/**
	 * This identifier is used to invalidate the descriptors cache attached to each chart
	 * when a global plugin is registered or unregistered. In this case, the cache ID is
	 * incremented and descriptors are regenerated during following API calls.
	 * @private
	 */_cacheId:0,/**
	 * Registers the given plugin(s) if not already registered.
	 * @param {Array|Object} plugins plugin instance(s).
	 */register:function register(plugins){var p=this._plugins;[].concat(plugins).forEach(function(plugin){if(p.indexOf(plugin)===-1){p.push(plugin);}});this._cacheId++;},/**
	 * Unregisters the given plugin(s) only if registered.
	 * @param {Array|Object} plugins plugin instance(s).
	 */unregister:function unregister(plugins){var p=this._plugins;[].concat(plugins).forEach(function(plugin){var idx=p.indexOf(plugin);if(idx!==-1){p.splice(idx,1);}});this._cacheId++;},/**
	 * Remove all registered plugins.
	 * @since 2.1.5
	 */clear:function clear(){this._plugins=[];this._cacheId++;},/**
	 * Returns the number of registered plugins?
	 * @returns {Number}
	 * @since 2.1.5
	 */count:function count(){return this._plugins.length;},/**
	 * Returns all registered plugin instances.
	 * @returns {Array} array of plugin objects.
	 * @since 2.1.5
	 */getAll:function getAll(){return this._plugins;},/**
	 * Calls enabled plugins for `chart` on the specified hook and with the given args.
	 * This method immediately returns as soon as a plugin explicitly returns false. The
	 * returned value can be used, for instance, to interrupt the current action.
	 * @param {Object} chart - The chart instance for which plugins should be called.
	 * @param {String} hook - The name of the plugin method to call (e.g. 'beforeUpdate').
	 * @param {Array} [args] - Extra arguments to apply to the hook call.
	 * @returns {Boolean} false if any of the plugins return false, else returns true.
	 */notify:function notify(chart,hook,args){var descriptors=this.descriptors(chart);var ilen=descriptors.length;var i,descriptor,plugin,params,method;for(i=0;i<ilen;++i){descriptor=descriptors[i];plugin=descriptor.plugin;method=plugin[hook];if(typeof method==='function'){params=[chart].concat(args||[]);params.push(descriptor.options);if(method.apply(plugin,params)===false){return false;}}}return true;},/**
	 * Returns descriptors of enabled plugins for the given chart.
	 * @returns {Array} [{ plugin, options }]
	 * @private
	 */descriptors:function descriptors(chart){var cache=chart.$plugins||(chart.$plugins={});if(cache.id===this._cacheId){return cache.descriptors;}var plugins=[];var descriptors=[];var config=chart&&chart.config||{};var options=config.options&&config.options.plugins||{};this._plugins.concat(config.plugins||[]).forEach(function(plugin){var idx=plugins.indexOf(plugin);if(idx!==-1){return;}var id=plugin.id;var opts=options[id];if(opts===false){return;}if(opts===true){opts=helpers.clone(defaults.global.plugins[id]);}plugins.push(plugin);descriptors.push({plugin:plugin,options:opts||{}});});cache.descriptors=descriptors;cache.id=this._cacheId;return descriptors;},/**
	 * Invalidates cache for the given chart: descriptors hold a reference on plugin option,
	 * but in some cases, this reference can be changed by the user when updating options.
	 * https://github.com/chartjs/Chart.js/issues/5111#issuecomment-355934167
	 * @private
	 */_invalidate:function _invalidate(chart){delete chart.$plugins;}};/**
 * Plugin extension hooks.
 * @interface IPlugin
 * @since 2.1.0
 *//**
 * @method IPlugin#beforeInit
 * @desc Called before initializing `chart`.
 * @param {Chart.Controller} chart - The chart instance.
 * @param {Object} options - The plugin options.
 *//**
 * @method IPlugin#afterInit
 * @desc Called after `chart` has been initialized and before the first update.
 * @param {Chart.Controller} chart - The chart instance.
 * @param {Object} options - The plugin options.
 *//**
 * @method IPlugin#beforeUpdate
 * @desc Called before updating `chart`. If any plugin returns `false`, the update
 * is cancelled (and thus subsequent render(s)) until another `update` is triggered.
 * @param {Chart.Controller} chart - The chart instance.
 * @param {Object} options - The plugin options.
 * @returns {Boolean} `false` to cancel the chart update.
 *//**
 * @method IPlugin#afterUpdate
 * @desc Called after `chart` has been updated and before rendering. Note that this
 * hook will not be called if the chart update has been previously cancelled.
 * @param {Chart.Controller} chart - The chart instance.
 * @param {Object} options - The plugin options.
 *//**
 * @method IPlugin#beforeDatasetsUpdate
 * @desc Called before updating the `chart` datasets. If any plugin returns `false`,
 * the datasets update is cancelled until another `update` is triggered.
 * @param {Chart.Controller} chart - The chart instance.
 * @param {Object} options - The plugin options.
 * @returns {Boolean} false to cancel the datasets update.
 * @since version 2.1.5
*//**
 * @method IPlugin#afterDatasetsUpdate
 * @desc Called after the `chart` datasets have been updated. Note that this hook
 * will not be called if the datasets update has been previously cancelled.
 * @param {Chart.Controller} chart - The chart instance.
 * @param {Object} options - The plugin options.
 * @since version 2.1.5
 *//**
 * @method IPlugin#beforeDatasetUpdate
 * @desc Called before updating the `chart` dataset at the given `args.index`. If any plugin
 * returns `false`, the datasets update is cancelled until another `update` is triggered.
 * @param {Chart} chart - The chart instance.
 * @param {Object} args - The call arguments.
 * @param {Number} args.index - The dataset index.
 * @param {Object} args.meta - The dataset metadata.
 * @param {Object} options - The plugin options.
 * @returns {Boolean} `false` to cancel the chart datasets drawing.
 *//**
 * @method IPlugin#afterDatasetUpdate
 * @desc Called after the `chart` datasets at the given `args.index` has been updated. Note
 * that this hook will not be called if the datasets update has been previously cancelled.
 * @param {Chart} chart - The chart instance.
 * @param {Object} args - The call arguments.
 * @param {Number} args.index - The dataset index.
 * @param {Object} args.meta - The dataset metadata.
 * @param {Object} options - The plugin options.
 *//**
 * @method IPlugin#beforeLayout
 * @desc Called before laying out `chart`. If any plugin returns `false`,
 * the layout update is cancelled until another `update` is triggered.
 * @param {Chart.Controller} chart - The chart instance.
 * @param {Object} options - The plugin options.
 * @returns {Boolean} `false` to cancel the chart layout.
 *//**
 * @method IPlugin#afterLayout
 * @desc Called after the `chart` has been layed out. Note that this hook will not
 * be called if the layout update has been previously cancelled.
 * @param {Chart.Controller} chart - The chart instance.
 * @param {Object} options - The plugin options.
 *//**
 * @method IPlugin#beforeRender
 * @desc Called before rendering `chart`. If any plugin returns `false`,
 * the rendering is cancelled until another `render` is triggered.
 * @param {Chart.Controller} chart - The chart instance.
 * @param {Object} options - The plugin options.
 * @returns {Boolean} `false` to cancel the chart rendering.
 *//**
 * @method IPlugin#afterRender
 * @desc Called after the `chart` has been fully rendered (and animation completed). Note
 * that this hook will not be called if the rendering has been previously cancelled.
 * @param {Chart.Controller} chart - The chart instance.
 * @param {Object} options - The plugin options.
 *//**
 * @method IPlugin#beforeDraw
 * @desc Called before drawing `chart` at every animation frame specified by the given
 * easing value. If any plugin returns `false`, the frame drawing is cancelled until
 * another `render` is triggered.
 * @param {Chart.Controller} chart - The chart instance.
 * @param {Number} easingValue - The current animation value, between 0.0 and 1.0.
 * @param {Object} options - The plugin options.
 * @returns {Boolean} `false` to cancel the chart drawing.
 *//**
 * @method IPlugin#afterDraw
 * @desc Called after the `chart` has been drawn for the specific easing value. Note
 * that this hook will not be called if the drawing has been previously cancelled.
 * @param {Chart.Controller} chart - The chart instance.
 * @param {Number} easingValue - The current animation value, between 0.0 and 1.0.
 * @param {Object} options - The plugin options.
 *//**
 * @method IPlugin#beforeDatasetsDraw
 * @desc Called before drawing the `chart` datasets. If any plugin returns `false`,
 * the datasets drawing is cancelled until another `render` is triggered.
 * @param {Chart.Controller} chart - The chart instance.
 * @param {Number} easingValue - The current animation value, between 0.0 and 1.0.
 * @param {Object} options - The plugin options.
 * @returns {Boolean} `false` to cancel the chart datasets drawing.
 *//**
 * @method IPlugin#afterDatasetsDraw
 * @desc Called after the `chart` datasets have been drawn. Note that this hook
 * will not be called if the datasets drawing has been previously cancelled.
 * @param {Chart.Controller} chart - The chart instance.
 * @param {Number} easingValue - The current animation value, between 0.0 and 1.0.
 * @param {Object} options - The plugin options.
 *//**
 * @method IPlugin#beforeDatasetDraw
 * @desc Called before drawing the `chart` dataset at the given `args.index` (datasets
 * are drawn in the reverse order). If any plugin returns `false`, the datasets drawing
 * is cancelled until another `render` is triggered.
 * @param {Chart} chart - The chart instance.
 * @param {Object} args - The call arguments.
 * @param {Number} args.index - The dataset index.
 * @param {Object} args.meta - The dataset metadata.
 * @param {Number} args.easingValue - The current animation value, between 0.0 and 1.0.
 * @param {Object} options - The plugin options.
 * @returns {Boolean} `false` to cancel the chart datasets drawing.
 *//**
 * @method IPlugin#afterDatasetDraw
 * @desc Called after the `chart` datasets at the given `args.index` have been drawn
 * (datasets are drawn in the reverse order). Note that this hook will not be called
 * if the datasets drawing has been previously cancelled.
 * @param {Chart} chart - The chart instance.
 * @param {Object} args - The call arguments.
 * @param {Number} args.index - The dataset index.
 * @param {Object} args.meta - The dataset metadata.
 * @param {Number} args.easingValue - The current animation value, between 0.0 and 1.0.
 * @param {Object} options - The plugin options.
 *//**
 * @method IPlugin#beforeTooltipDraw
 * @desc Called before drawing the `tooltip`. If any plugin returns `false`,
 * the tooltip drawing is cancelled until another `render` is triggered.
 * @param {Chart} chart - The chart instance.
 * @param {Object} args - The call arguments.
 * @param {Object} args.tooltip - The tooltip.
 * @param {Number} args.easingValue - The current animation value, between 0.0 and 1.0.
 * @param {Object} options - The plugin options.
 * @returns {Boolean} `false` to cancel the chart tooltip drawing.
 *//**
 * @method IPlugin#afterTooltipDraw
 * @desc Called after drawing the `tooltip`. Note that this hook will not
 * be called if the tooltip drawing has been previously cancelled.
 * @param {Chart} chart - The chart instance.
 * @param {Object} args - The call arguments.
 * @param {Object} args.tooltip - The tooltip.
 * @param {Number} args.easingValue - The current animation value, between 0.0 and 1.0.
 * @param {Object} options - The plugin options.
 *//**
 * @method IPlugin#beforeEvent
 * @desc Called before processing the specified `event`. If any plugin returns `false`,
 * the event will be discarded.
 * @param {Chart.Controller} chart - The chart instance.
 * @param {IEvent} event - The event object.
 * @param {Object} options - The plugin options.
 *//**
 * @method IPlugin#afterEvent
 * @desc Called after the `event` has been consumed. Note that this hook
 * will not be called if the `event` has been previously discarded.
 * @param {Chart.Controller} chart - The chart instance.
 * @param {IEvent} event - The event object.
 * @param {Object} options - The plugin options.
 *//**
 * @method IPlugin#resize
 * @desc Called after the chart as been resized.
 * @param {Chart.Controller} chart - The chart instance.
 * @param {Number} size - The new canvas display size (eq. canvas.style width & height).
 * @param {Object} options - The plugin options.
 *//**
 * @method IPlugin#destroy
 * @desc Called after the chart as been destroyed.
 * @param {Chart.Controller} chart - The chart instance.
 * @param {Object} options - The plugin options.
 *//***/},/* 26 *//***/function(module,exports,__webpack_require__){"use strict";var defaults=__webpack_require__(2);var Element=__webpack_require__(3);var helpers=__webpack_require__(1);defaults._set('global',{tooltips:{enabled:true,custom:null,mode:'nearest',position:'average',intersect:true,backgroundColor:'rgba(0,0,0,0.8)',titleFontStyle:'bold',titleSpacing:2,titleMarginBottom:6,titleFontColor:'#fff',titleAlign:'left',bodySpacing:2,bodyFontColor:'#fff',bodyAlign:'left',footerFontStyle:'bold',footerSpacing:2,footerMarginTop:6,footerFontColor:'#fff',footerAlign:'left',yPadding:6,xPadding:6,caretPadding:2,caretSize:5,cornerRadius:6,multiKeyBackground:'#fff',displayColors:true,borderColor:'rgba(0,0,0,0)',borderWidth:0,callbacks:{// Args are: (tooltipItems, data)
beforeTitle:helpers.noop,title:function title(tooltipItems,data){// Pick first xLabel for now
var title='';var labels=data.labels;var labelCount=labels?labels.length:0;if(tooltipItems.length>0){var item=tooltipItems[0];if(item.xLabel){title=item.xLabel;}else if(labelCount>0&&item.index<labelCount){title=labels[item.index];}}return title;},afterTitle:helpers.noop,// Args are: (tooltipItems, data)
beforeBody:helpers.noop,// Args are: (tooltipItem, data)
beforeLabel:helpers.noop,label:function label(tooltipItem,data){var label=data.datasets[tooltipItem.datasetIndex].label||'';if(label){label+=': ';}label+=tooltipItem.yLabel;return label;},labelColor:function labelColor(tooltipItem,chart){var meta=chart.getDatasetMeta(tooltipItem.datasetIndex);var activeElement=meta.data[tooltipItem.index];var view=activeElement._view;return{borderColor:view.borderColor,backgroundColor:view.backgroundColor};},labelTextColor:function labelTextColor(){return this._options.bodyFontColor;},afterLabel:helpers.noop,// Args are: (tooltipItems, data)
afterBody:helpers.noop,// Args are: (tooltipItems, data)
beforeFooter:helpers.noop,footer:helpers.noop,afterFooter:helpers.noop}}});var positioners={/**
	 * Average mode places the tooltip at the average position of the elements shown
	 * @function Chart.Tooltip.positioners.average
	 * @param elements {ChartElement[]} the elements being displayed in the tooltip
	 * @returns {Point} tooltip position
	 */average:function average(elements){if(!elements.length){return false;}var i,len;var x=0;var y=0;var count=0;for(i=0,len=elements.length;i<len;++i){var el=elements[i];if(el&&el.hasValue()){var pos=el.tooltipPosition();x+=pos.x;y+=pos.y;++count;}}return{x:Math.round(x/count),y:Math.round(y/count)};},/**
	 * Gets the tooltip position nearest of the item nearest to the event position
	 * @function Chart.Tooltip.positioners.nearest
	 * @param elements {Chart.Element[]} the tooltip elements
	 * @param eventPosition {Point} the position of the event in canvas coordinates
	 * @returns {Point} the tooltip position
	 */nearest:function nearest(elements,eventPosition){var x=eventPosition.x;var y=eventPosition.y;var minDistance=Number.POSITIVE_INFINITY;var i,len,nearestElement;for(i=0,len=elements.length;i<len;++i){var el=elements[i];if(el&&el.hasValue()){var center=el.getCenterPoint();var d=helpers.distanceBetweenPoints(eventPosition,center);if(d<minDistance){minDistance=d;nearestElement=el;}}}if(nearestElement){var tp=nearestElement.tooltipPosition();x=tp.x;y=tp.y;}return{x:x,y:y};}};/**
 * Helper method to merge the opacity into a color
 */function mergeOpacity(colorString,opacity){var color=helpers.color(colorString);return color.alpha(opacity*color.alpha()).rgbaString();}// Helper to push or concat based on if the 2nd parameter is an array or not
function pushOrConcat(base,toPush){if(toPush){if(helpers.isArray(toPush)){// base = base.concat(toPush);
Array.prototype.push.apply(base,toPush);}else{base.push(toPush);}}return base;}/**
 * Returns array of strings split by newline
 * @param {String} value - The value to split by newline.
 * @returns {Array} value if newline present - Returned from String split() method
 * @function
 */function splitNewlines(str){if((typeof str==='string'||str instanceof String)&&str.indexOf('\n')>-1){return str.split('\n');}return str;}// Private helper to create a tooltip item model
// @param element : the chart element (point, arc, bar) to create the tooltip item for
// @return : new tooltip item
function createTooltipItem(element){var xScale=element._xScale;var yScale=element._yScale||element._scale;// handle radar || polarArea charts
var index=element._index;var datasetIndex=element._datasetIndex;return{xLabel:xScale?xScale.getLabelForIndex(index,datasetIndex):'',yLabel:yScale?yScale.getLabelForIndex(index,datasetIndex):'',index:index,datasetIndex:datasetIndex,x:element._model.x,y:element._model.y};}/**
 * Helper to get the reset model for the tooltip
 * @param tooltipOpts {Object} the tooltip options
 */function getBaseModel(tooltipOpts){var globalDefaults=defaults.global;var valueOrDefault=helpers.valueOrDefault;return{// Positioning
xPadding:tooltipOpts.xPadding,yPadding:tooltipOpts.yPadding,xAlign:tooltipOpts.xAlign,yAlign:tooltipOpts.yAlign,// Body
bodyFontColor:tooltipOpts.bodyFontColor,_bodyFontFamily:valueOrDefault(tooltipOpts.bodyFontFamily,globalDefaults.defaultFontFamily),_bodyFontStyle:valueOrDefault(tooltipOpts.bodyFontStyle,globalDefaults.defaultFontStyle),_bodyAlign:tooltipOpts.bodyAlign,bodyFontSize:valueOrDefault(tooltipOpts.bodyFontSize,globalDefaults.defaultFontSize),bodySpacing:tooltipOpts.bodySpacing,// Title
titleFontColor:tooltipOpts.titleFontColor,_titleFontFamily:valueOrDefault(tooltipOpts.titleFontFamily,globalDefaults.defaultFontFamily),_titleFontStyle:valueOrDefault(tooltipOpts.titleFontStyle,globalDefaults.defaultFontStyle),titleFontSize:valueOrDefault(tooltipOpts.titleFontSize,globalDefaults.defaultFontSize),_titleAlign:tooltipOpts.titleAlign,titleSpacing:tooltipOpts.titleSpacing,titleMarginBottom:tooltipOpts.titleMarginBottom,// Footer
footerFontColor:tooltipOpts.footerFontColor,_footerFontFamily:valueOrDefault(tooltipOpts.footerFontFamily,globalDefaults.defaultFontFamily),_footerFontStyle:valueOrDefault(tooltipOpts.footerFontStyle,globalDefaults.defaultFontStyle),footerFontSize:valueOrDefault(tooltipOpts.footerFontSize,globalDefaults.defaultFontSize),_footerAlign:tooltipOpts.footerAlign,footerSpacing:tooltipOpts.footerSpacing,footerMarginTop:tooltipOpts.footerMarginTop,// Appearance
caretSize:tooltipOpts.caretSize,cornerRadius:tooltipOpts.cornerRadius,backgroundColor:tooltipOpts.backgroundColor,opacity:0,legendColorBackground:tooltipOpts.multiKeyBackground,displayColors:tooltipOpts.displayColors,borderColor:tooltipOpts.borderColor,borderWidth:tooltipOpts.borderWidth};}/**
 * Get the size of the tooltip
 */function getTooltipSize(tooltip,model){var ctx=tooltip._chart.ctx;var height=model.yPadding*2;// Tooltip Padding
var width=0;// Count of all lines in the body
var body=model.body;var combinedBodyLength=body.reduce(function(count,bodyItem){return count+bodyItem.before.length+bodyItem.lines.length+bodyItem.after.length;},0);combinedBodyLength+=model.beforeBody.length+model.afterBody.length;var titleLineCount=model.title.length;var footerLineCount=model.footer.length;var titleFontSize=model.titleFontSize;var bodyFontSize=model.bodyFontSize;var footerFontSize=model.footerFontSize;height+=titleLineCount*titleFontSize;// Title Lines
height+=titleLineCount?(titleLineCount-1)*model.titleSpacing:0;// Title Line Spacing
height+=titleLineCount?model.titleMarginBottom:0;// Title's bottom Margin
height+=combinedBodyLength*bodyFontSize;// Body Lines
height+=combinedBodyLength?(combinedBodyLength-1)*model.bodySpacing:0;// Body Line Spacing
height+=footerLineCount?model.footerMarginTop:0;// Footer Margin
height+=footerLineCount*footerFontSize;// Footer Lines
height+=footerLineCount?(footerLineCount-1)*model.footerSpacing:0;// Footer Line Spacing
// Title width
var widthPadding=0;var maxLineWidth=function maxLineWidth(line){width=Math.max(width,ctx.measureText(line).width+widthPadding);};ctx.font=helpers.fontString(titleFontSize,model._titleFontStyle,model._titleFontFamily);helpers.each(model.title,maxLineWidth);// Body width
ctx.font=helpers.fontString(bodyFontSize,model._bodyFontStyle,model._bodyFontFamily);helpers.each(model.beforeBody.concat(model.afterBody),maxLineWidth);// Body lines may include some extra width due to the color box
widthPadding=model.displayColors?bodyFontSize+2:0;helpers.each(body,function(bodyItem){helpers.each(bodyItem.before,maxLineWidth);helpers.each(bodyItem.lines,maxLineWidth);helpers.each(bodyItem.after,maxLineWidth);});// Reset back to 0
widthPadding=0;// Footer width
ctx.font=helpers.fontString(footerFontSize,model._footerFontStyle,model._footerFontFamily);helpers.each(model.footer,maxLineWidth);// Add padding
width+=2*model.xPadding;return{width:width,height:height};}/**
 * Helper to get the alignment of a tooltip given the size
 */function determineAlignment(tooltip,size){var model=tooltip._model;var chart=tooltip._chart;var chartArea=tooltip._chart.chartArea;var xAlign='center';var yAlign='center';if(model.y<size.height){yAlign='top';}else if(model.y>chart.height-size.height){yAlign='bottom';}var lf,rf;// functions to determine left, right alignment
var olf,orf;// functions to determine if left/right alignment causes tooltip to go outside chart
var yf;// function to get the y alignment if the tooltip goes outside of the left or right edges
var midX=(chartArea.left+chartArea.right)/2;var midY=(chartArea.top+chartArea.bottom)/2;if(yAlign==='center'){lf=function lf(x){return x<=midX;};rf=function rf(x){return x>midX;};}else{lf=function lf(x){return x<=size.width/2;};rf=function rf(x){return x>=chart.width-size.width/2;};}olf=function olf(x){return x+size.width+model.caretSize+model.caretPadding>chart.width;};orf=function orf(x){return x-size.width-model.caretSize-model.caretPadding<0;};yf=function yf(y){return y<=midY?'top':'bottom';};if(lf(model.x)){xAlign='left';// Is tooltip too wide and goes over the right side of the chart.?
if(olf(model.x)){xAlign='center';yAlign=yf(model.y);}}else if(rf(model.x)){xAlign='right';// Is tooltip too wide and goes outside left edge of canvas?
if(orf(model.x)){xAlign='center';yAlign=yf(model.y);}}var opts=tooltip._options;return{xAlign:opts.xAlign?opts.xAlign:xAlign,yAlign:opts.yAlign?opts.yAlign:yAlign};}/**
 * Helper to get the location a tooltip needs to be placed at given the initial position (via the vm) and the size and alignment
 */function getBackgroundPoint(vm,size,alignment,chart){// Background Position
var x=vm.x;var y=vm.y;var caretSize=vm.caretSize;var caretPadding=vm.caretPadding;var cornerRadius=vm.cornerRadius;var xAlign=alignment.xAlign;var yAlign=alignment.yAlign;var paddingAndSize=caretSize+caretPadding;var radiusAndPadding=cornerRadius+caretPadding;if(xAlign==='right'){x-=size.width;}else if(xAlign==='center'){x-=size.width/2;if(x+size.width>chart.width){x=chart.width-size.width;}if(x<0){x=0;}}if(yAlign==='top'){y+=paddingAndSize;}else if(yAlign==='bottom'){y-=size.height+paddingAndSize;}else{y-=size.height/2;}if(yAlign==='center'){if(xAlign==='left'){x+=paddingAndSize;}else if(xAlign==='right'){x-=paddingAndSize;}}else if(xAlign==='left'){x-=radiusAndPadding;}else if(xAlign==='right'){x+=radiusAndPadding;}return{x:x,y:y};}/**
 * Helper to build before and after body lines
 */function getBeforeAfterBodyLines(callback){return pushOrConcat([],splitNewlines(callback));}var exports=module.exports=Element.extend({initialize:function initialize(){this._model=getBaseModel(this._options);this._lastActive=[];},// Get the title
// Args are: (tooltipItem, data)
getTitle:function getTitle(){var me=this;var opts=me._options;var callbacks=opts.callbacks;var beforeTitle=callbacks.beforeTitle.apply(me,arguments);var title=callbacks.title.apply(me,arguments);var afterTitle=callbacks.afterTitle.apply(me,arguments);var lines=[];lines=pushOrConcat(lines,splitNewlines(beforeTitle));lines=pushOrConcat(lines,splitNewlines(title));lines=pushOrConcat(lines,splitNewlines(afterTitle));return lines;},// Args are: (tooltipItem, data)
getBeforeBody:function getBeforeBody(){return getBeforeAfterBodyLines(this._options.callbacks.beforeBody.apply(this,arguments));},// Args are: (tooltipItem, data)
getBody:function getBody(tooltipItems,data){var me=this;var callbacks=me._options.callbacks;var bodyItems=[];helpers.each(tooltipItems,function(tooltipItem){var bodyItem={before:[],lines:[],after:[]};pushOrConcat(bodyItem.before,splitNewlines(callbacks.beforeLabel.call(me,tooltipItem,data)));pushOrConcat(bodyItem.lines,callbacks.label.call(me,tooltipItem,data));pushOrConcat(bodyItem.after,splitNewlines(callbacks.afterLabel.call(me,tooltipItem,data)));bodyItems.push(bodyItem);});return bodyItems;},// Args are: (tooltipItem, data)
getAfterBody:function getAfterBody(){return getBeforeAfterBodyLines(this._options.callbacks.afterBody.apply(this,arguments));},// Get the footer and beforeFooter and afterFooter lines
// Args are: (tooltipItem, data)
getFooter:function getFooter(){var me=this;var callbacks=me._options.callbacks;var beforeFooter=callbacks.beforeFooter.apply(me,arguments);var footer=callbacks.footer.apply(me,arguments);var afterFooter=callbacks.afterFooter.apply(me,arguments);var lines=[];lines=pushOrConcat(lines,splitNewlines(beforeFooter));lines=pushOrConcat(lines,splitNewlines(footer));lines=pushOrConcat(lines,splitNewlines(afterFooter));return lines;},update:function update(changed){var me=this;var opts=me._options;// Need to regenerate the model because its faster than using extend and it is necessary due to the optimization in Chart.Element.transition
// that does _view = _model if ease === 1. This causes the 2nd tooltip update to set properties in both the view and model at the same time
// which breaks any animations.
var existingModel=me._model;var model=me._model=getBaseModel(opts);var active=me._active;var data=me._data;// In the case where active.length === 0 we need to keep these at existing values for good animations
var alignment={xAlign:existingModel.xAlign,yAlign:existingModel.yAlign};var backgroundPoint={x:existingModel.x,y:existingModel.y};var tooltipSize={width:existingModel.width,height:existingModel.height};var tooltipPosition={x:existingModel.caretX,y:existingModel.caretY};var i,len;if(active.length){model.opacity=1;var labelColors=[];var labelTextColors=[];tooltipPosition=positioners[opts.position].call(me,active,me._eventPosition);var tooltipItems=[];for(i=0,len=active.length;i<len;++i){tooltipItems.push(createTooltipItem(active[i]));}// If the user provided a filter function, use it to modify the tooltip items
if(opts.filter){tooltipItems=tooltipItems.filter(function(a){return opts.filter(a,data);});}// If the user provided a sorting function, use it to modify the tooltip items
if(opts.itemSort){tooltipItems=tooltipItems.sort(function(a,b){return opts.itemSort(a,b,data);});}// Determine colors for boxes
helpers.each(tooltipItems,function(tooltipItem){labelColors.push(opts.callbacks.labelColor.call(me,tooltipItem,me._chart));labelTextColors.push(opts.callbacks.labelTextColor.call(me,tooltipItem,me._chart));});// Build the Text Lines
model.title=me.getTitle(tooltipItems,data);model.beforeBody=me.getBeforeBody(tooltipItems,data);model.body=me.getBody(tooltipItems,data);model.afterBody=me.getAfterBody(tooltipItems,data);model.footer=me.getFooter(tooltipItems,data);// Initial positioning and colors
model.x=Math.round(tooltipPosition.x);model.y=Math.round(tooltipPosition.y);model.caretPadding=opts.caretPadding;model.labelColors=labelColors;model.labelTextColors=labelTextColors;// data points
model.dataPoints=tooltipItems;// We need to determine alignment of the tooltip
tooltipSize=getTooltipSize(this,model);alignment=determineAlignment(this,tooltipSize);// Final Size and Position
backgroundPoint=getBackgroundPoint(model,tooltipSize,alignment,me._chart);}else{model.opacity=0;}model.xAlign=alignment.xAlign;model.yAlign=alignment.yAlign;model.x=backgroundPoint.x;model.y=backgroundPoint.y;model.width=tooltipSize.width;model.height=tooltipSize.height;// Point where the caret on the tooltip points to
model.caretX=tooltipPosition.x;model.caretY=tooltipPosition.y;me._model=model;if(changed&&opts.custom){opts.custom.call(me,model);}return me;},drawCaret:function drawCaret(tooltipPoint,size){var ctx=this._chart.ctx;var vm=this._view;var caretPosition=this.getCaretPosition(tooltipPoint,size,vm);ctx.lineTo(caretPosition.x1,caretPosition.y1);ctx.lineTo(caretPosition.x2,caretPosition.y2);ctx.lineTo(caretPosition.x3,caretPosition.y3);},getCaretPosition:function getCaretPosition(tooltipPoint,size,vm){var x1,x2,x3,y1,y2,y3;var caretSize=vm.caretSize;var cornerRadius=vm.cornerRadius;var xAlign=vm.xAlign;var yAlign=vm.yAlign;var ptX=tooltipPoint.x;var ptY=tooltipPoint.y;var width=size.width;var height=size.height;if(yAlign==='center'){y2=ptY+height/2;if(xAlign==='left'){x1=ptX;x2=x1-caretSize;x3=x1;y1=y2+caretSize;y3=y2-caretSize;}else{x1=ptX+width;x2=x1+caretSize;x3=x1;y1=y2-caretSize;y3=y2+caretSize;}}else{if(xAlign==='left'){x2=ptX+cornerRadius+caretSize;x1=x2-caretSize;x3=x2+caretSize;}else if(xAlign==='right'){x2=ptX+width-cornerRadius-caretSize;x1=x2-caretSize;x3=x2+caretSize;}else{x2=vm.caretX;x1=x2-caretSize;x3=x2+caretSize;}if(yAlign==='top'){y1=ptY;y2=y1-caretSize;y3=y1;}else{y1=ptY+height;y2=y1+caretSize;y3=y1;// invert drawing order
var tmp=x3;x3=x1;x1=tmp;}}return{x1:x1,x2:x2,x3:x3,y1:y1,y2:y2,y3:y3};},drawTitle:function drawTitle(pt,vm,ctx,opacity){var title=vm.title;if(title.length){ctx.textAlign=vm._titleAlign;ctx.textBaseline='top';var titleFontSize=vm.titleFontSize;var titleSpacing=vm.titleSpacing;ctx.fillStyle=mergeOpacity(vm.titleFontColor,opacity);ctx.font=helpers.fontString(titleFontSize,vm._titleFontStyle,vm._titleFontFamily);var i,len;for(i=0,len=title.length;i<len;++i){ctx.fillText(title[i],pt.x,pt.y);pt.y+=titleFontSize+titleSpacing;// Line Height and spacing
if(i+1===title.length){pt.y+=vm.titleMarginBottom-titleSpacing;// If Last, add margin, remove spacing
}}}},drawBody:function drawBody(pt,vm,ctx,opacity){var bodyFontSize=vm.bodyFontSize;var bodySpacing=vm.bodySpacing;var body=vm.body;ctx.textAlign=vm._bodyAlign;ctx.textBaseline='top';ctx.font=helpers.fontString(bodyFontSize,vm._bodyFontStyle,vm._bodyFontFamily);// Before Body
var xLinePadding=0;var fillLineOfText=function fillLineOfText(line){ctx.fillText(line,pt.x+xLinePadding,pt.y);pt.y+=bodyFontSize+bodySpacing;};// Before body lines
ctx.fillStyle=mergeOpacity(vm.bodyFontColor,opacity);helpers.each(vm.beforeBody,fillLineOfText);var drawColorBoxes=vm.displayColors;xLinePadding=drawColorBoxes?bodyFontSize+2:0;// Draw body lines now
helpers.each(body,function(bodyItem,i){var textColor=mergeOpacity(vm.labelTextColors[i],opacity);ctx.fillStyle=textColor;helpers.each(bodyItem.before,fillLineOfText);helpers.each(bodyItem.lines,function(line){// Draw Legend-like boxes if needed
if(drawColorBoxes){// Fill a white rect so that colours merge nicely if the opacity is < 1
ctx.fillStyle=mergeOpacity(vm.legendColorBackground,opacity);ctx.fillRect(pt.x,pt.y,bodyFontSize,bodyFontSize);// Border
ctx.lineWidth=1;ctx.strokeStyle=mergeOpacity(vm.labelColors[i].borderColor,opacity);ctx.strokeRect(pt.x,pt.y,bodyFontSize,bodyFontSize);// Inner square
ctx.fillStyle=mergeOpacity(vm.labelColors[i].backgroundColor,opacity);ctx.fillRect(pt.x+1,pt.y+1,bodyFontSize-2,bodyFontSize-2);ctx.fillStyle=textColor;}fillLineOfText(line);});helpers.each(bodyItem.after,fillLineOfText);});// Reset back to 0 for after body
xLinePadding=0;// After body lines
helpers.each(vm.afterBody,fillLineOfText);pt.y-=bodySpacing;// Remove last body spacing
},drawFooter:function drawFooter(pt,vm,ctx,opacity){var footer=vm.footer;if(footer.length){pt.y+=vm.footerMarginTop;ctx.textAlign=vm._footerAlign;ctx.textBaseline='top';ctx.fillStyle=mergeOpacity(vm.footerFontColor,opacity);ctx.font=helpers.fontString(vm.footerFontSize,vm._footerFontStyle,vm._footerFontFamily);helpers.each(footer,function(line){ctx.fillText(line,pt.x,pt.y);pt.y+=vm.footerFontSize+vm.footerSpacing;});}},drawBackground:function drawBackground(pt,vm,ctx,tooltipSize,opacity){ctx.fillStyle=mergeOpacity(vm.backgroundColor,opacity);ctx.strokeStyle=mergeOpacity(vm.borderColor,opacity);ctx.lineWidth=vm.borderWidth;var xAlign=vm.xAlign;var yAlign=vm.yAlign;var x=pt.x;var y=pt.y;var width=tooltipSize.width;var height=tooltipSize.height;var radius=vm.cornerRadius;ctx.beginPath();ctx.moveTo(x+radius,y);if(yAlign==='top'){this.drawCaret(pt,tooltipSize);}ctx.lineTo(x+width-radius,y);ctx.quadraticCurveTo(x+width,y,x+width,y+radius);if(yAlign==='center'&&xAlign==='right'){this.drawCaret(pt,tooltipSize);}ctx.lineTo(x+width,y+height-radius);ctx.quadraticCurveTo(x+width,y+height,x+width-radius,y+height);if(yAlign==='bottom'){this.drawCaret(pt,tooltipSize);}ctx.lineTo(x+radius,y+height);ctx.quadraticCurveTo(x,y+height,x,y+height-radius);if(yAlign==='center'&&xAlign==='left'){this.drawCaret(pt,tooltipSize);}ctx.lineTo(x,y+radius);ctx.quadraticCurveTo(x,y,x+radius,y);ctx.closePath();ctx.fill();if(vm.borderWidth>0){ctx.stroke();}},draw:function draw(){var ctx=this._chart.ctx;var vm=this._view;if(vm.opacity===0){return;}var tooltipSize={width:vm.width,height:vm.height};var pt={x:vm.x,y:vm.y};// IE11/Edge does not like very small opacities, so snap to 0
var opacity=Math.abs(vm.opacity<1e-3)?0:vm.opacity;// Truthy/falsey value for empty tooltip
var hasTooltipContent=vm.title.length||vm.beforeBody.length||vm.body.length||vm.afterBody.length||vm.footer.length;if(this._options.enabled&&hasTooltipContent){// Draw Background
this.drawBackground(pt,vm,ctx,tooltipSize,opacity);// Draw Title, Body, and Footer
pt.x+=vm.xPadding;pt.y+=vm.yPadding;// Titles
this.drawTitle(pt,vm,ctx,opacity);// Body
this.drawBody(pt,vm,ctx,opacity);// Footer
this.drawFooter(pt,vm,ctx,opacity);}},/**
	 * Handle an event
	 * @private
	 * @param {IEvent} event - The event to handle
	 * @returns {Boolean} true if the tooltip changed
	 */handleEvent:function handleEvent(e){var me=this;var options=me._options;var changed=false;me._lastActive=me._lastActive||[];// Find Active Elements for tooltips
if(e.type==='mouseout'){me._active=[];}else{me._active=me._chart.getElementsAtEventForMode(e,options.mode,options);}// Remember Last Actives
changed=!helpers.arrayEquals(me._active,me._lastActive);// Only handle target event on tooltip change
if(changed){me._lastActive=me._active;if(options.enabled||options.custom){me._eventPosition={x:e.x,y:e.y};me.update(true);me.pivot();}}return changed;}});/**
 * @namespace Chart.Tooltip.positioners
 */exports.positioners=positioners;/***/},/* 27 *//***/function(module,exports,__webpack_require__){//! moment.js locale configuration
;(function(global,factory){true?factory(__webpack_require__(0)):typeof define==='function'&&define.amd?define(['../moment'],factory):factory(global.moment);})(this,function(moment){'use strict';var af=moment.defineLocale('af',{months:'Januarie_Februarie_Maart_April_Mei_Junie_Julie_Augustus_September_Oktober_November_Desember'.split('_'),monthsShort:'Jan_Feb_Mrt_Apr_Mei_Jun_Jul_Aug_Sep_Okt_Nov_Des'.split('_'),weekdays:'Sondag_Maandag_Dinsdag_Woensdag_Donderdag_Vrydag_Saterdag'.split('_'),weekdaysShort:'Son_Maa_Din_Woe_Don_Vry_Sat'.split('_'),weekdaysMin:'So_Ma_Di_Wo_Do_Vr_Sa'.split('_'),meridiemParse:/vm|nm/i,isPM:function isPM(input){return /^nm$/i.test(input);},meridiem:function meridiem(hours,minutes,isLower){if(hours<12){return isLower?'vm':'VM';}else{return isLower?'nm':'NM';}},longDateFormat:{LT:'HH:mm',LTS:'HH:mm:ss',L:'DD/MM/YYYY',LL:'D MMMM YYYY',LLL:'D MMMM YYYY HH:mm',LLLL:'dddd, D MMMM YYYY HH:mm'},calendar:{sameDay:'[Vandag om] LT',nextDay:'[Môre om] LT',nextWeek:'dddd [om] LT',lastDay:'[Gister om] LT',lastWeek:'[Laas] dddd [om] LT',sameElse:'L'},relativeTime:{future:'oor %s',past:'%s gelede',s:'\'n paar sekondes',ss:'%d sekondes',m:'\'n minuut',mm:'%d minute',h:'\'n uur',hh:'%d ure',d:'\'n dag',dd:'%d dae',M:'\'n maand',MM:'%d maande',y:'\'n jaar',yy:'%d jaar'},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function ordinal(number){return number+(number===1||number===8||number>=20?'ste':'de');// Thanks to Joris Röling : https://github.com/jjupiter
},week:{dow:1,// Maandag is die eerste dag van die week.
doy:4// Die week wat die 4de Januarie bevat is die eerste week van die jaar.
}});return af;});/***/},/* 28 *//***/function(module,exports,__webpack_require__){//! moment.js locale configuration
;(function(global,factory){true?factory(__webpack_require__(0)):typeof define==='function'&&define.amd?define(['../moment'],factory):factory(global.moment);})(this,function(moment){'use strict';var symbolMap={'1':'١','2':'٢','3':'٣','4':'٤','5':'٥','6':'٦','7':'٧','8':'٨','9':'٩','0':'٠'},numberMap={'١':'1','٢':'2','٣':'3','٤':'4','٥':'5','٦':'6','٧':'7','٨':'8','٩':'9','٠':'0'},pluralForm=function pluralForm(n){return n===0?0:n===1?1:n===2?2:n%100>=3&&n%100<=10?3:n%100>=11?4:5;},plurals={s:['أقل من ثانية','ثانية واحدة',['ثانيتان','ثانيتين'],'%d ثوان','%d ثانية','%d ثانية'],m:['أقل من دقيقة','دقيقة واحدة',['دقيقتان','دقيقتين'],'%d دقائق','%d دقيقة','%d دقيقة'],h:['أقل من ساعة','ساعة واحدة',['ساعتان','ساعتين'],'%d ساعات','%d ساعة','%d ساعة'],d:['أقل من يوم','يوم واحد',['يومان','يومين'],'%d أيام','%d يومًا','%d يوم'],M:['أقل من شهر','شهر واحد',['شهران','شهرين'],'%d أشهر','%d شهرا','%d شهر'],y:['أقل من عام','عام واحد',['عامان','عامين'],'%d أعوام','%d عامًا','%d عام']},pluralize=function pluralize(u){return function(number,withoutSuffix,string,isFuture){var f=pluralForm(number),str=plurals[u][pluralForm(number)];if(f===2){str=str[withoutSuffix?0:1];}return str.replace(/%d/i,number);};},months=['يناير','فبراير','مارس','أبريل','مايو','يونيو','يوليو','أغسطس','سبتمبر','أكتوبر','نوفمبر','ديسمبر'];var ar=moment.defineLocale('ar',{months:months,monthsShort:months,weekdays:'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),weekdaysShort:'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),weekdaysMin:'ح_ن_ث_ر_خ_ج_س'.split('_'),weekdaysParseExact:true,longDateFormat:{LT:'HH:mm',LTS:'HH:mm:ss',L:'D/\u200FM/\u200FYYYY',LL:'D MMMM YYYY',LLL:'D MMMM YYYY HH:mm',LLLL:'dddd D MMMM YYYY HH:mm'},meridiemParse:/ص|م/,isPM:function isPM(input){return'م'===input;},meridiem:function meridiem(hour,minute,isLower){if(hour<12){return'ص';}else{return'م';}},calendar:{sameDay:'[اليوم عند الساعة] LT',nextDay:'[غدًا عند الساعة] LT',nextWeek:'dddd [عند الساعة] LT',lastDay:'[أمس عند الساعة] LT',lastWeek:'dddd [عند الساعة] LT',sameElse:'L'},relativeTime:{future:'بعد %s',past:'منذ %s',s:pluralize('s'),ss:pluralize('s'),m:pluralize('m'),mm:pluralize('m'),h:pluralize('h'),hh:pluralize('h'),d:pluralize('d'),dd:pluralize('d'),M:pluralize('M'),MM:pluralize('M'),y:pluralize('y'),yy:pluralize('y')},preparse:function preparse(string){return string.replace(/[١٢٣٤٥٦٧٨٩٠]/g,function(match){return numberMap[match];}).replace(/،/g,',');},postformat:function postformat(string){return string.replace(/\d/g,function(match){return symbolMap[match];}).replace(/,/g,'،');},week:{dow:6,// Saturday is the first day of the week.
doy:12// The week that contains Jan 12th is the first week of the year.
}});return ar;});/***/},/* 29 *//***/function(module,exports,__webpack_require__){//! moment.js locale configuration
;(function(global,factory){true?factory(__webpack_require__(0)):typeof define==='function'&&define.amd?define(['../moment'],factory):factory(global.moment);})(this,function(moment){'use strict';var arDz=moment.defineLocale('ar-dz',{months:'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),monthsShort:'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),weekdays:'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),weekdaysShort:'احد_اثنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),weekdaysMin:'أح_إث_ثلا_أر_خم_جم_سب'.split('_'),weekdaysParseExact:true,longDateFormat:{LT:'HH:mm',LTS:'HH:mm:ss',L:'DD/MM/YYYY',LL:'D MMMM YYYY',LLL:'D MMMM YYYY HH:mm',LLLL:'dddd D MMMM YYYY HH:mm'},calendar:{sameDay:'[اليوم على الساعة] LT',nextDay:'[غدا على الساعة] LT',nextWeek:'dddd [على الساعة] LT',lastDay:'[أمس على الساعة] LT',lastWeek:'dddd [على الساعة] LT',sameElse:'L'},relativeTime:{future:'في %s',past:'منذ %s',s:'ثوان',ss:'%d ثانية',m:'دقيقة',mm:'%d دقائق',h:'ساعة',hh:'%d ساعات',d:'يوم',dd:'%d أيام',M:'شهر',MM:'%d أشهر',y:'سنة',yy:'%d سنوات'},week:{dow:0,// Sunday is the first day of the week.
doy:4// The week that contains Jan 4th is the first week of the year.
}});return arDz;});/***/},/* 30 *//***/function(module,exports,__webpack_require__){//! moment.js locale configuration
;(function(global,factory){true?factory(__webpack_require__(0)):typeof define==='function'&&define.amd?define(['../moment'],factory):factory(global.moment);})(this,function(moment){'use strict';var arKw=moment.defineLocale('ar-kw',{months:'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'),monthsShort:'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'),weekdays:'الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),weekdaysShort:'احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),weekdaysMin:'ح_ن_ث_ر_خ_ج_س'.split('_'),weekdaysParseExact:true,longDateFormat:{LT:'HH:mm',LTS:'HH:mm:ss',L:'DD/MM/YYYY',LL:'D MMMM YYYY',LLL:'D MMMM YYYY HH:mm',LLLL:'dddd D MMMM YYYY HH:mm'},calendar:{sameDay:'[اليوم على الساعة] LT',nextDay:'[غدا على الساعة] LT',nextWeek:'dddd [على الساعة] LT',lastDay:'[أمس على الساعة] LT',lastWeek:'dddd [على الساعة] LT',sameElse:'L'},relativeTime:{future:'في %s',past:'منذ %s',s:'ثوان',ss:'%d ثانية',m:'دقيقة',mm:'%d دقائق',h:'ساعة',hh:'%d ساعات',d:'يوم',dd:'%d أيام',M:'شهر',MM:'%d أشهر',y:'سنة',yy:'%d سنوات'},week:{dow:0,// Sunday is the first day of the week.
doy:12// The week that contains Jan 12th is the first week of the year.
}});return arKw;});/***/},/* 31 *//***/function(module,exports,__webpack_require__){//! moment.js locale configuration
;(function(global,factory){true?factory(__webpack_require__(0)):typeof define==='function'&&define.amd?define(['../moment'],factory):factory(global.moment);})(this,function(moment){'use strict';var symbolMap={'1':'1','2':'2','3':'3','4':'4','5':'5','6':'6','7':'7','8':'8','9':'9','0':'0'},pluralForm=function pluralForm(n){return n===0?0:n===1?1:n===2?2:n%100>=3&&n%100<=10?3:n%100>=11?4:5;},plurals={s:['أقل من ثانية','ثانية واحدة',['ثانيتان','ثانيتين'],'%d ثوان','%d ثانية','%d ثانية'],m:['أقل من دقيقة','دقيقة واحدة',['دقيقتان','دقيقتين'],'%d دقائق','%d دقيقة','%d دقيقة'],h:['أقل من ساعة','ساعة واحدة',['ساعتان','ساعتين'],'%d ساعات','%d ساعة','%d ساعة'],d:['أقل من يوم','يوم واحد',['يومان','يومين'],'%d أيام','%d يومًا','%d يوم'],M:['أقل من شهر','شهر واحد',['شهران','شهرين'],'%d أشهر','%d شهرا','%d شهر'],y:['أقل من عام','عام واحد',['عامان','عامين'],'%d أعوام','%d عامًا','%d عام']},pluralize=function pluralize(u){return function(number,withoutSuffix,string,isFuture){var f=pluralForm(number),str=plurals[u][pluralForm(number)];if(f===2){str=str[withoutSuffix?0:1];}return str.replace(/%d/i,number);};},months=['يناير','فبراير','مارس','أبريل','مايو','يونيو','يوليو','أغسطس','سبتمبر','أكتوبر','نوفمبر','ديسمبر'];var arLy=moment.defineLocale('ar-ly',{months:months,monthsShort:months,weekdays:'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),weekdaysShort:'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),weekdaysMin:'ح_ن_ث_ر_خ_ج_س'.split('_'),weekdaysParseExact:true,longDateFormat:{LT:'HH:mm',LTS:'HH:mm:ss',L:'D/\u200FM/\u200FYYYY',LL:'D MMMM YYYY',LLL:'D MMMM YYYY HH:mm',LLLL:'dddd D MMMM YYYY HH:mm'},meridiemParse:/ص|م/,isPM:function isPM(input){return'م'===input;},meridiem:function meridiem(hour,minute,isLower){if(hour<12){return'ص';}else{return'م';}},calendar:{sameDay:'[اليوم عند الساعة] LT',nextDay:'[غدًا عند الساعة] LT',nextWeek:'dddd [عند الساعة] LT',lastDay:'[أمس عند الساعة] LT',lastWeek:'dddd [عند الساعة] LT',sameElse:'L'},relativeTime:{future:'بعد %s',past:'منذ %s',s:pluralize('s'),ss:pluralize('s'),m:pluralize('m'),mm:pluralize('m'),h:pluralize('h'),hh:pluralize('h'),d:pluralize('d'),dd:pluralize('d'),M:pluralize('M'),MM:pluralize('M'),y:pluralize('y'),yy:pluralize('y')},preparse:function preparse(string){return string.replace(/،/g,',');},postformat:function postformat(string){return string.replace(/\d/g,function(match){return symbolMap[match];}).replace(/,/g,'،');},week:{dow:6,// Saturday is the first day of the week.
doy:12// The week that contains Jan 12th is the first week of the year.
}});return arLy;});/***/},/* 32 *//***/function(module,exports,__webpack_require__){//! moment.js locale configuration
;(function(global,factory){true?factory(__webpack_require__(0)):typeof define==='function'&&define.amd?define(['../moment'],factory):factory(global.moment);})(this,function(moment){'use strict';var arMa=moment.defineLocale('ar-ma',{months:'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'),monthsShort:'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'),weekdays:'الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),weekdaysShort:'احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),weekdaysMin:'ح_ن_ث_ر_خ_ج_س'.split('_'),weekdaysParseExact:true,longDateFormat:{LT:'HH:mm',LTS:'HH:mm:ss',L:'DD/MM/YYYY',LL:'D MMMM YYYY',LLL:'D MMMM YYYY HH:mm',LLLL:'dddd D MMMM YYYY HH:mm'},calendar:{sameDay:'[اليوم على الساعة] LT',nextDay:'[غدا على الساعة] LT',nextWeek:'dddd [على الساعة] LT',lastDay:'[أمس على الساعة] LT',lastWeek:'dddd [على الساعة] LT',sameElse:'L'},relativeTime:{future:'في %s',past:'منذ %s',s:'ثوان',ss:'%d ثانية',m:'دقيقة',mm:'%d دقائق',h:'ساعة',hh:'%d ساعات',d:'يوم',dd:'%d أيام',M:'شهر',MM:'%d أشهر',y:'سنة',yy:'%d سنوات'},week:{dow:6,// Saturday is the first day of the week.
doy:12// The week that contains Jan 12th is the first week of the year.
}});return arMa;});/***/},/* 33 *//***/function(module,exports,__webpack_require__){//! moment.js locale configuration
;(function(global,factory){true?factory(__webpack_require__(0)):typeof define==='function'&&define.amd?define(['../moment'],factory):factory(global.moment);})(this,function(moment){'use strict';var symbolMap={'1':'١','2':'٢','3':'٣','4':'٤','5':'٥','6':'٦','7':'٧','8':'٨','9':'٩','0':'٠'},numberMap={'١':'1','٢':'2','٣':'3','٤':'4','٥':'5','٦':'6','٧':'7','٨':'8','٩':'9','٠':'0'};var arSa=moment.defineLocale('ar-sa',{months:'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),monthsShort:'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),weekdays:'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),weekdaysShort:'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),weekdaysMin:'ح_ن_ث_ر_خ_ج_س'.split('_'),weekdaysParseExact:true,longDateFormat:{LT:'HH:mm',LTS:'HH:mm:ss',L:'DD/MM/YYYY',LL:'D MMMM YYYY',LLL:'D MMMM YYYY HH:mm',LLLL:'dddd D MMMM YYYY HH:mm'},meridiemParse:/ص|م/,isPM:function isPM(input){return'م'===input;},meridiem:function meridiem(hour,minute,isLower){if(hour<12){return'ص';}else{return'م';}},calendar:{sameDay:'[اليوم على الساعة] LT',nextDay:'[غدا على الساعة] LT',nextWeek:'dddd [على الساعة] LT',lastDay:'[أمس على الساعة] LT',lastWeek:'dddd [على الساعة] LT',sameElse:'L'},relativeTime:{future:'في %s',past:'منذ %s',s:'ثوان',ss:'%d ثانية',m:'دقيقة',mm:'%d دقائق',h:'ساعة',hh:'%d ساعات',d:'يوم',dd:'%d أيام',M:'شهر',MM:'%d أشهر',y:'سنة',yy:'%d سنوات'},preparse:function preparse(string){return string.replace(/[١٢٣٤٥٦٧٨٩٠]/g,function(match){return numberMap[match];}).replace(/،/g,',');},postformat:function postformat(string){return string.replace(/\d/g,function(match){return symbolMap[match];}).replace(/,/g,'،');},week:{dow:0,// Sunday is the first day of the week.
doy:6// The week that contains Jan 6th is the first week of the year.
}});return arSa;});/***/},/* 34 *//***/function(module,exports,__webpack_require__){//! moment.js locale configuration
;(function(global,factory){true?factory(__webpack_require__(0)):typeof define==='function'&&define.amd?define(['../moment'],factory):factory(global.moment);})(this,function(moment){'use strict';var arTn=moment.defineLocale('ar-tn',{months:'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),monthsShort:'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),weekdays:'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),weekdaysShort:'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),weekdaysMin:'ح_ن_ث_ر_خ_ج_س'.split('_'),weekdaysParseExact:true,longDateFormat:{LT:'HH:mm',LTS:'HH:mm:ss',L:'DD/MM/YYYY',LL:'D MMMM YYYY',LLL:'D MMMM YYYY HH:mm',LLLL:'dddd D MMMM YYYY HH:mm'},calendar:{sameDay:'[اليوم على الساعة] LT',nextDay:'[غدا على الساعة] LT',nextWeek:'dddd [على الساعة] LT',lastDay:'[أمس على الساعة] LT',lastWeek:'dddd [على الساعة] LT',sameElse:'L'},relativeTime:{future:'في %s',past:'منذ %s',s:'ثوان',ss:'%d ثانية',m:'دقيقة',mm:'%d دقائق',h:'ساعة',hh:'%d ساعات',d:'يوم',dd:'%d أيام',M:'شهر',MM:'%d أشهر',y:'سنة',yy:'%d سنوات'},week:{dow:1,// Monday is the first day of the week.
doy:4// The week that contains Jan 4th is the first week of the year.
}});return arTn;});/***/},/* 35 *//***/function(module,exports,__webpack_require__){//! moment.js locale configuration
;(function(global,factory){true?factory(__webpack_require__(0)):typeof define==='function'&&define.amd?define(['../moment'],factory):factory(global.moment);})(this,function(moment){'use strict';var suffixes={1:'-inci',5:'-inci',8:'-inci',70:'-inci',80:'-inci',2:'-nci',7:'-nci',20:'-nci',50:'-nci',3:'-üncü',4:'-üncü',100:'-üncü',6:'-ncı',9:'-uncu',10:'-uncu',30:'-uncu',60:'-ıncı',90:'-ıncı'};var az=moment.defineLocale('az',{months:'yanvar_fevral_mart_aprel_may_iyun_iyul_avqust_sentyabr_oktyabr_noyabr_dekabr'.split('_'),monthsShort:'yan_fev_mar_apr_may_iyn_iyl_avq_sen_okt_noy_dek'.split('_'),weekdays:'Bazar_Bazar ertəsi_Çərşənbə axşamı_Çərşənbə_Cümə axşamı_Cümə_Şənbə'.split('_'),weekdaysShort:'Baz_BzE_ÇAx_Çər_CAx_Cüm_Şən'.split('_'),weekdaysMin:'Bz_BE_ÇA_Çə_CA_Cü_Şə'.split('_'),weekdaysParseExact:true,longDateFormat:{LT:'HH:mm',LTS:'HH:mm:ss',L:'DD.MM.YYYY',LL:'D MMMM YYYY',LLL:'D MMMM YYYY HH:mm',LLLL:'dddd, D MMMM YYYY HH:mm'},calendar:{sameDay:'[bugün saat] LT',nextDay:'[sabah saat] LT',nextWeek:'[gələn həftə] dddd [saat] LT',lastDay:'[dünən] LT',lastWeek:'[keçən həftə] dddd [saat] LT',sameElse:'L'},relativeTime:{future:'%s sonra',past:'%s əvvəl',s:'birneçə saniyə',ss:'%d saniyə',m:'bir dəqiqə',mm:'%d dəqiqə',h:'bir saat',hh:'%d saat',d:'bir gün',dd:'%d gün',M:'bir ay',MM:'%d ay',y:'bir il',yy:'%d il'},meridiemParse:/gecə|səhər|gündüz|axşam/,isPM:function isPM(input){return /^(gündüz|axşam)$/.test(input);},meridiem:function meridiem(hour,minute,isLower){if(hour<4){return'gecə';}else if(hour<12){return'səhər';}else if(hour<17){return'gündüz';}else{return'axşam';}},dayOfMonthOrdinalParse:/\d{1,2}-(ıncı|inci|nci|üncü|ncı|uncu)/,ordinal:function ordinal(number){if(number===0){// special case for zero
return number+'-ıncı';}var a=number%10,b=number%100-a,c=number>=100?100:null;return number+(suffixes[a]||suffixes[b]||suffixes[c]);},week:{dow:1,// Monday is the first day of the week.
doy:7// The week that contains Jan 7th is the first week of the year.
}});return az;});/***/},/* 36 *//***/function(module,exports,__webpack_require__){//! moment.js locale configuration
;(function(global,factory){true?factory(__webpack_require__(0)):typeof define==='function'&&define.amd?define(['../moment'],factory):factory(global.moment);})(this,function(moment){'use strict';function plural(word,num){var forms=word.split('_');return num%10===1&&num%100!==11?forms[0]:num%10>=2&&num%10<=4&&(num%100<10||num%100>=20)?forms[1]:forms[2];}function relativeTimeWithPlural(number,withoutSuffix,key){var format={'ss':withoutSuffix?'секунда_секунды_секунд':'секунду_секунды_секунд','mm':withoutSuffix?'хвіліна_хвіліны_хвілін':'хвіліну_хвіліны_хвілін','hh':withoutSuffix?'гадзіна_гадзіны_гадзін':'гадзіну_гадзіны_гадзін','dd':'дзень_дні_дзён','MM':'месяц_месяцы_месяцаў','yy':'год_гады_гадоў'};if(key==='m'){return withoutSuffix?'хвіліна':'хвіліну';}else if(key==='h'){return withoutSuffix?'гадзіна':'гадзіну';}else{return number+' '+plural(format[key],+number);}}var be=moment.defineLocale('be',{months:{format:'студзеня_лютага_сакавіка_красавіка_траўня_чэрвеня_ліпеня_жніўня_верасня_кастрычніка_лістапада_снежня'.split('_'),standalone:'студзень_люты_сакавік_красавік_травень_чэрвень_ліпень_жнівень_верасень_кастрычнік_лістапад_снежань'.split('_')},monthsShort:'студ_лют_сак_крас_трав_чэрв_ліп_жнів_вер_каст_ліст_снеж'.split('_'),weekdays:{format:'нядзелю_панядзелак_аўторак_сераду_чацвер_пятніцу_суботу'.split('_'),standalone:'нядзеля_панядзелак_аўторак_серада_чацвер_пятніца_субота'.split('_'),isFormat:/\[ ?[Ууў] ?(?:мінулую|наступную)? ?\] ?dddd/},weekdaysShort:'нд_пн_ат_ср_чц_пт_сб'.split('_'),weekdaysMin:'нд_пн_ат_ср_чц_пт_сб'.split('_'),longDateFormat:{LT:'HH:mm',LTS:'HH:mm:ss',L:'DD.MM.YYYY',LL:'D MMMM YYYY г.',LLL:'D MMMM YYYY г., HH:mm',LLLL:'dddd, D MMMM YYYY г., HH:mm'},calendar:{sameDay:'[Сёння ў] LT',nextDay:'[Заўтра ў] LT',lastDay:'[Учора ў] LT',nextWeek:function nextWeek(){return'[У] dddd [ў] LT';},lastWeek:function lastWeek(){switch(this.day()){case 0:case 3:case 5:case 6:return'[У мінулую] dddd [ў] LT';case 1:case 2:case 4:return'[У мінулы] dddd [ў] LT';}},sameElse:'L'},relativeTime:{future:'праз %s',past:'%s таму',s:'некалькі секунд',m:relativeTimeWithPlural,mm:relativeTimeWithPlural,h:relativeTimeWithPlural,hh:relativeTimeWithPlural,d:'дзень',dd:relativeTimeWithPlural,M:'месяц',MM:relativeTimeWithPlural,y:'год',yy:relativeTimeWithPlural},meridiemParse:/ночы|раніцы|дня|вечара/,isPM:function isPM(input){return /^(дня|вечара)$/.test(input);},meridiem:function meridiem(hour,minute,isLower){if(hour<4){return'ночы';}else if(hour<12){return'раніцы';}else if(hour<17){return'дня';}else{return'вечара';}},dayOfMonthOrdinalParse:/\d{1,2}-(і|ы|га)/,ordinal:function ordinal(number,period){switch(period){case'M':case'd':case'DDD':case'w':case'W':return(number%10===2||number%10===3)&&number%100!==12&&number%100!==13?number+'-і':number+'-ы';case'D':return number+'-га';default:return number;}},week:{dow:1,// Monday is the first day of the week.
doy:7// The week that contains Jan 7th is the first week of the year.
}});return be;});/***/},/* 37 *//***/function(module,exports,__webpack_require__){//! moment.js locale configuration
;(function(global,factory){true?factory(__webpack_require__(0)):typeof define==='function'&&define.amd?define(['../moment'],factory):factory(global.moment);})(this,function(moment){'use strict';var bg=moment.defineLocale('bg',{months:'януари_февруари_март_април_май_юни_юли_август_септември_октомври_ноември_декември'.split('_'),monthsShort:'янр_фев_мар_апр_май_юни_юли_авг_сеп_окт_ное_дек'.split('_'),weekdays:'неделя_понеделник_вторник_сряда_четвъртък_петък_събота'.split('_'),weekdaysShort:'нед_пон_вто_сря_чет_пет_съб'.split('_'),weekdaysMin:'нд_пн_вт_ср_чт_пт_сб'.split('_'),longDateFormat:{LT:'H:mm',LTS:'H:mm:ss',L:'D.MM.YYYY',LL:'D MMMM YYYY',LLL:'D MMMM YYYY H:mm',LLLL:'dddd, D MMMM YYYY H:mm'},calendar:{sameDay:'[Днес в] LT',nextDay:'[Утре в] LT',nextWeek:'dddd [в] LT',lastDay:'[Вчера в] LT',lastWeek:function lastWeek(){switch(this.day()){case 0:case 3:case 6:return'[В изминалата] dddd [в] LT';case 1:case 2:case 4:case 5:return'[В изминалия] dddd [в] LT';}},sameElse:'L'},relativeTime:{future:'след %s',past:'преди %s',s:'няколко секунди',ss:'%d секунди',m:'минута',mm:'%d минути',h:'час',hh:'%d часа',d:'ден',dd:'%d дни',M:'месец',MM:'%d месеца',y:'година',yy:'%d години'},dayOfMonthOrdinalParse:/\d{1,2}-(ев|ен|ти|ви|ри|ми)/,ordinal:function ordinal(number){var lastDigit=number%10,last2Digits=number%100;if(number===0){return number+'-ев';}else if(last2Digits===0){return number+'-ен';}else if(last2Digits>10&&last2Digits<20){return number+'-ти';}else if(lastDigit===1){return number+'-ви';}else if(lastDigit===2){return number+'-ри';}else if(lastDigit===7||lastDigit===8){return number+'-ми';}else{return number+'-ти';}},week:{dow:1,// Monday is the first day of the week.
doy:7// The week that contains Jan 7th is the first week of the year.
}});return bg;});/***/},/* 38 *//***/function(module,exports,__webpack_require__){//! moment.js locale configuration
;(function(global,factory){true?factory(__webpack_require__(0)):typeof define==='function'&&define.amd?define(['../moment'],factory):factory(global.moment);})(this,function(moment){'use strict';var bm=moment.defineLocale('bm',{months:'Zanwuyekalo_Fewuruyekalo_Marisikalo_Awirilikalo_Mɛkalo_Zuwɛnkalo_Zuluyekalo_Utikalo_Sɛtanburukalo_ɔkutɔburukalo_Nowanburukalo_Desanburukalo'.split('_'),monthsShort:'Zan_Few_Mar_Awi_Mɛ_Zuw_Zul_Uti_Sɛt_ɔku_Now_Des'.split('_'),weekdays:'Kari_Ntɛnɛn_Tarata_Araba_Alamisa_Juma_Sibiri'.split('_'),weekdaysShort:'Kar_Ntɛ_Tar_Ara_Ala_Jum_Sib'.split('_'),weekdaysMin:'Ka_Nt_Ta_Ar_Al_Ju_Si'.split('_'),longDateFormat:{LT:'HH:mm',LTS:'HH:mm:ss',L:'DD/MM/YYYY',LL:'MMMM [tile] D [san] YYYY',LLL:'MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm',LLLL:'dddd MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm'},calendar:{sameDay:'[Bi lɛrɛ] LT',nextDay:'[Sini lɛrɛ] LT',nextWeek:'dddd [don lɛrɛ] LT',lastDay:'[Kunu lɛrɛ] LT',lastWeek:'dddd [tɛmɛnen lɛrɛ] LT',sameElse:'L'},relativeTime:{future:'%s kɔnɔ',past:'a bɛ %s bɔ',s:'sanga dama dama',ss:'sekondi %d',m:'miniti kelen',mm:'miniti %d',h:'lɛrɛ kelen',hh:'lɛrɛ %d',d:'tile kelen',dd:'tile %d',M:'kalo kelen',MM:'kalo %d',y:'san kelen',yy:'san %d'},week:{dow:1,// Monday is the first day of the week.
doy:4// The week that contains Jan 4th is the first week of the year.
}});return bm;});/***/},/* 39 *//***/function(module,exports,__webpack_require__){//! moment.js locale configuration
;(function(global,factory){true?factory(__webpack_require__(0)):typeof define==='function'&&define.amd?define(['../moment'],factory):factory(global.moment);})(this,function(moment){'use strict';var symbolMap={'1':'১','2':'২','3':'৩','4':'৪','5':'৫','6':'৬','7':'৭','8':'৮','9':'৯','0':'০'},numberMap={'১':'1','২':'2','৩':'3','৪':'4','৫':'5','৬':'6','৭':'7','৮':'8','৯':'9','০':'0'};var bn=moment.defineLocale('bn',{months:'জানুয়ারী_ফেব্রুয়ারি_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর'.split('_'),monthsShort:'জানু_ফেব_মার্চ_এপ্র_মে_জুন_জুল_আগ_সেপ্ট_অক্টো_নভে_ডিসে'.split('_'),weekdays:'রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পতিবার_শুক্রবার_শনিবার'.split('_'),weekdaysShort:'রবি_সোম_মঙ্গল_বুধ_বৃহস্পতি_শুক্র_শনি'.split('_'),weekdaysMin:'রবি_সোম_মঙ্গ_বুধ_বৃহঃ_শুক্র_শনি'.split('_'),longDateFormat:{LT:'A h:mm সময়',LTS:'A h:mm:ss সময়',L:'DD/MM/YYYY',LL:'D MMMM YYYY',LLL:'D MMMM YYYY, A h:mm সময়',LLLL:'dddd, D MMMM YYYY, A h:mm সময়'},calendar:{sameDay:'[আজ] LT',nextDay:'[আগামীকাল] LT',nextWeek:'dddd, LT',lastDay:'[গতকাল] LT',lastWeek:'[গত] dddd, LT',sameElse:'L'},relativeTime:{future:'%s পরে',past:'%s আগে',s:'কয়েক সেকেন্ড',ss:'%d সেকেন্ড',m:'এক মিনিট',mm:'%d মিনিট',h:'এক ঘন্টা',hh:'%d ঘন্টা',d:'এক দিন',dd:'%d দিন',M:'এক মাস',MM:'%d মাস',y:'এক বছর',yy:'%d বছর'},preparse:function preparse(string){return string.replace(/[১২৩৪৫৬৭৮৯০]/g,function(match){return numberMap[match];});},postformat:function postformat(string){return string.replace(/\d/g,function(match){return symbolMap[match];});},meridiemParse:/রাত|সকাল|দুপুর|বিকাল|রাত/,meridiemHour:function meridiemHour(hour,meridiem){if(hour===12){hour=0;}if(meridiem==='রাত'&&hour>=4||meridiem==='দুপুর'&&hour<5||meridiem==='বিকাল'){return hour+12;}else{return hour;}},meridiem:function meridiem(hour,minute,isLower){if(hour<4){return'রাত';}else if(hour<10){return'সকাল';}else if(hour<17){return'দুপুর';}else if(hour<20){return'বিকাল';}else{return'রাত';}},week:{dow:0,// Sunday is the first day of the week.
doy:6// The week that contains Jan 6th is the first week of the year.
}});return bn;});/***/},/* 40 *//***/function(module,exports,__webpack_require__){//! moment.js locale configuration
;(function(global,factory){true?factory(__webpack_require__(0)):typeof define==='function'&&define.amd?define(['../moment'],factory):factory(global.moment);})(this,function(moment){'use strict';var symbolMap={'1':'༡','2':'༢','3':'༣','4':'༤','5':'༥','6':'༦','7':'༧','8':'༨','9':'༩','0':'༠'},numberMap={'༡':'1','༢':'2','༣':'3','༤':'4','༥':'5','༦':'6','༧':'7','༨':'8','༩':'9','༠':'0'};var bo=moment.defineLocale('bo',{months:'ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ'.split('_'),monthsShort:'ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ'.split('_'),weekdays:'གཟའ་ཉི་མ་_གཟའ་ཟླ་བ་_གཟའ་མིག་དམར་_གཟའ་ལྷག་པ་_གཟའ་ཕུར་བུ_གཟའ་པ་སངས་_གཟའ་སྤེན་པ་'.split('_'),weekdaysShort:'ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་'.split('_'),weekdaysMin:'ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་'.split('_'),longDateFormat:{LT:'A h:mm',LTS:'A h:mm:ss',L:'DD/MM/YYYY',LL:'D MMMM YYYY',LLL:'D MMMM YYYY, A h:mm',LLLL:'dddd, D MMMM YYYY, A h:mm'},calendar:{sameDay:'[དི་རིང] LT',nextDay:'[སང་ཉིན] LT',nextWeek:'[བདུན་ཕྲག་རྗེས་མ], LT',lastDay:'[ཁ་སང] LT',lastWeek:'[བདུན་ཕྲག་མཐའ་མ] dddd, LT',sameElse:'L'},relativeTime:{future:'%s ལ་',past:'%s སྔན་ལ',s:'ལམ་སང',ss:'%d སྐར་ཆ།',m:'སྐར་མ་གཅིག',mm:'%d སྐར་མ',h:'ཆུ་ཚོད་གཅིག',hh:'%d ཆུ་ཚོད',d:'ཉིན་གཅིག',dd:'%d ཉིན་',M:'ཟླ་བ་གཅིག',MM:'%d ཟླ་བ',y:'ལོ་གཅིག',yy:'%d ལོ'},preparse:function preparse(string){return string.replace(/[༡༢༣༤༥༦༧༨༩༠]/g,function(match){return numberMap[match];});},postformat:function postformat(string){return string.replace(/\d/g,function(match){return symbolMap[match];});},meridiemParse:/མཚན་མོ|ཞོགས་ཀས|ཉིན་གུང|དགོང་དག|མཚན་མོ/,meridiemHour:function meridiemHour(hour,meridiem){if(hour===12){hour=0;}if(meridiem==='མཚན་མོ'&&hour>=4||meridiem==='ཉིན་གུང'&&hour<5||meridiem==='དགོང་དག'){return hour+12;}else{return hour;}},meridiem:function meridiem(hour,minute,isLower){if(hour<4){return'མཚན་མོ';}else if(hour<10){return'ཞོགས་ཀས';}else if(hour<17){return'ཉིན་གུང';}else if(hour<20){return'དགོང་དག';}else{return'མཚན་མོ';}},week:{dow:0,// Sunday is the first day of the week.
doy:6// The week that contains Jan 6th is the first week of the year.
}});return bo;});/***/},/* 41 *//***/function(module,exports,__webpack_require__){//! moment.js locale configuration
;(function(global,factory){true?factory(__webpack_require__(0)):typeof define==='function'&&define.amd?define(['../moment'],factory):factory(global.moment);})(this,function(moment){'use strict';function relativeTimeWithMutation(number,withoutSuffix,key){var format={'mm':'munutenn','MM':'miz','dd':'devezh'};return number+' '+mutation(format[key],number);}function specialMutationForYears(number){switch(lastNumber(number)){case 1:case 3:case 4:case 5:case 9:return number+' bloaz';default:return number+' vloaz';}}function lastNumber(number){if(number>9){return lastNumber(number%10);}return number;}function mutation(text,number){if(number===2){return softMutation(text);}return text;}function softMutation(text){var mutationTable={'m':'v','b':'v','d':'z'};if(mutationTable[text.charAt(0)]===undefined){return text;}return mutationTable[text.charAt(0)]+text.substring(1);}var br=moment.defineLocale('br',{months:'Genver_C\'hwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu'.split('_'),monthsShort:'Gen_C\'hwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker'.split('_'),weekdays:'Sul_Lun_Meurzh_Merc\'her_Yaou_Gwener_Sadorn'.split('_'),weekdaysShort:'Sul_Lun_Meu_Mer_Yao_Gwe_Sad'.split('_'),weekdaysMin:'Su_Lu_Me_Mer_Ya_Gw_Sa'.split('_'),weekdaysParseExact:true,longDateFormat:{LT:'h[e]mm A',LTS:'h[e]mm:ss A',L:'DD/MM/YYYY',LL:'D [a viz] MMMM YYYY',LLL:'D [a viz] MMMM YYYY h[e]mm A',LLLL:'dddd, D [a viz] MMMM YYYY h[e]mm A'},calendar:{sameDay:'[Hiziv da] LT',nextDay:'[Warc\'hoazh da] LT',nextWeek:'dddd [da] LT',lastDay:'[Dec\'h da] LT',lastWeek:'dddd [paset da] LT',sameElse:'L'},relativeTime:{future:'a-benn %s',past:'%s \'zo',s:'un nebeud segondennoù',ss:'%d eilenn',m:'ur vunutenn',mm:relativeTimeWithMutation,h:'un eur',hh:'%d eur',d:'un devezh',dd:relativeTimeWithMutation,M:'ur miz',MM:relativeTimeWithMutation,y:'ur bloaz',yy:specialMutationForYears},dayOfMonthOrdinalParse:/\d{1,2}(añ|vet)/,ordinal:function ordinal(number){var output=number===1?'añ':'vet';return number+output;},week:{dow:1,// Monday is the first day of the week.
doy:4// The week that contains Jan 4th is the first week of the year.
}});return br;});/***/},/* 42 *//***/function(module,exports,__webpack_require__){//! moment.js locale configuration
;(function(global,factory){true?factory(__webpack_require__(0)):typeof define==='function'&&define.amd?define(['../moment'],factory):factory(global.moment);})(this,function(moment){'use strict';function translate(number,withoutSuffix,key){var result=number+' ';switch(key){case'ss':if(number===1){result+='sekunda';}else if(number===2||number===3||number===4){result+='sekunde';}else{result+='sekundi';}return result;case'm':return withoutSuffix?'jedna minuta':'jedne minute';case'mm':if(number===1){result+='minuta';}else if(number===2||number===3||number===4){result+='minute';}else{result+='minuta';}return result;case'h':return withoutSuffix?'jedan sat':'jednog sata';case'hh':if(number===1){result+='sat';}else if(number===2||number===3||number===4){result+='sata';}else{result+='sati';}return result;case'dd':if(number===1){result+='dan';}else{result+='dana';}return result;case'MM':if(number===1){result+='mjesec';}else if(number===2||number===3||number===4){result+='mjeseca';}else{result+='mjeseci';}return result;case'yy':if(number===1){result+='godina';}else if(number===2||number===3||number===4){result+='godine';}else{result+='godina';}return result;}}var bs=moment.defineLocale('bs',{months:'januar_februar_mart_april_maj_juni_juli_august_septembar_oktobar_novembar_decembar'.split('_'),monthsShort:'jan._feb._mar._apr._maj._jun._jul._aug._sep._okt._nov._dec.'.split('_'),monthsParseExact:true,weekdays:'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split('_'),weekdaysShort:'ned._pon._uto._sri._čet._pet._sub.'.split('_'),weekdaysMin:'ne_po_ut_sr_če_pe_su'.split('_'),weekdaysParseExact:true,longDateFormat:{LT:'H:mm',LTS:'H:mm:ss',L:'DD.MM.YYYY',LL:'D. MMMM YYYY',LLL:'D. MMMM YYYY H:mm',LLLL:'dddd, D. MMMM YYYY H:mm'},calendar:{sameDay:'[danas u] LT',nextDay:'[sutra u] LT',nextWeek:function nextWeek(){switch(this.day()){case 0:return'[u] [nedjelju] [u] LT';case 3:return'[u] [srijedu] [u] LT';case 6:return'[u] [subotu] [u] LT';case 1:case 2:case 4:case 5:return'[u] dddd [u] LT';}},lastDay:'[jučer u] LT',lastWeek:function lastWeek(){switch(this.day()){case 0:case 3:return'[prošlu] dddd [u] LT';case 6:return'[prošle] [subote] [u] LT';case 1:case 2:case 4:case 5:return'[prošli] dddd [u] LT';}},sameElse:'L'},relativeTime:{future:'za %s',past:'prije %s',s:'par sekundi',ss:translate,m:translate,mm:translate,h:translate,hh:translate,d:'dan',dd:translate,M:'mjesec',MM:translate,y:'godinu',yy:translate},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:'%d.',week:{dow:1,// Monday is the first day of the week.
doy:7// The week that contains Jan 7th is the first week of the year.
}});return bs;});/***/},/* 43 *//***/function(module,exports,__webpack_require__){//! moment.js locale configuration
;(function(global,factory){true?factory(__webpack_require__(0)):typeof define==='function'&&define.amd?define(['../moment'],factory):factory(global.moment);})(this,function(moment){'use strict';var ca=moment.defineLocale('ca',{months:{standalone:'gener_febrer_març_abril_maig_juny_juliol_agost_setembre_octubre_novembre_desembre'.split('_'),format:'de gener_de febrer_de març_d\'abril_de maig_de juny_de juliol_d\'agost_de setembre_d\'octubre_de novembre_de desembre'.split('_'),isFormat:/D[oD]?(\s)+MMMM/},monthsShort:'gen._febr._març_abr._maig_juny_jul._ag._set._oct._nov._des.'.split('_'),monthsParseExact:true,weekdays:'diumenge_dilluns_dimarts_dimecres_dijous_divendres_dissabte'.split('_'),weekdaysShort:'dg._dl._dt._dc._dj._dv._ds.'.split('_'),weekdaysMin:'dg_dl_dt_dc_dj_dv_ds'.split('_'),weekdaysParseExact:true,longDateFormat:{LT:'H:mm',LTS:'H:mm:ss',L:'DD/MM/YYYY',LL:'D MMMM [de] YYYY',ll:'D MMM YYYY',LLL:'D MMMM [de] YYYY [a les] H:mm',lll:'D MMM YYYY, H:mm',LLLL:'dddd D MMMM [de] YYYY [a les] H:mm',llll:'ddd D MMM YYYY, H:mm'},calendar:{sameDay:function sameDay(){return'[avui a '+(this.hours()!==1?'les':'la')+'] LT';},nextDay:function nextDay(){return'[demà a '+(this.hours()!==1?'les':'la')+'] LT';},nextWeek:function nextWeek(){return'dddd [a '+(this.hours()!==1?'les':'la')+'] LT';},lastDay:function lastDay(){return'[ahir a '+(this.hours()!==1?'les':'la')+'] LT';},lastWeek:function lastWeek(){return'[el] dddd [passat a '+(this.hours()!==1?'les':'la')+'] LT';},sameElse:'L'},relativeTime:{future:'d\'aquí %s',past:'fa %s',s:'uns segons',ss:'%d segons',m:'un minut',mm:'%d minuts',h:'una hora',hh:'%d hores',d:'un dia',dd:'%d dies',M:'un mes',MM:'%d mesos',y:'un any',yy:'%d anys'},dayOfMonthOrdinalParse:/\d{1,2}(r|n|t|è|a)/,ordinal:function ordinal(number,period){var output=number===1?'r':number===2?'n':number===3?'r':number===4?'t':'è';if(period==='w'||period==='W'){output='a';}return number+output;},week:{dow:1,// Monday is the first day of the week.
doy:4// The week that contains Jan 4th is the first week of the year.
}});return ca;});/***/},/* 44 *//***/function(module,exports,__webpack_require__){//! moment.js locale configuration
;(function(global,factory){true?factory(__webpack_require__(0)):typeof define==='function'&&define.amd?define(['../moment'],factory):factory(global.moment);})(this,function(moment){'use strict';var months='leden_únor_březen_duben_květen_červen_červenec_srpen_září_říjen_listopad_prosinec'.split('_'),monthsShort='led_úno_bře_dub_kvě_čvn_čvc_srp_zář_říj_lis_pro'.split('_');function plural(n){return n>1&&n<5&&~~(n/10)!==1;}function translate(number,withoutSuffix,key,isFuture){var result=number+' ';switch(key){case's':// a few seconds / in a few seconds / a few seconds ago
return withoutSuffix||isFuture?'pár sekund':'pár sekundami';case'ss':// 9 seconds / in 9 seconds / 9 seconds ago
if(withoutSuffix||isFuture){return result+(plural(number)?'sekundy':'sekund');}else{return result+'sekundami';}break;case'm':// a minute / in a minute / a minute ago
return withoutSuffix?'minuta':isFuture?'minutu':'minutou';case'mm':// 9 minutes / in 9 minutes / 9 minutes ago
if(withoutSuffix||isFuture){return result+(plural(number)?'minuty':'minut');}else{return result+'minutami';}break;case'h':// an hour / in an hour / an hour ago
return withoutSuffix?'hodina':isFuture?'hodinu':'hodinou';case'hh':// 9 hours / in 9 hours / 9 hours ago
if(withoutSuffix||isFuture){return result+(plural(number)?'hodiny':'hodin');}else{return result+'hodinami';}break;case'd':// a day / in a day / a day ago
return withoutSuffix||isFuture?'den':'dnem';case'dd':// 9 days / in 9 days / 9 days ago
if(withoutSuffix||isFuture){return result+(plural(number)?'dny':'dní');}else{return result+'dny';}break;case'M':// a month / in a month / a month ago
return withoutSuffix||isFuture?'měsíc':'měsícem';case'MM':// 9 months / in 9 months / 9 months ago
if(withoutSuffix||isFuture){return result+(plural(number)?'měsíce':'měsíců');}else{return result+'měsíci';}break;case'y':// a year / in a year / a year ago
return withoutSuffix||isFuture?'rok':'rokem';case'yy':// 9 years / in 9 years / 9 years ago
if(withoutSuffix||isFuture){return result+(plural(number)?'roky':'let');}else{return result+'lety';}break;}}var cs=moment.defineLocale('cs',{months:months,monthsShort:monthsShort,monthsParse:function(months,monthsShort){var i,_monthsParse=[];for(i=0;i<12;i++){// use custom parser to solve problem with July (červenec)
_monthsParse[i]=new RegExp('^'+months[i]+'$|^'+monthsShort[i]+'$','i');}return _monthsParse;}(months,monthsShort),shortMonthsParse:function(monthsShort){var i,_shortMonthsParse=[];for(i=0;i<12;i++){_shortMonthsParse[i]=new RegExp('^'+monthsShort[i]+'$','i');}return _shortMonthsParse;}(monthsShort),longMonthsParse:function(months){var i,_longMonthsParse=[];for(i=0;i<12;i++){_longMonthsParse[i]=new RegExp('^'+months[i]+'$','i');}return _longMonthsParse;}(months),weekdays:'neděle_pondělí_úterý_středa_čtvrtek_pátek_sobota'.split('_'),weekdaysShort:'ne_po_út_st_čt_pá_so'.split('_'),weekdaysMin:'ne_po_út_st_čt_pá_so'.split('_'),longDateFormat:{LT:'H:mm',LTS:'H:mm:ss',L:'DD.MM.YYYY',LL:'D. MMMM YYYY',LLL:'D. MMMM YYYY H:mm',LLLL:'dddd D. MMMM YYYY H:mm',l:'D. M. YYYY'},calendar:{sameDay:'[dnes v] LT',nextDay:'[zítra v] LT',nextWeek:function nextWeek(){switch(this.day()){case 0:return'[v neděli v] LT';case 1:case 2:return'[v] dddd [v] LT';case 3:return'[ve středu v] LT';case 4:return'[ve čtvrtek v] LT';case 5:return'[v pátek v] LT';case 6:return'[v sobotu v] LT';}},lastDay:'[včera v] LT',lastWeek:function lastWeek(){switch(this.day()){case 0:return'[minulou neděli v] LT';case 1:case 2:return'[minulé] dddd [v] LT';case 3:return'[minulou středu v] LT';case 4:case 5:return'[minulý] dddd [v] LT';case 6:return'[minulou sobotu v] LT';}},sameElse:'L'},relativeTime:{future:'za %s',past:'před %s',s:translate,ss:translate,m:translate,mm:translate,h:translate,hh:translate,d:translate,dd:translate,M:translate,MM:translate,y:translate,yy:translate},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:'%d.',week:{dow:1,// Monday is the first day of the week.
doy:4// The week that contains Jan 4th is the first week of the year.
}});return cs;});/***/},/* 45 *//***/function(module,exports,__webpack_require__){//! moment.js locale configuration
;(function(global,factory){true?factory(__webpack_require__(0)):typeof define==='function'&&define.amd?define(['../moment'],factory):factory(global.moment);})(this,function(moment){'use strict';var cv=moment.defineLocale('cv',{months:'кӑрлач_нарӑс_пуш_ака_май_ҫӗртме_утӑ_ҫурла_авӑн_юпа_чӳк_раштав'.split('_'),monthsShort:'кӑр_нар_пуш_ака_май_ҫӗр_утӑ_ҫур_авн_юпа_чӳк_раш'.split('_'),weekdays:'вырсарникун_тунтикун_ытларикун_юнкун_кӗҫнерникун_эрнекун_шӑматкун'.split('_'),weekdaysShort:'выр_тун_ытл_юн_кӗҫ_эрн_шӑм'.split('_'),weekdaysMin:'вр_тн_ыт_юн_кҫ_эр_шм'.split('_'),longDateFormat:{LT:'HH:mm',LTS:'HH:mm:ss',L:'DD-MM-YYYY',LL:'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ]',LLL:'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm',LLLL:'dddd, YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm'},calendar:{sameDay:'[Паян] LT [сехетре]',nextDay:'[Ыран] LT [сехетре]',lastDay:'[Ӗнер] LT [сехетре]',nextWeek:'[Ҫитес] dddd LT [сехетре]',lastWeek:'[Иртнӗ] dddd LT [сехетре]',sameElse:'L'},relativeTime:{future:function future(output){var affix=/сехет$/i.exec(output)?'рен':/ҫул$/i.exec(output)?'тан':'ран';return output+affix;},past:'%s каялла',s:'пӗр-ик ҫеккунт',ss:'%d ҫеккунт',m:'пӗр минут',mm:'%d минут',h:'пӗр сехет',hh:'%d сехет',d:'пӗр кун',dd:'%d кун',M:'пӗр уйӑх',MM:'%d уйӑх',y:'пӗр ҫул',yy:'%d ҫул'},dayOfMonthOrdinalParse:/\d{1,2}-мӗш/,ordinal:'%d-мӗш',week:{dow:1,// Monday is the first day of the week.
doy:7// The week that contains Jan 7th is the first week of the year.
}});return cv;});/***/},/* 46 *//***/function(module,exports,__webpack_require__){//! moment.js locale configuration
;(function(global,factory){true?factory(__webpack_require__(0)):typeof define==='function'&&define.amd?define(['../moment'],factory):factory(global.moment);})(this,function(moment){'use strict';var cy=moment.defineLocale('cy',{months:'Ionawr_Chwefror_Mawrth_Ebrill_Mai_Mehefin_Gorffennaf_Awst_Medi_Hydref_Tachwedd_Rhagfyr'.split('_'),monthsShort:'Ion_Chwe_Maw_Ebr_Mai_Meh_Gor_Aws_Med_Hyd_Tach_Rhag'.split('_'),weekdays:'Dydd Sul_Dydd Llun_Dydd Mawrth_Dydd Mercher_Dydd Iau_Dydd Gwener_Dydd Sadwrn'.split('_'),weekdaysShort:'Sul_Llun_Maw_Mer_Iau_Gwe_Sad'.split('_'),weekdaysMin:'Su_Ll_Ma_Me_Ia_Gw_Sa'.split('_'),weekdaysParseExact:true,// time formats are the same as en-gb
longDateFormat:{LT:'HH:mm',LTS:'HH:mm:ss',L:'DD/MM/YYYY',LL:'D MMMM YYYY',LLL:'D MMMM YYYY HH:mm',LLLL:'dddd, D MMMM YYYY HH:mm'},calendar:{sameDay:'[Heddiw am] LT',nextDay:'[Yfory am] LT',nextWeek:'dddd [am] LT',lastDay:'[Ddoe am] LT',lastWeek:'dddd [diwethaf am] LT',sameElse:'L'},relativeTime:{future:'mewn %s',past:'%s yn ôl',s:'ychydig eiliadau',ss:'%d eiliad',m:'munud',mm:'%d munud',h:'awr',hh:'%d awr',d:'diwrnod',dd:'%d diwrnod',M:'mis',MM:'%d mis',y:'blwyddyn',yy:'%d flynedd'},dayOfMonthOrdinalParse:/\d{1,2}(fed|ain|af|il|ydd|ed|eg)/,// traditional ordinal numbers above 31 are not commonly used in colloquial Welsh
ordinal:function ordinal(number){var b=number,output='',lookup=['','af','il','ydd','ydd','ed','ed','ed','fed','fed','fed',// 1af to 10fed
'eg','fed','eg','eg','fed','eg','eg','fed','eg','fed'// 11eg to 20fed
];if(b>20){if(b===40||b===50||b===60||b===80||b===100){output='fed';// not 30ain, 70ain or 90ain
}else{output='ain';}}else if(b>0){output=lookup[b];}return number+output;},week:{dow:1,// Monday is the first day of the week.
doy:4// The week that contains Jan 4th is the first week of the year.
}});return cy;});/***/},/* 47 *//***/function(module,exports,__webpack_require__){//! moment.js locale configuration
;(function(global,factory){true?factory(__webpack_require__(0)):typeof define==='function'&&define.amd?define(['../moment'],factory):factory(global.moment);})(this,function(moment){'use strict';var da=moment.defineLocale('da',{months:'januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december'.split('_'),monthsShort:'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'),weekdays:'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'),weekdaysShort:'søn_man_tir_ons_tor_fre_lør'.split('_'),weekdaysMin:'sø_ma_ti_on_to_fr_lø'.split('_'),longDateFormat:{LT:'HH:mm',LTS:'HH:mm:ss',L:'DD.MM.YYYY',LL:'D. MMMM YYYY',LLL:'D. MMMM YYYY HH:mm',LLLL:'dddd [d.] D. MMMM YYYY [kl.] HH:mm'},calendar:{sameDay:'[i dag kl.] LT',nextDay:'[i morgen kl.] LT',nextWeek:'på dddd [kl.] LT',lastDay:'[i går kl.] LT',lastWeek:'[i] dddd[s kl.] LT',sameElse:'L'},relativeTime:{future:'om %s',past:'%s siden',s:'få sekunder',ss:'%d sekunder',m:'et minut',mm:'%d minutter',h:'en time',hh:'%d timer',d:'en dag',dd:'%d dage',M:'en måned',MM:'%d måneder',y:'et år',yy:'%d år'},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:'%d.',week:{dow:1,// Monday is the first day of the week.
doy:4// The week that contains Jan 4th is the first week of the year.
}});return da;});/***/},/* 48 *//***/function(module,exports,__webpack_require__){//! moment.js locale configuration
;(function(global,factory){true?factory(__webpack_require__(0)):typeof define==='function'&&define.amd?define(['../moment'],factory):factory(global.moment);})(this,function(moment){'use strict';function processRelativeTime(number,withoutSuffix,key,isFuture){var format={'m':['eine Minute','einer Minute'],'h':['eine Stunde','einer Stunde'],'d':['ein Tag','einem Tag'],'dd':[number+' Tage',number+' Tagen'],'M':['ein Monat','einem Monat'],'MM':[number+' Monate',number+' Monaten'],'y':['ein Jahr','einem Jahr'],'yy':[number+' Jahre',number+' Jahren']};return withoutSuffix?format[key][0]:format[key][1];}var de=moment.defineLocale('de',{months:'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'),monthsShort:'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),monthsParseExact:true,weekdays:'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split('_'),weekdaysShort:'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'),weekdaysMin:'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),weekdaysParseExact:true,longDateFormat:{LT:'HH:mm',LTS:'HH:mm:ss',L:'DD.MM.YYYY',LL:'D. MMMM YYYY',LLL:'D. MMMM YYYY HH:mm',LLLL:'dddd, D. MMMM YYYY HH:mm'},calendar:{sameDay:'[heute um] LT [Uhr]',sameElse:'L',nextDay:'[morgen um] LT [Uhr]',nextWeek:'dddd [um] LT [Uhr]',lastDay:'[gestern um] LT [Uhr]',lastWeek:'[letzten] dddd [um] LT [Uhr]'},relativeTime:{future:'in %s',past:'vor %s',s:'ein paar Sekunden',ss:'%d Sekunden',m:processRelativeTime,mm:'%d Minuten',h:processRelativeTime,hh:'%d Stunden',d:processRelativeTime,dd:processRelativeTime,M:processRelativeTime,MM:processRelativeTime,y:processRelativeTime,yy:processRelativeTime},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:'%d.',week:{dow:1,// Monday is the first day of the week.
doy:4// The week that contains Jan 4th is the first week of the year.
}});return de;});/***/},/* 49 *//***/function(module,exports,__webpack_require__){//! moment.js locale configuration
;(function(global,factory){true?factory(__webpack_require__(0)):typeof define==='function'&&define.amd?define(['../moment'],factory):factory(global.moment);})(this,function(moment){'use strict';function processRelativeTime(number,withoutSuffix,key,isFuture){var format={'m':['eine Minute','einer Minute'],'h':['eine Stunde','einer Stunde'],'d':['ein Tag','einem Tag'],'dd':[number+' Tage',number+' Tagen'],'M':['ein Monat','einem Monat'],'MM':[number+' Monate',number+' Monaten'],'y':['ein Jahr','einem Jahr'],'yy':[number+' Jahre',number+' Jahren']};return withoutSuffix?format[key][0]:format[key][1];}var deAt=moment.defineLocale('de-at',{months:'Jänner_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'),monthsShort:'Jän._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),monthsParseExact:true,weekdays:'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split('_'),weekdaysShort:'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'),weekdaysMin:'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),weekdaysParseExact:true,longDateFormat:{LT:'HH:mm',LTS:'HH:mm:ss',L:'DD.MM.YYYY',LL:'D. MMMM YYYY',LLL:'D. MMMM YYYY HH:mm',LLLL:'dddd, D. MMMM YYYY HH:mm'},calendar:{sameDay:'[heute um] LT [Uhr]',sameElse:'L',nextDay:'[morgen um] LT [Uhr]',nextWeek:'dddd [um] LT [Uhr]',lastDay:'[gestern um] LT [Uhr]',lastWeek:'[letzten] dddd [um] LT [Uhr]'},relativeTime:{future:'in %s',past:'vor %s',s:'ein paar Sekunden',ss:'%d Sekunden',m:processRelativeTime,mm:'%d Minuten',h:processRelativeTime,hh:'%d Stunden',d:processRelativeTime,dd:processRelativeTime,M:processRelativeTime,MM:processRelativeTime,y:processRelativeTime,yy:processRelativeTime},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:'%d.',week:{dow:1,// Monday is the first day of the week.
doy:4// The week that contains Jan 4th is the first week of the year.
}});return deAt;});/***/},/* 50 *//***/function(module,exports,__webpack_require__){//! moment.js locale configuration
;(function(global,factory){true?factory(__webpack_require__(0)):typeof define==='function'&&define.amd?define(['../moment'],factory):factory(global.moment);})(this,function(moment){'use strict';function processRelativeTime(number,withoutSuffix,key,isFuture){var format={'m':['eine Minute','einer Minute'],'h':['eine Stunde','einer Stunde'],'d':['ein Tag','einem Tag'],'dd':[number+' Tage',number+' Tagen'],'M':['ein Monat','einem Monat'],'MM':[number+' Monate',number+' Monaten'],'y':['ein Jahr','einem Jahr'],'yy':[number+' Jahre',number+' Jahren']};return withoutSuffix?format[key][0]:format[key][1];}var deCh=moment.defineLocale('de-ch',{months:'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'),monthsShort:'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),monthsParseExact:true,weekdays:'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split('_'),weekdaysShort:'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),weekdaysMin:'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),weekdaysParseExact:true,longDateFormat:{LT:'HH:mm',LTS:'HH:mm:ss',L:'DD.MM.YYYY',LL:'D. MMMM YYYY',LLL:'D. MMMM YYYY HH:mm',LLLL:'dddd, D. MMMM YYYY HH:mm'},calendar:{sameDay:'[heute um] LT [Uhr]',sameElse:'L',nextDay:'[morgen um] LT [Uhr]',nextWeek:'dddd [um] LT [Uhr]',lastDay:'[gestern um] LT [Uhr]',lastWeek:'[letzten] dddd [um] LT [Uhr]'},relativeTime:{future:'in %s',past:'vor %s',s:'ein paar Sekunden',ss:'%d Sekunden',m:processRelativeTime,mm:'%d Minuten',h:processRelativeTime,hh:'%d Stunden',d:processRelativeTime,dd:processRelativeTime,M:processRelativeTime,MM:processRelativeTime,y:processRelativeTime,yy:processRelativeTime},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:'%d.',week:{dow:1,// Monday is the first day of the week.
doy:4// The week that contains Jan 4th is the first week of the year.
}});return deCh;});/***/},/* 51 *//***/function(module,exports,__webpack_require__){//! moment.js locale configuration
;(function(global,factory){true?factory(__webpack_require__(0)):typeof define==='function'&&define.amd?define(['../moment'],factory):factory(global.moment);})(this,function(moment){'use strict';var months=['ޖެނުއަރީ','ފެބްރުއަރީ','މާރިޗު','އޭޕްރީލު','މޭ','ޖޫން','ޖުލައި','އޯގަސްޓު','ސެޕްޓެމްބަރު','އޮކްޓޯބަރު','ނޮވެމްބަރު','ޑިސެމްބަރު'],weekdays=['އާދިއްތަ','ހޯމަ','އަންގާރަ','ބުދަ','ބުރާސްފަތި','ހުކުރު','ހޮނިހިރު'];var dv=moment.defineLocale('dv',{months:months,monthsShort:months,weekdays:weekdays,weekdaysShort:weekdays,weekdaysMin:'އާދި_ހޯމަ_އަން_ބުދަ_ބުރާ_ހުކު_ހޮނި'.split('_'),longDateFormat:{LT:'HH:mm',LTS:'HH:mm:ss',L:'D/M/YYYY',LL:'D MMMM YYYY',LLL:'D MMMM YYYY HH:mm',LLLL:'dddd D MMMM YYYY HH:mm'},meridiemParse:/މކ|މފ/,isPM:function isPM(input){return'މފ'===input;},meridiem:function meridiem(hour,minute,isLower){if(hour<12){return'މކ';}else{return'މފ';}},calendar:{sameDay:'[މިއަދު] LT',nextDay:'[މާދަމާ] LT',nextWeek:'dddd LT',lastDay:'[އިއްޔެ] LT',lastWeek:'[ފާއިތުވި] dddd LT',sameElse:'L'},relativeTime:{future:'ތެރޭގައި %s',past:'ކުރިން %s',s:'ސިކުންތުކޮޅެއް',ss:'d% ސިކުންތު',m:'މިނިޓެއް',mm:'މިނިޓު %d',h:'ގަޑިއިރެއް',hh:'ގަޑިއިރު %d',d:'ދުވަހެއް',dd:'ދުވަސް %d',M:'މަހެއް',MM:'މަސް %d',y:'އަހަރެއް',yy:'އަހަރު %d'},preparse:function preparse(string){return string.replace(/،/g,',');},postformat:function postformat(string){return string.replace(/,/g,'،');},week:{dow:7,// Sunday is the first day of the week.
doy:12// The week that contains Jan 12th is the first week of the year.
}});return dv;});/***/},/* 52 *//***/function(module,exports,__webpack_require__){//! moment.js locale configuration
;(function(global,factory){true?factory(__webpack_require__(0)):typeof define==='function'&&define.amd?define(['../moment'],factory):factory(global.moment);})(this,function(moment){'use strict';function isFunction(input){return input instanceof Function||Object.prototype.toString.call(input)==='[object Function]';}var el=moment.defineLocale('el',{monthsNominativeEl:'Ιανουάριος_Φεβρουάριος_Μάρτιος_Απρίλιος_Μάιος_Ιούνιος_Ιούλιος_Αύγουστος_Σεπτέμβριος_Οκτώβριος_Νοέμβριος_Δεκέμβριος'.split('_'),monthsGenitiveEl:'Ιανουαρίου_Φεβρουαρίου_Μαρτίου_Απριλίου_Μαΐου_Ιουνίου_Ιουλίου_Αυγούστου_Σεπτεμβρίου_Οκτωβρίου_Νοεμβρίου_Δεκεμβρίου'.split('_'),months:function months(momentToFormat,format){if(!momentToFormat){return this._monthsNominativeEl;}else if(typeof format==='string'&&/D/.test(format.substring(0,format.indexOf('MMMM')))){// if there is a day number before 'MMMM'
return this._monthsGenitiveEl[momentToFormat.month()];}else{return this._monthsNominativeEl[momentToFormat.month()];}},monthsShort:'Ιαν_Φεβ_Μαρ_Απρ_Μαϊ_Ιουν_Ιουλ_Αυγ_Σεπ_Οκτ_Νοε_Δεκ'.split('_'),weekdays:'Κυριακή_Δευτέρα_Τρίτη_Τετάρτη_Πέμπτη_Παρασκευή_Σάββατο'.split('_'),weekdaysShort:'Κυρ_Δευ_Τρι_Τετ_Πεμ_Παρ_Σαβ'.split('_'),weekdaysMin:'Κυ_Δε_Τρ_Τε_Πε_Πα_Σα'.split('_'),meridiem:function meridiem(hours,minutes,isLower){if(hours>11){return isLower?'μμ':'ΜΜ';}else{return isLower?'πμ':'ΠΜ';}},isPM:function isPM(input){return(input+'').toLowerCase()[0]==='μ';},meridiemParse:/[ΠΜ]\.?Μ?\.?/i,longDateFormat:{LT:'h:mm A',LTS:'h:mm:ss A',L:'DD/MM/YYYY',LL:'D MMMM YYYY',LLL:'D MMMM YYYY h:mm A',LLLL:'dddd, D MMMM YYYY h:mm A'},calendarEl:{sameDay:'[Σήμερα {}] LT',nextDay:'[Αύριο {}] LT',nextWeek:'dddd [{}] LT',lastDay:'[Χθες {}] LT',lastWeek:function lastWeek(){switch(this.day()){case 6:return'[το προηγούμενο] dddd [{}] LT';default:return'[την προηγούμενη] dddd [{}] LT';}},sameElse:'L'},calendar:function calendar(key,mom){var output=this._calendarEl[key],hours=mom&&mom.hours();if(isFunction(output)){output=output.apply(mom);}return output.replace('{}',hours%12===1?'στη':'στις');},relativeTime:{future:'σε %s',past:'%s πριν',s:'λίγα δευτερόλεπτα',ss:'%d δευτερόλεπτα',m:'ένα λεπτό',mm:'%d λεπτά',h:'μία ώρα',hh:'%d ώρες',d:'μία μέρα',dd:'%d μέρες',M:'ένας μήνας',MM:'%d μήνες',y:'ένας χρόνος',yy:'%d χρόνια'},dayOfMonthOrdinalParse:/\d{1,2}η/,ordinal:'%dη',week:{dow:1,// Monday is the first day of the week.
doy:4// The week that contains Jan 4st is the first week of the year.
}});return el;});/***/},/* 53 *//***/function(module,exports,__webpack_require__){//! moment.js locale configuration
;(function(global,factory){true?factory(__webpack_require__(0)):typeof define==='function'&&define.amd?define(['../moment'],factory):factory(global.moment);})(this,function(moment){'use strict';var enAu=moment.defineLocale('en-au',{months:'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),monthsShort:'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),weekdays:'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),weekdaysShort:'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),weekdaysMin:'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),longDateFormat:{LT:'h:mm A',LTS:'h:mm:ss A',L:'DD/MM/YYYY',LL:'D MMMM YYYY',LLL:'D MMMM YYYY h:mm A',LLLL:'dddd, D MMMM YYYY h:mm A'},calendar:{sameDay:'[Today at] LT',nextDay:'[Tomorrow at] LT',nextWeek:'dddd [at] LT',lastDay:'[Yesterday at] LT',lastWeek:'[Last] dddd [at] LT',sameElse:'L'},relativeTime:{future:'in %s',past:'%s ago',s:'a few seconds',ss:'%d seconds',m:'a minute',mm:'%d minutes',h:'an hour',hh:'%d hours',d:'a day',dd:'%d days',M:'a month',MM:'%d months',y:'a year',yy:'%d years'},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function ordinal(number){var b=number%10,output=~~(number%100/10)===1?'th':b===1?'st':b===2?'nd':b===3?'rd':'th';return number+output;},week:{dow:1,// Monday is the first day of the week.
doy:4// The week that contains Jan 4th is the first week of the year.
}});return enAu;});/***/},/* 54 *//***/function(module,exports,__webpack_require__){//! moment.js locale configuration
;(function(global,factory){true?factory(__webpack_require__(0)):typeof define==='function'&&define.amd?define(['../moment'],factory):factory(global.moment);})(this,function(moment){'use strict';var enCa=moment.defineLocale('en-ca',{months:'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),monthsShort:'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),weekdays:'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),weekdaysShort:'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),weekdaysMin:'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),longDateFormat:{LT:'h:mm A',LTS:'h:mm:ss A',L:'YYYY-MM-DD',LL:'MMMM D, YYYY',LLL:'MMMM D, YYYY h:mm A',LLLL:'dddd, MMMM D, YYYY h:mm A'},calendar:{sameDay:'[Today at] LT',nextDay:'[Tomorrow at] LT',nextWeek:'dddd [at] LT',lastDay:'[Yesterday at] LT',lastWeek:'[Last] dddd [at] LT',sameElse:'L'},relativeTime:{future:'in %s',past:'%s ago',s:'a few seconds',ss:'%d seconds',m:'a minute',mm:'%d minutes',h:'an hour',hh:'%d hours',d:'a day',dd:'%d days',M:'a month',MM:'%d months',y:'a year',yy:'%d years'},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function ordinal(number){var b=number%10,output=~~(number%100/10)===1?'th':b===1?'st':b===2?'nd':b===3?'rd':'th';return number+output;}});return enCa;});/***/},/* 55 *//***/function(module,exports,__webpack_require__){//! moment.js locale configuration
;(function(global,factory){true?factory(__webpack_require__(0)):typeof define==='function'&&define.amd?define(['../moment'],factory):factory(global.moment);})(this,function(moment){'use strict';var enGb=moment.defineLocale('en-gb',{months:'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),monthsShort:'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),weekdays:'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),weekdaysShort:'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),weekdaysMin:'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),longDateFormat:{LT:'HH:mm',LTS:'HH:mm:ss',L:'DD/MM/YYYY',LL:'D MMMM YYYY',LLL:'D MMMM YYYY HH:mm',LLLL:'dddd, D MMMM YYYY HH:mm'},calendar:{sameDay:'[Today at] LT',nextDay:'[Tomorrow at] LT',nextWeek:'dddd [at] LT',lastDay:'[Yesterday at] LT',lastWeek:'[Last] dddd [at] LT',sameElse:'L'},relativeTime:{future:'in %s',past:'%s ago',s:'a few seconds',ss:'%d seconds',m:'a minute',mm:'%d minutes',h:'an hour',hh:'%d hours',d:'a day',dd:'%d days',M:'a month',MM:'%d months',y:'a year',yy:'%d years'},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function ordinal(number){var b=number%10,output=~~(number%100/10)===1?'th':b===1?'st':b===2?'nd':b===3?'rd':'th';return number+output;},week:{dow:1,// Monday is the first day of the week.
doy:4// The week that contains Jan 4th is the first week of the year.
}});return enGb;});/***/},/* 56 *//***/function(module,exports,__webpack_require__){//! moment.js locale configuration
;(function(global,factory){true?factory(__webpack_require__(0)):typeof define==='function'&&define.amd?define(['../moment'],factory):factory(global.moment);})(this,function(moment){'use strict';var enIe=moment.defineLocale('en-ie',{months:'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),monthsShort:'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),weekdays:'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),weekdaysShort:'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),weekdaysMin:'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),longDateFormat:{LT:'HH:mm',LTS:'HH:mm:ss',L:'DD-MM-YYYY',LL:'D MMMM YYYY',LLL:'D MMMM YYYY HH:mm',LLLL:'dddd D MMMM YYYY HH:mm'},calendar:{sameDay:'[Today at] LT',nextDay:'[Tomorrow at] LT',nextWeek:'dddd [at] LT',lastDay:'[Yesterday at] LT',lastWeek:'[Last] dddd [at] LT',sameElse:'L'},relativeTime:{future:'in %s',past:'%s ago',s:'a few seconds',ss:'%d seconds',m:'a minute',mm:'%d minutes',h:'an hour',hh:'%d hours',d:'a day',dd:'%d days',M:'a month',MM:'%d months',y:'a year',yy:'%d years'},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function ordinal(number){var b=number%10,output=~~(number%100/10)===1?'th':b===1?'st':b===2?'nd':b===3?'rd':'th';return number+output;},week:{dow:1,// Monday is the first day of the week.
doy:4// The week that contains Jan 4th is the first week of the year.
}});return enIe;});/***/},/* 57 *//***/function(module,exports,__webpack_require__){//! moment.js locale configuration
;(function(global,factory){true?factory(__webpack_require__(0)):typeof define==='function'&&define.amd?define(['../moment'],factory):factory(global.moment);})(this,function(moment){'use strict';var enIl=moment.defineLocale('en-il',{months:'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),monthsShort:'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),weekdays:'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),weekdaysShort:'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),weekdaysMin:'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),longDateFormat:{LT:'HH:mm',LTS:'HH:mm:ss',L:'DD/MM/YYYY',LL:'D MMMM YYYY',LLL:'D MMMM YYYY HH:mm',LLLL:'dddd, D MMMM YYYY HH:mm'},calendar:{sameDay:'[Today at] LT',nextDay:'[Tomorrow at] LT',nextWeek:'dddd [at] LT',lastDay:'[Yesterday at] LT',lastWeek:'[Last] dddd [at] LT',sameElse:'L'},relativeTime:{future:'in %s',past:'%s ago',s:'a few seconds',m:'a minute',mm:'%d minutes',h:'an hour',hh:'%d hours',d:'a day',dd:'%d days',M:'a month',MM:'%d months',y:'a year',yy:'%d years'},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function ordinal(number){var b=number%10,output=~~(number%100/10)===1?'th':b===1?'st':b===2?'nd':b===3?'rd':'th';return number+output;}});return enIl;});/***/},/* 58 *//***/function(module,exports,__webpack_require__){//! moment.js locale configuration
;(function(global,factory){true?factory(__webpack_require__(0)):typeof define==='function'&&define.amd?define(['../moment'],factory):factory(global.moment);})(this,function(moment){'use strict';var enNz=moment.defineLocale('en-nz',{months:'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),monthsShort:'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),weekdays:'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),weekdaysShort:'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),weekdaysMin:'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),longDateFormat:{LT:'h:mm A',LTS:'h:mm:ss A',L:'DD/MM/YYYY',LL:'D MMMM YYYY',LLL:'D MMMM YYYY h:mm A',LLLL:'dddd, D MMMM YYYY h:mm A'},calendar:{sameDay:'[Today at] LT',nextDay:'[Tomorrow at] LT',nextWeek:'dddd [at] LT',lastDay:'[Yesterday at] LT',lastWeek:'[Last] dddd [at] LT',sameElse:'L'},relativeTime:{future:'in %s',past:'%s ago',s:'a few seconds',ss:'%d seconds',m:'a minute',mm:'%d minutes',h:'an hour',hh:'%d hours',d:'a day',dd:'%d days',M:'a month',MM:'%d months',y:'a year',yy:'%d years'},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function ordinal(number){var b=number%10,output=~~(number%100/10)===1?'th':b===1?'st':b===2?'nd':b===3?'rd':'th';return number+output;},week:{dow:1,// Monday is the first day of the week.
doy:4// The week that contains Jan 4th is the first week of the year.
}});return enNz;});/***/},/* 59 *//***/function(module,exports,__webpack_require__){//! moment.js locale configuration
;(function(global,factory){true?factory(__webpack_require__(0)):typeof define==='function'&&define.amd?define(['../moment'],factory):factory(global.moment);})(this,function(moment){'use strict';var eo=moment.defineLocale('eo',{months:'januaro_februaro_marto_aprilo_majo_junio_julio_aŭgusto_septembro_oktobro_novembro_decembro'.split('_'),monthsShort:'jan_feb_mar_apr_maj_jun_jul_aŭg_sep_okt_nov_dec'.split('_'),weekdays:'dimanĉo_lundo_mardo_merkredo_ĵaŭdo_vendredo_sabato'.split('_'),weekdaysShort:'dim_lun_mard_merk_ĵaŭ_ven_sab'.split('_'),weekdaysMin:'di_lu_ma_me_ĵa_ve_sa'.split('_'),longDateFormat:{LT:'HH:mm',LTS:'HH:mm:ss',L:'YYYY-MM-DD',LL:'D[-a de] MMMM, YYYY',LLL:'D[-a de] MMMM, YYYY HH:mm',LLLL:'dddd, [la] D[-a de] MMMM, YYYY HH:mm'},meridiemParse:/[ap]\.t\.m/i,isPM:function isPM(input){return input.charAt(0).toLowerCase()==='p';},meridiem:function meridiem(hours,minutes,isLower){if(hours>11){return isLower?'p.t.m.':'P.T.M.';}else{return isLower?'a.t.m.':'A.T.M.';}},calendar:{sameDay:'[Hodiaŭ je] LT',nextDay:'[Morgaŭ je] LT',nextWeek:'dddd [je] LT',lastDay:'[Hieraŭ je] LT',lastWeek:'[pasinta] dddd [je] LT',sameElse:'L'},relativeTime:{future:'post %s',past:'antaŭ %s',s:'sekundoj',ss:'%d sekundoj',m:'minuto',mm:'%d minutoj',h:'horo',hh:'%d horoj',d:'tago',//ne 'diurno', ĉar estas uzita por proksimumo
dd:'%d tagoj',M:'monato',MM:'%d monatoj',y:'jaro',yy:'%d jaroj'},dayOfMonthOrdinalParse:/\d{1,2}a/,ordinal:'%da',week:{dow:1,// Monday is the first day of the week.
doy:7// The week that contains Jan 7th is the first week of the year.
}});return eo;});/***/},/* 60 *//***/function(module,exports,__webpack_require__){//! moment.js locale configuration
;(function(global,factory){true?factory(__webpack_require__(0)):typeof define==='function'&&define.amd?define(['../moment'],factory):factory(global.moment);})(this,function(moment){'use strict';var monthsShortDot='ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split('_'),_monthsShort='ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_');var monthsParse=[/^ene/i,/^feb/i,/^mar/i,/^abr/i,/^may/i,/^jun/i,/^jul/i,/^ago/i,/^sep/i,/^oct/i,/^nov/i,/^dic/i];var monthsRegex=/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i;var es=moment.defineLocale('es',{months:'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'),monthsShort:function monthsShort(m,format){if(!m){return monthsShortDot;}else if(/-MMM-/.test(format)){return _monthsShort[m.month()];}else{return monthsShortDot[m.month()];}},monthsRegex:monthsRegex,monthsShortRegex:monthsRegex,monthsStrictRegex:/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,monthsShortStrictRegex:/^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,monthsParse:monthsParse,longMonthsParse:monthsParse,shortMonthsParse:monthsParse,weekdays:'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),weekdaysShort:'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),weekdaysMin:'do_lu_ma_mi_ju_vi_sá'.split('_'),weekdaysParseExact:true,longDateFormat:{LT:'H:mm',LTS:'H:mm:ss',L:'DD/MM/YYYY',LL:'D [de] MMMM [de] YYYY',LLL:'D [de] MMMM [de] YYYY H:mm',LLLL:'dddd, D [de] MMMM [de] YYYY H:mm'},calendar:{sameDay:function sameDay(){return'[hoy a la'+(this.hours()!==1?'s':'')+'] LT';},nextDay:function nextDay(){return'[mañana a la'+(this.hours()!==1?'s':'')+'] LT';},nextWeek:function nextWeek(){return'dddd [a la'+(this.hours()!==1?'s':'')+'] LT';},lastDay:function lastDay(){return'[ayer a la'+(this.hours()!==1?'s':'')+'] LT';},lastWeek:function lastWeek(){return'[el] dddd [pasado a la'+(this.hours()!==1?'s':'')+'] LT';},sameElse:'L'},relativeTime:{future:'en %s',past:'hace %s',s:'unos segundos',ss:'%d segundos',m:'un minuto',mm:'%d minutos',h:'una hora',hh:'%d horas',d:'un día',dd:'%d días',M:'un mes',MM:'%d meses',y:'un año',yy:'%d años'},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:'%dº',week:{dow:1,// Monday is the first day of the week.
doy:4// The week that contains Jan 4th is the first week of the year.
}});return es;});/***/},/* 61 *//***/function(module,exports,__webpack_require__){//! moment.js locale configuration
;(function(global,factory){true?factory(__webpack_require__(0)):typeof define==='function'&&define.amd?define(['../moment'],factory):factory(global.moment);})(this,function(moment){'use strict';var monthsShortDot='ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split('_'),_monthsShort2='ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_');var monthsParse=[/^ene/i,/^feb/i,/^mar/i,/^abr/i,/^may/i,/^jun/i,/^jul/i,/^ago/i,/^sep/i,/^oct/i,/^nov/i,/^dic/i];var monthsRegex=/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i;var esDo=moment.defineLocale('es-do',{months:'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'),monthsShort:function monthsShort(m,format){if(!m){return monthsShortDot;}else if(/-MMM-/.test(format)){return _monthsShort2[m.month()];}else{return monthsShortDot[m.month()];}},monthsRegex:monthsRegex,monthsShortRegex:monthsRegex,monthsStrictRegex:/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,monthsShortStrictRegex:/^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,monthsParse:monthsParse,longMonthsParse:monthsParse,shortMonthsParse:monthsParse,weekdays:'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),weekdaysShort:'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),weekdaysMin:'do_lu_ma_mi_ju_vi_sá'.split('_'),weekdaysParseExact:true,longDateFormat:{LT:'h:mm A',LTS:'h:mm:ss A',L:'DD/MM/YYYY',LL:'D [de] MMMM [de] YYYY',LLL:'D [de] MMMM [de] YYYY h:mm A',LLLL:'dddd, D [de] MMMM [de] YYYY h:mm A'},calendar:{sameDay:function sameDay(){return'[hoy a la'+(this.hours()!==1?'s':'')+'] LT';},nextDay:function nextDay(){return'[mañana a la'+(this.hours()!==1?'s':'')+'] LT';},nextWeek:function nextWeek(){return'dddd [a la'+(this.hours()!==1?'s':'')+'] LT';},lastDay:function lastDay(){return'[ayer a la'+(this.hours()!==1?'s':'')+'] LT';},lastWeek:function lastWeek(){return'[el] dddd [pasado a la'+(this.hours()!==1?'s':'')+'] LT';},sameElse:'L'},relativeTime:{future:'en %s',past:'hace %s',s:'unos segundos',ss:'%d segundos',m:'un minuto',mm:'%d minutos',h:'una hora',hh:'%d horas',d:'un día',dd:'%d días',M:'un mes',MM:'%d meses',y:'un año',yy:'%d años'},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:'%dº',week:{dow:1,// Monday is the first day of the week.
doy:4// The week that contains Jan 4th is the first week of the year.
}});return esDo;});/***/},/* 62 *//***/function(module,exports,__webpack_require__){//! moment.js locale configuration
;(function(global,factory){true?factory(__webpack_require__(0)):typeof define==='function'&&define.amd?define(['../moment'],factory):factory(global.moment);})(this,function(moment){'use strict';var monthsShortDot='ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split('_'),_monthsShort3='ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_');var esUs=moment.defineLocale('es-us',{months:'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'),monthsShort:function monthsShort(m,format){if(!m){return monthsShortDot;}else if(/-MMM-/.test(format)){return _monthsShort3[m.month()];}else{return monthsShortDot[m.month()];}},monthsParseExact:true,weekdays:'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),weekdaysShort:'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),weekdaysMin:'do_lu_ma_mi_ju_vi_sá'.split('_'),weekdaysParseExact:true,longDateFormat:{LT:'h:mm A',LTS:'h:mm:ss A',L:'MM/DD/YYYY',LL:'MMMM [de] D [de] YYYY',LLL:'MMMM [de] D [de] YYYY h:mm A',LLLL:'dddd, MMMM [de] D [de] YYYY h:mm A'},calendar:{sameDay:function sameDay(){return'[hoy a la'+(this.hours()!==1?'s':'')+'] LT';},nextDay:function nextDay(){return'[mañana a la'+(this.hours()!==1?'s':'')+'] LT';},nextWeek:function nextWeek(){return'dddd [a la'+(this.hours()!==1?'s':'')+'] LT';},lastDay:function lastDay(){return'[ayer a la'+(this.hours()!==1?'s':'')+'] LT';},lastWeek:function lastWeek(){return'[el] dddd [pasado a la'+(this.hours()!==1?'s':'')+'] LT';},sameElse:'L'},relativeTime:{future:'en %s',past:'hace %s',s:'unos segundos',ss:'%d segundos',m:'un minuto',mm:'%d minutos',h:'una hora',hh:'%d horas',d:'un día',dd:'%d días',M:'un mes',MM:'%d meses',y:'un año',yy:'%d años'},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:'%dº',week:{dow:0,// Sunday is the first day of the week.
doy:6// The week that contains Jan 6th is the first week of the year.
}});return esUs;});/***/},/* 63 *//***/function(module,exports,__webpack_require__){//! moment.js locale configuration
;(function(global,factory){true?factory(__webpack_require__(0)):typeof define==='function'&&define.amd?define(['../moment'],factory):factory(global.moment);})(this,function(moment){'use strict';function processRelativeTime(number,withoutSuffix,key,isFuture){var format={'s':['mõne sekundi','mõni sekund','paar sekundit'],'ss':[number+'sekundi',number+'sekundit'],'m':['ühe minuti','üks minut'],'mm':[number+' minuti',number+' minutit'],'h':['ühe tunni','tund aega','üks tund'],'hh':[number+' tunni',number+' tundi'],'d':['ühe päeva','üks päev'],'M':['kuu aja','kuu aega','üks kuu'],'MM':[number+' kuu',number+' kuud'],'y':['ühe aasta','aasta','üks aasta'],'yy':[number+' aasta',number+' aastat']};if(withoutSuffix){return format[key][2]?format[key][2]:format[key][1];}return isFuture?format[key][0]:format[key][1];}var et=moment.defineLocale('et',{months:'jaanuar_veebruar_märts_aprill_mai_juuni_juuli_august_september_oktoober_november_detsember'.split('_'),monthsShort:'jaan_veebr_märts_apr_mai_juuni_juuli_aug_sept_okt_nov_dets'.split('_'),weekdays:'pühapäev_esmaspäev_teisipäev_kolmapäev_neljapäev_reede_laupäev'.split('_'),weekdaysShort:'P_E_T_K_N_R_L'.split('_'),weekdaysMin:'P_E_T_K_N_R_L'.split('_'),longDateFormat:{LT:'H:mm',LTS:'H:mm:ss',L:'DD.MM.YYYY',LL:'D. MMMM YYYY',LLL:'D. MMMM YYYY H:mm',LLLL:'dddd, D. MMMM YYYY H:mm'},calendar:{sameDay:'[Täna,] LT',nextDay:'[Homme,] LT',nextWeek:'[Järgmine] dddd LT',lastDay:'[Eile,] LT',lastWeek:'[Eelmine] dddd LT',sameElse:'L'},relativeTime:{future:'%s pärast',past:'%s tagasi',s:processRelativeTime,ss:processRelativeTime,m:processRelativeTime,mm:processRelativeTime,h:processRelativeTime,hh:processRelativeTime,d:processRelativeTime,dd:'%d päeva',M:processRelativeTime,MM:processRelativeTime,y:processRelativeTime,yy:processRelativeTime},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:'%d.',week:{dow:1,// Monday is the first day of the week.
doy:4// The week that contains Jan 4th is the first week of the year.
}});return et;});/***/},/* 64 *//***/function(module,exports,__webpack_require__){//! moment.js locale configuration
;(function(global,factory){true?factory(__webpack_require__(0)):typeof define==='function'&&define.amd?define(['../moment'],factory):factory(global.moment);})(this,function(moment){'use strict';var eu=moment.defineLocale('eu',{months:'urtarrila_otsaila_martxoa_apirila_maiatza_ekaina_uztaila_abuztua_iraila_urria_azaroa_abendua'.split('_'),monthsShort:'urt._ots._mar._api._mai._eka._uzt._abu._ira._urr._aza._abe.'.split('_'),monthsParseExact:true,weekdays:'igandea_astelehena_asteartea_asteazkena_osteguna_ostirala_larunbata'.split('_'),weekdaysShort:'ig._al._ar._az._og._ol._lr.'.split('_'),weekdaysMin:'ig_al_ar_az_og_ol_lr'.split('_'),weekdaysParseExact:true,longDateFormat:{LT:'HH:mm',LTS:'HH:mm:ss',L:'YYYY-MM-DD',LL:'YYYY[ko] MMMM[ren] D[a]',LLL:'YYYY[ko] MMMM[ren] D[a] HH:mm',LLLL:'dddd, YYYY[ko] MMMM[ren] D[a] HH:mm',l:'YYYY-M-D',ll:'YYYY[ko] MMM D[a]',lll:'YYYY[ko] MMM D[a] HH:mm',llll:'ddd, YYYY[ko] MMM D[a] HH:mm'},calendar:{sameDay:'[gaur] LT[etan]',nextDay:'[bihar] LT[etan]',nextWeek:'dddd LT[etan]',lastDay:'[atzo] LT[etan]',lastWeek:'[aurreko] dddd LT[etan]',sameElse:'L'},relativeTime:{future:'%s barru',past:'duela %s',s:'segundo batzuk',ss:'%d segundo',m:'minutu bat',mm:'%d minutu',h:'ordu bat',hh:'%d ordu',d:'egun bat',dd:'%d egun',M:'hilabete bat',MM:'%d hilabete',y:'urte bat',yy:'%d urte'},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:'%d.',week:{dow:1,// Monday is the first day of the week.
doy:7// The week that contains Jan 7th is the first week of the year.
}});return eu;});/***/},/* 65 *//***/function(module,exports,__webpack_require__){//! moment.js locale configuration
;(function(global,factory){true?factory(__webpack_require__(0)):typeof define==='function'&&define.amd?define(['../moment'],factory):factory(global.moment);})(this,function(moment){'use strict';var symbolMap={'1':'۱','2':'۲','3':'۳','4':'۴','5':'۵','6':'۶','7':'۷','8':'۸','9':'۹','0':'۰'},numberMap={'۱':'1','۲':'2','۳':'3','۴':'4','۵':'5','۶':'6','۷':'7','۸':'8','۹':'9','۰':'0'};var fa=moment.defineLocale('fa',{months:'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split('_'),monthsShort:'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split('_'),weekdays:'\u06CC\u06A9\u200C\u0634\u0646\u0628\u0647_\u062F\u0648\u0634\u0646\u0628\u0647_\u0633\u0647\u200C\u0634\u0646\u0628\u0647_\u0686\u0647\u0627\u0631\u0634\u0646\u0628\u0647_\u067E\u0646\u062C\u200C\u0634\u0646\u0628\u0647_\u062C\u0645\u0639\u0647_\u0634\u0646\u0628\u0647'.split('_'),weekdaysShort:'\u06CC\u06A9\u200C\u0634\u0646\u0628\u0647_\u062F\u0648\u0634\u0646\u0628\u0647_\u0633\u0647\u200C\u0634\u0646\u0628\u0647_\u0686\u0647\u0627\u0631\u0634\u0646\u0628\u0647_\u067E\u0646\u062C\u200C\u0634\u0646\u0628\u0647_\u062C\u0645\u0639\u0647_\u0634\u0646\u0628\u0647'.split('_'),weekdaysMin:'ی_د_س_چ_پ_ج_ش'.split('_'),weekdaysParseExact:true,longDateFormat:{LT:'HH:mm',LTS:'HH:mm:ss',L:'DD/MM/YYYY',LL:'D MMMM YYYY',LLL:'D MMMM YYYY HH:mm',LLLL:'dddd, D MMMM YYYY HH:mm'},meridiemParse:/قبل از ظهر|بعد از ظهر/,isPM:function isPM(input){return /بعد از ظهر/.test(input);},meridiem:function meridiem(hour,minute,isLower){if(hour<12){return'قبل از ظهر';}else{return'بعد از ظهر';}},calendar:{sameDay:'[امروز ساعت] LT',nextDay:'[فردا ساعت] LT',nextWeek:'dddd [ساعت] LT',lastDay:'[دیروز ساعت] LT',lastWeek:'dddd [پیش] [ساعت] LT',sameElse:'L'},relativeTime:{future:'در %s',past:'%s پیش',s:'چند ثانیه',ss:'ثانیه d%',m:'یک دقیقه',mm:'%d دقیقه',h:'یک ساعت',hh:'%d ساعت',d:'یک روز',dd:'%d روز',M:'یک ماه',MM:'%d ماه',y:'یک سال',yy:'%d سال'},preparse:function preparse(string){return string.replace(/[۰-۹]/g,function(match){return numberMap[match];}).replace(/،/g,',');},postformat:function postformat(string){return string.replace(/\d/g,function(match){return symbolMap[match];}).replace(/,/g,'،');},dayOfMonthOrdinalParse:/\d{1,2}م/,ordinal:'%dم',week:{dow:6,// Saturday is the first day of the week.
doy:12// The week that contains Jan 12th is the first week of the year.
}});return fa;});/***/},/* 66 *//***/function(module,exports,__webpack_require__){//! moment.js locale configuration
;(function(global,factory){true?factory(__webpack_require__(0)):typeof define==='function'&&define.amd?define(['../moment'],factory):factory(global.moment);})(this,function(moment){'use strict';var numbersPast='nolla yksi kaksi kolme neljä viisi kuusi seitsemän kahdeksan yhdeksän'.split(' '),numbersFuture=['nolla','yhden','kahden','kolmen','neljän','viiden','kuuden',numbersPast[7],numbersPast[8],numbersPast[9]];function translate(number,withoutSuffix,key,isFuture){var result='';switch(key){case's':return isFuture?'muutaman sekunnin':'muutama sekunti';case'ss':return isFuture?'sekunnin':'sekuntia';case'm':return isFuture?'minuutin':'minuutti';case'mm':result=isFuture?'minuutin':'minuuttia';break;case'h':return isFuture?'tunnin':'tunti';case'hh':result=isFuture?'tunnin':'tuntia';break;case'd':return isFuture?'päivän':'päivä';case'dd':result=isFuture?'päivän':'päivää';break;case'M':return isFuture?'kuukauden':'kuukausi';case'MM':result=isFuture?'kuukauden':'kuukautta';break;case'y':return isFuture?'vuoden':'vuosi';case'yy':result=isFuture?'vuoden':'vuotta';break;}result=verbalNumber(number,isFuture)+' '+result;return result;}function verbalNumber(number,isFuture){return number<10?isFuture?numbersFuture[number]:numbersPast[number]:number;}var fi=moment.defineLocale('fi',{months:'tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kesäkuu_heinäkuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu'.split('_'),monthsShort:'tammi_helmi_maalis_huhti_touko_kesä_heinä_elo_syys_loka_marras_joulu'.split('_'),weekdays:'sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai'.split('_'),weekdaysShort:'su_ma_ti_ke_to_pe_la'.split('_'),weekdaysMin:'su_ma_ti_ke_to_pe_la'.split('_'),longDateFormat:{LT:'HH.mm',LTS:'HH.mm.ss',L:'DD.MM.YYYY',LL:'Do MMMM[ta] YYYY',LLL:'Do MMMM[ta] YYYY, [klo] HH.mm',LLLL:'dddd, Do MMMM[ta] YYYY, [klo] HH.mm',l:'D.M.YYYY',ll:'Do MMM YYYY',lll:'Do MMM YYYY, [klo] HH.mm',llll:'ddd, Do MMM YYYY, [klo] HH.mm'},calendar:{sameDay:'[tänään] [klo] LT',nextDay:'[huomenna] [klo] LT',nextWeek:'dddd [klo] LT',lastDay:'[eilen] [klo] LT',lastWeek:'[viime] dddd[na] [klo] LT',sameElse:'L'},relativeTime:{future:'%s päästä',past:'%s sitten',s:translate,ss:translate,m:translate,mm:translate,h:translate,hh:translate,d:translate,dd:translate,M:translate,MM:translate,y:translate,yy:translate},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:'%d.',week:{dow:1,// Monday is the first day of the week.
doy:4// The week that contains Jan 4th is the first week of the year.
}});return fi;});/***/},/* 67 *//***/function(module,exports,__webpack_require__){//! moment.js locale configuration
;(function(global,factory){true?factory(__webpack_require__(0)):typeof define==='function'&&define.amd?define(['../moment'],factory):factory(global.moment);})(this,function(moment){'use strict';var fo=moment.defineLocale('fo',{months:'januar_februar_mars_apríl_mai_juni_juli_august_september_oktober_november_desember'.split('_'),monthsShort:'jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_'),weekdays:'sunnudagur_mánadagur_týsdagur_mikudagur_hósdagur_fríggjadagur_leygardagur'.split('_'),weekdaysShort:'sun_mán_týs_mik_hós_frí_ley'.split('_'),weekdaysMin:'su_má_tý_mi_hó_fr_le'.split('_'),longDateFormat:{LT:'HH:mm',LTS:'HH:mm:ss',L:'DD/MM/YYYY',LL:'D MMMM YYYY',LLL:'D MMMM YYYY HH:mm',LLLL:'dddd D. MMMM, YYYY HH:mm'},calendar:{sameDay:'[Í dag kl.] LT',nextDay:'[Í morgin kl.] LT',nextWeek:'dddd [kl.] LT',lastDay:'[Í gjár kl.] LT',lastWeek:'[síðstu] dddd [kl] LT',sameElse:'L'},relativeTime:{future:'um %s',past:'%s síðani',s:'fá sekund',ss:'%d sekundir',m:'ein minutt',mm:'%d minuttir',h:'ein tími',hh:'%d tímar',d:'ein dagur',dd:'%d dagar',M:'ein mánaði',MM:'%d mánaðir',y:'eitt ár',yy:'%d ár'},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:'%d.',week:{dow:1,// Monday is the first day of the week.
doy:4// The week that contains Jan 4th is the first week of the year.
}});return fo;});/***/},/* 68 *//***/function(module,exports,__webpack_require__){//! moment.js locale configuration
;(function(global,factory){true?factory(__webpack_require__(0)):typeof define==='function'&&define.amd?define(['../moment'],factory):factory(global.moment);})(this,function(moment){'use strict';var fr=moment.defineLocale('fr',{months:'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'),monthsShort:'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'),monthsParseExact:true,weekdays:'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),weekdaysShort:'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),weekdaysMin:'di_lu_ma_me_je_ve_sa'.split('_'),weekdaysParseExact:true,longDateFormat:{LT:'HH:mm',LTS:'HH:mm:ss',L:'DD/MM/YYYY',LL:'D MMMM YYYY',LLL:'D MMMM YYYY HH:mm',LLLL:'dddd D MMMM YYYY HH:mm'},calendar:{sameDay:'[Aujourd’hui à] LT',nextDay:'[Demain à] LT',nextWeek:'dddd [à] LT',lastDay:'[Hier à] LT',lastWeek:'dddd [dernier à] LT',sameElse:'L'},relativeTime:{future:'dans %s',past:'il y a %s',s:'quelques secondes',ss:'%d secondes',m:'une minute',mm:'%d minutes',h:'une heure',hh:'%d heures',d:'un jour',dd:'%d jours',M:'un mois',MM:'%d mois',y:'un an',yy:'%d ans'},dayOfMonthOrdinalParse:/\d{1,2}(er|)/,ordinal:function ordinal(number,period){switch(period){// TODO: Return 'e' when day of month > 1. Move this case inside
// block for masculine words below.
// See https://github.com/moment/moment/issues/3375
case'D':return number+(number===1?'er':'');// Words with masculine grammatical gender: mois, trimestre, jour
default:case'M':case'Q':case'DDD':case'd':return number+(number===1?'er':'e');// Words with feminine grammatical gender: semaine
case'w':case'W':return number+(number===1?'re':'e');}},week:{dow:1,// Monday is the first day of the week.
doy:4// The week that contains Jan 4th is the first week of the year.
}});return fr;});/***/},/* 69 *//***/function(module,exports,__webpack_require__){//! moment.js locale configuration
;(function(global,factory){true?factory(__webpack_require__(0)):typeof define==='function'&&define.amd?define(['../moment'],factory):factory(global.moment);})(this,function(moment){'use strict';var frCa=moment.defineLocale('fr-ca',{months:'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'),monthsShort:'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'),monthsParseExact:true,weekdays:'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),weekdaysShort:'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),weekdaysMin:'di_lu_ma_me_je_ve_sa'.split('_'),weekdaysParseExact:true,longDateFormat:{LT:'HH:mm',LTS:'HH:mm:ss',L:'YYYY-MM-DD',LL:'D MMMM YYYY',LLL:'D MMMM YYYY HH:mm',LLLL:'dddd D MMMM YYYY HH:mm'},calendar:{sameDay:'[Aujourd’hui à] LT',nextDay:'[Demain à] LT',nextWeek:'dddd [à] LT',lastDay:'[Hier à] LT',lastWeek:'dddd [dernier à] LT',sameElse:'L'},relativeTime:{future:'dans %s',past:'il y a %s',s:'quelques secondes',ss:'%d secondes',m:'une minute',mm:'%d minutes',h:'une heure',hh:'%d heures',d:'un jour',dd:'%d jours',M:'un mois',MM:'%d mois',y:'un an',yy:'%d ans'},dayOfMonthOrdinalParse:/\d{1,2}(er|e)/,ordinal:function ordinal(number,period){switch(period){// Words with masculine grammatical gender: mois, trimestre, jour
default:case'M':case'Q':case'D':case'DDD':case'd':return number+(number===1?'er':'e');// Words with feminine grammatical gender: semaine
case'w':case'W':return number+(number===1?'re':'e');}}});return frCa;});/***/},/* 70 *//***/function(module,exports,__webpack_require__){//! moment.js locale configuration
;(function(global,factory){true?factory(__webpack_require__(0)):typeof define==='function'&&define.amd?define(['../moment'],factory):factory(global.moment);})(this,function(moment){'use strict';var frCh=moment.defineLocale('fr-ch',{months:'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'),monthsShort:'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'),monthsParseExact:true,weekdays:'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),weekdaysShort:'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),weekdaysMin:'di_lu_ma_me_je_ve_sa'.split('_'),weekdaysParseExact:true,longDateFormat:{LT:'HH:mm',LTS:'HH:mm:ss',L:'DD.MM.YYYY',LL:'D MMMM YYYY',LLL:'D MMMM YYYY HH:mm',LLLL:'dddd D MMMM YYYY HH:mm'},calendar:{sameDay:'[Aujourd’hui à] LT',nextDay:'[Demain à] LT',nextWeek:'dddd [à] LT',lastDay:'[Hier à] LT',lastWeek:'dddd [dernier à] LT',sameElse:'L'},relativeTime:{future:'dans %s',past:'il y a %s',s:'quelques secondes',ss:'%d secondes',m:'une minute',mm:'%d minutes',h:'une heure',hh:'%d heures',d:'un jour',dd:'%d jours',M:'un mois',MM:'%d mois',y:'un an',yy:'%d ans'},dayOfMonthOrdinalParse:/\d{1,2}(er|e)/,ordinal:function ordinal(number,period){switch(period){// Words with masculine grammatical gender: mois, trimestre, jour
default:case'M':case'Q':case'D':case'DDD':case'd':return number+(number===1?'er':'e');// Words with feminine grammatical gender: semaine
case'w':case'W':return number+(number===1?'re':'e');}},week:{dow:1,// Monday is the first day of the week.
doy:4// The week that contains Jan 4th is the first week of the year.
}});return frCh;});/***/},/* 71 *//***/function(module,exports,__webpack_require__){//! moment.js locale configuration
;(function(global,factory){true?factory(__webpack_require__(0)):typeof define==='function'&&define.amd?define(['../moment'],factory):factory(global.moment);})(this,function(moment){'use strict';var monthsShortWithDots='jan._feb._mrt._apr._mai_jun._jul._aug._sep._okt._nov._des.'.split('_'),monthsShortWithoutDots='jan_feb_mrt_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_');var fy=moment.defineLocale('fy',{months:'jannewaris_febrewaris_maart_april_maaie_juny_july_augustus_septimber_oktober_novimber_desimber'.split('_'),monthsShort:function monthsShort(m,format){if(!m){return monthsShortWithDots;}else if(/-MMM-/.test(format)){return monthsShortWithoutDots[m.month()];}else{return monthsShortWithDots[m.month()];}},monthsParseExact:true,weekdays:'snein_moandei_tiisdei_woansdei_tongersdei_freed_sneon'.split('_'),weekdaysShort:'si._mo._ti._wo._to._fr._so.'.split('_'),weekdaysMin:'Si_Mo_Ti_Wo_To_Fr_So'.split('_'),weekdaysParseExact:true,longDateFormat:{LT:'HH:mm',LTS:'HH:mm:ss',L:'DD-MM-YYYY',LL:'D MMMM YYYY',LLL:'D MMMM YYYY HH:mm',LLLL:'dddd D MMMM YYYY HH:mm'},calendar:{sameDay:'[hjoed om] LT',nextDay:'[moarn om] LT',nextWeek:'dddd [om] LT',lastDay:'[juster om] LT',lastWeek:'[ôfrûne] dddd [om] LT',sameElse:'L'},relativeTime:{future:'oer %s',past:'%s lyn',s:'in pear sekonden',ss:'%d sekonden',m:'ien minút',mm:'%d minuten',h:'ien oere',hh:'%d oeren',d:'ien dei',dd:'%d dagen',M:'ien moanne',MM:'%d moannen',y:'ien jier',yy:'%d jierren'},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function ordinal(number){return number+(number===1||number===8||number>=20?'ste':'de');},week:{dow:1,// Monday is the first day of the week.
doy:4// The week that contains Jan 4th is the first week of the year.
}});return fy;});/***/},/* 72 *//***/function(module,exports,__webpack_require__){//! moment.js locale configuration
;(function(global,factory){true?factory(__webpack_require__(0)):typeof define==='function'&&define.amd?define(['../moment'],factory):factory(global.moment);})(this,function(moment){'use strict';var months=['Am Faoilleach','An Gearran','Am Màrt','An Giblean','An Cèitean','An t-Ògmhios','An t-Iuchar','An Lùnastal','An t-Sultain','An Dàmhair','An t-Samhain','An Dùbhlachd'];var monthsShort=['Faoi','Gear','Màrt','Gibl','Cèit','Ògmh','Iuch','Lùn','Sult','Dàmh','Samh','Dùbh'];var weekdays=['Didòmhnaich','Diluain','Dimàirt','Diciadain','Diardaoin','Dihaoine','Disathairne'];var weekdaysShort=['Did','Dil','Dim','Dic','Dia','Dih','Dis'];var weekdaysMin=['Dò','Lu','Mà','Ci','Ar','Ha','Sa'];var gd=moment.defineLocale('gd',{months:months,monthsShort:monthsShort,monthsParseExact:true,weekdays:weekdays,weekdaysShort:weekdaysShort,weekdaysMin:weekdaysMin,longDateFormat:{LT:'HH:mm',LTS:'HH:mm:ss',L:'DD/MM/YYYY',LL:'D MMMM YYYY',LLL:'D MMMM YYYY HH:mm',LLLL:'dddd, D MMMM YYYY HH:mm'},calendar:{sameDay:'[An-diugh aig] LT',nextDay:'[A-màireach aig] LT',nextWeek:'dddd [aig] LT',lastDay:'[An-dè aig] LT',lastWeek:'dddd [seo chaidh] [aig] LT',sameElse:'L'},relativeTime:{future:'ann an %s',past:'bho chionn %s',s:'beagan diogan',ss:'%d diogan',m:'mionaid',mm:'%d mionaidean',h:'uair',hh:'%d uairean',d:'latha',dd:'%d latha',M:'mìos',MM:'%d mìosan',y:'bliadhna',yy:'%d bliadhna'},dayOfMonthOrdinalParse:/\d{1,2}(d|na|mh)/,ordinal:function ordinal(number){var output=number===1?'d':number%10===2?'na':'mh';return number+output;},week:{dow:1,// Monday is the first day of the week.
doy:4// The week that contains Jan 4th is the first week of the year.
}});return gd;});/***/},/* 73 *//***/function(module,exports,__webpack_require__){//! moment.js locale configuration
;(function(global,factory){true?factory(__webpack_require__(0)):typeof define==='function'&&define.amd?define(['../moment'],factory):factory(global.moment);})(this,function(moment){'use strict';var gl=moment.defineLocale('gl',{months:'xaneiro_febreiro_marzo_abril_maio_xuño_xullo_agosto_setembro_outubro_novembro_decembro'.split('_'),monthsShort:'xan._feb._mar._abr._mai._xuñ._xul._ago._set._out._nov._dec.'.split('_'),monthsParseExact:true,weekdays:'domingo_luns_martes_mércores_xoves_venres_sábado'.split('_'),weekdaysShort:'dom._lun._mar._mér._xov._ven._sáb.'.split('_'),weekdaysMin:'do_lu_ma_mé_xo_ve_sá'.split('_'),weekdaysParseExact:true,longDateFormat:{LT:'H:mm',LTS:'H:mm:ss',L:'DD/MM/YYYY',LL:'D [de] MMMM [de] YYYY',LLL:'D [de] MMMM [de] YYYY H:mm',LLLL:'dddd, D [de] MMMM [de] YYYY H:mm'},calendar:{sameDay:function sameDay(){return'[hoxe '+(this.hours()!==1?'ás':'á')+'] LT';},nextDay:function nextDay(){return'[mañá '+(this.hours()!==1?'ás':'á')+'] LT';},nextWeek:function nextWeek(){return'dddd ['+(this.hours()!==1?'ás':'a')+'] LT';},lastDay:function lastDay(){return'[onte '+(this.hours()!==1?'á':'a')+'] LT';},lastWeek:function lastWeek(){return'[o] dddd [pasado '+(this.hours()!==1?'ás':'a')+'] LT';},sameElse:'L'},relativeTime:{future:function future(str){if(str.indexOf('un')===0){return'n'+str;}return'en '+str;},past:'hai %s',s:'uns segundos',ss:'%d segundos',m:'un minuto',mm:'%d minutos',h:'unha hora',hh:'%d horas',d:'un día',dd:'%d días',M:'un mes',MM:'%d meses',y:'un ano',yy:'%d anos'},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:'%dº',week:{dow:1,// Monday is the first day of the week.
doy:4// The week that contains Jan 4th is the first week of the year.
}});return gl;});/***/},/* 74 *//***/function(module,exports,__webpack_require__){//! moment.js locale configuration
;(function(global,factory){true?factory(__webpack_require__(0)):typeof define==='function'&&define.amd?define(['../moment'],factory):factory(global.moment);})(this,function(moment){'use strict';function processRelativeTime(number,withoutSuffix,key,isFuture){var format={'s':['thodde secondanim','thodde second'],'ss':[number+' secondanim',number+' second'],'m':['eka mintan','ek minute'],'mm':[number+' mintanim',number+' mintam'],'h':['eka horan','ek hor'],'hh':[number+' horanim',number+' horam'],'d':['eka disan','ek dis'],'dd':[number+' disanim',number+' dis'],'M':['eka mhoinean','ek mhoino'],'MM':[number+' mhoineanim',number+' mhoine'],'y':['eka vorsan','ek voros'],'yy':[number+' vorsanim',number+' vorsam']};return withoutSuffix?format[key][0]:format[key][1];}var gomLatn=moment.defineLocale('gom-latn',{months:'Janer_Febrer_Mars_Abril_Mai_Jun_Julai_Agost_Setembr_Otubr_Novembr_Dezembr'.split('_'),monthsShort:'Jan._Feb._Mars_Abr._Mai_Jun_Jul._Ago._Set._Otu._Nov._Dez.'.split('_'),monthsParseExact:true,weekdays:'Aitar_Somar_Mongllar_Budvar_Brestar_Sukrar_Son\'var'.split('_'),weekdaysShort:'Ait._Som._Mon._Bud._Bre._Suk._Son.'.split('_'),weekdaysMin:'Ai_Sm_Mo_Bu_Br_Su_Sn'.split('_'),weekdaysParseExact:true,longDateFormat:{LT:'A h:mm [vazta]',LTS:'A h:mm:ss [vazta]',L:'DD-MM-YYYY',LL:'D MMMM YYYY',LLL:'D MMMM YYYY A h:mm [vazta]',LLLL:'dddd, MMMM[achea] Do, YYYY, A h:mm [vazta]',llll:'ddd, D MMM YYYY, A h:mm [vazta]'},calendar:{sameDay:'[Aiz] LT',nextDay:'[Faleam] LT',nextWeek:'[Ieta to] dddd[,] LT',lastDay:'[Kal] LT',lastWeek:'[Fatlo] dddd[,] LT',sameElse:'L'},relativeTime:{future:'%s',past:'%s adim',s:processRelativeTime,ss:processRelativeTime,m:processRelativeTime,mm:processRelativeTime,h:processRelativeTime,hh:processRelativeTime,d:processRelativeTime,dd:processRelativeTime,M:processRelativeTime,MM:processRelativeTime,y:processRelativeTime,yy:processRelativeTime},dayOfMonthOrdinalParse:/\d{1,2}(er)/,ordinal:function ordinal(number,period){switch(period){// the ordinal 'er' only applies to day of the month
case'D':return number+'er';default:case'M':case'Q':case'DDD':case'd':case'w':case'W':return number;}},week:{dow:1,// Monday is the first day of the week.
doy:4// The week that contains Jan 4th is the first week of the year.
},meridiemParse:/rati|sokalli|donparam|sanje/,meridiemHour:function meridiemHour(hour,meridiem){if(hour===12){hour=0;}if(meridiem==='rati'){return hour<4?hour:hour+12;}else if(meridiem==='sokalli'){return hour;}else if(meridiem==='donparam'){return hour>12?hour:hour+12;}else if(meridiem==='sanje'){return hour+12;}},meridiem:function meridiem(hour,minute,isLower){if(hour<4){return'rati';}else if(hour<12){return'sokalli';}else if(hour<16){return'donparam';}else if(hour<20){return'sanje';}else{return'rati';}}});return gomLatn;});/***/},/* 75 *//***/function(module,exports,__webpack_require__){//! moment.js locale configuration
;(function(global,factory){true?factory(__webpack_require__(0)):typeof define==='function'&&define.amd?define(['../moment'],factory):factory(global.moment);})(this,function(moment){'use strict';var symbolMap={'1':'૧','2':'૨','3':'૩','4':'૪','5':'૫','6':'૬','7':'૭','8':'૮','9':'૯','0':'૦'},numberMap={'૧':'1','૨':'2','૩':'3','૪':'4','૫':'5','૬':'6','૭':'7','૮':'8','૯':'9','૦':'0'};var gu=moment.defineLocale('gu',{months:'જાન્યુઆરી_ફેબ્રુઆરી_માર્ચ_એપ્રિલ_મે_જૂન_જુલાઈ_ઑગસ્ટ_સપ્ટેમ્બર_ઑક્ટ્બર_નવેમ્બર_ડિસેમ્બર'.split('_'),monthsShort:'જાન્યુ._ફેબ્રુ._માર્ચ_એપ્રિ._મે_જૂન_જુલા._ઑગ._સપ્ટે._ઑક્ટ્._નવે._ડિસે.'.split('_'),monthsParseExact:true,weekdays:'રવિવાર_સોમવાર_મંગળવાર_બુધ્વાર_ગુરુવાર_શુક્રવાર_શનિવાર'.split('_'),weekdaysShort:'રવિ_સોમ_મંગળ_બુધ્_ગુરુ_શુક્ર_શનિ'.split('_'),weekdaysMin:'ર_સો_મં_બુ_ગુ_શુ_શ'.split('_'),longDateFormat:{LT:'A h:mm વાગ્યે',LTS:'A h:mm:ss વાગ્યે',L:'DD/MM/YYYY',LL:'D MMMM YYYY',LLL:'D MMMM YYYY, A h:mm વાગ્યે',LLLL:'dddd, D MMMM YYYY, A h:mm વાગ્યે'},calendar:{sameDay:'[આજ] LT',nextDay:'[કાલે] LT',nextWeek:'dddd, LT',lastDay:'[ગઇકાલે] LT',lastWeek:'[પાછલા] dddd, LT',sameElse:'L'},relativeTime:{future:'%s મા',past:'%s પેહલા',s:'અમુક પળો',ss:'%d સેકંડ',m:'એક મિનિટ',mm:'%d મિનિટ',h:'એક કલાક',hh:'%d કલાક',d:'એક દિવસ',dd:'%d દિવસ',M:'એક મહિનો',MM:'%d મહિનો',y:'એક વર્ષ',yy:'%d વર્ષ'},preparse:function preparse(string){return string.replace(/[૧૨૩૪૫૬૭૮૯૦]/g,function(match){return numberMap[match];});},postformat:function postformat(string){return string.replace(/\d/g,function(match){return symbolMap[match];});},// Gujarati notation for meridiems are quite fuzzy in practice. While there exists
// a rigid notion of a 'Pahar' it is not used as rigidly in modern Gujarati.
meridiemParse:/રાત|બપોર|સવાર|સાંજ/,meridiemHour:function meridiemHour(hour,meridiem){if(hour===12){hour=0;}if(meridiem==='રાત'){return hour<4?hour:hour+12;}else if(meridiem==='સવાર'){return hour;}else if(meridiem==='બપોર'){return hour>=10?hour:hour+12;}else if(meridiem==='સાંજ'){return hour+12;}},meridiem:function meridiem(hour,minute,isLower){if(hour<4){return'રાત';}else if(hour<10){return'સવાર';}else if(hour<17){return'બપોર';}else if(hour<20){return'સાંજ';}else{return'રાત';}},week:{dow:0,// Sunday is the first day of the week.
doy:6// The week that contains Jan 6th is the first week of the year.
}});return gu;});/***/},/* 76 *//***/function(module,exports,__webpack_require__){//! moment.js locale configuration
;(function(global,factory){true?factory(__webpack_require__(0)):typeof define==='function'&&define.amd?define(['../moment'],factory):factory(global.moment);})(this,function(moment){'use strict';var he=moment.defineLocale('he',{months:'ינואר_פברואר_מרץ_אפריל_מאי_יוני_יולי_אוגוסט_ספטמבר_אוקטובר_נובמבר_דצמבר'.split('_'),monthsShort:'ינו׳_פבר׳_מרץ_אפר׳_מאי_יוני_יולי_אוג׳_ספט׳_אוק׳_נוב׳_דצמ׳'.split('_'),weekdays:'ראשון_שני_שלישי_רביעי_חמישי_שישי_שבת'.split('_'),weekdaysShort:'א׳_ב׳_ג׳_ד׳_ה׳_ו׳_ש׳'.split('_'),weekdaysMin:'א_ב_ג_ד_ה_ו_ש'.split('_'),longDateFormat:{LT:'HH:mm',LTS:'HH:mm:ss',L:'DD/MM/YYYY',LL:'D [ב]MMMM YYYY',LLL:'D [ב]MMMM YYYY HH:mm',LLLL:'dddd, D [ב]MMMM YYYY HH:mm',l:'D/M/YYYY',ll:'D MMM YYYY',lll:'D MMM YYYY HH:mm',llll:'ddd, D MMM YYYY HH:mm'},calendar:{sameDay:'[היום ב־]LT',nextDay:'[מחר ב־]LT',nextWeek:'dddd [בשעה] LT',lastDay:'[אתמול ב־]LT',lastWeek:'[ביום] dddd [האחרון בשעה] LT',sameElse:'L'},relativeTime:{future:'בעוד %s',past:'לפני %s',s:'מספר שניות',ss:'%d שניות',m:'דקה',mm:'%d דקות',h:'שעה',hh:function hh(number){if(number===2){return'שעתיים';}return number+' שעות';},d:'יום',dd:function dd(number){if(number===2){return'יומיים';}return number+' ימים';},M:'חודש',MM:function MM(number){if(number===2){return'חודשיים';}return number+' חודשים';},y:'שנה',yy:function yy(number){if(number===2){return'שנתיים';}else if(number%10===0&&number!==10){return number+' שנה';}return number+' שנים';}},meridiemParse:/אחה"צ|לפנה"צ|אחרי הצהריים|לפני הצהריים|לפנות בוקר|בבוקר|בערב/i,isPM:function isPM(input){return /^(אחה"צ|אחרי הצהריים|בערב)$/.test(input);},meridiem:function meridiem(hour,minute,isLower){if(hour<5){return'לפנות בוקר';}else if(hour<10){return'בבוקר';}else if(hour<12){return isLower?'לפנה"צ':'לפני הצהריים';}else if(hour<18){return isLower?'אחה"צ':'אחרי הצהריים';}else{return'בערב';}}});return he;});/***/},/* 77 *//***/function(module,exports,__webpack_require__){//! moment.js locale configuration
;(function(global,factory){true?factory(__webpack_require__(0)):typeof define==='function'&&define.amd?define(['../moment'],factory):factory(global.moment);})(this,function(moment){'use strict';var symbolMap={'1':'१','2':'२','3':'३','4':'४','5':'५','6':'६','7':'७','8':'८','9':'९','0':'०'},numberMap={'१':'1','२':'2','३':'3','४':'4','५':'5','६':'6','७':'7','८':'8','९':'9','०':'0'};var hi=moment.defineLocale('hi',{months:'जनवरी_फ़रवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितम्बर_अक्टूबर_नवम्बर_दिसम्बर'.split('_'),monthsShort:'जन._फ़र._मार्च_अप्रै._मई_जून_जुल._अग._सित._अक्टू._नव._दिस.'.split('_'),monthsParseExact:true,weekdays:'रविवार_सोमवार_मंगलवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split('_'),weekdaysShort:'रवि_सोम_मंगल_बुध_गुरू_शुक्र_शनि'.split('_'),weekdaysMin:'र_सो_मं_बु_गु_शु_श'.split('_'),longDateFormat:{LT:'A h:mm बजे',LTS:'A h:mm:ss बजे',L:'DD/MM/YYYY',LL:'D MMMM YYYY',LLL:'D MMMM YYYY, A h:mm बजे',LLLL:'dddd, D MMMM YYYY, A h:mm बजे'},calendar:{sameDay:'[आज] LT',nextDay:'[कल] LT',nextWeek:'dddd, LT',lastDay:'[कल] LT',lastWeek:'[पिछले] dddd, LT',sameElse:'L'},relativeTime:{future:'%s में',past:'%s पहले',s:'कुछ ही क्षण',ss:'%d सेकंड',m:'एक मिनट',mm:'%d मिनट',h:'एक घंटा',hh:'%d घंटे',d:'एक दिन',dd:'%d दिन',M:'एक महीने',MM:'%d महीने',y:'एक वर्ष',yy:'%d वर्ष'},preparse:function preparse(string){return string.replace(/[१२३४५६७८९०]/g,function(match){return numberMap[match];});},postformat:function postformat(string){return string.replace(/\d/g,function(match){return symbolMap[match];});},// Hindi notation for meridiems are quite fuzzy in practice. While there exists
// a rigid notion of a 'Pahar' it is not used as rigidly in modern Hindi.
meridiemParse:/रात|सुबह|दोपहर|शाम/,meridiemHour:function meridiemHour(hour,meridiem){if(hour===12){hour=0;}if(meridiem==='रात'){return hour<4?hour:hour+12;}else if(meridiem==='सुबह'){return hour;}else if(meridiem==='दोपहर'){return hour>=10?hour:hour+12;}else if(meridiem==='शाम'){return hour+12;}},meridiem:function meridiem(hour,minute,isLower){if(hour<4){return'रात';}else if(hour<10){return'सुबह';}else if(hour<17){return'दोपहर';}else if(hour<20){return'शाम';}else{return'रात';}},week:{dow:0,// Sunday is the first day of the week.
doy:6// The week that contains Jan 6th is the first week of the year.
}});return hi;});/***/},/* 78 *//***/function(module,exports,__webpack_require__){//! moment.js locale configuration
;(function(global,factory){true?factory(__webpack_require__(0)):typeof define==='function'&&define.amd?define(['../moment'],factory):factory(global.moment);})(this,function(moment){'use strict';function translate(number,withoutSuffix,key){var result=number+' ';switch(key){case'ss':if(number===1){result+='sekunda';}else if(number===2||number===3||number===4){result+='sekunde';}else{result+='sekundi';}return result;case'm':return withoutSuffix?'jedna minuta':'jedne minute';case'mm':if(number===1){result+='minuta';}else if(number===2||number===3||number===4){result+='minute';}else{result+='minuta';}return result;case'h':return withoutSuffix?'jedan sat':'jednog sata';case'hh':if(number===1){result+='sat';}else if(number===2||number===3||number===4){result+='sata';}else{result+='sati';}return result;case'dd':if(number===1){result+='dan';}else{result+='dana';}return result;case'MM':if(number===1){result+='mjesec';}else if(number===2||number===3||number===4){result+='mjeseca';}else{result+='mjeseci';}return result;case'yy':if(number===1){result+='godina';}else if(number===2||number===3||number===4){result+='godine';}else{result+='godina';}return result;}}var hr=moment.defineLocale('hr',{months:{format:'siječnja_veljače_ožujka_travnja_svibnja_lipnja_srpnja_kolovoza_rujna_listopada_studenoga_prosinca'.split('_'),standalone:'siječanj_veljača_ožujak_travanj_svibanj_lipanj_srpanj_kolovoz_rujan_listopad_studeni_prosinac'.split('_')},monthsShort:'sij._velj._ožu._tra._svi._lip._srp._kol._ruj._lis._stu._pro.'.split('_'),monthsParseExact:true,weekdays:'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split('_'),weekdaysShort:'ned._pon._uto._sri._čet._pet._sub.'.split('_'),weekdaysMin:'ne_po_ut_sr_če_pe_su'.split('_'),weekdaysParseExact:true,longDateFormat:{LT:'H:mm',LTS:'H:mm:ss',L:'DD.MM.YYYY',LL:'D. MMMM YYYY',LLL:'D. MMMM YYYY H:mm',LLLL:'dddd, D. MMMM YYYY H:mm'},calendar:{sameDay:'[danas u] LT',nextDay:'[sutra u] LT',nextWeek:function nextWeek(){switch(this.day()){case 0:return'[u] [nedjelju] [u] LT';case 3:return'[u] [srijedu] [u] LT';case 6:return'[u] [subotu] [u] LT';case 1:case 2:case 4:case 5:return'[u] dddd [u] LT';}},lastDay:'[jučer u] LT',lastWeek:function lastWeek(){switch(this.day()){case 0:case 3:return'[prošlu] dddd [u] LT';case 6:return'[prošle] [subote] [u] LT';case 1:case 2:case 4:case 5:return'[prošli] dddd [u] LT';}},sameElse:'L'},relativeTime:{future:'za %s',past:'prije %s',s:'par sekundi',ss:translate,m:translate,mm:translate,h:translate,hh:translate,d:'dan',dd:translate,M:'mjesec',MM:translate,y:'godinu',yy:translate},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:'%d.',week:{dow:1,// Monday is the first day of the week.
doy:7// The week that contains Jan 7th is the first week of the year.
}});return hr;});/***/},/* 79 *//***/function(module,exports,__webpack_require__){//! moment.js locale configuration
;(function(global,factory){true?factory(__webpack_require__(0)):typeof define==='function'&&define.amd?define(['../moment'],factory):factory(global.moment);})(this,function(moment){'use strict';var weekEndings='vasárnap hétfőn kedden szerdán csütörtökön pénteken szombaton'.split(' ');function translate(number,withoutSuffix,key,isFuture){var num=number;switch(key){case's':return isFuture||withoutSuffix?'néhány másodperc':'néhány másodperce';case'ss':return num+(isFuture||withoutSuffix)?' másodperc':' másodperce';case'm':return'egy'+(isFuture||withoutSuffix?' perc':' perce');case'mm':return num+(isFuture||withoutSuffix?' perc':' perce');case'h':return'egy'+(isFuture||withoutSuffix?' óra':' órája');case'hh':return num+(isFuture||withoutSuffix?' óra':' órája');case'd':return'egy'+(isFuture||withoutSuffix?' nap':' napja');case'dd':return num+(isFuture||withoutSuffix?' nap':' napja');case'M':return'egy'+(isFuture||withoutSuffix?' hónap':' hónapja');case'MM':return num+(isFuture||withoutSuffix?' hónap':' hónapja');case'y':return'egy'+(isFuture||withoutSuffix?' év':' éve');case'yy':return num+(isFuture||withoutSuffix?' év':' éve');}return'';}function week(isFuture){return(isFuture?'':'[múlt] ')+'['+weekEndings[this.day()]+'] LT[-kor]';}var hu=moment.defineLocale('hu',{months:'január_február_március_április_május_június_július_augusztus_szeptember_október_november_december'.split('_'),monthsShort:'jan_feb_márc_ápr_máj_jún_júl_aug_szept_okt_nov_dec'.split('_'),weekdays:'vasárnap_hétfő_kedd_szerda_csütörtök_péntek_szombat'.split('_'),weekdaysShort:'vas_hét_kedd_sze_csüt_pén_szo'.split('_'),weekdaysMin:'v_h_k_sze_cs_p_szo'.split('_'),longDateFormat:{LT:'H:mm',LTS:'H:mm:ss',L:'YYYY.MM.DD.',LL:'YYYY. MMMM D.',LLL:'YYYY. MMMM D. H:mm',LLLL:'YYYY. MMMM D., dddd H:mm'},meridiemParse:/de|du/i,isPM:function isPM(input){return input.charAt(1).toLowerCase()==='u';},meridiem:function meridiem(hours,minutes,isLower){if(hours<12){return isLower===true?'de':'DE';}else{return isLower===true?'du':'DU';}},calendar:{sameDay:'[ma] LT[-kor]',nextDay:'[holnap] LT[-kor]',nextWeek:function nextWeek(){return week.call(this,true);},lastDay:'[tegnap] LT[-kor]',lastWeek:function lastWeek(){return week.call(this,false);},sameElse:'L'},relativeTime:{future:'%s múlva',past:'%s',s:translate,ss:translate,m:translate,mm:translate,h:translate,hh:translate,d:translate,dd:translate,M:translate,MM:translate,y:translate,yy:translate},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:'%d.',week:{dow:1,// Monday is the first day of the week.
doy:4// The week that contains Jan 4th is the first week of the year.
}});return hu;});/***/},/* 80 *//***/function(module,exports,__webpack_require__){//! moment.js locale configuration
;(function(global,factory){true?factory(__webpack_require__(0)):typeof define==='function'&&define.amd?define(['../moment'],factory):factory(global.moment);})(this,function(moment){'use strict';var hyAm=moment.defineLocale('hy-am',{months:{format:'հունվարի_փետրվարի_մարտի_ապրիլի_մայիսի_հունիսի_հուլիսի_օգոստոսի_սեպտեմբերի_հոկտեմբերի_նոյեմբերի_դեկտեմբերի'.split('_'),standalone:'հունվար_փետրվար_մարտ_ապրիլ_մայիս_հունիս_հուլիս_օգոստոս_սեպտեմբեր_հոկտեմբեր_նոյեմբեր_դեկտեմբեր'.split('_')},monthsShort:'հնվ_փտր_մրտ_ապր_մյս_հնս_հլս_օգս_սպտ_հկտ_նմբ_դկտ'.split('_'),weekdays:'կիրակի_երկուշաբթի_երեքշաբթի_չորեքշաբթի_հինգշաբթի_ուրբաթ_շաբաթ'.split('_'),weekdaysShort:'կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ'.split('_'),weekdaysMin:'կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ'.split('_'),longDateFormat:{LT:'HH:mm',LTS:'HH:mm:ss',L:'DD.MM.YYYY',LL:'D MMMM YYYY թ.',LLL:'D MMMM YYYY թ., HH:mm',LLLL:'dddd, D MMMM YYYY թ., HH:mm'},calendar:{sameDay:'[այսօր] LT',nextDay:'[վաղը] LT',lastDay:'[երեկ] LT',nextWeek:function nextWeek(){return'dddd [օրը ժամը] LT';},lastWeek:function lastWeek(){return'[անցած] dddd [օրը ժամը] LT';},sameElse:'L'},relativeTime:{future:'%s հետո',past:'%s առաջ',s:'մի քանի վայրկյան',ss:'%d վայրկյան',m:'րոպե',mm:'%d րոպե',h:'ժամ',hh:'%d ժամ',d:'օր',dd:'%d օր',M:'ամիս',MM:'%d ամիս',y:'տարի',yy:'%d տարի'},meridiemParse:/գիշերվա|առավոտվա|ցերեկվա|երեկոյան/,isPM:function isPM(input){return /^(ցերեկվա|երեկոյան)$/.test(input);},meridiem:function meridiem(hour){if(hour<4){return'գիշերվա';}else if(hour<12){return'առավոտվա';}else if(hour<17){return'ցերեկվա';}else{return'երեկոյան';}},dayOfMonthOrdinalParse:/\d{1,2}|\d{1,2}-(ին|րդ)/,ordinal:function ordinal(number,period){switch(period){case'DDD':case'w':case'W':case'DDDo':if(number===1){return number+'-ին';}return number+'-րդ';default:return number;}},week:{dow:1,// Monday is the first day of the week.
doy:7// The week that contains Jan 7th is the first week of the year.
}});return hyAm;});/***/},/* 81 *//***/function(module,exports,__webpack_require__){//! moment.js locale configuration
;(function(global,factory){true?factory(__webpack_require__(0)):typeof define==='function'&&define.amd?define(['../moment'],factory):factory(global.moment);})(this,function(moment){'use strict';var id=moment.defineLocale('id',{months:'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember'.split('_'),monthsShort:'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Agt_Sep_Okt_Nov_Des'.split('_'),weekdays:'Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu'.split('_'),weekdaysShort:'Min_Sen_Sel_Rab_Kam_Jum_Sab'.split('_'),weekdaysMin:'Mg_Sn_Sl_Rb_Km_Jm_Sb'.split('_'),longDateFormat:{LT:'HH.mm',LTS:'HH.mm.ss',L:'DD/MM/YYYY',LL:'D MMMM YYYY',LLL:'D MMMM YYYY [pukul] HH.mm',LLLL:'dddd, D MMMM YYYY [pukul] HH.mm'},meridiemParse:/pagi|siang|sore|malam/,meridiemHour:function meridiemHour(hour,meridiem){if(hour===12){hour=0;}if(meridiem==='pagi'){return hour;}else if(meridiem==='siang'){return hour>=11?hour:hour+12;}else if(meridiem==='sore'||meridiem==='malam'){return hour+12;}},meridiem:function meridiem(hours,minutes,isLower){if(hours<11){return'pagi';}else if(hours<15){return'siang';}else if(hours<19){return'sore';}else{return'malam';}},calendar:{sameDay:'[Hari ini pukul] LT',nextDay:'[Besok pukul] LT',nextWeek:'dddd [pukul] LT',lastDay:'[Kemarin pukul] LT',lastWeek:'dddd [lalu pukul] LT',sameElse:'L'},relativeTime:{future:'dalam %s',past:'%s yang lalu',s:'beberapa detik',ss:'%d detik',m:'semenit',mm:'%d menit',h:'sejam',hh:'%d jam',d:'sehari',dd:'%d hari',M:'sebulan',MM:'%d bulan',y:'setahun',yy:'%d tahun'},week:{dow:1,// Monday is the first day of the week.
doy:7// The week that contains Jan 7th is the first week of the year.
}});return id;});/***/},/* 82 *//***/function(module,exports,__webpack_require__){//! moment.js locale configuration
;(function(global,factory){true?factory(__webpack_require__(0)):typeof define==='function'&&define.amd?define(['../moment'],factory):factory(global.moment);})(this,function(moment){'use strict';function plural(n){if(n%100===11){return true;}else if(n%10===1){return false;}return true;}function translate(number,withoutSuffix,key,isFuture){var result=number+' ';switch(key){case's':return withoutSuffix||isFuture?'nokkrar sekúndur':'nokkrum sekúndum';case'ss':if(plural(number)){return result+(withoutSuffix||isFuture?'sekúndur':'sekúndum');}return result+'sekúnda';case'm':return withoutSuffix?'mínúta':'mínútu';case'mm':if(plural(number)){return result+(withoutSuffix||isFuture?'mínútur':'mínútum');}else if(withoutSuffix){return result+'mínúta';}return result+'mínútu';case'hh':if(plural(number)){return result+(withoutSuffix||isFuture?'klukkustundir':'klukkustundum');}return result+'klukkustund';case'd':if(withoutSuffix){return'dagur';}return isFuture?'dag':'degi';case'dd':if(plural(number)){if(withoutSuffix){return result+'dagar';}return result+(isFuture?'daga':'dögum');}else if(withoutSuffix){return result+'dagur';}return result+(isFuture?'dag':'degi');case'M':if(withoutSuffix){return'mánuður';}return isFuture?'mánuð':'mánuði';case'MM':if(plural(number)){if(withoutSuffix){return result+'mánuðir';}return result+(isFuture?'mánuði':'mánuðum');}else if(withoutSuffix){return result+'mánuður';}return result+(isFuture?'mánuð':'mánuði');case'y':return withoutSuffix||isFuture?'ár':'ári';case'yy':if(plural(number)){return result+(withoutSuffix||isFuture?'ár':'árum');}return result+(withoutSuffix||isFuture?'ár':'ári');}}var is=moment.defineLocale('is',{months:'janúar_febrúar_mars_apríl_maí_júní_júlí_ágúst_september_október_nóvember_desember'.split('_'),monthsShort:'jan_feb_mar_apr_maí_jún_júl_ágú_sep_okt_nóv_des'.split('_'),weekdays:'sunnudagur_mánudagur_þriðjudagur_miðvikudagur_fimmtudagur_föstudagur_laugardagur'.split('_'),weekdaysShort:'sun_mán_þri_mið_fim_fös_lau'.split('_'),weekdaysMin:'Su_Má_Þr_Mi_Fi_Fö_La'.split('_'),longDateFormat:{LT:'H:mm',LTS:'H:mm:ss',L:'DD.MM.YYYY',LL:'D. MMMM YYYY',LLL:'D. MMMM YYYY [kl.] H:mm',LLLL:'dddd, D. MMMM YYYY [kl.] H:mm'},calendar:{sameDay:'[í dag kl.] LT',nextDay:'[á morgun kl.] LT',nextWeek:'dddd [kl.] LT',lastDay:'[í gær kl.] LT',lastWeek:'[síðasta] dddd [kl.] LT',sameElse:'L'},relativeTime:{future:'eftir %s',past:'fyrir %s síðan',s:translate,ss:translate,m:translate,mm:translate,h:'klukkustund',hh:translate,d:translate,dd:translate,M:translate,MM:translate,y:translate,yy:translate},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:'%d.',week:{dow:1,// Monday is the first day of the week.
doy:4// The week that contains Jan 4th is the first week of the year.
}});return is;});/***/},/* 83 *//***/function(module,exports,__webpack_require__){//! moment.js locale configuration
;(function(global,factory){true?factory(__webpack_require__(0)):typeof define==='function'&&define.amd?define(['../moment'],factory):factory(global.moment);})(this,function(moment){'use strict';var it=moment.defineLocale('it',{months:'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split('_'),monthsShort:'gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic'.split('_'),weekdays:'domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato'.split('_'),weekdaysShort:'dom_lun_mar_mer_gio_ven_sab'.split('_'),weekdaysMin:'do_lu_ma_me_gi_ve_sa'.split('_'),longDateFormat:{LT:'HH:mm',LTS:'HH:mm:ss',L:'DD/MM/YYYY',LL:'D MMMM YYYY',LLL:'D MMMM YYYY HH:mm',LLLL:'dddd D MMMM YYYY HH:mm'},calendar:{sameDay:'[Oggi alle] LT',nextDay:'[Domani alle] LT',nextWeek:'dddd [alle] LT',lastDay:'[Ieri alle] LT',lastWeek:function lastWeek(){switch(this.day()){case 0:return'[la scorsa] dddd [alle] LT';default:return'[lo scorso] dddd [alle] LT';}},sameElse:'L'},relativeTime:{future:function future(s){return(/^[0-9].+$/.test(s)?'tra':'in')+' '+s;},past:'%s fa',s:'alcuni secondi',ss:'%d secondi',m:'un minuto',mm:'%d minuti',h:'un\'ora',hh:'%d ore',d:'un giorno',dd:'%d giorni',M:'un mese',MM:'%d mesi',y:'un anno',yy:'%d anni'},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:'%dº',week:{dow:1,// Monday is the first day of the week.
doy:4// The week that contains Jan 4th is the first week of the year.
}});return it;});/***/},/* 84 *//***/function(module,exports,__webpack_require__){//! moment.js locale configuration
;(function(global,factory){true?factory(__webpack_require__(0)):typeof define==='function'&&define.amd?define(['../moment'],factory):factory(global.moment);})(this,function(moment){'use strict';var ja=moment.defineLocale('ja',{months:'1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),monthsShort:'1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),weekdays:'日曜日_月曜日_火曜日_水曜日_木曜日_金曜日_土曜日'.split('_'),weekdaysShort:'日_月_火_水_木_金_土'.split('_'),weekdaysMin:'日_月_火_水_木_金_土'.split('_'),longDateFormat:{LT:'HH:mm',LTS:'HH:mm:ss',L:'YYYY/MM/DD',LL:'YYYY年M月D日',LLL:'YYYY年M月D日 HH:mm',LLLL:'YYYY年M月D日 dddd HH:mm',l:'YYYY/MM/DD',ll:'YYYY年M月D日',lll:'YYYY年M月D日 HH:mm',llll:'YYYY年M月D日(ddd) HH:mm'},meridiemParse:/午前|午後/i,isPM:function isPM(input){return input==='午後';},meridiem:function meridiem(hour,minute,isLower){if(hour<12){return'午前';}else{return'午後';}},calendar:{sameDay:'[今日] LT',nextDay:'[明日] LT',nextWeek:function nextWeek(now){if(now.week()<this.week()){return'[来週]dddd LT';}else{return'dddd LT';}},lastDay:'[昨日] LT',lastWeek:function lastWeek(now){if(this.week()<now.week()){return'[先週]dddd LT';}else{return'dddd LT';}},sameElse:'L'},dayOfMonthOrdinalParse:/\d{1,2}日/,ordinal:function ordinal(number,period){switch(period){case'd':case'D':case'DDD':return number+'日';default:return number;}},relativeTime:{future:'%s後',past:'%s前',s:'数秒',ss:'%d秒',m:'1分',mm:'%d分',h:'1時間',hh:'%d時間',d:'1日',dd:'%d日',M:'1ヶ月',MM:'%dヶ月',y:'1年',yy:'%d年'}});return ja;});/***/},/* 85 *//***/function(module,exports,__webpack_require__){//! moment.js locale configuration
;(function(global,factory){true?factory(__webpack_require__(0)):typeof define==='function'&&define.amd?define(['../moment'],factory):factory(global.moment);})(this,function(moment){'use strict';var jv=moment.defineLocale('jv',{months:'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_Nopember_Desember'.split('_'),monthsShort:'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nop_Des'.split('_'),weekdays:'Minggu_Senen_Seloso_Rebu_Kemis_Jemuwah_Septu'.split('_'),weekdaysShort:'Min_Sen_Sel_Reb_Kem_Jem_Sep'.split('_'),weekdaysMin:'Mg_Sn_Sl_Rb_Km_Jm_Sp'.split('_'),longDateFormat:{LT:'HH.mm',LTS:'HH.mm.ss',L:'DD/MM/YYYY',LL:'D MMMM YYYY',LLL:'D MMMM YYYY [pukul] HH.mm',LLLL:'dddd, D MMMM YYYY [pukul] HH.mm'},meridiemParse:/enjing|siyang|sonten|ndalu/,meridiemHour:function meridiemHour(hour,meridiem){if(hour===12){hour=0;}if(meridiem==='enjing'){return hour;}else if(meridiem==='siyang'){return hour>=11?hour:hour+12;}else if(meridiem==='sonten'||meridiem==='ndalu'){return hour+12;}},meridiem:function meridiem(hours,minutes,isLower){if(hours<11){return'enjing';}else if(hours<15){return'siyang';}else if(hours<19){return'sonten';}else{return'ndalu';}},calendar:{sameDay:'[Dinten puniko pukul] LT',nextDay:'[Mbenjang pukul] LT',nextWeek:'dddd [pukul] LT',lastDay:'[Kala wingi pukul] LT',lastWeek:'dddd [kepengker pukul] LT',sameElse:'L'},relativeTime:{future:'wonten ing %s',past:'%s ingkang kepengker',s:'sawetawis detik',ss:'%d detik',m:'setunggal menit',mm:'%d menit',h:'setunggal jam',hh:'%d jam',d:'sedinten',dd:'%d dinten',M:'sewulan',MM:'%d wulan',y:'setaun',yy:'%d taun'},week:{dow:1,// Monday is the first day of the week.
doy:7// The week that contains Jan 7th is the first week of the year.
}});return jv;});/***/},/* 86 *//***/function(module,exports,__webpack_require__){//! moment.js locale configuration
;(function(global,factory){true?factory(__webpack_require__(0)):typeof define==='function'&&define.amd?define(['../moment'],factory):factory(global.moment);})(this,function(moment){'use strict';var ka=moment.defineLocale('ka',{months:{standalone:'იანვარი_თებერვალი_მარტი_აპრილი_მაისი_ივნისი_ივლისი_აგვისტო_სექტემბერი_ოქტომბერი_ნოემბერი_დეკემბერი'.split('_'),format:'იანვარს_თებერვალს_მარტს_აპრილის_მაისს_ივნისს_ივლისს_აგვისტს_სექტემბერს_ოქტომბერს_ნოემბერს_დეკემბერს'.split('_')},monthsShort:'იან_თებ_მარ_აპრ_მაი_ივნ_ივლ_აგვ_სექ_ოქტ_ნოე_დეკ'.split('_'),weekdays:{standalone:'კვირა_ორშაბათი_სამშაბათი_ოთხშაბათი_ხუთშაბათი_პარასკევი_შაბათი'.split('_'),format:'კვირას_ორშაბათს_სამშაბათს_ოთხშაბათს_ხუთშაბათს_პარასკევს_შაბათს'.split('_'),isFormat:/(წინა|შემდეგ)/},weekdaysShort:'კვი_ორშ_სამ_ოთხ_ხუთ_პარ_შაბ'.split('_'),weekdaysMin:'კვ_ორ_სა_ოთ_ხუ_პა_შა'.split('_'),longDateFormat:{LT:'h:mm A',LTS:'h:mm:ss A',L:'DD/MM/YYYY',LL:'D MMMM YYYY',LLL:'D MMMM YYYY h:mm A',LLLL:'dddd, D MMMM YYYY h:mm A'},calendar:{sameDay:'[დღეს] LT[-ზე]',nextDay:'[ხვალ] LT[-ზე]',lastDay:'[გუშინ] LT[-ზე]',nextWeek:'[შემდეგ] dddd LT[-ზე]',lastWeek:'[წინა] dddd LT-ზე',sameElse:'L'},relativeTime:{future:function future(s){return /(წამი|წუთი|საათი|წელი)/.test(s)?s.replace(/ი$/,'ში'):s+'ში';},past:function past(s){if(/(წამი|წუთი|საათი|დღე|თვე)/.test(s)){return s.replace(/(ი|ე)$/,'ის წინ');}if(/წელი/.test(s)){return s.replace(/წელი$/,'წლის წინ');}},s:'რამდენიმე წამი',ss:'%d წამი',m:'წუთი',mm:'%d წუთი',h:'საათი',hh:'%d საათი',d:'დღე',dd:'%d დღე',M:'თვე',MM:'%d თვე',y:'წელი',yy:'%d წელი'},dayOfMonthOrdinalParse:/0|1-ლი|მე-\d{1,2}|\d{1,2}-ე/,ordinal:function ordinal(number){if(number===0){return number;}if(number===1){return number+'-ლი';}if(number<20||number<=100&&number%20===0||number%100===0){return'მე-'+number;}return number+'-ე';},week:{dow:1,doy:7}});return ka;});/***/},/* 87 *//***/function(module,exports,__webpack_require__){//! moment.js locale configuration
;(function(global,factory){true?factory(__webpack_require__(0)):typeof define==='function'&&define.amd?define(['../moment'],factory):factory(global.moment);})(this,function(moment){'use strict';var suffixes={0:'-ші',1:'-ші',2:'-ші',3:'-ші',4:'-ші',5:'-ші',6:'-шы',7:'-ші',8:'-ші',9:'-шы',10:'-шы',20:'-шы',30:'-шы',40:'-шы',50:'-ші',60:'-шы',70:'-ші',80:'-ші',90:'-шы',100:'-ші'};var kk=moment.defineLocale('kk',{months:'қаңтар_ақпан_наурыз_сәуір_мамыр_маусым_шілде_тамыз_қыркүйек_қазан_қараша_желтоқсан'.split('_'),monthsShort:'қаң_ақп_нау_сәу_мам_мау_шіл_там_қыр_қаз_қар_жел'.split('_'),weekdays:'жексенбі_дүйсенбі_сейсенбі_сәрсенбі_бейсенбі_жұма_сенбі'.split('_'),weekdaysShort:'жек_дүй_сей_сәр_бей_жұм_сен'.split('_'),weekdaysMin:'жк_дй_сй_ср_бй_жм_сн'.split('_'),longDateFormat:{LT:'HH:mm',LTS:'HH:mm:ss',L:'DD.MM.YYYY',LL:'D MMMM YYYY',LLL:'D MMMM YYYY HH:mm',LLLL:'dddd, D MMMM YYYY HH:mm'},calendar:{sameDay:'[Бүгін сағат] LT',nextDay:'[Ертең сағат] LT',nextWeek:'dddd [сағат] LT',lastDay:'[Кеше сағат] LT',lastWeek:'[Өткен аптаның] dddd [сағат] LT',sameElse:'L'},relativeTime:{future:'%s ішінде',past:'%s бұрын',s:'бірнеше секунд',ss:'%d секунд',m:'бір минут',mm:'%d минут',h:'бір сағат',hh:'%d сағат',d:'бір күн',dd:'%d күн',M:'бір ай',MM:'%d ай',y:'бір жыл',yy:'%d жыл'},dayOfMonthOrdinalParse:/\d{1,2}-(ші|шы)/,ordinal:function ordinal(number){var a=number%10,b=number>=100?100:null;return number+(suffixes[number]||suffixes[a]||suffixes[b]);},week:{dow:1,// Monday is the first day of the week.
doy:7// The week that contains Jan 7th is the first week of the year.
}});return kk;});/***/},/* 88 *//***/function(module,exports,__webpack_require__){//! moment.js locale configuration
;(function(global,factory){true?factory(__webpack_require__(0)):typeof define==='function'&&define.amd?define(['../moment'],factory):factory(global.moment);})(this,function(moment){'use strict';var symbolMap={'1':'១','2':'២','3':'៣','4':'៤','5':'៥','6':'៦','7':'៧','8':'៨','9':'៩','0':'០'},numberMap={'១':'1','២':'2','៣':'3','៤':'4','៥':'5','៦':'6','៧':'7','៨':'8','៩':'9','០':'0'};var km=moment.defineLocale('km',{months:'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split('_'),monthsShort:'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split('_'),weekdays:'អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍'.split('_'),weekdaysShort:'អា_ច_អ_ព_ព្រ_សុ_ស'.split('_'),weekdaysMin:'អា_ច_អ_ព_ព្រ_សុ_ស'.split('_'),weekdaysParseExact:true,longDateFormat:{LT:'HH:mm',LTS:'HH:mm:ss',L:'DD/MM/YYYY',LL:'D MMMM YYYY',LLL:'D MMMM YYYY HH:mm',LLLL:'dddd, D MMMM YYYY HH:mm'},meridiemParse:/ព្រឹក|ល្ងាច/,isPM:function isPM(input){return input==='ល្ងាច';},meridiem:function meridiem(hour,minute,isLower){if(hour<12){return'ព្រឹក';}else{return'ល្ងាច';}},calendar:{sameDay:'[ថ្ងៃនេះ ម៉ោង] LT',nextDay:'[ស្អែក ម៉ោង] LT',nextWeek:'dddd [ម៉ោង] LT',lastDay:'[ម្សិលមិញ ម៉ោង] LT',lastWeek:'dddd [សប្តាហ៍មុន] [ម៉ោង] LT',sameElse:'L'},relativeTime:{future:'%sទៀត',past:'%sមុន',s:'ប៉ុន្មានវិនាទី',ss:'%d វិនាទី',m:'មួយនាទី',mm:'%d នាទី',h:'មួយម៉ោង',hh:'%d ម៉ោង',d:'មួយថ្ងៃ',dd:'%d ថ្ងៃ',M:'មួយខែ',MM:'%d ខែ',y:'មួយឆ្នាំ',yy:'%d ឆ្នាំ'},dayOfMonthOrdinalParse:/ទី\d{1,2}/,ordinal:'ទី%d',preparse:function preparse(string){return string.replace(/[១២៣៤៥៦៧៨៩០]/g,function(match){return numberMap[match];});},postformat:function postformat(string){return string.replace(/\d/g,function(match){return symbolMap[match];});},week:{dow:1,// Monday is the first day of the week.
doy:4// The week that contains Jan 4th is the first week of the year.
}});return km;});/***/},/* 89 *//***/function(module,exports,__webpack_require__){//! moment.js locale configuration
;(function(global,factory){true?factory(__webpack_require__(0)):typeof define==='function'&&define.amd?define(['../moment'],factory):factory(global.moment);})(this,function(moment){'use strict';var symbolMap={'1':'೧','2':'೨','3':'೩','4':'೪','5':'೫','6':'೬','7':'೭','8':'೮','9':'೯','0':'೦'},numberMap={'೧':'1','೨':'2','೩':'3','೪':'4','೫':'5','೬':'6','೭':'7','೮':'8','೯':'9','೦':'0'};var kn=moment.defineLocale('kn',{months:'ಜನವರಿ_ಫೆಬ್ರವರಿ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂಬರ್_ಅಕ್ಟೋಬರ್_ನವೆಂಬರ್_ಡಿಸೆಂಬರ್'.split('_'),monthsShort:'ಜನ_ಫೆಬ್ರ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂ_ಅಕ್ಟೋ_ನವೆಂ_ಡಿಸೆಂ'.split('_'),monthsParseExact:true,weekdays:'ಭಾನುವಾರ_ಸೋಮವಾರ_ಮಂಗಳವಾರ_ಬುಧವಾರ_ಗುರುವಾರ_ಶುಕ್ರವಾರ_ಶನಿವಾರ'.split('_'),weekdaysShort:'ಭಾನು_ಸೋಮ_ಮಂಗಳ_ಬುಧ_ಗುರು_ಶುಕ್ರ_ಶನಿ'.split('_'),weekdaysMin:'ಭಾ_ಸೋ_ಮಂ_ಬು_ಗು_ಶು_ಶ'.split('_'),longDateFormat:{LT:'A h:mm',LTS:'A h:mm:ss',L:'DD/MM/YYYY',LL:'D MMMM YYYY',LLL:'D MMMM YYYY, A h:mm',LLLL:'dddd, D MMMM YYYY, A h:mm'},calendar:{sameDay:'[ಇಂದು] LT',nextDay:'[ನಾಳೆ] LT',nextWeek:'dddd, LT',lastDay:'[ನಿನ್ನೆ] LT',lastWeek:'[ಕೊನೆಯ] dddd, LT',sameElse:'L'},relativeTime:{future:'%s ನಂತರ',past:'%s ಹಿಂದೆ',s:'ಕೆಲವು ಕ್ಷಣಗಳು',ss:'%d ಸೆಕೆಂಡುಗಳು',m:'ಒಂದು ನಿಮಿಷ',mm:'%d ನಿಮಿಷ',h:'ಒಂದು ಗಂಟೆ',hh:'%d ಗಂಟೆ',d:'ಒಂದು ದಿನ',dd:'%d ದಿನ',M:'ಒಂದು ತಿಂಗಳು',MM:'%d ತಿಂಗಳು',y:'ಒಂದು ವರ್ಷ',yy:'%d ವರ್ಷ'},preparse:function preparse(string){return string.replace(/[೧೨೩೪೫೬೭೮೯೦]/g,function(match){return numberMap[match];});},postformat:function postformat(string){return string.replace(/\d/g,function(match){return symbolMap[match];});},meridiemParse:/ರಾತ್ರಿ|ಬೆಳಿಗ್ಗೆ|ಮಧ್ಯಾಹ್ನ|ಸಂಜೆ/,meridiemHour:function meridiemHour(hour,meridiem){if(hour===12){hour=0;}if(meridiem==='ರಾತ್ರಿ'){return hour<4?hour:hour+12;}else if(meridiem==='ಬೆಳಿಗ್ಗೆ'){return hour;}else if(meridiem==='ಮಧ್ಯಾಹ್ನ'){return hour>=10?hour:hour+12;}else if(meridiem==='ಸಂಜೆ'){return hour+12;}},meridiem:function meridiem(hour,minute,isLower){if(hour<4){return'ರಾತ್ರಿ';}else if(hour<10){return'ಬೆಳಿಗ್ಗೆ';}else if(hour<17){return'ಮಧ್ಯಾಹ್ನ';}else if(hour<20){return'ಸಂಜೆ';}else{return'ರಾತ್ರಿ';}},dayOfMonthOrdinalParse:/\d{1,2}(ನೇ)/,ordinal:function ordinal(number){return number+'ನೇ';},week:{dow:0,// Sunday is the first day of the week.
doy:6// The week that contains Jan 6th is the first week of the year.
}});return kn;});/***/},/* 90 *//***/function(module,exports,__webpack_require__){//! moment.js locale configuration
;(function(global,factory){true?factory(__webpack_require__(0)):typeof define==='function'&&define.amd?define(['../moment'],factory):factory(global.moment);})(this,function(moment){'use strict';var ko=moment.defineLocale('ko',{months:'1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월'.split('_'),monthsShort:'1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월'.split('_'),weekdays:'일요일_월요일_화요일_수요일_목요일_금요일_토요일'.split('_'),weekdaysShort:'일_월_화_수_목_금_토'.split('_'),weekdaysMin:'일_월_화_수_목_금_토'.split('_'),longDateFormat:{LT:'A h:mm',LTS:'A h:mm:ss',L:'YYYY.MM.DD.',LL:'YYYY년 MMMM D일',LLL:'YYYY년 MMMM D일 A h:mm',LLLL:'YYYY년 MMMM D일 dddd A h:mm',l:'YYYY.MM.DD.',ll:'YYYY년 MMMM D일',lll:'YYYY년 MMMM D일 A h:mm',llll:'YYYY년 MMMM D일 dddd A h:mm'},calendar:{sameDay:'오늘 LT',nextDay:'내일 LT',nextWeek:'dddd LT',lastDay:'어제 LT',lastWeek:'지난주 dddd LT',sameElse:'L'},relativeTime:{future:'%s 후',past:'%s 전',s:'몇 초',ss:'%d초',m:'1분',mm:'%d분',h:'한 시간',hh:'%d시간',d:'하루',dd:'%d일',M:'한 달',MM:'%d달',y:'일 년',yy:'%d년'},dayOfMonthOrdinalParse:/\d{1,2}(일|월|주)/,ordinal:function ordinal(number,period){switch(period){case'd':case'D':case'DDD':return number+'일';case'M':return number+'월';case'w':case'W':return number+'주';default:return number;}},meridiemParse:/오전|오후/,isPM:function isPM(token){return token==='오후';},meridiem:function meridiem(hour,minute,isUpper){return hour<12?'오전':'오후';}});return ko;});/***/},/* 91 *//***/function(module,exports,__webpack_require__){//! moment.js locale configuration
;(function(global,factory){true?factory(__webpack_require__(0)):typeof define==='function'&&define.amd?define(['../moment'],factory):factory(global.moment);})(this,function(moment){'use strict';var symbolMap={'1':'١','2':'٢','3':'٣','4':'٤','5':'٥','6':'٦','7':'٧','8':'٨','9':'٩','0':'٠'},numberMap={'١':'1','٢':'2','٣':'3','٤':'4','٥':'5','٦':'6','٧':'7','٨':'8','٩':'9','٠':'0'},months=['کانونی دووەم','شوبات','ئازار','نیسان','ئایار','حوزەیران','تەمموز','ئاب','ئەیلوول','تشرینی یەكەم','تشرینی دووەم','كانونی یەکەم'];var ku=moment.defineLocale('ku',{months:months,monthsShort:months,weekdays:'یه‌كشه‌ممه‌_دووشه‌ممه‌_سێشه‌ممه‌_چوارشه‌ممه‌_پێنجشه‌ممه‌_هه‌ینی_شه‌ممه‌'.split('_'),weekdaysShort:'یه‌كشه‌م_دووشه‌م_سێشه‌م_چوارشه‌م_پێنجشه‌م_هه‌ینی_شه‌ممه‌'.split('_'),weekdaysMin:'ی_د_س_چ_پ_ه_ش'.split('_'),weekdaysParseExact:true,longDateFormat:{LT:'HH:mm',LTS:'HH:mm:ss',L:'DD/MM/YYYY',LL:'D MMMM YYYY',LLL:'D MMMM YYYY HH:mm',LLLL:'dddd, D MMMM YYYY HH:mm'},meridiemParse:/ئێواره‌|به‌یانی/,isPM:function isPM(input){return /ئێواره‌/.test(input);},meridiem:function meridiem(hour,minute,isLower){if(hour<12){return'به‌یانی';}else{return'ئێواره‌';}},calendar:{sameDay:'[ئه‌مرۆ كاتژمێر] LT',nextDay:'[به‌یانی كاتژمێر] LT',nextWeek:'dddd [كاتژمێر] LT',lastDay:'[دوێنێ كاتژمێر] LT',lastWeek:'dddd [كاتژمێر] LT',sameElse:'L'},relativeTime:{future:'له‌ %s',past:'%s',s:'چه‌ند چركه‌یه‌ك',ss:'چركه‌ %d',m:'یه‌ك خوله‌ك',mm:'%d خوله‌ك',h:'یه‌ك كاتژمێر',hh:'%d كاتژمێر',d:'یه‌ك ڕۆژ',dd:'%d ڕۆژ',M:'یه‌ك مانگ',MM:'%d مانگ',y:'یه‌ك ساڵ',yy:'%d ساڵ'},preparse:function preparse(string){return string.replace(/[١٢٣٤٥٦٧٨٩٠]/g,function(match){return numberMap[match];}).replace(/،/g,',');},postformat:function postformat(string){return string.replace(/\d/g,function(match){return symbolMap[match];}).replace(/,/g,'،');},week:{dow:6,// Saturday is the first day of the week.
doy:12// The week that contains Jan 12th is the first week of the year.
}});return ku;});/***/},/* 92 *//***/function(module,exports,__webpack_require__){//! moment.js locale configuration
;(function(global,factory){true?factory(__webpack_require__(0)):typeof define==='function'&&define.amd?define(['../moment'],factory):factory(global.moment);})(this,function(moment){'use strict';var suffixes={0:'-чү',1:'-чи',2:'-чи',3:'-чү',4:'-чү',5:'-чи',6:'-чы',7:'-чи',8:'-чи',9:'-чу',10:'-чу',20:'-чы',30:'-чу',40:'-чы',50:'-чү',60:'-чы',70:'-чи',80:'-чи',90:'-чу',100:'-чү'};var ky=moment.defineLocale('ky',{months:'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split('_'),monthsShort:'янв_фев_март_апр_май_июнь_июль_авг_сен_окт_ноя_дек'.split('_'),weekdays:'Жекшемби_Дүйшөмбү_Шейшемби_Шаршемби_Бейшемби_Жума_Ишемби'.split('_'),weekdaysShort:'Жек_Дүй_Шей_Шар_Бей_Жум_Ише'.split('_'),weekdaysMin:'Жк_Дй_Шй_Шр_Бй_Жм_Иш'.split('_'),longDateFormat:{LT:'HH:mm',LTS:'HH:mm:ss',L:'DD.MM.YYYY',LL:'D MMMM YYYY',LLL:'D MMMM YYYY HH:mm',LLLL:'dddd, D MMMM YYYY HH:mm'},calendar:{sameDay:'[Бүгүн саат] LT',nextDay:'[Эртең саат] LT',nextWeek:'dddd [саат] LT',lastDay:'[Кечээ саат] LT',lastWeek:'[Өткөн аптанын] dddd [күнү] [саат] LT',sameElse:'L'},relativeTime:{future:'%s ичинде',past:'%s мурун',s:'бирнече секунд',ss:'%d секунд',m:'бир мүнөт',mm:'%d мүнөт',h:'бир саат',hh:'%d саат',d:'бир күн',dd:'%d күн',M:'бир ай',MM:'%d ай',y:'бир жыл',yy:'%d жыл'},dayOfMonthOrdinalParse:/\d{1,2}-(чи|чы|чү|чу)/,ordinal:function ordinal(number){var a=number%10,b=number>=100?100:null;return number+(suffixes[number]||suffixes[a]||suffixes[b]);},week:{dow:1,// Monday is the first day of the week.
doy:7// The week that contains Jan 7th is the first week of the year.
}});return ky;});/***/},/* 93 *//***/function(module,exports,__webpack_require__){//! moment.js locale configuration
;(function(global,factory){true?factory(__webpack_require__(0)):typeof define==='function'&&define.amd?define(['../moment'],factory):factory(global.moment);})(this,function(moment){'use strict';function processRelativeTime(number,withoutSuffix,key,isFuture){var format={'m':['eng Minutt','enger Minutt'],'h':['eng Stonn','enger Stonn'],'d':['een Dag','engem Dag'],'M':['ee Mount','engem Mount'],'y':['ee Joer','engem Joer']};return withoutSuffix?format[key][0]:format[key][1];}function processFutureTime(string){var number=string.substr(0,string.indexOf(' '));if(eifelerRegelAppliesToNumber(number)){return'a '+string;}return'an '+string;}function processPastTime(string){var number=string.substr(0,string.indexOf(' '));if(eifelerRegelAppliesToNumber(number)){return'viru '+string;}return'virun '+string;}/**
     * Returns true if the word before the given number loses the '-n' ending.
     * e.g. 'an 10 Deeg' but 'a 5 Deeg'
     *
     * @param number {integer}
     * @returns {boolean}
     */function eifelerRegelAppliesToNumber(number){number=parseInt(number,10);if(isNaN(number)){return false;}if(number<0){// Negative Number --> always true
return true;}else if(number<10){// Only 1 digit
if(4<=number&&number<=7){return true;}return false;}else if(number<100){// 2 digits
var lastDigit=number%10,firstDigit=number/10;if(lastDigit===0){return eifelerRegelAppliesToNumber(firstDigit);}return eifelerRegelAppliesToNumber(lastDigit);}else if(number<10000){// 3 or 4 digits --> recursively check first digit
while(number>=10){number=number/10;}return eifelerRegelAppliesToNumber(number);}else{// Anything larger than 4 digits: recursively check first n-3 digits
number=number/1000;return eifelerRegelAppliesToNumber(number);}}var lb=moment.defineLocale('lb',{months:'Januar_Februar_Mäerz_Abrëll_Mee_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'),monthsShort:'Jan._Febr._Mrz._Abr._Mee_Jun._Jul._Aug._Sept._Okt._Nov._Dez.'.split('_'),monthsParseExact:true,weekdays:'Sonndeg_Méindeg_Dënschdeg_Mëttwoch_Donneschdeg_Freideg_Samschdeg'.split('_'),weekdaysShort:'So._Mé._Dë._Më._Do._Fr._Sa.'.split('_'),weekdaysMin:'So_Mé_Dë_Më_Do_Fr_Sa'.split('_'),weekdaysParseExact:true,longDateFormat:{LT:'H:mm [Auer]',LTS:'H:mm:ss [Auer]',L:'DD.MM.YYYY',LL:'D. MMMM YYYY',LLL:'D. MMMM YYYY H:mm [Auer]',LLLL:'dddd, D. MMMM YYYY H:mm [Auer]'},calendar:{sameDay:'[Haut um] LT',sameElse:'L',nextDay:'[Muer um] LT',nextWeek:'dddd [um] LT',lastDay:'[Gëschter um] LT',lastWeek:function lastWeek(){// Different date string for 'Dënschdeg' (Tuesday) and 'Donneschdeg' (Thursday) due to phonological rule
switch(this.day()){case 2:case 4:return'[Leschten] dddd [um] LT';default:return'[Leschte] dddd [um] LT';}}},relativeTime:{future:processFutureTime,past:processPastTime,s:'e puer Sekonnen',ss:'%d Sekonnen',m:processRelativeTime,mm:'%d Minutten',h:processRelativeTime,hh:'%d Stonnen',d:processRelativeTime,dd:'%d Deeg',M:processRelativeTime,MM:'%d Méint',y:processRelativeTime,yy:'%d Joer'},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:'%d.',week:{dow:1,// Monday is the first day of the week.
doy:4// The week that contains Jan 4th is the first week of the year.
}});return lb;});/***/},/* 94 *//***/function(module,exports,__webpack_require__){//! moment.js locale configuration
;(function(global,factory){true?factory(__webpack_require__(0)):typeof define==='function'&&define.amd?define(['../moment'],factory):factory(global.moment);})(this,function(moment){'use strict';var lo=moment.defineLocale('lo',{months:'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split('_'),monthsShort:'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split('_'),weekdays:'ອາທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'),weekdaysShort:'ທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'),weekdaysMin:'ທ_ຈ_ອຄ_ພ_ພຫ_ສກ_ສ'.split('_'),weekdaysParseExact:true,longDateFormat:{LT:'HH:mm',LTS:'HH:mm:ss',L:'DD/MM/YYYY',LL:'D MMMM YYYY',LLL:'D MMMM YYYY HH:mm',LLLL:'ວັນdddd D MMMM YYYY HH:mm'},meridiemParse:/ຕອນເຊົ້າ|ຕອນແລງ/,isPM:function isPM(input){return input==='ຕອນແລງ';},meridiem:function meridiem(hour,minute,isLower){if(hour<12){return'ຕອນເຊົ້າ';}else{return'ຕອນແລງ';}},calendar:{sameDay:'[ມື້ນີ້ເວລາ] LT',nextDay:'[ມື້ອື່ນເວລາ] LT',nextWeek:'[ວັນ]dddd[ໜ້າເວລາ] LT',lastDay:'[ມື້ວານນີ້ເວລາ] LT',lastWeek:'[ວັນ]dddd[ແລ້ວນີ້ເວລາ] LT',sameElse:'L'},relativeTime:{future:'ອີກ %s',past:'%sຜ່ານມາ',s:'ບໍ່ເທົ່າໃດວິນາທີ',ss:'%d ວິນາທີ',m:'1 ນາທີ',mm:'%d ນາທີ',h:'1 ຊົ່ວໂມງ',hh:'%d ຊົ່ວໂມງ',d:'1 ມື້',dd:'%d ມື້',M:'1 ເດືອນ',MM:'%d ເດືອນ',y:'1 ປີ',yy:'%d ປີ'},dayOfMonthOrdinalParse:/(ທີ່)\d{1,2}/,ordinal:function ordinal(number){return'ທີ່'+number;}});return lo;});/***/},/* 95 *//***/function(module,exports,__webpack_require__){//! moment.js locale configuration
;(function(global,factory){true?factory(__webpack_require__(0)):typeof define==='function'&&define.amd?define(['../moment'],factory):factory(global.moment);})(this,function(moment){'use strict';var units={'ss':'sekundė_sekundžių_sekundes','m':'minutė_minutės_minutę','mm':'minutės_minučių_minutes','h':'valanda_valandos_valandą','hh':'valandos_valandų_valandas','d':'diena_dienos_dieną','dd':'dienos_dienų_dienas','M':'mėnuo_mėnesio_mėnesį','MM':'mėnesiai_mėnesių_mėnesius','y':'metai_metų_metus','yy':'metai_metų_metus'};function translateSeconds(number,withoutSuffix,key,isFuture){if(withoutSuffix){return'kelios sekundės';}else{return isFuture?'kelių sekundžių':'kelias sekundes';}}function translateSingular(number,withoutSuffix,key,isFuture){return withoutSuffix?forms(key)[0]:isFuture?forms(key)[1]:forms(key)[2];}function special(number){return number%10===0||number>10&&number<20;}function forms(key){return units[key].split('_');}function translate(number,withoutSuffix,key,isFuture){var result=number+' ';if(number===1){return result+translateSingular(number,withoutSuffix,key[0],isFuture);}else if(withoutSuffix){return result+(special(number)?forms(key)[1]:forms(key)[0]);}else{if(isFuture){return result+forms(key)[1];}else{return result+(special(number)?forms(key)[1]:forms(key)[2]);}}}var lt=moment.defineLocale('lt',{months:{format:'sausio_vasario_kovo_balandžio_gegužės_birželio_liepos_rugpjūčio_rugsėjo_spalio_lapkričio_gruodžio'.split('_'),standalone:'sausis_vasaris_kovas_balandis_gegužė_birželis_liepa_rugpjūtis_rugsėjis_spalis_lapkritis_gruodis'.split('_'),isFormat:/D[oD]?(\[[^\[\]]*\]|\s)+MMMM?|MMMM?(\[[^\[\]]*\]|\s)+D[oD]?/},monthsShort:'sau_vas_kov_bal_geg_bir_lie_rgp_rgs_spa_lap_grd'.split('_'),weekdays:{format:'sekmadienį_pirmadienį_antradienį_trečiadienį_ketvirtadienį_penktadienį_šeštadienį'.split('_'),standalone:'sekmadienis_pirmadienis_antradienis_trečiadienis_ketvirtadienis_penktadienis_šeštadienis'.split('_'),isFormat:/dddd HH:mm/},weekdaysShort:'Sek_Pir_Ant_Tre_Ket_Pen_Šeš'.split('_'),weekdaysMin:'S_P_A_T_K_Pn_Š'.split('_'),weekdaysParseExact:true,longDateFormat:{LT:'HH:mm',LTS:'HH:mm:ss',L:'YYYY-MM-DD',LL:'YYYY [m.] MMMM D [d.]',LLL:'YYYY [m.] MMMM D [d.], HH:mm [val.]',LLLL:'YYYY [m.] MMMM D [d.], dddd, HH:mm [val.]',l:'YYYY-MM-DD',ll:'YYYY [m.] MMMM D [d.]',lll:'YYYY [m.] MMMM D [d.], HH:mm [val.]',llll:'YYYY [m.] MMMM D [d.], ddd, HH:mm [val.]'},calendar:{sameDay:'[Šiandien] LT',nextDay:'[Rytoj] LT',nextWeek:'dddd LT',lastDay:'[Vakar] LT',lastWeek:'[Praėjusį] dddd LT',sameElse:'L'},relativeTime:{future:'po %s',past:'prieš %s',s:translateSeconds,ss:translate,m:translateSingular,mm:translate,h:translateSingular,hh:translate,d:translateSingular,dd:translate,M:translateSingular,MM:translate,y:translateSingular,yy:translate},dayOfMonthOrdinalParse:/\d{1,2}-oji/,ordinal:function ordinal(number){return number+'-oji';},week:{dow:1,// Monday is the first day of the week.
doy:4// The week that contains Jan 4th is the first week of the year.
}});return lt;});/***/},/* 96 *//***/function(module,exports,__webpack_require__){//! moment.js locale configuration
;(function(global,factory){true?factory(__webpack_require__(0)):typeof define==='function'&&define.amd?define(['../moment'],factory):factory(global.moment);})(this,function(moment){'use strict';var units={'ss':'sekundes_sekundēm_sekunde_sekundes'.split('_'),'m':'minūtes_minūtēm_minūte_minūtes'.split('_'),'mm':'minūtes_minūtēm_minūte_minūtes'.split('_'),'h':'stundas_stundām_stunda_stundas'.split('_'),'hh':'stundas_stundām_stunda_stundas'.split('_'),'d':'dienas_dienām_diena_dienas'.split('_'),'dd':'dienas_dienām_diena_dienas'.split('_'),'M':'mēneša_mēnešiem_mēnesis_mēneši'.split('_'),'MM':'mēneša_mēnešiem_mēnesis_mēneši'.split('_'),'y':'gada_gadiem_gads_gadi'.split('_'),'yy':'gada_gadiem_gads_gadi'.split('_')};/**
     * @param withoutSuffix boolean true = a length of time; false = before/after a period of time.
     */function format(forms,number,withoutSuffix){if(withoutSuffix){// E.g. "21 minūte", "3 minūtes".
return number%10===1&&number%100!==11?forms[2]:forms[3];}else{// E.g. "21 minūtes" as in "pēc 21 minūtes".
// E.g. "3 minūtēm" as in "pēc 3 minūtēm".
return number%10===1&&number%100!==11?forms[0]:forms[1];}}function relativeTimeWithPlural(number,withoutSuffix,key){return number+' '+format(units[key],number,withoutSuffix);}function relativeTimeWithSingular(number,withoutSuffix,key){return format(units[key],number,withoutSuffix);}function relativeSeconds(number,withoutSuffix){return withoutSuffix?'dažas sekundes':'dažām sekundēm';}var lv=moment.defineLocale('lv',{months:'janvāris_februāris_marts_aprīlis_maijs_jūnijs_jūlijs_augusts_septembris_oktobris_novembris_decembris'.split('_'),monthsShort:'jan_feb_mar_apr_mai_jūn_jūl_aug_sep_okt_nov_dec'.split('_'),weekdays:'svētdiena_pirmdiena_otrdiena_trešdiena_ceturtdiena_piektdiena_sestdiena'.split('_'),weekdaysShort:'Sv_P_O_T_C_Pk_S'.split('_'),weekdaysMin:'Sv_P_O_T_C_Pk_S'.split('_'),weekdaysParseExact:true,longDateFormat:{LT:'HH:mm',LTS:'HH:mm:ss',L:'DD.MM.YYYY.',LL:'YYYY. [gada] D. MMMM',LLL:'YYYY. [gada] D. MMMM, HH:mm',LLLL:'YYYY. [gada] D. MMMM, dddd, HH:mm'},calendar:{sameDay:'[Šodien pulksten] LT',nextDay:'[Rīt pulksten] LT',nextWeek:'dddd [pulksten] LT',lastDay:'[Vakar pulksten] LT',lastWeek:'[Pagājušā] dddd [pulksten] LT',sameElse:'L'},relativeTime:{future:'pēc %s',past:'pirms %s',s:relativeSeconds,ss:relativeTimeWithPlural,m:relativeTimeWithSingular,mm:relativeTimeWithPlural,h:relativeTimeWithSingular,hh:relativeTimeWithPlural,d:relativeTimeWithSingular,dd:relativeTimeWithPlural,M:relativeTimeWithSingular,MM:relativeTimeWithPlural,y:relativeTimeWithSingular,yy:relativeTimeWithPlural},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:'%d.',week:{dow:1,// Monday is the first day of the week.
doy:4// The week that contains Jan 4th is the first week of the year.
}});return lv;});/***/},/* 97 *//***/function(module,exports,__webpack_require__){//! moment.js locale configuration
;(function(global,factory){true?factory(__webpack_require__(0)):typeof define==='function'&&define.amd?define(['../moment'],factory):factory(global.moment);})(this,function(moment){'use strict';var translator={words:{//Different grammatical cases
ss:['sekund','sekunda','sekundi'],m:['jedan minut','jednog minuta'],mm:['minut','minuta','minuta'],h:['jedan sat','jednog sata'],hh:['sat','sata','sati'],dd:['dan','dana','dana'],MM:['mjesec','mjeseca','mjeseci'],yy:['godina','godine','godina']},correctGrammaticalCase:function correctGrammaticalCase(number,wordKey){return number===1?wordKey[0]:number>=2&&number<=4?wordKey[1]:wordKey[2];},translate:function translate(number,withoutSuffix,key){var wordKey=translator.words[key];if(key.length===1){return withoutSuffix?wordKey[0]:wordKey[1];}else{return number+' '+translator.correctGrammaticalCase(number,wordKey);}}};var me=moment.defineLocale('me',{months:'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split('_'),monthsShort:'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split('_'),monthsParseExact:true,weekdays:'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split('_'),weekdaysShort:'ned._pon._uto._sri._čet._pet._sub.'.split('_'),weekdaysMin:'ne_po_ut_sr_če_pe_su'.split('_'),weekdaysParseExact:true,longDateFormat:{LT:'H:mm',LTS:'H:mm:ss',L:'DD.MM.YYYY',LL:'D. MMMM YYYY',LLL:'D. MMMM YYYY H:mm',LLLL:'dddd, D. MMMM YYYY H:mm'},calendar:{sameDay:'[danas u] LT',nextDay:'[sjutra u] LT',nextWeek:function nextWeek(){switch(this.day()){case 0:return'[u] [nedjelju] [u] LT';case 3:return'[u] [srijedu] [u] LT';case 6:return'[u] [subotu] [u] LT';case 1:case 2:case 4:case 5:return'[u] dddd [u] LT';}},lastDay:'[juče u] LT',lastWeek:function lastWeek(){var lastWeekDays=['[prošle] [nedjelje] [u] LT','[prošlog] [ponedjeljka] [u] LT','[prošlog] [utorka] [u] LT','[prošle] [srijede] [u] LT','[prošlog] [četvrtka] [u] LT','[prošlog] [petka] [u] LT','[prošle] [subote] [u] LT'];return lastWeekDays[this.day()];},sameElse:'L'},relativeTime:{future:'za %s',past:'prije %s',s:'nekoliko sekundi',ss:translator.translate,m:translator.translate,mm:translator.translate,h:translator.translate,hh:translator.translate,d:'dan',dd:translator.translate,M:'mjesec',MM:translator.translate,y:'godinu',yy:translator.translate},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:'%d.',week:{dow:1,// Monday is the first day of the week.
doy:7// The week that contains Jan 7th is the first week of the year.
}});return me;});/***/},/* 98 *//***/function(module,exports,__webpack_require__){//! moment.js locale configuration
;(function(global,factory){true?factory(__webpack_require__(0)):typeof define==='function'&&define.amd?define(['../moment'],factory):factory(global.moment);})(this,function(moment){'use strict';var mi=moment.defineLocale('mi',{months:'Kohi-tāte_Hui-tanguru_Poutū-te-rangi_Paenga-whāwhā_Haratua_Pipiri_Hōngoingoi_Here-turi-kōkā_Mahuru_Whiringa-ā-nuku_Whiringa-ā-rangi_Hakihea'.split('_'),monthsShort:'Kohi_Hui_Pou_Pae_Hara_Pipi_Hōngoi_Here_Mahu_Whi-nu_Whi-ra_Haki'.split('_'),monthsRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,monthsStrictRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,monthsShortRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,monthsShortStrictRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,2}/i,weekdays:'Rātapu_Mane_Tūrei_Wenerei_Tāite_Paraire_Hātarei'.split('_'),weekdaysShort:'Ta_Ma_Tū_We_Tāi_Pa_Hā'.split('_'),weekdaysMin:'Ta_Ma_Tū_We_Tāi_Pa_Hā'.split('_'),longDateFormat:{LT:'HH:mm',LTS:'HH:mm:ss',L:'DD/MM/YYYY',LL:'D MMMM YYYY',LLL:'D MMMM YYYY [i] HH:mm',LLLL:'dddd, D MMMM YYYY [i] HH:mm'},calendar:{sameDay:'[i teie mahana, i] LT',nextDay:'[apopo i] LT',nextWeek:'dddd [i] LT',lastDay:'[inanahi i] LT',lastWeek:'dddd [whakamutunga i] LT',sameElse:'L'},relativeTime:{future:'i roto i %s',past:'%s i mua',s:'te hēkona ruarua',ss:'%d hēkona',m:'he meneti',mm:'%d meneti',h:'te haora',hh:'%d haora',d:'he ra',dd:'%d ra',M:'he marama',MM:'%d marama',y:'he tau',yy:'%d tau'},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:'%dº',week:{dow:1,// Monday is the first day of the week.
doy:4// The week that contains Jan 4th is the first week of the year.
}});return mi;});/***/},/* 99 *//***/function(module,exports,__webpack_require__){//! moment.js locale configuration
;(function(global,factory){true?factory(__webpack_require__(0)):typeof define==='function'&&define.amd?define(['../moment'],factory):factory(global.moment);})(this,function(moment){'use strict';var mk=moment.defineLocale('mk',{months:'јануари_февруари_март_април_мај_јуни_јули_август_септември_октомври_ноември_декември'.split('_'),monthsShort:'јан_фев_мар_апр_мај_јун_јул_авг_сеп_окт_ное_дек'.split('_'),weekdays:'недела_понеделник_вторник_среда_четврток_петок_сабота'.split('_'),weekdaysShort:'нед_пон_вто_сре_чет_пет_саб'.split('_'),weekdaysMin:'нe_пo_вт_ср_че_пе_сa'.split('_'),longDateFormat:{LT:'H:mm',LTS:'H:mm:ss',L:'D.MM.YYYY',LL:'D MMMM YYYY',LLL:'D MMMM YYYY H:mm',LLLL:'dddd, D MMMM YYYY H:mm'},calendar:{sameDay:'[Денес во] LT',nextDay:'[Утре во] LT',nextWeek:'[Во] dddd [во] LT',lastDay:'[Вчера во] LT',lastWeek:function lastWeek(){switch(this.day()){case 0:case 3:case 6:return'[Изминатата] dddd [во] LT';case 1:case 2:case 4:case 5:return'[Изминатиот] dddd [во] LT';}},sameElse:'L'},relativeTime:{future:'после %s',past:'пред %s',s:'неколку секунди',ss:'%d секунди',m:'минута',mm:'%d минути',h:'час',hh:'%d часа',d:'ден',dd:'%d дена',M:'месец',MM:'%d месеци',y:'година',yy:'%d години'},dayOfMonthOrdinalParse:/\d{1,2}-(ев|ен|ти|ви|ри|ми)/,ordinal:function ordinal(number){var lastDigit=number%10,last2Digits=number%100;if(number===0){return number+'-ев';}else if(last2Digits===0){return number+'-ен';}else if(last2Digits>10&&last2Digits<20){return number+'-ти';}else if(lastDigit===1){return number+'-ви';}else if(lastDigit===2){return number+'-ри';}else if(lastDigit===7||lastDigit===8){return number+'-ми';}else{return number+'-ти';}},week:{dow:1,// Monday is the first day of the week.
doy:7// The week that contains Jan 7th is the first week of the year.
}});return mk;});/***/},/* 100 *//***/function(module,exports,__webpack_require__){//! moment.js locale configuration
;(function(global,factory){true?factory(__webpack_require__(0)):typeof define==='function'&&define.amd?define(['../moment'],factory):factory(global.moment);})(this,function(moment){'use strict';var ml=moment.defineLocale('ml',{months:'ജനുവരി_ഫെബ്രുവരി_മാർച്ച്_ഏപ്രിൽ_മേയ്_ജൂൺ_ജൂലൈ_ഓഗസ്റ്റ്_സെപ്റ്റംബർ_ഒക്ടോബർ_നവംബർ_ഡിസംബർ'.split('_'),monthsShort:'ജനു._ഫെബ്രു._മാർ._ഏപ്രി._മേയ്_ജൂൺ_ജൂലൈ._ഓഗ._സെപ്റ്റ._ഒക്ടോ._നവം._ഡിസം.'.split('_'),monthsParseExact:true,weekdays:'ഞായറാഴ്ച_തിങ്കളാഴ്ച_ചൊവ്വാഴ്ച_ബുധനാഴ്ച_വ്യാഴാഴ്ച_വെള്ളിയാഴ്ച_ശനിയാഴ്ച'.split('_'),weekdaysShort:'ഞായർ_തിങ്കൾ_ചൊവ്വ_ബുധൻ_വ്യാഴം_വെള്ളി_ശനി'.split('_'),weekdaysMin:'ഞാ_തി_ചൊ_ബു_വ്യാ_വെ_ശ'.split('_'),longDateFormat:{LT:'A h:mm -നു',LTS:'A h:mm:ss -നു',L:'DD/MM/YYYY',LL:'D MMMM YYYY',LLL:'D MMMM YYYY, A h:mm -നു',LLLL:'dddd, D MMMM YYYY, A h:mm -നു'},calendar:{sameDay:'[ഇന്ന്] LT',nextDay:'[നാളെ] LT',nextWeek:'dddd, LT',lastDay:'[ഇന്നലെ] LT',lastWeek:'[കഴിഞ്ഞ] dddd, LT',sameElse:'L'},relativeTime:{future:'%s കഴിഞ്ഞ്',past:'%s മുൻപ്',s:'അൽപ നിമിഷങ്ങൾ',ss:'%d സെക്കൻഡ്',m:'ഒരു മിനിറ്റ്',mm:'%d മിനിറ്റ്',h:'ഒരു മണിക്കൂർ',hh:'%d മണിക്കൂർ',d:'ഒരു ദിവസം',dd:'%d ദിവസം',M:'ഒരു മാസം',MM:'%d മാസം',y:'ഒരു വർഷം',yy:'%d വർഷം'},meridiemParse:/രാത്രി|രാവിലെ|ഉച്ച കഴിഞ്ഞ്|വൈകുന്നേരം|രാത്രി/i,meridiemHour:function meridiemHour(hour,meridiem){if(hour===12){hour=0;}if(meridiem==='രാത്രി'&&hour>=4||meridiem==='ഉച്ച കഴിഞ്ഞ്'||meridiem==='വൈകുന്നേരം'){return hour+12;}else{return hour;}},meridiem:function meridiem(hour,minute,isLower){if(hour<4){return'രാത്രി';}else if(hour<12){return'രാവിലെ';}else if(hour<17){return'ഉച്ച കഴിഞ്ഞ്';}else if(hour<20){return'വൈകുന്നേരം';}else{return'രാത്രി';}}});return ml;});/***/},/* 101 *//***/function(module,exports,__webpack_require__){//! moment.js locale configuration
;(function(global,factory){true?factory(__webpack_require__(0)):typeof define==='function'&&define.amd?define(['../moment'],factory):factory(global.moment);})(this,function(moment){'use strict';function translate(number,withoutSuffix,key,isFuture){switch(key){case's':return withoutSuffix?'хэдхэн секунд':'хэдхэн секундын';case'ss':return number+(withoutSuffix?' секунд':' секундын');case'm':case'mm':return number+(withoutSuffix?' минут':' минутын');case'h':case'hh':return number+(withoutSuffix?' цаг':' цагийн');case'd':case'dd':return number+(withoutSuffix?' өдөр':' өдрийн');case'M':case'MM':return number+(withoutSuffix?' сар':' сарын');case'y':case'yy':return number+(withoutSuffix?' жил':' жилийн');default:return number;}}var mn=moment.defineLocale('mn',{months:'Нэгдүгээр сар_Хоёрдугаар сар_Гуравдугаар сар_Дөрөвдүгээр сар_Тавдугаар сар_Зургадугаар сар_Долдугаар сар_Наймдугаар сар_Есдүгээр сар_Аравдугаар сар_Арван нэгдүгээр сар_Арван хоёрдугаар сар'.split('_'),monthsShort:'1 сар_2 сар_3 сар_4 сар_5 сар_6 сар_7 сар_8 сар_9 сар_10 сар_11 сар_12 сар'.split('_'),monthsParseExact:true,weekdays:'Ням_Даваа_Мягмар_Лхагва_Пүрэв_Баасан_Бямба'.split('_'),weekdaysShort:'Ням_Дав_Мяг_Лха_Пүр_Баа_Бям'.split('_'),weekdaysMin:'Ня_Да_Мя_Лх_Пү_Ба_Бя'.split('_'),weekdaysParseExact:true,longDateFormat:{LT:'HH:mm',LTS:'HH:mm:ss',L:'YYYY-MM-DD',LL:'YYYY оны MMMMын D',LLL:'YYYY оны MMMMын D HH:mm',LLLL:'dddd, YYYY оны MMMMын D HH:mm'},meridiemParse:/ҮӨ|ҮХ/i,isPM:function isPM(input){return input==='ҮХ';},meridiem:function meridiem(hour,minute,isLower){if(hour<12){return'ҮӨ';}else{return'ҮХ';}},calendar:{sameDay:'[Өнөөдөр] LT',nextDay:'[Маргааш] LT',nextWeek:'[Ирэх] dddd LT',lastDay:'[Өчигдөр] LT',lastWeek:'[Өнгөрсөн] dddd LT',sameElse:'L'},relativeTime:{future:'%s дараа',past:'%s өмнө',s:translate,ss:translate,m:translate,mm:translate,h:translate,hh:translate,d:translate,dd:translate,M:translate,MM:translate,y:translate,yy:translate},dayOfMonthOrdinalParse:/\d{1,2} өдөр/,ordinal:function ordinal(number,period){switch(period){case'd':case'D':case'DDD':return number+' өдөр';default:return number;}}});return mn;});/***/},/* 102 *//***/function(module,exports,__webpack_require__){//! moment.js locale configuration
;(function(global,factory){true?factory(__webpack_require__(0)):typeof define==='function'&&define.amd?define(['../moment'],factory):factory(global.moment);})(this,function(moment){'use strict';var symbolMap={'1':'१','2':'२','3':'३','4':'४','5':'५','6':'६','7':'७','8':'८','9':'९','0':'०'},numberMap={'१':'1','२':'2','३':'3','४':'4','५':'5','६':'6','७':'7','८':'8','९':'9','०':'0'};function relativeTimeMr(number,withoutSuffix,string,isFuture){var output='';if(withoutSuffix){switch(string){case's':output='काही सेकंद';break;case'ss':output='%d सेकंद';break;case'm':output='एक मिनिट';break;case'mm':output='%d मिनिटे';break;case'h':output='एक तास';break;case'hh':output='%d तास';break;case'd':output='एक दिवस';break;case'dd':output='%d दिवस';break;case'M':output='एक महिना';break;case'MM':output='%d महिने';break;case'y':output='एक वर्ष';break;case'yy':output='%d वर्षे';break;}}else{switch(string){case's':output='काही सेकंदां';break;case'ss':output='%d सेकंदां';break;case'm':output='एका मिनिटा';break;case'mm':output='%d मिनिटां';break;case'h':output='एका तासा';break;case'hh':output='%d तासां';break;case'd':output='एका दिवसा';break;case'dd':output='%d दिवसां';break;case'M':output='एका महिन्या';break;case'MM':output='%d महिन्यां';break;case'y':output='एका वर्षा';break;case'yy':output='%d वर्षां';break;}}return output.replace(/%d/i,number);}var mr=moment.defineLocale('mr',{months:'जानेवारी_फेब्रुवारी_मार्च_एप्रिल_मे_जून_जुलै_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर'.split('_'),monthsShort:'जाने._फेब्रु._मार्च._एप्रि._मे._जून._जुलै._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.'.split('_'),monthsParseExact:true,weekdays:'रविवार_सोमवार_मंगळवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split('_'),weekdaysShort:'रवि_सोम_मंगळ_बुध_गुरू_शुक्र_शनि'.split('_'),weekdaysMin:'र_सो_मं_बु_गु_शु_श'.split('_'),longDateFormat:{LT:'A h:mm वाजता',LTS:'A h:mm:ss वाजता',L:'DD/MM/YYYY',LL:'D MMMM YYYY',LLL:'D MMMM YYYY, A h:mm वाजता',LLLL:'dddd, D MMMM YYYY, A h:mm वाजता'},calendar:{sameDay:'[आज] LT',nextDay:'[उद्या] LT',nextWeek:'dddd, LT',lastDay:'[काल] LT',lastWeek:'[मागील] dddd, LT',sameElse:'L'},relativeTime:{future:'%sमध्ये',past:'%sपूर्वी',s:relativeTimeMr,ss:relativeTimeMr,m:relativeTimeMr,mm:relativeTimeMr,h:relativeTimeMr,hh:relativeTimeMr,d:relativeTimeMr,dd:relativeTimeMr,M:relativeTimeMr,MM:relativeTimeMr,y:relativeTimeMr,yy:relativeTimeMr},preparse:function preparse(string){return string.replace(/[१२३४५६७८९०]/g,function(match){return numberMap[match];});},postformat:function postformat(string){return string.replace(/\d/g,function(match){return symbolMap[match];});},meridiemParse:/रात्री|सकाळी|दुपारी|सायंकाळी/,meridiemHour:function meridiemHour(hour,meridiem){if(hour===12){hour=0;}if(meridiem==='रात्री'){return hour<4?hour:hour+12;}else if(meridiem==='सकाळी'){return hour;}else if(meridiem==='दुपारी'){return hour>=10?hour:hour+12;}else if(meridiem==='सायंकाळी'){return hour+12;}},meridiem:function meridiem(hour,minute,isLower){if(hour<4){return'रात्री';}else if(hour<10){return'सकाळी';}else if(hour<17){return'दुपारी';}else if(hour<20){return'सायंकाळी';}else{return'रात्री';}},week:{dow:0,// Sunday is the first day of the week.
doy:6// The week that contains Jan 6th is the first week of the year.
}});return mr;});/***/},/* 103 *//***/function(module,exports,__webpack_require__){//! moment.js locale configuration
;(function(global,factory){true?factory(__webpack_require__(0)):typeof define==='function'&&define.amd?define(['../moment'],factory):factory(global.moment);})(this,function(moment){'use strict';var ms=moment.defineLocale('ms',{months:'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split('_'),monthsShort:'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'),weekdays:'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'),weekdaysShort:'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'),weekdaysMin:'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'),longDateFormat:{LT:'HH.mm',LTS:'HH.mm.ss',L:'DD/MM/YYYY',LL:'D MMMM YYYY',LLL:'D MMMM YYYY [pukul] HH.mm',LLLL:'dddd, D MMMM YYYY [pukul] HH.mm'},meridiemParse:/pagi|tengahari|petang|malam/,meridiemHour:function meridiemHour(hour,meridiem){if(hour===12){hour=0;}if(meridiem==='pagi'){return hour;}else if(meridiem==='tengahari'){return hour>=11?hour:hour+12;}else if(meridiem==='petang'||meridiem==='malam'){return hour+12;}},meridiem:function meridiem(hours,minutes,isLower){if(hours<11){return'pagi';}else if(hours<15){return'tengahari';}else if(hours<19){return'petang';}else{return'malam';}},calendar:{sameDay:'[Hari ini pukul] LT',nextDay:'[Esok pukul] LT',nextWeek:'dddd [pukul] LT',lastDay:'[Kelmarin pukul] LT',lastWeek:'dddd [lepas pukul] LT',sameElse:'L'},relativeTime:{future:'dalam %s',past:'%s yang lepas',s:'beberapa saat',ss:'%d saat',m:'seminit',mm:'%d minit',h:'sejam',hh:'%d jam',d:'sehari',dd:'%d hari',M:'sebulan',MM:'%d bulan',y:'setahun',yy:'%d tahun'},week:{dow:1,// Monday is the first day of the week.
doy:7// The week that contains Jan 7th is the first week of the year.
}});return ms;});/***/},/* 104 *//***/function(module,exports,__webpack_require__){//! moment.js locale configuration
;(function(global,factory){true?factory(__webpack_require__(0)):typeof define==='function'&&define.amd?define(['../moment'],factory):factory(global.moment);})(this,function(moment){'use strict';var msMy=moment.defineLocale('ms-my',{months:'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split('_'),monthsShort:'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'),weekdays:'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'),weekdaysShort:'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'),weekdaysMin:'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'),longDateFormat:{LT:'HH.mm',LTS:'HH.mm.ss',L:'DD/MM/YYYY',LL:'D MMMM YYYY',LLL:'D MMMM YYYY [pukul] HH.mm',LLLL:'dddd, D MMMM YYYY [pukul] HH.mm'},meridiemParse:/pagi|tengahari|petang|malam/,meridiemHour:function meridiemHour(hour,meridiem){if(hour===12){hour=0;}if(meridiem==='pagi'){return hour;}else if(meridiem==='tengahari'){return hour>=11?hour:hour+12;}else if(meridiem==='petang'||meridiem==='malam'){return hour+12;}},meridiem:function meridiem(hours,minutes,isLower){if(hours<11){return'pagi';}else if(hours<15){return'tengahari';}else if(hours<19){return'petang';}else{return'malam';}},calendar:{sameDay:'[Hari ini pukul] LT',nextDay:'[Esok pukul] LT',nextWeek:'dddd [pukul] LT',lastDay:'[Kelmarin pukul] LT',lastWeek:'dddd [lepas pukul] LT',sameElse:'L'},relativeTime:{future:'dalam %s',past:'%s yang lepas',s:'beberapa saat',ss:'%d saat',m:'seminit',mm:'%d minit',h:'sejam',hh:'%d jam',d:'sehari',dd:'%d hari',M:'sebulan',MM:'%d bulan',y:'setahun',yy:'%d tahun'},week:{dow:1,// Monday is the first day of the week.
doy:7// The week that contains Jan 7th is the first week of the year.
}});return msMy;});/***/},/* 105 *//***/function(module,exports,__webpack_require__){//! moment.js locale configuration
;(function(global,factory){true?factory(__webpack_require__(0)):typeof define==='function'&&define.amd?define(['../moment'],factory):factory(global.moment);})(this,function(moment){'use strict';var mt=moment.defineLocale('mt',{months:'Jannar_Frar_Marzu_April_Mejju_Ġunju_Lulju_Awwissu_Settembru_Ottubru_Novembru_Diċembru'.split('_'),monthsShort:'Jan_Fra_Mar_Apr_Mej_Ġun_Lul_Aww_Set_Ott_Nov_Diċ'.split('_'),weekdays:'Il-Ħadd_It-Tnejn_It-Tlieta_L-Erbgħa_Il-Ħamis_Il-Ġimgħa_Is-Sibt'.split('_'),weekdaysShort:'Ħad_Tne_Tli_Erb_Ħam_Ġim_Sib'.split('_'),weekdaysMin:'Ħa_Tn_Tl_Er_Ħa_Ġi_Si'.split('_'),longDateFormat:{LT:'HH:mm',LTS:'HH:mm:ss',L:'DD/MM/YYYY',LL:'D MMMM YYYY',LLL:'D MMMM YYYY HH:mm',LLLL:'dddd, D MMMM YYYY HH:mm'},calendar:{sameDay:'[Illum fil-]LT',nextDay:'[Għada fil-]LT',nextWeek:'dddd [fil-]LT',lastDay:'[Il-bieraħ fil-]LT',lastWeek:'dddd [li għadda] [fil-]LT',sameElse:'L'},relativeTime:{future:'f’ %s',past:'%s ilu',s:'ftit sekondi',ss:'%d sekondi',m:'minuta',mm:'%d minuti',h:'siegħa',hh:'%d siegħat',d:'ġurnata',dd:'%d ġranet',M:'xahar',MM:'%d xhur',y:'sena',yy:'%d sni'},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:'%dº',week:{dow:1,// Monday is the first day of the week.
doy:4// The week that contains Jan 4th is the first week of the year.
}});return mt;});/***/},/* 106 *//***/function(module,exports,__webpack_require__){//! moment.js locale configuration
;(function(global,factory){true?factory(__webpack_require__(0)):typeof define==='function'&&define.amd?define(['../moment'],factory):factory(global.moment);})(this,function(moment){'use strict';var symbolMap={'1':'၁','2':'၂','3':'၃','4':'၄','5':'၅','6':'၆','7':'၇','8':'၈','9':'၉','0':'၀'},numberMap={'၁':'1','၂':'2','၃':'3','၄':'4','၅':'5','၆':'6','၇':'7','၈':'8','၉':'9','၀':'0'};var my=moment.defineLocale('my',{months:'ဇန်နဝါရီ_ဖေဖော်ဝါရီ_မတ်_ဧပြီ_မေ_ဇွန်_ဇူလိုင်_သြဂုတ်_စက်တင်ဘာ_အောက်တိုဘာ_နိုဝင်ဘာ_ဒီဇင်ဘာ'.split('_'),monthsShort:'ဇန်_ဖေ_မတ်_ပြီ_မေ_ဇွန်_လိုင်_သြ_စက်_အောက်_နို_ဒီ'.split('_'),weekdays:'တနင်္ဂနွေ_တနင်္လာ_အင်္ဂါ_ဗုဒ္ဓဟူး_ကြာသပတေး_သောကြာ_စနေ'.split('_'),weekdaysShort:'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'),weekdaysMin:'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'),longDateFormat:{LT:'HH:mm',LTS:'HH:mm:ss',L:'DD/MM/YYYY',LL:'D MMMM YYYY',LLL:'D MMMM YYYY HH:mm',LLLL:'dddd D MMMM YYYY HH:mm'},calendar:{sameDay:'[ယနေ.] LT [မှာ]',nextDay:'[မနက်ဖြန်] LT [မှာ]',nextWeek:'dddd LT [မှာ]',lastDay:'[မနေ.က] LT [မှာ]',lastWeek:'[ပြီးခဲ့သော] dddd LT [မှာ]',sameElse:'L'},relativeTime:{future:'လာမည့် %s မှာ',past:'လွန်ခဲ့သော %s က',s:'စက္ကန်.အနည်းငယ်',ss:'%d စက္ကန့်',m:'တစ်မိနစ်',mm:'%d မိနစ်',h:'တစ်နာရီ',hh:'%d နာရီ',d:'တစ်ရက်',dd:'%d ရက်',M:'တစ်လ',MM:'%d လ',y:'တစ်နှစ်',yy:'%d နှစ်'},preparse:function preparse(string){return string.replace(/[၁၂၃၄၅၆၇၈၉၀]/g,function(match){return numberMap[match];});},postformat:function postformat(string){return string.replace(/\d/g,function(match){return symbolMap[match];});},week:{dow:1,// Monday is the first day of the week.
doy:4// The week that contains Jan 4th is the first week of the year.
}});return my;});/***/},/* 107 *//***/function(module,exports,__webpack_require__){//! moment.js locale configuration
;(function(global,factory){true?factory(__webpack_require__(0)):typeof define==='function'&&define.amd?define(['../moment'],factory):factory(global.moment);})(this,function(moment){'use strict';var nb=moment.defineLocale('nb',{months:'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split('_'),monthsShort:'jan._feb._mars_april_mai_juni_juli_aug._sep._okt._nov._des.'.split('_'),monthsParseExact:true,weekdays:'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'),weekdaysShort:'sø._ma._ti._on._to._fr._lø.'.split('_'),weekdaysMin:'sø_ma_ti_on_to_fr_lø'.split('_'),weekdaysParseExact:true,longDateFormat:{LT:'HH:mm',LTS:'HH:mm:ss',L:'DD.MM.YYYY',LL:'D. MMMM YYYY',LLL:'D. MMMM YYYY [kl.] HH:mm',LLLL:'dddd D. MMMM YYYY [kl.] HH:mm'},calendar:{sameDay:'[i dag kl.] LT',nextDay:'[i morgen kl.] LT',nextWeek:'dddd [kl.] LT',lastDay:'[i går kl.] LT',lastWeek:'[forrige] dddd [kl.] LT',sameElse:'L'},relativeTime:{future:'om %s',past:'%s siden',s:'noen sekunder',ss:'%d sekunder',m:'ett minutt',mm:'%d minutter',h:'en time',hh:'%d timer',d:'en dag',dd:'%d dager',M:'en måned',MM:'%d måneder',y:'ett år',yy:'%d år'},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:'%d.',week:{dow:1,// Monday is the first day of the week.
doy:4// The week that contains Jan 4th is the first week of the year.
}});return nb;});/***/},/* 108 *//***/function(module,exports,__webpack_require__){//! moment.js locale configuration
;(function(global,factory){true?factory(__webpack_require__(0)):typeof define==='function'&&define.amd?define(['../moment'],factory):factory(global.moment);})(this,function(moment){'use strict';var symbolMap={'1':'१','2':'२','3':'३','4':'४','5':'५','6':'६','7':'७','8':'८','9':'९','0':'०'},numberMap={'१':'1','२':'2','३':'3','४':'4','५':'5','६':'6','७':'7','८':'8','९':'9','०':'0'};var ne=moment.defineLocale('ne',{months:'जनवरी_फेब्रुवरी_मार्च_अप्रिल_मई_जुन_जुलाई_अगष्ट_सेप्टेम्बर_अक्टोबर_नोभेम्बर_डिसेम्बर'.split('_'),monthsShort:'जन._फेब्रु._मार्च_अप्रि._मई_जुन_जुलाई._अग._सेप्ट._अक्टो._नोभे._डिसे.'.split('_'),monthsParseExact:true,weekdays:'आइतबार_सोमबार_मङ्गलबार_बुधबार_बिहिबार_शुक्रबार_शनिबार'.split('_'),weekdaysShort:'आइत._सोम._मङ्गल._बुध._बिहि._शुक्र._शनि.'.split('_'),weekdaysMin:'आ._सो._मं._बु._बि._शु._श.'.split('_'),weekdaysParseExact:true,longDateFormat:{LT:'Aको h:mm बजे',LTS:'Aको h:mm:ss बजे',L:'DD/MM/YYYY',LL:'D MMMM YYYY',LLL:'D MMMM YYYY, Aको h:mm बजे',LLLL:'dddd, D MMMM YYYY, Aको h:mm बजे'},preparse:function preparse(string){return string.replace(/[१२३४५६७८९०]/g,function(match){return numberMap[match];});},postformat:function postformat(string){return string.replace(/\d/g,function(match){return symbolMap[match];});},meridiemParse:/राति|बिहान|दिउँसो|साँझ/,meridiemHour:function meridiemHour(hour,meridiem){if(hour===12){hour=0;}if(meridiem==='राति'){return hour<4?hour:hour+12;}else if(meridiem==='बिहान'){return hour;}else if(meridiem==='दिउँसो'){return hour>=10?hour:hour+12;}else if(meridiem==='साँझ'){return hour+12;}},meridiem:function meridiem(hour,minute,isLower){if(hour<3){return'राति';}else if(hour<12){return'बिहान';}else if(hour<16){return'दिउँसो';}else if(hour<20){return'साँझ';}else{return'राति';}},calendar:{sameDay:'[आज] LT',nextDay:'[भोलि] LT',nextWeek:'[आउँदो] dddd[,] LT',lastDay:'[हिजो] LT',lastWeek:'[गएको] dddd[,] LT',sameElse:'L'},relativeTime:{future:'%sमा',past:'%s अगाडि',s:'केही क्षण',ss:'%d सेकेण्ड',m:'एक मिनेट',mm:'%d मिनेट',h:'एक घण्टा',hh:'%d घण्टा',d:'एक दिन',dd:'%d दिन',M:'एक महिना',MM:'%d महिना',y:'एक बर्ष',yy:'%d बर्ष'},week:{dow:0,// Sunday is the first day of the week.
doy:6// The week that contains Jan 6th is the first week of the year.
}});return ne;});/***/},/* 109 *//***/function(module,exports,__webpack_require__){//! moment.js locale configuration
;(function(global,factory){true?factory(__webpack_require__(0)):typeof define==='function'&&define.amd?define(['../moment'],factory):factory(global.moment);})(this,function(moment){'use strict';var monthsShortWithDots='jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split('_'),monthsShortWithoutDots='jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split('_');var monthsParse=[/^jan/i,/^feb/i,/^maart|mrt.?$/i,/^apr/i,/^mei$/i,/^jun[i.]?$/i,/^jul[i.]?$/i,/^aug/i,/^sep/i,/^okt/i,/^nov/i,/^dec/i];var monthsRegex=/^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december|jan\.?|feb\.?|mrt\.?|apr\.?|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i;var nl=moment.defineLocale('nl',{months:'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split('_'),monthsShort:function monthsShort(m,format){if(!m){return monthsShortWithDots;}else if(/-MMM-/.test(format)){return monthsShortWithoutDots[m.month()];}else{return monthsShortWithDots[m.month()];}},monthsRegex:monthsRegex,monthsShortRegex:monthsRegex,monthsStrictRegex:/^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i,monthsShortStrictRegex:/^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i,monthsParse:monthsParse,longMonthsParse:monthsParse,shortMonthsParse:monthsParse,weekdays:'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split('_'),weekdaysShort:'zo._ma._di._wo._do._vr._za.'.split('_'),weekdaysMin:'zo_ma_di_wo_do_vr_za'.split('_'),weekdaysParseExact:true,longDateFormat:{LT:'HH:mm',LTS:'HH:mm:ss',L:'DD-MM-YYYY',LL:'D MMMM YYYY',LLL:'D MMMM YYYY HH:mm',LLLL:'dddd D MMMM YYYY HH:mm'},calendar:{sameDay:'[vandaag om] LT',nextDay:'[morgen om] LT',nextWeek:'dddd [om] LT',lastDay:'[gisteren om] LT',lastWeek:'[afgelopen] dddd [om] LT',sameElse:'L'},relativeTime:{future:'over %s',past:'%s geleden',s:'een paar seconden',ss:'%d seconden',m:'één minuut',mm:'%d minuten',h:'één uur',hh:'%d uur',d:'één dag',dd:'%d dagen',M:'één maand',MM:'%d maanden',y:'één jaar',yy:'%d jaar'},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function ordinal(number){return number+(number===1||number===8||number>=20?'ste':'de');},week:{dow:1,// Monday is the first day of the week.
doy:4// The week that contains Jan 4th is the first week of the year.
}});return nl;});/***/},/* 110 *//***/function(module,exports,__webpack_require__){//! moment.js locale configuration
;(function(global,factory){true?factory(__webpack_require__(0)):typeof define==='function'&&define.amd?define(['../moment'],factory):factory(global.moment);})(this,function(moment){'use strict';var monthsShortWithDots='jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split('_'),monthsShortWithoutDots='jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split('_');var monthsParse=[/^jan/i,/^feb/i,/^maart|mrt.?$/i,/^apr/i,/^mei$/i,/^jun[i.]?$/i,/^jul[i.]?$/i,/^aug/i,/^sep/i,/^okt/i,/^nov/i,/^dec/i];var monthsRegex=/^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december|jan\.?|feb\.?|mrt\.?|apr\.?|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i;var nlBe=moment.defineLocale('nl-be',{months:'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split('_'),monthsShort:function monthsShort(m,format){if(!m){return monthsShortWithDots;}else if(/-MMM-/.test(format)){return monthsShortWithoutDots[m.month()];}else{return monthsShortWithDots[m.month()];}},monthsRegex:monthsRegex,monthsShortRegex:monthsRegex,monthsStrictRegex:/^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i,monthsShortStrictRegex:/^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i,monthsParse:monthsParse,longMonthsParse:monthsParse,shortMonthsParse:monthsParse,weekdays:'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split('_'),weekdaysShort:'zo._ma._di._wo._do._vr._za.'.split('_'),weekdaysMin:'zo_ma_di_wo_do_vr_za'.split('_'),weekdaysParseExact:true,longDateFormat:{LT:'HH:mm',LTS:'HH:mm:ss',L:'DD/MM/YYYY',LL:'D MMMM YYYY',LLL:'D MMMM YYYY HH:mm',LLLL:'dddd D MMMM YYYY HH:mm'},calendar:{sameDay:'[vandaag om] LT',nextDay:'[morgen om] LT',nextWeek:'dddd [om] LT',lastDay:'[gisteren om] LT',lastWeek:'[afgelopen] dddd [om] LT',sameElse:'L'},relativeTime:{future:'over %s',past:'%s geleden',s:'een paar seconden',ss:'%d seconden',m:'één minuut',mm:'%d minuten',h:'één uur',hh:'%d uur',d:'één dag',dd:'%d dagen',M:'één maand',MM:'%d maanden',y:'één jaar',yy:'%d jaar'},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function ordinal(number){return number+(number===1||number===8||number>=20?'ste':'de');},week:{dow:1,// Monday is the first day of the week.
doy:4// The week that contains Jan 4th is the first week of the year.
}});return nlBe;});/***/},/* 111 *//***/function(module,exports,__webpack_require__){//! moment.js locale configuration
;(function(global,factory){true?factory(__webpack_require__(0)):typeof define==='function'&&define.amd?define(['../moment'],factory):factory(global.moment);})(this,function(moment){'use strict';var nn=moment.defineLocale('nn',{months:'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split('_'),monthsShort:'jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_'),weekdays:'sundag_måndag_tysdag_onsdag_torsdag_fredag_laurdag'.split('_'),weekdaysShort:'sun_mån_tys_ons_tor_fre_lau'.split('_'),weekdaysMin:'su_må_ty_on_to_fr_lø'.split('_'),longDateFormat:{LT:'HH:mm',LTS:'HH:mm:ss',L:'DD.MM.YYYY',LL:'D. MMMM YYYY',LLL:'D. MMMM YYYY [kl.] H:mm',LLLL:'dddd D. MMMM YYYY [kl.] HH:mm'},calendar:{sameDay:'[I dag klokka] LT',nextDay:'[I morgon klokka] LT',nextWeek:'dddd [klokka] LT',lastDay:'[I går klokka] LT',lastWeek:'[Føregåande] dddd [klokka] LT',sameElse:'L'},relativeTime:{future:'om %s',past:'%s sidan',s:'nokre sekund',ss:'%d sekund',m:'eit minutt',mm:'%d minutt',h:'ein time',hh:'%d timar',d:'ein dag',dd:'%d dagar',M:'ein månad',MM:'%d månader',y:'eit år',yy:'%d år'},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:'%d.',week:{dow:1,// Monday is the first day of the week.
doy:4// The week that contains Jan 4th is the first week of the year.
}});return nn;});/***/},/* 112 *//***/function(module,exports,__webpack_require__){//! moment.js locale configuration
;(function(global,factory){true?factory(__webpack_require__(0)):typeof define==='function'&&define.amd?define(['../moment'],factory):factory(global.moment);})(this,function(moment){'use strict';var symbolMap={'1':'੧','2':'੨','3':'੩','4':'੪','5':'੫','6':'੬','7':'੭','8':'੮','9':'੯','0':'੦'},numberMap={'੧':'1','੨':'2','੩':'3','੪':'4','੫':'5','੬':'6','੭':'7','੮':'8','੯':'9','੦':'0'};var paIn=moment.defineLocale('pa-in',{// There are months name as per Nanakshahi Calendar but they are not used as rigidly in modern Punjabi.
months:'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split('_'),monthsShort:'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split('_'),weekdays:'ਐਤਵਾਰ_ਸੋਮਵਾਰ_ਮੰਗਲਵਾਰ_ਬੁਧਵਾਰ_ਵੀਰਵਾਰ_ਸ਼ੁੱਕਰਵਾਰ_ਸ਼ਨੀਚਰਵਾਰ'.split('_'),weekdaysShort:'ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ'.split('_'),weekdaysMin:'ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ'.split('_'),longDateFormat:{LT:'A h:mm ਵਜੇ',LTS:'A h:mm:ss ਵਜੇ',L:'DD/MM/YYYY',LL:'D MMMM YYYY',LLL:'D MMMM YYYY, A h:mm ਵਜੇ',LLLL:'dddd, D MMMM YYYY, A h:mm ਵਜੇ'},calendar:{sameDay:'[ਅਜ] LT',nextDay:'[ਕਲ] LT',nextWeek:'[ਅਗਲਾ] dddd, LT',lastDay:'[ਕਲ] LT',lastWeek:'[ਪਿਛਲੇ] dddd, LT',sameElse:'L'},relativeTime:{future:'%s ਵਿੱਚ',past:'%s ਪਿਛਲੇ',s:'ਕੁਝ ਸਕਿੰਟ',ss:'%d ਸਕਿੰਟ',m:'ਇਕ ਮਿੰਟ',mm:'%d ਮਿੰਟ',h:'ਇੱਕ ਘੰਟਾ',hh:'%d ਘੰਟੇ',d:'ਇੱਕ ਦਿਨ',dd:'%d ਦਿਨ',M:'ਇੱਕ ਮਹੀਨਾ',MM:'%d ਮਹੀਨੇ',y:'ਇੱਕ ਸਾਲ',yy:'%d ਸਾਲ'},preparse:function preparse(string){return string.replace(/[੧੨੩੪੫੬੭੮੯੦]/g,function(match){return numberMap[match];});},postformat:function postformat(string){return string.replace(/\d/g,function(match){return symbolMap[match];});},// Punjabi notation for meridiems are quite fuzzy in practice. While there exists
// a rigid notion of a 'Pahar' it is not used as rigidly in modern Punjabi.
meridiemParse:/ਰਾਤ|ਸਵੇਰ|ਦੁਪਹਿਰ|ਸ਼ਾਮ/,meridiemHour:function meridiemHour(hour,meridiem){if(hour===12){hour=0;}if(meridiem==='ਰਾਤ'){return hour<4?hour:hour+12;}else if(meridiem==='ਸਵੇਰ'){return hour;}else if(meridiem==='ਦੁਪਹਿਰ'){return hour>=10?hour:hour+12;}else if(meridiem==='ਸ਼ਾਮ'){return hour+12;}},meridiem:function meridiem(hour,minute,isLower){if(hour<4){return'ਰਾਤ';}else if(hour<10){return'ਸਵੇਰ';}else if(hour<17){return'ਦੁਪਹਿਰ';}else if(hour<20){return'ਸ਼ਾਮ';}else{return'ਰਾਤ';}},week:{dow:0,// Sunday is the first day of the week.
doy:6// The week that contains Jan 6th is the first week of the year.
}});return paIn;});/***/},/* 113 *//***/function(module,exports,__webpack_require__){//! moment.js locale configuration
;(function(global,factory){true?factory(__webpack_require__(0)):typeof define==='function'&&define.amd?define(['../moment'],factory):factory(global.moment);})(this,function(moment){'use strict';var monthsNominative='styczeń_luty_marzec_kwiecień_maj_czerwiec_lipiec_sierpień_wrzesień_październik_listopad_grudzień'.split('_'),monthsSubjective='stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_września_października_listopada_grudnia'.split('_');function plural(n){return n%10<5&&n%10>1&&~~(n/10)%10!==1;}function translate(number,withoutSuffix,key){var result=number+' ';switch(key){case'ss':return result+(plural(number)?'sekundy':'sekund');case'm':return withoutSuffix?'minuta':'minutę';case'mm':return result+(plural(number)?'minuty':'minut');case'h':return withoutSuffix?'godzina':'godzinę';case'hh':return result+(plural(number)?'godziny':'godzin');case'MM':return result+(plural(number)?'miesiące':'miesięcy');case'yy':return result+(plural(number)?'lata':'lat');}}var pl=moment.defineLocale('pl',{months:function months(momentToFormat,format){if(!momentToFormat){return monthsNominative;}else if(format===''){// Hack: if format empty we know this is used to generate
// RegExp by moment. Give then back both valid forms of months
// in RegExp ready format.
return'('+monthsSubjective[momentToFormat.month()]+'|'+monthsNominative[momentToFormat.month()]+')';}else if(/D MMMM/.test(format)){return monthsSubjective[momentToFormat.month()];}else{return monthsNominative[momentToFormat.month()];}},monthsShort:'sty_lut_mar_kwi_maj_cze_lip_sie_wrz_paź_lis_gru'.split('_'),weekdays:'niedziela_poniedziałek_wtorek_środa_czwartek_piątek_sobota'.split('_'),weekdaysShort:'ndz_pon_wt_śr_czw_pt_sob'.split('_'),weekdaysMin:'Nd_Pn_Wt_Śr_Cz_Pt_So'.split('_'),longDateFormat:{LT:'HH:mm',LTS:'HH:mm:ss',L:'DD.MM.YYYY',LL:'D MMMM YYYY',LLL:'D MMMM YYYY HH:mm',LLLL:'dddd, D MMMM YYYY HH:mm'},calendar:{sameDay:'[Dziś o] LT',nextDay:'[Jutro o] LT',nextWeek:function nextWeek(){switch(this.day()){case 0:return'[W niedzielę o] LT';case 2:return'[We wtorek o] LT';case 3:return'[W środę o] LT';case 6:return'[W sobotę o] LT';default:return'[W] dddd [o] LT';}},lastDay:'[Wczoraj o] LT',lastWeek:function lastWeek(){switch(this.day()){case 0:return'[W zeszłą niedzielę o] LT';case 3:return'[W zeszłą środę o] LT';case 6:return'[W zeszłą sobotę o] LT';default:return'[W zeszły] dddd [o] LT';}},sameElse:'L'},relativeTime:{future:'za %s',past:'%s temu',s:'kilka sekund',ss:translate,m:translate,mm:translate,h:translate,hh:translate,d:'1 dzień',dd:'%d dni',M:'miesiąc',MM:translate,y:'rok',yy:translate},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:'%d.',week:{dow:1,// Monday is the first day of the week.
doy:4// The week that contains Jan 4th is the first week of the year.
}});return pl;});/***/},/* 114 *//***/function(module,exports,__webpack_require__){//! moment.js locale configuration
;(function(global,factory){true?factory(__webpack_require__(0)):typeof define==='function'&&define.amd?define(['../moment'],factory):factory(global.moment);})(this,function(moment){'use strict';var pt=moment.defineLocale('pt',{months:'janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro'.split('_'),monthsShort:'jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez'.split('_'),weekdays:'Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado'.split('_'),weekdaysShort:'Dom_Seg_Ter_Qua_Qui_Sex_Sáb'.split('_'),weekdaysMin:'Do_2ª_3ª_4ª_5ª_6ª_Sá'.split('_'),weekdaysParseExact:true,longDateFormat:{LT:'HH:mm',LTS:'HH:mm:ss',L:'DD/MM/YYYY',LL:'D [de] MMMM [de] YYYY',LLL:'D [de] MMMM [de] YYYY HH:mm',LLLL:'dddd, D [de] MMMM [de] YYYY HH:mm'},calendar:{sameDay:'[Hoje às] LT',nextDay:'[Amanhã às] LT',nextWeek:'dddd [às] LT',lastDay:'[Ontem às] LT',lastWeek:function lastWeek(){return this.day()===0||this.day()===6?'[Último] dddd [às] LT':// Saturday + Sunday
'[Última] dddd [às] LT';// Monday - Friday
},sameElse:'L'},relativeTime:{future:'em %s',past:'há %s',s:'segundos',ss:'%d segundos',m:'um minuto',mm:'%d minutos',h:'uma hora',hh:'%d horas',d:'um dia',dd:'%d dias',M:'um mês',MM:'%d meses',y:'um ano',yy:'%d anos'},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:'%dº',week:{dow:1,// Monday is the first day of the week.
doy:4// The week that contains Jan 4th is the first week of the year.
}});return pt;});/***/},/* 115 *//***/function(module,exports,__webpack_require__){//! moment.js locale configuration
;(function(global,factory){true?factory(__webpack_require__(0)):typeof define==='function'&&define.amd?define(['../moment'],factory):factory(global.moment);})(this,function(moment){'use strict';var ptBr=moment.defineLocale('pt-br',{months:'janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro'.split('_'),monthsShort:'jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez'.split('_'),weekdays:'Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado'.split('_'),weekdaysShort:'Dom_Seg_Ter_Qua_Qui_Sex_Sáb'.split('_'),weekdaysMin:'Do_2ª_3ª_4ª_5ª_6ª_Sá'.split('_'),weekdaysParseExact:true,longDateFormat:{LT:'HH:mm',LTS:'HH:mm:ss',L:'DD/MM/YYYY',LL:'D [de] MMMM [de] YYYY',LLL:'D [de] MMMM [de] YYYY [às] HH:mm',LLLL:'dddd, D [de] MMMM [de] YYYY [às] HH:mm'},calendar:{sameDay:'[Hoje às] LT',nextDay:'[Amanhã às] LT',nextWeek:'dddd [às] LT',lastDay:'[Ontem às] LT',lastWeek:function lastWeek(){return this.day()===0||this.day()===6?'[Último] dddd [às] LT':// Saturday + Sunday
'[Última] dddd [às] LT';// Monday - Friday
},sameElse:'L'},relativeTime:{future:'em %s',past:'há %s',s:'poucos segundos',ss:'%d segundos',m:'um minuto',mm:'%d minutos',h:'uma hora',hh:'%d horas',d:'um dia',dd:'%d dias',M:'um mês',MM:'%d meses',y:'um ano',yy:'%d anos'},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:'%dº'});return ptBr;});/***/},/* 116 *//***/function(module,exports,__webpack_require__){//! moment.js locale configuration
;(function(global,factory){true?factory(__webpack_require__(0)):typeof define==='function'&&define.amd?define(['../moment'],factory):factory(global.moment);})(this,function(moment){'use strict';function relativeTimeWithPlural(number,withoutSuffix,key){var format={'ss':'secunde','mm':'minute','hh':'ore','dd':'zile','MM':'luni','yy':'ani'},separator=' ';if(number%100>=20||number>=100&&number%100===0){separator=' de ';}return number+separator+format[key];}var ro=moment.defineLocale('ro',{months:'ianuarie_februarie_martie_aprilie_mai_iunie_iulie_august_septembrie_octombrie_noiembrie_decembrie'.split('_'),monthsShort:'ian._febr._mart._apr._mai_iun._iul._aug._sept._oct._nov._dec.'.split('_'),monthsParseExact:true,weekdays:'duminică_luni_marți_miercuri_joi_vineri_sâmbătă'.split('_'),weekdaysShort:'Dum_Lun_Mar_Mie_Joi_Vin_Sâm'.split('_'),weekdaysMin:'Du_Lu_Ma_Mi_Jo_Vi_Sâ'.split('_'),longDateFormat:{LT:'H:mm',LTS:'H:mm:ss',L:'DD.MM.YYYY',LL:'D MMMM YYYY',LLL:'D MMMM YYYY H:mm',LLLL:'dddd, D MMMM YYYY H:mm'},calendar:{sameDay:'[azi la] LT',nextDay:'[mâine la] LT',nextWeek:'dddd [la] LT',lastDay:'[ieri la] LT',lastWeek:'[fosta] dddd [la] LT',sameElse:'L'},relativeTime:{future:'peste %s',past:'%s în urmă',s:'câteva secunde',ss:relativeTimeWithPlural,m:'un minut',mm:relativeTimeWithPlural,h:'o oră',hh:relativeTimeWithPlural,d:'o zi',dd:relativeTimeWithPlural,M:'o lună',MM:relativeTimeWithPlural,y:'un an',yy:relativeTimeWithPlural},week:{dow:1,// Monday is the first day of the week.
doy:7// The week that contains Jan 7th is the first week of the year.
}});return ro;});/***/},/* 117 *//***/function(module,exports,__webpack_require__){//! moment.js locale configuration
;(function(global,factory){true?factory(__webpack_require__(0)):typeof define==='function'&&define.amd?define(['../moment'],factory):factory(global.moment);})(this,function(moment){'use strict';function plural(word,num){var forms=word.split('_');return num%10===1&&num%100!==11?forms[0]:num%10>=2&&num%10<=4&&(num%100<10||num%100>=20)?forms[1]:forms[2];}function relativeTimeWithPlural(number,withoutSuffix,key){var format={'ss':withoutSuffix?'секунда_секунды_секунд':'секунду_секунды_секунд','mm':withoutSuffix?'минута_минуты_минут':'минуту_минуты_минут','hh':'час_часа_часов','dd':'день_дня_дней','MM':'месяц_месяца_месяцев','yy':'год_года_лет'};if(key==='m'){return withoutSuffix?'минута':'минуту';}else{return number+' '+plural(format[key],+number);}}var monthsParse=[/^янв/i,/^фев/i,/^мар/i,/^апр/i,/^ма[йя]/i,/^июн/i,/^июл/i,/^авг/i,/^сен/i,/^окт/i,/^ноя/i,/^дек/i];// http://new.gramota.ru/spravka/rules/139-prop : § 103
// Сокращения месяцев: http://new.gramota.ru/spravka/buro/search-answer?s=242637
// CLDR data:          http://www.unicode.org/cldr/charts/28/summary/ru.html#1753
var ru=moment.defineLocale('ru',{months:{format:'января_февраля_марта_апреля_мая_июня_июля_августа_сентября_октября_ноября_декабря'.split('_'),standalone:'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split('_')},monthsShort:{// по CLDR именно "июл." и "июн.", но какой смысл менять букву на точку ?
format:'янв._февр._мар._апр._мая_июня_июля_авг._сент._окт._нояб._дек.'.split('_'),standalone:'янв._февр._март_апр._май_июнь_июль_авг._сент._окт._нояб._дек.'.split('_')},weekdays:{standalone:'воскресенье_понедельник_вторник_среда_четверг_пятница_суббота'.split('_'),format:'воскресенье_понедельник_вторник_среду_четверг_пятницу_субботу'.split('_'),isFormat:/\[ ?[Вв] ?(?:прошлую|следующую|эту)? ?\] ?dddd/},weekdaysShort:'вс_пн_вт_ср_чт_пт_сб'.split('_'),weekdaysMin:'вс_пн_вт_ср_чт_пт_сб'.split('_'),monthsParse:monthsParse,longMonthsParse:monthsParse,shortMonthsParse:monthsParse,// полные названия с падежами, по три буквы, для некоторых, по 4 буквы, сокращения с точкой и без точки
monthsRegex:/^(январ[ья]|янв\.?|феврал[ья]|февр?\.?|марта?|мар\.?|апрел[ья]|апр\.?|ма[йя]|июн[ья]|июн\.?|июл[ья]|июл\.?|августа?|авг\.?|сентябр[ья]|сент?\.?|октябр[ья]|окт\.?|ноябр[ья]|нояб?\.?|декабр[ья]|дек\.?)/i,// копия предыдущего
monthsShortRegex:/^(январ[ья]|янв\.?|феврал[ья]|февр?\.?|марта?|мар\.?|апрел[ья]|апр\.?|ма[йя]|июн[ья]|июн\.?|июл[ья]|июл\.?|августа?|авг\.?|сентябр[ья]|сент?\.?|октябр[ья]|окт\.?|ноябр[ья]|нояб?\.?|декабр[ья]|дек\.?)/i,// полные названия с падежами
monthsStrictRegex:/^(январ[яь]|феврал[яь]|марта?|апрел[яь]|ма[яй]|июн[яь]|июл[яь]|августа?|сентябр[яь]|октябр[яь]|ноябр[яь]|декабр[яь])/i,// Выражение, которое соотвествует только сокращённым формам
monthsShortStrictRegex:/^(янв\.|февр?\.|мар[т.]|апр\.|ма[яй]|июн[ья.]|июл[ья.]|авг\.|сент?\.|окт\.|нояб?\.|дек\.)/i,longDateFormat:{LT:'H:mm',LTS:'H:mm:ss',L:'DD.MM.YYYY',LL:'D MMMM YYYY г.',LLL:'D MMMM YYYY г., H:mm',LLLL:'dddd, D MMMM YYYY г., H:mm'},calendar:{sameDay:'[Сегодня, в] LT',nextDay:'[Завтра, в] LT',lastDay:'[Вчера, в] LT',nextWeek:function nextWeek(now){if(now.week()!==this.week()){switch(this.day()){case 0:return'[В следующее] dddd, [в] LT';case 1:case 2:case 4:return'[В следующий] dddd, [в] LT';case 3:case 5:case 6:return'[В следующую] dddd, [в] LT';}}else{if(this.day()===2){return'[Во] dddd, [в] LT';}else{return'[В] dddd, [в] LT';}}},lastWeek:function lastWeek(now){if(now.week()!==this.week()){switch(this.day()){case 0:return'[В прошлое] dddd, [в] LT';case 1:case 2:case 4:return'[В прошлый] dddd, [в] LT';case 3:case 5:case 6:return'[В прошлую] dddd, [в] LT';}}else{if(this.day()===2){return'[Во] dddd, [в] LT';}else{return'[В] dddd, [в] LT';}}},sameElse:'L'},relativeTime:{future:'через %s',past:'%s назад',s:'несколько секунд',ss:relativeTimeWithPlural,m:relativeTimeWithPlural,mm:relativeTimeWithPlural,h:'час',hh:relativeTimeWithPlural,d:'день',dd:relativeTimeWithPlural,M:'месяц',MM:relativeTimeWithPlural,y:'год',yy:relativeTimeWithPlural},meridiemParse:/ночи|утра|дня|вечера/i,isPM:function isPM(input){return /^(дня|вечера)$/.test(input);},meridiem:function meridiem(hour,minute,isLower){if(hour<4){return'ночи';}else if(hour<12){return'утра';}else if(hour<17){return'дня';}else{return'вечера';}},dayOfMonthOrdinalParse:/\d{1,2}-(й|го|я)/,ordinal:function ordinal(number,period){switch(period){case'M':case'd':case'DDD':return number+'-й';case'D':return number+'-го';case'w':case'W':return number+'-я';default:return number;}},week:{dow:1,// Monday is the first day of the week.
doy:4// The week that contains Jan 4th is the first week of the year.
}});return ru;});/***/},/* 118 *//***/function(module,exports,__webpack_require__){//! moment.js locale configuration
;(function(global,factory){true?factory(__webpack_require__(0)):typeof define==='function'&&define.amd?define(['../moment'],factory):factory(global.moment);})(this,function(moment){'use strict';var months=['جنوري','فيبروري','مارچ','اپريل','مئي','جون','جولاءِ','آگسٽ','سيپٽمبر','آڪٽوبر','نومبر','ڊسمبر'];var days=['آچر','سومر','اڱارو','اربع','خميس','جمع','ڇنڇر'];var sd=moment.defineLocale('sd',{months:months,monthsShort:months,weekdays:days,weekdaysShort:days,weekdaysMin:days,longDateFormat:{LT:'HH:mm',LTS:'HH:mm:ss',L:'DD/MM/YYYY',LL:'D MMMM YYYY',LLL:'D MMMM YYYY HH:mm',LLLL:'dddd، D MMMM YYYY HH:mm'},meridiemParse:/صبح|شام/,isPM:function isPM(input){return'شام'===input;},meridiem:function meridiem(hour,minute,isLower){if(hour<12){return'صبح';}return'شام';},calendar:{sameDay:'[اڄ] LT',nextDay:'[سڀاڻي] LT',nextWeek:'dddd [اڳين هفتي تي] LT',lastDay:'[ڪالهه] LT',lastWeek:'[گزريل هفتي] dddd [تي] LT',sameElse:'L'},relativeTime:{future:'%s پوء',past:'%s اڳ',s:'چند سيڪنڊ',ss:'%d سيڪنڊ',m:'هڪ منٽ',mm:'%d منٽ',h:'هڪ ڪلاڪ',hh:'%d ڪلاڪ',d:'هڪ ڏينهن',dd:'%d ڏينهن',M:'هڪ مهينو',MM:'%d مهينا',y:'هڪ سال',yy:'%d سال'},preparse:function preparse(string){return string.replace(/،/g,',');},postformat:function postformat(string){return string.replace(/,/g,'،');},week:{dow:1,// Monday is the first day of the week.
doy:4// The week that contains Jan 4th is the first week of the year.
}});return sd;});/***/},/* 119 *//***/function(module,exports,__webpack_require__){//! moment.js locale configuration
;(function(global,factory){true?factory(__webpack_require__(0)):typeof define==='function'&&define.amd?define(['../moment'],factory):factory(global.moment);})(this,function(moment){'use strict';var se=moment.defineLocale('se',{months:'ođđajagemánnu_guovvamánnu_njukčamánnu_cuoŋománnu_miessemánnu_geassemánnu_suoidnemánnu_borgemánnu_čakčamánnu_golggotmánnu_skábmamánnu_juovlamánnu'.split('_'),monthsShort:'ođđj_guov_njuk_cuo_mies_geas_suoi_borg_čakč_golg_skáb_juov'.split('_'),weekdays:'sotnabeaivi_vuossárga_maŋŋebárga_gaskavahkku_duorastat_bearjadat_lávvardat'.split('_'),weekdaysShort:'sotn_vuos_maŋ_gask_duor_bear_láv'.split('_'),weekdaysMin:'s_v_m_g_d_b_L'.split('_'),longDateFormat:{LT:'HH:mm',LTS:'HH:mm:ss',L:'DD.MM.YYYY',LL:'MMMM D. [b.] YYYY',LLL:'MMMM D. [b.] YYYY [ti.] HH:mm',LLLL:'dddd, MMMM D. [b.] YYYY [ti.] HH:mm'},calendar:{sameDay:'[otne ti] LT',nextDay:'[ihttin ti] LT',nextWeek:'dddd [ti] LT',lastDay:'[ikte ti] LT',lastWeek:'[ovddit] dddd [ti] LT',sameElse:'L'},relativeTime:{future:'%s geažes',past:'maŋit %s',s:'moadde sekunddat',ss:'%d sekunddat',m:'okta minuhta',mm:'%d minuhtat',h:'okta diimmu',hh:'%d diimmut',d:'okta beaivi',dd:'%d beaivvit',M:'okta mánnu',MM:'%d mánut',y:'okta jahki',yy:'%d jagit'},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:'%d.',week:{dow:1,// Monday is the first day of the week.
doy:4// The week that contains Jan 4th is the first week of the year.
}});return se;});/***/},/* 120 *//***/function(module,exports,__webpack_require__){//! moment.js locale configuration
;(function(global,factory){true?factory(__webpack_require__(0)):typeof define==='function'&&define.amd?define(['../moment'],factory):factory(global.moment);})(this,function(moment){'use strict';/*jshint -W100*/var si=moment.defineLocale('si',{months:'ජනවාරි_පෙබරවාරි_මාර්තු_අප්‍රේල්_මැයි_ජූනි_ජූලි_අගෝස්තු_සැප්තැම්බර්_ඔක්තෝබර්_නොවැම්බර්_දෙසැම්බර්'.split('_'),monthsShort:'ජන_පෙබ_මාර්_අප්_මැයි_ජූනි_ජූලි_අගෝ_සැප්_ඔක්_නොවැ_දෙසැ'.split('_'),weekdays:'ඉරිදා_සඳුදා_අඟහරුවාදා_බදාදා_බ්‍රහස්පතින්දා_සිකුරාදා_සෙනසුරාදා'.split('_'),weekdaysShort:'ඉරි_සඳු_අඟ_බදා_බ්‍රහ_සිකු_සෙන'.split('_'),weekdaysMin:'ඉ_ස_අ_බ_බ්‍ර_සි_සෙ'.split('_'),weekdaysParseExact:true,longDateFormat:{LT:'a h:mm',LTS:'a h:mm:ss',L:'YYYY/MM/DD',LL:'YYYY MMMM D',LLL:'YYYY MMMM D, a h:mm',LLLL:'YYYY MMMM D [වැනි] dddd, a h:mm:ss'},calendar:{sameDay:'[අද] LT[ට]',nextDay:'[හෙට] LT[ට]',nextWeek:'dddd LT[ට]',lastDay:'[ඊයේ] LT[ට]',lastWeek:'[පසුගිය] dddd LT[ට]',sameElse:'L'},relativeTime:{future:'%sකින්',past:'%sකට පෙර',s:'තත්පර කිහිපය',ss:'තත්පර %d',m:'මිනිත්තුව',mm:'මිනිත්තු %d',h:'පැය',hh:'පැය %d',d:'දිනය',dd:'දින %d',M:'මාසය',MM:'මාස %d',y:'වසර',yy:'වසර %d'},dayOfMonthOrdinalParse:/\d{1,2} වැනි/,ordinal:function ordinal(number){return number+' වැනි';},meridiemParse:/පෙර වරු|පස් වරු|පෙ.ව|ප.ව./,isPM:function isPM(input){return input==='ප.ව.'||input==='පස් වරු';},meridiem:function meridiem(hours,minutes,isLower){if(hours>11){return isLower?'ප.ව.':'පස් වරු';}else{return isLower?'පෙ.ව.':'පෙර වරු';}}});return si;});/***/},/* 121 *//***/function(module,exports,__webpack_require__){//! moment.js locale configuration
;(function(global,factory){true?factory(__webpack_require__(0)):typeof define==='function'&&define.amd?define(['../moment'],factory):factory(global.moment);})(this,function(moment){'use strict';var months='január_február_marec_apríl_máj_jún_júl_august_september_október_november_december'.split('_'),monthsShort='jan_feb_mar_apr_máj_jún_júl_aug_sep_okt_nov_dec'.split('_');function plural(n){return n>1&&n<5;}function translate(number,withoutSuffix,key,isFuture){var result=number+' ';switch(key){case's':// a few seconds / in a few seconds / a few seconds ago
return withoutSuffix||isFuture?'pár sekúnd':'pár sekundami';case'ss':// 9 seconds / in 9 seconds / 9 seconds ago
if(withoutSuffix||isFuture){return result+(plural(number)?'sekundy':'sekúnd');}else{return result+'sekundami';}break;case'm':// a minute / in a minute / a minute ago
return withoutSuffix?'minúta':isFuture?'minútu':'minútou';case'mm':// 9 minutes / in 9 minutes / 9 minutes ago
if(withoutSuffix||isFuture){return result+(plural(number)?'minúty':'minút');}else{return result+'minútami';}break;case'h':// an hour / in an hour / an hour ago
return withoutSuffix?'hodina':isFuture?'hodinu':'hodinou';case'hh':// 9 hours / in 9 hours / 9 hours ago
if(withoutSuffix||isFuture){return result+(plural(number)?'hodiny':'hodín');}else{return result+'hodinami';}break;case'd':// a day / in a day / a day ago
return withoutSuffix||isFuture?'deň':'dňom';case'dd':// 9 days / in 9 days / 9 days ago
if(withoutSuffix||isFuture){return result+(plural(number)?'dni':'dní');}else{return result+'dňami';}break;case'M':// a month / in a month / a month ago
return withoutSuffix||isFuture?'mesiac':'mesiacom';case'MM':// 9 months / in 9 months / 9 months ago
if(withoutSuffix||isFuture){return result+(plural(number)?'mesiace':'mesiacov');}else{return result+'mesiacmi';}break;case'y':// a year / in a year / a year ago
return withoutSuffix||isFuture?'rok':'rokom';case'yy':// 9 years / in 9 years / 9 years ago
if(withoutSuffix||isFuture){return result+(plural(number)?'roky':'rokov');}else{return result+'rokmi';}break;}}var sk=moment.defineLocale('sk',{months:months,monthsShort:monthsShort,weekdays:'nedeľa_pondelok_utorok_streda_štvrtok_piatok_sobota'.split('_'),weekdaysShort:'ne_po_ut_st_št_pi_so'.split('_'),weekdaysMin:'ne_po_ut_st_št_pi_so'.split('_'),longDateFormat:{LT:'H:mm',LTS:'H:mm:ss',L:'DD.MM.YYYY',LL:'D. MMMM YYYY',LLL:'D. MMMM YYYY H:mm',LLLL:'dddd D. MMMM YYYY H:mm'},calendar:{sameDay:'[dnes o] LT',nextDay:'[zajtra o] LT',nextWeek:function nextWeek(){switch(this.day()){case 0:return'[v nedeľu o] LT';case 1:case 2:return'[v] dddd [o] LT';case 3:return'[v stredu o] LT';case 4:return'[vo štvrtok o] LT';case 5:return'[v piatok o] LT';case 6:return'[v sobotu o] LT';}},lastDay:'[včera o] LT',lastWeek:function lastWeek(){switch(this.day()){case 0:return'[minulú nedeľu o] LT';case 1:case 2:return'[minulý] dddd [o] LT';case 3:return'[minulú stredu o] LT';case 4:case 5:return'[minulý] dddd [o] LT';case 6:return'[minulú sobotu o] LT';}},sameElse:'L'},relativeTime:{future:'za %s',past:'pred %s',s:translate,ss:translate,m:translate,mm:translate,h:translate,hh:translate,d:translate,dd:translate,M:translate,MM:translate,y:translate,yy:translate},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:'%d.',week:{dow:1,// Monday is the first day of the week.
doy:4// The week that contains Jan 4th is the first week of the year.
}});return sk;});/***/},/* 122 *//***/function(module,exports,__webpack_require__){//! moment.js locale configuration
;(function(global,factory){true?factory(__webpack_require__(0)):typeof define==='function'&&define.amd?define(['../moment'],factory):factory(global.moment);})(this,function(moment){'use strict';function processRelativeTime(number,withoutSuffix,key,isFuture){var result=number+' ';switch(key){case's':return withoutSuffix||isFuture?'nekaj sekund':'nekaj sekundami';case'ss':if(number===1){result+=withoutSuffix?'sekundo':'sekundi';}else if(number===2){result+=withoutSuffix||isFuture?'sekundi':'sekundah';}else if(number<5){result+=withoutSuffix||isFuture?'sekunde':'sekundah';}else{result+='sekund';}return result;case'm':return withoutSuffix?'ena minuta':'eno minuto';case'mm':if(number===1){result+=withoutSuffix?'minuta':'minuto';}else if(number===2){result+=withoutSuffix||isFuture?'minuti':'minutama';}else if(number<5){result+=withoutSuffix||isFuture?'minute':'minutami';}else{result+=withoutSuffix||isFuture?'minut':'minutami';}return result;case'h':return withoutSuffix?'ena ura':'eno uro';case'hh':if(number===1){result+=withoutSuffix?'ura':'uro';}else if(number===2){result+=withoutSuffix||isFuture?'uri':'urama';}else if(number<5){result+=withoutSuffix||isFuture?'ure':'urami';}else{result+=withoutSuffix||isFuture?'ur':'urami';}return result;case'd':return withoutSuffix||isFuture?'en dan':'enim dnem';case'dd':if(number===1){result+=withoutSuffix||isFuture?'dan':'dnem';}else if(number===2){result+=withoutSuffix||isFuture?'dni':'dnevoma';}else{result+=withoutSuffix||isFuture?'dni':'dnevi';}return result;case'M':return withoutSuffix||isFuture?'en mesec':'enim mesecem';case'MM':if(number===1){result+=withoutSuffix||isFuture?'mesec':'mesecem';}else if(number===2){result+=withoutSuffix||isFuture?'meseca':'mesecema';}else if(number<5){result+=withoutSuffix||isFuture?'mesece':'meseci';}else{result+=withoutSuffix||isFuture?'mesecev':'meseci';}return result;case'y':return withoutSuffix||isFuture?'eno leto':'enim letom';case'yy':if(number===1){result+=withoutSuffix||isFuture?'leto':'letom';}else if(number===2){result+=withoutSuffix||isFuture?'leti':'letoma';}else if(number<5){result+=withoutSuffix||isFuture?'leta':'leti';}else{result+=withoutSuffix||isFuture?'let':'leti';}return result;}}var sl=moment.defineLocale('sl',{months:'januar_februar_marec_april_maj_junij_julij_avgust_september_oktober_november_december'.split('_'),monthsShort:'jan._feb._mar._apr._maj._jun._jul._avg._sep._okt._nov._dec.'.split('_'),monthsParseExact:true,weekdays:'nedelja_ponedeljek_torek_sreda_četrtek_petek_sobota'.split('_'),weekdaysShort:'ned._pon._tor._sre._čet._pet._sob.'.split('_'),weekdaysMin:'ne_po_to_sr_če_pe_so'.split('_'),weekdaysParseExact:true,longDateFormat:{LT:'H:mm',LTS:'H:mm:ss',L:'DD.MM.YYYY',LL:'D. MMMM YYYY',LLL:'D. MMMM YYYY H:mm',LLLL:'dddd, D. MMMM YYYY H:mm'},calendar:{sameDay:'[danes ob] LT',nextDay:'[jutri ob] LT',nextWeek:function nextWeek(){switch(this.day()){case 0:return'[v] [nedeljo] [ob] LT';case 3:return'[v] [sredo] [ob] LT';case 6:return'[v] [soboto] [ob] LT';case 1:case 2:case 4:case 5:return'[v] dddd [ob] LT';}},lastDay:'[včeraj ob] LT',lastWeek:function lastWeek(){switch(this.day()){case 0:return'[prejšnjo] [nedeljo] [ob] LT';case 3:return'[prejšnjo] [sredo] [ob] LT';case 6:return'[prejšnjo] [soboto] [ob] LT';case 1:case 2:case 4:case 5:return'[prejšnji] dddd [ob] LT';}},sameElse:'L'},relativeTime:{future:'čez %s',past:'pred %s',s:processRelativeTime,ss:processRelativeTime,m:processRelativeTime,mm:processRelativeTime,h:processRelativeTime,hh:processRelativeTime,d:processRelativeTime,dd:processRelativeTime,M:processRelativeTime,MM:processRelativeTime,y:processRelativeTime,yy:processRelativeTime},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:'%d.',week:{dow:1,// Monday is the first day of the week.
doy:7// The week that contains Jan 7th is the first week of the year.
}});return sl;});/***/},/* 123 *//***/function(module,exports,__webpack_require__){//! moment.js locale configuration
;(function(global,factory){true?factory(__webpack_require__(0)):typeof define==='function'&&define.amd?define(['../moment'],factory):factory(global.moment);})(this,function(moment){'use strict';var sq=moment.defineLocale('sq',{months:'Janar_Shkurt_Mars_Prill_Maj_Qershor_Korrik_Gusht_Shtator_Tetor_Nëntor_Dhjetor'.split('_'),monthsShort:'Jan_Shk_Mar_Pri_Maj_Qer_Kor_Gus_Sht_Tet_Nën_Dhj'.split('_'),weekdays:'E Diel_E Hënë_E Martë_E Mërkurë_E Enjte_E Premte_E Shtunë'.split('_'),weekdaysShort:'Die_Hën_Mar_Mër_Enj_Pre_Sht'.split('_'),weekdaysMin:'D_H_Ma_Më_E_P_Sh'.split('_'),weekdaysParseExact:true,meridiemParse:/PD|MD/,isPM:function isPM(input){return input.charAt(0)==='M';},meridiem:function meridiem(hours,minutes,isLower){return hours<12?'PD':'MD';},longDateFormat:{LT:'HH:mm',LTS:'HH:mm:ss',L:'DD/MM/YYYY',LL:'D MMMM YYYY',LLL:'D MMMM YYYY HH:mm',LLLL:'dddd, D MMMM YYYY HH:mm'},calendar:{sameDay:'[Sot në] LT',nextDay:'[Nesër në] LT',nextWeek:'dddd [në] LT',lastDay:'[Dje në] LT',lastWeek:'dddd [e kaluar në] LT',sameElse:'L'},relativeTime:{future:'në %s',past:'%s më parë',s:'disa sekonda',ss:'%d sekonda',m:'një minutë',mm:'%d minuta',h:'një orë',hh:'%d orë',d:'një ditë',dd:'%d ditë',M:'një muaj',MM:'%d muaj',y:'një vit',yy:'%d vite'},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:'%d.',week:{dow:1,// Monday is the first day of the week.
doy:4// The week that contains Jan 4th is the first week of the year.
}});return sq;});/***/},/* 124 *//***/function(module,exports,__webpack_require__){//! moment.js locale configuration
;(function(global,factory){true?factory(__webpack_require__(0)):typeof define==='function'&&define.amd?define(['../moment'],factory):factory(global.moment);})(this,function(moment){'use strict';var translator={words:{//Different grammatical cases
ss:['sekunda','sekunde','sekundi'],m:['jedan minut','jedne minute'],mm:['minut','minute','minuta'],h:['jedan sat','jednog sata'],hh:['sat','sata','sati'],dd:['dan','dana','dana'],MM:['mesec','meseca','meseci'],yy:['godina','godine','godina']},correctGrammaticalCase:function correctGrammaticalCase(number,wordKey){return number===1?wordKey[0]:number>=2&&number<=4?wordKey[1]:wordKey[2];},translate:function translate(number,withoutSuffix,key){var wordKey=translator.words[key];if(key.length===1){return withoutSuffix?wordKey[0]:wordKey[1];}else{return number+' '+translator.correctGrammaticalCase(number,wordKey);}}};var sr=moment.defineLocale('sr',{months:'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split('_'),monthsShort:'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split('_'),monthsParseExact:true,weekdays:'nedelja_ponedeljak_utorak_sreda_četvrtak_petak_subota'.split('_'),weekdaysShort:'ned._pon._uto._sre._čet._pet._sub.'.split('_'),weekdaysMin:'ne_po_ut_sr_če_pe_su'.split('_'),weekdaysParseExact:true,longDateFormat:{LT:'H:mm',LTS:'H:mm:ss',L:'DD.MM.YYYY',LL:'D. MMMM YYYY',LLL:'D. MMMM YYYY H:mm',LLLL:'dddd, D. MMMM YYYY H:mm'},calendar:{sameDay:'[danas u] LT',nextDay:'[sutra u] LT',nextWeek:function nextWeek(){switch(this.day()){case 0:return'[u] [nedelju] [u] LT';case 3:return'[u] [sredu] [u] LT';case 6:return'[u] [subotu] [u] LT';case 1:case 2:case 4:case 5:return'[u] dddd [u] LT';}},lastDay:'[juče u] LT',lastWeek:function lastWeek(){var lastWeekDays=['[prošle] [nedelje] [u] LT','[prošlog] [ponedeljka] [u] LT','[prošlog] [utorka] [u] LT','[prošle] [srede] [u] LT','[prošlog] [četvrtka] [u] LT','[prošlog] [petka] [u] LT','[prošle] [subote] [u] LT'];return lastWeekDays[this.day()];},sameElse:'L'},relativeTime:{future:'za %s',past:'pre %s',s:'nekoliko sekundi',ss:translator.translate,m:translator.translate,mm:translator.translate,h:translator.translate,hh:translator.translate,d:'dan',dd:translator.translate,M:'mesec',MM:translator.translate,y:'godinu',yy:translator.translate},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:'%d.',week:{dow:1,// Monday is the first day of the week.
doy:7// The week that contains Jan 7th is the first week of the year.
}});return sr;});/***/},/* 125 *//***/function(module,exports,__webpack_require__){//! moment.js locale configuration
;(function(global,factory){true?factory(__webpack_require__(0)):typeof define==='function'&&define.amd?define(['../moment'],factory):factory(global.moment);})(this,function(moment){'use strict';var translator={words:{//Different grammatical cases
ss:['секунда','секунде','секунди'],m:['један минут','једне минуте'],mm:['минут','минуте','минута'],h:['један сат','једног сата'],hh:['сат','сата','сати'],dd:['дан','дана','дана'],MM:['месец','месеца','месеци'],yy:['година','године','година']},correctGrammaticalCase:function correctGrammaticalCase(number,wordKey){return number===1?wordKey[0]:number>=2&&number<=4?wordKey[1]:wordKey[2];},translate:function translate(number,withoutSuffix,key){var wordKey=translator.words[key];if(key.length===1){return withoutSuffix?wordKey[0]:wordKey[1];}else{return number+' '+translator.correctGrammaticalCase(number,wordKey);}}};var srCyrl=moment.defineLocale('sr-cyrl',{months:'јануар_фебруар_март_април_мај_јун_јул_август_септембар_октобар_новембар_децембар'.split('_'),monthsShort:'јан._феб._мар._апр._мај_јун_јул_авг._сеп._окт._нов._дец.'.split('_'),monthsParseExact:true,weekdays:'недеља_понедељак_уторак_среда_четвртак_петак_субота'.split('_'),weekdaysShort:'нед._пон._уто._сре._чет._пет._суб.'.split('_'),weekdaysMin:'не_по_ут_ср_че_пе_су'.split('_'),weekdaysParseExact:true,longDateFormat:{LT:'H:mm',LTS:'H:mm:ss',L:'DD.MM.YYYY',LL:'D. MMMM YYYY',LLL:'D. MMMM YYYY H:mm',LLLL:'dddd, D. MMMM YYYY H:mm'},calendar:{sameDay:'[данас у] LT',nextDay:'[сутра у] LT',nextWeek:function nextWeek(){switch(this.day()){case 0:return'[у] [недељу] [у] LT';case 3:return'[у] [среду] [у] LT';case 6:return'[у] [суботу] [у] LT';case 1:case 2:case 4:case 5:return'[у] dddd [у] LT';}},lastDay:'[јуче у] LT',lastWeek:function lastWeek(){var lastWeekDays=['[прошле] [недеље] [у] LT','[прошлог] [понедељка] [у] LT','[прошлог] [уторка] [у] LT','[прошле] [среде] [у] LT','[прошлог] [четвртка] [у] LT','[прошлог] [петка] [у] LT','[прошле] [суботе] [у] LT'];return lastWeekDays[this.day()];},sameElse:'L'},relativeTime:{future:'за %s',past:'пре %s',s:'неколико секунди',ss:translator.translate,m:translator.translate,mm:translator.translate,h:translator.translate,hh:translator.translate,d:'дан',dd:translator.translate,M:'месец',MM:translator.translate,y:'годину',yy:translator.translate},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:'%d.',week:{dow:1,// Monday is the first day of the week.
doy:7// The week that contains Jan 7th is the first week of the year.
}});return srCyrl;});/***/},/* 126 *//***/function(module,exports,__webpack_require__){//! moment.js locale configuration
;(function(global,factory){true?factory(__webpack_require__(0)):typeof define==='function'&&define.amd?define(['../moment'],factory):factory(global.moment);})(this,function(moment){'use strict';var ss=moment.defineLocale('ss',{months:"Bhimbidvwane_Indlovana_Indlov'lenkhulu_Mabasa_Inkhwekhweti_Inhlaba_Kholwane_Ingci_Inyoni_Imphala_Lweti_Ingongoni".split('_'),monthsShort:'Bhi_Ina_Inu_Mab_Ink_Inh_Kho_Igc_Iny_Imp_Lwe_Igo'.split('_'),weekdays:'Lisontfo_Umsombuluko_Lesibili_Lesitsatfu_Lesine_Lesihlanu_Umgcibelo'.split('_'),weekdaysShort:'Lis_Umb_Lsb_Les_Lsi_Lsh_Umg'.split('_'),weekdaysMin:'Li_Us_Lb_Lt_Ls_Lh_Ug'.split('_'),weekdaysParseExact:true,longDateFormat:{LT:'h:mm A',LTS:'h:mm:ss A',L:'DD/MM/YYYY',LL:'D MMMM YYYY',LLL:'D MMMM YYYY h:mm A',LLLL:'dddd, D MMMM YYYY h:mm A'},calendar:{sameDay:'[Namuhla nga] LT',nextDay:'[Kusasa nga] LT',nextWeek:'dddd [nga] LT',lastDay:'[Itolo nga] LT',lastWeek:'dddd [leliphelile] [nga] LT',sameElse:'L'},relativeTime:{future:'nga %s',past:'wenteka nga %s',s:'emizuzwana lomcane',ss:'%d mzuzwana',m:'umzuzu',mm:'%d emizuzu',h:'lihora',hh:'%d emahora',d:'lilanga',dd:'%d emalanga',M:'inyanga',MM:'%d tinyanga',y:'umnyaka',yy:'%d iminyaka'},meridiemParse:/ekuseni|emini|entsambama|ebusuku/,meridiem:function meridiem(hours,minutes,isLower){if(hours<11){return'ekuseni';}else if(hours<15){return'emini';}else if(hours<19){return'entsambama';}else{return'ebusuku';}},meridiemHour:function meridiemHour(hour,meridiem){if(hour===12){hour=0;}if(meridiem==='ekuseni'){return hour;}else if(meridiem==='emini'){return hour>=11?hour:hour+12;}else if(meridiem==='entsambama'||meridiem==='ebusuku'){if(hour===0){return 0;}return hour+12;}},dayOfMonthOrdinalParse:/\d{1,2}/,ordinal:'%d',week:{dow:1,// Monday is the first day of the week.
doy:4// The week that contains Jan 4th is the first week of the year.
}});return ss;});/***/},/* 127 *//***/function(module,exports,__webpack_require__){//! moment.js locale configuration
;(function(global,factory){true?factory(__webpack_require__(0)):typeof define==='function'&&define.amd?define(['../moment'],factory):factory(global.moment);})(this,function(moment){'use strict';var sv=moment.defineLocale('sv',{months:'januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december'.split('_'),monthsShort:'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'),weekdays:'söndag_måndag_tisdag_onsdag_torsdag_fredag_lördag'.split('_'),weekdaysShort:'sön_mån_tis_ons_tor_fre_lör'.split('_'),weekdaysMin:'sö_må_ti_on_to_fr_lö'.split('_'),longDateFormat:{LT:'HH:mm',LTS:'HH:mm:ss',L:'YYYY-MM-DD',LL:'D MMMM YYYY',LLL:'D MMMM YYYY [kl.] HH:mm',LLLL:'dddd D MMMM YYYY [kl.] HH:mm',lll:'D MMM YYYY HH:mm',llll:'ddd D MMM YYYY HH:mm'},calendar:{sameDay:'[Idag] LT',nextDay:'[Imorgon] LT',lastDay:'[Igår] LT',nextWeek:'[På] dddd LT',lastWeek:'[I] dddd[s] LT',sameElse:'L'},relativeTime:{future:'om %s',past:'för %s sedan',s:'några sekunder',ss:'%d sekunder',m:'en minut',mm:'%d minuter',h:'en timme',hh:'%d timmar',d:'en dag',dd:'%d dagar',M:'en månad',MM:'%d månader',y:'ett år',yy:'%d år'},dayOfMonthOrdinalParse:/\d{1,2}(e|a)/,ordinal:function ordinal(number){var b=number%10,output=~~(number%100/10)===1?'e':b===1?'a':b===2?'a':b===3?'e':'e';return number+output;},week:{dow:1,// Monday is the first day of the week.
doy:4// The week that contains Jan 4th is the first week of the year.
}});return sv;});/***/},/* 128 *//***/function(module,exports,__webpack_require__){//! moment.js locale configuration
;(function(global,factory){true?factory(__webpack_require__(0)):typeof define==='function'&&define.amd?define(['../moment'],factory):factory(global.moment);})(this,function(moment){'use strict';var sw=moment.defineLocale('sw',{months:'Januari_Februari_Machi_Aprili_Mei_Juni_Julai_Agosti_Septemba_Oktoba_Novemba_Desemba'.split('_'),monthsShort:'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ago_Sep_Okt_Nov_Des'.split('_'),weekdays:'Jumapili_Jumatatu_Jumanne_Jumatano_Alhamisi_Ijumaa_Jumamosi'.split('_'),weekdaysShort:'Jpl_Jtat_Jnne_Jtan_Alh_Ijm_Jmos'.split('_'),weekdaysMin:'J2_J3_J4_J5_Al_Ij_J1'.split('_'),weekdaysParseExact:true,longDateFormat:{LT:'HH:mm',LTS:'HH:mm:ss',L:'DD.MM.YYYY',LL:'D MMMM YYYY',LLL:'D MMMM YYYY HH:mm',LLLL:'dddd, D MMMM YYYY HH:mm'},calendar:{sameDay:'[leo saa] LT',nextDay:'[kesho saa] LT',nextWeek:'[wiki ijayo] dddd [saat] LT',lastDay:'[jana] LT',lastWeek:'[wiki iliyopita] dddd [saat] LT',sameElse:'L'},relativeTime:{future:'%s baadaye',past:'tokea %s',s:'hivi punde',ss:'sekunde %d',m:'dakika moja',mm:'dakika %d',h:'saa limoja',hh:'masaa %d',d:'siku moja',dd:'masiku %d',M:'mwezi mmoja',MM:'miezi %d',y:'mwaka mmoja',yy:'miaka %d'},week:{dow:1,// Monday is the first day of the week.
doy:7// The week that contains Jan 7th is the first week of the year.
}});return sw;});/***/},/* 129 *//***/function(module,exports,__webpack_require__){//! moment.js locale configuration
;(function(global,factory){true?factory(__webpack_require__(0)):typeof define==='function'&&define.amd?define(['../moment'],factory):factory(global.moment);})(this,function(moment){'use strict';var symbolMap={'1':'௧','2':'௨','3':'௩','4':'௪','5':'௫','6':'௬','7':'௭','8':'௮','9':'௯','0':'௦'},numberMap={'௧':'1','௨':'2','௩':'3','௪':'4','௫':'5','௬':'6','௭':'7','௮':'8','௯':'9','௦':'0'};var ta=moment.defineLocale('ta',{months:'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split('_'),monthsShort:'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split('_'),weekdays:'ஞாயிற்றுக்கிழமை_திங்கட்கிழமை_செவ்வாய்கிழமை_புதன்கிழமை_வியாழக்கிழமை_வெள்ளிக்கிழமை_சனிக்கிழமை'.split('_'),weekdaysShort:'ஞாயிறு_திங்கள்_செவ்வாய்_புதன்_வியாழன்_வெள்ளி_சனி'.split('_'),weekdaysMin:'ஞா_தி_செ_பு_வி_வெ_ச'.split('_'),longDateFormat:{LT:'HH:mm',LTS:'HH:mm:ss',L:'DD/MM/YYYY',LL:'D MMMM YYYY',LLL:'D MMMM YYYY, HH:mm',LLLL:'dddd, D MMMM YYYY, HH:mm'},calendar:{sameDay:'[இன்று] LT',nextDay:'[நாளை] LT',nextWeek:'dddd, LT',lastDay:'[நேற்று] LT',lastWeek:'[கடந்த வாரம்] dddd, LT',sameElse:'L'},relativeTime:{future:'%s இல்',past:'%s முன்',s:'ஒரு சில விநாடிகள்',ss:'%d விநாடிகள்',m:'ஒரு நிமிடம்',mm:'%d நிமிடங்கள்',h:'ஒரு மணி நேரம்',hh:'%d மணி நேரம்',d:'ஒரு நாள்',dd:'%d நாட்கள்',M:'ஒரு மாதம்',MM:'%d மாதங்கள்',y:'ஒரு வருடம்',yy:'%d ஆண்டுகள்'},dayOfMonthOrdinalParse:/\d{1,2}வது/,ordinal:function ordinal(number){return number+'வது';},preparse:function preparse(string){return string.replace(/[௧௨௩௪௫௬௭௮௯௦]/g,function(match){return numberMap[match];});},postformat:function postformat(string){return string.replace(/\d/g,function(match){return symbolMap[match];});},// refer http://ta.wikipedia.org/s/1er1
meridiemParse:/யாமம்|வைகறை|காலை|நண்பகல்|எற்பாடு|மாலை/,meridiem:function meridiem(hour,minute,isLower){if(hour<2){return' யாமம்';}else if(hour<6){return' வைகறை';// வைகறை
}else if(hour<10){return' காலை';// காலை
}else if(hour<14){return' நண்பகல்';// நண்பகல்
}else if(hour<18){return' எற்பாடு';// எற்பாடு
}else if(hour<22){return' மாலை';// மாலை
}else{return' யாமம்';}},meridiemHour:function meridiemHour(hour,meridiem){if(hour===12){hour=0;}if(meridiem==='யாமம்'){return hour<2?hour:hour+12;}else if(meridiem==='வைகறை'||meridiem==='காலை'){return hour;}else if(meridiem==='நண்பகல்'){return hour>=10?hour:hour+12;}else{return hour+12;}},week:{dow:0,// Sunday is the first day of the week.
doy:6// The week that contains Jan 6th is the first week of the year.
}});return ta;});/***/},/* 130 *//***/function(module,exports,__webpack_require__){//! moment.js locale configuration
;(function(global,factory){true?factory(__webpack_require__(0)):typeof define==='function'&&define.amd?define(['../moment'],factory):factory(global.moment);})(this,function(moment){'use strict';var te=moment.defineLocale('te',{months:'జనవరి_ఫిబ్రవరి_మార్చి_ఏప్రిల్_మే_జూన్_జూలై_ఆగస్టు_సెప్టెంబర్_అక్టోబర్_నవంబర్_డిసెంబర్'.split('_'),monthsShort:'జన._ఫిబ్ర._మార్చి_ఏప్రి._మే_జూన్_జూలై_ఆగ._సెప్._అక్టో._నవ._డిసె.'.split('_'),monthsParseExact:true,weekdays:'ఆదివారం_సోమవారం_మంగళవారం_బుధవారం_గురువారం_శుక్రవారం_శనివారం'.split('_'),weekdaysShort:'ఆది_సోమ_మంగళ_బుధ_గురు_శుక్ర_శని'.split('_'),weekdaysMin:'ఆ_సో_మం_బు_గు_శు_శ'.split('_'),longDateFormat:{LT:'A h:mm',LTS:'A h:mm:ss',L:'DD/MM/YYYY',LL:'D MMMM YYYY',LLL:'D MMMM YYYY, A h:mm',LLLL:'dddd, D MMMM YYYY, A h:mm'},calendar:{sameDay:'[నేడు] LT',nextDay:'[రేపు] LT',nextWeek:'dddd, LT',lastDay:'[నిన్న] LT',lastWeek:'[గత] dddd, LT',sameElse:'L'},relativeTime:{future:'%s లో',past:'%s క్రితం',s:'కొన్ని క్షణాలు',ss:'%d సెకన్లు',m:'ఒక నిమిషం',mm:'%d నిమిషాలు',h:'ఒక గంట',hh:'%d గంటలు',d:'ఒక రోజు',dd:'%d రోజులు',M:'ఒక నెల',MM:'%d నెలలు',y:'ఒక సంవత్సరం',yy:'%d సంవత్సరాలు'},dayOfMonthOrdinalParse:/\d{1,2}వ/,ordinal:'%dవ',meridiemParse:/రాత్రి|ఉదయం|మధ్యాహ్నం|సాయంత్రం/,meridiemHour:function meridiemHour(hour,meridiem){if(hour===12){hour=0;}if(meridiem==='రాత్రి'){return hour<4?hour:hour+12;}else if(meridiem==='ఉదయం'){return hour;}else if(meridiem==='మధ్యాహ్నం'){return hour>=10?hour:hour+12;}else if(meridiem==='సాయంత్రం'){return hour+12;}},meridiem:function meridiem(hour,minute,isLower){if(hour<4){return'రాత్రి';}else if(hour<10){return'ఉదయం';}else if(hour<17){return'మధ్యాహ్నం';}else if(hour<20){return'సాయంత్రం';}else{return'రాత్రి';}},week:{dow:0,// Sunday is the first day of the week.
doy:6// The week that contains Jan 6th is the first week of the year.
}});return te;});/***/},/* 131 *//***/function(module,exports,__webpack_require__){//! moment.js locale configuration
;(function(global,factory){true?factory(__webpack_require__(0)):typeof define==='function'&&define.amd?define(['../moment'],factory):factory(global.moment);})(this,function(moment){'use strict';var tet=moment.defineLocale('tet',{months:'Janeiru_Fevereiru_Marsu_Abril_Maiu_Juñu_Jullu_Agustu_Setembru_Outubru_Novembru_Dezembru'.split('_'),monthsShort:'Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez'.split('_'),weekdays:'Domingu_Segunda_Tersa_Kuarta_Kinta_Sesta_Sabadu'.split('_'),weekdaysShort:'Dom_Seg_Ters_Kua_Kint_Sest_Sab'.split('_'),weekdaysMin:'Do_Seg_Te_Ku_Ki_Ses_Sa'.split('_'),longDateFormat:{LT:'HH:mm',LTS:'HH:mm:ss',L:'DD/MM/YYYY',LL:'D MMMM YYYY',LLL:'D MMMM YYYY HH:mm',LLLL:'dddd, D MMMM YYYY HH:mm'},calendar:{sameDay:'[Ohin iha] LT',nextDay:'[Aban iha] LT',nextWeek:'dddd [iha] LT',lastDay:'[Horiseik iha] LT',lastWeek:'dddd [semana kotuk] [iha] LT',sameElse:'L'},relativeTime:{future:'iha %s',past:'%s liuba',s:'minutu balun',ss:'minutu %d',m:'minutu ida',mm:'minutu %d',h:'oras ida',hh:'oras %d',d:'loron ida',dd:'loron %d',M:'fulan ida',MM:'fulan %d',y:'tinan ida',yy:'tinan %d'},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function ordinal(number){var b=number%10,output=~~(number%100/10)===1?'th':b===1?'st':b===2?'nd':b===3?'rd':'th';return number+output;},week:{dow:1,// Monday is the first day of the week.
doy:4// The week that contains Jan 4th is the first week of the year.
}});return tet;});/***/},/* 132 *//***/function(module,exports,__webpack_require__){//! moment.js locale configuration
;(function(global,factory){true?factory(__webpack_require__(0)):typeof define==='function'&&define.amd?define(['../moment'],factory):factory(global.moment);})(this,function(moment){'use strict';var suffixes={0:'-ум',1:'-ум',2:'-юм',3:'-юм',4:'-ум',5:'-ум',6:'-ум',7:'-ум',8:'-ум',9:'-ум',10:'-ум',12:'-ум',13:'-ум',20:'-ум',30:'-юм',40:'-ум',50:'-ум',60:'-ум',70:'-ум',80:'-ум',90:'-ум',100:'-ум'};var tg=moment.defineLocale('tg',{months:'январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр'.split('_'),monthsShort:'янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек'.split('_'),weekdays:'якшанбе_душанбе_сешанбе_чоршанбе_панҷшанбе_ҷумъа_шанбе'.split('_'),weekdaysShort:'яшб_дшб_сшб_чшб_пшб_ҷум_шнб'.split('_'),weekdaysMin:'яш_дш_сш_чш_пш_ҷм_шб'.split('_'),longDateFormat:{LT:'HH:mm',LTS:'HH:mm:ss',L:'DD/MM/YYYY',LL:'D MMMM YYYY',LLL:'D MMMM YYYY HH:mm',LLLL:'dddd, D MMMM YYYY HH:mm'},calendar:{sameDay:'[Имрӯз соати] LT',nextDay:'[Пагоҳ соати] LT',lastDay:'[Дирӯз соати] LT',nextWeek:'dddd[и] [ҳафтаи оянда соати] LT',lastWeek:'dddd[и] [ҳафтаи гузашта соати] LT',sameElse:'L'},relativeTime:{future:'баъди %s',past:'%s пеш',s:'якчанд сония',m:'як дақиқа',mm:'%d дақиқа',h:'як соат',hh:'%d соат',d:'як рӯз',dd:'%d рӯз',M:'як моҳ',MM:'%d моҳ',y:'як сол',yy:'%d сол'},meridiemParse:/шаб|субҳ|рӯз|бегоҳ/,meridiemHour:function meridiemHour(hour,meridiem){if(hour===12){hour=0;}if(meridiem==='шаб'){return hour<4?hour:hour+12;}else if(meridiem==='субҳ'){return hour;}else if(meridiem==='рӯз'){return hour>=11?hour:hour+12;}else if(meridiem==='бегоҳ'){return hour+12;}},meridiem:function meridiem(hour,minute,isLower){if(hour<4){return'шаб';}else if(hour<11){return'субҳ';}else if(hour<16){return'рӯз';}else if(hour<19){return'бегоҳ';}else{return'шаб';}},dayOfMonthOrdinalParse:/\d{1,2}-(ум|юм)/,ordinal:function ordinal(number){var a=number%10,b=number>=100?100:null;return number+(suffixes[number]||suffixes[a]||suffixes[b]);},week:{dow:1,// Monday is the first day of the week.
doy:7// The week that contains Jan 1th is the first week of the year.
}});return tg;});/***/},/* 133 *//***/function(module,exports,__webpack_require__){//! moment.js locale configuration
;(function(global,factory){true?factory(__webpack_require__(0)):typeof define==='function'&&define.amd?define(['../moment'],factory):factory(global.moment);})(this,function(moment){'use strict';var th=moment.defineLocale('th',{months:'มกราคม_กุมภาพันธ์_มีนาคม_เมษายน_พฤษภาคม_มิถุนายน_กรกฎาคม_สิงหาคม_กันยายน_ตุลาคม_พฤศจิกายน_ธันวาคม'.split('_'),monthsShort:'ม.ค._ก.พ._มี.ค._เม.ย._พ.ค._มิ.ย._ก.ค._ส.ค._ก.ย._ต.ค._พ.ย._ธ.ค.'.split('_'),monthsParseExact:true,weekdays:'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัสบดี_ศุกร์_เสาร์'.split('_'),weekdaysShort:'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัส_ศุกร์_เสาร์'.split('_'),// yes, three characters difference
weekdaysMin:'อา._จ._อ._พ._พฤ._ศ._ส.'.split('_'),weekdaysParseExact:true,longDateFormat:{LT:'H:mm',LTS:'H:mm:ss',L:'DD/MM/YYYY',LL:'D MMMM YYYY',LLL:'D MMMM YYYY เวลา H:mm',LLLL:'วันddddที่ D MMMM YYYY เวลา H:mm'},meridiemParse:/ก่อนเที่ยง|หลังเที่ยง/,isPM:function isPM(input){return input==='หลังเที่ยง';},meridiem:function meridiem(hour,minute,isLower){if(hour<12){return'ก่อนเที่ยง';}else{return'หลังเที่ยง';}},calendar:{sameDay:'[วันนี้ เวลา] LT',nextDay:'[พรุ่งนี้ เวลา] LT',nextWeek:'dddd[หน้า เวลา] LT',lastDay:'[เมื่อวานนี้ เวลา] LT',lastWeek:'[วัน]dddd[ที่แล้ว เวลา] LT',sameElse:'L'},relativeTime:{future:'อีก %s',past:'%sที่แล้ว',s:'ไม่กี่วินาที',ss:'%d วินาที',m:'1 นาที',mm:'%d นาที',h:'1 ชั่วโมง',hh:'%d ชั่วโมง',d:'1 วัน',dd:'%d วัน',M:'1 เดือน',MM:'%d เดือน',y:'1 ปี',yy:'%d ปี'}});return th;});/***/},/* 134 *//***/function(module,exports,__webpack_require__){//! moment.js locale configuration
;(function(global,factory){true?factory(__webpack_require__(0)):typeof define==='function'&&define.amd?define(['../moment'],factory):factory(global.moment);})(this,function(moment){'use strict';var tlPh=moment.defineLocale('tl-ph',{months:'Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre'.split('_'),monthsShort:'Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis'.split('_'),weekdays:'Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado'.split('_'),weekdaysShort:'Lin_Lun_Mar_Miy_Huw_Biy_Sab'.split('_'),weekdaysMin:'Li_Lu_Ma_Mi_Hu_Bi_Sab'.split('_'),longDateFormat:{LT:'HH:mm',LTS:'HH:mm:ss',L:'MM/D/YYYY',LL:'MMMM D, YYYY',LLL:'MMMM D, YYYY HH:mm',LLLL:'dddd, MMMM DD, YYYY HH:mm'},calendar:{sameDay:'LT [ngayong araw]',nextDay:'[Bukas ng] LT',nextWeek:'LT [sa susunod na] dddd',lastDay:'LT [kahapon]',lastWeek:'LT [noong nakaraang] dddd',sameElse:'L'},relativeTime:{future:'sa loob ng %s',past:'%s ang nakalipas',s:'ilang segundo',ss:'%d segundo',m:'isang minuto',mm:'%d minuto',h:'isang oras',hh:'%d oras',d:'isang araw',dd:'%d araw',M:'isang buwan',MM:'%d buwan',y:'isang taon',yy:'%d taon'},dayOfMonthOrdinalParse:/\d{1,2}/,ordinal:function ordinal(number){return number;},week:{dow:1,// Monday is the first day of the week.
doy:4// The week that contains Jan 4th is the first week of the year.
}});return tlPh;});/***/},/* 135 *//***/function(module,exports,__webpack_require__){//! moment.js locale configuration
;(function(global,factory){true?factory(__webpack_require__(0)):typeof define==='function'&&define.amd?define(['../moment'],factory):factory(global.moment);})(this,function(moment){'use strict';var numbersNouns='pagh_wa’_cha’_wej_loS_vagh_jav_Soch_chorgh_Hut'.split('_');function translateFuture(output){var time=output;time=output.indexOf('jaj')!==-1?time.slice(0,-3)+'leS':output.indexOf('jar')!==-1?time.slice(0,-3)+'waQ':output.indexOf('DIS')!==-1?time.slice(0,-3)+'nem':time+' pIq';return time;}function translatePast(output){var time=output;time=output.indexOf('jaj')!==-1?time.slice(0,-3)+'Hu’':output.indexOf('jar')!==-1?time.slice(0,-3)+'wen':output.indexOf('DIS')!==-1?time.slice(0,-3)+'ben':time+' ret';return time;}function translate(number,withoutSuffix,string,isFuture){var numberNoun=numberAsNoun(number);switch(string){case'ss':return numberNoun+' lup';case'mm':return numberNoun+' tup';case'hh':return numberNoun+' rep';case'dd':return numberNoun+' jaj';case'MM':return numberNoun+' jar';case'yy':return numberNoun+' DIS';}}function numberAsNoun(number){var hundred=Math.floor(number%1000/100),ten=Math.floor(number%100/10),one=number%10,word='';if(hundred>0){word+=numbersNouns[hundred]+'vatlh';}if(ten>0){word+=(word!==''?' ':'')+numbersNouns[ten]+'maH';}if(one>0){word+=(word!==''?' ':'')+numbersNouns[one];}return word===''?'pagh':word;}var tlh=moment.defineLocale('tlh',{months:'tera’ jar wa’_tera’ jar cha’_tera’ jar wej_tera’ jar loS_tera’ jar vagh_tera’ jar jav_tera’ jar Soch_tera’ jar chorgh_tera’ jar Hut_tera’ jar wa’maH_tera’ jar wa’maH wa’_tera’ jar wa’maH cha’'.split('_'),monthsShort:'jar wa’_jar cha’_jar wej_jar loS_jar vagh_jar jav_jar Soch_jar chorgh_jar Hut_jar wa’maH_jar wa’maH wa’_jar wa’maH cha’'.split('_'),monthsParseExact:true,weekdays:'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'),weekdaysShort:'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'),weekdaysMin:'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'),longDateFormat:{LT:'HH:mm',LTS:'HH:mm:ss',L:'DD.MM.YYYY',LL:'D MMMM YYYY',LLL:'D MMMM YYYY HH:mm',LLLL:'dddd, D MMMM YYYY HH:mm'},calendar:{sameDay:'[DaHjaj] LT',nextDay:'[wa’leS] LT',nextWeek:'LLL',lastDay:'[wa’Hu’] LT',lastWeek:'LLL',sameElse:'L'},relativeTime:{future:translateFuture,past:translatePast,s:'puS lup',ss:translate,m:'wa’ tup',mm:translate,h:'wa’ rep',hh:translate,d:'wa’ jaj',dd:translate,M:'wa’ jar',MM:translate,y:'wa’ DIS',yy:translate},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:'%d.',week:{dow:1,// Monday is the first day of the week.
doy:4// The week that contains Jan 4th is the first week of the year.
}});return tlh;});/***/},/* 136 *//***/function(module,exports,__webpack_require__){;(function(global,factory){true?factory(__webpack_require__(0)):typeof define==='function'&&define.amd?define(['../moment'],factory):factory(global.moment);})(this,function(moment){'use strict';var suffixes={1:'\'inci',5:'\'inci',8:'\'inci',70:'\'inci',80:'\'inci',2:'\'nci',7:'\'nci',20:'\'nci',50:'\'nci',3:'\'üncü',4:'\'üncü',100:'\'üncü',6:'\'ncı',9:'\'uncu',10:'\'uncu',30:'\'uncu',60:'\'ıncı',90:'\'ıncı'};var tr=moment.defineLocale('tr',{months:'Ocak_Şubat_Mart_Nisan_Mayıs_Haziran_Temmuz_Ağustos_Eylül_Ekim_Kasım_Aralık'.split('_'),monthsShort:'Oca_Şub_Mar_Nis_May_Haz_Tem_Ağu_Eyl_Eki_Kas_Ara'.split('_'),weekdays:'Pazar_Pazartesi_Salı_Çarşamba_Perşembe_Cuma_Cumartesi'.split('_'),weekdaysShort:'Paz_Pts_Sal_Çar_Per_Cum_Cts'.split('_'),weekdaysMin:'Pz_Pt_Sa_Ça_Pe_Cu_Ct'.split('_'),longDateFormat:{LT:'HH:mm',LTS:'HH:mm:ss',L:'DD.MM.YYYY',LL:'D MMMM YYYY',LLL:'D MMMM YYYY HH:mm',LLLL:'dddd, D MMMM YYYY HH:mm'},calendar:{sameDay:'[bugün saat] LT',nextDay:'[yarın saat] LT',nextWeek:'[gelecek] dddd [saat] LT',lastDay:'[dün] LT',lastWeek:'[geçen] dddd [saat] LT',sameElse:'L'},relativeTime:{future:'%s sonra',past:'%s önce',s:'birkaç saniye',ss:'%d saniye',m:'bir dakika',mm:'%d dakika',h:'bir saat',hh:'%d saat',d:'bir gün',dd:'%d gün',M:'bir ay',MM:'%d ay',y:'bir yıl',yy:'%d yıl'},ordinal:function ordinal(number,period){switch(period){case'd':case'D':case'Do':case'DD':return number;default:if(number===0){// special case for zero
return number+'\'ıncı';}var a=number%10,b=number%100-a,c=number>=100?100:null;return number+(suffixes[a]||suffixes[b]||suffixes[c]);}},week:{dow:1,// Monday is the first day of the week.
doy:7// The week that contains Jan 7th is the first week of the year.
}});return tr;});/***/},/* 137 *//***/function(module,exports,__webpack_require__){//! moment.js locale configuration
;(function(global,factory){true?factory(__webpack_require__(0)):typeof define==='function'&&define.amd?define(['../moment'],factory):factory(global.moment);})(this,function(moment){'use strict';// After the year there should be a slash and the amount of years since December 26, 1979 in Roman numerals.
// This is currently too difficult (maybe even impossible) to add.
var tzl=moment.defineLocale('tzl',{months:'Januar_Fevraglh_Març_Avrïu_Mai_Gün_Julia_Guscht_Setemvar_Listopäts_Noemvar_Zecemvar'.split('_'),monthsShort:'Jan_Fev_Mar_Avr_Mai_Gün_Jul_Gus_Set_Lis_Noe_Zec'.split('_'),weekdays:'Súladi_Lúneçi_Maitzi_Márcuri_Xhúadi_Viénerçi_Sáturi'.split('_'),weekdaysShort:'Súl_Lún_Mai_Már_Xhú_Vié_Sát'.split('_'),weekdaysMin:'Sú_Lú_Ma_Má_Xh_Vi_Sá'.split('_'),longDateFormat:{LT:'HH.mm',LTS:'HH.mm.ss',L:'DD.MM.YYYY',LL:'D. MMMM [dallas] YYYY',LLL:'D. MMMM [dallas] YYYY HH.mm',LLLL:'dddd, [li] D. MMMM [dallas] YYYY HH.mm'},meridiemParse:/d\'o|d\'a/i,isPM:function isPM(input){return'd\'o'===input.toLowerCase();},meridiem:function meridiem(hours,minutes,isLower){if(hours>11){return isLower?'d\'o':'D\'O';}else{return isLower?'d\'a':'D\'A';}},calendar:{sameDay:'[oxhi à] LT',nextDay:'[demà à] LT',nextWeek:'dddd [à] LT',lastDay:'[ieiri à] LT',lastWeek:'[sür el] dddd [lasteu à] LT',sameElse:'L'},relativeTime:{future:'osprei %s',past:'ja%s',s:processRelativeTime,ss:processRelativeTime,m:processRelativeTime,mm:processRelativeTime,h:processRelativeTime,hh:processRelativeTime,d:processRelativeTime,dd:processRelativeTime,M:processRelativeTime,MM:processRelativeTime,y:processRelativeTime,yy:processRelativeTime},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:'%d.',week:{dow:1,// Monday is the first day of the week.
doy:4// The week that contains Jan 4th is the first week of the year.
}});function processRelativeTime(number,withoutSuffix,key,isFuture){var format={'s':['viensas secunds','\'iensas secunds'],'ss':[number+' secunds',''+number+' secunds'],'m':['\'n míut','\'iens míut'],'mm':[number+' míuts',''+number+' míuts'],'h':['\'n þora','\'iensa þora'],'hh':[number+' þoras',''+number+' þoras'],'d':['\'n ziua','\'iensa ziua'],'dd':[number+' ziuas',''+number+' ziuas'],'M':['\'n mes','\'iens mes'],'MM':[number+' mesen',''+number+' mesen'],'y':['\'n ar','\'iens ar'],'yy':[number+' ars',''+number+' ars']};return isFuture?format[key][0]:withoutSuffix?format[key][0]:format[key][1];}return tzl;});/***/},/* 138 *//***/function(module,exports,__webpack_require__){//! moment.js locale configuration
;(function(global,factory){true?factory(__webpack_require__(0)):typeof define==='function'&&define.amd?define(['../moment'],factory):factory(global.moment);})(this,function(moment){'use strict';var tzm=moment.defineLocale('tzm',{months:'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split('_'),monthsShort:'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split('_'),weekdays:'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),weekdaysShort:'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),weekdaysMin:'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),longDateFormat:{LT:'HH:mm',LTS:'HH:mm:ss',L:'DD/MM/YYYY',LL:'D MMMM YYYY',LLL:'D MMMM YYYY HH:mm',LLLL:'dddd D MMMM YYYY HH:mm'},calendar:{sameDay:'[ⴰⵙⴷⵅ ⴴ] LT',nextDay:'[ⴰⵙⴽⴰ ⴴ] LT',nextWeek:'dddd [ⴴ] LT',lastDay:'[ⴰⵚⴰⵏⵜ ⴴ] LT',lastWeek:'dddd [ⴴ] LT',sameElse:'L'},relativeTime:{future:'ⴷⴰⴷⵅ ⵙ ⵢⴰⵏ %s',past:'ⵢⴰⵏ %s',s:'ⵉⵎⵉⴽ',ss:'%d ⵉⵎⵉⴽ',m:'ⵎⵉⵏⵓⴺ',mm:'%d ⵎⵉⵏⵓⴺ',h:'ⵙⴰⵄⴰ',hh:'%d ⵜⴰⵙⵙⴰⵄⵉⵏ',d:'ⴰⵙⵙ',dd:'%d oⵙⵙⴰⵏ',M:'ⴰⵢoⵓⵔ',MM:'%d ⵉⵢⵢⵉⵔⵏ',y:'ⴰⵙⴳⴰⵙ',yy:'%d ⵉⵙⴳⴰⵙⵏ'},week:{dow:6,// Saturday is the first day of the week.
doy:12// The week that contains Jan 12th is the first week of the year.
}});return tzm;});/***/},/* 139 *//***/function(module,exports,__webpack_require__){//! moment.js locale configuration
;(function(global,factory){true?factory(__webpack_require__(0)):typeof define==='function'&&define.amd?define(['../moment'],factory):factory(global.moment);})(this,function(moment){'use strict';var tzmLatn=moment.defineLocale('tzm-latn',{months:'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split('_'),monthsShort:'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split('_'),weekdays:'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),weekdaysShort:'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),weekdaysMin:'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),longDateFormat:{LT:'HH:mm',LTS:'HH:mm:ss',L:'DD/MM/YYYY',LL:'D MMMM YYYY',LLL:'D MMMM YYYY HH:mm',LLLL:'dddd D MMMM YYYY HH:mm'},calendar:{sameDay:'[asdkh g] LT',nextDay:'[aska g] LT',nextWeek:'dddd [g] LT',lastDay:'[assant g] LT',lastWeek:'dddd [g] LT',sameElse:'L'},relativeTime:{future:'dadkh s yan %s',past:'yan %s',s:'imik',ss:'%d imik',m:'minuḍ',mm:'%d minuḍ',h:'saɛa',hh:'%d tassaɛin',d:'ass',dd:'%d ossan',M:'ayowr',MM:'%d iyyirn',y:'asgas',yy:'%d isgasn'},week:{dow:6,// Saturday is the first day of the week.
doy:12// The week that contains Jan 12th is the first week of the year.
}});return tzmLatn;});/***/},/* 140 *//***/function(module,exports,__webpack_require__){//! moment.js language configuration
;(function(global,factory){true?factory(__webpack_require__(0)):typeof define==='function'&&define.amd?define(['../moment'],factory):factory(global.moment);})(this,function(moment){'use strict';var ugCn=moment.defineLocale('ug-cn',{months:'يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر'.split('_'),monthsShort:'يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر'.split('_'),weekdays:'يەكشەنبە_دۈشەنبە_سەيشەنبە_چارشەنبە_پەيشەنبە_جۈمە_شەنبە'.split('_'),weekdaysShort:'يە_دۈ_سە_چا_پە_جۈ_شە'.split('_'),weekdaysMin:'يە_دۈ_سە_چا_پە_جۈ_شە'.split('_'),longDateFormat:{LT:'HH:mm',LTS:'HH:mm:ss',L:'YYYY-MM-DD',LL:'YYYY-يىلىM-ئاينىڭD-كۈنى',LLL:'YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm',LLLL:'dddd، YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm'},meridiemParse:/يېرىم كېچە|سەھەر|چۈشتىن بۇرۇن|چۈش|چۈشتىن كېيىن|كەچ/,meridiemHour:function meridiemHour(hour,meridiem){if(hour===12){hour=0;}if(meridiem==='يېرىم كېچە'||meridiem==='سەھەر'||meridiem==='چۈشتىن بۇرۇن'){return hour;}else if(meridiem==='چۈشتىن كېيىن'||meridiem==='كەچ'){return hour+12;}else{return hour>=11?hour:hour+12;}},meridiem:function meridiem(hour,minute,isLower){var hm=hour*100+minute;if(hm<600){return'يېرىم كېچە';}else if(hm<900){return'سەھەر';}else if(hm<1130){return'چۈشتىن بۇرۇن';}else if(hm<1230){return'چۈش';}else if(hm<1800){return'چۈشتىن كېيىن';}else{return'كەچ';}},calendar:{sameDay:'[بۈگۈن سائەت] LT',nextDay:'[ئەتە سائەت] LT',nextWeek:'[كېلەركى] dddd [سائەت] LT',lastDay:'[تۆنۈگۈن] LT',lastWeek:'[ئالدىنقى] dddd [سائەت] LT',sameElse:'L'},relativeTime:{future:'%s كېيىن',past:'%s بۇرۇن',s:'نەچچە سېكونت',ss:'%d سېكونت',m:'بىر مىنۇت',mm:'%d مىنۇت',h:'بىر سائەت',hh:'%d سائەت',d:'بىر كۈن',dd:'%d كۈن',M:'بىر ئاي',MM:'%d ئاي',y:'بىر يىل',yy:'%d يىل'},dayOfMonthOrdinalParse:/\d{1,2}(-كۈنى|-ئاي|-ھەپتە)/,ordinal:function ordinal(number,period){switch(period){case'd':case'D':case'DDD':return number+'-كۈنى';case'w':case'W':return number+'-ھەپتە';default:return number;}},preparse:function preparse(string){return string.replace(/،/g,',');},postformat:function postformat(string){return string.replace(/,/g,'،');},week:{// GB/T 7408-1994《数据元和交换格式·信息交换·日期和时间表示法》与ISO 8601:1988等效
dow:1,// Monday is the first day of the week.
doy:7// The week that contains Jan 1st is the first week of the year.
}});return ugCn;});/***/},/* 141 *//***/function(module,exports,__webpack_require__){//! moment.js locale configuration
;(function(global,factory){true?factory(__webpack_require__(0)):typeof define==='function'&&define.amd?define(['../moment'],factory):factory(global.moment);})(this,function(moment){'use strict';function plural(word,num){var forms=word.split('_');return num%10===1&&num%100!==11?forms[0]:num%10>=2&&num%10<=4&&(num%100<10||num%100>=20)?forms[1]:forms[2];}function relativeTimeWithPlural(number,withoutSuffix,key){var format={'ss':withoutSuffix?'секунда_секунди_секунд':'секунду_секунди_секунд','mm':withoutSuffix?'хвилина_хвилини_хвилин':'хвилину_хвилини_хвилин','hh':withoutSuffix?'година_години_годин':'годину_години_годин','dd':'день_дні_днів','MM':'місяць_місяці_місяців','yy':'рік_роки_років'};if(key==='m'){return withoutSuffix?'хвилина':'хвилину';}else if(key==='h'){return withoutSuffix?'година':'годину';}else{return number+' '+plural(format[key],+number);}}function weekdaysCaseReplace(m,format){var weekdays={'nominative':'неділя_понеділок_вівторок_середа_четвер_п’ятниця_субота'.split('_'),'accusative':'неділю_понеділок_вівторок_середу_четвер_п’ятницю_суботу'.split('_'),'genitive':'неділі_понеділка_вівторка_середи_четверга_п’ятниці_суботи'.split('_')};if(!m){return weekdays['nominative'];}var nounCase=/(\[[ВвУу]\]) ?dddd/.test(format)?'accusative':/\[?(?:минулої|наступної)? ?\] ?dddd/.test(format)?'genitive':'nominative';return weekdays[nounCase][m.day()];}function processHoursFunction(str){return function(){return str+'о'+(this.hours()===11?'б':'')+'] LT';};}var uk=moment.defineLocale('uk',{months:{'format':'січня_лютого_березня_квітня_травня_червня_липня_серпня_вересня_жовтня_листопада_грудня'.split('_'),'standalone':'січень_лютий_березень_квітень_травень_червень_липень_серпень_вересень_жовтень_листопад_грудень'.split('_')},monthsShort:'січ_лют_бер_квіт_трав_черв_лип_серп_вер_жовт_лист_груд'.split('_'),weekdays:weekdaysCaseReplace,weekdaysShort:'нд_пн_вт_ср_чт_пт_сб'.split('_'),weekdaysMin:'нд_пн_вт_ср_чт_пт_сб'.split('_'),longDateFormat:{LT:'HH:mm',LTS:'HH:mm:ss',L:'DD.MM.YYYY',LL:'D MMMM YYYY р.',LLL:'D MMMM YYYY р., HH:mm',LLLL:'dddd, D MMMM YYYY р., HH:mm'},calendar:{sameDay:processHoursFunction('[Сьогодні '),nextDay:processHoursFunction('[Завтра '),lastDay:processHoursFunction('[Вчора '),nextWeek:processHoursFunction('[У] dddd ['),lastWeek:function lastWeek(){switch(this.day()){case 0:case 3:case 5:case 6:return processHoursFunction('[Минулої] dddd [').call(this);case 1:case 2:case 4:return processHoursFunction('[Минулого] dddd [').call(this);}},sameElse:'L'},relativeTime:{future:'за %s',past:'%s тому',s:'декілька секунд',ss:relativeTimeWithPlural,m:relativeTimeWithPlural,mm:relativeTimeWithPlural,h:'годину',hh:relativeTimeWithPlural,d:'день',dd:relativeTimeWithPlural,M:'місяць',MM:relativeTimeWithPlural,y:'рік',yy:relativeTimeWithPlural},// M. E.: those two are virtually unused but a user might want to implement them for his/her website for some reason
meridiemParse:/ночі|ранку|дня|вечора/,isPM:function isPM(input){return /^(дня|вечора)$/.test(input);},meridiem:function meridiem(hour,minute,isLower){if(hour<4){return'ночі';}else if(hour<12){return'ранку';}else if(hour<17){return'дня';}else{return'вечора';}},dayOfMonthOrdinalParse:/\d{1,2}-(й|го)/,ordinal:function ordinal(number,period){switch(period){case'M':case'd':case'DDD':case'w':case'W':return number+'-й';case'D':return number+'-го';default:return number;}},week:{dow:1,// Monday is the first day of the week.
doy:7// The week that contains Jan 7th is the first week of the year.
}});return uk;});/***/},/* 142 *//***/function(module,exports,__webpack_require__){//! moment.js locale configuration
;(function(global,factory){true?factory(__webpack_require__(0)):typeof define==='function'&&define.amd?define(['../moment'],factory):factory(global.moment);})(this,function(moment){'use strict';var months=['جنوری','فروری','مارچ','اپریل','مئی','جون','جولائی','اگست','ستمبر','اکتوبر','نومبر','دسمبر'];var days=['اتوار','پیر','منگل','بدھ','جمعرات','جمعہ','ہفتہ'];var ur=moment.defineLocale('ur',{months:months,monthsShort:months,weekdays:days,weekdaysShort:days,weekdaysMin:days,longDateFormat:{LT:'HH:mm',LTS:'HH:mm:ss',L:'DD/MM/YYYY',LL:'D MMMM YYYY',LLL:'D MMMM YYYY HH:mm',LLLL:'dddd، D MMMM YYYY HH:mm'},meridiemParse:/صبح|شام/,isPM:function isPM(input){return'شام'===input;},meridiem:function meridiem(hour,minute,isLower){if(hour<12){return'صبح';}return'شام';},calendar:{sameDay:'[آج بوقت] LT',nextDay:'[کل بوقت] LT',nextWeek:'dddd [بوقت] LT',lastDay:'[گذشتہ روز بوقت] LT',lastWeek:'[گذشتہ] dddd [بوقت] LT',sameElse:'L'},relativeTime:{future:'%s بعد',past:'%s قبل',s:'چند سیکنڈ',ss:'%d سیکنڈ',m:'ایک منٹ',mm:'%d منٹ',h:'ایک گھنٹہ',hh:'%d گھنٹے',d:'ایک دن',dd:'%d دن',M:'ایک ماہ',MM:'%d ماہ',y:'ایک سال',yy:'%d سال'},preparse:function preparse(string){return string.replace(/،/g,',');},postformat:function postformat(string){return string.replace(/,/g,'،');},week:{dow:1,// Monday is the first day of the week.
doy:4// The week that contains Jan 4th is the first week of the year.
}});return ur;});/***/},/* 143 *//***/function(module,exports,__webpack_require__){//! moment.js locale configuration
;(function(global,factory){true?factory(__webpack_require__(0)):typeof define==='function'&&define.amd?define(['../moment'],factory):factory(global.moment);})(this,function(moment){'use strict';var uz=moment.defineLocale('uz',{months:'январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр'.split('_'),monthsShort:'янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек'.split('_'),weekdays:'Якшанба_Душанба_Сешанба_Чоршанба_Пайшанба_Жума_Шанба'.split('_'),weekdaysShort:'Якш_Душ_Сеш_Чор_Пай_Жум_Шан'.split('_'),weekdaysMin:'Як_Ду_Се_Чо_Па_Жу_Ша'.split('_'),longDateFormat:{LT:'HH:mm',LTS:'HH:mm:ss',L:'DD/MM/YYYY',LL:'D MMMM YYYY',LLL:'D MMMM YYYY HH:mm',LLLL:'D MMMM YYYY, dddd HH:mm'},calendar:{sameDay:'[Бугун соат] LT [да]',nextDay:'[Эртага] LT [да]',nextWeek:'dddd [куни соат] LT [да]',lastDay:'[Кеча соат] LT [да]',lastWeek:'[Утган] dddd [куни соат] LT [да]',sameElse:'L'},relativeTime:{future:'Якин %s ичида',past:'Бир неча %s олдин',s:'фурсат',ss:'%d фурсат',m:'бир дакика',mm:'%d дакика',h:'бир соат',hh:'%d соат',d:'бир кун',dd:'%d кун',M:'бир ой',MM:'%d ой',y:'бир йил',yy:'%d йил'},week:{dow:1,// Monday is the first day of the week.
doy:7// The week that contains Jan 4th is the first week of the year.
}});return uz;});/***/},/* 144 *//***/function(module,exports,__webpack_require__){//! moment.js locale configuration
;(function(global,factory){true?factory(__webpack_require__(0)):typeof define==='function'&&define.amd?define(['../moment'],factory):factory(global.moment);})(this,function(moment){'use strict';var uzLatn=moment.defineLocale('uz-latn',{months:'Yanvar_Fevral_Mart_Aprel_May_Iyun_Iyul_Avgust_Sentabr_Oktabr_Noyabr_Dekabr'.split('_'),monthsShort:'Yan_Fev_Mar_Apr_May_Iyun_Iyul_Avg_Sen_Okt_Noy_Dek'.split('_'),weekdays:'Yakshanba_Dushanba_Seshanba_Chorshanba_Payshanba_Juma_Shanba'.split('_'),weekdaysShort:'Yak_Dush_Sesh_Chor_Pay_Jum_Shan'.split('_'),weekdaysMin:'Ya_Du_Se_Cho_Pa_Ju_Sha'.split('_'),longDateFormat:{LT:'HH:mm',LTS:'HH:mm:ss',L:'DD/MM/YYYY',LL:'D MMMM YYYY',LLL:'D MMMM YYYY HH:mm',LLLL:'D MMMM YYYY, dddd HH:mm'},calendar:{sameDay:'[Bugun soat] LT [da]',nextDay:'[Ertaga] LT [da]',nextWeek:'dddd [kuni soat] LT [da]',lastDay:'[Kecha soat] LT [da]',lastWeek:'[O\'tgan] dddd [kuni soat] LT [da]',sameElse:'L'},relativeTime:{future:'Yaqin %s ichida',past:'Bir necha %s oldin',s:'soniya',ss:'%d soniya',m:'bir daqiqa',mm:'%d daqiqa',h:'bir soat',hh:'%d soat',d:'bir kun',dd:'%d kun',M:'bir oy',MM:'%d oy',y:'bir yil',yy:'%d yil'},week:{dow:1,// Monday is the first day of the week.
doy:7// The week that contains Jan 7th is the first week of the year.
}});return uzLatn;});/***/},/* 145 *//***/function(module,exports,__webpack_require__){//! moment.js locale configuration
;(function(global,factory){true?factory(__webpack_require__(0)):typeof define==='function'&&define.amd?define(['../moment'],factory):factory(global.moment);})(this,function(moment){'use strict';var vi=moment.defineLocale('vi',{months:'tháng 1_tháng 2_tháng 3_tháng 4_tháng 5_tháng 6_tháng 7_tháng 8_tháng 9_tháng 10_tháng 11_tháng 12'.split('_'),monthsShort:'Th01_Th02_Th03_Th04_Th05_Th06_Th07_Th08_Th09_Th10_Th11_Th12'.split('_'),monthsParseExact:true,weekdays:'chủ nhật_thứ hai_thứ ba_thứ tư_thứ năm_thứ sáu_thứ bảy'.split('_'),weekdaysShort:'CN_T2_T3_T4_T5_T6_T7'.split('_'),weekdaysMin:'CN_T2_T3_T4_T5_T6_T7'.split('_'),weekdaysParseExact:true,meridiemParse:/sa|ch/i,isPM:function isPM(input){return /^ch$/i.test(input);},meridiem:function meridiem(hours,minutes,isLower){if(hours<12){return isLower?'sa':'SA';}else{return isLower?'ch':'CH';}},longDateFormat:{LT:'HH:mm',LTS:'HH:mm:ss',L:'DD/MM/YYYY',LL:'D MMMM [năm] YYYY',LLL:'D MMMM [năm] YYYY HH:mm',LLLL:'dddd, D MMMM [năm] YYYY HH:mm',l:'DD/M/YYYY',ll:'D MMM YYYY',lll:'D MMM YYYY HH:mm',llll:'ddd, D MMM YYYY HH:mm'},calendar:{sameDay:'[Hôm nay lúc] LT',nextDay:'[Ngày mai lúc] LT',nextWeek:'dddd [tuần tới lúc] LT',lastDay:'[Hôm qua lúc] LT',lastWeek:'dddd [tuần rồi lúc] LT',sameElse:'L'},relativeTime:{future:'%s tới',past:'%s trước',s:'vài giây',ss:'%d giây',m:'một phút',mm:'%d phút',h:'một giờ',hh:'%d giờ',d:'một ngày',dd:'%d ngày',M:'một tháng',MM:'%d tháng',y:'một năm',yy:'%d năm'},dayOfMonthOrdinalParse:/\d{1,2}/,ordinal:function ordinal(number){return number;},week:{dow:1,// Monday is the first day of the week.
doy:4// The week that contains Jan 4th is the first week of the year.
}});return vi;});/***/},/* 146 *//***/function(module,exports,__webpack_require__){//! moment.js locale configuration
;(function(global,factory){true?factory(__webpack_require__(0)):typeof define==='function'&&define.amd?define(['../moment'],factory):factory(global.moment);})(this,function(moment){'use strict';var xPseudo=moment.defineLocale('x-pseudo',{months:'J~áñúá~rý_F~ébrú~árý_~Márc~h_Áp~ríl_~Máý_~Júñé~_Júl~ý_Áú~gúst~_Sép~témb~ér_Ó~ctób~ér_Ñ~óvém~bér_~Décé~mbér'.split('_'),monthsShort:'J~áñ_~Féb_~Már_~Ápr_~Máý_~Júñ_~Júl_~Áúg_~Sép_~Óct_~Ñóv_~Déc'.split('_'),monthsParseExact:true,weekdays:'S~úñdá~ý_Mó~ñdáý~_Túé~sdáý~_Wéd~ñésd~áý_T~húrs~dáý_~Fríd~áý_S~átúr~dáý'.split('_'),weekdaysShort:'S~úñ_~Móñ_~Túé_~Wéd_~Thú_~Frí_~Sát'.split('_'),weekdaysMin:'S~ú_Mó~_Tú_~Wé_T~h_Fr~_Sá'.split('_'),weekdaysParseExact:true,longDateFormat:{LT:'HH:mm',L:'DD/MM/YYYY',LL:'D MMMM YYYY',LLL:'D MMMM YYYY HH:mm',LLLL:'dddd, D MMMM YYYY HH:mm'},calendar:{sameDay:'[T~ódá~ý át] LT',nextDay:'[T~ómó~rró~w át] LT',nextWeek:'dddd [át] LT',lastDay:'[Ý~ést~érdá~ý át] LT',lastWeek:'[L~ást] dddd [át] LT',sameElse:'L'},relativeTime:{future:'í~ñ %s',past:'%s á~gó',s:'á ~féw ~sécó~ñds',ss:'%d s~écóñ~ds',m:'á ~míñ~úté',mm:'%d m~íñú~tés',h:'á~ñ hó~úr',hh:'%d h~óúrs',d:'á ~dáý',dd:'%d d~áýs',M:'á ~móñ~th',MM:'%d m~óñt~hs',y:'á ~ýéár',yy:'%d ý~éárs'},dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function ordinal(number){var b=number%10,output=~~(number%100/10)===1?'th':b===1?'st':b===2?'nd':b===3?'rd':'th';return number+output;},week:{dow:1,// Monday is the first day of the week.
doy:4// The week that contains Jan 4th is the first week of the year.
}});return xPseudo;});/***/},/* 147 *//***/function(module,exports,__webpack_require__){//! moment.js locale configuration
;(function(global,factory){true?factory(__webpack_require__(0)):typeof define==='function'&&define.amd?define(['../moment'],factory):factory(global.moment);})(this,function(moment){'use strict';var yo=moment.defineLocale('yo',{months:'Sẹ́rẹ́_Èrèlè_Ẹrẹ̀nà_Ìgbé_Èbibi_Òkùdu_Agẹmo_Ògún_Owewe_Ọ̀wàrà_Bélú_Ọ̀pẹ̀̀'.split('_'),monthsShort:'Sẹ́r_Èrl_Ẹrn_Ìgb_Èbi_Òkù_Agẹ_Ògú_Owe_Ọ̀wà_Bél_Ọ̀pẹ̀̀'.split('_'),weekdays:'Àìkú_Ajé_Ìsẹ́gun_Ọjọ́rú_Ọjọ́bọ_Ẹtì_Àbámẹ́ta'.split('_'),weekdaysShort:'Àìk_Ajé_Ìsẹ́_Ọjr_Ọjb_Ẹtì_Àbá'.split('_'),weekdaysMin:'Àì_Aj_Ìs_Ọr_Ọb_Ẹt_Àb'.split('_'),longDateFormat:{LT:'h:mm A',LTS:'h:mm:ss A',L:'DD/MM/YYYY',LL:'D MMMM YYYY',LLL:'D MMMM YYYY h:mm A',LLLL:'dddd, D MMMM YYYY h:mm A'},calendar:{sameDay:'[Ònì ni] LT',nextDay:'[Ọ̀la ni] LT',nextWeek:'dddd [Ọsẹ̀ tón\'bọ] [ni] LT',lastDay:'[Àna ni] LT',lastWeek:'dddd [Ọsẹ̀ tólọ́] [ni] LT',sameElse:'L'},relativeTime:{future:'ní %s',past:'%s kọjá',s:'ìsẹjú aayá die',ss:'aayá %d',m:'ìsẹjú kan',mm:'ìsẹjú %d',h:'wákati kan',hh:'wákati %d',d:'ọjọ́ kan',dd:'ọjọ́ %d',M:'osù kan',MM:'osù %d',y:'ọdún kan',yy:'ọdún %d'},dayOfMonthOrdinalParse:/ọjọ́\s\d{1,2}/,ordinal:'ọjọ́ %d',week:{dow:1,// Monday is the first day of the week.
doy:4// The week that contains Jan 4th is the first week of the year.
}});return yo;});/***/},/* 148 *//***/function(module,exports,__webpack_require__){//! moment.js locale configuration
;(function(global,factory){true?factory(__webpack_require__(0)):typeof define==='function'&&define.amd?define(['../moment'],factory):factory(global.moment);})(this,function(moment){'use strict';var zhCn=moment.defineLocale('zh-cn',{months:'一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split('_'),monthsShort:'1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),weekdays:'星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),weekdaysShort:'周日_周一_周二_周三_周四_周五_周六'.split('_'),weekdaysMin:'日_一_二_三_四_五_六'.split('_'),longDateFormat:{LT:'HH:mm',LTS:'HH:mm:ss',L:'YYYY/MM/DD',LL:'YYYY年M月D日',LLL:'YYYY年M月D日Ah点mm分',LLLL:'YYYY年M月D日ddddAh点mm分',l:'YYYY/M/D',ll:'YYYY年M月D日',lll:'YYYY年M月D日 HH:mm',llll:'YYYY年M月D日dddd HH:mm'},meridiemParse:/凌晨|早上|上午|中午|下午|晚上/,meridiemHour:function meridiemHour(hour,meridiem){if(hour===12){hour=0;}if(meridiem==='凌晨'||meridiem==='早上'||meridiem==='上午'){return hour;}else if(meridiem==='下午'||meridiem==='晚上'){return hour+12;}else{// '中午'
return hour>=11?hour:hour+12;}},meridiem:function meridiem(hour,minute,isLower){var hm=hour*100+minute;if(hm<600){return'凌晨';}else if(hm<900){return'早上';}else if(hm<1130){return'上午';}else if(hm<1230){return'中午';}else if(hm<1800){return'下午';}else{return'晚上';}},calendar:{sameDay:'[今天]LT',nextDay:'[明天]LT',nextWeek:'[下]ddddLT',lastDay:'[昨天]LT',lastWeek:'[上]ddddLT',sameElse:'L'},dayOfMonthOrdinalParse:/\d{1,2}(日|月|周)/,ordinal:function ordinal(number,period){switch(period){case'd':case'D':case'DDD':return number+'日';case'M':return number+'月';case'w':case'W':return number+'周';default:return number;}},relativeTime:{future:'%s内',past:'%s前',s:'几秒',ss:'%d 秒',m:'1 分钟',mm:'%d 分钟',h:'1 小时',hh:'%d 小时',d:'1 天',dd:'%d 天',M:'1 个月',MM:'%d 个月',y:'1 年',yy:'%d 年'},week:{// GB/T 7408-1994《数据元和交换格式·信息交换·日期和时间表示法》与ISO 8601:1988等效
dow:1,// Monday is the first day of the week.
doy:4// The week that contains Jan 4th is the first week of the year.
}});return zhCn;});/***/},/* 149 *//***/function(module,exports,__webpack_require__){//! moment.js locale configuration
;(function(global,factory){true?factory(__webpack_require__(0)):typeof define==='function'&&define.amd?define(['../moment'],factory):factory(global.moment);})(this,function(moment){'use strict';var zhHk=moment.defineLocale('zh-hk',{months:'一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split('_'),monthsShort:'1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),weekdays:'星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),weekdaysShort:'週日_週一_週二_週三_週四_週五_週六'.split('_'),weekdaysMin:'日_一_二_三_四_五_六'.split('_'),longDateFormat:{LT:'HH:mm',LTS:'HH:mm:ss',L:'YYYY/MM/DD',LL:'YYYY年M月D日',LLL:'YYYY年M月D日 HH:mm',LLLL:'YYYY年M月D日dddd HH:mm',l:'YYYY/M/D',ll:'YYYY年M月D日',lll:'YYYY年M月D日 HH:mm',llll:'YYYY年M月D日dddd HH:mm'},meridiemParse:/凌晨|早上|上午|中午|下午|晚上/,meridiemHour:function meridiemHour(hour,meridiem){if(hour===12){hour=0;}if(meridiem==='凌晨'||meridiem==='早上'||meridiem==='上午'){return hour;}else if(meridiem==='中午'){return hour>=11?hour:hour+12;}else if(meridiem==='下午'||meridiem==='晚上'){return hour+12;}},meridiem:function meridiem(hour,minute,isLower){var hm=hour*100+minute;if(hm<600){return'凌晨';}else if(hm<900){return'早上';}else if(hm<1130){return'上午';}else if(hm<1230){return'中午';}else if(hm<1800){return'下午';}else{return'晚上';}},calendar:{sameDay:'[今天]LT',nextDay:'[明天]LT',nextWeek:'[下]ddddLT',lastDay:'[昨天]LT',lastWeek:'[上]ddddLT',sameElse:'L'},dayOfMonthOrdinalParse:/\d{1,2}(日|月|週)/,ordinal:function ordinal(number,period){switch(period){case'd':case'D':case'DDD':return number+'日';case'M':return number+'月';case'w':case'W':return number+'週';default:return number;}},relativeTime:{future:'%s內',past:'%s前',s:'幾秒',ss:'%d 秒',m:'1 分鐘',mm:'%d 分鐘',h:'1 小時',hh:'%d 小時',d:'1 天',dd:'%d 天',M:'1 個月',MM:'%d 個月',y:'1 年',yy:'%d 年'}});return zhHk;});/***/},/* 150 *//***/function(module,exports,__webpack_require__){//! moment.js locale configuration
;(function(global,factory){true?factory(__webpack_require__(0)):typeof define==='function'&&define.amd?define(['../moment'],factory):factory(global.moment);})(this,function(moment){'use strict';var zhTw=moment.defineLocale('zh-tw',{months:'一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split('_'),monthsShort:'1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),weekdays:'星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),weekdaysShort:'週日_週一_週二_週三_週四_週五_週六'.split('_'),weekdaysMin:'日_一_二_三_四_五_六'.split('_'),longDateFormat:{LT:'HH:mm',LTS:'HH:mm:ss',L:'YYYY/MM/DD',LL:'YYYY年M月D日',LLL:'YYYY年M月D日 HH:mm',LLLL:'YYYY年M月D日dddd HH:mm',l:'YYYY/M/D',ll:'YYYY年M月D日',lll:'YYYY年M月D日 HH:mm',llll:'YYYY年M月D日dddd HH:mm'},meridiemParse:/凌晨|早上|上午|中午|下午|晚上/,meridiemHour:function meridiemHour(hour,meridiem){if(hour===12){hour=0;}if(meridiem==='凌晨'||meridiem==='早上'||meridiem==='上午'){return hour;}else if(meridiem==='中午'){return hour>=11?hour:hour+12;}else if(meridiem==='下午'||meridiem==='晚上'){return hour+12;}},meridiem:function meridiem(hour,minute,isLower){var hm=hour*100+minute;if(hm<600){return'凌晨';}else if(hm<900){return'早上';}else if(hm<1130){return'上午';}else if(hm<1230){return'中午';}else if(hm<1800){return'下午';}else{return'晚上';}},calendar:{sameDay:'[今天] LT',nextDay:'[明天] LT',nextWeek:'[下]dddd LT',lastDay:'[昨天] LT',lastWeek:'[上]dddd LT',sameElse:'L'},dayOfMonthOrdinalParse:/\d{1,2}(日|月|週)/,ordinal:function ordinal(number,period){switch(period){case'd':case'D':case'DDD':return number+'日';case'M':return number+'月';case'w':case'W':return number+'週';default:return number;}},relativeTime:{future:'%s內',past:'%s前',s:'幾秒',ss:'%d 秒',m:'1 分鐘',mm:'%d 分鐘',h:'1 小時',hh:'%d 小時',d:'1 天',dd:'%d 天',M:'1 個月',MM:'%d 個月',y:'1 年',yy:'%d 年'}});return zhTw;});/***/},/* 151 *//***/function(module,__webpack_exports__,__webpack_require__){"use strict";/* harmony import */var __WEBPACK_IMPORTED_MODULE_0__Delete_vue__=__webpack_require__(152);//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
/* harmony default export */__webpack_exports__["a"]={name:'SearchCounts',components:{Delete:__WEBPACK_IMPORTED_MODULE_0__Delete_vue__["a"/* default */]},props:{title:{type:String,default:_SEARCHWP_VARS.i18n.searches,required:false},searches:{type:Array,default:[],required:true},empty:{type:String,default:_SEARCHWP_VARS.i18n.no_searches,required:false}},methods:{ignore:function ignore(queryHash){var self=this;var data={action:'searchwp_ignore_search',hash:queryHash,_ajax_nonce:_SEARCHWP_VARS.nonces.ignore_search};jQuery.post(ajaxurl,data,function(response){if(response.success){self.$emit('ignoresChanged');}else{alert('There was an error. Please try again.');}});}},data:function data(){return{i18n:{search:_SEARCHWP_VARS.i18n.search,count:_SEARCHWP_VARS.i18n.count}};}};/***/},/* 152 *//***/function(module,__webpack_exports__,__webpack_require__){"use strict";/* harmony import */var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_Delete_vue__=__webpack_require__(153);/* unused harmony namespace reexport *//* harmony import */var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_c21b28ce_hasScoped_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_Delete_vue__=__webpack_require__(228);function injectStyle(ssrContext){__webpack_require__(226);}var normalizeComponent=__webpack_require__(8);/* script *//* template *//* template functional */var __vue_template_functional__=false;/* styles */var __vue_styles__=injectStyle;/* scopeId */var __vue_scopeId__=null;/* moduleIdentifier (server only) */var __vue_module_identifier__=null;var Component=normalizeComponent(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_Delete_vue__["a"/* default */],__WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_c21b28ce_hasScoped_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_Delete_vue__["a"/* default */],__vue_template_functional__,__vue_styles__,__vue_scopeId__,__vue_module_identifier__);/* harmony default export */__webpack_exports__["a"]=Component.exports;/***/},/* 153 *//***/function(module,__webpack_exports__,__webpack_require__){"use strict";/* harmony import */var __WEBPACK_IMPORTED_MODULE_0_vue__=__webpack_require__(9);//
//
//
//
/* harmony default export */__webpack_exports__["a"]={methods:{onclick:function onclick(){this.$emit('onclick');}},data:function data(){return{i18n:{remove:_SEARCHWP_VARS.i18n.remove}};}};/***/},/* 154 *//***/function(module,__webpack_exports__,__webpack_require__){"use strict";/* harmony import */var __WEBPACK_IMPORTED_MODULE_0_vue__=__webpack_require__(9);/* harmony import */var __WEBPACK_IMPORTED_MODULE_1__Button_vue__=__webpack_require__(17);//
//
//
//
//
//
//
//
//
//
//
//
/* harmony default export */__webpack_exports__["a"]={name:'SearchwpConfirm',components:{SearchwpButton:__WEBPACK_IMPORTED_MODULE_1__Button_vue__["a"/* default */]},props:{buttonLabel:{type:String,required:true},icon:{type:String,required:false},question:{type:String,default:'Are you sure?',required:false},confirm:{type:String,default:'Yes',required:false}},methods:{confirmed:function confirmed(){this.$emit('confirmed');}},data:function data(){return{};}};/***/},/* 155 *//***/function(module,exports,__webpack_require__){module.exports=__webpack_require__(156);/***/},/* 156 *//***/function(module,__webpack_exports__,__webpack_require__){"use strict";Object.defineProperty(__webpack_exports__,"__esModule",{value:true});/* harmony import */var __WEBPACK_IMPORTED_MODULE_0_vue__=__webpack_require__(9);/* harmony import */var __WEBPACK_IMPORTED_MODULE_1_vue_modaltor__=__webpack_require__(159);/* harmony import */var __WEBPACK_IMPORTED_MODULE_1_vue_modaltor___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_vue_modaltor__);/* harmony import */var __WEBPACK_IMPORTED_MODULE_2_v_tooltip__=__webpack_require__(160);/* harmony import */var __WEBPACK_IMPORTED_MODULE_3__SearchwpStatistics_vue__=__webpack_require__(161);__WEBPACK_IMPORTED_MODULE_0_vue__["a"/* default */].use(__WEBPACK_IMPORTED_MODULE_1_vue_modaltor___default.a);__WEBPACK_IMPORTED_MODULE_0_vue__["a"/* default */].use(__WEBPACK_IMPORTED_MODULE_2_v_tooltip__["a"/* default */]);new __WEBPACK_IMPORTED_MODULE_0_vue__["a"/* default */]({el:"#searchwp-statistics",data:_SEARCHWP_VARS.data?_SEARCHWP_VARS.data:{},template:"<searchwp-statistics/>",components:{"searchwp-statistics":__WEBPACK_IMPORTED_MODULE_3__SearchwpStatistics_vue__["a"/* default */]}});/***/},/* 157 *//***/function(module,exports,__webpack_require__){/* WEBPACK VAR INJECTION */(function(global){var scope=typeof global!=="undefined"&&global||typeof self!=="undefined"&&self||window;var apply=Function.prototype.apply;// DOM APIs, for completeness
exports.setTimeout=function(){return new Timeout(apply.call(setTimeout,scope,arguments),clearTimeout);};exports.setInterval=function(){return new Timeout(apply.call(setInterval,scope,arguments),clearInterval);};exports.clearTimeout=exports.clearInterval=function(timeout){if(timeout){timeout.close();}};function Timeout(id,clearFn){this._id=id;this._clearFn=clearFn;}Timeout.prototype.unref=Timeout.prototype.ref=function(){};Timeout.prototype.close=function(){this._clearFn.call(scope,this._id);};// Does not start the time, just sets up the members needed.
exports.enroll=function(item,msecs){clearTimeout(item._idleTimeoutId);item._idleTimeout=msecs;};exports.unenroll=function(item){clearTimeout(item._idleTimeoutId);item._idleTimeout=-1;};exports._unrefActive=exports.active=function(item){clearTimeout(item._idleTimeoutId);var msecs=item._idleTimeout;if(msecs>=0){item._idleTimeoutId=setTimeout(function onTimeout(){if(item._onTimeout)item._onTimeout();},msecs);}};// setimmediate attaches itself to the global object
__webpack_require__(158);// On some exotic environments, it's not clear which object `setimmediate` was
// able to install onto.  Search each possibility in the same order as the
// `setimmediate` library.
exports.setImmediate=typeof self!=="undefined"&&self.setImmediate||typeof global!=="undefined"&&global.setImmediate||this&&this.setImmediate;exports.clearImmediate=typeof self!=="undefined"&&self.clearImmediate||typeof global!=="undefined"&&global.clearImmediate||this&&this.clearImmediate;/* WEBPACK VAR INJECTION */}).call(exports,__webpack_require__(13));/***/},/* 158 *//***/function(module,exports,__webpack_require__){/* WEBPACK VAR INJECTION */(function(global,process){(function(global,undefined){"use strict";if(global.setImmediate){return;}var nextHandle=1;// Spec says greater than zero
var tasksByHandle={};var currentlyRunningATask=false;var doc=global.document;var registerImmediate;function setImmediate(callback){// Callback can either be a function or a string
if(typeof callback!=="function"){callback=new Function(""+callback);}// Copy function arguments
var args=new Array(arguments.length-1);for(var i=0;i<args.length;i++){args[i]=arguments[i+1];}// Store and register the task
var task={callback:callback,args:args};tasksByHandle[nextHandle]=task;registerImmediate(nextHandle);return nextHandle++;}function clearImmediate(handle){delete tasksByHandle[handle];}function run(task){var callback=task.callback;var args=task.args;switch(args.length){case 0:callback();break;case 1:callback(args[0]);break;case 2:callback(args[0],args[1]);break;case 3:callback(args[0],args[1],args[2]);break;default:callback.apply(undefined,args);break;}}function runIfPresent(handle){// From the spec: "Wait until any invocations of this algorithm started before this one have completed."
// So if we're currently running a task, we'll need to delay this invocation.
if(currentlyRunningATask){// Delay by doing a setTimeout. setImmediate was tried instead, but in Firefox 7 it generated a
// "too much recursion" error.
setTimeout(runIfPresent,0,handle);}else{var task=tasksByHandle[handle];if(task){currentlyRunningATask=true;try{run(task);}finally{clearImmediate(handle);currentlyRunningATask=false;}}}}function installNextTickImplementation(){registerImmediate=function registerImmediate(handle){process.nextTick(function(){runIfPresent(handle);});};}function canUsePostMessage(){// The test against `importScripts` prevents this implementation from being installed inside a web worker,
// where `global.postMessage` means something completely different and can't be used for this purpose.
if(global.postMessage&&!global.importScripts){var postMessageIsAsynchronous=true;var oldOnMessage=global.onmessage;global.onmessage=function(){postMessageIsAsynchronous=false;};global.postMessage("","*");global.onmessage=oldOnMessage;return postMessageIsAsynchronous;}}function installPostMessageImplementation(){// Installs an event handler on `global` for the `message` event: see
// * https://developer.mozilla.org/en/DOM/window.postMessage
// * http://www.whatwg.org/specs/web-apps/current-work/multipage/comms.html#crossDocumentMessages
var messagePrefix="setImmediate$"+Math.random()+"$";var onGlobalMessage=function onGlobalMessage(event){if(event.source===global&&typeof event.data==="string"&&event.data.indexOf(messagePrefix)===0){runIfPresent(+event.data.slice(messagePrefix.length));}};if(global.addEventListener){global.addEventListener("message",onGlobalMessage,false);}else{global.attachEvent("onmessage",onGlobalMessage);}registerImmediate=function registerImmediate(handle){global.postMessage(messagePrefix+handle,"*");};}function installMessageChannelImplementation(){var channel=new MessageChannel();channel.port1.onmessage=function(event){var handle=event.data;runIfPresent(handle);};registerImmediate=function registerImmediate(handle){channel.port2.postMessage(handle);};}function installReadyStateChangeImplementation(){var html=doc.documentElement;registerImmediate=function registerImmediate(handle){// Create a <script> element; its readystatechange event will be fired asynchronously once it is inserted
// into the document. Do so, thus queuing up the task. Remember to clean up once it's been called.
var script=doc.createElement("script");script.onreadystatechange=function(){runIfPresent(handle);script.onreadystatechange=null;html.removeChild(script);script=null;};html.appendChild(script);};}function installSetTimeoutImplementation(){registerImmediate=function registerImmediate(handle){setTimeout(runIfPresent,0,handle);};}// If supported, we should attach to the prototype of global, since that is where setTimeout et al. live.
var attachTo=Object.getPrototypeOf&&Object.getPrototypeOf(global);attachTo=attachTo&&attachTo.setTimeout?attachTo:global;// Don't get fooled by e.g. browserify environments.
if({}.toString.call(global.process)==="[object process]"){// For Node.js before 0.9
installNextTickImplementation();}else if(canUsePostMessage()){// For non-IE10 modern browsers
installPostMessageImplementation();}else if(global.MessageChannel){// For web workers, where supported
installMessageChannelImplementation();}else if(doc&&"onreadystatechange"in doc.createElement("script")){// For IE 6–8
installReadyStateChangeImplementation();}else{// For older browsers
installSetTimeoutImplementation();}attachTo.setImmediate=setImmediate;attachTo.clearImmediate=clearImmediate;})(typeof self==="undefined"?typeof global==="undefined"?this:global:self);/* WEBPACK VAR INJECTION */}).call(exports,__webpack_require__(13),__webpack_require__(15));/***/},/* 159 *//***/function(module,exports,__webpack_require__){!function(root,factory){true?module.exports=factory():"function"==typeof define&&define.amd?define("vue-modaltor",[],factory):"object"==(typeof exports==='undefined'?'undefined':_typeof2(exports))?exports["vue-modaltor"]=factory():root["vue-modaltor"]=factory();}("undefined"!=typeof self?self:this,function(){return function(modules){function __webpack_require__(moduleId){if(installedModules[moduleId])return installedModules[moduleId].exports;var module=installedModules[moduleId]={i:moduleId,l:!1,exports:{}};return modules[moduleId].call(module.exports,module,module.exports,__webpack_require__),module.l=!0,module.exports;}var installedModules={};return __webpack_require__.m=modules,__webpack_require__.c=installedModules,__webpack_require__.d=function(exports,name,getter){__webpack_require__.o(exports,name)||Object.defineProperty(exports,name,{configurable:!1,enumerable:!0,get:getter});},__webpack_require__.n=function(module){var getter=module&&module.__esModule?function(){return module.default;}:function(){return module;};return __webpack_require__.d(getter,"a",getter),getter;},__webpack_require__.o=function(object,property){return Object.prototype.hasOwnProperty.call(object,property);},__webpack_require__.p="",__webpack_require__(__webpack_require__.s=0);}([function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _vueModaltor=__webpack_require__(1),_vueModaltor2=function(obj){return obj&&obj.__esModule?obj:{default:obj};}(_vueModaltor),modalTor={install:function install(Vue,options){Vue.component("vue-modaltor",_vueModaltor2.default);}};exports.default=modalTor,"undefined"!=typeof window&&window.Vue&&window.Vue.use(modalTor);},function(module,exports,__webpack_require__){__webpack_require__(2);var Component=__webpack_require__(7)(__webpack_require__(8),__webpack_require__(9),null,null);Component.options.__file="D:\\fakor\\modaltor\\src\\vue-modaltor.vue",Component.esModule&&Object.keys(Component.esModule).some(function(key){return"default"!==key&&"__esModule"!==key;})&&console.error("named exports are not supported in *.vue files."),Component.options.functional&&console.error("[vue-loader] vue-modaltor.vue: functional components are not supported with templates, they should use render functions."),module.exports=Component.exports;},function(module,exports,__webpack_require__){var content=__webpack_require__(3);"string"==typeof content&&(content=[[module.i,content,""]]),content.locals&&(module.exports=content.locals);__webpack_require__(5)("b6523272",content,!1);},function(module,exports,__webpack_require__){exports=module.exports=__webpack_require__(4)(),exports.push([module.i,"\n.modal-vue-wrapper {\n  position: absolute;\n  position: fixed;\n  top: 0;\n  left: 0;\n  width: 100vw;\n  height: 100vh;\n  font-size: 14px;\n  -webkit-font-smoothing: antialiased;\n  z-index: 99;\n  -webkit-transform: translate3D(0, 0, 0);\n  -ms-transform: translate3D(0, 0, 0);\n  -o-transform: translate3D(0, 0, 0);\n  transform: translate3D(0, 0, 0);\n  transition: all 0.2s cubic-bezier(0.52, 0.02, 0.19, 1.02);\n}\n.modal-vue-wrapper.modal-fade {\n  opacity: 0.1;\n  visibility: hidden;\n}\n.modal-vue-wrapper.modal-scale {\n  -webkit-transform: scale(-1, 1);\n  -ms-transform: scale(-1, 1);\n  -o-transform: scale(-1, 1);\n  transform: scale(-1, 1);\n}\n.modal-vue-wrapper-show {\n  visibility: visible;\n  opacity: 1;\n  -webkit-transform: translate3D(0, 0, 0);\n  -ms-transform: translate3D(0, 0, 0);\n  -o-transform: translate3D(0, 0, 0);\n  transform: translate3D(0, 0, 0);\n}\n.modal-vue-wrapper-show.modal-fade,\n.modal-vue-wrapper-show.modal-scale {\n  visibility: visible;\n  opacity: 1;\n  -webkit-transform: translate3D(0, 0, 0);\n  -ms-transform: translate3D(0, 0, 0);\n  -o-transform: translate3D(0, 0, 0);\n  transform: translate3D(0, 0, 0);\n}\n.modal-vue-overlay {\n  position: fixed;\n  top: 0;\n  left: 0;\n  width: 100vw;\n  height: 100vh;\n  z-index: 9001;\n  font-size: 14px;\n  z-index: 999;\n}\n.modal-vue---close-icon {\n  position: absolute;\n  top: 15px;\n  right: 15px;\n  cursor: pointer;\n}\n.modal-vue-panel {\n  z-index: 999;\n  -moz-box-sizing: border-box;\n  box-sizing: border-box;\n  background: #fff;\n  box-shadow: 0px 8px 46px rgba(0, 0, 0, 0.08), 0px 2px 6px rgba(0, 0, 0, 0.03);\n  position: absolute;\n  max-height: 100vh;\n  overflow-y: auto;\n  border-radius: 2px;\n  top: 50%;\n  left: 0;\n  right: 0;\n  margin: 0 auto;\n  opacity: 0;\n  transition-property: transform, opacity, width;\n  transition-duration: 0.3s;\n  transition-delay: 0.05s;\n  transition-timing-function: cubic-bezier(0.52, 0.02, 0.19, 1.02);\n}\n.modal-vue-panel.modal-fade {\n  transform: scale(1) translate(0, -50%);\n}\n.modal-vue-panel.modal-rotate {\n  transform: rotate(45deg) translate(0, -50%);\n}\n.modal-vue-panel.modal-slide-right {\n  transform: translate(100px, -50%);\n}\n.modal-vue-panel.modal-slide-left {\n  transform: translate(-100px, -50%);\n}\n.modal-vue-panel.modal-slide-top {\n  transform: translate(0, -100%);\n}\n.modal-vue-panel.modal-slide-bottom {\n  transform: translate(0, 100%);\n}\n.modal-vue-panel::-webkit-scrollbar-track {\n  -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);\n  background-color: #f5f5f5;\n}\n.modal-vue-panel::-webkit-scrollbar {\n  width: 6px;\n  height: 5px;\n  background-color: #f5f5f5;\n}\n.modal-vue-panel::-webkit-scrollbar-thumb {\n  background-color: #41b9d2;\n}\n.modal-vue--content {\n  display: flex;\n  align-items: center;\n  padding-left: 15px;\n  padding-right: 15px;\n  padding-top: 24px;\n  padding-bottom: 24px;\n  line-height: 1.5;\n}\n.modal-vue--content-panel {\n  display: block;\n  text-align: justify;\n  font-size: 16px;\n  padding-top: 5px;\n  padding-bottom: 10px;\n  flex-grow: 1;\n}\n.modal-vue .modal-vue-show {\n  transform: translate(0, -50%) !important;\n  opacity: 1 !important;\n}\n",""]);},function(module,exports){module.exports=function(){var list=[];return list.toString=function(){for(var result=[],i=0;i<this.length;i++){var item=this[i];item[2]?result.push("@media "+item[2]+"{"+item[1]+"}"):result.push(item[1]);}return result.join("");},list.i=function(modules,mediaQuery){"string"==typeof modules&&(modules=[[null,modules,""]]);for(var alreadyImportedModules={},i=0;i<this.length;i++){var id=this[i][0];"number"==typeof id&&(alreadyImportedModules[id]=!0);}for(i=0;i<modules.length;i++){var item=modules[i];"number"==typeof item[0]&&alreadyImportedModules[item[0]]||(mediaQuery&&!item[2]?item[2]=mediaQuery:mediaQuery&&(item[2]="("+item[2]+") and ("+mediaQuery+")"),list.push(item));}},list;};},function(module,exports,__webpack_require__){function addStylesToDom(styles){for(var i=0;i<styles.length;i++){var item=styles[i],domStyle=stylesInDom[item.id];if(domStyle){domStyle.refs++;for(var j=0;j<domStyle.parts.length;j++){domStyle.parts[j](item.parts[j]);}for(;j<item.parts.length;j++){domStyle.parts.push(addStyle(item.parts[j]));}domStyle.parts.length>item.parts.length&&(domStyle.parts.length=item.parts.length);}else{for(var parts=[],j=0;j<item.parts.length;j++){parts.push(addStyle(item.parts[j]));}stylesInDom[item.id]={id:item.id,refs:1,parts:parts};}}}function createStyleElement(){var styleElement=document.createElement("style");return styleElement.type="text/css",head.appendChild(styleElement),styleElement;}function addStyle(obj){var update,remove,styleElement=document.querySelector('style[data-vue-ssr-id~="'+obj.id+'"]');if(styleElement){if(isProduction)return noop;styleElement.parentNode.removeChild(styleElement);}if(isOldIE){var styleIndex=singletonCounter++;styleElement=singletonElement||(singletonElement=createStyleElement()),update=applyToSingletonTag.bind(null,styleElement,styleIndex,!1),remove=applyToSingletonTag.bind(null,styleElement,styleIndex,!0);}else styleElement=createStyleElement(),update=applyToTag.bind(null,styleElement),remove=function remove(){styleElement.parentNode.removeChild(styleElement);};return update(obj),function(newObj){if(newObj){if(newObj.css===obj.css&&newObj.media===obj.media&&newObj.sourceMap===obj.sourceMap)return;update(obj=newObj);}else remove();};}function applyToSingletonTag(styleElement,index,remove,obj){var css=remove?"":obj.css;if(styleElement.styleSheet)styleElement.styleSheet.cssText=replaceText(index,css);else{var cssNode=document.createTextNode(css),childNodes=styleElement.childNodes;childNodes[index]&&styleElement.removeChild(childNodes[index]),childNodes.length?styleElement.insertBefore(cssNode,childNodes[index]):styleElement.appendChild(cssNode);}}function applyToTag(styleElement,obj){var css=obj.css,media=obj.media,sourceMap=obj.sourceMap;if(media&&styleElement.setAttribute("media",media),sourceMap&&(css+="\n/*# sourceURL="+sourceMap.sources[0]+" */",css+="\n/*# sourceMappingURL=data:application/json;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap))))+" */"),styleElement.styleSheet)styleElement.styleSheet.cssText=css;else{for(;styleElement.firstChild;){styleElement.removeChild(styleElement.firstChild);}styleElement.appendChild(document.createTextNode(css));}}var hasDocument="undefined"!=typeof document;if("undefined"!=typeof DEBUG&&DEBUG&&!hasDocument)throw new Error("vue-style-loader cannot be used in a non-browser environment. Use { target: 'node' } in your Webpack config to indicate a server-rendering environment.");var listToStyles=__webpack_require__(6),stylesInDom={},head=hasDocument&&(document.head||document.getElementsByTagName("head")[0]),singletonElement=null,singletonCounter=0,isProduction=!1,noop=function noop(){},isOldIE="undefined"!=typeof navigator&&/msie [6-9]\b/.test(navigator.userAgent.toLowerCase());module.exports=function(parentId,list,_isProduction){isProduction=_isProduction;var styles=listToStyles(parentId,list);return addStylesToDom(styles),function(newList){for(var mayRemove=[],i=0;i<styles.length;i++){var item=styles[i],domStyle=stylesInDom[item.id];domStyle.refs--,mayRemove.push(domStyle);}newList?(styles=listToStyles(parentId,newList),addStylesToDom(styles)):styles=[];for(var i=0;i<mayRemove.length;i++){var domStyle=mayRemove[i];if(0===domStyle.refs){for(var j=0;j<domStyle.parts.length;j++){domStyle.parts[j]();}delete stylesInDom[domStyle.id];}}};};var replaceText=function(){var textStore=[];return function(index,replacement){return textStore[index]=replacement,textStore.filter(Boolean).join("\n");};}();},function(module,exports){module.exports=function(parentId,list){for(var styles=[],newStyles={},i=0;i<list.length;i++){var item=list[i],id=item[0],css=item[1],media=item[2],sourceMap=item[3],part={id:parentId+":"+i,css:css,media:media,sourceMap:sourceMap};newStyles[id]?newStyles[id].parts.push(part):styles.push(newStyles[id]={id:id,parts:[part]});}return styles;};},function(module,exports){module.exports=function(rawScriptExports,compiledTemplate,scopeId,cssModules){var esModule,scriptExports=rawScriptExports=rawScriptExports||{},type=_typeof2(rawScriptExports.default);"object"!==type&&"function"!==type||(esModule=rawScriptExports,scriptExports=rawScriptExports.default);var options="function"==typeof scriptExports?scriptExports.options:scriptExports;if(compiledTemplate&&(options.render=compiledTemplate.render,options.staticRenderFns=compiledTemplate.staticRenderFns),scopeId&&(options._scopeId=scopeId),cssModules){var computed=Object.create(options.computed||null);Object.keys(cssModules).forEach(function(key){var module=cssModules[key];computed[key]=function(){return module;};}),options.computed=computed;}return{esModule:esModule,exports:scriptExports,options:options};};},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={name:"modal-vue-perfect",props:{visible:{type:Boolean,required:!1,default:!1},resizeWidth:{type:Object},animationPanel:{type:String,required:!1,default:"modal-fade"},bgOverlay:{type:String,required:!1,default:"#fff"},bgPanel:{type:String,required:!1,default:"rgba(255, 255, 255, 0.57)"},animationParent:{type:String,required:!1,default:"modal-fade"},defaultWidth:{type:String,required:!1,default:"80%"},closeScroll:{type:Boolean,required:!1,default:!0},showCloseButton:{type:Boolean,required:!1,default:!0}},data:function data(){return{width:this.defaultWidth||"80%",open:!1,isOpen:!1,isShowCloseButton:!0,backups:{body:{height:null,overflow:null,paddingRight:null}}};},watch:{visible:function visible(val){var _this=this;val?(this.isOpen=!0,setTimeout(function(){return _this.open=!0;},30),this.closeScroll&&this._lockBody()):(this.closeScroll&&this._unlockBody(),this.open=!1,setTimeout(function(){return _this.isOpen=!1;},300));}},beforeDestroy:function beforeDestroy(){window.removeEventListener("resize",this.getWindowWidth),window.removeEventListener("resize",this.getWindowHeight);},destroyed:function destroyed(){var _this2=this;this.open&&(this.closeScroll&&this._unlockBody(),this.open=!1,setTimeout(function(){return _this2.isOpen=!1;},300));},mounted:function mounted(){this.$nextTick(function(){window.addEventListener("resize",this.getWindowWidth),window.addEventListener("resize",this.getWindowHeight),this.getWindowWidth(),this.getWindowHeight();});},methods:{getWindowHeight:function getWindowHeight(event){this.windowHeight=document.documentElement.clientHeight;},getWindowWidth:function getWindowWidth(event){var _this3=this;if(this.resizeWidth&&Object.keys(this.resizeWidth).length>0){this.windowWidth=document.documentElement.clientWidth;var filter=Object.keys(this.resizeWidth).find(function(f){return f>=_this3.windowWidth;});this.width=filter?this.resizeWidth[filter]:this.defaultWidth;}},_lockBody:function _lockBody(){this.backups.body.height=document.body.style.height,this.backups.body.overflow=document.body.style.overflow,document.body.style.paddingRight="15px",document.body.style.height="100%",document.body.style.overflow="hidden";},_unlockBody:function _unlockBody(){document.body.style.height=this.backups.body.height,document.body.style.overflow=this.backups.body.overflow,document.body.style.paddingRight=this.backups.body.paddingRight;}}};},function(module,exports,__webpack_require__){module.exports={render:function render(){var _vm=this,_h=_vm.$createElement,_c=_vm._self._c||_h;return _c("div",{staticClass:"modal-vue"},[_c("div",{directives:[{name:"show",rawName:"v-show",value:_vm.isOpen,expression:"isOpen"}],staticClass:"modal-vue-wrapper",class:[_vm.animationParent,{"modal-vue-wrapper-show":_vm.open}]},[_c("div",{class:["modal-vue-overlay"],style:{backgroundColor:_vm.bgOverlay},on:{click:function click($event){_vm.$emit("hide");}}}),_vm._v(" "),_c("div",{class:["modal-vue-panel",_vm.animationPanel,{"modal-vue-show":_vm.open}],style:{width:_vm.width,backgroundColor:_vm.bgPanel}},[_vm.showCloseButton?_c("div",{staticClass:"modal-vue---close-icon",on:{click:function click($event){_vm.$emit("hide");}}},[_vm._t("close-icon",[_c("svg",{attrs:{version:"1.1",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 40 40",width:"20",height:"20","xml:space":"preserve"}},[_c("path",{staticClass:"st0",attrs:{fill:"#010110",d:"M8.7,7.6c-0.4-0.4-1-0.4-1.4,0C6.9,8,6.9,8.6,7.3,9l11,11l-11,11c-0.4,0.4-0.4,1,0,1.4c0.4,0.4,1,0.4,1.4,0 l11-11l11,11c0.4,0.4,1,0.4,1.4,0c0.4-0.4,0.4-1,0-1.4l-11-11L32,9c0.4-0.4,0.4-1,0-1.4c-0.4-0.4-1-0.4-1.4,0l-11,11L8.7,7.6z"}})])])],2):_vm._e(),_vm._v(" "),_c("div",{staticClass:"modal-vue--content"},[_c("div",{staticClass:"modal-vue--content-panel"},[_vm._t("default")],2)])])])]);},staticRenderFns:[]},module.exports.render._withStripped=!0;}]);});/***/},/* 160 *//***/function(module,__webpack_exports__,__webpack_require__){"use strict";/* WEBPACK VAR INJECTION */(function(global){/* unused harmony export install *//* unused harmony export VTooltip *//* unused harmony export VClosePopover *//* unused harmony export VPopover *//* unused harmony export createTooltip *//* unused harmony export destroyTooltip *//**!
 * @fileOverview Kickass library to create and place poppers near their reference elements.
 * @version 1.14.3
 * @license
 * Copyright (c) 2016 Federico Zivolo and contributors
 *
 * Permission is hereby granted, free of charge, to any person obtaining a copy
 * of this software and associated documentation files (the "Software"), to deal
 * in the Software without restriction, including without limitation the rights
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 * copies of the Software, and to permit persons to whom the Software is
 * furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in all
 * copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
 * SOFTWARE.
 */var isBrowser=typeof window!=='undefined'&&typeof document!=='undefined';var longerTimeoutBrowsers=['Edge','Trident','Firefox'];var timeoutDuration=0;for(var i=0;i<longerTimeoutBrowsers.length;i+=1){if(isBrowser&&navigator.userAgent.indexOf(longerTimeoutBrowsers[i])>=0){timeoutDuration=1;break;}}function microtaskDebounce(fn){var called=false;return function(){if(called){return;}called=true;window.Promise.resolve().then(function(){called=false;fn();});};}function taskDebounce(fn){var scheduled=false;return function(){if(!scheduled){scheduled=true;setTimeout(function(){scheduled=false;fn();},timeoutDuration);}};}var supportsMicroTasks=isBrowser&&window.Promise;/**
* Create a debounced version of a method, that's asynchronously deferred
* but called in the minimum time possible.
*
* @method
* @memberof Popper.Utils
* @argument {Function} fn
* @returns {Function}
*/var debounce=supportsMicroTasks?microtaskDebounce:taskDebounce;/**
 * Check if the given variable is a function
 * @method
 * @memberof Popper.Utils
 * @argument {Any} functionToCheck - variable to check
 * @returns {Boolean} answer to: is a function?
 */function isFunction(functionToCheck){var getType={};return functionToCheck&&getType.toString.call(functionToCheck)==='[object Function]';}/**
 * Get CSS computed property of the given element
 * @method
 * @memberof Popper.Utils
 * @argument {Eement} element
 * @argument {String} property
 */function getStyleComputedProperty(element,property){if(element.nodeType!==1){return[];}// NOTE: 1 DOM access here
var css=getComputedStyle(element,null);return property?css[property]:css;}/**
 * Returns the parentNode or the host of the element
 * @method
 * @memberof Popper.Utils
 * @argument {Element} element
 * @returns {Element} parent
 */function getParentNode(element){if(element.nodeName==='HTML'){return element;}return element.parentNode||element.host;}/**
 * Returns the scrolling parent of the given element
 * @method
 * @memberof Popper.Utils
 * @argument {Element} element
 * @returns {Element} scroll parent
 */function getScrollParent(element){// Return body, `getScroll` will take care to get the correct `scrollTop` from it
if(!element){return document.body;}switch(element.nodeName){case'HTML':case'BODY':return element.ownerDocument.body;case'#document':return element.body;}// Firefox want us to check `-x` and `-y` variations as well
var _getStyleComputedProp=getStyleComputedProperty(element),overflow=_getStyleComputedProp.overflow,overflowX=_getStyleComputedProp.overflowX,overflowY=_getStyleComputedProp.overflowY;if(/(auto|scroll|overlay)/.test(overflow+overflowY+overflowX)){return element;}return getScrollParent(getParentNode(element));}var isIE11=isBrowser&&!!(window.MSInputMethodContext&&document.documentMode);var isIE10=isBrowser&&/MSIE 10/.test(navigator.userAgent);/**
 * Determines if the browser is Internet Explorer
 * @method
 * @memberof Popper.Utils
 * @param {Number} version to check
 * @returns {Boolean} isIE
 */function isIE(version){if(version===11){return isIE11;}if(version===10){return isIE10;}return isIE11||isIE10;}/**
 * Returns the offset parent of the given element
 * @method
 * @memberof Popper.Utils
 * @argument {Element} element
 * @returns {Element} offset parent
 */function getOffsetParent(element){if(!element){return document.documentElement;}var noOffsetParent=isIE(10)?document.body:null;// NOTE: 1 DOM access here
var offsetParent=element.offsetParent;// Skip hidden elements which don't have an offsetParent
while(offsetParent===noOffsetParent&&element.nextElementSibling){offsetParent=(element=element.nextElementSibling).offsetParent;}var nodeName=offsetParent&&offsetParent.nodeName;if(!nodeName||nodeName==='BODY'||nodeName==='HTML'){return element?element.ownerDocument.documentElement:document.documentElement;}// .offsetParent will return the closest TD or TABLE in case
// no offsetParent is present, I hate this job...
if(['TD','TABLE'].indexOf(offsetParent.nodeName)!==-1&&getStyleComputedProperty(offsetParent,'position')==='static'){return getOffsetParent(offsetParent);}return offsetParent;}function isOffsetContainer(element){var nodeName=element.nodeName;if(nodeName==='BODY'){return false;}return nodeName==='HTML'||getOffsetParent(element.firstElementChild)===element;}/**
 * Finds the root node (document, shadowDOM root) of the given element
 * @method
 * @memberof Popper.Utils
 * @argument {Element} node
 * @returns {Element} root node
 */function getRoot(node){if(node.parentNode!==null){return getRoot(node.parentNode);}return node;}/**
 * Finds the offset parent common to the two provided nodes
 * @method
 * @memberof Popper.Utils
 * @argument {Element} element1
 * @argument {Element} element2
 * @returns {Element} common offset parent
 */function findCommonOffsetParent(element1,element2){// This check is needed to avoid errors in case one of the elements isn't defined for any reason
if(!element1||!element1.nodeType||!element2||!element2.nodeType){return document.documentElement;}// Here we make sure to give as "start" the element that comes first in the DOM
var order=element1.compareDocumentPosition(element2)&Node.DOCUMENT_POSITION_FOLLOWING;var start=order?element1:element2;var end=order?element2:element1;// Get common ancestor container
var range=document.createRange();range.setStart(start,0);range.setEnd(end,0);var commonAncestorContainer=range.commonAncestorContainer;// Both nodes are inside #document
if(element1!==commonAncestorContainer&&element2!==commonAncestorContainer||start.contains(end)){if(isOffsetContainer(commonAncestorContainer)){return commonAncestorContainer;}return getOffsetParent(commonAncestorContainer);}// one of the nodes is inside shadowDOM, find which one
var element1root=getRoot(element1);if(element1root.host){return findCommonOffsetParent(element1root.host,element2);}else{return findCommonOffsetParent(element1,getRoot(element2).host);}}/**
 * Gets the scroll value of the given element in the given side (top and left)
 * @method
 * @memberof Popper.Utils
 * @argument {Element} element
 * @argument {String} side `top` or `left`
 * @returns {number} amount of scrolled pixels
 */function getScroll(element){var side=arguments.length>1&&arguments[1]!==undefined?arguments[1]:'top';var upperSide=side==='top'?'scrollTop':'scrollLeft';var nodeName=element.nodeName;if(nodeName==='BODY'||nodeName==='HTML'){var html=element.ownerDocument.documentElement;var scrollingElement=element.ownerDocument.scrollingElement||html;return scrollingElement[upperSide];}return element[upperSide];}/*
 * Sum or subtract the element scroll values (left and top) from a given rect object
 * @method
 * @memberof Popper.Utils
 * @param {Object} rect - Rect object you want to change
 * @param {HTMLElement} element - The element from the function reads the scroll values
 * @param {Boolean} subtract - set to true if you want to subtract the scroll values
 * @return {Object} rect - The modifier rect object
 */function includeScroll(rect,element){var subtract=arguments.length>2&&arguments[2]!==undefined?arguments[2]:false;var scrollTop=getScroll(element,'top');var scrollLeft=getScroll(element,'left');var modifier=subtract?-1:1;rect.top+=scrollTop*modifier;rect.bottom+=scrollTop*modifier;rect.left+=scrollLeft*modifier;rect.right+=scrollLeft*modifier;return rect;}/*
 * Helper to detect borders of a given element
 * @method
 * @memberof Popper.Utils
 * @param {CSSStyleDeclaration} styles
 * Result of `getStyleComputedProperty` on the given element
 * @param {String} axis - `x` or `y`
 * @return {number} borders - The borders size of the given axis
 */function getBordersSize(styles,axis){var sideA=axis==='x'?'Left':'Top';var sideB=sideA==='Left'?'Right':'Bottom';return parseFloat(styles['border'+sideA+'Width'],10)+parseFloat(styles['border'+sideB+'Width'],10);}function getSize(axis,body,html,computedStyle){return Math.max(body['offset'+axis],body['scroll'+axis],html['client'+axis],html['offset'+axis],html['scroll'+axis],isIE(10)?html['offset'+axis]+computedStyle['margin'+(axis==='Height'?'Top':'Left')]+computedStyle['margin'+(axis==='Height'?'Bottom':'Right')]:0);}function getWindowSizes(){var body=document.body;var html=document.documentElement;var computedStyle=isIE(10)&&getComputedStyle(html);return{height:getSize('Height',body,html,computedStyle),width:getSize('Width',body,html,computedStyle)};}var classCallCheck=function classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}};var createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor;};}();var defineProperty=function defineProperty(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true});}else{obj[key]=value;}return obj;};var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};/**
 * Given element offsets, generate an output similar to getBoundingClientRect
 * @method
 * @memberof Popper.Utils
 * @argument {Object} offsets
 * @returns {Object} ClientRect like output
 */function getClientRect(offsets){return _extends({},offsets,{right:offsets.left+offsets.width,bottom:offsets.top+offsets.height});}/**
 * Get bounding client rect of given element
 * @method
 * @memberof Popper.Utils
 * @param {HTMLElement} element
 * @return {Object} client rect
 */function getBoundingClientRect(element){var rect={};// IE10 10 FIX: Please, don't ask, the element isn't
// considered in DOM in some circumstances...
// This isn't reproducible in IE10 compatibility mode of IE11
try{if(isIE(10)){rect=element.getBoundingClientRect();var scrollTop=getScroll(element,'top');var scrollLeft=getScroll(element,'left');rect.top+=scrollTop;rect.left+=scrollLeft;rect.bottom+=scrollTop;rect.right+=scrollLeft;}else{rect=element.getBoundingClientRect();}}catch(e){}var result={left:rect.left,top:rect.top,width:rect.right-rect.left,height:rect.bottom-rect.top};// subtract scrollbar size from sizes
var sizes=element.nodeName==='HTML'?getWindowSizes():{};var width=sizes.width||element.clientWidth||result.right-result.left;var height=sizes.height||element.clientHeight||result.bottom-result.top;var horizScrollbar=element.offsetWidth-width;var vertScrollbar=element.offsetHeight-height;// if an hypothetical scrollbar is detected, we must be sure it's not a `border`
// we make this check conditional for performance reasons
if(horizScrollbar||vertScrollbar){var styles=getStyleComputedProperty(element);horizScrollbar-=getBordersSize(styles,'x');vertScrollbar-=getBordersSize(styles,'y');result.width-=horizScrollbar;result.height-=vertScrollbar;}return getClientRect(result);}function getOffsetRectRelativeToArbitraryNode(children,parent){var fixedPosition=arguments.length>2&&arguments[2]!==undefined?arguments[2]:false;var isIE10=isIE(10);var isHTML=parent.nodeName==='HTML';var childrenRect=getBoundingClientRect(children);var parentRect=getBoundingClientRect(parent);var scrollParent=getScrollParent(children);var styles=getStyleComputedProperty(parent);var borderTopWidth=parseFloat(styles.borderTopWidth,10);var borderLeftWidth=parseFloat(styles.borderLeftWidth,10);// In cases where the parent is fixed, we must ignore negative scroll in offset calc
if(fixedPosition&&parent.nodeName==='HTML'){parentRect.top=Math.max(parentRect.top,0);parentRect.left=Math.max(parentRect.left,0);}var offsets=getClientRect({top:childrenRect.top-parentRect.top-borderTopWidth,left:childrenRect.left-parentRect.left-borderLeftWidth,width:childrenRect.width,height:childrenRect.height});offsets.marginTop=0;offsets.marginLeft=0;// Subtract margins of documentElement in case it's being used as parent
// we do this only on HTML because it's the only element that behaves
// differently when margins are applied to it. The margins are included in
// the box of the documentElement, in the other cases not.
if(!isIE10&&isHTML){var marginTop=parseFloat(styles.marginTop,10);var marginLeft=parseFloat(styles.marginLeft,10);offsets.top-=borderTopWidth-marginTop;offsets.bottom-=borderTopWidth-marginTop;offsets.left-=borderLeftWidth-marginLeft;offsets.right-=borderLeftWidth-marginLeft;// Attach marginTop and marginLeft because in some circumstances we may need them
offsets.marginTop=marginTop;offsets.marginLeft=marginLeft;}if(isIE10&&!fixedPosition?parent.contains(scrollParent):parent===scrollParent&&scrollParent.nodeName!=='BODY'){offsets=includeScroll(offsets,parent);}return offsets;}function getViewportOffsetRectRelativeToArtbitraryNode(element){var excludeScroll=arguments.length>1&&arguments[1]!==undefined?arguments[1]:false;var html=element.ownerDocument.documentElement;var relativeOffset=getOffsetRectRelativeToArbitraryNode(element,html);var width=Math.max(html.clientWidth,window.innerWidth||0);var height=Math.max(html.clientHeight,window.innerHeight||0);var scrollTop=!excludeScroll?getScroll(html):0;var scrollLeft=!excludeScroll?getScroll(html,'left'):0;var offset={top:scrollTop-relativeOffset.top+relativeOffset.marginTop,left:scrollLeft-relativeOffset.left+relativeOffset.marginLeft,width:width,height:height};return getClientRect(offset);}/**
 * Check if the given element is fixed or is inside a fixed parent
 * @method
 * @memberof Popper.Utils
 * @argument {Element} element
 * @argument {Element} customContainer
 * @returns {Boolean} answer to "isFixed?"
 */function isFixed(element){var nodeName=element.nodeName;if(nodeName==='BODY'||nodeName==='HTML'){return false;}if(getStyleComputedProperty(element,'position')==='fixed'){return true;}return isFixed(getParentNode(element));}/**
 * Finds the first parent of an element that has a transformed property defined
 * @method
 * @memberof Popper.Utils
 * @argument {Element} element
 * @returns {Element} first transformed parent or documentElement
 */function getFixedPositionOffsetParent(element){// This check is needed to avoid errors in case one of the elements isn't defined for any reason
if(!element||!element.parentElement||isIE()){return document.documentElement;}var el=element.parentElement;while(el&&getStyleComputedProperty(el,'transform')==='none'){el=el.parentElement;}return el||document.documentElement;}/**
 * Computed the boundaries limits and return them
 * @method
 * @memberof Popper.Utils
 * @param {HTMLElement} popper
 * @param {HTMLElement} reference
 * @param {number} padding
 * @param {HTMLElement} boundariesElement - Element used to define the boundaries
 * @param {Boolean} fixedPosition - Is in fixed position mode
 * @returns {Object} Coordinates of the boundaries
 */function getBoundaries(popper,reference,padding,boundariesElement){var fixedPosition=arguments.length>4&&arguments[4]!==undefined?arguments[4]:false;// NOTE: 1 DOM access here
var boundaries={top:0,left:0};var offsetParent=fixedPosition?getFixedPositionOffsetParent(popper):findCommonOffsetParent(popper,reference);// Handle viewport case
if(boundariesElement==='viewport'){boundaries=getViewportOffsetRectRelativeToArtbitraryNode(offsetParent,fixedPosition);}else{// Handle other cases based on DOM element used as boundaries
var boundariesNode=void 0;if(boundariesElement==='scrollParent'){boundariesNode=getScrollParent(getParentNode(reference));if(boundariesNode.nodeName==='BODY'){boundariesNode=popper.ownerDocument.documentElement;}}else if(boundariesElement==='window'){boundariesNode=popper.ownerDocument.documentElement;}else{boundariesNode=boundariesElement;}var offsets=getOffsetRectRelativeToArbitraryNode(boundariesNode,offsetParent,fixedPosition);// In case of HTML, we need a different computation
if(boundariesNode.nodeName==='HTML'&&!isFixed(offsetParent)){var _getWindowSizes=getWindowSizes(),height=_getWindowSizes.height,width=_getWindowSizes.width;boundaries.top+=offsets.top-offsets.marginTop;boundaries.bottom=height+offsets.top;boundaries.left+=offsets.left-offsets.marginLeft;boundaries.right=width+offsets.left;}else{// for all the other DOM elements, this one is good
boundaries=offsets;}}// Add paddings
boundaries.left+=padding;boundaries.top+=padding;boundaries.right-=padding;boundaries.bottom-=padding;return boundaries;}function getArea(_ref){var width=_ref.width,height=_ref.height;return width*height;}/**
 * Utility used to transform the `auto` placement to the placement with more
 * available space.
 * @method
 * @memberof Popper.Utils
 * @argument {Object} data - The data object generated by update method
 * @argument {Object} options - Modifiers configuration and options
 * @returns {Object} The data object, properly modified
 */function computeAutoPlacement(placement,refRect,popper,reference,boundariesElement){var padding=arguments.length>5&&arguments[5]!==undefined?arguments[5]:0;if(placement.indexOf('auto')===-1){return placement;}var boundaries=getBoundaries(popper,reference,padding,boundariesElement);var rects={top:{width:boundaries.width,height:refRect.top-boundaries.top},right:{width:boundaries.right-refRect.right,height:boundaries.height},bottom:{width:boundaries.width,height:boundaries.bottom-refRect.bottom},left:{width:refRect.left-boundaries.left,height:boundaries.height}};var sortedAreas=Object.keys(rects).map(function(key){return _extends({key:key},rects[key],{area:getArea(rects[key])});}).sort(function(a,b){return b.area-a.area;});var filteredAreas=sortedAreas.filter(function(_ref2){var width=_ref2.width,height=_ref2.height;return width>=popper.clientWidth&&height>=popper.clientHeight;});var computedPlacement=filteredAreas.length>0?filteredAreas[0].key:sortedAreas[0].key;var variation=placement.split('-')[1];return computedPlacement+(variation?'-'+variation:'');}/**
 * Get offsets to the reference element
 * @method
 * @memberof Popper.Utils
 * @param {Object} state
 * @param {Element} popper - the popper element
 * @param {Element} reference - the reference element (the popper will be relative to this)
 * @param {Element} fixedPosition - is in fixed position mode
 * @returns {Object} An object containing the offsets which will be applied to the popper
 */function getReferenceOffsets(state,popper,reference){var fixedPosition=arguments.length>3&&arguments[3]!==undefined?arguments[3]:null;var commonOffsetParent=fixedPosition?getFixedPositionOffsetParent(popper):findCommonOffsetParent(popper,reference);return getOffsetRectRelativeToArbitraryNode(reference,commonOffsetParent,fixedPosition);}/**
 * Get the outer sizes of the given element (offset size + margins)
 * @method
 * @memberof Popper.Utils
 * @argument {Element} element
 * @returns {Object} object containing width and height properties
 */function getOuterSizes(element){var styles=getComputedStyle(element);var x=parseFloat(styles.marginTop)+parseFloat(styles.marginBottom);var y=parseFloat(styles.marginLeft)+parseFloat(styles.marginRight);var result={width:element.offsetWidth+y,height:element.offsetHeight+x};return result;}/**
 * Get the opposite placement of the given one
 * @method
 * @memberof Popper.Utils
 * @argument {String} placement
 * @returns {String} flipped placement
 */function getOppositePlacement(placement){var hash={left:'right',right:'left',bottom:'top',top:'bottom'};return placement.replace(/left|right|bottom|top/g,function(matched){return hash[matched];});}/**
 * Get offsets to the popper
 * @method
 * @memberof Popper.Utils
 * @param {Object} position - CSS position the Popper will get applied
 * @param {HTMLElement} popper - the popper element
 * @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this)
 * @param {String} placement - one of the valid placement options
 * @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper
 */function getPopperOffsets(popper,referenceOffsets,placement){placement=placement.split('-')[0];// Get popper node sizes
var popperRect=getOuterSizes(popper);// Add position, width and height to our offsets object
var popperOffsets={width:popperRect.width,height:popperRect.height};// depending by the popper placement we have to compute its offsets slightly differently
var isHoriz=['right','left'].indexOf(placement)!==-1;var mainSide=isHoriz?'top':'left';var secondarySide=isHoriz?'left':'top';var measurement=isHoriz?'height':'width';var secondaryMeasurement=!isHoriz?'height':'width';popperOffsets[mainSide]=referenceOffsets[mainSide]+referenceOffsets[measurement]/2-popperRect[measurement]/2;if(placement===secondarySide){popperOffsets[secondarySide]=referenceOffsets[secondarySide]-popperRect[secondaryMeasurement];}else{popperOffsets[secondarySide]=referenceOffsets[getOppositePlacement(secondarySide)];}return popperOffsets;}/**
 * Mimics the `find` method of Array
 * @method
 * @memberof Popper.Utils
 * @argument {Array} arr
 * @argument prop
 * @argument value
 * @returns index or -1
 */function find(arr,check){// use native find if supported
if(Array.prototype.find){return arr.find(check);}// use `filter` to obtain the same behavior of `find`
return arr.filter(check)[0];}/**
 * Return the index of the matching object
 * @method
 * @memberof Popper.Utils
 * @argument {Array} arr
 * @argument prop
 * @argument value
 * @returns index or -1
 */function findIndex(arr,prop,value){// use native findIndex if supported
if(Array.prototype.findIndex){return arr.findIndex(function(cur){return cur[prop]===value;});}// use `find` + `indexOf` if `findIndex` isn't supported
var match=find(arr,function(obj){return obj[prop]===value;});return arr.indexOf(match);}/**
 * Loop trough the list of modifiers and run them in order,
 * each of them will then edit the data object.
 * @method
 * @memberof Popper.Utils
 * @param {dataObject} data
 * @param {Array} modifiers
 * @param {String} ends - Optional modifier name used as stopper
 * @returns {dataObject}
 */function runModifiers(modifiers,data,ends){var modifiersToRun=ends===undefined?modifiers:modifiers.slice(0,findIndex(modifiers,'name',ends));modifiersToRun.forEach(function(modifier){if(modifier['function']){// eslint-disable-line dot-notation
console.warn('`modifier.function` is deprecated, use `modifier.fn`!');}var fn=modifier['function']||modifier.fn;// eslint-disable-line dot-notation
if(modifier.enabled&&isFunction(fn)){// Add properties to offsets to make them a complete clientRect object
// we do this before each modifier to make sure the previous one doesn't
// mess with these values
data.offsets.popper=getClientRect(data.offsets.popper);data.offsets.reference=getClientRect(data.offsets.reference);data=fn(data,modifier);}});return data;}/**
 * Updates the position of the popper, computing the new offsets and applying
 * the new style.<br />
 * Prefer `scheduleUpdate` over `update` because of performance reasons.
 * @method
 * @memberof Popper
 */function update(){// if popper is destroyed, don't perform any further update
if(this.state.isDestroyed){return;}var data={instance:this,styles:{},arrowStyles:{},attributes:{},flipped:false,offsets:{}};// compute reference element offsets
data.offsets.reference=getReferenceOffsets(this.state,this.popper,this.reference,this.options.positionFixed);// compute auto placement, store placement inside the data object,
// modifiers will be able to edit `placement` if needed
// and refer to originalPlacement to know the original value
data.placement=computeAutoPlacement(this.options.placement,data.offsets.reference,this.popper,this.reference,this.options.modifiers.flip.boundariesElement,this.options.modifiers.flip.padding);// store the computed placement inside `originalPlacement`
data.originalPlacement=data.placement;data.positionFixed=this.options.positionFixed;// compute the popper offsets
data.offsets.popper=getPopperOffsets(this.popper,data.offsets.reference,data.placement);data.offsets.popper.position=this.options.positionFixed?'fixed':'absolute';// run the modifiers
data=runModifiers(this.modifiers,data);// the first `update` will call `onCreate` callback
// the other ones will call `onUpdate` callback
if(!this.state.isCreated){this.state.isCreated=true;this.options.onCreate(data);}else{this.options.onUpdate(data);}}/**
 * Helper used to know if the given modifier is enabled.
 * @method
 * @memberof Popper.Utils
 * @returns {Boolean}
 */function isModifierEnabled(modifiers,modifierName){return modifiers.some(function(_ref){var name=_ref.name,enabled=_ref.enabled;return enabled&&name===modifierName;});}/**
 * Get the prefixed supported property name
 * @method
 * @memberof Popper.Utils
 * @argument {String} property (camelCase)
 * @returns {String} prefixed property (camelCase or PascalCase, depending on the vendor prefix)
 */function getSupportedPropertyName(property){var prefixes=[false,'ms','Webkit','Moz','O'];var upperProp=property.charAt(0).toUpperCase()+property.slice(1);for(var i=0;i<prefixes.length;i++){var prefix=prefixes[i];var toCheck=prefix?''+prefix+upperProp:property;if(typeof document.body.style[toCheck]!=='undefined'){return toCheck;}}return null;}/**
 * Destroy the popper
 * @method
 * @memberof Popper
 */function destroy(){this.state.isDestroyed=true;// touch DOM only if `applyStyle` modifier is enabled
if(isModifierEnabled(this.modifiers,'applyStyle')){this.popper.removeAttribute('x-placement');this.popper.style.position='';this.popper.style.top='';this.popper.style.left='';this.popper.style.right='';this.popper.style.bottom='';this.popper.style.willChange='';this.popper.style[getSupportedPropertyName('transform')]='';}this.disableEventListeners();// remove the popper if user explicity asked for the deletion on destroy
// do not use `remove` because IE11 doesn't support it
if(this.options.removeOnDestroy){this.popper.parentNode.removeChild(this.popper);}return this;}/**
 * Get the window associated with the element
 * @argument {Element} element
 * @returns {Window}
 */function getWindow(element){var ownerDocument=element.ownerDocument;return ownerDocument?ownerDocument.defaultView:window;}function attachToScrollParents(scrollParent,event,callback,scrollParents){var isBody=scrollParent.nodeName==='BODY';var target=isBody?scrollParent.ownerDocument.defaultView:scrollParent;target.addEventListener(event,callback,{passive:true});if(!isBody){attachToScrollParents(getScrollParent(target.parentNode),event,callback,scrollParents);}scrollParents.push(target);}/**
 * Setup needed event listeners used to update the popper position
 * @method
 * @memberof Popper.Utils
 * @private
 */function setupEventListeners(reference,options,state,updateBound){// Resize event listener on window
state.updateBound=updateBound;getWindow(reference).addEventListener('resize',state.updateBound,{passive:true});// Scroll event listener on scroll parents
var scrollElement=getScrollParent(reference);attachToScrollParents(scrollElement,'scroll',state.updateBound,state.scrollParents);state.scrollElement=scrollElement;state.eventsEnabled=true;return state;}/**
 * It will add resize/scroll events and start recalculating
 * position of the popper element when they are triggered.
 * @method
 * @memberof Popper
 */function enableEventListeners(){if(!this.state.eventsEnabled){this.state=setupEventListeners(this.reference,this.options,this.state,this.scheduleUpdate);}}/**
 * Remove event listeners used to update the popper position
 * @method
 * @memberof Popper.Utils
 * @private
 */function removeEventListeners(reference,state){// Remove resize event listener on window
getWindow(reference).removeEventListener('resize',state.updateBound);// Remove scroll event listener on scroll parents
state.scrollParents.forEach(function(target){target.removeEventListener('scroll',state.updateBound);});// Reset state
state.updateBound=null;state.scrollParents=[];state.scrollElement=null;state.eventsEnabled=false;return state;}/**
 * It will remove resize/scroll events and won't recalculate popper position
 * when they are triggered. It also won't trigger onUpdate callback anymore,
 * unless you call `update` method manually.
 * @method
 * @memberof Popper
 */function disableEventListeners(){if(this.state.eventsEnabled){cancelAnimationFrame(this.scheduleUpdate);this.state=removeEventListeners(this.reference,this.state);}}/**
 * Tells if a given input is a number
 * @method
 * @memberof Popper.Utils
 * @param {*} input to check
 * @return {Boolean}
 */function isNumeric(n){return n!==''&&!isNaN(parseFloat(n))&&isFinite(n);}/**
 * Set the style to the given popper
 * @method
 * @memberof Popper.Utils
 * @argument {Element} element - Element to apply the style to
 * @argument {Object} styles
 * Object with a list of properties and values which will be applied to the element
 */function setStyles(element,styles){Object.keys(styles).forEach(function(prop){var unit='';// add unit if the value is numeric and is one of the following
if(['width','height','top','right','bottom','left'].indexOf(prop)!==-1&&isNumeric(styles[prop])){unit='px';}element.style[prop]=styles[prop]+unit;});}/**
 * Set the attributes to the given popper
 * @method
 * @memberof Popper.Utils
 * @argument {Element} element - Element to apply the attributes to
 * @argument {Object} styles
 * Object with a list of properties and values which will be applied to the element
 */function setAttributes(element,attributes){Object.keys(attributes).forEach(function(prop){var value=attributes[prop];if(value!==false){element.setAttribute(prop,attributes[prop]);}else{element.removeAttribute(prop);}});}/**
 * @function
 * @memberof Modifiers
 * @argument {Object} data - The data object generated by `update` method
 * @argument {Object} data.styles - List of style properties - values to apply to popper element
 * @argument {Object} data.attributes - List of attribute properties - values to apply to popper element
 * @argument {Object} options - Modifiers configuration and options
 * @returns {Object} The same data object
 */function applyStyle(data){// any property present in `data.styles` will be applied to the popper,
// in this way we can make the 3rd party modifiers add custom styles to it
// Be aware, modifiers could override the properties defined in the previous
// lines of this modifier!
setStyles(data.instance.popper,data.styles);// any property present in `data.attributes` will be applied to the popper,
// they will be set as HTML attributes of the element
setAttributes(data.instance.popper,data.attributes);// if arrowElement is defined and arrowStyles has some properties
if(data.arrowElement&&Object.keys(data.arrowStyles).length){setStyles(data.arrowElement,data.arrowStyles);}return data;}/**
 * Set the x-placement attribute before everything else because it could be used
 * to add margins to the popper margins needs to be calculated to get the
 * correct popper offsets.
 * @method
 * @memberof Popper.modifiers
 * @param {HTMLElement} reference - The reference element used to position the popper
 * @param {HTMLElement} popper - The HTML element used as popper
 * @param {Object} options - Popper.js options
 */function applyStyleOnLoad(reference,popper,options,modifierOptions,state){// compute reference element offsets
var referenceOffsets=getReferenceOffsets(state,popper,reference,options.positionFixed);// compute auto placement, store placement inside the data object,
// modifiers will be able to edit `placement` if needed
// and refer to originalPlacement to know the original value
var placement=computeAutoPlacement(options.placement,referenceOffsets,popper,reference,options.modifiers.flip.boundariesElement,options.modifiers.flip.padding);popper.setAttribute('x-placement',placement);// Apply `position` to popper before anything else because
// without the position applied we can't guarantee correct computations
setStyles(popper,{position:options.positionFixed?'fixed':'absolute'});return options;}/**
 * @function
 * @memberof Modifiers
 * @argument {Object} data - The data object generated by `update` method
 * @argument {Object} options - Modifiers configuration and options
 * @returns {Object} The data object, properly modified
 */function computeStyle(data,options){var x=options.x,y=options.y;var popper=data.offsets.popper;// Remove this legacy support in Popper.js v2
var legacyGpuAccelerationOption=find(data.instance.modifiers,function(modifier){return modifier.name==='applyStyle';}).gpuAcceleration;if(legacyGpuAccelerationOption!==undefined){console.warn('WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!');}var gpuAcceleration=legacyGpuAccelerationOption!==undefined?legacyGpuAccelerationOption:options.gpuAcceleration;var offsetParent=getOffsetParent(data.instance.popper);var offsetParentRect=getBoundingClientRect(offsetParent);// Styles
var styles={position:popper.position};// Avoid blurry text by using full pixel integers.
// For pixel-perfect positioning, top/bottom prefers rounded
// values, while left/right prefers floored values.
var offsets={left:Math.floor(popper.left),top:Math.round(popper.top),bottom:Math.round(popper.bottom),right:Math.floor(popper.right)};var sideA=x==='bottom'?'top':'bottom';var sideB=y==='right'?'left':'right';// if gpuAcceleration is set to `true` and transform is supported,
//  we use `translate3d` to apply the position to the popper we
// automatically use the supported prefixed version if needed
var prefixedProperty=getSupportedPropertyName('transform');// now, let's make a step back and look at this code closely (wtf?)
// If the content of the popper grows once it's been positioned, it
// may happen that the popper gets misplaced because of the new content
// overflowing its reference element
// To avoid this problem, we provide two options (x and y), which allow
// the consumer to define the offset origin.
// If we position a popper on top of a reference element, we can set
// `x` to `top` to make the popper grow towards its top instead of
// its bottom.
var left=void 0,top=void 0;if(sideA==='bottom'){top=-offsetParentRect.height+offsets.bottom;}else{top=offsets.top;}if(sideB==='right'){left=-offsetParentRect.width+offsets.right;}else{left=offsets.left;}if(gpuAcceleration&&prefixedProperty){styles[prefixedProperty]='translate3d('+left+'px, '+top+'px, 0)';styles[sideA]=0;styles[sideB]=0;styles.willChange='transform';}else{// othwerise, we use the standard `top`, `left`, `bottom` and `right` properties
var invertTop=sideA==='bottom'?-1:1;var invertLeft=sideB==='right'?-1:1;styles[sideA]=top*invertTop;styles[sideB]=left*invertLeft;styles.willChange=sideA+', '+sideB;}// Attributes
var attributes={'x-placement':data.placement};// Update `data` attributes, styles and arrowStyles
data.attributes=_extends({},attributes,data.attributes);data.styles=_extends({},styles,data.styles);data.arrowStyles=_extends({},data.offsets.arrow,data.arrowStyles);return data;}/**
 * Helper used to know if the given modifier depends from another one.<br />
 * It checks if the needed modifier is listed and enabled.
 * @method
 * @memberof Popper.Utils
 * @param {Array} modifiers - list of modifiers
 * @param {String} requestingName - name of requesting modifier
 * @param {String} requestedName - name of requested modifier
 * @returns {Boolean}
 */function isModifierRequired(modifiers,requestingName,requestedName){var requesting=find(modifiers,function(_ref){var name=_ref.name;return name===requestingName;});var isRequired=!!requesting&&modifiers.some(function(modifier){return modifier.name===requestedName&&modifier.enabled&&modifier.order<requesting.order;});if(!isRequired){var _requesting='`'+requestingName+'`';var requested='`'+requestedName+'`';console.warn(requested+' modifier is required by '+_requesting+' modifier in order to work, be sure to include it before '+_requesting+'!');}return isRequired;}/**
 * @function
 * @memberof Modifiers
 * @argument {Object} data - The data object generated by update method
 * @argument {Object} options - Modifiers configuration and options
 * @returns {Object} The data object, properly modified
 */function arrow(data,options){var _data$offsets$arrow;// arrow depends on keepTogether in order to work
if(!isModifierRequired(data.instance.modifiers,'arrow','keepTogether')){return data;}var arrowElement=options.element;// if arrowElement is a string, suppose it's a CSS selector
if(typeof arrowElement==='string'){arrowElement=data.instance.popper.querySelector(arrowElement);// if arrowElement is not found, don't run the modifier
if(!arrowElement){return data;}}else{// if the arrowElement isn't a query selector we must check that the
// provided DOM node is child of its popper node
if(!data.instance.popper.contains(arrowElement)){console.warn('WARNING: `arrow.element` must be child of its popper element!');return data;}}var placement=data.placement.split('-')[0];var _data$offsets=data.offsets,popper=_data$offsets.popper,reference=_data$offsets.reference;var isVertical=['left','right'].indexOf(placement)!==-1;var len=isVertical?'height':'width';var sideCapitalized=isVertical?'Top':'Left';var side=sideCapitalized.toLowerCase();var altSide=isVertical?'left':'top';var opSide=isVertical?'bottom':'right';var arrowElementSize=getOuterSizes(arrowElement)[len];//
// extends keepTogether behavior making sure the popper and its
// reference have enough pixels in conjuction
//
// top/left side
if(reference[opSide]-arrowElementSize<popper[side]){data.offsets.popper[side]-=popper[side]-(reference[opSide]-arrowElementSize);}// bottom/right side
if(reference[side]+arrowElementSize>popper[opSide]){data.offsets.popper[side]+=reference[side]+arrowElementSize-popper[opSide];}data.offsets.popper=getClientRect(data.offsets.popper);// compute center of the popper
var center=reference[side]+reference[len]/2-arrowElementSize/2;// Compute the sideValue using the updated popper offsets
// take popper margin in account because we don't have this info available
var css=getStyleComputedProperty(data.instance.popper);var popperMarginSide=parseFloat(css['margin'+sideCapitalized],10);var popperBorderSide=parseFloat(css['border'+sideCapitalized+'Width'],10);var sideValue=center-data.offsets.popper[side]-popperMarginSide-popperBorderSide;// prevent arrowElement from being placed not contiguously to its popper
sideValue=Math.max(Math.min(popper[len]-arrowElementSize,sideValue),0);data.arrowElement=arrowElement;data.offsets.arrow=(_data$offsets$arrow={},defineProperty(_data$offsets$arrow,side,Math.round(sideValue)),defineProperty(_data$offsets$arrow,altSide,''),_data$offsets$arrow);return data;}/**
 * Get the opposite placement variation of the given one
 * @method
 * @memberof Popper.Utils
 * @argument {String} placement variation
 * @returns {String} flipped placement variation
 */function getOppositeVariation(variation){if(variation==='end'){return'start';}else if(variation==='start'){return'end';}return variation;}/**
 * List of accepted placements to use as values of the `placement` option.<br />
 * Valid placements are:
 * - `auto`
 * - `top`
 * - `right`
 * - `bottom`
 * - `left`
 *
 * Each placement can have a variation from this list:
 * - `-start`
 * - `-end`
 *
 * Variations are interpreted easily if you think of them as the left to right
 * written languages. Horizontally (`top` and `bottom`), `start` is left and `end`
 * is right.<br />
 * Vertically (`left` and `right`), `start` is top and `end` is bottom.
 *
 * Some valid examples are:
 * - `top-end` (on top of reference, right aligned)
 * - `right-start` (on right of reference, top aligned)
 * - `bottom` (on bottom, centered)
 * - `auto-right` (on the side with more space available, alignment depends by placement)
 *
 * @static
 * @type {Array}
 * @enum {String}
 * @readonly
 * @method placements
 * @memberof Popper
 */var placements=['auto-start','auto','auto-end','top-start','top','top-end','right-start','right','right-end','bottom-end','bottom','bottom-start','left-end','left','left-start'];// Get rid of `auto` `auto-start` and `auto-end`
var validPlacements=placements.slice(3);/**
 * Given an initial placement, returns all the subsequent placements
 * clockwise (or counter-clockwise).
 *
 * @method
 * @memberof Popper.Utils
 * @argument {String} placement - A valid placement (it accepts variations)
 * @argument {Boolean} counter - Set to true to walk the placements counterclockwise
 * @returns {Array} placements including their variations
 */function clockwise(placement){var counter=arguments.length>1&&arguments[1]!==undefined?arguments[1]:false;var index=validPlacements.indexOf(placement);var arr=validPlacements.slice(index+1).concat(validPlacements.slice(0,index));return counter?arr.reverse():arr;}var BEHAVIORS={FLIP:'flip',CLOCKWISE:'clockwise',COUNTERCLOCKWISE:'counterclockwise'};/**
 * @function
 * @memberof Modifiers
 * @argument {Object} data - The data object generated by update method
 * @argument {Object} options - Modifiers configuration and options
 * @returns {Object} The data object, properly modified
 */function flip(data,options){// if `inner` modifier is enabled, we can't use the `flip` modifier
if(isModifierEnabled(data.instance.modifiers,'inner')){return data;}if(data.flipped&&data.placement===data.originalPlacement){// seems like flip is trying to loop, probably there's not enough space on any of the flippable sides
return data;}var boundaries=getBoundaries(data.instance.popper,data.instance.reference,options.padding,options.boundariesElement,data.positionFixed);var placement=data.placement.split('-')[0];var placementOpposite=getOppositePlacement(placement);var variation=data.placement.split('-')[1]||'';var flipOrder=[];switch(options.behavior){case BEHAVIORS.FLIP:flipOrder=[placement,placementOpposite];break;case BEHAVIORS.CLOCKWISE:flipOrder=clockwise(placement);break;case BEHAVIORS.COUNTERCLOCKWISE:flipOrder=clockwise(placement,true);break;default:flipOrder=options.behavior;}flipOrder.forEach(function(step,index){if(placement!==step||flipOrder.length===index+1){return data;}placement=data.placement.split('-')[0];placementOpposite=getOppositePlacement(placement);var popperOffsets=data.offsets.popper;var refOffsets=data.offsets.reference;// using floor because the reference offsets may contain decimals we are not going to consider here
var floor=Math.floor;var overlapsRef=placement==='left'&&floor(popperOffsets.right)>floor(refOffsets.left)||placement==='right'&&floor(popperOffsets.left)<floor(refOffsets.right)||placement==='top'&&floor(popperOffsets.bottom)>floor(refOffsets.top)||placement==='bottom'&&floor(popperOffsets.top)<floor(refOffsets.bottom);var overflowsLeft=floor(popperOffsets.left)<floor(boundaries.left);var overflowsRight=floor(popperOffsets.right)>floor(boundaries.right);var overflowsTop=floor(popperOffsets.top)<floor(boundaries.top);var overflowsBottom=floor(popperOffsets.bottom)>floor(boundaries.bottom);var overflowsBoundaries=placement==='left'&&overflowsLeft||placement==='right'&&overflowsRight||placement==='top'&&overflowsTop||placement==='bottom'&&overflowsBottom;// flip the variation if required
var isVertical=['top','bottom'].indexOf(placement)!==-1;var flippedVariation=!!options.flipVariations&&(isVertical&&variation==='start'&&overflowsLeft||isVertical&&variation==='end'&&overflowsRight||!isVertical&&variation==='start'&&overflowsTop||!isVertical&&variation==='end'&&overflowsBottom);if(overlapsRef||overflowsBoundaries||flippedVariation){// this boolean to detect any flip loop
data.flipped=true;if(overlapsRef||overflowsBoundaries){placement=flipOrder[index+1];}if(flippedVariation){variation=getOppositeVariation(variation);}data.placement=placement+(variation?'-'+variation:'');// this object contains `position`, we want to preserve it along with
// any additional property we may add in the future
data.offsets.popper=_extends({},data.offsets.popper,getPopperOffsets(data.instance.popper,data.offsets.reference,data.placement));data=runModifiers(data.instance.modifiers,data,'flip');}});return data;}/**
 * @function
 * @memberof Modifiers
 * @argument {Object} data - The data object generated by update method
 * @argument {Object} options - Modifiers configuration and options
 * @returns {Object} The data object, properly modified
 */function keepTogether(data){var _data$offsets=data.offsets,popper=_data$offsets.popper,reference=_data$offsets.reference;var placement=data.placement.split('-')[0];var floor=Math.floor;var isVertical=['top','bottom'].indexOf(placement)!==-1;var side=isVertical?'right':'bottom';var opSide=isVertical?'left':'top';var measurement=isVertical?'width':'height';if(popper[side]<floor(reference[opSide])){data.offsets.popper[opSide]=floor(reference[opSide])-popper[measurement];}if(popper[opSide]>floor(reference[side])){data.offsets.popper[opSide]=floor(reference[side]);}return data;}/**
 * Converts a string containing value + unit into a px value number
 * @function
 * @memberof {modifiers~offset}
 * @private
 * @argument {String} str - Value + unit string
 * @argument {String} measurement - `height` or `width`
 * @argument {Object} popperOffsets
 * @argument {Object} referenceOffsets
 * @returns {Number|String}
 * Value in pixels, or original string if no values were extracted
 */function toValue(str,measurement,popperOffsets,referenceOffsets){// separate value from unit
var split=str.match(/((?:\-|\+)?\d*\.?\d*)(.*)/);var value=+split[1];var unit=split[2];// If it's not a number it's an operator, I guess
if(!value){return str;}if(unit.indexOf('%')===0){var element=void 0;switch(unit){case'%p':element=popperOffsets;break;case'%':case'%r':default:element=referenceOffsets;}var rect=getClientRect(element);return rect[measurement]/100*value;}else if(unit==='vh'||unit==='vw'){// if is a vh or vw, we calculate the size based on the viewport
var size=void 0;if(unit==='vh'){size=Math.max(document.documentElement.clientHeight,window.innerHeight||0);}else{size=Math.max(document.documentElement.clientWidth,window.innerWidth||0);}return size/100*value;}else{// if is an explicit pixel unit, we get rid of the unit and keep the value
// if is an implicit unit, it's px, and we return just the value
return value;}}/**
 * Parse an `offset` string to extrapolate `x` and `y` numeric offsets.
 * @function
 * @memberof {modifiers~offset}
 * @private
 * @argument {String} offset
 * @argument {Object} popperOffsets
 * @argument {Object} referenceOffsets
 * @argument {String} basePlacement
 * @returns {Array} a two cells array with x and y offsets in numbers
 */function parseOffset(offset,popperOffsets,referenceOffsets,basePlacement){var offsets=[0,0];// Use height if placement is left or right and index is 0 otherwise use width
// in this way the first offset will use an axis and the second one
// will use the other one
var useHeight=['right','left'].indexOf(basePlacement)!==-1;// Split the offset string to obtain a list of values and operands
// The regex addresses values with the plus or minus sign in front (+10, -20, etc)
var fragments=offset.split(/(\+|\-)/).map(function(frag){return frag.trim();});// Detect if the offset string contains a pair of values or a single one
// they could be separated by comma or space
var divider=fragments.indexOf(find(fragments,function(frag){return frag.search(/,|\s/)!==-1;}));if(fragments[divider]&&fragments[divider].indexOf(',')===-1){console.warn('Offsets separated by white space(s) are deprecated, use a comma (,) instead.');}// If divider is found, we divide the list of values and operands to divide
// them by ofset X and Y.
var splitRegex=/\s*,\s*|\s+/;var ops=divider!==-1?[fragments.slice(0,divider).concat([fragments[divider].split(splitRegex)[0]]),[fragments[divider].split(splitRegex)[1]].concat(fragments.slice(divider+1))]:[fragments];// Convert the values with units to absolute pixels to allow our computations
ops=ops.map(function(op,index){// Most of the units rely on the orientation of the popper
var measurement=(index===1?!useHeight:useHeight)?'height':'width';var mergeWithPrevious=false;return op// This aggregates any `+` or `-` sign that aren't considered operators
// e.g.: 10 + +5 => [10, +, +5]
.reduce(function(a,b){if(a[a.length-1]===''&&['+','-'].indexOf(b)!==-1){a[a.length-1]=b;mergeWithPrevious=true;return a;}else if(mergeWithPrevious){a[a.length-1]+=b;mergeWithPrevious=false;return a;}else{return a.concat(b);}},[])// Here we convert the string values into number values (in px)
.map(function(str){return toValue(str,measurement,popperOffsets,referenceOffsets);});});// Loop trough the offsets arrays and execute the operations
ops.forEach(function(op,index){op.forEach(function(frag,index2){if(isNumeric(frag)){offsets[index]+=frag*(op[index2-1]==='-'?-1:1);}});});return offsets;}/**
 * @function
 * @memberof Modifiers
 * @argument {Object} data - The data object generated by update method
 * @argument {Object} options - Modifiers configuration and options
 * @argument {Number|String} options.offset=0
 * The offset value as described in the modifier description
 * @returns {Object} The data object, properly modified
 */function offset(data,_ref){var offset=_ref.offset;var placement=data.placement,_data$offsets=data.offsets,popper=_data$offsets.popper,reference=_data$offsets.reference;var basePlacement=placement.split('-')[0];var offsets=void 0;if(isNumeric(+offset)){offsets=[+offset,0];}else{offsets=parseOffset(offset,popper,reference,basePlacement);}if(basePlacement==='left'){popper.top+=offsets[0];popper.left-=offsets[1];}else if(basePlacement==='right'){popper.top+=offsets[0];popper.left+=offsets[1];}else if(basePlacement==='top'){popper.left+=offsets[0];popper.top-=offsets[1];}else if(basePlacement==='bottom'){popper.left+=offsets[0];popper.top+=offsets[1];}data.popper=popper;return data;}/**
 * @function
 * @memberof Modifiers
 * @argument {Object} data - The data object generated by `update` method
 * @argument {Object} options - Modifiers configuration and options
 * @returns {Object} The data object, properly modified
 */function preventOverflow(data,options){var boundariesElement=options.boundariesElement||getOffsetParent(data.instance.popper);// If offsetParent is the reference element, we really want to
// go one step up and use the next offsetParent as reference to
// avoid to make this modifier completely useless and look like broken
if(data.instance.reference===boundariesElement){boundariesElement=getOffsetParent(boundariesElement);}// NOTE: DOM access here
// resets the popper's position so that the document size can be calculated excluding
// the size of the popper element itself
var transformProp=getSupportedPropertyName('transform');var popperStyles=data.instance.popper.style;// assignment to help minification
var top=popperStyles.top,left=popperStyles.left,transform=popperStyles[transformProp];popperStyles.top='';popperStyles.left='';popperStyles[transformProp]='';var boundaries=getBoundaries(data.instance.popper,data.instance.reference,options.padding,boundariesElement,data.positionFixed);// NOTE: DOM access here
// restores the original style properties after the offsets have been computed
popperStyles.top=top;popperStyles.left=left;popperStyles[transformProp]=transform;options.boundaries=boundaries;var order=options.priority;var popper=data.offsets.popper;var check={primary:function primary(placement){var value=popper[placement];if(popper[placement]<boundaries[placement]&&!options.escapeWithReference){value=Math.max(popper[placement],boundaries[placement]);}return defineProperty({},placement,value);},secondary:function secondary(placement){var mainSide=placement==='right'?'left':'top';var value=popper[mainSide];if(popper[placement]>boundaries[placement]&&!options.escapeWithReference){value=Math.min(popper[mainSide],boundaries[placement]-(placement==='right'?popper.width:popper.height));}return defineProperty({},mainSide,value);}};order.forEach(function(placement){var side=['left','top'].indexOf(placement)!==-1?'primary':'secondary';popper=_extends({},popper,check[side](placement));});data.offsets.popper=popper;return data;}/**
 * @function
 * @memberof Modifiers
 * @argument {Object} data - The data object generated by `update` method
 * @argument {Object} options - Modifiers configuration and options
 * @returns {Object} The data object, properly modified
 */function shift(data){var placement=data.placement;var basePlacement=placement.split('-')[0];var shiftvariation=placement.split('-')[1];// if shift shiftvariation is specified, run the modifier
if(shiftvariation){var _data$offsets=data.offsets,reference=_data$offsets.reference,popper=_data$offsets.popper;var isVertical=['bottom','top'].indexOf(basePlacement)!==-1;var side=isVertical?'left':'top';var measurement=isVertical?'width':'height';var shiftOffsets={start:defineProperty({},side,reference[side]),end:defineProperty({},side,reference[side]+reference[measurement]-popper[measurement])};data.offsets.popper=_extends({},popper,shiftOffsets[shiftvariation]);}return data;}/**
 * @function
 * @memberof Modifiers
 * @argument {Object} data - The data object generated by update method
 * @argument {Object} options - Modifiers configuration and options
 * @returns {Object} The data object, properly modified
 */function hide(data){if(!isModifierRequired(data.instance.modifiers,'hide','preventOverflow')){return data;}var refRect=data.offsets.reference;var bound=find(data.instance.modifiers,function(modifier){return modifier.name==='preventOverflow';}).boundaries;if(refRect.bottom<bound.top||refRect.left>bound.right||refRect.top>bound.bottom||refRect.right<bound.left){// Avoid unnecessary DOM access if visibility hasn't changed
if(data.hide===true){return data;}data.hide=true;data.attributes['x-out-of-boundaries']='';}else{// Avoid unnecessary DOM access if visibility hasn't changed
if(data.hide===false){return data;}data.hide=false;data.attributes['x-out-of-boundaries']=false;}return data;}/**
 * @function
 * @memberof Modifiers
 * @argument {Object} data - The data object generated by `update` method
 * @argument {Object} options - Modifiers configuration and options
 * @returns {Object} The data object, properly modified
 */function inner(data){var placement=data.placement;var basePlacement=placement.split('-')[0];var _data$offsets=data.offsets,popper=_data$offsets.popper,reference=_data$offsets.reference;var isHoriz=['left','right'].indexOf(basePlacement)!==-1;var subtractLength=['top','left'].indexOf(basePlacement)===-1;popper[isHoriz?'left':'top']=reference[basePlacement]-(subtractLength?popper[isHoriz?'width':'height']:0);data.placement=getOppositePlacement(placement);data.offsets.popper=getClientRect(popper);return data;}/**
 * Modifier function, each modifier can have a function of this type assigned
 * to its `fn` property.<br />
 * These functions will be called on each update, this means that you must
 * make sure they are performant enough to avoid performance bottlenecks.
 *
 * @function ModifierFn
 * @argument {dataObject} data - The data object generated by `update` method
 * @argument {Object} options - Modifiers configuration and options
 * @returns {dataObject} The data object, properly modified
 *//**
 * Modifiers are plugins used to alter the behavior of your poppers.<br />
 * Popper.js uses a set of 9 modifiers to provide all the basic functionalities
 * needed by the library.
 *
 * Usually you don't want to override the `order`, `fn` and `onLoad` props.
 * All the other properties are configurations that could be tweaked.
 * @namespace modifiers
 */var modifiers={/**
   * Modifier used to shift the popper on the start or end of its reference
   * element.<br />
   * It will read the variation of the `placement` property.<br />
   * It can be one either `-end` or `-start`.
   * @memberof modifiers
   * @inner
   */shift:{/** @prop {number} order=100 - Index used to define the order of execution */order:100,/** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */enabled:true,/** @prop {ModifierFn} */fn:shift},/**
   * The `offset` modifier can shift your popper on both its axis.
   *
   * It accepts the following units:
   * - `px` or unitless, interpreted as pixels
   * - `%` or `%r`, percentage relative to the length of the reference element
   * - `%p`, percentage relative to the length of the popper element
   * - `vw`, CSS viewport width unit
   * - `vh`, CSS viewport height unit
   *
   * For length is intended the main axis relative to the placement of the popper.<br />
   * This means that if the placement is `top` or `bottom`, the length will be the
   * `width`. In case of `left` or `right`, it will be the height.
   *
   * You can provide a single value (as `Number` or `String`), or a pair of values
   * as `String` divided by a comma or one (or more) white spaces.<br />
   * The latter is a deprecated method because it leads to confusion and will be
   * removed in v2.<br />
   * Additionally, it accepts additions and subtractions between different units.
   * Note that multiplications and divisions aren't supported.
   *
   * Valid examples are:
   * ```
   * 10
   * '10%'
   * '10, 10'
   * '10%, 10'
   * '10 + 10%'
   * '10 - 5vh + 3%'
   * '-10px + 5vh, 5px - 6%'
   * ```
   * > **NB**: If you desire to apply offsets to your poppers in a way that may make them overlap
   * > with their reference element, unfortunately, you will have to disable the `flip` modifier.
   * > More on this [reading this issue](https://github.com/FezVrasta/popper.js/issues/373)
   *
   * @memberof modifiers
   * @inner
   */offset:{/** @prop {number} order=200 - Index used to define the order of execution */order:200,/** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */enabled:true,/** @prop {ModifierFn} */fn:offset,/** @prop {Number|String} offset=0
     * The offset value as described in the modifier description
     */offset:0},/**
   * Modifier used to prevent the popper from being positioned outside the boundary.
   *
   * An scenario exists where the reference itself is not within the boundaries.<br />
   * We can say it has "escaped the boundaries" — or just "escaped".<br />
   * In this case we need to decide whether the popper should either:
   *
   * - detach from the reference and remain "trapped" in the boundaries, or
   * - if it should ignore the boundary and "escape with its reference"
   *
   * When `escapeWithReference` is set to`true` and reference is completely
   * outside its boundaries, the popper will overflow (or completely leave)
   * the boundaries in order to remain attached to the edge of the reference.
   *
   * @memberof modifiers
   * @inner
   */preventOverflow:{/** @prop {number} order=300 - Index used to define the order of execution */order:300,/** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */enabled:true,/** @prop {ModifierFn} */fn:preventOverflow,/**
     * @prop {Array} [priority=['left','right','top','bottom']]
     * Popper will try to prevent overflow following these priorities by default,
     * then, it could overflow on the left and on top of the `boundariesElement`
     */priority:['left','right','top','bottom'],/**
     * @prop {number} padding=5
     * Amount of pixel used to define a minimum distance between the boundaries
     * and the popper this makes sure the popper has always a little padding
     * between the edges of its container
     */padding:5,/**
     * @prop {String|HTMLElement} boundariesElement='scrollParent'
     * Boundaries used by the modifier, can be `scrollParent`, `window`,
     * `viewport` or any DOM element.
     */boundariesElement:'scrollParent'},/**
   * Modifier used to make sure the reference and its popper stay near eachothers
   * without leaving any gap between the two. Expecially useful when the arrow is
   * enabled and you want to assure it to point to its reference element.
   * It cares only about the first axis, you can still have poppers with margin
   * between the popper and its reference element.
   * @memberof modifiers
   * @inner
   */keepTogether:{/** @prop {number} order=400 - Index used to define the order of execution */order:400,/** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */enabled:true,/** @prop {ModifierFn} */fn:keepTogether},/**
   * This modifier is used to move the `arrowElement` of the popper to make
   * sure it is positioned between the reference element and its popper element.
   * It will read the outer size of the `arrowElement` node to detect how many
   * pixels of conjuction are needed.
   *
   * It has no effect if no `arrowElement` is provided.
   * @memberof modifiers
   * @inner
   */arrow:{/** @prop {number} order=500 - Index used to define the order of execution */order:500,/** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */enabled:true,/** @prop {ModifierFn} */fn:arrow,/** @prop {String|HTMLElement} element='[x-arrow]' - Selector or node used as arrow */element:'[x-arrow]'},/**
   * Modifier used to flip the popper's placement when it starts to overlap its
   * reference element.
   *
   * Requires the `preventOverflow` modifier before it in order to work.
   *
   * **NOTE:** this modifier will interrupt the current update cycle and will
   * restart it if it detects the need to flip the placement.
   * @memberof modifiers
   * @inner
   */flip:{/** @prop {number} order=600 - Index used to define the order of execution */order:600,/** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */enabled:true,/** @prop {ModifierFn} */fn:flip,/**
     * @prop {String|Array} behavior='flip'
     * The behavior used to change the popper's placement. It can be one of
     * `flip`, `clockwise`, `counterclockwise` or an array with a list of valid
     * placements (with optional variations).
     */behavior:'flip',/**
     * @prop {number} padding=5
     * The popper will flip if it hits the edges of the `boundariesElement`
     */padding:5,/**
     * @prop {String|HTMLElement} boundariesElement='viewport'
     * The element which will define the boundaries of the popper position,
     * the popper will never be placed outside of the defined boundaries
     * (except if keepTogether is enabled)
     */boundariesElement:'viewport'},/**
   * Modifier used to make the popper flow toward the inner of the reference element.
   * By default, when this modifier is disabled, the popper will be placed outside
   * the reference element.
   * @memberof modifiers
   * @inner
   */inner:{/** @prop {number} order=700 - Index used to define the order of execution */order:700,/** @prop {Boolean} enabled=false - Whether the modifier is enabled or not */enabled:false,/** @prop {ModifierFn} */fn:inner},/**
   * Modifier used to hide the popper when its reference element is outside of the
   * popper boundaries. It will set a `x-out-of-boundaries` attribute which can
   * be used to hide with a CSS selector the popper when its reference is
   * out of boundaries.
   *
   * Requires the `preventOverflow` modifier before it in order to work.
   * @memberof modifiers
   * @inner
   */hide:{/** @prop {number} order=800 - Index used to define the order of execution */order:800,/** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */enabled:true,/** @prop {ModifierFn} */fn:hide},/**
   * Computes the style that will be applied to the popper element to gets
   * properly positioned.
   *
   * Note that this modifier will not touch the DOM, it just prepares the styles
   * so that `applyStyle` modifier can apply it. This separation is useful
   * in case you need to replace `applyStyle` with a custom implementation.
   *
   * This modifier has `850` as `order` value to maintain backward compatibility
   * with previous versions of Popper.js. Expect the modifiers ordering method
   * to change in future major versions of the library.
   *
   * @memberof modifiers
   * @inner
   */computeStyle:{/** @prop {number} order=850 - Index used to define the order of execution */order:850,/** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */enabled:true,/** @prop {ModifierFn} */fn:computeStyle,/**
     * @prop {Boolean} gpuAcceleration=true
     * If true, it uses the CSS 3d transformation to position the popper.
     * Otherwise, it will use the `top` and `left` properties.
     */gpuAcceleration:true,/**
     * @prop {string} [x='bottom']
     * Where to anchor the X axis (`bottom` or `top`). AKA X offset origin.
     * Change this if your popper should grow in a direction different from `bottom`
     */x:'bottom',/**
     * @prop {string} [x='left']
     * Where to anchor the Y axis (`left` or `right`). AKA Y offset origin.
     * Change this if your popper should grow in a direction different from `right`
     */y:'right'},/**
   * Applies the computed styles to the popper element.
   *
   * All the DOM manipulations are limited to this modifier. This is useful in case
   * you want to integrate Popper.js inside a framework or view library and you
   * want to delegate all the DOM manipulations to it.
   *
   * Note that if you disable this modifier, you must make sure the popper element
   * has its position set to `absolute` before Popper.js can do its work!
   *
   * Just disable this modifier and define you own to achieve the desired effect.
   *
   * @memberof modifiers
   * @inner
   */applyStyle:{/** @prop {number} order=900 - Index used to define the order of execution */order:900,/** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */enabled:true,/** @prop {ModifierFn} */fn:applyStyle,/** @prop {Function} */onLoad:applyStyleOnLoad,/**
     * @deprecated since version 1.10.0, the property moved to `computeStyle` modifier
     * @prop {Boolean} gpuAcceleration=true
     * If true, it uses the CSS 3d transformation to position the popper.
     * Otherwise, it will use the `top` and `left` properties.
     */gpuAcceleration:undefined}};/**
 * The `dataObject` is an object containing all the informations used by Popper.js
 * this object get passed to modifiers and to the `onCreate` and `onUpdate` callbacks.
 * @name dataObject
 * @property {Object} data.instance The Popper.js instance
 * @property {String} data.placement Placement applied to popper
 * @property {String} data.originalPlacement Placement originally defined on init
 * @property {Boolean} data.flipped True if popper has been flipped by flip modifier
 * @property {Boolean} data.hide True if the reference element is out of boundaries, useful to know when to hide the popper.
 * @property {HTMLElement} data.arrowElement Node used as arrow by arrow modifier
 * @property {Object} data.styles Any CSS property defined here will be applied to the popper, it expects the JavaScript nomenclature (eg. `marginBottom`)
 * @property {Object} data.arrowStyles Any CSS property defined here will be applied to the popper arrow, it expects the JavaScript nomenclature (eg. `marginBottom`)
 * @property {Object} data.boundaries Offsets of the popper boundaries
 * @property {Object} data.offsets The measurements of popper, reference and arrow elements.
 * @property {Object} data.offsets.popper `top`, `left`, `width`, `height` values
 * @property {Object} data.offsets.reference `top`, `left`, `width`, `height` values
 * @property {Object} data.offsets.arrow] `top` and `left` offsets, only one of them will be different from 0
 *//**
 * Default options provided to Popper.js constructor.<br />
 * These can be overriden using the `options` argument of Popper.js.<br />
 * To override an option, simply pass as 3rd argument an object with the same
 * structure of this object, example:
 * ```
 * new Popper(ref, pop, {
 *   modifiers: {
 *     preventOverflow: { enabled: false }
 *   }
 * })
 * ```
 * @type {Object}
 * @static
 * @memberof Popper
 */var Defaults={/**
   * Popper's placement
   * @prop {Popper.placements} placement='bottom'
   */placement:'bottom',/**
   * Set this to true if you want popper to position it self in 'fixed' mode
   * @prop {Boolean} positionFixed=false
   */positionFixed:false,/**
   * Whether events (resize, scroll) are initially enabled
   * @prop {Boolean} eventsEnabled=true
   */eventsEnabled:true,/**
   * Set to true if you want to automatically remove the popper when
   * you call the `destroy` method.
   * @prop {Boolean} removeOnDestroy=false
   */removeOnDestroy:false,/**
   * Callback called when the popper is created.<br />
   * By default, is set to no-op.<br />
   * Access Popper.js instance with `data.instance`.
   * @prop {onCreate}
   */onCreate:function onCreate(){},/**
   * Callback called when the popper is updated, this callback is not called
   * on the initialization/creation of the popper, but only on subsequent
   * updates.<br />
   * By default, is set to no-op.<br />
   * Access Popper.js instance with `data.instance`.
   * @prop {onUpdate}
   */onUpdate:function onUpdate(){},/**
   * List of modifiers used to modify the offsets before they are applied to the popper.
   * They provide most of the functionalities of Popper.js
   * @prop {modifiers}
   */modifiers:modifiers};/**
 * @callback onCreate
 * @param {dataObject} data
 *//**
 * @callback onUpdate
 * @param {dataObject} data
 */// Utils
// Methods
var Popper=function(){/**
   * Create a new Popper.js instance
   * @class Popper
   * @param {HTMLElement|referenceObject} reference - The reference element used to position the popper
   * @param {HTMLElement} popper - The HTML element used as popper.
   * @param {Object} options - Your custom options to override the ones defined in [Defaults](#defaults)
   * @return {Object} instance - The generated Popper.js instance
   */function Popper(reference,popper){var _this=this;var options=arguments.length>2&&arguments[2]!==undefined?arguments[2]:{};classCallCheck(this,Popper);this.scheduleUpdate=function(){return requestAnimationFrame(_this.update);};// make update() debounced, so that it only runs at most once-per-tick
this.update=debounce(this.update.bind(this));// with {} we create a new object with the options inside it
this.options=_extends({},Popper.Defaults,options);// init state
this.state={isDestroyed:false,isCreated:false,scrollParents:[]};// get reference and popper elements (allow jQuery wrappers)
this.reference=reference&&reference.jquery?reference[0]:reference;this.popper=popper&&popper.jquery?popper[0]:popper;// Deep merge modifiers options
this.options.modifiers={};Object.keys(_extends({},Popper.Defaults.modifiers,options.modifiers)).forEach(function(name){_this.options.modifiers[name]=_extends({},Popper.Defaults.modifiers[name]||{},options.modifiers?options.modifiers[name]:{});});// Refactoring modifiers' list (Object => Array)
this.modifiers=Object.keys(this.options.modifiers).map(function(name){return _extends({name:name},_this.options.modifiers[name]);})// sort the modifiers by order
.sort(function(a,b){return a.order-b.order;});// modifiers have the ability to execute arbitrary code when Popper.js get inited
// such code is executed in the same order of its modifier
// they could add new properties to their options configuration
// BE AWARE: don't add options to `options.modifiers.name` but to `modifierOptions`!
this.modifiers.forEach(function(modifierOptions){if(modifierOptions.enabled&&isFunction(modifierOptions.onLoad)){modifierOptions.onLoad(_this.reference,_this.popper,_this.options,modifierOptions,_this.state);}});// fire the first update to position the popper in the right place
this.update();var eventsEnabled=this.options.eventsEnabled;if(eventsEnabled){// setup event listeners, they will take care of update the position in specific situations
this.enableEventListeners();}this.state.eventsEnabled=eventsEnabled;}// We can't use class properties because they don't get listed in the
// class prototype and break stuff like Sinon stubs
createClass(Popper,[{key:'update',value:function update$$1(){return update.call(this);}},{key:'destroy',value:function destroy$$1(){return destroy.call(this);}},{key:'enableEventListeners',value:function enableEventListeners$$1(){return enableEventListeners.call(this);}},{key:'disableEventListeners',value:function disableEventListeners$$1(){return disableEventListeners.call(this);}/**
     * Schedule an update, it will run on the next UI update available
     * @method scheduleUpdate
     * @memberof Popper
     *//**
     * Collection of utilities useful when writing custom modifiers.
     * Starting from version 1.7, this method is available only if you
     * include `popper-utils.js` before `popper.js`.
     *
     * **DEPRECATION**: This way to access PopperUtils is deprecated
     * and will be removed in v2! Use the PopperUtils module directly instead.
     * Due to the high instability of the methods contained in Utils, we can't
     * guarantee them to follow semver. Use them at your own risk!
     * @static
     * @private
     * @type {Object}
     * @deprecated since version 1.8
     * @member Utils
     * @memberof Popper
     */}]);return Popper;}();/**
 * The `referenceObject` is an object that provides an interface compatible with Popper.js
 * and lets you use it as replacement of a real DOM node.<br />
 * You can use this method to position a popper relatively to a set of coordinates
 * in case you don't have a DOM node to use as reference.
 *
 * ```
 * new Popper(referenceObject, popperNode);
 * ```
 *
 * NB: This feature isn't supported in Internet Explorer 10
 * @name referenceObject
 * @property {Function} data.getBoundingClientRect
 * A function that returns a set of coordinates compatible with the native `getBoundingClientRect` method.
 * @property {number} data.clientWidth
 * An ES6 getter that will return the width of the virtual reference element.
 * @property {number} data.clientHeight
 * An ES6 getter that will return the height of the virtual reference element.
 */Popper.Utils=(typeof window!=='undefined'?window:global).PopperUtils;Popper.placements=placements;Popper.Defaults=Defaults;var SVGAnimatedString=function SVGAnimatedString(){};if(typeof window!=='undefined'){SVGAnimatedString=window.SVGAnimatedString;}function convertToArray(value){if(typeof value==='string'){value=value.split(' ');}return value;}/**
 * Add classes to an element.
 * This method checks to ensure that the classes don't already exist before adding them.
 * It uses el.className rather than classList in order to be IE friendly.
 * @param {object} el - The element to add the classes to.
 * @param {classes} string - List of space separated classes to be added to the element.
 */function addClasses(el,classes){var newClasses=convertToArray(classes);var classList=void 0;if(el.className instanceof SVGAnimatedString){classList=convertToArray(el.className.baseVal);}else{classList=convertToArray(el.className);}newClasses.forEach(function(newClass){if(classList.indexOf(newClass)===-1){classList.push(newClass);}});if(el instanceof SVGElement){el.setAttribute('class',classList.join(' '));}else{el.className=classList.join(' ');}}/**
 * Remove classes from an element.
 * It uses el.className rather than classList in order to be IE friendly.
 * @export
 * @param {any} el The element to remove the classes from.
 * @param {any} classes List of space separated classes to be removed from the element.
 */function removeClasses(el,classes){var newClasses=convertToArray(classes);var classList=void 0;if(el.className instanceof SVGAnimatedString){classList=convertToArray(el.className.baseVal);}else{classList=convertToArray(el.className);}newClasses.forEach(function(newClass){var index=classList.indexOf(newClass);if(index!==-1){classList.splice(index,1);}});if(el instanceof SVGElement){el.setAttribute('class',classList.join(' '));}else{el.className=classList.join(' ');}}var supportsPassive=false;if(typeof window!=='undefined'){supportsPassive=false;try{var opts=Object.defineProperty({},'passive',{get:function get(){supportsPassive=true;}});window.addEventListener('test',null,opts);}catch(e){}}var _typeof=typeof Symbol==="function"&&_typeof2(Symbol.iterator)==="symbol"?function(obj){return typeof obj==='undefined'?'undefined':_typeof2(obj);}:function(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj==='undefined'?'undefined':_typeof2(obj);};var classCallCheck$1=function classCallCheck$1(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}};var createClass$1=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor;};}();var _extends$1=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};/* Forked from https://github.com/FezVrasta/popper.js/blob/master/packages/tooltip/src/index.js */var DEFAULT_OPTIONS={container:false,delay:0,html:false,placement:'top',title:'',template:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:'hover focus',offset:0};var openTooltips=[];var Tooltip=function(){/**
  * Create a new Tooltip.js instance
  * @class Tooltip
  * @param {HTMLElement} reference - The DOM node used as reference of the tooltip (it can be a jQuery element).
  * @param {Object} options
  * @param {String} options.placement=bottom
  *			Placement of the popper accepted values: `top(-start, -end), right(-start, -end), bottom(-start, -end),
  *			left(-start, -end)`
  * @param {HTMLElement|String|false} options.container=false - Append the tooltip to a specific element.
  * @param {Number|Object} options.delay=0
  *			Delay showing and hiding the tooltip (ms) - does not apply to manual trigger type.
  *			If a number is supplied, delay is applied to both hide/show.
  *			Object structure is: `{ show: 500, hide: 100 }`
  * @param {Boolean} options.html=false - Insert HTML into the tooltip. If false, the content will inserted with `innerText`.
  * @param {String|PlacementFunction} options.placement='top' - One of the allowed placements, or a function returning one of them.
  * @param {String} [options.template='<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>']
  *			Base HTML to used when creating the tooltip.
  *			The tooltip's `title` will be injected into the `.tooltip-inner` or `.tooltip__inner`.
  *			`.tooltip-arrow` or `.tooltip__arrow` will become the tooltip's arrow.
  *			The outermost wrapper element should have the `.tooltip` class.
  * @param {String|HTMLElement|TitleFunction} options.title='' - Default title value if `title` attribute isn't present.
  * @param {String} [options.trigger='hover focus']
  *			How tooltip is triggered - click, hover, focus, manual.
  *			You may pass multiple triggers; separate them with a space. `manual` cannot be combined with any other trigger.
  * @param {HTMLElement} options.boundariesElement
  *			The element used as boundaries for the tooltip. For more information refer to Popper.js'
  *			[boundariesElement docs](https://popper.js.org/popper-documentation.html)
  * @param {Number|String} options.offset=0 - Offset of the tooltip relative to its reference. For more information refer to Popper.js'
  *			[offset docs](https://popper.js.org/popper-documentation.html)
  * @param {Object} options.popperOptions={} - Popper options, will be passed directly to popper instance. For more information refer to Popper.js'
  *			[options docs](https://popper.js.org/popper-documentation.html)
  * @return {Object} instance - The generated tooltip instance
  */function Tooltip(reference,options){classCallCheck$1(this,Tooltip);_initialiseProps.call(this);// apply user options over default ones
options=_extends$1({},DEFAULT_OPTIONS,options);reference.jquery&&(reference=reference[0]);// cache reference and options
this.reference=reference;this.options=options;// set initial state
this._isOpen=false;this._init();}//
// Public methods
//
/**
  * Reveals an element's tooltip. This is considered a "manual" triggering of the tooltip.
  * Tooltips with zero-length titles are never displayed.
  * @method Tooltip#show
  * @memberof Tooltip
  *//**
  * Hides an element’s tooltip. This is considered a “manual” triggering of the tooltip.
  * @method Tooltip#hide
  * @memberof Tooltip
  *//**
  * Hides and destroys an element’s tooltip.
  * @method Tooltip#dispose
  * @memberof Tooltip
  *//**
  * Toggles an element’s tooltip. This is considered a “manual” triggering of the tooltip.
  * @method Tooltip#toggle
  * @memberof Tooltip
  */createClass$1(Tooltip,[{key:'setClasses',value:function setClasses(classes){this._classes=classes;}},{key:'setContent',value:function setContent(content){this.options.title=content;if(this._tooltipNode){this._setContent(content,this.options);}}},{key:'setOptions',value:function setOptions(options){var classesUpdated=false;var classes=options&&options.classes||directive.options.defaultClass;if(this._classes!==classes){this.setClasses(classes);classesUpdated=true;}options=getOptions(options);var needPopperUpdate=false;var needRestart=false;if(this.options.offset!==options.offset||this.options.placement!==options.placement){needPopperUpdate=true;}if(this.options.template!==options.template||this.options.trigger!==options.trigger||this.options.container!==options.container||classesUpdated){needRestart=true;}for(var key in options){this.options[key]=options[key];}if(this._tooltipNode){if(needRestart){var isOpen=this._isOpen;this.dispose();this._init();if(isOpen){this.show();}}else if(needPopperUpdate){this.popperInstance.update();}}}//
// Private methods
//
},{key:'_init',value:function _init(){// get events list
var events=typeof this.options.trigger==='string'?this.options.trigger.split(' ').filter(function(trigger){return['click','hover','focus'].indexOf(trigger)!==-1;}):[];this._isDisposed=false;this._enableDocumentTouch=events.indexOf('manual')===-1;// set event listeners
this._setEventListeners(this.reference,events,this.options);}/**
   * Creates a new tooltip node
   * @memberof Tooltip
   * @private
   * @param {HTMLElement} reference
   * @param {String} template
   * @param {String|HTMLElement|TitleFunction} title
   * @param {Boolean} allowHtml
   * @return {HTMLelement} tooltipNode
   */},{key:'_create',value:function _create(reference,template){// create tooltip element
var tooltipGenerator=window.document.createElement('div');tooltipGenerator.innerHTML=template.trim();var tooltipNode=tooltipGenerator.childNodes[0];// add unique ID to our tooltip (needed for accessibility reasons)
tooltipNode.id='tooltip_'+Math.random().toString(36).substr(2,10);// Initially hide the tooltip
// The attribute will be switched in a next frame so
// CSS transitions can play
tooltipNode.setAttribute('aria-hidden','true');if(this.options.autoHide&&this.options.trigger.indexOf('hover')!==-1){tooltipNode.addEventListener('mouseenter',this.hide);tooltipNode.addEventListener('click',this.hide);}// return the generated tooltip node
return tooltipNode;}},{key:'_setContent',value:function _setContent(content,options){var _this=this;this.asyncContent=false;this._applyContent(content,options).then(function(){_this.popperInstance.update();});}},{key:'_applyContent',value:function _applyContent(title,options){var _this2=this;return new Promise(function(resolve,reject){var allowHtml=options.html;var rootNode=_this2._tooltipNode;if(!rootNode)return;var titleNode=rootNode.querySelector(_this2.options.innerSelector);if(title.nodeType===1){// if title is a node, append it only if allowHtml is true
if(allowHtml){while(titleNode.firstChild){titleNode.removeChild(titleNode.firstChild);}titleNode.appendChild(title);}}else if(typeof title==='function'){// if title is a function, call it and set innerText or innerHtml depending by `allowHtml` value
var result=title();if(result&&typeof result.then==='function'){_this2.asyncContent=true;options.loadingClass&&addClasses(rootNode,options.loadingClass);if(options.loadingContent){_this2._applyContent(options.loadingContent,options);}result.then(function(asyncResult){options.loadingClass&&removeClasses(rootNode,options.loadingClass);return _this2._applyContent(asyncResult,options);}).then(resolve).catch(reject);}else{_this2._applyContent(result,options).then(resolve).catch(reject);}return;}else{// if it's just a simple text, set innerText or innerHtml depending by `allowHtml` value
allowHtml?titleNode.innerHTML=title:titleNode.innerText=title;}resolve();});}},{key:'_show',value:function _show(reference,options){if(options&&typeof options.container==='string'){var container=document.querySelector(options.container);if(!container)return;}clearTimeout(this._disposeTimer);options=Object.assign({},options);delete options.offset;var updateClasses=true;if(this._tooltipNode){addClasses(this._tooltipNode,this._classes);updateClasses=false;}var result=this._ensureShown(reference,options);if(updateClasses&&this._tooltipNode){addClasses(this._tooltipNode,this._classes);}addClasses(reference,['v-tooltip-open']);return result;}},{key:'_ensureShown',value:function _ensureShown(reference,options){var _this3=this;// don't show if it's already visible
if(this._isOpen){return this;}this._isOpen=true;openTooltips.push(this);// if the tooltipNode already exists, just show it
if(this._tooltipNode){this._tooltipNode.style.display='';this._tooltipNode.setAttribute('aria-hidden','false');this.popperInstance.enableEventListeners();this.popperInstance.update();if(this.asyncContent){this._setContent(options.title,options);}return this;}// get title
var title=reference.getAttribute('title')||options.title;// don't show tooltip if no title is defined
if(!title){return this;}// create tooltip node
var tooltipNode=this._create(reference,options.template);this._tooltipNode=tooltipNode;this._setContent(title,options);// Add `aria-describedby` to our reference element for accessibility reasons
reference.setAttribute('aria-describedby',tooltipNode.id);// append tooltip to container
var container=this._findContainer(options.container,reference);this._append(tooltipNode,container);var popperOptions=_extends$1({},options.popperOptions,{placement:options.placement});popperOptions.modifiers=_extends$1({},popperOptions.modifiers,{arrow:{element:this.options.arrowSelector}});if(options.boundariesElement){popperOptions.modifiers.preventOverflow={boundariesElement:options.boundariesElement};}this.popperInstance=new Popper(reference,tooltipNode,popperOptions);// Fix position
requestAnimationFrame(function(){if(!_this3._isDisposed&&_this3.popperInstance){_this3.popperInstance.update();// Show the tooltip
requestAnimationFrame(function(){if(!_this3._isDisposed){_this3._isOpen&&tooltipNode.setAttribute('aria-hidden','false');}else{_this3.dispose();}});}else{_this3.dispose();}});return this;}},{key:'_noLongerOpen',value:function _noLongerOpen(){var index=openTooltips.indexOf(this);if(index!==-1){openTooltips.splice(index,1);}}},{key:'_hide',value:function _hide()/* reference, options */{var _this4=this;// don't hide if it's already hidden
if(!this._isOpen){return this;}this._isOpen=false;this._noLongerOpen();// hide tooltipNode
this._tooltipNode.style.display='none';this._tooltipNode.setAttribute('aria-hidden','true');this.popperInstance.disableEventListeners();clearTimeout(this._disposeTimer);var disposeTime=directive.options.disposeTimeout;if(disposeTime!==null){this._disposeTimer=setTimeout(function(){if(_this4._tooltipNode){_this4._tooltipNode.removeEventListener('mouseenter',_this4.hide);_this4._tooltipNode.removeEventListener('click',_this4.hide);// Don't remove popper instance, just the HTML element
_this4._tooltipNode.parentNode.removeChild(_this4._tooltipNode);_this4._tooltipNode=null;}},disposeTime);}removeClasses(this.reference,['v-tooltip-open']);return this;}},{key:'_dispose',value:function _dispose(){var _this5=this;this._isDisposed=true;// remove event listeners first to prevent any unexpected behaviour
this._events.forEach(function(_ref){var func=_ref.func,event=_ref.event;_this5.reference.removeEventListener(event,func);});this._events=[];if(this._tooltipNode){this._hide();this._tooltipNode.removeEventListener('mouseenter',this.hide);this._tooltipNode.removeEventListener('click',this.hide);// destroy instance
this.popperInstance.destroy();// destroy tooltipNode if removeOnDestroy is not set, as popperInstance.destroy() already removes the element
if(!this.popperInstance.options.removeOnDestroy){this._tooltipNode.parentNode.removeChild(this._tooltipNode);this._tooltipNode=null;}}else{this._noLongerOpen();}return this;}},{key:'_findContainer',value:function _findContainer(container,reference){// if container is a query, get the relative element
if(typeof container==='string'){container=window.document.querySelector(container);}else if(container===false){// if container is `false`, set it to reference parent
container=reference.parentNode;}return container;}/**
   * Append tooltip to container
   * @memberof Tooltip
   * @private
   * @param {HTMLElement} tooltip
   * @param {HTMLElement|String|false} container
   */},{key:'_append',value:function _append(tooltipNode,container){container.appendChild(tooltipNode);}},{key:'_setEventListeners',value:function _setEventListeners(reference,events,options){var _this6=this;var directEvents=[];var oppositeEvents=[];events.forEach(function(event){switch(event){case'hover':directEvents.push('mouseenter');oppositeEvents.push('mouseleave');if(_this6.options.hideOnTargetClick)oppositeEvents.push('click');break;case'focus':directEvents.push('focus');oppositeEvents.push('blur');if(_this6.options.hideOnTargetClick)oppositeEvents.push('click');break;case'click':directEvents.push('click');oppositeEvents.push('click');break;}});// schedule show tooltip
directEvents.forEach(function(event){var func=function func(evt){if(_this6._isOpen===true){return;}evt.usedByTooltip=true;_this6._scheduleShow(reference,options.delay,options,evt);};_this6._events.push({event:event,func:func});reference.addEventListener(event,func);});// schedule hide tooltip
oppositeEvents.forEach(function(event){var func=function func(evt){if(evt.usedByTooltip===true){return;}_this6._scheduleHide(reference,options.delay,options,evt);};_this6._events.push({event:event,func:func});reference.addEventListener(event,func);});}},{key:'_onDocumentTouch',value:function _onDocumentTouch(event){if(this._enableDocumentTouch){this._scheduleHide(this.reference,this.options.delay,this.options,event);}}},{key:'_scheduleShow',value:function _scheduleShow(reference,delay,options/*, evt */){var _this7=this;// defaults to 0
var computedDelay=delay&&delay.show||delay||0;clearTimeout(this._scheduleTimer);this._scheduleTimer=window.setTimeout(function(){return _this7._show(reference,options);},computedDelay);}},{key:'_scheduleHide',value:function _scheduleHide(reference,delay,options,evt){var _this8=this;// defaults to 0
var computedDelay=delay&&delay.hide||delay||0;clearTimeout(this._scheduleTimer);this._scheduleTimer=window.setTimeout(function(){if(_this8._isOpen===false){return;}if(!document.body.contains(_this8._tooltipNode)){return;}// if we are hiding because of a mouseleave, we must check that the new
// reference isn't the tooltip, because in this case we don't want to hide it
if(evt.type==='mouseleave'){var isSet=_this8._setTooltipNodeEvent(evt,reference,delay,options);// if we set the new event, don't hide the tooltip yet
// the new event will take care to hide it if necessary
if(isSet){return;}}_this8._hide(reference,options);},computedDelay);}}]);return Tooltip;}();// Hide tooltips on touch devices
var _initialiseProps=function _initialiseProps(){var _this9=this;this.show=function(){_this9._show(_this9.reference,_this9.options);};this.hide=function(){_this9._hide();};this.dispose=function(){_this9._dispose();};this.toggle=function(){if(_this9._isOpen){return _this9.hide();}else{return _this9.show();}};this._events=[];this._setTooltipNodeEvent=function(evt,reference,delay,options){var relatedreference=evt.relatedreference||evt.toElement||evt.relatedTarget;var callback=function callback(evt2){var relatedreference2=evt2.relatedreference||evt2.toElement||evt2.relatedTarget;// Remove event listener after call
_this9._tooltipNode.removeEventListener(evt.type,callback);// If the new reference is not the reference element
if(!reference.contains(relatedreference2)){// Schedule to hide tooltip
_this9._scheduleHide(reference,options.delay,options,evt2);}};if(_this9._tooltipNode.contains(relatedreference)){// listen to mouseleave on the tooltip element to be able to hide the tooltip
_this9._tooltipNode.addEventListener(evt.type,callback);return true;}return false;};};if(typeof document!=='undefined'){document.addEventListener('touchstart',function(event){for(var i=0;i<openTooltips.length;i++){openTooltips[i]._onDocumentTouch(event);}},supportsPassive?{passive:true,capture:true}:true);}/**
 * Placement function, its context is the Tooltip instance.
 * @memberof Tooltip
 * @callback PlacementFunction
 * @param {HTMLElement} tooltip - tooltip DOM node.
 * @param {HTMLElement} reference - reference DOM node.
 * @return {String} placement - One of the allowed placement options.
 *//**
 * Title function, its context is the Tooltip instance.
 * @memberof Tooltip
 * @callback TitleFunction
 * @return {String} placement - The desired title.
 */var state={enabled:true};var positions=['top','top-start','top-end','right','right-start','right-end','bottom','bottom-start','bottom-end','left','left-start','left-end'];var defaultOptions={// Default tooltip placement relative to target element
defaultPlacement:'top',// Default CSS classes applied to the tooltip element
defaultClass:'vue-tooltip-theme',// Default CSS classes applied to the target element of the tooltip
defaultTargetClass:'has-tooltip',// Is the content HTML by default?
defaultHtml:true,// Default HTML template of the tooltip element
// It must include `tooltip-arrow` & `tooltip-inner` CSS classes (can be configured, see below)
// Change if the classes conflict with other libraries (for example bootstrap)
defaultTemplate:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',// Selector used to get the arrow element in the tooltip template
defaultArrowSelector:'.tooltip-arrow, .tooltip__arrow',// Selector used to get the inner content element in the tooltip template
defaultInnerSelector:'.tooltip-inner, .tooltip__inner',// Delay (ms)
defaultDelay:0,// Default events that trigger the tooltip
defaultTrigger:'hover focus',// Default position offset (px)
defaultOffset:0,// Default container where the tooltip will be appended
defaultContainer:'body',defaultBoundariesElement:undefined,defaultPopperOptions:{},// Class added when content is loading
defaultLoadingClass:'tooltip-loading',// Displayed when tooltip content is loading
defaultLoadingContent:'...',// Hide on mouseover tooltip
autoHide:true,// Close tooltip on click on tooltip target?
defaultHideOnTargetClick:true,// Auto destroy tooltip DOM nodes (ms)
disposeTimeout:5000,// Options for popover
popover:{defaultPlacement:'bottom',// Use the `popoverClass` prop for theming
defaultClass:'vue-popover-theme',// Base class (change if conflicts with other libraries)
defaultBaseClass:'tooltip popover',// Wrapper class (contains arrow and inner)
defaultWrapperClass:'wrapper',// Inner content class
defaultInnerClass:'tooltip-inner popover-inner',// Arrow class
defaultArrowClass:'tooltip-arrow popover-arrow',defaultDelay:0,defaultTrigger:'click',defaultOffset:0,defaultContainer:'body',defaultBoundariesElement:undefined,defaultPopperOptions:{},// Hides if clicked outside of popover
defaultAutoHide:true,// Update popper on content resize
defaultHandleResize:true}};function getOptions(options){var result={placement:typeof options.placement!=='undefined'?options.placement:directive.options.defaultPlacement,delay:typeof options.delay!=='undefined'?options.delay:directive.options.defaultDelay,html:typeof options.html!=='undefined'?options.html:directive.options.defaultHtml,template:typeof options.template!=='undefined'?options.template:directive.options.defaultTemplate,arrowSelector:typeof options.arrowSelector!=='undefined'?options.arrowSelector:directive.options.defaultArrowSelector,innerSelector:typeof options.innerSelector!=='undefined'?options.innerSelector:directive.options.defaultInnerSelector,trigger:typeof options.trigger!=='undefined'?options.trigger:directive.options.defaultTrigger,offset:typeof options.offset!=='undefined'?options.offset:directive.options.defaultOffset,container:typeof options.container!=='undefined'?options.container:directive.options.defaultContainer,boundariesElement:typeof options.boundariesElement!=='undefined'?options.boundariesElement:directive.options.defaultBoundariesElement,autoHide:typeof options.autoHide!=='undefined'?options.autoHide:directive.options.autoHide,hideOnTargetClick:typeof options.hideOnTargetClick!=='undefined'?options.hideOnTargetClick:directive.options.defaultHideOnTargetClick,loadingClass:typeof options.loadingClass!=='undefined'?options.loadingClass:directive.options.defaultLoadingClass,loadingContent:typeof options.loadingContent!=='undefined'?options.loadingContent:directive.options.defaultLoadingContent,popperOptions:_extends$1({},typeof options.popperOptions!=='undefined'?options.popperOptions:directive.options.defaultPopperOptions)};if(result.offset){var typeofOffset=_typeof(result.offset);var offset=result.offset;// One value -> switch
if(typeofOffset==='number'||typeofOffset==='string'&&offset.indexOf(',')===-1){offset='0, '+offset;}if(!result.popperOptions.modifiers){result.popperOptions.modifiers={};}result.popperOptions.modifiers.offset={offset:offset};}if(result.trigger&&result.trigger.indexOf('click')!==-1){result.hideOnTargetClick=false;}return result;}function getPlacement(value,modifiers){var placement=value.placement;for(var i=0;i<positions.length;i++){var pos=positions[i];if(modifiers[pos]){placement=pos;}}return placement;}function getContent(value){var type=typeof value==='undefined'?'undefined':_typeof(value);if(type==='string'){return value;}else if(value&&type==='object'){return value.content;}else{return false;}}function createTooltip(el,value){var modifiers=arguments.length>2&&arguments[2]!==undefined?arguments[2]:{};var content=getContent(value);var classes=typeof value.classes!=='undefined'?value.classes:directive.options.defaultClass;var opts=_extends$1({title:content},getOptions(_extends$1({},value,{placement:getPlacement(value,modifiers)})));var tooltip=el._tooltip=new Tooltip(el,opts);tooltip.setClasses(classes);tooltip._vueEl=el;// Class on target
var targetClasses=typeof value.targetClasses!=='undefined'?value.targetClasses:directive.options.defaultTargetClass;el._tooltipTargetClasses=targetClasses;addClasses(el,targetClasses);return tooltip;}function destroyTooltip(el){if(el._tooltip){el._tooltip.dispose();delete el._tooltip;delete el._tooltipOldShow;}if(el._tooltipTargetClasses){removeClasses(el,el._tooltipTargetClasses);delete el._tooltipTargetClasses;}}function bind(el,_ref){var value=_ref.value,oldValue=_ref.oldValue,modifiers=_ref.modifiers;var content=getContent(value);if(!content||!state.enabled){destroyTooltip(el);}else{var tooltip=void 0;if(el._tooltip){tooltip=el._tooltip;// Content
tooltip.setContent(content);// Options
tooltip.setOptions(_extends$1({},value,{placement:getPlacement(value,modifiers)}));}else{tooltip=createTooltip(el,value,modifiers);}// Manual show
if(typeof value.show!=='undefined'&&value.show!==el._tooltipOldShow){el._tooltipOldShow=value.show;value.show?tooltip.show():tooltip.hide();}}}var directive={options:defaultOptions,bind:bind,update:bind,unbind:function unbind(el){destroyTooltip(el);}};function addListeners(el){el.addEventListener('click',onClick);el.addEventListener('touchstart',onTouchStart,supportsPassive?{passive:true}:false);}function removeListeners(el){el.removeEventListener('click',onClick);el.removeEventListener('touchstart',onTouchStart);el.removeEventListener('touchend',onTouchEnd);el.removeEventListener('touchcancel',onTouchCancel);}function onClick(event){var el=event.currentTarget;event.closePopover=!el.$_vclosepopover_touch;event.closeAllPopover=el.$_closePopoverModifiers&&!!el.$_closePopoverModifiers.all;}function onTouchStart(event){if(event.changedTouches.length===1){var el=event.currentTarget;el.$_vclosepopover_touch=true;var touch=event.changedTouches[0];el.$_vclosepopover_touchPoint=touch;el.addEventListener('touchend',onTouchEnd);el.addEventListener('touchcancel',onTouchCancel);}}function onTouchEnd(event){var el=event.currentTarget;el.$_vclosepopover_touch=false;if(event.changedTouches.length===1){var touch=event.changedTouches[0];var firstTouch=el.$_vclosepopover_touchPoint;event.closePopover=Math.abs(touch.screenY-firstTouch.screenY)<20&&Math.abs(touch.screenX-firstTouch.screenX)<20;event.closeAllPopover=el.$_closePopoverModifiers&&!!el.$_closePopoverModifiers.all;}}function onTouchCancel(event){var el=event.currentTarget;el.$_vclosepopover_touch=false;}var vclosepopover={bind:function bind(el,_ref){var value=_ref.value,modifiers=_ref.modifiers;el.$_closePopoverModifiers=modifiers;if(typeof value==='undefined'||value){addListeners(el);}},update:function update(el,_ref2){var value=_ref2.value,oldValue=_ref2.oldValue,modifiers=_ref2.modifiers;el.$_closePopoverModifiers=modifiers;if(value!==oldValue){if(typeof value==='undefined'||value){addListeners(el);}else{removeListeners(el);}}},unbind:function unbind(el){removeListeners(el);}};function getInternetExplorerVersion(){var ua=window.navigator.userAgent;var msie=ua.indexOf('MSIE ');if(msie>0){// IE 10 or older => return version number
return parseInt(ua.substring(msie+5,ua.indexOf('.',msie)),10);}var trident=ua.indexOf('Trident/');if(trident>0){// IE 11 => return version number
var rv=ua.indexOf('rv:');return parseInt(ua.substring(rv+3,ua.indexOf('.',rv)),10);}var edge=ua.indexOf('Edge/');if(edge>0){// Edge (IE 12+) => return version number
return parseInt(ua.substring(edge+5,ua.indexOf('.',edge)),10);}// other browser
return-1;}var isIE$1=void 0;function initCompat(){if(!initCompat.init){initCompat.init=true;isIE$1=getInternetExplorerVersion()!==-1;}}var ResizeObserver={render:function render(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"resize-observer",attrs:{"tabindex":"-1"}});},staticRenderFns:[],_scopeId:'data-v-b329ee4c',name:'resize-observer',methods:{notify:function notify(){this.$emit('notify');},addResizeHandlers:function addResizeHandlers(){this._resizeObject.contentDocument.defaultView.addEventListener('resize',this.notify);if(this._w!==this.$el.offsetWidth||this._h!==this.$el.offsetHeight){this.notify();}},removeResizeHandlers:function removeResizeHandlers(){if(this._resizeObject&&this._resizeObject.onload){if(!isIE$1&&this._resizeObject.contentDocument){this._resizeObject.contentDocument.defaultView.removeEventListener('resize',this.notify);}delete this._resizeObject.onload;}}},mounted:function mounted(){var _this=this;initCompat();this.$nextTick(function(){_this._w=_this.$el.offsetWidth;_this._h=_this.$el.offsetHeight;});var object=document.createElement('object');this._resizeObject=object;object.setAttribute('style','display: block; position: absolute; top: 0; left: 0; height: 100%; width: 100%; overflow: hidden; pointer-events: none; z-index: -1;');object.setAttribute('aria-hidden','true');object.setAttribute('tabindex',-1);object.onload=this.addResizeHandlers;object.type='text/html';if(isIE$1){this.$el.appendChild(object);}object.data='about:blank';if(!isIE$1){this.$el.appendChild(object);}},beforeDestroy:function beforeDestroy(){this.removeResizeHandlers();}};// Install the components
function install$1(Vue){Vue.component('resize-observer',ResizeObserver);/* -- Add more components here -- */}/* -- Plugin definition & Auto-install -- *//* You shouldn't have to modify the code below */// Plugin
var plugin$2={// eslint-disable-next-line no-undef
version:"0.4.4",install:install$1};// Auto-install
var GlobalVue$1=null;if(typeof window!=='undefined'){GlobalVue$1=window.Vue;}else if(typeof global!=='undefined'){GlobalVue$1=global.Vue;}if(GlobalVue$1){GlobalVue$1.use(plugin$2);}function getDefault(key){var value=directive.options.popover[key];if(typeof value==='undefined'){return directive.options[key];}return value;}var isIOS=false;if(typeof window!=='undefined'&&typeof navigator!=='undefined'){isIOS=/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream;}var openPopovers=[];var Element=function Element(){};if(typeof window!=='undefined'){Element=window.Element;}var Popover={render:function render(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"v-popover",class:_vm.cssClass},[_c('span',{ref:"trigger",staticClass:"trigger",staticStyle:{"display":"inline-block"},attrs:{"aria-describedby":_vm.popoverId,"tabindex":_vm.trigger.indexOf('focus')!==-1?0:-1}},[_vm._t("default")],2),_vm._v(" "),_c('div',{ref:"popover",class:[_vm.popoverBaseClass,_vm.popoverClass,_vm.cssClass],style:{visibility:_vm.isOpen?'visible':'hidden'},attrs:{"id":_vm.popoverId,"aria-hidden":_vm.isOpen?'false':'true'}},[_c('div',{class:_vm.popoverWrapperClass},[_c('div',{ref:"inner",class:_vm.popoverInnerClass,staticStyle:{"position":"relative"}},[_c('div',[_vm._t("popover")],2),_vm._v(" "),_vm.handleResize?_c('ResizeObserver',{on:{"notify":_vm.$_handleResize}}):_vm._e()],1),_vm._v(" "),_c('div',{ref:"arrow",class:_vm.popoverArrowClass})])])]);},staticRenderFns:[],name:'VPopover',components:{ResizeObserver:ResizeObserver},props:{open:{type:Boolean,default:false},disabled:{type:Boolean,default:false},placement:{type:String,default:function _default(){return getDefault('defaultPlacement');}},delay:{type:[String,Number,Object],default:function _default(){return getDefault('defaultDelay');}},offset:{type:[String,Number],default:function _default(){return getDefault('defaultOffset');}},trigger:{type:String,default:function _default(){return getDefault('defaultTrigger');}},container:{type:[String,Object,Element,Boolean],default:function _default(){return getDefault('defaultContainer');}},boundariesElement:{type:[String,Element],default:function _default(){return getDefault('defaultBoundariesElement');}},popperOptions:{type:Object,default:function _default(){return getDefault('defaultPopperOptions');}},popoverClass:{type:[String,Array],default:function _default(){return getDefault('defaultClass');}},popoverBaseClass:{type:[String,Array],default:function _default(){return directive.options.popover.defaultBaseClass;}},popoverInnerClass:{type:[String,Array],default:function _default(){return directive.options.popover.defaultInnerClass;}},popoverWrapperClass:{type:[String,Array],default:function _default(){return directive.options.popover.defaultWrapperClass;}},popoverArrowClass:{type:[String,Array],default:function _default(){return directive.options.popover.defaultArrowClass;}},autoHide:{type:Boolean,default:function _default(){return directive.options.popover.defaultAutoHide;}},handleResize:{type:Boolean,default:function _default(){return directive.options.popover.defaultHandleResize;}},openGroup:{type:String,default:null}},data:function data(){return{isOpen:false,id:Math.random().toString(36).substr(2,10)};},computed:{cssClass:function cssClass(){return{'open':this.isOpen};},popoverId:function popoverId(){return'popover_'+this.id;}},watch:{open:function open(val){if(val){this.show();}else{this.hide();}},disabled:function disabled(val,oldVal){if(val!==oldVal){if(val){this.hide();}else if(this.open){this.show();}}},container:function container(val){if(this.isOpen&&this.popperInstance){var popoverNode=this.$refs.popover;var reference=this.$refs.trigger;var container=this.$_findContainer(this.container,reference);if(!container){console.warn('No container for popover',this);return;}container.appendChild(popoverNode);this.popperInstance.scheduleUpdate();}},trigger:function trigger(val){this.$_removeEventListeners();this.$_addEventListeners();},placement:function placement(val){var _this=this;this.$_updatePopper(function(){_this.popperInstance.options.placement=val;});},offset:'$_restartPopper',boundariesElement:'$_restartPopper',popperOptions:{handler:'$_restartPopper',deep:true}},created:function created(){this.$_isDisposed=false;this.$_mounted=false;this.$_events=[];this.$_preventOpen=false;},mounted:function mounted(){var popoverNode=this.$refs.popover;popoverNode.parentNode&&popoverNode.parentNode.removeChild(popoverNode);this.$_init();if(this.open){this.show();}},beforeDestroy:function beforeDestroy(){this.dispose();},methods:{show:function show(){var _this2=this;var _ref=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{},event=_ref.event,_ref$skipDelay=_ref.skipDelay,skipDelay=_ref$skipDelay===undefined?false:_ref$skipDelay,_ref$force=_ref.force,force=_ref$force===undefined?false:_ref$force;if(force||!this.disabled){this.$_scheduleShow(event);this.$emit('show');}this.$emit('update:open',true);this.$_beingShowed=true;requestAnimationFrame(function(){_this2.$_beingShowed=false;});},hide:function hide(){var _ref2=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{},event=_ref2.event,_ref2$skipDelay=_ref2.skipDelay;this.$_scheduleHide(event);this.$emit('hide');this.$emit('update:open',false);},dispose:function dispose(){this.$_isDisposed=true;this.$_removeEventListeners();this.hide({skipDelay:true});if(this.popperInstance){this.popperInstance.destroy();// destroy tooltipNode if removeOnDestroy is not set, as popperInstance.destroy() already removes the element
if(!this.popperInstance.options.removeOnDestroy){var popoverNode=this.$refs.popover;popoverNode.parentNode&&popoverNode.parentNode.removeChild(popoverNode);}}this.$_mounted=false;this.popperInstance=null;this.isOpen=false;this.$emit('dispose');},$_init:function $_init(){if(this.trigger.indexOf('manual')===-1){this.$_addEventListeners();}},$_show:function $_show(){var _this3=this;var reference=this.$refs.trigger;var popoverNode=this.$refs.popover;clearTimeout(this.$_disposeTimer);// Already open
if(this.isOpen){return;}// Popper is already initialized
if(this.popperInstance){this.isOpen=true;this.popperInstance.enableEventListeners();this.popperInstance.scheduleUpdate();}if(!this.$_mounted){var container=this.$_findContainer(this.container,reference);if(!container){console.warn('No container for popover',this);return;}container.appendChild(popoverNode);this.$_mounted=true;}if(!this.popperInstance){var popperOptions=_extends$1({},this.popperOptions,{placement:this.placement});popperOptions.modifiers=_extends$1({},popperOptions.modifiers,{arrow:_extends$1({},popperOptions.modifiers&&popperOptions.modifiers.arrow,{element:this.$refs.arrow})});if(this.offset){var offset=this.$_getOffset();popperOptions.modifiers.offset=_extends$1({},popperOptions.modifiers&&popperOptions.modifiers.offset,{offset:offset});}if(this.boundariesElement){popperOptions.modifiers.preventOverflow=_extends$1({},popperOptions.modifiers&&popperOptions.modifiers.preventOverflow,{boundariesElement:this.boundariesElement});}this.popperInstance=new Popper(reference,popoverNode,popperOptions);// Fix position
requestAnimationFrame(function(){if(!_this3.$_isDisposed&&_this3.popperInstance){_this3.popperInstance.scheduleUpdate();// Show the tooltip
requestAnimationFrame(function(){if(!_this3.$_isDisposed){_this3.isOpen=true;}else{_this3.dispose();}});}else{_this3.dispose();}});}var openGroup=this.openGroup;if(openGroup){var popover=void 0;for(var i=0;i<openPopovers.length;i++){popover=openPopovers[i];if(popover.openGroup!==openGroup){popover.hide();popover.$emit('close-group');}}}openPopovers.push(this);this.$emit('apply-show');},$_hide:function $_hide(){var _this4=this;// Already hidden
if(!this.isOpen){return;}var index=openPopovers.indexOf(this);if(index!==-1){openPopovers.splice(index,1);}this.isOpen=false;if(this.popperInstance){this.popperInstance.disableEventListeners();}clearTimeout(this.$_disposeTimer);var disposeTime=directive.options.popover.disposeTimeout||directive.options.disposeTimeout;if(disposeTime!==null){this.$_disposeTimer=setTimeout(function(){var popoverNode=_this4.$refs.popover;if(popoverNode){// Don't remove popper instance, just the HTML element
popoverNode.parentNode&&popoverNode.parentNode.removeChild(popoverNode);_this4.$_mounted=false;}},disposeTime);}this.$emit('apply-hide');},$_findContainer:function $_findContainer(container,reference){// if container is a query, get the relative element
if(typeof container==='string'){container=window.document.querySelector(container);}else if(container===false){// if container is `false`, set it to reference parent
container=reference.parentNode;}return container;},$_getOffset:function $_getOffset(){var typeofOffset=_typeof(this.offset);var offset=this.offset;// One value -> switch
if(typeofOffset==='number'||typeofOffset==='string'&&offset.indexOf(',')===-1){offset='0, '+offset;}return offset;},$_addEventListeners:function $_addEventListeners(){var _this5=this;var reference=this.$refs.trigger;var directEvents=[];var oppositeEvents=[];var events=typeof this.trigger==='string'?this.trigger.split(' ').filter(function(trigger){return['click','hover','focus'].indexOf(trigger)!==-1;}):[];events.forEach(function(event){switch(event){case'hover':directEvents.push('mouseenter');oppositeEvents.push('mouseleave');break;case'focus':directEvents.push('focus');oppositeEvents.push('blur');break;case'click':directEvents.push('click');oppositeEvents.push('click');break;}});// schedule show tooltip
directEvents.forEach(function(event){var func=function func(event){if(_this5.isOpen){return;}event.usedByTooltip=true;!_this5.$_preventOpen&&_this5.show({event:event});};_this5.$_events.push({event:event,func:func});reference.addEventListener(event,func);});// schedule hide tooltip
oppositeEvents.forEach(function(event){var func=function func(event){if(event.usedByTooltip){return;}_this5.hide({event:event});};_this5.$_events.push({event:event,func:func});reference.addEventListener(event,func);});},$_scheduleShow:function $_scheduleShow(){var skipDelay=arguments.length>1&&arguments[1]!==undefined?arguments[1]:false;clearTimeout(this.$_scheduleTimer);if(skipDelay){this.$_show();}else{// defaults to 0
var computedDelay=parseInt(this.delay&&this.delay.show||this.delay||0);this.$_scheduleTimer=setTimeout(this.$_show.bind(this),computedDelay);}},$_scheduleHide:function $_scheduleHide(){var _this6=this;var event=arguments.length>0&&arguments[0]!==undefined?arguments[0]:null;var skipDelay=arguments.length>1&&arguments[1]!==undefined?arguments[1]:false;clearTimeout(this.$_scheduleTimer);if(skipDelay){this.$_hide();}else{// defaults to 0
var computedDelay=parseInt(this.delay&&this.delay.hide||this.delay||0);this.$_scheduleTimer=setTimeout(function(){if(!_this6.isOpen){return;}// if we are hiding because of a mouseleave, we must check that the new
// reference isn't the tooltip, because in this case we don't want to hide it
if(event&&event.type==='mouseleave'){var isSet=_this6.$_setTooltipNodeEvent(event);// if we set the new event, don't hide the tooltip yet
// the new event will take care to hide it if necessary
if(isSet){return;}}_this6.$_hide();},computedDelay);}},$_setTooltipNodeEvent:function $_setTooltipNodeEvent(event){var _this7=this;var reference=this.$refs.trigger;var popoverNode=this.$refs.popover;var relatedreference=event.relatedreference||event.toElement||event.relatedTarget;var callback=function callback(event2){var relatedreference2=event2.relatedreference||event2.toElement||event2.relatedTarget;// Remove event listener after call
popoverNode.removeEventListener(event.type,callback);// If the new reference is not the reference element
if(!reference.contains(relatedreference2)){// Schedule to hide tooltip
_this7.hide({event:event2});}};if(popoverNode.contains(relatedreference)){// listen to mouseleave on the tooltip element to be able to hide the tooltip
popoverNode.addEventListener(event.type,callback);return true;}return false;},$_removeEventListeners:function $_removeEventListeners(){var reference=this.$refs.trigger;this.$_events.forEach(function(_ref3){var func=_ref3.func,event=_ref3.event;reference.removeEventListener(event,func);});this.$_events=[];},$_updatePopper:function $_updatePopper(cb){if(this.popperInstance){cb();if(this.isOpen)this.popperInstance.scheduleUpdate();}},$_restartPopper:function $_restartPopper(){if(this.popperInstance){var isOpen=this.isOpen;this.dispose();this.$_isDisposed=false;this.$_init();if(isOpen){this.show({skipDelay:true,force:true});}}},$_handleGlobalClose:function $_handleGlobalClose(event){var _this8=this;var touch=arguments.length>1&&arguments[1]!==undefined?arguments[1]:false;if(this.$_beingShowed)return;this.hide({event:event});if(event.closePopover){this.$emit('close-directive');}else{this.$emit('auto-hide');}if(touch){this.$_preventOpen=true;setTimeout(function(){_this8.$_preventOpen=false;},300);}},$_handleResize:function $_handleResize(){if(this.isOpen&&this.popperInstance){this.popperInstance.scheduleUpdate();this.$emit('resize');}}}};if(typeof document!=='undefined'&&typeof window!=='undefined'){if(isIOS){document.addEventListener('touchend',handleGlobalTouchend,supportsPassive?{passive:true,capture:true}:true);}else{window.addEventListener('click',handleGlobalClick,true);}}function handleGlobalClick(event){handleGlobalClose(event);}function handleGlobalTouchend(event){handleGlobalClose(event,true);}function handleGlobalClose(event){var touch=arguments.length>1&&arguments[1]!==undefined?arguments[1]:false;// Delay so that close directive has time to set values
requestAnimationFrame(function(){var popover=void 0;for(var i=0;i<openPopovers.length;i++){popover=openPopovers[i];if(popover.$refs.popover){var contains=popover.$refs.popover.contains(event.target);if(event.closeAllPopover||event.closePopover&&contains||popover.autoHide&&!contains){popover.$_handleGlobalClose(event,touch);}}}});}var commonjsGlobal=typeof window!=='undefined'?window:typeof global!=='undefined'?global:typeof self!=='undefined'?self:{};function createCommonjsModule(fn,module){return module={exports:{}},fn(module,module.exports),module.exports;}var lodash_merge=createCommonjsModule(function(module,exports){/**
 * Lodash (Custom Build) <https://lodash.com/>
 * Build: `lodash modularize exports="npm" -o ./`
 * Copyright JS Foundation and other contributors <https://js.foundation/>
 * Released under MIT license <https://lodash.com/license>
 * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
 * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
 *//** Used as the size to enable large array optimizations. */var LARGE_ARRAY_SIZE=200;/** Used to stand-in for `undefined` hash values. */var HASH_UNDEFINED='__lodash_hash_undefined__';/** Used to detect hot functions by number of calls within a span of milliseconds. */var HOT_COUNT=800,HOT_SPAN=16;/** Used as references for various `Number` constants. */var MAX_SAFE_INTEGER=9007199254740991;/** `Object#toString` result references. */var argsTag='[object Arguments]',arrayTag='[object Array]',asyncTag='[object AsyncFunction]',boolTag='[object Boolean]',dateTag='[object Date]',errorTag='[object Error]',funcTag='[object Function]',genTag='[object GeneratorFunction]',mapTag='[object Map]',numberTag='[object Number]',nullTag='[object Null]',objectTag='[object Object]',proxyTag='[object Proxy]',regexpTag='[object RegExp]',setTag='[object Set]',stringTag='[object String]',undefinedTag='[object Undefined]',weakMapTag='[object WeakMap]';var arrayBufferTag='[object ArrayBuffer]',dataViewTag='[object DataView]',float32Tag='[object Float32Array]',float64Tag='[object Float64Array]',int8Tag='[object Int8Array]',int16Tag='[object Int16Array]',int32Tag='[object Int32Array]',uint8Tag='[object Uint8Array]',uint8ClampedTag='[object Uint8ClampedArray]',uint16Tag='[object Uint16Array]',uint32Tag='[object Uint32Array]';/**
 * Used to match `RegExp`
 * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).
 */var reRegExpChar=/[\\^$.*+?()[\]{}|]/g;/** Used to detect host constructors (Safari). */var reIsHostCtor=/^\[object .+?Constructor\]$/;/** Used to detect unsigned integer values. */var reIsUint=/^(?:0|[1-9]\d*)$/;/** Used to identify `toStringTag` values of typed arrays. */var typedArrayTags={};typedArrayTags[float32Tag]=typedArrayTags[float64Tag]=typedArrayTags[int8Tag]=typedArrayTags[int16Tag]=typedArrayTags[int32Tag]=typedArrayTags[uint8Tag]=typedArrayTags[uint8ClampedTag]=typedArrayTags[uint16Tag]=typedArrayTags[uint32Tag]=true;typedArrayTags[argsTag]=typedArrayTags[arrayTag]=typedArrayTags[arrayBufferTag]=typedArrayTags[boolTag]=typedArrayTags[dataViewTag]=typedArrayTags[dateTag]=typedArrayTags[errorTag]=typedArrayTags[funcTag]=typedArrayTags[mapTag]=typedArrayTags[numberTag]=typedArrayTags[objectTag]=typedArrayTags[regexpTag]=typedArrayTags[setTag]=typedArrayTags[stringTag]=typedArrayTags[weakMapTag]=false;/** Detect free variable `global` from Node.js. */var freeGlobal=(typeof commonjsGlobal==='undefined'?'undefined':_typeof2(commonjsGlobal))=='object'&&commonjsGlobal&&commonjsGlobal.Object===Object&&commonjsGlobal;/** Detect free variable `self`. */var freeSelf=(typeof self==='undefined'?'undefined':_typeof2(self))=='object'&&self&&self.Object===Object&&self;/** Used as a reference to the global object. */var root=freeGlobal||freeSelf||Function('return this')();/** Detect free variable `exports`. */var freeExports='object'=='object'&&exports&&!exports.nodeType&&exports;/** Detect free variable `module`. */var freeModule=freeExports&&'object'=='object'&&module&&!module.nodeType&&module;/** Detect the popular CommonJS extension `module.exports`. */var moduleExports=freeModule&&freeModule.exports===freeExports;/** Detect free variable `process` from Node.js. */var freeProcess=moduleExports&&freeGlobal.process;/** Used to access faster Node.js helpers. */var nodeUtil=function(){try{return freeProcess&&freeProcess.binding&&freeProcess.binding('util');}catch(e){}}();/* Node.js helper references. */var nodeIsTypedArray=nodeUtil&&nodeUtil.isTypedArray;/**
 * A faster alternative to `Function#apply`, this function invokes `func`
 * with the `this` binding of `thisArg` and the arguments of `args`.
 *
 * @private
 * @param {Function} func The function to invoke.
 * @param {*} thisArg The `this` binding of `func`.
 * @param {Array} args The arguments to invoke `func` with.
 * @returns {*} Returns the result of `func`.
 */function apply(func,thisArg,args){switch(args.length){case 0:return func.call(thisArg);case 1:return func.call(thisArg,args[0]);case 2:return func.call(thisArg,args[0],args[1]);case 3:return func.call(thisArg,args[0],args[1],args[2]);}return func.apply(thisArg,args);}/**
 * The base implementation of `_.times` without support for iteratee shorthands
 * or max array length checks.
 *
 * @private
 * @param {number} n The number of times to invoke `iteratee`.
 * @param {Function} iteratee The function invoked per iteration.
 * @returns {Array} Returns the array of results.
 */function baseTimes(n,iteratee){var index=-1,result=Array(n);while(++index<n){result[index]=iteratee(index);}return result;}/**
 * The base implementation of `_.unary` without support for storing metadata.
 *
 * @private
 * @param {Function} func The function to cap arguments for.
 * @returns {Function} Returns the new capped function.
 */function baseUnary(func){return function(value){return func(value);};}/**
 * Gets the value at `key` of `object`.
 *
 * @private
 * @param {Object} [object] The object to query.
 * @param {string} key The key of the property to get.
 * @returns {*} Returns the property value.
 */function getValue(object,key){return object==null?undefined:object[key];}/**
 * Creates a unary function that invokes `func` with its argument transformed.
 *
 * @private
 * @param {Function} func The function to wrap.
 * @param {Function} transform The argument transform.
 * @returns {Function} Returns the new function.
 */function overArg(func,transform){return function(arg){return func(transform(arg));};}/**
 * Gets the value at `key`, unless `key` is "__proto__".
 *
 * @private
 * @param {Object} object The object to query.
 * @param {string} key The key of the property to get.
 * @returns {*} Returns the property value.
 */function safeGet(object,key){return key=='__proto__'?undefined:object[key];}/** Used for built-in method references. */var arrayProto=Array.prototype,funcProto=Function.prototype,objectProto=Object.prototype;/** Used to detect overreaching core-js shims. */var coreJsData=root['__core-js_shared__'];/** Used to resolve the decompiled source of functions. */var funcToString=funcProto.toString;/** Used to check objects for own properties. */var hasOwnProperty=objectProto.hasOwnProperty;/** Used to detect methods masquerading as native. */var maskSrcKey=function(){var uid=/[^.]+$/.exec(coreJsData&&coreJsData.keys&&coreJsData.keys.IE_PROTO||'');return uid?'Symbol(src)_1.'+uid:'';}();/**
 * Used to resolve the
 * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)
 * of values.
 */var nativeObjectToString=objectProto.toString;/** Used to infer the `Object` constructor. */var objectCtorString=funcToString.call(Object);/** Used to detect if a method is native. */var reIsNative=RegExp('^'+funcToString.call(hasOwnProperty).replace(reRegExpChar,'\\$&').replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,'$1.*?')+'$');/** Built-in value references. */var Buffer=moduleExports?root.Buffer:undefined,_Symbol=root.Symbol,Uint8Array=root.Uint8Array,allocUnsafe=Buffer?Buffer.allocUnsafe:undefined,getPrototype=overArg(Object.getPrototypeOf,Object),objectCreate=Object.create,propertyIsEnumerable=objectProto.propertyIsEnumerable,splice=arrayProto.splice,symToStringTag=_Symbol?_Symbol.toStringTag:undefined;var defineProperty=function(){try{var func=getNative(Object,'defineProperty');func({},'',{});return func;}catch(e){}}();/* Built-in method references for those with the same name as other `lodash` methods. */var nativeIsBuffer=Buffer?Buffer.isBuffer:undefined,nativeMax=Math.max,nativeNow=Date.now;/* Built-in method references that are verified to be native. */var Map=getNative(root,'Map'),nativeCreate=getNative(Object,'create');/**
 * The base implementation of `_.create` without support for assigning
 * properties to the created object.
 *
 * @private
 * @param {Object} proto The object to inherit from.
 * @returns {Object} Returns the new object.
 */var baseCreate=function(){function object(){}return function(proto){if(!isObject(proto)){return{};}if(objectCreate){return objectCreate(proto);}object.prototype=proto;var result=new object();object.prototype=undefined;return result;};}();/**
 * Creates a hash object.
 *
 * @private
 * @constructor
 * @param {Array} [entries] The key-value pairs to cache.
 */function Hash(entries){var index=-1,length=entries==null?0:entries.length;this.clear();while(++index<length){var entry=entries[index];this.set(entry[0],entry[1]);}}/**
 * Removes all key-value entries from the hash.
 *
 * @private
 * @name clear
 * @memberOf Hash
 */function hashClear(){this.__data__=nativeCreate?nativeCreate(null):{};this.size=0;}/**
 * Removes `key` and its value from the hash.
 *
 * @private
 * @name delete
 * @memberOf Hash
 * @param {Object} hash The hash to modify.
 * @param {string} key The key of the value to remove.
 * @returns {boolean} Returns `true` if the entry was removed, else `false`.
 */function hashDelete(key){var result=this.has(key)&&delete this.__data__[key];this.size-=result?1:0;return result;}/**
 * Gets the hash value for `key`.
 *
 * @private
 * @name get
 * @memberOf Hash
 * @param {string} key The key of the value to get.
 * @returns {*} Returns the entry value.
 */function hashGet(key){var data=this.__data__;if(nativeCreate){var result=data[key];return result===HASH_UNDEFINED?undefined:result;}return hasOwnProperty.call(data,key)?data[key]:undefined;}/**
 * Checks if a hash value for `key` exists.
 *
 * @private
 * @name has
 * @memberOf Hash
 * @param {string} key The key of the entry to check.
 * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
 */function hashHas(key){var data=this.__data__;return nativeCreate?data[key]!==undefined:hasOwnProperty.call(data,key);}/**
 * Sets the hash `key` to `value`.
 *
 * @private
 * @name set
 * @memberOf Hash
 * @param {string} key The key of the value to set.
 * @param {*} value The value to set.
 * @returns {Object} Returns the hash instance.
 */function hashSet(key,value){var data=this.__data__;this.size+=this.has(key)?0:1;data[key]=nativeCreate&&value===undefined?HASH_UNDEFINED:value;return this;}// Add methods to `Hash`.
Hash.prototype.clear=hashClear;Hash.prototype['delete']=hashDelete;Hash.prototype.get=hashGet;Hash.prototype.has=hashHas;Hash.prototype.set=hashSet;/**
 * Creates an list cache object.
 *
 * @private
 * @constructor
 * @param {Array} [entries] The key-value pairs to cache.
 */function ListCache(entries){var index=-1,length=entries==null?0:entries.length;this.clear();while(++index<length){var entry=entries[index];this.set(entry[0],entry[1]);}}/**
 * Removes all key-value entries from the list cache.
 *
 * @private
 * @name clear
 * @memberOf ListCache
 */function listCacheClear(){this.__data__=[];this.size=0;}/**
 * Removes `key` and its value from the list cache.
 *
 * @private
 * @name delete
 * @memberOf ListCache
 * @param {string} key The key of the value to remove.
 * @returns {boolean} Returns `true` if the entry was removed, else `false`.
 */function listCacheDelete(key){var data=this.__data__,index=assocIndexOf(data,key);if(index<0){return false;}var lastIndex=data.length-1;if(index==lastIndex){data.pop();}else{splice.call(data,index,1);}--this.size;return true;}/**
 * Gets the list cache value for `key`.
 *
 * @private
 * @name get
 * @memberOf ListCache
 * @param {string} key The key of the value to get.
 * @returns {*} Returns the entry value.
 */function listCacheGet(key){var data=this.__data__,index=assocIndexOf(data,key);return index<0?undefined:data[index][1];}/**
 * Checks if a list cache value for `key` exists.
 *
 * @private
 * @name has
 * @memberOf ListCache
 * @param {string} key The key of the entry to check.
 * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
 */function listCacheHas(key){return assocIndexOf(this.__data__,key)>-1;}/**
 * Sets the list cache `key` to `value`.
 *
 * @private
 * @name set
 * @memberOf ListCache
 * @param {string} key The key of the value to set.
 * @param {*} value The value to set.
 * @returns {Object} Returns the list cache instance.
 */function listCacheSet(key,value){var data=this.__data__,index=assocIndexOf(data,key);if(index<0){++this.size;data.push([key,value]);}else{data[index][1]=value;}return this;}// Add methods to `ListCache`.
ListCache.prototype.clear=listCacheClear;ListCache.prototype['delete']=listCacheDelete;ListCache.prototype.get=listCacheGet;ListCache.prototype.has=listCacheHas;ListCache.prototype.set=listCacheSet;/**
 * Creates a map cache object to store key-value pairs.
 *
 * @private
 * @constructor
 * @param {Array} [entries] The key-value pairs to cache.
 */function MapCache(entries){var index=-1,length=entries==null?0:entries.length;this.clear();while(++index<length){var entry=entries[index];this.set(entry[0],entry[1]);}}/**
 * Removes all key-value entries from the map.
 *
 * @private
 * @name clear
 * @memberOf MapCache
 */function mapCacheClear(){this.size=0;this.__data__={'hash':new Hash(),'map':new(Map||ListCache)(),'string':new Hash()};}/**
 * Removes `key` and its value from the map.
 *
 * @private
 * @name delete
 * @memberOf MapCache
 * @param {string} key The key of the value to remove.
 * @returns {boolean} Returns `true` if the entry was removed, else `false`.
 */function mapCacheDelete(key){var result=getMapData(this,key)['delete'](key);this.size-=result?1:0;return result;}/**
 * Gets the map value for `key`.
 *
 * @private
 * @name get
 * @memberOf MapCache
 * @param {string} key The key of the value to get.
 * @returns {*} Returns the entry value.
 */function mapCacheGet(key){return getMapData(this,key).get(key);}/**
 * Checks if a map value for `key` exists.
 *
 * @private
 * @name has
 * @memberOf MapCache
 * @param {string} key The key of the entry to check.
 * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
 */function mapCacheHas(key){return getMapData(this,key).has(key);}/**
 * Sets the map `key` to `value`.
 *
 * @private
 * @name set
 * @memberOf MapCache
 * @param {string} key The key of the value to set.
 * @param {*} value The value to set.
 * @returns {Object} Returns the map cache instance.
 */function mapCacheSet(key,value){var data=getMapData(this,key),size=data.size;data.set(key,value);this.size+=data.size==size?0:1;return this;}// Add methods to `MapCache`.
MapCache.prototype.clear=mapCacheClear;MapCache.prototype['delete']=mapCacheDelete;MapCache.prototype.get=mapCacheGet;MapCache.prototype.has=mapCacheHas;MapCache.prototype.set=mapCacheSet;/**
 * Creates a stack cache object to store key-value pairs.
 *
 * @private
 * @constructor
 * @param {Array} [entries] The key-value pairs to cache.
 */function Stack(entries){var data=this.__data__=new ListCache(entries);this.size=data.size;}/**
 * Removes all key-value entries from the stack.
 *
 * @private
 * @name clear
 * @memberOf Stack
 */function stackClear(){this.__data__=new ListCache();this.size=0;}/**
 * Removes `key` and its value from the stack.
 *
 * @private
 * @name delete
 * @memberOf Stack
 * @param {string} key The key of the value to remove.
 * @returns {boolean} Returns `true` if the entry was removed, else `false`.
 */function stackDelete(key){var data=this.__data__,result=data['delete'](key);this.size=data.size;return result;}/**
 * Gets the stack value for `key`.
 *
 * @private
 * @name get
 * @memberOf Stack
 * @param {string} key The key of the value to get.
 * @returns {*} Returns the entry value.
 */function stackGet(key){return this.__data__.get(key);}/**
 * Checks if a stack value for `key` exists.
 *
 * @private
 * @name has
 * @memberOf Stack
 * @param {string} key The key of the entry to check.
 * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
 */function stackHas(key){return this.__data__.has(key);}/**
 * Sets the stack `key` to `value`.
 *
 * @private
 * @name set
 * @memberOf Stack
 * @param {string} key The key of the value to set.
 * @param {*} value The value to set.
 * @returns {Object} Returns the stack cache instance.
 */function stackSet(key,value){var data=this.__data__;if(data instanceof ListCache){var pairs=data.__data__;if(!Map||pairs.length<LARGE_ARRAY_SIZE-1){pairs.push([key,value]);this.size=++data.size;return this;}data=this.__data__=new MapCache(pairs);}data.set(key,value);this.size=data.size;return this;}// Add methods to `Stack`.
Stack.prototype.clear=stackClear;Stack.prototype['delete']=stackDelete;Stack.prototype.get=stackGet;Stack.prototype.has=stackHas;Stack.prototype.set=stackSet;/**
 * Creates an array of the enumerable property names of the array-like `value`.
 *
 * @private
 * @param {*} value The value to query.
 * @param {boolean} inherited Specify returning inherited property names.
 * @returns {Array} Returns the array of property names.
 */function arrayLikeKeys(value,inherited){var isArr=isArray(value),isArg=!isArr&&isArguments(value),isBuff=!isArr&&!isArg&&isBuffer(value),isType=!isArr&&!isArg&&!isBuff&&isTypedArray(value),skipIndexes=isArr||isArg||isBuff||isType,result=skipIndexes?baseTimes(value.length,String):[],length=result.length;for(var key in value){if((inherited||hasOwnProperty.call(value,key))&&!(skipIndexes&&(// Safari 9 has enumerable `arguments.length` in strict mode.
key=='length'||// Node.js 0.10 has enumerable non-index properties on buffers.
isBuff&&(key=='offset'||key=='parent')||// PhantomJS 2 has enumerable non-index properties on typed arrays.
isType&&(key=='buffer'||key=='byteLength'||key=='byteOffset')||// Skip index properties.
isIndex(key,length)))){result.push(key);}}return result;}/**
 * This function is like `assignValue` except that it doesn't assign
 * `undefined` values.
 *
 * @private
 * @param {Object} object The object to modify.
 * @param {string} key The key of the property to assign.
 * @param {*} value The value to assign.
 */function assignMergeValue(object,key,value){if(value!==undefined&&!eq(object[key],value)||value===undefined&&!(key in object)){baseAssignValue(object,key,value);}}/**
 * Assigns `value` to `key` of `object` if the existing value is not equivalent
 * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)
 * for equality comparisons.
 *
 * @private
 * @param {Object} object The object to modify.
 * @param {string} key The key of the property to assign.
 * @param {*} value The value to assign.
 */function assignValue(object,key,value){var objValue=object[key];if(!(hasOwnProperty.call(object,key)&&eq(objValue,value))||value===undefined&&!(key in object)){baseAssignValue(object,key,value);}}/**
 * Gets the index at which the `key` is found in `array` of key-value pairs.
 *
 * @private
 * @param {Array} array The array to inspect.
 * @param {*} key The key to search for.
 * @returns {number} Returns the index of the matched value, else `-1`.
 */function assocIndexOf(array,key){var length=array.length;while(length--){if(eq(array[length][0],key)){return length;}}return-1;}/**
 * The base implementation of `assignValue` and `assignMergeValue` without
 * value checks.
 *
 * @private
 * @param {Object} object The object to modify.
 * @param {string} key The key of the property to assign.
 * @param {*} value The value to assign.
 */function baseAssignValue(object,key,value){if(key=='__proto__'&&defineProperty){defineProperty(object,key,{'configurable':true,'enumerable':true,'value':value,'writable':true});}else{object[key]=value;}}/**
 * The base implementation of `baseForOwn` which iterates over `object`
 * properties returned by `keysFunc` and invokes `iteratee` for each property.
 * Iteratee functions may exit iteration early by explicitly returning `false`.
 *
 * @private
 * @param {Object} object The object to iterate over.
 * @param {Function} iteratee The function invoked per iteration.
 * @param {Function} keysFunc The function to get the keys of `object`.
 * @returns {Object} Returns `object`.
 */var baseFor=createBaseFor();/**
 * The base implementation of `getTag` without fallbacks for buggy environments.
 *
 * @private
 * @param {*} value The value to query.
 * @returns {string} Returns the `toStringTag`.
 */function baseGetTag(value){if(value==null){return value===undefined?undefinedTag:nullTag;}return symToStringTag&&symToStringTag in Object(value)?getRawTag(value):objectToString(value);}/**
 * The base implementation of `_.isArguments`.
 *
 * @private
 * @param {*} value The value to check.
 * @returns {boolean} Returns `true` if `value` is an `arguments` object,
 */function baseIsArguments(value){return isObjectLike(value)&&baseGetTag(value)==argsTag;}/**
 * The base implementation of `_.isNative` without bad shim checks.
 *
 * @private
 * @param {*} value The value to check.
 * @returns {boolean} Returns `true` if `value` is a native function,
 *  else `false`.
 */function baseIsNative(value){if(!isObject(value)||isMasked(value)){return false;}var pattern=isFunction(value)?reIsNative:reIsHostCtor;return pattern.test(toSource(value));}/**
 * The base implementation of `_.isTypedArray` without Node.js optimizations.
 *
 * @private
 * @param {*} value The value to check.
 * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.
 */function baseIsTypedArray(value){return isObjectLike(value)&&isLength(value.length)&&!!typedArrayTags[baseGetTag(value)];}/**
 * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.
 *
 * @private
 * @param {Object} object The object to query.
 * @returns {Array} Returns the array of property names.
 */function baseKeysIn(object){if(!isObject(object)){return nativeKeysIn(object);}var isProto=isPrototype(object),result=[];for(var key in object){if(!(key=='constructor'&&(isProto||!hasOwnProperty.call(object,key)))){result.push(key);}}return result;}/**
 * The base implementation of `_.merge` without support for multiple sources.
 *
 * @private
 * @param {Object} object The destination object.
 * @param {Object} source The source object.
 * @param {number} srcIndex The index of `source`.
 * @param {Function} [customizer] The function to customize merged values.
 * @param {Object} [stack] Tracks traversed source values and their merged
 *  counterparts.
 */function baseMerge(object,source,srcIndex,customizer,stack){if(object===source){return;}baseFor(source,function(srcValue,key){if(isObject(srcValue)){stack||(stack=new Stack());baseMergeDeep(object,source,key,srcIndex,baseMerge,customizer,stack);}else{var newValue=customizer?customizer(safeGet(object,key),srcValue,key+'',object,source,stack):undefined;if(newValue===undefined){newValue=srcValue;}assignMergeValue(object,key,newValue);}},keysIn);}/**
 * A specialized version of `baseMerge` for arrays and objects which performs
 * deep merges and tracks traversed objects enabling objects with circular
 * references to be merged.
 *
 * @private
 * @param {Object} object The destination object.
 * @param {Object} source The source object.
 * @param {string} key The key of the value to merge.
 * @param {number} srcIndex The index of `source`.
 * @param {Function} mergeFunc The function to merge values.
 * @param {Function} [customizer] The function to customize assigned values.
 * @param {Object} [stack] Tracks traversed source values and their merged
 *  counterparts.
 */function baseMergeDeep(object,source,key,srcIndex,mergeFunc,customizer,stack){var objValue=safeGet(object,key),srcValue=safeGet(source,key),stacked=stack.get(srcValue);if(stacked){assignMergeValue(object,key,stacked);return;}var newValue=customizer?customizer(objValue,srcValue,key+'',object,source,stack):undefined;var isCommon=newValue===undefined;if(isCommon){var isArr=isArray(srcValue),isBuff=!isArr&&isBuffer(srcValue),isTyped=!isArr&&!isBuff&&isTypedArray(srcValue);newValue=srcValue;if(isArr||isBuff||isTyped){if(isArray(objValue)){newValue=objValue;}else if(isArrayLikeObject(objValue)){newValue=copyArray(objValue);}else if(isBuff){isCommon=false;newValue=cloneBuffer(srcValue,true);}else if(isTyped){isCommon=false;newValue=cloneTypedArray(srcValue,true);}else{newValue=[];}}else if(isPlainObject(srcValue)||isArguments(srcValue)){newValue=objValue;if(isArguments(objValue)){newValue=toPlainObject(objValue);}else if(!isObject(objValue)||srcIndex&&isFunction(objValue)){newValue=initCloneObject(srcValue);}}else{isCommon=false;}}if(isCommon){// Recursively merge objects and arrays (susceptible to call stack limits).
stack.set(srcValue,newValue);mergeFunc(newValue,srcValue,srcIndex,customizer,stack);stack['delete'](srcValue);}assignMergeValue(object,key,newValue);}/**
 * The base implementation of `_.rest` which doesn't validate or coerce arguments.
 *
 * @private
 * @param {Function} func The function to apply a rest parameter to.
 * @param {number} [start=func.length-1] The start position of the rest parameter.
 * @returns {Function} Returns the new function.
 */function baseRest(func,start){return setToString(overRest(func,start,identity),func+'');}/**
 * The base implementation of `setToString` without support for hot loop shorting.
 *
 * @private
 * @param {Function} func The function to modify.
 * @param {Function} string The `toString` result.
 * @returns {Function} Returns `func`.
 */var baseSetToString=!defineProperty?identity:function(func,string){return defineProperty(func,'toString',{'configurable':true,'enumerable':false,'value':constant(string),'writable':true});};/**
 * Creates a clone of  `buffer`.
 *
 * @private
 * @param {Buffer} buffer The buffer to clone.
 * @param {boolean} [isDeep] Specify a deep clone.
 * @returns {Buffer} Returns the cloned buffer.
 */function cloneBuffer(buffer,isDeep){if(isDeep){return buffer.slice();}var length=buffer.length,result=allocUnsafe?allocUnsafe(length):new buffer.constructor(length);buffer.copy(result);return result;}/**
 * Creates a clone of `arrayBuffer`.
 *
 * @private
 * @param {ArrayBuffer} arrayBuffer The array buffer to clone.
 * @returns {ArrayBuffer} Returns the cloned array buffer.
 */function cloneArrayBuffer(arrayBuffer){var result=new arrayBuffer.constructor(arrayBuffer.byteLength);new Uint8Array(result).set(new Uint8Array(arrayBuffer));return result;}/**
 * Creates a clone of `typedArray`.
 *
 * @private
 * @param {Object} typedArray The typed array to clone.
 * @param {boolean} [isDeep] Specify a deep clone.
 * @returns {Object} Returns the cloned typed array.
 */function cloneTypedArray(typedArray,isDeep){var buffer=isDeep?cloneArrayBuffer(typedArray.buffer):typedArray.buffer;return new typedArray.constructor(buffer,typedArray.byteOffset,typedArray.length);}/**
 * Copies the values of `source` to `array`.
 *
 * @private
 * @param {Array} source The array to copy values from.
 * @param {Array} [array=[]] The array to copy values to.
 * @returns {Array} Returns `array`.
 */function copyArray(source,array){var index=-1,length=source.length;array||(array=Array(length));while(++index<length){array[index]=source[index];}return array;}/**
 * Copies properties of `source` to `object`.
 *
 * @private
 * @param {Object} source The object to copy properties from.
 * @param {Array} props The property identifiers to copy.
 * @param {Object} [object={}] The object to copy properties to.
 * @param {Function} [customizer] The function to customize copied values.
 * @returns {Object} Returns `object`.
 */function copyObject(source,props,object,customizer){var isNew=!object;object||(object={});var index=-1,length=props.length;while(++index<length){var key=props[index];var newValue=customizer?customizer(object[key],source[key],key,object,source):undefined;if(newValue===undefined){newValue=source[key];}if(isNew){baseAssignValue(object,key,newValue);}else{assignValue(object,key,newValue);}}return object;}/**
 * Creates a function like `_.assign`.
 *
 * @private
 * @param {Function} assigner The function to assign values.
 * @returns {Function} Returns the new assigner function.
 */function createAssigner(assigner){return baseRest(function(object,sources){var index=-1,length=sources.length,customizer=length>1?sources[length-1]:undefined,guard=length>2?sources[2]:undefined;customizer=assigner.length>3&&typeof customizer=='function'?(length--,customizer):undefined;if(guard&&isIterateeCall(sources[0],sources[1],guard)){customizer=length<3?undefined:customizer;length=1;}object=Object(object);while(++index<length){var source=sources[index];if(source){assigner(object,source,index,customizer);}}return object;});}/**
 * Creates a base function for methods like `_.forIn` and `_.forOwn`.
 *
 * @private
 * @param {boolean} [fromRight] Specify iterating from right to left.
 * @returns {Function} Returns the new base function.
 */function createBaseFor(fromRight){return function(object,iteratee,keysFunc){var index=-1,iterable=Object(object),props=keysFunc(object),length=props.length;while(length--){var key=props[fromRight?length:++index];if(iteratee(iterable[key],key,iterable)===false){break;}}return object;};}/**
 * Gets the data for `map`.
 *
 * @private
 * @param {Object} map The map to query.
 * @param {string} key The reference key.
 * @returns {*} Returns the map data.
 */function getMapData(map,key){var data=map.__data__;return isKeyable(key)?data[typeof key=='string'?'string':'hash']:data.map;}/**
 * Gets the native function at `key` of `object`.
 *
 * @private
 * @param {Object} object The object to query.
 * @param {string} key The key of the method to get.
 * @returns {*} Returns the function if it's native, else `undefined`.
 */function getNative(object,key){var value=getValue(object,key);return baseIsNative(value)?value:undefined;}/**
 * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.
 *
 * @private
 * @param {*} value The value to query.
 * @returns {string} Returns the raw `toStringTag`.
 */function getRawTag(value){var isOwn=hasOwnProperty.call(value,symToStringTag),tag=value[symToStringTag];try{value[symToStringTag]=undefined;var unmasked=true;}catch(e){}var result=nativeObjectToString.call(value);if(unmasked){if(isOwn){value[symToStringTag]=tag;}else{delete value[symToStringTag];}}return result;}/**
 * Initializes an object clone.
 *
 * @private
 * @param {Object} object The object to clone.
 * @returns {Object} Returns the initialized clone.
 */function initCloneObject(object){return typeof object.constructor=='function'&&!isPrototype(object)?baseCreate(getPrototype(object)):{};}/**
 * Checks if `value` is a valid array-like index.
 *
 * @private
 * @param {*} value The value to check.
 * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.
 * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.
 */function isIndex(value,length){var type=typeof value==='undefined'?'undefined':_typeof2(value);length=length==null?MAX_SAFE_INTEGER:length;return!!length&&(type=='number'||type!='symbol'&&reIsUint.test(value))&&value>-1&&value%1==0&&value<length;}/**
 * Checks if the given arguments are from an iteratee call.
 *
 * @private
 * @param {*} value The potential iteratee value argument.
 * @param {*} index The potential iteratee index or key argument.
 * @param {*} object The potential iteratee object argument.
 * @returns {boolean} Returns `true` if the arguments are from an iteratee call,
 *  else `false`.
 */function isIterateeCall(value,index,object){if(!isObject(object)){return false;}var type=typeof index==='undefined'?'undefined':_typeof2(index);if(type=='number'?isArrayLike(object)&&isIndex(index,object.length):type=='string'&&index in object){return eq(object[index],value);}return false;}/**
 * Checks if `value` is suitable for use as unique object key.
 *
 * @private
 * @param {*} value The value to check.
 * @returns {boolean} Returns `true` if `value` is suitable, else `false`.
 */function isKeyable(value){var type=typeof value==='undefined'?'undefined':_typeof2(value);return type=='string'||type=='number'||type=='symbol'||type=='boolean'?value!=='__proto__':value===null;}/**
 * Checks if `func` has its source masked.
 *
 * @private
 * @param {Function} func The function to check.
 * @returns {boolean} Returns `true` if `func` is masked, else `false`.
 */function isMasked(func){return!!maskSrcKey&&maskSrcKey in func;}/**
 * Checks if `value` is likely a prototype object.
 *
 * @private
 * @param {*} value The value to check.
 * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.
 */function isPrototype(value){var Ctor=value&&value.constructor,proto=typeof Ctor=='function'&&Ctor.prototype||objectProto;return value===proto;}/**
 * This function is like
 * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)
 * except that it includes inherited enumerable properties.
 *
 * @private
 * @param {Object} object The object to query.
 * @returns {Array} Returns the array of property names.
 */function nativeKeysIn(object){var result=[];if(object!=null){for(var key in Object(object)){result.push(key);}}return result;}/**
 * Converts `value` to a string using `Object.prototype.toString`.
 *
 * @private
 * @param {*} value The value to convert.
 * @returns {string} Returns the converted string.
 */function objectToString(value){return nativeObjectToString.call(value);}/**
 * A specialized version of `baseRest` which transforms the rest array.
 *
 * @private
 * @param {Function} func The function to apply a rest parameter to.
 * @param {number} [start=func.length-1] The start position of the rest parameter.
 * @param {Function} transform The rest array transform.
 * @returns {Function} Returns the new function.
 */function overRest(func,start,transform){start=nativeMax(start===undefined?func.length-1:start,0);return function(){var args=arguments,index=-1,length=nativeMax(args.length-start,0),array=Array(length);while(++index<length){array[index]=args[start+index];}index=-1;var otherArgs=Array(start+1);while(++index<start){otherArgs[index]=args[index];}otherArgs[start]=transform(array);return apply(func,this,otherArgs);};}/**
 * Sets the `toString` method of `func` to return `string`.
 *
 * @private
 * @param {Function} func The function to modify.
 * @param {Function} string The `toString` result.
 * @returns {Function} Returns `func`.
 */var setToString=shortOut(baseSetToString);/**
 * Creates a function that'll short out and invoke `identity` instead
 * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN`
 * milliseconds.
 *
 * @private
 * @param {Function} func The function to restrict.
 * @returns {Function} Returns the new shortable function.
 */function shortOut(func){var count=0,lastCalled=0;return function(){var stamp=nativeNow(),remaining=HOT_SPAN-(stamp-lastCalled);lastCalled=stamp;if(remaining>0){if(++count>=HOT_COUNT){return arguments[0];}}else{count=0;}return func.apply(undefined,arguments);};}/**
 * Converts `func` to its source code.
 *
 * @private
 * @param {Function} func The function to convert.
 * @returns {string} Returns the source code.
 */function toSource(func){if(func!=null){try{return funcToString.call(func);}catch(e){}try{return func+'';}catch(e){}}return'';}/**
 * Performs a
 * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)
 * comparison between two values to determine if they are equivalent.
 *
 * @static
 * @memberOf _
 * @since 4.0.0
 * @category Lang
 * @param {*} value The value to compare.
 * @param {*} other The other value to compare.
 * @returns {boolean} Returns `true` if the values are equivalent, else `false`.
 * @example
 *
 * var object = { 'a': 1 };
 * var other = { 'a': 1 };
 *
 * _.eq(object, object);
 * // => true
 *
 * _.eq(object, other);
 * // => false
 *
 * _.eq('a', 'a');
 * // => true
 *
 * _.eq('a', Object('a'));
 * // => false
 *
 * _.eq(NaN, NaN);
 * // => true
 */function eq(value,other){return value===other||value!==value&&other!==other;}/**
 * Checks if `value` is likely an `arguments` object.
 *
 * @static
 * @memberOf _
 * @since 0.1.0
 * @category Lang
 * @param {*} value The value to check.
 * @returns {boolean} Returns `true` if `value` is an `arguments` object,
 *  else `false`.
 * @example
 *
 * _.isArguments(function() { return arguments; }());
 * // => true
 *
 * _.isArguments([1, 2, 3]);
 * // => false
 */var isArguments=baseIsArguments(function(){return arguments;}())?baseIsArguments:function(value){return isObjectLike(value)&&hasOwnProperty.call(value,'callee')&&!propertyIsEnumerable.call(value,'callee');};/**
 * Checks if `value` is classified as an `Array` object.
 *
 * @static
 * @memberOf _
 * @since 0.1.0
 * @category Lang
 * @param {*} value The value to check.
 * @returns {boolean} Returns `true` if `value` is an array, else `false`.
 * @example
 *
 * _.isArray([1, 2, 3]);
 * // => true
 *
 * _.isArray(document.body.children);
 * // => false
 *
 * _.isArray('abc');
 * // => false
 *
 * _.isArray(_.noop);
 * // => false
 */var isArray=Array.isArray;/**
 * Checks if `value` is array-like. A value is considered array-like if it's
 * not a function and has a `value.length` that's an integer greater than or
 * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.
 *
 * @static
 * @memberOf _
 * @since 4.0.0
 * @category Lang
 * @param {*} value The value to check.
 * @returns {boolean} Returns `true` if `value` is array-like, else `false`.
 * @example
 *
 * _.isArrayLike([1, 2, 3]);
 * // => true
 *
 * _.isArrayLike(document.body.children);
 * // => true
 *
 * _.isArrayLike('abc');
 * // => true
 *
 * _.isArrayLike(_.noop);
 * // => false
 */function isArrayLike(value){return value!=null&&isLength(value.length)&&!isFunction(value);}/**
 * This method is like `_.isArrayLike` except that it also checks if `value`
 * is an object.
 *
 * @static
 * @memberOf _
 * @since 4.0.0
 * @category Lang
 * @param {*} value The value to check.
 * @returns {boolean} Returns `true` if `value` is an array-like object,
 *  else `false`.
 * @example
 *
 * _.isArrayLikeObject([1, 2, 3]);
 * // => true
 *
 * _.isArrayLikeObject(document.body.children);
 * // => true
 *
 * _.isArrayLikeObject('abc');
 * // => false
 *
 * _.isArrayLikeObject(_.noop);
 * // => false
 */function isArrayLikeObject(value){return isObjectLike(value)&&isArrayLike(value);}/**
 * Checks if `value` is a buffer.
 *
 * @static
 * @memberOf _
 * @since 4.3.0
 * @category Lang
 * @param {*} value The value to check.
 * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.
 * @example
 *
 * _.isBuffer(new Buffer(2));
 * // => true
 *
 * _.isBuffer(new Uint8Array(2));
 * // => false
 */var isBuffer=nativeIsBuffer||stubFalse;/**
 * Checks if `value` is classified as a `Function` object.
 *
 * @static
 * @memberOf _
 * @since 0.1.0
 * @category Lang
 * @param {*} value The value to check.
 * @returns {boolean} Returns `true` if `value` is a function, else `false`.
 * @example
 *
 * _.isFunction(_);
 * // => true
 *
 * _.isFunction(/abc/);
 * // => false
 */function isFunction(value){if(!isObject(value)){return false;}// The use of `Object#toString` avoids issues with the `typeof` operator
// in Safari 9 which returns 'object' for typed arrays and other constructors.
var tag=baseGetTag(value);return tag==funcTag||tag==genTag||tag==asyncTag||tag==proxyTag;}/**
 * Checks if `value` is a valid array-like length.
 *
 * **Note:** This method is loosely based on
 * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).
 *
 * @static
 * @memberOf _
 * @since 4.0.0
 * @category Lang
 * @param {*} value The value to check.
 * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.
 * @example
 *
 * _.isLength(3);
 * // => true
 *
 * _.isLength(Number.MIN_VALUE);
 * // => false
 *
 * _.isLength(Infinity);
 * // => false
 *
 * _.isLength('3');
 * // => false
 */function isLength(value){return typeof value=='number'&&value>-1&&value%1==0&&value<=MAX_SAFE_INTEGER;}/**
 * Checks if `value` is the
 * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)
 * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)
 *
 * @static
 * @memberOf _
 * @since 0.1.0
 * @category Lang
 * @param {*} value The value to check.
 * @returns {boolean} Returns `true` if `value` is an object, else `false`.
 * @example
 *
 * _.isObject({});
 * // => true
 *
 * _.isObject([1, 2, 3]);
 * // => true
 *
 * _.isObject(_.noop);
 * // => true
 *
 * _.isObject(null);
 * // => false
 */function isObject(value){var type=typeof value==='undefined'?'undefined':_typeof2(value);return value!=null&&(type=='object'||type=='function');}/**
 * Checks if `value` is object-like. A value is object-like if it's not `null`
 * and has a `typeof` result of "object".
 *
 * @static
 * @memberOf _
 * @since 4.0.0
 * @category Lang
 * @param {*} value The value to check.
 * @returns {boolean} Returns `true` if `value` is object-like, else `false`.
 * @example
 *
 * _.isObjectLike({});
 * // => true
 *
 * _.isObjectLike([1, 2, 3]);
 * // => true
 *
 * _.isObjectLike(_.noop);
 * // => false
 *
 * _.isObjectLike(null);
 * // => false
 */function isObjectLike(value){return value!=null&&(typeof value==='undefined'?'undefined':_typeof2(value))=='object';}/**
 * Checks if `value` is a plain object, that is, an object created by the
 * `Object` constructor or one with a `[[Prototype]]` of `null`.
 *
 * @static
 * @memberOf _
 * @since 0.8.0
 * @category Lang
 * @param {*} value The value to check.
 * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.
 * @example
 *
 * function Foo() {
 *   this.a = 1;
 * }
 *
 * _.isPlainObject(new Foo);
 * // => false
 *
 * _.isPlainObject([1, 2, 3]);
 * // => false
 *
 * _.isPlainObject({ 'x': 0, 'y': 0 });
 * // => true
 *
 * _.isPlainObject(Object.create(null));
 * // => true
 */function isPlainObject(value){if(!isObjectLike(value)||baseGetTag(value)!=objectTag){return false;}var proto=getPrototype(value);if(proto===null){return true;}var Ctor=hasOwnProperty.call(proto,'constructor')&&proto.constructor;return typeof Ctor=='function'&&Ctor instanceof Ctor&&funcToString.call(Ctor)==objectCtorString;}/**
 * Checks if `value` is classified as a typed array.
 *
 * @static
 * @memberOf _
 * @since 3.0.0
 * @category Lang
 * @param {*} value The value to check.
 * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.
 * @example
 *
 * _.isTypedArray(new Uint8Array);
 * // => true
 *
 * _.isTypedArray([]);
 * // => false
 */var isTypedArray=nodeIsTypedArray?baseUnary(nodeIsTypedArray):baseIsTypedArray;/**
 * Converts `value` to a plain object flattening inherited enumerable string
 * keyed properties of `value` to own properties of the plain object.
 *
 * @static
 * @memberOf _
 * @since 3.0.0
 * @category Lang
 * @param {*} value The value to convert.
 * @returns {Object} Returns the converted plain object.
 * @example
 *
 * function Foo() {
 *   this.b = 2;
 * }
 *
 * Foo.prototype.c = 3;
 *
 * _.assign({ 'a': 1 }, new Foo);
 * // => { 'a': 1, 'b': 2 }
 *
 * _.assign({ 'a': 1 }, _.toPlainObject(new Foo));
 * // => { 'a': 1, 'b': 2, 'c': 3 }
 */function toPlainObject(value){return copyObject(value,keysIn(value));}/**
 * Creates an array of the own and inherited enumerable property names of `object`.
 *
 * **Note:** Non-object values are coerced to objects.
 *
 * @static
 * @memberOf _
 * @since 3.0.0
 * @category Object
 * @param {Object} object The object to query.
 * @returns {Array} Returns the array of property names.
 * @example
 *
 * function Foo() {
 *   this.a = 1;
 *   this.b = 2;
 * }
 *
 * Foo.prototype.c = 3;
 *
 * _.keysIn(new Foo);
 * // => ['a', 'b', 'c'] (iteration order is not guaranteed)
 */function keysIn(object){return isArrayLike(object)?arrayLikeKeys(object,true):baseKeysIn(object);}/**
 * This method is like `_.assign` except that it recursively merges own and
 * inherited enumerable string keyed properties of source objects into the
 * destination object. Source properties that resolve to `undefined` are
 * skipped if a destination value exists. Array and plain object properties
 * are merged recursively. Other objects and value types are overridden by
 * assignment. Source objects are applied from left to right. Subsequent
 * sources overwrite property assignments of previous sources.
 *
 * **Note:** This method mutates `object`.
 *
 * @static
 * @memberOf _
 * @since 0.5.0
 * @category Object
 * @param {Object} object The destination object.
 * @param {...Object} [sources] The source objects.
 * @returns {Object} Returns `object`.
 * @example
 *
 * var object = {
 *   'a': [{ 'b': 2 }, { 'd': 4 }]
 * };
 *
 * var other = {
 *   'a': [{ 'c': 3 }, { 'e': 5 }]
 * };
 *
 * _.merge(object, other);
 * // => { 'a': [{ 'b': 2, 'c': 3 }, { 'd': 4, 'e': 5 }] }
 */var merge=createAssigner(function(object,source,srcIndex){baseMerge(object,source,srcIndex);});/**
 * Creates a function that returns `value`.
 *
 * @static
 * @memberOf _
 * @since 2.4.0
 * @category Util
 * @param {*} value The value to return from the new function.
 * @returns {Function} Returns the new constant function.
 * @example
 *
 * var objects = _.times(2, _.constant({ 'a': 1 }));
 *
 * console.log(objects);
 * // => [{ 'a': 1 }, { 'a': 1 }]
 *
 * console.log(objects[0] === objects[1]);
 * // => true
 */function constant(value){return function(){return value;};}/**
 * This method returns the first argument it receives.
 *
 * @static
 * @since 0.1.0
 * @memberOf _
 * @category Util
 * @param {*} value Any value.
 * @returns {*} Returns `value`.
 * @example
 *
 * var object = { 'a': 1 };
 *
 * console.log(_.identity(object) === object);
 * // => true
 */function identity(value){return value;}/**
 * This method returns `false`.
 *
 * @static
 * @memberOf _
 * @since 4.13.0
 * @category Util
 * @returns {boolean} Returns `false`.
 * @example
 *
 * _.times(2, _.stubFalse);
 * // => [false, false]
 */function stubFalse(){return false;}module.exports=merge;});function install(Vue){var options=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};if(install.installed)return;install.installed=true;var finalOptions={};lodash_merge(finalOptions,defaultOptions,options);plugin.options=finalOptions;directive.options=finalOptions;Vue.directive('tooltip',directive);Vue.directive('close-popover',vclosepopover);Vue.component('v-popover',Popover);}var VTooltip=directive;var VClosePopover=vclosepopover;var VPopover=Popover;var plugin={install:install,get enabled(){return state.enabled;},set enabled(value){state.enabled=value;}};// Auto-install
var GlobalVue=null;if(typeof window!=='undefined'){GlobalVue=window.Vue;}else if(typeof global!=='undefined'){GlobalVue=global.Vue;}if(GlobalVue){GlobalVue.use(plugin);}/* harmony default export */__webpack_exports__["a"]=plugin;/* WEBPACK VAR INJECTION */}).call(__webpack_exports__,__webpack_require__(13));/***/},/* 161 *//***/function(module,__webpack_exports__,__webpack_require__){"use strict";/* harmony import */var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_SearchwpStatistics_vue__=__webpack_require__(16);/* unused harmony namespace reexport *//* harmony import */var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_9cb7fd00_hasScoped_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_SearchwpStatistics_vue__=__webpack_require__(234);function injectStyle(ssrContext){__webpack_require__(162);__webpack_require__(165);}var normalizeComponent=__webpack_require__(8);/* script *//* template *//* template functional */var __vue_template_functional__=false;/* styles */var __vue_styles__=injectStyle;/* scopeId */var __vue_scopeId__=null;/* moduleIdentifier (server only) */var __vue_module_identifier__=null;var Component=normalizeComponent(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_SearchwpStatistics_vue__["a"/* default */],__WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_9cb7fd00_hasScoped_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_SearchwpStatistics_vue__["a"/* default */],__vue_template_functional__,__vue_styles__,__vue_scopeId__,__vue_module_identifier__);/* harmony default export */__webpack_exports__["a"]=Component.exports;/***/},/* 162 *//***/function(module,exports,__webpack_require__){// style-loader: Adds some css to the DOM by adding a <style> tag
// load the styles
var content=__webpack_require__(163);if(typeof content==='string')content=[[module.i,content,'']];if(content.locals)module.exports=content.locals;// add the styles to the DOM
var update=__webpack_require__(7)("1f0cbbde",content,true,{});/***/},/* 163 *//***/function(module,exports,__webpack_require__){exports=module.exports=__webpack_require__(6)(false);// imports
// module
exports.push([module.i,".tooltip{display:block!important;z-index:10000}.tooltip .tooltip-inner{background:rgba(0,0,0,.8);color:#fff;border-radius:2px;padding:5px 10px;text-align:center}.tooltip .tooltip-arrow{width:0;height:0;border-style:solid;position:absolute;margin:5px;border-color:rgba(0,0,0,.8);z-index:1}.tooltip[x-placement^=top]{margin-bottom:5px}.tooltip[x-placement^=top] .tooltip-arrow{border-width:5px 5px 0;border-left-color:transparent!important;border-right-color:transparent!important;border-bottom-color:transparent!important;bottom:-5px;left:calc(50% - 5px);margin-top:0;margin-bottom:0}.tooltip[x-placement^=bottom]{margin-top:5px}.tooltip[x-placement^=bottom] .tooltip-arrow{border-width:0 5px 5px;border-left-color:transparent!important;border-right-color:transparent!important;border-top-color:transparent!important;top:-5px;left:calc(50% - 5px);margin-top:0;margin-bottom:0}.tooltip[x-placement^=right]{margin-left:5px}.tooltip[x-placement^=right] .tooltip-arrow{border-width:5px 5px 5px 0;border-left-color:transparent!important;border-top-color:transparent!important;border-bottom-color:transparent!important;left:-5px;top:calc(50% - 5px);margin-left:0;margin-right:0}.tooltip[x-placement^=left]{margin-right:5px}.tooltip[x-placement^=left] .tooltip-arrow{border-width:5px 0 5px 5px;border-top-color:transparent!important;border-right-color:transparent!important;border-bottom-color:transparent!important;right:-5px;top:calc(50% - 5px);margin-left:0;margin-right:0}.tooltip.popover .popover-inner{background:#414141;color:#fff;padding:.4em 0 .8em;border-radius:3px;min-width:150px}.tooltip.popover .popover-inner>div>:first-child{margin-top:0;padding-top:0}.tooltip.popover .popover-inner>div>:last-child{margin-bottom:0;padding-bottom:0}.tooltip.popover .popover-inner a{color:#fff}.tooltip.popover .popover-inner ul{margin:0;padding:.6em 0;list-style:none}.tooltip.popover .popover-inner li{padding:.3em .7em;line-height:1.5;margin:0;cursor:pointer}.tooltip.popover .popover-inner li:hover{background:#159fd2}.tooltip.popover .popover-arrow{border-color:#414141}.tooltip[aria-hidden=true]{visibility:hidden;opacity:0;transition:opacity .15s,visibility .15s}.tooltip[aria-hidden=false]{visibility:visible;opacity:1;transition:opacity .15s}.tooltip .searchwp-popover-actions button{cursor:pointer;display:block;width:100%;margin:0;padding:0;background:transparent;text-align:center;color:#fff;border:0}.searchwp-spinner-message{display:flex;align-items:center}.searchwp-spinner-message .vue-simple-spinner-text{flex:1;padding-left:.75em;margin-top:0!important;text-align:left!important}",""]);// exports
/***/},/* 164 *//***/function(module,exports){/**
 * Translates the list format produced by css-loader into something
 * easier to manipulate.
 */module.exports=function listToStyles(parentId,list){var styles=[];var newStyles={};for(var i=0;i<list.length;i++){var item=list[i];var id=item[0];var css=item[1];var media=item[2];var sourceMap=item[3];var part={id:parentId+':'+i,css:css,media:media,sourceMap:sourceMap};if(!newStyles[id]){styles.push(newStyles[id]={id:id,parts:[part]});}else{newStyles[id].parts.push(part);}}return styles;};/***/},/* 165 *//***/function(module,exports,__webpack_require__){// style-loader: Adds some css to the DOM by adding a <style> tag
// load the styles
var content=__webpack_require__(166);if(typeof content==='string')content=[[module.i,content,'']];if(content.locals)module.exports=content.locals;// add the styles to the DOM
var update=__webpack_require__(7)("3c699cdc",content,true,{});/***/},/* 166 *//***/function(module,exports,__webpack_require__){exports=module.exports=__webpack_require__(6)(false);// imports
// module
exports.push([module.i,".searchwp-statistics .modal-vue-wrapper{z-index:999999!important}.searchwp-statistics .modal-vue-wrapper .modal-vue-overlay{background:rgba(30,30,30,.5)!important}.searchwp-statistics .modal-vue-wrapper .modal-vue-panel{max-width:600px;overflow-y:scroll;background:#fff!important}.searchwp-statistics .modal-vue-wrapper .modal-vue-panel .modal-vue-content{padding-right:1em}.wp-core-ui .button.searchwp-button{margin-top:0}.searchwp-statistics__searches-over-time{padding:1.5em 1em 1em}.searchwp-hidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.searchwp-statistics__actions{position:absolute;top:20px;right:20px;list-style:none;margin:0;padding:0;display:flex}.searchwp-statistics__actions>*{margin-left:.75em}.searchwp-statistics__action{display:inline-block}.searchwp-statistics__action>span{display:flex;align-items:center}.searchwp-statistics__action .dashicons{margin-right:.2em}.searchwp-statistics__populars{display:flex;flex-wrap:wrap;justify-content:space-between}.searchwp-statistics__populars>*{width:19%;margin-bottom:20px}@media screen and (max-width:1540px){.searchwp-statistics__populars>*{width:23.5%}}@media screen and (max-width:1280px){.searchwp-statistics__populars>*{width:31%}}@media screen and (max-width:1024px){.searchwp-statistics__populars>*{width:49%}}@media screen and (max-width:700px){.searchwp-statistics__populars>*{width:100%}}.searchwp-statistics__loading{position:fixed;top:0;right:0;left:0;bottom:0;z-index:99999;display:flex;align-items:center;justify-content:center;background:hsla(0,0%,100%,.85)}.searchwp-statistics__loading-details{position:relative}.searchwp-statistics__loading-details-container>*{opacity:1}.searchwp-statistics__loading-details-loader{opacity:0;position:absolute;width:0;height:0;overflow:hidden}.searchwp-statistics__is-loading-details .searchwp-statistics__loading-details-container{opacity:0}.searchwp-statistics__is-loading-details .searchwp-statistics__loading-details-loader{opacity:1;top:0;right:0;bottom:0;left:0;width:100%;height:100%;padding-top:15vh}.searchwp-statistics__modal{max-width:600px;text-align:left}.searchwp-statistics__modal table{width:100%;border-collapse:collapse;font-size:.9em;margin-top:1em}.searchwp-statistics__modal table th{padding-bottom:.7em}.searchwp-statistics__modal table td{border-top:1px solid #eaeaea;padding:.5em 0 .4em}.searchwp-statistics__modal table .searchwp-delete{position:relative;top:1px}",""]);// exports
/***/},/* 167 *//***/function(module,exports,__webpack_require__){/*!
 * vue-simple-spinner v1.2.8 (https://github.com/dzwillia/vue-simple-spinner)
 * (c) 2017 David Z. Williams
 * Released under the MIT License.
 */(function webpackUniversalModuleDefinition(root,factory){if(true)module.exports=factory();else if(typeof define==='function'&&define.amd)define([],factory);else if((typeof exports==='undefined'?'undefined':_typeof2(exports))==='object')exports["VueSimpleSpinner"]=factory();else root["VueSimpleSpinner"]=factory();})(this,function(){return(/******/function(modules){// webpackBootstrap
/******/// The module cache
/******/var installedModules={};/******//******/// The require function
/******/function __webpack_require__(moduleId){/******//******/// Check if module is in cache
/******/if(installedModules[moduleId]){/******/return installedModules[moduleId].exports;/******/}/******/// Create a new module (and put it into the cache)
/******/var module=installedModules[moduleId]={/******/i:moduleId,/******/l:false,/******/exports:{}/******/};/******//******/// Execute the module function
/******/modules[moduleId].call(module.exports,module,module.exports,__webpack_require__);/******//******/// Flag the module as loaded
/******/module.l=true;/******//******/// Return the exports of the module
/******/return module.exports;/******/}/******//******//******/// expose the modules object (__webpack_modules__)
/******/__webpack_require__.m=modules;/******//******/// expose the module cache
/******/__webpack_require__.c=installedModules;/******//******/// define getter function for harmony exports
/******/__webpack_require__.d=function(exports,name,getter){/******/if(!__webpack_require__.o(exports,name)){/******/Object.defineProperty(exports,name,{/******/configurable:false,/******/enumerable:true,/******/get:getter/******/});/******/}/******/};/******//******/// getDefaultExport function for compatibility with non-harmony modules
/******/__webpack_require__.n=function(module){/******/var getter=module&&module.__esModule?/******/function getDefault(){return module['default'];}:/******/function getModuleExports(){return module;};/******/__webpack_require__.d(getter,'a',getter);/******/return getter;/******/};/******//******/// Object.prototype.hasOwnProperty.call
/******/__webpack_require__.o=function(object,property){return Object.prototype.hasOwnProperty.call(object,property);};/******//******/// __webpack_public_path__
/******/__webpack_require__.p="";/******//******/// Load entry module and return exports
/******/return __webpack_require__(__webpack_require__.s=0);/******/}(/************************************************************************//******/[/* 0 *//***/function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.VueSimpleSpinner=undefined;var _Spinner=__webpack_require__(1);var _Spinner2=_interopRequireDefault(_Spinner);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}if(typeof window!=='undefined'&&window.Vue){Vue.component('vue-simple-spinner',_Spinner2.default);}exports.VueSimpleSpinner=_Spinner2.default;exports.default=_Spinner2.default;/***/},/* 1 *//***/function(module,exports,__webpack_require__){/* styles */__webpack_require__(2);var Component=__webpack_require__(7)(/* script */__webpack_require__(8),/* template */__webpack_require__(9),/* scopeId */null,/* cssModules */null);module.exports=Component.exports;/***/},/* 2 *//***/function(module,exports,__webpack_require__){// style-loader: Adds some css to the DOM by adding a <style> tag
// load the styles
var content=__webpack_require__(3);if(typeof content==='string')content=[[module.i,content,'']];if(content.locals)module.exports=content.locals;// add the styles to the DOM
var update=__webpack_require__(5)("d89557e4",content,true);/***/},/* 3 *//***/function(module,exports,__webpack_require__){exports=module.exports=__webpack_require__(4)();// imports
// module
exports.push([module.i,".vue-simple-spinner{transition:all .3s linear}@keyframes vue-simple-spinner-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}",""]);// exports
/***/},/* 4 *//***/function(module,exports){/*
	MIT License http://www.opensource.org/licenses/mit-license.php
	Author Tobias Koppers @sokra
*/// css base code, injected by the css-loader
module.exports=function(){var list=[];// return the list of modules as css string
list.toString=function toString(){var result=[];for(var i=0;i<this.length;i++){var item=this[i];if(item[2]){result.push("@media "+item[2]+"{"+item[1]+"}");}else{result.push(item[1]);}}return result.join("");};// import a list of modules into the list
list.i=function(modules,mediaQuery){if(typeof modules==="string")modules=[[null,modules,""]];var alreadyImportedModules={};for(var i=0;i<this.length;i++){var id=this[i][0];if(typeof id==="number")alreadyImportedModules[id]=true;}for(i=0;i<modules.length;i++){var item=modules[i];// skip already imported module
// this implementation is not 100% perfect for weird media query combinations
//  when a module is imported multiple times with different media queries.
//  I hope this will never occur (Hey this way we have smaller bundles)
if(typeof item[0]!=="number"||!alreadyImportedModules[item[0]]){if(mediaQuery&&!item[2]){item[2]=mediaQuery;}else if(mediaQuery){item[2]="("+item[2]+") and ("+mediaQuery+")";}list.push(item);}}};return list;};/***/},/* 5 *//***/function(module,exports,__webpack_require__){/*
  MIT License http://www.opensource.org/licenses/mit-license.php
  Author Tobias Koppers @sokra
  Modified by Evan You @yyx990803
*/var hasDocument=typeof document!=='undefined';if(typeof DEBUG!=='undefined'&&DEBUG){if(!hasDocument){throw new Error('vue-style-loader cannot be used in a non-browser environment. '+"Use { target: 'node' } in your Webpack config to indicate a server-rendering environment.");}}var listToStyles=__webpack_require__(6);/*
type StyleObject = {
  id: number;
  parts: Array<StyleObjectPart>
}

type StyleObjectPart = {
  css: string;
  media: string;
  sourceMap: ?string
}
*/var stylesInDom={/*
  [id: number]: {
    id: number,
    refs: number,
    parts: Array<(obj?: StyleObjectPart) => void>
  }
*/};var head=hasDocument&&(document.head||document.getElementsByTagName('head')[0]);var singletonElement=null;var singletonCounter=0;var isProduction=false;var noop=function noop(){};// Force single-tag solution on IE6-9, which has a hard limit on the # of <style>
// tags it will allow on a page
var isOldIE=typeof navigator!=='undefined'&&/msie [6-9]\b/.test(navigator.userAgent.toLowerCase());module.exports=function(parentId,list,_isProduction){isProduction=_isProduction;var styles=listToStyles(parentId,list);addStylesToDom(styles);return function update(newList){var mayRemove=[];for(var i=0;i<styles.length;i++){var item=styles[i];var domStyle=stylesInDom[item.id];domStyle.refs--;mayRemove.push(domStyle);}if(newList){styles=listToStyles(parentId,newList);addStylesToDom(styles);}else{styles=[];}for(var i=0;i<mayRemove.length;i++){var domStyle=mayRemove[i];if(domStyle.refs===0){for(var j=0;j<domStyle.parts.length;j++){domStyle.parts[j]();}delete stylesInDom[domStyle.id];}}};};function addStylesToDom(styles/* Array<StyleObject> */){for(var i=0;i<styles.length;i++){var item=styles[i];var domStyle=stylesInDom[item.id];if(domStyle){domStyle.refs++;for(var j=0;j<domStyle.parts.length;j++){domStyle.parts[j](item.parts[j]);}for(;j<item.parts.length;j++){domStyle.parts.push(addStyle(item.parts[j]));}if(domStyle.parts.length>item.parts.length){domStyle.parts.length=item.parts.length;}}else{var parts=[];for(var j=0;j<item.parts.length;j++){parts.push(addStyle(item.parts[j]));}stylesInDom[item.id]={id:item.id,refs:1,parts:parts};}}}function createStyleElement(){var styleElement=document.createElement('style');styleElement.type='text/css';head.appendChild(styleElement);return styleElement;}function addStyle(obj/* StyleObjectPart */){var update,remove;var styleElement=document.querySelector('style[data-vue-ssr-id~="'+obj.id+'"]');if(styleElement){if(isProduction){// has SSR styles and in production mode.
// simply do nothing.
return noop;}else{// has SSR styles but in dev mode.
// for some reason Chrome can't handle source map in server-rendered
// style tags - source maps in <style> only works if the style tag is
// created and inserted dynamically. So we remove the server rendered
// styles and inject new ones.
styleElement.parentNode.removeChild(styleElement);}}if(isOldIE){// use singleton mode for IE9.
var styleIndex=singletonCounter++;styleElement=singletonElement||(singletonElement=createStyleElement());update=applyToSingletonTag.bind(null,styleElement,styleIndex,false);remove=applyToSingletonTag.bind(null,styleElement,styleIndex,true);}else{// use multi-style-tag mode in all other cases
styleElement=createStyleElement();update=applyToTag.bind(null,styleElement);remove=function remove(){styleElement.parentNode.removeChild(styleElement);};}update(obj);return function updateStyle(newObj/* StyleObjectPart */){if(newObj){if(newObj.css===obj.css&&newObj.media===obj.media&&newObj.sourceMap===obj.sourceMap){return;}update(obj=newObj);}else{remove();}};}var replaceText=function(){var textStore=[];return function(index,replacement){textStore[index]=replacement;return textStore.filter(Boolean).join('\n');};}();function applyToSingletonTag(styleElement,index,remove,obj){var css=remove?'':obj.css;if(styleElement.styleSheet){styleElement.styleSheet.cssText=replaceText(index,css);}else{var cssNode=document.createTextNode(css);var childNodes=styleElement.childNodes;if(childNodes[index])styleElement.removeChild(childNodes[index]);if(childNodes.length){styleElement.insertBefore(cssNode,childNodes[index]);}else{styleElement.appendChild(cssNode);}}}function applyToTag(styleElement,obj){var css=obj.css;var media=obj.media;var sourceMap=obj.sourceMap;if(media){styleElement.setAttribute('media',media);}if(sourceMap){// https://developer.chrome.com/devtools/docs/javascript-debugging
// this makes source maps inside style tags work properly in Chrome
css+='\n/*# sourceURL='+sourceMap.sources[0]+' */';// http://stackoverflow.com/a/26603875
css+='\n/*# sourceMappingURL=data:application/json;base64,'+btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap))))+' */';}if(styleElement.styleSheet){styleElement.styleSheet.cssText=css;}else{while(styleElement.firstChild){styleElement.removeChild(styleElement.firstChild);}styleElement.appendChild(document.createTextNode(css));}}/***/},/* 6 *//***/function(module,exports){/**
 * Translates the list format produced by css-loader into something
 * easier to manipulate.
 */module.exports=function listToStyles(parentId,list){var styles=[];var newStyles={};for(var i=0;i<list.length;i++){var item=list[i];var id=item[0];var css=item[1];var media=item[2];var sourceMap=item[3];var part={id:parentId+':'+i,css:css,media:media,sourceMap:sourceMap};if(!newStyles[id]){styles.push(newStyles[id]={id:id,parts:[part]});}else{newStyles[id].parts.push(part);}}return styles;};/***/},/* 7 *//***/function(module,exports){// this module is a runtime utility for cleaner component module output and will
// be included in the final webpack user bundle
module.exports=function normalizeComponent(rawScriptExports,compiledTemplate,scopeId,cssModules){var esModule;var scriptExports=rawScriptExports=rawScriptExports||{};// ES6 modules interop
var type=_typeof2(rawScriptExports.default);if(type==='object'||type==='function'){esModule=rawScriptExports;scriptExports=rawScriptExports.default;}// Vue.extend constructor export interop
var options=typeof scriptExports==='function'?scriptExports.options:scriptExports;// render functions
if(compiledTemplate){options.render=compiledTemplate.render;options.staticRenderFns=compiledTemplate.staticRenderFns;}// scopedId
if(scopeId){options._scopeId=scopeId;}// inject cssModules
if(cssModules){var computed=Object.create(options.computed||null);Object.keys(cssModules).forEach(function(key){var module=cssModules[key];computed[key]=function(){return module;};});options.computed=computed;}return{esModule:esModule,exports:scriptExports,options:options};};/***/},/* 8 *//***/function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var isNumber=function isNumber(n){return!isNaN(parseFloat(n))&&isFinite(n);};exports.default={name:'vue-simple-spinner',props:{'size':{default:32},'line-size':{type:Number,default:3},'line-bg-color':{type:String,default:'#eee'},'line-fg-color':{type:String,default:'#2196f3'},'speed':{type:Number,default:0.8},'spacing':{type:Number,default:4},'message':{type:String,default:''},'font-size':{type:Number,default:13},'text-fg-color':{type:String,default:'#555'}},computed:{size_px:function size_px(){switch(this.size){case'tiny':return 12;case'small':return 16;case'medium':return 32;case'large':return 48;case'big':return 64;case'huge':return 96;case'massive':return 128;}return isNumber(this.size)?this.size:32;},line_size_px:function line_size_px(){switch(this.size){case'tiny':return 1;case'small':return 2;case'medium':return 3;case'large':return 3;case'big':return 4;case'huge':return 4;case'massive':return 5;}return isNumber(this.lineSize)?this.lineSize:4;},text_margin_top:function text_margin_top(){switch(this.size){case'tiny':case'small':case'medium':case'large':case'big':case'huge':case'massive':return Math.min(Math.max(Math.ceil(this.size_px/8),3),12);}return isNumber(this.spacing)?this.spacing:4;},text_font_size:function text_font_size(){switch(this.size){case'tiny':case'small':case'medium':case'large':case'big':case'huge':case'massive':return Math.min(Math.max(Math.ceil(this.size_px*0.4),11),32);}return isNumber(this.fontSize)?this.fontSize:13;},spinner_style:function spinner_style(){return{'margin':'0 auto','border-radius':'100%','border':this.line_size_px+'px solid '+this.lineBgColor,'border-top':this.line_size_px+'px solid '+this.lineFgColor,'width':this.size_px+'px','height':this.size_px+'px','animation':'vue-simple-spinner-spin '+this.speed+'s linear infinite'};},text_style:function text_style(){return{'margin-top':this.text_margin_top+'px','color':this.textFgColor,'font-size':this.text_font_size+'px','text-align':'center'};}}};/***/},/* 9 *//***/function(module,exports){module.exports={render:function render(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('div',{staticClass:"vue-simple-spinner",style:_vm.spinner_style}),_vm._v(" "),_vm.message.length>0?_c('div',{staticClass:"vue-simple-spinner-text",style:_vm.text_style},[_vm._v(_vm._s(_vm.message))]):_vm._e()]);},staticRenderFns:[]/***/};}]/******/)["default"]);});/***/},/* 168 *//***/function(module,exports,__webpack_require__){// style-loader: Adds some css to the DOM by adding a <style> tag
// load the styles
var content=__webpack_require__(169);if(typeof content==='string')content=[[module.i,content,'']];if(content.locals)module.exports=content.locals;// add the styles to the DOM
var update=__webpack_require__(7)("1cf1a0b0",content,true,{});/***/},/* 169 *//***/function(module,exports,__webpack_require__){exports=module.exports=__webpack_require__(6)(false);// imports
// module
exports.push([module.i,".searchwp-button>span{display:flex;align-items:center}.searchwp-button>span span{display:block}.searchwp-button .dashicons{margin-right:.2em}",""]);// exports
/***/},/* 170 *//***/function(module,__webpack_exports__,__webpack_require__){"use strict";var render=function render(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('button',{staticClass:"searchwp-button button",on:{"click":_vm.buttonClick}},[_c('span',[_vm.icon&&_vm.icon.length?_c('span',{class:['dashicons',_vm.icon]}):_vm._e(),_vm._v(" "),_c('span',[_vm._v(_vm._s(_vm.label))])])]);};var staticRenderFns=[];var esExports={render:render,staticRenderFns:staticRenderFns/* harmony default export */};__webpack_exports__["a"]=esExports;/***/},/* 171 *//***/function(module,__webpack_exports__,__webpack_require__){"use strict";/* harmony import */var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_LineChart_vue__=__webpack_require__(19);/* unused harmony namespace reexport *//* harmony import */var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_3940008c_hasScoped_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_LineChart_vue__=__webpack_require__(222);function injectStyle(ssrContext){__webpack_require__(172);}var normalizeComponent=__webpack_require__(8);/* script *//* template *//* template functional */var __vue_template_functional__=false;/* styles */var __vue_styles__=injectStyle;/* scopeId */var __vue_scopeId__=null;/* moduleIdentifier (server only) */var __vue_module_identifier__=null;var Component=normalizeComponent(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_LineChart_vue__["a"/* default */],__WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_3940008c_hasScoped_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_LineChart_vue__["a"/* default */],__vue_template_functional__,__vue_styles__,__vue_scopeId__,__vue_module_identifier__);/* harmony default export */__webpack_exports__["a"]=Component.exports;/***/},/* 172 *//***/function(module,exports,__webpack_require__){// style-loader: Adds some css to the DOM by adding a <style> tag
// load the styles
var content=__webpack_require__(173);if(typeof content==='string')content=[[module.i,content,'']];if(content.locals)module.exports=content.locals;// add the styles to the DOM
var update=__webpack_require__(7)("7cf027d8",content,true,{});/***/},/* 173 *//***/function(module,exports,__webpack_require__){exports=module.exports=__webpack_require__(6)(false);// imports
// module
exports.push([module.i,".searchwp-statistics-chart{width:100%;position:relative}",""]);// exports
/***/},/* 174 *//***/function(module,__webpack_exports__,__webpack_require__){"use strict";/* harmony import */var __WEBPACK_IMPORTED_MODULE_0_vue_chartjs__=__webpack_require__(175);var reactiveProp=__WEBPACK_IMPORTED_MODULE_0_vue_chartjs__["b"/* mixins */].reactiveProp;/* harmony default export */__webpack_exports__["a"]={extends:__WEBPACK_IMPORTED_MODULE_0_vue_chartjs__["a"/* Line */],mixins:[reactiveProp],props:['options'],mounted:function mounted(){this.renderChart(this.chartData,this.options);}};/***/},/* 175 *//***/function(module,__webpack_exports__,__webpack_require__){"use strict";/* unused harmony export VueCharts *//* harmony import */var __WEBPACK_IMPORTED_MODULE_0__mixins_index_js__=__webpack_require__(176);/* harmony import */var __WEBPACK_IMPORTED_MODULE_1__BaseCharts__=__webpack_require__(177);/* unused harmony reexport Bar *//* unused harmony reexport HorizontalBar *//* unused harmony reexport Doughnut *//* harmony reexport (binding) */__webpack_require__.d(__webpack_exports__,"a",function(){return __WEBPACK_IMPORTED_MODULE_1__BaseCharts__["e"];});/* unused harmony reexport Pie *//* unused harmony reexport PolarArea *//* unused harmony reexport Radar *//* unused harmony reexport Bubble *//* unused harmony reexport Scatter *//* harmony reexport (binding) */__webpack_require__.d(__webpack_exports__,"b",function(){return __WEBPACK_IMPORTED_MODULE_0__mixins_index_js__["a"];});/* unused harmony reexport generateChart */var VueCharts={Bar:__WEBPACK_IMPORTED_MODULE_1__BaseCharts__["a"/* Bar */],HorizontalBar:__WEBPACK_IMPORTED_MODULE_1__BaseCharts__["d"/* HorizontalBar */],Doughnut:__WEBPACK_IMPORTED_MODULE_1__BaseCharts__["c"/* Doughnut */],Line:__WEBPACK_IMPORTED_MODULE_1__BaseCharts__["e"/* Line */],Pie:__WEBPACK_IMPORTED_MODULE_1__BaseCharts__["f"/* Pie */],PolarArea:__WEBPACK_IMPORTED_MODULE_1__BaseCharts__["g"/* PolarArea */],Radar:__WEBPACK_IMPORTED_MODULE_1__BaseCharts__["h"/* Radar */],Bubble:__WEBPACK_IMPORTED_MODULE_1__BaseCharts__["b"/* Bubble */],Scatter:__WEBPACK_IMPORTED_MODULE_1__BaseCharts__["i"/* Scatter */],mixins:__WEBPACK_IMPORTED_MODULE_0__mixins_index_js__["a"/* default */],generateChart:__WEBPACK_IMPORTED_MODULE_1__BaseCharts__["j"/* generateChart */],render:function render(){return console.error('[vue-chartjs]: This is not a vue component. It is the whole object containing all vue components. Please import the named export or access the components over the dot notation. For more info visit https://vue-chartjs.org/#/home?id=quick-start');}};/* unused harmony default export */var _unused_webpack_default_export=VueCharts;/***/},/* 176 *//***/function(module,__webpack_exports__,__webpack_require__){"use strict";/* unused harmony export reactiveData *//* unused harmony export reactiveProp */function dataHandler(newData,oldData){if(oldData){var chart=this.$data._chart;var newDatasetLabels=newData.datasets.map(function(dataset){return dataset.label;});var oldDatasetLabels=oldData.datasets.map(function(dataset){return dataset.label;});var oldLabels=JSON.stringify(oldDatasetLabels);var newLabels=JSON.stringify(newDatasetLabels);if(newLabels===oldLabels&&oldData.datasets.length===newData.datasets.length){newData.datasets.forEach(function(dataset,i){var oldDatasetKeys=Object.keys(oldData.datasets[i]);var newDatasetKeys=Object.keys(dataset);var deletionKeys=oldDatasetKeys.filter(function(key){return key!=='_meta'&&newDatasetKeys.indexOf(key)===-1;});deletionKeys.forEach(function(deletionKey){delete chart.data.datasets[i][deletionKey];});for(var attribute in dataset){if(dataset.hasOwnProperty(attribute)){chart.data.datasets[i][attribute]=dataset[attribute];}}});if(newData.hasOwnProperty('labels')){chart.data.labels=newData.labels;this.$emit('labels:update');}if(newData.hasOwnProperty('xLabels')){chart.data.xLabels=newData.xLabels;this.$emit('xlabels:update');}if(newData.hasOwnProperty('yLabels')){chart.data.yLabels=newData.yLabels;this.$emit('ylabels:update');}chart.update();this.$emit('chart:update');}else{if(chart){chart.destroy();this.$emit('chart:destroy');}this.renderChart(this.chartData,this.options);this.$emit('chart:render');}}else{if(this.$data._chart){this.$data._chart.destroy();this.$emit('chart:destroy');}this.renderChart(this.chartData,this.options);this.$emit('chart:render');}}var reactiveData={data:function data(){return{chartData:null};},watch:{'chartData':dataHandler}};var reactiveProp={props:{chartData:{required:true}},watch:{'chartData':dataHandler}};/* harmony default export */__webpack_exports__["a"]={reactiveData:reactiveData,reactiveProp:reactiveProp};/***/},/* 177 *//***/function(module,__webpack_exports__,__webpack_require__){"use strict";/* harmony export (immutable) */__webpack_exports__["j"]=generateChart;/* harmony export (binding) */__webpack_require__.d(__webpack_exports__,"a",function(){return Bar;});/* harmony export (binding) */__webpack_require__.d(__webpack_exports__,"d",function(){return HorizontalBar;});/* harmony export (binding) */__webpack_require__.d(__webpack_exports__,"c",function(){return Doughnut;});/* harmony export (binding) */__webpack_require__.d(__webpack_exports__,"e",function(){return Line;});/* harmony export (binding) */__webpack_require__.d(__webpack_exports__,"f",function(){return Pie;});/* harmony export (binding) */__webpack_require__.d(__webpack_exports__,"g",function(){return PolarArea;});/* harmony export (binding) */__webpack_require__.d(__webpack_exports__,"h",function(){return Radar;});/* harmony export (binding) */__webpack_require__.d(__webpack_exports__,"b",function(){return Bubble;});/* harmony export (binding) */__webpack_require__.d(__webpack_exports__,"i",function(){return Scatter;});/* harmony import */var __WEBPACK_IMPORTED_MODULE_0_chart_js__=__webpack_require__(178);/* harmony import */var __WEBPACK_IMPORTED_MODULE_0_chart_js___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_chart_js__);function generateChart(chartId,chartType){return{render:function render(createElement){return createElement('div',{style:this.styles,class:this.cssClasses},[createElement('canvas',{attrs:{id:this.chartId,width:this.width,height:this.height},ref:'canvas'})]);},props:{chartId:{default:chartId,type:String},width:{default:400,type:Number},height:{default:400,type:Number},cssClasses:{type:String,default:''},styles:{type:Object},plugins:{type:Array,default:function _default(){return[];}}},data:function data(){return{_chart:null,_plugins:this.plugins};},methods:{addPlugin:function addPlugin(plugin){this.$data._plugins.push(plugin);},generateLegend:function generateLegend(){if(this.$data._chart){return this.$data._chart.generateLegend();}},renderChart:function renderChart(data,options){if(this.$data._chart)this.$data._chart.destroy();this.$data._chart=new __WEBPACK_IMPORTED_MODULE_0_chart_js___default.a(this.$refs.canvas.getContext('2d'),{type:chartType,data:data,options:options,plugins:this.$data._plugins});}},beforeDestroy:function beforeDestroy(){if(this.$data._chart){this.$data._chart.destroy();}}};}var Bar=generateChart('bar-chart','bar');var HorizontalBar=generateChart('horizontalbar-chart','horizontalBar');var Doughnut=generateChart('doughnut-chart','doughnut');var Line=generateChart('line-chart','line');var Pie=generateChart('pie-chart','pie');var PolarArea=generateChart('polar-chart','polarArea');var Radar=generateChart('radar-chart','radar');var Bubble=generateChart('bubble-chart','bubble');var Scatter=generateChart('scatter-chart','scatter');/* unused harmony default export */var _unused_webpack_default_export={Bar:Bar,HorizontalBar:HorizontalBar,Doughnut:Doughnut,Line:Line,Pie:Pie,PolarArea:PolarArea,Radar:Radar,Bubble:Bubble,Scatter:Scatter};/***/},/* 178 *//***/function(module,exports,__webpack_require__){/**
 * @namespace Chart
 */var Chart=__webpack_require__(179)();Chart.helpers=__webpack_require__(1);// @todo dispatch these helpers into appropriated helpers/helpers.* file and write unit tests!
__webpack_require__(183)(Chart);Chart.Animation=__webpack_require__(21);Chart.animationService=__webpack_require__(22);Chart.defaults=__webpack_require__(2);Chart.Element=__webpack_require__(3);Chart.elements=__webpack_require__(5);Chart.Interaction=__webpack_require__(23);Chart.layouts=__webpack_require__(10);Chart.platform=__webpack_require__(24);Chart.plugins=__webpack_require__(25);Chart.Scale=__webpack_require__(11);Chart.scaleService=__webpack_require__(4);Chart.Ticks=__webpack_require__(12);Chart.Tooltip=__webpack_require__(26);__webpack_require__(194)(Chart);__webpack_require__(195)(Chart);__webpack_require__(196)(Chart);__webpack_require__(197)(Chart);__webpack_require__(198)(Chart);__webpack_require__(199)(Chart);__webpack_require__(200)(Chart);__webpack_require__(201)(Chart);// Controllers must be loaded after elements
// See Chart.core.datasetController.dataElementType
__webpack_require__(204)(Chart);__webpack_require__(205)(Chart);__webpack_require__(206)(Chart);__webpack_require__(207)(Chart);__webpack_require__(208)(Chart);__webpack_require__(209)(Chart);__webpack_require__(210)(Chart);__webpack_require__(211)(Chart);__webpack_require__(212)(Chart);__webpack_require__(213)(Chart);__webpack_require__(214)(Chart);__webpack_require__(215)(Chart);__webpack_require__(216)(Chart);__webpack_require__(217)(Chart);// Loading built-in plugins
var plugins=__webpack_require__(218);for(var k in plugins){if(plugins.hasOwnProperty(k)){Chart.plugins.register(plugins[k]);}}Chart.platform.initialize();module.exports=Chart;if(typeof window!=='undefined'){window.Chart=Chart;}// DEPRECATIONS
/**
 * Provided for backward compatibility, not available anymore
 * @namespace Chart.Legend
 * @deprecated since version 2.1.5
 * @todo remove at version 3
 * @private
 */Chart.Legend=plugins.legend._element;/**
 * Provided for backward compatibility, not available anymore
 * @namespace Chart.Title
 * @deprecated since version 2.1.5
 * @todo remove at version 3
 * @private
 */Chart.Title=plugins.title._element;/**
 * Provided for backward compatibility, use Chart.plugins instead
 * @namespace Chart.pluginService
 * @deprecated since version 2.1.5
 * @todo remove at version 3
 * @private
 */Chart.pluginService=Chart.plugins;/**
 * Provided for backward compatibility, inheriting from Chart.PlugingBase has no
 * effect, instead simply create/register plugins via plain JavaScript objects.
 * @interface Chart.PluginBase
 * @deprecated since version 2.5.0
 * @todo remove at version 3
 * @private
 */Chart.PluginBase=Chart.Element.extend({});/**
 * Provided for backward compatibility, use Chart.helpers.canvas instead.
 * @namespace Chart.canvasHelpers
 * @deprecated since version 2.6.0
 * @todo remove at version 3
 * @private
 */Chart.canvasHelpers=Chart.helpers.canvas;/**
 * Provided for backward compatibility, use Chart.layouts instead.
 * @namespace Chart.layoutService
 * @deprecated since version 2.8.0
 * @todo remove at version 3
 * @private
 */Chart.layoutService=Chart.layouts;/***/},/* 179 *//***/function(module,exports,__webpack_require__){"use strict";var defaults=__webpack_require__(2);defaults._set('global',{responsive:true,responsiveAnimationDuration:0,maintainAspectRatio:true,events:['mousemove','mouseout','click','touchstart','touchmove'],hover:{onHover:null,mode:'nearest',intersect:true,animationDuration:400},onClick:null,defaultColor:'rgba(0,0,0,0.1)',defaultFontColor:'#666',defaultFontFamily:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",defaultFontSize:12,defaultFontStyle:'normal',showLines:true,// Element defaults defined in element extensions
elements:{},// Layout options such as padding
layout:{padding:{top:0,right:0,bottom:0,left:0}}});module.exports=function(){// Occupy the global variable of Chart, and create a simple base class
var Chart=function Chart(item,config){this.construct(item,config);return this;};Chart.Chart=Chart;return Chart;};/***/},/* 180 *//***/function(module,exports,__webpack_require__){"use strict";var helpers=__webpack_require__(14);/**
 * Easing functions adapted from Robert Penner's easing equations.
 * @namespace Chart.helpers.easingEffects
 * @see http://www.robertpenner.com/easing/
 */var effects={linear:function linear(t){return t;},easeInQuad:function easeInQuad(t){return t*t;},easeOutQuad:function easeOutQuad(t){return-t*(t-2);},easeInOutQuad:function easeInOutQuad(t){if((t/=0.5)<1){return 0.5*t*t;}return-0.5*(--t*(t-2)-1);},easeInCubic:function easeInCubic(t){return t*t*t;},easeOutCubic:function easeOutCubic(t){return(t=t-1)*t*t+1;},easeInOutCubic:function easeInOutCubic(t){if((t/=0.5)<1){return 0.5*t*t*t;}return 0.5*((t-=2)*t*t+2);},easeInQuart:function easeInQuart(t){return t*t*t*t;},easeOutQuart:function easeOutQuart(t){return-((t=t-1)*t*t*t-1);},easeInOutQuart:function easeInOutQuart(t){if((t/=0.5)<1){return 0.5*t*t*t*t;}return-0.5*((t-=2)*t*t*t-2);},easeInQuint:function easeInQuint(t){return t*t*t*t*t;},easeOutQuint:function easeOutQuint(t){return(t=t-1)*t*t*t*t+1;},easeInOutQuint:function easeInOutQuint(t){if((t/=0.5)<1){return 0.5*t*t*t*t*t;}return 0.5*((t-=2)*t*t*t*t+2);},easeInSine:function easeInSine(t){return-Math.cos(t*(Math.PI/2))+1;},easeOutSine:function easeOutSine(t){return Math.sin(t*(Math.PI/2));},easeInOutSine:function easeInOutSine(t){return-0.5*(Math.cos(Math.PI*t)-1);},easeInExpo:function easeInExpo(t){return t===0?0:Math.pow(2,10*(t-1));},easeOutExpo:function easeOutExpo(t){return t===1?1:-Math.pow(2,-10*t)+1;},easeInOutExpo:function easeInOutExpo(t){if(t===0){return 0;}if(t===1){return 1;}if((t/=0.5)<1){return 0.5*Math.pow(2,10*(t-1));}return 0.5*(-Math.pow(2,-10*--t)+2);},easeInCirc:function easeInCirc(t){if(t>=1){return t;}return-(Math.sqrt(1-t*t)-1);},easeOutCirc:function easeOutCirc(t){return Math.sqrt(1-(t=t-1)*t);},easeInOutCirc:function easeInOutCirc(t){if((t/=0.5)<1){return-0.5*(Math.sqrt(1-t*t)-1);}return 0.5*(Math.sqrt(1-(t-=2)*t)+1);},easeInElastic:function easeInElastic(t){var s=1.70158;var p=0;var a=1;if(t===0){return 0;}if(t===1){return 1;}if(!p){p=0.3;}if(a<1){a=1;s=p/4;}else{s=p/(2*Math.PI)*Math.asin(1/a);}return-(a*Math.pow(2,10*(t-=1))*Math.sin((t-s)*(2*Math.PI)/p));},easeOutElastic:function easeOutElastic(t){var s=1.70158;var p=0;var a=1;if(t===0){return 0;}if(t===1){return 1;}if(!p){p=0.3;}if(a<1){a=1;s=p/4;}else{s=p/(2*Math.PI)*Math.asin(1/a);}return a*Math.pow(2,-10*t)*Math.sin((t-s)*(2*Math.PI)/p)+1;},easeInOutElastic:function easeInOutElastic(t){var s=1.70158;var p=0;var a=1;if(t===0){return 0;}if((t/=0.5)===2){return 1;}if(!p){p=0.45;}if(a<1){a=1;s=p/4;}else{s=p/(2*Math.PI)*Math.asin(1/a);}if(t<1){return-0.5*(a*Math.pow(2,10*(t-=1))*Math.sin((t-s)*(2*Math.PI)/p));}return a*Math.pow(2,-10*(t-=1))*Math.sin((t-s)*(2*Math.PI)/p)*0.5+1;},easeInBack:function easeInBack(t){var s=1.70158;return t*t*((s+1)*t-s);},easeOutBack:function easeOutBack(t){var s=1.70158;return(t=t-1)*t*((s+1)*t+s)+1;},easeInOutBack:function easeInOutBack(t){var s=1.70158;if((t/=0.5)<1){return 0.5*(t*t*(((s*=1.525)+1)*t-s));}return 0.5*((t-=2)*t*(((s*=1.525)+1)*t+s)+2);},easeInBounce:function easeInBounce(t){return 1-effects.easeOutBounce(1-t);},easeOutBounce:function easeOutBounce(t){if(t<1/2.75){return 7.5625*t*t;}if(t<2/2.75){return 7.5625*(t-=1.5/2.75)*t+0.75;}if(t<2.5/2.75){return 7.5625*(t-=2.25/2.75)*t+0.9375;}return 7.5625*(t-=2.625/2.75)*t+0.984375;},easeInOutBounce:function easeInOutBounce(t){if(t<0.5){return effects.easeInBounce(t*2)*0.5;}return effects.easeOutBounce(t*2-1)*0.5+0.5;}};module.exports={effects:effects};// DEPRECATIONS
/**
 * Provided for backward compatibility, use Chart.helpers.easing.effects instead.
 * @function Chart.helpers.easingEffects
 * @deprecated since version 2.7.0
 * @todo remove at version 3
 * @private
 */helpers.easingEffects=effects;/***/},/* 181 *//***/function(module,exports,__webpack_require__){"use strict";var helpers=__webpack_require__(14);/**
 * @namespace Chart.helpers.canvas
 */var exports=module.exports={/**
	 * Clears the entire canvas associated to the given `chart`.
	 * @param {Chart} chart - The chart for which to clear the canvas.
	 */clear:function clear(chart){chart.ctx.clearRect(0,0,chart.width,chart.height);},/**
	 * Creates a "path" for a rectangle with rounded corners at position (x, y) with a
	 * given size (width, height) and the same `radius` for all corners.
	 * @param {CanvasRenderingContext2D} ctx - The canvas 2D Context.
	 * @param {Number} x - The x axis of the coordinate for the rectangle starting point.
	 * @param {Number} y - The y axis of the coordinate for the rectangle starting point.
	 * @param {Number} width - The rectangle's width.
	 * @param {Number} height - The rectangle's height.
	 * @param {Number} radius - The rounded amount (in pixels) for the four corners.
	 * @todo handle `radius` as top-left, top-right, bottom-right, bottom-left array/object?
	 */roundedRect:function roundedRect(ctx,x,y,width,height,radius){if(radius){// NOTE(SB) `epsilon` helps to prevent minor artifacts appearing
// on Chrome when `r` is exactly half the height or the width.
var epsilon=0.0000001;var r=Math.min(radius,height/2-epsilon,width/2-epsilon);ctx.moveTo(x+r,y);ctx.lineTo(x+width-r,y);ctx.arcTo(x+width,y,x+width,y+r,r);ctx.lineTo(x+width,y+height-r);ctx.arcTo(x+width,y+height,x+width-r,y+height,r);ctx.lineTo(x+r,y+height);ctx.arcTo(x,y+height,x,y+height-r,r);ctx.lineTo(x,y+r);ctx.arcTo(x,y,x+r,y,r);ctx.closePath();ctx.moveTo(x,y);}else{ctx.rect(x,y,width,height);}},drawPoint:function drawPoint(ctx,style,radius,x,y,rotation){var type,edgeLength,xOffset,yOffset,height,size;rotation=rotation||0;if(style&&(typeof style==='undefined'?'undefined':_typeof2(style))==='object'){type=style.toString();if(type==='[object HTMLImageElement]'||type==='[object HTMLCanvasElement]'){ctx.drawImage(style,x-style.width/2,y-style.height/2,style.width,style.height);return;}}if(isNaN(radius)||radius<=0){return;}ctx.save();ctx.translate(x,y);ctx.rotate(rotation*Math.PI/180);ctx.beginPath();switch(style){// Default includes circle
default:ctx.arc(0,0,radius,0,Math.PI*2);ctx.closePath();break;case'triangle':edgeLength=3*radius/Math.sqrt(3);height=edgeLength*Math.sqrt(3)/2;ctx.moveTo(-edgeLength/2,height/3);ctx.lineTo(edgeLength/2,height/3);ctx.lineTo(0,-2*height/3);ctx.closePath();break;case'rect':size=1/Math.SQRT2*radius;ctx.rect(-size,-size,2*size,2*size);break;case'rectRounded':var offset=radius/Math.SQRT2;var leftX=-offset;var topY=-offset;var sideSize=Math.SQRT2*radius;// NOTE(SB) the rounded rect implementation changed to use `arcTo`
// instead of `quadraticCurveTo` since it generates better results
// when rect is almost a circle. 0.425 (instead of 0.5) produces
// results visually closer to the previous impl.
this.roundedRect(ctx,leftX,topY,sideSize,sideSize,radius*0.425);break;case'rectRot':size=1/Math.SQRT2*radius;ctx.moveTo(-size,0);ctx.lineTo(0,size);ctx.lineTo(size,0);ctx.lineTo(0,-size);ctx.closePath();break;case'cross':ctx.moveTo(0,radius);ctx.lineTo(0,-radius);ctx.moveTo(-radius,0);ctx.lineTo(radius,0);break;case'crossRot':xOffset=Math.cos(Math.PI/4)*radius;yOffset=Math.sin(Math.PI/4)*radius;ctx.moveTo(-xOffset,-yOffset);ctx.lineTo(xOffset,yOffset);ctx.moveTo(-xOffset,yOffset);ctx.lineTo(xOffset,-yOffset);break;case'star':ctx.moveTo(0,radius);ctx.lineTo(0,-radius);ctx.moveTo(-radius,0);ctx.lineTo(radius,0);xOffset=Math.cos(Math.PI/4)*radius;yOffset=Math.sin(Math.PI/4)*radius;ctx.moveTo(-xOffset,-yOffset);ctx.lineTo(xOffset,yOffset);ctx.moveTo(-xOffset,yOffset);ctx.lineTo(xOffset,-yOffset);break;case'line':ctx.moveTo(-radius,0);ctx.lineTo(radius,0);break;case'dash':ctx.moveTo(0,0);ctx.lineTo(radius,0);break;}ctx.fill();ctx.stroke();ctx.restore();},clipArea:function clipArea(ctx,area){ctx.save();ctx.beginPath();ctx.rect(area.left,area.top,area.right-area.left,area.bottom-area.top);ctx.clip();},unclipArea:function unclipArea(ctx){ctx.restore();},lineTo:function lineTo(ctx,previous,target,flip){if(target.steppedLine){if(target.steppedLine==='after'&&!flip||target.steppedLine!=='after'&&flip){ctx.lineTo(previous.x,target.y);}else{ctx.lineTo(target.x,previous.y);}ctx.lineTo(target.x,target.y);return;}if(!target.tension){ctx.lineTo(target.x,target.y);return;}ctx.bezierCurveTo(flip?previous.controlPointPreviousX:previous.controlPointNextX,flip?previous.controlPointPreviousY:previous.controlPointNextY,flip?target.controlPointNextX:target.controlPointPreviousX,flip?target.controlPointNextY:target.controlPointPreviousY,target.x,target.y);}};// DEPRECATIONS
/**
 * Provided for backward compatibility, use Chart.helpers.canvas.clear instead.
 * @namespace Chart.helpers.clear
 * @deprecated since version 2.7.0
 * @todo remove at version 3
 * @private
 */helpers.clear=exports.clear;/**
 * Provided for backward compatibility, use Chart.helpers.canvas.roundedRect instead.
 * @namespace Chart.helpers.drawRoundedRectangle
 * @deprecated since version 2.7.0
 * @todo remove at version 3
 * @private
 */helpers.drawRoundedRectangle=function(ctx){ctx.beginPath();exports.roundedRect.apply(exports,arguments);};/***/},/* 182 *//***/function(module,exports,__webpack_require__){"use strict";var helpers=__webpack_require__(14);/**
 * @alias Chart.helpers.options
 * @namespace
 */module.exports={/**
	 * Converts the given line height `value` in pixels for a specific font `size`.
	 * @param {Number|String} value - The lineHeight to parse (eg. 1.6, '14px', '75%', '1.6em').
	 * @param {Number} size - The font size (in pixels) used to resolve relative `value`.
	 * @returns {Number} The effective line height in pixels (size * 1.2 if value is invalid).
	 * @see https://developer.mozilla.org/en-US/docs/Web/CSS/line-height
	 * @since 2.7.0
	 */toLineHeight:function toLineHeight(value,size){var matches=(''+value).match(/^(normal|(\d+(?:\.\d+)?)(px|em|%)?)$/);if(!matches||matches[1]==='normal'){return size*1.2;}value=+matches[2];switch(matches[3]){case'px':return value;case'%':value/=100;break;default:break;}return size*value;},/**
	 * Converts the given value into a padding object with pre-computed width/height.
	 * @param {Number|Object} value - If a number, set the value to all TRBL component,
	 *  else, if and object, use defined properties and sets undefined ones to 0.
	 * @returns {Object} The padding values (top, right, bottom, left, width, height)
	 * @since 2.7.0
	 */toPadding:function toPadding(value){var t,r,b,l;if(helpers.isObject(value)){t=+value.top||0;r=+value.right||0;b=+value.bottom||0;l=+value.left||0;}else{t=r=b=l=+value||0;}return{top:t,right:r,bottom:b,left:l,height:t+b,width:l+r};},/**
	 * Evaluates the given `inputs` sequentially and returns the first defined value.
	 * @param {Array[]} inputs - An array of values, falling back to the last value.
	 * @param {Object} [context] - If defined and the current value is a function, the value
	 * is called with `context` as first argument and the result becomes the new input.
	 * @param {Number} [index] - If defined and the current value is an array, the value
	 * at `index` become the new input.
	 * @since 2.7.0
	 */resolve:function resolve(inputs,context,index){var i,ilen,value;for(i=0,ilen=inputs.length;i<ilen;++i){value=inputs[i];if(value===undefined){continue;}if(context!==undefined&&typeof value==='function'){value=value(context);}if(index!==undefined&&helpers.isArray(value)){value=value[index];}if(value!==undefined){return value;}}}};/***/},/* 183 *//***/function(module,exports,__webpack_require__){"use strict";/* global window: false *//* global document: false */var color=__webpack_require__(20);var defaults=__webpack_require__(2);var helpers=__webpack_require__(1);var scaleService=__webpack_require__(4);module.exports=function(){// -- Basic js utility methods
helpers.configMerge=function()/* objects ... */{return helpers.merge(helpers.clone(arguments[0]),[].slice.call(arguments,1),{merger:function merger(key,target,source,options){var tval=target[key]||{};var sval=source[key];if(key==='scales'){// scale config merging is complex. Add our own function here for that
target[key]=helpers.scaleMerge(tval,sval);}else if(key==='scale'){// used in polar area & radar charts since there is only one scale
target[key]=helpers.merge(tval,[scaleService.getScaleDefaults(sval.type),sval]);}else{helpers._merger(key,target,source,options);}}});};helpers.scaleMerge=function()/* objects ... */{return helpers.merge(helpers.clone(arguments[0]),[].slice.call(arguments,1),{merger:function merger(key,target,source,options){if(key==='xAxes'||key==='yAxes'){var slen=source[key].length;var i,type,scale;if(!target[key]){target[key]=[];}for(i=0;i<slen;++i){scale=source[key][i];type=helpers.valueOrDefault(scale.type,key==='xAxes'?'category':'linear');if(i>=target[key].length){target[key].push({});}if(!target[key][i].type||scale.type&&scale.type!==target[key][i].type){// new/untyped scale or type changed: let's apply the new defaults
// then merge source scale to correctly overwrite the defaults.
helpers.merge(target[key][i],[scaleService.getScaleDefaults(type),scale]);}else{// scales type are the same
helpers.merge(target[key][i],scale);}}}else{helpers._merger(key,target,source,options);}}});};helpers.where=function(collection,filterCallback){if(helpers.isArray(collection)&&Array.prototype.filter){return collection.filter(filterCallback);}var filtered=[];helpers.each(collection,function(item){if(filterCallback(item)){filtered.push(item);}});return filtered;};helpers.findIndex=Array.prototype.findIndex?function(array,callback,scope){return array.findIndex(callback,scope);}:function(array,callback,scope){scope=scope===undefined?array:scope;for(var i=0,ilen=array.length;i<ilen;++i){if(callback.call(scope,array[i],i,array)){return i;}}return-1;};helpers.findNextWhere=function(arrayToSearch,filterCallback,startIndex){// Default to start of the array
if(helpers.isNullOrUndef(startIndex)){startIndex=-1;}for(var i=startIndex+1;i<arrayToSearch.length;i++){var currentItem=arrayToSearch[i];if(filterCallback(currentItem)){return currentItem;}}};helpers.findPreviousWhere=function(arrayToSearch,filterCallback,startIndex){// Default to end of the array
if(helpers.isNullOrUndef(startIndex)){startIndex=arrayToSearch.length;}for(var i=startIndex-1;i>=0;i--){var currentItem=arrayToSearch[i];if(filterCallback(currentItem)){return currentItem;}}};// -- Math methods
helpers.isNumber=function(n){return!isNaN(parseFloat(n))&&isFinite(n);};helpers.almostEquals=function(x,y,epsilon){return Math.abs(x-y)<epsilon;};helpers.almostWhole=function(x,epsilon){var rounded=Math.round(x);return rounded-epsilon<x&&rounded+epsilon>x;};helpers.max=function(array){return array.reduce(function(max,value){if(!isNaN(value)){return Math.max(max,value);}return max;},Number.NEGATIVE_INFINITY);};helpers.min=function(array){return array.reduce(function(min,value){if(!isNaN(value)){return Math.min(min,value);}return min;},Number.POSITIVE_INFINITY);};helpers.sign=Math.sign?function(x){return Math.sign(x);}:function(x){x=+x;// convert to a number
if(x===0||isNaN(x)){return x;}return x>0?1:-1;};helpers.log10=Math.log10?function(x){return Math.log10(x);}:function(x){var exponent=Math.log(x)*Math.LOG10E;// Math.LOG10E = 1 / Math.LN10.
// Check for whole powers of 10,
// which due to floating point rounding error should be corrected.
var powerOf10=Math.round(exponent);var isPowerOf10=x===Math.pow(10,powerOf10);return isPowerOf10?powerOf10:exponent;};helpers.toRadians=function(degrees){return degrees*(Math.PI/180);};helpers.toDegrees=function(radians){return radians*(180/Math.PI);};// Gets the angle from vertical upright to the point about a centre.
helpers.getAngleFromPoint=function(centrePoint,anglePoint){var distanceFromXCenter=anglePoint.x-centrePoint.x;var distanceFromYCenter=anglePoint.y-centrePoint.y;var radialDistanceFromCenter=Math.sqrt(distanceFromXCenter*distanceFromXCenter+distanceFromYCenter*distanceFromYCenter);var angle=Math.atan2(distanceFromYCenter,distanceFromXCenter);if(angle<-0.5*Math.PI){angle+=2.0*Math.PI;// make sure the returned angle is in the range of (-PI/2, 3PI/2]
}return{angle:angle,distance:radialDistanceFromCenter};};helpers.distanceBetweenPoints=function(pt1,pt2){return Math.sqrt(Math.pow(pt2.x-pt1.x,2)+Math.pow(pt2.y-pt1.y,2));};helpers.aliasPixel=function(pixelWidth){return pixelWidth%2===0?0:0.5;};helpers.splineCurve=function(firstPoint,middlePoint,afterPoint,t){// Props to Rob Spencer at scaled innovation for his post on splining between points
// http://scaledinnovation.com/analytics/splines/aboutSplines.html
// This function must also respect "skipped" points
var previous=firstPoint.skip?middlePoint:firstPoint;var current=middlePoint;var next=afterPoint.skip?middlePoint:afterPoint;var d01=Math.sqrt(Math.pow(current.x-previous.x,2)+Math.pow(current.y-previous.y,2));var d12=Math.sqrt(Math.pow(next.x-current.x,2)+Math.pow(next.y-current.y,2));var s01=d01/(d01+d12);var s12=d12/(d01+d12);// If all points are the same, s01 & s02 will be inf
s01=isNaN(s01)?0:s01;s12=isNaN(s12)?0:s12;var fa=t*s01;// scaling factor for triangle Ta
var fb=t*s12;return{previous:{x:current.x-fa*(next.x-previous.x),y:current.y-fa*(next.y-previous.y)},next:{x:current.x+fb*(next.x-previous.x),y:current.y+fb*(next.y-previous.y)}};};helpers.EPSILON=Number.EPSILON||1e-14;helpers.splineCurveMonotone=function(points){// This function calculates Bézier control points in a similar way than |splineCurve|,
// but preserves monotonicity of the provided data and ensures no local extremums are added
// between the dataset discrete points due to the interpolation.
// See : https://en.wikipedia.org/wiki/Monotone_cubic_interpolation
var pointsWithTangents=(points||[]).map(function(point){return{model:point._model,deltaK:0,mK:0};});// Calculate slopes (deltaK) and initialize tangents (mK)
var pointsLen=pointsWithTangents.length;var i,pointBefore,pointCurrent,pointAfter;for(i=0;i<pointsLen;++i){pointCurrent=pointsWithTangents[i];if(pointCurrent.model.skip){continue;}pointBefore=i>0?pointsWithTangents[i-1]:null;pointAfter=i<pointsLen-1?pointsWithTangents[i+1]:null;if(pointAfter&&!pointAfter.model.skip){var slopeDeltaX=pointAfter.model.x-pointCurrent.model.x;// In the case of two points that appear at the same x pixel, slopeDeltaX is 0
pointCurrent.deltaK=slopeDeltaX!==0?(pointAfter.model.y-pointCurrent.model.y)/slopeDeltaX:0;}if(!pointBefore||pointBefore.model.skip){pointCurrent.mK=pointCurrent.deltaK;}else if(!pointAfter||pointAfter.model.skip){pointCurrent.mK=pointBefore.deltaK;}else if(this.sign(pointBefore.deltaK)!==this.sign(pointCurrent.deltaK)){pointCurrent.mK=0;}else{pointCurrent.mK=(pointBefore.deltaK+pointCurrent.deltaK)/2;}}// Adjust tangents to ensure monotonic properties
var alphaK,betaK,tauK,squaredMagnitude;for(i=0;i<pointsLen-1;++i){pointCurrent=pointsWithTangents[i];pointAfter=pointsWithTangents[i+1];if(pointCurrent.model.skip||pointAfter.model.skip){continue;}if(helpers.almostEquals(pointCurrent.deltaK,0,this.EPSILON)){pointCurrent.mK=pointAfter.mK=0;continue;}alphaK=pointCurrent.mK/pointCurrent.deltaK;betaK=pointAfter.mK/pointCurrent.deltaK;squaredMagnitude=Math.pow(alphaK,2)+Math.pow(betaK,2);if(squaredMagnitude<=9){continue;}tauK=3/Math.sqrt(squaredMagnitude);pointCurrent.mK=alphaK*tauK*pointCurrent.deltaK;pointAfter.mK=betaK*tauK*pointCurrent.deltaK;}// Compute control points
var deltaX;for(i=0;i<pointsLen;++i){pointCurrent=pointsWithTangents[i];if(pointCurrent.model.skip){continue;}pointBefore=i>0?pointsWithTangents[i-1]:null;pointAfter=i<pointsLen-1?pointsWithTangents[i+1]:null;if(pointBefore&&!pointBefore.model.skip){deltaX=(pointCurrent.model.x-pointBefore.model.x)/3;pointCurrent.model.controlPointPreviousX=pointCurrent.model.x-deltaX;pointCurrent.model.controlPointPreviousY=pointCurrent.model.y-deltaX*pointCurrent.mK;}if(pointAfter&&!pointAfter.model.skip){deltaX=(pointAfter.model.x-pointCurrent.model.x)/3;pointCurrent.model.controlPointNextX=pointCurrent.model.x+deltaX;pointCurrent.model.controlPointNextY=pointCurrent.model.y+deltaX*pointCurrent.mK;}}};helpers.nextItem=function(collection,index,loop){if(loop){return index>=collection.length-1?collection[0]:collection[index+1];}return index>=collection.length-1?collection[collection.length-1]:collection[index+1];};helpers.previousItem=function(collection,index,loop){if(loop){return index<=0?collection[collection.length-1]:collection[index-1];}return index<=0?collection[0]:collection[index-1];};// Implementation of the nice number algorithm used in determining where axis labels will go
helpers.niceNum=function(range,round){var exponent=Math.floor(helpers.log10(range));var fraction=range/Math.pow(10,exponent);var niceFraction;if(round){if(fraction<1.5){niceFraction=1;}else if(fraction<3){niceFraction=2;}else if(fraction<7){niceFraction=5;}else{niceFraction=10;}}else if(fraction<=1.0){niceFraction=1;}else if(fraction<=2){niceFraction=2;}else if(fraction<=5){niceFraction=5;}else{niceFraction=10;}return niceFraction*Math.pow(10,exponent);};// Request animation polyfill - http://www.paulirish.com/2011/requestanimationframe-for-smart-animating/
helpers.requestAnimFrame=function(){if(typeof window==='undefined'){return function(callback){callback();};}return window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(callback){return window.setTimeout(callback,1000/60);};}();// -- DOM methods
helpers.getRelativePosition=function(evt,chart){var mouseX,mouseY;var e=evt.originalEvent||evt;var canvas=evt.target||evt.srcElement;var boundingRect=canvas.getBoundingClientRect();var touches=e.touches;if(touches&&touches.length>0){mouseX=touches[0].clientX;mouseY=touches[0].clientY;}else{mouseX=e.clientX;mouseY=e.clientY;}// Scale mouse coordinates into canvas coordinates
// by following the pattern laid out by 'jerryj' in the comments of
// http://www.html5canvastutorials.com/advanced/html5-canvas-mouse-coordinates/
var paddingLeft=parseFloat(helpers.getStyle(canvas,'padding-left'));var paddingTop=parseFloat(helpers.getStyle(canvas,'padding-top'));var paddingRight=parseFloat(helpers.getStyle(canvas,'padding-right'));var paddingBottom=parseFloat(helpers.getStyle(canvas,'padding-bottom'));var width=boundingRect.right-boundingRect.left-paddingLeft-paddingRight;var height=boundingRect.bottom-boundingRect.top-paddingTop-paddingBottom;// We divide by the current device pixel ratio, because the canvas is scaled up by that amount in each direction. However
// the backend model is in unscaled coordinates. Since we are going to deal with our model coordinates, we go back here
mouseX=Math.round((mouseX-boundingRect.left-paddingLeft)/width*canvas.width/chart.currentDevicePixelRatio);mouseY=Math.round((mouseY-boundingRect.top-paddingTop)/height*canvas.height/chart.currentDevicePixelRatio);return{x:mouseX,y:mouseY};};// Private helper function to convert max-width/max-height values that may be percentages into a number
function parseMaxStyle(styleValue,node,parentProperty){var valueInPixels;if(typeof styleValue==='string'){valueInPixels=parseInt(styleValue,10);if(styleValue.indexOf('%')!==-1){// percentage * size in dimension
valueInPixels=valueInPixels/100*node.parentNode[parentProperty];}}else{valueInPixels=styleValue;}return valueInPixels;}/**
	 * Returns if the given value contains an effective constraint.
	 * @private
	 */function isConstrainedValue(value){return value!==undefined&&value!==null&&value!=='none';}// Private helper to get a constraint dimension
// @param domNode : the node to check the constraint on
// @param maxStyle : the style that defines the maximum for the direction we are using (maxWidth / maxHeight)
// @param percentageProperty : property of parent to use when calculating width as a percentage
// @see http://www.nathanaeljones.com/blog/2013/reading-max-width-cross-browser
function getConstraintDimension(domNode,maxStyle,percentageProperty){var view=document.defaultView;var parentNode=helpers._getParentNode(domNode);var constrainedNode=view.getComputedStyle(domNode)[maxStyle];var constrainedContainer=view.getComputedStyle(parentNode)[maxStyle];var hasCNode=isConstrainedValue(constrainedNode);var hasCContainer=isConstrainedValue(constrainedContainer);var infinity=Number.POSITIVE_INFINITY;if(hasCNode||hasCContainer){return Math.min(hasCNode?parseMaxStyle(constrainedNode,domNode,percentageProperty):infinity,hasCContainer?parseMaxStyle(constrainedContainer,parentNode,percentageProperty):infinity);}return'none';}// returns Number or undefined if no constraint
helpers.getConstraintWidth=function(domNode){return getConstraintDimension(domNode,'max-width','clientWidth');};// returns Number or undefined if no constraint
helpers.getConstraintHeight=function(domNode){return getConstraintDimension(domNode,'max-height','clientHeight');};/**
	 * @private
 	 */helpers._calculatePadding=function(container,padding,parentDimension){padding=helpers.getStyle(container,padding);return padding.indexOf('%')>-1?parentDimension/parseInt(padding,10):parseInt(padding,10);};/**
	 * @private
	 */helpers._getParentNode=function(domNode){var parent=domNode.parentNode;if(parent&&parent.host){parent=parent.host;}return parent;};helpers.getMaximumWidth=function(domNode){var container=helpers._getParentNode(domNode);if(!container){return domNode.clientWidth;}var clientWidth=container.clientWidth;var paddingLeft=helpers._calculatePadding(container,'padding-left',clientWidth);var paddingRight=helpers._calculatePadding(container,'padding-right',clientWidth);var w=clientWidth-paddingLeft-paddingRight;var cw=helpers.getConstraintWidth(domNode);return isNaN(cw)?w:Math.min(w,cw);};helpers.getMaximumHeight=function(domNode){var container=helpers._getParentNode(domNode);if(!container){return domNode.clientHeight;}var clientHeight=container.clientHeight;var paddingTop=helpers._calculatePadding(container,'padding-top',clientHeight);var paddingBottom=helpers._calculatePadding(container,'padding-bottom',clientHeight);var h=clientHeight-paddingTop-paddingBottom;var ch=helpers.getConstraintHeight(domNode);return isNaN(ch)?h:Math.min(h,ch);};helpers.getStyle=function(el,property){return el.currentStyle?el.currentStyle[property]:document.defaultView.getComputedStyle(el,null).getPropertyValue(property);};helpers.retinaScale=function(chart,forceRatio){var pixelRatio=chart.currentDevicePixelRatio=forceRatio||typeof window!=='undefined'&&window.devicePixelRatio||1;if(pixelRatio===1){return;}var canvas=chart.canvas;var height=chart.height;var width=chart.width;canvas.height=height*pixelRatio;canvas.width=width*pixelRatio;chart.ctx.scale(pixelRatio,pixelRatio);// If no style has been set on the canvas, the render size is used as display size,
// making the chart visually bigger, so let's enforce it to the "correct" values.
// See https://github.com/chartjs/Chart.js/issues/3575
if(!canvas.style.height&&!canvas.style.width){canvas.style.height=height+'px';canvas.style.width=width+'px';}};// -- Canvas methods
helpers.fontString=function(pixelSize,fontStyle,fontFamily){return fontStyle+' '+pixelSize+'px '+fontFamily;};helpers.longestText=function(ctx,font,arrayOfThings,cache){cache=cache||{};var data=cache.data=cache.data||{};var gc=cache.garbageCollect=cache.garbageCollect||[];if(cache.font!==font){data=cache.data={};gc=cache.garbageCollect=[];cache.font=font;}ctx.font=font;var longest=0;helpers.each(arrayOfThings,function(thing){// Undefined strings and arrays should not be measured
if(thing!==undefined&&thing!==null&&helpers.isArray(thing)!==true){longest=helpers.measureText(ctx,data,gc,longest,thing);}else if(helpers.isArray(thing)){// if it is an array lets measure each element
// to do maybe simplify this function a bit so we can do this more recursively?
helpers.each(thing,function(nestedThing){// Undefined strings and arrays should not be measured
if(nestedThing!==undefined&&nestedThing!==null&&!helpers.isArray(nestedThing)){longest=helpers.measureText(ctx,data,gc,longest,nestedThing);}});}});var gcLen=gc.length/2;if(gcLen>arrayOfThings.length){for(var i=0;i<gcLen;i++){delete data[gc[i]];}gc.splice(0,gcLen);}return longest;};helpers.measureText=function(ctx,data,gc,longest,string){var textWidth=data[string];if(!textWidth){textWidth=data[string]=ctx.measureText(string).width;gc.push(string);}if(textWidth>longest){longest=textWidth;}return longest;};helpers.numberOfLabelLines=function(arrayOfThings){var numberOfLines=1;helpers.each(arrayOfThings,function(thing){if(helpers.isArray(thing)){if(thing.length>numberOfLines){numberOfLines=thing.length;}}});return numberOfLines;};helpers.color=!color?function(value){console.error('Color.js not found!');return value;}:function(value){/* global CanvasGradient */if(value instanceof CanvasGradient){value=defaults.global.defaultColor;}return color(value);};helpers.getHoverColor=function(colorValue){/* global CanvasPattern */return colorValue instanceof CanvasPattern?colorValue:helpers.color(colorValue).saturate(0.5).darken(0.1).rgbString();};};/***/},/* 184 *//***/function(module,exports,__webpack_require__){var conversions=__webpack_require__(185);var convert=function convert(){return new Converter();};for(var func in conversions){// export Raw versions
convert[func+"Raw"]=function(func){// accept array or plain args
return function(arg){if(typeof arg=="number")arg=Array.prototype.slice.call(arguments);return conversions[func](arg);};}(func);var pair=/(\w+)2(\w+)/.exec(func),from=pair[1],to=pair[2];// export rgb2hsl and ["rgb"]["hsl"]
convert[from]=convert[from]||{};convert[from][to]=convert[func]=function(func){return function(arg){if(typeof arg=="number")arg=Array.prototype.slice.call(arguments);var val=conversions[func](arg);if(typeof val=="string"||val===undefined)return val;// keyword
for(var i=0;i<val.length;i++){val[i]=Math.round(val[i]);}return val;};}(func);}/* Converter does lazy conversion and caching */var Converter=function Converter(){this.convs={};};/* Either get the values for a space or
  set the values for a space, depending on args */Converter.prototype.routeSpace=function(space,args){var values=args[0];if(values===undefined){// color.rgb()
return this.getValues(space);}// color.rgb(10, 10, 10)
if(typeof values=="number"){values=Array.prototype.slice.call(args);}return this.setValues(space,values);};/* Set the values for a space, invalidating cache */Converter.prototype.setValues=function(space,values){this.space=space;this.convs={};this.convs[space]=values;return this;};/* Get the values for a space. If there's already
  a conversion for the space, fetch it, otherwise
  compute it */Converter.prototype.getValues=function(space){var vals=this.convs[space];if(!vals){var fspace=this.space,from=this.convs[fspace];vals=convert[fspace][space](from);this.convs[space]=vals;}return vals;};["rgb","hsl","hsv","cmyk","keyword"].forEach(function(space){Converter.prototype[space]=function(vals){return this.routeSpace(space,arguments);};});module.exports=convert;/***/},/* 185 *//***/function(module,exports){/* MIT license */module.exports={rgb2hsl:rgb2hsl,rgb2hsv:rgb2hsv,rgb2hwb:rgb2hwb,rgb2cmyk:rgb2cmyk,rgb2keyword:rgb2keyword,rgb2xyz:rgb2xyz,rgb2lab:rgb2lab,rgb2lch:rgb2lch,hsl2rgb:hsl2rgb,hsl2hsv:hsl2hsv,hsl2hwb:hsl2hwb,hsl2cmyk:hsl2cmyk,hsl2keyword:hsl2keyword,hsv2rgb:hsv2rgb,hsv2hsl:hsv2hsl,hsv2hwb:hsv2hwb,hsv2cmyk:hsv2cmyk,hsv2keyword:hsv2keyword,hwb2rgb:hwb2rgb,hwb2hsl:hwb2hsl,hwb2hsv:hwb2hsv,hwb2cmyk:hwb2cmyk,hwb2keyword:hwb2keyword,cmyk2rgb:cmyk2rgb,cmyk2hsl:cmyk2hsl,cmyk2hsv:cmyk2hsv,cmyk2hwb:cmyk2hwb,cmyk2keyword:cmyk2keyword,keyword2rgb:keyword2rgb,keyword2hsl:keyword2hsl,keyword2hsv:keyword2hsv,keyword2hwb:keyword2hwb,keyword2cmyk:keyword2cmyk,keyword2lab:keyword2lab,keyword2xyz:keyword2xyz,xyz2rgb:xyz2rgb,xyz2lab:xyz2lab,xyz2lch:xyz2lch,lab2xyz:lab2xyz,lab2rgb:lab2rgb,lab2lch:lab2lch,lch2lab:lch2lab,lch2xyz:lch2xyz,lch2rgb:lch2rgb};function rgb2hsl(rgb){var r=rgb[0]/255,g=rgb[1]/255,b=rgb[2]/255,min=Math.min(r,g,b),max=Math.max(r,g,b),delta=max-min,h,s,l;if(max==min)h=0;else if(r==max)h=(g-b)/delta;else if(g==max)h=2+(b-r)/delta;else if(b==max)h=4+(r-g)/delta;h=Math.min(h*60,360);if(h<0)h+=360;l=(min+max)/2;if(max==min)s=0;else if(l<=0.5)s=delta/(max+min);else s=delta/(2-max-min);return[h,s*100,l*100];}function rgb2hsv(rgb){var r=rgb[0],g=rgb[1],b=rgb[2],min=Math.min(r,g,b),max=Math.max(r,g,b),delta=max-min,h,s,v;if(max==0)s=0;else s=delta/max*1000/10;if(max==min)h=0;else if(r==max)h=(g-b)/delta;else if(g==max)h=2+(b-r)/delta;else if(b==max)h=4+(r-g)/delta;h=Math.min(h*60,360);if(h<0)h+=360;v=max/255*1000/10;return[h,s,v];}function rgb2hwb(rgb){var r=rgb[0],g=rgb[1],b=rgb[2],h=rgb2hsl(rgb)[0],w=1/255*Math.min(r,Math.min(g,b)),b=1-1/255*Math.max(r,Math.max(g,b));return[h,w*100,b*100];}function rgb2cmyk(rgb){var r=rgb[0]/255,g=rgb[1]/255,b=rgb[2]/255,c,m,y,k;k=Math.min(1-r,1-g,1-b);c=(1-r-k)/(1-k)||0;m=(1-g-k)/(1-k)||0;y=(1-b-k)/(1-k)||0;return[c*100,m*100,y*100,k*100];}function rgb2keyword(rgb){return reverseKeywords[JSON.stringify(rgb)];}function rgb2xyz(rgb){var r=rgb[0]/255,g=rgb[1]/255,b=rgb[2]/255;// assume sRGB
r=r>0.04045?Math.pow((r+0.055)/1.055,2.4):r/12.92;g=g>0.04045?Math.pow((g+0.055)/1.055,2.4):g/12.92;b=b>0.04045?Math.pow((b+0.055)/1.055,2.4):b/12.92;var x=r*0.4124+g*0.3576+b*0.1805;var y=r*0.2126+g*0.7152+b*0.0722;var z=r*0.0193+g*0.1192+b*0.9505;return[x*100,y*100,z*100];}function rgb2lab(rgb){var xyz=rgb2xyz(rgb),x=xyz[0],y=xyz[1],z=xyz[2],l,a,b;x/=95.047;y/=100;z/=108.883;x=x>0.008856?Math.pow(x,1/3):7.787*x+16/116;y=y>0.008856?Math.pow(y,1/3):7.787*y+16/116;z=z>0.008856?Math.pow(z,1/3):7.787*z+16/116;l=116*y-16;a=500*(x-y);b=200*(y-z);return[l,a,b];}function rgb2lch(args){return lab2lch(rgb2lab(args));}function hsl2rgb(hsl){var h=hsl[0]/360,s=hsl[1]/100,l=hsl[2]/100,t1,t2,t3,rgb,val;if(s==0){val=l*255;return[val,val,val];}if(l<0.5)t2=l*(1+s);else t2=l+s-l*s;t1=2*l-t2;rgb=[0,0,0];for(var i=0;i<3;i++){t3=h+1/3*-(i-1);t3<0&&t3++;t3>1&&t3--;if(6*t3<1)val=t1+(t2-t1)*6*t3;else if(2*t3<1)val=t2;else if(3*t3<2)val=t1+(t2-t1)*(2/3-t3)*6;else val=t1;rgb[i]=val*255;}return rgb;}function hsl2hsv(hsl){var h=hsl[0],s=hsl[1]/100,l=hsl[2]/100,sv,v;if(l===0){// no need to do calc on black
// also avoids divide by 0 error
return[0,0,0];}l*=2;s*=l<=1?l:2-l;v=(l+s)/2;sv=2*s/(l+s);return[h,sv*100,v*100];}function hsl2hwb(args){return rgb2hwb(hsl2rgb(args));}function hsl2cmyk(args){return rgb2cmyk(hsl2rgb(args));}function hsl2keyword(args){return rgb2keyword(hsl2rgb(args));}function hsv2rgb(hsv){var h=hsv[0]/60,s=hsv[1]/100,v=hsv[2]/100,hi=Math.floor(h)%6;var f=h-Math.floor(h),p=255*v*(1-s),q=255*v*(1-s*f),t=255*v*(1-s*(1-f)),v=255*v;switch(hi){case 0:return[v,t,p];case 1:return[q,v,p];case 2:return[p,v,t];case 3:return[p,q,v];case 4:return[t,p,v];case 5:return[v,p,q];}}function hsv2hsl(hsv){var h=hsv[0],s=hsv[1]/100,v=hsv[2]/100,sl,l;l=(2-s)*v;sl=s*v;sl/=l<=1?l:2-l;sl=sl||0;l/=2;return[h,sl*100,l*100];}function hsv2hwb(args){return rgb2hwb(hsv2rgb(args));}function hsv2cmyk(args){return rgb2cmyk(hsv2rgb(args));}function hsv2keyword(args){return rgb2keyword(hsv2rgb(args));}// http://dev.w3.org/csswg/css-color/#hwb-to-rgb
function hwb2rgb(hwb){var h=hwb[0]/360,wh=hwb[1]/100,bl=hwb[2]/100,ratio=wh+bl,i,v,f,n;// wh + bl cant be > 1
if(ratio>1){wh/=ratio;bl/=ratio;}i=Math.floor(6*h);v=1-bl;f=6*h-i;if((i&0x01)!=0){f=1-f;}n=wh+f*(v-wh);// linear interpolation
switch(i){default:case 6:case 0:r=v;g=n;b=wh;break;case 1:r=n;g=v;b=wh;break;case 2:r=wh;g=v;b=n;break;case 3:r=wh;g=n;b=v;break;case 4:r=n;g=wh;b=v;break;case 5:r=v;g=wh;b=n;break;}return[r*255,g*255,b*255];}function hwb2hsl(args){return rgb2hsl(hwb2rgb(args));}function hwb2hsv(args){return rgb2hsv(hwb2rgb(args));}function hwb2cmyk(args){return rgb2cmyk(hwb2rgb(args));}function hwb2keyword(args){return rgb2keyword(hwb2rgb(args));}function cmyk2rgb(cmyk){var c=cmyk[0]/100,m=cmyk[1]/100,y=cmyk[2]/100,k=cmyk[3]/100,r,g,b;r=1-Math.min(1,c*(1-k)+k);g=1-Math.min(1,m*(1-k)+k);b=1-Math.min(1,y*(1-k)+k);return[r*255,g*255,b*255];}function cmyk2hsl(args){return rgb2hsl(cmyk2rgb(args));}function cmyk2hsv(args){return rgb2hsv(cmyk2rgb(args));}function cmyk2hwb(args){return rgb2hwb(cmyk2rgb(args));}function cmyk2keyword(args){return rgb2keyword(cmyk2rgb(args));}function xyz2rgb(xyz){var x=xyz[0]/100,y=xyz[1]/100,z=xyz[2]/100,r,g,b;r=x*3.2406+y*-1.5372+z*-0.4986;g=x*-0.9689+y*1.8758+z*0.0415;b=x*0.0557+y*-0.2040+z*1.0570;// assume sRGB
r=r>0.0031308?1.055*Math.pow(r,1.0/2.4)-0.055:r=r*12.92;g=g>0.0031308?1.055*Math.pow(g,1.0/2.4)-0.055:g=g*12.92;b=b>0.0031308?1.055*Math.pow(b,1.0/2.4)-0.055:b=b*12.92;r=Math.min(Math.max(0,r),1);g=Math.min(Math.max(0,g),1);b=Math.min(Math.max(0,b),1);return[r*255,g*255,b*255];}function xyz2lab(xyz){var x=xyz[0],y=xyz[1],z=xyz[2],l,a,b;x/=95.047;y/=100;z/=108.883;x=x>0.008856?Math.pow(x,1/3):7.787*x+16/116;y=y>0.008856?Math.pow(y,1/3):7.787*y+16/116;z=z>0.008856?Math.pow(z,1/3):7.787*z+16/116;l=116*y-16;a=500*(x-y);b=200*(y-z);return[l,a,b];}function xyz2lch(args){return lab2lch(xyz2lab(args));}function lab2xyz(lab){var l=lab[0],a=lab[1],b=lab[2],x,y,z,y2;if(l<=8){y=l*100/903.3;y2=7.787*(y/100)+16/116;}else{y=100*Math.pow((l+16)/116,3);y2=Math.pow(y/100,1/3);}x=x/95.047<=0.008856?x=95.047*(a/500+y2-16/116)/7.787:95.047*Math.pow(a/500+y2,3);z=z/108.883<=0.008859?z=108.883*(y2-b/200-16/116)/7.787:108.883*Math.pow(y2-b/200,3);return[x,y,z];}function lab2lch(lab){var l=lab[0],a=lab[1],b=lab[2],hr,h,c;hr=Math.atan2(b,a);h=hr*360/2/Math.PI;if(h<0){h+=360;}c=Math.sqrt(a*a+b*b);return[l,c,h];}function lab2rgb(args){return xyz2rgb(lab2xyz(args));}function lch2lab(lch){var l=lch[0],c=lch[1],h=lch[2],a,b,hr;hr=h/360*2*Math.PI;a=c*Math.cos(hr);b=c*Math.sin(hr);return[l,a,b];}function lch2xyz(args){return lab2xyz(lch2lab(args));}function lch2rgb(args){return lab2rgb(lch2lab(args));}function keyword2rgb(keyword){return cssKeywords[keyword];}function keyword2hsl(args){return rgb2hsl(keyword2rgb(args));}function keyword2hsv(args){return rgb2hsv(keyword2rgb(args));}function keyword2hwb(args){return rgb2hwb(keyword2rgb(args));}function keyword2cmyk(args){return rgb2cmyk(keyword2rgb(args));}function keyword2lab(args){return rgb2lab(keyword2rgb(args));}function keyword2xyz(args){return rgb2xyz(keyword2rgb(args));}var cssKeywords={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]};var reverseKeywords={};for(var key in cssKeywords){reverseKeywords[JSON.stringify(cssKeywords[key])]=key;}/***/},/* 186 *//***/function(module,exports,__webpack_require__){/* MIT license */var colorNames=__webpack_require__(187);module.exports={getRgba:getRgba,getHsla:getHsla,getRgb:getRgb,getHsl:getHsl,getHwb:getHwb,getAlpha:getAlpha,hexString:hexString,rgbString:rgbString,rgbaString:rgbaString,percentString:percentString,percentaString:percentaString,hslString:hslString,hslaString:hslaString,hwbString:hwbString,keyword:keyword};function getRgba(string){if(!string){return;}var abbr=/^#([a-fA-F0-9]{3})$/i,hex=/^#([a-fA-F0-9]{6})$/i,rgba=/^rgba?\(\s*([+-]?\d+)\s*,\s*([+-]?\d+)\s*,\s*([+-]?\d+)\s*(?:,\s*([+-]?[\d\.]+)\s*)?\)$/i,per=/^rgba?\(\s*([+-]?[\d\.]+)\%\s*,\s*([+-]?[\d\.]+)\%\s*,\s*([+-]?[\d\.]+)\%\s*(?:,\s*([+-]?[\d\.]+)\s*)?\)$/i,keyword=/(\w+)/;var rgb=[0,0,0],a=1,match=string.match(abbr);if(match){match=match[1];for(var i=0;i<rgb.length;i++){rgb[i]=parseInt(match[i]+match[i],16);}}else if(match=string.match(hex)){match=match[1];for(var i=0;i<rgb.length;i++){rgb[i]=parseInt(match.slice(i*2,i*2+2),16);}}else if(match=string.match(rgba)){for(var i=0;i<rgb.length;i++){rgb[i]=parseInt(match[i+1]);}a=parseFloat(match[4]);}else if(match=string.match(per)){for(var i=0;i<rgb.length;i++){rgb[i]=Math.round(parseFloat(match[i+1])*2.55);}a=parseFloat(match[4]);}else if(match=string.match(keyword)){if(match[1]=="transparent"){return[0,0,0,0];}rgb=colorNames[match[1]];if(!rgb){return;}}for(var i=0;i<rgb.length;i++){rgb[i]=scale(rgb[i],0,255);}if(!a&&a!=0){a=1;}else{a=scale(a,0,1);}rgb[3]=a;return rgb;}function getHsla(string){if(!string){return;}var hsl=/^hsla?\(\s*([+-]?\d+)(?:deg)?\s*,\s*([+-]?[\d\.]+)%\s*,\s*([+-]?[\d\.]+)%\s*(?:,\s*([+-]?[\d\.]+)\s*)?\)/;var match=string.match(hsl);if(match){var alpha=parseFloat(match[4]);var h=scale(parseInt(match[1]),0,360),s=scale(parseFloat(match[2]),0,100),l=scale(parseFloat(match[3]),0,100),a=scale(isNaN(alpha)?1:alpha,0,1);return[h,s,l,a];}}function getHwb(string){if(!string){return;}var hwb=/^hwb\(\s*([+-]?\d+)(?:deg)?\s*,\s*([+-]?[\d\.]+)%\s*,\s*([+-]?[\d\.]+)%\s*(?:,\s*([+-]?[\d\.]+)\s*)?\)/;var match=string.match(hwb);if(match){var alpha=parseFloat(match[4]);var h=scale(parseInt(match[1]),0,360),w=scale(parseFloat(match[2]),0,100),b=scale(parseFloat(match[3]),0,100),a=scale(isNaN(alpha)?1:alpha,0,1);return[h,w,b,a];}}function getRgb(string){var rgba=getRgba(string);return rgba&&rgba.slice(0,3);}function getHsl(string){var hsla=getHsla(string);return hsla&&hsla.slice(0,3);}function getAlpha(string){var vals=getRgba(string);if(vals){return vals[3];}else if(vals=getHsla(string)){return vals[3];}else if(vals=getHwb(string)){return vals[3];}}// generators
function hexString(rgb){return"#"+hexDouble(rgb[0])+hexDouble(rgb[1])+hexDouble(rgb[2]);}function rgbString(rgba,alpha){if(alpha<1||rgba[3]&&rgba[3]<1){return rgbaString(rgba,alpha);}return"rgb("+rgba[0]+", "+rgba[1]+", "+rgba[2]+")";}function rgbaString(rgba,alpha){if(alpha===undefined){alpha=rgba[3]!==undefined?rgba[3]:1;}return"rgba("+rgba[0]+", "+rgba[1]+", "+rgba[2]+", "+alpha+")";}function percentString(rgba,alpha){if(alpha<1||rgba[3]&&rgba[3]<1){return percentaString(rgba,alpha);}var r=Math.round(rgba[0]/255*100),g=Math.round(rgba[1]/255*100),b=Math.round(rgba[2]/255*100);return"rgb("+r+"%, "+g+"%, "+b+"%)";}function percentaString(rgba,alpha){var r=Math.round(rgba[0]/255*100),g=Math.round(rgba[1]/255*100),b=Math.round(rgba[2]/255*100);return"rgba("+r+"%, "+g+"%, "+b+"%, "+(alpha||rgba[3]||1)+")";}function hslString(hsla,alpha){if(alpha<1||hsla[3]&&hsla[3]<1){return hslaString(hsla,alpha);}return"hsl("+hsla[0]+", "+hsla[1]+"%, "+hsla[2]+"%)";}function hslaString(hsla,alpha){if(alpha===undefined){alpha=hsla[3]!==undefined?hsla[3]:1;}return"hsla("+hsla[0]+", "+hsla[1]+"%, "+hsla[2]+"%, "+alpha+")";}// hwb is a bit different than rgb(a) & hsl(a) since there is no alpha specific syntax
// (hwb have alpha optional & 1 is default value)
function hwbString(hwb,alpha){if(alpha===undefined){alpha=hwb[3]!==undefined?hwb[3]:1;}return"hwb("+hwb[0]+", "+hwb[1]+"%, "+hwb[2]+"%"+(alpha!==undefined&&alpha!==1?", "+alpha:"")+")";}function keyword(rgb){return reverseNames[rgb.slice(0,3)];}// helpers
function scale(num,min,max){return Math.min(Math.max(min,num),max);}function hexDouble(num){var str=num.toString(16).toUpperCase();return str.length<2?"0"+str:str;}//create a list of reverse color names
var reverseNames={};for(var name in colorNames){reverseNames[colorNames[name]]=name;}/***/},/* 187 *//***/function(module,exports,__webpack_require__){"use strict";module.exports={"aliceblue":[240,248,255],"antiquewhite":[250,235,215],"aqua":[0,255,255],"aquamarine":[127,255,212],"azure":[240,255,255],"beige":[245,245,220],"bisque":[255,228,196],"black":[0,0,0],"blanchedalmond":[255,235,205],"blue":[0,0,255],"blueviolet":[138,43,226],"brown":[165,42,42],"burlywood":[222,184,135],"cadetblue":[95,158,160],"chartreuse":[127,255,0],"chocolate":[210,105,30],"coral":[255,127,80],"cornflowerblue":[100,149,237],"cornsilk":[255,248,220],"crimson":[220,20,60],"cyan":[0,255,255],"darkblue":[0,0,139],"darkcyan":[0,139,139],"darkgoldenrod":[184,134,11],"darkgray":[169,169,169],"darkgreen":[0,100,0],"darkgrey":[169,169,169],"darkkhaki":[189,183,107],"darkmagenta":[139,0,139],"darkolivegreen":[85,107,47],"darkorange":[255,140,0],"darkorchid":[153,50,204],"darkred":[139,0,0],"darksalmon":[233,150,122],"darkseagreen":[143,188,143],"darkslateblue":[72,61,139],"darkslategray":[47,79,79],"darkslategrey":[47,79,79],"darkturquoise":[0,206,209],"darkviolet":[148,0,211],"deeppink":[255,20,147],"deepskyblue":[0,191,255],"dimgray":[105,105,105],"dimgrey":[105,105,105],"dodgerblue":[30,144,255],"firebrick":[178,34,34],"floralwhite":[255,250,240],"forestgreen":[34,139,34],"fuchsia":[255,0,255],"gainsboro":[220,220,220],"ghostwhite":[248,248,255],"gold":[255,215,0],"goldenrod":[218,165,32],"gray":[128,128,128],"green":[0,128,0],"greenyellow":[173,255,47],"grey":[128,128,128],"honeydew":[240,255,240],"hotpink":[255,105,180],"indianred":[205,92,92],"indigo":[75,0,130],"ivory":[255,255,240],"khaki":[240,230,140],"lavender":[230,230,250],"lavenderblush":[255,240,245],"lawngreen":[124,252,0],"lemonchiffon":[255,250,205],"lightblue":[173,216,230],"lightcoral":[240,128,128],"lightcyan":[224,255,255],"lightgoldenrodyellow":[250,250,210],"lightgray":[211,211,211],"lightgreen":[144,238,144],"lightgrey":[211,211,211],"lightpink":[255,182,193],"lightsalmon":[255,160,122],"lightseagreen":[32,178,170],"lightskyblue":[135,206,250],"lightslategray":[119,136,153],"lightslategrey":[119,136,153],"lightsteelblue":[176,196,222],"lightyellow":[255,255,224],"lime":[0,255,0],"limegreen":[50,205,50],"linen":[250,240,230],"magenta":[255,0,255],"maroon":[128,0,0],"mediumaquamarine":[102,205,170],"mediumblue":[0,0,205],"mediumorchid":[186,85,211],"mediumpurple":[147,112,219],"mediumseagreen":[60,179,113],"mediumslateblue":[123,104,238],"mediumspringgreen":[0,250,154],"mediumturquoise":[72,209,204],"mediumvioletred":[199,21,133],"midnightblue":[25,25,112],"mintcream":[245,255,250],"mistyrose":[255,228,225],"moccasin":[255,228,181],"navajowhite":[255,222,173],"navy":[0,0,128],"oldlace":[253,245,230],"olive":[128,128,0],"olivedrab":[107,142,35],"orange":[255,165,0],"orangered":[255,69,0],"orchid":[218,112,214],"palegoldenrod":[238,232,170],"palegreen":[152,251,152],"paleturquoise":[175,238,238],"palevioletred":[219,112,147],"papayawhip":[255,239,213],"peachpuff":[255,218,185],"peru":[205,133,63],"pink":[255,192,203],"plum":[221,160,221],"powderblue":[176,224,230],"purple":[128,0,128],"rebeccapurple":[102,51,153],"red":[255,0,0],"rosybrown":[188,143,143],"royalblue":[65,105,225],"saddlebrown":[139,69,19],"salmon":[250,128,114],"sandybrown":[244,164,96],"seagreen":[46,139,87],"seashell":[255,245,238],"sienna":[160,82,45],"silver":[192,192,192],"skyblue":[135,206,235],"slateblue":[106,90,205],"slategray":[112,128,144],"slategrey":[112,128,144],"snow":[255,250,250],"springgreen":[0,255,127],"steelblue":[70,130,180],"tan":[210,180,140],"teal":[0,128,128],"thistle":[216,191,216],"tomato":[255,99,71],"turquoise":[64,224,208],"violet":[238,130,238],"wheat":[245,222,179],"white":[255,255,255],"whitesmoke":[245,245,245],"yellow":[255,255,0],"yellowgreen":[154,205,50]};/***/},/* 188 *//***/function(module,exports,__webpack_require__){"use strict";var defaults=__webpack_require__(2);var Element=__webpack_require__(3);var helpers=__webpack_require__(1);defaults._set('global',{elements:{arc:{backgroundColor:defaults.global.defaultColor,borderColor:'#fff',borderWidth:2}}});module.exports=Element.extend({inLabelRange:function inLabelRange(mouseX){var vm=this._view;if(vm){return Math.pow(mouseX-vm.x,2)<Math.pow(vm.radius+vm.hoverRadius,2);}return false;},inRange:function inRange(chartX,chartY){var vm=this._view;if(vm){var pointRelativePosition=helpers.getAngleFromPoint(vm,{x:chartX,y:chartY});var angle=pointRelativePosition.angle;var distance=pointRelativePosition.distance;// Sanitise angle range
var startAngle=vm.startAngle;var endAngle=vm.endAngle;while(endAngle<startAngle){endAngle+=2.0*Math.PI;}while(angle>endAngle){angle-=2.0*Math.PI;}while(angle<startAngle){angle+=2.0*Math.PI;}// Check if within the range of the open/close angle
var betweenAngles=angle>=startAngle&&angle<=endAngle;var withinRadius=distance>=vm.innerRadius&&distance<=vm.outerRadius;return betweenAngles&&withinRadius;}return false;},getCenterPoint:function getCenterPoint(){var vm=this._view;var halfAngle=(vm.startAngle+vm.endAngle)/2;var halfRadius=(vm.innerRadius+vm.outerRadius)/2;return{x:vm.x+Math.cos(halfAngle)*halfRadius,y:vm.y+Math.sin(halfAngle)*halfRadius};},getArea:function getArea(){var vm=this._view;return Math.PI*((vm.endAngle-vm.startAngle)/(2*Math.PI))*(Math.pow(vm.outerRadius,2)-Math.pow(vm.innerRadius,2));},tooltipPosition:function tooltipPosition(){var vm=this._view;var centreAngle=vm.startAngle+(vm.endAngle-vm.startAngle)/2;var rangeFromCentre=(vm.outerRadius-vm.innerRadius)/2+vm.innerRadius;return{x:vm.x+Math.cos(centreAngle)*rangeFromCentre,y:vm.y+Math.sin(centreAngle)*rangeFromCentre};},draw:function draw(){var ctx=this._chart.ctx;var vm=this._view;var sA=vm.startAngle;var eA=vm.endAngle;ctx.beginPath();ctx.arc(vm.x,vm.y,vm.outerRadius,sA,eA);ctx.arc(vm.x,vm.y,vm.innerRadius,eA,sA,true);ctx.closePath();ctx.strokeStyle=vm.borderColor;ctx.lineWidth=vm.borderWidth;ctx.fillStyle=vm.backgroundColor;ctx.fill();ctx.lineJoin='bevel';if(vm.borderWidth){ctx.stroke();}}});/***/},/* 189 *//***/function(module,exports,__webpack_require__){"use strict";var defaults=__webpack_require__(2);var Element=__webpack_require__(3);var helpers=__webpack_require__(1);var globalDefaults=defaults.global;defaults._set('global',{elements:{line:{tension:0.4,backgroundColor:globalDefaults.defaultColor,borderWidth:3,borderColor:globalDefaults.defaultColor,borderCapStyle:'butt',borderDash:[],borderDashOffset:0.0,borderJoinStyle:'miter',capBezierPoints:true,fill:true// do we fill in the area between the line and its base axis
}}});module.exports=Element.extend({draw:function draw(){var me=this;var vm=me._view;var ctx=me._chart.ctx;var spanGaps=vm.spanGaps;var points=me._children.slice();// clone array
var globalOptionLineElements=globalDefaults.elements.line;var lastDrawnIndex=-1;var index,current,previous,currentVM;// If we are looping, adding the first point again
if(me._loop&&points.length){points.push(points[0]);}ctx.save();// Stroke Line Options
ctx.lineCap=vm.borderCapStyle||globalOptionLineElements.borderCapStyle;// IE 9 and 10 do not support line dash
if(ctx.setLineDash){ctx.setLineDash(vm.borderDash||globalOptionLineElements.borderDash);}ctx.lineDashOffset=vm.borderDashOffset||globalOptionLineElements.borderDashOffset;ctx.lineJoin=vm.borderJoinStyle||globalOptionLineElements.borderJoinStyle;ctx.lineWidth=vm.borderWidth||globalOptionLineElements.borderWidth;ctx.strokeStyle=vm.borderColor||globalDefaults.defaultColor;// Stroke Line
ctx.beginPath();lastDrawnIndex=-1;for(index=0;index<points.length;++index){current=points[index];previous=helpers.previousItem(points,index);currentVM=current._view;// First point moves to it's starting position no matter what
if(index===0){if(!currentVM.skip){ctx.moveTo(currentVM.x,currentVM.y);lastDrawnIndex=index;}}else{previous=lastDrawnIndex===-1?previous:points[lastDrawnIndex];if(!currentVM.skip){if(lastDrawnIndex!==index-1&&!spanGaps||lastDrawnIndex===-1){// There was a gap and this is the first point after the gap
ctx.moveTo(currentVM.x,currentVM.y);}else{// Line to next point
helpers.canvas.lineTo(ctx,previous._view,current._view);}lastDrawnIndex=index;}}}ctx.stroke();ctx.restore();}});/***/},/* 190 *//***/function(module,exports,__webpack_require__){"use strict";var defaults=__webpack_require__(2);var Element=__webpack_require__(3);var helpers=__webpack_require__(1);var defaultColor=defaults.global.defaultColor;defaults._set('global',{elements:{point:{radius:3,pointStyle:'circle',backgroundColor:defaultColor,borderColor:defaultColor,borderWidth:1,// Hover
hitRadius:1,hoverRadius:4,hoverBorderWidth:1}}});function xRange(mouseX){var vm=this._view;return vm?Math.abs(mouseX-vm.x)<vm.radius+vm.hitRadius:false;}function yRange(mouseY){var vm=this._view;return vm?Math.abs(mouseY-vm.y)<vm.radius+vm.hitRadius:false;}module.exports=Element.extend({inRange:function inRange(mouseX,mouseY){var vm=this._view;return vm?Math.pow(mouseX-vm.x,2)+Math.pow(mouseY-vm.y,2)<Math.pow(vm.hitRadius+vm.radius,2):false;},inLabelRange:xRange,inXRange:xRange,inYRange:yRange,getCenterPoint:function getCenterPoint(){var vm=this._view;return{x:vm.x,y:vm.y};},getArea:function getArea(){return Math.PI*Math.pow(this._view.radius,2);},tooltipPosition:function tooltipPosition(){var vm=this._view;return{x:vm.x,y:vm.y,padding:vm.radius+vm.borderWidth};},draw:function draw(chartArea){var vm=this._view;var model=this._model;var ctx=this._chart.ctx;var pointStyle=vm.pointStyle;var rotation=vm.rotation;var radius=vm.radius;var x=vm.x;var y=vm.y;var errMargin=1.01;// 1.01 is margin for Accumulated error. (Especially Edge, IE.)
if(vm.skip){return;}// Clipping for Points.
if(chartArea===undefined||model.x>=chartArea.left&&chartArea.right*errMargin>=model.x&&model.y>=chartArea.top&&chartArea.bottom*errMargin>=model.y){ctx.strokeStyle=vm.borderColor||defaultColor;ctx.lineWidth=helpers.valueOrDefault(vm.borderWidth,defaults.global.elements.point.borderWidth);ctx.fillStyle=vm.backgroundColor||defaultColor;helpers.canvas.drawPoint(ctx,pointStyle,radius,x,y,rotation);}}});/***/},/* 191 *//***/function(module,exports,__webpack_require__){"use strict";var defaults=__webpack_require__(2);var Element=__webpack_require__(3);defaults._set('global',{elements:{rectangle:{backgroundColor:defaults.global.defaultColor,borderColor:defaults.global.defaultColor,borderSkipped:'bottom',borderWidth:0}}});function isVertical(bar){return bar._view.width!==undefined;}/**
 * Helper function to get the bounds of the bar regardless of the orientation
 * @param bar {Chart.Element.Rectangle} the bar
 * @return {Bounds} bounds of the bar
 * @private
 */function getBarBounds(bar){var vm=bar._view;var x1,x2,y1,y2;if(isVertical(bar)){// vertical
var halfWidth=vm.width/2;x1=vm.x-halfWidth;x2=vm.x+halfWidth;y1=Math.min(vm.y,vm.base);y2=Math.max(vm.y,vm.base);}else{// horizontal bar
var halfHeight=vm.height/2;x1=Math.min(vm.x,vm.base);x2=Math.max(vm.x,vm.base);y1=vm.y-halfHeight;y2=vm.y+halfHeight;}return{left:x1,top:y1,right:x2,bottom:y2};}module.exports=Element.extend({draw:function draw(){var ctx=this._chart.ctx;var vm=this._view;var left,right,top,bottom,signX,signY,borderSkipped;var borderWidth=vm.borderWidth;if(!vm.horizontal){// bar
left=vm.x-vm.width/2;right=vm.x+vm.width/2;top=vm.y;bottom=vm.base;signX=1;signY=bottom>top?1:-1;borderSkipped=vm.borderSkipped||'bottom';}else{// horizontal bar
left=vm.base;right=vm.x;top=vm.y-vm.height/2;bottom=vm.y+vm.height/2;signX=right>left?1:-1;signY=1;borderSkipped=vm.borderSkipped||'left';}// Canvas doesn't allow us to stroke inside the width so we can
// adjust the sizes to fit if we're setting a stroke on the line
if(borderWidth){// borderWidth shold be less than bar width and bar height.
var barSize=Math.min(Math.abs(left-right),Math.abs(top-bottom));borderWidth=borderWidth>barSize?barSize:borderWidth;var halfStroke=borderWidth/2;// Adjust borderWidth when bar top position is near vm.base(zero).
var borderLeft=left+(borderSkipped!=='left'?halfStroke*signX:0);var borderRight=right+(borderSkipped!=='right'?-halfStroke*signX:0);var borderTop=top+(borderSkipped!=='top'?halfStroke*signY:0);var borderBottom=bottom+(borderSkipped!=='bottom'?-halfStroke*signY:0);// not become a vertical line?
if(borderLeft!==borderRight){top=borderTop;bottom=borderBottom;}// not become a horizontal line?
if(borderTop!==borderBottom){left=borderLeft;right=borderRight;}}ctx.beginPath();ctx.fillStyle=vm.backgroundColor;ctx.strokeStyle=vm.borderColor;ctx.lineWidth=borderWidth;// Corner points, from bottom-left to bottom-right clockwise
// | 1 2 |
// | 0 3 |
var corners=[[left,bottom],[left,top],[right,top],[right,bottom]];// Find first (starting) corner with fallback to 'bottom'
var borders=['bottom','left','top','right'];var startCorner=borders.indexOf(borderSkipped,0);if(startCorner===-1){startCorner=0;}function cornerAt(index){return corners[(startCorner+index)%4];}// Draw rectangle from 'startCorner'
var corner=cornerAt(0);ctx.moveTo(corner[0],corner[1]);for(var i=1;i<4;i++){corner=cornerAt(i);ctx.lineTo(corner[0],corner[1]);}ctx.fill();if(borderWidth){ctx.stroke();}},height:function height(){var vm=this._view;return vm.base-vm.y;},inRange:function inRange(mouseX,mouseY){var inRange=false;if(this._view){var bounds=getBarBounds(this);inRange=mouseX>=bounds.left&&mouseX<=bounds.right&&mouseY>=bounds.top&&mouseY<=bounds.bottom;}return inRange;},inLabelRange:function inLabelRange(mouseX,mouseY){var me=this;if(!me._view){return false;}var inRange=false;var bounds=getBarBounds(me);if(isVertical(me)){inRange=mouseX>=bounds.left&&mouseX<=bounds.right;}else{inRange=mouseY>=bounds.top&&mouseY<=bounds.bottom;}return inRange;},inXRange:function inXRange(mouseX){var bounds=getBarBounds(this);return mouseX>=bounds.left&&mouseX<=bounds.right;},inYRange:function inYRange(mouseY){var bounds=getBarBounds(this);return mouseY>=bounds.top&&mouseY<=bounds.bottom;},getCenterPoint:function getCenterPoint(){var vm=this._view;var x,y;if(isVertical(this)){x=vm.x;y=(vm.y+vm.base)/2;}else{x=(vm.x+vm.base)/2;y=vm.y;}return{x:x,y:y};},getArea:function getArea(){var vm=this._view;return vm.width*Math.abs(vm.y-vm.base);},tooltipPosition:function tooltipPosition(){var vm=this._view;return{x:vm.x,y:vm.y};}});/***/},/* 192 *//***/function(module,exports){/**
 * Platform fallback implementation (minimal).
 * @see https://github.com/chartjs/Chart.js/pull/4591#issuecomment-319575939
 */module.exports={acquireContext:function acquireContext(item){if(item&&item.canvas){// Support for any object associated to a canvas (including a context2d)
item=item.canvas;}return item&&item.getContext('2d')||null;}};/***/},/* 193 *//***/function(module,exports,__webpack_require__){"use strict";/**
 * Chart.Platform implementation for targeting a web browser
 */var helpers=__webpack_require__(1);var EXPANDO_KEY='$chartjs';var CSS_PREFIX='chartjs-';var CSS_RENDER_MONITOR=CSS_PREFIX+'render-monitor';var CSS_RENDER_ANIMATION=CSS_PREFIX+'render-animation';var ANIMATION_START_EVENTS=['animationstart','webkitAnimationStart'];/**
 * DOM event types -> Chart.js event types.
 * Note: only events with different types are mapped.
 * @see https://developer.mozilla.org/en-US/docs/Web/Events
 */var EVENT_TYPES={touchstart:'mousedown',touchmove:'mousemove',touchend:'mouseup',pointerenter:'mouseenter',pointerdown:'mousedown',pointermove:'mousemove',pointerup:'mouseup',pointerleave:'mouseout',pointerout:'mouseout'};/**
 * The "used" size is the final value of a dimension property after all calculations have
 * been performed. This method uses the computed style of `element` but returns undefined
 * if the computed style is not expressed in pixels. That can happen in some cases where
 * `element` has a size relative to its parent and this last one is not yet displayed,
 * for example because of `display: none` on a parent node.
 * @see https://developer.mozilla.org/en-US/docs/Web/CSS/used_value
 * @returns {Number} Size in pixels or undefined if unknown.
 */function readUsedSize(element,property){var value=helpers.getStyle(element,property);var matches=value&&value.match(/^(\d+)(\.\d+)?px$/);return matches?Number(matches[1]):undefined;}/**
 * Initializes the canvas style and render size without modifying the canvas display size,
 * since responsiveness is handled by the controller.resize() method. The config is used
 * to determine the aspect ratio to apply in case no explicit height has been specified.
 */function initCanvas(canvas,config){var style=canvas.style;// NOTE(SB) canvas.getAttribute('width') !== canvas.width: in the first case it
// returns null or '' if no explicit value has been set to the canvas attribute.
var renderHeight=canvas.getAttribute('height');var renderWidth=canvas.getAttribute('width');// Chart.js modifies some canvas values that we want to restore on destroy
canvas[EXPANDO_KEY]={initial:{height:renderHeight,width:renderWidth,style:{display:style.display,height:style.height,width:style.width}}};// Force canvas to display as block to avoid extra space caused by inline
// elements, which would interfere with the responsive resize process.
// https://github.com/chartjs/Chart.js/issues/2538
style.display=style.display||'block';if(renderWidth===null||renderWidth===''){var displayWidth=readUsedSize(canvas,'width');if(displayWidth!==undefined){canvas.width=displayWidth;}}if(renderHeight===null||renderHeight===''){if(canvas.style.height===''){// If no explicit render height and style height, let's apply the aspect ratio,
// which one can be specified by the user but also by charts as default option
// (i.e. options.aspectRatio). If not specified, use canvas aspect ratio of 2.
canvas.height=canvas.width/(config.options.aspectRatio||2);}else{var displayHeight=readUsedSize(canvas,'height');if(displayWidth!==undefined){canvas.height=displayHeight;}}}return canvas;}/**
 * Detects support for options object argument in addEventListener.
 * https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener#Safely_detecting_option_support
 * @private
 */var supportsEventListenerOptions=function(){var supports=false;try{var options=Object.defineProperty({},'passive',{get:function get(){supports=true;}});window.addEventListener('e',null,options);}catch(e){// continue regardless of error
}return supports;}();// Default passive to true as expected by Chrome for 'touchstart' and 'touchend' events.
// https://github.com/chartjs/Chart.js/issues/4287
var eventListenerOptions=supportsEventListenerOptions?{passive:true}:false;function _addEventListener(node,type,listener){node.addEventListener(type,listener,eventListenerOptions);}function _removeEventListener(node,type,listener){node.removeEventListener(type,listener,eventListenerOptions);}function createEvent(type,chart,x,y,nativeEvent){return{type:type,chart:chart,native:nativeEvent||null,x:x!==undefined?x:null,y:y!==undefined?y:null};}function fromNativeEvent(event,chart){var type=EVENT_TYPES[event.type]||event.type;var pos=helpers.getRelativePosition(event,chart);return createEvent(type,chart,pos.x,pos.y,event);}function throttled(fn,thisArg){var ticking=false;var args=[];return function(){args=Array.prototype.slice.call(arguments);thisArg=thisArg||this;if(!ticking){ticking=true;helpers.requestAnimFrame.call(window,function(){ticking=false;fn.apply(thisArg,args);});}};}// Implementation based on https://github.com/marcj/css-element-queries
function createResizer(handler){var resizer=document.createElement('div');var cls=CSS_PREFIX+'size-monitor';var maxSize=1000000;var style='position:absolute;'+'left:0;'+'top:0;'+'right:0;'+'bottom:0;'+'overflow:hidden;'+'pointer-events:none;'+'visibility:hidden;'+'z-index:-1;';resizer.style.cssText=style;resizer.className=cls;resizer.innerHTML='<div class="'+cls+'-expand" style="'+style+'">'+'<div style="'+'position:absolute;'+'width:'+maxSize+'px;'+'height:'+maxSize+'px;'+'left:0;'+'top:0">'+'</div>'+'</div>'+'<div class="'+cls+'-shrink" style="'+style+'">'+'<div style="'+'position:absolute;'+'width:200%;'+'height:200%;'+'left:0; '+'top:0">'+'</div>'+'</div>';var expand=resizer.childNodes[0];var shrink=resizer.childNodes[1];resizer._reset=function(){expand.scrollLeft=maxSize;expand.scrollTop=maxSize;shrink.scrollLeft=maxSize;shrink.scrollTop=maxSize;};var onScroll=function onScroll(){resizer._reset();handler();};_addEventListener(expand,'scroll',onScroll.bind(expand,'expand'));_addEventListener(shrink,'scroll',onScroll.bind(shrink,'shrink'));return resizer;}// https://davidwalsh.name/detect-node-insertion
function watchForRender(node,handler){var expando=node[EXPANDO_KEY]||(node[EXPANDO_KEY]={});var proxy=expando.renderProxy=function(e){if(e.animationName===CSS_RENDER_ANIMATION){handler();}};helpers.each(ANIMATION_START_EVENTS,function(type){_addEventListener(node,type,proxy);});// #4737: Chrome might skip the CSS animation when the CSS_RENDER_MONITOR class
// is removed then added back immediately (same animation frame?). Accessing the
// `offsetParent` property will force a reflow and re-evaluate the CSS animation.
// https://gist.github.com/paulirish/5d52fb081b3570c81e3a#box-metrics
// https://github.com/chartjs/Chart.js/issues/4737
expando.reflow=!!node.offsetParent;node.classList.add(CSS_RENDER_MONITOR);}function unwatchForRender(node){var expando=node[EXPANDO_KEY]||{};var proxy=expando.renderProxy;if(proxy){helpers.each(ANIMATION_START_EVENTS,function(type){_removeEventListener(node,type,proxy);});delete expando.renderProxy;}node.classList.remove(CSS_RENDER_MONITOR);}function addResizeListener(node,listener,chart){var expando=node[EXPANDO_KEY]||(node[EXPANDO_KEY]={});// Let's keep track of this added resizer and thus avoid DOM query when removing it.
var resizer=expando.resizer=createResizer(throttled(function(){if(expando.resizer){return listener(createEvent('resize',chart));}}));// The resizer needs to be attached to the node parent, so we first need to be
// sure that `node` is attached to the DOM before injecting the resizer element.
watchForRender(node,function(){if(expando.resizer){var container=node.parentNode;if(container&&container!==resizer.parentNode){container.insertBefore(resizer,container.firstChild);}// The container size might have changed, let's reset the resizer state.
resizer._reset();}});}function removeResizeListener(node){var expando=node[EXPANDO_KEY]||{};var resizer=expando.resizer;delete expando.resizer;unwatchForRender(node);if(resizer&&resizer.parentNode){resizer.parentNode.removeChild(resizer);}}function injectCSS(platform,css){// http://stackoverflow.com/q/3922139
var style=platform._style||document.createElement('style');if(!platform._style){platform._style=style;css='/* Chart.js */\n'+css;style.setAttribute('type','text/css');document.getElementsByTagName('head')[0].appendChild(style);}style.appendChild(document.createTextNode(css));}module.exports={/**
	 * This property holds whether this platform is enabled for the current environment.
	 * Currently used by platform.js to select the proper implementation.
	 * @private
	 */_enabled:typeof window!=='undefined'&&typeof document!=='undefined',initialize:function initialize(){var keyframes='from{opacity:0.99}to{opacity:1}';injectCSS(this,// DOM rendering detection
// https://davidwalsh.name/detect-node-insertion
'@-webkit-keyframes '+CSS_RENDER_ANIMATION+'{'+keyframes+'}'+'@keyframes '+CSS_RENDER_ANIMATION+'{'+keyframes+'}'+'.'+CSS_RENDER_MONITOR+'{'+'-webkit-animation:'+CSS_RENDER_ANIMATION+' 0.001s;'+'animation:'+CSS_RENDER_ANIMATION+' 0.001s;'+'}');},acquireContext:function acquireContext(item,config){if(typeof item==='string'){item=document.getElementById(item);}else if(item.length){// Support for array based queries (such as jQuery)
item=item[0];}if(item&&item.canvas){// Support for any object associated to a canvas (including a context2d)
item=item.canvas;}// To prevent canvas fingerprinting, some add-ons undefine the getContext
// method, for example: https://github.com/kkapsner/CanvasBlocker
// https://github.com/chartjs/Chart.js/issues/2807
var context=item&&item.getContext&&item.getContext('2d');// `instanceof HTMLCanvasElement/CanvasRenderingContext2D` fails when the item is
// inside an iframe or when running in a protected environment. We could guess the
// types from their toString() value but let's keep things flexible and assume it's
// a sufficient condition if the item has a context2D which has item as `canvas`.
// https://github.com/chartjs/Chart.js/issues/3887
// https://github.com/chartjs/Chart.js/issues/4102
// https://github.com/chartjs/Chart.js/issues/4152
if(context&&context.canvas===item){initCanvas(item,config);return context;}return null;},releaseContext:function releaseContext(context){var canvas=context.canvas;if(!canvas[EXPANDO_KEY]){return;}var initial=canvas[EXPANDO_KEY].initial;['height','width'].forEach(function(prop){var value=initial[prop];if(helpers.isNullOrUndef(value)){canvas.removeAttribute(prop);}else{canvas.setAttribute(prop,value);}});helpers.each(initial.style||{},function(value,key){canvas.style[key]=value;});// The canvas render size might have been changed (and thus the state stack discarded),
// we can't use save() and restore() to restore the initial state. So make sure that at
// least the canvas context is reset to the default state by setting the canvas width.
// https://www.w3.org/TR/2011/WD-html5-20110525/the-canvas-element.html
canvas.width=canvas.width;delete canvas[EXPANDO_KEY];},addEventListener:function addEventListener(chart,type,listener){var canvas=chart.canvas;if(type==='resize'){// Note: the resize event is not supported on all browsers.
addResizeListener(canvas,listener,chart);return;}var expando=listener[EXPANDO_KEY]||(listener[EXPANDO_KEY]={});var proxies=expando.proxies||(expando.proxies={});var proxy=proxies[chart.id+'_'+type]=function(event){listener(fromNativeEvent(event,chart));};_addEventListener(canvas,type,proxy);},removeEventListener:function removeEventListener(chart,type,listener){var canvas=chart.canvas;if(type==='resize'){// Note: the resize event is not supported on all browsers.
removeResizeListener(canvas,listener);return;}var expando=listener[EXPANDO_KEY]||{};var proxies=expando.proxies||{};var proxy=proxies[chart.id+'_'+type];if(!proxy){return;}_removeEventListener(canvas,type,proxy);}};// DEPRECATIONS
/**
 * Provided for backward compatibility, use EventTarget.addEventListener instead.
 * EventTarget.addEventListener compatibility: Chrome, Opera 7, Safari, FF1.5+, IE9+
 * @see https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener
 * @function Chart.helpers.addEvent
 * @deprecated since version 2.7.0
 * @todo remove at version 3
 * @private
 */helpers.addEvent=_addEventListener;/**
 * Provided for backward compatibility, use EventTarget.removeEventListener instead.
 * EventTarget.removeEventListener compatibility: Chrome, Opera 7, Safari, FF1.5+, IE9+
 * @see https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/removeEventListener
 * @function Chart.helpers.removeEvent
 * @deprecated since version 2.7.0
 * @todo remove at version 3
 * @private
 */helpers.removeEvent=_removeEventListener;/***/},/* 194 *//***/function(module,exports,__webpack_require__){"use strict";var Animation=__webpack_require__(21);var animations=__webpack_require__(22);var defaults=__webpack_require__(2);var helpers=__webpack_require__(1);var Interaction=__webpack_require__(23);var layouts=__webpack_require__(10);var platform=__webpack_require__(24);var plugins=__webpack_require__(25);var scaleService=__webpack_require__(4);var Tooltip=__webpack_require__(26);module.exports=function(Chart){// Create a dictionary of chart types, to allow for extension of existing types
Chart.types={};// Store a reference to each instance - allowing us to globally resize chart instances on window resize.
// Destroy method on the chart will remove the instance of the chart from this reference.
Chart.instances={};// Controllers available for dataset visualization eg. bar, line, slice, etc.
Chart.controllers={};/**
	 * Initializes the given config with global and chart default values.
	 */function initConfig(config){config=config||{};// Do NOT use configMerge() for the data object because this method merges arrays
// and so would change references to labels and datasets, preventing data updates.
var data=config.data=config.data||{};data.datasets=data.datasets||[];data.labels=data.labels||[];config.options=helpers.configMerge(defaults.global,defaults[config.type],config.options||{});return config;}/**
	 * Updates the config of the chart
	 * @param chart {Chart} chart to update the options for
	 */function updateConfig(chart){var newOptions=chart.options;helpers.each(chart.scales,function(scale){layouts.removeBox(chart,scale);});newOptions=helpers.configMerge(Chart.defaults.global,Chart.defaults[chart.config.type],newOptions);chart.options=chart.config.options=newOptions;chart.ensureScalesHaveIDs();chart.buildOrUpdateScales();// Tooltip
chart.tooltip._options=newOptions.tooltips;chart.tooltip.initialize();}function positionIsHorizontal(position){return position==='top'||position==='bottom';}helpers.extend(Chart.prototype,/** @lends Chart */{/**
		 * @private
		 */construct:function construct(item,config){var me=this;config=initConfig(config);var context=platform.acquireContext(item,config);var canvas=context&&context.canvas;var height=canvas&&canvas.height;var width=canvas&&canvas.width;me.id=helpers.uid();me.ctx=context;me.canvas=canvas;me.config=config;me.width=width;me.height=height;me.aspectRatio=height?width/height:null;me.options=config.options;me._bufferedRender=false;/**
			 * Provided for backward compatibility, Chart and Chart.Controller have been merged,
			 * the "instance" still need to be defined since it might be called from plugins.
			 * @prop Chart#chart
			 * @deprecated since version 2.6.0
			 * @todo remove at version 3
			 * @private
			 */me.chart=me;me.controller=me;// chart.chart.controller #inception
// Add the chart instance to the global namespace
Chart.instances[me.id]=me;// Define alias to the config data: `chart.data === chart.config.data`
Object.defineProperty(me,'data',{get:function get(){return me.config.data;},set:function set(value){me.config.data=value;}});if(!context||!canvas){// The given item is not a compatible context2d element, let's return before finalizing
// the chart initialization but after setting basic chart / controller properties that
// can help to figure out that the chart is not valid (e.g chart.canvas !== null);
// https://github.com/chartjs/Chart.js/issues/2807
console.error("Failed to create chart: can't acquire context from the given item");return;}me.initialize();me.update();},/**
		 * @private
		 */initialize:function initialize(){var me=this;// Before init plugin notification
plugins.notify(me,'beforeInit');helpers.retinaScale(me,me.options.devicePixelRatio);me.bindEvents();if(me.options.responsive){// Initial resize before chart draws (must be silent to preserve initial animations).
me.resize(true);}// Make sure scales have IDs and are built before we build any controllers.
me.ensureScalesHaveIDs();me.buildOrUpdateScales();me.initToolTip();// After init plugin notification
plugins.notify(me,'afterInit');return me;},clear:function clear(){helpers.canvas.clear(this);return this;},stop:function stop(){// Stops any current animation loop occurring
animations.cancelAnimation(this);return this;},resize:function resize(silent){var me=this;var options=me.options;var canvas=me.canvas;var aspectRatio=options.maintainAspectRatio&&me.aspectRatio||null;// the canvas render width and height will be casted to integers so make sure that
// the canvas display style uses the same integer values to avoid blurring effect.
// Set to 0 instead of canvas.size because the size defaults to 300x150 if the element is collapsed
var newWidth=Math.max(0,Math.floor(helpers.getMaximumWidth(canvas)));var newHeight=Math.max(0,Math.floor(aspectRatio?newWidth/aspectRatio:helpers.getMaximumHeight(canvas)));if(me.width===newWidth&&me.height===newHeight){return;}canvas.width=me.width=newWidth;canvas.height=me.height=newHeight;canvas.style.width=newWidth+'px';canvas.style.height=newHeight+'px';helpers.retinaScale(me,options.devicePixelRatio);if(!silent){// Notify any plugins about the resize
var newSize={width:newWidth,height:newHeight};plugins.notify(me,'resize',[newSize]);// Notify of resize
if(me.options.onResize){me.options.onResize(me,newSize);}me.stop();me.update({duration:me.options.responsiveAnimationDuration});}},ensureScalesHaveIDs:function ensureScalesHaveIDs(){var options=this.options;var scalesOptions=options.scales||{};var scaleOptions=options.scale;helpers.each(scalesOptions.xAxes,function(xAxisOptions,index){xAxisOptions.id=xAxisOptions.id||'x-axis-'+index;});helpers.each(scalesOptions.yAxes,function(yAxisOptions,index){yAxisOptions.id=yAxisOptions.id||'y-axis-'+index;});if(scaleOptions){scaleOptions.id=scaleOptions.id||'scale';}},/**
		 * Builds a map of scale ID to scale object for future lookup.
		 */buildOrUpdateScales:function buildOrUpdateScales(){var me=this;var options=me.options;var scales=me.scales||{};var items=[];var updated=Object.keys(scales).reduce(function(obj,id){obj[id]=false;return obj;},{});if(options.scales){items=items.concat((options.scales.xAxes||[]).map(function(xAxisOptions){return{options:xAxisOptions,dtype:'category',dposition:'bottom'};}),(options.scales.yAxes||[]).map(function(yAxisOptions){return{options:yAxisOptions,dtype:'linear',dposition:'left'};}));}if(options.scale){items.push({options:options.scale,dtype:'radialLinear',isDefault:true,dposition:'chartArea'});}helpers.each(items,function(item){var scaleOptions=item.options;var id=scaleOptions.id;var scaleType=helpers.valueOrDefault(scaleOptions.type,item.dtype);if(positionIsHorizontal(scaleOptions.position)!==positionIsHorizontal(item.dposition)){scaleOptions.position=item.dposition;}updated[id]=true;var scale=null;if(id in scales&&scales[id].type===scaleType){scale=scales[id];scale.options=scaleOptions;scale.ctx=me.ctx;scale.chart=me;}else{var scaleClass=scaleService.getScaleConstructor(scaleType);if(!scaleClass){return;}scale=new scaleClass({id:id,type:scaleType,options:scaleOptions,ctx:me.ctx,chart:me});scales[scale.id]=scale;}scale.mergeTicksOptions();// TODO(SB): I think we should be able to remove this custom case (options.scale)
// and consider it as a regular scale part of the "scales"" map only! This would
// make the logic easier and remove some useless? custom code.
if(item.isDefault){me.scale=scale;}});// clear up discarded scales
helpers.each(updated,function(hasUpdated,id){if(!hasUpdated){delete scales[id];}});me.scales=scales;scaleService.addScalesToLayout(this);},buildOrUpdateControllers:function buildOrUpdateControllers(){var me=this;var types=[];var newControllers=[];helpers.each(me.data.datasets,function(dataset,datasetIndex){var meta=me.getDatasetMeta(datasetIndex);var type=dataset.type||me.config.type;if(meta.type&&meta.type!==type){me.destroyDatasetMeta(datasetIndex);meta=me.getDatasetMeta(datasetIndex);}meta.type=type;types.push(meta.type);if(meta.controller){meta.controller.updateIndex(datasetIndex);meta.controller.linkScales();}else{var ControllerClass=Chart.controllers[meta.type];if(ControllerClass===undefined){throw new Error('"'+meta.type+'" is not a chart type.');}meta.controller=new ControllerClass(me,datasetIndex);newControllers.push(meta.controller);}},me);return newControllers;},/**
		 * Reset the elements of all datasets
		 * @private
		 */resetElements:function resetElements(){var me=this;helpers.each(me.data.datasets,function(dataset,datasetIndex){me.getDatasetMeta(datasetIndex).controller.reset();},me);},/**
		* Resets the chart back to it's state before the initial animation
		*/reset:function reset(){this.resetElements();this.tooltip.initialize();},update:function update(config){var me=this;if(!config||(typeof config==='undefined'?'undefined':_typeof2(config))!=='object'){// backwards compatibility
config={duration:config,lazy:arguments[1]};}updateConfig(me);// plugins options references might have change, let's invalidate the cache
// https://github.com/chartjs/Chart.js/issues/5111#issuecomment-355934167
plugins._invalidate(me);if(plugins.notify(me,'beforeUpdate')===false){return;}// In case the entire data object changed
me.tooltip._data=me.data;// Make sure dataset controllers are updated and new controllers are reset
var newControllers=me.buildOrUpdateControllers();// Make sure all dataset controllers have correct meta data counts
helpers.each(me.data.datasets,function(dataset,datasetIndex){me.getDatasetMeta(datasetIndex).controller.buildOrUpdateElements();},me);me.updateLayout();// Can only reset the new controllers after the scales have been updated
if(me.options.animation&&me.options.animation.duration){helpers.each(newControllers,function(controller){controller.reset();});}me.updateDatasets();// Need to reset tooltip in case it is displayed with elements that are removed
// after update.
me.tooltip.initialize();// Last active contains items that were previously in the tooltip.
// When we reset the tooltip, we need to clear it
me.lastActive=[];// Do this before render so that any plugins that need final scale updates can use it
plugins.notify(me,'afterUpdate');if(me._bufferedRender){me._bufferedRequest={duration:config.duration,easing:config.easing,lazy:config.lazy};}else{me.render(config);}},/**
		 * Updates the chart layout unless a plugin returns `false` to the `beforeLayout`
		 * hook, in which case, plugins will not be called on `afterLayout`.
		 * @private
		 */updateLayout:function updateLayout(){var me=this;if(plugins.notify(me,'beforeLayout')===false){return;}layouts.update(this,this.width,this.height);/**
			 * Provided for backward compatibility, use `afterLayout` instead.
			 * @method IPlugin#afterScaleUpdate
			 * @deprecated since version 2.5.0
			 * @todo remove at version 3
			 * @private
			 */plugins.notify(me,'afterScaleUpdate');plugins.notify(me,'afterLayout');},/**
		 * Updates all datasets unless a plugin returns `false` to the `beforeDatasetsUpdate`
		 * hook, in which case, plugins will not be called on `afterDatasetsUpdate`.
		 * @private
		 */updateDatasets:function updateDatasets(){var me=this;if(plugins.notify(me,'beforeDatasetsUpdate')===false){return;}for(var i=0,ilen=me.data.datasets.length;i<ilen;++i){me.updateDataset(i);}plugins.notify(me,'afterDatasetsUpdate');},/**
		 * Updates dataset at index unless a plugin returns `false` to the `beforeDatasetUpdate`
		 * hook, in which case, plugins will not be called on `afterDatasetUpdate`.
		 * @private
		 */updateDataset:function updateDataset(index){var me=this;var meta=me.getDatasetMeta(index);var args={meta:meta,index:index};if(plugins.notify(me,'beforeDatasetUpdate',[args])===false){return;}meta.controller.update();plugins.notify(me,'afterDatasetUpdate',[args]);},render:function render(config){var me=this;if(!config||(typeof config==='undefined'?'undefined':_typeof2(config))!=='object'){// backwards compatibility
config={duration:config,lazy:arguments[1]};}var duration=config.duration;var lazy=config.lazy;if(plugins.notify(me,'beforeRender')===false){return;}var animationOptions=me.options.animation;var onComplete=function onComplete(animation){plugins.notify(me,'afterRender');helpers.callback(animationOptions&&animationOptions.onComplete,[animation],me);};if(animationOptions&&(typeof duration!=='undefined'&&duration!==0||typeof duration==='undefined'&&animationOptions.duration!==0)){var animation=new Animation({numSteps:(duration||animationOptions.duration)/16.66,// 60 fps
easing:config.easing||animationOptions.easing,render:function render(chart,animationObject){var easingFunction=helpers.easing.effects[animationObject.easing];var currentStep=animationObject.currentStep;var stepDecimal=currentStep/animationObject.numSteps;chart.draw(easingFunction(stepDecimal),stepDecimal,currentStep);},onAnimationProgress:animationOptions.onProgress,onAnimationComplete:onComplete});animations.addAnimation(me,animation,duration,lazy);}else{me.draw();// See https://github.com/chartjs/Chart.js/issues/3781
onComplete(new Animation({numSteps:0,chart:me}));}return me;},draw:function draw(easingValue){var me=this;me.clear();if(helpers.isNullOrUndef(easingValue)){easingValue=1;}me.transition(easingValue);if(me.width<=0||me.height<=0){return;}if(plugins.notify(me,'beforeDraw',[easingValue])===false){return;}// Draw all the scales
helpers.each(me.boxes,function(box){box.draw(me.chartArea);},me);if(me.scale){me.scale.draw();}me.drawDatasets(easingValue);me._drawTooltip(easingValue);plugins.notify(me,'afterDraw',[easingValue]);},/**
		 * @private
		 */transition:function transition(easingValue){var me=this;for(var i=0,ilen=(me.data.datasets||[]).length;i<ilen;++i){if(me.isDatasetVisible(i)){me.getDatasetMeta(i).controller.transition(easingValue);}}me.tooltip.transition(easingValue);},/**
		 * Draws all datasets unless a plugin returns `false` to the `beforeDatasetsDraw`
		 * hook, in which case, plugins will not be called on `afterDatasetsDraw`.
		 * @private
		 */drawDatasets:function drawDatasets(easingValue){var me=this;if(plugins.notify(me,'beforeDatasetsDraw',[easingValue])===false){return;}// Draw datasets reversed to support proper line stacking
for(var i=(me.data.datasets||[]).length-1;i>=0;--i){if(me.isDatasetVisible(i)){me.drawDataset(i,easingValue);}}plugins.notify(me,'afterDatasetsDraw',[easingValue]);},/**
		 * Draws dataset at index unless a plugin returns `false` to the `beforeDatasetDraw`
		 * hook, in which case, plugins will not be called on `afterDatasetDraw`.
		 * @private
		 */drawDataset:function drawDataset(index,easingValue){var me=this;var meta=me.getDatasetMeta(index);var args={meta:meta,index:index,easingValue:easingValue};if(plugins.notify(me,'beforeDatasetDraw',[args])===false){return;}meta.controller.draw(easingValue);plugins.notify(me,'afterDatasetDraw',[args]);},/**
		 * Draws tooltip unless a plugin returns `false` to the `beforeTooltipDraw`
		 * hook, in which case, plugins will not be called on `afterTooltipDraw`.
		 * @private
		 */_drawTooltip:function _drawTooltip(easingValue){var me=this;var tooltip=me.tooltip;var args={tooltip:tooltip,easingValue:easingValue};if(plugins.notify(me,'beforeTooltipDraw',[args])===false){return;}tooltip.draw();plugins.notify(me,'afterTooltipDraw',[args]);},// Get the single element that was clicked on
// @return : An object containing the dataset index and element index of the matching element. Also contains the rectangle that was draw
getElementAtEvent:function getElementAtEvent(e){return Interaction.modes.single(this,e);},getElementsAtEvent:function getElementsAtEvent(e){return Interaction.modes.label(this,e,{intersect:true});},getElementsAtXAxis:function getElementsAtXAxis(e){return Interaction.modes['x-axis'](this,e,{intersect:true});},getElementsAtEventForMode:function getElementsAtEventForMode(e,mode,options){var method=Interaction.modes[mode];if(typeof method==='function'){return method(this,e,options);}return[];},getDatasetAtEvent:function getDatasetAtEvent(e){return Interaction.modes.dataset(this,e,{intersect:true});},getDatasetMeta:function getDatasetMeta(datasetIndex){var me=this;var dataset=me.data.datasets[datasetIndex];if(!dataset._meta){dataset._meta={};}var meta=dataset._meta[me.id];if(!meta){meta=dataset._meta[me.id]={type:null,data:[],dataset:null,controller:null,hidden:null,// See isDatasetVisible() comment
xAxisID:null,yAxisID:null};}return meta;},getVisibleDatasetCount:function getVisibleDatasetCount(){var count=0;for(var i=0,ilen=this.data.datasets.length;i<ilen;++i){if(this.isDatasetVisible(i)){count++;}}return count;},isDatasetVisible:function isDatasetVisible(datasetIndex){var meta=this.getDatasetMeta(datasetIndex);// meta.hidden is a per chart dataset hidden flag override with 3 states: if true or false,
// the dataset.hidden value is ignored, else if null, the dataset hidden state is returned.
return typeof meta.hidden==='boolean'?!meta.hidden:!this.data.datasets[datasetIndex].hidden;},generateLegend:function generateLegend(){return this.options.legendCallback(this);},/**
		 * @private
		 */destroyDatasetMeta:function destroyDatasetMeta(datasetIndex){var id=this.id;var dataset=this.data.datasets[datasetIndex];var meta=dataset._meta&&dataset._meta[id];if(meta){meta.controller.destroy();delete dataset._meta[id];}},destroy:function destroy(){var me=this;var canvas=me.canvas;var i,ilen;me.stop();// dataset controllers need to cleanup associated data
for(i=0,ilen=me.data.datasets.length;i<ilen;++i){me.destroyDatasetMeta(i);}if(canvas){me.unbindEvents();helpers.canvas.clear(me);platform.releaseContext(me.ctx);me.canvas=null;me.ctx=null;}plugins.notify(me,'destroy');delete Chart.instances[me.id];},toBase64Image:function toBase64Image(){return this.canvas.toDataURL.apply(this.canvas,arguments);},initToolTip:function initToolTip(){var me=this;me.tooltip=new Tooltip({_chart:me,_chartInstance:me,// deprecated, backward compatibility
_data:me.data,_options:me.options.tooltips},me);},/**
		 * @private
		 */bindEvents:function bindEvents(){var me=this;var listeners=me._listeners={};var listener=function listener(){me.eventHandler.apply(me,arguments);};helpers.each(me.options.events,function(type){platform.addEventListener(me,type,listener);listeners[type]=listener;});// Elements used to detect size change should not be injected for non responsive charts.
// See https://github.com/chartjs/Chart.js/issues/2210
if(me.options.responsive){listener=function listener(){me.resize();};platform.addEventListener(me,'resize',listener);listeners.resize=listener;}},/**
		 * @private
		 */unbindEvents:function unbindEvents(){var me=this;var listeners=me._listeners;if(!listeners){return;}delete me._listeners;helpers.each(listeners,function(listener,type){platform.removeEventListener(me,type,listener);});},updateHoverStyle:function updateHoverStyle(elements,mode,enabled){var method=enabled?'setHoverStyle':'removeHoverStyle';var element,i,ilen;for(i=0,ilen=elements.length;i<ilen;++i){element=elements[i];if(element){this.getDatasetMeta(element._datasetIndex).controller[method](element);}}},/**
		 * @private
		 */eventHandler:function eventHandler(e){var me=this;var tooltip=me.tooltip;if(plugins.notify(me,'beforeEvent',[e])===false){return;}// Buffer any update calls so that renders do not occur
me._bufferedRender=true;me._bufferedRequest=null;var changed=me.handleEvent(e);// for smooth tooltip animations issue #4989
// the tooltip should be the source of change
// Animation check workaround:
// tooltip._start will be null when tooltip isn't animating
if(tooltip){changed=tooltip._start?tooltip.handleEvent(e):changed|tooltip.handleEvent(e);}plugins.notify(me,'afterEvent',[e]);var bufferedRequest=me._bufferedRequest;if(bufferedRequest){// If we have an update that was triggered, we need to do a normal render
me.render(bufferedRequest);}else if(changed&&!me.animating){// If entering, leaving, or changing elements, animate the change via pivot
me.stop();// We only need to render at this point. Updating will cause scales to be
// recomputed generating flicker & using more memory than necessary.
me.render({duration:me.options.hover.animationDuration,lazy:true});}me._bufferedRender=false;me._bufferedRequest=null;return me;},/**
		 * Handle an event
		 * @private
		 * @param {IEvent} event the event to handle
		 * @return {Boolean} true if the chart needs to re-render
		 */handleEvent:function handleEvent(e){var me=this;var options=me.options||{};var hoverOptions=options.hover;var changed=false;me.lastActive=me.lastActive||[];// Find Active Elements for hover and tooltips
if(e.type==='mouseout'){me.active=[];}else{me.active=me.getElementsAtEventForMode(e,hoverOptions.mode,hoverOptions);}// Invoke onHover hook
// Need to call with native event here to not break backwards compatibility
helpers.callback(options.onHover||options.hover.onHover,[e.native,me.active],me);if(e.type==='mouseup'||e.type==='click'){if(options.onClick){// Use e.native here for backwards compatibility
options.onClick.call(me,e.native,me.active);}}// Remove styling for last active (even if it may still be active)
if(me.lastActive.length){me.updateHoverStyle(me.lastActive,hoverOptions.mode,false);}// Built in hover styling
if(me.active.length&&hoverOptions.mode){me.updateHoverStyle(me.active,hoverOptions.mode,true);}changed=!helpers.arrayEquals(me.active,me.lastActive);// Remember Last Actives
me.lastActive=me.active;return changed;}});/**
	 * Provided for backward compatibility, use Chart instead.
	 * @class Chart.Controller
	 * @deprecated since version 2.6.0
	 * @todo remove at version 3
	 * @private
	 */Chart.Controller=Chart;};/***/},/* 195 *//***/function(module,exports,__webpack_require__){"use strict";var helpers=__webpack_require__(1);module.exports=function(Chart){var arrayEvents=['push','pop','shift','splice','unshift'];/**
	 * Hooks the array methods that add or remove values ('push', pop', 'shift', 'splice',
	 * 'unshift') and notify the listener AFTER the array has been altered. Listeners are
	 * called on the 'onData*' callbacks (e.g. onDataPush, etc.) with same arguments.
	 */function listenArrayEvents(array,listener){if(array._chartjs){array._chartjs.listeners.push(listener);return;}Object.defineProperty(array,'_chartjs',{configurable:true,enumerable:false,value:{listeners:[listener]}});arrayEvents.forEach(function(key){var method='onData'+key.charAt(0).toUpperCase()+key.slice(1);var base=array[key];Object.defineProperty(array,key,{configurable:true,enumerable:false,value:function value(){var args=Array.prototype.slice.call(arguments);var res=base.apply(this,args);helpers.each(array._chartjs.listeners,function(object){if(typeof object[method]==='function'){object[method].apply(object,args);}});return res;}});});}/**
	 * Removes the given array event listener and cleanup extra attached properties (such as
	 * the _chartjs stub and overridden methods) if array doesn't have any more listeners.
	 */function unlistenArrayEvents(array,listener){var stub=array._chartjs;if(!stub){return;}var listeners=stub.listeners;var index=listeners.indexOf(listener);if(index!==-1){listeners.splice(index,1);}if(listeners.length>0){return;}arrayEvents.forEach(function(key){delete array[key];});delete array._chartjs;}// Base class for all dataset controllers (line, bar, etc)
Chart.DatasetController=function(chart,datasetIndex){this.initialize(chart,datasetIndex);};helpers.extend(Chart.DatasetController.prototype,{/**
		 * Element type used to generate a meta dataset (e.g. Chart.element.Line).
		 * @type {Chart.core.element}
		 */datasetElementType:null,/**
		 * Element type used to generate a meta data (e.g. Chart.element.Point).
		 * @type {Chart.core.element}
		 */dataElementType:null,initialize:function initialize(chart,datasetIndex){var me=this;me.chart=chart;me.index=datasetIndex;me.linkScales();me.addElements();},updateIndex:function updateIndex(datasetIndex){this.index=datasetIndex;},linkScales:function linkScales(){var me=this;var meta=me.getMeta();var dataset=me.getDataset();if(meta.xAxisID===null||!(meta.xAxisID in me.chart.scales)){meta.xAxisID=dataset.xAxisID||me.chart.options.scales.xAxes[0].id;}if(meta.yAxisID===null||!(meta.yAxisID in me.chart.scales)){meta.yAxisID=dataset.yAxisID||me.chart.options.scales.yAxes[0].id;}},getDataset:function getDataset(){return this.chart.data.datasets[this.index];},getMeta:function getMeta(){return this.chart.getDatasetMeta(this.index);},getScaleForId:function getScaleForId(scaleID){return this.chart.scales[scaleID];},reset:function reset(){this.update(true);},/**
		 * @private
		 */destroy:function destroy(){if(this._data){unlistenArrayEvents(this._data,this);}},createMetaDataset:function createMetaDataset(){var me=this;var type=me.datasetElementType;return type&&new type({_chart:me.chart,_datasetIndex:me.index});},createMetaData:function createMetaData(index){var me=this;var type=me.dataElementType;return type&&new type({_chart:me.chart,_datasetIndex:me.index,_index:index});},addElements:function addElements(){var me=this;var meta=me.getMeta();var data=me.getDataset().data||[];var metaData=meta.data;var i,ilen;for(i=0,ilen=data.length;i<ilen;++i){metaData[i]=metaData[i]||me.createMetaData(i);}meta.dataset=meta.dataset||me.createMetaDataset();},addElementAndReset:function addElementAndReset(index){var element=this.createMetaData(index);this.getMeta().data.splice(index,0,element);this.updateElement(element,index,true);},buildOrUpdateElements:function buildOrUpdateElements(){var me=this;var dataset=me.getDataset();var data=dataset.data||(dataset.data=[]);// In order to correctly handle data addition/deletion animation (an thus simulate
// real-time charts), we need to monitor these data modifications and synchronize
// the internal meta data accordingly.
if(me._data!==data){if(me._data){// This case happens when the user replaced the data array instance.
unlistenArrayEvents(me._data,me);}listenArrayEvents(data,me);me._data=data;}// Re-sync meta data in case the user replaced the data array or if we missed
// any updates and so make sure that we handle number of datapoints changing.
me.resyncElements();},update:helpers.noop,transition:function transition(easingValue){var meta=this.getMeta();var elements=meta.data||[];var ilen=elements.length;var i=0;for(;i<ilen;++i){elements[i].transition(easingValue);}if(meta.dataset){meta.dataset.transition(easingValue);}},draw:function draw(){var meta=this.getMeta();var elements=meta.data||[];var ilen=elements.length;var i=0;if(meta.dataset){meta.dataset.draw();}for(;i<ilen;++i){elements[i].draw();}},removeHoverStyle:function removeHoverStyle(element){helpers.merge(element._model,element.$previousStyle||{});delete element.$previousStyle;},setHoverStyle:function setHoverStyle(element){var dataset=this.chart.data.datasets[element._datasetIndex];var index=element._index;var custom=element.custom||{};var valueOrDefault=helpers.valueAtIndexOrDefault;var getHoverColor=helpers.getHoverColor;var model=element._model;element.$previousStyle={backgroundColor:model.backgroundColor,borderColor:model.borderColor,borderWidth:model.borderWidth};model.backgroundColor=custom.hoverBackgroundColor?custom.hoverBackgroundColor:valueOrDefault(dataset.hoverBackgroundColor,index,getHoverColor(model.backgroundColor));model.borderColor=custom.hoverBorderColor?custom.hoverBorderColor:valueOrDefault(dataset.hoverBorderColor,index,getHoverColor(model.borderColor));model.borderWidth=custom.hoverBorderWidth?custom.hoverBorderWidth:valueOrDefault(dataset.hoverBorderWidth,index,model.borderWidth);},/**
		 * @private
		 */resyncElements:function resyncElements(){var me=this;var meta=me.getMeta();var data=me.getDataset().data;var numMeta=meta.data.length;var numData=data.length;if(numData<numMeta){meta.data.splice(numData,numMeta-numData);}else if(numData>numMeta){me.insertElements(numMeta,numData-numMeta);}},/**
		 * @private
		 */insertElements:function insertElements(start,count){for(var i=0;i<count;++i){this.addElementAndReset(start+i);}},/**
		 * @private
		 */onDataPush:function onDataPush(){this.insertElements(this.getDataset().data.length-1,arguments.length);},/**
		 * @private
		 */onDataPop:function onDataPop(){this.getMeta().data.pop();},/**
		 * @private
		 */onDataShift:function onDataShift(){this.getMeta().data.shift();},/**
		 * @private
		 */onDataSplice:function onDataSplice(start,count){this.getMeta().data.splice(start,count);this.insertElements(start,arguments.length-2);},/**
		 * @private
		 */onDataUnshift:function onDataUnshift(){this.insertElements(0,arguments.length);}});Chart.DatasetController.extend=helpers.inherits;};/***/},/* 196 *//***/function(module,exports,__webpack_require__){"use strict";var helpers=__webpack_require__(1);var Scale=__webpack_require__(11);/**
 * Generate a set of linear ticks
 * @param generationOptions the options used to generate the ticks
 * @param dataRange the range of the data
 * @returns {Array<Number>} array of tick values
 */function generateTicks(generationOptions,dataRange){var ticks=[];// To get a "nice" value for the tick spacing, we will use the appropriately named
// "nice number" algorithm. See http://stackoverflow.com/questions/8506881/nice-label-algorithm-for-charts-with-minimum-ticks
// for details.
var factor;var precision;var spacing;if(generationOptions.stepSize&&generationOptions.stepSize>0){spacing=generationOptions.stepSize;}else{var niceRange=helpers.niceNum(dataRange.max-dataRange.min,false);spacing=helpers.niceNum(niceRange/(generationOptions.maxTicks-1),true);precision=generationOptions.precision;if(precision!==undefined){// If the user specified a precision, round to that number of decimal places
factor=Math.pow(10,precision);spacing=Math.ceil(spacing*factor)/factor;}}var niceMin=Math.floor(dataRange.min/spacing)*spacing;var niceMax=Math.ceil(dataRange.max/spacing)*spacing;// If min, max and stepSize is set and they make an evenly spaced scale use it.
if(!helpers.isNullOrUndef(generationOptions.min)&&!helpers.isNullOrUndef(generationOptions.max)&&generationOptions.stepSize){// If very close to our whole number, use it.
if(helpers.almostWhole((generationOptions.max-generationOptions.min)/generationOptions.stepSize,spacing/1000)){niceMin=generationOptions.min;niceMax=generationOptions.max;}}var numSpaces=(niceMax-niceMin)/spacing;// If very close to our rounded value, use it.
if(helpers.almostEquals(numSpaces,Math.round(numSpaces),spacing/1000)){numSpaces=Math.round(numSpaces);}else{numSpaces=Math.ceil(numSpaces);}precision=1;if(spacing<1){precision=Math.pow(10,1-Math.floor(helpers.log10(spacing)));niceMin=Math.round(niceMin*precision)/precision;niceMax=Math.round(niceMax*precision)/precision;}ticks.push(generationOptions.min!==undefined?generationOptions.min:niceMin);for(var j=1;j<numSpaces;++j){ticks.push(Math.round((niceMin+j*spacing)*precision)/precision);}ticks.push(generationOptions.max!==undefined?generationOptions.max:niceMax);return ticks;}module.exports=function(Chart){var noop=helpers.noop;Chart.LinearScaleBase=Scale.extend({getRightValue:function getRightValue(value){if(typeof value==='string'){return+value;}return Scale.prototype.getRightValue.call(this,value);},handleTickRangeOptions:function handleTickRangeOptions(){var me=this;var opts=me.options;var tickOpts=opts.ticks;// If we are forcing it to begin at 0, but 0 will already be rendered on the chart,
// do nothing since that would make the chart weird. If the user really wants a weird chart
// axis, they can manually override it
if(tickOpts.beginAtZero){var minSign=helpers.sign(me.min);var maxSign=helpers.sign(me.max);if(minSign<0&&maxSign<0){// move the top up to 0
me.max=0;}else if(minSign>0&&maxSign>0){// move the bottom down to 0
me.min=0;}}var setMin=tickOpts.min!==undefined||tickOpts.suggestedMin!==undefined;var setMax=tickOpts.max!==undefined||tickOpts.suggestedMax!==undefined;if(tickOpts.min!==undefined){me.min=tickOpts.min;}else if(tickOpts.suggestedMin!==undefined){if(me.min===null){me.min=tickOpts.suggestedMin;}else{me.min=Math.min(me.min,tickOpts.suggestedMin);}}if(tickOpts.max!==undefined){me.max=tickOpts.max;}else if(tickOpts.suggestedMax!==undefined){if(me.max===null){me.max=tickOpts.suggestedMax;}else{me.max=Math.max(me.max,tickOpts.suggestedMax);}}if(setMin!==setMax){// We set the min or the max but not both.
// So ensure that our range is good
// Inverted or 0 length range can happen when
// ticks.min is set, and no datasets are visible
if(me.min>=me.max){if(setMin){me.max=me.min+1;}else{me.min=me.max-1;}}}if(me.min===me.max){me.max++;if(!tickOpts.beginAtZero){me.min--;}}},getTickLimit:noop,handleDirectionalChanges:noop,buildTicks:function buildTicks(){var me=this;var opts=me.options;var tickOpts=opts.ticks;// Figure out what the max number of ticks we can support it is based on the size of
// the axis area. For now, we say that the minimum tick spacing in pixels must be 50
// We also limit the maximum number of ticks to 11 which gives a nice 10 squares on
// the graph. Make sure we always have at least 2 ticks
var maxTicks=me.getTickLimit();maxTicks=Math.max(2,maxTicks);var numericGeneratorOptions={maxTicks:maxTicks,min:tickOpts.min,max:tickOpts.max,precision:tickOpts.precision,stepSize:helpers.valueOrDefault(tickOpts.fixedStepSize,tickOpts.stepSize)};var ticks=me.ticks=generateTicks(numericGeneratorOptions,me);me.handleDirectionalChanges();// At this point, we need to update our max and min given the tick values since we have expanded the
// range of the scale
me.max=helpers.max(ticks);me.min=helpers.min(ticks);if(tickOpts.reverse){ticks.reverse();me.start=me.max;me.end=me.min;}else{me.start=me.min;me.end=me.max;}},convertTicksToLabels:function convertTicksToLabels(){var me=this;me.ticksAsNumbers=me.ticks.slice();me.zeroLineIndex=me.ticks.indexOf(0);Scale.prototype.convertTicksToLabels.call(me);}});};/***/},/* 197 *//***/function(module,exports,__webpack_require__){"use strict";var Scale=__webpack_require__(11);var scaleService=__webpack_require__(4);module.exports=function(){// Default config for a category scale
var defaultConfig={position:'bottom'};var DatasetScale=Scale.extend({/**
		* Internal function to get the correct labels. If data.xLabels or data.yLabels are defined, use those
		* else fall back to data.labels
		* @private
		*/getLabels:function getLabels(){var data=this.chart.data;return this.options.labels||(this.isHorizontal()?data.xLabels:data.yLabels)||data.labels;},determineDataLimits:function determineDataLimits(){var me=this;var labels=me.getLabels();me.minIndex=0;me.maxIndex=labels.length-1;var findIndex;if(me.options.ticks.min!==undefined){// user specified min value
findIndex=labels.indexOf(me.options.ticks.min);me.minIndex=findIndex!==-1?findIndex:me.minIndex;}if(me.options.ticks.max!==undefined){// user specified max value
findIndex=labels.indexOf(me.options.ticks.max);me.maxIndex=findIndex!==-1?findIndex:me.maxIndex;}me.min=labels[me.minIndex];me.max=labels[me.maxIndex];},buildTicks:function buildTicks(){var me=this;var labels=me.getLabels();// If we are viewing some subset of labels, slice the original array
me.ticks=me.minIndex===0&&me.maxIndex===labels.length-1?labels:labels.slice(me.minIndex,me.maxIndex+1);},getLabelForIndex:function getLabelForIndex(index,datasetIndex){var me=this;var data=me.chart.data;var isHorizontal=me.isHorizontal();if(data.yLabels&&!isHorizontal){return me.getRightValue(data.datasets[datasetIndex].data[index]);}return me.ticks[index-me.minIndex];},// Used to get data value locations.  Value can either be an index or a numerical value
getPixelForValue:function getPixelForValue(value,index){var me=this;var offset=me.options.offset;// 1 is added because we need the length but we have the indexes
var offsetAmt=Math.max(me.maxIndex+1-me.minIndex-(offset?0:1),1);// If value is a data object, then index is the index in the data array,
// not the index of the scale. We need to change that.
var valueCategory;if(value!==undefined&&value!==null){valueCategory=me.isHorizontal()?value.x:value.y;}if(valueCategory!==undefined||value!==undefined&&isNaN(index)){var labels=me.getLabels();value=valueCategory||value;var idx=labels.indexOf(value);index=idx!==-1?idx:index;}if(me.isHorizontal()){var valueWidth=me.width/offsetAmt;var widthOffset=valueWidth*(index-me.minIndex);if(offset){widthOffset+=valueWidth/2;}return me.left+Math.round(widthOffset);}var valueHeight=me.height/offsetAmt;var heightOffset=valueHeight*(index-me.minIndex);if(offset){heightOffset+=valueHeight/2;}return me.top+Math.round(heightOffset);},getPixelForTick:function getPixelForTick(index){return this.getPixelForValue(this.ticks[index],index+this.minIndex,null);},getValueForPixel:function getValueForPixel(pixel){var me=this;var offset=me.options.offset;var value;var offsetAmt=Math.max(me._ticks.length-(offset?0:1),1);var horz=me.isHorizontal();var valueDimension=(horz?me.width:me.height)/offsetAmt;pixel-=horz?me.left:me.top;if(offset){pixel-=valueDimension/2;}if(pixel<=0){value=0;}else{value=Math.round(pixel/valueDimension);}return value+me.minIndex;},getBasePixel:function getBasePixel(){return this.bottom;}});scaleService.registerScaleType('category',DatasetScale,defaultConfig);};/***/},/* 198 *//***/function(module,exports,__webpack_require__){"use strict";var defaults=__webpack_require__(2);var helpers=__webpack_require__(1);var scaleService=__webpack_require__(4);var Ticks=__webpack_require__(12);module.exports=function(Chart){var defaultConfig={position:'left',ticks:{callback:Ticks.formatters.linear}};var LinearScale=Chart.LinearScaleBase.extend({determineDataLimits:function determineDataLimits(){var me=this;var opts=me.options;var chart=me.chart;var data=chart.data;var datasets=data.datasets;var isHorizontal=me.isHorizontal();var DEFAULT_MIN=0;var DEFAULT_MAX=1;function IDMatches(meta){return isHorizontal?meta.xAxisID===me.id:meta.yAxisID===me.id;}// First Calculate the range
me.min=null;me.max=null;var hasStacks=opts.stacked;if(hasStacks===undefined){helpers.each(datasets,function(dataset,datasetIndex){if(hasStacks){return;}var meta=chart.getDatasetMeta(datasetIndex);if(chart.isDatasetVisible(datasetIndex)&&IDMatches(meta)&&meta.stack!==undefined){hasStacks=true;}});}if(opts.stacked||hasStacks){var valuesPerStack={};helpers.each(datasets,function(dataset,datasetIndex){var meta=chart.getDatasetMeta(datasetIndex);var key=[meta.type,// we have a separate stack for stack=undefined datasets when the opts.stacked is undefined
opts.stacked===undefined&&meta.stack===undefined?datasetIndex:'',meta.stack].join('.');if(valuesPerStack[key]===undefined){valuesPerStack[key]={positiveValues:[],negativeValues:[]};}// Store these per type
var positiveValues=valuesPerStack[key].positiveValues;var negativeValues=valuesPerStack[key].negativeValues;if(chart.isDatasetVisible(datasetIndex)&&IDMatches(meta)){helpers.each(dataset.data,function(rawValue,index){var value=+me.getRightValue(rawValue);if(isNaN(value)||meta.data[index].hidden){return;}positiveValues[index]=positiveValues[index]||0;negativeValues[index]=negativeValues[index]||0;if(opts.relativePoints){positiveValues[index]=100;}else if(value<0){negativeValues[index]+=value;}else{positiveValues[index]+=value;}});}});helpers.each(valuesPerStack,function(valuesForType){var values=valuesForType.positiveValues.concat(valuesForType.negativeValues);var minVal=helpers.min(values);var maxVal=helpers.max(values);me.min=me.min===null?minVal:Math.min(me.min,minVal);me.max=me.max===null?maxVal:Math.max(me.max,maxVal);});}else{helpers.each(datasets,function(dataset,datasetIndex){var meta=chart.getDatasetMeta(datasetIndex);if(chart.isDatasetVisible(datasetIndex)&&IDMatches(meta)){helpers.each(dataset.data,function(rawValue,index){var value=+me.getRightValue(rawValue);if(isNaN(value)||meta.data[index].hidden){return;}if(me.min===null){me.min=value;}else if(value<me.min){me.min=value;}if(me.max===null){me.max=value;}else if(value>me.max){me.max=value;}});}});}me.min=isFinite(me.min)&&!isNaN(me.min)?me.min:DEFAULT_MIN;me.max=isFinite(me.max)&&!isNaN(me.max)?me.max:DEFAULT_MAX;// Common base implementation to handle ticks.min, ticks.max, ticks.beginAtZero
this.handleTickRangeOptions();},getTickLimit:function getTickLimit(){var maxTicks;var me=this;var tickOpts=me.options.ticks;if(me.isHorizontal()){maxTicks=Math.min(tickOpts.maxTicksLimit?tickOpts.maxTicksLimit:11,Math.ceil(me.width/50));}else{// The factor of 2 used to scale the font size has been experimentally determined.
var tickFontSize=helpers.valueOrDefault(tickOpts.fontSize,defaults.global.defaultFontSize);maxTicks=Math.min(tickOpts.maxTicksLimit?tickOpts.maxTicksLimit:11,Math.ceil(me.height/(2*tickFontSize)));}return maxTicks;},// Called after the ticks are built. We need
handleDirectionalChanges:function handleDirectionalChanges(){if(!this.isHorizontal()){// We are in a vertical orientation. The top value is the highest. So reverse the array
this.ticks.reverse();}},getLabelForIndex:function getLabelForIndex(index,datasetIndex){return+this.getRightValue(this.chart.data.datasets[datasetIndex].data[index]);},// Utils
getPixelForValue:function getPixelForValue(value){// This must be called after fit has been run so that
// this.left, this.top, this.right, and this.bottom have been defined
var me=this;var start=me.start;var rightValue=+me.getRightValue(value);var pixel;var range=me.end-start;if(me.isHorizontal()){pixel=me.left+me.width/range*(rightValue-start);}else{pixel=me.bottom-me.height/range*(rightValue-start);}return pixel;},getValueForPixel:function getValueForPixel(pixel){var me=this;var isHorizontal=me.isHorizontal();var innerDimension=isHorizontal?me.width:me.height;var offset=(isHorizontal?pixel-me.left:me.bottom-pixel)/innerDimension;return me.start+(me.end-me.start)*offset;},getPixelForTick:function getPixelForTick(index){return this.getPixelForValue(this.ticksAsNumbers[index]);}});scaleService.registerScaleType('linear',LinearScale,defaultConfig);};/***/},/* 199 *//***/function(module,exports,__webpack_require__){"use strict";var helpers=__webpack_require__(1);var Scale=__webpack_require__(11);var scaleService=__webpack_require__(4);var Ticks=__webpack_require__(12);/**
 * Generate a set of logarithmic ticks
 * @param generationOptions the options used to generate the ticks
 * @param dataRange the range of the data
 * @returns {Array<Number>} array of tick values
 */function generateTicks(generationOptions,dataRange){var ticks=[];var valueOrDefault=helpers.valueOrDefault;// Figure out what the max number of ticks we can support it is based on the size of
// the axis area. For now, we say that the minimum tick spacing in pixels must be 50
// We also limit the maximum number of ticks to 11 which gives a nice 10 squares on
// the graph
var tickVal=valueOrDefault(generationOptions.min,Math.pow(10,Math.floor(helpers.log10(dataRange.min))));var endExp=Math.floor(helpers.log10(dataRange.max));var endSignificand=Math.ceil(dataRange.max/Math.pow(10,endExp));var exp,significand;if(tickVal===0){exp=Math.floor(helpers.log10(dataRange.minNotZero));significand=Math.floor(dataRange.minNotZero/Math.pow(10,exp));ticks.push(tickVal);tickVal=significand*Math.pow(10,exp);}else{exp=Math.floor(helpers.log10(tickVal));significand=Math.floor(tickVal/Math.pow(10,exp));}var precision=exp<0?Math.pow(10,Math.abs(exp)):1;do{ticks.push(tickVal);++significand;if(significand===10){significand=1;++exp;precision=exp>=0?1:precision;}tickVal=Math.round(significand*Math.pow(10,exp)*precision)/precision;}while(exp<endExp||exp===endExp&&significand<endSignificand);var lastTick=valueOrDefault(generationOptions.max,tickVal);ticks.push(lastTick);return ticks;}module.exports=function(Chart){var defaultConfig={position:'left',// label settings
ticks:{callback:Ticks.formatters.logarithmic}};var LogarithmicScale=Scale.extend({determineDataLimits:function determineDataLimits(){var me=this;var opts=me.options;var chart=me.chart;var data=chart.data;var datasets=data.datasets;var isHorizontal=me.isHorizontal();function IDMatches(meta){return isHorizontal?meta.xAxisID===me.id:meta.yAxisID===me.id;}// Calculate Range
me.min=null;me.max=null;me.minNotZero=null;var hasStacks=opts.stacked;if(hasStacks===undefined){helpers.each(datasets,function(dataset,datasetIndex){if(hasStacks){return;}var meta=chart.getDatasetMeta(datasetIndex);if(chart.isDatasetVisible(datasetIndex)&&IDMatches(meta)&&meta.stack!==undefined){hasStacks=true;}});}if(opts.stacked||hasStacks){var valuesPerStack={};helpers.each(datasets,function(dataset,datasetIndex){var meta=chart.getDatasetMeta(datasetIndex);var key=[meta.type,// we have a separate stack for stack=undefined datasets when the opts.stacked is undefined
opts.stacked===undefined&&meta.stack===undefined?datasetIndex:'',meta.stack].join('.');if(chart.isDatasetVisible(datasetIndex)&&IDMatches(meta)){if(valuesPerStack[key]===undefined){valuesPerStack[key]=[];}helpers.each(dataset.data,function(rawValue,index){var values=valuesPerStack[key];var value=+me.getRightValue(rawValue);// invalid, hidden and negative values are ignored
if(isNaN(value)||meta.data[index].hidden||value<0){return;}values[index]=values[index]||0;values[index]+=value;});}});helpers.each(valuesPerStack,function(valuesForType){if(valuesForType.length>0){var minVal=helpers.min(valuesForType);var maxVal=helpers.max(valuesForType);me.min=me.min===null?minVal:Math.min(me.min,minVal);me.max=me.max===null?maxVal:Math.max(me.max,maxVal);}});}else{helpers.each(datasets,function(dataset,datasetIndex){var meta=chart.getDatasetMeta(datasetIndex);if(chart.isDatasetVisible(datasetIndex)&&IDMatches(meta)){helpers.each(dataset.data,function(rawValue,index){var value=+me.getRightValue(rawValue);// invalid, hidden and negative values are ignored
if(isNaN(value)||meta.data[index].hidden||value<0){return;}if(me.min===null){me.min=value;}else if(value<me.min){me.min=value;}if(me.max===null){me.max=value;}else if(value>me.max){me.max=value;}if(value!==0&&(me.minNotZero===null||value<me.minNotZero)){me.minNotZero=value;}});}});}// Common base implementation to handle ticks.min, ticks.max
this.handleTickRangeOptions();},handleTickRangeOptions:function handleTickRangeOptions(){var me=this;var opts=me.options;var tickOpts=opts.ticks;var valueOrDefault=helpers.valueOrDefault;var DEFAULT_MIN=1;var DEFAULT_MAX=10;me.min=valueOrDefault(tickOpts.min,me.min);me.max=valueOrDefault(tickOpts.max,me.max);if(me.min===me.max){if(me.min!==0&&me.min!==null){me.min=Math.pow(10,Math.floor(helpers.log10(me.min))-1);me.max=Math.pow(10,Math.floor(helpers.log10(me.max))+1);}else{me.min=DEFAULT_MIN;me.max=DEFAULT_MAX;}}if(me.min===null){me.min=Math.pow(10,Math.floor(helpers.log10(me.max))-1);}if(me.max===null){me.max=me.min!==0?Math.pow(10,Math.floor(helpers.log10(me.min))+1):DEFAULT_MAX;}if(me.minNotZero===null){if(me.min>0){me.minNotZero=me.min;}else if(me.max<1){me.minNotZero=Math.pow(10,Math.floor(helpers.log10(me.max)));}else{me.minNotZero=DEFAULT_MIN;}}},buildTicks:function buildTicks(){var me=this;var opts=me.options;var tickOpts=opts.ticks;var reverse=!me.isHorizontal();var generationOptions={min:tickOpts.min,max:tickOpts.max};var ticks=me.ticks=generateTicks(generationOptions,me);// At this point, we need to update our max and min given the tick values since we have expanded the
// range of the scale
me.max=helpers.max(ticks);me.min=helpers.min(ticks);if(tickOpts.reverse){reverse=!reverse;me.start=me.max;me.end=me.min;}else{me.start=me.min;me.end=me.max;}if(reverse){ticks.reverse();}},convertTicksToLabels:function convertTicksToLabels(){this.tickValues=this.ticks.slice();Scale.prototype.convertTicksToLabels.call(this);},// Get the correct tooltip label
getLabelForIndex:function getLabelForIndex(index,datasetIndex){return+this.getRightValue(this.chart.data.datasets[datasetIndex].data[index]);},getPixelForTick:function getPixelForTick(index){return this.getPixelForValue(this.tickValues[index]);},/**
		 * Returns the value of the first tick.
		 * @param {Number} value - The minimum not zero value.
		 * @return {Number} The first tick value.
		 * @private
		 */_getFirstTickValue:function _getFirstTickValue(value){var exp=Math.floor(helpers.log10(value));var significand=Math.floor(value/Math.pow(10,exp));return significand*Math.pow(10,exp);},getPixelForValue:function getPixelForValue(value){var me=this;var reverse=me.options.ticks.reverse;var log10=helpers.log10;var firstTickValue=me._getFirstTickValue(me.minNotZero);var offset=0;var innerDimension,pixel,start,end,sign;value=+me.getRightValue(value);if(reverse){start=me.end;end=me.start;sign=-1;}else{start=me.start;end=me.end;sign=1;}if(me.isHorizontal()){innerDimension=me.width;pixel=reverse?me.right:me.left;}else{innerDimension=me.height;sign*=-1;// invert, since the upper-left corner of the canvas is at pixel (0, 0)
pixel=reverse?me.top:me.bottom;}if(value!==start){if(start===0){// include zero tick
offset=helpers.getValueOrDefault(me.options.ticks.fontSize,Chart.defaults.global.defaultFontSize);innerDimension-=offset;start=firstTickValue;}if(value!==0){offset+=innerDimension/(log10(end)-log10(start))*(log10(value)-log10(start));}pixel+=sign*offset;}return pixel;},getValueForPixel:function getValueForPixel(pixel){var me=this;var reverse=me.options.ticks.reverse;var log10=helpers.log10;var firstTickValue=me._getFirstTickValue(me.minNotZero);var innerDimension,start,end,value;if(reverse){start=me.end;end=me.start;}else{start=me.start;end=me.end;}if(me.isHorizontal()){innerDimension=me.width;value=reverse?me.right-pixel:pixel-me.left;}else{innerDimension=me.height;value=reverse?pixel-me.top:me.bottom-pixel;}if(value!==start){if(start===0){// include zero tick
var offset=helpers.getValueOrDefault(me.options.ticks.fontSize,Chart.defaults.global.defaultFontSize);value-=offset;innerDimension-=offset;start=firstTickValue;}value*=log10(end)-log10(start);value/=innerDimension;value=Math.pow(10,log10(start)+value);}return value;}});scaleService.registerScaleType('logarithmic',LogarithmicScale,defaultConfig);};/***/},/* 200 *//***/function(module,exports,__webpack_require__){"use strict";var defaults=__webpack_require__(2);var helpers=__webpack_require__(1);var scaleService=__webpack_require__(4);var Ticks=__webpack_require__(12);module.exports=function(Chart){var globalDefaults=defaults.global;var defaultConfig={display:true,// Boolean - Whether to animate scaling the chart from the centre
animate:true,position:'chartArea',angleLines:{display:true,color:'rgba(0, 0, 0, 0.1)',lineWidth:1},gridLines:{circular:false},// label settings
ticks:{// Boolean - Show a backdrop to the scale label
showLabelBackdrop:true,// String - The colour of the label backdrop
backdropColor:'rgba(255,255,255,0.75)',// Number - The backdrop padding above & below the label in pixels
backdropPaddingY:2,// Number - The backdrop padding to the side of the label in pixels
backdropPaddingX:2,callback:Ticks.formatters.linear},pointLabels:{// Boolean - if true, show point labels
display:true,// Number - Point label font size in pixels
fontSize:10,// Function - Used to convert point labels
callback:function callback(label){return label;}}};function getValueCount(scale){var opts=scale.options;return opts.angleLines.display||opts.pointLabels.display?scale.chart.data.labels.length:0;}function getPointLabelFontOptions(scale){var pointLabelOptions=scale.options.pointLabels;var fontSize=helpers.valueOrDefault(pointLabelOptions.fontSize,globalDefaults.defaultFontSize);var fontStyle=helpers.valueOrDefault(pointLabelOptions.fontStyle,globalDefaults.defaultFontStyle);var fontFamily=helpers.valueOrDefault(pointLabelOptions.fontFamily,globalDefaults.defaultFontFamily);var font=helpers.fontString(fontSize,fontStyle,fontFamily);return{size:fontSize,style:fontStyle,family:fontFamily,font:font};}function measureLabelSize(ctx,fontSize,label){if(helpers.isArray(label)){return{w:helpers.longestText(ctx,ctx.font,label),h:label.length*fontSize+(label.length-1)*1.5*fontSize};}return{w:ctx.measureText(label).width,h:fontSize};}function determineLimits(angle,pos,size,min,max){if(angle===min||angle===max){return{start:pos-size/2,end:pos+size/2};}else if(angle<min||angle>max){return{start:pos-size-5,end:pos};}return{start:pos,end:pos+size+5};}/**
	 * Helper function to fit a radial linear scale with point labels
	 */function fitWithPointLabels(scale){/*
		 * Right, this is really confusing and there is a lot of maths going on here
		 * The gist of the problem is here: https://gist.github.com/nnnick/696cc9c55f4b0beb8fe9
		 *
		 * Reaction: https://dl.dropboxusercontent.com/u/34601363/toomuchscience.gif
		 *
		 * Solution:
		 *
		 * We assume the radius of the polygon is half the size of the canvas at first
		 * at each index we check if the text overlaps.
		 *
		 * Where it does, we store that angle and that index.
		 *
		 * After finding the largest index and angle we calculate how much we need to remove
		 * from the shape radius to move the point inwards by that x.
		 *
		 * We average the left and right distances to get the maximum shape radius that can fit in the box
		 * along with labels.
		 *
		 * Once we have that, we can find the centre point for the chart, by taking the x text protrusion
		 * on each side, removing that from the size, halving it and adding the left x protrusion width.
		 *
		 * This will mean we have a shape fitted to the canvas, as large as it can be with the labels
		 * and position it in the most space efficient manner
		 *
		 * https://dl.dropboxusercontent.com/u/34601363/yeahscience.gif
		 */var plFont=getPointLabelFontOptions(scale);// Get maximum radius of the polygon. Either half the height (minus the text width) or half the width.
// Use this to calculate the offset + change. - Make sure L/R protrusion is at least 0 to stop issues with centre points
var largestPossibleRadius=Math.min(scale.height/2,scale.width/2);var furthestLimits={r:scale.width,l:0,t:scale.height,b:0};var furthestAngles={};var i,textSize,pointPosition;scale.ctx.font=plFont.font;scale._pointLabelSizes=[];var valueCount=getValueCount(scale);for(i=0;i<valueCount;i++){pointPosition=scale.getPointPosition(i,largestPossibleRadius);textSize=measureLabelSize(scale.ctx,plFont.size,scale.pointLabels[i]||'');scale._pointLabelSizes[i]=textSize;// Add quarter circle to make degree 0 mean top of circle
var angleRadians=scale.getIndexAngle(i);var angle=helpers.toDegrees(angleRadians)%360;var hLimits=determineLimits(angle,pointPosition.x,textSize.w,0,180);var vLimits=determineLimits(angle,pointPosition.y,textSize.h,90,270);if(hLimits.start<furthestLimits.l){furthestLimits.l=hLimits.start;furthestAngles.l=angleRadians;}if(hLimits.end>furthestLimits.r){furthestLimits.r=hLimits.end;furthestAngles.r=angleRadians;}if(vLimits.start<furthestLimits.t){furthestLimits.t=vLimits.start;furthestAngles.t=angleRadians;}if(vLimits.end>furthestLimits.b){furthestLimits.b=vLimits.end;furthestAngles.b=angleRadians;}}scale.setReductions(largestPossibleRadius,furthestLimits,furthestAngles);}/**
	 * Helper function to fit a radial linear scale with no point labels
	 */function _fit(scale){var largestPossibleRadius=Math.min(scale.height/2,scale.width/2);scale.drawingArea=Math.round(largestPossibleRadius);scale.setCenterPoint(0,0,0,0);}function getTextAlignForAngle(angle){if(angle===0||angle===180){return'center';}else if(angle<180){return'left';}return'right';}function fillText(ctx,text,position,fontSize){if(helpers.isArray(text)){var y=position.y;var spacing=1.5*fontSize;for(var i=0;i<text.length;++i){ctx.fillText(text[i],position.x,y);y+=spacing;}}else{ctx.fillText(text,position.x,position.y);}}function adjustPointPositionForLabelHeight(angle,textSize,position){if(angle===90||angle===270){position.y-=textSize.h/2;}else if(angle>270||angle<90){position.y-=textSize.h;}}function drawPointLabels(scale){var ctx=scale.ctx;var opts=scale.options;var angleLineOpts=opts.angleLines;var pointLabelOpts=opts.pointLabels;ctx.lineWidth=angleLineOpts.lineWidth;ctx.strokeStyle=angleLineOpts.color;var outerDistance=scale.getDistanceFromCenterForValue(opts.ticks.reverse?scale.min:scale.max);// Point Label Font
var plFont=getPointLabelFontOptions(scale);ctx.textBaseline='top';for(var i=getValueCount(scale)-1;i>=0;i--){if(angleLineOpts.display){var outerPosition=scale.getPointPosition(i,outerDistance);ctx.beginPath();ctx.moveTo(scale.xCenter,scale.yCenter);ctx.lineTo(outerPosition.x,outerPosition.y);ctx.stroke();ctx.closePath();}if(pointLabelOpts.display){// Extra 3px out for some label spacing
var pointLabelPosition=scale.getPointPosition(i,outerDistance+5);// Keep this in loop since we may support array properties here
var pointLabelFontColor=helpers.valueAtIndexOrDefault(pointLabelOpts.fontColor,i,globalDefaults.defaultFontColor);ctx.font=plFont.font;ctx.fillStyle=pointLabelFontColor;var angleRadians=scale.getIndexAngle(i);var angle=helpers.toDegrees(angleRadians);ctx.textAlign=getTextAlignForAngle(angle);adjustPointPositionForLabelHeight(angle,scale._pointLabelSizes[i],pointLabelPosition);fillText(ctx,scale.pointLabels[i]||'',pointLabelPosition,plFont.size);}}}function drawRadiusLine(scale,gridLineOpts,radius,index){var ctx=scale.ctx;ctx.strokeStyle=helpers.valueAtIndexOrDefault(gridLineOpts.color,index-1);ctx.lineWidth=helpers.valueAtIndexOrDefault(gridLineOpts.lineWidth,index-1);if(scale.options.gridLines.circular){// Draw circular arcs between the points
ctx.beginPath();ctx.arc(scale.xCenter,scale.yCenter,radius,0,Math.PI*2);ctx.closePath();ctx.stroke();}else{// Draw straight lines connecting each index
var valueCount=getValueCount(scale);if(valueCount===0){return;}ctx.beginPath();var pointPosition=scale.getPointPosition(0,radius);ctx.moveTo(pointPosition.x,pointPosition.y);for(var i=1;i<valueCount;i++){pointPosition=scale.getPointPosition(i,radius);ctx.lineTo(pointPosition.x,pointPosition.y);}ctx.closePath();ctx.stroke();}}function numberOrZero(param){return helpers.isNumber(param)?param:0;}var LinearRadialScale=Chart.LinearScaleBase.extend({setDimensions:function setDimensions(){var me=this;var opts=me.options;var tickOpts=opts.ticks;// Set the unconstrained dimension before label rotation
me.width=me.maxWidth;me.height=me.maxHeight;me.xCenter=Math.round(me.width/2);me.yCenter=Math.round(me.height/2);var minSize=helpers.min([me.height,me.width]);var tickFontSize=helpers.valueOrDefault(tickOpts.fontSize,globalDefaults.defaultFontSize);me.drawingArea=opts.display?minSize/2-(tickFontSize/2+tickOpts.backdropPaddingY):minSize/2;},determineDataLimits:function determineDataLimits(){var me=this;var chart=me.chart;var min=Number.POSITIVE_INFINITY;var max=Number.NEGATIVE_INFINITY;helpers.each(chart.data.datasets,function(dataset,datasetIndex){if(chart.isDatasetVisible(datasetIndex)){var meta=chart.getDatasetMeta(datasetIndex);helpers.each(dataset.data,function(rawValue,index){var value=+me.getRightValue(rawValue);if(isNaN(value)||meta.data[index].hidden){return;}min=Math.min(value,min);max=Math.max(value,max);});}});me.min=min===Number.POSITIVE_INFINITY?0:min;me.max=max===Number.NEGATIVE_INFINITY?0:max;// Common base implementation to handle ticks.min, ticks.max, ticks.beginAtZero
me.handleTickRangeOptions();},getTickLimit:function getTickLimit(){var tickOpts=this.options.ticks;var tickFontSize=helpers.valueOrDefault(tickOpts.fontSize,globalDefaults.defaultFontSize);return Math.min(tickOpts.maxTicksLimit?tickOpts.maxTicksLimit:11,Math.ceil(this.drawingArea/(1.5*tickFontSize)));},convertTicksToLabels:function convertTicksToLabels(){var me=this;Chart.LinearScaleBase.prototype.convertTicksToLabels.call(me);// Point labels
me.pointLabels=me.chart.data.labels.map(me.options.pointLabels.callback,me);},getLabelForIndex:function getLabelForIndex(index,datasetIndex){return+this.getRightValue(this.chart.data.datasets[datasetIndex].data[index]);},fit:function fit(){if(this.options.pointLabels.display){fitWithPointLabels(this);}else{_fit(this);}},/**
		 * Set radius reductions and determine new radius and center point
		 * @private
		 */setReductions:function setReductions(largestPossibleRadius,furthestLimits,furthestAngles){var me=this;var radiusReductionLeft=furthestLimits.l/Math.sin(furthestAngles.l);var radiusReductionRight=Math.max(furthestLimits.r-me.width,0)/Math.sin(furthestAngles.r);var radiusReductionTop=-furthestLimits.t/Math.cos(furthestAngles.t);var radiusReductionBottom=-Math.max(furthestLimits.b-me.height,0)/Math.cos(furthestAngles.b);radiusReductionLeft=numberOrZero(radiusReductionLeft);radiusReductionRight=numberOrZero(radiusReductionRight);radiusReductionTop=numberOrZero(radiusReductionTop);radiusReductionBottom=numberOrZero(radiusReductionBottom);me.drawingArea=Math.min(Math.round(largestPossibleRadius-(radiusReductionLeft+radiusReductionRight)/2),Math.round(largestPossibleRadius-(radiusReductionTop+radiusReductionBottom)/2));me.setCenterPoint(radiusReductionLeft,radiusReductionRight,radiusReductionTop,radiusReductionBottom);},setCenterPoint:function setCenterPoint(leftMovement,rightMovement,topMovement,bottomMovement){var me=this;var maxRight=me.width-rightMovement-me.drawingArea;var maxLeft=leftMovement+me.drawingArea;var maxTop=topMovement+me.drawingArea;var maxBottom=me.height-bottomMovement-me.drawingArea;me.xCenter=Math.round((maxLeft+maxRight)/2+me.left);me.yCenter=Math.round((maxTop+maxBottom)/2+me.top);},getIndexAngle:function getIndexAngle(index){var angleMultiplier=Math.PI*2/getValueCount(this);var startAngle=this.chart.options&&this.chart.options.startAngle?this.chart.options.startAngle:0;var startAngleRadians=startAngle*Math.PI*2/360;// Start from the top instead of right, so remove a quarter of the circle
return index*angleMultiplier+startAngleRadians;},getDistanceFromCenterForValue:function getDistanceFromCenterForValue(value){var me=this;if(value===null){return 0;// null always in center
}// Take into account half font size + the yPadding of the top value
var scalingFactor=me.drawingArea/(me.max-me.min);if(me.options.ticks.reverse){return(me.max-value)*scalingFactor;}return(value-me.min)*scalingFactor;},getPointPosition:function getPointPosition(index,distanceFromCenter){var me=this;var thisAngle=me.getIndexAngle(index)-Math.PI/2;return{x:Math.round(Math.cos(thisAngle)*distanceFromCenter)+me.xCenter,y:Math.round(Math.sin(thisAngle)*distanceFromCenter)+me.yCenter};},getPointPositionForValue:function getPointPositionForValue(index,value){return this.getPointPosition(index,this.getDistanceFromCenterForValue(value));},getBasePosition:function getBasePosition(){var me=this;var min=me.min;var max=me.max;return me.getPointPositionForValue(0,me.beginAtZero?0:min<0&&max<0?max:min>0&&max>0?min:0);},draw:function draw(){var me=this;var opts=me.options;var gridLineOpts=opts.gridLines;var tickOpts=opts.ticks;var valueOrDefault=helpers.valueOrDefault;if(opts.display){var ctx=me.ctx;var startAngle=this.getIndexAngle(0);// Tick Font
var tickFontSize=valueOrDefault(tickOpts.fontSize,globalDefaults.defaultFontSize);var tickFontStyle=valueOrDefault(tickOpts.fontStyle,globalDefaults.defaultFontStyle);var tickFontFamily=valueOrDefault(tickOpts.fontFamily,globalDefaults.defaultFontFamily);var tickLabelFont=helpers.fontString(tickFontSize,tickFontStyle,tickFontFamily);helpers.each(me.ticks,function(label,index){// Don't draw a centre value (if it is minimum)
if(index>0||tickOpts.reverse){var yCenterOffset=me.getDistanceFromCenterForValue(me.ticksAsNumbers[index]);// Draw circular lines around the scale
if(gridLineOpts.display&&index!==0){drawRadiusLine(me,gridLineOpts,yCenterOffset,index);}if(tickOpts.display){var tickFontColor=valueOrDefault(tickOpts.fontColor,globalDefaults.defaultFontColor);ctx.font=tickLabelFont;ctx.save();ctx.translate(me.xCenter,me.yCenter);ctx.rotate(startAngle);if(tickOpts.showLabelBackdrop){var labelWidth=ctx.measureText(label).width;ctx.fillStyle=tickOpts.backdropColor;ctx.fillRect(-labelWidth/2-tickOpts.backdropPaddingX,-yCenterOffset-tickFontSize/2-tickOpts.backdropPaddingY,labelWidth+tickOpts.backdropPaddingX*2,tickFontSize+tickOpts.backdropPaddingY*2);}ctx.textAlign='center';ctx.textBaseline='middle';ctx.fillStyle=tickFontColor;ctx.fillText(label,0,-yCenterOffset);ctx.restore();}}});if(opts.angleLines.display||opts.pointLabels.display){drawPointLabels(me);}}}});scaleService.registerScaleType('radialLinear',LinearRadialScale,defaultConfig);};/***/},/* 201 *//***/function(module,exports,__webpack_require__){"use strict";/* global window: false */var moment=__webpack_require__(0);moment=typeof moment==='function'?moment:window.moment;var defaults=__webpack_require__(2);var helpers=__webpack_require__(1);var Scale=__webpack_require__(11);var scaleService=__webpack_require__(4);// Integer constants are from the ES6 spec.
var MIN_INTEGER=Number.MIN_SAFE_INTEGER||-9007199254740991;var MAX_INTEGER=Number.MAX_SAFE_INTEGER||9007199254740991;var INTERVALS={millisecond:{common:true,size:1,steps:[1,2,5,10,20,50,100,250,500]},second:{common:true,size:1000,steps:[1,2,5,10,15,30]},minute:{common:true,size:60000,steps:[1,2,5,10,15,30]},hour:{common:true,size:3600000,steps:[1,2,3,6,12]},day:{common:true,size:86400000,steps:[1,2,5]},week:{common:false,size:604800000,steps:[1,2,3,4]},month:{common:true,size:2.628e9,steps:[1,2,3]},quarter:{common:false,size:7.884e9,steps:[1,2,3,4]},year:{common:true,size:3.154e10}};var UNITS=Object.keys(INTERVALS);function sorter(a,b){return a-b;}function arrayUnique(items){var hash={};var out=[];var i,ilen,item;for(i=0,ilen=items.length;i<ilen;++i){item=items[i];if(!hash[item]){hash[item]=true;out.push(item);}}return out;}/**
 * Returns an array of {time, pos} objects used to interpolate a specific `time` or position
 * (`pos`) on the scale, by searching entries before and after the requested value. `pos` is
 * a decimal between 0 and 1: 0 being the start of the scale (left or top) and 1 the other
 * extremity (left + width or top + height). Note that it would be more optimized to directly
 * store pre-computed pixels, but the scale dimensions are not guaranteed at the time we need
 * to create the lookup table. The table ALWAYS contains at least two items: min and max.
 *
 * @param {Number[]} timestamps - timestamps sorted from lowest to highest.
 * @param {String} distribution - If 'linear', timestamps will be spread linearly along the min
 * and max range, so basically, the table will contains only two items: {min, 0} and {max, 1}.
 * If 'series', timestamps will be positioned at the same distance from each other. In this
 * case, only timestamps that break the time linearity are registered, meaning that in the
 * best case, all timestamps are linear, the table contains only min and max.
 */function buildLookupTable(timestamps,min,max,distribution){if(distribution==='linear'||!timestamps.length){return[{time:min,pos:0},{time:max,pos:1}];}var table=[];var items=[min];var i,ilen,prev,curr,next;for(i=0,ilen=timestamps.length;i<ilen;++i){curr=timestamps[i];if(curr>min&&curr<max){items.push(curr);}}items.push(max);for(i=0,ilen=items.length;i<ilen;++i){next=items[i+1];prev=items[i-1];curr=items[i];// only add points that breaks the scale linearity
if(prev===undefined||next===undefined||Math.round((next+prev)/2)!==curr){table.push({time:curr,pos:i/(ilen-1)});}}return table;}// @see adapted from http://www.anujgakhar.com/2014/03/01/binary-search-in-javascript/
function lookup(table,key,value){var lo=0;var hi=table.length-1;var mid,i0,i1;while(lo>=0&&lo<=hi){mid=lo+hi>>1;i0=table[mid-1]||null;i1=table[mid];if(!i0){// given value is outside table (before first item)
return{lo:null,hi:i1};}else if(i1[key]<value){lo=mid+1;}else if(i0[key]>value){hi=mid-1;}else{return{lo:i0,hi:i1};}}// given value is outside table (after last item)
return{lo:i1,hi:null};}/**
 * Linearly interpolates the given source `value` using the table items `skey` values and
 * returns the associated `tkey` value. For example, interpolate(table, 'time', 42, 'pos')
 * returns the position for a timestamp equal to 42. If value is out of bounds, values at
 * index [0, 1] or [n - 1, n] are used for the interpolation.
 */function interpolate(table,skey,sval,tkey){var range=lookup(table,skey,sval);// Note: the lookup table ALWAYS contains at least 2 items (min and max)
var prev=!range.lo?table[0]:!range.hi?table[table.length-2]:range.lo;var next=!range.lo?table[1]:!range.hi?table[table.length-1]:range.hi;var span=next[skey]-prev[skey];var ratio=span?(sval-prev[skey])/span:0;var offset=(next[tkey]-prev[tkey])*ratio;return prev[tkey]+offset;}/**
 * Convert the given value to a moment object using the given time options.
 * @see http://momentjs.com/docs/#/parsing/
 */function momentify(value,options){var parser=options.parser;var format=options.parser||options.format;if(typeof parser==='function'){return parser(value);}if(typeof value==='string'&&typeof format==='string'){return moment(value,format);}if(!(value instanceof moment)){value=moment(value);}if(value.isValid()){return value;}// Labels are in an incompatible moment format and no `parser` has been provided.
// The user might still use the deprecated `format` option to convert his inputs.
if(typeof format==='function'){return format(value);}return value;}function parse(input,scale){if(helpers.isNullOrUndef(input)){return null;}var options=scale.options.time;var value=momentify(scale.getRightValue(input),options);if(!value.isValid()){return null;}if(options.round){value.startOf(options.round);}return value.valueOf();}/**
 * Returns the number of unit to skip to be able to display up to `capacity` number of ticks
 * in `unit` for the given `min` / `max` range and respecting the interval steps constraints.
 */function determineStepSize(min,max,unit,capacity){var range=max-min;var interval=INTERVALS[unit];var milliseconds=interval.size;var steps=interval.steps;var i,ilen,factor;if(!steps){return Math.ceil(range/(capacity*milliseconds));}for(i=0,ilen=steps.length;i<ilen;++i){factor=steps[i];if(Math.ceil(range/(milliseconds*factor))<=capacity){break;}}return factor;}/**
 * Figures out what unit results in an appropriate number of auto-generated ticks
 */function determineUnitForAutoTicks(minUnit,min,max,capacity){var ilen=UNITS.length;var i,interval,factor;for(i=UNITS.indexOf(minUnit);i<ilen-1;++i){interval=INTERVALS[UNITS[i]];factor=interval.steps?interval.steps[interval.steps.length-1]:MAX_INTEGER;if(interval.common&&Math.ceil((max-min)/(factor*interval.size))<=capacity){return UNITS[i];}}return UNITS[ilen-1];}/**
 * Figures out what unit to format a set of ticks with
 */function determineUnitForFormatting(ticks,minUnit,min,max){var duration=moment.duration(moment(max).diff(moment(min)));var ilen=UNITS.length;var i,unit;for(i=ilen-1;i>=UNITS.indexOf(minUnit);i--){unit=UNITS[i];if(INTERVALS[unit].common&&duration.as(unit)>=ticks.length){return unit;}}return UNITS[minUnit?UNITS.indexOf(minUnit):0];}function determineMajorUnit(unit){for(var i=UNITS.indexOf(unit)+1,ilen=UNITS.length;i<ilen;++i){if(INTERVALS[UNITS[i]].common){return UNITS[i];}}}/**
 * Generates a maximum of `capacity` timestamps between min and max, rounded to the
 * `minor` unit, aligned on the `major` unit and using the given scale time `options`.
 * Important: this method can return ticks outside the min and max range, it's the
 * responsibility of the calling code to clamp values if needed.
 */function generate(min,max,capacity,options){var timeOpts=options.time;var minor=timeOpts.unit||determineUnitForAutoTicks(timeOpts.minUnit,min,max,capacity);var major=determineMajorUnit(minor);var stepSize=helpers.valueOrDefault(timeOpts.stepSize,timeOpts.unitStepSize);var weekday=minor==='week'?timeOpts.isoWeekday:false;var majorTicksEnabled=options.ticks.major.enabled;var interval=INTERVALS[minor];var first=moment(min);var last=moment(max);var ticks=[];var time;if(!stepSize){stepSize=determineStepSize(min,max,minor,capacity);}// For 'week' unit, handle the first day of week option
if(weekday){first=first.isoWeekday(weekday);last=last.isoWeekday(weekday);}// Align first/last ticks on unit
first=first.startOf(weekday?'day':minor);last=last.startOf(weekday?'day':minor);// Make sure that the last tick include max
if(last<max){last.add(1,minor);}time=moment(first);if(majorTicksEnabled&&major&&!weekday&&!timeOpts.round){// Align the first tick on the previous `minor` unit aligned on the `major` unit:
// we first aligned time on the previous `major` unit then add the number of full
// stepSize there is between first and the previous major time.
time.startOf(major);time.add(~~((first-time)/(interval.size*stepSize))*stepSize,minor);}for(;time<last;time.add(stepSize,minor)){ticks.push(+time);}ticks.push(+time);return ticks;}/**
 * Returns the right and left offsets from edges in the form of {left, right}.
 * Offsets are added when the `offset` option is true.
 */function computeOffsets(table,ticks,min,max,options){var left=0;var right=0;var upper,lower;if(options.offset&&ticks.length){if(!options.time.min){upper=ticks.length>1?ticks[1]:max;lower=ticks[0];left=(interpolate(table,'time',upper,'pos')-interpolate(table,'time',lower,'pos'))/2;}if(!options.time.max){upper=ticks[ticks.length-1];lower=ticks.length>1?ticks[ticks.length-2]:min;right=(interpolate(table,'time',upper,'pos')-interpolate(table,'time',lower,'pos'))/2;}}return{left:left,right:right};}function ticksFromTimestamps(values,majorUnit){var ticks=[];var i,ilen,value,major;for(i=0,ilen=values.length;i<ilen;++i){value=values[i];major=majorUnit?value===+moment(value).startOf(majorUnit):false;ticks.push({value:value,major:major});}return ticks;}function determineLabelFormat(data,timeOpts){var i,momentDate,hasTime;var ilen=data.length;// find the label with the most parts (milliseconds, minutes, etc.)
// format all labels with the same level of detail as the most specific label
for(i=0;i<ilen;i++){momentDate=momentify(data[i],timeOpts);if(momentDate.millisecond()!==0){return'MMM D, YYYY h:mm:ss.SSS a';}if(momentDate.second()!==0||momentDate.minute()!==0||momentDate.hour()!==0){hasTime=true;}}if(hasTime){return'MMM D, YYYY h:mm:ss a';}return'MMM D, YYYY';}module.exports=function(){var defaultConfig={position:'bottom',/**
		 * Data distribution along the scale:
		 * - 'linear': data are spread according to their time (distances can vary),
		 * - 'series': data are spread at the same distance from each other.
		 * @see https://github.com/chartjs/Chart.js/pull/4507
		 * @since 2.7.0
		 */distribution:'linear',/**
		 * Scale boundary strategy (bypassed by min/max time options)
		 * - `data`: make sure data are fully visible, ticks outside are removed
		 * - `ticks`: make sure ticks are fully visible, data outside are truncated
		 * @see https://github.com/chartjs/Chart.js/pull/4556
		 * @since 2.7.0
		 */bounds:'data',time:{parser:false,// false == a pattern string from http://momentjs.com/docs/#/parsing/string-format/ or a custom callback that converts its argument to a moment
format:false,// DEPRECATED false == date objects, moment object, callback or a pattern string from http://momentjs.com/docs/#/parsing/string-format/
unit:false,// false == automatic or override with week, month, year, etc.
round:false,// none, or override with week, month, year, etc.
displayFormat:false,// DEPRECATED
isoWeekday:false,// override week start day - see http://momentjs.com/docs/#/get-set/iso-weekday/
minUnit:'millisecond',// defaults to unit's corresponding unitFormat below or override using pattern string from http://momentjs.com/docs/#/displaying/format/
displayFormats:{millisecond:'h:mm:ss.SSS a',// 11:20:01.123 AM,
second:'h:mm:ss a',// 11:20:01 AM
minute:'h:mm a',// 11:20 AM
hour:'hA',// 5PM
day:'MMM D',// Sep 4
week:'ll',// Week 46, or maybe "[W]WW - YYYY" ?
month:'MMM YYYY',// Sept 2015
quarter:'[Q]Q - YYYY',// Q3
year:'YYYY'// 2015
}},ticks:{autoSkip:false,/**
			 * Ticks generation input values:
			 * - 'auto': generates "optimal" ticks based on scale size and time options.
			 * - 'data': generates ticks from data (including labels from data {t|x|y} objects).
			 * - 'labels': generates ticks from user given `data.labels` values ONLY.
			 * @see https://github.com/chartjs/Chart.js/pull/4507
			 * @since 2.7.0
			 */source:'auto',major:{enabled:false}}};var TimeScale=Scale.extend({initialize:function initialize(){if(!moment){throw new Error('Chart.js - Moment.js could not be found! You must include it before Chart.js to use the time scale. Download at https://momentjs.com');}this.mergeTicksOptions();Scale.prototype.initialize.call(this);},update:function update(){var me=this;var options=me.options;// DEPRECATIONS: output a message only one time per update
if(options.time&&options.time.format){console.warn('options.time.format is deprecated and replaced by options.time.parser.');}return Scale.prototype.update.apply(me,arguments);},/**
		 * Allows data to be referenced via 't' attribute
		 */getRightValue:function getRightValue(rawValue){if(rawValue&&rawValue.t!==undefined){rawValue=rawValue.t;}return Scale.prototype.getRightValue.call(this,rawValue);},determineDataLimits:function determineDataLimits(){var me=this;var chart=me.chart;var timeOpts=me.options.time;var unit=timeOpts.unit||'day';var min=MAX_INTEGER;var max=MIN_INTEGER;var timestamps=[];var datasets=[];var labels=[];var i,j,ilen,jlen,data,timestamp;// Convert labels to timestamps
for(i=0,ilen=chart.data.labels.length;i<ilen;++i){labels.push(parse(chart.data.labels[i],me));}// Convert data to timestamps
for(i=0,ilen=(chart.data.datasets||[]).length;i<ilen;++i){if(chart.isDatasetVisible(i)){data=chart.data.datasets[i].data;// Let's consider that all data have the same format.
if(helpers.isObject(data[0])){datasets[i]=[];for(j=0,jlen=data.length;j<jlen;++j){timestamp=parse(data[j],me);timestamps.push(timestamp);datasets[i][j]=timestamp;}}else{timestamps.push.apply(timestamps,labels);datasets[i]=labels.slice(0);}}else{datasets[i]=[];}}if(labels.length){// Sort labels **after** data have been converted
labels=arrayUnique(labels).sort(sorter);min=Math.min(min,labels[0]);max=Math.max(max,labels[labels.length-1]);}if(timestamps.length){timestamps=arrayUnique(timestamps).sort(sorter);min=Math.min(min,timestamps[0]);max=Math.max(max,timestamps[timestamps.length-1]);}min=parse(timeOpts.min,me)||min;max=parse(timeOpts.max,me)||max;// In case there is no valid min/max, set limits based on unit time option
min=min===MAX_INTEGER?+moment().startOf(unit):min;max=max===MIN_INTEGER?+moment().endOf(unit)+1:max;// Make sure that max is strictly higher than min (required by the lookup table)
me.min=Math.min(min,max);me.max=Math.max(min+1,max);// PRIVATE
me._horizontal=me.isHorizontal();me._table=[];me._timestamps={data:timestamps,datasets:datasets,labels:labels};},buildTicks:function buildTicks(){var me=this;var min=me.min;var max=me.max;var options=me.options;var timeOpts=options.time;var timestamps=[];var ticks=[];var i,ilen,timestamp;switch(options.ticks.source){case'data':timestamps=me._timestamps.data;break;case'labels':timestamps=me._timestamps.labels;break;case'auto':default:timestamps=generate(min,max,me.getLabelCapacity(min),options);}if(options.bounds==='ticks'&&timestamps.length){min=timestamps[0];max=timestamps[timestamps.length-1];}// Enforce limits with user min/max options
min=parse(timeOpts.min,me)||min;max=parse(timeOpts.max,me)||max;// Remove ticks outside the min/max range
for(i=0,ilen=timestamps.length;i<ilen;++i){timestamp=timestamps[i];if(timestamp>=min&&timestamp<=max){ticks.push(timestamp);}}me.min=min;me.max=max;// PRIVATE
me._unit=timeOpts.unit||determineUnitForFormatting(ticks,timeOpts.minUnit,me.min,me.max);me._majorUnit=determineMajorUnit(me._unit);me._table=buildLookupTable(me._timestamps.data,min,max,options.distribution);me._offsets=computeOffsets(me._table,ticks,min,max,options);me._labelFormat=determineLabelFormat(me._timestamps.data,timeOpts);return ticksFromTimestamps(ticks,me._majorUnit);},getLabelForIndex:function getLabelForIndex(index,datasetIndex){var me=this;var data=me.chart.data;var timeOpts=me.options.time;var label=data.labels&&index<data.labels.length?data.labels[index]:'';var value=data.datasets[datasetIndex].data[index];if(helpers.isObject(value)){label=me.getRightValue(value);}if(timeOpts.tooltipFormat){return momentify(label,timeOpts).format(timeOpts.tooltipFormat);}if(typeof label==='string'){return label;}return momentify(label,timeOpts).format(me._labelFormat);},/**
		 * Function to format an individual tick mark
		 * @private
		 */tickFormatFunction:function tickFormatFunction(tick,index,ticks,formatOverride){var me=this;var options=me.options;var time=tick.valueOf();var formats=options.time.displayFormats;var minorFormat=formats[me._unit];var majorUnit=me._majorUnit;var majorFormat=formats[majorUnit];var majorTime=tick.clone().startOf(majorUnit).valueOf();var majorTickOpts=options.ticks.major;var major=majorTickOpts.enabled&&majorUnit&&majorFormat&&time===majorTime;var label=tick.format(formatOverride?formatOverride:major?majorFormat:minorFormat);var tickOpts=major?majorTickOpts:options.ticks.minor;var formatter=helpers.valueOrDefault(tickOpts.callback,tickOpts.userCallback);return formatter?formatter(label,index,ticks):label;},convertTicksToLabels:function convertTicksToLabels(ticks){var labels=[];var i,ilen;for(i=0,ilen=ticks.length;i<ilen;++i){labels.push(this.tickFormatFunction(moment(ticks[i].value),i,ticks));}return labels;},/**
		 * @private
		 */getPixelForOffset:function getPixelForOffset(time){var me=this;var size=me._horizontal?me.width:me.height;var start=me._horizontal?me.left:me.top;var pos=interpolate(me._table,'time',time,'pos');return start+size*(me._offsets.left+pos)/(me._offsets.left+1+me._offsets.right);},getPixelForValue:function getPixelForValue(value,index,datasetIndex){var me=this;var time=null;if(index!==undefined&&datasetIndex!==undefined){time=me._timestamps.datasets[datasetIndex][index];}if(time===null){time=parse(value,me);}if(time!==null){return me.getPixelForOffset(time);}},getPixelForTick:function getPixelForTick(index){var ticks=this.getTicks();return index>=0&&index<ticks.length?this.getPixelForOffset(ticks[index].value):null;},getValueForPixel:function getValueForPixel(pixel){var me=this;var size=me._horizontal?me.width:me.height;var start=me._horizontal?me.left:me.top;var pos=(size?(pixel-start)/size:0)*(me._offsets.left+1+me._offsets.left)-me._offsets.right;var time=interpolate(me._table,'pos',pos,'time');return moment(time);},/**
		 * Crude approximation of what the label width might be
		 * @private
		 */getLabelWidth:function getLabelWidth(label){var me=this;var ticksOpts=me.options.ticks;var tickLabelWidth=me.ctx.measureText(label).width;var angle=helpers.toRadians(ticksOpts.maxRotation);var cosRotation=Math.cos(angle);var sinRotation=Math.sin(angle);var tickFontSize=helpers.valueOrDefault(ticksOpts.fontSize,defaults.global.defaultFontSize);return tickLabelWidth*cosRotation+tickFontSize*sinRotation;},/**
		 * @private
		 */getLabelCapacity:function getLabelCapacity(exampleTime){var me=this;var formatOverride=me.options.time.displayFormats.millisecond;// Pick the longest format for guestimation
var exampleLabel=me.tickFormatFunction(moment(exampleTime),0,[],formatOverride);var tickLabelWidth=me.getLabelWidth(exampleLabel);var innerWidth=me.isHorizontal()?me.width:me.height;var capacity=Math.floor(innerWidth/tickLabelWidth);return capacity>0?capacity:1;}});scaleService.registerScaleType('time',TimeScale,defaultConfig);};/***/},/* 202 *//***/function(module,exports){module.exports=function(module){if(!module.webpackPolyfill){module.deprecate=function(){};module.paths=[];// module.parent = undefined by default
if(!module.children)module.children=[];Object.defineProperty(module,"loaded",{enumerable:true,get:function get(){return module.l;}});Object.defineProperty(module,"id",{enumerable:true,get:function get(){return module.i;}});module.webpackPolyfill=1;}return module;};/***/},/* 203 *//***/function(module,exports,__webpack_require__){var map={"./af":27,"./af.js":27,"./ar":28,"./ar-dz":29,"./ar-dz.js":29,"./ar-kw":30,"./ar-kw.js":30,"./ar-ly":31,"./ar-ly.js":31,"./ar-ma":32,"./ar-ma.js":32,"./ar-sa":33,"./ar-sa.js":33,"./ar-tn":34,"./ar-tn.js":34,"./ar.js":28,"./az":35,"./az.js":35,"./be":36,"./be.js":36,"./bg":37,"./bg.js":37,"./bm":38,"./bm.js":38,"./bn":39,"./bn.js":39,"./bo":40,"./bo.js":40,"./br":41,"./br.js":41,"./bs":42,"./bs.js":42,"./ca":43,"./ca.js":43,"./cs":44,"./cs.js":44,"./cv":45,"./cv.js":45,"./cy":46,"./cy.js":46,"./da":47,"./da.js":47,"./de":48,"./de-at":49,"./de-at.js":49,"./de-ch":50,"./de-ch.js":50,"./de.js":48,"./dv":51,"./dv.js":51,"./el":52,"./el.js":52,"./en-au":53,"./en-au.js":53,"./en-ca":54,"./en-ca.js":54,"./en-gb":55,"./en-gb.js":55,"./en-ie":56,"./en-ie.js":56,"./en-il":57,"./en-il.js":57,"./en-nz":58,"./en-nz.js":58,"./eo":59,"./eo.js":59,"./es":60,"./es-do":61,"./es-do.js":61,"./es-us":62,"./es-us.js":62,"./es.js":60,"./et":63,"./et.js":63,"./eu":64,"./eu.js":64,"./fa":65,"./fa.js":65,"./fi":66,"./fi.js":66,"./fo":67,"./fo.js":67,"./fr":68,"./fr-ca":69,"./fr-ca.js":69,"./fr-ch":70,"./fr-ch.js":70,"./fr.js":68,"./fy":71,"./fy.js":71,"./gd":72,"./gd.js":72,"./gl":73,"./gl.js":73,"./gom-latn":74,"./gom-latn.js":74,"./gu":75,"./gu.js":75,"./he":76,"./he.js":76,"./hi":77,"./hi.js":77,"./hr":78,"./hr.js":78,"./hu":79,"./hu.js":79,"./hy-am":80,"./hy-am.js":80,"./id":81,"./id.js":81,"./is":82,"./is.js":82,"./it":83,"./it.js":83,"./ja":84,"./ja.js":84,"./jv":85,"./jv.js":85,"./ka":86,"./ka.js":86,"./kk":87,"./kk.js":87,"./km":88,"./km.js":88,"./kn":89,"./kn.js":89,"./ko":90,"./ko.js":90,"./ku":91,"./ku.js":91,"./ky":92,"./ky.js":92,"./lb":93,"./lb.js":93,"./lo":94,"./lo.js":94,"./lt":95,"./lt.js":95,"./lv":96,"./lv.js":96,"./me":97,"./me.js":97,"./mi":98,"./mi.js":98,"./mk":99,"./mk.js":99,"./ml":100,"./ml.js":100,"./mn":101,"./mn.js":101,"./mr":102,"./mr.js":102,"./ms":103,"./ms-my":104,"./ms-my.js":104,"./ms.js":103,"./mt":105,"./mt.js":105,"./my":106,"./my.js":106,"./nb":107,"./nb.js":107,"./ne":108,"./ne.js":108,"./nl":109,"./nl-be":110,"./nl-be.js":110,"./nl.js":109,"./nn":111,"./nn.js":111,"./pa-in":112,"./pa-in.js":112,"./pl":113,"./pl.js":113,"./pt":114,"./pt-br":115,"./pt-br.js":115,"./pt.js":114,"./ro":116,"./ro.js":116,"./ru":117,"./ru.js":117,"./sd":118,"./sd.js":118,"./se":119,"./se.js":119,"./si":120,"./si.js":120,"./sk":121,"./sk.js":121,"./sl":122,"./sl.js":122,"./sq":123,"./sq.js":123,"./sr":124,"./sr-cyrl":125,"./sr-cyrl.js":125,"./sr.js":124,"./ss":126,"./ss.js":126,"./sv":127,"./sv.js":127,"./sw":128,"./sw.js":128,"./ta":129,"./ta.js":129,"./te":130,"./te.js":130,"./tet":131,"./tet.js":131,"./tg":132,"./tg.js":132,"./th":133,"./th.js":133,"./tl-ph":134,"./tl-ph.js":134,"./tlh":135,"./tlh.js":135,"./tr":136,"./tr.js":136,"./tzl":137,"./tzl.js":137,"./tzm":138,"./tzm-latn":139,"./tzm-latn.js":139,"./tzm.js":138,"./ug-cn":140,"./ug-cn.js":140,"./uk":141,"./uk.js":141,"./ur":142,"./ur.js":142,"./uz":143,"./uz-latn":144,"./uz-latn.js":144,"./uz.js":143,"./vi":145,"./vi.js":145,"./x-pseudo":146,"./x-pseudo.js":146,"./yo":147,"./yo.js":147,"./zh-cn":148,"./zh-cn.js":148,"./zh-hk":149,"./zh-hk.js":149,"./zh-tw":150,"./zh-tw.js":150};function webpackContext(req){return __webpack_require__(webpackContextResolve(req));};function webpackContextResolve(req){var id=map[req];if(!(id+1))// check for number or string
throw new Error("Cannot find module '"+req+"'.");return id;};webpackContext.keys=function webpackContextKeys(){return Object.keys(map);};webpackContext.resolve=webpackContextResolve;module.exports=webpackContext;webpackContext.id=203;/***/},/* 204 *//***/function(module,exports,__webpack_require__){"use strict";var defaults=__webpack_require__(2);var elements=__webpack_require__(5);var helpers=__webpack_require__(1);defaults._set('bar',{hover:{mode:'label'},scales:{xAxes:[{type:'category',// Specific to Bar Controller
categoryPercentage:0.8,barPercentage:0.9,// offset settings
offset:true,// grid line settings
gridLines:{offsetGridLines:true}}],yAxes:[{type:'linear'}]}});defaults._set('horizontalBar',{hover:{mode:'index',axis:'y'},scales:{xAxes:[{type:'linear',position:'bottom'}],yAxes:[{position:'left',type:'category',// Specific to Horizontal Bar Controller
categoryPercentage:0.8,barPercentage:0.9,// offset settings
offset:true,// grid line settings
gridLines:{offsetGridLines:true}}]},elements:{rectangle:{borderSkipped:'left'}},tooltips:{callbacks:{title:function title(item,data){// Pick first xLabel for now
var title='';if(item.length>0){if(item[0].yLabel){title=item[0].yLabel;}else if(data.labels.length>0&&item[0].index<data.labels.length){title=data.labels[item[0].index];}}return title;},label:function label(item,data){var datasetLabel=data.datasets[item.datasetIndex].label||'';return datasetLabel+': '+item.xLabel;}},mode:'index',axis:'y'}});/**
 * Computes the "optimal" sample size to maintain bars equally sized while preventing overlap.
 * @private
 */function computeMinSampleSize(scale,pixels){var min=scale.isHorizontal()?scale.width:scale.height;var ticks=scale.getTicks();var prev,curr,i,ilen;for(i=1,ilen=pixels.length;i<ilen;++i){min=Math.min(min,pixels[i]-pixels[i-1]);}for(i=0,ilen=ticks.length;i<ilen;++i){curr=scale.getPixelForTick(i);min=i>0?Math.min(min,curr-prev):min;prev=curr;}return min;}/**
 * Computes an "ideal" category based on the absolute bar thickness or, if undefined or null,
 * uses the smallest interval (see computeMinSampleSize) that prevents bar overlapping. This
 * mode currently always generates bars equally sized (until we introduce scriptable options?).
 * @private
 */function computeFitCategoryTraits(index,ruler,options){var thickness=options.barThickness;var count=ruler.stackCount;var curr=ruler.pixels[index];var size,ratio;if(helpers.isNullOrUndef(thickness)){size=ruler.min*options.categoryPercentage;ratio=options.barPercentage;}else{// When bar thickness is enforced, category and bar percentages are ignored.
// Note(SB): we could add support for relative bar thickness (e.g. barThickness: '50%')
// and deprecate barPercentage since this value is ignored when thickness is absolute.
size=thickness*count;ratio=1;}return{chunk:size/count,ratio:ratio,start:curr-size/2};}/**
 * Computes an "optimal" category that globally arranges bars side by side (no gap when
 * percentage options are 1), based on the previous and following categories. This mode
 * generates bars with different widths when data are not evenly spaced.
 * @private
 */function computeFlexCategoryTraits(index,ruler,options){var pixels=ruler.pixels;var curr=pixels[index];var prev=index>0?pixels[index-1]:null;var next=index<pixels.length-1?pixels[index+1]:null;var percent=options.categoryPercentage;var start,size;if(prev===null){// first data: its size is double based on the next point or,
// if it's also the last data, we use the scale end extremity.
prev=curr-(next===null?ruler.end-curr:next-curr);}if(next===null){// last data: its size is also double based on the previous point.
next=curr+curr-prev;}start=curr-(curr-prev)/2*percent;size=(next-prev)/2*percent;return{chunk:size/ruler.stackCount,ratio:options.barPercentage,start:start};}module.exports=function(Chart){Chart.controllers.bar=Chart.DatasetController.extend({dataElementType:elements.Rectangle,initialize:function initialize(){var me=this;var meta;Chart.DatasetController.prototype.initialize.apply(me,arguments);meta=me.getMeta();meta.stack=me.getDataset().stack;meta.bar=true;},update:function update(reset){var me=this;var rects=me.getMeta().data;var i,ilen;me._ruler=me.getRuler();for(i=0,ilen=rects.length;i<ilen;++i){me.updateElement(rects[i],i,reset);}},updateElement:function updateElement(rectangle,index,reset){var me=this;var chart=me.chart;var meta=me.getMeta();var dataset=me.getDataset();var custom=rectangle.custom||{};var rectangleOptions=chart.options.elements.rectangle;rectangle._xScale=me.getScaleForId(meta.xAxisID);rectangle._yScale=me.getScaleForId(meta.yAxisID);rectangle._datasetIndex=me.index;rectangle._index=index;rectangle._model={datasetLabel:dataset.label,label:chart.data.labels[index],borderSkipped:custom.borderSkipped?custom.borderSkipped:rectangleOptions.borderSkipped,backgroundColor:custom.backgroundColor?custom.backgroundColor:helpers.valueAtIndexOrDefault(dataset.backgroundColor,index,rectangleOptions.backgroundColor),borderColor:custom.borderColor?custom.borderColor:helpers.valueAtIndexOrDefault(dataset.borderColor,index,rectangleOptions.borderColor),borderWidth:custom.borderWidth?custom.borderWidth:helpers.valueAtIndexOrDefault(dataset.borderWidth,index,rectangleOptions.borderWidth)};me.updateElementGeometry(rectangle,index,reset);rectangle.pivot();},/**
		 * @private
		 */updateElementGeometry:function updateElementGeometry(rectangle,index,reset){var me=this;var model=rectangle._model;var vscale=me.getValueScale();var base=vscale.getBasePixel();var horizontal=vscale.isHorizontal();var ruler=me._ruler||me.getRuler();var vpixels=me.calculateBarValuePixels(me.index,index);var ipixels=me.calculateBarIndexPixels(me.index,index,ruler);model.horizontal=horizontal;model.base=reset?base:vpixels.base;model.x=horizontal?reset?base:vpixels.head:ipixels.center;model.y=horizontal?ipixels.center:reset?base:vpixels.head;model.height=horizontal?ipixels.size:undefined;model.width=horizontal?undefined:ipixels.size;},/**
		 * @private
		 */getValueScaleId:function getValueScaleId(){return this.getMeta().yAxisID;},/**
		 * @private
		 */getIndexScaleId:function getIndexScaleId(){return this.getMeta().xAxisID;},/**
		 * @private
		 */getValueScale:function getValueScale(){return this.getScaleForId(this.getValueScaleId());},/**
		 * @private
		 */getIndexScale:function getIndexScale(){return this.getScaleForId(this.getIndexScaleId());},/**
		 * Returns the stacks based on groups and bar visibility.
		 * @param {Number} [last] - The dataset index
		 * @returns {Array} The stack list
		 * @private
		 */_getStacks:function _getStacks(last){var me=this;var chart=me.chart;var scale=me.getIndexScale();var stacked=scale.options.stacked;var ilen=last===undefined?chart.data.datasets.length:last+1;var stacks=[];var i,meta;for(i=0;i<ilen;++i){meta=chart.getDatasetMeta(i);if(meta.bar&&chart.isDatasetVisible(i)&&(stacked===false||stacked===true&&stacks.indexOf(meta.stack)===-1||stacked===undefined&&(meta.stack===undefined||stacks.indexOf(meta.stack)===-1))){stacks.push(meta.stack);}}return stacks;},/**
		 * Returns the effective number of stacks based on groups and bar visibility.
		 * @private
		 */getStackCount:function getStackCount(){return this._getStacks().length;},/**
		 * Returns the stack index for the given dataset based on groups and bar visibility.
		 * @param {Number} [datasetIndex] - The dataset index
		 * @param {String} [name] - The stack name to find
		 * @returns {Number} The stack index
		 * @private
		 */getStackIndex:function getStackIndex(datasetIndex,name){var stacks=this._getStacks(datasetIndex);var index=name!==undefined?stacks.indexOf(name):-1;// indexOf returns -1 if element is not present
return index===-1?stacks.length-1:index;},/**
		 * @private
		 */getRuler:function getRuler(){var me=this;var scale=me.getIndexScale();var stackCount=me.getStackCount();var datasetIndex=me.index;var isHorizontal=scale.isHorizontal();var start=isHorizontal?scale.left:scale.top;var end=start+(isHorizontal?scale.width:scale.height);var pixels=[];var i,ilen,min;for(i=0,ilen=me.getMeta().data.length;i<ilen;++i){pixels.push(scale.getPixelForValue(null,i,datasetIndex));}min=helpers.isNullOrUndef(scale.options.barThickness)?computeMinSampleSize(scale,pixels):-1;return{min:min,pixels:pixels,start:start,end:end,stackCount:stackCount,scale:scale};},/**
		 * Note: pixel values are not clamped to the scale area.
		 * @private
		 */calculateBarValuePixels:function calculateBarValuePixels(datasetIndex,index){var me=this;var chart=me.chart;var meta=me.getMeta();var scale=me.getValueScale();var datasets=chart.data.datasets;var value=scale.getRightValue(datasets[datasetIndex].data[index]);var stacked=scale.options.stacked;var stack=meta.stack;var start=0;var i,imeta,ivalue,base,head,size;if(stacked||stacked===undefined&&stack!==undefined){for(i=0;i<datasetIndex;++i){imeta=chart.getDatasetMeta(i);if(imeta.bar&&imeta.stack===stack&&imeta.controller.getValueScaleId()===scale.id&&chart.isDatasetVisible(i)){ivalue=scale.getRightValue(datasets[i].data[index]);if(value<0&&ivalue<0||value>=0&&ivalue>0){start+=ivalue;}}}}base=scale.getPixelForValue(start);head=scale.getPixelForValue(start+value);size=(head-base)/2;return{size:size,base:base,head:head,center:head+size/2};},/**
		 * @private
		 */calculateBarIndexPixels:function calculateBarIndexPixels(datasetIndex,index,ruler){var me=this;var options=ruler.scale.options;var range=options.barThickness==='flex'?computeFlexCategoryTraits(index,ruler,options):computeFitCategoryTraits(index,ruler,options);var stackIndex=me.getStackIndex(datasetIndex,me.getMeta().stack);var center=range.start+range.chunk*stackIndex+range.chunk/2;var size=Math.min(helpers.valueOrDefault(options.maxBarThickness,Infinity),range.chunk*range.ratio);return{base:center-size/2,head:center+size/2,center:center,size:size};},draw:function draw(){var me=this;var chart=me.chart;var scale=me.getValueScale();var rects=me.getMeta().data;var dataset=me.getDataset();var ilen=rects.length;var i=0;helpers.canvas.clipArea(chart.ctx,chart.chartArea);for(;i<ilen;++i){if(!isNaN(scale.getRightValue(dataset.data[i]))){rects[i].draw();}}helpers.canvas.unclipArea(chart.ctx);}});Chart.controllers.horizontalBar=Chart.controllers.bar.extend({/**
		 * @private
		 */getValueScaleId:function getValueScaleId(){return this.getMeta().xAxisID;},/**
		 * @private
		 */getIndexScaleId:function getIndexScaleId(){return this.getMeta().yAxisID;}});};/***/},/* 205 *//***/function(module,exports,__webpack_require__){"use strict";var defaults=__webpack_require__(2);var elements=__webpack_require__(5);var helpers=__webpack_require__(1);defaults._set('bubble',{hover:{mode:'single'},scales:{xAxes:[{type:'linear',// bubble should probably use a linear scale by default
position:'bottom',id:'x-axis-0'// need an ID so datasets can reference the scale
}],yAxes:[{type:'linear',position:'left',id:'y-axis-0'}]},tooltips:{callbacks:{title:function title(){// Title doesn't make sense for scatter since we format the data as a point
return'';},label:function label(item,data){var datasetLabel=data.datasets[item.datasetIndex].label||'';var dataPoint=data.datasets[item.datasetIndex].data[item.index];return datasetLabel+': ('+item.xLabel+', '+item.yLabel+', '+dataPoint.r+')';}}}});module.exports=function(Chart){Chart.controllers.bubble=Chart.DatasetController.extend({/**
		 * @protected
		 */dataElementType:elements.Point,/**
		 * @protected
		 */update:function update(reset){var me=this;var meta=me.getMeta();var points=meta.data;// Update Points
helpers.each(points,function(point,index){me.updateElement(point,index,reset);});},/**
		 * @protected
		 */updateElement:function updateElement(point,index,reset){var me=this;var meta=me.getMeta();var custom=point.custom||{};var xScale=me.getScaleForId(meta.xAxisID);var yScale=me.getScaleForId(meta.yAxisID);var options=me._resolveElementOptions(point,index);var data=me.getDataset().data[index];var dsIndex=me.index;var x=reset?xScale.getPixelForDecimal(0.5):xScale.getPixelForValue((typeof data==='undefined'?'undefined':_typeof2(data))==='object'?data:NaN,index,dsIndex);var y=reset?yScale.getBasePixel():yScale.getPixelForValue(data,index,dsIndex);point._xScale=xScale;point._yScale=yScale;point._options=options;point._datasetIndex=dsIndex;point._index=index;point._model={backgroundColor:options.backgroundColor,borderColor:options.borderColor,borderWidth:options.borderWidth,hitRadius:options.hitRadius,pointStyle:options.pointStyle,rotation:options.rotation,radius:reset?0:options.radius,skip:custom.skip||isNaN(x)||isNaN(y),x:x,y:y};point.pivot();},/**
		 * @protected
		 */setHoverStyle:function setHoverStyle(point){var model=point._model;var options=point._options;point.$previousStyle={backgroundColor:model.backgroundColor,borderColor:model.borderColor,borderWidth:model.borderWidth,radius:model.radius};model.backgroundColor=helpers.valueOrDefault(options.hoverBackgroundColor,helpers.getHoverColor(options.backgroundColor));model.borderColor=helpers.valueOrDefault(options.hoverBorderColor,helpers.getHoverColor(options.borderColor));model.borderWidth=helpers.valueOrDefault(options.hoverBorderWidth,options.borderWidth);model.radius=options.radius+options.hoverRadius;},/**
		 * @private
		 */_resolveElementOptions:function _resolveElementOptions(point,index){var me=this;var chart=me.chart;var datasets=chart.data.datasets;var dataset=datasets[me.index];var custom=point.custom||{};var options=chart.options.elements.point;var resolve=helpers.options.resolve;var data=dataset.data[index];var values={};var i,ilen,key;// Scriptable options
var context={chart:chart,dataIndex:index,dataset:dataset,datasetIndex:me.index};var keys=['backgroundColor','borderColor','borderWidth','hoverBackgroundColor','hoverBorderColor','hoverBorderWidth','hoverRadius','hitRadius','pointStyle','rotation'];for(i=0,ilen=keys.length;i<ilen;++i){key=keys[i];values[key]=resolve([custom[key],dataset[key],options[key]],context,index);}// Custom radius resolution
values.radius=resolve([custom.radius,data?data.r:undefined,dataset.radius,options.radius],context,index);return values;}});};/***/},/* 206 *//***/function(module,exports,__webpack_require__){"use strict";var defaults=__webpack_require__(2);var elements=__webpack_require__(5);var helpers=__webpack_require__(1);defaults._set('doughnut',{animation:{// Boolean - Whether we animate the rotation of the Doughnut
animateRotate:true,// Boolean - Whether we animate scaling the Doughnut from the centre
animateScale:false},hover:{mode:'single'},legendCallback:function legendCallback(chart){var text=[];text.push('<ul class="'+chart.id+'-legend">');var data=chart.data;var datasets=data.datasets;var labels=data.labels;if(datasets.length){for(var i=0;i<datasets[0].data.length;++i){text.push('<li><span style="background-color:'+datasets[0].backgroundColor[i]+'"></span>');if(labels[i]){text.push(labels[i]);}text.push('</li>');}}text.push('</ul>');return text.join('');},legend:{labels:{generateLabels:function generateLabels(chart){var data=chart.data;if(data.labels.length&&data.datasets.length){return data.labels.map(function(label,i){var meta=chart.getDatasetMeta(0);var ds=data.datasets[0];var arc=meta.data[i];var custom=arc&&arc.custom||{};var valueAtIndexOrDefault=helpers.valueAtIndexOrDefault;var arcOpts=chart.options.elements.arc;var fill=custom.backgroundColor?custom.backgroundColor:valueAtIndexOrDefault(ds.backgroundColor,i,arcOpts.backgroundColor);var stroke=custom.borderColor?custom.borderColor:valueAtIndexOrDefault(ds.borderColor,i,arcOpts.borderColor);var bw=custom.borderWidth?custom.borderWidth:valueAtIndexOrDefault(ds.borderWidth,i,arcOpts.borderWidth);return{text:label,fillStyle:fill,strokeStyle:stroke,lineWidth:bw,hidden:isNaN(ds.data[i])||meta.data[i].hidden,// Extra data used for toggling the correct item
index:i};});}return[];}},onClick:function onClick(e,legendItem){var index=legendItem.index;var chart=this.chart;var i,ilen,meta;for(i=0,ilen=(chart.data.datasets||[]).length;i<ilen;++i){meta=chart.getDatasetMeta(i);// toggle visibility of index if exists
if(meta.data[index]){meta.data[index].hidden=!meta.data[index].hidden;}}chart.update();}},// The percentage of the chart that we cut out of the middle.
cutoutPercentage:50,// The rotation of the chart, where the first data arc begins.
rotation:Math.PI*-0.5,// The total circumference of the chart.
circumference:Math.PI*2.0,// Need to override these to give a nice default
tooltips:{callbacks:{title:function title(){return'';},label:function label(tooltipItem,data){var dataLabel=data.labels[tooltipItem.index];var value=': '+data.datasets[tooltipItem.datasetIndex].data[tooltipItem.index];if(helpers.isArray(dataLabel)){// show value on first line of multiline label
// need to clone because we are changing the value
dataLabel=dataLabel.slice();dataLabel[0]+=value;}else{dataLabel+=value;}return dataLabel;}}}});defaults._set('pie',helpers.clone(defaults.doughnut));defaults._set('pie',{cutoutPercentage:0});module.exports=function(Chart){Chart.controllers.doughnut=Chart.controllers.pie=Chart.DatasetController.extend({dataElementType:elements.Arc,linkScales:helpers.noop,// Get index of the dataset in relation to the visible datasets. This allows determining the inner and outer radius correctly
getRingIndex:function getRingIndex(datasetIndex){var ringIndex=0;for(var j=0;j<datasetIndex;++j){if(this.chart.isDatasetVisible(j)){++ringIndex;}}return ringIndex;},update:function update(reset){var me=this;var chart=me.chart;var chartArea=chart.chartArea;var opts=chart.options;var arcOpts=opts.elements.arc;var availableWidth=chartArea.right-chartArea.left-arcOpts.borderWidth;var availableHeight=chartArea.bottom-chartArea.top-arcOpts.borderWidth;var minSize=Math.min(availableWidth,availableHeight);var offset={x:0,y:0};var meta=me.getMeta();var cutoutPercentage=opts.cutoutPercentage;var circumference=opts.circumference;// If the chart's circumference isn't a full circle, calculate minSize as a ratio of the width/height of the arc
if(circumference<Math.PI*2.0){var startAngle=opts.rotation%(Math.PI*2.0);startAngle+=Math.PI*2.0*(startAngle>=Math.PI?-1:startAngle<-Math.PI?1:0);var endAngle=startAngle+circumference;var start={x:Math.cos(startAngle),y:Math.sin(startAngle)};var end={x:Math.cos(endAngle),y:Math.sin(endAngle)};var contains0=startAngle<=0&&endAngle>=0||startAngle<=Math.PI*2.0&&Math.PI*2.0<=endAngle;var contains90=startAngle<=Math.PI*0.5&&Math.PI*0.5<=endAngle||startAngle<=Math.PI*2.5&&Math.PI*2.5<=endAngle;var contains180=startAngle<=-Math.PI&&-Math.PI<=endAngle||startAngle<=Math.PI&&Math.PI<=endAngle;var contains270=startAngle<=-Math.PI*0.5&&-Math.PI*0.5<=endAngle||startAngle<=Math.PI*1.5&&Math.PI*1.5<=endAngle;var cutout=cutoutPercentage/100.0;var min={x:contains180?-1:Math.min(start.x*(start.x<0?1:cutout),end.x*(end.x<0?1:cutout)),y:contains270?-1:Math.min(start.y*(start.y<0?1:cutout),end.y*(end.y<0?1:cutout))};var max={x:contains0?1:Math.max(start.x*(start.x>0?1:cutout),end.x*(end.x>0?1:cutout)),y:contains90?1:Math.max(start.y*(start.y>0?1:cutout),end.y*(end.y>0?1:cutout))};var size={width:(max.x-min.x)*0.5,height:(max.y-min.y)*0.5};minSize=Math.min(availableWidth/size.width,availableHeight/size.height);offset={x:(max.x+min.x)*-0.5,y:(max.y+min.y)*-0.5};}chart.borderWidth=me.getMaxBorderWidth(meta.data);chart.outerRadius=Math.max((minSize-chart.borderWidth)/2,0);chart.innerRadius=Math.max(cutoutPercentage?chart.outerRadius/100*cutoutPercentage:0,0);chart.radiusLength=(chart.outerRadius-chart.innerRadius)/chart.getVisibleDatasetCount();chart.offsetX=offset.x*chart.outerRadius;chart.offsetY=offset.y*chart.outerRadius;meta.total=me.calculateTotal();me.outerRadius=chart.outerRadius-chart.radiusLength*me.getRingIndex(me.index);me.innerRadius=Math.max(me.outerRadius-chart.radiusLength,0);helpers.each(meta.data,function(arc,index){me.updateElement(arc,index,reset);});},updateElement:function updateElement(arc,index,reset){var me=this;var chart=me.chart;var chartArea=chart.chartArea;var opts=chart.options;var animationOpts=opts.animation;var centerX=(chartArea.left+chartArea.right)/2;var centerY=(chartArea.top+chartArea.bottom)/2;var startAngle=opts.rotation;// non reset case handled later
var endAngle=opts.rotation;// non reset case handled later
var dataset=me.getDataset();var circumference=reset&&animationOpts.animateRotate?0:arc.hidden?0:me.calculateCircumference(dataset.data[index])*(opts.circumference/(2.0*Math.PI));var innerRadius=reset&&animationOpts.animateScale?0:me.innerRadius;var outerRadius=reset&&animationOpts.animateScale?0:me.outerRadius;var valueAtIndexOrDefault=helpers.valueAtIndexOrDefault;helpers.extend(arc,{// Utility
_datasetIndex:me.index,_index:index,// Desired view properties
_model:{x:centerX+chart.offsetX,y:centerY+chart.offsetY,startAngle:startAngle,endAngle:endAngle,circumference:circumference,outerRadius:outerRadius,innerRadius:innerRadius,label:valueAtIndexOrDefault(dataset.label,index,chart.data.labels[index])}});var model=arc._model;// Resets the visual styles
var custom=arc.custom||{};var valueOrDefault=helpers.valueAtIndexOrDefault;var elementOpts=this.chart.options.elements.arc;model.backgroundColor=custom.backgroundColor?custom.backgroundColor:valueOrDefault(dataset.backgroundColor,index,elementOpts.backgroundColor);model.borderColor=custom.borderColor?custom.borderColor:valueOrDefault(dataset.borderColor,index,elementOpts.borderColor);model.borderWidth=custom.borderWidth?custom.borderWidth:valueOrDefault(dataset.borderWidth,index,elementOpts.borderWidth);// Set correct angles if not resetting
if(!reset||!animationOpts.animateRotate){if(index===0){model.startAngle=opts.rotation;}else{model.startAngle=me.getMeta().data[index-1]._model.endAngle;}model.endAngle=model.startAngle+model.circumference;}arc.pivot();},calculateTotal:function calculateTotal(){var dataset=this.getDataset();var meta=this.getMeta();var total=0;var value;helpers.each(meta.data,function(element,index){value=dataset.data[index];if(!isNaN(value)&&!element.hidden){total+=Math.abs(value);}});/* if (total === 0) {
				total = NaN;
			}*/return total;},calculateCircumference:function calculateCircumference(value){var total=this.getMeta().total;if(total>0&&!isNaN(value)){return Math.PI*2.0*(Math.abs(value)/total);}return 0;},// gets the max border or hover width to properly scale pie charts
getMaxBorderWidth:function getMaxBorderWidth(arcs){var max=0;var index=this.index;var length=arcs.length;var borderWidth;var hoverWidth;for(var i=0;i<length;i++){borderWidth=arcs[i]._model?arcs[i]._model.borderWidth:0;hoverWidth=arcs[i]._chart?arcs[i]._chart.config.data.datasets[index].hoverBorderWidth:0;max=borderWidth>max?borderWidth:max;max=hoverWidth>max?hoverWidth:max;}return max;}});};/***/},/* 207 *//***/function(module,exports,__webpack_require__){"use strict";var defaults=__webpack_require__(2);var elements=__webpack_require__(5);var helpers=__webpack_require__(1);defaults._set('line',{showLines:true,spanGaps:false,hover:{mode:'label'},scales:{xAxes:[{type:'category',id:'x-axis-0'}],yAxes:[{type:'linear',id:'y-axis-0'}]}});module.exports=function(Chart){function lineEnabled(dataset,options){return helpers.valueOrDefault(dataset.showLine,options.showLines);}Chart.controllers.line=Chart.DatasetController.extend({datasetElementType:elements.Line,dataElementType:elements.Point,update:function update(reset){var me=this;var meta=me.getMeta();var line=meta.dataset;var points=meta.data||[];var options=me.chart.options;var lineElementOptions=options.elements.line;var scale=me.getScaleForId(meta.yAxisID);var i,ilen,custom;var dataset=me.getDataset();var showLine=lineEnabled(dataset,options);// Update Line
if(showLine){custom=line.custom||{};// Compatibility: If the properties are defined with only the old name, use those values
if(dataset.tension!==undefined&&dataset.lineTension===undefined){dataset.lineTension=dataset.tension;}// Utility
line._scale=scale;line._datasetIndex=me.index;// Data
line._children=points;// Model
line._model={// Appearance
// The default behavior of lines is to break at null values, according
// to https://github.com/chartjs/Chart.js/issues/2435#issuecomment-216718158
// This option gives lines the ability to span gaps
spanGaps:dataset.spanGaps?dataset.spanGaps:options.spanGaps,tension:custom.tension?custom.tension:helpers.valueOrDefault(dataset.lineTension,lineElementOptions.tension),backgroundColor:custom.backgroundColor?custom.backgroundColor:dataset.backgroundColor||lineElementOptions.backgroundColor,borderWidth:custom.borderWidth?custom.borderWidth:dataset.borderWidth||lineElementOptions.borderWidth,borderColor:custom.borderColor?custom.borderColor:dataset.borderColor||lineElementOptions.borderColor,borderCapStyle:custom.borderCapStyle?custom.borderCapStyle:dataset.borderCapStyle||lineElementOptions.borderCapStyle,borderDash:custom.borderDash?custom.borderDash:dataset.borderDash||lineElementOptions.borderDash,borderDashOffset:custom.borderDashOffset?custom.borderDashOffset:dataset.borderDashOffset||lineElementOptions.borderDashOffset,borderJoinStyle:custom.borderJoinStyle?custom.borderJoinStyle:dataset.borderJoinStyle||lineElementOptions.borderJoinStyle,fill:custom.fill?custom.fill:dataset.fill!==undefined?dataset.fill:lineElementOptions.fill,steppedLine:custom.steppedLine?custom.steppedLine:helpers.valueOrDefault(dataset.steppedLine,lineElementOptions.stepped),cubicInterpolationMode:custom.cubicInterpolationMode?custom.cubicInterpolationMode:helpers.valueOrDefault(dataset.cubicInterpolationMode,lineElementOptions.cubicInterpolationMode)};line.pivot();}// Update Points
for(i=0,ilen=points.length;i<ilen;++i){me.updateElement(points[i],i,reset);}if(showLine&&line._model.tension!==0){me.updateBezierControlPoints();}// Now pivot the point for animation
for(i=0,ilen=points.length;i<ilen;++i){points[i].pivot();}},getPointBackgroundColor:function getPointBackgroundColor(point,index){var backgroundColor=this.chart.options.elements.point.backgroundColor;var dataset=this.getDataset();var custom=point.custom||{};if(custom.backgroundColor){backgroundColor=custom.backgroundColor;}else if(dataset.pointBackgroundColor){backgroundColor=helpers.valueAtIndexOrDefault(dataset.pointBackgroundColor,index,backgroundColor);}else if(dataset.backgroundColor){backgroundColor=dataset.backgroundColor;}return backgroundColor;},getPointBorderColor:function getPointBorderColor(point,index){var borderColor=this.chart.options.elements.point.borderColor;var dataset=this.getDataset();var custom=point.custom||{};if(custom.borderColor){borderColor=custom.borderColor;}else if(dataset.pointBorderColor){borderColor=helpers.valueAtIndexOrDefault(dataset.pointBorderColor,index,borderColor);}else if(dataset.borderColor){borderColor=dataset.borderColor;}return borderColor;},getPointBorderWidth:function getPointBorderWidth(point,index){var borderWidth=this.chart.options.elements.point.borderWidth;var dataset=this.getDataset();var custom=point.custom||{};if(!isNaN(custom.borderWidth)){borderWidth=custom.borderWidth;}else if(!isNaN(dataset.pointBorderWidth)||helpers.isArray(dataset.pointBorderWidth)){borderWidth=helpers.valueAtIndexOrDefault(dataset.pointBorderWidth,index,borderWidth);}else if(!isNaN(dataset.borderWidth)){borderWidth=dataset.borderWidth;}return borderWidth;},getPointRotation:function getPointRotation(point,index){var pointRotation=this.chart.options.elements.point.rotation;var dataset=this.getDataset();var custom=point.custom||{};if(!isNaN(custom.rotation)){pointRotation=custom.rotation;}else if(!isNaN(dataset.pointRotation)||helpers.isArray(dataset.pointRotation)){pointRotation=helpers.valueAtIndexOrDefault(dataset.pointRotation,index,pointRotation);}return pointRotation;},updateElement:function updateElement(point,index,reset){var me=this;var meta=me.getMeta();var custom=point.custom||{};var dataset=me.getDataset();var datasetIndex=me.index;var value=dataset.data[index];var yScale=me.getScaleForId(meta.yAxisID);var xScale=me.getScaleForId(meta.xAxisID);var pointOptions=me.chart.options.elements.point;var x,y;// Compatibility: If the properties are defined with only the old name, use those values
if(dataset.radius!==undefined&&dataset.pointRadius===undefined){dataset.pointRadius=dataset.radius;}if(dataset.hitRadius!==undefined&&dataset.pointHitRadius===undefined){dataset.pointHitRadius=dataset.hitRadius;}x=xScale.getPixelForValue((typeof value==='undefined'?'undefined':_typeof2(value))==='object'?value:NaN,index,datasetIndex);y=reset?yScale.getBasePixel():me.calculatePointY(value,index,datasetIndex);// Utility
point._xScale=xScale;point._yScale=yScale;point._datasetIndex=datasetIndex;point._index=index;// Desired view properties
point._model={x:x,y:y,skip:custom.skip||isNaN(x)||isNaN(y),// Appearance
radius:custom.radius||helpers.valueAtIndexOrDefault(dataset.pointRadius,index,pointOptions.radius),pointStyle:custom.pointStyle||helpers.valueAtIndexOrDefault(dataset.pointStyle,index,pointOptions.pointStyle),rotation:me.getPointRotation(point,index),backgroundColor:me.getPointBackgroundColor(point,index),borderColor:me.getPointBorderColor(point,index),borderWidth:me.getPointBorderWidth(point,index),tension:meta.dataset._model?meta.dataset._model.tension:0,steppedLine:meta.dataset._model?meta.dataset._model.steppedLine:false,// Tooltip
hitRadius:custom.hitRadius||helpers.valueAtIndexOrDefault(dataset.pointHitRadius,index,pointOptions.hitRadius)};},calculatePointY:function calculatePointY(value,index,datasetIndex){var me=this;var chart=me.chart;var meta=me.getMeta();var yScale=me.getScaleForId(meta.yAxisID);var sumPos=0;var sumNeg=0;var i,ds,dsMeta;if(yScale.options.stacked){for(i=0;i<datasetIndex;i++){ds=chart.data.datasets[i];dsMeta=chart.getDatasetMeta(i);if(dsMeta.type==='line'&&dsMeta.yAxisID===yScale.id&&chart.isDatasetVisible(i)){var stackedRightValue=Number(yScale.getRightValue(ds.data[index]));if(stackedRightValue<0){sumNeg+=stackedRightValue||0;}else{sumPos+=stackedRightValue||0;}}}var rightValue=Number(yScale.getRightValue(value));if(rightValue<0){return yScale.getPixelForValue(sumNeg+rightValue);}return yScale.getPixelForValue(sumPos+rightValue);}return yScale.getPixelForValue(value);},updateBezierControlPoints:function updateBezierControlPoints(){var me=this;var meta=me.getMeta();var area=me.chart.chartArea;var points=meta.data||[];var i,ilen,point,model,controlPoints;// Only consider points that are drawn in case the spanGaps option is used
if(meta.dataset._model.spanGaps){points=points.filter(function(pt){return!pt._model.skip;});}function capControlPoint(pt,min,max){return Math.max(Math.min(pt,max),min);}if(meta.dataset._model.cubicInterpolationMode==='monotone'){helpers.splineCurveMonotone(points);}else{for(i=0,ilen=points.length;i<ilen;++i){point=points[i];model=point._model;controlPoints=helpers.splineCurve(helpers.previousItem(points,i)._model,model,helpers.nextItem(points,i)._model,meta.dataset._model.tension);model.controlPointPreviousX=controlPoints.previous.x;model.controlPointPreviousY=controlPoints.previous.y;model.controlPointNextX=controlPoints.next.x;model.controlPointNextY=controlPoints.next.y;}}if(me.chart.options.elements.line.capBezierPoints){for(i=0,ilen=points.length;i<ilen;++i){model=points[i]._model;model.controlPointPreviousX=capControlPoint(model.controlPointPreviousX,area.left,area.right);model.controlPointPreviousY=capControlPoint(model.controlPointPreviousY,area.top,area.bottom);model.controlPointNextX=capControlPoint(model.controlPointNextX,area.left,area.right);model.controlPointNextY=capControlPoint(model.controlPointNextY,area.top,area.bottom);}}},draw:function draw(){var me=this;var chart=me.chart;var meta=me.getMeta();var points=meta.data||[];var area=chart.chartArea;var ilen=points.length;var halfBorderWidth;var i=0;if(lineEnabled(me.getDataset(),chart.options)){halfBorderWidth=(meta.dataset._model.borderWidth||0)/2;helpers.canvas.clipArea(chart.ctx,{left:area.left,right:area.right,top:area.top-halfBorderWidth,bottom:area.bottom+halfBorderWidth});meta.dataset.draw();helpers.canvas.unclipArea(chart.ctx);}// Draw the points
for(;i<ilen;++i){points[i].draw(area);}},setHoverStyle:function setHoverStyle(element){// Point
var dataset=this.chart.data.datasets[element._datasetIndex];var index=element._index;var custom=element.custom||{};var model=element._model;element.$previousStyle={backgroundColor:model.backgroundColor,borderColor:model.borderColor,borderWidth:model.borderWidth,radius:model.radius};model.backgroundColor=custom.hoverBackgroundColor||helpers.valueAtIndexOrDefault(dataset.pointHoverBackgroundColor,index,helpers.getHoverColor(model.backgroundColor));model.borderColor=custom.hoverBorderColor||helpers.valueAtIndexOrDefault(dataset.pointHoverBorderColor,index,helpers.getHoverColor(model.borderColor));model.borderWidth=custom.hoverBorderWidth||helpers.valueAtIndexOrDefault(dataset.pointHoverBorderWidth,index,model.borderWidth);model.radius=custom.hoverRadius||helpers.valueAtIndexOrDefault(dataset.pointHoverRadius,index,this.chart.options.elements.point.hoverRadius);}});};/***/},/* 208 *//***/function(module,exports,__webpack_require__){"use strict";var defaults=__webpack_require__(2);var elements=__webpack_require__(5);var helpers=__webpack_require__(1);defaults._set('polarArea',{scale:{type:'radialLinear',angleLines:{display:false},gridLines:{circular:true},pointLabels:{display:false},ticks:{beginAtZero:true}},// Boolean - Whether to animate the rotation of the chart
animation:{animateRotate:true,animateScale:true},startAngle:-0.5*Math.PI,legendCallback:function legendCallback(chart){var text=[];text.push('<ul class="'+chart.id+'-legend">');var data=chart.data;var datasets=data.datasets;var labels=data.labels;if(datasets.length){for(var i=0;i<datasets[0].data.length;++i){text.push('<li><span style="background-color:'+datasets[0].backgroundColor[i]+'"></span>');if(labels[i]){text.push(labels[i]);}text.push('</li>');}}text.push('</ul>');return text.join('');},legend:{labels:{generateLabels:function generateLabels(chart){var data=chart.data;if(data.labels.length&&data.datasets.length){return data.labels.map(function(label,i){var meta=chart.getDatasetMeta(0);var ds=data.datasets[0];var arc=meta.data[i];var custom=arc.custom||{};var valueAtIndexOrDefault=helpers.valueAtIndexOrDefault;var arcOpts=chart.options.elements.arc;var fill=custom.backgroundColor?custom.backgroundColor:valueAtIndexOrDefault(ds.backgroundColor,i,arcOpts.backgroundColor);var stroke=custom.borderColor?custom.borderColor:valueAtIndexOrDefault(ds.borderColor,i,arcOpts.borderColor);var bw=custom.borderWidth?custom.borderWidth:valueAtIndexOrDefault(ds.borderWidth,i,arcOpts.borderWidth);return{text:label,fillStyle:fill,strokeStyle:stroke,lineWidth:bw,hidden:isNaN(ds.data[i])||meta.data[i].hidden,// Extra data used for toggling the correct item
index:i};});}return[];}},onClick:function onClick(e,legendItem){var index=legendItem.index;var chart=this.chart;var i,ilen,meta;for(i=0,ilen=(chart.data.datasets||[]).length;i<ilen;++i){meta=chart.getDatasetMeta(i);meta.data[index].hidden=!meta.data[index].hidden;}chart.update();}},// Need to override these to give a nice default
tooltips:{callbacks:{title:function title(){return'';},label:function label(item,data){return data.labels[item.index]+': '+item.yLabel;}}}});module.exports=function(Chart){Chart.controllers.polarArea=Chart.DatasetController.extend({dataElementType:elements.Arc,linkScales:helpers.noop,update:function update(reset){var me=this;var dataset=me.getDataset();var meta=me.getMeta();var start=me.chart.options.startAngle||0;var starts=me._starts=[];var angles=me._angles=[];var i,ilen,angle;me._updateRadius();meta.count=me.countVisibleElements();for(i=0,ilen=dataset.data.length;i<ilen;i++){starts[i]=start;angle=me._computeAngle(i);angles[i]=angle;start+=angle;}helpers.each(meta.data,function(arc,index){me.updateElement(arc,index,reset);});},/**
		 * @private
		 */_updateRadius:function _updateRadius(){var me=this;var chart=me.chart;var chartArea=chart.chartArea;var opts=chart.options;var arcOpts=opts.elements.arc;var minSize=Math.min(chartArea.right-chartArea.left,chartArea.bottom-chartArea.top);chart.outerRadius=Math.max((minSize-arcOpts.borderWidth/2)/2,0);chart.innerRadius=Math.max(opts.cutoutPercentage?chart.outerRadius/100*opts.cutoutPercentage:1,0);chart.radiusLength=(chart.outerRadius-chart.innerRadius)/chart.getVisibleDatasetCount();me.outerRadius=chart.outerRadius-chart.radiusLength*me.index;me.innerRadius=me.outerRadius-chart.radiusLength;},updateElement:function updateElement(arc,index,reset){var me=this;var chart=me.chart;var dataset=me.getDataset();var opts=chart.options;var animationOpts=opts.animation;var scale=chart.scale;var labels=chart.data.labels;var centerX=scale.xCenter;var centerY=scale.yCenter;// var negHalfPI = -0.5 * Math.PI;
var datasetStartAngle=opts.startAngle;var distance=arc.hidden?0:scale.getDistanceFromCenterForValue(dataset.data[index]);var startAngle=me._starts[index];var endAngle=startAngle+(arc.hidden?0:me._angles[index]);var resetRadius=animationOpts.animateScale?0:scale.getDistanceFromCenterForValue(dataset.data[index]);helpers.extend(arc,{// Utility
_datasetIndex:me.index,_index:index,_scale:scale,// Desired view properties
_model:{x:centerX,y:centerY,innerRadius:0,outerRadius:reset?resetRadius:distance,startAngle:reset&&animationOpts.animateRotate?datasetStartAngle:startAngle,endAngle:reset&&animationOpts.animateRotate?datasetStartAngle:endAngle,label:helpers.valueAtIndexOrDefault(labels,index,labels[index])}});// Apply border and fill style
var elementOpts=this.chart.options.elements.arc;var custom=arc.custom||{};var valueOrDefault=helpers.valueAtIndexOrDefault;var model=arc._model;model.backgroundColor=custom.backgroundColor?custom.backgroundColor:valueOrDefault(dataset.backgroundColor,index,elementOpts.backgroundColor);model.borderColor=custom.borderColor?custom.borderColor:valueOrDefault(dataset.borderColor,index,elementOpts.borderColor);model.borderWidth=custom.borderWidth?custom.borderWidth:valueOrDefault(dataset.borderWidth,index,elementOpts.borderWidth);arc.pivot();},countVisibleElements:function countVisibleElements(){var dataset=this.getDataset();var meta=this.getMeta();var count=0;helpers.each(meta.data,function(element,index){if(!isNaN(dataset.data[index])&&!element.hidden){count++;}});return count;},/**
		 * @private
		 */_computeAngle:function _computeAngle(index){var me=this;var count=this.getMeta().count;var dataset=me.getDataset();var meta=me.getMeta();if(isNaN(dataset.data[index])||meta.data[index].hidden){return 0;}// Scriptable options
var context={chart:me.chart,dataIndex:index,dataset:dataset,datasetIndex:me.index};return helpers.options.resolve([me.chart.options.elements.arc.angle,2*Math.PI/count],context,index);}});};/***/},/* 209 *//***/function(module,exports,__webpack_require__){"use strict";var defaults=__webpack_require__(2);var elements=__webpack_require__(5);var helpers=__webpack_require__(1);defaults._set('radar',{scale:{type:'radialLinear'},elements:{line:{tension:0// no bezier in radar
}}});module.exports=function(Chart){Chart.controllers.radar=Chart.DatasetController.extend({datasetElementType:elements.Line,dataElementType:elements.Point,linkScales:helpers.noop,update:function update(reset){var me=this;var meta=me.getMeta();var line=meta.dataset;var points=meta.data;var custom=line.custom||{};var dataset=me.getDataset();var lineElementOptions=me.chart.options.elements.line;var scale=me.chart.scale;// Compatibility: If the properties are defined with only the old name, use those values
if(dataset.tension!==undefined&&dataset.lineTension===undefined){dataset.lineTension=dataset.tension;}helpers.extend(meta.dataset,{// Utility
_datasetIndex:me.index,_scale:scale,// Data
_children:points,_loop:true,// Model
_model:{// Appearance
tension:custom.tension?custom.tension:helpers.valueOrDefault(dataset.lineTension,lineElementOptions.tension),backgroundColor:custom.backgroundColor?custom.backgroundColor:dataset.backgroundColor||lineElementOptions.backgroundColor,borderWidth:custom.borderWidth?custom.borderWidth:dataset.borderWidth||lineElementOptions.borderWidth,borderColor:custom.borderColor?custom.borderColor:dataset.borderColor||lineElementOptions.borderColor,fill:custom.fill?custom.fill:dataset.fill!==undefined?dataset.fill:lineElementOptions.fill,borderCapStyle:custom.borderCapStyle?custom.borderCapStyle:dataset.borderCapStyle||lineElementOptions.borderCapStyle,borderDash:custom.borderDash?custom.borderDash:dataset.borderDash||lineElementOptions.borderDash,borderDashOffset:custom.borderDashOffset?custom.borderDashOffset:dataset.borderDashOffset||lineElementOptions.borderDashOffset,borderJoinStyle:custom.borderJoinStyle?custom.borderJoinStyle:dataset.borderJoinStyle||lineElementOptions.borderJoinStyle}});meta.dataset.pivot();// Update Points
helpers.each(points,function(point,index){me.updateElement(point,index,reset);},me);// Update bezier control points
me.updateBezierControlPoints();},updateElement:function updateElement(point,index,reset){var me=this;var custom=point.custom||{};var dataset=me.getDataset();var scale=me.chart.scale;var pointElementOptions=me.chart.options.elements.point;var pointPosition=scale.getPointPositionForValue(index,dataset.data[index]);// Compatibility: If the properties are defined with only the old name, use those values
if(dataset.radius!==undefined&&dataset.pointRadius===undefined){dataset.pointRadius=dataset.radius;}if(dataset.hitRadius!==undefined&&dataset.pointHitRadius===undefined){dataset.pointHitRadius=dataset.hitRadius;}helpers.extend(point,{// Utility
_datasetIndex:me.index,_index:index,_scale:scale,// Desired view properties
_model:{x:reset?scale.xCenter:pointPosition.x,// value not used in dataset scale, but we want a consistent API between scales
y:reset?scale.yCenter:pointPosition.y,// Appearance
tension:custom.tension?custom.tension:helpers.valueOrDefault(dataset.lineTension,me.chart.options.elements.line.tension),radius:custom.radius?custom.radius:helpers.valueAtIndexOrDefault(dataset.pointRadius,index,pointElementOptions.radius),backgroundColor:custom.backgroundColor?custom.backgroundColor:helpers.valueAtIndexOrDefault(dataset.pointBackgroundColor,index,pointElementOptions.backgroundColor),borderColor:custom.borderColor?custom.borderColor:helpers.valueAtIndexOrDefault(dataset.pointBorderColor,index,pointElementOptions.borderColor),borderWidth:custom.borderWidth?custom.borderWidth:helpers.valueAtIndexOrDefault(dataset.pointBorderWidth,index,pointElementOptions.borderWidth),pointStyle:custom.pointStyle?custom.pointStyle:helpers.valueAtIndexOrDefault(dataset.pointStyle,index,pointElementOptions.pointStyle),rotation:custom.rotation?custom.rotation:helpers.valueAtIndexOrDefault(dataset.pointRotation,index,pointElementOptions.rotation),// Tooltip
hitRadius:custom.hitRadius?custom.hitRadius:helpers.valueAtIndexOrDefault(dataset.pointHitRadius,index,pointElementOptions.hitRadius)}});point._model.skip=custom.skip?custom.skip:isNaN(point._model.x)||isNaN(point._model.y);},updateBezierControlPoints:function updateBezierControlPoints(){var chartArea=this.chart.chartArea;var meta=this.getMeta();helpers.each(meta.data,function(point,index){var model=point._model;var controlPoints=helpers.splineCurve(helpers.previousItem(meta.data,index,true)._model,model,helpers.nextItem(meta.data,index,true)._model,model.tension);// Prevent the bezier going outside of the bounds of the graph
model.controlPointPreviousX=Math.max(Math.min(controlPoints.previous.x,chartArea.right),chartArea.left);model.controlPointPreviousY=Math.max(Math.min(controlPoints.previous.y,chartArea.bottom),chartArea.top);model.controlPointNextX=Math.max(Math.min(controlPoints.next.x,chartArea.right),chartArea.left);model.controlPointNextY=Math.max(Math.min(controlPoints.next.y,chartArea.bottom),chartArea.top);// Now pivot the point for animation
point.pivot();});},setHoverStyle:function setHoverStyle(point){// Point
var dataset=this.chart.data.datasets[point._datasetIndex];var custom=point.custom||{};var index=point._index;var model=point._model;point.$previousStyle={backgroundColor:model.backgroundColor,borderColor:model.borderColor,borderWidth:model.borderWidth,radius:model.radius};model.radius=custom.hoverRadius?custom.hoverRadius:helpers.valueAtIndexOrDefault(dataset.pointHoverRadius,index,this.chart.options.elements.point.hoverRadius);model.backgroundColor=custom.hoverBackgroundColor?custom.hoverBackgroundColor:helpers.valueAtIndexOrDefault(dataset.pointHoverBackgroundColor,index,helpers.getHoverColor(model.backgroundColor));model.borderColor=custom.hoverBorderColor?custom.hoverBorderColor:helpers.valueAtIndexOrDefault(dataset.pointHoverBorderColor,index,helpers.getHoverColor(model.borderColor));model.borderWidth=custom.hoverBorderWidth?custom.hoverBorderWidth:helpers.valueAtIndexOrDefault(dataset.pointHoverBorderWidth,index,model.borderWidth);}});};/***/},/* 210 *//***/function(module,exports,__webpack_require__){"use strict";var defaults=__webpack_require__(2);defaults._set('scatter',{hover:{mode:'single'},scales:{xAxes:[{id:'x-axis-1',// need an ID so datasets can reference the scale
type:'linear',// scatter should not use a category axis
position:'bottom'}],yAxes:[{id:'y-axis-1',type:'linear',position:'left'}]},showLines:false,tooltips:{callbacks:{title:function title(){return'';// doesn't make sense for scatter since data are formatted as a point
},label:function label(item){return'('+item.xLabel+', '+item.yLabel+')';}}}});module.exports=function(Chart){// Scatter charts use line controllers
Chart.controllers.scatter=Chart.controllers.line;};/***/},/* 211 *//***/function(module,exports,__webpack_require__){"use strict";module.exports=function(Chart){Chart.Bar=function(context,config){config.type='bar';return new Chart(context,config);};};/***/},/* 212 *//***/function(module,exports,__webpack_require__){"use strict";module.exports=function(Chart){Chart.Bubble=function(context,config){config.type='bubble';return new Chart(context,config);};};/***/},/* 213 *//***/function(module,exports,__webpack_require__){"use strict";module.exports=function(Chart){Chart.Doughnut=function(context,config){config.type='doughnut';return new Chart(context,config);};};/***/},/* 214 *//***/function(module,exports,__webpack_require__){"use strict";module.exports=function(Chart){Chart.Line=function(context,config){config.type='line';return new Chart(context,config);};};/***/},/* 215 *//***/function(module,exports,__webpack_require__){"use strict";module.exports=function(Chart){Chart.PolarArea=function(context,config){config.type='polarArea';return new Chart(context,config);};};/***/},/* 216 *//***/function(module,exports,__webpack_require__){"use strict";module.exports=function(Chart){Chart.Radar=function(context,config){config.type='radar';return new Chart(context,config);};};/***/},/* 217 *//***/function(module,exports,__webpack_require__){"use strict";module.exports=function(Chart){Chart.Scatter=function(context,config){config.type='scatter';return new Chart(context,config);};};/***/},/* 218 *//***/function(module,exports,__webpack_require__){"use strict";module.exports={};module.exports.filler=__webpack_require__(219);module.exports.legend=__webpack_require__(220);module.exports.title=__webpack_require__(221);/***/},/* 219 *//***/function(module,exports,__webpack_require__){"use strict";/**
 * Plugin based on discussion from the following Chart.js issues:
 * @see https://github.com/chartjs/Chart.js/issues/2380#issuecomment-279961569
 * @see https://github.com/chartjs/Chart.js/issues/2440#issuecomment-256461897
 */var defaults=__webpack_require__(2);var elements=__webpack_require__(5);var helpers=__webpack_require__(1);defaults._set('global',{plugins:{filler:{propagate:true}}});var mappers={dataset:function dataset(source){var index=source.fill;var chart=source.chart;var meta=chart.getDatasetMeta(index);var visible=meta&&chart.isDatasetVisible(index);var points=visible&&meta.dataset._children||[];var length=points.length||0;return!length?null:function(point,i){return i<length&&points[i]._view||null;};},boundary:function boundary(source){var boundary=source.boundary;var x=boundary?boundary.x:null;var y=boundary?boundary.y:null;return function(point){return{x:x===null?point.x:x,y:y===null?point.y:y};};}};// @todo if (fill[0] === '#')
function decodeFill(el,index,count){var model=el._model||{};var fill=model.fill;var target;if(fill===undefined){fill=!!model.backgroundColor;}if(fill===false||fill===null){return false;}if(fill===true){return'origin';}target=parseFloat(fill,10);if(isFinite(target)&&Math.floor(target)===target){if(fill[0]==='-'||fill[0]==='+'){target=index+target;}if(target===index||target<0||target>=count){return false;}return target;}switch(fill){// compatibility
case'bottom':return'start';case'top':return'end';case'zero':return'origin';// supported boundaries
case'origin':case'start':case'end':return fill;// invalid fill values
default:return false;}}function computeBoundary(source){var model=source.el._model||{};var scale=source.el._scale||{};var fill=source.fill;var target=null;var horizontal;if(isFinite(fill)){return null;}// Backward compatibility: until v3, we still need to support boundary values set on
// the model (scaleTop, scaleBottom and scaleZero) because some external plugins and
// controllers might still use it (e.g. the Smith chart).
if(fill==='start'){target=model.scaleBottom===undefined?scale.bottom:model.scaleBottom;}else if(fill==='end'){target=model.scaleTop===undefined?scale.top:model.scaleTop;}else if(model.scaleZero!==undefined){target=model.scaleZero;}else if(scale.getBasePosition){target=scale.getBasePosition();}else if(scale.getBasePixel){target=scale.getBasePixel();}if(target!==undefined&&target!==null){if(target.x!==undefined&&target.y!==undefined){return target;}if(typeof target==='number'&&isFinite(target)){horizontal=scale.isHorizontal();return{x:horizontal?target:null,y:horizontal?null:target};}}return null;}function resolveTarget(sources,index,propagate){var source=sources[index];var fill=source.fill;var visited=[index];var target;if(!propagate){return fill;}while(fill!==false&&visited.indexOf(fill)===-1){if(!isFinite(fill)){return fill;}target=sources[fill];if(!target){return false;}if(target.visible){return fill;}visited.push(fill);fill=target.fill;}return false;}function createMapper(source){var fill=source.fill;var type='dataset';if(fill===false){return null;}if(!isFinite(fill)){type='boundary';}return mappers[type](source);}function isDrawable(point){return point&&!point.skip;}function drawArea(ctx,curve0,curve1,len0,len1){var i;if(!len0||!len1){return;}// building first area curve (normal)
ctx.moveTo(curve0[0].x,curve0[0].y);for(i=1;i<len0;++i){helpers.canvas.lineTo(ctx,curve0[i-1],curve0[i]);}// joining the two area curves
ctx.lineTo(curve1[len1-1].x,curve1[len1-1].y);// building opposite area curve (reverse)
for(i=len1-1;i>0;--i){helpers.canvas.lineTo(ctx,curve1[i],curve1[i-1],true);}}function doFill(ctx,points,mapper,view,color,loop){var count=points.length;var span=view.spanGaps;var curve0=[];var curve1=[];var len0=0;var len1=0;var i,ilen,index,p0,p1,d0,d1;ctx.beginPath();for(i=0,ilen=count+!!loop;i<ilen;++i){index=i%count;p0=points[index]._view;p1=mapper(p0,index,view);d0=isDrawable(p0);d1=isDrawable(p1);if(d0&&d1){len0=curve0.push(p0);len1=curve1.push(p1);}else if(len0&&len1){if(!span){drawArea(ctx,curve0,curve1,len0,len1);len0=len1=0;curve0=[];curve1=[];}else{if(d0){curve0.push(p0);}if(d1){curve1.push(p1);}}}}drawArea(ctx,curve0,curve1,len0,len1);ctx.closePath();ctx.fillStyle=color;ctx.fill();}module.exports={id:'filler',afterDatasetsUpdate:function afterDatasetsUpdate(chart,options){var count=(chart.data.datasets||[]).length;var propagate=options.propagate;var sources=[];var meta,i,el,source;for(i=0;i<count;++i){meta=chart.getDatasetMeta(i);el=meta.dataset;source=null;if(el&&el._model&&el instanceof elements.Line){source={visible:chart.isDatasetVisible(i),fill:decodeFill(el,i,count),chart:chart,el:el};}meta.$filler=source;sources.push(source);}for(i=0;i<count;++i){source=sources[i];if(!source){continue;}source.fill=resolveTarget(sources,i,propagate);source.boundary=computeBoundary(source);source.mapper=createMapper(source);}},beforeDatasetDraw:function beforeDatasetDraw(chart,args){var meta=args.meta.$filler;if(!meta){return;}var ctx=chart.ctx;var el=meta.el;var view=el._view;var points=el._children||[];var mapper=meta.mapper;var color=view.backgroundColor||defaults.global.defaultColor;if(mapper&&color&&points.length){helpers.canvas.clipArea(ctx,chart.chartArea);doFill(ctx,points,mapper,view,color,el._loop);helpers.canvas.unclipArea(ctx);}}};/***/},/* 220 *//***/function(module,exports,__webpack_require__){"use strict";var defaults=__webpack_require__(2);var Element=__webpack_require__(3);var helpers=__webpack_require__(1);var layouts=__webpack_require__(10);var noop=helpers.noop;defaults._set('global',{legend:{display:true,position:'top',fullWidth:true,reverse:false,weight:1000,// a callback that will handle
onClick:function onClick(e,legendItem){var index=legendItem.datasetIndex;var ci=this.chart;var meta=ci.getDatasetMeta(index);// See controller.isDatasetVisible comment
meta.hidden=meta.hidden===null?!ci.data.datasets[index].hidden:null;// We hid a dataset ... rerender the chart
ci.update();},onHover:null,labels:{boxWidth:40,padding:10,// Generates labels shown in the legend
// Valid properties to return:
// text : text to display
// fillStyle : fill of coloured box
// strokeStyle: stroke of coloured box
// hidden : if this legend item refers to a hidden item
// lineCap : cap style for line
// lineDash
// lineDashOffset :
// lineJoin :
// lineWidth :
generateLabels:function generateLabels(chart){var data=chart.data;return helpers.isArray(data.datasets)?data.datasets.map(function(dataset,i){return{text:dataset.label,fillStyle:!helpers.isArray(dataset.backgroundColor)?dataset.backgroundColor:dataset.backgroundColor[0],hidden:!chart.isDatasetVisible(i),lineCap:dataset.borderCapStyle,lineDash:dataset.borderDash,lineDashOffset:dataset.borderDashOffset,lineJoin:dataset.borderJoinStyle,lineWidth:dataset.borderWidth,strokeStyle:dataset.borderColor,pointStyle:dataset.pointStyle,// Below is extra data used for toggling the datasets
datasetIndex:i};},this):[];}}},legendCallback:function legendCallback(chart){var text=[];text.push('<ul class="'+chart.id+'-legend">');for(var i=0;i<chart.data.datasets.length;i++){text.push('<li><span style="background-color:'+chart.data.datasets[i].backgroundColor+'"></span>');if(chart.data.datasets[i].label){text.push(chart.data.datasets[i].label);}text.push('</li>');}text.push('</ul>');return text.join('');}});/**
 * Helper function to get the box width based on the usePointStyle option
 * @param labelopts {Object} the label options on the legend
 * @param fontSize {Number} the label font size
 * @return {Number} width of the color box area
 */function getBoxWidth(labelOpts,fontSize){return labelOpts.usePointStyle?fontSize*Math.SQRT2:labelOpts.boxWidth;}/**
 * IMPORTANT: this class is exposed publicly as Chart.Legend, backward compatibility required!
 */var Legend=Element.extend({initialize:function initialize(config){helpers.extend(this,config);// Contains hit boxes for each dataset (in dataset order)
this.legendHitBoxes=[];// Are we in doughnut mode which has a different data type
this.doughnutMode=false;},// These methods are ordered by lifecycle. Utilities then follow.
// Any function defined here is inherited by all legend types.
// Any function can be extended by the legend type
beforeUpdate:noop,update:function update(maxWidth,maxHeight,margins){var me=this;// Update Lifecycle - Probably don't want to ever extend or overwrite this function ;)
me.beforeUpdate();// Absorb the master measurements
me.maxWidth=maxWidth;me.maxHeight=maxHeight;me.margins=margins;// Dimensions
me.beforeSetDimensions();me.setDimensions();me.afterSetDimensions();// Labels
me.beforeBuildLabels();me.buildLabels();me.afterBuildLabels();// Fit
me.beforeFit();me.fit();me.afterFit();//
me.afterUpdate();return me.minSize;},afterUpdate:noop,//
beforeSetDimensions:noop,setDimensions:function setDimensions(){var me=this;// Set the unconstrained dimension before label rotation
if(me.isHorizontal()){// Reset position before calculating rotation
me.width=me.maxWidth;me.left=0;me.right=me.width;}else{me.height=me.maxHeight;// Reset position before calculating rotation
me.top=0;me.bottom=me.height;}// Reset padding
me.paddingLeft=0;me.paddingTop=0;me.paddingRight=0;me.paddingBottom=0;// Reset minSize
me.minSize={width:0,height:0};},afterSetDimensions:noop,//
beforeBuildLabels:noop,buildLabels:function buildLabels(){var me=this;var labelOpts=me.options.labels||{};var legendItems=helpers.callback(labelOpts.generateLabels,[me.chart],me)||[];if(labelOpts.filter){legendItems=legendItems.filter(function(item){return labelOpts.filter(item,me.chart.data);});}if(me.options.reverse){legendItems.reverse();}me.legendItems=legendItems;},afterBuildLabels:noop,//
beforeFit:noop,fit:function fit(){var me=this;var opts=me.options;var labelOpts=opts.labels;var display=opts.display;var ctx=me.ctx;var globalDefault=defaults.global;var valueOrDefault=helpers.valueOrDefault;var fontSize=valueOrDefault(labelOpts.fontSize,globalDefault.defaultFontSize);var fontStyle=valueOrDefault(labelOpts.fontStyle,globalDefault.defaultFontStyle);var fontFamily=valueOrDefault(labelOpts.fontFamily,globalDefault.defaultFontFamily);var labelFont=helpers.fontString(fontSize,fontStyle,fontFamily);// Reset hit boxes
var hitboxes=me.legendHitBoxes=[];var minSize=me.minSize;var isHorizontal=me.isHorizontal();if(isHorizontal){minSize.width=me.maxWidth;// fill all the width
minSize.height=display?10:0;}else{minSize.width=display?10:0;minSize.height=me.maxHeight;// fill all the height
}// Increase sizes here
if(display){ctx.font=labelFont;if(isHorizontal){// Labels
// Width of each line of legend boxes. Labels wrap onto multiple lines when there are too many to fit on one
var lineWidths=me.lineWidths=[0];var totalHeight=me.legendItems.length?fontSize+labelOpts.padding:0;ctx.textAlign='left';ctx.textBaseline='top';helpers.each(me.legendItems,function(legendItem,i){var boxWidth=getBoxWidth(labelOpts,fontSize);var width=boxWidth+fontSize/2+ctx.measureText(legendItem.text).width;if(lineWidths[lineWidths.length-1]+width+labelOpts.padding>=me.width){totalHeight+=fontSize+labelOpts.padding;lineWidths[lineWidths.length]=me.left;}// Store the hitbox width and height here. Final position will be updated in `draw`
hitboxes[i]={left:0,top:0,width:width,height:fontSize};lineWidths[lineWidths.length-1]+=width+labelOpts.padding;});minSize.height+=totalHeight;}else{var vPadding=labelOpts.padding;var columnWidths=me.columnWidths=[];var totalWidth=labelOpts.padding;var currentColWidth=0;var currentColHeight=0;var itemHeight=fontSize+vPadding;helpers.each(me.legendItems,function(legendItem,i){var boxWidth=getBoxWidth(labelOpts,fontSize);var itemWidth=boxWidth+fontSize/2+ctx.measureText(legendItem.text).width;// If too tall, go to new column
if(currentColHeight+itemHeight>minSize.height){totalWidth+=currentColWidth+labelOpts.padding;columnWidths.push(currentColWidth);// previous column width
currentColWidth=0;currentColHeight=0;}// Get max width
currentColWidth=Math.max(currentColWidth,itemWidth);currentColHeight+=itemHeight;// Store the hitbox width and height here. Final position will be updated in `draw`
hitboxes[i]={left:0,top:0,width:itemWidth,height:fontSize};});totalWidth+=currentColWidth;columnWidths.push(currentColWidth);minSize.width+=totalWidth;}}me.width=minSize.width;me.height=minSize.height;},afterFit:noop,// Shared Methods
isHorizontal:function isHorizontal(){return this.options.position==='top'||this.options.position==='bottom';},// Actually draw the legend on the canvas
draw:function draw(){var me=this;var opts=me.options;var labelOpts=opts.labels;var globalDefault=defaults.global;var lineDefault=globalDefault.elements.line;var legendWidth=me.width;var lineWidths=me.lineWidths;if(opts.display){var ctx=me.ctx;var valueOrDefault=helpers.valueOrDefault;var fontColor=valueOrDefault(labelOpts.fontColor,globalDefault.defaultFontColor);var fontSize=valueOrDefault(labelOpts.fontSize,globalDefault.defaultFontSize);var fontStyle=valueOrDefault(labelOpts.fontStyle,globalDefault.defaultFontStyle);var fontFamily=valueOrDefault(labelOpts.fontFamily,globalDefault.defaultFontFamily);var labelFont=helpers.fontString(fontSize,fontStyle,fontFamily);var cursor;// Canvas setup
ctx.textAlign='left';ctx.textBaseline='middle';ctx.lineWidth=0.5;ctx.strokeStyle=fontColor;// for strikethrough effect
ctx.fillStyle=fontColor;// render in correct colour
ctx.font=labelFont;var boxWidth=getBoxWidth(labelOpts,fontSize);var hitboxes=me.legendHitBoxes;// current position
var drawLegendBox=function drawLegendBox(x,y,legendItem){if(isNaN(boxWidth)||boxWidth<=0){return;}// Set the ctx for the box
ctx.save();ctx.fillStyle=valueOrDefault(legendItem.fillStyle,globalDefault.defaultColor);ctx.lineCap=valueOrDefault(legendItem.lineCap,lineDefault.borderCapStyle);ctx.lineDashOffset=valueOrDefault(legendItem.lineDashOffset,lineDefault.borderDashOffset);ctx.lineJoin=valueOrDefault(legendItem.lineJoin,lineDefault.borderJoinStyle);ctx.lineWidth=valueOrDefault(legendItem.lineWidth,lineDefault.borderWidth);ctx.strokeStyle=valueOrDefault(legendItem.strokeStyle,globalDefault.defaultColor);var isLineWidthZero=valueOrDefault(legendItem.lineWidth,lineDefault.borderWidth)===0;if(ctx.setLineDash){// IE 9 and 10 do not support line dash
ctx.setLineDash(valueOrDefault(legendItem.lineDash,lineDefault.borderDash));}if(opts.labels&&opts.labels.usePointStyle){// Recalculate x and y for drawPoint() because its expecting
// x and y to be center of figure (instead of top left)
var radius=fontSize*Math.SQRT2/2;var offSet=radius/Math.SQRT2;var centerX=x+offSet;var centerY=y+offSet;// Draw pointStyle as legend symbol
helpers.canvas.drawPoint(ctx,legendItem.pointStyle,radius,centerX,centerY);}else{// Draw box as legend symbol
if(!isLineWidthZero){ctx.strokeRect(x,y,boxWidth,fontSize);}ctx.fillRect(x,y,boxWidth,fontSize);}ctx.restore();};var fillText=function fillText(x,y,legendItem,textWidth){var halfFontSize=fontSize/2;var xLeft=boxWidth+halfFontSize+x;var yMiddle=y+halfFontSize;ctx.fillText(legendItem.text,xLeft,yMiddle);if(legendItem.hidden){// Strikethrough the text if hidden
ctx.beginPath();ctx.lineWidth=2;ctx.moveTo(xLeft,yMiddle);ctx.lineTo(xLeft+textWidth,yMiddle);ctx.stroke();}};// Horizontal
var isHorizontal=me.isHorizontal();if(isHorizontal){cursor={x:me.left+(legendWidth-lineWidths[0])/2,y:me.top+labelOpts.padding,line:0};}else{cursor={x:me.left+labelOpts.padding,y:me.top+labelOpts.padding,line:0};}var itemHeight=fontSize+labelOpts.padding;helpers.each(me.legendItems,function(legendItem,i){var textWidth=ctx.measureText(legendItem.text).width;var width=boxWidth+fontSize/2+textWidth;var x=cursor.x;var y=cursor.y;if(isHorizontal){if(x+width>=legendWidth){y=cursor.y+=itemHeight;cursor.line++;x=cursor.x=me.left+(legendWidth-lineWidths[cursor.line])/2;}}else if(y+itemHeight>me.bottom){x=cursor.x=x+me.columnWidths[cursor.line]+labelOpts.padding;y=cursor.y=me.top+labelOpts.padding;cursor.line++;}drawLegendBox(x,y,legendItem);hitboxes[i].left=x;hitboxes[i].top=y;// Fill the actual label
fillText(x,y,legendItem,textWidth);if(isHorizontal){cursor.x+=width+labelOpts.padding;}else{cursor.y+=itemHeight;}});}},/**
	 * Handle an event
	 * @private
	 * @param {IEvent} event - The event to handle
	 * @return {Boolean} true if a change occured
	 */handleEvent:function handleEvent(e){var me=this;var opts=me.options;var type=e.type==='mouseup'?'click':e.type;var changed=false;if(type==='mousemove'){if(!opts.onHover){return;}}else if(type==='click'){if(!opts.onClick){return;}}else{return;}// Chart event already has relative position in it
var x=e.x;var y=e.y;if(x>=me.left&&x<=me.right&&y>=me.top&&y<=me.bottom){// See if we are touching one of the dataset boxes
var lh=me.legendHitBoxes;for(var i=0;i<lh.length;++i){var hitBox=lh[i];if(x>=hitBox.left&&x<=hitBox.left+hitBox.width&&y>=hitBox.top&&y<=hitBox.top+hitBox.height){// Touching an element
if(type==='click'){// use e.native for backwards compatibility
opts.onClick.call(me,e.native,me.legendItems[i]);changed=true;break;}else if(type==='mousemove'){// use e.native for backwards compatibility
opts.onHover.call(me,e.native,me.legendItems[i]);changed=true;break;}}}}return changed;}});function createNewLegendAndAttach(chart,legendOpts){var legend=new Legend({ctx:chart.ctx,options:legendOpts,chart:chart});layouts.configure(chart,legend,legendOpts);layouts.addBox(chart,legend);chart.legend=legend;}module.exports={id:'legend',/**
	 * Backward compatibility: since 2.1.5, the legend is registered as a plugin, making
	 * Chart.Legend obsolete. To avoid a breaking change, we export the Legend as part of
	 * the plugin, which one will be re-exposed in the chart.js file.
	 * https://github.com/chartjs/Chart.js/pull/2640
	 * @private
	 */_element:Legend,beforeInit:function beforeInit(chart){var legendOpts=chart.options.legend;if(legendOpts){createNewLegendAndAttach(chart,legendOpts);}},beforeUpdate:function beforeUpdate(chart){var legendOpts=chart.options.legend;var legend=chart.legend;if(legendOpts){helpers.mergeIf(legendOpts,defaults.global.legend);if(legend){layouts.configure(chart,legend,legendOpts);legend.options=legendOpts;}else{createNewLegendAndAttach(chart,legendOpts);}}else if(legend){layouts.removeBox(chart,legend);delete chart.legend;}},afterEvent:function afterEvent(chart,e){var legend=chart.legend;if(legend){legend.handleEvent(e);}}};/***/},/* 221 *//***/function(module,exports,__webpack_require__){"use strict";var defaults=__webpack_require__(2);var Element=__webpack_require__(3);var helpers=__webpack_require__(1);var layouts=__webpack_require__(10);var noop=helpers.noop;defaults._set('global',{title:{display:false,fontStyle:'bold',fullWidth:true,lineHeight:1.2,padding:10,position:'top',text:'',weight:2000// by default greater than legend (1000) to be above
}});/**
 * IMPORTANT: this class is exposed publicly as Chart.Legend, backward compatibility required!
 */var Title=Element.extend({initialize:function initialize(config){var me=this;helpers.extend(me,config);// Contains hit boxes for each dataset (in dataset order)
me.legendHitBoxes=[];},// These methods are ordered by lifecycle. Utilities then follow.
beforeUpdate:noop,update:function update(maxWidth,maxHeight,margins){var me=this;// Update Lifecycle - Probably don't want to ever extend or overwrite this function ;)
me.beforeUpdate();// Absorb the master measurements
me.maxWidth=maxWidth;me.maxHeight=maxHeight;me.margins=margins;// Dimensions
me.beforeSetDimensions();me.setDimensions();me.afterSetDimensions();// Labels
me.beforeBuildLabels();me.buildLabels();me.afterBuildLabels();// Fit
me.beforeFit();me.fit();me.afterFit();//
me.afterUpdate();return me.minSize;},afterUpdate:noop,//
beforeSetDimensions:noop,setDimensions:function setDimensions(){var me=this;// Set the unconstrained dimension before label rotation
if(me.isHorizontal()){// Reset position before calculating rotation
me.width=me.maxWidth;me.left=0;me.right=me.width;}else{me.height=me.maxHeight;// Reset position before calculating rotation
me.top=0;me.bottom=me.height;}// Reset padding
me.paddingLeft=0;me.paddingTop=0;me.paddingRight=0;me.paddingBottom=0;// Reset minSize
me.minSize={width:0,height:0};},afterSetDimensions:noop,//
beforeBuildLabels:noop,buildLabels:noop,afterBuildLabels:noop,//
beforeFit:noop,fit:function fit(){var me=this;var valueOrDefault=helpers.valueOrDefault;var opts=me.options;var display=opts.display;var fontSize=valueOrDefault(opts.fontSize,defaults.global.defaultFontSize);var minSize=me.minSize;var lineCount=helpers.isArray(opts.text)?opts.text.length:1;var lineHeight=helpers.options.toLineHeight(opts.lineHeight,fontSize);var textSize=display?lineCount*lineHeight+opts.padding*2:0;if(me.isHorizontal()){minSize.width=me.maxWidth;// fill all the width
minSize.height=textSize;}else{minSize.width=textSize;minSize.height=me.maxHeight;// fill all the height
}me.width=minSize.width;me.height=minSize.height;},afterFit:noop,// Shared Methods
isHorizontal:function isHorizontal(){var pos=this.options.position;return pos==='top'||pos==='bottom';},// Actually draw the title block on the canvas
draw:function draw(){var me=this;var ctx=me.ctx;var valueOrDefault=helpers.valueOrDefault;var opts=me.options;var globalDefaults=defaults.global;if(opts.display){var fontSize=valueOrDefault(opts.fontSize,globalDefaults.defaultFontSize);var fontStyle=valueOrDefault(opts.fontStyle,globalDefaults.defaultFontStyle);var fontFamily=valueOrDefault(opts.fontFamily,globalDefaults.defaultFontFamily);var titleFont=helpers.fontString(fontSize,fontStyle,fontFamily);var lineHeight=helpers.options.toLineHeight(opts.lineHeight,fontSize);var offset=lineHeight/2+opts.padding;var rotation=0;var top=me.top;var left=me.left;var bottom=me.bottom;var right=me.right;var maxWidth,titleX,titleY;ctx.fillStyle=valueOrDefault(opts.fontColor,globalDefaults.defaultFontColor);// render in correct colour
ctx.font=titleFont;// Horizontal
if(me.isHorizontal()){titleX=left+(right-left)/2;// midpoint of the width
titleY=top+offset;maxWidth=right-left;}else{titleX=opts.position==='left'?left+offset:right-offset;titleY=top+(bottom-top)/2;maxWidth=bottom-top;rotation=Math.PI*(opts.position==='left'?-0.5:0.5);}ctx.save();ctx.translate(titleX,titleY);ctx.rotate(rotation);ctx.textAlign='center';ctx.textBaseline='middle';var text=opts.text;if(helpers.isArray(text)){var y=0;for(var i=0;i<text.length;++i){ctx.fillText(text[i],0,y,maxWidth);y+=lineHeight;}}else{ctx.fillText(text,0,0,maxWidth);}ctx.restore();}}});function createNewTitleBlockAndAttach(chart,titleOpts){var title=new Title({ctx:chart.ctx,options:titleOpts,chart:chart});layouts.configure(chart,title,titleOpts);layouts.addBox(chart,title);chart.titleBlock=title;}module.exports={id:'title',/**
	 * Backward compatibility: since 2.1.5, the title is registered as a plugin, making
	 * Chart.Title obsolete. To avoid a breaking change, we export the Title as part of
	 * the plugin, which one will be re-exposed in the chart.js file.
	 * https://github.com/chartjs/Chart.js/pull/2640
	 * @private
	 */_element:Title,beforeInit:function beforeInit(chart){var titleOpts=chart.options.title;if(titleOpts){createNewTitleBlockAndAttach(chart,titleOpts);}},beforeUpdate:function beforeUpdate(chart){var titleOpts=chart.options.title;var titleBlock=chart.titleBlock;if(titleOpts){helpers.mergeIf(titleOpts,defaults.global.title);if(titleBlock){layouts.configure(chart,titleBlock,titleOpts);titleBlock.options=titleOpts;}else{createNewTitleBlockAndAttach(chart,titleOpts);}}else if(titleBlock){layouts.removeBox(chart,titleBlock);delete chart.titleBlock;}}};/***/},/* 222 *//***/function(module,__webpack_exports__,__webpack_require__){"use strict";var render=function render(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"searchwp-statistics-chart searchwp-statistics-chart--line"},[_c('line-chart',{attrs:{"chart-data":_vm.datacollection,"options":_vm.options}})],1);};var staticRenderFns=[];var esExports={render:render,staticRenderFns:staticRenderFns/* harmony default export */};__webpack_exports__["a"]=esExports;/***/},/* 223 *//***/function(module,__webpack_exports__,__webpack_require__){"use strict";/* harmony import */var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_SearchCounts_vue__=__webpack_require__(151);/* unused harmony namespace reexport *//* harmony import */var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_269af41c_hasScoped_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_SearchCounts_vue__=__webpack_require__(229);function injectStyle(ssrContext){__webpack_require__(224);}var normalizeComponent=__webpack_require__(8);/* script *//* template *//* template functional */var __vue_template_functional__=false;/* styles */var __vue_styles__=injectStyle;/* scopeId */var __vue_scopeId__=null;/* moduleIdentifier (server only) */var __vue_module_identifier__=null;var Component=normalizeComponent(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_SearchCounts_vue__["a"/* default */],__WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_269af41c_hasScoped_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_SearchCounts_vue__["a"/* default */],__vue_template_functional__,__vue_styles__,__vue_scopeId__,__vue_module_identifier__);/* harmony default export */__webpack_exports__["a"]=Component.exports;/***/},/* 224 *//***/function(module,exports,__webpack_require__){// style-loader: Adds some css to the DOM by adding a <style> tag
// load the styles
var content=__webpack_require__(225);if(typeof content==='string')content=[[module.i,content,'']];if(content.locals)module.exports=content.locals;// add the styles to the DOM
var update=__webpack_require__(7)("dae1a542",content,true,{});/***/},/* 225 *//***/function(module,exports,__webpack_require__){exports=module.exports=__webpack_require__(6)(false);// imports
// module
exports.push([module.i,"#wpbody-content .searchwp-search-counts.metabox-holder{padding-top:0}#wpbody-content .searchwp-search-counts.metabox-holder.postbox .hndle{cursor:default}#wpbody-content .searchwp-search-counts table{width:100%}#wpbody-content .searchwp-search-counts th{text-align:left;font-weight:700}#wpbody-content .searchwp-search-counts td{vertical-align:top;padding:.2em 0}#wpbody-content .searchwp-search-counts .searchwp-search-counts__query{display:flex}#wpbody-content .searchwp-search-counts .searchwp-search-counts__query button{margin-right:.35em}",""]);// exports
/***/},/* 226 *//***/function(module,exports,__webpack_require__){// style-loader: Adds some css to the DOM by adding a <style> tag
// load the styles
var content=__webpack_require__(227);if(typeof content==='string')content=[[module.i,content,'']];if(content.locals)module.exports=content.locals;// add the styles to the DOM
var update=__webpack_require__(7)("da33324e",content,true,{});/***/},/* 227 *//***/function(module,exports,__webpack_require__){exports=module.exports=__webpack_require__(6)(false);// imports
// module
exports.push([module.i,".searchwp-delete{display:inline-block;font-size:17px;width:1em;height:1em;color:#434343;margin:0;padding:0;border:0;background:transparent;cursor:pointer;opacity:.6}.searchwp-delete:hover{color:#dc3232;opacity:1}",""]);// exports
/***/},/* 228 *//***/function(module,__webpack_exports__,__webpack_require__){"use strict";var render=function render(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('button',{staticClass:"searchwp-delete dashicons dashicons-dismiss",attrs:{"title":_vm.i18n.remove},on:{"click":_vm.onclick}});};var staticRenderFns=[];var esExports={render:render,staticRenderFns:staticRenderFns/* harmony default export */};__webpack_exports__["a"]=esExports;/***/},/* 229 *//***/function(module,__webpack_exports__,__webpack_require__){"use strict";var render=function render(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"postbox metabox-holder searchwp-search-counts"},[_c('h3',{staticClass:"hndle"},[_c('span',[_vm._v(_vm._s(_vm.title))])]),_vm._v(" "),_c('div',{staticClass:"inside"},[!_vm.searches.length?_c('p',{staticClass:"description"},[_vm._v(_vm._s(_vm.empty))]):_c('table',[_c('thead',[_c('th',[_vm._v(_vm._s(_vm.i18n.search))]),_vm._v(" "),_c('th',[_vm._v(_vm._s(_vm.i18n.count))])]),_vm._v(" "),_c('tbody',_vm._l(_vm.searches,function(search,searchIndex){return _c('tr',{key:'search'+searchIndex},[_c('td',[_c('div',{staticClass:"searchwp-search-counts__query"},[_c('delete',{on:{"onclick":function onclick($event){_vm.ignore(search.hash);}}}),_vm._v(" "),_c('span',[_vm._v(_vm._s(search.query))])],1)]),_vm._v(" "),_c('td',[_vm._v("\n                        "+_vm._s(search.searchcount)+"\n                    ")])]);}),0)])])]);};var staticRenderFns=[];var esExports={render:render,staticRenderFns:staticRenderFns/* harmony default export */};__webpack_exports__["a"]=esExports;/***/},/* 230 *//***/function(module,__webpack_exports__,__webpack_require__){"use strict";/* harmony import */var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_Confirm_vue__=__webpack_require__(154);/* unused harmony namespace reexport *//* harmony import */var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_16eb5a68_hasScoped_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_Confirm_vue__=__webpack_require__(233);function injectStyle(ssrContext){__webpack_require__(231);}var normalizeComponent=__webpack_require__(8);/* script *//* template *//* template functional */var __vue_template_functional__=false;/* styles */var __vue_styles__=injectStyle;/* scopeId */var __vue_scopeId__=null;/* moduleIdentifier (server only) */var __vue_module_identifier__=null;var Component=normalizeComponent(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_Confirm_vue__["a"/* default */],__WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_16eb5a68_hasScoped_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_Confirm_vue__["a"/* default */],__vue_template_functional__,__vue_styles__,__vue_scopeId__,__vue_module_identifier__);/* harmony default export */__webpack_exports__["a"]=Component.exports;/***/},/* 231 *//***/function(module,exports,__webpack_require__){// style-loader: Adds some css to the DOM by adding a <style> tag
// load the styles
var content=__webpack_require__(232);if(typeof content==='string')content=[[module.i,content,'']];if(content.locals)module.exports=content.locals;// add the styles to the DOM
var update=__webpack_require__(7)("13fe0b17",content,true,{});/***/},/* 232 *//***/function(module,exports,__webpack_require__){exports=module.exports=__webpack_require__(6)(false);// imports
// module
exports.push([module.i,".searchwp-confirmation p{text-align:center;font-weight:700;padding:.5em 1.5em 0;margin:0 0 .5em}.searchwp-confirmation button{display:block;width:100%;margin:.5em 0 0;padding:.3em .5em;border:0;background:transparent;color:#fff;text-align:center;cursor:pointer}.searchwp-confirmation button:hover{background:#159fd2}",""]);// exports
/***/},/* 233 *//***/function(module,__webpack_exports__,__webpack_require__){"use strict";var render=function render(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-popover',{attrs:{"offset":"6"}},[_c('searchwp-button',{attrs:{"icon":_vm.icon,"label":_vm.buttonLabel}}),_vm._v(" "),_c('template',{slot:"popover"},[_c('div',{staticClass:"searchwp-confirmation"},[_vm.question.length?_c('p',[_vm._v(_vm._s(_vm.question))]):_vm._e(),_vm._v(" "),_c('button',{directives:[{name:"close-popover",rawName:"v-close-popover"}],on:{"click":_vm.confirmed}},[_vm._v(_vm._s(_vm.confirm))])])])],2);};var staticRenderFns=[];var esExports={render:render,staticRenderFns:staticRenderFns/* harmony default export */};__webpack_exports__["a"]=esExports;/***/},/* 234 *//***/function(module,__webpack_exports__,__webpack_require__){"use strict";var render=function render(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"searchwp-statistics"},[_c('ul',{staticClass:"searchwp-statistics__actions"},[_c('li',[_c('searchwp-button',{attrs:{"icon":'dashicons-admin-generic',"label":_vm.i18n.ignored},on:{"buttonClick":function buttonClick($event){_vm.showingIgnoredSearches=true;}}})],1),_vm._v(" "),_c('li',[_c('confirm',{attrs:{"icon":'dashicons-dismiss',"buttonLabel":_vm.i18n.resetStats,"question":_vm.i18n.areYouSure,"confirm":_vm.i18n.yesResetStats},on:{"confirmed":_vm.resetStats}})],1)]),_vm._v(" "),_c('vue-modaltor',{attrs:{"visible":_vm.showingIgnoredSearches,"default-width":'600px'},on:{"hide":_vm.hideIgnoredSearches}},[_c('div',{staticClass:"searchwp-statistics__modal searchwp-statistics__ignored-searches-details"},[_c('h4',[_vm._v(_vm._s(_vm.i18n.ignoredMessage))]),_vm._v(" "),_vm.ignoredQueries&&_vm.ignoredQueries.length?_c('table',[_c('tbody',_vm._l(_vm.ignoredQueriesFiltered,function(ignoredQuery,ignoredQueryIndex){return _c('tr',{key:'ignored'+ignoredQueryIndex},[_c('td',[_c('delete',{on:{"onclick":function onclick($event){_vm.unIgnoreQuery(ignoredQuery.hash);}}}),_vm._v("\n                            "+_vm._s(ignoredQuery.query)+"\n                        ")],1)]);}),0)]):_c('p',{staticClass:"description"},[_vm._v(_vm._s(_vm.i18n.noIgnoredQueries))])])]),_vm._v(" "),_c('div',{class:['postbox','searchwp-statistics__searches-over-time',_vm.searchesOverTime?'':'searchwp-statistics__is-loading']},[_c('line-chart',{attrs:{"datacollection":_vm.searchesOverTime,"options":_vm.searchesOverTimeOptions,"height":'300px'}})],1),_vm._v(" "),_c('div',{staticClass:"searchwp-statistics__populars"},[_c('search-counts',{attrs:{"searches":_vm.popularToday,"title":_vm.i18n.today},on:{"ignoresChanged":_vm.reload}}),_vm._v(" "),_c('search-counts',{attrs:{"searches":_vm.popularWeek,"title":_vm.i18n.week},on:{"ignoresChanged":_vm.reload}}),_vm._v(" "),_c('search-counts',{attrs:{"searches":_vm.popularMonth,"title":_vm.i18n.month},on:{"ignoresChanged":_vm.reload}}),_vm._v(" "),_c('search-counts',{attrs:{"searches":_vm.popularYear,"title":_vm.i18n.year},on:{"ignoresChanged":_vm.reload}}),_vm._v(" "),_c('search-counts',{attrs:{"searches":_vm.failed,"title":_vm.i18n.noResultsSearches},on:{"ignoresChanged":_vm.reload}})],1),_vm._v(" "),_c('transition',{attrs:{"name":"fade"}},[_vm.loading?_c('div',{staticClass:"searchwp-statistics__loading",style:{top:_vm.loaderPositionTop+'px',left:_vm.loaderPositionLeft+'px'}},[_c('spinner',{attrs:{"size":55,"line-size":6}})],1):_vm._e()])],1);};var staticRenderFns=[];var esExports={render:render,staticRenderFns:staticRenderFns/* harmony default export */};__webpack_exports__["a"]=esExports;/***/}]/******/);